From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id QNVXJHJddWLTUwEAbAwnHQ (envelope-from ) for ; Fri, 06 May 2022 19:40:02 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id UImFI3JddWInBQEAG6o9tA (envelope-from ) for ; Fri, 06 May 2022 19:40:02 +0200 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 1DAE23713B for ; Fri, 6 May 2022 19:40:02 +0200 (CEST) Received: from localhost ([::1]:37838 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nn1GS-00018Z-Tf for larch@yhetil.org; Fri, 06 May 2022 12:57:12 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:46438) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nn1Fd-00015M-7m; Fri, 06 May 2022 12:56:21 -0400 Received: from mail-lf1-x129.google.com ([2a00:1450:4864:20::129]:44756) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1nn1Fb-0001hz-8N; Fri, 06 May 2022 12:56:20 -0400 Received: by mail-lf1-x129.google.com with SMTP id w19so13572881lfu.11; Fri, 06 May 2022 09:56:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:message-id:date:mime-version:user-agent:subject :content-language:from:to:cc:references:in-reply-to; bh=+UCMYkUFkTAS56rH3VcLEadAD+isS3PN0uZouiYsy+8=; b=CYGe56xLDy35awJRs7/GQ9yfWWGr8wuRN7O0EOPESoOtZIyJ7vUN2kOjcqbs5lmmrO 9ThyJ2wypPJc5kuU2lAO8Ol+ytIKCUSTlZ/Gh3d71HFNAbQdkmO1vBNJMV/5x4n91F+T CxjF+qO67MgLooiXV4Vc4nxb54DnCAaa/PJHYgJSr5J7fCkYzzmmsD76uqb0oWddWPmr BB516iImx52C2qbDq2DlKeZokoHs4rdxAQsj1KHAOFduIFRU6w1+e6f66h8a4cGiQSSo Gc3+BYHYAjO38M/EeKMZ3xGbswmTt9UW5Iq6TsHaDd61DFmzoqLJT+i1JqLOhYBTO7Dr fOHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:message-id:date:mime-version:user-agent :subject:content-language:from:to:cc:references:in-reply-to; bh=+UCMYkUFkTAS56rH3VcLEadAD+isS3PN0uZouiYsy+8=; b=YJRDBZ1AEDhHwyGjDe9h6Sexd5uFPwwhKVapdj9RC0IVZ/6VyfSTzSfPKVwodaK4Fd OdCh+NACpJnJkNmE87cR7tJ13Ax0FJ3DKs38aCxWmN35kUo4MrbDW4y1pMEkW3YD3WEV dPEbZ2UDyjbJNQpw2vHiKeg/AaAynRXhwqnrZt8mXOrrfza7JLTRaLZfFdN46YDzQA5X hr03SC/VOTrFQR8K+VlJmcyxeCj0Y2ULtue7Mqs9ZSJeyBw/AWIGF9BtcZ1UFIyGTMDY k3/wnniGyg955nPQ7PjXfn111MMdyIvRqc4F36V8kqUA5wv6EFMOaHUPtRiK05oArC2+ C+yQ== X-Gm-Message-State: AOAM531tFHDxPYpKPEGFTHgj4Jk4PlYMoFtCVfyksUXV1Wu9oqfM2u1A qns+pnFq7Ax6G2atFGhPdZc= X-Google-Smtp-Source: ABdhPJzAu3IV04xFZkgkA1IlaXTGWkB+8LLHsj8cvIiphh93xPv++UOCUQ9PTPgYfDIits+s68QG+A== X-Received: by 2002:a19:e007:0:b0:44a:a22d:2d49 with SMTP id x7-20020a19e007000000b0044aa22d2d49mr3062867lfg.254.1651856170744; Fri, 06 May 2022 09:56:10 -0700 (PDT) Received: from [192.168.0.101] (nat-0-0.nsk.sibset.net. [5.44.169.188]) by smtp.googlemail.com with ESMTPSA id f14-20020a05651232ce00b0047255d2114csm747022lfg.123.2022.05.06.09.56.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 06 May 2022 09:56:09 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------h3X64r0bq7u81zJ9Vj6A03Fb" Message-ID: Date: Fri, 6 May 2022 23:56:08 +0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.8.1 Subject: [PATCH] org-macs.el: Do not compare wall time and file modification time Content-Language: en-US From: Max Nikulin To: Paul Eggert , Bastien Cc: emacs-orgmode , emacs-devel@gnu.org References: <106f5128-680b-f25e-1316-f7308c49b625@gmail.com> <439411c0-7dae-9dfd-373a-c3779469003f@gmail.com> In-Reply-To: <439411c0-7dae-9dfd-373a-c3779469003f@gmail.com> Received-SPF: pass client-ip=2a00:1450:4864:20::129; envelope-from=manikulin@gmail.com; helo=mail-lf1-x129.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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 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: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-To: larch@yhetil.org X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1651858802; 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=+UCMYkUFkTAS56rH3VcLEadAD+isS3PN0uZouiYsy+8=; b=DR+34ol3rOFQ87SKWjwEFuQrQIewVnBFlhFgv6QnXn1zra+s778VOHbPIxbaxwzSmV+CU5 uAuxgLO2QnKvpmc5yRYgtSPJssu9GCV8EgQIe/lM/gaSmMS2saRQ9ywSCZWmrkNitUrisJ K1hw+/vwan5QKUKetygKg96sO9LiO6hBylKFk45rItvaFtZsWwpLitXLx8WKj/XglKi2Ga 2WX8a+Bpb072PzoAtiA3FKdKucQ2RT5xPtf3qwhicXjGnPVqgT7GA6IwZ0b3mbfYxwMfD2 9PyG4TeJMzpG/hV97c/fnC5bdtyDebfhcx4pOlGRuFkyh0ebGtF2VHuM1ldrSg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1651858802; a=rsa-sha256; cv=none; b=Mxf/FoiJ5iV1hp53HDmbULyfq431Wq5yx36jagjASAyvjgPznq6EAbHCtVKcWr91IxAHCH 12E8fv+5q6iE7hcTnOEkdFEa5XtVgmdOj11p2K4UfzL2/dIJ1yxHJm6YbcRNVU+wLGdrNW 3e68SHkTyUdNmwau5bgPsLqTMSzMDFxNfbwaVUf74jhpcNhwXPCS0IO5/E/7BhlEogkhyf qZ3pM8jCrw2tvbPmGtiGOLOM0AK/dWwdO64ByZDML3lu+tMO+RD+lCDlZNDWu8+tGKzQDM K5MFn6fh6rMZm4V0KsV6dQKA2tg/6T5uuOuAImdeTIlS93gaP/dhFe1pfPtlCQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=CYGe56xL; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); 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" X-Migadu-Spam-Score: 10.10 X-Spam: Yes Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=CYGe56xL; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); 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" X-Migadu-Queue-Id: 1DAE23713B X-Spam-Score: 10.10 X-Migadu-Spam: Yes X-Migadu-Scanner: scn0.migadu.com X-TUID: H1FqqQlpkYCC This is a multi-part message in MIME format. --------------h3X64r0bq7u81zJ9Vj6A03Fb Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Mark Barton to emacs-orgmode, emacs-devel. master 4a1f69ebca 2/2: Use (TICKS . HZ) for current-time etc. Tue, 26 Apr 2022 23:37:50 -0700. https://list.orgmode.org/BF5B9308-3FEF-4DC6-98C9-BFF36F19D36C@gmail.com > > The change also breaks org-file-newer-than-p function that triggered the > debugger while loading my init that uses org babel. I think, it should be fixed in the bugfix Org branch. The attached patch is a compromise to some degree, but I do not see a robust solution. I do not consider current behavior as reliable, however if you would prefer to keep it, the following patch may be used instead: Paul Eggert to emacs-orgmode. Re: master 4a1f69ebca 2/2: Use (TICKS . HZ) for current-time etc. Wed, 27 Apr 2022 00:39:01 -0700. https://list.orgmode.org/f200c9ab-d1d4-d5a8-24cf-4e1082528fe7@cs.ucla.edu The changes are not covered by unit tests at least when most babel languages are disabled. On 30/04/2022 17:56, Max Nikulin wrote: > >     (and mtime (not (and time (time-less-p mtime time)))) Treating equality as "newer" would break `org-compile-file', so I changed the condition. Previously it was not a case since file modification time is usually in the past in comparison to current time. > On 30/04/2022 01:10, Paul Eggert wrote: >> + (when-let ((mtime (file-attribute-modification-time (file-attributes file)))) >> + (time-less-p time mtime))) > `file-attribute-modification-time' makes code clearer, but it causes > some complications. Formally compatibility with Emacs-25 (e.g. > ubuntu-18.04 LTS bionic) is not required for the "main" branch. Emacs > sources have the "bugfix" Org branch of the stable release though. The > latter still supports Emacs-25, so either the Emacs source tree and the > Org bugfix branch will diverge at this point or it is safer to avoid > `file-attribute-modification-time' till the next major Org release. > Maybe Org maintainers and developers will correct me. I have found `file-attribute-modification-time' in org-compat.el. --------------h3X64r0bq7u81zJ9Vj6A03Fb Content-Type: text/x-patch; charset=UTF-8; name="0001-org-macs.el-Do-not-compare-wall-time-and-file-modifi.patch" Content-Disposition: attachment; filename*0="0001-org-macs.el-Do-not-compare-wall-time-and-file-modifi.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSBkMzdiNWJiMjk1YzY5NTcyZDE2MTVlN2ZiMmMwYmNjZTA1Y2IyYjU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNYXggTmlrdWxpbiA8bWFuaWt1bGluQGdtYWlsLmNv bT4KRGF0ZTogRnJpLCA2IE1heSAyMDIyIDIzOjM0OjUyICswNzAwClN1YmplY3Q6IFtQQVRD SF0gb3JnLW1hY3MuZWw6IERvIG5vdCBjb21wYXJlIHdhbGwgdGltZSBhbmQgZmlsZSBtb2Rp ZmljYXRpb24KIHRpbWUKCiogbGlzcC9vcmctbWFjcy5lbCAob3JnLWZpbGUtbmV3ZXItdGhh bi1wKTogRml4IEVtYWNzLTI5IHByb2JsZW0gd2l0aApjaGFuZ2VkIHJlcHJlc2VudGF0aW9u IG9mIHN5c3RlbSBjbG9jayB0aW1lc3RhbXAuICBSZWNvbW1lbmQgcGFzc2luZwpmaWxlIG1v ZGlmaWNhdGlvbiB0aW1lIGFuZCBkbyBub3QgdHJ1bmNhdGUgaXRzIHByZWNpc2lvbi4KKG9y Zy1jb21waWxlLWZpbGUpOiBTdG9yZSBmaWxlIG1vZGlmaWNhdGlvbiB0aW1lIGluc3RlYWQg b2Ygc3lzdGVtIGNsb2NrCmZvciBsYXRlciBjb21wYXJpc29uIGJ5IGBvcmctZmlsZS1uZXdl ci10aGFuLXAnLgoKSXQgY2hhbmdlcyBiZWhhdmlvciBvZiBgb3JnLWJhYmVsLWxvYWQtZmls ZScgZm9yIHRoZSBjYXNlIG9mIGVxdWFsCm1vZGlmaWNhdGlvbiB0aW1lIG9mIHNvdXJjZSBh bmQgdGFuZ2xlZCBmaWxlcyB0aGF0IG1heSBoYXBwZW4gb24KZmlsZXN5c3RlbXMgd2l0aCBj b2Fyc2UgdGltZXN0YW1wcywgZm9yIGV4YW1wbGUgSEZTKy4gIFRoZSBmaWxlIHdpbGwgYmUK dGFuZ2xlZCBhZ2Fpbi4gIFRyZWF0aW5nIGVxdWFsIHRpbWVzdGFtcHMgYXMgdXAgdG8gZGF0 ZSBzdGF0ZSB3b3VsZApicmVhayBgb3JnLWNvbXBpbGUtZmlsZScgaG93ZXZlci4gIEFueXdh eSB0aW1lIGNvbXBhcmlzb24gaXMgbm90IHJlYWxseQpyZWxpYWJsZSBzaW5jZSBwcmVjaXNp b24gb2YgZmlsZXN5c3RlbSB0aW1lc3RhbXBzIGlzIHVua25vd24gYW5kIGl0CmRpZmZlcnMg ZnJvbSBzeXN0ZW0gY2xvY2sgcHJlY2lzaW9uLgoKUmVwb3J0ZWQgYnkgTWFyayBCYXJ0b24g PG1iYXJ0b245OEBnbWFpbC5jb20+Cmh0dHBzOi8vbGlzdC5vcmdtb2RlLm9yZy9CRjVCOTMw OC0zRkVGLTREQzYtOThDOS1CRkYzNkYxOUQzNkNAZ21haWwuY29tCgpEdXJpbmcgZGlzY3Vz c2lvbiBvZiB0aGUgaXNzdWUgUGF1bCBFZ2dlcnQgPGVnZ2VydEBjcy51Y2xhLmVkdT4Kc3Vn Z2VzdGVkIG92ZXIgdmFyaWFudHMgb2YgdGhlIGNoYW5nZXMgaW4gdGhlIHNhbWUgdGhyZWFk LgotLS0KIGxpc3Avb3JnLW1hY3MuZWwgfCAzMiArKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDIxIGluc2VydGlvbnMoKyksIDExIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2xpc3Avb3JnLW1hY3MuZWwgYi9saXNwL29yZy1tYWNzLmVs CmluZGV4IGIxMDcyNWJkNS4uNTU2YmY2NThkIDEwMDY0NAotLS0gYS9saXNwL29yZy1tYWNz LmVsCisrKyBiL2xpc3Avb3JnLW1hY3MuZWwKQEAgLTI1NiwxNiArMjU2LDI2IEBAIGlnbm9y ZWQgaW4gdGhpcyBjYXNlLiIKIDs7OyBGaWxlCiAKIChkZWZ1biBvcmctZmlsZS1uZXdlci10 aGFuLXAgKGZpbGUgdGltZSkKLSAgIk5vbi1uaWwgaWYgRklMRSBpcyBuZXdlciB0aGFuIFRJ TUUuCi1GSUxFIGlzIGEgZmlsZW5hbWUsIGFzIGEgc3RyaW5nLCBUSU1FIGlzIGEgbGlzdCBv ZiBpbnRlZ2VycywgYXMKLXJldHVybmVkIGJ5LCBlLmcuLCBgY3VycmVudC10aW1lJy4iCi0g IChhbmQgKGZpbGUtZXhpc3RzLXAgZmlsZSkKLSAgICAgICA7OyBPbmx5IGNvbXBhcmUgdGlt ZXMgdXAgdG8gd2hvbGUgc2Vjb25kcyBhcyBzb21lIGZpbGUtc3lzdGVtcwotICAgICAgIDs7 IChlLmcuIEhGUyspIGRvIG5vdCByZXRhaW4gYW55IGZpbmVyIGdyYW51bGFyaXR5LiAgQXMK LSAgICAgICA7OyBhIGNvbnNlcXVlbmNlLCBtYWtlIHN1cmUgd2UgcmV0dXJuIG5vbi1uaWwg d2hlbiB0aGUgdHdvCi0gICAgICAgOzsgdGltZXMgYXJlIGVxdWFsLgotICAgICAgIChub3Qg KHRpbWUtbGVzcy1wIChjbC1zdWJzZXEgKG50aCA1IChmaWxlLWF0dHJpYnV0ZXMgZmlsZSkp IDAgMikKLQkJCSAoY2wtc3Vic2VxIHRpbWUgMCAyKSkpKSkKKyAgIk5vbi1uaWwgaWYgRklM RSBtb2RpZmljYXRpb24gdGltZSBpcyBncmVhdGVyIHRoYW4gVElNRS4KK1RJTUUgc2hvdWxk IGJlIG9idGFpbmVkIGVhcmxpZXIgZm9yIHRoZSBzYW1lIEZJTEUgbmFtZSB1c2luZworCisg IChmaWxlLWF0dHJpYnV0ZS1tb2RpZmljYXRpb24tdGltZSAoZmlsZS1hdHRyaWJ1dGVzIGZp bGUpKQorCitJZiBUSU1FIGlzIG5pbCAoZmlsZSBkaWQgbm90IGV4aXN0KSB0aGVuIGFueSBl eGlzdGluZyBGSUxFCitpcyBjb25zaWRlcmVkIGFzIGEgbmV3ZXIgb25lLiAgU29tZSBmaWxl IHN5c3RlbXMgaGF2ZSBjb2Fyc2UKK3RpbWVzdGFtcCByZXNvbHV0aW9uLCBmb3IgZXhhbXBs ZSAxIHNlY29uZCBvbiBIRlMrIG9yIDIgc2Vjb25kcyBvbiBGQVQsCitzbyBuaWwgbWF5IGJl IHJldHVybmVkIHdoZW4gZmlsZSBpcyB1cGRhdGVkIHR3aWNlIHdpdGhpbiBhIHNob3J0IHBl cmlvZAorb2YgdGltZS4gIEZpbGUgdGltZXN0YW1wIGFuZCBzeXN0ZW0gY2xvY2sgYGN1cnJl bnQtdGltZScgbWF5IGhhdmUKK2RpZmZlcmVudCByZXNvbHV0aW9uLCBzbyBhdHRlbXB0cyB0 byBjb21wYXJlIHRoZW0gbWF5IGdpdmUgdW5leHBlY3RlZAorcmVzdWx0cy4KKworQXR0ZW1w dCB0byBjaGVjayB3aGV0aGVyIGEgZGVyaXZlZCBmaWxlIGhhcyBiZWVuIHVwZGF0ZWQgaW4K K3Jlc3BvbnNlIHRvIG1vZGlmaWNhdGlvbiBvZiBpdHMgc291cmNlIGZpbGUgbWF5IGdpdmUg dW5yZWxpYWJsZQorcmVzdWx0LiAgRXF1YWwgdGltZXN0YW1wcyBpbiBzdWNoIGNhc2UgbWF5 IG1lYW4gdGhhdCB0aGUgZGVyaXZlZAorZmlsZSBpcyB1cCB0byBkYXRlIGhvd2V2ZXIgdGhp cyBmdW5jdGlvbiByZXR1cm5zIG5pbCBhc3N1bWluZwordGhhdCB0aGUgRklMRSBpcyBub3Qg bW9kaWZpZWQuIgorICAobGV0ICgobXRpbWUgKGZpbGUtYXR0cmlidXRlLW1vZGlmaWNhdGlv bi10aW1lIChmaWxlLWF0dHJpYnV0ZXMgZmlsZSkpKSkKKyAgICAoYW5kIG10aW1lIChvciAo bm90IHRpbWUpICh0aW1lLWxlc3MtcCB0aW1lIG10aW1lKSkpKSkKIAogKGRlZnVuIG9yZy1j b21waWxlLWZpbGUgKHNvdXJjZSBwcm9jZXNzIGV4dCAmb3B0aW9uYWwgZXJyLW1zZyBsb2ct YnVmIHNwZWMpCiAgICJDb21waWxlIGEgU09VUkNFIGZpbGUgdXNpbmcgUFJPQ0VTUy4KQEAg LTI5OSw3ICszMDksNyBAQCBpdCBmb3Igb3V0cHV0LiIKIAkgKGZ1bGwtbmFtZSAoZmlsZS10 cnVlbmFtZSBzb3VyY2UpKQogCSAob3V0LWRpciAob3IgKGZpbGUtbmFtZS1kaXJlY3Rvcnkg c291cmNlKSAiLi8iKSkKIAkgKG91dHB1dCAoZXhwYW5kLWZpbGUtbmFtZSAoY29uY2F0IGJh c2UtbmFtZSAiLiIgZXh0KSBvdXQtZGlyKSkKLQkgKHRpbWUgKGN1cnJlbnQtdGltZSkpCisJ ICh0aW1lIChmaWxlLWF0dHJpYnV0ZS1tb2RpZmljYXRpb24tdGltZSAoZmlsZS1hdHRyaWJ1 dGVzIG91dHB1dCkpKQogCSAoZXJyLW1zZyAoaWYgKHN0cmluZ3AgZXJyLW1zZykgKGNvbmNh dCAiLiAgIiBlcnItbXNnKSAiIikpKQogICAgIChzYXZlLXdpbmRvdy1leGN1cnNpb24KICAg ICAgIChwY2FzZSBwcm9jZXNzCi0tIAoyLjI1LjEKCg== --------------h3X64r0bq7u81zJ9Vj6A03Fb--