From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Peter Oliver Newsgroups: gmane.emacs.devel Subject: Re: Validating tree-sitter major modes and grammar Date: Fri, 3 Jan 2025 12:26:30 +0000 (GMT) Message-ID: References: <2F1CA2E3-4C86-4892-AF6B-0C9CFCE26629@gmail.com> <6768b29d.050a0220.1b40f2.5574SMTPIN_ADDED_BROKEN@mx.google.com> <8DF80F0D-E50A-4162-93E6-F7F55B2E7144@gmail.com> <87cyhh88ms.fsf@gmx.de> <7DEA0D59-5856-4113-870D-4222B446EE5B@gmail.com> <875xn88978.fsf@gmx.de> <774CBF6C-4667-4E18-A0D8-C42209D41A10@gmail.com> <92eb9006-b7fc-2bb7-6ea7-166f9127917b@mavit.org.uk> <87msgi72r8.fsf@gmx.de> <87v7v4582p.fsf@gmx.de> <625E7F8C-4A4C-4BCB-BEEF-8220DC74B702@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="-1463811584-1712113404-1735907190=:4880" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="37518"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Emacs Devel To: Yuan Fu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Jan 03 13:27:32 2025 Return-path: Envelope-to: ged-emacs-devel@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 1tTgm4-0009b0-8z for ged-emacs-devel@m.gmane-mx.org; Fri, 03 Jan 2025 13:27:32 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tTglM-0004EH-0B; Fri, 03 Jan 2025 07:26: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 1tTglI-0004Dt-Bs for emacs-devel@gnu.org; Fri, 03 Jan 2025 07:26:44 -0500 Original-Received: from mail-wr1-x42b.google.com ([2a00:1450:4864:20::42b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tTglC-0004dH-TY for emacs-devel@gnu.org; Fri, 03 Jan 2025 07:26:43 -0500 Original-Received: by mail-wr1-x42b.google.com with SMTP id ffacd0b85a97d-3862d16b4f5so7611935f8f.0 for ; Fri, 03 Jan 2025 04:26:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mavit.org.uk; s=google; t=1735907195; x=1736511995; darn=gnu.org; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:from:to:cc:subject:date:message-id:reply-to; bh=HUP91PIDPI7+ULH4cckA3GbeDcWeSRyMpSxbwrgdrMQ=; b=J7KDpEJjy9FITnJxHNOAZMqgHcMwFG71t0wasPLcq0iXqn6N7snYhZ88y8oOzeqGPI n3S7JgJSApjr0kRAWvTue5D1gUql7qFOWB4G+q4QYImbuv50QepopGrAqFXCoQ4Ok4ry 61hPeYgVpfwMVPce2O+q0mUtSrl1tJStI8cxM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1735907195; x=1736511995; h=mime-version:references:message-id:in-reply-to:subject:cc:to:from :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=HUP91PIDPI7+ULH4cckA3GbeDcWeSRyMpSxbwrgdrMQ=; b=v3K9AtO+iGHNUUH0XNA/6Pun8BvjNWaVuW70UN+TLM2TvE1G4rytdbmFP/iVNvS9KL vX0HrJcY2kfnFxhwNfxk8gNH+R6ELxsbpf/iQibc1AaMqFoa++tDtQMsfz4JryWkZkmE StIRWVyNexUHVZKRlkEdA24dzLpYmU4S9s6bYJzFkTqJZwZaHCnSKawnEtCXkFG8D/4q smul2QjOos4MOmW+Iw9EBpaSEaYsnBEv4vr7mY7XQYMPgbsuWmhF7YqpvyJ+eNQaEZ3d XgAsBNiNVcsDY0fHOpUIWL9KmdIeUH/0zp/CrZtR79mWWtUWsT6cBwe2IRlVt03hl44w zocw== X-Gm-Message-State: AOJu0YxiNNTwwSEOzv6330W5JQBYf3pEX5xGU5jOeQZzJckPpCi5j+Sa jPZxFtl7suwGokcUP/Cwbz6Zm7FdN/RzVLJk068RwU5bWcgfB0N2yHyhfjLtXg== X-Gm-Gg: ASbGnctl0dUnFcfIDUDmlZG5LdA7796zdeeCnUKB9QzNVcZuF9p2HeJB4WGy7tCmXzK 64VmQyCejN9/I1C30UVH38Ou5Hh42FNoE+/QbfQzNJQ7bLikggBYJtdVIe5+9yP6RYPZoqGeQeu 732EHj2jFOYvvI0SMejzF9CILx8e7Alz16Q8Nfr75JcXwzJrJIcKpSydRt0B0t8vZ8F1OwsTJWu /9MlNJJQrT4pjbk2/dlktsSt7hlBT1lJXnTxppDgyPIMb9WUfwxKsBf1sn0a1y/2oNuAo35vyAI mjpItDaWgCLob7Z6frKzLEwBypskku0CHehwPKNLXLr8HzgUcg/z0BpXHQ6gKf4IDlFi X-Google-Smtp-Source: AGHT+IFdkHsafkiXMlZkUzzQA5ZCeAQkBGm2keLZ9cuUFQDK4nkk+fPNbXhcmEHIrnZzvBjB1q48tQ== X-Received: by 2002:a5d:47af:0:b0:385:faf5:ebc8 with SMTP id ffacd0b85a97d-38a1a2641cbmr44899123f8f.21.1735907192284; Fri, 03 Jan 2025 04:26:32 -0800 (PST) Original-Received: from froglet.home.mavit.org.uk (dudl-14-b2-v4wan-165806-cust1021.vm31.cable.virginm.net. [82.32.147.254]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43661219a7csm478878895e9.24.2025.01.03.04.26.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 03 Jan 2025 04:26:31 -0800 (PST) Original-Received: from froglet.home.mavit.org.uk (localhost [127.0.0.1]) by froglet.home.mavit.org.uk (8.18.1/8.17.1) with ESMTPS id 503CQUSv035468 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Fri, 3 Jan 2025 12:26:30 GMT Original-Received: from localhost (mavit@localhost) by froglet.home.mavit.org.uk (8.18.1/8.18.1/Submit) with ESMTP id 503CQUfL035464; Fri, 3 Jan 2025 12:26:30 GMT X-Authentication-Warning: froglet.home.mavit.org.uk: mavit owned process doing -bs In-Reply-To: Received-SPF: pass client-ip=2a00:1450:4864:20::42b; envelope-from=p.d.oliver@mavit.org.uk; helo=mail-wr1-x42b.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:327624 Archived-At: This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. ---1463811584-1712113404-1735907190=:4880 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8BIT On Thu, 2 Jan 2025, Peter Oliver wrote: > On Mon, 30 Dec 2024, Yuan Fu wrote: > >> Anyway, as a first step, I added a command that generates a html file that >> looks like the below. I’ll try setting up a cron job on my machine, then >> we can figure out how do we run it on EMBA and how to host the generated >> webpage. >> >> Peter, do you have any suggestions after seeing this example webpage? > > Looks good. > > Rather than the latest commit, I’d be more interested in the latest release > (i.e., commit tagged with a tag starting “v”). I’d only consider packaging a > Git snapshot as a last resort to solve an important bug, so tagged commits > are more relevant to me. So, then, something along the lines of the attached (although, actually, maybe we want both?). -- Peter Oliver ---1463811584-1712113404-1735907190=:4880 Content-Type: text/plain; charset=US-ASCII; name=0001-New-function-treesit-language-git-version-tags.patch Content-Transfer-Encoding: BASE64 Content-ID: <7c22cca4-1ebe-1841-446c-11b333c1949e@froglet.home.mavit.org.uk> Content-Description: Content-Disposition: attachment; filename=0001-New-function-treesit-language-git-version-tags.patch RnJvbSBjMTQwNWRiNjU2MDI3M2NlNGVhZjBkNWMxYjEzOTMyYjg3NmI3MmEw IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogUGV0ZXIgT2xpdmVy IDxnaXRAbWF2aXQub3JnLnVrPg0KRGF0ZTogRnJpLCAzIEphbiAyMDI1IDEy OjAyOjUwICswMDAwDQpTdWJqZWN0OiBbUEFUQ0ggMS8yXSBOZXcgZnVuY3Rp b24gdHJlZXNpdC0tbGFuZ3VhZ2UtZ2l0LXZlcnNpb24tdGFncw0KDQoqIGxp c3AvdHJlZXNpdC5lbCAodHJlZXNpdC0tbGFuZ3VhZ2UtZ2l0LXZlcnNpb24t dGFncyk6IE5ldyBmdW5jdGlvbiB0bw0KICBsaXN0IHZlcnNpb24gdGFncyBm b3IgYSBUcmVlLXNpdHRlciBwYXJzZXIgR2l0IHJlcG9zaXRvcnkuDQotLS0N CiBsaXNwL3RyZWVzaXQuZWwgfCAxMiArKysrKysrKysrKysNCiAxIGZpbGUg Y2hhbmdlZCwgMTIgaW5zZXJ0aW9ucygrKQ0KDQpkaWZmIC0tZ2l0IGEvbGlz cC90cmVlc2l0LmVsIGIvbGlzcC90cmVlc2l0LmVsDQppbmRleCBmM2M1NTNm ZGI4Zi4uYTg5ZmEyYWUxM2UgMTAwNjQ0DQotLS0gYS9saXNwL3RyZWVzaXQu ZWwNCisrKyBiL2xpc3AvdHJlZXNpdC5lbA0KQEAgLTQyNjIsNiArNDI2Miwx OCBAQCB0cmVlc2l0LS1sYW5ndWFnZS1naXQtcmV2aXNpb24NCiAgICAgICAo c3RyaW5nLXRyaW0gKGJ1ZmZlci1zdHJpbmcpKSkNCiAgICAgICh0IG5pbCkp KSkNCiANCisoZGVmdW4gdHJlZXNpdC0tbGFuZ3VhZ2UtZ2l0LXZlcnNpb24t dGFncyAocmVwby1kaXIpDQorICAiUmV0dXJuIGEgbGlzdCBvZiBHaXQgdmVy c2lvbiB0YWdzIGluIFJFUE8tRElSLCBzb3J0ZWQgbGF0ZXN0IGZpcnN0Lg0K Kw0KK1JldHVybiB0aGUgb3V0cHV0IG9mIFwiZ2l0IHRhZyAtLWxpc3QgLS1z b3J0PS12ZXJzaW9uOnJlZm5hbWUgJ3YqJ1wiLiBJZg0KK2FueXRoaW5nIGdv ZXMgd3JvbmcsIHJldHVybiBuaWwuIg0KKyAgKHdpdGgtdGVtcC1idWZmZXIN CisgICAgKGNvbmQNCisgICAgICgoZXEgMCAoY2FsbC1wcm9jZXNzICJnaXQi IG5pbCB0IG5pbCAiLUMiIHJlcG8tZGlyICJ0YWciDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAiLS1saXN0IiAiLS1zb3J0PS12ZXJzaW9uOnJlZm5h bWUiICJ2KiIpKQ0KKyAgICAgIChzcGxpdC1zdHJpbmcgKGJ1ZmZlci1zdHJp bmcpKSkNCisgICAgICh0IG5pbCkpKSkNCisNCiAoZGVmdW4gdHJlZXNpdC0t bGFuZ3VhZ2UtZ2l0LXRpbWVzdGFtcCAocmVwby1kaXIpDQogICAiUmV0dXJu IHRoZSBjb21taXQgZGF0ZSBpbiBSRVBPLURJUiBpbiBVTklYIGVwb2NoLg0K IA0KLS0gDQoyLjQ3LjENCg0K ---1463811584-1712113404-1735907190=:4880 Content-Type: text/plain; charset=US-ASCII; name=0002-Tweak-Tree-sitter-compatibility-report-to-show-only-.patch Content-Transfer-Encoding: BASE64 Content-ID: <33d66fb7-5d05-1984-53d8-bfdcafbe392b@froglet.home.mavit.org.uk> Content-Description: Content-Disposition: attachment; filename=0002-Tweak-Tree-sitter-compatibility-report-to-show-only-.patch RnJvbSAwYTAzNDhmNjQxMDc3MjkxOTAwN2U5MjJmMWNjMzM4MTU5ZDc0MWU0 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogUGV0ZXIgT2xpdmVy IDxnaXRAbWF2aXQub3JnLnVrPg0KRGF0ZTogRnJpLCAzIEphbiAyMDI1IDEy OjA5OjMyICswMDAwDQpTdWJqZWN0OiBbUEFUQ0ggMi8yXSBUd2VhayBUcmVl LXNpdHRlciBjb21wYXRpYmlsaXR5IHJlcG9ydCB0byBzaG93IG9ubHkNCiB0 YWdnZWQgdmVyc2lvbnMNCg0KKiBhZG1pbi90cmVlLXNpdHRlci9jb21wYXQt dGVtcGxhdGUuaHRtbDogUmVuYW1lIGNsYXNzIGhlYWQgdG8gbGF0ZXN0Lg0K KiBhZG1pbi90cmVlLXNpdHRlci90cmVlc2l0LWFkbWluLmVsDQogICh0cmVl c2l0LWFkbWluLS1maW5kLWxhdGVzdC1jb21wYXRpYmxlLXJldmlzaW9uKTog SW5zcGVjdCBvbmx5IHRhZ2dlZA0KICBjb21taXRzLCBhcyBnaXZlbiBieSB0 cmVlc2l0LS1sYW5ndWFnZS1naXQtcmV2aXNpb24uDQotLS0NCiBhZG1pbi90 cmVlLXNpdHRlci9jb21wYXQtdGVtcGxhdGUuaHRtbCB8ICA0ICstLQ0KIGFk bWluL3RyZWUtc2l0dGVyL3RyZWVzaXQtYWRtaW4uZWwgICAgIHwgMzkgKysr KysrKysrKysrKy0tLS0tLS0tLS0tLS0NCiAyIGZpbGVzIGNoYW5nZWQsIDIy IGluc2VydGlvbnMoKyksIDIxIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0 IGEvYWRtaW4vdHJlZS1zaXR0ZXIvY29tcGF0LXRlbXBsYXRlLmh0bWwgYi9h ZG1pbi90cmVlLXNpdHRlci9jb21wYXQtdGVtcGxhdGUuaHRtbA0KaW5kZXgg MjNiNWI1NWQ3YjMuLjY4MDMwMWQxNGE0IDEwMDY0NA0KLS0tIGEvYWRtaW4v dHJlZS1zaXR0ZXIvY29tcGF0LXRlbXBsYXRlLmh0bWwNCisrKyBiL2FkbWlu L3RyZWUtc2l0dGVyL2NvbXBhdC10ZW1wbGF0ZS5odG1sDQpAQCAtMjMsMTQg KzIzLDE0IEBADQogICAgICAgICAgIHdpZHRoOiAxMHJlbTsNCiAgICAgICAg ICAgd29yZC1icmVhazogYnJlYWstYWxsOw0KICAgICAgIH0NCi0gICAgICAu aGVhZCB7DQorICAgICAgLmxhdGVzdCB7DQogICAgICAgICAgIGJhY2tncm91 bmQ6IGxpZ2h0Z3JlZW47DQogICAgICAgfQ0KICAgICA8L3N0eWxlPg0KICAg PC9oZWFkPg0KICAgPGJvZHk+DQogICAgIDxoMT5FbWFjcyB0cmVlLXNpdHRl ciBncmFtbWFyIGNvbXBhdGliaWxpdHk8L2gxPg0KLSAgICA8cD5UaGlzIGlz IGFuIGF1dG8tZ2VuZXJhdGVkIHJlcG9ydCBvZiB0aGUgbGFzdCBjb21wYXRp YmxlIHZlcnNpb24gZm9yIGVhY2ggZ3JhbW1hciBpbiBlYWNoIEVtYWNzIHZl cnNpb24uICBBIDxzcGFuIGNsYXNzPSJoZWFkIj5ncmVlbiBiYWNrZ3JvdW5k PC9zcGFuPiBvbiB0aGUgdmVyc2lvbiBpbmRpY2F0ZXMgdGhhdCB0aGUgRW1h Y3MgdmVyc2lvbiBpcyBjb21wYXRpYmxlIHdpdGggdGhlIGxhdGVzdCBjb21t aXQgaW4gdGhlIHVwc3RyZWFtIGdyYW1tYXIgcmVwby48L3A+DQorICAgIDxw PlRoaXMgaXMgYW4gYXV0by1nZW5lcmF0ZWQgcmVwb3J0IG9mIHRoZSBsYXN0 IGNvbXBhdGlibGUgdmVyc2lvbiBmb3IgZWFjaCBncmFtbWFyIGluIGVhY2gg RW1hY3MgdmVyc2lvbi4gIEEgPHNwYW4gY2xhc3M9ImhlYWQiPmdyZWVuIGJh Y2tncm91bmQ8L3NwYW4+IG9uIHRoZSB2ZXJzaW9uIGluZGljYXRlcyB0aGF0 IHRoZSBFbWFjcyB2ZXJzaW9uIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgbGF0 ZXN0IHRhZyBpbiB0aGUgdXBzdHJlYW0gZ3JhbW1hciByZXBvLjwvcD4NCiAg ICAgPHA+VGhpcyByZXBvcnQgaXMgZ2VuZXJhdGVkIG9uIF9fX1JFUExBQ0Vf VElNRV9fXy48L3A+DQogICAgIDx0YWJsZT4NCiBfX19SRVBMQUNFX1RBQkxF X19fDQpkaWZmIC0tZ2l0IGEvYWRtaW4vdHJlZS1zaXR0ZXIvdHJlZXNpdC1h ZG1pbi5lbCBiL2FkbWluL3RyZWUtc2l0dGVyL3RyZWVzaXQtYWRtaW4uZWwN CmluZGV4IDM3MTFlYjBhMzAxLi5hNjkxMzFjMWM5ZCAxMDA2NDQNCi0tLSBh L2FkbWluL3RyZWUtc2l0dGVyL3RyZWVzaXQtYWRtaW4uZWwNCisrKyBiL2Fk bWluL3RyZWUtc2l0dGVyL3RyZWVzaXQtYWRtaW4uZWwNCkBAIC0yOTYsOSAr Mjk2LDkgQEAgdHJlZXNpdC1hZG1pbi0tZmluZC1sYXRlc3QtY29tcGF0aWJs ZS1yZXZpc2lvbg0KIA0KIFJldHVybiBhIHBsaXN0IG9mIHRoZSBmb3JtDQog DQotICAgICg6dmVyc2lvbiBWRVJTSU9OIDpoZWFkLXZlcnNpb24gSEVBRC1W RVJTSU9OIDp0aW1zdGFtcCBUSU1FU1RBTVApLg0KKyAgICAoOnZlcnNpb24g VkVSU0lPTiA6bGF0ZXN0LXZlcnNpb24gTEFURVNULVZFUlNJT04gOnRpbXN0 YW1wIFRJTUVTVEFNUCkuDQogDQotSEVBRC1WRVJTSU9OIGlzIHRoZSB2ZXJz aW9uIG9mIHRoZSBIRUFELCBWRVJTSU9OIGlzIHRoZSBsYXRlc3QNCitMQVRF U1QtVkVSU0lPTiBpcyB0aGUgbGF0ZXN0IHZlcnNpb24sIFZFUlNJT04gaXMg dGhlIGxhdGVzdA0KIGNvbXBhdGlibGUgdmVyc2lvbi4gIFRJTUVTVEFNUCBp cyB0aGUgY29tbWl0IGRhdGUgb2YgVkVSU0lPTiBpbiBVTklYDQogZXBvY2gg Zm9ybWF0LiINCiAgIChsZXQgKCh0cmVlc2l0LWV4dHJhLWxvYWQtcGF0aCAo bGlzdCBncmFtbWFyLWRpcikpDQpAQCAtMzA5LDcgKzMwOSw4IEBAIHRyZWVz aXQtYWRtaW4tLWZpbmQtbGF0ZXN0LWNvbXBhdGlibGUtcmV2aXNpb24NCiAg ICAgICAgIChlbWFjcy1leGVjdXRhYmxlDQogICAgICAgICAgKG9yIGVtYWNz LWV4ZWN1dGFibGUNCiAgICAgICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUg aW52b2NhdGlvbi1uYW1lIGludm9jYXRpb24tZGlyZWN0b3J5KSkpDQotICAg ICAgICBoZWFkLXZlcnNpb24gdmVyc2lvbiBleGl0LWNvZGUgdGltZXN0YW1w KQ0KKyAgICAgICAgKGxhdGVzdC12ZXJzaW9uIG5pbCkNCisgICAgICAgIGxh dGVzdC12ZXJzaW9uIHZlcnNpb24gZXhpdC1jb2RlIHRpbWVzdGFtcCkNCiAg ICAgKHdoZW4gKG5vdCByZWNpcGUpDQogICAgICAgKHNpZ25hbCAndHJlZXNp dC1lcnJvciBgKCJDYW5ub3QgZmluZCByZWNpcGUiICxsYW5ndWFnZSkpKQ0K ICAgICAocGNhc2UtbGV0ICgoYCgsdXJsICxyZXZpc2lvbiAsc291cmNlLWRp ciAsY2MgLGMrKyAsY29tbWl0KQ0KQEAgLTMxOCwxNyArMzE5LDE0IEBAIHRy ZWVzaXQtYWRtaW4tLWZpbmQtbGF0ZXN0LWNvbXBhdGlibGUtcmV2aXNpb24N CiAgICAgICAgICh0cmVlc2l0LS1naXQtY2xvbmUtcmVwbyB1cmwgcmV2aXNp b24gd29ya2RpcikNCiAgICAgICAgICh3aGVuIGNvbW1pdA0KICAgICAgICAg ICAodHJlZXNpdC0tZ2l0LWNoZWNrb3V0LWJyYW5jaCB3b3JrZGlyIGNvbW1p dCkpDQotICAgICAgICAoc2V0cSBoZWFkLXZlcnNpb24gKHRyZWVzaXQtLWxh bmd1YWdlLWdpdC1yZXZpc2lvbiB3b3JrZGlyKSkNCi0gICAgICAgICh0cmVl c2l0LS1idWlsZC1ncmFtbWFyDQotICAgICAgICAgd29ya2RpciBncmFtbWFy LWRpciBsYW5ndWFnZSBzb3VyY2UtZGlyIGNjIGMrKykNCi0gICAgICAgICh3 aGlsZSAobm90IChlcSBleGl0LWNvZGUgMCkpDQotICAgICAgICAgICh1bmxl c3MgKG51bGwgZXhpdC1jb2RlKQ0KLSAgICAgICAgICAgICh0cmVlc2l0LS1n aXQtY2hlY2tvdXQtYnJhbmNoIHdvcmtkaXIgIkhFQUR+IikNCi0gICAgICAg ICAgICAodHJlZXNpdC0tYnVpbGQtZ3JhbW1hcg0KLSAgICAgICAgICAgICB3 b3JrZGlyIGdyYW1tYXItZGlyIGxhbmd1YWdlIHNvdXJjZS1kaXIgY2MgYysr KSkNCi0gICAgICAgICAgKHNldHEgdmVyc2lvbiAodHJlZXNpdC0tbGFuZ3Vh Z2UtZ2l0LXJldmlzaW9uIHdvcmtkaXIpKQ0KKyAgICAgICAgKGRvbGlzdCAo dGFnICh0cmVlc2l0LS1sYW5ndWFnZS1naXQtdmVyc2lvbi10YWdzIHdvcmtk aXIpKQ0KKyAgICAgICAgICAodW5sZXNzIGxhdGVzdC12ZXJzaW9uDQorICAg ICAgICAgICAgKHNldHEgbGF0ZXN0LXZlcnNpb24gdGFnKSkNCisgICAgICAg ICAgKHRyZWVzaXQtLWdpdC1jaGVja291dC1icmFuY2ggd29ya2RpciB0YWcp DQorICAgICAgICAgICh0cmVlc2l0LS1idWlsZC1ncmFtbWFyDQorICAgICAg ICAgICB3b3JrZGlyIGdyYW1tYXItZGlyIGxhbmd1YWdlIHNvdXJjZS1kaXIg Y2MgYysrKQ0KICAgICAgICAgICAoc2V0cSB0aW1lc3RhbXAgKHRyZWVzaXQt LWxhbmd1YWdlLWdpdC10aW1lc3RhbXAgd29ya2RpcikpDQotICAgICAgICAg IChtZXNzYWdlICJWYWxpZGF0ZWluZyB2ZXJzaW9uICVzIiB2ZXJzaW9uKQ0K KyAgICAgICAgICAobWVzc2FnZSAiVmFsaWRhdGluZyB2ZXJzaW9uICVzIiB0 YWcpDQogICAgICAgICAgIChzZXRxIGV4aXQtY29kZQ0KICAgICAgICAgICAg ICAgICAoY2FsbC1wcm9jZXNzDQogICAgICAgICAgICAgICAgICBlbWFjcy1l eGVjdXRhYmxlIG5pbCB0IG5pbA0KQEAgLTM0MCw4ICszMzgsMTEgQEAgdHJl ZXNpdC1hZG1pbi0tZmluZC1sYXRlc3QtY29tcGF0aWJsZS1yZXZpc2lvbg0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpZiAodHJlZXNpdC1h ZG1pbi0tdmFsaWRhdGUtbW9kZS1sYW5nDQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnLG1vZGUgJyxsYW5ndWFnZSkNCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtpbGwtZW1hY3MgMCkNCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChraWxsLWVtYWNzIC0x KSkpKSkpKSkpDQotICAgIChsaXN0IDp2ZXJzaW9uIHZlcnNpb24gOmhlYWQt dmVyc2lvbiBoZWFkLXZlcnNpb24gOnRpbWVzdGFtcCB0aW1lc3RhbXApKSkN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChraWxsLWVtYWNz IC0xKSkpKSkpDQorICAgICAgICAgICh3aGVuIChlcSBleGl0LWNvZGUgMCkN CisgICAgICAgICAgICAoc2V0cSB2ZXJzaW9uIHRhZykNCisgICAgICAgICAg ICAoY2wtcmV0dXJuKSkpKSkNCisgICAgKGxpc3QgOnZlcnNpb24gdmVyc2lv biA6bGF0ZXN0LXZlcnNpb24gbGF0ZXN0LXZlcnNpb24gOnRpbWVzdGFtcCB0 aW1lc3RhbXApKSkNCiANCiAoZGVmdW4gdHJlZXNpdC1hZG1pbi0tbGFzdC1j b21wYXRpYmxlLWdyYW1tYXItZm9yLW1vZGVzDQogICAgIChtb2RlcyBzb3Vy Y2UtYWxpc3QgZ3JhbW1hci1kaXIgJm9wdGlvbmFsIGVtYWNzLWV4ZWN1dGFi bGUpDQpAQCAtMzUzLDkgKzM1NCw5IEBAIHRyZWVzaXQtYWRtaW4tLWxhc3Qt Y29tcGF0aWJsZS1ncmFtbWFyLWZvci1tb2Rlcw0KIA0KIFJldHVybiBhbiBh bGlzdCBvZiBhbiBhbGlzdCBvZiBhIHBsaXN0Og0KIA0KLSAgICAoKE1PREUg LiAoKExBTkcgLiAoOnZlcnNpb24gVkVSU0lPTiA6aGVhZC1WRVJTSU9OIEhF QUQtVkVSU0lPTikpIC4uLikpIC4uLikNCisgICAgKChNT0RFIC4gKChMQU5H IC4gKDp2ZXJzaW9uIFZFUlNJT04gOmxhdGVzdC12ZXJzaW9uIExBVEVTVC1W RVJTSU9OKSkgLi4uKSkgLi4uKQ0KIA0KLVZFUlNJT04gYW5kIEhFQUQtVkVS U0lPTiBpbiB0aGUgcGxpc3QgYXJlIHRoZSBzYW1lIGFzIGluDQorVkVSU0lP TiBhbmQgTEFURVNULVZFUlNJT04gaW4gdGhlIHBsaXN0IGFyZSB0aGUgc2Ft ZSBhcyBpbg0KIGB0cmVlc2l0LWFkbWluLS1maW5kLWxhdGVzdC1jb21wYXRp YmxlLXJldmlzaW9uJy4iDQogICAobWFwY2FyDQogICAgKGxhbWJkYSAobW9k ZSkNCkBAIC00MjcsOSArNDI4LDkgQEAgdHJlZXNpdC1hZG1pbi0tZ2VuZXJh dGUtY29tcGF0aWJpbGl0eS1yZXBvcnQNCiAgICAgICAgICAgKGxldCogKChr ZXkgKGNvbnMgbGFuZyBlbWFjcy12ZXJzaW9uKSkNCiAgICAgICAgICAgICAg ICAgIChwbGlzdCAoZ2V0aGFzaCBrZXkgZGF0YWJhc2UpKQ0KICAgICAgICAg ICAgICAgICAgKHZlcnNpb24gKHBsaXN0LWdldCBwbGlzdCA6dmVyc2lvbikp DQotICAgICAgICAgICAgICAgICAoaGVhZC12ZXJzaW9uIChwbGlzdC1nZXQg cGxpc3QgOmhlYWQtdmVyc2lvbikpDQorICAgICAgICAgICAgICAgICAobGF0 ZXN0LXZlcnNpb24gKHBsaXN0LWdldCBwbGlzdCA6bGF0ZXN0LXZlcnNpb24p KQ0KICAgICAgICAgICAgICAgICAgKGNsYXNzbmFtZQ0KLSAgICAgICAgICAg ICAgICAgIChpZiAoZXF1YWwgdmVyc2lvbiBoZWFkLXZlcnNpb24pICJoZWFk IiAiIikpKQ0KKyAgICAgICAgICAgICAgICAgIChpZiAoZXF1YWwgdmVyc2lv biBsYXRlc3QtdmVyc2lvbikgImxhdGVzdCIgIiIpKSkNCiAgICAgICAgICAg ICAoaWYgKG5vdCBwbGlzdCkNCiAgICAgICAgICAgICAgICAgKGluc2VydCAi PHRkPjwvdGQ+IikNCiAgICAgICAgICAgICAgIChpbnNlcnQgKGZvcm1hdCAi PHRkIGNsYXNzPVwiJXNcIj4lczwvdGQ+Ig0KLS0gDQoyLjQ3LjENCg0K ---1463811584-1712113404-1735907190=:4880--