From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Corwin Brust Newsgroups: gmane.emacs.bugs Subject: bug#65206: 29.1; [windows][patch] build-deps-zips.py is broken and hard to maintain Date: Thu, 10 Aug 2023 07:40:48 -0500 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000007f05ae060290e81e" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="22624"; mail-complaints-to="usenet@ciao.gmane.io" To: 65206@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Aug 10 14:42:21 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qU4zc-0005Z6-1q for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 10 Aug 2023 14:42:20 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qU4zN-0001Ha-I5; Thu, 10 Aug 2023 08:42:05 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qU4zL-0001HK-4R for bug-gnu-emacs@gnu.org; Thu, 10 Aug 2023 08:42:03 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qU4zK-0004La-Qa for bug-gnu-emacs@gnu.org; Thu, 10 Aug 2023 08:42:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1qU4zK-0000D8-Kl for bug-gnu-emacs@gnu.org; Thu, 10 Aug 2023 08:42:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Corwin Brust Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 10 Aug 2023 12:42:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 65206 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.1691671273741 (code B ref -1); Thu, 10 Aug 2023 12:42:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 10 Aug 2023 12:41:13 +0000 Original-Received: from localhost ([127.0.0.1]:41654 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU4yX-0000Bt-21 for submit@debbugs.gnu.org; Thu, 10 Aug 2023 08:41:13 -0400 Original-Received: from lists.gnu.org ([2001:470:142::17]:44664) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1qU4yT-0000Be-FA for submit@debbugs.gnu.org; Thu, 10 Aug 2023 08:41:11 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qU4yO-00016s-4C for bug-gnu-emacs@gnu.org; Thu, 10 Aug 2023 08:41:04 -0400 Original-Received: from mail-ot1-f44.google.com ([209.85.210.44]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qU4yL-000422-UM for bug-gnu-emacs@gnu.org; Thu, 10 Aug 2023 08:41:03 -0400 Original-Received: by mail-ot1-f44.google.com with SMTP id 46e09a7af769-6bca38a6618so784398a34.3 for ; Thu, 10 Aug 2023 05:41:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691671259; x=1692276059; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=LQhZyRu8o0PEvtFN1PFwJjG8KYT4uDaSTCjCWy7SnZQ=; b=Qgt9iRbn0sq0P52keEjXp29z+dN9Ktz4YGq+2x9QKxCCI5nXZeiDsnU2JmDQt6tqrP y+0saUrr7dsMxneG0xUZMDn5DjStmra5ukZ9nsGvp36vudxKPeKeiyFac7K9P91mRoex U3jJnPoXm9VrWPOYpUeIjnZRo9IyTIDfLj2NGy5zNUBz6pCk0VwrQu+XBrcB6/mizO+L RvA6AkAdxboFtxtgyjMKN2kxEUflOFQnVX8Am2ZCb4inaFeFOS8ItPmQv87FrfDQl0N/ gVsAw1lXcRv1W7QmH6P9qpYz87tyCX1G3B7zeTPktqWQ+XJqUQu3NlEzqMHg2U/mXDBM H5eg== X-Gm-Message-State: AOJu0Yy0pz8gXWEsuP0DLtyXbA6dDuFJ/WLyET8yUWLirYQOS+SvwWQl DVcxKzd9q1sB//VT003yc+z59P9LTo8W7olaQ0+SylCfImw= X-Google-Smtp-Source: AGHT+IHPdFB61Xcz927zlNI3a4qtcIAwKOiQMiXlp25kmRGuweQG5ify5hbNPLBVEbhZmTh7r2EZxx0MlZjRuQGle/k= X-Received: by 2002:a05:6830:607:b0:6bb:1036:67f2 with SMTP id w7-20020a056830060700b006bb103667f2mr2470905oti.6.1691671259439; Thu, 10 Aug 2023 05:40:59 -0700 (PDT) Received-SPF: pass client-ip=209.85.210.44; envelope-from=mplscorwin@gmail.com; helo=mail-ot1-f44.google.com X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.25, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:267127 Archived-At: --0000000000007f05ae060290e81e Content-Type: text/plain; charset="UTF-8" The script nt/admin/dist-build/build-deps-zips.py needs help. This is the script that I use to collect and package dependencies and sources for dependencies on Microsoft Windows, as part of releasing Emacs binaries for Windows. It is a python script that runs under MSYS2 MSYS console (not MinGW). Neither the version currently in the emacs-29 nor in the master branches will work for the given Emacs version without changes. The attached patch would make emacs-29 match what I am using locally. In addition to other changes, the patch reflects my current "transformation map" approach to deal with MSYS source package paths change, which seems to be happening quite a bit upstream. In case it may not be clear, my process is to run the script after updating local MSYS packages that are dependencies (optional or no), or edit and run it when Emacs' dependencies have changed. The patch reflects the script as I have been using it during the Emacs 29 release process. I'm sure there's general room for improvement (editing this script is literally my only python coding credit), I'm opening this bug report because bug#65188 (a packaging error preventing WEBP from working for people using the Windows binaries) has called attention to the importance of having additional eyes on build tooling (especially when it so far contains hard-coded lists of upstream deps). In GNU Emacs 29.1 (build 2, x86_64-w64-mingw32) of 2023-08-02 built on AVALON Windowing system distributor 'Microsoft Corp.', version 10.0.19045 System Description: Microsoft Windows 10 Home (v10.0.2009.19045.3324) Configured using: 'configure --with-modules --without-dbus --with-native-compilation=aot --without-compress-install --with-tree-sitter CFLAGS=-O2' Configured features: ACL GIF GMP GNUTLS HARFBUZZ JPEG JSON LCMS2 LIBXML2 MODULES NATIVE_COMP NOTIFY W32NOTIFY PDUMPER PNG RSVG SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XPM ZLIB Important settings: value of $LANG: ENU locale-coding-system: cp1252 Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t line-number-mode: t indent-tabs-mode: t transient-mark-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message mailcap yank-media puny dired dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068 epg-config gnus-util text-property-search time-date mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs comp comp-cstr warnings icons subr-x rx cl-seq cl-macs gv cl-extra help-mode bytecomp byte-compile cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils rmc iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic indonesian philippine cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs theme-loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget keymap hashtable-print-readable backquote threads w32notify w32 lcms2 multi-tty make-network-process native-compile emacs) Memory information: ((conses 16 80415 13861) (symbols 48 7175 0) (strings 32 21269 1764) (string-bytes 1 617449) (vectors 16 16398) (vector-slots 8 334731 15794) (floats 8 29 46) (intervals 56 238 0) (buffers 984 10)) --0000000000007f05ae060290e81e Content-Type: application/octet-stream; name="0001-Fix-Windows-build-dependancy-packaging-for-Emacs-29-.patch" Content-Disposition: attachment; filename="0001-Fix-Windows-build-dependancy-packaging-for-Emacs-29-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ll559pnv0 RnJvbSA5MzIzMjBjZGE0ZDc2MzNjYjQ4YmI4OTE2M2ZiOWNmNjJjNWUyMDhkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDb3J3aW4gQnJ1c3QgPGNvcndpbkBicnUuc3Q+CkRhdGU6IFRo dSwgMTAgQXVnIDIwMjMgMDc6MTk6NDEgLTA1MDAKU3ViamVjdDogW1BBVENIXSA7IEZpeCBXaW5k b3dzIGJ1aWxkIGRlcGVuZGFuY3kgcGFja2FnaW5nIGZvciBFbWFjcyAyOSBhbmQgMzAKCiogbnQv YWRtaW4vZGlzdC1idWlsZC9idWlsZC1kZXBzLXppcHMucHkgKHNjcmlwdCk6IGFkZCB3ZWJwLApY cG0sIFhwbS1ub1g0LCB0cmVlc2l0dGVyLCBhbmQgc3FsaXRlNCwgYnVtcCBFTUFDU19NQUpPUl9W RVJTSU9OLApyZW1vdmUgdW5uZWVkZWQgaW1wb3J0cywgY2hhbmdlIHZlbmRvciBzbHVnIGZyb20g bXN5czY0IHRvIG1pbmd3NjQsCnNraXAgc29tZSBhbmNpZW50IGNlcnRpZmljYXRlcywgYWRkIFNS Q19FWFQgdG8gbWFwIHRyYW5zZm9ybWF0aW9uCnNvdXJjZSBwYWNrYWdlIG5hbWUgdHJhbnNmb3Jt YXRpb25zIHZzIGhpc3RvcmljYWwgY29udmVudGlvbi4KLS0tCiBhZG1pbi9udC9kaXN0LWJ1aWxk L2J1aWxkLWRlcC16aXBzLnB5IHwgODQgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiAxIGZp bGUgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvYWRtaW4vbnQvZGlzdC1idWlsZC9idWlsZC1kZXAtemlwcy5weSBiL2FkbWluL250L2Rpc3Qt YnVpbGQvYnVpbGQtZGVwLXppcHMucHkKaW5kZXggNzExMDVhMDcxZWMuLmE3YzExNmQ5YjQxIDEw MDc1NQotLS0gYS9hZG1pbi9udC9kaXN0LWJ1aWxkL2J1aWxkLWRlcC16aXBzLnB5CisrKyBiL2Fk bWluL250L2Rpc3QtYnVpbGQvYnVpbGQtZGVwLXppcHMucHkKQEAgLTIwLDEzICsyMCwxMSBAQAog aW1wb3J0IG9zCiBpbXBvcnQgc2h1dGlsCiBpbXBvcnQgcmUKLWltcG9ydCBmdW5jdG9vbHMKLWlt cG9ydCBvcGVyYXRvcgogCiBmcm9tIHN1YnByb2Nlc3MgaW1wb3J0IGNoZWNrX291dHB1dAogCiAj IyBDb25zdGFudHMKLUVNQUNTX01BSk9SX1ZFUlNJT049IjI4IgorRU1BQ1NfTUFKT1JfVkVSU0lP Tj0iMjkiCiAKICMgVGhpcyBsaXN0IGRlcml2ZXMgZnJvbSB0aGUgZmVhdHVyZXMgd2Ugd2FudCBF bWFjcyB0byBjb21waWxlIHdpdGguCiBQS0dfUkVRPScnJ21pbmd3LXc2NC14ODZfNjQtZ2lmbGli CkBAIC0zNyw5ICszNSwxMyBAQAogbWluZ3ctdzY0LXg4Nl82NC1saWJqcGVnLXR1cmJvCiBtaW5n dy13NjQteDg2XzY0LWxpYnBuZwogbWluZ3ctdzY0LXg4Nl82NC1saWJyc3ZnCittaW5ndy13NjQt eDg2XzY0LWxpYndlYnAKIG1pbmd3LXc2NC14ODZfNjQtbGlidGlmZgogbWluZ3ctdzY0LXg4Nl82 NC1saWJ4bWwyCi1taW5ndy13NjQteDg2XzY0LXhwbS1ub3gnJycuc3BsaXQoKQorbWluZ3ctdzY0 LXg4Nl82NC1nbXAKK21pbmd3LXc2NC14ODZfNjQteHBtLW5veAorbWluZ3ctdzY0LXg4Nl82NC10 cmVlLXNpdHRlcgorbWluZ3ctdzY0LXg4Nl82NC1zcWxpdGUzJycnLnNwbGl0KCkKIAogRExMX1JF UT0nJydsaWJnaWYKIGxpYmdudXRscwpAQCAtNDksOSArNTEsMTQgQEAKIGxpYnR1cmJvanBlZwog bGlicG5nCiBsaWJyc3ZnCitsaWJ3ZWJwCiBsaWJ0aWZmCiBsaWJ4bWwKLWxpYlhwbScnJy5zcGxp dCgpCitsaWJnbXAKK2xpYlhwbQorbGliWHBtLW5vWDQKK2xpYnRyZWUtc2l0dGVyCitsaWJzcWxp dGUzLTAnJycuc3BsaXQoKQogCiAKICMjIE9wdGlvbnMKQEAgLTEwMyw3ICsxMTAsNyBAQCBkZWYg bnRsZGRfbXVuZ2Uob3V0KToKIAogICAgICAgICAjIyBpZiBpdCdzIHRoZSBmb3JtZXIsIHdlIHdh bnQgaXQsIGlmIGl0cyB0aGUgbGF0ZXIgd2UgZG9uJ3QKICAgICAgICAgc3BsdCA9IGRlcC5zcGxp dCgpCi0gICAgICAgIGlmIGxlbihzcGx0KSA+IDIgYW5kICJtc3lzNjQiIGluIHNwbHRbMl06Cisg ICAgICAgIGlmIGxlbihzcGx0KSA+IDIgYW5kICJtaW5ndzY0IiBpbiBzcGx0WzJdOgogICAgICAg ICAgICAgcHJpbnQoIkFkZGluZyBkZXAiLCBzcGx0WzBdKQogICAgICAgICAgICAgcnRuLmFwcGVu ZChzcGx0WzBdLnNwbGl0KCIuIilbMF0pCiAKQEAgLTExNCwyNiArMTIxLDQ1IEBAIGRlZiBudGxk ZF9tdW5nZShvdXQpOgogIyMgUGFja2FnZXMgdG8gZmlkZGxlIHdpdGgKICMjIFNvdXJjZSBmb3Ig Z2NjLWxpYnMgaXMgcGFydCBvZiBnY2MKIFNLSVBfU1JDX1BLR1M9WyJtaW5ndy13NjQtZ2NjLWxp YnMiXQotU0tJUF9ERVBfUEtHUz1mcm96ZW5zZXQoWyJtaW5ndy13NjQteDg2XzY0LWdsaWIyIl0p CitTS0lQX0RFUF9QS0dTPVsibWluZ3ctdzY0LWdsaWIyIiAibWluZ3ctdzY0LWNhLWNlcnRpZmlj YXRlcy0yMDIxMTAxNi0zIl0KIE1VTkdFX1NSQ19QS0dTPXsibWluZ3ctdzY0LWxpYndpbnB0aHJl YWQtZ2l0IjoibWluZ3ctdzY0LXdpbnB0aHJlYWRzLWdpdCJ9CiBNVU5HRV9ERVBfUEtHUz17CiAg ICAgIm1pbmd3LXc2NC14ODZfNjQtbGlid2lucHRocmVhZCI6Im1pbmd3LXc2NC14ODZfNjQtbGli d2lucHRocmVhZC1naXQiLAogICAgICJtaW5ndy13NjQteDg2XzY0LWxpYnRyZSI6ICJtaW5ndy13 NjQteDg2XzY0LWxpYnRyZS1naXQiLAogfQorU1JDX0VYVD17CisgICAgIm1pbmd3LXc2NC1mcmVl dHlwZSI6ICIuc3JjLnRhci56c3QiLAorICAgICJtaW5ndy13NjQtZnJpYmlkaSI6ICIuc3JjLnRh ci56c3QiLAorICAgICJtaW5ndy13NjQtZ2xpYjIiOiAiLnNyYy50YXIuenN0IiwKKyAgICAibWlu Z3ctdzY0LWhhcmZidXp6IjogIi5zcmMudGFyLnpzdCIsCisgICAgIm1pbmd3LXc2NC1saWJ1bmlz dHJpbmciOiAiLnNyYy50YXIuenN0IiwKKyAgICAibWluZ3ctdzY0LXdpbnB0aHJlYWRzLWdpdCI6 ICIuc3JjLnRhci56c3QiLAorICAgICJtaW5ndy13NjQtY2EtY2VydGlmaWNhdGVzIjogIi5zcmMu dGFyLnpzdCIsCisgICAgIm1pbmd3LXc2NC1saWJ4bWwyIjogIi5zcmMudGFyLnpzdCIsCisgICAg Im1pbmd3LXc2NC1uY3Vyc2VzIjogIi5zcmMudGFyLnpzdCIsCisgICAgIm1pbmd3LXc2NC1vcGVu c3NsIjogIi5zcmMudGFyLnpzdCIsCisgICAgIm1pbmd3LXc2NC1wYW5nbyI6ICIuc3JjLnRhci56 c3QiLAorICAgICJtaW5ndy13NjQtcHl0aG9uIjogIi5zcmMudGFyLnpzdCIsCisgICAgIm1pbmd3 LXc2NC1zcWxpdGUzIjogIi5zcmMudGFyLnpzdCIsCisgICAgIm1pbmd3LXc2NC14cG0tbm94Ijog Ii5zcmMudGFyLnpzdCIsCisgICAgIm1pbmd3LXc2NC14eiI6ICIuc3JjLnRhci56c3QiLAorfQog CiAjIyBDdXJyZW50bHkgbm8gcGFja2FnZXMgc2VlbSB0byByZXF1aXJlIHRoaXMhCiBBUkNIX1BL R1M9W10KIFNSQ19SRVBPPSJodHRwczovL3JlcG8ubXN5czIub3JnL21pbmd3L3NvdXJjZXMiCiAK IAotZGVmIGltbWVkaWF0ZV9kZXBzKHBrZ3MpOgotICAgIHBhY2thZ2VfaW5mbyA9IGNoZWNrX291 dHB1dChbInBhY21hbiIsICItU2kiXSArIHBrZ3MpLmRlY29kZSgidXRmLTgiKS5zcGxpdGxpbmVz KCkKK2RlZiBpbW1lZGlhdGVfZGVwcyhwa2cpOgorICAgIHBhY2thZ2VfaW5mbyA9IGNoZWNrX291 dHB1dChbInBhY21hbiIsICItU2kiLCBwa2ddKS5kZWNvZGUoInV0Zi04Iikuc3BsaXQoIlxuIikK KworICAgICMjIEV4dHJhY3QgdGhlICJEZXBlbmRzIE9uIiBsaW5lCisgICAgZGVwZW5kc19vbiA9 IFt4IGZvciB4IGluIHBhY2thZ2VfaW5mbyBpZiB4LnN0YXJ0c3dpdGgoIkRlcGVuZHMgT24iKV1b MF0KKyAgICAjIyBSZW1vdmUgIkRlcGVuZHMgT24iIHByZWZpeAorICAgIGRlcGVuZGVuY2llcyA9 IGRlcGVuZHNfb24uc3BsaXQoIjoiKVsxXQogCi0gICAgIyMgRXh0cmFjdCB0aGUgcGFja2FnZXMg bGlzdGVkIGZvciAiRGVwZW5kcyBPbjoiIGxpbmVzLgotICAgIGRlcGVuZGVuY2llcyA9IFtsaW5l LnNwbGl0KCI6IilbMV0uc3BsaXQoKSBmb3IgbGluZSBpbiBwYWNrYWdlX2luZm8KLSAgICAgICAg ICAgICAgICAgICAgaWYgbGluZS5zdGFydHN3aXRoKCJEZXBlbmRzIE9uIildCi0gICAgIyMgRmxh dHRlbiBkZXBlbmRlbmN5IGxpc3RzIGZyb20gbXVsdGlwbGUgcGFja2FnZXMgaW50byBvbmUgbGlz dC4KLSAgICBkZXBlbmRlbmNpZXMgPSBmdW5jdG9vbHMucmVkdWNlKG9wZXJhdG9yLmljb25jYXQs IGRlcGVuZGVuY2llcywgW10pCisgICAgIyMgU3BsaXQgaW50byBkZXBlbmRlbmNpZXMKKyAgICBk ZXBlbmRlbmNpZXMgPSBkZXBlbmRlbmNpZXMuc3RyaXAoKS5zcGxpdCgiICIpCiAKICAgICAjIyBS ZW1vdmUgPiBzaWducyBUT0RPIGNhbiB3ZSBnZXQgYW55IG90aGVyIHB1bmN0dWF0aW9uIGhlcmU/ CiAgICAgZGVwZW5kZW5jaWVzID0gW2Quc3BsaXQoIj4iKVswXSBmb3IgZCBpbiBkZXBlbmRlbmNp ZXMgaWYgZF0KQEAgLTE0OSwxOCArMTc1LDE2IEBAIGRlZiBleHRyYWN0X2RlcHMoKToKICAgICBw cmludCggIkV4dHJhY3RpbmcgZGVwcyIgKQogCiAgICAgIyBHZXQgYSBsaXN0IG9mIGFsbCBkZXBl bmRlbmNpZXMgbmVlZGVkIGZvciBwYWNrYWdlcyBtZW50aW9uZWQgYWJvdmUuCi0gICAgcGtncyA9 IHNldChQS0dfUkVRKQotICAgIG5ld2RlcHMgPSBwa2dzCi0gICAgcHJpbnQoImFkZGluZy4uLiIp Ci0gICAgd2hpbGUgVHJ1ZToKLSAgICAgICAgc3ViZGVwcyA9IGZyb3plbnNldChpbW1lZGlhdGVf ZGVwcyhsaXN0KG5ld2RlcHMpKSkKLSAgICAgICAgbmV3ZGVwcyA9IHN1YmRlcHMgLSBTS0lQX0RF UF9QS0dTIC0gcGtncwotICAgICAgICBpZiBub3QgbmV3ZGVwczoKLSAgICAgICAgICAgIGJyZWFr Ci0gICAgICAgIHByaW50KCdcbicuam9pbihuZXdkZXBzKSkKLSAgICAgICAgcGtncyB8PSBuZXdk ZXBzCisgICAgcGtncyA9IFBLR19SRVFbOl0KKyAgICBuID0gMAorICAgIHdoaWxlIG4gPCBsZW4o cGtncyk6CisgICAgICAgIHN1YmRlcHMgPSBpbW1lZGlhdGVfZGVwcyhwa2dzW25dKQorICAgICAg ICBmb3IgcCBpbiBzdWJkZXBzOgorICAgICAgICAgICAgaWYgbm90IChwIGluIHBrZ3Mgb3IgcCBp biBTS0lQX0RFUF9QS0dTKToKKyAgICAgICAgICAgICAgICBwa2dzLmFwcGVuZChwKQorICAgICAg ICBuID0gbiArIDEKIAotICAgIHJldHVybiBsaXN0KHBrZ3MpCisgICAgcmV0dXJuIHNvcnRlZChw a2dzKQogCiAKIGRlZiBkb3dubG9hZF9zb3VyY2UodGFyYmFsbCk6CkBAIC0yMDgsNyArMjMyLDEz IEBAIGRlZiBnYXRoZXJfc291cmNlKGRlcHMpOgogICAgICAgICAjIyBTd2l0Y2ggbmFtZXMgaWYg bmVjZXNzYXJ5CiAgICAgICAgIHBrZ19uYW1lID0gTVVOR0VfU1JDX1BLR1MuZ2V0KHBrZ19uYW1l LHBrZ19uYW1lKQogCi0gICAgICAgIHRhcmJhbGwgPSAie30te30uc3JjLnRhci5neiIuZm9ybWF0 KHBrZ19uYW1lLHBrZ192ZXJzaW9uKQorICAgICAgICAjIyBzcmMgYXJjaGl2ZSBpcyB1c3VhbGx5 IGEgLnRhci5negorICAgICAgICBpZiBwa2dfbmFtZSBpbiBTUkNfRVhULmtleXMoKToKKyAgICAg ICAgICAgIHNyY19leHQgPSBTUkNfRVhUW3BrZ19uYW1lXQorICAgICAgICBlbHNlOgorICAgICAg ICAgICAgc3JjX2V4dCA9ICIuc3JjLnRhci5neiIKKworICAgICAgICB0YXJiYWxsID0gInt9LXt9 e30iLmZvcm1hdChwa2dfbmFtZSxwa2dfdmVyc2lvbixzcmNfZXh0KQogCiAgICAgICAgIGRvd25s b2FkX3NvdXJjZSh0YXJiYWxsKQogCkBAIC0yNTcsNyArMjg3LDcgQEAgZGVmIGNsZWFuKCk6CiAK IGlmKCBhcmdzLmwgKToKICAgICBwcmludCgiTGlzdCBvZiBkZXBlbmRlbmNpZXMiKQotICAgIHBy aW50KCBkZXBzICkKKyAgICBwcmludCggZXh0cmFjdF9kZXBzKCkgKQogICAgIGV4aXQoMCkKIAog aWYgYXJncy5zOgotLSAKMi40MS4wLndpbmRvd3MuMQoK --0000000000007f05ae060290e81e--