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 1vUpOX-0080U6-20 for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Dec 2025 16:56:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vUpOW-00DgJb-1n for pgsql-hackers@arkaria.postgresql.org; Sun, 14 Dec 2025 16:56:29 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1vUpOW-00DgJO-0j for pgsql-hackers@lists.postgresql.org; Sun, 14 Dec 2025 16:56:29 +0000 Received: from mail-ed1-x534.google.com ([2a00:1450:4864:20::534]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vUpOU-000iTs-0X for pgsql-hackers@lists.postgresql.org; Sun, 14 Dec 2025 16:56:28 +0000 Received: by mail-ed1-x534.google.com with SMTP id 4fb4d7f45d1cf-64198771a9bso2932941a12.2 for ; Sun, 14 Dec 2025 08:56:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jeltef.nl; s=google; t=1765731385; x=1766336185; darn=lists.postgresql.org; h=in-reply-to:references:from:to:subject:cc:message-id:date :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=CbaQBlUeidh8kRtM/54wG6on7XSM9PJGCs59iUhqoNw=; b=OAZhPeJv2fwIawXX1+RPNfePNKGNT9zrVow5D1oVSh2XlHNUUNt61/sRToIq0fWrGK eL42YUgLNPtlgyGmetV7ArfLhaWbGXb2qdyZAc6mIYCBvbxpomQKtoGctSm7Gj3azNx4 x+kGmhMPte7IBXwCouVJDPqkxJjNNHlzlZBjx/q2h1sZFOl5XmuPmrSIr/YCjPbp6PKu RbyhG8gLLFwAvwxHHu7cxeD5YZiGxDaGxY0+KyJED7nQZvP8sK46V8TbJWEhZT45CkFZ lgmJWbIoGVlTf9+pIjPOZ3WolYF3Fky5pkSLEfkFnnPwOud8coy8tXevUyRgwISTIRgb K5tw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765731385; x=1766336185; h=in-reply-to:references:from:to:subject:cc:message-id:date :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=CbaQBlUeidh8kRtM/54wG6on7XSM9PJGCs59iUhqoNw=; b=uD4xNrKxXwwHOTKlvVC6ig7emZDTk5pXGqyUuaYf7eVXnUmmAyADeIK4wDAmltUdd/ 4ZLKxPIBFoXGEb2gakcB40F7LdIJXpBUnmcztetz+XFYRIBZis8UdvjJeunNlAfTJY0l FD0cBijFH2BqF+zXwAvyft166qJYE9Hpo6ydnPaaMlJ+mOvUWzDD8mGKuk8dlwGYHI7X MStANspUoZoAtVj0wzS8MBBQLT42yEOqVF7LvbPWzoJJ/ihOdv1raymua/Z3LjUn8zhE WBPTcQU9sN3pjmld6ucjkiyhojkSqtWl5QC3o/Llzkyr5z4ZcUd/+JFe2ct+71aNdLND yCMg== X-Gm-Message-State: AOJu0YzAo/Yg0G5kta3OLK3rOEDbQxq31D3g2nw2M+jAOBx29eDaTrIW b8IBeDXG2PpPlKKwKHwEDwjy8FaWETHspuIVa+h/+4mKyDp0su9CyEggAmLn8Cop/HM= X-Gm-Gg: AY/fxX7VdiUmFI5jWbw/9S8PQyY44WorPEx5VoDK/+tm0PA0DtkmuYQ9PevwkRo4MlH 2D6MRCGHD8irNLACPKjAVyqxuGvcwGUxjAyaYjF8qDmBw0a1kGxvMjyZcXWxgojA82ibabsmvGp 13+p1cqQzux/tqvWhQhsxurpoOAogb+cNQV6KLLxCKJFdaHqlWMOu4vnyGTj4x8X8Rhz5bfXmiA o8jJq3Tg2+rydXvlUozFDmNMUSZ5I8vzKry68HSxFafaNsKfOrYkK8oCoURRfeEHOKYPbPewi34 +OReH/3RpDRZWYJzvlHWe6etW2h7FiJ+Qaqd1OsJmJvsXdjhIfVlsMcHej9ULhvDrGPUROmJubz Dga2+oJIJ+9h0kqg7qJiNwiAf9/XrPKSWuFYL1lvkAYwCFxjZyB25wS0NWtmflWiCqcxEhW87SQ EXSThl0Otc2jjX86DFaFoTkeGq2qzWsE8n2u8= X-Google-Smtp-Source: AGHT+IH6focTMmXF7PypcY3rLT0nWULbTvUZ5n8Vu7aaoyrdota7jN1Usy5ATEGqga3KHyvxvrtYIQ== X-Received: by 2002:a05:6402:1d49:b0:649:2af3:48e4 with SMTP id 4fb4d7f45d1cf-6499b2f01d6mr8141892a12.16.1765731384903; Sun, 14 Dec 2025 08:56:24 -0800 (PST) Received: from localhost (145-53-221-196.fixed.kpn.net. [145.53.221.196]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-6498210fcf6sm11020045a12.27.2025.12.14.08.56.24 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 14 Dec 2025 08:56:24 -0800 (PST) Content-Type: multipart/mixed; boundary=c5bd53d98fe370e6b9e32142d101f131292267fe8055fd6050ee6a3ddd75 Mime-Version: 1.0 Date: Sun, 14 Dec 2025 17:56:23 +0100 Message-Id: Cc: "PostgreSQL Hackers" , "Thomas Munro" Subject: Re: Make copyObject work in C++ To: "Tom Lane" From: "Jelte Fennema-Nio" X-Mailer: aerc 0.20.1-31-gf6db7c329ce0 References: <2844370.1765136707@sss.pgh.pa.us> In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --c5bd53d98fe370e6b9e32142d101f131292267fe8055fd6050ee6a3ddd75 Content-Type: multipart/alternative; boundary=196437cc0fab404aeb5a49a01a27127e732570fa6a08f1601ee1167df2fd --196437cc0fab404aeb5a49a01a27127e732570fa6a08f1601ee1167df2fd Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Content-Type: text/plain; charset=UTF-8; format=Flowed On Mon Dec 8, 2025 at 9:11 AM CET, Jelte Fennema-Nio wrote: > Went with defining pg_exprtype (pg_typeof already exists). Undefining > typeof seemed a bit heavy-handed. Especially since I think it would be > nice to backport this so C++ extensions can use copyObject directly. Rebased version of this patchset after conflicts from 315342ffed. --196437cc0fab404aeb5a49a01a27127e732570fa6a08f1601ee1167df2fd-- --c5bd53d98fe370e6b9e32142d101f131292267fe8055fd6050ee6a3ddd75 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0001-Make-copyObject-work-in-C.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0001-Make-copyObject-work-in-C.patch RnJvbSA0ZDRlMTM3YjQ3MTJiNDhiZjNiN2M1YTE5ODEzYzE5NTZhMjg1MzhlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBGcmksIDUgRGVjIDIwMjUgMTU6Mzc6NTkgKzAxMDAKU3ViamVjdDogW1BBVENIIHYz IDEvMl0gTWFrZSBjb3B5T2JqZWN0IHdvcmsgaW4gQysrCgpDYWxsaW5nIGNvcHlPYmplY3QgZmFp bHMgaW4gQysrIHdpdGggYW4gZXJyb3IgbGlrZSBpbiBtb3N0IHNldHVwczoKCmVycm9yOiB1c2Ug b2YgdW5kZWNsYXJlZCBpZGVudGlmaWVyICd0eXBlb2YnOyBkaWQgeW91IG1lYW4gJ3R5cGVpZCcK ClRoaXMgaXMgZHVlIHRvIHRoZSBDIGNvbXBpbGVyIHN1cHBvcnRpbmcgdXNlZCB0byBjb21waWxl IHBvc3RncmVzCnN1cHBvcnRpbmcgdHlwZW9mLCBidXQgdGhhdCBmdW5jdGlvbiBhY3R1YWxseSBu b3QgYmVpbmcgcHJlc2VudCBpbiB0aGUKQysrIGNvbXBpbGVyLiBUaGlzIGZpeGVzIHRoYXQgYnkg ZGVmaW5pbmcgcGdfZXhwcnR5cGUgd2hpY2ggbWFwcyB0bwp0eXBlb2Ygb3IgZGVjbHR5cGUgZGVw ZW5kaW5nIG9uIHRoZSBjb21waWxlci4gV2hpbGUgcGdfdHlwZW9mIHdvdWxkIGhhdmUKYmVlbiBh IG1vcmUgbmF0dXJhbCBuYW1lLCB0aGF0IG9uZSBpcyBhbHJlYWR5IHRha2VuIGluIG91ciBjb2Rl YmFzZSBhcwp0aGUgaW1wbGVtZW50YXRpb24gb2YgdGhlIHBnX3R5cGVvZiBVREYuCi0tLQogc3Jj L2luY2x1ZGUvYy5oICAgICAgICAgICB8IDEzICsrKysrKysrKysrKysKIHNyYy9pbmNsdWRlL25v ZGVzL25vZGVzLmggfCAgNCArKy0tCiAyIGZpbGVzIGNoYW5nZWQsIDE1IGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYy5oIGIvc3JjL2luY2x1 ZGUvYy5oCmluZGV4IGQyY2RjNzY2NDRjLi4wNDBmMmZmYzMyYiAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvYy5oCisrKyBiL3NyYy9pbmNsdWRlL2MuaApAQCAtNDE4LDYgKzQxOCwxOSBAQAogI2Rl ZmluZSB1bmxpa2VseSh4KSAoKHgpICE9IDApCiAjZW5kaWYKIAorLyoKKyAqIHBnX2V4cHJ0eXBl CisgKgkJR2V0IHRoZSB0eXBlIG9mIGFuIGV4cHJlc3Npb24gYXQgY29tcGlsZSB0aW1lLgorICoK KyAqIEluIEMrKyB3ZSB1c2UgZGVjbHR5cGUgc2luY2UgdHlwZW9mIGlzIG5vdCBzdGFuZGFyZCBD KyssIHdoaWxlIGluIEMgd2UgdXNlCisgKiB0eXBlb2Ygd2hlbiBhdmFpbGFibGUuCisgKi8KKyNp ZiBkZWZpbmVkKF9fY3BsdXNwbHVzKQorI2RlZmluZSBwZ19leHBydHlwZSh4KSBkZWNsdHlwZSh4 KQorI2VsaWYgZGVmaW5lZChIQVZFX1RZUEVPRikKKyNkZWZpbmUgcGdfZXhwcnR5cGUoeCkgdHlw ZW9mKHgpCisjZW5kaWYKKwogLyoKICAqIENwcEFzU3RyaW5nCiAgKgkJQ29udmVydCB0aGUgYXJn dW1lbnQgdG8gYSBzdHJpbmcsIHVzaW5nIHRoZSBDIHByZXByb2Nlc3Nvci4KZGlmZiAtLWdpdCBh L3NyYy9pbmNsdWRlL25vZGVzL25vZGVzLmggYi9zcmMvaW5jbHVkZS9ub2Rlcy9ub2Rlcy5oCmlu ZGV4IGZiMzk1N2U3NWU1Li5hOGY0MjQzMTgyOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbm9k ZXMvbm9kZXMuaAorKysgYi9zcmMvaW5jbHVkZS9ub2Rlcy9ub2Rlcy5oCkBAIC0yMjYsOCArMjI2 LDggQEAgZXh0ZXJuIGludDE2ICpyZWFkQXR0ck51bWJlckNvbHMoaW50IG51bUNvbHMpOwogZXh0 ZXJuIHZvaWQgKmNvcHlPYmplY3RJbXBsKGNvbnN0IHZvaWQgKmZyb20pOwogCiAvKiBjYXN0IHJl c3VsdCBiYWNrIHRvIGFyZ3VtZW50IHR5cGUsIGlmIHN1cHBvcnRlZCBieSBjb21waWxlciAqLwot I2lmZGVmIEhBVkVfVFlQRU9GCi0jZGVmaW5lIGNvcHlPYmplY3Qob2JqKSAoKHR5cGVvZihvYmop KSBjb3B5T2JqZWN0SW1wbChvYmopKQorI2lmZGVmIHBnX2V4cHJ0eXBlCisjZGVmaW5lIGNvcHlP YmplY3Qob2JqKSAoKHBnX2V4cHJ0eXBlKG9iaikpIGNvcHlPYmplY3RJbXBsKG9iaikpCiAjZWxz ZQogI2RlZmluZSBjb3B5T2JqZWN0KG9iaikgY29weU9iamVjdEltcGwob2JqKQogI2VuZGlmCgpi YXNlLWNvbW1pdDogYzVhZTA3YTkwYTBmMzU5NGU1MDUzYTI2ZjNjOTliMDQxZGY0MjdkMwotLSAK Mi41Mi4wCgo= --c5bd53d98fe370e6b9e32142d101f131292267fe8055fd6050ee6a3ddd75 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=v3-0002-Use-pg_exprtype-instead-of-typeof.patch Content-Type: text/x-patch; charset=utf-8; name=v3-0002-Use-pg_exprtype-instead-of-typeof.patch RnJvbSA4YTRiNDc0OWFhODdkZmY3ZTRlNDBkMmVlYjIxYjg0Zjk3ODExNzM4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKZWx0ZSBGZW5uZW1hLU5pbyA8cG9zdGdyZXNAamVsdGVmLm5s PgpEYXRlOiBNb24sIDggRGVjIDIwMjUgMDg6MTM6NTEgKzAxMDAKU3ViamVjdDogW1BBVENIIHYz IDIvMl0gVXNlIHBnX2V4cHJ0eXBlIGluc3RlYWQgb2YgdHlwZW9mCgpUaGUgcHJldmlvdXMgY29t bWl0IGludHJvZHVjZWQgcGdfZXhwcnR5cGUuIFRoaXMgc3RhcnRzIHVzaW5nIHRoYXQgaW4gYQpm ZXcgbW9yZSBwbGFjZXMuCi0tLQogc3JjL2luY2x1ZGUvYy5oICAgICAgICAgICAgfCA4ICsrKyst LS0tCiBzcmMvaW5jbHVkZS91dGlscy9yZWxwdHIuaCB8IDggKysrKy0tLS0KIDIgZmlsZXMgY2hh bmdlZCwgOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2MuaCBiL3NyYy9pbmNsdWRlL2MuaAppbmRleCAwNDBmMmZmYzMyYi4uZjA4MDA2Njlm MDkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2MuaAorKysgYi9zcmMvaW5jbHVkZS9jLmgKQEAg LTk5NywxMCArOTk3LDEwIEBAIHBnX25vcmV0dXJuIGV4dGVybiB2b2lkIEV4Y2VwdGlvbmFsQ29u ZGl0aW9uKGNvbnN0IGNoYXIgKmNvbmRpdGlvbk5hbWUsCiAgKi8KICNpZmRlZiBIQVZFX19CVUlM VElOX1RZUEVTX0NPTVBBVElCTEVfUAogI2RlZmluZSBBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlKHZh cm5hbWUsIHR5cGVuYW1lKSBcCi0JU3RhdGljQXNzZXJ0U3RtdChfX2J1aWx0aW5fdHlwZXNfY29t cGF0aWJsZV9wKF9fdHlwZW9mX18odmFybmFtZSksIHR5cGVuYW1lKSwgXAorCVN0YXRpY0Fzc2Vy dFN0bXQoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChwZ19leHBydHlwZSh2YXJuYW1lKSwg dHlwZW5hbWUpLCBcCiAJQ3BwQXNTdHJpbmcodmFybmFtZSkgIiBkb2VzIG5vdCBoYXZlIHR5cGUg IiBDcHBBc1N0cmluZyh0eXBlbmFtZSkpCiAjZGVmaW5lIEFzc2VydFZhcmlhYmxlSXNPZlR5cGVN YWNybyh2YXJuYW1lLCB0eXBlbmFtZSkgXAotCShTdGF0aWNBc3NlcnRFeHByKF9fYnVpbHRpbl90 eXBlc19jb21wYXRpYmxlX3AoX190eXBlb2ZfXyh2YXJuYW1lKSwgdHlwZW5hbWUpLCBcCisJKFN0 YXRpY0Fzc2VydEV4cHIoX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChwZ19leHBydHlwZSh2 YXJuYW1lKSwgdHlwZW5hbWUpLCBcCiAJIENwcEFzU3RyaW5nKHZhcm5hbWUpICIgZG9lcyBub3Qg aGF2ZSB0eXBlICIgQ3BwQXNTdHJpbmcodHlwZW5hbWUpKSkKICNlbHNlCQkJCQkJCS8qICFIQVZF X19CVUlMVElOX1RZUEVTX0NPTVBBVElCTEVfUCAqLwogI2RlZmluZSBBc3NlcnRWYXJpYWJsZUlz T2ZUeXBlKHZhcm5hbWUsIHR5cGVuYW1lKSBcCkBAIC0xMjQ4LDExICsxMjQ4LDExIEBAIHR5cGVk ZWYgc3RydWN0IFBHQWxpZ25lZFhMb2dCbG9jawogI2RlZmluZSB1bnZvbGF0aXplKHVuZGVybHlp bmdfdHlwZSwgZXhwcikgY29uc3RfY2FzdDx1bmRlcmx5aW5nX3R5cGU+KGV4cHIpCiAjZWxpZiBk ZWZpbmVkKEhBVkVfX0JVSUxUSU5fVFlQRVNfQ09NUEFUSUJMRV9QKQogI2RlZmluZSB1bmNvbnN0 aWZ5KHVuZGVybHlpbmdfdHlwZSwgZXhwcikgXAotCShTdGF0aWNBc3NlcnRFeHByKF9fYnVpbHRp bl90eXBlc19jb21wYXRpYmxlX3AoX190eXBlb2YoZXhwciksIGNvbnN0IHVuZGVybHlpbmdfdHlw ZSksIFwKKwkoU3RhdGljQXNzZXJ0RXhwcihfX2J1aWx0aW5fdHlwZXNfY29tcGF0aWJsZV9wKHBn X2V4cHJ0eXBlKGV4cHIpLCBjb25zdCB1bmRlcmx5aW5nX3R5cGUpLCBcCiAJCQkJCSAgIndyb25n IGNhc3QiKSwgXAogCSAodW5kZXJseWluZ190eXBlKSAoZXhwcikpCiAjZGVmaW5lIHVudm9sYXRp emUodW5kZXJseWluZ190eXBlLCBleHByKSBcCi0JKFN0YXRpY0Fzc2VydEV4cHIoX19idWlsdGlu X3R5cGVzX2NvbXBhdGlibGVfcChfX3R5cGVvZihleHByKSwgdm9sYXRpbGUgdW5kZXJseWluZ190 eXBlKSwgXAorCShTdGF0aWNBc3NlcnRFeHByKF9fYnVpbHRpbl90eXBlc19jb21wYXRpYmxlX3Ao cGdfZXhwcnR5cGUoZXhwciksIHZvbGF0aWxlIHVuZGVybHlpbmdfdHlwZSksIFwKIAkJCQkJICAi d3JvbmcgY2FzdCIpLCBcCiAJICh1bmRlcmx5aW5nX3R5cGUpIChleHByKSkKICNlbHNlCmRpZmYg LS1naXQgYS9zcmMvaW5jbHVkZS91dGlscy9yZWxwdHIuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL3Jl bHB0ci5oCmluZGV4IDQ4ZTM5NGRiYTcxLi5kYWM2MWIxMzExOCAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvdXRpbHMvcmVscHRyLmgKKysrIGIvc3JjL2luY2x1ZGUvdXRpbHMvcmVscHRyLmgKQEAg LTM4LDEwICszOCwxMCBAQAogI2RlZmluZSByZWxwdHJfZGVjbGFyZSh0eXBlLCByZWxwdHJ0eXBl KSBcCiAJdHlwZWRlZiByZWxwdHIodHlwZSkgcmVscHRydHlwZQogCi0jaWZkZWYgSEFWRV9UWVBF T0YKKyNpZmRlZiBwZ19leHBydHlwZQogI2RlZmluZSByZWxwdHJfYWNjZXNzKGJhc2UsIHJwKSBc CiAJKEFzc2VydFZhcmlhYmxlSXNPZlR5cGVNYWNybyhiYXNlLCBjaGFyICopLCBcCi0JICh0eXBl b2YoKHJwKS5yZWxwdHJfdHlwZSkpICgocnApLnJlbHB0cl9vZmYgPT0gMCA/IE5VTEwgOiBcCisJ IChwZ19leHBydHlwZSgocnApLnJlbHB0cl90eXBlKSkgKChycCkucmVscHRyX29mZiA9PSAwID8g TlVMTCA6IFwKIAkJKGJhc2UpICsgKHJwKS5yZWxwdHJfb2ZmIC0gMSkpCiAjZWxzZQogI2RlZmlu ZSByZWxwdHJfYWNjZXNzKGJhc2UsIHJwKSBcCkBAIC02OCwxMCArNjgsMTAgQEAgcmVscHRyX3N0 b3JlX2V2YWwoY2hhciAqYmFzZSwgY2hhciAqdmFsKQogCX0KIH0KIAotI2lmZGVmIEhBVkVfVFlQ RU9GCisjaWZkZWYgcGdfZXhwcnR5cGUKICNkZWZpbmUgcmVscHRyX3N0b3JlKGJhc2UsIHJwLCB2 YWwpIFwKIAkoQXNzZXJ0VmFyaWFibGVJc09mVHlwZU1hY3JvKGJhc2UsIGNoYXIgKiksIFwKLQkg QXNzZXJ0VmFyaWFibGVJc09mVHlwZU1hY3JvKHZhbCwgdHlwZW9mKChycCkucmVscHRyX3R5cGUp KSwgXAorCSBBc3NlcnRWYXJpYWJsZUlzT2ZUeXBlTWFjcm8odmFsLCBwZ19leHBydHlwZSgocnAp LnJlbHB0cl90eXBlKSksIFwKIAkgKHJwKS5yZWxwdHJfb2ZmID0gcmVscHRyX3N0b3JlX2V2YWwo KGJhc2UpLCAoY2hhciAqKSAodmFsKSkpCiAjZWxzZQogI2RlZmluZSByZWxwdHJfc3RvcmUoYmFz ZSwgcnAsIHZhbCkgXAotLSAKMi41Mi4wCgo= --c5bd53d98fe370e6b9e32142d101f131292267fe8055fd6050ee6a3ddd75--