From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Drew Adams Newsgroups: gmane.emacs.bugs Subject: bug#22147: Obsolete search-forward-lax-whitespace Date: Sat, 14 May 2016 15:22:27 -0700 (PDT) Message-ID: <8ec0f5d4-a500-42c1-bab8-eaba00f0915c@default> References: <87wpsk7dcs.fsf@mail.linkov.net> <87d1ubz3w9.fsf@mail.linkov.net> <87r3ipoofk.fsf@mail.linkov.net> <87zixcblno.fsf@mail.linkov.net> <874mfjchp1.fsf@mail.linkov.net> <87r3d4z7uf.fsf@mail.linkov.net> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="__1463264548083581090abhmp0019.oracle.com" X-Trace: ger.gmane.org 1463264624 29798 80.91.229.3 (14 May 2016 22:23:44 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 14 May 2016 22:23:44 +0000 (UTC) Cc: 22147@debbugs.gnu.org, Artur Malabarba To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sun May 15 00:23:27 2016 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 1b1hxm-0005Pg-Sw for geb-bug-gnu-emacs@m.gmane.org; Sun, 15 May 2016 00:23:11 +0200 Original-Received: from localhost ([::1]:39023 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b1hxm-00025d-3b for geb-bug-gnu-emacs@m.gmane.org; Sat, 14 May 2016 18:23:10 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:56305) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b1hxi-0001z4-C6 for bug-gnu-emacs@gnu.org; Sat, 14 May 2016 18:23:07 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b1hxe-0002bO-0c for bug-gnu-emacs@gnu.org; Sat, 14 May 2016 18:23:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:39467) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b1hxd-0002bK-Tf for bug-gnu-emacs@gnu.org; Sat, 14 May 2016 18:23:01 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1b1hxd-0001GR-Ma for bug-gnu-emacs@gnu.org; Sat, 14 May 2016 18:23:01 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Drew Adams Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 14 May 2016 22:23:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 22147 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 22147-submit@debbugs.gnu.org id=B22147.14632645584819 (code B ref 22147); Sat, 14 May 2016 22:23:01 +0000 Original-Received: (at 22147) by debbugs.gnu.org; 14 May 2016 22:22:38 +0000 Original-Received: from localhost ([127.0.0.1]:51804 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b1hxG-0001Fe-8d for submit@debbugs.gnu.org; Sat, 14 May 2016 18:22:38 -0400 Original-Received: from aserp1040.oracle.com ([141.146.126.69]:39038) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b1hxE-0001FS-FS for 22147@debbugs.gnu.org; Sat, 14 May 2016 18:22:37 -0400 Original-Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by aserp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id u4EMMTwT027022 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 14 May 2016 22:22:29 GMT Original-Received: from userv0121.oracle.com (userv0121.oracle.com [156.151.31.72]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id u4EMMT3c002214 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Sat, 14 May 2016 22:22:29 GMT Original-Received: from abhmp0019.oracle.com (abhmp0019.oracle.com [141.146.116.25]) by userv0121.oracle.com (8.13.8/8.13.8) with ESMTP id u4EMMSBr001083; Sat, 14 May 2016 22:22:28 GMT In-Reply-To: <87r3d4z7uf.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9 (901082) [OL 12.0.6744.5000 (x86)] X-Source-IP: aserv0022.oracle.com [141.146.126.234] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] 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" Xref: news.gmane.org gmane.emacs.bugs:118251 Archived-At: --__1463264548083581090abhmp0019.oracle.com Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable > >> I mean a char-folding customization that allows a search > >> for =E2=80=9C=C3=A4=E2=80=9D match =E2=80=9Ca=E2=80=9D. Is this alrea= dy possible? > > > > It sounds like you are asking for symmetric char folding: being > > able to use any of the various A's that make up the A-characters > > equivalence class as a search pattern and find any of those > > characters. > > > > If so, I implemented that (one way, at least), and in emacs-devel > > I proposed such behavior as a togglable option. > > > > It is trivial to try it, if you like: character-fold+.el. > > http://www.emacswiki.org/emacs/download/character-fold%2b.el > > > > (A toggle command for it, `isearchp-toggle-symmetric-char-fold', > > is defined in isearch+.el: > > http://www.emacswiki.org/emacs/download/isearch%2b.el.) >=20 > I'm starting to recollect all the remaining pieces to finish this > release blocking issue, but I can't download this library, > because the link is broken and it seems the whole site is down. >=20 > Drew, could you please send the latest version as an attachment? 1. EmacsWiki seems to be up now. Also, you should be able to get to what is on EmacsWiki at the EmacsMirror: https://github.com/emacsmirror. And you should also be able to get my libraries from MELPA. I've attached `character-fold+.el' anyway. Let me know if you also want to look at `isearch+.el' and you cannot get to it for some reason. 2. More importantly, what I wrote in `character-fold+.el' worked only at the time I wrote it and for a while thereafter, unfortunately. Not too long after that, Artur Malabarba rewrote `character-fold.el', so the code I wrote is no longer appropriate. I have not had time to look at the (fairly deep) changes he made, or to imagine what I might do with it to obtain the symmetric behavior I implemented for the earlier version. 4. Dunno whether what I wrote is needed or helpful for dealing with this bug. Perhaps you or Artur can tell. IIUC, the part of this bug report that I replied to seemed to be a request for an extension of what `character-fold.el' does: symmetric folding. But perhaps I was misunderstanding, because I don't see how that could be a blocking bug - it was never Artur's intention to provide symmetric folding, AFAIK. --__1463264548083581090abhmp0019.oracle.com Content-Type: application/octet-stream; name="character-fold+.el" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="character-fold+.el" Ozs7IGNoYXJhY3Rlci1mb2xkKy5lbCAtLS0gRXh0ZW5zaW9ucyB0byBgY2hhcmFjdGVyLWZvbGQu ZWwnCjs7Cjs7IEZpbGVuYW1lOiBjaGFyYWN0ZXItZm9sZCsuZWwKOzsgRGVzY3JpcHRpb246IEV4 dGVuc2lvbnMgdG8gYGNoYXJhY3Rlci1mb2xkLmVsJwo7OyBBdXRob3I6IERyZXcgQWRhbXMKOzsg TWFpbnRhaW5lcjogRHJldyBBZGFtcwo7OyBDb3B5cmlnaHQgKEMpIDIwMTUtMjAxNiwgRHJldyBB ZGFtcywgYWxsIHJpZ2h0cyByZXNlcnZlZC4KOzsgQ3JlYXRlZDogRnJpIE5vdiAyNyAwOToxMjow MSAyMDE1ICgtMDgwMCkKOzsgVmVyc2lvbjogMAo7OyBQYWNrYWdlLVJlcXVpcmVzOiAoKQo7OyBM YXN0LVVwZGF0ZWQ6IFNhdCBGZWIgMjcgMTU6MDU6MjAgMjAxNiAoLTA4MDApCjs7ICAgICAgICAg ICBCeTogZHJhZGFtcwo7OyAgICAgVXBkYXRlICM6IDkzCjs7IFVSTDogaHR0cDovL3d3dy5lbWFj c3dpa2kub3JnL2NoYXJhY3Rlci1mb2xkKy5lbAo7OyBEb2MgVVJMOiBodHRwOi8vZW1hY3N3aWtp Lm9yZy9DaGFyYWN0ZXJGb2xkUGx1cwo7OyBLZXl3b3JkczogaXNlYXJjaCwgc2VhcmNoLCB1bmlj b2RlCjs7IENvbXBhdGliaWxpdHk6IEdOVSBFbWFjczogMjUueCBidWlsZHMgT04gT1IgQkVGT1JF IDIwMTUtMTItMTAgCjs7Cjs7IEZlYXR1cmVzIHRoYXQgbWlnaHQgYmUgcmVxdWlyZWQgYnkgdGhp cyBsaWJyYXJ5Ogo7Owo7OyAgIGBiYWNrcXVvdGUnLCBgYnV0dG9uJywgYGJ5dGVjb21wJywgYGNj b252JywgYGNoYXJhY3Rlci1mb2xkJywKOzsgICBgY2wtZXh0cmEnLCBgY2wtbGliJywgYGhlbHAt bW9kZScsIGBtYWNyb2V4cCcuCjs7Cjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKOzsKOzs7IENvbW1lbnRhcnk6Cjs7 Cjs7ICBFeHRlbnNpb25zIHRvIElzZWFyY2ggY2hhcmFjdGVyIGZvbGRpbmcuCjs7Cjs7Cjs7ICBO T1RFOiBUaGlzIGxpYnJhcnkgaXMgTk9UIFVQLVRPLURBVEUgV1JUIEVNQUNTIDI1LiAgVGhlIHZh bmlsbGEKOzsgICAgICAgIEVtYWNzIGxpYnJhcnkgYGNoYXJhY3Rlci1mb2xkLmVsJywgd2hpY2gg dGhpcyBsaWJyYXJ5Cjs7ICAgICAgICBleHRlbmRzLCB3YXMgY2hhbmdlZCBpbiBpbmNvbXBhdGli bGUgd2F5cyBhZnRlciB0aGlzIGxpYnJhcnkKOzsgICAgICAgIHdhcyB3cml0dGVuLiAgSSBoYXZl IG5vdCB5ZXQgaGFkIGEgY2hhbmNlIHRvIHVwZGF0ZSB0aGlzCjs7ICAgICAgICAoYW5kIGFtIHdh aXRpbmcgZm9yIEVtYWNzIDI1IHRvIGJlIHJlbGVhc2VkIHRvIGRvIHNvKS4KOzsgICAgICAgIFNv cnJ5IGFib3V0IHRoYXQuCjs7Cjs7Cjs7ICBDaG9vc2UgT25lLVdheSBvciBTeW1tZXRyaWMgQ2hh cmFjdGVyIEZvbGRpbmcKOzsgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo7Owo7OyAgTm9uLW5pbCBvcHRpb24gYGNoYXItZm9sZC1zeW1tZXRyaWMnIG1lYW5z IHRoYXQgY2hhciBmb2xkaW5nIGlzCjs7ICBzeW1tZXRyaWM6IFdoZW4geW91IHNlYXJjaCBmb3Ig YW55IG9mIGFuIGVxdWl2YWxlbmNlIGNsYXNzIG9mCjs7ICBjaGFyYWN0ZXJzIHlvdSBmaW5kIGFs bCBvZiB0aGVtLiAgVGhpcyBiZWhhdmlvciBhcHBsaWVzIHRvCjs7ICBxdWVyeS1yZXBsYWNpbmcg YWxzbyAtIHNlZSBvcHRpb24gYHJlcGxhY2UtY2hhcmFjdGVyLWZvbGQnLgo7Owo7OyAgVGhlIGRl ZmF1bHQgdmFsdWUgb2YgYGNoYXItZm9sZC1zeW1tZXRyaWMnIGlzIGBuaWwnLCB3aGljaCBnaXZl cwo7OyAgdGhlIHNhbWUgYmVoYXZpb3IgYXMgdmFuaWxsYSBFbWFjczogeW91IGZpbmQgYWxsIG1l bWJlcnMgb2YgdGhlCjs7ICBlcXVpdmFsZW5jZSBjbGFzcyBvbmx5IHdoZW4geW91IHNlYXJjaCBm b3IgdGhlIGJhc2UgY2hhcmFjdGVyLgo7Owo7OyAgRm9yIGV4YW1wbGUsIHdpdGggYSBgbmlsJyB2 YWx1ZSB5b3UgY2FuIHNlYXJjaCBmb3IgImUiIChhIGJhc2UKOzsgIGNoYXJhY3RlcikgdG8gZmlu ZCAiw6kiLCBidXQgbm90IHZpY2UgdmVyc2EuICBXaXRoIGEgbm9uLWBuaWwnCjs7ICB2YWx1ZSB5 b3UgY2FuIHNlYXJjaCBmb3IgZWl0aGVyLCB0byBmaW5kIGl0c2VsZiBhbmQgdGhlIG90aGVyCjs7 ICBtZW1iZXJzIG9mIHRoZSBlcXVpdmFsZW5jZSBjbGFzcyAtIHRoZSBiYXNlIGNoYXIgaXMgbm90 IHRyZWF0ZWQKOzsgIHNwZWNpYWxseS4KOzsKOzsgIEV4YW1wbGUgbm9uLWBuaWwnIGJlaGF2aW9y Ogo7Owo7OyAgICBTZWFyY2hpbmcgZm9yIGFueSBvZiB0aGVzZSBjaGFyYWN0ZXJzIGFuZCBjaGFy YWN0ZXIgY29tcG9zaXRpb25zCjs7ICAgIGluIHRoZSBzZWFyY2ggc3RyaW5nIGZpbmRzIGFsbCBv ZiB0aGVtLiAgKFVzZSBgQy11IEMteCA9JyB3aXRoCjs7ICAgIHBvaW50IGJlZm9yZSBhIGNoYXJh Y3RlciB0byBzZWUgY29tcGxldGUgaW5mb3JtYXRpb24gYWJvdXQgaXQuKQo7Owo7OyAgICAgIGUg 8J2ajiDwnZmaIPCdmKYg8J2XsiDwnZa+IPCdloog8J2VliDwnZSiIPCdk64g8J2ShiDwnZGSIPCd kJ4g772FIOOLjiDji40g4pOUIOKSoAo7OyAgICAgIOKFhyDihK8g4oKRIGXMgyDhur0gZcyJIOG6 uyBlzKMg4bq5IGXMsCDhuJsgZcytIOG4mSDhtYkgZcynIMipIGXMkSDIhwo7OyAgICAgIGXMjyDI hSBlzIwgxJsgZcyoIMSZIGXMhyDElyBlzIYgxJUgZcyEIMSTIGXMiCDDqyBlzIIgw6ogZcyBIMOp IGXMgCDDqAo7Owo7OyAgICBBbiBleGFtcGxlIG9mIGEgY29tcG9zaXRpb24gaXMgImXMgSIuICBT ZWFyY2hpbmcgZm9yIHRoYXQgZmluZHMKOzsgICAgdGhlIHNhbWUgbWF0Y2hlcyBhcyBzZWFyY2hp bmcgZm9yICLDqSIgb3Igc2VhcmNoaW5nIGZvciAiZSIuCjs7Cjs7ICBJZiB5b3UgYWxzbyB1c2Ug bGlicmFyeSBgaXNlYXJjaCsuZWwnIHRoZW4geW91IGNhbiB0b2dnbGUgb3B0aW9uCjs7ICBgY2hh ci1mb2xkLXN5bW1ldHJpYycgYW55dGltZSBkdXJpbmcgSXNlYXJjaCwgdXNpbmcgYE0tcyA9Jwo7 OyAgKGNvbW1hbmQgYGlzZWFyY2hwLXRvZ2dsZS1zeW1tZXRyaWMtY2hhci1mb2xkJykuCjs7Cjs7 Cjs7ICBOT1RFOgo7Owo7OyAgICBUbyBjdXN0b21pemUgb3B0aW9uIGBjaGFyLWZvbGQtc3ltbWV0 cmljJywgdXNlIGVpdGhlciBDdXN0b21pemUKOzsgICAgb3IgYSBMaXNwIGZ1bmN0aW9uIGRlc2ln bmVkIGZvciBjdXN0b21pemluZyBvcHRpb25zLCBzdWNoIGFzCjs7ICAgIGBjdXN0b21pemUtc2V0 LXZhcmlhYmxlJywgdGhhdCBpbnZva2VzIHRoZSBuZWNlc3NhcnkgYDpzZXQnCjs7ICAgIGZ1bmN0 aW9uLgo7Owo7Owo7OyAgQ0FWRUFUOgo7Owo7OyAgICBCZSBhd2FyZSB0aGF0IGNoYXJhY3Rlci1m b2xkIHNlYXJjaGluZyBjYW4gYmUgbXVjaCBzbG93ZXIgd2hlbgo7OyAgICBzeW1tZXRyaWMgLSB0 aGVyZSBhcmUgbWFueSBtb3JlIHBvc3NpYmlsaXRpZXMgdG8gc2VhcmNoIGZvci4KOzsgICAgSWYs IGZvciBleGFtcGxlLCB5b3Ugc2VhcmNoIG9ubHkgZm9yIGEgc2luZ2xlICJlIi1mYW1pbHkKOzsg ICAgY2hhcmFjdGVyIHRoZW4gZXZlcnkgImUiIGluIHRoZSBidWZmZXIgaXMgYSBzZWFyY2ggaGl0 ICh3aGljaAo7OyAgICBtZWFucyBsYXp5LWhpZ2hsaWdodGluZyB0aGVtIGFsbCwgYnkgZGVmYXVs dCkuICBTZWFyY2hpbmcgd2l0aCBhCjs7ICAgIGxvbmdlciBzZWFyY2ggc3RyaW5nIGlzIG11Y2gg ZmFzdGVyLgo7Owo7OyAgICBJZiB5b3UgYWxzbyB1c2UgbGlicmFyeSBgaXNlYXJjaCsuZWwnIHRo ZW4geW91IGNhbiB0dXJuIG9mZiBsYXp5Cjs7ICAgIGhpZ2hsaWdodGluZyB1c2luZyB0aGUgdG9n Z2xlIGtleSBgTS1zIGggTCcuICBUaGlzIGNhbiB2YXN0bHkKOzsgICAgaW1wcm92ZSBwZXJmb3Jt YW5jZSB3aGVuIGNoYXJhY3RlciBmb2xkaW5nIGlzIHN5bW1ldHJpYy4KOzsKOzsKOzsgIEN1c3Rv bWl6ZSB0aGUgQWQgSG9jIENoYXJhY3RlciBGb2xkaW5ncwo7OyAgLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCjs7Cjs7ICBJbiBhZGRpdGlvbiB0byB0aGUgc3RhbmRhcmQg ZXF1aXZhbGVuY2UgY2xhc3NlcyBvZiBhIGJhc2UKOzsgIGNoYXJhY3RlciBhbmQgaXRzIGZhbWls eSBvZiBkaWFjcml0aWNhbHMsIHZhbmlsbGEgRW1hY3MgaW5jbHVkZXMgYQo7OyAgbnVtYmVyIG9m IGFkIGhvYyBjaGFyYWN0ZXIgZm9sZGluZ3MsIGUuZy4sIGZvciBkaWZmZXJlbnQgcXVvdGUKOzsg IG1hcmtzLgo7Owo7OyAgT3B0aW9uIGBjaGFyLWZvbGQtYWQtaG9jJyBsZXRzIHlvdSBjdXN0b21p emUgdGhpcyBzZXQgb2YgYWQgaG9jCjs7ICBmb2xkaW5ncy4gIFRoZSBkZWZhdWx0IHZhbHVlIGlz IHRoZSBzYW1lIHNldCBwcm92aWRlZCBieSB2YW5pbGxhCjs7ICBFbWFjcy4KOzsKOzsKOzsKOzsg IE9wdGlvbnMgZGVmaW5lZCBoZXJlOgo7Owo7OyAgICBgY2hhci1mb2xkLWFkLWhvYycsIGBjaGFy LWZvbGQtc3ltbWV0cmljJy4KOzsKOzsgIE5vbi1pbnRlcmFjdGl2ZSBmdW5jdGlvbnMgZGVmaW5l ZCBoZXJlOgo7Owo7OyAgICBgdXBkYXRlLWNoYXItZm9sZC10YWJsZScuCjs7Cjs7ICBJbnRlcm5h bCB2YXJpYWJsZXMgZGVmaW5lZCBoZXJlOgo7Owo7OyAgICBgY2hhci1mb2xkLWRlY29tcHMnLgo7 Owo7Owo7OyAgKioqKiogTk9URTogVGhlIGZvbGxvd2luZyBmdW5jdGlvbiBkZWZpbmVkIGluIGBt b3VzZS5lbCcgaGFzCjs7ICAgICAgICAgICAgICBiZWVuIEFEVklTRUQgSEVSRToKOzsKOzsgICAg YGNoYXJhY3Rlci1mb2xkLXRvLXJlZ2V4cCcuCjs7Cjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKOzsKOzs7IENoYW5n ZSBMb2c6Cjs7Cjs7IDIwMTUvMTIvMDEgZGFkYW1zCjs7ICAgICBjaGFyLWZvbGQtYWQtaG9jOiBB ZGRlZCA6c2V0Lgo7OyAyMDE1LzExLzI4IGRhZGFtcwo7OyAgICAgQWRkZWQ6IGNoYXItZm9sZC1h ZC1ob2MuCjs7ICAgICB1cGRhdGUtY2hhci1mb2xkLXRhYmxlOiBVc2UgY2hhci1mb2xkLWFkLWhv Yy4KOzsgMjAxNS8xMS8yNyBkYWRhbXMKOzsgICAgIENyZWF0ZWQuCjs7Cjs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsK OzsKOzsgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKOzsgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0Cjs7IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KOzsKOzsgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAo7OyBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCjs7IE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUg R05VCjs7IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KOzsKOzsgWW91 IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UKOzsgYWxvbmcgd2l0aCBHTlUgRW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCjs7Cjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OzsKOzsKOzs7IENvZGU6CgoocmVxdWly ZSAnY2hhcmFjdGVyLWZvbGQpCgo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwoKKGRlZnZhciBjaGFy LWZvbGQtZGVjb21wcyAoKQogICJMaXN0IG9mIGNvbnNlcyBvZiBhIGRlY29tcG9zaXRpb24gYW5k IGl0cyBiYXNlIGNoYXIuIikKCihkZWZ1biB1cGRhdGUtY2hhci1mb2xkLXRhYmxlICgpCiAgIlVw ZGF0ZSB0aGUgdmFsdWUgb2YgdmFyaWFibGUgYGNoYXJhY3Rlci1mb2xkLXRhYmxlJy4KVGhlIG5l dyB2YWx1ZSByZWZsZWN0cyB0aGUgY3VycmVudCB2YWx1ZSBvZiBgY2hhci1mb2xkLXN5bW1ldHJp YycuIgogIChzZXRxIGNoYXItZm9sZC1kZWNvbXBzICAoKSkKICAoc2V0cSBjaGFyYWN0ZXItZm9s ZC10YWJsZQogICAgICAgIChsZXQqICgoZXF1aXYgIChtYWtlLWNoYXItdGFibGUgJ2NoYXJhY3Rl ci1mb2xkLXRhYmxlKSkKICAgICAgICAgICAgICAgKHRhYmxlICAodW5pY29kZS1wcm9wZXJ0eS10 YWJsZS1pbnRlcm5hbCAnZGVjb21wb3NpdGlvbikpCiAgICAgICAgICAgICAgIChmdW5jICAgKGNo YXItdGFibGUtZXh0cmEtc2xvdCB0YWJsZSAxKSkpCiAgICAgICAgICA7OyBFbnN1cmUgdGhhdCB0 aGUgdGFibGUgaXMgcG9wdWxhdGVkLgogICAgICAgICAgKG1hcC1jaGFyLXRhYmxlIChsYW1iZGEg KGNoIHZhbCkgKHdoZW4gKGNvbnNwIGNoKSAoZnVuY2FsbCBmdW5jIChjYXIgY2gpIHZhbCB0YWJs ZSkpKSB0YWJsZSkKICAgICAgICAgIDs7IENvbXBpbGUgYSBsaXN0IG9mIGFsbCBjb21wbGV4IGNo YXJzIHRoYXQgZWFjaCBzaW1wbGUgY2hhciBzaG91bGQgbWF0Y2guCiAgICAgICAgICAobWFwLWNo YXItdGFibGUKICAgICAgICAgICAobGFtYmRhIChjaCBkZWMpCiAgICAgICAgICAgICAod2hlbiAo Y29uc3AgZGVjKQogICAgICAgICAgICAgICAod2hlbiAoc3ltYm9scCAoY2FyIGRlYykpIChzZXRx IGRlYyAgKGNkciBkZWMpKSkgOyBEaXNjYXJkIGEgcG9zc2libGUgZm9ybWF0dGluZyB0YWcuCiAg ICAgICAgICAgICAgIDs7IFNraXAgdHJpdmlhbCBjYXNlcyBsaWtlID9hIGRlY29tcG9zaW5nIHRv ICg/YSkuCiAgICAgICAgICAgICAgICh1bmxlc3MgKGFuZCAobnVsbCAoY2RyIGRlYykpICAoZXEg Y2ggKGNhciBkZWMpKSkKICAgICAgICAgICAgICAgICAobGV0ICgoZGQgICAgICAgICAgIGRlYykK ICAgICAgICAgICAgICAgICAgICAgICAoZm9sZC1kZWNvbXAgIHQpCiAgICAgICAgICAgICAgICAg ICAgICAga2sgZm91bmQpCiAgICAgICAgICAgICAgICAgICAod2hpbGUgKGFuZCBkZCAgKG5vdCBm b3VuZCkpCiAgICAgICAgICAgICAgICAgICAgIChzZXRxIGtrICAocG9wIGRkKSkKICAgICAgICAg ICAgICAgICAgICAgOzsgSXMgS0sgYSBudW1iZXIgb3IgbGV0dGVyLCBwZXIgdW5pY29kZSBzdGFu ZGFyZD8KICAgICAgICAgICAgICAgICAgICAgKHNldHEgZm91bmQgIChtZW1xIChnZXQtY2hhci1j b2RlLXByb3BlcnR5IGtrICdnZW5lcmFsLWNhdGVnb3J5KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJyhMdSBMbCBMdCBMbSBMbyBOZCBObCBObykpKSkKICAgICAgICAg ICAgICAgICAgIChpZiBmb3VuZAogICAgICAgICAgICAgICAgICAgICAgIDs7IENoZWNrIGlmIHRo ZSBkZWNvbXBvc2l0aW9uIGhhcyBtb3JlIHRoYW4gb25lIGxldHRlciwgYmVjYXVzZSB0aGVuCiAg ICAgICAgICAgICAgICAgICAgICAgOzsgd2UgZG9uJ3Qgd2FudCB0aGUgZmlyc3QgbGV0dGVyIHRv IG1hdGNoIHRoZSBkZWNvbXBvc2l0aW9uLgogICAgICAgICAgICAgICAgICAgICAgIChkb2xpc3Qg KGtrICBkZCkKICAgICAgICAgICAgICAgICAgICAgICAgICh3aGVuIChhbmQgZm9sZC1kZWNvbXAg IChtZW1xIChnZXQtY2hhci1jb2RlLXByb3BlcnR5IGtrICdnZW5lcmFsLWNhdGVnb3J5KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyhMdSBM bCBMdCBMbSBMbyBOZCBObCBObykpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0cSBm b2xkLWRlY29tcCAgbmlsKSkpCiAgICAgICAgICAgICAgICAgICAgIDs7IE5vIG51bWJlciBvciBs ZXR0ZXIgb24gZGVjb21wb3NpdGlvbi4gIFRha2UgaXRzIGZpcnN0IGNoYXIuCiAgICAgICAgICAg ICAgICAgICAgIChzZXRxIGZvdW5kICAoY2FyLXNhZmUgZGVjKSkpCiAgICAgICAgICAgICAgICAg ICA7OyBGb2xkIGEgbXVsdGktY2hhciBkZWNvbXBvc2l0aW9uIG9ubHkgaWYgYXQgbGVhc3Qgb25l IG9mIHRoZSBjaGFycyBpcwogICAgICAgICAgICAgICAgICAgOzsgbm9uLXNwYWNpbmcgKGNvbWJp bmluZykuCiAgICAgICAgICAgICAgICAgICAod2hlbiBmb2xkLWRlY29tcAogICAgICAgICAgICAg ICAgICAgICAoc2V0cSBmb2xkLWRlY29tcCAgbmlsKQogICAgICAgICAgICAgICAgICAgICAoZG9s aXN0IChrayAgZGVjKQogICAgICAgICAgICAgICAgICAgICAgICh3aGVuIChhbmQgKG5vdCBmb2xk LWRlY29tcCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg+IChnZXQtY2hhci1j b2RlLXByb3BlcnR5IGtrICdjYW5vbmljYWwtY29tYmluaW5nLWNsYXNzKSAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgIChzZXRxIGZvbGQtZGVjb21wICB0KSkpKQogICAgICAgICAgICAgICAg ICAgOzsgQWRkIElJIHRvIHRoZSBsaXN0IG9mIGNoYXJzIHRoYXQgS0sgY2FuIHJlcHJlc2VudC4g IE1heWJlIGFkZCBpdHMgZGVjb21wb3NpdGlvbgogICAgICAgICAgICAgICAgICAgOzsgdG9vLCBz byB3ZSBjYW4gbWF0Y2ggbXVsdGktY2hhciByZXByZXNlbnRhdGlvbnMgbGlrZSAoZm9ybWF0ICJh JWMiIDc2OSkuCiAgICAgICAgICAgICAgICAgICAod2hlbiAoYW5kIGZvdW5kICAobm90IChlcSBj aCBraykpKQogICAgICAgICAgICAgICAgICAgICAobGV0ICgoY2hyLXN0cmdzICAoY29ucyAoY2hh ci10by1zdHJpbmcgY2gpIChhcmVmIGVxdWl2IGtrKSkpKQogICAgICAgICAgICAgICAgICAgICAg IChhc2V0IGVxdWl2IGtrIChpZiBmb2xkLWRlY29tcAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoY29ucyAoYXBwbHkgIydzdHJpbmcgZGVjKSBjaHItc3RyZ3MpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHItc3RyZ3MpKSkpKSkpKQog ICAgICAgICAgIHRhYmxlKQogICAgICAgICAgOzsgQWRkIHNvbWUgbWFudWFsIGVudHJpZXMuCiAg ICAgICAgICAoZG9saXN0IChpdCAgY2hhci1mb2xkLWFkLWhvYykKICAgICAgICAgICAgKGxldCAo KGlkeCAgICAgICAgKGNhciBpdCkpCiAgICAgICAgICAgICAgICAgIChjaHItc3RyZ3MgIChjZHIg aXQpKSkKICAgICAgICAgICAgICAoYXNldCBlcXVpdiBpZHggKGFwcGVuZCBjaHItc3RyZ3MgKGFy ZWYgZXF1aXYgaWR4KSkpKSkKCiAgICAgICAgICA7OyBUaGlzIGlzIHRoZSBlc3NlbnRpYWwgYml0 IGFkZGVkIGJ5IGBjaGFyYWN0ZXItZm9sZCsuZWwnLgogICAgICAgICAgKHdoZW4gKGFuZCAoYm91 bmRwICdjaGFyLWZvbGQtc3ltbWV0cmljKSAgY2hhci1mb2xkLXN5bW1ldHJpYykKICAgICAgICAg ICAgOzsgQWRkIGFuIGVudHJ5IGZvciBlYWNoIGVxdWl2YWxlbnQgY2hhci4KICAgICAgICAgICAg KGxldCAoKG90aGVycyAgKCkpKQogICAgICAgICAgICAgIChtYXAtY2hhci10YWJsZQogICAgICAg ICAgICAgICAobGFtYmRhIChiYXNlIHZhbCkKICAgICAgICAgICAgICAgICAobGV0ICgoY2hyLXN0 cmdzICAoYXJlZiBlcXVpdiBiYXNlKSkpCiAgICAgICAgICAgICAgICAgICAod2hlbiAoY29uc3Ag Y2hyLXN0cmdzKQogICAgICAgICAgICAgICAgICAgICAoZG9saXN0IChzdHJnICAoY2RyIGNoci1z dHJncykpCiAgICAgICAgICAgICAgICAgICAgICAgKHdoZW4gKDwgKGxlbmd0aCBzdHJnKSAyKQog ICAgICAgICAgICAgICAgICAgICAgICAgKHB1c2ggKGNvbnMgKHN0cmluZy10by1jaGFyIHN0cmcp IChyZW1vdmUgc3RyZyBjaHItc3RyZ3MpKSBvdGhlcnMpKQogICAgICAgICAgICAgICAgICAgICAg IDs7IEFkZCBpdCBhbmQgaXRzIGJhc2UgY2hhciB0byBgY2hhci1mb2xkLWRlY29tcHMnLgogICAg ICAgICAgICAgICAgICAgICAgIChwdXNoIChjb25zIHN0cmcgKGNoYXItdG8tc3RyaW5nIGJhc2Up KSBjaGFyLWZvbGQtZGVjb21wcykpKSkpCiAgICAgICAgICAgICAgIGVxdWl2KQogICAgICAgICAg ICAgIChkb2xpc3QgKGl0ICBvdGhlcnMpCiAgICAgICAgICAgICAgICAobGV0ICgoYmFzZSAgICAg ICAoY2FyIGl0KSkKICAgICAgICAgICAgICAgICAgICAgIChjaHItc3RyZ3MgIChjZHIgaXQpKSkK ICAgICAgICAgICAgICAgICAgKGFzZXQgZXF1aXYgYmFzZSAoYXBwZW5kIGNoci1zdHJncyAoYXJl ZiBlcXVpdiBiYXNlKSkpKSkpKQoKICAgICAgICAgIChtYXAtY2hhci10YWJsZSA7IENvbnZlcnQg dGhlIGxpc3RzIG9mIGNoYXJhY3RlcnMgd2UgY29tcGlsZWQgaW50byByZWdleHBzLgogICAgICAg ICAgIChsYW1iZGEgKGNoIHZhbCkgKGxldCAoKHJlICAocmVnZXhwLW9wdCAoY29ucyAoY2hhci10 by1zdHJpbmcgY2gpIHZhbCkpKSkKICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChjb25zcCBj aCkgKHNldC1jaGFyLXRhYmxlLXJhbmdlIGVxdWl2IGNoIHJlKSAoYXNldCBlcXVpdiBjaCByZSkp KSkKICAgICAgICAgICBlcXVpdikKICAgICAgICAgIGVxdWl2KSkpCgooZGVmY3VzdG9tIGNoYXIt Zm9sZC1hZC1ob2MgJygoP1wiICLvvIIiICLigJwiICLigJ0iICLigJ0iICLigJ4iICLiuYIiICLj gJ4iICLigJ8iICLigJ8iICLinZ4iICLinZ0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAi4p2gIiAi4oCcIiAi4oCeIiAi44CdIiAi44CfIiAi8J+ZtyIgIvCfmbYiICLwn5m4IiAiwqsi ICLCuyIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg/JyAi4p2fIiAi4p2bIiAi4p2c IiAi4oCYIiAi4oCZIiAi4oCaIiAi4oCbIiAi4oCaIiAi86CAoiIgIuKdriIgIuKdryIgIuKAuSIg IuKAuiIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICg/YCAi4p2bIiAi4oCYIiAi4oCb IiAi86CAoiIgIuKdriIgIuKAuSIpKQogICJBZCBob2MgY2hhcmFjdGVyIGZvbGRpbmdzLgpFYWNo IGVudHJ5IGlzIGEgbGlzdCBvZiBhIGNoYXJhY3RlciBhbmQgdGhlIHN0cmluZ3MgdGhhdCBmb2xk IGludG8gaXQuCgpUaGUgZGVmYXVsdCB2YWx1ZSBpbmNsdWRlcyB0aG9zZSBhZCBob2MgZm9sZGlu Z3MgcHJvdmlkZWQgYnkgdmFuaWxsYQpFbWFjcy4iCiAgOnNldCAobGFtYmRhIChzeW0gZGVmcykK ICAgICAgICAgKGN1c3RvbS1zZXQtZGVmYXVsdCBzeW0gZGVmcykKICAgICAgICAgKHVwZGF0ZS1j aGFyLWZvbGQtdGFibGUpKQogIDp0eXBlICcocmVwZWF0IChjb25zCiAgICAgICAgICAgICAgICAg IChjaGFyYWN0ZXIgOnRhZyAiRm9sZCB0byBjaGFyYWN0ZXIiKQogICAgICAgICAgICAgICAgICAo cmVwZWF0IChzdHJpbmcgOnRhZyAiRm9sZCBmcm9tIHN0cmluZyIpKSkpCiAgOmdyb3VwICdpc2Vh cmNoKQoKKGRlZmN1c3RvbSBjaGFyLWZvbGQtc3ltbWV0cmljIG5pbAogICJOb24tbmlsIG1lYW5z IGNoYXItZm9sZCBzZWFyY2hpbmcgdHJlYXRzIGVxdWl2YWxlbnQgY2hhcnMgdGhlIHNhbWUuClRo YXQgaXMsIHVzZSBvZiBhbnkgb2YgYSBzZXQgb2YgY2hhci1mb2xkIGVxdWl2YWxlbnQgY2hhcnMg aW4gYSBzZWFyY2gKc3RyaW5nIGZpbmRzIGFueSBvZiB0aGVtIGluIHRoZSB0ZXh0IGJlaW5nIHNl YXJjaGVkLgoKSWYgbmlsIHRoZW4gb25seSB0aGUgXCJiYXNlXCIgb3IgXCJjYW5vbmljYWxcIiBj aGFyIG9mIHRoZSBzZXQgbWF0Y2hlcwphbnkgb2YgdGhlbS4gIFRoZSBvdGhlcnMgbWF0Y2ggb25s eSB0aGVtc2VsdmVzLCBldmVuIHdoZW4gY2hhci1mb2xkaW5nCmlzIHR1cm5lZCBvbi4iCiAgOnNl dCAobGFtYmRhIChzeW0gZGVmcykKICAgICAgICAgKGN1c3RvbS1zZXQtZGVmYXVsdCBzeW0gZGVm cykKICAgICAgICAgKHVwZGF0ZS1jaGFyLWZvbGQtdGFibGUpKQogIDp0eXBlICdib29sZWFuIDpn cm91cCAnaXNlYXJjaCkKCihkZWZhZHZpY2UgY2hhcmFjdGVyLWZvbGQtdG8tcmVnZXhwIChiZWZv cmUgcmVwbGFjZS1kZWNvbXBvc2l0aW9ucyBhY3RpdmF0ZSkKICAiUmVwbGFjZSBhbnkgZGVjb21w b3NpdGlvbnMgaW4gYGNoYXJhY3Rlci1mb2xkLXRhYmxlJyBieSB0aGVpciBiYXNlIGNoYXJzLgpU aGlzIGFsbG93cyBzZWFyY2ggdG8gbWF0Y2ggYWxsIGVxdWl2YWxlbnRzLiIKICAod2hlbiBjaGFy LWZvbGQtZGVjb21wcwogICAgKGRvbGlzdCAoZGVjb21wICBjaGFyLWZvbGQtZGVjb21wcykKICAg ICAgKGFkLXNldC1hcmcgMCAgKHJlcGxhY2UtcmVnZXhwLWluLXN0cmluZyAocmVnZXhwLXF1b3Rl IChjYXIgZGVjb21wKSkgKGNkciBkZWNvbXApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGFkLWdldC1hcmcgMCkgJ0ZJWEVELUNBU0UgJ0xJVEVSQUwpKSkp KQo7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OwoKKHByb3ZpZGUgJ2NoYXJhY3Rlci1mb2xkKykKCjs7 Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7 Ozs7Ozs7Ozs7OzsKOzs7IGNoYXJhY3Rlci1mb2xkKy5lbCBlbmRzIGhlcmUK --__1463264548083581090abhmp0019.oracle.com--