GNU bug report logs - #46668
[PATCH]: tests: do not hard code HTTP ports

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: guix-patches; Reported by: Maxime Devos <maximedevos@HIDDEN>; Keywords: patch; dated Sat, 20 Feb 2021 22:02:02 UTC; Maintainer for guix-patches is guix-patches@HIDDEN.

Message received at 46668 <at> debbugs.gnu.org:


Received: (at 46668) by debbugs.gnu.org; 1 Mar 2021 15:46:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Mar 01 10:46:43 2021
Received: from localhost ([127.0.0.1]:50486 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lGkks-0000SS-Jd
	for submit <at> debbugs.gnu.org; Mon, 01 Mar 2021 10:46:43 -0500
Received: from eggs.gnu.org ([209.51.188.92]:46986)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1lGkkq-0000N0-LD
 for 46668 <at> debbugs.gnu.org; Mon, 01 Mar 2021 10:46:41 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:47381)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>)
 id 1lGkkk-00006b-Cw; Mon, 01 Mar 2021 10:46:34 -0500
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=55314 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1lGkkj-0001cu-1A; Mon, 01 Mar 2021 10:46:34 -0500
From: =?utf-8?Q?Ludovic_Court=C3=A8s?= <ludo@HIDDEN>
To: Maxime Devos <maximedevos@HIDDEN>
Subject: Re: bug#46668: [PATCH]: tests: do not hard code HTTP ports
References: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@HIDDEN>
Date: Mon, 01 Mar 2021 16:46:30 +0100
In-Reply-To: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@HIDDEN>
 (Maxime Devos's message of "Sat, 20 Feb 2021 23:00:30 +0100")
Message-ID: <87r1kyri5l.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 46668
Cc: 46668 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)

Hi Maxime,

Maxime Devos <maximedevos@HIDDEN> skribis:

> From 6a5ea1f1a9155e23e46a38577adf74527ba50b2c Mon Sep 17 00:00:00 2001
> From: Maxime Devos <maximedevos@HIDDEN>
> Date: Sat, 20 Feb 2021 22:04:59 +0100
> Subject: [PATCH] tests: do not hard code HTTP ports
>
> Previously, test cases could fail if some process was listening
> at a hard-coded port.  This patch eliminates most of these potential
> failures, by automatically assigning an unbound port.  This should
> allow for building multiple guix trees in parallel outside a build
> container, though this is currently untested.
>
> The test "home-page: Connection refused" in tests/lint.scm still
> hardcodes port 9999, however.
>
> * guix/tests/http.scm
>   (http-server-can-listen?): remove now unused procedure.
>   (%http-server-port): default to port 0, meaning the OS
>   will automatically choose a port.
>   (open-http-server-socket): remove the false statement claiming
>   this procedure is exported and also return the allocated port
>   number.
>   (%local-url): raise an error if the port is obviously unbound.
>   (call-with-http-server): set %http-server-port to the allocated
>   port while the thunk is called.
> * tests/derivations.scm: adjust test cases to use automatically
>   assign a port.  As there is no risk of a port conflict now,
>   do not make any tests conditional upon 'http-server-can-listen?'
>   anymore.
> * tests/elpa.scm: likewise.
> * tests/lint.scm: likewise, and add a TODO comment about a port
>   that is still hard-coded.
> * tests/texlive.scm: likewise.

Nice!

Some comments below.

> +  #:use-module (ice-9 receive)

Please use (srfi srfi-71) instead, or (srfi srfi-11).

