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 1w68gb-003zaX-08 for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 15:01:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w68gZ-00ALHs-1g for pgsql-hackers@arkaria.postgresql.org; Fri, 27 Mar 2026 15:01:19 +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 1w68gY-00ALHh-3C for pgsql-hackers@lists.postgresql.org; Fri, 27 Mar 2026 15:01:19 +0000 Received: from mail-oi1-x22e.google.com ([2607:f8b0:4864:20::22e]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w68gX-00000001Knu-1hMd for pgsql-hackers@postgresql.org; Fri, 27 Mar 2026 15:01:18 +0000 Received: by mail-oi1-x22e.google.com with SMTP id 5614622812f47-467161c4ba7so1277512b6e.0 for ; Fri, 27 Mar 2026 08:01:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1774623677; cv=none; d=google.com; s=arc-20240605; b=Xjwi1qgE2e3px4Jxr1xhDeZIPywLPAd6jt+OIGz5dLZ6ZzlwKzOpYubYXeiEplrzNV aF5QG7c2sTi7uK7iVaoUUnEU5cnN1Rty2KZYA5P8wrJep5RjAKjW6qdq3elmMYlVP2N4 HSqWMDoMLhCyWyPr/+7zACi1pWbaLsLrhXsFXqZJJ7V017cktxgLuvor6GAg37pVoiRY KvxexKKG4f2opjhYTatUebWT+erxPN93mK7JuyOGXIUhdnaHteGnh4Ree+/uzFtdjzzS c5O2vdBu7/wwmrU2rPTgKvn+wyzrUo/qCsavvI+RB9cTVyxkLoqxJN4YBfLNQNhlYa8Y VjJQ== 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=3SU1mvr4rMdRw+20Br+EuoqLmczDNxYQxDjLeq42nnE=; fh=eLlHHukhOAkV6fRvA+QHempXrf+afsViNG2YcCtsl8U=; b=AIyrlKHwmRsBz8d2NHsHKYeFPkVZUtAGhUwNtm74yufwnAyJyADmxvug91eKC12SBv 8F6aFVUyvgse/5XrzbQKgQeghZ2g7P/sfAV2K4MbulP3O5E6pzloOOgHxclbMRQUBDIe Hc3iarnBtE7mTki0g3lzg54W31Xu3dW3SdM1XUDI5WcTd9z1YDNsRFM7IBXthS6aAdpf Izhdvia3auameVA8Lc1GEcxykLBJD0RiWZJcDxSR0eALcnalLCOkAUmPyz+PycMX46hP BdJoIVL9DbFkJsq7Mz7gZgDOYtyohChlNrFUOrONAEDUrzcrQOckMAQ54XwJ5XTLjlO3 ktuQ==; darn=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=1774623677; x=1775228477; darn=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=3SU1mvr4rMdRw+20Br+EuoqLmczDNxYQxDjLeq42nnE=; b=lYqPnugj5ogUf/trKRbSdccOooyXoWc5gj7ffpurjeS+vUZtLo/q07gJ1qeRvzh4pj vsUR0Mrh/z24agdXAzJLs9om8B0Ylu2Na5FIpRNeFeklAsatQ100k6YxXiWYmWG2C5sf VUIHGbysemUtf7F/ndfp/3zvEfw025qrl2h3Memm2hwUCjzly4+v5A/3pAOKH3SxMp61 XCX817ZRqGgonw3VAaD2fqjP2AvH1kxIpqXDVWsKGE5QqkTiG2eaIcszd9CHw82LAn8u yplr6+5T5Wx1GSwgoUak1S3oZW6YI/shLuNtpSe96pK50B2D5h71dOZjRIOPWqoAWCO+ 2S5g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1774623677; x=1775228477; 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=3SU1mvr4rMdRw+20Br+EuoqLmczDNxYQxDjLeq42nnE=; b=WauTRLu5WpFm8mv4dQYTeVPXQgMLCNzm61awDg3mPakgcBLD0KKshAg2HrcyvfOAb7 lYvHBWXljlrKOX3TZSG16qW/28Gahj2/9BklVmzpb4kUf55CDAPnIY5R8gzR3RgY1n7n wRzUvJAgSZl8y0FIV5lO0wVYKEt+uZCk19wu0g3kMk/mYq47OLSRfihzJOXcFphNYcQG F0nNy+vayonn7wpmKf5jKi6vc/prZ5CtWqXT3H2PvC9rRyNqjLZ1muVpmEveRnb44qee wnhd39qsGCs2TOfkJ7e3aCcRY/88j7Qj0BPlxIzIRdKy1OqVBtw9055g4iqzv98L8xNu 6t3Q== X-Gm-Message-State: AOJu0Yz3mfDI+0eFICIOMRDoKNZwgfA9UkcUnsaSHlJerg6HwYmyc9S1 8ByisE1Cxrln7lrqG+zNH2rHCKarL3su3YTy4cX6CCjmcYVseJJNfMNy2GVw53xvCRmBv0QGsP5 nnxIpBwPmYuwIE0hiD96E4QUNcPmz9b4= X-Gm-Gg: ATEYQzztbKjY0gwUrDIh9YP+p9RNOYpSDtFH/cF1sZPn5nwgsw3NvU4moLX6/EuCaG9 ALz0g7ayJV8GQR/Lkseh5ip1gaZtUryAaQg3/tpXZRVUwqjeGv/ukqe6uEW3d3km7WAN4aNpiQt nhdcedsdKfxG2oRM1qcAZLFo9hg7EFveFHk4WpLd7wjxJr58U71wqlJBCOfuxzsQyHrnTkt9ysg 3zoYtTKUn7pO+SgM7c8g6zT/17RSo5o+AtmYziHnQPocPF9Dl+fDBTNC8+yVrWP18YF9tlPLFAX vmzP4/g4/O9mAsqml0suzESLlsU2jofa7yIWE60biw== X-Received: by 2002:a05:6808:220d:b0:467:e1a8:2b92 with SMTP id 5614622812f47-46a8ae9e4b9mr1075304b6e.10.1774623676453; Fri, 27 Mar 2026 08:01:16 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Fujii Masao Date: Sat, 28 Mar 2026 00:01:03 +0900 X-Gm-Features: AQROBzBWL9CTBYVqqoPo5QWFdrLHoZEhWLgYEFVnf9OWrBtwr0T8zn13NNg33s4 Message-ID: Subject: Re: [PATCH] Fix unexpected loss of DEFERRABLE property after toggling NOT ENFORCED / ENFORCED To: Yasuo Honda Cc: PostgreSQL-development Content-Type: multipart/mixed; boundary="000000000000d8dce3064e02c57b" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000d8dce3064e02c57b Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, Mar 27, 2026 at 4:41=E2=80=AFPM Yasuo Honda = wrote: > > (Resending to the list, as my previous reply went to the sender only.) > > Thanks for the comment. > > > Regarding the regression test, would it be better to verify not only ca= talog > state (e.g., pg_trigger) but also the actual behavior? > > Agreed. In addition to inspecting pg_trigger contents, I've added test > cases that verify the actual runtime behavior of deferred constraints. Thanks for updating the patch! > I've also covered INITIALLY IMMEDIATE alongside INITIALLY DEFERRED. I'm not sure this test adds much value. Testing DEFERRABLE INITIALLY DEFERR= ED seems sufficient, so I removed the DEFERRABLE INITIALLY IMMEDIATE case. The updated patch is attached. +-- verify that tgdeferrable/tginitdeferred are preserved after NOT ENFORCED -> ENFORCED +ALTER TABLE FKTABLE ALTER CONSTRAINT fktable_fk_fkey DEFERRABLE INITIALLY DEFERRED; +ALTER TABLE FKTABLE ALTER CONSTRAINT fktable_fk_fkey NOT ENFORCED; It looks like this assumes the constraint is initially ENFORCED, but in this part of the test it is already NOT ENFORCED. So I moved this test to a section where the constraint is ENFORCED, which seems more appropriate. I also updated the commit log message. Barring any objections, I will commit this and backpatch it to v18, where NOT ENFORCED foreign keys were introduced. Regards, --=20 Fujii Masao --000000000000d8dce3064e02c57b Content-Type: application/octet-stream; name="v3-0001-Fix-FK-triggers-losing-DEFERRABLE-INITIALLY-DEFER.patch" Content-Disposition: attachment; filename="v3-0001-Fix-FK-triggers-losing-DEFERRABLE-INITIALLY-DEFER.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mn90vlzv0 RnJvbSBiMTVhNTE4M2JjOTlhMTk4NWFlNTg5OWM1ZTVhYTcyNTdjNjAyZjRjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBGdWppaSBNYXNhbyA8ZnVqaWlAcG9zdGdyZXNxbC5vcmc+CkRh dGU6IEZyaSwgMjcgTWFyIDIwMjYgMTg6Mjk6MDcgKzA5MDAKU3ViamVjdDogW1BBVENIIHYzXSBG aXggRksgdHJpZ2dlcnMgbG9zaW5nIERFRkVSUkFCTEUvSU5JVElBTExZIERFRkVSUkVEIHdoZW4K IG1hcmtlZCBFTkZPUkNFRCBhZ2FpbgoKUHJldmlvdXNseSwgYSBmb3JlaWduIGtleSBkZWZpbmVk IGFzIERFRkVSUkFCTEUgSU5JVElBTExZIERFRkVSUkVEIGNvdWxkCmJlaGF2ZSBhcyBOT1QgREVG RVJSQUJMRSBhZnRlciBiZWluZyBzZXQgdG8gTk9UIEVORk9SQ0VEIGFuZCB0aGVuIGJhY2sKdG8g RU5GT1JDRUQuCgpUaGlzIGhhcHBlbmVkIGJlY2F1c2UgcmVjcmVhdGluZyB0aGUgRksgdHJpZ2dl cnMgb24gcmUtZW5hYmxpbmcgdGhlIGNvbnN0cmFpbnQKZm9yZ290IHRvIHJlc3RvcmUgdGhlIHRn ZGVmZXJyYWJsZSBhbmQgdGdpbml0ZGVmZXJyZWQgZmllbGRzIGluIHBnX3RyaWdnZXIuCgpGaXgg dGhpcyBidWcgYnkgcHJvcGVybHkgc2V0dGluZyB0aG9zZSBmaWVsZHMgd2hlbiB0aGUgZm9yZWln biBrZXkgY29uc3RyYWludAppcyBtYXJrZWQgRU5GT1JDRUQgYWdhaW4gYW5kIGl0cyB0cmlnZ2Vy cyBhcmUgcmVjcmVhdGVkLCBzbyB0aGUgb3JpZ2luYWwKREVGRVJSQUJMRSBhbmQgSU5JVElBTExZ IERFRkVSUkVEIHByb3BlcnRpZXMgYXJlIHByZXNlcnZlZC4KCkJhY2twYXRjaCB0byB2MTgsIHdo ZXJlIE5PVCBFTkZPUkNFRCBmb3JlaWduIGtleXMgd2VyZSBpbnRyb2R1Y2VkLgoKQXV0aG9yOiBZ YXN1byBIb25kYSA8eWFzdW8uaG9uZGFAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogRnVqaWkgTWFz YW8gPG1hc2FvLmZ1amlpQGdtYWlsLmNvbT4KRGlzY3Vzc2lvbjogaHR0cHM6Ly9wb3N0Z3IuZXMv bS9DQUttT1VUbXMybmt4RVpEZGNyc2pxNVAzYjJMX1BSMjY2SHY4a1c1cEFOd21WYVJKSlFAbWFp bC5nbWFpbC5jb20KQmFja3BhdGNoLXRocm91Z2g6IDE4Ci0tLQogc3JjL2JhY2tlbmQvY29tbWFu ZHMvdGFibGVjbWRzLmMgICAgICAgICAgfCAgMiArCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L2ZvcmVpZ25fa2V5Lm91dCB8IDUzICsrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9y ZWdyZXNzL3NxbC9mb3JlaWduX2tleS5zcWwgICAgICB8IDM3ICsrKysrKysrKysrKysrKysKIDMg ZmlsZXMgY2hhbmdlZCwgOTIgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3RhYmxlY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMK aW5kZXggYzY5YzEyZGMwMTQuLmRkMDBlMzZjNjlkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9j b21tYW5kcy90YWJsZWNtZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMu YwpAQCAtMTI1NTgsNiArMTI1NTgsOCBAQCBBVEV4ZWNBbHRlckZLQ29uc3RyRW5mb3JjZWFiaWxp dHkoTGlzdCAqKndxdWV1ZSwgQVRBbHRlckNvbnN0cmFpbnQgKmNtZGNvbiwKIAkJZmtjb25zdHJh aW50LT5ma19tYXRjaHR5cGUgPSBjdXJyY29uLT5jb25mbWF0Y2h0eXBlOwogCQlma2NvbnN0cmFp bnQtPmZrX3VwZF9hY3Rpb24gPSBjdXJyY29uLT5jb25mdXBkdHlwZTsKIAkJZmtjb25zdHJhaW50 LT5ma19kZWxfYWN0aW9uID0gY3VycmNvbi0+Y29uZmRlbHR5cGU7CisJCWZrY29uc3RyYWludC0+ ZGVmZXJyYWJsZSA9IGN1cnJjb24tPmNvbmRlZmVycmFibGU7CisJCWZrY29uc3RyYWludC0+aW5p dGRlZmVycmVkID0gY3VycmNvbi0+Y29uZGVmZXJyZWQ7CiAKIAkJLyogQ3JlYXRlIHJlZmVyZW5j ZWQgdHJpZ2dlcnMgKi8KIAkJaWYgKGN1cnJjb24tPmNvbnJlbGlkID09IGZrcmVsaWQpCmRpZmYg LS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL2ZvcmVpZ25fa2V5Lm91dCBiL3NyYy90 ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZm9yZWlnbl9rZXkub3V0CmluZGV4IDlhZTRkYmYxYjBhLi40 YzY5Y2I5OTljZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JlaWdu X2tleS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9mb3JlaWduX2tleS5vdXQK QEAgLTExNTcsNiArMTE1Nyw1OSBAQCBJTlNFUlQgSU5UTyBma3RhYmxlIFZBTFVFUyAoNTAwLCAx MDAwKTsKIEVSUk9SOiAgaW5zZXJ0IG9yIHVwZGF0ZSBvbiB0YWJsZSAiZmt0YWJsZSIgdmlvbGF0 ZXMgZm9yZWlnbiBrZXkgY29uc3RyYWludCAiZmt0YWJsZV9ma19ma2V5IgogREVUQUlMOiAgS2V5 IChmayk9KDEwMDApIGlzIG5vdCBwcmVzZW50IGluIHRhYmxlICJwa3RhYmxlIi4KIENPTU1JVDsK Ky0tIENoZWNrIHRoYXQgdGhlIGV4aXN0aW5nIEZLIHRyaWdnZXIgaXMgYm90aCBkZWZlcnJhYmxl IGFuZCBpbml0aWFsbHkgZGVmZXJyZWQKK1NFTEVDVCBjb25uYW1lLCB0Z3JlbGlkOjpyZWdjbGFz cyBhcyB0Z3JlbCwKKyAgICAgICByZWdleHBfcmVwbGFjZSh0Z25hbWUsICdbMC05XSsnLCAnTicp IGFzIHRnbmFtZSwgdGd0eXBlLAorICAgICAgIHRnZGVmZXJyYWJsZSwgdGdpbml0ZGVmZXJyZWQK K0ZST00gcGdfdHJpZ2dlciB0IEpPSU4gcGdfY29uc3RyYWludCBjIE9OICh0LnRnY29uc3RyYWlu dCA9IGMub2lkKQorV0hFUkUgY29ucmVsaWQgPSAnZmt0YWJsZSc6OnJlZ2NsYXNzIEFORCBjb25u YW1lID0gJ2ZrdGFibGVfZmtfZmtleScKK09SREVSIEJZIHRncmVsaWQsIHRndHlwZTsKKyAgICAg Y29ubmFtZSAgICAgfCAgdGdyZWwgIHwgICAgICAgICAgdGduYW1lICAgICAgICAgIHwgdGd0eXBl IHwgdGdkZWZlcnJhYmxlIHwgdGdpbml0ZGVmZXJyZWQgCistLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLQorIGZrdGFibGVfZmtfZmtleSB8IHBrdGFibGUgfCBSSV9Db25zdHJh aW50VHJpZ2dlcl9hX04gfCAgICAgIDkgfCB0ICAgICAgICAgICAgfCB0CisgZmt0YWJsZV9ma19m a2V5IHwgcGt0YWJsZSB8IFJJX0NvbnN0cmFpbnRUcmlnZ2VyX2FfTiB8ICAgICAxNyB8IHQgICAg ICAgICAgICB8IHQKKyBma3RhYmxlX2ZrX2ZrZXkgfCBma3RhYmxlIHwgUklfQ29uc3RyYWludFRy aWdnZXJfY19OIHwgICAgICA1IHwgdCAgICAgICAgICAgIHwgdAorIGZrdGFibGVfZmtfZmtleSB8 IGZrdGFibGUgfCBSSV9Db25zdHJhaW50VHJpZ2dlcl9jX04gfCAgICAgMTcgfCB0ICAgICAgICAg ICAgfCB0CisoNCByb3dzKQorCistLSBDaGFuZ2luZyB0aGUgY29uc3RyYWludCB0byBOT1QgRU5G T1JDRUQgZHJvcHMgdGhlIGFzc29jaWF0ZWQgRksgdHJpZ2dlcnMKK0FMVEVSIFRBQkxFIEZLVEFC TEUgQUxURVIgQ09OU1RSQUlOVCBma3RhYmxlX2ZrX2ZrZXkgTk9UIEVORk9SQ0VEOworU0VMRUNU IGNvbm5hbWUsIHRncmVsaWQ6OnJlZ2NsYXNzIGFzIHRncmVsLAorICAgICAgIHJlZ2V4cF9yZXBs YWNlKHRnbmFtZSwgJ1swLTldKycsICdOJykgYXMgdGduYW1lLCB0Z3R5cGUsCisgICAgICAgdGdk ZWZlcnJhYmxlLCB0Z2luaXRkZWZlcnJlZAorRlJPTSBwZ190cmlnZ2VyIHQgSk9JTiBwZ19jb25z dHJhaW50IGMgT04gKHQudGdjb25zdHJhaW50ID0gYy5vaWQpCitXSEVSRSBjb25yZWxpZCA9ICdm a3RhYmxlJzo6cmVnY2xhc3MgQU5EIGNvbm5hbWUgPSAnZmt0YWJsZV9ma19ma2V5JworT1JERVIg QlkgdGdyZWxpZCwgdGd0eXBlOworIGNvbm5hbWUgfCB0Z3JlbCB8IHRnbmFtZSB8IHRndHlwZSB8 IHRnZGVmZXJyYWJsZSB8IHRnaW5pdGRlZmVycmVkIAorLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorKDAgcm93cykKKwor LS0gQ2hhbmdpbmcgaXQgYmFjayB0byBFTkZPUkNFRCB3aWxsIHJlY3JlYXRlIHRoZSBuZWNlc3Nh cnkgRksgdHJpZ2dlcnMKKy0tIHRoYXQgYXJlIGRlZmVycmFibGUgYW5kIGluaXRpYWxseSBkZWZl cnJlZAorQUxURVIgVEFCTEUgRktUQUJMRSBBTFRFUiBDT05TVFJBSU5UIGZrdGFibGVfZmtfZmtl eSBFTkZPUkNFRDsKK1NFTEVDVCBjb25uYW1lLCB0Z3JlbGlkOjpyZWdjbGFzcyBhcyB0Z3JlbCwK KyAgICAgICByZWdleHBfcmVwbGFjZSh0Z25hbWUsICdbMC05XSsnLCAnTicpIGFzIHRnbmFtZSwg dGd0eXBlLAorICAgICAgIHRnZGVmZXJyYWJsZSwgdGdpbml0ZGVmZXJyZWQKK0ZST00gcGdfdHJp Z2dlciB0IEpPSU4gcGdfY29uc3RyYWludCBjIE9OICh0LnRnY29uc3RyYWludCA9IGMub2lkKQor V0hFUkUgY29ucmVsaWQgPSAnZmt0YWJsZSc6OnJlZ2NsYXNzIEFORCBjb25uYW1lID0gJ2ZrdGFi bGVfZmtfZmtleScKK09SREVSIEJZIHRncmVsaWQsIHRndHlwZTsKKyAgICAgY29ubmFtZSAgICAg fCAgdGdyZWwgIHwgICAgICAgICAgdGduYW1lICAgICAgICAgIHwgdGd0eXBlIHwgdGdkZWZlcnJh YmxlIHwgdGdpbml0ZGVmZXJyZWQgCistLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLQorIGZrdGFibGVfZmtfZmtleSB8IHBrdGFibGUgfCBSSV9Db25zdHJhaW50VHJpZ2dlcl9h X04gfCAgICAgIDkgfCB0ICAgICAgICAgICAgfCB0CisgZmt0YWJsZV9ma19ma2V5IHwgcGt0YWJs ZSB8IFJJX0NvbnN0cmFpbnRUcmlnZ2VyX2FfTiB8ICAgICAxNyB8IHQgICAgICAgICAgICB8IHQK KyBma3RhYmxlX2ZrX2ZrZXkgfCBma3RhYmxlIHwgUklfQ29uc3RyYWludFRyaWdnZXJfY19OIHwg ICAgICA1IHwgdCAgICAgICAgICAgIHwgdAorIGZrdGFibGVfZmtfZmtleSB8IGZrdGFibGUgfCBS SV9Db25zdHJhaW50VHJpZ2dlcl9jX04gfCAgICAgMTcgfCB0ICAgICAgICAgICAgfCB0CisoNCBy b3dzKQorCistLSBWZXJpZnkgdGhhdCBhIGRlZmVycmFibGUsIGluaXRpYWxseSBkZWZlcnJlZCBm b3JlaWduIGtleSBzdGlsbCB3b3JrcworLS0gYXMgZXhwZWN0ZWQgYWZ0ZXIgYmVpbmcgc2V0IHRv IE5PVCBFTkZPUkNFRCBhbmQgdGhlbiByZS1lbmFibGVkCitCRUdJTjsKKy0tIGRvZXNuJ3QgbWF0 Y2ggUEssIGJ1dCBubyBlcnJvciB5ZXQKK0lOU0VSVCBJTlRPIGZrdGFibGUgVkFMVUVTICgyLCAy MCk7CistLSBzaG91bGQgY2F0Y2ggZXJyb3IgZnJvbSBJTlNFUlQgYXQgY29tbWl0CitDT01NSVQ7 CitFUlJPUjogIGluc2VydCBvciB1cGRhdGUgb24gdGFibGUgImZrdGFibGUiIHZpb2xhdGVzIGZv cmVpZ24ga2V5IGNvbnN0cmFpbnQgImZrdGFibGVfZmtfZmtleSIKK0RFVEFJTDogIEtleSAoZmsp PSgyMCkgaXMgbm90IHByZXNlbnQgaW4gdGFibGUgInBrdGFibGUiLgogRFJPUCBUQUJMRSBma3Rh YmxlLCBwa3RhYmxlOwogLS0gdHJpY2t5IGJlaGF2aW9yOiBhY2NvcmRpbmcgdG8gU1FMOTksIGlm IGEgZGVmZXJyZWQgY29uc3RyYWludCBpcyBzZXQKIC0tIHRvICdpbW1lZGlhdGUnIG1vZGUsIGl0 IHNob3VsZCBiZSBjaGVja2VkIGZvciB2YWxpZGl0eSAqaW1tZWRpYXRlbHkqLApkaWZmIC0tZ2l0 IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yZWlnbl9rZXkuc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvZm9yZWlnbl9rZXkuc3FsCmluZGV4IDNiOGM5NWJmODkzLi4wMmE2MGQ2NjFhMSAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZm9yZWlnbl9rZXkuc3FsCisrKyBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL2ZvcmVpZ25fa2V5LnNxbApAQCAtNzg0LDYgKzc4NCw0MyBAQCBJTlNF UlQgSU5UTyBma3RhYmxlIFZBTFVFUyAoNTAwLCAxMDAwKTsKIAogQ09NTUlUOwogCistLSBDaGVj ayB0aGF0IHRoZSBleGlzdGluZyBGSyB0cmlnZ2VyIGlzIGJvdGggZGVmZXJyYWJsZSBhbmQgaW5p dGlhbGx5IGRlZmVycmVkCitTRUxFQ1QgY29ubmFtZSwgdGdyZWxpZDo6cmVnY2xhc3MgYXMgdGdy ZWwsCisgICAgICAgcmVnZXhwX3JlcGxhY2UodGduYW1lLCAnWzAtOV0rJywgJ04nKSBhcyB0Z25h bWUsIHRndHlwZSwKKyAgICAgICB0Z2RlZmVycmFibGUsIHRnaW5pdGRlZmVycmVkCitGUk9NIHBn X3RyaWdnZXIgdCBKT0lOIHBnX2NvbnN0cmFpbnQgYyBPTiAodC50Z2NvbnN0cmFpbnQgPSBjLm9p ZCkKK1dIRVJFIGNvbnJlbGlkID0gJ2ZrdGFibGUnOjpyZWdjbGFzcyBBTkQgY29ubmFtZSA9ICdm a3RhYmxlX2ZrX2ZrZXknCitPUkRFUiBCWSB0Z3JlbGlkLCB0Z3R5cGU7CisKKy0tIENoYW5naW5n IHRoZSBjb25zdHJhaW50IHRvIE5PVCBFTkZPUkNFRCBkcm9wcyB0aGUgYXNzb2NpYXRlZCBGSyB0 cmlnZ2VycworQUxURVIgVEFCTEUgRktUQUJMRSBBTFRFUiBDT05TVFJBSU5UIGZrdGFibGVfZmtf ZmtleSBOT1QgRU5GT1JDRUQ7CitTRUxFQ1QgY29ubmFtZSwgdGdyZWxpZDo6cmVnY2xhc3MgYXMg dGdyZWwsCisgICAgICAgcmVnZXhwX3JlcGxhY2UodGduYW1lLCAnWzAtOV0rJywgJ04nKSBhcyB0 Z25hbWUsIHRndHlwZSwKKyAgICAgICB0Z2RlZmVycmFibGUsIHRnaW5pdGRlZmVycmVkCitGUk9N IHBnX3RyaWdnZXIgdCBKT0lOIHBnX2NvbnN0cmFpbnQgYyBPTiAodC50Z2NvbnN0cmFpbnQgPSBj Lm9pZCkKK1dIRVJFIGNvbnJlbGlkID0gJ2ZrdGFibGUnOjpyZWdjbGFzcyBBTkQgY29ubmFtZSA9 ICdma3RhYmxlX2ZrX2ZrZXknCitPUkRFUiBCWSB0Z3JlbGlkLCB0Z3R5cGU7CisKKy0tIENoYW5n aW5nIGl0IGJhY2sgdG8gRU5GT1JDRUQgd2lsbCByZWNyZWF0ZSB0aGUgbmVjZXNzYXJ5IEZLIHRy aWdnZXJzCistLSB0aGF0IGFyZSBkZWZlcnJhYmxlIGFuZCBpbml0aWFsbHkgZGVmZXJyZWQKK0FM VEVSIFRBQkxFIEZLVEFCTEUgQUxURVIgQ09OU1RSQUlOVCBma3RhYmxlX2ZrX2ZrZXkgRU5GT1JD RUQ7CitTRUxFQ1QgY29ubmFtZSwgdGdyZWxpZDo6cmVnY2xhc3MgYXMgdGdyZWwsCisgICAgICAg cmVnZXhwX3JlcGxhY2UodGduYW1lLCAnWzAtOV0rJywgJ04nKSBhcyB0Z25hbWUsIHRndHlwZSwK KyAgICAgICB0Z2RlZmVycmFibGUsIHRnaW5pdGRlZmVycmVkCitGUk9NIHBnX3RyaWdnZXIgdCBK T0lOIHBnX2NvbnN0cmFpbnQgYyBPTiAodC50Z2NvbnN0cmFpbnQgPSBjLm9pZCkKK1dIRVJFIGNv bnJlbGlkID0gJ2ZrdGFibGUnOjpyZWdjbGFzcyBBTkQgY29ubmFtZSA9ICdma3RhYmxlX2ZrX2Zr ZXknCitPUkRFUiBCWSB0Z3JlbGlkLCB0Z3R5cGU7CisKKy0tIFZlcmlmeSB0aGF0IGEgZGVmZXJy YWJsZSwgaW5pdGlhbGx5IGRlZmVycmVkIGZvcmVpZ24ga2V5IHN0aWxsIHdvcmtzCistLSBhcyBl eHBlY3RlZCBhZnRlciBiZWluZyBzZXQgdG8gTk9UIEVORk9SQ0VEIGFuZCB0aGVuIHJlLWVuYWJs ZWQKK0JFR0lOOworCistLSBkb2Vzbid0IG1hdGNoIFBLLCBidXQgbm8gZXJyb3IgeWV0CitJTlNF UlQgSU5UTyBma3RhYmxlIFZBTFVFUyAoMiwgMjApOworCistLSBzaG91bGQgY2F0Y2ggZXJyb3Ig ZnJvbSBJTlNFUlQgYXQgY29tbWl0CitDT01NSVQ7CisKIERST1AgVEFCTEUgZmt0YWJsZSwgcGt0 YWJsZTsKIAogLS0gdHJpY2t5IGJlaGF2aW9yOiBhY2NvcmRpbmcgdG8gU1FMOTksIGlmIGEgZGVm ZXJyZWQgY29uc3RyYWludCBpcyBzZXQKLS0gCjIuNTEuMgoK --000000000000d8dce3064e02c57b--