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 1wRnDp-002hgR-2r for pgsql-hackers@arkaria.postgresql.org; Tue, 26 May 2026 08:33:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wRnDn-003zNc-2s for pgsql-hackers@arkaria.postgresql.org; Tue, 26 May 2026 08:33:08 +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.96) (envelope-from ) id 1wRnDn-003zNT-1a for pgsql-hackers@lists.postgresql.org; Tue, 26 May 2026 08:33:08 +0000 Received: from mail-ua1-x92b.google.com ([2607:f8b0:4864:20::92b]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wRnDm-00000000pLU-2D1g for pgsql-hackers@lists.postgresql.org; Tue, 26 May 2026 08:33:07 +0000 Received: by mail-ua1-x92b.google.com with SMTP id a1e0cc1a2514c-95f6b47b309so1995990241.0 for ; Tue, 26 May 2026 01:33:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779784385; cv=none; d=google.com; s=arc-20240605; b=iOnuxuqD8Ev0HBSL1yBmIO0VN/o5O/AoxUyPg6FA9E5J4YS3plxlJOnO3qIkc/x1yv UIZQbYxSzzUntlZrfSlMPAh+IV9ApIT/HrJqqzLg/Y2e3xbCNJ9ZeJFRx0me7vCTohuE iq+iQBEC4qBpPocKlYba0LkqPjO+FTwOWAsACu3PzK8nojUJ/OG063A6QbpDElr97Dr5 m6s7Ux9Q1ld1fwtdCdj8fv+ENVeouaMThXJrU22V8HHOBqwlSmp4kbF6O/Y7TSVnPRzs HBMruP+Js4mMh8JOOGKRZeorIYjv8t/AFuvGXAUw0LsJnf53oLaFNCNNmaGn6oFDHCsh tnkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=f9kfTZB5V2uDI+7mOK1eEB1GamX+LQOEmJy+fot5asE=; fh=1HWRRiRXCwJAw3fqkyIDrj8yFwqorm/4i3wa+nEQiLU=; b=Xh9582Wea9lM1NBzyiGoB6E2yBT2b1hOxbzk1BjJ5R9A1UBhHba4/3tli3+/F4AdGo wJbIdaB8FCV6uSDDMcfA7Wm6Of+jsdtWcv9+hYRiIEM6lGjZ0p4u3vTTBEH+vv0FTiUR 0lNzTffJ9aAlfoh2leq4y95jSxEgheAin9tEAZhDfkznEKp51pEFoFc4pLNXHsTyCi13 E3VlzbPDQkVZpKUpU9qwNZeNDszflxmfUpxMjMn5TuoA4g85w9YQefpl0mfSy/EAAoNt 9HIe3ryfUv0Ap9G8Ds3CF+sVQcwTubqk/IZhMxuFdY9kka2bFrfA9YOC3NH8tFXerzbc Ojnw==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779784385; x=1780389185; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=f9kfTZB5V2uDI+7mOK1eEB1GamX+LQOEmJy+fot5asE=; b=i6JhonrZNDPzA/RsL+cVfXYb71lVAH6sfgeQQXgwRw8aqFxdQvBztN+bhP1ImSinNh 3q9xveJjP2AWWy6vGq7dGsH6HsGfzuT/lZQ8XA6vQitaWWKjJwVQ1449simWtbRU/9CQ ro0crBIi/M7SVbdX4x7EE6zZnRAFOW/s2f40UCWODFaPOgivX4aL2hp4SN0aKFon6KSA Q9JAJU62alTeCq+mT4NpUrgVqbr7cCw5sg6sZ4U0TshMj0kmRbuAd5mkVBmL596sDJeg gzRqDuxz65uh7XdikJ3R+VQAN92n6PWceZXarixl11pqOCEeJokR65Jn2D9N57I/6Ut3 XUPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779784385; x=1780389185; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=f9kfTZB5V2uDI+7mOK1eEB1GamX+LQOEmJy+fot5asE=; b=nnf6H2AD3eh57UAY2yim8xhpWWEVB7mJ9wlYZw0yXJEg0QmeB2MUzsmcn7ug36cfJK RsL5Gv/j4+BaxWuPJQs/SEvhq8ZZMGCrK3C92ArKKJK83Jd+3Mo9ks4/Hxy+QbTu0v6n nR2cGAguCV/ABWO/CmwsKyagkjaxT2Ey9zW9ij1YT6djkN/QzYioTOZly6eYf6amE7a5 NjMAZ7BRf91qOzC29fNorIRsjmeataAFhTLAa9ZixZvw0i73GqZWJ3CdgaDuQTOBUbKM NAcawQ1WMszpWg31kUp63UTkdSJEGQk4HKWykt9g+s+axd1xTJ7SJHpEH2nO/x3M5V5N 2mAQ== X-Forwarded-Encrypted: i=1; AFNElJ/LeUlOgxtypC/Lal6gnkW95Ee0/P/a/THlNyE+aISKldkaF1s4yTShdSOyV2EX1vsvRi/JpQGKLNoh2+Or@lists.postgresql.org X-Gm-Message-State: AOJu0YxTm6ja9XRh5Q0j3TtSrEF1bsbKWceqHVe/64WqHw+tzrTkf+Mu tMhoR3GERLwoifcHfZR2PGJbDJ17eWghAVRLvLOKJhJsYSDAt26eHr2oz7VtUJF+3TXIlJjeiSB s8olB4zwCSupJhO6lbcGFrnssjUbOVV8= X-Gm-Gg: Acq92OH4SlQgbU5S3Scu9QFUKymwgDvx0dXKXu2uvNkebw4b+KRoYLhNLAufAZloVvC 7XhlMWa7hibYz1mb9xlw9sC3c6i5mSA5sbB0LjBzyEX4sT66sLTXu+5E9K9IJYNbeDrzuXkAgC0 9RVcLjHmQdAWu+bGVS+7k7CGi0ugrUKHKDrl/BTq7Z2vRPuLcwG4rkxh9RoQ8sAcygXFCg9Xekb tWIx/I3Z+Ad3jRuShMRGx7jLMcgMFtc3KxYRatvxPrV/UFIWXBm/Hh1Xr6o9+wGIDQCtONm7zGG vHEzLfEtHp7VGX/iA53RMEQxxWM74eWhcKUkoyCc6uozl+26SGzrePIPcHwedYB0ZBzmMQeRi27 vHxLI3aSAeJTmEWkPx8WK+LIZleJv/bMH5gGo3jWAbHzZ5tecpaxVSpSotrtiu+md/xiIKyZ+AL JWSLAP3GufFUWxFJM79kY8X/wDcYTNYVfF X-Received: by 2002:a05:6102:1494:b0:633:e67f:b7f with SMTP id ada2fe7eead31-67c84ad903cmr7481551137.25.1779784385439; Tue, 26 May 2026 01:33:05 -0700 (PDT) MIME-Version: 1.0 References: <33E9C4C2-B6A8-4FCC-BEEA-461EA5FB98C8@gmail.com> In-Reply-To: <33E9C4C2-B6A8-4FCC-BEEA-461EA5FB98C8@gmail.com> From: jian he Date: Tue, 26 May 2026 16:32:29 +0800 X-Gm-Features: AVHnY4JE8Q-r2cwbpLHm6-taxiH_sBw-5D-JMkzda2zXnouIwhaavoeO9PKsfS8 Message-ID: Subject: Re: Fix bug of CHECK constraint enforceability recursion To: Chao Li Cc: =?UTF-8?Q?=C3=81lvaro_Herrera?= , "L. pgsql-hackers" , Andrew Dunstan Content-Type: multipart/mixed; boundary="0000000000001253d50652b4585a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000001253d50652b4585a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, May 26, 2026 at 3:47=E2=80=AFPM Chao Li wr= ote: > > > > > I think this is a bug that we need to fix in 19 as well =E2=80=94 I mea= n we should reject the ALTER TABLE. > > > > -- > > =C3=81lvaro Herrera > > Thanks for your comment. Let me rework the patch. > Hi. Here are the comments placed in ATExecAlterCheckConstrEnforceability I came up with: + /* + * If the check constraint qual definitions match but their enforcemen= t + * statuses conflict (parent enforced, child unenforced), it creates + * ambiguity around how insert operations should handle the mismatch. + * Therefore, we should avoid states where the parent check constraint= is + * enforced while the child is not. We actually enforced this within + * MergeConstraintsIntoExisting and MergeWithExistingConstraint. + */ + if (currcon->coninhcount > 0 && !recursing) + ereport(ERROR, + errcode(ERRCODE_INVALID_TABLE_DEFINITION), + errmsg("cannot alter inherited constraint \"%s\" of relation \"%s\" enforciability", + NameStr(currcon->conname), RelationGetRelationName(rel))); -- jian https://www.enterprisedb.com/ --0000000000001253d50652b4585a Content-Type: text/x-patch; charset="US-ASCII"; name="v1-0001-disallow-alter-enforciability-of-inherited-check-constraint.patch" Content-Disposition: attachment; filename="v1-0001-disallow-alter-enforciability-of-inherited-check-constraint.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mpmdlkdg0 RnJvbSAyMmM0MWFjMDIxMzBmMDk5YmExM2IwZmU5MWYxNGJhNjhlMjlmOWFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBqaWFuIGhlIDxqaWFuLnVuaXZlcnNhbGl0eUBnbWFpbC5jb20+ CkRhdGU6IFR1ZSwgMjYgTWF5IDIwMjYgMTY6MjQ6MzIgKzA4MDAKU3ViamVjdDogW1BBVENIIHYx IDEvMV0gZGlzYWxsb3cgYWx0ZXIgZW5mb3JjaWFiaWxpdHkgb2YgaW5oZXJpdGVkIGNoZWNrCiBj b25zdHJhaW50CgpJZiB0aGUgY2hlY2sgY29uc3RyYWludCBxdWFsIGRlZmluaXRpb25zIG1hdGNo IGJ1dCB0aGVpciBlbmZvcmNlbWVudCBzdGF0dXNlcwpjb25mbGljdCAocGFyZW50IGVuZm9yY2Vk LCBjaGlsZCB1bmVuZm9yY2VkKSwgaXQgY3JlYXRlcyBhbWJpZ3VpdHkgYXJvdW5kIGhvdwppbnNl cnQgb3BlcmF0aW9ucyBzaG91bGQgaGFuZGxlIHRoZSBtaXNtYXRjaC4gIFRoZXJlZm9yZSwgd2Ug c2hvdWxkIGF2b2lkIHN0YXRlcwp3aGVyZSB0aGUgcGFyZW50IGNoZWNrIGNvbnN0cmFpbnQgaXMg ZW5mb3JjZWQgd2hpbGUgdGhlIGNoaWxkIGlzIG5vdC4gV2UKYWN0dWFsbHkgZW5mb3JjZWQgdGhp cyB3aXRoaW4gTWVyZ2VDb25zdHJhaW50c0ludG9FeGlzdGluZyBhbmQKTWVyZ2VXaXRoRXhpc3Rp bmdDb25zdHJhaW50LgotLS0KIHNyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgICAg ICAgIHwgMTQgKysrKysrKysrKysrKysKIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29uc3Ry YWludHMub3V0IHwgIDkgKysrKysrKy0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2luaGVy aXQub3V0ICAgICB8ICAyICstCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9jb25zdHJhaW50cy5zcWwg ICAgICB8ICAyICsrCiA0IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDMgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgYi9z cmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCAxZTBiYWNmODVmYy4uMzgyNTBm ZDA1NzMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCisrKyBi L3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0xMjY5Myw2ICsxMjY5MywyMCBA QCBBVEV4ZWNBbHRlckNoZWNrQ29uc3RyRW5mb3JjZWFiaWxpdHkoTGlzdCAqKndxdWV1ZSwgQVRB bHRlckNvbnN0cmFpbnQgKmNtZGNvbiwKIAkgKi8KIAlyZWwgPSB0YWJsZV9vcGVuKGN1cnJjb24t PmNvbnJlbGlkLCBOb0xvY2spOwogCisJLyoKKwkgKiBJZiB0aGUgY2hlY2sgY29uc3RyYWludCBx dWFsIGRlZmluaXRpb25zIG1hdGNoIGJ1dCB0aGVpciBlbmZvcmNlbWVudAorCSAqIHN0YXR1c2Vz IGNvbmZsaWN0IChwYXJlbnQgZW5mb3JjZWQsIGNoaWxkIHVuZW5mb3JjZWQpLCBpdCBjcmVhdGVz CisJICogYW1iaWd1aXR5IGFyb3VuZCBob3cgaW5zZXJ0IG9wZXJhdGlvbnMgc2hvdWxkIGhhbmRs ZSB0aGUgbWlzbWF0Y2guCisJICogVGhlcmVmb3JlLCB3ZSBzaG91bGQgYXZvaWQgc3RhdGVzIHdo ZXJlIHRoZSBwYXJlbnQgY2hlY2sgY29uc3RyYWludCBpcworCSAqIGVuZm9yY2VkIHdoaWxlIHRo ZSBjaGlsZCBpcyBub3QuIFdlIGFjdHVhbGx5IGVuZm9yY2VkIHRoaXMgd2l0aGluCisJICogTWVy Z2VDb25zdHJhaW50c0ludG9FeGlzdGluZyBhbmQgTWVyZ2VXaXRoRXhpc3RpbmdDb25zdHJhaW50 LgorCSAqLworCWlmIChjdXJyY29uLT5jb25pbmhjb3VudCA+IDAgJiYgIXJlY3Vyc2luZykKKwkJ ZXJlcG9ydChFUlJPUiwKKwkJCQllcnJjb2RlKEVSUkNPREVfSU5WQUxJRF9UQUJMRV9ERUZJTklU SU9OKSwKKwkJCQllcnJtc2coImNhbm5vdCBhbHRlciBpbmhlcml0ZWQgY29uc3RyYWludCBcIiVz XCIgb2YgcmVsYXRpb24gXCIlc1wiIGVuZm9yY2lhYmlsaXR5IiwKKwkJCQkJICAgTmFtZVN0cihj dXJyY29uLT5jb25uYW1lKSwgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUocmVsKSkpOworCiAJaWYg KGN1cnJjb24tPmNvbmVuZm9yY2VkICE9IGNtZGNvbi0+aXNfZW5mb3JjZWQpCiAJewogCQlBbHRl ckNvbnN0clVwZGF0ZUNvbnN0cmFpbnRFbnRyeShjbWRjb24sIGNvbnJlbCwgY29udHVwbGUpOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jb25zdHJhaW50cy5vdXQgYi9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NvbnN0cmFpbnRzLm91dAppbmRleCBlNTRmZWM3ZmI1 Ny4uODliMzNiNjZjZjggMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29u c3RyYWludHMub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvY29uc3RyYWludHMu b3V0CkBAIC00NDYsOCArNDQ2LDEzIEBAIGFsdGVyIHRhYmxlIHBhcnRlZF9jaF8yIGFsdGVyIGNv bnN0cmFpbnQgY2NfMiBlbmZvcmNlZDsgLS1lcnJvcgogRVJST1I6ICBjaGVjayBjb25zdHJhaW50 ICJjY18yIiBvZiByZWxhdGlvbiAicGFydGVkX2NoXzIiIGlzIHZpb2xhdGVkIGJ5IHNvbWUgcm93 CiBkZWxldGUgZnJvbSBwYXJ0ZWRfY2ggd2hlcmUgYSA9IDE2OwogYWx0ZXIgdGFibGUgcGFydGVk X2NoXzIgYWx0ZXIgY29uc3RyYWludCBjY18yIGVuZm9yY2VkOworLS0gZXJyb3IsIGNhbm5vdCBh bHRlciBpbmhlcml0ZWQgY2hlY2sgY29uc3RyYWludAogYWx0ZXIgdGFibGUgcGFydGVkX2NoXzIg YWx0ZXIgY29uc3RyYWludCBjYyBub3QgZW5mb3JjZWQ7CitFUlJPUjogIGNhbm5vdCBhbHRlciBp bmhlcml0ZWQgY29uc3RyYWludCAiY2MiIG9mIHJlbGF0aW9uICJwYXJ0ZWRfY2hfMiIgZW5mb3Jj aWFiaWxpdHkKK2FsdGVyIHRhYmxlIG9ubHkgcGFydGVkX2NoXzIgYWx0ZXIgY29uc3RyYWludCBj YyBub3QgZW5mb3JjZWQ7IC0tIGVycm9yCitFUlJPUjogIGNhbm5vdCBhbHRlciBpbmhlcml0ZWQg Y29uc3RyYWludCAiY2MiIG9mIHJlbGF0aW9uICJwYXJ0ZWRfY2hfMiIgZW5mb3JjaWFiaWxpdHkK IGFsdGVyIHRhYmxlIHBhcnRlZF9jaF8yIGFsdGVyIGNvbnN0cmFpbnQgY2NfMSBub3QgZW5mb3Jj ZWQ7CitFUlJPUjogIGNhbm5vdCBhbHRlciBpbmhlcml0ZWQgY29uc3RyYWludCAiY2NfMSIgb2Yg cmVsYXRpb24gInBhcnRlZF9jaF8yIiBlbmZvcmNpYWJpbGl0eQogYWx0ZXIgdGFibGUgcGFydGVk X2NoXzIgYWx0ZXIgY29uc3RyYWludCBjY18yIG5vdCBlbmZvcmNlZDsKIC0tY2hlY2sgdGhlc2Ug Q0hFQ0sgY29uc3RyYWludCBzdGF0dXMgYWdhaW4KIHNlbGVjdCAqIGZyb20gY2hlY2tfY29uc3Ry YWludF9zdGF0dXM7CkBAIC00NTcsMTIgKzQ2MiwxMiBAQCBzZWxlY3QgKiBmcm9tIGNoZWNrX2Nv bnN0cmFpbnRfc3RhdHVzOwogIGNjICAgICAgfCBwYXJ0ZWRfY2hfMSAgfCB0ICAgICAgICAgICB8 IHQKICBjYyAgICAgIHwgcGFydGVkX2NoXzExIHwgdCAgICAgICAgICAgfCB0CiAgY2MgICAgICB8 IHBhcnRlZF9jaF8xMiB8IHQgICAgICAgICAgIHwgdAotIGNjICAgICAgfCBwYXJ0ZWRfY2hfMiAg fCBmICAgICAgICAgICB8IGYKKyBjYyAgICAgIHwgcGFydGVkX2NoXzIgIHwgdCAgICAgICAgICAg fCB0CiAgY2NfMSAgICB8IHBhcnRlZF9jaCAgICB8IHQgICAgICAgICAgIHwgdAogIGNjXzEgICAg fCBwYXJ0ZWRfY2hfMSAgfCB0ICAgICAgICAgICB8IHQKICBjY18xICAgIHwgcGFydGVkX2NoXzEx IHwgdCAgICAgICAgICAgfCB0CiAgY2NfMSAgICB8IHBhcnRlZF9jaF8xMiB8IHQgICAgICAgICAg IHwgdAotIGNjXzEgICAgfCBwYXJ0ZWRfY2hfMiAgfCBmICAgICAgICAgICB8IGYKKyBjY18xICAg IHwgcGFydGVkX2NoXzIgIHwgdCAgICAgICAgICAgfCB0CiAgY2NfMiAgICB8IHBhcnRlZF9jaF8y ICB8IGYgICAgICAgICAgIHwgZgogKDExIHJvd3MpCiAKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3Jl Z3Jlc3MvZXhwZWN0ZWQvaW5oZXJpdC5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2lu aGVyaXQub3V0CmluZGV4IDNkOGU4ZDhhZmQyLi42NmQwOGM0ZDc0NiAxMDA2NDQKLS0tIGEvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC9pbmhlcml0Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL2luaGVyaXQub3V0CkBAIC0xNDU4LDcgKzE0NTgsNyBAQCBhbHRlciB0YWJsZSBw MSBhbHRlciBjb25zdHJhaW50IGluaF9jaGVja19jb25zdHJhaW50MyBlbmZvcmNlZDsgLS1lcnJv cgogRVJST1I6ICBjaGVjayBjb25zdHJhaW50ICJpbmhfY2hlY2tfY29uc3RyYWludDMiIG9mIHJl bGF0aW9uICJwMV9jMSIgaXMgdmlvbGF0ZWQgYnkgc29tZSByb3cKIGRlbGV0ZSBmcm9tIG9ubHkg cDFfYzEgd2hlcmUgZjEgPSAtMjsKIGFsdGVyIHRhYmxlIHAxX2MxIGFsdGVyIGNvbnN0cmFpbnQg aW5oX2NoZWNrX2NvbnN0cmFpbnQzIGVuZm9yY2VkOyAtLWVycm9yCi1FUlJPUjogIGNoZWNrIGNv bnN0cmFpbnQgImluaF9jaGVja19jb25zdHJhaW50MyIgb2YgcmVsYXRpb24gInAxX2MzIiBpcyB2 aW9sYXRlZCBieSBzb21lIHJvdworRVJST1I6ICBjYW5ub3QgYWx0ZXIgaW5oZXJpdGVkIGNvbnN0 cmFpbnQgImluaF9jaGVja19jb25zdHJhaW50MyIgb2YgcmVsYXRpb24gInAxX2MxIiBlbmZvcmNp YWJpbGl0eQogZGVsZXRlIGZyb20gb25seSBwMV9jMyB3aGVyZSBmMSA9IC0zOwogYWx0ZXIgdGFi bGUgcDEgYWx0ZXIgY29uc3RyYWludCBpbmhfY2hlY2tfY29uc3RyYWludDMgZW5mb3JjZWQ7IC0t b2sKIGFsdGVyIHRhYmxlIHAxIGFsdGVyIGNvbnN0cmFpbnQgaW5oX2NoZWNrX2NvbnN0cmFpbnQz IG5vdCBlbmZvcmNlZDsgLS1vawpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29u c3RyYWludHMuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY29uc3RyYWludHMuc3FsCmluZGV4 IGRjMTMzYjEyNGJiLi5mNjAyNjNmYTFmNSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9z cWwvY29uc3RyYWludHMuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NvbnN0cmFpbnRz LnNxbApAQCAtMzA5LDcgKzMwOSw5IEBAIHNlbGVjdCAqIGZyb20gY2hlY2tfY29uc3RyYWludF9z dGF0dXM7CiBhbHRlciB0YWJsZSBwYXJ0ZWRfY2hfMiBhbHRlciBjb25zdHJhaW50IGNjXzIgZW5m b3JjZWQ7IC0tZXJyb3IKIGRlbGV0ZSBmcm9tIHBhcnRlZF9jaCB3aGVyZSBhID0gMTY7CiBhbHRl ciB0YWJsZSBwYXJ0ZWRfY2hfMiBhbHRlciBjb25zdHJhaW50IGNjXzIgZW5mb3JjZWQ7CistLSBl cnJvciwgY2Fubm90IGFsdGVyIGluaGVyaXRlZCBjaGVjayBjb25zdHJhaW50CiBhbHRlciB0YWJs ZSBwYXJ0ZWRfY2hfMiBhbHRlciBjb25zdHJhaW50IGNjIG5vdCBlbmZvcmNlZDsKK2FsdGVyIHRh YmxlIG9ubHkgcGFydGVkX2NoXzIgYWx0ZXIgY29uc3RyYWludCBjYyBub3QgZW5mb3JjZWQ7IC0t IGVycm9yCiBhbHRlciB0YWJsZSBwYXJ0ZWRfY2hfMiBhbHRlciBjb25zdHJhaW50IGNjXzEgbm90 IGVuZm9yY2VkOwogYWx0ZXIgdGFibGUgcGFydGVkX2NoXzIgYWx0ZXIgY29uc3RyYWludCBjY18y IG5vdCBlbmZvcmNlZDsKIAoKYmFzZS1jb21taXQ6IGQ0MGFlZDU1NDIyN2U1ZjgyMDM3OThmZGEy NWI5MzZhMjY0NjM4ZWMKLS0gCjIuMzQuMQoK --0000000000001253d50652b4585a--