ZGlmZiAtLWdpdCBhL3Vwc3RyZWFtL2xpbnV4LTUuMTAva2VybmVsL3RyYWNrZXIuYyBiL3Vwc3RyZWFtL2xpbnV4LTUuMTAva2VybmVsL3RyYWNrZXIuYwppbmRleCA2ZjdlMWFiLi43OTI4MThiIDEwMDc1NQotLS0gYS91cHN0cmVhbS9saW51eC01LjEwL2tlcm5lbC90cmFja2VyLmMKKysrIGIvdXBzdHJlYW0vbGludXgtNS4xMC9rZXJuZWwvdHJhY2tlci5jCkBAIC02Myw2ICs2Myw3IEBACiAjZGVmaW5lIE9TX0lSQU1fU09GVElSUV9FTkQgICAgICAgIChPU19JUkFNX1NPRlRJUlFfU1RBUlQgKyBzaXplb2YodF9vc19pcmFtX3N0YXRpc3RpYykpCiAjZGVmaW5lIE9TX0lSQU1fVElNRVJfU1RBUlQgICAgICAgIChPU19JUkFNX1NPRlRJUlFfRU5EICsgc2l6ZW9mKHRfb3NfaXJhbV9zdGF0aXN0aWMpKQogI2RlZmluZSBPU19JUkFNX1RJTUVSX0VORCAgICAgICAgICAoT1NfSVJBTV9USU1FUl9TVEFSVCArIHNpemVvZih0X29zX2lyYW1fc3RhdGlzdGljKSkKKyNkZWZpbmUgT1NfSVJBTV9SRVNFVF9SRUFTT05fU1RBUlQgKE9TX1NUQVRJU1RJQ19JUkFNX0JBU0UgKyAweDgwMCAtIHNpemVvZihUX1Jlc2V0X1JlYXNvbikpCiAjZW5kaWYKIAogI2RlZmluZSBvc19zdGF0aXN0aWNfY2hlY2soKSAgICAgICAqKCh2b2xhdGlsZSB1bnNpZ25lZCBsb25nICopT1NfU1RBVElTVElDX0lSQU1fQkFTRSkKQEAgLTk4LDYgKzk5LDEyIEBACiAgICAgfSBzdGF0aXN0aWNzW09TX0REUl9TVEFUSVNUSUNfQ05UXTsKIH10X29zX2Rkcl9zdGF0aXN0aWM7CiAKK3R5cGVkZWYgc3RydWN0ICAgIAoreworICAgIGNoYXIgICByYW1kdW1wX3JlYXNvblszMl07ICAgICAgLy+xyMjno7pyYW1kdW1wX2FwX2FwcG5hbWUKKyAgICBjaGFyICAga2VybmVsX3JlYm9vdFszMl07ICAgICAgIC8vscjI56O6cmVib290X2FwX2FwcG5hbWUKK30gVF9SZXNldF9SZWFzb247CisKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDIq77WseTBvyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgogKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KQEAgLTEzNCw2ICsxNDEsNyBAQAogdm9sYXRpbGUgIHN0YXRpYyB0X29zX2Rkcl9zdGF0aXN0aWMgKmdfb3NfZGRyX3NvZnRpcnFfZW5kX3N0YXRpc3RpYzsKIHZvbGF0aWxlICBzdGF0aWMgdF9vc19kZHJfc3RhdGlzdGljICpnX29zX2Rkcl90aW1lcl9zdGFydF9zdGF0aXN0aWM7CiB2b2xhdGlsZSAgc3RhdGljIHRfb3NfZGRyX3N0YXRpc3RpYyAqZ19vc19kZHJfdGltZXJfZW5kX3N0YXRpc3RpYzsKK3ZvbGF0aWxlIFRfUmVzZXRfUmVhc29uICpnX29zX3Jlc2V0X3JlYXNvbjsKICNlbmRpZgogCiAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgpAQCAtNDE4LDcgKzQyNiwzMiBAQAogICAgIG9zX3N0YXRpc3RpY19pbl9kZHIoZ19vc19kZHJfdGltZXJfZW5kX3N0YXRpc3RpYywgZnVuYywgdGltZSk7CiAgICAgb3Nfc3RhdGlzdGljX2luZm9fdXBkYXRlKCk7CiB9CisvKgorcmVhc29uOiAxIGZvciByYW1kdW1wLCAyIGZvciByZWJvb3QKK2NwdTogYXAvY2FwL3JwbS9waHkKK2FwcDogY3VycmVudC0+Y29tbQorKi8KKy8qIFN0YXJ0ZWQgYnkgQUlDb2RlciwgcGlkOnBmMTM5ZGNlNGY3Nzc2YzE0OWVjMDgxYjUwOGJhZTE0ZTYwODRlZGUgKi8KK3ZvaWQgenhpY19yZXNldF9yZWFzb24oaW50IHJlYXNvbiwgY29uc3QgY2hhciAqY3B1LCBjb25zdCBjaGFyICphcHApCit7CisJY2hhciBidWZmZXJbMzJdOwogCisJbWVtc2V0KGJ1ZmZlciwgMCwgc2l6ZW9mKGJ1ZmZlcikpOworCXN3aXRjaCAocmVhc29uKQorCXsKKwkJY2FzZSAxOgorCQkJc25wcmludGYoYnVmZmVyLCAzMiwgInJlc2V0X3JhbWR1bXBfJXNfJXMiLCBjcHUsIGFwcCk7CisJCQltZW1jcHkoZ19vc19yZXNldF9yZWFzb24tPnJhbWR1bXBfcmVhc29uLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKKwkJCWJyZWFrOworCQljYXNlIDI6CisJCQlzbnByaW50ZihidWZmZXIsIDMyLCAicmVzZXRfa3JlYm9vdF8lc18lcyIsIGNwdSwgYXBwKTsKKwkJCW1lbWNweShnX29zX3Jlc2V0X3JlYXNvbi0+a2VybmVsX3JlYm9vdCwgYnVmZmVyLCBzaXplb2YoYnVmZmVyKSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCX0KK30KKy8qIEVuZGVkIGJ5IEFJQ29kZXIsIHBpZDpwZjEzOWRjZTRmNzc3NmMxNDllYzA4MWI1MDhiYWUxNGU2MDg0ZWRlICovCiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCiAqILmmxNzD6Mr2OiAgICAguey8o82zvMa1vUREUgpAQCAtNDM4LDkgKzQ3MSwxMCBAQAogI2lmZGVmIElSQU1fQkFTRV9BRERSX1ZBCiAgICAgZ196eGljX3RyYWNlX2FwY3B1X2FkZHIgPSBJUkFNX0JBU0VfQUREUl9PU19TVEFUSVNUSUNfUFNDUFU7CiAjZWxzZQotICAgIGdfenhpY190cmFjZV9hcGNwdV9hZGRyID0gaW9yZW1hcChJUkFNX0JBU0VfQUREUl9PU19TVEFUSVNUSUNfUFNDUFUsIElSQU1fQkFTRV9MRU5fT1NfU1RBVElTVElDX1BTQ1BVKTsKKyAgICBnX3p4aWNfdHJhY2VfYXBjcHVfYWRkciA9IGlvcmVtYXAoSVJBTV9CQVNFX0FERFJfT1NfU1RBVElTVElDX1BTQ1BVLCBJUkFNX0JBU0VfTEVOX09TX1NUQVRJU1RJQ19QU0NQVSArIElSQU1fQkFTRV9MRU5fT1NfU1RBVElTVElDX1BIWUNQVSArIElSQU1fQkFTRV9MRU5fT1NfU1RBVElTVElDX0FQQ1BVKTsKICNlbmRpZgogCisgICAgZ19vc19yZXNldF9yZWFzb24gPSAoVF9SZXNldF9SZWFzb24gKilPU19JUkFNX1JFU0VUX1JFQVNPTl9TVEFSVDsKICAgICAvKgogICAgIGluaXRfdGltZXIoJnRpbWVyKTsKICAgICB0aW1lci5leHBpcmVzID0gamlmZmllcyArIDQwKkhaOy8vbXNlY3NfdG9famlmZmllcyg0MCoxMDAwKTsvL9HTs9k0MMPrCg==