From mboxrd@z Thu Jan 1 00:00:00 1970 From: Harry Wentland Subject: [PATCH 19/32] drm/amd/display: Make DCN stream encoder shareable Date: Tue, 3 Apr 2018 21:27:34 -0400 Message-ID: <20180404012747.5651-20-harry.wentland@amd.com> References: <20180404012747.5651-1-harry.wentland@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180404012747.5651-1-harry.wentland-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Eric Bernstein RnJvbTogRXJpYyBCZXJuc3RlaW4gPGVyaWMuYmVybnN0ZWluQGFtZC5jb20+CgpTaWduZWQtb2Zm LWJ5OiBFcmljIEJlcm5zdGVpbiA8ZXJpYy5iZXJuc3RlaW5AYW1kLmNvbT4KUmV2aWV3ZWQtYnk6 IENoYXJsZW5lIExpdSA8Q2hhcmxlbmUuTGl1QGFtZC5jb20+CkFja2VkLWJ5OiBIYXJyeSBXZW50 bGFuZCA8aGFycnkud2VudGxhbmRAYW1kLmNvbT4KLS0tCiAuLi4vZHJtL2FtZC9kaXNwbGF5L2Rj L2RjZS9kY2Vfc3RyZWFtX2VuY29kZXIuYyAgICB8ICAzOSArLQogLi4uL2FtZC9kaXNwbGF5L2Rj L2RjbjEwL2RjbjEwX3N0cmVhbV9lbmNvZGVyLmMgICAgfCAgNjIgKy0KIC4uLi9hbWQvZGlzcGxh eS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5oICAgIHwgNjQ2ICsrKysrKysrKystLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9od19zaGFyZWQu aCAgfCAgMTcgKwogNCBmaWxlcyBjaGFuZ2VkLCAzNDMgaW5zZXJ0aW9ucygrKSwgNDIxIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2Uv ZGNlX3N0cmVhbV9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNl L2RjZV9zdHJlYW1fZW5jb2Rlci5jCmluZGV4IGI4NWZkYTVmMzhlOC4uMDdjMzI0MjFjMjI2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNlL2RjZV9zdHJlYW1f ZW5jb2Rlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY2UvZGNlX3N0 cmVhbV9lbmNvZGVyLmMKQEAgLTI2LDI3ICsyNiwxMCBAQAogI2luY2x1ZGUgImRjX2Jpb3NfdHlw ZXMuaCIKICNpbmNsdWRlICJkY2Vfc3RyZWFtX2VuY29kZXIuaCIKICNpbmNsdWRlICJyZWdfaGVs cGVyLmgiCisjaW5jbHVkZSAiaHdfc2hhcmVkLmgiCisKICNkZWZpbmUgRENfTE9HR0VSIFwKIAkJ ZW5jMTEwLT5iYXNlLmN0eC0+bG9nZ2VyCi1lbnVtIERQX1BJWEVMX0VOQ09ESU5HIHsKLURQX1BJ WEVMX0VOQ09ESU5HX1JHQjQ0NCAgICAgICAgICAgICAgICAgPSAweDAwMDAwMDAwLAotRFBfUElY RUxfRU5DT0RJTkdfWUNCQ1I0MjIgICAgICAgICAgICAgICA9IDB4MDAwMDAwMDEsCi1EUF9QSVhF TF9FTkNPRElOR19ZQ0JDUjQ0NCAgICAgICAgICAgICAgID0gMHgwMDAwMDAwMiwKLURQX1BJWEVM X0VOQ09ESU5HX1JHQl9XSURFX0dBTVVUICAgICAgICAgPSAweDAwMDAwMDAzLAotRFBfUElYRUxf RU5DT0RJTkdfWV9PTkxZICAgICAgICAgICAgICAgICA9IDB4MDAwMDAwMDQsCi1EUF9QSVhFTF9F TkNPRElOR19ZQ0JDUjQyMCAgICAgICAgICAgICAgID0gMHgwMDAwMDAwNSwKLURQX1BJWEVMX0VO Q09ESU5HX1JFU0VSVkVEICAgICAgICAgICAgICAgPSAweDAwMDAwMDA2LAotfTsKLQotCi1lbnVt IERQX0NPTVBPTkVOVF9ERVBUSCB7Ci1EUF9DT01QT05FTlRfREVQVEhfNkJQQyAgICAgICAgICAg ICAgICAgID0gMHgwMDAwMDAwMCwKLURQX0NPTVBPTkVOVF9ERVBUSF84QlBDICAgICAgICAgICAg ICAgICAgPSAweDAwMDAwMDAxLAotRFBfQ09NUE9ORU5UX0RFUFRIXzEwQlBDICAgICAgICAgICAg ICAgICA9IDB4MDAwMDAwMDIsCi1EUF9DT01QT05FTlRfREVQVEhfMTJCUEMgICAgICAgICAgICAg ICAgID0gMHgwMDAwMDAwMywKLURQX0NPTVBPTkVOVF9ERVBUSF8xNkJQQyAgICAgICAgICAgICAg ICAgPSAweDAwMDAwMDA0LAotRFBfQ09NUE9ORU5UX0RFUFRIX1JFU0VSVkVEICAgICAgICAgICAg ICA9IDB4MDAwMDAwMDUsCi19OwogCiAKICNkZWZpbmUgUkVHKHJlZylcCkBAIC0zMTQsMTEgKzI5 NywxMSBAQCBzdGF0aWMgdm9pZCBkY2UxMTBfc3RyZWFtX2VuY29kZXJfZHBfc2V0X3N0cmVhbV9h dHRyaWJ1dGUoCiAJc3dpdGNoIChjcnRjX3RpbWluZy0+cGl4ZWxfZW5jb2RpbmcpIHsKIAljYXNl IFBJWEVMX0VOQ09ESU5HX1lDQkNSNDIyOgogCQlSRUdfVVBEQVRFKERQX1BJWEVMX0ZPUk1BVCwg RFBfUElYRUxfRU5DT0RJTkcsCi0JCQkJRFBfUElYRUxfRU5DT0RJTkdfWUNCQ1I0MjIpOworCQkJ CURQX1BJWEVMX0VOQ09ESU5HX1RZUEVfWUNCQ1I0MjIpOwogCQlicmVhazsKIAljYXNlIFBJWEVM X0VOQ09ESU5HX1lDQkNSNDQ0OgogCQlSRUdfVVBEQVRFKERQX1BJWEVMX0ZPUk1BVCwgRFBfUElY RUxfRU5DT0RJTkcsCi0JCQkJRFBfUElYRUxfRU5DT0RJTkdfWUNCQ1I0NDQpOworCQkJCURQX1BJ WEVMX0VOQ09ESU5HX1RZUEVfWUNCQ1I0NDQpOwogCiAJCWlmIChjcnRjX3RpbWluZy0+ZmxhZ3Mu WV9PTkxZKQogCQkJaWYgKGNydGNfdGltaW5nLT5kaXNwbGF5X2NvbG9yX2RlcHRoICE9IENPTE9S X0RFUFRIXzY2NikKQEAgLTMyNiw3ICszMDksNyBAQCBzdGF0aWMgdm9pZCBkY2UxMTBfc3RyZWFt X2VuY29kZXJfZHBfc2V0X3N0cmVhbV9hdHRyaWJ1dGUoCiAJCQkJICogQ29sb3IgZGVwdGggb2Yg WS1vbmx5IGNvdWxkIGJlCiAJCQkJICogOCwgMTAsIDEyLCAxNiBiaXRzICovCiAJCQkJUkVHX1VQ REFURShEUF9QSVhFTF9GT1JNQVQsIERQX1BJWEVMX0VOQ09ESU5HLAotCQkJCQkJRFBfUElYRUxf RU5DT0RJTkdfWV9PTkxZKTsKKwkJCQkJCURQX1BJWEVMX0VOQ09ESU5HX1RZUEVfWV9PTkxZKTsK IAkJLyogTm90ZTogRFBfTVNBX01JU0MxIGJpdCA3IGlzIHRoZSBpbmRpY2F0b3IKIAkJICogb2Yg WS1vbmx5IG1vZGUuCiAJCSAqIFRoaXMgYml0IGlzIHNldCBpbiBIVyBpZiByZWdpc3RlcgpAQCAt MzM0LDcgKzMxNyw3IEBAIHN0YXRpYyB2b2lkIGRjZTExMF9zdHJlYW1fZW5jb2Rlcl9kcF9zZXRf c3RyZWFtX2F0dHJpYnV0ZSgKIAkJYnJlYWs7CiAJY2FzZSBQSVhFTF9FTkNPRElOR19ZQ0JDUjQy MDoKIAkJUkVHX1VQREFURShEUF9QSVhFTF9GT1JNQVQsIERQX1BJWEVMX0VOQ09ESU5HLAotCQkJ CURQX1BJWEVMX0VOQ09ESU5HX1lDQkNSNDIwKTsKKwkJCQlEUF9QSVhFTF9FTkNPRElOR19UWVBF X1lDQkNSNDIwKTsKIAkJaWYgKGVuYzExMC0+c2VfbWFzay0+RFBfVklEX01fRE9VQkxFX1ZBTFVF X0VOKQogCQkJUkVHX1VQREFURShEUF9WSURfVElNSU5HLCBEUF9WSURfTV9ET1VCTEVfVkFMVUVf RU4sIDEpOwogCkBAIC0zNDUsNyArMzI4LDcgQEAgc3RhdGljIHZvaWQgZGNlMTEwX3N0cmVhbV9l bmNvZGVyX2RwX3NldF9zdHJlYW1fYXR0cmlidXRlKAogCQlicmVhazsKIAlkZWZhdWx0OgogCQlS RUdfVVBEQVRFKERQX1BJWEVMX0ZPUk1BVCwgRFBfUElYRUxfRU5DT0RJTkcsCi0JCQkJRFBfUElY RUxfRU5DT0RJTkdfUkdCNDQ0KTsKKwkJCQlEUF9QSVhFTF9FTkNPRElOR19UWVBFX1JHQjQ0NCk7 CiAJCWJyZWFrOwogCX0KIApAQCAtMzYzLDIwICszNDYsMjAgQEAgc3RhdGljIHZvaWQgZGNlMTEw X3N0cmVhbV9lbmNvZGVyX2RwX3NldF9zdHJlYW1fYXR0cmlidXRlKAogCQlicmVhazsKIAljYXNl IENPTE9SX0RFUFRIXzg4ODoKIAkJUkVHX1VQREFURShEUF9QSVhFTF9GT1JNQVQsIERQX0NPTVBP TkVOVF9ERVBUSCwKLQkJCQlEUF9DT01QT05FTlRfREVQVEhfOEJQQyk7CisJCQkJRFBfQ09NUE9O RU5UX1BJWEVMX0RFUFRIXzhCUEMpOwogCQlicmVhazsKIAljYXNlIENPTE9SX0RFUFRIXzEwMTAx MDoKIAkJUkVHX1VQREFURShEUF9QSVhFTF9GT1JNQVQsIERQX0NPTVBPTkVOVF9ERVBUSCwKLQkJ CQlEUF9DT01QT05FTlRfREVQVEhfMTBCUEMpOworCQkJCURQX0NPTVBPTkVOVF9QSVhFTF9ERVBU SF8xMEJQQyk7CiAKIAkJYnJlYWs7CiAJY2FzZSBDT0xPUl9ERVBUSF8xMjEyMTI6CiAJCVJFR19V UERBVEUoRFBfUElYRUxfRk9STUFULCBEUF9DT01QT05FTlRfREVQVEgsCi0JCQkJRFBfQ09NUE9O RU5UX0RFUFRIXzEyQlBDKTsKKwkJCQlEUF9DT01QT05FTlRfUElYRUxfREVQVEhfMTJCUEMpOwog CQlicmVhazsKIAlkZWZhdWx0OgogCQlSRUdfVVBEQVRFKERQX1BJWEVMX0ZPUk1BVCwgRFBfQ09N UE9ORU5UX0RFUFRILAotCQkJCURQX0NPTVBPTkVOVF9ERVBUSF82QlBDKTsKKwkJCQlEUF9DT01Q T05FTlRfUElYRUxfREVQVEhfNkJQQyk7CiAJCWJyZWFrOwogCX0KIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3N0cmVhbV9lbmNvZGVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvZGNuMTAvZGNuMTBfc3RyZWFtX2VuY29k ZXIuYwppbmRleCAwNDEzYzcwN2I5MjEuLjllYzQ2ZjhmYzdjYyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3N0cmVhbV9lbmNvZGVyLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3N0cmVhbV9lbmNv ZGVyLmMKQEAgLTI2LDI5ICsyNiwxMSBAQAogCiAjaW5jbHVkZSAiZGNfYmlvc190eXBlcy5oIgog I2luY2x1ZGUgImRjbjEwX3N0cmVhbV9lbmNvZGVyLmgiCi0KICNpbmNsdWRlICJyZWdfaGVscGVy LmgiCisjaW5jbHVkZSAiaHdfc2hhcmVkLmgiCisKICNkZWZpbmUgRENfTE9HR0VSIFwKIAkJZW5j MS0+YmFzZS5jdHgtPmxvZ2dlcgotZW51bSBEUF9QSVhFTF9FTkNPRElORyB7Ci1EUF9QSVhFTF9F TkNPRElOR19SR0I0NDQgICAgICAgICAgICAgICAgID0gMHgwMDAwMDAwMCwKLURQX1BJWEVMX0VO Q09ESU5HX1lDQkNSNDIyICAgICAgICAgICAgICAgPSAweDAwMDAwMDAxLAotRFBfUElYRUxfRU5D T0RJTkdfWUNCQ1I0NDQgICAgICAgICAgICAgICA9IDB4MDAwMDAwMDIsCi1EUF9QSVhFTF9FTkNP RElOR19SR0JfV0lERV9HQU1VVCAgICAgICAgID0gMHgwMDAwMDAwMywKLURQX1BJWEVMX0VOQ09E SU5HX1lfT05MWSAgICAgICAgICAgICAgICAgPSAweDAwMDAwMDA0LAotRFBfUElYRUxfRU5DT0RJ TkdfWUNCQ1I0MjAgICAgICAgICAgICAgICA9IDB4MDAwMDAwMDUsCi1EUF9QSVhFTF9FTkNPRElO R19SRVNFUlZFRCAgICAgICAgICAgICAgID0gMHgwMDAwMDAwNiwKLX07Ci0KLQotZW51bSBEUF9D T01QT05FTlRfREVQVEggewotRFBfQ09NUE9ORU5UX0RFUFRIXzZCUEMgICAgICAgICAgICAgICAg ICA9IDB4MDAwMDAwMDAsCi1EUF9DT01QT05FTlRfREVQVEhfOEJQQyAgICAgICAgICAgICAgICAg ID0gMHgwMDAwMDAwMSwKLURQX0NPTVBPTkVOVF9ERVBUSF8xMEJQQyAgICAgICAgICAgICAgICAg PSAweDAwMDAwMDAyLAotRFBfQ09NUE9ORU5UX0RFUFRIXzEyQlBDICAgICAgICAgICAgICAgICA9 IDB4MDAwMDAwMDMsCi1EUF9DT01QT05FTlRfREVQVEhfMTZCUEMgICAgICAgICAgICAgICAgID0g MHgwMDAwMDAwNCwKLURQX0NPTVBPTkVOVF9ERVBUSF9SRVNFUlZFRCAgICAgICAgICAgICAgPSAw eDAwMDAwMDA1LAotfTsKIAogCiAjZGVmaW5lIFJFRyhyZWcpXApAQCAtNzAsNyArNTIsNyBAQCBl bnVtIHsKICNkZWZpbmUgQ1RYIFwKIAllbmMxLT5iYXNlLmN0eAogCi1zdGF0aWMgdm9pZCBlbmMx X3VwZGF0ZV9nZW5lcmljX2luZm9fcGFja2V0KAordm9pZCBlbmMxX3VwZGF0ZV9nZW5lcmljX2lu Zm9fcGFja2V0KAogCXN0cnVjdCBkY24xMF9zdHJlYW1fZW5jb2RlciAqZW5jMSwKIAl1aW50MzJf dCBwYWNrZXRfaW5kZXgsCiAJY29uc3Qgc3RydWN0IGRjX2luZm9fcGFja2V0ICppbmZvX3BhY2tl dCkKQEAgLTI2MCw3ICsyNDIsNyBAQCBzdGF0aWMgdm9pZCBlbmMxX3VwZGF0ZV9oZG1pX2luZm9f cGFja2V0KAogfQogCiAvKiBzZXR1cCBzdHJlYW0gZW5jb2RlciBpbiBkcCBtb2RlICovCi1zdGF0 aWMgdm9pZCBlbmMxX3N0cmVhbV9lbmNvZGVyX2RwX3NldF9zdHJlYW1fYXR0cmlidXRlKAordm9p ZCBlbmMxX3N0cmVhbV9lbmNvZGVyX2RwX3NldF9zdHJlYW1fYXR0cmlidXRlKAogCXN0cnVjdCBz dHJlYW1fZW5jb2RlciAqZW5jLAogCXN0cnVjdCBkY19jcnRjX3RpbWluZyAqY3J0Y190aW1pbmcs CiAJZW51bSBkY19jb2xvcl9zcGFjZSBvdXRwdXRfY29sb3Jfc3BhY2UpCkBAIC0yODQsMTEgKzI2 NiwxMSBAQCBzdGF0aWMgdm9pZCBlbmMxX3N0cmVhbV9lbmNvZGVyX2RwX3NldF9zdHJlYW1fYXR0 cmlidXRlKAogCXN3aXRjaCAoY3J0Y190aW1pbmctPnBpeGVsX2VuY29kaW5nKSB7CiAJY2FzZSBQ SVhFTF9FTkNPRElOR19ZQ0JDUjQyMjoKIAkJUkVHX1VQREFURShEUF9QSVhFTF9GT1JNQVQsIERQ X1BJWEVMX0VOQ09ESU5HLAotCQkJCURQX1BJWEVMX0VOQ09ESU5HX1lDQkNSNDIyKTsKKwkJCQlE UF9QSVhFTF9FTkNPRElOR19UWVBFX1lDQkNSNDIyKTsKIAkJYnJlYWs7CiAJY2FzZSBQSVhFTF9F TkNPRElOR19ZQ0JDUjQ0NDoKIAkJUkVHX1VQREFURShEUF9QSVhFTF9GT1JNQVQsIERQX1BJWEVM X0VOQ09ESU5HLAotCQkJCURQX1BJWEVMX0VOQ09ESU5HX1lDQkNSNDQ0KTsKKwkJCQlEUF9QSVhF TF9FTkNPRElOR19UWVBFX1lDQkNSNDQ0KTsKIAogCQlpZiAoY3J0Y190aW1pbmctPmZsYWdzLllf T05MWSkKIAkJCWlmIChjcnRjX3RpbWluZy0+ZGlzcGxheV9jb2xvcl9kZXB0aCAhPSBDT0xPUl9E RVBUSF82NjYpCkBAIC0yOTcsNyArMjc5LDcgQEAgc3RhdGljIHZvaWQgZW5jMV9zdHJlYW1fZW5j b2Rlcl9kcF9zZXRfc3RyZWFtX2F0dHJpYnV0ZSgKIAkJCQkgKiA4LCAxMCwgMTIsIDE2IGJpdHMK IAkJCQkgKi8KIAkJCQlSRUdfVVBEQVRFKERQX1BJWEVMX0ZPUk1BVCwgRFBfUElYRUxfRU5DT0RJ TkcsCi0JCQkJCQlEUF9QSVhFTF9FTkNPRElOR19ZX09OTFkpOworCQkJCQkJRFBfUElYRUxfRU5D T0RJTkdfVFlQRV9ZX09OTFkpOwogCQkvKiBOb3RlOiBEUF9NU0FfTUlTQzEgYml0IDcgaXMgdGhl IGluZGljYXRvcgogCQkgKiBvZiBZLW9ubHkgbW9kZS4KIAkJICogVGhpcyBiaXQgaXMgc2V0IGlu IEhXIGlmIHJlZ2lzdGVyCkBAIC0zMDYsMTIgKzI4OCwxMiBAQCBzdGF0aWMgdm9pZCBlbmMxX3N0 cmVhbV9lbmNvZGVyX2RwX3NldF9zdHJlYW1fYXR0cmlidXRlKAogCQlicmVhazsKIAljYXNlIFBJ WEVMX0VOQ09ESU5HX1lDQkNSNDIwOgogCQlSRUdfVVBEQVRFKERQX1BJWEVMX0ZPUk1BVCwgRFBf UElYRUxfRU5DT0RJTkcsCi0JCQkJRFBfUElYRUxfRU5DT0RJTkdfWUNCQ1I0MjApOworCQkJCURQ X1BJWEVMX0VOQ09ESU5HX1RZUEVfWUNCQ1I0MjApOwogCQlSRUdfVVBEQVRFKERQX1ZJRF9USU1J TkcsIERQX1ZJRF9OX01VTCwgMSk7CiAJCWJyZWFrOwogCWRlZmF1bHQ6CiAJCVJFR19VUERBVEUo RFBfUElYRUxfRk9STUFULCBEUF9QSVhFTF9FTkNPRElORywKLQkJCQlEUF9QSVhFTF9FTkNPRElO R19SR0I0NDQpOworCQkJCURQX1BJWEVMX0VOQ09ESU5HX1RZUEVfUkdCNDQ0KTsKIAkJYnJlYWs7 CiAJfQogCkBAIC0zMjYsMjAgKzMwOCwyMCBAQCBzdGF0aWMgdm9pZCBlbmMxX3N0cmVhbV9lbmNv ZGVyX2RwX3NldF9zdHJlYW1fYXR0cmlidXRlKAogCQlicmVhazsKIAljYXNlIENPTE9SX0RFUFRI Xzg4ODoKIAkJUkVHX1VQREFURShEUF9QSVhFTF9GT1JNQVQsIERQX0NPTVBPTkVOVF9ERVBUSCwK LQkJCQlEUF9DT01QT05FTlRfREVQVEhfOEJQQyk7CisJCQkJRFBfQ09NUE9ORU5UX1BJWEVMX0RF UFRIXzhCUEMpOwogCQlicmVhazsKIAljYXNlIENPTE9SX0RFUFRIXzEwMTAxMDoKIAkJUkVHX1VQ REFURShEUF9QSVhFTF9GT1JNQVQsIERQX0NPTVBPTkVOVF9ERVBUSCwKLQkJCQlEUF9DT01QT05F TlRfREVQVEhfMTBCUEMpOworCQkJCURQX0NPTVBPTkVOVF9QSVhFTF9ERVBUSF8xMEJQQyk7CiAK IAkJYnJlYWs7CiAJY2FzZSBDT0xPUl9ERVBUSF8xMjEyMTI6CiAJCVJFR19VUERBVEUoRFBfUElY RUxfRk9STUFULCBEUF9DT01QT05FTlRfREVQVEgsCi0JCQkJRFBfQ09NUE9ORU5UX0RFUFRIXzEy QlBDKTsKKwkJCQlEUF9DT01QT05FTlRfUElYRUxfREVQVEhfMTJCUEMpOwogCQlicmVhazsKIAlk ZWZhdWx0OgogCQlSRUdfVVBEQVRFKERQX1BJWEVMX0ZPUk1BVCwgRFBfQ09NUE9ORU5UX0RFUFRI LAotCQkJCURQX0NPTVBPTkVOVF9ERVBUSF82QlBDKTsKKwkJCQlEUF9DT01QT05FTlRfUElYRUxf REVQVEhfNkJQQyk7CiAJCWJyZWFrOwogCX0KIApAQCAtNDg1LDcgKzQ2Nyw3IEBAIHN0YXRpYyB2 b2lkIGVuYzFfc3RyZWFtX2VuY29kZXJfc2V0X3N0cmVhbV9hdHRyaWJ1dGVfaGVscGVyKAogfQog CiAvKiBzZXR1cCBzdHJlYW0gZW5jb2RlciBpbiBoZG1pIG1vZGUgKi8KLXN0YXRpYyB2b2lkIGVu YzFfc3RyZWFtX2VuY29kZXJfaGRtaV9zZXRfc3RyZWFtX2F0dHJpYnV0ZSgKK3ZvaWQgZW5jMV9z dHJlYW1fZW5jb2Rlcl9oZG1pX3NldF9zdHJlYW1fYXR0cmlidXRlKAogCXN0cnVjdCBzdHJlYW1f ZW5jb2RlciAqZW5jLAogCXN0cnVjdCBkY19jcnRjX3RpbWluZyAqY3J0Y190aW1pbmcsCiAJaW50 IGFjdHVhbF9waXhfY2xrX2toeiwKQEAgLTU5MSw3ICs1NzMsNyBAQCBzdGF0aWMgdm9pZCBlbmMx X3N0cmVhbV9lbmNvZGVyX2hkbWlfc2V0X3N0cmVhbV9hdHRyaWJ1dGUoCiB9CiAKIC8qIHNldHVw IHN0cmVhbSBlbmNvZGVyIGluIGR2aSBtb2RlICovCi1zdGF0aWMgdm9pZCBlbmMxX3N0cmVhbV9l bmNvZGVyX2R2aV9zZXRfc3RyZWFtX2F0dHJpYnV0ZSgKK3ZvaWQgZW5jMV9zdHJlYW1fZW5jb2Rl cl9kdmlfc2V0X3N0cmVhbV9hdHRyaWJ1dGUoCiAJc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMs CiAJc3RydWN0IGRjX2NydGNfdGltaW5nICpjcnRjX3RpbWluZywKIAlib29sIGlzX2R1YWxfbGlu aykKQEAgLTYxNiw3ICs1OTgsNyBAQCBzdGF0aWMgdm9pZCBlbmMxX3N0cmVhbV9lbmNvZGVyX2R2 aV9zZXRfc3RyZWFtX2F0dHJpYnV0ZSgKIAllbmMxX3N0cmVhbV9lbmNvZGVyX3NldF9zdHJlYW1f YXR0cmlidXRlX2hlbHBlcihlbmMxLCBjcnRjX3RpbWluZyk7CiB9CiAKLXN0YXRpYyB2b2lkIGVu YzFfc3RyZWFtX2VuY29kZXJfc2V0X21zdF9iYW5kd2lkdGgoCit2b2lkIGVuYzFfc3RyZWFtX2Vu Y29kZXJfc2V0X21zdF9iYW5kd2lkdGgoCiAJc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMsCiAJ c3RydWN0IGZpeGVkMzFfMzIgYXZnX3RpbWVfc2xvdHNfcGVyX210cCkKIHsKQEAgLTY5OSw3ICs2 ODEsNyBAQCBzdGF0aWMgdm9pZCBlbmMxX3N0cmVhbV9lbmNvZGVyX3N0b3BfaGRtaV9pbmZvX3Bh Y2tldHMoCiAJCUhETUlfR0VORVJJQzFfU0VORCwgMCk7CiB9CiAKLXN0YXRpYyB2b2lkIGVuYzFf c3RyZWFtX2VuY29kZXJfdXBkYXRlX2RwX2luZm9fcGFja2V0cygKK3ZvaWQgZW5jMV9zdHJlYW1f ZW5jb2Rlcl91cGRhdGVfZHBfaW5mb19wYWNrZXRzKAogCXN0cnVjdCBzdHJlYW1fZW5jb2RlciAq ZW5jLAogCWNvbnN0IHN0cnVjdCBlbmNvZGVyX2luZm9fZnJhbWUgKmluZm9fZnJhbWUpCiB7CkBA IC03NDIsNyArNzI0LDcgQEAgc3RhdGljIHZvaWQgZW5jMV9zdHJlYW1fZW5jb2Rlcl91cGRhdGVf ZHBfaW5mb19wYWNrZXRzKAogCQlSRUdfVVBEQVRFKERQX1NFQ19DTlRMLCBEUF9TRUNfU1RSRUFN X0VOQUJMRSwgMSk7CiB9CiAKLXN0YXRpYyB2b2lkIGVuYzFfc3RyZWFtX2VuY29kZXJfc3RvcF9k cF9pbmZvX3BhY2tldHMoCit2b2lkIGVuYzFfc3RyZWFtX2VuY29kZXJfc3RvcF9kcF9pbmZvX3Bh Y2tldHMoCiAJc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMpCiB7CiAJLyogc3RvcCBnZW5lcmlj IHBhY2tldHMgb24gRFAgKi8KQEAgLTc3MCw3ICs3NTIsNyBAQCBzdGF0aWMgdm9pZCBlbmMxX3N0 cmVhbV9lbmNvZGVyX3N0b3BfZHBfaW5mb19wYWNrZXRzKAogCiB9CiAKLXN0YXRpYyB2b2lkIGVu YzFfc3RyZWFtX2VuY29kZXJfZHBfYmxhbmsoCit2b2lkIGVuYzFfc3RyZWFtX2VuY29kZXJfZHBf YmxhbmsoCiAJc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMpCiB7CiAJc3RydWN0IGRjbjEwX3N0 cmVhbV9lbmNvZGVyICplbmMxID0gRENOMTBTVFJFTkNfRlJPTV9TVFJFTkMoZW5jKTsKQEAgLTgy Myw3ICs4MDUsNyBAQCBzdGF0aWMgdm9pZCBlbmMxX3N0cmVhbV9lbmNvZGVyX2RwX2JsYW5rKAog fQogCiAvKiBvdXRwdXQgdmlkZW8gc3RyZWFtIHRvIGxpbmsgZW5jb2RlciAqLwotc3RhdGljIHZv aWQgZW5jMV9zdHJlYW1fZW5jb2Rlcl9kcF91bmJsYW5rKAordm9pZCBlbmMxX3N0cmVhbV9lbmNv ZGVyX2RwX3VuYmxhbmsoCiAJc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMsCiAJY29uc3Qgc3Ry dWN0IGVuY29kZXJfdW5ibGFua19wYXJhbSAqcGFyYW0pCiB7CkBAIC04ODUsNyArODY3LDcgQEAg c3RhdGljIHZvaWQgZW5jMV9zdHJlYW1fZW5jb2Rlcl9kcF91bmJsYW5rKAogCVJFR19VUERBVEUo RFBfVklEX1NUUkVBTV9DTlRMLCBEUF9WSURfU1RSRUFNX0VOQUJMRSwgdHJ1ZSk7CiB9CiAKLXN0 YXRpYyB2b2lkIGVuYzFfc3RyZWFtX2VuY29kZXJfc2V0X2F2bXV0ZSgKK3ZvaWQgZW5jMV9zdHJl YW1fZW5jb2Rlcl9zZXRfYXZtdXRlKAogCXN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5jLAogCWJv b2wgZW5hYmxlKQogewpAQCAtMTQ0Miw3ICsxNDI0LDcgQEAgdm9pZCBlbmMxX3NlX2hkbWlfYXVk aW9fZGlzYWJsZSgKIH0KIAogCi1zdGF0aWMgdm9pZCBlbmMxX3NldHVwX3N0ZXJlb19zeW5jKAor dm9pZCBlbmMxX3NldHVwX3N0ZXJlb19zeW5jKAogCXN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5j LAogCWludCB0Z19pbnN0LCBib29sIGVuYWJsZSkKIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5oIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2RjbjEwL2RjbjEwX3N0cmVhbV9lbmNvZGVyLmgKaW5k ZXggODZmOGVlNWVkOGI4Li42YjNlNGRlZDE1NWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9kY24xMC9kY24xMF9zdHJlYW1fZW5jb2Rlci5oCkBA IC0zMSw3ICszMSw4IEBACiAjZGVmaW5lIERDTjEwU1RSRU5DX0ZST01fU1RSRU5DKHN0cmVhbV9l bmNvZGVyKVwKIAljb250YWluZXJfb2Yoc3RyZWFtX2VuY29kZXIsIHN0cnVjdCBkY24xMF9zdHJl YW1fZW5jb2RlciwgYmFzZSkKIAotI2RlZmluZSBTRV9DT01NT05fUkVHX0xJU1RfQkFTRShpZCkg XAorI2RlZmluZSBTRV9DT01NT05fRENOX1JFR19MSVNUKGlkKSBcCisJU1JJKEFGTVRfQ05UTCwg RElHLCBpZCksIFwKIAlTUkkoQUZNVF9HRU5FUklDXzAsIERJRywgaWQpLCBcCiAJU1JJKEFGTVRf R0VORVJJQ18xLCBESUcsIGlkKSwgXAogCVNSSShBRk1UX0dFTkVSSUNfMiwgRElHLCBpZCksIFwK QEAgLTQzLDYgKzQ0LDcgQEAKIAlTUkkoQUZNVF9HRU5FUklDX0hEUiwgRElHLCBpZCksIFwKIAlT UkkoQUZNVF9JTkZPRlJBTUVfQ09OVFJPTDAsIERJRywgaWQpLCBcCiAJU1JJKEFGTVRfVkJJX1BB Q0tFVF9DT05UUk9MLCBESUcsIGlkKSwgXAorCVNSSShBRk1UX1ZCSV9QQUNLRVRfQ09OVFJPTDEs IERJRywgaWQpLCBcCiAJU1JJKEFGTVRfQVVESU9fUEFDS0VUX0NPTlRST0wsIERJRywgaWQpLCBc CiAJU1JJKEFGTVRfQVVESU9fUEFDS0VUX0NPTlRST0wyLCBESUcsIGlkKSwgXAogCVNSSShBRk1U X0FVRElPX1NSQ19DT05UUk9MLCBESUcsIGlkKSwgXApAQCAtNTEsOSArNTMsMTIgQEAKIAlTUkko QUZNVF82MDk1OF8yLCBESUcsIGlkKSwgXAogCVNSSShESUdfRkVfQ05UTCwgRElHLCBpZCksIFwK IAlTUkkoSERNSV9DT05UUk9MLCBESUcsIGlkKSwgXAorCVNSSShIRE1JX0RCX0NPTlRST0wsIERJ RywgaWQpLCBcCiAJU1JJKEhETUlfR0MsIERJRywgaWQpLCBcCiAJU1JJKEhETUlfR0VORVJJQ19Q QUNLRVRfQ09OVFJPTDAsIERJRywgaWQpLCBcCiAJU1JJKEhETUlfR0VORVJJQ19QQUNLRVRfQ09O VFJPTDEsIERJRywgaWQpLCBcCisJU1JJKEhETUlfR0VORVJJQ19QQUNLRVRfQ09OVFJPTDIsIERJ RywgaWQpLCBcCisJU1JJKEhETUlfR0VORVJJQ19QQUNLRVRfQ09OVFJPTDMsIERJRywgaWQpLCBc CiAJU1JJKEhETUlfSU5GT0ZSQU1FX0NPTlRST0wwLCBESUcsIGlkKSwgXAogCVNSSShIRE1JX0lO Rk9GUkFNRV9DT05UUk9MMSwgRElHLCBpZCksIFwKIAlTUkkoSERNSV9WQklfUEFDS0VUX0NPTlRS T0wsIERJRywgaWQpLCBcCkBAIC02NSw3ICs3MCwxMyBAQAogCVNSSShIRE1JX0FDUl80NF8xLCBE SUcsIGlkKSxcCiAJU1JJKEhETUlfQUNSXzQ4XzAsIERJRywgaWQpLFwKIAlTUkkoSERNSV9BQ1Jf NDhfMSwgRElHLCBpZCksXAotCVNSSShUTURTX0NOVEwsIERJRywgaWQpLCBcCisJU1JJKERQX0RC X0NOVEwsIERQLCBpZCksIFwKKwlTUkkoRFBfTVNBX01JU0MsIERQLCBpZCksIFwKKwlTUkkoRFBf TVNBX0NPTE9SSU1FVFJZLCBEUCwgaWQpLCBcCisJU1JJKERQX01TQV9USU1JTkdfUEFSQU0xLCBE UCwgaWQpLCBcCisJU1JJKERQX01TQV9USU1JTkdfUEFSQU0yLCBEUCwgaWQpLCBcCisJU1JJKERQ X01TQV9USU1JTkdfUEFSQU0zLCBEUCwgaWQpLCBcCisJU1JJKERQX01TQV9USU1JTkdfUEFSQU00 LCBEUCwgaWQpLCBcCiAJU1JJKERQX01TRV9SQVRFX0NOVEwsIERQLCBpZCksIFwKIAlTUkkoRFBf TVNFX1JBVEVfVVBEQVRFLCBEUCwgaWQpLCBcCiAJU1JJKERQX1BJWEVMX0ZPUk1BVCwgRFAsIGlk KSwgXApAQCAtNzksMTkgKzkwLDc0IEBACiAJU1JJKERQX1NFQ19USU1FU1RBTVAsIERQLCBpZCkK IAogI2RlZmluZSBTRV9EQ05fUkVHX0xJU1QoaWQpXAotCVNFX0NPTU1PTl9SRUdfTElTVF9CQVNF KGlkKSxcCi0JU1JJKEFGTVRfQ05UTCwgRElHLCBpZCksXAotCVNSSShBRk1UX1ZCSV9QQUNLRVRf Q09OVFJPTDEsIERJRywgaWQpLFwKLQlTUkkoSERNSV9HRU5FUklDX1BBQ0tFVF9DT05UUk9MMiwg RElHLCBpZCksIFwKLQlTUkkoSERNSV9HRU5FUklDX1BBQ0tFVF9DT05UUk9MMywgRElHLCBpZCks IFwKLQlTUkkoRFBfREJfQ05UTCwgRFAsIGlkKSwgXAotCVNSSShEUF9NU0FfTUlTQywgRFAsIGlk KSwgXAotCVNSSShEUF9NU0FfQ09MT1JJTUVUUlksIERQLCBpZCksIFwKLQlTUkkoRFBfTVNBX1RJ TUlOR19QQVJBTTEsIERQLCBpZCksIFwKLQlTUkkoRFBfTVNBX1RJTUlOR19QQVJBTTIsIERQLCBp ZCksIFwKLQlTUkkoRFBfTVNBX1RJTUlOR19QQVJBTTMsIERQLCBpZCksIFwKLQlTUkkoRFBfTVNB X1RJTUlOR19QQVJBTTQsIERQLCBpZCksIFwKLQlTUkkoSERNSV9EQl9DT05UUk9MLCBESUcsIGlk KQorCVNFX0NPTU1PTl9EQ05fUkVHX0xJU1QoaWQpCisKKworc3RydWN0IGRjbjEwX3N0cmVhbV9l bmNfcmVnaXN0ZXJzIHsKKwl1aW50MzJfdCBBRk1UX0NOVEw7CisJdWludDMyX3QgQUZNVF9BVklf SU5GTzA7CisJdWludDMyX3QgQUZNVF9BVklfSU5GTzE7CisJdWludDMyX3QgQUZNVF9BVklfSU5G TzI7CisJdWludDMyX3QgQUZNVF9BVklfSU5GTzM7CisJdWludDMyX3QgQUZNVF9HRU5FUklDXzA7 CisJdWludDMyX3QgQUZNVF9HRU5FUklDXzE7CisJdWludDMyX3QgQUZNVF9HRU5FUklDXzI7CisJ dWludDMyX3QgQUZNVF9HRU5FUklDXzM7CisJdWludDMyX3QgQUZNVF9HRU5FUklDXzQ7CisJdWlu dDMyX3QgQUZNVF9HRU5FUklDXzU7CisJdWludDMyX3QgQUZNVF9HRU5FUklDXzY7CisJdWludDMy X3QgQUZNVF9HRU5FUklDXzc7CisJdWludDMyX3QgQUZNVF9HRU5FUklDX0hEUjsKKwl1aW50MzJf dCBBRk1UX0lORk9GUkFNRV9DT05UUk9MMDsKKwl1aW50MzJfdCBBRk1UX1ZCSV9QQUNLRVRfQ09O VFJPTDsKKwl1aW50MzJfdCBBRk1UX1ZCSV9QQUNLRVRfQ09OVFJPTDE7CisJdWludDMyX3QgQUZN VF9BVURJT19QQUNLRVRfQ09OVFJPTDsKKwl1aW50MzJfdCBBRk1UX0FVRElPX1BBQ0tFVF9DT05U Uk9MMjsKKwl1aW50MzJfdCBBRk1UX0FVRElPX1NSQ19DT05UUk9MOworCXVpbnQzMl90IEFGTVRf NjA5NThfMDsKKwl1aW50MzJfdCBBRk1UXzYwOTU4XzE7CisJdWludDMyX3QgQUZNVF82MDk1OF8y OworCXVpbnQzMl90IERJR19GRV9DTlRMOworCXVpbnQzMl90IERQX01TRV9SQVRFX0NOVEw7CisJ dWludDMyX3QgRFBfTVNFX1JBVEVfVVBEQVRFOworCXVpbnQzMl90IERQX1BJWEVMX0ZPUk1BVDsK Kwl1aW50MzJfdCBEUF9TRUNfQ05UTDsKKwl1aW50MzJfdCBEUF9TVEVFUl9GSUZPOworCXVpbnQz Ml90IERQX1ZJRF9NOworCXVpbnQzMl90IERQX1ZJRF9OOworCXVpbnQzMl90IERQX1ZJRF9TVFJF QU1fQ05UTDsKKwl1aW50MzJfdCBEUF9WSURfVElNSU5HOworCXVpbnQzMl90IERQX1NFQ19BVURf TjsKKwl1aW50MzJfdCBEUF9TRUNfVElNRVNUQU1QOworCXVpbnQzMl90IEhETUlfQ09OVFJPTDsK Kwl1aW50MzJfdCBIRE1JX0dDOworCXVpbnQzMl90IEhETUlfR0VORVJJQ19QQUNLRVRfQ09OVFJP TDA7CisJdWludDMyX3QgSERNSV9HRU5FUklDX1BBQ0tFVF9DT05UUk9MMTsKKwl1aW50MzJfdCBI RE1JX0dFTkVSSUNfUEFDS0VUX0NPTlRST0wyOworCXVpbnQzMl90IEhETUlfR0VORVJJQ19QQUNL RVRfQ09OVFJPTDM7CisJdWludDMyX3QgSERNSV9HRU5FUklDX1BBQ0tFVF9DT05UUk9MNDsKKwl1 aW50MzJfdCBIRE1JX0dFTkVSSUNfUEFDS0VUX0NPTlRST0w1OworCXVpbnQzMl90IEhETUlfSU5G T0ZSQU1FX0NPTlRST0wwOworCXVpbnQzMl90IEhETUlfSU5GT0ZSQU1FX0NPTlRST0wxOworCXVp bnQzMl90IEhETUlfVkJJX1BBQ0tFVF9DT05UUk9MOworCXVpbnQzMl90IEhETUlfQVVESU9fUEFD S0VUX0NPTlRST0w7CisJdWludDMyX3QgSERNSV9BQ1JfUEFDS0VUX0NPTlRST0w7CisJdWludDMy X3QgSERNSV9BQ1JfMzJfMDsKKwl1aW50MzJfdCBIRE1JX0FDUl8zMl8xOworCXVpbnQzMl90IEhE TUlfQUNSXzQ0XzA7CisJdWludDMyX3QgSERNSV9BQ1JfNDRfMTsKKwl1aW50MzJfdCBIRE1JX0FD Ul80OF8wOworCXVpbnQzMl90IEhETUlfQUNSXzQ4XzE7CisJdWludDMyX3QgRFBfREJfQ05UTDsK Kwl1aW50MzJfdCBEUF9NU0FfTUlTQzsKKwl1aW50MzJfdCBEUF9NU0FfQ09MT1JJTUVUUlk7CisJ dWludDMyX3QgRFBfTVNBX1RJTUlOR19QQVJBTTE7CisJdWludDMyX3QgRFBfTVNBX1RJTUlOR19Q QVJBTTI7CisJdWludDMyX3QgRFBfTVNBX1RJTUlOR19QQVJBTTM7CisJdWludDMyX3QgRFBfTVNB X1RJTUlOR19QQVJBTTQ7CisJdWludDMyX3QgSERNSV9EQl9DT05UUk9MOworfTsKKwogCiAjZGVm aW5lIFNFX1NGKHJlZ19uYW1lLCBmaWVsZF9uYW1lLCBwb3N0X2ZpeClcCiAJLmZpZWxkX25hbWUg PSByZWdfbmFtZSAjIyBfXyAjIyBmaWVsZF9uYW1lICMjIHBvc3RfZml4CkBAIC0yMjEsMzQ4ICsy ODcsMTUxIEBACiAJU0VfU0YoRElHMF9IRE1JX0dFTkVSSUNfUEFDS0VUX0NPTlRST0wwLCBIRE1J X0dFTkVSSUMxX1NFTkQsIG1hc2tfc2gpLFwKIAlTRV9TRihESUcwX0hETUlfR0VORVJJQ19QQUNL RVRfQ09OVFJPTDAsIEhETUlfR0VORVJJQzFfTElORSwgbWFza19zaCkKIAorCisjZGVmaW5lIFNF X1JFR19GSUVMRF9MSVNUX0RDTjFfMCh0eXBlKSBcCisJdHlwZSBBRk1UX0dFTkVSSUNfSU5ERVg7 XAorCXR5cGUgQUZNVF9HRU5FUklDX0hCMDtcCisJdHlwZSBBRk1UX0dFTkVSSUNfSEIxO1wKKwl0 eXBlIEFGTVRfR0VORVJJQ19IQjI7XAorCXR5cGUgQUZNVF9HRU5FUklDX0hCMztcCisJdHlwZSBB Rk1UX0dFTkVSSUNfTE9DS19TVEFUVVM7XAorCXR5cGUgQUZNVF9HRU5FUklDX0NPTkZMSUNUO1wK Kwl0eXBlIEFGTVRfR0VORVJJQ19DT05GTElDVF9DTFI7XAorCXR5cGUgQUZNVF9HRU5FUklDMF9G UkFNRV9VUERBVEVfUEVORElORztcCisJdHlwZSBBRk1UX0dFTkVSSUMxX0ZSQU1FX1VQREFURV9Q RU5ESU5HO1wKKwl0eXBlIEFGTVRfR0VORVJJQzJfRlJBTUVfVVBEQVRFX1BFTkRJTkc7XAorCXR5 cGUgQUZNVF9HRU5FUklDM19GUkFNRV9VUERBVEVfUEVORElORztcCisJdHlwZSBBRk1UX0dFTkVS SUM0X0ZSQU1FX1VQREFURV9QRU5ESU5HO1wKKwl0eXBlIEFGTVRfR0VORVJJQzVfRlJBTUVfVVBE QVRFX1BFTkRJTkc7XAorCXR5cGUgQUZNVF9HRU5FUklDNl9GUkFNRV9VUERBVEVfUEVORElORztc CisJdHlwZSBBRk1UX0dFTkVSSUM3X0ZSQU1FX1VQREFURV9QRU5ESU5HO1wKKwl0eXBlIEFGTVRf R0VORVJJQzBfRlJBTUVfVVBEQVRFO1wKKwl0eXBlIEFGTVRfR0VORVJJQzFfRlJBTUVfVVBEQVRF O1wKKwl0eXBlIEFGTVRfR0VORVJJQzJfRlJBTUVfVVBEQVRFO1wKKwl0eXBlIEFGTVRfR0VORVJJ QzNfRlJBTUVfVVBEQVRFO1wKKwl0eXBlIEFGTVRfR0VORVJJQzRfRlJBTUVfVVBEQVRFO1wKKwl0 eXBlIEFGTVRfR0VORVJJQzVfRlJBTUVfVVBEQVRFO1wKKwl0eXBlIEFGTVRfR0VORVJJQzZfRlJB TUVfVVBEQVRFO1wKKwl0eXBlIEFGTVRfR0VORVJJQzdfRlJBTUVfVVBEQVRFO1wKKwl0eXBlIEhE TUlfR0VORVJJQzBfQ09OVDtcCisJdHlwZSBIRE1JX0dFTkVSSUMwX1NFTkQ7XAorCXR5cGUgSERN SV9HRU5FUklDMF9MSU5FO1wKKwl0eXBlIEhETUlfR0VORVJJQzFfQ09OVDtcCisJdHlwZSBIRE1J X0dFTkVSSUMxX1NFTkQ7XAorCXR5cGUgSERNSV9HRU5FUklDMV9MSU5FO1wKKwl0eXBlIEhETUlf R0VORVJJQzJfQ09OVDtcCisJdHlwZSBIRE1JX0dFTkVSSUMyX1NFTkQ7XAorCXR5cGUgSERNSV9H RU5FUklDMl9MSU5FO1wKKwl0eXBlIEhETUlfR0VORVJJQzNfQ09OVDtcCisJdHlwZSBIRE1JX0dF TkVSSUMzX1NFTkQ7XAorCXR5cGUgSERNSV9HRU5FUklDM19MSU5FO1wKKwl0eXBlIEhETUlfR0VO RVJJQzRfQ09OVDtcCisJdHlwZSBIRE1JX0dFTkVSSUM0X1NFTkQ7XAorCXR5cGUgSERNSV9HRU5F UklDNF9MSU5FO1wKKwl0eXBlIEhETUlfR0VORVJJQzVfQ09OVDtcCisJdHlwZSBIRE1JX0dFTkVS SUM1X1NFTkQ7XAorCXR5cGUgSERNSV9HRU5FUklDNV9MSU5FO1wKKwl0eXBlIEhETUlfR0VORVJJ QzZfQ09OVDtcCisJdHlwZSBIRE1JX0dFTkVSSUM2X1NFTkQ7XAorCXR5cGUgSERNSV9HRU5FUklD Nl9MSU5FO1wKKwl0eXBlIEhETUlfR0VORVJJQzdfQ09OVDtcCisJdHlwZSBIRE1JX0dFTkVSSUM3 X1NFTkQ7XAorCXR5cGUgSERNSV9HRU5FUklDN19MSU5FO1wKKwl0eXBlIERQX1BJWEVMX0VOQ09E SU5HO1wKKwl0eXBlIERQX0NPTVBPTkVOVF9ERVBUSDtcCisJdHlwZSBIRE1JX1BBQ0tFVF9HRU5f VkVSU0lPTjtcCisJdHlwZSBIRE1JX0tFRVBPVVRfTU9ERTtcCisJdHlwZSBIRE1JX0RFRVBfQ09M T1JfRU5BQkxFO1wKKwl0eXBlIEhETUlfQ0xPQ0tfQ0hBTk5FTF9SQVRFO1wKKwl0eXBlIEhETUlf REVFUF9DT0xPUl9ERVBUSDtcCisJdHlwZSBIRE1JX0dDX0NPTlQ7XAorCXR5cGUgSERNSV9HQ19T RU5EO1wKKwl0eXBlIEhETUlfTlVMTF9TRU5EO1wKKwl0eXBlIEhETUlfREFUQV9TQ1JBTUJMRV9F TjtcCisJdHlwZSBIRE1JX0FVRElPX0lORk9fU0VORDtcCisJdHlwZSBBRk1UX0FVRElPX0lORk9f VVBEQVRFO1wKKwl0eXBlIEhETUlfQVVESU9fSU5GT19MSU5FO1wKKwl0eXBlIEhETUlfR0NfQVZN VVRFO1wKKwl0eXBlIERQX01TRV9SQVRFX1g7XAorCXR5cGUgRFBfTVNFX1JBVEVfWTtcCisJdHlw ZSBEUF9NU0VfUkFURV9VUERBVEVfUEVORElORztcCisJdHlwZSBEUF9TRUNfR1NQMF9FTkFCTEU7 XAorCXR5cGUgRFBfU0VDX1NUUkVBTV9FTkFCTEU7XAorCXR5cGUgRFBfU0VDX0dTUDFfRU5BQkxF O1wKKwl0eXBlIERQX1NFQ19HU1AyX0VOQUJMRTtcCisJdHlwZSBEUF9TRUNfR1NQM19FTkFCTEU7 XAorCXR5cGUgRFBfU0VDX0dTUDRfRU5BQkxFO1wKKwl0eXBlIERQX1NFQ19HU1A1X0VOQUJMRTtc CisJdHlwZSBEUF9TRUNfR1NQNl9FTkFCTEU7XAorCXR5cGUgRFBfU0VDX0dTUDdfRU5BQkxFO1wK Kwl0eXBlIERQX1NFQ19NUEdfRU5BQkxFO1wKKwl0eXBlIERQX1ZJRF9TVFJFQU1fRElTX0RFRkVS O1wKKwl0eXBlIERQX1ZJRF9TVFJFQU1fRU5BQkxFO1wKKwl0eXBlIERQX1ZJRF9TVFJFQU1fU1RB VFVTO1wKKwl0eXBlIERQX1NURUVSX0ZJRk9fUkVTRVQ7XAorCXR5cGUgRFBfVklEX01fTl9HRU5f RU47XAorCXR5cGUgRFBfVklEX047XAorCXR5cGUgRFBfVklEX007XAorCXR5cGUgRElHX1NUQVJU O1wKKwl0eXBlIEFGTVRfQVVESU9fU1JDX1NFTEVDVDtcCisJdHlwZSBBRk1UX0FVRElPX0NIQU5O RUxfRU5BQkxFO1wKKwl0eXBlIEhETUlfQVVESU9fUEFDS0VUU19QRVJfTElORTtcCisJdHlwZSBI RE1JX0FVRElPX0RFTEFZX0VOO1wKKwl0eXBlIEFGTVRfNjA5NThfQ1NfVVBEQVRFO1wKKwl0eXBl IEFGTVRfQVVESU9fTEFZT1VUX09WUkQ7XAorCXR5cGUgQUZNVF82MDk1OF9PU0ZfT1ZSRDtcCisJ dHlwZSBIRE1JX0FDUl9BVVRPX1NFTkQ7XAorCXR5cGUgSERNSV9BQ1JfU09VUkNFO1wKKwl0eXBl IEhETUlfQUNSX0FVRElPX1BSSU9SSVRZO1wKKwl0eXBlIEhETUlfQUNSX0NUU18zMjtcCisJdHlw ZSBIRE1JX0FDUl9OXzMyO1wKKwl0eXBlIEhETUlfQUNSX0NUU180NDtcCisJdHlwZSBIRE1JX0FD Ul9OXzQ0O1wKKwl0eXBlIEhETUlfQUNSX0NUU180ODtcCisJdHlwZSBIRE1JX0FDUl9OXzQ4O1wK Kwl0eXBlIEFGTVRfNjA5NThfQ1NfQ0hBTk5FTF9OVU1CRVJfTDtcCisJdHlwZSBBRk1UXzYwOTU4 X0NTX0NMT0NLX0FDQ1VSQUNZO1wKKwl0eXBlIEFGTVRfNjA5NThfQ1NfQ0hBTk5FTF9OVU1CRVJf UjtcCisJdHlwZSBBRk1UXzYwOTU4X0NTX0NIQU5ORUxfTlVNQkVSXzI7XAorCXR5cGUgQUZNVF82 MDk1OF9DU19DSEFOTkVMX05VTUJFUl8zO1wKKwl0eXBlIEFGTVRfNjA5NThfQ1NfQ0hBTk5FTF9O VU1CRVJfNDtcCisJdHlwZSBBRk1UXzYwOTU4X0NTX0NIQU5ORUxfTlVNQkVSXzU7XAorCXR5cGUg QUZNVF82MDk1OF9DU19DSEFOTkVMX05VTUJFUl82O1wKKwl0eXBlIEFGTVRfNjA5NThfQ1NfQ0hB Tk5FTF9OVU1CRVJfNztcCisJdHlwZSBEUF9TRUNfQVVEX047XAorCXR5cGUgRFBfU0VDX1RJTUVT VEFNUF9NT0RFO1wKKwl0eXBlIERQX1NFQ19BU1BfRU5BQkxFO1wKKwl0eXBlIERQX1NFQ19BVFBf RU5BQkxFO1wKKwl0eXBlIERQX1NFQ19BSVBfRU5BQkxFO1wKKwl0eXBlIERQX1NFQ19BQ01fRU5B QkxFO1wKKwl0eXBlIEFGTVRfQVVESU9fU0FNUExFX1NFTkQ7XAorCXR5cGUgQUZNVF9BVURJT19D TE9DS19FTjtcCisJdHlwZSBUTURTX1BJWEVMX0VOQ09ESU5HO1wKKwl0eXBlIFRNRFNfQ09MT1Jf Rk9STUFUO1wKKwl0eXBlIERJR19TVEVSRU9TWU5DX1NFTEVDVDtcCisJdHlwZSBESUdfU1RFUkVP U1lOQ19HQVRFX0VOO1wKKwl0eXBlIERQX0RCX0RJU0FCTEU7XAorCXR5cGUgRFBfTVNBX01JU0Mw O1wKKwl0eXBlIERQX01TQV9IVE9UQUw7XAorCXR5cGUgRFBfTVNBX1ZUT1RBTDtcCisJdHlwZSBE UF9NU0FfSFNUQVJUO1wKKwl0eXBlIERQX01TQV9WU1RBUlQ7XAorCXR5cGUgRFBfTVNBX0hTWU5D V0lEVEg7XAorCXR5cGUgRFBfTVNBX0hTWU5DUE9MQVJJVFk7XAorCXR5cGUgRFBfTVNBX1ZTWU5D V0lEVEg7XAorCXR5cGUgRFBfTVNBX1ZTWU5DUE9MQVJJVFk7XAorCXR5cGUgRFBfTVNBX0hXSURU SDtcCisJdHlwZSBEUF9NU0FfVkhFSUdIVDtcCisJdHlwZSBIRE1JX0RCX0RJU0FCTEU7XAorCXR5 cGUgRFBfVklEX05fTVVMO1wKKwl0eXBlIERQX1ZJRF9NX0RPVUJMRV9WQUxVRV9FTgorCiBzdHJ1 Y3QgZGNuMTBfc3RyZWFtX2VuY29kZXJfc2hpZnQgewotCXVpbnQ4X3QgQUZNVF9HRU5FUklDX0lO REVYOwotCXVpbnQ4X3QgQUZNVF9HRU5FUklDX0hCMDsKLQl1aW50OF90IEFGTVRfR0VORVJJQ19I QjE7Ci0JdWludDhfdCBBRk1UX0dFTkVSSUNfSEIyOwotCXVpbnQ4X3QgQUZNVF9HRU5FUklDX0hC MzsKLQl1aW50OF90IEFGTVRfR0VORVJJQ19MT0NLX1NUQVRVUzsKLQl1aW50OF90IEFGTVRfR0VO RVJJQ19DT05GTElDVDsKLQl1aW50OF90IEFGTVRfR0VORVJJQ19DT05GTElDVF9DTFI7Ci0JdWlu dDhfdCBBRk1UX0dFTkVSSUMwX0ZSQU1FX1VQREFURV9QRU5ESU5HOwotCXVpbnQ4X3QgQUZNVF9H RU5FUklDMV9GUkFNRV9VUERBVEVfUEVORElORzsKLQl1aW50OF90IEFGTVRfR0VORVJJQzJfRlJB TUVfVVBEQVRFX1BFTkRJTkc7Ci0JdWludDhfdCBBRk1UX0dFTkVSSUMzX0ZSQU1FX1VQREFURV9Q RU5ESU5HOwotCXVpbnQ4X3QgQUZNVF9HRU5FUklDNF9GUkFNRV9VUERBVEVfUEVORElORzsKLQl1 aW50OF90IEFGTVRfR0VORVJJQzVfRlJBTUVfVVBEQVRFX1BFTkRJTkc7Ci0JdWludDhfdCBBRk1U X0dFTkVSSUM2X0ZSQU1FX1VQREFURV9QRU5ESU5HOwotCXVpbnQ4X3QgQUZNVF9HRU5FUklDN19G UkFNRV9VUERBVEVfUEVORElORzsKLQl1aW50OF90IEFGTVRfR0VORVJJQzBfRlJBTUVfVVBEQVRF OwotCXVpbnQ4X3QgQUZNVF9HRU5FUklDMV9GUkFNRV9VUERBVEU7Ci0JdWludDhfdCBBRk1UX0dF TkVSSUMyX0ZSQU1FX1VQREFURTsKLQl1aW50OF90IEFGTVRfR0VORVJJQzNfRlJBTUVfVVBEQVRF OwotCXVpbnQ4X3QgQUZNVF9HRU5FUklDNF9GUkFNRV9VUERBVEU7Ci0JdWludDhfdCBBRk1UX0dF TkVSSUM1X0ZSQU1FX1VQREFURTsKLQl1aW50OF90IEFGTVRfR0VORVJJQzZfRlJBTUVfVVBEQVRF OwotCXVpbnQ4X3QgQUZNVF9HRU5FUklDN19GUkFNRV9VUERBVEU7Ci0JdWludDhfdCBIRE1JX0dF TkVSSUMwX0NPTlQ7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUMwX1NFTkQ7Ci0JdWludDhfdCBIRE1J X0dFTkVSSUMwX0xJTkU7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUMxX0NPTlQ7Ci0JdWludDhfdCBI RE1JX0dFTkVSSUMxX1NFTkQ7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUMxX0xJTkU7Ci0JdWludDhf dCBIRE1JX0dFTkVSSUMyX0NPTlQ7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUMyX1NFTkQ7Ci0JdWlu dDhfdCBIRE1JX0dFTkVSSUMyX0xJTkU7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUMzX0NPTlQ7Ci0J dWludDhfdCBIRE1JX0dFTkVSSUMzX1NFTkQ7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUMzX0xJTkU7 Ci0JdWludDhfdCBIRE1JX0dFTkVSSUM0X0NPTlQ7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUM0X1NF TkQ7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUM0X0xJTkU7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUM1 X0NPTlQ7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUM1X1NFTkQ7Ci0JdWludDhfdCBIRE1JX0dFTkVS SUM1X0xJTkU7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUM2X0NPTlQ7Ci0JdWludDhfdCBIRE1JX0dF TkVSSUM2X1NFTkQ7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUM2X0xJTkU7Ci0JdWludDhfdCBIRE1J X0dFTkVSSUM3X0NPTlQ7Ci0JdWludDhfdCBIRE1JX0dFTkVSSUM3X1NFTkQ7Ci0JdWludDhfdCBI RE1JX0dFTkVSSUM3X0xJTkU7Ci0JdWludDhfdCBEUF9QSVhFTF9FTkNPRElORzsKLQl1aW50OF90 IERQX0NPTVBPTkVOVF9ERVBUSDsKLQl1aW50OF90IEhETUlfUEFDS0VUX0dFTl9WRVJTSU9OOwot CXVpbnQ4X3QgSERNSV9LRUVQT1VUX01PREU7Ci0JdWludDhfdCBIRE1JX0RFRVBfQ09MT1JfRU5B QkxFOwotCXVpbnQ4X3QgSERNSV9DTE9DS19DSEFOTkVMX1JBVEU7Ci0JdWludDhfdCBIRE1JX0RF RVBfQ09MT1JfREVQVEg7Ci0JdWludDhfdCBIRE1JX0dDX0NPTlQ7Ci0JdWludDhfdCBIRE1JX0dD X1NFTkQ7Ci0JdWludDhfdCBIRE1JX05VTExfU0VORDsKLQl1aW50OF90IEhETUlfREFUQV9TQ1JB TUJMRV9FTjsKLQl1aW50OF90IEhETUlfQVVESU9fSU5GT19TRU5EOwotCXVpbnQ4X3QgQUZNVF9B VURJT19JTkZPX1VQREFURTsKLQl1aW50OF90IEhETUlfQVVESU9fSU5GT19MSU5FOwotCXVpbnQ4 X3QgSERNSV9HQ19BVk1VVEU7Ci0JdWludDhfdCBEUF9NU0VfUkFURV9YOwotCXVpbnQ4X3QgRFBf TVNFX1JBVEVfWTsKLQl1aW50OF90IERQX01TRV9SQVRFX1VQREFURV9QRU5ESU5HOwotCXVpbnQ4 X3QgRFBfU0VDX0dTUDBfRU5BQkxFOwotCXVpbnQ4X3QgRFBfU0VDX1NUUkVBTV9FTkFCTEU7Ci0J dWludDhfdCBEUF9TRUNfR1NQMV9FTkFCTEU7Ci0JdWludDhfdCBEUF9TRUNfR1NQMl9FTkFCTEU7 Ci0JdWludDhfdCBEUF9TRUNfR1NQM19FTkFCTEU7Ci0JdWludDhfdCBEUF9TRUNfR1NQNF9FTkFC TEU7Ci0JdWludDhfdCBEUF9TRUNfR1NQNV9FTkFCTEU7Ci0JdWludDhfdCBEUF9TRUNfR1NQNl9F TkFCTEU7Ci0JdWludDhfdCBEUF9TRUNfR1NQN19FTkFCTEU7Ci0JdWludDhfdCBEUF9TRUNfTVBH X0VOQUJMRTsKLQl1aW50OF90IERQX1ZJRF9TVFJFQU1fRElTX0RFRkVSOwotCXVpbnQ4X3QgRFBf VklEX1NUUkVBTV9FTkFCTEU7Ci0JdWludDhfdCBEUF9WSURfU1RSRUFNX1NUQVRVUzsKLQl1aW50 OF90IERQX1NURUVSX0ZJRk9fUkVTRVQ7Ci0JdWludDhfdCBEUF9WSURfTV9OX0dFTl9FTjsKLQl1 aW50OF90IERQX1ZJRF9OOwotCXVpbnQ4X3QgRFBfVklEX007Ci0JdWludDhfdCBESUdfU1RBUlQ7 Ci0JdWludDhfdCBBRk1UX0FVRElPX1NSQ19TRUxFQ1Q7Ci0JdWludDhfdCBBRk1UX0FVRElPX0NI QU5ORUxfRU5BQkxFOwotCXVpbnQ4X3QgSERNSV9BVURJT19QQUNLRVRTX1BFUl9MSU5FOwotCXVp bnQ4X3QgSERNSV9BVURJT19ERUxBWV9FTjsKLQl1aW50OF90IEFGTVRfNjA5NThfQ1NfVVBEQVRF OwotCXVpbnQ4X3QgQUZNVF9BVURJT19MQVlPVVRfT1ZSRDsKLQl1aW50OF90IEFGTVRfNjA5NThf T1NGX09WUkQ7Ci0JdWludDhfdCBIRE1JX0FDUl9BVVRPX1NFTkQ7Ci0JdWludDhfdCBIRE1JX0FD Ul9TT1VSQ0U7Ci0JdWludDhfdCBIRE1JX0FDUl9BVURJT19QUklPUklUWTsKLQl1aW50OF90IEhE TUlfQUNSX0NUU18zMjsKLQl1aW50OF90IEhETUlfQUNSX05fMzI7Ci0JdWludDhfdCBIRE1JX0FD Ul9DVFNfNDQ7Ci0JdWludDhfdCBIRE1JX0FDUl9OXzQ0OwotCXVpbnQ4X3QgSERNSV9BQ1JfQ1RT XzQ4OwotCXVpbnQ4X3QgSERNSV9BQ1JfTl80ODsKLQl1aW50OF90IEFGTVRfNjA5NThfQ1NfQ0hB Tk5FTF9OVU1CRVJfTDsKLQl1aW50OF90IEFGTVRfNjA5NThfQ1NfQ0xPQ0tfQUNDVVJBQ1k7Ci0J dWludDhfdCBBRk1UXzYwOTU4X0NTX0NIQU5ORUxfTlVNQkVSX1I7Ci0JdWludDhfdCBBRk1UXzYw OTU4X0NTX0NIQU5ORUxfTlVNQkVSXzI7Ci0JdWludDhfdCBBRk1UXzYwOTU4X0NTX0NIQU5ORUxf TlVNQkVSXzM7Ci0JdWludDhfdCBBRk1UXzYwOTU4X0NTX0NIQU5ORUxfTlVNQkVSXzQ7Ci0JdWlu dDhfdCBBRk1UXzYwOTU4X0NTX0NIQU5ORUxfTlVNQkVSXzU7Ci0JdWludDhfdCBBRk1UXzYwOTU4 X0NTX0NIQU5ORUxfTlVNQkVSXzY7Ci0JdWludDhfdCBBRk1UXzYwOTU4X0NTX0NIQU5ORUxfTlVN QkVSXzc7Ci0JdWludDhfdCBEUF9TRUNfQVVEX047Ci0JdWludDhfdCBEUF9TRUNfVElNRVNUQU1Q X01PREU7Ci0JdWludDhfdCBEUF9TRUNfQVNQX0VOQUJMRTsKLQl1aW50OF90IERQX1NFQ19BVFBf RU5BQkxFOwotCXVpbnQ4X3QgRFBfU0VDX0FJUF9FTkFCTEU7Ci0JdWludDhfdCBEUF9TRUNfQUNN X0VOQUJMRTsKLQl1aW50OF90IEFGTVRfQVVESU9fU0FNUExFX1NFTkQ7Ci0JdWludDhfdCBBRk1U X0FVRElPX0NMT0NLX0VOOwotCXVpbnQ4X3QgVE1EU19QSVhFTF9FTkNPRElORzsKLQl1aW50OF90 IFRNRFNfQ09MT1JfRk9STUFUOwotCXVpbnQ4X3QgRElHX1NURVJFT1NZTkNfU0VMRUNUOwotCXVp bnQ4X3QgRElHX1NURVJFT1NZTkNfR0FURV9FTjsKLQl1aW50OF90IERQX0RCX0RJU0FCTEU7Ci0J dWludDhfdCBEUF9NU0FfTUlTQzA7Ci0JdWludDhfdCBEUF9NU0FfSFRPVEFMOwotCXVpbnQ4X3Qg RFBfTVNBX1ZUT1RBTDsKLQl1aW50OF90IERQX01TQV9IU1RBUlQ7Ci0JdWludDhfdCBEUF9NU0Ff VlNUQVJUOwotCXVpbnQ4X3QgRFBfTVNBX0hTWU5DV0lEVEg7Ci0JdWludDhfdCBEUF9NU0FfSFNZ TkNQT0xBUklUWTsKLQl1aW50OF90IERQX01TQV9WU1lOQ1dJRFRIOwotCXVpbnQ4X3QgRFBfTVNB X1ZTWU5DUE9MQVJJVFk7Ci0JdWludDhfdCBEUF9NU0FfSFdJRFRIOwotCXVpbnQ4X3QgRFBfTVNB X1ZIRUlHSFQ7Ci0JdWludDhfdCBIRE1JX0RCX0RJU0FCTEU7Ci0JdWludDhfdCBEUF9WSURfTl9N VUw7Ci0JdWludDhfdCBEUF9WSURfTV9ET1VCTEVfVkFMVUVfRU47CisJU0VfUkVHX0ZJRUxEX0xJ U1RfRENOMV8wKHVpbnQ4X3QpOwogfTsKIAogc3RydWN0IGRjbjEwX3N0cmVhbV9lbmNvZGVyX21h c2sgewotCXVpbnQzMl90IEFGTVRfR0VORVJJQ19JTkRFWDsKLQl1aW50MzJfdCBBRk1UX0dFTkVS SUNfSEIwOwotCXVpbnQzMl90IEFGTVRfR0VORVJJQ19IQjE7Ci0JdWludDMyX3QgQUZNVF9HRU5F UklDX0hCMjsKLQl1aW50MzJfdCBBRk1UX0dFTkVSSUNfSEIzOwotCXVpbnQzMl90IEFGTVRfR0VO RVJJQ19MT0NLX1NUQVRVUzsKLQl1aW50MzJfdCBBRk1UX0dFTkVSSUNfQ09ORkxJQ1Q7Ci0JdWlu dDMyX3QgQUZNVF9HRU5FUklDX0NPTkZMSUNUX0NMUjsKLQl1aW50MzJfdCBBRk1UX0dFTkVSSUMw X0ZSQU1FX1VQREFURV9QRU5ESU5HOwotCXVpbnQzMl90IEFGTVRfR0VORVJJQzFfRlJBTUVfVVBE QVRFX1BFTkRJTkc7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDMl9GUkFNRV9VUERBVEVfUEVORElO RzsKLQl1aW50MzJfdCBBRk1UX0dFTkVSSUMzX0ZSQU1FX1VQREFURV9QRU5ESU5HOwotCXVpbnQz Ml90IEFGTVRfR0VORVJJQzRfRlJBTUVfVVBEQVRFX1BFTkRJTkc7Ci0JdWludDMyX3QgQUZNVF9H RU5FUklDNV9GUkFNRV9VUERBVEVfUEVORElORzsKLQl1aW50MzJfdCBBRk1UX0dFTkVSSUM2X0ZS QU1FX1VQREFURV9QRU5ESU5HOwotCXVpbnQzMl90IEFGTVRfR0VORVJJQzdfRlJBTUVfVVBEQVRF X1BFTkRJTkc7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDMF9GUkFNRV9VUERBVEU7Ci0JdWludDMy X3QgQUZNVF9HRU5FUklDMV9GUkFNRV9VUERBVEU7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDMl9G UkFNRV9VUERBVEU7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDM19GUkFNRV9VUERBVEU7Ci0JdWlu dDMyX3QgQUZNVF9HRU5FUklDNF9GUkFNRV9VUERBVEU7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklD NV9GUkFNRV9VUERBVEU7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDNl9GUkFNRV9VUERBVEU7Ci0J dWludDMyX3QgQUZNVF9HRU5FUklDN19GUkFNRV9VUERBVEU7Ci0JdWludDMyX3QgSERNSV9HRU5F UklDMF9DT05UOwotCXVpbnQzMl90IEhETUlfR0VORVJJQzBfU0VORDsKLQl1aW50MzJfdCBIRE1J X0dFTkVSSUMwX0xJTkU7Ci0JdWludDMyX3QgSERNSV9HRU5FUklDMV9DT05UOwotCXVpbnQzMl90 IEhETUlfR0VORVJJQzFfU0VORDsKLQl1aW50MzJfdCBIRE1JX0dFTkVSSUMxX0xJTkU7Ci0JdWlu dDMyX3QgSERNSV9HRU5FUklDMl9DT05UOwotCXVpbnQzMl90IEhETUlfR0VORVJJQzJfU0VORDsK LQl1aW50MzJfdCBIRE1JX0dFTkVSSUMyX0xJTkU7Ci0JdWludDMyX3QgSERNSV9HRU5FUklDM19D T05UOwotCXVpbnQzMl90IEhETUlfR0VORVJJQzNfU0VORDsKLQl1aW50MzJfdCBIRE1JX0dFTkVS SUMzX0xJTkU7Ci0JdWludDMyX3QgSERNSV9HRU5FUklDNF9DT05UOwotCXVpbnQzMl90IEhETUlf R0VORVJJQzRfU0VORDsKLQl1aW50MzJfdCBIRE1JX0dFTkVSSUM0X0xJTkU7Ci0JdWludDMyX3Qg SERNSV9HRU5FUklDNV9DT05UOwotCXVpbnQzMl90IEhETUlfR0VORVJJQzVfU0VORDsKLQl1aW50 MzJfdCBIRE1JX0dFTkVSSUM1X0xJTkU7Ci0JdWludDMyX3QgSERNSV9HRU5FUklDNl9DT05UOwot CXVpbnQzMl90IEhETUlfR0VORVJJQzZfU0VORDsKLQl1aW50MzJfdCBIRE1JX0dFTkVSSUM2X0xJ TkU7Ci0JdWludDMyX3QgSERNSV9HRU5FUklDN19DT05UOwotCXVpbnQzMl90IEhETUlfR0VORVJJ QzdfU0VORDsKLQl1aW50MzJfdCBIRE1JX0dFTkVSSUM3X0xJTkU7Ci0JdWludDMyX3QgRFBfUElY RUxfRU5DT0RJTkc7Ci0JdWludDMyX3QgRFBfQ09NUE9ORU5UX0RFUFRIOwotCXVpbnQzMl90IEhE TUlfUEFDS0VUX0dFTl9WRVJTSU9OOwotCXVpbnQzMl90IEhETUlfS0VFUE9VVF9NT0RFOwotCXVp bnQzMl90IEhETUlfREVFUF9DT0xPUl9FTkFCTEU7Ci0JdWludDMyX3QgSERNSV9DTE9DS19DSEFO TkVMX1JBVEU7Ci0JdWludDMyX3QgSERNSV9ERUVQX0NPTE9SX0RFUFRIOwotCXVpbnQzMl90IEhE TUlfR0NfQ09OVDsKLQl1aW50MzJfdCBIRE1JX0dDX1NFTkQ7Ci0JdWludDMyX3QgSERNSV9OVUxM X1NFTkQ7Ci0JdWludDMyX3QgSERNSV9EQVRBX1NDUkFNQkxFX0VOOwotCXVpbnQzMl90IEhETUlf QVVESU9fSU5GT19TRU5EOwotCXVpbnQzMl90IEFGTVRfQVVESU9fSU5GT19VUERBVEU7Ci0JdWlu dDMyX3QgSERNSV9BVURJT19JTkZPX0xJTkU7Ci0JdWludDMyX3QgSERNSV9HQ19BVk1VVEU7Ci0J dWludDMyX3QgRFBfTVNFX1JBVEVfWDsKLQl1aW50MzJfdCBEUF9NU0VfUkFURV9ZOwotCXVpbnQz Ml90IERQX01TRV9SQVRFX1VQREFURV9QRU5ESU5HOwotCXVpbnQzMl90IERQX1NFQ19HU1AwX0VO QUJMRTsKLQl1aW50MzJfdCBEUF9TRUNfU1RSRUFNX0VOQUJMRTsKLQl1aW50MzJfdCBEUF9TRUNf R1NQMV9FTkFCTEU7Ci0JdWludDMyX3QgRFBfU0VDX0dTUDJfRU5BQkxFOwotCXVpbnQzMl90IERQ X1NFQ19HU1AzX0VOQUJMRTsKLQl1aW50MzJfdCBEUF9TRUNfR1NQNF9FTkFCTEU7Ci0JdWludDMy X3QgRFBfU0VDX0dTUDVfRU5BQkxFOwotCXVpbnQzMl90IERQX1NFQ19HU1A2X0VOQUJMRTsKLQl1 aW50MzJfdCBEUF9TRUNfR1NQN19FTkFCTEU7Ci0JdWludDMyX3QgRFBfU0VDX01QR19FTkFCTEU7 Ci0JdWludDMyX3QgRFBfVklEX1NUUkVBTV9ESVNfREVGRVI7Ci0JdWludDMyX3QgRFBfVklEX1NU UkVBTV9FTkFCTEU7Ci0JdWludDMyX3QgRFBfVklEX1NUUkVBTV9TVEFUVVM7Ci0JdWludDMyX3Qg RFBfU1RFRVJfRklGT19SRVNFVDsKLQl1aW50MzJfdCBEUF9WSURfTV9OX0dFTl9FTjsKLQl1aW50 MzJfdCBEUF9WSURfTjsKLQl1aW50MzJfdCBEUF9WSURfTTsKLQl1aW50MzJfdCBESUdfU1RBUlQ7 Ci0JdWludDMyX3QgQUZNVF9BVURJT19TUkNfU0VMRUNUOwotCXVpbnQzMl90IEFGTVRfQVVESU9f Q0hBTk5FTF9FTkFCTEU7Ci0JdWludDMyX3QgSERNSV9BVURJT19QQUNLRVRTX1BFUl9MSU5FOwot CXVpbnQzMl90IEhETUlfQVVESU9fREVMQVlfRU47Ci0JdWludDMyX3QgQUZNVF82MDk1OF9DU19V UERBVEU7Ci0JdWludDMyX3QgQUZNVF9BVURJT19MQVlPVVRfT1ZSRDsKLQl1aW50MzJfdCBBRk1U XzYwOTU4X09TRl9PVlJEOwotCXVpbnQzMl90IEhETUlfQUNSX0FVVE9fU0VORDsKLQl1aW50MzJf dCBIRE1JX0FDUl9TT1VSQ0U7Ci0JdWludDMyX3QgSERNSV9BQ1JfQVVESU9fUFJJT1JJVFk7Ci0J dWludDMyX3QgSERNSV9BQ1JfQ1RTXzMyOwotCXVpbnQzMl90IEhETUlfQUNSX05fMzI7Ci0JdWlu dDMyX3QgSERNSV9BQ1JfQ1RTXzQ0OwotCXVpbnQzMl90IEhETUlfQUNSX05fNDQ7Ci0JdWludDMy X3QgSERNSV9BQ1JfQ1RTXzQ4OwotCXVpbnQzMl90IEhETUlfQUNSX05fNDg7Ci0JdWludDMyX3Qg QUZNVF82MDk1OF9DU19DSEFOTkVMX05VTUJFUl9MOwotCXVpbnQzMl90IEFGTVRfNjA5NThfQ1Nf Q0xPQ0tfQUNDVVJBQ1k7Ci0JdWludDMyX3QgQUZNVF82MDk1OF9DU19DSEFOTkVMX05VTUJFUl9S OwotCXVpbnQzMl90IEFGTVRfNjA5NThfQ1NfQ0hBTk5FTF9OVU1CRVJfMjsKLQl1aW50MzJfdCBB Rk1UXzYwOTU4X0NTX0NIQU5ORUxfTlVNQkVSXzM7Ci0JdWludDMyX3QgQUZNVF82MDk1OF9DU19D SEFOTkVMX05VTUJFUl80OwotCXVpbnQzMl90IEFGTVRfNjA5NThfQ1NfQ0hBTk5FTF9OVU1CRVJf NTsKLQl1aW50MzJfdCBBRk1UXzYwOTU4X0NTX0NIQU5ORUxfTlVNQkVSXzY7Ci0JdWludDMyX3Qg QUZNVF82MDk1OF9DU19DSEFOTkVMX05VTUJFUl83OwotCXVpbnQzMl90IERQX1NFQ19BVURfTjsK LQl1aW50MzJfdCBEUF9TRUNfVElNRVNUQU1QX01PREU7Ci0JdWludDMyX3QgRFBfU0VDX0FTUF9F TkFCTEU7Ci0JdWludDMyX3QgRFBfU0VDX0FUUF9FTkFCTEU7Ci0JdWludDMyX3QgRFBfU0VDX0FJ UF9FTkFCTEU7Ci0JdWludDMyX3QgRFBfU0VDX0FDTV9FTkFCTEU7Ci0JdWludDMyX3QgQUZNVF9B VURJT19TQU1QTEVfU0VORDsKLQl1aW50MzJfdCBBRk1UX0FVRElPX0NMT0NLX0VOOwotCXVpbnQz Ml90IFRNRFNfUElYRUxfRU5DT0RJTkc7Ci0JdWludDMyX3QgRElHX1NURVJFT1NZTkNfU0VMRUNU OwotCXVpbnQzMl90IERJR19TVEVSRU9TWU5DX0dBVEVfRU47Ci0JdWludDMyX3QgVE1EU19DT0xP Ul9GT1JNQVQ7Ci0JdWludDMyX3QgRFBfREJfRElTQUJMRTsKLQl1aW50MzJfdCBEUF9NU0FfTUlT QzA7Ci0JdWludDMyX3QgRFBfTVNBX0hUT1RBTDsKLQl1aW50MzJfdCBEUF9NU0FfVlRPVEFMOwot CXVpbnQzMl90IERQX01TQV9IU1RBUlQ7Ci0JdWludDMyX3QgRFBfTVNBX1ZTVEFSVDsKLQl1aW50 MzJfdCBEUF9NU0FfSFNZTkNXSURUSDsKLQl1aW50MzJfdCBEUF9NU0FfSFNZTkNQT0xBUklUWTsK LQl1aW50MzJfdCBEUF9NU0FfVlNZTkNXSURUSDsKLQl1aW50MzJfdCBEUF9NU0FfVlNZTkNQT0xB UklUWTsKLQl1aW50MzJfdCBEUF9NU0FfSFdJRFRIOwotCXVpbnQzMl90IERQX01TQV9WSEVJR0hU OwotCXVpbnQzMl90IEhETUlfREJfRElTQUJMRTsKLQl1aW50MzJfdCBEUF9WSURfTl9NVUw7Ci0J dWludDMyX3QgRFBfVklEX01fRE9VQkxFX1ZBTFVFX0VOOwotfTsKLQotc3RydWN0IGRjbjEwX3N0 cmVhbV9lbmNfcmVnaXN0ZXJzIHsKLQl1aW50MzJfdCBBRk1UX0NOVEw7Ci0JdWludDMyX3QgQUZN VF9BVklfSU5GTzA7Ci0JdWludDMyX3QgQUZNVF9BVklfSU5GTzE7Ci0JdWludDMyX3QgQUZNVF9B VklfSU5GTzI7Ci0JdWludDMyX3QgQUZNVF9BVklfSU5GTzM7Ci0JdWludDMyX3QgQUZNVF9HRU5F UklDXzA7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDXzE7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklD XzI7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDXzM7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDXzQ7 Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDXzU7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDXzY7Ci0J dWludDMyX3QgQUZNVF9HRU5FUklDXzc7Ci0JdWludDMyX3QgQUZNVF9HRU5FUklDX0hEUjsKLQl1 aW50MzJfdCBBRk1UX0lORk9GUkFNRV9DT05UUk9MMDsKLQl1aW50MzJfdCBBRk1UX1ZCSV9QQUNL RVRfQ09OVFJPTDsKLQl1aW50MzJfdCBBRk1UX1ZCSV9QQUNLRVRfQ09OVFJPTDE7Ci0JdWludDMy X3QgQUZNVF9BVURJT19QQUNLRVRfQ09OVFJPTDsKLQl1aW50MzJfdCBBRk1UX0FVRElPX1BBQ0tF VF9DT05UUk9MMjsKLQl1aW50MzJfdCBBRk1UX0FVRElPX1NSQ19DT05UUk9MOwotCXVpbnQzMl90 IEFGTVRfNjA5NThfMDsKLQl1aW50MzJfdCBBRk1UXzYwOTU4XzE7Ci0JdWludDMyX3QgQUZNVF82 MDk1OF8yOwotCXVpbnQzMl90IERJR19GRV9DTlRMOwotCXVpbnQzMl90IERQX01TRV9SQVRFX0NO VEw7Ci0JdWludDMyX3QgRFBfTVNFX1JBVEVfVVBEQVRFOwotCXVpbnQzMl90IERQX1BJWEVMX0ZP Uk1BVDsKLQl1aW50MzJfdCBEUF9TRUNfQ05UTDsKLQl1aW50MzJfdCBEUF9TVEVFUl9GSUZPOwot CXVpbnQzMl90IERQX1ZJRF9NOwotCXVpbnQzMl90IERQX1ZJRF9OOwotCXVpbnQzMl90IERQX1ZJ RF9TVFJFQU1fQ05UTDsKLQl1aW50MzJfdCBEUF9WSURfVElNSU5HOwotCXVpbnQzMl90IERQX1NF Q19BVURfTjsKLQl1aW50MzJfdCBEUF9TRUNfVElNRVNUQU1QOwotCXVpbnQzMl90IEhETUlfQ09O VFJPTDsKLQl1aW50MzJfdCBIRE1JX0dDOwotCXVpbnQzMl90IEhETUlfR0VORVJJQ19QQUNLRVRf Q09OVFJPTDA7Ci0JdWludDMyX3QgSERNSV9HRU5FUklDX1BBQ0tFVF9DT05UUk9MMTsKLQl1aW50 MzJfdCBIRE1JX0dFTkVSSUNfUEFDS0VUX0NPTlRST0wyOwotCXVpbnQzMl90IEhETUlfR0VORVJJ Q19QQUNLRVRfQ09OVFJPTDM7Ci0JdWludDMyX3QgSERNSV9HRU5FUklDX1BBQ0tFVF9DT05UUk9M NDsKLQl1aW50MzJfdCBIRE1JX0dFTkVSSUNfUEFDS0VUX0NPTlRST0w1OwotCXVpbnQzMl90IEhE TUlfSU5GT0ZSQU1FX0NPTlRST0wwOwotCXVpbnQzMl90IEhETUlfSU5GT0ZSQU1FX0NPTlRST0wx OwotCXVpbnQzMl90IEhETUlfVkJJX1BBQ0tFVF9DT05UUk9MOwotCXVpbnQzMl90IEhETUlfQVVE SU9fUEFDS0VUX0NPTlRST0w7Ci0JdWludDMyX3QgSERNSV9BQ1JfUEFDS0VUX0NPTlRST0w7Ci0J dWludDMyX3QgSERNSV9BQ1JfMzJfMDsKLQl1aW50MzJfdCBIRE1JX0FDUl8zMl8xOwotCXVpbnQz Ml90IEhETUlfQUNSXzQ0XzA7Ci0JdWludDMyX3QgSERNSV9BQ1JfNDRfMTsKLQl1aW50MzJfdCBI RE1JX0FDUl80OF8wOwotCXVpbnQzMl90IEhETUlfQUNSXzQ4XzE7Ci0JdWludDMyX3QgVE1EU19D TlRMOwotCXVpbnQzMl90IERQX0RCX0NOVEw7Ci0JdWludDMyX3QgRFBfTVNBX01JU0M7Ci0JdWlu dDMyX3QgRFBfTVNBX0NPTE9SSU1FVFJZOwotCXVpbnQzMl90IERQX01TQV9USU1JTkdfUEFSQU0x OwotCXVpbnQzMl90IERQX01TQV9USU1JTkdfUEFSQU0yOwotCXVpbnQzMl90IERQX01TQV9USU1J TkdfUEFSQU0zOwotCXVpbnQzMl90IERQX01TQV9USU1JTkdfUEFSQU00OwotCXVpbnQzMl90IEhE TUlfREJfQ09OVFJPTDsKKwlTRV9SRUdfRklFTERfTElTVF9EQ04xXzAodWludDMyX3QpOwogfTsK IAogc3RydWN0IGRjbjEwX3N0cmVhbV9lbmNvZGVyIHsKQEAgLTU4MSw0ICs0NTAsNzUgQEAgdm9p ZCBkY24xMF9zdHJlYW1fZW5jb2Rlcl9jb25zdHJ1Y3QoCiAJY29uc3Qgc3RydWN0IGRjbjEwX3N0 cmVhbV9lbmNvZGVyX3NoaWZ0ICpzZV9zaGlmdCwKIAljb25zdCBzdHJ1Y3QgZGNuMTBfc3RyZWFt X2VuY29kZXJfbWFzayAqc2VfbWFzayk7CiAKK3ZvaWQgZW5jMV91cGRhdGVfZ2VuZXJpY19pbmZv X3BhY2tldCgKKwlzdHJ1Y3QgZGNuMTBfc3RyZWFtX2VuY29kZXIgKmVuYzEsCisJdWludDMyX3Qg cGFja2V0X2luZGV4LAorCWNvbnN0IHN0cnVjdCBkY19pbmZvX3BhY2tldCAqaW5mb19wYWNrZXQp OworCit2b2lkIGVuYzFfc3RyZWFtX2VuY29kZXJfZHBfc2V0X3N0cmVhbV9hdHRyaWJ1dGUoCisJ c3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMsCisJc3RydWN0IGRjX2NydGNfdGltaW5nICpjcnRj X3RpbWluZywKKwllbnVtIGRjX2NvbG9yX3NwYWNlIG91dHB1dF9jb2xvcl9zcGFjZSk7CisKK3Zv aWQgZW5jMV9zdHJlYW1fZW5jb2Rlcl9oZG1pX3NldF9zdHJlYW1fYXR0cmlidXRlKAorCXN0cnVj dCBzdHJlYW1fZW5jb2RlciAqZW5jLAorCXN0cnVjdCBkY19jcnRjX3RpbWluZyAqY3J0Y190aW1p bmcsCisJaW50IGFjdHVhbF9waXhfY2xrX2toeiwKKwlib29sIGVuYWJsZV9hdWRpbyk7CisKK3Zv aWQgZW5jMV9zdHJlYW1fZW5jb2Rlcl9kdmlfc2V0X3N0cmVhbV9hdHRyaWJ1dGUoCisJc3RydWN0 IHN0cmVhbV9lbmNvZGVyICplbmMsCisJc3RydWN0IGRjX2NydGNfdGltaW5nICpjcnRjX3RpbWlu ZywKKwlib29sIGlzX2R1YWxfbGluayk7CisKK3ZvaWQgZW5jMV9zdHJlYW1fZW5jb2Rlcl9zZXRf bXN0X2JhbmR3aWR0aCgKKwlzdHJ1Y3Qgc3RyZWFtX2VuY29kZXIgKmVuYywKKwlzdHJ1Y3QgZml4 ZWQzMV8zMiBhdmdfdGltZV9zbG90c19wZXJfbXRwKTsKKwordm9pZCBlbmMxX3N0cmVhbV9lbmNv ZGVyX3VwZGF0ZV9kcF9pbmZvX3BhY2tldHMoCisJc3RydWN0IHN0cmVhbV9lbmNvZGVyICplbmMs CisJY29uc3Qgc3RydWN0IGVuY29kZXJfaW5mb19mcmFtZSAqaW5mb19mcmFtZSk7CisKK3ZvaWQg ZW5jMV9zdHJlYW1fZW5jb2Rlcl9zdG9wX2RwX2luZm9fcGFja2V0cygKKwlzdHJ1Y3Qgc3RyZWFt X2VuY29kZXIgKmVuYyk7CisKK3ZvaWQgZW5jMV9zdHJlYW1fZW5jb2Rlcl9kcF9ibGFuaygKKwlz dHJ1Y3Qgc3RyZWFtX2VuY29kZXIgKmVuYyk7CisKK3ZvaWQgZW5jMV9zdHJlYW1fZW5jb2Rlcl9k cF91bmJsYW5rKAorCXN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5jLAorCWNvbnN0IHN0cnVjdCBl bmNvZGVyX3VuYmxhbmtfcGFyYW0gKnBhcmFtKTsKKwordm9pZCBlbmMxX3NldHVwX3N0ZXJlb19z eW5jKAorCXN0cnVjdCBzdHJlYW1fZW5jb2RlciAqZW5jLAorCWludCB0Z19pbnN0LCBib29sIGVu YWJsZSk7CisKK3ZvaWQgZW5jMV9zdHJlYW1fZW5jb2Rlcl9zZXRfYXZtdXRlKAorCXN0cnVjdCBz dHJlYW1fZW5jb2RlciAqZW5jLAorCWJvb2wgZW5hYmxlKTsKKwordm9pZCBlbmMxX3NlX2F1ZGlv X211dGVfY29udHJvbCgKKwlzdHJ1Y3Qgc3RyZWFtX2VuY29kZXIgKmVuYywKKwlib29sIG11dGUp OworCit2b2lkIGVuYzFfc2VfZHBfYXVkaW9fc2V0dXAoCisJc3RydWN0IHN0cmVhbV9lbmNvZGVy ICplbmMsCisJdW5zaWduZWQgaW50IGF6X2luc3QsCisJc3RydWN0IGF1ZGlvX2luZm8gKmluZm8p OworCit2b2lkIGVuYzFfc2VfZHBfYXVkaW9fZW5hYmxlKAorCXN0cnVjdCBzdHJlYW1fZW5jb2Rl ciAqZW5jKTsKKwordm9pZCBlbmMxX3NlX2RwX2F1ZGlvX2Rpc2FibGUoCisJc3RydWN0IHN0cmVh bV9lbmNvZGVyICplbmMpOworCit2b2lkIGVuYzFfc2VfaGRtaV9hdWRpb19zZXR1cCgKKwlzdHJ1 Y3Qgc3RyZWFtX2VuY29kZXIgKmVuYywKKwl1bnNpZ25lZCBpbnQgYXpfaW5zdCwKKwlzdHJ1Y3Qg YXVkaW9faW5mbyAqaW5mbywKKwlzdHJ1Y3QgYXVkaW9fY3J0Y19pbmZvICphdWRpb19jcnRjX2lu Zm8pOworCit2b2lkIGVuYzFfc2VfaGRtaV9hdWRpb19kaXNhYmxlKAorCXN0cnVjdCBzdHJlYW1f ZW5jb2RlciAqZW5jKTsKKwogI2VuZGlmIC8qIF9fRENfU1RSRUFNX0VOQ09ERVJfRENOMTBfSF9f ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2h3 X3NoYXJlZC5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9od19zaGFy ZWQuaAppbmRleCAwMTVlMjA5ZTU4YmMuLjkzZGE0NDUyN2QyZSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2luYy9ody9od19zaGFyZWQuaAorKysgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2Rpc3BsYXkvZGMvaW5jL2h3L2h3X3NoYXJlZC5oCkBAIC0xOTEsNiArMTkx LDIzIEBAIGVudW0gY29udHJvbGxlcl9kcF90ZXN0X3BhdHRlcm4gewogCUNPTlRST0xMRVJfRFBf VEVTVF9QQVRURVJOX0NPTE9SU1FVQVJFU19DRUEKIH07CiAKK2VudW0gZHBfcGl4ZWxfZW5jb2Rp bmdfdHlwZSB7CisJRFBfUElYRUxfRU5DT0RJTkdfVFlQRV9SR0I0NDQJCT0gMHgwMDAwMDAwMCwK KwlEUF9QSVhFTF9FTkNPRElOR19UWVBFX1lDQkNSNDIyCQk9IDB4MDAwMDAwMDEsCisJRFBfUElY RUxfRU5DT0RJTkdfVFlQRV9ZQ0JDUjQ0NAkJPSAweDAwMDAwMDAyLAorCURQX1BJWEVMX0VOQ09E SU5HX1RZUEVfUkdCX1dJREVfR0FNVVQJPSAweDAwMDAwMDAzLAorCURQX1BJWEVMX0VOQ09ESU5H X1RZUEVfWV9PTkxZCQk9IDB4MDAwMDAwMDQsCisJRFBfUElYRUxfRU5DT0RJTkdfVFlQRV9ZQ0JD UjQyMAkJPSAweDAwMDAwMDA1Cit9OworCitlbnVtIGRwX2NvbXBvbmVudF9kZXB0aCB7CisJRFBf Q09NUE9ORU5UX1BJWEVMX0RFUFRIXzZCUEMJCT0gMHgwMDAwMDAwMCwKKwlEUF9DT01QT05FTlRf UElYRUxfREVQVEhfOEJQQwkJPSAweDAwMDAwMDAxLAorCURQX0NPTVBPTkVOVF9QSVhFTF9ERVBU SF8xMEJQQwkJPSAweDAwMDAwMDAyLAorCURQX0NPTVBPTkVOVF9QSVhFTF9ERVBUSF8xMkJQQwkJ PSAweDAwMDAwMDAzLAorCURQX0NPTVBPTkVOVF9QSVhFTF9ERVBUSF8xNkJQQwkJPSAweDAwMDAw MDA0Cit9OworCiBlbnVtIGRjX2x1dF9tb2RlIHsKIAlMVVRfQllQQVNTLAogCUxVVF9SQU1fQSwK LS0gCjIuMTUuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==