ZGlmZiAtLWdpdCBhL3J1bnRpbWUvYXV0b2xvYWQvcnVieWNvbXBsZXRlLnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQvcnVieWNvbXBsZXRlLnZpbQppbmRleCBkMWM4YTI2Li41M2RjODY5IDEwMDY0NAotLS0gYS9ydW50aW1lL2F1dG9sb2FkL3J1Ynljb21wbGV0ZS52aW0KKysrIGIvcnVudGltZS9hdXRvbG9hZC9ydWJ5Y29tcGxldGUudmltCkBAIC05MCw5ICs5MCwxNSBAQAogCQlyZXR1cm4gdnRwCiAJZW5kaWYKIAljYWxsIHNldHBvcygnLicscG9zKQotICAgIGxldCBbbG51bSxsY29sXSA9IHNlYXJjaHBvcygnJy5hOnYuJ1w+XHMqWytcLSovXSo9XHMqXChbXiBcdF1cKy5cKG5vd1x8bmV3XHxvcGVuXHxnZXRfaW5zdGFuY2VcKVw+XHxbXFt7IicnL11cfCVye1wpJywnbmInLHN0b3BsaW5lKQorICAgIGlmIGc6cnVieWNvbXBsZXRlX3JhaWxzID09IDEgJiYgZzpydWJ5Y29tcGxldGVfcmFpbHNfbG9hZGVkID09IDEKKyAgICAgICAgbGV0IGN0b3JzID0gJ1wobm93XHxuZXdcfG9wZW5cfGdldF9pbnN0YW5jZVx8ZmluZFx8Y3JlYXRlXCknCisgICAgZWxzZQorICAgICAgICBsZXQgY3RvcnMgPSAnXChub3dcfG5ld1x8b3Blblx8Z2V0X2luc3RhbmNlXCknCisgICAgZW5kaWYKKworICAgIGxldCBbbG51bSxsY29sXSA9IHNlYXJjaHBvcygnJy5hOnYuJ1w+XHMqWytcLSovXSo9XHMqXChbXiBcdF1cKy4nIC4gY3RvcnMgLidcPlx8W1xbeyInJy9dXHwlcntcKScsJ25iJyxzdG9wbGluZSkKIAlpZiBsbnVtICE9IDAgJiYgbGNvbCAhPSAwCi0gICAgICAgIGxldCBzdHIgPSBtYXRjaHN0cihnZXRsaW5lKGxudW0pLCc9XHMqXChbXiBcdF1cKy5cKG5vd1x8bmV3XHxvcGVuXHxnZXRfaW5zdGFuY2VcKVw+XHxbXFt7IicnL11cfCVye1wpJyxsY29sKQorICAgICAgICBsZXQgc3RyID0gbWF0Y2hzdHIoZ2V0bGluZShsbnVtKSwnPVxzKlwoW14gXHRdXCsuJyAuIGN0b3JzIC4gJ1w+XHxbXFt7IicnL11cfCVye1wpJyxsY29sKQogCQlsZXQgc3RyID0gc3Vic3RpdHV0ZShzdHIsJ149XHMqJywnJywnJykKIAkJY2FsbCBzZXRwb3MoJy4nLHBvcykKIAkJaWYgc3RyID09ICciJyB8fCBzdHIgPT0gJycnJwpAQCAtMjU1LDcgKzI2MSw3IEBACiAgIGZpbGVfbmFtZSA9IFZJTTo6ZXZhbHVhdGUoJ2V4cGFuZCgiJTp0IiknKQogICBwYXRoID0gYnVmX3BhdGguZ3N1YiggZmlsZV9uYW1lLCAnJyApIAogICBwYXRoLmdzdWIhKCAvXFwvLCAiLyIgKQotICBwdXAgPSBbICIuLi8iLCAiLi4vLi4vIiwgIi4uLy4uLy4uLyIsICIuLi8uLi8uLi8uLi8iIF0KKyAgcHVwID0gWyAiLi8iLCAiLi4vIiwgIi4uLy4uLyIsICIuLi8uLi8uLi8iLCAiLi4vLi4vLi4vLi4vIiBdCiAgIHBvayA9IG5pbAogCiAgIHB1cC5lYWNoIGRvIHxzdXB8CkBAIC0yNjcsMTAgKzI3MywxOSBAQAogICBlbmQKICAgCiAgIHJldHVybiBpZiBwb2sgPT0gbmlsCisKICAgYm9vdGZpbGUgPSBwb2sgKyAiL2Jvb3QucmIiCi0gIGlmIEZpbGUuZXhpc3RzPyggYm9vdGZpbGUgKQotICAgIHJlcXVpcmUgYm9vdGZpbGUgCi0gICAgVklNOjpldmFsdWF0ZSgnbGV0IGc6cnVieWNvbXBsZXRlX3JhaWxzX2xvYWRlZCA9IDEnKSAKKyAgZW52ZmlsZSA9IHBvayArICIvZW52aXJvbm1lbnQucmIiCisgIGlmIEZpbGUuZXhpc3RzPyggYm9vdGZpbGUgKSAmJiBGaWxlLmV4aXN0cz8oIGVudmZpbGUgKQorICAgIGJlZ2luCisgICAgICByZXF1aXJlIGJvb3RmaWxlIAorICAgICAgcmVxdWlyZSBlbnZmaWxlCisgICAgICByZXF1aXJlICdjb25zb2xlX2FwcCcKKyAgICAgIHJlcXVpcmUgJ2NvbnNvbGVfd2l0aF9oZWxwZXJzJworICAgICAgVklNOjpjb21tYW5kKCdsZXQgZzpydWJ5Y29tcGxldGVfcmFpbHNfbG9hZGVkID0gMScpIAorICAgIHJlc2N1ZQorICAgICAgcHJpbnQgIkVycm9yIGxvYWRpbmcgcmFpbHMgZW52aXJvbm1lbnQiCisgICAgZW5kICAKICAgZW5kCiBlbmQKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9hdXRvbG9hZC92aW1iYWxsLnZpbSBiL3J1bnRpbWUvYXV0b2xvYWQvdmltYmFsbC52aW0KaW5kZXggOTFjNTdiMi4uNjFkNWZhNiAxMDA2NDQKLS0tIGEvcnVudGltZS9hdXRvbG9hZC92aW1iYWxsLnZpbQorKysgYi9ydW50aW1lL2F1dG9sb2FkL3ZpbWJhbGwudmltCkBAIC0xLDcgKzEsNyBAQAogIiB2aW1iYWxsIDogY29uc3RydWN0IGEgZmlsZSBjb250YWluaW5nIGJvdGggcGF0aHMgYW5kIGZpbGVzCiAiIEF1dGhvcjogQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuCi0iIERhdGU6ICAgQXByIDI0LCAyMDA2Ci0iIFZlcnNpb246IDcKKyIgRGF0ZTogICBBcHIgMjUsIDIwMDYKKyIgVmVyc2lvbjogOAogIiBHZXRMYXRlc3RWaW1TY3JpcHRzOiAxNTAyIDEgOkF1dG9JbnN0YWxsOiB2aW1iYWxsLnZpbQogIiBDb3B5cmlnaHQ6IChjKSAyMDA0LTIwMDYgYnkgQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuCiAiICAgICAgICAgICAgVGhlIFZJTSBMSUNFTlNFIGFwcGxpZXMgdG8gVmltYmFsbC52aW0sIGFuZCBWaW1iYWxsLnR4dApAQCAtMTUsNyArMTUsNyBAQAogIGZpbmlzaAogZW5kaWYKIGxldCBzOmtlZXBjcG8gICAgICAgID0gJmNwbwotbGV0IGc6bG9hZGVkX3ZpbWJhbGwgPSAidjciCitsZXQgZzpsb2FkZWRfdmltYmFsbCA9ICJ2OCIKIHNldCBjcG8mdmltCiAKICIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkBAIC0yNTUsNiArMjU1LDMyIEBACiAiICBjYWxsIERyZXQoIlZpbWJhbGwiKQogZW5kZnVuCiAKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIHZpbWJhbGwjRGVjb21wcmVzczogYXR0ZW1wdHMgdG8gYXV0b21hdGljYWxseSBkZWNvbXByZXNzIHZpbWJhbGxzIHt7ezIKK2Z1biEgdmltYmFsbCNEZWNvbXByZXNzKGZuYW1lKQorIiAgY2FsbCBEZnVuYygiRGVjb21wcmVzcyhmbmFtZTwiLmE6Zm5hbWUuIj4pIikKKworICAiIGRlY29tcHJlc3Npb246CisgIGlmICAgICBleHBhbmQoIiUiKSA9fiAnLipcLmd6JyAgJiYgZXhlY3V0YWJsZSgiZ3VuemlwIikKKyAgIGV4ZSAiIWd1bnppcCAiLmE6Zm5hbWUKKyAgIGxldCBmbmFtZT0gc3Vic3RpdHV0ZShhOmZuYW1lLCdcLmd6JCcsJycsJycpCisgICBleGUgImUgIi5mbmFtZQorICAgZWNob2hsIFdhcm5pbmdNc2cgfCBlY2hvICJTb3VyY2UgdGhpcyBmaWxlIHRvIGV4dHJhY3QgaXQhICg6c28gIi5mbmFtZS4iKSIgfCBlY2hvaGwgTm9uZQorICBlbHNlaWYgZXhwYW5kKCIlIikgPX4gJy4qXC5iejInICYmIGV4ZWN1dGFibGUoImJ1bnppcDIiKQorICAgZXhlICIhYnVuemlwMiAiLmE6Zm5hbWUKKyAgIGxldCBmbmFtZT0gc3Vic3RpdHV0ZShhOmZuYW1lLCdcLmJ6MiQnLCcnLCcnKQorICAgZXhlICJlICIuZm5hbWUKKyAgIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiU291cmNlIHRoaXMgZmlsZSB0byBleHRyYWN0IGl0ISAoOnNvICIuZm5hbWUuIikiIHwgZWNob2hsIE5vbmUKKyAgZWxzZWlmIGV4cGFuZCgiJSIpID1+ICcuKlwuemlwJyAmJiBleGVjdXRhYmxlKCJ1bnppcCIpCisgICBleGUgIiF1bnppcCAiLmE6Zm5hbWUKKyAgIGxldCBmbmFtZT0gc3Vic3RpdHV0ZShhOmZuYW1lLCdcLnppcCQnLCcnLCcnKQorICAgZXhlICJlICIuZm5hbWUKKyAgIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiU291cmNlIHRoaXMgZmlsZSB0byBleHRyYWN0IGl0ISAoOnNvICIuZm5hbWUuIikiIHwgZWNob2hsIE5vbmUKKyAgZW5kaWYKKworIiAgY2FsbCBEcmV0KCJEZWNvbXByZXNzIikKK2VuZGZ1bgorCiBsZXQgJmNwbz0gczprZWVwY3BvCiB1bmxldCBzOmtlZXBjcG8KICIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CmRpZmYgLS1naXQgYS9ydW50aW1lL2NvbG9ycy9zbGF0ZS52aW0gYi9ydW50aW1lL2NvbG9ycy9zbGF0ZS52aW0KaW5kZXggOTRkMWMwNi4uMTJkOTFiYSAxMDA2NDQKLS0tIGEvcnVudGltZS9jb2xvcnMvc2xhdGUudmltCisrKyBiL3J1bnRpbWUvY29sb3JzL3NsYXRlLnZpbQpAQCAtMSw2ICsxLDYgQEAKICIlJSBTaVNVIFZpbSBjb2xvciBmaWxlCiAiIFNsYXRlIE1haW50YWluZXI6IFJhbHBoIEFtaXNzYWggPHJhbHBoQGFtaXNzYWguY29tPgotIiAob3JpZ2luYWxseSBsb29rZWQgYXQgZGVzZXJ0IEhhbnMgRnVnYWwgPGhhbnNAZnVnYWwubmV0PiBodHRwOi8vaGFucy5mdWdhbC5uZXQvdmltL2NvbG9ycy9kZXNlcnQudmltICgyMDAzLzA1LzA2IDE2OjM3OjQ5KQorIiAob3JpZ2luYWxseSBsb29rZWQgYXQgZGVzZXJ0IEhhbnMgRnVnYWwgPGhhbnNAZnVnYWwubmV0PiBodHRwOi8vaGFucy5mdWdhbC5uZXQvdmltL2NvbG9ycy9kZXNlcnQudmltICgyMDAzLzA1LzA2KQogOnNldCBiYWNrZ3JvdW5kPWRhcmsKIDpoaWdobGlnaHQgY2xlYXIKIGlmIHZlcnNpb24gPiA1ODAKQEAgLTM1LDEwICszNSw4IEBACiA6aGkgSW5jbHVkZSBndWlmZz1yZWQgY3Rlcm1mZz1yZWQKIDpoaSBQcmVQcm9jIGd1aWZnPXJlZCBndWliZz13aGl0ZSBjdGVybWZnPXJlZAogOmhpIE9wZXJhdG9yIGd1aWZnPVJlZCBjdGVybWZnPVJlZAotIjpoaSBPcGVyYXRvciBndWlmZz1Db3JuZmxvd2VyQmx1ZSBjdGVybWZnPWRhcmtjeWFuCiA6aGkgRGVmaW5lIGd1aWZnPWdvbGQgZ3VpPWJvbGQgY3Rlcm1mZz15ZWxsb3cKIDpoaSBUeXBlIGd1aWZnPUNvcm5mbG93ZXJCbHVlIGN0ZXJtZmc9MgotIjpoaSBUeXBlIGd1aWZnPWRhcmtraGFraSBjdGVybWZnPTIKIDpoaSBGdW5jdGlvbiBndWlmZz1uYXZham93aGl0ZSBjdGVybWZnPWJyb3duCiA6aGkgU3RydWN0dXJlIGd1aWZnPWdyZWVuIGN0ZXJtZmc9Z3JlZW4KIDpoaSBMaW5lTnIgZ3VpZmc9Z3JleTUwIGN0ZXJtZmc9MwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvYXV0b2NtZC50eHQgYi9ydW50aW1lL2RvYy9hdXRvY21kLnR4dAppbmRleCBkZGRiMGU2Li5jZjhhNDU3IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9hdXRvY21kLnR4dAorKysgYi9ydW50aW1lL2RvYy9hdXRvY21kLnR4dApAQCAtMSw0ICsxLDQgQEAKLSphdXRvY21kLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKmF1dG9jbWQudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xOTYsNyArMTk2LDcgQEAKIChlLmcuLCB5b3UgY2FuIHVzZSAiQlVGcmVhZCIgb3IgImJ1ZnJlYWQiIGluc3RlYWQgb2YgIkJ1ZlJlYWQiKS4KIAogRmlyc3QgYW4gb3ZlcnZpZXcgYnkgZnVuY3Rpb24gd2l0aCBhIHNob3J0IGV4cGxhbmF0aW9uLiAgVGhlbiB0aGUgbGlzdAotYWxwYWJldGljYWxseSB3aXRoIGZ1bGwgZXhwbGFuYXRpb25zIHxhdXRvY21kLWV2ZW50cy1hYmN8LgorYWxwaGFiZXRpY2FsbHkgd2l0aCBmdWxsIGV4cGxhbmF0aW9ucyB8YXV0b2NtZC1ldmVudHMtYWJjfC4KIAogTmFtZQkJCXRyaWdnZXJlZCBieSB+CiAKQEAgLTIwOSw3ICsyMDksNyBAQAogCiB8RmlsZVJlYWRQcmV8CQliZWZvcmUgcmVhZGluZyBhIGZpbGUgd2l0aCBhICI6cmVhZCIgY29tbWFuZAogfEZpbGVSZWFkUG9zdHwJCWFmdGVyIHJlYWRpbmcgYSBmaWxlIHdpdGggYSAiOnJlYWQiIGNvbW1hbmQKLXxGaWxlUmVhZENtZHwJCWJlZm9yZSByZWFkaW5nIGEgZmlsZSB3aXRoIGEgIjpyZWFkIiBjb21tYW4gfENtZC1ldmVudHwKK3xGaWxlUmVhZENtZHwJCWJlZm9yZSByZWFkaW5nIGEgZmlsZSB3aXRoIGEgIjpyZWFkIiBjb21tYW5kIHxDbWQtZXZlbnR8CiAKIHxGaWx0ZXJSZWFkUHJlfAkJYmVmb3JlIHJlYWRpbmcgYSBmaWxlIGZyb20gYSBmaWx0ZXIgY29tbWFuZAogfEZpbHRlclJlYWRQb3N0fAlhZnRlciByZWFkaW5nIGEgZmlsZSBmcm9tIGEgZmlsdGVyIGNvbW1hbmQKQEAgLTY1MSw3ICs2NTEsNyBAQAogCQkJCQl2CVZpc3VhbAogCQkJCQlvCU9wZXJhdG9yLXBlbmRpbmcKIAkJCQkJaQlJbnNlcnQKLQkJCQkJYwlDb21tbWFuZCBsaW5lCisJCQkJCWMJQ29tbWFuZCBsaW5lCiAJCQkJCQkJKlF1aWNrRml4Q21kUHJlKgogUXVpY2tGaXhDbWRQcmUJCQlCZWZvcmUgYSBxdWlja2ZpeCBjb21tYW5kIGlzIHJ1biAofDptYWtlfCwKIAkJCQl8OmxtYWtlfCwgfDpncmVwfCwgfDpsZ3JlcHwsIHw6Z3JlcGFkZHwsCkBAIC05MDQsOSArOTA0LDkgQEAKIAogQWxsIHRoZSBjb21tYW5kcyBmb3IgYXV0b2NvbW1hbmRzIGFsc28gd29yayB3aXRoIGJ1ZmZlci1sb2NhbCBhdXRvY29tbWFuZHMsCiBzaW1wbHkgdXNlIHRoZSBzcGVjaWFsIHN0cmluZyBpbnN0ZWFkIG9mIHRoZSBwYXR0ZXJuLiAgRXhhbXBsZXM6ID4KLSAgICA6YXUhICogPGJ1ZmZlcj4gICAgIAkgICAgICIgcmVtb3ZlIGJ1ZmZlci1sb2NhbCBhdXRvdG9tbWFuZHMgZm9yCisgICAgOmF1ISAqIDxidWZmZXI+ICAgICAJICAgICAiIHJlbW92ZSBidWZmZXItbG9jYWwgYXV0b2NvbW1hbmRzIGZvcgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgY3VycmVudCBidWZmZXIKLSAgICA6YXUhICogPGJ1ZmZlcj0zMz4gIAkgICAgICIgcmVtb3ZlIGJ1ZmZlci1sb2NhbCBhdXRvdG9tbWFuZHMgZm9yCisgICAgOmF1ISAqIDxidWZmZXI9MzM+ICAJICAgICAiIHJlbW92ZSBidWZmZXItbG9jYWwgYXV0b2NvbW1hbmRzIGZvcgogICAgIAkJCQkgICAgICIgYnVmZmVyICMzMwogICAgIDpkb2J1ZiA6YXUhIEN1cnNvckhvbGQgPGJ1ZmZlcj4gICIgcmVtb3ZlIGF1dG9jbWQgZm9yIGdpdmVuIGV2ZW50IGZvciBhbGwKICAgICAJCQkJICAgICAiIGJ1ZmZlcnMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQgYi9ydW50aW1lL2RvYy9jaGFuZ2UudHh0CmluZGV4IDI0MjBkNWQuLjIxYjk4ZDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQKKysrIGIvcnVudGltZS9kb2MvY2hhbmdlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpjaGFuZ2UudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAxMQorKmNoYW5nZS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC02ODcsNyArNjg3LDcgQEAKIHxzdWItcmVwbGFjZS1leHByZXNzaW9ufC4gIFlvdSBjYW4gdXNlIHRoYXQgZm9yIGFueSBzcGVjaWFsIGNoYXJhY3RlcnMuCiBPdGhlcndpc2UgdGhlc2UgY2hhcmFjdGVycyBpbiB7c3RyaW5nfSBoYXZlIGEgc3BlY2lhbCBtZWFuaW5nOgogCQkJCQkJCQkqOnMlKgotV2hlbiB7c3RyaW5nfSBpcyBlcXVhbCB0byAiJSIgYW5kICcvJyBpcyBpbmNsdWRlZCB3aXRoIHRoZSAnY3BvdGlvbnMnIG9wdGlvbiwKK1doZW4ge3N0cmluZ30gaXMgZXF1YWwgdG8gIiUiIGFuZCAnLycgaXMgaW5jbHVkZWQgd2l0aCB0aGUgJ2Nwb3B0aW9ucycgb3B0aW9uLAogdGhlbiB0aGUge3N0cmluZ30gb2YgdGhlIHByZXZpb3VzIHN1YnN0aXR1dGUgY29tbWFuZCBpcyB1c2VkLiB8Y3BvLS98CiAKIG1hZ2ljCW5vbWFnaWMJICBhY3Rpb24gICAgfgpAQCAtMTE3OCw3ICsxMTc4LDcgQEAKIAkJCSAgIGV2YWx1YXRlZC4gIFRoaXMgY2FuIGRpZmZlciBmb3IgZWFjaCBidWZmZXIuCiAJCQkyLiBJZiAnZm9ybWF0cHJnJyBpcyBub3QgZW1wdHkgYW4gZXh0ZXJuYWwgcHJvZ3JhbQogCQkJICAgaXMgdXNlZC4KLQkJCTMuIE90aGVyaXNlIGZvcm1hdHRpbmcgaXMgZG9uZSBpbnRlcm5hbGx5LgorCQkJMy4gT3RoZXJ3aXNlIGZvcm1hdHRpbmcgaXMgZG9uZSBpbnRlcm5hbGx5LgogCiAJCQlJbiB0aGUgdGhpcmQgY2FzZSB0aGUgJ3RleHR3aWR0aCcgb3B0aW9uIGNvbnRyb2xzIHRoZQogCQkJbGVuZ3RoIG9mIGVhY2ggZm9ybWF0dGVkIGxpbmUgKHNlZSBiZWxvdykuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9kaWdyYXBoLnR4dCBiL3J1bnRpbWUvZG9jL2RpZ3JhcGgudHh0CmluZGV4IDBjMjczY2UuLjU5NGQxODkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2RpZ3JhcGgudHh0CisrKyBiL3J1bnRpbWUvZG9jL2RpZ3JhcGgudHh0CkBAIC0xLDQgKzEsNCBAQAotKmRpZ3JhcGgudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDUgU2VwIDExCisqZGlncmFwaC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE5Myw3ICsxOTMsNyBAQAogXlMJRDMJMHgxMwkgMTkJREVWSUNFIENPTlRST0wgVEhSRUUgKERDMykKIF5UCUQ0CTB4MTQJIDIwCURFVklDRSBDT05UUk9MIEZPVVIgKERDNCkKIF5VCU5LCTB4MTUJIDIxCU5FR0FUSVZFIEFDS05PV0xFREdFIChOQUspCi1eVglTWQkweDE2CSAyMglTWU5DUk9OT1VTIElETEUgKFNZTikKK15WCVNZCTB4MTYJIDIyCVNZTkNIUk9OT1VTIElETEUgKFNZTikKIF5XCUVCCTB4MTcJIDIzCUVORCBPRiBUUkFOU01JU1NJT04gQkxPQ0sgKEVUQikKIF5YCUNOCTB4MTgJIDI0CUNBTkNFTCAoQ0FOKQogXlkJRU0JMHgxOQkgMjUJRU5EIE9GIE1FRElVTSAoRU0pCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9ldmFsLnR4dCBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CmluZGV4IGI4YWQ3YTkuLjZiOWE2YWQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2V2YWwudHh0CisrKyBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CkBAIC0xLDQgKzEsNCBAQAotKmV2YWwudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqZXZhbC50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTI0NTcsNyArMjQ1Nyw3IEBACiAKIGZlZWRrZXlzKHtzdHJpbmd9IFssIHttb2RlfV0pCQkJCSpmZWVka2V5cygpKgogCQlDaGFyYWN0ZXJzIGluIHtzdHJpbmd9IGFyZSBxdWV1ZWQgZm9yIHByb2Nlc3NpbmcgYXMgaWYgdGhleQotCQljb21lIGZyb20gYSBtYXBwaW5nIG9yIHdoZXJlIHR5cGVkIGJ5IHVzZXIuICBUaGV5IGFyZSBhZGRlZCB0bworCQljb21lIGZyb20gYSBtYXBwaW5nIG9yIHdlcmUgdHlwZWQgYnkgdXNlci4gIFRoZXkgYXJlIGFkZGVkIHRvCiAJCXRoZSBlbmQgb2YgdGhlIHR5cGVhaGVhZCBidWZmZXIsIHRodXMgaWYgYSBtYXBwaW5nIGlzIHN0aWxsCiAJCWJlaW5nIGV4ZWN1dGVkIHRoZXNlIGNoYXJhY3RlcnMgY29tZSBhZnRlciB0aGVtLgogCQlUaGUgZnVuY3Rpb24gZG9lcyBub3Qgd2FpdCBmb3IgcHJvY2Vzc2luZyBvZiBrZXlzIGNvbnRhaW5lZCBpbgpAQCAtMjQ2OCwxMCArMjQ2OCwxMSBAQAogCQlmZWVka2V5cygnXDxDUj4nKSBwdXNoZXMgNSBjaGFyYWN0ZXJzLgogCQlJZiB7bW9kZX0gaXMgYWJzZW50LCBrZXlzIGFyZSByZW1hcHBlZC4KIAkJe21vZGV9IGlzIGEgU3RyaW5nLCB3aGljaCBjYW4gY29udGFpbiB0aGVzZSBjaGFyYWN0ZXIgZmxhZ3M6Ci0JCSdtJwlyZW1hcCBrZXlzLiBUaGlzIGlzIGRlZmF1bHQuCi0JCSduJwlkbyBub3QgcmVtYXAga2V5cwotCQkndCcJaGFuZGxlIGtleXMgYXMgaWYgdHlwZWQ7IG90aGVyd2lzZSB0aGV5IGFyZSBoYW5kbGVkIGFzCi0JCQlpZiBjb21pbmcgZnJvbSBhIG1hcHBpbmcKKwkJJ20nCVJlbWFwIGtleXMuIFRoaXMgaXMgZGVmYXVsdC4KKwkJJ24nCURvIG5vdCByZW1hcCBrZXlzLgorCQkndCcJSGFuZGxlIGtleXMgYXMgaWYgdHlwZWQ7IG90aGVyd2lzZSB0aGV5IGFyZSBoYW5kbGVkIGFzCisJCQlpZiBjb21pbmcgZnJvbSBhIG1hcHBpbmcuICBUaGlzIG1hdHRlcnMgZm9yIHVuZG8sCisJCQlvcGVuaW5nIGZvbGRzLCBldGMuCiAJCVJldHVybiB2YWx1ZSBpcyBhbHdheXMgMC4KIAogZmlsZXJlYWRhYmxlKHtmaWxlfSkJCQkJCSpmaWxlcmVhZGFibGUoKSoKQEAgLTMyNTksNyArMzI2MCw3IEBACiAJCQk6ZWNobyBpc2xvY2tlZCgnYWxpc3RbMV0nKQkiIDAKIAogPAkJV2hlbiB7ZXhwcn0gaXMgYSB2YXJpYWJsZSB0aGF0IGRvZXMgbm90IGV4aXN0IHlvdSBnZXQgYW4gZXJyb3IKLQkJbWVzc2FnZS4gIFVzZSB8ZXhpc3RzKCl8IHRvIGNoZWNrIGZvciBleGlzdGFuY2UuCisJCW1lc3NhZ2UuICBVc2UgfGV4aXN0cygpfCB0byBjaGVjayBmb3IgZXhpc3RlbmNlLgogCiBpdGVtcyh7ZGljdH0pCQkJCQkJKml0ZW1zKCkqCiAJCVJldHVybiBhIHxMaXN0fCB3aXRoIGFsbCB0aGUga2V5LXZhbHVlIHBhaXJzIG9mIHtkaWN0fS4gIEVhY2gKQEAgLTM1OTcsNyArMzU5OCw3IEBACiAJCWJlIHVzZWQgYXMgYSBOdW1iZXIgdGhpcyByZXN1bHRzIGluIGFuIGVycm9yLgogCQlBbiBlbXB0eSB8TGlzdHwgcmVzdWx0cyBpbiB6ZXJvLgogCi0JCQkJCQkJKm1rZGlyKCkqICpFNzQ5KgorCQkJCQkJCSpta2RpcigpKiAqRTczOSoKIG1rZGlyKHtuYW1lfSBbLCB7cGF0aH0gWywge3Byb3R9XV0pCiAJCUNyZWF0ZSBkaXJlY3Rvcnkge25hbWV9LgogCQlJZiB7cGF0aH0gaXMgInAiIHRoZW4gaW50ZXJtZWRpYXRlIGRpcmVjdG9yaWVzIGFyZSBjcmVhdGVkIGFzCkBAIC0zODcyLDcgKzM4NzMsNyBAQAogCQlXaXRob3V0IGFuIGFyZ3VtZW50IGl0IHJldHVybnMgdGhlIGN1cnJlbnQgdGltZS4KIAkJV2l0aCBvbmUgYXJndW1lbnQgaXMgcmV0dXJucyB0aGUgdGltZSBwYXNzZWQgc2luY2UgdGhlIHRpbWUKIAkJc3BlY2lmaWVkIGluIHRoZSBhcmd1bWVudC4KLQkJV2l0aCB0d28gYXJndW1lbnRzIGl0IHJldHVybnMgdGhlIHRpbWUgcGFzc2VkIGJldHdlZWluIHtzdGFydH0KKwkJV2l0aCB0d28gYXJndW1lbnRzIGl0IHJldHVybnMgdGhlIHRpbWUgcGFzc2VkIGJldHdlZW4ge3N0YXJ0fQogCQlhbmQge2VuZH0uCiAJCVRoZSB7c3RhcnR9IGFuZCB7ZW5kfSBhcmd1bWVudHMgbXVzdCBiZSB2YWx1ZXMgcmV0dXJuZWQgYnkKIAkJcmVsdGltZSgpLgpAQCAtMzk5Nyw3ICszOTk4LDcgQEAKIHJlcGVhdCh7ZXhwcn0sIHtjb3VudH0pCQkJCQkqcmVwZWF0KCkqCiAJCVJlcGVhdCB7ZXhwcn0ge2NvdW50fSB0aW1lcyBhbmQgcmV0dXJuIHRoZSBjb25jYXRlbmF0ZWQKIAkJcmVzdWx0LiAgRXhhbXBsZTogPgotCQkJOmxldCBzZXBlcmF0b3IgPSByZXBlYXQoJy0nLCA4MCkKKwkJCTpsZXQgc2VwYXJhdG9yID0gcmVwZWF0KCctJywgODApCiA8CQlXaGVuIHtjb3VudH0gaXMgemVybyBvciBuZWdhdGl2ZSB0aGUgcmVzdWx0IGlzIGVtcHR5LgogCQlXaGVuIHtleHByfSBpcyBhIHxMaXN0fCB0aGUgcmVzdWx0IGlzIHtleHByfSBjb25jYXRlbmF0ZWQKIAkJe2NvdW50fSB0aW1lcy4gIEV4YW1wbGU6ID4KQEAgLTcyODcsNyArNzI4OCw3IEBACiBoYXZlIHRvIGJlIGRvbmUgaW4gdGhlIHNhbmRib3ggdG8gYXZvaWQgYSBzZWN1cml0eSByaXNrLiAgQnV0IHRoZSBzYW5kYm94IGlzCiByZXN0cmljdGl2ZSwgdGh1cyB0aGlzIG9ubHkgaGFwcGVucyB3aGVuIHRoZSBvcHRpb24gd2FzIHNldCBmcm9tIGFuIGluc2VjdXJlCiBsb2NhdGlvbi4gIEluc2VjdXJlIGluIHRoaXMgY29udGV4dCBhcmU6Ci0tIHNvdXJjaW5nIGEgLnZpbXJjIG9yIC5leHJjIGluIHRoZSBjdXJyZW50IGRpcmVjdGxyeQorLSBzb3VyY2luZyBhIC52aW1yYyBvciAuZXhyYyBpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkKIC0gd2hpbGUgZXhlY3V0aW5nIGluIHRoZSBzYW5kYm94CiAtIHZhbHVlIGNvbWluZyBmcm9tIGEgbW9kZWxpbmUKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaW5kZW50LnR4dCBiL3J1bnRpbWUvZG9jL2luZGVudC50eHQKaW5kZXggM2M1ZTJlYi4uMzg0NDYyYiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvaW5kZW50LnR4dAorKysgYi9ydW50aW1lL2RvYy9pbmRlbnQudHh0CkBAIC0xLDQgKzEsNCBAQAotKmluZGVudC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDE2CisqaW5kZW50LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjUKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTI4OCw3ICsyODgsNyBAQAogCQkgICAgICBpbnQJICAgICAgaW50CQkJIGludAogCQkgIGZ1bmMoKQkgICAgICBmdW5jKCkJCSAgZnVuYygpCiA8Ci0JaU4gICAgSW5kZW50IEMrKyBiYXNlIGNsYXNzIGRlY2xhcmF0aW9ucyBhbmQgY29udHJ1Y3RvcgorCWlOICAgIEluZGVudCBDKysgYmFzZSBjbGFzcyBkZWNsYXJhdGlvbnMgYW5kIGNvbnN0cnVjdG9yCiAJICAgICAgaW5pdGlhbGl6YXRpb25zLCBpZiB0aGV5IHN0YXJ0IGluIGEgbmV3IGxpbmUgKG90aGVyd2lzZSB0aGV5CiAJICAgICAgYXJlIGFsaWduZWQgYXQgdGhlIHJpZ2h0IHNpZGUgb2YgdGhlICc6JykuCiAJICAgICAgKGRlZmF1bHQgJ3NoaWZ0d2lkdGgnKS4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2luc2VydC50eHQgYi9ydW50aW1lL2RvYy9pbnNlcnQudHh0CmluZGV4IGE2MDYwYTAuLjYxYWFhNmYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2luc2VydC50eHQKKysrIGIvcnVudGltZS9kb2MvaW5zZXJ0LnR4dApAQCAtMSw0ICsxLDQgQEAKLSppbnNlcnQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyMworKmluc2VydC50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC01OTQsNyArNTk0LDcgQEAKIAogCQkJCQkJCSpjb21wbGV0ZV9DVFJMLUUqCiBXaGVuIGNvbXBsZXRpb24gaXMgYWN0aXZlIHlvdSBjYW4gdXNlIENUUkwtRSB0byBzdG9wIGl0IGFuZCBnbyBiYWNrIHRvIHRoZQotb3JpZ25hbGx5IHR5cGVkIHRleHQuICBUaGUgQ1RSTC1FIHdpbGwgbm90IGJlIGluc2VydGVkLgorb3JpZ2luYWxseSB0eXBlZCB0ZXh0LiAgVGhlIENUUkwtRSB3aWxsIG5vdCBiZSBpbnNlcnRlZC4KIAogCQkJCQkJCSpjb21wbGV0ZV9DVFJMLVkqCiBXaGVuIHRoZSBwb3B1cCBtZW51IGlzIGRpc3BsYXllZCB5b3UgY2FuIHVzZSBDVFJMLVkgdG8gc3RvcCBjb21wbGV0aW9uIGFuZApAQCAtMTM1Myw3ICsxMzUzLDcgQEAKIDwKICAgICBTdGlsbCwgdG8gZmluZCBteUNsYXNzIGNvbnRlbnRzIHRhZ3MgZmlsZSBpcyByZXF1aXJlZC4KIAotLSBmdW5jdGlvbiBuYW1lcyB3aXRoIGFkZGl0b25hbCBpbmZvOgorLSBmdW5jdGlvbiBuYW1lcyB3aXRoIGFkZGl0aW9uYWwgaW5mbzoKICAgLSBpbiBjYXNlIG9mIGJ1aWx0LWluIGZ1bmN0aW9ucyBsaXN0IG9mIHBvc3NpYmxlIGFyZ3VtZW50cyBhbmQgYWZ0ZXIgfCB0eXBlCiAgICAgZGF0YSByZXR1cm5lZCBieSBmdW5jdGlvbgogICAtIGluIGNhc2Ugb2YgdXNlciBmdW5jdGlvbiBhcmd1bWVudHMgYW5kIG5hbWUgb2YgZmlsZSB3ZXJlIGZ1bmN0aW9uIHdhcwpAQCAtMTM5NiwxMyArMTM5NiwxOCBAQAogTm90ZXM6CiAgLSBWaW0gd2lsbCBsb2FkL2V2YWx1YXRlIGNvZGUgaW4gb3JkZXIgdG8gcHJvdmlkZSBjb21wbGV0aW9ucy4gIFRoaXMgbWF5CiAgICBjYXVzZSBzb21lIGNvZGUgZXhlY3V0aW9uLCB3aGljaCBtYXkgYmUgYSBjb25jZXJuLgorIC0gSW4gY29udGV4dCAxIGFib3ZlLCBWaW0gY2FuIHBhcnNlIHRoZSBlbnRpcmUgYnVmZmVyIHRvIGFkZCBhIGxpc3Qgb2YKKyAgIGNsYXNzZXMgdG8gdGhlIGNvbXBsZXRpb24gcmVzdWx0cy4gVGhpcyBmZWF0dXJlIGlzIHR1cm5lZCBvZmYgYnkgZGVmYXVsdCwKKyAgIHRvIGVuYWJsZSBpdCBhZGQgPgorICAgICBsZXQgZzpydWJ5Y29tcGxldGVfY2xhc3Nlc19pbl9nbG9iYWwgPSAxCis8ICB0byB5b3VyIHZpbXJjCiAgLSBJbiBjb250ZXh0IDIgYWJvdmUsIGFub255bW91cyBjbGFzc2VzIGFyZSBub3Qgc3VwcG9ydGVkLgogIC0gSW4gY29udGV4dCAzIGFib3ZlLCBWaW0gd2lsbCBhdHRlbXB0IHRvIGRldGVybWluZSB0aGUgbWV0aG9kcyBzdXBwb3J0ZWQgYnkKICAgIHRoZSBvYmplY3QuCiAgLSBWaW0gY2FuIGRldGVjdCBhbmQgbG9hZCB0aGUgUmFpbHMgZW52aXJvbm1lbnQgZm9yIGZpbGVzIHdpdGhpbiBhIHJhaWxzCiAgICBwcm9qZWN0LiBUaGUgZmVhdHVyZSBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LCB0byBlbmFibGUgaXQgYWRkID4KLQkgICBsZXQgZzpydWJ5Y29tcGxldGVfcmFpbHMgPSAxCi08ICB0byB5b3VyIHZpbXJjLgorICAgICBsZXQgZzpydWJ5Y29tcGxldGVfcmFpbHMgPSAxCis8ICB0byB5b3VyIHZpbXJjCiAKIAogU1lOVEFYCQkJCQkJCSpmdC1zeW50YXgtb21uaSoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21hcC50eHQgYi9ydW50aW1lL2RvYy9tYXAudHh0CmluZGV4IGNlZjkwYjQuLjJjNTE1YzIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21hcC50eHQKKysrIGIvcnVudGltZS9kb2MvbWFwLnR4dApAQCAtMSw0ICsxLDQgQEAKLSptYXAudHh0KiAgICAgICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyMAorKm1hcC50eHQqICAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yMTksNyArMjE5LDcgQEAKIAogQmUgdmVyeSBjYXJlZnVsIGFib3V0IHNpZGUgZWZmZWN0cyEgIFRoZSBleHByZXNzaW9uIGlzIGV2YWx1YXRlZCB3aGlsZQogb2J0YWluaW5nIGNoYXJhY3RlcnMsIGlmIHlvdSBjaGFuZ2UgYnVmZmVyIHRleHQsIG1vdmUgdGhlIGN1cnNvciwgZWRpdCBhbm90aGVyCi1maWxlLCBldGMuIHlvdSBtYXkgdmVyeSB3ZWxsIG1ha2UgY29tbWFuZCBkaXNmdW5jdGlvbmFsLgorZmlsZSwgZXRjLiB5b3UgbWF5IHZlcnkgd2VsbCBtYWtlIGNvbW1hbmQgZHlzZnVuY3Rpb25hbC4KIAogSGVyZSBpcyBhbiBleGFtcGxlIHRoYXQgaW5zZXJ0cyBhIGxpc3QgbnVtYmVyIHRoYXQgaW5jcmVhc2VzOiA+CiAJbGV0IGNvdW50ZXIgPSAwCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9tb3Rpb24udHh0IGIvcnVudGltZS9kb2MvbW90aW9uLnR4dAppbmRleCA3ZmQ1MWFlLi5mYTY5YjllIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tb3Rpb24udHh0CisrKyBiL3J1bnRpbWUvZG9jL21vdGlvbi50eHQKQEAgLTEsNCArMSw0IEBACi0qbW90aW9uLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjIKKyptb3Rpb24udHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNzY5LDcgKzc2OSw3IEBACiAJCQkJCQkqOm1hcmtzKgogOm1hcmtzCQkJTGlzdCBhbGwgdGhlIGN1cnJlbnQgbWFya3MgKG5vdCBhIG1vdGlvbiBjb21tYW5kKS4KIAkJCVRoZSB8Jyh8LCB8Jyl8LCB8J3t8IGFuZCB8J318IG1hcmtzIGFyZSBub3QgbGlzdGVkLgotCQkJVGhlIGZpcnN0IGNvbHVtbiBpcyBudW1iZXIgemVyby4KKwkJCVRoZSBmaXJzdCBjb2x1bW4gaGFzIG51bWJlciB6ZXJvLgogCQkJe25vdCBpbiBWaX0KIAkJCQkJCSpFMjgzKgogOm1hcmtzIHthcmd9CQlMaXN0IHRoZSBtYXJrcyB0aGF0IGFyZSBtZW50aW9uZWQgaW4ge2FyZ30gKG5vdCBhCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dCBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CmluZGV4IDI4YTdmZTQuLmViY2I2YzkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CisrKyBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNAorKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xNDY1LDcgKzE0NjUsNyBAQAogCXRvIHVzZSB0aGUgc2l6ZSBmb3IgdGhlIEdVSSwgcHV0IHRoZSBjb21tYW5kIGluIHlvdXIgfGd2aW1yY3wgZmlsZS4KIAlXaGVuIHlvdSBzZXQgdGhpcyBvcHRpb24gYW5kIFZpbSBpcyB1bmFibGUgdG8gY2hhbmdlIHRoZSBwaHlzaWNhbAogCW51bWJlciBvZiBjb2x1bW5zIG9mIHRoZSBkaXNwbGF5LCB0aGUgZGlzcGxheSBtYXkgYmUgbWVzc2VkIHVwLgotCU1pbWltdW0gdmFsdWUgaXMgMTIsIG1heGltdW0gdmFsdWUgaXMgMTAwMDAuCisJTWluaW11bSB2YWx1ZSBpcyAxMiwgbWF4aW11bSB2YWx1ZSBpcyAxMDAwMC4KIAogCQkJCQkqJ2NvbW1lbnRzJyogKidjb20nKiAqRTUyNCogKkU1MjUqCiAnY29tbWVudHMnICdjb20nCXN0cmluZwkoZGVmYXVsdApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0IGIvcnVudGltZS9kb2Mvc3RhcnRpbmcudHh0CmluZGV4IGQ3YzlhOGEuLjc3Y2FiYWEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3N0YXJ0aW5nLnR4dAorKysgYi9ydW50aW1lL2RvYy9zdGFydGluZy50eHQKQEAgLTEsNCArMSw0IEBACi0qc3RhcnRpbmcudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKypzdGFydGluZy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTIzMyw5ICsxMjMzLDkgQEAKIAkJCWN1cnJlbnQgd2luZG93LgogCQkJV2hlbiBbIV0gaXMgaW5jbHVkZWQgYW4gZXhpc3RpbmcgZmlsZSBpcyBvdmVyd3JpdHRlbi4KIAkJCVdoZW4gW2ZpbGVdIGlzIG9taXR0ZWQgb3IgaXMgYSBudW1iZXIgZnJvbSAxIHRvIDksIGEKLQkJCW5hbWUgaXMgZ2VuZXJhdGVkIGFuZCAndmlld2RpcicgcHJlcGVuZGVkLiAgV2hlbiBsYXN0Ci0JCQlkaXJlY3RvcnkgbmFtZSBpbiAndmlld2RpcicgZG9lcyBub3QgZXhpc3QsIHRoaXMKLQkJCWRpcmVjdG9yeSBpcyBjcmVhdGVkLgkJCSpFNzM5KgorCQkJbmFtZSBpcyBnZW5lcmF0ZWQgYW5kICd2aWV3ZGlyJyBwcmVwZW5kZWQuICBXaGVuIHRoZQorCQkJbGFzdCBkaXJlY3RvcnkgbmFtZSBpbiAndmlld2RpcicgZG9lcyBub3QgZXhpc3QsIHRoaXMKKwkJCWRpcmVjdG9yeSBpcyBjcmVhdGVkLgogCQkJQW4gZXhpc3RpbmcgZmlsZSBpcyBhbHdheXMgb3ZlcndyaXR0ZW4gdGhlbi4gIFVzZQogCQkJfDpsb2Fkdmlld3wgdG8gbG9hZCB0aGlzIHZpZXcgYWdhaW4uCiAJCQlXaGVuIFtmaWxlXSBpcyB0aGUgbmFtZSBvZiBhIGZpbGUgKCd2aWV3ZGlyJyBpcyBub3QKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhYnBhZ2UudHh0IGIvcnVudGltZS9kb2MvdGFicGFnZS50eHQKaW5kZXggMmZlMzY2Yy4uNmZiZGViNSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFicGFnZS50eHQKKysrIGIvcnVudGltZS9kb2MvdGFicGFnZS50eHQKQEAgLTEsNCArMSw0IEBACi0qdGFicGFnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp0YWJwYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTYyLDggKzE2Miw4IEBACiAKIFJFT1JERVJJTkcgVEFCIFBBR0VTOgogCi0JCQkJCQkJKjp0YWJtKiAqOnRhYm1vdmUqCi06dGFibW92ZSBOCU1vdmUgdGhlIGN1cnJlbnQgdGFiIHBhZ2UgdG8gYWZ0ZXIgdGFiIHBhZ2UgTi4gIFVzZSB6ZXJvIHRvCis6dGFibVtvdmVdIFtOXQkJCQkJCSo6dGFibSogKjp0YWJtb3ZlKgorCQlNb3ZlIHRoZSBjdXJyZW50IHRhYiBwYWdlIHRvIGFmdGVyIHRhYiBwYWdlIE4uICBVc2UgemVybyB0bwogCQltYWtlIHRoZSBjdXJyZW50IHRhYiBwYWdlIHRoZSBmaXJzdCBvbmUuICBXaXRob3V0IE4gdGhlIHRhYgogCQlwYWdlIGlzIG1hZGUgdGhlIGxhc3Qgb25lLgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWdzIGIvcnVudGltZS9kb2MvdGFncwppbmRleCA3MWM5ZDA2Li4yODJiNzlhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90YWdzCisrKyBiL3J1bnRpbWUvZG9jL3RhZ3MKQEAgLTM5NTQsNyArMzk1NCw3IEBACiBFNzM2CWV2YWwudHh0CS8qRTczNioKIEU3MzcJZXZhbC50eHQJLypFNzM3KgogRTczOAlldmFsLnR4dAkvKkU3MzgqCi1FNzM5CXN0YXJ0aW5nLnR4dAkvKkU3MzkqCitFNzM5CWV2YWwudHh0CS8qRTczOSoKIEU3NAltZXNzYWdlLnR4dAkvKkU3NCoKIEU3NDAJZXZhbC50eHQJLypFNzQwKgogRTc0MQlldmFsLnR4dAkvKkU3NDEqCkBAIC0zOTY1LDcgKzM5NjUsNyBAQAogRTc0NglldmFsLnR4dAkvKkU3NDYqCiBFNzQ3CWVkaXRpbmcudHh0CS8qRTc0NyoKIEU3NDgJcmVwZWF0LnR4dAkvKkU3NDgqCi1FNzQ5CWV2YWwudHh0CS8qRTc0OSoKK0U3NDkJdmFyaW91cy50eHQJLypFNzQ5KgogRTc1CXZpX2RpZmYudHh0CS8qRTc1KgogRTc1MAlyZXBlYXQudHh0CS8qRTc1MCoKIEU3NTEJc3BlbGwudHh0CS8qRTc1MSoKQEAgLTU2MjcsNiArNTYyNyw3IEBACiBoZWJyZXcudHh0CWhlYnJldy50eHQJLypoZWJyZXcudHh0KgogaGVscAl2YXJpb3VzLnR4dAkvKmhlbHAqCiBoZWxwLWNvbnRleHQJaGVscC50eHQJLypoZWxwLWNvbnRleHQqCitoZWxwLXRhZ3MJdGFncwkxCiBoZWxwLXRyYW5zbGF0ZWQJdmFyaW91cy50eHQJLypoZWxwLXRyYW5zbGF0ZWQqCiBoZWxwLXh0ZXJtLXdpbmRvdwl2YXJpb3VzLnR4dAkvKmhlbHAteHRlcm0td2luZG93KgogaGVscC50eHQJaGVscC50eHQJLypoZWxwLnR4dCoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggMjk5MTlkOC4uM2RkNTZjMCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zMCw2ICszMCw4IEBACiAJCQkJCQkJKmtub3duLWJ1Z3MqCiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBLbm93biBidWdzIGFuZCBjdXJyZW50IHdvcmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorR1RLOiB3aGVuIGV4ZWN1dGluZyBzaGVsbCBkaXNhYmxlIHRhYiBwYWdlIGxhYmVscy4gKFNlYW4pCisKIEFkZCBtb3JlIHRlc3RzIGZvciBhbGwgbmV3IGZ1bmN0aW9uYWxpdHkgaW4gVmltIDcuICBFc3BlY2lhbGx5IG5ldyBmdW5jdGlvbnMuCiAKIERhcnJlbiBIaWViZXJ0IGlzIGluY2x1ZGluZyB0aGUgcGF0Y2ggZm9yIG9tbmkgY29tcGxldGlvbiBpbiBjdGFncy4gIEEgbmV3CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfMjEudHh0IGIvcnVudGltZS9kb2MvdXNyXzIxLnR4dAppbmRleCBkMDdmYmU4Li5hNDNmMDI0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfMjEudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl8yMS50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzIxLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp1c3JfMjEudHh0KglGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNQogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApAQCAtMTY1LDcgKzE2NSw3IEBACiAgICBWaW0gY3JlYXRlcyBhIG1hcmsgZWFjaCB0aW1lIHlvdSBleGl0IFZpbS4gIFRoZSBsYXN0IG9uZSBpcyAnMC4gIFRoZQogcG9zaXRpb24gdGhhdCAnMCBwb2ludGVkIHRvIGlzIG1hZGUgJzEuICBBbmQgJzEgaXMgbWFkZSB0byAnMiwgYW5kIHNvIGZvcnRoLgogTWFyayAnOSBpcyBsb3N0LgotICAgVGhlICI6bWFya3MiIGNvbW1hbmQgaXMgdXNlZnVsIHRvIGZpbmQgb3V0IHdoZXJlICcwIHRvICc5IHdpbGwgdGFrZSB5b3UuCisgICBUaGUgfDptYXJrc3wgY29tbWFuZCBpcyB1c2VmdWwgdG8gZmluZCBvdXQgd2hlcmUgJzAgdG8gJzkgd2lsbCB0YWtlIHlvdS4KIAogCiBNT1ZFIElORk8gRlJPTSBPTkUgVklNIFRPIEFOT1RIRVIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0IGIvcnVudGltZS9kb2MvdmFyaW91cy50eHQKaW5kZXggOTlmNGE0NS4uNjAxZjE3YiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmFyaW91cy50eHQKKysrIGIvcnVudGltZS9kb2MvdmFyaW91cy50eHQKQEAgLTEsNCArMSw0IEBACi0qdmFyaW91cy50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp2YXJpb3VzLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtODUsNyArODUsNyBAQAogCQkJe25vdCBpbiBWaX0ge29ubHkgd2hlbiBjb21waWxlZCB3aXRoIHRoZSB8K211bHRpX2J5dGV8CiAJCQlmZWF0dXJlfQogCi0JCQkJCQkJKjpwKiAqOnByKiAqOnByaW50KgorCQkJCQkJKjpwKiAqOnByKiAqOnByaW50KiAqRTc0OSoKIDpbcmFuZ2VdcFtyaW50XSBbZmxhZ3NdCiAJCQlQcmludCBbcmFuZ2VdIGxpbmVzIChkZWZhdWx0IGN1cnJlbnQgbGluZSkuCiAJCQlOb3RlOiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgd2F5IHRvIHByaW50IHlvdXIgdGV4dApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0IGIvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CmluZGV4IGMwNDIyM2QuLjA2YTBhZWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dAorKysgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKQEAgLTEsNCArMSw0IEBACi0qdmVyc2lvbjcudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGYuICBMYXN0IGNoYW5nZTogMjAwNiBBcHIgMjQKKyp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wZi4gIExhc3QgY2hhbmdlOiAyMDA2IEFwciAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTEwNCw3ICsxMTA0LDcgQEAKIE1vdmUgdGhlIGhlbHAgZm9yIHByaW50aW5nIHRvIGEgc2VwYXJhdGUgaGVscCBmaWxlLiAgSXQncyBxdWl0ZSBhIGxvdCBub3cuCiAKIFdoZW4gZG9pbmcgY29tcGxldGlvbiBmb3IgIjohY21kIiwgIjpyICFjbWQiIG9yICI6dyAhY21kIiBleGVjdXRhYmxlIGZpbGVzIGFyZQotZm91bmQgaW4gJFBBVEggaW5zdGVhZCBvZiBsb29raW5nIGZvciBvcmRpbmFyeSBmaWxlcyBpbiB0aGUgY3VycmVudCBkaXJlY3RscnkuCitmb3VuZCBpbiAkUEFUSCBpbnN0ZWFkIG9mIGxvb2tpbmcgZm9yIG9yZGluYXJ5IGZpbGVzIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4KIAogV2hlbiAiOnNpbGVudCIgaXMgdXNlZCBhbmQgYSBiYWNrd2FyZHMgcmFuZ2UgaXMgZ2l2ZW4gZm9yIGFuIEV4IGNvbW1hbmQgdGhlCiByYW5nZSBpcyBzd2FwcGVkIGF1dG9tYXRpY2FsbHkgaW5zdGVhZCBvZiBhc2tpbmcgaWYgdGhhdCBpcyBPSy4KQEAgLTI2MDksNSArMjYwOSwxMSBAQAogCiBMaW5lIGNvbXBsZXRpb24gb24gIi8qKiIgZ2F2ZSBlcnJvciBtZXNzYWdlcyB3aGVuIHNjYW5uaW5nIGFuIHVubG9hZGVkIGJ1ZmZlci4KIAorLS0tIGZpeGVzIGFuZCBjaGFuZ2VzIHNpbmNlIFZpbSA3LjBmIC0tLQorCitXaW4zMjogVGhlIGhlaWdodCBvZiB0aGUgdGFiIHBhZ2UgbGFiZWxzIGlzIG5vdyBhZGp1c3RlZCB0byB0aGUgZm9udCBoZWlnaHQuCisoWWVnYXBwYW4gTGFrc2htYW5hbikKKworV2luMzI6IHNlbGVjdGluZyB0aGUgdGFiIGxhYmVsIHdhcyBvZmYgYnkgb25lLiAoWWVnYXBwYW4gTGFrc2htYW5hbikKIAogIHZpbTp0dz03ODp0cz04OmZ0PWhlbHA6bm9ybDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZpbWJhbGwudHh0IGIvcnVudGltZS9kb2MvdmltYmFsbC50eHQKaW5kZXggOTk4NDNjYi4uY2U4YmM0OSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmltYmFsbC50eHQKKysrIGIvcnVudGltZS9kb2MvdmltYmFsbC50eHQKQEAgLTEsNCArMSw0IEBACi0qdmltYmFsbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI0CisqdmltYmFsbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBmLiAgTGFzdCBjaGFuZ2U6IDIwMDYgQXByIDI1CiAKIAlWaW1iYWxsIEFyY2hpdmVyCiAKQEAgLTU2LDYgKzU2LDEwIEBACiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIDMuIFZpbWJhbGwgSGlzdG9yeQkJCQkJKnZpbWJhbGwtaGlzdG9yeSoKIAorCTcgIDogQXByIDI1LCAyMDA2ICogYnlwYXNzZXMgZm9sZGVuYWJsZQorCSAgICAgICAgICAgICAgICAgICogdXNlcyBtb3JlIGV4ZSBhbmQgbGVzcyBub3JtISAoOnlhbmsgOnB1dCBldGMpCisJCQkgICogZG9lcyBiZXR0ZXIgYXQgaW5zdXJpbmcgYSAiUHJlc3MgRU5URVIiIHByb21wdAorCQkJICAgIGFwcGVhcnMgdG8ga2VlcCBpdHMgbWVzc2FnZXMgdmlzaWJsZQogCTQgIDogTWFyIDMxLCAyMDA2ICogQnVmUmVhZFBvc3Qgc2VlbXMgdG8gZmlyZSB0d2ljZTsgQnVmUmVhZEVudGVyCiAJICAgICAgICAgICAgICAgICAgICBvbmx5IGZpcmVzIG9uY2UsIHNvIHRoZSAiU291cmNlIHRoaXMgZmlsZS4uLiIKIAkJCSAgICBtZXNzYWdlIGlzIG5vdyBpc3N1ZWQgb25seSBvbmNlLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvcnVieS52aW0gYi9ydW50aW1lL2luZGVudC9ydWJ5LnZpbQppbmRleCA1ZDQ4YTc5Li4zYTI4MzdlIDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9ydWJ5LnZpbQorKysgYi9ydW50aW1lL2luZGVudC9ydWJ5LnZpbQpAQCAtMSwxMSArMSwxMCBAQAogIiBWaW0gaW5kZW50IGZpbGUKLSIgTGFuZ3VhZ2U6CVJ1YnkKLSIgTWFpbnRhaW5lcjoJR2F2aW4gU2luY2xhaXIgPGdzaW5jbGFpciBhdCBzb3lhYmVhbi5jb20uYXU+Ci0iIERldmVsb3BlcjoJTmlrb2xhaSBXZWlidWxsIDxzb3VyY2UgYXQgcGNwcG9wcGVyLm9yZz4KLSIgSW5mbzoJCSRJZCQKLSIgVVJMOgkJaHR0cDovL3ZpbS1ydWJ5LnJ1Ynlmb3JnZS5vcmcKLSIgQW5vbiBDVlM6CVNlZSBhYm92ZSBzaXRlCi0iIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgTGFuZ3VhZ2U6CQlSdWJ5CisiIE1haW50YWluZXI6CQlOaWtvbGFpIFdlaWJ1bGwgPG5vdyBhdCBiaXR3aS5zZT4KKyIgSW5mbzoJCQkkSWQkCisiIFVSTDoJCQlodHRwOi8vdmltLXJ1YnkucnVieWZvcmdlLm9yZworIiBBbm9uIENWUzoJCVNlZSBhYm92ZSBzaXRlCisiIFJlbGVhc2UgQ29vcmRpbmF0b3I6CURvdWcgS2Vhcm5zIDxkb3Vna2Vhcm5zQGdtYWlsLmNvbT4KIAogIiAwLiBJbml0aWFsaXphdGlvbiB7e3sxCiAiID09PT09PT09PT09PT09PT09CkBAIC0xNiw2ICsxNSw4IEBACiBlbmRpZgogbGV0IGI6ZGlkX2luZGVudCA9IDEKIAorc2V0bG9jYWwgbm9zbWFydGluZGVudAorCiAiIE5vdywgc2V0IHVwIG91ciBpbmRlbnRhdGlvbiBleHByZXNzaW9uIGFuZCBrZXlzIHRoYXQgdHJpZ2dlciBpdC4KIHNldGxvY2FsIGluZGVudGV4cHI9R2V0UnVieUluZGVudCgpCiBzZXRsb2NhbCBpbmRlbnRrZXlzPTB7LDB9LDApLDBdLCFeRixvLE8sZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9sYW5nL21lbnVfY2hpbmVzZV9nYi45MzYudmltIGIvcnVudGltZS9sYW5nL21lbnVfY2hpbmVzZV9nYi45MzYudmltCmluZGV4IGQxMWE0YjIuLjQ5NmUyZDggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvbGFuZy9tZW51X2NoaW5lc2VfZ2IuOTM2LnZpbQorKysgYi9ydW50aW1lL2xhbmcvbWVudV9jaGluZXNlX2diLjkzNi52aW0KQEAgLTE0LDcgKzE0LDcgQEAKIAogIiBIZWxwIG1lbnUKIG1lbnV0cmFucyAmSGVscAkJCbDv1vooJkgpCi1tZW51dHJhbnMgJk92ZXJ2aWV3PFRhYj48RjE+CdSkwMAoJk8pPFRhYj48RjE+CittZW51dHJhbnMgJk92ZXJ2aWV3PFRhYj48RjE+CdfdwMAoJk8pPFRhYj48RjE+CiBtZW51dHJhbnMgJlVzZXJcIE1hbnVhbAkJ08O7p8rWsuEoJlUpCiBtZW51dHJhbnMgJkhvdy10b1wgbGlua3MJSG93LXRvXCDBrL3TKCZIKQogbWVudXRyYW5zICZGaW5kXC5cLlwuCQmy6dXSKCZGKVwuXC5cLgpAQCAtODAsNyArODAsNyBAQAogbWVudXRyYW5zIFRhJmdcIEZpbGVzXC5cLlwuCQkJVGFnXCDOxLz+KCZUKVwuXC5cLgogCiAiIEdVSSBvcHRpb25zCi1tZW51dHJhbnMgVG9nZ2xlXCAmVG9vbGJhcgkJCb+qL7nYuaS+38z1KCZUKQorbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCQm/qi+52Lmkvt/AuCgmVCkKIG1lbnV0cmFucyBUb2dnbGVcICZCb3R0b21cIFNjcm9sbGJhcgkJv6ovudi117K/ufa2r8z1KCZCKQogbWVudXRyYW5zIFRvZ2dsZVwgJkxlZnRcIFNjcm9sbGJhcgkJv6ovudjX87bLufa2r8z1KCZMKQogbWVudXRyYW5zIFRvZ2dsZVwgJlJpZ2h0XCBTY3JvbGxiYXIJCb+qL7nY09K2y7n2tq/M9SgmUikKZGlmZiAtLWdpdCBhL3J1bnRpbWUvbGFuZy9tZW51X3poX2NuLmdiMjMxMi52aW0gYi9ydW50aW1lL2xhbmcvbWVudV96aF9jbi5nYjIzMTIudmltCmluZGV4IDFlYzBmYmQuLmRhYTRkMGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvbGFuZy9tZW51X3poX2NuLmdiMjMxMi52aW0KKysrIGIvcnVudGltZS9sYW5nL21lbnVfemhfY24uZ2IyMzEyLnZpbQpAQCAtMTQsNyArMTQsNyBAQAogCiAiIEhlbHAgbWVudQogbWVudXRyYW5zICZIZWxwCQkJsO/W+igmSCkKLW1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4J1KTAwCgmTyk8VGFiPjxGMT4KK21lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4J193AwCgmTyk8VGFiPjxGMT4KIG1lbnV0cmFucyAmVXNlclwgTWFudWFsCQnTw7unytay4SgmVSkKIG1lbnV0cmFucyAmSG93LXRvXCBsaW5rcwlIb3ctdG9cIMGsvdMoJkgpCiBtZW51dHJhbnMgJkZpbmRcLlwuXC4JCbLp1dIoJkYpXC5cLlwuCkBAIC04MCw3ICs4MCw3IEBACiBtZW51dHJhbnMgVGEmZ1wgRmlsZXNcLlwuXC4JCQlUYWdcIM7EvP4oJlQpXC5cLlwuCiAKICIgR1VJIG9wdGlvbnMKLW1lbnV0cmFucyBUb2dnbGVcICZUb29sYmFyCQkJv6ovudi5pL7fzPUoJlQpCittZW51dHJhbnMgVG9nZ2xlXCAmVG9vbGJhcgkJCb+qL7nYuaS+38C4KCZUKQogbWVudXRyYW5zIFRvZ2dsZVwgJkJvdHRvbVwgU2Nyb2xsYmFyCQm/qi+52LXXsr+59ravzPUoJkIpCiBtZW51dHJhbnMgVG9nZ2xlXCAmTGVmdFwgU2Nyb2xsYmFyCQm/qi+52Nfztsu59ravzPUoJkwpCiBtZW51dHJhbnMgVG9nZ2xlXCAmUmlnaHRcIFNjcm9sbGJhcgkJv6ovudjT0rbLufa2r8z1KCZSKQpkaWZmIC0tZ2l0IGEvcnVudGltZS9sYW5nL21lbnVfemhfY24udXRmLTgudmltIGIvcnVudGltZS9sYW5nL21lbnVfemhfY24udXRmLTgudmltCmluZGV4IGQzZWRkNTguLmM4ZWIxYWMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvbGFuZy9tZW51X3poX2NuLnV0Zi04LnZpbQorKysgYi9ydW50aW1lL2xhbmcvbWVudV96aF9jbi51dGYtOC52aW0KQEAgLTE0LDcgKzE0LDcgQEAKIAogIiBIZWxwIG1lbnUKIG1lbnV0cmFucyAmSGVscAkJCeW4ruWKqSgmSCkKLW1lbnV0cmFucyAmT3ZlcnZpZXc8VGFiPjxGMT4J6aKE6KeIKCZPKTxUYWI+PEYxPgorbWVudXRyYW5zICZPdmVydmlldzxUYWI+PEYxPgnnurXop4goJk8pPFRhYj48RjE+CiBtZW51dHJhbnMgJlVzZXJcIE1hbnVhbAkJ55So5oi35omL5YaMKCZVKQogbWVudXRyYW5zICZIb3ctdG9cIGxpbmtzCUhvdy10b1wg6L+e5o6lKCZIKQogbWVudXRyYW5zICZGaW5kXC5cLlwuCQnmn6Xmib4oJkYpXC5cLlwuCkBAIC04MCw3ICs4MCw3IEBACiBtZW51dHJhbnMgVGEmZ1wgRmlsZXNcLlwuXC4JCQlUYWdcIOaWh+S7tigmVClcLlwuXC4KIAogIiBHVUkgb3B0aW9ucwotbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCQnlvIAv5YWz5bel5YW35p2hKCZUKQorbWVudXRyYW5zIFRvZ2dsZVwgJlRvb2xiYXIJCQnlvIAv5YWz5bel5YW35qCPKCZUKQogbWVudXRyYW5zIFRvZ2dsZVwgJkJvdHRvbVwgU2Nyb2xsYmFyCQnlvIAv5YWz5bqV6YOo5rua5Yqo5p2hKCZCKQogbWVudXRyYW5zIFRvZ2dsZVwgJkxlZnRcIFNjcm9sbGJhcgkJ5byAL+WFs+W3puerr+a7muWKqOadoSgmTCkKIG1lbnV0cmFucyBUb2dnbGVcICZSaWdodFwgU2Nyb2xsYmFyCQnlvIAv5YWz5Y+z56uv5rua5Yqo5p2hKCZSKQpkaWZmIC0tZ2l0IGEvcnVudGltZS9wbHVnaW4vdmltYmFsbFBsdWdpbi52aW0gYi9ydW50aW1lL3BsdWdpbi92aW1iYWxsUGx1Z2luLnZpbQppbmRleCAzNTE1ODg5Li5lMWVhNTdlIDEwMDY0NAotLS0gYS9ydW50aW1lL3BsdWdpbi92aW1iYWxsUGx1Z2luLnZpbQorKysgYi9ydW50aW1lL3BsdWdpbi92aW1iYWxsUGx1Z2luLnZpbQpAQCAtMjEsNiArMjEsNyBAQAogY29tISAtcmEgLW5hPSsgLWJhbmcgTWtWaW1iYWxsIGNhbGwgdmltYmFsbCNNa1ZpbWJhbGwoPGxpbmUxPiw8bGluZTI+LDxiYW5nPjAsPGYtYXJncz4pCiBjb20hIC1uYT0wIFVzZVZpbWJhbGwgIGNhbGwgdmltYmFsbCNWaW1iYWxsKDEpCiBjb20hIC1uYT0wIFZpbWJhbGxMaXN0IGNhbGwgdmltYmFsbCNWaW1iYWxsKDApCithdSBCdWZFbnRlciAqLnZiYS5neiwqLnZiYS5iejIsKi52YmEuemlwIGNhbGwgdmltYmFsbCNEZWNvbXByZXNzKGV4cGFuZCgiPGFtYXRjaD4iKSkKIGF1IEJ1ZkVudGVyICoudmJhIGVjaG9obCBXYXJuaW5nTXNnIHwgZWNobyAiU291cmNlIHRoaXMgZmlsZSB0byBleHRyYWN0IGl0ISAoOnNvICUpIiB8IGVjaG9obCBOb25lCiAKIGxldCAmY3BvPSBzOmtlZXBjcG8KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NzLnZpbQppbmRleCA5NDhiMTI1Li42YTYxZWQyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY3MudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CUMjCiAiIE1haW50YWluZXI6CUpvaGFubmVzIFplbGxuZXIgPGpvaGFubmVzQHplbGxuZXIub3JnPgotIiBMYXN0IENoYW5nZToJTWksIDEzIEFwciAyMDA1IDIyOjUyOjU3IENFU1QKKyIgTGFzdCBDaGFuZ2U6CU1vLCAyNCBBcHIgMjAwNiAxMDoxMTowNyBDRVNUCiAiIEZpbGVuYW1lczoJKi5jcwogIiAkSWQkCiAiCkBAIC0yMCw3ICsyMCw3IEBACiBzeW4ga2V5d29yZCBjc1R5cGUJCQlib29sIGJ5dGUgY2hhciBkZWNpbWFsIGRvdWJsZSBmbG9hdCBpbnQgbG9uZyBvYmplY3Qgc2J5dGUgc2hvcnQgc3RyaW5nIHVpbnQgdWxvbmcgdXNob3J0IHZvaWQKICIgc3RvcmFnZQogc3luIGtleXdvcmQgY3NTdG9yYWdlCQkJY2xhc3MgZGVsZWdhdGUgZW51bSBpbnRlcmZhY2UgbmFtZXNwYWNlIHN0cnVjdAotIiByZXBlYXRlIC8gY29uZGl0aW9uIC8gbGFiZWwKKyIgcmVwZWF0IC8gY29uZGl0aW9uIC8gbGFiZWwKIHN5biBrZXl3b3JkIGNzUmVwZWF0CQkJYnJlYWsgY29udGludWUgZG8gZm9yIGZvcmVhY2ggZ290byByZXR1cm4gd2hpbGUKIHN5biBrZXl3b3JkIGNzQ29uZGl0aW9uYWwJCWVsc2UgaWYgc3dpdGNoCiBzeW4ga2V5d29yZCBjc0xhYmVsCQkJY2FzZSBkZWZhdWx0CkBAIC01MSw4ICs1MSw4IEBACiAiIFRPRE86IGluY2x1ZGUgc3RyaW5ncyA/CiAiCiBzeW4ga2V5d29yZCBjc1RvZG8JCWNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCi1zeW4gcmVnaW9uICBjc0NvbW1lbnQJCXN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIgY29udGFpbnM9QGNzQ29tbWVudEhvb2ssY3NUb2RvCi1zeW4gbWF0Y2ggICBjc0NvbW1lbnQJCSIvLy4qJCIgY29udGFpbnM9QGNzQ29tbWVudEhvb2ssY3NUb2RvCitzeW4gcmVnaW9uICBjc0NvbW1lbnQJCXN0YXJ0PSIvXCoiICBlbmQ9IlwqLyIgY29udGFpbnM9QGNzQ29tbWVudEhvb2ssY3NUb2RvLEBTcGVsbAorc3luIG1hdGNoICAgY3NDb21tZW50CQkiLy8uKiQiIGNvbnRhaW5zPUBjc0NvbW1lbnRIb29rLGNzVG9kbyxAU3BlbGwKIAogIiB4bWwgbWFya3VwIGluc2lkZSAnLy8vJyBjb21tZW50cwogc3luIGNsdXN0ZXIgeG1sUmVnaW9uSG9vawlhZGQ9Y3NYbWxDb21tZW50TGVhZGVyCkBAIC05Miw5ICs5Miw5IEBACiAiIHVuaWNvZGUgY2hhcmFjdGVycwogc3luIG1hdGNoICAgY3NVbmljb2RlTnVtYmVyCStcXFwodVx4XHs0fVx8VVx4XHs4fVwpKyBjb250YWluZWQgY29udGFpbnM9Y3NVbmljb2RlU3BlY2lmaWVyCiBzeW4gbWF0Y2ggICBjc1VuaWNvZGVTcGVjaWZpZXIJK1xcW3VVXSsgY29udGFpbmVkCi1zeW4gcmVnaW9uICBjc1ZlcmJhdGltU3RyaW5nCXN0YXJ0PStAIisgZW5kPSsiKyBlbmQ9KyQrIHNraXA9KyIiKyBjb250YWlucz1jc1ZlcmJhdGltU3BlYworc3luIHJlZ2lvbiAgY3NWZXJiYXRpbVN0cmluZwlzdGFydD0rQCIrIGVuZD0rIisgZW5kPSskKyBza2lwPSsiIisgY29udGFpbnM9Y3NWZXJiYXRpbVNwZWMsQFNwZWxsCiBzeW4gbWF0Y2ggICBjc1ZlcmJhdGltU3BlYwkrQCIraGU9cysxIGNvbnRhaW5lZAotc3luIHJlZ2lvbiAgY3NTdHJpbmcJCXN0YXJ0PSsiKyAgZW5kPSsiKyBlbmQ9KyQrIGNvbnRhaW5zPWNzU3BlY2lhbENoYXIsY3NTcGVjaWFsRXJyb3IsY3NVbmljb2RlTnVtYmVyCitzeW4gcmVnaW9uICBjc1N0cmluZwkJc3RhcnQ9KyIrICBlbmQ9KyIrIGVuZD0rJCsgY29udGFpbnM9Y3NTcGVjaWFsQ2hhcixjc1NwZWNpYWxFcnJvcixjc1VuaWNvZGVOdW1iZXIsQFNwZWxsCiBzeW4gbWF0Y2ggICBjc0NoYXJhY3RlcgkJIidbXiddKiciIGNvbnRhaW5zPWNzU3BlY2lhbENoYXIsY3NTcGVjaWFsQ2hhckVycm9yCiBzeW4gbWF0Y2ggICBjc0NoYXJhY3RlcgkJIidcXCcnIiBjb250YWlucz1jc1NwZWNpYWxDaGFyCiBzeW4gbWF0Y2ggICBjc0NoYXJhY3RlcgkJIidbXlxcXSciCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ybm93ZWIudmltIGIvcnVudGltZS9zeW50YXgvcm5vd2ViLnZpbQppbmRleCA3YTEwNmVjLi45ODA1ZjY3IDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9ybm93ZWIudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Jub3dlYi52aW0KQEAgLTEsOCArMSw4IEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZTogICAgUiBub3dlYiBGaWxlcwogIiBNYWludGFpbmVyOiAgSm9oYW5uZXMgUmFua2UgPGpyYW5rZUB1bmktYnJlbWVuLmRlPgotIiBMYXN0IENoYW5nZTogMjAwNiBBcHIgMTgKLSIgVmVyc2lvbjogICAgIDAuNSAKKyIgTGFzdCBDaGFuZ2U6IDIwMDYgQXByIDI1CisiIFZlcnNpb246ICAgICAwLjYKICIgU1ZOOgkgICAgICAgJElkJAogIiBSZW1hcmtzOiAgICAgLSBUaGlzIGZpbGUgaXMgaW5zcGlyZWQgYnkgdGhlIHByb3Bvc2FsIG9mIAogIgkJCQkgRmVybmFuZG8gSGVucmlxdWUgRmVycmF6IFBlcmVpcmEgZGEgUm9zYSA8ZmVmZXJyYXpAaW1lLnVzcC5icj4KQEAgLTUwLDYgKzUwLDcgQEAKICIgSGlnaGxpZ2h0aW5nIHt7ezEKIGhpIGRlZiBsaW5rIHJub3dlYkRlbGltaXRlcglEZWxpbWl0ZXIKIGhpIGRlZiBsaW5rIHJub3dlYlN3ZWF2ZU9wdHMgU3RhdGVtZW50CitoaSBkZWYgbGluayBybm93ZWJDaHVua1JlZmVyZW5jZSBEZWxpbWl0ZXIKIAogbGV0ICAgYjpjdXJyZW50X3N5bnRheCA9ICJybm93ZWIiCiAiIHZpbTogZm9sZG1ldGhvZD1tYXJrZXI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaXN1LnZpbSBiL3J1bnRpbWUvc3ludGF4L3Npc3UudmltCmluZGV4IGQ1NmI0MWMuLjM5OWI3YTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Npc3UudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3Npc3UudmltCkBAIC01LDEyICs1LDExIEBACiBpZiB2ZXJzaW9uIDwgNjAwCiAgIHN5bnRheCBjbGVhcgogZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCi0iICA6Y29sb3JzY2hlbWUgZ3JlZW4KICAgZmluaXNoCiBlbHNlCiBlbmRpZgogIiUgMTEgRXJyb3JzPwotc3luIG1hdGNoIHNpc3VfZXJyb3IgY29udGFpbnM9c2lzdV9jb250YWluLHNpc3VfY29udHJvbCxzaXN1X21hcmtwYXJhLHNpc3VfbWFyayxzaXN1X2NvbnRlbnRfYWx0LHNpc3VfZXJyb3Jfd3NwYWNlICI8IVteZWldXFNcKyE+Igorc3luIG1hdGNoIHNpc3VfZXJyb3IgY29udGFpbnM9c2lzdV9saW5rLHNpc3VfZXJyb3Jfd3NwYWNlICI8IVteZWldXFNcKyE+IgogIiUgMTAgTWFya2VyczogRW5kbm90ZSBJZGVudGlmaWVycywgUGFnZWJyZWFrcyBldGMuOiAKIGlmICFleGlzdHMoInNpc3Vfbm9faWRlbnRpZmllcnMiKQogICBzeW4gbWF0Y2ggICBzaXN1X21hcmtfZW5kbm90ZSAgICJcfl4iCkBAIC0zMyw2MyArMzIsNjQgQEAKIGVuZGlmCiAiJSA5IFVSTHMgTnVtYmVyczogYW5kIEFTQ0lJIENvZGVzCiBzeW4gbWF0Y2ggICBzaXN1X251bWJlciAgICAgICAgICAgIlw8XCgweFx4XCtcfDBiWzAxXVwrXHwwXG9cK1x8MFwuXGRcK1x8MFx8WzEtOV1bXC4wLTlfXSpcKVw+Igotc3luIG1hdGNoICAgc2lzdV9saW5rICAgICAgICAgICAgICJcKGh0dHA6Ly9cfFwuXC4vXClcU1wrIgogc3luIG1hdGNoICAgc2lzdV9udW1iZXIgICAgICAgICAgICI/XChcXE0tXFxDLVx8XFxjXHxcXEMtXHxcXE0tXClcPVwoXFxcb1x7M31cfFxceFx4XHsyfVx8XFxcPVx3XCkiCiAiJSA4IFR1bmVkIEVycm9yIC0gaXMgZXJyb3IgaWYgbm90IGFscmVhZHkgbWF0Y2hlZAogc3luIG1hdGNoIHNpc3VfZXJyb3IgICAgICAgICAgICAgICJbXH4vXCohX117XHx9W1x+L1wqIV9dIiBjb250YWlucz1zaXN1X2Vycm9yCiBzeW4gbWF0Y2ggc2lzdV9lcnJvciAgICAgICAgICAgICAgIjxhIGhyZWZcfDwvYT5dIiBjb250YWlucz1zaXN1X2Vycm9yCiAiJSA3IFNpbXBsZSBFbmNsb3NlZCBNYXJrdXA6CiAiIFNpbXBsZSBNYXJrdXA6CisiJSAgIHVybC9saW5rCitzeW4gcmVnaW9uIHNpc3VfbGluayBjb250YWlucz1zaXN1X2Vycm9yLEBOb1NwZWxsIG1hdGNoZ3JvdXA9c2lzdV9saW5rIHN0YXJ0PSJcKGh0dHA6Ly9cfFwuXC5cL1wpIiBlbmQ9IlwoXHNcfCRcKSIKK3N5biByZWdpb24gc2lzdV9saW5rIGNvbnRhaW5zPXNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2UgbWF0Y2hncm91cD1zaXN1X2FjdGlvbiBzdGFydD0iXjw8XHMqfFthLXpBLVowLTleLl8tXVwrfEB8W2EtekEtWjAtOV4uXy1dXCt8InJzPXMrMiBlbmQ9IiQiCiAiJSAgIGhlYWRlcgogc3luIHJlZ2lvbiBzaXN1X2hlYWRlcl9jb250ZW50IGNvbnRhaW5zPXNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9jb250ZW50X2FsdCxzaXN1X2xpbmssc2lzdV9saW5rZWQsc2lzdV9icmVhayBtYXRjaGdyb3VwPXNpc3VfaGVhZGVyIHN0YXJ0PSJeMFx+XChcU1wrXHxbXi1dXCkiIGVuZD0iJCIKIHN5biByZWdpb24gc2lzdV9oZWFkZXJfY29udGVudCBjb250YWlucz1zaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfY29udGVudF9hbHQsc2lzdV9saW5rLHNpc3VfbGlua2VkLHNpc3VfYnJlYWsgbWF0Y2hncm91cD1zaXN1X2hlYWRlciBzdGFydD0iXjBcflwodGFnc1w/XHxkYXRlXClcc1wrInJzPWUtMSBlbmQ9IlxuJCIKIHN5biByZWdpb24gc2lzdV9oZWFkZXJfY29udGVudCBjb250YWlucz1zaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfY29udGVudF9hbHQsc2lzdV9saW5rLHNpc3VfbGlua2VkLHNpc3VfYnJlYWsgbWF0Y2hncm91cD1zaXN1X2hlYWRlciBzdGFydD0iXkBcU1wrOlsrLV1cP1xzInJzPWUtMSBlbmQ9IiQiCiBzeW4gcmVnaW9uIHNpc3VfaGVhZGVyX2NvbnRlbnQgY29udGFpbnM9c2lzdV9lcnJvcixzaXN1X2Vycm9yX3dzcGFjZSxzaXN1X2NvbnRlbnRfYWx0LHNpc3VfbGluayxzaXN1X2xpbmtlZCxzaXN1X2JyZWFrIG1hdGNoZ3JvdXA9c2lzdV9oZWFkZXIgc3RhcnQ9Il5AXCh0YWdzXD9cfGRhdGVcKTpcc1wrInJzPWUtMSBlbmQ9IlxuJCIKICIlICAgaGVhZGluZ3MKLXN5biByZWdpb24gc2lzdV9oZWFkaW5nIGNvbnRhaW5zPXNpc3VfbWFya19lbmRub3RlLHNpc3VfY29udGVudF9lbmRub3RlLHNpc3VfbWFya3RhaWwsc2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X29jbixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9zdHJ1Y3R1cmUgc3RhcnQ9Il5cKFsxLThdXHw6XD9bQS1DXVwpXH5cKFxTXCtcfFteLV1cKSIgZW5kPSIkIgorc3luIHJlZ2lvbiBzaXN1X2hlYWRpbmcgY29udGFpbnM9c2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9tYXJrdGFpbCxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3Vfb2NuLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2UsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9zdHJ1Y3R1cmUgc3RhcnQ9Il5cKFsxLThdXHw6XD9bQS1DXVwpXH5cKFxTXCtcfFteLV1cKSIgZW5kPSIkIgogIiUgICBncm91cGVkIHRleHQKLXN5biByZWdpb24gc2lzdV9jb250ZW50X2FsdCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9InRhYmxley5cKyIgZW5kPSJ9dGFibGUiCi1zeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9jb250YWluIHN0YXJ0PSJ7dFx+aH0iIGVuZD0iJCQiCi1zeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9saW5rLHNpc3VfbWFyayxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9Il5cKGFsdFx8Z3JvdXBcfHBvZW1cKXsiIGVuZD0iXn1cKGFsdFx8Z3JvdXBcfHBvZW1cKSIKK3N5biByZWdpb24gc2lzdV9jb250ZW50X2FsdCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9jb250YWluIHN0YXJ0PSJ0YWJsZXsuXCsiIGVuZD0ifXRhYmxlIgorc3luIHJlZ2lvbiBzaXN1X2NvbnRlbnRfYWx0IGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9Int0XH5ofSIgZW5kPSIkJCIKK3N5biByZWdpb24gc2lzdV9jb250ZW50X2FsdCBjb250YWlucz1zaXN1X21hcmtfZW5kbm90ZSxzaXN1X2NvbnRlbnRfZW5kbm90ZSxzaXN1X2xpbmssc2lzdV9tYXJrLHNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9Il5cKGFsdFx8Z3JvdXBcfHBvZW1cKXsiIGVuZD0iXn1cKGFsdFx8Z3JvdXBcfHBvZW1cKSIKIHN5biByZWdpb24gc2lzdV9jb250ZW50X2FsdCBjb250YWlucz1zaXN1X2Vycm9yIG1hdGNoZ3JvdXA9c2lzdV9jb250YWluIHN0YXJ0PSJeY29kZXsiIGVuZD0iXn1jb2RlIgogIiUgICBlbmRub3Rlcwotc3luIHJlZ2lvbiBzaXN1X2NvbnRlbnRfZW5kbm90ZSBjb250YWlucz1zaXN1X2xpbmssc2lzdV9zdHJpa2VvdXQsc2lzdV91bmRlcmxpbmUsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsLHNpc3VfbWFyayxzaXN1X2JyZWFrIG1hdGNoZ3JvdXA9c2lzdV9tYXJrX2VuZG5vdGUgc3RhcnQ9Ilx+eyIgZW5kPSJ9XH4iIHNraXA9IlxuIgotc3luIHJlZ2lvbiBzaXN1X2NvbnRlbnRfZW5kbm90ZSBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9saW5rLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsLHNpc3VfbWFyayxzaXN1X2JyZWFrIG1hdGNoZ3JvdXA9c2lzdV9tYXJrX2VuZG5vdGUgc3RhcnQ9IlxeXH4iIGVuZD0iXG5cbiIKK3N5biByZWdpb24gc2lzdV9jb250ZW50X2VuZG5vdGUgY29udGFpbnM9QFNwZWxsLHNpc3VfbGluayxzaXN1X3N0cmlrZW91dCxzaXN1X3VuZGVybGluZSxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9tYXJrLHNpc3VfYnJlYWsgbWF0Y2hncm91cD1zaXN1X21hcmtfZW5kbm90ZSBzdGFydD0iXH57IiBlbmQ9In1cfiIgc2tpcD0iXG4iCitzeW4gcmVnaW9uIHNpc3VfY29udGVudF9lbmRub3RlIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2xpbmssc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2UsQFNwZWxsLHNpc3VfbWFyayxzaXN1X2JyZWFrIG1hdGNoZ3JvdXA9c2lzdV9tYXJrX2VuZG5vdGUgc3RhcnQ9IlxeXH4iIGVuZD0iXG5cbiIKICIlICAgaW1hZ2VzCi1zeW4gcmVnaW9uIHNpc3VfbGlua2VkIGNvbnRhaW5zPXNpc3VfZm9udGZhY2Usc2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9saW5rIHN0YXJ0PSJ7IiBlbmQ9In1cKFwoaHR0cDovL1x8XC5cLi9cKVxTXCtcfGltYWdlXCkiIG9uZWxpbmUKLSIlICAgbGluZSBvcGVyYXRpb25zCi1zeW4gcmVnaW9uIHNpc3VfbGluayBjb250YWlucz1zaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9hY3Rpb24gc3RhcnQ9Il48PFxzKnxbYS16QS1aMC05Xi5fLV1cK3xAfFthLXpBLVowLTleLl8tXVwrfCJycz1zKzIgZW5kPSIkIgotc3luIHJlZ2lvbiBzaXN1X2NvbnRyb2wgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9pZGVudGlmaWVyLHNpc3VfY29udGVudF9lbmRub3RlLHNpc3VfbWFya19lbmRub3RlLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2NvbnRyb2wgc3RhcnQ9IlwoXCheXHwgXCkhXyBcfDw6Yj5cKSIgZW5kPSIkIgotc3luIHJlZ2lvbiBzaXN1X25vcm1hbCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X2lkZW50aWZpZXIsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9saW5rLHNpc3VfbGlua2VkLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X21hcmtwYXJhIHN0YXJ0PSJeX1woWzEyKl1cfFsxMl1cKlwpICIgZW5kPSIkIgotc3luIHJlZ2lvbiBzaXN1X25vcm1hbCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X2lkZW50aWZpZXIsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9saW5rLHNpc3VfbGlua2VkLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2Usc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X21hcmtwYXJhIHN0YXJ0PSJeXCgjWyAxXVx8XyMgXCkiIGVuZD0iJCIKLXN5biByZWdpb24gc2lzdV9jb21tZW50IGNvbnRhaW5zPXNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9jb21tZW50IHN0YXJ0PSJeJVx7MSwyXH0gIiBlbmQ9IiQiCitzeW4gcmVnaW9uIHNpc3VfbGlua2VkIGNvbnRhaW5zPXNpc3VfZm9udGZhY2Usc2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLEBTcGVsbCBtYXRjaGdyb3VwPXNpc3VfbGluayBzdGFydD0ieyIgZW5kPSJ9XChcKGh0dHA6Ly9cfFwuXC4vXClcU1wrXHxpbWFnZVwpIiBvbmVsaW5lCisiJSAgIHNvbWUgbGluZSBvcGVyYXRpb25zCitzeW4gcmVnaW9uIHNpc3VfY29udHJvbCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X2lkZW50aWZpZXIsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9lcnJvcixzaXN1X2Vycm9yX3dzcGFjZSxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2NvbnRyb2wgc3RhcnQ9IlwoXCheXHwgXCkhXyBcfDw6Yj5cKSIgZW5kPSIkIgorc3luIHJlZ2lvbiBzaXN1X25vcm1hbCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X2lkZW50aWZpZXIsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9saW5rLHNpc3VfbGlua2VkLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl93c3BhY2UsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9tYXJrcGFyYSBzdGFydD0iXl9cKFsxMipdXHxbMTJdXCpcKSAiIGVuZD0iJCIKK3N5biByZWdpb24gc2lzdV9ub3JtYWwgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9pZGVudGlmaWVyLHNpc3VfY29udGVudF9lbmRub3RlLHNpc3VfbWFya19lbmRub3RlLHNpc3VfbGluayxzaXN1X2xpbmtlZCxzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfd3NwYWNlLEBTcGVsbCBtYXRjaGdyb3VwPXNpc3VfbWFya3BhcmEgc3RhcnQ9Il5cKCNbIDFdXHxfIyBcKSIgZW5kPSIkIgorc3luIHJlZ2lvbiBzaXN1X2NvbW1lbnQgY29udGFpbnM9QFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9jb21tZW50IHN0YXJ0PSJeJVx7MSwyXH0gIiBlbmQ9IiQiCiAiJSAgIGZvbnQgZmFjZSBjdXJseSBicmFja2V0cwotc3luIHJlZ2lvbiBzaXN1X2NvbnRyb2wgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9mb250ZmFjZSBzdGFydD0iXCp7IiBlbmQ9In1cKiIKLXN5biByZWdpb24gc2lzdV9jb250cm9sIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixzaXN1X2Vycm9yX3NwZWxsLEBTcGVsbCBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9IiF7IiBlbmQ9In0hIgotc3luIHJlZ2lvbiBzaXN1X3VuZGVybGluZSBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2ZvbnRmYWNlIHN0YXJ0PSJfeyIgZW5kPSJ9XyIKLXN5biByZWdpb24gc2lzdV9pZGVudGlmaWVyIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixzaXN1X2Vycm9yX3NwZWxsLEBTcGVsbCBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9Ii97IiBlbmQ9In0vIgotc3luIHJlZ2lvbiBzaXN1X3VuZGVybGluZSBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2ZvbnRmYWNlIHN0YXJ0PSIreyIgZW5kPSJ9KyIKLXN5biByZWdpb24gc2lzdV9pZGVudGlmaWVyIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixzaXN1X2Vycm9yX3NwZWxsLEBTcGVsbCBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9IlxeeyIgZW5kPSJ9XF4iCi1zeW4gcmVnaW9uIHNpc3VfaWRlbnRpZmllciBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2ZvbnRmYWNlIHN0YXJ0PSIseyIgZW5kPSJ9LCIgCitzeW4gcmVnaW9uIHNpc3VfY29udHJvbCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9mb250ZmFjZSBzdGFydD0iXCp7IiBlbmQ9In1cKiIKK3N5biByZWdpb24gc2lzdV9jb250cm9sIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2ZvbnRmYWNlIHN0YXJ0PSIheyIgZW5kPSJ9ISIKK3N5biByZWdpb24gc2lzdV91bmRlcmxpbmUgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLEBTcGVsbCBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9Il97IiBlbmQ9In1fIgorc3luIHJlZ2lvbiBzaXN1X2lkZW50aWZpZXIgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLEBTcGVsbCBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9Ii97IiBlbmQ9In0vIgorc3luIHJlZ2lvbiBzaXN1X3VuZGVybGluZSBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9mb250ZmFjZSBzdGFydD0iK3siIGVuZD0ifSsiCitzeW4gcmVnaW9uIHNpc3VfaWRlbnRpZmllciBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9mb250ZmFjZSBzdGFydD0iXF57IiBlbmQ9In1cXiIKK3N5biByZWdpb24gc2lzdV9pZGVudGlmaWVyIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2ZvbnRmYWNlIHN0YXJ0PSIseyIgZW5kPSJ9LCIKIHN5biByZWdpb24gc2lzdV9zdHJpa2VvdXQgY29udGFpbnM9c2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfZm9udGZhY2Ugc3RhcnQ9Ii17IiBlbmQ9In0tIiAKIHN5biByZWdpb24gc2lzdV9odG1sIGNvbnRhaW5zPXNpc3VfZXJyb3IgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9IjxhIGhyZWY9XCIuXHstfVwiPiIgZW5kPSI8L2E+IiBvbmVsaW5lCiAiJSAgIHNpbmdsZSB3b3JkcyBib2xkIGl0YWxpY2lzZSBldGMuICJ3b3Jrb24KIHN5biByZWdpb24gc2lzdV9jb250cm9sIGNvbnRhaW5zPXNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2NvbnRyb2wgc3RhcnQ9IlwoWyAoXVx8XlwpXCpbXlx8e1xuXH5cXF0iaHM9ZS0xIGVuZD0iXCoiaGU9ZS0wIHNraXA9IlthLXpBLVowLTknXSIgb25lbGluZQogc3luIHJlZ2lvbiBzaXN1X2lkZW50aWZpZXIgY29udGFpbnM9c2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfY29udGVudF9hbHQgc3RhcnQ9IlwoWyBdXHxeXCkvW157IFx8XG5cXF0iaHM9ZS0xIGVuZD0iL1xbIFwuXF0iIHNraXA9IlthLXpBLVowLTknXSIgb25lbGluZQotIiUgICBodG1sCi1zeW4gcmVnaW9uIHNpc3VfbnVtYmVyIGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixzaXN1X2Vycm9yX3NwZWxsLEBTcGVsbCxzaXN1X21hcmsgbWF0Y2hncm91cD1zaXN1X2h0bWwgc3RhcnQ9IjxiPiIgZW5kPSI8L2I+IiBza2lwPSJcbiIgb25lbGluZQotc3luIHJlZ2lvbiBzaXN1X251bWJlciBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwsc2lzdV9tYXJrIG1hdGNoZ3JvdXA9c2lzdV9odG1sIHN0YXJ0PSI8ZW0+IiBlbmQ9IjwvZW0+IiBvbmVsaW5lCi1zeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsLHNpc3VfbWFyayBtYXRjaGdyb3VwPXNpc3VfaHRtbCBzdGFydD0iPGk+IiBlbmQ9IjwvaT4iIHNraXA9IlxuIiBvbmVsaW5lCi1zeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsLHNpc3VfbWFyayBtYXRjaGdyb3VwPXNpc3VfaHRtbCBzdGFydD0iPHU+IiBlbmQ9IjwvdT4iIHNraXA9IlxuIiBvbmVsaW5lCi1zeW4gcmVnaW9uIHNpc3VfaWRlbnRpZmllciBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwsc2lzdV9tYXJrIG1hdGNoZ3JvdXA9c2lzdV9odG1sIHN0YXJ0PSI8aW5zPiIgZW5kPSI8L2lucz4iIHNraXA9IlxcXFxcfFxcJyIgb25lbGluZQotc3luIHJlZ2lvbiBzaXN1X2lkZW50aWZpZXIgY29udGFpbnM9c2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfaHRtbCBzdGFydD0iPGRlbD4iIGVuZD0iPC9kZWw+IiBvbmVsaW5lCiAiJSAgIG1pc2MKIHN5biByZWdpb24gc2lzdV9pZGVudGlmaWVyIGNvbnRhaW5zPXNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2ZvbnRmYWNlIHN0YXJ0PSJcXlteIHtcfFxuXFxdInJzPXMrMSBlbmQ9IlxeWyAsLjs6J30pXFxcbl0iIHNraXA9IlthLXpBLVowLTknXSIgb25lbGluZQotIiUgbWV0YXZlcnNlCi1zeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLHNpc3VfZXJyb3Jfc3BlbGwsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9jb250YWluIHN0YXJ0PSI8OlRhYmxlLlx7LX0+IiBlbmQ9Ijw6VGFibGVbLV9dZW5kPiIKKyIlICAgbWV0YXZlcnNlIGh0bWwKK3N5biByZWdpb24gc2lzdV9udW1iZXIgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLEBTcGVsbCxzaXN1X21hcmsgbWF0Y2hncm91cD1zaXN1X2h0bWwgc3RhcnQ9IjxiPiIgZW5kPSI8L2I+IiBza2lwPSJcbiIgb25lbGluZQorc3luIHJlZ2lvbiBzaXN1X251bWJlciBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IsQFNwZWxsLHNpc3VfbWFyayBtYXRjaGdyb3VwPXNpc3VfaHRtbCBzdGFydD0iPGVtPiIgZW5kPSI8L2VtPiIgb25lbGluZQorc3luIHJlZ2lvbiBzaXN1X2NvbnRlbnRfYWx0IGNvbnRhaW5zPXNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixAU3BlbGwsc2lzdV9tYXJrIG1hdGNoZ3JvdXA9c2lzdV9odG1sIHN0YXJ0PSI8aT4iIGVuZD0iPC9pPiIgc2tpcD0iXG4iIG9uZWxpbmUKK3N5biByZWdpb24gc2lzdV9jb250ZW50X2FsdCBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IsQFNwZWxsLHNpc3VfbWFyayBtYXRjaGdyb3VwPXNpc3VfaHRtbCBzdGFydD0iPHU+IiBlbmQ9IjwvdT4iIHNraXA9IlxuIiBvbmVsaW5lCitzeW4gcmVnaW9uIHNpc3VfaWRlbnRpZmllciBjb250YWlucz1zaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IsQFNwZWxsLHNpc3VfbWFyayBtYXRjaGdyb3VwPXNpc3VfaHRtbCBzdGFydD0iPGlucz4iIGVuZD0iPC9pbnM+IiBza2lwPSJcXFxcXHxcXCciIG9uZWxpbmUKK3N5biByZWdpb24gc2lzdV9pZGVudGlmaWVyIGNvbnRhaW5zPXNpc3VfZXJyb3IgbWF0Y2hncm91cD1zaXN1X2h0bWwgc3RhcnQ9IjxkZWw+IiBlbmQ9IjwvZGVsPiIgb25lbGluZQorIiUgICBtZXRhdmVyc2UgPDo+CitzeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9zdHJpa2VvdXQsc2lzdV9udW1iZXIsc2lzdV9jb250cm9sLHNpc3VfaWRlbnRpZmllcixzaXN1X2Vycm9yLEBTcGVsbCBtYXRjaGdyb3VwPXNpc3VfY29udGFpbiBzdGFydD0iPDpUYWJsZS5cey19PiIgZW5kPSI8OlRhYmxlWy1fXWVuZD4iCiBzeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9lcnJvciBtYXRjaGdyb3VwPXNpc3VfY29udGFpbiBzdGFydD0iPDpjb2RlPiIgZW5kPSI8OmNvZGVbLV9dZW5kPiIKLXN5biByZWdpb24gc2lzdV9jb250ZW50X2FsdCBjb250YWlucz1zaXN1X21hcmtfZW5kbm90ZSxzaXN1X2NvbnRlbnRfZW5kbm90ZSxzaXN1X2xpbmssc2lzdV9tYXJrLHNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixzaXN1X2Vycm9yX3NwZWxsLEBTcGVsbCBtYXRjaGdyb3VwPXNpc3VfY29udGFpbiBzdGFydD0iPDphbHQ+IiBlbmQ9Ijw6YWx0Wy1fXWVuZD4iCi1zeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9saW5rLHNpc3VfbWFyayxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3Isc2lzdV9lcnJvcl9zcGVsbCxAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9Ijw6cG9lbT4iIGVuZD0iPDpwb2VtWy1fXWVuZD4iCitzeW4gcmVnaW9uIHNpc3VfY29udGVudF9hbHQgY29udGFpbnM9c2lzdV9tYXJrX2VuZG5vdGUsc2lzdV9jb250ZW50X2VuZG5vdGUsc2lzdV9saW5rLHNpc3VfbWFyayxzaXN1X3N0cmlrZW91dCxzaXN1X251bWJlcixzaXN1X2NvbnRyb2wsc2lzdV9pZGVudGlmaWVyLHNpc3VfZXJyb3IsQFNwZWxsIG1hdGNoZ3JvdXA9c2lzdV9jb250YWluIHN0YXJ0PSI8OmFsdD4iIGVuZD0iPDphbHRbLV9dZW5kPiIKK3N5biByZWdpb24gc2lzdV9jb250ZW50X2FsdCBjb250YWlucz1zaXN1X21hcmtfZW5kbm90ZSxzaXN1X2NvbnRlbnRfZW5kbm90ZSxzaXN1X2xpbmssc2lzdV9tYXJrLHNpc3Vfc3RyaWtlb3V0LHNpc3VfbnVtYmVyLHNpc3VfY29udHJvbCxzaXN1X2lkZW50aWZpZXIsc2lzdV9lcnJvcixAU3BlbGwgbWF0Y2hncm91cD1zaXN1X2NvbnRhaW4gc3RhcnQ9Ijw6cG9lbT4iIGVuZD0iPDpwb2VtWy1fXWVuZD4iCiAiJSA2IEV4cGVuc2l2ZSBNb2RlCiAiIEV4cGVuc2l2ZSBNb2RlOgogaWYgIWV4aXN0cygic2lzdV9ub19leHBlbnNpdmUiKQpAQCAtMTYwLDggKzE2MCw2IEBACiAgIEhpTGluayBzaXN1X2h0bWwgICAgICAgICAgICBUeXBlCiAgIEhpTGluayBzaXN1X2FjdGlvbiAgICAgICAgICBJZGVudGlmaWVyCiAgIEhpTGluayBzaXN1X2NvbW1lbnQgICAgICAgICBDb21tZW50Ci0gIEhpTGluayBzaXN1X2Vycm9yX3NwZWxsICAgICBTcGVsbEVycm9ycyAibGluZSBkb2VzIG5vdGhpbmcKLSIgIEhpTGluayBzaXN1X2Vycm9yX3NwZWxsICAgICBFcnJvck1zZwogICBIaUxpbmsgc2lzdV9lcnJvcl93c3BhY2UgICAgRXJyb3IKICAgSGlMaW5rIHNpc3VfZXJyb3IgICAgICAgICAgIEVycm9yCiAgIGRlbGNvbW1hbmQgSGlMaW5rCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC92aW0udmltIGIvcnVudGltZS9zeW50YXgvdmltLnZpbQppbmRleCAwOTlkOGU0Li5mY2M4ZjcyIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC92aW0udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3ZpbS52aW0KQEAgLTEsOCArMSw4IEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZToJVmltIDcuMCBzY3JpcHQKICIgTWFpbnRhaW5lcjoJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KLSIgTGFzdCBDaGFuZ2U6CUFwcmlsIDE5LCAyMDA2Ci0iIFZlcnNpb246CTcuMC00NQorIiBMYXN0IENoYW5nZToJQXByaWwgMjUsIDIwMDYKKyIgVmVyc2lvbjoJNy4wLTQ2CiAiIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGtleXdvcmQgbGlzdHM6IHt7ezEKIAogIiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQge3t7MgpAQCAtMjAsMTMgKzIwLDEzIEBACiBzeW4gbWF0Y2ggICB2aW1Db21tYW5kIGNvbnRhaW5lZAkiXDx6Wy0rXi49XSIKIAogIiB2aW1PcHRpb25zIGFyZSBjYXVnaHQgb25seSB3aGVuIGNvbnRhaW5lZCBpbiBhIHZpbVNldCB7e3syCi1zeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCTogYWNkIGFpIGFrbSBhbCBhbGVwaCBhbGxvd3JldmlucyBhbHRrZXltYXAgYW1iaXdpZHRoIGFtYncgYW50aSBhbnRpYWxpYXMgYXIgYXJhYiBhcmFiaWMgYXJhYmljc2hhcGUgYXJpIGFyc2hhcGUgYXV0b2NoZGlyIGF1dG9pbmRlbnQgYXV0b3JlYWQgYXV0b3dyaXRlIGF1dG93cml0ZWFsbCBhdyBhd2EgYmFja2dyb3VuZCBiYWNrc3BhY2UgYmFja3VwIGJhY2t1cGNvcHkgYmFja3VwZGlyIGJhY2t1cGV4dCBiYWNrdXBza2lwIGJhbGxvb25kZWxheSBiYWxsb29uZXZhbCBiYWxsb29uZXhwciBiZGlyIGJkbGF5IGJldmFsIGJleCBiZXhwciBiZyBiaCBiaW4gYmluYXJ5IGJpb3NrIGJpb3NrZXkgYmsgYmtjIGJsIGJvbWIgYnJlYWthdCBicmsgYnJvd3NlZGlyIGJzIGJzZGlyIGJzayBidCBidWZoaWRkZW4gYnVmbGlzdGVkIGJ1ZnR5cGUgY2FzZW1hcCBjYiBjY3YgY2QgY2RwYXRoIGNlZGl0IGNmIGNmdSBjaCBjaGFyY29udmVydCBjaSBjaW4gY2luZGVudCBjaW5rIGNpbmtleXMgY2lubyBjaW5vcHRpb25zIGNpbncgY2lud29yZHMgY2xpcGJvYXJkIGNtZGhlaWdodCBjbWR3aW5oZWlnaHQgY21wIGNtcyBjbyBjb2x1bW5zIGNvbSBjb21tZW50cyBjb21tZW50c3RyaW5nIGNvbXBhdGlibGUgY29tcGxldGUgY29tcGxldGVmdW5jIGNvbXBsZXRlb3B0IGNvbmZpcm0gY29uc2sgY29uc2tleSBjb3B5aW5kZW50IGNvdCBjcCBjcG8gY3BvcHRpb25zIGNwdCBjc2NvcGVwYXRoY29tcCBjc2NvcGVwcmcgY3Njb3BlcXVpY2tmaXggY3Njb3BldGFnIGNzY29wZXRhZ29yZGVyIGNzY29wZXZlcmJvc2UgY3NwYyBjc3ByZyBjc3FmIGNzdCBjc3RvIGNzdmVyYiBjdWMgY3VsIGN1cnNvcmNvbHVtbiBjdXJzb3JsaW5lIGN3aCBkZWJ1ZyBkZWNvIGRlZiBkZWZpbmUgZGVsY29tYmluZSBkZXggZGcgZGljdCBkaWN0aW9uYXJ5IGRpZmYgZGlmZmV4cHIgZGlmZm9wdCBkaWdyYXBoIGRpcCBkaXIgZGlyZWN0b3J5IGRpc3BsYXkgZHkgZWEgZWFkIGVhZGlyZWN0aW9uIGViIGVkIGVkY29tcGF0aWJsZSBlZiBlZm0gZWkgZWsgZW5jIGVuY29kaW5nIGVuZG9mbGluZSBlb2wgZXAgZXF1YWxhbHdheXMgZXF1YWxwcmcgZXJyb3JiZWxscyBlcnJvcmZpbGUgZXJyb3Jmb3JtYXQgZXNja2V5cyBldCBldmVudGlnbm9yZSBleCBleHBhbmR0YWIgZXhyYyBmY2wgZmNzIGZkYyBmZGUgZmRpIGZkbCBmZGxzIGZkbSBmZG4gZmRvIGZkdCBmZW4gZmVuYyBmZW5jcyBmZXggZmYgZmZzIGZpbGVlbmNvZGluZyBmaWxlZW5jb2RpbmdzIGZpbGVmb3JtYXQgZmlsZWZvcm1hdHMgZmlsZXR5cGUgZmlsbGNoYXJzIGZrIGZrbWFwIGZscCBmbWwgZm1yIGZvIGZvbGRjbG9zZSBmb2xkY29sdW1uIGZvbGRlbmFibGUgZm9sZGV4cHIgZm9sZGlnbm9yZSBmb2xkbGV2ZWwgZm9sZGxldmVsc3RhcnQgZm9sZG1hcmtlciBmb2xkbWV0aG9kIGZvbGRtaW5saW5lcyBmb2xkbmVzdG1heCBmb2xkb3BlbiBmb2xkdGV4dCBmb3JtYXRleHByIGZvcm1hdGxpc3RwYXQgZm9ybWF0b3B0aW9ucyBmb3JtYXRwcmcgZnAgZnMgZnN5bmMgZnQgZ2NyIGdkIGdkZWZhdWx0IGdmbSBnZm4gZ2ZzIGdmdyBnaHIgZ28gZ3AgZ3JlcGZvcm1hdCBncmVwcHJnIGd0bCBndWljdXJzb3IgZ3VpZm9udCBndWlmb250c2V0IGd1aWZvbnR3aWRlIGd1aWhlYWRyb29tIGd1aW9wdGlvbnMgZ3VpcHR5IGd1aXRhYmxhYmVsIGhlbHBmaWxlIGhlbHBoZWlnaHQgaGVscGxhbmcgaGYgaGggaGkgaGlkIGhpZGRlbiBoaWdobGlnaHQgaGlzdG9yeSBoayBoa21hcCBoa21hcHAgaGtwIGhsIGhsZyBobHMgaGxzZWFyY2ggaWMgaWNvbiBpY29uc3RyaW5nIGlnbm9yZWNhc2UgaW0gaW1hY3RpdmF0ZWtleSBpbWFrIGltYyBpbWNtZGxpbmUgaW1kIGltZGlzYWJsZSBpbWkgaW1pbnNlcnQgaW1zIGltc2VhcmNoIGluYyBpbmNsdWRlIGluY2x1ZGVleHByIGluY3NlYXJjaCBpbmRlIGluZGVudGV4cHIgaW5kZW50a2V5cyBpbmRrIGluZXggaW5mIGluZmVyY2FzZSBpbnNlcnRtb2RlIGlzIGlzZiBpc2ZuYW1lIGlzaSBpc2lkZW50IGlzayBpc2tleXdvcmQgaXNwIGlzcHJpbnQgam9pbnNwYWNlcyBqcyBrZXkga2V5bWFwIGtleW1vZGVsIGtleXdvcmRwcmcga20ga21wIGtwIGxhbmdtYXAgbGFuZ21lbnUgbGFzdHN0YXR1cyBsYXp5cmVkcmF3IGxiciBsY3MgbGluZWJyZWFrIGxpbmVzIGxpbmVzcGFjZSBsaXNwIGxpc3B3b3JkcyBsaXN0IGxpc3RjaGFycyBsbSBsbWFwIGxvYWRwbHVnaW5zIGxwbCBscyBsc3AgbHcgbHogbWEgbWFnaWMgbWFrZWVmIG1ha2VwcmcgbWF0IG1hdGNocGFpcnMgbWF0Y2h0aW1lIG1heGNvbWJpbmUgbWF4ZnVuY2RlcHRoIG1heG1hcGRlcHRoIG1heG1lbSBtYXhtZW1wYXR0ZXJuIG1heG1lbXRvdCBtY28gbWVmIG1lbnVpdGVtcyBtZmQgbWggbWlzIG1rc3BlbGxtZW0gbWwgbWxzIG1tIG1tZCBtbXAgbW10IG1vZCBtb2RlbGluZSBtb2RlbGluZXMgbW9kaWZpYWJsZSBtb2RpZmllZCBtb3JlIG1vdXNlIG1vdXNlZiBtb3VzZWZvY3VzIG1vdXNlaGlkZSBtb3VzZW0gbW91c2Vtb2RlbCBtb3VzZXMgbW91c2VzaGFwZSBtb3VzZXQgbW91c2V0aW1lIG1wIG1wcyBtc20gbXpxIG16cXVhbnR1bSBuZiBucmZvcm1hdHMgbnUgbnVtYmVyIG51bWJlcndpZHRoIG51dyBvZnQgb2Z1IG9tbmlmdW5jIG9wZXJhdG9yZnVuYyBvcGZ1bmMgb3NmaWxldHlwZSBwYSBwYXJhIHBhcmFncmFwaHMgcGFzdGUgcGFzdGV0b2dnbGUgcGF0Y2hleHByIHBhdGNobW9kZSBwYXRoIHBkZXYgcGVuYyBwZXggcGV4cHIgcGZuIHBoIHBoZWFkZXIgcGkgcG0gcG1iY3MgcG1iZm4gcG9wdCBwcmVzZXJ2ZWluZGVudCBwcmV2aWV3aGVpZ2h0IHByZXZpZXd3aW5kb3cgcHJpbnRkZXZpY2UgcHJpbnRlbmNvZGluZyBwcmludGV4cHIgcHJpbnRmb250IHByaW50aGVhZGVyIHByaW50bWJjaGFyc2V0IHByaW50bWJmb250IHByaW50b3B0aW9ucyBwcm9tcHQgcHQgcHVtaGVpZ2h0IHB2aCBwdncgcWUgcXVvdGVlc2NhcGUgcmVhZG9ubHkgcmVtYXAgcmVwb3J0IHJlc3RvcmVzY3JlZW4gcmV2aW5zIHJpIHJpZ2h0bGVmdCByaWdodGxlZnRjbWQgcmwgcmxjIHJvIHJzIHJ0cCBydSBydWYgcnVsZXIgcnVsZXJmb3JtYXQgcnVudGltZXBhdGggc2Igc2JvIHNiciBzYyBzY2Igc2NyIHNjcm9sbCBzY3JvbGxiaW5kIHNjcm9sbGp1bXAgc2Nyb2xsb2ZmIHNjcm9sbG9wdCBzY3Mgc2VjdCBzZWN0aW9ucyBzZWN1cmUgc2VsIHNlbGVjdGlvbiBzZWxlY3Rtb2RlIHNlc3Npb25vcHRpb25zIHNmdCBzaCBzaGNmIHNoZWxsIHNoZWxsY21kZmxhZyBzaGVsbHBpcGUgc2hlbGxxdW90ZSBzaGVsbHJlZGlyIHNoZWxsc2xhc2ggc2hlbGx0ZW1wIHNoZWxsdHlwZSBzaGVsbHhxdW90ZSBzaGlmdHJvdW5kIHNoaWZ0d2lkdGggc2htIHNob3J0bWVzcyBzaG9ydG5hbWUgc2hvd2JyZWFrIHNob3djbWQgc2hvd2Z1bGx0YWcgc2hvd21hdGNoIHNob3dtb2RlIHNob3d0YWJsaW5lIHNocSBzaSBzaWRlc2Nyb2xsIHNpZGVzY3JvbGxvZmYgc2lzbyBzaiBzbG0gc20gc21hcnRjYXNlIHNtYXJ0aW5kZW50IHNtYXJ0dGFiIHNtYyBzbWQgc24gc28gc29mdHRhYnN0b3Agc29sIHNwIHNwYyBzcGVsbCBzcGVsbGNhcGNoZWNrIHNwZWxsZmlsZSBzcGVsbGxhbmcgc3BlbGxzdWdnZXN0IHNwZiBzcGwgc3BsaXRiZWxvdyBzcGxpdHJpZ2h0IHNwciBzcHMgc3Igc3JyIHNzIHNzbCBzc29wIHN0IHN0YSBzdGFsIHN0YXJ0b2ZsaW5lIHN0YXR1c2xpbmUgc3RsIHN0bXAgc3RzIHN1IHN1YSBzdWZmaXhlcyBzdWZmaXhlc2FkZCBzdyBzd2FwZmlsZSBzd2Fwc3luYyBzd2Igc3dmIHN3aXRjaGJ1ZiBzd3Mgc3hxIHN5biBzeW5tYXhjb2wgc3ludGF4IHRhIHRhYmxpbmUgdGFicGFnZW1heCB0YWJzdG9wIHRhZyB0YWdic2VhcmNoIHRhZ2xlbmd0aCB0YWdyZWxhdGl2ZSB0YWdzIHRhZ3N0YWNrIHRhbCB0YiB0YmkgdGJpZGkgdGJpcyB0YnMgdGVuYyB0ZXJtIHRlcm1iaWRpIHRlcm1lbmNvZGluZyB0ZXJzZSB0ZXh0YXV0byB0ZXh0bW9kZSB0ZXh0d2lkdGggdGYgdGdzdCB0aGVzYXVydXMgdGlsZGVvcCB0aW1lb3V0IHRpbWVvdXRsZW4gdGl0bGUgdGl0bGVsZW4gdGl0bGVvbGQgdGl0bGVzdHJpbmcgdGwgdG0gdG8gdG9vbGJhciB0b29sYmFyaWNvbnNpemUgdG9wIHRwbSB0ciB0cyB0c2wgdHNyIHR0aW1lb3V0IHR0aW1lb3V0bGVuIHR0bSB0dHkgdHR5YnVpbHRpbiB0dHlmYXN0IHR0eW0gdHR5bW91c2UgdHR5c2Nyb2xsIHR0eXR5cGUgdHcgdHggdWMgdWwgdW5kb2xldmVscyB1cGRhdGVjb3VudCB1cGRhdGV0aW1lIHV0IHZiIHZicyB2ZGlyIHZlIHZlcmJvc2UgdmVyYm9zZWZpbGUgdmZpbGUgdmkgdmlld2RpciB2aWV3b3B0aW9ucyB2aW1pbmZvIHZpcnR1YWxlZGl0IHZpc3VhbGJlbGwgdm9wIHdhIHdhayB3YXJuIHdiIHdjIHdjbSB3ZCB3ZWlyZGludmVydCB3Zmggd2Z3IHdoIHdoaWNod3JhcCB3aSB3aWcgd2lsZGNoYXIgd2lsZGNoYXJtIHdpbGRpZ25vcmUgd2lsZG1lbnUgd2lsZG1vZGUgd2lsZG9wdGlvbnMgd2ltIHdpbmFsdGtleXMgd2luZG93IHdpbmZpeGhlaWdodCB3aW5maXh3aWR0aCB3aW5oZWlnaHQgd2lubWluaGVpZ2h0IHdpbm1pbndpZHRoIHdpbndpZHRoIHdpdiB3aXcgd20gd21oIHdtbnUgd213IHdvcCB3cmFwIHdyYXBtYXJnaW4gd3JhcHNjYW4gd3JpdGUgd3JpdGVhbnkgd3JpdGViYWNrdXAgd3JpdGVkZWxheSB3cyB3dyAKK3N5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJOiBhY2QgYWkgYWttIGFsIGFsZXBoIGFsbG93cmV2aW5zIGFsdGtleW1hcCBhbWJpd2lkdGggYW1idyBhbnRpIGFudGlhbGlhcyBhciBhcmFiIGFyYWJpYyBhcmFiaWNzaGFwZSBhcmkgYXJzaGFwZSBhdXRvY2hkaXIgYXV0b2luZGVudCBhdXRvcmVhZCBhdXRvd3JpdGUgYXV0b3dyaXRlYWxsIGF3IGF3YSBiYWNrZ3JvdW5kIGJhY2tzcGFjZSBiYWNrdXAgYmFja3VwY29weSBiYWNrdXBkaXIgYmFja3VwZXh0IGJhY2t1cHNraXAgYmFsbG9vbmRlbGF5IGJhbGxvb25ldmFsIGJhbGxvb25leHByIGJkaXIgYmRsYXkgYmV2YWwgYmV4IGJleHByIGJnIGJoIGJpbiBiaW5hcnkgYmlvc2sgYmlvc2tleSBiayBia2MgYmwgYm9tYiBicmVha2F0IGJyayBicm93c2VkaXIgYnMgYnNkaXIgYnNrIGJ0IGJ1ZmhpZGRlbiBidWZsaXN0ZWQgYnVmdHlwZSBjYXNlbWFwIGNiIGNjdiBjZCBjZHBhdGggY2VkaXQgY2YgY2Z1IGNoIGNoYXJjb252ZXJ0IGNpIGNpbiBjaW5kZW50IGNpbmsgY2lua2V5cyBjaW5vIGNpbm9wdGlvbnMgY2ludyBjaW53b3JkcyBjbGlwYm9hcmQgY21kaGVpZ2h0IGNtZHdpbmhlaWdodCBjbXAgY21zIGNvIGNvbHVtbnMgY29tIGNvbW1lbnRzIGNvbW1lbnRzdHJpbmcgY29tcGF0aWJsZSBjb21wbGV0ZSBjb21wbGV0ZWZ1bmMgY29tcGxldGVvcHQgY29uZmlybSBjb25zayBjb25za2V5IGNvcHlpbmRlbnQgY290IGNwIGNwbyBjcG9wdGlvbnMgY3B0IGNzY29wZXBhdGhjb21wIGNzY29wZXByZyBjc2NvcGVxdWlja2ZpeCBjc2NvcGV0YWcgY3Njb3BldGFnb3JkZXIgY3Njb3BldmVyYm9zZSBjc3BjIGNzcHJnIGNzcWYgY3N0IGNzdG8gY3N2ZXJiIGN1YyBjdWwgY3Vyc29yY29sdW1uIGN1cnNvcmxpbmUgY3doIGRlYnVnIGRlY28gZGVmIGRlZmluZSBkZWxjb21iaW5lIGRleCBkZyBkaWN0IGRpY3Rpb25hcnkgZGlmZiBkaWZmZXhwciBkaWZmb3B0IGRpZ3JhcGggZGlwIGRpciBkaXJlY3RvcnkgZGlzcGxheSBkeSBlYSBlYWQgZWFkaXJlY3Rpb24gZWIgZWQgZWRjb21wYXRpYmxlIGVmIGVmbSBlaSBlayBlbmMgZW5jb2RpbmcgZW5kb2ZsaW5lIGVvbCBlcCBlcXVhbGFsd2F5cyBlcXVhbHByZyBlcnJvcmJlbGxzIGVycm9yZmlsZSBlcnJvcmZvcm1hdCBlc2NrZXlzIGV0IGV2ZW50aWdub3JlIGV4IGV4cGFuZHRhYiBleHJjIGZjbCBmY3MgZmRjIGZkZSBmZGkgZmRsIGZkbHMgZmRtIGZkbiBmZG8gZmR0IGZlbiBmZW5jIGZlbmNzIGZleCBmZiBmZnMgZmlsZWVuY29kaW5nIGZpbGVlbmNvZGluZ3MgZmlsZWZvcm1hdCBmaWxlZm9ybWF0cyBmaWxldHlwZSBmaWxsY2hhcnMgZmsgZmttYXAgZmxwIGZtbCBmbXIgZm8gZm9sZGNsb3NlIGZvbGRjb2x1bW4gZm9sZGVuYWJsZSBmb2xkZXhwciBmb2xkaWdub3JlIGZvbGRsZXZlbCBmb2xkbGV2ZWxzdGFydCBmb2xkbWFya2VyIGZvbGRtZXRob2QgZm9sZG1pbmxpbmVzIGZvbGRuZXN0bWF4IGZvbGRvcGVuIGZvbGR0ZXh0IGZvcm1hdGV4cHIgZm9ybWF0bGlzdHBhdCBmb3JtYXRvcHRpb25zIGZvcm1hdHByZyBmcCBmcyBmc3luYyBmdCBnY3IgZ2QgZ2RlZmF1bHQgZ2ZtIGdmbiBnZnMgZ2Z3IGdociBnbyBncCBncmVwZm9ybWF0IGdyZXBwcmcgZ3RsIGd0dCBndWljdXJzb3IgZ3VpZm9udCBndWlmb250c2V0IGd1aWZvbnR3aWRlIGd1aWhlYWRyb29tIGd1aW9wdGlvbnMgZ3VpcHR5IGd1aXRhYmxhYmVsIGd1aXRhYnRvb2x0aXAgaGVscGZpbGUgaGVscGhlaWdodCBoZWxwbGFuZyBoZiBoaCBoaSBoaWQgaGlkZGVuIGhpZ2hsaWdodCBoaXN0b3J5IGhrIGhrbWFwIGhrbWFwcCBoa3AgaGwgaGxnIGhscyBobHNlYXJjaCBpYyBpY29uIGljb25zdHJpbmcgaWdub3JlY2FzZSBpbSBpbWFjdGl2YXRla2V5IGltYWsgaW1jIGltY21kbGluZSBpbWQgaW1kaXNhYmxlIGltaSBpbWluc2VydCBpbXMgaW1zZWFyY2ggaW5jIGluY2x1ZGUgaW5jbHVkZWV4cHIgaW5jc2VhcmNoIGluZGUgaW5kZW50ZXhwciBpbmRlbnRrZXlzIGluZGsgaW5leCBpbmYgaW5mZXJjYXNlIGluc2VydG1vZGUgaXMgaXNmIGlzZm5hbWUgaXNpIGlzaWRlbnQgaXNrIGlza2V5d29yZCBpc3AgaXNwcmludCBqb2luc3BhY2VzIGpzIGtleSBrZXltYXAga2V5bW9kZWwga2V5d29yZHByZyBrbSBrbXAga3AgbGFuZ21hcCBsYW5nbWVudSBsYXN0c3RhdHVzIGxhenlyZWRyYXcgbGJyIGxjcyBsaW5lYnJlYWsgbGluZXMgbGluZXNwYWNlIGxpc3AgbGlzcHdvcmRzIGxpc3QgbGlzdGNoYXJzIGxtIGxtYXAgbG9hZHBsdWdpbnMgbHBsIGxzIGxzcCBsdyBseiBtYSBtYWNhdHN1aSBtYWdpYyBtYWtlZWYgbWFrZXByZyBtYXQgbWF0Y2hwYWlycyBtYXRjaHRpbWUgbWF4Y29tYmluZSBtYXhmdW5jZGVwdGggbWF4bWFwZGVwdGggbWF4bWVtIG1heG1lbXBhdHRlcm4gbWF4bWVtdG90IG1jbyBtZWYgbWVudWl0ZW1zIG1mZCBtaCBtaXMgbWtzcGVsbG1lbSBtbCBtbHMgbW0gbW1kIG1tcCBtbXQgbW9kIG1vZGVsaW5lIG1vZGVsaW5lcyBtb2RpZmlhYmxlIG1vZGlmaWVkIG1vcmUgbW91c2UgbW91c2VmIG1vdXNlZm9jdXMgbW91c2VoaWRlIG1vdXNlbSBtb3VzZW1vZGVsIG1vdXNlcyBtb3VzZXNoYXBlIG1vdXNldCBtb3VzZXRpbWUgbXAgbXBzIG1zbSBtenEgbXpxdWFudHVtIG5mIG5yZm9ybWF0cyBudSBudW1iZXIgbnVtYmVyd2lkdGggbnV3IG9mdCBvZnUgb21uaWZ1bmMgb3BlcmF0b3JmdW5jIG9wZnVuYyBvc2ZpbGV0eXBlIHBhIHBhcmEgcGFyYWdyYXBocyBwYXN0ZSBwYXN0ZXRvZ2dsZSBwYXRjaGV4cHIgcGF0Y2htb2RlIHBhdGggcGRldiBwZW5jIHBleCBwZXhwciBwZm4gcGggcGhlYWRlciBwaSBwbSBwbWJjcyBwbWJmbiBwb3B0IHByZXNlcnZlaW5kZW50IHByZXZpZXdoZWlnaHQgcHJldmlld3dpbmRvdyBwcmludGRldmljZSBwcmludGVuY29kaW5nIHByaW50ZXhwciBwcmludGZvbnQgcHJpbnRoZWFkZXIgcHJpbnRtYmNoYXJzZXQgcHJpbnRtYmZvbnQgcHJpbnRvcHRpb25zIHByb21wdCBwdCBwdW1oZWlnaHQgcHZoIHB2dyBxZSBxdW90ZWVzY2FwZSByZWFkb25seSByZW1hcCByZXBvcnQgcmVzdG9yZXNjcmVlbiByZXZpbnMgcmkgcmlnaHRsZWZ0IHJpZ2h0bGVmdGNtZCBybCBybGMgcm8gcnMgcnRwIHJ1IHJ1ZiBydWxlciBydWxlcmZvcm1hdCBydW50aW1lcGF0aCBzYiBzYm8gc2JyIHNjIHNjYiBzY3Igc2Nyb2xsIHNjcm9sbGJpbmQgc2Nyb2xsanVtcCBzY3JvbGxvZmYgc2Nyb2xsb3B0IHNjcyBzZWN0IHNlY3Rpb25zIHNlY3VyZSBzZWwgc2VsZWN0aW9uIHNlbGVjdG1vZGUgc2Vzc2lvbm9wdGlvbnMgc2Z0IHNoIHNoY2Ygc2hlbGwgc2hlbGxjbWRmbGFnIHNoZWxscGlwZSBzaGVsbHF1b3RlIHNoZWxscmVkaXIgc2hlbGxzbGFzaCBzaGVsbHRlbXAgc2hlbGx0eXBlIHNoZWxseHF1b3RlIHNoaWZ0cm91bmQgc2hpZnR3aWR0aCBzaG0gc2hvcnRtZXNzIHNob3J0bmFtZSBzaG93YnJlYWsgc2hvd2NtZCBzaG93ZnVsbHRhZyBzaG93bWF0Y2ggc2hvd21vZGUgc2hvd3RhYmxpbmUgc2hxIHNpIHNpZGVzY3JvbGwgc2lkZXNjcm9sbG9mZiBzaXNvIHNqIHNsbSBzbSBzbWFydGNhc2Ugc21hcnRpbmRlbnQgc21hcnR0YWIgc21jIHNtZCBzbiBzbyBzb2Z0dGFic3RvcCBzb2wgc3Agc3BjIHNwZWxsIHNwZWxsY2FwY2hlY2sgc3BlbGxmaWxlIHNwZWxsbGFuZyBzcGVsbHN1Z2dlc3Qgc3BmIHNwbCBzcGxpdGJlbG93IHNwbGl0cmlnaHQgc3ByIHNwcyBzciBzcnIgc3Mgc3NsIHNzb3Agc3Qgc3RhIHN0YWwgc3RhcnRvZmxpbmUgc3RhdHVzbGluZSBzdGwgc3RtcCBzdHMgc3Ugc3VhIHN1ZmZpeGVzIHN1ZmZpeGVzYWRkIHN3IHN3YXBmaWxlIHN3YXBzeW5jIHN3YiBzd2Ygc3dpdGNoYnVmIHN3cyBzeHEgc3luIHN5bm1heGNvbCBzeW50YXggdGEgdGFibGluZSB0YWJwYWdlbWF4IHRhYnN0b3AgdGFnIHRhZ2JzZWFyY2ggdGFnbGVuZ3RoIHRhZ3JlbGF0aXZlIHRhZ3MgdGFnc3RhY2sgdGFsIHRiIHRiaSB0YmlkaSB0YmlzIHRicyB0ZW5jIHRlcm0gdGVybWJpZGkgdGVybWVuY29kaW5nIHRlcnNlIHRleHRhdXRvIHRleHRtb2RlIHRleHR3aWR0aCB0ZiB0Z3N0IHRoZXNhdXJ1cyB0aWxkZW9wIHRpbWVvdXQgdGltZW91dGxlbiB0aXRsZSB0aXRsZWxlbiB0aXRsZW9sZCB0aXRsZXN0cmluZyB0bCB0bSB0byB0b29sYmFyIHRvb2xiYXJpY29uc2l6ZSB0b3AgdHBtIHRyIHRzIHRzbCB0c3IgdHRpbWVvdXQgdHRpbWVvdXRsZW4gdHRtIHR0eSB0dHlidWlsdGluIHR0eWZhc3QgdHR5bSB0dHltb3VzZSB0dHlzY3JvbGwgdHR5dHlwZSB0dyB0eCB1YyB1bCB1bmRvbGV2ZWxzIHVwZGF0ZWNvdW50IHVwZGF0ZXRpbWUgdXQgdmIgdmJzIHZkaXIgdmUgdmVyYm9zZSB2ZXJib3NlZmlsZSB2ZmlsZSB2aSB2aWV3ZGlyIHZpZXdvcHRpb25zIHZpbWluZm8gdmlydHVhbGVkaXQgdmlzdWFsYmVsbCB2b3Agd2Egd2FrIHdhcm4gd2Igd2Mgd2NtIHdkIHdlaXJkaW52ZXJ0IHdmaCB3Zncgd2ggd2hpY2h3cmFwIHdpIHdpZyB3aWxkY2hhciB3aWxkY2hhcm0gd2lsZGlnbm9yZSB3aWxkbWVudSB3aWxkbW9kZSB3aWxkb3B0aW9ucyB3aW0gd2luYWx0a2V5cyB3aW5kb3cgd2luZml4aGVpZ2h0IHdpbmZpeHdpZHRoIHdpbmhlaWdodCB3aW5taW5oZWlnaHQgd2lubWlud2lkdGggd2lud2lkdGggd2l2IHdpdyB3bSB3bWggd21udSB3bXcgd29wIHdyYXAgd3JhcG1hcmdpbiB3cmFwc2NhbiB3cml0ZSB3cml0ZWFueSB3cml0ZWJhY2t1cCB3cml0ZWRlbGF5IHdzIHd3IAogCiAiIHZpbU9wdGlvbnM6IFRoZXNlIGFyZSB0aGUgdHVybi1vZmYgc2V0dGluZyB2YXJpYW50cyB7e3syCi1zeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCW5vYWNkIG5vYWkgbm9ha20gbm9hbGxvd3JldmlucyBub2FsdGtleW1hcCBub2FudGkgbm9hbnRpYWxpYXMgbm9hciBub2FyYWIgbm9hcmFiaWMgbm9hcmFiaWNzaGFwZSBub2FyaSBub2Fyc2hhcGUgbm9hdXRvY2hkaXIgbm9hdXRvaW5kZW50IG5vYXV0b3JlYWQgbm9hdXRvd3JpdGUgbm9hdXRvd3JpdGVhbGwgbm9hdyBub2F3YSBub2JhY2t1cCBub2JhbGxvb25ldmFsIG5vYmV2YWwgbm9iaW4gbm9iaW5hcnkgbm9iaW9zayBub2Jpb3NrZXkgbm9iayBub2JsIG5vYm9tYiBub2J1Zmxpc3RlZCBub2NmIG5vY2kgbm9jaW4gbm9jaW5kZW50IG5vY29tcGF0aWJsZSBub2NvbmZpcm0gbm9jb25zayBub2NvbnNrZXkgbm9jb3B5aW5kZW50IG5vY3Agbm9jc2NvcGV0YWcgbm9jc2NvcGV2ZXJib3NlIG5vY3N0IG5vY3N2ZXJiIG5vY3VjIG5vY3VsIG5vY3Vyc29yY29sdW1uIG5vY3Vyc29ybGluZSBub2RlY28gbm9kZWxjb21iaW5lIG5vZGcgbm9kaWZmIG5vZGlncmFwaCBub2Rpc2FibGUgbm9lYSBub2ViIG5vZWQgbm9lZGNvbXBhdGlibGUgbm9layBub2VuZG9mbGluZSBub2VvbCBub2VxdWFsYWx3YXlzIG5vZXJyb3JiZWxscyBub2VzY2tleXMgbm9ldCBub2V4IG5vZXhwYW5kdGFiIG5vZXhyYyBub2ZlbiBub2ZrIG5vZmttYXAgbm9mb2xkZW5hYmxlIG5vZ2Qgbm9nZGVmYXVsdCBub2d1aXB0eSBub2hpZCBub2hpZGRlbiBub2hrIG5vaGttYXAgbm9oa21hcHAgbm9oa3Agbm9obHMgbm9obHNlYXJjaCBub2ljIG5vaWNvbiBub2lnbm9yZWNhc2Ugbm9pbSBub2ltYyBub2ltY21kbGluZSBub2ltZCBub2luY3NlYXJjaCBub2luZiBub2luZmVyY2FzZSBub2luc2VydG1vZGUgbm9pcyBub2pvaW5zcGFjZXMgbm9qcyBub2xhenlyZWRyYXcgbm9sYnIgbm9saW5lYnJlYWsgbm9saXNwIG5vbGlzdCBub2xvYWRwbHVnaW5zIG5vbHBsIG5vbHogbm9tYSBub21hZ2ljIG5vbWggbm9tbCBub21vZCBub21vZGVsaW5lIG5vbW9kaWZpYWJsZSBub21vZGlmaWVkIG5vbW9yZSBub21vdXNlZiBub21vdXNlZm9jdXMgbm9tb3VzZWhpZGUgbm9udSBub251bWJlciBub3Bhc3RlIG5vcGkgbm9wcmVzZXJ2ZWluZGVudCBub3ByZXZpZXd3aW5kb3cgbm9wcm9tcHQgbm9wdncgbm9yZWFkb25seSBub3JlbWFwIG5vcmVzdG9yZXNjcmVlbiBub3JldmlucyBub3JpIG5vcmlnaHRsZWZ0IG5vcmlnaHRsZWZ0Y21kIG5vcmwgbm9ybGMgbm9ybyBub3JzIG5vcnUgbm9ydWxlciBub3NiIG5vc2Mgbm9zY2Igbm9zY3JvbGxiaW5kIG5vc2NzIG5vc2VjdXJlIG5vc2Z0IG5vc2hlbGxzbGFzaCBub3NoZWxsdGVtcCBub3NoaWZ0cm91bmQgbm9zaG9ydG5hbWUgbm9zaG93Y21kIG5vc2hvd2Z1bGx0YWcgbm9zaG93bWF0Y2ggbm9zaG93bW9kZSBub3NpIG5vc20gbm9zbWFydGNhc2Ugbm9zbWFydGluZGVudCBub3NtYXJ0dGFiIG5vc21kIG5vc24gbm9zb2wgbm9zcGVsbCBub3NwbGl0YmVsb3cgbm9zcGxpdHJpZ2h0IG5vc3ByIG5vc3Igbm9zc2wgbm9zdGEgbm9zdGFydG9mbGluZSBub3N0bXAgbm9zd2FwZmlsZSBub3N3ZiBub3RhIG5vdGFnYnNlYXJjaCBub3RhZ3JlbGF0aXZlIG5vdGFnc3RhY2sgbm90Ymkgbm90YmlkaSBub3RicyBub3Rlcm1iaWRpIG5vdGVyc2Ugbm90ZXh0YXV0byBub3RleHRtb2RlIG5vdGYgbm90Z3N0IG5vdGlsZGVvcCBub3RpbWVvdXQgbm90aXRsZSBub3RvIG5vdG9wIG5vdHIgbm90dGltZW91dCBub3R0eWJ1aWx0aW4gbm90dHlmYXN0IG5vdHggbm92YiBub3Zpc3VhbGJlbGwgbm93YSBub3dhcm4gbm93YiBub3dlaXJkaW52ZXJ0IG5vd2ZoIG5vd2Z3IG5vd2lsZG1lbnUgbm93aW5maXhoZWlnaHQgbm93aW5maXh3aWR0aCBub3dpdiBub3dtbnUgbm93cmFwIG5vd3JhcHNjYW4gbm93cml0ZSBub3dyaXRlYW55IG5vd3JpdGViYWNrdXAgbm93cyAKK3N5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJbm9hY2Qgbm9haSBub2FrbSBub2FsbG93cmV2aW5zIG5vYWx0a2V5bWFwIG5vYW50aSBub2FudGlhbGlhcyBub2FyIG5vYXJhYiBub2FyYWJpYyBub2FyYWJpY3NoYXBlIG5vYXJpIG5vYXJzaGFwZSBub2F1dG9jaGRpciBub2F1dG9pbmRlbnQgbm9hdXRvcmVhZCBub2F1dG93cml0ZSBub2F1dG93cml0ZWFsbCBub2F3IG5vYXdhIG5vYmFja3VwIG5vYmFsbG9vbmV2YWwgbm9iZXZhbCBub2JpbiBub2JpbmFyeSBub2Jpb3NrIG5vYmlvc2tleSBub2JrIG5vYmwgbm9ib21iIG5vYnVmbGlzdGVkIG5vY2Ygbm9jaSBub2NpbiBub2NpbmRlbnQgbm9jb21wYXRpYmxlIG5vY29uZmlybSBub2NvbnNrIG5vY29uc2tleSBub2NvcHlpbmRlbnQgbm9jcCBub2NzY29wZXRhZyBub2NzY29wZXZlcmJvc2Ugbm9jc3Qgbm9jc3ZlcmIgbm9jdWMgbm9jdWwgbm9jdXJzb3Jjb2x1bW4gbm9jdXJzb3JsaW5lIG5vZGVjbyBub2RlbGNvbWJpbmUgbm9kZyBub2RpZmYgbm9kaWdyYXBoIG5vZGlzYWJsZSBub2VhIG5vZWIgbm9lZCBub2VkY29tcGF0aWJsZSBub2VrIG5vZW5kb2ZsaW5lIG5vZW9sIG5vZXF1YWxhbHdheXMgbm9lcnJvcmJlbGxzIG5vZXNja2V5cyBub2V0IG5vZXggbm9leHBhbmR0YWIgbm9leHJjIG5vZmVuIG5vZmsgbm9ma21hcCBub2ZvbGRlbmFibGUgbm9nZCBub2dkZWZhdWx0IG5vZ3VpcHR5IG5vaGlkIG5vaGlkZGVuIG5vaGsgbm9oa21hcCBub2hrbWFwcCBub2hrcCBub2hscyBub2hsc2VhcmNoIG5vaWMgbm9pY29uIG5vaWdub3JlY2FzZSBub2ltIG5vaW1jIG5vaW1jbWRsaW5lIG5vaW1kIG5vaW5jc2VhcmNoIG5vaW5mIG5vaW5mZXJjYXNlIG5vaW5zZXJ0bW9kZSBub2lzIG5vam9pbnNwYWNlcyBub2pzIG5vbGF6eXJlZHJhdyBub2xiciBub2xpbmVicmVhayBub2xpc3Agbm9saXN0IG5vbG9hZHBsdWdpbnMgbm9scGwgbm9seiBub21hIG5vbWFjYXRzdWkgbm9tYWdpYyBub21oIG5vbWwgbm9tb2Qgbm9tb2RlbGluZSBub21vZGlmaWFibGUgbm9tb2RpZmllZCBub21vcmUgbm9tb3VzZWYgbm9tb3VzZWZvY3VzIG5vbW91c2VoaWRlIG5vbnUgbm9udW1iZXIgbm9wYXN0ZSBub3BpIG5vcHJlc2VydmVpbmRlbnQgbm9wcmV2aWV3d2luZG93IG5vcHJvbXB0IG5vcHZ3IG5vcmVhZG9ubHkgbm9yZW1hcCBub3Jlc3RvcmVzY3JlZW4gbm9yZXZpbnMgbm9yaSBub3JpZ2h0bGVmdCBub3JpZ2h0bGVmdGNtZCBub3JsIG5vcmxjIG5vcm8gbm9ycyBub3J1IG5vcnVsZXIgbm9zYiBub3NjIG5vc2NiIG5vc2Nyb2xsYmluZCBub3NjcyBub3NlY3VyZSBub3NmdCBub3NoZWxsc2xhc2ggbm9zaGVsbHRlbXAgbm9zaGlmdHJvdW5kIG5vc2hvcnRuYW1lIG5vc2hvd2NtZCBub3Nob3dmdWxsdGFnIG5vc2hvd21hdGNoIG5vc2hvd21vZGUgbm9zaSBub3NtIG5vc21hcnRjYXNlIG5vc21hcnRpbmRlbnQgbm9zbWFydHRhYiBub3NtZCBub3NuIG5vc29sIG5vc3BlbGwgbm9zcGxpdGJlbG93IG5vc3BsaXRyaWdodCBub3NwciBub3NyIG5vc3NsIG5vc3RhIG5vc3RhcnRvZmxpbmUgbm9zdG1wIG5vc3dhcGZpbGUgbm9zd2Ygbm90YSBub3RhZ2JzZWFyY2ggbm90YWdyZWxhdGl2ZSBub3RhZ3N0YWNrIG5vdGJpIG5vdGJpZGkgbm90YnMgbm90ZXJtYmlkaSBub3RlcnNlIG5vdGV4dGF1dG8gbm90ZXh0bW9kZSBub3RmIG5vdGdzdCBub3RpbGRlb3Agbm90aW1lb3V0IG5vdGl0bGUgbm90byBub3RvcCBub3RyIG5vdHRpbWVvdXQgbm90dHlidWlsdGluIG5vdHR5ZmFzdCBub3R4IG5vdmIgbm92aXN1YWxiZWxsIG5vd2Egbm93YXJuIG5vd2Igbm93ZWlyZGludmVydCBub3dmaCBub3dmdyBub3dpbGRtZW51IG5vd2luZml4aGVpZ2h0IG5vd2luZml4d2lkdGggbm93aXYgbm93bW51IG5vd3JhcCBub3dyYXBzY2FuIG5vd3JpdGUgbm93cml0ZWFueSBub3dyaXRlYmFja3VwIG5vd3MgCiAKICIgdmltT3B0aW9uczogVGhlc2UgYXJlIHRoZSBpbnZlcnRpYmxlIHZhcmlhbnRzIHt7ezIKLXN5biBrZXl3b3JkIHZpbU9wdGlvbiBjb250YWluZWQJaW52YWNkIGludmFpIGludmFrbSBpbnZhbGxvd3JldmlucyBpbnZhbHRrZXltYXAgaW52YW50aSBpbnZhbnRpYWxpYXMgaW52YXIgaW52YXJhYiBpbnZhcmFiaWMgaW52YXJhYmljc2hhcGUgaW52YXJpIGludmFyc2hhcGUgaW52YXV0b2NoZGlyIGludmF1dG9pbmRlbnQgaW52YXV0b3JlYWQgaW52YXV0b3dyaXRlIGludmF1dG93cml0ZWFsbCBpbnZhdyBpbnZhd2EgaW52YmFja3VwIGludmJhbGxvb25ldmFsIGludmJldmFsIGludmJpbiBpbnZiaW5hcnkgaW52Ymlvc2sgaW52Ymlvc2tleSBpbnZiayBpbnZibCBpbnZib21iIGludmJ1Zmxpc3RlZCBpbnZjZiBpbnZjaSBpbnZjaW4gaW52Y2luZGVudCBpbnZjb21wYXRpYmxlIGludmNvbmZpcm0gaW52Y29uc2sgaW52Y29uc2tleSBpbnZjb3B5aW5kZW50IGludmNwIGludmNzY29wZXRhZyBpbnZjc2NvcGV2ZXJib3NlIGludmNzdCBpbnZjc3ZlcmIgaW52Y3VjIGludmN1bCBpbnZjdXJzb3Jjb2x1bW4gaW52Y3Vyc29ybGluZSBpbnZkZWNvIGludmRlbGNvbWJpbmUgaW52ZGcgaW52ZGlmZiBpbnZkaWdyYXBoIGludmRpc2FibGUgaW52ZWEgaW52ZWIgaW52ZWQgaW52ZWRjb21wYXRpYmxlIGludmVrIGludmVuZG9mbGluZSBpbnZlb2wgaW52ZXF1YWxhbHdheXMgaW52ZXJyb3JiZWxscyBpbnZlc2NrZXlzIGludmV0IGludmV4IGludmV4cGFuZHRhYiBpbnZleHJjIGludmZlbiBpbnZmayBpbnZma21hcCBpbnZmb2xkZW5hYmxlIGludmdkIGludmdkZWZhdWx0IGludmd1aXB0eSBpbnZoaWQgaW52aGlkZGVuIGludmhrIGludmhrbWFwIGludmhrbWFwcCBpbnZoa3AgaW52aGxzIGludmhsc2VhcmNoIGludmljIGludmljb24gaW52aWdub3JlY2FzZSBpbnZpbSBpbnZpbWMgaW52aW1jbWRsaW5lIGludmltZCBpbnZpbmNzZWFyY2ggaW52aW5mIGludmluZmVyY2FzZSBpbnZpbnNlcnRtb2RlIGludmlzIGludmpvaW5zcGFjZXMgaW52anMgaW52bGF6eXJlZHJhdyBpbnZsYnIgaW52bGluZWJyZWFrIGludmxpc3AgaW52bGlzdCBpbnZsb2FkcGx1Z2lucyBpbnZscGwgaW52bHogaW52bWEgaW52bWFnaWMgaW52bWggaW52bWwgaW52bW9kIGludm1vZGVsaW5lIGludm1vZGlmaWFibGUgaW52bW9kaWZpZWQgaW52bW9yZSBpbnZtb3VzZWYgaW52bW91c2Vmb2N1cyBpbnZtb3VzZWhpZGUgaW52bnUgaW52bnVtYmVyIGludnBhc3RlIGludnBpIGludnByZXNlcnZlaW5kZW50IGludnByZXZpZXd3aW5kb3cgaW52cHJvbXB0IGludnB2dyBpbnZyZWFkb25seSBpbnZyZW1hcCBpbnZyZXN0b3Jlc2NyZWVuIGludnJldmlucyBpbnZyaSBpbnZyaWdodGxlZnQgaW52cmlnaHRsZWZ0Y21kIGludnJsIGludnJsYyBpbnZybyBpbnZycyBpbnZydSBpbnZydWxlciBpbnZzYiBpbnZzYyBpbnZzY2IgaW52c2Nyb2xsYmluZCBpbnZzY3MgaW52c2VjdXJlIGludnNmdCBpbnZzaGVsbHNsYXNoIGludnNoZWxsdGVtcCBpbnZzaGlmdHJvdW5kIGludnNob3J0bmFtZSBpbnZzaG93Y21kIGludnNob3dmdWxsdGFnIGludnNob3dtYXRjaCBpbnZzaG93bW9kZSBpbnZzaSBpbnZzbSBpbnZzbWFydGNhc2UgaW52c21hcnRpbmRlbnQgaW52c21hcnR0YWIgaW52c21kIGludnNuIGludnNvbCBpbnZzcGVsbCBpbnZzcGxpdGJlbG93IGludnNwbGl0cmlnaHQgaW52c3ByIGludnNyIGludnNzbCBpbnZzdGEgaW52c3RhcnRvZmxpbmUgaW52c3RtcCBpbnZzd2FwZmlsZSBpbnZzd2YgaW52dGEgaW52dGFnYnNlYXJjaCBpbnZ0YWdyZWxhdGl2ZSBpbnZ0YWdzdGFjayBpbnZ0YmkgaW52dGJpZGkgaW52dGJzIGludnRlcm1iaWRpIGludnRlcnNlIGludnRleHRhdXRvIGludnRleHRtb2RlIGludnRmIGludnRnc3QgaW52dGlsZGVvcCBpbnZ0aW1lb3V0IGludnRpdGxlIGludnRvIGludnRvcCBpbnZ0ciBpbnZ0dGltZW91dCBpbnZ0dHlidWlsdGluIGludnR0eWZhc3QgaW52dHggaW52dmIgaW52dmlzdWFsYmVsbCBpbnZ3YSBpbnZ3YXJuIGludndiIGludndlaXJkaW52ZXJ0IGludndmaCBpbnZ3ZncgaW52d2lsZG1lbnUgaW52d2luZml4aGVpZ2h0IGludndpbmZpeHdpZHRoIGludndpdiBpbnZ3bW51IGludndyYXAgaW52d3JhcHNjYW4gaW52d3JpdGUgaW52d3JpdGVhbnkgaW52d3JpdGViYWNrdXAgaW52d3MgCitzeW4ga2V5d29yZCB2aW1PcHRpb24gY29udGFpbmVkCWludmFjZCBpbnZhaSBpbnZha20gaW52YWxsb3dyZXZpbnMgaW52YWx0a2V5bWFwIGludmFudGkgaW52YW50aWFsaWFzIGludmFyIGludmFyYWIgaW52YXJhYmljIGludmFyYWJpY3NoYXBlIGludmFyaSBpbnZhcnNoYXBlIGludmF1dG9jaGRpciBpbnZhdXRvaW5kZW50IGludmF1dG9yZWFkIGludmF1dG93cml0ZSBpbnZhdXRvd3JpdGVhbGwgaW52YXcgaW52YXdhIGludmJhY2t1cCBpbnZiYWxsb29uZXZhbCBpbnZiZXZhbCBpbnZiaW4gaW52YmluYXJ5IGludmJpb3NrIGludmJpb3NrZXkgaW52YmsgaW52YmwgaW52Ym9tYiBpbnZidWZsaXN0ZWQgaW52Y2YgaW52Y2kgaW52Y2luIGludmNpbmRlbnQgaW52Y29tcGF0aWJsZSBpbnZjb25maXJtIGludmNvbnNrIGludmNvbnNrZXkgaW52Y29weWluZGVudCBpbnZjcCBpbnZjc2NvcGV0YWcgaW52Y3Njb3BldmVyYm9zZSBpbnZjc3QgaW52Y3N2ZXJiIGludmN1YyBpbnZjdWwgaW52Y3Vyc29yY29sdW1uIGludmN1cnNvcmxpbmUgaW52ZGVjbyBpbnZkZWxjb21iaW5lIGludmRnIGludmRpZmYgaW52ZGlncmFwaCBpbnZkaXNhYmxlIGludmVhIGludmViIGludmVkIGludmVkY29tcGF0aWJsZSBpbnZlayBpbnZlbmRvZmxpbmUgaW52ZW9sIGludmVxdWFsYWx3YXlzIGludmVycm9yYmVsbHMgaW52ZXNja2V5cyBpbnZldCBpbnZleCBpbnZleHBhbmR0YWIgaW52ZXhyYyBpbnZmZW4gaW52ZmsgaW52ZmttYXAgaW52Zm9sZGVuYWJsZSBpbnZnZCBpbnZnZGVmYXVsdCBpbnZndWlwdHkgaW52aGlkIGludmhpZGRlbiBpbnZoayBpbnZoa21hcCBpbnZoa21hcHAgaW52aGtwIGludmhscyBpbnZobHNlYXJjaCBpbnZpYyBpbnZpY29uIGludmlnbm9yZWNhc2UgaW52aW0gaW52aW1jIGludmltY21kbGluZSBpbnZpbWQgaW52aW5jc2VhcmNoIGludmluZiBpbnZpbmZlcmNhc2UgaW52aW5zZXJ0bW9kZSBpbnZpcyBpbnZqb2luc3BhY2VzIGludmpzIGludmxhenlyZWRyYXcgaW52bGJyIGludmxpbmVicmVhayBpbnZsaXNwIGludmxpc3QgaW52bG9hZHBsdWdpbnMgaW52bHBsIGludmx6IGludm1hIGludm1hY2F0c3VpIGludm1hZ2ljIGludm1oIGludm1sIGludm1vZCBpbnZtb2RlbGluZSBpbnZtb2RpZmlhYmxlIGludm1vZGlmaWVkIGludm1vcmUgaW52bW91c2VmIGludm1vdXNlZm9jdXMgaW52bW91c2VoaWRlIGludm51IGludm51bWJlciBpbnZwYXN0ZSBpbnZwaSBpbnZwcmVzZXJ2ZWluZGVudCBpbnZwcmV2aWV3d2luZG93IGludnByb21wdCBpbnZwdncgaW52cmVhZG9ubHkgaW52cmVtYXAgaW52cmVzdG9yZXNjcmVlbiBpbnZyZXZpbnMgaW52cmkgaW52cmlnaHRsZWZ0IGludnJpZ2h0bGVmdGNtZCBpbnZybCBpbnZybGMgaW52cm8gaW52cnMgaW52cnUgaW52cnVsZXIgaW52c2IgaW52c2MgaW52c2NiIGludnNjcm9sbGJpbmQgaW52c2NzIGludnNlY3VyZSBpbnZzZnQgaW52c2hlbGxzbGFzaCBpbnZzaGVsbHRlbXAgaW52c2hpZnRyb3VuZCBpbnZzaG9ydG5hbWUgaW52c2hvd2NtZCBpbnZzaG93ZnVsbHRhZyBpbnZzaG93bWF0Y2ggaW52c2hvd21vZGUgaW52c2kgaW52c20gaW52c21hcnRjYXNlIGludnNtYXJ0aW5kZW50IGludnNtYXJ0dGFiIGludnNtZCBpbnZzbiBpbnZzb2wgaW52c3BlbGwgaW52c3BsaXRiZWxvdyBpbnZzcGxpdHJpZ2h0IGludnNwciBpbnZzciBpbnZzc2wgaW52c3RhIGludnN0YXJ0b2ZsaW5lIGludnN0bXAgaW52c3dhcGZpbGUgaW52c3dmIGludnRhIGludnRhZ2JzZWFyY2ggaW52dGFncmVsYXRpdmUgaW52dGFnc3RhY2sgaW52dGJpIGludnRiaWRpIGludnRicyBpbnZ0ZXJtYmlkaSBpbnZ0ZXJzZSBpbnZ0ZXh0YXV0byBpbnZ0ZXh0bW9kZSBpbnZ0ZiBpbnZ0Z3N0IGludnRpbGRlb3AgaW52dGltZW91dCBpbnZ0aXRsZSBpbnZ0byBpbnZ0b3AgaW52dHIgaW52dHRpbWVvdXQgaW52dHR5YnVpbHRpbiBpbnZ0dHlmYXN0IGludnR4IGludnZiIGludnZpc3VhbGJlbGwgaW52d2EgaW52d2FybiBpbnZ3YiBpbnZ3ZWlyZGludmVydCBpbnZ3ZmggaW52d2Z3IGludndpbGRtZW51IGludndpbmZpeGhlaWdodCBpbnZ3aW5maXh3aWR0aCBpbnZ3aXYgaW52d21udSBpbnZ3cmFwIGludndyYXBzY2FuIGludndyaXRlIGludndyaXRlYW55IGludndyaXRlYmFja3VwIGludndzIAogCiAiIHRlcm1jYXAgY29kZXMgKHdoaWNoIGNhbiBhbHNvIGJlIHNldCkge3t7Mgogc3luIGtleXdvcmQgdmltT3B0aW9uIGNvbnRhaW5lZAl0X0FCIHRfQUYgdF9hbCB0X0FMIHRfYmMgdF9jZCB0X2NlIHRfQ2UgdF9jbCB0X2NtIHRfQ28gdF9jcyB0X0NzIHRfQ1MgdF9DViB0X2RhIHRfZGIgdF9kbCB0X0RMIHRfRUkgICAgZW5kIGluc2VydCBtb2RlIChibG9jayBjdXJzb3Igc2hhcGUpICAgICAgICAgICAgKnRfRUkqICondF9FSScqIHRfRjEgdF9GMiB0X0YzIHRfRjQgdF9GNSB0X0Y2IHRfRjcgdF9GOCB0X0Y5IHRfZnMgdF9JRSB0X0lTIHRfazEgdF9LMSB0X2syIHRfazMgdF9LMyB0X2s0IHRfSzQgdF9rNSB0X0s1IHRfazYgdF9LNiB0X2s3IHRfSzcgdF9rOCB0X0s4IHRfazkgdF9LOSB0X0tBIHRfa2IgdF9rQiB0X0tCIHRfS0MgdF9rZCB0X2tEIHRfS0QgdF9rZSB0X0tFIHRfS0YgdF9LRyB0X2toIHRfS0ggdF9rSSB0X0tJIHRfS0ogdF9LSyB0X2tsIHRfS0wgdF9rTiB0X2tQIHRfa3IgdF9rcyB0X2t1IHRfbGUgdF9tYiB0X21kIHRfbWUgdF9tciB0X21zIHRfbmQgdF9vcCB0X1JJIHRfUlYgdF9TYiB0X3NlIHRfU2YgdF9TSSAgICBzdGFydCBpbnNlcnQgbW9kZSAoYmFyIGN1cnNvciBzaGFwZSkgICAgICAgICAgICAqdF9TSSogKid0X1NJJyogdF9zbyB0X3NyIHRfdGUgdF90aSB0X3RzIHRfdWUgdF91cyB0X3V0IHRfdmIgdF92ZSB0X3ZpIHRfdnMgdF9XUCB0X1dTIHRfeHMgdF9aSCB0X1pSIApAQCAtNTUsNyArNTUsNyBAQAogc3luIGNhc2UgbWF0Y2gKIAogIiBGdW5jdGlvbiBOYW1lcyB7e3syCi1zeW4ga2V5d29yZCB2aW1GdW5jTmFtZSBjb250YWluZWQJYWRkIGFwcGVuZCBhcmdjIGFyZ2lkeCBhcmd2IGJyb3dzZSBicm93c2VkaXIgYnVmZXhpc3RzIGJ1Zmxpc3RlZCBidWZsb2FkZWQgYnVmbmFtZSBidWZuciBidWZ3aW5uciBieXRlMmxpbmUgYnl0ZWlkeCBjYWxsIGNoYW5nZW5yIGNoYXIybnIgY2luZGVudCBjb2wgY29tcGxldGUgY29tcGxldGVfYWRkIGNvbXBsZXRlX2NoZWNrIGNvbmZpcm0gY29weSBjb3VudCBjc2NvcGVfY29ubmVjdGlvbiBjdXJzb3IgZGVlcGNvcHkgZGVsZXRlIGRpZF9maWxldHlwZSBkaWZmX2ZpbGxlciBkaWZmX2hsSUQgZW1wdHkgZXNjYXBlIGV2YWwgZXZlbnRoYW5kbGVyIGV4ZWN1dGFibGUgZXhpc3RzIGV4cGFuZCBleHByOCBleHRlbmQgZmlsZXJlYWRhYmxlIGZpbGV3cml0YWJsZSBmaWx0ZXIgZmluZGRpciBmaW5kZmlsZSBmbmFtZW1vZGlmeSBmb2xkY2xvc2VkIGZvbGRjbG9zZWRlbmQgZm9sZGxldmVsIGZvbGR0ZXh0IGZvbGR0ZXh0cmVzdWx0IGZvcmVncm91bmQgZnVuY3Rpb24gZ2FyYmFnZWNvbGxlY3QgZ2V0IGdldGJ1ZmxpbmUgZ2V0YnVmdmFyIGdldGNoYXIgZ2V0Y2hhcm1vZCBnZXRjbWRsaW5lIGdldGNtZHBvcyBnZXRjbWR0eXBlIGdldGN3ZCBnZXRmb250bmFtZSBnZXRmcGVybSBnZXRmc2l6ZSBnZXRmdGltZSBnZXRmdHlwZSBnZXRsaW5lIGdldGxvY2xpc3QgZ2V0cG9zIGdldHFmbGlzdCBnZXRyZWcgZ2V0cmVndHlwZSBnZXR0YWJ3aW52YXIgZ2V0d2lucG9zeCBnZXR3aW5wb3N5IGdldHdpbnZhciBnbG9iIGdsb2JwYXRoIGhhcyBoYXNfa2V5IGhhc21hcHRvIGhpc3RhZGQgaGlzdGRlbCBoaXN0Z2V0IGhpc3RuciBobGV4aXN0cyBobElEIGhvc3RuYW1lIGljb252IGluZGVudCBpbmRleCBpbnB1dCBpbnB1dGRpYWxvZyBpbnB1dGxpc3QgaW5wdXRyZXN0b3JlIGlucHV0c2F2ZSBpbnB1dHNlY3JldCBpbnNlcnQgaXNkaXJlY3RvcnkgaXNsb2NrZWQgaXRlbXMgam9pbiBrZXlzIGxlbiBsaWJjYWxsIGxpYmNhbGxuciBsaW5lIGxpbmUyYnl0ZSBsaXNwaW5kZW50IGxvY2FsdGltZSBtYXAgbWFwYXJnIG1hcGNoZWNrIG1hdGNoIG1hdGNoYXJnIG1hdGNoZW5kIG1hdGNobGlzdCBtYXRjaHN0ciBtYXggbWluIG1rZGlyIG1vZGUgbmV4dG5vbmJsYW5rIG5yMmNoYXIgcGF0aHNob3J0ZW4gcHJldm5vbmJsYW5rIHByaW50ZiBwdW12aXNpYmxlIHJhbmdlIHJlYWRmaWxlIHJlbHRpbWUgcmVsdGltZXN0ciByZW1vdGVfZXhwciByZW1vdGVfZm9yZWdyb3VuZCByZW1vdGVfcGVlayByZW1vdGVfcmVhZCByZW1vdGVfc2VuZCByZW1vdmUgcmVuYW1lIHJlcGVhdCByZXNvbHZlIHJldmVyc2Ugc2VhcmNoIHNlYXJjaGRlY2wgc2VhcmNocGFpciBzZWFyY2hwYWlycG9zIHNlYXJjaHBvcyBzZXJ2ZXIyY2xpZW50IHNlcnZlcmxpc3Qgc2V0YnVmdmFyIHNldGNtZHBvcyBzZXRsaW5lIHNldGxvY2xpc3Qgc2V0cG9zIHNldHFmbGlzdCBzZXRyZWcgc2V0dGFid2ludmFyIHNldHdpbnZhciBzaW1wbGlmeSBzb3J0IHNvdW5kZm9sZCBzcGVsbGJhZHdvcmQgc3BlbGxzdWdnZXN0IHNwbGl0IHN0cjJuciBzdHJmdGltZSBzdHJpZHggc3RyaW5nIHN0cmxlbiBzdHJwYXJ0IHN0cnJpZHggc3RydHJhbnMgc3VibWF0Y2ggc3Vic3RpdHV0ZSBzeW5JRCBzeW5JRGF0dHIgc3luSUR0cmFucyBzeXN0ZW0gdGFicGFnZWJ1Zmxpc3QgdGFicGFnZW5yIHRhYnBhZ2V3aW5uciB0YWdmaWxlcyB0YWdsaXN0IHRlbXBuYW1lIHRvbG93ZXIgdG91cHBlciB0ciB0eXBlIHZhbHVlcyB2aXJ0Y29sIHZpc3VhbG1vZGUgd2luYnVmbnIgd2luY29sIHdpbmhlaWdodCB3aW5saW5lIHdpbm5yIHdpbnJlc3RjbWQgd2lucmVzdHZpZXcgd2luc2F2ZXZpZXcgd2lud2lkdGggd3JpdGVmaWxlIAorc3luIGtleXdvcmQgdmltRnVuY05hbWUgY29udGFpbmVkCWFkZCBhcHBlbmQgYXJnYyBhcmdpZHggYXJndiBicm93c2UgYnJvd3NlZGlyIGJ1ZmV4aXN0cyBidWZsaXN0ZWQgYnVmbG9hZGVkIGJ1Zm5hbWUgYnVmbnIgYnVmd2lubnIgYnl0ZTJsaW5lIGJ5dGVpZHggY2FsbCBjaGFuZ2VuciBjaGFyMm5yIGNpbmRlbnQgY29sIGNvbXBsZXRlIGNvbXBsZXRlX2FkZCBjb21wbGV0ZV9jaGVjayBjb25maXJtIGNvcHkgY291bnQgY3Njb3BlX2Nvbm5lY3Rpb24gY3Vyc29yIGRlZXBjb3B5IGRlbGV0ZSBkaWRfZmlsZXR5cGUgZGlmZl9maWxsZXIgZGlmZl9obElEIGVtcHR5IGVzY2FwZSBldmFsIGV2ZW50aGFuZGxlciBleGVjdXRhYmxlIGV4aXN0cyBleHBhbmQgZXhwcjggZXh0ZW5kIGZlZWRrZXlzIGZpbGVyZWFkYWJsZSBmaWxld3JpdGFibGUgZmlsdGVyIGZpbmRkaXIgZmluZGZpbGUgZm5hbWVtb2RpZnkgZm9sZGNsb3NlZCBmb2xkY2xvc2VkZW5kIGZvbGRsZXZlbCBmb2xkdGV4dCBmb2xkdGV4dHJlc3VsdCBmb3JlZ3JvdW5kIGZ1bmN0aW9uIGdhcmJhZ2Vjb2xsZWN0IGdldCBnZXRidWZsaW5lIGdldGJ1ZnZhciBnZXRjaGFyIGdldGNoYXJtb2QgZ2V0Y21kbGluZSBnZXRjbWRwb3MgZ2V0Y21kdHlwZSBnZXRjd2QgZ2V0Zm9udG5hbWUgZ2V0ZnBlcm0gZ2V0ZnNpemUgZ2V0ZnRpbWUgZ2V0ZnR5cGUgZ2V0bGluZSBnZXRsb2NsaXN0IGdldHBvcyBnZXRxZmxpc3QgZ2V0cmVnIGdldHJlZ3R5cGUgZ2V0dGFid2ludmFyIGdldHdpbnBvc3ggZ2V0d2lucG9zeSBnZXR3aW52YXIgZ2xvYiBnbG9icGF0aCBoYXMgaGFzX2tleSBoYXNtYXB0byBoaXN0YWRkIGhpc3RkZWwgaGlzdGdldCBoaXN0bnIgaGxleGlzdHMgaGxJRCBob3N0bmFtZSBpY29udiBpbmRlbnQgaW5kZXggaW5wdXQgaW5wdXRkaWFsb2cgaW5wdXRsaXN0IGlucHV0cmVzdG9yZSBpbnB1dHNhdmUgaW5wdXRzZWNyZXQgaW5zZXJ0IGlzZGlyZWN0b3J5IGlzbG9ja2VkIGl0ZW1zIGpvaW4ga2V5cyBsZW4gbGliY2FsbCBsaWJjYWxsbnIgbGluZSBsaW5lMmJ5dGUgbGlzcGluZGVudCBsb2NhbHRpbWUgbWFwIG1hcGFyZyBtYXBjaGVjayBtYXRjaCBtYXRjaGFyZyBtYXRjaGVuZCBtYXRjaGxpc3QgbWF0Y2hzdHIgbWF4IG1pbiBta2RpciBtb2RlIG5leHRub25ibGFuayBucjJjaGFyIHBhdGhzaG9ydGVuIHByZXZub25ibGFuayBwcmludGYgcHVtdmlzaWJsZSByYW5nZSByZWFkZmlsZSByZWx0aW1lIHJlbHRpbWVzdHIgcmVtb3RlX2V4cHIgcmVtb3RlX2ZvcmVncm91bmQgcmVtb3RlX3BlZWsgcmVtb3RlX3JlYWQgcmVtb3RlX3NlbmQgcmVtb3ZlIHJlbmFtZSByZXBlYXQgcmVzb2x2ZSByZXZlcnNlIHNlYXJjaCBzZWFyY2hkZWNsIHNlYXJjaHBhaXIgc2VhcmNocGFpcnBvcyBzZWFyY2hwb3Mgc2VydmVyMmNsaWVudCBzZXJ2ZXJsaXN0IHNldGJ1ZnZhciBzZXRjbWRwb3Mgc2V0bGluZSBzZXRsb2NsaXN0IHNldHBvcyBzZXRxZmxpc3Qgc2V0cmVnIHNldHRhYndpbnZhciBzZXR3aW52YXIgc2ltcGxpZnkgc29ydCBzb3VuZGZvbGQgc3BlbGxiYWR3b3JkIHNwZWxsc3VnZ2VzdCBzcGxpdCBzdHIybnIgc3RyZnRpbWUgc3RyaWR4IHN0cmluZyBzdHJsZW4gc3RycGFydCBzdHJyaWR4IHN0cnRyYW5zIHN1Ym1hdGNoIHN1YnN0aXR1dGUgc3luSUQgc3luSURhdHRyIHN5bklEdHJhbnMgc3lzdGVtIHRhYnBhZ2VidWZsaXN0IHRhYnBhZ2VuciB0YWJwYWdld2lubnIgdGFnZmlsZXMgdGFnbGlzdCB0ZW1wbmFtZSB0b2xvd2VyIHRvdXBwZXIgdHIgdHlwZSB2YWx1ZXMgdmlydGNvbCB2aXN1YWxtb2RlIHdpbmJ1Zm5yIHdpbmNvbCB3aW5oZWlnaHQgd2lubGluZSB3aW5uciB3aW5yZXN0Y21kIHdpbnJlc3R2aWV3IHdpbnNhdmV2aWV3IHdpbndpZHRoIHdyaXRlZmlsZSAKIAogIi0tLSBzeW50YXggYWJvdmUgZ2VuZXJhdGVkIGJ5IG1rdmltdmltIC0tLQogIiBTcGVjaWFsIFZpbSBIaWdobGlnaHRpbmcgKG5vdCBhdXRvbWF0aWMpIHt7ezEKZGlmZiAtLWdpdCBhL3NyYy9NYWtlX212Yy5tYWsgYi9zcmMvTWFrZV9tdmMubWFrCmluZGV4IDljMTFhYTAuLmFmYzA1ZDUgMTAwNjQ0Ci0tLSBhL3NyYy9NYWtlX212Yy5tYWsKKysrIGIvc3JjL01ha2VfbXZjLm1hawpAQCAtMTA0Niw4ICsxMDQ2LDE2IEBACiAJcHJvdG8vd2luZG93LnBybyBcCiAJJChORVRCRUFOU19QUk8pCiAKLS5jb2QuYzoKLQkkKENDKSAkKENGTEFHUykgL0ZBYyAkPAorLlNVRkZJWEVTOiAuY29kCisKKyMgR2VuZXJhdGUgZm9vLmNvZCAobWl4ZWQgc291cmNlIGFuZCBhc3NlbWJseSBsaXN0aW5nKSBmcm9tIGZvby5jIHZpYSAibm1ha2UKKyMgZm9vLmNvZCIKKy5jLmNvZDoKKwkkKENDKSAkKENGTEFHUykgL0ZBY3MgJDwKKworIyBHZW5lcmF0ZSBmb28uaSAocHJlcHJvY2Vzc29yIGxpc3RpbmcpIGZyb20gZm9vLmMgdmlhICJubWFrZSBmb28uaSIKKy5jLmk6CisJJChDQykgJChDRkxBR1MpIC9QIC9DICQ8CiAKIAogIyB2aW06IHNldCBub2V0IHN3PTggdHM9OCBzdHM9MCB3bT0wIHR3PTA6CmRpZmYgLS1naXQgYS9zcmMvZ3VpLmMgYi9zcmMvZ3VpLmMKaW5kZXggMGZkY2FiZS4uNDAwNjg5MSAxMDA2NDQKLS0tIGEvc3JjL2d1aS5jCisrKyBiL3NyYy9ndWkuYwpAQCAtMTE2MCw3ICsxMTYwLDcgQEAKICMgaWYgZGVmaW5lZChGRUFUX0dVSV9UQUJMSU5FKSAmJiAoZGVmaW5lZChGRUFUX0dVSV9NU1dJTikgXAogCXx8IGRlZmluZWQoRkVBVF9HVUlfTU9USUYpKQogICAgIGlmIChndWlfaGFzX3RhYmxpbmUoKSkKLQl0ZXh0X2FyZWFfeSArPSBUQUJMSU5FX0hFSUdIVDsKKwl0ZXh0X2FyZWFfeSArPSBndWkudGFibGluZV9oZWlnaHQ7CiAjZW5kaWYKIAogI2lmIGRlZmluZWQoRkVBVF9UT09MQkFSKSAmJiAoZGVmaW5lZChGRUFUX0dVSV9NT1RJRikgfHwgZGVmaW5lZChGRUFUX0dVSV9BVEhFTkEpKQpAQCAtMTI0Nyw3ICsxMjQ3LDcgQEAKICMgaWYgZGVmaW5lZChGRUFUX0dVSV9UQUJMSU5FKSAmJiAoZGVmaW5lZChGRUFUX0dVSV9NU1dJTikgXAogCXx8IGRlZmluZWQoRkVBVF9HVUlfTU9USUYpKQogICAgIGlmIChndWlfaGFzX3RhYmxpbmUoKSkKLQliYXNlX2hlaWdodCArPSBUQUJMSU5FX0hFSUdIVDsKKwliYXNlX2hlaWdodCArPSBndWkudGFibGluZV9oZWlnaHQ7CiAjIGVuZGlmCiAjIGlmZGVmIEZFQVRfRk9PVEVSCiAgICAgaWYgKHZpbV9zdHJjaHIocF9nbywgR09fRk9PVEVSKSAhPSBOVUxMKQpAQCAtMzk5Miw3ICszOTkyLDcgQEAKIAogI2lmIGRlZmluZWQoRkVBVF9HVUlfVEFCTElORSkgJiYgZGVmaW5lZChGRUFUX0dVSV9NU1dJTikKIAkgICAgaWYgKGd1aV9oYXNfdGFibGluZSgpKQotCQl5ICs9IFRBQkxJTkVfSEVJR0hUOworCQl5ICs9IGd1aS50YWJsaW5lX2hlaWdodDsKICNlbmRpZgogCiAjaWZkZWYgRkVBVF9XSU5ET1dTCmRpZmYgLS1naXQgYS9zcmMvZ3VpLmggYi9zcmMvZ3VpLmgKaW5kZXggMzYxNTZmOS4uZTY1NGEyMSAxMDA2NDQKLS0tIGEvc3JjL2d1aS5oCisrKyBiL3NyYy9ndWkuaApAQCAtNDEyLDYgKzQxMiwxMSBAQAogICAgIGNoYXJfdQkqYnJvd3NlX2ZuYW1lOwkgICAgLyogZmlsZSBuYW1lIGZyb20gZmlsZWRsZyAqLwogI2VuZGlmCS8qIEZFQVRfR1VJX0dUSyAqLwogCisjaWYgZGVmaW5lZChGRUFUX0dVSV9UQUJMSU5FKSBcCisJJiYgKGRlZmluZWQoRkVBVF9HVUlfVzMyKSB8fCBkZWZpbmVkKEZFQVRfR1VJX01PVElGKSkKKyAgICBpbnQJCXRhYmxpbmVfaGVpZ2h0OworI2VuZGlmCisKICNpZmRlZiBGRUFUX0ZPT1RFUgogICAgIGludAkJZm9vdGVyX2hlaWdodDsJICAgIC8qIGhlaWdodCBvZiB0aGUgbWVzc2FnZSBmb290ZXIgKi8KICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2d1aV9tb3RpZi5jIGIvc3JjL2d1aV9tb3RpZi5jCmluZGV4IGNjYzk3NzguLjY5Mzk5YjAgMTAwNjQ0Ci0tLSBhL3NyYy9ndWlfbW90aWYuYworKysgYi9zcmMvZ3VpX21vdGlmLmMKQEAgLTQ5Myw2ICs0OTMsOCBAQAogICAgIFh0QWRkRXZlbnRIYW5kbGVyKHRhYkxpbmUsIEJ1dHRvblByZXNzTWFzaywgRmFsc2UsCiAJCQkoWHRFdmVudEhhbmRsZXIpdGFibGluZV9tZW51X2NiLCBOVUxMKTsKIAorICAgIGd1aS50YWJsaW5lX2hlaWdodCA9IFRBQkxJTkVfSEVJR0hUOworCiAgICAgLyoKICAgICAgKiBTZXQgdGhlIHNpemUgb2YgdGhlIG1pbm9yIG5leHQvcHJldiBzY3JvbGxlcnMgdG8gemVybywgc28KICAgICAgKiB0aGF0IHRoZXkgYXJlIG5vdCBkaXNwbGF5ZWQuIER1ZSB0byBhIGJ1ZyBpbiBPcGVuTW90aWYgMi4zLApkaWZmIC0tZ2l0IGEvc3JjL2d1aV93MzIuYyBiL3NyYy9ndWlfdzMyLmMKaW5kZXggZDY3MTg3OS4uNGI0ZTlhOSAxMDA2NDQKLS0tIGEvc3JjL2d1aV93MzIuYworKysgYi9zcmMvZ3VpX3czMi5jCkBAIC0xODEsNyArMTgxLDkgQEAKICMgZGVmaW5lIElEX0JFVkFMX1RPT0xUSVAgICAyMDAKICMgZGVmaW5lIEJFVkFMX1RFWFRfTEVOCSAgICBNQVhQQVRITAogCi0jaWZuZGVmIFVJTlRfUFRSCisjaWYgX01TQ19WRVIgPCAxMzAwCisvKiBXb3JrIGFyb3VuZCBvbGQgdmVyc2lvbnMgb2YgYmFzZXRzZC5oIHdoaWNoIHdyb25nbHkgZGVjbGFyZQorICogVUlOVF9QVFIgYXMgdW5zaWduZWQgbG9uZyAqLwogIyBkZWZpbmUgVUlOVF9QVFIgVUlOVAogI2VuZGlmCiAKQEAgLTE5NSw3ICsxOTcsNyBAQAogCiAvKgogICogZXhjZXJwdHMgZnJvbSBoZWFkZXJzIHNpbmNlIHRoaXMgbWF5IG5vdCBiZSBwcmVzZW50ZWQKLSAqIGluIHRoZSBleHRyZW1lbGx5IG9sZCBjb21waWxlcnMKKyAqIGluIHRoZSBleHRyZW1lbHkgb2xkIGNvbXBpbGVycwogICovCiAjaW5jbHVkZSA8cHNocGFjazEuaD4KIApAQCAtNTY4LDYgKzU3MCw3MCBAQAogCV9PblNjcm9sbChod25kLCBod25kQ3RsLCB6RGVsdGEgPj0gMCA/IFNCX1BBR0VVUCA6IFNCX1BBR0VET1dOLCAwKTsKIH0KIAorI2lmZGVmIFVTRV9TWVNNRU5VX0ZPTlQKKy8qCisgKiBHZXQgTWVudSBGb250LgorICogUmV0dXJuIE9LIG9yIEZBSUwuCisgKi8KKyAgICBzdGF0aWMgaW50CitndWlfdzMyX2dldF9tZW51X2ZvbnQoTE9HRk9OVCAqbGYpCit7CisgICAgTk9OQ0xJRU5UTUVUUklDUyBubTsKKworICAgIG5tLmNiU2l6ZSA9IHNpemVvZihOT05DTElFTlRNRVRSSUNTKTsKKyAgICBpZiAoIVN5c3RlbVBhcmFtZXRlcnNJbmZvKAorCSAgICBTUElfR0VUTk9OQ0xJRU5UTUVUUklDUywKKwkgICAgc2l6ZW9mKE5PTkNMSUVOVE1FVFJJQ1MpLAorCSAgICAmbm0sCisJICAgIDApKQorCXJldHVybiBGQUlMOworICAgICpsZiA9IG5tLmxmTWVudUZvbnQ7CisgICAgcmV0dXJuIE9LOworfQorI2VuZGlmCisKKworI2lmIGRlZmluZWQoRkVBVF9HVUlfVEFCTElORSkgJiYgZGVmaW5lZChVU0VfU1lTTUVOVV9GT05UKQorLyoKKyAqIFNldCB0aGUgR1VJIHRhYmxpbmUgZm9udCB0byB0aGUgc3lzdGVtIG1lbnUgZm9udAorICovCisgICAgc3RhdGljIHZvaWQKK3NldF90YWJsaW5lX2ZvbnQodm9pZCkKK3sKKyAgICBMT0dGT05UCWxmU3lzbWVudTsKKyAgICBIRk9OVAlmb250OworICAgIEhXTkQJaHduZDsKKyAgICBIREMJCWhkYzsKKyAgICBIRk9OVAloZm50T2xkOworICAgIFRFWFRNRVRSSUMJdG07CisKKyAgICBpZiAoZ3VpX3czMl9nZXRfbWVudV9mb250KCZsZlN5c21lbnUpICE9IE9LKQorCXJldHVybjsKKworICAgIGZvbnQgPSBDcmVhdGVGb250SW5kaXJlY3QoJmxmU3lzbWVudSk7CisKKyAgICBTZW5kTWVzc2FnZShzX3RhYmh3bmQsIFdNX1NFVEZPTlQsIChXUEFSQU0pZm9udCwgVFJVRSk7CisKKyAgICAvKgorICAgICAqIENvbXB1dGUgdGhlIGhlaWdodCBvZiB0aGUgZm9udCB1c2VkIGZvciB0aGUgdGFiIHRleHQKKyAgICAgKi8KKyAgICBod25kID0gR2V0RGVza3RvcFdpbmRvdygpOworICAgIGhkYyA9IEdldFdpbmRvd0RDKGh3bmQpOworICAgIGhmbnRPbGQgPSBTZWxlY3RGb250KGhkYywgZm9udCk7CisKKyAgICBHZXRUZXh0TWV0cmljcyhoZGMsICZ0bSk7CisKKyAgICBTZWxlY3RGb250KGhkYywgaGZudE9sZCk7CisgICAgUmVsZWFzZURDKGh3bmQsIGhkYyk7CisKKyAgICAvKgorICAgICAqIFRoZSBzcGFjZSB1c2VkIGJ5IHRoZSB0YWIgYm9yZGVyIGFuZCB0aGUgc3BhY2UgYmV0d2VlbiB0aGUgdGFiIGxhYmVsCisgICAgICogYW5kIHRoZSB0YWIgYm9yZGVyIGlzIGluY2x1ZGVkIGFzIDcuCisgICAgICovCisgICAgZ3VpLnRhYmxpbmVfaGVpZ2h0ID0gdG0udG1IZWlnaHQgKyB0bS50bUludGVybmFsTGVhZGluZyArIDc7Cit9CisjZW5kaWYKKwogLyoKICAqIEludm9rZWQgd2hlbiBhIHNldHRpbmcgd2FzIGNoYW5nZWQuCiAgKi8KQEAgLTU3Nyw2ICs2NDMsMTAgQEAKICAgICBpZiAobiA9PSBTUElfU0VUV0hFRUxTQ1JPTExMSU5FUykKIAlTeXN0ZW1QYXJhbWV0ZXJzSW5mbyhTUElfR0VUV0hFRUxTQ1JPTExMSU5FUywgMCwKIAkJJm1vdXNlX3Njcm9sbF9saW5lcywgMCk7CisjaWYgZGVmaW5lZChGRUFUX0dVSV9UQUJMSU5FKSAmJiBkZWZpbmVkKFVTRV9TWVNNRU5VX0ZPTlQpCisgICAgaWYgKG4gPT0gU1BJX1NFVE5PTkNMSUVOVE1FVFJJQ1MpCisJc2V0X3RhYmxpbmVfZm9udCgpOworI2VuZGlmCiAgICAgcmV0dXJuIDA7CiB9CiAKQEAgLTg3Myw3ICs5NDMsNyBAQAogCQkJCSAgICB7CiAJCQkJCWludCB3bGVuOwogCi0JCQkJCXdsZW4gPSAod2NzbGVuKHdzdHIpICsgMSkKKwkJCQkJd2xlbiA9ICgoaW50KXdjc2xlbih3c3RyKSArIDEpCiAJCQkJCQkJICAgICAgKiBzaXplb2YoV0NIQVIpOwogCQkJCQlpZiAodHRfdGV4dF9sZW4gPCB3bGVuKQogCQkJCQl7CkBAIC04OTMsNyArOTYzLDcgQEAKIAkJCQl7CiAJCQkJICAgIGludCBsZW47CiAKLQkJCQkgICAgbGVuID0gU1RSTEVOKE5hbWVCdWZmKSArIDE7CisJCQkJICAgIGxlbiA9IChpbnQpU1RSTEVOKE5hbWVCdWZmKSArIDE7CiAJCQkJICAgIGlmICh0dF90ZXh0X2xlbiA8IGxlbikKIAkJCQkgICAgewogCQkJCQl0dF90ZXh0ID0gdmltX3JlYWxsb2ModHRfdGV4dCwgbGVuKTsKQEAgLTI4NzAsMjggKzI5NDAsNiBAQAogICAgICJJRFJfVklNX1FVRVNUSU9OIgogfTsKIAotI2lmZGVmIFVTRV9TWVNNRU5VX0ZPTlQKLS8qCi0gKiBHZXQgTWVudSBGb250LgotICogUmV0dXJuIE9LIG9yIEZBSUwuCi0gKi8KLSAgICBzdGF0aWMgaW50Ci1ndWlfdzMyX2dldF9tZW51X2ZvbnQoTE9HRk9OVCAqbGYpCi17Ci0gICAgTk9OQ0xJRU5UTUVUUklDUyBubTsKLQotICAgIG5tLmNiU2l6ZSA9IHNpemVvZihOT05DTElFTlRNRVRSSUNTKTsKLSAgICBpZiAoIVN5c3RlbVBhcmFtZXRlcnNJbmZvKAotCSAgICBTUElfR0VUTk9OQ0xJRU5UTUVUUklDUywKLQkgICAgc2l6ZW9mKE5PTkNMSUVOVE1FVFJJQ1MpLAotCSAgICAmbm0sCi0JICAgIDApKQotCXJldHVybiBGQUlMOwotICAgICpsZiA9IG5tLmxmTWVudUZvbnQ7Ci0gICAgcmV0dXJuIE9LOwotfQotI2VuZGlmCi0KICAgICBpbnQKIGd1aV9tY2hfZGlhbG9nKAogICAgIGludAkJIHR5cGUsCkBAIC00MDcwLDEwICs0MTE4LDYgQEAKICAgICBzdGF0aWMgdm9pZAogaW5pdGlhbGlzZV90YWJsaW5lKHZvaWQpCiB7Ci0jIGlmZGVmIFVTRV9TWVNNRU5VX0ZPTlQKLSAgICBMT0dGT05UICAgIGxmU3lzbWVudTsKLSMgZW5kaWYKLQogICAgIEluaXRDb21tb25Db250cm9scygpOwogCiAgICAgc190YWJod25kID0gQ3JlYXRlV2luZG93KFdDX1RBQkNPTlRST0wsICJWaW0gdGFibGluZSIsCkBAIC00MDgxLDEyICs0MTI1LDEwIEBACiAJICAgIENXX1VTRURFRkFVTFQsIENXX1VTRURFRkFVTFQsIENXX1VTRURFRkFVTFQsCiAJICAgIENXX1VTRURFRkFVTFQsIHNfaHduZCwgTlVMTCwgc19oaW5zdCwgTlVMTCk7CiAKKyAgICBndWkudGFibGluZV9oZWlnaHQgPSBUQUJMSU5FX0hFSUdIVDsKKwogIyBpZmRlZiBVU0VfU1lTTUVOVV9GT05UCi0gICAgaWYgKGd1aV93MzJfZ2V0X21lbnVfZm9udCgmbGZTeXNtZW51KSA9PSBPSykKLSAgICB7Ci0JSEZPTlQgZm9udCA9IENyZWF0ZUZvbnRJbmRpcmVjdCgmbGZTeXNtZW51KTsKLQlTZW5kTWVzc2FnZShzX3RhYmh3bmQsIFdNX1NFVEZPTlQsIChXUEFSQU0pIGZvbnQsIFRSVUUpOwotICAgIH0KKyAgICBzZXRfdGFibGluZV9mb250KCk7CiAjIGVuZGlmCiB9CiAjZW5kaWYKQEAgLTQ1NTksOCArNDYwMSw3IEBACiAgICAgaWYgKGJldmFsID09IE5VTEwpCiAJcmV0dXJuOwogICAgIC8vIFRSQUNFMCgiZ3VpX21jaF9lbmFibGVfYmV2YWxfYXJlYSB7e3siKTsKLSAgICBCZXZhbFRpbWVySWQgPSBTZXRUaW1lcihzX3RleHRBcmVhLCAwLCBwX2JkbGF5IC8gMiwKLQkJCQkJCSAgIChUSU1FUlBST0MpQmV2YWxUaW1lclByb2MpOworICAgIEJldmFsVGltZXJJZCA9IFNldFRpbWVyKHNfdGV4dEFyZWEsIDAsIHBfYmRsYXkgLyAyLCBCZXZhbFRpbWVyUHJvYyk7CiAgICAgLy8gVFJBQ0UwKCJndWlfbWNoX2VuYWJsZV9iZXZhbF9hcmVhIH19fSIpOwogfQogCmRpZmYgLS1naXQgYS9zcmMvZ3VpX3c0OC5jIGIvc3JjL2d1aV93NDguYwppbmRleCAyZTQzNTU3Li40NGQwM2QwIDEwMDY0NAotLS0gYS9zcmMvZ3VpX3c0OC5jCisrKyBiL3NyYy9ndWlfdzQ4LmMKQEAgLTExMjIsMTIgKzExMjIsMTIgQEAKIAlpbnQJdG9wID0gMDsKIAlSRUNUCXJlY3Q7CiAKLSNpZmRlZiBGRUFUX1RPT0xCQVIKKyMgaWZkZWYgRkVBVF9UT09MQkFSCiAJaWYgKHZpbV9zdHJjaHIocF9nbywgR09fVE9PTEJBUikgIT0gTlVMTCkKIAkgICAgdG9wID0gVE9PTEJBUl9CVVRUT05fSEVJR0hUICsgVE9PTEJBUl9CT1JERVJfSEVJR0hUOwotI2VuZGlmCisjIGVuZGlmCiAJR2V0Q2xpZW50UmVjdChzX2h3bmQsICZyZWN0KTsKLQlNb3ZlV2luZG93KHNfdGFiaHduZCwgMCwgdG9wLCByZWN0LnJpZ2h0LCBUQUJMSU5FX0hFSUdIVCwgVFJVRSk7CisJTW92ZVdpbmRvdyhzX3RhYmh3bmQsIDAsIHRvcCwgcmVjdC5yaWdodCwgZ3VpLnRhYmxpbmVfaGVpZ2h0LCBUUlVFKTsKICAgICB9CiAjZW5kaWYKIApAQCAtMjM3OSw4ICsyMzc5LDggQEAKICAgICBpZiAoc190YWJod25kID09IE5VTEwpCiAJcmV0dXJuOwogCi0gICAgaWYgKFRhYkN0cmxfR2V0Q3VyU2VsKHNfdGFiaHduZCkgIT0gbnIpCi0JVGFiQ3RybF9TZXRDdXJTZWwoc190YWJod25kLCBucik7CisgICAgaWYgKFRhYkN0cmxfR2V0Q3VyU2VsKHNfdGFiaHduZCkgIT0gbnIgLTEpCisJVGFiQ3RybF9TZXRDdXJTZWwoc190YWJod25kLCBuciAtMSk7CiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2hhcmRjb3B5LmMgYi9zcmMvaGFyZGNvcHkuYwppbmRleCBiYzVhMjE5Li4zYjRjMmQxMiAxMDA2NDQKLS0tIGEvc3JjL2hhcmRjb3B5LmMKKysrIGIvc3JjL2hhcmRjb3B5LmMKQEAgLTUzLDExICs1MywxMSBAQAogICogdm9pZCBtY2hfcHJpbnRfc2V0X2ZvbnQoaW50IEJvbGQsIGludCBJdGFsaWMsIGludCBVbmRlcmxpbmUpOwogICogQ2FsbGVkIHdoZW5ldmVyIHRoZSBmb250IHN0eWxlIGNoYW5nZXMuCiAgKgotICogdm9pZCBtY2hfcHJpbnRfc2V0X2JnKGxvbmcgYmdjb2wpOworICogdm9pZCBtY2hfcHJpbnRfc2V0X2JnKGxvbmdfdSBiZ2NvbCk7CiAgKiBDYWxsZWQgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgZm9sbG93aW5nIHRleHQuIFBhcmFtZXRlciBpcyBhbgogICogUkdCIHZhbHVlLgogICoKLSAqIHZvaWQgbWNoX3ByaW50X3NldF9mZyhsb25nIGZnY29sKTsKKyAqIHZvaWQgbWNoX3ByaW50X3NldF9mZyhsb25nX3UgZmdjb2wpOwogICogQ2FsbGVkIHRvIHNldCB0aGUgZm9yZWdyb3VuZCBjb2xvciBmb3IgdGhlIGZvbGxvd2luZyB0ZXh0LiBQYXJhbWV0ZXIgaXMgYW4KICAqIFJHQiB2YWx1ZS4KICAqCmRpZmYgLS1naXQgYS9zcmMvb3NfbXN3aW4uYyBiL3NyYy9vc19tc3dpbi5jCmluZGV4IDllOGI2NGQuLmVmYmQwMWQgMTAwNjQ0Ci0tLSBhL3NyYy9vc19tc3dpbi5jCisrKyBiL3NyYy9vc19tc3dpbi5jCkBAIC0yMzIzLDkgKzIzMjMsMTAgQEAKIH0KIAogICAgIHZvaWQKLW1jaF9wcmludF9zZXRfYmcodW5zaWduZWQgbG9uZyBiZ2NvbCkKK21jaF9wcmludF9zZXRfYmcobG9uZ191IGJnY29sKQogewotICAgIFNldEJrQ29sb3IocHJ0X2RsZy5oREMsIEdldE5lYXJlc3RDb2xvcihwcnRfZGxnLmhEQywgc3dhcF9tZShiZ2NvbCkpKTsKKyAgICBTZXRCa0NvbG9yKHBydF9kbGcuaERDLCBHZXROZWFyZXN0Q29sb3IocHJ0X2RsZy5oREMsCisJCQkJCQkgICBzd2FwX21lKChDT0xPUlJFRiliZ2NvbCkpKTsKICAgICAvKgogICAgICAqIFdpdGggYSB3aGl0ZSBiYWNrZ3JvdW5kIHdlIGNhbiBkcmF3IGNoYXJhY3RlcnMgdHJhbnNwYXJlbnQsIHdoaWNoIGlzCiAgICAgICogZ29vZCBmb3IgaXRhbGljIGNoYXJhY3RlcnMgdGhhdCBvdmVybGFwIHRvIHRoZSBuZXh0IGNoYXIgY2VsbC4KQEAgLTIzMzcsOSArMjMzOCwxMCBAQAogfQogCiAgICAgdm9pZAotbWNoX3ByaW50X3NldF9mZyh1bnNpZ25lZCBsb25nIGZnY29sKQorbWNoX3ByaW50X3NldF9mZyhsb25nX3UgZmdjb2wpCiB7Ci0gICAgU2V0VGV4dENvbG9yKHBydF9kbGcuaERDLCBHZXROZWFyZXN0Q29sb3IocHJ0X2RsZy5oREMsIHN3YXBfbWUoZmdjb2wpKSk7CisgICAgU2V0VGV4dENvbG9yKHBydF9kbGcuaERDLCBHZXROZWFyZXN0Q29sb3IocHJ0X2RsZy5oREMsCisJCQkJCQkgICBzd2FwX21lKChDT0xPUlJFRilmZ2NvbCkpKTsKIH0KIAogI2VuZGlmIC8qRkVBVF9QUklOVEVSICYmICFGRUFUX1BPU1RTQ1JJUFQqLwpkaWZmIC0tZ2l0IGEvc3JjL3Byb3RvL29zX21zd2luLnBybyBiL3NyYy9wcm90by9vc19tc3dpbi5wcm8KaW5kZXggYWFlZjA1Yi4uZjQ2YTNmOCAxMDA2NDQKLS0tIGEvc3JjL3Byb3RvL29zX21zd2luLnBybworKysgYi9zcmMvcHJvdG8vb3NfbXN3aW4ucHJvCkBAIC00Niw4ICs0Niw4IEBACiBleHRlcm4gdm9pZCBtY2hfcHJpbnRfc3RhcnRfbGluZSBfX0FSR1MoKGludCBtYXJnaW4sIGludCBwYWdlX2xpbmUpKTsKIGV4dGVybiBpbnQgbWNoX3ByaW50X3RleHRfb3V0IF9fQVJHUygoY2hhcl91ICpwLCBpbnQgbGVuKSk7CiBleHRlcm4gdm9pZCBtY2hfcHJpbnRfc2V0X2ZvbnQgX19BUkdTKChpbnQgaUJvbGQsIGludCBpSXRhbGljLCBpbnQgaVVuZGVybGluZSkpOwotZXh0ZXJuIHZvaWQgbWNoX3ByaW50X3NldF9iZyBfX0FSR1MoKHVuc2lnbmVkIGxvbmcgYmdjb2wpKTsKLWV4dGVybiB2b2lkIG1jaF9wcmludF9zZXRfZmcgX19BUkdTKCh1bnNpZ25lZCBsb25nIGZnY29sKSk7CitleHRlcm4gdm9pZCBtY2hfcHJpbnRfc2V0X2JnIF9fQVJHUygobG9uZ191IGJnY29sKSk7CitleHRlcm4gdm9pZCBtY2hfcHJpbnRfc2V0X2ZnIF9fQVJHUygobG9uZ191IGZnY29sKSk7CiBleHRlcm4gY2hhcl91ICptY2hfcmVzb2x2ZV9zaG9ydGN1dCBfX0FSR1MoKGNoYXJfdSAqZm5hbWUpKTsKIGV4dGVybiB2b2lkIHdpbjMyX3NldF9mb3JlZ3JvdW5kIF9fQVJHUygodm9pZCkpOwogZXh0ZXJuIHZvaWQgc2VydmVySW5pdE1lc3NhZ2luZyBfX0FSR1MoKHZvaWQpKTsKZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmggYi9zcmMvdmVyc2lvbi5oCmluZGV4IGZhYWE3NTUuLjIxNmY2MDQgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmgKKysrIGIvc3JjL3ZlcnNpb24uaApAQCAtMzUsNiArMzUsNiBAQAogICovCiAjZGVmaW5lIFZJTV9WRVJTSU9OX05PRE9UCSJ2aW03MGYiCiAjZGVmaW5lIFZJTV9WRVJTSU9OX1NIT1JUCSI3LjBmIgotI2RlZmluZSBWSU1fVkVSU0lPTl9NRURJVU0JIjcuMGYgQkVUQSIKLSNkZWZpbmUgVklNX1ZFUlNJT05fTE9ORwkiVklNIC0gVmkgSU1wcm92ZWQgNy4wZiBCRVRBICgyMDA2IEFwciAyNCkiCi0jZGVmaW5lIFZJTV9WRVJTSU9OX0xPTkdfREFURQkiVklNIC0gVmkgSU1wcm92ZWQgNy4wZiBCRVRBICgyMDA2IEFwciAyNCwgY29tcGlsZWQgIgorI2RlZmluZSBWSU1fVkVSU0lPTl9NRURJVU0JIjcuMGYwMSBCRVRBIgorI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBmMDEgQkVUQSAoMjAwNiBBcHIgMjUpIgorI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HX0RBVEUJIlZJTSAtIFZpIElNcHJvdmVkIDcuMGYwMSBCRVRBICgyMDA2IEFwciAyNSwgY29tcGlsZWQgIgo=