From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7854 invoked by alias); 29 Jul 2013 14:22:51 -0000 Mailing-List: contact cygwin-developers-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner@cygwin.com Mail-Followup-To: cygwin-developers@cygwin.com Received: (qmail 7822 invoked by uid 89); 29 Jul 2013 14:22:50 -0000 X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_50,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_NO,RCVD_IN_HOSTKARMA_YE,RDNS_NONE,SPF_PASS autolearn=ham version=3.3.1 Received: from Unknown (HELO out1-smtp.messagingengine.com) (66.111.4.25) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Mon, 29 Jul 2013 14:22:48 +0000 Received: from compute6.internal (compute6.nyi.mail.srv.osa [10.202.2.46]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id C7D4D21597 for ; Mon, 29 Jul 2013 10:22:40 -0400 (EDT) Received: from frontend2 ([10.202.2.161]) by compute6.internal (MEProxy); Mon, 29 Jul 2013 10:22:40 -0400 Received: from [158.147.137.108] (unknown [158.147.137.108]) by mail.messagingengine.com (Postfix) with ESMTPA id 70E036800E8; Mon, 29 Jul 2013 10:22:40 -0400 (EDT) Message-ID: <51F67AB0.1030507@cwilson.fastmail.fm> Date: Mon, 29 Jul 2013 14:22:00 -0000 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:17.0) Gecko/20130620 Thunderbird/17.0.7 MIME-Version: 1.0 To: cygwin-developers@cygwin.com Subject: Re: MSYS mode (continue) References: <20130725150209.GA15619@calimero.vinschen.de> <51F16C82.7030509@cwilson.fastmail.fm> <20130725205320.GA2725@ednor.casa.cgf.cx> <20130726081510.GN5086@calimero.vinschen.de> <51F3394A.6050309@cwilson.fastmail.fm> <20130729092958.GB3731@calimero.vinschen.de> <51F64B38.8000500@gmail.com> <51F65E0F.7000205@cwilson.fastmail.fm> <20130729124908.GG30069@calimero.vinschen.de> In-Reply-To: <20130729124908.GG30069@calimero.vinschen.de> Content-Type: multipart/mixed; boundary="------------040000010101090700020606" X-Virus-Found: No X-SW-Source: 2013-07/txt/msg00059.txt.bz2 This is a multi-part message in MIME format. --------------040000010101090700020606 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-length: 3416 On 7/29/2013 8:49 AM, Corinna Vinschen wrote: > The question is, are they really necessary? I seriously doubt that you > have to patch inetutils beyond what's required for Cygwin, unless you > want the kitchen sink to work with DOS paths. They *were* necessary for msys-1, given the following: 1) msys itself was very old, and had only cygwin-1.3.4 era capabilities 2) the msys targetting compiler is to this day ALSO very old: it's based on gcc-3.4.4 if you can believe it. Now, it is certainly true that in the new "era" with msys-on-cygwin, point #1 above is no longer applicable. And, because there really won't be an msys target compiler, just the plain old cygwin one (with -DMSYS [1] and, depending on how the msys hook dll gets loaded, perhaps -lmsys), then msys apps no longer have to work around old-gcc breakage. But there are still some patches that will be necessary, and I'm afraid only experience will tell us which ones. My set of 151 patches to 56 packages [2] is probably the "outer limit"; some packages might be workable with no special msys changes, others might only need a small subset of what was previously necessary. Let's go back to our favorite example, msys-make: make/01-make-3.81-2-cygwin.patch -------------------------------- from cygwin's 3.81-2 package, so this is not interesting when we're discussing *differences* between the cygwin and "msys" versions make/02-make-3.81-dos-path.patch -------------------------------- * configure.in (PATH_SEPARATOR_CHAR): Define to the value of $PATH_SEPARATOR. * make.h (PATH_SEPARATOR_CHAR): Define only if still undefined. Normally, it is defined in config.h. * config/dospaths.m4 : Define to yes on Cygwin as well. * job.c (construct_command_argv_internal) [HAVE_DOS_PATHS]: Define sh_chars_sh for Windows platforms that emulate Unix. This *might* be in make-3.82.90, I'm not sure. But for msys we need to ensure that ac_cv_dos_paths is "yes", regardless of whether it is yes or no on cygwin. make/03-make-3.81-case_preserve.patch -------------------------------- case-insensitive but case-preserving rule matching. Pretty sure "real" cygwin doesn't want, and doesn't have, this one. Over in mingw/msys land we went round and round with "csmake" (case sensitive), "cpmake" (this one), and "regular" make, and finally decided that cpmake had the fewest drawbacks when working with "native" gcc... make/04-make-3.81-msys.patch -------------------------------- build system changes. In configure.in, the original AC_SUBSTs didn't do the right thing and needed to use a more modern idiom. In Makefile.am, the test driver section relied on symlinks, which are obviously broken in "old" msys. I think we're all pretty much on the same page, that "msys" needs a special version of make. Does bash need to be different? probably. Perl...maybe??? inetutils (clients only) -- I think some of these changes^Wcripplings are necessary, regardless of the "environment" improvements that modernizing msys and its associated gcc bring. But it'll just have to be on a case-by-case basis. I've uploaded my entire msys patch collection [2] in case anyone is really crazy^Winterested... [1] This will still be needed because of the msys-*behavioral* patches that are still going to be necessary, in some cases... [2] http://mingw.cwilson.fastmail.fm/msys-patches.tar.xz -- Chuck --------------040000010101090700020606 Content-Type: text/plain; charset=windows-1252; name="02-make-3.81-dos-path.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="02-make-3.81-dos-path.patch" Content-length: 3811 MjAwNi0wOC0xOCAgRWxpIFphcmV0c2tpaSAgPGFkZHJlc3NAaGlkZGVuPgoK ICAgICAgICAqIGNvbmZpZ3VyZS5pbiAoUEFUSF9TRVBBUkFUT1JfQ0hBUik6 IERlZmluZSB0byB0aGUgdmFsdWUgb2YKICAgICAgICAkUEFUSF9TRVBBUkFU T1IuCgogICAgICAgICogbWFrZS5oIChQQVRIX1NFUEFSQVRPUl9DSEFSKTog RGVmaW5lIG9ubHkgaWYgc3RpbGwgdW5kZWZpbmVkLgogICAgICAgIE5vcm1h bGx5LCBpdCBpcyBkZWZpbmVkIGluIGNvbmZpZy5oLgoKICAgICAgICAqIGNv bmZpZy9kb3NwYXRocy5tNCA8YWNfY3ZfZG9zX3BhdGhzPjogRGVmaW5lIHRv IHllcyBvbiBDeWd3aW4gYXMKICAgICAgICB3ZWxsLgoKICAgICAgICAqIGpv Yi5jIChjb25zdHJ1Y3RfY29tbWFuZF9hcmd2X2ludGVybmFsKSBbSEFWRV9E T1NfUEFUSFNdOiBEZWZpbmUKICAgICAgICBzaF9jaGFyc19zaCBmb3IgV2lu ZG93cyBwbGF0Zm9ybXMgdGhhdCBlbXVsYXRlIFVuaXguCgoKLS0tIG9sZC9t YWtlLTMuODEvY29uZmlndXJlLmluCTIwMDYtMDQtMDEgMTI6MzY6NDAuMDAw MDAwMDAwICswMzAwCisrKyBuZXcvbWFrZS0zLjgxL2NvbmZpZ3VyZS5pbgky MDA2LTA4LTE4IDIxOjEyOjMyLjgyODEyNTAwMCArMDMwMApAQCAtMzg0LDYg KzM4NCw4IEBACiAgICAgOzsKIGVzYWMKIAorQUNfREVGSU5FX1VOUVVPVEVE KFBBVEhfU0VQQVJBVE9SX0NIQVIsJyRQQVRIX1NFUEFSQVRPUicsW0RlZmlu ZSB0byB0aGUgY2hhcmFjdGVyIHRoYXQgc2VwYXJhdGVzIGRpcmVjdG9yaWVz IGluIFBBVEguXSkKKwogIyBJbmNsdWRlIHRoZSBNYWludGFpbmVyJ3MgTWFr ZWZpbGUgc2VjdGlvbiwgaWYgaXQncyBoZXJlLgogCiBNQUlOVF9NQUtFRklM RT0vZGV2L251bGwKCi0tLSBvbGQvbWFrZS0zLjgxL21ha2UuaAkyMDA2LTAy LTE2IDAzOjU0OjQzLjAwMDAwMDAwMCArMDIwMAorKysgbmV3L21ha2UtMy44 MS9tYWtlLmgJMjAwNi0wOC0xOCAyMToxMjozMi44NTkzNzUwMDAgKzAzMDAK QEAgLTM0NywxMiArMzQ3LDE0IEBACiAjZGVmaW5lIFNfKG1zZzEsbXNnMixu dW0pICAgbmdldHRleHQgKG1zZzEsbXNnMixudW0pCiAKIC8qIEhhbmRsZSBv dGhlciBPU3MuICAqLwotI2lmIGRlZmluZWQoSEFWRV9ET1NfUEFUSFMpCi0j IGRlZmluZSBQQVRIX1NFUEFSQVRPUl9DSEFSICc7JwotI2VsaWYgZGVmaW5l ZChWTVMpCi0jIGRlZmluZSBQQVRIX1NFUEFSQVRPUl9DSEFSICcsJwotI2Vs c2UKLSMgZGVmaW5lIFBBVEhfU0VQQVJBVE9SX0NIQVIgJzonCisjaWZuZGVm IFBBVEhfU0VQQVJBVE9SX0NIQVIKKyMgaWYgZGVmaW5lZChIQVZFX0RPU19Q QVRIUykKKyMgIGRlZmluZSBQQVRIX1NFUEFSQVRPUl9DSEFSICc7JworIyBl bGlmIGRlZmluZWQoVk1TKQorIyAgZGVmaW5lIFBBVEhfU0VQQVJBVE9SX0NI QVIgJywnCisjIGVsc2UKKyMgIGRlZmluZSBQQVRIX1NFUEFSQVRPUl9DSEFS ICc6JworIyBlbmRpZgogI2VuZGlmCiAKIC8qIFRoaXMgaXMgbmVlZGVkIGZv ciBnZXRjd2QoKSBhbmQgY2hkaXIoKS4gICovCgotLS0gb2xkL21ha2UtMy44 MS9jb25maWcvZG9zcGF0aHMubTQJMjAwNi0wMy0xMCAwNjoyMDo0NS4wMDAw MDAwMDAgKzAyMDAKKysrIG5ldy9tYWtlLTMuODEvY29uZmlnL2Rvc3BhdGhz Lm00CTIwMDYtMDgtMTggMjE6MTI6MzIuODU5Mzc1MDAwICswMzAwCkBAIC0y Miw3ICsyMiw3IEBACiAgICAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgc3lz dGVtIHVzZXMgTVNET1Mtc3R5bGUgcGF0aHNdLCBbYWNfY3ZfZG9zX3BhdGhz XSwKICAgICAgIFsKICAgICAgICAgQUNfQ09NUElMRV9JRkVMU0UoWwotI2lm ICFkZWZpbmVkIF9XSU4zMiAmJiAhZGVmaW5lZCBfX1dJTjMyX18gJiYgIWRl ZmluZWQgX19NU0RPU19fICYmICFkZWZpbmVkIF9fRU1YX18gJiYgIWRlZmlu ZWQgX19NU1lTX18KKyNpZiAhZGVmaW5lZCBfV0lOMzIgJiYgIWRlZmluZWQg X19XSU4zMl9fICYmICFkZWZpbmVkIF9fTVNET1NfXyAmJiAhZGVmaW5lZCBf X0VNWF9fICYmICFkZWZpbmVkIF9fTVNZU19fICYmICFkZWZpbmVkIF9fQ1lH V0lOX18KIG5laXRoZXIgTVNET1Mgbm9yIFdpbmRvd3Mgbm9yIE9TMgogI2Vu ZGlmCiBdLAoKLS0tIG9sZC9tYWtlLTMuODEvam9iLmMJMjAwNi0wMy0yMCAw NzowMzowNC4wMDAwMDAwMDAgKzAyMDAKKysrIG5ldy9tYWtlLTMuODEvam9i LmMJMjAwNi0wOC0xOSAwOToyNTowNy42ODc1MDAwMDAgKzAzMDAKQEAgLTIz MDcsNiArMjMwNywxMiBAQCBjb25zdHJ1Y3RfY29tbWFuZF9hcmd2X2ludGVy bmFsIChjaGFyICpsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJs b2dpbiIsICJsb2dvdXQiLCAicmVhZCIsICJyZWFkb25seSIsICJzZXQiLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAic2hpZnQiLCAic3dpdGNo IiwgInRlc3QiLCAidGltZXMiLCAidHJhcCIsCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJ1bWFzayIsICJ3YWl0IiwgIndoaWxlIiwgMCB9Owor IyBpZmRlZiBIQVZFX0RPU19QQVRIUworICAvKiBUaGlzIGlzIHJlcXVpcmVk IGlmIHRoZSBNU1lTL0N5Z3dpbiBwb3J0cyAod2hpY2ggZG8gbm90IGRlZmlu ZQorICAgICBXSU5ET1dTMzIpIGFyZSBjb21waWxlZCB3aXRoIEhBVkVfRE9T X1BBVEhTIGRlZmluZWQsIHdoaWNoIHVzZXMKKyAgICAgc2hfY2hhcnNfc2hb XSBkaXJlY3RseSAoc2VlIGJlbG93KS4gICovCisgIHN0YXRpYyBjaGFyICpz aF9jaGFyc19zaCA9IHNoX2NoYXJzOworIyBlbmRpZiAgICAgICAgIC8qIEhB VkVfRE9TX1BBVEhTICovCiAjZW5kaWYKICAgcmVnaXN0ZXIgaW50IGk7CiAg IHJlZ2lzdGVyIGNoYXIgKnA7Cg== --------------040000010101090700020606 Content-Type: text/plain; charset=windows-1252; name="03-make-3.81-case_preserve.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="03-make-3.81-case_preserve.patch" Content-length: 12924 ZGlmZiAtcnVwIG1ha2UtMy44MS9pbXBsaWNpdC5jIG1ha2UtMy44MS1uZXcv aW1wbGljaXQuYwotLS0gb2xkL21ha2UtMy44MS9pbXBsaWNpdC5jCVdlZCBN YXkgMjggMjM6NTc6NDAgMjAwOAorKysgbmV3L21ha2UtMy44MS9pbXBsaWNp dC5jCVdlZCBNYXkgMjggMjM6MzA6NTUgMjAwOApAQCAtMjcsNyArMjcsOCBA QCBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggCiAK IHN0YXRpYyBpbnQKIHBhdHRlcm5fc2VhcmNoIFBBUkFNUyAoKHN0cnVjdCBm aWxlICpmaWxlLCBpbnQgYXJjaGl2ZSwKLSAgICAgICAgICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCBkZXB0aCwgdW5zaWduZWQgaW50IHJlY3Vyc2lv bnMpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGludCBk ZXB0aCwgdW5zaWduZWQgaW50IHJlY3Vyc2lvbnMsCisgICAgICAgICAgICAg ICAgICAgICAgICBpbnQgc3RyaWN0X2Nhc2UpKTsKIAwKIC8qIEZvciBhIEZJ TEUgd2hpY2ggaGFzIG5vIGNvbW1hbmRzIHNwZWNpZmllZCwgdHJ5IHRvIGZp Z3VyZSBvdXQgc29tZQogICAgZnJvbSB0aGUgaW1wbGljaXQgcGF0dGVybiBy dWxlcy4KQEAgLTM2LDE2ICszNywxOSBAQCBwYXR0ZXJuX3NlYXJjaCBQQVJB TVMgKChzdHJ1Y3QgZmlsZSAqZmlsCiAgICBvciByZXR1cm5zIDAgaWYgbm8g aW1wbGljaXQgcnVsZSB3YXMgZm91bmQuICAqLwogCiBpbnQKLXRyeV9pbXBs aWNpdF9ydWxlIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGRl cHRoKQordHJ5X2ltcGxpY2l0X3J1bGUgKHN0cnVjdCBmaWxlICpmaWxlLCB1 bnNpZ25lZCBpbnQgZGVwdGgsIGludCBzdHJpY3RfY2FzZSkKIHsKLSAgREJG IChEQl9JTVBMSUNJVCwgXygiTG9va2luZyBmb3IgYW4gaW1wbGljaXQgcnVs ZSBmb3IgYCVzJy5cbiIpKTsKKyAgaWYgKHN0cmljdF9jYXNlKQorICAgIERC RiAoREJfSU1QTElDSVQsIF8oIkxvb2tpbmcgZm9yIGFuIGltcGxpY2l0IHJ1 bGUgZm9yIGAlcycuXG4iKSk7CisgIGVsc2UKKyAgICBEQkYgKERCX0lNUExJ Q0lULCBfKCJMb29raW5nIGZvciBhIGNhc2UtaW5zZW5zaXRpdmUgaW1wbGlj aXQgcnVsZSBmb3IgYCVzJy5cbiIpKTsKIAogICAvKiBUaGUgb3JkZXIgb2Yg dGhlc2Ugc2VhcmNoZXMgd2FzIHByZXZpb3VzbHkgcmV2ZXJzZWQuICBNeSBs b2dpYyBub3cgaXMKICAgICAgdGhhdCBzaW5jZSB0aGUgbm9uLWFyY2hpdmUg c2VhcmNoIHVzZXMgbW9yZSBpbmZvcm1hdGlvbiBpbiB0aGUgdGFyZ2V0CiAg ICAgICh0aGUgYXJjaGl2ZSBzZWFyY2ggb21pdHMgdGhlIGFyY2hpdmUgbmFt ZSksIGl0IGlzIG1vcmUgc3BlY2lmaWMgYW5kCiAgICAgIHNob3VsZCBjb21l IGZpcnN0LiAgKi8KIAotICBpZiAocGF0dGVybl9zZWFyY2ggKGZpbGUsIDAs IGRlcHRoLCAwKSkKKyAgaWYgKHBhdHRlcm5fc2VhcmNoIChmaWxlLCAwLCBk ZXB0aCwgMCwgc3RyaWN0X2Nhc2UpKQogICAgIHJldHVybiAxOwogCiAjaWZu ZGVmCU5PX0FSQ0hJVkVTCkBAIC01NSw3ICs1OSw3IEBAIHRyeV9pbXBsaWNp dF9ydWxlIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW4KICAgICB7CiAgICAgICBE QkYgKERCX0lNUExJQ0lULAogICAgICAgICAgICBfKCJMb29raW5nIGZvciBh cmNoaXZlLW1lbWJlciBpbXBsaWNpdCBydWxlIGZvciBgJXMnLlxuIikpOwot ICAgICAgaWYgKHBhdHRlcm5fc2VhcmNoIChmaWxlLCAxLCBkZXB0aCwgMCkp CisgICAgICBpZiAocGF0dGVybl9zZWFyY2ggKGZpbGUsIDEsIGRlcHRoLCAw LCBzdHJpY3RfY2FzZSkpCiAJcmV0dXJuIDE7CiAgICAgfQogI2VuZGlmCkBA IC0xOTgsNyArMjAyLDggQEAgZ2V0X25leHRfd29yZCAoY2hhciAqYnVmZmVy LCB1bnNpZ25lZCBpbgogCiBzdGF0aWMgaW50CiBwYXR0ZXJuX3NlYXJjaCAo c3RydWN0IGZpbGUgKmZpbGUsIGludCBhcmNoaXZlLAotICAgICAgICAgICAg ICAgIHVuc2lnbmVkIGludCBkZXB0aCwgdW5zaWduZWQgaW50IHJlY3Vyc2lv bnMpCisgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGRlcHRoLCB1bnNp Z25lZCBpbnQgcmVjdXJzaW9ucywKKyAgICAgICAgICAgICAgICBpbnQgc3Ry aWN0X2Nhc2UpCiB7CiAgIC8qIEZpbGVuYW1lIHdlIGFyZSBzZWFyY2hpbmcg Zm9yIGEgcnVsZSBmb3IuICAqLwogICBjaGFyICpmaWxlbmFtZSA9IGFyY2hp dmUgPyBzdHJjaHIgKGZpbGUtPm5hbWUsICcoJykgOiBmaWxlLT5uYW1lOwpA QCAtNjk4LDEzICs3MDMsMTMgQEAgcGF0dGVybl9zZWFyY2ggKHN0cnVjdCBm aWxlICpmaWxlLCBpbnQgYQogICAgICAgICAgICAgICAvKiBAQCBkZXAtPmNo YW5nZWQgY2hlY2sgaXMgZGlzYWJsZWQuICovCiAgICAgICAgICAgICAgIGlm ICgoKGYgPSBsb29rdXBfZmlsZSAobmFtZSkpICE9IDAgJiYgZi0+aXNfdGFy Z2V0KQogICAgICAgICAgICAgICAgICAgLyp8fCAoKCFkZXAtPmNoYW5nZWQg fHwgY2hlY2tfbGFzdHNsYXNoKSAmJiAqLwotICAgICAgICAgICAgICAgICAg fHwgZmlsZV9leGlzdHNfcCAobmFtZSkpCisgICAgICAgICAgICAgICAgICB8 fCAoc3RyaWN0X2Nhc2UgPyBmaWxlX2V4aXN0c19wIChuYW1lKSA6IChhY2Nl c3MgKG5hbWUsIEZfT0spID09IDApKSkKICAgICAgICAgICAgICAgICBjb250 aW51ZTsKIAogICAgICAgICAgICAgICAvKiBUaGlzIGNvZGUsIGdpdmVuIEZJ TEVOQU1FID0gImxpYi9mb28ubyIsIGRlcGVuZGVuY3kgbmFtZQogICAgICAg ICAgICAgICAgICAibGliL2Zvby5jIiwgYW5kIFZQQVRIPXNyYywgc2VhcmNo ZXMgZm9yICJzcmMvbGliL2Zvby5jIi4gICovCiAgICAgICAgICAgICAgIHZu YW1lID0gbmFtZTsKLSAgICAgICAgICAgICAgaWYgKHZwYXRoX3NlYXJjaCAo JnZuYW1lLCAoRklMRV9USU1FU1RBTVAgKikgMCkpCisgICAgICAgICAgICAg IGlmICh2cGF0aF9zZWFyY2ggKCZ2bmFtZSwgKEZJTEVfVElNRVNUQU1QICop IDAsIHN0cmljdF9jYXNlKSkKICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICBEQlMgKERCX0lNUExJQ0lULAogICAgICAgICAgICAgICAg ICAgICAgICAoXygiRm91bmQgcHJlcmVxdWlzaXRlIGAlcycgYXMgVlBBVEgg YCVzJ1xuIiksCkBAIC03MzUsNyArNzQwLDggQEAgcGF0dGVybl9zZWFyY2gg KHN0cnVjdCBmaWxlICpmaWxlLCBpbnQgYQogICAgICAgICAgICAgICAgICAg aWYgKHBhdHRlcm5fc2VhcmNoIChpbnRlcm1lZGlhdGVfZmlsZSwKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVwdGggKyAxLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWN1cnNpb25z ICsgMSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJlY3Vyc2lvbnMgKyAxLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJpY3RfY2FzZSkpCiAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICBkLT5pbnRlcm1lZGlhdGVfZmls ZSA9IGludGVybWVkaWF0ZV9maWxlOwogICAgICAgICAgICAgICAgICAgICAg IGQtPmludGVybWVkaWF0ZV9wYXR0ZXJuID0gaW50ZXJtZWRpYXRlX2ZpbGUt Pm5hbWU7CkBAIC03NTEsNyArNzU3LDggQEAgcGF0dGVybl9zZWFyY2ggKHN0 cnVjdCBmaWxlICpmaWxlLCBpbnQgYQogICAgICAgICAgICAgICAgICAgICAg c28gd2Ugd29uJ3QgZ28gdGhyb3VnaCB0aGUgc2VhcmNoIGFnYWluIGxhdGVy LiAgKi8KICAgICAgICAgICAgICAgICAgIGlmIChpbnRlcm1lZGlhdGVfZmls ZS0+dmFyaWFibGVzKQogICAgICAgICAgICAgICAgICAgICBmcmVlX3Zhcmlh YmxlX3NldCAoaW50ZXJtZWRpYXRlX2ZpbGUtPnZhcmlhYmxlcyk7Ci0gICAg ICAgICAgICAgICAgICBmaWxlX2ltcG9zc2libGUgKG5hbWUpOworICAgICAg ICAgICAgICAgICAgaWYgKHN0cmljdF9jYXNlPT0wKQorICAgICAgICAgICAg ICAgICAgICBmaWxlX2ltcG9zc2libGUgKG5hbWUpOwogICAgICAgICAgICAg ICAgIH0KIAogICAgICAgICAgICAgICAvKiBBIGRlcGVuZGVuY3kgb2YgdGhp cyBydWxlIGRvZXMgbm90IGV4aXN0LiBUaGVyZWZvcmUsCmRpZmYgLXJ1cCBt YWtlLTMuODEvbWFrZS5oIG1ha2UtMy44MS1uZXcvbWFrZS5oCi0tLSBvbGQv bWFrZS0zLjgxL21ha2UuaAlXZWQgTWF5IDI4IDIzOjU3OjQwIDIwMDgKKysr IG5ldy9tYWtlLTMuODEvbWFrZS5oCVdlZCBNYXkgMjggMjM6MzA6NTUgMjAw OApAQCAtNDU5LDcgKzQ1OSw3IEBAIGV4dGVybiB2b2lkIGluc3RhbGxfZGVm YXVsdF9pbXBsaWNpdF9ydWwKIAogZXh0ZXJuIHZvaWQgYnVpbGRfdnBhdGhf bGlzdHMgUEFSQU1TICgodm9pZCkpOwogZXh0ZXJuIHZvaWQgY29uc3RydWN0 X3ZwYXRoX2xpc3QgUEFSQU1TICgoY2hhciAqcGF0dGVybiwgY2hhciAqZGly cGF0aCkpOwotZXh0ZXJuIGludCB2cGF0aF9zZWFyY2ggUEFSQU1TICgoY2hh ciAqKmZpbGUsIEZJTEVfVElNRVNUQU1QICptdGltZV9wdHIpKTsKK2V4dGVy biBpbnQgdnBhdGhfc2VhcmNoIFBBUkFNUyAoKGNoYXIgKipmaWxlLCBGSUxF X1RJTUVTVEFNUCAqbXRpbWVfcHRyLCBpbnQgc3RyaWN0X2Nhc2UpKTsKIGV4 dGVybiBpbnQgZ3BhdGhfc2VhcmNoIFBBUkFNUyAoKGNoYXIgKmZpbGUsIHVu c2lnbmVkIGludCBsZW4pKTsKIAogZXh0ZXJuIHZvaWQgY29uc3RydWN0X2lu Y2x1ZGVfcGF0aCBQQVJBTVMgKChjaGFyICoqYXJnX2RpcnMpKTsKZGlmZiAt cnVwIG1ha2UtMy44MS9yZW1ha2UuYyBtYWtlLTMuODEtbmV3L3JlbWFrZS5j Ci0tLSBvbGQvbWFrZS0zLjgxL3JlbWFrZS5jCVdlZCBNYXkgMjggMjM6NTc6 NDAgMjAwOAorKysgbmV3L21ha2UtMy44MS9yZW1ha2UuYwlXZWQgTWF5IDI4 IDIzOjMwOjU1IDIwMDgKQEAgLTM5LDcgKzM5LDcgQEAgRm91bmRhdGlvbiwg SW5jLiwgNTEgRnJhbmtsaW4gU3QsIEZpZnRoIAogI2luY2x1ZGUgPGlvLmg+ CiAjZW5kaWYKIAotZXh0ZXJuIGludCB0cnlfaW1wbGljaXRfcnVsZSBQQVJB TVMgKChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaW50IGRlcHRoKSk7 CitleHRlcm4gaW50IHRyeV9pbXBsaWNpdF9ydWxlIFBBUkFNUyAoKHN0cnVj dCBmaWxlICpmaWxlLCB1bnNpZ25lZCBpbnQgZGVwdGgsIGludCBzdHJpY3Rf Y2FzZSkpOwogCiAKIC8qIFRoZSB0ZXN0IGZvciBjaXJjdWxhciBkZXBlbmRl bmNpZXMgaXMgYmFzZWQgb24gdGhlICd1cGRhdGluZycgYml0IGluCkBAIC00 NTAsOCArNDUwLDEwIEBAIHVwZGF0ZV9maWxlXzEgKHN0cnVjdCBmaWxlICpm aWxlLCB1bnNpZ24KIAogICBpZiAoIWZpbGUtPnBob255ICYmIGZpbGUtPmNt ZHMgPT0gMCAmJiAhZmlsZS0+dHJpZWRfaW1wbGljaXQpCiAgICAgewotICAg ICAgaWYgKHRyeV9pbXBsaWNpdF9ydWxlIChmaWxlLCBkZXB0aCkpCisgICAg ICBpZiAodHJ5X2ltcGxpY2l0X3J1bGUgKGZpbGUsIGRlcHRoLCAxKSkKIAlE QkYgKERCX0lNUExJQ0lULCBfKCJGb3VuZCBhbiBpbXBsaWNpdCBydWxlIGZv ciBgJXMnLlxuIikpOworICAgICAgZWxzZSBpZiAodHJ5X2ltcGxpY2l0X3J1 bGUgKGZpbGUsIGRlcHRoLCAwKSkKKwlEQkYgKERCX0lNUExJQ0lULCBfKCJG b3VuZCBhbiBjYXNlLWluc2Vuc2l0aXZlIGltcGxpY2l0IHJ1bGUgZm9yIGAl cycuXG4iKSk7CiAgICAgICBlbHNlCiAJREJGIChEQl9JTVBMSUNJVCwgXygi Tm8gaW1wbGljaXQgcnVsZSBmb3VuZCBmb3IgYCVzJy5cbiIpKTsKICAgICAg IGZpbGUtPnRyaWVkX2ltcGxpY2l0ID0gMTsKQEAgLTk1OCw4ICs5NjAsMTAg QEAgY2hlY2tfZGVwIChzdHJ1Y3QgZmlsZSAqZmlsZSwgdW5zaWduZWQgaQog CiAgICAgICBpZiAoIWZpbGUtPnBob255ICYmIGZpbGUtPmNtZHMgPT0gMCAm JiAhZmlsZS0+dHJpZWRfaW1wbGljaXQpCiAJewotCSAgaWYgKHRyeV9pbXBs aWNpdF9ydWxlIChmaWxlLCBkZXB0aCkpCisJICBpZiAodHJ5X2ltcGxpY2l0 X3J1bGUgKGZpbGUsIGRlcHRoLCAxKSkKIAkgICAgREJGIChEQl9JTVBMSUNJ VCwgXygiRm91bmQgYW4gaW1wbGljaXQgcnVsZSBmb3IgYCVzJy5cbiIpKTsK KwkgIGVsc2UgaWYgKHRyeV9pbXBsaWNpdF9ydWxlIChmaWxlLCBkZXB0aCwg MCkpCisJICAgIERCRiAoREJfSU1QTElDSVQsIF8oIkZvdW5kIGFuIGNhc2Ut aW5zZW5zaXRpdmUgaW1wbGljaXQgcnVsZSBmb3IgYCVzJy5cbiIpKTsKIAkg IGVsc2UKIAkgICAgREJGIChEQl9JTVBMSUNJVCwgXygiTm8gaW1wbGljaXQg cnVsZSBmb3VuZCBmb3IgYCVzJy5cbiIpKTsKIAkgIGZpbGUtPnRyaWVkX2lt cGxpY2l0ID0gMTsKQEAgLTEyMzAsNyArMTIzNCw3IEBAIGZfbXRpbWUgKHN0 cnVjdCBmaWxlICpmaWxlLCBpbnQgc2VhcmNoKQogCXsKIAkgIC8qIElmIG5h bWVfbXRpbWUgZmFpbGVkLCBzZWFyY2ggVlBBVEguICAqLwogCSAgY2hhciAq bmFtZSA9IGZpbGUtPm5hbWU7Ci0JICBpZiAodnBhdGhfc2VhcmNoICgmbmFt ZSwgJm10aW1lKQorCSAgaWYgKHZwYXRoX3NlYXJjaCAoJm5hbWUsICZtdGlt ZSwgMSkgfHwgdnBhdGhfc2VhcmNoICgmbmFtZSwgJm10aW1lLCAwKQogCSAg ICAgIC8qIExhc3QgcmVzb3J0LCBpcyBpdCBhIGxpYnJhcnkgKC1seHh4KT8g ICovCiAJICAgICAgfHwgKG5hbWVbMF0gPT0gJy0nICYmIG5hbWVbMV0gPT0g J2wnCiAJCSAgJiYgbGlicmFyeV9zZWFyY2ggKCZuYW1lLCAmbXRpbWUpKSkK QEAgLTE1MzMsNyArMTUzNyw3IEBAIGxpYnJhcnlfc2VhcmNoIChjaGFyICoq bGliLCBGSUxFX1RJTUVTVEEKICAgICAgIC8qIE5vdyB0cnkgVlBBVEggc2Vh cmNoIG9uIHRoYXQuICAqLwogCiAgICAgICBmaWxlID0gbGliYnVmOwotICAg ICAgaWYgKHZwYXRoX3NlYXJjaCAoJmZpbGUsIG10aW1lX3B0cikpCisgICAg ICBpZiAodnBhdGhfc2VhcmNoICgmZmlsZSwgbXRpbWVfcHRyLCAxKSB8fCB2 cGF0aF9zZWFyY2ggKCZmaWxlLCBtdGltZV9wdHIsIDEpKQogCXsKIAkgICps aWIgPSBmaWxlOwogCSAgcmV0dXJuIDE7CmRpZmYgLXJ1cCBtYWtlLTMuODEv dnBhdGguYyBtYWtlLTMuODEtbmV3L3ZwYXRoLmMKLS0tIG9sZC9tYWtlLTMu ODEvdnBhdGguYwlXZWQgTWF5IDI4IDIzOjU3OjQwIDIwMDgKKysrIG5ldy9t YWtlLTMuODEvdnBhdGguYwlXZWQgTWF5IDI4IDIzOjUxOjIzIDIwMDgKQEAg LTQ4LDcgKzQ4LDcgQEAgc3RhdGljIHN0cnVjdCB2cGF0aCAqZ2VuZXJhbF92 cGF0aDsKIAogc3RhdGljIHN0cnVjdCB2cGF0aCAqZ3BhdGhzOwogDAotc3Rh dGljIGludCBzZWxlY3RpdmVfdnBhdGhfc2VhcmNoIFBBUkFNUyAoKHN0cnVj dCB2cGF0aCAqcGF0aCwgY2hhciAqKmZpbGUsIEZJTEVfVElNRVNUQU1QICpt dGltZV9wdHIpKTsKK3N0YXRpYyBpbnQgc2VsZWN0aXZlX3ZwYXRoX3NlYXJj aCBQQVJBTVMgKChzdHJ1Y3QgdnBhdGggKnBhdGgsIGNoYXIgKipmaWxlLCBG SUxFX1RJTUVTVEFNUCAqbXRpbWVfcHRyLCBpbnQgc3RyaWN0X2Nhc2UpKTsK IAogLyogUmV2ZXJzZSB0aGUgY2hhaW4gb2Ygc2VsZWN0aXZlIFZQQVRIIGxp c3RzIHNvIHRoZXkKICAgIHdpbGwgYmUgc2VhcmNoZWQgaW4gdGhlIG9yZGVy IGdpdmVuIGluIHRoZSBtYWtlZmlsZXMKQEAgLTMzNCw3ICszMzQsNyBAQCBn cGF0aF9zZWFyY2ggKGNoYXIgKmZpbGUsIHVuc2lnbmVkIGludCBsCiAgICBP dGhlcndpc2Ugd2UgcmV0dXJuIDAuICAqLwogCiBpbnQKLXZwYXRoX3NlYXJj aCAoY2hhciAqKmZpbGUsIEZJTEVfVElNRVNUQU1QICptdGltZV9wdHIpCit2 cGF0aF9zZWFyY2ggKGNoYXIgKipmaWxlLCBGSUxFX1RJTUVTVEFNUCAqbXRp bWVfcHRyLCBpbnQgc3RyaWN0X2Nhc2UpCiB7CiAgIHJlZ2lzdGVyIHN0cnVj dCB2cGF0aCAqdjsKIApAQCAtMzUxLDExICszNTEsMTEgQEAgdnBhdGhfc2Vh cmNoIChjaGFyICoqZmlsZSwgRklMRV9USU1FU1RBTQogCiAgIGZvciAodiA9 IHZwYXRoczsgdiAhPSAwOyB2ID0gdi0+bmV4dCkKICAgICBpZiAocGF0dGVy bl9tYXRjaGVzICh2LT5wYXR0ZXJuLCB2LT5wZXJjZW50LCAqZmlsZSkpCi0g ICAgICBpZiAoc2VsZWN0aXZlX3ZwYXRoX3NlYXJjaCAodiwgZmlsZSwgbXRp bWVfcHRyKSkKKyAgICAgIGlmIChzZWxlY3RpdmVfdnBhdGhfc2VhcmNoICh2 LCBmaWxlLCBtdGltZV9wdHIsIHN0cmljdF9jYXNlKSkKIAlyZXR1cm4gMTsK IAogICBpZiAoZ2VuZXJhbF92cGF0aCAhPSAwCi0gICAgICAmJiBzZWxlY3Rp dmVfdnBhdGhfc2VhcmNoIChnZW5lcmFsX3ZwYXRoLCBmaWxlLCBtdGltZV9w dHIpKQorICAgICAgJiYgc2VsZWN0aXZlX3ZwYXRoX3NlYXJjaCAoZ2VuZXJh bF92cGF0aCwgZmlsZSwgbXRpbWVfcHRyLCBzdHJpY3RfY2FzZSkpCiAgICAg cmV0dXJuIDE7CiAKICAgcmV0dXJuIDA7CkBAIC0zNzAsNyArMzcwLDggQEAg dnBhdGhfc2VhcmNoIChjaGFyICoqZmlsZSwgRklMRV9USU1FU1RBTQogCiBz dGF0aWMgaW50CiBzZWxlY3RpdmVfdnBhdGhfc2VhcmNoIChzdHJ1Y3QgdnBh dGggKnBhdGgsIGNoYXIgKipmaWxlLAotICAgICAgICAgICAgICAgICAgICAg ICAgRklMRV9USU1FU1RBTVAgKm10aW1lX3B0cikKKyAgICAgICAgICAgICAg ICAgICAgICAgIEZJTEVfVElNRVNUQU1QICptdGltZV9wdHIsCisgICAgICAg ICAgICAgICAgICAgICAgICBpbnQgc3RyaWN0X2Nhc2UpCiB7CiAgIGludCBu b3RfdGFyZ2V0OwogICBjaGFyICpuYW1lLCAqbjsKQEAgLTUwMCwxMCArNTAx LDE5IEBAIHNlbGVjdGl2ZV92cGF0aF9zZWFyY2ggKHN0cnVjdCB2cGF0aCAq cGEKIAkgICAgIE5vdyBOQU1FIGlzIHRoZSBuYW1lIG9mIHRoZSBkaXJlY3Rv cnkgdG8gbG9vayBpbi4gICovCiAJICAqbiA9ICdcMCc7CiAKLQkgIC8qIFdl IGtub3cgdGhlIGRpcmVjdG9yeSBpcyBpbiB0aGUgaGFzaCB0YWJsZSBub3cg YmVjYXVzZSBlaXRoZXIKLQkgICAgIGNvbnN0cnVjdF92cGF0aF9saXN0IG9y IHRoZSBjb2RlIGp1c3QgYWJvdmUgcHV0IGl0IHRoZXJlLgotCSAgICAgRG9l cyB0aGUgZmlsZSB3ZSBzZWVrIGV4aXN0IGluIGl0PyAgKi8KLQkgIGV4aXN0 c19pbl9jYWNoZSA9IGV4aXN0cyA9IGRpcl9maWxlX2V4aXN0c19wIChuYW1l LCBmaWxlbmFtZSk7CisJICBpZiAoc3RyaWN0X2Nhc2UpCisJICAgIHsKKwkg ICAgICAvKiBXZSBrbm93IHRoZSBkaXJlY3RvcnkgaXMgaW4gdGhlIGhhc2gg dGFibGUgbm93IGJlY2F1c2UgZWl0aGVyCisJICAgICAgICAgY29uc3RydWN0 X3ZwYXRoX2xpc3Qgb3IgdGhlIGNvZGUganVzdCBhYm92ZSBwdXQgaXQgdGhl cmUuCisJICAgICAgICAgRG9lcyB0aGUgZmlsZSB3ZSBzZWVrIGV4aXN0IGlu IGl0PyAgKi8KKwkgICAgICBleGlzdHNfaW5fY2FjaGUgPSBleGlzdHMgPSBk aXJfZmlsZV9leGlzdHNfcCAobmFtZSwgZmlsZW5hbWUpOworCSAgICB9CisJ ICBlbHNlCisJICAgIHsKKwkgICAgICAvKiBJZiB1c2luZyBhIGNhc2UgaW5z ZW5zaXRpdmUgc2VhcmNoLCBhdm9pZCB0aGUgY2FzZSBzZW5zaXRpdmUKKwkg ICAgICAgICBsb29rdXAgZnVuY3Rpb24gYWJvdmUgYW5kIGZvcmNlIGEgcmVh bCBmaWxlc3lzdGVtIGNoZWNrLiAqLworCSAgICAgIGV4aXN0c19pbl9jYWNo ZSA9IGV4aXN0cyA9IDE7CisJICAgIH0KICNlbmRpZgogCX0KIAo= --------------040000010101090700020606 Content-Type: text/plain; charset=windows-1252; name="04-make-3.81-msys.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="04-make-3.81-msys.patch" Content-length: 2689 ZGlmZiAtdXJOIG9sZC9tYWtlLTMuODEvTWFrZWZpbGUuYW0gbmV3L21ha2Ut My44MS9NYWtlZmlsZS5hbQotLS0gb2xkL21ha2UtMy44MS9NYWtlZmlsZS5h bQkyMDA2LTA0LTAxIDAyOjM2OjQwLjAwMDAwMDAwMCAtMDQwMAorKysgbmV3 L21ha2UtMy44MS9NYWtlZmlsZS5hbQkyMDA5LTExLTA3IDE5OjIzOjAzLjAx MjMwMDAwMCAtMDUwMApAQCAtMTcyLDEwICsxNzIsMTcgQEAKIAkgICAgY2Fz ZSBgY2QgJChzcmNkaXIpOyBwd2RgIGluIGBwd2RgKSA6IDs7IFwKIAkgICAg ICAqKSB0ZXN0IC1kIHRlc3RzIHx8IG1rZGlyIHRlc3RzOyBcCiAJCSBybSAt ZiBzcmN0ZXN0czsgXAotCQkgaWYgbG4gLXMgIiQoc3JjZGlyKS90ZXN0cyIg c3JjdGVzdHM7IHRoZW4gXAorCQkgaWYgL2Jpbi9mYWxzZSAmJiBsbiAtcyAi JChzcmNkaXIpL3Rlc3RzIiBzcmN0ZXN0czsgdGhlbiBcCiAJCSAgIGZvciBm IGluIHJ1bl9tYWtlX3Rlc3RzIHJ1bl9tYWtlX3Rlc3RzLnBsIHRlc3RfZHJp dmVyLnBsIHNjcmlwdHM7IGRvIFwKIAkJICAgICBybSAtZiB0ZXN0cy8kJGY7 IGxuIC1zIC4uL3NyY3Rlc3RzLyQkZiB0ZXN0czsgXAotCQkgICBkb25lOyBm aSA7OyBcCisJCSAgIGRvbmU7IFwKKwkgICAgICAgICBlbHNlIFwKKwkgICAg ICAgICAgIG1rZGlyIHNyY3Rlc3RzIDtcCisJICAgICAgICAgICBsbmRpciAk KHNyY2RpcikvdGVzdHMvIHNyY3Rlc3RzIDtcCisJICAgICAgICAgICBmb3Ig ZiBpbiBydW5fbWFrZV90ZXN0cyBydW5fbWFrZV90ZXN0cy5wbCB0ZXN0X2Ry aXZlci5wbCBzY3JpcHRzOyBkbyBcCisJICAgICAgICAgICAgIHJtIC1mIHRl c3RzLyQkZjsgKGNkIHRlc3RzICYmIGxuIC1zIC4uL3NyY3Rlc3RzLyQkZiAu KTsgXAorCSAgICAgICAgICAgZG9uZTsgXAorCSAgICAgICAgIGZpIDs7IFwK IAkgICAgZXNhYzsgXAogCSAgICBlY2hvICJjZCB0ZXN0cyAmJiAkKFBFUkwp IC4vcnVuX21ha2VfdGVzdHMucGwgLW1ha2UgLi4vbWFrZSQoRVhFRVhUKSAk KE1BS0VURVNURkxBR1MpIjsgXAogCSAgICBjZCB0ZXN0cyAmJiAkKFBFUkwp IC4vcnVuX21ha2VfdGVzdHMucGwgLW1ha2UgLi4vbWFrZSQoRVhFRVhUKSAk KE1BS0VURVNURkxBR1MpOyBcCmRpZmYgLXVyTiBvbGQvbWFrZS0zLjgxL2Nv bmZpZ3VyZS5pbiBuZXcvbWFrZS0zLjgxL2NvbmZpZ3VyZS5pbgotLS0gb2xk L21ha2UtMy44MS9jb25maWd1cmUuaW4JMjAwOS0xMS0wNyAxOToyMjo0My4w NDQzMDAwMDAgLTA1MDAKKysrIG5ldy9tYWtlLTMuODEvY29uZmlndXJlLmlu CTIwMDktMTEtMDcgMTk6Mzc6NDMuMDExNTAwMDAwIC0wNTAwCkBAIC00MCw5 ICs0MCw4IEBACiAKICMgU3BlY2lhbGl6ZWQgc3lzdGVtIG1hY3JvcwogQUNf Q0FOT05JQ0FMX0hPU1QKLUFDX0FJWAorQUNfVVNFX1NZU1RFTV9FWFRFTlNJ T05TCiBBQ19JU0NfUE9TSVgKLUFDX01JTklYCiAKICMgTmVlZGVkIGZvciBh bnNpMmtucgogQU1fQ19QUk9UT1RZUEVTCkBAIC0zNjAsOSArMzU5LDE0IEBA CiAjZW5kaWYKICBdLCBbQUNfTVNHX1JFU1VMVCh5ZXMpCiBtYWtlX2N2X3N5 c19nbnVfZ2xvYj15ZXNdLCBbQUNfTVNHX1JFU1VMVChbbm87IHVzaW5nIGxv Y2FsIGNvcHldKQotQUNfU1VCU1QoR0xPQklOQykgR0xPQklOQz0nLUkkKHNy Y2RpcikvZ2xvYicKLUFDX1NVQlNUKEdMT0JMSUIpIEdMT0JMSUI9Z2xvYi9s aWJnbG9iLmEKIG1ha2VfY3Zfc3lzX2dudV9nbG9iPW5vXSldKQoraWYgdGVz dCAiJG1ha2VfY3Zfc3lzX2dudV9nbG9iIiA9IG5vOyB0aGVuCisgIEdMT0JJ TkM9Jy1JJChzcmNkaXIpL2dsb2InCisgIEdMT0JMSUI9Z2xvYi9saWJnbG9i LmEKK2ZpCitBQ19TVUJTVChHTE9CSU5DKQorQUNfU1VCU1QoR0xPQkxJQikK KwogIyBUZWxsIGF1dG9tYWtlIGFib3V0IHRoaXMsIHNvIGl0IGNhbiBidWls ZCB0aGUgcmlnaHQgLmMgZmlsZXMuCiBBTV9DT05ESVRJT05BTChVU0VfTE9D QUxfR0xPQiwgdGVzdCAiJG1ha2VfY3Zfc3lzX2dudV9nbG9iIiA9IG5vKQog Cg== --------------040000010101090700020606--