From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Denis Zubarev Newsgroups: gmane.emacs.bugs Subject: bug#67061: [PATCH] Improve syntax highlighting for python-ts-mode Date: Sun, 17 Dec 2023 03:26:08 +0300 Message-ID: <7371702772641@mail.yandex.ru> References: <8734xdni6y.fsf@yandex.ru> <831qcwycbj.fsf@gnu.org> <83v8a3qh6m.fsf@gnu.org> <834jhadvkt.fsf@gnu.org> <7aee7e42-c07d-9131-18a9-4806f07d4267@gutov.dev> <83a5qw7izt.fsf@gnu.org> <172531702081590@mail.yandex.ru> <212931702208489@mail.yandex.ru> <0c6e2e14-b494-a8cb-3893-ffb39577baf9@gutov.dev> <7b17c99d-6e4b-43b3-af93-993901a3a4ea@gmail.com> <95071702343720@mail.yandex.ru> <78ffdcf3-e322-49ea-a0d5-d0485ade9e73@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----==--bound.549855.an4sa4silbm64yo4.vla.yp-c.yandex.net" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="33744"; mail-complaints-to="usenet@ciao.gmane.io" Cc: "67061@debbugs.gnu.org" <67061@debbugs.gnu.org> To: Yuan Fu , Dmitry Gutov , Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 17 01:27:28 2023 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rEf0B-0008ZS-Ir for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 17 Dec 2023 01:27:27 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rEezn-0008I4-Bq; Sat, 16 Dec 2023 19:27:03 -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 1rEezl-0008Hs-OH for bug-gnu-emacs@gnu.org; Sat, 16 Dec 2023 19:27:01 -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 1rEezl-0005dE-Fx for bug-gnu-emacs@gnu.org; Sat, 16 Dec 2023 19:27:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rEezl-0003Nz-UE for bug-gnu-emacs@gnu.org; Sat, 16 Dec 2023 19:27:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Denis Zubarev Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 17 Dec 2023 00:27:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 67061 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 67061-submit@debbugs.gnu.org id=B67061.170277278412919 (code B ref 67061); Sun, 17 Dec 2023 00:27:01 +0000 Original-Received: (at 67061) by debbugs.gnu.org; 17 Dec 2023 00:26:24 +0000 Original-Received: from localhost ([127.0.0.1]:56363 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEez8-0003MH-6i for submit@debbugs.gnu.org; Sat, 16 Dec 2023 19:26:24 -0500 Original-Received: from forward100a.mail.yandex.net ([2a02:6b8:c0e:500:1:45:d181:d100]:40188) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rEez3-0003Ls-Dh for 67061@debbugs.gnu.org; Sat, 16 Dec 2023 19:26:20 -0500 Original-Received: from mail-nwsmtp-mxback-production-main-670.vla.yp-c.yandex.net (mail-nwsmtp-mxback-production-main-670.vla.yp-c.yandex.net [IPv6:2a02:6b8:c1d:5a08:0:640:78db:0]) by forward100a.mail.yandex.net (Yandex) with ESMTP id 63A4741C6C; Sun, 17 Dec 2023 03:26:09 +0300 (MSK) Original-Received: from mail.yandex.ru (2a02:6b8:c15:2c15:0:640:9da3:0 [2a02:6b8:c15:2c15:0:640:9da3:0]) by mail-nwsmtp-mxback-production-main-670.vla.yp-c.yandex.net (mxback/Yandex) with HTTP id 1Qaj1v3O7Sw0-bg8UWk8s; Sun, 17 Dec 2023 03:26:09 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1702772769; bh=sndKl6EZ+cgrp+4Y8tv7NPP/+LAu7SwMg16C7d6+C/I=; h=Message-Id:References:Date:Cc:Subject:In-Reply-To:To:From; b=JH+IQPEFygxA5AqHOod4A1qAliOLDXMwJ8siUxo1n3Tr3m060KEiL1rNYad+8iPX+ afz40VzA13bDvPnSYvyeB1bUjJe4P5hNnsJncJdBqHqc2530ji08AHR7gPkVyXHRUh Qa8/0FKVtKhrzt25WjrCdz3C9PVfKchetV+GzOtQ= Authentication-Results: mail-nwsmtp-mxback-production-main-670.vla.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Original-Received: by an4sa4silbm64yo4.vla.yp-c.yandex.net with HTTP; Sun, 17 Dec 2023 03:26:08 +0300 In-Reply-To: <78ffdcf3-e322-49ea-a0d5-d0485ade9e73@gmail.com> X-Mailer: Yamail [ http://yandex.ru ] 5.0 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:276395 Archived-At: ------==--bound.549855.an4sa4silbm64yo4.vla.yp-c.yandex.net Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 PGRpdj48ZGl2PlNvcnJ5IGZvciB0aGUgZGVsYXllZCByZXNwb25zZS48L2Rpdj48ZGl2PsKgPC9k aXY+PGRpdj4mZ3Q7IEZvciBtYW55IEVtYWNzIHVzZXJzLCB0aGV5IHdhbnQgYSBxdWlldGVyIG9y IGV2ZW4gbWluaW1hbCBmb250aWZpY2F0aW9uLjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PkknbSBu b3QgYWdhaW5zdCBpdC4gSSBqdXN0IHRoaW5rIHRoYXQgaGlnaGxpZ2h0aW5nIG9mIGFuIGludGVy cG9sYXRpb248L2Rpdj48ZGl2PmFzIGEgc3RyaW5nIGlzIHdyb25nLiBJcyBpdCBwb3NzaWJsZSB0 byBzZXQgcXVpZXQgZm9udGlmaWNhdGlvbiBpbjwvZGl2PjxkaXY+ZW1hY3MtbGlzcCBtb2RlLCBp biBzdWNoIGEgd2F5IHRoYXQgYGtleXdvcmRzJyBpbiBkb2Mtc3RyaW5ncyB3ZXJlPC9kaXY+PGRp dj5mb250aWZpZWQgYXMgYSBkb2Mtc3RyaW5nIGl0c2VsZj8gSSB0aGluayBpdCBpcyBzaW1pbGFy IHRvPC9kaXY+PGRpdj5pbnRlcnBvbGF0aW9uLCBpdCBzZXJ2ZXMgdGhlIHB1cnBvc2Ugb2Ygc2Vw YXJhdGluZyBkaWZmZXJlbnQgc2VtYW50aWM8L2Rpdj48ZGl2PmVsZW1lbnRzIGZyb20gZWFjaCBv dGhlci4gSU1ITywgdXNlcnMgd2hvIGxpa2UgcXVpZXQgbGV2ZWxzIHdpbGwgYmVuZWZpdDwvZGl2 PjxkaXY+ZnJvbSBpbnRlcnBvbGF0aW9uIGhpZ2hsaWdodGVkIGRpZmZlcmVudGx5LjwvZGl2Pjxk aXY+wqA8L2Rpdj48ZGl2PiZndDsgSW5zdGVhZCBvZiB0aGUgdGhpcmQgbGV2ZWwsIHRoZSBjaGVj ayBzaG91bGQgdXNlIHRoZSB2YWx1ZTwvZGl2PjxkaXY+Jmd0OyB0cmVlc2l0LWZvbnQtbG9jay1s ZXZlbC4gQW5kIGl0IHNob3VsZCBjaGVjayBmb3IgZWFjaCBsZXZlbCBzbWFsbGVyIHRoYW48L2Rp dj48ZGl2PiZndDsgb3IgZXF1YWwgdG8gdHJlZXNpdC1mb250LWxvY2stbGV2ZWwuPC9kaXY+PGRp dj7CoDwvZGl2PjxkaXY+RG9uZS48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj4mZ3Q7IE5vbi1lc3Nl bnRpYWwgZm9udGlmaWNhdGlvbiBsaWtlICJ2YXIiIHNob3VsZG4ndCBiZTwvZGl2PjxkaXY+Jmd0 OyBhY3RpdmF0ZWQgYXQgdGhhdCBsZXZlbC4gU28gSSBzdWdnZXN0IHRvIHB1dCBpdCBpbiB0aGUg dmFyaWFibGUgZmVhdHVyZSw8L2Rpdj48ZGl2PiZndDsgYWxvbmcgd2l0aCBtYW55IG90aGVyIG5v bi1lc3NlbnRpYWwgZm9udGlmaWNhdGlvbnMuIChWYXJpYWJsZSBmZWF0dXJlIGlzPC9kaXY+PGRp dj4mZ3Q7IHBsYWNlZCBhdCBsZXZlbCA0Lik8L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5JIGFkZGVk IGEgbmV3IGZlYXR1cmUgdmFyaWFibGUtZGVmaW5pdGlvbiBmb3IgdmFyaWFibGVzIGRlZmluZWQg Zm9yIGxvY2FsIHNjb3BlcyBhbmQgcHV0IGl0IG9uIHRoZSAzcmQgbGV2ZWwuPC9kaXY+PGRpdj48 ZGl2PkkgYWxzbyBhZGRlZCBydWxlcyB0byB2YXJpYWJsZS1kZWZpbml0aW9uIGZlYXR1cmUgZm9y IHZhcmlhYmxlcyBpbiBsaXN0PC9kaXY+PGRpdj5jb21wcmVoZW5zaW9uICggW3ZhcisxIGZvciB2 YXIgaW4gW11dICkgYW5kIGFzX3BhdHRlcm4gKHdpdGggVCBhcyB2YXI6LDwvZGl2PjxkaXY+ZXhj ZXB0IEUgYXMgdmFyOiwgY2FzZSBzdHIoKSBhcyB2YXI6KS48L2Rpdj48ZGl2PsKgPC9kaXY+PC9k aXY+PGRpdj5JJ3ZlIG5vdGljZWQgdGhhdCB2YXJzIGluIGBmb3IgdmFyMSwgKHZhcjIsIHZhcjMp IGluIFtdOmAgYXJlIGhpZ2hsaWdodGVkIGJ5IHRoZSBydWxlIGZyb20gdGhlIGFzc2lnbm1lbnQg ZmVhdHVyZSAoc3BlY2lmaWNhbGx5IGBwYXR0ZXJuX2xpc3RgLCBgdHVwbGVfcGF0dGVybmApLjwv ZGl2PjxkaXY+SXQgc2VlbXMgZWFzeSB0byBmaXggYHBhdHRlcm5fbGlzdGAsIGJ1dCBub3Qgc28g ZWFzeSBmb3I8L2Rpdj48ZGl2PmB0dXBsZV9wYXR0ZXJuYCwgc2luY2UgdGhpcyBub2RlIG1heSBv Y2N1ciByZWN1cnNpdmVseS48L2Rpdj48ZGl2PkkgZGlkbid0IHRvdWNoIHRoZXNlIHJ1bGVzIGZv ciBub3cuPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5T dW1tYXJ5IGZvciBhbGwgY2hhbmdlcyBpbiB0aGUgcGF0Y2guPC9kaXY+PGRpdj7CoDwvZGl2Pjxk aXY+TmV3IGZlYXR1cmUgdmFyaWFibGUtZGVmaW5pdGlvbjo8L2Rpdj48ZGl2PmBmb3IgdmFyIGlu IHJhbmdlKDMpYDwvZGl2PjxkaXY+YFt2YXIrMSBmb3IgdmFyIGluIFtdXWA8L2Rpdj48ZGl2PmB3 aXRoIFQgYXMgdmFyOmA8L2Rpdj48ZGl2PmBleGNlcHQgRSBhcyB2YXI6YDwvZGl2PjxkaXY+YGNh c2Ugc3RyKCkgYXMgdmFyOmA8L2Rpdj48ZGl2PmhpZ2hsaWdodCB2YXIgYXMgZm9udC1sb2NrLXZh cmlhYmxlLW5hbWUtZmFjZTwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PmFzc2lnbm1lbnQgZmVhdHVy ZTo8L2Rpdj48ZGl2PnZhciA6PSAzIChuYW1lZF9leHByZXNzaW9uKTwvZGl2PjxkaXY+dmFyICo9 IDMgKGF1Z21lbnRlZF9hc3NpZ25tZW50KTwvZGl2PjxkaXY+SGlnaGxpZ2h0IHZhciBhcyBmb250 LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlLjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2Pk1ha2UgbGlz dF9zcGxhdF9wYXR0ZXJuIHF1ZXJ5IG1vcmUgcHJlY2lzZS48L2Rpdj48ZGl2Pmxpc3Rfc3BsYXRf cGF0dGVybiBtYXkgYXBwZWFyIG5vdCBvbmx5IGluIGFzc2lnbm1lbnRzOiB2YXIsICpyZXN0ID0g Y2FsbCgpLDwvZGl2PjxkaXY+YnV0IGluIHRoZSBwYXJhbWV0ZXIgbGlzdCB0b286IGRlZiBmKCph cmdzKS48L2Rpdj48ZGl2PkhpZ2hsaWdodCBhcmdzIG9ubHkgZm9yIHRoZSBmaXJzdCBjYXNlIGlu IGFzc2lnbm1lbnQgZmVhdHVyZS48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+ dHlwZSBmZWF0dXJlOjwvZGl2PjxkaXY+Rm9udGlmeSBidWlsdC1pbnMgKGRpY3QsbGlzdCxldGMu KSBhcyB0eXBlcyB3aGVuIHRoZXkgYXJlIHVzZWQgaW4gdHlwZSBoaW50cy48L2Rpdj48ZGl2PnN1 cHBvcnQgbmVzdGVkIHVuaW9uIHR5cGVzLCBmb3IgZXhhbXBsZSBgTHZsMSB8IEx2bDJbTHZsM1tM dmwzXSwgTHZsMl1gLjwvZGl2PjxkaXY+VGhpcyBzdHJ1Y3R1cmUgaXMgcmVwcmVzZW50ZWQgdmlh IG5lc3RpbmcgYmluYXJ5X29wZXJhdG9yIGFuZCBzdWJzY3JpcHQgbm9kZXMgaW4gdGhlIGdyYW1t YXIuPC9kaXY+PGRpdj5GdW5jdGlvbiBweXRob24tLXRyZWVzaXQtZm9udGlmeS11bmlvbi10eXBl cyBpdGVyYXRlcyBvdmVyIGFsbCBjaGlsZHJlbiBhbmQgaGlnaGxpZ2h0IGlkZW50aWZpZXIgbm9k ZXMuPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+Rm9udGlmeSBiYXNlIGNsYXNzIG5hbWVzIGluIHRo ZSBjbGFzcyBkZWZpbml0aW9uOiBjbGFzcyBUZW1wKEJhc2UxLCBwYWNrMC5CYXNlMik6PC9kaXY+ PGRpdj5Gb250aWZ5IGNsYXNzIHBhdHRlcm5zIGluIGNhc2Ugc3RhdGVtZW50OiBjYXNlIFtUZW1w QygpIHwgYnl0ZXMoYildOjwvZGl2PjxkaXY+SGlnaGxpZ2h0IHRoZSBzZWNvbmQgYXJndW1lbnQg YXMgYSB0eXBlIGluIGlzaW5zdGFuY2UvaXNzdWJjbGFzcyBjYWxsOjwvZGl2PjxkaXY+aXNpbnN0 YW5jZSh2YXIyLCAoc3RyLCBkaWN0LCBUeXBlMSkpOyBpc3N1YmNsYXNzKHZhcjEsIGludHxzdHIp PC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+Rm9yIGFsbCBkb3R0ZWQgbmFtZXMgb2YgYSB0eXBlIGhp Z2hsaWdodCBvbmx5IHRoZSBsYXN0IHBhcnQgb2YgdGhlIG5hbWUsPC9kaXY+PGRpdj5lLmcuIGNv bGxlY3Rpb25zLmFiYy5JdGVyYXRvci48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj7CoDwvZGl2Pjxk aXY+ZGVjb3JhdG9yIGZlYXR1cmU6PC9kaXY+PGRpdj5IaWdobGlnaHQgZG90dGVkIG5hbWVzOiBA cHl0ZXN0Lm1hcmsuc2tpcDwvZGl2PjxkaXY+RnVuY3Rpb24gcHl0aG9uLS10cmVlc2l0LWZvbnRp ZnktZG90dGVkLWRlY29yYXRvciBpdGVyYXRlcyBvdmVyIGFsbCBuZXN0ZWQgYXR0cmlidXRlIG5v ZGVzIGFuZCBoaWdobGlnaHQgaWRlbnRpZmllciBub2Rlcy48L2Rpdj48ZGl2PsKgPC9kaXY+PGRp dj5XaGVuIGZvbnQtbG9jay1sZXZlbCBpcyBzZXQgNCwgYHNraXBgIGhhZCBmdW5jdGlvbi1jYWxs IGZhY2UgaW46IEBweXRlc3QubWFyay5za2lwKHJlYXNvbj0ndCcpPC9kaXY+PGRpdj5BZGQgYDpv dmVycmlkZSB0YCB0byBkZWNvcmF0b3IgZmVhdHVyZSB0byBvdmVycmlkZSBmdW5jdGlvbi1jYWxs IGZhY2UuPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PnN0cmluZyBmZWF0dXJl OjwvZGl2PjxkaXY+RW5hYmxlIGludGVycG9sYXRpb24gaGlnaGxpZ2h0aW5nIG9ubHkgaWYgc3Ry aW5nLWludGVycG9sYXRpb24gaXM8L2Rpdj48ZGl2PnByZXNlbnRlZCBvbiB0aGUgZW5hYmxlZCBs ZXZlbHMgb2YgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0LjwvZGl2PjxkaXY+Rml4IGZv bnRpZmljYXRpb24gb2Ygc3RyaW5ncyBpbnNpZGUgb2YgZi1zdHJpbmdzIGludGVycG9sYXRpb24s PC9kaXY+PGRpdj5lLmcuIGZvciBmImJlZyB7J25lc3RlZCd9IiAtICduZXN0ZWQnIHdhcyBub3Qg Zm9udGlmaWVkIGFzIHN0cmluZy48L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+ ZnVuY3Rpb24gZmVhdHVyZTo8L2Rpdj48ZGl2PkRvIG5vdCBvdmVycmlkZSB0aGUgZmFjZSBvZiBi dWlsdGluIGZ1bmN0aW9ucyAoYWxsLCBieXRlcyBldGMuKSB3aXRoPC9kaXY+PGRpdj50aGUgZnVu Y3Rpb24gY2FsbCBmYWNlPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PmtleXdv cmQgZmVhdHVyZTo8L2Rpdj48ZGl2PkFkZCAiaXMgbm90IsKgIHRvIHRoZSBgcHl0aG9uLS10cmVl c2l0LWtleXdvcmRzYCBsaXN0LjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PsKgPC9kaXY+PC9kaXY+ PGRpdj7CoDwvZGl2PjxkaXY+MTIuMTIuMjAyMywgMTE6MjQsICJZdWFuIEZ1IiAmbHQ7Y2Fzb3Vy aUBnbWFpbC5jb20mZ3Q7OjwvZGl2PjxibG9ja3F1b3RlPjxwPjxiciAvPjxiciAvPk9uIDEyLzEx LzIzIDU6MTggUE0sIERlbmlzIFp1YmFyZXYgd3JvdGU6PC9wPjxibG9ja3F1b3RlPsKgWXVhbiBh bmQgRG1pdHJ5LCB0aGFuayB5b3UgZm9yIHJldmlldyBhbmQgc3VnZ2VzdGlvbnMuPGJyIC8+wqAm Z3Q7IENhbiB3ZSBkbyB0aGlzIGluc3RlYWQ6IGluIHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LXN0 cmluZywgd2UgY2hlY2sgaWY8YnIgLz7CoMKgIHN0cmluZy1pbnRlcnBvbGF0aW9uIGZlYXR1cmUg aXMgZW5hYmxlZCwgaWYgaXQgaXMsIGZvbnRpZnkgc3RyaW5nX3N0YXJ0LDxiciAvPsKgwqAgc3Ry aW5nX2NvbnRlbnQgYW5kIHN0cmluZ19lbmQgb25seTsgaWYgbm90LCBmb250aWZ5IHRoZSB3aG9s ZSBzdHJpbmcuPGJyIC8+wqBEb25lLjxiciAvPsKgRW5hYmxlIGludGVycG9sYXRpb24gaGlnaGxp Z2h0aW5nIG9ubHkgaWYgJ3N0cmluZy1pbnRlcnBvbGF0aW9uIGlzPGJyIC8+wqBwcmVzZW50ZWQg b24gdGhlIHRoaXJkIGxldmVsIG9mIHRyZWVzaXQtZm9udC1sb2NrLWZlYXR1cmUtbGlzdC48YnIg Lz7CoFBlcnNvbmFsbHksIElmIEkgc2F3IGEgZi1zdHJpbmcgd2l0aCBhbiBpbnRlcnBvbGF0aW9u IGZvbnRpZmllZCBhczxiciAvPsKgc3RyaW5nLCBJIHdvdWxkIGFzc3VtZSB0aGF0IGl0IGlzIGJ1 Zy48YnIgLz7CoENsZWFybHkgaXQgaXMgbm90IGEgc3RyaW5nLCBzbyBpdCBzaG91bGQgYmUgaGln aGxpZ2h0ZWQgZGlzdGluY3RseS48YnIgLz7CoEJ1dCBpZiBpdCBpcyBhIGNvbnZlbnRpb24gYWNy b3NzIGFsbCBsYW5ndWFnZXMsIHdlIHNob3VsZCBmb2xsb3cgaXQuPC9ibG9ja3F1b3RlPjxwPjxi ciAvPknCoCBlbmNvdXJhZ2UgZXZlcnlvbmUgdG8gYWxzbyB0aGluayBpbiB0ZXJtcyBvZiBmb250 aWZpY2F0aW9uIGxldmVscywgaW48YnIgLz5hZGRpdGlvbiB0byBmZWF0dXJlcy48YnIgLz48YnIg Lz5Gb3IgbWFueSBFbWFjcyB1c2VycywgdGhleSB3YW50IGEgcXVpZXRlciBvciBldmVuIG1pbmlt YWwgZm9udGlmaWNhdGlvbi48YnIgLz5Tb21lIHBlb3BsZSBvbmx5IHdhbnQgY29tbWVudCBhbmQg ZnVuY3Rpb24gbmFtZXMgaGlnaGxpZ2h0ZWQsIGFuZCB0aGV5PGJyIC8+Y2FuIGdldCBpdCBieSBz ZXR0aW5nIHRoZSBmb250aWZpY2F0aW9uIGxldmVsIHRvIDEsIGJlY2F1c2U8YnIgLz5weXRob24t dHMtbW9kZSBvbmx5IGFjdGl2YXRlcyB0aGUgY29tbWVudCBhbmQgZGVmaW5pdGlvbiBmZWF0dXJl IGF0PGJyIC8+bGV2ZWwgMS4gVGhlIHN0cmluZyBmZWF0dXJlIGlzIGF0IGxldmVsIDIsIHRoaXMg bGV2ZWwgaXMgc3RpbGw8YnIgLz5yZWxhdGl2ZWx5IHNpbXBsaXN0aWMuIEFuZCBmdWxsIHN0cmlu ZyBpbnRlcnBvbGF0aW9uIHByb2JhYmx5IGRvbid0PGJyIC8+YmVsb25nIGF0IHRoYXQgbGV2ZWwu IFRoYXQncyB3aHkgSSBzZXBhcmF0ZWQgaXQgb3V0IGludG8gYW5vdGhlcjxiciAvPmZlYXR1cmUs IGFuZCBwbGFjZWQgc3RyaW5nLWludGVycG9sYXRpb24gYXQgbGV2ZWwgMy48YnIgLz7CoDwvcD48 YmxvY2txdW90ZT7CoCZndDsgSSB0aGluayAiZm9yIHZhciBpbiByYW5nZSgzKSIgc2hvdWxkIGJl IHBhcnQgb2YgdGhlICJkZWZpbml0aW9uIiBmZWF0dXJlPGJyIC8+wqDCoCBiZWNhdXNlIGEgdmFy aWFibGUgaXMgZGVmaW5lZCB0aGVyZS4gQWxvbmdzaWRlIHBhcmFtZXRlcnMuPGJyIC8+wqBJIGFk ZGVkIGl0IHRvIGRlZmluaXRpb25zLjwvYmxvY2txdW90ZT48cD48YnIgLz5BZ2FpbiwgaWYgd2Ug dGhpbmsgb2YgZm9udGlmaWNhdGlvbiBsZXZlbHMsIHRoZSBkZWZpbml0aW9uIGZlYXR1cmUgaXM8 YnIgLz5hYm91dCBmb250aWZ5aW5nIHRoZSBmdW5jdGlvbiBuYW1lcyBvZiBkZWZpbml0aW9ucywg YW5kIGl0J3MgYXQgYSBsb3c8YnIgLz5sZXZlbCAobGV2ZWwgMSkuIE5vbi1lc3NlbnRpYWwgZm9u dGlmaWNhdGlvbiBsaWtlICJ2YXIiIHNob3VsZG4ndCBiZTxiciAvPmFjdGl2YXRlZCBhdCB0aGF0 IGxldmVsLiBTbyBJIHN1Z2dlc3QgdG8gcHV0IGl0IGluIHRoZSB2YXJpYWJsZSBmZWF0dXJlLDxi ciAvPmFsb25nIHdpdGggbWFueSBvdGhlciBub24tZXNzZW50aWFsIGZvbnRpZmljYXRpb25zLiAo VmFyaWFibGUgZmVhdHVyZSBpczxiciAvPnBsYWNlZCBhdCBsZXZlbCA0Lik8YnIgLz7CoDwvcD48 YmxvY2txdW90ZT7CoE15IHRob3VnaHRzIGFib3V0IHBhcmFtZXRlcnMuIEkgc3RhcnRlZCB0byBl eHRlbmQgcnVsZXMgZm9yIHRoZW0gc2luY2U8YnIgLz7CoHRoZXkgYXJlIHZlcnkgbGltaXRlZCBu b3cuPGJyIC8+wqBCdXQgSSdtIG5vdCBzdXJlIHdoYXQgZmFjZSB0byB1c2UgZm9yIHRoZW0uPGJy IC8+wqBJIHdvdWxkIGxpa2UgdG8gbm90IHVzZSB0aGUgc2FtZSBmYWNlIGFzIGZvciBhc3NpZ25t ZW50cywgYmVjYXVzZSBJJ2Q8YnIgLz7CoHdhbnQgdG8gaGlnaGxpZ2h0IHRoZW0gZGlmZmVyZW50 bHkuPGJyIC8+wqBJdCBzZWVtcyB0aGF0IHRoZXJlIGlzIG5vIGFwcHJvcHJpYXRlIGZhY2UgaW4g Zm9udC1sb2NrLmVsLCBzbyBJIGVuZGVkPGJyIC8+wqB1cCBjcmVhdGluZyBteSBvd24gZmFjZSBp biBteSBjb25maWcuPGJyIC8+wqBEb2VzIGl0IG1ha2Ugc2Vuc2UgdG8gYWRkIG5ldyBmYWNlIGZv ciBwYXJhbWV0ZXJzIGluIGZvbnQtbG9jay5lbD88YnIgLz7CoE9yIGl0IGlzIHRvbyBzbWFsbCBm ZWF0dXJlIGZvciBpdHMgb3duIGZhY2U/PGJyIC8+wqBJIGFsc28gYXBwbHkgdGhpcyBmYWNlIGZv ciBrZXl3b3JkIGFyZ3VtZW50IGluIGZ1bmN0aW9uIGNhbGxzLjwvYmxvY2txdW90ZT48cD5UbyBi ZSBob25lc3QsIEkgZG9uJ3QgaGF2ZSBhbnkgZ29vZCBpZGVhcy4gUGVyaGFwcyB3ZSBjYW4gYWRk IGE8YnIgLz5wYXJhbWV0ZXIgZmFjZSB0aGF0IGluaGVyaXRzIGZyb20gdmFyaWFibGUgbmFtZSBm YWNlIGJ5IGRlZmF1bHQsIERtaXRyeSw8YnIgLz5XRFlUPzwvcD48YmxvY2txdW90ZT7CoFN1bW1h cnkgZm9yIGFsbCBjaGFuZ2VzIGluIHRoZSBwYXRjaC48YnIgLz7CoGRlZmluaXRpb24gZmVhdHVy ZTo8YnIgLz7CoGBmb3IgdmFyIGluIHJhbmdlKDMpYCBoaWdobGlnaHQgdmFyIGFzIGZvbnQtbG9j ay12YXJpYWJsZS1uYW1lLWZhY2U8YnIgLz7CoGFzc2lnbm1lbnQgZmVhdHVyZTo8YnIgLz7CoHZh ciA6PSAzIChuYW1lZF9leHByZXNzaW9uKTxiciAvPsKgdmFyICo9IDMgKGF1Z21lbnRlZF9hc3Np Z25tZW50KTxiciAvPsKgSGlnaGxpZ2h0IHZhciBhcyBmb250LWxvY2stdmFyaWFibGUtbmFtZS1m YWNlLjxiciAvPsKgTWFrZSBsaXN0X3NwbGF0X3BhdHRlcm4gcXVlcnkgbW9yZSBwcmVjaXNlLjxi ciAvPsKgbGlzdF9zcGxhdF9wYXR0ZXJuIG1heSBhcHBlYXIgbm90IG9ubHkgaW4gYXNzaWdubWVu dHM6IHZhciwgKnJlc3QgPTxiciAvPsKgY2FsbCgpLDxiciAvPsKgYnV0IGluIHRoZSBwYXJhbWV0 ZXIgbGlzdCB0b286IGRlZiBmKCphcmdzKS48YnIgLz7CoEhpZ2hsaWdodCBhcmdzIG9ubHkgZm9y IHRoZSBmaXJzdCBjYXNlIGluIGFzc2lnbm1lbnQgZmVhdHVyZS48YnIgLz7CoHR5cGUgZmVhdHVy ZTo8YnIgLz7CoEZvbnRpZnkgYnVpbHQtaW5zIChkaWN0LGxpc3QsZXRjLikgYXMgdHlwZXMgd2hl biB0aGV5IGFyZSB1c2VkIGluIHR5cGU8YnIgLz7CoGhpbnRzLjxiciAvPsKgc3VwcG9ydCBuZXN0 ZWQgdW5pb24gdHlwZXMsIGZvciBleGFtcGxlIGBMdmwxIHwgTHZsMltMdmwzW0x2bDNdLCBMdmwy XWAuPGJyIC8+wqBUaGlzIHN0cnVjdHVyZSBpcyByZXByZXNlbnRlZCB2aWEgbmVzdGluZyBiaW5h cnlfb3BlcmF0b3IgYW5kPGJyIC8+wqBzdWJzY3JpcHQgbm9kZXMgaW4gdGhlIGdyYW1tYXIuPGJy IC8+wqBGdW5jdGlvbiBweXRob24tLXRyZWVzaXQtZm9udGlmeS11bmlvbi10eXBlcyBpdGVyYXRl cyBvdmVyIGFsbDxiciAvPsKgY2hpbGRyZW4gYW5kIGhpZ2hsaWdodCBpZGVudGlmaWVyIG5vZGVz LjxiciAvPsKgRm9udGlmeSBiYXNlIGNsYXNzIG5hbWVzIGluIHRoZSBjbGFzcyBkZWZpbml0aW9u OiBjbGFzcyBUZW1wKEJhc2UxLDxiciAvPsKgcGFjazAuQmFzZTIpOjxiciAvPsKgRm9udGlmeSBj bGFzcyBwYXR0ZXJucyBpbiBjYXNlIHN0YXRlbWVudDogY2FzZSBbVGVtcEMoKSB8IGJ5dGVzKGIp XTo8YnIgLz7CoEhpZ2hsaWdodCB0aGUgc2Vjb25kIGFyZ3VtZW50IGFzIGEgdHlwZSBpbiBpc2lu c3RhbmNlL2lzc3ViY2xhc3MgY2FsbDo8YnIgLz7CoGlzaW5zdGFuY2UodmFyMiwgKHN0ciwgZGlj dCwgVHlwZTEpKTsgaXNzdWJjbGFzcyh2YXIxLCBpbnR8c3RyKTxiciAvPsKgRm9yIGFsbCBkb3R0 ZWQgbmFtZXMgb2YgYSB0eXBlIGhpZ2hsaWdodCBvbmx5IHRoZSBsYXN0IHBhcnQgb2YgdGhlIG5h bWUsPGJyIC8+wqBlLmcuIGNvbGxlY3Rpb25zLmFiYy5JdGVyYXRvci48YnIgLz7CoGRlY29yYXRv ciBmZWF0dXJlOjxiciAvPsKgSGlnaGxpZ2h0IGRvdHRlZCBuYW1lczogQHB5dGVzdC5tYXJrLnNr aXA8YnIgLz7CoEZ1bmN0aW9uIHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LWRvdHRlZC1kZWNvcmF0 b3IgaXRlcmF0ZXMgb3ZlciBhbGw8YnIgLz7CoG5lc3RlZCBhdHRyaWJ1dGUgbm9kZXMgYW5kIGhp Z2hsaWdodCBpZGVudGlmaWVyIG5vZGVzLjxiciAvPsKgV2hlbiBmb250LWxvY2stbGV2ZWwgaXMg c2V0IDQsIGBza2lwYCBoYWQgZnVuY3Rpb24tY2FsbCBmYWNlIGluOjxiciAvPsKgQHB5dGVzdC5t YXJrLnNraXAocmVhc29uPSd0Jyk8YnIgLz7CoEFkZCBgOm92ZXJyaWRlIHRgIHRvIGRlY29yYXRv ciBmZWF0dXJlIHRvIG92ZXJyaWRlIGZ1bmN0aW9uLWNhbGwgZmFjZS48YnIgLz7CoHN0cmluZyBm ZWF0dXJlOjxiciAvPsKgRW5hYmxlIGludGVycG9sYXRpb24gaGlnaGxpZ2h0aW5nIG9ubHkgaWYg c3RyaW5nLWludGVycG9sYXRpb24gaXM8YnIgLz7CoHByZXNlbnRlZCBvbiB0aGUgdGhpcmQgbGV2 ZWwgb2YgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0LjxiciAvPsKgRml4IGZvbnRpZmlj YXRpb24gb2Ygc3RyaW5ncyBpbnNpZGUgb2YgZi1zdHJpbmdzIGludGVycG9sYXRpb24sPGJyIC8+ wqBlLmcuIGZvciBmImJlZyB7J25lc3RlZCd9IiAtICduZXN0ZWQnIHdhcyBub3QgZm9udGlmaWVk IGFzIHN0cmluZy48L2Jsb2NrcXVvdGU+PHA+SW5zdGVhZCBvZiB0aGUgdGhpcmQgbGV2ZWwsIHRo ZSBjaGVjayBzaG91bGQgdXNlIHRoZSB2YWx1ZTxiciAvPnRyZWVzaXQtZm9udC1sb2NrLWxldmVs LiBBbmQgaXQgc2hvdWxkIGNoZWNrIGZvciBlYWNoIGxldmVsIHNtYWxsZXIgdGhhbjxiciAvPm9y IGVxdWFsIHRvIHRyZWVzaXQtZm9udC1sb2NrLWxldmVsLjwvcD48YmxvY2txdW90ZT7CoGZ1bmN0 aW9uIGZlYXR1cmU6PGJyIC8+wqBEbyBub3Qgb3ZlcnJpZGUgdGhlIGZhY2Ugb2YgYnVpbHRpbiBm dW5jdGlvbnMgKGFsbCwgYnl0ZXMgZXRjLikgd2l0aDxiciAvPsKgdGhlIGZ1bmN0aW9uIGNhbGwg ZmFjZTxiciAvPsKga2V5d29yZCBmZWF0dXJlOjxiciAvPsKgQWRkICJpcyBub3QiwqAgdG8gdGhl IGBweXRob24tLXRyZWVzaXQta2V5d29yZHNgIGxpc3QuPGJyIC8+wqA8L2Jsb2NrcXVvdGU+PHA+ VGhhbmtzLCB0aGV5IGxvb2sgZ29vZC4gVGhlIHBhdGNoIGlzIGdldHRpbmcgcmF0aGVyIGxhcmdl LCBsZXQncyBmb2N1czxiciAvPm9uIGdldHRpbmcgdGhlIGV4aXN0aW5nIGNoYW5nZXMgbWVyZ2Vk IHJhdGhlciB0aGFuIGFkZGluZyBuZXcgc3R1ZmYgdG88YnIgLz5pdC4gVGhvdWdoIEkgdGhpbmsg eW91ciBjb3B5cmlnaHQgYXNzaWdubWVudCBoYXNuJ3QgY29tcGxldGVkLCByaWdodD88YnIgLz48 YnIgLz5ZdWFuPGJyIC8+PGJyIC8+wqA8L3A+PC9ibG9ja3F1b3RlPg== ------==--bound.549855.an4sa4silbm64yo4.vla.yp-c.yandex.net Content-Disposition: attachment; filename="0004-Improve-syntax-highlighting-for-python-ts-mode.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name="0004-Improve-syntax-highlighting-for-python-ts-mode.patch" RnJvbSA4OWZhMmNhZDc5M2UwMDA2MmI4MjNlODU1YTE0MWJkOTQwYzRjMTc1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEZW5pcyBadWJhcmV2IDxkdnp1YmFyZXZAeWFuZGV4LnJ1PgpE YXRlOiBTYXQsIDExIE5vdiAyMDIzIDA0OjU1OjQ0ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gSW1w cm92ZSBzeW50YXggaGlnaGxpZ2h0aW5nIGZvciBweXRob24tdHMtbW9kZQoKRml4IGZvbnRpZmlj YXRpb24gb2Ygc3RyaW5ncyBpbnNpZGUgb2YgZi1zdHJpbmdzIGludGVycG9sYXRpb24sIGUuZy4g Zm9yCmYiYmVnIHsnbmVzdGVkJ30iIC0gJ25lc3RlZCcgd2FzIG5vdCBmb250aWZpZWQgYXMgc3Ry aW5nLiAgRG8gbm90Cm92ZXJyaWRlIHRoZSBmYWNlIG9mIGJ1aWx0aW4gZnVuY3Rpb25zIChhbGws IGJ5dGVzIGV0Yy4pIHdpdGggdGhlCmZ1bmN0aW9uIGNhbGwgZmFjZS4gIEFkZCBtaXNzaW5nIGFz c2lnbm1lbnQgZXhwcmVzc2lvbnMgKDo9ICo9KS4KSGlnaGxpZ2h0IHZhcmlhYmxlcyBkZWZpbmVk IGluIGZvciBsb29wIChmb3IgdmFyMSwgdmFyMiBpbiApLiAgRm9udGlmeQpidWlsdC1pbnMgKGRp Y3QsbGlzdCxldGMuKSBhcyB0eXBlcyB3aGVuIHRoZXkgYXJlIHVzZWQgaW4gdHlwZSBoaW50cy4K SGlnaGxpZ2h0IHVuaW9uIHR5cGVzICh0eXBlMXx0eXBlMikuICBIaWdobGlnaHQgYmFzZSBjbGFz cyBuYW1lcyBpbiB0aGUKY2xhc3MgZGVmaW5pdGlvbi4gIEZvbnRpZnkgY2xhc3MgcGF0dGVybnMg aW4gY2FzZSBzdGF0ZW1lbnQuIEhpZ2hsaWdodAp0aGUgc2Vjb25kIGFyZ3VtZW50IGFzIGEgdHlw ZSBpbiBpc2luc3RhbmNlL2lzc3ViY2xhc3MgY2FsbC4gSGlnaGxpZ2h0CmRvdHRlZCBkZWNvcmF0 b3IgbmFtZXMuCgpBZGQgbmV3IGZlYXR1cmUgdmFyaWFibGUtZGVmaW5pdGlvbiBmb3IgdmFyaWFi bGVzIGRlZmluZWQgZm9yIGxvY2FsCnNjb3BlcyAoZm9yIHZhciBpbiBbXSwgd2l0aCBUIGFzIHZh ciwgZXRjLikuCgoqIGxpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbCAocHl0aG9uLS10cmVlc2l0LWtl eXdvcmRzKTogQWRkIGNvbXBvdW5kCmtleXdvcmQgImlzIG5vdCIuCihweXRob24tLXRyZWVzaXQt Zm9udGlmeS1zdHJpbmcpOiBmaXggZi1zdHJpbmcgaW50ZXJwb2xhdGlvbi4gRW5hYmxlCmludGVy cG9sYXRpb24gaGlnaGxpZ2h0aW5nIG9ubHkgaWYgc3RyaW5nLWludGVycG9sYXRpb24gaXMgcHJl c2VudGVkIG9uCnRoZSBlbmFibGVkIGxldmVscyBvZiB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJl LWxpc3QuCihweXRob24tLXRyZWVzaXQtZm9udGlmeS1zdHJpbmctaW50ZXJwb2xhdGlvbik6IFJl bW92ZSBmdW5jdGlvbi4KKHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LXVuaW9uLXR5cGVzKTogRm9u dGlmeSBuZXN0ZWQgdW5pb24gdHlwZXMuCihweXRob24tLXRyZWVzaXQtZm9udGlmeS1kb3R0ZWQt ZGVjb3JhdG9yKTogRm9udGlmeSBhbGwgcGFydHMgb2YKZG90dGVkIGRlY29yYXRvciBuYW1lLgoo cHl0aG9uLS10cmVlc2l0LXNldHRpbmdzKTogQ2hhbmdlL2FkZCBydWxlcy4KKiB0ZXN0L2xpc3Av cHJvZ21vZGVzL3B5dGhvbi10ZXN0cy5lbCAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZm ZXIpOgpmdW5jdGlvbiBmb3Igc2V0dGluZyB1cCB0ZXN0IGJ1ZmZlci4KKHB5dGhvbi10cy1tb2Rl LWNvbXBvdW5kLWtleXdvcmRzLWZhY2UpCihweXRob24tdHMtbW9kZS12YXItZm9yLWxvb3AtZmFj ZSkKKHB5dGhvbi10cy1tb2RlLW5hbWVkLWFzc2lnbmVtZW50LWZhY2UtMSkKKHB5dGhvbi10cy1t b2RlLWFzc2lnbmVtZW50LWZhY2UtMikKKHB5dGhvbi10cy1tb2RlLW5lc3RlZC10eXBlcy1mYWNl LTEpCihweXRob24tdHMtbW9kZS11bmlvbi10eXBlcy1mYWNlLTEpCihweXRob24tdHMtbW9kZS11 bmlvbi10eXBlcy1mYWNlLTIpCihweXRob24tdHMtbW9kZS10eXBlcy1mYWNlLTEpCihweXRob24t dHMtbW9kZS10eXBlcy1mYWNlLTIpCihweXRob24tdHMtbW9kZS10eXBlcy1mYWNlLTMpCihweXRo b24tdHMtbW9kZS1pc2luc3RhbmNlLXR5cGUtZmFjZS0xKQoocHl0aG9uLXRzLW1vZGUtaXNpbnN0 YW5jZS10eXBlLWZhY2UtMikKKHB5dGhvbi10cy1tb2RlLXN1cGVyY2xhc3MtdHlwZS1mYWNlKQoo cHl0aG9uLXRzLW1vZGUtY2xhc3MtcGF0dGVybnMtZmFjZSkKKHB5dGhvbi10cy1tb2RlLWRvdHRl ZC1kZWNvcmF0b3ItZmFjZS0xKQoocHl0aG9uLXRzLW1vZGUtZG90dGVkLWRlY29yYXRvci1mYWNl LTIpCihweXRob24tdHMtbW9kZS1idWlsdGluLWNhbGwtZmFjZSkKKHB5dGhvbi10cy1tb2RlLWlu dGVycG9sYXRpb24tbmVzdGVkLXN0cmluZykKKHB5dGhvbi10cy1tb2RlLWRpc2FibGVkLXN0cmlu Zy1pbnRlcnBvbGF0aW9uKQoocHl0aG9uLXRzLW1vZGUtaW50ZXJwb2xhdGlvbi1kb2Mtc3RyaW5n KTogQWRkIHRlc3RzLgotLS0KIGxpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbCAgICAgICAgICAgIHwg MTk2ICsrKysrKysrKysrKy0tLS0KIHRlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVs IHwgMzUwICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgNDk3 IGluc2VydGlvbnMoKyksIDQ5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3AvcHJvZ21v ZGVzL3B5dGhvbi5lbCBiL2xpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbAppbmRleCBhYjNiZjFiNGVj Li5lN2RjZDhmM2ZiIDEwMDY0NAotLS0gYS9saXNwL3Byb2dtb2Rlcy9weXRob24uZWwKKysrIGIv bGlzcC9wcm9nbW9kZXMvcHl0aG9uLmVsCkBAIC05NzksNyArOTc5LDcgQEAgcHl0aG9uLS10cmVl c2l0LWtleXdvcmRzCiAgICAgInJhaXNlIiAicmV0dXJuIiAidHJ5IiAid2hpbGUiICJ3aXRoIiAi eWllbGQiCiAgICAgOzsgVGhlc2UgYXJlIHRlY2huaWNhbGx5IG9wZXJhdG9ycywgYnV0IHdlIGZv bnRpZnkgdGhlbSBhcwogICAgIDs7IGtleXdvcmRzLgotICAgICJhbmQiICJpbiIgImlzIiAibm90 IiAib3IiICJub3QgaW4iKSkKKyAgICAiYW5kIiAiaW4iICJpcyIgIm5vdCIgIm9yIiAibm90IGlu IiAiaXMgbm90IikpCiAKIChkZWZ2YXIgcHl0aG9uLS10cmVlc2l0LWJ1aWx0aW5zCiAgICcoImFi cyIgImFsbCIgImFueSIgImFzY2lpIiAiYmluIiAiYm9vbCIgImJyZWFrcG9pbnQiICJieXRlYXJy YXkiCkBAIC0xMDQyLDkgKzEwNDIsNyBAQCBweXRob24tLXRyZWVzaXQtZm9udGlmeS1zdHJpbmcK IGYtc3RyaW5ncy4gIE9WRVJSSURFIGlzIHRoZSBvdmVycmlkZSBmbGFnIGRlc2NyaWJlZCBpbgog YHRyZWVzaXQtZm9udC1sb2NrLXJ1bGVzJy4gIFNUQVJUIGFuZCBFTkQgbWFyayB0aGUgcmVnaW9u IHRvIGJlCiBmb250aWZpZWQuIgotICAobGV0KiAoKHN0cmluZy1iZWcgKHRyZWVzaXQtbm9kZS1z dGFydCBub2RlKSkKLSAgICAgICAgIChzdHJpbmctZW5kICh0cmVlc2l0LW5vZGUtZW5kIG5vZGUp KQotICAgICAgICAgKG1heWJlLWV4cHJlc3Npb24gKHRyZWVzaXQtbm9kZS1wYXJlbnQgbm9kZSkp CisgIChsZXQqICgobWF5YmUtZXhwcmVzc2lvbiAodHJlZXNpdC1ub2RlLXBhcmVudCBub2RlKSkK ICAgICAgICAgIChncmFuZHBhcmVudCAodHJlZXNpdC1ub2RlLXBhcmVudAogICAgICAgICAgICAg ICAgICAgICAgICAodHJlZXNpdC1ub2RlLXBhcmVudAogICAgICAgICAgICAgICAgICAgICAgICAg bWF5YmUtZXhwcmVzc2lvbikpKQpAQCAtMTA3MiwyOCArMTA3MCw3OCBAQCBweXRob24tLXRyZWVz aXQtZm9udGlmeS1zdHJpbmcKICAgICAgICAgICAgICAgICAgICAgICAgIChlcXVhbCAodHJlZXNp dC1ub2RlLXR5cGUgbWF5YmUtZXhwcmVzc2lvbikKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAiZXhwcmVzc2lvbl9zdGF0ZW1lbnQiKSkKICAgICAgICAgICAgICAgICAgICAnZm9udC1s b2NrLWRvYy1mYWNlCi0gICAgICAgICAgICAgICAgICdmb250LWxvY2stc3RyaW5nLWZhY2UpKSkK LSAgICA7OyBEb24ndCBoaWdobGlnaHQgc3RyaW5nIHByZWZpeGVzIGxpa2UgZi9yL2IuCi0gICAg KHNhdmUtZXhjdXJzaW9uCi0gICAgICAoZ290by1jaGFyIHN0cmluZy1iZWcpCi0gICAgICAod2hl biAocmUtc2VhcmNoLWZvcndhcmQgIltcIiddIiBzdHJpbmctZW5kIHQpCi0gICAgICAgIChzZXRx IHN0cmluZy1iZWcgKG1hdGNoLWJlZ2lubmluZyAwKSkpKQotICAgICh0cmVlc2l0LWZvbnRpZnkt d2l0aC1vdmVycmlkZQotICAgICBzdHJpbmctYmVnIHN0cmluZy1lbmQgZmFjZSBvdmVycmlkZSBz dGFydCBlbmQpKSkKLQotKGRlZnVuIHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LXN0cmluZy1pbnRl cnBvbGF0aW9uCi0gICAgKG5vZGUgXyBzdGFydCBlbmQgJnJlc3QgXykKLSAgIkZvbnRpZnkgc3Ry aW5nIGludGVycG9sYXRpb24uCi1OT0RFIGlzIHRoZSBzdHJpbmcgbm9kZS4gIERvIG5vdCBmb250 aWZ5IHRoZSBpbml0aWFsIGYgZm9yCi1mLXN0cmluZ3MuICBTVEFSVCBhbmQgRU5EIG1hcmsgdGhl IHJlZ2lvbiB0byBiZQorICAgICAgICAgICAgICAgICAnZm9udC1sb2NrLXN0cmluZy1mYWNlKSkK KworICAgICAgICAgKGlnbm9yZS1pbnRlcnBvbGF0aW9uIChub3QKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHNlcS1zb21lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobGFtYmRhIChmZWF0cykgKG1lbXEgJ3N0cmluZy1pbnRlcnBvbGF0aW9uIGZlYXRzKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZXEtdGFrZSB0cmVlc2l0LWZvbnQtbG9j ay1mZWF0dXJlLWxpc3QgdHJlZXNpdC1mb250LWxvY2stbGV2ZWwpKSkpCisgICAgICAgICA7OyBJ ZiBpbnRlcnBvbGF0aW9uIGlzIGVuYWJsZWQsIGhpZ2hsaWdodCBvbmx5CisgICAgICAgICA7OyBz dHJpbmdfc3RhcnQvc3RyaW5nX2NvbnRlbnQvc3RyaW5nX2VuZCBjaGlsZHJlbi4gIERvIG5vdAor ICAgICAgICAgOzsgdG91Y2ggaW50ZXJwb2xhdGlvbiBub2RlIHRoYXQgY2FuIG9jY3VyIGluc2lk ZSBvZiB0aGUKKyAgICAgICAgIDs7IHN0cmluZy4KKyAgICAgICAgIChzdHJpbmctbm9kZXMgKGlm IGlnbm9yZS1pbnRlcnBvbGF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBu b2RlKQorICAgICAgICAgICAgICAgICAgICAgICAgICh0cmVlc2l0LWZpbHRlci1jaGlsZAorICAg ICAgICAgICAgICAgICAgICAgICAgICBub2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgIChs YW1iZGEgKGNoKSAobWVtYmVyICh0cmVlc2l0LW5vZGUtdHlwZSBjaCkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygic3RyaW5nX3N0YXJ0IgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdfY29udGVu dCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3Ry aW5nX2VuZCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdCkpKSkKKworICAgIChkb2xp c3QgKHN0cmluZy1ub2RlIHN0cmluZy1ub2RlcykKKyAgICAgIChsZXQgKChzdHJpbmctYmVnICh0 cmVlc2l0LW5vZGUtc3RhcnQgc3RyaW5nLW5vZGUpKQorICAgICAgICAgICAgKHN0cmluZy1lbmQg KHRyZWVzaXQtbm9kZS1lbmQgc3RyaW5nLW5vZGUpKSkKKyAgICAgICAgKHdoZW4gKG9yIGlnbm9y ZS1pbnRlcnBvbGF0aW9uCisgICAgICAgICAgICAgICAgICAoZXF1YWwgKHRyZWVzaXQtbm9kZS10 eXBlIHN0cmluZy1ub2RlKSAic3RyaW5nX3N0YXJ0IikpCisgICAgICAgICAgOzsgRG9uJ3QgaGln aGxpZ2h0IHN0cmluZyBwcmVmaXhlcyBsaWtlIGYvci9iLgorICAgICAgICAgIChzYXZlLWV4Y3Vy c2lvbgorICAgICAgICAgICAgKGdvdG8tY2hhciBzdHJpbmctYmVnKQorICAgICAgICAgICAgKHdo ZW4gKHJlLXNlYXJjaC1mb3J3YXJkICJbXCInXSIgc3RyaW5nLWVuZCB0KQorICAgICAgICAgICAg ICAoc2V0cSBzdHJpbmctYmVnIChtYXRjaC1iZWdpbm5pbmcgMCkpKSkpCisKKyAgICAgICAgKHRy ZWVzaXQtZm9udGlmeS13aXRoLW92ZXJyaWRlCisgICAgICAgICBzdHJpbmctYmVnIHN0cmluZy1l bmQgZmFjZSBvdmVycmlkZSBzdGFydCBlbmQpKSkpKQorCisoZGVmdW4gcHl0aG9uLS10cmVlc2l0 LWZvbnRpZnktdW5pb24tdHlwZXMgKG5vZGUgb3ZlcnJpZGUgc3RhcnQgZW5kICZyZXN0IF8pCisg ICJGb250aWZ5IG5lc3RlZCB1bmlvbiB0eXBlcyBpbiB0aGUgdHlwZSBoaW50cy4KK0ZvciBleGFt bHBlLCBMdmwxIHwgTHZsMltMdmwzW0x2bDRbTHZsNSB8IE5vbmVdXSwgTHZsMl0uICBUaGlzCitz dHJ1Y3R1cmUgaXMgcmVwcmVzZW50ZWQgdmlhIG5lc3RpbmcgYmluYXJ5X29wZXJhdG9yIGFuZAor c3Vic2NyaXB0IG5vZGVzLiAgVGhpcyBmdW5jdGlvbiBpdGVyYXRlcyBvdmVyIGFsbCBsZXZlbHMg YW5kCitoaWdobGlnaHQgaWRlbnRpZmllciBub2Rlcy4gIE5PREUgaXMgdGhlIGJpbmFyeV9vcGVy YXRvcgorbm9kZS4gIE9WRVJSSURFIGlzIHRoZSBvdmVycmlkZSBmbGFnIGRlc2NyaWJlZCBpbgor YHRyZWVzaXQtZm9udC1sb2NrLXJ1bGVzJy4gIFNUQVJUIGFuZCBFTkQgbWFyayB0aGUgcmVnaW9u IHRvIGJlCitmb250aWZpZWQuIgorICAoZG9saXN0IChjaGlsZCAodHJlZXNpdC1ub2RlLWNoaWxk cmVuIG5vZGUgdCkpCisgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSBjaGlsZCkKKyAgICAg ICgob3IgImlkZW50aWZpZXIiICJub25lIikKKyAgICAgICAodHJlZXNpdC1mb250aWZ5LXdpdGgt b3ZlcnJpZGUKKyAgICAgICAgKHRyZWVzaXQtbm9kZS1zdGFydCBjaGlsZCkgKHRyZWVzaXQtbm9k ZS1lbmQgY2hpbGQpCisgICAgICAgICdmb250LWxvY2stdHlwZS1mYWNlIG92ZXJyaWRlIHN0YXJ0 IGVuZCkpCisgICAgICAoImF0dHJpYnV0ZSIKKyAgICAgICAod2hlbi1sZXQgKCh0eXBlLW5vZGUg KHRyZWVzaXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1lIGNoaWxkICJhdHRyaWJ1dGUiKSkpCisg ICAgICAgICAodHJlZXNpdC1mb250aWZ5LXdpdGgtb3ZlcnJpZGUKKyAgICAgICAgICAodHJlZXNp dC1ub2RlLXN0YXJ0IHR5cGUtbm9kZSkgKHRyZWVzaXQtbm9kZS1lbmQgdHlwZS1ub2RlKQorICAg ICAgICAgICdmb250LWxvY2stdHlwZS1mYWNlIG92ZXJyaWRlIHN0YXJ0IGVuZCkpKQorICAgICAg KChvciAiYmluYXJ5X29wZXJhdG9yIiAic3Vic2NyaXB0IikKKyAgICAgICAocHl0aG9uLS10cmVl c2l0LWZvbnRpZnktdW5pb24tdHlwZXMgY2hpbGQgb3ZlcnJpZGUgc3RhcnQgZW5kKSkpKSkKKwor KGRlZnVuIHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LWRvdHRlZC1kZWNvcmF0b3IgKG5vZGUgb3Zl cnJpZGUgc3RhcnQgZW5kICZyZXN0IF8pCisgICJGb250aWZ5IGRvdHRlZCBkZWNvcmF0b3JzLgor Rm9yIGV4YW1wbGUgQHB5dGVzLm1hcmsuc2tpcC4gIEl0ZXJhdGUgb3ZlciBhbGwgbmVzdGVkIGF0 dHJpYnV0ZQorbm9kZXMgYW5kIGhpZ2hsaWdodCBpZGVudGlmaWVyIG5vZGVzLiAgTk9ERSBpcyB0 aGUgZmlyc3QgYXR0cmlidXRlCitub2RlLiAgT1ZFUlJJREUgaXMgdGhlIG92ZXJyaWRlIGZsYWcg ZGVzY3JpYmVkIGluCitgdHJlZXNpdC1mb250LWxvY2stcnVsZXMnLiAgU1RBUlQgYW5kIEVORCBt YXJrIHRoZSByZWdpb24gdG8gYmUKIGZvbnRpZmllZC4iCi0gIDs7IFRoaXMgaXMga2luZCBvZiBh IGhhY2ssIGl0IGJhc2ljYWxseSByZW1vdmVzIHRoZSBmYWNlIGFwcGxpZWQgYnkKLSAgOzsgdGhl IHN0cmluZyBmZWF0dXJlLCBzbyB0aGF0IGZvbGxvd2luZyBmZWF0dXJlcyBjYW4gYXBwbHkgdGhl aXIKLSAgOzsgZmFjZS4KLSAgKGxldCAoKG4tc3RhcnQgKHRyZWVzaXQtbm9kZS1zdGFydCBub2Rl KSkKLSAgICAgICAgKG4tZW5kICh0cmVlc2l0LW5vZGUtZW5kIG5vZGUpKSkKLSAgICAocmVtb3Zl LXRleHQtcHJvcGVydGllcwotICAgICAobWF4IHN0YXJ0IG4tc3RhcnQpIChtaW4gZW5kIG4tZW5k KSAnKGZhY2UpKSkpCisgIChkb2xpc3QgKGNoaWxkICh0cmVlc2l0LW5vZGUtY2hpbGRyZW4gbm9k ZSB0KSkKKyAgICAocGNhc2UgKHRyZWVzaXQtbm9kZS10eXBlIGNoaWxkKQorICAgICAgKCJpZGVu dGlmaWVyIgorICAgICAgICh0cmVlc2l0LWZvbnRpZnktd2l0aC1vdmVycmlkZQorICAgICAgICAo dHJlZXNpdC1ub2RlLXN0YXJ0IGNoaWxkKSAodHJlZXNpdC1ub2RlLWVuZCBjaGlsZCkKKyAgICAg ICAgJ2ZvbnQtbG9jay10eXBlLWZhY2Ugb3ZlcnJpZGUgc3RhcnQgZW5kKSkKKyAgICAgICgiYXR0 cmlidXRlIgorICAgICAgIChweXRob24tLXRyZWVzaXQtZm9udGlmeS1kb3R0ZWQtZGVjb3JhdG9y IGNoaWxkIG92ZXJyaWRlIHN0YXJ0IGVuZCkpKSkpCiAKIChkZWZ2YXIgcHl0aG9uLS10cmVlc2l0 LXNldHRpbmdzCiAgICh0cmVlc2l0LWZvbnQtbG9jay1ydWxlcwpAQCAtMTEwMywxNCArMTE1MSw5 IEBAIHB5dGhvbi0tdHJlZXNpdC1zZXR0aW5ncwogCiAgICA6ZmVhdHVyZSAnc3RyaW5nCiAgICA6 bGFuZ3VhZ2UgJ3B5dGhvbgotICAgJygoc3RyaW5nKSBAcHl0aG9uLS10cmVlc2l0LWZvbnRpZnkt c3RyaW5nKQorICAgJygoc3RyaW5nKSBAcHl0aG9uLS10cmVlc2l0LWZvbnRpZnktc3RyaW5nCisg ICAgIChpbnRlcnBvbGF0aW9uIFsieyIgIn0iXSBAZm9udC1sb2NrLW1pc2MtcHVuY3R1YXRpb24t ZmFjZSkpCiAKLSAgIDs7IEhBQ0s6IFRoaXMgZmVhdHVyZSBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHN0 cmluZyBmZWF0dXJlIGFuZCBiZWZvcmUKLSAgIDs7IG90aGVyIGZlYXR1cmVzLiAgTWF5YmUgd2Ug c2hvdWxkIG1ha2Ugc3RyaW5nLWludGVycG9sYXRpb24gYW4KLSAgIDs7IG9wdGlvbiByYXRoZXIg dGhhbiBhIGZlYXR1cmUuCi0gICA6ZmVhdHVyZSAnc3RyaW5nLWludGVycG9sYXRpb24KLSAgIDps YW5ndWFnZSAncHl0aG9uCi0gICAnKChpbnRlcnBvbGF0aW9uKSBAcHl0aG9uLS10cmVlc2l0LWZv bnRpZnktc3RyaW5nLWludGVycG9sYXRpb24pCiAKICAgIDpmZWF0dXJlICdrZXl3b3JkCiAgICA6 bGFuZ3VhZ2UgJ3B5dGhvbgpAQCAtMTEyNiwxMiArMTE2OSw2IEBAIHB5dGhvbi0tdHJlZXNpdC1z ZXR0aW5ncwogICAgICAgbmFtZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlKQog ICAgICAocGFyYW1ldGVycyAoaWRlbnRpZmllcikgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZh Y2UpKQogCi0gICA6ZmVhdHVyZSAnZnVuY3Rpb24KLSAgIDpsYW5ndWFnZSAncHl0aG9uCi0gICAn KChjYWxsIGZ1bmN0aW9uOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1jYWxsLWZh Y2UpCi0gICAgIChjYWxsIGZ1bmN0aW9uOiAoYXR0cmlidXRlCi0gICAgICAgICAgICAgICAgICAg ICAgYXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1jYWxsLWZhY2Up KSkKLQogICAgOmZlYXR1cmUgJ2J1aWx0aW4KICAgIDpsYW5ndWFnZSAncHl0aG9uCiAgICBgKCgo aWRlbnRpZmllcikgQGZvbnQtbG9jay1idWlsdGluLWZhY2UKQEAgLTExNDIsNiArMTE3OSwxMiBA QCBweXRob24tLXRyZWVzaXQtc2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICAgICBlb2wpKQog ICAgICAgICAgICAgICBAZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQogCisgICA6ZmVhdHVyZSAn ZnVuY3Rpb24KKyAgIDpsYW5ndWFnZSAncHl0aG9uCisgICAnKChjYWxsIGZ1bmN0aW9uOiAoaWRl bnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1jYWxsLWZhY2UpCisgICAgIChjYWxsIGZ1bmN0 aW9uOiAoYXR0cmlidXRlCisgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiAoaWRlbnRp ZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1jYWxsLWZhY2UpKSkKKwogICAgOmZlYXR1cmUgJ2Nv bnN0YW50CiAgICA6bGFuZ3VhZ2UgJ3B5dGhvbgogICAgJyhbKHRydWUpIChmYWxzZSkgKG5vbmUp XSBAZm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCkBAIC0xMTUzLDMwICsxMTk2LDg1IEBAIHB5dGhv bi0tdHJlZXNpdC1zZXR0aW5ncwogICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxl LW5hbWUtZmFjZSkKICAgICAgKGFzc2lnbm1lbnQgbGVmdDogKGF0dHJpYnV0ZQogICAgICAgICAg ICAgICAgICAgICAgICAgYXR0cmlidXRlOiAoaWRlbnRpZmllcikKLSAgICAgICAgICAgICAgICAg ICAgICAgIEBmb250LWxvY2stcHJvcGVydHktdXNlLWZhY2UpKQotICAgICAocGF0dGVybl9saXN0 IChpZGVudGlmaWVyKQorICAgICAgICAgICAgICAgICAgICAgICAgQGZvbnQtbG9jay12YXJpYWJs ZS1uYW1lLWZhY2UpKQorICAgICAoYXVnbWVudGVkX2Fzc2lnbm1lbnQgbGVmdDogKGlkZW50aWZp ZXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUt ZmFjZSkKKyAgICAgKG5hbWVkX2V4cHJlc3Npb24gbmFtZTogKGlkZW50aWZpZXIpCisgICAgICAg ICAgICAgICAgICAgICAgIEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKQorICAgICAocGF0 dGVybl9saXN0IFsoaWRlbnRpZmllcikKKyAgICAgICAgICAgICAgICAgICAgKGxpc3Rfc3BsYXRf cGF0dGVybiAoaWRlbnRpZmllcikpXQogICAgICAgICAgICAgICAgICAgIEBmb250LWxvY2stdmFy aWFibGUtbmFtZS1mYWNlKQotICAgICAodHVwbGVfcGF0dGVybiAoaWRlbnRpZmllcikKKyAgICAg KHR1cGxlX3BhdHRlcm4gWyhpZGVudGlmaWVyKQorICAgICAgICAgICAgICAgICAgICAgKGxpc3Rf c3BsYXRfcGF0dGVybiAoaWRlbnRpZmllcikpXQogICAgICAgICAgICAgICAgICAgICBAZm9udC1s b2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKLSAgICAgKGxpc3RfcGF0dGVybiAoaWRlbnRpZmllcikK LSAgICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKLSAgICAg KGxpc3Rfc3BsYXRfcGF0dGVybiAoaWRlbnRpZmllcikKLSAgICAgICAgICAgICAgICAgICAgICAg ICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpCisgICAgIChsaXN0X3BhdHRlcm4gWyhp ZGVudGlmaWVyKQorICAgICAgICAgICAgICAgICAgICAobGlzdF9zcGxhdF9wYXR0ZXJuIChpZGVu dGlmaWVyKSldCisgICAgICAgICAgICAgICAgICAgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZh Y2UpKQorCisgICA6ZmVhdHVyZSAndmFyaWFibGUtZGVmaW5pdGlvbgorICAgOmxhbmd1YWdlICdw eXRob24KKyAgIGAoKGZvcl9zdGF0ZW1lbnQgbGVmdDogKGlkZW50aWZpZXIpCisgICAgICBAZm9u dC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKKyAgICAgKGZvcl9pbl9jbGF1c2UgbGVmdDogKGlk ZW50aWZpZXIpCisgICAgICAgICAgICAgICAgICAgIEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1m YWNlKQorICAgICAoYXNfcGF0dGVybl90YXJnZXQgKGlkZW50aWZpZXIpCisgICAgICAgICAgICAg ICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKKyAgICAgKGNhc2VfcGF0 dGVybiAoYXNfcGF0dGVybiAiYXMiIDphbmNob3IgKGlkZW50aWZpZXIpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkKIAogICAg OmZlYXR1cmUgJ2RlY29yYXRvcgogICAgOmxhbmd1YWdlICdweXRob24KKyAgIDs7IE92ZXJyaWRl IGZ1bmN0aW9uIGNhbGwgZmFjZS4KKyAgIDpvdmVycmlkZSB0CiAgICAnKChkZWNvcmF0b3IgIkAi IEBmb250LWxvY2stdHlwZS1mYWNlKQogICAgICAoZGVjb3JhdG9yIChjYWxsIGZ1bmN0aW9uOiAo aWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UpKQotICAgICAoZGVjb3JhdG9yIChpZGVu dGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFjZSkpCisgICAgIChkZWNvcmF0b3IgKGlkZW50aWZp ZXIpIEBmb250LWxvY2stdHlwZS1mYWNlKQorICAgICAoZGVjb3JhdG9yIFsoYXR0cmlidXRlKSAo Y2FsbCAoYXR0cmlidXRlKSldIEBweXRob24tLXRyZWVzaXQtZm9udGlmeS1kb3R0ZWQtZGVjb3Jh dG9yKSkKIAogICAgOmZlYXR1cmUgJ3R5cGUKICAgIDpsYW5ndWFnZSAncHl0aG9uCisgICA7OyBP dmVycmlkZSBidWlsdC1pbiBmYWNlcyB3aGVuIGRpY3QvbGlzdCBhcmUgdXNlZCBmb3IgdHlwZSBo aW50cy4KKyAgIDpvdmVycmlkZSB0CiAgICBgKCgoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBl LWZhY2UKICAgICAgICg6bWF0Y2ggLChyeC10by1zdHJpbmcKICAgICAgICAgICAgICAgICBgKHNl cSBib2wgKG9yICxAcHl0aG9uLS10cmVlc2l0LWV4Y2VwdGlvbnMpCi0gICAgICAgICAgICAgICAg ICAgICAgZW9sKSkKKyAgICAgICAgICAgICAgICAgIGVvbCkpCiAgICAgICAgICAgICAgIEBmb250 LWxvY2stdHlwZS1mYWNlKSkKLSAgICAgKHR5cGUgKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlw ZS1mYWNlKSkKKyAgICAgKHR5cGUgWyhpZGVudGlmaWVyKSAobm9uZSldIEBmb250LWxvY2stdHlw ZS1mYWNlKQorICAgICAodHlwZSAoYXR0cmlidXRlIGF0dHJpYnV0ZTogKGlkZW50aWZpZXIpIEBm b250LWxvY2stdHlwZS1mYWNlKSkKKyAgICAgOzsgV2UgZG9uJ3Qgd2FudCB0byBoaWdobGlnaHQg YSBwYWNrYWdlIG9mIHRoZSB0eXBlCisgICAgIDs7IChlLmcuIHBhY2suQ2xhc3NOYW1lKS4gIFNv IGV4cGxpY2l0bHkgZXhjbHVkZSBwYXR0ZXJucyB3aXRoCisgICAgIDs7IGF0dHJpYnV0ZSwgc2lu Y2Ugd2UgaGFuZGxlIGRvdHRlZCB0eXBlIG5hbWUgaW4gdGhlIHByZXZpb3VzCisgICAgIDs7IHJ1 bGUuICBUaGUgZm9sbG93aW5nIHJ1bGUgaGFuZGxlCisgICAgIDs7IGdlbmVyaWNfdHlwZS9saXN0 L3R1cGxlL3NwbGF0X3R5cGUgbm9kZXMuCisgICAgICh0eXBlIChfICFhdHRyaWJ1dGUgW1soaWRl bnRpZmllcikgKG5vbmUpXSBAZm9udC1sb2NrLXR5cGUtZmFjZQorICAgICAgICAgICAgICAgICAg ICAgICAgICAoYXR0cmlidXRlIGF0dHJpYnV0ZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlw ZS1mYWNlKSBdKSkKKyAgICAgOzsgY29sbGVjdGlvbnMuYWJjLkl0ZXJhdG9yW1RdIGNhc2UuCisg ICAgICh0eXBlIChzdWJzY3JpcHQgKGF0dHJpYnV0ZSBhdHRyaWJ1dGU6IChpZGVudGlmaWVyKSBA Zm9udC1sb2NrLXR5cGUtZmFjZSkpKQorICAgICA7OyBOZXN0ZWQgb3B0aW9uYWwgdHlwZSBoaW50 cywgZS5nLiB2YWw6IEx2bDEgfCBMdmwyW0x2bDNbTHZsNF1dLgorICAgICAodHlwZSAoYmluYXJ5 X29wZXJhdG9yKSBAcHl0aG9uLS10cmVlc2l0LWZvbnRpZnktdW5pb24tdHlwZXMpCisgICAgIDs7 Y2xhc3MgVHlwZShCYXNlMSwgU2VxdWVuY2VbVF0pLgorICAgICAoY2xhc3NfZGVmaW5pdGlvbgor ICAgICAgc3VwZXJjbGFzc2VzOgorICAgICAgKGFyZ3VtZW50X2xpc3QgWyhpZGVudGlmaWVyKSBA Zm9udC1sb2NrLXR5cGUtZmFjZQorICAgICAgICAgICAgICAgICAgICAgIChhdHRyaWJ1dGUgYXR0 cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UpCisgICAgICAgICAgICAg ICAgICAgICAgKHN1YnNjcmlwdCAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UpCisg ICAgICAgICAgICAgICAgICAgICAgKHN1YnNjcmlwdCAoYXR0cmlidXRlIGF0dHJpYnV0ZTogKGlk ZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlKSldKSkKKworICAgICA7OyBQYXRlcm4gbWF0 Y2hpbmc6IGNhc2UgW3N0cigpLCBwYWNrMC5UeXBlMCgpXS4gIFRha2Ugb25seSB0aGUKKyAgICAg OzsgbGFzdCBpZGVudGlmaWVyLgorICAgICAoY2xhc3NfcGF0dGVybiAoZG90dGVkX25hbWUgKGlk ZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlIDphbmNob3IpKQorCisKKyAgICAgOzsgSGln aGxpZ2h0IHRoZSBzZWNvbmQgYXJndW1lbnQgYXMgYSB0eXBlIGluIGlzaW5zdGFuY2UvaXNzdWJj bGFzcy4KKyAgICAgKChjYWxsIGZ1bmN0aW9uOiAoaWRlbnRpZmllcikgQGZ1bmMtbmFtZQorICAg ICAgICAgICAgKGFyZ3VtZW50X2xpc3QgOmFuY2hvciAoXykKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIFsoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoYXR0cmlidXRlIGF0dHJpYnV0ZTogKGlkZW50aWZpZXIpIEBmb250LWxv Y2stdHlwZS1mYWNlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0dXBsZSAoaWRlbnRp ZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHR1cGxlIChhdHRyaWJ1dGUgYXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBl LWZhY2UpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiaW5hcnlfb3BlcmF0b3IpIEBw eXRob24tLXRyZWVzaXQtZm9udGlmeS11bmlvbi10eXBlc10pKQorICAgICAgKDptYXRjaCAiXmlz XFwoPzppbnN0YW5jZVxcfHN1YmNsYXNzXFwpJCIgQGZ1bmMtbmFtZSkpKQogCiAgICA6ZmVhdHVy ZSAnZXNjYXBlLXNlcXVlbmNlCiAgICA6bGFuZ3VhZ2UgJ3B5dGhvbgpAQCAtNjg0MSw3ICs2OTM5 LDcgQEAgcHl0aG9uLXRzLW1vZGUKICAgICAoc2V0cS1sb2NhbCB0cmVlc2l0LWZvbnQtbG9jay1m ZWF0dXJlLWxpc3QKICAgICAgICAgICAgICAgICAnKCggY29tbWVudCBkZWZpbml0aW9uKQogICAg ICAgICAgICAgICAgICAgKCBrZXl3b3JkIHN0cmluZyB0eXBlKQotICAgICAgICAgICAgICAgICAg KCBhc3NpZ25tZW50IGJ1aWx0aW4gY29uc3RhbnQgZGVjb3JhdG9yCisgICAgICAgICAgICAgICAg ICAoIGFzc2lnbm1lbnQgdmFyaWFibGUtZGVmaW5pdGlvbiBidWlsdGluIGNvbnN0YW50IGRlY29y YXRvcgogICAgICAgICAgICAgICAgICAgICBlc2NhcGUtc2VxdWVuY2UgbnVtYmVyIHN0cmluZy1p bnRlcnBvbGF0aW9uICkKICAgICAgICAgICAgICAgICAgICggYnJhY2tldCBkZWxpbWl0ZXIgZnVu Y3Rpb24gb3BlcmF0b3IgdmFyaWFibGUgcHJvcGVydHkpKSkKICAgICAoc2V0cS1sb2NhbCB0cmVl c2l0LWZvbnQtbG9jay1zZXR0aW5ncyBweXRob24tLXRyZWVzaXQtc2V0dGluZ3MpCmRpZmYgLS1n aXQgYS90ZXN0L2xpc3AvcHJvZ21vZGVzL3B5dGhvbi10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9wcm9n bW9kZXMvcHl0aG9uLXRlc3RzLmVsCmluZGV4IGE0NGExMTg5NmYuLjI1MWIyNGViYTIgMTAwNjQ0 Ci0tLSBhL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlz cC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVsCkBAIC03Mjk5LDYgKzcyOTksMzU2IEBAIHB5dGhv bi10ZXN0cy0tZmx5bWFrZS1jb21tYW5kLW91dHB1dC1wYXR0ZXJuCiAgICAgICAgICAgICAgICAg ICAgICAgICAgIlVudXNlZCBpbXBvcnQgYS5iLmMgKHVudXNlZC1pbXBvcnQpIgogICAgICAgICAg ICAgICAgICAgICAgICAiVzA2MTE6IFVudXNlZCBpbXBvcnQgYS5iLmMgKHVudXNlZC1pbXBvcnQp IikpKSkpKQogCis7OzsgcHl0aG9uLXRzLW1vZGUgZm9udC1sb2NrIHRlc3RzCisKKyhkZWZtYWNy byBweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlciAoY29udGVudHMgJnJlc3QgYm9keSkK KyAgIkNyZWF0ZSBhIGBweXRob24tdHMtbW9kZScgZW5hYmxlZCB0ZW1wIGJ1ZmZlciB3aXRoIENP TlRFTlRTLgorQk9EWSBpcyBjb2RlIHRvIGJlIGV4ZWN1dGVkIHdpdGhpbiB0aGUgdGVtcCBidWZm ZXIuICBQb2ludCBpcworYWx3YXlzIGxvY2F0ZWQgYXQgdGhlIGJlZ2lubmluZyBvZiBidWZmZXIu IgorICAoZGVjbGFyZSAoaW5kZW50IDEpIChkZWJ1ZyB0KSkKKyAgYCh3aXRoLXRlbXAtYnVmZmVy CisgICAgIChza2lwLXVubGVzcyAodHJlZXNpdC1yZWFkeS1wICdweXRob24pKQorICAgICAocmVx dWlyZSAncHl0aG9uKQorICAgICAobGV0ICgocHl0aG9uLWluZGVudC1ndWVzcy1pbmRlbnQtb2Zm c2V0IG5pbCkpCisgICAgICAgKHB5dGhvbi10cy1tb2RlKQorICAgICAgIChzZXRvcHQgdHJlZXNp dC1mb250LWxvY2stbGV2ZWwgMykKKyAgICAgICAoaW5zZXJ0ICxjb250ZW50cykKKyAgICAgICAo Zm9udC1sb2NrLWVuc3VyZSkKKyAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgICAg ICxAYm9keSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtY29tcG91bmQta2V5d29y ZHMtZmFjZSAoKQorICAoZG9saXN0ICh0ZXN0ICcoImlzIG5vdCIgIm5vdCBpbiIpKQorICAgIChw eXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgICAoY29uY2F0ICJ0ICIgdGVzdCAi IHQiKQorICAgICAoZm9yd2FyZC10by13b3JkKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1w b2ludCkgZm9udC1sb2NrLWtleXdvcmQtZmFjZSkpCisgICAgIChmb3J3YXJkLXRvLXdvcmQpCisg ICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2sta2V5d29yZC1mYWNlKSkp KSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLXZhci1mb3ItbG9vcC1mYWNlLTEgKCkK KyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAiZm9yIHZhciBpbiByYW5n ZSgzKToiCisgICAoZG9saXN0ICh0ZXN0ICcoInZhciIpKQorICAgICAoc2VhcmNoLWZvcndhcmQg dGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxk IChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKSkpCisK KyhlcnQtZGVmdGVzdCBweXRob24tdHMtbW9kZS12YXItZm9yLWxvb3AtZmFjZS0yICgpCisgIChw eXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgImZvciB2YXIxLCAodmFyMiwgdmFy MykgaW4gW106IgorICAgKGRvbGlzdCAodGVzdCAnKCJ2YXIxIiAidmFyMiIgInZhcjMiKSkKKyAg ICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmlu ZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay12YXJpYWJs ZS1uYW1lLWZhY2UpKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtdmFyLWZvci1s b29wLWZhY2UtMyAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJb dmFyIGZvciB2YXIgaW4gW10gaWYgdmFyIF0iCisgICAoc2VhcmNoLWZvcndhcmQgInZhciIpCisg ICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAoc2hvdWxkIChub3QgKGVxIChm YWNlLWF0LXBvaW50KSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpCisKKyAgIChzZWFy Y2gtZm9yd2FyZCAidmFyIiBuaWwgbmlsIDIpCisgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5p bmcgMCkpCisgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXZhcmlhYmxl LW5hbWUtZmFjZSkpCisKKyAgIChzZWFyY2gtZm9yd2FyZCAidmFyIiBuaWwgbmlsIDIpCisgICAo Z290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAoc2hvdWxkIChub3QgKGVxIChmYWNl LWF0LXBvaW50KSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0 ZXN0IHB5dGhvbi10cy1tb2RlLWFzLXBhdHRlcm4tZmFjZS0xICgpCisgIChweXRob24tdHMtdGVz dHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgInRyeToKKyAgICBwYXNzCitleGNlcHQgRXhjZXB0aW9u IGFzIGV4Y3A6CisgICAgcGFzcyIKKworICAgKHNlYXJjaC1mb3J3YXJkICJleGNwIikKKyAgIChn b3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBv aW50KSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0 aG9uLXRzLW1vZGUtYXMtcGF0dGVybi1mYWNlLTIgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRo LXRlbXAtYnVmZmVyCisgICAid2l0aCBjdHgoKSBhcyB2YXI6IgorICAgKHNlYXJjaC1mb3J3YXJk ICJ2YXIiKQorICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgKHNob3VsZCAo ZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkpCisKKyhl cnQtZGVmdGVzdCBweXRob24tdHMtbW9kZS1hcy1wYXR0ZXJuLWZhY2UtMyAoKQorICAocHl0aG9u LXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJ3aXRoIGN0eCgpIGFzIHZhcjoiCisgICAo c2VhcmNoLWZvcndhcmQgInZhciIpCisgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkp CisgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUt ZmFjZSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLWFzLXBhdHRlcm4tZmFjZS00 ICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgIm1hdGNoIHY6Cisg ICAgY2FzZSAobGlzdCgpIGFzIGx2YXIsIEluc3QoKSBhcyBpdmFyKToiCisgICAoZG9saXN0ICh0 ZXN0ICcoImx2YXIiICJpdmFyIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAo Z290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0 LXBvaW50KSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0 IHB5dGhvbi10cy1tb2RlLW5hbWVkLWFzc2lnbmVtZW50LWZhY2UtMSAoKQorICAocHl0aG9uLXRz LXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJ2YXIgOj0gMyIKKyAgIChzaG91bGQgKGVxIChm YWNlLWF0LXBvaW50KSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKQorCisoZXJ0LWRl ZnRlc3QgcHl0aG9uLXRzLW1vZGUtYXNzaWduZW1lbnQtZmFjZS0yICgpCisgIChweXRob24tdHMt dGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgInZhciwgKnJlc3QgPSBjYWxsKCkiCisgICAoZG9s aXN0ICh0ZXN0ICcoInZhciIgInJlc3QiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisg ICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZh Y2UtYXQtcG9pbnQpIGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkpCisKKyAgKHB5dGhv bi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAiZGVmIGZ1bmMoKmFyZ3MpOiIKKyAgIChk b2xpc3QgKHRlc3QgJygiYXJncyIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAg KGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChub3QgKGVxIChm YWNlLWF0LXBvaW50KSBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKSkpKSkpCisKKyhlcnQt ZGVmdGVzdCBweXRob24tdHMtbW9kZS1uZXN0ZWQtdHlwZXMtZmFjZS0xICgpCisgIChweXRob24t dHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgImRlZiBmdW5jKHY6ZGljdFsgbGlzdFsgdHVw bGVbc3RyXSBdLCBpbnQgfCBOb25lXSB8IE5vbmUpOiIKKyAgIChkb2xpc3QgKHRlc3QgJygiZGlj dCIgImxpc3QiICJ0dXBsZSIgInN0ciIgImludCIgIk5vbmUiICJOb25lIikpCisgICAgIChzZWFy Y2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisg ICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stdHlwZS1mYWNlKSkpKSkK KworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLXVuaW9uLXR5cGVzLWZhY2UtMSAoKQorICAo cHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJkZWYgZih2YWw6IHR1cGxlW3R1 cGxlLCBsaXN0W0x2bDEgfCBMdmwyW0x2bDNbTHZsNFtMdmw1IHwgTm9uZV1dLCBMdmwyXV1dKToi CisgICAoZG9saXN0ICh0ZXN0ICcoInR1cGxlIiAidHVwbGUiICJsaXN0IiAiTHZsMSIgIkx2bDIi ICJMdmwzIiAiTHZsNCIgIkx2bDUiICJOb25lIiAiTHZsMiIpKQorICAgICAoc2VhcmNoLWZvcndh cmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hv dWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKSkpCisKKyhlcnQt ZGVmdGVzdCBweXRob24tdHMtbW9kZS11bmlvbi10eXBlcy1mYWNlLTIgKCkKKyAgKHB5dGhvbi10 cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAiZGVmIGYodmFsOiBUeXBlMCB8IFR5cGUxW1R5 cGUyLCBwYWNrMC5UeXBlM10gfCBwYWNrMS5wYWNrMi5UeXBlNCB8IE5vbmUpOiIKKyAgIChkb2xp c3QgKHRlc3QgJygiVHlwZTAiICJUeXBlMSIgIlR5cGUyIiAiVHlwZTMiICJUeXBlNCIgIk5vbmUi KSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJl Z2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10 eXBlLWZhY2UpKSkKKworICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgIChkb2xpc3QgKHRl c3QgJygicGFjazAiICJwYWNrMSIgInBhY2syIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0 KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5v dCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkpKSkKKworKGVydC1k ZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLXR5cGVzLWZhY2UtMSAoKQorICAocHl0aG9uLXRzLXRlc3Rz LXdpdGgtdGVtcC1idWZmZXIKKyAgICJkZWYgZih2YWw6IENhbGxhYmxlW1tUeXBlMF0sIChUeXBl MSwgVHlwZTIpXSk6IgorICAgKGRvbGlzdCAodGVzdCAnKCJDYWxsYWJsZSIgIlR5cGUwIiAiVHlw ZTEiICJUeXBlMiIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hh ciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkg Zm9udC1sb2NrLXR5cGUtZmFjZSkpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24tdHMtbW9kZS10 eXBlcy1mYWNlLTIgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAi ZGVmIGFubm90Myh2YWw6cGFjazAuVHlwZTApLT5wYWNrMS5wYWNrMi5wYWNrMy5UeXBlMToiCisg ICAoZG9saXN0ICh0ZXN0ICcoIlR5cGUwIiAiVHlwZTEiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJk IHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3Vs ZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkKKyAgIChnb3RvLWNo YXIgKHBvaW50LW1pbikpCisgICAoZG9saXN0ICh0ZXN0ICcoInBhY2swIiAicGFjazEiICJwYWNr MiIgInBhY2szIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFy IChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQtcG9p bnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1t b2RlLXR5cGVzLWZhY2UtMyAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIK KyAgICJkZWYgYW5ub3QzKHZhbDpjb2xsZWN0aW9ucy5hYmMuSXRlcmF0b3JbVHlwZTBdKToiCisg ICAoZG9saXN0ICh0ZXN0ICcoIkl0ZXJhdG9yIiAiVHlwZTAiKSkKKyAgICAgKHNlYXJjaC1mb3J3 YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNo b3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkKKyAgIChnb3Rv LWNoYXIgKHBvaW50LW1pbikpCisgICAoZG9saXN0ICh0ZXN0ICcoImNvbGxlY3Rpb25zIiAiYWJj IikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1i ZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQt bG9jay10eXBlLWZhY2UpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLWlzaW5z dGFuY2UtdHlwZS1mYWNlLTEgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVy CisgICAiaXNpbnN0YW5jZSh2YXIxLCBwa2cuVHlwZTApCisgICAgaXNpbnN0YW5jZSh2YXIyLCAo c3RyLCBkaWN0LCBUeXBlMSwgdHlwZShOb25lKSkpCisgICAgaXNpbnN0YW5jZSh2YXIzLCBteV90 eXBlKCkpIgorCisgICAoZG9saXN0ICh0ZXN0ICcoInZhcjEiICJwa2ciICJ2YXIyIiAidHlwZSIg Ik5vbmUiICJ2YXIzIiAibXlfdHlwZSIpKQorICAgICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCBu aWwpKQorICAgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KSkKKyAgICAgKGdvdG8tY2hhciAobWF0 Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChub3QgKGVxIChmYWNlLWF0LXBvaW50KSBm b250LWxvY2stdHlwZS1mYWNlKSkpKQorCisgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAg KGRvbGlzdCAodGVzdCAnKCJUeXBlMCIgInN0ciIgImRpY3QiICJUeXBlMSIpKQorICAgICAoc2Vh cmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQor ICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKSkp CisKKyhlcnQtZGVmdGVzdCBweXRob24tdHMtbW9kZS1pc2luc3RhbmNlLXR5cGUtZmFjZS0yICgp CisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgImlzc3ViY2xhc3MobXl0 eXBlLCBpbnR8bGlzdHxjb2xsZWN0aW9ucy5hYmMuSXRlcmFibGUpIgorICAgKGRvbGlzdCAodGVz dCAnKCJpbnQiICJsaXN0IiAiSXRlcmFibGUiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3Qp CisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEg KGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkpKQorCisoZXJ0LWRlZnRlc3Qg cHl0aG9uLXRzLW1vZGUtc3VwZXJjbGFzcy10eXBlLWZhY2UgKCkKKyAgKHB5dGhvbi10cy10ZXN0 cy13aXRoLXRlbXAtYnVmZmVyCisgICAiY2xhc3MgVGVtcChCYXNlMSwgcGFjazAuQmFzZTIsICBT ZXF1ZW5jZVtUMSwgVDJdKToiCisKKyAgIChkb2xpc3QgKHRlc3QgJygiQmFzZTEiICJCYXNlMiIg IlNlcXVlbmNlIiAiVDEiICJUMiIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAg KGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1h dC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQorCisgICAoZ290by1jaGFyIChwb2ludC1t aW4pKQorICAgKGRvbGlzdCAodGVzdCAnKCJwYWNrMCIpKQorICAgICAoc2VhcmNoLWZvcndhcmQg dGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxk IChub3QgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stdHlwZS1mYWNlKSkpKSkpCisKKyhl cnQtZGVmdGVzdCBweXRob24tdHMtbW9kZS1jbGFzcy1wYXR0ZXJucy1mYWNlICgpCisgIChweXRo b24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgIm1hdGNoIHR0OgorICAgICAgICBjYXNl IHN0cigpOgorICAgICAgICAgICAgcGFzcworICAgICAgICBjYXNlIFtUeXBlMCgpIHwgYnl0ZXMo YikgfCBwYWNrMC5wYWNrMS5UeXBlMSgpXToKKyAgICAgICAgICAgIHBhc3MKKyAgICAgICAgY2Fz ZSB7J2knOiBpbnQoaSksICdmJzogZmxvYXQoKSBhcyBmfToKKyAgICAgICAgICAgIHBhc3MiCisK KyAgIChkb2xpc3QgKHRlc3QgJygic3RyIiAiVHlwZTAiICJieXRlcyIgIlR5cGUxIiAiaW50IiAi ZmxvYXQiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1h dGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQt bG9jay10eXBlLWZhY2UpKSkKKworICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgIChkb2xp c3QgKHRlc3QgJygicGFjazAiICJwYWNrMSIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkK KyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChub3Qg KGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stdHlwZS1mYWNlKSkpKSkpCisKKyhlcnQtZGVm dGVzdCBweXRob24tdHMtbW9kZS1kb3R0ZWQtZGVjb3JhdG9yLWZhY2UtMSAoKQorICAocHl0aG9u LXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJAcHl0ZXN0Lm1hcmsuc2tpcAorICAgIEBw eXRlc3QubWFyay5za2lwKHJlYXNvbj0nbXNnJykKKyAgICBkZWYgdGVzdCgpOiIKKworICAgKGRv bGlzdCAodGVzdCAnKCJweXRlc3QiICJtYXJrIiAic2tpcCIgInB5dGVzdCIgIm1hcmsiICJza2lw IikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1i ZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2st dHlwZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLWRvdHRlZC1kZWNv cmF0b3ItZmFjZS0yICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAg IkBweXRlc3QubWFyay5za2lwKHJlYXNvbj0nbXNnJykKKyAgICBkZWYgdGVzdCgpOiIKKworICAg KHNldG9wdCB0cmVlc2l0LWZvbnQtbG9jay1sZXZlbCA0KQorICAgKGRvbGlzdCAodGVzdCAnKCJw eXRlc3QiICJtYXJrIiAic2tpcCIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAg KGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1h dC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24t dHMtbW9kZS1idWlsdGluLWNhbGwtZmFjZSAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVt cC1idWZmZXIKKyAgICJhbGwoKSIKKyAgIDs7IGVuYWJsZSAnZnVuY3Rpb24nIGZlYXR1cmUgZnJv bSA0dGggbGV2ZWwKKyAgIChzZXRvcHQgdHJlZXNpdC1mb250LWxvY2stbGV2ZWwgNCkKKyAgIChz aG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stYnVpbHRpbi1mYWNlKSkpKQorCiso ZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtaW50ZXJwb2xhdGlvbi1uZXN0ZWQtc3RyaW5nICgp CisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgInQgPSBmXCJiZWcge1Ry dWUgKyAnc3RyaW5nJ31cIiIKKworICAgKHNlYXJjaC1mb3J3YXJkICJUcnVlIikKKyAgIChnb3Rv LWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50 KSBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpCisKKyAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikp CisgICAoZG9saXN0ICh0ZXN0ICcoImYiICJ7IiAiKyIgIn0iKSkKKyAgICAgKHNlYXJjaC1mb3J3 YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNo b3VsZCAobm90IChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXN0cmluZy1mYWNlKSkpKQor CisKKyAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAoZG9saXN0ICh0ZXN0ICcoImJlZyIg IidzdHJpbmcnIiAiXCIiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3Rv LWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9p bnQpIGZvbnQtbG9jay1zdHJpbmctZmFjZSkpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24tdHMt bW9kZS1sZXZlbC1mb250aWZpY2F0aW9uLXdvLWludGVycG9sYXRpb24gKCkKKyAgKHB5dGhvbi10 cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAidCA9IGZcImJlZyB7VHJ1ZSArIHZhcn1cIiIK KworICAgKHNldG9wdCB0cmVlc2l0LWZvbnQtbG9jay1sZXZlbCAyKQorICAgKHNlYXJjaC1mb3J3 YXJkICJmIikKKyAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgIChzaG91bGQg KG5vdCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay1zdHJpbmctZmFjZSkpKQorCisgICAo ZG9saXN0ICh0ZXN0ICcoIlwiIiAiYmVnIiAieyIgIlRydWUiICJ2YXIiICJ9IiAiXCIiKSkKKyAg ICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmlu ZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay1zdHJpbmct ZmFjZSkpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24tdHMtbW9kZS1kaXNhYmxlZC1zdHJpbmct aW50ZXJwb2xhdGlvbiAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAg ICJ0ID0gZlwiYmVnIHtUcnVlICsgdmFyfVwiIgorCisgICAodW53aW5kLXByb3RlY3QKKyAgICAg ICAocHJvZ24KKyAgICAgICAgIChzZXRmIChudGggMiB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJl LWxpc3QpCisgICAgICAgICAgICAgICAocmVtcSAnc3RyaW5nLWludGVycG9sYXRpb24gKG50aCAy IHRyZWVzaXQtZm9udC1sb2NrLWZlYXR1cmUtbGlzdCkpKQorICAgICAgICAgKHNldG9wdCB0cmVl c2l0LWZvbnQtbG9jay1sZXZlbCAzKQorCisgICAgICAgICAoc2VhcmNoLWZvcndhcmQgImYiKQor ICAgICAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAgICAgKHNob3Vs ZCAobm90IChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXN0cmluZy1mYWNlKSkpCisKKyAg ICAgICAgIChkb2xpc3QgKHRlc3QgJygiXCIiICJiZWciICJ7IiAiVHJ1ZSIgInZhciIgIn0iICJc IiIpKQorICAgICAgICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgICAgICAgKGdvdG8t Y2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAgICAgICAoc2hvdWxkIChlcSAoZmFjZS1h dC1wb2ludCkgZm9udC1sb2NrLXN0cmluZy1mYWNlKSkpKQorCisgICAgKHNldGYgKG50aCAyIHRy ZWVzaXQtZm9udC1sb2NrLWZlYXR1cmUtbGlzdCkKKyAgICAgICAgICAoYXBwZW5kIChudGggMiB0 cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJlLWxpc3QpICcoc3RyaW5nLWludGVycG9sYXRpb24pKSkp KSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLWludGVycG9sYXRpb24tZG9jLXN0cmlu ZyAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJmXCJcIlwiYmVn IHsnczEnICsgVHJ1ZSArICdzMid9IGVuZFwiXCJcIiIKKworICAgKHNlYXJjaC1mb3J3YXJkICJU cnVlIikKKyAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgIChzaG91bGQgKGVx IChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stY29uc3RhbnQtZmFjZSkpCisKKyAgIChnb3RvLWNo YXIgKHBvaW50LW1pbikpCisgICAoZG9saXN0ICh0ZXN0ICcoImYiICJ7IiAiKyIgIn0iKSkKKyAg ICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmlu ZyAwKSkKKyAgICAgKHNob3VsZCAobm90IChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXN0 cmluZy1mYWNlKSkpKQorCisgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgKGRvbGlzdCAo dGVzdCAnKCJcIlwiXCIiICJiZWciICJlbmQiICJcIlwiXCIiKSkKKyAgICAgKHNlYXJjaC1mb3J3 YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNo b3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay1kb2MtZmFjZSkpKQorCisgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQorICAgKGRvbGlzdCAodGVzdCAnKCInczEnIiAiJ3MyJyIpKQor ICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5u aW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXN0cmlu Zy1mYWNlKSkpKSkKKwogKHByb3ZpZGUgJ3B5dGhvbi10ZXN0cykKIAogOzs7IHB5dGhvbi10ZXN0 cy5lbCBlbmRzIGhlcmUKLS0gCjIuMzQuMQoK ------==--bound.549855.an4sa4silbm64yo4.vla.yp-c.yandex.net--