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: Tue, 12 Dec 2023 04:18:02 +0300 Message-ID: <95071702343720@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> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----==--bound.277746.pyij2bcyucz6ldu4.iva.yp-c.yandex.net" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="658"; 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 Tue Dec 12 02:19:15 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 1rCrQY-000AWd-GB for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 12 Dec 2023 02:19:14 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rCrQ9-0006Jz-03; Mon, 11 Dec 2023 20:18:49 -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 1rCrQ7-0006Ja-3u for bug-gnu-emacs@gnu.org; Mon, 11 Dec 2023 20:18:47 -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 1rCrQ6-0002YD-Rt for bug-gnu-emacs@gnu.org; Mon, 11 Dec 2023 20:18:46 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rCrQL-0003et-Pw for bug-gnu-emacs@gnu.org; Mon, 11 Dec 2023 20:19: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: Tue, 12 Dec 2023 01:19: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.170234390714014 (code B ref 67061); Tue, 12 Dec 2023 01:19:01 +0000 Original-Received: (at 67061) by debbugs.gnu.org; 12 Dec 2023 01:18:27 +0000 Original-Received: from localhost ([127.0.0.1]:55046 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCrPm-0003dt-1P for submit@debbugs.gnu.org; Mon, 11 Dec 2023 20:18:27 -0500 Original-Received: from forward100c.mail.yandex.net ([178.154.239.211]:39114) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCrPh-0003dg-TH for 67061@debbugs.gnu.org; Mon, 11 Dec 2023 20:18:24 -0500 Original-Received: from mail-nwsmtp-mxback-production-main-57.iva.yp-c.yandex.net (mail-nwsmtp-mxback-production-main-57.iva.yp-c.yandex.net [IPv6:2a02:6b8:c0c:16a0:0:640:1498:0]) by forward100c.mail.yandex.net (Yandex) with ESMTP id 15517608EE; Tue, 12 Dec 2023 04:18:04 +0300 (MSK) Original-Received: from mail.yandex.ru (2a02:6b8:c0c:215:0:640:419b:0 [2a02:6b8:c0c:215:0:640:419b:0]) by mail-nwsmtp-mxback-production-main-57.iva.yp-c.yandex.net (mxback/Yandex) with HTTP id 2IWtAf0O7W20-XUjnApcL; Tue, 12 Dec 2023 04:18:03 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1702343883; bh=sLF/NiWy0cp12EJTTfxntotVmb+6Rou44ruIkIS1OpI=; h=Message-Id:References:Date:Cc:Subject:In-Reply-To:To:From; b=O3LgLLOlWt7ZbpGTscCBs1z1rnKvbQSSR604QUtAekcz7TAvg9j1qUcMBwR6LFhvK cXDrVyvMifNO4JwVe3bJS7H83qxJ0frnecrPVmnspQ8zIt+tSp7xFxoT5W9dugaGiB ObdudSoaOPxiZ5MR5m0JIEsG2XIIQ9Zm0cMVyUsI= Authentication-Results: mail-nwsmtp-mxback-production-main-57.iva.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Original-Received: by pyij2bcyucz6ldu4.iva.yp-c.yandex.net with HTTP; Tue, 12 Dec 2023 04:18:02 +0300 In-Reply-To: <7b17c99d-6e4b-43b3-af93-993901a3a4ea@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:276011 Archived-At: ------==--bound.277746.pyij2bcyucz6ldu4.iva.yp-c.yandex.net Content-Transfer-Encoding: base64 Content-Type: text/html; charset=utf-8 PGRpdj48ZGl2Pll1YW4gYW5kIERtaXRyeSwgdGhhbmsgeW91IGZvciByZXZpZXcgYW5kIHN1Z2dl c3Rpb25zLjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PiZndDsgQ2FuIHdlIGRvIHRoaXMgaW5zdGVh ZDogaW4gcHl0aG9uLS10cmVlc2l0LWZvbnRpZnktc3RyaW5nLCB3ZSBjaGVjayBpZjwvZGl2Pjxk aXY+wqAgc3RyaW5nLWludGVycG9sYXRpb24gZmVhdHVyZSBpcyBlbmFibGVkLCBpZiBpdCBpcywg Zm9udGlmeSBzdHJpbmdfc3RhcnQsPC9kaXY+PGRpdj7CoCBzdHJpbmdfY29udGVudCBhbmQgc3Ry aW5nX2VuZCBvbmx5OyBpZiBub3QsIGZvbnRpZnkgdGhlIHdob2xlIHN0cmluZy48L2Rpdj48ZGl2 PsKgPC9kaXY+PGRpdj5Eb25lLjwvZGl2PjxkaXY+RW5hYmxlIGludGVycG9sYXRpb24gaGlnaGxp Z2h0aW5nIG9ubHkgaWYgJ3N0cmluZy1pbnRlcnBvbGF0aW9uIGlzIHByZXNlbnRlZCBvbiB0aGUg dGhpcmQgbGV2ZWwgb2YgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0LjwvZGl2PjxkaXY+ UGVyc29uYWxseSwgSWYgSSBzYXcgYSBmLXN0cmluZyB3aXRoIGFuIGludGVycG9sYXRpb24gZm9u dGlmaWVkIGFzIHN0cmluZywgSSB3b3VsZCBhc3N1bWUgdGhhdCBpdCBpcyBidWcuPC9kaXY+PGRp dj5DbGVhcmx5IGl0IGlzIG5vdCBhIHN0cmluZywgc28gaXQgc2hvdWxkIGJlIGhpZ2hsaWdodGVk IGRpc3RpbmN0bHkuPC9kaXY+PGRpdj5CdXQgaWYgaXQgaXMgYSBjb252ZW50aW9uIGFjcm9zcyBh bGwgbGFuZ3VhZ2VzLCB3ZSBzaG91bGQgZm9sbG93IGl0LjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2 PiZndDsgSSB0aGluayAiZm9yIHZhciBpbiByYW5nZSgzKSIgc2hvdWxkIGJlIHBhcnQgb2YgdGhl ICJkZWZpbml0aW9uIiBmZWF0dXJlPC9kaXY+PGRpdj7CoCBiZWNhdXNlIGEgdmFyaWFibGUgaXMg ZGVmaW5lZCB0aGVyZS4gQWxvbmdzaWRlIHBhcmFtZXRlcnMuPC9kaXY+PGRpdj7CoDwvZGl2Pjxk aXY+SSBhZGRlZCBpdCB0byBkZWZpbml0aW9ucy48L2Rpdj48ZGl2Pk15IHRob3VnaHRzIGFib3V0 IHBhcmFtZXRlcnMuIEkgc3RhcnRlZCB0byBleHRlbmQgcnVsZXMgZm9yIHRoZW0gc2luY2UgdGhl eSBhcmUgdmVyeSBsaW1pdGVkIG5vdy48L2Rpdj48ZGl2PkJ1dCBJJ20gbm90IHN1cmUgd2hhdCBm YWNlIHRvIHVzZSBmb3IgdGhlbS48L2Rpdj48ZGl2Pkkgd291bGQgbGlrZSB0byBub3QgdXNlIHRo ZSBzYW1lIGZhY2UgYXMgZm9yIGFzc2lnbm1lbnRzLCBiZWNhdXNlIEknZCB3YW50IHRvIGhpZ2hs aWdodCB0aGVtIGRpZmZlcmVudGx5LjwvZGl2PjxkaXY+SXQgc2VlbXMgdGhhdCB0aGVyZSBpcyBu byBhcHByb3ByaWF0ZSBmYWNlIGluIGZvbnQtbG9jay5lbCwgc28gSSBlbmRlZCB1cCBjcmVhdGlu ZyBteSBvd24gZmFjZSBpbiBteSBjb25maWcuPC9kaXY+PGRpdj5Eb2VzIGl0IG1ha2Ugc2Vuc2Ug dG8gYWRkIG5ldyBmYWNlIGZvciBwYXJhbWV0ZXJzIGluIGZvbnQtbG9jay5lbD88L2Rpdj48ZGl2 Pk9yIGl0IGlzIHRvbyBzbWFsbCBmZWF0dXJlIGZvciBpdHMgb3duIGZhY2U/PC9kaXY+PGRpdj5J IGFsc28gYXBwbHkgdGhpcyBmYWNlIGZvciBrZXl3b3JkIGFyZ3VtZW50IGluIGZ1bmN0aW9uIGNh bGxzLiDCoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PsKgPC9kaXY+PGRpdj5TdW1tYXJ5IGZvciBh bGwgY2hhbmdlcyBpbiB0aGUgcGF0Y2guPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+ZGVmaW5pdGlv biBmZWF0dXJlOjwvZGl2PjxkaXY+YGZvciB2YXIgaW4gcmFuZ2UoMylgIGhpZ2hsaWdodCB2YXIg YXMgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZTwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PsKg PC9kaXY+PGRpdj5hc3NpZ25tZW50IGZlYXR1cmU6PC9kaXY+PGRpdj52YXIgOj0gMyAobmFtZWRf ZXhwcmVzc2lvbik8L2Rpdj48ZGl2PnZhciAqPSAzIChhdWdtZW50ZWRfYXNzaWdubWVudCk8L2Rp dj48ZGl2PkhpZ2hsaWdodCB2YXIgYXMgZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZS48L2Rp dj48ZGl2PsKgPC9kaXY+PGRpdj5NYWtlIGxpc3Rfc3BsYXRfcGF0dGVybiBxdWVyeSBtb3JlIHBy ZWNpc2UuPC9kaXY+PGRpdj5saXN0X3NwbGF0X3BhdHRlcm4gbWF5IGFwcGVhciBub3Qgb25seSBp biBhc3NpZ25tZW50czogdmFyLCAqcmVzdCA9IGNhbGwoKSw8L2Rpdj48ZGl2PmJ1dCBpbiB0aGUg cGFyYW1ldGVyIGxpc3QgdG9vOiBkZWYgZigqYXJncykuPC9kaXY+PGRpdj5IaWdobGlnaHQgYXJn cyBvbmx5IGZvciB0aGUgZmlyc3QgY2FzZSBpbiBhc3NpZ25tZW50IGZlYXR1cmUuPC9kaXY+PGRp dj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PnR5cGUgZmVhdHVyZTo8L2Rpdj48ZGl2PkZvbnRp ZnkgYnVpbHQtaW5zIChkaWN0LGxpc3QsZXRjLikgYXMgdHlwZXMgd2hlbiB0aGV5IGFyZSB1c2Vk IGluIHR5cGUgaGludHMuPC9kaXY+PGRpdj5zdXBwb3J0IG5lc3RlZCB1bmlvbiB0eXBlcywgZm9y IGV4YW1wbGUgYEx2bDEgfCBMdmwyW0x2bDNbTHZsM10sIEx2bDJdYC48L2Rpdj48ZGl2PlRoaXMg c3RydWN0dXJlIGlzIHJlcHJlc2VudGVkIHZpYSBuZXN0aW5nIGJpbmFyeV9vcGVyYXRvciBhbmQg c3Vic2NyaXB0IG5vZGVzIGluIHRoZSBncmFtbWFyLjwvZGl2PjxkaXY+RnVuY3Rpb24gcHl0aG9u LS10cmVlc2l0LWZvbnRpZnktdW5pb24tdHlwZXMgaXRlcmF0ZXMgb3ZlciBhbGwgY2hpbGRyZW4g YW5kIGhpZ2hsaWdodCBpZGVudGlmaWVyIG5vZGVzLjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PkZv bnRpZnkgYmFzZSBjbGFzcyBuYW1lcyBpbiB0aGUgY2xhc3MgZGVmaW5pdGlvbjogY2xhc3MgVGVt cChCYXNlMSwgcGFjazAuQmFzZTIpOjwvZGl2PjxkaXY+Rm9udGlmeSBjbGFzcyBwYXR0ZXJucyBp biBjYXNlIHN0YXRlbWVudDogY2FzZSBbVGVtcEMoKSB8IGJ5dGVzKGIpXTo8L2Rpdj48ZGl2Pkhp Z2hsaWdodCB0aGUgc2Vjb25kIGFyZ3VtZW50IGFzIGEgdHlwZSBpbiBpc2luc3RhbmNlL2lzc3Vi Y2xhc3MgY2FsbDo8L2Rpdj48ZGl2PmlzaW5zdGFuY2UodmFyMiwgKHN0ciwgZGljdCwgVHlwZTEp KTsgaXNzdWJjbGFzcyh2YXIxLCBpbnR8c3RyKTwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PkZvciBh bGwgZG90dGVkIG5hbWVzIG9mIGEgdHlwZSBoaWdobGlnaHQgb25seSB0aGUgbGFzdCBwYXJ0IG9m IHRoZSBuYW1lLDwvZGl2PjxkaXY+ZS5nLiBjb2xsZWN0aW9ucy5hYmMuSXRlcmF0b3IuPC9kaXY+ PGRpdj7CoDwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2PmRlY29yYXRvciBmZWF0dXJlOjwvZGl2Pjxk aXY+SGlnaGxpZ2h0IGRvdHRlZCBuYW1lczogQHB5dGVzdC5tYXJrLnNraXA8L2Rpdj48ZGl2PkZ1 bmN0aW9uIHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LWRvdHRlZC1kZWNvcmF0b3IgaXRlcmF0ZXMg b3ZlciBhbGwgbmVzdGVkIGF0dHJpYnV0ZSBub2RlcyBhbmQgaGlnaGxpZ2h0IGlkZW50aWZpZXIg bm9kZXMuPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+V2hlbiBmb250LWxvY2stbGV2ZWwgaXMgc2V0 IDQsIGBza2lwYCBoYWQgZnVuY3Rpb24tY2FsbCBmYWNlIGluOiBAcHl0ZXN0Lm1hcmsuc2tpcChy ZWFzb249J3QnKTwvZGl2PjxkaXY+QWRkIGA6b3ZlcnJpZGUgdGAgdG8gZGVjb3JhdG9yIGZlYXR1 cmUgdG8gb3ZlcnJpZGUgZnVuY3Rpb24tY2FsbCBmYWNlLjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2 PsKgPC9kaXY+PGRpdj5zdHJpbmcgZmVhdHVyZTo8L2Rpdj48ZGl2PkVuYWJsZSBpbnRlcnBvbGF0 aW9uIGhpZ2hsaWdodGluZyBvbmx5IGlmIHN0cmluZy1pbnRlcnBvbGF0aW9uIGlzIHByZXNlbnRl ZCBvbiB0aGUgdGhpcmQgbGV2ZWwgb2YgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0Ljwv ZGl2PjxkaXY+Rml4IGZvbnRpZmljYXRpb24gb2Ygc3RyaW5ncyBpbnNpZGUgb2YgZi1zdHJpbmdz IGludGVycG9sYXRpb24sPC9kaXY+PGRpdj5lLmcuIGZvciBmImJlZyB7J25lc3RlZCd9IiAtICdu ZXN0ZWQnIHdhcyBub3QgZm9udGlmaWVkIGFzIHN0cmluZy48L2Rpdj48ZGl2PsKgPC9kaXY+PGRp dj7CoDwvZGl2PjxkaXY+ZnVuY3Rpb24gZmVhdHVyZTo8L2Rpdj48ZGl2PkRvIG5vdCBvdmVycmlk ZSB0aGUgZmFjZSBvZiBidWlsdGluIGZ1bmN0aW9ucyAoYWxsLCBieXRlcyBldGMuKSB3aXRoPC9k aXY+PGRpdj50aGUgZnVuY3Rpb24gY2FsbCBmYWNlPC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+wqA8 L2Rpdj48ZGl2PmtleXdvcmQgZmVhdHVyZTo8L2Rpdj48ZGl2PkFkZCAiaXMgbm90IsKgIHRvIHRo ZSBgcHl0aG9uLS10cmVlc2l0LWtleXdvcmRzYCBsaXN0LjwvZGl2PjxkaXY+wqA8L2Rpdj48ZGl2 PsKgPC9kaXY+PC9kaXY+PGRpdj7CoDwvZGl2PjxkaXY+MTEuMTIuMjAyMywgMTA6MTAsICJZdWFu IEZ1IiAmbHQ7Y2Fzb3VyaUBnbWFpbC5jb20mZ3Q7OjwvZGl2PjxibG9ja3F1b3RlPjxwPjxiciAv PjxiciAvPk9uIDEyLzEwLzIzIDQ6MDAgUE0sIERtaXRyeSBHdXRvdiB3cm90ZTo8L3A+PGJsb2Nr cXVvdGU+wqBPbiAxMC8xMi8yMDIzIDE0OjA0LCBEZW5pcyBadWJhcmV2IHdyb3RlOjxibG9ja3F1 b3RlPsKgwqAmZ3Q7IEFyZ3VhYmx5LCB0aGUgbGFzdCAyIGxpbmVzIGFyZSAidmFyaWFibGUgcmVm ZXJlbmNlcyIgcmF0aGVyIHRoYW48YnIgLz7CoGRlZmluaXRpb25zPGJyIC8+wqBgdmFyIDo9IDNg IMKgaXMgYXNzaWdubWVudCBleHByZXNzaW9ucy4gSXQgYWxsb3dzIHZhcmlhYmxlIGFzc2lnbm1l bnRzPGJyIC8+wqB0byBvY2N1ciBpbnNpZGUgb2YgbGFyZ2VyIGV4cHJlc3Npb25zLiBGb3IgZXhh bXBsZSBgaWYgKG1hdGNoIDo9PGJyIC8+wqBwYXR0ZXJuLnNlYXJjaChkYXRhKSkgaXMgbm90IE5v bmU6YC48YnIgLz7CoEl0IG1vc3RseSB1c2VkIHRvIGRlZmluZSBuZXcgdmFyaWFibGVzIGFuZCBh Y3Qgb24gdGhlbSBpZiBzb21lPGJyIC8+wqBjb25kaXRpb24gaXMgbWV0LjwvYmxvY2txdW90ZT48 YnIgLz7CoEFoLCB0aGFua3MhIFRoaXMgZmVhdHVyZSBpcyBuZXdlciB0aGFuIG15IHdvcmtpbmcg ZXhwZXJpZW5jZSB3aXRoIFB5dGhvbi48YnIgLz7CoDxibG9ja3F1b3RlPsKgTXkgcmF0aW9uYWxl IGZvciBgdmFyICo9IDNgIHdhcyB0aGF0IGl0IGlzIHNob3J0aGFuZCBmb3IgYHZhciA9IHZhciAq PGJyIC8+wqAzYCBhbmQgY3VycmVudGx5IHRoZSBgdmFyYCBvbiB0aGUgbGVmdCBoYW5kIHNpZGUg aXMgZm9udGlmaWVkIHdpdGg8YnIgLz7CoGBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlYC48 L2Jsb2NrcXVvdGU+PGJyIC8+wqBJIHRoaW5rIGlkZWFsbHksIGluIGNhc2VzIHdoZW4gInZhciA9 IiBpcyBub3QgdGhlIGZpcnN0IG9jY3VycmVuY2UgZm9yPGJyIC8+wqB0aGUgc2FtZSB2YXIgaW4g YSBnaXZlbiBzY29wZSwgd2Ugd291bGRuJ3QgaGlnaGxpZ2h0IGl0IGFzPGJyIC8+wqAiZGVmaW5p dGlvbiIgZWl0aGVyLjxiciAvPjxiciAvPsKgU3BlYWtpbmcgb2YgZm9udC1sb2NrLXZhcmlhYmxl LXVzZS1mYWNlLCBJIHRoaW5rIGl0IHdvdWxkIGJlIG1vc3Q8YnIgLz7CoHVzZWZ1bCBpZiBpdCBo ZWxwZWQgd2l0aCBub3RpY2luZyB0eXBvcyAobWVhbmluZywgaXQgd291bGQgb25seSBiZTxiciAv PsKgdXNlZCBmb3IgcmVmZXJlbmNlcyB0byB2YXJpYWJsZXMgdGhhdCBoYXZlIGJlZW4gZGVmaW5l ZCBwcmV2aW91c2x5LDxiciAvPsKgYWNjb3JkaW5nIHRvIHRoZSBydWxlcyBvZiB0aGUgbGFuZ3Vh Z2UpLiBCdXQgZm9yIHRoYXQgd2Ugc3RpbGwgbmVlZCB0bzxiciAvPsKgaW1wbGVtZW50IHRoZSBz Y29wZSB0cmFja2luZy4gQW5kIGJlZm9yZSB0aGF0LCB3ZWxsLCBteSBwZXJzb25hbDxiciAvPsKg cHJlZmVyZW5jZSBpcyBub3QgdG8gaGlnaGxpZ2h0IHRoZSByZWZlcmVuY2VzIGF0IGFsbCwgYnV0 IG9waW5pb25zPGJyIC8+wqBkaWZmZXIuPC9ibG9ja3F1b3RlPjxwPlBlcnNvbmFsbHkgSSByZWdh cmQgdGhlICJhc3NpZ25tZW50IiBmZWF0dXJlIHRvIG1lYW4gImFueSBhc3NpZ25tZW50Iiw8YnIg Lz5yYXRoZXIgdGhhbiBkZWZpbml0aW9uLiBCdXQgdGhhdCdzIGp1c3QgbWUuIEZvciBteSBwZXJz b25hbCB0YXN0ZSwgSTxiciAvPndvdWxkIG1ha2UgKj0gYWx3YXlzIGhpZ2hsaWdodCBpdHMgTEhT LjwvcD48YmxvY2txdW90ZT48YmxvY2txdW90ZT7CoEkgd2FudGVkIHNob3J0aGFuZCBmb3JtIHRv IGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgZnVsbCBmb3JtLjxiciAvPsKgWW91ciBwb2ludCBtYWtl cyBzZW5zZSB0b28sIEkgZG9uJ3QgaGF2ZSBzdHJvbmcgb3BpbmlvbiBhYm91dCB0aGlzLjxiciAv PsKgQWxzbyBJJ20gbm90IHN1cmUgbm93IGFib3V0IGB2YXJbaWldID0gMWAsIHNpbmNlIGl0IGlz IGFjdHVhbGx5PGJyIC8+wqBhY2Nlc3NpbmcgdGhlIGxpc3Qgb3IgZGljdGlvbmFyeSBlbGVtZW50 IGFuZDxiciAvPsKgYGZvbnQtbG9jay12YXJpYWJsZS11c2UtZmFjZWAgbWF5IHN1aXQgYmV0dGVy IGhlcmUuPC9ibG9ja3F1b3RlPjxiciAvPsKgWWVwLiBUbyBzdW0gdXAsIEkgd291bGQgYWRkIGhp Z2hsaWdodGluZyB0byB5b3VyIGV4YW1wbGVzIGBmb3IgdmFyIGluPGJyIC8+wqByYW5nZSgzKWAg YW5kIGB2YXIgOj0gM2AgYnV0IG5vdCBvdGhlcnMuPC9ibG9ja3F1b3RlPjxwPklNSE8sIGZvciB0 aGUgYXNzaWdubWVudCBmZWF0dXJlLCB3ZSBzaG91bGQgc3RpY2sgdG8gdGhlIG5hcnJvdzxiciAv PmRlZmluaXRpb24gb2YgYXNzaWdubWVudHMsIGllLCBhbnl0aGluZyB0aGF0IGxvb2tzIGxpa2Ug ImEgPSBiIi4gVGhpbmdzPGJyIC8+bGlrZSAiZm9yIHZhciBpbiByYW5nZSgzKSIgY291bGQgYmUg aGlnaGxpZ2h0ZWQgYnkgdmFyaWFibGUgZmVhdHVyZSwgSTxiciAvPnRoaW5rLjxiciAvPjxiciAv PkFuZCBmb3IgdmFyW2ldID0gMSwgSSBkb24ndCBrbm93IGVpdGhlci4gSSB0aGluayBJIGRlY2lk ZWQgdG8gbm90PGJyIC8+Zm9udGlmeSBpdCBiYWNrIHRoZW4sIGJ1dCBpdCB3YXNuJ3QgYmFzZWQg b24gYW55IHN0cm9uZyByZWFzb25pbmcuPC9wPjxibG9ja3F1b3RlPjxibG9ja3F1b3RlPsKgUXVl c3Rpb24gYWJvdXQgbmV3IGNoYW5nZXMuPGJyIC8+wqBTaG91bGQgSSBwdXNoIHRoZW0gdG8gdGhp cyBwYXRjaCBhbmQgcHJvdmlkZSBkZXNjcmlwdGlvbiBvZiBuZXcgY2hhbmdlcyw8YnIgLz7CoG9y IGl0IHdvdWxkIGJlIGJldHRlciB0byB3YWl0IGZvciByZXZpZXcgYW5kIHNlbmQgdGhlbSBhcyBu ZXcgcGF0Y2g/PC9ibG9ja3F1b3RlPjxiciAvPsKgSSBzdWdnZXN0IHNlbmRpbmcgYW4gdXBkYXRl ZCBwYXRjaCBmb3IgcmV2aWV3IGluIHRoaXMgY2FzZSwgYnV0IHlvdTxiciAvPsKgY2FuIGFsc28g d2FpdCBmb3IgWXVhbidzIGNvbW1lbnRzIGZpcnN0LjxiciAvPsKgPC9ibG9ja3F1b3RlPjxwPklm IHlvdSBjYW4gY29uc29saWRhdGUgZXZlcnl0aGluZyBpbnRvIGEgc2luZ2xlIHBhdGNoLCBhbmQg cGFpciBpdCB3aXRoPGJyIC8+YSBzdW1tYXJ5LCB0aGF0J2xsIGJlIGEgZ3JlYXQgYWlkIHRvIG1l LiBBbHNvLCBpbiBjYXNlIHlvdSBkb24ndCBrbm93PGJyIC8+eWV0LCB3ZSBmb2xsb3cgY2VydGFp biBmb3JtYXQgZm9yIGNvbW1pdCBtZXNzYWdlcywgeW91IGNhbiBjaGVjayBpdCBvdXQ8YnIgLz5p biB0aGUgQ09OVFJJQlVURSBmaWxlLCAiQ29tbWl0IG1lc3NhZ2VzIiBzZWN0aW9uLjxiciAvPjxi ciAvPll1YW48YnIgLz7CoDwvcD48L2Jsb2NrcXVvdGU+ ------==--bound.277746.pyij2bcyucz6ldu4.iva.yp-c.yandex.net Content-Disposition: attachment; filename="0003-Improve-syntax-highlighting-for-python-ts-mode.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name="0003-Improve-syntax-highlighting-for-python-ts-mode.patch" RnJvbSBlNWVjOGYzMGM0OTZjN2YyODBlMzIwY2FiOWIwMTMxMTdjOGI0MTM1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEZW5pcyBadWJhcmV2IDxkdnp1YmFyZXZAeWFuZGV4LnJ1PgpE YXRlOiBTYXQsIDExIE5vdiAyMDIzIDA0OjU1OjQ0ICswMzAwClN1YmplY3Q6IFtQQVRDSF0gSW1w cm92ZSBzeW50YXggaGlnaGxpZ2h0aW5nIGZvciBweXRob24tdHMtbW9kZQoKRml4IGZvbnRpZmlj YXRpb24gb2Ygc3RyaW5ncyBpbnNpZGUgb2YgZi1zdHJpbmdzIGludGVycG9sYXRpb24sIGUuZy4g Zm9yCmYiYmVnIHsnbmVzdGVkJ30iIC0gJ25lc3RlZCcgd2FzIG5vdCBmb250aWZpZWQgYXMgc3Ry aW5nLiAgRG8gbm90Cm92ZXJyaWRlIHRoZSBmYWNlIG9mIGJ1aWx0aW4gZnVuY3Rpb25zIChhbGws IGJ5dGVzIGV0Yy4pIHdpdGggdGhlCmZ1bmN0aW9uIGNhbGwgZmFjZS4gIEFkZCBtaXNzaW5nIGFz c2lnbm1lbnQgZXhwcmVzc2lvbnMgKDo9ICo9KS4KSGlnaGxpZ2h0IHZhcmlhYmxlcyBkZWZpbmVk IGluIGZvciBsb29wIChmb3IgdmFyMSwgdmFyMiBpbiApLiAgRm9udGlmeQpidWlsdC1pbnMgKGRp Y3QsbGlzdCxldGMuKSBhcyB0eXBlcyB3aGVuIHRoZXkgYXJlIHVzZWQgaW4gdHlwZSBoaW50cy4K SGlnaGxpZ2h0IHVuaW9uIHR5cGVzICh0eXBlMXx0eXBlMikuICBIaWdobGlnaHQgYmFzZSBjbGFz cyBuYW1lcyBpbiB0aGUKY2xhc3MgZGVmaW5pdGlvbi4gIEZvbnRpZnkgY2xhc3MgcGF0dGVybnMg aW4gY2FzZSBzdGF0ZW1lbnQuIEhpZ2hsaWdodAp0aGUgc2Vjb25kIGFyZ3VtZW50IGFzIGEgdHlw ZSBpbiBpc2luc3RhbmNlL2lzc3ViY2xhc3MgY2FsbC4gSGlnaGxpZ2h0CmRvdHRlZCBkZWNvcmF0 b3IgbmFtZXMuCgoqIGxpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbCAocHl0aG9uLS10cmVlc2l0LWtl eXdvcmRzKTogQWRkIGNvbXBvdW5kCmtleXdvcmQgImlzIG5vdCIuCihweXRob24tLXRyZWVzaXQt Zm9udGlmeS1zdHJpbmcpOiBmaXggZi1zdHJpbmcgaW50ZXJwb2xhdGlvbi4gRW5hYmxlCmludGVy cG9sYXRpb24gaGlnaGxpZ2h0aW5nIG9ubHkgaWYgc3RyaW5nLWludGVycG9sYXRpb24gaXMgcHJl c2VudGVkIG9uCnRoZSB0aGlyZCBsZXZlbCBvZiB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJlLWxp c3QuCihweXRob24tLXRyZWVzaXQtZm9udGlmeS1zdHJpbmctaW50ZXJwb2xhdGlvbik6IFJlbW92 ZSBmdW5jdGlvbi4KKHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LXVuaW9uLXR5cGVzKTogRm9udGlm eSBuZXN0ZWQgdW5pb24gdHlwZXMuCihweXRob24tLXRyZWVzaXQtZm9udGlmeS1kb3R0ZWQtZGVj b3JhdG9yKTogRm9udGlmeSBhbGwgcGFydHMgb2YKZG90dGVkIGRlY29yYXRvciBuYW1lLgoocHl0 aG9uLS10cmVlc2l0LXNldHRpbmdzKTogQ2hhbmdlL2FkZCBydWxlcy4KKiB0ZXN0L2xpc3AvcHJv Z21vZGVzL3B5dGhvbi10ZXN0cy5lbCAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIp OgpmdW5jdGlvbiBmb3Igc2V0dGluZyB1cCB0ZXN0IGJ1ZmZlci4KKHB5dGhvbi10cy1tb2RlLWNv bXBvdW5kLWtleXdvcmRzLWZhY2UpCihweXRob24tdHMtbW9kZS12YXItZm9yLWxvb3AtZmFjZSkK KHB5dGhvbi10cy1tb2RlLW5hbWVkLWFzc2lnbmVtZW50LWZhY2UtMSkKKHB5dGhvbi10cy1tb2Rl LWFzc2lnbmVtZW50LWZhY2UtMikKKHB5dGhvbi10cy1tb2RlLW5lc3RlZC10eXBlcy1mYWNlLTEp CihweXRob24tdHMtbW9kZS11bmlvbi10eXBlcy1mYWNlLTEpCihweXRob24tdHMtbW9kZS11bmlv bi10eXBlcy1mYWNlLTIpCihweXRob24tdHMtbW9kZS10eXBlcy1mYWNlLTEpCihweXRob24tdHMt bW9kZS10eXBlcy1mYWNlLTIpCihweXRob24tdHMtbW9kZS10eXBlcy1mYWNlLTMpCihweXRob24t dHMtbW9kZS1pc2luc3RhbmNlLXR5cGUtZmFjZS0xKQoocHl0aG9uLXRzLW1vZGUtaXNpbnN0YW5j ZS10eXBlLWZhY2UtMikKKHB5dGhvbi10cy1tb2RlLXN1cGVyY2xhc3MtdHlwZS1mYWNlKQoocHl0 aG9uLXRzLW1vZGUtY2xhc3MtcGF0dGVybnMtZmFjZSkKKHB5dGhvbi10cy1tb2RlLWRvdHRlZC1k ZWNvcmF0b3ItZmFjZS0xKQoocHl0aG9uLXRzLW1vZGUtZG90dGVkLWRlY29yYXRvci1mYWNlLTIp CihweXRob24tdHMtbW9kZS1idWlsdGluLWNhbGwtZmFjZSkKKHB5dGhvbi10cy1tb2RlLWludGVy cG9sYXRpb24tbmVzdGVkLXN0cmluZykKKHB5dGhvbi10cy1tb2RlLWRpc2FibGVkLXN0cmluZy1p bnRlcnBvbGF0aW9uKQoocHl0aG9uLXRzLW1vZGUtaW50ZXJwb2xhdGlvbi1kb2Mtc3RyaW5nKTog QWRkIHRlc3RzLgotLS0KIGxpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbCAgICAgICAgICAgIHwgMTgy ICsrKysrKysrKysrKystLS0tLQogdGVzdC9saXNwL3Byb2dtb2Rlcy9weXRob24tdGVzdHMuZWwg fCAyNzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA0MTMg aW5zZXJ0aW9ucygrKSwgNDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9wcm9nbW9k ZXMvcHl0aG9uLmVsIGIvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLmVsCmluZGV4IGFiM2JmMWI0ZWMu LmJhY2IwNzc2ZjAgMTAwNjQ0Ci0tLSBhL2xpc3AvcHJvZ21vZGVzL3B5dGhvbi5lbAorKysgYi9s aXNwL3Byb2dtb2Rlcy9weXRob24uZWwKQEAgLTk3OSw3ICs5NzksNyBAQCBweXRob24tLXRyZWVz aXQta2V5d29yZHMKICAgICAicmFpc2UiICJyZXR1cm4iICJ0cnkiICJ3aGlsZSIgIndpdGgiICJ5 aWVsZCIKICAgICA7OyBUaGVzZSBhcmUgdGVjaG5pY2FsbHkgb3BlcmF0b3JzLCBidXQgd2UgZm9u dGlmeSB0aGVtIGFzCiAgICAgOzsga2V5d29yZHMuCi0gICAgImFuZCIgImluIiAiaXMiICJub3Qi ICJvciIgIm5vdCBpbiIpKQorICAgICJhbmQiICJpbiIgImlzIiAibm90IiAib3IiICJub3QgaW4i ICJpcyBub3QiKSkKIAogKGRlZnZhciBweXRob24tLXRyZWVzaXQtYnVpbHRpbnMKICAgJygiYWJz IiAiYWxsIiAiYW55IiAiYXNjaWkiICJiaW4iICJib29sIiAiYnJlYWtwb2ludCIgImJ5dGVhcnJh eSIKQEAgLTEwNDIsOSArMTA0Miw3IEBAIHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LXN0cmluZwog Zi1zdHJpbmdzLiAgT1ZFUlJJREUgaXMgdGhlIG92ZXJyaWRlIGZsYWcgZGVzY3JpYmVkIGluCiBg dHJlZXNpdC1mb250LWxvY2stcnVsZXMnLiAgU1RBUlQgYW5kIEVORCBtYXJrIHRoZSByZWdpb24g dG8gYmUKIGZvbnRpZmllZC4iCi0gIChsZXQqICgoc3RyaW5nLWJlZyAodHJlZXNpdC1ub2RlLXN0 YXJ0IG5vZGUpKQotICAgICAgICAgKHN0cmluZy1lbmQgKHRyZWVzaXQtbm9kZS1lbmQgbm9kZSkp Ci0gICAgICAgICAobWF5YmUtZXhwcmVzc2lvbiAodHJlZXNpdC1ub2RlLXBhcmVudCBub2RlKSkK KyAgKGxldCogKChtYXliZS1leHByZXNzaW9uICh0cmVlc2l0LW5vZGUtcGFyZW50IG5vZGUpKQog ICAgICAgICAgKGdyYW5kcGFyZW50ICh0cmVlc2l0LW5vZGUtcGFyZW50CiAgICAgICAgICAgICAg ICAgICAgICAgICh0cmVlc2l0LW5vZGUtcGFyZW50CiAgICAgICAgICAgICAgICAgICAgICAgICBt YXliZS1leHByZXNzaW9uKSkpCkBAIC0xMDcyLDI4ICsxMDcwLDc2IEBAIHB5dGhvbi0tdHJlZXNp dC1mb250aWZ5LXN0cmluZwogICAgICAgICAgICAgICAgICAgICAgICAgKGVxdWFsICh0cmVlc2l0 LW5vZGUtdHlwZSBtYXliZS1leHByZXNzaW9uKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICJleHByZXNzaW9uX3N0YXRlbWVudCIpKQogICAgICAgICAgICAgICAgICAgICdmb250LWxv Y2stZG9jLWZhY2UKLSAgICAgICAgICAgICAgICAgJ2ZvbnQtbG9jay1zdHJpbmctZmFjZSkpKQot ICAgIDs7IERvbid0IGhpZ2hsaWdodCBzdHJpbmcgcHJlZml4ZXMgbGlrZSBmL3IvYi4KLSAgICAo c2F2ZS1leGN1cnNpb24KLSAgICAgIChnb3RvLWNoYXIgc3RyaW5nLWJlZykKLSAgICAgICh3aGVu IChyZS1zZWFyY2gtZm9yd2FyZCAiW1wiJ10iIHN0cmluZy1lbmQgdCkKLSAgICAgICAgKHNldHEg c3RyaW5nLWJlZyAobWF0Y2gtYmVnaW5uaW5nIDApKSkpCi0gICAgKHRyZWVzaXQtZm9udGlmeS13 aXRoLW92ZXJyaWRlCi0gICAgIHN0cmluZy1iZWcgc3RyaW5nLWVuZCBmYWNlIG92ZXJyaWRlIHN0 YXJ0IGVuZCkpKQotCi0oZGVmdW4gcHl0aG9uLS10cmVlc2l0LWZvbnRpZnktc3RyaW5nLWludGVy cG9sYXRpb24KLSAgICAobm9kZSBfIHN0YXJ0IGVuZCAmcmVzdCBfKQotICAiRm9udGlmeSBzdHJp bmcgaW50ZXJwb2xhdGlvbi4KLU5PREUgaXMgdGhlIHN0cmluZyBub2RlLiAgRG8gbm90IGZvbnRp ZnkgdGhlIGluaXRpYWwgZiBmb3IKLWYtc3RyaW5ncy4gIFNUQVJUIGFuZCBFTkQgbWFyayB0aGUg cmVnaW9uIHRvIGJlCisgICAgICAgICAgICAgICAgICdmb250LWxvY2stc3RyaW5nLWZhY2UpKQor CisgICAgICAgICAoaWdub3JlLWludGVycG9sYXRpb24gKG5vdCAobWVtcSAnc3RyaW5nLWludGVy cG9sYXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChudGgg MiB0cmVlc2l0LWZvbnQtbG9jay1mZWF0dXJlLWxpc3QpKSkpCisgICAgICAgICA7OyBJZiBpbnRl cnBvbGF0aW9uIGlzIGVuYWJsZWQsIGhpZ2hsaWdodCBvbmx5CisgICAgICAgICA7OyBzdHJpbmdf c3RhcnQvc3RyaW5nX2NvbnRlbnQvc3RyaW5nX2VuZCBjaGlsZHJlbi4gIERvIG5vdAorICAgICAg ICAgOzsgdG91Y2ggaW50ZXJwb2xhdGlvbiBub2RlIHRoYXQgY2FuIG9jY3VyIGluc2lkZSBvZiB0 aGUKKyAgICAgICAgIDs7IHN0cmluZy4KKyAgICAgICAgIChzdHJpbmctbm9kZXMgKGlmIGlnbm9y ZS1pbnRlcnBvbGF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBub2RlKQor ICAgICAgICAgICAgICAgICAgICAgICAgICh0cmVlc2l0LWZpbHRlci1jaGlsZAorICAgICAgICAg ICAgICAgICAgICAgICAgICBub2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEg KGNoKSAobWVtYmVyICh0cmVlc2l0LW5vZGUtdHlwZSBjaCkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJygic3RyaW5nX3N0YXJ0IgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzdHJpbmdfY29udGVudCIKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic3RyaW5nX2Vu ZCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgdCkpKSkKKworICAgIChkb2xpc3QgKHN0 cmluZy1ub2RlIHN0cmluZy1ub2RlcykKKyAgICAgIChsZXQgKChzdHJpbmctYmVnICh0cmVlc2l0 LW5vZGUtc3RhcnQgc3RyaW5nLW5vZGUpKQorICAgICAgICAgICAgKHN0cmluZy1lbmQgKHRyZWVz aXQtbm9kZS1lbmQgc3RyaW5nLW5vZGUpKSkKKyAgICAgICAgKHdoZW4gKG9yIGlnbm9yZS1pbnRl cnBvbGF0aW9uCisgICAgICAgICAgICAgICAgICAoZXF1YWwgKHRyZWVzaXQtbm9kZS10eXBlIHN0 cmluZy1ub2RlKSAic3RyaW5nX3N0YXJ0IikpCisgICAgICAgICAgOzsgRG9uJ3QgaGlnaGxpZ2h0 IHN0cmluZyBwcmVmaXhlcyBsaWtlIGYvci9iLgorICAgICAgICAgIChzYXZlLWV4Y3Vyc2lvbgor ICAgICAgICAgICAgKGdvdG8tY2hhciBzdHJpbmctYmVnKQorICAgICAgICAgICAgKHdoZW4gKHJl LXNlYXJjaC1mb3J3YXJkICJbXCInXSIgc3RyaW5nLWVuZCB0KQorICAgICAgICAgICAgICAoc2V0 cSBzdHJpbmctYmVnIChtYXRjaC1iZWdpbm5pbmcgMCkpKSkpCisKKyAgICAgICAgKHRyZWVzaXQt Zm9udGlmeS13aXRoLW92ZXJyaWRlCisgICAgICAgICBzdHJpbmctYmVnIHN0cmluZy1lbmQgZmFj ZSBvdmVycmlkZSBzdGFydCBlbmQpKSkpKQorCisoZGVmdW4gcHl0aG9uLS10cmVlc2l0LWZvbnRp ZnktdW5pb24tdHlwZXMgKG5vZGUgb3ZlcnJpZGUgc3RhcnQgZW5kICZyZXN0IF8pCisgICJGb250 aWZ5IG5lc3RlZCB1bmlvbiB0eXBlcyBpbiB0aGUgdHlwZSBoaW50cy4KK0ZvciBleGFtbHBlLCBM dmwxIHwgTHZsMltMdmwzW0x2bDRbTHZsNSB8IE5vbmVdXSwgTHZsMl0uICBUaGlzCitzdHJ1Y3R1 cmUgaXMgcmVwcmVzZW50ZWQgdmlhIG5lc3RpbmcgYmluYXJ5X29wZXJhdG9yIGFuZAorc3Vic2Ny aXB0IG5vZGVzLiAgVGhpcyBmdW5jdGlvbiBpdGVyYXRlcyBvdmVyIGFsbCBsZXZlbHMgYW5kCito aWdobGlnaHQgaWRlbnRpZmllciBub2Rlcy4gIE5PREUgaXMgdGhlIGJpbmFyeV9vcGVyYXRvcgor bm9kZS4gIE9WRVJSSURFIGlzIHRoZSBvdmVycmlkZSBmbGFnIGRlc2NyaWJlZCBpbgorYHRyZWVz aXQtZm9udC1sb2NrLXJ1bGVzJy4gIFNUQVJUIGFuZCBFTkQgbWFyayB0aGUgcmVnaW9uIHRvIGJl Citmb250aWZpZWQuIgorICAoZG9saXN0IChjaGlsZCAodHJlZXNpdC1ub2RlLWNoaWxkcmVuIG5v ZGUgdCkpCisgICAgKHBjYXNlICh0cmVlc2l0LW5vZGUtdHlwZSBjaGlsZCkKKyAgICAgICgob3Ig ImlkZW50aWZpZXIiICJub25lIikKKyAgICAgICAodHJlZXNpdC1mb250aWZ5LXdpdGgtb3ZlcnJp ZGUKKyAgICAgICAgKHRyZWVzaXQtbm9kZS1zdGFydCBjaGlsZCkgKHRyZWVzaXQtbm9kZS1lbmQg Y2hpbGQpCisgICAgICAgICdmb250LWxvY2stdHlwZS1mYWNlIG92ZXJyaWRlIHN0YXJ0IGVuZCkp CisgICAgICAoImF0dHJpYnV0ZSIKKyAgICAgICAod2hlbi1sZXQgKCh0eXBlLW5vZGUgKHRyZWVz aXQtbm9kZS1jaGlsZC1ieS1maWVsZC1uYW1lIGNoaWxkICJhdHRyaWJ1dGUiKSkpCisgICAgICAg ICAodHJlZXNpdC1mb250aWZ5LXdpdGgtb3ZlcnJpZGUKKyAgICAgICAgICAodHJlZXNpdC1ub2Rl LXN0YXJ0IHR5cGUtbm9kZSkgKHRyZWVzaXQtbm9kZS1lbmQgdHlwZS1ub2RlKQorICAgICAgICAg ICdmb250LWxvY2stdHlwZS1mYWNlIG92ZXJyaWRlIHN0YXJ0IGVuZCkpKQorICAgICAgKChvciAi YmluYXJ5X29wZXJhdG9yIiAic3Vic2NyaXB0IikKKyAgICAgICAocHl0aG9uLS10cmVlc2l0LWZv bnRpZnktdW5pb24tdHlwZXMgY2hpbGQgb3ZlcnJpZGUgc3RhcnQgZW5kKSkpKSkKKworKGRlZnVu IHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LWRvdHRlZC1kZWNvcmF0b3IgKG5vZGUgb3ZlcnJpZGUg c3RhcnQgZW5kICZyZXN0IF8pCisgICJGb250aWZ5IGRvdHRlZCBkZWNvcmF0b3JzLgorRm9yIGV4 YW1wbGUgQHB5dGVzLm1hcmsuc2tpcC4gIEl0ZXJhdGUgb3ZlciBhbGwgbmVzdGVkIGF0dHJpYnV0 ZQorbm9kZXMgYW5kIGhpZ2hsaWdodCBpZGVudGlmaWVyIG5vZGVzLiAgTk9ERSBpcyB0aGUgZmly c3QgYXR0cmlidXRlCitub2RlLiAgT1ZFUlJJREUgaXMgdGhlIG92ZXJyaWRlIGZsYWcgZGVzY3Jp YmVkIGluCitgdHJlZXNpdC1mb250LWxvY2stcnVsZXMnLiAgU1RBUlQgYW5kIEVORCBtYXJrIHRo ZSByZWdpb24gdG8gYmUKIGZvbnRpZmllZC4iCi0gIDs7IFRoaXMgaXMga2luZCBvZiBhIGhhY2ss IGl0IGJhc2ljYWxseSByZW1vdmVzIHRoZSBmYWNlIGFwcGxpZWQgYnkKLSAgOzsgdGhlIHN0cmlu ZyBmZWF0dXJlLCBzbyB0aGF0IGZvbGxvd2luZyBmZWF0dXJlcyBjYW4gYXBwbHkgdGhlaXIKLSAg OzsgZmFjZS4KLSAgKGxldCAoKG4tc3RhcnQgKHRyZWVzaXQtbm9kZS1zdGFydCBub2RlKSkKLSAg ICAgICAgKG4tZW5kICh0cmVlc2l0LW5vZGUtZW5kIG5vZGUpKSkKLSAgICAocmVtb3ZlLXRleHQt cHJvcGVydGllcwotICAgICAobWF4IHN0YXJ0IG4tc3RhcnQpIChtaW4gZW5kIG4tZW5kKSAnKGZh Y2UpKSkpCisgIChkb2xpc3QgKGNoaWxkICh0cmVlc2l0LW5vZGUtY2hpbGRyZW4gbm9kZSB0KSkK KyAgICAocGNhc2UgKHRyZWVzaXQtbm9kZS10eXBlIGNoaWxkKQorICAgICAgKCJpZGVudGlmaWVy IgorICAgICAgICh0cmVlc2l0LWZvbnRpZnktd2l0aC1vdmVycmlkZQorICAgICAgICAodHJlZXNp dC1ub2RlLXN0YXJ0IGNoaWxkKSAodHJlZXNpdC1ub2RlLWVuZCBjaGlsZCkKKyAgICAgICAgJ2Zv bnQtbG9jay10eXBlLWZhY2Ugb3ZlcnJpZGUgc3RhcnQgZW5kKSkKKyAgICAgICgiYXR0cmlidXRl IgorICAgICAgIChweXRob24tLXRyZWVzaXQtZm9udGlmeS1kb3R0ZWQtZGVjb3JhdG9yIGNoaWxk IG92ZXJyaWRlIHN0YXJ0IGVuZCkpKSkpCiAKIChkZWZ2YXIgcHl0aG9uLS10cmVlc2l0LXNldHRp bmdzCiAgICh0cmVlc2l0LWZvbnQtbG9jay1ydWxlcwpAQCAtMTEwMywxNCArMTE0OSw5IEBAIHB5 dGhvbi0tdHJlZXNpdC1zZXR0aW5ncwogCiAgICA6ZmVhdHVyZSAnc3RyaW5nCiAgICA6bGFuZ3Vh Z2UgJ3B5dGhvbgotICAgJygoc3RyaW5nKSBAcHl0aG9uLS10cmVlc2l0LWZvbnRpZnktc3RyaW5n KQorICAgJygoc3RyaW5nKSBAcHl0aG9uLS10cmVlc2l0LWZvbnRpZnktc3RyaW5nCisgICAgIChp bnRlcnBvbGF0aW9uIFsieyIgIn0iXSBAZm9udC1sb2NrLW1pc2MtcHVuY3R1YXRpb24tZmFjZSkp CiAKLSAgIDs7IEhBQ0s6IFRoaXMgZmVhdHVyZSBtdXN0IGNvbWUgYWZ0ZXIgdGhlIHN0cmluZyBm ZWF0dXJlIGFuZCBiZWZvcmUKLSAgIDs7IG90aGVyIGZlYXR1cmVzLiAgTWF5YmUgd2Ugc2hvdWxk IG1ha2Ugc3RyaW5nLWludGVycG9sYXRpb24gYW4KLSAgIDs7IG9wdGlvbiByYXRoZXIgdGhhbiBh IGZlYXR1cmUuCi0gICA6ZmVhdHVyZSAnc3RyaW5nLWludGVycG9sYXRpb24KLSAgIDpsYW5ndWFn ZSAncHl0aG9uCi0gICAnKChpbnRlcnBvbGF0aW9uKSBAcHl0aG9uLS10cmVlc2l0LWZvbnRpZnkt c3RyaW5nLWludGVycG9sYXRpb24pCiAKICAgIDpmZWF0dXJlICdrZXl3b3JkCiAgICA6bGFuZ3Vh Z2UgJ3B5dGhvbgpAQCAtMTEyNCwxNCArMTE2NSwxMCBAQCBweXRob24tLXRyZWVzaXQtc2V0dGlu Z3MKICAgICAgIG5hbWU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLWZ1bmN0aW9uLW5hbWUtZmFj ZSkKICAgICAgKGNsYXNzX2RlZmluaXRpb24KICAgICAgIG5hbWU6IChpZGVudGlmaWVyKSBAZm9u dC1sb2NrLXR5cGUtZmFjZSkKKyAgICAgKGZvcl9zdGF0ZW1lbnQgbGVmdDogKGlkZW50aWZpZXIp CisgICAgICAgICAgICAgICAgICAgIEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKQogICAg ICAocGFyYW1ldGVycyAoaWRlbnRpZmllcikgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2Up KQogCi0gICA6ZmVhdHVyZSAnZnVuY3Rpb24KLSAgIDpsYW5ndWFnZSAncHl0aG9uCi0gICAnKChj YWxsIGZ1bmN0aW9uOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1jYWxsLWZhY2Up Ci0gICAgIChjYWxsIGZ1bmN0aW9uOiAoYXR0cmlidXRlCi0gICAgICAgICAgICAgICAgICAgICAg YXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1jYWxsLWZhY2UpKSkK LQogICAgOmZlYXR1cmUgJ2J1aWx0aW4KICAgIDpsYW5ndWFnZSAncHl0aG9uCiAgICBgKCgoaWRl bnRpZmllcikgQGZvbnQtbG9jay1idWlsdGluLWZhY2UKQEAgLTExNDIsNiArMTE3OSwxMiBAQCBw eXRob24tLXRyZWVzaXQtc2V0dGluZ3MKICAgICAgICAgICAgICAgICAgICAgICBlb2wpKQogICAg ICAgICAgICAgICBAZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpKQogCisgICA6ZmVhdHVyZSAnZnVu Y3Rpb24KKyAgIDpsYW5ndWFnZSAncHl0aG9uCisgICAnKChjYWxsIGZ1bmN0aW9uOiAoaWRlbnRp ZmllcikgQGZvbnQtbG9jay1mdW5jdGlvbi1jYWxsLWZhY2UpCisgICAgIChjYWxsIGZ1bmN0aW9u OiAoYXR0cmlidXRlCisgICAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlOiAoaWRlbnRpZmll cikgQGZvbnQtbG9jay1mdW5jdGlvbi1jYWxsLWZhY2UpKSkKKwogICAgOmZlYXR1cmUgJ2NvbnN0 YW50CiAgICA6bGFuZ3VhZ2UgJ3B5dGhvbgogICAgJyhbKHRydWUpIChmYWxzZSkgKG5vbmUpXSBA Zm9udC1sb2NrLWNvbnN0YW50LWZhY2UpCkBAIC0xMTUzLDMwICsxMTk2LDczIEBAIHB5dGhvbi0t dHJlZXNpdC1zZXR0aW5ncwogICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5h bWUtZmFjZSkKICAgICAgKGFzc2lnbm1lbnQgbGVmdDogKGF0dHJpYnV0ZQogICAgICAgICAgICAg ICAgICAgICAgICAgYXR0cmlidXRlOiAoaWRlbnRpZmllcikKLSAgICAgICAgICAgICAgICAgICAg ICAgIEBmb250LWxvY2stcHJvcGVydHktdXNlLWZhY2UpKQotICAgICAocGF0dGVybl9saXN0IChp ZGVudGlmaWVyKQorICAgICAgICAgICAgICAgICAgICAgICAgQGZvbnQtbG9jay12YXJpYWJsZS1u YW1lLWZhY2UpKQorICAgICAoYXVnbWVudGVkX2Fzc2lnbm1lbnQgbGVmdDogKGlkZW50aWZpZXIp CisgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFj ZSkKKyAgICAgKG5hbWVkX2V4cHJlc3Npb24gbmFtZTogKGlkZW50aWZpZXIpCisgICAgICAgICAg ICAgICAgICAgICAgIEBmb250LWxvY2stdmFyaWFibGUtbmFtZS1mYWNlKQorICAgICAocGF0dGVy bl9saXN0IFsoaWRlbnRpZmllcikKKyAgICAgICAgICAgICAgICAgICAgKGxpc3Rfc3BsYXRfcGF0 dGVybiAoaWRlbnRpZmllcikpXQogICAgICAgICAgICAgICAgICAgIEBmb250LWxvY2stdmFyaWFi bGUtbmFtZS1mYWNlKQotICAgICAodHVwbGVfcGF0dGVybiAoaWRlbnRpZmllcikKKyAgICAgKHR1 cGxlX3BhdHRlcm4gWyhpZGVudGlmaWVyKQorICAgICAgICAgICAgICAgICAgICAgKGxpc3Rfc3Bs YXRfcGF0dGVybiAoaWRlbnRpZmllcikpXQogICAgICAgICAgICAgICAgICAgICBAZm9udC1sb2Nr LXZhcmlhYmxlLW5hbWUtZmFjZSkKLSAgICAgKGxpc3RfcGF0dGVybiAoaWRlbnRpZmllcikKLSAg ICAgICAgICAgICAgICAgICBAZm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkKLSAgICAgKGxp c3Rfc3BsYXRfcGF0dGVybiAoaWRlbnRpZmllcikKLSAgICAgICAgICAgICAgICAgICAgICAgICBA Zm9udC1sb2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpCisgICAgIChsaXN0X3BhdHRlcm4gWyhpZGVu dGlmaWVyKQorICAgICAgICAgICAgICAgICAgICAobGlzdF9zcGxhdF9wYXR0ZXJuIChpZGVudGlm aWVyKSldCisgICAgICAgICAgICAgICAgICAgQGZvbnQtbG9jay12YXJpYWJsZS1uYW1lLWZhY2Up KQogCiAgICA6ZmVhdHVyZSAnZGVjb3JhdG9yCiAgICA6bGFuZ3VhZ2UgJ3B5dGhvbgorICAgOzsg T3ZlcnJpZGUgZnVuY3Rpb24gY2FsbCBmYWNlLgorICAgOm92ZXJyaWRlIHQKICAgICcoKGRlY29y YXRvciAiQCIgQGZvbnQtbG9jay10eXBlLWZhY2UpCiAgICAgIChkZWNvcmF0b3IgKGNhbGwgZnVu Y3Rpb246IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFjZSkpCi0gICAgIChkZWNvcmF0 b3IgKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlKSkKKyAgICAgKGRlY29yYXRvciAo aWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UpCisgICAgIChkZWNvcmF0b3IgWyhhdHRy aWJ1dGUpIChjYWxsIChhdHRyaWJ1dGUpKV0gQHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5LWRvdHRl ZC1kZWNvcmF0b3IpKQogCiAgICA6ZmVhdHVyZSAndHlwZQogICAgOmxhbmd1YWdlICdweXRob24K KyAgIDs7IE92ZXJyaWRlIGJ1aWx0LWluIGZhY2VzIHdoZW4gZGljdC9saXN0IGFyZSB1c2VkIGZv ciB0eXBlIGhpbnRzLgorICAgOm92ZXJyaWRlIHQKICAgIGAoKChpZGVudGlmaWVyKSBAZm9udC1s b2NrLXR5cGUtZmFjZQogICAgICAgKDptYXRjaCAsKHJ4LXRvLXN0cmluZwogICAgICAgICAgICAg ICAgIGAoc2VxIGJvbCAob3IgLEBweXRob24tLXRyZWVzaXQtZXhjZXB0aW9ucykKLSAgICAgICAg ICAgICAgICAgICAgICBlb2wpKQorICAgICAgICAgICAgICAgICAgZW9sKSkKICAgICAgICAgICAg ICAgQGZvbnQtbG9jay10eXBlLWZhY2UpKQotICAgICAodHlwZSAoaWRlbnRpZmllcikgQGZvbnQt bG9jay10eXBlLWZhY2UpKQorICAgICAodHlwZSBbKGlkZW50aWZpZXIpIChub25lKV0gQGZvbnQt bG9jay10eXBlLWZhY2UpCisgICAgICh0eXBlIChhdHRyaWJ1dGUgYXR0cmlidXRlOiAoaWRlbnRp ZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UpKQorICAgICA7OyBXZSBkb24ndCB3YW50IHRvIGhp Z2hsaWdodCBhIHBhY2thZ2Ugb2YgdGhlIHR5cGUKKyAgICAgOzsgKGUuZy4gcGFjay5DbGFzc05h bWUpLiAgU28gZXhwbGljaXRseSBleGNsdWRlIHBhdHRlcm5zIHdpdGgKKyAgICAgOzsgYXR0cmli dXRlLCBzaW5jZSB3ZSBoYW5kbGUgZG90dGVkIHR5cGUgbmFtZSBpbiB0aGUgcHJldmlvdXMKKyAg ICAgOzsgcnVsZS4gIFRoZSBmb2xsb3dpbmcgcnVsZSBoYW5kbGUKKyAgICAgOzsgZ2VuZXJpY190 eXBlL2xpc3QvdHVwbGUvc3BsYXRfdHlwZSBub2Rlcy4KKyAgICAgKHR5cGUgKF8gIWF0dHJpYnV0 ZSBbKGlkZW50aWZpZXIpIChub25lKV0gQGZvbnQtbG9jay10eXBlLWZhY2UpKQorICAgICA7OyBj b2xsZWN0aW9ucy5hYmMuSXRlcmF0b3JbVF0gY2FzZS4KKyAgICAgKHR5cGUgKHN1YnNjcmlwdCAo YXR0cmlidXRlIGF0dHJpYnV0ZTogKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlKSkp CisgICAgIDs7IE5lc3RlZCBvcHRpb25hbCB0eXBlIGhpbnRzLCBlLmcuIHZhbDogTHZsMSB8IEx2 bDJbTHZsM1tMdmw0XV0uCisgICAgICh0eXBlIChiaW5hcnlfb3BlcmF0b3IpIEBweXRob24tLXRy ZWVzaXQtZm9udGlmeS11bmlvbi10eXBlcykKKyAgICAgOztjbGFzcyBUeXBlKEJhc2UxLCBTZXF1 ZW5jZVtUXSkuCisgICAgIChjbGFzc19kZWZpbml0aW9uCisgICAgICBzdXBlcmNsYXNzZXM6Cisg ICAgICAoYXJndW1lbnRfbGlzdCBbKGlkZW50aWZpZXIpIEBmb250LWxvY2stdHlwZS1mYWNlCisg ICAgICAgICAgICAgICAgICAgICAgKGF0dHJpYnV0ZSBhdHRyaWJ1dGU6IChpZGVudGlmaWVyKSBA Zm9udC1sb2NrLXR5cGUtZmFjZSkKKyAgICAgICAgICAgICAgICAgICAgICAoc3Vic2NyaXB0IChp ZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFjZSkKKyAgICAgICAgICAgICAgICAgICAgICAo c3Vic2NyaXB0IChhdHRyaWJ1dGUgYXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10 eXBlLWZhY2UpKV0pKQorCisgICAgIDs7IFBhdGVybiBtYXRjaGluZzogY2FzZSBbc3RyKCksIHBh Y2swLlR5cGUwKCldLiAgVGFrZSBvbmx5IHRoZQorICAgICA7OyBsYXN0IGlkZW50aWZpZXIuCisg ICAgIChjbGFzc19wYXR0ZXJuIChkb3R0ZWRfbmFtZSAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10 eXBlLWZhY2UgOmFuY2hvcikpCisKKworICAgICA7OyBIaWdobGlnaHQgdGhlIHNlY29uZCBhcmd1 bWVudCBhcyBhIHR5cGUgaW4gaXNpbnN0YW5jZS9pc3N1YmNsYXNzLgorICAgICAoKGNhbGwgZnVu Y3Rpb246IChpZGVudGlmaWVyKSBAZnVuYy1uYW1lCisgICAgICAgICAgICAoYXJndW1lbnRfbGlz dCA6YW5jaG9yIChfKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgWyhpZGVudGlmaWVyKSBA Zm9udC1sb2NrLXR5cGUtZmFjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhdHRyaWJ1 dGUgYXR0cmlidXRlOiAoaWRlbnRpZmllcikgQGZvbnQtbG9jay10eXBlLWZhY2UpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHR1cGxlIChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUt ZmFjZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAodHVwbGUgKGF0dHJpYnV0ZSBhdHRy aWJ1dGU6IChpZGVudGlmaWVyKSBAZm9udC1sb2NrLXR5cGUtZmFjZSkpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGJpbmFyeV9vcGVyYXRvcikgQHB5dGhvbi0tdHJlZXNpdC1mb250aWZ5 LXVuaW9uLXR5cGVzXSkpCisgICAgICAoOm1hdGNoICJeaXNcXCg/Omluc3RhbmNlXFx8c3ViY2xh c3NcXCkkIiBAZnVuYy1uYW1lKSkpCiAKICAgIDpmZWF0dXJlICdlc2NhcGUtc2VxdWVuY2UKICAg IDpsYW5ndWFnZSAncHl0aG9uCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvcHJvZ21vZGVzL3B5dGhv bi10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVsCmluZGV4IGE0 NGExMTg5NmYuLjg2MTNlZDg3MDIgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHl0 aG9uLXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9wcm9nbW9kZXMvcHl0aG9uLXRlc3RzLmVsCkBA IC03Mjk5LDYgKzcyOTksMjg1IEBAIHB5dGhvbi10ZXN0cy0tZmx5bWFrZS1jb21tYW5kLW91dHB1 dC1wYXR0ZXJuCiAgICAgICAgICAgICAgICAgICAgICAgICAgIlVudXNlZCBpbXBvcnQgYS5iLmMg KHVudXNlZC1pbXBvcnQpIgogICAgICAgICAgICAgICAgICAgICAgICAiVzA2MTE6IFVudXNlZCBp bXBvcnQgYS5iLmMgKHVudXNlZC1pbXBvcnQpIikpKSkpKQogCis7OzsgcHl0aG9uLXRzLW1vZGUg Zm9udC1sb2NrIHRlc3RzCisKKyhkZWZtYWNybyBweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1 ZmZlciAoY29udGVudHMgJnJlc3QgYm9keSkKKyAgIkNyZWF0ZSBhIGBweXRob24tdHMtbW9kZScg ZW5hYmxlZCB0ZW1wIGJ1ZmZlciB3aXRoIENPTlRFTlRTLgorQk9EWSBpcyBjb2RlIHRvIGJlIGV4 ZWN1dGVkIHdpdGhpbiB0aGUgdGVtcCBidWZmZXIuICBQb2ludCBpcworYWx3YXlzIGxvY2F0ZWQg YXQgdGhlIGJlZ2lubmluZyBvZiBidWZmZXIuIgorICAoZGVjbGFyZSAoaW5kZW50IDEpIChkZWJ1 ZyB0KSkKKyAgYCh3aXRoLXRlbXAtYnVmZmVyCisgICAgIChza2lwLXVubGVzcyAodHJlZXNpdC1y ZWFkeS1wICdweXRob24pKQorICAgICAocmVxdWlyZSAncHl0aG9uKQorICAgICAobGV0ICgocHl0 aG9uLWluZGVudC1ndWVzcy1pbmRlbnQtb2Zmc2V0IG5pbCkpCisgICAgICAgKHB5dGhvbi10cy1t b2RlKQorICAgICAgIChzZXRvcHQgdHJlZXNpdC1mb250LWxvY2stbGV2ZWwgMykKKyAgICAgICAo aW5zZXJ0ICxjb250ZW50cykKKyAgICAgICAoZm9udC1sb2NrLWVuc3VyZSkKKyAgICAgICAoZ290 by1jaGFyIChwb2ludC1taW4pKQorICAgICAgICxAYm9keSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0 aG9uLXRzLW1vZGUtY29tcG91bmQta2V5d29yZHMtZmFjZSAoKQorICAoZG9saXN0ICh0ZXN0ICco ImlzIG5vdCIgIm5vdCBpbiIpKQorICAgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZl cgorICAgICAoY29uY2F0ICJ0ICIgdGVzdCAiIHQiKQorICAgICAoZm9yd2FyZC10by13b3JkKQor ICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLWtleXdvcmQtZmFjZSkp CisgICAgIChmb3J3YXJkLXRvLXdvcmQpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50 KSBmb250LWxvY2sta2V5d29yZC1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1t b2RlLXZhci1mb3ItbG9vcC1mYWNlICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1 ZmZlcgorICAgImZvciB2YXIgaW4gcmFuZ2UoMyk6IgorICAgKGRvbGlzdCAodGVzdCAnKCJ2YXIi KSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJl Z2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay12 YXJpYWJsZS1uYW1lLWZhY2UpKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtbmFt ZWQtYXNzaWduZW1lbnQtZmFjZS0xICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1 ZmZlcgorICAgInZhciA6PSAzIgorICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24tdHMtbW9k ZS1hc3NpZ25lbWVudC1mYWNlLTIgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVm ZmVyCisgICAidmFyLCAqcmVzdCA9IGNhbGwoKSIKKyAgIChkb2xpc3QgKHRlc3QgJygidmFyIiAi cmVzdCIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0 Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1s b2NrLXZhcmlhYmxlLW5hbWUtZmFjZSkpKSkKKworICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVt cC1idWZmZXIKKyAgICJkZWYgZnVuYygqYXJncyk6IgorICAgKGRvbGlzdCAodGVzdCAnKCJhcmdz IikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1i ZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQt bG9jay12YXJpYWJsZS1uYW1lLWZhY2UpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1t b2RlLW5lc3RlZC10eXBlcy1mYWNlLTEgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAt YnVmZmVyCisgICAiZGVmIGZ1bmModjpkaWN0WyBsaXN0WyB0dXBsZVtzdHJdIF0sIGludCB8IE5v bmVdIHwgTm9uZSk6IgorICAgKGRvbGlzdCAodGVzdCAnKCJkaWN0IiAibGlzdCIgInR1cGxlIiAi c3RyIiAiaW50IiAiTm9uZSIgIk5vbmUiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisg ICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAoZXEgKGZh Y2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0 aG9uLXRzLW1vZGUtdW5pb24tdHlwZXMtZmFjZS0xICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0 aC10ZW1wLWJ1ZmZlcgorICAgImRlZiBmKHZhbDogdHVwbGVbdHVwbGUsIGxpc3RbTHZsMSB8IEx2 bDJbTHZsM1tMdmw0W0x2bDUgfCBOb25lXV0sIEx2bDJdXV0pOiIKKyAgIChkb2xpc3QgKHRlc3Qg JygidHVwbGUiICJ0dXBsZSIgImxpc3QiICJMdmwxIiAiTHZsMiIgIkx2bDMiICJMdmw0IiAiTHZs NSIgIk5vbmUiICJMdmwyIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290 by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBv aW50KSBmb250LWxvY2stdHlwZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1t b2RlLXVuaW9uLXR5cGVzLWZhY2UtMiAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1i dWZmZXIKKyAgICJkZWYgZih2YWw6IFR5cGUwIHwgVHlwZTFbVHlwZTIsIHBhY2swLlR5cGUzXSB8 IHBhY2sxLnBhY2syLlR5cGU0IHwgTm9uZSk6IgorICAgKGRvbGlzdCAodGVzdCAnKCJUeXBlMCIg IlR5cGUxIiAiVHlwZTIiICJUeXBlMyIgIlR5cGU0IiAiTm9uZSIpKQorICAgICAoc2VhcmNoLWZv cndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAo c2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQorCisgICAo Z290by1jaGFyIChwb2ludC1taW4pKQorICAgKGRvbGlzdCAodGVzdCAnKCJwYWNrMCIgInBhY2sx IiAicGFjazIiKSkKKyAgICAgKHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIg KG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAgKHNob3VsZCAobm90IChlcSAoZmFjZS1hdC1wb2lu dCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1v ZGUtdHlwZXMtZmFjZS0xICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgor ICAgImRlZiBmKHZhbDogQ2FsbGFibGVbW1R5cGUwXSwgKFR5cGUxLCBUeXBlMildKToiCisgICAo ZG9saXN0ICh0ZXN0ICcoIkNhbGxhYmxlIiAiVHlwZTAiICJUeXBlMSIgIlR5cGUyIikpCisgICAg IChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcg MCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stdHlwZS1mYWNl KSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLXR5cGVzLWZhY2UtMiAoKQorICAo cHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJkZWYgYW5ub3QzKHZhbDpwYWNr MC5UeXBlMCktPnBhY2sxLnBhY2syLnBhY2szLlR5cGUxOiIKKyAgIChkb2xpc3QgKHRlc3QgJygi VHlwZTAiICJUeXBlMSIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8t Y2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2lu dCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQorICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAg IChkb2xpc3QgKHRlc3QgJygicGFjazAiICJwYWNrMSIgInBhY2syIiAicGFjazMiKSkKKyAgICAg KHNlYXJjaC1mb3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAw KSkKKyAgICAgKHNob3VsZCAobm90IChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5cGUt ZmFjZSkpKSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtdHlwZXMtZmFjZS0zICgp CisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgImRlZiBhbm5vdDModmFs OmNvbGxlY3Rpb25zLmFiYy5JdGVyYXRvcltUeXBlMF0pOiIKKyAgIChkb2xpc3QgKHRlc3QgJygi SXRlcmF0b3IiICJUeXBlMCIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdv dG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1w b2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQorICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkK KyAgIChkb2xpc3QgKHRlc3QgJygiY29sbGVjdGlvbnMiICJhYmMiKSkKKyAgICAgKHNlYXJjaC1m b3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAg KHNob3VsZCAobm90IChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKSkp KQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtaXNpbnN0YW5jZS10eXBlLWZhY2UtMSAo KQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIKKyAgICJpc2luc3RhbmNlKHZh cjEsIHBrZy5UeXBlMCkKKyAgICBpc2luc3RhbmNlKHZhcjIsIChzdHIsIGRpY3QsIFR5cGUxLCB0 eXBlKE5vbmUpKSkKKyAgICBpc2luc3RhbmNlKHZhcjMsIG15X3R5cGUoKSkiCisKKyAgIChkb2xp c3QgKHRlc3QgJygidmFyMSIgInBrZyIgInZhcjIiICJ0eXBlIiAiTm9uZSIgInZhcjMiICJteV90 eXBlIikpCisgICAgIChsZXQgKChjYXNlLWZvbGQtc2VhcmNoIG5pbCkpCisgICAgICAgKHNlYXJj aC1mb3J3YXJkIHRlc3QpKQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisg ICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2Up KSkpCisKKyAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAoZG9saXN0ICh0ZXN0ICcoIlR5 cGUwIiAic3RyIiAiZGljdCIgIlR5cGUxIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQor ICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChm YWNlLWF0LXBvaW50KSBmb250LWxvY2stdHlwZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5 dGhvbi10cy1tb2RlLWlzaW5zdGFuY2UtdHlwZS1mYWNlLTIgKCkKKyAgKHB5dGhvbi10cy10ZXN0 cy13aXRoLXRlbXAtYnVmZmVyCisgICAiaXNzdWJjbGFzcyhteXR5cGUsIGludHxsaXN0fGNvbGxl Y3Rpb25zLmFiYy5JdGVyYWJsZSkiCisgICAoZG9saXN0ICh0ZXN0ICcoImludCIgImxpc3QiICJJ dGVyYWJsZSIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAo bWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9u dC1sb2NrLXR5cGUtZmFjZSkpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24tdHMtbW9kZS1zdXBl cmNsYXNzLXR5cGUtZmFjZSAoKQorICAocHl0aG9uLXRzLXRlc3RzLXdpdGgtdGVtcC1idWZmZXIK KyAgICJjbGFzcyBUZW1wKEJhc2UxLCBwYWNrMC5CYXNlMiwgIFNlcXVlbmNlW1QxLCBUMl0pOiIK KworICAgKGRvbGlzdCAodGVzdCAnKCJCYXNlMSIgIkJhc2UyIiAiU2VxdWVuY2UiICJUMSIgIlQy IikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1i ZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2st dHlwZS1mYWNlKSkpCisKKyAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAoZG9saXN0ICh0 ZXN0ICcoInBhY2swIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1j aGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQt cG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10 cy1tb2RlLWNsYXNzLXBhdHRlcm5zLWZhY2UgKCkKKyAgKHB5dGhvbi10cy10ZXN0cy13aXRoLXRl bXAtYnVmZmVyCisgICAibWF0Y2ggdHQ6CisgICAgICAgIGNhc2Ugc3RyKCk6CisgICAgICAgICAg ICBwYXNzCisgICAgICAgIGNhc2UgW1R5cGUwKCkgfCBieXRlcyhiKSB8IHBhY2swLnBhY2sxLlR5 cGUxKCldOgorICAgICAgICAgICAgcGFzcworICAgICAgICBjYXNlIHsnaSc6IGludChpKSwgJ2Yn OiBmbG9hdCgpIGFzIGZ9OgorICAgICAgICAgICAgcGFzcyIKKworICAgKGRvbGlzdCAodGVzdCAn KCJzdHIiICJUeXBlMCIgImJ5dGVzIiAiVHlwZTEiICJpbnQiICJmbG9hdCIpKQorICAgICAoc2Vh cmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQor ICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXR5cGUtZmFjZSkpKQor CisgICAoZ290by1jaGFyIChwb2ludC1taW4pKQorICAgKGRvbGlzdCAodGVzdCAnKCJwYWNrMCIg InBhY2sxIikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyICht YXRjaC1iZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKG5vdCAoZXEgKGZhY2UtYXQtcG9pbnQp IGZvbnQtbG9jay10eXBlLWZhY2UpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2Rl LWRvdHRlZC1kZWNvcmF0b3ItZmFjZS0xICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1w LWJ1ZmZlcgorICAgIkBweXRlc3QubWFyay5za2lwCisgICAgQHB5dGVzdC5tYXJrLnNraXAocmVh c29uPSdtc2cnKQorICAgIGRlZiB0ZXN0KCk6IgorCisgICAoZG9saXN0ICh0ZXN0ICcoInB5dGVz dCIgIm1hcmsiICJza2lwIiAicHl0ZXN0IiAibWFyayIgInNraXAiKSkKKyAgICAgKHNlYXJjaC1m b3J3YXJkIHRlc3QpCisgICAgIChnb3RvLWNoYXIgKG1hdGNoLWJlZ2lubmluZyAwKSkKKyAgICAg KHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay10eXBlLWZhY2UpKSkpKQorCiso ZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtZG90dGVkLWRlY29yYXRvci1mYWNlLTIgKCkKKyAg KHB5dGhvbi10cy10ZXN0cy13aXRoLXRlbXAtYnVmZmVyCisgICAiQHB5dGVzdC5tYXJrLnNraXAo cmVhc29uPSdtc2cnKQorICAgIGRlZiB0ZXN0KCk6IgorCisgICAoc2V0b3B0IHRyZWVzaXQtZm9u dC1sb2NrLWxldmVsIDQpCisgICAoZG9saXN0ICh0ZXN0ICcoInB5dGVzdCIgIm1hcmsiICJza2lw IikpCisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1i ZWdpbm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2st dHlwZS1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLWJ1aWx0aW4tY2Fs bC1mYWNlICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgImFsbCgp IgorICAgOzsgZW5hYmxlICdmdW5jdGlvbicgZmVhdHVyZSBmcm9tIDR0aCBsZXZlbAorICAgKHNl dG9wdCB0cmVlc2l0LWZvbnQtbG9jay1sZXZlbCA0KQorICAgKHNob3VsZCAoZXEgKGZhY2UtYXQt cG9pbnQpIGZvbnQtbG9jay1idWlsdGluLWZhY2UpKSkpCisKKyhlcnQtZGVmdGVzdCBweXRob24t dHMtbW9kZS1pbnRlcnBvbGF0aW9uLW5lc3RlZC1zdHJpbmcgKCkKKyAgKHB5dGhvbi10cy10ZXN0 cy13aXRoLXRlbXAtYnVmZmVyCisgICAidCA9IGZcImJlZyB7VHJ1ZSArICdzdHJpbmcnfVwiIgor CisgICAoc2VhcmNoLWZvcndhcmQgIlRydWUiKQorICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5u aW5nIDApKQorICAgKHNob3VsZCAoZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay1jb25zdGFu dC1mYWNlKSkKKworICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKKyAgIChkb2xpc3QgKHRlc3Qg JygiZiIgInsiICIrIiAifSIpKQorICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdv dG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAoc2hvdWxkIChub3QgKGVxIChmYWNl LWF0LXBvaW50KSBmb250LWxvY2stc3RyaW5nLWZhY2UpKSkpCisKKworICAgKGdvdG8tY2hhciAo cG9pbnQtbWluKSkKKyAgIChkb2xpc3QgKHRlc3QgJygiYmVnIiAiJ3N0cmluZyciICJcIiIpKQor ICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5u aW5nIDApKQorICAgICAoc2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLXN0cmlu Zy1mYWNlKSkpKSkKKworKGVydC1kZWZ0ZXN0IHB5dGhvbi10cy1tb2RlLWRpc2FibGVkLXN0cmlu Zy1pbnRlcnBvbGF0aW9uICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgor ICAgInQgPSBmXCJiZWcge1RydWUgKyB2YXJ9XCIiCisKKyAgICh1bndpbmQtcHJvdGVjdAorICAg ICAgIChwcm9nbgorICAgICAgICAgKHNldGYgKG50aCAyIHRyZWVzaXQtZm9udC1sb2NrLWZlYXR1 cmUtbGlzdCkKKyAgICAgICAgICAgICAgIChyZW1xICdzdHJpbmctaW50ZXJwb2xhdGlvbiAobnRo IDIgdHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0KSkpCisgICAgICAgICAoc2V0b3B0IHRy ZWVzaXQtZm9udC1sb2NrLWxldmVsIDMpCisKKyAgICAgICAgIChzZWFyY2gtZm9yd2FyZCAiZiIp CisgICAgICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgICAgICAoc2hv dWxkIChub3QgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stc3RyaW5nLWZhY2UpKSkKKwor ICAgICAgICAgKGRvbGlzdCAodGVzdCAnKCJcIiIgImJlZyIgInsiICJUcnVlIiAidmFyIiAifSIg IlwiIikpCisgICAgICAgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAgICAgICAoZ290 by1jaGFyIChtYXRjaC1iZWdpbm5pbmcgMCkpCisgICAgICAgICAgIChzaG91bGQgKGVxIChmYWNl LWF0LXBvaW50KSBmb250LWxvY2stc3RyaW5nLWZhY2UpKSkpCisKKyAgICAoc2V0ZiAobnRoIDIg dHJlZXNpdC1mb250LWxvY2stZmVhdHVyZS1saXN0KQorICAgICAgICAgIChhcHBlbmQgKG50aCAy IHRyZWVzaXQtZm9udC1sb2NrLWZlYXR1cmUtbGlzdCkgJyhzdHJpbmctaW50ZXJwb2xhdGlvbikp KSkpKQorCisoZXJ0LWRlZnRlc3QgcHl0aG9uLXRzLW1vZGUtaW50ZXJwb2xhdGlvbi1kb2Mtc3Ry aW5nICgpCisgIChweXRob24tdHMtdGVzdHMtd2l0aC10ZW1wLWJ1ZmZlcgorICAgImZcIlwiXCJi ZWcgeydzMScgKyBUcnVlICsgJ3MyJ30gZW5kXCJcIlwiIgorCisgICAoc2VhcmNoLWZvcndhcmQg IlRydWUiKQorICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgKHNob3VsZCAo ZXEgKGZhY2UtYXQtcG9pbnQpIGZvbnQtbG9jay1jb25zdGFudC1mYWNlKSkKKworICAgKGdvdG8t Y2hhciAocG9pbnQtbWluKSkKKyAgIChkb2xpc3QgKHRlc3QgJygiZiIgInsiICIrIiAifSIpKQor ICAgICAoc2VhcmNoLWZvcndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5u aW5nIDApKQorICAgICAoc2hvdWxkIChub3QgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2st c3RyaW5nLWZhY2UpKSkpCisKKyAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAoZG9saXN0 ICh0ZXN0ICcoIlwiXCJcIiIgImJlZyIgImVuZCIgIlwiXCJcIiIpKQorICAgICAoc2VhcmNoLWZv cndhcmQgdGVzdCkKKyAgICAgKGdvdG8tY2hhciAobWF0Y2gtYmVnaW5uaW5nIDApKQorICAgICAo c2hvdWxkIChlcSAoZmFjZS1hdC1wb2ludCkgZm9udC1sb2NrLWRvYy1mYWNlKSkpCisKKyAgIChn b3RvLWNoYXIgKHBvaW50LW1pbikpCisgICAoZG9saXN0ICh0ZXN0ICcoIidzMSciICInczInIikp CisgICAgIChzZWFyY2gtZm9yd2FyZCB0ZXN0KQorICAgICAoZ290by1jaGFyIChtYXRjaC1iZWdp bm5pbmcgMCkpCisgICAgIChzaG91bGQgKGVxIChmYWNlLWF0LXBvaW50KSBmb250LWxvY2stc3Ry aW5nLWZhY2UpKSkpKQorCiAocHJvdmlkZSAncHl0aG9uLXRlc3RzKQogCiA7OzsgcHl0aG9uLXRl c3RzLmVsIGVuZHMgaGVyZQotLSAKMi4zNC4xCgo= ------==--bound.277746.pyij2bcyucz6ldu4.iva.yp-c.yandex.net--