From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Christopher Dimech Newsgroups: gmane.emacs.help Subject: Re: tex-mode.el Date: Fri, 12 Feb 2021 00:08:08 +0100 Message-ID: References: <878s7xkvgi.fsf@zoho.eu> <87im71jeew.fsf@zoho.eu> <20210209201315.GD30277@tuxteam.de> <20210209204537.GE30277@tuxteam.de> <877dngtw7l.fsf@web.de> <87sg62cnsp.fsf@zoho.eu> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=nika-712a1dd3-eb16-427d-9388-3fb93bc1a415 Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26417"; mail-complaints-to="usenet@ciao.gmane.io" Cc: help-gnu-emacs@gnu.org To: moasenwood@zoho.eu Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Fri Feb 12 00:12:32 2021 Return-path: Envelope-to: geh-help-gnu-emacs@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 1lAL8R-0006l8-Lg for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 12 Feb 2021 00:12:31 +0100 Original-Received: from localhost ([::1]:36882 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lAL8Q-0007Yj-N8 for geh-help-gnu-emacs@m.gmane-mx.org; Thu, 11 Feb 2021 18:12:30 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44232) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lAL4R-0005wq-22 for help-gnu-emacs@gnu.org; Thu, 11 Feb 2021 18:08:23 -0500 Original-Received: from mout.gmx.net ([212.227.17.21]:43585) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lAL4G-0000j3-Ov for help-gnu-emacs@gnu.org; Thu, 11 Feb 2021 18:08:21 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1613084888; bh=poj1v/+AkUJE7JeoBOv/c4ZyI7K0HKomymqKnX05hVc=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=Q60Gs13M+EhJdqKYen82A5svxNdk/y2V1+YnlLNxwRK77q+3dmrsYXqPyOrAhhGe0 w7qivny29jYR07o2JvS4wI3CNKgJ6CzC0R0phQhyurNj/be4Gw6VIePLyNk/gPE8EY lPJBrWENguFJs2D9nYrpmjxdv1YOITumNfsqbtdY= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Original-Received: from [213.165.168.94] ([213.165.168.94]) by web-mail.gmx.net (3c-app-mailcom-bs11.server.lan [172.19.170.179]) (via HTTP); Fri, 12 Feb 2021 00:08:08 +0100 Importance: normal Sensitivity: Normal In-Reply-To: <87sg62cnsp.fsf@zoho.eu> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K1:6iql/gdn7kAdTP/FR8QGkPf2jJW0QtLw/xsER2UVVvl2l5KdJzsNoiJhn+u/am6hN4hMN kOzORpCnNAWhDkDwqdp9y/JpttEjWgjfKcFx3yL1T+/jUx2kwqx079+3gWabccfJgQiOHzo2tZuf ePJGpsOMM/IRz5LLnj9Jpi91QcAMQh0GPR9gu6vDj7+fvUCkxfVhxiAZy7/oqtVOimHNc1apqO3F GBgcPisVunWXkbItcyoGb6vY8nX3y4pqiXnVPC8rl150/dDDixLnKdAKUTBc2+okU7UVVqTmYMkm ZU= X-UI-Out-Filterresults: notjunk:1;V03:K0:kfeXZQgWgC4=:35ltJwhY/IVH+i2OIQ+cRh i5kiy8MCLhjxc1N8UpUesxz+g/42WHz8Xf6l4vCXTlE/zuOtkV0yV4zZl7f4mGuecZxAxoJzd pD2mZK/8CDoDqasR0GwdmFDlufo7joe0B5kMn6lxW1t27/SLKicDe29m3XFEfwmL0fTnV7uDJ 0/LDIoqkvpHAUiEtgXBZ20pZIMnJmRDGGxqugn1me38nnpKXXOZ66VkP1l/J3voRxUH/LgB7N 1sdW2b5jV/XpWiKTxfkRRCJEoqHu/TB7m4FVLWGj9w/mhtFdMPsp9ea6HQKQiFcbdk2r++v7B O0dw/AJKo3kx5guTE1lvQeh+LMymybyEx9TAZ2nFQaYTHprTRLitAnzlMYBRCR02FWnAV8GKs 9OWOS0faThS9nXai9oGB4MIXofZ0gMmPKkb/jbvhcXnt+9WpzvGisB+bs4dbrRecU1Hu/yOvb Bi3E25pGvMrOghkKQBHuN23u49NjVZ4lHp7yDC/Snku21tPFqz3Dnde5WzxvRwGhNXoXtzyFX IKRvxs23IZrYZ0PVOn8tK6pK1AE+9F3xh4c15qFkHAwG1focCj//JNrjYsWPo/wAnc3LV9hMD yxq+czNf79ipA= Received-SPF: pass client-ip=212.227.17.21; envelope-from=dimech@gmx.com; helo=mout.gmx.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:127829 Archived-At: --nika-712a1dd3-eb16-427d-9388-3fb93bc1a415 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Have cleaned up the code, and have identified the problematic part=2E I wish to tidy up the "font-lock-add-keywords" part=2E Currently the supinf typeface is set using "add-hook", making supinf activate as soon as one reads the file in emacs=2E But, that is not what I would like=2E=20 I would like a function that turns on the supinf typeface, and have anothe= r one that turns it off=2E When one reads the file, everything will be show= n an normal text without the typeface=2E And with the key-sequence "H-t", o= ne could then cycle through the different typefaces=2E > Sent: Friday, February 12, 2021 at 9:11 AM > From: "Emanuel Berg via Users list for the GNU Emacs text editor" > To: help-gnu-emacs@gnu=2Eorg > Subject: Re: tex-mode=2Eel > > Christopher Dimech wrote: >=20 > > I have made a minor mode for texinfo that does this, but the > > buffer is not being returned to look as source code=2E > > They still look that they have a difference in height=2E > > > > I attach the file with a test=2E >=20 > Using this=2E=2E=2E >=20 > (require 'checkdoc) >=20 > (setq checkdoc-permit-comma-termination-flag t) >=20 > (defun check-package-style () > (interactive) > (let ((msg "Style check=2E=2E=2E")) > (message msg) > (checkdoc-current-buffer t) ; TAKE-NOTES > (message "%sdone" msg) )) > (defalias 'check-style #'check-package-style) >=20 > It says >=20 > *** crucible-mode=2Eel: checkdoc-current-buffer > crucible-mode=2Eel:47: You should have a section marked ";;; Code:" > crucible-mode=2Eel:360: First sentence should end with punctuation > crucible-mode=2Eel:366: First sentence should end with punctuation > crucible-mode=2Eel:384: Argument =E2=80=98start=E2=80=99 should appear (= as START) in the doc string > crucible-mode=2Eel:386: Lisp symbol =E2=80=98prog-mode=E2=80=99 should a= ppear in quotes > crucible-mode=2Eel:394: All variables and subroutines might as well have= a documentation string > crucible-mode=2Eel:408: Lisp symbol =E2=80=98fill-column=E2=80=99 should= appear in quotes > crucible-mode=2Eel:440: First sentence should end with punctuation > crucible-mode=2Eel:440: First line should be capitalized >=20 > Using the byte compiler, it says >=20 > crucible-mode=2Eel:=20 > In texglyph-cycle-crucible: > crucible-mode=2Eel:425:10: Warning: assignment to free variable > =E2=80=98tex-font-script-display=E2=80=99 > crucible-mode=2Eel:426:10: Warning: assignment to free variable > =E2=80=98tex-suscript-height-ratio=E2=80=99 >=20 > In end of data: > crucible-mode=2Eel:458:1: Warning: the following functions are not known= to be > defined: multic, supinf-typeface-crucible >=20 > Seems to be minor issues most (all?) of them but you might as > well fix them to be home free=2E If and when you do that, I'd be > happy to look at it again, if there are still issues=2E=2E=2E >=20 > --=20 > underground experts united > http://user=2Eit=2Euu=2Ese/~embe8573 > https://dataswamp=2Eorg/~incal >=20 >=20 > --nika-712a1dd3-eb16-427d-9388-3fb93bc1a415 Content-Type: text/plain Content-Disposition: attachment; filename=crucible-mode.el Content-Transfer-Encoding: base64 Ozs7IGNydWNpYmxlLW1vZGUuZWwgLS0tIFR5cGVmYWNlIGZvciB0ZXhtYXRoIC0qLSBsZXhpY2Fs LWJpbmRpbmc6dCAtKi0NCg0KOzsgQ29weXJpZ2h0IChDKSAyMDIxICBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24NCg0KOzsgQXV0aG9yOiBDaHJpc3RvcGhlciBEaW1lY2ggPGVtYWlsQGhlcmUuY29t Pg0KOzsgVVJMOiBodHRwczovL3dlYnNpdGUtaGVyZQ0KOzsgVmVyc2lvbjogMC4xLjANCjs7IFBh Y2thZ2UtUmVxdWlyZXM6ICgoZW1hY3MgIjI3LjEiKSkNCg0KOzsgVGhpcyBmaWxlIGlzIHBhcnQg b2YgQmVoaXN0dW4sIGEgR251IEJlaGlzdHVuLg0KDQo7OyBCZWhpc3R1biBpcyBmcmVlIHNvZnR3 YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQo7OyBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQ0KOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0 aGUgTGljZW5zZSwgb3INCjs7IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQoN Cjs7IEJlaGludHVuIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsDQo7OyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZg0KOzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4NCg0KOzsgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR251IEFmZmVybyBHZW5lcmFsIFB1YmxpYw0KOzsgTGljZW5zZSBhbG9uZyB3aXRoIEJl aGlzdHVuLiAgSWYgbm90LCBzZWUNCjs7IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4N Cg0KOzs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCjs7OyBDb21tZW50YXJ5Og0KDQo7OyAqIFNldHRpbmcgdGV4bWF0 aCBrZXl3b3JkcyB1c2luZyByeA0KOzsgICByeCB1c2VzIHJlZ3VsYXIgZXhwcmVzc2lvbnMgdGhh dCBhcmUgZWFzaWVyIHRvIHJlYWQuDQo7Ow0KOzsgKiBCeXRlIENvbXBpbGF0aW9uDQo7Ow0KOzsg ICBUaGUgQnl0ZSBDb21waWxlciB0cmFuc2xhdGVzIGZ1bmN0aW9ucyB3cml0dGVuIGluIExpc3Ag aW50bw0KOzsgICBieXRlLWNvZGUsIGEgc3BlY2lhbCByZXByZXNlbnRhdGlvbiB0aGF0IG1ha2Vz IGZ1bmN0aW9ucyBleGVjdXRlDQo7OyAgIGZhc3Rlci4gIFRoZSBieXRlIGNvbXBpbGVyIGFsc28g cmV0dXJucyB2ZXJ5IHVzZWZ1bCBtZXNzYWdlcy4NCjs7DQo7OyAgIFRvIGJ5dGUtY29tcGlsZSBh IGZpbGUgbmFtZWQgY3J1Y2libGUtbW9kZS5lbCwgbGF1bmNoIEVtYWNzIGFuZA0KOzsgICBlbnRl ciB0aGUgZm9sbG93aW5nIGNvbW1hbmQuDQo7Ow0KOzsgICAgIE0teCBieXRlLWNvbXBpbGUtZmls ZSBSZXQgY3J1Y2libGUtbW9kZS5lbA0KDQo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsNCg0KOzsgKHJlcXVpcmUg J3J4KSA7IElzIHRoaXMgbmVlZGVkDQoNCjs7IChldmFsLXdoZW4tY29tcGlsZQ0KOzsgICAoc2V0 cSBieXRlLWNvbXBpbGUtZnVuY3Rpb24tZW52aXJvbm1lbnQNCjs7CShkZWxxIChhc3NxICdjcnVj aWJsZS1tb2RlIGJ5dGUtY29tcGlsZS1mdW5jdGlvbi1lbnZpcm9ubWVudCkNCjs7CSAgICAgIGJ5 dGUtY29tcGlsZS1mdW5jdGlvbi1lbnZpcm9ubWVudCkpKQ0KDQo7OyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCjs7 OyBDb2RlOg0KDQooZGVmZ3JvdXAgY3J1Y2libGUgKCkNCiAgIkdyb3VwcyB0b29scyBmb3IgYXNz aXN0aW5nIHdpdGggc3VwZXJpb3IgJiBpbmZlcmlvciB0eXBlZmFjZS4iDQogIDpwcmVmaXggImNy dWNpYmxlLSINCiAgOmdyb3VwICdjcnVjaWJsZSkNCg0KOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQooZGVmZ3Jv dXAga2V5d29yZC10ZmMgKCkNCiAgIkdyb3VwcyB0b29scyBmb3IgdHlwZXNldHRpbmcgbWF0aGVt YXRpY2FsIHN5bWJvbHMuIg0KICA6cHJlZml4ICJjcnVjaWJsZS1rZXl3b3JkIg0KICA6Z3JvdXAg J2NydWNpYmxlKQ0KDQo7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCihkZWZ2YXIgY3J1Y2libGUtbW9kZS1ob29r IG5pbA0KICAiSG9vayBjYWxsZWQgd2hlbiBDcnVjaWJsZSBNb2RlIGlzIGVuYWJsZWQuIikNCg0K OzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo7OzsjIyNhdXRvbG9hZA0KKGRlZmluZS1taW5vci1tb2RlIGNydWNp YmxlLW1vZGUNCiAgIk1pbm9yIG1vZGUgZm9yIGFzc2lzdGluZyB3aXRoIHN1cGVyaW9yICYgaW5m ZXJpb3IgdHlwZWZhY2UuIg0KICA6aW5pdC12YWx1ZSBuaWwNCiAgOmdsb2JhbCBuaWwNCiAgOmxp Z2h0ZXIgIiBDcnVjaWJsZSINCiAgKHJ1bi1ob29rcyAnY3J1Y2libGUtbW9kZS1ob29rKSkNCg0K Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7DQoobXVsdGljICINCiogQ29sb3VyIHRleCBrZXl3b3JkcyIpDQo7OyAg ICAgICAgIF8gICAgICAgICAgICAgICAgXyAgICAgICAgICAgICAgICAgIF8NCjs7ICBfXyBfX198 IHxfX18gXyAgXyBfIF8gIHwgfF9fX18gX18gX19fIF8gX198IHwNCjs7IC8gXy8gXyBcIC8gXyBc IHx8IHwgJ198IHwgLyAvXCBWICBWIC8gJ18vIF9gIHwNCjs7IFxfX1xfX18vX1xfX18vXF8sX3xf fCAgIHxfXF9cIFxfL1xfL3xffCBcX18sX3wNCg0KOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQooZGVmZmFjZSBj b2xvdXItdGV4LWNydWMNCiAgJyggKGRlZmF1bHQgOmluaGVyaXQgYm9sZCkNCiAgICAgKCAoKGNs YXNzIGNvbG9yKSAobWluLWNvbG9ycyA4OCkgKGJhY2tncm91bmQgbGlnaHQpKQ0KICAgICAgIDpm b3JlZ3JvdW5kICIjRkYwMDAwIiApDQogICAgICggKChjbGFzcyBjb2xvcikgKG1pbi1jb2xvcnMg ODgpIChiYWNrZ3JvdW5kIGRhcmspKQ0KICAgICAgIDpmb3JlZ3JvdW5kICIjRkYwMDAwIiApDQog ICAgICh0IDppbmhlcml0IGZvbnQtbG9jay1idWlsdGluLWZhY2UpICkNCiAgIlR5cGVmYWNlIGZv ciB0ZXgga2V5d29yZHMuIikNCg0KOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKGRlZmNvbnN0IHRleC1r ZXl3b3Jkcy1jcnVjDQogIGAoDQogICAgOzsgR3JlZWsuICBVc2UgKDAgJ2NvbG91ci10ZXgtY3J1 YykgdG8gaGlnaGxpZ2h0IHRoZSBsZWFkaW5nICJcIi4NCiAgICAoLChyeCAiXFwiIHdvcmQtc3Rh cnQgKGdyb3VwIChvciAiYWxwaGEiICJiZXRhIiAiY2hpIiAiZGVsdGEiDQogICAgICAgICAgIkRl bHRhIiAiZXBzaWxvbiIgInZhcmVwc2lsb24iICJldGEiICJnYW1tYSIgIkdhbW1hIiAiaW90YSIN CiAgICAgICAgICAia2FwcGEiICJsYW1iZGEiICJMYW1iZGEiICJtdSIgIm51IiAib21lZ2EiICJP bWVnYSIgInBoaSINCiAgICAgICAgICAidmFycGhpIiAiUGhpIiAicGkiICJ2YXJwaSIgIlBpIiAi cHNpIiAiUHNpIiAicmhvIiAidmFycmhvIg0KICAgICAgICAgICJzaWdtYSIgInZhcnNpZ21hIiAi U2lnbWEiICJ0YXUiICJ0aGV0YSIgInZhcnRoZXRhIiAiVGhldGEiDQogICAgICAgICAgInVwc2ls b24iICJVcHNpbG9uIiAieGkiICJYaSIgInpldGEiKSkgd29yZC1lbmQpDQogICAgICgxICdjb2xv dXItdGV4LWNydWMpKQ0KICAgIDs7DQogICAgOzsgTWF0aGVtYXRpY2FsIHN5bWJvbHMNCiAgICAo LChyeCAiXFwiIHdvcmQtc3RhcnQgKGdyb3VwIChvciAiaW5mdHkiICJSZSIgIkltIiAiYW5nbGUi DQogICAgICAgICAgInRyaWFuZ2xlIiAiYmFja3NsYXNoIiAidmVydCIgIlZlcnQiICJlbXB0eXNl dCIgImJvdCIgInRvcCINCiAgICAgICAgICAiZXhpc3RzIiAiZm9yYWxsIiAiaGJhciIgImVsbCIg ImFsZXBoIiAiaW1hdGgiICJqbWF0aCINCiAgICAgICAgICAibmFibGEiICJuZWciICJsbm90IiAi cHJpbWUiICJwYXJ0aWFsIiAic3VyZCIgIndwIiAiZmxhdCINCiAgICAgICAgICAic2hhcnAiICJu YXR1cmFsIiAiY2x1YnN1aXQiICJkaWFtb25kc3VpdCIgImhlYXJ0c3VpdCINCiAgICAgICAgICAi c3BhZGVzdWl0IikpIHdvcmQtZW5kKQ0KICAgICAoMSAnY29sb3VyLXRleC1jcnVjKSkNCiAgICA7 Ow0KICAgIDs7IEJpbmFyeSBvcGVyYXRpb25zDQogICAgKCwocnggIlxcIiB3b3JkLXN0YXJ0IChn cm91cCAob3IgInZlZSIgIndlZGdlIiAiYW1hbGciICJjYXAiICJjdXAiDQogICAgICAgICAgInVw bHVzIiAic3FjYXAiICJzcWN1cCIgImRhZ2dlciIgImRkYWNjZXIiICJsYW5kIiAibG9yIg0KICAg ICAgICAgICJjZG90IiAiZGlhbW9uZCIgImJ1bGxldCIgImNpcmMiICJiaWdjaXJjIiAib2RvdCIg Im9taW51cyINCiAgICAgICAgICAib3BsdXMiICJvc2xhc2giICJvdGltZXMiICJwbSIgIm1wIiAi dHJpYW5nbGVsZWZ0Ig0KICAgICAgICAgICJ0cmlhbmdsZXJpZ2h0IiAiYmlndHJpYW5nbGVkb3du IiAiYmlndHJpYW5nbGV1cCIgImFzdCINCiAgICAgICAgICAic3RhciIgInRpbWVzIiAiZGl2IiAi c2V0bWludXMiICJ3ciIpKSB3b3JkLWVuZCkNCiAgICAgKDEgJ2NvbG91ci10ZXgtY3J1YykpDQog ICAgOzsNCiAgICA7OyBNYXRoZW1hdGljYWwgcmVsYXRpb25zDQogICAgKCwocnggIlxcIiB3b3Jk LXN0YXJ0IChncm91cCAob3IgImFzeW1wIiAiY29uZyIgImRhc2h2IiAidmRhc2giDQogICAgICAg ICAgInBlcnAiICJtaWQiICJwYXJhbGxlbCIgImRvdGVxIiAiZXF1aXYiICJnZSIgImdlcSIgImxl Ig0KICAgICAgICAgICJsZXEiICJnZyIgImxsIiAibW9kZWxzIiAibmUiICJuZXEiICJub3RpbiIg ImluIiAibmkiICJvd25zIg0KICAgICAgICAgICJwcmVjIiAicHJlY2VxIiAic3VjYyIgInN1Y2Nl cSIgImJvd3RpZSIgInByb3B0byIgImFwcHJveCINCiAgICAgICAgICAic2ltIiAic2ltZXEiICJm cm93biIgInNtaWxlIiAic3Vic2V0IiAic3Vic2V0ZXEiICJzdXBzZXQiDQogICAgICAgICAgInN1 cHNldGVxIiAic3FzdWJzZXRlcSIgInNxc3Vwc2V0ZXEiICJjb3MiICJzaW4iICJ0YW4iICJjb3Qi DQogICAgICAgICAgImNzYyIgInNlYyIgImFyY2NvcyIgImFyY3NpbiIgImFyY3RhbiIgImNvc2gi ICJjb3RoIiAic2luaCINCiAgICAgICAgICAidGFuaCIgImRldCIgImRpbSIgImV4cCIgImxuIiAi bG9nIiAibGciICJhcmciICJkZWciICJnY2QiDQogICAgICAgICAgImhvbSIgImtlciIgImluZiIg InN1cCIgImxpbSIgImxpbWluZiIgImxpbXN1cCIgIm1heCIgIm1pbiINCiAgICAgICAgICAiUHIi KSkgd29yZC1lbmQpDQogICAgICgxICdjb2xvdXItdGV4LWNydWMpKQ0KICAgIDs7DQogICAgOzsg RGVsaW1ldGVycw0KICAgICgsKHJ4ICJcXCIgd29yZC1zdGFydCAoZ3JvdXAgKG9yICJsYnJhY2Ui ICJyYnJhY2UiICJsYnJhY2siDQogICAgICAgICAgInJicmFjayAiICJsYW5nbGUiICJyYW5nbGUi ICJsY2VpbCIgInJjZWlsIiAibGZsb29yIg0KICAgICAgICAgICJyZmxvb3IiKSkgd29yZC1lbmQp DQogICAgICgxICdjb2xvdXItdGV4LWNydWMpKQ0KICAgIDs7DQogICAgOzsgQXJyb3dzDQogICAg KCwocnggIlxcIiB3b3JkLXN0YXJ0IChncm91cCAob3IgImxlZnRhcnJvdyIgImdldHMiICJMZWZ0 YXJyb3ciDQogICAgICAgICAgInJpZ2h0YXJyb3cgIiAidG8iICJSaWdodGFycm93IiAibGVmdHJp Z2h0YXJyb3ciDQogICAgICAgICAgIkxlZnRyaWdodGFycm93IiAibG9uZ2xlZnRhcnJvdyIgIkxv bmdsZWZ0YXJyb3ciDQogICAgICAgICAgImxvbmdyaWdodGFycm93IiAiTG9uZ3JpZ2h0YXJyb3ci ICJsb25nbGVmdHJpZ2h0YXJyb3ciDQogICAgICAgICAgIkxvbmdsZWZ0cmlnaHRhcnJvdyIgImlm ZiIgImhvb2tsZWZ0YXJyb3ciICJob29rcmlnaHRhcnJvdyINCiAgICAgICAgICAibGVmdGhhcnBv b25kb3duIiAicmlnaHRoYXJwb29uZG93biIgImxlZnRoYXJwb29udXAiDQogICAgICAgICAgInJp Z2h0aGFycG9vbnVwIiAicmlnaHRsZWZ0aGFycG9vbnMiICJtYXBzdG8iICJsb25nbWFwc3RvIg0K ICAgICAgICAgICJkb3duYXJyb3ciICJEb3duYXJyb3ciICJ1cGFycm93IiAiVXBhcnJvdyIgInVw ZG93bmFycm93Ig0KICAgICAgICAgICJVcGRvd25hcnJvdyIgIm5lYXJyb3ciICJzZWFycm93IiAi bndhcnJvdyIgInN3YXJyb3ciKSkNCiAgICAgICAgICB3b3JkLWVuZCkNCiAgICAgKDEgJ2NvbG91 ci10ZXgtY3J1YykpDQogICAgOzsNCiAgICA7OyBMYXJnZSBtYXRoZW1hdGljYWwgb3BlcmF0aW9u cw0KICAgICgsKHJ4ICJcXCIgd29yZC1zdGFydCAoZ3JvdXAgKG9yICJiaWdjYXAiICJiaWdjdXAi ICJiaWdvZG90Ig0KICAgICAgICAgICJiaWdvcGx1cyIgImJpZ290aW1lcyIgImJpZ3NxY3VwIiAi YmlndXBsdXMiICJiaWd2ZWUiDQogICAgICAgICAgImJpZ3dlZGdlIiAiY29wcm9kIiAic21hbGxp bnQiICJpbnQiICJvaW50IiAicHJvZCIgInN1bSINCiAgICAgICAgICAibGltaXRzIiAibm9saW1p dHMiICJkaXNwbGF5bGltaXRzIikpIHdvcmQtZW5kKQ0KICAgICAoMSAnY29sb3VyLXRleC1jcnVj KSkNCiAgICA7Ow0KICAgIDs7IEZyYWN0aW9ucyBhbmQgc3RhY2tpbmcNCiAgICAoLChyeCAiXFwi IHdvcmQtc3RhcnQgKGdyb3VwIChvciAib3ZlciIgImF0b3AiICJhYm92ZSIgImNob29zZSINCiAg ICAgICAgICAiYnJhY2UiICJjYXNlcyIgInVuZGVyYnJhY2UiICJvdmVyYnJhY2UiICJ1bmRlcmxp bmUiDQogICAgICAgICAgIm92ZXJsaW5lIiAib3ZlcmxlZnRhcnJvdyIgIm92ZXJyaWdodGFycm93 IiAiYnVpbGRyZWwiDQogICAgICAgICAgImxkb3RzIiAiY2RvdHMiICJ2ZG90cyIgImRkb3RzIiAi bGdyb3VwIiAicmdyb3VwIiAibGVmdCINCiAgICAgICAgICAicmlnaHQiICJkZWxpbWl0ZXIiICJk ZWxpbWl0ZXJmYWN0b3IiICJkZWxpbWl0ZXJzaG9ydGZhbGwiDQogICAgICAgICAgIm1hdHJpeCIg InBtYXRyaXgiICJib3JkZXJtYXRyaXgiICJzcXJ0IiAicm9vdCIgIm9mIikpDQogICAgICAgICAg d29yZC1lbmQpDQogICAgICgxICdjb2xvdXItdGV4LWNydWMpKQ0KICAgIDs7DQogICAgOzsgUHVu Y3R1YXRpb24gYW5kIHN0eWxlDQogICAgKCwocnggIlxcIiB3b3JkLXN0YXJ0IChncm91cCAob3Ig ImNkb3RwIiAibGRvdHAiICJjb2xvbiIgInNiIiAic3AiDQogICAgICAgICAgInRleHRzdHlsZSIg InNjcmlwdHN0eWxlIiAic2NyaXB0c2NyaXB0c3R5bGUiDQogICAgICAgICAgImRpc3BsYXlzdHls ZSIpKSB3b3JkLWVuZCkNCiAgICAgKDEgJ2NvbG91ci10ZXgtY3J1YykpDQogICAgOzsNCiAgICA7 OyBNYXRoZW1hdGljYWwgYWNjZW50cw0KICAgICgsKHJ4ICJcXCIgd29yZC1zdGFydCAoZ3JvdXAg KG9yICJhY3V0ZSIgImIiICJiYXIiICJicmV2ZSIgImNoZWNrIg0KICAgICAgICAgICJkZG90IiAi ZG90IiAiZ3JhdmUiICJoYXQiICJ3aWRlaGF0IiAidGlsZGUiICJ3aWRldGlsZGUiDQogICAgICAg ICAgInZlYyIpKSB3b3JkLWVuZCkNCiAgICAgKDEgJ2NvbG91ci10ZXgtY3J1YykpDQogICAgOzsN CiAgICA7OyBNYXRoZW1hdGljYWwgY2xhc3MNCiAgICAoLChyeCAiXFwiIHdvcmQtc3RhcnQgKGdy b3VwIChvciAibWF0aG9yZCIgIm1hdGhvcCIgIm1hdGhiaW4iDQogICAgICAgICAgIm1hdGhyZWwg IiAibWF0aG9wZW4iICJtYXRoY2xvc2UiICJtYXRocHVuY3QiKSkgd29yZC1lbmQpDQogICAgICgx ICdjb2xvdXItdGV4LWNydWMpKQ0KICAgIDs7DQogICAgOzsgRXF1YXRpb25zIGFuZCBtdWx0aWxp bmUgZGlzcGxheQ0KICAgICgsKHJ4ICJcXCIgd29yZC1zdGFydCAoZ3JvdXAgKG9yICJlcW5vIiAi bGVxbm8iICJkaXNwbGF5bGluZXMiDQogICAgICAgICAgImVxYWxpZ24gIiAiZXFhbGlnbm5vIiAi bGVxYWxpZ25ubyIpKSB3b3JkLWVuZCkNCiAgICAgKDEgJ2NvbG91ci10ZXgtY3J1YykpDQogICAg OzsNCiAgICA7OyBCaWcgc2l6ZXMuICBVc2luZyBjb25jYXQgcmF0aGVyIHRoYW4gcnguDQogICAg KCwoY29uY2F0ICJcXFxcXFw8XFwoYmlnXFx8YmlnbFxcfGJpZ21cXHxiaWdyXFx8QmlnXFx8Qmln bFxcfCINCiAgICAgICAgICAgICAgIkJpZ21cXHxCaWdyXFx8YmlnZ1xcfGJpZ2dsXFx8YmlnZ21c XHxiaWdnclxcfCINCiAgICAgICAgICAgICAgIkJpZ2dcXHxCaWdnbFxcfEJpZ2dtXFx8QmlnZ3Jc XHxkb3duYnJhY2VmaWxsXFx8Ig0KICAgICAgICAgICAgICAidXBicmFjZWZpbGxcXHxhcnJvd3Zl cnRcXHxBcnJvd3ZlcnRcXHxsbW91c3RhY2hlXFx8Ig0KICAgICAgICAgICAgICAicm1vdXN0YWNo ZVxcfGJyYWNldmVydFxcKVxcPiIpDQogICAgICgxICdjb2xvdXItdGV4LWNydWMpKSApDQogICJG b250aWZpY2F0aW9uIGZvciBsZXR0ZXJzIGFuZCBzeW1ib2xzLiIpDQoNCjs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ow0KOzsgKiBQb3NpdGlvbmluZyBvZiBzdXBlcnNjcmlwdHMgYW5kIHN1YnNjcmlwdHMNCjs7ICAg ICAgICAgICAgICAgXyAgICAgICBfXw0KOzsgIF9fX18gIF8gXyBfXyhfKV8gXyAgLyBffCAgXyBf XyAgX19fIF9fX18gXw0KOzsgKF8tPCB8fCB8ICdfIFwgfCAnIFx8ICBffCB8ICdfIFwvIF8gKF8t PCAnIFwNCjs7IC9fXy9cXyxffCAuX18vX3xffHxffF98ICAgfCAuX18vXF9fXy9fXy9ffHxffA0K OzsgICAgICAgICB8X3wgICAgICAgICAgICAgICB8X3wNCg0KOzsgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQooZGVm Y3VzdG9tIHN1cGluZi1zaWduYWwgdA0KICAiRW5hYmxlcyB0eXBlZmFjZSBmb3IgdGV4IGNvbW1h bmRzLiINCiAgOnR5cGUgJ2Jvb2xlYW4NCiAgOmdyb3VwICdzdXBpbmYpDQoNCihwdXQgJ3N1cGlu Zi1zaWduYWwgJ3NhZmUtbG9jYWwtdmFyaWFibGUgJ2Jvb2xlYW5wKQ0KDQo7OyAtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCihkZWZjdXN0b20gZGV2aWF0LXN1cGluZiAnKDAuMTggLTAuMTgpDQogICJTZXRzIHRoZSB2 ZXJ0aWNhbCBzaGlmdCBmb3Igc3VwZXJpb3IgYW5kIGluZmVyaW9yIGdseXBocy4NCkRldmlhdGlv biBpcyBtZWFzdXJlZCByZWxhdGl2ZSB0byB0aGUgdGV4dCBmb250IHNpemUuIg0KICA6Z3JvdXAg J3N1cGluZg0KICA6dHlwZSAnKGxpc3QgKGZsb2F0IDp0YWcgInN1cGVyaW9yLWRldmlhdGlvbiIp DQogICAgICAgICAgICAgICAoZmxvYXQgOnRhZyAiaW5mZXJpb3ItZGV2aWF0aW9uIikpICkNCg0K OzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQooZGVmY3VzdG9tIGhlaWdodC1zY2FsZS1zdXBpbmYgMC44DQogICJT ZXRzIHJlbGF0aXZlIHN1cGluZiBoZWlnaHQgcmF0aW8gd2l0aCB0aGUgcHJlY2VkaW5nIHRleHQu DQpGb3IgbmVzdGVkIGV4cHJlc3Npb25zLCB0aGUgc2V0dGluZyBpcyBhcHBsaWVkIHJlcGVhdGVk bHksDQpzdWJqZWN0IHRvIHRoZSBsaW1pdCBzZXQgYnkgYGNydWNpYmxlLWhlaWdodC1taW5pbXVt Jy4iDQogIDp0eXBlICdmbG9hdA0KICA6Z3JvdXAgJ3N1cGluZikNCg0KOzsgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t DQooZGVmY3VzdG9tIGhlaWdodC1taW5pbXVtLXN1cGluZiAwLjgNCiAgIlNldHMgdGhlIG1pbmlt dW0gZ2x5cGggaGVpZ2h0Lg0KRm9yIGludGVnZXIgdmFsdWVzLCB0aGUgaGVpZ2h0IGlzIGluIHVu aXRzIG9mIDEvMTAgcG9pbnQuDQpSZWxhdGl2ZSBoZWlnaHQgaXMgdXNlZCBmb3IgZmxvYXRpbmcg cG9pbnQgdmFsdWVzLiINCiAgOnR5cGUgJyhjaG9pY2UgKGludGVnZXIgOnRhZyAiRm9udCBoZWln aHQgaW4gMS8xMCBwb2ludCB1bml0cyIpDQoJCSAoZmxvYXQgICA6dGFnICJGcmFjdGlvbiBvZiBm b250IGhlaWdodCIpKQ0KICA6Z3JvdXAgJ3N1cGluZikNCg0KOzsgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQooZGVm dW4gc3VwaW5mLWhlaWdodCAoaGVpZ2h0KQ0KICAiUmV0dXJuIGludGVnZXIgSEVJR0hUIG9mIHN1 cGVyaW9yIGFuZCBpbmZlcmlvciBnbHlwaC4NCkhlaWdodCBpcyBhbiBpbnRlZ2VyIHRoYXQgaXMg MS8xMCBvZiBwb2ludCBzaXplLiAgTm90IHNtYWxsZXIgdGhhbiB0aGUNCnZhbHVlIHNldCBieSBg Y3J1Y2libGUtaGVpZ2h0LW1pbmltdW0nLiINCiAgKGNlaWxpbmcNCiAgICAgKG1heA0KICAgICAg ICAoaWYgKGludGVnZXJwIGhlaWdodC1taW5pbXVtLXN1cGluZikNCgkgICAgaGVpZ2h0LW1pbmlt dW0tc3VwaW5mDQoJICAoY29uZGl0aW9uLWNhc2UgbmlsIDsgRm9yIGJvb3RzdHJhcHBpbmcuDQoJ ICAgICAgKCogaGVpZ2h0LW1pbmltdW0tc3VwaW5mDQoJCSAoZmFjZS1hdHRyaWJ1dGUgJ2RlZmF1 bHQgOmhlaWdodCkpDQoJICAgIChlcnJvciAwKSkpDQoJKCogaGVpZ2h0IGhlaWdodC1zY2FsZS1z dXBpbmYpKSkpICA7IGFzc3VtZXMgaGVpZ2h0IGlzIGludGVnZXIuDQoNCjs7IC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KKGRlZmZhY2Ugc3Vwci10ZmMNCiAgJygodCA6aGVpZ2h0IHN1cGluZi1oZWlnaHQpKQ0KICAi VHlwb2dyYXBoeSBmb3Igc3VwZXJpb3IgZ2x5cGhzLiINCiAgOmdyb3VwICdzdXBpbmYpDQoNCjs7 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KKGRlZmZhY2UgaW5mci10ZmMNCiAgJygodCA6aGVpZ2h0IHN1cGluZi1o ZWlnaHQpKQ0KICAiVHlwb2dyYXBoeSBmb3IgaW5mZXJpb3IgZ2x5cGhzLiINCiAgOmdyb3VwICdz dXBpbmYpDQoNCjs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKGRlZnVuIHN1cGluZi1yYWlzZS1jcnVjIChwb3Mp DQogICJSYWlzZSBhbmQgbG93ZXIgdHlwZWZhY2UgYXQgcG9zaXRpb24gUE9TLiINCiAgKHVubGVz cyAob3IgKG1lbXEgKGdldC10ZXh0LXByb3BlcnR5IHBvcyAnZmFjZSkNCgkJICAgICcoZm9udC1s b2NrLWNvbnN0YW50LWZhY2UgZm9udC1sb2NrLWJ1aWx0aW4tZmFjZSkpDQoJICAgICAgOzsgQ2hl Y2sgZm9yIGJhY2tzbGFzaCBxdW90aW5nDQoJICAgICAgKGxldCAoKG9kZCBuaWwpIChwb3MgcG9z KSkNCgkJKHdoaWxlIChlcSAoY2hhci1iZWZvcmUgcG9zKSA/XFwpDQoJCSAgKHNldHEgcG9zICgx LSBwb3MpIG9kZCAobm90IG9kZCkpKQ0KCQlvZGQpKQ0KICAgIChpZiAoZXEgKGNoYXItYWZ0ZXIg cG9zKSA/XikNCglgKGZhY2Ugc3Vwci10ZmMgZGlzcGxheSAocmFpc2UgLChjYXIgZGV2aWF0LXN1 cGluZikpKQ0KICAgICAgYChmYWNlIGluZnItdGZjIGRpc3BsYXkgKHJhaXNlICwoY2FkciBkZXZp YXQtc3VwaW5mKSkpICkpKQ0KDQo7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCihkZWZ1biBzdXBpbmYtbWF0Y2gg KGxpbWl0KQ0KICAiTWF0Y2ggc3VwZXJpb3IgYW5kIGluZmVyaW9yIGdseXBoIHBhdHRlcm5zIHVw IHRvIExJTUlULiINCiAgKHdoZW4gKGFuZCBzdXBpbmYtc2lnbmFsDQoJICAgICAocmUtc2VhcmNo LWZvcndhcmQgIltfXl0gKlxcKFteXG5cXHt9XVxcfFwNClxcXFxcXChbYS16QS1aQF0rXFx8W14g XHRcbl1cXClcXHxcXCh7XFwpXFwpIiBsaW1pdCB0KSkNCiAgICAod2hlbiAobWF0Y2gtZW5kIDMp DQogICAgICAobGV0ICgoYmVnIChtYXRjaC1iZWdpbm5pbmcgMykpDQoJICAgIChlbmQgKHNhdmUt cmVzdHJpY3Rpb24NCgkJICAgKG5hcnJvdy10by1yZWdpb24gKHBvaW50LW1pbikgbGltaXQpDQoJ CSAgIChjb25kaXRpb24tY2FzZSBuaWwNCgkJICAgICAgIChzY2FuLWxpc3RzIChwb2ludCkgMSAx KSAoZXJyb3IgbmlsKSkpKSkNCgk7OyBib2R5IG9mIGxldA0KCShzdG9yZS1tYXRjaC1kYXRhDQog ICAgICAgICAgIChpZiBlbmQNCgkgICAgICAgKGxpc3QgKG1hdGNoLWJlZ2lubmluZyAwKSBlbmQg YmVnIGVuZCkNCgkgICAgIChsaXN0IGJlZyBiZWcgYmVnIGJlZykpKSkpDQogICAgdCkpDQoNCjs7 IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KKGRlZmNvbnN0IHN1cGluZi1mb250LWxvY2stY3J1Yw0KICAoYXBwZW5k DQogICAgICcoKHN1cGluZi1tYXRjaA0KICAgICAgICAgICgxIChzdXBpbmYtcmFpc2UtY3J1YyAo bWF0Y2gtYmVnaW5uaW5nIDApKSkgKSkpDQogICJFeHBlcmltZW50YWwgZXhwcmVzc2lvbnMgdG8g aGlnaGxpZ2h0IGluIFRlWCBtb2Rlcy4iKQ0KDQo7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCihkZWZ1biBzdXBp bmYtZW5hYmxlICgpDQogICJFbmFibGVzIGEgdHlwZWZhY2UgZm9yIGRpc3BsYXlpbmcgdGV4IGNv bW1hbmRzLiINCiAgKHNldHEgc3VwaW5mLXNpZ25hbCB0KQ0KICAoZm9udC1sb2NrLWFkZC1rZXl3 b3JkcyBuaWwgc3VwaW5mLWZvbnQtbG9jay1jcnVjIHQpKQ0KDQo7OyAtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCihk ZWZ1biBzdXBpbmYtZGlzYWJsZS1jcnVjIChiZWcgZW5kKQ0KICAiU2V0IHR5cGVmYWNlIGZvciB0 ZXh0IGJldHdlZW4gQkVHIGFuZCBFTkQuIg0KICAoZm9udC1sb2NrLWRlZmF1bHQtdW5mb250aWZ5 LXJlZ2lvbiBiZWcgZW5kKQ0KICAod2hpbGUgKDwgYmVnIGVuZCkNCiAgICAobGV0ICgobmV4dCAo bmV4dC1zaW5nbGUtcHJvcGVydHktY2hhbmdlIGJlZyAnZGlzcGxheSBuaWwgZW5kKSkNCgkgIChw cm9wIChnZXQtdGV4dC1wcm9wZXJ0eSBiZWcgJ2Rpc3BsYXkpKSkNCiAgICAgIChpZiAoYW5kIChl cSAoY2FyLXNhZmUgcHJvcCkgJ3JhaXNlKQ0KCSAgICAgICAobWVtYmVyIChjYXItc2FmZSAoY2Ry IHByb3ApKSBkZXZpYXQtc3VwaW5mKQ0KCSAgICAgICAobnVsbCAoY2RkciBwcm9wKSkpDQoJICAo cHV0LXRleHQtcHJvcGVydHkgYmVnIG5leHQgJ2Rpc3BsYXkgbmlsKSkNCiAgICAgIChzZXRxIGJl ZyBuZXh0KSkpKQ0KDQo7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCjs7KGRlZnVuIHRleC10eXBlZmFjZS1jcnVj aWJsZSAoKQ0KOzsgICJGb250LWxvY2sgc2V0dXAgZm9yIG1hdGhlbWF0aWNhbCBzeW1ib2xzLiIN Cjs7ICAoZm9udC1sb2NrLWZsdXNoIChwb2ludC1taW4pIChwb2ludC1tYXgpKQ0KOzsgIChpZiBj cnVjaWJsZS1zdXBpbmYtZW5hYmxlDQo7OyAgICAgIChwcm9nbg0KOzsgICAgICAgIChmb250LWxv Y2stYWRkLWtleXdvcmRzIG5pbCB0ZXgta2V5d29yZHMtY3J1YyB0KQ0KOzsgICAgICAgIChmb250 LWxvY2stYWRkLWtleXdvcmRzIG5pbCBzdXBpbmYtZm9udC1sb2NrLWNydWMgdCkpDQo7OyAgICAo Zm9udC1sb2NrLXJlbW92ZS1rZXl3b3JkcyBuaWwgdGV4LWtleXdvcmRzLWNydWMpDQo7OyAgICAo c3VwaW5mLWRpc2FibGUtY3J1YyAocG9pbnQtbWluKSAocG9pbnQtbWF4KSkpDQo7OyAgKGZvbnQt bG9jay1mbHVzaCAocG9pbnQtbWluKSAocG9pbnQtbWF4KSkpDQoNCihkZWZ1biBzdXBpbmYtZGlz YWJsZSAoKQ0KICAiRGlzYWJsZSBzdXBpbmYgZnVuY3Rpb25hbGl0eS4iDQogIChpbnRlcmFjdGl2 ZSkNCiAgKHNldHEtbG9jYWwgc3VwaW5mLXNpZ25hbCBuaWwpDQogIChmb250LWxvY2stZmx1c2gp KQ0KDQo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ow0KOzsgKiBEaXNwbGF5cyB0ZXhtYXRoIGdseXBocyBmb3IgdGhl IGNvcnJlc3BvbmRpbmcgdGV4IGNvbW1hbmRzLg0KOzsgICAgICAgICAgICAgXyAgIF8gICAgICAg ICAgIF8gICAgICAgICAgIF8NCjs7ICBfIF9fICBfXyBffCB8X3wgfF8gICAgX18gX3wgfF8gIF8g XyBfX3wgfF8gIF9fXw0KOzsgfCAnICBcLyBfYCB8ICBffCAnIFwgIC8gX2AgfCB8IHx8IHwgJ18g XCAnIFwoXy08DQo7OyB8X3xffF9cX18sX3xcX198X3x8X3wgXF9fLCB8X3xcXywgfCAuX18vX3x8 Xy9fXy8NCjs7ICAgICAgICAgICAgICAgICAgICAgICB8X19fLyAgIHxfXy98X3wNCg0KOzsocmVx dWlyZSAncHJvZy1tb2RlKQ0KDQooZGVmdW4gdGV4Z2x5cGgtcHJlZGljYXRlIChzdGFydCBlbmQg X21hdGNoKQ0KICAiUHJldHRpZnkgbWF0aGVtYXRpY2FsIGV4cHJlc3Npb25zIGRlZmluZWQgdXNp bmcgdGV4IHN5bnRheC4NCk1hdGNoZXMgU1RBUlQgd2l0aCBhIGJhY2tzbGFzaCBhbmQgRU5EIHdp dGggYSB3b3JkIGNvbnN0aXR1ZW50DQpbYS16QS1aMC05XS4gIFVzZXMgdGhlIHByZXR0aWZ5IGZ1 bmN0aW9uYWxpdHkgcHJvdmlkZWQgYnkNCidwcm9nLW1vZGUnLiINCg0KKG5vdCAob3IgKG1lbXEg KGNoYXItYmVmb3JlIHN0YXJ0KSAnKD9cXCkpDQoJIChtZW1xIChjaGFyLXN5bnRheCAob3IgKGNo YXItYWZ0ZXIgZW5kKSA/XHMpKSAnKD93KSkNCgkgKG50aCA4IChzeW50YXgtcHBzcykpKSkpDQoN Cjs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KKGRlZnVuIHRleGdseXBoLWNydWNpYmxlICgpDQogICJTZXQga2V5 d29yZHMgYW5kIGNvcnJlc3BvbmRpbmcgZ2x5cGguIg0KICAocHVzaCAnKCJcXGFscGhhIiAuID/O sSkgcHJldHRpZnktc3ltYm9scy1hbGlzdCkNCiAgKHB1c2ggJygiXFxiZXRhIiAuID/OsikgcHJl dHRpZnktc3ltYm9scy1hbGlzdCkNCiAgKHNldHEgcHJldHRpZnktc3ltYm9scy1jb21wb3NlLXBy ZWRpY2F0ZSAndGV4Z2x5cGgtcHJlZGljYXRlKSkNCg0KOzsgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQooZGVmdW4g dGV4Z2x5cGgtZW5hYmxlICgpDQogICJFbmFibGVzIHR5cGVmYWNlIGZvciB0ZXggZ2x5cGhzLiIN CiAgKHRleGdseXBoLWNydWNpYmxlKQ0KICAocHJldHRpZnktc3ltYm9scy1tb2RlKSkNCg0KOzs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ow0KDQo7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCihkZWZ2YXItbG9jYWwgdGV4Z2x5cGgt c3RhdGUtY3J1YyBuaWwpDQoNCihkZWZ1biB0ZXhnbHlwaC1jeWNsZS1jcnVjaWJsZSAoKQ0KICAi Q3ljbGVzIHN1cGluZiBhbmQgdGV4Z2x5cGggZnVuY3Rpb25hbGl0eS4iDQogICAoaW50ZXJhY3Rp dmUpDQogICAocGNhc2UgdGV4Z2x5cGgtc3RhdGUtY3J1Yw0KICAgICA7OyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogICAgICgxIChzZXRxIHN1cGluZi1z aWduYWwgdCkNCgkoc3VwaW5mLWVuYWJsZSkNCgkobWVzc2FnZSAiU3VwaW5mIEVuYWJsZWQiKQ0K ICAgICAgICAoc2V0cS1sb2NhbCB0ZXhnbHlwaC1zdGF0ZS1jcnVjICgxKyB0ZXhnbHlwaC1zdGF0 ZS1jcnVjKSkpDQogICAgIDs7IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCiAgICAgKDIgKHRleGdseXBoLWVuYWJsZSkNCiAgICAgICAgKG1lc3NhZ2UgIlN1 cGluZiBhbmQgR2x5cGhzIEVuYWJsZWQiKQ0KICAgICAgICAoc2V0cS1sb2NhbCB0ZXhnbHlwaC1z dGF0ZS1jcnVjICgxKyB0ZXhnbHlwaC1zdGF0ZS1jcnVjKSkpDQogICAgIDs7IC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgKF8gKHN1cGluZi1kaXNh YmxlKQ0KCShwcmV0dGlmeS1zeW1ib2xzLW1vZGUgMCkNCgkobWVzc2FnZSAiU3VwaW5mIGFuZCBH bHlwaHMgRGlzYWJsZWQiKQ0KICAgICAgICAoc2V0cS1sb2NhbCB0ZXhnbHlwaC1zdGF0ZS1jcnVj IDEpKSApKQ0KDQo7OyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKGRlZnVuIGNydWNpYmxlLXByZXR0aWZ5LWhv b2sgKCkNCiAgIkhvb2tzLiINCiAgKGFkZC1ob29rICdjcnVjaWJsZS1tb2RlLWhvb2sgIydzdXBp bmYtZW5hYmxlKQ0KICAoYWRkLWhvb2sgJ3RleGluZm8tbW9kZS1ob29rICMndGV4Z2x5cGgtY3J1 Y2libGUpKQ0KDQooZ2xvYmFsLXNldC1rZXkgKGtiZCAiSC10IikgIyd0ZXhnbHlwaC1jeWNsZS1j cnVjaWJsZSkNCg0KOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ow0KDQooY3J1Y2libGUtcHJldHRpZnktaG9vaykN Cihwcm92aWRlICdjcnVjaWJsZS1tb2RlKQ0KDQo7OzsgY3J1Y2libGUtbW9kZS5lbCBlbmRzIGhl cmUNCg== --nika-712a1dd3-eb16-427d-9388-3fb93bc1a415 Content-Type: application/x-texinfo Content-Disposition: attachment; filename=crucible-test.texi Phase Cross-Correlations: Design, comparisons, and applications. \alpha -\beta \gamma \alpha - \beta \gamma \alpha, \alpha. \alpha- \alpha() \alpha[] (\alpha\beta) \alpha-\beta \alpha+\beta \alpha_{i\beta} \alpha/{i\beta} \alpha^{i\beta} \alpha. \beta, \beta? @tex \def\vphm{\displaystyle\vphantom{u \over v}} % described the Phase Coherence $\vphm R_{fg}^{\rm P}(t')$ (naming it the Phase Cross Correlation $c_{\rm PCC}(t)$) where the Analytic Complex Signal is used to constuct a similarity measure that focuses on phase information rather than amplitudes. % $ \alpha- $ $$ R_{fg}^{\rm P}(t') = {1 \over 2 N} \sum \left\{ \left| e^{i \varphi_f(t+t')} + e^{i \varphi_g(t')} \right| - \left| e^{i \varphi_f(t+t')} - e^{i \varphi_g(t')} \right| \right\} \leqno{(6.1)} $$ @end tex @set show--Schimmel--Paulssen--1997 The Phase Metric @math{R_{fg}^{\rm P}(t')} was motivated by the Phase Weighting Factors @math{W^{\rm P}(t)} introduced in the computation of the Phase Weighted Stack @math{\overline{R^{\rm P}}(t)} to down-weight incoherent noise when computing Ordinary Direct Linear Stacks @math{\overline{R^{\rm L}}(t)} (e.g., in the computation of Slant Stacks) in @ref{bibl--Schimmel--Paulssen--1997,, Schimmel & Paulssen (1997)}@FtNote{Schimmel & Paulssen (1997): Noise reduction and detection of weak, coherent signals through phase weighted stacks.}. --nika-712a1dd3-eb16-427d-9388-3fb93bc1a415--