From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id e3HYLDs0AmROIwEAbAwnHQ (envelope-from ) for ; Fri, 03 Mar 2023 18:54:03 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id mC2GLDs0AmSpgAAA9RJhRA (envelope-from ) for ; Fri, 03 Mar 2023 18:54:03 +0100 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 769AB3B75C for ; Fri, 3 Mar 2023 18:54:02 +0100 (CET) Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=excalamus.com header.s=zmail header.b="NE2470/5"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=none; arc=pass ("zohomail.com:s=zohoarc:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1677866042; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=4Pwq0rKWyB30iUgMFjPjd0dX9iQ858taeIuwfMU0vAo=; b=kQdfn8ao2VKxZor1XAK7mdnHZomi8SuhJ0lfytJuPHuKUbCmwyXpW4aHLkddTQhcsaAcys c4VIv7JKRA8LytQoiITlxOWUqWA/K3Fo8/08Ru062UqUZBqJfCjjgfcdW1nIcyf1IgGYcG cFFi0/p0m26XyBVuvvRGXGPaZzLJ1xqLmuRR/RidY4RWZ2sYYF4lCdGz2Ut7EqsqFfVsUK jwBUw/v1WPlCYlVxdN4KexLv3JSdfEyXHGL2N/sSm2sUCL3DUTPAujUHwzWKJWooXvnPT4 yazvXbL1XQyaFgxB+pDkP20/8k+z+q0pHuyA1rsZrV2lWNWvBU1QckzkJKkVIw== ARC-Authentication-Results: i=2; aspmx1.migadu.com; dkim=pass header.d=excalamus.com header.s=zmail header.b="NE2470/5"; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=none; arc=pass ("zohomail.com:s=zohoarc:i=1") ARC-Seal: i=2; s=key1; d=yhetil.org; t=1677866042; a=rsa-sha256; cv=pass; b=oXO/hgo2WihhD3AinIFczP9Th1A0wKN46ay0Eo0B0+3Yka9voJY6YC4qFDJlJEDwu65Nit UvW9NuZDe9Frohpji5sY8OreY5gdlN74+5UJOnzk1gsRBRN7SywviH506Y/knGs1hoQ4xh PY19ZqeCIKtNWTSOAtdXdxlyWlBn8C5XpHxJ4412wUITqIU1BENcfQp47ZUWADu9OPnFGn DIP3u5q1hfTTaMkWcG3SAEAw24kkoO0za2FX+riwdW9iPULq+r7btkrptP2om2tlggDLmj ydGgjjD45p8EqrDyzgUA7CefgQQPVGfIzORd9fJDzjlqVXXqe0vpZj8xSCzfXA== Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1pY9b0-0007Sh-0U; Fri, 03 Mar 2023 12:53:30 -0500 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 1pY9ay-0007S6-5n for emacs-orgmode@gnu.org; Fri, 03 Mar 2023 12:53:28 -0500 Received: from sender4-op-o15.zoho.com ([136.143.188.15]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pY9aw-0007X5-BU for emacs-orgmode@gnu.org; Fri, 03 Mar 2023 12:53:27 -0500 ARC-Seal: i=1; a=rsa-sha256; t=1677866000; cv=none; d=zohomail.com; s=zohoarc; b=SKHD6Zb25FlHfkh//lCf4FYg0ZvkHX13sweoFGZjBx0DIr4nGBzVHQETDfNEaXjgKFDqAmLEQf/mTxR74Hc+Qm7WqLUkQCUU0mMtc2hFdVi72HEeEVAt0JSFm3HLeP8SwkqwCKcsNRKGSW7/ji005x3E9nSffAk4HBtxzNvEgyA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1677866000; h=Content-Type:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=4Pwq0rKWyB30iUgMFjPjd0dX9iQ858taeIuwfMU0vAo=; b=RbcnlxoQzo9zGb3o/CUTgbStxOf9n0xgSeagJdsI0vGF6ngcwPUe51MhxZjy9HJ4p+BOuItT1pQFy/epdZC6EaqLHr2T5LiuahV5oWM9QmCqiGVat6WhOz8xlMHc9WNZZK9LeGvvhyt9V6MLjwMmek0kfjAPQQY9cA3duSnKORg= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass header.i=excalamus.com; spf=pass smtp.mailfrom=matt@excalamus.com; dmarc=pass header.from= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; t=1677866000; s=zmail; d=excalamus.com; i=matt@excalamus.com; h=Date:Date:From:From:To:To:Cc:Cc:Message-Id:Message-Id:In-Reply-To:References:Subject:Subject:MIME-Version:Content-Type:Reply-To; bh=4Pwq0rKWyB30iUgMFjPjd0dX9iQ858taeIuwfMU0vAo=; b=NE2470/5geXKGbDwWmjPhehFJstrNS9H2rbaw5i3KjRXRrjL2yNNmF+arSI6eGBK yHQZ98e1gQtImf278d76XSkV1nh2vCzi7EhqxBmQLSKkx6WVEZRKcb0EWOojRA8mTwF N0dnPfd+HnQLmlf/R98CdPSw0kBmZTOxjOpJug5U= Received: from mail.zoho.com by mx.zohomail.com with SMTP id 1677865998912333.142482412659; Fri, 3 Mar 2023 09:53:18 -0800 (PST) Date: Fri, 03 Mar 2023 12:53:18 -0500 From: Matt To: "Ihor Radchenko" Cc: "emacs-orgmode" Message-Id: <186a89b5a24.cc4913fe1885630.21323979015166045@excalamus.com> In-Reply-To: <87bkl96g6e.fsf@localhost> References: <186283d230a.129f5feb61660123.3289004102603503414@excalamus.com> <87v8kd8zzw.fsf@localhost> <1863472efe9.10fdd5ba4258906.5972264927968042941@excalamus.com> <87y1p7axpe.fsf@localhost> <1863d69188f.11e078bd1228881.451172865246440158@excalamus.com> <87fsbcbf47.fsf@localhost> <186471d8980.c36aecd0374444.2548279362371712281@excalamus.com> <87sff73r0g.fsf@localhost> <18658639a30.dec640641420614.2364646537016397698@excalamus.com> <87lekwd10z.fsf@localhost> <1866bf50874.bc4ef1a92164564.1238825567948423531@excalamus.com> <87r0ukefzv.fsf@localhost> <1866fda933d.cf33745c2396994.7118762013608820270@excalamus.com> <87sfeyc7qr.fsf@localhost> <1869ff63e3e.f8c4ed671354538.4585567073216319262@excalamus.com> <87bkl96g6e.fsf@localhost> Subject: Re: [PATCH] Async evaluation in ob-shell MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_6044913_10087022.1677865998884" Importance: Medium User-Agent: Zoho Mail X-Mailer: Zoho Mail X-Zoho-Virus-Status: 1 Received-SPF: pass client-ip=136.143.188.15; envelope-from=matt@excalamus.com; helo=sender4-op-o15.zoho.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-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: X-Migadu-Spam-Score: -10.26 X-Spam-Score: -10.26 X-Migadu-Scanner: scn0.migadu.com X-Migadu-Queue-Id: 769AB3B75C List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-TUID: 1ZqLU632TZSf ------=_Part_6044913_10087022.1677865998884 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: 7bit ---- On Fri, 03 Mar 2023 09:52:09 -0500 Ihor Radchenko wrote --- > I tried the patch, and I am getting failed tests: > > 1 unexpected results: > FAILED test-ob-shell/session-async-evaluation ((should (string= ": 1\n: 2\n" (buffer-substring-no-properties (point) (point-max)))) :form (string= ": 1\n: 2\n" ": 1\n: 2\n: org_babel_sh_prompt>\n") :value nil :explanation (arrays-of-different-length 8 31 ": 1\n: 2\n" ": 1\n: 2\n: org_babel_sh_prompt>\n" first-mismatch-at 8)) Sorry for missing that. The issue is that when I replaced `org-babel-sh-prompt' with `comint-prompt-regexp', the regexp no longer matches the output and grabs the next prompt. It looks like the reason is `comint-prompt-regexp' is set to "^org_babel_sh_prompt> *" (with two spaces between the '>' and '*'). Attached is a revised patch which removes one of the spaces by changing how `org-babel-sh-initiate-session' sets the `comint-prompt-regexp'. Another place this could be done is in the defvar for `org-babel-sh-prompt' itself (which ends with a space). However, I think it's customary to leave a trailing space for prompts? > > + (let ((uuid (org-id-uuid))) > > Do you need to use `org-id-uuid' here? ob-python directly uses `md5'. > If you still prefer org-id-uuid, we probably need to move it to > org-macs.el I just need a random string. `md5' would work for that. However, might it be better to update ob-R and ob-python to use `org-id-uuid'? Both of those manually declare the randomness. It's conceivable that someone may delete or mistype the number (100000000), resulting in a lower entropy. An md5 is also not a uuid, strictly speaking. Of course, the chance of collision is still basically zero and the cost of collision about the same. Using `org-id-uuid' would only provide a consistent way to do things. ------=_Part_6044913_10087022.1677865998884 Content-Type: application/octet-stream; name=0003-ob-shell-Add-async-evaluation.patch Content-Transfer-Encoding: base64 X-ZM_AttachId: 138971587988850100 Content-Disposition: attachment; filename=0003-ob-shell-Add-async-evaluation.patch RnJvbSA5NDFiYmFkYjkyMjA1MWY0MDQ5NDNjNThjOGYwYzY0ODI2MjNmODc2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBNYXR0aGV3IFRyemNpbnNraSA8bWF0dEBleGNhbGFtdXMuY29t PgpEYXRlOiBGcmksIDMgTWFyIDIwMjMgMTI6NDA6MTUgLTA1MDAKU3ViamVjdDogW1BBVENIXSBv Yi1zaGVsbDogQWRkIGFzeW5jIGV2YWx1YXRpb24KCiogb2Itc2hlbGwuZWwgKG9yZy1iYWJlbC1z aC1pbml0aWF0ZS1zZXNzaW9uKTogUmVtb3ZlIGV4dHJhIHNwYWNlIGZyb20KYGNvbWludC1wcm9t cHQtcmVnZXhwJy4KKG9yZy1iYWJlbC1zaC1ldmFsdWF0ZSk6IEFkZCBjb25kaXRpb24gZm9yIGFz eW5jIHdpdGhpbgpzZXNzaW9uLiAgQWxsb3cgOmFzeW5jIGhlYWRlciBhcmd1bWVudCB0byBiZSBl aXRoZXIgdCBvciBibGFuay4KCiogdGVzdC1vYi1zaGVsbC5lbDogQWRkIGNvbnN0IHJlZ2V4cCBm b3IgdXVpZHMuCih0ZXN0LW9iLXNoZWxsL3Nlc3Npb24tYXN5bmMtdmFsaWQtaGVhZGVyLWFyZy12 YWx1ZXMpOiBDaGVjayB0aGF0Cjphc3luYyBoZWFkZXIgd29ya3MgZm9yIGJvdGggdCBhbmQgYmxh bmsgdmFsdWVzLgoodGVzdC1vYi1zaGVsbC9zZXNzaW9uLWFzeW5jLWluc2VydHMtdXVpZC1iZWZv cmUtcmVzdWx0cy1hcmUtcmV0dXJuZWQpOgoodGVzdC1vYi1zaGVsbC9zZXNzaW9uLWFzeW5jLWV2 YWx1YXRpb24pOiBDaGVjayB0aGF0IGFzeW5jaHJvbm91c2x5CmV2YWx1YXRlZCByZXN1bHRzIGFy ZSBldmVudHVhbGx5IHBsYWNlZCBpbiB0aGUgYnVmZmVyLgoKTGluazogaHR0cHM6Ly9saXN0Lm9y Z21vZGUub3JnLzE4NjI4M2QyMzBhLjEyOWY1ZmViNjE2NjAxMjMuMzI4OTAwNDEwMjYwMzUwMzQx NEBleGNhbGFtdXMuY29tLwotLS0KIGxpc3Avb2Itc2hlbGwuZWwgICAgICAgICAgICAgIHwgNTYg KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KIHRlc3RpbmcvbGlzcC90ZXN0LW9i LXNoZWxsLmVsIHwgNTYgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmls ZXMgY2hhbmdlZCwgOTggaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvbGlzcC9vYi1zaGVsbC5lbCBiL2xpc3Avb2Itc2hlbGwuZWwKaW5kZXggOWU3YjQ1YTg5Li5k YjVkMmFhYmMgMTAwNjQ0Ci0tLSBhL2xpc3Avb2Itc2hlbGwuZWwKKysrIGIvbGlzcC9vYi1zaGVs bC5lbApAQCAtMjYyLDE5ICsyNjIsMjkgQEAgdmFyIG9mIHRoZSBzYW1lIHZhbHVlLiIKICAgICAg ICAgICAgICAoZm9ybWF0IG9yZy1iYWJlbC1wcm9tcHQtY29tbWFuZCBvcmctYmFiZWwtc2gtcHJv bXB0KSkKICAgICAgICAgICAgIChzZXRxLWxvY2FsIGNvbWludC1wcm9tcHQtcmVnZXhwCiAgICAg ICAgICAgICAgICAgICAgICAgICAoY29uY2F0ICJeIiAocmVnZXhwLXF1b3RlIG9yZy1iYWJlbC1z aC1wcm9tcHQpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgKiIpKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiKiIpKQogCSAgICA7OyBOZWVkZWQgZm9yIEVtYWNz IDIzIHNpbmNlIHRoZSBtYXJrZXIgaXMgaW5pdGlhbGx5CiAJICAgIDs7IHVuZGVmaW5lZCBhbmQg dGhlIGZpbHRlciBmdW5jdGlvbnMgdHJ5IHRvIHVzZSBpdCB3aXRob3V0CiAJICAgIDs7IGNoZWNr aW5nLgogCSAgICAoc2V0LW1hcmtlciBjb21pbnQtbGFzdC1vdXRwdXQtc3RhcnQgKHBvaW50KSkK IAkgICAgKGdldC1idWZmZXIgKGN1cnJlbnQtYnVmZmVyKSkpKSkpKQogCisoZGVmY29uc3Qgb2It c2hlbGwtYXN5bmMtaW5kaWNhdG9yICJlY2hvICdvYl9jb21pbnRfYXN5bmNfc2hlbGxfJXNfJXMn IgorICAiU2Vzc2lvbiBvdXRwdXQgZGVsaW1pdGVyIHRlbXBsYXRlLgorU2VlIGBvcmctYmFiZWwt Y29taW50LWFzeW5jLWluZGljYXRvcicuIikKKworKGRlZnVuIG9iLXNoZWxsLWFzeW5jLWNodW5r LWNhbGxiYWNrIChzdHJpbmcpCisgICJGaWx0ZXIgYXBwbGllZCB0byByZXN1bHRzIGJlZm9yZSBp bnNlcnRpb24uCitTZWUgYG9yZy1iYWJlbC1jb21pbnQtYXN5bmMtY2h1bmstY2FsbGJhY2snLiIK KyAgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyBjb21pbnQtcHJvbXB0LXJlZ2V4cCAiIiBzdHJp bmcpKQorCiAoZGVmdW4gb3JnLWJhYmVsLXNoLWV2YWx1YXRlIChzZXNzaW9uIGJvZHkgJm9wdGlv bmFsIHBhcmFtcyBzdGRpbiBjbWRsaW5lKQogICAiUGFzcyBCT0RZIHRvIHRoZSBTaGVsbCBwcm9j ZXNzIGluIEJVRkZFUi4KIElmIFJFU1VMVC1UWVBFIGVxdWFscyBgb3V0cHV0JyB0aGVuIHJldHVy biBhIGxpc3Qgb2YgdGhlIG91dHB1dHMKIG9mIHRoZSBzdGF0ZW1lbnRzIGluIEJPRFksIGlmIFJF U1VMVC1UWVBFIGVxdWFscyBgdmFsdWUnIHRoZW4KIHJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGxh c3Qgc3RhdGVtZW50IGluIEJPRFkuIgogICAobGV0KiAoKHNoZWJhbmcgKGNkciAoYXNzcSA6c2hl YmFuZyBwYXJhbXMpKSkKKyAgICAgICAgIChhc3luYyAob3JnLWJhYmVsLWNvbWludC11c2UtYXN5 bmMgcGFyYW1zKSkKIAkgKHJlc3VsdHMtcGFyYW1zIChjZHIgKGFzc3EgOnJlc3VsdC1wYXJhbXMg cGFyYW1zKSkpCiAJICh2YWx1ZS1pcy1leGl0LXN0YXR1cwogCSAgKG9yIChhbmQKQEAgLTMwNiwx OSArMzE2LDM3IEBAIHJldHVybiB0aGUgdmFsdWUgb2YgdGhlIGxhc3Qgc3RhdGVtZW50IGluIEJP RFkuIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uY2F0IChmaWxlLWxvY2Fs LW5hbWUgc2NyaXB0LWZpbGUpICAiICIgY21kbGluZSkpKSkpCiAJCShidWZmZXItc3RyaW5nKSkp KQogCSAgIChzZXNzaW9uCQkJOyBzZXNzaW9uIGV2YWx1YXRpb24KLQkgICAgKG1hcGNvbmNhdAot CSAgICAgIydvcmctYmFiZWwtc2gtc3RyaXAtd2VpcmQtbG9uZy1wcm9tcHQKLQkgICAgIChtYXBj YXIKLQkgICAgICAjJ29yZy10cmltCi0JICAgICAgKGJ1dGxhc3QgOyBSZW1vdmUgZW9lIGluZGlj YXRvcgotCSAgICAgICAob3JnLWJhYmVsLWNvbWludC13aXRoLW91dHB1dAotCQkgICAoc2Vzc2lv biBvcmctYmFiZWwtc2gtZW9lLW91dHB1dCB0IGJvZHkpCi0gICAgICAgICAgICAgICAgIChpbnNl cnQgKG9yZy10cmltIGJvZHkpICJcbiIKLSAgICAgICAgICAgICAgICAgICAgICAgICBvcmctYmFi ZWwtc2gtZW9lLWluZGljYXRvcikKLQkJIChjb21pbnQtc2VuZC1pbnB1dCBuaWwgdCkpCi0gICAg ICAgICAgICAgICA7OyBSZW1vdmUgYG9yZy1iYWJlbC1zaC1lb2UtaW5kaWNhdG9yJyBvdXRwdXQg bGluZS4KLQkgICAgICAgMSkpCi0JICAgICAiXG4iKSkKKyAgICAgICAgICAgIChpZiBhc3luYwor ICAgICAgICAgICAgICAgIChwcm9nbgorICAgICAgICAgICAgICAgICAgKGxldCAoKHV1aWQgKG9y Zy1pZC11dWlkKSkpCisgICAgICAgICAgICAgICAgICAgIChvcmctYmFiZWwtY29taW50LWFzeW5j LXJlZ2lzdGVyCisgICAgICAgICAgICAgICAgICAgICBzZXNzaW9uCisgICAgICAgICAgICAgICAg ICAgICAoY3VycmVudC1idWZmZXIpCisgICAgICAgICAgICAgICAgICAgICAib2JfY29taW50X2Fz eW5jX3NoZWxsX1xcKC4rP1xcKV9cXCguK1xcKSIKKyAgICAgICAgICAgICAgICAgICAgICdvYi1z aGVsbC1hc3luYy1jaHVuay1jYWxsYmFjaworICAgICAgICAgICAgICAgICAgICAgbmlsKQorICAg ICAgICAgICAgICAgICAgICAob3JnLWJhYmVsLWNvbWludC1hc3luYy1kZWxldGUtZGFuZ2xpbmct YW5kLWV2YWwKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlc3Npb24KKyAgICAgICAgICAgICAg ICAgICAgICAoaW5zZXJ0IChmb3JtYXQgb2Itc2hlbGwtYXN5bmMtaW5kaWNhdG9yICJzdGFydCIg dXVpZCkpCisgICAgICAgICAgICAgICAgICAgICAgKGNvbWludC1zZW5kLWlucHV0IG5pbCB0KQor ICAgICAgICAgICAgICAgICAgICAgIChpbnNlcnQgKG9yZy10cmltIGJvZHkpKQorICAgICAgICAg ICAgICAgICAgICAgIChjb21pbnQtc2VuZC1pbnB1dCBuaWwgdCkKKyAgICAgICAgICAgICAgICAg ICAgICAoaW5zZXJ0IChmb3JtYXQgb2Itc2hlbGwtYXN5bmMtaW5kaWNhdG9yICJlbmQiIHV1aWQp KQorICAgICAgICAgICAgICAgICAgICAgIChjb21pbnQtc2VuZC1pbnB1dCBuaWwgdCkpCisgICAg ICAgICAgICAgICAgICAgIHV1aWQpKQorCSAgICAgIChtYXBjb25jYXQKKwkgICAgICAgIydvcmct YmFiZWwtc2gtc3RyaXAtd2VpcmQtbG9uZy1wcm9tcHQKKwkgICAgICAgKG1hcGNhcgorCSAgICAg ICAgIydvcmctdHJpbQorCSAgICAgICAgKGJ1dGxhc3QgOyBSZW1vdmUgZW9lIGluZGljYXRvcgor CSAgICAgICAgIChvcmctYmFiZWwtY29taW50LXdpdGgtb3V0cHV0CisJCSAgICAgKHNlc3Npb24g b3JnLWJhYmVsLXNoLWVvZS1vdXRwdXQgdCBib2R5KQorICAgICAgICAgICAgICAgICAgIChpbnNl cnQgKG9yZy10cmltIGJvZHkpICJcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yZy1i YWJlbC1zaC1lb2UtaW5kaWNhdG9yKQorCQkgICAoY29taW50LXNlbmQtaW5wdXQgbmlsIHQpKQor ICAgICAgICAgICAgICAgICA7OyBSZW1vdmUgYG9yZy1iYWJlbC1zaC1lb2UtaW5kaWNhdG9yJyBv dXRwdXQgbGluZS4KKwkgICAgICAgICAxKSkKKwkgICAgICAgIlxuIikpKQogCSAgIDs7IEV4dGVy bmFsIHNoZWxsIHNjcmlwdCwgd2l0aCBvciB3aXRob3V0IGEgcHJlZGVmaW5lZAogCSAgIDs7IHNo ZWJhbmcuCiAJICAgKChvcmctc3RyaW5nLW53LXAgc2hlYmFuZykKZGlmZiAtLWdpdCBhL3Rlc3Rp bmcvbGlzcC90ZXN0LW9iLXNoZWxsLmVsIGIvdGVzdGluZy9saXNwL3Rlc3Qtb2Itc2hlbGwuZWwK aW5kZXggODM2NmY5ZGJlLi5jNTZhNzZhY2YgMTAwNjQ0Ci0tLSBhL3Rlc3RpbmcvbGlzcC90ZXN0 LW9iLXNoZWxsLmVsCisrKyBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9iLXNoZWxsLmVsCkBAIC0zMyw2 ICszMyw5IEBACiAKIChvcmctdGVzdC1mb3ItZXhlY3V0YWJsZSAic2giKQogCisoZGVmY29uc3Qg dGVzdC1vYi1zaGVsbC91dWlkLXJlZ2V4CisgICJbMC05YS1mQS1GXVxcezhcXH1cXGItWzAtOWEt ZkEtRl1cXHs0XFx9XFxiLVswLTlhLWZBLUZdXFx7NFxcfVxcYi1bMC05YS1mQS1GXVxcezRcXH1c XGItWzAtOWEtZkEtRl1cXHsxMlxcfSIpCisKIAwKIDs7OyBDb2RlOgogKGVydC1kZWZ0ZXN0IHRl c3Qtb2Itc2hlbGwvZG9udC1pbnNlcnQtc3BhY2VzLW9uLWV4cGFuZGVkLWJvZGllcyAoKQpAQCAt NzUsNiArNzgsNTkgQEAgdGhlIGJvZHkgb2YgdGhlIHRhbmdsZWQgYmxvY2sgZG9lcy4iCiAgICAg KGlmIChzaG91bGQgKGVxdWFsICcoKDEpICgyKSkgcmVzdWx0KSkKICAgICAgICAgKGtpbGwtYnVm ZmVyIHNlc3Npb24tbmFtZSkpKSkKIAorKGVydC1kZWZ0ZXN0IHRlc3Qtb2Itc2hlbGwvc2Vzc2lv bi1hc3luYy12YWxpZC1oZWFkZXItYXJnLXZhbHVlcyAoKQorICAiVGVzdCB0aGF0IHNlc3Npb24g cnVucyBhc3luY2hyb25vdXNseSBmb3IgY2VydGFpbiA6YXN5bmMgdmFsdWVzLiIKKyAgKGxldCAo KHNlc3Npb24tbmFtZSAidGVzdC1vYi1zaGVsbC9zZXNzaW9uLWFzeW5jLXZhbGlkLWhlYWRlci1h cmctdmFsdWVzIikKKyAgICAgICAgKGtpbGwtYnVmZmVyLXF1ZXJ5LWZ1bmN0aW9ucyBuaWwpKQor ICAgIChkb2xpc3QgKGFyZy12YWwgJygidCIgIiIpKQorICAgICAob3JnLXRlc3Qtd2l0aC10ZW1w LXRleHQKKyAgICAgICAgIChjb25jYXQgIiMrYmVnaW5fc3JjIHNoIDpzZXNzaW9uICIgc2Vzc2lv bi1uYW1lICIgOmFzeW5jICIgYXJnLXZhbCAiCitlY2hvIDE8cG9pbnQ+CisjK2VuZF9zcmMiKQor ICAgICAgIChpZiAoc2hvdWxkCisgICAgICAgICAgICAoc3RyaW5nLW1hdGNoCisgICAgICAgICAg ICAgdGVzdC1vYi1zaGVsbC91dWlkLXJlZ2V4CisgICAgICAgICAgICAgKG9yZy10cmltIChvcmct YmFiZWwtZXhlY3V0ZS1zcmMtYmxvY2spKSkpCisgICAgICAgICAgIChraWxsLWJ1ZmZlciBzZXNz aW9uLW5hbWUpKSkpKSkKKworKGVydC1kZWZ0ZXN0IHRlc3Qtb2Itc2hlbGwvc2Vzc2lvbi1hc3lu Yy1pbnNlcnRzLXV1aWQtYmVmb3JlLXJlc3VsdHMtYXJlLXJldHVybmVkICgpCisgICJUZXN0IHRo YXQgYSB1dWlkIHBsYWNlaG9sZGVyIGlzIGluc2VydGVkIGJlZm9yZSByZXN1bHRzIGFyZSBpbnNl cnRlZC4iCisgIChsZXQgKChzZXNzaW9uLW5hbWUgInRlc3Qtb2Itc2hlbGwvc2Vzc2lvbi1hc3lu Yy1pbnNlcnRzLXV1aWQtYmVmb3JlLXJlc3VsdHMtYXJlLXJldHVybmVkIikKKyAgICAgICAgKGtp bGwtYnVmZmVyLXF1ZXJ5LWZ1bmN0aW9ucyBuaWwpKQorICAgIChvcmctdGVzdC13aXRoLXRlbXAt dGV4dAorICAgICAgICAoY29uY2F0ICIjK2JlZ2luX3NyYyBzaCA6c2Vzc2lvbiAiIHNlc3Npb24t bmFtZSAiIDphc3luYyB0CitlY2hvIDE8cG9pbnQ+CisjK2VuZF9zcmMiKQorICAgICAgKGlmIChz aG91bGQKKyAgICAgICAgICAgKHN0cmluZy1tYXRjaAorICAgICAgICAgICAgdGVzdC1vYi1zaGVs bC91dWlkLXJlZ2V4CisgICAgICAgICAgICAob3JnLXRyaW0gKG9yZy1iYWJlbC1leGVjdXRlLXNy Yy1ibG9jaykpKSkKKyAgICAgICAgICAoa2lsbC1idWZmZXIgc2Vzc2lvbi1uYW1lKSkpKSkKKwor KGVydC1kZWZ0ZXN0IHRlc3Qtb2Itc2hlbGwvc2Vzc2lvbi1hc3luYy1ldmFsdWF0aW9uICgpCisg ICJUZXN0IHRoZSBhc3luYyBldmFsdWF0aW9uIHByb2Nlc3MuIgorICAobGV0KiAoKHNlc3Npb24t bmFtZSAidGVzdC1vYi1zaGVsbC9zZXNzaW9uLWFzeW5jLWV2YWx1YXRpb24iKQorICAgICAgICAg KGtpbGwtYnVmZmVyLXF1ZXJ5LWZ1bmN0aW9ucyBuaWwpCisgICAgICAgICAoc3RhcnQtdGltZSAo Y3VycmVudC10aW1lKSkKKyAgICAgICAgICh3YWl0LXRpbWUgKHRpbWUtYWRkIHN0YXJ0LXRpbWUg MykpCisgICAgICAgICB1dWlkLXBsYWNlaG9sZGVyKQorICAgIChvcmctdGVzdC13aXRoLXRlbXAt dGV4dAorICAgICAgICAoY29uY2F0ICIjK2JlZ2luX3NyYyBzaCA6c2Vzc2lvbiAiIHNlc3Npb24t bmFtZSAiIDphc3luYyB0CitlY2hvIDEKK2VjaG8gMjxwb2ludD4KKyMrZW5kX3NyYyIpCisgICAg ICAoc2V0cSB1dWlkLXBsYWNlaG9sZGVyIChvcmctdHJpbSAob3JnLWJhYmVsLWV4ZWN1dGUtc3Jj LWJsb2NrKSkpCisgICAgICAoY2F0Y2ggJ3Rvby1sb25nCisgICAgICAgICh3aGlsZSAoc3RyaW5n LW1hdGNoIHV1aWQtcGxhY2Vob2xkZXIgKGJ1ZmZlci1zdHJpbmcpKQorICAgICAgICAgIChwcm9n bgorICAgICAgICAgICAgKHNsZWVwLWZvciAwLjAxKQorICAgICAgICAgICAgKHdoZW4gKHRpbWUt bGVzcy1wIHdhaXQtdGltZSAoY3VycmVudC10aW1lKSkKKyAgICAgICAgICAgICAgKHRocm93ICd0 b28tbG9uZyAoZXJ0LWZhaWwgIlRvb2sgdG9vIGxvbmcgdG8gZ2V0IHJlc3VsdCBmcm9tIGNhbGxi YWNrIikpKSkpKQorICAgIChzZWFyY2gtZm9yd2FyZCAiIytyZXN1bHRzIikKKyAgICAoYmVnaW5u aW5nLW9mLWxpbmUgMikKKyAgICAoaWYgKHNob3VsZCAoc3RyaW5nPSAiOiAxXG46IDJcbiIgKGJ1 ZmZlci1zdWJzdHJpbmctbm8tcHJvcGVydGllcyAocG9pbnQpIChwb2ludC1tYXgpKSkpCisgICAg ICAgICAgKGtpbGwtYnVmZmVyIHNlc3Npb24tbmFtZSkpKSkpCisKIChlcnQtZGVmdGVzdCB0ZXN0 LW9iLXNoZWxsL2dlbmVyaWMtdXNlcy1uby1hcnJheXMgKCkKICAgIlRlc3QgZ2VuZXJpYyBzZXJp YWxpemF0aW9uIG9mIGFycmF5IGludG8gYSBzaW5nbGUgc3RyaW5nLiIKICAgKG9yZy10ZXN0LXdp dGgtdGVtcC10ZXh0Ci0tIAoyLjM5LjEKCg== ------=_Part_6044913_10087022.1677865998884--