From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/8971 Path: news.gmane.org!not-for-mail From: Petr Hosek Newsgroups: gmane.linux.lib.musl.general Subject: Re: Support for out-of-tree build Date: Thu, 10 Dec 2015 01:39:44 +0000 Message-ID: References: <20151118214452.GQ3818@brightrain.aerifal.cx> <20151120222000.GA3818@brightrain.aerifal.cx> <20151130013555.GT3818@brightrain.aerifal.cx> <20151130211432.GV3818@brightrain.aerifal.cx> <20151130221412.GW3818@brightrain.aerifal.cx> <20151209003914.GA238@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=001a114ee32a96da6f0526814820 X-Trace: ger.gmane.org 1449711622 16773 80.91.229.3 (10 Dec 2015 01:40:22 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 10 Dec 2015 01:40:22 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-8984-gllmg-musl=m.gmane.org@lists.openwall.com Thu Dec 10 02:40:11 2015 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1a6qDK-0003w3-If for gllmg-musl@m.gmane.org; Thu, 10 Dec 2015 02:40:10 +0100 Original-Received: (qmail 26529 invoked by uid 550); 10 Dec 2015 01:40:07 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 26505 invoked from network); 10 Dec 2015 01:40:06 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :content-type; bh=/2xA488EPpl/8SzBxyamROtvyCbQR+7NIgy9U+2Mr8I=; b=gpx6mI0qB8IhmoCuOkurseL+7JMO2BMqcxGK0y3naneGVxAuJGR6dH4cXgTgiT2xQz RU/SL5l5epPWl97YXxvYYMDxv5ajR/1d/CChytxH5Sh/RHocs6dMSVF8pSomijWLHsE3 q8iAC6ktz00aqm9iT/AFt0P+9fXv0fsbz6dm4= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:content-type; bh=/2xA488EPpl/8SzBxyamROtvyCbQR+7NIgy9U+2Mr8I=; b=hQ7BwfDnGCWG3vy0gvkMtWHmjSCuPsVgn38hvnfMHtRLHXgphK0iMjFmBtDfCq6cv0 HgaXVhpoRtv7jIwCKJVmymWhyCIr0DQ7U8W9+Q7BvFuBA9Drs9n/1Zz5JiZOuBpOK5+P 93AGaWJap8YrSgJgO33fQVzeUQHoGZaZ0pmEaWZQF5VjnWQJPhYegWyze4UGGDoqAgwj 8bImhfWsBj7wdtHGT/Eb4jW/tOuBAf3rX47s25rvjf8t/lvXBGawROqh2jy2Iu/Zwp4l oT8YHnMPzMDv9oc1RaVsqnDURdzFX+veuyXAe2YNWlCENmSH3BYvryjQC89eMq4TRGsn Mx6A== X-Gm-Message-State: ALoCoQkkh8H4ILGLmVpR2ZvxqYgpkkNi88X2RlcDpm2wE5WiUFZXGmWo0Jm/TP+FiglGSqC39MPyvHbRVhwggBUUd3kloyxZ4/2FYOHVZUv1Pa/FdTPoJf4= X-Received: by 10.129.136.6 with SMTP id y6mr2974586ywf.132.1449711594015; Wed, 09 Dec 2015 17:39:54 -0800 (PST) In-Reply-To: <20151209003914.GA238@brightrain.aerifal.cx> Xref: news.gmane.org gmane.linux.lib.musl.general:8971 Archived-At: --001a114ee32a96da6f0526814820 Content-Type: multipart/alternative; boundary=001a114ee32a96da6a052681481e --001a114ee32a96da6a052681481e Content-Type: text/plain; charset=UTF-8 On Tue, Dec 8, 2015 at 4:39 PM Rich Felker wrote: > I get: > > make: *** No rule to make target `obj/include/bits', needed by > `obj/include/bits/alltypes.h'. Stop. > > I think this is because $(dir...) intentionally leaves the trailing > slash, so you have to remove it to get the desired behavior. > I'm not sure why I don't see the same behavior in my setting, but I used make -p and you're correct, $(dir ...) leaves the trailing slashes. > First I tried: > > OBJ_DIRS = $(sort $(patsubst %/,%,$(dir $(ALL_LIBS) $(ALL_TOOLS) $(OBJS) > $(GENH) $(GENH_INT))) $(addprefix obj/, crt crt/$(ARCH) include)) > > but this does not seem to be sufficient, because of: > > $(OBJS) $(LOBJS): | $(sort $(dir $(OBJS))) > > Adding patsubst there would work too, but I wonder if it even makes > sense to have fine-grained dir dependencies, rather than just making > all the targets in this section of the makefile depend on $(OBJ_DIRS). > Thoughts? > I've used the approach you suggested yesterday over IRC which simplifies the Makefile a bit. > ../configure: Makefile already exists in the working directory > > This isn't what I would expect either. Normally you want to be able to > re-run configure with different options. There's probably a little bit > of subtlety here because we would like to avoid overwriting an actual > file (if somebody copied and edited a makefile here) but happily > replace a symlink. > I've expanded the check to cover both the existing file and symlink case. > Aside from these issues it seems to be okay/working for me. I'd > appreciate comments from anyone else who's tried it. > I've been using the previous version in my setup for about two weeks now and haven't found any further issue but I'd like to hear from others if they found any issues. --001a114ee32a96da6a052681481e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On Tue, Dec 8,= 2015 at 4:39 PM Rich Felker <dalias@= libc.org> wrote:
I get:

make: *** No rule to make target `obj/include/bits', needed by `obj/inc= lude/bits/alltypes.h'.=C2=A0 Stop.

I think this is because $(dir...) intentionally leaves the trailing
slash, so you have to remove it to get the desired behavior.

I'm not sure why I don't see the same behavio= r in my setting, but I used make -p and you're correct, $(dir ...) leav= es the trailing slashes.
=C2=A0
First I tried:

OBJ_DIRS =3D $(sort $(patsubst %/,%,$(dir $(ALL_LIBS) $(ALL_TOOLS) $(OBJS) = $(GENH) $(GENH_INT))) $(addprefix obj/, crt crt/$(ARCH) include))

but this does not seem to be sufficient, because of:

$(OBJS) $(LOBJS): | $(sort $(dir $(OBJS)))

Adding patsubst there would work too, but I wonder if it even makes
sense to have fine-grained dir dependencies, rather than just making
all the targets in this section of the makefile depend on $(OBJ_DIRS).
Thoughts?

I've used the approach yo= u suggested yesterday over IRC which simplifies the Makefile a bit.
=C2=A0
../configure: Makefile already exists in the working directory

