Date: Mon, 2 Jan 2012 17:19:12 -0800 From: Garrett Cooper <yanegomi@gmail.com> To: Doug Barton <dougb@freebsd.org> Cc: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>, FreeBSD current mailing list <freebsd-current@freebsd.org> Subject: Re: periodic emails Message-ID: <CAGH67wQkDOewrquuCB6TAFcyhx3nBd9pUEt7=w3GQ1LMVv1EXg@mail.gmail.com> In-Reply-To: <4F02350D.2050500@FreeBSD.org> References: <E4CECE08-C9BE-4CA5-842B-420A44DCF461@lists.zabbadoz.net> <CAGH67wSUuzMtS51gOV5POEmuw3Do-Kcg6H3dawpDJ39a=OSw7A@mail.gmail.com> <4F023387.1060300@FreeBSD.org> <CAGH67wQOhsqBCRSWwH%2BaUVZWXzN0X6jLZr5L1MZycPx_-Ldygg@mail.gmail.com> <4F02350D.2050500@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--f46d044469e7a75f4e04b5957cd2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Mon, Jan 2, 2012 at 2:51 PM, Doug Barton <dougb@freebsd.org> wrote: > On 01/02/2012 14:49, Garrett Cooper wrote: >> On Mon, Jan 2, 2012 at 2:45 PM, Doug Barton <dougb@freebsd.org> wrote: >>> On 01/02/2012 14:14, Garrett Cooper wrote: >>> >>>> =A0 =A0 How does this look for starters? The attached patch's goal is = to >>>> provide a generic, rc(5)-like infrastructure that would quiet down the >>>> periodic emails for 120.clean-preserve . >>> >>> The periodic scripts are badly in need of attention, so effort in that >>> area is much appreciated. >>> >>> Regarding your patch, rather than copying functions from rc.subr, why >>> not just source it? Yes, you will get more than you need, but I think >>> that the virtue of not having to maintain the same code in 2 places far >>> outweighs that minor drawback. >> >> =A0 =A0 That works too, assuming that rc.subr isn't too rc(5) centric. > > Well of course it's rc-centric, but that's not the point. :) =A0If you're > going to be using the exact same code from rc.subr, you might as well > just source it. The things that you'll get by doing that which are only > relevant to rc you just ignore. > >> Thanks for the feedback! > > Glad to help. Here's a patch (untested apart from sh -n, but I'm going to toss it into a VM to watch the sparks fly), based on stable/9 that makes periodic(5) a bit more like rc(5). Apart from that it resolves some inconsistencies with 800.zfs-scrub (the defaults were in the script and not /etc/defaults/periodic.conf), removes duplicate rc=3D0 declarations, consolidates and generalizes the "catmsgs" function, catches more errors, and some other good stuff. Thanks! -Garrett --f46d044469e7a75f4e04b5957cd2 Content-Type: application/octet-stream; name="periodic-rototill.patch" Content-Disposition: attachment; filename="periodic-rototill.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_gwy8c8il0 SW5kZXg6IGV0Yy9wZXJpb2RpYy93ZWVrbHkvMzIwLndoYXRpcwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMv cGVyaW9kaWMvd2Vla2x5LzMyMC53aGF0aXMJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJp b2RpYy93ZWVrbHkvMzIwLndoYXRpcwkod29ya2luZyBjb3B5KQpAQCAtMywyMSArMywxNSBAQAog IyAkRnJlZUJTRCQKICMKIAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJh dGlvbiBmaWxlLCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGlj LmNvbmYgXQotdGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291 cmNlX3BlcmlvZGljX2NvbmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJHdl ZWtseV93aGF0aXNfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hl Y2t5ZXNubyB3ZWVrbHlfd2hhdGlzX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICJSZWJ1 aWxkaW5nIHdoYXRpcyBkYXRhYmFzZToiCiAKLQlNQU5QQVRIPWAvdXNyL2Jpbi9tYW5wYXRoIC1x YAotCWlmIFsgJD8gPSAwIF0KKwlpZiBNQU5QQVRIPSQoL3Vzci9iaW4vbWFucGF0aCAtcSk7IHRo ZW4KIAl0aGVuCiAJICAgIGlmIFsgLXogIiR7TUFOUEFUSH0iIF0KIAkgICAgdGhlbgpAQCAtMjUs NyArMTksNiBAQAogCQlyYz0zCiAJICAgIGVsc2UKIAkJbWFuX2xvY2FsZXM9YC91c3IvYmluL21h bnBhdGggLXFMYAotCQlyYz0wCiAKIAkgICAgICAgICMgQnVpbGQgd2hhdGlzKDEpIGRhdGFiYXNl KHMpIGZvciBvcmlnaW5hbCwgbm9uLWxvY2FsaXplZAogCQkjICBtYW5wYWdlcy4KQEAgLTQzLDkg KzM2LDcgQEAKIAkgICAgZmkKIAllbHNlCiAJICAgIHJjPTMKLQlmaTs7CisJZmkKK2ZpCiAKLSAg ICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvd2Vla2x5 Lzk5OS5sb2NhbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvd2Vla2x5Lzk5OS5sb2NhbAko cmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL3dlZWtseS85OTkubG9jYWwJKHdvcmtp bmcgY29weSkKQEAgLTMsMTUgKzMsMTAgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUg aXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlm IFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVm YXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0 Yy9wZXJpb2RpYy5zdWJyCiAKIHJjPTAKKwogZm9yIHNjcmlwdCBpbiAkd2Vla2x5X2xvY2FsCiBk bwogICAgIGVjaG8gJycKSW5kZXg6IGV0Yy9wZXJpb2RpYy93ZWVrbHkvNDAwLnN0YXR1cy1wa2cK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3dlZWtseS80MDAuc3RhdHVzLXBrZwkocmV2aXNp b24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL3dlZWtseS80MDAuc3RhdHVzLXBrZwkod29ya2lu ZyBjb3B5KQpAQCAtMywxNiArMywxMSBAQAogIyAkRnJlZUJTRCQKICMKIAotIyBJZiB0aGVyZSBp cyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGluLgotIwotaWYg WyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4gL2V0Yy9kZWZh dWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1maQorLiAvZXRj L3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJHdlZWtseV9zdGF0dXNfcGtnX2VuYWJsZSIgaW4KLSAg ICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8gd2Vla2x5X3N0YXR1c19wa2df ZW5hYmxlOyB0aGVuCiAJZWNobyAiIgogCWVjaG8gIkNoZWNrIGZvciBvdXQgb2YgZGF0ZSBwYWNr YWdlczoiCiAKQEAgLTI1LDkgKzIwLDcgQEAKIAkJLWUgJ3MvXlwoW14gXSotW14gXSpcKSAgKj8g Klwob3JwaGFuZWQ6LipcKSQvICBcMSB3YXMgXDIvcCcgfAogCSAgICB0ZWUgL2Rldi9zdGRlcnIg fAogCSAgICB3YyAtbCkKLQlbICRyYyAtZ3QgMSBdICYmIHJjPTE7OworCVsgJHJjIC1ndCAxIF0g JiYgcmM9MQorZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0 Yy9wZXJpb2RpYy93ZWVrbHkvMzMwLmNhdG1hbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMv d2Vla2x5LzMzMC5jYXRtYW4JKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy93ZWVr bHkvMzMwLmNhdG1hbgkod29ya2luZyBjb3B5KQpAQCAtMyw1NiArMyw0NCBAQAogIyAkRnJlZUJT RCQKICMKIAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxl LCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQot dGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3Blcmlv ZGljX2NvbmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJHdlZWtseV9jYXRt YW5fZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyB3 ZWVrbHlfY2F0bWFuX2VuYWJsZTsgdGhlbgogCWlmIFsgISAtZCAvdXNyL3NoYXJlL21hbi9jYXQx IF0KIAl0aGVuCi0JICAgIGVjaG8gJyR3ZWVrbHlfY2F0bWFuX2VuYWJsZSBpcyBzZXQgYnV0IC91 c3Ivc2hhcmUvbWFuL2NhdDEnIFwKKwkgICAgZXJyIDIgJyR3ZWVrbHlfY2F0bWFuX2VuYWJsZSBp cyBzZXQgYnV0IC91c3Ivc2hhcmUvbWFuL2NhdDEnIFwKIAkJImRvZXNuJ3QgZXhpc3QiCi0JICAg IHJjPTIKLQllbHNlCi0JICAgIGVjaG8gIiIKLQkgICAgZWNobyAiUmVmb3JtYXR0aW5nIG1hbnVh bCBwYWdlczoiCisJZmkKKwllY2hvICIiCisJZWNobyAiUmVmb3JtYXR0aW5nIG1hbnVhbCBwYWdl czoiCiAKLQkgICAgTUFOUEFUSD1gL3Vzci9iaW4vbWFucGF0aCAtcWAKLQkgICAgaWYgWyAkPyA9 IDAgXQorCWlmIE1BTlBBVEg9YC91c3IvYmluL21hbnBhdGggLXFgOyB0aGVuCisJdGhlbgorCSAg ICBpZiBbIC16ICIke01BTlBBVEh9IiBdCiAJICAgIHRoZW4KLQkJaWYgWyAteiAiJHtNQU5QQVRI fSIgXQotCQl0aGVuCi0JCSAgICBlY2hvICJtYW5wYXRoIGZhaWxlZCB0byBmaW5kIGFueSBtYW5w YXRoIGRpcmVjdG9yaWVzIgotCQkgICAgcmM9MwotCQllbHNlCi0JCSAgICBtYW5fbG9jYWxlcz1g L3Vzci9iaW4vbWFucGF0aCAtcUxgCi0JCSAgICByYz0wCisJICAgICAgICBlcnIgMyAibWFucGF0 aCBmYWlsZWQgdG8gZmluZCBhbnkgbWFucGF0aCBkaXJlY3RvcmllcyIKKwkgICAgZWxzZQorCSAg ICAgICAgbWFuX2xvY2FsZXM9YC91c3IvYmluL21hbnBhdGggLXFMYAogCi0JCSAgICAjIFByZWZv cm1hdCBvcmlnaW5hbCwgbm9uLWxvY2FsaXplZCBtYW5wYWdlcwotCQkgICAgZWNobyAvdXNyL2xp YmV4ZWMvY2F0bWFuLmxvY2FsIC1yICIkTUFOUEFUSCIgfAotCQkJc3UgLWZtIG1hbiB8fCByYz0z CisJICAgICAgICAjIFByZWZvcm1hdCBvcmlnaW5hbCwgbm9uLWxvY2FsaXplZCBtYW5wYWdlcwor CQllY2hvIC91c3IvbGliZXhlYy9jYXRtYW4ubG9jYWwgLXIgIiRNQU5QQVRIIiB8CisJCSAgICBz dSAtZm0gbWFuIHx8IHJjPTMKIAotCQkgICAgIyBQcmVmb3JtYXQgbG9jYWxpemVkIG1hbnBhZ2Vz LgotCQkgICAgaWYgWyAtbiAiJG1hbl9sb2NhbGVzIiBdCi0JCSAgICB0aGVuCi0JCQlmb3IgaSBp biAkbWFuX2xvY2FsZXMKLQkJCWRvCi0JCQkgICAgZWNobyAvdXNyL2xpYmV4ZWMvY2F0bWFuLmxv Y2FsIC1MciBcCi0JCQkJIiRNQU5QQVRIIiB8IExDX0FMTD0kaSBzdSAtZm0gbWFuIHx8IHJjPTMK LQkJCWRvbmUKLQkJICAgIGZpCisJCSMgUHJlZm9ybWF0IGxvY2FsaXplZCBtYW5wYWdlcy4KKwkJ aWYgWyAtbiAiJG1hbl9sb2NhbGVzIiBdCisJCXRoZW4KKwkJICAgIGZvciBpIGluICRtYW5fbG9j YWxlcworCQkgICAgZG8KKwkJICAgICAgICBlY2hvIC91c3IvbGliZXhlYy9jYXRtYW4ubG9jYWwg LUxyIFwKKwkJCSIkTUFOUEFUSCIgfCBMQ19BTEw9JGkgc3UgLWZtIG1hbiB8fCByYz0zCisJCSAg ICBkb25lCiAJCWZpCi0JICAgIGVsc2UKLQkJcmM9MwogCSAgICBmaQotCWZpOzsKKwllbHNlCisJ ICAgIHJjPTMKKwlmaQorZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5k ZXg6IGV0Yy9wZXJpb2RpYy93ZWVrbHkvMzEwLmxvY2F0ZQo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVy aW9kaWMvd2Vla2x5LzMxMC5sb2NhdGUJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2Rp Yy93ZWVrbHkvMzEwLmxvY2F0ZQkod29ya2luZyBjb3B5KQpAQCAtMywzMCArMywyMyBAQAogIyAk RnJlZUJTRCQKICMKIAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlv biBmaWxlLCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNv bmYgXQotdGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNl X3BlcmlvZGljX2NvbmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJHdlZWts eV9sb2NhdGVfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5 ZXNubyB3ZWVrbHlfbG9jYXRlX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICJSZWJ1aWxk aW5nIGxvY2F0ZSBkYXRhYmFzZToiCiAKIAlsb2NkYj0vdmFyL2RiL2xvY2F0ZS5kYXRhYmFzZQog Ci0JdG91Y2ggJGxvY2RiICYmIHJjPTAgfHwgcmM9MworCXRvdWNoICRsb2NkYiB8fCByYz0zCiAJ Y2hvd24gbm9ib2R5ICRsb2NkYiB8fCByYz0zCiAJY2htb2QgNjQ0ICRsb2NkYiB8fCByYz0zCiAK IAljZCAvCiAJZWNobyAvdXNyL2xpYmV4ZWMvbG9jYXRlLnVwZGF0ZWRiIHwgbmljZSAtbiA1IHN1 IC1mbSBub2JvZHkgfHwgcmM9MwotCWNobW9kIDQ0NCAkbG9jZGIgfHwgcmM9Mzs7CisJY2htb2Qg NDQ0ICRsb2NkYiB8fCByYz0zCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRy YwpJbmRleDogZXRjL3BlcmlvZGljL3dlZWtseS8zNDAubm9pZAo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMv cGVyaW9kaWMvd2Vla2x5LzM0MC5ub2lkCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9k aWMvd2Vla2x5LzM0MC5ub2lkCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE2ICszLDExIEBACiAjICRG cmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9u IGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u ZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2Vf cGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkd2Vla2x5 X25vaWRfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNu byB3ZWVrbHlfbm9pZF9lbmFibGU7IHRoZW4KIAllY2hvICIiCiAJZWNobyAiQ2hlY2sgZm9yIGZp bGVzIHdpdGggYW4gdW5rbm93biB1c2VyIG9yIGdyb3VwOiIKIApAQCAtMjEsOSArMTYsNiBAQAog CSAgICBcKCAtbm9ncm91cCAtbyAtbm91c2VyIFwpIC1wcmludCB8IHNlZCAncy9eLyAgLycgfAog CSAgICB0ZWUgL2Rldi9zdGRlcnIgfCB3YyAtbCkKIAlbICRyYyAtZ3QgMSBdICYmIHJjPTEKLQk7 OworZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJp b2RpYy9kYWlseS8zMzAubmV3cwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMzMw Lm5ld3MJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS8zMzAubmV3cwko d29ya2luZyBjb3B5KQpAQCAtNiwyOSArNiwyMSBAQAogIyAoVGhpcyBpcyBwcmVzZW50IG9ubHkg Zm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCB1c3VhbGx5IHRoZSBuZXdzCiAjIHN5c3RlbSBo YW5kbGVzIHRoaXMgb24gaXRzIG93bikuCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVt IGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0 cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u ZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAK LWNhc2UgIiRkYWlseV9uZXdzX2V4cGlyZV9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQor cmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X25ld3NfZXhwaXJlX2VuYWJsZTsgdGhlbgogCWlm IFsgISAtZiAvZXRjL25ld3MuZXhwaXJlIF0KIAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9uZXdz X2V4cGlyZV9lbmFibGUgaXMgc2V0IGJ1dCAvZXRjL25ld3MuZXhwaXJlJyBcCisJICAgIGVyciAy ICckZGFpbHlfbmV3c19leHBpcmVfZW5hYmxlIGlzIHNldCBidXQgL2V0Yy9uZXdzLmV4cGlyZScg XAogCQkiZG9lc24ndCBleGlzdCIKLQkgICAgcmM9MgogCWVsc2UKIAkgICAgZWNobyAiIgogCSAg ICBlY2hvICJSdW5uaW5nIG5ld3MuZXhwaXJlOiIKIAogCSAgICAvZXRjL25ld3MuZXhwaXJlICYm IHJjPTAgfHwgcmM9MwotCWZpOzsKKwlmaQorZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQog ZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS80OTAuc3RhdHVzLXBrZy1jaGFuZ2Vz Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9kYWlseS80OTAuc3RhdHVzLXBrZy1jaGFuZ2Vz CShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvNDkwLnN0YXR1cy1wa2ct Y2hhbmdlcwkod29ya2luZyBjb3B5KQpAQCAtMywyMiArMywxNiBAQAogIyAkRnJlZUJTRCQKICMK IAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNr IGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXTsgdGhlbgot ICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2Nv bmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3N0YXR1c19wa2df Y2hhbmdlc19lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3ll c25vIGRhaWx5X3N0YXR1c19wa2dfY2hhbmdlc19lbmFibGU7IHRoZW4KIAlpZiBbICEgLWYgL3Vz ci9zYmluL3BrZ19pbmZvIF07IHRoZW4KLQkgICAgZWNobyAnJGRhaWx5X3N0YXR1c19wa2dfY2hh bmdlc19lbmFibGUgaXMgZW5hYmxlZCBidXQnIFwKKwkgICAgZXJyIDIgJyRkYWlseV9zdGF0dXNf cGtnX2NoYW5nZXNfZW5hYmxlIGlzIGVuYWJsZWQgYnV0JyBcCiAJCSAiL3Vzci9zYmluL3BrZ19p bmZvIGRvZXNuJ3QgZXhpc3QiCi0JICAgIHJjPTIKIAllbHNlCiAJICAgIGJhaz0vdmFyL2JhY2t1 cHMKLQkgICAgcmM9MAogCiAJICAgIGlmIFsgLWYgJGJhay9wa2dfaW5mby5iYWsgXTsgdGhlbgog CSAgICAJbXYgLWYgJGJhay9wa2dfaW5mby5iYWsgJGJhay9wa2dfaW5mby5iYWsyCkBAIC0zMywx MSArMjcsNiBAQAogCQl8IGdyZXAgJ15bLStdW14tK10nIHwgc29ydCAtayAxLjIKIAkgICAgZmkK IAlmaQotCTs7CitmaQogCi0gICAgKikKLQlyYz0wCi0JOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5k ZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS85OTkubG9jYWwKPT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3Blcmlv ZGljL2RhaWx5Lzk5OS5sb2NhbAkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2Rh aWx5Lzk5OS5sb2NhbAkod29ya2luZyBjb3B5KQpAQCAtNiwxMyArNiw3IEBACiAjIGNvbXBhdGli aWxpdHkgbW9yZSB0aGFuIGFueXRoaW5nIGVsc2UuCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9i YWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0 Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVy aW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2Rp Yy5zdWJyCiAKIHJjPTAKIGZvciBzY3JpcHQgaW4gJGRhaWx5X2xvY2FsCkluZGV4OiBldGMvcGVy aW9kaWMvZGFpbHkvODAwLnNjcnViLXpmcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFp bHkvODAwLnNjcnViLXpmcwkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5 LzgwMC5zY3J1Yi16ZnMJKHdvcmtpbmcgY29weSkKQEAgLTMsMjIgKzMsMTYgQEAKICMgJEZyZWVC U0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmls ZSwgc3VjayBpdCBpbi4KLSMKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKIG5ld2xpbmU9IgogIiAj IEEgc2luZ2xlIG5ld2xpbmUKIAotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYg XQotdGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3Bl cmlvZGljX2NvbmZzCi1maQorcmM9MAogCiA6ICR7ZGFpbHlfc2NydWJfemZzX2RlZmF1bHRfdGhy ZXNob2xkPTMwfQogCi1jYXNlICIkZGFpbHlfc2NydWJfemZzX2VuYWJsZSIgaW4KLSAgICBbWXld W0VlXVtTc10pCitpZiBjaGVja3llc25vIGRhaWx5X3NjcnViX3pmc19lbmFibGU7IHRoZW4KIAll Y2hvCiAJZWNobyAnU2NydWJiaW5nIG9mIHpmcyBwb29sczonCiAKQEAgLTI2LDcgKzIwLDYgQEAK IAkJZGFpbHlfc2NydWJfemZzX3Bvb2xzPSIkKHpwb29sIGxpc3QgLUggLW8gbmFtZSkiCiAJZmkK IAotCXJjPTAKIAlmb3IgcG9vbCBpbiAke2RhaWx5X3NjcnViX3pmc19wb29sc307IGRvCiAJCSMg c2FuaXR5IGNoZWNrCiAJCV9zdGF0dXM9JCh6cG9vbCBsaXN0ICIke3Bvb2x9IiAyPiAvZGV2L251 bGwpCkBAIC04OCwxMSArODEsNiBAQAogCiAJCWVjaG8gIiAgICAgIGNvbnN1bHQgJ3pwb29sIHN0 YXR1cyAke3Bvb2x9JyBmb3IgdGhlIHJlc3VsdCIKIAlkb25lCi0JOzsKK2ZpCiAKLSAgICAqKQot CXJjPTAKLQk7OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzQ0 MC5zdGF0dXMtbWFpbHEKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzQ0MC5zdGF0 dXMtbWFpbHEJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS80NDAuc3Rh dHVzLW1haWxxCSh3b3JraW5nIGNvcHkpCkBAIC0zLDY0ICszLDUzIEBACiAjICRGcmVlQlNEJAog IwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1 Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVu Ci0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNf Y29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfc3RhdHVzX21h aWxxX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8g ZGFpbHlfc3RhdHVzX21haWxxX2VuYWJsZTsgdGhlbgogCWlmIFsgISAteCAvdXNyL2Jpbi9tYWls cSBdCiAJdGhlbgotCSAgICBlY2hvICckZGFpbHlfc3RhdHVzX21haWxxX2VuYWJsZSBpcyBzZXQg YnV0IC91c3IvYmluL21haWxxJyBcCisJICAgIGVyciAyICckZGFpbHlfc3RhdHVzX21haWxxX2Vu YWJsZSBpcyBzZXQgYnV0IC91c3IvYmluL21haWxxJyBcCiAJCSJpc24ndCBleGVjdXRhYmxlIgot CSAgICByYz0yCiAJZWxzZQogCSAgICBlY2hvICIiCiAJICAgIGVjaG8gIk1haWwgaW4gbG9jYWwg cXVldWU6IgogCi0JICAgIHJjPSQoY2FzZSAiJGRhaWx5X3N0YXR1c19tYWlscV9zaG9ydGVuIiBp bgotCQlbWXldW0VlXVtTc10pCisJICAgIG49JChpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19t YWlscV9zaG9ydGVuOyB0aGVuCiAJCSAgICBtYWlscSB8CiAJCQllZ3JlcCAtZSAnXltbOnNwYWNl Ol1dK1teWzpzcGFjZTpdXStAJyB8CiAJCQlzb3J0IHwKIAkJCXVuaXEgLWMgfAogCQkJc29ydCAt bnIgfAotCQkJYXdrICckMSA+PSAxIHtwcmludCAkMSwgJDJ9Jzs7Ci0JCSopCi0JCSAgICBtYWls cTs7Ci0JICAgIGVzYWMgfCB0ZWUgL2Rldi9zdGRlcnIgfAorCQkJYXdrICckMSA+PSAxIHtwcmlu dCAkMSwgJDJ9JworCQllbHNlCisJCSAgICBtYWlscQorCSAgICAgICAgZmkgfCB0ZWUgL2Rldi9z dGRlcnIgfAogCSAgICBlZ3JlcCAtdiAnKG1xdWV1ZSBpcyBlbXB0eXxUb3RhbCByZXF1ZXN0cykn IHwgd2MgLWwpCi0JICAgIFsgJHJjIC1ndCAwIF0gJiYgcmM9MSB8fCByYz0wCisJICAgIFsgJG4g LWd0IDAgXSAmJiByYz0xCiAKLQkgICAgY2FzZSAiJGRhaWx5X3N0YXR1c19pbmNsdWRlX3N1Ym1p dF9tYWlscSIgaW4KLQkgICAgW1l5XVtFZV1bU3NdKQorCSAgICBpZiBjaGVja3llc25vIGRhaWx5 X3N0YXR1c19pbmNsdWRlX3N1Ym1pdF9tYWlscTsgdGhlbgogCQlpZiBbIC1mIC9ldGMvbWFpbC9z dWJtaXQuY2YgXQogCQl0aGVuCiAJCSAgICBlY2hvICIiCiAJCSAgICBlY2hvICJNYWlsIGluIHN1 Ym1pdCBxdWV1ZToiCiAKLQkJICAgIHJjX3N1Ym1pdD0kKGNhc2UgIiRkYWlseV9zdGF0dXNfbWFp bHFfc2hvcnRlbiIgaW4KLQkJCVtZeV1bRWVdW1NzXSkKKwkJICAgIG49JChpZiBjaGVja3llc25v IGRhaWx5X3N0YXR1c19tYWlscV9zaG9ydGVuOyB0aGVuCiAJCQkgICAgbWFpbHEgLUFjIHwKIAkJ CQllZ3JlcCAtZSAnXltbOnNwYWNlOl1dK1teWzpzcGFjZTpdXStAJyB8CiAJCQkJc29ydCB8CiAJ CQkJdW5pcSAtYyB8CiAJCQkJc29ydCAtbnIgfAotCQkJCWF3ayAnJDEgPj0gMSB7cHJpbnQgJDEs ICQyfSc7OwotCQkJKikKLQkJCSAgICBtYWlscSAtQWM7OwotCQkgICAgZXNhYyB8IHRlZSAvZGV2 L3N0ZGVyciB8CisJCQkJYXdrICckMSA+PSAxIHtwcmludCAkMSwgJDJ9JworCQkJZWxzZQorCQkJ ICAgIG1haWxxIC1BYworCQkgICAgICAgIGZpIHwgdGVlIC9kZXYvc3RkZXJyIHwKIAkJICAgIGVn cmVwIC12ICcobXF1ZXVlIGlzIGVtcHR5fFRvdGFsIHJlcXVlc3RzKScgfCB3YyAtbCkKLQkJICAg IFsgJHJjX3N1Ym1pdCAtZ3QgMCBdICYmIHJjPTEKLQkJZmk7OwotCSAgICBlc2FjCi0JZmk7Owor CQkgICAgWyAkbiAtZ3QgMCBdICYmIHJjPTEKKwkJZmkKKwkgICAgZmkKKwlmaQorZmkKIAotICAg ICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS8x MzAuY2xlYW4tbXNncwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMTMwLmNsZWFu LW1zZ3MJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS8xMzAuY2xlYW4t bXNncwkod29ya2luZyBjb3B5KQpAQCAtNSwyMSArNSwxNSBAQAogIyBSZW1vdmUgc3lzdGVtCW1l c3NhZ2VzCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24g ZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25m IF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9w ZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2UgIiRkYWlseV9j bGVhbl9tc2dzX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNr eWVzbm8gZGFpbHlfY2xlYW5fbXNnc19lbmFibGU7IHRoZW4KIAlpZiBbICEgLWQgL3Zhci9tc2dz IF0KIAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9jbGVhbl9tc2dzX2VuYWJsZSBpcyBzZXQgYnV0 IC92YXIvbXNncycgXAorCSAgICBlcnIgMiAnJGRhaWx5X2NsZWFuX21zZ3NfZW5hYmxlIGlzIHNl dCBidXQgL3Zhci9tc2dzJyBcCiAJCSJkb2Vzbid0IGV4aXN0IgotCSAgICByYz0yCiAJZWxzZQog CSAgICBlY2hvICIiCiAJICAgIGVjaG8gIkNsZWFuaW5nIG91dCBvbGQgc3lzdGVtIGFubm91bmNl bWVudHM6IgpAQCAtMjcsOSArMjEsNyBAQAogCSAgICBbIC1uICIkZGFpbHlfY2xlYW5fbXNnc19k YXlzIiBdICYmCiAJCWFyZz0tJHtkYWlseV9jbGVhbl9tc2dzX2RheXMjLX0gfHwgYXJnPQogCSAg ICBtc2dzIC1jICRhcmcgJiYgcmM9MCB8fCByYz0zCi0JZmk7OworCWZpCitmaQogCi0gICAgKikg IHJjPTA7OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzEwMC5j bGVhbi1kaXNrcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMTAwLmNsZWFuLWRp c2tzCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvMTAwLmNsZWFuLWRp c2tzCSh3b3JraW5nIGNvcHkpCkBAIC01LDUxICs1LDQwIEBACiAjIFJlbW92ZSBnYXJiYWdlIGZp bGVzIG1vcmUgdGhhbiAkZGFpbHlfY2xlYW5fZGlza3NfZGF5cyBkYXlzIG9sZAogIwogCi0jIElm IHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4u Ci0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAv ZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZp CisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfY2xlYW5fZGlza3NfZW5hYmxl IiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyBkYWlseV9jbGVh bl9kaXNrc19lbmFibGU7IHRoZW4KIAlpZiBbIC16ICIkZGFpbHlfY2xlYW5fZGlza3NfZGF5cyIg XQogCXRoZW4KLQkgICAgZWNobyAnJGRhaWx5X2NsZWFuX2Rpc2tzX2VuYWJsZSBpcyBzZXQgYnV0 JyBcCisJICAgIGVyciAyICckZGFpbHlfY2xlYW5fZGlza3NfZW5hYmxlIGlzIHNldCBidXQnIFwK IAkJJyRkYWlseV9jbGVhbl9kaXNrc19kYXlzIGlzIG5vdCcKLQkgICAgcmM9MgogCWVsaWYgWyAt eiAiJGRhaWx5X2NsZWFuX2Rpc2tzX2ZpbGVzIiBdCiAJdGhlbgotCSAgICBlY2hvICckZGFpbHlf Y2xlYW5fZGlza3NfZW5hYmxlIGlzIHNldCBidXQnIFwKKwkgICAgZXJyIDIgJyRkYWlseV9jbGVh bl9kaXNrc19lbmFibGUgaXMgc2V0IGJ1dCcgXAogCQknJGRhaWx5X2NsZWFuX2Rpc2tzX2ZpbGVz IGlzIG5vdCcKLQkgICAgcmM9MgogCWVsc2UKLQkgICAgZWNobyAiIgotCSAgICBlY2hvICJDbGVh bmluZyBkaXNrczoiCisJICAgIGlmIGNoZWNreWVzbm8gZGFpbHlfY2xlYW5fZGlza3NfdmVyYm9z ZTsgdGhlbgorCQllY2hvICIiCisJCWVjaG8gIkNsZWFuaW5nIGRpc2tzOiIKKworCQlwcmludD0t cHJpbnQKKwkgICAgZWxzZQorCQlwcmludD0KKwkgICAgZmkKIAkgICAgc2V0IC1mIG5vZ2xvYgog CSAgICBhcmdzPSItbmFtZSAiYGVjaG8gIiRkYWlseV9jbGVhbl9kaXNrc19maWxlcyIgfAogCQlz ZWQgLWUgJ3MvXlsgCV0qLy8nIFwKIAkJICAgIC1lICdzL1sgCV0qJC8vJyBcCiAJCSAgICAtZSAn cy9bIAldWyAJXSovIC1vIC1uYW1lIC9nJ2AKIAotCSAgICBjYXNlICIkZGFpbHlfY2xlYW5fZGlz a3NfdmVyYm9zZSIgaW4KLQkJW1l5XVtFZV1bU3NdKQotCQkgICAgcHJpbnQ9LXByaW50OzsKLQkJ KikKLQkJICAgIHByaW50PTs7Ci0JICAgIGVzYWMKLQogCSAgICByYz0kKGZpbmQgLyBcKCAhIC1m c3R5cGUgbG9jYWwgLW8gLWZzdHlwZSByZG9ubHkgXCkgLXBydW5lIC1vIFwKIAkJXCggJGFyZ3Mg XCkgLWF0aW1lICskZGFpbHlfY2xlYW5fZGlza3NfZGF5cyBcCiAJCS1leGVjZGlyIHJtIC1kZiB7 fSBcOyAkcHJpbnQgfCB0ZWUgL2Rldi9zdGRlcnIgfCB3YyAtbCkKLQkgICAgWyAteiAiJHByaW50 IiBdICYmIHJjPTAKIAkgICAgWyAkcmMgLWd0IDEgXSAmJiByYz0xCiAJICAgIHNldCAtZiBnbG9i Ci0JZmk7OworCWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRyYwpJbmRl eDogZXRjL3BlcmlvZGljL2RhaWx5LzQ1MC5zdGF0dXMtc2VjdXJpdHkKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g ZXRjL3BlcmlvZGljL2RhaWx5LzQ1MC5zdGF0dXMtc2VjdXJpdHkJKHJldmlzaW9uIDIyOTMyMykK KysrIGV0Yy9wZXJpb2RpYy9kYWlseS80NTAuc3RhdHVzLXNlY3VyaXR5CSh3b3JraW5nIGNvcHkp CkBAIC0zLDM5ICszLDMxIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xv YmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9l dGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3Bl cmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9k aWMuc3VicgogCi1jYXNlICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2VuYWJsZSIgaW4KLSAgICBb WXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5 X2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICJTZWN1cml0eSBjaGVjazoiCiAKLQljYXNl ICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2lubGluZSIgaW4KLQkgICAgW1l5XVtFZV1bU3NdKQor CWlmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2lubGluZTsgdGhlbgogCQlleHBv cnQgc2VjdXJpdHlfb3V0cHV0PSIiOzsKLQkgICAgKikKKwllbHNlCiAJCWV4cG9ydCBzZWN1cml0 eV9vdXRwdXQ9IiR7ZGFpbHlfc3RhdHVzX3NlY3VyaXR5X291dHB1dH0iCiAJCWNhc2UgIiR7ZGFp bHlfc3RhdHVzX3NlY3VyaXR5X291dHB1dH0iIGluCiAJCSAgICAiIikKIAkJCXJjPTM7OwogCQkg ICAgLyopCiAJCQllY2hvICIgICAgKG91dHB1dCBsb2dnZWQgc2VwYXJhdGVseSkiCi0JCQlyYz0w OzsKKwkJCTs7CiAJCSAgICAqKQogCQkJZWNobyAiICAgIChvdXRwdXQgbWFpbGVkIHNlcGFyYXRl bHkpIgotCQkJcmM9MDs7Ci0JCWVzYWM7OwotCWVzYWMKKwkJCTs7CisJCWVzYWMKKwlmaQogCi0J cGVyaW9kaWMgc2VjdXJpdHkgfHwgcmM9Mzs7CisJcGVyaW9kaWMgc2VjdXJpdHkgfHwgcmM9Mwor ZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2Rp Yy9kYWlseS8xNDAuY2xlYW4tcndobwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkv MTQwLmNsZWFuLXJ3aG8JKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS8x NDAuY2xlYW4tcndobwkod29ya2luZyBjb3B5KQpAQCAtNSw0OSArNSwzNyBAQAogIyBSZW1vdmUg c3RhbGUgZmlsZXMgaW4gL3Zhci9yd2hvCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lz dGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZh dWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMu Y29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJy CiAKLWNhc2UgIiRkYWlseV9jbGVhbl9yd2hvX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10p CityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFpbHlfY2xlYW5fcndob19lbmFibGU7IHRoZW4KIAlp ZiBbIC16ICIkZGFpbHlfY2xlYW5fcndob19kYXlzIiBdCiAJdGhlbgotCSAgICBlY2hvICckZGFp bHlfY2xlYW5fcndob19lbmFibGUgaXMgZW5hYmxlZCBidXQnIFwKKwkgICAgZXJyIDIgJyRkYWls eV9jbGVhbl9yd2hvX2VuYWJsZSBpcyBlbmFibGVkIGJ1dCcgXAogCQknJGRhaWx5X2NsZWFuX3J3 aG9fZGF5cyBpcyBub3Qgc2V0JwotCSAgICByYz0yCiAJZWxpZiBbICEgLWQgL3Zhci9yd2hvIF0K IAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9jbGVhbl9yd2hvX2VuYWJsZSBpcyBlbmFibGVkIGJ1 dCAvdmFyL3J3aG8nIFwKKwkgICAgZXJyIDIgJyRkYWlseV9jbGVhbl9yd2hvX2VuYWJsZSBpcyBl bmFibGVkIGJ1dCAvdmFyL3J3aG8nIFwKIAkJImRvZXNuJ3QgZXhpc3QiCi0JICAgIHJjPTIKIAll bHNlCi0JICAgIGVjaG8gIiIKLQkgICAgZWNobyAiUmVtb3Zpbmcgc3RhbGUgZmlsZXMgZnJvbSAv dmFyL3J3aG86IgorCSAgICBpZiBjaGVja3llc25vIGRhaWx5X2NsZWFuX3J3aG9fdmVyYm9zZTsg dGhlbgorCQllY2hvICIiCisJCWVjaG8gIlJlbW92aW5nIHN0YWxlIGZpbGVzIGZyb20gL3Zhci9y d2hvOiIKIAotCSAgICBjYXNlICIkZGFpbHlfY2xlYW5fcndob192ZXJib3NlIiBpbgotCQlbWXld W0VlXVtTc10pCi0JCSAgICBwcmludD0tcHJpbnQ7OwotCQkqKQotCQkgICAgcHJpbnQ9OzsKLQkg ICAgZXNhYwotCisJCXByaW50PS1wcmludAorCSAgICBlbHNlCisJCXByaW50PQorCSAgICBmaQog CSAgICBpZiBjZCAvdmFyL3J3aG8KIAkgICAgdGhlbgogCQlyYz0kKGZpbmQgLiAhIC1uYW1lIC4g LW10aW1lICskZGFpbHlfY2xlYW5fcndob19kYXlzIFwKIAkJICAgIC1kZWxldGUgJHByaW50IHwg dGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCi0JCVsgLXogIiRwcmludCIgXSAmJiByYz0wCiAJCVsg JHJjIC1ndCAxIF0gJiYgcmM9MQogCSAgICBlbHNlCiAJCXJjPTMKIAkgICAgZmkKLQlmaTs7CisJ ZmkKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBldGMvcGVy aW9kaWMvZGFpbHkvMTEwLmNsZWFuLXRtcHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2Rh aWx5LzExMC5jbGVhbi10bXBzCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFp bHkvMTEwLmNsZWFuLXRtcHMJKHdvcmtpbmcgY29weSkKQEAgLTYsMjUgKzYsMjQgQEAKICMgZG9u J3QgZW5kIHVwIHdpdGggZXhjZXNzaXZlbHkgb2xkIGZpbGVzIHRoZXJlLgogIwogCi0jIElmIHRo ZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0j Ci1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRj L2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisu IC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfY2xlYW5fdG1wc19lbmFibGUiIGlu Ci0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X2NsZWFuX3Rt cHNfZW5hYmxlOyB0aGVuCiAJaWYgWyAteiAiJGRhaWx5X2NsZWFuX3RtcHNfZGF5cyIgXQogCXRo ZW4KLQkgICAgZWNobyAnJGRhaWx5X2NsZWFuX3RtcHNfZW5hYmxlIGlzIHNldCBidXQnIFwKKwkg ICAgZXJyIDIgJyRkYWlseV9jbGVhbl90bXBzX2VuYWJsZSBpcyBzZXQgYnV0JyBcCiAJCSckZGFp bHlfY2xlYW5fdG1wc19kYXlzIGlzIG5vdCcKLQkgICAgcmM9MgogCWVsc2UKLQkgICAgZWNobyAi IgotCSAgICBlY2hvICJSZW1vdmluZyBvbGQgdGVtcG9yYXJ5IGZpbGVzOiIKKwkgICAgaWYgY2hl Y2t5ZXNubyBkYWlseV9jbGVhbl90bXBzX3ZlcmJvc2U7IHRoZW4KKwkJZWNobyAiIgorCQllY2hv ICJSZW1vdmluZyBvbGQgdGVtcG9yYXJ5IGZpbGVzOiIKIAorCQlwcmludD0tcHJpbnQKKwkgICAg ZWxzZQorCQlwcmludD0KKwkgICAgZmkKIAkgICAgc2V0IC1mIG5vZ2xvYgogCSAgICBhcmdzPSIt YXRpbWUgKyRkYWlseV9jbGVhbl90bXBzX2RheXMgLW10aW1lICskZGFpbHlfY2xlYW5fdG1wc19k YXlzIgogCSAgICBhcmdzPSIke2FyZ3N9IC1jdGltZSArJGRhaWx5X2NsZWFuX3RtcHNfZGF5cyIK QEAgLTM1LDEzICszNCw2IEBACiAJCWRhcmdzPSIkZGFyZ3MgImBlY2hvICIgJHtkYWlseV9jbGVh bl90bXBzX2lnbm9yZSUgfSIgfAogCQkgICAgc2VkICdzL1sgCV1bIAldKi8gISAtbmFtZSAvZydg CiAJICAgIH0KLQkgICAgY2FzZSAiJGRhaWx5X2NsZWFuX3RtcHNfdmVyYm9zZSIgaW4KLQkJW1l5 XVtFZV1bU3NdKQotCQkgICAgcHJpbnQ9LXByaW50OzsKLQkJKikKLQkJICAgIHByaW50PTs7Ci0J ICAgIGVzYWMKLQogCSAgICByYz0kKGZvciBkaXIgaW4gJGRhaWx5X2NsZWFuX3RtcHNfZGlycwog CQlkbwogCQkgICAgWyAuIiR7ZGlyIy99IiAhPSAuIiRkaXIiIC1hIC1kICRkaXIgXSAmJiBjZCAk ZGlyICYmIHsKQEAgLTQ5LDEyICs0MSw5IEBACiAJCQlmaW5kIC1kIC4gISAtbmFtZSAuIC10eXBl IGQgJGRhcmdzIC1kZWxldGUgJHByaW50CiAJCSAgICB9IHwgc2VkICJzLF5cXC4sICAkZGlyLCIK IAkJZG9uZSB8IHRlZSAvZGV2L3N0ZGVyciB8IHdjIC1sKQotCSAgICBbIC16ICIkcHJpbnQiIF0g JiYgcmM9MAogCSAgICBbICRyYyAtZ3QgMSBdICYmIHJjPTEKIAkgICAgc2V0IC1mIGdsb2IKLQlm aTs7CisJZmkKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBl dGMvcGVyaW9kaWMvZGFpbHkvNDMwLnN0YXR1cy1yd2hvCj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJp b2RpYy9kYWlseS80MzAuc3RhdHVzLXJ3aG8JKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJp b2RpYy9kYWlseS80MzAuc3RhdHVzLXJ3aG8JKHdvcmtpbmcgY29weSkKQEAgLTMsMTYgKzMsMTEg QEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZp Z3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJp b2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAg IHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2Ug IiRkYWlseV9zdGF0dXNfcndob19lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAor CitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19yd2hvX2VuYWJsZTsgdGhlbgogCXJ3aG89JChl Y2hvIC92YXIvcndoby8qKQogICAgICAgICBpZiBbIC1mICIke3J3aG8lJSAqfSIgXQogICAgICAg ICB0aGVuCkBAIC0yNCwxNSArMTksMTMgQEAKIAkgICAgZWNobyAiTG9jYWwgc3lzdGVtIHN0YXR1 czoiCiAJICAgIHByb2c9dXB0aW1lCiAJZmkKLQlyYz0kKCRwcm9nIHwgdGVlIC9kZXYvc3RkZXJy IHwgd2MgLWwpCisJbj0kKCRwcm9nIHwgdGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCiAJaWYgWyAk PyAtZXEgMCBdCiAJdGhlbgotCSAgICBbICRyYyAtZ3QgMSBdICYmIHJjPTEKKwkgICAgWyAkbiAt Z3QgMSBdICYmIHJjPTEKIAllbHNlCiAJICAgIHJjPTMKLQlmaTs7CisJZmkKK2ZpCiAKLSAgICAq KSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvZGFpbHkvNDYw LnN0YXR1cy1tYWlsLXJlamVjdHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzQ2 MC5zdGF0dXMtbWFpbC1yZWplY3RzCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMv ZGFpbHkvNDYwLnN0YXR1cy1tYWlsLXJlamVjdHMJKHdvcmtpbmcgY29weSkKQEAgLTMsMzYgKzMs MjkgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNv bmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9w ZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgot ICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcworLiAvZXRjL3BlcmlvZGljLnN1YnIKKworcmM9MAor CitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19tYWlsX3JlamVjdHNfc2hvcnRlbjsgdGhlbgor CXNob3J0ZW49J2N1dCAtZCIgIiAtZjIsMycKK2Vsc2UKKwlzaG9ydGVuPWNhdAogZmkKIAotY2Fz ZSAiJGRhaWx5X3N0YXR1c19tYWlsX3JlamVjdHNfc2hvcnRlbiIgaW4KLVtZeV1bRWVdW1NzXSkJ c2hvcnRlbj0nY3V0IC1kIiAiIC1mMiwzJzs7Ci0qKQkJc2hvcnRlbj1jYXQ7OwotZXNhYwotCi1j YXNlICIkZGFpbHlfc3RhdHVzX21haWxfcmVqZWN0c19lbmFibGUiIGluCi0gICAgW1l5XVtFZV1b U3NdKQoraWYgY2hlY2t5ZXNubyBkYWlseV9zdGF0dXNfbWFpbF9yZWplY3RzX2VuYWJsZTsgdGhl bgogCWlmIFsgISAtZCAvZXRjL21haWwgXQogCXRoZW4KLQkgICAgZWNobyAnJGRhaWx5X3N0YXR1 c19tYWlsX3JlamVjdHNfZW5hYmxlIGlzIHNldCBidXQgL2V0Yy9tYWlsJyBcCisJICAgIGVyciAy ICckZGFpbHlfc3RhdHVzX21haWxfcmVqZWN0c19lbmFibGUgaXMgc2V0IGJ1dCAvZXRjL21haWwn IFwKIAkJImRvZXNuJ3QgZXhpc3QiCi0JICAgIHJjPTIKIAllbGlmIFsgISAtZiAvdmFyL2xvZy9t YWlsbG9nIF0KIAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9zdGF0dXNfbWFpbF9yZWplY3RzX2Vu YWJsZSBpcyBzZXQgYnV0ICcgXAorCSAgICBlcnIgMiAnJGRhaWx5X3N0YXR1c19tYWlsX3JlamVj dHNfZW5hYmxlIGlzIHNldCBidXQgJyBcCiAJCSIvdmFyL2xvZy9tYWlsbG9nIGRvZXNuJ3QgZXhp c3QiCi0JICAgIHJjPTIKIAllbGlmIFsgIiRkYWlseV9zdGF0dXNfbWFpbF9yZWplY3RzX2xvZ3Mi IC1sZSAwIF0KIAl0aGVuCi0JICAgIGVjaG8gJyRkYWlseV9zdGF0dXNfbWFpbF9yZWplY3RzX2Vu YWJsZSBpcyBzZXQgYnV0ICcgXAorCSAgICBlcnIgMiAnJGRhaWx5X3N0YXR1c19tYWlsX3JlamVj dHNfZW5hYmxlIGlzIHNldCBidXQgJyBcCiAJCSckZGFpbHlfc3RhdHVzX21haWxfcmVqZWN0c19s b2dzIGlzIG5vdCBncmVhdGVyIHRoYW4gemVybycKLQkgICAgcmM9MgogCWVsc2UKIAkgICAgZWNo bwogCSAgICBlY2hvIENoZWNraW5nIGZvciByZWplY3RlZCBtYWlsIGhvc3RzOgpAQCAtNjUsOSAr NTgsNyBAQAogCQkgICAgOmVuZAogCQl9JyB8IGV2YWwgJHNob3J0ZW4gfCBzb3J0IC1mIHwgdW5p cSAtaWMgfCBzb3J0IC1mbnIgfCB0ZWUgL2Rldi9zdGRlcnIgfCB3YyAtbCkKIAkgICAgWyAkcmMg LWd0IDAgXSAmJiByYz0xCi0JZmk7OworCWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwot CiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzQwNS5zdGF0dXMtYXRhLXJhaWQK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzQwNS5zdGF0dXMtYXRhLXJhaWQJKHJl dmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS80MDUuc3RhdHVzLWF0YS1yYWlk CSh3b3JraW5nIGNvcHkpCkBAIC0xLDMzICswLDAgQEAKLSMhL2Jpbi9zaAotIwotIyAkRnJlZUJT RCQKLSMKLQotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxl LCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQot dGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3Blcmlv ZGljX2NvbmZzCi1maQotCi1jYXNlICIkZGFpbHlfc3RhdHVzX2F0YV9yYWlkX2VuYWJsZSIgaW4K LSAgICBbWXldW0VlXVtTc10pCi0JZWNobwotCWVjaG8gJ0NoZWNraW5nIHN0YXR1cyBvZiBBVEEg cmFpZCBwYXJ0aXRpb25zOicKLQotCXJjPTAKLQlmb3IgcmFpZCBpbiBgZmluZCAvZGV2LyAtbmFt ZSAnYXJbMC05XSonIC10eXBlIGMgfCBlZ3JlcCAnWzAtOV0kJyBcCi0JCXwgZWdyZXAgLXYgJ3Nb MC05XScgfCBjdXQgLWQgLyAtZiAzYAotCSAgICAgZG8KLQkJc3RhdHVzPWAvc2Jpbi9hdGFjb250 cm9sIHN0YXR1cyAkcmFpZGAKLQkJZWNobyAkc3RhdHVzCi0JCXJhaWRfcmM9YGVjaG8gJHN0YXR1 cyB8IGdyZXAgLXYgUkVBRFkgfCB3YyAtbGAKLQkJWyAkcmMgLWVxIDAgXSAmJiBbICRyYWlkX3Jj IC1ndCAwIF0gJiYgcmM9MwotCSAgICAgZG9uZQotCTs7Ci0KLSAgICAqKSAgcmM9MDs7Ci1lc2Fj Ci0KLWV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvZGFpbHkvNDA5LnN0YXR1cy1nY29uY2F0 Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9kYWlseS80MDkuc3RhdHVzLWdjb25jYXQJKHJl dmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS80MDkuc3RhdHVzLWdjb25jYXQJ KHdvcmtpbmcgY29weSkKQEAgLTMsMTYgKzMsMTEgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYg dGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4K LSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9l dGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkK Ky4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfZ2NvbmNhdF9lbmFi bGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X3N0 YXR1c19nY29uY2F0X2VuYWJsZTsgdGhlbgogCWVjaG8KIAllY2hvICdDaGVja2luZyBzdGF0dXMg b2YgZ2NvbmNhdCg4KSBkZXZpY2VzOicKIApAQCAtMjAsMTUgKzE1LDEwIEBACiAJCWNvbXBvbmVu dHM9IiQoZ2NvbmNhdCBzdGF0dXMgLXMgfCBmZ3JlcCAtdiBVUCkiCiAJCWlmIFsgIiR7Y29tcG9u ZW50c30iIF07IHRoZW4KIAkJCXJjPTMKLQkJZWxzZQotCQkJcmM9MAogCQlmaQogCWVsc2UKIAkJ cmM9MgogCWZpCi0JOzsKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCklu ZGV4OiBldGMvcGVyaW9kaWMvZGFpbHkvNDA2LnN0YXR1cy1nbWlycm9yCj09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t IGV0Yy9wZXJpb2RpYy9kYWlseS80MDYuc3RhdHVzLWdtaXJyb3IJKHJldmlzaW9uIDIyOTMyMykK KysrIGV0Yy9wZXJpb2RpYy9kYWlseS80MDYuc3RhdHVzLWdtaXJyb3IJKHdvcmtpbmcgY29weSkK QEAgLTMsMTYgKzMsMTEgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9i YWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0 Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVy aW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2Rp Yy5zdWJyCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfZ21pcnJvcl9lbmFibGUiIGluCi0gICAgW1l5 XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19nbWlycm9yX2Vu YWJsZTsgdGhlbgogCWVjaG8KIAllY2hvICdDaGVja2luZyBzdGF0dXMgb2YgZ21pcnJvcig4KSBk ZXZpY2VzOicKIApAQCAtMjAsMTUgKzE1LDEwIEBACiAJCWNvbXBvbmVudHM9IiQoZ21pcnJvciBz dGF0dXMgLXMgfCBmZ3JlcCAtdiBDT01QTEVURSkiCiAJCWlmIFsgIiR7Y29tcG9uZW50c30iIF07 IHRoZW4KIAkJCXJjPTMKLQkJZWxzZQotCQkJcmM9MAogCQlmaQogCWVsc2UKIAkJcmM9MgogCWZp Ci0JOzsKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0KIGV4aXQgJHJjCkluZGV4OiBldGMv cGVyaW9kaWMvZGFpbHkvMzAwLmNhbGVuZGFyCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9k YWlseS8zMDAuY2FsZW5kYXIJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWls eS8zMDAuY2FsZW5kYXIJKHdvcmtpbmcgY29weSkKQEAgLTgsMjIgKzgsMTUgQEAKICMgb3IgcnVu IGl0IGZyb20geW91ciB+Ly5wcm9maWxlIG9yIH4vLmxvZ2luLgogIwogCi0jIElmIHRoZXJlIGlz IGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBb IC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1 bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMv cGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfY2FsZW5kYXJfZW5hYmxlIiBpbgotICAgIFtZ eV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyBkYWlseV9jYWxlbmRhcl9lbmFibGU7 IHRoZW4KIAllY2hvICIiCiAJZWNobyAiUnVubmluZyBjYWxlbmRhcjoiCiAKLQljYWxlbmRhciAt YSAmJiByYz0wIHx8IHJjPTM7OworCWNhbGVuZGFyIC1hICYmIHJjPTAgfHwgcmM9MworZmkKIAot ICAgICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWls eS81MDAucXVldWVydW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzUwMC5xdWV1 ZXJ1bgkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzUwMC5xdWV1ZXJ1 bgkod29ya2luZyBjb3B5KQpAQCAtMywzNCArMywyMiBAQAogIyAkRnJlZUJTRCQKICMKIAotIyBJ ZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGlu LgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4g L2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1m aQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3F1ZXVlcnVuX2VuYWJsZSIg aW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFpbHlfcXVldWVy dW5fZW5hYmxlOyB0aGVuCiAJaWYgWyAhIC14IC91c3Ivc2Jpbi9zZW5kbWFpbCBdCiAJdGhlbgot CSAgICBlY2hvICckZGFpbHlfcXVldWVydW5fZW5hYmxlIGlzIHNldCBidXQgL3Vzci9zYmluL3Nl bmRtYWlsJyBcCisJICAgIGVyciAyICckZGFpbHlfcXVldWVydW5fZW5hYmxlIGlzIHNldCBidXQg L3Vzci9zYmluL3NlbmRtYWlsJyBcCiAJCSJpc24ndCBleGVjdXRhYmxlIgotCSAgICByYz0yCi0J ZWxzZQotCSAgICAvdXNyL3NiaW4vc2VuZG1haWwgLXEgPi9kZXYvbnVsbCAyPiYxICYKLQkgICAg Y2FzZSAiJGRhaWx5X3N1Ym1pdF9xdWV1ZXJ1biIgaW4KLQkgICAgW1l5XVtFZV1bU3NdKQotCQlp ZiBbIC1mIC9ldGMvbWFpbC9zdWJtaXQuY2YgXQotCQl0aGVuCi0JCSAgICAvdXNyL3NiaW4vc2Vu ZG1haWwgLXEgLUFjID4vZGV2L251bGwgMj4mMSAmCi0JCWZpOzsKLQkgICAgZXNhYwotCSAgICBy Yz0wCi0JZmk7OworCWZpCisJL3Vzci9zYmluL3NlbmRtYWlsIC1xID4vZGV2L251bGwgMj4mMSAm CisJaWYgY2hlY2t5ZXNubyBkYWlseV9zdWJtaXRfcXVldWVydW47IHRoZW4KKwkgICAgaWYgWyAt ZiAvZXRjL21haWwvc3VibWl0LmNmIF07IHRoZW4KKwkJL3Vzci9zYmluL3NlbmRtYWlsIC1xIC1B YyA+L2Rldi9udWxsIDI+JjEgJgorCSAgICBmaQorCWZpCitmaQogCi0gICAgKikgIHJjPTA7Owot ZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzQyMC5zdGF0dXMtbmV0 d29yawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvNDIwLnN0YXR1cy1uZXR3b3Jr CShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvNDIwLnN0YXR1cy1uZXR3 b3JrCSh3b3JraW5nIGNvcHkpCkBAIC0zLDI3ICszLDIwIEBACiAjICRGcmVlQlNEJAogIwogCi0j IElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQg aW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAg LiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMK LWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfc3RhdHVzX25ldHdvcmtf ZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyBkYWls eV9zdGF0dXNfbmV0d29ya19lbmFibGU7IHRoZW4KIAllY2hvICIiCiAJZWNobyAiTmV0d29yayBp bnRlcmZhY2Ugc3RhdHVzOiIKIAotCWNhc2UgIiRkYWlseV9zdGF0dXNfbmV0d29ya191c2VkbnMi IGluCi0JICAgIFtZeV1bRWVdW1NzXSkKLQkJbmV0c3RhdCAtaSAmJiByYz0wIHx8IHJjPTM7Owot CSAgICAqKQotCQluZXRzdGF0IC1pbiAmJiByYz0wIHx8IHJjPTM7OwotCWVzYWM7OworCWlmIGNo ZWNreWVzbm8gZGFpbHlfc3RhdHVzX25ldHdvcmtfdXNlZG5zOyB0aGVuCisJCW5ldHN0YXRfZmxh Z3M9Ii1pIgorCWVsc2UKKwkJbmV0c3RhdF9mbGFncz0iLWluIgorCWZpCisJbmV0c3RhdCAkbmV0 c3RhdF9mbGFncyAmJiByYz0wIHx8IHJjPTMKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2FjCi0K IGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvZGFpbHkvNDcwLnN0YXR1cy1uYW1lZAo9PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvNDcwLnN0YXR1cy1uYW1lZAkocmV2aXNpb24g MjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzQ3MC5zdGF0dXMtbmFtZWQJKHdvcmtpbmcg Y29weSkKQEAgLTMsNDMgKzMsMjQgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMg YSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsg LXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVs dHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9w ZXJpb2RpYy5zdWJyCiAKLWNhdG1zZ3MoKSB7Ci0JZmluZCAvdmFyL2xvZyAtbmFtZSAnbWVzc2Fn ZXMuKicgLW10aW1lIC0yIHwKLQkgICAgc29ydCAtdC4gLXIgLW4gLWsgMiwyIHwKLQkgICAgd2hp bGUgcmVhZCBmCi0JICAgIGRvCi0JCWNhc2UgJGYgaW4KLQkJICAgICouZ3opCXpjYXQgLWYgJGY7 OwotCQkgICAgKi5iejIpCWJ6Y2F0IC1mICRmOzsKLQkJZXNhYwotCSAgICBkb25lCi0JWyAtZiAv dmFyL2xvZy9tZXNzYWdlcyBdICYmIGNhdCAvdmFyL2xvZy9tZXNzYWdlcwotfQorcmM9MAogCi1j YXNlICIkZGFpbHlfc3RhdHVzX25hbWVkX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCitp ZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19uYW1lZF9lbmFibGU7IHRoZW4KIAllY2hvCiAJZWNo byAnQ2hlY2tpbmcgZm9yIGRlbmllZCB6b25lIHRyYW5zZmVycyAoQVhGUiBhbmQgSVhGUik6Jwog CiAJc3RhcnQ9YGRhdGUgLXYtMWQgJyslYiAlZSdgCi0JcmM9JChjYXRtc2dzIHwKKwlyYz0kKGNh dGxvZ3MgIm1lc3NhZ2VzIiAvdmFyL2xvZyB8CiAJICAgIGZncmVwIC1FICJeJHN0YXJ0LipuYW1l ZFxbW1s6ZGlnaXQ6XV0rXF06IHRyYW5zZmVyIG9mIC4qZmFpbGVkIC4qOiBSRUZVU0VEIiB8CiAJ ICAgIHNlZCAtZSAicy8uKnRyYW5zZmVyIG9mIFwnXCguKlwpXC9JTlwnIGZyb20gXCguKlwpI1sw LTldKjogLiovXDEgZnJvbSBcMi8iIHwKIAkgICAgc29ydCAtZiB8IHVuaXEgLWljIHwgKAotCQl1 c2VkbnM9MAotCQljYXNlICIkZGFpbHlfc3RhdHVzX25hbWVkX3VzZWRucyIgaW4KLQkJJycpIDs7 Ci0JCVt5WV1bZUVdW3NTXSkgdXNlZG5zPTEgOzsKLQkJZXNhYwotCisJCWlmIGNoZWNreWVzbm8g ZGFpbHlfc3RhdHVzX25hbWVkX3VzZWRuczsgdGhlbgorCQkJdXNlZG5zPTEKKwkJZWxzZQorCQkJ dXNlZG5zPTAKKwkJZmkKIAkJd2hpbGUgcmVhZCBsaW5lIDtkbwogCQkJaXBhZGRyPWBlY2hvICIk bGluZSIgfCBzZWQgLWUgJ3MvXi4qZnJvbSAvLydgCiAJCQlpZiBbICR1c2VkbnMgLWVxIDEgXTsg dGhlbgpAQCAtNTQsOSArMzUsNiBAQAogCQlkb25lICkgfCBcCiAJCXRlZSAvZGV2L3N0ZGVyciB8 IHdjIC1sKQogCVsgJHJjIC1ndCAwIF0gJiYgcmM9MQotCTs7CitmaQogCi0gICAgKikgIHJjPTA7 OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzIxMC5iYWNrdXAt YWxpYXNlcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMjEwLmJhY2t1cC1hbGlh c2VzCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvMjEwLmJhY2t1cC1h bGlhc2VzCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE2ICszLDExIEBACiAjICRGcmVlQlNEJAogIwog Ci0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sg aXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0g ICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29u ZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfYmFja3VwX2FsaWFz ZXNfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5ZXNubyBk YWlseV9iYWNrdXBfYWxpYXNlc19lbmFibGU7IHRoZW4KIAlpZiBbICEgLWYgL2V0Yy9tYWlsL2Fs aWFzZXMgXQogCXRoZW4KIAkgICAgZWNobyAnJGRhaWx5X2JhY2t1cF9hbGlhc2VzX2VuYWJsZSBp cyBlbmFibGVkIGJ1dCcgXApAQCAtMjAsNyArMTUsNiBAQAogCSAgICByYz0yCiAJZWxzZQogCSAg ICBiYWs9L3Zhci9iYWNrdXBzCi0JICAgIHJjPTAKIAogCSAgICBlY2hvICIiCiAJICAgIGVjaG8g IkJhY2tpbmcgdXAgbWFpbCBhbGlhc2VzOiIKQEAgLTMxLDE3ICsyNSwxNCBAQAogCQljcCAtcCAv ZXRjL21haWwvYWxpYXNlcyAkYmFrL2FsaWFzZXMuYmFrIHx8IHJjPTMKIAkgICAgZmkKIAotCSAg ICBpZiAhIGNtcCAtcyAkYmFrL2FsaWFzZXMuYmFrIC9ldGMvbWFpbC9hbGlhc2VzCisJICAgIGlm IFsgJHJjIC1lcSAwIF0gJiYgISBjbXAgLXMgJGJhay9hbGlhc2VzLmJhayAvZXRjL21haWwvYWxp YXNlcwogCSAgICB0aGVuCi0JCVsgJHJjIC1sdCAxIF0gJiYgcmM9MQogCQllY2hvICIkaG9zdCBh bGlhc2VzIGRpZmZzOiIKIAkJZGlmZiAtdSAkYmFrL2FsaWFzZXMuYmFrIC9ldGMvbWFpbC9hbGlh c2VzCiAJCW12ICRiYWsvYWxpYXNlcy5iYWsgJGJhay9hbGlhc2VzLmJhazIKIAkJY3AgLXAgL2V0 Yy9tYWlsL2FsaWFzZXMgJGJhay9hbGlhc2VzLmJhayB8fCByYz0zCiAJICAgIGZpCi0JZmk7Owor CWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3Bl cmlvZGljL2RhaWx5LzQwNC5zdGF0dXMtemZzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9k YWlseS80MDQuc3RhdHVzLXpmcwkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2Rh aWx5LzQwNC5zdGF0dXMtemZzCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE2ICszLDExIEBACiAjICRG cmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9u IGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u ZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2Vf cGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlf c3RhdHVzX3pmc19lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVj a3llc25vIGRhaWx5X3N0YXR1c196ZnNfZW5hYmxlOyB0aGVuCiAJZWNobwogCWVjaG8gJ0NoZWNr aW5nIHN0YXR1cyBvZiB6ZnMgcG9vbHM6JwogCkBAIC0yNiwxMSArMjEsNiBAQAogCWVsc2UKIAkJ cmM9MQogCWZpCi0JOzsKK2ZpCiAKLSAgICAqKQotCXJjPTAKLQk7OwotZXNhYwotCiBleGl0ICRy YwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzIyMC5iYWNrdXAtcGtnZGIKPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot LS0gZXRjL3BlcmlvZGljL2RhaWx5LzIyMC5iYWNrdXAtcGtnZGIJKHJldmlzaW9uIDIyOTMyMykK KysrIGV0Yy9wZXJpb2RpYy9kYWlseS8yMjAuYmFja3VwLXBrZ2RiCSh3b3JraW5nIGNvcHkpCkBA IC0zLDE4ICszLDExIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFs IHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMv ZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3Blcmlv ZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMu c3VicgogCiByYz0wCiAKLWNhc2UgIiRkYWlseV9iYWNrdXBfcGtnZGJfZW5hYmxlIiBpbgotICAg IFtZeV1bRWVdW1NzXSkKK2lmIGNoZWNreWVzbm8gZGFpbHlfYmFja3VwX3BrZ2RiX2VuYWJsZTsg dGhlbgogCWJhaz0iJHtkYWlseV9iYWNrdXBfcGtnZGJfZGlyOi0vdmFyL2JhY2t1cHN9IgogCWJh a19maWxlPSIke2Jha30vcGtnZGIuYmFrLnRieiIKIApAQCAtMjMsMTAgKzE2LDEwIEBACiAKIAlp ZiBbICEgLWQgIiRiYWsiIF0KIAl0aGVuCi0JICAgIGluc3RhbGwgLWQgLW8gcm9vdCAtZyB3aGVl bCAtbSA3NTAgJGJhayB8fCB7Ci0JCWVjaG8gJyRkYWlseV9iYWNrdXBfcGtnZGJfZW5hYmxlIGlz IGVuYWJsZWQgYnV0JyBcCisJICAgIGlmICEgaW5zdGFsbCAtZCAtbyByb290IC1nIHdoZWVsIC1t IDc1MCAkYmFrOyB0aGVuCisJCWVyciAyICckZGFpbHlfYmFja3VwX3BrZ2RiX2VuYWJsZSBpcyBl bmFibGVkIGJ1dCcgXAogCQkgICAgIiRkYWlseV9iYWNrdXBfcGtnZGJfZGJkaXIgZG9lc24ndCBl eGlzdCIgOwotCQlleGl0IDIgOyB9CisJICAgIGZpCiAJZmkKIAogCWVjaG8gJycKQEAgLTQ1LDcg KzM4LDcgQEAKIAkgICAgbXYgIiR7bmV3X2Jha19maWxlfSIgIiR7YmFrX2ZpbGV9IgogCWVsc2UK IAkgICAgcmM9MwotCWZpIDs7Ci1lc2FjCisJZmkKK2ZpCiAKIGV4aXQgJHJjCkluZGV4OiBldGMv cGVyaW9kaWMvZGFpbHkvMzEwLmFjY291bnRpbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGlj L2RhaWx5LzMxMC5hY2NvdW50aW5nCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMv ZGFpbHkvMzEwLmFjY291bnRpbmcJKHdvcmtpbmcgY29weSkKQEAgLTMsMTYgKzMsMTEgQEAKICMg JEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRp b24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5j b25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJj ZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2UgIiRkYWls eV9hY2NvdW50aW5nX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNo ZWNreWVzbm8gZGFpbHlfYWNjb3VudGluZ19lbmFibGU7IHRoZW4KIAlpZiBbICEgLWYgL3Zhci9h Y2NvdW50L2FjY3QgXQogCXRoZW4KIAkgICAgZWNobyAnJGRhaWx5X2FjY291bnRpbmdfZW5hYmxl IGlzIHNldCBidXQgL3Zhci9hY2NvdW50L2FjY3QnIFwKQEAgLTI4LDcgKzIzLDYgQEAKIAkgICAg ZWNobyAiUm90YXRpbmcgYWNjb3VudGluZyBsb2dzIGFuZCBnYXRoZXJpbmcgc3RhdGlzdGljczoi CiAKIAkgICAgY2QgL3Zhci9hY2NvdW50Ci0JICAgIHJjPTAKIAogCSAgICBuPSQoKCAkZGFpbHlf YWNjb3VudGluZ19zYXZlIC0gMSApKQogCSAgICBmb3IgZiBpbiBhY2N0Lio7IGRvCkBAIC01Mywx MyArNDcsMTAgQEAKIAkgICAgc2EgLXMgJGRhaWx5X2FjY291bnRpbmdfZmxhZ3MgL3Zhci9hY2Nv dW50L2FjY3QubWVyZ2UgfHwgcmM9MwogCSAgICBybSBhY2N0Lm1lcmdlCiAKLQkgICAgY2FzZSAi JGRhaWx5X2FjY291bnRpbmdfY29tcHJlc3MiIGluCi0JCVtZeV1bRWVdW1NzXSkKLQkJICAgIGd6 aXAgLWYgYWNjdC4wIHx8IHJjPTM7OwotCSAgICBlc2FjCi0JZmk7OworCSAgICBpZiBjaGVja3ll c25vIGRhaWx5X2FjY291bnRpbmdfY29tcHJlc3M7IHRoZW4KKwkJZ3ppcCAtZiBhY2N0LjAgfHwg cmM9MworCSAgICBmaQorCWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRy YwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzE1MC5jbGVhbi1ob3N0c3RhdAo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvMTUwLmNsZWFuLWhvc3RzdGF0CShyZXZpc2lvbiAyMjkz MjMpCisrKyBldGMvcGVyaW9kaWMvZGFpbHkvMTUwLmNsZWFuLWhvc3RzdGF0CSh3b3JraW5nIGNv cHkpCkBAIC01LDI1ICs1LDE4IEBACiAjIFJlbW92ZSBzdGFsZSBwZXJzaXN0ZW50IGhvc3Qgc3Rh dHVzIGZpbGVzCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRp b24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5j b25mIF07IHRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJj ZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKLWNhc2UgIiRkYWls eV9jbGVhbl9ob3N0c3RhdF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitp ZiBjaGVja3llc25vIGRhaWx5X2NsZWFuX2hvc3RzdGF0X2VuYWJsZTsgdGhlbgogCWlmIFsgLXog IiQoaG9zdHN0YXQgMj4mMSkiIF07IHRoZW4KIAkgICAgcmM9MgogCWVsc2UKIAkgICAgZWNobyAi IgogCSAgICBlY2hvICJSZW1vdmluZyBzdGFsZSBlbnRyaWVzIGZyb20gc2VuZG1haWwgaG9zdCBz dGF0dXMgY2FjaGU6IgotCSAgICByYz0wCiAJICAgIHB1cmdlc3RhdCB8fCByYz0xCi0JZmk7Owor CWZpCitmaQogCi0gICAgKikgIHJjPTA7OwotZXNhYwotCiBleGl0ICRyYwpJbmRleDogZXRjL3Bl cmlvZGljL2RhaWx5LzQ4MC5zdGF0dXMtbnRwZAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMv ZGFpbHkvNDgwLnN0YXR1cy1udHBkCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMv ZGFpbHkvNDgwLnN0YXR1cy1udHBkCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE4ICszLDExIEBACiAj ICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0 aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMu Y29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3Vy Y2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCiByYz0wCiAKLWNh c2UgIiRkYWlseV9zdGF0dXNfbnRwZF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQoraWYg Y2hlY2t5ZXNubyBkYWlseV9zdGF0dXNfbnRwZF9lbmFibGU7IHRoZW4KIAllY2hvICIiCiAJZWNo byAiTlRQIHN0YXR1czoiCiAKQEAgLTIyLDcgKzE1LDYgQEAKIAlpZiBbIC16ICIkc3luY2hyb25p emVkIiBdOyB0aGVuCiAJCXJjPTEKIAlmaQotCTs7Ci1lc2FjCitmaQogCiBleGl0ICRyYwpJbmRl eDogZXRjL3BlcmlvZGljL2RhaWx5LzQwMC5zdGF0dXMtZGlza3MKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRj L3BlcmlvZGljL2RhaWx5LzQwMC5zdGF0dXMtZGlza3MJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0 Yy9wZXJpb2RpYy9kYWlseS80MDAuc3RhdHVzLWRpc2tzCSh3b3JraW5nIGNvcHkpCkBAIC0zLDE2 ICszLDExIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3Rl bSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVs dHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNv bmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3Vicgog Ci1jYXNlICIkZGFpbHlfc3RhdHVzX2Rpc2tzX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10p CityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVzX2Rpc2tzX2VuYWJsZTsgdGhlbgog CWVjaG8gIiIKIAllY2hvICJEaXNrIHN0YXR1czoiCiAKQEAgLTI0LDkgKzE5LDcgQEAKIAlmaQog CiAJZWNobyAiIgotCWR1bXAgVyB8fCByYz0zOzsKKwlkdW1wIFcgfHwgcmM9MworZmkKIAotICAg ICopICByYz0wOzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS80 MDcuc3RhdHVzLWdyYWlkMwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvZGFpbHkvNDA3LnN0 YXR1cy1ncmFpZDMJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9kYWlseS80MDcu c3RhdHVzLWdyYWlkMwkod29ya2luZyBjb3B5KQpAQCAtMywxNiArMywxMSBAQAogIyAkRnJlZUJT RCQKICMKIAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxl LCBzdWNrIGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQot dGhlbgotICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3Blcmlv ZGljX2NvbmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3N0YXR1 c19ncmFpZDNfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hlY2t5 ZXNubyBkYWlseV9zdGF0dXNfZ3JhaWQzX2VuYWJsZTsgdGhlbgogCWVjaG8KIAllY2hvICdDaGVj a2luZyBzdGF0dXMgb2YgZ3JhaWQzKDgpIGRldmljZXM6JwogCkBAIC0yMCwxNSArMTUsMTAgQEAK IAkJY29tcG9uZW50cz0iJChncmFpZDMgc3RhdHVzIC1zIHwgZmdyZXAgLXYgQ09NUExFVEUpIgog CQlpZiBbICIke2NvbXBvbmVudHN9IiBdOyB0aGVuCiAJCQlyYz0zCi0JCWVsc2UKLQkJCXJjPTAK IAkJZmkKIAllbHNlCiAJCXJjPTIKIAlmaQotCTs7CitmaQogCi0gICAgKikgIHJjPTA7OwotZXNh YwotCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL2RhaWx5LzIwMC5iYWNrdXAtcGFzc3dk Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9kYWlseS8yMDAuYmFja3VwLXBhc3N3ZAkocmV2 aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzIwMC5iYWNrdXAtcGFzc3dkCSh3 b3JraW5nIGNvcHkpCkBAIC0zLDE2ICszLDExIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRo ZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0j Ci1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRj L2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisu IC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfYmFja3VwX3Bhc3N3ZF9lbmFibGUi IGluCi0gICAgW1l5XVtFZV1bU3NdKQorcmM9MAorCitpZiBjaGVja3llc25vIGRhaWx5X2JhY2t1 cF9wYXNzd2RfZW5hYmxlOyB0aGVuCiAJaWYgWyAhIC1mIC9ldGMvbWFzdGVyLnBhc3N3ZCBdCiAJ dGhlbgogCSAgICBlY2hvICckZGFpbHlfYmFja3VwX3Bhc3N3ZF9lbmFibGUiIGlzIHNldCBidXQg L2V0Yy9tYXN0ZXIucGFzc3dkJyBcCkBAIC0yNSw3ICsyMCw2IEBACiAJICAgIHJjPTIKIAllbHNl CiAJICAgIGJhaz0vdmFyL2JhY2t1cHMKLQkgICAgcmM9MAogCiAJICAgIGVjaG8gIiIKIAkgICAg ZWNobyAiQmFja3VwIHBhc3N3ZCBhbmQgZ3JvdXAgZmlsZXM6IgpAQCAtNjksOSArNjMsNyBAQAog CQllY2hvICJWZXJpZnlpbmcgZ3JvdXAgZmlsZSBzeW50YXg6IgogCSAgICAgICAgY2hrZ3JwIC9l dGMvZ3JvdXAgfHwgcmM9MwogCSAgICBmaQotCWZpOzsKKwlmaQorZmkKIAotICAgICopICByYz0w OzsKLWVzYWMKLQogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS80MDguc3RhdHVz LWdzdHJpcGUKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzQwOC5zdGF0dXMtZ3N0 cmlwZQkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzQwOC5zdGF0dXMt Z3N0cmlwZQkod29ya2luZyBjb3B5KQpAQCAtMywxNiArMywxMSBAQAogIyAkRnJlZUJTRCQKICMK IAotIyBJZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNr IGl0IGluLgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgot ICAgIC4gL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2Nv bmZzCi1maQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3N0YXR1c19nc3Ry aXBlX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8g ZGFpbHlfc3RhdHVzX2dzdHJpcGVfZW5hYmxlOyB0aGVuCiAJZWNobwogCWVjaG8gJ0NoZWNraW5n IHN0YXR1cyBvZiBnc3RyaXBlKDgpIGRldmljZXM6JwogCkBAIC0yMCwxNSArMTUsMTAgQEAKIAkJ Y29tcG9uZW50cz0iJChnc3RyaXBlIHN0YXR1cyAtcyB8IGZncmVwIC12IFVQKSIKIAkJaWYgWyAi JHtjb21wb25lbnRzfSIgXTsgdGhlbgogCQkJcmM9MwotCQllbHNlCi0JCQlyYz0wCiAJCWZpCiAJ ZWxzZQogCQlyYz0yCiAJZmkKLQk7OworZmkKIAotICAgICopICByYz0wOzsKLWVzYWMKLQogZXhp dCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9kYWlseS8xMjAuY2xlYW4tcHJlc2VydmUKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZXRjL3BlcmlvZGljL2RhaWx5LzEyMC5jbGVhbi1wcmVzZXJ2ZQkocmV2aXNpb24g MjI5MzIzKQorKysgZXRjL3BlcmlvZGljL2RhaWx5LzEyMC5jbGVhbi1wcmVzZXJ2ZQkod29ya2lu ZyBjb3B5KQpAQCAtNSw0OSArNSwzNyBAQAogIyBSZW1vdmUgc3RhbGUgZmlsZXMgaW4gL3Zhci9w cmVzZXJ2ZQogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9u IGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u ZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2Vf cGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlf Y2xlYW5fcHJlc2VydmVfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYg Y2hlY2t5ZXNubyBkYWlseV9jbGVhbl9wcmVzZXJ2ZV9lbmFibGU7IHRoZW4KIAlpZiBbIC16ICIk ZGFpbHlfY2xlYW5fcHJlc2VydmVfZGF5cyIgXQogCXRoZW4KLQkgICAgZWNobyAnJGRhaWx5X2Ns ZWFuX3ByZXNlcnZlX2VuYWJsZSBpcyBzZXQgYnV0JyBcCisJICAgIGVyciAyICckZGFpbHlfY2xl YW5fcHJlc2VydmVfZW5hYmxlIGlzIHNldCBidXQnIFwKIAkJJyRkYWlseV9jbGVhbl9wcmVzZXJ2 ZV9kYXlzIGlzIG5vdCcKLQkgICAgcmM9MgogCWVsaWYgWyAhIC1kIC92YXIvcHJlc2VydmUgXQog CXRoZW4KLQkgICAgZWNobyAnJGRhaWx5X2NsZWFuX3ByZXNlcnZlX2VuYWJsZSBpcyBzZXQgYnV0 IC92YXIvcHJlc2VydmUnIFwKKwkgICAgZXJyIDIgJyRkYWlseV9jbGVhbl9wcmVzZXJ2ZV9lbmFi bGUgaXMgc2V0IGJ1dCAvdmFyL3ByZXNlcnZlJyBcCiAJCSJkb2Vzbid0IGV4aXN0IgotCSAgICBy Yz0yCiAJZWxzZQotCSAgICBlY2hvICIiCi0JICAgIGVjaG8gIlJlbW92aW5nIHN0YWxlIGZpbGVz IGZyb20gL3Zhci9wcmVzZXJ2ZToiCisJICAgIGlmIGNoZWNreWVzbm8gZGFpbHlfY2xlYW5fcHJl c2VydmVfdmVyYm9zZTsgdGhlbgorCQllY2hvICIiCisJCWVjaG8gIlJlbW92aW5nIHN0YWxlIGZp bGVzIGZyb20gL3Zhci9wcmVzZXJ2ZToiCiAKKwkJcHJpbnQ9LXByaW50CisJICAgIGVsc2UKKwkJ cHJpbnQ9CisJICAgIGZpCiAJICAgIGlmIGNkIC92YXIvcHJlc2VydmUKIAkgICAgdGhlbgotCQlj YXNlICIkZGFpbHlfY2xlYW5fcHJlc2VydmVfdmVyYm9zZSIgaW4KLQkJICAgIFtZeV1bRWVdW1Nz XSkKLQkJCXByaW50PS1wcmludDs7Ci0JCSAgICAqKQotCQkJcHJpbnQ9OzsKLQkJZXNhYwotCiAJ CXJjPSQoZmluZCAuICEgLW5hbWUgLiAtbXRpbWUgKyRkYWlseV9jbGVhbl9wcmVzZXJ2ZV9kYXlz IFwKIAkJICAgIC1kZWxldGUgJHByaW50IHwgdGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCi0JCVsg LXogIiRwcmludCIgXSAmJiByYz0wCiAJCVsgJHJjIC1ndCAxIF0gJiYgcmM9MQogCSAgICBlbHNl CiAJCXJjPTMKIAkgICAgZmkKLQlmaTs7CisJZmkKK2ZpCiAKLSAgICAqKSAgcmM9MDs7Ci1lc2Fj Ci0KIGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNTAwLmlwZndkZW5pZWQK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5LzUwMC5pcGZ3ZGVuaWVkCShyZXZp c2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNTAwLmlwZndkZW5pZWQJKHdv cmtpbmcgY29weSkKQEAgLTI3LDI3ICsyNywyNCBAQAogIyAkRnJlZUJTRCQKICMKIAotIyBJZiB0 aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGluLgot IwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4gL2V0 Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1maQot CisuIC9ldGMvcGVyaW9kaWMuc3VicgogLiAvZXRjL3BlcmlvZGljL3NlY3VyaXR5L3NlY3VyaXR5 LmZ1bmN0aW9ucwogCiByYz0wCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfc2VjdXJpdHlfaXBmd2Rl bmllZF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQotCVRNUD1gbWt0ZW1wIC10IHNlY3Vy aXR5YAotCWlmIGlwZncgLWEgbGlzdCAyPi9kZXYvbnVsbCB8IGVncmVwICJkZW55fHJlc2V0fHVu cmVhY2giID4gJHtUTVB9OyB0aGVuCi0JICBjaGVja19kaWZmIG5ld19vbmx5IGlwZncgJHtUTVB9 ICIke2hvc3R9IGlwZncgZGVuaWVkIHBhY2tldHM6IgoraWYgY2hlY2t5ZXNubyBkYWlseV9zdGF0 dXNfc2VjdXJpdHlfaXBmd2RlbmllZF9lbmFibGU7IHRoZW4KKwlpZiBUTVA9JChta3RlbXAgLXQg c2VjdXJpdHkpOyB0aGVuCisJCWlmIGlwZncgLWEgbGlzdCAyPi9kZXYvbnVsbCB8IGVncmVwICJk ZW55fHJlc2V0fHVucmVhY2giID4gJHtUTVB9OyB0aGVuCisJCQljaGVja19kaWZmIG5ld19vbmx5 IGlwZncgJHtUTVB9IFwKKwkJCSAgICAiJHtob3N0fSBpcGZ3IGRlbmllZCBwYWNrZXRzOiIKKwkJ CXJjPSQ/CisJCWVsc2UKKwkJCXJjPTEKKwkJZmkKKwkJcm0gLWYgJHtUTVB9CisJZWxzZQorCQly Yz0zCiAJZmkKLQlyYz0kPwotCXJtIC1mICR7VE1QfTs7Ci0gICAgKikJcmM9MDs7Ci1lc2FjCitm aQogCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL3NlY3VyaXR5LzEwMC5jaGtzZXR1aWQK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5LzEwMC5jaGtzZXR1aWQJKHJldmlz aW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS8xMDAuY2hrc2V0dWlkCSh3b3Jr aW5nIGNvcHkpCkBAIC0yNywyMCArMjcsMTIgQEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhl cmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMK LWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMv ZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKLQor LiAvZXRjL3BlcmlvZGljLnN1YnIKIC4gL2V0Yy9wZXJpb2RpYy9zZWN1cml0eS9zZWN1cml0eS5m dW5jdGlvbnMKIAogcmM9MAogCi1jYXNlICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2Noa3NldHVp ZF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQoraWYgY2hlY2t5ZXNubyBkYWlseV9zdGF0 dXNfc2VjdXJpdHlfY2hrc2V0dWlkX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICdDaGVj a2luZyBzZXR1aWQgZmlsZXMgYW5kIGRldmljZXM6JwogCU1QPWBtb3VudCAtdCB1ZnMsemZzIHwg YXdrICckMCAhfiAvbm8oc3VpZHxleGVjKS8geyBwcmludCAkMyB9J2AKQEAgLTQ5LDEwICs0MSw2 IEBACiAJICAgIFwoIC1wZXJtIC11K3MgLW9yIC1wZXJtIC1nK3MgXCkgLWV4ZWMgbHMgLWxpVGQg XHtcfSBcKyB8CiAJY2hlY2tfZGlmZiBzZXR1aWQgLSAiJHtob3N0fSBzZXR1aWQgZGlmZnM6Igog CXJjPSQ/Ci0JOzsKLSAgICAqKQotCXJjPTAKLQk7OwotZXNhYworZmkKIAogZXhpdCAkcmMKSW5k ZXg6IGV0Yy9wZXJpb2RpYy9zZWN1cml0eS81MjAucGZkZW5pZWQKPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRj L3BlcmlvZGljL3NlY3VyaXR5LzUyMC5wZmRlbmllZAkocmV2aXNpb24gMjI5MzIzKQorKysgZXRj L3BlcmlvZGljL3NlY3VyaXR5LzUyMC5wZmRlbmllZAkod29ya2luZyBjb3B5KQpAQCAtMjcsMjcg KzI3LDMyIEBACiAjICRGcmVlQlNEJAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3Rl bSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVs dHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNv bmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCi0KKy4gL2V0Yy9wZXJpb2RpYy5zdWJy CiAuIC9ldGMvcGVyaW9kaWMvc2VjdXJpdHkvc2VjdXJpdHkuZnVuY3Rpb25zCiAKIHJjPTAKIAot Y2FzZSAiJGRhaWx5X3N0YXR1c19zZWN1cml0eV9wZmRlbmllZF9lbmFibGUiIGluCi0gICAgW1l5 XVtFZV1bU3NdKQotCVRNUD1gbWt0ZW1wIC10IHNlY3VyaXR5YAotCWlmIHBmY3RsIC1zciAtdiAy Pi9kZXYvbnVsbCB8IG5hd2sgJ3tpZiAoL15ibG9jay8pIHtidWY9JDA7IGdldGxpbmU7IGdzdWIo IiArIiwiICIsJDApOyBwcmludCBidWYkMDt9IH0nID4gJHtUTVB9OyB0aGVuCi0JICBjaGVja19k aWZmIG5ld19vbmx5IHBmICR7VE1QfSAiJHtob3N0fSBwZiBkZW5pZWQgcGFja2V0czoiCitpZiBj aGVja3llc25vIGRhaWx5X3N0YXR1c19zZWN1cml0eV9wZmRlbmllZF9lbmFibGU7IHRoZW4KKwlp ZiBUTVA9JChta3RlbXAgLXQgc2VjdXJpdHkpOyB0aGVuCisJCXBmY3RsIC1zciAtdiAyPi9kZXYv bnVsbCB8IFwKKwkJICAgIG5hd2sgJ3sKKwkJCWlmICgvXmJsb2NrLykgeworCQkJCWJ1Zj0kMDsK KwkJCQlnZXRsaW5lOworCQkJCWdzdWIoIiArIiwiICIsJDApOworCQkJCXByaW50IGJ1ZiQwOwor CQkJfQorCQl9JyA+ICR7VE1QfQorCQlpZiBbICQ/IC1lcSAwIF07IHRoZW4KKwkJCWNoZWNrX2Rp ZmYgbmV3X29ubHkgcGYgJHtUTVB9ICIke2hvc3R9IHBmIGRlbmllZCBwYWNrZXRzOiIKKwkJCXJj PSQ/CisJCWVsc2UKKwkJCXJjPTEKKwkJZmkKKwkJcm0gLWYgJHtUTVB9CisJZWxzZQorCQlyYz0z CiAJZmkKLQlyYz0kPwotCXJtIC1mICR7VE1QfTs7Ci0gICAgKikJcmM9MDs7Ci1lc2FjCitmaQog CiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL3NlY3VyaXR5LzMwMC5jaGt1aWQwCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS8zMDAuY2hrdWlkMAkocmV2aXNpb24gMjI5 MzIzKQorKysgZXRjL3BlcmlvZGljL3NlY3VyaXR5LzMwMC5jaGt1aWQwCSh3b3JraW5nIGNvcHkp CkBAIC0yNywyNSArMjcsMTggQEAKICMgJEZyZWVCU0QkCiAjCiAKKy4gL2V0Yy9wZXJpb2RpYy5z dWJyCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmlsZSwg c3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0KLXRo ZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJpb2Rp Y19jb25mcwotZmkKK3JjPTAKIAotY2FzZSAiJGRhaWx5X3N0YXR1c19zZWN1cml0eV9jaGt1aWQw X2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1 c19zZWN1cml0eV9jaGt1aWQwX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICdDaGVja2lu ZyBmb3IgdWlkcyBvZiAwOicKIAluPSQoYXdrIC1GOiAnL14jLyB7bmV4dH0gJDM9PTAge3ByaW50 ICQxLCQzfScgL2V0Yy9tYXN0ZXIucGFzc3dkIHwKIAl0ZWUgL2Rldi9zdGRlcnIgfAogCXNlZCAt ZSAnL15yb290IDAkL2QnIC1lICcvXnRvb3IgMCQvZCcgfAogCXdjIC1sKQotCVsgJG4gLWd0IDAg XSAmJiByYz0xIHx8IHJjPTA7OwotICAgICopCXJjPTA7OwotZXNhYworCVsgJG4gLWd0IDAgXSAm JiByYz0xCitmaQogCi1leGl0ICIkcmMiCitleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL3Nl Y3VyaXR5LzcwMC5rZXJuZWxtc2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5 LzcwMC5rZXJuZWxtc2cJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0 eS83MDAua2VybmVsbXNnCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwyNCArMzAsMTUgQEAKICMgU2hv dyBrZXJuZWwgbG9nIG1lc3NhZ2VzCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVt IGNvbmZpZ3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0 cy9wZXJpb2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u ZgotICAgIHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKLQorLiAvZXRjL3BlcmlvZGljLnN1YnIK IC4gL2V0Yy9wZXJpb2RpYy9zZWN1cml0eS9zZWN1cml0eS5mdW5jdGlvbnMKIAogcmM9MAogCi1j YXNlICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2tlcm5lbG1zZ19lbmFibGUiIGluCi0gICAgW1l5 XVtFZV1bU3NdKQoraWYgY2hlY2t5ZXNubyBkYWlseV9zdGF0dXNfc2VjdXJpdHlfa2VybmVsbXNn X2VuYWJsZTsgdGhlbgogCWRtZXNnIDI+L2Rldi9udWxsIHwKIAkgICAgY2hlY2tfZGlmZiBuZXdf b25seSBkbWVzZyAtICIke2hvc3R9IGtlcm5lbCBsb2cgbWVzc2FnZXM6IgotCXJjPSQ/OzsKLSAg ICAqKQlyYz0wOzsKLWVzYWMKKwlyYz0kPworZmkKIAogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJp b2RpYy9zZWN1cml0eS80NjAuY2hrcG9ydHN1bQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMv c2VjdXJpdHkvNDYwLmNoa3BvcnRzdW0JKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2Rp Yy9zZWN1cml0eS80NjAuY2hrcG9ydHN1bQkod29ya2luZyBjb3B5KQpAQCAtMjcsNDIgKzI3LDQw IEBACiAjICRGcmVlQlNEJAogIwogCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29u ZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2Vf cGVyaW9kaWNfY29uZnMKLWZpCi0KKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAuIC9ldGMvcGVyaW9k aWMvc2VjdXJpdHkvc2VjdXJpdHkuZnVuY3Rpb25zCiAKIHJjPTAKIAotZWNobyAiIgotZWNobyAn Q2hlY2tpbmcgZm9yIHBvcnRzIHdpdGggbWlzbWF0Y2hlZCBjaGVja3N1bXM6JwotCi1jYXNlICIk e2RhaWx5X3N0YXR1c19zZWN1cml0eV9jaGtwb3J0c3VtX2VuYWJsZX0iIGluCi0JW1l5XVtFZV1b U3NdKQotCXNldCAtZgotCXBrZ19pbmZvIC1nYSAyPi9kZXYvbnVsbCB8IFwKLQl3aGlsZSBJRlM9 IHJlYWQgLXIgbGluZTsgZG8KLQkJc2V0IC0tICRsaW5lCi0JCWNhc2UgJDEgaW4KK2lmIGNoZWNr eWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2Noa3BvcnRzdW1fZW5hYmxlOyB0aGVuCisJaWYg VE1QPSQobWt0ZW1wIC10IGNoa3BvcnRzdW0pOyB0aGVuCisJCWVjaG8gIiIKKwkJZWNobyAnQ2hl Y2tpbmcgZm9yIHBvcnRzIHdpdGggbWlzbWF0Y2hlZCBjaGVja3N1bXM6JworCQlzZXQgLWYKKwkJ cGtnX2luZm8gLWdhIDI+L2Rldi9udWxsIHwgXAorCQl3aGlsZSBJRlM9IHJlYWQgLXIgbGluZTsg ZG8KKwkJCXNldCAtLSAkbGluZQorCQkJY2FzZSAkMSBpbgogCQkJSW5mb3JtYXRpb24pCi0JCQlj YXNlICQyIGluCisJCQkJY2FzZSAkMiBpbgogCQkJCWZvcikgbmFtZT0iJHszJSU6fSIgOzsKIAkJ CQkqKSBuYW1lPSc/PycgOzsKLQkJCWVzYWMKLQkJCTs7CisJCQkJZXNhYworCQkJCTs7CiAJCQlN aXNtYXRjaGVkfCcnKSA7OwogCQkJKikgWyAtbiAiJHtuYW1lfSIgXSAmJgogCQkJCWVjaG8gIiR7 bmFtZX06ICR7bGluZSUlIGZhaWxzIHRoZSBvcmlnaW5hbCBNRDUgY2hlY2tzdW19IgotCQkJOzsK LQkJZXNhYwotCWRvbmUKLQk7OwotCSopCi0JcmM9MAotCTs7Ci1lc2FjCisJCQkJOzsKKwkJCWVz YWMKKwkJZG9uZSA+ICRUTVAKKwkJaWYgWyAkKHdjIC1sICRUTVApIC1ndCAwIF07IHRoZW4KKwkJ CWNhdCAkVE1QCisJCQlyYz0xCisJCWZpCisJCXJtIC1mICRUTVAKKwllbHNlCisJCXJjPTMKKwlm aQorZmkKIAogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9zZWN1cml0eS80MTAubG9naW5j aGVjawo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNDEwLmxvZ2luY2hlY2sJ KHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS80MTAubG9naW5jaGVj awkod29ya2luZyBjb3B5KQpAQCAtMjcsMjYgKzI3LDE2IEBACiAjICRGcmVlQlNEJAogIwogCi0j IElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQg aW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAg LiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMK LWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCi1jYXNlICIkZGFpbHlfc3RhdHVzX3NlY3VyaXR5 X2xvZ2luY2hlY2tfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK3JjPTAKKworaWYgY2hl Y2t5ZXNubyBkYWlseV9zdGF0dXNfc2VjdXJpdHlfbG9naW5jaGVja19lbmFibGU7IHRoZW4KIAll Y2hvICIiCiAJZWNobyAnQ2hlY2tpbmcgbG9naW4uY29uZiBwZXJtaXNzaW9uczonCi0JaWYgWyAt RyAvZXRjL2xvZ2luLmNvbmYgLWEgLU8gL2V0Yy9sb2dpbi5jb25mIF07IHRoZW4KLQkgICAgbj0w Ci0JZWxzZQotCSAgICBlY2hvICJCYWQgb3duZXJzaGlwIG9mIC9ldGMvbG9naW4uY29uZiIKLQkg ICAgbj0xCisJaWYgISBbIC1HIC9ldGMvbG9naW4uY29uZiAtYSAtTyAvZXRjL2xvZ2luLmNvbmYg XTsgdGhlbgorCQllcnIgMSAiQmFkIG93bmVyc2hpcCBvZiAvZXRjL2xvZ2luLmNvbmYiCiAJZmkK LQlbICRuIC1ndCAwIF0gJiYgcmM9MSB8fCByYz0wOzsKLSAgICAqKQlyYz0wOzsKLWVzYWMKK2Zp CiAKLWV4aXQgIiRyYyIKK2V4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvc2VjdXJpdHkvODAw LmxvZ2luZmFpbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvc2VjdXJpdHkvODAwLmxvZ2lu ZmFpbAkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL3NlY3VyaXR5LzgwMC5sb2dp bmZhaWwJKHdvcmtpbmcgY29weSkKQEAgLTMwLDM5ICszMCwyMCBAQAogIyBTaG93IGxvZ2luIGZh aWx1cmVzCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24g ZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25m IF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9w ZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKIExPRz0iJHtkYWlseV9z dGF0dXNfc2VjdXJpdHlfbG9nZGlyfSIKIAorcmM9MAorCiB5ZXN0ZXJkYXk9YGRhdGUgLXYtMWQg IislYiAlZSAiYAogCi1jYXRtc2dzKCkgewotCWZpbmQgJHtMT0d9IC1uYW1lICdhdXRoLmxvZy4q JyAtbXRpbWUgLTIgfAotCSAgICBzb3J0IC10LiAtciAtbiAtayAyLDIgfAotCSAgICB3aGlsZSBy ZWFkIGYKLQkgICAgZG8KLQkJY2FzZSAkZiBpbgotCQkgICAgKi5neikJemNhdCAtZiAkZjs7Ci0J CSAgICAqLmJ6MikJYnpjYXQgLWYgJGY7OwotCQllc2FjCi0JICAgIGRvbmUKLQlbIC1mICR7TE9H fS9hdXRoLmxvZyBdICYmIGNhdCAkTE9HL2F1dGgubG9nCi19Ci0KLWNhc2UgIiRkYWlseV9zdGF0 dXNfc2VjdXJpdHlfbG9naW5mYWlsX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCitpZiBj aGVja3llc25vIGRhaWx5X3N0YXR1c19zZWN1cml0eV9sb2dpbmZhaWxfZW5hYmxlOyB0aGVuCiAJ ZWNobyAiIgogCWVjaG8gIiR7aG9zdH0gbG9naW4gZmFpbHVyZXM6IgotCW49JChjYXRtc2dzIHwg ZWdyZXAgLWlhICJeJHllc3RlcmRheS4qOiAuKihmYWlsfGludmFsaWR8YmFkfGlsbGVnYWwpIiB8 CisJbj0kKGNhdGxvZ3MgJExPRyBhdXRoIHwgZWdyZXAgLWlhICJeJHllc3RlcmRheS4qOiAuKihm YWlsfGludmFsaWR8YmFkfGlsbGVnYWwpIiB8CiAJICAgIHRlZSAvZGV2L3N0ZGVyciB8IHdjIC1s KQotCVsgJG4gLWd0IDAgXSAmJiByYz0xIHx8IHJjPTA7OwotICAgICopCXJjPTA7OwotZXNhYwor CVsgJG4gLWd0IDAgXSAmJiByYz0xCitmaQogCiBleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGlj L3NlY3VyaXR5LzIwMC5jaGttb3VudHMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3Vy aXR5LzIwMC5jaGttb3VudHMJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1 cml0eS8yMDAuY2hrbW91bnRzCSh3b3JraW5nIGNvcHkpCkBAIC0zMCwzMyArMzAsMjcgQEAKICMg U2hvdyBjaGFuZ2VzIGluIHRoZSB3YXkgZmlsZXN5c3RlbXMgYXJlIG1vdW50ZWQKICMKIAotIyBJ ZiB0aGVyZSBpcyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGlu LgotIwotaWYgWyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4g L2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1m aQotCisuIC9ldGMvcGVyaW9kaWMuc3VicgogLiAvZXRjL3BlcmlvZGljL3NlY3VyaXR5L3NlY3Vy aXR5LmZ1bmN0aW9ucwogCiBpZ25vcmU9IiR7ZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2Noa21vdW50 c19pZ25vcmV9IgorCiByYz0wCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfc2VjdXJpdHlfY2hrbW91 bnRzX2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCi0JY2FzZSAiJGRhaWx5X3N0YXR1c19z ZWN1cml0eV9ub2FtZCIgaW4KLQkgICAgW1l5XVtFZV1bU3NdKQoraWYgY2hlY2t5ZXNubyBkYWls eV9zdGF0dXNfc2VjdXJpdHlfY2hrbW91bnRzX2VuYWJsZTsgdGhlbgorCWlmIGNoZWNreWVzbm8g ZGFpbHlfc3RhdHVzX3NlY3VyaXR5X25vYW1kOyB0aGVuCiAJCWlnbm9yZT0iJHtpZ25vcmV9fF5h bWQ6IgotCWVzYWMKLQlbIC1uICIkaWdub3JlIiBdICYmIGNtZD0iZWdyZXAgLXYgJHtpZ25vcmUj fH0iIHx8IGNtZD1jYXQKLQlpZiAhIFsgLWYgL2V0Yy9mc3RhYiBdOyB0aGVuCisJZmkKKwlpZiBb IC1uICIkaWdub3JlIiBdOyB0aGVuCisJCWNtZD0iZWdyZXAgLXYgJHtpZ25vcmUjfH0iCisJZWxz ZQorCQljbWQ9Y2F0CisJZmkKKwlpZiBbICEgLWYgL2V0Yy9mc3RhYiBdOyB0aGVuCiAJCWV4cG9y dCBQQVRIX0ZTVEFCPS9kZXYvbnVsbAogCWZpCiAJbW91bnQgLXAgfCBzb3J0IHwgJHtjbWR9IHwK IAkgIGNoZWNrX2RpZmYgbW91bnQgLSAiJHtob3N0fSBjaGFuZ2VzIGluIG1vdW50ZWQgZmlsZXN5 c3RlbXM6IgotCXJjPSQ/OzsKLSAgICAqKQlyYz0wOzsKLWVzYWMKLQotZXhpdCAiJHJjIgorCXJj PSQ/CitmaQorZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9zZWN1cml0eS81NTAuaXBmd2xp bWl0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS81NTAuaXBmd2xpbWl0CShy ZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNTUwLmlwZndsaW1pdAko d29ya2luZyBjb3B5KQpAQCAtMzAsMzkgKzMwLDMzIEBACiAjIFNob3cgaXBmdyBydWxlcyB3aGlj aCBoYXZlIHJlYWNoZWQgdGhlIGxvZyBsaW1pdAogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFs IHN5c3RlbSBjb25maWd1cmF0aW9uIGZpbGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMv ZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBdCi10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3Blcmlv ZGljLmNvbmYKLSAgICBzb3VyY2VfcGVyaW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMu c3VicgogCiByYz0wCiAKLWNhc2UgIiRkYWlseV9zdGF0dXNfc2VjdXJpdHlfaXBmd2xpbWl0X2Vu YWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19z ZWN1cml0eV9pcGZ3bGltaXRfZW5hYmxlOyB0aGVuCiAJSVBGV19WRVJCT1NFPWBzeXNjdGwgLW4g bmV0LmluZXQuaXAuZncudmVyYm9zZSAyPiAvZGV2L251bGxgCi0JaWYgWyAkPyAtbmUgMCBdIHx8 IFsgIiRJUEZXX1ZFUkJPU0UiIC1lcSAwIF07IHRoZW4KKwlpZiBbICQ/IC1uZSAwIC1vICIkSVBG V19WRVJCT1NFIiAtZXEgMCBdOyB0aGVuCiAJCWV4aXQgMAogCWZpCi0JVE1QPWBta3RlbXAgLXQg c2VjdXJpdHlgCi0JaXBmdyAtYSBsaXN0IHwgZ3JlcCAiIGxvZyAiIHwgXAotCWdyZXAgJ15bWzpk aWdpdDpdXVwrW1s6c3BhY2U6XV1cK1tbOmRpZ2l0Ol1dXCsnIHwgXAotCWF3ayBcCi0JCSd7aWYg KCQ2ID09ICJsb2dhbW91bnQiKSB7Ci0JCQlpZiAoJDIgPiAkNykKLQkJCQl7cHJpbnQgJDB9fQot CQl9JyA+ICR7VE1QfQorCWlmIFRNUD1gbWt0ZW1wIC10IHNlY3VyaXR5YDsgdGhlbgorCQlpcGZ3 IC1hIGxpc3QgfCBncmVwICIgbG9nICIgfCBcCisJCWdyZXAgJ15bWzpkaWdpdDpdXVwrW1s6c3Bh Y2U6XV1cK1tbOmRpZ2l0Ol1dXCsnIHwgXAorCQlhd2sgXAorCQkJJ3tpZiAoJDYgPT0gImxvZ2Ft b3VudCIpIHsKKwkJCQlpZiAoJDIgPiAkNykKKwkJCQkJe3ByaW50ICQwfX0KKwkJCX0nID4gJHtU TVB9CiAKLQlpZiBbIC1zICIke1RNUH0iIF07IHRoZW4KLQkJcmM9MQotCQllY2hvICIiCi0JCWVj aG8gJ2lwZncgbG9nIGxpbWl0IHJlYWNoZWQ6JwotCQljYXQgJHtUTVB9CisJCWlmIFsgLXMgIiR7 VE1QfSIgXTsgdGhlbgorCQkJcmM9MQorCQkJZWNobyAiIgorCQkJZWNobyAnaXBmdyBsb2cgbGlt aXQgcmVhY2hlZDonCisJCQljYXQgJHtUTVB9CisJCWZpCisJCXJtIC1mICR7VE1QfQorCWVsc2UK KwkJcmM9MwogCWZpCi0Jcm0gLWYgJHtUTVB9OzsKLSAgICAqKQlyYz0wOzsKLWVzYWMKLQorZmkK IGV4aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvc2VjdXJpdHkvc2VjdXJpdHkuZnVuY3Rpb25z Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS9zZWN1cml0eS5mdW5jdGlvbnMJ KHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS9zZWN1cml0eS5mdW5j dGlvbnMJKHdvcmtpbmcgY29weSkKQEAgLTczLDYgKzczLDUgQEAKICAgICBtdiAke3RtcGZ9ICR7 TE9HfS8ke2xhYmVsfS50b2RheSB8fCByYz0zCiAgIGZpCiAKLSAgcm0gLWYgJHt0bXBmfQotICBl eGl0ICR7cmN9CisgIHJldHVybiAke3JjfQogfQpJbmRleDogZXRjL3BlcmlvZGljL3NlY3VyaXR5 LzYxMC5pcGY2ZGVuaWVkCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS82MTAu aXBmNmRlbmllZAkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL3NlY3VyaXR5LzYx MC5pcGY2ZGVuaWVkCSh3b3JraW5nIGNvcHkpCkBAIC0yNywyNyArMjcsMjMgQEAKICMgJEZyZWVC U0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmls ZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0K LXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJp b2RpY19jb25mcwotZmkKLQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIC4gL2V0Yy9wZXJpb2RpYy9z ZWN1cml0eS9zZWN1cml0eS5mdW5jdGlvbnMKIAogcmM9MAogCi1jYXNlICIkZGFpbHlfc3RhdHVz X3NlY3VyaXR5X2lwZjZkZW5pZWRfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKLQlUTVA9 YG1rdGVtcCAke1RNUERJUjotL3RtcH0vc2VjdXJpdHkuWFhYWFhYWFhYWGAKLQlpZiBpcGZzdGF0 IC1uaGlvNiAyPi9kZXYvbnVsbCB8IGdyZXAgYmxvY2sgPiAke1RNUH07IHRoZW4KLQkgY2hlY2tf ZGlmZiBuZXdfb25seSBpcGY2ICR7VE1QfSAiJHtob3N0fSBpcGY2IGRlbmllZCBwYWNrZXRzOiIK K2lmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5X2lwZjZkZW5pZWRfZW5hYmxlOyB0 aGVuCisJaWYgVE1QPSQobWt0ZW1wIC10IHNlY3VyaXR5KTsgdGhlbgorCQlpZiBpcGZzdGF0IC1u aGlvNiAyPi9kZXYvbnVsbCB8IGdyZXAgYmxvY2sgPiAke1RNUH07IHRoZW4KKwkJCWNoZWNrX2Rp ZmYgbmV3X29ubHkgaXBmNiAke1RNUH0gIiR7aG9zdH0gaXBmNiBkZW5pZWQgcGFja2V0czoiCisJ CQlyYz0kPworCQllbHNlCisJCQlyYz0xCisJCWZpCisJCXJtIC1mICR7VE1QfQorCWVsc2UKKwkJ cmM9MwogCWZpCi0JcmM9JD8KLQlybSAtZiAke1RNUH07OwotICAgICopCXJjPTA7OwotZXNhYwor ZmkKIAogZXhpdCAkcmMKSW5kZXg6IGV0Yy9wZXJpb2RpYy9zZWN1cml0eS85MDAudGNwd3JhcAo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvc2VjdXJpdHkvOTAwLnRjcHdyYXAJKHJldmlzaW9u IDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS85MDAudGNwd3JhcAkod29ya2luZyBj b3B5KQpAQCAtMzAsMzkgKzMwLDIwIEBACiAjIFNob3cgdGNwX3dyYXBwZXIgd2FybmluZyBtZXNz YWdlcwogIwogCi0jIElmIHRoZXJlIGlzIGEgZ2xvYmFsIHN5c3RlbSBjb25maWd1cmF0aW9uIGZp bGUsIHN1Y2sgaXQgaW4uCi0jCi1pZiBbIC1yIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZiBd Ci10aGVuCi0gICAgLiAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYKLSAgICBzb3VyY2VfcGVy aW9kaWNfY29uZnMKLWZpCisuIC9ldGMvcGVyaW9kaWMuc3VicgogCiBMT0c9IiR7ZGFpbHlfc3Rh dHVzX3NlY3VyaXR5X2xvZ2Rpcn0iCiAKK3JjPTAKKwogeWVzdGVyZGF5PWBkYXRlIC12LTFkICIr JWIgJWUgImAKIAotY2F0bXNncygpIHsKLQlmaW5kICR7TE9HfSAtbmFtZSAnbWVzc2FnZXMuKicg LW10aW1lIC0yIHwKLQkgICAgc29ydCAtdC4gLXIgLW4gLWsgMiwyIHwKLQkgICAgd2hpbGUgcmVh ZCBmCi0JICAgIGRvCi0JCWNhc2UgJGYgaW4KLQkJICAgICouZ3opCXpjYXQgLWYgJGY7OwotCQkg ICAgKi5iejIpCWJ6Y2F0IC1mICRmOzsKLQkJZXNhYwotCSAgICBkb25lCi0JWyAtZiAke0xPR30v bWVzc2FnZXMgXSAmJiBjYXQgJExPRy9tZXNzYWdlcwotfQotCi1jYXNlICIkZGFpbHlfc3RhdHVz X3NlY3VyaXR5X3RjcHdyYXBfZW5hYmxlIiBpbgotICAgIFtZeV1bRWVdW1NzXSkKK2lmIGNoZWNr eWVzbm8gZGFpbHlfc3RhdHVzX3NlY3VyaXR5X3RjcHdyYXBfZW5hYmxlOyB0aGVuCiAJZWNobyAi IgogCWVjaG8gIiR7aG9zdH0gcmVmdXNlZCBjb25uZWN0aW9uczoiCi0Jbj0kKGNhdG1zZ3MgfCBn cmVwIC1pICJeJHllc3RlcmRheS4qcmVmdXNlZCBjb25uZWN0IiB8CisJbj0kKGNhdGxvZ3MgJExP RyBtZXNzYWdlcyB8IGdyZXAgLWkgIl4keWVzdGVyZGF5LipyZWZ1c2VkIGNvbm5lY3QiIHwKIAkg ICAgdGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCi0JWyAkbiAtZ3QgMCBdICYmIHJjPTEgfHwgcmM9 MDs7Ci0gICAgKikJcmM9MDs7Ci1lc2FjCisJWyAkbiAtZ3QgMCBdICYmIHJjPTEKK2ZpCiAKIGV4 aXQgJHJjCkluZGV4OiBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNDAwLnBhc3N3ZGxlc3MKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5LzQwMC5wYXNzd2RsZXNzCShyZXZpc2lvbiAy MjkzMjMpCisrKyBldGMvcGVyaW9kaWMvc2VjdXJpdHkvNDAwLnBhc3N3ZGxlc3MJKHdvcmtpbmcg Y29weSkKQEAgLTI3LDIyICsyNywxNiBAQAogIyAkRnJlZUJTRCQKICMKIAotIyBJZiB0aGVyZSBp cyBhIGdsb2JhbCBzeXN0ZW0gY29uZmlndXJhdGlvbiBmaWxlLCBzdWNrIGl0IGluLgotIwotaWYg WyAtciAvZXRjL2RlZmF1bHRzL3BlcmlvZGljLmNvbmYgXQotdGhlbgotICAgIC4gL2V0Yy9kZWZh dWx0cy9wZXJpb2RpYy5jb25mCi0gICAgc291cmNlX3BlcmlvZGljX2NvbmZzCi1maQorLiAvZXRj L3BlcmlvZGljLnN1YnIKIAotY2FzZSAiJGRhaWx5X3N0YXR1c19zZWN1cml0eV9wYXNzd2RsZXNz X2VuYWJsZSIgaW4KLSAgICBbWXldW0VlXVtTc10pCityYz0wCisKK2lmIGNoZWNreWVzbm8gZGFp bHlfc3RhdHVzX3NlY3VyaXR5X3Bhc3N3ZGxlc3NfZW5hYmxlOyB0aGVuCiAJZWNobyAiIgogCWVj aG8gJ0NoZWNraW5nIGZvciBwYXNzd29yZGxlc3MgYWNjb3VudHM6JwogCW49JChhd2sgLUY6ICdO RiA+IDEgJiYgJDEgIX4gL15bIystXS8gJiYgJDI9PSIiIHtwcmludCAkMH0nIC9ldGMvbWFzdGVy LnBhc3N3ZCB8CiAJICAgIHRlZSAvZGV2L3N0ZGVyciB8IHdjIC1sKQotCVsgJG4gLWd0IDAgXSAm JiByYz0xIHx8IHJjPTA7OwotICAgICopCXJjPTA7OwotZXNhYworCVsgJG4gLWd0IDAgXSAmJiBy Yz0xCitmaQogCi1leGl0ICIkcmMiCitleGl0ICRyYwpJbmRleDogZXRjL3BlcmlvZGljL3NlY3Vy aXR5LzUxMC5pcGZkZW5pZWQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGljL3NlY3VyaXR5LzUx MC5pcGZkZW5pZWQJKHJldmlzaW9uIDIyOTMyMykKKysrIGV0Yy9wZXJpb2RpYy9zZWN1cml0eS81 MTAuaXBmZGVuaWVkCSh3b3JraW5nIGNvcHkpCkBAIC0yNywyNyArMjcsMjMgQEAKICMgJEZyZWVC U0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmls ZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0K LXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJp b2RpY19jb25mcwotZmkKLQorLiAvZXRjL3BlcmlvZGljLnN1YnIKIC4gL2V0Yy9wZXJpb2RpYy9z ZWN1cml0eS9zZWN1cml0eS5mdW5jdGlvbnMKIAogcmM9MAogCi1jYXNlICIkZGFpbHlfc3RhdHVz X3NlY3VyaXR5X2lwZmRlbmllZF9lbmFibGUiIGluCi0gICAgW1l5XVtFZV1bU3NdKQotCVRNUD1g bWt0ZW1wIC10IHNlY3VyaXR5YAotCWlmIGlwZnN0YXQgLW5oaW8gMj4vZGV2L251bGwgfCBncmVw IGJsb2NrID4gJHtUTVB9OyB0aGVuCi0JICBjaGVja19kaWZmIG5ld19vbmx5IGlwZiAke1RNUH0g IiR7aG9zdH0gaXBmIGRlbmllZCBwYWNrZXRzOiIKK2lmIGNoZWNreWVzbm8gZGFpbHlfc3RhdHVz X3NlY3VyaXR5X2lwZmRlbmllZF9lbmFibGU7IHRoZW4KKwlpZiBUTVA9JChta3RlbXAgLXQgc2Vj dXJpdHkpOyB0aGVuCisJCWlmIGlwZnN0YXQgLW5oaW8gMj4vZGV2L251bGwgfCBncmVwIGJsb2Nr ID4gJHtUTVB9OyB0aGVuCisJCQljaGVja19kaWZmIG5ld19vbmx5IGlwZiAke1RNUH0gIiR7aG9z dH0gaXBmIGRlbmllZCBwYWNrZXRzOiIKKwkJCXJjPSQ/CisJCWVsc2UKKwkJCXJjPTEKKwkJZmkK KwkJcm0gLWYgJHtUTVB9CisJZWxzZQorCQlyYz0zCiAJZmkKLQlyYz0kPwotCXJtIC1mICR7VE1Q fTs7Ci0gICAgKikJcmM9MDs7Ci1lc2FjCitmaQogCiBleGl0ICRyYwpJbmRleDogZXRjL3Blcmlv ZGljL3NlY3VyaXR5LzExMC5uZWdncnBwZXJtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGV0Yy9wZXJpb2RpYy9z ZWN1cml0eS8xMTAubmVnZ3JwcGVybQkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGlj L3NlY3VyaXR5LzExMC5uZWdncnBwZXJtCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxOCArMjcsMTEg QEAKICMgJEZyZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZp Z3VyYXRpb24gZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJp b2RpYy5jb25mIF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAg IHNvdXJjZV9wZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5zdWJyCiAKIHJjPTAK IAotY2FzZSAiJGRhaWx5X3N0YXR1c19zZWN1cml0eV9uZWdncnBwZXJtX2VuYWJsZSIgaW4KLSAg ICBbWXldW0VlXVtTc10pCitpZiBjaGVja3llc25vIGRhaWx5X3N0YXR1c19zZWN1cml0eV9uZWdn cnBwZXJtX2VuYWJsZTsgdGhlbgogCWVjaG8gIiIKIAllY2hvICdDaGVja2luZyBuZWdhdGl2ZSBn cm91cCBwZXJtaXNzaW9uczonCiAJTVA9YG1vdW50IC10IHVmcyx6ZnMgfCBhd2sgJyQwICF+IC9u byhzdWlkfGV4ZWMpLyB7IHByaW50ICQzIH0nYApAQCAtNDcsOCArNDAsNyBAQAogCSAgICBcKCAh IC1wZXJtICswMjAgLWFuZCAtcGVybSArMDAyIFwpIC1vciBcCiAJICAgIFwoICEgLXBlcm0gKzA0 MCAtYW5kIC1wZXJtICswMDQgXCkgXCkgXAogCSAgICAtZXhlYyBscyAtbGlUZCBce1x9IFwrIHwg dGVlIC9kZXYvc3RkZXJyIHwgd2MgLWwpCi0JWyAkbiAtZ3QgMCBdICYmIHJjPTEgfHwgcmM9MAot CTs7Ci1lc2FjCisJWyAkbiAtZ3QgMCBdICYmIHJjPTEKK2ZpCiAKIGV4aXQgJHJjCkluZGV4OiBl dGMvcGVyaW9kaWMvbW9udGhseS85OTkubG9jYWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gZXRjL3BlcmlvZGlj L21vbnRobHkvOTk5LmxvY2FsCShyZXZpc2lvbiAyMjkzMjMpCisrKyBldGMvcGVyaW9kaWMvbW9u dGhseS85OTkubG9jYWwJKHdvcmtpbmcgY29weSkKQEAgLTMsMTUgKzMsMTAgQEAKICMgJEZyZWVC U0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24gZmls ZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25mIF0K LXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9wZXJp b2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5jb25mCiAKIHJjPTAKKwogZm9yIHNjcmlw dCBpbiAkbW9udGhseV9sb2NhbAogZG8KICAgICBlY2hvICcnCkluZGV4OiBldGMvcGVyaW9kaWMv bW9udGhseS8yMDAuYWNjb3VudGluZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBldGMvcGVyaW9kaWMvbW9udGhs eS8yMDAuYWNjb3VudGluZwkocmV2aXNpb24gMjI5MzIzKQorKysgZXRjL3BlcmlvZGljL21vbnRo bHkvMjAwLmFjY291bnRpbmcJKHdvcmtpbmcgY29weSkKQEAgLTMsMjAgKzMsMTMgQEAKICMgJEZy ZWVCU0QkCiAjCiAKLSMgSWYgdGhlcmUgaXMgYSBnbG9iYWwgc3lzdGVtIGNvbmZpZ3VyYXRpb24g ZmlsZSwgc3VjayBpdCBpbi4KLSMKLWlmIFsgLXIgL2V0Yy9kZWZhdWx0cy9wZXJpb2RpYy5jb25m IF0KLXRoZW4KLSAgICAuIC9ldGMvZGVmYXVsdHMvcGVyaW9kaWMuY29uZgotICAgIHNvdXJjZV9w ZXJpb2RpY19jb25mcwotZmkKKy4gL2V0Yy9wZXJpb2RpYy5jb25mCiAKLW9sZG1hc2s9JCh1bWFz aykKK3JjPTAKKwogdW1hc2sgMDY2Ci1jYXNlICIkbW9udGhseV9hY2NvdW50aW5nX2VuYWJsZSIg aW4KLSAgICBbWXldW0VlXVtTc10pCitpZiBjaGVja3llc25vIG1vbnRobHlfYWNjb3VudGluZ19l bmFibGU7IHRoZW4KIAlXPS92YXIvbG9nL3V0eC5sb2cKLQlyYz0wCiAJcmVtb3ZlPU5PCiAJaWYg WyAhIC1mICRXLjAgXQogCXRoZW4KQEAgLTI5LDIzICsyMiwyMCBAQAogCQlyZW1vdmU9WUVTCiAJ CWJ6Y2F0ICRXLjAuYnoyID4gJFcuMCB8fCByYz0xCiAJICAgIGVsc2UKLQkJZWNobyAnJG1vbnRo bHlfYWNjb3VudGluZ19lbmFibGUgaXMgc2V0IGJ1dCcgXAorCQllcnIgMiAnJG1vbnRobHlfYWNj b3VudGluZ19lbmFibGUgaXMgc2V0IGJ1dCcgXAogCQkgICAgIiRXLjAgZG9lc24ndCBleGlzdCIK LQkJcmM9MgogCSAgICBmaQogCWZpCiAJaWYgWyAkcmMgLWVxIDAgXQogCXRoZW4KLQkgICAgZWNo byAiIgotCSAgICBlY2hvICJEb2luZyBsb2dpbiBhY2NvdW50aW5nOiIKLQorCSAgICBpZiBjaGVj a3llc25vIG1vbnRobHlfYWNjb3VudGluZ192ZXJib3NlOyB0aGVuCisJCWVjaG8gIiIKKwkJZWNo byAiRG9pbmcgbG9naW4gYWNjb3VudGluZzoiCisJICAgIGZpCiAJICAgIHJjPSQoYWMgLXAgLXcg JFcuMCB8IHNvcnQgLW5yIC1rIDIgfCB0ZWUgL2Rldi9zdGRlcnIgfCB3YyAtbCkKIAkgICAgWyAk cmMgLWd0IDAgXSAmJiByYz0xCiAJZmkKLQlbICRyZW1vdmUgPSBZRVMgXSAmJiBybSAtZiAkVy4w OzsKKwlbICRyZW1vdmUgPSBZRVMgXSAmJiBybSAtZiAkVy4wCitmaQogCi0gICAgKikgIHJjPTA7 OwotZXNhYwotCi11bWFzayAkb2xkbWFzawogZXhpdCAkcmMK --f46d044469e7a75f4e04b5957cd2--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAGH67wQkDOewrquuCB6TAFcyhx3nBd9pUEt7=w3GQ1LMVv1EXg>