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 1vOCmj-00ETQm-14 for pgsql-www@arkaria.postgresql.org; Wed, 26 Nov 2025 10:30:06 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1vOCmg-00FYRV-0r for pgsql-www@arkaria.postgresql.org; Wed, 26 Nov 2025 10:30:02 +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 1vOCmf-00FYRN-2u for pgsql-www@lists.postgresql.org; Wed, 26 Nov 2025 10:30:02 +0000 Received: from mail-lf1-x136.google.com ([2a00:1450:4864:20::136]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1vOCme-001aV1-0A for pgsql-www@lists.postgresql.org; Wed, 26 Nov 2025 10:30:01 +0000 Received: by mail-lf1-x136.google.com with SMTP id 2adb3069b0e04-59431f57bf6so6988810e87.3 for ; Wed, 26 Nov 2025 02:29:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pgadmin.org; s=google; t=1764152998; x=1764757798; 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=qsLAjlpkRyzJH8MRGeHSmkiXFCsRXHwFkCPP7pB5kPs=; b=XfpoZiL3iAJdYVV0++CArq66U/EE4Lw8Thw3c21VBl0KxwTcVRQ87NbQYw3Ujjgjyp 5FA58btbXaqK7OJAfYr/N0ZGRH8kh8jzLlKqYQUZoLAb18mooek4Z+yREg8pPEBFLInd OCaoLwJUrGxURuJX1JrwwWqlOSIK46DR0Z0nQfAJp1grRUnBgwCrgSNOWYvDhrFqg4zS dQFi4z8Kqc16dBWp28/GCVBPOiu4lzJ3gnz+8OY9u+0tH7nzrgxiNXryiOQs60I4FtqU bQR6BkGgE8/GPNwv6sykrLHPAZ21+YDjPM0vUXkuQI4+F5X1u7C/ajhylXAJtOuxPF44 vmcw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764152998; x=1764757798; 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=qsLAjlpkRyzJH8MRGeHSmkiXFCsRXHwFkCPP7pB5kPs=; b=l0XP/mu3gXh0hrNhW94XUc7/ZEvM0hQ0ySOA5miWhNdiDHYf7gME/pNInE9MwnJ4Yh 9yGQNwkcFUHhvusb6rroZEZNmPm0zf5cPm41JLszziaYsUtwEgpfV22fEiq4/zes5g2w Pgg6gGAkuCgINKZQXRigGv8nc1ubctlrEq3H+aqUkUQkf1KrOB30+DOXxtkPWWOiCwAL pTBCkOnqGrmUu2DLnvY9qFLEe2sCUNPmKidx6TLeQGfL6x3cGrtqn4fE1Eyxfasew3T3 Us3xCD8FGaSCqE6YjQSnUeqLs4D/XdUm7BOkOzC2kHdLa8GCdTtIQB1Q69q2Y7SuTgp0 l9Lw== X-Forwarded-Encrypted: i=1; AJvYcCXnberbBSfV8Stcy+zdBVCVHTX1QuQh2lOyQQpfgNFGvlGf10kjt2DG/w7EMuiGEErN94RNs2jbZ7E=@lists.postgresql.org X-Gm-Message-State: AOJu0YwyxOI4MjsTPZOQtrJvCjinBPjdnD4KfUEOb0RB9gt8U5yv6qYt 1gX5sQD0AEphr3wVCj3XtPKtlndQjFzXgWqEtDV6bHy31Fp/sGwggyMrwK9d88rozHR1Ui0xI7u sv1WSNl5oz1jXsYUMziYbhY+98+DL79exbpNLWBnPnitiruV3Ok5xfkPli7c= X-Gm-Gg: ASbGnctRmZk1o6ZwkRbh3IIelyXUN5JM7FpoXahQRGbGJcuxXBcQzjdFuVlcAp6Z3Zv 02ZBCB5or+fWBOOJ67RrH+Z97Hra522MVFaOihmgC3wBq3U9FURGKWmbgVel1PFqseTN50xftgn yql9kWaE+n963vQ1lAFmrd3jp1h8ZO7DC0pOD2fK9DV7I/CzibGPzV/ng/ZQr7QxtWb11pfciMK uSYbB8IctmbcTb8eWXABW4d4MiFdnIlks6B6rRXtLE5n0QFNhpF0vJjvzpBviT0LlR6TFvJvQ== X-Google-Smtp-Source: AGHT+IGqXX1fd/okvydRQIWOzHgvm0BUoXWWFejj8UmawaJgq0gSSJBOLr76GlFZed8rv2aeTaHQkqjkzm0RvwNZOuE= X-Received: by 2002:a05:6512:3a82:b0:594:282d:f40c with SMTP id 2adb3069b0e04-596b5277be8mr2403344e87.31.1764152998100; Wed, 26 Nov 2025 02:29:58 -0800 (PST) MIME-Version: 1.0 References: <12c44268f1abcfe069e923e2b9cd14a6780fd29c.camel@gunduz.org> In-Reply-To: From: Dave Page Date: Wed, 26 Nov 2025 10:29:45 +0000 X-Gm-Features: AWmQ_bkDJ20FogJ3C1wkpuKwasSCJSnVJiRq-pd0NPOKYQy9Cbs3HaqixRxQdRs Message-ID: Subject: Re: RPM download page reports incorrect combinations To: =?UTF-8?B?RGV2cmltIEfDvG5kw7x6?= Cc: "Jonathan S. Katz" , Magnus Hagander , pgsql-www , sysadmins Content-Type: multipart/mixed; boundary="000000000000c82e4f06447ce07a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000c82e4f06447ce07a Content-Type: multipart/alternative; boundary="000000000000c82e4e06447ce078" --000000000000c82e4e06447ce078 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi On Wed, 1 Oct 2025 at 18:50, Devrim G=C3=BCnd=C3=BCz wr= ote: > Hi, > > On Thu, 2024-08-08 at 12:00 +0100, Dave Page wrote: > > > > > OK, so I finally got around to attempting to fix this. There are a > > number of issues to consider: > > > > Can someone please review this patch? Currently we claim that PostgreSQL > 18 is available on RHEL 6. > Here's an updated version of the patch, with some minor cleanup (const vs. var, missing semicolons etc). Given how long this has been awaiting review, I will commit it on Friday unless there are technical objections. I will also update the venv package that pginfra maintains to add rpmfile and zstandard. --=20 Dave Page pgAdmin: https://www.pgadmin.org PostgreSQL: https://www.postgresql.org pgEdge: https://www.pgedge.com --000000000000c82e4e06447ce078 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi

On Wed, 1 Oct 2025 at 18:50, = Devrim G=C3=BCnd=C3=BCz <devrim@gun= duz.org> wrote:
Hi,

On Thu, 2024-08-08 at 12:00 +0100, Dave Page wrote:
>

> OK, so I finally got around to attempting to fix this. There are a
> number of issues to consider:

<snip>

Can someone please review this patch? Currently we claim that PostgreSQL 18 is available on RHEL 6.

Here's a= n updated version of the patch, with some minor cleanup (const vs. var, mis= sing semicolons etc).

Given how long this has been= awaiting review, I will commit it on Friday unless there are technical obj= ections. I will also update the venv package that pginfra maintains to add = rpmfile and zstandard.
=C2=A0
--
--000000000000c82e4e06447ce078-- --000000000000c82e4f06447ce07a Content-Type: application/octet-stream; name="yum_version_support_v2.diff" Content-Disposition: attachment; filename="yum_version_support_v2.diff" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mifv2mh60 ZGlmZiAtLWdpdCBhL3JlcXVpcmVtZW50cy50eHQgYi9yZXF1aXJlbWVudHMudHh0CmluZGV4IDMy MDQyZDQyLi44NDAwMzdlZSAxMDA2NDQKLS0tIGEvcmVxdWlyZW1lbnRzLnR4dAorKysgYi9yZXF1 aXJlbWVudHMudHh0CkBAIC0xMCwzICsxMCw1IEBAIHB5bmxpbmVyPT0wLjguMAogQmFiZWw9PTIu Ni4wCiBibGVhY2g9PTMuMS40CiBQeVlBTUw9PTMuMTMKK3pzdGFuZGFyZD09MC4yMy4wCitycG1m aWxlPT0yLjEuMApkaWZmIC0tZ2l0IGEvdGVtcGxhdGVzL2Rvd25sb2Fkcy9qcy95dW0uanMgYi90 ZW1wbGF0ZXMvZG93bmxvYWRzL2pzL3l1bS5qcwppbmRleCBkZGNmZjJmZC4uNTc3ZGM2MTYgMTAw NjQ0Ci0tLSBhL3RlbXBsYXRlcy9kb3dubG9hZHMvanMveXVtLmpzCisrKyBiL3RlbXBsYXRlcy9k b3dubG9hZHMvanMveXVtLmpzCkBAIC01NSwxMTIgKzU1LDEzNSBAQCBmdW5jdGlvbiB1c2VzX3N5 c3RlbWQocGxhdCkgewogfQogCiBmdW5jdGlvbiBnZXRfcGxhdGZvcm1fdGV4dChwKSB7Ci0gICAg dmFyIGEgPSBwLnNwbGl0KCctJyk7CisgICAgY29uc3QgYSA9IHAuc3BsaXQoJy0nKTsKICAgICBy ZXR1cm4gZ2V0X3BsYXRmb3JtX25hbWUoYVswXSwgYVsxXSkgKyAnIHZlcnNpb24gJyArIGFbMV07 CiB9CiAKIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKLSAgIGZvciAodmFyIHAgaW4gc3Vw cG9ydGVkX3ZlcnNpb25zKSB7Ci0gICAgICB2YXIgb3B0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu dCgnb3B0aW9uJyk7Ci0gICAgICBvcHQudGV4dCA9IHN1cHBvcnRlZF92ZXJzaW9uc1twXTsKLSAg ICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2ZXJzaW9uJykuYWRkKG9wdCk7Ci0gICB9Ci0K LSAgIGxvYWRQbGF0Zm9ybXMoKTsKLSAgIGFyY2hDaGFuZ2VkKCk7CisgIGNvbnN0IHBsYXRib3gg PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGxhdGZvcm0nKTsKKyAgY29uc3QgcGxhdGtleXMg PSBPYmplY3Qua2V5cyhyZXBvZGF0YVsncGxhdGZvcm1zJ10pLnNvcnQoKTsKKworICBsZXQgb3B0 ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnb3B0aW9uJyk7CisgIG9wdC50ZXh0ID0gJyogU2Vs ZWN0IHlvdXIgcGxhdGZvcm0nOworICBvcHQudmFsdWUgPSAiLTEiOworICBwbGF0Ym94LmFkZChv cHQpOworCisgIGZvciAoY29uc3QgcHAgaW4gcGxhdGtleXMpIHsKKyAgICBvcHQgPSBkb2N1bWVu dC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsKKyAgICBvcHQudGV4dCA9IGdldF9wbGF0Zm9ybV90 ZXh0KHBsYXRrZXlzW3BwXSk7CisgICAgb3B0LnZhbHVlID0gcGxhdGtleXNbcHBdOworICAgIHBs YXRib3guYWRkKG9wdCk7CisgIH0KKworICBwbGF0Q2hhbmdlZCgpOwogfQogCi1mdW5jdGlvbiB2 ZXJDaGFuZ2VkKCkgewotICAgIC8qIEp1c3QgdXBkYXRlIGxpa2UgdGhlIGFyY2hpdGVjdHVyZSBj aGFuZ2VkICovCitmdW5jdGlvbiBwbGF0Q2hhbmdlZCgpIHsKKyAgY29uc3QgcGxhdCA9IGRvY3Vt ZW50LmdldEVsZW1lbnRCeUlkKCdwbGF0Zm9ybScpLnZhbHVlOworICBjb25zdCBhcmNoYm94ID0g ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2FyY2gnKTsKKworICB3aGlsZSAoYXJjaGJveC5vcHRp b25zLmxlbmd0aCA+IDApIHsKKyAgICBhcmNoYm94Lm9wdGlvbnMucmVtb3ZlKDApOworICB9CisK KyAgaWYgKCFwbGF0IHx8IHBsYXQgPT09ICItMSIpIHsKICAgICBhcmNoQ2hhbmdlZCgpOwotfQor ICAgIHJldHVybjsKKyAgfQogCi1mdW5jdGlvbiBsb2FkUGxhdGZvcm1zKCkgewotICAgdmFyIHBs YXRib3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGxhdGZvcm0nKTsKLQotICAgd2hpbGUg KHBsYXRib3gub3B0aW9ucy5sZW5ndGggPiAwKSB7Ci0gICAgICBwbGF0Ym94Lm9wdGlvbnMucmVt b3ZlKDApOwotICAgfQotICAgdmFyIG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlv bicpOwotICAgb3B0LnRleHQgPSAnKiBTZWxlY3QgeW91ciBwbGF0Zm9ybSc7Ci0gICBvcHQudmFs dWUgPSAtMTsKLSAgIHBsYXRib3guYWRkKG9wdCk7Ci0KLSAgIHBsYXRrZXlzID0gT2JqZWN0Lmtl eXMocmVwb2RhdGFbJ3BsYXRmb3JtcyddKS5zb3J0KCk7Ci0gICBmb3IgKHZhciBwcCBpbiBwbGF0 a2V5cykgewotICAgICAgdmFyIG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicp OwotICAgICAgb3B0LnRleHQgPSBnZXRfcGxhdGZvcm1fdGV4dChwbGF0a2V5c1twcF0pOwotICAg ICAgb3B0LnZhbHVlID0gcGxhdGtleXNbcHBdOwotICAgICAgcGxhdGJveC5hZGQob3B0KTsKLSAg IH0KLQotICAgcGxhdENoYW5nZWQoKTsKLX0KKyAgbGV0IG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVs ZW1lbnQoJ29wdGlvbicpOworICBvcHQudGV4dCA9ICcqIFNlbGVjdCB5b3VyIGFyY2hpdGVjdHVy ZSc7CisgIG9wdC52YWx1ZSA9ICItMSI7CisgIGFyY2hib3guYWRkKG9wdCk7CiAKLWZ1bmN0aW9u IHBsYXRDaGFuZ2VkKCkgewotICAgdmFyIHBsYXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn cGxhdGZvcm0nKS52YWx1ZTsKLSAgIHZhciBhcmNoYm94ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5 SWQoJ2FyY2gnKTsKKyAgZm9yIChjb25zdCBhIGluIHJlcG9kYXRhWydwbGF0Zm9ybXMnXVtwbGF0 XS5zb3J0KChhLCBiKSA9PiBhWydhcmNoJ10ubG9jYWxlQ29tcGFyZShiWydhcmNoJ10pKSkgewor ICAgIG9wdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ29wdGlvbicpOworICAgIG9wdC50ZXh0 ID0gb3B0LnZhbHVlID0gcmVwb2RhdGFbJ3BsYXRmb3JtcyddW3BsYXRdW2FdWydhcmNoJ107Cisg ICAgYXJjaGJveC5hZGQob3B0KTsKKyAgfQogCi0gICB3aGlsZSAoYXJjaGJveC5vcHRpb25zLmxl bmd0aCA+IDApIHsKLSAgICAgIGFyY2hib3gub3B0aW9ucy5yZW1vdmUoMCk7Ci0gICB9CisgIGFy Y2hDaGFuZ2VkKCk7Cit9CiAKLSAgIGlmIChwbGF0ID09IC0xKSB7Ci0gICAgICBhcmNoQ2hhbmdl ZCgpOwotICAgICAgcmV0dXJuOwotICAgfQorZnVuY3Rpb24gYXJjaENoYW5nZWQoKSB7CisgIGNv bnN0IHBsYXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncGxhdGZvcm0nKS52YWx1ZTsKKyAg Y29uc3QgYXJjaCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdhcmNoJykudmFsdWU7CisgIGNv bnN0IHZlcmJveCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2ZXJzaW9uJyk7CisKKyAgd2hp bGUgKHZlcmJveC5vcHRpb25zLmxlbmd0aCA+IDApIHsKKyAgICB2ZXJib3gub3B0aW9ucy5yZW1v dmUoMCk7CisgIH0KKworICBpZiAoIWFyY2ggfHwgYXJjaCA9PT0gIi0xIikgeworICAgIHZlckNo YW5nZWQoKTsKKyAgICByZXR1cm47CisgIH0KKworICBsZXQgb3B0ID0gZG9jdW1lbnQuY3JlYXRl RWxlbWVudCgnb3B0aW9uJyk7CisgIG9wdC50ZXh0ID0gJyogU2VsZWN0IHlvdXIgcmVxdWlyZWQg UG9zdGdyZVNRTCB2ZXJzaW9uJzsKKyAgb3B0LnZhbHVlID0gIi0xIjsKKyAgdmVyYm94LmFkZChv cHQpOworCisgIGxldCB2ZXJzaW9ucyA9IFtdOworICBmb3IgKGNvbnN0IGEgaW4gcmVwb2RhdGFb J3BsYXRmb3JtcyddW3BsYXRdKSB7CisgICAgaWYgKHJlcG9kYXRhWydwbGF0Zm9ybXMnXVtwbGF0 XVthXVsnYXJjaCddID09PSBhcmNoKSB7CisgICAgICB2ZXJzaW9ucyA9IHJlcG9kYXRhWydwbGF0 Zm9ybXMnXVtwbGF0XVthXVsndmVyc2lvbnMnXTsKKyAgICAgIGJyZWFrOworICAgIH0KKyAgfQog Ci0gICBmb3IgKGEgaW4gcmVwb2RhdGFbJ3BsYXRmb3JtcyddW3BsYXRdLnNvcnQoKS5yZXZlcnNl KCkpIHsKLSAgICAgIHZhciBvcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsK LSAgICAgIG9wdC50ZXh0ID0gb3B0LnZhbHVlID0gcmVwb2RhdGFbJ3BsYXRmb3JtcyddW3BsYXRd W2FdOwotICAgICAgYXJjaGJveC5hZGQob3B0KTsKLSAgIH0KKyAgZm9yIChjb25zdCBhIGluIHZl cnNpb25zLnNvcnQoKGEsIGIpID0+IHBhcnNlSW50KGEpIC0gcGFyc2VJbnQoYikpKSB7CisgICAg aWYgKHN1cHBvcnRlZF92ZXJzaW9ucy5pbmNsdWRlcyhwYXJzZUludCh2ZXJzaW9uc1thXSkpKSB7 CisgICAgICBvcHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdvcHRpb24nKTsKKyAgICAgIG9w dC50ZXh0ID0gb3B0LnZhbHVlID0gdmVyc2lvbnNbYV07CisgICAgICB2ZXJib3guYWRkKG9wdCk7 CisgICAgfQorICB9CiAKLSAgIGFyY2hDaGFuZ2VkKCk7CisgIHZlckNoYW5nZWQoKTsKIH0KIAot ZnVuY3Rpb24gYXJjaENoYW5nZWQoKSB7Ci0gICB2YXIgdmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoJ3ZlcnNpb24nKS52YWx1ZTsKLSAgIHZhciBwbGF0ID0gZG9jdW1lbnQuZ2V0RWxlbWVu dEJ5SWQoJ3BsYXRmb3JtJykudmFsdWU7Ci0gICB2YXIgYXJjaCA9IGRvY3VtZW50LmdldEVsZW1l bnRCeUlkKCdhcmNoJykudmFsdWU7Ci0gICB2YXIgc2NyaXB0Qm94ID0gZG9jdW1lbnQuZ2V0RWxl bWVudEJ5SWQoJ3NjcmlwdC1ib3gnKQotCi0gICBpZiAoIXBsYXQgfHwgcGxhdCA9PSAtMSkgewot ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvcHktYnRuJykuc3R5bGUuZGlzcGxheSA9 ICdub25lJzsKLSAgICAgIHNjcmlwdEJveC5pbm5lckhUTUwgPSAnU2VsZWN0IHZlcnNpb24gYW5k IHBsYXRmb3JtIGFib3ZlJzsKLSAgICAgIHJldHVybjsKLSAgIH0KLQotICAgdmFyIHBpbmZvID0g cmVwb2RhdGFbJ3BsYXRmb3JtcyddW3BsYXRdOwotICAgdmFyIHNob3J0dmVyID0gdmVyLnJlcGxh Y2UoJy4nLCAnJyk7Ci0KLSAgIHZhciB1cmwgPSAnaHR0cHM6Ly9kb3dubG9hZC5wb3N0Z3Jlc3Fs Lm9yZy9wdWIvcmVwb3MveXVtL3JlcG9ycG1zLycgKyBwbGF0ICsgJy0nICsgYXJjaCArICcvcGdk Zy0nICsgZ2V0X3JwbV9wcmVmaXgocGxhdCkgKyctcmVwby1sYXRlc3Qubm9hcmNoLnJwbSc7Ci0K LSAgIHZhciBpbnN0YWxsZXIgPSBnZXRfaW5zdGFsbGVyKHBsYXQpOwotICAgc2NyaXB0Qm94Lmlu bmVySFRNTCA9ICcjIEluc3RhbGwgdGhlIHJlcG9zaXRvcnkgUlBNOlxuJzsKLSAgIHNjcmlwdEJv eC5pbm5lckhUTUwgKz0gJ3N1ZG8gJyArIGluc3RhbGxlciArICcgaW5zdGFsbCAteSAnICsgdXJs ICsgJ1xuXG4nOwotCi0gICBpZiAoZGlzYWJsZV9tb2R1bGVfb24ocGxhdCkpIHsKLSAgICAgIHNj cmlwdEJveC5pbm5lckhUTUwgKz0gJyMgRGlzYWJsZSB0aGUgYnVpbHQtaW4gUG9zdGdyZVNRTCBt b2R1bGU6XG4nOwotICAgICAgc2NyaXB0Qm94LmlubmVySFRNTCArPSAnc3VkbyBkbmYgLXF5IG1v ZHVsZSBkaXNhYmxlIHBvc3RncmVzcWxcblxuJzsKLSAgIH0KLQotICAgc2NyaXB0Qm94LmlubmVy SFRNTCArPSAnIyBJbnN0YWxsIFBvc3RncmVTUUw6XG4nOwotICAgc2NyaXB0Qm94LmlubmVySFRN TCArPSAnc3VkbyAnICsgaW5zdGFsbGVyICsgJyBpbnN0YWxsIC15IHBvc3RncmVzcWwnICsgc2hv cnR2ZXIgKyAnLXNlcnZlclxuXG4nOwotCi0gICBzY3JpcHRCb3guaW5uZXJIVE1MICs9ICcjIE9w dGlvbmFsbHkgaW5pdGlhbGl6ZSB0aGUgZGF0YWJhc2UgYW5kIGVuYWJsZSBhdXRvbWF0aWMgc3Rh cnQ6XG4nOwotICAgaWYgKHVzZXNfc3lzdGVtZChwbGF0KSkgewotICAgICAgIHZhciBzZXR1cGNt ZCA9ICdwb3N0Z3Jlc3FsLScgKyBzaG9ydHZlciArICctc2V0dXAnOwotICAgICAgIGlmICh2ZXIg PCAxMCkgewotCSAgICAgICBzZXR1cGNtZCA9ICdwb3N0Z3Jlc3FsJyArIHNob3J0dmVyICsgJy1z ZXR1cCc7Ci0gICAgICAgfQotICAgICAgIHNjcmlwdEJveC5pbm5lckhUTUwgKz0gJ3N1ZG8gL3Vz ci9wZ3NxbC0nICsgdmVyICsgJy9iaW4vJyArIHNldHVwY21kICsgJyBpbml0ZGJcbnN1ZG8gc3lz dGVtY3RsIGVuYWJsZSBwb3N0Z3Jlc3FsLScgKyB2ZXIgKyAnXG5zdWRvIHN5c3RlbWN0bCBzdGFy dCBwb3N0Z3Jlc3FsLScgKyB2ZXI7Ci0gICB9Ci0gICBlbHNlIHsKLSAgICAgICBzY3JpcHRCb3gu aW5uZXJIVE1MICs9ICdzdWRvIHNlcnZpY2UgcG9zdGdyZXNxbC0nICsgdmVyICsgJyBpbml0ZGJc bnN1ZG8gY2hrY29uZmlnIHBvc3RncmVzcWwtJyArIHZlciArICcgb25cbnN1ZG8gc2VydmljZSBw b3N0Z3Jlc3FsLScgKyB2ZXIgKyAnIHN0YXJ0JzsKLSAgIH0KLQotICAgZG9jdW1lbnQuZ2V0RWxl bWVudEJ5SWQoJ2NvcHktYnRuJykuc3R5bGUuZGlzcGxheSA9ICdibG9jayc7CitmdW5jdGlvbiB2 ZXJDaGFuZ2VkKCkgeworICBjb25zdCB2ZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmVy c2lvbicpLnZhbHVlOworICBjb25zdCBwbGF0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Bs YXRmb3JtJykudmFsdWU7CisgIGNvbnN0IGFyY2ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn YXJjaCcpLnZhbHVlOworICBjb25zdCBzY3JpcHRCb3ggPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJ ZCgnc2NyaXB0LWJveCcpOworCisgIGlmICghdmVyIHx8IHZlciA9PT0gIi0xIikgeworICAgICBk b2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29weS1idG4nKS5zdHlsZS5kaXNwbGF5ID0gJ25vbmUn OworICAgICBzY3JpcHRCb3guaW5uZXJIVE1MID0gJ1NlbGVjdCBwbGF0Zm9ybSwgYXJjaGl0ZWN0 dXJlLCBhbmQgdmVyc2lvbiBhYm92ZSc7CisgICAgIHJldHVybjsKKyAgfQorCisgIGNvbnN0IHNo b3J0dmVyID0gdmVyLnJlcGxhY2UoJy4nLCAnJyk7CisKKyAgY29uc3QgdXJsID0gJ2h0dHBzOi8v ZG93bmxvYWQucG9zdGdyZXNxbC5vcmcvcHViL3JlcG9zL3l1bS9yZXBvcnBtcy8nICsgcGxhdCAr ICctJyArIGFyY2ggKyAnL3BnZGctJyArIGdldF9ycG1fcHJlZml4KHBsYXQpICsnLXJlcG8tbGF0 ZXN0Lm5vYXJjaC5ycG0nOworCisgIGNvbnN0IGluc3RhbGxlciA9IGdldF9pbnN0YWxsZXIocGxh dCk7CisgIHNjcmlwdEJveC5pbm5lckhUTUwgPSAnIyBJbnN0YWxsIHRoZSByZXBvc2l0b3J5IFJQ TTpcbic7CisgIHNjcmlwdEJveC5pbm5lckhUTUwgKz0gJ3N1ZG8gJyArIGluc3RhbGxlciArICcg aW5zdGFsbCAteSAnICsgdXJsICsgJ1xuXG4nOworCisgIGlmIChkaXNhYmxlX21vZHVsZV9vbihw bGF0KSkgeworICAgIHNjcmlwdEJveC5pbm5lckhUTUwgKz0gJyMgRGlzYWJsZSB0aGUgYnVpbHQt aW4gUG9zdGdyZVNRTCBtb2R1bGU6XG4nOworICAgIHNjcmlwdEJveC5pbm5lckhUTUwgKz0gJ3N1 ZG8gZG5mIC1xeSBtb2R1bGUgZGlzYWJsZSBwb3N0Z3Jlc3FsXG5cbic7CisgIH0KKworICBzY3Jp cHRCb3guaW5uZXJIVE1MICs9ICcjIEluc3RhbGwgUG9zdGdyZVNRTDpcbic7CisgIHNjcmlwdEJv eC5pbm5lckhUTUwgKz0gJ3N1ZG8gJyArIGluc3RhbGxlciArICcgaW5zdGFsbCAteSBwb3N0Z3Jl c3FsJyArIHNob3J0dmVyICsgJy1zZXJ2ZXJcblxuJzsKKworICBzY3JpcHRCb3guaW5uZXJIVE1M ICs9ICcjIE9wdGlvbmFsbHkgaW5pdGlhbGl6ZSB0aGUgZGF0YWJhc2UgYW5kIGVuYWJsZSBhdXRv bWF0aWMgc3RhcnQ6XG4nOworICBpZiAodXNlc19zeXN0ZW1kKHBsYXQpKSB7CisgICAgbGV0IHNl dHVwY21kID0gJ3Bvc3RncmVzcWwtJyArIHNob3J0dmVyICsgJy1zZXR1cCc7CisgICAgaWYgKHZl ciA8IDEwKSB7CisgICAgICBzZXR1cGNtZCA9ICdwb3N0Z3Jlc3FsJyArIHNob3J0dmVyICsgJy1z ZXR1cCc7CisgICAgfQorICAgIHNjcmlwdEJveC5pbm5lckhUTUwgKz0gJ3N1ZG8gL3Vzci9wZ3Nx bC0nICsgdmVyICsgJy9iaW4vJyArIHNldHVwY21kICsgJyBpbml0ZGJcbnN1ZG8gc3lzdGVtY3Rs IGVuYWJsZSBwb3N0Z3Jlc3FsLScgKyB2ZXIgKyAnXG5zdWRvIHN5c3RlbWN0bCBzdGFydCBwb3N0 Z3Jlc3FsLScgKyB2ZXI7CisgIH0KKyAgZWxzZSB7CisgICAgc2NyaXB0Qm94LmlubmVySFRNTCAr PSAnc3VkbyBzZXJ2aWNlIHBvc3RncmVzcWwtJyArIHZlciArICcgaW5pdGRiXG5zdWRvIGNoa2Nv bmZpZyBwb3N0Z3Jlc3FsLScgKyB2ZXIgKyAnIG9uXG5zdWRvIHNlcnZpY2UgcG9zdGdyZXNxbC0n ICsgdmVyICsgJyBzdGFydCc7CisgIH0KKworICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29w eS1idG4nKS5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJzsKIH0KIAogLyogRXZlbnQgaGFuZGxlcnMg Ki8KZGlmZiAtLWdpdCBhL3RlbXBsYXRlcy9wYWdlcy9kb3dubG9hZC9saW51eC9yZWRoYXQuaHRt bCBiL3RlbXBsYXRlcy9wYWdlcy9kb3dubG9hZC9saW51eC9yZWRoYXQuaHRtbAppbmRleCAzNjIz YmI1MC4uZTM1MmRjY2IgMTAwNjQ0Ci0tLSBhL3RlbXBsYXRlcy9wYWdlcy9kb3dubG9hZC9saW51 eC9yZWRoYXQuaHRtbAorKysgYi90ZW1wbGF0ZXMvcGFnZXMvZG93bmxvYWQvbGludXgvcmVkaGF0 Lmh0bWwKQEAgLTU0LDkgKzU0LDkgQEAgdXNpbmcgRmVkb3JhIGZvciBzZXJ2ZXIgZGVwbG95bWVu dHMuCiBUbyB1c2UgdGhlIFBvc3RncmVTUUwgWXVtIFJlcG9zaXRvcnksIGZvbGxvdyB0aGVzZSBz dGVwczoKIDwvcD4KIDxvbD4KLSAgPGxpPlNlbGVjdCB2ZXJzaW9uOiA8c2VsZWN0IGlkPSJ2ZXJz aW9uIiBjbGFzcz0iY3VzdG9tLXNlbGVjdCI+PC9zZWxlY3Q+PGJyLz48L2xpPgogICA8bGk+U2Vs ZWN0IHBsYXRmb3JtOiA8c2VsZWN0IGlkPSJwbGF0Zm9ybSIgY2xhc3M9ImN1c3RvbS1zZWxlY3Qi Pjwvc2VsZWN0PjwvbGk+CiAgIDxsaT5TZWxlY3QgYXJjaGl0ZWN0dXJlOiA8c2VsZWN0IGlkPSJh cmNoIiBjbGFzcz0iY3VzdG9tLXNlbGVjdCI+PC9zZWxlY3Q+PC9saT4KKyAgPGxpPlNlbGVjdCB2 ZXJzaW9uOiA8c2VsZWN0IGlkPSJ2ZXJzaW9uIiBjbGFzcz0iY3VzdG9tLXNlbGVjdCI+PC9zZWxl Y3Q+PGJyLz48L2xpPgogICA8bGk+Q29weSwgcGFzdGUgYW5kIHJ1biB0aGUgcmVsZXZhbnQgcGFy dHMgb2YgdGhlIHNldHVwIHNjcmlwdDoKICAgICA8ZGl2IGNsYXNzPSJwZy1zY3JpcHQtY29udGFp bmVyIj4KICAgICAgICAgPHByZSBpZD0ic2NyaXB0LWJveCIgY2xhc3M9ImNvZGUiPjwvcHJlPgpk aWZmIC0tZ2l0IGEvdG9vbHMvZnRwL3NwaWRlcl95dW0ucHkgYi90b29scy9mdHAvc3BpZGVyX3l1 bS5weQppbmRleCAyZGZhNTQzMS4uMzU0MmI2MzggMTAwNzU1Ci0tLSBhL3Rvb2xzL2Z0cC9zcGlk ZXJfeXVtLnB5CisrKyBiL3Rvb2xzL2Z0cC9zcGlkZXJfeXVtLnB5CkBAIC01LDEwICs1LDE0IEBA IGltcG9ydCBvcwogaW1wb3J0IHJlCiBpbXBvcnQganNvbgogaW1wb3J0IHJlcXVlc3RzCitpbXBv cnQgcnBtZmlsZQogZnJvbSBjb2xsZWN0aW9ucyBpbXBvcnQgZGVmYXVsdGRpY3QKIGZyb20gdGVt cGZpbGUgaW1wb3J0IE5hbWVkVGVtcG9yYXJ5RmlsZQogCiByZV9wbGF0Zm9ybWRpciA9IHJlLmNv bXBpbGUocideKFx3KyktKFxkKyktKFteLV0rKSQnKQorcmVfcmVwb3JwbSA9IHJlLmNvbXBpbGUo cidecGdkZy0oXHcrKS1yZXBvLWxhdGVzdC5ub2FyY2gucnBtJCcpCityZV9yZXBvZmlsZSA9IHJl LmNvbXBpbGUocideLi9ldGMveXVtLnJlcG9zLmQvcGdkZy0oW2EtekEtWjAtOV0rKS1hbGwucmVw byQnKQorcmVfcmVwb3NlY3Rpb24gPSByZS5jb21waWxlKHInXlxbcGdkZyhbMC05XVswLTldKV0k JykKIAogaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBwYXJzZXIgPSBhcmdwYXJzZS5B cmd1bWVudFBhcnNlcihkZXNjcmlwdGlvbj0iU3BpZGVyIHJlcG8gUlBNcyIpCkBAIC0yMSwxMCAr MjUsMjggQEAgaWYgX19uYW1lX18gPT0gIl9fbWFpbl9fIjoKICAgICBmb3IgcmVwb2RpciBpbiBv cy5saXN0ZGlyKCd7MH0vcmVwb3JwbXMnLmZvcm1hdChhcmdzLnl1bXJvb3QpKToKICAgICAgICAg bSA9IHJlX3BsYXRmb3JtZGlyLm1hdGNoKHJlcG9kaXIpCiAgICAgICAgIGlmIG06CisgICAgICAg ICAgICAjIEZpbmQgdGhlIGxhdGVzdCByZXBvIFJQTQorICAgICAgICAgICAgdmVyc2lvbnMgPSBb XQorICAgICAgICAgICAgcGF0aCA9ICd7MH0vcmVwb3JwbXMvezF9Jy5mb3JtYXQoYXJncy55dW1y b290LCByZXBvZGlyKQorICAgICAgICAgICAgZm9yIHJlcG9ycG0gaW4gb3MubGlzdGRpcihwYXRo KToKKyAgICAgICAgICAgICAgICBpZiByZV9yZXBvcnBtLm1hdGNoKHJlcG9ycG0pOgorICAgICAg ICAgICAgICAgICAgICB3aXRoIHJwbWZpbGUub3BlbignezB9L3sxfScuZm9ybWF0KHBhdGgsIHJl cG9ycG0pKSBhcyBycG06CisKKyAgICAgICAgICAgICAgICAgICAgICAgICMgRmluZCB0aGUgcmVw byBjb25maWcgZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgZm9yIG1lbWJlciBpbiBycG0u Z2V0bWVtYmVycygpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJlX3JlcG9maWxl Lm1hdGNoKG1lbWJlci5uYW1lKToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmQg PSBycG0uZXh0cmFjdGZpbGUobWVtYmVyLm5hbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlcG9zID0gc3RyKGZkLnJlYWQoKSkuc3BsaXQoJ1xcbicpCisKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIyBHZXQgdGhlIHN1cHBvcnRlZCB2ZXJzaW9ucworICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgcmVwbyBpbiByZXBvczoKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJlX3JlcG9zZWN0aW9uLm1hdGNoKHJlcG8pOgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb25zLmFwcGVuZChy ZV9yZXBvc2VjdGlvbi5tYXRjaChyZXBvKS5ncm91cCgxKSkKKwogICAgICAgICAgICAgcGxhdG5h bWUgPSBtLmdyb3VwKDEpCiAgICAgICAgICAgICBwbGF0dmVyID0gbS5ncm91cCgyKQogICAgICAg ICAgICAgYXJjaCA9IG0uZ3JvdXAoMykKLSAgICAgICAgICAgIHBsYXRmb3Jtc1snezB9LXsxfScu Zm9ybWF0KHBsYXRuYW1lLCBwbGF0dmVyKV0uYXBwZW5kKGFyY2gpCisgICAgICAgICAgICBwbGF0 Zm9ybXNbJ3swfS17MX0nLmZvcm1hdChwbGF0bmFtZSwgcGxhdHZlcildLmFwcGVuZCh7ImFyY2gi OiBhcmNoLCAidmVyc2lvbnMiOiB2ZXJzaW9uc30pCiAKICAgICBqID0ganNvbi5kdW1wcyh7J3Bs YXRmb3Jtcyc6IHBsYXRmb3Jtc30pCiAKQEAgLTQyLDcgKzY0LDcgQEAgaWYgX19uYW1lX18gPT0g Il9fbWFpbl9fIjoKICAgICAgICAgICAgIHN5cy5leGl0KDEpCiAKICAgICAgICAgaWYgci50ZXh0 ICE9ICJOT1QgQ0hBTkdFRCIgYW5kIHIudGV4dCAhPSAiT0siOgotICAgICAgICAgICAgcHJpbnQo IkZhaWxlZCB0byB1cGxvYWQ6ICVzIiAlIHgpCisgICAgICAgICAgICBwcmludCgiRmFpbGVkIHRv IHVwbG9hZDogJXMiICUgci50ZXh0KQogICAgICAgICAgICAgc3lzLmV4aXQoMSkKICAgICBlbHNl OgogICAgICAgICB3aXRoIE5hbWVkVGVtcG9yYXJ5RmlsZShtb2RlPSd3JywgZGlyPW9zLnBhdGgu ZGlybmFtZShvcy5wYXRoLmFic3BhdGgoYXJncy50YXJnZXQpKSkgYXMgZjoK --000000000000c82e4f06447ce07a--