This isn't what I would expect either. Normally you want to be able to<= br> re-run configure with different options. There's probably a little bit<= br> of subtlety here because we would like to avoid overwriting an actual
file (if somebody copied and edited a makefile here) but happily
replace a symlink.

I've expanded th= e check to cover both the existing file and symlink case.
=C2=A0<= /div>
Aside from these issues it seems to be okay/working for me. I'd
appreciate comments from anyone else who's tried it.

I've been using the previous version in my setup for = about two weeks now and haven't found any further issue but I'd lik= e to hear from others if they found any issues.=C2=A0
--001a114ee32a96da6a052681481e-- --001a114ee32a96da6f0526814820 Content-Type: text/x-patch; charset=US-ASCII; name="support-out-of-tree-build.patch" Content-Disposition: attachment; filename="support-out-of-tree-build.patch" Content-Transfer-Encoding: base64 Content-ID: <151898b3159d265dd521> X-Attachment-Id: 151898b3159d265dd521 RnJvbSBkNTZiNDliNzAzYmE5YTg2ZjA5OWM0OTA5NTY4NmQ2NDc3MzA5Y2RmIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRyIEhvc2VrIDxwaG9zZWtAY2hyb21pdW0ub3JnPgpEYXRl OiBXZWQsIDE4IE5vdiAyMDE1IDEyOjA3OjMyIC0wODAwClN1YmplY3Q6IFtQQVRDSF0gc3VwcG9y dCBvdXQtb2YtdHJlZSBidWlsZAoKdGhpcyBjaGFuZ2UgYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5n IG11c2wgb3V0c2lkZSBvZiB0aGUgc291cmNlCnRyZWUuIHRoZSBpbXBsZW1lbnRhdGlvbiBpcyBz aW1pbGFyIHRvIGF1dG90b29scyB3aGVyZSBydW5uaW5nCmNvbmZpZ3VyZSBpbiBhIGRpZmZlcmVu dCBmb2xkZXIgY3JlYXRlcyBjb25maWcubWFrIGluIHRoZSBjdXJyZW50CndvcmtpbmcgZGlyZWN0 b3J5IGFuZCBzeW1saW5rcyB0aGUgbWFrZWZpbGUsIHdoaWNoIGNvbnRhaW5zIHRoZQpsb2dpYyBm b3IgY3JlYXRpbmcgYWxsIG5lY2Vzc2FyeSBkaXJlY3RvcmllcyBhbmQgcmVzb2x2aW5nIHBhdGhz CnJlbGF0aXZlIHRvIHRoZSBzb3VyY2UgZGlyZWN0b3J5LgoKdG8gc3VwcG9ydCBib3RoIGluLXRy ZWUgYW5kIG91dC1vZi10cmVlIGJ1aWxkcyB3aXRoIGltcGxpY2l0IG1ha2UKcnVsZXMsIGFsbCBv YmplY3QgZmlsZXMgYXJlIG5vdyBwbGFjZWQgaW50byBhIHNlcGFyYXRlIGRpcmVjdG9yeS4KLS0t CiAuZ2l0aWdub3JlIHwgICA1ICstLQogTWFrZWZpbGUgICB8IDEyNiArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBjb25maWd1cmUg IHwgIDMwICsrKysrKysrKysrKy0tLQogMyBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygr KSwgNjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvLmdpdGlnbm9yZSBiLy5naXRpZ25vcmUK aW5kZXggYzVkNWM0Ni4uMmNiODhkNCAxMDA2NDQKLS0tIGEvLmdpdGlnbm9yZQorKysgYi8uZ2l0 aWdub3JlCkBAIC01LDkgKzUsNiBAQAogKi5zby4xCiBhcmNoLyovYml0cy9hbGx0eXBlcy5oCiBj b25maWcubWFrCi1pbmNsdWRlL2JpdHMKLXRvb2xzL211c2wtZ2NjCi10b29scy9tdXNsLWNsYW5n Ci10b29scy9sZC5tdXNsLWNsYW5nCiBsaWIvbXVzbC1nY2Muc3BlY3MKIHNyYy9pbnRlcm5hbC92 ZXJzaW9uLmgKKy9vYmovCmRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCmluZGV4IGRm MjBmOTQuLjQ0YjM5YjkgMTAwNjQ0Ci0tLSBhL01ha2VmaWxlCisrKyBiL01ha2VmaWxlCkBAIC04 LDYgKzgsNyBAQAogIyBEbyBub3QgbWFrZSBjaGFuZ2VzIGhlcmUuCiAjCiAKK3NyY2RpciA9IC4K IGV4ZWNfcHJlZml4ID0gL3Vzci9sb2NhbAogYmluZGlyID0gJChleGVjX3ByZWZpeCkvYmluCiAK QEAgLTE2LDEyICsxNywxNiBAQCBpbmNsdWRlZGlyID0gJChwcmVmaXgpL2luY2x1ZGUKIGxpYmRp ciA9ICQocHJlZml4KS9saWIKIHN5c2xpYmRpciA9IC9saWIKIAotU1JDUyA9ICQoc29ydCAkKHdp bGRjYXJkIHNyYy8qLyouYyBhcmNoLyQoQVJDSCkvc3JjLyouYykpCi1PQkpTID0gJChTUkNTOi5j PS5vKQorQkFTRV9TUkNTID0gJChzb3J0ICQod2lsZGNhcmQgJChzcmNkaXIpL3NyYy8qLyouYyAk KHNyY2RpcikvYXJjaC8kKEFSQ0gpL3NyYy8qLmMpKQorQkFTRV9PQkpTID0gJChwYXRzdWJzdCAk KHNyY2RpcikvJS5jLCUubywkKEJBU0VfU1JDUykpCitBUkNIX1NSQ1MgPSAkKHdpbGRjYXJkICQo c3JjZGlyKS9zcmMvKi8kKEFSQ0gpLyoucyAkKHNyY2Rpcikvc3JjLyovJChBUkNIKSQoQVNNU1VC QVJDSCkvKi5zdWIpCitBUkNIX09CSlMgPSAkKHBhdHN1YnN0ICQoc3JjZGlyKS8lLnN1YiwlLm8s JChwYXRzdWJzdCAkKHNyY2RpcikvJS5zLCUubywkKEFSQ0hfU1JDUykpKQorUkVQTEFDRURfT0JK UyA9ICQoc29ydCAkKHN1YnN0IC8kKEFSQ0gpJChBU01TVUJBUkNIKS8sLywkKHN1YnN0IC8kKEFS Q0gpLywvLCQoQVJDSF9PQkpTKSkpICQoc3Vic3QgLyQoQVJDSCkkKEFTTVNVQkFSQ0gpLywvJChB UkNIKS8sJChzdWJzdCAvJChBUkNIKS8sLywkKEFSQ0hfT0JKUykpKSkKK09CSlMgPSAkKGFkZHBy ZWZpeCBvYmovLCAkKGZpbHRlci1vdXQgJChSRVBMQUNFRF9PQkpTKSwgJChzb3J0ICQoQkFTRV9P QkpTKSAkKEFSQ0hfT0JKUykpKSkKIExPQkpTID0gJChPQkpTOi5vPS5sbykKLUdFTkggPSBpbmNs dWRlL2JpdHMvYWxsdHlwZXMuaAotR0VOSF9JTlQgPSBzcmMvaW50ZXJuYWwvdmVyc2lvbi5oCi1J TVBIID0gc3JjL2ludGVybmFsL3N0ZGlvX2ltcGwuaCBzcmMvaW50ZXJuYWwvcHRocmVhZF9pbXBs Lmggc3JjL2ludGVybmFsL2xpYmMuaAorR0VOSCA9IG9iai9pbmNsdWRlL2JpdHMvYWxsdHlwZXMu aAorR0VOSF9JTlQgPSBvYmovc3JjL2ludGVybmFsL3ZlcnNpb24uaAorSU1QSCA9ICQoYWRkcHJl Zml4ICQoc3JjZGlyKS8sIHNyYy9pbnRlcm5hbC9zdGRpb19pbXBsLmggc3JjL2ludGVybmFsL3B0 aHJlYWRfaW1wbC5oIHNyYy9pbnRlcm5hbC9saWJjLmgpCiAKIExERkxBR1MgPQogTERGTEFHU19B VVRPID0KQEAgLTMyLDcgKzM3LDcgQEAgQ0ZMQUdTX0FVVE8gPSAtT3MgLXBpcGUKIENGTEFHU19D OTlGU0UgPSAtc3RkPWM5OSAtZmZyZWVzdGFuZGluZyAtbm9zdGRpbmMgCiAKIENGTEFHU19BTEwg PSAkKENGTEFHU19DOTlGU0UpCi1DRkxBR1NfQUxMICs9IC1EX1hPUEVOX1NPVVJDRT03MDAgLUku L2FyY2gvJChBUkNIKSAtSS4vc3JjL2ludGVybmFsIC1JLi9pbmNsdWRlCitDRkxBR1NfQUxMICs9 IC1EX1hPUEVOX1NPVVJDRT03MDAgLUkkKHNyY2RpcikvYXJjaC8kKEFSQ0gpIC1Jb2JqL3NyYy9p bnRlcm5hbCAtSSQoc3JjZGlyKS9zcmMvaW50ZXJuYWwgLUlvYmovaW5jbHVkZSAtSSQoc3JjZGly KS9pbmNsdWRlCiBDRkxBR1NfQUxMICs9ICQoQ1BQRkxBR1MpICQoQ0ZMQUdTX0FVVE8pICQoQ0ZM QUdTKQogQ0ZMQUdTX0FMTF9TVEFUSUMgPSAkKENGTEFHU19BTEwpCiBDRkxBR1NfQUxMX1NIQVJF RCA9ICQoQ0ZMQUdTX0FMTCkgLWZQSUMgLURTSEFSRUQKQEAgLTQxLDEwICs0NiwxMSBAQCBMREZM QUdTX0FMTCA9ICQoTERGTEFHU19BVVRPKSAkKExERkxBR1MpCiAKIEFSICAgICAgPSAkKENST1NT X0NPTVBJTEUpYXIKIFJBTkxJQiAgPSAkKENST1NTX0NPTVBJTEUpcmFubGliCi1JTlNUQUxMID0g Li90b29scy9pbnN0YWxsLnNoCitJTlNUQUxMID0gJChzcmNkaXIpL3Rvb2xzL2luc3RhbGwuc2gK IAotQVJDSF9JTkNMVURFUyA9ICQod2lsZGNhcmQgYXJjaC8kKEFSQ0gpL2JpdHMvKi5oKQotQUxM X0lOQ0xVREVTID0gJChzb3J0ICQod2lsZGNhcmQgaW5jbHVkZS8qLmggaW5jbHVkZS8qLyouaCkg JChHRU5IKSAkKEFSQ0hfSU5DTFVERVM6YXJjaC8kKEFSQ0gpLyU9aW5jbHVkZS8lKSkKK0FSQ0hf SU5DTFVERVMgPSAkKHdpbGRjYXJkICQoc3JjZGlyKS9hcmNoLyQoQVJDSCkvYml0cy8qLmgpCitJ TkNMVURFUyA9ICQod2lsZGNhcmQgJChzcmNkaXIpL2luY2x1ZGUvKi5oICQoc3JjZGlyKS9pbmNs dWRlLyovKi5oKQorQUxMX0lOQ0xVREVTID0gJChzb3J0ICQoSU5DTFVERVM6JChzcmNkaXIpLyU9 JSkgJChHRU5IOm9iai8lPSUpICQoQVJDSF9JTkNMVURFUzokKHNyY2RpcikvYXJjaC8kKEFSQ0gp LyU9aW5jbHVkZS8lKSkKIAogRU1QVFlfTElCX05BTUVTID0gbSBydCBwdGhyZWFkIGNyeXB0IHV0 aWwgeG5ldCByZXNvbHYgZGwKIEVNUFRZX0xJQlMgPSAkKEVNUFRZX0xJQl9OQU1FUzolPWxpYi9s aWIlLmEpCkBAIC01Myw3ICs1OSw3IEBAIFNUQVRJQ19MSUJTID0gbGliL2xpYmMuYQogU0hBUkVE X0xJQlMgPSBsaWIvbGliYy5zbwogVE9PTF9MSUJTID0gbGliL211c2wtZ2NjLnNwZWNzCiBBTExf TElCUyA9ICQoQ1JUX0xJQlMpICQoU1RBVElDX0xJQlMpICQoU0hBUkVEX0xJQlMpICQoRU1QVFlf TElCUykgJChUT09MX0xJQlMpCi1BTExfVE9PTFMgPSB0b29scy9tdXNsLWdjYworQUxMX1RPT0xT ID0gb2JqL211c2wtZ2NjCiAKIFdSQVBDQ19HQ0MgPSBnY2MKIFdSQVBDQ19DTEFORyA9IGNsYW5n CkBAIC02Miw5MSArNjgsMTAwIEBAIExEU09fUEFUSE5BTUUgPSAkKHN5c2xpYmRpcikvbGQtbXVz bC0kKEFSQ0gpJChTVUJBUkNIKS5zby4xCiAKIC1pbmNsdWRlIGNvbmZpZy5tYWsKIAoraWZlcSAo JChBUkNIKSwpCiskKGVycm9yIFBsZWFzZSBzZXQgQVJDSCBpbiBjb25maWcubWFrIGJlZm9yZSBy dW5uaW5nIG1ha2UuKQorZW5kaWYKKwogYWxsOiAkKEFMTF9MSUJTKSAkKEFMTF9UT09MUykKIAor T0JKX0RJUlMgPSAkKHNvcnQgJChwYXRzdWJzdCAlLywlLCQoZGlyICQoQUxMX0xJQlMpICQoQUxM X1RPT0xTKSAkKE9CSlMpICQoR0VOSCkgJChHRU5IX0lOVCkpKSAkKGFkZHByZWZpeCBvYmovLCBj cnQgY3J0LyQoQVJDSCkgaW5jbHVkZSkpCisKKyQoQUxMX0xJQlMpICQoQUxMX1RPT0xTKSAkKENS VF9MSUJTOmxpYi8lPW9iai9jcnQvJSkgJChPQkpTKSAkKExPQkpTKSAkKEdFTkgpICQoR0VOSF9J TlQpOiB8ICQoT0JKX0RJUlMpCisKKyQoT0JKX0RJUlMpOgorCW1rZGlyIC1wICRACisKIGluc3Rh bGw6IGluc3RhbGwtbGlicyBpbnN0YWxsLWhlYWRlcnMgaW5zdGFsbC10b29scwogCiBjbGVhbjoK LQlybSAtZiBjcnQvKi5vCisJcm0gLWYgb2JqL2NydC8qLm8gb2JqL2NydC8kKEFSQ0gpLyoubwog CXJtIC1mICQoT0JKUykKIAlybSAtZiAkKExPQkpTKQogCXJtIC1mICQoQUxMX0xJQlMpIGxpYi8q Llthb10gbGliLyouc28KIAlybSAtZiAkKEFMTF9UT09MUykKIAlybSAtZiAkKEdFTkgpICQoR0VO SF9JTlQpCi0Jcm0gLWYgaW5jbHVkZS9iaXRzCisJcm0gLWYgb2JqL2luY2x1ZGUvYml0cy9hbGx0 eXBlcy5oCiAKIGRpc3RjbGVhbjogY2xlYW4KIAlybSAtZiBjb25maWcubWFrCiAKLWluY2x1ZGUv Yml0czoKLQlAdGVzdCAiJChBUkNIKSIgfHwgeyBlY2hvICJQbGVhc2Ugc2V0IEFSQ0ggaW4gY29u ZmlnLm1hayBiZWZvcmUgcnVubmluZyBtYWtlLiIgOyBleGl0IDEgOyB9Ci0JbG4gLXNmIC4uL2Fy Y2gvJChBUkNIKS9iaXRzICRACitvYmovaW5jbHVkZS9iaXRzL2FsbHR5cGVzLmg6ICQoc3JjZGly KS9hcmNoLyQoQVJDSCkvYml0cy9hbGx0eXBlcy5oLmluICQoc3JjZGlyKS9pbmNsdWRlL2FsbHR5 cGVzLmguaW4gJChzcmNkaXIpL3Rvb2xzL21rYWxsdHlwZXMuc2VkCisJc2VkIC1mICQoc3JjZGly KS90b29scy9ta2FsbHR5cGVzLnNlZCAkKHNyY2RpcikvYXJjaC8kKEFSQ0gpL2JpdHMvYWxsdHlw ZXMuaC5pbiAkKHNyY2RpcikvaW5jbHVkZS9hbGx0eXBlcy5oLmluID4gJEAKIAotaW5jbHVkZS9i aXRzL2FsbHR5cGVzLmguaW46IGluY2x1ZGUvYml0cworb2JqL3NyYy9pbnRlcm5hbC92ZXJzaW9u Lmg6ICQod2lsZGNhcmQgJChzcmNkaXIpL1ZFUlNJT04gJChzcmNkaXIpLy5naXQpCisJcHJpbnRm ICcjZGVmaW5lIFZFUlNJT04gIiVzIlxuJyAiJCQoY2QgJChzcmNkaXIpOyBzaCB0b29scy92ZXJz aW9uLnNoKSIgPiAkQAogCi1pbmNsdWRlL2JpdHMvYWxsdHlwZXMuaDogaW5jbHVkZS9iaXRzL2Fs bHR5cGVzLmguaW4gaW5jbHVkZS9hbGx0eXBlcy5oLmluIHRvb2xzL21rYWxsdHlwZXMuc2VkCi0J c2VkIC1mIHRvb2xzL21rYWxsdHlwZXMuc2VkIGluY2x1ZGUvYml0cy9hbGx0eXBlcy5oLmluIGlu Y2x1ZGUvYWxsdHlwZXMuaC5pbiA+ICRACitvYmovc3JjL2ludGVybmFsL3ZlcnNpb24ubyBvYmov c3JjL2ludGVybmFsL3ZlcnNpb24ubG86IG9iai9zcmMvaW50ZXJuYWwvdmVyc2lvbi5oCiAKLXNy Yy9pbnRlcm5hbC92ZXJzaW9uLmg6ICQod2lsZGNhcmQgVkVSU0lPTiAuZ2l0KQotCXByaW50ZiAn I2RlZmluZSBWRVJTSU9OICIlcyJcbicgIiQkKHNoIHRvb2xzL3ZlcnNpb24uc2gpIiA+ICRACitv YmovY3J0L3JjcnQxLm8gb2JqL3NyYy9sZHNvL2Rsc3RhcnQubG8gb2JqL3NyYy9sZHNvL2R5bmxp bmsubG86ICQoc3JjZGlyKS9zcmMvaW50ZXJuYWwvZHlubGluay5oICQoc3JjZGlyKS9hcmNoLyQo QVJDSCkvcmVsb2MuaAogCi1zcmMvaW50ZXJuYWwvdmVyc2lvbi5vIHNyYy9pbnRlcm5hbC92ZXJz aW9uLmxvOiBzcmMvaW50ZXJuYWwvdmVyc2lvbi5oCitvYmovY3J0L2NydDEubyBvYmovY3J0L3Nj cnQxLm8gb2JqL2NydC9yY3J0MS5vIG9iai9zcmMvbGRzby9kbHN0YXJ0LmxvOiAkKHNyY2Rpcikv YXJjaC8kKEFSQ0gpL2NydF9hcmNoLmgKIAotY3J0L3JjcnQxLm8gc3JjL2xkc28vZGxzdGFydC5s byBzcmMvbGRzby9keW5saW5rLmxvOiBzcmMvaW50ZXJuYWwvZHlubGluay5oIGFyY2gvJChBUkNI KS9yZWxvYy5oCitvYmovY3J0L3JjcnQxLm86ICQoc3JjZGlyKS9zcmMvbGRzby9kbHN0YXJ0LmMK IAotY3J0L2NydDEubyBjcnQvU2NydDEubyBjcnQvcmNydDEubyBzcmMvbGRzby9kbHN0YXJ0Lmxv OiAkKHdpbGRjYXJkIGFyY2gvJChBUkNIKS9jcnRfYXJjaC5oKQorb2JqL2NydC9TY3J0MS5vIG9i ai9jcnQvcmNydDEubzogQ0ZMQUdTX0FMTCArPSAtZlBJQwogCi1jcnQvcmNydDEubzogc3JjL2xk c28vZGxzdGFydC5jCitvYmovY3J0LyQoQVJDSCkvY3J0aS5vOiAkKHNyY2RpcikvY3J0LyQoQVJD SCkvY3J0aS5zCiAKLWNydC9TY3J0MS5vIGNydC9yY3J0MS5vOiBDRkxBR1NfQUxMICs9IC1mUElD CitvYmovY3J0LyQoQVJDSCkvY3J0bi5vOiAkKHNyY2RpcikvY3J0LyQoQVJDSCkvY3J0bi5zCiAK LU9QVElNSVpFX1NSQ1MgPSAkKHdpbGRjYXJkICQoT1BUSU1JWkVfR0xPQlM6JT1zcmMvJSkpCi0k KE9QVElNSVpFX1NSQ1M6JS5jPSUubykgJChPUFRJTUlaRV9TUkNTOiUuYz0lLmxvKTogQ0ZMQUdT ICs9IC1PMworT1BUSU1JWkVfU1JDUyA9ICQod2lsZGNhcmQgJChPUFRJTUlaRV9HTE9CUzolPSQo c3JjZGlyKS9zcmMvJSkpCiskKE9QVElNSVpFX1NSQ1M6JChzcmNkaXIpLyUuYz1vYmovJS5vKSAk KE9QVElNSVpFX1NSQ1M6JChzcmNkaXIpLyUuYz1vYmovJS5sbyk6IENGTEFHUyArPSAtTzMKIAog TUVNT1BTX1NSQ1MgPSBzcmMvc3RyaW5nL21lbWNweS5jIHNyYy9zdHJpbmcvbWVtbW92ZS5jIHNy Yy9zdHJpbmcvbWVtY21wLmMgc3JjL3N0cmluZy9tZW1zZXQuYwotJChNRU1PUFNfU1JDUzolLmM9 JS5vKSAkKE1FTU9QU19TUkNTOiUuYz0lLmxvKTogQ0ZMQUdTX0FMTCArPSAkKENGTEFHU19NRU1P UFMpCiskKE1FTU9QU19TUkNTOiUuYz1vYmovJS5vKSAkKE1FTU9QU19TUkNTOiUuYz1vYmovJS5s byk6IENGTEFHU19BTEwgKz0gJChDRkxBR1NfTUVNT1BTKQogCiBOT1NTUF9TUkNTID0gJCh3aWxk Y2FyZCBjcnQvKi5jKSBcCiAJc3JjL2Vudi9fX2xpYmNfc3RhcnRfbWFpbi5jIHNyYy9lbnYvX19p bml0X3Rscy5jIFwKIAlzcmMvdGhyZWFkL19fc2V0X3RocmVhZF9hcmVhLmMgc3JjL2Vudi9fX3N0 YWNrX2Noa19mYWlsLmMgXAogCXNyYy9zdHJpbmcvbWVtc2V0LmMgc3JjL3N0cmluZy9tZW1jcHku YyBcCiAJc3JjL2xkc28vZGxzdGFydC5jIHNyYy9sZHNvL2R5bmxpbmsuYwotJChOT1NTUF9TUkNT OiUuYz0lLm8pICQoTk9TU1BfU1JDUzolLmM9JS5sbyk6IENGTEFHU19BTEwgKz0gJChDRkxBR1Nf Tk9TU1ApCiskKE5PU1NQX1NSQ1M6JS5jPW9iai8lLm8pICQoTk9TU1BfU1JDUzolLmM9b2JqLyUu bG8pOiBDRkxBR1NfQUxMICs9ICQoQ0ZMQUdTX05PU1NQKQogCi0kKENSVF9MSUJTOmxpYi8lPWNy dC8lKTogQ0ZMQUdTX0FMTCArPSAtRENSVAorJChDUlRfTElCUzpsaWIvJT1vYmovY3J0LyUpOiBD RkxBR1NfQUxMICs9IC1EQ1JUCiAKICMgVGhpcyBpbmNhbnRhdGlvbiBlbnN1cmVzIHRoYXQgY2hh bmdlcyB0byBhbnkgc3ViYXJjaCBhc20gZmlsZXMgd2lsbAogIyBmb3JjZSB0aGUgY29ycmVzcG9u ZGluZyBvYmplY3QgZmlsZSB0byBiZSByZWJ1aWx0LCBldmVuIGlmIHRoZSBpbXBsaWNpdAogIyBy dWxlIGJlbG93IGdvZXMgaW5kaXJlY3RseSB0aHJvdWdoIGEgLnN1YiBmaWxlLgogZGVmaW5lIG1r YXNtZGVwCi0kKGRpciAkKHBhdHN1YnN0ICUvLCUsJChkaXIgJCgxKSkpKSQobm90ZGlyICQoMTou cz0ubykpOiAkKDEpCiskKHBhdHN1YnN0ICQoc3JjZGlyKS8lLG9iai8lLCQoZGlyICQocGF0c3Vi c3QgJS8sJSwkKGRpciAkKDEpKSkpJChBUkNIKSQoQVNNU1VCQVJDSCkvJChub3RkaXIgJCgxOi5z PS5vKSkpOiAkKDEpCiBlbmRlZgotJChmb3JlYWNoIHMsJCh3aWxkY2FyZCBzcmMvKi8kKEFSQ0gp Ki8qLnMpLCQoZXZhbCAkKGNhbGwgbWthc21kZXAsJChzKSkpKQorJChmb3JlYWNoIHMsJCh3aWxk Y2FyZCAkKHNyY2Rpcikvc3JjLyovJChBUkNIKSovKi5zKSwkKGV2YWwgJChjYWxsIG1rYXNtZGVw LCQocykpKSkKIAogIyBDaG9vc2UgaW52b2NhdGlvbiBvZiBhc3NlbWJsZXIgdG8gYmUgdXNlZAog IyAkKDEpIGlzIGlucHV0IGZpbGUsICQoMikgaXMgb3V0cHV0IGZpbGUsICQoMykgaXMgYXNzZW1i bGVyIGZsYWdzCiBpZmVxICgkKEFERF9DRkkpLHllcykKLQlBU19DTUQgPSBMQ19BTEw9QyBhd2sg LWYgdG9vbHMvYWRkLWNmaS5jb21tb24uYXdrIC1mIHRvb2xzL2FkZC1jZmkuJChBUkNIKS5hd2sg JDwgfCAkKENDKSAteCBhc3NlbWJsZXIgLWMgLW8gJEAgLQorCUFTX0NNRCA9IExDX0FMTD1DIGF3 ayAtZiAkKHNyY2RpcikvdG9vbHMvYWRkLWNmaS5jb21tb24uYXdrIC1mICQoc3JjZGlyKS90b29s cy9hZGQtY2ZpLiQoQVJDSCkuYXdrICQ8IHwgJChDQykgLXggYXNzZW1ibGVyIC1jIC1vICRAIC0K IGVsc2UKIAlBU19DTUQgPSAkKENDKSAtYyAtbyAkQCAkPAogZW5kaWYKIAotJS5vOiAkKEFSQ0gp JChBU01TVUJBUkNIKS8lLnN1YgotCSQoQ0MpICQoQ0ZMQUdTX0FMTF9TVEFUSUMpIC1jIC1vICRA ICQoZGlyICQ8KSQoc2hlbGwgY2F0ICQ8KQorb2JqLyUubzogJChzcmNkaXIpLyUuc3ViCisJJChD QykgJChDRkxBR1NfQUxMX1NUQVRJQykgLWMgLW8gJEAgJChkaXIgJDwpJCQoY2F0ICQ8KQogCi0l Lm86ICQoQVJDSCkvJS5zCitvYmovJS5vOiAkKHNyY2RpcikvJS5zCiAJJChBU19DTUQpICQoQ0ZM QUdTX0FMTF9TVEFUSUMpCiAKLSUubzogJS5jICQoR0VOSCkgJChJTVBIKQorb2JqLyUubzogJChz cmNkaXIpLyUuYyAkKEdFTkgpICQoSU1QSCkKIAkkKENDKSAkKENGTEFHU19BTExfU1RBVElDKSAt YyAtbyAkQCAkPAogCi0lLmxvOiAkKEFSQ0gpJChBU01TVUJBUkNIKS8lLnN1YgotCSQoQ0MpICQo Q0ZMQUdTX0FMTF9TSEFSRUQpIC1jIC1vICRAICQoZGlyICQ8KSQoc2hlbGwgY2F0ICQ8KQorb2Jq LyUubG86ICQoc3JjZGlyKS8lLnN1YgorCSQoQ0MpICQoQ0ZMQUdTX0FMTF9TSEFSRUQpIC1jIC1v ICRAICQoZGlyICQ8KSQkKGNhdCAkPCkKIAotJS5sbzogJChBUkNIKS8lLnMKK29iai8lLmxvOiAk KHNyY2RpcikvJS5zCiAJJChBU19DTUQpICQoQ0ZMQUdTX0FMTF9TSEFSRUQpCiAKLSUubG86ICUu YyAkKEdFTkgpICQoSU1QSCkKK29iai8lLmxvOiAkKHNyY2RpcikvJS5jICQoR0VOSCkgJChJTVBI KQogCSQoQ0MpICQoQ0ZMQUdTX0FMTF9TSEFSRUQpIC1jIC1vICRAICQ8CiAKIGxpYi9saWJjLnNv OiAkKExPQkpTKQpAQCAtMTYzLDIxICsxNzgsMjcgQEAgJChFTVBUWV9MSUJTKToKIAlybSAtZiAk QAogCSQoQVIpIHJjICRACiAKLWxpYi8lLm86IGNydC8lLm8KK2xpYi8lLm86IG9iai9jcnQvJS5v CiAJY3AgJDwgJEAKIAotbGliL211c2wtZ2NjLnNwZWNzOiB0b29scy9tdXNsLWdjYy5zcGVjcy5z aCBjb25maWcubWFrCitsaWIvY3J0aS5vOiBvYmovY3J0LyQoQVJDSCkvY3J0aS5vCisJY3AgJDwg JEAKKworbGliL2NydG4ubzogb2JqL2NydC8kKEFSQ0gpL2NydG4ubworCWNwICQ8ICRACisKK2xp Yi9tdXNsLWdjYy5zcGVjczogJChzcmNkaXIpL3Rvb2xzL211c2wtZ2NjLnNwZWNzLnNoIGNvbmZp Zy5tYWsKIAlzaCAkPCAiJChpbmNsdWRlZGlyKSIgIiQobGliZGlyKSIgIiQoTERTT19QQVRITkFN RSkiID4gJEAKIAotdG9vbHMvbXVzbC1nY2M6IGNvbmZpZy5tYWsKK29iai9tdXNsLWdjYzogY29u ZmlnLm1hawogCXByaW50ZiAnIyEvYmluL3NoXG5leGVjICIkJHtSRUFMR0NDOi0kKFdSQVBDQ19H Q0MpfSIgIiQkQCIgLXNwZWNzICIlcy9tdXNsLWdjYy5zcGVjcyJcbicgIiQobGliZGlyKSIgPiAk QAogCWNobW9kICt4ICRACiAKLXRvb2xzLyUtY2xhbmc6IHRvb2xzLyUtY2xhbmcuaW4gY29uZmln Lm1haworb2JqLyUtY2xhbmc6ICQoc3JjZGlyKS90b29scy8lLWNsYW5nLmluIGNvbmZpZy5tYWsK IAlzZWQgLWUgJ3MhQENDQCEkKFdSQVBDQ19DTEFORykhZycgLWUgJ3MhQFBSRUZJWEAhJChwcmVm aXgpIWcnIC1lICdzIUBJTkNESVJAISQoaW5jbHVkZWRpcikhZycgLWUgJ3MhQExJQkRJUkAhJChs aWJkaXIpIWcnIC1lICdzIUBMRFNPQCEkKExEU09fUEFUSE5BTUUpIWcnICQ8ID4gJEAKIAljaG1v ZCAreCAkQAogCi0kKERFU1RESVIpJChiaW5kaXIpLyU6IHRvb2xzLyUKKyQoREVTVERJUikkKGJp bmRpcikvJTogb2JqLyUKIAkkKElOU1RBTEwpIC1EICQ8ICRACiAKICQoREVTVERJUikkKGxpYmRp cikvJS5zbzogbGliLyUuc28KQEAgLTE4NiwxMCArMjA3LDEzIEBAICQoREVTVERJUikkKGxpYmRp cikvJS5zbzogbGliLyUuc28KICQoREVTVERJUikkKGxpYmRpcikvJTogbGliLyUKIAkkKElOU1RB TEwpIC1EIC1tIDY0NCAkPCAkQAogCi0kKERFU1RESVIpJChpbmNsdWRlZGlyKS9iaXRzLyU6IGFy Y2gvJChBUkNIKS9iaXRzLyUKKyQoREVTVERJUikkKGluY2x1ZGVkaXIpL2JpdHMvJTogJChzcmNk aXIpL2FyY2gvJChBUkNIKS9iaXRzLyUKKwkkKElOU1RBTEwpIC1EIC1tIDY0NCAkPCAkQAorCisk KERFU1RESVIpJChpbmNsdWRlZGlyKS9iaXRzLyU6IG9iai9pbmNsdWRlL2JpdHMvJQogCSQoSU5T VEFMTCkgLUQgLW0gNjQ0ICQ8ICRACiAKLSQoREVTVERJUikkKGluY2x1ZGVkaXIpLyU6IGluY2x1 ZGUvJQorJChERVNURElSKSQoaW5jbHVkZWRpcikvJTogJChzcmNkaXIpL2luY2x1ZGUvJQogCSQo SU5TVEFMTCkgLUQgLW0gNjQ0ICQ8ICRACiAKICQoREVTVERJUikkKExEU09fUEFUSE5BTUUpOiAk KERFU1RESVIpJChsaWJkaXIpL2xpYmMuc28KQEAgLTE5OSwxMiArMjIzLDEyIEBAIGluc3RhbGwt bGliczogJChBTExfTElCUzpsaWIvJT0kKERFU1RESVIpJChsaWJkaXIpLyUpICQoaWYgJChTSEFS RURfTElCUyksJChERVNUCiAKIGluc3RhbGwtaGVhZGVyczogJChBTExfSU5DTFVERVM6aW5jbHVk ZS8lPSQoREVTVERJUikkKGluY2x1ZGVkaXIpLyUpCiAKLWluc3RhbGwtdG9vbHM6ICQoQUxMX1RP T0xTOnRvb2xzLyU9JChERVNURElSKSQoYmluZGlyKS8lKQoraW5zdGFsbC10b29sczogJChBTExf VE9PTFM6b2JqLyU9JChERVNURElSKSQoYmluZGlyKS8lKQogCiBtdXNsLWdpdC0lLnRhci5nejog LmdpdAotCSBnaXQgYXJjaGl2ZSAtLWZvcm1hdD10YXIuZ3ogLS1wcmVmaXg9JChwYXRzdWJzdCAl LnRhci5neiwlLCRAKS8gLW8gJEAgJChwYXRzdWJzdCBtdXNsLWdpdC0lLnRhci5neiwlLCRAKQor CSBnaXQgLS1naXQtZGlyPSQoc3JjZGlyKS8uZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGFyLmd6IC0t cHJlZml4PSQocGF0c3Vic3QgJS50YXIuZ3osJSwkQCkvIC1vICRAICQocGF0c3Vic3QgbXVzbC1n aXQtJS50YXIuZ3osJSwkQCkKIAogbXVzbC0lLnRhci5nejogLmdpdAotCSBnaXQgYXJjaGl2ZSAt LWZvcm1hdD10YXIuZ3ogLS1wcmVmaXg9JChwYXRzdWJzdCAlLnRhci5neiwlLCRAKS8gLW8gJEAg diQocGF0c3Vic3QgbXVzbC0lLnRhci5neiwlLCRAKQorCSBnaXQgLS1naXQtZGlyPSQoc3JjZGly KS8uZ2l0IGFyY2hpdmUgLS1mb3JtYXQ9dGFyLmd6IC0tcHJlZml4PSQocGF0c3Vic3QgJS50YXIu Z3osJSwkQCkvIC1vICRAIHYkKHBhdHN1YnN0IG11c2wtJS50YXIuZ3osJSwkQCkKIAogLlBIT05Z OiBhbGwgY2xlYW4gaW5zdGFsbCBpbnN0YWxsLWxpYnMgaW5zdGFsbC1oZWFkZXJzIGluc3RhbGwt dG9vbHMKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZSBiL2NvbmZpZ3VyZQppbmRleCBlZTIxNzcxLi5m Y2ZkYzE1IDEwMDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC05LDYgKzks OSBAQCBWQVI9VkFMVUUuICBTZWUgYmVsb3cgZm9yIGRlc2NyaXB0aW9ucyBvZiBzb21lIG9mIHRo ZSB1c2VmdWwgdmFyaWFibGVzLgogCiBEZWZhdWx0cyBmb3IgdGhlIG9wdGlvbnMgYXJlIHNwZWNp ZmllZCBpbiBicmFja2V0cy4KIAorQ29uZmlndXJhdGlvbjoKKyAgLS1zcmNkaXI9RElSICAgICAg ICAgICAgc291cmNlIGRpcmVjdG9yeSBbZGV0ZWN0ZWRdCisKIEluc3RhbGxhdGlvbiBkaXJlY3Rv cmllczoKICAgLS1wcmVmaXg9UFJFRklYICAgICAgICAgbWFpbiBpbnN0YWxsYXRpb24gcHJlZml4 IFsvdXNyL2xvY2FsL211c2xdCiAgIC0tZXhlYy1wcmVmaXg9RVBSRUZJWCAgIGluc3RhbGxhdGlv biBwcmVmaXggZm9yIGV4ZWN1dGFibGUgZmlsZXMgW1BSRUZJWF0KQEAgLTExNyw2ICsxMjAsNyBA QCBDRkxBR1NfVFJZPQogTERGTEFHU19BVVRPPQogTERGTEFHU19UUlk9CiBPUFRJTUlaRV9HTE9C Uz0KK3NyY2Rpcj0KIHByZWZpeD0vdXNyL2xvY2FsL211c2wKIGV4ZWNfcHJlZml4PSckKHByZWZp eCknCiBiaW5kaXI9JyQoZXhlY19wcmVmaXgpL2JpbicKQEAgLTEzOSw2ICsxNDMsNyBAQCBjbGFu Z193cmFwcGVyPW5vCiBmb3IgYXJnIDsgZG8KIGNhc2UgIiRhcmciIGluCiAtLWhlbHApIHVzYWdl IDs7CistLXNyY2Rpcj0qKSBzcmNkaXI9JHthcmcjKj19IDs7CiAtLXByZWZpeD0qKSBwcmVmaXg9 JHthcmcjKj19IDs7CiAtLWV4ZWMtcHJlZml4PSopIGV4ZWNfcHJlZml4PSR7YXJnIyo9fSA7Owog LS1iaW5kaXI9KikgYmluZGlyPSR7YXJnIyo9fSA7OwpAQCAtMTc5LDExICsxODQsMjMgQEAgTElC Q0M9KikgTElCQ0M9JHthcmcjKj19IDs7CiBlc2FjCiBkb25lCiAKLWZvciBpIGluIHByZWZpeCBl eGVjX3ByZWZpeCBiaW5kaXIgbGliZGlyIGluY2x1ZGVkaXIgc3lzbGliZGlyIDsgZG8KK2ZvciBp IGluIHNyY2RpciBwcmVmaXggZXhlY19wcmVmaXggYmluZGlyIGxpYmRpciBpbmNsdWRlZGlyIHN5 c2xpYmRpciA7IGRvCiBzdHJpcGRpciAkaQogZG9uZQogCiAjCisjIEdldCB0aGUgc291cmNlIGRp ciBmb3Igb3V0LW9mLXRyZWUgYnVpbGRzCisjCitpZiB0ZXN0IC16ICIkc3JjZGlyIiA7IHRoZW4K K3NyY2Rpcj0iJHswJS9jb25maWd1cmV9Igorc3RyaXBkaXIgc3JjZGlyCitmaQorYWJzX2J1aWxk ZGlyPSIkKHB3ZCkiIHx8IGZhaWwgIiQwOiBjYW5ub3QgZGV0ZXJtaW5lIHdvcmtpbmcgZGlyZWN0 b3J5IgorYWJzX3NyY2Rpcj0iJChjZCAkc3JjZGlyICYmIHB3ZCkiIHx8IGZhaWwgIiQwOiBpbnZh bGlkIHNvdXJjZSBkaXJlY3RvcnkgJHNyY2RpciIKK3Rlc3QgIiRhYnNfc3JjZGlyIiA9ICIkYWJz X2J1aWxkZGlyIiAmJiBzcmNkaXI9LgordGVzdCAiJHNyY2RpciIgIT0gIi4iIC1hIC1mIE1ha2Vm aWxlIC1hICEgLWggTWFrZWZpbGUgJiYgZmFpbCAiJDA6IE1ha2VmaWxlIGFscmVhZHkgZXhpc3Rz IGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeSIKKworIwogIyBHZXQgYSB0ZW1wIGZpbGVuYW1lIHdl IGNhbiB1c2UKICMKIGk9MApAQCAtMjYzLDExICsyODAsMTEgQEAgZmkKIGZpCiAKIGlmIHRlc3Qg IiRnY2Nfd3JhcHBlciIgPSB5ZXMgOyB0aGVuCi10b29scz0iJHRvb2xzIHRvb2xzL211c2wtZ2Nj IgordG9vbHM9IiR0b29scyBvYmovbXVzbC1nY2MiCiB0b29sX2xpYnM9IiR0b29sX2xpYnMgbGli L211c2wtZ2NjLnNwZWNzIgogZmkKIGlmIHRlc3QgIiRjbGFuZ193cmFwcGVyIiA9IHllcyA7IHRo ZW4KLXRvb2xzPSIkdG9vbHMgdG9vbHMvbXVzbC1jbGFuZyB0b29scy9sZC5tdXNsLWNsYW5nIgor dG9vbHM9IiR0b29scyBvYmovbXVzbC1jbGFuZyBvYmovbGQubXVzbC1jbGFuZyIKIGZpCiAKICMK QEAgLTMyMSw3ICszMzgsNyBAQCBfX2F0dHJpYnV0ZV9fKChfX21heV9hbGlhc19fKSkKICNlbmRp ZgogeDsKIEVPRgotaWYgJENDICRDRkxBR1NfQzk5RlNFIC1JLi9hcmNoLyRBUkNIIC1JLi9pbmNs dWRlICRDUFBGTEFHUyAkQ0ZMQUdTIFwKK2lmICRDQyAkQ0ZMQUdTX0M5OUZTRSAtSSRzcmNkaXIv YXJjaC8kQVJDSCAtSSRzcmNkaXIvaW5jbHVkZSAkQ1BQRkxBR1MgJENGTEFHUyBcCiAgIC1jIC1v IC9kZXYvbnVsbCAiJHRtcGMiID4vZGV2L251bGwgMj4mMSA7IHRoZW4KIHByaW50ZiAibm9cbiIK IGVsc2UKQEAgLTYyNSw3ICs2NDIsNyBAQCBlY2hvICcjaW5jbHVkZSA8ZmxvYXQuaD4nID4gIiR0 bXBjIgogZWNobyAnI2lmIExEQkxfTUFOVF9ESUcgPT0gNTMnID4+ICIkdG1wYyIKIGVjaG8gJ3R5 cGVkZWYgY2hhciBsZGNoZWNrWzktKGludClzaXplb2YobG9uZyBkb3VibGUpXTsnID4+ICIkdG1w YyIKIGVjaG8gJyNlbmRpZicgPj4gIiR0bXBjIgotaWYgJENDICRDRkxBR1NfQzk5RlNFIC1JLi9h cmNoLyRBUkNIIC1JLi9pbmNsdWRlICRDUFBGTEFHUyAkQ0ZMQUdTIFwKK2lmICRDQyAkQ0ZMQUdT X0M5OUZTRSAtSSRzcmNkaXIvYXJjaC8kQVJDSCAtSSRzcmNkaXIvaW5jbHVkZSAkQ1BQRkxBR1Mg JENGTEFHUyBcCiAgIC1jIC1vIC9kZXYvbnVsbCAiJHRtcGMiID4vZGV2L251bGwgMj4mMSA7IHRo ZW4KIHByaW50ZiAieWVzXG4iCiBlbHNlCkBAIC02NDgsNiArNjY1LDcgQEAgY2F0IDw8IEVPRgog QVJDSCA9ICRBUkNICiBTVUJBUkNIID0gJFNVQkFSQ0gKIEFTTVNVQkFSQ0ggPSAkQVNNU1VCQVJD SAorc3JjZGlyID0gJHNyY2RpcgogcHJlZml4ID0gJHByZWZpeAogZXhlY19wcmVmaXggPSAkZXhl Y19wcmVmaXgKIGJpbmRpciA9ICRiaW5kaXIKQEAgLTY3Niw0ICs2OTQsNiBAQCB0ZXN0ICJ4JGNj X2ZhbWlseSIgPSB4Z2NjICYmIGVjaG8gJ1dSQVBDQ19HQ0MgPSAkKENDKScKIHRlc3QgIngkY2Nf ZmFtaWx5IiA9IHhjbGFuZyAmJiBlY2hvICdXUkFQQ0NfQ0xBTkcgPSAkKENDKScKIGV4ZWMgMT4m MyAzPiYtCiAKK3Rlc3QgIiRzcmNkaXIiID0gIi4iIHx8IGxuIC1zZiAkc3JjZGlyL01ha2VmaWxl IC4KKwogcHJpbnRmICJkb25lXG4iCi0tIAoyLjYuMC5yYzIuMjMwLmczZGQxNWMwCgo= --001a114ee32a96da6f0526814820--