ZGlmZiAtLWdpdCBhL2FwL2FwcC9pbmNsdWRlL3dpZmlfbXNnLmggYi9hcC9hcHAvaW5jbHVkZS93aWZpX21zZy5oCmluZGV4IDNjYmEwODEuLjgzYWUzNzYgMTAwNzU1Ci0tLSBhL2FwL2FwcC9pbmNsdWRlL3dpZmlfbXNnLmgKKysrIGIvYXAvYXBwL2luY2x1ZGUvd2lmaV9tc2cuaApAQCAtMTEwLDYgKzExMCwxMiBAQAogCU1TR19DTURfV0lGSV9TVEFUSU9OX0RFQlVHX0RVTVAsCiAJTVNHX0NNRF9XSUZJX1NUQVRJT05fV1BBX0NNRCwKIAlNU0dfQ01EX1dJRklfU1RBVElPTl9DT05ORUNURURfRU5BQkxFX0FQX0NNRCwgLy9hcHN0YcGsvdPIyLXjs8m5psb0tq9hcAorCQorCS8vY2FwLT5hcAorCU1TR19DTURfQ0FQX1NUQV9TRVRfUEFSQU0sCS8vc3RhIHNzaWQgYXV0aCBwdworCU1TR19DTURfQ0FQX1NUQV9FTkFCTEUsIC8vYXAgb24gb2ZmCisJTVNHX0NNRF9DQVBfU1RBX1NDQU4sIC8vc2NhbgorCQogCU1TR19DTURfV0lGSV9TVEFUSU9OX0VORCwgICAgICAgICAgICAgICAgICAgICAgLy9hcHN0YXRpb261xM/7z6K3ts6nZW5kCiAKIAkvL3RpbWluZyBvZiBzbGVlcCB3YWtlIHVwCkBAIC0xMzAsNiArMTM2LDI5IEBACiAJTVNHX0NNRF9BUF9TVEFfQ09OTkVDVEVELAogCU1TR19DTURfQVBfU1RBX0RJU0NPTk5FQ1RFRCwKIAorCS8vY2FwIHJlY3YKKwlNU0dfQ01EX0NBUF9XSUZJX1NUQVRVUywKKwlNU0dfQ01EX0NBUF9BUF9TVEFUVVMsCisJTVNHX0NNRF9DQVBfQVBfU1RBX0NIQU5HRSwKKwlNU0dfQ01EX0NBUF9TVEFfU1RBVFVTLAorCU1TR19DTURfQ0FQX1NUQV9TQ0FOX1JFUywKKwkKKwkvL2NhcCBzZW5kCisJTVNHX0NNRF9DQVBfV0lGSV9FTkFCTEUsIAkvL3dpZmnH/bavs/XKvLuvLCB3bGFuIHVwCisJTVNHX0NNRF9DQVBfV0lGSV9ESVNBQkxFLCAJLy93aWZpx/22r8ils/XKvLuvLCB3bGFuIGRvd24KKwlNU0dfQ01EX0NBUF9XSUZJX1dPUktfTU9ERSwgLy93aWZpuaTX98Sjyr3J6NbDCisJTVNHX0NNRF9DQVBfV0lGSV9TRVRfU1NJRCwJLy8KKwlNU0dfQ01EX0NBUF9XSUZJX1NFVF9ISURFU1NJRCwJLy8wIG5vdCBoaWRlLCAxIGhpZGUKKwlNU0dfQ01EX0NBUF9XSUZJX1NFVF9NT0RFLAkvLzgwMjExIG1vZGUgYmduLi4uCisJTVNHX0NNRF9DQVBfV0lGSV9TRVRfQkFORFdJRFRILAkvLzAgMjBNLCAxIDIwLzQwTQorCS8vTVNHX0NNRF9DQVBfV0lGSV9TRVRfQ0hBTk5FTCwJLy8wIC0gMTMKKwlNU0dfQ01EX0NBUF9XSUZJX1NFVF9NQVhTVEFOVU0sCS8vMCAtIDMyCisJTVNHX0NNRF9DQVBfV0lGSV9TRVRfQ0NfQ0gsIC8vY291bnRyeSBjb2RlLCBjaGFubmVsCisJTVNHX0NNRF9DQVBfV0lGSV9TRVRfQUNMLAorCU1TR19DTURfQ0FQX1dJRklfU0VUX0FVVEgsIC8vd3BhCisJTVNHX0NNRF9DQVBfV0lGSV9BUF9FTkFCTEUsIC8vYXAgb24gb2ZmCisKKwogfTsKIAogCkBAIC00NzgsNCArNTA3LDIwMCBAQAogCiB9IHp0ZV93bGFuX3NldF9lX2ZsYWdzOwogCisKKy8vY2FwOmFwaS0+d2xhbl9wcm94eS0+YXA6d2xhbl9zZXJ2ZXIKK3R5cGVkZWYgZW51bQoreworCUlOX1dJRklfU1RBVFVTX0RFVl9JTklUX0ZBSUwgPSAwLAorCUlOX1dJRklfU1RBVFVTX0lOVkFMSURfTUFDCit9IGlubmVyX3dpZmlfc3RhdHVzX2U7CisKKy8vbmVpIGJ1IHpodWFuIGh1YW4geW9uZworLy9zYW1lIGFzIHNjX3dpZmlfYXBfaW5kZXhfZQordHlwZWRlZiBlbnVtCit7CisJSU5fV0lGSV9BUF9JTkRFWF9NSU4gPSAtMSwKKwlJTl9XSUZJX0FQX0lOREVYX0FQMCA9IDAsCisJLy9JTl9XSUZJX0FQX0lOREVYX0FQMSwKKwlJTl9XSUZJX0FQX0lOREVYX01BWAorfSBpbm5lcl93aWZpX2FwX2lkX2U7CisKK3R5cGVkZWYgc3RydWN0IHsKKwlpbnQgaWR4OyAJCQkvL3JlZmVycyB0bzogd2xhbjAsMS4uLiAKKwljaGFyIHNzaWRbV0lGSV9TU0lEX0xFTl07IAkvL3NzaWQgc2hvdWxkIGJlIGxlc3MgdGhhbiAzMiBieXRlcworfSB3bGFuX2FwX3NzaWRfdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworCWludCBpZHg7IAkJCS8vcmVmZXJzIHRvOiB3bGFuMCwxLi4uIAorCWludCBzc2lkX2hpZGU7IAkJCQkvLzAgbm90IGhpZGUsIDEgaGlkZQorfSB3bGFuX2FwX3NzaWRfaGlkZV90OworCit0eXBlZGVmIHN0cnVjdCB7CisJaW50IGlkeDsgCQkJLy9yZWZlcnMgdG86IHdsYW4wLDEuLi4gCisJaW50IHdsX21vZGU7IAkJCQkvLzYgYmduYXgsIDQgYmduCit9IHdsYW5fYXBfd2xfbW9kZV90OworCit0eXBlZGVmIHN0cnVjdCB7CisJaW50IGlkeDsgCQkJLy9yZWZlcnMgdG86IHdsYW4wLDEuLi4gCisJaW50IGh0TW9kZTsgCQkJCS8vMSAyMC80ME0sIDAgMjBNCisJLy9pbnQgZm9yY2VfNDBtOworfSB3bGFuX2FwX2JhbmR3aWR0aF90OworCit0eXBlZGVmIHN0cnVjdCB7CisJaW50IGlkeDsgCQkJLy9yZWZlcnMgdG86IHdsYW4wLDEuLi4gCisJaW50IG1heF9zdGFfbnVtOyAJCQkvLzEtMzIKK30gd2xhbl9hcF9tYXhfc3RhX3Q7CisKK3R5cGVkZWYgc3RydWN0IHsKKwlpbnQgaWR4OyAJCQkvL3JlZmVycyB0bzogd2xhbjAsMS4uLiAKKwljaGFyIGNvdW50cnljb2RlWzNdOyAJCS8vZGVmYXVsdCBDTgorCWludCBjaGFubmVsOyAgLy8wLTEzCit9IHdsYW5fYXBfY2NfY2hfdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworCWludCBpZHg7IAkJCS8vcmVmZXJzIHRvOiB3bGFuMCwxLi4uIAorCWludCBhY2xfcnVsZTsgCQkJCS8vMCBub25lLCAxIHdoaXRlLCAyIGJsYWNrCisJY2hhciBhY2xfbGlzdFszNjBdOyAJCS8vbWF4IDEwIG1hYzE7bWFjMi4uLgorfSB3bGFuX2FwX2FjbF90OworCit0eXBlZGVmIHN0cnVjdCB7CisJaW50IGlkeDsgCQkJLy9yZWZlcnMgdG86IHdsYW4wLDEuLi4gCisJY2hhciBhdXRobW9kZVtXTEFOX1NFQ1VSSVRZX0xFTl07CisJY2hhciBlbmNyeXB0W1dMQU5fRU5DUllQVF9MRU5dOyAvL3JlYWx0ZWsgdXNlCisJY2hhciBwd2RbV0xBTl9QU0tfTEVOXTsJIAkvL21heCA2NAorfSB3bGFuX2FwX2F1dGhfdDsKKwordHlwZWRlZiBzdHJ1Y3QgeworCWludCBpZHg7IAkJCS8vcmVmZXJzIHRvOiB3bGFuMCwxLi4uIAorCWludCBlbmFibGU7IAkJCS8vMSBhcCBvbiAsIDAgYXAgb2ZmCit9IHdsYW5fYXBfZW5hYmxlX3Q7CisKKy8vc3RhdGlvbgordHlwZWRlZiBzdHJ1Y3QgeworCWludCBlbmFibGU7IAkJCS8vMSBhcCBvbiAsIDAgYXAgb2ZmCit9IHdsYW5fc3RhX2VuYWJsZV90OworCisKKy8vYXAtPmNhcDppbmQgCisvL73hubnM5Sy6w8Cp1bkKK3R5cGVkZWYgc3RydWN0IHsKKwlpbnQgd2lmaV9zdGF0dXM7Cit9IHdsYW5fc3RhdHVzX3Q7CisKKy8vc2FtZSBhcyBzY193aWZpX3dvcmtfbW9kZV9lICB0byBkbzogaHUgaHVhbgordHlwZWRlZiBlbnVtCit7CisJSU5fV0lGSV9XT1JLX01PREVfTUlOID0gLTEsCisJSU5fV0lGSV9XT1JLX01PREVfQVAwID0gMCwKKwlJTl9XSUZJX1dPUktfTU9ERV9BUDBfU1RBLAorCUlOX1dJRklfV09SS19NT0RFX01BWAorfSBpbm5lcl93aWZpX3dvcmtfbW9kZV9lOworCisvL3NhbWUgYXMgc2Nfd2lmaV9hcF9zdGF0dXNfZQordHlwZWRlZiBlbnVtCit7CisJSU5fV0lGSV9BUF9TVEFUVVNfTk9ORSA9IDAsCisJSU5fV0lGSV9BUF9TVEFUVVNfSURMRSwgLy9vciBkaXNhYmxlCisJSU5fV0lGSV9BUF9TVEFUVVNfRU5BQkxJTkcsCisJSU5fV0lGSV9BUF9TVEFUVVNfRU5BQkxFRCwKKwlJTl9XSUZJX0FQX1NUQVRVU19ESVNBQkxJTkcsCisJSU5fV0lGSV9BUF9TVEFUVVNfRVJST1IKK30gaW5uZXJfd2lmaV9hcF9zdGF0dXNfZTsKKwordHlwZWRlZiBzdHJ1Y3QgeworCWludCBpZHg7CisJaW50IHByZV9zdGF0dXM7IC8vvfZjYXDX1NDQuLPWtQorCWludCBzdGF0dXM7CisJY2hhciBpZm5hbWVbMzJdOworCS8vY2hhciBic3NpZFsxOF07Cit9IHdsYW5fYXBfc3RhdHVzX3Q7CisKKy8vc2Nfd2lmaV9zdGFfY29ubmVjdF9zdGF0dXNfdAordHlwZWRlZiBzdHJ1Y3QgeworCWludCBpZHg7CisJaW50IGlzX2Nvbm5lY3RlZDsKKwljaGFyIG1hY2FkZHJbMThdOworfSB3bGFuX3N0YV9jb25uZWN0X3N0YXR1c190OworCisvL2NhcCBzdGF0aW9uCit0eXBlZGVmIHN0cnVjdCB7CisJY2hhciBzc2lkW1dJRklfU1NJRF9MRU5dOyAJLy9zc2lkIHNob3VsZCBiZSBsZXNzIHRoYW4gMzIgYnl0ZXMKKwljaGFyIGF1dGhtb2RlW1dMQU5fU0VDVVJJVFlfTEVOXTsKKwljaGFyIGVuY3J5cHRbV0xBTl9FTkNSWVBUX0xFTl07IC8vcmVhbHRlayB1c2UKKwljaGFyIHB3ZFtXTEFOX1BTS19MRU5dOwkgCS8vbWF4IDY0Cit9IHdsYW5fc3RhX3BhcmFtX3Q7CisKKy8vc2FtZSBhcyBzY193aWZpX3N0YV9zdGF0dXNfZQordHlwZWRlZiBlbnVtCit7CisJSU5fV0lGSV9TVEFfU1RBVFVTX05PTkUsIC8vY2xvc2UKKwlJTl9XSUZJX1NUQV9TVEFUVVNfSURMRSwKKwlJTl9XSUZJX1NUQV9TVEFUVVNfQ09OTkVDVElORywgLy9UcnlpbmcgdG8gYXNzb2NpYXRlIHdpdGgKKwlJTl9XSUZJX1NUQV9TVEFUVVNfQVNTT0NJQVRFRCwgLy9kaGNwaW5nCisJSU5fV0lGSV9TVEFfU1RBVFVTX0NPTk5FQ1RFRCwKKwlJTl9XSUZJX1NUQV9TVEFUVVNfRElTQ09OTkVDVEVELCAKKwlJTl9XSUZJX1NUQV9TVEFUVVNfRVJST1IKK30gaW5fd2lmaV9zdGFfc3RhdHVzX2U7CisKKy8vc2FtZSBhcyBzY193aWZpX3JlYXNvbl9jb2RlX2UKK3R5cGVkZWYgZW51bQoreworCUlOX1dJRklfUkVBU09OX0NPREVfTk9ORSwKKwlJTl9XSUZJX1JFQVNPTl9DT0RFX1dST05HX0tFWSwKKwlJTl9XSUZJX1JFQVNPTl9DT0RFX0FVVEhfRkFJTEVELAorCUlOX1dJRklfUkVBU09OX0NPREVfQ09OTl9GQUlMRUQsCisJSU5fV0lGSV9SRUFTT05fQ09ERV9TRVRfRkFJTEVELAorCUlOX1dJRklfUkVBU09OX0NPREVfREhDUF9GQUlMRUQKK30gaW5fd2lmaV9yZWFzb25fY29kZV9lOworCisvL3NhbWUgYXMgc2Nfd2lmaV9zdGFfc3RhdHVzX3QKK3R5cGVkZWYgc3RydWN0IHsKKwlpbnQgcHJlX3N0YXR1czsgLy9wcm94eSByZWNvcmQKKworCWludCBzdGF0dXM7IC8vaW5fd2lmaV9zdGFfc3RhdHVzX2UKKwljaGFyIGlmbmFtZVszMl07CisJY2hhciBhcF9ic3NpZFsxOF07IC8vY3VyIGFwIG1hYworCS8vaW50IHJzc2k7CisJdW5zaWduZWQgY2hhciBzaWduYWxfbGV2ZWw7CisJdW5zaWduZWQgY2hhciBoYXNfYWRkcjsKKwljaGFyIHN0cl9hZGRyWzE2XTsgLy8yNTUuMjU1LjI1NS4yNTUgMTYKKwl1bnNpZ25lZCBjaGFyIGhhc19hZGRyNjsKKwljaGFyIHN0cl9hZGRyNls0OF07IC8vMDAwMTowMDAyOjAwMDM6MDAwNDowMDAxOjAwMDI6MDAwMzowMDA0IDQwICgrODosIDQ4KQorCWludCByZWFzb25fY29kZTsgLy9pbl93aWZpX3JlYXNvbl9jb2RlX2UJCit9IHdsYW5fc3RhX3N0YXR1c190OworCit0eXBlZGVmIHN0cnVjdCB7CisJaW50IHJlc3VsdDsKKwl3bGFuX3N0YV9zdGF0dXNfdCBzdGF0dXM7Cit9IHNjd2lmaV9zdGFfc3RhdF9yZXNfdDsKKworCisjZGVmaW5lIENBUF9XSUZJX01BWF9TQ0FOX0NOVCAzMAorCisjZGVmaW5lIENBUF9XSUZJX0FVVEhfVU5TVVAgLTEgLy8ibm90IHN1cHBvcnQiKTsKKyNkZWZpbmUgQ0FQX1dJRklfQVVUSF9PUEVOIDAgLy8iT1BFTiIpOworI2RlZmluZSBDQVBfV0lGSV9BVVRIX1dQQTIgMSAvLyJXUEEyUFNLIik7CisjZGVmaW5lIENBUF9XSUZJX0FVVEhfV1BBMyAyIC8vIldQQTNQZXJzb25hbCIpOworI2RlZmluZSBDQVBfV0lGSV9BVVRIX1dQQTEyIDMgLy8iV1BBUFNLV1BBMlBTSyIpOworI2RlZmluZSBDQVBfV0lGSV9BVVRIX1dQQTIzIDQgLy8iV1BBMldQQTMiKTsKKworLy9zY193aWZpX3N0YV9zY2FuX2luZm9fdAordHlwZWRlZiBzdHJ1Y3QKK3sKKwljaGFyIGJzc2lkWzE4XTsvL21hYworCWNoYXIgZXNzaWRbMzNdOworCS8vaW50IHNpZ25hbDsKKwl1bnNpZ25lZCBjaGFyIHNpZ25hbF9sZXZlbDsgLy8wLTUsIG1heCA1CisJLy9pbnQgZnJlcXVlbmN5OworCXVuc2lnbmVkIGNoYXIgY2hhbm5lbDsgLy8xLTEzCisJdW5zaWduZWQgY2hhciBhdXRoOworfSB3bGFuX3N0YV9zY2FuX2luZm9fdDsKKworLy9zY193aWZpX3N0YV9zY2FuX2xpc3RfdAordHlwZWRlZiBzdHJ1Y3QKK3sKKwlpbnQgY250OworCXdsYW5fc3RhX3NjYW5faW5mb190IGluZm9bQ0FQX1dJRklfTUFYX1NDQU5fQ05UXTsKK30gd2xhbl9zdGFfc2Nhbl9saXN0X3Q7CisKICNlbmRpZgo=