ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggZTY2MjJhZi4uZjlmYTA2YiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEwNyw2ICsxMDcsOSBAQAogCiBDdXJzb3IgaW4gd3JvbmcgcG9zaXRpb24gd2hlbiBsaW5lIHdyYXBzLiAoIzI1NDApCiAKK0FkZCBhbiBvcHRpb24gc2ltaWxhciB0byAnbGF6eXJlZHJhdycgdG8gc2tpcCByZWRyYXdpbmcgd2hpbGUgZXhlY3V0aW5nIGEKK3NjcmlwdCBvciBmdW5jdGlvbi4KKwogQWx0ZXJuYXRpdmUgbWFucGFnZXIudmltLiAoRW5ubywgMjAxOCBKYW4gNSwgIzI1MjkpCiAKIFBhdGNoIHRvIGFkZCBtb3JlIGZsYWdzIHRvIDpscy4gKE1hcmNpbiBTemFtb3R1bHNraSwgIzI3NTEpCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9mb3J0aC52aW0gYi9ydW50aW1lL3N5bnRheC9mb3J0aC52aW0KaW5kZXggMzVmYWZkNC4uYTE5MTI0NiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZm9ydGgudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2ZvcnRoLnZpbQpAQCAtMSw4NCArMSwxMCBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6ICAgIEZPUlRICi0iIE1haW50YWluZXI6ICBDaHJpc3RpYW4gVi4gSi4gQnL8c3NvdyA8Y3ZqYkBjdmpiLmRlPgotIiBMYXN0IENoYW5nZTogU28gMjcgTWFpIDIwMTIgMTU6NTY6MjggQ0VTVAorIiBDdXJyZW50IE1haW50YWluZXI6ICBKb2hhbiBLb3RsaW5za2kgPGtvdGxpbnNraUBnbWFpbC5jb20+CisiIFByZXZpb3VzIE1haW50YWluZXI6ICBDaHJpc3RpYW4gVi4gSi4gQnL8c3NvdyA8Y3ZqYkBjdmpiLmRlPgorIiBMYXN0IENoYW5nZTogMjAxOC0wMy0yOQogIiBGaWxlbmFtZXM6ICAgKi5mcywqLmZ0Ci0iIFVSTDoJICAgICAgIGh0dHA6Ly93d3cuY3ZqYi5kZS9jb21wL3ZpbS9mb3J0aC52aW0KLQotIiAkSWQ6IGZvcnRoLnZpbSx2IDEuMTQgMjAxMi8wNS8yNyAxNTo1NzoyMiBicnVlc3NvdyBFeHAgJAotCi0iIFRoZSBsaXN0IG9mIGtleXdvcmRzIGlzIGluY29tcGxldGUsIGNvbXBhcmVkIHdpdGggdGhlIG9mZmljaWFsIEFOUwotIiB3b3JkbGlzdC4gSWYgeW91IHVzZSB0aGlzIGxhbmd1YWdlLCBwbGVhc2UgaW1wcm92ZSBpdCwgYW5kIHNlbmQgbWUKLSIgdGhlIHBhdGNoZXMuCi0iCi0iIEJlZm9yZSBzZW5kaW5nIG1lIHBhdGNoZXMsIHBsZWFzZSBkb3dubG9hZCB0aGUgbmV3ZXN0IHZlcnNpb24gb2YgdGhpcyBmaWxlCi0iIGZyb20gaHR0cDovL3d3dy5jdmpiLmRlL2NvbXAvdmltL2ZvcnRoLnZpbSBvciBodHRwOi8vd3d3LnZpbS5vcmcvIChzZWFyY2gKLSIgZm9yIGZvcnRoLnZpbSkuCi0KLSIgTWFueSBUaGFua3MgdG8uLi4KLSIKLSIgMjAxMi0wNS0xMzoKLSIgRG9taW5pcXVlIFBlbGzpIDxkb21pbmlxdWUgZG90IHBlbGxlIGF0IGdtYWlsIGRvdCBjb20+IGZvciBzZW5kaW5nIHRoZQotIiBwYXRjaCB0byBhbGxvdyBzcGVsbGNoZWNraW5nIG9mIHN0cmluZ3MsIGNvbW1lbnRzLCAuLi4KLSIgCi0iIDIwMTItMDEtMDc6Ci0iIFRoaWxvIFNpeCA8VC5TaXggYXQgZ214IGRvdCBkZT4gc2VuZCBhIHBhdGNoIGZvciBjcG9wdGlvbnMuCi0iIFNlZSB0aGUgZGlzY3Vzc2lvbiBhdCBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5lZGl0b3JzLnZpbS5kZXZlbC8zMjE1MQotIgotIiAyMDA5LTA2LTI4OgotIiBKb3NoIEdyYW1zIHNlbmQgYSBwYXRjaCB0byBhbGxvdyB0aGUgcGFyZW50aGVzaXMgY29tbWVudHMgYXQgdGhlCi0iIGJlZ2lubmluZyBvZiBhIGxpbmUuIFRoYXQgcGF0Y2ggYWxzbyBmaXhlZCBhIHR5cG8gaW4gb25lIG9mIHRoZQotIiBjb21tZW50cy4KLSIKLSIgMjAwOC0wMi0wOToKLSIgU2hhd24gSy4gUXVpbm4gPHNqcXVpbm4gYXQgc3BlYWtlYXN5IGRvdCBuZXQ+IHNlbmQgYSBiaWcgcGF0Y2ggd2l0aAotIiBuZXcgd29yZHMgY29tbW9ubHkgdXNlZCBpbiBGb3J0aCBwcm9ncmFtcyBvciBkZWZpbmVkIGJ5IEdOVSBGb3J0aC4KLSIKLSIgMjAwNy0wNy0xMToKLSIgQmVuamFtaW4gS3JpbGwgPGJlbiBhdCBjb2RpZXJ0IGRvdCBvcmc+IHNlbmQgbWUgYSBwYXRjaAotIiB0byBoaWdobGlnaHQgc3BhY2UgZXJyb3JzLgotIiBZb3UgY2FuIHRvZ2dsZSB0aGlzIGZlYXR1cmUgb24gdGhyb3VnaCBzZXR0aW5nIHRoZQotIiBmbGFnIGZvcnRoX3NwYWNlX2Vycm9ycyBpbiB5b3UgdmltcmMuIElmIHlvdSBoYXZlIHN3aXRjaGVkIGl0IG9uLAotIiB5b3UgY2FuIHR1cm4gb2ZmIGhpZ2hsaWdodGluZyBvZiB0cmFpbGluZyBzcGFjZXMgaW4gY29tbWVudHMgYnkKLSIgc2V0dGluZyBmb3J0aF9ub190cmFpbF9zcGFjZV9lcnJvciBpbiB5b3VyIHZpbXJjLiBJZiB5b3UgZG8gbm90IHdhbnQKLSIgdGhlIGhpZ2hsaWdodGluZyBvZiBhIHRhYnVsYXRvciBmb2xsb3dpbmcgYSBzcGFjZSBpbiBjb21tZW50cywgeW91Ci0iIGNhbiB0dXJuIHRoaXMgb2ZmIGJ5IHNldHRpbmcgZm9ydGhfbm9fdGFiX3NwYWNlX2Vycm9yLgotIgotIiAyMDA2LTA1LTI1OgotIiBCaWxsIE1jQ2FydGh5IDxXSk1jQC4uLj4gYW5kIElseWEgU2hlciA8aWx5YS12aW1ALi4uPgotIiBXaG8gZm91bmQgYSBidWcgaW4gdGhlIGNjb21tZW50IGxpbmUgaW4gMjAwNCEhIQotIiBJJ20gcmVhbGx5IHZlcnkgc29ycnksIHRoYXQgaXQgaGFzIHRha2VuIHR3byB5ZWFycyB0byBmaXggdGhhdAotIiBpbiB0aGUgb2ZmaWNpYWwgdmVyc2lvbiBvZiB0aGlzIGZpbGUuIFNoYW1lIG9uIG1lLgotIiBJIHRoaW5rIG15IGZhY2Ugd2lsbCBiZSByZWQgdGhlIG5leHQgdGVuIHllYXJzLi4uCi0iCi0iIDIwMDYtMDUtMjE6Ci0iIFRob21hcyBFLiBWYXVnaGFuIDx0ZXZhdWdoYSBhdCBiYWxsIGRvdCBjb20+IHNlbmQgbWUgYSBwYXRjaAotIiBmb3IgdGhlIHBhcmVudGhlc2lzIGNvbW1lbnQgd29yZCwgc28gd29yZHMgd2l0aCBhIHRyYWlsaW5nCi0iIHBhcmVudGhlc2lzIHdpbGwgbm90IHN0YXJ0IHRoZSBoaWdobGlnaHRpbmcgZm9yIHN1Y2ggY29tbWVudHMuCi0iCi0iIDIwMDMtMDUtMTA6Ci0iIEFuZHJldyBHYXVsIDxhbmRyZXcgYXQgZ2F1bC5vcmc+IHNlbmQgbWUgYSBwYXRjaCBmb3IKLSIgZm9ydGhPcGVyYXRvcnMuCi0iCi0iIDIwMDMtMDQtMDM6Ci0iIFJvbiBBYXJvbiA8cm9uIGF0IHJvbndhcmUgZG90IG9yZz4gbWFkZSB1cGRhdGVzIGZvciBhbgotIiBpbXByb3ZlZCBXaW4zMkZvcnRoIHN1cHBvcnQuCi0iCi0iIDIwMDItMDQtMjI6Ci0iIENoYXJsZXMgU2hhdHR1Y2sgPGNoYXJsZXkgYXQgZm9ydGggZG90IG9yZz4gaGVscGVkIG1lIHRvIHNldHRsZSB1cCB3aXRoIHRoZQotIiBiaW5hcnkgYW5kIGhleCBudW1iZXIgaGlnaGxpZ2h0aW5nLgotIgotIiAyMDAyLTA0LTIwOgotIiBDaGFybGVzIFNoYXR0dWNrIDxjaGFybGV5IGF0IGZvcnRoIGRvdCBvcmc+IHNlbmQgbWUgc29tZSBjb2RlIGZvciBjb3JyZWN0bHkKLSIgaGlnaGxpZ2h0aW5nIGNoYXIgYW5kIFtjaGFyXSBmb2xsb3dlZCBieSBhbiBvcGVuaW5nIHBhcmVuLiBIZSBhbHNvIGFkZGVkCi0iIHNvbWUgd29yZHMgZm9yIG9wZXJhdG9ycywgY29uZGl0aW9uYWxzLCBhbmQgZGVmaW5pdGlvbnM7IGFuZCBhZGRlZCB0aGUKLSIgaGlnaGxpZ2h0aW5nIGZvciBzIiBhbmQgYyIuCi0iCi0iIDIwMDAtMDMtMjg6Ci0iIEpvaG4gUHJvdmlkZW56YSA8am9obiBhdCBwcm9ibyBkb3QgY29tPiBtYWRlIGltcHJvdmVtZW50cyBmb3IgdGhlCi0iIGhpZ2hsaWdodGluZyBvZiBzdHJpbmdzLCBhbmQgYWRkZWQgdGhlIGNvZGUgZm9yIGhpZ2hsaWdodGluZyBoZXggbnVtYmVycy4KLSIKLQorIiBVUkw6CSAgICAgICBodHRwczovL2dpdGh1Yi5jb20vamtvdGxpbnNraS9mb3J0aC52aW0KIAogIiBxdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCkBAIC0xMjksNyArNTUsMTAgQEAKIHN5biBrZXl3b3JkIGZvcnRoT3BlcmF0b3JzIDA8IDA8PSAwPD4gMD0gMD4gMD49IDwgPD0gPD4gPSA+ID49IFU8IFU8PQogc3luIGtleXdvcmQgZm9ydGhPcGVyYXRvcnMgVT4gVT49IEQwPCBEMDw9IEQwPD4gRDA9IEQwPiBEMD49IEQ8IEQ8PSBEPD4KIHN5biBrZXl3b3JkIGZvcnRoT3BlcmF0b3JzIEQ9IEQ+IEQ+PSBEVTwgRFU8PSBEVT4gRFU+PSBXSVRISU4gP05FR0FURQotc3luIGtleXdvcmQgZm9ydGhPcGVyYXRvcnMgP0RORUdBVEUKK3N5biBrZXl3b3JkIGZvcnRoT3BlcmF0b3JzID9ETkVHQVRFIFRSVUUgRkFMU0UKKworIiB2YXJpb3VzIHdvcmRzIHRoYXQgdGFrZSBhbiBpbnB1dCBhbmQgZG8gc29tZXRoaW5nIHdpdGggaXQKK3N5biBrZXl3b3JkIGZvcnRoRnVuY3Rpb24gLiBVLiAuUiBVLlIKIAogIiBzdGFjayBtYW5pcHVsYXRpb25zCiBzeW4ga2V5d29yZCBmb3J0aFN0YWNrIERST1AgTklQIERVUCBPVkVSIFRVQ0sgU1dBUCBST1QgLVJPVCA/RFVQIFBJQ0sgUk9MTApAQCAtMTQxLDcgKzcwLDcgQEAKIHN5biBrZXl3b3JkIGZvcnRoRlN0YWNrIEZEUk9QIEZOSVAgRkRVUCBGT1ZFUiBGVFVDSyBGU1dBUCBGUk9UCiAKICIgc3RhY2sgcG9pbnRlciBtYW5pcHVsYXRpb25zCi1zeW4ga2V5d29yZCBmb3J0aFNQIFNQQCBTUCEgRlBAIEZQISBSUEAgUlAhIExQQCBMUCEKK3N5biBrZXl3b3JkIGZvcnRoU1AgU1BAIFNQISBGUEAgRlAhIFJQQCBSUCEgTFBAIExQISBERVBUSAogCiAiIGFkZHJlc3Mgb3BlcmF0aW9ucwogc3luIGtleXdvcmQgZm9ydGhNZW1vcnkgQCAhICshIENAIEMhIDJAIDIhIEZAIEYhIFNGQCBTRiEgREZAIERGIQpAQCAtMTUwLDcgKzc5LDcgQEAKIHN5biBrZXl3b3JkIGZvcnRoQWRyQXJpdGggU0ZBTElHTiBTRkFMSUdORUQgREZMT0FUUyBERkxPQVQrIERGQUxJR04gREZBTElHTkVECiBzeW4ga2V5d29yZCBmb3J0aEFkckFyaXRoIE1BWEFMSUdOIE1BWEFMSUdORUQgQ0ZBTElHTiBDRkFMSUdORUQKIHN5biBrZXl3b3JkIGZvcnRoQWRyQXJpdGggQUREUkVTUy1VTklULUJJVFMgQUxMT1QgQUxMT0NBVEUgSEVSRQotc3luIGtleXdvcmQgZm9ydGhNZW1CbGtzIE1PVkUgRVJBU0UgQ01PVkUgQ01PVkU+IEZJTEwgQkxBTksKK3N5biBrZXl3b3JkIGZvcnRoTWVtQmxrcyBNT1ZFIEVSQVNFIENNT1ZFIENNT1ZFPiBGSUxMIEJMQU5LIFVOVVNFRAogCiAiIGNvbmRpdGlvbmFscwogc3luIGtleXdvcmQgZm9ydGhDb25kIElGIEVMU0UgRU5ESUYgVEhFTiBDQVNFIE9GIEVORE9GIEVORENBU0UgP0RVUC1JRgpAQCAtMTU5LDcgKzg4LDcgQEAKICIgaXRlcmF0aW9ucwogc3luIGtleXdvcmQgZm9ydGhMb29wIEJFR0lOIFdISUxFIFJFUEVBVCBVTlRJTCBBR0FJTgogc3luIGtleXdvcmQgZm9ydGhMb29wID9ETyBMT09QIEkgSiBLICtETyBVK0RPIC1ETyBVLURPIERPICtMT09QIC1MT09QCi1zeW4ga2V5d29yZCBmb3J0aExvb3AgVU5MT09QIExFQVZFID9MRUFWRSBFWElUIERPTkUgRk9SIE5FWFQKK3N5biBrZXl3b3JkIGZvcnRoTG9vcCBVTkxPT1AgTEVBVkUgP0xFQVZFIEVYSVQgRE9ORSBGT1IgTkVYVCBSRUNVUlNFCiAKICIgbmV3IHdvcmRzCiBzeW4gbWF0Y2ggZm9ydGhDbGFzc0RlZiAnXDw6Y2xhc3NccypbXiBcdF1cK1w+JwpAQCAtMTc0LDggKzEwMyw4IEBACiBzeW4ga2V5d29yZCBmb3J0aERlZmluZSBMSVRFUkFMIENSRUFURS1JTlRFUlBSRVQvQ09NUElMRSBJTlRFUlBSRVRBVElPTj4KIHN5biBrZXl3b3JkIGZvcnRoRGVmaW5lIDxJTlRFUlBSRVRBVElPTiBDT01QSUxBVElPTj4gPENPTVBJTEFUSU9OIF0gTEFTVFhUCiBzeW4ga2V5d29yZCBmb3J0aERlZmluZSBDT01QJyBQT1NUUE9ORSwgRklORC1OQU1FIE5BTUU+SU5UIE5BTUU/SU5UIE5BTUU+Q09NUAotc3luIGtleXdvcmQgZm9ydGhEZWZpbmUgTkFNRT5TVFJJTkcgU1RBVEUgQzsgQ1ZBUklBQkxFCi1zeW4ga2V5d29yZCBmb3J0aERlZmluZSAsIDIsIEYsIEMsCitzeW4ga2V5d29yZCBmb3J0aERlZmluZSBOQU1FPlNUUklORyBTVEFURSBDOyBDVkFSSUFCTEUgQlVGRkVSOiBNQVJLRVIKK3N5biBrZXl3b3JkIGZvcnRoRGVmaW5lICwgMiwgRiwgQywgQ09NUElMRSwKIHN5biBtYXRjaCBmb3J0aERlZmluZSAiXFtJRkRFRl0iCiBzeW4gbWF0Y2ggZm9ydGhEZWZpbmUgIlxbSUZVTkRFRl0iCiBzeW4gbWF0Y2ggZm9ydGhEZWZpbmUgIlxbVEhFTl0iCkBAIC0xOTYsNiArMTI1LDcgQEAKIHN5biBtYXRjaCBmb3J0aERlZmluZSAnXDxcW1w+Jwogc3luIG1hdGNoIGZvcnRoRGVmaW5lICJcWyddIgogc3luIG1hdGNoIGZvcnRoRGVmaW5lICdcW0NPTVBJTEVdJworc3luIG1hdGNoIGZvcnRoRGVmaW5lICdcW0NIQVJdJwogCiAiIGRlYnVnZ2luZwogc3luIGtleXdvcmQgZm9ydGhEZWJ1ZyBQUklOVERFQlVHREFUQSBQUklOVERFQlVHTElORQpAQCAtMjA2LDcgKzEzNiw3IEBACiAKICIgYmFzaWMgY2hhcmFjdGVyIG9wZXJhdGlvbnMKIHN5biBrZXl3b3JkIGZvcnRoQ2hhck9wcyAoLikgQ0hBUiBFWFBFQ1QgRklORCBXT1JEIFRZUEUgLVRSQUlMSU5HIEVNSVQgS0VZCi1zeW4ga2V5d29yZCBmb3J0aENoYXJPcHMgS0VZPyBUSUIgQ1IKK3N5biBrZXl3b3JkIGZvcnRoQ2hhck9wcyBLRVk/IFRJQiBDUiBCTCBDT1VOVCBTUEFDRSBTUEFDRVMKICIgcmVjb2duaXplICdjaGFyICgnIG9yICdbY2hhcl0gKCcgY29ycmVjdGx5LCBzbyBpdCBkb2Vzbid0CiAiIGhpZ2hsaWdodCBldmVyeXRoaW5nIGFmdGVyIHRoZSBwYXJlbiBhcyBhIGNvbW1lbnQgdGlsbCBhIGNsb3NpbmcgJyknCiBzeW4gbWF0Y2ggZm9ydGhDaGFyT3BzICdcPGNoYXJcc1xTXHMnCkBAIC0yMTYsMTIgKzE0NiwxNSBAQAogIiBjaGFyLW51bWJlciBjb252ZXJzaW9uCiBzeW4ga2V5d29yZCBmb3J0aENvbnZlcnNpb24gPDwjIDwjICMgIz4gIz4+ICNTIChOVU1CRVIpIChOVU1CRVI/KSBDT05WRVJUIEQ+Rgogc3luIGtleXdvcmQgZm9ydGhDb252ZXJzaW9uIEQ+UyBESUdJVCBEUEwgRj5EIEhMRCBIT0xEIE5VTUJFUiBTPkQgU0lHTiA+TlVNQkVSCi1zeW4ga2V5d29yZCBmb3J0aENvbnZlcnNpb24gRj5TIFM+Rgorc3luIGtleXdvcmQgZm9ydGhDb252ZXJzaW9uIEY+UyBTPkYgSE9MRFMKIAogIiBpbnRlcnByZXRlciwgd29yZGJvb2ssIGNvbXBpbGVyCiBzeW4ga2V5d29yZCBmb3J0aEZvcnRoIChMT0NBTCkgQllFIENPTEQgQUJPUlQgPkJPRFkgPk5FWFQgPkxJTksgQ0ZBID5WSUVXIEhFUkUKIHN5biBrZXl3b3JkIGZvcnRoRm9ydGggUEFEIFdPUkRTIFZJRVcgVklFVz4gTj5MSU5LIE5BTUU+IExJTks+IEw+TkFNRSBGT1JHRVQKIHN5biBrZXl3b3JkIGZvcnRoRm9ydGggQk9EWT4gQVNTRVJUKCBBU1NFUlQwKCBBU1NFUlQxKCBBU1NFUlQyKCBBU1NFUlQzKCApCitzeW4ga2V5d29yZCBmb3J0aEZvcnRoID5JTiBBQ0NFUFQgRU5WSVJPTk1FTlQ/IEVWQUxVQVRFIFFVSVQgU09VUkNFIEFDVElPTi1PRgorc3luIGtleXdvcmQgZm9ydGhGb3J0aCBERUZFUiEgREVGRVJAIFBBUlNFIFBBUlNFLU5BTUUgUkVGSUxMIFJFU1RPUkUtSU5QVVQKK3N5biBrZXl3b3JkIGZvcnRoRm9ydGggU0FWRS1JTlBVVCBTT1VSQ0UtSUQKIHN5biByZWdpb24gZm9ydGhGb3J0aCBzdGFydD0rQUJPUlQiXHMrIHNraXA9K1xcIisgZW5kPSsiKwogCiAiIHZvY2FidWxhcmllcwpAQCAtMjM2LDE2ICsxNjksMTcgQEAKIHN5biBrZXl3b3JkIGZvcnRoRmlsZVdvcmRzIEZMVVNILUZJTEUgRklMRS1TVEFUVVMgRklMRS1QT1NJVElPTgogc3luIGtleXdvcmQgZm9ydGhGaWxlV29yZHMgUkVQT1NJVElPTi1GSUxFIEZJTEUtU0laRSBSRVNJWkUtRklMRQogc3luIGtleXdvcmQgZm9ydGhGaWxlV29yZHMgU0xVUlAtRklMRSBTTFVSUC1GSUQgU1RESU4gU1RET1VUIFNUREVSUgorc3luIGtleXdvcmQgZm9ydGhGaWxlV29yZHMgSU5DTFVERS1GSUxFIElOQ0xVREVEIFJFUVVJUkVECiBzeW4ga2V5d29yZCBmb3J0aEJsb2NrcyBPUEVOLUJMT0NLUyBVU0UgTE9BRCAtLT4gQkxPQ0stT0ZGU0VUCiBzeW4ga2V5d29yZCBmb3J0aEJsb2NrcyBHRVQtQkxPQ0stRklEIEJMT0NLLVBPU0lUSU9OIExJU1QgU0NSIEJMT0NLCiBzeW4ga2V5d29yZCBmb3J0aEJsb2NrcyBCVUZFUiBFTVBUWS1CVUZGRVJTIEVNUFRZLUJVRkZFUiBVUERBVEUgVVBEQVRFRD8KIHN5biBrZXl3b3JkIGZvcnRoQmxvY2tzIFNBVkUtQlVGRkVSUyBTQVZFLUJVRkZFUiBGTFVTSCBUSFJVICtMT0FEICtUSFJVCi1zeW4ga2V5d29yZCBmb3J0aEJsb2NrcyBCTE9DSy1JTkNMVURFRAorc3luIGtleXdvcmQgZm9ydGhCbG9ja3MgQkxPQ0stSU5DTFVERUQgQkxLCiAKICIgbnVtYmVycwogc3luIGtleXdvcmQgZm9ydGhNYXRoIERFQ0lNQUwgSEVYIEJBU0UKLXN5biBtYXRjaCBmb3J0aEludGVnZXIgJ1w8LVw9WzAtOS5dKlswLTkuXVwrXD4nCi1zeW4gbWF0Y2ggZm9ydGhJbnRlZ2VyICdcPCYtXD1bMC05Ll0qWzAtOS5dXCtcPicKK3N5biBtYXRjaCBmb3J0aEludGVnZXIgJ1w8LVw9WzAtOV1cKy5cPVw+Jworc3luIG1hdGNoIGZvcnRoSW50ZWdlciAnXDwmLVw9WzAtOV1cKy5cPVw+JwogIiByZWNvZ25pemUgaGV4IGFuZCBiaW5hcnkgbnVtYmVycywgdGhlICckJyBhbmQgJyUnIG5vdGF0aW9uIGlzIGZvciBnZm9ydGgKIHN5biBtYXRjaCBmb3J0aEludGVnZXIgJ1w8XCRceCpceFwrXD4nICIgKjEqIC0tLSBkb250J3QgbWVzcwogc3luIG1hdGNoIGZvcnRoSW50ZWdlciAnXDxceCpcZFx4Klw+JyAgIiAqMiogLS0tIHRoaXMgb3JkZXIhCkBAIC0yNTMsMjggKzE4NywyOSBAQAogc3luIG1hdGNoIGZvcnRoRmxvYXQgJ1w8LVw9XGQqWy5dXD1cZFwrW0RkRWVdXGRcK1w+Jwogc3luIG1hdGNoIGZvcnRoRmxvYXQgJ1w8LVw9XGQqWy5dXD1cZFwrW0RkRWVdWy0rXVxkXCtcPicKIAotIiBYWFggSWYgeW91IGZpbmQgdGhpcyBvdmVya2lsbCB5b3UgY2FuIHJlbW92ZSBpdC4gVGhpcyBoYXMgdG8gY29tZSBhZnRlciB0aGUKKyIgWFhYIElmIHlvdSBmaW5kIHRoaXMgb3ZlcmtpbGwgeW91IGNhbiByZW1vdmUgaXQuIHRoaXMgaGFzIHRvIGNvbWUgYWZ0ZXIgdGhlCiAiIGhpZ2hsaWdodGluZyBmb3IgbnVtYmVycyBvdGhlcndpc2UgaXQgaGFzIG5vIGVmZmVjdC4KIHN5biByZWdpb24gZm9ydGhDb21tZW50IHN0YXJ0PScwIFxbaWZcXScgZW5kPSdcW2VuZGlmXF0nIGVuZD0nXFt0aGVuXF0nIGNvbnRhaW5zPWZvcnRoVG9kbwogCiAiIFN0cmluZ3MKLXN5biByZWdpb24gZm9ydGhTdHJpbmcgc3RhcnQ9K1wuKlwiKyBlbmQ9KyIrIGVuZD0rJCsgY29udGFpbnM9QFNwZWxsCitzeW4gcmVnaW9uIGZvcnRoU3RyaW5nIHN0YXJ0PStcLipcIisgZW5kPSsiKyBlbmQ9KyQrCiAiIFhYWAotc3luIHJlZ2lvbiBmb3J0aFN0cmluZyBzdGFydD0rc1wiKyBlbmQ9KyIrIGVuZD0rJCsgY29udGFpbnM9QFNwZWxsCi1zeW4gcmVnaW9uIGZvcnRoU3RyaW5nIHN0YXJ0PStjXCIrIGVuZD0rIisgZW5kPSskKyBjb250YWlucz1AU3BlbGwKK3N5biByZWdpb24gZm9ydGhTdHJpbmcgc3RhcnQ9K3NcIisgZW5kPSsiKyBlbmQ9KyQrCitzeW4gcmVnaW9uIGZvcnRoU3RyaW5nIHN0YXJ0PStzXFxcIisgZW5kPSsiKyBlbmQ9KyQrCitzeW4gcmVnaW9uIGZvcnRoU3RyaW5nIHN0YXJ0PStjXCIrIGVuZD0rIisgZW5kPSskKwogCiAiIENvbW1lbnRzCi1zeW4gbWF0Y2ggZm9ydGhDb21tZW50ICdcXFxzLiokJyBjb250YWlucz1AU3BlbGwsZm9ydGhUb2RvLGZvcnRoU3BhY2VFcnJvcgotc3luIHJlZ2lvbiBmb3J0aENvbW1lbnQgc3RhcnQ9J1xcU1xzJyBlbmQ9Jy4qJyBjb250YWlucz1AU3BlbGwsZm9ydGhUb2RvLGZvcnRoU3BhY2VFcnJvcgotc3luIG1hdGNoIGZvcnRoQ29tbWVudCAnXC4oXHNbXildKiknIGNvbnRhaW5zPUBTcGVsbCxmb3J0aFRvZG8sZm9ydGhTcGFjZUVycm9yCi1zeW4gcmVnaW9uIGZvcnRoQ29tbWVudCBzdGFydD0nXCheXHxcc1wpXHpzKFxzJyBza2lwPSdcXCknIGVuZD0nKScgY29udGFpbnM9QFNwZWxsLGZvcnRoVG9kbyxmb3J0aFNwYWNlRXJyb3IKLXN5biByZWdpb24gZm9ydGhDb21tZW50IHN0YXJ0PScvXConIGVuZD0nXCovJyBjb250YWlucz1AU3BlbGwsZm9ydGhUb2RvLGZvcnRoU3BhY2VFcnJvcgorc3luIG1hdGNoIGZvcnRoQ29tbWVudCAnXFxccy4qJCcgY29udGFpbnM9Zm9ydGhUb2RvLGZvcnRoU3BhY2VFcnJvcgorc3luIHJlZ2lvbiBmb3J0aENvbW1lbnQgc3RhcnQ9J1xcU1xzJyBlbmQ9Jy4qJyBjb250YWlucz1mb3J0aFRvZG8sZm9ydGhTcGFjZUVycm9yCitzeW4gbWF0Y2ggZm9ydGhDb21tZW50ICdcLihcc1teKV0qKScgY29udGFpbnM9Zm9ydGhUb2RvLGZvcnRoU3BhY2VFcnJvcgorc3luIHJlZ2lvbiBmb3J0aENvbW1lbnQgc3RhcnQ9J1woXlx8XHNcKVx6cyhccycgc2tpcD0nXFwpJyBlbmQ9JyknIGNvbnRhaW5zPWZvcnRoVG9kbyxmb3J0aFNwYWNlRXJyb3IKK3N5biByZWdpb24gZm9ydGhDb21tZW50IHN0YXJ0PScvXConIGVuZD0nXCovJyBjb250YWlucz1mb3J0aFRvZG8sZm9ydGhTcGFjZUVycm9yCiAKICIgSW5jbHVkZSBmaWxlcwogc3luIG1hdGNoIGZvcnRoSW5jbHVkZSAnXklOQ0xVREVcc1wrXGtcKycKLXN5biBtYXRjaCBmb3J0aEluY2x1ZGUgJ15yZXF1aXJlXHNcK1xrXCsnCi1zeW4gbWF0Y2ggZm9ydGhJbmNsdWRlICdeZmxvYWRcc1wrJwotc3luIG1hdGNoIGZvcnRoSW5jbHVkZSAnXm5lZWRzXHNcKycKK3N5biBtYXRjaCBmb3J0aEluY2x1ZGUgJ15SRVFVSVJFXHNcK1xrXCsnCitzeW4gbWF0Y2ggZm9ydGhJbmNsdWRlICdeRkxPQURcc1wrJworc3luIG1hdGNoIGZvcnRoSW5jbHVkZSAnXk5FRURTXHNcKycKIAogIiBMb2NhbHMgZGVmaW5pdGlvbnMKIHN5biByZWdpb24gZm9ydGhMb2NhbHMgc3RhcnQ9J3tccycgc3RhcnQ9J3skJyBlbmQ9J1xzfScgZW5kPSdefScKQEAgLTI4Miw5ICsyMTcsNiBAQAogc3luIHJlZ2lvbiBmb3J0aERlcHJlY2F0ZWQgc3RhcnQ9J2xvY2Fsc3wnIGVuZD0nfCcKIAogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBPbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotCi0iIFRoZSBkZWZhdWx0IG1ldGhvZHMgZm9yIGhpZ2hsaWdodGluZy4gQ2FuIGJlIG92ZXJyaWRkZW4gbGF0ZXIuCiBoaSBkZWYgbGluayBmb3J0aFRvZG8gVG9kbwogaGkgZGVmIGxpbmsgZm9ydGhPcGVyYXRvcnMgT3BlcmF0b3IKIGhpIGRlZiBsaW5rIGZvcnRoTWF0aCBOdW1iZXIKQEAgLTMxOCwxMSArMjUwLDExIEBACiBoaSBkZWYgbGluayBmb3J0aExvY2FscyBUeXBlICIgbm90aGluZyBlbHNlIHVzZXMgdHlwZSBhbmQgbG9jYWxzIG11c3Qgc3RhbmQgb3V0CiBoaSBkZWYgbGluayBmb3J0aERlcHJlY2F0ZWQgRXJyb3IgIiBpZiB5b3UgbXVzdCwgY2hhbmdlIHRvIFR5cGUKIGhpIGRlZiBsaW5rIGZvcnRoRmlsZU1vZGUgRnVuY3Rpb24KK2hpIGRlZiBsaW5rIGZvcnRoRnVuY3Rpb24gRnVuY3Rpb24KIGhpIGRlZiBsaW5rIGZvcnRoRmlsZVdvcmRzIFN0YXRlbWVudAogaGkgZGVmIGxpbmsgZm9ydGhCbG9ja3MgU3RhdGVtZW50CiBoaSBkZWYgbGluayBmb3J0aFNwYWNlRXJyb3IgRXJyb3IKIAotCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJmb3J0aCIKIAogbGV0ICZjcG8gPSBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9oYXNrZWxsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hhc2tlbGwudmltCmluZGV4IDFhZGI3YWIuLmU1MTI4YTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2hhc2tlbGwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2hhc2tlbGwudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CQlIYXNrZWxsCiAiIE1haW50YWluZXI6CQlIYXNrZWxsIENhZmUgbWFpbGluZ2xpc3QgPGhhc2tlbGwtY2FmZUBoYXNrZWxsLm9yZz4KLSIgTGFzdCBDaGFuZ2U6CQkyMDE3IERlYyAxNgorIiBMYXN0IENoYW5nZToJCTIwMTggTWFyIDI5IGJ5IE1hcmNpbiBTemFtb3R1bHNraQogIiBPcmlnaW5hbCBBdXRob3I6CUpvaG4gV2lsbGlhbXMgPGpyd0Bwb2JveC5jb20+CiAiCiAiIFRoYW5rcyB0byBSeWFuIENydW1sZXkgZm9yIHN1Z2dlc3Rpb25zIGFuZCBKb2huIE1lYWNoYW0gZm9yCkBAIC0zOCw4ICszOCw4IEBACiBlbmRpZgogCiAiIChRdWFsaWZpZWQpIGlkZW50aWZpZXJzIChubyBkZWZhdWx0IGhpZ2hsaWdodGluZykKLXN5biBtYXRjaCBDb25JZCAiXChcPFtBLVpdW2EtekEtWjAtOV8nXSpcLlwpXD1cPFtBLVpdW2EtekEtWjAtOV8nXSpcPiIKLXN5biBtYXRjaCBWYXJJZCAiXChcPFtBLVpdW2EtekEtWjAtOV8nXSpcLlwpXD1cPFthLXpdW2EtekEtWjAtOV8nXSpcPiIKK3N5biBtYXRjaCBDb25JZCAiXChcPFtBLVpdW2EtekEtWjAtOV8nXSpcLlwpXD1cPFtBLVpdW2EtekEtWjAtOV8nXSpcPiIgY29udGFpbnM9QE5vU3BlbGwKK3N5biBtYXRjaCBWYXJJZCAiXChcPFtBLVpdW2EtekEtWjAtOV8nXSpcLlwpXD1cPFthLXpdW2EtekEtWjAtOV8nXSpcPiIgY29udGFpbnM9QE5vU3BlbGwKIAogIiBJbmZpeCBvcGVyYXRvcnMtLW1vc3QgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBhbmQgYW55IChxdWFsaWZpZWQpIGlkZW50aWZpZXIKICIgZW5jbG9zZWQgaW4gYGJhY2txdW90ZXNgLiBBbiBvcGVyYXRvciBzdGFydGluZyB3aXRoIDogaXMgYSBjb25zdHJ1Y3RvciwKQEAgLTU2LDcgKzU2LDcgQEAKIHN5biBtYXRjaCAgIGhzU3BlY2lhbENoYXIJY29udGFpbmVkICJcXFwoWzAtOV1cK1x8b1swLTddXCtcfHhbMC05YS1mQS1GXVwrXHxbXCJcXCcmXFxhYmZucnR2XVx8XltBLVpeX1xbXFxcXV1cKSIKIHN5biBtYXRjaCAgIGhzU3BlY2lhbENoYXIJY29udGFpbmVkICJcXFwoTlVMXHxTT0hcfFNUWFx8RVRYXHxFT1RcfEVOUVx8QUNLXHxCRUxcfEJTXHxIVFx8TEZcfFZUXHxGRlx8Q1JcfFNPXHxTSVx8RExFXHxEQzFcfERDMlx8REMzXHxEQzRcfE5BS1x8U1lOXHxFVEJcfENBTlx8RU1cfFNVQlx8RVNDXHxGU1x8R1NcfFJTXHxVU1x8U1BcfERFTFwpIgogc3luIG1hdGNoICAgaHNTcGVjaWFsQ2hhckVycm9yCWNvbnRhaW5lZCAiXFwmXHwnJydcKyIKLXN5biByZWdpb24gIGhzU3RyaW5nCQlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisgIGNvbnRhaW5zPWhzU3BlY2lhbENoYXIKK3N5biByZWdpb24gIGhzU3RyaW5nCQlzdGFydD0rIisgIHNraXA9K1xcXFxcfFxcIisgIGVuZD0rIisgIGNvbnRhaW5zPWhzU3BlY2lhbENoYXIsQE5vU3BlbGwKIHN5biBtYXRjaCAgIGhzQ2hhcmFjdGVyCQkiW15hLXpBLVowLTlfJ10nXChbXlxcXVx8XFxbXiddXCtcfFxcJ1wpJyJsYz0xIGNvbnRhaW5zPWhzU3BlY2lhbENoYXIsaHNTcGVjaWFsQ2hhckVycm9yCiBzeW4gbWF0Y2ggICBoc0NoYXJhY3RlcgkJIl4nXChbXlxcXVx8XFxbXiddXCtcfFxcJ1wpJyIgY29udGFpbnM9aHNTcGVjaWFsQ2hhcixoc1NwZWNpYWxDaGFyRXJyb3IKIHN5biBtYXRjaCAgIGhzTnVtYmVyCQkiXHY8WzAtOV0lKF8qWzAtOV0pKj58PDBbeFhdXypbMC05YS1mQS1GXSUoXypbMC05YS1mQS1GXSkqPnw8MFtvT11fKiUoXypbMC03XSkqPnw8MFtiQl1fKlswMV0lKF8qWzAxXSkqPiIKQEAgLTY2LDggKzY2LDggQEAKICIgYmVjYXVzZSBvdGhlcndpc2UgdGhleSB3b3VsZCBtYXRjaCBhcyBrZXl3b3JkcyBhdCB0aGUgc3RhcnQgb2YgYQogIiAibGl0ZXJhdGUiIGNvbW1lbnQgKHNlZSBsaHMudmltKS4KIHN5biBtYXRjaCBoc01vZHVsZQkJIlw8bW9kdWxlXD4iCi1zeW4gbWF0Y2ggaHNJbXBvcnQJCSJcPGltcG9ydFw+LioiaGU9cys2IGNvbnRhaW5zPWhzSW1wb3J0TW9kLGhzTGluZUNvbW1lbnQsaHNCbG9ja0NvbW1lbnQKLXN5biBtYXRjaCBoc0ltcG9ydE1vZAkJY29udGFpbmVkICJcPFwoYXNcfHF1YWxpZmllZFx8aGlkaW5nXClcPiIKK3N5biBtYXRjaCBoc0ltcG9ydAkJIlw8aW1wb3J0XD4uKiJoZT1zKzYgY29udGFpbnM9aHNJbXBvcnRNb2QsaHNMaW5lQ29tbWVudCxoc0Jsb2NrQ29tbWVudCxATm9TcGVsbAorc3luIG1hdGNoIGhzSW1wb3J0TW9kCQljb250YWluZWQgIlw8XChhc1x8cXVhbGlmaWVkXHxoaWRpbmdcKVw+IiBjb250YWlucz1ATm9TcGVsbAogc3luIG1hdGNoIGhzSW5maXgJCSJcPFwoaW5maXhcfGluZml4bFx8aW5maXhyXClcPiIKIHN5biBtYXRjaCBoc1N0cnVjdHVyZQkJIlw8XChjbGFzc1x8ZGF0YVx8ZGVyaXZpbmdcfGluc3RhbmNlXHxkZWZhdWx0XHx3aGVyZVwpXD4iCiBzeW4gbWF0Y2ggaHNUeXBlZGVmCQkiXDxcKHR5cGVcfG5ld3R5cGVcKVw+IgpAQCAtOTcsOCArOTcsOCBAQAogCiAKICIgQ29tbWVudHMKLXN5biBtYXRjaCAgIGhzTGluZUNvbW1lbnQgICAgICAiLS0tKlwoW14tISMkJSZcKlwrLi88PT5cP0BcXF58fl0uKlwpXD8kIgotc3luIHJlZ2lvbiAgaHNCbG9ja0NvbW1lbnQgICAgIHN0YXJ0PSJ7LSIgIGVuZD0iLX0iIGNvbnRhaW5zPWhzQmxvY2tDb21tZW50CitzeW4gbWF0Y2ggICBoc0xpbmVDb21tZW50ICAgICAgIi0tLSpcKFteLSEjJCUmXCpcKy4vPD0+XD9AXFxefH5dLipcKVw/JCIgY29udGFpbnM9QFNwZWxsCitzeW4gcmVnaW9uICBoc0Jsb2NrQ29tbWVudCAgICAgc3RhcnQ9InstIiAgZW5kPSItfSIgY29udGFpbnM9aHNCbG9ja0NvbW1lbnQsQFNwZWxsCiBzeW4gcmVnaW9uICBoc1ByYWdtYQkgICAgICAgc3RhcnQ9InstIyIgZW5kPSIjLX0iCiAKICIgQyBQcmVwcm9jZXNzb3IgZGlyZWN0aXZlcy4gU2hhbWVsZXNzbHkgcmlwcGVkIGZyb20gYy52aW0gYW5kIHRyaW1tZWQK