From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id MNILBlA9zmSvXAAASxT56A (envelope-from ) for ; Sat, 05 Aug 2023 14:15:12 +0200 Received: from aspmx1.migadu.com ([2001:41d0:306:2d92::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id 0KStBVA9zmRQZAEAauVa8A (envelope-from ) for ; Sat, 05 Aug 2023 14:15:12 +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 BF176341F7 for ; Sat, 5 Aug 2023 14:15:11 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20221208 header.b=mbvTX555; 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=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) ARC-Seal: i=1; s=key1; d=yhetil.org; t=1691237712; a=rsa-sha256; cv=none; b=UEdQDsSISXaAV66u1nB24VgTXVwInePXYndfc+80m8mCoEWwkyT4EwpIlnhIWkakGQVdq4 XGSBzP2Evi1C1tBBrqeA78OjB9U5V4zKXyTc5v69fcbYLuIWqUoOcKXnYVdeElKi6Hh313 5ZzJPE1rAY2mFXuU3vEJIQSyoaYRfhTN+W+OLMKBHEKOgVeOOJVoF1qXBgxIiD43fIeYJt H1c176fKPDW2FHf5mlqW0c/5gSbZ3SXHDhIQvDOPQtM/BYmUlaQTnecYLx+zVyvSryKQqn YF26Ld7ok8MoRbLDJXinRd620bOYriM+N0eFcV04dSE5qAhth8xEtI2Im9FhzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1691237712; 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=WJ+l5s0IyBC8E3RCJqHE7uz/DX1pYIRtlorlIVUgY24=; b=dZpRRUvyzMaIUbM/iWLQ9+tolOk3oRz3hsjamNIE1FpHTDcCwlGuw+MzxjKlmaQRcbVnEz oGre10JejbqevQ94e94g/y48XbsM3yqntPhvXvHu5PRP6OlZqR5h0tgprZ3vZP0fcdf2eo otdiZqQh2dJOLlWFdCNyTMZEwvYYI11ADD4eJB8HtTiFZ+EDREPO5b3NnSglN0WkTZiU8J +gioj8xDJ7AP3uB37oFbVMYpmCCxW/ChlNGPSGaR6Ft2B7oi6XISDKyRVQENArYEnWm7bJ cWkT6pftXBqVa1wZDffXHBFNiFdyQTNdJ0eVZYHubafAWDDLL9K2Wze2Kn+v0w== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20221208 header.b=mbvTX555; 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=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qSGAm-0000bg-NW; Sat, 05 Aug 2023 08:14:20 -0400 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 1qSGAk-0000a4-QQ for emacs-orgmode@gnu.org; Sat, 05 Aug 2023 08:14:18 -0400 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1qSGAi-0006aM-QZ; Sat, 05 Aug 2023 08:14:18 -0400 Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-4fe0eb0ca75so4753591e87.2; Sat, 05 Aug 2023 05:14:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691237654; x=1691842454; h=in-reply-to:mail-followup-to:from:references:cc:to:content-language :subject:user-agent:mime-version:date:message-id:sender:from:to:cc :subject:date:message-id:reply-to; bh=WJ+l5s0IyBC8E3RCJqHE7uz/DX1pYIRtlorlIVUgY24=; b=mbvTX5557CD3Xa3+MGdxdvxpuyPGli8Bgm9HmJdOdW6f05zGdaOADo/ksUVyLIudaw OefH/RCqLOYGgnCwUd+STqOnL9mrWo8Q28FyUQiKlS+532VMcKyNwYfiQWCwt+EG5XCK gioB1eWXQ5Hj5BUsX026Af8k9HI5QcG6eHGsOxstEf2F3QWubYURFQvGp4u6R29uVViE RWi8Orwdb+YfrINFzz4/WxIYfEMUnJz9kviAJcHF8ZKGgFahe0rPrxVQGYuS8HgT6F/b 8Q2iOpNuQJbVgLo3n0ov4dr3NieRt264e9Vf3KNjfJWMJwFaQ4AzP/wWv5JI9Oh0y0Aw pJxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691237654; x=1691842454; h=in-reply-to:mail-followup-to:from:references:cc:to:content-language :subject:user-agent:mime-version:date:message-id:sender :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=WJ+l5s0IyBC8E3RCJqHE7uz/DX1pYIRtlorlIVUgY24=; b=lOSkFKc+Q7aNiC9BQFsxnYEmdRJZy5XsWE0h83DvKk70dZKk8DZ3dHzImPzY8hr1eT 3DOyn8kzvLrDI9oYEhdJBMDEEnruHINFlcVG26EvhXrR4QxtUTbyrz2hk2/ikSV+CcYf LSwdcZDuWEonWDd7PFcm7PnJAgehB8To5PMX7ULjl2MeNBU8Ncp/+c71dcKZCp8tF0AC H3PrJpwz7CBNDFyqSK+DS+xwj+Wfc04AA4m9YrOLfJyP/BYL5IVJPO+aa/fwv0T9YF6w plzV7oLpvbB1s3ziEOEs4ooxTWeNwGIp3YGWK+wwHokIhbiEhxdsPsVXPKhXI25+Q3Ug rfJQ== X-Gm-Message-State: AOJu0YwHdvUVsvKUs4bQwRjFL8VX8BPFdfXSyvKtN/I9YDmsL86N8IWT 87RoMeMAfGG+2FfpsXNKQqWjP3WWPI4= X-Google-Smtp-Source: AGHT+IH6Ri4jNZwwFqSM8zlpnXs95DekkWnQ6PisNoQY1OuzEhdVAroC4ffgFfoVLfcwdAFu0dvjBQ== X-Received: by 2002:a05:6512:3da1:b0:4fd:c923:db5e with SMTP id k33-20020a0565123da100b004fdc923db5emr2985103lfv.21.1691237653910; Sat, 05 Aug 2023 05:14:13 -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 er16-20020a05651248d000b004fe3d7861cesm735009lfb.162.2023.08.05.05.14.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 05 Aug 2023 05:14:13 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------dgjtfanVfsVrlz0PKytQtYLd" Message-ID: <4762096d-2685-de1d-9bfd-0370255faedd@gmail.com> Date: Sat, 5 Aug 2023 19:14:11 +0700 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.0 Subject: Re: Worg: issue with org-tools page Content-Language: en-US, ru-RU To: emacs-orgmode@gnu.org Cc: Bastien Guerry References: <2023-04-09T17-33-57@devnull.Karl-Voit.at> <87pm8d0zgg.fsf@localhost> <2023-04-09T23-50-33@devnull.Karl-Voit.at> <87cz41gyqc.fsf@localhost> <2023-04-18T15-32-06@devnull.Karl-Voit.at> <877cqikj93.fsf@localhost> <87zg3dj406.fsf@localhost> <87mszdiwt4.fsf@localhost> <87r0ooghim.fsf@localhost> From: Max Nikulin Mail-Followup-To: emacs-orgmode@gnu.org, Bastien Guerry In-Reply-To: <87r0ooghim.fsf@localhost> Received-SPF: pass client-ip=2a00:1450:4864:20::12b; envelope-from=manikulin@gmail.com; helo=mail-lf1-x12b.google.com X-Spam_score_int: 11 X-Spam_score: 1.1 X-Spam_bar: + X-Spam_report: (1.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, NICE_REPLY_A=-0.089, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_SBL_CSS=3.335, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no 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-bounces+larch=yhetil.org@gnu.org X-Migadu-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: 0.56 X-Migadu-Scanner: mx2.migadu.com X-Migadu-Queue-Id: BF176341F7 X-Spam-Score: 0.56 X-TUID: +C31naIZj7iT This is a multi-part message in MIME format. --------------dgjtfanVfsVrlz0PKytQtYLd Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 31/07/2023 23:41, Ihor Radchenko wrote: > Max Nikulin writes: > >> I hope, there is a better way to address the issue with failure >> notifications. > > That sounds too complex. > I think we can simply add an extra "check" task to > https://git.sr.ht/~bzg/worg/tree/master/item/.build.yml > It will run after "upload", re-exporting files, but not ignoring errors > this time. I was trying to modify publish.sh to collect errors up to a reasonable number, a draft is attached. It can be improved further to save list of failures to some file, so final step of .build.yml may be to check whether this file is empty and to send a notification otherwise. Currently it just prints summary of failures. When allowed failures count is exceeded, it fails immediately. ./publish.sh --maxfail 32 ... org-release-notes.org: Could not find plantuml.jar at /usr/share/plantuml/plantuml.jar org-faq.org: Could not find ditaa.jar at /usr/bin/ditaa org-blog-wiki.org: Unable to resolve link: "[https://github.com/kaushalmodi/ox-hugo/tree/master/test/site/content-org" library-of-babel.org: Symbol’s function definition is void: fib org-tutorials/images-and-xhtml-export.org: Unable to resolve link: "worg/images/orgmode/org-mode-unicorn.png" org-tools/index.org: Cannot open load file: No such file or directory, ess org-contrib/babel/intro.org: Could not find ditaa.jar at /usr/bin/ditaa org-contrib/babel/languages/ob-doc-scheme.org: Symbol’s value as variable is void: geiser-default-implementation org-contrib/babel/languages/ob-doc-ditaa.org: Could not find ditaa.jar at /usr/bin/ditaa org-contrib/babel/languages/ob-doc-LaTeX.org: Cannot open load file: No such file or directory, ess org-contrib/babel/examples/org-check.org: Symbol’s value as variable is void: org-latex-to-pdf-process org-contrib/babel/examples/lob-table-operations.org: Symbol’s function definition is void: flet org-contrib/babel/examples/foo.org: Inline error: list result cannot be used org-contrib/babel/examples/drift.org: Could not find ditaa.jar at /usr/bin/ditaa org-contrib/babel/examples/data-collection-analysis.org: Cannot open load file: No such file or directory, ess org-contrib/babel/examples/ascii.org: Cannot open load file: No such file or directory, ess org-contrib/babel/examples/Rpackage.org: Cannot open load file: No such file or directory, ess --------------dgjtfanVfsVrlz0PKytQtYLd Content-Type: application/x-shellscript; name="publish.sh" Content-Disposition: attachment; filename="publish.sh" Content-Transfer-Encoding: base64 IyEvYmluL3NoCiI6IjsgIyAtKi0gbW9kZTogZW1hY3MtbGlzcDsgbGV4aWNhbC1iaW5kaW5n OiB0OyAtKi0KIjoiOyBleGVjIGVtYWNzIC0tbm8taW5pdC1maWxlIC0tc2NyaXB0ICIkMCIg IiRAIiAtLSBFTkQKOzsgIi0tIEVORCIgaXMgYWRkZWQgdG8gYWxsb3cgaGFuZGxpbmcgb2Yg c3RhbmRhcmQgRW1hY3Mgb3B0aW9ucwo7OyBhbmQgdG8gZXhlY3V0ZSB0aGlzIHNjcmlwdCB3 aGVuIGNvbW1hbmQgbGluZSBvcHRpb25zIGFyZSBleGhhdXN0ZWQuCgooYWRkLXRvLWxpc3Qg J2xvYWQtcGF0aCAifi9vcmctbW9kZS9saXNwLyIpCihhZGQtdG8tbGlzdCAnbG9hZC1wYXRo ICIvdXNyL3NoYXJlL2VtYWNzL3NpdGUtbGlzcC9lbHBhLXNyYy9odG1saXplLTEuNTYiKQoo cmVxdWlyZSAnb3gtaHRtbCkKKHJlcXVpcmUgJ2NsLXNlcSkKCihkZWZ2YXIgcHVibGlzaC1z aC1tYXhmYWlsIDE2CiAgIkxpbWl0IG51bWJlciBvZiBmYWlsdXJlcyB0byBhYm9ydCB3aXRo IG5vbi16ZXJvIGV4aXQgY29kZS4iKQoKKGRlZnVuIHB1Ymxpc2gtc2gtbWFpbiAoKQogIChz ZXRxIG1ha2UtYmFja3VwLWZpbGVzIG5pbAoJZGVidWctb24tZXJyb3IgdCkKCiAgKHNldHEg b3JnLWNvbmZpcm0tYmFiZWwtZXZhbHVhdGUgbmlsCglvcmctaHRtbC1zdHlsZS1kZWZhdWx0 ICIiCglvcmctaHRtbC1zY3JpcHRzICIiCglvcmctaHRtbC1odG1saXplLW91dHB1dC10eXBl ICdjc3MKCW9yZy1odG1sLWRvY3R5cGUgImh0bWw1IgoJb3JnLWh0bWwtaHRtbDUtZmFuY3kg dAoJb3JnLWh0bWwtdmFsaWRhdGlvbi1saW5rIG5pbAoJb3JnLXBsYW50dW1sLWphci1wYXRo ICIvdXNyL3NoYXJlL3BsYW50dW1sL3BsYW50dW1sLmphciIKCW9yZy1kaXRhYS1qYXItcGF0 aCAiL3Vzci9iaW4vZGl0YWEiCglvcmctaHRtbC1wcmVhbWJsZQoJKHdpdGgtdGVtcC1idWZm ZXIgKGluc2VydC1maWxlLWNvbnRlbnRzICJwcmVhbWJsZS5odG1sIikgKGJ1ZmZlci1zdHJp bmcpKQoJb3JnLWh0bWwtcG9zdGFtYmxlCgkiPGRpdiBpZD1cImxpY2Vuc2VcIj48cD5Eb2N1 bWVudGF0aW9uIGZyb20gdGhlIG9yZ21vZGUub3JnL3dvcmcvIHdlYnNpdGUgKGVpdGhlciBp biBpdHMgSFRNTCBmb3JtYXQgb3IgaW4gaXRzIE9yZyBmb3JtYXQpIGlzIGxpY2Vuc2VkIHVu ZGVyIHRoZSA8YSBocmVmPVwiaHR0cDovL3d3dy5nbnUub3JnL2NvcHlsZWZ0L2ZkbC5odG1s XCI+R05VIEZyZWUgRG9jdW1lbnRhdGlvbiBMaWNlbnNlIHZlcnNpb24gMS4zPC9hPiBvciBs YXRlci4gIFRoZSBjb2RlIGV4YW1wbGVzIGFuZCBjc3Mgc3R5bGVzaGVldHMgYXJlIGxpY2Vu c2VkIHVuZGVyIHRoZSA8YSBocmVmPVwiaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dw bC5odG1sXCI+R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjM8L2E+IG9yIGxhdGVyLjwv cD48L2Rpdj4iCglvcmctaHRtbC1oZWFkCgkiPGxpbmsgcmVsPVwic3R5bGVzaGVldFwiIHRp dGxlPVwiU3RhbmRhcmRcIiBocmVmPVwiL3dvcmcvc3R5bGUvd29yZy5jc3NcIiB0eXBlPVwi dGV4dC9jc3NcIiAvPgo8bGluayByZWw9XCJhbHRlcm5hdGUgc3R5bGVzaGVldFwiIHRpdGxl PVwiWmVuYnVyblwiIGhyZWY9XCIvd29yZy9zdHlsZS93b3JnLXplbmJ1cm4uY3NzXCIgdHlw ZT1cInRleHQvY3NzXCIgLz4KPGxpbmsgcmVsPVwiYWx0ZXJuYXRlIHN0eWxlc2hlZXRcIiB0 aXRsZT1cIkNsYXNzaWNcIiBocmVmPVwiL3dvcmcvc3R5bGUvd29yZy1jbGFzc2ljLmNzc1wi IHR5cGU9XCJ0ZXh0L2Nzc1wiIC8+CjxsaW5rIHJlbD1cImljb25cIiBocmVmPVwiL2Zhdmlj b24uaWNvXCIgdHlwZT1cImltYWdlL3gtaWNvblwiIC8+IikKCiAgKG9yZy1iYWJlbC1kby1s b2FkLWxhbmd1YWdlcwogICAnb3JnLWJhYmVsLWxvYWQtbGFuZ3VhZ2VzCiAgICcoKGVtYWNz LWxpc3AgLiB0KQogICAgIChzaGVsbCAuIHQpCiAgICAgKGRvdCAuIHQpCiAgICAgKGNsb2p1 cmUgLiB0KQogICAgIChvcmcgLiB0KQogICAgIChkaXRhYSAuIHQpCiAgICAgKG9yZyAuIHQp CiAgICAgKHNjaGVtZSAuIHQpCiAgICAgKHBsYW50dW1sIC4gdCkKICAgICAoUiAuIHQpCiAg ICAgKGdudXBsb3QgLiB0KSkpCgogIChsZXQgKChmYWlsLWNvdW50IDApCglmYWlsLWZpbGVz KQogICAgKGRvbGlzdCAob3JnLWZpbGUgKGNsLXJlbW92ZS1pZgoJCSAgICAgICAobGFtYmRh IChuKSAoc3RyaW5nLW1hdGNoLXAgIndvcmcvYXJjaGl2ZS8iIG4pKQoJCSAgICAgICAoZGly ZWN0b3J5LWZpbGVzLXJlY3Vyc2l2ZWx5IGRlZmF1bHQtZGlyZWN0b3J5ICJcXC5vcmckIikp KQogICAgICAobGV0ICgoaHRtbC1maWxlIChjb25jYXQgKGZpbGUtbmFtZS1kaXJlY3Rvcnkg b3JnLWZpbGUpCgkJCSAgICAgICAoZmlsZS1uYW1lLWJhc2Ugb3JnLWZpbGUpICIuaHRtbCIp KQoJICAgIChvcmctcmVsYXRpdmUgKGZpbGUtcmVsYXRpdmUtbmFtZSBvcmctZmlsZSBkZWZh dWx0LWRpcmVjdG9yeSkpKQoJKGlmIChhbmQgKGZpbGUtZXhpc3RzLXAgaHRtbC1maWxlKQoJ CSAoZmlsZS1uZXdlci10aGFuLWZpbGUtcCBodG1sLWZpbGUgb3JnLWZpbGUpKQoJICAgICht ZXNzYWdlICIgW3NraXBwaW5nXSB1bmNoYW5nZWQgJXMiIG9yZy1maWxlKQoJICAobWVzc2Fn ZSAiW2V4cG9ydGluZ10gJXMiIG9yZy1yZWxhdGl2ZSkKCSAgKHdpdGgtY3VycmVudC1idWZm ZXIgKGZpbmQtZmlsZSBvcmctZmlsZSkKCSAgICAoY29uZGl0aW9uLWNhc2UgZXJyCgkJKG9y Zy1odG1sLWV4cG9ydC10by1odG1sKQoJICAgICAgKGVycm9yCgkgICAgICAgKGxldCAoKGVy cm9yLXRleHQgKGVycm9yLW1lc3NhZ2Utc3RyaW5nIGVycikpKQoJCSAobWVzc2FnZSAiJXMi IGVycm9yLXRleHQpCgkJIChzZXRxIGZhaWwtY291bnQgKDErIGZhaWwtY291bnQpKQoJCSAo d2hlbiAoPiBwdWJsaXNoLXNoLW1heGZhaWwgMCkKCQkgICAocHVzaCAoZm9ybWF0ICIlczog JXMiIG9yZy1yZWxhdGl2ZSBlcnJvci10ZXh0KSBmYWlsLWZpbGVzKQoJCSAgICh1bmxlc3Mg KDwgZmFpbC1jb3VudCBwdWJsaXNoLXNoLW1heGZhaWwpCgkJICAgICAodGVycHJpKQoJCSAg ICAgKGRvbGlzdCAoZSBmYWlsLWZpbGVzKQoJCSAgICAgICAobWVzc2FnZSAiJXMiIGUpKQoJ CSAgICAgKG1lc3NhZ2UgIiVkIGZpbGVzIGZhaWxlZCIgZmFpbC1jb3VudCkKCQkgICAgIChz aWduYWwgKGNhciBlcnIpIChjZHIgZXJyKSkpKSkpKSkpKSkKICAgIChkb2xpc3QgKGUgZmFp bC1maWxlcykKICAgICAgKG1lc3NhZ2UgIiVzIiBlKSkpKQoKOzs7IENvbW1hbmQgbGluZSBv cHRpb25zCgooZGVmdmFyIHB1Ymxpc2gtc2gtc3dpdGNoLWFsaXN0CiAgYCgoIi0tbWF4ZmFp bCIgLiAsKGxhbWJkYSAodmFsKSAoc2V0cSBwdWJsaXNoLXNoLW1heGZhaWwgCgkJCQkJKHN0 cmluZy10by1udW1iZXIgdmFsKSkpKSkKICAiU2NyaXB0IGNvbW1hbmQgbGluZSBvcHRpb25z LgoKV2hlbiB0aGUgY29kZSBpcyBleGVjdXRlZCwgaXQgaXMgdG9vIGxhdGUgdG8gYGFwcGVu ZCcgb3B0aW9ucwp0byBgY29tbWFuZC1zd2l0Y2gtYWxpc3QnLCBzbyBhIGN1c3RvbSBwYXJz ZXIgaXMgbmVjZXNzYXJ5LiIpCgooZGVmdW4gcHVibGlzaC1zaC1oYW5kbGUtY29tbWFuZC1s aW5lLW9wdGlvbiAob3B0aW9ucy1hbGlzdCkKICAiQSBoZWxwZXIgdG8gZGVmaW5lIGFuIGVs ZW1lbnQgb2YgYGNvbW1hbmQtbGluZS1mdW5jdGlvbnMnLgoKUmV0dXJuIGB0JyBpZiBgYXJn aScgY29udGFpbnMgYW4gb3B0aW9uIGZyb20gT1BUSU9OUy1BTElTVAphbmQgY2FsbCB0aGUg ZnVuY3Rpb24gZnJvbSB0aGUgc2FtZSAoXCItLW9wdGlvblwiIC4gZnVuYykgY29ucy4KVGhl IGhhbmRsZXIgaXMgY2FsbGVkIHdpdGggYW4gYXJndW1lbnQgdGhhdCBpcyBvcHRpb24gdmFs dWUKXCItLW9wdGlvbj1WQUxcIiBvciBcIi0tb3B0aW9uIFZBTFwiLiBJbiB0aGUgbGF0dGVy IGNhc2UKdGhlIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIG5leHQgZWxlbWVudCBvZiBgY29t bWFuZC1saW5lLWFyZ3MtbGVmdCcuIgogIChsZXQqICgob3B0aW9uCgkgIChhbmQgKHN0cmlu Zy1tYXRjaCAiXlxcKC0tW149LV1bXj1dKlxcKVxcKD86PVxcKC4qXFwpXFwpPyQiIGFyZ2kp CgkgICAgICAgKG1hdGNoLXN0cmluZyAxIGFyZ2kpKSkKCSAoY29tcGxldGlvbiAoYW5kIG9w dGlvbiAodHJ5LWNvbXBsZXRpb24gb3B0aW9uIG9wdGlvbnMtYWxpc3QpKSkKCSAoaGFuZGxl ciAoYW5kIGNvbXBsZXRpb24KCQkgICAgICAgKGNkciAoYXNzb2MgKGlmIChlcSB0IGNvbXBs ZXRpb24pIG9wdGlvbiBjb21wbGV0aW9uKQoJCQkJICAgb3B0aW9ucy1hbGlzdCkpKSkpCiAg ICAoY29uZAogICAgIChoYW5kbGVyCiAgICAgIChsZXQgKCh2YWwgKG9yIChtYXRjaC1zdHJp bmcgMiBhcmdpKQoJCSAgICAgKHBvcCBjb21tYW5kLWxpbmUtYXJncy1sZWZ0KSkpKQoJKHVu bGVzcyB2YWwKCSAgKGVycm9yICJBcmd1bWVudCBvZiAlcyBub3Qgc3BlY2lmaWVkIiBvcHRp b24pKQoJKGZ1bmNhbGwgaGFuZGxlciB2YWwpKQogICAgICB0KQogICAgIChjb21wbGV0aW9u IChlcnJvciAiT3B0aW9uIGAlcycgaXMgYW1iaWd1b3VzIiBjb21wbGV0aW9uKSkpKSkKCihk ZWZ1biBwdWJsaXNoLXNoLWFyZ3MtZG9uZSAoZnVuYykKICAiQSBoZWxwZXIgdG8gY2FsbCBG VU5DIHdoZW4gbm8gY29tbWFuZCBhcmd1bWVudHMgbGVmdC4KClRvIGJlIGNhbGxlZCBmcm9t IGFuIGVsZW1lbnQgb2YgYGNvbW1hbmQtbGluZS1mdW5jdGlvbnMnLgpBZGQgXCItLSBFTkRc IiBhdCB0aGUgZW5kIG9mIHRoZSBjb21tYW5kIGxpbmUuIgogIDs7IEVtYWNzIHN0YXJ0dXAu ZWwgaWdub3JlcyAiLS0iIGV2ZW4gYWZ0ZXIgIi0tIgogIDs7IEFmdGVyICItLSIgYGFyZ2kn IGlzIGFsd2F5cyAiIiwgaG93ZXZlciBiZWZvcmUgaXQKICA7OyB0aGUgdmFyaWFibGUgbWF5 IGNvbnRhaW4gZWl0aGVyIGZpbGUgbmFtZSBvciBhbiBvcHRpb24uCiAgOzsgU2VlIGBjb21t YW5kLWxpbmUtMScuCiAgKHVubGVzcyBjb21tYW5kLWxpbmUtYXJncy1sZWZ0ICA7IGxhc3Qg IkVORCIKICAgIChmdW5jYWxsIGZ1bmMpCiAgICB0KSkKCihwdXNoIChsYW1iZGEgKCkKCShw dWJsaXNoLXNoLWhhbmRsZS1jb21tYW5kLWxpbmUtb3B0aW9uIHB1Ymxpc2gtc2gtc3dpdGNo LWFsaXN0KSkKICAgICAgY29tbWFuZC1saW5lLWZ1bmN0aW9ucykKKHB1c2ggKGxhbWJkYSgp CgkocHVibGlzaC1zaC1hcmdzLWRvbmUgIydwdWJsaXNoLXNoLW1haW4pKQogICAgICBjb21t YW5kLWxpbmUtZnVuY3Rpb25zKQo= --------------dgjtfanVfsVrlz0PKytQtYLd--