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#54470: 29.0.50; [PATCH] Add documentation/tests for Eshell argument expansion Date: Tue, 29 Mar 2022 21:47:31 -0700 Message-ID: References: <83bky1f6jk.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------218631157F856742B919BFA3" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="11510"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 54470@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Wed Mar 30 06:48:14 2022 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 1nZQFi-0002nB-3w for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 30 Mar 2022 06:48:14 +0200 Original-Received: from localhost ([::1]:43622 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nZQFg-0001sR-E4 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 30 Mar 2022 00:48:12 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:58732) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nZQFW-0001q4-SL for bug-gnu-emacs@gnu.org; Wed, 30 Mar 2022 00:48:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:40295) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nZQFW-0002MM-Jn for bug-gnu-emacs@gnu.org; Wed, 30 Mar 2022 00:48:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1nZQFW-0002EM-F8 for bug-gnu-emacs@gnu.org; Wed, 30 Mar 2022 00:48:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Wed, 30 Mar 2022 04:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 54470 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 54470-submit@debbugs.gnu.org id=B54470.16486156678490 (code B ref 54470); Wed, 30 Mar 2022 04:48:02 +0000 Original-Received: (at 54470) by debbugs.gnu.org; 30 Mar 2022 04:47:47 +0000 Original-Received: from localhost ([127.0.0.1]:34192 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nZQFD-0002CY-M5 for submit@debbugs.gnu.org; Wed, 30 Mar 2022 00:47:47 -0400 Original-Received: from mail-pl1-f175.google.com ([209.85.214.175]:47073) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1nZQF9-0002BZ-Rh for 54470@debbugs.gnu.org; Wed, 30 Mar 2022 00:47:42 -0400 Original-Received: by mail-pl1-f175.google.com with SMTP id a16so2559936plh.13 for <54470@debbugs.gnu.org>; Tue, 29 Mar 2022 21:47:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:from:to:cc:references:message-id:date:mime-version :in-reply-to:content-language; bh=w20liqHqSbi5Pmgsa0vPXjLnPOZqgmwtxz+yazg9nSY=; b=RevWJyaVF6DgI2Q6GsWOrELbkDypwXB3XgDlhIOjsUe8v0bLgrQ6Yaz0A/OshZHVyA ZVBIn6V4I8n8yIgs/jBywePlayR5hGlyLk5XLu1wQvBpPf93snr80n8oETdA+UZZJ2YK aI+p/YZI7SmruZVFjoQxGQzhT4rQqQLxCwXDaNLQLaCqDJavHVYYIDH4UBoOICmAVTnb WK1yurnDVp1o4rRWZ/8sIPUh9/wIJJkUWRzWJvbaPyzpkqfxlCeoAcS4ekc+/77nlkDw 28Sp/2a3cK3SA73L5YYSPHV+HIfLWVLhzwJ41gl4AH6XjOQslmo91feVr3ZFQ5LmBt1y 6+HQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:from:to:cc:references:message-id:date :mime-version:in-reply-to:content-language; bh=w20liqHqSbi5Pmgsa0vPXjLnPOZqgmwtxz+yazg9nSY=; b=n+NMBxxhWw5I8OpDkUIUp+iPSod7FIwWM3fpz0zTsiAmi59EwAyWmt7i9fcO891VcA ieTW0I85O6hrg4w1pSE5TWu+/ZPJ/WYwHM3hKJ7W0SoHLNXZfyjnTUs4ZgdLAwx+o1jH VrQe7CmMmRM0Bw++mVE+6vc/XKU8tGgRkcs0T6XFhX/nuW93yFnNOjo8NE7oxFauiz+z 5Ceh7EMTFfW48yOFE2ikrE02yyDILIvnTR2uGWjOgYJwPwKv0+mNl7Isy6MB13jbZV3C feAyq7qMmxfS2CbP0eOrrZud5EvSSa2xkfy91FLa8I1UXOe9dB6gauyF+VZI0/ybEaB4 vMmg== X-Gm-Message-State: AOAM530XD0BSctHLd9nH1mEq/k4TNforLeIqYBvtF4a3JRGSnlumPZIb hOU9DGoOs+NVCbokhZmxnZYIiMTeOmQ= X-Google-Smtp-Source: ABdhPJxZ87aqhcdRn7O1eXO2hfuagkzpT49ZwWIlBmfJaPY7jyHQPtAEf7qZ2lI0DkY6Z7TSIeyfWQ== X-Received: by 2002:a17:902:ecca:b0:154:5393:aa81 with SMTP id a10-20020a170902ecca00b001545393aa81mr33501719plh.148.1648615653769; Tue, 29 Mar 2022 21:47:33 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id a11-20020a63cd4b000000b00378b9167493sm17797572pgj.52.2022.03.29.21.47.32 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 29 Mar 2022 21:47:33 -0700 (PDT) In-Reply-To: Content-Language: en-US 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" Xref: news.gmane.io gmane.emacs.bugs:229089 Archived-At: This is a multi-part message in MIME format. --------------218631157F856742B919BFA3 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit On 3/20/2022 1:57 PM, Jim Porter wrote: > On 3/20/2022 12:05 AM, Eli Zaretskii wrote: >> Thank you for working on this.  See some minor comments below. I found an additional bug in the global substitution modifier which could cause an infinite loop in some cases, e.g. with "(:gs/a/a/)". The regexp search wouldn't advance to the next character correctly and could get stuck. I've fixed this by using `replace-regexp-in-string' instead. --------------218631157F856742B919BFA3 Content-Type: text/plain; charset=UTF-8; name="0001-Add-unit-tests-and-documentation-for-Eshell-pattern-.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Add-unit-tests-and-documentation-for-Eshell-pattern-.pa"; filename*1="tch" RnJvbSBmZTJkZGE5OGI2MGY2ODdmZjRhZWUyMGI0NGVmMDAwZDY1YjE2MTg2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFR1ZSwgOCBNYXIgMjAyMiAxNzowNzoyNiAtMDgwMApTdWJqZWN0OiBbUEFU Q0ggMS8zXSBBZGQgdW5pdCB0ZXN0cyBhbmQgZG9jdW1lbnRhdGlvbiBmb3IgRXNoZWxsIHBh dHRlcm4tYmFzZWQKIGdsb2JzCgoqIGxpc3AvZXNoZWxsL2VtLWdsb2IuZWwgKGVzaGVsbC1l eHRlbmRlZC1nbG9iKTogRml4IGRvY3N0cmluZy4KKGVzaGVsbC1nbG9iLWVudHJpZXMpOiBS ZWZlciB0byAnKiovJyBpbiBlcnJvciAodGVjaG5pY2FsbHksICcqKicgY2FuCmVuZCBhIGds b2IsIGJ1dCBpdCBtZWFucyB0aGUgc2FtZSB0aGluZyBhcyAnKicpLgoKKiB0ZXN0L2xpc3Av ZXNoZWxsL2VtLWdsb2ItdGVzdHMuZWw6IE5ldyBmaWxlLgoKKiBkb2MvbWlzYy9lc2hlbGwu dGV4aSAoR2xvYmJpbmcpOiBEb2N1bWVudCBwYXR0ZXJuLWJhc2VkIGdsb2JzLgotLS0KIGRv Yy9taXNjL2VzaGVsbC50ZXhpICAgICAgICAgICAgICB8ICA5NCArKysrKysrKysrKysrKy0t CiBsaXNwL2VzaGVsbC9lbS1nbG9iLmVsICAgICAgICAgICAgfCAgMTQgKystCiB0ZXN0L2xp c3AvZXNoZWxsL2VtLWdsb2ItdGVzdHMuZWwgfCAxNzEgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDI2MiBpbnNlcnRpb25zKCspLCAxNyBkZWxl dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L2xpc3AvZXNoZWxsL2VtLWdsb2It dGVzdHMuZWwKCmRpZmYgLS1naXQgYS9kb2MvbWlzYy9lc2hlbGwudGV4aSBiL2RvYy9taXNj L2VzaGVsbC50ZXhpCmluZGV4IDM3MmU0YzNmZmIuLjBiNTJjNzMxNzYgMTAwNjQ0Ci0tLSBh L2RvYy9taXNjL2VzaGVsbC50ZXhpCisrKyBiL2RvYy9taXNjL2VzaGVsbC50ZXhpCkBAIC0x MDg5LDE1ICsxMDg5LDkxIEBAIERvbGxhcnMgRXhwYW5zaW9uCiAKIEBub2RlIEdsb2JiaW5n CiBAc2VjdGlvbiBHbG9iYmluZwotRXNoZWxsJ3MgZ2xvYmJpbmcgc3ludGF4IGlzIHZlcnkg c2ltaWxhciB0byB0aGF0IG9mIFpzaC4gIFVzZXJzIGNvbWluZwotZnJvbSBCYXNoIGNhbiBz dGlsbCB1c2UgQmFzaC1zdHlsZSBnbG9iYmluZywgYXMgdGhlcmUgYXJlIG5vCi1pbmNvbXBh dGliaWxpdGllcy4gIE1vc3QgZ2xvYmJpbmcgaXMgcGF0dGVybi1iYXNlZCBleHBhbnNpb24s IGJ1dCB0aGVyZQotaXMgYWxzbyBwcmVkaWNhdGUtYmFzZWQgZXhwYW5zaW9uLiAgQHhyZWZ7 RmlsZW5hbWUgR2VuZXJhdGlvbiwgLCAsCi16c2gsIFRoZSBaIFNoZWxsIE1hbnVhbH0sCi1m b3IgZnVsbCBzeW50YXguICBUbyBjdXN0b21pemUgdGhlIHN5bnRheCBhbmQgYmVoYXZpb3Ig b2YgZ2xvYmJpbmcgaW4KLUVzaGVsbCBzZWUgdGhlIEN1c3RvbWl6ZUBmb290bm90ZXtAeHJl ZntFYXN5IEN1c3RvbWl6YXRpb24sICwgLCBlbWFjcywKLVRoZSBHTlUgRW1hY3MgTWFudWFs fS59Ci1ncm91cHMgYGBlc2hlbGwtZ2xvYicnIGFuZCBgYGVzaGVsbC1wcmVkJycuCitAdmlu ZGV4IGVzaGVsbC1nbG9iLWNhc2UtaW5zZW5zaXRpdmUKK0VzaGVsbCdzIGdsb2JiaW5nIHN5 bnRheCBpcyB2ZXJ5IHNpbWlsYXIgdG8gdGhhdCBvZiBac2gKKyhAcHhyZWZ7RmlsZW5hbWUg R2VuZXJhdGlvbiwgLCAsIHpzaCwgVGhlIFogU2hlbGwgTWFudWFsfSkuICBVc2VycworY29t aW5nIGZyb20gQmFzaCBjYW4gc3RpbGwgdXNlIEJhc2gtc3R5bGUgZ2xvYmJpbmcsIGFzIHRo ZXJlIGFyZSBubworaW5jb21wYXRpYmlsaXRpZXMuCisKK0J5IGRlZmF1bHQsIGdsb2JzIGFy ZSBjYXNlIHNlbnNpdGl2ZSwgZXhjZXB0IG9uIE1TLURPUy9NUy1XaW5kb3dzCitzeXN0ZW1z LiAgWW91IGNhbiBjb250cm9sIHRoaXMgYmVoYXZpb3IgdmlhIHRoZQorQGNvZGV7ZXNoZWxs LWdsb2ItY2FzZS1pbnNlbnNpdGl2ZX0gb3B0aW9uLiAgWW91IGNhbiBmdXJ0aGVyIGN1c3Rv bWl6ZQordGhlIHN5bnRheCBhbmQgYmVoYXZpb3Igb2YgZ2xvYmJpbmcgaW4gRXNoZWxsIHZp YSB0aGUgQ3VzdG9taXplIGdyb3VwCitgYGVzaGVsbC1nbG9iJycgKEBweHJlZntFYXN5IEN1 c3RvbWl6YXRpb24sICwgLCBlbWFjcywgVGhlIEdOVSBFbWFjcworTWFudWFsfSkuCisKK0B0 YWJsZSBAc2FtcAorCitAaXRlbSAqCitNYXRjaGVzIGFueSBzdHJpbmcgKGluY2x1ZGluZyB0 aGUgZW1wdHkgc3RyaW5nKS4gIEZvciBleGFtcGxlLAorQHNhbXB7Ki5lbH0gbWF0Y2hlcyBh bnkgZmlsZSB3aXRoIHRoZSBAZmlsZXsuZWx9IGV4dGVuc2lvbi4KKworQGl0ZW0gPworTWF0 Y2hlcyBhbnkgc2luZ2xlIGNoYXJhY3Rlci4gIEZvciBleGFtcGxlLCBAc2FtcHs/YXR9IG1h dGNoZXMKK0BmaWxle2NhdH0gYW5kIEBmaWxle2JhdH0sIGJ1dCBub3QgQGZpbGV7Z29hdH0u CisKK0BpdGVtICoqLworTWF0Y2hlcyB6ZXJvIG9yIG1vcmUgc3ViZGlyZWN0b3JpZXMgaW4g YSBmaWxlIG5hbWUuICBGb3IgZXhhbXBsZSwKK0BzYW1weyoqL2Zvby5lbH0gbWF0Y2hlcyBA ZmlsZXtmb28uZWx9LCBAZmlsZXtiYXIvZm9vLmVsfSwKK0BmaWxle2Jhci9iYXovZm9vLmVs fSwgZXRjLiAgTm90ZSB0aGF0IHRoaXMgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGgKK2FueSBv dGhlciBwYXR0ZXJucyBpbiB0aGUgc2FtZSBmaWxlIG5hbWUgc2VnbWVudCwgc28gd2hpbGUK K0BzYW1we2Zvby8qKi9iYXIuZWx9IGlzIGFsbG93ZWQsIEBzYW1we2ZvbyoqL2Jhci5lbH0g aXMgbm90LgorCitAaXRlbSAqKiovCitMaWtlIEBjb2RleyoqL30sIGJ1dCBmb2xsb3dzIHN5 bWxpbmtzIGFzIHdlbGwuCisKK0BjaW5kZXggY2hhcmFjdGVyIHNldHMsIGluIEVzaGVsbCBn bG9iIHBhdHRlcm5zCitAY2luZGV4IGNoYXJhY3RlciBjbGFzc2VzLCBpbiBFc2hlbGwgZ2xv YiBwYXR0ZXJucworQGl0ZW0gWyBAZG90c3t9IF0KK0RlZmluZXMgYSBAZGZue2NoYXJhY3Rl ciBzZXR9IChAcHhyZWZ7UmVnZXhwcywgLCAsIGVtYWNzLCBUaGUgR05VCitFbWFjcyBNYW51 YWx9KS4gIEEgY2hhcmFjdGVyIHNldCBtYXRjaGVzIGNoYXJhY3RlcnMgYmV0d2VlbiB0aGUg dHdvCiticmFja2V0czsgZm9yIGV4YW1wbGUsIEBzYW1we1thZF19IG1hdGNoZXMgQGZpbGV7 YX0gYW5kIEBmaWxle2R9LiAgWW91CitjYW4gYWxzbyBpbmNsdWRlIHJhbmdlcyBvZiBjaGFy YWN0ZXJzIGluIHRoZSBzZXQgYnkgc2VwYXJhdGluZyB0aGUKK3N0YXJ0IGFuZCBlbmQgd2l0 aCBAc2FtcHstfS4gIFRodXMsIEBzYW1we1thLXpdfSBtYXRjaGVzIGFueQorbG93ZXItY2Fz ZSBAYWNyb255bXtBU0NJSX0gbGV0dGVyLiAgTm90ZSB0aGF0LCB1bmxpa2UgaW4gWnNoLAor Y2hhcmFjdGVyIHJhbmdlcyBhcmUgaW50ZXJwcmV0ZWQgaW4gdGhlIFVuaWNvZGUgY29kZXBv aW50IG9yZGVyLCBub3QKK2luIHRoZSBsb2NhbGUtZGVwZW5kZW50IGNvbGxhdGlvbiBvcmRl ci4KKworQWRkaXRpb25hbGx5LCB5b3UgY2FuIGluY2x1ZGUgQGRmbntjaGFyYWN0ZXIgY2xh c3Nlc30gaW4gYSBjaGFyYWN0ZXIKK3NldC4gIEEgQHNhbXB7Wzp9IGFuZCBiYWxhbmNpbmcg QHNhbXB7Ol19IGVuY2xvc2UgYSBjaGFyYWN0ZXIgY2xhc3MKK2luc2lkZSBhIGNoYXJhY3Rl ciBzZXQuICBGb3IgaW5zdGFuY2UsIEBzYW1we1tbOmFsbnVtOl1dfQorbWF0Y2hlcyBhbnkg bGV0dGVyIG9yIGRpZ2l0LiAgQHhyZWZ7Q2hhciBDbGFzc2VzLCAsICwgZWxpc3AsIFRoZSBF bWFjcworTGlzcCBSZWZlcmVuY2UgTWFudWFsfSwgZm9yIGEgbGlzdCBvZiBjaGFyYWN0ZXIg Y2xhc3Nlcy4KKworQGNpbmRleCBjb21wbGVtZW50ZWQgY2hhcmFjdGVyIHNldHMsIGluIEVz aGVsbCBnbG9iIHBhdHRlcm5zCitAaXRlbSBbXiBAZG90c3t9IF0KK0RlZmluZXMgYSBAZGZu e2NvbXBsZW1lbnRlZCBjaGFyYWN0ZXIgc2V0fS4gIFRoaXMgYmVoYXZlcyBqdXN0IGxpa2Ug YQorY2hhcmFjdGVyIHNldCwgYnV0IG1hdGNoZXMgYW55IGNoYXJhY3RlciBAZW1waHtleGNl cHR9IHRoZSBvbmVzCitzcGVjaWZpZWQuCisKK0BjaW5kZXggZ3JvdXBzLCBpbiBFc2hlbGwg Z2xvYiBwYXR0ZXJucworQGl0ZW0gKCBAZG90c3t9ICkKK0RlZmluZXMgYSBAZGZue2dyb3Vw fS4gIEEgZ3JvdXAgbWF0Y2hlcyB0aGUgcGF0dGVybiBiZXR3ZWVuIEBzYW1weyh9CithbmQg QHNhbXB7KX0uICBOb3RlIHRoYXQgYSBncm91cCBjYW4gb25seSBtYXRjaCBhIHNpbmdsZSBm aWxlIG5hbWUKK2NvbXBvbmVudCwgc28gYSBAc2FtcHsvfSBpbnNpZGUgYSBncm91cCB3aWxs IHNpZ25hbCBhbiBlcnJvci4KKworQGl0ZW0gQHZhcnt4fXxAdmFye3l9CitJbnNpZGUgb2Yg YSBncm91cCwgbWF0Y2hlcyBlaXRoZXIgQHZhcnt4fSBvciBAdmFye3l9LiAgRm9yIGV4YW1w bGUsCitAc2FtcHtlKG18c2gpLSp9IG1hdGNoZXMgYW55IGZpbGUgYmVnaW5uaW5nIHdpdGgg QGNvZGV7ZW0tfSBvcgorQGNvZGV7ZXNoLX0uCisKK0BpdGVtIEB2YXJ7eH0jCitNYXRjaGVz IHplcm8gb3IgbW9yZSBjb3BpZXMgb2YgdGhlIGdsb2IgcGF0dGVybiBAdmFye3h9LiAgRm9y IGV4YW1wbGUsCitAc2FtcHtmbyMuZWx9IG1hdGNoZXMgQGZpbGV7Zi5lbH0sIEBmaWxle2Zv LmVsfSwgQGZpbGV7Zm9vLmVsfSwgZXRjLgorCitAaXRlbSBAdmFye3h9IyMKK01hdGNoZXMg b25lIG9yIG1vcmUgY29waWVzIG9mIHRoZSBnbG9iIHBhdHRlcm4gQHZhcnt4fS4gIFRodXMs CitAc2FtcHtmbyMuZWx9IG1hdGNoZXMgQGZpbGV7Zm8uZWx9LCBAZmlsZXtmb28uZWx9LCBA ZmlsZXtmb29vLmVsfSwKK2V0Yy4KKworQGl0ZW0gQHZhcnt4fX5AdmFye3l9CitNYXRjaGVz IGFueXRoaW5nIHRoYXQgbWF0Y2hlcyB0aGUgcGF0dGVybiBAdmFye3h9IGJ1dCBub3QgQHZh cnt5fS4gRm9yCitleGFtcGxlLCBAc2FtcHtbWzpkaWdpdDpdXSN+ND99IG1hdGNoZXMgQGZp bGV7MX0gYW5kIEBmaWxlezEyfSwgYnV0Citub3QgQGZpbGV7NDJ9LiAgTm90ZSB0aGF0IHVu bGlrZSBpbiBac2gsIG9ubHkgYSBzaW5nbGUgQGNvZGV7fn0KK29wZXJhdG9yIGNhbiBiZSB1 c2VkIGluIGEgcGF0dGVybiwgYW5kIGl0IGNhbm5vdCBiZSBpbnNpZGUgb2YgYSBncm91cAor bGlrZSBAc2FtcHsoQHZhcnt4fX5AdmFye3l9KX0uCisKK0BlbmQgdGFibGUKIAogQG5vZGUg SW5wdXQvT3V0cHV0CiBAY2hhcHRlciBJbnB1dC9PdXRwdXQKZGlmZiAtLWdpdCBhL2xpc3Av ZXNoZWxsL2VtLWdsb2IuZWwgYi9saXNwL2VzaGVsbC9lbS1nbG9iLmVsCmluZGV4IDg0MmYy N2E0OTIuLjUyNTMxZmY4OTMgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VtLWdsb2IuZWwK KysrIGIvbGlzcC9lc2hlbGwvZW0tZ2xvYi5lbApAQCAtMjMzLDcgKzIzMywxMCBAQCBlc2hl bGwtZ2xvYi1yZWdleHAKIAkgICAgIlxcJyIpKSkKIAogKGRlZnVuIGVzaGVsbC1leHRlbmRl ZC1nbG9iIChnbG9iKQotICAiUmV0dXJuIGEgbGlzdCBvZiBmaWxlcyBnZW5lcmF0ZWQgZnJv bSBHTE9CLCBwZXJoYXBzIGxvb2tpbmcgZm9yIERJUlMtT05MWS4KKyAgIlJldHVybiBhIGxp c3Qgb2YgZmlsZXMgbWF0Y2hlZCBieSBHTE9CLgorSWYgbm8gZmlsZXMgbWF0Y2gsIHNpZ25h bCBhbiBlcnJvciAoaWYgYGVzaGVsbC1lcnJvci1pZi1uby1nbG9iJworaXMgbm9uLW5pbCks IG9yIG90aGVyd2lzZSByZXR1cm4gR0xPQiBpdHNlbGYuCisKIFRoaXMgZnVuY3Rpb24gYWxt b3N0IGZ1bGx5IHN1cHBvcnRzIHpzaCBzdHlsZSBmaWxlbmFtZSBnZW5lcmF0aW9uCiBzeW50 YXguICBUaGluZ3MgdGhhdCBhcmUgbm90IHN1cHBvcnRlZCBhcmU6CiAKQEAgLTI0MywxMiAr MjQ2LDcgQEAgZXNoZWxsLWV4dGVuZGVkLWdsb2IKICAgIGZvb354KGF8YikgIChhfGIpIHdp bGwgYmUgaW50ZXJwcmV0ZWQgYXMgYSBwcmVkaWNhdGUvbW9kaWZpZXIgbGlzdAogCiBNYWlu bHkgdGhleSBhcmUgbm90IHN1cHBvcnRlZCBiZWNhdXNlIGZpbGUgbWF0Y2hpbmcgaXMgZG9u ZSB3aXRoIEVtYWNzCi1yZWd1bGFyIGV4cHJlc3Npb25zLCBhbmQgdGhlc2UgY2Fubm90IHN1 cHBvcnQgdGhlIGFib3ZlIGNvbnN0cnVjdHMuCi0KLUlmIHRoaXMgcm91dGluZSBmYWlscywg aXQgcmV0dXJucyBuaWwuICBPdGhlcndpc2UsIGl0IHJldHVybnMgYSBsaXN0Ci10aGUgZm9y bToKLQotICAgKElOQ0xVREUtUkVHRVhQIEVYQ0xVREUtUkVHRVhQIChQUkVELUZVTkMtTElT VCkgKE1PRC1GVU5DLUxJU1QpKSIKK3JlZ3VsYXIgZXhwcmVzc2lvbnMsIGFuZCB0aGVzZSBj YW5ub3Qgc3VwcG9ydCB0aGUgYWJvdmUgY29uc3RydWN0cy4iCiAgIChsZXQgKChwYXRocyAo ZXNoZWxsLXNwbGl0LXBhdGggZ2xvYikpCiAgICAgICAgIGVzaGVsbC1nbG9iLW1hdGNoZXMg bWVzc2FnZS1zaG93bikKICAgICAodW53aW5kLXByb3RlY3QKQEAgLTI4Nyw3ICsyODUsNyBA QCBlc2hlbGwtZ2xvYi1lbnRyaWVzCiAJCSAgIGdsb2IgKGNhciBnbG9icykKIAkJICAgbGVu IChsZW5ndGggZ2xvYikpKSkpCiAgICAgKGlmIChhbmQgcmVjdXJzZS1wIChub3QgZ2xvYikp Ci0JKGVycm9yICJgKionIGNhbm5vdCBlbmQgYSBnbG9iYmluZyBwYXR0ZXJuIikpCisJKGVy cm9yICJgKiovJyBjYW5ub3QgZW5kIGEgZ2xvYmJpbmcgcGF0dGVybiIpKQogICAgIChsZXQg KChpbmRleCAxKSkKICAgICAgIChzZXRxIGluY2wgZ2xvYikKICAgICAgICh3aGlsZSAoYW5k IChlcSBpbmNsIGdsb2IpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VtLWdsb2It dGVzdHMuZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VtLWdsb2ItdGVzdHMuZWwKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMC4uOTk3NmIzMmZmZQotLS0gL2Rldi9udWxs CisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZW0tZ2xvYi10ZXN0cy5lbApAQCAtMCwwICsxLDE3 MSBAQAorOzs7IGVtLWdsb2ItdGVzdHMuZWwgLS0tIGVtLWdsb2IgdGVzdCBzdWl0ZSAgLSot IGxleGljYWwtYmluZGluZzp0IC0qLQorCis7OyBDb3B5cmlnaHQgKEMpIDIwMjIgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdO VSBFbWFjcy4KKworOzsgR05VIEVtYWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorOzsgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworOzsg R05VIEVtYWNzIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCis7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworOzsgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7IGFsb25n IHdpdGggR05VIEVtYWNzLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGlj ZW5zZXMvPi4KKworOzs7IENvbW1lbnRhcnk6CisKKzs7IFRlc3RzIGZvciBFc2hlbGwncyBn bG9iIGV4cGFuc2lvbi4KKworOzs7IENvZGU6CisKKyhyZXF1aXJlICdlcnQpCisocmVxdWly ZSAnZW0tZ2xvYikKKworKGRlZm1hY3JvIHdpdGgtZmFrZS1maWxlcyAoZmlsZXMgJnJlc3Qg Ym9keSkKKyAgIkV2YWx1YXRlIEJPRFkgZm9ybXMsIHByZXRlbmRpbmcgdGhhdCBGSUxFUyBl eGlzdCBvbiB0aGUgZmlsZXN5c3RlbS4KK0ZJTEVTIGlzIGEgbGlzdCBvZiBmaWxlIG5hbWVz IHRoYXQgc2hvdWxkIGJlIHJlcG9ydGVkIGFzCithcHByb3ByaWF0ZSBieSBgZmlsZS1uYW1l LWFsbC1jb21wbGV0aW9ucycuICBBbnkgZmlsZSBuYW1lCitjb21wb25lbnQgZW5kaW5nIGlu IFwic3ltbGlua1wiIGlzIHRyZWF0ZWQgYXMgYSBzeW1ib2xpYyBsaW5rLiIKKyAgKGRlY2xh cmUgKGluZGVudCAxKSkKKyAgYChjbC1sZXRmICgoKHN5bWJvbC1mdW5jdGlvbiAnZmlsZS1u YW1lLWFsbC1jb21wbGV0aW9ucykKKyAgICAgICAgICAgICAgKGxhbWJkYSAoZmlsZSBkaXJl Y3RvcnkpCisgICAgICAgICAgICAgICAgKGNsLWFzc2VydCAoc3RyaW5nPSBmaWxlICIiKSkK KyAgICAgICAgICAgICAgICAoc2V0cSBkaXJlY3RvcnkgKGV4cGFuZC1maWxlLW5hbWUgZGly ZWN0b3J5KSkKKyAgICAgICAgICAgICAgICBgKCIuLyIgIi4uLyIKKyAgICAgICAgICAgICAg ICAgICxAKGRlbGV0ZS1kdXBzCisgICAgICAgICAgICAgICAgICAgICAocmVtcSBuaWwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtYXBjYXIKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobGFtYmRhIChmaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHNldHEgZmlsZSAoZXhwYW5kLWZpbGUtbmFtZSBmaWxlKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICh3aGVuIChzdHJpbmctcHJlZml4LXAgZGlyZWN0b3J5IGZpbGUpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZXBsYWNlLXJlZ2V4cC1pbi1zdHJp bmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvLioiICIvIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN1YnN0cmluZyBmaWxlIChsZW5ndGggZGly ZWN0b3J5KSkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAsZmlsZXMpKSkpKSkK KyAgICAgICAgICAgICAoKHN5bWJvbC1mdW5jdGlvbiAnZmlsZS1zeW1saW5rLXApCisgICAg ICAgICAgICAgIChsYW1iZGEgKGZpbGUpCisgICAgICAgICAgICAgICAgKHN0cmluZy1zdWZm aXgtcCAic3ltbGluayIgZmlsZSkpKSkKKyAgICAgLEBib2R5KSkKKworOzs7IFRlc3RzOgor CisoZXJ0LWRlZnRlc3QgZW0tZ2xvYi10ZXN0L21hdGNoLWFueS1zdHJpbmcgKCkKKyAgIlRl c3QgdGhhdCBcIipcIiBwYXR0ZXJuIG1hdGNoZXMgYW55IHN0cmluZy4iCisgICh3aXRoLWZh a2UtZmlsZXMgJygiYS5lbCIgImIuZWwiICJjLnR4dCIgImRpci9hLmVsIikKKyAgICAoc2hv dWxkIChlcXVhbCAoZXNoZWxsLWV4dGVuZGVkLWdsb2IgIiouZWwiKQorICAgICAgICAgICAg ICAgICAgICcoImEuZWwiICJiLmVsIikpKSkpCisKKyhlcnQtZGVmdGVzdCBlbS1nbG9iLXRl c3QvbWF0Y2gtYW55LWNoYXJhY3RlciAoKQorICAiVGVzdCB0aGF0IFwiP1wiIHBhdHRlcm4g bWF0Y2hlcyBhbnkgY2hhcmFjdGVyLiIKKyAgKHdpdGgtZmFrZS1maWxlcyAnKCJhLmVsIiAi Yi5lbCIgImNjYy5lbCIgImQudHh0IiAiZGlyL2EuZWwiKQorICAgIChzaG91bGQgKGVxdWFs IChlc2hlbGwtZXh0ZW5kZWQtZ2xvYiAiPy5lbCIpCisgICAgICAgICAgICAgICAgICAgJygi YS5lbCIgImIuZWwiKSkpKSkKKworKGVydC1kZWZ0ZXN0IGVtLWdsb2ItdGVzdC9tYXRjaC1y ZWN1cnNpdmUgKCkKKyAgIlRlc3QgdGhhdCBcIioqL1wiIHJlY3Vyc2l2ZWx5IG1hdGNoZXMg ZGlyZWN0b3JpZXMuIgorICAod2l0aC1mYWtlLWZpbGVzICcoImEuZWwiICJiLmVsIiAiY2Nj LmVsIiAiZC50eHQiICJkaXIvYS5lbCIgImRpci9zdWIvYS5lbCIKKyAgICAgICAgICAgICAg ICAgICAgICJkaXIvc3ltbGluay9hLmVsIiAic3ltbGluay9hLmVsIiAic3ltbGluay9zdWIv YS5lbCIpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1leHRlbmRlZC1nbG9iICIqKi9h LmVsIikKKyAgICAgICAgICAgICAgICAgICAnKCJhLmVsIiAiZGlyL2EuZWwiICJkaXIvc3Vi L2EuZWwiKSkpKSkKKworKGVydC1kZWZ0ZXN0IGVtLWdsb2ItdGVzdC9tYXRjaC1yZWN1cnNp dmUtZm9sbG93LXN5bWxpbmtzICgpCisgICJUZXN0IHRoYXQgXCIqKiovXCIgcmVjdXJzaXZl bHkgbWF0Y2hlcyBkaXJlY3RvcmllcywgZm9sbG93aW5nIHN5bWxpbmtzLiIKKyAgKHdpdGgt ZmFrZS1maWxlcyAnKCJhLmVsIiAiYi5lbCIgImNjYy5lbCIgImQudHh0IiAiZGlyL2EuZWwi ICJkaXIvc3ViL2EuZWwiCisgICAgICAgICAgICAgICAgICAgICAiZGlyL3N5bWxpbmsvYS5l bCIgInN5bWxpbmsvYS5lbCIgInN5bWxpbmsvc3ViL2EuZWwiKQorICAgIChzaG91bGQgKGVx dWFsIChlc2hlbGwtZXh0ZW5kZWQtZ2xvYiAiKioqL2EuZWwiKQorICAgICAgICAgICAgICAg ICAgICcoImEuZWwiICJkaXIvYS5lbCIgImRpci9zdWIvYS5lbCIgImRpci9zeW1saW5rL2Eu ZWwiCisgICAgICAgICAgICAgICAgICAgICAic3ltbGluay9hLmVsIiAic3ltbGluay9zdWIv YS5lbCIpKSkpKQorCisoZXJ0LWRlZnRlc3QgZW0tZ2xvYi10ZXN0L21hdGNoLXJlY3Vyc2l2 ZS1taXhlZCAoKQorICAiVGVzdCBjb21iaW5hdGlvbiBvZiBcIioqL1wiIGFuZCBcIioqKi9c Ii4iCisgICh3aXRoLWZha2UtZmlsZXMgJygiZGlyL2EuZWwiICJkaXIvc3ViL2EuZWwiICJk aXIvc3ViMi9hLmVsIgorICAgICAgICAgICAgICAgICAgICAgImRpci9zeW1saW5rL2EuZWwi ICJkaXIvc3ViL3N5bWxpbmsvYS5lbCIgInN5bWxpbmsvYS5lbCIKKyAgICAgICAgICAgICAg ICAgICAgICJzeW1saW5rL3N1Yi9hLmVsIiAic3ltbGluay9zdWIvc3ltbGluay9hLmVsIikK KyAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV4dGVuZGVkLWdsb2IgIioqL3N1Yi8qKiov YS5lbCIpCisgICAgICAgICAgICAgICAgICAgJygiZGlyL3N1Yi9hLmVsIiAiZGlyL3N1Yi9z eW1saW5rL2EuZWwiKSkpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1leHRlbmRlZC1n bG9iICIqKiovc3ViLyoqL2EuZWwiKQorICAgICAgICAgICAgICAgICAgICcoImRpci9zdWIv YS5lbCIgInN5bWxpbmsvc3ViL2EuZWwiKSkpKSkKKworKGVydC1kZWZ0ZXN0IGVtLWdsb2It dGVzdC9tYXRjaC1jaGFyYWN0ZXItc2V0LWluZGl2aWR1YWwgKCkKKyAgIlRlc3QgXCJbLi4u XVwiIGZvciBpbmRpdmlkdWFsIGNoYXJhY3RlcnMuIgorICAod2l0aC1mYWtlLWZpbGVzICco ImEuZWwiICJiLmVsIiAiYy5lbCIgImQuZWwiICJkaXIvYS5lbCIpCisgICAgKHNob3VsZCAo ZXF1YWwgKGVzaGVsbC1leHRlbmRlZC1nbG9iICJbYWJdLmVsIikKKyAgICAgICAgICAgICAg ICAgICAnKCJhLmVsIiAiYi5lbCIpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV4 dGVuZGVkLWdsb2IgIlteYWJdLmVsIikKKyAgICAgICAgICAgICAgICAgICAnKCJjLmVsIiAi ZC5lbCIpKSkpKQorCisoZXJ0LWRlZnRlc3QgZW0tZ2xvYi10ZXN0L21hdGNoLWNoYXJhY3Rl ci1zZXQtcmFuZ2UgKCkKKyAgIlRlc3QgXCJbLi4uXVwiIGZvciBjaGFyYWN0ZXIgcmFuZ2Vz LiIKKyAgKHdpdGgtZmFrZS1maWxlcyAnKCJhLmVsIiAiYi5lbCIgImMuZWwiICJkLmVsIiAi ZGlyL2EuZWwiKQorICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXh0ZW5kZWQtZ2xvYiAi W2EtY10uZWwiKQorICAgICAgICAgICAgICAgICAgICcoImEuZWwiICJiLmVsIiAiYy5lbCIp KSkKKyAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV4dGVuZGVkLWdsb2IgIlteYS1jXS5l bCIpCisgICAgICAgICAgICAgICAgICAgJygiZC5lbCIpKSkpKQorCisoZXJ0LWRlZnRlc3Qg ZW0tZ2xvYi10ZXN0L21hdGNoLWNoYXJhY3Rlci1zZXQtY2xhc3MgKCkKKyAgIlRlc3QgXCJb Li4uXVwiIGZvciBjaGFyYWN0ZXIgY2xhc3Nlcy4iCisgICh3aXRoLWZha2UtZmlsZXMgJygi MS5lbCIgImEuZWwiICJiLmVsIiAiYy5lbCIgImRpci9hLmVsIikKKyAgICAoc2hvdWxkIChl cXVhbCAoZXNoZWxsLWV4dGVuZGVkLWdsb2IgIltbOmFscGhhOl1dLmVsIikKKyAgICAgICAg ICAgICAgICAgICAnKCJhLmVsIiAiYi5lbCIgImMuZWwiKSkpCisgICAgKHNob3VsZCAoZXF1 YWwgKGVzaGVsbC1leHRlbmRlZC1nbG9iICJbXls6YWxwaGE6XV0uZWwiKQorICAgICAgICAg ICAgICAgICAgICcoIjEuZWwiKSkpKSkKKworKGVydC1kZWZ0ZXN0IGVtLWdsb2ItdGVzdC9t YXRjaC1jaGFyYWN0ZXItc2V0LW1peGVkICgpCisgICJUZXN0IFwiWy4uLl1cIiB3aXRoIG11 bHRpcGxlIGtpbmRzIG9mIG1lbWJlcnMgYXQgb25jZS4iCisgICh3aXRoLWZha2UtZmlsZXMg JygiMS5lbCIgImEuZWwiICJiLmVsIiAiYy5lbCIgImQuZWwiICJkaXIvYS5lbCIpCisgICAg KHNob3VsZCAoZXF1YWwgKGVzaGVsbC1leHRlbmRlZC1nbG9iICJbYWMtZFs6ZGlnaXQ6XV0u ZWwiKQorICAgICAgICAgICAgICAgICAgICcoIjEuZWwiICJhLmVsIiAiYy5lbCIgImQuZWwi KSkpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1leHRlbmRlZC1nbG9iICJbXmFjLWRb OmRpZ2l0Ol1dLmVsIikKKyAgICAgICAgICAgICAgICAgICAnKCJiLmVsIikpKSkpCisKKyhl cnQtZGVmdGVzdCBlbS1nbG9iLXRlc3QvbWF0Y2gtZ3JvdXAtYWx0ZXJuYXRpdmUgKCkKKyAg IlRlc3QgXCIoeHx5KVwiIG1hdGNoZXMgZWl0aGVyIFwieFwiIG9yIFwieVwiLiIKKyAgKHdp dGgtZmFrZS1maWxlcyAnKCJlbS1hbGlhcy5lbCIgImVtLWJhbm5lci5lbCIgImVzaC1hcmcu ZWwiICJtaXNjLmVsIgorICAgICAgICAgICAgICAgICAgICAgInRlc3QvZW0teHRyYS5lbCIp CisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1leHRlbmRlZC1nbG9iICJlKG18c2gpLSou ZWwiKQorICAgICAgICAgICAgICAgICAgICcoImVtLWFsaWFzLmVsIiAiZW0tYmFubmVyLmVs IiAiZXNoLWFyZy5lbCIpKSkpKQorCisoZXJ0LWRlZnRlc3QgZW0tZ2xvYi10ZXN0L21hdGNo LW4tb3ItbW9yZS1jaGFyYWN0ZXJzICgpCisgICJUZXN0IHRoYXQgXCJ4I1wiIGFuZCBcIngj XCIgbWF0Y2ggemVybyBvciBtb3JlIGluc3RhbmNlcyBvZiBcInhcIi4iCisgICh3aXRoLWZh a2UtZmlsZXMgJygiaC5lbCIgImhhLmVsIiAiaGkuZWwiICJoaWkuZWwiICJkaXIvaGkuZWwi KQorICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXh0ZW5kZWQtZ2xvYiAiaGkjLmVsIikK KyAgICAgICAgICAgICAgICAgICAnKCJoLmVsIiAiaGkuZWwiICJoaWkuZWwiKSkpCisgICAg KHNob3VsZCAoZXF1YWwgKGVzaGVsbC1leHRlbmRlZC1nbG9iICJoaSMjLmVsIikKKyAgICAg ICAgICAgICAgICAgICAnKCJoaS5lbCIgImhpaS5lbCIpKSkpKQorCisoZXJ0LWRlZnRlc3Qg ZW0tZ2xvYi10ZXN0L21hdGNoLW4tb3ItbW9yZS1ncm91cHMgKCkKKyAgIlRlc3QgdGhhdCBc Iih4KSNcIiBhbmQgXCIoeCkjXCIgbWF0Y2ggemVybyBvciBtb3JlIGluc3RhbmNlcyBvZiBc Iih4KVwiLiIKKyAgKHdpdGgtZmFrZS1maWxlcyAnKCJoLmVsIiAiaGEuZWwiICJoaS5lbCIg ImhpaS5lbCIgImRpci9oaS5lbCIpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1leHRl bmRlZC1nbG9iICJoaSMuZWwiKQorICAgICAgICAgICAgICAgICAgICcoImguZWwiICJoaS5l bCIgImhpaS5lbCIpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV4dGVuZGVkLWds b2IgImhpIyMuZWwiKQorICAgICAgICAgICAgICAgICAgICcoImhpLmVsIiAiaGlpLmVsIikp KSkpCisKKyhlcnQtZGVmdGVzdCBlbS1nbG9iLXRlc3QvbWF0Y2gtbi1vci1tb3JlLWNoYXJh Y3Rlci1zZXRzICgpCisgICJUZXN0IHRoYXQgXCJbeF0jXCIgYW5kIFwiW3hdI1wiIG1hdGNo IHplcm8gb3IgbW9yZSBpbnN0YW5jZXMgb2YgXCJbeF1cIi4iCisgICh3aXRoLWZha2UtZmls ZXMgJygidy5lbCIgIndoLmVsIiAid2hhLmVsIiAid2hpLmVsIiAid2hhaGEuZWwiICJkaXIv d2hhLmVsIikKKyAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV4dGVuZGVkLWdsb2IgIndb YWhdIy5lbCIpCisgICAgICAgICAgICAgICAgICAgJygidy5lbCIgIndoLmVsIiAid2hhLmVs IiAid2hhaGEuZWwiKSkpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1leHRlbmRlZC1n bG9iICJ3W2FoXSMjLmVsIikKKyAgICAgICAgICAgICAgICAgICAnKCJ3aC5lbCIgIndoYS5l bCIgIndoYWhhLmVsIikpKSkpCisKKyhlcnQtZGVmdGVzdCBlbS1nbG9iLXRlc3QvbWF0Y2gt eC1idXQtbm90LXkgKCkKKyAgIlRlc3QgdGhhdCBcInh+eVwiIG1hdGNoZXMgXCJ4XCIgYnV0 IG5vdCBcInlcIi4iCisgICh3aXRoLWZha2UtZmlsZXMgJygiMSIgIjEyIiAiMTIzIiAiNDIi ICJkaXIvMSIpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1leHRlbmRlZC1nbG9iICJb WzpkaWdpdDpdXSMjfjQ/IikKKyAgICAgICAgICAgICAgICAgICAnKCIxIiAiMTIiICIxMjMi KSkpKSkKKworKGVydC1kZWZ0ZXN0IGVtLWdsb2ItdGVzdC9uby1tYXRjaGVzICgpCisgICJU ZXN0IGJlaGF2aW9yIHdoZW4gYSBnbG9iIGZhaWxzIHRvIG1hdGNoIGFueSBmaWxlcy4iCisg ICh3aXRoLWZha2UtZmlsZXMgJygiZm9vLmVsIiAiYmFyLmVsIikKKyAgICAoc2hvdWxkIChl cXVhbCAoZXNoZWxsLWV4dGVuZGVkLWdsb2IgIioudHh0IikKKyAgICAgICAgICAgICAgICAg ICAiKi50eHQiKSkKKyAgICAobGV0ICgoZXNoZWxsLWVycm9yLWlmLW5vLWdsb2IgdCkpCisg ICAgICAoc2hvdWxkLWVycm9yIChlc2hlbGwtZXh0ZW5kZWQtZ2xvYiAiKi50eHQiKSkpKSkK KworOzsgZW0tZ2xvYi10ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMjUuMQoK --------------218631157F856742B919BFA3 Content-Type: text/plain; charset=UTF-8; name="0002-Add-unit-tests-and-documentation-for-Eshell-predicat.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0002-Add-unit-tests-and-documentation-for-Eshell-predicat.pa"; filename*1="tch" RnJvbSBlYWI5OTk2MzgwMjEyYTBmNmZmNzY2OGQ4ZThhMjIyNjE1OTE2NTZjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMTkgTWFyIDIwMjIgMTI6NDE6MTMgLTA3MDAKU3ViamVjdDogW1BB VENIIDIvM10gQWRkIHVuaXQgdGVzdHMgYW5kIGRvY3VtZW50YXRpb24gZm9yIEVzaGVsbAog cHJlZGljYXRlcy9tb2RpZmllcnMKCiogbGlzcC9lc2hlbGwvZXNoLWNtZC5lbCAoZXNoZWxs LWV2YWwtYXJndW1lbnQpOiBOZXcgZnVuY3Rpb24uCgoqIGxpc3AvZXNoZWxsL2VtLXByZWQu ZWwgKGVzaGVsbC1wcmVkaWNhdGUtYWxpc3QpOiBDaGFuZ2Ugc29ja2V0IGNoYXIKdG8gJz0n LCBzaW5jZSAncycgY29uZmxpY3RzIHdpdGggc2V0dWlkLgooZXNoZWxsLW1vZGlmaWVyLWFs aXN0KTogRml4ICdFJyAoZXZhbCkgbW9kaWZpZXIgYnkgdXNpbmcKJ2VzaGVsbC1ldmFsLWFy Z3VtZW50Jy4gIEFsc28gaW1wcm92ZSBwZXJmb3JtYW5jZSBvZiAnTycgKHJldmVyc2VkCnNv cnQpIG1vZGlmaWVyLgooZXNoZWxsLW1vZGlmaWVyLWhlbHAtc3RyaW5nKTogRml4IGRvY3Vt ZW50YXRpb24gb2YgZ2xvYmFsCnN1YnN0aXR1dGlvbiBtb2RpZmllci4KKGVzaGVsbC1wcmVk LXN1YnN0aXR1dGUpOiBGaXggaW5maW5pdGUgbG9vcCBpbiBzb21lIGdsb2JhbApzdWJzdGl0 dXRpb25zLgooZXNoZWxsLWpvaW4tbWVtYmVycyk6IEZpeCBqb2luaW5nIHdpdGggaW1wbGlj aXQgIiAiIGRlbGltaXRlci4KCiogdGVzdC9saXNwL2VzaGVsbC9lbS1wcmVkLXRlc3RzLmVs OiBOZXcgZmlsZS4KCiogZG9jL21pc2MvZXNoZWxsLnRleGkgKEFyZ3VtZW50IFByZWRpY2F0 aW9uKTogTmV3IHNlY3Rpb24uCi0tLQogZG9jL21pc2MvZXNoZWxsLnRleGkgICAgICAgICAg ICAgIHwgMjQwICsrKysrKysrKysrKysrCiBsaXNwL2VzaGVsbC9lbS1wcmVkLmVsICAgICAg ICAgICAgfCAgMzUgKy0KIGxpc3AvZXNoZWxsL2VzaC1jbWQuZWwgICAgICAgICAgICB8ICAg OCArCiB0ZXN0L2xpc3AvZXNoZWxsL2VtLXByZWQtdGVzdHMuZWwgfCA1MjEgKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiA0IGZpbGVzIGNoYW5nZWQsIDc4MiBpbnNlcnRpb25z KCspLCAyMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0L2xpc3AvZXNo ZWxsL2VtLXByZWQtdGVzdHMuZWwKCmRpZmYgLS1naXQgYS9kb2MvbWlzYy9lc2hlbGwudGV4 aSBiL2RvYy9taXNjL2VzaGVsbC50ZXhpCmluZGV4IDBiNTJjNzMxNzYuLjJiNDlkZGIwM2Mg MTAwNjQ0Ci0tLSBhL2RvYy9taXNjL2VzaGVsbC50ZXhpCisrKyBiL2RvYy9taXNjL2VzaGVs bC50ZXhpCkBAIC0xMDAyLDYgKzEwMDIsNyBAQCBFeHBhbnNpb24KIEBtZW51CiAqIERvbGxh cnMgRXhwYW5zaW9uOjoKICogR2xvYmJpbmc6OgorKiBBcmd1bWVudCBQcmVkaWNhdGlvbiBh bmQgTW9kaWZpY2F0aW9uOjoKIEBlbmQgbWVudQogCiBAbm9kZSBEb2xsYXJzIEV4cGFuc2lv bgpAQCAtMTE3NSw2ICsxMTc2LDI0NSBAQCBHbG9iYmluZwogCiBAZW5kIHRhYmxlCiAKK0Bu b2RlIEFyZ3VtZW50IFByZWRpY2F0aW9uIGFuZCBNb2RpZmljYXRpb24KK0BzZWN0aW9uIEFy Z3VtZW50IFByZWRpY2F0aW9uIGFuZCBNb2RpZmljYXRpb24KK0BjaW5kZXggYXJndW1lbnQg cHJlZGljYXRpb24KK0BjaW5kZXggYXJndW1lbnQgbW9kaWZpY2F0aW9uCitFc2hlbGwgc3Vw cG9ydHMgQGRmbnthcmd1bWVudCBwcmVkaWNhdGlvbn0sIHRvIGZpbHRlciBlbGVtZW50cyBv ZiBhCitnbG9iLCBhbmQgQGRmbnthcmd1bWVudCBtb2RpZmljYXRpb259LCB0byBtYW5pcHVs YXRlIGFyZ3VtZW50IHZhbHVlcy4KK1RoZXNlIGFyZSBzaW1pbGFyIHRvIGdsb2IgcXVhbGlm aWVycyBpbiBac2ggKEBweHJlZntHbG9iIFF1YWxpZmllcnMsICwKKywgenNoLCBUaGUgWiBT aGVsbCBNYW51YWx9KS4KKworUHJlZGljYXRlcyBhbmQgbW9kaWZpZXJzIGFyZSBpbnRyb2R1 Y2VkIHdpdGggQGNvZGV7KEB2YXJ7ZmlsdGVyc30pfQorYWZ0ZXIgYW55IGxpc3QgYXJndW1l bnQsIHdoZXJlIEB2YXJ7ZmlsdGVyc30gaXMgYSBsaXN0IG9mIHByZWRpY2F0ZXMKK29yIG1v ZGlmaWVycy4gIEZvciBleGFtcGxlLCBAc2FtcHsqKC4pfSBleHBhbmRzIHRvIGFsbCByZWd1 bGFyIGZpbGVzCitpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkgYW5kIEBzYW1weyooXkBAOlVe dTApfSBleHBhbmRzIHRvIGFsbAorbm9uLXN5bWxpbmtzIG5vdCBvd25lZCBieSBAY29kZXty b290fSwgdXBwZXItY2FzZWQuCisKK1lvdSBjYW4gY3VzdG9taXplIHRoZSBzeW50YXggYW5k IGJlaGF2aW9yIG9mIHByZWRpY2F0ZXMgYW5kIG1vZGlmaWVycworaW4gRXNoZWxsIHZpYSB0 aGUgQ3VzdG9taXplIGdyb3VwIGBgZXNoZWxsLXByZWQnJyAoQHB4cmVme0Vhc3kKK0N1c3Rv bWl6YXRpb24sICwgLCBlbWFjcywgVGhlIEdOVSBFbWFjcyBNYW51YWx9KS4KKworQG1lbnUK KyogQXJndW1lbnQgUHJlZGljYXRlczo6CisqIEFyZ3VtZW50IE1vZGlmaWVyczo6CitAZW5k IG1lbnUKKworQG5vZGUgQXJndW1lbnQgUHJlZGljYXRlcworQHN1YnNlY3Rpb24gQXJndW1l bnQgUHJlZGljYXRlcworWW91IGNhbiB1c2UgYXJndW1lbnQgcHJlZGljYXRlcyB0byBmaWx0 ZXIgbGlzdHMgb2YgZmlsZSBuYW1lcyBiYXNlZCBvbgordmFyaW91cyBwcm9wZXJ0aWVzIG9m IHRob3NlIGZpbGVzLiAgVGhpcyBpcyBtb3N0IHVzZWZ1bCB3aGVuIGNvbWJpbmVkCit3aXRo IGdsb2JiaW5nLCBidXQgY2FuIGJlIHVzZWQgb24gYW55IGxpc3Qgb2YgZmlsZXMgbmFtZXMu ICBFc2hlbGwKK3N1cHBvcnRzIHRoZSBmb2xsb3dpbmcgYXJndW1lbnQgcHJlZGljYXRlczoK KworQHRhYmxlIEBhc2lzCisKK0BpdGVtIEBjb2Rley99CitNYXRjaGVzIGRpcmVjdG9yaWVz LgorCitAaXRlbSBAY29kZXsufSBAcnsoUGVyaW9kKX0KK01hdGNoZXMgcmVndWxhciBmaWxl cy4KKworQGl0ZW0gQGNvZGV7QEB9CitNYXRjaGVzIHN5bWJvbGljIGxpbmtzLgorCitAaXRl bSBAY29kZXs9fQorTWF0Y2hlcyBzb2NrZXRzLgorCitAaXRlbSBAY29kZXtwfQorTWF0Y2hl cyBuYW1lZCBwaXBlcy4KKworQGl0ZW0gQGNvZGV7JX0KK01hdGNoZXMgYmxvY2sgb3IgY2hh cmFjdGVyIGRldmljZXMuCisKK0BpdGVtIEBjb2RleyVifQorTWF0Y2hlcyBibG9jayBkZXZp Y2VzLgorCitAaXRlbSBAY29kZXslY30KK01hdGNoZXMgY2hhcmFjdGVyIGRldmljZXMuCisK K0BpdGVtIEBjb2Rleyp9CitNYXRjaGVzIHJlZ3VsYXIgZmlsZXMgdGhhdCBjYW4gYmUgZXhl Y3V0ZWQgYnkgdGhlIGN1cnJlbnQgdXNlci4KKworQGl0ZW0gQGNvZGV7cn0KK0BpdGVtIEBj b2Rle0F9CitAaXRlbSBAY29kZXtSfQorTWF0Y2hlcyBmaWxlcyB0aGF0IGFyZSByZWFkYWJs ZSBieSB0aGVpciBvd25lcnMgKEBjb2Rle3J9KSwgdGhlaXIKK2dyb3VwcyAoQGNvZGV7QX0p LCBvciB0aGUgd29ybGQgKEBjb2Rle1J9KS4KKworQGl0ZW0gQGNvZGV7d30KK0BpdGVtIEBj b2Rle0l9CitAaXRlbSBAY29kZXtXfQorTWF0Y2hlcyBmaWxlcyB0aGF0IGFyZSB3cml0YWJs ZSBieSB0aGVpciBvd25lcnMgKEBjb2Rle3d9KSwgdGhlaXIKK2dyb3VwcyAoQGNvZGV7SX0p LCBvciB0aGUgd29ybGQgKEBjb2Rle1d9KS4KKworQGl0ZW0gQGNvZGV7eH0KK0BpdGVtIEBj b2Rle0V9CitAaXRlbSBAY29kZXtYfQorTWF0Y2hlcyBmaWxlcyB0aGF0IGFyZSBleGVjdXRh YmxlIGJ5IHRoZWlyIG93bmVycyAoQGNvZGV7eH0pLCB0aGVpcgorZ3JvdXBzIChAY29kZXtF fSksIG9yIHRoZSB3b3JsZCAoQGNvZGV7WH0pLgorCitAaXRlbSBAY29kZXtzfQorTWF0Y2hl cyBmaWxlcyB3aXRoIHRoZSBzZXR1aWQgZmxhZyBzZXQuCisKK0BpdGVtIEBjb2Rle1N9CitN YXRjaGVzIGZpbGVzIHdpdGggdGhlIHNldGdpZCBmbGFnIHNldC4KKworQGl0ZW0gQGNvZGV7 dH0KK01hdGNoZXMgZmlsZXMgd2l0aCB0aGUgc3RpY2t5IGJpdCBzZXQuCisKK0BpdGVtIEBj b2Rle1V9CitNYXRjaGVzIGZpbGVzIG93bmVkIGJ5IHRoZSBjdXJyZW50IGVmZmVjdGl2ZSB1 c2VyIElELgorCitAaXRlbSBAY29kZXtsQG9wdGlvbntbKy1dfUB2YXJ7bn19CitNYXRjaGVz IGZpbGVzIHdpdGggQHZhcntufSBsaW5rcy4gIFdpdGggQG9wdGlvbnsrfSAob3IgQG9wdGlv bnstfSksCittYXRjaGVzIGZpbGVzIHdpdGggbW9yZSB0aGFuIChvciBsZXNzIHRoYW4pIEB2 YXJ7bn0gbGlua3MsCityZXNwZWN0aXZlbHkuCisKK0BpdGVtIEBjb2Rle3VAdmFye3VpZH19 CitAaXRlbSBAY29kZXt1J0B2YXJ7dXNlci1uYW1lfSd9CitNYXRjaGVzIGZpbGVzIG93bmVk IGJ5IHVzZXIgSUQgQHZhcnt1aWR9IG9yIHVzZXIgbmFtZSBAdmFye3VzZXItbmFtZX0uCisK K0BpdGVtIEBjb2Rle2dAdmFye2dpZH19CitAaXRlbSBAY29kZXtnJ0B2YXJ7Z3JvdXAtbmFt ZX0nfQorTWF0Y2hlcyBmaWxlcyBvd25lZCBieSBncm91cCBJRCBAdmFye2dpZH0gb3IgZ3Jv dXAgbmFtZQorQHZhcntncm91cC1uYW1lfS4KKworQGl0ZW0gQGNvZGV7YUBvcHRpb257W0B2 YXJ7dW5pdH1dfUBvcHRpb257WystXX1AdmFye259fQorQGl0ZW0gQGNvZGV7YUBvcHRpb257 WystXX0nQHZhcntmaWxlfSd9CitNYXRjaGVzIGZpbGVzIGxhc3QgYWNjZXNzZWQgZXhhY3Rs eSBAdmFye259IGRheXMgYWdvLiAgV2l0aCBAb3B0aW9ueyt9Cisob3IgQG9wdGlvbnstfSks IG1hdGNoZXMgZmlsZXMgYWNjZXNzZWQgbW9yZSB0aGFuIChvciBsZXNzIHRoYW4pCitAdmFy e259IGRheXMgYWdvLCByZXNwZWN0aXZlbHkuCisKK1dpdGggQHZhcnt1bml0fSwgQHZhcntu fSBpcyBhIHF1YW50aXR5IGluIHRoYXQgdW5pdCBvZiB0aW1lLCBzbworQHNhbXB7YXctMX0g bWF0Y2hlcyBmaWxlcyBsYXN0IGFjY2Vzc2VkIHdpdGhpbiBvbmUgd2Vlay4gIEB2YXJ7dW5p dH0KK2NhbiBiZSBAY29kZXtNfSAoMzAtZGF5IG1vbnRocyksIEBjb2Rle3d9ICh3ZWVrcyks IEBjb2Rle2h9IChob3VycyksCitAY29kZXttfSAobWludXRlcyksIG9yIEBjb2Rle3N9IChz ZWNvbmRzKS4KKworSWYgQHZhcntmaWxlfSBpcyBzcGVjaWZpZWQgaW5zdGVhZCwgY29tcGFy ZSBhZ2FpbnN0IHRoZSBtb2RpZmljYXRpb24KK3RpbWUgb2YgQGZpbGV7ZmlsZX0uICBUaHVz LCBAc2FtcHthLSdoZWxsby50eHQnfSBtYXRjaGVzIGFsbCBmaWxlcworYWNjZXNzZWQgYWZ0 ZXIgQGZpbGV7aGVsbG8udHh0fSB3YXMgbGFzdCBhY2Nlc3NlZC4KKworQGl0ZW0gQGNvZGV7 bUBvcHRpb257W0B2YXJ7dW5pdH1dfUBvcHRpb257WystXX1AdmFye259fQorQGl0ZW0gQGNv ZGV7bUBvcHRpb257WystXX0nQHZhcntmaWxlfSd9CitMaWtlIEBjb2Rle2F9LCBidXQgZXhh bWluZXMgbW9kaWZpY2F0aW9uIHRpbWUuCisKK0BpdGVtIEBjb2Rle2NAb3B0aW9ue1tAdmFy e3VuaXR9XX1Ab3B0aW9ue1srLV19QHZhcntufX0KK0BpdGVtIEBjb2Rle2NAb3B0aW9ue1sr LV19J0B2YXJ7ZmlsZX0nfQorTGlrZSBAY29kZXthfSwgYnV0IGV4YW1pbmVzIHN0YXR1cyBj aGFuZ2UgdGltZS4KKworQGl0ZW0gQGNvZGV7TEBvcHRpb257W0B2YXJ7dW5pdH1dfUBvcHRp b257WystXX1AdmFye259fQorTWF0Y2hlcyBmaWxlcyBleGFjdGx5IEB2YXJ7bn0gYnl0ZXMg aW4gc2l6ZS4gIFdpdGggQG9wdGlvbnsrfSAob3IKK0BvcHRpb257LX0pLCBtYXRjaGVzIGZp bGVzIGxhcmdlciB0aGFuIChvciBzbWFsbGVyIHRoYW4pIEB2YXJ7bn0KK2J5dGVzLCByZXNw ZWN0aXZlbHkuCisKK1dpdGggQHZhcnt1bml0fSwgQHZhcntufSBpcyBhIHF1YW50aXR5IGlu IHRoYXQgdW5pdCBvZiBzaXplLCBzbworQHNhbXB7TG0rNX0gbWF0Y2hlcyBmaWxlcyBsYXJn ZXIgdGhhbiA1IE1pQiBpbiBzaXplLiAgQHZhcnt1bml0fSBjYW4KK2JlIG9uZSBvZiB0aGUg Zm9sbG93aW5nIChjYXNlLWluc2Vuc2l0aXZlKSBjaGFyYWN0ZXJzOiBAY29kZXttfQorKG1l Z2FieXRlcyksIEBjb2Rle2t9IChraWxvYnl0ZXMpLCBvciBAY29kZXtwfSAoNTEyLWJ5dGUg YmxvY2tzKS4KKworQGVuZCB0YWJsZQorCitUaGUgQGNvZGV7Xn0gYW5kIEBjb2Rley19IG9w ZXJhdG9ycyBhcmUgbm90IGFyZ3VtZW50IHByZWRpY2F0ZXMKK3RoZW1zZWx2ZXMsIGJ1dCB0 aGV5IG1vZGlmeSB0aGUgYmVoYXZpb3Igb2YgYWxsIHN1YnNlcXVlbnQgcHJlZGljYXRlcy4K K0Bjb2Rle159IGludmVydHMgdGhlIG1lYW5pbmcgb2Ygc3Vic2VxdWVudCBwcmVkaWNhdGVz LCBzbworQHNhbXB7KiheUldYKX0gZXhwYW5kcyB0byBhbGwgZmlsZXMgd2hvc2UgcGVybWlz c2lvbnMgZGlzYWxsb3cgdGhlCit3b3JsZCBmcm9tIGFjY2Vzc2luZyB0aGVtIGluIGFueSB3 YXkgKGkuZS4sIHJlYWRpbmcsIHdyaXRpbmcgdG8sIG9yCittb2RpZnlpbmcgdGhlbSkuICBX aGVuIGV4YW1pbmluZyBhIHN5bWJvbGljIGxpbmssIEBjb2Rley19IGFwcGxpZXMgdGhlCitz dWJzZXF1ZW50IHByZWRpY2F0ZXMgdG8gdGhlIGxpbmsncyB0YXJnZXQgaW5zdGVhZCBvZiB0 aGUgbGluayBpdHNlbGYuCisKK0Bub2RlIEFyZ3VtZW50IE1vZGlmaWVycworQHN1YnNlY3Rp b24gQXJndW1lbnQgTW9kaWZpZXJzCitZb3UgY2FuIHVzZSBhcmd1bWVudCBtb2RpZmllcnMg dG8gbWFuaXB1bGF0ZSBhcmd1bWVudCB2YWx1ZXMuICBGb3IKK2V4YW1wbGUsIHlvdSBjYW4g c29ydCBsaXN0cywgcmVtb3ZlIGR1cGxpY2F0ZSB2YWx1ZXMsIGNhcGl0YWxpemUKK3dvcmRz LCBldGMuICBBbGwgYXJndW1lbnQgbW9kaWZpZXJzIGFyZSBwcmVmaXhlZCBieSBAY29kZXs6 fSwgc28KK0BzYW1weyRleGVjLXBhdGgoOmg6dTp4L15cL2hvbWUvKX0gbGlzdHMgYWxsIG9m IHRoZSB1bmlxdWUgcGFyZW50CitkaXJlY3RvcmllcyBvZiB0aGUgZWxlbWVudHMgaW4gQGNv ZGV7ZXhlYy1wYXRofSwgZXhjbHVkaW5nIHRob3NlIGluCitAZmlsZXsvaG9tZX0uCisKK0B0 YWJsZSBAY29kZQorCitAaXRlbSBFCitSZS1ldmFsdWF0ZXMgdGhlIHZhbHVlIGFzIGFuIEVz aGVsbCBhcmd1bWVudC4gIEZvciBleGFtcGxlLCBpZgorQHZhcntmb299IGlzIEBjb2RleyIk QHtlY2hvIGhpQH0ifSwgdGhlbiB0aGUgcmVzdWx0IG9mIEBzYW1weyRmb28oOkUpfQoraXMg QGNvZGV7aGl9LgorCitAaXRlbSBMCitDb252ZXJ0cyB0aGUgdmFsdWUgdG8gbG93ZXIgY2Fz ZS4KKworQGl0ZW0gVQorQ29udmVydHMgdGhlIHZhbHVlIHRvIHVwcGVyIGNhc2UuCisKK0Bp dGVtIEMKK0NhcGl0YWxpemVzIHRoZSB2YWx1ZS4KKworQGl0ZW0gaAorVHJlYXRpbmcgdGhl IHZhbHVlIGFzIGEgZmlsZSBuYW1lLCBnZXRzIHRoZSBkaXJlY3RvcnkgbmFtZSAodGhlCitg YGhlYWQnJykuICBGb3IgZXhhbXBsZSwgQHNhbXB7Zm9vL2Jhci9iYXouZWwoOmgpfSBleHBh bmRzIHRvCitAY29kZXtmb28vYmFyL30uCisKK0BpdGVtIHQKK1RyZWF0aW5nIHRoZSB2YWx1 ZSBhcyBhIGZpbGUgbmFtZSwgZ2V0cyB0aGUgYmFzZSBuYW1lICh0aGUgYGB0YWlsJycpLgor Rm9yIGV4YW1wbGUsIEBzYW1we2Zvby9iYXIvYmF6LmVsKDpoKX0gZXhwYW5kcyB0byBAY29k ZXtiYXouZWx9LgorCitAaXRlbSBlCitUcmVhdGluZyB0aGUgdmFsdWUgYXMgYSBmaWxlIG5h bWUsIGdldHMgdGhlIGZpbmFsIGV4dGVuc2lvbiBvZiB0aGUKK2ZpbGUsIGV4Y2x1ZGluZyB0 aGUgZG90LiAgRm9yIGV4YW1wbGUsIEBzYW1we2Zvby50YXIuZ3ooOmUpfQorZXhwYW5kcyB0 byBAY29kZXtnen0uCisKK0BpdGVtIHIKK1RyZWF0aW5nIHRoZSB2YWx1ZSBhcyBhIGZpbGUg bmFtZSwgZ2V0cyB0aGUgZmlsZSBuYW1lIGV4Y2x1ZGluZyB0aGUKK2ZpbmFsIGV4dGVuc2lv bi4gIEZvciBleGFtcGxlLCBAc2FtcHtmb28vYmFyL2Jhei50YXIuZ3ooOnIpfSBleHBhbmRz Cit0byBAY29kZXtmb28vYmFyL2Jhei50YXJ9LgorCitAaXRlbSBxCitNYXJrcyB0aGF0IHRo ZSB2YWx1ZSBzaG91bGQgYmUgaW50ZXJwcmV0ZWQgYnkgRXNoZWxsIGxpdGVyYWxseSwgc28K K3RoYXQgYW55IHNwZWNpYWwgY2hhcmFjdGVycyBsaWtlIEBjb2RleyR9IG5vIGxvbmdlciBo YXZlIGFueSBzcGVjaWFsCittZWFuaW5nLgorCitAaXRlbSBzL0B2YXJ7cGF0dGVybn0vQHZh cntyZXBsYWNlfS8KK1JlcGxhY2VzIHRoZSBmaXJzdCBpbnN0YW5jZSBvZiB0aGUgcmVndWxh ciBleHByZXNzaW9uIEB2YXJ7cGF0dGVybn0KK3dpdGggQHZhcntyZXBsYWNlfS4gIFNpZ25h bHMgYW4gZXJyb3IgaWYgbm8gbWF0Y2ggaXMgZm91bmQuCisKK0BpdGVtIGdzL0B2YXJ7cGF0 dGVybn0vQHZhcntyZXBsYWNlfS8KK1JlcGxhY2VzIGFsbCBpbnN0YW5jZXMgb2YgdGhlIHJl Z3VsYXIgZXhwcmVzc2lvbiBAdmFye3BhdHRlcm59IHdpdGgKK0B2YXJ7cmVwbGFjZX0uCisK K0BpdGVtIGkvQHZhcntwYXR0ZXJufS8KK0ZpbHRlcnMgYSBsaXN0IG9mIHZhbHVlcyB0byBp bmNsdWRlIG9ubHkgdGhlIGVsZW1lbnRzIG1hdGNoaW5nIHRoZQorcmVndWxhciBleHByZXNz aW9uIEB2YXJ7cGF0dGVybn0uCisKK0BpdGVtIHgvQHZhcntwYXR0ZXJufS8KK0ZpbHRlcnMg YSBsaXN0IG9mIHZhbHVlcyB0byBleGNsdWRlIGFsbCB0aGUgZWxlbWVudHMgbWF0Y2hpbmcg dGhlCityZWd1bGFyIGV4cHJlc3Npb24gQHZhcntwYXR0ZXJufS4KKworQGl0ZW0gUworQGl0 ZW0gUy9AdmFye3BhdHRlcm59LworU3BsaXRzIHRoZSB2YWx1ZSB1c2luZyB0aGUgcmVndWxh ciBleHByZXNzaW9uIEB2YXJ7cGF0dGVybn0gYXMgYQorZGVsaW1pdGVyLiAgSWYgQHZhcntw YXR0ZXJufSBpcyBvbWl0dGVkLCBzcGxpdCBvbiBzcGFjZXMuCisKK0BpdGVtIGoKK0BpdGVt IGovQHZhcntkZWxpbX0vCitKb2lucyBhIGxpc3Qgb2YgdmFsdWVzLCBpbnNlcnRpbmcgdGhl IHN0cmluZyBAdmFye2RlbGltfSBiZXR3ZWVuIGVhY2gKK3ZhbHVlLiAgSWYgQHZhcntkZWxp bX0gaXMgb21pdHRlZCwgdXNlIGEgc2luZ2xlIHNwYWNlIGFzIHRoZQorZGVsaW1pdGVyLgor CitAaXRlbSBvCitTb3J0cyBhIGxpc3Qgb2Ygc3RyaW5ncyBpbiBhc2NlbmRpbmcgbGV4aWNv Z3JhcGhpYyBvcmRlciwgY29tcGFyaW5nCitwYWlycyBvZiBjaGFyYWN0ZXJzIGFjY29yZGlu ZyB0byB0aGVpciBjaGFyYWN0ZXIgY29kZXMgKEBweHJlZntUZXh0CitDb21wYXJpc29uLCAs ICwgZWxpc3AsIFRoZSBFbWFjcyBMaXNwIFJlZmVyZW5jZSBNYW51YWx9KS4KKworQGl0ZW0g TworU29ydHMgYSBsaXN0IG9mIHN0cmluZ3MgaW4gZGVzY2VuZGluZyBsZXhpY29ncmFwaGlj IG9yZGVyLgorCitAaXRlbSB1CitSZW1vdmVzIGFueSBkdXBsaWNhdGUgZWxlbWVudHMgZnJv bSBhIGxpc3Qgb2YgdmFsdWVzLgorCitAaXRlbSBSCitSZXZlcnNlcyB0aGUgb3JkZXIgb2Yg YSBsaXN0IG9mIHZhbHVlcy4KKworQGVuZCB0YWJsZQorCiBAbm9kZSBJbnB1dC9PdXRwdXQK IEBjaGFwdGVyIElucHV0L091dHB1dAogU2luY2UgRXNoZWxsIGRvZXMgbm90IGNvbW11bmlj YXRlIHdpdGggYSB0ZXJtaW5hbCBsaWtlIG1vc3QgY29tbWFuZApkaWZmIC0tZ2l0IGEvbGlz cC9lc2hlbGwvZW0tcHJlZC5lbCBiL2xpc3AvZXNoZWxsL2VtLXByZWQuZWwKaW5kZXggOTcw MzI5ZTEyYS4uOGFmYzg2ZGQ0MSAxMDA2NDQKLS0tIGEvbGlzcC9lc2hlbGwvZW0tcHJlZC5l bAorKysgYi9saXNwL2VzaGVsbC9lbS1wcmVkLmVsCkBAIC02OCw3ICs2OCw3IEBAIGVzaGVs bC1wcmVkLWxvYWQtaG9vawogKGRlZmN1c3RvbSBlc2hlbGwtcHJlZGljYXRlLWFsaXN0CiAg ICcoKD8vIC4gKGVzaGVsbC1wcmVkLWZpbGUtdHlwZSA/ZCkpICAgOyBkaXJlY3Rvcmllcwog ICAgICg/LiAuIChlc2hlbGwtcHJlZC1maWxlLXR5cGUgPy0pKSAgIDsgcmVndWxhciBmaWxl cwotICAgICg/cyAuIChlc2hlbGwtcHJlZC1maWxlLXR5cGUgP3MpKSAgIDsgc29ja2V0cwor ICAgICg/PSAuIChlc2hlbGwtcHJlZC1maWxlLXR5cGUgP3MpKSAgIDsgc29ja2V0cwogICAg ICg/cCAuIChlc2hlbGwtcHJlZC1maWxlLXR5cGUgP3ApKSAgIDsgbmFtZWQgcGlwZXMKICAg ICAoP0AgLiAoZXNoZWxsLXByZWQtZmlsZS10eXBlID9sKSkgICA7IHN5bWJvbGljIGxpbmtz CiAgICAgKD8lIC4gKGVzaGVsbC1wcmVkLWZpbGUtdHlwZSA/JSkpICAgOyBhbGxvdyB1c2Vy IHRvIHNwZWNpZnkgKGMgZGVmLikKQEAgLTk3LDggKzk3LDggQEAgZXNoZWxsLXByZWRpY2F0 ZS1hbGlzdAogICAgICAgICAgICAgICAgICAobm90IChmaWxlLXN5bWxpbmstcCBmaWxlKSkK ICAgICAgICAgICAgICAgICAgKGZpbGUtZXhlY3V0YWJsZS1wIGZpbGUpKSkpCiAgICAgKD9s IC4gKGVzaGVsbC1wcmVkLWZpbGUtbGlua3MpKQotICAgICg/dSAuIChlc2hlbGwtcHJlZC11 c2VyLW9yLWdyb3VwID91ICJ1c2VyIiAyICdlc2hlbGwtdXNlci1pZCkpCi0gICAgKD9nIC4g KGVzaGVsbC1wcmVkLXVzZXItb3ItZ3JvdXAgP2cgImdyb3VwIiAzICdlc2hlbGwtZ3JvdXAt aWQpKQorICAgICg/dSAuIChlc2hlbGwtcHJlZC11c2VyLW9yLWdyb3VwID91ICJ1c2VyIiAy ICMnZXNoZWxsLXVzZXItaWQpKQorICAgICg/ZyAuIChlc2hlbGwtcHJlZC11c2VyLW9yLWdy b3VwID9nICJncm91cCIgMyAjJ2VzaGVsbC1ncm91cC1pZCkpCiAgICAgKD9hIC4gKGVzaGVs bC1wcmVkLWZpbGUtdGltZSA/YSAiYWNjZXNzIiA0KSkKICAgICAoP20gLiAoZXNoZWxsLXBy ZWQtZmlsZS10aW1lID9tICJtb2RpZmljYXRpb24iIDUpKQogICAgICg/YyAuIChlc2hlbGwt cHJlZC1maWxlLXRpbWUgP2MgImNoYW5nZSIgNikpCkBAIC0xMTEsMTIgKzExMSw3IEBAIGVz aGVsbC1wcmVkaWNhdGUtYWxpc3QKICAgOnJpc2t5IHQpCiAKIChkZWZjdXN0b20gZXNoZWxs LW1vZGlmaWVyLWFsaXN0Ci0gICcoKD9FIC4gKGxhbWJkYSAobHN0KQotICAgICAgICAgICAg KG1hcGNhcgotICAgICAgICAgICAgIChsYW1iZGEgKHN0cikKLSAgICAgICAgICAgICAgIChl c2hlbGwtc3RyaW5naWZ5Ci0gICAgICAgICAgICAgICAgKGNhciAoZXNoZWxsLXBhcnNlLWFy Z3VtZW50IHN0cikpKSkKLSAgICAgICAgICAgICBsc3QpKSkKKyAgJygoP0UgLiAobGFtYmRh IChsc3QpIChtYXBjYXIgIydlc2hlbGwtZXZhbC1hcmd1bWVudCBsc3QpKSkKICAgICAoP0wg LiAobGFtYmRhIChsc3QpIChtYXBjYXIgIydkb3duY2FzZSBsc3QpKSkKICAgICAoP1UgLiAo bGFtYmRhIChsc3QpIChtYXBjYXIgIyd1cGNhc2UgbHN0KSkpCiAgICAgKD9DIC4gKGxhbWJk YSAobHN0KSAobWFwY2FyICMnY2FwaXRhbGl6ZSBsc3QpKSkKQEAgLTEyOSwxMCArMTI0LDEw IEBAIGVzaGVsbC1tb2RpZmllci1hbGlzdAogICAgICg/cSAuIChsYW1iZGEgKGxzdCkgKG1h cGNhciAjJ2VzaGVsbC1lc2NhcGUtYXJnIGxzdCkpKQogICAgICg/dSAuIChsYW1iZGEgKGxz dCkgKHNlcS11bmlxIGxzdCkpKQogICAgICg/byAuIChsYW1iZGEgKGxzdCkgKHNvcnQgbHN0 ICMnc3RyaW5nLWxlc3NwKSkpCi0gICAgKD9PIC4gKGxhbWJkYSAobHN0KSAobnJldmVyc2Ug KHNvcnQgbHN0ICMnc3RyaW5nLWxlc3NwKSkpKQorICAgICg/TyAuIChsYW1iZGEgKGxzdCkg KHNvcnQgbHN0ICMnc3RyaW5nLWdyZWF0ZXJwKSkpCiAgICAgKD9qIC4gKGVzaGVsbC1qb2lu LW1lbWJlcnMpKQogICAgICg/UyAuIChlc2hlbGwtc3BsaXQtbWVtYmVycykpCi0gICAgKD9S IC4gJ3JldmVyc2UpCisgICAgKD9SIC4gIydyZXZlcnNlKQogICAgICg/ZyAuIChwcm9nbgog CSAgICAoZm9yd2FyZC1jaGFyKQogCSAgICAoaWYgKGVxIChjaGFyLWJlZm9yZSkgP3MpCkBA IC0xNDIsNyArMTM3LDcgQEAgZXNoZWxsLW1vZGlmaWVyLWFsaXN0CiAgICJBIGxpc3Qgb2Yg bW9kaWZpZXJzIHRoYW4gY2FuIGJlIGFwcGxpZWQgdG8gYW4gYXJndW1lbnQgZXhwYW5zaW9u LgogVGhlIGZvcm1hdCBvZiBlYWNoIGVudHJ5IGlzCiAKLSAgKENIQVIgRU5UUllXSVNFLVAg TU9ESUZJRVItRlVOQy1TRVhQKSIKKyAgKENIQVIgLiBNT0RJRklFUi1GVU5DLVNFWFApIgog ICA6dHlwZSAnKHJlcGVhdCAoY29ucyBjaGFyYWN0ZXIgc2V4cCkpCiAgIDpyaXNreSB0KQog CkBAIC0yMTcsOCArMjEyLDggQEAgZXNoZWxsLW1vZGlmaWVyLWhlbHAtc3RyaW5nCiAgIGkv UEFULyAgZXhjbHVkZSBhbGwgbWVtYmVycyBub3QgbWF0Y2hpbmcgUEFUCiAgIHgvUEFULyAg ZXhjbHVkZSBhbGwgbWVtYmVycyBtYXRjaGluZyBQQVQKIAotICBzL3BhdC9tYXRjaC8gIHN1 YnN0aXR1dGUgUEFUIHdpdGggTUFUQ0gKLSAgZy9wYXQvbWF0Y2gvICBzdWJzdGl0dXRlIFBB VCB3aXRoIE1BVENIIGZvciBhbGwgb2NjdXJyZW5jZXMKKyAgcy9wYXQvbWF0Y2gvICAgc3Vi c3RpdHV0ZSBQQVQgd2l0aCBNQVRDSAorICBncy9wYXQvbWF0Y2gvICBzdWJzdGl0dXRlIFBB VCB3aXRoIE1BVENIIGZvciBhbGwgb2NjdXJyZW5jZXMKIAogRVhBTVBMRVM6CiAgICouYyg6 bykgIHNvcnRlZCBsaXN0IG9mIC5jIGZpbGVzIikKQEAgLTUzNCwxOCArNTI5LDE0IEBAIGVz aGVsbC1wcmVkLXN1YnN0aXR1dGUKIAkobGFtYmRhIChsc3QpCiAJICAobWFwY2FyCiAgICAg ICAgICAgIChsYW1iZGEgKHN0cikKLSAgICAgICAgICAgICAobGV0ICgoaSAwKSkKLSAgICAg ICAgICAgICAgICh3aGlsZSAoc2V0cSBpIChzdHJpbmctbWF0Y2ggbWF0Y2ggc3RyIGkpKQot ICAgICAgICAgICAgICAgICAoc2V0cSBzdHIgKHJlcGxhY2UtbWF0Y2ggcmVwbGFjZSB0IG5p bCBzdHIpKSkpCi0gICAgICAgICAgICAgc3RyKQorICAgICAgICAgICAgIChyZXBsYWNlLXJl Z2V4cC1pbi1zdHJpbmcgbWF0Y2ggcmVwbGFjZSBzdHIgdCkpCiAgICAgICAgICAgIGxzdCkp CiAgICAgICAobGFtYmRhIChsc3QpCiAJKG1hcGNhcgogICAgICAgICAgKGxhbWJkYSAoc3Ry KQogICAgICAgICAgICAoaWYgKHN0cmluZy1tYXRjaCBtYXRjaCBzdHIpCi0gICAgICAgICAg ICAgICAoc2V0cSBzdHIgKHJlcGxhY2UtbWF0Y2ggcmVwbGFjZSB0IG5pbCBzdHIpKQotICAg ICAgICAgICAgIChlcnJvciAoY29uY2F0IHN0ciAiOiBzdWJzdGl0dXRpb24gZmFpbGVkIikp KQotICAgICAgICAgICBzdHIpCisgICAgICAgICAgICAgICAocmVwbGFjZS1tYXRjaCByZXBs YWNlIHQgbmlsIHN0cikKKyAgICAgICAgICAgICAoZXJyb3IgKGNvbmNhdCBzdHIgIjogc3Vi c3RpdHV0aW9uIGZhaWxlZCIpKSkpCiAgICAgICAgICBsc3QpKSkpKQogCiAoZGVmdW4gZXNo ZWxsLWluY2x1ZGUtbWVtYmVycyAoJm9wdGlvbmFsIGludmVydC1wKQpAQCAtNTY4LDcgKzU1 OSw3IEBAIGVzaGVsbC1qb2luLW1lbWJlcnMKICAgKGxldCAoKGRlbGltIChjaGFyLWFmdGVy KSkKIAlzdHIgZW5kKQogICAgIChpZiAobm90IChtZW1xIGRlbGltICcoPycgPy8pKSkKLQko c2V0cSBkZWxpbSAiICIpCisJKHNldHEgc3RyICIgIikKICAgICAgIChmb3J3YXJkLWNoYXIp CiAgICAgICAoc2V0cSBlbmQgKGVzaGVsbC1maW5kLWRlbGltaXRlciBkZWxpbSBkZWxpbSBu aWwgbmlsIHQpCiAJICAgIHN0ciAoYnVmZmVyLXN1YnN0cmluZy1uby1wcm9wZXJ0aWVzIChw b2ludCkgZW5kKSkKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwgYi9saXNw L2VzaGVsbC9lc2gtY21kLmVsCmluZGV4IDhiZTExMzZlMzEuLjQyNjE2ZTcwMzcgMTAwNjQ0 Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLWNt ZC5lbApAQCAtMTAwMiw2ICsxMDAyLDE0IEBAIGVzaGVsbC1pbnZva2UtZGlyZWN0bHkKICAg KGxldCAoKGJhc2UgKGNhZHIgKG50aCAyIChudGggMiAoY2FkciBjb21tYW5kKSkpKSkpCiAg ICAgKGVzaGVsbC0taW52b2tlLWNvbW1hbmQtZGlyZWN0bHkgYmFzZSkpKQogCisoZGVmdW4g ZXNoZWxsLWV2YWwtYXJndW1lbnQgKGFyZ3VtZW50KQorICAiRXZhbHVhdGUgYSBzaW5nbGUg RXNoZWxsIEFSR1VNRU5UIGFuZCByZXR1cm4gdGhlIHJlc3VsdC4iCisgIChsZXQqICgoZm9y bSAoZXNoZWxsLXdpdGgtdGVtcC1jb21tYW5kIGFyZ3VtZW50CisgICAgICAgICAgICAgICAg IChlc2hlbGwtcGFyc2UtYXJndW1lbnQpKSkKKyAgICAgICAgIChyZXN1bHQgKGVzaGVsbC1k by1ldmFsIGZvcm0gdCkpKQorICAgIChjbC1hc3NlcnQgKGVxIChjYXIgcmVzdWx0KSAncXVv dGUpKQorICAgIChjYWRyIHJlc3VsdCkpKQorCiAoZGVmdW4gZXNoZWxsLWV2YWwtY29tbWFu ZCAoY29tbWFuZCAmb3B0aW9uYWwgaW5wdXQpCiAgICJFdmFsdWF0ZSB0aGUgZ2l2ZW4gQ09N TUFORCBpdGVyYXRpdmVseS4iCiAgIChpZiBlc2hlbGwtY3VycmVudC1jb21tYW5kCmRpZmYg LS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VtLXByZWQtdGVzdHMuZWwgYi90ZXN0L2xpc3Av ZXNoZWxsL2VtLXByZWQtdGVzdHMuZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMC4uNzRkYWQ5ZjhiOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3QvbGlzcC9lc2hl bGwvZW0tcHJlZC10ZXN0cy5lbApAQCAtMCwwICsxLDUyMSBAQAorOzs7IGVtLXByZWQtdGVz dHMuZWwgLS0tIGVtLXByZWQgdGVzdCBzdWl0ZSAgLSotIGxleGljYWwtYmluZGluZzp0IC0q LQorCis7OyBDb3B5cmlnaHQgKEMpIDIwMjIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ bmMuCisKKzs7IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIEdOVSBFbWFjcy4KKworOzsgR05VIEVt YWNzIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKzs7IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cis7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorOzsgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworOzsgR05VIEVtYWNzIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCis7OyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KKworOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKzs7IGFsb25nIHdpdGggR05VIEVtYWNzLiAgSWYg bm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKworOzs7IENvbW1l bnRhcnk6CisKKzs7IFRlc3RzIGZvciBFc2hlbGwncyBhcmd1bWVudCBwcmVkaWNhdGVzL21v ZGlmaWVycy4KKworOzs7IENvZGU6CisKKyhyZXF1aXJlICdlcnQpCisocmVxdWlyZSAnZXNo LW1vZGUpCisocmVxdWlyZSAnZXNoZWxsKQorCisocmVxdWlyZSAnZXNoZWxsLXRlc3RzLWhl bHBlcnMKKyAgICAgICAgIChleHBhbmQtZmlsZS1uYW1lICJlc2hlbGwtdGVzdHMtaGVscGVy cyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlLW5hbWUtZGlyZWN0b3J5IChv ciBsb2FkLWZpbGUtbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRlZmF1bHQtZGlyZWN0b3J5KSkpKQorCisoZGVmdmFyIGVzaGVs bC10ZXN0LXZhbHVlIG5pbCkKKworKGRlZnVuIGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAoaW5p dGlhbC12YWx1ZSBwcmVkaWNhdGUpCisgICJFdmFsdWF0ZSBQUkVESUNBVEUgb24gSU5JVElB TC1WQUxVRSwgcmV0dXJuaW5nIHRoZSByZXN1bHQuCitQUkVESUNBVEUgaXMgYW4gRXNoZWxs IGFyZ3VtZW50IHByZWRpY2F0ZS9tb2RpZmllci4iCisgIChsZXQgKChlc2hlbGwtdGVzdC12 YWx1ZSBpbml0aWFsLXZhbHVlKSkKKyAgICAod2l0aC10ZW1wLWVzaGVsbAorICAgICAoZXNo ZWxsLWluc2VydC1jb21tYW5kCisgICAgICAoZm9ybWF0ICJzZXRxIGVzaGVsbC10ZXN0LXZh bHVlICRlc2hlbGwtdGVzdC12YWx1ZSglcykiIHByZWRpY2F0ZSkpKQorICAgIGVzaGVsbC10 ZXN0LXZhbHVlKSkKKworKGRlZnVuIGVzaGVsbC1wYXJzZS1maWxlLW5hbWUtYXR0cmlidXRl cyAoZmlsZSkKKyAgIlBhcnNlIGEgZmFrZSBGSUxFIG5hbWUgdG8gZGV0ZXJtaW5lIGl0cyBh dHRyaWJ1dGVzLgorRmFrZSBmaWxlIG5hbWVzIGFyZSBmaWxlIG5hbWVzIGJlZ2lubmluZyB3 aXRoIFwiL2Zha2UvXCIuICBUaGlzCithbGxvd3MgZGVmaW5pbmcgZmlsZSBuYW1lcyBmb3Ig ZmFrZSBmaWxlcyB3aXRoIHZhcmlvdXMgcHJvcGVydGllcwordG8gcXVlcnkgdmlhIHByZWRp Y2F0ZXMuICBBdHRyaWJ1dGVzIGFyZSB3cml0dGVuIGFzIGEKK2NvbW1hLXNlcGFyYXRlIGxp c3Qgb2YgQVRUUj1WQUxVRSBwYWlycyBhcyB0aGUgZmlsZSdzIGJhc2UgbmFtZSwKK2xpa2U6 CisKKyAgL2Zha2UvdHlwZT0tLG1vZGVzPTA3NTUuZWwKKworVGhlIGZvbGxvd2luZyBhdHRy aWJ1dGVzIGFyZSByZWNvZ25pemVkOgorCisgICogXCJ0eXBlXCI6IEEgc2luZ2xlIGNoYXJh Y3RlciBkZXNjcmliaW5nIHRoZSBmaWxlIHR5cGU7CisgICAgYWNjZXB0cyB0aGUgc2FtZSB2 YWx1ZXMgYXMgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgZmlsZQorICAgIG1vZGVzIGlu IGBscyAtbCcuCisgICogXCJtb2Rlc1wiOiBUaGUgZmlsZSdzIHBlcm1pc3Npb24gbW9kZXMs IGluIG9jdGFsLgorICAqIFwibGlua3NcIjogVGhlIG51bWJlciBvZiBsaW5rcyB0byB0aGlz IGZpbGUuCisgICogXCJ1aWRcIjogVGhlIFVJRCBvZiB0aGUgZmlsZSdzIG93bmVyLgorICAq IFwiZ2lkXCI6IFRoZSBVSUQgb2YgdGhlIGZpbGUncyBncm91cC4KKyAgKiBcImF0aW1lXCI6 IFRoZSB0aW1lIHRoZSBmaWxlIHdhcyBsYXN0IGFjY2Vzc2VkLCBpbiBzZWNvbmRzCisgICAg c2luY2UgdGhlIFVOSVggZXBvY2guCisgICogXCJtdGltZVwiOiBBcyBcImF0aW1lXCIsIGJ1 dCBmb3IgbW9kaWZpY2F0aW9uIHRpbWUuCisgICogXCJjdGltZVwiOiBBcyBcImF0aW1lXCIs IGJ1dCBmb3IgaW5vZGUgY2hhbmdlIHRpbWUuCisgICogXCJzaXplXCI6IFRoZSBmaWxlJ3Mg c2l6ZSBpbiBieXRlcy4iCisgIChtYXBjYXIgKGxhbWJkYSAoaSkKKyAgICAgICAgICAgIChw Y2FzZSAoc3BsaXQtc3RyaW5nIGkgIj0iKQorICAgICAgICAgICAgICAoYCgibW9kZXMiICxt b2RlcykKKyAgICAgICAgICAgICAgIChjb25zICdtb2RlcyAoc3RyaW5nLXRvLW51bWJlciBt b2RlcyA4KSkpCisgICAgICAgICAgICAgIChgKCwoYW5kIChvciAibGlua3MiICJ1aWQiICJn aWQiICJzaXplIikga2V5KSAsdmFsdWUpCisgICAgICAgICAgICAgICAoY29ucyAoaW50ZXJu IGtleSkgKHN0cmluZy10by1udW1iZXIgdmFsdWUpKSkKKyAgICAgICAgICAgICAgKGAoLChh bmQgKG9yICJhdGltZSIgIm10aW1lIiAiY3RpbWUiKSBrZXkpICx2YWx1ZSkKKyAgICAgICAg ICAgICAgIChjb25zIChpbnRlcm4ga2V5KSAodGltZS1jb252ZXJ0IChzdHJpbmctdG8tbnVt YmVyIHZhbHVlKSkpKQorICAgICAgICAgICAgICAoYCgsa2V5ICx2YWx1ZSkKKyAgICAgICAg ICAgICAgIChjb25zIChpbnRlcm4ga2V5KSB2YWx1ZSkpCisgICAgICAgICAgICAgIChfIChl cnJvciAiaW52YWxpZCBmb3JtYXQgJVMiIGkpKSkpCisgICAgICAgICAgKHNwbGl0LXN0cmlu ZyAoZmlsZS1uYW1lLWJhc2UgZmlsZSkgIiwiKSkpCisKKyhkZWZtYWNybyBlc2hlbGwtcGFy dGlhbC1sZXQtZnVuYyAob3ZlcnJpZGVzICZyZXN0IGJvZHkpCisgICJUZW1wb3JhcmlseSBi aW5kIHRvIEZVTkNUSU9OLU5BTUVzIGFuZCBldmFsdWF0ZSBCT0RZLgorVGhpcyBpcyByb3Vn aGx5IGFuYWxvZ291cyB0byBhZHZpc2luZyBmdW5jdGlvbnMsIGJ1dCBvbmx5IGRvZXMgc28K K3doaWxlIEJPRFkgaXMgZXhlY3V0aW5nLCBhbmQgb25seSBjYWxscyBORVctRlVOQ1RJT04g aWYgaXRzIGZpcnN0Cithcmd1bWVudCBpcyBhIHN0cmluZyBiZWdpbm5pbmcgd2l0aCBcIi9m YWtlL1wiLgorCitUaGlzIGFsbG93cyBzZWxlY3RpdmVseSBvdmVycmlkaW5nIGZ1bmN0aW9u cyB0byB0ZXN0IGZpbGUKK3Byb3BlcnRpZXMgd2l0aCBmYWtlIGZpbGVzIHdpdGhvdXQgYWx0 ZXJpbmcgdGhlIGZ1bmN0aW9ucycKK2JlaGF2aW9yIGZvciByZWFsIGZpbGVzLgorCitcKGZu ICgoRlVOQ1RJT04tTkFNRSBORVctRlVOQ1RJT04pIC4uLikgQk9EWS4uLikiCisgIChkZWNs YXJlIChpbmRlbnQgMSkpCisgIGAoY2wtbGV0ZgorICAgICAgICwobWFwY2FyCisgICAgICAg ICAobGFtYmRhIChvdmVycmlkZSkKKyAgICAgICAgICAgKGxldCAoKG9yaWctZnVuY3Rpb24g KHN5bWJvbC1mdW5jdGlvbiAoY2FyIG92ZXJyaWRlKSkpKQorICAgICAgICAgICAgIGAoKHN5 bWJvbC1mdW5jdGlvbiAjJywoY2FyIG92ZXJyaWRlKSkKKyAgICAgICAgICAgICAgIChsYW1i ZGEgKGZpbGUgJnJlc3QgcmVzdCkKKyAgICAgICAgICAgICAgICAgKGFwcGx5CisgICAgICAg ICAgICAgICAgICAoaWYgKGFuZCAoc3RyaW5ncCBmaWxlKSAoc3RyaW5nLXByZWZpeC1wICIv ZmFrZS8iIGZpbGUpKQorICAgICAgICAgICAgICAgICAgICAgICwoY2FkciBvdmVycmlkZSkK KyAgICAgICAgICAgICAgICAgICAgLG9yaWctZnVuY3Rpb24pCisgICAgICAgICAgICAgICAg ICBmaWxlIHJlc3QpKSkpKQorICAgICAgICAgb3ZlcnJpZGVzKQorICAgICAsQGJvZHkpKQor CisoZGVmbWFjcm8gZXNoZWxsLXdpdGgtZmlsZS1hdHRyaWJ1dGVzLWZyb20tbmFtZSAoJnJl c3QgYm9keSkKKyAgIlRlbXBvcmFyaWx5IG92ZXJyaWRlIGZpbGUgYXR0cmlidXRlIGZ1bmN0 aW9ucyBhbmQgZXZhbHVhdGUgQk9EWS4iCisgIChkZWNsYXJlIChpbmRlbnQgMCkpCisgIGAo ZXNoZWxsLXBhcnRpYWwtbGV0LWZ1bmMKKyAgICAgICAoKGZpbGUtYXR0cmlidXRlcworICAg ICAgICAgKGxhbWJkYSAoZmlsZSAmb3B0aW9uYWwgX2lkLWZvcm1hdCkKKyAgICAgICAgICAg KGxldCAoKGF0dHJzIChlc2hlbGwtcGFyc2UtZmlsZS1uYW1lLWF0dHJpYnV0ZXMgZmlsZSkp KQorICAgICAgICAgICAgIChsaXN0IChlcXVhbCAoYWxpc3QtZ2V0ICd0eXBlIGF0dHJzKSAi ZCIpCisgICAgICAgICAgICAgICAgICAgKG9yIChhbGlzdC1nZXQgJ2xpbmtzIGF0dHJzKSAx KQorICAgICAgICAgICAgICAgICAgIChvciAoYWxpc3QtZ2V0ICd1aWQgYXR0cnMpIDApCisg ICAgICAgICAgICAgICAgICAgKG9yIChhbGlzdC1nZXQgJ2dpZCBhdHRycykgMCkKKyAgICAg ICAgICAgICAgICAgICAob3IgKGFsaXN0LWdldCAnYXRpbWUgYXR0cnMpIG5pbCkKKyAgICAg ICAgICAgICAgICAgICAob3IgKGFsaXN0LWdldCAnbXRpbWUgYXR0cnMpIG5pbCkKKyAgICAg ICAgICAgICAgICAgICAob3IgKGFsaXN0LWdldCAnY3RpbWUgYXR0cnMpIG5pbCkKKyAgICAg ICAgICAgICAgICAgICAob3IgKGFsaXN0LWdldCAnc2l6ZSBhdHRycykgMCkKKyAgICAgICAg ICAgICAgICAgICAoZm9ybWF0ICIlcy0tLS0tLS0tLSIgKG9yIChhbGlzdC1nZXQgJ3R5cGUg YXR0cnMpICItIikpCisgICAgICAgICAgICAgICAgICAgbmlsIDAgMCkpKSkKKyAgICAgICAg KGZpbGUtbW9kZXMKKyAgICAgICAgIChsYW1iZGEgKGZpbGUgX25vZm9sbG93KQorICAgICAg ICAgICAobGV0ICgoYXR0cnMgKGVzaGVsbC1wYXJzZS1maWxlLW5hbWUtYXR0cmlidXRlcyBm aWxlKSkpCisgICAgICAgICAgICAgKG9yIChhbGlzdC1nZXQgJ21vZGVzIGF0dHJzKSAwKSkp KQorICAgICAgICAoZmlsZS1leGlzdHMtcCAjJ2Fsd2F5cykKKyAgICAgICAgKGZpbGUtcmVn dWxhci1wCisgICAgICAgICAobGFtYmRhIChmaWxlKQorICAgICAgICAgICAobGV0ICgoYXR0 cnMgKGVzaGVsbC1wYXJzZS1maWxlLW5hbWUtYXR0cmlidXRlcyBmaWxlKSkpCisgICAgICAg ICAgICAgKG1lbWJlciAob3IgKGFsaXN0LWdldCAndHlwZSBhdHRycykgIi0iKSAnKCItIiAi bCIpKSkpKQorICAgICAgICAoZmlsZS1zeW1saW5rLXAKKyAgICAgICAgIChsYW1iZGEgKGZp bGUpCisgICAgICAgICAgIChsZXQgKChhdHRycyAoZXNoZWxsLXBhcnNlLWZpbGUtbmFtZS1h dHRyaWJ1dGVzIGZpbGUpKSkKKyAgICAgICAgICAgICAoZXF1YWwgKGFsaXN0LWdldCAndHlw ZSBhdHRycykgImwiKSkpKQorICAgICAgICAoZmlsZS1leGVjdXRhYmxlLXAKKyAgICAgICAg IChsYW1iZGEgKGZpbGUpCisgICAgICAgICAgIChsZXQgKChhdHRycyAoZXNoZWxsLXBhcnNl LWZpbGUtbmFtZS1hdHRyaWJ1dGVzIGZpbGUpKSkKKyAgICAgICAgICAgICA7OyBGb3Igc2lt cGxpY2l0eSwganVzdCByZXR1cm4gd2hldGhlciB0aGUgZmlsZSBpcworICAgICAgICAgICAg IDs7IHdvcmxkLWV4ZWN1dGFibGUuCisgICAgICAgICAgICAgKD0gKGxvZ2FuZCAob3IgKGFs aXN0LWdldCAnbW9kZXMgYXR0cnMpIDApIDEpIDEpKSkpKQorICAgICAsQGJvZHkpKQorCis7 OzsgVGVzdHM6CisKKwwKKzs7IEFyZ3VtZW50IHByZWRpY2F0ZXMKKworKGVydC1kZWZ0ZXN0 IGVtLXByZWQtdGVzdC9wcmVkaWNhdGUtZmlsZS10eXBlcyAoKQorICAiVGVzdCBmaWxlIHR5 cGUgcHJlZGljYXRlcy4iCisgIChlc2hlbGwtd2l0aC1maWxlLWF0dHJpYnV0ZXMtZnJvbS1u YW1lCisgICAgKGxldCAoKGZpbGVzIChtYXBjYXIgKGxhbWJkYSAoaSkgKGZvcm1hdCAiL2Zh a2UvdHlwZT0lcyIgaSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgJygiYiIgImMiICJk LyIgInAiICJzIiAibCIgIi0iKSkpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1l dmFsLXByZWRpY2F0ZSBmaWxlcyAiJSIpCisgICAgICAgICAgICAgICAgICAgICAnKCIvZmFr ZS90eXBlPWIiICIvZmFrZS90eXBlPWMiKSkpCisgICAgICAoc2hvdWxkIChlcXVhbCAoZXNo ZWxsLWV2YWwtcHJlZGljYXRlIGZpbGVzICIlYiIpICcoIi9mYWtlL3R5cGU9YiIpKSkKKyAg ICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgZmlsZXMgIiVjIikg JygiL2Zha2UvdHlwZT1jIikpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFs LXByZWRpY2F0ZSBmaWxlcyAiLyIpICAnKCIvZmFrZS90eXBlPWQvIikpKQorICAgICAgKHNo b3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSBmaWxlcyAiLiIpICAnKCIvZmFr ZS90eXBlPS0iKSkpCisgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGlj YXRlIGZpbGVzICJwIikgICcoIi9mYWtlL3R5cGU9cCIpKSkKKyAgICAgIChzaG91bGQgKGVx dWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgZmlsZXMgIj0iKSAgJygiL2Zha2UvdHlwZT1z IikpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSBmaWxl cyAiQCIpICAnKCIvZmFrZS90eXBlPWwiKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBlbS1wcmVk LXRlc3QvcHJlZGljYXRlLWV4ZWN1dGFibGUgKCkKKyAgIlRlc3QgdGhhdCBcIipcIiBtYXRj aGVzIG9ubHkgcmVndWxhciwgbm9uLXN5bWxpbmsgZXhlY3V0YWJsZSBmaWxlcy4iCisgIChl c2hlbGwtd2l0aC1maWxlLWF0dHJpYnV0ZXMtZnJvbS1uYW1lCisgICAgKGxldCAoKGZpbGVz ICcoIi9mYWtlL21vZGVzPTA3NzciICIvZmFrZS9tb2Rlcz0wNjY2IgorICAgICAgICAgICAg ICAgICAgICIvZmFrZS90eXBlPWQsbW9kZXM9MDc3NyIgIi9mYWtlL3R5cGU9bCxtb2Rlcz0w Nzc3IikpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSBm aWxlcyAiKiIpCisgICAgICAgICAgICAgICAgICAgICAnKCIvZmFrZS9tb2Rlcz0wNzc3Iikp KSkpKQorCisoZGVmbWFjcm8gZW0tcHJlZC10ZXN0LS1maWxlLW1vZGVzLWRlZnRlc3QgKG5h bWUgbW9kZS10ZW1wbGF0ZSBwcmVkaWNhdGVzCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJm9wdGlvbmFsIGRvY3N0cmluZykKKyAgIkRlZmlu ZSBOQU1FIGFzIGEgZmlsZS1tb2RlIHRlc3QuCitNT0RFLVRFTVBMQVRFIGlzIGEgZm9ybWF0 IHN0cmluZyB0byBjb252ZXJ0IGFuIGludGVnZXIgZnJvbSAwIHRvCis3IHRvIGFuIG9jdGFs IGZpbGUgbW9kZS4gIFBSRURJQ0FURVMgaXMgYSBsaXN0IG9mIHN0cmluZ3MgZm9yIHRoZQor cmVhZCwgd3JpdGUsIGFuZCBleGVjdXRlIHByZWRpY2F0ZXMgdG8gcXVlcnkgdGhlIGZpbGUn cyBtb2Rlcy4iCisgIChkZWNsYXJlIChpbmRlbnQgNCkgKGRvYy1zdHJpbmcgNCkpCisgIGAo ZXJ0LWRlZnRlc3QgLG5hbWUgKCkKKyAgICAgLGRvY3N0cmluZworICAgICAoZXNoZWxsLXdp dGgtZmlsZS1hdHRyaWJ1dGVzLWZyb20tbmFtZQorICAgICAgIChsZXQgKChmaWxlLXRlbXBs YXRlIChjb25jYXQgIi9mYWtlL21vZGVzPSIgLG1vZGUtdGVtcGxhdGUpKSkKKyAgICAgICAg IChjbC1mbGV0ICgobWFrZS1maWxlcyAocGVybXMpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKG1hcGNhciAobGFtYmRhIChpKSAoZm9ybWF0IGZpbGUtdGVtcGxhdGUgaSkp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwZXJtcykpKQorICAg ICAgICAgICAocGNhc2UtbGV0ICgoZmlsZXMgKG1ha2UtZmlsZXMgKG51bWJlci1zZXF1ZW5j ZSAwIDcpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgKGAoLHJlYWQgLHdyaXRlICxleGVj KSAscHJlZGljYXRlcykpCisgICAgICAgICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1l dmFsLXByZWRpY2F0ZSBmaWxlcyByZWFkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg IChtYWtlLWZpbGVzICcoNCA1IDYgNykpKSkKKyAgICAgICAgICAgICAoc2hvdWxkIChlcXVh bCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlIGZpbGVzIChjb25jYXQgIl4iIHJlYWQpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChtYWtlLWZpbGVzICcoMCAxIDIgMykpKSkKKyAg ICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlIGZpbGVz IHdyaXRlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYWtlLWZpbGVzICcoMiAz IDYgNykpKSkKKyAgICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJl ZGljYXRlIGZpbGVzIChjb25jYXQgIl4iIHdyaXRlKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobWFrZS1maWxlcyAnKDAgMSA0IDUpKSkpCisgICAgICAgICAgICAgKHNob3Vs ZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSBmaWxlcyBleGVjKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChtYWtlLWZpbGVzICcoMSAzIDUgNykpKSkKKyAgICAgICAg ICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlIGZpbGVzIChjb25j YXQgIl4iIGV4ZWMpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYWtlLWZpbGVz ICcoMCAyIDQgNikpKSkpKSkpKSkKKworKGVtLXByZWQtdGVzdC0tZmlsZS1tb2Rlcy1kZWZ0 ZXN0IGVtLXByZWQtdGVzdC9wcmVkaWNhdGUtZmlsZS1tb2Rlcy1vd25lcgorICAgICIwJW8w MCIgJygiciIgInciICJ4IikKKyAgICAiVGVzdCBwcmVkaWNhdGVzIGZvciBmaWxlIHBlcm1p c3Npb25zIGZvciB0aGUgb3duZXIuIikKKworKGVtLXByZWQtdGVzdC0tZmlsZS1tb2Rlcy1k ZWZ0ZXN0IGVtLXByZWQtdGVzdC9wcmVkaWNhdGUtZmlsZS1tb2Rlcy1ncm91cAorICAgICIw MCVvMCIgJygiQSIgIkkiICJFIikKKyAgICAiVGVzdCBwcmVkaWNhdGVzIGZvciBmaWxlIHBl cm1pc3Npb25zIGZvciB0aGUgZ3JvdXAuIikKKworKGVtLXByZWQtdGVzdC0tZmlsZS1tb2Rl cy1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9wcmVkaWNhdGUtZmlsZS1tb2Rlcy13b3JsZAorICAg ICIwMDAlbyIgJygiUiIgIlciICJYIikKKyAgICAiVGVzdCBwcmVkaWNhdGVzIGZvciBmaWxl IHBlcm1pc3Npb25zIGZvciB0aGUgd29ybGQuIikKKworKGVtLXByZWQtdGVzdC0tZmlsZS1t b2Rlcy1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9wcmVkaWNhdGUtZmlsZS1tb2Rlcy1mbGFncwor ICAgICIlbzAwMCIgJygicyIgIlMiICJ0IikKKyAgICAiVGVzdCBwcmVkaWNhdGVzIGZvciBc InNcIiAoc2V0dWlkKSwgXCJTXCIgKHNldGdpZCksIGFuZCBcInRcIiAoc3RpY2t5KS4iKQor CisoZXJ0LWRlZnRlc3QgZW0tcHJlZC10ZXN0L3ByZWRpY2F0ZS1lZmZlY3RpdmUtdWlkICgp CisgICJUZXN0IHRoYXQgXCJVXCIgbWF0Y2hlcyBmaWxlcyBvd25lZCBieSB0aGUgZWZmZWN0 aXZlIFVJRC4iCisgIChlc2hlbGwtd2l0aC1maWxlLWF0dHJpYnV0ZXMtZnJvbS1uYW1lCisg ICAgKGNsLWxldGYgKCgoc3ltYm9sLWZ1bmN0aW9uICd1c2VyLXVpZCkgKGxhbWJkYSAoKSAx KSkpCisgICAgICAobGV0ICgoZmlsZXMgJygiL2Zha2UvdWlkPTEiICIvZmFrZS91aWQ9MiIp KSkKKyAgICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSBmaWxl cyAiVSIpCisgICAgICAgICAgICAgICAgICAgICAgICcoIi9mYWtlL3VpZD0xIikpKSkpKSkK KworKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9wcmVkaWNhdGUtbGlua3MgKCkKKyAgIlRl c3QgdGhhdCBcImxcIiBmaWx0ZXJzIGJ5IG51bWJlciBvZiBsaW5rcy4iCisgIChlc2hlbGwt d2l0aC1maWxlLWF0dHJpYnV0ZXMtZnJvbS1uYW1lCisgICAgKGxldCAoKGZpbGVzICcoIi9m YWtlL2xpbmtzPTEiICIvZmFrZS9saW5rcz0yIiAiL2Zha2UvbGlua3M9MyIpKSkKKyAgICAg IChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgZmlsZXMgImwxIikKKyAg ICAgICAgICAgICAgICAgICAgICcoIi9mYWtlL2xpbmtzPTEiKSkpCisgICAgICAoc2hvdWxk IChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlIGZpbGVzICJsKzEiKQorICAgICAgICAg ICAgICAgICAgICAgJygiL2Zha2UvbGlua3M9MiIgIi9mYWtlL2xpbmtzPTMiKSkpCisgICAg ICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlIGZpbGVzICJsLTMiKQor ICAgICAgICAgICAgICAgICAgICAgJygiL2Zha2UvbGlua3M9MSIgIi9mYWtlL2xpbmtzPTIi KSkpKSkpCisKKyhlcnQtZGVmdGVzdCBlbS1wcmVkLXRlc3QvcHJlZGljYXRlLXVpZCAoKQor ICAiVGVzdCB0aGF0IFwidVwiIGZpbHRlcnMgYnkgVUlEL3VzZXIgbmFtZS4iCisgIChlc2hl bGwtd2l0aC1maWxlLWF0dHJpYnV0ZXMtZnJvbS1uYW1lCisgICAgKGxldCAoKGZpbGVzICco Ii9mYWtlL3VpZD0xIiAiL2Zha2UvdWlkPTIiKSkKKyAgICAgICAgICAodXNlci1uYW1lcyAn KCJyb290IiAib25lIiAidHdvIikpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1l dmFsLXByZWRpY2F0ZSBmaWxlcyAidTEiKQorICAgICAgICAgICAgICAgICAgICAgJygiL2Zh a2UvdWlkPTEiKSkpCisgICAgICAoY2wtbGV0ZiAoKChzeW1ib2wtZnVuY3Rpb24gJ2VzaGVs bC11c2VyLWlkKQorICAgICAgICAgICAgICAgICAobGFtYmRhIChuYW1lKSAoc2VxLXBvc2l0 aW9uIHVzZXItbmFtZXMgbmFtZSkpKSkKKyAgICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVs bC1ldmFsLXByZWRpY2F0ZSBmaWxlcyAidSdvbmUnIikKKyAgICAgICAgICAgICAgICAgICAg ICAgJygiL2Zha2UvdWlkPTEiKSkpCisgICAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwt ZXZhbC1wcmVkaWNhdGUgZmlsZXMgInV7b25lfSIpCisgICAgICAgICAgICAgICAgICAgICAg ICcoIi9mYWtlL3VpZD0xIikpKSkpKSkKKworKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9w cmVkaWNhdGUtZ2lkICgpCisgICJUZXN0IHRoYXQgXCJnXCIgZmlsdGVycyBieSBHSUQvZ3Jv dXAgbmFtZS4iCisgIChlc2hlbGwtd2l0aC1maWxlLWF0dHJpYnV0ZXMtZnJvbS1uYW1lCisg ICAgKGxldCAoKGZpbGVzICcoIi9mYWtlL2dpZD0xIiAiL2Zha2UvZ2lkPTIiKSkKKyAgICAg ICAgICAoZ3JvdXAtbmFtZXMgJygicm9vdCIgIm9uZSIgInR3byIpKSkKKyAgICAgIChzaG91 bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgZmlsZXMgImcxIikKKyAgICAgICAg ICAgICAgICAgICAgICcoIi9mYWtlL2dpZD0xIikpKQorICAgICAgKGNsLWxldGYgKCgoc3lt Ym9sLWZ1bmN0aW9uICdlc2hlbGwtZ3JvdXAtaWQpCisgICAgICAgICAgICAgICAgIChsYW1i ZGEgKG5hbWUpIChzZXEtcG9zaXRpb24gZ3JvdXAtbmFtZXMgbmFtZSkpKSkKKyAgICAgICAg KHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSBmaWxlcyAiZydvbmUnIikK KyAgICAgICAgICAgICAgICAgICAgICAgJygiL2Zha2UvZ2lkPTEiKSkpCisgICAgICAgIChz aG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgZmlsZXMgImd7b25lfSIpCisg ICAgICAgICAgICAgICAgICAgICAgICcoIi9mYWtlL2dpZD0xIikpKSkpKSkKKworKGRlZm1h Y3JvIGVtLXByZWQtdGVzdC0tdGltZS1kZWZ0ZXN0IChuYW1lIGZpbGUtYXR0cmlidXRlIHBy ZWRpY2F0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZv cHRpb25hbCBkb2NzdHJpbmcpCisgICJEZWZpbmUgTkFNRSBhcyBhIGZpbGUtdGltZSB0ZXN0 LgorRklMRS1BVFRSSUJVVEUgaXMgdGhlIGZpbGUncyBhdHRyaWJ1dGUgdG8gc2V0IChlLmcu IFwiYXRpbWVcIikuCitQUkVESUNBVEUgaXMgdGhlIHByZWRpY2F0ZSB1c2VkIHRvIHF1ZXJ5 IHRoYXQgYXR0cmlidXRlLiIKKyAgKGRlY2xhcmUgKGluZGVudCA0KSAoZG9jLXN0cmluZyA0 KSkKKyAgYChlcnQtZGVmdGVzdCAsbmFtZSAoKQorICAgICAsZG9jc3RyaW5nCisgICAgIChl c2hlbGwtd2l0aC1maWxlLWF0dHJpYnV0ZXMtZnJvbS1uYW1lCisgICAgICAgKGNsLWZsZXQg KChtYWtlLWZpbGUgKHRpbWUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1h dCAiL2Zha2UvJXM9JWQiICxmaWxlLWF0dHJpYnV0ZSB0aW1lKSkpCisgICAgICAgICAobGV0 KiAoKG5vdyAodGltZS1jb252ZXJ0IG5pbCAnaW50ZWdlcikpCisgICAgICAgICAgICAgICAg KHllc3RlcmRheSAoLSBub3cgODY0MDApKQorICAgICAgICAgICAgICAgIChmaWxlcyAobWFw Y2FyICMnbWFrZS1maWxlIChsaXN0IG5vdyB5ZXN0ZXJkYXkpKSkpCisgICAgICAgICAgIDs7 IFRlc3QgY29tcGFyaXNvbiBhZ2FpbnN0IGEgbnVtYmVyIG9mIGRheXMuCisgICAgICAgICAg IChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZpbGVzIChjb25jYXQgLHByZWRpY2F0ZSAiLTEiKSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgKG1hcGNhciAjJ21ha2UtZmlsZSAobGlzdCBub3cpKSkpCisg ICAgICAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZpbGVzIChjb25jYXQgLHByZWRpY2F0ZSAiKzEiKSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hcGNhciAjJ21ha2UtZmlsZSAobGlzdCB5 ZXN0ZXJkYXkpKSkpCisgICAgICAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1w cmVkaWNhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzIChjb25jYXQgLHBy ZWRpY2F0ZSAiKzIiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgbmlsKSkKKyAgICAg ICAgICAgOzsgVGVzdCBjb21wYXJpc29uIGFnYWluc3QgYSBudW1iZXIgb2YgaG91cnMuCisg ICAgICAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIGZpbGVzIChjb25jYXQgLHByZWRpY2F0ZSAiaC0xIikp CisgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXBjYXIgIydtYWtlLWZpbGUgKGxpc3Qg bm93KSkpKQorICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGlj YXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyAoY29uY2F0ICxwcmVkaWNh dGUgImgrMSIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAobWFwY2FyICMnbWFrZS1m aWxlIChsaXN0IHllc3RlcmRheSkpKSkKKyAgICAgICAgICAgKHNob3VsZCAoZXF1YWwgKGVz aGVsbC1ldmFsLXByZWRpY2F0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXMg KGNvbmNhdCAscHJlZGljYXRlICIrNDgiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg bmlsKSkKKyAgICAgICAgICAgOzsgVGVzdCBjb21wYXJpc29uIGFnYWluc3QgYW5vdGhlciBm aWxlLgorICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRl CisgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlcyAoZm9ybWF0ICIlcy0nJXMnIiAs cHJlZGljYXRlIChtYWtlLWZpbGUgbm93KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg IG5pbCkpCisgICAgICAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNh dGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzIChmb3JtYXQgIiVzKyclcyci ICxwcmVkaWNhdGUgKG1ha2UtZmlsZSBub3cpKSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgKG1hcGNhciAjJ21ha2UtZmlsZSAobGlzdCB5ZXN0ZXJkYXkpKSkpKSkpKSkKKworKGVt LXByZWQtdGVzdC0tdGltZS1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9wcmVkaWNhdGUtYWNjZXNz LXRpbWUKKyAgICAiYXRpbWUiICJhIgorICAgICJUZXN0IHRoYXQgXCJhXCIgZmlsdGVycyBi eSBhY2Nlc3MgdGltZS4iKQorCisoZW0tcHJlZC10ZXN0LS10aW1lLWRlZnRlc3QgZW0tcHJl ZC10ZXN0L3ByZWRpY2F0ZS1tb2RpZmljYXRpb24tdGltZQorICAgICJtdGltZSIgIm0iCisg ICAgIlRlc3QgdGhhdCBcIm1cIiBmaWx0ZXJzIGJ5IGNoYW5nZSB0aW1lLiIpCisKKyhlbS1w cmVkLXRlc3QtLXRpbWUtZGVmdGVzdCBlbS1wcmVkLXRlc3QvcHJlZGljYXRlLWNoYW5nZS10 aW1lCisgICAgImN0aW1lIiAiYyIKKyAgICAiVGVzdCB0aGF0IFwiY1wiIGZpbHRlcnMgYnkg Y2hhbmdlIHRpbWUuIikKKworKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9wcmVkaWNhdGUt c2l6ZSAoKQorICAiVGVzdCB0aGF0IFwiTFwiIGZpbHRlcnMgYnkgZmlsZSBzaXplLiIKKyAg KGVzaGVsbC13aXRoLWZpbGUtYXR0cmlidXRlcy1mcm9tLW5hbWUKKyAgICAobGV0ICgoZmls ZXMgJygiL2Zha2Uvc2l6ZT0wIgorICAgICAgICAgICAgICAgICAgIDs7IDEgYW5kIDIgS2lC LgorICAgICAgICAgICAgICAgICAgICIvZmFrZS9zaXplPTEwMjQiICIvZmFrZS9zaXplPTIw NDgiCisgICAgICAgICAgICAgICAgICAgOzsgMSBhbmQgMiBNaUIuCisgICAgICAgICAgICAg ICAgICAgIi9mYWtlL3NpemU9MTA0ODU3NiIgIi9mYWtlL3NpemU9MjA5NzE1MiIpKSkKKyAg ICAgIDs7IFNpemUgaW4gYnl0ZXMuCisgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2 YWwtcHJlZGljYXRlIGZpbGVzICJMMjA0OCIpCisgICAgICAgICAgICAgICAgICAgICAnKCIv ZmFrZS9zaXplPTIwNDgiKSkpCisgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwt cHJlZGljYXRlIGZpbGVzICJMKzIwNDgiKQorICAgICAgICAgICAgICAgICAgICAgJygiL2Zh a2Uvc2l6ZT0xMDQ4NTc2IiAiL2Zha2Uvc2l6ZT0yMDk3MTUyIikpKQorICAgICAgKHNob3Vs ZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSBmaWxlcyAiTC0yMDQ4IikKKyAgICAg ICAgICAgICAgICAgICAgICcoIi9mYWtlL3NpemU9MCIgIi9mYWtlL3NpemU9MTAyNCIpKSkK KyAgICAgIDs7IFNpemUgaW4gYmxvY2tzLgorICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVs bC1ldmFsLXByZWRpY2F0ZSBmaWxlcyAiTHA0IikKKyAgICAgICAgICAgICAgICAgICAgICco Ii9mYWtlL3NpemU9MjA0OCIpKSkKKyAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZh bC1wcmVkaWNhdGUgZmlsZXMgIkxwKzQiKQorICAgICAgICAgICAgICAgICAgICAgJygiL2Zh a2Uvc2l6ZT0xMDQ4NTc2IiAiL2Zha2Uvc2l6ZT0yMDk3MTUyIikpKQorICAgICAgKHNob3Vs ZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSBmaWxlcyAiTHAtNCIpCisgICAgICAg ICAgICAgICAgICAgICAnKCIvZmFrZS9zaXplPTAiICIvZmFrZS9zaXplPTEwMjQiKSkpCisg ICAgICA7OyBTaXplIGluIEtpQi4KKyAgICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZh bC1wcmVkaWNhdGUgZmlsZXMgIkxrMiIpCisgICAgICAgICAgICAgICAgICAgICAnKCIvZmFr ZS9zaXplPTIwNDgiKSkpCisgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJl ZGljYXRlIGZpbGVzICJMaysyIikKKyAgICAgICAgICAgICAgICAgICAgICcoIi9mYWtlL3Np emU9MTA0ODU3NiIgIi9mYWtlL3NpemU9MjA5NzE1MiIpKSkKKyAgICAgIChzaG91bGQgKGVx dWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgZmlsZXMgIkxrLTIiKQorICAgICAgICAgICAg ICAgICAgICAgJygiL2Zha2Uvc2l6ZT0wIiAiL2Zha2Uvc2l6ZT0xMDI0IikpKQorICAgICAg OzsgU2l6ZSBpbiBNaUIuCisgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJl ZGljYXRlIGZpbGVzICJMTTEiKQorICAgICAgICAgICAgICAgICAgICAgJygiL2Zha2Uvc2l6 ZT0xMDQ4NTc2IikpKQorICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRp Y2F0ZSBmaWxlcyAiTE0rMSIpCisgICAgICAgICAgICAgICAgICAgICAnKCIvZmFrZS9zaXpl PTIwOTcxNTIiKSkpCisgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGlj YXRlIGZpbGVzICJMTS0xIikKKyAgICAgICAgICAgICAgICAgICAgICcoIi9mYWtlL3NpemU9 MCIgIi9mYWtlL3NpemU9MTAyNCIgIi9mYWtlL3NpemU9MjA0OCIpKSkpKSkKKworDAorOzsg QXJndW1lbnQgbW9kaWZpZXJzCisKKyhlcnQtZGVmdGVzdCBlbS1wcmVkLXRlc3QvbW9kaWZp ZXItZXZhbCAoKQorICAiVGVzdCB0aGF0IFwiOkVcIiByZS1ldmFsdWF0ZXMgdGhlIHZhbHVl LiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiJHtlY2hvIGhp fSIgIjpFIikgImhpIikpCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNh dGUKKyAgICAgICAgICAgICAgICAgICcoIiR7ZWNobyBoaX0iICIkKHVwY2FzZSBcImJ5ZVwi KSIpICI6RSIpCisgICAgICAgICAgICAgICAgICcoImhpIiAiQllFIikpKSkKKworKGVydC1k ZWZ0ZXN0IGVtLXByZWQtdGVzdC9tb2RpZmllci1kb3duY2FzZSAoKQorICAiVGVzdCB0aGF0 IFwiOkxcIiBkb3duY2FzZXMgdmFsdWVzLiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1l dmFsLXByZWRpY2F0ZSAiRk9PIiAiOkwiKSAiZm9vIikpCisgIChzaG91bGQgKGVxdWFsIChl c2hlbGwtZXZhbC1wcmVkaWNhdGUgJygiRk9PIiAiQkFSIikgIjpMIikKKyAgICAgICAgICAg ICAgICAgJygiZm9vIiAiYmFyIikpKSkKKworKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9t b2RpZmllci11cGNhc2UgKCkKKyAgIlRlc3QgdGhhdCBcIjpVXCIgdXBjYXNlcyB2YWx1ZXMu IgorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICJmb28iICI6VSIp ICJGT08iKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJm b28iICJiYXIiKSAiOlUiKQorICAgICAgICAgICAgICAgICAnKCJGT08iICJCQVIiKSkpKQor CisoZXJ0LWRlZnRlc3QgZW0tcHJlZC10ZXN0L21vZGlmaWVyLWNhcGl0YWxpemUgKCkKKyAg IlRlc3QgdGhhdCBcIjpDXCIgY2FwaXRhbGl6ZXMgdmFsdWVzLiIKKyAgKHNob3VsZCAoZXF1 YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiZm9vIGJhciIgIjpDIikgIkZvbyBCYXIiKSkK KyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJmb28gYmFyIiAi YmF6IikgIjpDIikKKyAgICAgICAgICAgICAgICAgJygiRm9vIEJhciIgIkJheiIpKSkpCisK KyhlcnQtZGVmdGVzdCBlbS1wcmVkLXRlc3QvbW9kaWZpZXItZGlybmFtZSAoKQorICAiVGVz dCB0aGF0IFwiOmhcIiByZXR1cm5zIHRoZSBkaXJuYW1lLiIKKyAgKHNob3VsZCAoZXF1YWwg KGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiL3BhdGgvdG8vZmlsZS5lbCIgIjpoIikgIi9wYXRo L3RvLyIpKQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlCisgICAg ICAgICAgICAgICAgICAnKCIvcGF0aC90by9maWxlLmVsIiAiL290aGVyL3BhdGgvIikgIjpo IikKKyAgICAgICAgICAgICAgICAgJygiL3BhdGgvdG8vIiAiL290aGVyL3BhdGgvIikpKSkK KworKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9tb2RpZmllci1iYXNlbmFtZSAoKQorICAi VGVzdCB0aGF0IFwiOnRcIiByZXR1cm5zIHRoZSBiYXNlbmFtZS4iCisgIChzaG91bGQgKGVx dWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgIi9wYXRoL3RvL2ZpbGUuZWwiICI6dCIpICJm aWxlLmVsIikpCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUKKyAg ICAgICAgICAgICAgICAgICcoIi9wYXRoL3RvL2ZpbGUuZWwiICIvb3RoZXIvcGF0aC8iKSAi OnQiKQorICAgICAgICAgICAgICAgICAnKCJmaWxlLmVsIiAiIikpKSkKKworKGVydC1kZWZ0 ZXN0IGVtLXByZWQtdGVzdC9tb2RpZmllci1leHRlbnNpb24gKCkKKyAgIlRlc3QgdGhhdCBc IjplXCIgcmV0dXJucyB0aGUgZXh0ZW5zaW9uLiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVs bC1ldmFsLXByZWRpY2F0ZSAiL3BhdGgvdG8vZmlsZS5lbCIgIjplIikgImVsIikpCisgIChz aG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUKKyAgICAgICAgICAgICAgICAg ICcoIi9wYXRoL3RvL2ZpbGUuZWwiICIvb3RoZXIvcGF0aC8iKSAiOmUiKQorICAgICAgICAg ICAgICAgICAnKCJlbCIgbmlsKSkpKQorCisoZXJ0LWRlZnRlc3QgZW0tcHJlZC10ZXN0L21v ZGlmaWVyLXNhbnMtZXh0ZW5zaW9uICgpCisgICJUZXN0IHRoYXQgXCI6clwiIHJldHVybnMg dGhlIGZpbGUgbmFtZSBzYW4gZXh0ZW5zaW9uLiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVs bC1ldmFsLXByZWRpY2F0ZSAiL3BhdGgvdG8vZmlsZS5lbCIgIjpyIikKKyAgICAgICAgICAg ICAgICAgIi9wYXRoL3RvL2ZpbGUiKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFs LXByZWRpY2F0ZQorICAgICAgICAgICAgICAgICAgJygiL3BhdGgvdG8vZmlsZS5lbCIgIi9v dGhlci9wYXRoLyIpICI6ciIpCisgICAgICAgICAgICAgICAgICcoIi9wYXRoL3RvL2ZpbGUi ICIvb3RoZXIvcGF0aC8iKSkpKQorCisoZXJ0LWRlZnRlc3QgZW0tcHJlZC10ZXN0L21vZGlm aWVyLXF1b3RlICgpCisgICJUZXN0IHRoYXQgXCI6cVwiIHF1b3RlcyBhcmd1bWVudHMuIgor ICAoc2hvdWxkIChlcXVhbC1pbmNsdWRpbmctcHJvcGVydGllcworICAgICAgICAgICAoZXNo ZWxsLWV2YWwtcHJlZGljYXRlICcoImZvbyIgImJhciIpICI6cSIpCisgICAgICAgICAgIChs aXN0IChlc2hlbGwtZXNjYXBlLWFyZyAiZm9vIikgKGVzaGVsbC1lc2NhcGUtYXJnICJiYXIi KSkpKSkKKworKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9tb2RpZmllci1zdWJzdGl0dXRl ICgpCisgICJUZXN0IHRoYXQgXCI6cy9QQVQvUkVQL1wiIHJlcGxhY2VzIFBBVCB3aXRoIFJF UCBvbmNlLiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiYmFy IiAiOnMvYS8qLyIpICJiKnIiKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXBy ZWRpY2F0ZSAiYmFyIiAiOnN8YXwqfCIpICJiKnIiKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVz aGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJmb28iICJiYXIiICJiYXoiKSAiOnMvW2FvXS8qLyIp CisgICAgICAgICAgICAgICAgICcoImYqbyIgImIqciIgImIqeiIpKSkKKyAgKHNob3VsZCAo ZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJmb28iICJiYXIiICJiYXoiKSAiOnN8 W2FvXXwqfCIpCisgICAgICAgICAgICAgICAgICcoImYqbyIgImIqciIgImIqeiIpKSkpCisK KyhlcnQtZGVmdGVzdCBlbS1wcmVkLXRlc3QvbW9kaWZpZXItZ2xvYmFsLXN1YnN0aXR1dGUg KCkKKyAgIlRlc3QgdGhhdCBcIjpzL1BBVC9SRVAvXCIgcmVwbGFjZXMgUEFUIHdpdGggUkVQ IGZvciBhbGwgb2NjdXJyZW5jZXMuIgorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwt cHJlZGljYXRlICJmb28iICI6Z3MvYS8qLyIpICJmb28iKSkKKyAgKHNob3VsZCAoZXF1YWwg KGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiZm9vIiAiOmdzfGF8KnwiKSAiZm9vIikpCisgIChz aG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgImJhciIgIjpncy9hLyovIikg ImIqciIpKQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICJiYXIi ICI6Z3N8YXwqfCIpICJiKnIiKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXBy ZWRpY2F0ZSAiZm9vIiAiOmdzL28vTy8iKSAiZk9PIikpCisgIChzaG91bGQgKGVxdWFsIChl c2hlbGwtZXZhbC1wcmVkaWNhdGUgJygiZm9vIiAiYmFyIiAiYmF6IikgIjpncy9bYWVpb3Vd LyovIikKKyAgICAgICAgICAgICAgICAgJygiZioqIiAiYipyIiAiYip6IikpKQorICAoc2hv dWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICcoImZvbyIgImJhciIgImJheiIp ICI6Z3N8W2FlaW91XXwqfCIpCisgICAgICAgICAgICAgICAgICcoImYqKiIgImIqciIgImIq eiIpKSkpCisKKyhlcnQtZGVmdGVzdCBlbS1wcmVkLXRlc3QvbW9kaWZpZXItaW5jbHVkZSAo KQorICAiVGVzdCB0aGF0IFwiOmkvUEFUL1wiIGZpbHRlcnMgZWxlbWVudHMgdG8gaW5jbHVk ZSBvbmx5IG9uZXMgbWF0Y2hpbmcgUEFULiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1l dmFsLXByZWRpY2F0ZSAiZm9vIiAiOmkvYS8iKSBuaWwpKQorICAoc2hvdWxkIChlcXVhbCAo ZXNoZWxsLWV2YWwtcHJlZGljYXRlICJmb28iICI6aXxhfCIpIG5pbCkpCisgIChzaG91bGQg KGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgImJhciIgIjppL2EvIikgImJhciIpKQor ICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICJiYXIiICI6aXxhfCIp ICJiYXIiKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJm b28iICJiYXIiICJiYXoiKSAiOmkvYS8iKQorICAgICAgICAgICAgICAgICAnKCJiYXIiICJi YXoiKSkpCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgJygiZm9v IiAiYmFyIiAiYmF6IikgIjppfGF8IikKKyAgICAgICAgICAgICAgICAgJygiYmFyIiAiYmF6 IikpKSkKKworKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9tb2RpZmllci1leGNsdWRlICgp CisgICJUZXN0IHRoYXQgXCI6eC9QQVQvXCIgZmlsdGVycyBlbGVtZW50cyB0byBleGNsdWRl IGFueSBtYXRjaGluZyBQQVQuIgorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJl ZGljYXRlICJmb28iICI6eC9hLyIpICJmb28iKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVs bC1ldmFsLXByZWRpY2F0ZSAiZm9vIiAiOnh8YXwiKSAiZm9vIikpCisgIChzaG91bGQgKGVx dWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgImJhciIgIjp4L2EvIikgbmlsKSkKKyAgKHNo b3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiYmFyIiAiOnh8YXwiKSBuaWwp KQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICcoImZvbyIgImJh ciIgImJheiIpICI6eC9hLyIpCisgICAgICAgICAgICAgICAgICcoImZvbyIpKSkKKyAgKHNo b3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJmb28iICJiYXIiICJiYXoi KSAiOnh8YXwiKQorICAgICAgICAgICAgICAgICAnKCJmb28iKSkpKQorCisoZXJ0LWRlZnRl c3QgZW0tcHJlZC10ZXN0L21vZGlmaWVyLXNwbGl0ICgpCisgICJUZXN0IHRoYXQgXCI6U1wi IGFuZCBcIjpTL1BBVC9cIiBzcGxpdCBlbGVtZW50cyBieSBzcGFjZXMgKG9yIFBBVCkuIgor ICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICJmb28gYmFyIGJheiIg IjpTIikKKyAgICAgICAgICAgICAgICAgJygiZm9vIiAiYmFyIiAiYmF6IikpKQorICAoc2hv dWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICcoImZvbyBiYXIiICJiYXoiKSAi OlMiKQorICAgICAgICAgICAgICAgICAnKCgiZm9vIiAiYmFyIikgKCJiYXoiKSkpKQorICAo c2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICJmb28tYmFyLWJheiIgIjpT Ly0vIikKKyAgICAgICAgICAgICAgICAgJygiZm9vIiAiYmFyIiAiYmF6IikpKQorICAoc2hv dWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICcoImZvby1iYXIiICJiYXoiKSAi OlMvLS8iKQorICAgICAgICAgICAgICAgICAnKCgiZm9vIiAiYmFyIikgKCJiYXoiKSkpKSkK KworKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9tb2RpZmllci1qb2luICgpCisgICJUZXN0 IHRoYXQgXCI6alwiIGFuZCBcIjpqL0RFTElNL1wiIGpvaW4gZWxlbWVudHMgYnkgc3BhY2Vz IChvciBERUxJTSkuIgorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRl ICJmb28iICI6aiIpICJmb28iKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXBy ZWRpY2F0ZSAnKCJmb28iICJiYXIiICJiYXoiKSAiOmoiKQorICAgICAgICAgICAgICAgICAi Zm9vIGJhciBiYXoiKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0 ZSAiZm9vIiAiOmovLS8iKSAiZm9vIikpCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZh bC1wcmVkaWNhdGUgJygiZm9vIiAiYmFyIiAiYmF6IikgIjpqLy0vIikKKyAgICAgICAgICAg ICAgICAgImZvby1iYXItYmF6IikpKQorCisoZXJ0LWRlZnRlc3QgZW0tcHJlZC10ZXN0L21v ZGlmaWVyLXNvcnQgKCkKKyAgIlRlc3QgdGhhdCBcIjpvXCIgc29ydHMgZWxlbWVudHMgaW4g bGV4aWNvZ3JhcGhpYyBvcmRlci4iCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1w cmVkaWNhdGUgImZvbyIgIjpvIikgImZvbyIpKQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxs LWV2YWwtcHJlZGljYXRlICcoImZvbyIgImJhciIgImJheiIpICI6byIpCisgICAgICAgICAg ICAgICAgICcoImJhciIgImJheiIgImZvbyIpKSkpCisKKyhlcnQtZGVmdGVzdCBlbS1wcmVk LXRlc3QvbW9kaWZpZXItc29ydC1yZXZlcnNlICgpCisgICJUZXN0IHRoYXQgXCI6b1wiIHNv cnRzIGVsZW1lbnRzIGluIHJldmVyc2UgbGV4aWNvZ3JhcGhpYyBvcmRlci4iCisgIChzaG91 bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgImZvbyIgIjpPIikgImZvbyIpKQor ICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICcoImZvbyIgImJhciIg ImJheiIpICI6TyIpCisgICAgICAgICAgICAgICAgICcoImZvbyIgImJheiIgImJhciIpKSkp CisKKyhlcnQtZGVmdGVzdCBlbS1wcmVkLXRlc3QvbW9kaWZpZXItdW5pcXVlICgpCisgICJU ZXN0IHRoYXQgXCI6dVwiIGZpbHRlcnMgb3V0IGR1cGxpY2F0ZSBlbGVtZW50cy4iCisgIChz aG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUgImZvbyIgIjp1IikgImZvbyIp KQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlICcoImZvbyIgImJh ciIgImJheiIpICI6dSIpCisgICAgICAgICAgICAgICAgICcoImZvbyIgImJhciIgImJheiIp KSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAnKCJmb28iICJi YXIiICJiYXoiICJmb28iKSAiOnUiKQorICAgICAgICAgICAgICAgICAnKCJmb28iICJiYXIi ICJiYXoiKSkpKQorCisoZXJ0LWRlZnRlc3QgZW0tcHJlZC10ZXN0L21vZGlmaWVyLXJldmVy c2UgKCkKKyAgIlRlc3QgdGhhdCBcIjpyXCIgcmV2ZXJzZXMgdGhlIG9yZGVyIG9mIGVsZW1l bnRzLiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRpY2F0ZSAiZm9vIiAi OlIiKSAiZm9vIikpCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtZXZhbC1wcmVkaWNhdGUg JygiZm9vIiAiYmFyIiAiYmF6IikgIjpSIikKKyAgICAgICAgICAgICAgICAgJygiYmF6IiAi YmFyIiAiZm9vIikpKSkKKworDAorOzsgQ29tYmluYXRpb25zCisKKyhlcnQtZGVmdGVzdCBl bS1wcmVkLXRlc3QvY29tYmluZS1wcmVkaWNhdGUtYW5kLW1vZGlmaWVyICgpCisgICJUZXN0 IGNvbWJpbmF0aW9uIG9mIHByZWRpY2F0ZXMgYW5kIG1vZGlmaWVycy4iCisgIChlc2hlbGwt d2l0aC1maWxlLWF0dHJpYnV0ZXMtZnJvbS1uYW1lCisgICAgKGxldCAoKGZpbGVzICcoIi9m YWtlL3R5cGU9LS5lbCIgIi9mYWtlL3R5cGU9LS50eHQiICIvZmFrZS90eXBlPXMuZWwiCisg ICAgICAgICAgICAgICAgICAgIi9mYWtlL3N1YmRpci90eXBlPS0uZWwiKSkpCisgICAgICAo c2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJlZGljYXRlIGZpbGVzICIuOmU6dSIpCisg ICAgICAgICAgICAgICAgICAgICAnKCJlbCIgInR4dCIpKSkpKSkKKworOzsgZW0tcHJlZC10 ZXN0cy5lbCBlbmRzIGhlcmUKLS0gCjIuMjUuMQoK --------------218631157F856742B919BFA3 Content-Type: text/plain; charset=UTF-8; name="0003-Add-G-argument-predicate-in-Eshell.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-Add-G-argument-predicate-in-Eshell.patch" RnJvbSAwMDU5NTliYmU5OTk4MTg1YmY5NjAwMzg3YWEzMDhmZmFiYmEwMDcwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMTkgTWFyIDIwMjIgMTc6NTI6NTUgLTA3MDAKU3ViamVjdDogW1BB VENIIDMvM10gQWRkICdHJyBhcmd1bWVudCBwcmVkaWNhdGUgaW4gRXNoZWxsCgoqIGxpc3Av ZXNoZWxsL2VtLXByZWQuZWwgKGVzaGVsbC1wcmVkaWNhdGUtYWxpc3QpOiBBZGQgJ0cnIHBy ZWRpY2F0ZS4KKGVzaGVsbC1wcmVkaWNhdGUtaGVscC1zdHJpbmcpOiBEb2N1bWVudCBpdC4K CiogdGVzdC9saXNwL2VzaGVsbC9lbS1wcmVkLXRlc3RzLmVsCihlbS1wcmVkLXRlc3QvcHJl ZGljYXRlLWVmZmVjdGl2ZS1naWQpOiBOZXcgdGVzdC4KCiogZG9jL21pc2MvZXNoZWxsLnRl eHQgKEFyZ3VtZW50IFByZWRpY2F0aW9uKTogRG9jdW1lbnQgJ0cnIHByZWRpY2F0ZS4KLS0t CiBkb2MvbWlzYy9lc2hlbGwudGV4aSAgICAgICAgICAgICAgfCAzICsrKwogbGlzcC9lc2hl bGwvZW0tcHJlZC5lbCAgICAgICAgICAgIHwgOSArKysrKy0tLS0KIHRlc3QvbGlzcC9lc2hl bGwvZW0tcHJlZC10ZXN0cy5lbCB8IDggKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMTYg aW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kb2MvbWlzYy9l c2hlbGwudGV4aSBiL2RvYy9taXNjL2VzaGVsbC50ZXhpCmluZGV4IDJiNDlkZGIwM2MuLjg5 ZjViOTUzZjUgMTAwNjQ0Ci0tLSBhL2RvYy9taXNjL2VzaGVsbC50ZXhpCisrKyBiL2RvYy9t aXNjL2VzaGVsbC50ZXhpCkBAIC0xMjY2LDYgKzEyNjYsOSBAQCBBcmd1bWVudCBQcmVkaWNh dGVzCiBAaXRlbSBAY29kZXtVfQogTWF0Y2hlcyBmaWxlcyBvd25lZCBieSB0aGUgY3VycmVu dCBlZmZlY3RpdmUgdXNlciBJRC4KIAorQGl0ZW0gQGNvZGV7R30KK01hdGNoZXMgZmlsZXMg b3duZWQgYnkgdGhlIGN1cnJlbnQgZWZmZWN0aXZlIGdyb3VwIElELgorCiBAaXRlbSBAY29k ZXtsQG9wdGlvbntbKy1dfUB2YXJ7bn19CiBNYXRjaGVzIGZpbGVzIHdpdGggQHZhcntufSBs aW5rcy4gIFdpdGggQG9wdGlvbnsrfSAob3IgQG9wdGlvbnstfSksCiBtYXRjaGVzIGZpbGVz IHdpdGggbW9yZSB0aGFuIChvciBsZXNzIHRoYW4pIEB2YXJ7bn0gbGlua3MsCmRpZmYgLS1n aXQgYS9saXNwL2VzaGVsbC9lbS1wcmVkLmVsIGIvbGlzcC9lc2hlbGwvZW0tcHJlZC5lbApp bmRleCA4YWZjODZkZDQxLi5lYjUxMDliODJkIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9l bS1wcmVkLmVsCisrKyBiL2xpc3AvZXNoZWxsL2VtLXByZWQuZWwKQEAgLTg4LDEwICs4OCwx MCBAQCBlc2hlbGwtcHJlZGljYXRlLWFsaXN0CiAgICAgICAgICAgICAoaWYgKGZpbGUtZXhp c3RzLXAgZmlsZSkKICAgICAgICAgICAgICAgICAoPSAoZmlsZS1hdHRyaWJ1dGUtdXNlci1p ZCAoZmlsZS1hdHRyaWJ1dGVzIGZpbGUpKQogICAgICAgICAgICAgICAgICAgICh1c2VyLXVp ZCkpKSkpCi0gICAgOzsgKD9HIC4gKGxhbWJkYSAoZmlsZSkgICAgICAgICAgICAgICA7IG93 bmVkIGJ5IGVmZmVjdGl2ZSBnaWQKLSAgICA7OyAgICAgICAgIChpZiAoZmlsZS1leGlzdHMt cCBmaWxlKQotICAgIDs7ICAgICAgICAgICAgICg9IChmaWxlLWF0dHJpYnV0ZS11c2VyLWlk IChmaWxlLWF0dHJpYnV0ZXMgZmlsZSkpCi0gICAgOzsgICAgICAgICAgICAgICAgKHVzZXIt dWlkKSkpKSkKKyAgICAoP0cgLiAobGFtYmRhIChmaWxlKSAgICAgICAgICAgICAgIDsgb3du ZWQgYnkgZWZmZWN0aXZlIGdpZAorICAgICAgICAgICAgKGlmIChmaWxlLWV4aXN0cy1wIGZp bGUpCisgICAgICAgICAgICAgICAgKD0gKGZpbGUtYXR0cmlidXRlLWdyb3VwLWlkIChmaWxl LWF0dHJpYnV0ZXMgZmlsZSkpCisgICAgICAgICAgICAgICAgICAgKGdyb3VwLWdpZCkpKSkp CiAgICAgKD8qIC4gKGxhbWJkYSAoZmlsZSkKICAgICAgICAgICAgIChhbmQgKGZpbGUtcmVn dWxhci1wIGZpbGUpCiAgICAgICAgICAgICAgICAgIChub3QgKGZpbGUtc3ltbGluay1wIGZp bGUpKQpAQCAtMTYxLDYgKzE2MSw3IEBAIGVzaGVsbC1wcmVkaWNhdGUtaGVscC1zdHJpbmcK IAogT1dORVJTSElQOgogICBVICAgICAgICAgICAgICAgb3duZWQgYnkgZWZmZWN0aXZlIHVp ZAorICBHICAgICAgICAgICAgICAgb3duZWQgYnkgZWZmZWN0aXZlIGdpZAogICB1KFVJRHxc XD0ndXNlclxcPScpICAgb3duZWQgYnkgVUlEL3VzZXIKICAgZyhHSUR8XFw9J2dyb3VwXFw9 JykgIG93bmVkIGJ5IEdJRC9ncm91cAogCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxs L2VtLXByZWQtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZXNoZWxsL2VtLXByZWQtdGVzdHMuZWwK aW5kZXggNzRkYWQ5ZjhiOC4uZmJmODk0NTIxNSAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2Vz aGVsbC9lbS1wcmVkLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZW0tcHJlZC10 ZXN0cy5lbApAQCAtMjI1LDYgKzIyNSwxNCBAQCBlbS1wcmVkLXRlc3QvcHJlZGljYXRlLWVm ZmVjdGl2ZS11aWQKICAgICAgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1ldmFsLXByZWRp Y2F0ZSBmaWxlcyAiVSIpCiAgICAgICAgICAgICAgICAgICAgICAgICcoIi9mYWtlL3VpZD0x IikpKSkpKSkKIAorKGVydC1kZWZ0ZXN0IGVtLXByZWQtdGVzdC9wcmVkaWNhdGUtZWZmZWN0 aXZlLWdpZCAoKQorICAiVGVzdCB0aGF0IFwiR1wiIG1hdGNoZXMgZmlsZXMgb3duZWQgYnkg dGhlIGVmZmVjdGl2ZSBHSUQuIgorICAoZXNoZWxsLXdpdGgtZmlsZS1hdHRyaWJ1dGVzLWZy b20tbmFtZQorICAgIChjbC1sZXRmICgoKHN5bWJvbC1mdW5jdGlvbiAnZ3JvdXAtZ2lkKSAo bGFtYmRhICgpIDEpKSkKKyAgICAgIChsZXQgKChmaWxlcyAnKCIvZmFrZS9naWQ9MSIgIi9m YWtlL2dpZD0yIikpKQorICAgICAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWV2YWwtcHJl ZGljYXRlIGZpbGVzICJHIikKKyAgICAgICAgICAgICAgICAgICAgICAgJygiL2Zha2UvZ2lk PTEiKSkpKSkpKQorCiAoZXJ0LWRlZnRlc3QgZW0tcHJlZC10ZXN0L3ByZWRpY2F0ZS1saW5r cyAoKQogICAiVGVzdCB0aGF0IFwibFwiIGZpbHRlcnMgYnkgbnVtYmVyIG9mIGxpbmtzLiIK ICAgKGVzaGVsbC13aXRoLWZpbGUtYXR0cmlidXRlcy1mcm9tLW5hbWUKLS0gCjIuMjUuMQoK --------------218631157F856742B919BFA3--