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 1w2AuK-0003be-2H for pgsql-committers@arkaria.postgresql.org; Mon, 16 Mar 2026 16:35:09 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w2AuI-00BJpb-29 for pgsql-committers@arkaria.postgresql.org; Mon, 16 Mar 2026 16:35:07 +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 1w2AuI-00BJpS-0l for pgsql-committers@lists.postgresql.org; Mon, 16 Mar 2026 16:35:07 +0000 Received: from mail-qt1-x82c.google.com ([2607:f8b0:4864:20::82c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w2AuC-000000002Wx-0BET for pgsql-committers@lists.postgresql.org; Mon, 16 Mar 2026 16:35:05 +0000 Received: by mail-qt1-x82c.google.com with SMTP id d75a77b69052e-50697d6a69cso25995871cf.2 for ; Mon, 16 Mar 2026 09:35:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20230601.gappssmtp.com; s=20230601; t=1773678899; x=1774283699; darn=lists.postgresql.org; h=in-reply-to:autocrypt:content-language:references:to:subject:from :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=JKC7tThLW9wXoSTK/U02ubCu0hm31dLnjnC3d3MRoow=; b=IFuW4HHdVkMl4ttNKt5G8lIVfEUJjKk7qqEaRfZzTZJF5Gogo5Ax/cbKWiCB88pPRb 3rP1jREFZyUYkquJ5WkCD6EhVyDNSiatuh3Hr2pfJ2wuH0GxcgsbcThwSQ/2TUGPxPRx EYtzm2u8+Hiy3+QbAH4NqoXmQ2J4skCD+rZrQkOjkF1jMaWeC5XbREosDNugxMDcfDkO 9u8e0Ry19C3IqTgk9CjJjrmyAiCgs+9iJNLVqFdWYCGOmjL9kvWmqT/xHuIIduTbJpl+ JbFyHkBMaosGFKNubrEsIZaXdSktHi67gBlayLLgu3WBL0yIA3qOd5QDXBTc5ue56vSu 9jew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773678899; x=1774283699; h=in-reply-to:autocrypt:content-language:references:to:subject:from :user-agent:mime-version:date:message-id:x-gm-gg:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=JKC7tThLW9wXoSTK/U02ubCu0hm31dLnjnC3d3MRoow=; b=T1YwgXBvV/84SxqfiLsBjfpnZgOzSkjElNVihl/HBQu9i4IScdtZ7Yh/I25s1bjarp KE4AhqPs14h/0GLjyI0cz6OcCBXRZm6SW7LG05EWyoc5r4EztvrqBuHigWtngvHfK/mE 6Kblw3j1KssUsdr1mLHHx3bFnTiTDVCDzyaDX9pJ6DJW/P7mMvghat7WKE7wXzELTBdA Qzc7JVPQUCJ6QpdzOLs27T4Mn8GPhY5uiqYfg6SgCc5RtgVe5ceI4uPusFR2cHrJdCUC aagjb1s0tYhPYaLIDU/oYSooM7XPTlrDS9NMELWFl2shlIM5EAjPYN4C7AhxRGJGsXJH Csdw== X-Forwarded-Encrypted: i=1; AJvYcCUzwXcxoKJ6XWI78FPmvqPZDFzeqtS+3K8fWQr2xDHQhgxP6tNEatLdQEp62izM2guYLbRJ4y6UWaVdkTMD66FU@lists.postgresql.org X-Gm-Message-State: AOJu0YyCUaFzQ+wbK+8nWNiLn+72ErD47n0Yky0txznQdoFt8Kx52vP4 7Od9JDrAjv86ArqZqvf0xmas9lLpcvDJzs+CmhgeEMM6f8udnQjjGG8gqlyi7muitbEuheZQoFn GK/Kg X-Gm-Gg: ATEYQzwxep/Q1LETQxqj/LzALgd68CKS+FJYtQ5XZcfNOCcSlyt3KQCra/PmYw1E+FD 4WXniHKNevpC5T5AxOeDYD/5uOjvLuqyGSe6y4zSBty/HUtFnVxXcT1csaMH1aiDRw5AxQYBxp5 OF1BZwxezG3+Iv2eowHtCMGMm+0cR9B+L9keS9FXopnuaXw21rD310nTmmPloDy3Nm0V7HjQCxC ybSwW6eIEiwgk+w/U1t0R445wcMFzCiT0D8OR/PdjioSyhcU5yNjwmp6AYtN/w7rWIqxvQEPEAB B22rMxZ99uBAJNBe+EGK3dtakku9aNKgJE1Ej+td5HTmXgOW81eP+rjn+qviG648nZoukIRgsT+ Rst/rV24z5nf4DHOgdofZdHExJk8rFmJZGWlbTVTyTNxKDOa/8/E/1NcuNJgBDxniKEuAS3UNMp pYKdm76eDVy44htTJZJgtW5cPcAnLdYFMlfkoMZrQc X-Received: by 2002:ac8:7f15:0:b0:509:1f95:f3ae with SMTP id d75a77b69052e-50957cb1b66mr176162691cf.3.1773678899041; Mon, 16 Mar 2026 09:34:59 -0700 (PDT) Received: from ?IPV6:2605:a601:a6b0:500::1cb? ([2605:a601:a6b0:500::1cb]) by smtp.googlemail.com with ESMTPSA id d75a77b69052e-5093a116d86sm116107961cf.23.2026.03.16.09.34.57 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 16 Mar 2026 09:34:58 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------z1IpOrLb7ub9gpeossp8174Z" Message-ID: Date: Mon, 16 Mar 2026 12:34:56 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Andrew Dunstan Subject: Re: pgsql: SQL Property Graph Queries (SQL/PGQ) To: Peter Eisentraut , pgsql-committers@lists.postgresql.org References: Content-Language: en-US Autocrypt: addr=andrew@dunslane.net; keydata= xsBNBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAHNJEFuZHJldyBEdW5zdGFuIDxhbmRyZXdAZHVuc2xhbmUubmV0PsLAlwQTAQgAQQIbAwIX gAIZAQULCQgHAwUVCgkICwUWAgMBAAIeBRYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNGd BQkdEO8nAAoJEJn6f8tZ/DuBq74H/jkTR4Zi3stbw+xC7v2u3QozssK7MYPL2AsVfh7OealS h182fiWXpfvmmAB7WUHbhk9GC2RAOnHI/2d2jgKaMLAHsGYOT0YopTVIwRY43fCw/mK67yxc wmDcX+zyKfLaivNbf5A7QPLNwda98bEAMSJ8Sn652Uc6cA8t3uKGsVzbRBQOoYzjgvBCfSrE 9ql3PDNg0l4BfAqabd2f70ZUm9VAMEPrgv/v2xI7M2XiL4g5BVmqLCOwxLM8RMCotCuoweUr VO43DeBCIDwLxotMJKvGWDjBzQYlU1NPUAtNcz/gN9ITUe1VUGjyvGj4u1lxBOcQQUw7l1+T 5moZ4iZxXzvOwE0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oKWaqf+wmW4tpDe/VV cxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7llV0xSSoFiieQBsr GvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8BoVrRFcdzlIY/NFN hFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C4R+M6w7o2PLGOjdZ +kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaYL++LAEOqrlvm2Tvq QqZRtnEAEQEAAcLAfAQYAQgAJgIbDBYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNI2BQkd EODdAAoJEJn6f8tZ/DuBfw0IAKTsfD40teP/pp+bsLLMSxPXUYrrprTj7WFB5v61p6dkpSr/ qXmMlyahdxQFaPmfVgVirB1Vk/kHiWNnnGjfUV9nB2Zg9LI0Xb9/ts3LsUiRWXzG3tkMY6XL vsVOxW4XFRND9l2q+WW93aZ1DZl+fqWfYgMvsusFRhmGFOKTRfKPta2Pkv+AhA24N4+PrR5p bU4k2MO8PAGiK8eaYKGFG1bHKuAvoDoF7WXJ3FHxuWqLnKEt4dfOLm5pAe3zq1Lt6q8azT9i QWGpSAK5vQUWQHBHpiDjdPeqKZ6HiAXIIKfSmb+jrvXBqoP+D6/K7rUjG2aXiRtTIAXms9sm VRu7cmw= 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. --------------z1IpOrLb7ub9gpeossp8174Z Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit - On 2026-03-16 Mo 5:20 AM, Peter Eisentraut wrote: > SQL Property Graph Queries (SQL/PGQ) > > Implementation of SQL property graph queries, according to SQL/PGQ > standard (ISO/IEC 9075-16:2023). > > This adds: > > - GRAPH_TABLE table function for graph pattern matching > - DDL commands CREATE/ALTER/DROP PROPERTY GRAPH > - several new system catalogs and information schema views > - psql \dG command > - pg_get_propgraphdef() function for pg_dump and psql > > A property graph is a relation with a new relkind RELKIND_PROPGRAPH. > It acts like a view in many ways. It is rewritten to a standard > relational query in the rewriter. Access privileges act similar to a > security invoker view. (The security definer variant is not currently > implemented.) > > Starting documentation can be found in doc/src/sgml/ddl.sgml and > doc/src/sgml/queries.sgml. > The output of make_propgraphdef_labels() is not stable in the face of an upgrade which will not preserve the OID sort of the labels. The explains the failure at . I think we need to sort the labels by name, along the lines of the attached. Or else teach the binary upgrade code to use the same labels, as we do for some other things. Not sure how possible that is, nor how worth it. We also need to fence the dependency check in pg_dump.c (also in the attached patch) cheers andrew -- Andrew Dunstan EDB: https://www.enterprisedb.com --------------z1IpOrLb7ub9gpeossp8174Z Content-Type: text/x-patch; charset=UTF-8; name="fix-propgraph-def.patch" Content-Disposition: attachment; filename="fix-propgraph-def.patch" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYyBiL3NyYy9i YWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYwppbmRleCAxNTNhOTJmZDNlYS4uMDA5OTBi MzM4NTkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9ydWxldXRpbHMuYwor KysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcnVsZXV0aWxzLmMKQEAgLTMzMCw2ICszMzAs MTMgQEAgdHlwZWRlZiBzdHJ1Y3QKIHR5cGVkZWYgdm9pZCAoKnJzdl9jYWxsYmFjaykgKE5v ZGUgKm5vZGUsIGRlcGFyc2VfY29udGV4dCAqY29udGV4dCwKIAkJCQkJCQkgIHZvaWQgKmNh bGxiYWNrX2FyZyk7CiAKKy8qIFVzZWQgYnkgbWFrZV9wcm9wZ3JhcGhkZWZfbGFiZWxzIHRv IHNvcnQgbGFiZWxzIGJ5IG5hbWUgKi8KK3R5cGVkZWYgc3RydWN0Cit7CisJY29uc3QgY2hh ciAqbGFiZWxuYW1lOworCU9pZAkJCWVsbGFiZWxpZDsJCS8qIHBnX3Byb3BncmFwaF9lbGVt ZW50X2xhYmVsIE9JRCAqLworfSBQcm9wR3JhcGhMYWJlbEVudHJ5OworCiAKIC8qIC0tLS0t LS0tLS0KICAqIEdsb2JhbCBkYXRhCkBAIC0zNjgsNiArMzc1LDcgQEAgc3RhdGljIGNoYXIg KnBnX2dldF9pbmRleGRlZl93b3JrZXIoT2lkIGluZGV4cmVsaWQsIGludCBjb2xubywKIAkJ CQkJCQkJCWludCBwcmV0dHlGbGFncywgYm9vbCBtaXNzaW5nX29rKTsKIHN0YXRpYyB2b2lk IG1ha2VfcHJvcGdyYXBoZGVmX2VsZW1lbnRzKFN0cmluZ0luZm8gYnVmLCBPaWQgcGdyZWxp ZCwgY2hhciBwZ2VraW5kKTsKIHN0YXRpYyB2b2lkIG1ha2VfcHJvcGdyYXBoZGVmX2xhYmVs cyhTdHJpbmdJbmZvIGJ1ZiwgT2lkIGVsaWQsIGNvbnN0IGNoYXIgKmVsYWxpYXMsIE9pZCBl bHJlbGlkKTsKK3N0YXRpYyBpbnQJbGFiZWxlbnRyeV9uYW1lX2NtcChjb25zdCB2b2lkICph LCBjb25zdCB2b2lkICpiKTsKIHN0YXRpYyB2b2lkIG1ha2VfcHJvcGdyYXBoZGVmX3Byb3Bl cnRpZXMoU3RyaW5nSW5mbyBidWYsIE9pZCBlbGxhYmVsaWQsIE9pZCBlbHJlbGlkKTsKIHN0 YXRpYyBjaGFyICpwZ19nZXRfc3RhdGlzdGljc29ial93b3JrZXIoT2lkIHN0YXRleHRpZCwg Ym9vbCBjb2x1bW5zX29ubHksCiAJCQkJCQkJCQkJIGJvb2wgbWlzc2luZ19vayk7CkBAIC0x Nzc2LDE0ICsxNzg0LDI4IEBAIG1ha2VfcHJvcGdyYXBoZGVmX2VsZW1lbnRzKFN0cmluZ0lu Zm8gYnVmLCBPaWQgcGdyZWxpZCwgY2hhciBwZ2VraW5kKQogICogR2VuZXJhdGVzIGxhYmVs IGFuZCBwcm9wZXJ0aWVzIGxpc3QuICBQYXNzIGluIHRoZSBlbGVtZW50IE9JRCwgdGhlIGVs ZW1lbnQKICAqIGFsaWFzLCBhbmQgdGhlIGdyYXBoIHJlbGF0aW9uIE9JRC4gIFJlc3VsdCBp cyBhcHBlbmRlZCB0byBidWYuCiAgKi8KKy8qCisgKiBDb21wYXJpc29uIGZ1bmN0aW9uIGZv ciBxc29ydDogc29ydCBsYWJlbCBlbnRyaWVzIGJ5IGxhYmVsIG5hbWUuCisgKi8KK3N0YXRp YyBpbnQKK2xhYmVsZW50cnlfbmFtZV9jbXAoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAq YikKK3sKKwljb25zdCBQcm9wR3JhcGhMYWJlbEVudHJ5ICpsYSA9IChjb25zdCBQcm9wR3Jh cGhMYWJlbEVudHJ5ICopIGE7CisJY29uc3QgUHJvcEdyYXBoTGFiZWxFbnRyeSAqbGIgPSAo Y29uc3QgUHJvcEdyYXBoTGFiZWxFbnRyeSAqKSBiOworCisJcmV0dXJuIHN0cmNtcChsYS0+ bGFiZWxuYW1lLCBsYi0+bGFiZWxuYW1lKTsKK30KKwogc3RhdGljIHZvaWQKIG1ha2VfcHJv cGdyYXBoZGVmX2xhYmVscyhTdHJpbmdJbmZvIGJ1ZiwgT2lkIGVsaWQsIGNvbnN0IGNoYXIg KmVsYWxpYXMsIE9pZCBlbHJlbGlkKQogewogCVJlbGF0aW9uCXBnbHJlbDsKIAlTY2FuS2V5 RGF0YSBzY2Fua2V5WzFdOwogCVN5c1NjYW5EZXNjIHNjYW47Ci0JaW50CQkJY291bnQ7CiAJ SGVhcFR1cGxlCXR1cDsKKwlQcm9wR3JhcGhMYWJlbEVudHJ5ICpsYWJlbHM7CisJaW50CQkJ bmxhYmVscyA9IDA7CisJaW50CQkJbWF4bGFiZWxzID0gODsKIAogCXBnbHJlbCA9IHRhYmxl X29wZW4oUHJvcGdyYXBoRWxlbWVudExhYmVsUmVsYXRpb25JZCwgQWNjZXNzU2hhcmVMb2Nr KTsKIApAQCAtMTc5MiwzOCArMTgxNCw0OCBAQCBtYWtlX3Byb3BncmFwaGRlZl9sYWJlbHMo U3RyaW5nSW5mbyBidWYsIE9pZCBlbGlkLCBjb25zdCBjaGFyICplbGFsaWFzLCBPaWQgZWxy ZQogCQkJCUJURXF1YWxTdHJhdGVneU51bWJlciwgRl9PSURFUSwKIAkJCQlPYmplY3RJZEdl dERhdHVtKGVsaWQpKTsKIAotCWNvdW50ID0gMDsKLQlzY2FuID0gc3lzdGFibGVfYmVnaW5z Y2FuKHBnbHJlbCwgUHJvcGdyYXBoRWxlbWVudExhYmVsRWxlbWVudExhYmVsSW5kZXhJZCwg dHJ1ZSwgTlVMTCwgMSwgc2NhbmtleSk7Ci0Jd2hpbGUgKCh0dXAgPSBzeXN0YWJsZV9nZXRu ZXh0KHNjYW4pKSkKLQl7Ci0JCWNvdW50Kys7Ci0JfQotCXN5c3RhYmxlX2VuZHNjYW4oc2Nh bik7CisJLyoKKwkgKiBDb2xsZWN0IGFsbCBsYWJlbHMgZmlyc3Qgc28gd2UgY2FuIHNvcnQg dGhlbSBieSBuYW1lLCBlbnN1cmluZyBhCisJICogZGV0ZXJtaW5pc3RpYyBvdXRwdXQgb3Jk ZXIgcmVnYXJkbGVzcyBvZiBjYXRhbG9nIE9JRCBhc3NpZ25tZW50LgorCSAqLworCWxhYmVs cyA9IHBhbGxvYyhtYXhsYWJlbHMgKiBzaXplb2YoUHJvcEdyYXBoTGFiZWxFbnRyeSkpOwog CiAJc2NhbiA9IHN5c3RhYmxlX2JlZ2luc2NhbihwZ2xyZWwsIFByb3BncmFwaEVsZW1lbnRM YWJlbEVsZW1lbnRMYWJlbEluZGV4SWQsIHRydWUsIE5VTEwsIDEsIHNjYW5rZXkpOwotCiAJ d2hpbGUgKCh0dXAgPSBzeXN0YWJsZV9nZXRuZXh0KHNjYW4pKSkKIAl7CiAJCUZvcm1fcGdf cHJvcGdyYXBoX2VsZW1lbnRfbGFiZWwgcGdlbGZvcm0gPSAoRm9ybV9wZ19wcm9wZ3JhcGhf ZWxlbWVudF9sYWJlbCkgR0VUU1RSVUNUKHR1cCk7Ci0JCWNvbnN0IGNoYXIgKmxhYmVsbmFt ZTsKIAotCQlsYWJlbG5hbWUgPSBnZXRfcHJvcGdyYXBoX2xhYmVsX25hbWUocGdlbGZvcm0t PnBnZWxsYWJlbGlkKTsKKwkJaWYgKG5sYWJlbHMgPj0gbWF4bGFiZWxzKQorCQl7CisJCQlt YXhsYWJlbHMgKj0gMjsKKwkJCWxhYmVscyA9IHJlcGFsbG9jKGxhYmVscywgbWF4bGFiZWxz ICogc2l6ZW9mKFByb3BHcmFwaExhYmVsRW50cnkpKTsKKwkJfQogCi0JCWlmIChzdHJjbXAo bGFiZWxuYW1lLCBlbGFsaWFzKSA9PSAwKQorCQlsYWJlbHNbbmxhYmVsc10ubGFiZWxuYW1l ID0gcHN0cmR1cChnZXRfcHJvcGdyYXBoX2xhYmVsX25hbWUocGdlbGZvcm0tPnBnZWxsYWJl bGlkKSk7CisJCWxhYmVsc1tubGFiZWxzXS5lbGxhYmVsaWQgPSBwZ2VsZm9ybS0+b2lkOwor CQlubGFiZWxzKys7CisJfQorCXN5c3RhYmxlX2VuZHNjYW4oc2Nhbik7CisKKwl0YWJsZV9j bG9zZShwZ2xyZWwsIEFjY2Vzc1NoYXJlTG9jayk7CisKKwlxc29ydChsYWJlbHMsIG5sYWJl bHMsIHNpemVvZihQcm9wR3JhcGhMYWJlbEVudHJ5KSwgbGFiZWxlbnRyeV9uYW1lX2NtcCk7 CisKKwlmb3IgKGludCBpID0gMDsgaSA8IG5sYWJlbHM7IGkrKykKKwl7CisJCWlmIChzdHJj bXAobGFiZWxzW2ldLmxhYmVsbmFtZSwgZWxhbGlhcykgPT0gMCkKIAkJewogCQkJLyogSWYg dGhlIGRlZmF1bHQgbGFiZWwgaXMgdGhlIG9ubHkgbGFiZWwsIGRvbid0IHByaW50IGFueXRo aW5nLiAqLwotCQkJaWYgKGNvdW50ICE9IDEpCisJCQlpZiAobmxhYmVscyAhPSAxKQogCQkJ CWFwcGVuZFN0cmluZ0luZm8oYnVmLCAiIERFRkFVTFQgTEFCRUwiKTsKIAkJfQogCQllbHNl Ci0JCQlhcHBlbmRTdHJpbmdJbmZvKGJ1ZiwgIiBMQUJFTCAlcyIsIHF1b3RlX2lkZW50aWZp ZXIobGFiZWxuYW1lKSk7CisJCQlhcHBlbmRTdHJpbmdJbmZvKGJ1ZiwgIiBMQUJFTCAlcyIs IHF1b3RlX2lkZW50aWZpZXIobGFiZWxzW2ldLmxhYmVsbmFtZSkpOwogCi0JCW1ha2VfcHJv cGdyYXBoZGVmX3Byb3BlcnRpZXMoYnVmLCBwZ2VsZm9ybS0+b2lkLCBlbHJlbGlkKTsKKwkJ bWFrZV9wcm9wZ3JhcGhkZWZfcHJvcGVydGllcyhidWYsIGxhYmVsc1tpXS5lbGxhYmVsaWQs IGVscmVsaWQpOwogCX0KIAotCXN5c3RhYmxlX2VuZHNjYW4oc2Nhbik7Ci0KLQl0YWJsZV9j bG9zZShwZ2xyZWwsIEFjY2Vzc1NoYXJlTG9jayk7CisJcGZyZWUobGFiZWxzKTsKIH0KIAog LyoKZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMgYi9zcmMvYmluL3Bn X2R1bXAvcGdfZHVtcC5jCmluZGV4IGI0MWEzYWUzZGI0Li4yM2FmOTUwMjdlNiAxMDA2NDQK LS0tIGEvc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYworKysgYi9zcmMvYmluL3BnX2R1bXAv cGdfZHVtcC5jCkBAIC0yMDQ3MywxMSArMjA0NzMsMTIgQEAgZ2V0RGVwZW5kZW5jaWVzKEFy Y2hpdmUgKmZvdXQpCiAJICogVHJhbnNsYXRlIGRlcGVuZGVuY2llcyBvZiBwZ19wcm9wZ3Jh cGhfZWxlbWVudCBlbnRyaWVzIGludG8KIAkgKiBkZXBlbmRlbmNpZXMgb2YgdGhlaXIgcGFy ZW50IHBnX2NsYXNzIGVudHJ5LgogCSAqLwotCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5 LCAiVU5JT04gQUxMXG4iCi0JCQkJCQkgIlNFTEVDVCAncGdfY2xhc3MnOjpyZWdjbGFzcyBB UyBjbGFzc2lkLCBwZ2VwZ2lkIEFTIG9iamlkLCByZWZjbGFzc2lkLCByZWZvYmppZCwgZGVw dHlwZSAiCi0JCQkJCQkgIkZST00gcGdfZGVwZW5kIGQsIHBnX3Byb3BncmFwaF9lbGVtZW50 IHBnZSAiCi0JCQkJCQkgIldIRVJFIGRlcHR5cGUgTk9UIElOICgncCcsICdlJywgJ2knKSBB TkQgIgotCQkJCQkJICJjbGFzc2lkID0gJ3BnX3Byb3BncmFwaF9lbGVtZW50Jzo6cmVnY2xh c3MgQU5EIG9iamlkID0gcGdlLm9pZFxuIik7CisJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24g Pj0gMTkwMDAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIlVOSU9OIEFMTFxu IgorCQkJCQkJCSAiU0VMRUNUICdwZ19jbGFzcyc6OnJlZ2NsYXNzIEFTIGNsYXNzaWQsIHBn ZXBnaWQgQVMgb2JqaWQsIHJlZmNsYXNzaWQsIHJlZm9iamlkLCBkZXB0eXBlICIKKwkJCQkJ CQkgIkZST00gcGdfZGVwZW5kIGQsIHBnX3Byb3BncmFwaF9lbGVtZW50IHBnZSAiCisJCQkJ CQkJICJXSEVSRSBkZXB0eXBlIE5PVCBJTiAoJ3AnLCAnZScsICdpJykgQU5EICIKKwkJCQkJ CQkgImNsYXNzaWQgPSAncGdfcHJvcGdyYXBoX2VsZW1lbnQnOjpyZWdjbGFzcyBBTkQgb2Jq aWQgPSBwZ2Uub2lkXG4iKTsKIAogCS8qIFNvcnQgdGhlIG91dHB1dCBmb3IgZWZmaWNpZW5j eSBiZWxvdyAqLwogCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiT1JERVIgQlkgMSwy Iik7Cg== --------------z1IpOrLb7ub9gpeossp8174Z--