From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#69232: 30.0.50; [PATCH] EWW history navigation gets caught in a loop Date: Thu, 29 Feb 2024 18:10:19 -0800 Message-ID: <99e36690-ffbe-f373-50d2-32c92717a560@gmail.com> References: <8013cc7e-d5de-b793-261f-4b34fbdf360e@gmail.com> <864je4r6ug.fsf@gnu.org> <86y1bc1vn1.fsf@gnu.org> <557131a7-d400-cba5-2b0e-7ec99e8d7fc2@gmail.com> <86sf1k1fss.fsf@gnu.org> <969e4621-fd6f-48cb-2aef-d265971dd56a@gmail.com> <87r0h2x816.fsf@outlook.com> <8634tiymd4.fsf@gnu.org> <87cyslxziy.fsf@gmx.net> <86frxhxezx.fsf@gnu.org> <3f0da1b2-e256-6124-4d6a-47c922ccd64f@gmail.com> <86bk84wci4.fsf@gnu.org> <7b67c305-1e41-9db2-55d3-f74f1ac302a6@gmail.com> <10a0d839-24f6-b521-1504-a5ca568b3dcc@gmail.com> <86plwfsqey.fsf@gnu.org> <77426857-4d81-29da-9b1a-70931393215e@gmail.com> <878r32u9ut.fsf@gmx.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------gG00H1G0ERRREejvIFo9gNZR" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="6045"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Eli Zaretskii , 69232@debbugs.gnu.org To: James Thomas Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Mar 01 03:12:02 2024 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 1rfsNW-0001Mk-Ah for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 01 Mar 2024 03:12:02 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rfsNG-0003K4-Hy; Thu, 29 Feb 2024 21:11:47 -0500 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 1rfsN5-0003JR-1J for bug-gnu-emacs@gnu.org; Thu, 29 Feb 2024 21:11:37 -0500 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 1rfsN4-000222-PY for bug-gnu-emacs@gnu.org; Thu, 29 Feb 2024 21:11:34 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rfsNW-0005Qt-3S for bug-gnu-emacs@gnu.org; Thu, 29 Feb 2024 21:12:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 01 Mar 2024 02:12:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 69232 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 69232-submit@debbugs.gnu.org id=B69232.170925911820872 (code B ref 69232); Fri, 01 Mar 2024 02:12:02 +0000 Original-Received: (at 69232) by debbugs.gnu.org; 1 Mar 2024 02:11:58 +0000 Original-Received: from localhost ([127.0.0.1]:35800 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rfsNR-0005QZ-52 for submit@debbugs.gnu.org; Thu, 29 Feb 2024 21:11:58 -0500 Original-Received: from mail-pf1-f182.google.com ([209.85.210.182]:60610) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rfsNN-0005QM-Va for 69232@debbugs.gnu.org; Thu, 29 Feb 2024 21:11:55 -0500 Original-Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-6e56da425b5so1264082b3a.0 for <69232@debbugs.gnu.org>; Thu, 29 Feb 2024 18:11:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1709259020; x=1709863820; darn=debbugs.gnu.org; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=GP2XaiznDjObiZEhFbw021fLN8pKRNqWFalccXg2zgY=; b=JQ8/kNNn5WU3Wsiher8tMS/5kQaUNbVksX3KJeYHuXkRiVDXCfwH37JL4corRG53di tAnrLouRi6+EnKlqinjxEkU0IKqgqd/vIeFWe17SpM3VXCN4Lvb+MtvzBRodijowahl7 WdS46o0z37NBQLOvbFM+OPGiHMYOkuhwlU74Svwp0NZ6VZON7iDqFDCB4kuLRYSvrLV8 nOwF/NdvPyw3cJpNXs9J4s9/njYTN3UkTakg+hTB+65tBtg11QsRGlpQjD/PW0B+yqiL ou6VeV1exnSKb4mT2EKr0ebuxLNtNwpkfltri5zUjUf3NcRrFfqNEMPU5AF5tx/E/UwQ 6Rbg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1709259020; x=1709863820; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=GP2XaiznDjObiZEhFbw021fLN8pKRNqWFalccXg2zgY=; b=w+SfDBMncicjuCcV8ofByPGhlFOh3BCFxiTqLXQ4lPUOXd0GSlxeZHRVi9M6LrxioH po+r6IJaO9Wq2zqUk34uxSEQbjSiyzyusQVL1P3MvUExRyzgxfKTfaMrIqzOjg2biOQj r64GJv/T3JYUipuv3CqX0WNU8DMscyGAG/7MK27xo2gDd0FxWdKIa52tkzOnO6u3L9lR D812YHkleGrgQDn2VlFGLiyTSGLUHsIm458sR26iAgR8Mj9o4Gyk2U7SDyH6dy6EZ4ZX p9vA7pv1RovLY/dr3gr86d0TCulemsP9BYPTkaoxRneKxoRNr4hMwfQOXvWQxoZeevIj K8sg== X-Forwarded-Encrypted: i=1; AJvYcCVI21Y51lZiBwIgwQMDTQ14M9LXXrD2ai2Crb/Ptb8jSo7/AQDS6e5icPAiOrWDCRcCfFzQJnm2aciSbq2jJcy/DK3Yt/4= X-Gm-Message-State: AOJu0Yyi0kuDkHlF0LI6xU8NSQlkKqfT0W0p+B58H21GCHiVwnBwH5k3 x2Iu3sSw03qziqxz3Ax4hM4co3hruUhzdcx0JS/IBHaJgJs9ezW9 X-Google-Smtp-Source: AGHT+IG0AQJXIImNLgd+H/YISGJN7W08d/wflC8WG/6uLg7fEBL+K3LqsWpm4+4uAmnBjsyEgnIQUQ== X-Received: by 2002:a17:903:187:b0:1dc:adb2:628c with SMTP id z7-20020a170903018700b001dcadb2628cmr456243plg.34.1709259020255; Thu, 29 Feb 2024 18:10:20 -0800 (PST) Original-Received: from [192.168.1.2] (076-168-148-233.res.spectrum.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id p1-20020a170902e74100b001dca68a8a00sm2175386plf.139.2024.02.29.18.10.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 29 Feb 2024 18:10:19 -0800 (PST) Content-Language: en-US In-Reply-To: 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:280836 Archived-At: This is a multi-part message in MIME format. --------------gG00H1G0ERRREejvIFo9gNZR Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/29/2024 5:00 PM, Jim Porter wrote: > I already found one issue with reloading messing up history, but that > was an easy fix. Once I finish up the other parts of my v3 patch, I'll > post it here. I've only lightly tested this so far, but this version adds an 'eww-before-browse-function' option which lets you customize how EWW manipulates history before browsing to a new page. I've added functions for the default behavior ('eww-clear-future-history'), and for cloning all the "parent" entries ('eww-clone-previous-history')[1]. You can also set it to 'ignore', which will just preserve the old entries and add the new page to the end (which is the behavior v1 of my patch had). I've also added more regression tests to make sure this all works as expected. How does this look? [1] See the docstring for a longer explanation of how this works. --------------gG00H1G0ERRREejvIFo9gNZR Content-Type: text/plain; charset=UTF-8; name="0001-When-navigating-through-history-in-EWW-don-t-keep-ad.patch" Content-Disposition: attachment; filename*0="0001-When-navigating-through-history-in-EWW-don-t-keep-ad.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2MzkxYmNmMTNmZTBhMjZhYmE2N2VmM2U3N2E1MWVjN2I5Y2E2Y2MxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMTcgRmViIDIwMjQgMjA6NDk6MTUgLTA4MDAKU3ViamVjdDogW1BB VENIXSBXaGVuIG5hdmlnYXRpbmcgdGhyb3VnaCBoaXN0b3J5IGluIEVXVywgZG9uJ3Qga2Vl cCBhZGRpbmcgdG8KICdld3ctaGlzdG9yeScKClRoaXMgcmVzb2x2ZXMgYW4gaXNzdWUgd2hl cmUgbmF2aWdhdGluZyBiYWNrIGFuZCB0aGVuIGZvcndhcmQga2VwdAphZGRpbmcgbmV3IGhp c3RvcnkgZW50cmllcyBzbyB5b3UgY291bGQgbmV2ZXIgaGl0IHRoZSAiZW5kIiAoYnVnIzY5 MjMyKS4KCiogbGlzcC9uZXQvZXd3LmVsIChld3ctYmVmb3JlLWJyb3dzZS1mdW5jdGlvbik6 IE5ldyBvcHRpb24uCihld3ctaGlzdG9yeS1wb3NpdGlvbik6IEFkZCBkb2NzdHJpbmcuCihl d3ctbW9kZS1tYXAsIGV3dy1jb250ZXh0LW1lbnUpOiBVc2UgY29ycmVjdCBwcmVkaWNhdGVz IGZvciB3aGVuIHRvCmVuYWJsZSBiYWNrL2ZvcndhcmQuCihld3ctc2F2ZS1oaXN0b3J5KTog U2F2ZSBoaXN0b3J5IGVudHJ5IGluIGl0cyBvcmlnaW5hbCBwbGFjZSB3aGVuCnZpZXdpbmcg YSBoaXN0b3JpY2FsIHBhZ2UuCihld3ctLWJlZm9yZS1icm93c2UpOiBOZXcgZnVuY3Rpb24u Li4KKGV3dywgZXd3LWZvbGxvdy1saW5rLCBld3ctcmVhZGFibGUpOiAuLi4gY2FsbCBpdC4K KGV3dy1yZW5kZXIpOiBEb24ndCBzZXQgJ2V3dy1oaXN0b3J5LXBvc2l0aW9uJyBoZXJlLi4u Cihld3ctLWJlZm9yZS1icm93c2UpOiAuLi4gaW5zdGVhZCwgc2V0IGl0IGhlcmUuCihld3ct YmFjay11cmwpOiBTZXQgJ2V3dy1oaXN0b3J5LXBvc2l0aW9uJyBiYXNlZCBvbiB0aGUgcmVz dWx0IG9mCidld3ctc2F2ZS1oaXN0b3J5Jy4KKGV3dy1mb3J3YXJkLXVybCk6IFNldCAnZXd3 LWhpc3RvcnktcG9zaXRpb24nIGRpcmVjdGx5LCBzaW5jZQonZXd3LXNhdmUtaGlzdG9yeScg bm8gbG9uZ2VyIGFkZHMgYSBuZXcgZW50cnkgaW4gdGhpcyBjYXNlLgooZXd3LWNsZWFyLWZ1 dHVyZS1oaXN0b3J5LCBld3ctY2xvbmUtcHJldmlvdXMtaGlzdG9yeSk6IE5ldyBmdW5jdGlv bnMuCgoqIHRlc3QvbGlzcC9uZXQvZXd3LXRlc3RzLmVsOiBOZXcgZmlsZS4KCiogZXRjL05F V1M6IEFubm91bmNlIHRoaXMgY2hhbmdlLgotLS0KIGV0Yy9ORVdTICAgICAgICAgICAgICAg ICAgIHwgIDEyICsrKwogbGlzcC9uZXQvZXd3LmVsICAgICAgICAgICAgfCAgODQgKysrKysr KysrKysrKystLS0KIHRlc3QvbGlzcC9uZXQvZXd3LXRlc3RzLmVsIHwgMTc5ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMjYzIGlu c2VydGlvbnMoKyksIDEyIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3Qv bGlzcC9uZXQvZXd3LXRlc3RzLmVsCgpkaWZmIC0tZ2l0IGEvZXRjL05FV1MgYi9ldGMvTkVX UwppbmRleCA2ZDQ0NGRhZjE1Mi4uNjJmMzYwYmMxMTIgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdT CisrKyBiL2V0Yy9ORVdTCkBAIC0xMDA0LDYgKzEwMDQsMTggQEAgV2hlbiBpbnZva2VkIHdp dGggdGhlIHByZWZpeCBhcmd1bWVudCAoJ0MtdScpLAogVGhpcyBpcyB1c2VmdWwgZm9yIGNv bnRpbnVpbmcgcmVhZGluZyB0aGUgVVJMIGluIHRoZSBjdXJyZW50IGJ1ZmZlcgogd2hlbiB0 aGUgbmV3IFVSTCBpcyBmZXRjaGVkLgogCistLS0KKyoqKiBIaXN0b3J5IG5hdmlnYXRpb24g aW4gRVdXIG5vdyB3b3JrcyBsaWtlIG90aGVyIGJyb3dzZXJzLgorUHJldmlvdXNseSwgd2hl biBuYXZpZ2F0aW5nIGJhY2sgYW5kIGZvcndhcmQgdGhyb3VnaCBwYWdlIGhpc3RvcnksIEVX Vword291bGQgYWRkIGEgZHVwbGljYXRlIGVudHJ5IHRvIHRoZSBlbmQgb2YgdGhlIGhpc3Rv cnkgbGlzdCBlYWNoIHRpbWUuCitUaGlzIG1hZGUgaXQgaW1wb3NzaWJsZSB0byBuYXZpZ2F0 ZSB0byB0aGUgImVuZCIgb2YgdGhlIGhpc3RvcnkgbGlzdC4KK05vdywgbmF2aWdhdGluZyB0 aHJvdWdoIGhpc3RvcnkgaW4gRVdXIHNpbXBseSBjaGFuZ2VzIHlvdXIgcG9zaXRpb24gaW4K K3RoZSBoaXN0b3J5IGxpc3QsIGFsbG93aW5nIHlvdSB0byByZWFjaCB0aGUgZW5kIGFzIGV4 cGVjdGVkLiAgSW4KK2FkZGl0aW9uLCB3aGVuIG5hdmlnYXRpbmcgdG8gYSBuZXcgcGFnZSBm cm9tIGEgaGlzdG9yaWNhbCBvbmUsIEVXVworZGVsZXRlcyB0aGUgaGlzdG9yeSBlbnRyaWVz IGFmdGVyIHRoZSBjdXJyZW50IHBhZ2UuICBUbyBjaGFuZ2UgdGhlCitiZWhhdmlvciB3aGVu IG5hdmlnYXRpbmcgZnJvbSBoaXN0b3JpY2FsIHBhZ2VzLCB5b3UgY2FuIGN1c3RvbWl6ZQor J2V3dy1iZWZvcmUtYnJvd3NlLWZ1bmN0aW9uJy4KKwogKiogZ28tdHMtbW9kZQogCiArKysK ZGlmZiAtLWdpdCBhL2xpc3AvbmV0L2V3dy5lbCBiL2xpc3AvbmV0L2V3dy5lbAppbmRleCA1 YTI1ZWVmOWUzYy4uOGM4MmY5MmFmMmEgMTAwNjQ0Ci0tLSBhL2xpc3AvbmV0L2V3dy5lbAor KysgYi9saXNwL25ldC9ld3cuZWwKQEAgLTE4Miw2ICsxODIsMTQgQEAgZXd3LWJyb3dzZS11 cmwtbmV3LXdpbmRvdy1pcy10YWIKICAgICAgICAgICAgICAgICAgKGNvbnN0IDp0YWcgIk9w ZW4gbmV3IHRhYiB3aGVuIHRhYiBiYXIgaXMgZW5hYmxlZCIgdGFiLWJhcikKICAgICAgICAg ICAgICAgICAgKGNvbnN0IDp0YWcgIk5ldmVyIG9wZW4gVVJMIGluIG5ldyB0YWIiIG5pbCkp KQogCisoZGVmY3VzdG9tIGV3dy1iZWZvcmUtYnJvd3NlLWZ1bmN0aW9uICMnZXd3LWNsZWFy LWZ1dHVyZS1oaXN0b3J5CisgICJBIGZ1bmN0aW9uIHRvIGNhbGwgYmVmb3JlIGJyb3dzaW5n IHRvIGEgbmV3IHBhZ2UuCitCeSBkZWZhdWx0LCB0aGlzIHJlbW92ZXMgYW55IGVudHJpZXMg aW4gdGhlIGhpc3RvcnkgdGhhdCBjb21lIGFmdGVyIHRoZQorY3VycmVudCBwYWdlIChzZWUg YGV3dy1jbGVhci1mdXR1cmUtaGlzdG9yeScpLiIKKyAgOnZlcnNpb24gIjMwLjEiCisgIDpn cm91cCAnZXd3CisgIDp0eXBlICdmdW5jdGlvbikKKwogKGRlZmN1c3RvbSBld3ctYWZ0ZXIt cmVuZGVyLWhvb2sgbmlsCiAgICJBIGhvb2sgY2FsbGVkIGFmdGVyIGV3dyBoYXMgZmluaXNo ZWQgcmVuZGVyaW5nIHRoZSBidWZmZXIuIgogICA6dmVyc2lvbiAiMjUuMSIKQEAgLTMxMiw3 ICszMjAsMTAgQEAgZXd3LXZhbGlkLWNlcnRpZmljYXRlCiAKIChkZWZ2YXIgZXd3LWRhdGEg bmlsKQogKGRlZnZhciBld3ctaGlzdG9yeSBuaWwpCi0oZGVmdmFyIGV3dy1oaXN0b3J5LXBv c2l0aW9uIDApCisoZGVmdmFyIGV3dy1oaXN0b3J5LXBvc2l0aW9uIDAKKyAgIlRoZSAxLWlu ZGV4ZWQgcG9zaXRpb24gaW4gYGV3dy1oaXN0b3J5Jy4KK0lmIHplcm8sIEVXVyBpcyBhdCB0 aGUgbmV3ZXN0IHBhZ2UsIHdoaWNoIGlzbid0IHlldCBwcmVzZW50IGluCitgZXd3LWhpc3Rv cnknLiIpCiAoZGVmdmFyIGV3dy1wcm9tcHQtaGlzdG9yeSBuaWwpCiAKIChkZWZ2YXIgZXd3 LWxvY2FsLXJlZ2V4ICJsb2NhbGhvc3QiCkBAIC00MDIsNiArNDEzLDcgQEAgZXd3CiAgICAg KHQKICAgICAgKGdldC1idWZmZXItY3JlYXRlICIqZXd3KiIpKSkpCiAgIChld3ctc2V0dXAt YnVmZmVyKQorICAoZXd3LS1iZWZvcmUtYnJvd3NlKQogICA7OyBDaGVjayB3aGV0aGVyIHRo ZSBkb21haW4gb25seSB1c2VzICJIaWdobHkgUmVzdHJpY3RlZCIgVW5pY29kZQogICA7OyBJ RE5BIGNoYXJhY3RlcnMuICBJZiBub3QsIHRyYW5zZm9ybSB0byBwdW55Y29kZSB0byBpbmRp Y2F0ZSB0aGF0CiAgIDs7IHRoZXJlIG1heSBiZSBmdW5ueSBidXNpbmVzcyBnb2luZyBvbi4K QEAgLTY1NCw3ICs2NjYsNiBAQCBld3ctcmVuZGVyCiAJICAgICh3aXRoLWN1cnJlbnQtYnVm ZmVyIGJ1ZmZlcgogCSAgICAgIChwbGlzdC1wdXQgZXd3LWRhdGEgOnVybCB1cmwpCiAJICAg ICAgKGV3dy0tYWZ0ZXItcGFnZS1jaGFuZ2UpCi0JICAgICAgKHNldHEgZXd3LWhpc3Rvcnkt cG9zaXRpb24gMCkKIAkgICAgICAoYW5kIGxhc3QtY29kaW5nLXN5c3RlbS11c2VkCiAJCSAg IChzZXQtYnVmZmVyLWZpbGUtY29kaW5nLXN5c3RlbSBsYXN0LWNvZGluZy1zeXN0ZW0tdXNl ZCkpCiAgICAgICAgICAgICAgICh1bmxlc3Mgc2hyLWZpbGwtdGV4dApAQCAtOTA1LDYgKzkx NiwxMSBAQCBld3ctdXBkYXRlLWhlYWRlci1saW5lLWZvcm1hdAogCQkgYCgoP3UgLiAsKG9y IHVybCAiIikpCiAJCSAgICg/dCAuICx0aXRsZSkpKSkpKSkpCiAKKyhkZWZ1biBld3ctLWJl Zm9yZS1icm93c2UgKCkKKyAgKGZ1bmNhbGwgZXd3LWJlZm9yZS1icm93c2UtZnVuY3Rpb24p CisgIChzZXRxIGV3dy1oaXN0b3J5LXBvc2l0aW9uIDAKKyAgICAgICAgZXd3LWRhdGEgKGxp c3QgOnRpdGxlICIiKSkpCisKIChkZWZ1biBld3ctLWFmdGVyLXBhZ2UtY2hhbmdlICgpCiAg IChld3ctdXBkYXRlLWhlYWRlci1saW5lLWZvcm1hdCkKICAgKGV3dy0tcmVuYW1lLWJ1ZmZl cikpCkBAIC0xMDM3LDYgKzEwNTMsNyBAQCBld3ctcmVhZGFibGUKICAgICAgICAgIChiYXNl IChwbGlzdC1nZXQgZXd3LWRhdGEgOnVybCkpKQogICAgIChld3ctc2NvcmUtcmVhZGFiaWxp dHkgZG9tKQogICAgIChld3ctc2F2ZS1oaXN0b3J5KQorICAgIChld3ctLWJlZm9yZS1icm93 c2UpCiAgICAgKGV3dy1kaXNwbGF5LWh0bWwgbmlsIG5pbAogICAgICAgICAgICAgICAgICAg ICAgIChsaXN0ICdiYXNlIChsaXN0IChjb25zICdocmVmIGJhc2UpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChld3ctaGlnaGVzdC1yZWFkYWJpbGl0eSBkb20pKQpAQCAtMTEy OSw5ICsxMTQ2LDkgQEAgZXd3LW1vZGUtbWFwCiAgICAgICAgICAgWyJSZWxvYWQiIGV3dy1y ZWxvYWQgdF0KICAgICAgICAgICBbIkZvbGxvdyBVUkwgaW4gbmV3IGJ1ZmZlciIgZXd3LW9w ZW4taW4tbmV3LWJ1ZmZlcl0KICAgICAgICAgICBbIkJhY2sgdG8gcHJldmlvdXMgcGFnZSIg ZXd3LWJhY2stdXJsCi0gICAgICAgICAgIDphY3RpdmUgKG5vdCAoemVyb3AgKGxlbmd0aCBl d3ctaGlzdG9yeSkpKV0KKyAgICAgICAgICAgOmFjdGl2ZSAoPCBld3ctaGlzdG9yeS1wb3Np dGlvbiAobGVuZ3RoIGV3dy1oaXN0b3J5KSldCiAgICAgICAgICAgWyJGb3J3YXJkIHRvIG5l eHQgcGFnZSIgZXd3LWZvcndhcmQtdXJsCi0gICAgICAgICAgIDphY3RpdmUgKG5vdCAoemVy b3AgZXd3LWhpc3RvcnktcG9zaXRpb24pKV0KKyAgICAgICAgICAgOmFjdGl2ZSAoPiBld3ct aGlzdG9yeS1wb3NpdGlvbiAxKV0KICAgICAgICAgICBbIkJyb3dzZSB3aXRoIGV4dGVybmFs IGJyb3dzZXIiIGV3dy1icm93c2Utd2l0aC1leHRlcm5hbC1icm93c2VyIHRdCiAgICAgICAg ICAgWyJEb3dubG9hZCIgZXd3LWRvd25sb2FkIHRdCiAgICAgICAgICAgWyJWaWV3IHBhZ2Ug c291cmNlIiBld3ctdmlldy1zb3VyY2VdCkBAIC0xMTU1LDkgKzExNzIsOSBAQCBld3ctY29u dGV4dC1tZW51CiAgICAgKGVhc3ktbWVudS1kZWZpbmUgbmlsIGVhc3ktbWVudSBuaWwKICAg ICAgICcoIkV3dyIKICAgICAgICAgWyJCYWNrIHRvIHByZXZpb3VzIHBhZ2UiIGV3dy1iYWNr LXVybAotCSA6dmlzaWJsZSAobm90ICh6ZXJvcCAobGVuZ3RoIGV3dy1oaXN0b3J5KSkpXQor CSA6YWN0aXZlICg8IGV3dy1oaXN0b3J5LXBvc2l0aW9uIChsZW5ndGggZXd3LWhpc3Rvcnkp KV0KIAlbIkZvcndhcmQgdG8gbmV4dCBwYWdlIiBld3ctZm9yd2FyZC11cmwKLQkgOnZpc2li bGUgKG5vdCAoemVyb3AgZXd3LWhpc3RvcnktcG9zaXRpb24pKV0KKwkgOmFjdGl2ZSAoPiBl d3ctaGlzdG9yeS1wb3NpdGlvbiAxKV0KIAlbIlJlbG9hZCIgZXd3LXJlbG9hZCB0XSkpCiAg ICAgKGRvbGlzdCAoaXRlbSAocmV2ZXJzZSAobG9va3VwLWtleSBlYXN5LW1lbnUgW21lbnUt YmFyIGV3d10pKSkKICAgICAgICh3aGVuIChjb25zcCBpdGVtKQpAQCAtMTI4MCwxNiArMTI5 NywyMCBAQCBld3ctYmFjay11cmwKICAgKGludGVyYWN0aXZlIG5pbCBld3ctbW9kZSkKICAg KHdoZW4gKD49IGV3dy1oaXN0b3J5LXBvc2l0aW9uIChsZW5ndGggZXd3LWhpc3RvcnkpKQog ICAgICh1c2VyLWVycm9yICJObyBwcmV2aW91cyBwYWdlIikpCi0gIChld3ctc2F2ZS1oaXN0 b3J5KQotICAoc2V0cSBld3ctaGlzdG9yeS1wb3NpdGlvbiAoKyBld3ctaGlzdG9yeS1wb3Np dGlvbiAyKSkKKyAgKGlmIChld3ctc2F2ZS1oaXN0b3J5KQorICAgICAgOzsgV2Ugd2VyZSBh dCB0aGUgbGF0ZXN0IHBhZ2UgKHdoaWNoIHdhcyBqdXN0IGFkZGVkIHRvIHRoZQorICAgICAg OzsgaGlzdG9yeSksIHNvIGdvIGJhY2sgdHdvIGVudHJpZXMuCisgICAgICAoc2V0cSBld3ct aGlzdG9yeS1wb3NpdGlvbiAyKQorICAgIChzZXRxIGV3dy1oaXN0b3J5LXBvc2l0aW9uICgx KyBld3ctaGlzdG9yeS1wb3NpdGlvbikpKQogICAoZXd3LXJlc3RvcmUtaGlzdG9yeSAoZWx0 IGV3dy1oaXN0b3J5ICgxLSBld3ctaGlzdG9yeS1wb3NpdGlvbikpKSkKIAogKGRlZnVuIGV3 dy1mb3J3YXJkLXVybCAoKQogICAiR28gdG8gdGhlIG5leHQgZGlzcGxheWVkIHBhZ2UuIgog ICAoaW50ZXJhY3RpdmUgbmlsIGV3dy1tb2RlKQotICAod2hlbiAoemVyb3AgZXd3LWhpc3Rv cnktcG9zaXRpb24pCisgICh3aGVuICg8PSBld3ctaGlzdG9yeS1wb3NpdGlvbiAxKQogICAg ICh1c2VyLWVycm9yICJObyBuZXh0IHBhZ2UiKSkKICAgKGV3dy1zYXZlLWhpc3RvcnkpCisg IChzZXRxIGV3dy1oaXN0b3J5LXBvc2l0aW9uICgxLSBld3ctaGlzdG9yeS1wb3NpdGlvbikp CiAgIChld3ctcmVzdG9yZS1oaXN0b3J5IChlbHQgZXd3LWhpc3RvcnkgKDEtIGV3dy1oaXN0 b3J5LXBvc2l0aW9uKSkpKQogCiAoZGVmdW4gZXd3LXJlc3RvcmUtaGlzdG9yeSAoZWxlbSkK QEAgLTE5NTksNiArMTk4MCw3IEBAIGV3dy1mb2xsb3ctbGluawogCSAgIChld3ctc2FtZS1w YWdlLXAgdXJsIChwbGlzdC1nZXQgZXd3LWRhdGEgOnVybCkpKQogICAgICAgKGxldCAoKHBv aW50IChwb2ludCkpKQogCShld3ctc2F2ZS1oaXN0b3J5KQorICAgICAgICAoZXd3LS1iZWZv cmUtYnJvd3NlKQogCShwbGlzdC1wdXQgZXd3LWRhdGEgOnVybCB1cmwpCiAgICAgICAgIChn b3RvLWNoYXIgKHBvaW50LW1pbikpCiAgICAgICAgIChpZi1sZXQgKChtYXRjaCAodGV4dC1w cm9wZXJ0eS1zZWFyY2gtZm9yd2FyZCAnc2hyLXRhcmdldC1pZCB0YXJnZXQgIydtZW1iZXIp KSkKQEAgLTIyODksMTEgKzIzMTEsNDkgQEAgZXd3LWJvb2ttYXJrLW1vZGUKIDs7OyBIaXN0 b3J5IGNvZGUKIAogKGRlZnVuIGV3dy1zYXZlLWhpc3RvcnkgKCkKKyAgIlNhdmUgdGhlIGN1 cnJlbnQgcGFnZSdzIGRhdGEgdG8gdGhlIGhpc3RvcnkuCitJZiB0aGUgY3VycmVudCBwYWdl IGlzIGEgaGlzdG9yaWFsIG9uZSBsb2FkZWQgZnJvbQorYGV3dy1oaXN0b3J5JyAoZS5nLiBi eSBjYWxsaW5nIGBld3ctYmFjay11cmwnKSwgdGhpcyB3aWxsIHVwZGF0ZSB0aGUKK3BhZ2Un cyBlbnRyeSBpbiBgZXd3LWhpc3RvcnknIGFuZCByZXR1cm4gbmlsLiAgT3RoZXJ3aXNlLCBh ZGQgYSBuZXcKK2VudHJ5IHRvIGBld3ctaGlzdG9yeScgYW5kIHJldHVybiB0LiIKICAgKHBs aXN0LXB1dCBld3ctZGF0YSA6cG9pbnQgKHBvaW50KSkKICAgKHBsaXN0LXB1dCBld3ctZGF0 YSA6dGV4dCAoYnVmZmVyLXN0cmluZykpCi0gIChsZXQgKChoaXN0b3J5LWRlbGV0ZS1kdXBs aWNhdGVzIG5pbCkpCi0gICAgKGFkZC10by1oaXN0b3J5ICdld3ctaGlzdG9yeSBld3ctZGF0 YSBld3ctaGlzdG9yeS1saW1pdCB0KSkKLSAgKHNldHEgZXd3LWRhdGEgKGxpc3QgOnRpdGxl ICIiKSkpCisgIChpZiAoemVyb3AgZXd3LWhpc3RvcnktcG9zaXRpb24pCisgICAgICAobGV0 ICgoaGlzdG9yeS1kZWxldGUtZHVwbGljYXRlcyBuaWwpKQorICAgICAgICAoYWRkLXRvLWhp c3RvcnkgJ2V3dy1oaXN0b3J5IGV3dy1kYXRhIGV3dy1oaXN0b3J5LWxpbWl0IHQpCisgICAg ICAgIChzZXRxIGV3dy1oaXN0b3J5LXBvc2l0aW9uIDEpCisgICAgICAgIHQpCisgICAgKHNl dGYgKGVsdCBld3ctaGlzdG9yeSAoMS0gZXd3LWhpc3RvcnktcG9zaXRpb24pKSBld3ctZGF0 YSkKKyAgICBuaWwpKQorCisoZGVmdW4gZXd3LWNsZWFyLWZ1dHVyZS1oaXN0b3J5ICgpCisg ICJSZW1vdmUgYW55IGVudHJpZXMgaW4gYGV3dy1oaXN0b3J5JyBhZnRlciB0aGUgY3VycmVu dGx5LXNob3duIG9uZS4KK1RoaXMgaXMgdXNlZnVsIGZvciBgZXd3LWJlZm9yZS1icm93c2Ut ZnVuY3Rpb24nIHRvIG1ha2UgRVdXJ3MgbmF2aWdhdGlvbgordG8gYSBuZXcgcGFnZSBmcm9t IGEgaGlzdG9yaWNhbCBvbmUgd29yayBsaWtlIG90aGVyIHdlYiBicm93c2VyczogaXQKK3dp bGwgY2xlYXIgYW55IFwiZnV0dXJlXCIgaGlzdG9yeSBlbGVtZW50cyBiZWZvcmUgYWRkaW5n IHRoZSBuZXcgcGFnZSB0bwordGhlIGVuZCBvZiB0aGUgaGlzdG9yeS4iCisgICh3aGVuICg+ IGV3dy1oaXN0b3J5LXBvc2l0aW9uIDEpCisgICAgKHNldHEgZXd3LWhpc3RvcnkgKG50aGNk ciAoMS0gZXd3LWhpc3RvcnktcG9zaXRpb24pIGV3dy1oaXN0b3J5KSkpKQorCisoZGVmdW4g ZXd3LWNsb25lLXByZXZpb3VzLWhpc3RvcnkgKCkKKyAgIkNsb25lIGFuZCBwcmVwZW5kIGVu dHJpZXMgaW4gYGV3dy1oaXN0b3J5JyB1cCB0byB0aGUgY3VycmVudGx5LXNob3duIG9uZS4K K1RoZXNlIGNsb25lZCBlbnRyaWVzIGdldCBhZGRlZCB0byB0aGUgYmVnaW5uaW5nIG9mIGBl d3ctaGlzdG9yeScgc28gdGhhdAoraXQncyBwb3NzaWJsZSB0byBuYXZpZ2F0ZSBiYWNrIHRv IHRoZSB2ZXJ5IGZpcnN0IHBhZ2UgZm9yIHRoaXMgRVdXCit3aXRob3V0IGRlbGV0aW5nIGFu eSBoaXN0b3J5IGVudHJpZXMuCisKK0ZvciBleGFtcGxlLCBpZiBgZXd3LWhpc3RvcnknIGxv b2tzIGxpa2UgdGhpcyAoZ29pbmcgZnJvbSBvbGRlc3QgdG8KK25ld2VzdCwgd2l0aCBcIipc IiBtYXJraW5nIHRoZSBjdXJyZW50IHBhZ2UpOgorCisgIEEgQiBDKiBEIEUKKwordGhlbiBj YWxsaW5nIHRoaXMgZnVuY3Rpb24gdXBkYXRlcyBgZXd3LWhpc3RvcnknIHRvOgorCisgIEEg QiBDIEQgRSBBIEIgQyoKKworVGhpcyBpcyB1c2VmdWwgZm9yIHNldHRpbmcgYGV3dy1iZWZv cmUtYnJvd3NlLWZ1bmN0aW9uJyAod2hpY2ggc2VlKS4iCisgICh3aGVuICg+IGV3dy1oaXN0 b3J5LXBvc2l0aW9uIDEpCisgICAgKHNldHEgZXd3LWhpc3RvcnkgKGFwcGVuZCAobnRoY2Ry ICgxLSBld3ctaGlzdG9yeS1wb3NpdGlvbikgZXd3LWhpc3RvcnkpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBld3ctaGlzdG9yeSkpKSkKIAogKGRlZnZhciBld3ctY3VycmVu dC1idWZmZXIpCiAKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9uZXQvZXd3LXRlc3RzLmVsIGIv dGVzdC9saXNwL25ldC9ld3ctdGVzdHMuZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLjhlMDU2NTIxZmM3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdC9saXNw L25ldC9ld3ctdGVzdHMuZWwKQEAgLTAsMCArMSwxNzkgQEAKKzs7OyBld3ctdGVzdHMuZWwg LS0tIHRlc3RzIGZvciBld3cuZWwgIC0qLSBsZXhpY2FsLWJpbmRpbmc6IHQ7IC0qLQorCis7 OyBDb3B5cmlnaHQgKEMpIDIwMjQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisK Kzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KKworOzsgR05VIEVtYWNzIGlz IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK Kzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorOzsgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworOzsgR05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorOzsgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KworOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBz ZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6 CisKKzs7OyBDb2RlOgorCisocmVxdWlyZSAnZXJ0KQorKHJlcXVpcmUgJ2V3dykKKworKGRl ZnZhciBld3ctdGVzdC0tcmVzcG9uc2UtZnVuY3Rpb24gKGxhbWJkYSAodXJsKSAoY29uY2F0 ICJcbiIgdXJsKSkKKyAgIkEgZnVuY3Rpb24gZm9yIHJldHVybmluZyBhIG1vY2sgcmVzcG9u c2UgZm9yIFVSTC4KK1RoZSBkZWZhdWx0IGp1c3QgcmV0dXJucyBhbiBlbXB0eSBsaXN0IG9m IGhlYWRlcnMgVVJMIGFzIHRoZSBib2R5LiIpCisKKyhkZWZtYWNybyBld3ctdGVzdC0td2l0 aC1tb2NrLXJldHJpZXZlICgmcmVzdCBib2R5KQorICAiRXZhbHVhdGUgQk9EWSB3aXRoIGEg bW9jayBpbXBsZW1lbnRhdGlvbiBvZiBgZXd3LXJldHJpZXZlJy4KK1RoaXMgYXZvaWRzIG5l dHdvcmsgcmVxdWVzdHMgZHVyaW5nIG91ciB0ZXN0cy4gIEFkZGl0aW9uYWxseSwgcHJlcGFy ZSBhCit0ZW1wb3JhcnkgRVdXIGJ1ZmZlciBmb3Igb3VyIHRlc3RzLiIKKyAgKGRlY2xhcmUg KGluZGVudCAxKSkKKyAgICBgKGNsLWxldGYgKCgoc3ltYm9sLWZ1bmN0aW9uICdld3ctcmV0 cmlldmUpCisgICAgICAgICAgICAgICAgKGxhbWJkYSAodXJsIGNhbGxiYWNrIGFyZ3MpCisg ICAgICAgICAgICAgICAgICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgICAgICAgICAgICAgICAg ICAoaW5zZXJ0IChmdW5jYWxsIGV3dy10ZXN0LS1yZXNwb25zZS1mdW5jdGlvbiB1cmwpKQor ICAgICAgICAgICAgICAgICAgICAoYXBwbHkgY2FsbGJhY2sgbmlsIGFyZ3MpKSkpKQorICAg ICAgICh3aXRoLXRlbXAtYnVmZmVyCisgICAgICAgICAoZXd3LW1vZGUpCisgICAgICAgICAs QGJvZHkpKSkKKworKGRlZnVuIGV3dy10ZXN0LS1oaXN0b3J5LXVybHMgKCkKKyAgKG1hcGNh ciAobGFtYmRhIChlbGVtKSAocGxpc3QtZ2V0IGVsZW0gOnVybCkpIGV3dy1oaXN0b3J5KSkK KworOzs7IFRlc3RzOgorCisoZXJ0LWRlZnRlc3QgZXd3LXRlc3QvaGlzdG9yeS9uZXctcGFn ZSAoKQorICAiVGVzdCB0aGF0IHdoZW4gdmlzaXRpbmcgYSBuZXcgcGFnZSwgdGhlIHByZXZp b3VzIG9uZSBnb2VzIGludG8gdGhlIGhpc3RvcnkuIgorICAoZXd3LXRlc3QtLXdpdGgtbW9j ay1yZXRyaWV2ZQorICAgIChld3cgIm9uZS5pbnZhbGlkIikKKyAgICAoZXd3ICJ0d28uaW52 YWxpZCIpCisgICAgKHNob3VsZCAoZXF1YWwgKGV3dy10ZXN0LS1oaXN0b3J5LXVybHMpCisg ICAgICAgICAgICAgICAgICAgJygiaHR0cDovL29uZS5pbnZhbGlkLyIpKSkKKyAgICAoZXd3 ICJ0aHJlZS5pbnZhbGlkIikKKyAgICAoc2hvdWxkIChlcXVhbCAoZXd3LXRlc3QtLWhpc3Rv cnktdXJscykKKyAgICAgICAgICAgICAgICAgICAnKCJodHRwOi8vdHdvLmludmFsaWQvIgor ICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly9vbmUuaW52YWxpZC8iKSkpKSkKKworKGVy dC1kZWZ0ZXN0IGV3dy10ZXN0L2hpc3RvcnkvYmFjay1mb3J3YXJkICgpCisgICJUZXN0IHRo YXQgbmF2aWdhdGluZyB0aHJvdWdoIGhpc3RvcnkganVzdCBjaGFuZ2VzIG91ciBoaXN0b3J5 IHBvc2l0aW9uLgorU2VlIGJ1ZyM2OTIzMi4iCisgIChld3ctdGVzdC0td2l0aC1tb2NrLXJl dHJpZXZlCisgICAgKGV3dyAib25lLmludmFsaWQiKQorICAgIChld3cgInR3by5pbnZhbGlk IikKKyAgICAoZXd3ICJ0aHJlZS5pbnZhbGlkIikKKyAgICAobGV0ICgodXJsLWhpc3Rvcnkg JygiaHR0cDovL3RocmVlLmludmFsaWQvIgorICAgICAgICAgICAgICAgICAgICAgICAgICJo dHRwOi8vdHdvLmludmFsaWQvIgorICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8v b25lLmludmFsaWQvIikpKQorICAgICAgOzsgR28gYmFjayBvbmUgcGFnZS4gIFRoaXMgc2hv dWxkIGFkZCAidGhyZWUuaW52YWxpZCIgdG8gdGhlCisgICAgICA7OyBoaXN0b3J5LCBtYWtp bmcgb3VyIHBvc2l0aW9uIGluIHRoZSBsaXN0IDIuCisgICAgICAoZXd3LWJhY2stdXJsKQor ICAgICAgKHNob3VsZCAoZXF1YWwgKGV3dy10ZXN0LS1oaXN0b3J5LXVybHMpIHVybC1oaXN0 b3J5KSkKKyAgICAgIChzaG91bGQgKD0gZXd3LWhpc3RvcnktcG9zaXRpb24gMikpCisgICAg ICA7OyBHbyBiYWNrIGFnYWluLgorICAgICAgKGV3dy1iYWNrLXVybCkKKyAgICAgIChzaG91 bGQgKGVxdWFsIChld3ctdGVzdC0taGlzdG9yeS11cmxzKSB1cmwtaGlzdG9yeSkpCisgICAg ICAoc2hvdWxkICg9IGV3dy1oaXN0b3J5LXBvc2l0aW9uIDMpKQorICAgICAgOzsgQXQgdGhl IGJlZ2lubmluZyBvZiB0aGUgaGlzdG9yeSwgc28gdHJ5aW5nIHRvIGdvIGJhY2sgc2hvdWxk CisgICAgICA7OyBzaWduYWwgYW4gZXJyb3IuCisgICAgICAoc2hvdWxkLWVycm9yIChld3ct YmFjay11cmwpKQorICAgICAgOzsgR28gZm9yd2FyZCBvbmNlLgorICAgICAgKGV3dy1mb3J3 YXJkLXVybCkKKyAgICAgIChzaG91bGQgKGVxdWFsIChld3ctdGVzdC0taGlzdG9yeS11cmxz KSB1cmwtaGlzdG9yeSkpCisgICAgICAoc2hvdWxkICg9IGV3dy1oaXN0b3J5LXBvc2l0aW9u IDIpKQorICAgICAgOzsgR28gZm9yd2FyZCBhZ2Fpbi4KKyAgICAgIChld3ctZm9yd2FyZC11 cmwpCisgICAgICAoc2hvdWxkIChlcXVhbCAoZXd3LXRlc3QtLWhpc3RvcnktdXJscykgdXJs LWhpc3RvcnkpKQorICAgICAgKHNob3VsZCAoPSBld3ctaGlzdG9yeS1wb3NpdGlvbiAxKSkK KyAgICAgIDs7IEF0IHRoZSBlbmQgb2YgdGhlIGhpc3RvcnksIHNvIHRyeWluZyB0byBnbyBm b3J3YXJkIHNob3VsZAorICAgICAgOzsgc2lnbmFsIGFuIGVycm9yLgorICAgICAgKHNob3Vs ZC1lcnJvciAoZXd3LWZvcndhcmQtdXJsKSkpKSkKKworKGVydC1kZWZ0ZXN0IGV3dy10ZXN0 L2hpc3RvcnkvcmVsb2FkLWluLXBsYWNlICgpCisgICJUZXN0IHRoYXQgcmVsb2FkaW5nIGhp c3RvcmljYWwgcGFnZXMgdXBkYXRlcyB0aGVpciBoaXN0b3J5IGVudHJ5IGluLXBsYWNlLgor U2VlIGJ1ZyM2OTIzMi4iCisgIChld3ctdGVzdC0td2l0aC1tb2NrLXJldHJpZXZlCisgICAg KGV3dyAib25lLmludmFsaWQiKQorICAgIChld3cgInR3by5pbnZhbGlkIikKKyAgICAoZXd3 ICJ0aHJlZS5pbnZhbGlkIikKKyAgICAoZXd3LWJhY2stdXJsKQorICAgIDs7IE1ha2Ugc3Vy ZSBvdXIgaGlzdG9yeSBoYXMgdGhlIG9yaWdpbmFsIHBhZ2UgdGV4dC4KKyAgICAoc2hvdWxk IChlcXVhbCAocGxpc3QtZ2V0IChudGggMSBld3ctaGlzdG9yeSkgOnRleHQpCisgICAgICAg ICAgICAgICAgICAgImh0dHA6Ly90d28uaW52YWxpZC8iKSkKKyAgICAoc2hvdWxkICg9IGV3 dy1oaXN0b3J5LXBvc2l0aW9uIDIpKQorICAgIDs7IFJlbG9hZCB0aGUgcGFnZS4KKyAgICAo bGV0ICgoZXd3LXRlc3QtLXJlc3BvbnNlLWZ1bmN0aW9uCisgICAgICAgICAgIChsYW1iZGEg KHVybCkgKGNvbmNhdCAiXG5yZWxvYWRlZCAiIHVybCkpKSkKKyAgICAgIChld3ctcmVsb2Fk KQorICAgICAgKHNob3VsZCAoPSBld3ctaGlzdG9yeS1wb3NpdGlvbiAyKSkpCisgICAgOzsg R28gdG8gYW5vdGhlciBwYWdlLCBhbmQgbWFrZSBzdXJlIHRoZSBoaXN0b3J5IGlzIGNvcnJl Y3QsCisgICAgOzsgaW5jbHVkaW5nIHRoZSByZWxvYWRlZCBwYWdlIHRleHQuCisgICAgKGV3 dyAiZm91ci5pbnZhbGlkIikKKyAgICAoc2hvdWxkIChlcXVhbCAoZXd3LXRlc3QtLWhpc3Rv cnktdXJscykgJygiaHR0cDovL3R3by5pbnZhbGlkLyIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL29uZS5pbnZhbGlkLyIpKSkKKyAg ICAoc2hvdWxkIChlcXVhbCAocGxpc3QtZ2V0IChudGggMCBld3ctaGlzdG9yeSkgOnRleHQp CisgICAgICAgICAgICAgICAgICAgInJlbG9hZGVkIGh0dHA6Ly90d28uaW52YWxpZC8iKSkK KyAgICAoc2hvdWxkICg9IGV3dy1oaXN0b3J5LXBvc2l0aW9uIDApKSkpCisKKyhlcnQtZGVm dGVzdCBld3ctdGVzdC9oaXN0b3J5L2JlZm9yZS1uYXZpZ2F0ZS9jbGVhci1mdXR1cmUtaGlz dG9yeSAoKQorICAiVGVzdCB0aGF0IGdvaW5nIHRvIGEgbmV3IHBhZ2UgZnJvbSBhIGhpc3Rv cmljYWwgb25lIGNsZWFycyBmdXR1cmUgaGlzdG9yeS4KK1NlZSBidWcjNjkyMzIuIgorICAo ZXd3LXRlc3QtLXdpdGgtbW9jay1yZXRyaWV2ZQorICAgIChld3cgIm9uZS5pbnZhbGlkIikK KyAgICAoZXd3ICJ0d28uaW52YWxpZCIpCisgICAgKGV3dyAidGhyZWUuaW52YWxpZCIpCisg ICAgKGV3dy1iYWNrLXVybCkKKyAgICAoZXd3ICJmb3VyLmludmFsaWQiKQorICAgIChld3cg ImZpdmUuaW52YWxpZCIpCisgICAgKHNob3VsZCAoZXF1YWwgKGV3dy10ZXN0LS1oaXN0b3J5 LXVybHMpICcoImh0dHA6Ly9mb3VyLmludmFsaWQvIgorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vdHdvLmludmFsaWQvIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vb25lLmlu dmFsaWQvIikpKQorICAgIChzaG91bGQgKD0gZXd3LWhpc3RvcnktcG9zaXRpb24gMCkpKSkK KworKGVydC1kZWZ0ZXN0IGV3dy10ZXN0L2hpc3RvcnkvYmVmb3JlLW5hdmlnYXRlL2lnbm9y ZS1oaXN0b3J5ICgpCisgICJUZXN0IHRoYXQgZ29pbmcgdG8gYSBuZXcgcGFnZSBmcm9tIGEg aGlzdG9yaWNhbCBvbmUgcHJlc2VydmVzIGhpc3RvcnkuCitUaGlzIHNldHMgYGV3dy1iZWZv cmUtYnJvd3NlLWZ1bmN0aW9uJyB0byBgaWdub3JlJyB0byBwcmVzZXJ2ZSBoaXN0b3J5Lgor U2VlIGJ1ZyM2OTIzMi4iCisgIChsZXQgKChld3ctYmVmb3JlLWJyb3dzZS1mdW5jdGlvbiAj J2lnbm9yZSkpCisgICAgKGV3dy10ZXN0LS13aXRoLW1vY2stcmV0cmlldmUKKyAgICAgIChl d3cgIm9uZS5pbnZhbGlkIikKKyAgICAgIChld3cgInR3by5pbnZhbGlkIikKKyAgICAgIChl d3cgInRocmVlLmludmFsaWQiKQorICAgICAgKGV3dy1iYWNrLXVybCkKKyAgICAgIChld3cg ImZvdXIuaW52YWxpZCIpCisgICAgICAoZXd3ICJmaXZlLmludmFsaWQiKQorICAgICAgKHNo b3VsZCAoZXF1YWwgKGV3dy10ZXN0LS1oaXN0b3J5LXVybHMpICcoImh0dHA6Ly9mb3VyLmlu dmFsaWQvIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgImh0dHA6Ly90aHJlZS5pbnZhbGlkLyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJodHRwOi8vdHdvLmludmFsaWQvIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly9vbmUuaW52 YWxpZC8iKSkpCisgICAgICAoc2hvdWxkICg9IGV3dy1oaXN0b3J5LXBvc2l0aW9uIDApKSkp KQorCisoZXJ0LWRlZnRlc3QgZXd3LXRlc3QvaGlzdG9yeS9iZWZvcmUtbmF2aWdhdGUvY2xv bmUtcHJldmlvdXMgKCkKKyAgIlRlc3QgdGhhdCBnb2luZyB0byBhIG5ldyBwYWdlIGZyb20g YSBoaXN0b3JpY2FsIG9uZSBjbG9uZXMgcHJpb3IgaGlzdG9yeS4KK1RoaXMgc2V0cyBgZXd3 LWJlZm9yZS1icm93c2UtZnVuY3Rpb24nIHRvIGBld3ctY2xvbmUtcHJldmlvdXMtaGlzdG9y eScKK3RvIGNsb25lIHRoZSBoaXN0b3J5LiAgU2VlIGJ1ZyM2OTIzMi4iCisgIChsZXQgKChl d3ctYmVmb3JlLWJyb3dzZS1mdW5jdGlvbiAjJ2V3dy1jbG9uZS1wcmV2aW91cy1oaXN0b3J5 KSkKKyAgICAoZXd3LXRlc3QtLXdpdGgtbW9jay1yZXRyaWV2ZQorICAgICAgKGV3dyAib25l LmludmFsaWQiKQorICAgICAgKGV3dyAidHdvLmludmFsaWQiKQorICAgICAgKGV3dyAidGhy ZWUuaW52YWxpZCIpCisgICAgICAoZXd3LWJhY2stdXJsKQorICAgICAgKGV3dyAiZm91ci5p bnZhbGlkIikKKyAgICAgIChld3cgImZpdmUuaW52YWxpZCIpCisgICAgICAoc2hvdWxkIChl cXVhbCAoZXd3LXRlc3QtLWhpc3RvcnktdXJscykKKyAgICAgICAgICAgICAgICAgICAgICco OzsgTmV3IHBhZ2UgYW5kIGNsb25lZCBoaXN0b3J5LgorICAgICAgICAgICAgICAgICAgICAg ICAiaHR0cDovL2ZvdXIuaW52YWxpZC8iCisgICAgICAgICAgICAgICAgICAgICAgICJodHRw Oi8vdHdvLmludmFsaWQvIgorICAgICAgICAgICAgICAgICAgICAgICAiaHR0cDovL29uZS5p bnZhbGlkLyIKKyAgICAgICAgICAgICAgICAgICAgICAgOzsgT3JpZ2luYWwgaGlzdG9yeS4K KyAgICAgICAgICAgICAgICAgICAgICAgImh0dHA6Ly90aHJlZS5pbnZhbGlkLyIKKyAgICAg ICAgICAgICAgICAgICAgICAgImh0dHA6Ly90d28uaW52YWxpZC8iCisgICAgICAgICAgICAg ICAgICAgICAgICJodHRwOi8vb25lLmludmFsaWQvIikpKQorICAgICAgKHNob3VsZCAoPSBl d3ctaGlzdG9yeS1wb3NpdGlvbiAwKSkpKSkKKworKHByb3ZpZGUgJ2V3dy10ZXN0cykKKzs7 IGV3dy10ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMjUuMQoK --------------gG00H1G0ERRREejvIFo9gNZR--