From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Hong Xu Newsgroups: gmane.emacs.bugs Subject: bug#21990: htmlfontify fails to generate highly highlighted regions Date: Sun, 22 Nov 2015 20:43:14 -0800 Message-ID: <56529962.10301@topbug.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="nfbFf84lBvm6MoGwdxsWuNoGxIHNjw3ND" X-Trace: ger.gmane.org 1448265445 9438 80.91.229.3 (23 Nov 2015 07:57:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 23 Nov 2015 07:57:25 +0000 (UTC) To: 21990@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Nov 23 08:57:12 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1a0lzr-0001PR-Eh for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 Nov 2015 08:57:11 +0100 Original-Received: from localhost ([::1]:59059 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0lzr-0006d2-PL for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 Nov 2015 02:57:11 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:48925) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0lzn-0006cS-BL for bug-gnu-emacs@gnu.org; Mon, 23 Nov 2015 02:57:08 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a0lzk-0004xC-2v for bug-gnu-emacs@gnu.org; Mon, 23 Nov 2015 02:57:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:59191) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0lzj-0004x8-W2 for bug-gnu-emacs@gnu.org; Mon, 23 Nov 2015 02:57:04 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1a0lzj-000346-QJ for bug-gnu-emacs@gnu.org; Mon, 23 Nov 2015 02:57:03 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Hong Xu Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Nov 2015 07:57:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21990 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.144826537411680 (code B ref -1); Mon, 23 Nov 2015 07:57:03 +0000 Original-Received: (at submit) by debbugs.gnu.org; 23 Nov 2015 07:56:14 +0000 Original-Received: from localhost ([127.0.0.1]:48892 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a0lyv-00032F-Vn for submit@debbugs.gnu.org; Mon, 23 Nov 2015 02:56:14 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:35542) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1a0iyZ-0006MW-9R for submit@debbugs.gnu.org; Sun, 22 Nov 2015 23:43:39 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a0iyX-0001ZB-QW for submit@debbugs.gnu.org; Sun, 22 Nov 2015 23:43:38 -0500 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:44745) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0iyX-0001Z7-Mz for submit@debbugs.gnu.org; Sun, 22 Nov 2015 23:43:37 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:45538) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0iyW-0004On-Lk for bug-gnu-emacs@gnu.org; Sun, 22 Nov 2015 23:43:37 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1a0iyR-0001XP-MV for bug-gnu-emacs@gnu.org; Sun, 22 Nov 2015 23:43:36 -0500 Original-Received: from sender163-mail.zoho.com ([74.201.84.163]:24122) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1a0iyR-0001Wk-Au for bug-gnu-emacs@gnu.org; Sun, 22 Nov 2015 23:43:31 -0500 Original-Received: from [192.168.88.13] (cpe-104-32-170-214.socal.res.rr.com [104.32.170.214]) by mx.zohomail.com with SMTPS id 1448253808305922.2088240024749; Sun, 22 Nov 2015 20:43:28 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Icedove/31.8.0 X-Zoho-Virus-Status: 1 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Mailman-Approved-At: Mon, 23 Nov 2015 02:56:08 -0500 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:109113 Archived-At: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --nfbFf84lBvm6MoGwdxsWuNoGxIHNjw3ND Content-Type: multipart/mixed; boundary="------------030300080805010402090500" This is a multi-part message in MIME format. --------------030300080805010402090500 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable I'm able to reproduce this issue on both the latest snapshot and 24.4. My OS is GNU/Linux. To reproduce this issue, follow the following steps: 1. Start emacs with "-q" option in GUI mode and copy the following texts to emacs and view them in diff mode: BEGIN=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D diff --git a/gajim.py.orig b/gajim.py index 57e61e62e8d1..82e36fee351d 100644 --- a/gajim.py.orig +++ b/gajim.py @@ -36,12 +36,12 @@ ## import os -import sys +xxxxxxxxxxxximport sys import warnings if os.name =3D=3D 'nt': log_path =3D os.path.join(os.environ['APPDATA'], 'Gajim') - if not os.path.exists(log_path): + f not os.path.exists(log_path): os.mkdir(log_path, 0o700) log_file =3D os.path.join(log_path, 'gajim.log') fout =3D open(log_file, 'a') @@ -523,7 +523,7 @@ if __name__ =3D=3D '__main__': check_paths.check_and_possibly_create_paths() interface =3D Interface() - interface.run() + interface.run() try: Gtk.main() END =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 2. Press Meta-n multiple times to make sure all changed texts are highlighted. It should look like the following: https://i.imgur.com/xVdQgxk.png 3. M-x htmlfontify-buffer, and save the output html file. 4. Look at it in a browser. The deeply highlighted region (such as the "xxxxxxxxxx") is not highlighted at all. My HTML output is attached so you can view it. --------------030300080805010402090500 Content-Type: text/html; name="a.patch.html" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="a.patch.html" PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIGh0bWwg UFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjEvL0VOIgoiaHR0cDovL3d3dy53My5vcmcv VFIveGh0bWwxMS9EVEQveGh0bWwxMS5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53 My5vcmcvMTk5OS94aHRtbCI+CiAgPGhlYWQ+CiAgICA8dGl0bGU+YS5wYXRjaDwvdGl0bGU+ CjxtZXRhIG5hbWU9ImdlbmVyYXRvciIgY29udGVudD0iZW1hY3MgMjQuNC4xOyBodG1sZm9u dGlmeSAwLjIxIiAvPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPjwhLS0gCmJvZHkgeyBmb250 LWZhbWlseTogRGVqYVZ1IFNhbnMgTW9ubzsgIGZvbnQtc3RyZXRjaDogbm9ybWFsOyAgZm9u dC13ZWlnaHQ6IDUwMDsgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIGNvbG9yOiAjMDAwMDAwOyAg YmFja2dyb3VuZDogI2ZmZmZmZjsgIGZvbnQtc2l6ZTogMTFwdDsgIHRleHQtZGVjb3JhdGlv bjogbm9uZTsgfQpzcGFuLmRlZmF1bHQgICB7IGZvbnQtZmFtaWx5OiBEZWphVnUgU2FucyBN b25vOyAgZm9udC1zdHJldGNoOiBub3JtYWw7ICBmb250LXdlaWdodDogNTAwOyAgZm9udC1z dHlsZTogbm9ybWFsOyAgY29sb3I6ICMwMDAwMDA7ICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyAg Zm9udC1zaXplOiAxMXB0OyAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CnNwYW4uZGVmYXVs dCBhIHsgZm9udC1mYW1pbHk6IERlamFWdSBTYW5zIE1vbm87ICBmb250LXN0cmV0Y2g6IG5v cm1hbDsgIGZvbnQtd2VpZ2h0OiA1MDA7ICBmb250LXN0eWxlOiBub3JtYWw7ICBjb2xvcjog IzAwMDAwMDsgIGJhY2tncm91bmQ6ICNmZmZmZmY7ICBmb250LXNpemU6IDExcHQ7ICB0ZXh0 LWRlY29yYXRpb246IHVuZGVybGluZTsgfQpzcGFuLmRpZmYtZnVuY3Rpb24gICB7IGJhY2tn cm91bmQ6ICNjY2NjY2M7ICBmb250LWZhbWlseTogRGVqYVZ1IFNhbnMgTW9ubzsgIGZvbnQt c3RyZXRjaDogbm9ybWFsOyAgZm9udC13ZWlnaHQ6IDUwMDsgIGZvbnQtc3R5bGU6IG5vcm1h bDsgIGNvbG9yOiAjMDAwMDAwOyAgZm9udC1zaXplOiAxMXB0OyAgdGV4dC1kZWNvcmF0aW9u OiBub25lOyB9CnNwYW4uZGlmZi1mdW5jdGlvbiBhIHsgYmFja2dyb3VuZDogI2NjY2NjYzsg IGZvbnQtZmFtaWx5OiBEZWphVnUgU2FucyBNb25vOyAgZm9udC1zdHJldGNoOiBub3JtYWw7 ICBmb250LXdlaWdodDogNTAwOyAgZm9udC1zdHlsZTogbm9ybWFsOyAgY29sb3I6ICMwMDAw MDA7ICBmb250LXNpemU6IDExcHQ7ICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfQpz cGFuLmRpZmYtYWRkZWQgICB7IGJhY2tncm91bmQ6ICNkZGZmZGQ7ICBmb250LWZhbWlseTog RGVqYVZ1IFNhbnMgTW9ubzsgIGZvbnQtc3RyZXRjaDogbm9ybWFsOyAgZm9udC13ZWlnaHQ6 IDUwMDsgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIGNvbG9yOiAjMDAwMDAwOyAgZm9udC1zaXpl OiAxMXB0OyAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CnNwYW4uZGlmZi1hZGRlZCBhIHsg YmFja2dyb3VuZDogI2RkZmZkZDsgIGZvbnQtZmFtaWx5OiBEZWphVnUgU2FucyBNb25vOyAg Zm9udC1zdHJldGNoOiBub3JtYWw7ICBmb250LXdlaWdodDogNTAwOyAgZm9udC1zdHlsZTog bm9ybWFsOyAgY29sb3I6ICMwMDAwMDA7ICBmb250LXNpemU6IDExcHQ7ICB0ZXh0LWRlY29y YXRpb246IHVuZGVybGluZTsgfQpzcGFuLmRpZmYtcmVmaW5lLWFkZGVkLTAwMDEgICB7IGZv bnQtc2l6ZTogMTA1JTsgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfQpzcGFuLmRpZmYtcmVm aW5lLWFkZGVkLTAwMDEgYSB7IGZvbnQtc2l6ZTogMTA1JTsgIHRleHQtZGVjb3JhdGlvbjog dW5kZXJsaW5lOyB9CnNwYW4uZGlmZi1pbmRpY2F0b3ItYWRkZWQgICB7IGJhY2tncm91bmQ6 ICNkZGZmZGQ7ICBmb250LWZhbWlseTogRGVqYVZ1IFNhbnMgTW9ubzsgIGZvbnQtc3RyZXRj aDogbm9ybWFsOyAgZm9udC13ZWlnaHQ6IDUwMDsgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIGNv bG9yOiAjMDAwMDAwOyAgZm9udC1zaXplOiAxMXB0OyAgdGV4dC1kZWNvcmF0aW9uOiBub25l OyB9CnNwYW4uZGlmZi1pbmRpY2F0b3ItYWRkZWQgYSB7IGJhY2tncm91bmQ6ICNkZGZmZGQ7 ICBmb250LWZhbWlseTogRGVqYVZ1IFNhbnMgTW9ubzsgIGZvbnQtc3RyZXRjaDogbm9ybWFs OyAgZm9udC13ZWlnaHQ6IDUwMDsgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIGNvbG9yOiAjMDAw MDAwOyAgZm9udC1zaXplOiAxMXB0OyAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0K c3Bhbi5kaWZmLXJlbW92ZWQgICB7IGJhY2tncm91bmQ6ICNmZmRkZGQ7ICBmb250LWZhbWls eTogRGVqYVZ1IFNhbnMgTW9ubzsgIGZvbnQtc3RyZXRjaDogbm9ybWFsOyAgZm9udC13ZWln aHQ6IDUwMDsgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIGNvbG9yOiAjMDAwMDAwOyAgZm9udC1z aXplOiAxMXB0OyAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CnNwYW4uZGlmZi1yZW1vdmVk IGEgeyBiYWNrZ3JvdW5kOiAjZmZkZGRkOyAgZm9udC1mYW1pbHk6IERlamFWdSBTYW5zIE1v bm87ICBmb250LXN0cmV0Y2g6IG5vcm1hbDsgIGZvbnQtd2VpZ2h0OiA1MDA7ICBmb250LXN0 eWxlOiBub3JtYWw7ICBjb2xvcjogIzAwMDAwMDsgIGZvbnQtc2l6ZTogMTFwdDsgIHRleHQt ZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CnNwYW4uZGlmZi1yZWZpbmUtcmVtb3ZlZC0wMDAw ICAgeyBmb250LXNpemU6IDEwNSU7ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0Kc3Bhbi5k aWZmLXJlZmluZS1yZW1vdmVkLTAwMDAgYSB7IGZvbnQtc2l6ZTogMTA1JTsgIHRleHQtZGVj b3JhdGlvbjogdW5kZXJsaW5lOyB9CnNwYW4uZGlmZi1pbmRpY2F0b3ItcmVtb3ZlZCAgIHsg YmFja2dyb3VuZDogI2ZmZGRkZDsgIGZvbnQtZmFtaWx5OiBEZWphVnUgU2FucyBNb25vOyAg Zm9udC1zdHJldGNoOiBub3JtYWw7ICBmb250LXdlaWdodDogNTAwOyAgZm9udC1zdHlsZTog bm9ybWFsOyAgY29sb3I6ICMwMDAwMDA7ICBmb250LXNpemU6IDExcHQ7ICB0ZXh0LWRlY29y YXRpb246IG5vbmU7IH0Kc3Bhbi5kaWZmLWluZGljYXRvci1yZW1vdmVkIGEgeyBiYWNrZ3Jv dW5kOiAjZmZkZGRkOyAgZm9udC1mYW1pbHk6IERlamFWdSBTYW5zIE1vbm87ICBmb250LXN0 cmV0Y2g6IG5vcm1hbDsgIGZvbnQtd2VpZ2h0OiA1MDA7ICBmb250LXN0eWxlOiBub3JtYWw7 ICBjb2xvcjogIzAwMDAwMDsgIGZvbnQtc2l6ZTogMTFwdDsgIHRleHQtZGVjb3JhdGlvbjog dW5kZXJsaW5lOyB9CnNwYW4uZGlmZi1odW5rLWhlYWRlciAgIHsgYmFja2dyb3VuZDogI2Nj Y2NjYzsgIGZvbnQtZmFtaWx5OiBEZWphVnUgU2FucyBNb25vOyAgZm9udC1zdHJldGNoOiBu b3JtYWw7ICBmb250LXdlaWdodDogNTAwOyAgZm9udC1zdHlsZTogbm9ybWFsOyAgY29sb3I6 ICMwMDAwMDA7ICBmb250LXNpemU6IDExcHQ7ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0K c3Bhbi5kaWZmLWh1bmstaGVhZGVyIGEgeyBiYWNrZ3JvdW5kOiAjY2NjY2NjOyAgZm9udC1m YW1pbHk6IERlamFWdSBTYW5zIE1vbm87ICBmb250LXN0cmV0Y2g6IG5vcm1hbDsgIGZvbnQt d2VpZ2h0OiA1MDA7ICBmb250LXN0eWxlOiBub3JtYWw7ICBjb2xvcjogIzAwMDAwMDsgIGZv bnQtc2l6ZTogMTFwdDsgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CnNwYW4uZGlm Zi1maWxlLWhlYWRlciAgIHsgZm9udC13ZWlnaHQ6IDcwMDsgIGJhY2tncm91bmQ6ICNiM2Iz YjM7ICBmb250LWZhbWlseTogRGVqYVZ1IFNhbnMgTW9ubzsgIGZvbnQtc3RyZXRjaDogbm9y bWFsOyAgZm9udC1zdHlsZTogbm9ybWFsOyAgY29sb3I6ICMwMDAwMDA7ICBmb250LXNpemU6 IDExcHQ7ICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH0Kc3Bhbi5kaWZmLWZpbGUtaGVhZGVy IGEgeyBmb250LXdlaWdodDogNzAwOyAgYmFja2dyb3VuZDogI2IzYjNiMzsgIGZvbnQtZmFt aWx5OiBEZWphVnUgU2FucyBNb25vOyAgZm9udC1zdHJldGNoOiBub3JtYWw7ICBmb250LXN0 eWxlOiBub3JtYWw7ICBjb2xvcjogIzAwMDAwMDsgIGZvbnQtc2l6ZTogMTFwdDsgIHRleHQt ZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9CnNwYW4uZGlmZi1oZWFkZXIgICB7IGJhY2tncm91 bmQ6ICNjY2NjY2M7ICBmb250LWZhbWlseTogRGVqYVZ1IFNhbnMgTW9ubzsgIGZvbnQtc3Ry ZXRjaDogbm9ybWFsOyAgZm9udC13ZWlnaHQ6IDUwMDsgIGZvbnQtc3R5bGU6IG5vcm1hbDsg IGNvbG9yOiAjMDAwMDAwOyAgZm9udC1zaXplOiAxMXB0OyAgdGV4dC1kZWNvcmF0aW9uOiBu b25lOyB9CnNwYW4uZGlmZi1oZWFkZXIgYSB7IGJhY2tncm91bmQ6ICNjY2NjY2M7ICBmb250 LWZhbWlseTogRGVqYVZ1IFNhbnMgTW9ubzsgIGZvbnQtc3RyZXRjaDogbm9ybWFsOyAgZm9u dC13ZWlnaHQ6IDUwMDsgIGZvbnQtc3R5bGU6IG5vcm1hbDsgIGNvbG9yOiAjMDAwMDAwOyAg Zm9udC1zaXplOiAxMXB0OyAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0Kc3Bhbi5k aWZmLWNvbnRleHQgICB7IGNvbG9yOiAjN2Y3ZjdmOyAgZm9udC1mYW1pbHk6IERlamFWdSBT YW5zIE1vbm87ICBmb250LXN0cmV0Y2g6IG5vcm1hbDsgIGZvbnQtd2VpZ2h0OiA1MDA7ICBm b250LXN0eWxlOiBub3JtYWw7ICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyAgZm9udC1zaXplOiAx MXB0OyAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9CnNwYW4uZGlmZi1jb250ZXh0IGEgeyBj b2xvcjogIzdmN2Y3ZjsgIGZvbnQtZmFtaWx5OiBEZWphVnUgU2FucyBNb25vOyAgZm9udC1z dHJldGNoOiBub3JtYWw7ICBmb250LXdlaWdodDogNTAwOyAgZm9udC1zdHlsZTogbm9ybWFs OyAgYmFja2dyb3VuZDogI2ZmZmZmZjsgIGZvbnQtc2l6ZTogMTFwdDsgIHRleHQtZGVjb3Jh dGlvbjogdW5kZXJsaW5lOyB9CiAtLT48L3N0eWxlPgoKICAgIDxzY3JpcHQgdHlwZT0idGV4 dC9qYXZhc2NyaXB0Ij48IS0tCiAgLy8gdGhpcyBmdW5jdGlvbiBpcyBuZWVkZWQgdG8gd29y ayBhcm91bmQKICAvLyBhIGJ1ZyBpbiBJRSByZWxhdGVkIHRvIGVsZW1lbnQgYXR0cmlidXRl cwogIGZ1bmN0aW9uIGhhc0NsYXNzKG9iaikKICB7CiAgICAgIHZhciByZXN1bHQgPSBmYWxz ZTsKICAgICAgaWYgKG9iai5nZXRBdHRyaWJ1dGVOb2RlKCJjbGFzcyIpICE9IG51bGwpCiAg ICAgIHsKICAgICAgICAgIHJlc3VsdCA9IG9iai5nZXRBdHRyaWJ1dGVOb2RlKCJjbGFzcyIp LnZhbHVlOwogICAgICB9CiAgICAgIHJldHVybiByZXN1bHQ7CiAgfQoKICBmdW5jdGlvbiBz dHJpcGUoaWQpCiAgewogICAgICAvLyB0aGUgZmxhZyB3ZSdsbCB1c2UgdG8ga2VlcCB0cmFj ayBvZgogICAgICAvLyB3aGV0aGVyIHRoZSBjdXJyZW50IHJvdyBpcyBvZGQgb3IgZXZlbgog ICAgICB2YXIgZXZlbiA9IGZhbHNlOwoKICAgICAgLy8gaWYgYXJndW1lbnRzIGFyZSBwcm92 aWRlZCB0byBzcGVjaWZ5IHRoZSBjb2xvcnMKICAgICAgLy8gb2YgdGhlIGV2ZW4gJiBvZGQg cm93cywgdGhlbiB1c2UgdGhlIHRoZW07CiAgICAgIC8vIG90aGVyd2lzZSB1c2UgdGhlIGZv bGxvd2luZyBkZWZhdWx0czoKICAgICAgdmFyIGV2ZW5Db2xvciA9IGFyZ3VtZW50c1sxXSA/ IGFyZ3VtZW50c1sxXSA6ICIjZmZmIjsKICAgICAgdmFyIG9kZENvbG9yICA9IGFyZ3VtZW50 c1syXSA/IGFyZ3VtZW50c1syXSA6ICIjZGRkIjsKCiAgICAgIC8vIG9idGFpbiBhIHJlZmVy ZW5jZSB0byB0aGUgZGVzaXJlZCB0YWJsZQogICAgICAvLyBpZiBubyBzdWNoIHRhYmxlIGV4 aXN0cywgYWJvcnQKICAgICAgdmFyIHRhYmxlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQo aWQpOwogICAgICBpZiAoISB0YWJsZSkgeyByZXR1cm47IH0KCiAgICAgIC8vIGJ5IGRlZmlu aXRpb24sIHRhYmxlcyBjYW4gaGF2ZSBtb3JlIHRoYW4gb25lIHRib2R5CiAgICAgIC8vIGVs ZW1lbnQsIHNvIHdlJ2xsIGhhdmUgdG8gZ2V0IHRoZSBsaXN0IG9mIGNoaWxkCiAgICAgIC8v ICZsdDt0Ym9keSZndDtzCiAgICAgIHZhciB0Ym9kaWVzID0gdGFibGUuZ2V0RWxlbWVudHNC eVRhZ05hbWUoInRib2R5Iik7CgogICAgICAvLyBhbmQgaXRlcmF0ZSB0aHJvdWdoIHRoZW0u Li4KICAgICAgZm9yICh2YXIgaCA9IDA7IGggPCB0Ym9kaWVzLmxlbmd0aDsgaCsrKQogICAg ICB7CiAgICAgICAgICAvLyBmaW5kIGFsbCB0aGUgJmx0O3RyJmd0OyBlbGVtZW50cy4uLgog ICAgICAgICAgdmFyIHRycyA9IHRib2RpZXNbaF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRy Iik7CgogICAgICAgICAgLy8gLi4uIGFuZCBpdGVyYXRlIHRocm91Z2ggdGhlbQogICAgICAg ICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0cnMubGVuZ3RoOyBpKyspCiAgICAgICAgICB7CiAg ICAgICAgICAgICAgLy8gYXZvaWQgcm93cyB0aGF0IGhhdmUgYSBjbGFzcyBhdHRyaWJ1dGUK ICAgICAgICAgICAgICAvLyBvciBiYWNrZ3JvdW5kQ29sb3Igc3R5bGUKICAgICAgICAgICAg ICBpZiAoISBoYXNDbGFzcyh0cnNbaV0pICYmCiAgICAgICAgICAgICAgICAgICEgdHJzW2ld LnN0eWxlLmJhY2tncm91bmRDb2xvcikKICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgIC8vIGdldCBhbGwgdGhlIGNlbGxzIGluIHRoaXMgcm93Li4uCiAgICAgICAgICAgICAg ICAgIHZhciB0ZHMgPSB0cnNbaV0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRkIik7CgogICAg ICAgICAgICAgICAgICAvLyBhbmQgaXRlcmF0ZSB0aHJvdWdoIHRoZW0uLi4KICAgICAgICAg ICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCB0ZHMubGVuZ3RoOyBqKyspCiAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgIHZhciBteXRkID0gdGRzW2pdOwoK ICAgICAgICAgICAgICAgICAgICAgIC8vIGF2b2lkIGNlbGxzIHRoYXQgaGF2ZSBhIGNsYXNz IGF0dHJpYnV0ZQogICAgICAgICAgICAgICAgICAgICAgLy8gb3IgYmFja2dyb3VuZENvbG9y IHN0eWxlCiAgICAgICAgICAgICAgICAgICAgICBpZiAoISBoYXNDbGFzcyhteXRkKSAmJgog ICAgICAgICAgICAgICAgICAgICAgICAgICEgbXl0ZC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3Ip CiAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgbXl0 ZC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ZXZlbiA/IGV2ZW5Db2xvciA6IG9kZENvbG9yOwogICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIC8vIGZs aXAgZnJvbSBvZGQgdG8gZXZlbiwgb3IgdmljZS12ZXJzYQogICAgICAgICAgICAgIGV2ZW4g PSAgISBldmVuOwogICAgICAgICAgfQogICAgICB9CiAgfQoKICBmdW5jdGlvbiB0b2dnbGVf aW52aXMoIG5hbWUgKQogIHsKICAgICAgdmFyIGZpbHRlciA9CiAgICAgICAgeyBhY2NlcHRO b2RlOgogICAgICAgICAgZnVuY3Rpb24oIG5vZGUgKQogICAgICAgICAgeyB2YXIgY2xhc3Nu YW1lID0gbm9kZS5pZDsKICAgICAgICAgICAgaWYoIGNsYXNzbmFtZSApCiAgICAgICAgICAg IHsgdmFyIGNsYXNzYmFzZSA9IGNsYXNzbmFtZS5zdWJzdHIoIDAsIG5hbWUubGVuZ3RoICk7 CiAgICAgICAgICAgICAgaWYoIGNsYXNzYmFzZSA9PSBuYW1lICkgeyByZXR1cm4gTm9kZUZp bHRlci5GSUxURVJfQUNDRVBUOyB9IH0KICAgICAgICAgICAgcmV0dXJuIE5vZGVGaWx0ZXIu RklMVEVSX1NLSVA7IH0gfTsKICAgICAgdmFyIHdhbGtlciA9IGRvY3VtZW50LmNyZWF0ZVRy ZWVXYWxrZXIoIGRvY3VtZW50LmJvZHkgICAgICAgICAgICwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5vZGVGaWx0ZXIuU0hPV19FTEVNRU5UICwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlciAg ICAgICAgICAgICAgICAgICwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZhbHNlICAgICAgICAgICAgICAgICAgICk7CiAgICAgIHdoaWxlKCB3YWxr ZXIubmV4dE5vZGUoKSApCiAgICAgIHsKICAgICAgICAgIHZhciBlID0gd2Fsa2VyLmN1cnJl bnROb2RlOwogICAgICAgICAgaWYoIGUuc3R5bGUuZGlzcGxheSA9PSAibm9uZSIgKSB7IGUu c3R5bGUuZGlzcGxheSA9ICJpbmxpbmUiOyB9CiAgICAgICAgICBlbHNlICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsgZS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOyAgIH0KICAgICAg fQogIH0KLS0+IDwvc2NyaXB0PgogIDwvaGVhZD4KICA8Ym9keSBvbmxvYWQ9InN0cmlwZSgn aW5kZXgnKTsgcmV0dXJuIHRydWU7Ij4KCjxwcmU+PHNwYW4gY2xhc3M9ImRpZmYtY29udGV4 dCI+ZGlmZiAtLWdpdCBhL2dhamltLnB5Lm9yaWcgYi9nYWppbS5weQppbmRleCA1N2U2MWU2 MmU4ZDEuLjgyZTM2ZmVlMzUxZCAxMDA2NDQKPC9zcGFuPjxzcGFuIGNsYXNzPSJkaWZmLWhl YWRlciI+LS0tIDwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1maWxlLWhlYWRlciI+YS9nYWpp bS5weS5vcmlnPC9zcGFuPjxzcGFuIGNsYXNzPSJkaWZmLWhlYWRlciI+CisrKyA8L3NwYW4+ PHNwYW4gY2xhc3M9ImRpZmYtZmlsZS1oZWFkZXIiPmIvZ2FqaW0ucHk8L3NwYW4+PHNwYW4g Y2xhc3M9ImRpZmYtaGVhZGVyIj4KPC9zcGFuPjxzcGFuIGNsYXNzPSJkaWZmLWh1bmstaGVh ZGVyIj5AQCAtMzYsMTIgKzM2LDEyIEBAPC9zcGFuPgo8c3BhbiBjbGFzcz0iZGlmZi1jb250 ZXh0Ij4gIyMKIAogaW1wb3J0IG9zCjwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1pbmRpY2F0 b3ItcmVtb3ZlZCI+LTwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1yZWZpbmUtcmVtb3ZlZC0w MDAwIj5pbXBvcnQ8L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtcmVtb3ZlZCI+IHN5cwo8L3Nw YW4+PHNwYW4gY2xhc3M9ImRpZmYtaW5kaWNhdG9yLWFkZGVkIj4rPC9zcGFuPjxzcGFuIGNs YXNzPSJkaWZmLXJlZmluZS1hZGRlZC0wMDAxIj54eHh4eHh4eHh4eHhpbXBvcnQ8L3NwYW4+ PHNwYW4gY2xhc3M9ImRpZmYtYWRkZWQiPiBzeXMKPC9zcGFuPjxzcGFuIGNsYXNzPSJkaWZm LWNvbnRleHQiPiBpbXBvcnQgd2FybmluZ3MKIAogaWYgb3MubmFtZSA9PSAnbnQnOgogICAg IGxvZ19wYXRoID0gb3MucGF0aC5qb2luKG9zLmVudmlyb25bJ0FQUERBVEEnXSwgJ0dhamlt JykKPC9zcGFuPjxzcGFuIGNsYXNzPSJkaWZmLWluZGljYXRvci1yZW1vdmVkIj4tPC9zcGFu PjxzcGFuIGNsYXNzPSJkaWZmLXJlbW92ZWQiPiAgICA8L3NwYW4+PHNwYW4gY2xhc3M9ImRp ZmYtcmVmaW5lLXJlbW92ZWQtMDAwMCI+aWY8L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtcmVt b3ZlZCI+IG5vdCBvcy5wYXRoLmV4aXN0cyhsb2dfcGF0aCk6Cjwvc3Bhbj48c3BhbiBjbGFz cz0iZGlmZi1pbmRpY2F0b3ItYWRkZWQiPis8L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtYWRk ZWQiPiAgICA8L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtcmVmaW5lLWFkZGVkLTAwMDEiPmY8 L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtYWRkZWQiPiBub3Qgb3MucGF0aC5leGlzdHMobG9n X3BhdGgpOgo8L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtY29udGV4dCI+ICAgICAgICAgb3Mu bWtkaXIobG9nX3BhdGgsIDBvNzAwKQogICAgIGxvZ19maWxlID0gb3MucGF0aC5qb2luKGxv Z19wYXRoLCAnZ2FqaW0ubG9nJykKICAgICBmb3V0ID0gb3Blbihsb2dfZmlsZSwgJ2EnKQo8 L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtaHVuay1oZWFkZXIiPkBAIC01MjMsNyArNTIzLDcg QEA8L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtZnVuY3Rpb24iPiBpZiBfX25hbWVfXyA9PSAn X19tYWluX18nOjwvc3Bhbj4KPHNwYW4gY2xhc3M9ImRpZmYtY29udGV4dCI+ICAgICBjaGVj a19wYXRocy5jaGVja19hbmRfcG9zc2libHlfY3JlYXRlX3BhdGhzKCkKIAogICAgIGludGVy ZmFjZSA9IEludGVyZmFjZSgpCjwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1pbmRpY2F0b3It cmVtb3ZlZCI+LTwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1yZW1vdmVkIj4gICAgaW50ZXJm YWNlLnJ1bigpCjwvc3Bhbj48c3BhbiBjbGFzcz0iZGlmZi1pbmRpY2F0b3ItYWRkZWQiPis8 L3NwYW4+PHNwYW4gY2xhc3M9ImRpZmYtYWRkZWQiPiAgIGludGVyZmFjZS5ydW4oKQo8L3Nw YW4+PHNwYW4gY2xhc3M9ImRpZmYtY29udGV4dCI+IAogICAgIHRyeToKICAgICAgICAgR3Rr Lm1haW4oKQo8L3NwYW4+PC9wcmU+CgogPC9ib2R5Pgo8L2h0bWw+Cg== --------------030300080805010402090500-- --nfbFf84lBvm6MoGwdxsWuNoGxIHNjw3ND Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWUplvAAoJECZsfTOCL4R42QUQANeabM1WypyB+4PufMS+kq4Y 1FNKVwHH05661Sx2sq7OMHHBBmwNcCbe/iWhTbghNoeIBrmljSRBKN97VA8nv+qN ldjQIjPxYdlxYJf2olpeioAmjlDQPobtIm96iivcBBi58kVDIuNFGZCPS6GhSZ8G Xyvw3/427z2rNi7VDDE2O/FJ2dh7AxKswfRaLXo23+ItnyK9vKBIaDOwlOR4hvCv ddVhcaEgU6pS45mVYwTgGsY9BtIK9jJLGh1pcvzXKKQXPhOaTTfHtBYws1nAp/GT Jsf9J4DARiVKYEaQgGRUJCJF3hb80dd+NWRCAvxelPU9492XhIVVxMcQrbwMEysd tHZVsrUZPrV36+fsSlvB80F1vnTtA5FeRyVYoT+TapbxueA4U5UosbzqJMYCcBA8 m2XKKgjTNkEjn61NqBMJQ0y2Cn2P5EOAApxjJNSRS0Map4a3TwjMBzofjDKgWsX/ SjQiLUkw4RBqsRo6G1S3UP8YYA0vOBXWcB6zEBWkuUNznPt2bxfMMTHavkY7wkeJ us93kJ6PGU2WtMYweejQ/YrbBepfiUHecJ64Mwr0j0H9SOodcdUvdGT4U2ovtoG/ 25QmEipjsu4ZgldE5NnWera1GuBZ4+WmHybIsJt3pp/tuZuLY4CCenXaQMWyZgKm iz/t7JCpL3WinD3mueE6 =0r4c -----END PGP SIGNATURE----- --nfbFf84lBvm6MoGwdxsWuNoGxIHNjw3ND--