ZGlmZiAtLWdpdCBhL2V4YW1wbGUvc2FtcGxlX25ld19mZWF0dXJlcy5jcHAgYi9leGFtcGxlL3NhbXBsZV9uZXdfZmVhdHVyZXMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzZmZmZWYKLS0tIC9kZXYvbnVsbAorKysgYi9leGFtcGxlL3NhbXBsZV9uZXdfZmVhdHVyZXMuY3BwCkBAIC0wLDAgKzEsNjggQEAKKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIHNhbXBsZV9uZXdfZmVhdHVyZXMuY3BwIDogZGVtb25zdHJhdGUgZmVhdHVyZXMgYWRkZWQgdG8gcHJpbnRmJ3Mgc3ludGF4CisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKy8vICBDb3B5cmlnaHQgU2FtdWVsIEtyZW1wcCAyMDAzLiBVc2UsIG1vZGlmaWNhdGlvbiwgYW5kIGRpc3RyaWJ1dGlvbiBhcmUKKy8vICBzdWJqZWN0IHRvIHRoZSBCb29zdCBTb2Z0d2FyZSBMaWNlbnNlLCBWZXJzaW9uIDEuMC4gKFNlZSBhY2NvbXBhbnlpbmcKKy8vICBmaWxlIExJQ0VOU0VfMV8wLnR4dCBvciBjb3B5IGF0IGh0dHA6Ly93d3cuYm9vc3Qub3JnL0xJQ0VOU0VfMV8wLnR4dCkKKworLy8gIFNlZSBodHRwOi8vd3d3LmJvb3N0Lm9yZy9saWJzL2Zvcm1hdCBmb3IgbGlicmFyeSBob21lIHBhZ2UKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisjaW5jbHVkZSA8aW9zdHJlYW0+CisjaW5jbHVkZSA8aW9tYW5pcD4KKworI2luY2x1ZGUgImJvb3N0L2Zvcm1hdC5ocHAiCisKK2ludCBtYWluKCl7CisgICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKKyAgICB1c2luZyBib29zdDo6Zm9ybWF0OworICAgIHVzaW5nIGJvb3N0Ojppbzo6Z3JvdXA7CisKKyAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLyBTaW1wbGUgc3R5bGUgb2YgcmVvcmRlcmluZyA6CisgICAgY291dCA8PCBmb3JtYXQoIiUxJSAlMiUgJTMlICUyJSAlMSUgXG4iKSAlICJvIiAlICJvbyIgJSAiTyI7CisgICAgLy8gICAgICAgICAgcHJpbnRzICAibyBvbyBPIG9vIG8gXG4iCisKKworICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAgIC8vIENlbnRlcmVkIGFsaWdubWVudCA6IGZsYWcgJz0nCisgICAgY291dCA8PCBmb3JtYXQoIl8lfD02fF8iKSAlIDEgPDwgZW5kbDsKKyAgICAvLyAgICAgICAgICBwcmludHMgIl8gICAxICBfIiAgOiAgMyBzcGFjZXMgYXJlICBwYWRkZWQgYmVmb3JlLCBhbmQgMiBhZnRlci4KKworCisKKyAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgICAvLyBUYWJ1bGF0aW9ucyA6ICAgIiV8TnR8IiAgPT4gdGFidWxhdGlvbiBvZiBOIHNwYWNlcy4KKyAgICAvLyAgICAgICAgICAgICAgICAgIiV8TlRmfCIgPT4gdGFidWxhdGlvbiBvZiBOIHRpbWVzIHRoZSBjaGFyYWN0ZXIgPGY+LgorICAgIC8vICBhcmUgdXNlZnVsIHdoZW4gcHJpbnRpbmcgbGluZXMgd2l0aCBzZXZlcmFsIGZpZWxkcyB3aG9zZSB3aWR0aCBjYW4gdmFyeSBhIGxvdAorICAgIC8vICAgIGJ1dCB3ZSdkIGxpa2UgdG8gcHJpbnQgc29tZSBmaWVsZHMgYXQgdGhlIHNhbWUgcGxhY2Ugd2hlbiBwb3NzaWJsZSA6CisgICAgdmVjdG9yPHN0cmluZz4gIG5hbWVzKDEsICJNYXJjLUZyYW7nb2lzIE1pY2hlbCIpLCAKKyAgICAgIHN1cm5hbWUoMSwiRHVyYW5kIiksIAorICAgICAgdGVsKDEsICIrMzMgKDApIDEyMyA0NTYgNzg5Iik7CisKKyAgICBuYW1lcy5wdXNoX2JhY2soIkplYW4iKTsgCisgICAgc3VybmFtZS5wdXNoX2JhY2soImRlIExhdHRyZSBkZSBUYXNzaWdueSIpOworICAgIHRlbC5wdXNoX2JhY2soIiszMyAoMCkgOTg3IDY1NCAzMjEiKTsKKworICAgIGZvcih1bnNpZ25lZCBpbnQgaT0wOyBpPG5hbWVzLnNpemUoKTsgKytpKQorICAgICAgY291dCA8PCBmb3JtYXQoIiUxJSwgJTIlLCAlfDQwdHwlMyVcbiIpICUgbmFtZXNbaV0gJSBzdXJuYW1lW2ldICUgdGVsW2ldOworCisgICAgLyogcHJpbnRzIDoKKworICAgICAgIAorICAgIE1hcmMtRnJhbudvaXMgTWljaGVsLCBEdXJhbmQsICAgICAgICszMyAoMCkgMTIzIDQ1NiA3ODkKKyAgICBKZWFuLCBkZSBMYXR0cmUgZGUgVGFzc2lnbnksICAgICAgICArMzMgKDApIDk4NyA2NTQgMzIxCisgICAgCisgICAgCisgICAgIHRoZSBzYW1lIHVzaW5nIHdpZHRoIG9uIGVhY2ggZmllbGQgbGVhZCB0byB1bm5lY2Vzc2FyeSB0b28gbG9uZyBsaW5lcywKKyAgICAgd2hpbGUgJ1RhYnVsYXRpb25zJyBpbnN1cmUgYSBsb3dlciBib3VuZCBvbiB0aGUgKnN1bSogb2Ygd2lkdGhzLAorICAgICBhbmQgdGhhdCdzIG9mdGVuIHdoYXQgd2UgcmVhbGx5IHdhbnQuCisgICAgKi8KKworCisKKyAgICBjZXJyIDw8ICJcblxuRXZlcnl0aGluZyB3ZW50IE9LLCBleGl0aW5nLiBcbiI7CisgICAgcmV0dXJuIDA7Cit9Cg==