From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Override Windows default Win-* key combinations when using Emacs Date: Mon, 29 Feb 2016 11:01:31 -0800 Organization: UCLA Computer Science Department Message-ID: <56D4958B.8070300@cs.ucla.edu> References: <568BBC58.50702@aprikoodi.fi> <83y4c43qkh.fsf@gnu.org> <5691667C.5000009@aprikoodi.fi> <838u3wkkvb.fsf@gnu.org> <5694E07E.8010005@aprikoodi.fi> <83fuy2kd2w.fsf@gnu.org> <56961607.2090504@aprikoodi.fi> <569634D6.6030404@aprikoodi.fi> <83oacpiial.fsf@gnu.org> <5697995B.5010306@aprikoodi.fi> <83mvs8gh7n.fsf@gnu.org> <83vb6tethb.fsf@gnu.org> <569A22D3.7070208@aprikoodi.fi> <56B207C0.3030304@aprikoodi.fi> <83mvrhyf4c.fsf@gnu.org> <838u27eo5p.fsf@gnu.org> <56D03005.3070809@aprikoodi.fi> <831t7ycrow.fsf@gnu.org> <56D2B300.80700@cs.ucla.edu> <83wppoal6o.fsf@gnu.org> <56D35297.9040507@cs.ucla.edu> <83bn70a94l.fsf@gnu.org> <56D38265.9000503@cs.ucla.edu> <83a8mk9oqd.fsf@gnu.org> <56D3EE3A.5090803@cs.ucla.edu> <83vb578qem.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------080507050803040702080303" X-Trace: ger.gmane.org 1456772531 32704 80.91.229.3 (29 Feb 2016 19:02:11 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 29 Feb 2016 19:02:11 +0000 (UTC) Cc: jussi@aprikoodi.fi, emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Feb 29 20:02:02 2016 Return-path: Envelope-to: ged-emacs-devel@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 1aaT4x-0007NE-MM for ged-emacs-devel@m.gmane.org; Mon, 29 Feb 2016 20:02:00 +0100 Original-Received: from localhost ([::1]:38574 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aaT4x-0003wy-8l for ged-emacs-devel@m.gmane.org; Mon, 29 Feb 2016 14:01:59 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:37683) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aaT4o-0003q7-PT for emacs-devel@gnu.org; Mon, 29 Feb 2016 14:01:55 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aaT4k-00058k-Lz for emacs-devel@gnu.org; Mon, 29 Feb 2016 14:01:50 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:59229) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aaT4b-00056N-JG; Mon, 29 Feb 2016 14:01:37 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 377DA160F53; Mon, 29 Feb 2016 11:01:36 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id hV7nFn-i2ZwG; Mon, 29 Feb 2016 11:01:35 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 39163160FD5; Mon, 29 Feb 2016 11:01:35 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 8E5lhqFjmSjA; Mon, 29 Feb 2016 11:01:35 -0800 (PST) Original-Received: from penguin.cs.ucla.edu (Penguin.CS.UCLA.EDU [131.179.64.200]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 1ADAF160F53; Mon, 29 Feb 2016 11:01:35 -0800 (PST) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0 In-Reply-To: <83vb578qem.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 131.179.128.68 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:200820 Archived-At: This is a multi-part message in MIME format. --------------080507050803040702080303 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 02/29/2016 07:52 AM, Eli Zaretskii wrote: > I was talking about systems other than Windows. Do we know which ones > of them still use the non-getaddrinfo code? The Gnulib documentation mentions HP-UX 11.11, IRIX 6.5, OSF/1 5.1, Solaris 7, Cygwin 1.5.x, mingw, MSVC 9, Interix 3.5, BeOS. Of the non-MS-Windows ports, Emacs should run on HP-UX 11, Solaris 7, and (assuming --with-wide-int) IRIX 6.5. Of these only HP-UX 11.11 (aka HP-UX 11i) is still a viable platform. The base system lacks getaddrinfo, but there is an optional addon to support getaddrinfo (it's part of IPv6 support) > I see that we have calls to something named res_init there, and we > even have a configure-time test for that. What is that about? Gnulib > doesn't have that, and it's certainly not for the MS-Windows build. res_init originally had to do with the ancient (pre-2000) BIND interfaces that were not thread-safe. Emacs doesn't use those so we don't need to worry about them. More recently, res_init was used to kick glibc into re-reading /etc/resolv.conf. That has been obsolete for years too, with the emergence of nscd. Nowadays calling res_init merely slows Emacs down so Emacs should stop doing it, and I installed the attached patch into master. > The current w32 code in Emacs wraps each network-related function with > a wrapper that tracks sockets and file descriptors they use, > translates socket errors to errno values, and does other important > stuff. The code also arranges for dynamically loading the socket > library only when actually needed. So replacing just one function will > certainly not work well, and replacing them all sounds like a lot of > work for very little gain. So I think a better way forward would be to > implement getaddrinfo wrapper in w32.c, complete with the fallback we > have in process.c (and maybe also borrowing some ideas from Gnulib). Gnulib also tracks file descriptors in its substitute functions, I presume for similar reasons. At some point perhaps this should be unified with what Emacs does, but obviously this is not high priority. > When this is done, we can install your patch for whatever other > systems which still don't have getaddrinfo (if there are such systems > that we still support). Writing such a getaddrinfo wrapper is easy, > and I expect it to be done soon enough, so please wait with your patch > until then. Sounds good. --------------080507050803040702080303 Content-Type: application/x-patch; name="0001-Stop-calling-res_init.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Stop-calling-res_init.patch" RnJvbSAwZDk2YmNjNDliOTU1MzRmMTk0MjUxMTk2MzkxYjNiNmE4ZGVmMWIwIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBNb24sIDI5IEZlYiAyMDE2IDA5OjM5OjQ1IC0wODAwClN1YmplY3Q6IFtQQVRD SF0gU3RvcCBjYWxsaW5nIHJlc19pbml0Ck1JTUUtVmVyc2lvbjogMS4wCkNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApDb250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0CgpFbWFjcyBzaG91bGRu4oCZdCBuZWVkIHRvIGNhbGwgcmVzX2luaXQgYW55IG1v cmUsIG5vdyB0aGF0IG5zY2Qgb3IKZXF1aXZhbGVudCBpcyBldmVyeXdoZXJlLiAgT24gbW9k ZXJuIHN5c3RlbXMsIGNhbGxpbmcgcmVzX2luaXQKc2ltcGx5IHNsb3dzIEVtYWNzIGRvd24u ICBPbiBhbmNpZW50IHN5c3RlbXMgbGFja2luZyBuc2NkIEVtYWNzCndpbGwgc3RpbGwgd29y ayB3ZWxsIGVub3VnaCB3aXRoIHRoaXMgY2hhbmdlOyBpdOKAmXMganVzdCB0aGF0IGl0Cndv buKAmXQgcmVzcG9uZCB0byBjaGFuZ2VzIGluIC9ldGMvcmVzb2x2LmNvbmYuCiogY29uZmln dXJlLmFjIChIQVZFX1JFU19JTklUKTogUmVtb3ZlLiAgV29ycnkgYWJvdXQgLWxyZXNvbHYg b25seQp3aGVuIGNvbmZpZ3VyZWQgLS13aXRoLWhlc2lvZC4gIEhlc2lvZCBpcyBzdGlsbCB1 c2VkOyBzZWUsIGUuZy46Cmh0dHBzOi8vc295bGVudG5ld3Mub3JnL21ldGEvYXJ0aWNsZS5w bD9zaWQ9MTUvMDcvMTMvMDI1NTIxNAoqIHNyYy9NYWtlZmlsZS5pbiAoTElCUkVTT0xWKTog UmVtb3ZlLiAgQWxsIHVzZXMgcmVtb3ZlZC4KLS0tCiBhZG1pbi9DUFAtREVGSU5FUyB8ICAx IC0KIGNvbmZpZ3VyZS5hYyAgICAgIHwgNDQgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KIHNyYy9NYWtlZmlsZS5pbiAgIHwgIDUgKy0tLS0KIHNyYy9w cm9jZXNzLmMgICAgIHwgMTMgLS0tLS0tLS0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA1IGlu c2VydGlvbnMoKyksIDU4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2FkbWluL0NQUC1E RUZJTkVTIGIvYWRtaW4vQ1BQLURFRklORVMKaW5kZXggNzk2YjU3ZC4uODZmMmZhNSAxMDA2 NDQKLS0tIGEvYWRtaW4vQ1BQLURFRklORVMKKysrIGIvYWRtaW4vQ1BQLURFRklORVMKQEAg LTI1NCw3ICsyNTQsNiBAQCBIQVZFX1JBTkRPTQogSEFWRV9SRUFETElOSwogSEFWRV9SRUFE TElOS0FUCiBIQVZFX1JFQ1ZGUk9NCi1IQVZFX1JFU19JTklUCiBIQVZFX1JJTlQKIEhBVkVf UlNWRwogSEFWRV9TRUxFQ1QKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3Vy ZS5hYwppbmRleCBlNzUwYTQzLi40OGQ5ZGYxIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMK KysrIGIvY29uZmlndXJlLmFjCkBAIC00MDAwLDQ0ICs0MDAwLDEzIEBAIEFDX0NBQ0hFX0NI RUNLKFt3aGV0aGVyIHNpZ25hbHMgY2FuIGJlIGhhbmRsZWQgb24gYWx0ZXJuYXRlIHN0YWNr XSwKICAgICAgW2VtYWNzX2N2X2FsdGVybmF0ZV9zdGFjaz15ZXNdLAogICAgICBbZW1hY3Nf Y3ZfYWx0ZXJuYXRlX3N0YWNrPW5vXSldKQogCi0jIERvIHdlIGhhdmUgcmVzX2luaXQsIGZv ciBkZXRlY3RpbmcgY2hhbmdlcyBpbiAvZXRjL3Jlc29sdi5jb25mPwotIyBPbiBEYXJ3aW4s IHJlc19pbml0IGFwcGVhcnMgbm90IHRvIGJlIHVzZWZ1bDogc2VlIGJ1ZyM1NjIgYW5kCi0j IGh0dHA6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9lbWFjcy1kZXZlbC8yMDA3LTEx L21zZzAxNDY3Lmh0bWwKLXJlc29sdj1ubwotCi1pZiB0ZXN0ICRvcHN5cyAhPSBkYXJ3aW47 IHRoZW4KLQotICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbI2luY2x1ZGUg PG5ldGluZXQvaW4uaD4KLSNpbmNsdWRlIDxhcnBhL25hbWVzZXIuaD4KLSNpbmNsdWRlIDxy ZXNvbHYuaD5dXSwKLSAgICBbW3JldHVybiByZXNfaW5pdCgpO11dKV0sCi0gICAgaGF2ZV9y ZXNfaW5pdD15ZXMsIGhhdmVfcmVzX2luaXQ9bm8pCi0gIGlmIHRlc3QgIiRoYXZlX3Jlc19p bml0IiA9IG5vOyB0aGVuCi0gICAgT0xJQlM9IiRMSUJTIgotICAgIExJQlM9IiRMSUJTIC1s cmVzb2x2IgotICAgIEFDX01TR19DSEVDS0lORyhmb3IgcmVzX2luaXQgd2l0aCAtbHJlc29s dikKLSAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbI2luY2x1ZGUgPG5l dGluZXQvaW4uaD4KLSNpbmNsdWRlIDxhcnBhL25hbWVzZXIuaD4KLSNpbmNsdWRlIDxyZXNv bHYuaD5dXSwKLSAgICAgIFtbcmV0dXJuIHJlc19pbml0KCk7XV0pXSwKLSAgICAgIGhhdmVf cmVzX2luaXQ9eWVzLCBoYXZlX3Jlc19pbml0PW5vKQotICAgIEFDX01TR19SRVNVTFQoJGhh dmVfcmVzX2luaXQpCi0gICAgaWYgdGVzdCAiJGhhdmVfcmVzX2luaXQiID0geWVzIDsgdGhl bgotICAgICAgcmVzb2x2PXllcwotICAgIGZpCi0gICAgTElCUz0iJE9MSUJTIgotICBmaQot Ci0gIGlmIHRlc3QgIiRoYXZlX3Jlc19pbml0IiA9IHllczsgdGhlbgotICAgIEFDX0RFRklO RShIQVZFX1JFU19JTklULCAxLCBbRGVmaW5lIHRvIDEgaWYgcmVzX2luaXQgaXMgYXZhaWxh YmxlLl0pCi0gIGZpCi1maSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRubCAhZGFy d2luCi0KICMgRG8gd2UgbmVlZCB0aGUgSGVzaW9kIGxpYnJhcnkgdG8gcHJvdmlkZSB0aGUg c3VwcG9ydCByb3V0aW5lcz8KIGRubCBGSVhNRT8gIFNob3VsZCB3ZSBiZSBza2lwcGluZyB0 aGlzIG9uIERhcndpbiB0b28/CiBMSUJIRVNJT0Q9CitMSUJSRVNPTFY9CiBpZiB0ZXN0ICIk d2l0aF9oZXNpb2QiICE9IG5vIDsgdGhlbgogICAjIERvbid0IHNldCAkTElCUyBoZXJlIC0t IHNlZSBjb21tZW50cyBhYm92ZS4gIEZJWE1FIHdoaWNoIGNvbW1lbnRzPworICByZXNvbHY9 bm8KICAgQUNfQ0hFQ0tfRlVOQyhyZXNfc2VuZCwgLCBbQUNfQ0hFQ0tfRlVOQyhfX3Jlc19z ZW5kLCAsCiAgICAgIFtBQ19DSEVDS19MSUIocmVzb2x2LCByZXNfc2VuZCwgcmVzb2x2PXll cywKIAkJICBbQUNfQ0hFQ0tfTElCKHJlc29sdiwgX19yZXNfc2VuZCwgcmVzb2x2PXllcyld KV0pXSkKQEAgLTQwNDYsMjEgKzQwMTUsMTYgQEAgaWYgdGVzdCAiJHdpdGhfaGVzaW9kIiAh PSBubyA7IHRoZW4KICAgZWxzZQogICAgIFJFU09MVkxJQj0KICAgZmkKKyAgaGVzaW9kPW5v CiAgIEFDX0NIRUNLX0ZVTkMoaGVzX2dldG1haWxob3N0LCAsIFtBQ19DSEVDS19MSUIoaGVz aW9kLCBoZXNfZ2V0bWFpbGhvc3QsCiAJaGVzaW9kPXllcywgOiwgJFJFU09MVkxJQildKQog CiAgIGlmIHRlc3QgeCIkaGVzaW9kIiA9IHh5ZXM7IHRoZW4KICAgICBMSUJIRVNJT0Q9LWxo ZXNpb2QKKyAgICBMSUJSRVNPTFY9JFJFU09MVkxJQgogICBmaQogZmkKIEFDX1NVQlNUKExJ QkhFU0lPRCkKLQotIyBEbyB3ZSBuZWVkIGxpYnJlc29sdiAoZHVlIHRvIHJlc19pbml0IG9y IEhlc2lvZCk/Ci1pZiB0ZXN0ICIkcmVzb2x2IiA9IHllcyAmJiB0ZXN0ICRvcHN5cyAhPSBk YXJ3aW47IHRoZW4KLSAgTElCUkVTT0xWPS1scmVzb2x2Ci1lbHNlCi0gIExJQlJFU09MVj0K LWZpCiBBQ19TVUJTVChMSUJSRVNPTFYpCiAKICMgVGhlc2UgdGVsbCB1cyB3aGljaCBLZXJi ZXJvcy1yZWxhdGVkIGxpYnJhcmllcyB0byB1c2UuCmRpZmYgLS1naXQgYS9zcmMvTWFrZWZp bGUuaW4gYi9zcmMvTWFrZWZpbGUuaW4KaW5kZXggOTkzOTRhYy4uOGRjYWY3ZSAxMDA2NDQK LS0tIGEvc3JjL01ha2VmaWxlLmluCisrKyBiL3NyYy9NYWtlZmlsZS5pbgpAQCAtMzAyLDkg KzMwMiw2IEBAIENNX09CSj1AQ01fT0JKQAogCiBMSUJHUE0gPSBATElCR1BNQAogCi0jIyAt bHJlc29sdiwgb3IgZW1wdHkuCi1MSUJSRVNPTFYgPSBATElCUkVTT0xWQAotCiBMSUJTRUxJ TlVYX0xJQlMgPSBATElCU0VMSU5VWF9MSUJTQAogCiBMSUJHTlVUTFNfTElCUyA9IEBMSUJH TlVUTFNfTElCU0AKQEAgLTQ4NSw3ICs0ODIsNyBAQCBMSUJFUyA9ICQoTElCUykgJChXMzJf TElCUykgJChMSUJTX0dOVVNURVApICQoTElCWF9CQVNFKSAkKExJQklNQUdFKSBcCiAgICAk KFdFQktJVF9MSUJTKSBcCiAgICAkKExJQl9FQUNDRVNTKSAkKExJQl9GREFUQVNZTkMpICQo TElCX1RJTUVSX1RJTUUpICQoREJVU19MSUJTKSBcCiAgICAkKExJQl9FWEVDSU5GTykgJChY UkFORFJfTElCUykgJChYSU5FUkFNQV9MSUJTKSAkKFhGSVhFU19MSUJTKSBcCi0gICAkKExJ QlhNTDJfTElCUykgJChMSUJHUE0pICQoTElCUkVTT0xWKSAkKExJQlNfU1lTVEVNKSAkKENB SVJPX0xJQlMpIFwKKyAgICQoTElCWE1MMl9MSUJTKSAkKExJQkdQTSkgJChMSUJTX1NZU1RF TSkgJChDQUlST19MSUJTKSBcCiAgICAkKExJQlNfVEVSTUNBUCkgJChHRVRMT0FEQVZHX0xJ QlMpICQoU0VUVElOR1NfTElCUykgJChMSUJTRUxJTlVYX0xJQlMpIFwKICAgICQoRlJFRVRZ UEVfTElCUykgJChGT05UQ09ORklHX0xJQlMpICQoTElCT1RGX0xJQlMpICQoTTE3Tl9GTFRf TElCUykgXAogICAgJChMSUJHTlVUTFNfTElCUykgJChMSUJfUFRIUkVBRCkgJChHRVRBRERS SU5GT19BX0xJQlMpIFwKZGlmZiAtLWdpdCBhL3NyYy9wcm9jZXNzLmMgYi9zcmMvcHJvY2Vz cy5jCmluZGV4IGY0MGU4ZTUuLjg1YTQ4ODUgMTAwNjQ0Ci0tLSBhL3NyYy9wcm9jZXNzLmMK KysrIGIvc3JjL3Byb2Nlc3MuYwpAQCAtNzUsMTEgKzc1LDYgQEAgYWxvbmcgd2l0aCBHTlUg RW1hY3MuICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uICAq LwogIyBpbmNsdWRlIDxzeXMvc3Ryb3B0cy5oPgogI2VuZGlmCiAKLSNpZmRlZiBIQVZFX1JF U19JTklUCi0jaW5jbHVkZSA8YXJwYS9uYW1lc2VyLmg+Ci0jaW5jbHVkZSA8cmVzb2x2Lmg+ Ci0jZW5kaWYKLQogI2lmZGVmIEhBVkVfVVRJTF9ICiAjaW5jbHVkZSA8dXRpbC5oPgogI2Vu ZGlmCkBAIC0zODI3LDEwICszODIyLDYgQEAgdXNhZ2U6IChtYWtlLW5ldHdvcmstcHJvY2Vz cyAmcmVzdCBBUkdTKSAgKi8pCiAgICAgICBpbW1lZGlhdGVfcXVpdCA9IDE7CiAgICAgICBR VUlUOwogCi0jaWZkZWYgSEFWRV9SRVNfSU5JVAotICAgICAgcmVzX2luaXQgKCk7Ci0jZW5k aWYKLQogICAgICAgc3RydWN0IGFkZHJpbmZvIGhpbnRzOwogICAgICAgbWVtc2V0ICgmaGlu dHMsIDAsIHNpemVvZiBoaW50cyk7CiAgICAgICBoaW50cy5haV9mYW1pbHkgPSBmYW1pbHk7 CkBAIC0zOTEwLDEwICszOTAxLDYgQEAgdXNhZ2U6IChtYWtlLW5ldHdvcmstcHJvY2VzcyAm cmVzdCBBUkdTKSAgKi8pCiAgICAgICBpbW1lZGlhdGVfcXVpdCA9IDE7CiAgICAgICBRVUlU OwogCi0jaWZkZWYgSEFWRV9SRVNfSU5JVAotICAgICAgcmVzX2luaXQgKCk7Ci0jZW5kaWYK LQogICAgICAgaG9zdF9pbmZvX3B0ciA9IGdldGhvc3RieW5hbWUgKChjb25zdCBjaGFyICop IFNEQVRBIChob3N0KSk7CiAgICAgICBpbW1lZGlhdGVfcXVpdCA9IDA7CiAKLS0gCjIuNS4w Cgo= --------------080507050803040702080303--