ZGlmZiAtLWdpdCBhL3J1bnRpbWUvY29tcGlsZXIvb2NhbWwudmltIGIvcnVudGltZS9jb21waWxlci9vY2FtbC52aW0KaW5kZXggN2Y4YTdlYS4uZmFhOGFmMSAxMDA2NDQKLS0tIGEvcnVudGltZS9jb21waWxlci9vY2FtbC52aW0KKysrIGIvcnVudGltZS9jb21waWxlci9vY2FtbC52aW0KQEAgLTEsMTEgKzEsMTEgQEAKICIgVmltIENvbXBpbGVyIEZpbGUKICIgQ29tcGlsZXI6ICAgIG9jYW1sCiAiIE1haW50YWluZXI6ICBNYXJrdXMgTW90dGwgPG1hcmt1cy5tb3R0bEBnbWFpbC5jb20+Ci0iIFVSTDogICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmdyaW5iZXJnL3ZpbS1vY2FtbAorIiBVUkw6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL29jYW1sL3ZpbS1vY2FtbAogIiBMYXN0IENoYW5nZToKKyIgICAgICAgICAgICAgIDIwMjAgTWFyIDI4IC0gSW1wcm92ZWQgZXJyb3IgZm9ybWF0IChUaG9tYXMgTGVvbmFyZCkKICIgICAgICAgICAgICAgIDIwMTcgTm92IDI2IC0gSW1wcm92ZWQgZXJyb3IgZm9ybWF0IChNYXJrdXMgTW90dGwpCiAiICAgICAgICAgICAgICAyMDEzIEF1ZyAyNyAtIEFkZGVkIGEgbmV3IE9DYW1sIGVycm9yIGZvcm1hdCAoTWFya3VzIE1vdHRsKQotIiAgICAgICAgICAgICAgMjAxMyBKdW4gMzAgLSBJbml0aWFsIHZlcnNpb24gKE1hcmMgV2ViZXIpCiAiCiAiIE1hcmMgV2ViZXIncyBjb21tZW50czoKICIgU2V0dGluZyBtYWtlcHJnIGRvZXNuJ3QgbWFrZSBzZW5zZSwgYmVjYXVzZSB0aGVyZSBpcyBvY2FtbGMsIG9jYW1sb3B0LApAQCAtMjEsNiArMjEsNyBAQAogIgogIiBTbyBoYXZpbmcgaXQgaGVyZSBtYWtlcyBwZW9wbGUgb3B0LWluCiAKKwogaWYgZXhpc3RzKCJjdXJyZW50X2NvbXBpbGVyIikKICAgICBmaW5pc2gKIGVuZGlmCkBAIC0zMCw2ICszMSw3IEBACiBzZXQgY3BvJnZpbQogCiBDb21waWxlclNldCBlcnJvcmZvcm1hdCA9CisgICAgICBcJUVGaWxlXCBcIiVmXCJcXCxcIGxpbmVzXCAlKlxcZC0lbFxcLFwgY2hhcmFjdGVyc1wgJWMtJSpcXGQ6LAogICAgICAgXCVFRmlsZVwgXCIlZlwiXFwsXCBsaW5lXCAlbFxcLFwgY2hhcmFjdGVyc1wgJWMtJSpcXGQ6LAogICAgICAgXCVFRmlsZVwgXCIlZlwiXFwsXCBsaW5lXCAlbFxcLFwgY2hhcmFjdGVyc1wgJWMtJSpcXGRcICUuJSMsCiAgICAgICBcJUVGaWxlXCBcIiVmXCJcXCxcIGxpbmVcICVsXFwsXCBjaGFyYWN0ZXJcICVjOiVtLApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvY21kbGluZS50eHQgYi9ydW50aW1lL2RvYy9jbWRsaW5lLnR4dAppbmRleCBlNTM2ZGFjLi45OTAzODBmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9jbWRsaW5lLnR4dAorKysgYi9ydW50aW1lL2RvYy9jbWRsaW5lLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpjbWRsaW5lLnR4dCogICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjAgU2VwIDE0CisqY21kbGluZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAyNgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtODQ5LDYgKzg0OSwxNiBAQAogCQlmaWxlIG5hbWUgbi4gIFNlZSB8Om9sZGZpbGVzfCBvciB8djpvbGRmaWxlc3wgdG8gZ2V0IHRoZQogCQludW1iZXIuCQkJCQkJCSpFODA5KgogCQl7b25seSB3aGVuIGNvbXBpbGVkIHdpdGggdGhlIHwrZXZhbHwgYW5kIHwrdmltaW5mb3wgZmVhdHVyZXN9CitJbiB8VmltOS1zY3JpcHR8ICMgaXMgdXNlZCB0byBzdGFydCBhIGNvbW1lbnQsIHVzZSAlJSBmb3IgdGhlIGFsdGVybmF0ZSBmaWxlCituYW1lOgorCSUJSXMgcmVwbGFjZWQgd2l0aCB0aGUgY3VycmVudCBmaWxlIG5hbWUuCisJJSUJSXMgcmVwbGFjZWQgd2l0aCB0aGUgYWx0ZXJuYXRlIGZpbGUgbmFtZS4JKjpfJSUqICpjXyUlKgorCSUlbgkod2hlcmUgbiBpcyBhIG51bWJlcikgaXMgcmVwbGFjZWQgd2l0aAkJKjpfJSUwKiAqOl8lJW4qCisJCXRoZSBmaWxlIG5hbWUgb2YgYnVmZmVyIG4uICAiJSUwIiBpcyB0aGUgc2FtZSBhcyAiJSUiLiAgICpjXyUlbioKKwklJSUJSXMgcmVwbGFjZWQgd2l0aCBhbGwgbmFtZXMgaW4gdGhlIGFyZ3VtZW50CSo6XyUlJSogKmNfJSUlIyoKKwkJbGlzdCBjb25jYXRlbmF0ZWQsIHNlcGFyYXRlZCBieSBzcGFjZXMuCisJJSU8bgkod2hlcmUgbiBpcyBhIG51bWJlciA+IDApIGlzIHJlcGxhY2VkIHdpdGggb2xkICAqOl8lJTwqICpjXyUlPCoKKwkJZmlsZSBuYW1lIG4uCiAKIE5vdGUgdGhhdCB0aGVzZSwgZXhjZXB0ICIjPG4iLCBnaXZlIHRoZSBmaWxlIG5hbWUgYXMgaXQgd2FzIHR5cGVkLiAgSWYgYW4KIGFic29sdXRlIHBhdGggaXMgbmVlZGVkICh3aGVuIHVzaW5nIHRoZSBmaWxlIG5hbWUgZnJvbSBhIGRpZmZlcmVudCBkaXJlY3RvcnkpLApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZXZhbC50eHQgYi9ydW50aW1lL2RvYy9ldmFsLnR4dAppbmRleCA4Yjg1ZGFkLi4zMDQzMjI1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9ldmFsLnR4dAorKysgYi9ydW50aW1lL2RvYy9ldmFsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpldmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAyMgorKmV2YWwudHh0KglGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjAgRGVjIDI5CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTg5NjAsNyArODk2MCw3IEBACiAJCQkJCQlyZXN1bHQuICBpZiBzZWFyY2ggZXhjZWVkZWQKIAkJCQkJCXRvdGFsIGNvdW50LCAidG90YWwiIHZhbHVlCiAJCQkJCQliZWNvbWVzIGBtYXhjb3VudCArIDFgCi0JCQkJCQkoZGVmYXVsdDogMCkKKwkJCQkJCShkZWZhdWx0OiA5OSkKIAkJICBwb3MJCXxMaXN0fAkJYFtsbnVtLCBjb2wsIG9mZl1gIHZhbHVlCiAJCQkJCQl3aGVuIHJlY29tcHV0aW5nIHRoZSByZXN1bHQuCiAJCQkJCQl0aGlzIGNoYW5nZXMgImN1cnJlbnQiIHJlc3VsdApAQCAtMTA4NzQsNyArMTA4NzQsNyBAQAogCQlpcyB0aGUgdGltZXIgSUQuICBUaGUgY2FsbGJhY2sgaXMgb25seSBpbnZva2VkIHdoZW4gVmltIGlzCiAJCXdhaXRpbmcgZm9yIGlucHV0LgogCQlJZiB5b3Ugd2FudCB0byBzaG93IGEgbWVzc2FnZSBsb29rIGF0IHxwb3B1cF9ub3RpZmljYXRpb24oKXwKLQkJdG8gYXZvaWQgaW50ZWZlcmluZyB3aXRoIHdoYXQgdGhlIHVzZXIgaXMgZG9pbmcuCisJCXRvIGF2b2lkIGludGVyZmVyaW5nIHdpdGggd2hhdCB0aGUgdXNlciBpcyBkb2luZy4KIAogCQl7b3B0aW9uc30gaXMgYSBkaWN0aW9uYXJ5LiAgU3VwcG9ydGVkIGVudHJpZXM6CiAJCSAgICJyZXBlYXQiCU51bWJlciBvZiB0aW1lcyB0byByZXBlYXQgY2FsbGluZyB0aGUKQEAgLTEyOTUyLDcgKzEyOTUyLDcgQEAKIDpleGVbY3V0ZV0ge2V4cHIxfSAuLglFeGVjdXRlcyB0aGUgc3RyaW5nIHRoYXQgcmVzdWx0cyBmcm9tIHRoZSBldmFsdWF0aW9uCiAJCQlvZiB7ZXhwcjF9IGFzIGFuIEV4IGNvbW1hbmQuCiAJCQlNdWx0aXBsZSBhcmd1bWVudHMgYXJlIGNvbmNhdGVuYXRlZCwgd2l0aCBhIHNwYWNlIGluCi0JCQliZXR3ZWVuLiAgVG8gYXZvaWQgdGhlIGV4dHJhIHNwYWNlIHVzZSB0aGUgIi4iCisJCQliZXR3ZWVuLiAgVG8gYXZvaWQgdGhlIGV4dHJhIHNwYWNlIHVzZSB0aGUgIi4uIgogCQkJb3BlcmF0b3IgdG8gY29uY2F0ZW5hdGUgc3RyaW5ncyBpbnRvIG9uZSBhcmd1bWVudC4KIAkJCXtleHByMX0gaXMgdXNlZCBhcyB0aGUgcHJvY2Vzc2VkIGNvbW1hbmQsIGNvbW1hbmQgbGluZQogCQkJZWRpdGluZyBrZXlzIGFyZSBub3QgcmVjb2duaXplZC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2hlbHBoZWxwLnR4dCBiL3J1bnRpbWUvZG9jL2hlbHBoZWxwLnR4dAppbmRleCBjNzI0OTIzLi4zYTA2YmFmIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9oZWxwaGVscC50eHQKKysrIGIvcnVudGltZS9kb2MvaGVscGhlbHAudHh0CkBAIC0xLDQgKzEsNCBAQAotKmhlbHBoZWxwLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAxOQorKmhlbHBoZWxwLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTU4LDYgKzE1OCw5IEBACiB3aWxsIGJlIG9wZW5lZC4gIE90aGVyd2lzZSB0aGUgc3BlY2lmaWVkIHRhZyBpcyBzZWFyY2hlZCBmb3IgaW4gYWxsICJkb2MvdGFncyIKIGZpbGVzIGluIHRoZSBkaXJlY3RvcmllcyBzcGVjaWZpZWQgaW4gdGhlICdydW50aW1lcGF0aCcgb3B0aW9uLgogCitJZiB5b3Ugd291bGQgbGlrZSB0byBvcGVuIHRoZSBoZWxwIGluIHRoZSBjdXJyZW50IHdpbmRvdywgc2VlIHRoaXMgdGlwOgorfGhlbHAtY3Vyd2lufC4KKwogVGhlIGluaXRpYWwgaGVpZ2h0IG9mIHRoZSBoZWxwIHdpbmRvdyBjYW4gYmUgc2V0IHdpdGggdGhlICdoZWxwaGVpZ2h0JyBvcHRpb24KIChkZWZhdWx0IDIwKS4KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaW50cm8udHh0IGIvcnVudGltZS9kb2MvaW50cm8udHh0CmluZGV4IGM1NTVkYzIuLjdkNjgzOTkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2ludHJvLnR4dAorKysgYi9ydW50aW1lL2RvYy9pbnRyby50eHQKQEAgLTEsNCArMSw0IEBACi0qaW50cm8udHh0KiAgICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAxOQorKmludHJvLnR4dCogICAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMCBEZWMgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTY3OCw4ICs2NzgsOCBAQAogTm9ybWFsIG1vZGUsIHdpdGhvdXQgY2F1c2luZyBhIGJlZXAgbGlrZSA8RXNjPiB3b3VsZC4gIEhvd2V2ZXIsIHRoaXMgZG9lcyBub3QKIHdvcmsgaW4gRXggbW9kZS4gIFdoZW4gdXNlZCBhZnRlciBhIGNvbW1hbmQgdGhhdCB0YWtlcyBhbiBhcmd1bWVudCwgc3VjaCBhcwogfGZ8IG9yIHxtfCwgdGhlIHRpbWVvdXQgc2V0IHdpdGggJ3R0aW1lb3V0bGVuJyBhcHBsaWVzLgotV2hlbiBmb2N1cyBpcyBpbiBhIHRlcm1pbmFsIHdpbmRvdywgQ1RSTC1cIENUUkwtTiBnb2VzIHRvIE5vcm1hbCBtb2RlIGZvciBvbmx5Ci1vbmUgY29tbWFuZCwgc2VlIHx0X0NUUkwtXF9DVFJMLU58LgorV2hlbiBmb2N1cyBpcyBpbiBhIHRlcm1pbmFsIHdpbmRvdywgQ1RSTC1cIENUUkwtTiBnb2VzIHRvIE5vcm1hbCBtb2RlIHVudGlsIGFuCitlZGl0IGNvbW1hbmQgaXMgZW50ZXJlZCwgc2VlIHx0X0NUUkwtXF9DVFJMLU58LgogCiAJKkNUUkwtXF9DVFJMLUcqICppX0NUUkwtXF9DVFJMLUcqICpjX0NUUkwtXF9DVFJMLUcqICp2X0NUUkwtXF9DVFJMLUcqCiBUaGUgY29tbWFuZCBDVFJMLVwgQ1RSTC1HIG9yIDxDLVw+PEMtRz4gY2FuIGJlIHVzZWQgdG8gZ28gdG8gSW5zZXJ0IG1vZGUgd2hlbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvbWVzc2FnZS50eHQgYi9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dAppbmRleCA5Y2U2NDlkLi5mYmY0Y2UyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dAorKysgYi9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSptZXNzYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjAgU2VwIDA3CisqbWVzc2FnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNzk0LDYgKzc5NCw5IEBACiAtPiBQcmVzcyA8RW50ZXI+IG9yIDxTcGFjZT4gdG8gcmVkcmF3IHRoZSBzY3JlZW4gYW5kIGNvbnRpbnVlLCB3aXRob3V0IHRoYXQKICAgIGtleSBiZWluZyB1c2VkIG90aGVyd2lzZS4KIC0+IFByZXNzICc6JyBvciBhbnkgb3RoZXIgTm9ybWFsIG1vZGUgY29tbWFuZCBjaGFyYWN0ZXIgdG8gc3RhcnQgdGhhdCBjb21tYW5kLgorICAgTm90ZSB0aGF0IGFmdGVyIGFuIGV4dGVybmFsIGNvbW1hbmQgc29tZSBzcGVjaWFsIGtleXMsIHN1Y2ggYXMgdGhlIGN1cnNvcgorICAga2V5cywgbWF5IG5vdCB3b3JrIG5vcm1hbGx5LCBiZWNhdXNlIHRoZSB0ZXJtaW5hbCBpcyBzdGlsbCBzZXQgdG8gYSBzdGF0ZQorICAgZm9yIGV4ZWN1dGluZyB0aGUgZXh0ZXJuYWwgY29tbWFuZC4KIC0+IFByZXNzICdrJywgPFVwPiwgJ3UnLCAnYicgb3IgJ2cnIHRvIHNjcm9sbCBiYWNrIGluIHRoZSBtZXNzYWdlcy4gIFRoaXMKICAgIHdvcmtzIHRoZSBzYW1lIHdheSBhcyBhdCB0aGUgfG1vcmUtcHJvbXB0fC4gIE9ubHkgd29ya3Mgd2hlbiAnY29tcGF0aWJsZScKICAgIGlzIG9mZiBhbmQgJ21vcmUnIGlzIG9uLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3Nfdm1zLnR4dCBiL3J1bnRpbWUvZG9jL29zX3Ztcy50eHQKaW5kZXggYjY5ZjY1MC4uZjVjNDg1OSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3Nfdm1zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc192bXMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX3Ztcy50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMCBKdW4gMDcKKypvc192bXMudHh0KiAgICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjAgRGVjIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCkBAIC03Miw3ICs3Miw3IEBACiA0LiBQcm9ibGVtcwkJCQkJCSp2bXMtcHJvYmxlbXMqCiAKIFRoZSBjb2RlIGhhcyBiZWVuIHRlc3RlZCB1bmRlciBPcGVuIFZNUyA2LjIgLSA4LjIgb24gQWxwaGEsIFZBWCBhbmQgSUE2NAotcGxhdGZvcm1zIHdpdGggdGhlIERFQyBDIGNvbXBpbGVyLiAgSXQgc2hvdWxkIHdvcmsgd2l0aG91dCBiaWcgcHJvYmxlbXMuCitwbGF0Zm9ybXMgd2l0aCB0aGUgREVDIEMgY29tcGlsZXIuIEl0IHNob3VsZCB3b3JrIHdpdGhvdXQgbWFqb3IgcHJvYmxlbXMuCiBJZiB5b3VyIHN5c3RlbSBkb2VzIG5vdCBoYXZlIHNvbWUgaW5jbHVkZSBsaWJyYXJpZXMgeW91IGNhbiB0dW5lIHVwIGluCiBPU19WTVNfQ09ORi5IIGZpbGUuCiAKQEAgLTc2NSw2ICs3NjUsMTMgQEAKIAogOS4gVk1TIHJlbGF0ZWQgY2hhbmdlcwkJCQkJKnZtcy1jaGFuZ2VzKgogCitWZXJzaW9uIDguMgorLSBtYWtlIGFsbCBjaGFuZ2VzIG5lZWRlZCBmb3IgY2xlYW4gY29tcGlsZSBidWlsZCBvZiB2OC4yIG9uIFZNUyBvbiBhbGwgcGxhdGZvcm1zCistIHRlc3Qgb24gVlNJIE9wZW5WTVMgcGxhdGZvcm1zCistIGFkZGVkICBYUE0gc3VwcG9ydCAtIE1vdGlmIEdVSSB3aXRoIHRvb2xiYXIgb24gYWxsIHBsYXRmb3JtcworLSBYUE0gdjMuNC4xMSBsaWJyYXJpZXMgZm9yIElBNjQsIEFYUCBhbmQgVkFYIGFyZSBhZGRlZCAKKy0gc3RhcnQgaW50ZWdyYXRpbmcgdGhlIG5ldyB0ZXN0IHNjcmlwdHMgCisKIFZlcnNpb24gOC4xCiAtIG1ha2UgbmVjZXNzYXJ5IGNoYW5nZXMgdG8gYnVpbGQgdjguMSBvbiBWTVMKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGF0dGVybi50eHQgYi9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dAppbmRleCA0YTU3NGUzLi4xNzdhNjUyIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dAorKysgYi9ydW50aW1lL2RvYy9wYXR0ZXJuLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpwYXR0ZXJuLnR4dCogICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjAgRGVjIDA2CisqcGF0dGVybi50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzk0LDE1ICszOTQsMTkgQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogMy4gTWFnaWMJCQkJCQkJKi9tYWdpYyoKIAotU29tZSBjaGFyYWN0ZXJzIGluIHRoZSBwYXR0ZXJuIGFyZSB0YWtlbiBsaXRlcmFsbHkuICBUaGV5IG1hdGNoIHdpdGggdGhlIHNhbWUKLWNoYXJhY3RlciBpbiB0aGUgdGV4dC4gIFdoZW4gcHJlY2VkZWQgd2l0aCBhIGJhY2tzbGFzaCBob3dldmVyLCB0aGVzZQotY2hhcmFjdGVycyBnZXQgYSBzcGVjaWFsIG1lYW5pbmcuCitTb21lIGNoYXJhY3RlcnMgaW4gdGhlIHBhdHRlcm4sIHN1Y2ggYXMgbGV0dGVycywgYXJlIHRha2VuIGxpdGVyYWxseS4gIFRoZXkKK21hdGNoIGV4YWN0bHkgdGhlIHNhbWUgY2hhcmFjdGVyIGluIHRoZSB0ZXh0LiAgV2hlbiBwcmVjZWRlZCB3aXRoIGEgYmFja3NsYXNoCitob3dldmVyLCB0aGVzZSBjaGFyYWN0ZXJzIG1heSBnZXQgYSBzcGVjaWFsIG1lYW5pbmcuICBGb3IgZXhhbXBsZSwgImEiIG1hdGNoZXMKK3RoZSBsZXR0ZXIgImEiLCB3aGlsZSAiXGEiIG1hdGNoZXMgYW55IGFscGhhYmV0aWMgY2hhcmFjdGVyLgogCiBPdGhlciBjaGFyYWN0ZXJzIGhhdmUgYSBzcGVjaWFsIG1lYW5pbmcgd2l0aG91dCBhIGJhY2tzbGFzaC4gIFRoZXkgbmVlZCB0byBiZQotcHJlY2VkZWQgd2l0aCBhIGJhY2tzbGFzaCB0byBtYXRjaCBsaXRlcmFsbHkuCitwcmVjZWRlZCB3aXRoIGEgYmFja3NsYXNoIHRvIG1hdGNoIGxpdGVyYWxseS4gIEZvciBleGFtcGxlICIuIiBtYXRjaGVzIGFueQorY2hhcmFjdGVyIHdoaWxlICJcLiIgbWF0Y2hlcyBhIGRvdC4KIAogSWYgYSBjaGFyYWN0ZXIgaXMgdGFrZW4gbGl0ZXJhbGx5IG9yIG5vdCBkZXBlbmRzIG9uIHRoZSAnbWFnaWMnIG9wdGlvbiBhbmQgdGhlCi1pdGVtcyBtZW50aW9uZWQgbmV4dC4KK2l0ZW1zIGluIHRoZSBwYXR0ZXJuIG1lbnRpb25lZCBuZXh0LiAgVGhlICdtYWdpYycgb3B0aW9uIHNob3VsZCBhbHdheXMgYmUgc2V0LAorYnV0IGl0IGNhbiBiZSBzd2l0Y2hlZCBvZmYgZm9yIFZpIGNvbXBhdGliaWxpdHkuICBXZSBtZW50aW9uIHRoZSBlZmZlY3Qgb2YKKydub21hZ2ljJyBoZXJlIGZvciBjb21wbGV0ZW5lc3MsIGJ1dCB3ZSByZWNvbW1lbmQgYWdhaW5zdCB1c2luZyB0aGF0LgogCQkJCQkJCSovXG0qICovXE0qCiBVc2Ugb2YgIlxtIiBtYWtlcyB0aGUgcGF0dGVybiBhZnRlciBpdCBiZSBpbnRlcnByZXRlZCBhcyBpZiAnbWFnaWMnIGlzIHNldCwKIGlnbm9yaW5nIHRoZSBhY3R1YWwgdmFsdWUgb2YgdGhlICdtYWdpYycgb3B0aW9uLgpAQCAtNDExLDMwICs0MTUsMjggQEAKIFVzZSBvZiAiXHYiIG1lYW5zIHRoYXQgYWZ0ZXIgaXQsIGFsbCBBU0NJSSBjaGFyYWN0ZXJzIGV4Y2VwdCAnMCctJzknLCAnYSctJ3onLAogJ0EnLSdaJyBhbmQgJ18nIGhhdmUgc3BlY2lhbCBtZWFuaW5nOiAidmVyeSBtYWdpYyIKIAotVXNlIG9mICJcViIgbWVhbnMgdGhhdCBhZnRlciBpdCwgb25seSBhIGJhY2tzbGFzaCBhbmQgdGVybWluYXRpbmcgY2hhcmFjdGVyCi0odXN1YWxseSAvIG9yID8pIGhhdmUgc3BlY2lhbCBtZWFuaW5nOiAidmVyeSBub21hZ2ljIgorVXNlIG9mICJcViIgbWVhbnMgdGhhdCBhZnRlciBpdCwgb25seSBhIGJhY2tzbGFzaCBhbmQgdGhlIHRlcm1pbmF0aW5nCitjaGFyYWN0ZXIgKHVzdWFsbHkgLyBvciA/KSBoYXZlIHNwZWNpYWwgbWVhbmluZzogInZlcnkgbm9tYWdpYyIKIAogRXhhbXBsZXM6CiBhZnRlcjoJICBcdgkgICBcbQkgICAgXE0JICAgICBcVgkJbWF0Y2hlcyB+CiAJCSdtYWdpYycgJ25vbWFnaWMnCi0JICAkCSAgICQJICAgICQJICAgICBcJAkJbWF0Y2hlcyBlbmQtb2YtbGluZQotCSAgLgkgICAuCSAgICBcLgkgICAgIFwuCQltYXRjaGVzIGFueSBjaGFyYWN0ZXIKKwkgIGEJICAgYQkgICAgYQkgICAgIGEJCWxpdGVyYWwgJ2EnCisJICBcYQkgICBcYQkgICAgXGEJICAgICBcYQkJYW55IGFscGhhYmV0aWMgY2hhcmFjdGVyCisJICAuCSAgIC4JICAgIFwuCSAgICAgXC4JCWFueSBjaGFyYWN0ZXIKKwkgIFwuCSAgIFwuCSAgICAuCSAgICAgLgkJbGl0ZXJhbCBkb3QKKwkgICQJICAgJAkgICAgJAkgICAgIFwkCQllbmQtb2YtbGluZQogCSAgKgkgICAqCSAgICBcKgkgICAgIFwqCQlhbnkgbnVtYmVyIG9mIHRoZSBwcmV2aW91cyBhdG9tCiAJICB+CSAgIH4JICAgIFx+CSAgICAgXH4JCWxhdGVzdCBzdWJzdGl0dXRlIHN0cmluZwotCSAgKCkJICAgXChcKSAgICAgXChcKSAgICAgXChcKQlncm91cGluZyBpbnRvIGFuIGF0b20KLQkgIHwJICAgXHwJICAgIFx8CSAgICAgXHwJCXNlcGFyYXRpbmcgYWx0ZXJuYXRpdmVzCi0JICBcYQkgICBcYQkgICAgXGEJICAgICBcYQkJYWxwaGFiZXRpYyBjaGFyYWN0ZXIKKwkgICgpCSAgIFwoXCkgICAgIFwoXCkgICAgIFwoXCkJZ3JvdXAgYXMgYW4gYXRvbQorCSAgfAkgICBcfAkgICAgXHwJICAgICBcfAkJbm90aGluZzogc2VwYXJhdGVzIGFsdGVybmF0aXZlcwogCSAgXFwJICAgXFwJICAgIFxcCSAgICAgXFwJCWxpdGVyYWwgYmFja3NsYXNoCi0JICBcLgkgICBcLgkgICAgLgkgICAgIC4JCWxpdGVyYWwgZG90Ci0JICBcewkgICB7CSAgICB7CSAgICAgewkJbGl0ZXJhbCAneycKLQkgIGEJICAgYQkgICAgYQkgICAgIGEJCWxpdGVyYWwgJ2EnCisJICBcewkgICB7CSAgICB7CSAgICAgewkJbGl0ZXJhbCBjdXJseSBicmFjZQogCiB7b25seSBWaW0gc3VwcG9ydHMgXG0sIFxNLCBcdiBhbmQgXFZ9CiAKLUl0IGlzIHJlY29tbWVuZGVkIHRvIGFsd2F5cyBrZWVwIHRoZSAnbWFnaWMnIG9wdGlvbiBhdCB0aGUgZGVmYXVsdCBzZXR0aW5nLAotd2hpY2ggaXMgJ21hZ2ljJy4gIFRoaXMgYXZvaWRzIHBvcnRhYmlsaXR5IHByb2JsZW1zLiAgVG8gbWFrZSBhIHBhdHRlcm4gaW1tdW5lCi10byB0aGUgJ21hZ2ljJyBvcHRpb24gYmVpbmcgc2V0IG9yIG5vdCwgcHV0ICJcbSIgb3IgIlxNIiBhdCB0aGUgc3RhcnQgb2YgdGhlCi1wYXR0ZXJuLgorSWYgeW91IHdhbnQgdG8geW91IGNhbiBtYWtlIGEgcGF0dGVybiBpbW11bmUgdG8gdGhlICdtYWdpYycgb3B0aW9uIGJlaW5nIHNldAorb3Igbm90IGJ5IHB1dHRpbmcgIlxtIiBvciAiXE0iIGF0IHRoZSBzdGFydCBvZiB0aGUgcGF0dGVybi4KIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiA0LiBPdmVydmlldyBvZiBwYXR0ZXJuIGl0ZW1zCQkJCSpwYXR0ZXJuLW92ZXJ2aWV3KgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcmVwZWF0LnR4dCBiL3J1bnRpbWUvZG9jL3JlcGVhdC50eHQKaW5kZXggZjZjOTZkMC4uZmM2OTlhMSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcmVwZWF0LnR4dAorKysgYi9ydW50aW1lL2RvYy9yZXBlYXQudHh0CkBAIC0xLDQgKzEsNCBAQAotKnJlcGVhdC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMCBPY3QgMDkKKypyZXBlYXQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjEgSmFuIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zNTQsNiArMzU0LDE0IEBACiAJCQlWaW0gdmVyc2lvbiwgb3IgdXBkYXRlIFZpbSB0byBhIG5ld2VyIHZlcnNpb24uICBTZWUKIAkJCXx2aW1zY3JpcHQtdmVyc2lvbnwgZm9yIHdoYXQgY2hhbmdlZCBiZXR3ZWVuIHZlcnNpb25zLgogCis6dmltOXNjcmlwdCBbbm9jbGVhcl0JCQkJKjp2aW05KiAqOnZpbTlzY3JpcHQqCisJCQlNYXJrcyBhIHNjcmlwdCBmaWxlIGFzIGNvbnRhaW5pbmcgfFZpbTktc2NyaXB0fAorCQkJY29tbWFuZHMuICBBbHNvIHNlZSB8dmltOS1uYW1lc3BhY2V8LgorCQkJTXVzdCBiZSB0aGUgZmlyc3QgY29tbWFuZCBpbiB0aGUgZmlsZS4KKwkJCUZvciBbbm9jbGVhcl0gc2VlIHx2aW05LXJlbG9hZHwuCisJCQlXaXRob3V0IHRoZSB8K2V2YWx8IGZlYXR1cmUgdGhpcyBjaGFuZ2VzIHRoZSBzeW50YXgKKwkJCWZvciBzb21lIGNvbW1hbmRzLgorCQkJIAogCQkJCQkJKjpzY3IqICo6c2NyaXB0bmFtZXMqCiA6c2NyW2lwdG5hbWVzXQkJTGlzdCBhbGwgc291cmNlZCBzY3JpcHQgbmFtZXMsIGluIHRoZSBvcmRlciB0aGV5IHdlcmUKIAkJCWZpcnN0IHNvdXJjZWQuICBUaGUgbnVtYmVyIGlzIHVzZWQgZm9yIHRoZSBzY3JpcHQgSUQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3MgYi9ydW50aW1lL2RvYy90YWdzCmluZGV4IDE4ZTNkOTguLmEzMjczMWQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3MKKysrIGIvcnVudGltZS9kb2MvdGFncwpAQCAtMjA3Miw2ICsyMDcyLDExIEBACiA6XyM8CWNtZGxpbmUudHh0CS8qOl8jPCoKIDpfI24JY21kbGluZS50eHQJLyo6XyNuKgogOl8lCWNtZGxpbmUudHh0CS8qOl8lKgorOl8lJQljbWRsaW5lLnR4dAkvKjpfJSUqCis6XyUlJQljbWRsaW5lLnR4dAkvKjpfJSUlKgorOl8lJTAJY21kbGluZS50eHQJLyo6XyUlMCoKKzpfJSU8CWNtZGxpbmUudHh0CS8qOl8lJTwqCis6XyUlbgljbWRsaW5lLnR4dAkvKjpfJSVuKgogOl8lOgljbWRsaW5lLnR4dAkvKjpfJToqCiA6XyU8CWNtZGxpbmUudHh0CS8qOl8lPCoKIDphCWluc2VydC50eHQJLyo6YSoKQEAgLTMzODksOCArMzM5NCw4IEBACiA6dmllCWVkaXRpbmcudHh0CS8qOnZpZSoKIDp2aWV3CWVkaXRpbmcudHh0CS8qOnZpZXcqCiA6dmltCXF1aWNrZml4LnR4dAkvKjp2aW0qCi06dmltOQl2aW05LnR4dAkvKjp2aW05KgotOnZpbTlzY3JpcHQJdmltOS50eHQJLyo6dmltOXNjcmlwdCoKKzp2aW05CXJlcGVhdC50eHQJLyo6dmltOSoKKzp2aW05c2NyaXB0CXJlcGVhdC50eHQJLyo6dmltOXNjcmlwdCoKIDp2aW1ncmVwCXF1aWNrZml4LnR4dAkvKjp2aW1ncmVwKgogOnZpbWdyZXBhCXF1aWNrZml4LnR4dAkvKjp2aW1ncmVwYSoKIDp2aW1ncmVwYWRkCXF1aWNrZml4LnR4dAkvKjp2aW1ncmVwYWRkKgpAQCAtNTE1Miw2ICs1MTU3LDcgQEAKIFZpCWludHJvLnR4dAkvKlZpKgogVmlldwlzdGFydGluZy50eHQJLypWaWV3KgogVmltOQl2aW05LnR4dAkvKlZpbTkqCitWaW05LXNjcmlwdAl2aW05LnR4dAkvKlZpbTktc2NyaXB0KgogVmltRW50ZXIJYXV0b2NtZC50eHQJLypWaW1FbnRlcioKIFZpbUxlYXZlCWF1dG9jbWQudHh0CS8qVmltTGVhdmUqCiBWaW1MZWF2ZVByZQlhdXRvY21kLnR4dAkvKlZpbUxlYXZlUHJlKgpAQCAtNTU2Myw2ICs1NTY5LDEwIEBACiBjXyM8CWNtZGxpbmUudHh0CS8qY18jPCoKIGNfI24JY21kbGluZS50eHQJLypjXyNuKgogY18lCWNtZGxpbmUudHh0CS8qY18lKgorY18lJQljbWRsaW5lLnR4dAkvKmNfJSUqCitjXyUlJSMJY21kbGluZS50eHQJLypjXyUlJSMqCitjXyUlPAljbWRsaW5lLnR4dAkvKmNfJSU8KgorY18lJW4JY21kbGluZS50eHQJLypjXyUlbioKIGNfPEJTPgljbWRsaW5lLnR4dAkvKmNfPEJTPioKIGNfPEMtTGVmdD4JY21kbGluZS50eHQJLypjXzxDLUxlZnQ+KgogY188Qy1SPgljbWRsaW5lLnR4dAkvKmNfPEMtUj4qCkBAIC01NzQ4LDYgKzU3NTgsNyBAQAogY2hhcmNsYXNzKCkJZXZhbC50eHQJLypjaGFyY2xhc3MoKSoKIGNoYXJjb252ZXJ0X2Zyb20tdmFyaWFibGUJZXZhbC50eHQJLypjaGFyY29udmVydF9mcm9tLXZhcmlhYmxlKgogY2hhcmNvbnZlcnRfdG8tdmFyaWFibGUJZXZhbC50eHQJLypjaGFyY29udmVydF90by12YXJpYWJsZSoKK2NoYXJpZHgoKQlldmFsLnR4dAkvKmNoYXJpZHgoKSoKIGNoYXJpdHkJdWdhbmRhLnR4dAkvKmNoYXJpdHkqCiBjaGFyc2V0CW1ieXRlLnR4dAkvKmNoYXJzZXQqCiBjaGFyc2V0LWNvbnZlcnNpb24JbWJ5dGUudHh0CS8qY2hhcnNldC1jb252ZXJzaW9uKgpAQCAtNzE0Nyw2ICs3MTU4LDcgQEAKIGhlYnJldy50eHQJaGVicmV3LnR4dAkvKmhlYnJldy50eHQqCiBoZWxwCWhlbHBoZWxwLnR4dAkvKmhlbHAqCiBoZWxwLWNvbnRleHQJaGVscC50eHQJLypoZWxwLWNvbnRleHQqCitoZWxwLWN1cndpbgl0aXBzLnR4dAkvKmhlbHAtY3Vyd2luKgogaGVscC1zdW1tYXJ5CXVzcl8wMi50eHQJLypoZWxwLXN1bW1hcnkqCiBoZWxwLXRhZ3MJdGFncwkxCiBoZWxwLXRyYW5zbGF0ZWQJaGVscGhlbHAudHh0CS8qaGVscC10cmFuc2xhdGVkKgpAQCAtMTAwNTgsNiArMTAwNzAsNyBAQAogdmltLnZpbQlzeW50YXgudHh0CS8qdmltLnZpbSoKIHZpbTcJdmVyc2lvbjcudHh0CS8qdmltNyoKIHZpbTgJdmVyc2lvbjgudHh0CS8qdmltOCoKK3ZpbTkJdmltOS50eHQJLyp2aW05KgogdmltOS1jbGFzc2VzCXZpbTkudHh0CS8qdmltOS1jbGFzc2VzKgogdmltOS1jb25zdAl2aW05LnR4dAkvKnZpbTktY29uc3QqCiB2aW05LWRlY2xhcmF0aW9uCXZpbTkudHh0CS8qdmltOS1kZWNsYXJhdGlvbioKQEAgLTEwMDY3LDkgKzEwMDgwLDEwIEBACiB2aW05LWZpbmFsCXZpbTkudHh0CS8qdmltOS1maW5hbCoKIHZpbTktZ290Y2hhcwl2aW05LnR4dAkvKnZpbTktZ290Y2hhcyoKIHZpbTktaW1wb3J0CXZpbTkudHh0CS8qdmltOS1pbXBvcnQqCit2aW05LW5hbWVzcGFjZQl2aW05LnR4dAkvKnZpbTktbmFtZXNwYWNlKgogdmltOS1yYXRpb25hbGUJdmltOS50eHQJLyp2aW05LXJhdGlvbmFsZSoKK3ZpbTktcmVsb2FkCXZpbTkudHh0CS8qdmltOS1yZWxvYWQqCiB2aW05LXNjb3Blcwl2aW05LnR4dAkvKnZpbTktc2NvcGVzKgotdmltOS1zY3JpcHQJdmltOS50eHQJLyp2aW05LXNjcmlwdCoKIHZpbTktc2NyaXB0LWludHJvCXVzcl80Ni50eHQJLyp2aW05LXNjcmlwdC1pbnRybyoKIHZpbTktdHlwZXMJdmltOS50eHQJLyp2aW05LXR5cGVzKgogdmltOS50eHQJdmltOS50eHQJLyp2aW05LnR4dCoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Rlcm0udHh0IGIvcnVudGltZS9kb2MvdGVybS50eHQKaW5kZXggMDA5M2E5Ni4uNWI3ODUwZiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGVybS50eHQKKysrIGIvcnVudGltZS9kb2MvdGVybS50eHQKQEAgLTEsNCArMSw0IEBACi0qdGVybS50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIEFwciAxMgorKnRlcm0udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAyMCBEZWMgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3Rlcm1pbmFsLnR4dCBiL3J1bnRpbWUvZG9jL3Rlcm1pbmFsLnR4dAppbmRleCAwODgxNWVmLi4xOTUxMjI5IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90ZXJtaW5hbC50eHQKKysrIGIvcnVudGltZS9kb2MvdGVybWluYWwudHh0CkBAIC0xLDQgKzEsNCBAQAotKnRlcm1pbmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIE5vdiAyNQorKnRlcm1pbmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAyOAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC03NDIsNiArNzQyLDkgQEAKIAkJVGhlIGRlZmF1bHQgaXMgIlRhcGlfIi4gIFdoZW4ge2V4cHJ9IGlzIGFuIGVtcHR5IHN0cmluZyB0aGVuCiAJCW5vIHx0ZXJtaW5hbC1hcGl8IGZ1bmN0aW9uIGNhbiBiZSB1c2VkIGZvciB7YnVmfS4KIAorCQlXaGVuIHVzZWQgYXMgYSBtZXRob2QgdGhlIGJhc2UgaXMgdXNlZCBmb3Ige2J1Zn06ID4KKwkJCUdldEJ1Zm5yKCktPnRlcm1fc2V0YXBpKHtleHByfSkKKwogdGVybV9zZXRhbnNpY29sb3JzKHtidWZ9LCB7Y29sb3JzfSkJCQkqdGVybV9zZXRhbnNpY29sb3JzKCkqCiAJCVNldCB0aGUgQU5TSSBjb2xvciBwYWxldHRlIHVzZWQgYnkgdGVybWluYWwge2J1Zn0uCiAJCXtjb2xvcnN9IG11c3QgYmUgYSBMaXN0IG9mIDE2IHZhbGlkIGNvbG9yIG5hbWVzIG9yIGhleGFkZWNpbWFsCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90aXBzLnR4dCBiL3J1bnRpbWUvZG9jL3RpcHMudHh0CmluZGV4IGE2NmRlOTEuLmFmNzg5NjUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RpcHMudHh0CisrKyBiL3J1bnRpbWUvZG9jL3RpcHMudHh0CkBAIC0xLDQgKzEsNCBAQAotKnRpcHMudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA4LjIuICBMYXN0IGNoYW5nZTogMjAwOSBOb3YgMDcKKyp0aXBzLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjAgRGVjIDI5CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zMCw2ICszMCw3IEBACiBIZXggZWRpdGluZwkJCQkJfGhleC1lZGl0aW5nfAogVXNpbmcgPD4gbm90YXRpb24gaW4gYXV0b2NvbW1hbmRzCQl8YXV0b2NtZC08PnwKIEhpZ2hsaWdodGluZyBtYXRjaGluZyBwYXJlbnMJCQl8bWF0Y2gtcGFyZW5zfAorT3BlbmluZyBoZWxwIGluIHRoZSBjdXJyZW50IHdpbmRvdwkJfGhlbHAtY3Vyd2lufAogCiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIEVkaXRpbmcgQyBwcm9ncmFtcwkJCQkJKkMtZWRpdGluZyoKQEAgLTUzMCw0ICs1MzEsMjggQEAKIAlhdXRvY21kIEluc2VydEVudGVyICogbWF0Y2ggbm9uZQogPAogCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK09wZW5pbmcgaGVscCBpbiB0aGUgY3VycmVudCB3aW5kb3cJCQkJKmhlbHAtY3Vyd2luKgorCitCeSBkZWZhdWx0LCBoZWxwIGlzIGRpc3BsYXllZCBpbiBhIHNwbGl0IHdpbmRvdy4gIElmIHlvdSBwcmVmZXIgaXQgb3BlbnMgaW4KK3RoZSBjdXJyZW50IHdpbmRvdywgdHJ5IHRoaXMgY3VzdG9tIGA6SGVscEN1cndpbmAgY29tbWFuZDoKKz4KKwljb21tYW5kIC1iYXIgLW5hcmdzPT8gLWNvbXBsZXRlPWhlbHAgSGVscEN1cndpbiBleGVjdXRlIHM6SGVscEN1cndpbig8cS1hcmdzPikKKwlsZXQgczpkaWRfb3Blbl9oZWxwID0gdjpmYWxzZQorCQorCWZ1bmN0aW9uIHM6SGVscEN1cndpbihzdWJqZWN0KSBhYm9ydAorCSAgbGV0IG1vZHMgPSAnc2lsZW50IG5vYXV0b2NtZCBrZWVwYWx0JworCSAgaWYgIXM6ZGlkX29wZW5faGVscAorCSAgICBleGVjdXRlIG1vZHMgLi4gJyBoZWxwJworCSAgICBleGVjdXRlIG1vZHMgLi4gJyBoZWxwY2xvc2UnCisJICAgIGxldCBzOmRpZF9vcGVuX2hlbHAgPSB2OnRydWUKKwkgIGVuZGlmCisJICBpZiAhZ2V0Y29tcGxldGlvbihhOnN1YmplY3QsICdoZWxwJyktPmVtcHR5KCkKKwkgICAgZXhlY3V0ZSBtb2RzIC4uICcgZWRpdCAnIC4uICZoZWxwZmlsZQorCSAgZW5kaWYKKwkgIHJldHVybiAnaGVscCAnIC4uIGE6c3ViamVjdAorCWVuZGZ1bmN0aW9uCis8CisKKwogIHZpbTp0dz03ODp0cz04Om5vZXQ6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCA3YTg3ZGUwLi4wNzc3OWI0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjAgRGVjIDIyCisqdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIxIEphbiAwMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zOCwxNyArMzgsMTEgQEAKIAkJCQkJCQkqa25vd24tYnVncyoKIC0tLS0tLS0tLS0tLS0tLS0tLS0tIEtub3duIGJ1Z3MgYW5kIGN1cnJlbnQgd29yayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCi1SZXdyaXRlIHRoZSBzZWN0aW9uIG9uICJtYWdpYyIuICBTYXkgdGhhdCAnbWFnaWMnIGlzIG5vcm1hbGx5IG9uLCB0aGVuIHRoaXMKLWhhcHBlbnMuLi4gIElmICdtYWdpYycgaXMgb2ZmLCB0aGVuIHRoaXMgaXMgZGlmZmVyZW50Li4KK1JlbG9hZDogSG93IHRvIG1ha2Ugc3VyZSB0eXBlIG9mIHNjcmlwdCBmdW5jdGlvbiBoYXNuJ3QgY2hhbmdlZD8KIAotdGVzdF92aW05X2NtZDogdXNlcyB1bmluaXRpYWxpemVkIHZhcgorVmFsZ3JpbmQ6IHRlc3RfdmltOV9jbWQ6IHVzZXMgdW5pbml0aWFsaXplZCB2YXIKIAogVmltOSAtIE1ha2UgZXZlcnl0aGluZyB3b3JrOgotLSBGb3IgYW4gOmF1dG9jbWQgYW5kIDpjb21tYW5kIGFyZ3VtZW50IGRlZmluZWQgaW4gVmltOSBzY3JpcHQsIGlmIGEgZm9sbG93aW5nCi0gIGxpbmUgc3RhcnRzIHdpdGggInwiIGFwcGVuZCBpdC4gIEl0J3MgbGlrZSBsaW5lIGNvbnRpbnVhdGlvbi4gKCM2NzAyKQotLSBUaGUgc3ludGF4IG9mIGEgcmFuZ2UgbGlzdFthOmJdIGlzIGFtYmlndW91cywgaXMgdGhpcyBvbmUgImE6YiIgdmFyaWFibGUgb3IKLSAgYSByYW5nZSBmcm9tICJhIiB0byAiYiI/ICBUbyBhdm9pZCBjb25mdXNpb24sIHJlcXVpcmUgd2hpdGUgc3BhY2UgYmVmb3JlCi0gIChhbmQgYWZ0ZXIpIHRoZSBjb2xvbj8gICM3NDA5CiAtIEltcGxlbWVudCAiZXhwb3J0IHtvbmUsIHR3byB0aHJlZX0iLgogLSBVc2UgIm51bGwiIGZvciB2Om51bGwsIGxpa2UgdHJ1ZSBhbmQgZmFsc2U/ICAjNzQ5NQogLSBJU05fQ0hFQ0tUWVBFIGNvdWxkIHVzZSBjaGVja19hcmd0eXBlKCkKQEAgLTU5LDcgKzUzLDE4IEBACiAtIElmIGEgOmRlZiBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBhIGZ1bmN0aW9uIHJlZmVyZW5jZSwgY29tcGlsZSBpdCB0byBnZXQKICAgdGhlIGZ1bmN0aW9uIHR5cGUuCiAJZGVmIEZpbHRlcih4OiBzdHJpbmcsIENvbmQ6IGZ1bmMoc3RyaW5nKTogYm9vbCkKLQlGaWx0ZXIoeCwgeyB2IC0+IHYgPX4gJ15iJyB9KQorCUZpbHRlcih4LCAodikgPT4gdiA9fiAnXmInKQorLSBNYWtlIGlubGluZSBmdW5jdGlvbiB3b3JrLCB0byBiZSB1c2VkIGFzIGEgZnVuY3JlZjoKKyAgICAgICBsZXQgUmVmID0gKGFyZzogdHlwZSk6IHR5cGUgPT4geworCSAgICBzdGF0ZW1lbnQKKwkgICAgcmV0dXJuIGV4cHIKKwl9CisgICAgICAgbGV0IFJlZiA9IChhcmc6IHR5cGUpID0+IHsKKwkgICAgc3RhdGVtZW50CisJICAgIHN0YXRlbWVudAorCX0KKy0gaW1wbGVtZW50IHsgY21kIH0gY29tcGlsZWQKKy0gaW1wbGVtZW50IHsgY21kIH0gYXQgc2NyaXB0IGxldmVsCiAtIEV4cGFuZCBgPWV4cHJgIGluIDpuZXh0LCA6YXJnZWRpdCwgOmFyZ2FkZCwgOmFyZ2RlbGV0ZSwgOmRyb3AKIC0gRXhwYW5kIGA9ZXhwcmAgaW4gOnZpbWdyZXAsIDp2aW1ncmVwYWRkLCA6bHZpbWdyZXAsIDpsdmltZ3JlcGFkZAogLSBFeHBhbmQgYD1leHByYCBpbiA6bWtzcGVsbApAQCAtNjgsOCArNzMsMTEgQEAKIAltYXAobGlzdCwgU29tZUZ1bmMpCiAtIEZvciBidWlsdGluIGZ1bmN0aW9ucyB1c2luZyB0dl9nZXRfc3RyaW5nKigpIHVzZSBjaGVja19mb3Jfc3RyaW5nKCkgdG8gYmUKICAgbW9yZSBzdHJpY3QgYWJvdXQgdGhlIGFyZ3VtZW50IHR5cGUuCistIEltcGxlbWVudCA6bG9ja3ZhciBhbmQgOnVubG9ja3Zhci4gIEhvdyBhYm91dCBsb2NhbCB2YXJpYWJsZXM/ICBQZXJoYXBzIG9ubHkKKyAgYWxsb3cgdGhpcyBmb3IgZ2xvYmFsIHZhcmlhYmxlcy4gIFVzZSA6ZmluYWwgb3IgOmNvbnN0IG90aGVyd2lzZS4KIC0gQWxsb3cgZnVuY3Rpb24gbmFtZXMgdGhhdCB3aWxsIGJlIHNjcmlwdC1sb2NhbCB0byBzdGFydCB3aXRoIGxvd2VyIGNhc2UKLSAgbGV0dGVyPworICBsZXR0ZXI/ICBPciBhbHNvIHJlcXVpcmUgbmFtZXMgd2l0aCBzOiBwcmVmaXggdG8gdXNlIHVwcGVyIGNhc2U/CisgIEFsc28gYXBwbHkgdGhpcyBmdW5jdGlvbiByZWZlcmVuY2VzICJ2YXIgcmVmID0gU29tZUZ1bmMiCiAtIFN1cHBvcnQgcGFzc2luZyB2Om5vbmUgdG8gdXNlIHRoZSBkZWZhdWx0IGFyZ3VtZW50IHZhbHVlLiAoIzY1MDQpCiAtIE1ha2UgbWFwKCkgZ2l2ZSBhbiBlcnJvciBpZiB0aGUgcmVzdWx0aW5nIHR5cGUgb2YgdGhlIGZpcnN0IGFyZ3VtZW50IGlzCiAgIHdyb25nLiAgT25seSB3b3JrcyBpZiB0aGUgdHlwZSBpcyBrbm93bj8gIElzIHRoaXMgc2xvdyAobmVlZCB0byBnbyBvdmVyIGFsbApAQCAtOTgsNyArMTA2LDcgQEAKIC0gSW1wbGVtZW50IHVzaW5nIGltcG9ydGVkIGl0ZW1zIGF0IHNjcmlwdCBsZXZlbCBmcm9tICJpbXBvcnQgKiBhcyBYIiBpbgogICBldmFsX3ZhcmlhYmxlKCkuICBTaG91bGQgcGFzcyB0aGUgIi54eHgiIHRoYXQgZm9sbG93cyBhbmQgcmV0dXJuIHRoYXQuCiAtIERpc2FsbG93IHVubGV0IGZvciBsb2NhbC9zY3JpcHQvaW1wb3J0ZWQgdmFycwotLSBNYWtlICIrK25yIiB3b3JrLgorLSBNYWtlICIrK25yIiB3b3JrLiAgIisrZzpjb3VudCIgZG9lc24ndCB3b3JrLCB0aGlua3MgaXQgaXMgYSByYW5nZS4KIC0gTWFrZSBjbG9zdXJlcyB3b3JrOgogICAtIENyZWF0ZSBjbG9zdXJlIGluIGEgbG9vcC4gIE5lZWQgdG8gbWFrZSBhIGxpc3Qgb2YgdGhlbS4KICAgLSBuZXN0ZWQgY2xvc3VyZSBvbmx5IHVzZXMgb25lIGNvbnRleHQsIG5vdCBhbGwgKCM3MTUwKQpAQCAtMTQ0LDEwICsxNTIsNiBAQAogLSBjb21waWxlIG9wdGlvbnMgdGhhdCBhcmUgYW4gZXhwcmVzc2lvbiwgZS5nLiAiZXhwcjoiIGluICdzcGVsbHN1Z2dlc3QnLAogICAnZm9sZGV4cHInLCAnZm9sZHRleHQnLCAncHJpbnRleHByJywgJ2RpZmZleHByJywgJ3BhdGNoZXhwcicsICdjaGFyY29udmVydCcsCiAgICdiYWxsb29uZXhwcicsICdpbmNsdWRlZXhwcicsICdpbmRlbnRleHByJywgJ2Zvcm1hdGV4cHInLgotLSBNYWtlIGlubGluZSBmdW5jdGlvbiB3b3JrLCB0byBiZSB1c2VkIGFzIGEgZnVuY3JlZjoKLQlsZXQgcmVmID0gZGVmKGFyZzogdHlwZSk6IHJldHR5cGUKLQkgICAgYm9keQotCWVuZGRlZgogLSBjb21waWxlIGdldF9sYW1iZGFfdHYoKSBpbiBwb3B1cF9hZGRfdGltZW91dCgpCiAtIGlubGluZSBjYWxsIHRvIG1hcCgpIGFuZCBmaWx0ZXIoKQogLSBjb21waWxlICJza2lwIiBhcmd1bWVudCBvZiBzZWFyY2hwYWlyKCkKQEAgLTIyNCw2ICsyMjgsNyBAQAogICB3aXRoIGFub3RoZXIgVmltIGluc3RhbmNlLgogCiBUZXJtaW5hbCBlbXVsYXRvciB3aW5kb3c6CistIENhbiBlc2NhcGUgYSB0ZXJtaW5hbCBwb3B1cCB3aXRoIHdpbl9nb3RvaWQoKSwgc2hvdWxkIGJlIGFuIGVycm9yCiAtIE5vIHN1cHBvcnQgZm9yIHVuZGVybGluZSBjb2xvciwgdF84dS4KIC0gV2hlbiBpbiB0ZXJtaW5hbC1Ob3JtYWwgbW9kZSB3aGVuIHRoZSBqb2IgZmluaXNoZXMsIHRoZSBjdXJzb3IganVtcHMgdG8gdGhlCiAgIGVuZCBidXQgdGhlIHdpbmRvdyBpcyBub3QgdXBkYXRlZC4gIFRoaXMgb25seSBoYXBwZW5zIHdoZW4gdHlwaW5nICJhIi4KQEAgLTI3Niw2ICsyODEsOCBAQAogUGF0Y2ggdG8gaW1wbGVtZW50IHRoZSB2aW10dXRvciB3aXRoIGEgcGx1Z2luOiAjNjQxNAogV2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBieSBGZWxpcGUgTW9yYWxlcy4KIAorUGF0Y2ggdG8gZmluZCBQeXRob24gZGxsIHVzaW5nIHJlZ2lzdHJ5IGtleS4gKCM3NTQwKQorCiBSZW1vdmUgU1BBQ0VfSU5fRklMRU5BTUUgPyBJdCBpcyBvbmx5IHVzZWQgZm9yIGNvbXBsZXRpb24uCiAKIE1ha2luZyBicmVha2F0IHN1cHBvcnQgbXVsdGlieXRlIGNoYXJhY3RlcnMgKFlhc3VoaXJvIE1hdHN1bW90bywgIzY1OTgpCkBAIC02NjMsNiArNjcwLDM4IEBACiAnc2Vzc2lvbm9wdGlvbnMnLCBtYWtpbmcgaXQgaW1wb3NzaWJsZSB0byBoYXZlIGEgc2Vzc2lvbiB3aXRoIGEgcmVsYXRpdmUgcGF0aC4KICgjNDQ1MCkKIAorU2Vzc2lvbiBmaWxlIG9ubHkgY29udGFpbnMgbG9jYWwgb3B0aW9uIHZhbHVlcyBmb3IgYnVmZmVycyB0aGF0IGFyZSBpbiBhCit3aW5kb3csIG5vdCBvdGhlciBidWZmZXJzLiAoIzc1MzIpCisKK1NjcmlwdCBnZW5lcmF0ZWQgYnkgOm1rc2Vzc2lvbiBkb2VzIG5vdCB3b3JrIHdlbGwgaWYgdGhlcmUgYXJlIHdpbmRvd3Mgd2l0aAorbW9kaWZpZWQgYnVmZmVycworICBjaGFuZ2UgInNpbGVudCBvbmx5IiBpbnRvICJzaWxlbnQgb25seSEiCisgIGNoYW5nZSAiZWRpdCBmbmFtZSIgb2YgZmlyc3QgYnVmZmVyIHRvICJoaWRlIGVkaXQgZm5hbWUiCisgIHNraXAgImJhZGQgZm5hbWUiIGlmICJmbmFtZSIgaXMgYWxyZWFkeSBpbiB0aGUgYnVmZmVyIGxpc3QKKyAgcmVtb3ZlIHJlbWFyayBhYm91dCB1bmxvYWRpbmcgYnVmZmVycyBmcm9tIGRvY3VtZW50YXRpb24KKworV2hlbiBzZXNzaW9uIGZpbGUgaGFzIG5hbWUgaW4gYXJndW1lbnQgbGlzdCBidXQgdGhlIGJ1ZmZlciB3YXMgZGVsZXRlZCwgdGhlCitidWZmZXIgaXMgbm90IGRlbGV0ZWQgd2hlbiB1c2luZyB0aGUgc2Vzc2lvbiBmaWxlLiAoIzEzOTMpCitTaG91bGQgYWRkIHRoZSBidWZmZXIgaW4gaGlkZGVuIHN0YXRlLgorCitXaGVuIGEgc2Vzc2lvbiBmaWxlIGlzIGNyZWF0ZWQgYW5kIHRoZXJlIGFyZSAibm9maWxlIiBidWZmZXJzLCB0aGVzZSBhcmUgbm90CitmaWxsZWQuICBOZWVkIHRvIHRyaWdnZXIgQnVmUmVhZENtZCBhdXRvY29tbWFuZHMuICBBbHNvIGhhbmRsZSBkZWxldGluZyB0aGUKK2luaXRpYWwgZW1wdHkgYnVmZmVyIGJldHRlci4gKFp5WCwgMjAxNSBNYXJjaCA4KQorCitTZXR0aW5nIHRoZSBzcGVsbCBmaWxlIGluIGEgc2Vzc2lvbiBvbmx5IHJlYWRzIHRoZSBsb2NhbCBhZGRpdGlvbnMsIG5vdCB0aGUKK25vcm1hbCBzcGVsbCBmaWxlLiAoRW5ubyBOYWdlbCwgMjAxNCBNYXIgMjkpCisKK0RpcmVjdG9yeSB3cm9uZyBpbiBzZXNzaW9uIGZpbGUsIGNhdXNlZCBieSAiOmxjZCIgaW4gQnVmRW50ZXIgYXV0b2NvbW1hbmQuCisoRmVsaXggS2F0ZXIsIDIwMDkgTWFyIDMpCisKK1NvbWV0aGluZyB3cm9uZyB3aXRoIHNlc3Npb24gdGhhdCBoYXMgImNkIiBjb21tYW5kcyBhbmQgImJhZGQiLCBpbiBzdWNoIGEgd2F5Cit0aGF0IFZpbSBkb2Vzbid0IGZpbmQgdGhlIGVkaXRlZCBmaWxlIGluIHRoZSBidWZmZXIgbGlzdCwgY2F1c2luZyB0aGUKK0FUVEVOVElPTiBtZXNzYWdlPyAgKFRvbnkgTWVjaGVseW5jaywgMjAwOCBEZWMgMSkKK0Fsc286IHN3YXAgZmlsZXMgYXJlIGluIH4vdG1wLyAgT25lIGhhcyByZWxhdGl2ZSBmaWxlIG5hbWUgIi5tb3ppbGxhLy4uLiIuCisKKydmb2xkY29sdW1uJyBpbiBtb2RlbGluZSBhcHBsaWVkIHRvIHdyb25nIHdpbmRvdyB3aGVuIHVzaW5nIGEgc2Vzc2lvbi4gKFRlZW11CitMaWtvbmVuLCBNYXJjaCAxOSkKKwogV2hlbiB1c2luZyBhIHRpbWVyIGNhbGxiYWNrIHZnZXRjX2J1c3kgaXMgcmVzZXQsIGFsbG93aW5nIGZvciB1c2luZyBpbnB1dCgpLgogQnV0IGluIGEgY2hhbm5lbCBjYWxsYmFjayB0aGlzIGRvZXMgbm90IGhhcHBlbi4gIFdlIG5lZWQgdG8gZG8gc29tZXRoaW5nCiBzaW1pbGFyIHRvIGNoZWNrX2R1ZV90aW1lcigpLiAgQWxzbyBzZWUgIzM4MDkuCkBAIC04NTIsMTMgKzg5MSw2IEBACiBXaW4zMiBrZXkgY29kZXMgYXJlIG1lc3N5LiAgTWlrZSBXaWxsaWFtcyB0cmllZCB0byBmaXggdGhhdCwgYnV0IG5vdyBvbGQKIG1hcHBpbmdzIG5vIGxvbmdlciB3b3JrLiAgQ3JlYXRlIGEgbmV3IHRlcm1pbmFsIGZvciB0aGUgYmV0dGVyIHNvbHV0aW9uPwogCi1TY3JpcHQgZ2VuZXJhdGVkIGJ5IDpta3Nlc3Npb24gZG9lcyBub3Qgd29yayB3ZWxsIGlmIHRoZXJlIGFyZSB3aW5kb3dzIHdpdGgKLW1vZGlmaWVkIGJ1ZmZlcnMKLSAgY2hhbmdlICJzaWxlbnQgb25seSIgaW50byAic2lsZW50IG9ubHkhIgotICBjaGFuZ2UgImVkaXQgZm5hbWUiIG9mIGZpcnN0IGJ1ZmZlciB0byAiaGlkZSBlZGl0IGZuYW1lIgotICBza2lwICJiYWRkIGZuYW1lIiBpZiAiZm5hbWUiIGlzIGFscmVhZHkgaW4gdGhlIGJ1ZmZlciBsaXN0Ci0gIHJlbW92ZSByZW1hcmsgYWJvdXQgdW5sb2FkaW5nIGJ1ZmZlcnMgZnJvbSBkb2N1bWVudGF0aW9uCi0KIENvbXBpbGVyIHdhcm5pbmdzIChnZWVrbmlrLCAyMDE3IE9jdCAyNik6CiAtIHNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93IGluIGRvX3N1YigpICgjMjI0OSkKIC0gc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cgaW4gZ2V0X2FkZHJlc3MoKSAoIzIyNDgpCkBAIC0xMTIwLDcgKzExNTIsNyBAQAogIzIwODkpICBQYXRjaCB3aXRoIHBvc3NpYmxlIHNvbHV0aW9uIGJ5IEJqw7ZybiBMaW5zZS4KIAogVGhlIGNoYW5nZSBsaXN0IGluZGV4IGlzIGxvY2FsIHRvIGEgYnVmZmVyLCBidXQgaXQgZG9lc24ndCBtYWtlIHNlbnNlIHVzaW5nIGl0Ci1mb3IgYW5vdGhlciBidWZmZXIuICAobGFjeWdvbGwpIENvcHkgd19jaGFuZ2VsaXN0aWR4IHRvIHdpbmluZm9fUyBhbmQgYmFjay4KK2ZvciBhbm90aGVyIGJ1ZmZlci4gIChsYWN5Z29saWwpIENvcHkgd19jaGFuZ2VsaXN0aWR4IHRvIHdpbmluZm9fUyBhbmQgYmFjay4KIAogWDExOiBQdXR0aW5nIG1vcmUgdGhhbiBhYm91dCAyNjIwNDAgY2hhcmFjdGVycyBvZiB0ZXh0IG9uIHRoZSBjbGlwYm9hcmQgYW5kCiBwYXN0aW5nIGl0IGluIGFub3RoZXIgVmltIGRvZXNuJ3Qgd29yay4gIChEb21pbmlxdWUgUGVsbGUsIDIwMDggQXVnIDIxLTIzKQpAQCAtMTIyNywxMCArMTI1OSw2IEBACiBpbXBvcnQgY2FuJ3QgYmUgdXNlZCBpbiBkZWZpbmUgb3B0aW9uIHdoZW4gaW5jbHVkZSBtYXRjaGVzIHRvby4KIChSb21haW4gTGFmb3VyY2FkZSwgMjAxNyBKdW4gMTgsICMxNTE5KQogCi1XaGVuIHNlc3Npb24gZmlsZSBoYXMgbmFtZSBpbiBhcmd1bWVudCBsaXN0IGJ1dCB0aGUgYnVmZmVyIHdhcyBkZWxldGVkLCB0aGUKLWJ1ZmZlciBpcyBub3QgZGVsZXRlZCB3aGVuIHVzaW5nIHRoZSBzZXNzaW9uIGZpbGUuICgjMTM5MykKLVNob3VsZCBhZGQgdGhlIGJ1ZmZlciBpbiBoaWRkZW4gc3RhdGUuCi0KIFdyb25nIGRpZmYgaGlnaGxpZ2h0aW5nIHdpdGggdGhyZWUgZmlsZXMuICgyMDE2IE9jdCAyMCwgIzExODYpCiBBbHNvIGdldCBFNzQ5IG9uIGV4aXQuCiBBbm90aGVyIGV4YW1wbGUgaW4gIzEzMDkKQEAgLTE2ODksMTAgKzE3MTcsNiBAQAogCiBQYXRjaCB0byBhZGQgYSAibGl0ZXJhbCIgYXJndW1lbnQgdG8gYnVmbnIoKS4gIChPbGFmIERhYnJ1bnosIDIwMTUgQXVnIDQpCiAKLVdoZW4gYSBzZXNzaW9uIGZpbGUgaXMgY3JlYXRlZCBhbmQgdGhlcmUgYXJlICJub2ZpbGUiIGJ1ZmZlcnMsIHRoZXNlIGFyZSBub3QKLWZpbGxlZC4gIE5lZWQgdG8gdHJpZ2dlciBCdWZSZWFkQ21kIGF1dG9jb21tYW5kcy4gIEFsc28gaGFuZGxlIGRlbGV0aW5nIHRoZQotaW5pdGlhbCBlbXB0eSBidWZmZXIgYmV0dGVyLiAoWnlYLCAyMDE1IE1hcmNoIDgpCi0KIEV4dGVuZGVkIGZpbGUgYXR0cmlidXRlcyBsb3N0IG9uIHdyaXRlIChiYWNrdXBjb3B5PW5vKS4gIElzc3VlIDMwNi4KIAogUGF0Y2ggdG8gYWRkIDpsb2NranVtcHMuIChDYXJsbyBCYWxkYXNzaSwgMjAxNSBNYXkgMjUpCkBAIC0xODIxLDkgKzE4NDUsNiBAQAogLSBEZXZlbG9wbWVudCB3b3JrIG9uIHBsdWdpbnMgKGFsdGhvdWdoIGRpZmYgd2l0aCBkaXN0cmlidXRlZCB2ZXJzaW9uIHdvdWxkIGJlCiAgIHVzZWZ1bCkuCiAKLVNldHRpbmcgdGhlIHNwZWxsIGZpbGUgaW4gYSBzZXNzaW9uIG9ubHkgcmVhZHMgdGhlIGxvY2FsIGFkZGl0aW9ucywgbm90IHRoZQotbm9ybWFsIHNwZWxsIGZpbGUuIChFbm5vIE5hZ2VsLCAyMDE0IE1hciAyOSkKLQogV2hlbiB0eXBpbmcgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBhIGNvbW1hbmQsIGUuZy4gImYiLCB0aGVuIHVzaW5nIGEgbWVudSwgdGhlCiBtZW51IGl0ZW0gZG9lc24ndCB3b3JrLiAgQ2xlYXIgdHlwZWFoZWFkIHdoZW4gdXNpbmcgYSBtZW51PwogCkBAIC0yNDcyLDkgKzI0OTMsNiBAQAogaGVpZ2h0LiAgQWxzbyBoYXBwZW5zIHdoZW4gdGhlcmUgaXMgYW5vdGhlciB3aW5kb3cgaW4gdGhlIGZyYW1lLCBpZiBpdCdzIG5vdAogdmVyeSBoaWdoLiAoWWVnYXBwYW4gTGFrc2htYW5hbiwgMjAxMCBKdWwgMjIsIE1pY2hhZWwgUGVldGVycywgMjAxMCBKdWwgMjIpCiAKLURpcmVjdG9yeSB3cm9uZyBpbiBzZXNzaW9uIGZpbGUsIGNhdXNlZCBieSAiOmxjZCIgaW4gQnVmRW50ZXIgYXV0b2NvbW1hbmQuCi0oRmVsaXggS2F0ZXIsIDIwMDkgTWFyIDMpCi0KIFNlc3Npb24gZmlsZSBnZW5lcmF0ZXMgZXJyb3IgdXBvbiBsb2FkaW5nLCBjYXVzZSBieSAtLXJlbW90ZS1zaWxlbnQtdGFiLgogKDd0b21tbSAoeXRvbW1tKSAyMDEwIE5vdiAyNCkKIApAQCAtMjUzNCwxMSArMjU1Miw2IEBACiAiZ3FpcCIgaW4gSW5zZXJ0IG1vZGUgaGFzIGFuIG9mZi1ieS1vbmUgZXJyb3IsIGNhdXNpbmcgaXQgdG8gcmVmbG93IHRleHQuCiAoUmF1bCBDb3JvbmFkbywgMjAwOSBOb3YgMikKIAotU29tZXRoaW5nIHdyb25nIHdpdGggc2Vzc2lvbiB0aGF0IGhhcyAiY2QiIGNvbW1hbmRzIGFuZCAiYmFkZCIsIGluIHN1Y2ggYSB3YXkKLXRoYXQgVmltIGRvZXNuJ3QgZmluZCB0aGUgZWRpdGVkIGZpbGUgaW4gdGhlIGJ1ZmZlciBsaXN0LCBjYXVzaW5nIHRoZQotQVRURU5USU9OIG1lc3NhZ2U/ICAoVG9ueSBNZWNoZWx5bmNrLCAyMDA4IERlYyAxKQotQWxzbzogc3dhcCBmaWxlcyBhcmUgaW4gfi90bXAvICBPbmUgaGFzIHJlbGF0aXZlIGZpbGUgbmFtZSAiLm1vemlsbGEvLi4uIi4KLQogTVMtV2luZG93czogZWRpdGluZyB0aGUgZmlyc3QsIGVtcHR5IGJ1ZmZlciwgJ2Zmcycgc2V0IHRvICJ1bml4LGRvcyIsICI6ZW5ldyIKIGRvZXNuJ3Qgc2V0ICdmZicgdG8gInVuaXgiLiAgKEJlbiBGcml0eiwgMjAwOCBEZWMgNSkgUmV1c2luZyB0aGUgb2xkIGJ1ZmZlcgogcHJvYmFibHkgY2F1c2VzIHRoaXMuCkBAIC0yNzM1LDkgKzI3NDgsNiBAQAogIjplY2hvZSIgaW4gY2F0Y2ggYmxvY2sgc3RvcHMgcHJvY2Vzc2luZywgd2hpbGUgdGhpcyBkb2Vzbid0IGhhcHBlbiBvdXRzaWRlIG9mCiBhIGNhdGNoIGJsb2NrLiAoWnlYLCAyMDExIEp1biAyKQogCi0nZm9sZGNvbHVtbicgaW4gbW9kZWxpbmUgYXBwbGllZCB0byB3cm9uZyB3aW5kb3cgd2hlbiB1c2luZyBhIHNlc3Npb24uIChUZWVtdQotTGlrb25lbiwgTWFyY2ggMTkpCi0KIFRlc3QgNTQgdXNlcyBzaGVsbCBjb21tYW5kcywgdGhhdCBkb2Vzbid0IHdvcmsgb24gbm9uLVVuaXggc3lzdGVtcy4gIFVzZSBzb21lCiBvdGhlciB3YXkgdG8gdGVzdCBidWZmZXItbG9jYWwgYXV0b2NvbW1hbmRzLgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92ZXJzaW9uOC50eHQgYi9ydW50aW1lL2RvYy92ZXJzaW9uOC50eHQKaW5kZXggZjdkYzFmYy4uMTYxNTI3YyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmVyc2lvbjgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZlcnNpb244LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2ZXJzaW9uOC50eHQqICBGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjAgT2N0IDI1CisqdmVyc2lvbjgudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAyNAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzI4Miw3ICszMjgyLDcgQEAKIEZpbGVzOgkgICAgc3JjL29zX21zd2luLmMKIAogUGF0Y2ggNy40LjQ3MgotUHJvYmxlbTogICAgVGhlICJwcmVjZWRlcyIgZW50cnkgaW4gJ2xpc3RjaGFyJyB3aWxsIGJlIGRyYXduIHdoZW4gJ3Nob3dicmVhaycKK1Byb2JsZW06ICAgIFRoZSAicHJlY2VkZXMiIGVudHJ5IGluICdsaXN0Y2hhcnMnIHdpbGwgYmUgZHJhd24gd2hlbiAnc2hvd2JyZWFrJwogCSAgICBpcyBzZXQgYW5kICdsaXN0JyBpcyBub3QuCiBTb2x1dGlvbjogICBPbmx5IGRyYXcgdGhpcyBjaGFyYWN0ZXIgd2hlbiAnbGlzdCcgaXMgb24uIChDaHJpc3RpYW4gQnJhYmFuZHQpCiBGaWxlczoJICAgIHNyYy9zY3JlZW4uYwpAQCAtMzU4MzUsNyArMzU4MzUsNyBAQAogUGF0Y2ggOC4xLjE1OTIKIFByb2JsZW06ICAgIE1heSBzdGFydCBmaWxlIGRpYWxvZyB3aGlsZSBleGl0aW5nLgogU29sdXRpb246ICAgSWdub3JlIHRoZSAiYnJvd3NlIiBtb2RpZmllciB3aGVuIGV4aXRpbmcuIChPemFraSBLaWljaGksCi0gICAgICAgICAgICBjbG9zZXMgIzQ1ODIKKyAgICAgICAgICAgIGNsb3NlcyAjNDU4MikKIEZpbGVzOgkgICAgc3JjL2V4X2NtZHMuYywgc3JjL3Rlcm1pbmFsLmMKIAogUGF0Y2ggOC4xLjE1OTMKQEAgLTQ2NDMxLDcgKzQ2NDMxLDcgQEAKIAogUGF0Y2ggOC4yLjA4NTQKIFByb2JsZW06ICAgIFh4ZCBjYW5ub3Qgc2hvdyBvZmZzZXQgYXMgYSBkZWNpbWFsIG51bWJlci4KLVNvbHV0aW9uOiAgIEFkZCB0aGUgIi1kIiBmbGFnLiAoQWFwbyBSYW50YWxhaW5lbiwgY2xvc2VzICM1NjE2CitTb2x1dGlvbjogICBBZGQgdGhlICItZCIgZmxhZy4gKEFhcG8gUmFudGFsYWluZW4sIGNsb3NlcyAjNTYxNikKIEZpbGVzOiAgICAgIHNyYy90ZXN0ZGlyL3Rlc3RfeHhkLnZpbSwgc3JjL3h4ZC94eGQuYwogCiBQYXRjaCA4LjIuMDg1NQpAQCAtNDY2NjEsNyArNDY2NjEsNyBAQAogRmlsZXM6ICAgICAgc3JjL2d1aV94aW0uYwogCiBQYXRjaCA4LjIuMDg5MAotUHJvYmxlbTogICAgTm8gY29sb3IgaW4gdGVybWluYWwgd2luZG93IHdoZW4gJ3Rlcm1ndWljb2xvcicgaXMgc2V0LgorUHJvYmxlbTogICAgTm8gY29sb3IgaW4gdGVybWluYWwgd2luZG93IHdoZW4gJ3Rlcm1ndWljb2xvcnMnIGlzIHNldC4KIFNvbHV0aW9uOiAgIENsZWFyIHRoZSB1bmRlcmxpbmUgY29sb3IuIChjbG9zZXMgIzYxODYpCiBGaWxlczogICAgICBzcmMvaGlnaGxpZ2h0LmMKIApAQCAtNDY3MjgsNyArNDY3MjgsNyBAQAogCiBQYXRjaCA4LjIuMDkwMgogUHJvYmxlbTogICAgVXNpbmcgc2VhcmNoY291bnQoKSBpbiAnc3RhdHVzbGluZScgY2F1c2VzIGFuIGVycm9yLgotU29sdXRpb246ICAgQXZvaWQgc2F2aW5nL3Jlc3RvcmluZyB0aGUgc2VhcmNoIHBhdHRlbiByZWN1cnNpdmVseS4KK1NvbHV0aW9uOiAgIEF2b2lkIHNhdmluZy9yZXN0b3JpbmcgdGhlIHNlYXJjaCBwYXR0ZXJuIHJlY3Vyc2l2ZWx5LgogICAgICAgICAgICAgKGNsb3NlcyAjNjE5NCkKIEZpbGVzOiAgICAgIHNyYy9zZWFyY2guYywgc3JjL3Rlc3RkaXIvdGVzdF9zZWFyY2hfc3RhdC52aW0sCiAgICAgICAgICAgICBzcmMvdGVzdGRpci9kdW1wcy9UZXN0X3NlYXJjaHN0YXRfNC5kdW1wCkBAIC00ODgzMiw3ICs0ODgzMiw3IEBACiBQYXRjaCA4LjIuMTI2MAogUHJvYmxlbTogICAgVGhlcmUgaXMgbm8gZ29vZCB0ZXN0IGZvciBDdXJzb3JIb2xkLgogU29sdXRpb246ICAgQWRkIGEgdGVzdC4gIFJlbW92ZSBkdXBsaWNhdGVkIHRlc3QuIChZZWdhcHBhbiBMYWtzaG1hbmFuLAotICAgICAgICAgICAgY2xvc2VzICM2NTAzCisgICAgICAgICAgICBjbG9zZXMgIzY1MDMpCiBGaWxlczogICAgICBzcmMvdGVzdGRpci90ZXN0X2F1dG9jbWQudmltLCBzcmMvdGVzdGRpci90ZXN0X2J1ZmZlci52aW0sCiAgICAgICAgICAgICBzcmMvdGVzdGRpci90ZXN0X25vcm1hbC52aW0KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmltOS50eHQgYi9ydW50aW1lL2RvYy92aW05LnR4dAppbmRleCBiMjFiN2JmLi5lMTM4NjNhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92aW05LnR4dAorKysgYi9ydW50aW1lL2RvYy92aW05LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2aW05LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDguMi4gIExhc3QgY2hhbmdlOiAyMDIwIERlYyAyNAorKnZpbTkudHh0KglGb3IgVmltIHZlcnNpb24gOC4yLiAgTGFzdCBjaGFuZ2U6IDIwMjEgSmFuIDAyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE0LDcgKzE0LDcgQEAKIFRISVMgSVMgU1RJTEwgVU5ERVIgREVWRUxPUE1FTlQgLSBBTllUSElORyBDQU4gQlJFQUsgLSBBTllUSElORyBDQU4gQ0hBTkdFCiAKIAotMS4gIFdoYXQgaXMgVmltOSBzY3JpcHQ/CQl8dmltOS1zY3JpcHR8CisxLiAgV2hhdCBpcyBWaW05IHNjcmlwdD8JCXxWaW05LXNjcmlwdHwKIDIuICBEaWZmZXJlbmNlcwkJCQl8dmltOS1kaWZmZXJlbmNlc3wKIDMuICBOZXcgc3R5bGUgZnVuY3Rpb25zCQkJfGZhc3QtZnVuY3Rpb25zfAogNC4gIFR5cGVzCQkJCXx2aW05LXR5cGVzfApAQCAtNTY1LDYgKzU2NSwxMyBAQAogCiBXaGl0ZSBzcGFjZSBpcyByZXF1aXJlZCBhcm91bmQgbW9zdCBvcGVyYXRvcnMuCiAKK1doaXRlIHNwYWNlIGlzIHJlcXVpcmVkIGluIGEgc3VibGlzdCAobGlzdCBzbGljZSkgYXJvdW5kIHRoZSAiOiIsIGV4Y2VwdCBhdAordGhlIHN0YXJ0IGFuZCBlbmQ6ID4KKwlvdGhlcmxpc3QgPSBteWxpc3RbdiA6IGNvdW50XSAgCSMgdjpjb3VudCBoYXMgYSBkaWZmZXJlbnQgbWVhbmluZworCW90aGVybGlzdCA9IG15bGlzdFs6XQkJIyBtYWtlIGEgY29weSBvZiB0aGUgTGlzdAorCW90aGVybGlzdCA9IG15bGlzdFt2IDpdCisJb3RoZXJsaXN0ID0gbXlsaXN0Wzogdl0KKwogV2hpdGUgc3BhY2UgaXMgbm90IGFsbG93ZWQ6CiAtIEJldHdlZW4gYSBmdW5jdGlvbiBuYW1lIGFuZCB0aGUgIigiOiA+CiAJY2FsbCBGdW5jIChhcmcpCSAgICMgRXJyb3IhCkBAIC01OTUsNyArNjAyLDcgQEAKIGVtcHR5IGxpc3QgYW5kIGRpY3QgaXMgZmFsc3k6CiAKIAl0eXBlCQl0cnV0aHkgd2hlbiB+Ci0JYm9vbAkJdjp0cnVlIG9yIDEKKwlib29sCQl0cnVlLCB2OnRydWUgb3IgMQogCW51bWJlcgkJbm9uLXplcm8KIAlmbG9hdAkJbm9uLXplcm8KIAlzdHJpbmcJCW5vbi1lbXB0eQpAQCAtNjAzLDExICs2MTAsMTEgQEAKIAlsaXN0CQlub24tZW1wdHkgKGRpZmZlcmVudCBmcm9tIEphdmFTY3JpcHQpCiAJZGljdGlvbmFyeQlub24tZW1wdHkgKGRpZmZlcmVudCBmcm9tIEphdmFTY3JpcHQpCiAJZnVuYwkJd2hlbiB0aGVyZSBpcyBhIGZ1bmN0aW9uIG5hbWUKLQlzcGVjaWFsCQl2OnRydWUKKwlzcGVjaWFsCQl0cnVlIG9yIHY6dHJ1ZQogCWpvYgkJd2hlbiBub3QgTlVMTAogCWNoYW5uZWwJCXdoZW4gbm90IE5VTEwKIAljbGFzcwkJd2hlbiBub3QgTlVMTAotCW9iamVjdAkJd2hlbiBub3QgTlVMTCAoVE9ETzogd2hlbiBpc1RydWUoKSByZXR1cm5zIHY6dHJ1ZSkKKwlvYmplY3QJCXdoZW4gbm90IE5VTEwgKFRPRE86IHdoZW4gaXNUcnVlKCkgcmV0dXJucyB0cnVlKQogCiBUaGUgYm9vbGVhbiBvcGVyYXRvcnMgInx8IiBhbmQgIiYmIiBleHBlY3QgdGhlIHZhbHVlcyB0byBiZSBib29sZWFuLCB6ZXJvIG9yCiBvbmU6ID4KQEAgLTYyOSwxMiArNjM2LDE1IEBACiBXaGVuIHVzaW5nICJgLi4iYCBmb3Igc3RyaW5nIGNvbmNhdGVuYXRpb24gYXJndW1lbnRzIG9mIHNpbXBsZSB0eXBlcyBhcmUKIGFsd2F5cyBjb252ZXJ0ZWQgdG8gc3RyaW5nOiA+CiAJJ2hlbGxvICcgLi4gMTIzICA9PSAnaGVsbG8gMTIzJwotCSdoZWxsbyAnIC4uIHY6dHJ1ZSAgPT0gJ2hlbGxvIHY6dHJ1ZScKKwknaGVsbG8gJyAuLiB2OnRydWUgID09ICdoZWxsbyB0cnVlJwogCiBTaW1wbGUgdHlwZXMgYXJlIHN0cmluZywgZmxvYXQsIHNwZWNpYWwgYW5kIGJvb2wuICBGb3Igb3RoZXIgdHlwZXMgfHN0cmluZygpfAogY2FuIGJlIHVzZWQuCiAJCQkJCQkJKmZhbHNlKiAqdHJ1ZSoKLUluIFZpbTkgc2NyaXB0IG9uZSBjYW4gdXNlICJ0cnVlIiBmb3Igdjp0cnVlIGFuZCAiZmFsc2UiIGZvciB2OmZhbHNlLgorSW4gVmltOSBzY3JpcHQgb25lIGNhbiB1c2UgInRydWUiIGZvciB2OnRydWUgYW5kICJmYWxzZSIgZm9yIHY6ZmFsc2UuICBXaGVuCitjb252ZXJ0aW5nIGEgYm9vbGVhbiB0byBhIHN0cmluZyAiZmFsc2UiIGFuZCAidHJ1ZSIgYXJlIHVzZWQsIG5vdCAidjpmYWxzZSIKK2FuZCAidjp0cnVlIiBsaWtlIGluIGxlZ2FjeSBzY3JpcHQuICAidjpub25lIiBhbmQgInY6bnVsbCIgYXJlIG5vdCBjaGFuZ2VkLAordGhleSBhcmUgb25seSB1c2VkIGluIEpTT04uCiAKIEluZGV4aW5nIGEgc3RyaW5nIHdpdGggW2lkeF0gb3IgW2lkeCwgaWR4XSB1c2VzIGNoYXJhY3RlciBpbmRleGVzIGluc3RlYWQgb2YKIGJ5dGUgaW5kZXhlcy4gRXhhbXBsZTogPgpkaWZmIC0tZ2l0IGEvcnVudGltZS9maWxldHlwZS52aW0gYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQppbmRleCBkNjI0ZTJiLi5kZGRiNmQxIDEwMDY0NAotLS0gYS9ydW50aW1lL2ZpbGV0eXBlLnZpbQorKysgYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN1cHBvcnQgZmlsZSB0byBkZXRlY3QgZmlsZSB0eXBlcwogIgogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAyMCBEZWMgMDcKKyIgTGFzdCBDaGFuZ2U6CTIwMjAgRGVjIDI0CiAKICIgTGlzdGVuIHZlcnkgY2FyZWZ1bGx5LCBJIHdpbGwgc2F5IHRoaXMgb25seSBvbmNlCiBpZiBleGlzdHMoImRpZF9sb2FkX2ZpbGV0eXBlcyIpCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2R1bmUudmltIGIvcnVudGltZS9mdHBsdWdpbi9kdW5lLnZpbQppbmRleCA4YjFmOGI0Li44NmM5OWMwIDEwMDY0NAotLS0gYS9ydW50aW1lL2Z0cGx1Z2luL2R1bmUudmltCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vZHVuZS52aW0KQEAgLTEsNyArMSw3IEBACiAiIExhbmd1YWdlOiAgICBEdW5lIGJ1aWxkc3lzdGVtCiAiIE1haW50YWluZXI6ICBNYXJrdXMgTW90dGwgICAgICAgIDxtYXJrdXMubW90dGxAZ21haWwuY29tPgogIiAgICAgICAgICAgICAgQW50b24gS29jaGtvdiAgICAgICA8YW50b24ua29jaGtvdkBnbWFpbC5jb20+Ci0iIFVSTDogICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmdyaW5iZXJnL3ZpbS1vY2FtbAorIiBVUkw6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL29jYW1sL3ZpbS1vY2FtbAogIiBMYXN0IENoYW5nZToKICIgICAgICAgICAgICAgIDIwMTggTm92IDMgLSBBZGRlZCBjb21tZW50c3RyaW5nIChNYXJrdXMgTW90dGwpCiAiICAgICAgICAgICAgICAyMDE3IFNlcCA2IC0gSW5pdGlhbCB2ZXJzaW9uIChFdGllbm5lIE1pbGxvbikKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vZnN0YWIudmltIGIvcnVudGltZS9mdHBsdWdpbi9mc3RhYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U3YWY5ZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vZnN0YWIudmltCkBAIC0wLDAgKzEsMTkgQEAKKyIgVmltIGZ0cGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6IGZzdGFiIGZpbGUKKyIgTWFpbnRhaW5lcjogUmFkdSBEaW5laXUgPHJhZHUuZGluZWl1QGdtYWlsLmNvbT4KKyIgVVJMOiBodHRwczovL3Jhdy5naXRodWIuY29tL3JpZDkvdmltLWZzdGFiL21hc3Rlci9mdHBsdWdpbi9mc3RhYi52aW0KKyIgTGFzdCBDaGFuZ2U6IDIwMjAgRGVjIDI5CisiIFZlcnNpb246IDEuMAorIgorIiBDcmVkaXRzOgorIiAgIFN1YmhhZGl0eWEgTmF0aCA8c24wMy5nZW5lcmFsQGdtYWlsLmNvbT4KKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisJZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitzZXRsb2NhbCBjb21tZW50c3RyaW5nPSMlcworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsb2NhbCBjb21tZW50c3RyaW5nPCIKKworIiB2aW06IHRzPTggZnQ9dmltClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9vY2FtbC52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL29jYW1sLnZpbQppbmRleCBlMGQ3ZWZlLi43OTNiODg3IDEwMDY0NAotLS0gYS9ydW50aW1lL2Z0cGx1Z2luL29jYW1sLnZpbQorKysgYi9ydW50aW1lL2Z0cGx1Z2luL29jYW1sLnZpbQpAQCAtNSw3ICs1LDcgQEAKICIgICAgICAgICAgICAgIFBpZXJyZSBWaXR0ZXQgICAgICAgPHBpZXJyZS12aXR0ZXRAcHZpdHRldC5jb20+CiAiICAgICAgICAgICAgICBTdGVmYW5vIFphY2NoaXJvbGkgIDx6YWNrQGJvbm9uaWEuaXQ+CiAiICAgICAgICAgICAgICBWaW5jZW50IEFyYXZhbnRpbm9zIDxmaXJzdG5hbWUubmFtZUBpbWFnLmZyPgotIiBVUkw6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3JncmluYmVyZy92aW0tb2NhbWwKKyIgVVJMOiAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9vY2FtbC92aW0tb2NhbWwKICIgTGFzdCBDaGFuZ2U6CiAiICAgICAgICAgICAgICAyMDEzIE9jdCAyNyAtIEFkZGVkIGNvbW1lbnRzdHJpbmcgKE1NKQogIiAgICAgICAgICAgICAgMjAxMyBKdWwgMjYgLSBsb2FkIGRlZmF1bHQgY29tcGlsZXIgc2V0dGluZ3MgKE1NKQpAQCAtMzgsNyArMzgsOCBAQAogc2V0IGNwbyZ2aW0KIAogIiBDb21tZW50IHN0cmluZwotc2V0bG9jYWwgY29tbWVudHM9CitzZXRsb2NhbCBjb21tZW50cz1zcjooKlwgLG1iOlwgLGV4OiopCitzZXRsb2NhbCBjb21tZW50c149c3I6KCoqLG1iOlwgXCAsZXg6KikKIHNldGxvY2FsIGNvbW1lbnRzdHJpbmc9KColcyopCiAKICIgQWRkIG1hcHBpbmdzLCB1bmxlc3MgdGhlIHVzZXIgZGlkbid0IHdhbnQgdGhpcy4KQEAgLTM5MSw5ICszOTIsOSBAQAogICAgIGVuZGlmCiAgIGVuZGZ1bgogCi0gICIgVGhpcyB2YXJpYWJsZSBjb250YWluIGEgZGljdGlvbm5hcnkgb2YgbGlzdC4gRWFjaCBlbGVtZW50IG9mIHRoZSBkaWN0aW9ubmFyeQotICAiIHJlcHJlc2VudCBhbiBhbm5vdGF0aW9uIHN5c3RlbS4gQW4gYW5ub3RhdGlvbiBzeXN0ZW0gaXMgYSBsaXN0IHdpdGggOgotICAiIC0gYW5ub3RhdGlvbiBmaWxlIG5hbWUgYXMgaXQncyBrZXkKKyAgIiBUaGlzIHZhcmlhYmxlIGNvbnRhaW5zIGEgZGljdGlvbmFyeSBvZiBsaXN0cy4gRWFjaCBlbGVtZW50IG9mIHRoZSBkaWN0aW9uYXJ5CisgICIgcmVwcmVzZW50cyBhbiBhbm5vdGF0aW9uIHN5c3RlbS4gQW4gYW5ub3RhdGlvbiBzeXN0ZW0gaXMgYSBsaXN0IHdpdGg6CisgICIgLSBhbm5vdGF0aW9uIGZpbGUgbmFtZSBhcyBpdHMga2V5CiAgICIgLSBhbm5vdGF0aW9uIGZpbGUgcGF0aCBhcyBmaXJzdCBlbGVtZW50IG9mIHRoZSBjb250YWluZWQgbGlzdAogICAiIC0gYnVpbGQgcGF0aCBhcyBzZWNvbmQgZWxlbWVudCBvZiB0aGUgY29udGFpbmVkIGxpc3QKICAgIiAtIGFubm90X2ZpbGVfbGFzdF9tb2QgKGNvbnRhaW4gdGhlIGRhdGUgb2YgLmFubm90IGZpbGUpIGFzIHRoaXJkIGVsZW1lbnQKQEAgLTUyMSw3ICs1MjIsNyBAQAogICAiYy4gbGluayB0aGlzIHN0dWZmIHdpdGggd2hhdCB0aGUgdXNlciB3YW50cwogICAiIGllLiBnZXQgdGhlIGV4cHJlc3Npb24gc2VsZWN0ZWQvdW5kZXIgdGhlIGN1cnNvcgogCi0gICAgbGV0IHM6b2NhbWxfd29yZF9jaGFyID0gJ1x3fFvALf9dfCcnJworICAgIGxldCBzOm9jYW1sX3dvcmRfY2hhciA9ICdcd3xbXHhjMC1ceGZmXXwnJycKIAogICAgICAgIkluOiAgdGhlIGN1cnJlbnQgbW9kZSAoZWcuICJ2aXN1YWwiLCAibm9ybWFsIiwgZXRjLikKICAgICAgICJPdXQ6IHRoZSBib3JkZXJzIG9mIHRoZSBleHByZXNzaW9uIHdlIGFyZSBsb29raW5nIGZvciB0aGUgdHlwZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9zZXhwbGliLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vc2V4cGxpYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjdlMWIyOAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vc2V4cGxpYi52aW0KQEAgLTAsMCArMSwxNSBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgIFNleHBsaWIKKyIgTWFpbnRhaW5lcjogIE1hcmt1cyBNb3R0bCAgICAgICAgPG1hcmt1cy5tb3R0bEBnbWFpbC5jb20+CisiIFVSTDogICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vb2NhbWwvdmltLW9jYW1sCisiIExhc3QgQ2hhbmdlOgorIiAgICAgICAgICAgICAgMjAxNyBBcHIgMTIgLSBGaXJzdCB2ZXJzaW9uIChNTSkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbj0xCisKKyIgQ29tbWVudCBzdHJpbmcKK3NldGwgY29tbWVudHN0cmluZz07XCAlcworc2V0bCBjb21tZW50cz06OwpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvZHVuZS52aW0gYi9ydW50aW1lL2luZGVudC9kdW5lLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTkwZDY2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9pbmRlbnQvZHVuZS52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gaW5kZW50IGZpbGUKKyIgTGFuZ3VhZ2U6IGR1bmUKKyIgTWFpbnRhaW5lcnM6ICBNYXJrdXMgTW90dGwgICAgICAgICA8bWFya3VzLm1vdHRsQGdtYWlsLmNvbT4KKyIgVVJMOiAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vb2NhbWwvdmltLW9jYW1sCisiIExhc3QgQ2hhbmdlOiAgMjAyMSBKYW4gMDEKKworaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQorIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9pbmRlbnQgPSAxCisKKyIgZHVuZSBmb3JtYXQtZHVuZS1maWxlIHVzZXMgMSBzcGFjZSB0byBpbmRlbnQKK3NldGxvY2FsIHNvZnR0YWJzdG9wPTEgc2hpZnR3aWR0aD0xIGV4cGFuZHRhYgpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvb2NhbWwudmltIGIvcnVudGltZS9pbmRlbnQvb2NhbWwudmltCmluZGV4IDhmZTlkZTMuLjE5YzgxZjQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L29jYW1sLnZpbQorKysgYi9ydW50aW1lL2luZGVudC9vY2FtbC52aW0KQEAgLTMsNyArMyw3IEBACiAiIE1haW50YWluZXJzOiAgSmVhbi1GcmFuY29pcyBZdWVuICAgPGpmeXVlbkBoYXBweWNvZGVycy5vcmc+CiAiICAgICAgICAgICAgICAgTWlrZSBMZWFyeSAgICAgICAgICAgPGxlYXJ5QG53bGluay5jb20+CiAiICAgICAgICAgICAgICAgTWFya3VzIE1vdHRsICAgICAgICAgPG1hcmt1cy5tb3R0bEBnbWFpbC5jb20+Ci0iIFVSTDogICAgICAgICAgaHR0cDovL3d3dy5vY2FtbC5pbmZvL3ZpbS9pbmRlbnQvb2NhbWwudmltCisiIFVSTDogICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL29jYW1sL3ZpbS1vY2FtbAogIiBMYXN0IENoYW5nZTogIDIwMTcgSnVuIDEzCiAiICAgICAgICAgICAgICAgMjAwNSBKdW4gMjUgLSBGaXhlZCBtdWx0aXBsZSBidWdzIGR1ZSB0byAnZWxzZVxucmV0dXJuIGluZCcgd29ya2luZwogIiAgICAgICAgICAgICAgIDIwMDUgTWF5IDA5IC0gQWRkZWQgYW4gb3B0aW9uIHRvIG5vdCBpbmRlbnQgT0NhbWwtaW5kZW50cyBzcGVjaWFsbHkgKE1NKQpAQCAtMzAsNyArMzAsOCBAQAogIiBDb21tZW50IGZvcm1hdHRpbmcKIGlmICFleGlzdHMoIm5vX29jYW1sX2NvbW1lbnRzIikKICBpZiAoaGFzKCJjb21tZW50cyIpKQotICAgc2V0bG9jYWwgY29tbWVudHM9c3I6KCosbWI6KixleDoqKQorICAgc2V0bG9jYWwgY29tbWVudHM9c3I6KCpcICxtYjpcICxleDoqKQorICAgc2V0bG9jYWwgY29tbWVudHNePXNyOigqKixtYjpcIFwgLGV4OiopCiAgICBzZXRsb2NhbCBmbz1jcW9ydAogIGVuZGlmCiBlbmRpZgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZGlmZi52aW0gYi9ydW50aW1lL3N5bnRheC9kaWZmLnZpbQppbmRleCBhYzQzZDY2Li40MDg1NTZhIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9kaWZmLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9kaWZmLnZpbQpAQCAtMiw3ICsyLDcgQEAKICIgTGFuZ3VhZ2U6CURpZmYgKGNvbnRleHQgb3IgdW5pZmllZCkKICIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KICIgICAgICAgICAgICAgICBUcmFuc2xhdGlvbnMgYnkgSmFrc29uIEFsdmVzIGRlIEFxdWluby4KLSIgTGFzdCBDaGFuZ2U6CTIwMjAgRGVjIDA3CisiIExhc3QgQ2hhbmdlOgkyMDIwIERlYyAzMAogCiAiIFF1aXQgd2hlbiBhIChjdXN0b20pIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKQEAgLTM0OCwxMSArMzQ4LDE2IEBACiBzeW4gbWF0Y2ggZGlmZkZpbGUJIl5kaWZmXD4uKiIKIHN5biBtYXRjaCBkaWZmRmlsZQkiXkluZGV4OiAuKiIKIHN5biBtYXRjaCBkaWZmRmlsZQkiXj09PT0gLioiCi0iIE9sZCBzdHlsZSBkaWZmIHVzZXMgKioqIGZvciBvbGQgYW5kIC0tLSBmb3IgbmV3LgotIiBVbmlmaWVkIGRpZmYgdXNlcyAtLS0gZm9yIG9sZCBhbmQgKysrIGZvciBuZXc7IG5hbWVzIGFyZSB3cm9uZyBidXQgaXQgd29ya3MuCi1zeW4gbWF0Y2ggZGlmZk9sZEZpbGUJIl4rKysgLioiCi1zeW4gbWF0Y2ggZGlmZk9sZEZpbGUJIl5cKlwqXCogLioiCi1zeW4gbWF0Y2ggZGlmZk5ld0ZpbGUJIl4tLS0gLioiCisKK2lmIHNlYXJjaCgnXkBAIC1cU1wrICtcU1wrIEBAJywgJ253JywgJycsIDEwMCkKKyAgIiB1bmlmaWVkCisgIHN5biBtYXRjaCBkaWZmT2xkRmlsZQkiXi0tLSAuKiIKKyAgc3luIG1hdGNoIGRpZmZOZXdGaWxlCSJeKysrIC4qIgorZWxzZQorICAiIGNvbnRleHQgLyBvbGQgc3R5bGUKKyAgc3luIG1hdGNoIGRpZmZPbGRGaWxlCSJeXCpcKlwqIC4qIgorICBzeW4gbWF0Y2ggZGlmZk5ld0ZpbGUJIl4tLS0gLioiCitlbmRpZgogCiAiIFVzZWQgYnkgZ2l0CiBzeW4gbWF0Y2ggZGlmZkluZGV4TGluZQkiXmluZGV4IFx4XHhceFx4LioiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9kdW5lLnZpbSBiL3J1bnRpbWUvc3ludGF4L2R1bmUudmltCmluZGV4IGY5MDE4MTMuLmI0MjU0MDUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2R1bmUudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2R1bmUudmltCkBAIC0xLDcgKzEsOCBAQAorIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6ICAgIER1bmUgYnVpbGRzeXN0ZW0KICIgTWFpbnRhaW5lcjogIE1hcmt1cyBNb3R0bCAgICAgICAgPG1hcmt1cy5tb3R0bEBnbWFpbC5jb20+CiAiICAgICAgICAgICAgICBBbnRvbiBLb2Noa292ICAgICAgIDxhbnRvbi5rb2Noa292QGdtYWlsLmNvbT4KLSIgVVJMOiAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9yZ3JpbmJlcmcvdmltLW9jYW1sCisiIFVSTDogICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vb2NhbWwvdmltLW9jYW1sCiAiIExhc3QgQ2hhbmdlOgogIiAgICAgICAgICAgICAgMjAxOSBGZWIgMjcgLSBBZGQgbmV3ZXIga2V5d29yZHMgdG8gdGhlIHN5bnRheCAoU2ltb24gQ3J1YW5lcykKICIgICAgICAgICAgICAgIDIwMTggTWF5IDggLSBDaGVjayBjdXJyZW50X3N5bnRheCAoS2F3YWhhcmEgU2F0b3J1KQpAQCAtMjgsNyArMjksNyBAQAogc3luIGtleXdvcmQgbGlzcEtleSBqYXZhc2NyaXB0X2ZpbGVzIGZsYWdzIG9jYW1sY19mbGFncyBvY2FtbG9wdF9mbGFncyBwcHMgc3RhZ2VkX3Bwcwogc3luIGtleXdvcmQgbGlzcEtleSBsaWJyYXJ5X2ZsYWdzIGNfZmxhZ3MgY19saWJyYXJ5X2ZsYWdzIGtpbmQgcGFja2FnZSBhY3Rpb24KIHN5biBrZXl3b3JkIGxpc3BLZXkgZGVwcyB0YXJnZXRzIGxvY2tzIGZhbGxiYWNrCi1zeW4ga2V5d29yZCBsaXNwS2V5IGlubGluZV90ZXN0cyB0ZXN0cyBuYW1lcworc3luIGtleXdvcmQgbGlzcEtleSBpbmxpbmVfdGVzdHMgdGVzdHMgdGVzdCBuYW1lcwogCiBzeW4ga2V5d29yZCBsaXNwQXRvbSB0cnVlIGZhbHNlCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2ZzdGFiLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZzdGFiLnZpbQppbmRleCA2YjE3YjVhLi4zMTg0ODg3IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9mc3RhYi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZnN0YWIudmltCkBAIC0xLDggKzEsOCBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6IGZzdGFiIGZpbGUKICIgTWFpbnRhaW5lcjogUmFkdSBEaW5laXUgPHJhZHUuZGluZWl1QGdtYWlsLmNvbT4KLSIgVVJMOiBodHRwczovL3Jhdy5naXRodWIuY29tL3JpZDkvdmltLWZzdGFiL21hc3Rlci9mc3RhYi52aW0KLSIgTGFzdCBDaGFuZ2U6IDIwMjAgQXVnIDA2CisiIFVSTDogaHR0cHM6Ly9yYXcuZ2l0aHViLmNvbS9yaWQ5L3ZpbS1mc3RhYi9tYXN0ZXIvc3ludGF4L2ZzdGFiLnZpbQorIiBMYXN0IENoYW5nZTogMjAyMCBEZWMgMzAKICIgVmVyc2lvbjogMS40CiAiCiAiIENyZWRpdHM6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9naWZ0LnZpbSBiL3J1bnRpbWUvc3ludGF4L2dpZnQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmOGQ2MzEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9naWZ0LnZpbQpAQCAtMCwwICsxLDIxNiBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIKKyIgTGFuZ3VhZ2U6ICAgICAgICBNb29kbGUgR0lGVCAoR2VuZXJhbCBJbXBvcnQgRm9ybWF0IFRlbXBsYXRlKQorIiBNYWludGFpbmVyOiAgICAgIFNlbGltIFRlbWl6ZXIgKGh0dHA6Ly9zZWxpbXRlbWl6ZXIuY29tKQorIiBDcmVhdGlvbjogICAgICAgIE5vdmVtYmVyIDI4LCAyMDIwCisiIExhdGVzdCBSZXZpc2lvbjogRGVjZW1iZXIgMjEsIDIwMjAKKyIgTm90ZTogICAgICAgICAgICBUaGUgb3JkZXIgb2YgZW50aXRpZXMgaW4gdGhpcyBmaWxlIGlzIGltcG9ydGFudCEKKworaWYgdmVyc2lvbiA8IDYwMAorICBzeW50YXggY2xlYXIKK2Vsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKKworc2V0bG9jYWwgY29uY2VhbGxldmVsPTEKKworIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIEdJRlQgZW50aXRpZXMKKworc3luIG1hdGNoIGdpZnRTICAgICAgICAiXH4iICAgICAgICAgIGNvbnRhaW5lZCAgICAgICAgICAgICAgICAgICAgIkdJRlQgc3BlY2lhbCBjaGFyYWN0ZXJzCitzeW4gbWF0Y2ggZ2lmdFMgICAgICAgICAiPSIgICAgICAgICAgY29udGFpbmVkCitzeW4gbWF0Y2ggZ2lmdFMgICAgICAgICAiIyIgICAgICAgICAgY29udGFpbmVkCitzeW4gbWF0Y2ggZ2lmdFMgICAgICAgICAieyIgICAgICAgICAgY29udGFpbmVkCitzeW4gbWF0Y2ggZ2lmdFMgICAgICAgICAifSIgICAgICAgICAgY29udGFpbmVkCitzeW4gbWF0Y2ggZ2lmdFMgICAgICAgICAiOiIgICAgICAgICAgY29udGFpbmVkCisKK3N5biBtYXRjaCBnaWZ0RVMgICAgICJcXFx+IiAgICAgICAgICBjb250YWluZWQgIGNvbmNlYWwgIGNjaGFyPX4gICJHSUZUIGVzY2FwZWQgc3BlY2lhbCBjaGFyYWN0ZXJzCitzeW4gbWF0Y2ggZ2lmdEVTICAgICAgIlxcPSIgICAgICAgICAgY29udGFpbmVkICBjb25jZWFsICBjY2hhcj09CitzeW4gbWF0Y2ggZ2lmdEVTICAgICAgIlxcIyIgICAgICAgICAgY29udGFpbmVkICBjb25jZWFsICBjY2hhcj0jCitzeW4gbWF0Y2ggZ2lmdEVTICAgICAgIlxceyIgICAgICAgICAgY29udGFpbmVkICBjb25jZWFsICBjY2hhcj17CitzeW4gbWF0Y2ggZ2lmdEVTICAgICAgIlxcfSIgICAgICAgICAgY29udGFpbmVkICBjb25jZWFsICBjY2hhcj19CitzeW4gbWF0Y2ggZ2lmdEVTICAgICAgIlxcOiIgICAgICAgICAgY29udGFpbmVkICBjb25jZWFsICBjY2hhcj06CisKK3N5biBtYXRjaCBnaWZ0RU4gICAgICAiXFxuIiAgICAgICAgICBjb250YWluZWQgIGNvbmNlYWwgIGNjaGFyPW4gICJHSUZUIGVzY2FwZWQgbmV3bGluZQorCitzeW4gbWF0Y2ggZ2lmdEZvcm1hdCAgIlxbaHRtbF0iICAgICAgY29udGFpbmVkICAgICAgICAgICAgICAgICAgICAiR0lGVCBmb3JtYXRzCitzeW4gbWF0Y2ggZ2lmdEZvcm1hdCAgIlxbcGxhaW5dIiAgICAgY29udGFpbmVkCitzeW4gbWF0Y2ggZ2lmdEZvcm1hdCAgIlxbbW9vZGxlXSIgICAgY29udGFpbmVkCitzeW4gbWF0Y2ggZ2lmdEZvcm1hdCAgIlxbbWFya2Rvd25dIiAgY29udGFpbmVkCisKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBIVE1MIGVudGl0aWVzCisKK3N5biBtYXRjaCBnaWZ0SCAgICAgICAgICAgICI8IiAgICAgICBjb250YWluZWQgICAgICAgICAgICAgICAgICAgICJIVE1MIGNoYXJhY3RlcnMgdGhhdCBtaWdodCBuZWVkIHRvIGJlIGhhbmRsZWQvZXNjYXBlZAorc3luIG1hdGNoIGdpZnRIICAgICAgICAgICAgIj4iICAgICAgIGNvbnRhaW5lZAorc3luIG1hdGNoIGdpZnRIICAgICAgICAgICAgIiYiICAgICAgIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggZ2lmdEVIICAgICAgICAiJmx0OyIgICAgICAgY29udGFpbmVkICBjb25jZWFsICBjY2hhcj08ICAiSFRNTCBlc2NhcGVkIGNoYXJhY3RlcnMKK3N5biBtYXRjaCBnaWZ0RUggICAgICAgICImZ3Q7IiAgICAgICBjb250YWluZWQgIGNvbmNlYWwgIGNjaGFyPT4KK3N5biBtYXRjaCBnaWZ0RUggICAgICAgIiZhbXA7IiAgICAgICBjb250YWluZWQgIGNvbmNlYWwgIGNjaGFyPSYKK3N5biBtYXRjaCBnaWZ0RUggICAgICAiJm5ic3A7IiAgICAgICBjb250YWluZWQgIGNvbmNlYWwgIGNjaGFyPV8KKworIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgQW5zd2VyIGNvbXBvbmVudHM6IEZlZWRiYWNrIGFuZCBnZW5lcmFsIGZlZWRiYWNrCisKK3N5biBtYXRjaCBnaWZ0RkIgICAgICAgICAgICIjXF8uXHstfVwoXF9eXHxbXlxcXVwpXHplXCg9XHxcflx8I1x8IyMjI1x8fVwpIiAgICAgICAgICAgY29udGFpbmVkICBjb250YWlucz1naWZ0RiAgICAgICAiRmVlZGJhY2sgYmxvY2sKK3N5biBtYXRjaCBnaWZ0RiAgICAgICAgICIjXHpzXF8uXHstfVwoXF9eXHxbXlxcXVwpXHplXCg9XHxcflx8I1x8IyMjI1x8fVwpIiAgICAgICAgICAgY29udGFpbmVkICBjb250YWlucz1AZ2lmdENFRiAgICAiRmVlZGJhY2sKKworc3luIG1hdGNoIGdpZnRHRkIgICAgICAgICAgIiMjIyNcXy5cey19XChcX15cfFteXFxdXClcemV9IiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZWQgIGNvbnRhaW5zPWdpZnRHRiAgICAgICJHZW5lcmFsIGZlZWRiYWNrIGJsb2NrCitzeW4gbWF0Y2ggZ2lmdEdGICAgICAgICAiIyMjI1x6c1xfLlx7LX1cKFxfXlx8W15cXF1cKVx6ZX0iICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAgY29udGFpbnM9QGdpZnRDRUYgICAgIkdlbmVyYWwgZmVlZGJhY2sKKworIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBBbnN3ZXIgY29tcG9uZW50czogT3RoZXIgY29tcG9uZW50cworCitzeW4ga2V5d29yZCBnaWZ0VEYgICAgICBUIFRSVUUgRiBGQUxTRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZAorCitzeW4gbWF0Y2ggICBnaWZ0TnVtMSAgICAiWy0rXVw9Wy4wLTldXCsiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAgICAgICAgICAgICAgICAgICAgICAgIlNvbWV0aGluZyBtYXRjaGluZyBhIG51bWJlcgorCitzeW4gbWF0Y2ggICBnaWZ0TnVtMiAgICAiWy0rXVw9Wy4wLTldXCtccyo6XHMqWy0rXVw9Wy4wLTldXCsiICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAgY29udGFpbnM9Z2lmdE51bTJEICAgIk51bWJlciB3aXRoIGVycm9yIG1hcmdpbgorc3luIG1hdGNoICAgZ2lmdE51bTJEICAgICAgICAgICAgICAgICAgICAiOiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZWQgICAgICAgICAgICAgICAgICAgICAgICJBc3NvY2lhdGVkIGRlbGltaXRlcgorCitzeW4gbWF0Y2ggICBnaWZ0TnVtMyAgICAiWy0rXVw9Wy4wLTldXCtccypcLlwuXHMqWy0rXVw9Wy4wLTldXCsiICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAgY29udGFpbnM9Z2lmdE51bTNEICAgIk51bWJlciBhcyBtaW4vbWF4IHJhbmdlCitzeW4gbWF0Y2ggICBnaWZ0TnVtM0QgICAgICAgICAgICAgICAgICAgICJcLlwuIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAgICAgICAgICAgICAgICAgICAgICAgIkFzc29jaWF0ZWQgZGVsaW1pdGVyCisKK3N5biBtYXRjaCAgIGdpZnRXZWlnaHRCICAgICIlLSpbMC05XVx7MSwyfVwuXD9bMC05XSolIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVkICBjb250YWlucz1naWZ0V2VpZ2h0ICAiV2VpZ2h0IGJsb2NrCitzeW4gbWF0Y2ggICBnaWZ0V2VpZ2h0ICAiJVx6cy0qWzAtOV1cezEsMn1cLlw/WzAtOV0qXHplJSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAgICAgICAgICAgICAgICAgICAgICAgIldlaWdodAorCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgQW5zd2VyIGNob2ljZXMKKworc3luIG1hdGNoIGdpZnRXcm9uZ051bSAgIlx+XHpzXF8uXHstfVwoXF9eXHxbXlxcXVwpXHplXCgjIyMjXHx9XCkiICAgICAgICAgICAgICAgICAgICBjb250YWluZWQgIGNvbnRhaW5zPUBnaWZ0Q0VGRiAgICAgICAgICAgICAiV3JvbmcgbnVtZXJpYyBjaG9pY2UKK3N5biBtYXRjaCBnaWZ0UmlnaHROdW0gICAiPVx6c1xfLlx7LX1cKFxfXlx8W15cXF1cKVx6ZVwoPVx8XH5cfCMjIyNcfH1cKSIgICAgICAgICAgICAgY29udGFpbmVkICBjb250YWlucz1AZ2lmdENFRkZXLEBnaWZ0TnVtcyAgIlJpZ2h0IG51bWVyaWMgY2hvaWNlCisKK3N5biBtYXRjaCBnaWZ0V3JvbmcgICAgICJcflx6c1xfLlx7LX1cKFxfXlx8W15cXF1cKVx6ZVwoPVx8XH5cfCMjIyNcfH1cKSIgICAgICAgICAgICAgY29udGFpbmVkICBjb250YWlucz1AZ2lmdENFRkZXICAgICAgICAgICAgIldyb25nIGNob2ljZQorc3luIG1hdGNoIGdpZnRSaWdodCAgICAgICI9XHpzXF8uXHstfVwoXHplLT5cfFwoXF9eXHxbXlxcXVwpXHplXCg9XHxcflx8IyMjI1x8fVwpXCkiICBjb250YWluZWQgIGNvbnRhaW5zPUBnaWZ0Q0VGRlcgICAgICAgICAgICAiUmlnaHQgY2hvaWNlCitzeW4gbWF0Y2ggZ2lmdE1hdGNoQiAgICAgICAgICAgICAgICAiLT5cXy5cey19XChcX15cfFteXFxdXClcemVcKD1cfFx+XHwjIyMjXHx9XCkiICAgIGNvbnRhaW5lZCAgY29udGFpbnM9Z2lmdE1hdGNoICAgICAgICAgICAgICJNYXRjaCBjaG9pY2UgYmxvY2sKK3N5biBtYXRjaCBnaWZ0TWF0Y2ggICAgICAgICAgICAgICItPlx6c1xfLlx7LX1cKFxfXlx8W15cXF1cKVx6ZVwoPVx8XH5cfCMjIyNcfH1cKSIgICAgY29udGFpbmVkICBjb250YWlucz1AZ2lmdENFICAgICAgICAgICAgICAgIk1hdGNoIGNob2ljZQorCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBBbnN3ZXIKKworc3luIG1hdGNoIGdpZnRBbnN3ZXIgICAgICAie1xfLlx7LX1cKFxfXlx8W15cXF1cKX0iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZWQgIGtlZXBlbmQgIGNvbnRhaW5zPUBnaWZ0QSAgICAgIkdlbmVyYWwgYW5zd2VyCitzeW4gbWF0Y2ggZ2lmdEFuc3dlciAgICAgICJ7fSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiTWluaW1hbCBhbnN3ZXIKKworc3luIG1hdGNoIGdpZnRBbnN3ZXJOdW0gICAgICAie1xfW1s6c3BhY2U6XV0qI1xfW14jXVxfLlx7LX1cKFxfXlx8W15cXF1cKX0iICAgICAgICAgICBjb250YWluZWQgIGtlZXBlbmQgIGNvbnRhaW5zPUBnaWZ0QU51bSAgIk51bWVyaWMgYW5zd2VyCitzeW4gbWF0Y2ggZ2lmdEFuc3dlck51bUQgICJ7XHpzXF9bWzpzcGFjZTpdXSojIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXNzb2NpYXRlZCBkZWxpbWl0ZXIKKworIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBRdWVzdGlvbgorCisiIFRoZSBmaXJzdCBwYXR0ZXJuIG1hdGNoZXMgdGhlIGxhc3QgcXVlc3Rpb24gYXQgdGhlIGVuZCBvZiB0aGUgZmlsZSAoaW4gY2FzZSB0aGVyZSBpcyBubyBlbXB0eSBsaW5lIGNvbWluZyBhZnRlcikuCisiIEhvd2V2ZXIsIGl0IHNsb3dzIGRvd24gcGFyc2luZyAoYW5kIGVzcGVjaWFsbHkgc2Nyb2xsaW5nIHVwKSwgdGhlcmVmb3JlIGl0IGlzIGNvbW1lbnRlZCBvdXQuCisKKyJzeW4gbWF0Y2ggZ2lmdFF1ZXN0aW9uICAiW157WzpzcGFjZTpdXVxfLlx7LX1cJSQiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZWVwZW5kICBjb250YWlucz1AZ2lmdENFRixnaWZ0QW5zd2VyLGdpZnRBbnN3ZXJOdW0KKyBzeW4gbWF0Y2ggZ2lmdFF1ZXN0aW9uICAiW157WzpzcGFjZTpdXVxfLlx7LX1cblwoXHMqXG5cKVwrIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZWVwZW5kICBjb250YWlucz1AZ2lmdENFRixnaWZ0QW5zd2VyLGdpZnRBbnN3ZXJOdW0KKworIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIFF1ZXN0aW9uIG5hbWUKKworc3luIG1hdGNoIGdpZnROYW1lICAgICAgICI6OlxfLlx7LX06OiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zPUBnaWZ0Q0UsZ2lmdE5hbWVEICAiUXVlc3Rpb24gbmFtZQorc3luIG1hdGNoIGdpZnROYW1lRCAgICAgICI6OiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiQXNzb2NpYXRlZCBkZWxpbWl0ZXIKKworIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgQ2F0ZWdvcnkKKworc3luIG1hdGNoIGdpZnRDYXRlZ29yeUIgICJeXHMqXCRDQVRFR09SWTouKlxuXCsiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRhaW5zPWdpZnRDYXRlZ29yeSAgICAgICAiQ2F0ZWdvcnkgYmxvY2sKK3N5biBtYXRjaCBnaWZ0Q2F0ZWdvcnkgICAiXlxzKlwkQ0FURUdPUlk6XHpzLipcemVcbiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkNhdGVnb3J5CisKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgQ29tbWVudHMgKG1heSBuZWVkIHRvIGJlIHRoZSBsYXN0IGVudGl0eSkKKworc3luIGtleXdvcmQgZ2lmdFRvZG8gICAgIEZJWE1FIFRPRE8gTk9URSBGSVggWFhYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZWQKKworc3luIG1hdGNoICAgZ2lmdElkQiAgICAgICAgICJcW2lkOlwoXFxdXHxbXl1bOmNudHJsOl1dXClcK10iICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluZWQgIGNvbnRhaW5zPWdpZnRJZCAgICAgICAgICAgICAiSWQgYmxvY2sKK3N5biBtYXRjaCAgIGdpZnRJZCAgICAgICAiXFtpZDpcenNcKFxcXVx8W15dWzpjbnRybDpdXVwpXCtcemVdIiAgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIklkCisKK3N5biBtYXRjaCAgIGdpZnRUYWdCICAgICAgICAiXFt0YWc6XChcXF1cfFteXTw+YFs6Y250cmw6XV1cKVwrXSIgICAgICAgICAgICAgICAgICAgICAgY29udGFpbmVkICBjb250YWlucz1naWZ0VGFnICAgICAgICAgICAgIlRhZyBibG9jaworc3luIG1hdGNoICAgZ2lmdFRhZyAgICAgICJcW3RhZzpcenNcKFxcXVx8W15dPD5gWzpjbnRybDpdXVwpXCtcemVdIiAgICAgICAgICAgICAgICAgICBjb250YWluZWQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiVGFnCisKK3N5biBtYXRjaCAgIGdpZnRDb21tZW50ICAiXlxzKi8vLioiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWlucz1naWZ0VG9kbyxnaWZ0SWRCLGdpZnRUYWdCCisKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBDbHVzdGVycworCisiQ29tbWVudHMgYW5kIGVudGl0aWVzICh0byBiZSBlc2NhcGVkKQorc3luIGNsdXN0ZXIgZ2lmdENFICAgIGNvbnRhaW5zPWdpZnRDb21tZW50LGdpZnRTLGdpZnRFUyxnaWZ0RU4sZ2lmdEgsZ2lmdEVICisKKyJUaGUgYWJvdmUgcGx1cyBmb3JtYXQKK3N5biBjbHVzdGVyIGdpZnRDRUYgICBjb250YWlucz1AZ2lmdENFLGdpZnRGb3JtYXQKKworIlRoZSBhYm92ZSBwbHVzIGZlZWRiYWNrIGJsb2NrCitzeW4gY2x1c3RlciBnaWZ0Q0VGRiAgY29udGFpbnM9QGdpZnRDRUYsZ2lmdEZCCisKKyJUaGUgYWJvdmUgcGx1cyB3ZWlnaHQgYmxvY2sKK3N5biBjbHVzdGVyIGdpZnRDRUZGVyBjb250YWlucz1AZ2lmdENFRkYsZ2lmdFdlaWdodEIKKworIlBvc3NpYmxlIG51bWVyaWNhbCByZXByZXNlbnRhdGlvbnMKK3N5biBjbHVzdGVyIGdpZnROdW1zICBjb250YWlucz1naWZ0TnVtMSxnaWZ0TnVtMixnaWZ0TnVtMworCisiUG9zc2libGUgY29udGVudHMgb2YgYW5zd2Vycworc3luIGNsdXN0ZXIgZ2lmdEEgICAgIGNvbnRhaW5zPWdpZnRDb21tZW50LGdpZnRURixnaWZ0V3JvbmcsZ2lmdFJpZ2h0LGdpZnRNYXRjaEIsZ2lmdEZCLGdpZnRHRkIKKworIlBvc3NpYmxlIGNvbnRlbnRzIG9mIG51bWVyaWNhbCBhbnN3ZXJzCitzeW4gY2x1c3RlciBnaWZ0QU51bSAgY29udGFpbnM9Z2lmdEFuc3dlck51bUQsZ2lmdENvbW1lbnQsQGdpZnROdW1zLGdpZnRXcm9uZ051bSxnaWZ0UmlnaHROdW0sZ2lmdEZCLGdpZnRHRkIKKworIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImdpZnQiCisKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitoaSBDb25jZWFsICAgY3Rlcm1iZz1OT05FIGN0ZXJtZmc9Qmx1ZSAgICAgICBndWliZz1OT05FIGd1aWZnPUJsdWUKK2hpIEZlZWRiYWNrICBjdGVybWJnPU5PTkUgY3Rlcm1mZz1EYXJrQ3lhbiAgIGd1aWJnPU5PTkUgZ3VpZmc9RGFya0N5YW4KK2hpIEdGZWVkYmFjayBjdGVybWJnPU5PTkUgY3Rlcm1mZz1EYXJrR3JlZW4gIGd1aWJnPU5PTkUgZ3VpZmc9RGFya0dyZWVuCitoaSBXZWlnaHRCICAgY3Rlcm1iZz1OT05FIGN0ZXJtZmc9RGFya1llbGxvdyBndWliZz1OT05FIGd1aWZnPURhcmtZZWxsb3cKKworIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2hpIGRlZiBsaW5rIGdpZnRTICAgICAgICAgIEVycm9yCitoaSBkZWYgbGluayBnaWZ0RVMgICAgICAgICBDb25jZWFsCitoaSBkZWYgbGluayBnaWZ0RU4gICAgICAgICBDb25jZWFsCitoaSBkZWYgbGluayBnaWZ0Rm9ybWF0ICAgICBMaW5lTnIKKworaGkgZGVmIGxpbmsgZ2lmdEggICAgICAgICAgRXJyb3IKK2hpIGRlZiBsaW5rIGdpZnRFSCAgICAgICAgIENvbmNlYWwKKworaGkgZGVmIGxpbmsgZ2lmdEZCICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgZ2lmdEYgICAgICAgICAgRmVlZGJhY2sKK2hpIGRlZiBsaW5rIGdpZnRHRkIgICAgICAgIFRpdGxlCitoaSBkZWYgbGluayBnaWZ0R0YgICAgICAgICBHRmVlZGJhY2sKKworaGkgZGVmIGxpbmsgZ2lmdFRGICAgICAgICAgUXVlc3Rpb24KK2hpIGRlZiBsaW5rIGdpZnROdW0xICAgICAgIFF1ZXN0aW9uCitoaSBkZWYgbGluayBnaWZ0TnVtMiAgICAgICBRdWVzdGlvbgoraGkgZGVmIGxpbmsgZ2lmdE51bTJEICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgZ2lmdE51bTMgICAgICAgUXVlc3Rpb24KK2hpIGRlZiBsaW5rIGdpZnROdW0zRCAgICAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIGdpZnRXZWlnaHRCICAgIFdlaWdodEIKK2hpIGRlZiBsaW5rIGdpZnRXZWlnaHQgICAgIElkZW50aWZpZXIKKworaGkgZGVmIGxpbmsgZ2lmdFdyb25nTnVtICAgQ29uc3RhbnQKK2hpIGRlZiBsaW5rIGdpZnRSaWdodE51bSAgIFF1ZXN0aW9uCitoaSBkZWYgbGluayBnaWZ0V3JvbmcgICAgICBDb25zdGFudAoraGkgZGVmIGxpbmsgZ2lmdFJpZ2h0ICAgICAgUXVlc3Rpb24KK2hpIGRlZiBsaW5rIGdpZnRNYXRjaEIgICAgIE1vZGVNc2cKK2hpIGRlZiBsaW5rIGdpZnRNYXRjaCAgICAgIENvbnN0YW50CisKK2hpIGRlZiBsaW5rIGdpZnRBbnN3ZXIgICAgIE1vcmVNc2cKK2hpIGRlZiBsaW5rIGdpZnRBbnN3ZXJOdW0gIE1vcmVNc2cKK2hpIGRlZiBsaW5rIGdpZnRBbnN3ZXJOdW1EIElkZW50aWZpZXIKKworaGkgZGVmIGxpbmsgZ2lmdFF1ZXN0aW9uICAgSWRlbnRpZmllcgorCitoaSBkZWYgbGluayBnaWZ0TmFtZSAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBnaWZ0TmFtZUQgICAgICBEaXJlY3RvcnkKKworaGkgZGVmIGxpbmsgZ2lmdENhdGVnb3J5QiAgTGluZU5yCitoaSBkZWYgbGluayBnaWZ0Q2F0ZWdvcnkgICBEaXJlY3RvcnkKKworaGkgZGVmIGxpbmsgZ2lmdFRvZG8gICAgICAgVG9kbworaGkgZGVmIGxpbmsgZ2lmdElkQiAgICAgICAgTGluZU5yCitoaSBkZWYgbGluayBnaWZ0SWQgICAgICAgICBUaXRsZQoraGkgZGVmIGxpbmsgZ2lmdFRhZ0IgICAgICAgTGluZU5yCitoaSBkZWYgbGluayBnaWZ0VGFnICAgICAgICBDb25zdGFudAoraGkgZGVmIGxpbmsgZ2lmdENvbW1lbnQgICAgQ29tbWVudApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvb2NhbWwudmltIGIvcnVudGltZS9zeW50YXgvb2NhbWwudmltCmluZGV4IDQyOTEzZjIuLmFmM2VmZDMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L29jYW1sLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9vY2FtbC52aW0KQEAgLTQsNyArNCw3IEBACiAiIE1haW50YWluZXJzOiAgTWFya3VzIE1vdHRsICAgICAgPG1hcmt1cy5tb3R0bEBnbWFpbC5jb20+CiAiICAgICAgICAgICAgICAgS2FybC1IZWlueiBTeWxsYSAgPEthcmwtSGVpbnouU3lsbGFAZ21kLmRlPgogIiAgICAgICAgICAgICAgIElzc2FjIFRyb3R0cyAgICAgIDxpanRyb3R0c0B1Y2RhdmlzLmVkdT4KLSIgVVJMOiAgICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vcmdyaW5iZXJnL3ZpbS1vY2FtbAorIiBVUkw6ICAgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9vY2FtbC92aW0tb2NhbWwKICIgTGFzdCBDaGFuZ2U6CiAiICAgICAgICAgICAgICAgMjAxOCBOb3YgMDggLSBJbXByb3ZlZCBoaWdobGlnaHRpbmcgb2Ygb3BlcmF0b3JzIChNYcOrbGFuKQogIiAgICAgICAgICAgICAgIDIwMTggQXByIDIyIC0gSW1wcm92ZWQgc3VwcG9ydCBmb3IgUFBYIChBbmRyZXkgUG9wcCkKQEAgLTE4LDE0ICsxOCwyMCBAQAogIiBjYW4gYmUgZGlzdGluZ3Vpc2hlZCBmcm9tIGJlZ2luL2VuZCwgd2hpY2ggaXMgdXNlZCBmb3IgaW5kZW50YXRpb24sCiAiIGFuZCBmb2xkaW5nLiAoRGF2aWQgQmFlbGRlKQogCi0iIHF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAorIiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpICYmIGI6Y3VycmVudF9zeW50YXggPT0gIm9jYW1sIgogICBmaW5pc2gKIGVuZGlmCiAKK2xldCBzOmtlZXBjcG8gPSAmY3BvCitzZXQgY3BvJnZpbQorCiAiICcgY2FuIGJlIHVzZWQgaW4gT0NhbWwgaWRlbnRpZmllcnMKIHNldGxvY2FsIGlza2V5d29yZCs9JwogCisiIGAgaXMgcGFydCBvZiB0aGUgbmFtZSBvZiBwb2x5bW9ycGhpYyB2YXJpYW50cworc2V0bG9jYWwgaXNrZXl3b3JkKz1gCisKICIgT0NhbWwgaXMgY2FzZSBzZW5zaXRpdmUuCiBzeW4gY2FzZSBtYXRjaAogCkBAIC0xMjMsNyArMTI5LDcgQEAKIHN5biByZWdpb24gICBvY2FtbE1vZFNwZWMgbWF0Y2hncm91cD1vY2FtbEtleXdvcmQgc3RhcnQ9Ilw8bW9kdWxlXD4iIG1hdGNoZ3JvdXA9b2NhbWxNb2R1bGUgZW5kPSJcPFx1XChcd1x8J1wpKlw+IiBjb250YWluZWQgY29udGFpbnM9QG9jYW1sQWxsRXJycyxvY2FtbENvbW1lbnQgc2tpcHdoaXRlIHNraXBlbXB0eSBuZXh0Z3JvdXA9b2NhbWxNb2RUUldpdGgsb2NhbWxNUFJlc3RyCiAKICIgIm9wZW4iCi1zeW4gcmVnaW9uICAgb2NhbWxOb25lIG1hdGNoZ3JvdXA9b2NhbWxLZXl3b3JkIHN0YXJ0PSJcPG9wZW5cPiIgbWF0Y2hncm91cD1vY2FtbE1vZHVsZSBlbmQ9Ilw8XHVcKFx3XHwnXCkqXCggKlwuICpcdVwoXHdcfCdcKSpcKSpcPiIgY29udGFpbnM9QG9jYW1sQWxsRXJycyxvY2FtbENvbW1lbnQKK3N5biBtYXRjaCAgIG9jYW1sS2V5d29yZCAiXDxvcGVuXD4iIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPW9jYW1sRnVsbE1vZAogCiAiICJpbmNsdWRlIgogc3luIG1hdGNoICAgIG9jYW1sS2V5d29yZCAiXDxpbmNsdWRlXD4iIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPW9jYW1sTW9kUGFyYW0sb2NhbWxGdWxsTW9kCkBAIC0yMjUsNyArMjMxLDE4IEBACiBzeW4gbWF0Y2ggICAgb2NhbWxBbmdsZSAgICAgICAgIjwiCiBzeW4gbWF0Y2ggICAgb2NhbWxBbmdsZSAgICAgICAgIj4iCiAiIEN1c3RvbSBpbmRleGluZyBvcGVyYXRvcnM6Ci1zeW4gbWF0Y2ggICAgb2NhbWxJbmRleGluZ09wICAgIlwuW34/ITp8JiQlPT5AXi8qKy1dW34/IS46fCYkJTw9PkBeKi8rLV0qXCgoKVx8XFtdXHx7fVwpXCg8LVwpXD8iCitzeW4gcmVnaW9uICAgb2NhbWxJbmRleGluZyBtYXRjaGdyb3VwPW9jYW1sSW5kZXhpbmdPcAorICBcIHN0YXJ0PSJcLlt+PyE6fCYkJT0+QF4vKistXVt+PyEuOnwmJCU8PT5AXiovKy1dKlxfcyooIgorICBcIGVuZD0iKVwoXF9zKjwtXClcPyIKKyAgXCBjb250YWlucz1BTExCVVQsQG9jYW1sQ29udGFpbmVkLG9jYW1sUGFyZW5FcnIKK3N5biByZWdpb24gICBvY2FtbEluZGV4aW5nIG1hdGNoZ3JvdXA9b2NhbWxJbmRleGluZ09wCisgIFwgc3RhcnQ9IlwuW34/ITp8JiQlPT5AXi8qKy1dW34/IS46fCYkJTw9PkBeKi8rLV0qXF9zKlxbIgorICBcIGVuZD0iXVwoXF9zKjwtXClcPyIKKyAgXCBjb250YWlucz1BTExCVVQsQG9jYW1sQ29udGFpbmVkLG9jYW1sQnJhY2tFcnIKK3N5biByZWdpb24gICBvY2FtbEluZGV4aW5nIG1hdGNoZ3JvdXA9b2NhbWxJbmRleGluZ09wCisgIFwgc3RhcnQ9IlwuW34/ITp8JiQlPT5AXi8qKy1dW34/IS46fCYkJTw9PkBeKi8rLV0qXF9zKnsiCisgIFwgZW5kPSJ9XChcX3MqPC1cKVw/IgorICBcIGNvbnRhaW5zPUFMTEJVVCxAb2NhbWxDb250YWluZWQsb2NhbWxCcmFjZUVycgogIiBFeHRlbnNpb24gb3BlcmF0b3JzIChoYXMgdG8gYmUgZGVjbGFyZWQgYmVmb3JlIHJlZ3VsYXIgaW5maXggb3BlcmF0b3JzKToKIHN5biBtYXRjaCAgICBvY2FtbEV4dGVuc2lvbk9wICAgICAgICAgICIjWyN+PyEuOnwmJCU8PT5AXiovKy1dXCsiCiAiIEluZml4IGFuZCBwcmVmaXggb3BlcmF0b3JzOgpAQCAtMjgzLDcgKzMwMCw2IEBACiBzeW4gc3luYyBtYXRjaCBvY2FtbFNpZ1N5bmMgICAgIGdyb3VwdGhlcmUgb2NhbWxTaWcgICAgICJcPGVuZFw+IgogCiAiIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIE9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CiAKIGhpIGRlZiBsaW5rIG9jYW1sQnJhY2VFcnIJICAgRXJyb3IKIGhpIGRlZiBsaW5rIG9jYW1sQnJhY2tFcnIJICAgRXJyb3IKQEAgLTMwOCwxNCArMzI0LDE3IEBACiBoaSBkZWYgbGluayBvY2FtbE9iamVjdAkgICBJbmNsdWRlCiBoaSBkZWYgbGluayBvY2FtbE1vZHVsZQkgICBJbmNsdWRlCiBoaSBkZWYgbGluayBvY2FtbE1vZFBhcmFtMSAgICBJbmNsdWRlCitoaSBkZWYgbGluayBvY2FtbEdlbk1vZCAgICAgICBJbmNsdWRlCiBoaSBkZWYgbGluayBvY2FtbE1vZFR5cGUJICAgSW5jbHVkZQogaGkgZGVmIGxpbmsgb2NhbWxNUFJlc3RyMwkgICBJbmNsdWRlCiBoaSBkZWYgbGluayBvY2FtbEZ1bGxNb2QJICAgSW5jbHVkZQoraGkgZGVmIGxpbmsgb2NhbWxGdW5jV2l0aAkgICBJbmNsdWRlCitoaSBkZWYgbGluayBvY2FtbE1vZFBhcmFtICAgICBJbmNsdWRlCiBoaSBkZWYgbGluayBvY2FtbE1vZFR5cGVSZXN0ciBJbmNsdWRlCiBoaSBkZWYgbGluayBvY2FtbFdpdGgJICAgSW5jbHVkZQogaGkgZGVmIGxpbmsgb2NhbWxNVERlZgkgICBJbmNsdWRlCi1oaSBkZWYgbGluayBvY2FtbFNpZ0VuY2wgICAgb2NhbWxNb2R1bGUKLWhpIGRlZiBsaW5rIG9jYW1sU3RydWN0RW5jbCBvY2FtbE1vZHVsZQoraGkgZGVmIGxpbmsgb2NhbWxTaWdFbmNsCSAgIG9jYW1sTW9kdWxlCitoaSBkZWYgbGluayBvY2FtbFN0cnVjdEVuY2wJICAgb2NhbWxNb2R1bGUKIAogaGkgZGVmIGxpbmsgb2NhbWxTY3JpcHQJICAgSW5jbHVkZQogCkBAIC0zMjYsMjQgKzM0NSwyNSBAQAogaGkgZGVmIGxpbmsgb2NhbWxNUFJlc3RyMgkgICBLZXl3b3JkCiBoaSBkZWYgbGluayBvY2FtbEtleXdvcmQJICAgS2V5d29yZAogaGkgZGVmIGxpbmsgb2NhbWxNZXRob2QJICAgSW5jbHVkZQoraGkgZGVmIGxpbmsgb2NhbWxBcnJvdwkgICBLZXl3b3JkCiBoaSBkZWYgbGluayBvY2FtbEtleUNoYXIJICAgS2V5d29yZAogaGkgZGVmIGxpbmsgb2NhbWxBbnlWYXIJICAgS2V5d29yZAogaGkgZGVmIGxpbmsgb2NhbWxUb3BTdG9wCSAgIEtleXdvcmQKIAotaGkgZGVmIGxpbmsgb2NhbWxSZWZBc3NpZ24gIG9jYW1sS2V5Q2hhcgotaGkgZGVmIGxpbmsgb2NhbWxFcXVhbAkgICAgb2NhbWxLZXlDaGFyCi1oaSBkZWYgbGluayBvY2FtbFN0YXIJICAgIG9jYW1sSW5maXhPcAotaGkgZGVmIGxpbmsgb2NhbWxBbmdsZQkgICAgb2NhbWxJbmZpeE9wCi1oaSBkZWYgbGluayBvY2FtbENvbnMJICAgIG9jYW1sSW5maXhPcAoraGkgZGVmIGxpbmsgb2NhbWxSZWZBc3NpZ24gICAgb2NhbWxLZXlDaGFyCitoaSBkZWYgbGluayBvY2FtbEVxdWFsICAgICAgICBvY2FtbEtleUNoYXIKK2hpIGRlZiBsaW5rIG9jYW1sU3RhciAgICAgICAgIG9jYW1sSW5maXhPcAoraGkgZGVmIGxpbmsgb2NhbWxBbmdsZSAgICAgICAgb2NhbWxJbmZpeE9wCitoaSBkZWYgbGluayBvY2FtbENvbnMgICAgICAgICBvY2FtbEluZml4T3AKIAotaGkgZGVmIGxpbmsgb2NhbWxQcmVmaXhPcAlvY2FtbE9wZXJhdG9yCi1oaSBkZWYgbGluayBvY2FtbEluZml4T3AJb2NhbWxPcGVyYXRvcgotaGkgZGVmIGxpbmsgb2NhbWxFeHRlbnNpb25PcAlvY2FtbE9wZXJhdG9yCi1oaSBkZWYgbGluayBvY2FtbEluZGV4aW5nT3AJb2NhbWxPcGVyYXRvcgoraGkgZGVmIGxpbmsgb2NhbWxQcmVmaXhPcCAgICAgICBvY2FtbE9wZXJhdG9yCitoaSBkZWYgbGluayBvY2FtbEluZml4T3AgICAgICAgIG9jYW1sT3BlcmF0b3IKK2hpIGRlZiBsaW5rIG9jYW1sRXh0ZW5zaW9uT3AgICAgb2NhbWxPcGVyYXRvcgoraGkgZGVmIGxpbmsgb2NhbWxJbmRleGluZ09wICAgICBvY2FtbE9wZXJhdG9yCiAKIGlmIGV4aXN0cygib2NhbWxfaGlnaGxpZ2h0X29wZXJhdG9ycyIpCiAgICAgaGkgZGVmIGxpbmsgb2NhbWxJbmZpeE9wS2V5d29yZCBvY2FtbE9wZXJhdG9yCi0gICAgaGkgZGVmIGxpbmsgb2NhbWxPcGVyYXRvcgkgICAgT3BlcmF0b3IKKyAgICBoaSBkZWYgbGluayBvY2FtbE9wZXJhdG9yICAgICAgIE9wZXJhdG9yCiBlbHNlCiAgICAgaGkgZGVmIGxpbmsgb2NhbWxJbmZpeE9wS2V5d29yZCBLZXl3b3JkCiBlbmRpZgpAQCAtMzUzLDcgKzM3Myw3IEBACiBoaSBkZWYgbGluayBvY2FtbE51bWJlcgkgICBOdW1iZXIKIGhpIGRlZiBsaW5rIG9jYW1sRmxvYXQJICAgRmxvYXQKIGhpIGRlZiBsaW5rIG9jYW1sU3RyaW5nCSAgIFN0cmluZwotaGkgZGVmIGxpbmsgb2NhbWxRdW90ZWRTdHJpbmdEZWxpbSAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgb2NhbWxRdW90ZWRTdHJpbmdEZWxpbSBJZGVudGlmaWVyCiAKIGhpIGRlZiBsaW5rIG9jYW1sTGFiZWwJICAgSWRlbnRpZmllcgogCkBAIC0zNjMsOCArMzgzLDExIEBACiAKIGhpIGRlZiBsaW5rIG9jYW1sRW5jbAkgICBLZXl3b3JkCiAKLWhpIGRlZiBsaW5rIG9jYW1sUHB4RW5jbCAgICBvY2FtbEVuY2wKK2hpIGRlZiBsaW5rIG9jYW1sUHB4RW5jbCAgICAgICBvY2FtbEVuY2wKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAib2NhbWwiCiAKK2xldCAmY3BvID0gczprZWVwY3BvCit1bmxldCBzOmtlZXBjcG8KKwogIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L29wYW0udmltIGIvcnVudGltZS9zeW50YXgvb3BhbS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFjMWQ0MQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L29wYW0udmltCkBAIC0wLDAgKzEsMzggQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICBPUEFNIC0gT0NhbWwgcGFja2FnZSBtYW5hZ2VyCisiIE1haW50YWluZXI6ICBNYXJrdXMgTW90dGwgICAgICAgIDxtYXJrdXMubW90dGxAZ21haWwuY29tPgorIiBVUkw6ICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL29jYW1sL3ZpbS1vY2FtbAorIiBMYXN0IENoYW5nZToKKyIgICAgICAgICAgICAgIDIwMjAgRGVjIDMxIC0gQWRkZWQgaGVhZGVyIChNYXJrdXMgTW90dGwpCisKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBuZWVkICV7dmFyc30lCisiIGVudjogW1tDQU1MX0xEX0xJQlJBUllfUEFUSCA9ICIle2xpYn0lL3N0dWJsaWJzIl1dCitzeW4ga2V5d29yZCBvcGFtS2V5d29yZDEgcmVtb3ZlIGRlcGVuZHMgcGluLWRlcGVuZHMgZGVwb3B0cyBjb25mbGljdHMgZW52IHBhY2thZ2VzIHBhdGNoZXMgdmVyc2lvbiBtYWludGFpbmVyIHRhZ3MgbGljZW5zZSBob21lcGFnZSBhdXRob3JzIGRvYyBpbnN0YWxsIGF1dGhvciBhdmFpbGFibGUgbmFtZSBkZXBleHRzIHN1YnN0cyBzeW5vcHNpcyBkZXNjcmlwdGlvbgorc3luIG1hdGNoIG9wYW1LZXl3b3JkMiAiXHYoYnVnLXJlcG9ydHN8cG9zdC1tZXNzYWdlc3xvY2FtbC12ZXJzaW9ufG9wYW0tdmVyc2lvbnxkZXYtcmVwb3xidWlsZC10ZXN0fGJ1aWxkLWRvY3xidWlsZCkiCisKK3N5biBrZXl3b3JkIG9wYW1Ub2RvIEZJWE1FIE5PVEUgTk9URVMgVE9ETyBYWFggY29udGFpbmVkCitzeW4gbWF0Y2ggb3BhbUNvbW1lbnQgIiMuKiQiIGNvbnRhaW5zPW9wYW1Ub2RvLEBTcGVsbAorc3luIG1hdGNoIG9wYW1PcGVyYXRvciAiPlx8PFx8PVx8PD1cfD49IgorCitzeW4gcmVnaW9uIG9wYW1JbnRlcnBvbGF0ZSBzdGFydD0vJXsvIGVuZD0vfSUvIGNvbnRhaW5lZAorc3luIHJlZ2lvbiBvcGFtU3RyaW5nIHN0YXJ0PS8iLyBlbmQ9LyIvIGNvbnRhaW5zPW9wYW1JbnRlcnBvbGF0ZQorc3luIHJlZ2lvbiBvcGFtU2VxIHN0YXJ0PS9cWy8gZW5kPS9cXS8gY29udGFpbnM9QUxMQlVULG9wYW1LZXl3b3JkMSxvcGFtS2V5d29yZDIKK3N5biByZWdpb24gb3BhbUV4cCBzdGFydD0vey8gZW5kPS99LyBjb250YWlucz1BTExCVVQsb3BhbUtleXdvcmQxLG9wYW1LZXl3b3JkMgorCitoaSBsaW5rIG9wYW1LZXl3b3JkMSBLZXl3b3JkCitoaSBsaW5rIG9wYW1LZXl3b3JkMiBLZXl3b3JkCisKK2hpIGxpbmsgb3BhbVN0cmluZyBTdHJpbmcKK2hpIGxpbmsgb3BhbUV4cCBGdW5jdGlvbgoraGkgbGluayBvcGFtU2VxIFN0YXRlbWVudAoraGkgbGluayBvcGFtT3BlcmF0b3IgT3BlcmF0b3IKK2hpIGxpbmsgb3BhbUNvbW1lbnQgQ29tbWVudAoraGkgbGluayBvcGFtSW50ZXJwb2xhdGUgSWRlbnRpZmllcgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJvcGFtIgorCisiIHZpbTogdHM9MiBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zZXhwbGliLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NleHBsaWIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1ZGQzZmIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9zZXhwbGliLnZpbQpAQCAtMCwwICsxLDg4IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgIFMtZXhwcmVzc2lvbnMgYXMgdXNlZCBpbiBTZXhwbGliCisiIEZpbGVuYW1lczogICAgKi5zZXhwCisiIE1haW50YWluZXJzOiAgTWFya3VzIE1vdHRsICAgICAgPG1hcmt1cy5tb3R0bEBnbWFpbC5jb20+CisiIFVSTDogICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL29jYW1sL3ZpbS1vY2FtbAorIiBMYXN0IENoYW5nZTogIDIwMjAgRGVjIDMxIC0gVXBkYXRlZCBoZWFkZXIgZm9yIFZpbSBjb250cmlidXRpb24gKE1NKQorIiAgICAgICAgICAgICAgIDIwMTcgQXByIDExIC0gSW1wcm92ZWQgbWF0Y2hpbmcgb2YgbmVnYXRpdmUgbnVtYmVycyAoTU0pCisiICAgICAgICAgICAgICAgMjAxMiBKdW4gMjAgLSBGaXhlZCBhIGJsb2NrIGNvbW1lbnQgaGlnaGxpZ2h0aW5nIGJ1ZyAoTU0pCisKKyIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCitpZiB2ZXJzaW9uIDwgNjAwCisgIHN5bnRheCBjbGVhcgorZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpICYmIGI6Y3VycmVudF9zeW50YXggPT0gInNleHBsaWIiCisgIGZpbmlzaAorZW5kaWYKKworIiBTZXhwbGliIGlzIGNhc2Ugc2Vuc2l0aXZlLgorc3luIGNhc2UgbWF0Y2gKKworIiBDb21tZW50cworc3luIGtleXdvcmQgIHNleHBsaWJUb2RvIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCitzeW4gcmVnaW9uICAgc2V4cGxpYkJsb2NrQ29tbWVudCBtYXRjaGdyb3VwPXNleHBsaWJDb21tZW50IHN0YXJ0PSIjfCIgbWF0Y2hncm91cD1zZXhwbGliQ29tbWVudCBlbmQ9InwjIiBjb250YWlucz1BTExCVVQsc2V4cGxpYlF1b3RlZEF0b20sc2V4cGxpYlVucXVvdGVkQXRvbSxzZXhwbGliRW5jbCxzZXhwbGliQ29tbWVudAorc3luIG1hdGNoICAgIHNleHBsaWJTZXhwQ29tbWVudCAiIzsiIHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPXNleHBsaWJRdW90ZWRBdG9tQ29tbWVudCxzZXhwbGliVW5xdW90ZWRBdG9tQ29tbWVudCxzZXhwbGliTGlzdENvbW1lbnQsc2V4cGxpYkNvbW1lbnQKK3N5biByZWdpb24gICBzZXhwbGliUXVvdGVkQXRvbUNvbW1lbnQgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWluZWQKK3N5biBtYXRjaCAgICBzZXhwbGliVW5xdW90ZWRBdG9tQ29tbWVudCAvXChbXjsoKSIgXHQjfF1cfCNbXjsoKSIgXHR8XVx8fFteOygpIiBcdCNdXClbXjsoKSIgXHRdKi8gY29udGFpbmVkCitzeW4gcmVnaW9uICAgc2V4cGxpYkxpc3RDb21tZW50IG1hdGNoZ3JvdXA9c2V4cGxpYkNvbW1lbnQgc3RhcnQ9IigiIG1hdGNoZ3JvdXA9c2V4cGxpYkNvbW1lbnQgZW5kPSIpIiBjb250YWluZWQgY29udGFpbnM9QUxMQlVULHNleHBsaWJFbmNsLHNleHBsaWJTdHJpbmcsc2V4cGxpYlF1b3RlZEF0b20sc2V4cGxpYlVucXVvdGVkQXRvbSxzZXhwbGliVG9kbyxzZXhwbGliTnVtYmVyLHNleHBsaWJGbG9hdAorc3luIG1hdGNoICAgIHNleHBsaWJDb21tZW50ICI7LioiIGNvbnRhaW5zPXNleHBsaWJUb2RvCisKKyIgQXRvbXMKK3N5biBtYXRjaCAgICBzZXhwbGliVW5xdW90ZWRBdG9tIC9cKFteOygpIiBcdCN8XVx8I1teOygpIiBcdHxdXHx8W147KCkiIFx0I11cKVteOygpIiBcdF0qLworc3luIHJlZ2lvbiAgIHNleHBsaWJRdW90ZWRBdG9tICAgIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKK3N5biBtYXRjaCAgICBzZXhwbGliTnVtYmVyICAgICAgICAiLVw9XDxcZFwoX1x8XGRcKSpbbHxMfG5dXD9cPiIKK3N5biBtYXRjaCAgICBzZXhwbGliTnVtYmVyICAgICAgICAiLVw9XDwwW3h8WF1cKFx4XHxfXClcK1tsfEx8bl1cP1w+Igorc3luIG1hdGNoICAgIHNleHBsaWJOdW1iZXIgICAgICAgICItXD1cPDBbb3xPXVwoXG9cfF9cKVwrW2x8THxuXVw/XD4iCitzeW4gbWF0Y2ggICAgc2V4cGxpYk51bWJlciAgICAgICAgIi1cPVw8MFtifEJdXChbMDFdXHxfXClcK1tsfEx8bl1cP1w+Igorc3luIG1hdGNoICAgIHNleHBsaWJGbG9hdCAgICAgICAgICItXD1cPFxkXChfXHxcZFwpKlwuXD9cKF9cfFxkXCkqXChbZUVdWy0rXVw9XGRcKF9cfFxkXCkqXClcPVw+IgorCisiIExpc3RzCitzeW4gcmVnaW9uICAgc2V4cGxpYkVuY2wgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zZXhwbGliRW5jbCBzdGFydD0iKCIgbWF0Y2hncm91cD1zZXhwbGliRW5jbCBlbmQ9IikiIGNvbnRhaW5zPUFMTEJVVCxzZXhwbGliUGFyZW5FcnIKKworIiBFcnJvcnMKK3N5biBtYXRjaCAgICBzZXhwbGliVW5xdW90ZWRBdG9tRXJyIC9cKFteOygpIiBcdCN8XVx8I1teOygpIiBcdHxdXHx8W147KCkiIFx0I11cKVteOygpIiBcdF0qXCgjfFx8fCNcKVteOygpIiBcdF0qLworc3luIG1hdGNoICAgIHNleHBsaWJQYXJlbkVyciAiKSIKKworIiBTeW5jaHJvbml6YXRpb24KK3N5biBzeW5jIG1pbmxpbmVzPTUwCitzeW4gc3luYyBtYXhsaW5lcz01MDAKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc2V4cGxpYl9zeW50YXhfaW5pdHMiKQorICBpZiB2ZXJzaW9uIDwgNTA4CisgICAgbGV0IGRpZF9zZXhwbGliX3N5bnRheF9pbml0cyA9IDEKKyAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgorICBlbHNlCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgIGVuZGlmCisKKyAgSGlMaW5rIHNleHBsaWJQYXJlbkVyciAgICAgICAgICAgIEVycm9yCisgIEhpTGluayBzZXhwbGliVW5xdW90ZWRBdG9tRXJyICAgICBFcnJvcgorCisgIEhpTGluayBzZXhwbGliQ29tbWVudCAgICAgICAgICAgICBDb21tZW50CisgIEhpTGluayBzZXhwbGliU2V4cENvbW1lbnQgICAgICAgICBDb21tZW50CisgIEhpTGluayBzZXhwbGliUXVvdGVkQXRvbUNvbW1lbnQgICBJbmNsdWRlCisgIEhpTGluayBzZXhwbGliVW5xdW90ZWRBdG9tQ29tbWVudCBDb21tZW50CisgIEhpTGluayBzZXhwbGliQmxvY2tDb21tZW50ICAgICAgICBDb21tZW50CisgIEhpTGluayBzZXhwbGliTGlzdENvbW1lbnQgICAgICAgICBDb21tZW50CisKKyAgSGlMaW5rIHNleHBsaWJCb29sZWFuICAgICAgICAgICAgIEJvb2xlYW4KKyAgSGlMaW5rIHNleHBsaWJDaGFyYWN0ZXIgICAgICAgICAgIENoYXJhY3RlcgorICBIaUxpbmsgc2V4cGxpYk51bWJlciAgICAgICAgICAgICAgTnVtYmVyCisgIEhpTGluayBzZXhwbGliRmxvYXQgICAgICAgICAgICAgICBGbG9hdAorICBIaUxpbmsgc2V4cGxpYlVucXVvdGVkQXRvbSAgICAgICAgSWRlbnRpZmllcgorICBIaUxpbmsgc2V4cGxpYkVuY2wgICAgICAgICAgICAgICAgSWRlbnRpZmllcgorICBIaUxpbmsgc2V4cGxpYlF1b3RlZEF0b20gICAgICAgICAgS2V5d29yZAorCisgIEhpTGluayBzZXhwbGliVG9kbyAgICAgICAgICAgICAgICBUb2RvCisKKyAgSGlMaW5rIHNleHBsaWJFbmNsICAgICAgICAgICAgICAgIEtleXdvcmQKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic2V4cGxpYiIKKworIiB2aW06IHRzPTgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NtbC52aW0gYi9ydW50aW1lL3N5bnRheC9zbWwudmltCmluZGV4IGZhNDUyNGYuLmFmZmY1MzAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3NtbC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc21sLnZpbQpAQCAtMywxMyArMywxNiBAQAogIiBGaWxlbmFtZXM6ICAgICouc21sICouc2lnCiAiIE1haW50YWluZXJzOiAgTWFya3VzIE1vdHRsICAgICAgICAgICAgPG1hcmt1cy5tb3R0bEBnbWFpbC5jb20+CiAiICAgICAgICAgICAgICAgRmFicml6aW8gWmVubyBDb3JuZWxsaSAgPHplbm9AZmlsaWJ1c3RhLmNyZW1hLnVuaW1pLml0PgotIiBVUkw6ICAgICAgICAgIGh0dHA6Ly93d3cub2NhbWwuaW5mby92aW0vc3ludGF4L3NtbC52aW0KLSIgTGFzdCBDaGFuZ2U6ICAyMDA2IE9jdCAyMyAtIEZpeGVkIGNoYXJhY3RlciBoaWdobGlnaHRpbmcgYnVnIChNTSkKLSIgICAgICAgICAgICAgICAyMDAyIEp1biAwMiAtIEZpeGVkIHNtYWxsIHR5cG8gIChNTSkKLSIgICAgICAgICAgICAgICAyMDAxIE5vdiAyMCAtIEZpeGVkIHNtYWxsIGhpZ2hsaWdodGluZyBidWcgd2l0aCBtb2R1bGVzIChNTSkKKyIgTGFzdCBDaGFuZ2U6ICAyMDE5IE9jdCAwMSAtIE9ubHkgc3BlbGwgY2hlY2sgc3RyaW5ncyAmIGNvbW1lbnRzIChDaHVhbiBXZWkgRm9vKQorIiAgICAgICAgICAgICAgIDIwMTUgQXVnIDMxIC0gRml4ZWQgb3BlbmluZyBvZiBtb2R1bGVzIChSYW1hbmEgS3VtYXIpCisiICAgICAgICAgICAgICAgMjAwNiBPY3QgMjMgLSBGaXhlZCBjaGFyYWN0ZXIgaGlnaGxpZ2h0aW5nIGJ1ZyAoTU0pCiAKICIgcXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorCisiIERpc2FibGUgc3BlbGwgY2hlY2tpbmcgb2Ygc3ludGF4Lgorc3luIHNwZWxsIG5vdG9wbGV2ZWwKKwogICBmaW5pc2gKIGVuZGlmCiAKQEAgLTUyLDcgKzU1LDcgQEAKIAogCiAiIENvbW1lbnRzCi1zeW4gcmVnaW9uICAgc21sQ29tbWVudCBzdGFydD0iKFwqIiBlbmQ9IlwqKSIgY29udGFpbnM9c21sQ29tbWVudCxzbWxUb2RvCitzeW4gcmVnaW9uICAgc21sQ29tbWVudCBzdGFydD0iKFwqIiBlbmQ9IlwqKSIgY29udGFpbnM9c21sQ29tbWVudCxzbWxUb2RvLEBTcGVsbAogc3luIGtleXdvcmQgIHNtbFRvZG8gY29udGFpbmVkIFRPRE8gRklYTUUgWFhYCiAKIApAQCAtODIsNyArODUsNyBAQAogc3luIHJlZ2lvbiAgIHNtbE1vZFNwZWMgbWF0Y2hncm91cD1zbWxLZXl3b3JkIHN0YXJ0PSJcPHN0cnVjdHVyZVw+IiBtYXRjaGdyb3VwPXNtbE1vZHVsZSBlbmQ9Ilw8XHVcKFx3XHwnXCkqXD4iIGNvbnRhaW5lZCBjb250YWlucz1Ac21sQWxsRXJycyxzbWxDb21tZW50IHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPXNtbE1vZFRSV2l0aCxzbWxNUFJlc3RyCiAKICIgIm9wZW4iCi1zeW4gcmVnaW9uICAgc21sTm9uZSBtYXRjaGdyb3VwPXNtbEtleXdvcmQgc3RhcnQ9Ilw8b3Blblw+IiBtYXRjaGdyb3VwPXNtbE1vZHVsZSBlbmQ9Ilw8XHVcKFx3XHwnXCkqXChcLlx1XChcd1x8J1wpKlwpKlw+IiBjb250YWlucz1Ac21sQWxsRXJycyxzbWxDb21tZW50CitzeW4gcmVnaW9uICAgc21sTm9uZSBtYXRjaGdyb3VwPXNtbEtleXdvcmQgc3RhcnQ9Ilw8b3Blblw+IiBtYXRjaGdyb3VwPXNtbE1vZHVsZSBlbmQ9Ilw8XHdcKFx3XHwnXCkqXChcLlx3XChcd1x8J1wpKlwpKlw+IiBjb250YWlucz1Ac21sQWxsRXJycyxzbWxDb21tZW50CiAKICIgInN0cnVjdHVyZSIgLSBzb21ld2hhdCBjb21wbGljYXRlZCBzdHVmZiA7LSkKIHN5biByZWdpb24gICBzbWxNb2R1bGUgbWF0Y2hncm91cD1zbWxLZXl3b3JkIHN0YXJ0PSJcPFwoc3RydWN0dXJlXHxmdW5jdG9yXClcPiIgbWF0Y2hncm91cD1zbWxNb2R1bGUgZW5kPSJcPFx1XChcd1x8J1wpKlw+IiBjb250YWlucz1Ac21sQWxsRXJycyxzbWxDb21tZW50IHNraXB3aGl0ZSBza2lwZW1wdHkgbmV4dGdyb3VwPXNtbFByZURlZgpAQCAtMTM2LDcgKzEzOSw3IEBACiAKIHN5biBtYXRjaCAgICBzbWxDaGFyYWN0ZXIgICAgKyMiXFwiIlx8IyIuIlx8IyJcXFxkXGRcZCIrCiBzeW4gbWF0Y2ggICAgc21sQ2hhckVyciAgICAgICsjIlxcXGRcZCJcfCMiXFxcZCIrCi1zeW4gcmVnaW9uICAgc21sU3RyaW5nICAgICAgIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKK3N5biByZWdpb24gICBzbWxTdHJpbmcgICAgICAgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1AU3BlbGwKIAogc3luIG1hdGNoICAgIHNtbEZ1bkRlZiAgICAgICAiPT4iCiBzeW4gbWF0Y2ggICAgc21sUmVmQXNzaWduICAgICI6PSIKQEAgLTE0OSw5ICsxNTIsOSBAQAogc3luIG1hdGNoICAgIHNtbEtleUNoYXIgICAgICAiXCoiCiBzeW4gbWF0Y2ggICAgc21sS2V5Q2hhciAgICAgICI9IgogCi1zeW4gbWF0Y2ggICAgc21sTnVtYmVyCSAgICAgICJcPC1cPVxkXCtcPiIKLXN5biBtYXRjaCAgICBzbWxOdW1iZXIJICAgICAgIlw8LVw9MFt4fFhdXHhcK1w+Igotc3luIG1hdGNoICAgIHNtbFJlYWwJICAgICAgIlw8LVw9XGRcK1wuXGQqXChbZUVdWy0rXVw9XGRcK1wpXD1bZmxdXD1cPiIKK3N5biBtYXRjaCAgICBzbWxOdW1iZXIgICAgICAgICJcPC1cPVxkXCtcPiIKK3N5biBtYXRjaCAgICBzbWxOdW1iZXIgICAgICAgICJcPC1cPTBbeHxYXVx4XCtcPiIKK3N5biBtYXRjaCAgICBzbWxSZWFsICAgICAgICAgICJcPC1cPVxkXCtcLlxkKlwoW2VFXVstK11cPVxkXCtcKVw9W2ZsXVw9XD4iCiAKICIgU3luY2hyb25pemF0aW9uCiBzeW4gc3luYyBtaW5saW5lcz0yMApAQCAtMTY3LDQ5ICsxNzAsNDkgQEAKICIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KICIgT25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKIAotaGkgZGVmIGxpbmsgc21sQnJhY2VFcnIJIEVycm9yCi1oaSBkZWYgbGluayBzbWxCcmFja0VycgkgRXJyb3IKLWhpIGRlZiBsaW5rIHNtbFBhcmVuRXJyCSBFcnJvcgoraGkgZGVmIGxpbmsgc21sQnJhY2VFcnIgICAgIEVycm9yCitoaSBkZWYgbGluayBzbWxCcmFja0VyciAgICAgRXJyb3IKK2hpIGRlZiBsaW5rIHNtbFBhcmVuRXJyICAgICBFcnJvcgogCi1oaSBkZWYgbGluayBzbWxDb21tZW50RXJyCSBFcnJvcgoraGkgZGVmIGxpbmsgc21sQ29tbWVudEVyciAgIEVycm9yCiAKLWhpIGRlZiBsaW5rIHNtbEVuZEVycgkgRXJyb3IKLWhpIGRlZiBsaW5rIHNtbFRoZW5FcnIJIEVycm9yCitoaSBkZWYgbGluayBzbWxFbmRFcnIgICAgICAgRXJyb3IKK2hpIGRlZiBsaW5rIHNtbFRoZW5FcnIgICAgICBFcnJvcgogCi1oaSBkZWYgbGluayBzbWxDaGFyRXJyCSBFcnJvcgoraGkgZGVmIGxpbmsgc21sQ2hhckVyciAgICAgIEVycm9yCiAKLWhpIGRlZiBsaW5rIHNtbENvbW1lbnQJIENvbW1lbnQKK2hpIGRlZiBsaW5rIHNtbENvbW1lbnQgICAgICBDb21tZW50CiAKLWhpIGRlZiBsaW5rIHNtbE1vZFBhdGgJIEluY2x1ZGUKLWhpIGRlZiBsaW5rIHNtbE1vZHVsZQkgSW5jbHVkZQotaGkgZGVmIGxpbmsgc21sTW9kUGFyYW0xCSBJbmNsdWRlCi1oaSBkZWYgbGluayBzbWxNb2RUeXBlCSBJbmNsdWRlCi1oaSBkZWYgbGluayBzbWxNUFJlc3RyMwkgSW5jbHVkZQotaGkgZGVmIGxpbmsgc21sRnVsbE1vZAkgSW5jbHVkZQoraGkgZGVmIGxpbmsgc21sTW9kUGF0aCAgICAgIEluY2x1ZGUKK2hpIGRlZiBsaW5rIHNtbE1vZHVsZSAgICAgICBJbmNsdWRlCitoaSBkZWYgbGluayBzbWxNb2RQYXJhbTEgICAgSW5jbHVkZQoraGkgZGVmIGxpbmsgc21sTW9kVHlwZSAgICAgIEluY2x1ZGUKK2hpIGRlZiBsaW5rIHNtbE1QUmVzdHIzICAgICBJbmNsdWRlCitoaSBkZWYgbGluayBzbWxGdWxsTW9kICAgICAgSW5jbHVkZQogaGkgZGVmIGxpbmsgc21sTW9kVHlwZVJlc3RyIEluY2x1ZGUKLWhpIGRlZiBsaW5rIHNtbFdpdGgJIEluY2x1ZGUKLWhpIGRlZiBsaW5rIHNtbE1URGVmCSBJbmNsdWRlCitoaSBkZWYgbGluayBzbWxXaXRoICAgICAgICAgSW5jbHVkZQoraGkgZGVmIGxpbmsgc21sTVREZWYgICAgICAgIEluY2x1ZGUKIAogaGkgZGVmIGxpbmsgc21sQ29uc3RydWN0b3IgIENvbnN0YW50CiAKLWhpIGRlZiBsaW5rIHNtbE1vZFByZVJIUwkgS2V5d29yZAotaGkgZGVmIGxpbmsgc21sTVBSZXN0cjIJIEtleXdvcmQKLWhpIGRlZiBsaW5rIHNtbEtleXdvcmQJIEtleXdvcmQKLWhpIGRlZiBsaW5rIHNtbEZ1bkRlZgkgS2V5d29yZAotaGkgZGVmIGxpbmsgc21sUmVmQXNzaWduCSBLZXl3b3JkCi1oaSBkZWYgbGluayBzbWxLZXlDaGFyCSBLZXl3b3JkCi1oaSBkZWYgbGluayBzbWxBbnlWYXIJIEtleXdvcmQKLWhpIGRlZiBsaW5rIHNtbFRvcFN0b3AJIEtleXdvcmQKLWhpIGRlZiBsaW5rIHNtbE9wZXJhdG9yCSBLZXl3b3JkCitoaSBkZWYgbGluayBzbWxNb2RQcmVSSFMgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgc21sTVBSZXN0cjIgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHNtbEtleXdvcmQgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBzbWxGdW5EZWYgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgc21sUmVmQXNzaWduICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHNtbEtleUNoYXIgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBzbWxBbnlWYXIgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgc21sVG9wU3RvcCAgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHNtbE9wZXJhdG9yICAgICBLZXl3b3JkCiAKLWhpIGRlZiBsaW5rIHNtbEJvb2xlYW4JIEJvb2xlYW4KLWhpIGRlZiBsaW5rIHNtbENoYXJhY3RlcgkgQ2hhcmFjdGVyCi1oaSBkZWYgbGluayBzbWxOdW1iZXIJIE51bWJlcgotaGkgZGVmIGxpbmsgc21sUmVhbAkgRmxvYXQKLWhpIGRlZiBsaW5rIHNtbFN0cmluZwkgU3RyaW5nCi1oaSBkZWYgbGluayBzbWxUeXBlCSBUeXBlCi1oaSBkZWYgbGluayBzbWxUb2RvCSBUb2RvCi1oaSBkZWYgbGluayBzbWxFbmNsCSBLZXl3b3JkCitoaSBkZWYgbGluayBzbWxCb29sZWFuICAgICAgQm9vbGVhbgoraGkgZGVmIGxpbmsgc21sQ2hhcmFjdGVyICAgIENoYXJhY3RlcgoraGkgZGVmIGxpbmsgc21sTnVtYmVyICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgc21sUmVhbCAgICAgICAgIEZsb2F0CitoaSBkZWYgbGluayBzbWxTdHJpbmcgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBzbWxUeXBlICAgICAgICAgVHlwZQoraGkgZGVmIGxpbmsgc21sVG9kbyAgICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIHNtbEVuY2wgICAgICAgICBLZXl3b3JkCiAKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAic21sIgo=