Date: Sat, 12 Apr 2014 02:10:00 GMT From: Corey Smith <corsmith@gmail.com> To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/187408: [PATCH] security/denyhosts: set USE_PYTHON=2 Message-ID: <201404120210.s3C2A0Cn022767@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/187408; it has been noted by GNATS. From: Corey Smith <corsmith@gmail.com> To: Shane Ambler <FreeBSD@shaneware.biz> Cc: "bug-followup@FreeBSD.org" <bug-followup@freebsd.org> Subject: Re: ports/187408: [PATCH] security/denyhosts: set USE_PYTHON=2 Date: Fri, 11 Apr 2014 22:00:55 -0400 --f46d0434394a214ba904f6ced211 Content-Type: multipart/alternative; boundary=f46d0434394a214ba604f6ced20f --f46d0434394a214ba604f6ced20f Content-Type: text/plain; charset=ISO-8859-1 Attached is the svn diff against ports revision 351057. There were three additional changes required but it does actually run under python3.4 now. This diff is against the current version of the port in HEAD and includes both of our changes. On Thu, Mar 13, 2014 at 3:01 AM, Shane Ambler <FreeBSD@shaneware.biz> wrote: > No it isn't. I did see that repo and a couple of others that have made > some changes since the last sourceforge release of denyhosts. > > I approached denyhosts from the ports tree using py3.3, making syntax > changes that are acceptable in both py3.3 and py2.7. What I see in > mruffalo/denyhosts is py2.7 code that uses 2to3 to support py3.x. > > So I have added support for py3.3 but have not incorporated any other > external bug fixes that may also be worth adding. > > I get the impression that denyhosts is neglected and a little > splintered. Probably time someone picks up the project and considers > consolidating the various changes made in different places. > --f46d0434394a214ba604f6ced20f Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Attached is the svn diff against ports revision 351057.=A0= There were three additional changes required but it does actually run unde= r python3.4 now.=A0 This diff is against the current version of the port in= HEAD and includes both of our changes.<br> </div><div class=3D"gmail_extra"><br><br><div class=3D"gmail_quote">On Thu,= Mar 13, 2014 at 3:01 AM, Shane Ambler <span dir=3D"ltr"><<a href=3D"mai= lto:FreeBSD@shaneware.biz" target=3D"_blank">FreeBSD@shaneware.biz</a>><= /span> wrote:<br> <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p= x #ccc solid;padding-left:1ex">No it isn't. I did see that repo and a c= ouple of others that have made<br> some changes since the last sourceforge release of denyhosts.<br> <br> I approached denyhosts from the ports tree using py3.3, making syntax<br> changes that are acceptable in both py3.3 and py2.7. What I see in<br> mruffalo/denyhosts is py2.7 code that uses 2to3 to support py3.x.<br> <br> So I have added support for py3.3 but have not incorporated any other<br> external bug fixes that may also be worth adding.<br> <br> I get the impression that denyhosts is neglected and a little<br> splintered. Probably time someone picks up the project and considers<br> consolidating the various changes made in different places.<br> </blockquote></div><br></div> --f46d0434394a214ba604f6ced20f-- --f46d0434394a214ba904f6ced211 Content-Type: text/x-patch; charset=US-ASCII; name="denyhosts-svn-351057.patch" Content-Disposition: attachment; filename="denyhosts-svn-351057.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_htw998ak0 SW5kZXg6IE1ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIE1ha2VmaWxlCShyZXZpc2lvbiAzNTEwNTcp CisrKyBNYWtlZmlsZQkod29ya2luZyBjb3B5KQpAQCAtMTMsNyArMTMsMTAgQEAKIAogTElDRU5T RT0JR1BMdjIKIAorTElDRU5TRT0JR1BMdjIKKwogVVNFX1BZVEhPTj0JeWVzCitQWVRIT05fUFkz S19QTElTVF9IQUNLPQl5ZXMKIFVTRV9QWURJU1RVVElMUz0JeWVzCiBQWURJU1RVVElMU19BVVRP UExJU1Q9CXllcwogCkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2FsbG93ZWRob3N0cy5w eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2FsbG93ZWRob3N0cy5weQko cmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fYWxsb3dlZGhvc3RzLnB5CSh3 b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNTIgQEAKKy0tLSBEZW55SG9zdHMvYWxsb3dlZGhvc3Rz LnB5Lm9yaWcJMjAxNC0wNC0xMSAyMTo0NDo0My43ODA0NDYzMzkgLTA0MDAKKysrKyBEZW55SG9z dHMvYWxsb3dlZGhvc3RzLnB5CTIwMTQtMDQtMTEgMjE6NDU6MTIuMzg4NDQ3MTA0IC0wNDAwCitA QCAtMSwxMSArMSwxMiBAQAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247 IAorIGltcG9ydCBvcworIGZyb20gc29ja2V0IGltcG9ydCBnZXRmcWRuLCBnZXRob3N0YnluYW1l CisgaW1wb3J0IGxvZ2dpbmcKKyAKKyAKKy1mcm9tIGNvbnN0YW50cyBpbXBvcnQgQUxMT1dFRF9I T1NUUywgQUxMT1dFRF9XQVJORURfSE9TVFMKKy1mcm9tIHJlZ2V4IGltcG9ydCBBTExPV0VEX1JF R0VYCistZnJvbSB1dGlsIGltcG9ydCBpc190cnVlCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRz IGltcG9ydCBBTExPV0VEX0hPU1RTLCBBTExPV0VEX1dBUk5FRF9IT1NUUworK2Zyb20gRGVueUhv c3RzLnJlZ2V4IGltcG9ydCBBTExPV0VEX1JFR0VYCisrZnJvbSBEZW55SG9zdHMudXRpbCBpbXBv cnQgaXNfdHJ1ZQorIAorIGRlYnVnID0gbG9nZ2luZy5nZXRMb2dnZXIoIkFsbG93ZWRIb3N0cyIp LmRlYnVnCisgCitAQCAtMjQsMTggKzI1LDE4IEBACisgICAgICAgICBkZWJ1ZygiZG9uZSBpbml0 aWFsaXppbmcgQWxsb3dlZEhvc3RzIikKKyAKKyAgICAgZGVmIF9fY29udGFpbnNfXyhzZWxmLCBp cF9hZGRyKToKKy0gICAgICAgIGlmIHNlbGYuYWxsb3dlZF9ob3N0cy5oYXNfa2V5KGlwX2FkZHIp OiByZXR1cm4gMQorKyAgICAgICAgaWYgaXBfYWRkciBpbiBzZWxmLmFsbG93ZWRfaG9zdHM6IHJl dHVybiAxCisgICAgICAgICBlbHNlOiByZXR1cm4gMAorIAorICAgICBkZWYgZHVtcChzZWxmKToK Ky0gICAgICAgIHByaW50ICJEdW1waW5nIEFsbG93ZWRIb3N0cyIKKy0gICAgICAgIHByaW50IHNl bGYuYWxsb3dlZF9ob3N0cy5rZXlzKCkKKysgICAgICAgIHByaW50KCJEdW1waW5nIEFsbG93ZWRI b3N0cyIpCisrICAgICAgICBwcmludChzZWxmLmFsbG93ZWRfaG9zdHMua2V5cygpKQorIAorICAg ICAgICAgCisgICAgIGRlZiBsb2FkX2hvc3RzKHNlbGYpOgorICAgICAgICAgdHJ5OgorICAgICAg ICAgICAgIGZwID0gb3BlbihzZWxmLmFsbG93ZWRfcGF0aCwgInIiKQorLSAgICAgICAgZXhjZXB0 IEV4Y2VwdGlvbiwgZToKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAg ICAgICBkZWJ1ZygiQ291bGQgbm90IG9wZW4gJXMgLSAlcyIsIHNlbGYuYWxsb3dlZF9wYXRoLCBz dHIoZSkpCisgICAgICAgICAgICAgcmV0dXJuCisgCitAQCAtMTE3LDggKzExOCw4IEBACisgICAg ICAgICAgICAgZm9yIGhvc3QgaW4gc2VsZi5uZXdfd2FybmVkX2hvc3RzOgorICAgICAgICAgICAg ICAgICBmcC53cml0ZSgiJXNcbiIgJSBob3N0KQorICAgICAgICAgICAgIGZwLmNsb3NlKCkKKy0g ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CistICAgICAgICAgICAgcHJpbnQgZQorKyAgICAg ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHByaW50KGUpCisgCisgCisg ICAgIGRlZiBjbGVhcl93YXJuZWRfaG9zdHMoc2VsZik6CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBm aWxlcy9wYXRjaC1EZW55SG9zdHNfX2FsbG93ZWRob3N0cy5weQpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBz dm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBwcm9wZXJ0eQpBZGRlZDogZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w LDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBm aWxlcy9wYXRjaC1EZW55SG9zdHNfX2NvdW50ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0 Y2gtRGVueUhvc3RzX19jb3VudGVyLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtRGVu eUhvc3RzX19jb3VudGVyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjEgQEAKKy0tLSAu L0RlbnlIb3N0cy9jb3VudGVyLnB5Lm9yaWcJMjAwNi0wMi0wOSAxMTo0NzoyNC4wMDAwMDAwMDAg KzEwMzAKKysrKyAuL0RlbnlIb3N0cy9jb3VudGVyLnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMDY4 MTg3MTkwICsxMDMwCitAQCAtMTQsNiArMTQsOSBAQAorIAorICAgICBkZWYgX19zdHJfXyhzZWxm KToKKyAgICAgICAgIHJldHVybiAiJWQ6JXMiICUgKHNlbGYuX19jb3VudCwgc2VsZi5fX2RhdGUp CisrICAgICAgICAKKysgICAgZGVmIF9faW50X18oc2VsZik6CisrICAgICAgICByZXR1cm4gc2Vs Zi5fX2NvdW50CisgCisgICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKKyAgICAgICAgIHJldHVybiAi Q291bnRSZWNvcmQgPCVkIC0gJXM+IiAlIChzZWxmLl9fY291bnQsIHNlbGYuX19kYXRlKQorQEAg LTMzLDcgKzM2LDcgQEAKKyAgICAgICAgIHNlbGYuX19jb3VudCA9IDAKKyAgICAgICAgIAorICAg ICBkZWYgYWdlX2NvdW50KHNlbGYsIGFnZSk6CistICAgICAgICBjdXRvZmYgPSBsb25nKHRpbWUu dGltZSgpKSAtIGFnZQorKyAgICAgICAgY3V0b2ZmID0gdGltZS50aW1lKCkgLSBhZ2UKKyAgICAg ICAgIGVwb2NoID0gdGltZS5ta3RpbWUodGltZS5zdHJwdGltZShzZWxmLl9fZGF0ZSkpCisgICAg ICAgICAjZGVidWcoImN1dG9mZiA6ICVkIiwgY3V0b2ZmKQorICAgICAgICAgI2RlYnVnKCJlcG9j aCAgOiAlZCIsIGVwb2NoKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhv c3RzX19jb3VudGVyLnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCww ICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVv bC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9w ZXJ0eQpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8g bmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19f ZGFlbW9uLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGFlbW9uLnB5 CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19kYWVtb24ucHkJKHdvcmtp bmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorLS0tIC4vRGVueUhvc3RzL2RhZW1vbi5weS5vcmln CTIwMDUtMTItMTcgMDk6MTU6MDAuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55SG9zdHMvZGFl bW9uLnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMTEwMTg1ODkwICsxMDMwCitAQCAtMzcsNyArMzcs NyBAQAorICAgICAgICMgdGhlIGNoaWxkIGdldHMgYSBuZXcgUElELCBtYWtpbmcgaXQgaW1wb3Nz aWJsZSBmb3IgaXRzIFBJRCB0byBlcXVhbCBpdHMKKyAgICAgICAjIFBHSUQuCisgICAgICAgcGlk ID0gb3MuZm9yaygpCistICAgZXhjZXB0IE9TRXJyb3IsIGU6CisrICAgZXhjZXB0IE9TRXJyb3Ig YXMgZToKKyAgICAgICByZXR1cm4oKGUuZXJybm8sIGUuc3RyZXJyb3IpKSAgICAgIyBFUlJPUiAo cmV0dXJuIGEgdHVwbGUpCisgCisgICAgaWYgKHBpZCA9PSAwKTogICAgICAgIyBUaGUgZmlyc3Qg Y2hpbGQuCitAQCAtNjIsNyArNjIsNyBAQAorICAgICAgICAgICMgZm9yayBndWFyYW50ZWVzIHRo YXQgdGhlIGNoaWxkIGlzIG5vIGxvbmdlciBhIHNlc3Npb24gbGVhZGVyLCB0aHVzCisgICAgICAg ICAgIyBwcmV2ZW50aW5nIHRoZSBkYWVtb24gZnJvbSBldmVyIGFjcXVpcmluZyBhIGNvbnRyb2xs aW5nIHRlcm1pbmFsLgorICAgICAgICAgIHBpZCA9IG9zLmZvcmsoKSAgICAgICAgIyBGb3JrIGEg c2Vjb25kIGNoaWxkLgorLSAgICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorKyAgICAgIGV4Y2VwdCBP U0Vycm9yIGFzIGU6CisgICAgICAgICAgcmV0dXJuKChlLmVycm5vLCBlLnN0cmVycm9yKSkgICMg RVJST1IgKHJldHVybiBhIHR1cGxlKQorIAorICAgICAgIGlmIChwaWQgPT0gMCk6ICAgICAgIyBU aGUgc2Vjb25kIGNoaWxkLgoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhv c3RzX19kYWVtb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsx ICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZi c2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw cm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19k ZW55X2hvc3RzLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueV9o b3N0cy5weQkocmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueV9ob3N0 cy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEyNyBAQAorLS0tIERlbnlIb3N0cy9kZW55 X2hvc3RzLnB5Lm9yaWcJMjAxNC0wNC0xMSAyMTo0NTowNy44Mjc0NDgwNDkgLTA0MDAKKysrKyBE ZW55SG9zdHMvZGVueV9ob3N0cy5weQkyMDE0LTA0LTExIDIxOjQ1OjIyLjIxMzQ0NDEzNSAtMDQw MAorQEAgLTEsMyArMSw0IEBACisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlv bgorIGltcG9ydCBvcywgc3lzCisgaW1wb3J0IHN0cmluZworIGltcG9ydCB0aW1lCitAQCAtMTYs MjMgKzE3LDIzIEBACisgZnJvbSBzdGF0IGltcG9ydCBTVF9TSVpFLCBTVF9JTk8KKyBpbXBvcnQg cmUKKyAKKy1mcm9tIHV0aWwgaW1wb3J0IGRpZSwgaXNfdHJ1ZSwgaXNfZmFsc2UsIHNlbmRfZW1h aWwKKy1mcm9tIGFsbG93ZWRob3N0cyBpbXBvcnQgQWxsb3dlZEhvc3RzCistZnJvbSBsb2dpbmF0 dGVtcHQgaW1wb3J0IExvZ2luQXR0ZW1wdAorLWZyb20gbG9ja2ZpbGUgaW1wb3J0IExvY2tGaWxl CistZnJvbSBmaWxldHJhY2tlciBpbXBvcnQgRmlsZVRyYWNrZXIKKy1mcm9tIHByZWZzIGltcG9y dCBQcmVmcworLWZyb20gcmVwb3J0IGltcG9ydCBSZXBvcnQKKy1mcm9tIHZlcnNpb24gaW1wb3J0 IFZFUlNJT04KKy1mcm9tIGNvbnN0YW50cyBpbXBvcnQgKgorLWZyb20gcmVnZXggaW1wb3J0ICoK Ky1mcm9tIGRhZW1vbiBpbXBvcnQgY3JlYXRlRGFlbW9uCistZnJvbSBkZW55ZmlsZXV0aWwgaW1w b3J0IFB1cmdlCistZnJvbSB1dGlsIGltcG9ydCBwYXJzZV9ob3N0CistZnJvbSB2ZXJzaW9uIGlt cG9ydCBWRVJTSU9OCistZnJvbSBzeW5jIGltcG9ydCBTeW5jCistZnJvbSByZXN0cmljdGVkIGlt cG9ydCBSZXN0cmljdGVkCistaW1wb3J0IHBsdWdpbgorK2Zyb20gRGVueUhvc3RzLnV0aWwgaW1w b3J0IGRpZSwgaXNfdHJ1ZSwgaXNfZmFsc2UsIHNlbmRfZW1haWwKKytmcm9tIERlbnlIb3N0cy5h bGxvd2VkaG9zdHMgaW1wb3J0IEFsbG93ZWRIb3N0cworK2Zyb20gRGVueUhvc3RzLmxvZ2luYXR0 ZW1wdCBpbXBvcnQgTG9naW5BdHRlbXB0CisrZnJvbSBEZW55SG9zdHMubG9ja2ZpbGUgaW1wb3J0 IExvY2tGaWxlCisrZnJvbSBEZW55SG9zdHMuZmlsZXRyYWNrZXIgaW1wb3J0IEZpbGVUcmFja2Vy CisrZnJvbSBEZW55SG9zdHMucHJlZnMgaW1wb3J0IFByZWZzCisrZnJvbSBEZW55SG9zdHMucmVw b3J0IGltcG9ydCBSZXBvcnQKKytmcm9tIERlbnlIb3N0cy52ZXJzaW9uIGltcG9ydCBWRVJTSU9O CisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCAqCisrZnJvbSBEZW55SG9zdHMucmVn ZXggaW1wb3J0ICoKKytmcm9tIERlbnlIb3N0cy5kYWVtb24gaW1wb3J0IGNyZWF0ZURhZW1vbgor K2Zyb20gRGVueUhvc3RzLmRlbnlmaWxldXRpbCBpbXBvcnQgUHVyZ2UKKytmcm9tIERlbnlIb3N0 cy51dGlsIGltcG9ydCBwYXJzZV9ob3N0CisrZnJvbSBEZW55SG9zdHMudmVyc2lvbiBpbXBvcnQg VkVSU0lPTgorK2Zyb20gRGVueUhvc3RzLnN5bmMgaW1wb3J0IFN5bmMKKytmcm9tIERlbnlIb3N0 cy5yZXN0cmljdGVkIGltcG9ydCBSZXN0cmljdGVkCisraW1wb3J0IERlbnlIb3N0cy5wbHVnaW4K KyAKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJkZW55aG9zdHMiKS5kZWJ1ZworIGluZm8g PSBsb2dnaW5nLmdldExvZ2dlcigiZGVueWhvc3RzIikuaW5mbworQEAgLTYyLDcgKzYzLDcgQEAK KyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBzZWxmLmZpbGVfdHJhY2tlciA9IEZpbGVUcmFj a2VyKHNlbGYuX19wcmVmcy5nZXQoJ1dPUktfRElSJyksCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBsb2dmaWxlKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlv biwgZToKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICBzZWxm Ll9fbG9ja19maWxlLnJlbW92ZSgpCisgICAgICAgICAgICAgZGllKCJDYW4ndCByZWFkOiAlcyIg JSBsb2dmaWxlLCBlKQorIAorQEAgLTIzOSw3ICsyNDAsNyBAQAorICAgICAgICAgICAgICAgICB0 cnk6CisgICAgICAgICAgICAgICAgICAgICBwdXJnZSA9IFB1cmdlKHNlbGYuX19wcmVmcywKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVyZ2VfdGltZSkKKy0gICAgICAgICAg ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2Vw dGlvbiBhcyBlOgorICAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy5nZXRMb2dnZXIoKS5leGNl cHRpb24oZSkKKyAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgIHNl bGYucHVyZ2VfY291bnRlciA9IDAKK0BAIC0yNjEsNyArMjYyLDcgQEAKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi5nZXRfZGVuaWVkX2hvc3RzKCkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi51cGRhdGVfaG9zdHNfZGVueShuZXdfaG9zdHMpCisgICAgICAgICAg ICAgICAgICAgICBzeW5jLnhtbHJwY19kaXNjb25uZWN0KCkKKy0gICAgICAgICAgICAgICAgZXhj ZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBl OgorICAgICAgICAgICAgICAgICAgICAgbG9nZ2luZy5nZXRMb2dnZXIoKS5leGNlcHRpb24oZSkK KyAgICAgICAgICAgICAgICAgICAgIHJhaXNlCisgICAgICAgICAgICAgICAgIHNlbGYuc3luY19j b3VudGVyID0gMAorQEAgLTMwMCw3ICszMDEsNyBAQAorIAorICAgICAgICAgI2luZm8oImtleXM6 ICVzIiwgc3RyKCBzZWxmLl9fZGVuaWVkX2hvc3RzLmtleXMoKSkpCisgICAgICAgICBuZXdfaG9z dHMgPSBbaG9zdCBmb3IgaG9zdCBpbiBkZW55X2hvc3RzCistICAgICAgICAgICAgICAgICAgICAg aWYgbm90IHNlbGYuX19kZW5pZWRfaG9zdHMuaGFzX2tleShob3N0KQorKyAgICAgICAgICAgICAg ICAgICAgIGlmIGhvc3Qgbm90IGluIHNlbGYuX19kZW5pZWRfaG9zdHMKKyAgICAgICAgICAgICAg ICAgICAgICBhbmQgaG9zdCBub3QgaW4gc2VsZi5fX2FsbG93ZWRfaG9zdHNdCisgICAgICAgICAK KyAgICAgICAgIGRlYnVnKCJuZXcgaG9zdHM6ICVzIiwgc3RyKG5ld19ob3N0cykpCitAQCAtMzA4 LDEwICszMDksMTAgQEAKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmcCA9IG9wZW4oc2Vs Zi5fX3ByZWZzLmdldCgnSE9TVFNfREVOWScpLCAiYSIpCisgICAgICAgICAgICAgc3RhdHVzID0g MQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKy0gICAgICAgICAgICBwcmludCBlCist ICAgICAgICAgICAgcHJpbnQgIlRoZXNlIGhvc3RzIHNob3VsZCBiZSBtYW51YWxseSBhZGRlZCB0 byIsCistICAgICAgICAgICAgcHJpbnQgc2VsZi5fX3ByZWZzLmdldCgnSE9TVFNfREVOWScpCisr ICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisrICAgICAgICAgICAgcHJpbnQoZSkKKysg ICAgICAgICAgICBwcmludCgiVGhlc2UgaG9zdHMgc2hvdWxkIGJlIG1hbnVhbGx5IGFkZGVkIHRv IikKKysgICAgICAgICAgICBwcmludChzZWxmLl9fcHJlZnMuZ2V0KCdIT1NUU19ERU5ZJykpCisg ICAgICAgICAgICAgZnAgPSBzeXMuc3Rkb3V0CisgICAgICAgICAgICAgc3RhdHVzID0gMAorIAor QEAgLTM1MSwxMiArMzUyLDEyIEBACisgICAgICAgICAgICAgICAgIGZwID0gZ3ppcC5vcGVuKGxv Z2ZpbGUpCisgICAgICAgICAgICAgZWxpZiBsb2dmaWxlLmVuZHN3aXRoKCIuYnoyIik6CisgICAg ICAgICAgICAgICAgIGlmIEhBU19CWjI6IGZwID0gYnoyLkJaMkZpbGUobG9nZmlsZSwgInIiKQor LSAgICAgICAgICAgICAgICBlbHNlOiAgICAgICByYWlzZSBFeGNlcHRpb24sICJDYW4gbm90IG9w ZW4gYnppcDIgZmlsZSAobWlzc2luZyBiejIgbW9kdWxlKSIKKysgICAgICAgICAgICAgICAgZWxz ZTogICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDYW4gbm90IG9wZW4gYnppcDIgZmlsZSAobWlzc2lu ZyBiejIgbW9kdWxlKSIpCisgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgZnAg PSBvcGVuKGxvZ2ZpbGUsICJyIikKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CistICAg ICAgICAgICAgcHJpbnQgIkNvdWxkIG5vdCBvcGVuIGxvZyBmaWxlOiAlcyIgJSBsb2dmaWxlCist ICAgICAgICAgICAgcHJpbnQgZQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAg ICAgICAgICAgIHByaW50KCJDb3VsZCBub3Qgb3BlbiBsb2cgZmlsZTogJXMiICUgbG9nZmlsZSkK KysgICAgICAgICAgICBwcmludChlKQorICAgICAgICAgICAgIHJldHVybiAtMQorIAorICAgICAg ICAgdHJ5OgorQEAgLTQ3NCw4ICs0NzUsOCBAQAorICAgICAgICAgICAgIGZvciBob3N0IGluIGhv c3RzOgorICAgICAgICAgICAgICAgICBmcC53cml0ZSgiJXNcbiIgJSBob3N0KQorICAgICAgICAg ICAgIGZwLmNsb3NlKCkKKy0gICAgICAgICAgICBvcy5jaG1vZChmaWxlbmFtZSwgMDY0NCkKKy0g ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisrICAgICAgICAgICAgb3MuY2htb2QoZmlsZW5h bWUsIDBvNjQ0KQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAg IGVycm9yKHN0cihlKSkKKyAKKyAgICAgZGVmIGdldF9yZWdleChzZWxmLCBuYW1lLCBkZWZhdWx0 KToKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueV9ob3N0 cy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQv cGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogZmJzZDpub2tleXdv cmRzCiMjIC0wLDAgKzEgIyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFk ZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQg ZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2RlbnlmaWxldXRp bC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2RlbnlmaWxldXRpbC5w eQkocmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fZGVueWZpbGV1dGlsLnB5 CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTA0IEBACistLS0gLi9EZW55SG9zdHMvZGVueWZp bGV1dGlsLnB5Lm9yaWcJMjAwNi0wNC0yMCAxMzoxNDo1OC4wMDAwMDAwMDAgKzA5MzAKKysrKyAu L0RlbnlIb3N0cy9kZW55ZmlsZXV0aWwucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4xMzMxODY0MjUg KzEwMzAKK0BAIC0xLDEzICsxLDE0IEBACisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9m dW5jdGlvbjsgCisgaW1wb3J0IG9zCisgaW1wb3J0IHNodXRpbAorIGltcG9ydCB0aW1lCisgaW1w b3J0IGxvZ2dpbmcKKyAKKy1mcm9tIGNvbnN0YW50cyBpbXBvcnQgREVOWV9ERUxJTUlURVIsIEVO VFJZX0RFTElNSVRFUgorLWZyb20gbG9naW5hdHRlbXB0IGltcG9ydCBBYnVzaXZlSG9zdHMKKy1m cm9tIHV0aWwgaW1wb3J0IHBhcnNlX2hvc3QKKy1pbXBvcnQgcGx1Z2luCistZnJvbSBwdXJnZWNv dW50ZXIgaW1wb3J0IFB1cmdlQ291bnRlcgorK2Zyb20gRGVueUhvc3RzLmNvbnN0YW50cyBpbXBv cnQgREVOWV9ERUxJTUlURVIsIEVOVFJZX0RFTElNSVRFUgorK2Zyb20gRGVueUhvc3RzLmxvZ2lu YXR0ZW1wdCBpbXBvcnQgQWJ1c2l2ZUhvc3RzCisrZnJvbSBEZW55SG9zdHMudXRpbCBpbXBvcnQg cGFyc2VfaG9zdAorK2ltcG9ydCBEZW55SG9zdHMucGx1Z2luCisrZnJvbSBEZW55SG9zdHMucHVy Z2Vjb3VudGVyIGltcG9ydCBQdXJnZUNvdW50ZXIKKyAKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9n Z2VyKCJkZW55ZmlsZXV0aWwiKS5kZWJ1ZworIGluZm8gPSBsb2dnaW5nLmdldExvZ2dlcigiZGVu eWZpbGV1dGlsIikuaW5mbworQEAgLTIyLDE1ICsyMywxNSBAQAorICAgICBkZWYgYmFja3VwKHNl bGYpOgorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHNodXRpbC5jb3B5KHNlbGYuZGVueV9m aWxlLCBzZWxmLmJhY2t1cF9maWxlKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysg ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICB3YXJuKHN0cihlKSkK KyAKKyAgICAgZGVmIHJlcGxhY2Uoc2VsZik6CisgICAgICAgICAjIG92ZXJ3cml0ZXMgZGVueV9m aWxlIHdpdGggY29udGVudHMgb2YgdGVtcF9maWxlCisgICAgICAgICB0cnk6CisgICAgICAgICAg ICAgb3MucmVuYW1lKHNlbGYudGVtcF9maWxlLCBzZWxmLmRlbnlfZmlsZSkKKy0gICAgICAgIGV4 Y2VwdCBFeGNlcHRpb24sIGU6CistICAgICAgICAgICAgcHJpbnQgZQorKyAgICAgICAgZXhjZXB0 IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHByaW50KGUpCisgCisgICAgIGRlZiByZW1v dmVfdGVtcChzZWxmKToKKyAgICAgICAgIHRyeToKK0BAIC0zOSw3ICs0MCw3IEBACisgICAgICAg ICAgICAgcGFzcworIAorICAgICBkZWYgY3JlYXRlX3RlbXAoc2VsZiwgZGF0YV9saXN0KToKKy0g ICAgICAgIHJhaXNlIEV4Y2VwdGlvbiwgIk5vdCBJbWxlbWVudGVkIgorKyAgICAgICAgcmFpc2Ug RXhjZXB0aW9uKCJOb3QgSW1sZW1lbnRlZCIpCisgCisgCisgICAgIGRlZiBnZXRfZGF0YShzZWxm KToKK0BAIC02NCw3ICs2NSw3IEBACisgICAgIGRlZiBjcmVhdGVfdGVtcChzZWxmLCBkYXRhKToK KyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmcCA9IG9wZW4oc2VsZi50ZW1wX2ZpbGUsICJ3 IikKKy0gICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMDY0NCkKKysgICAgICAg ICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMG82NDQpCisgICAgICAgICAgICAgZm9yIGxp bmUgaW4gZGF0YToKKyAgICAgICAgICAgICAgICAgaWYgbGluZS5maW5kKCIjIikgIT0gLTE6Cisg ICAgICAgICAgICAgICAgICAgICBmcC53cml0ZShsaW5lKQorQEAgLTgyLDcgKzgzLDcgQEAKKyAg ICAgICAgICAgICAgICAgZnAud3JpdGUoIiVzXG4iICUgbGluZSkKKyAKKyAgICAgICAgICAgICBm cC5jbG9zZSgpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0 IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGUKKyAgICAgICAgIAorIAorQEAg LTEyMSw3ICsxMjIsNyBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGVudHJ5KSkKKyAgICAgICAgICAgICAgICAgZnAud3JpdGUoIiVzXG4iICUgZW50cnkpCisgICAg ICAgICAgICAgZnAuY2xvc2UoKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAg ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICByYWlzZSBlCisgCisgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjICAgICAgICAKK0BAIC0xNjUsNyArMTY2LDcgQEAKKyAgICAg ICAgICAgICAKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBmcCA9IG9wZW4oc2VsZi50ZW1w X2ZpbGUsICJ3IikKKy0gICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMDY0NCkK KysgICAgICAgICAgICBvcy5jaG1vZChzZWxmLnRlbXBfZmlsZSwgMG82NDQpCisgICAgICAgICAg ICAgb2Zmc2V0ID0gMAorICAgICAgICAgICAgIG51bV9saW5lcyA9IGxlbihkYXRhKQorICAgICAg ICAgICAgIHdoaWxlIG9mZnNldCA8IG51bV9saW5lczoKK0BAIC0xODAsNyArMTgxLDcgQEAKKyAg ICAgICAgICAgICAgICAgICAgICAgICByZXN0ID0gbGluZS5sc3RyaXAoREVOWV9ERUxJTUlURVIp CisgICAgICAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wLCBob3N0X3ZlcmlmeSA9IHJlc3Qu c3BsaXQoRU5UUllfREVMSU1JVEVSKQorICAgICAgICAgICAgICAgICAgICAgICAgIHRtID0gdGlt ZS5zdHJwdGltZSh0aW1lc3RhbXApCistICAgICAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0 aW9uLCBlOgorKyAgICAgICAgICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAg ICAgICAgICAgICAgICAgICAgICAgIHdhcm4oIlBhcnNlIGVycm9yIC0tIElnbm9ybmluZyB0aW1l c3RhbXA6ICVzIGZvcjogJXMiLCB0aW1lc3RhbXAsIGxpbmUpCisgICAgICAgICAgICAgICAgICAg ICAgICAgd2FybigiZXhjZXB0aW9uOiAlcyIsIHN0cihlKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAjIGlnbm9yaW5nIGJhZCB0aW1lIHN0cmluZworQEAgLTIxNCw3ICsyMTUsNyBAQAorICAg ICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlICAgICAgICAgICAgICAgICAgICAKKyAKKyAg ICAgICAgICAgICBmcC5jbG9zZSgpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAg ICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGUKKyAgICAg ICAgIHJldHVybiBwdXJnZWRfaG9zdHMKKyAgICAgCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBmaWxl cy9wYXRjaC1EZW55SG9zdHNfX2RlbnlmaWxldXRpbC5weQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBmYnNk Om5va2V5d29yZHMKIyMgLTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv cGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAj IwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxl cy9wYXRjaC1EZW55SG9zdHNfX2ZpbGV0cmFja2VyLnB5Cj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3Bh dGNoLURlbnlIb3N0c19fZmlsZXRyYWNrZXIucHkJKHJldmlzaW9uIDApCisrKyBmaWxlcy9wYXRj aC1EZW55SG9zdHNfX2ZpbGV0cmFja2VyLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNjIg QEAKKy0tLSAuL0RlbnlIb3N0cy9maWxldHJhY2tlci5weS5vcmlnCTIwMDUtMTItMTcgMDk6MTU6 MDEuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55SG9zdHMvZmlsZXRyYWNrZXIucHkJMjAxNC0w My0xMSAwMDo1ODowOC4xMzUxODYyNzIgKzEwMzAKK0BAIC0xLDYgKzEsNyBAQAorK2Zyb20gX19m dXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247IAorIGltcG9ydCBvcworIGltcG9ydCBsb2dn aW5nCistZnJvbSBjb25zdGFudHMgaW1wb3J0IFNFQ1VSRV9MT0dfT0ZGU0VUCisrZnJvbSBEZW55 SG9zdHMuY29uc3RhbnRzIGltcG9ydCBTRUNVUkVfTE9HX09GRlNFVAorIAorIGRlYnVnID0gbG9n Z2luZy5nZXRMb2dnZXIoImZpbGV0cmFja2VyIikuZGVidWcKKyAKK0BAIC0xNSw3ICsxNiw3IEBA CisgICAgICAgICBwYXRoID0gb3MucGF0aC5qb2luKHNlbGYud29ya19kaXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNFQ1VSRV9MT0dfT0ZGU0VUKQorICAgICAgICAgZmlyc3RfbGlu ZSA9ICIiCistICAgICAgICBvZmZzZXQgPSAwTAorKyAgICAgICAgb2Zmc2V0ID0gMAorICAgICAg ICAgdHJ5OgorICAgICAgICAgICAgIGZwID0gb3BlbihwYXRoLCAiciIpCisgICAgICAgICAgICAg Zmlyc3RfbGluZSA9IGZwLnJlYWRsaW5lKClbOi0xXQorQEAgLTMyLDEzICszMywxMyBAQAorIAor ICAgICBkZWYgX19nZXRfY3VycmVudF9vZmZzZXQoc2VsZik6CisgICAgICAgICBmaXJzdF9saW5l ID0gIiIKKy0gICAgICAgIG9mZnNldCA9IDBMCisrICAgICAgICBvZmZzZXQgPSAwCisgICAgICAg ICB0cnk6CisgICAgICAgICAgICAgZnAgPSBvcGVuKHNlbGYubG9nZmlsZSwgInIiKQorICAgICAg ICAgICAgIGZpcnN0X2xpbmUgPSBmcC5yZWFkbGluZSgpWzotMV0KKyAgICAgICAgICAgICBmcC5z ZWVrKDAsIDIpCisgICAgICAgICAgICAgb2Zmc2V0ID0gZnAudGVsbCgpCistICAgICAgICBleGNl cHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAg ICAgICAgIHJhaXNlIGUKKyAKKyAgICAgICAgIGRlYnVnKCJfX2dldF9jdXJyZW50X29mZnNldCgp OiIpCitAQCAtNTIsNyArNTMsNyBAQAorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIGZwID0g b3BlbihzZWxmLmxvZ2ZpbGUsICJyIikKKyAgICAgICAgICAgICBmaXJzdF9saW5lID0gZnAucmVh ZGxpbmUoKVs6LTFdCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhj ZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIHJhaXNlIGUKKyAgICAgICAgIAorICAg ICAgICAgc2VsZi5fX2ZpcnN0X2xpbmUgPSBmaXJzdF9saW5lCitAQCAtNjQsNyArNjUsNyBAQAor IAorICAgICAgICAgaWYgbGFzdF9saW5lICE9IHNlbGYuX19maXJzdF9saW5lOgorICAgICAgICAg ICAgICMgbG9nIGZpbGUgd2FzIHJvdGF0ZWQsIHN0YXJ0IGZyb20gYmVnaW5uaW5nCistICAgICAg ICAgICAgb2Zmc2V0ID0gMEwKKysgICAgICAgICAgICBvZmZzZXQgPSAwCisgICAgICAgICBlbGlm IHNlbGYuX19vZmZzZXQgPiBsYXN0X29mZnNldDoKKyAgICAgICAgICAgICAjIG5ldyBsaW5lcyBl eGlzdCBpbiBsb2cgZmlsZQorICAgICAgICAgICAgIG9mZnNldCA9IGxhc3Rfb2Zmc2V0CitAQCAt ODcsNiArODgsNiBAQAorICAgICAgICAgICAgIGZwLndyaXRlKCIlbGRcbiIgJSBvZmZzZXQpCisg ICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgZXhjZXB0OgorLSAgICAgICAgICAgIHBy aW50ICJDb3VsZCBub3Qgc2F2ZSBsb2dmaWxlIG9mZnNldCB0bzogJXMiICUgcGF0aAorKyAgICAg ICAgICAgIHByaW50KCJDb3VsZCBub3Qgc2F2ZSBsb2dmaWxlIG9mZnNldCB0bzogJXMiICUgcGF0 aCkKKyAKKyAgICAgICAgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhv c3RzX19maWxldHJhY2tlci5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0w LDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBz dm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBwcm9wZXJ0eQpBZGRlZDogZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9z dHNfX2xvY2tmaWxlLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fbG9j a2ZpbGUucHkJKHJldmlzaW9uIDApCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2xvY2tmaWxl LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzQgQEAKKy0tLSBEZW55SG9zdHMvbG9ja2Zp bGUucHkub3JpZwkyMDE0LTA0LTExIDIxOjQ0OjU3LjY5OTQ1Mjk5NCAtMDQwMAorKysrIERlbnlI b3N0cy9sb2NrZmlsZS5weQkyMDE0LTA0LTExIDIxOjQ1OjE2Ljg4MzQ0NjUzMyAtMDQwMAorQEAg LTEsNSArMSw1IEBACisgaW1wb3J0IG9zCistZnJvbSB1dGlsIGltcG9ydCBkaWUKKytmcm9tIERl bnlIb3N0cy51dGlsIGltcG9ydCBkaWUKKyAKKyBjbGFzcyBMb2NrRmlsZToKKyAgICAgZGVmIF9f aW5pdF9fKHNlbGYsIGxvY2twYXRoKToKK0BAIC0yOCwxMyArMjgsMTMgQEAKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvcy5PX1RSVU5DIHwgICMgdHJ1bmNhdGUgaXQsIGlmIGl0IGV4 aXN0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9zLk9fV1JPTkxZIHwgIyB3cml0 ZS1vbmx5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3MuT19FWENMLCAgICAjIGV4 Y2x1c2l2ZSBhY2Nlc3MKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwNjQ0KSAgICAg ICAgICMgZmlsZSBtb2RlCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMG82NDQpICAg ICAgICAgIyBmaWxlIG1vZGUKKyAKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisrICAg ICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgcGlkID0gc2VsZi5nZXRf cGlkKCkKKyAgICAgICAgICAgICBkaWUoIkRlbnlIb3N0cyBjb3VsZCBub3Qgb2J0YWluIGxvY2sg KHBpZDogJXMpIiAlIHBpZCwgZSkKKyAgICAgICAgICAgICAKKy0gICAgICAgIG9zLndyaXRlKHNl bGYuZmQsICIlc1xuIiAlIG9zLmdldHBpZCgpKQorKyAgICAgICAgb3Mud3JpdGUoc2VsZi5mZCwg Ynl0ZXMoIiVzXG4iICUgb3MuZ2V0cGlkKCksJ2FzY2lpJykpCisgICAgICAgICBvcy5mc3luYyhz ZWxmLmZkKQorIAorIAorQEAgLTQ3LDYgKzQ3LDYgQEAKKyAgICAgICAgIHNlbGYuZmQgPSBOb25l CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgb3MudW5saW5rKHNlbGYubG9ja3BhdGgpCist ICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh cyBlOgorICAgICAgICAgICAgIGlmIGRpZV86CisgICAgICAgICAgICAgICAgIGRpZSgiRXJyb3Ig ZGVsZXRpbmcgRGVueUhvc3RzIGxvY2sgZmlsZTogJXMiICUgc2VsZi5sb2NrcGF0aCwgZSkKClBy b3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fbG9ja2ZpbGUucHkKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwg Tm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAt MCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3Zu OmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw cm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19sb2dpbmF0dGVtcHQucHkKPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQotLS0gZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19sb2dpbmF0dGVtcHQucHkJKHJldmlz aW9uIDApCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX2xvZ2luYXR0ZW1wdC5weQkod29ya2lu ZyBjb3B5KQpAQCAtMCwwICsxLDcxIEBACistLS0gLi9EZW55SG9zdHMvbG9naW5hdHRlbXB0LnB5 Lm9yaWcJMjAwNi0wNS0yMSAxMDoyODo1Ni4wMDAwMDAwMDAgKzA5MzAKKysrKyAuL0RlbnlIb3N0 cy9sb2dpbmF0dGVtcHQucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4xNjYxODYwNDUgKzEwMzAKK0BA IC0xLDYgKzEsNyBAQAorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247IAor IGltcG9ydCBvcworIGltcG9ydCBsb2dnaW5nCistZnJvbSB1dGlsIGltcG9ydCBpc190cnVlCisr ZnJvbSBEZW55SG9zdHMudXRpbCBpbXBvcnQgaXNfdHJ1ZQorIAorIHRyeToKKyAgICAgc2V0ID0g c2V0CitAQCAtOCw4ICs5LDggQEAKKyAgICAgZnJvbSBzZXRzIGltcG9ydCBTZXQKKyAgICAgc2V0 ID0gU2V0CisgCistZnJvbSBjb3VudGVyIGltcG9ydCBDb3VudGVyLCBDb3VudGVyUmVjb3JkCist ZnJvbSBjb25zdGFudHMgaW1wb3J0ICoKKytmcm9tIERlbnlIb3N0cy5jb3VudGVyIGltcG9ydCBD b3VudGVyLCBDb3VudGVyUmVjb3JkCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCAq CisgCisgZGVidWcgPSBsb2dnaW5nLmdldExvZ2dlcigibG9naW5hdHRlbXB0IikuZGVidWcKKyBp bmZvID0gbG9nZ2luZy5nZXRMb2dnZXIoImxvZ2luYXR0ZW1wdCIpLmluZm8KK0BAIC03NSw3ICs3 Niw3IEBACisgICAgICAgICAgICAgc2VsZi5fX2FidXNpdmVfaG9zdHNfaW52YWxpZFtob3N0XS5y ZXNldF9jb3VudCgpCisgCisgCistICAgICAgICBpZiBzdWNjZXNzIGFuZCBzZWxmLl9fYWJ1c2l2 ZV9ob3N0c19pbnZhbGlkLmdldChob3N0LCAwKSA+IHNlbGYuX19kZW55X3RocmVzaG9sZF9pbnZh bGlkOgorKyAgICAgICAgaWYgc3VjY2VzcyBhbmQgaW50KHNlbGYuX19hYnVzaXZlX2hvc3RzX2lu dmFsaWQuZ2V0KGhvc3QsIDApKSA+IHNlbGYuX19kZW55X3RocmVzaG9sZF9pbnZhbGlkOgorICAg ICAgICAgICAgIG51bV9mYWlsdXJlcyA9IHNlbGYuX192YWxpZF91c2Vyc19hbmRfaG9zdHMuZ2V0 KHVzZXJfaG9zdF9rZXksIDApCisgICAgICAgICAgICAgc2VsZi5fX3N1c3BpY2lvdXNfbG9naW5z W3VzZXJfaG9zdF9rZXldICs9IDEKKyAgICAgICAgICAgICBpZiBzZWxmLl9fc3VzcGljaW91c19h bHdheXMgb3IgaG9zdCBub3QgaW4gc2VsZi5fX2FsbG93ZWRfaG9zdHM6CitAQCAtMTY5LDE0ICsx NzAsMTQgQEAKKyAKKyAgICAgICAgICAgICAgICAgICAgIHN0YXRzW25hbWVdID0gQ291bnRlclJl Y29yZChpbnQoY291bnQpLCBkYXRlKQorICAgICAgICAgICAgICAgICAgICAgI2RlYnVnKCJzdGF0 c1slc10gPSAlcyIsIG5hbWUsIHN0YXRzW25hbWVdKQorLSAgICAgICAgICAgICAgICBleGNlcHQg RXhjZXB0aW9uLCBlOgorKyAgICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6Cisg ICAgICAgICAgICAgICAgICAgICAjI2RlYnVnKGUpCisgICAgICAgICAgICAgICAgICAgICBwYXNz ICAgICAgICAgICAgICAgIAorLSAgICAgICAgZXhjZXB0IElPRXJyb3IsIGU6CisrICAgICAgICBl eGNlcHQgSU9FcnJvciBhcyBlOgorICAgICAgICAgICAgIGlmIGUuZXJybm8gPT0gMjogZGVidWco IiVzIGRvZXMgbm90IGV4aXN0IiwgZm5hbWUpCistICAgICAgICAgICAgZWxzZTogcHJpbnQgZQor LSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKy0gICAgICAgICAgICBpZiBub3Qgc2VsZi5f X2ZpcnN0X3RpbWU6IHByaW50IGUKKysgICAgICAgICAgICBlbHNlOiBwcmludChlKQorKyAgICAg ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIGlmIG5vdCBzZWxmLl9fZmly c3RfdGltZTogcHJpbnQoZSkKKyAgICAgICAgICAgICAKKyAgICAgICAgIHJldHVybiBzdGF0cwor IAorQEAgLTI0OCw4ICsyNDksOCBAQAorICAgICAgICAgCisgICAgICAgICB0cnk6CisgICAgICAg ICAgICAgZnAgPSBvcGVuKHBhdGgsICJ3IikKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6 CistICAgICAgICAgICAgcHJpbnQgZQorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgor KyAgICAgICAgICAgIHByaW50KGUpCisgICAgICAgICAgICAgcmV0dXJuCisgCisgICAgICAgICBp ZiBub3Qgc3RhdHM6CitAQCAtMjU3LDcgKzI1OCw3IEBACisgICAgICAgICAgICAgZnAuY2xvc2Uo KQorICAgICAgICAgICAgIHJldHVybgorICAKKy0gICAgICAgIGtleXMgPSBzdGF0cy5rZXlzKCkK KysgICAgICAgIGtleXMgPSBsaXN0KHN0YXRzLmtleXMoKSkKKyAgICAgICAgIGtleXMuc29ydCgp CisgCisgICAgICAgICBmb3Iga2V5IGluIGtleXM6CgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBmaWxl cy9wYXRjaC1EZW55SG9zdHNfX2xvZ2luYXR0ZW1wdC5weQpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBmYnNk Om5va2V5d29yZHMKIyMgLTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv cGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3 bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAj IwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxl cy9wYXRjaC1EZW55SG9zdHNfX29sZC1kYWVtb24ucHkKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0 Y2gtRGVueUhvc3RzX19vbGQtZGFlbW9uLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gt RGVueUhvc3RzX19vbGQtZGFlbW9uLnB5CSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjAgQEAK Ky0tLSAuL0RlbnlIb3N0cy9vbGQtZGFlbW9uLnB5Lm9yaWcJMjAwNS0xMi0xNyAwOToxNTowMC4w MDAwMDAwMDAgKzEwMzAKKysrKyAuL0RlbnlIb3N0cy9vbGQtZGFlbW9uLnB5CTIwMTQtMDMtMTEg MDA6NTg6MDguMTY5MTg3NDE3ICsxMDMwCitAQCAtMzcsNyArMzcsNyBAQAorICAgICAgICMgdGhl IGNoaWxkIGdldHMgYSBuZXcgUElELCBtYWtpbmcgaXQgaW1wb3NzaWJsZSBmb3IgaXRzIFBJRCB0 byBlcXVhbCBpdHMKKyAgICAgICAjIFBHSUQuCisgICAgICAgcGlkID0gb3MuZm9yaygpCistICAg ZXhjZXB0IE9TRXJyb3IsIGU6CisrICAgZXhjZXB0IE9TRXJyb3IgYXMgZToKKyAgICAgICByZXR1 cm4oKGUuZXJybm8sIGUuc3RyZXJyb3IpKSAgICAgIyBFUlJPUiAocmV0dXJuIGEgdHVwbGUpCisg CisgICAgaWYgKHBpZCA9PSAwKTogICAgICAgIyBUaGUgZmlyc3QgY2hpbGQuCitAQCAtNjIsNyAr NjIsNyBAQAorICAgICAgICAgICMgZm9yayBndWFyYW50ZWVzIHRoYXQgdGhlIGNoaWxkIGlzIG5v IGxvbmdlciBhIHNlc3Npb24gbGVhZGVyLCB0aHVzCisgICAgICAgICAgIyBwcmV2ZW50aW5nIHRo ZSBkYWVtb24gZnJvbSBldmVyIGFjcXVpcmluZyBhIGNvbnRyb2xsaW5nIHRlcm1pbmFsLgorICAg ICAgICAgIHBpZCA9IG9zLmZvcmsoKSAgICAgICAgIyBGb3JrIGEgc2Vjb25kIGNoaWxkLgorLSAg ICAgIGV4Y2VwdCBPU0Vycm9yLCBlOgorKyAgICAgIGV4Y2VwdCBPU0Vycm9yIGFzIGU6CisgICAg ICAgICAgcmV0dXJuKChlLmVycm5vLCBlLnN0cmVycm9yKSkgICMgRVJST1IgKHJldHVybiBhIHR1 cGxlKQorIAorICAgICAgIGlmIChwaWQgPT0gMCk6ICAgICAgIyBUaGUgc2Vjb25kIGNoaWxkLgoK UHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19vbGQtZGFlbW9uLnB5 Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCww ICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3Zu Om1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQg b2YgcHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcGx1Z2luLnB5Cj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcGx1Z2luLnB5CShyZXZpc2lvbiAwKQor KysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wbHVnaW4ucHkJKHdvcmtpbmcgY29weSkKQEAgLTAs MCArMSwxMCBAQAorLS0tIC4vRGVueUhvc3RzL3BsdWdpbi5weS5vcmlnCTIwMDUtMTItMTcgMDk6 MTU6MDAuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55SG9zdHMvcGx1Z2luLnB5CTIwMTQtMDMt MTEgMDA6NTg6MDguMTg1MTg2MjA5ICsxMDMwCitAQCAtMTMsNiArMTMsNiBAQAorICAgICAgICAg dHJ5OgorICAgICAgICAgICAgIHJlcyA9IG9zLnN5c3RlbSgiJXMgJXMiICUgKGV4ZWN1dGFibGUs IGhvc3QpKQorICAgICAgICAgICAgIGlmIHJlczogaW5mbygicGx1Z2luIHJldHVybmVkICVkIiwg cmVzKSAgICAgICAgICAgICAgICAKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHQsIGU6CisrICAgICAg ICBleGNlcHQgRXhjZXB0IGFzIGU6CisgICAgICAgICAgICAgZXJyb3IoInBsdWdpbiBlcnJvcjog JXMiLCBlKQorIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19w bHVnaW4ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0 ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZic2Q6bm9r ZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0 eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wcmVmcy5w eQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX3ByZWZzLnB5CShyZXZpc2lv biAwKQorKysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wcmVmcy5weQkod29ya2luZyBjb3B5KQpA QCAtMCwwICsxLDg5IEBACistLS0gLi9EZW55SG9zdHMvcHJlZnMucHkub3JpZwkyMDA2LTExLTEw IDE0OjU0OjQwLjAwMDAwMDAwMCArMTAzMAorKysrIC4vRGVueUhvc3RzL3ByZWZzLnB5CTIwMTQt MDMtMTEgMDA6NTg6MDguMjAzMTg2MzA5ICsxMDMwCitAQCAtMSw2ICsxLDcgQEAKKytmcm9tIF9f ZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uOyAKKyBpbXBvcnQgb3MsIHN5cywgcmUKKy1m cm9tIHV0aWwgaW1wb3J0IGRpZSwgY2FsY3VsYXRlX3NlY29uZHMsIGlzX3RydWUKKy1mcm9tIHJl Z2V4IGltcG9ydCBQUkVGU19SRUdFWAorK2Zyb20gRGVueUhvc3RzLnV0aWwgaW1wb3J0IGRpZSwg Y2FsY3VsYXRlX3NlY29uZHMsIGlzX3RydWUKKytmcm9tIERlbnlIb3N0cy5yZWdleCBpbXBvcnQg UFJFRlNfUkVHRVgKKyBpbXBvcnQgbG9nZ2luZworIAorIGRlYnVnID0gbG9nZ2luZy5nZXRMb2dn ZXIoInByZWZzIikuZGVidWcKK0BAIC0xMjEsNyArMTIyLDcgQEAKKyAgICAgZGVmIGxvYWRfc2V0 dGluZ3Moc2VsZiwgcGF0aCk6CisgICAgICAgICB0cnk6CisgICAgICAgICAgICAgZnAgPSBvcGVu KHBhdGgsICJyIikKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGUgOgorKyAgICAgICAgZXhj ZXB0IEV4Y2VwdGlvbiBhcyBlIDoKKyAgICAgICAgICAgICBkaWUoIkVycm9yIHJlYWRpbmcgZmls ZTogJXMiICUgcGF0aCwgZSkKKyAKKyAKK0BAIC0xNDUsNyArMTQ2LDcgQEAKKyAgICAgICAgICAg ICAgICAgICAgICAgICBzZWxmLl9fZGF0YVsnVVNFUkRFRl9GQUlMRURfRU5UUllfUkVHRVgnXS5h cHBlbmQocmUuY29tcGlsZSh2YWx1ZSkpCisgICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19kYXRhW25hbWVdID0gdmFsdWUKKy0gICAgICAg ICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g YXMgZToKKyAgICAgICAgICAgICAgICAgZnAuY2xvc2UoKQorICAgICAgICAgICAgICAgICBkaWUo IkVycm9yIHByb2Nlc3NpbmcgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXIgJXM6ICVzIiAlIChuYW1l LCBlKSkKKyAgICAgICAgIGZwLmNsb3NlKCkKK0BAIC0xNjMsMjYgKzE2NCwyNiBAQAorICAgICBk ZWYgY2hlY2tfcmVxdWlyZWQoc2VsZiwgcGF0aCk6CisgICAgICAgICBvayA9IDEKKyAgICAgICAg IGZvciBuYW1lX3JlcWQsIHZhbF9yZXFkIGluIHNlbGYucmVxZDoKKy0gICAgICAgICAgICBpZiBu b3Qgc2VsZi5fX2RhdGEuaGFzX2tleShuYW1lX3JlcWQpOgorLSAgICAgICAgICAgICAgICBwcmlu dCAiTWlzc2luZyBjb25maWd1cmF0aW9uIHBhcmFtZXRlcjogJXMiICUgbmFtZV9yZXFkCisrICAg ICAgICAgICAgaWYgbmFtZV9yZXFkIG5vdCBpbiBzZWxmLl9fZGF0YS5rZXlzKCk6CisrICAgICAg ICAgICAgICAgIHByaW50KCJNaXNzaW5nIGNvbmZpZ3VyYXRpb24gcGFyYW1ldGVyOiAlcyIgJSBu YW1lX3JlcWQpCisgICAgICAgICAgICAgICAgIGlmIG5hbWVfcmVxZCA9PSAnREVOWV9USFJFU0hP TERfSU5WQUxJRCc6CistICAgICAgICAgICAgICAgICAgICBwcmludCAiXG5Ob3RlOiBUaGUgY29u ZmlndXJhdGlvbiBwYXJhbWV0ZXIgREVOWV9USFJFU0hPTEQgaGFzIGJlZW4gcmVuYW1lZCIKKy0g ICAgICAgICAgICAgICAgICAgIHByaW50ICIgICAgICBERU5ZX1RIUkVTSE9MRF9JTlZBTElELiAg UGxlYXNlIHVwZGF0ZSB5b3VyIERlbnlIb3N0cyBjb25maWd1cmF0aW9uIgorLSAgICAgICAgICAg ICAgICAgICAgcHJpbnQgIiAgICAgIGZpbGUgdG8gcmVmbGVjdCB0aGlzIGNoYW5nZS4iCisrICAg ICAgICAgICAgICAgICAgICBwcmludCgiXG5Ob3RlOiBUaGUgY29uZmlndXJhdGlvbiBwYXJhbWV0 ZXIgREVOWV9USFJFU0hPTEQgaGFzIGJlZW4gcmVuYW1lZCIpCisrICAgICAgICAgICAgICAgICAg ICBwcmludCgiICAgICAgREVOWV9USFJFU0hPTERfSU5WQUxJRC4gIFBsZWFzZSB1cGRhdGUgeW91 ciBEZW55SG9zdHMgY29uZmlndXJhdGlvbiIpCisrICAgICAgICAgICAgICAgICAgICBwcmludCgi ICAgICAgZmlsZSB0byByZWZsZWN0IHRoaXMgY2hhbmdlLiIpCisgCisgICAgICAgICAgICAgICAg ICAgICBpZiBzZWxmLl9fZGF0YS5oYXNfa2V5KCdERU5ZX1RIUkVTSE9MRCcpOgorLSAgICAgICAg ICAgICAgICAgICAgICAgIHByaW50ICJcbioqKiBVc2luZyBkZXByZWNhdGVkIERFTllfVEhSRVNI T0xEIHZhbHVlIGZvciBERU5ZX1RIUkVTSE9MRF9JTlZBTElEICoqKiIKKysgICAgICAgICAgICAg ICAgICAgICAgICBwcmludCgiXG4qKiogVXNpbmcgZGVwcmVjYXRlZCBERU5ZX1RIUkVTSE9MRCB2 YWx1ZSBmb3IgREVOWV9USFJFU0hPTERfSU5WQUxJRCAqKioiKQorICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuX19kYXRhWydERU5ZX1RIUkVTSE9MRF9JTlZBTElEJ10gPSBzZWxmLl9fZGF0 YVsnREVOWV9USFJFU0hPTEQnXQorICAgICAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAg ICAgICAgICAgICAgICAgICBvayA9IDAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAg ICAgICAgICAgZWxpZiBuYW1lX3JlcWQgPT0gJ0RFTllfVEhSRVNIT0xEX1JFU1RSSUNURUQnOgor LSAgICAgICAgICAgICAgICAgICAgcHJpbnQgIlxuTm90ZTogREVOWV9USFJFU0hPTERfUkVTVFJJ Q1RFRCBoYXMgbm90IGJlZW4gZGVmaW5lZC4gU2V0dGluZyB0aGlzIgorLSAgICAgICAgICAgICAg ICAgICAgcHJpbnQgInZhbHVlIHRvIERFTllfVEhSRVNIT0xEX1JPT1QiCisrICAgICAgICAgICAg ICAgICAgICBwcmludCgiXG5Ob3RlOiBERU5ZX1RIUkVTSE9MRF9SRVNUUklDVEVEIGhhcyBub3Qg YmVlbiBkZWZpbmVkLiBTZXR0aW5nIHRoaXMiKQorKyAgICAgICAgICAgICAgICAgICAgcHJpbnQo InZhbHVlIHRvIERFTllfVEhSRVNIT0xEX1JPT1QiKQorICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5fX2RhdGFbJ0RFTllfVEhSRVNIT0xEX1JFU1RSSUNURUQnXSA9IHNlbGYuX19kYXRhWydERU5Z X1RIUkVTSE9MRF9ST09UJ10KKyAgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAg ICAgICAgIG9rID0gMAorICAgICAgICAgICAgIGVsaWYgdmFsX3JlcWQgYW5kIG5vdCBzZWxmLl9f ZGF0YVtuYW1lX3JlcWRdOgorLSAgICAgICAgICAgICAgICBwcmludCAiTWlzc2luZyBjb25maWd1 cmF0aW9uIHZhbHVlIGZvcjogJXMiICUgbmFtZV9yZXFkCisrICAgICAgICAgICAgICAgIHByaW50 KCJNaXNzaW5nIGNvbmZpZ3VyYXRpb24gdmFsdWUgZm9yOiAlcyIgJSBuYW1lX3JlcWQpCisgICAg ICAgICAgICAgICAgIG9rID0gMAorIAorICAgICAgICAgaWYgbm90IG9rOgorQEAgLTIwNiwxOCAr MjA3LDE4IEBACisgCisgCisgICAgIGRlZiBkdW1wKHNlbGYpOgorLSAgICAgICAgcHJpbnQgIlBy ZWZlcmVuY2VzOiIKKysgICAgICAgIHByaW50KCJQcmVmZXJlbmNlczoiKQorICAgICAgICAga2V5 cyA9IHNlbGYuX19kYXRhLmtleXMoKQorICAgICAgICAgZm9yIGtleSBpbiBrZXlzOgorICAgICAg ICAgICAgIGlmIGtleSA9PSAnVVNFUkRFRl9GQUlMRURfRU5UUllfUkVHRVgnOgorICAgICAgICAg ICAgICAgICBmb3IgcnggaW4gc2VsZi5fX2RhdGFba2V5XToKKy0gICAgICAgICAgICAgICAgICAg IHByaW50ICIgICAlczogWyVzXSIgJSAoa2V5LCByeC5wYXR0ZXJuKQorKyAgICAgICAgICAgICAg ICAgICAgcHJpbnQoIiAgICVzOiBbJXNdIiAlIChrZXksIHJ4LnBhdHRlcm4pKQorICAgICAgICAg ICAgIGVsc2U6CistICAgICAgICAgICAgICAgIHByaW50ICIgICAlczogWyVzXSIgJSAoa2V5LCBz ZWxmLl9fZGF0YVtrZXldKQorKyAgICAgICAgICAgICAgICBwcmludCgiICAgJXM6IFslc10iICUg KGtleSwgc2VsZi5fX2RhdGFba2V5XSkpCisgCisgICAgIAorICAgICBkZWYgZHVtcF90b19sb2dn ZXIoc2VsZik6CistICAgICAgICBrZXlzID0gc2VsZi5fX2RhdGEua2V5cygpCisrICAgICAgICBr ZXlzID0gbGlzdChzZWxmLl9fZGF0YS5rZXlzKCkpCisgICAgICAgICBrZXlzLnNvcnQoKQorICAg ICAgICAgaW5mbygiRGVueUhvc3RzIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3M6IikKKyAgICAgICAg IGZvciBrZXkgaW4ga2V5czoKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlI b3N0c19fcHJlZnMucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsx ICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IGZi c2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBw cm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMjCituYXRpdmUKXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19w dXJnZWNvdW50ZXIucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19wdXJn ZWNvdW50ZXIucHkJKHJldmlzaW9uIDApCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX3B1cmdl Y291bnRlci5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDIxIEBACistLS0gLi9EZW55SG9z dHMvcHVyZ2Vjb3VudGVyLnB5Lm9yaWcJMjAwNi0wNC0wOSAxMDoxMTo1OC4wMDAwMDAwMDAgKzA5 MzAKKysrKyAuL0RlbnlIb3N0cy9wdXJnZWNvdW50ZXIucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4y MDQxODc0MDggKzEwMzAKK0BAIC0xLDcgKzEsNyBAQAorIAorLWZyb20gY291bnRlciBpbXBvcnQg Q291bnRlciwgQ291bnRlclJlY29yZAorK2Zyb20gRGVueUhvc3RzLmNvdW50ZXIgaW1wb3J0IENv dW50ZXIsIENvdW50ZXJSZWNvcmQKKyAKKy1pbXBvcnQgY29uc3RhbnRzCisraW1wb3J0IERlbnlI b3N0cy5jb25zdGFudHMKKyBpbXBvcnQgb3MKKyAKKyB0cnk6CitAQCAtNjYsNyArNjYsNyBAQAor ICAgICBkZWYgd3JpdGVfZGF0YShzZWxmLCBkYXRhKToKKyAgICAgICAgIHRyeToKKyAgICAgICAg ICAgICBmcCA9IG9wZW4oc2VsZi5maWxlbmFtZSwgInciKQorLSAgICAgICAgZXhjZXB0IEV4Y2Vw dGlvbiwgZToKKysgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICBl cnJvcigiZXJyb3Igc2F2aW5nICVzOiAlcyIsIHNlbGYuZmlsZW5hbWUsIHN0cihlKSkKKyAKKyAg ICAgICAgIGtleXMgPSBkYXRhLmtleXMoKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0 Y2gtRGVueUhvc3RzX19wdXJnZWNvdW50ZXIucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogZmJzZDpub2tl eXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5 CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3Rl eHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0 Y2gtRGVueUhvc3RzX19weXRob25fdmVyc2lvbi5weQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRj aC1EZW55SG9zdHNfX3B5dGhvbl92ZXJzaW9uLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0 Y2gtRGVueUhvc3RzX19weXRob25fdmVyc2lvbi5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsx LDI4IEBACistLS0gLi9EZW55SG9zdHMvcHl0aG9uX3ZlcnNpb24ucHkub3JpZwkyMDA1LTEyLTE3 IDA5OjE1OjAxLjAwMDAwMDAwMCArMTAzMAorKysrIC4vRGVueUhvc3RzL3B5dGhvbl92ZXJzaW9u LnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMjA2MTg2MTI3ICsxMDMwCitAQCAtMSwzICsxLDQgQEAK Kytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCisgaW1wb3J0IHN5cworIAor IAorQEAgLTUsOSArNiw5IEBACisgICAgIHZlcnNpb25fdHVwbGUgPSBzeXMudmVyc2lvbl9pbmZv CisgICAgIHZlcnNpb24gPSB2ZXJzaW9uX3R1cGxlWzBdICogMTAwICsgdmVyc2lvbl90dXBsZVsx XQorICAgICBpZiB2ZXJzaW9uIDwgMjAzOgorLSAgICAgICAgcHJpbnQgIlB5dGhvbiA+PSAyLjMg cmVxdWlyZWQuICBZb3UgYXJlIHVzaW5nOiIsIHN5cy52ZXJzaW9uCisrICAgICAgICBwcmludCgi UHl0aG9uID49IDIuMyByZXF1aXJlZC4gIFlvdSBhcmUgdXNpbmc6Iiwgc3lzLnZlcnNpb24pCisg CistICAgICAgICBwcmludCAiIiIKKysgICAgICAgIHByaW50KCIiIgorICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMK KyAKKyBWaXNpdCBodHRwOi8vd3d3LnB5dGhvbi5vcmcgYW5kIGRvd25sb2FkIGEgbW9yZSByZWNl bnQgdmVyc2lvbiBvZgorQEAgLTIzLDcgKzI0LDcgQEAKKyAKKyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisgCist IiIiICUgJyAnLmpvaW4oc3lzLmFyZ3YpCisrIiIiICUgJyAnLmpvaW4oc3lzLmFyZ3YpKQorIAor ICAgICAgICAgc3lzLmV4aXQoMSkKKyAKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNo LURlbnlIb3N0c19fcHl0aG9uX3ZlcnNpb24ucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUt dHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv cGVydHkKQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5ZXMKXCBObyBuZXds aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQojIyAtMCwwICsxICMj CituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0 Y2gtRGVueUhvc3RzX19yZWdleC5weQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9z dHNfX3JlZ2V4LnB5CShyZXZpc2lvbiAzNTEwNTcpCisrKyBmaWxlcy9wYXRjaC1EZW55SG9zdHNf X3JlZ2V4LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0xLDQ0ICsxLDExIEBACi0jIFBhdGNoIHNoYXBl ZCBmcm9tIGh0dHA6Ly9zZWNsaXN0cy5vcmcvb3NzLXNlYy8yMDEzL3E0LzUzNQotPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQotLS0tIC4vRGVueUhvc3RzL3JlZ2V4LnB5Lm9yaWcJMjAwNi0xMi0wNyAyMDo0NzowNC4wMDAw MDAwMDAgKzAxMDAKLSsrKyAuL0RlbnlIb3N0cy9yZWdleC5weQkyMDEzLTEyLTIzIDE3OjE3OjQy LjAwMDAwMDAwMCArMDEwMAotQEAgLTYsMjIgKzYsMjIgQEAKKy0tLSAuL0RlbnlIb3N0cy9yZWdl eC5weS5vcmlnCTIwMDYtMTItMDggMDY6MTc6MDQuMDAwMDAwMDAwICsxMDMwCisrKysgLi9EZW55 SG9zdHMvcmVnZXgucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4yMDcxODY3MDkgKzEwMzAKK0BAIC0x Nyw3ICsxNyw3IEBACiAgCi0gI0RBVEVfRk9STUFUX1JFR0VYID0gcmUuY29tcGlsZShyIiIiKD9Q PG1vbnRoPltBLXpdezMsM30pXHMqKD9QPGRheT5cZCspIiIiKQorIEZBSUxFRF9FTlRSWV9SRUdF WDQgPSByZS5jb21waWxlKHIiIiJBdXRoZW50aWNhdGlvbiBmYWlsdXJlIGZvciAoP1A8dXNlcj4u KikgLipmcm9tICg/UDxob3N0Pi4qKSIiIikKICAKLS1TU0hEX0ZPUk1BVF9SRUdFWCA9IHJlLmNv bXBpbGUociIiIi4qIChzc2hkLio6fFxbc3NoZFxdKSAoP1A8bWVzc2FnZT4uKikiIiIpCi0rU1NI RF9GT1JNQVRfUkVHRVggPSByZS5jb21waWxlKHIiIiIuKj8gKHNzaGQuKj86fFxbc3NoZFxdKSAo P1A8bWVzc2FnZT4uKikiIiIpCi0gI1NTSERfRk9STUFUX1JFR0VYID0gcmUuY29tcGlsZShyIiIi Liogc3NoZC4qOiAoP1A8bWVzc2FnZT4uKikiIiIpCi0gCi0tRkFJTEVEX0VOVFJZX1JFR0VYID0g cmUuY29tcGlsZShyIiIiRmFpbGVkICg/UDxtZXRob2Q+LiopIGZvciAoP1A8aW52YWxpZD5pbnZh bGlkIHVzZXIgfGlsbGVnYWwgdXNlciApPyg/UDx1c2VyPi4qPykgLipmcm9tICg6OmZmZmY6KT8o P1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSIiIikKLStGQUlMRURf RU5UUllfUkVHRVggPSByZS5jb21waWxlKHIiIiJGYWlsZWQgKD9QPG1ldGhvZD5cUyopIGZvciAo P1A8aW52YWxpZD5pbnZhbGlkIHVzZXIgfGlsbGVnYWwgdXNlciApPyg/UDx1c2VyPi4qKSBmcm9t ICg6OmZmZmY6KT8oP1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSQi IiIpCi0gCi0tRkFJTEVEX0VOVFJZX1JFR0VYMiA9IHJlLmNvbXBpbGUociIiIig/UDxpbnZhbGlk PihJbGxlZ2FsfEludmFsaWQpKSB1c2VyICg/UDx1c2VyPi4qPykgLipmcm9tICg6OmZmZmY6KT8o P1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSIiIikKLStGQUlMRURf RU5UUllfUkVHRVgyID0gcmUuY29tcGlsZShyIiIiKD9QPGludmFsaWQ+KElsbGVnYWx8SW52YWxp ZCkpIHVzZXIgKD9QPHVzZXI+LiopIGZyb20gKDo6ZmZmZjopPyg/UDxob3N0PlxkezEsM31cLlxk ezEsM31cLlxkezEsM31cLlxkezEsM30pJCIiIikKLSAKLS1GQUlMRURfRU5UUllfUkVHRVgzID0g cmUuY29tcGlsZShyIiIiQXV0aGVudGljYXRpb24gZmFpbHVyZSBmb3IgKD9QPHVzZXI+LiopIC4q ZnJvbSAoOjpmZmZmOik/KD9QPGhvc3Q+XGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwz fSkiIiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYMyA9IE5vbmUKLSAKLS1GQUlMRURfRU5UUllfUkVH RVg0ID0gcmUuY29tcGlsZShyIiIiQXV0aGVudGljYXRpb24gZmFpbHVyZSBmb3IgKD9QPHVzZXI+ LiopIC4qZnJvbSAoP1A8aG9zdD4uKikiIiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYNCA9IHJlLmNv bXBpbGUociIiIkF1dGhlbnRpY2F0aW9uIGZhaWx1cmUgZm9yICg/UDx1c2VyPi4qKSBmcm9tICg6 OmZmZmY6KT8oP1A8aG9zdD5cUyspJCIiIikKLSAKIC1GQUlMRURfRU5UUllfUkVHRVg1ID0gcmUu Y29tcGlsZShyIiIiVXNlciAoP1A8dXNlcj4uKikgLipmcm9tICg/UDxob3N0Pi4qKSBub3QgYWxs b3dlZCBiZWNhdXNlIG5vbmUgb2YgdXNlcidzIGdyb3VwcyBhcmUgbGlzdGVkIGluIEFsbG93R3Jv dXBzIiIiKQotK0ZBSUxFRF9FTlRSWV9SRUdFWDUgPSByZS5jb21waWxlKHIiIiJVc2VyICg/UDx1 c2VyPi4qKSBmcm9tICg6OmZmZmY6KT8oP1A8aG9zdD5cUyspIG5vdCBhbGxvd2VkIGJlY2F1c2Ug bm9uZSBvZiB1c2VyJ3MgZ3JvdXBzIGFyZSBsaXN0ZWQgaW4gQWxsb3dHcm91cHMkIiIiKQorK0ZB SUxFRF9FTlRSWV9SRUdFWDUgPSByZS5jb21waWxlKHIiIiJVc2VyICg/UDx1c2VyPi4qKSAuKmZy b20gKD9QPGhvc3Q+LiopIG5vdCBhbGxvd2VkIGJlY2F1c2Ugbm9uZSBvZiB1c2VyJ3MgZ3JvdXBz IGFyZSBsaXN0ZWQgaW4gQWxsb3dHcm91cHMkIiIiKQogIAotLUZBSUxFRF9FTlRSWV9SRUdFWDYg PSByZS5jb21waWxlKHIiIiJEaWQgbm90IHJlY2VpdmUgaWRlbnRpZmljYXRpb24gc3RyaW5nIC4q ZnJvbSAoOjpmZmZmOik/KD9QPGhvc3Q+XGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwz fSkiIiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYNiA9IHJlLmNvbXBpbGUociIiIkRpZCBub3QgcmVj ZWl2ZSBpZGVudGlmaWNhdGlvbiBzdHJpbmcgLipmcm9tICg6OmZmZmY6KT8oP1A8aG9zdD5cZHsx LDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSQiIiIpCisgRkFJTEVEX0VOVFJZX1JFR0VY NiA9IHJlLmNvbXBpbGUociIiIkRpZCBub3QgcmVjZWl2ZSBpZGVudGlmaWNhdGlvbiBzdHJpbmcg Lipmcm9tICg6OmZmZmY6KT8oP1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsx LDN9KSIiIikKICAKLS1GQUlMRURfRU5UUllfUkVHRVg3ID0gcmUuY29tcGlsZShyIiIiVXNlciAo P1A8dXNlcj4uKikgbm90IGFsbG93ZWQgYmVjYXVzZSBub3QgbGlzdGVkIGluIEFsbG93VXNlcnMi IiIpCi0rRkFJTEVEX0VOVFJZX1JFR0VYNyA9IHJlLmNvbXBpbGUociIiIlVzZXIgKD9QPHVzZXI+ LiopIGZyb20gKDo6ZmZmZjopPyg/UDxob3N0PlxTKykgbm90IGFsbG93ZWQgYmVjYXVzZSBub3Qg bGlzdGVkIGluIEFsbG93VXNlcnMkIiIiKQotIAotIAotICMgdGhlc2UgYXJlIHJlc2VydmVkIGZv ciBmdXR1cmUgdmVyc2lvbnMKLUBAIC00Miw3ICs0Miw3IEBACi0gICAgIEZBSUxFRF9FTlRSWV9S RUdFWF9NQVBbaV0gPSByeAotIAotIAotLVNVQ0NFU1NGVUxfRU5UUllfUkVHRVggPSByZS5jb21w aWxlKHIiIiJBY2NlcHRlZCAoP1A8bWV0aG9kPi4qKSBmb3IgKD9QPHVzZXI+Lio/KSBmcm9tICg6 OmZmZmY6KT8oP1A8aG9zdD5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9XC5cZHsxLDN9KSIiIikK LStTVUNDRVNTRlVMX0VOVFJZX1JFR0VYID0gcmUuY29tcGlsZShyIiIiQWNjZXB0ZWQgKD9QPG1l dGhvZD5cUyspIGZvciAoP1A8dXNlcj4uKj8pIGZyb20gKDo6ZmZmZjopPyg/UDxob3N0PlxkezEs M31cLlxkezEsM31cLlxkezEsM31cLlxkezEsM30pJCIiIikKLSAKLSBUSU1FX1NQRUNfUkVHRVgg PSByZS5jb21waWxlKHIiIiIoP1A8dW5pdHM+XGQqKVxzKig/UDxwZXJpb2Q+W3NtaGR3eV0pPyIi IikKLSAKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVwb3J0LnB5Cj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K LS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVwb3J0LnB5CShyZXZpc2lvbiAwKQorKysgZmls ZXMvcGF0Y2gtRGVueUhvc3RzX19yZXBvcnQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwy MiBAQAorLS0tIC4vRGVueUhvc3RzL3JlcG9ydC5weS5vcmlnCTIwMDYtMDQtMDkgMTM6MDQ6MDQu MDAwMDAwMDAwICswOTMwCisrKysgLi9EZW55SG9zdHMvcmVwb3J0LnB5CTIwMTQtMDMtMTEgMDA6 NTg6MDguMjA4MTg2NjAwICsxMDMwCitAQCAtMSw5ICsxLDggQEAKKyBpbXBvcnQgb3MKKyBpbXBv cnQgcmUKKyBpbXBvcnQgc29ja2V0CistZnJvbSB0eXBlcyBpbXBvcnQgTGlzdFR5cGUsIFR1cGxl VHlwZQorIGltcG9ydCBsb2dnaW5nCistZnJvbSB1dGlsIGltcG9ydCBpc190cnVlCisrZnJvbSBE ZW55SG9zdHMudXRpbCBpbXBvcnQgaXNfdHJ1ZQorIHRyeToKKyAgICAgaW1wb3J0IHN5c2xvZwor ICAgICBIQVNfU1lTTE9HID0gVHJ1ZQorQEAgLTM4LDcgKzM3LDcgQEAKKyAgICAgZGVmIGFkZF9z ZWN0aW9uKHNlbGYsIG1lc3NhZ2UsIGl0ZXJhYmxlKToKKyAgICAgICAgIHNlbGYucmVwb3J0ICs9 ICIlczpcblxuIiAlIG1lc3NhZ2UKKyAgICAgICAgIGZvciBpIGluIGl0ZXJhYmxlOgorLSAgICAg ICAgICAgIGlmIHR5cGUoaSkgaW4gKFR1cGxlVHlwZSwgTGlzdFR5cGUpOgorKyAgICAgICAgICAg IGlmIGlzaW5zdGFuY2UodHlwZShpKSwgKHR1cGxlLGxpc3QpKToKKyAgICAgICAgICAgICAgICAg ZXh0cmEgPSAiOiAlZFxuIiAlIGlbMV0KKyAgICAgICAgICAgICAgICAgaSA9IGlbMF0KKyAgICAg ICAgICAgICBlbHNlOgoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3Rz X19yZXBvcnQucHkKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpBZGRlZDogZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEg IyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0 eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5 CkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAgKzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXds aW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19yZXN0 cmljdGVkLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVzdHJpY3Rl ZC5weQkocmV2aXNpb24gMCkKKysrIGZpbGVzL3BhdGNoLURlbnlIb3N0c19fcmVzdHJpY3RlZC5w eQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACistLS0gLi9EZW55SG9zdHMvcmVzdHJp Y3RlZC5weS5vcmlnCTIwMDYtMDItMDkgMTY6MzY6MTkuMDAwMDAwMDAwICsxMDMwCisrKysgLi9E ZW55SG9zdHMvcmVzdHJpY3RlZC5weQkyMDE0LTAzLTExIDAwOjU4OjA4LjIyMDE4NjIyOCArMTAz MAorQEAgLTEsNiArMSw2IEBACisgaW1wb3J0IG9zCisgCistZnJvbSBjb25zdGFudHMgaW1wb3J0 IFJFU1RSSUNURURfVVNFUk5BTUVTCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCBS RVNUUklDVEVEX1VTRVJOQU1FUworIHRyeToKKyAgICAgc2V0ID0gc2V0CisgZXhjZXB0OgoKUHJv cGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtRGVueUhvc3RzX19yZXN0cmljdGVkLnB5Cl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMg LTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2 bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg cHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLURlbnlIb3N0c19fc3luYy5weQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBmaWxlcy9wYXRjaC1EZW55SG9zdHNfX3N5bmMucHkJKHJldmlzaW9uIDApCisrKyBmaWxl cy9wYXRjaC1EZW55SG9zdHNfX3N5bmMucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw1NiBA QAorLS0tIC4vRGVueUhvc3RzL3N5bmMucHkub3JpZwkyMDA2LTAyLTA5IDE1OjUwOjQ2LjAwMDAw MDAwMCArMTAzMAorKysrIC4vRGVueUhvc3RzL3N5bmMucHkJMjAxNC0wMy0xMSAwMDo1ODowOC4y MjExODczMjcgKzEwMzAKK0BAIC0xLDggKzEsMTIgQEAKKy1mcm9tIHhtbHJwY2xpYiBpbXBvcnQg U2VydmVyUHJveHkKKyt0cnk6CisrICAgIGZyb20geG1scnBjbGliIGltcG9ydCBTZXJ2ZXJQcm94 eQorK2V4Y2VwdDoKKysgICAgZnJvbSB4bWxycGMuY2xpZW50IGltcG9ydCBTZXJ2ZXJQcm94eQor KworIGltcG9ydCBsb2dnaW5nCisgaW1wb3J0IG9zCisgaW1wb3J0IHRpbWUKKy1mcm9tIGNvbnN0 YW50cyBpbXBvcnQgU1lOQ19USU1FU1RBTVAsIFNZTkNfSE9TVFMsIFNZTkNfSE9TVFNfVE1QLCBT WU5DX1JFQ0VJVkVEX0hPU1RTCisrZnJvbSBEZW55SG9zdHMuY29uc3RhbnRzIGltcG9ydCBTWU5D X1RJTUVTVEFNUCwgU1lOQ19IT1NUUywgU1lOQ19IT1NUU19UTVAsIFNZTkNfUkVDRUlWRURfSE9T VFMKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJzeW5jIikuZGVidWcKKyBpbmZvID0gbG9n Z2luZy5nZXRMb2dnZXIoInN5bmMiKS5pbmZvCisgZXJyb3IgPSBsb2dnaW5nLmdldExvZ2dlcigi c3luYyIpLmVycm9yCitAQCAtMjMsNyArMjcsNyBAQAorICAgICAgICAgdHJ5OgorICAgICAgICAg ICAgIHNlbGYuX19zZXJ2ZXIgPSBTZXJ2ZXJQcm94eShzZWxmLl9fcHJlZnMuZ2V0KCdTWU5DX1NF UlZFUicpKQorICAgICAgICAgICAgIHNlbGYuX19jb25uZWN0ZWQgPSBUcnVlCistICAgICAgICBl eGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAg ICAgICAgICAgIGVycm9yKHN0cihlKSkKKyAgICAgICAgICAgICBzZWxmLl9fY29ubmVjdGVkID0g RmFsc2UKKyAgICAgICAgIHJldHVybiBzZWxmLl9fY29ubmVjdGVkCitAQCAtNDYsOSArNTAsOSBA QAorICAgICAgICAgICAgIHRpbWVzdGFtcCA9IGZwLnJlYWRsaW5lKCkKKyAgICAgICAgICAgICB0 aW1lc3RhbXAgPSBsb25nKHRpbWVzdGFtcC5zdHJpcCgpKQorICAgICAgICAgICAgIHJldHVybiB0 aW1lc3RhbXAKKy0gICAgICAgIGV4Y2VwdCBFeGNlcHRpb24sIGU6CisrICAgICAgICBleGNlcHQg RXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICAgZXJyb3Ioc3RyKGUpKQorLSAgICAgICAgICAg IHJldHVybiAwbAorKyAgICAgICAgICAgIHJldHVybiAwCisgCisgICAgIGRlZiBzZXRfc3luY190 aW1lc3RhbXAoc2VsZiwgdGltZXN0YW1wKToKKyAgICAgICAgIHRyeToKK0BAIC05OCw3ICsxMDIs NyBAQAorIAorICAgICAgICAgdHJ5OgorICAgICAgICAgICAgIHNlbGYuX19zZXJ2ZXIuYWRkX2hv c3RzKGhvc3RzKQorLSAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgICAgIGV4Y2Vw dCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICBleGNlcHRpb24oZSkKKyAKKyAKK0BAIC0x MjEsNyArMTI1LDcgQEAKKyAgICAgICAgICAgICBpbmZvKCJyZWNlaXZlZCAlZCBuZXcgaG9zdCVz IiwgbGVuKGhvc3RzKSwgZ2V0X3BsdXJhbChob3N0cykpCisgICAgICAgICAgICAgc2VsZi5fX3Nh dmVfcmVjZWl2ZWRfaG9zdHMoaG9zdHMsIHRpbWVzdGFtcCkKKyAgICAgICAgICAgICByZXR1cm4g aG9zdHMgCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAgICAgZXhjZXB0IEV4 Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIGV4Y2VwdGlvbihlKQorICAgICAgICAgICAgIHJl dHVybiBOb25lCisgICAgICAgICAKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURl bnlIb3N0c19fc3luYy5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWltZS10eXBlCiMjIC0wLDAg KzEgIyMKK3RleHQvcGxhaW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDog ZmJzZDpub2tleXdvcmRzCiMjIC0wLDAgKzEgIyMKK3llcwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IHByb3BlcnR5CkFkZGVkOiBzdm46ZW9sLXN0eWxlCiMjIC0wLDAgKzEgIyMKK25hdGl2ZQpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1EZW55SG9zdHNf X3V0aWwucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gZmlsZXMvcGF0Y2gtRGVueUhvc3RzX191dGlsLnB5CShy ZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtRGVueUhvc3RzX191dGlsLnB5CSh3b3JraW5nIGNv cHkpCkBAIC0wLDAgKzEsNjYgQEAKKy0tLSAuL0RlbnlIb3N0cy91dGlsLnB5Lm9yaWcJMjAwNi0w Ni0yMiAxMjoxNToyOC4wMDAwMDAwMDAgKzA5MzAKKysrKyAuL0RlbnlIb3N0cy91dGlsLnB5CTIw MTQtMDMtMTEgMDA6NTg6MDguMjIzMTg2OTY3ICsxMDMwCitAQCAtMSwxMSArMSwxMSBAQAorK2Zy b20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb247IAorIGltcG9ydCBzeXMKKyBpbXBv cnQgb3MKKyBpbXBvcnQgdGltZQorIGZyb20gc210cGxpYiBpbXBvcnQgU01UUAorIGltcG9ydCBs b2dnaW5nCistZnJvbSBjb25zdGFudHMgaW1wb3J0IEJTRF9TVFlMRSwgVElNRV9TUEVDX0xPT0tV UAorLWZyb20gcmVnZXggaW1wb3J0IFRJTUVfU1BFQ19SRUdFWAorLWZyb20gdHlwZXMgaW1wb3J0 IEludFR5cGUKKytmcm9tIERlbnlIb3N0cy5jb25zdGFudHMgaW1wb3J0IEJTRF9TVFlMRSwgVElN RV9TUEVDX0xPT0tVUAorK2Zyb20gRGVueUhvc3RzLnJlZ2V4IGltcG9ydCBUSU1FX1NQRUNfUkVH RVgKKyAKKyBkZWJ1ZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCJ1dGlsIikuZGVidWcKKyAKK0BAIC01 NSw4ICs1NSw4IEBACisgCisgCisgZGVmIGRpZShtc2csIGV4PU5vbmUpOgorLSAgICBwcmludCBt c2cKKy0gICAgaWYgZXg6IHByaW50IGV4CisrICAgIHByaW50KG1zZykKKysgICAgaWYgZXg6IHBy aW50KGV4KQorICAgICBzeXMuZXhpdCgxKQorIAorIAorQEAgLTc0LDE3ICs3NCwxNyBAQAorIGRl ZiBjYWxjdWxhdGVfc2Vjb25kcyh0aW1lc3RyLCB6ZXJvX29rPUZhbHNlKToKKyAgICAgIyByZXR1 cm4gdGhlIG51bWJlciBvZiBzZWNvbmRzIGluIGEgZ2l2ZW4gdGltZXN0ciBzdWNoIGFzIDFkICgx IGRheSksCisgICAgICMgMTN3ICgxMyB3ZWVrcyksIDVzICg1c2Vjb25kcyksIGV0Yy4uLgorLSAg ICBpZiB0eXBlKHRpbWVzdHIpIGlzIEludFR5cGU6IHJldHVybiB0aW1lc3RyCisrICAgIGlmIHR5 cGUodGltZXN0cikgaXMgaW50OiByZXR1cm4gdGltZXN0cgorICAgICAKKyAgICAgbSA9IFRJTUVf U1BFQ19SRUdFWC5zZWFyY2godGltZXN0cikKKyAgICAgaWYgbm90IG06CistICAgICAgICByYWlz ZSBFeGNlcHRpb24sICJJbnZhbGlkIHRpbWUgc3BlY2lmaWNhdGlvbjogc3RyaW5nIGZvcm1hdCBl cnJvcjogJXMiLCB0aW1lc3RyCisrICAgICAgICByYWlzZSBFeGNlcHRpb24oIkludmFsaWQgdGlt ZSBzcGVjaWZpY2F0aW9uOiBzdHJpbmcgZm9ybWF0IGVycm9yOiAlcyIsIHRpbWVzdHIpCisgCisg ICAgIHVuaXRzID0gaW50KG0uZ3JvdXAoJ3VuaXRzJykpCisgICAgIHBlcmlvZCA9IG0uZ3JvdXAo J3BlcmlvZCcpIG9yICdzJyAjIHNlY29uZHMgaXMgdGhlIGRlZmF1bHQKKyAKKyAgICAgaWYgdW5p dHMgPT0gMCBhbmQgbm90IHplcm9fb2s6CistICAgICAgICByYWlzZSBFeGNlcHRpb24sICJJbnZh bGlkIHRpbWUgc3BlY2lmaWNhdGlvbjogdW5pdHMgPSAwIgorKyAgICAgICAgcmFpc2UgRXhjZXB0 aW9uKCJJbnZhbGlkIHRpbWUgc3BlY2lmaWNhdGlvbjogdW5pdHMgPSAwIikKKyAKKyAgICAgc2Vj b25kcyA9IHVuaXRzICogVElNRV9TUEVDX0xPT0tVUFtwZXJpb2RdCisgICAgICNpbmZvKCJjb252 ZXJ0ZWQgJXMgdG8gJWxkIHNlY29uZHM6ICIsIHRpbWVzdHIsIHNlY29uZHMpCitAQCAtMTQ1LDEx ICsxNDUsMTEgQEAKKyAgICAgICAgICAgICAgICAgICAgICAgcmVjaXBpZW50cywKKyAgICAgICAg ICAgICAgICAgICAgICAgbXNnKQorICAgICAgICAgZGVidWcoInNlbnQgZW1haWwgdG86ICVzIiAl IHByZWZzLmdldCgiQURNSU5fRU1BSUwiKSkKKy0gICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKy0g ICAgICAgIHByaW50ICJFcnJvciBzZW5kaW5nIGVtYWlsIgorLSAgICAgICAgcHJpbnQgZQorLSAg ICAgICAgcHJpbnQgIkVtYWlsIG1lc3NhZ2UgZm9sbG93czoiCistICAgICAgICBwcmludCBtc2cK KysgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgcHJpbnQoIkVycm9yIHNlbmRp bmcgZW1haWwiKQorKyAgICAgICAgcHJpbnQoZSkKKysgICAgICAgIHByaW50KCJFbWFpbCBtZXNz YWdlIGZvbGxvd3M6IikKKysgICAgICAgIHByaW50KG1zZykKKyAKKyAgICAgdHJ5OgorICAgICAg ICAgc210cC5xdWl0KCkKClByb3BlcnR5IGNoYW5nZXMgb246IGZpbGVzL3BhdGNoLURlbnlIb3N0 c19fdXRpbC5weQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMgLTAsMCArMSAj IworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5 bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkK QWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4OiBmaWxlcy9wYXRjaC1kYWVtb24tY29udHJvbC1k aXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLWRhZW1vbi1jb250cm9sLWRpc3QJKHJldmlz aW9uIDM1MTA1NykKKysrIGZpbGVzL3BhdGNoLWRhZW1vbi1jb250cm9sLWRpc3QJKHdvcmtpbmcg Y29weSkKQEAgLTEsOSArMSwxMiBAQAotCi0kRnJlZUJTRCQKLQotLS0tIGRhZW1vbi1jb250cm9s LWRpc3Qub3JpZwotKysrIGRhZW1vbi1jb250cm9sLWRpc3QKLUBAIC0xMSw5ICsxMSw5IEBACist LS0gLi9kYWVtb24tY29udHJvbC1kaXN0Lm9yaWcJMjAwNi0wNC0yMiAwODozNDo0My4wMDAwMDAw MDAgKzA5MzAKKysrKyAuL2RhZW1vbi1jb250cm9sLWRpc3QJMjAxNC0wMy0xMSAwMDo1ODowOC4z MDcxODYyMDIgKzEwMzAKK0BAIC02LDE0ICs2LDE0IEBACisgIyAgICBEZW55SG9zdHMgZGFlbW9u IHRvIGJsb2NrIHNzaCBhdHRlbXB0cworICMKKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworLQorK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVu Y3Rpb24KKyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog ICMjIyMgRWRpdCB0aGVzZSB0byBzdWl0IHlvdXIgY29uZmlndXJhdGlvbiAjIyMjCiAgIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICAKQEAgLTE0LDUgKzE3 LDY1IEBACiArREVOWUhPU1RTX0xPQ0sgID0gIi92YXIvcnVuL2Rlbnlob3N0cyIKICtERU5ZSE9T VFNfQ0ZHICAgPSAiJSVQUkVGSVglJS9zaGFyZS9kZW55aG9zdHMvZGVueWhvc3RzLmNmZyIKICAK KyBQWVRIT05fQklOICAgICAgPSAiL3Vzci9iaW4vZW52IHB5dGhvbiIKICAKLSAjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworQEAgLTM1LDExICszNSwxMSBA QAorIFNUQVRFX0xPQ0tfRVhJU1RTID0gLTIKKyAKKyBkZWYgdXNhZ2UoKToKKy0gICAgcHJpbnQg IlVzYWdlOiAlcyB7c3RhcnQgW2FyZ3MuLi5dIHwgc3RvcCB8IHJlc3RhcnQgW2FyZ3MuLi5dIHwg c3RhdHVzIHwgZGVidWcgfCBjb25kcmVzdGFydCBbYXJncy4uLl0gfSIgJSBzeXMuYXJndlswXQor LSAgICBwcmludAorLSAgICBwcmludCAiRm9yIGEgbGlzdCBvZiB2YWxpZCAnYXJncycgcmVmZXIg dG86IgorLSAgICBwcmludCAiJCBkZW55aG9zdHMucHkgLS1oZWxwIgorLSAgICBwcmludAorKyAg ICBwcmludCgiVXNhZ2U6ICVzIHtzdGFydCBbYXJncy4uLl0gfCBzdG9wIHwgcmVzdGFydCBbYXJn cy4uLl0gfCBzdGF0dXMgfCBkZWJ1ZyB8IGNvbmRyZXN0YXJ0IFthcmdzLi4uXSB9IiAlIHN5cy5h cmd2WzBdKQorKyAgICBwcmludCgpCisrICAgIHByaW50KCJGb3IgYSBsaXN0IG9mIHZhbGlkICdh cmdzJyByZWZlciB0bzoiKQorKyAgICBwcmludCgiJCBkZW55aG9zdHMucHkgLS1oZWxwIikKKysg ICAgcHJpbnQoKQorICAgICBzeXMuZXhpdCgwKSAKKyAKKyAKK0BAIC03NCw3ICs3NCw3IEBACisg ICAgIGNtZCA9ICIlcyAtLWRhZW1vbiAiICUgREVOWUhPU1RTX0JJTgorICAgICBpZiBhcmdzOiBj bWQgKz0gJyAnLmpvaW4oYXJncykKKyAgICAgICAgIAorLSAgICBwcmludCAic3RhcnRpbmcgRGVu eUhvc3RzOiAgICIsIGNtZAorKyAgICBwcmludCgic3RhcnRpbmcgRGVueUhvc3RzOiAgICIsIGNt ZCkKKyAKKyAgICAgb3Muc3lzdGVtKGNtZCkKKyAKK0BAIC04MywyNiArODMsMjYgQEAKKyAgICAg cGlkID0gZ2V0cGlkKCkKKyAgICAgaWYgcGlkID49IDA6CisgICAgICAgICBvcy5raWxsKHBpZCwg c2lnbmFsLlNJR1RFUk0pCistICAgICAgICBwcmludCAic2VudCBEZW55SG9zdHMgU0lHVEVSTSIK KysgICAgICAgIHByaW50KCJzZW50IERlbnlIb3N0cyBTSUdURVJNIikKKyAgICAgZWxzZToKKy0g ICAgICAgIHByaW50ICJEZW55SG9zdHMgaXMgbm90IHJ1bm5pbmciCisrICAgICAgICBwcmludCgi RGVueUhvc3RzIGlzIG5vdCBydW5uaW5nIikKKyAKKyBkZWYgZGVidWcoKToKKyAgICAgcGlkID0g Z2V0cGlkKCkKKyAgICAgaWYgcGlkID49IDA6CisgICAgICAgICBvcy5raWxsKHBpZCwgc2lnbmFs LlNJR1VTUjEpCistICAgICAgICBwcmludCAic2VudCBEZW55SG9zdHMgU0lHVVNSMSIKKysgICAg ICAgIHByaW50KCJzZW50IERlbnlIb3N0cyBTSUdVU1IxIikKKyAgICAgZWxzZToKKy0gICAgICAg IHByaW50ICJEZW55SG9zdHMgaXMgbm90IHJ1bm5pbmciCisrICAgICAgICBwcmludCgiRGVueUhv c3RzIGlzIG5vdCBydW5uaW5nIikKKyAgICAgICAgIAorIGRlZiBzdGF0dXMoKToKKyAgICAgcGlk ID0gZ2V0cGlkKCkKKyAgICAgaWYgcGlkID09IFNUQVRFX0xPQ0tfRVhJU1RTOgorLSAgICAgICAg cHJpbnQgIiVzIGV4aXN0cyBidXQgRGVueUhvc3RzIGlzIG5vdCBydW5uaW5nIiAlIERFTllIT1NU U19MT0NLCisrICAgICAgICBwcmludCgiJXMgZXhpc3RzIGJ1dCBEZW55SG9zdHMgaXMgbm90IHJ1 bm5pbmciICUgREVOWUhPU1RTX0xPQ0spCisgICAgIGVsaWYgcGlkID09IFNUQVRFX05PVF9SVU5O SU5HOgorLSAgICAgICAgcHJpbnQgIkRlbnlob3N0cyBpcyBub3QgcnVubmluZyIKKysgICAgICAg IHByaW50KCJEZW55aG9zdHMgaXMgbm90IHJ1bm5pbmciKQorICAgICBlbHNlOgorLSAgICAgICAg cHJpbnQgIkRlbnlIb3N0cyBpcyBydW5uaW5nIHdpdGggcGlkID0gJWQiICUgcGlkCisrICAgICAg ICBwcmludCgiRGVueUhvc3RzIGlzIHJ1bm5pbmcgd2l0aCBwaWQgPSAlZCIgJSBwaWQpCisgCisg CisgZGVmIGNvbmRyZXN0YXJ0KCphcmdzKToKSW5kZXg6IGZpbGVzL3BhdGNoLWRlbnlob3N0cy5j ZmctZGlzdAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBmaWxlcy9wYXRjaC1kZW55aG9zdHMuY2ZnLWRpc3QJKHJl dmlzaW9uIDM1MTA1NykKKysrIGZpbGVzL3BhdGNoLWRlbnlob3N0cy5jZmctZGlzdAkod29ya2lu ZyBjb3B5KQpAQCAtMSw4ICsxLDUgQEAKLQotJEZyZWVCU0QkCi0KLS0tLSBkZW55aG9zdHMuY2Zn LWRpc3Qub3JpZwotKysrIGRlbnlob3N0cy5jZmctZGlzdAorLS0tIC4vZGVueWhvc3RzLmNmZy1k aXN0Lm9yaWcJMjAwNi0wOC0yMCAyMzozOTo1Ny4wMDAwMDAwMDAgKzA5MzAKKysrKyAuL2Rlbnlo b3N0cy5jZmctZGlzdAkyMDE0LTAzLTExIDAwOjU4OjA4LjMwNzE4NjIwMiArMTAzMAogQEAgLTks MTAgKzksMTAgQEAKICAjIGFyZ3VtZW50CiAgIwpJbmRleDogZmlsZXMvcGF0Y2gtZGVueWhvc3Rz LnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLWRlbnlob3N0cy5weQkocmV2aXNpb24gMCkK KysrIGZpbGVzL3BhdGNoLWRlbnlob3N0cy5weQkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEx OCBAQAorLS0tIC4vZGVueWhvc3RzLnB5Lm9yaWcJMjAwNi0wNy0wOSAwMDowMjo0NS4wMDAwMDAw MDAgKzA5MzAKKysrKyAuL2Rlbnlob3N0cy5weQkyMDE0LTAzLTExIDAwOjU4OjA4LjI2MzE4NTc5 MyArMTAzMAorQEAgLTEsNCArMSw1IEBACisgIyEvdXNyL2Jpbi9lbnYgcHl0aG9uCisrZnJvbSBf X2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBvcworIGltcG9ydCBzeXMK KyAKK0BAIC0yMiwyNiArMjMsMjYgQEAKKyAKKyAKKyBkZWYgdXNhZ2UoKToKKy0gICAgcHJpbnQg IlVzYWdlOiIKKy0gICAgcHJpbnQgIiVzIFstZiBsb2dmaWxlIHwgLS1maWxlPWxvZ2ZpbGVdIFsg LWMgY29uZmlnZmlsZSB8IC0tY29uZmlnPWNvbmZpZ2ZpbGVdIFstaSB8IC0taWdub3JlXSBbLW4g fCAtLW5vZW1haWxdIFstLXB1cmdlXSBbLS1taWdyYXRlXSBbLS1kYWVtb25dIFstLXN5bmNdIFst LXZlcnNpb25dIiAlIHN5cy5hcmd2WzBdCistICAgIHByaW50CistICAgIHByaW50CistICAgIHBy aW50ICIgLS1maWxlOiAgIFRoZSBuYW1lIG9mIGxvZyBmaWxlIHRvIHBhcnNlIgorLSAgICBwcmlu dCAiIC0taWdub3JlOiBJZ25vcmUgbGFzdCBwcm9jZXNzZWQgb2Zmc2V0IChzdGFydCBwcm9jZXNz aW5nIGZyb20gYmVnaW5uaW5nKSIKKy0gICAgcHJpbnQgIiAtLW5vZW1haWw6IERvIG5vdCBzZW5k IGFuIGVtYWlsIHJlcG9ydCIKKy0gICAgcHJpbnQgIiAtLXVubG9jazogaWYgbG9ja2ZpbGUgZXhp c3RzLCByZW1vdmUgaXQgYW5kIHJ1biBhcyBub3JtYWwiCistICAgIHByaW50ICIgLS1taWdyYXRl OiBtaWdyYXRlIHlvdXIgSE9TVFNfREVOWSBmaWxlIHNvIHRoYXQgaXQgaXMgc3VpdGFibGUgZm9y IC0tcHVyZ2UiCistICAgIHByaW50ICIgLS1wdXJnZTogZXhwaXJlIGVudHJpZXMgb2xkZXIgdGhh biB5b3VyIFBVUkdFX0RFTlkgc2V0dGluZyIKKy0gICAgcHJpbnQgIiAtLWRhZW1vbjogcnVuIERl bnlIb3N0cyBpbiBkYWVtb24gbW9kZSIKKy0gICAgcHJpbnQgIiAtLXN5bmM6IHJ1biBEZW55SG9z dHMgc3luY2hyb25pemF0aW9uIG1vZGUiCistICAgIHByaW50ICIgLS12ZXJzaW9uOiBQcmludHMg dGhlIHZlcnNpb24gb2YgRGVueUhvc3RzIGFuZCBleGl0cyIKKysgICAgcHJpbnQoIlVzYWdlOiIp CisrICAgIHByaW50KCIlcyBbLWYgbG9nZmlsZSB8IC0tZmlsZT1sb2dmaWxlXSBbIC1jIGNvbmZp Z2ZpbGUgfCAtLWNvbmZpZz1jb25maWdmaWxlXSBbLWkgfCAtLWlnbm9yZV0gWy1uIHwgLS1ub2Vt YWlsXSBbLS1wdXJnZV0gWy0tbWlncmF0ZV0gWy0tZGFlbW9uXSBbLS1zeW5jXSBbLS12ZXJzaW9u XSIgJSBzeXMuYXJndlswXSkKKysgICAgcHJpbnQoKQorKyAgICBwcmludCgpCisrICAgIHByaW50 KCIgLS1maWxlOiAgIFRoZSBuYW1lIG9mIGxvZyBmaWxlIHRvIHBhcnNlIikKKysgICAgcHJpbnQo IiAtLWlnbm9yZTogSWdub3JlIGxhc3QgcHJvY2Vzc2VkIG9mZnNldCAoc3RhcnQgcHJvY2Vzc2lu ZyBmcm9tIGJlZ2lubmluZykiKQorKyAgICBwcmludCgiIC0tbm9lbWFpbDogRG8gbm90IHNlbmQg YW4gZW1haWwgcmVwb3J0IikKKysgICAgcHJpbnQoIiAtLXVubG9jazogaWYgbG9ja2ZpbGUgZXhp c3RzLCByZW1vdmUgaXQgYW5kIHJ1biBhcyBub3JtYWwiKQorKyAgICBwcmludCgiIC0tbWlncmF0 ZTogbWlncmF0ZSB5b3VyIEhPU1RTX0RFTlkgZmlsZSBzbyB0aGF0IGl0IGlzIHN1aXRhYmxlIGZv ciAtLXB1cmdlIikKKysgICAgcHJpbnQoIiAtLXB1cmdlOiBleHBpcmUgZW50cmllcyBvbGRlciB0 aGFuIHlvdXIgUFVSR0VfREVOWSBzZXR0aW5nIikKKysgICAgcHJpbnQoIiAtLWRhZW1vbjogcnVu IERlbnlIb3N0cyBpbiBkYWVtb24gbW9kZSIpCisrICAgIHByaW50KCIgLS1zeW5jOiBydW4gRGVu eUhvc3RzIHN5bmNocm9uaXphdGlvbiBtb2RlIikKKysgICAgcHJpbnQoIiAtLXZlcnNpb246IFBy aW50cyB0aGUgdmVyc2lvbiBvZiBEZW55SG9zdHMgYW5kIGV4aXRzIikKKyAgICAgCistICAgIHBy aW50CistICAgIHByaW50ICJOb3RlOiBtdWx0aXBsZSAtLWZpbGUgYXJncyBjYW4gYmUgcHJvY2Vz c2VkLiAiLAorLSAgICBwcmludCAiSWYgbXVsdGlwbGUgZmlsZXMgYXJlIHByb3ZpZGVkLCAtLWln bm9yZSBpcyBpbXBsaWVkIgorLSAgICBwcmludAorLSAgICBwcmludCAiV2hlbiBydW4gaW4gLS1k YWVtb24gbW9kZSB0aGUgZm9sbG93aW5nIGZsYWdzIGFyZSBpZ25vcmVkOiIKKy0gICAgcHJpbnQg IiAgICAgLS1maWxlLCAtLXB1cmdlLCAtLW1pZ3JhdGUsIC0tc3luYywgLS12ZXJib3NlIgorKyAg ICBwcmludCgpCisrICAgIHByaW50KCJOb3RlOiBtdWx0aXBsZSAtLWZpbGUgYXJncyBjYW4gYmUg cHJvY2Vzc2VkLiAiKQorKyAgICBwcmludCgiSWYgbXVsdGlwbGUgZmlsZXMgYXJlIHByb3ZpZGVk LCAtLWlnbm9yZSBpcyBpbXBsaWVkIikKKysgICAgcHJpbnQoKQorKyAgICBwcmludCgiV2hlbiBy dW4gaW4gLS1kYWVtb24gbW9kZSB0aGUgZm9sbG93aW5nIGZsYWdzIGFyZSBpZ25vcmVkOiIpCisr ICAgIHByaW50KCIgICAgIC0tZmlsZSwgLS1wdXJnZSwgLS1taWdyYXRlLCAtLXN5bmMsIC0tdmVy Ym9zZSIpCisgCisgCisgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitAQCAtNzIsNyArNzMsNyBA QAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIm1pZ3JhdGUiLCAi cHVyZ2UiLCAiZGFlbW9uIiwgInN5bmMiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgInVwZ3JhZGUwOTkiXSkKKyAgICAgZXhjZXB0OgorLSAgICAgICAgcHJpbnQg IlxuSW52YWxpZCBjb21tYW5kIGxpbmUgb3B0aW9uIGRldGVjdGVkLiIKKysgICAgICAgIHByaW50 KCJcbkludmFsaWQgY29tbWFuZCBsaW5lIG9wdGlvbiBkZXRlY3RlZC4iKQorICAgICAgICAgdXNh Z2UoKQorICAgICAgICAgc3lzLmV4aXQoMSkKKyAgICAgCitAQCAtMTAzLDcgKzEwNCw3IEBACisg ICAgICAgICBpZiBvcHQgPT0gJy0tdXBncmFkZTA5OSc6CisgICAgICAgICAgICAgdXBncmFkZTA5 OSA9IDEKKyAgICAgICAgIGlmIG9wdCA9PSAnLS12ZXJzaW9uJzoKKy0gICAgICAgICAgICBwcmlu dCAiRGVueUhvc3RzIHZlcnNpb246IiwgVkVSU0lPTgorKyAgICAgICAgICAgIHByaW50KCJEZW55 SG9zdHMgdmVyc2lvbjoiLCBWRVJTSU9OKQorICAgICAgICAgICAgIHN5cy5leGl0KDApCisgCisg ICAgIHByZWZzID0gUHJlZnMoY29uZmlnX2ZpbGUpICAgIAorQEAgLTExMiw5ICsxMTMsOSBAQAor ICAgICB0cnk6CisgICAgICAgICBvcy5tYWtlZGlycyhwcmVmcy5nZXQoJ1dPUktfRElSJykpCisg ICAgICAgICBmaXJzdF90aW1lID0gMQorLSAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorLSAgICAg ICAgaWYgZVswXSAhPSAxNzoKKy0gICAgICAgICAgICBwcmludCBlCisrICAgIGV4Y2VwdCBFeGNl cHRpb24gYXMgZToKKysgICAgICAgIGlmIGUuYXJnc1swXSAhPSAxNzoKKysgICAgICAgICAgICBw cmludChlKQorICAgICAgICAgICAgIHN5cy5leGl0KDEpCisgCisgICAgIHNldHVwX2xvZ2dpbmco cHJlZnMsIGVuYWJsZV9kZWJ1ZywgdmVyYm9zZSwgZGFlbW9uKQorQEAgLTE1NCw3ICsxNTUsNyBA QAorICAgICAgICAgICAgICAgICBwID0gUHVyZ2UocHJlZnMsIAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgcHVyZ2VfdGltZSkKKyAKKy0gICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBl OgorKyAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgICAgICAg bG9ja19maWxlLnJlbW92ZSgpCisgICAgICAgICAgICAgICAgIGRpZShzdHIoZSkpCisgCitAQCAt MTYyLDExICsxNjMsMTEgQEAKKyAgICAgICAgIGZvciBmIGluIGxvZ2ZpbGVzOgorICAgICAgICAg ICAgIGRoID0gRGVueUhvc3RzKGYsIHByZWZzLCBsb2NrX2ZpbGUsIGlnbm9yZV9vZmZzZXQsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3RfdGltZSwgbm9lbWFpbCwgZGFlbW9uKQor LSAgICBleGNlcHQgU3lzdGVtRXhpdCwgZToKKysgICAgZXhjZXB0IFN5c3RlbUV4aXQgYXMgZToK KyAgICAgICAgIHBhc3MKKy0gICAgZXhjZXB0IEV4Y2VwdGlvbiwgZToKKysgICAgZXhjZXB0IEV4 Y2VwdGlvbiBhcyBlOgorICAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5zdGRv dXQpCistICAgICAgICBwcmludCAiXG5EZW55SG9zdHMgZXhpdGVkIGFibm9ybWFsbHkiCisrICAg ICAgICBwcmludCgiXG5EZW55SG9zdHMgZXhpdGVkIGFibm9ybWFsbHkiKQorIAorIAorICAgICBp ZiBzeW5jX21vZGUgYW5kIG5vdCBkYWVtb246CitAQCAtMTg5LDcgKzE5MCw3IEBACisgICAgICAg ICAgICAgICAgICAgICBzeW5jLmdldF9kZW5pZWRfaG9zdHMoKQorICAgICAgICAgICAgICAgICAg ICAgc3luYy51cGRhdGVfaG9zdHNfZGVueShuZXdfaG9zdHMpCisgICAgICAgICAgICAgc3luYy54 bWxycGNfZGlzY29ubmVjdCgpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uLCBlOgorKyAgICAg ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorICAgICAgICAgICAgIGxvY2tfZmlsZS5yZW1vdmUo KQorICAgICAgICAgICAgIGRpZSgiRXJyb3Igc3luY2hyb25pemluZyBkYXRhIiwgZSkKKyAgICAg ICAgIAoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtZGVueWhvc3RzLnB5Cl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KQWRkZWQ6IHN2bjptaW1lLXR5cGUKIyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMgLTAs MCArMSAjIworeWVzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjpl b2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJv cGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLXBsdWdpbnNfX3Rlc3RfZGVueS5weQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBmaWxlcy9wYXRjaC1wbHVnaW5zX190ZXN0X2RlbnkucHkJKHJldmlzaW9uIDApCisrKyBm aWxlcy9wYXRjaC1wbHVnaW5zX190ZXN0X2RlbnkucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr MSwxMCBAQAorLS0tIC4vcGx1Z2lucy90ZXN0X2RlbnkucHkub3JpZwkyMDA1LTEyLTE3IDA5OjE1 OjAxLjAwMDAwMDAwMCArMTAzMAorKysrIC4vcGx1Z2lucy90ZXN0X2RlbnkucHkJMjAxNC0wMy0x MSAwMDo1ODowOC4yODMxODU3MzYgKzEwMzAKK0BAIC0xLDUgKzEsNiBAQAorICMhL3Vzci9iaW4v cHl0aG9uCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBz eXMKKyAKKy1wcmludCAiJXMgaW52b2tlZCB3aXRoIHRoZSBmb2xsb3dpbmcgYXJnczogJXMiICUg KHN5cy5hcmd2WzBdLCBzeXMuYXJndlsxOl0pCisrcHJpbnQoIiVzIGludm9rZWQgd2l0aCB0aGUg Zm9sbG93aW5nIGFyZ3M6ICVzIiAlIChzeXMuYXJndlswXSwgc3lzLmFyZ3ZbMTpdKSkKKyBzeXMu ZXhpdCgwKQoKUHJvcGVydHkgY2hhbmdlcyBvbjogZmlsZXMvcGF0Y2gtcGx1Z2luc19fdGVzdF9k ZW55LnB5Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KQWRkZWQ6IGZic2Q6bm9rZXl3b3JkcwojIyAtMCwwICsxICMjCit5 ZXMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRlZDogc3ZuOmVvbC1zdHlsZQoj IyAtMCwwICsxICMjCituYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpBZGRl ZDogc3ZuOm1pbWUtdHlwZQojIyAtMCwwICsxICMjCit0ZXh0L3BsYWluClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgcHJvcGVydHkKSW5kZXg6IGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3RyaWN0ZWRf ZnJvbV9pbnZhbGlkLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3Ry aWN0ZWRfZnJvbV9pbnZhbGlkLnB5CShyZXZpc2lvbiAwKQorKysgZmlsZXMvcGF0Y2gtc2NyaXB0 c19fcmVzdHJpY3RlZF9mcm9tX2ludmFsaWQucHkJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz NyBAQAorLS0tIC4vc2NyaXB0cy9yZXN0cmljdGVkX2Zyb21faW52YWxpZC5weS5vcmlnCTIwMDYt MDItMTAgMDQ6MTY6MDYuMDAwMDAwMDAwICsxMDMwCisrKysgLi9zY3JpcHRzL3Jlc3RyaWN0ZWRf ZnJvbV9pbnZhbGlkLnB5CTIwMTQtMDMtMTEgMDA6NTg6MDguMjg0MTg2MDI4ICsxMDMwCitAQCAt MSwxNCArMSwxNSBAQAorICMhL2Jpbi9lbnYgcHl0aG9uCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9y dCBwcmludF9mdW5jdGlvbgorIGltcG9ydCBvcywgc3lzCisgCisgZGVmIHVzYWdlKCk6CistICAg IHByaW50ICIlcyBXT1JLX0RJUiBbbnVtX3Jlc3VsdHNdIiAlIHN5cy5hcmd2WzBdCisrICAgIHBy aW50KCIlcyBXT1JLX0RJUiBbbnVtX3Jlc3VsdHNdIiAlIHN5cy5hcmd2WzBdKQorICAgICBzeXMu ZXhpdCgxKQorIAorIHRyeToKKyAgICAgd29ya19kaXIgPSBzeXMuYXJndlsxXQorIGV4Y2VwdDoK Ky0gICAgcHJpbnQgInlvdSBtdXN0IHNwZWNpZnkgeW91ciBEZW55SG9zdHMgV09SS19ESVIiCisr ICAgIHByaW50KCJ5b3UgbXVzdCBzcGVjaWZ5IHlvdXIgRGVueUhvc3RzIFdPUktfRElSIikKKyAg ICAgdXNhZ2UoKQorIAorIHRyeTogCitAQCAtMjEsNyArMjIsNyBAQAorIHRyeToKKyAgICAgZnAg PSBvcGVuKGZuYW1lLCAiciIpCisgZXhjZXB0OgorLSAgICBwcmludCBmbmFtZSwgImRvZXMgbm90 IGV4aXN0IgorKyAgICBwcmludChmbmFtZSwgImRvZXMgbm90IGV4aXN0IikKKyAgICAgc3lzLmV4 aXQoMSkKKyAKKyBkID0ge30KK0BAIC01MCw2ICs1MSw2IEBACisgICAgIGwgPSBkLmdldChrZXkp CisgICAgIGZvciB1c2VybmFtZSBpbiBsOgorICAgICAgICAgaSArPSAxCistICAgICAgICBwcmlu dCB1c2VybmFtZQorKyAgICAgICAgcHJpbnQodXNlcm5hbWUpCisgICAgICAgICBpZiBpID49IG51 bTogYnJlYWsKKyAgICAgaWYgaSA+PSBudW06IGJyZWFrCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBm aWxlcy9wYXRjaC1zY3JpcHRzX19yZXN0cmljdGVkX2Zyb21faW52YWxpZC5weQpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkFkZGVkOiBmYnNkOm5va2V5d29yZHMKIyMgLTAsMCArMSAjIworeWVzClwgTm8gbmV3bGluZSBh dCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTAsMCArMSAjIworbmF0 aXZlClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgcHJvcGVydHkKQWRkZWQ6IHN2bjptaW1lLXR5cGUK IyMgLTAsMCArMSAjIwordGV4dC9wbGFpbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5 CkluZGV4OiBmaWxlcy9wYXRjaC1zY3JpcHRzX19yZXN0cmljdGVkX2Zyb21fcGFzc3dkLnB5Cj09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT0KLS0tIGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3RyaWN0ZWRfZnJvbV9wYXNzd2Qu cHkJKHJldmlzaW9uIDM1MTA1NykKKysrIGZpbGVzL3BhdGNoLXNjcmlwdHNfX3Jlc3RyaWN0ZWRf ZnJvbV9wYXNzd2QucHkJKHdvcmtpbmcgY29weSkKQEAgLTEsMTAgKzEsMjEgQEAKLS0tLSAuL3Nj cmlwdHMvcmVzdHJpY3RlZF9mcm9tX3Bhc3N3ZC5weS5vcmlnCTIwMTMtMTItMjggMTg6NTE6NDEu MDAwMDAwMDAwICswMTAwCi0rKysgLi9zY3JpcHRzL3Jlc3RyaWN0ZWRfZnJvbV9wYXNzd2QucHkJ MjAxMy0xMi0yOCAxODo1MTo0MS4wMDAwMDAwMDAgKzAxMDAKLUBAIC0xMiw2ICsxMiw3IEBACist LS0gLi9zY3JpcHRzL3Jlc3RyaWN0ZWRfZnJvbV9wYXNzd2QucHkub3JpZwkyMDE0LTAzLTExIDAw OjIzOjExLjM5ODE4NjI3NiArMTAzMAorKysrIC4vc2NyaXB0cy9yZXN0cmljdGVkX2Zyb21fcGFz c3dkLnB5CTIwMTQtMDMtMTEgMDA6MjM6MjQuODc1MTg2MjEzICsxMDMwCitAQCAtMTAsOCArMTAs OCBAQAorICMgd2hlcmUgJFdPUktfRElSIGlzIHlvdXIgRGVueUhvc3RzIFdPUktfRElSIHBhcmFt ZXRlcgorICMKICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0gCi0gUkVTVFJJQ1RFRF9TSEVMTFMgPSAo Ii9zYmluL25vbG9naW4iLAotKyAgICAgICAgICAgICAgICAgICAgICIvdXNyL3NiaW4vbm9sb2dp biIsCistCistUkVTVFJJQ1RFRF9TSEVMTFMgPSAoIi9zYmluL25vbG9naW4iLAorK2Zyb20gX19m dXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KKytSRVNUUklDVEVEX1NIRUxMUyA9ICgiL3Vz ci9zYmluL25vbG9naW4iLAogICAgICAgICAgICAgICAgICAgICAgICIvc2Jpbi9zaHV0ZG93biIs CiAgICAgICAgICAgICAgICAgICAgICAgIi9zYmluL2hhbHQiKQogIAorQEAgLTI2LDYgKzI2LDYg QEAKKyAKKyB1c2VybmFtZXMuc29ydCgpCisgZm9yIHVzZXJuYW1lIGluIHVzZXJuYW1lczoKKy0g ICAgcHJpbnQgdXNlcm5hbWUKKysgICAgcHJpbnQodXNlcm5hbWUpCisgICAgIAorICAgICAgICAg ICAgICAgICAgICAgIAo= --f46d0434394a214ba904f6ced211--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404120210.s3C2A0Cn022767>