> -(unless (http-server-can-listen?)
> -  (test-skip 1))
>  (test-assert "'download' built-in builder, check mode"
>    ;; Make sure rebuilding the 'builtin:download' derivation in check mode
>    ;; works.  See <http://bugs.gnu.org/25089>.
> -  (let* ((text (random-text))
> -         (drv (derivation %store "world"
> -                          "builtin:download" '()
> -                          #:env-vars `(("url"
> -                                        . ,(object->string (%local-url))=
))
> -                          #:hash-algo 'sha256
> -                          #:hash (gcrypt:sha256 (string->utf8 text)))))
> -    (and (with-http-server `((200 ,text))
> -           (build-derivations %store (list drv)))
> -         (with-http-server `((200 ,text))
> -           (build-derivations %store (list drv)
> -                              (build-mode check)))
> -         (string=3D? (call-with-input-file (derivation->output-path drv)
> -                     get-string-all)
> -                   text))))
> +  (let* ((text (random-text)))
> +    (with-http-server `((200 ,text))
> +      (let ((drv (derivation %store "world"
> +                             "builtin:download" '()
> +                             #:env-vars `(("url"
> +                                           . ,(object->string (%local-ur=
l))))
> +                             #:hash-algo 'sha256
> +                             #:hash (gcrypt:sha256 (string->utf8 text)))=
))
> +        (and drv (build-derivations %store (list drv))
> +             (with-http-server `((200 ,text))
> +               (build-derivations %store (list drv)
> +                                  (build-mode check)))
> +             (string=3D? (call-with-input-file (derivation->output-path =
drv)
> +                         get-string-all)
> +                       text))))))

This hunk shouldn=E2=80=99t be here.

> -(test-equal "home-page: Connection refused"
> -  "URI http://localhost:9999/foo/bar unreachable: Connection refused"
> -  (let ((pkg (package
> -               (inherit (dummy-package "x"))
> -               (home-page (%local-url)))))
> -    (single-lint-warning-message
> -     (check-home-page pkg))))
> +(parameterize ((%http-server-port 9999))
> +  ;; TODO skip this test if some process is currently listening at 9999
> +  (test-equal "home-page: Connection refused"
> +    "URI http://localhost:9999/foo/bar unreachable: Connection refused"
> +    (let ((pkg (package
> +                 (inherit (dummy-package "x"))
> +                 (home-page (%local-url)))))
> +      (single-lint-warning-message
> +       (check-home-page pkg)))))

Likewise.

> -(test-equal "home-page: 200 but short length"
> -  "URI http://localhost:9999/foo/bar returned suspiciously small file (1=
8 bytes)"
> -  (with-http-server `((200 "This is too small."))
> +(with-http-server `((200 "This is too small."))
> +  (test-equal "home-page: 200 but short length"
> +    (format #f "URI ~a returned suspiciously small file (18 bytes)"
> +            (%local-url))

Likewise.

> -(test-equal "home-page: 404"
> -  "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\=
")"
> -  (with-http-server `((404 ,%long-string))
> +(with-http-server `((404 ,%long-string))
> +  (test-equal "home-page: 404"
> +    (format #f "URI ~a not reachable: 404 (\"Such is life\")" (%local-ur=
l))

Likewise.

> -(test-equal "home-page: 301, invalid"
> -  "invalid permanent redirect from http://localhost:9999/foo/bar"
> -  (with-http-server `((301 ,%long-string))
> +(with-http-server `((301 ,%long-string))
> +  (test-equal "home-page: 301, invalid"
> +    (format #f "invalid permanent redirect from ~a" (%local-url))

Likewise.

> -(test-equal "home-page: 301 -> 200"
> -  "permanent redirect from http://localhost:10000/foo/bar to http://loca=
lhost:9999/foo/bar"
> -  (with-http-server `((200 ,%long-string))
> -    (let* ((initial-url (%local-url))
> -           (redirect    (build-response #:code 301
> -                                        #:headers
> -                                        `((location
> -                                           . ,(string->uri initial-url))=
))))
> -      (parameterize ((%http-server-port (+ 1 (%http-server-port))))
> -        (with-http-server `((,redirect ""))
> +(with-http-server `((200 ,%long-string))
> +  (let* ((initial-url (%local-url))
> +         (redirect (build-response #:code 301
> +                                   #:headers
> +                                   `((location
> +                                      . ,(string->uri initial-url))))))

Likewise.

> -(test-equal "home-page: 301 -> 404"
> -  "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life=
\")"
> -  (with-http-server '((404 "booh!"))
> -    (let* ((initial-url (%local-url))
> -           (redirect    (build-response #:code 301
> -                                        #:headers
> -                                        `((location
> -                                           . ,(string->uri initial-url))=
))))
> -      (parameterize ((%http-server-port (+ 1 (%http-server-port))))
> -        (with-http-server `((,redirect ""))
> +(with-http-server `((404 "booh!"))

Likewise.

> -(test-equal "source: 200 but short length"
> -  "URI http://localhost:9999/foo/bar returned suspiciously small file (1=
8 bytes)"
> -  (with-http-server '((200 "This is too small."))
> +(with-http-server '((200 "This is too small."))
> +  (test-equal "source: 200 but short length"
> +    (format #f "URI ~a returned suspiciously small file (18 bytes)"
> +            (%local-url))

Likewise.

> -(test-equal "source: 404"
> -  "URI http://localhost:9999/foo/bar not reachable: 404 (\"Such is life\=
")"
> -  (with-http-server `((404 ,%long-string))
> +(with-http-server `((404 ,%long-string))
> +  (test-equal "source: 404"
> +    (format #f "URI ~a not reachable: 404 (\"Such is life\")"
> +            (%local-url))

Likewise.

> -(test-equal "source: 301 -> 200"
> -  "permanent redirect from http://localhost:10000/foo/bar to http://loca=
lhost:9999/foo/bar"
> -  (with-http-server `((200 ,%long-string))
> -    (let* ((initial-url (%local-url))
> -           (redirect    (build-response #:code 301
> -                                        #:headers
> -                                        `((location
> -                                           . ,(string->uri initial-url))=
))))
> -      (parameterize ((%http-server-port (+ 1 (%http-server-port))))
> -        (with-http-server `((,redirect ""))
> +(with-http-server `((200 ,%long-string))

Likewise.

> -(test-equal "source, git-reference: 301 -> 200"
> -  "permanent redirect from http://localhost:10000/foo/bar to http://loca=
lhost:9999/foo/bar"
> -  (with-http-server `((200 ,%long-string))
> -    (let* ((initial-url (%local-url))
> -           (redirect    (build-response #:code 301
> -                                        #:headers
> -                                        `((location
> -                                           . ,(string->uri initial-url))=
))))
> -      (parameterize ((%http-server-port (+ 1 (%http-server-port))))
> -        (with-http-server `((,redirect ""))
> +(with-http-server `((200 ,%long-string))

Likewise.

> -(test-equal "source: 301 -> 404"
> -  "URI http://localhost:10000/foo/bar not reachable: 404 (\"Such is life=
\")"
> -  (with-http-server '((404 "booh!"))
> -    (let* ((initial-url (%local-url))
> -           (redirect    (build-response #:code 301
> -                                        #:headers
> -                                        `((location
> -                                           . ,(string->uri initial-url))=
))))
> -      (parameterize ((%http-server-port (+ 1 (%http-server-port))))
> -        (with-http-server `((,redirect ""))
> +(with-http-server '((404 "booh!"))

Likewise.

Could you send an updated patch?

Thanks!

Ludo=E2=80=99.




Information forwarded to guix-patches@HIDDEN:
bug#46668; Package guix-patches. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 20 Feb 2021 22:01:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Feb 20 17:01:08 2021
Received: from localhost ([127.0.0.1]:53036 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1lDaJH-0007WB-Jc
	for submit <at> debbugs.gnu.org; Sat, 20 Feb 2021 17:01:08 -0500
Received: from lists.gnu.org ([209.51.188.17]:59690)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <maximedevos@HIDDEN>) id 1lDaJE-0007W2-HZ
 for submit <at> debbugs.gnu.org; Sat, 20 Feb 2021 17:01:06 -0500
Received: from eggs.gnu.org ([2001:470:142:3::10]:45466)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <maximedevos@HIDDEN>)
 id 1lDaJD-0002kC-Ga
 for guix-patches@HIDDEN; Sat, 20 Feb 2021 17:01:04 -0500
Received: from xavier.telenet-ops.be ([2a02:1800:120:4::f00:14]:54034)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <maximedevos@HIDDEN>)
 id 1lDaJ9-0001WP-F1
 for guix-patches@HIDDEN; Sat, 20 Feb 2021 17:01:03 -0500
Received: from ptr-bvsjgyjmffd7q9timvx.18120a2.ip6.access.telenet.be
 ([IPv6:2a02:1811:8c09:9d00:aaf1:9810:a0b8:a55d])
 by xavier.telenet-ops.be with bizsmtp
 id Xa0l2400C0mfAB401a0m9t; Sat, 20 Feb 2021 23:00:46 +0100
Message-ID: <1728b9290c1b0e248b71c8b35623939853895a7f.camel@HIDDEN>
Subject: [PATCH]: tests: do not hard code HTTP ports
From: Maxime Devos <maximedevos@HIDDEN>
To: guix-patches@HIDDEN
Date: Sat, 20 Feb 2021 23:00:30 +0100
Content-Type: multipart/signed; micalg="pgp-sha256";
 protocol="application/pgp-signature"; boundary="=-Wur77PkwInOpVenpJAVX"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telenet.be; s=r21;
 t=1613858446; bh=rZIq8pQeUkeuXj56FRLGO6OJEXP0Hd99EFL7wfL1o4U=;
 h=Subject:From:To:Date;
 b=sO0GqKCKD0uSwn5CKoZN+xuHCQbkAtWjf7sQPKCsmM2AU87mu5AoPd/xYzKAwTIFn
 2nQu3mAhH3QgN4RzCHSmQQeOLU7Oo8EpG8rsNtRpHdB7P01e6BN4KefNY+7I7vwlTl
 b2PvEgOUlt2a6WU+liKeRo69V/KZovIs8yU6nRUe9D9ftSqLl7F6UUwmOvxPsFyKDE
 nsFllyGduOpd4vd/5GeVbqyvJzK18kGyO3I2JIVLYh2diFhVW/L8kw4p+6VY8d0h0N
 T4MsQ2V9RnfJYQy8/KiR0zHNq/OGvPv925KnQbu0+27Y46NaNbXSgGaQDiwe21u11b
 MTnPL4nJTOw1g==
Received-SPF: pass client-ip=2a02:1800:120:4::f00:14;
 envelope-from=maximedevos@HIDDEN; helo=xavier.telenet-ops.be
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: 0.5 (/)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)


--=-Wur77PkwInOpVenpJAVX
Content-Type: multipart/mixed; boundary="=-KT5nFCqXFfNhBilrQFpc"


--=-KT5nFCqXFfNhBilrQFpc
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi Guix,

I encountered a =E2=80=98Cannot listen to port: is bound=E2=80=99 error
or something like that when testing some changes to the
substituter.  I'm not sure yet what the cause is, but this
patch should eliminate some potential trouble, by not
hard-coding ports in tests that require a temporary http
server, and instead automatically assigning a free port.

Greetings,
Maxime

--=-KT5nFCqXFfNhBilrQFpc
Content-Disposition: attachment; filename="0001-tests-do-not-hard-code-HTTP-ports.patch"
Content-Transfer-Encoding: base64
Content-Type: text/x-patch; name="0001-tests-do-not-hard-code-HTTP-ports.patch";
	charset="UTF-8"

RnJvbSA2YTVlYTFmMWE5MTU1ZTIzZTQ2YTM4NTc3YWRmNzQ1MjdiYTUwYjJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXhpbWUgRGV2b3MgPG1heGltZWRldm9zQHRlbGVuZXQuYmU+
CkRhdGU6IFNhdCwgMjAgRmViIDIwMjEgMjI6MDQ6NTkgKzAxMDAKU3ViamVjdDogW1BBVENIXSB0
ZXN0czogZG8gbm90IGhhcmQgY29kZSBIVFRQIHBvcnRzCgpQcmV2aW91c2x5LCB0ZXN0IGNhc2Vz
IGNvdWxkIGZhaWwgaWYgc29tZSBwcm9jZXNzIHdhcyBsaXN0ZW5pbmcKYXQgYSBoYXJkLWNvZGVk
IHBvcnQuICBUaGlzIHBhdGNoIGVsaW1pbmF0ZXMgbW9zdCBvZiB0aGVzZSBwb3RlbnRpYWwKZmFp
bHVyZXMsIGJ5IGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGFuIHVuYm91bmQgcG9ydC4gIFRoaXMg
c2hvdWxkCmFsbG93IGZvciBidWlsZGluZyBtdWx0aXBsZSBndWl4IHRyZWVzIGluIHBhcmFsbGVs
IG91dHNpZGUgYSBidWlsZApjb250YWluZXIsIHRob3VnaCB0aGlzIGlzIGN1cnJlbnRseSB1bnRl
c3RlZC4KClRoZSB0ZXN0ICJob21lLXBhZ2U6IENvbm5lY3Rpb24gcmVmdXNlZCIgaW4gdGVzdHMv
bGludC5zY20gc3RpbGwKaGFyZGNvZGVzIHBvcnQgOTk5OSwgaG93ZXZlci4KCiogZ3VpeC90ZXN0
cy9odHRwLnNjbQogIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPyk6IHJlbW92ZSBub3cgdW51c2Vk
IHByb2NlZHVyZS4KICAoJWh0dHAtc2VydmVyLXBvcnQpOiBkZWZhdWx0IHRvIHBvcnQgMCwgbWVh
bmluZyB0aGUgT1MKICB3aWxsIGF1dG9tYXRpY2FsbHkgY2hvb3NlIGEgcG9ydC4KICAob3Blbi1o
dHRwLXNlcnZlci1zb2NrZXQpOiByZW1vdmUgdGhlIGZhbHNlIHN0YXRlbWVudCBjbGFpbWluZwog
IHRoaXMgcHJvY2VkdXJlIGlzIGV4cG9ydGVkIGFuZCBhbHNvIHJldHVybiB0aGUgYWxsb2NhdGVk
IHBvcnQKICBudW1iZXIuCiAgKCVsb2NhbC11cmwpOiByYWlzZSBhbiBlcnJvciBpZiB0aGUgcG9y
dCBpcyBvYnZpb3VzbHkgdW5ib3VuZC4KICAoY2FsbC13aXRoLWh0dHAtc2VydmVyKTogc2V0ICVo
dHRwLXNlcnZlci1wb3J0IHRvIHRoZSBhbGxvY2F0ZWQKICBwb3J0IHdoaWxlIHRoZSB0aHVuayBp
cyBjYWxsZWQuCiogdGVzdHMvZGVyaXZhdGlvbnMuc2NtOiBhZGp1c3QgdGVzdCBjYXNlcyB0byB1
c2UgYXV0b21hdGljYWxseQogIGFzc2lnbiBhIHBvcnQuICBBcyB0aGVyZSBpcyBubyByaXNrIG9m
IGEgcG9ydCBjb25mbGljdCBub3csCiAgZG8gbm90IG1ha2UgYW55IHRlc3RzIGNvbmRpdGlvbmFs
IHVwb24gJ2h0dHAtc2VydmVyLWNhbi1saXN0ZW4/JwogIGFueW1vcmUuCiogdGVzdHMvZWxwYS5z
Y206IGxpa2V3aXNlLgoqIHRlc3RzL2xpbnQuc2NtOiBsaWtld2lzZSwgYW5kIGFkZCBhIFRPRE8g
Y29tbWVudCBhYm91dCBhIHBvcnQKICB0aGF0IGlzIHN0aWxsIGhhcmQtY29kZWQuCiogdGVzdHMv
dGV4bGl2ZS5zY206IGxpa2V3aXNlLgotLS0KIGd1aXgvdGVzdHMvaHR0cC5zY20gICB8ICAzOSAr
KysrKy0tLS0KIHRlc3RzL2Rlcml2YXRpb25zLnNjbSB8ICA0MSArKysrLS0tLS0tCiB0ZXN0cy9l
bHBhLnNjbSAgICAgICAgfCAgIDMgLQogdGVzdHMvbGludC5zY20gICAgICAgIHwgMTc5ICsrKysr
KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogdGVzdHMvdGV4bGl2ZS5zY20g
ICAgIHwgICAzIC0KIDUgZmlsZXMgY2hhbmdlZCwgMTE5IGluc2VydGlvbnMoKyksIDE0NiBkZWxl
dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9ndWl4L3Rlc3RzL2h0dHAuc2NtIGIvZ3VpeC90ZXN0cy9o
dHRwLnNjbQppbmRleCA0MTE5ZTljZTAxLi40ZWU2MGU4ODY0IDEwMDY0NAotLS0gYS9ndWl4L3Rl
c3RzL2h0dHAuc2NtCisrKyBiL2d1aXgvdGVzdHMvaHR0cC5zY20KQEAgLTEsNSArMSw2IEBACiA7
OzsgR05VIEd1aXggLS0tIEZ1bmN0aW9uYWwgcGFja2FnZSBtYW5hZ2VtZW50IGZvciBHTlUKIDs7
OyBDb3B5cmlnaHQgwqkgMjAxNCwgMjAxNSwgMjAxNiwgMjAxNywgMjAxOSBMdWRvdmljIENvdXJ0
w6hzIDxsdWRvQGdudS5vcmc+Cis7OzsgQ29weXJpZ2h0IMKpIDIwMjEgTWF4aW1lIERldm9zIDxt
YXhpbWVkZXZvc0B0ZWxlbmV0LmJlPgogOzs7CiA7OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05V
IEd1aXguCiA7OzsKQEAgLTIzLDEwICsyNCwxMCBAQAogICAjOnVzZS1tb2R1bGUgKHdlYiByZXNw
b25zZSkKICAgIzp1c2UtbW9kdWxlIChzcmZpIHNyZmktMzkpCiAgICM6dXNlLW1vZHVsZSAoaWNl
LTkgbWF0Y2gpCisgICM6dXNlLW1vZHVsZSAoaWNlLTkgcmVjZWl2ZSkKICAgIzpleHBvcnQgKHdp
dGgtaHR0cC1zZXJ2ZXIKICAgICAgICAgICAgIGNhbGwtd2l0aC1odHRwLXNlcnZlcgogICAgICAg
ICAgICAgJWh0dHAtc2VydmVyLXBvcnQKLSAgICAgICAgICAgIGh0dHAtc2VydmVyLWNhbi1saXN0
ZW4/CiAgICAgICAgICAgICAlbG9jYWwtdXJsKSkKIAogOzs7IENvbW1lbnRhcnk6CkBAIC0zNywx
MiArMzgsMTMgQEAKIAogKGRlZmluZSAlaHR0cC1zZXJ2ZXItcG9ydAogICA7OyBUQ1AgcG9ydCB0
byB1c2UgZm9yIHRoZSBzdHViIEhUVFAgc2VydmVyLgotICAobWFrZS1wYXJhbWV0ZXIgOTk5OSkp
CisgIDs7IElmIDAsIHRoZSBPUyB3aWxsIGF1dG9tYXRpY2FsbHkgY2hvb3NlCisgIDs7IGEgcG9y
dC4KKyAgKG1ha2UtcGFyYW1ldGVyIDApKQogCiAoZGVmaW5lIChvcGVuLWh0dHAtc2VydmVyLXNv
Y2tldCkKLSAgIlJldHVybiBhIGxpc3RlbmluZyBzb2NrZXQgZm9yIHRoZSB3ZWIgc2VydmVyLiAg
SXQgaXMgdXNlZnVsIHRvIGV4cG9ydCBpdCBzbwotdGhhdCB0ZXN0cyBjYW4gY2hlY2sgd2hldGhl
ciB3ZSBzdWNjZWVkZWQgb3BlbmluZyB0aGUgc29ja2V0IGFuZCB0ZXN0cyBza2lwIGlmCi1uZWVk
ZWQuIgorICAiUmV0dXJuIGEgbGlzdGVuaW5nIHNvY2tldCBmb3IgdGhlIHdlYiBzZXJ2ZXIgYW5k
IHRoZSBwb3J0CithY3R1YWxseSBsaXN0ZW5lZCBhdCAoaW4gY2FzZSAlaHR0cC1zZXJ2ZXItcG9y
dCB3YXMgMCkuIgogICAoY2F0Y2ggJ3N5c3RlbS1lcnJvcgogICAgIChsYW1iZGEgKCkKICAgICAg
IChsZXQgKChzb2NrIChzb2NrZXQgUEZfSU5FVCBTT0NLX1NUUkVBTSAwKSkpCkBAIC01MCwyMiAr
NTIsMTggQEAgbmVlZGVkLiIKICAgICAgICAgKGJpbmQgc29jawogICAgICAgICAgICAgICAobWFr
ZS1zb2NrZXQtYWRkcmVzcyBBRl9JTkVUIElOQUREUl9MT09QQkFDSwogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAoJWh0dHAtc2VydmVyLXBvcnQpKSkKLSAgICAgICAgc29jaykp
CisgICAgICAgICh2YWx1ZXMgc29jaworICAgICAgICAgICAgICAgIChzb2NrYWRkcjpwb3J0IChn
ZXRzb2NrbmFtZSBzb2NrKSkpKSkKICAgICAobGFtYmRhIGFyZ3MKICAgICAgIChsZXQgKChlcnIg
KHN5c3RlbS1lcnJvci1lcnJubyBhcmdzKSkpCiAgICAgICAgIChmb3JtYXQgKGN1cnJlbnQtZXJy
b3ItcG9ydCkKICAgICAgICAgICAgICAgICAid2FybmluZzogY2Fubm90IHJ1biBXZWIgc2VydmVy
IGZvciB0ZXN0czogfmF+JSIKICAgICAgICAgICAgICAgICAoc3RyZXJyb3IgZXJyKSkKLSAgICAg
ICAgI2YpKSkpCi0KLShkZWZpbmUgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KQotICAiUmV0dXJu
ICN0IGlmIHdlIG1hbmFnZWQgdG8gb3BlbiBhIGxpc3RlbmluZyBzb2NrZXQuIgotICAoYW5kPT4g
KG9wZW4taHR0cC1zZXJ2ZXItc29ja2V0KQotICAgICAgICAgKGxhbWJkYSAoc29ja2V0KQotICAg
ICAgICAgICAoY2xvc2UtcG9ydCBzb2NrZXQpCi0gICAgICAgICAgICN0KSkpCisgICAgICAgICh2
YWx1ZXMgI2YgI2YpKSkpKQogCiAoZGVmaW5lKiAoJWxvY2FsLXVybCAjOm9wdGlvbmFsIChwb3J0
ICglaHR0cC1zZXJ2ZXItcG9ydCkpKQorICAod2hlbiAoPSBwb3J0IDApCisgICAgKGVycm9yICJu
byB3ZWIgc2VydmVyIGlzIHJ1bm5pbmchIikpCiAgIDs7IFVSTCB0byB1c2UgZm9yICdob21lLXBh
Z2UnIHRlc3RzLgogICAoc3RyaW5nLWFwcGVuZCAiaHR0cDovL2xvY2FsaG9zdDoiIChudW1iZXIt
PnN0cmluZyBwb3J0KQogICAgICAgICAgICAgICAgICAiL2Zvby9iYXIiKSkKQEAgLTczLDcgKzcx
LDEwIEBAIG5lZWRlZC4iCiAoZGVmaW5lKiAoY2FsbC13aXRoLWh0dHAtc2VydmVyIHJlc3BvbnNl
cytkYXRhIHRodW5rKQogICAiQ2FsbCBUSFVOSyB3aXRoIGFuIEhUVFAgc2VydmVyIHJ1bm5pbmcg
YW5kIHJldHVybmluZyBSRVNQT05TRVMrREFUQSBvbiBIVFRQCiByZXF1ZXN0cy4gIEVhY2ggZWxl
bWVudCBvZiBSRVNQT05TRVMrREFUQSBtdXN0IGJlIGEgdHVwbGUgY29udGFpbmluZyBhCi1yZXNw
b25zZSBhbmQgYSBzdHJpbmcsIG9yIGFuIEhUVFAgcmVzcG9uc2UgY29kZSBhbmQgYSBzdHJpbmcu
IgorcmVzcG9uc2UgYW5kIGEgc3RyaW5nLCBvciBhbiBIVFRQIHJlc3BvbnNlIGNvZGUgYW5kIGEg
c3RyaW5nLgorCislaHR0cC1zZXJ2ZXItcG9ydCB3aWxsIGJlIHNldCB0byB0aGUgcG9ydCBsaXN0
ZW5lZCBhdAorVGhlIHBvcnQgbGlzdGVuZWQgYXQgd2lsbCBiZSBzZXQgZm9yIHRoZSBkeW5hbWlj
IGV4dGVudCBvZiBUSFVOSy4iCiAgIChkZWZpbmUgcmVzcG9uc2VzCiAgICAgKG1hcCAobWF0Y2gt
bGFtYmRhCiAgICAgICAgICAgICgoKD8gcmVzcG9uc2U/IHJlc3BvbnNlKSBkYXRhKQpAQCAtMTAw
LDYgKzEwMSw3IEBAIHJlc3BvbnNlIGFuZCBhIHN0cmluZywgb3IgYW4gSFRUUCByZXNwb25zZSBj
b2RlIGFuZCBhIHN0cmluZy4iCiAgIDs7IE11dGV4IGFuZCBjb25kaXRpb24gdmFyaWFibGUgdG8g
c3luY2hyb25pemUgd2l0aCB0aGUgSFRUUCBzZXJ2ZXIuCiAgIChkZWZpbmUgJWh0dHAtc2VydmVy
LWxvY2sgKG1ha2UtbXV0ZXgpKQogICAoZGVmaW5lICVodHRwLXNlcnZlci1yZWFkeSAobWFrZS1j
b25kaXRpb24tdmFyaWFibGUpKQorICAoZGVmaW5lICVodHRwLXJlYWwtc2VydmVyLXBvcnQgI2Yp
CiAKICAgKGRlZmluZSAoaHR0cC1vcGVuIC4gYXJncykKICAgICAiU3RhcnQgbGlzdGVuaW5nIGZv
ciBIVFRQIHJlcXVlc3RzIGFuZCBzaWduYWwgJUhUVFAtU0VSVkVSLVJFQURZLiIKQEAgLTEyMiw3
ICsxMjQsOSBAQCByZXNwb25zZSBhbmQgYSBzdHJpbmcsIG9yIGFuIEhUVFAgcmVzcG9uc2UgY29k
ZSBhbmQgYSBzdHJpbmcuIgogICAgICAgICAgKHNldCEgcmVzcG9uc2VzIHJlc3QpCiAgICAgICAg
ICAodmFsdWVzIHJlc3BvbnNlIGRhdGEpKSkpCiAKLSAgICAobGV0ICgoc29ja2V0IChvcGVuLWh0
dHAtc2VydmVyLXNvY2tldCkpKQorICAgIChyZWNlaXZlIChzb2NrZXQgcG9ydCkKKyAgICAgICAg
KG9wZW4taHR0cC1zZXJ2ZXItc29ja2V0KQorICAgICAgKHNldCEgJWh0dHAtcmVhbC1zZXJ2ZXIt
cG9ydCBwb3J0KQogICAgICAgKGNhdGNoICdxdWl0CiAgICAgICAgIChsYW1iZGEgKCkKICAgICAg
ICAgICAocnVuLXNlcnZlciBoYW5kbGUgc3R1Yi1odHRwLXNlcnZlcgpAQCAtMTM0LDcgKzEzOCw4
IEBAIHJlc3BvbnNlIGFuZCBhIHN0cmluZywgb3IgYW4gSFRUUCByZXNwb25zZSBjb2RlIGFuZCBh
IHN0cmluZy4iCiAgICAgKGxldCAoKHNlcnZlciAobWFrZS10aHJlYWQgc2VydmVyLWJvZHkpKSkK
ICAgICAgICh3YWl0LWNvbmRpdGlvbi12YXJpYWJsZSAlaHR0cC1zZXJ2ZXItcmVhZHkgJWh0dHAt
c2VydmVyLWxvY2spCiAgICAgICA7OyBOb3JtYWxseSBTRVJWRVIgZXhpdHMgYXV0b21hdGljYWxs
eSBvbmNlIGl0IGhhcyByZWNlaXZlZCBhIHJlcXVlc3QuCi0gICAgICAodGh1bmspKSkpCisgICAg
ICAocGFyYW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgJWh0dHAtcmVhbC1zZXJ2ZXItcG9y
dCkpCisgICAgICAgICh0aHVuaykpKSkpCiAKIChkZWZpbmUtc3ludGF4IHdpdGgtaHR0cC1zZXJ2
ZXIKICAgKHN5bnRheC1ydWxlcyAoKQpkaWZmIC0tZ2l0IGEvdGVzdHMvZGVyaXZhdGlvbnMuc2Nt
IGIvdGVzdHMvZGVyaXZhdGlvbnMuc2NtCmluZGV4IDlmMTEwNGE4ODcuLmNkMTY1ZDFiZTYgMTAw
NjQ0Ci0tLSBhL3Rlc3RzL2Rlcml2YXRpb25zLnNjbQorKysgYi90ZXN0cy9kZXJpdmF0aW9ucy5z
Y20KQEAgLTc3LDkgKzc3LDYgQEAKICAgICAgICAgKGxhbWJkYSAoZTEgZTIpCiAgICAgICAgICAg
KHN0cmluZzw/IChjYXIgZTEpIChjYXIgZTIpKSkpKQogCi07OyBBdm9pZCBjb2xsaXNpb25zIHdp
dGggb3RoZXIgdGVzdHMuCi0oJWh0dHAtc2VydmVyLXBvcnQgMTA1MDApCi0KIAwKICh0ZXN0LWJl
Z2luICJkZXJpdmF0aW9ucyIpCiAKQEAgLTIwNSw4ICsyMDIsNiBAQAogICAgICAgKGJ1aWxkLWRl
cml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKQogICAgICAgI2YpKSkKIAotKHVubGVzcyAoaHR0
cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pCi0gICh0ZXN0LXNraXAgMSkpCiAodGVzdC1hc3NlcnQgIidk
b3dubG9hZCcgYnVpbHQtaW4gYnVpbGRlciIKICAgKGxldCAoKHRleHQgKHJhbmRvbS10ZXh0KSkp
CiAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx0ZXh0KSkKQEAgLTIyMSw4ICsyMTYsNiBA
QAogICAgICAgICAgICAgICAgICAgICAgICAgIGdldC1zdHJpbmctYWxsKQogICAgICAgICAgICAg
ICAgICAgICAgICB0ZXh0KSkpKSkpCiAKLSh1bmxlc3MgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/
KQotICAodGVzdC1za2lwIDEpKQogKHRlc3QtYXNzZXJ0ICInZG93bmxvYWQnIGJ1aWx0LWluIGJ1
aWxkZXIsIGludmFsaWQgaGFzaCIKICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICJoZWxsbywg
d29ybGQhIikpCiAgICAgKGxldCogKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJ3b3JsZCIKQEAg
LTIzNiw4ICsyMjksNiBAQAogICAgICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0
IGRydikpCiAgICAgICAgICNmKSkpKQogCi0odW5sZXNzIChodHRwLXNlcnZlci1jYW4tbGlzdGVu
PykKLSAgKHRlc3Qtc2tpcCAxKSkKICh0ZXN0LWFzc2VydCAiJ2Rvd25sb2FkJyBidWlsdC1pbiBi
dWlsZGVyLCBub3QgZm91bmQiCiAgICh3aXRoLWh0dHAtc2VydmVyICcoKDQwNCAibm90IGZvdW5k
IikpCiAgICAgKGxldCogKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJ3aWxsLW5ldmVyLWJlLWZv
dW5kIgpAQCAtMjYyLDI2ICsyNTMsMjQgQEAKICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3Rv
cmUgKGxpc3QgZHJ2KSkKICAgICAgICNmKSkpCiAKLSh1bmxlc3MgKGh0dHAtc2VydmVyLWNhbi1s
aXN0ZW4/KQotICAodGVzdC1za2lwIDEpKQogKHRlc3QtYXNzZXJ0ICInZG93bmxvYWQnIGJ1aWx0
LWluIGJ1aWxkZXIsIGNoZWNrIG1vZGUiCiAgIDs7IE1ha2Ugc3VyZSByZWJ1aWxkaW5nIHRoZSAn
YnVpbHRpbjpkb3dubG9hZCcgZGVyaXZhdGlvbiBpbiBjaGVjayBtb2RlCiAgIDs7IHdvcmtzLiAg
U2VlIDxodHRwOi8vYnVncy5nbnUub3JnLzI1MDg5Pi4KLSAgKGxldCogKCh0ZXh0IChyYW5kb20t
dGV4dCkpCi0gICAgICAgICAoZHJ2IChkZXJpdmF0aW9uICVzdG9yZSAid29ybGQiCi0gICAgICAg
ICAgICAgICAgICAgICAgICAgICJidWlsdGluOmRvd25sb2FkIiAnKCkKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgIzplbnYtdmFycyBgKCgidXJsIgotICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIC4gLChvYmplY3QtPnN0cmluZyAoJWxvY2FsLXVybCkpKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgICAgIzpoYXNoLWFsZ28gJ3NoYTI1NgotICAgICAgICAgICAgICAg
ICAgICAgICAgICAjOmhhc2ggKGdjcnlwdDpzaGEyNTYgKHN0cmluZy0+dXRmOCB0ZXh0KSkpKSkK
LSAgICAoYW5kICh3aXRoLWh0dHAtc2VydmVyIGAoKDIwMCAsdGV4dCkpCi0gICAgICAgICAgIChi
dWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KSkpCi0gICAgICAgICAod2l0aC1odHRw
LXNlcnZlciBgKCgyMDAgLHRleHQpKQotICAgICAgICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0
b3JlIChsaXN0IGRydikKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChidWlsZC1tb2Rl
IGNoZWNrKSkpCi0gICAgICAgICAoc3RyaW5nPT8gKGNhbGwtd2l0aC1pbnB1dC1maWxlIChkZXJp
dmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpCi0gICAgICAgICAgICAgICAgICAgICBnZXQtc3RyaW5n
LWFsbCkKLSAgICAgICAgICAgICAgICAgICB0ZXh0KSkpKQorICAobGV0KiAoKHRleHQgKHJhbmRv
bS10ZXh0KSkpCisgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx0ZXh0KSkKKyAgICAgIChs
ZXQgKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJ3b3JsZCIKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgImJ1aWx0aW46ZG93bmxvYWQiICcoKQorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAjOmVudi12YXJzIGAoKCJ1cmwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLiAsKG9iamVjdC0+c3RyaW5nICglbG9jYWwtdXJsKSkpKQorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAjOmhhc2gtYWxnbyAnc2hhMjU2CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICM6aGFzaCAoZ2NyeXB0OnNoYTI1NiAoc3RyaW5nLT51dGY4IHRleHQpKSkp
KQorICAgICAgICAoYW5kIGRydiAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGRydikp
CisgICAgICAgICAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx0ZXh0KSkKKyAgICAgICAg
ICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KQorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIChidWlsZC1tb2RlIGNoZWNrKSkpCisgICAgICAgICAgICAg
KHN0cmluZz0/IChjYWxsLXdpdGgtaW5wdXQtZmlsZSAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGgg
ZHJ2KQorICAgICAgICAgICAgICAgICAgICAgICAgIGdldC1zdHJpbmctYWxsKQorICAgICAgICAg
ICAgICAgICAgICAgICB0ZXh0KSkpKSkpCiAKICh0ZXN0LWVxdWFsICJkZXJpdmF0aW9uLW5hbWUi
CiAgICJmb28tMC4wIgpkaWZmIC0tZ2l0IGEvdGVzdHMvZWxwYS5zY20gYi90ZXN0cy9lbHBhLnNj
bQppbmRleCBhMDA4Y2Y5OTNjLi4wMWVmOTQ4YjJlIDEwMDY0NAotLS0gYS90ZXN0cy9lbHBhLnNj
bQorKysgYi90ZXN0cy9lbHBhLnNjbQpAQCAtNDAsOSArNDAsNiBAQAogICAgICAgICAgICAgIG5p
bCAiSW50ZWdyYXRlZCBlbnZpcm9ubWVudCBmb3IgKlRlWCoiIHRhcgogICAgICAgICAgICAgICgo
OnVybCAuICJodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXVjdGV4LyIpKV0pKSkKIAotOzsg
QXZvaWQgY29sbGlzaW9ucyB3aXRoIG90aGVyIHRlc3RzLgotKCVodHRwLXNlcnZlci1wb3J0IDEw
MzAwKQotCiAodGVzdC1iZWdpbiAiZWxwYSIpCiAKIChkZWZpbmUgKGV2YWwtdGVzdC13aXRoLWVs
cGEgcGtnKQpkaWZmIC0tZ2l0IGEvdGVzdHMvbGludC5zY20gYi90ZXN0cy9saW50LnNjbQppbmRl
eCA3YzI0NjExOTM0Li5iOTIwNTNmZDVmIDEwMDY0NAotLS0gYS90ZXN0cy9saW50LnNjbQorKysg
Yi90ZXN0cy9saW50LnNjbQpAQCAtNjIsNyArNjIsNiBAQAogOzsgVGVzdCB0aGUgbGludGVyLgog
CiA7OyBBdm9pZCBjb2xsaXNpb25zIHdpdGggb3RoZXIgdGVzdHMuCi0oJWh0dHAtc2VydmVyLXBv
cnQgOTk5OSkKIAogKGRlZmluZSAlbnVsbC1zaGEyNTYKICAgOzsgU0hBMjU2IG9mIHRoZSBlbXB0
eSBzdHJpbmcuCkBAIC01MDAsMTYgKzQ5OSwxNiBAQAogICAgICAgICAgICAgICAgKGhvbWUtcGFn
ZSAiaHR0cDovL2RvZXMtbm90LWV4aXN0IikpKSkKICAgICAod2FybmluZy1jb250YWlucz8gImRv
bWFpbiBub3QgZm91bmQiIChjaGVjay1ob21lLXBhZ2UgcGtnKSkpKQogCi0odGVzdC1za2lwIChp
ZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdl
OiBDb25uZWN0aW9uIHJlZnVzZWQiCi0gICJVUkkgaHR0cDovL2xvY2FsaG9zdDo5OTk5L2Zvby9i
YXIgdW5yZWFjaGFibGU6IENvbm5lY3Rpb24gcmVmdXNlZCIKLSAgKGxldCAoKHBrZyAocGFja2Fn
ZQotICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2thZ2UgIngiKSkKLSAgICAgICAg
ICAgICAgIChob21lLXBhZ2UgKCVsb2NhbC11cmwpKSkpKQotICAgIChzaW5nbGUtbGludC13YXJu
aW5nLW1lc3NhZ2UKLSAgICAgKGNoZWNrLWhvbWUtcGFnZSBwa2cpKSkpCisocGFyYW1ldGVyaXpl
ICgoJWh0dHAtc2VydmVyLXBvcnQgOTk5OSkpCisgIDs7IFRPRE8gc2tpcCB0aGlzIHRlc3QgaWYg
c29tZSBwcm9jZXNzIGlzIGN1cnJlbnRseSBsaXN0ZW5pbmcgYXQgOTk5OQorICAodGVzdC1lcXVh
bCAiaG9tZS1wYWdlOiBDb25uZWN0aW9uIHJlZnVzZWQiCisgICAgIlVSSSBodHRwOi8vbG9jYWxo
b3N0Ojk5OTkvZm9vL2JhciB1bnJlYWNoYWJsZTogQ29ubmVjdGlvbiByZWZ1c2VkIgorICAgIChs
ZXQgKChwa2cgKHBhY2thZ2UKKyAgICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2th
Z2UgIngiKSkKKyAgICAgICAgICAgICAgICAgKGhvbWUtcGFnZSAoJWxvY2FsLXVybCkpKSkpCisg
ICAgICAoc2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCisgICAgICAgKGNoZWNrLWhvbWUtcGFn
ZSBwa2cpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAg
MSkpCiAodGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAyMDAiCiAgICcoKQogICAod2l0aC1odHRwLXNl
cnZlciBgKCgyMDAgLCVsb25nLXN0cmluZykpCkBAIC01MTgsMTAgKzUxNywxMCBAQAogICAgICAg
ICAgICAgICAgICAoaG9tZS1wYWdlICglbG9jYWwtdXJsKSkpKSkKICAgICAgIChjaGVjay1ob21l
LXBhZ2UgcGtnKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8p
IDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAyMDAgYnV0IHNob3J0IGxlbmd0aCIKLSAg
IlVSSSBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciByZXR1cm5lZCBzdXNwaWNpb3VzbHkg
c21hbGwgZmlsZSAoMTggYnl0ZXMpIgotICAod2l0aC1odHRwLXNlcnZlciBgKCgyMDAgIlRoaXMg
aXMgdG9vIHNtYWxsLiIpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICJUaGlzIGlzIHRvbyBz
bWFsbC4iKSkKKyAgKHRlc3QtZXF1YWwgImhvbWUtcGFnZTogMjAwIGJ1dCBzaG9ydCBsZW5ndGgi
CisgICAgKGZvcm1hdCAjZiAiVVJJIH5hIHJldHVybmVkIHN1c3BpY2lvdXNseSBzbWFsbCBmaWxl
ICgxOCBieXRlcykiCisgICAgICAgICAgICAoJWxvY2FsLXVybCkpCiAgICAgKGxldCAoKHBrZyAo
cGFja2FnZQogICAgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIpKQog
ICAgICAgICAgICAgICAgICAoaG9tZS1wYWdlICglbG9jYWwtdXJsKSkpKSkKQEAgLTUyOSw1NCAr
NTI4LDUxIEBACiAgICAgICAoc2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCiAgICAgICAgKGNo
ZWNrLWhvbWUtcGFnZSBwa2cpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2Fu
LWxpc3Rlbj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiA0MDQiCi0gICJVUkkgaHR0
cDovL2xvY2FsaG9zdDo5OTk5L2Zvby9iYXIgbm90IHJlYWNoYWJsZTogNDA0IChcIlN1Y2ggaXMg
bGlmZVwiKSIKLSAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoNDA0ICwlbG9uZy1zdHJpbmcpKQorKHdp
dGgtaHR0cC1zZXJ2ZXIgYCgoNDA0ICwlbG9uZy1zdHJpbmcpKQorICAodGVzdC1lcXVhbCAiaG9t
ZS1wYWdlOiA0MDQiCisgICAgKGZvcm1hdCAjZiAiVVJJIH5hIG5vdCByZWFjaGFibGU6IDQwNCAo
XCJTdWNoIGlzIGxpZmVcIikiICglbG9jYWwtdXJsKSkKICAgICAobGV0ICgocGtnIChwYWNrYWdl
CiAgICAgICAgICAgICAgICAgIChpbmhlcml0IChkdW1teS1wYWNrYWdlICJ4IikpCiAgICAgICAg
ICAgICAgICAgIChob21lLXBhZ2UgKCVsb2NhbC11cmwpKSkpKQogICAgICAgKHNpbmdsZS1saW50
LXdhcm5pbmctbWVzc2FnZQogICAgICAgIChjaGVjay1ob21lLXBhZ2UgcGtnKSkpKSkKIAotKHRl
c3Qtc2tpcCAoaWYgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQotKHRlc3QtZXF1YWwg
ImhvbWUtcGFnZTogMzAxLCBpbnZhbGlkIgotICAiaW52YWxpZCBwZXJtYW5lbnQgcmVkaXJlY3Qg
ZnJvbSBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciIKLSAgKHdpdGgtaHR0cC1zZXJ2ZXIg
YCgoMzAxICwlbG9uZy1zdHJpbmcpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMzAxICwlbG9uZy1z
dHJpbmcpKQorICAodGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEsIGludmFsaWQiCisgICAgKGZv
cm1hdCAjZiAiaW52YWxpZCBwZXJtYW5lbnQgcmVkaXJlY3QgZnJvbSB+YSIgKCVsb2NhbC11cmwp
KQogICAgIChsZXQgKChwa2cgKHBhY2thZ2UKICAgICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1
bW15LXBhY2thZ2UgIngiKSkKICAgICAgICAgICAgICAgICAgKGhvbWUtcGFnZSAoJWxvY2FsLXVy
bCkpKSkpCiAgICAgICAoc2luZ2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCiAgICAgICAgKGNoZWNr
LWhvbWUtcGFnZSBwa2cpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxp
c3Rlbj8pIDAgMSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4gMjAwIgotICAicGVy
bWFuZW50IHJlZGlyZWN0IGZyb20gaHR0cDovL2xvY2FsaG9zdDoxMDAwMC9mb28vYmFyIHRvIGh0
dHA6Ly9sb2NhbGhvc3Q6OTk5OS9mb28vYmFyIgotICAod2l0aC1odHRwLXNlcnZlciBgKCgyMDAg
LCVsb25nLXN0cmluZykpCi0gICAgKGxldCogKChpbml0aWFsLXVybCAoJWxvY2FsLXVybCkpCi0g
ICAgICAgICAgIChyZWRpcmVjdCAgICAoYnVpbGQtcmVzcG9uc2UgIzpjb2RlIDMwMQotICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6aGVhZGVycwotICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKGxvY2F0aW9uCi0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAsKHN0cmluZy0+dXJpIGluaXRpYWwtdXJsKSkp
KSkpCi0gICAgICAocGFyYW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgKCsgMSAoJWh0dHAt
c2VydmVyLXBvcnQpKSkpCi0gICAgICAgICh3aXRoLWh0dHAtc2VydmVyIGAoKCxyZWRpcmVjdCAi
IikpCisod2l0aC1odHRwLXNlcnZlciBgKCgyMDAgLCVsb25nLXN0cmluZykpCisgIChsZXQqICgo
aW5pdGlhbC11cmwgKCVsb2NhbC11cmwpKQorICAgICAgICAgKHJlZGlyZWN0IChidWlsZC1yZXNw
b25zZSAjOmNvZGUgMzAxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6aGVh
ZGVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChsb2NhdGlvbgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICwoc3RyaW5nLT51cmkgaW5pdGlh
bC11cmwpKSkpKSkKKyAgICAocGFyYW1ldGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgMCkpCisg
ICAgICAod2l0aC1odHRwLXNlcnZlciBgKCgscmVkaXJlY3QgIiIpKQorICAgICAgICAodGVzdC1l
cXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4gMjAwIgorICAgICAgICAgIChmb3JtYXQgI2YgInBlcm1h
bmVudCByZWRpcmVjdCBmcm9tIH5hIHRvIH5hIgorICAgICAgICAgICAgICAgICAgKCVsb2NhbC11
cmwpIGluaXRpYWwtdXJsKQogICAgICAgICAgIChsZXQgKChwa2cgKHBhY2thZ2UKICAgICAgICAg
ICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2thZ2UgIngiKSkKICAgICAgICAgICAg
ICAgICAgICAgICAgKGhvbWUtcGFnZSAoJWxvY2FsLXVybCkpKSkpCiAgICAgICAgICAgICAoc2lu
Z2xlLWxpbnQtd2FybmluZy1tZXNzYWdlCiAgICAgICAgICAgICAgKGNoZWNrLWhvbWUtcGFnZSBw
a2cpKSkpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAg
MSkpCi0odGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4gNDA0IgotICAiVVJJIGh0dHA6Ly9s
b2NhbGhvc3Q6MTAwMDAvZm9vL2JhciBub3QgcmVhY2hhYmxlOiA0MDQgKFwiU3VjaCBpcyBsaWZl
XCIpIgotICAod2l0aC1odHRwLXNlcnZlciAnKCg0MDQgImJvb2ghIikpCi0gICAgKGxldCogKChp
bml0aWFsLXVybCAoJWxvY2FsLXVybCkpCi0gICAgICAgICAgIChyZWRpcmVjdCAgICAoYnVpbGQt
cmVzcG9uc2UgIzpjb2RlIDMwMQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICM6aGVhZGVycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAo
KGxvY2F0aW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLiAs
KHN0cmluZy0+dXJpIGluaXRpYWwtdXJsKSkpKSkpCi0gICAgICAocGFyYW1ldGVyaXplICgoJWh0
dHAtc2VydmVyLXBvcnQgKCsgMSAoJWh0dHAtc2VydmVyLXBvcnQpKSkpCi0gICAgICAgICh3aXRo
LWh0dHAtc2VydmVyIGAoKCxyZWRpcmVjdCAiIikpCisod2l0aC1odHRwLXNlcnZlciBgKCg0MDQg
ImJvb2ghIikpCisgIChsZXQqICgoaW5pdGlhbC11cmwgKCVsb2NhbC11cmwpKQorICAgICAgICAg
KHJlZGlyZWN0ICAgIChidWlsZC1yZXNwb25zZSAjOmNvZGUgMzAxCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICM6aGVhZGVycworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBgKChsb2NhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAuICwoc3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKKyAgICAocGFyYW1l
dGVyaXplICgoJWh0dHAtc2VydmVyLXBvcnQgMCkpCisgICAgICAod2l0aC1odHRwLXNlcnZlciBg
KCgscmVkaXJlY3QgIiIpKQorICAgICAgICAodGVzdC1lcXVhbCAiaG9tZS1wYWdlOiAzMDEgLT4g
NDA0IgorICAgICAgICAgIChmb3JtYXQgI2YgIlVSSSB+YSBub3QgcmVhY2hhYmxlOiA0MDQgKFwi
U3VjaCBpcyBsaWZlXCIpIiAoJWxvY2FsLXVybCkpCiAgICAgICAgICAgKGxldCAoKHBrZyAocGFj
a2FnZQogICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIp
KQogICAgICAgICAgICAgICAgICAgICAgICAoaG9tZS1wYWdlICglbG9jYWwtdXJsKSkpKSkKQEAg
LTcwNiw3ICs3MDIsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzaGEyNTYg
JW51bGwtc2hhMjU2KSkpKSkpCiAgICAgKGNoZWNrLXNvdXJjZS11bnN0YWJsZS10YXJiYWxsIHBr
ZykpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAo
dGVzdC1lcXVhbCAic291cmNlOiAyMDAiCiAgICcoKQogICAod2l0aC1odHRwLXNlcnZlciBgKCgy
MDAgLCVsb25nLXN0cmluZykpCkBAIC03MTgsMTAgKzcxMywxMCBAQAogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKHNoYTI1NiAlbnVsbC1zaGEyNTYpKSkpKSkKICAgICAgIChjaGVjay1zb3Vy
Y2UgcGtnKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAg
MSkpCi0odGVzdC1lcXVhbCAic291cmNlOiAyMDAgYnV0IHNob3J0IGxlbmd0aCIKLSAgIlVSSSBo
dHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciByZXR1cm5lZCBzdXNwaWNpb3VzbHkgc21hbGwg
ZmlsZSAoMTggYnl0ZXMpIgotICAod2l0aC1odHRwLXNlcnZlciAnKCgyMDAgIlRoaXMgaXMgdG9v
IHNtYWxsLiIpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgJygoMjAwICJUaGlzIGlzIHRvbyBzbWFsbC4i
KSkKKyAgKHRlc3QtZXF1YWwgInNvdXJjZTogMjAwIGJ1dCBzaG9ydCBsZW5ndGgiCisgICAgKGZv
cm1hdCAjZiAiVVJJIH5hIHJldHVybmVkIHN1c3BpY2lvdXNseSBzbWFsbCBmaWxlICgxOCBieXRl
cykiCisgICAgICAgICAgICAoJWxvY2FsLXVybCkpCiAgICAgKGxldCAoKHBrZyAocGFja2FnZQog
ICAgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIpKQogICAgICAgICAg
ICAgICAgICAoc291cmNlIChvcmlnaW4KQEAgLTczMywxMCArNzI4LDEwIEBACiAgICAgICAgICAg
KGFuZCAoPyBsaW50LXdhcm5pbmc/KSBzZWNvbmQtd2FybmluZykpCiAgICAgICAgICAobGludC13
YXJuaW5nLW1lc3NhZ2Ugc2Vjb25kLXdhcm5pbmcpKSkpKSkKIAotKHRlc3Qtc2tpcCAoaWYgKGh0
dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQotKHRlc3QtZXF1YWwgInNvdXJjZTogNDA0Igot
ICAiVVJJIGh0dHA6Ly9sb2NhbGhvc3Q6OTk5OS9mb28vYmFyIG5vdCByZWFjaGFibGU6IDQwNCAo
XCJTdWNoIGlzIGxpZmVcIikiCi0gICh3aXRoLWh0dHAtc2VydmVyIGAoKDQwNCAsJWxvbmctc3Ry
aW5nKSkKKyh3aXRoLWh0dHAtc2VydmVyIGAoKDQwNCAsJWxvbmctc3RyaW5nKSkKKyAgKHRlc3Qt
ZXF1YWwgInNvdXJjZTogNDA0IgorICAgIChmb3JtYXQgI2YgIlVSSSB+YSBub3QgcmVhY2hhYmxl
OiA0MDQgKFwiU3VjaCBpcyBsaWZlXCIpIgorICAgICAgICAgICAgKCVsb2NhbC11cmwpKQogICAg
IChsZXQgKChwa2cgKHBhY2thZ2UKICAgICAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBh
Y2thZ2UgIngiKSkKICAgICAgICAgICAgICAgICAgKHNvdXJjZSAob3JpZ2luCkBAIC03NDgsNyAr
NzQzLDYgQEAKICAgICAgICAgICAoYW5kICg/IGxpbnQtd2FybmluZz8pIHNlY29uZC13YXJuaW5n
KSkKICAgICAgICAgIChsaW50LXdhcm5pbmctbWVzc2FnZSBzZWNvbmQtd2FybmluZykpKSkpKQog
Ci0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAodGVzdC1l
cXVhbCAic291cmNlOiA0MDQgYW5kIDIwMCIKICAgJygpCiAgICh3aXRoLWh0dHAtc2VydmVyIGAo
KDQwNCAsJWxvbmctc3RyaW5nKSkKQEAgLTc2NSwxNyArNzU5LDE3IEBACiAgICAgICAgICAgICA7
OyBsaXN0LgogICAgICAgICAgICAgKGNoZWNrLXNvdXJjZSBwa2cpKSkpKSkpCiAKLSh0ZXN0LXNr
aXAgKGlmIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPykgMCAxKSkKLSh0ZXN0LWVxdWFsICJzb3Vy
Y2U6IDMwMSAtPiAyMDAiCi0gICJwZXJtYW5lbnQgcmVkaXJlY3QgZnJvbSBodHRwOi8vbG9jYWxo
b3N0OjEwMDAwL2Zvby9iYXIgdG8gaHR0cDovL2xvY2FsaG9zdDo5OTk5L2Zvby9iYXIiCi0gICh3
aXRoLWh0dHAtc2VydmVyIGAoKDIwMCAsJWxvbmctc3RyaW5nKSkKLSAgICAobGV0KiAoKGluaXRp
YWwtdXJsICglbG9jYWwtdXJsKSkKLSAgICAgICAgICAgKHJlZGlyZWN0ICAgIChidWlsZC1yZXNw
b25zZSAjOmNvZGUgMzAxCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IzpoZWFkZXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYCgobG9j
YXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuICwoc3Ry
aW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKLSAgICAgIChwYXJhbWV0ZXJpemUgKCglaHR0cC1z
ZXJ2ZXItcG9ydCAoKyAxICglaHR0cC1zZXJ2ZXItcG9ydCkpKSkKLSAgICAgICAgKHdpdGgtaHR0
cC1zZXJ2ZXIgYCgoLHJlZGlyZWN0ICIiKSkKKyh3aXRoLWh0dHAtc2VydmVyIGAoKDIwMCAsJWxv
bmctc3RyaW5nKSkKKyAgKGxldCogKChpbml0aWFsLXVybCAoJWxvY2FsLXVybCkpCisgICAgICAg
ICAocmVkaXJlY3QgICAgKGJ1aWxkLXJlc3BvbnNlICM6Y29kZSAzMDEKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIzpoZWFkZXJzCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGAoKGxvY2F0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIC4gLChzdHJpbmctPnVyaSBpbml0aWFsLXVybCkpKSkpKQorICAgIChwYXJh
bWV0ZXJpemUgKCglaHR0cC1zZXJ2ZXItcG9ydCAwKSkKKyAgICAgICh3aXRoLWh0dHAtc2VydmVy
IGAoKCxyZWRpcmVjdCAiIikpCisgICAgICAgICh0ZXN0LWVxdWFsICJzb3VyY2U6IDMwMSAtPiAy
MDAiCisgICAgICAgICAgKGZvcm1hdCAjZiAicGVybWFuZW50IHJlZGlyZWN0IGZyb20gfmEgdG8g
fmEiCisgICAgICAgICAgICAgICAgICAoJWxvY2FsLXVybCkgaW5pdGlhbC11cmwpCiAgICAgICAg
ICAgKGxldCAoKHBrZyAocGFja2FnZQogICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAo
ZHVtbXktcGFja2FnZSAieCIpKQogICAgICAgICAgICAgICAgICAgICAgICAoc291cmNlIChvcmln
aW4KQEAgLTc4NywxNyArNzgxLDE3IEBACiAgICAgICAgICAgICAgICAgKGFuZCAoPyBsaW50LXdh
cm5pbmc/KSBzZWNvbmQtd2FybmluZykpCiAgICAgICAgICAgICAgICAobGludC13YXJuaW5nLW1l
c3NhZ2Ugc2Vjb25kLXdhcm5pbmcpKSkpKSkpKSkKIAotKHRlc3Qtc2tpcCAoaWYgKGh0dHAtc2Vy
dmVyLWNhbi1saXN0ZW4/KSAwIDEpKQotKHRlc3QtZXF1YWwgInNvdXJjZSwgZ2l0LXJlZmVyZW5j
ZTogMzAxIC0+IDIwMCIKLSAgInBlcm1hbmVudCByZWRpcmVjdCBmcm9tIGh0dHA6Ly9sb2NhbGhv
c3Q6MTAwMDAvZm9vL2JhciB0byBodHRwOi8vbG9jYWxob3N0Ojk5OTkvZm9vL2JhciIKLSAgKHdp
dGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICwlbG9uZy1zdHJpbmcpKQotICAgIChsZXQqICgoaW5pdGlh
bC11cmwgKCVsb2NhbC11cmwpKQotICAgICAgICAgICAocmVkaXJlY3QgICAgKGJ1aWxkLXJlc3Bv
bnNlICM6Y29kZSAzMDEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj
OmhlYWRlcnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChsb2Nh
dGlvbgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gLChzdHJp
bmctPnVyaSBpbml0aWFsLXVybCkpKSkpKQotICAgICAgKHBhcmFtZXRlcml6ZSAoKCVodHRwLXNl
cnZlci1wb3J0ICgrIDEgKCVodHRwLXNlcnZlci1wb3J0KSkpKQotICAgICAgICAod2l0aC1odHRw
LXNlcnZlciBgKCgscmVkaXJlY3QgIiIpKQorKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICwlbG9u
Zy1zdHJpbmcpKQorICAobGV0KiAoKGluaXRpYWwtdXJsICglbG9jYWwtdXJsKSkKKyAgICAgICAg
IChyZWRpcmVjdCAgICAoYnVpbGQtcmVzcG9uc2UgIzpjb2RlIDMwMQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAjOmhlYWRlcnMKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYCgobG9jYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgLiAsKHN0cmluZy0+dXJpIGluaXRpYWwtdXJsKSkpKSkpCisgICAgKHBhcmFt
ZXRlcml6ZSAoKCVodHRwLXNlcnZlci1wb3J0IDApKQorICAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIg
YCgoLHJlZGlyZWN0ICIiKSkKKyAgICAgICAgKHRlc3QtZXF1YWwgInNvdXJjZSwgZ2l0LXJlZmVy
ZW5jZTogMzAxIC0+IDIwMCIKKyAgICAgICAgICAoZm9ybWF0ICNmICJwZXJtYW5lbnQgcmVkaXJl
Y3QgZnJvbSB+YSB0byB+YSIKKyAgICAgICAgICAgICAgICAgICglbG9jYWwtdXJsKSBpbml0aWFs
LXVybCkKICAgICAgICAgICAobGV0ICgocGtnIChkdW1teS1wYWNrYWdlCiAgICAgICAgICAgICAg
ICAgICAgICAgIngiCiAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZSAob3JpZ2luCkBAIC04
MDcsMTcgKzgwMSwxNyBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hhMjU2
ICVudWxsLXNoYTI1NikpKSkpKQogICAgICAgICAgICAgKHNpbmdsZS1saW50LXdhcm5pbmctbWVz
c2FnZSAoY2hlY2stc291cmNlIHBrZykpKSkpKSkpCiAKLSh0ZXN0LXNraXAgKGlmIChodHRwLXNl
cnZlci1jYW4tbGlzdGVuPykgMCAxKSkKLSh0ZXN0LWVxdWFsICJzb3VyY2U6IDMwMSAtPiA0MDQi
Ci0gICJVUkkgaHR0cDovL2xvY2FsaG9zdDoxMDAwMC9mb28vYmFyIG5vdCByZWFjaGFibGU6IDQw
NCAoXCJTdWNoIGlzIGxpZmVcIikiCi0gICh3aXRoLWh0dHAtc2VydmVyICcoKDQwNCAiYm9vaCEi
KSkKLSAgICAobGV0KiAoKGluaXRpYWwtdXJsICglbG9jYWwtdXJsKSkKLSAgICAgICAgICAgKHJl
ZGlyZWN0ICAgIChidWlsZC1yZXNwb25zZSAjOmNvZGUgMzAxCi0gICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIzpoZWFkZXJzCi0gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgYCgobG9jYXRpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAuICwoc3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKLSAgICAgIChw
YXJhbWV0ZXJpemUgKCglaHR0cC1zZXJ2ZXItcG9ydCAoKyAxICglaHR0cC1zZXJ2ZXItcG9ydCkp
KSkKLSAgICAgICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoLHJlZGlyZWN0ICIiKSkKKyh3aXRoLWh0
dHAtc2VydmVyICcoKDQwNCAiYm9vaCEiKSkKKyAgKGxldCogKChpbml0aWFsLXVybCAoJWxvY2Fs
LXVybCkpCisgICAgICAgICAocmVkaXJlY3QgICAgKGJ1aWxkLXJlc3BvbnNlICM6Y29kZSAzMDEK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzpoZWFkZXJzCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKGxvY2F0aW9uCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4gLChzdHJpbmctPnVyaSBpbml0aWFsLXVybCkp
KSkpKQorICAgIChwYXJhbWV0ZXJpemUgKCglaHR0cC1zZXJ2ZXItcG9ydCAwKSkKKyAgICAgICh3
aXRoLWh0dHAtc2VydmVyIGAoKCxyZWRpcmVjdCAiIikpCisgICAgICAgICh0ZXN0LWVxdWFsICJz
b3VyY2U6IDMwMSAtPiA0MDQiCisgICAgICAgICAgKGZvcm1hdCAjZiAiVVJJIH5hIG5vdCByZWFj
aGFibGU6IDQwNCAoXCJTdWNoIGlzIGxpZmVcIikiCisgICAgICAgICAgICAgICAgICAoJWxvY2Fs
LXVybCkpCiAgICAgICAgICAgKGxldCAoKHBrZyAocGFja2FnZQogICAgICAgICAgICAgICAgICAg
ICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAieCIpKQogICAgICAgICAgICAgICAgICAgICAg
ICAoc291cmNlIChvcmlnaW4KQEAgLTg0Nyw3ICs4NDEsNiBAQAogICAgIChzaW5nbGUtbGludC13
YXJuaW5nLW1lc3NhZ2UKICAgICAgKGNoZWNrLW1pcnJvci11cmwgKGR1bW15LXBhY2thZ2UgIngi
IChzb3VyY2Ugc291cmNlKSkpKSkpCiAKLSh0ZXN0LXNraXAgKGlmIChodHRwLXNlcnZlci1jYW4t
bGlzdGVuPykgMCAxKSkKICh0ZXN0LWVxdWFsICJnaXRodWItdXJsIgogICAnKCkKICAgKHdpdGgt
aHR0cC1zZXJ2ZXIgYCgoMjAwICwlbG9uZy1zdHJpbmcpKQpAQCAtODU5LDcgKzg1Miw2IEBACiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAoc2hhMjU2ICVudWxsLXNoYTI1NikpKSkpKSkKIAog
KGxldCAoKGdpdGh1Yi11cmwgImh0dHBzOi8vZ2l0aHViLmNvbS9mb28vYmFyL2Jhci0xLjAudGFy
Lmd6IikpCi0gICh0ZXN0LXNraXAgKGlmIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPykgMCAxKSkK
ICAgKHRlc3QtZXF1YWwgImdpdGh1Yi11cmw6IG9uZSBzdWdnZXN0aW9uIgogICAgIChzdHJpbmct
YXBwZW5kCiAgICAgICJVUkwgc2hvdWxkIGJlICciIGdpdGh1Yi11cmwgIiciKQpAQCAtODczLDcg
Kzg2NSw3IEBACiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM6
aGVhZGVycwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgKChs
b2NhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAu
ICwoc3RyaW5nLT51cmkgaW5pdGlhbC11cmwpKSkpKSkKLSAgICAgICAgICAocGFyYW1ldGVyaXpl
ICgoJWh0dHAtc2VydmVyLXBvcnQgKCsgMSAoJWh0dHAtc2VydmVyLXBvcnQpKSkpCisgICAgICAg
ICAgKHBhcmFtZXRlcml6ZSAoKCVodHRwLXNlcnZlci1wb3J0IDApKQogICAgICAgICAgICAgKHdp
dGgtaHR0cC1zZXJ2ZXIgYCgoLHJlZGlyZWN0ICIiKSkKICAgICAgICAgICAgICAgKHNpbmdsZS1s
aW50LXdhcm5pbmctbWVzc2FnZQogICAgICAgICAgICAgICAgKGNoZWNrLWdpdGh1Yi11cmwKQEAg
LTg4Myw3ICs4NzUsNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo
dXJpICglbG9jYWwtdXJsKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KHNoYTI1NiAlbnVsbC1zaGEyNTYpKSkpKSkpKSkpKSkKIAotICAodGVzdC1za2lwIChpZiAoaHR0
cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAgICh0ZXN0LWVxdWFsICJnaXRodWItdXJsOiBh
bHJlYWR5IHRoZSBjb3JyZWN0IGdpdGh1YiB1cmwiCiAgICAgJygpCiAgICAgKGNoZWNrLWdpdGh1
Yi11cmwKQEAgLTEwMDcsNyArOTk4LDYgQEAKICAgJygpCiAgIChjaGVjay1mb3JtYXR0aW5nIChk
dW1teS1wYWNrYWdlICJ4IikpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2ZXItY2FuLWxp
c3Rlbj8pIDAgMSkpCiAodGVzdC1hc3NlcnQgImFyY2hpdmFsOiBtaXNzaW5nIGNvbnRlbnQiCiAg
IChsZXQqICgob3JpZ2luICAgKG9yaWdpbgogICAgICAgICAgICAgICAgICAgICAgKG1ldGhvZCB1
cmwtZmV0Y2gpCkBAIC0xMDE5LDcgKzEwMDksNiBAQAogICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZSBvcmlnaW4pKSkpKSkpCiAgICAg
KHdhcm5pbmctY29udGFpbnM/ICJub3QgYXJjaGl2ZWQiIHdhcm5pbmdzKSkpCiAKLSh0ZXN0LXNr
aXAgKGlmIChodHRwLXNlcnZlci1jYW4tbGlzdGVuPykgMCAxKSkKICh0ZXN0LWVxdWFsICJhcmNo
aXZhbDogY29udGVudCBhdmFpbGFibGUiCiAgICcoKQogICAobGV0KiAoKG9yaWdpbiAgIChvcmln
aW4KQEAgLTEwMzMsNyArMTAyMiw2IEBACiAgICAgICAocGFyYW1ldGVyaXplICgoJXN3aC1iYXNl
LXVybCAoJWxvY2FsLXVybCkpKQogICAgICAgICAoY2hlY2stYXJjaGl2YWwgKGR1bW15LXBhY2th
Z2UgIngiIChzb3VyY2Ugb3JpZ2luKSkpKSkpKQogCi0odGVzdC1za2lwIChpZiAoaHR0cC1zZXJ2
ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAodGVzdC1hc3NlcnQgImFyY2hpdmFsOiBtaXNzaW5nIHJl
dmlzaW9uIgogICAobGV0KiAoKG9yaWdpbiAgIChvcmlnaW4KICAgICAgICAgICAgICAgICAgICAg
IChtZXRob2QgZ2l0LWZldGNoKQpAQCAtMTA1Myw3ICsxMDQxLDYgQEAKICAgICAgICAgICAgICAg
ICAgICAgICAgKGNoZWNrLWFyY2hpdmFsIChkdW1teS1wYWNrYWdlICJ4IiAoc291cmNlIG9yaWdp
bikpKSkpKSkKICAgICAod2FybmluZy1jb250YWlucz8gInNjaGVkdWxlZCIgd2FybmluZ3MpKSkK
IAotKHRlc3Qtc2tpcCAoaWYgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQogKHRlc3Qt
ZXF1YWwgImFyY2hpdmFsOiByZXZpc2lvbiBhdmFpbGFibGUiCiAgICcoKQogICAobGV0KiAoKG9y
aWdpbiAgIChvcmlnaW4KQEAgLTEwNjksNyArMTA1Niw2IEBACiAgICAgICAocGFyYW1ldGVyaXpl
ICgoJXN3aC1iYXNlLXVybCAoJWxvY2FsLXVybCkpKQogICAgICAgICAoY2hlY2stYXJjaGl2YWwg
KGR1bW15LXBhY2thZ2UgIngiIChzb3VyY2Ugb3JpZ2luKSkpKSkpKQogCi0odGVzdC1za2lwIChp
ZiAoaHR0cC1zZXJ2ZXItY2FuLWxpc3Rlbj8pIDAgMSkpCiAodGVzdC1hc3NlcnQgImFyY2hpdmFs
OiByYXRlIGxpbWl0IHJlYWNoZWQiCiAgIDs7IFdlIHNob3VsZCBnZXQgYSBzaW5nbGUgd2Fybmlu
ZyBzdGF0aW5nIHRoYXQgdGhlIHJhdGUgbGltaXQgd2FzIHJlYWNoZWQsCiAgIDs7IGFuZCBub3Ro
aW5nIG1vcmUsIGluIHBhcnRpY3VsYXIgbm8gb3RoZXIgSFRUUCByZXF1ZXN0cy4KQEAgLTEwOTEs
NyArMTA3Nyw2IEBACiAgICAgKHN0cmluZy1jb250YWlucyAoc2luZ2xlLWxpbnQtd2FybmluZy1t
ZXNzYWdlIHdhcm5pbmdzKQogICAgICAgICAgICAgICAgICAgICAgInJhdGUgbGltaXQgcmVhY2hl
ZCIpKSkKIAotKHRlc3Qtc2tpcCAoaWYgKGh0dHAtc2VydmVyLWNhbi1saXN0ZW4/KSAwIDEpKQog
KHRlc3QtYXNzZXJ0ICJoYXNrZWxsLXN0YWNrYWdlIgogICAobGV0KiAoKHN0YWNrYWdlIChzdHJp
bmctYXBwZW5kICJ7IFwicGFja2FnZXNcIjogW3siCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIiAgICBcIm5hbWVcIjpcInhcIiwiCmRpZmYgLS1naXQgYS90ZXN0cy90ZXhsaXZl
LnNjbSBiL3Rlc3RzL3RleGxpdmUuc2NtCmluZGV4IGY3ZTU1MTVjNGMuLmE2ZjA4MDQ2YTggMTAw
NjQ0Ci0tLSBhL3Rlc3RzL3RleGxpdmUuc2NtCisrKyBiL3Rlc3RzL3RleGxpdmUuc2NtCkBAIC02
OSw5ICs2OSw2IEBACiAgICAgICAgICAgICAgICAgIChrZXl2YWwgKEAgKHZhbHVlICJ0ZXN0cyIp
IChrZXkgInRvcGljIikpKQogICAgICAgICAgICAgICAgICAiXG4gIG51bGxcbiIpKSkKIAotOzsg
QXZvaWQgY29sbGlzaW9ucyB3aXRoIG90aGVyIHRlc3RzLgotKCVodHRwLXNlcnZlci1wb3J0IDEw
MjAwKQotCiAodGVzdC1lcXVhbCAiZmV0Y2gtc3htbDogcmV0dXJucyBTWE1MIGZvciB2YWxpZCBY
TUwiCiAgIHN4bWwKICAgKHdpdGgtaHR0cC1zZXJ2ZXIgYCgoMjAwICx4bWwpKQotLSAKMi4zMC4w
Cgo=


--=-KT5nFCqXFfNhBilrQFpc--

--=-Wur77PkwInOpVenpJAVX
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iI0EABYIADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYDGGfxccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7g8WAP9mcb02py49RvzgdTX8o0vtn0Nv
QtDzjdiv68xrpoVHxAEAostXqVhDcQQseJyPxAwR/lL4bC1jRueYWNukJm31jQ8=
=nH5f
-----END PGP SIGNATURE-----

--=-Wur77PkwInOpVenpJAVX--





Acknowledgement sent to Maxime Devos <maximedevos@HIDDEN>:
New bug report received and forwarded. Copy sent to guix-patches@HIDDEN. Full text available.
Report forwarded to guix-patches@HIDDEN:
bug#46668; Package guix-patches. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Mon, 1 Mar 2021 16:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.