[bug#81040] [PATCH] dist: introduce AM_OPTIONAL_AUTOMAKE for best-effort dist-XXX archives.

Kamila Szewczyk <[email protected]> Wed, 20 May 2026 23:09:30 +0200
Newsgroups gmane.comp.sysutils.automake.patches
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------mcrTBNhm1luh5DU9XoYzdycm
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit

Hi Karl,

The distcheck fail was just the general flakiness of the bad PATH-based
mechanism.  Regarding your suggestions: there are two couple of issues;
Firstly, there is a stray `exit 44'.  Secondly, the NEWS hunk has stray
whitespace.

The attached patch, I believe, fixes all of the issues.

--
With Valediction,
Kamila Szewczyk (https://iczelia.net)

On 5/20/26 7:41 PM, Karl Berry wrote:
> Hi Kamila. When running make distcheck, the new am-optional-automake.sh
> test fails with:
> configure.ac:3: warning: macro 'AM_OPTIONAL_AUTOMAKE' not found in library
> 
> I believe this happens at (sub)Test 3.  It is not immediately evident to
> me why the macro is not being found.  Before I spend more time on it
> .. can you reproduce?
> 
> The new test succeeds under make check. Only fails under distcheck.
> 
> 
> Besides that: I don't think it's good to walk through all of PATH and
> create thousands upon thousands of symlinks (for each existing
> executable).  It is aggravatingly slow, for one thing, makes the log
> verbosely long, for another, and I'm doubtful that it will work on all
> the varieties of Windows-based systems, for a third.
> 
> Instead, how about setting the BZIP3 envvar to some random value that
> won't be found? (Could check with command to make sure.) Hmm, I guess
> I'm not sure if automake currently pays attention to that envvar, but if
> not, well, that's another patch.  Admittedly it's not as perfect of a
> test, but this loop over every single program in PATH just seems awful
> to me. Sorry.
> 
> In the alternative, if we really must create this gigantic symlink farm,
> then at least only do it once ...
> 
> 
> Finally: I have a few minor wording suggestions for NEWS and
> automake.texi, and shell+debugging suggestions for the test. Mainly to
> report the "Test <N>"'s to the output so it's easier to navigate. I'll
> just attach my tweaked versions for you to incorporate. Assuming you're
> ok with the changes.
> 
> Thanks,
> Karl
> 

--------------mcrTBNhm1luh5DU9XoYzdycm
Content-Type: text/x-patch; charset=UTF-8; name="am-optional-automake.patch"
Content-Disposition: attachment; filename="am-optional-automake.patch"
Content-Transfer-Encoding: base64

RnJvbSAzNmIyZjQxNWFmYjkxN2Y1MDBmYmZhNmVmZTAxYzcxNWI5NGFlOGQwIE1vbiBTZXAg
MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLYW1pbGEgU3pld2N6eWsgPHN6ZXdjenlrQGNzLnVu
aS1zYWFybGFuZC5kZT4KRGF0ZTogVHVlLCAxOSBNYXkgMjAyNiAxNjo0MzowNiArMDIwMApT
dWJqZWN0OiBbUEFUQ0hdIE5ldyBBTV9PUFRJT05BTF9BVVRPTUFLRSBtYWNybwoKKiBtNC9v
cHRpb25hbC5tNDogTmV3IGZpbGUuICBBTV9PUFRJT05BTF9BVVRPTUFLRShPUFRJT05TKSBt
YWtlcwpgbWFrZSBkaXN0JyBidWlsZCB0aGUgbGlzdGVkIGRpc3QtWFhYIGFyY2hpdmVzIHdo
ZW4gdGhlaXIgdG9vbCBpcwphdmFpbGFibGUgYW5kIHNraXAgdGhlbSBvdGhlcndpc2UsIHdp
dGhvdXQgZmFpbGluZy4gIFN1cHBvcnRzCmRpc3QtYnppcDIsIGRpc3QtYnppcDMsIGRpc3Qt
eHosIGRpc3QtbHppcCwgZGlzdC16c3RkLCBkaXN0LXppcCwKZGlzdC1zaGFyIGFuZCBkaXN0
LXRhclouICBkaXN0LXNoYXIgaXMgaGFuZGxlZCBzZXBhcmF0ZWx5OiBzaGFyIGlzCnJ1biB0
byBhbiBpbnRlcm1lZGlhdGUgZmlsZSBiZWZvcmUgZ3ppcCBzbyBhIG1pc3Npbmcgc2hhciBj
YW5ub3QKbGVhdmUgYSBib2d1cyAuc2hhci5neiBiZWhpbmQuCiogbTQvbG9jYWwubWsgKGRp
c3RfYXV0b21ha2VfYWNfREFUQSk6IEFkZCBtNC9vcHRpb25hbC5tNC4KKiBkb2MvYXV0b21h
a2UudGV4aSAoUHVibGljIE1hY3Jvcyk6IERvY3VtZW50IGl0LiAgQ3Jvc3MtcmVmZXJlbmNl
Cml0IGZyb20gZGlzdC1iemlwMywgZGlzdC1semlwIGFuZCBkaXN0LXpzdGQuClJlZmVyZW5j
ZXM6IGh0dHBzOi8vZGViYnVncy5nbnUub3JnL2NnaS9idWdyZXBvcnQuY2dpP2J1Zz04MTA0
MC4KKiB0L2FtLW9wdGlvbmFsLWF1dG9tYWtlLnNoOiBOZXcgdGVzdCwgaW5jbHVkaW5nIGEg
ZGlzdGNoZWNrIGNhc2UuCiogdC9saXN0LW9mLXRlc3RzLm1rOiBBZGQgaXQuCiogTkVXUzog
TWVudGlvbiB0aGUgbmV3IG1hY3JvLgotLS0KIE5FV1MgICAgICAgICAgICAgICAgICAgICAg
fCAgMTIgKysrCiBkb2MvYXV0b21ha2UudGV4aSAgICAgICAgIHwgIDU1ICsrKysrKysrKysr
LQogbTQvbG9jYWwubWsgICAgICAgICAgICAgICB8ICAgMSArCiBtNC9vcHRpb25hbC5tNCAg
ICAgICAgICAgIHwgMTM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKIHQvYW0tb3B0
aW9uYWwtYXV0b21ha2Uuc2ggfCAxODUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysKIHQvbGlzdC1vZi10ZXN0cy5tayAgICAgICAgfCAgIDEgKwogNiBmaWxlcyBj
aGFuZ2VkLCAzODYgaW5zZXJ0aW9ucygrKSwgMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl
IDEwMDY0NCBtNC9vcHRpb25hbC5tNAogY3JlYXRlIG1vZGUgMTAwNjQ0IHQvYW0tb3B0aW9u
YWwtYXV0b21ha2Uuc2gKCmRpZmYgLS1naXQgYS9ORVdTIGIvTkVXUwppbmRleCA3ODYyNTU5
Li5jM2Y2MjUzIDEwMDY0NAotLS0gYS9ORVdTCisrKyBiL05FV1MKQEAgLTEsNiArMSwxOCBA
QAogRm9yIHBsYW5uZWQgaW5jb21wYXRpYmlsaXRpZXMgaW4gYSBwb3NzaWJsZSBmdXR1cmUg
QXV0b21ha2UgMi4wIHJlbGVhc2UsCiBwbGVhc2Ugc2VlIE5FV1MtZnV0dXJlIGFuZCBzdGFy
dCBmb2xsb3dpbmcgdGhlIGFkdmljZSB0aGVyZSBub3cuCiAKK35+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn4KK05ldyBpbiAxLjE4LjIgKD8/Pz8tPz8tPz8pOgorCisqIE5ldyBmZWF0dXJlcyBh
ZGRlZAorCisgIC0gTmV3IGF1dG9jb25mIG1hY3JvIEFNX09QVElPTkFMX0FVVE9NQUtFLiAg
SXQgdGFrZXMgYSBsaXN0IG9mCisgICAgYGRpc3QtWFhYJyBvcHRpb24gbmFtZXMgKGRpc3Qt
YnppcDIsIGRpc3QtYnppcDMsIGRpc3QteHosCisgICAgZGlzdC1semlwLCBkaXN0LXpzdGQs
IGRpc3QtemlwLCBkaXN0LXNoYXIsIGRpc3QtdGFyWik7IGBtYWtlCisgICAgZGlzdCcgYnVp
bGRzIGVhY2ggYXJjaGl2ZSB3aGVuIGl0cyB0b29sIGlzIGF2YWlsYWJsZSBhbmQgc2tpcHMK
KyAgICBpdCBvdGhlcndpc2UsIHdpdGhvdXQgbWFraW5nIGBtYWtlIGRpc3QnIGZhaWwuICBU
aGlzIGlzIGZvcgorICAgIHN5c3RlbXMgdGhhdCBpbnRlbnRpb25hbGx5IGxhY2sgc29tZSBj
b21wcmVzc2lvbiB0b29scy4KKwogfn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+
fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogTmV3IGluIDEu
MTguMSAoMjAyNS0wNi0yNSk6CiAKZGlmZiAtLWdpdCBhL2RvYy9hdXRvbWFrZS50ZXhpIGIv
ZG9jL2F1dG9tYWtlLnRleGkKaW5kZXggZWVhY2VlNy4uYTA5OGU3ZSAxMDA2NDQKLS0tIGEv
ZG9jL2F1dG9tYWtlLnRleGkKKysrIGIvZG9jL2F1dG9tYWtlLnRleGkKQEAgLTQxMzcsNiAr
NDEzNyw1MSBAQCBvcHRpb24gKEBweHJlZntMaXN0IG9mIEF1dG9tYWtlIG9wdGlvbnN9KToK
IEFNX0lOSVRfQVVUT01BS0UoW25vLWRlZmluZSAuLi5dKQogQGVuZCBleGFtcGxlCiAKK0Bp
dGVtIEFNX09QVElPTkFMX0FVVE9NQUtFKFtAdmFye29wdGlvbnN9XSkKK0BhY2luZGV4IEFN
X09QVElPTkFMX0FVVE9NQUtFCitAY2luZGV4IE9wdGlvbmFsIEBjb2Rle2Rpc3QtfSBhcmNo
aXZlcworQGNvbW1lbnQgaHR0cHM6Ly9kZWJidWdzLmdudS5vcmcvY2dpL2J1Z3JlcG9ydC5j
Z2k/YnVnPTgxMDQwCitAdmFye29wdGlvbnN9IGlzIGEgd2hpdGVzcGFjZS1zZXBhcmF0ZWQg
bGlzdCBvZiBAY29kZXtkaXN0LX0gb3B0aW9uCituYW1lcywgdXNpbmcgdGhlIHNhbWUgc3Bl
bGxpbmdzIEBjb2Rle0FNX0lOSVRfQVVUT01BS0V9IGFjY2VwdHM6CitAb3B0aW9ue2Rpc3Qt
YnppcDJ9LCBAb3B0aW9ue2Rpc3QtYnppcDN9LCBAb3B0aW9ue2Rpc3QteHp9LAorQG9wdGlv
bntkaXN0LWx6aXB9LCBAb3B0aW9ue2Rpc3QtenN0ZH0sIEBvcHRpb257ZGlzdC16aXB9LAor
QG9wdGlvbntkaXN0LXNoYXJ9LCBhbmQgQG9wdGlvbntkaXN0LXRhclp9LiAgRm9yIGVhY2gs
IEBzYW1we21ha2UKK2Rpc3R9IGJ1aWxkcyB0aGUgbWF0Y2hpbmcgYXJjaGl2ZSB3aGVuIGl0
cyBjb21wcmVzc29yIG9yIGFyY2hpdmVyIGlzCithdmFpbGFibGUgYW5kIHNraXBzIGl0IG90
aGVyd2lzZSwgaW5jbHVkaW5nIHdoZW4gYSB0b29sIHByZXNlbnQgYXQKK0Bjb21tYW5ke2Nv
bmZpZ3VyZX0gdGltZSBpcyBnb25lIGJ5IEBzYW1we21ha2UgZGlzdH0gdGltZTsgYSBtaXNz
aW5nCitsaXN0ZWQgdG9vbCBkb2VzIG5vdCBtYWtlIEBzYW1we21ha2UgZGlzdH0gZmFpbC4g
IEFuIHVua25vd24KK0B2YXJ7b3B0aW9ufSBpcyByZXBvcnRlZCBhcyBhIEBjb2Rle3N5bnRh
eH0gd2FybmluZyBhbmQgaWdub3JlZC4KKworQGNpbmRleCBtaW5pbWFsIHN5c3RlbSBpbWFn
ZXMKK0BjaW5kZXggQ0kgaW1hZ2VzLCBtaW5pbWFsCitAY2luZGV4IGNvbnRhaW5lciBpbWFn
ZXMsIG1pbmltYWwKK0BjaW5kZXggY29tcHJlc3Npb24gdG9vbHMsIG1ha2luZyBvcHRpb25h
bAorVGhpcyBpcyBtZWFudCBmb3Igc3lzdGVtcyB0aGF0IGludGVudGlvbmFsbHkgbGFjayBz
b21lIGNvbXByZXNzaW9uCit0b29scywgc3VjaCBhcyBtaW5pbWFsIGNvbnRhaW5lciBvciBD
SSBpbWFnZXMsIHdoZXJlIGluc3RhbGxpbmcKK0Bjb21tYW5ke2J6aXAzfSwgQGNvbW1hbmR7
bHppcH0sIEBjb21tYW5ke3pzdGR9LCBldGMuQDogb25seSBzbyB0aGF0CitAc2FtcHttYWtl
IGRpc3RjaGVja30gc3VjY2VlZHMgaXMgdW5kZXNpcmFibGUuICBJdCBhdm9pZHMgb3ZlcnJp
ZGluZworQGNvZGV7RElTVF9UQVJHRVRTfSBvciBAY29kZXtESVNUX0FSQ0hJVkVTfSBieSBo
YW5kLgorCitUaGUgbWFjcm8gZG9lcyBub3QgcGFzcyB0aGUgb3B0aW9ucyB0byBAY29tbWFu
ZHthdXRvbWFrZX07IGl0IHVzZXMKK29ubHkgdGhlIEBjb2Rle2Rpc3RkaXJ9IHRhcmdldCBh
bmQgQGNvZGV7JChhbV9fdGFyKX0sIHByZXNlbnQgc2luY2UKK0F1dG9tYWtlIDEuMTAsIHNv
IGFuIG9sZGVyIEBjb21tYW5ke2F1dG9tYWtlfSB0aGF0IGRvZXMgbm90IHJlY29nbml6ZQor
YW4gb3B0aW9uIChzdWNoIGFzIEBvcHRpb257ZGlzdC1iemlwM30pIGlzIG5vdCBhIHByb2Js
ZW0uCisKK0BleGFtcGxlCitBTV9JTklUX0FVVE9NQUtFKFstV2FsbCBmb3JlaWduIGRpc3Qt
YnppcDIgZGlzdC14eiBkaXN0LXppcF0pCitBTV9PUFRJT05BTF9BVVRPTUFLRShbZGlzdC1i
emlwM10pCitAZW5kIGV4YW1wbGUKKworSGVyZSBAZmlsZXsudGFyLmd6fSwgQGZpbGV7LnRh
ci5iejJ9LCBAZmlsZXsudGFyLnh6fSwgYW5kIEBmaWxley56aXB9CithcmUgYWx3YXlzIGJ1
aWx0IChhbmQgQHNhbXB7bWFrZSBkaXN0fSBmYWlscyBpZiB0aGVpciB0b29scyBhcmUKK21p
c3NpbmcpLCB3aGlsZSBAZmlsZXsudGFyLmJ6M30gaXMgYnVpbHQgb25seSBpZiBAY29tbWFu
ZHtiemlwM30gaXMKK2luc3RhbGxlZC4KKworQSBnaXZlbiBAY29kZXtkaXN0LX0gb3B0aW9u
IHNob3VsZCBhcHBlYXIgaW4gQGNvZGV7QU1fSU5JVF9BVVRPTUFLRX0KK29yIEBjb2Rle0FN
X09QVElPTkFMX0FVVE9NQUtFfSwgbm90IGJvdGg7IGxpc3RpbmcgaXQgaW4KK0Bjb2Rle0FN
X0lOSVRfQVVUT01BS0V9IGFscmVhZHkgbWFrZXMgdGhhdCBmb3JtYXQgbWFuZGF0b3J5LiAg
VGhlCittYWNybyBtYXkgYmUgY2FsbGVkIG1vcmUgdGhhbiBvbmNlOyByZXBlYXRpbmcgYW4g
b3B0aW9uIGlzIGEgbm8tb3AuCisKIEBpdGVtIEFNX1BBVEhfTElTUERJUgogQGFjaW5kZXgg
QU1fUEFUSF9MSVNQRElSCiBAdmluZGV4IEVNQUNTCkBAIC05NDY4LDcgKzk1MTMsOCBAQCBt
YWtlIGl0IHVzZSBhIGRpZmZlcmVudCBvbmUsIHNldCB0aGUgQGVudntCWklQMn0gZW52aXJv
bm1lbnQgdmFyaWFibGUuCiBAdmluZGV4IEJaSVAzCiBHZW5lcmF0ZSBhIEBzYW1we2J6aXAz
fSB0YXIgYXJjaGl2ZSBvZiB0aGUgZGlzdHJpYnV0aW9uLiAgVW5saWtlIHRoZQogb3RoZXIg
Y29tcHJlc3Npb24gcHJvZ3JhbXMgaGVyZSwgQGNvbW1hbmR7YnppcDN9IGRvZXMgbm90IHJl
YWQgYW55Ci1lbnZpcm9ubWVudCB2YXJpYWJsZXMuCitlbnZpcm9ubWVudCB2YXJpYWJsZXMu
ICBUbyBidWlsZCB0aGlzIG9ubHkgd2hlbiBAY29tbWFuZHtiemlwM30gaXMKK3ByZXNlbnQs
IHNlZSBAY29kZXtBTV9PUFRJT05BTF9BVVRPTUFLRX0gKEBweHJlZntQdWJsaWMgTWFjcm9z
fSkuCiAKIEBpdGVtIEBjb2Rle2Rpc3QtbHppcH0KIEB0cmluZGV4IGRpc3QtbHppcApAQCAt
OTQ3OCw3ICs5NTI0LDkgQEAgR2VuZXJhdGUgYW4gQHNhbXB7bHppcH0gdGFyIGFyY2hpdmUg
b2YgdGhlIGRpc3RyaWJ1dGlvbi4KIEBjb21tYW5ke2x6aXB9IGFyY2hpdmVzIGFyZSB1c3Vh
bGx5IHNtYWxsZXIgdGhhbgogQGNvbW1hbmR7YnppcDJ9LWNvbXByZXNzZWQgYXJjaGl2ZXMu
ICBCeSBkZWZhdWx0LCB0aGlzIHJ1bGUgbWFrZXMKIEBzYW1we2x6aXB9IHVzZSBhIGNvbXBy
ZXNzaW9uIG9wdGlvbiBvZiBAb3B0aW9uey05fS4gIFRvIG1ha2UgaXQgdXNlIGEKLWRpZmZl
cmVudCBvbmUsIHNldCB0aGUgQGVudntMWklQX09QVH0gZW52aXJvbm1lbnQgdmFyaWFibGUu
CitkaWZmZXJlbnQgb25lLCBzZXQgdGhlIEBlbnZ7TFpJUF9PUFR9IGVudmlyb25tZW50IHZh
cmlhYmxlLiAgVG8gYnVpbGQKK3RoaXMgb25seSB3aGVuIEBjb21tYW5ke2x6aXB9IGlzIHBy
ZXNlbnQsIHNlZQorQGNvZGV7QU1fT1BUSU9OQUxfQVVUT01BS0V9IChAcHhyZWZ7UHVibGlj
IE1hY3Jvc30pLgogCiBAaXRlbSBAY29kZXtkaXN0LXh6fQogQHRyaW5kZXggZGlzdC14egpA
QCAtOTUxMCw3ICs5NTU4LDggQEAgZGVmYXVsdCBjb21wcmVzc2lvbiByYXRpbywgYnV0IHdp
dGggYSBwcm9ncmVzcyBpbmRpY2F0b3I6IEBzYW1we21ha2UKIGRpc3QtenN0ZCBaU1REX09Q
VD0tMTl2fS4gIEhvd2V2ZXIsIG5vdGUgdGhhdCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoCiBA
Y29tbWFuZHt6c3RkfSBpdHNlbGYsIHlvdSBtYXkgaW5zdGVhZCBzZXQgdGhlIEBlbnZ7WlNU
RF9DTEVWRUx9CiBlbnZpcm9ubWVudCB2YXJpYWJsZSwgaW4gd2hpY2ggY2FzZSwgYW55IEBl
bnZ7WlNURF9PUFR9IHNldHRpbmcgaXMKLWlnbm9yZWQuCitpZ25vcmVkLiAgVG8gYnVpbGQg
dGhpcyBvbmx5IHdoZW4gQGNvbW1hbmR7enN0ZH0gaXMgcHJlc2VudCwgc2VlCitAY29kZXtB
TV9PUFRJT05BTF9BVVRPTUFLRX0gKEBweHJlZntQdWJsaWMgTWFjcm9zfSkuCiAKIEBpdGVt
IEBjb2Rle2Rpc3Qtc2hhcn0KIEB0cmluZGV4IGRpc3Qtc2hhcgpkaWZmIC0tZ2l0IGEvbTQv
bG9jYWwubWsgYi9tNC9sb2NhbC5tawppbmRleCA1ZTk4MzBhLi42Yjc2ZmQyIDEwMDY0NAot
LS0gYS9tNC9sb2NhbC5taworKysgYi9tNC9sb2NhbC5tawpAQCAtNDMsNiArNDMsNyBAQCBk
aXN0X2F1dG9tYWtlX2FjX0RBVEEgPSBcCiAgICVEJS9taXNzaW5nLm00IFwKICAgJUQlL21r
ZGlycC5tNCBcCiAgICVEJS9vYnNvbGV0ZS5tNCBcCisgICVEJS9vcHRpb25hbC5tNCBcCiAg
ICVEJS9vcHRpb25zLm00IFwKICAgJUQlL3B5dGhvbi5tNCBcCiAgICVEJS9wcm9nLWNjLWMt
by5tNCBcCmRpZmYgLS1naXQgYS9tNC9vcHRpb25hbC5tNCBiL200L29wdGlvbmFsLm00Cm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkMGU5NmIKLS0tIC9kZXYvbnVs
bAorKysgYi9tNC9vcHRpb25hbC5tNApAQCAtMCwwICsxLDEzNSBAQAorIyMgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSotIEF1dG9j
b25mIC0qLQorIyMgQU1fT1BUSU9OQUxfQVVUT01BS0UgLS0gc2tpcCBgZGlzdC1YWFgnIGZv
cm1hdHMgd2hvc2UgdG9vbCBpcyBhYnNlbnQuCisKKyMgQ29weXJpZ2h0IChDKSAyMDI2IEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBz
b2Z0d2FyZTsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbgorIyBnaXZlcyB1bmxpbWl0
ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorIyB3aXRoIG9y
IHdpdGhvdXQgbW9kaWZpY2F0aW9ucywgYXMgbG9uZyBhcyB0aGlzIG5vdGljZSBpcyBwcmVz
ZXJ2ZWQuCisKKworIyBBTV9PUFRJT05BTF9BVVRPTUFLRShPUFRJT05TKQorIyAtLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBPUFRJT05TOiB3aGl0ZXNwYWNlLXNlcGFyYXRl
ZCBgZGlzdC1YWFgnIG5hbWVzIChBTV9JTklUX0FVVE9NQUtFCisjIHNwZWxsaW5ncykgZm9y
IGRpc3QtYnppcDIvYnppcDMveHovbHppcC96c3RkL3ppcC9zaGFyL3RhclouICBgbWFrZQor
IyBkaXN0JyBidWlsZHMgZWFjaCBhcmNoaXZlIHdoZW4gaXRzIHRvb2wgaXMgcHJlc2VudCBh
bmQgc2tpcHMgaXQKKyMgb3RoZXJ3aXNlLCB3aXRob3V0IGZhaWxpbmcuICBVbmtub3duIE9Q
VElPTiB3YXJucyBhdCBhdXRvcmVjb25mOyBhCisjIHRvb2wgYWJzZW50IGF0IGNvbmZpZ3Vy
ZSBhcHBlbmRzIG5vIHJ1bGU7IGEgdG9vbCBsb3N0IGFmdGVyd2FyZHMKKyMgZmFpbHMgdGhl
IHBpcGVsaW5lLCB3aGljaCB0aGUgcmVjaXBlIGNhdGNoZXMuICBTZWUgYnVnIzgxMDQwLgor
QUNfREVGVU4oW0FNX09QVElPTkFMX0FVVE9NQUtFXSwKK1ttNF9mb3JlYWNoX3coW19hbV9v
cHRfb10sIFskMV0sCisgICBbX0FNX09QVElPTkFMX0FVVE9NQUtFX09ORShfbTRfZGVmbihb
X2FtX29wdF9vXSkpXSlkbmwKK10pCisKKworIyBfQU1fT1BUSU9OQUxfQVVUT01BS0VfT05F
KE9QVCkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIERpc3BhdGNoIG9u
IE9QVDsgdW5yZWNvZ25pc2VkIE9QVCB3YXJucyBhbmQgaXMgaWdub3JlZC4KK0FDX0RFRlVO
KFtfQU1fT1BUSU9OQUxfQVVUT01BS0VfT05FXSwKK1ttNF9jYXNlKFskMV0sCisgIFtkaXN0
LWJ6aXAyXSwgW19BTV9PUFRJT05BTF9UQVIoW2J6aXAyXSwgW2J6aXAyXSwgW2J6Ml0sIFst
Y10pXSwKKyAgW2Rpc3QtYnppcDNdLCBbX0FNX09QVElPTkFMX1RBUihbYnppcDNdLCBbYnpp
cDNdLCBbYnozXSwgWy1jXSldLAorICBbZGlzdC14el0sICAgIFtfQU1fT1BUSU9OQUxfVEFS
KFt4el0sICAgIFt4el0sICAgIFt4el0sICBbLWNdKV0sCisgIFtkaXN0LWx6aXBdLCAgW19B
TV9PUFRJT05BTF9UQVIoW2x6aXBdLCAgW2x6aXBdLCAgW2x6XSwgIFstY10pXSwKKyAgW2Rp
c3QtenN0ZF0sICBbX0FNX09QVElPTkFMX1RBUihbenN0ZF0sICBbenN0ZF0sICBbenN0XSwg
Wy1jIC1xXSldLAorICBbZGlzdC10YXJaXSwgIFtfQU1fT1BUSU9OQUxfVEFSKFtjb21wcmVz
c10sIFtjb21wcmVzc10sIFtaXSwgWy1jXSldLAorICBbZGlzdC16aXBdLCAgIFtfQU1fT1BU
SU9OQUxfWklQKCldLAorICBbZGlzdC1zaGFyXSwgIFtfQU1fT1BUSU9OQUxfU0hBUigpXSwK
KyAgW200X3dhcm4oW3N5bnRheF0sCisgICAgIFthbS1vcHRpb25hbDogdW5rbm93biBvcHRp
b24gYCQxJywgaWdub3JpbmcgaXRdKV0pZG5sCitdKQorCisKKyMgX0FNX09QVElPTkFMX1JV
TEUoVEFHLCBWQVIsIFJFQ0lQRSwgQVJUSUZBQ1RTKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEFDX0NIRUNLX1BST0cgZm9yIFRBRywg
dGhlbiBvbmNlIGFwcGVuZCBSRUNJUEUgdG8gdGhlIHRvcCBNYWtlZmlsZQorIyB2aWEgQUNf
Q09ORklHX0NPTU1BTkRTIChzdXJ2aXZlcyBjb25maWcuc3RhdHVzIHJlcnVucykgaWZmIGNv
bmZpZ3VyZQorIyBmb3VuZCB0aGUgdG9vbC4gIEhvb2tlZCBpbnRvIGRpc3QvZGlzdC1hbGwg
YXMgYW4gZXh0cmEgcHJlcmVxdWlzaXRlLgorIyBBUlRJRkFDVFMgc3RheSBvdXQgb2YgJChE
SVNUX0FSQ0hJVkVTKSwgc28gZGlzdGNsZWFuY2hlY2sgbXVzdCByZW1vdmUKKyMgdGhlIGNv
cGllcyB0aGF0IHRoZSBpbi10cmVlIGBtYWtlIGRpc3QnIHJ1biBieSBgbWFrZSBkaXN0Y2hl
Y2snIGxlYXZlcy4KK0FDX0RFRlVOKFtfQU1fT1BUSU9OQUxfUlVMRV0sCitbbTRfaWZkZWYo
W19BTV9PUFRJT05BTF9ET05FXyQxXSwgW10sCisgW200X2RlZmluZShbX0FNX09QVElPTkFM
X0RPTkVfJDFdKWRubAorQUNfQ0hFQ0tfUFJPRyhbYW1fX29wdGlvbmFsXyQyXSwgWyQxXSwg
WyQxXSkKK0FDX1NVQlNUKFthbV9fb3B0aW9uYWxfJDJdKWRubAorQUNfQ09ORklHX0NPTU1B
TkRTKFthbS0tb3B0aW9uYWwtcnVsZS0kMV0sCitbYW1fX29wdGlvbmFsX21mPQorZm9yIGFt
X19vcHRpb25hbF9jYW5kIGluIE1ha2VmaWxlIEdOVW1ha2VmaWxlIG1ha2VmaWxlOyBkbwor
ICBpZiB0ZXN0IC1mICIkYW1fX29wdGlvbmFsX2NhbmQiOyB0aGVuCisgICAgYW1fX29wdGlv
bmFsX21mPSRhbV9fb3B0aW9uYWxfY2FuZAorICAgIGJyZWFrCisgIGZpCitkb25lCitpZiB0
ZXN0IC1uICIkYW1fX29wdGlvbmFsX21mIiAmJiB0ZXN0IC1uICIkYW1fX29wdGlvbmFsXyQy
IjsgdGhlbgorICBjYXQgPj4iJGFtX19vcHRpb25hbF9tZiIgPDwnX2FtX29wdF9ydWxlX2Vv
Zl8nCisKKyMgQXBwZW5kZWQgYnkgYW0tb3B0aW9uYWwgZm9yIGRpc3QtJDEuCitkaXN0IGRp
c3QtYWxsOiBhbS0tb3B0aW9uYWwtZGlzdC0kMQorZGlzdGNsZWFuY2hlY2s6IGFtLS1vcHRp
b25hbC1ybS0kMQorLlBIT05ZOiBhbS0tb3B0aW9uYWwtZGlzdC0kMSBhbS0tb3B0aW9uYWwt
cm0tJDEKKyQzCithbS0tb3B0aW9uYWwtcm0tJDE6CisJLXJtIC1mICQ0CitfYW1fb3B0X3J1
bGVfZW9mXworZmkKK10sCitbYW1fX29wdGlvbmFsXyQyPSIkYW1fX29wdGlvbmFsXyQyIgor
XSldKWRubAorXSkKKworCisjIF9BTV9PUFRJT05BTF9UQVIoVE9PTCwgVkFSLVRBRywgRVhU
LCBGTEFHUykKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQorIyBTaW5nbGUtdG9vbCB0YXIgcGlwZTsgVE9PTCBpcyBsYXN0LCBzbyBpdHMgZmFpbHVy
ZSBpcyB3aGF0J3MgY2F1Z2h0LgorQUNfREVGVU4oW19BTV9PUFRJT05BTF9UQVJdLAorW19B
TV9PUFRJT05BTF9SVUxFKFskMV0sIFskMl0sCitbYW0tLW9wdGlvbmFsLWRpc3QtJDE6IGRp
c3RkaXIKKwlAaWYgdGVzdCAtbiAiJChhbV9fb3B0aW9uYWxfJDIpIjsgdGhlbiBcCisJICB7
IHRhcmRpcj0kKGRpc3RkaXIpIFwKKwkgICAgJiYgJChhbV9fdGFyKSB8ICIkKGFtX19vcHRp
b25hbF8kMikiICQ0ID4gJChkaXN0ZGlyKS50YXIuJDM7IH0gXAorCSAgfHwgeyBybSAtZiAk
KGRpc3RkaXIpLnRhci4kMzsgXAorCSAgICAgICBlY2hvICJhbS1vcHRpb25hbDogZGlzdC0k
MSBmYWlsZWQ7IGFyY2hpdmUgbm90IGJ1aWx0IiA+JjI7IH07IFwKKwllbHNlIFwKKwkgIGVj
aG8gImFtLW9wdGlvbmFsOiAkMSB1bmF2YWlsYWJsZSwgc2tpcHBpbmcgJChkaXN0ZGlyKS50
YXIuJDMiID4mMjsgXAorCWZpOyBcCisJOl0sIFskKGRpc3RkaXIpLnRhci4kM10pZG5sCitd
KQorCisKKyMgX0FNX09QVElPTkFMX1pJUAorIyAtLS0tLS0tLS0tLS0tLS0tCitBQ19ERUZV
TihbX0FNX09QVElPTkFMX1pJUF0sCitbX0FNX09QVElPTkFMX1JVTEUoW3ppcF0sIFt6aXBd
LAorW2FtLS1vcHRpb25hbC1kaXN0LXppcDogZGlzdGRpcgorCUBpZiB0ZXN0IC1uICIkKGFt
X19vcHRpb25hbF96aXApIjsgdGhlbiBcCisJICBybSAtZiAkKGRpc3RkaXIpLnppcDsgXAor
CSAgeyAiJChhbV9fb3B0aW9uYWxfemlwKSIgLXJxICQoZGlzdGRpcikuemlwICQoZGlzdGRp
cik7IH0gXAorCSAgfHwgeyBybSAtZiAkKGRpc3RkaXIpLnppcDsgXAorCSAgICAgICBlY2hv
ICJhbS1vcHRpb25hbDogZGlzdC16aXAgZmFpbGVkOyBhcmNoaXZlIG5vdCBidWlsdCIgPiYy
OyB9OyBcCisJZWxzZSBcCisJICBlY2hvICJhbS1vcHRpb25hbDogemlwIHVuYXZhaWxhYmxl
LCBza2lwcGluZyAkKGRpc3RkaXIpLnppcCIgPiYyOyBcCisJZmk7IFwKKwk6XSwgWyQoZGlz
dGRpcikuemlwXSlkbmwKK10pCisKKworIyBfQU1fT1BUSU9OQUxfU0hBUgorIyAtLS0tLS0t
LS0tLS0tLS0tLQorIyBPbmx5IGBzaGFyJyBpcyBvcHRpb25hbCAoZ3ppcCBpcyBhIGhhcmQg
YXV0b21ha2UgcHJlcmVxKS4gIHNoYXIKKyMgd3JpdGVzIGFuIGludGVybWVkaWF0ZSBmaWxl
IGluc3RlYWQgb2YgcGlwaW5nIGludG8gZ3ppcDogcGlwZWQsIGd6aXAKKyMgd291bGQgc3Vj
Y2VlZCBvbiBlbXB0eSBpbnB1dCBhbmQgbGVhdmUgYSBib2d1cyAuc2hhci5neiB3aGVuIHNo
YXIKKyMgZmFpbGVkOyB0aGUgYCYmJyBjaGFpbiBjYXRjaGVzIHNoYXIncyBleGl0IGluc3Rl
YWQuCitBQ19ERUZVTihbX0FNX09QVElPTkFMX1NIQVJdLAorW19BTV9PUFRJT05BTF9SVUxF
KFtzaGFyXSwgW3NoYXJdLAorW2FtLS1vcHRpb25hbC1kaXN0LXNoYXI6IGRpc3RkaXIKKwlA
aWYgdGVzdCAtbiAiJChhbV9fb3B0aW9uYWxfc2hhcikiOyB0aGVuIFwKKwkgIHJtIC1mICQo
ZGlzdGRpcikuc2hhciAkKGRpc3RkaXIpLnNoYXIuZ3o7IFwKKwkgIHsgIiQoYW1fX29wdGlv
bmFsX3NoYXIpIiAkKGRpc3RkaXIpID4gJChkaXN0ZGlyKS5zaGFyIFwKKwkgICAgJiYgZXZh
bCBHWklQPSBnemlwICQoR1pJUF9FTlYpIC1mICQoZGlzdGRpcikuc2hhcjsgfSBcCisJICB8
fCB7IHJtIC1mICQoZGlzdGRpcikuc2hhciAkKGRpc3RkaXIpLnNoYXIuZ3o7IFwKKwkgICAg
ICAgZWNobyAiYW0tb3B0aW9uYWw6IGRpc3Qtc2hhciBmYWlsZWQ7IGFyY2hpdmUgbm90IGJ1
aWx0IiA+JjI7IH07IFwKKwllbHNlIFwKKwkgIGVjaG8gImFtLW9wdGlvbmFsOiBzaGFyIHVu
YXZhaWxhYmxlLCBza2lwcGluZyAkKGRpc3RkaXIpLnNoYXIuZ3oiID4mMjsgXAorCWZpOyBc
CisJOl0sIFskKGRpc3RkaXIpLnNoYXIgJChkaXN0ZGlyKS5zaGFyLmd6XSlkbmwKK10pCmRp
ZmYgLS1naXQgYS90L2FtLW9wdGlvbmFsLWF1dG9tYWtlLnNoIGIvdC9hbS1vcHRpb25hbC1h
dXRvbWFrZS5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDFkYzUz
Ci0tLSAvZGV2L251bGwKKysrIGIvdC9hbS1vcHRpb25hbC1hdXRvbWFrZS5zaApAQCAtMCww
ICsxLDE4NSBAQAorIyEgL2Jpbi9zaAorIyBDb3B5cmlnaHQgKEMpIDIwMjYgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u
IDIsIG9yIChhdCB5b3VyIG9wdGlvbikKKyMgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRo
aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg
aW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdp
dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHBzOi8vd3d3LmdudS5vcmcvbGlj
ZW5zZXMvPi4KKworIyBDaGVjayBBTV9PUFRJT05BTF9BVVRPTUFLRS4gIEZpdmUgc2NlbmFy
aW9zOgorIyAgKDEpIFRoZSB0b29sIGlzIG9uIFBBVEggYXQgY29uZmlndXJlIHRpbWUgLT4g
ZGlzdC1iemlwMyBwcm9kdWNlcworIyAgICAgICRkaXN0ZGlyLnRhci5iejMgYWxvbmdzaWRl
IHRoZSBhbHdheXMtYnVpbHQgJGRpc3RkaXIudGFyLmd6LgorIyAgKDIpIEFuIHVua25vd24g
b3B0aW9uIHByb2R1Y2VzIGFuIGF1dG9yZWNvbmYtdGltZSBgc3ludGF4JyB3YXJuaW5nCisj
ICAgICAgYnV0IGRvZXMgbm90IGJyZWFrIGNvbmZpZ3VyZSBvciBtYWtlIGRpc3QuCisjICAo
MykgVGhlIHRvb2wgaXMgbWlzc2luZyBhdCBjb25maWd1cmUgdGltZSAtPiBubyBleHRyYSBy
dWxlIGlzCisjICAgICAgYXBwZW5kZWQ7IGBtYWtlIGRpc3QnIHJ1bnMgY2xlYW5seSBhbmQg
ZG9lcyBub3QgcHJvZHVjZQorIyAgICAgICRkaXN0ZGlyLnRhci5iejMuCisjICAoNCkgVGhl
IHRvb2wgaXMgcHJlc2VudCBhdCBjb25maWd1cmUgdGltZSBidXQgZmFpbHMgd2hlbiBpbnZv
a2VkCisjICAgICAgYnkgYG1ha2UgZGlzdCcgLT4gdGhlIHJlY2lwZSBjbGVhbnMgdXAsIHBy
aW50cyBhIHdhcm5pbmcgdG8KKyMgICAgICBzdGRlcnIsIGBtYWtlIGRpc3QnIHN0aWxsIHN1
Y2NlZWRzLCBhbmQgbm8gJGRpc3RkaXIudGFyLmJ6MworIyAgICAgIGFwcGVhcnMuCisjICAo
NSkgZGlzdC1zaGFyIGFuZCBkaXN0LXRhclosIHRoZSB0d28gbm9uLXRhci1waXBlIGZvcm1h
dHMuCisKK3JlcXVpcmVkPSdiemlwMycKKy4gdGVzdC1pbml0LnNoCisKKzogIlRlc3QgMTog
YnppcDMgb24gUEFUSCBhdCBjb25maWd1cmUgdGltZS4iCisKK2NhdCA+IGNvbmZpZ3VyZS5h
YyA8PCdFTkQnCitBQ19JTklUKFthbS1vcHRpb25hbC1hdXRvbWFrZV0sIFsxLjBdKQorQU1f
SU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCitBTV9PUFRJT05BTF9BVVRPTUFLRShbZGlzdC1i
emlwM10pCitBQ19DT05GSUdfRklMRVMoW01ha2VmaWxlXSkKK0FDX09VVFBVVAorRU5ECis6
ID4gTWFrZWZpbGUuYW0KKworJEFDTE9DQUwKKyRBVVRPQ09ORgorJEFVVE9NQUtFIC0tYWRk
LW1pc3NpbmcKKy4vY29uZmlndXJlCiskTUFLRSBkaXN0Cit0ZXN0IC1zIGFtLW9wdGlvbmFs
LWF1dG9tYWtlLTEuMC50YXIuZ3oKK3Rlc3QgLXMgYW0tb3B0aW9uYWwtYXV0b21ha2UtMS4w
LnRhci5iejMKKyMgVGhlc2UgYXJjaGl2ZXMgYXJlIG5vdCBpbiAkKERJU1RfQVJDSElWRVMp
OyBkaXN0Y2hlY2sgbXVzdCBzdGlsbAorIyBwYXNzIChpdHMgaW4tdHJlZSBjb3BpZXMgZ2V0
IGNsZWFuZWQgYmVmb3JlIGRpc3RjbGVhbmNoZWNrKS4KKyRNQUtFIGRpc3RjaGVjawordGVz
dCAtcyBhbS1vcHRpb25hbC1hdXRvbWFrZS0xLjAudGFyLmJ6MworCitybSAtcmYgYXV0b200
dGUqLmNhY2hlIGFjbG9jYWwubTQgY29uZmlndXJlIE1ha2VmaWxlLmluIGluc3RhbGwtc2gg
XAorICAgICAgIG1pc3NpbmcgY29uZmlnLnN0YXR1cyBjb25maWcubG9nIE1ha2VmaWxlIFwK
KyAgICAgICBhbS1vcHRpb25hbC1hdXRvbWFrZS0xLjAgYW0tb3B0aW9uYWwtYXV0b21ha2Ut
MS4wLnRhci4qCisKKzogIlRlc3QgMjogVW5rbm93biBvcHRpb24gaXMgYSB3YXJuaW5nLCBu
b3QgYW4gZXJyb3IuIgorCitjYXQgPiBjb25maWd1cmUuYWMgPDwnRU5EJworQUNfSU5JVChb
YW0tb3B0aW9uYWwtYXV0b21ha2VdLCBbMS4wXSkKK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVp
Z25dKQorQU1fT1BUSU9OQUxfQVVUT01BS0UoW2Rpc3QtYmFuYW5hIGRpc3QtYnppcDNdKQor
QUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZV0pCitBQ19PVVRQVVQKK0VORAorOiA+IE1ha2Vm
aWxlLmFtCisKKyMgYWNsb2NhbC9hdXRvY29uZiBtdXN0IHN1Y2NlZWQuICBUaGUgYHN5bnRh
eCcgd2FybmluZyBpcyBlbWl0dGVkIGJ5CisjIG00X3dhcm4oKSBkdXJpbmcgbWFjcm8gZXhw
YW5zaW9uLCB3aGljaCBoYXBwZW5zIHdoZW4gYXV0b2NvbmYgcnVucworIyAoYWNsb2NhbCBv
bmx5IHNjYW5zKS4gIFdlIGRvbid0IHByb21vdGUgaXQgdG8gZXJyb3IgaGVyZTogQU1fSU5J
VCdzCisjIGRlZmF1bHQgd2FybmluZyBzZXQgaXMgcGxlbnR5LiAgQ2FwdHVyZSBhdXRvY29u
ZidzIHN0ZGVyciBhbmQKKyMgYXNzZXJ0IHRoZSB3YXJuaW5nIG1lbnRpb25zIHRoZSBvZmZl
bmRpbmcgdG9rZW4uCiskQUNMT0NBTAorJEFVVE9DT05GIC1Xbm8tZXJyb3IgMj5zdGRlcnIK
K2dyZXAgImRpc3QtYmFuYW5hIiBzdGRlcnIKKworJEFVVE9NQUtFIC0tYWRkLW1pc3NpbmcK
Ky4vY29uZmlndXJlCiskTUFLRSBkaXN0Cit0ZXN0IC1zIGFtLW9wdGlvbmFsLWF1dG9tYWtl
LTEuMC50YXIuYnozCisKK3JtIC1yZiBhdXRvbTR0ZSouY2FjaGUgYWNsb2NhbC5tNCBjb25m
aWd1cmUgTWFrZWZpbGUuaW4gaW5zdGFsbC1zaCBcCisgICAgICAgbWlzc2luZyBjb25maWcu
c3RhdHVzIGNvbmZpZy5sb2cgTWFrZWZpbGUgc3RkZXJyIFwKKyAgICAgICBhbS1vcHRpb25h
bC1hdXRvbWFrZS0xLjAgYW0tb3B0aW9uYWwtYXV0b21ha2UtMS4wLnRhci4qCisKKzogIlRl
c3QgMzogYnppcDMgbWlzc2luZyBhdCBjb25maWd1cmUgdGltZS4iCisKK2NhdCA+IGNvbmZp
Z3VyZS5hYyA8PCdFTkQnCitBQ19JTklUKFthbS1vcHRpb25hbC1hdXRvbWFrZV0sIFsxLjBd
KQorQU1fSU5JVF9BVVRPTUFLRShbZm9yZWlnbl0pCitBTV9PUFRJT05BTF9BVVRPTUFLRShb
ZGlzdC1iemlwM10pCitBQ19DT05GSUdfRklMRVMoW01ha2VmaWxlXSkKK0FDX09VVFBVVAor
RU5ECis6ID4gTWFrZWZpbGUuYW0KKworIyBNYWtlIEFDX0NIRUNLX1BST0cgc2VlIGJ6aXAz
IGFzIGFic2VudCB3aXRob3V0IHRvdWNoaW5nIFBBVEgsIGJ5CisjIHByZS1zZWVkaW5nIGl0
cyBjYWNoZSB2YXJpYWJsZSB0byB0aGUgZW1wdHkgc3RyaW5nLgorJEFDTE9DQUwKKyRBVVRP
Q09ORgorJEFVVE9NQUtFIC0tYWRkLW1pc3NpbmcKK2FjX2N2X3Byb2dfYW1fX29wdGlvbmFs
X2J6aXAzPSAuL2NvbmZpZ3VyZQorJE1BS0UgZGlzdAordGVzdCAtcyBhbS1vcHRpb25hbC1h
dXRvbWFrZS0xLjAudGFyLmd6Cit0ZXN0ICEgLWUgYW0tb3B0aW9uYWwtYXV0b21ha2UtMS4w
LnRhci5iejMKKworcm0gLXJmIGF1dG9tNHRlKi5jYWNoZSBhY2xvY2FsLm00IGNvbmZpZ3Vy
ZSBNYWtlZmlsZS5pbiBcCisgICAgICAgaW5zdGFsbC1zaCBtaXNzaW5nIGNvbmZpZy5zdGF0
dXMgY29uZmlnLmxvZyBNYWtlZmlsZSBcCisgICAgICAgYW0tb3B0aW9uYWwtYXV0b21ha2Ut
MS4wIGFtLW9wdGlvbmFsLWF1dG9tYWtlLTEuMC50YXIuKgorCis6ICJUZXN0IDQ6IGJ6aXAz
IHByZXNlbnQgYXQgY29uZmlndXJlLCB2YW5pc2hlZCBhdCBtYWtlIGRpc3QuIgorCitjYXQg
PiBjb25maWd1cmUuYWMgPDwnRU5EJworQUNfSU5JVChbYW0tb3B0aW9uYWwtYXV0b21ha2Vd
LCBbMS4wXSkKK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorQU1fT1BUSU9OQUxfQVVU
T01BS0UoW2Rpc3QtYnppcDNdKQorQUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZV0pCitBQ19P
VVRQVVQKK0VORAorOiA+IE1ha2VmaWxlLmFtCisKKyRBQ0xPQ0FMCiskQVVUT0NPTkYKKyRB
VVRPTUFLRSAtLWFkZC1taXNzaW5nCisuL2NvbmZpZ3VyZSAgIyBiemlwMyBJUyB2aXNpYmxl
IGhlcmUsIHNvIHRoZSBydWxlIGlzIGFwcGVuZGVkCisKKyMgU2hhZG93IGJ6aXAzIHdpdGgg
YSBzdHViIHRoYXQgZXhpdHMgbm9uLXplcm8uICBUaGUgcmVjaXBlIG11c3QKKyMgY2F0Y2gg
dGhlIGZhaWx1cmUsIGNsZWFuIHVwIHRoZSBwYXJ0aWFsIGFyY2hpdmUsIHByaW50IGEgd2Fy
bmluZywKKyMgbGVhdmUgdGhlIHJlc3Qgb2YgYG1ha2UgZGlzdCcgcnVubmluZywgYW5kIGV4
aXQgMC4KK21rZGlyIHN0dWItYmluCitjYXQgPiBzdHViLWJpbi9iemlwMyA8PCdFT1MnCisj
ISAvYmluL3NoCitleGl0IDEKK0VPUworY2htb2QgK3ggc3R1Yi1iaW4vYnppcDMKKworc2F2
ZWRfUEFUSD0kUEFUSAorUEFUSD1gcHdkYC9zdHViLWJpbjokUEFUSAorJE1BS0UgZGlzdCAy
PnN0ZGVycgorUEFUSD0kc2F2ZWRfUEFUSAorCit0ZXN0IC1zIGFtLW9wdGlvbmFsLWF1dG9t
YWtlLTEuMC50YXIuZ3oKK3Rlc3QgISAtZSBhbS1vcHRpb25hbC1hdXRvbWFrZS0xLjAudGFy
LmJ6MworZ3JlcCAnYW0tb3B0aW9uYWw6LipkaXN0LWJ6aXAzIGZhaWxlZCcgc3RkZXJyCisK
K3JtIC1yZiBzdHViLWJpbiBhdXRvbTR0ZSouY2FjaGUgYWNsb2NhbC5tNCBjb25maWd1cmUg
TWFrZWZpbGUuaW4gXAorICAgICAgIGluc3RhbGwtc2ggbWlzc2luZyBjb25maWcuc3RhdHVz
IGNvbmZpZy5sb2cgTWFrZWZpbGUgc3RkZXJyIFwKKyAgICAgICBhbS1vcHRpb25hbC1hdXRv
bWFrZS0xLjAgYW0tb3B0aW9uYWwtYXV0b21ha2UtMS4wLnRhci4qCisKKzogIlRlc3QgNTog
ZGlzdC1zaGFyIGFuZCBkaXN0LXRhclogYWxvbmdzaWRlIHRoZSB0YXItcGlwZSBmb3Jtcy4i
CisjIFRoZXNlIHR3byBmb3JtYXRzIGRvIG5vdCBmb2xsb3cgdGhlIHNpbmdsZS10b29sIHRh
ci1waXBlIHBhdHRlcm4sCisjIHNvIHRoZXkgZ2V0IHRoZWlyIG93biBleGVyY2lzZS4gIHNo
YXIgYW5kIGNvbXByZXNzIGFyZSByYXJlbHkKKyMgaW5zdGFsbGVkLCBzbyBvbmx5IGFzc2Vy
dCB0aGUgYXJjaGl2ZSB3aGVuIHRoZSB0b29sIGlzIGFjdHVhbGx5CisjIHByZXNlbnQ7IG90
aGVyd2lzZSB3ZSBqdXN0IGNoZWNrIHRoYXQgYG1ha2UgZGlzdCcgZGlkIG5vdCBmYWlsLgor
CitjYXQgPiBjb25maWd1cmUuYWMgPDwnRU5EJworQUNfSU5JVChbYW0tb3B0aW9uYWwtYXV0
b21ha2VdLCBbMS4wXSkKK0FNX0lOSVRfQVVUT01BS0UoW2ZvcmVpZ25dKQorQU1fT1BUSU9O
QUxfQVVUT01BS0UoW2Rpc3Qtc2hhciBkaXN0LXRhclpdKQorQUNfQ09ORklHX0ZJTEVTKFtN
YWtlZmlsZV0pCitBQ19PVVRQVVQKK0VORAorOiA+IE1ha2VmaWxlLmFtCisKKyRBQ0xPQ0FM
CiskQVVUT0NPTkYKKyRBVVRPTUFLRSAtLWFkZC1taXNzaW5nCisuL2NvbmZpZ3VyZQorJE1B
S0UgZGlzdAordGVzdCAtcyBhbS1vcHRpb25hbC1hdXRvbWFrZS0xLjAudGFyLmd6CisKK2lm
IChjb21tYW5kIC12IHNoYXIpID4vZGV2L251bGwgMj4mMTsgdGhlbgorICB0ZXN0IC1zIGFt
LW9wdGlvbmFsLWF1dG9tYWtlLTEuMC5zaGFyLmd6CisgICMgVGhlIGludGVybWVkaWF0ZSB1
bmNvbXByZXNzZWQgLnNoYXIgbXVzdCBub3QgYmUgbGVmdCBiZWhpbmQuCisgIHRlc3QgISAt
ZSBhbS1vcHRpb25hbC1hdXRvbWFrZS0xLjAuc2hhcgorZmkKK2lmIChjb21tYW5kIC12IGNv
bXByZXNzKSA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKyAgdGVzdCAtcyBhbS1vcHRpb25hbC1h
dXRvbWFrZS0xLjAudGFyLloKK2ZpCisKKzoKZGlmZiAtLWdpdCBhL3QvbGlzdC1vZi10ZXN0
cy5tayBiL3QvbGlzdC1vZi10ZXN0cy5tawppbmRleCA2N2JmN2I1Li5lMDQ0Njk4IDEwMDY0
NAotLS0gYS90L2xpc3Qtb2YtdGVzdHMubWsKKysrIGIvdC9saXN0LW9mLXRlc3RzLm1rCkBA
IC0xMzcsNiArMTM3LDcgQEAgdC9hbHBoYTIuc2ggXAogdC9hbWhlbGxvLWNmbGFncy5zaCBc
CiB0L2FtaGVsbG8tY3Jvc3MtY29tcGlsZS5zaCBcCiB0L2FtaGVsbG8tYmlucGtnLnNoIFwK
K3QvYW0tb3B0aW9uYWwtYXV0b21ha2Uuc2ggXAogdC9hbWluaXQtbW9yZWFyZ3MtZGVwcmVj
YXRpb24uc2ggXAogdC9hbWluaXQtdHJhaWxpbmctZG5sLWNvbW1lbnQtcHIxNjg0MS5zaCBc
CiB0L2FtYXNzaWduLnNoIFwKLS0gCjIuNTMuMAoK

--------------mcrTBNhm1luh5DU9XoYzdycm--