From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 24/26] drm/amdgpu: add RAS callback for gfx Date: Wed, 31 Jul 2019 12:58:16 -0500 Message-ID: <20190731175818.20159-25-alexander.deucher@amd.com> References: <20190731175818.20159-1-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190731175818.20159-1-alexander.deucher-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: Tao Zhou , Dennis Li , Hawking Zhang RnJvbTogRGVubmlzIExpIDxEZW5uaXMuTGlAYW1kLmNvbT4KCkFkZCBmdW5jdGlvbnMgZm9yIFJB UyBlcnJvciBpbmplY3QgYW5kIHF1ZXJ5IGVycm9yIGNvdW50ZXIKClNpZ25lZC1vZmYtYnk6IERl bm5pcyBMaSA8RGVubmlzLkxpQGFtZC5jb20+ClJldmlld2VkLWJ5OiBUYW8gWmhvdSA8dGFvLnpo b3UxQGFtZC5jb20+ClJldmlld2VkLWJ5OiBIYXdraW5nIFpoYW5nIDxIYXdraW5nLlpoYW5nQGFt ZC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dmeC5oIHwgICAy ICsKIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMgICB8IDUzMCArKysrKysr KysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hhbmdlZCwgNTMxIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZ2Z4LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2Z4LmgKaW5kZXgg MTE5OWI1ODI4YjkwLi41NTRhNTliM2M0YTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2FtZGdwdV9nZnguaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfZ2Z4LmgKQEAgLTE5Niw2ICsxOTYsOCBAQCBzdHJ1Y3QgYW1kZ3B1X2dmeF9mdW5jcyB7 CiAJCQkJdWludDMyX3QgKmRzdCk7CiAJdm9pZCAoKnNlbGVjdF9tZV9waXBlX3EpKHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2LCB1MzIgbWUsIHUzMiBwaXBlLAogCQkJCSB1MzIgcXVldWUsIHUz MiB2bWlkKTsKKwlpbnQgKCpyYXNfZXJyb3JfaW5qZWN0KShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwgdm9pZCAqaW5qZWN0X2lmKTsKKwlpbnQgKCpxdWVyeV9yYXNfZXJyb3JfY291bnQpIChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdm9pZCAqcmFzX2Vycm9yX3N0YXR1cyk7CiB9Owog CiBzdHJ1Y3QgYW1kZ3B1X25nZ19idWYgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9hbWRncHUvZ2Z4X3Y5XzAuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8w LmMKaW5kZXggZmJhNTUyYjkzY2M4Li5kNzkwMmU3ODJiZTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92OV8wLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvZ2Z4X3Y5XzAuYwpAQCAtMzE4LDYgKzMxOCwxMzUgQEAgZW51bSB0YV9yYXNfZ2Z4X3N1 YmJsb2NrIHsKIAlUQV9SQVNfQkxPQ0tfX1VUQ19BVENMMl9DQUNIRV80S19CQU5LLAogCVRBX1JB U19CTE9DS19fR0ZYX01BWAogfTsKKworc3RydWN0IHJhc19nZnhfc3ViYmxvY2sgeworCXVuc2ln bmVkIGNoYXIgKm5hbWU7CisJaW50IHRhX3N1YmJsb2NrOworCWludCBzdXBwb3J0ZWRfZXJyb3Jf dHlwZTsKK307CisKKyNkZWZpbmUgQU1ER1BVX1JBU19TVUJfQkxPQ0soc3ViYmxvY2ssIGEsIGIs IGMsIGQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJW0FNREdQVV9SQVNfQkxPQ0tf XyMjc3ViYmxvY2tdID0geyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisJ CSNzdWJibG9jaywgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKKwkJVEFfUkFTX0JMT0NLX18jI3N1YmJsb2NrLCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAorCQkoKGEpIHwgKChiKSA8PCAxKSB8ICgoYykgPDwgMikgfCAo KGQpIDw8IDMpKSwgICAgICAgICAgICAgICAgICBcCisJfQorCitzdGF0aWMgY29uc3Qgc3RydWN0 IHJhc19nZnhfc3ViYmxvY2sgcmFzX2dmeF9zdWJibG9ja3NbXSA9IHsKKwlBTURHUFVfUkFTX1NV Ql9CTE9DSyhHRlhfQ1BDX1NDUkFUQ0gsIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JM T0NLKEdGWF9DUENfVUNPREUsIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdG WF9EQ19TVEFURV9NRTEsIDEsIDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9E Q19DU0lOVk9DX01FMSwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0RD X1JFU1RPUkVfTUUxLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRENf U1RBVEVfTUUyLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRENfQ1NJ TlZPQ19NRTIsIDEsIDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9EQ19SRVNU T1JFX01FMiwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0NQRl9ST1Ff TUUyLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfQ1BGX1JPUV9NRTEs IDEsIDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9DUEZfVEFHLCAwLCAxLCAx LCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfQ1BHX0RNQV9ST1EsIDEsIDAsIDAsIDEp LAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9DUEdfRE1BX1RBRywgMCwgMSwgMSwgMSksCisJ QU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0NQR19UQUcsIDAsIDEsIDEsIDEpLAorCUFNREdQVV9S QVNfU1VCX0JMT0NLKEdGWF9HRFNfTUVNLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9C TE9DSyhHRlhfR0RTX0lOUFVUX1FVRVVFLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9C TE9DSyhHRlhfR0RTX09BX1BIWV9DTURfUkFNX01FTSwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JB U19TVUJfQkxPQ0soR0ZYX0dEU19PQV9QSFlfREFUQV9SQU1fTUVNLCAxLCAwLCAwLCAxKSwKKwlB TURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfR0RTX09BX1BJUEVfTUVNLCAwLCAxLCAxLCAxKSwKKwlB TURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1BJX1NSX01FTSwgMSwgMCwgMCwgMSksCisJQU1ER1BV X1JBU19TVUJfQkxPQ0soR0ZYX1NRX1NHUFIsIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VC X0JMT0NLKEdGWF9TUV9MRFNfRCwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0so R0ZYX1NRX0xEU19JLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1Ff VkdQUiwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1NRQ19JTlNUX1VU Q0wxX0xGSUZPLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0RB VEFfQ1UwX1dSSVRFX0RBVEFfQlVGLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9D SyhHRlhfU1FDX0RBVEFfQ1UwX1VUQ0wxX0xGSUZPLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFT X1NVQl9CTE9DSyhHRlhfU1FDX0RBVEFfQ1UxX1dSSVRFX0RBVEFfQlVGLCAwLCAxLCAxLCAxKSwK KwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0RBVEFfQ1UxX1VUQ0wxX0xGSUZPLCAwLCAx LCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0RBVEFfQ1UyX1dSSVRFX0RB VEFfQlVGLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0RBVEFf Q1UyX1VUQ0wxX0xGSUZPLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhf U1FDX0lOU1RfQkFOS0FfVEFHX1JBTSwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxP Q0soR0ZYX1NRQ19JTlNUX0JBTktBX1VUQ0wxX01JU1NfRklGTywgMSwgMCwgMCwgMSksCisJQU1E R1BVX1JBU19TVUJfQkxPQ0soR0ZYX1NRQ19JTlNUX0JBTktBX01JU1NfRklGTywgMSwgMCwgMCwg MSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1NRQ19JTlNUX0JBTktBX0JBTktfUkFNLCAw LCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0RBVEFfQkFOS0FfVEFH X1JBTSwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1NRQ19EQVRBX0JB TktBX0hJVF9GSUZPLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FD X0RBVEFfQkFOS0FfTUlTU19GSUZPLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9D SyhHRlhfU1FDX0RBVEFfQkFOS0FfRElSVFlfQklUX1JBTSwgMSwgMCwgMCwgMSksCisJQU1ER1BV X1JBU19TVUJfQkxPQ0soR0ZYX1NRQ19EQVRBX0JBTktBX0JBTktfUkFNLCAwLCAxLCAxLCAxKSwK KwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0lOU1RfQkFOS0JfVEFHX1JBTSwgMCwgMSwg MSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1NRQ19JTlNUX0JBTktCX1VUQ0wxX01J U1NfRklGTywgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1NRQ19JTlNU X0JBTktCX01JU1NfRklGTywgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZY X1NRQ19JTlNUX0JBTktCX0JBTktfUkFNLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9C TE9DSyhHRlhfU1FDX0RBVEFfQkFOS0JfVEFHX1JBTSwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JB U19TVUJfQkxPQ0soR0ZYX1NRQ19EQVRBX0JBTktCX0hJVF9GSUZPLCAxLCAwLCAwLCAxKSwKKwlB TURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0RBVEFfQkFOS0JfTUlTU19GSUZPLCAxLCAwLCAw LCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfU1FDX0RBVEFfQkFOS0JfRElSVFlfQklU X1JBTSwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1NRQ19EQVRBX0JB TktCX0JBTktfUkFNLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVEFf RlNfREZJRk8sIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQV9GU19B RklGTywgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RBX0ZMX0xGSUZP LCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVEFfRlhfTEZJRk8sIDEs IDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQV9GU19DRklGTywgMSwgMCwg MCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDQV9IT0xFX0ZJRk8sIDEsIDAsIDAs IDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0FfUkVRX0ZJRk8sIDEsIDAsIDAsIDEp LAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0NfQ0FDSEVfREFUQSwgMCwgMSwgMSwgMSks CisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDQ19DQUNIRV9EQVRBX0JBTktfMF8xLCAwLCAx LCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENDX0NBQ0hFX0RBVEFfQkFOS18x XzAsIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0NfQ0FDSEVfREFU QV9CQU5LXzFfMSwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDQ19D QUNIRV9ESVJUWV9CQU5LXzAsIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdG WF9UQ0NfQ0FDSEVfRElSVFlfQkFOS18xLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9C TE9DSyhHRlhfVENDX0hJR0hfUkFURV9UQUcsIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VC X0JMT0NLKEdGWF9UQ0NfTE9XX1JBVEVfVEFHLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NV Ql9CTE9DSyhHRlhfVENDX0lOX1VTRV9ERUMsIDEsIDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VC X0JMT0NLKEdGWF9UQ0NfSU5fVVNFX1RSQU5TRkVSLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFT X1NVQl9CTE9DSyhHRlhfVENDX1JFVFVSTl9EQVRBLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFT X1NVQl9CTE9DSyhHRlhfVENDX1JFVFVSTl9DT05UUk9MLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVf UkFTX1NVQl9CTE9DSyhHRlhfVENDX1VDX0FUT01JQ19GSUZPLCAxLCAwLCAwLCAxKSwKKwlBTURH UFVfUkFTX1NVQl9CTE9DSyhHRlhfVENDX1dSSVRFX1JFVFVSTiwgMSwgMCwgMCwgMSksCisJQU1E R1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDQ19XUklURV9DQUNIRV9SRUFELCAxLCAwLCAwLCAxKSwK KwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENDX1NSQ19GSUZPLCAwLCAxLCAxLCAxKSwKKwlB TURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENDX1NSQ19GSUZPX05FWFRfUkFNLCAxLCAwLCAwLCAx KSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENDX0NBQ0hFX1RBR19QUk9CRV9GSUZPLCAx LCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVENDX0xBVEVOQ1lfRklGTywg MSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDQ19MQVRFTkNZX0ZJRk9f TkVYVF9SQU0sIDEsIDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ0NfV1JS RVRfVEFHX1dSSVRFX1JFVFVSTiwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0so R0ZYX1RDQ19BVE9NSUNfUkVUVVJOX0JVRkZFUiwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19T VUJfQkxPQ0soR0ZYX1RDSV9XUklURV9SQU0sIDEsIDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VC X0JMT0NLKEdGWF9UQ1BfQ0FDSEVfUkFNLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9C TE9DSyhHRlhfVENQX0xGSUZPX1JBTSwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxP Q0soR0ZYX1RDUF9DTURfRklGTywgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0so R0ZYX1RDUF9WTV9GSUZPLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhf VENQX0RCX1JBTSwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1RDUF9V VENMMV9MRklGTzAsIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9UQ1Bf VVRDTDFfTEZJRk8xLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfVERf U1NfRklGT19MTywgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX1REX1NT X0ZJRk9fSEksIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9URF9DU19G SUZPLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfRFJBTVJEX0NN RE1FTSwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX0RSQU1XUl9D TURNRU0sIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9EUkFNV1Jf REFUQU1FTSwgMCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX1JSRVRf VEFHTUVNLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfV1JFVF9U QUdNRU0sIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9HTUlSRF9D TURNRU0sIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9HTUlXUl9D TURNRU0sIDAsIDEsIDEsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9HTUlXUl9E QVRBTUVNLCAwLCAxLCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfRFJBTVJE X1BBR0VNRU0sIDEsIDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9EUkFN V1JfUEFHRU1FTSwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX0lP UkRfQ01ETUVNLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfSU9X Ul9DTURNRU0sIDEsIDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9JT1dS X0RBVEFNRU0sIDEsIDAsIDAsIDEpLAorCUFNREdQVV9SQVNfU1VCX0JMT0NLKEdGWF9FQV9HTUlS RF9QQUdFTUVNLCAxLCAwLCAwLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhHRlhfRUFfR01J V1JfUEFHRU1FTSwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX01B TV9EME1FTSwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX01BTV9E MU1FTSwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX01BTV9EMk1F TSwgMSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soR0ZYX0VBX01BTV9EM01FTSwg MSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soVVRDX1ZNTDJfQkFOS19DQUNIRSwg MCwgMSwgMSwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soVVRDX1ZNTDJfV0FMS0VSLCAwLCAx LCAxLCAxKSwKKwlBTURHUFVfUkFTX1NVQl9CTE9DSyhVVENfQVRDTDJfQ0FDSEVfMk1fQkFOSywg MSwgMCwgMCwgMSksCisJQU1ER1BVX1JBU19TVUJfQkxPQ0soVVRDX0FUQ0wyX0NBQ0hFXzRLX0JB TkssIDAsIDEsIDEsIDEpLAorfTsKKwogc3RhdGljIGNvbnN0IHN0cnVjdCBzb2MxNV9yZWdfZ29s ZGVuIGdvbGRlbl9zZXR0aW5nc19nY185XzBbXSA9CiB7CiAJU09DMTVfUkVHX0dPTERFTl9WQUxV RShHQywgMCwgbW1EQl9ERUJVRzIsIDB4ZjAwZmZmZmYsIDB4MDAwMDA0MDApLApAQCAtNTM2LDYg KzY2NSwxMCBAQCBzdGF0aWMgdWludDY0X3QgZ2Z4X3Y5XzBfZ2V0X2dwdV9jbG9ja19jb3VudGVy KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KTsKIHN0YXRpYyB2b2lkIGdmeF92OV8wX3NlbGVj dF9zZV9zaChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdTMyIHNlX251bSwgdTMyIHNoX251 bSwgdTMyIGluc3RhbmNlKTsKIHN0YXRpYyB2b2lkIGdmeF92OV8wX3JpbmdfZW1pdF9kZV9tZXRh KHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyk7CiBzdGF0aWMgdTY0IGdmeF92OV8wX3JpbmdfZ2V0 X3JwdHJfY29tcHV0ZShzdHJ1Y3QgYW1kZ3B1X3JpbmcgKnJpbmcpOworc3RhdGljIGludCBnZnhf djlfMF9xdWVyeV9yYXNfZXJyb3JfY291bnQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJ CQkJCSAgdm9pZCAqcmFzX2Vycm9yX3N0YXR1cyk7CitzdGF0aWMgaW50IGdmeF92OV8wX3Jhc19l cnJvcl9pbmplY3Qoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkJICAgICB2b2lkICpp bmplY3RfaWYpOwogCiBzdGF0aWMgdm9pZCBnZnhfdjlfMF9pbml0X2dvbGRlbl9yZWdpc3RlcnMo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpCiB7CkBAIC0xNjIxLDcgKzE3NTQsOSBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IGFtZGdwdV9nZnhfZnVuY3MgZ2Z4X3Y5XzBfZ2Z4X2Z1bmNzID0gewog CS5yZWFkX3dhdmVfZGF0YSA9ICZnZnhfdjlfMF9yZWFkX3dhdmVfZGF0YSwKIAkucmVhZF93YXZl X3NncHJzID0gJmdmeF92OV8wX3JlYWRfd2F2ZV9zZ3BycywKIAkucmVhZF93YXZlX3ZncHJzID0g JmdmeF92OV8wX3JlYWRfd2F2ZV92Z3BycywKLQkuc2VsZWN0X21lX3BpcGVfcSA9ICZnZnhfdjlf MF9zZWxlY3RfbWVfcGlwZV9xCisJLnNlbGVjdF9tZV9waXBlX3EgPSAmZ2Z4X3Y5XzBfc2VsZWN0 X21lX3BpcGVfcSwKKwkucmFzX2Vycm9yX2luamVjdCA9ICZnZnhfdjlfMF9yYXNfZXJyb3JfaW5q ZWN0LAorCS5xdWVyeV9yYXNfZXJyb3JfY291bnQgPSAmZ2Z4X3Y5XzBfcXVlcnlfcmFzX2Vycm9y X2NvdW50CiB9OwogCiBzdGF0aWMgaW50IGdmeF92OV8wX2dwdV9lYXJseV9pbml0KHN0cnVjdCBh bWRncHVfZGV2aWNlICphZGV2KQpAQCAtNTQ3Niw2ICs1NjExLDM5OSBAQCBzdGF0aWMgaW50IGdm eF92OV8wX3Byb2Nlc3NfcmFzX2RhdGFfY2Ioc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCiAJ cmV0dXJuIEFNREdQVV9SQVNfVUU7CiB9CiAKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgeworCWNvbnN0 IGNoYXIgKm5hbWU7CisJdWludDMyX3QgaXA7CisJdWludDMyX3QgaW5zdDsKKwl1aW50MzJfdCBz ZWc7CisJdWludDMyX3QgcmVnX29mZnNldDsKKwl1aW50MzJfdCBwZXJfc2VfaW5zdGFuY2U7CisJ aW50MzJfdCBudW1faW5zdGFuY2U7CisJdWludDMyX3Qgc2VjX2NvdW50X21hc2s7CisJdWludDMy X3QgZGVkX2NvdW50X21hc2s7Cit9IGdmeF9yYXNfZWRjX3JlZ3NbXSA9IHsKKwl7ICJDUENfU0NS QVRDSCIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1DUENfRURDX1NDUkFUQ0hfQ05UKSwgMCwg MSwKKwkgIFJFR19GSUVMRF9NQVNLKENQQ19FRENfU0NSQVRDSF9DTlQsIFNFQ19DT1VOVCksCisJ ICBSRUdfRklFTERfTUFTSyhDUENfRURDX1NDUkFUQ0hfQ05ULCBERURfQ09VTlQpIH0sCisJeyAi Q1BDX1VDT0RFIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUNQQ19FRENfVUNPREVfQ05UKSwg MCwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKENQQ19FRENfVUNPREVfQ05ULCBTRUNfQ09VTlQpLAor CSAgUkVHX0ZJRUxEX01BU0soQ1BDX0VEQ19VQ09ERV9DTlQsIERFRF9DT1VOVCkgfSwKKwl7ICJD UEZfUk9RX01FMSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1DUEZfRURDX1JPUV9DTlQpLCAw LCAxLAorCSAgUkVHX0ZJRUxEX01BU0soQ1BGX0VEQ19ST1FfQ05ULCBDT1VOVF9NRTEpLCAwIH0s CisJeyAiQ1BGX1JPUV9NRTIiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tQ1BGX0VEQ19ST1Ff Q05UKSwgMCwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKENQRl9FRENfUk9RX0NOVCwgQ09VTlRfTUUy KSwgMCB9LAorCXsgIkNQRl9UQUciLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tQ1BGX0VEQ19U QUdfQ05UKSwgMCwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKENQRl9FRENfVEFHX0NOVCwgU0VDX0NP VU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKENQRl9FRENfVEFHX0NOVCwgREVEX0NPVU5UKSB9LAor CXsgIkNQR19ETUFfUk9RIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUNQR19FRENfRE1BX0NO VCksIDAsIDEsCisJICBSRUdfRklFTERfTUFTSyhDUEdfRURDX0RNQV9DTlQsIFJPUV9DT1VOVCks IDAgfSwKKwl7ICJDUEdfRE1BX1RBRyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1DUEdfRURD X0RNQV9DTlQpLCAwLCAxLAorCSAgUkVHX0ZJRUxEX01BU0soQ1BHX0VEQ19ETUFfQ05ULCBUQUdf U0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKENQR19FRENfRE1BX0NOVCwgVEFHX0RFRF9D T1VOVCkgfSwKKwl7ICJDUEdfVEFHIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUNQR19FRENf VEFHX0NOVCksIDAsIDEsCisJICBSRUdfRklFTERfTUFTSyhDUEdfRURDX1RBR19DTlQsIFNFQ19D T1VOVCksCisJICBSRUdfRklFTERfTUFTSyhDUEdfRURDX1RBR19DTlQsIERFRF9DT1VOVCkgfSwK Kwl7ICJEQ19DU0lOVk9DIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbURDX0VEQ19DU0lOVk9D X0NOVCksIDAsIDEsCisJICBSRUdfRklFTERfTUFTSyhEQ19FRENfQ1NJTlZPQ19DTlQsIENPVU5U X01FMSksIDAgfSwKKwl7ICJEQ19SRVNUT1JFIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbURD X0VEQ19SRVNUT1JFX0NOVCksIDAsIDEsCisJICBSRUdfRklFTERfTUFTSyhEQ19FRENfUkVTVE9S RV9DTlQsIENPVU5UX01FMSksIDAgfSwKKwl7ICJEQ19TVEFURSIsIFNPQzE1X1JFR19FTlRSWShH QywgMCwgbW1EQ19FRENfU1RBVEVfQ05UKSwgMCwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKERDX0VE Q19TVEFURV9DTlQsIENPVU5UX01FMSksIDAgfSwKKwl7ICJHRFNfTUVNIiwgU09DMTVfUkVHX0VO VFJZKEdDLCAwLCBtbUdEU19FRENfQ05UKSwgMCwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKEdEU19F RENfQ05ULCBHRFNfTUVNX1NFQyksCisJICBSRUdfRklFTERfTUFTSyhHRFNfRURDX0NOVCwgR0RT X01FTV9ERUQpIH0sCisJeyAiR0RTX0lOUFVUX1FVRVVFIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAw LCBtbUdEU19FRENfQ05UKSwgMCwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKEdEU19FRENfQ05ULCBH RFNfSU5QVVRfUVVFVUVfU0VEKSwgMCB9LAorCXsgIkdEU19NRTBfQ1NfUElQRV9NRU0iLCBTT0Mx NV9SRUdfRU5UUlkoR0MsIDAsIG1tR0RTX0VEQ19PQV9QSFlfQ05UKSwKKwkgIDAsIDEsIFJFR19G SUVMRF9NQVNLKEdEU19FRENfT0FfUEhZX0NOVCwgTUUwX0NTX1BJUEVfTUVNX1NFQyksCisJICBS RUdfRklFTERfTUFTSyhHRFNfRURDX09BX1BIWV9DTlQsIE1FMF9DU19QSVBFX01FTV9ERUQpIH0s CisJeyAiR0RTX09BX1BIWV9QSFlfQ01EX1JBTV9NRU0iLAorCSAgU09DMTVfUkVHX0VOVFJZKEdD LCAwLCBtbUdEU19FRENfT0FfUEhZX0NOVCksIDAsIDEsCisJICBSRUdfRklFTERfTUFTSyhHRFNf RURDX09BX1BIWV9DTlQsIFBIWV9DTURfUkFNX01FTV9TRUMpLAorCSAgUkVHX0ZJRUxEX01BU0so R0RTX0VEQ19PQV9QSFlfQ05ULCBQSFlfQ01EX1JBTV9NRU1fREVEKSB9LAorCXsgIkdEU19PQV9Q SFlfUEhZX0RBVEFfUkFNX01FTSIsCisJICBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0RTX0VE Q19PQV9QSFlfQ05UKSwgMCwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKEdEU19FRENfT0FfUEhZX0NO VCwgUEhZX0RBVEFfUkFNX01FTV9TRUQpLCAwIH0sCisJeyAiR0RTX09BX1BJUEVfTUUxX1BJUEUw X1BJUEVfTUVNIiwKKwkgIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1HRFNfRURDX09BX1BJUEVf Q05UKSwgMCwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKEdEU19FRENfT0FfUElQRV9DTlQsIE1FMV9Q SVBFMF9QSVBFX01FTV9TRUMpLAorCSAgUkVHX0ZJRUxEX01BU0soR0RTX0VEQ19PQV9QSVBFX0NO VCwgTUUxX1BJUEUwX1BJUEVfTUVNX0RFRCkgfSwKKwl7ICJHRFNfT0FfUElQRV9NRTFfUElQRTFf UElQRV9NRU0iLAorCSAgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdEU19FRENfT0FfUElQRV9D TlQpLCAwLCAxLAorCSAgUkVHX0ZJRUxEX01BU0soR0RTX0VEQ19PQV9QSVBFX0NOVCwgTUUxX1BJ UEUxX1BJUEVfTUVNX1NFQyksCisJICBSRUdfRklFTERfTUFTSyhHRFNfRURDX09BX1BJUEVfQ05U LCBNRTFfUElQRTFfUElQRV9NRU1fREVEKSB9LAorCXsgIkdEU19PQV9QSVBFX01FMV9QSVBFMl9Q SVBFX01FTSIsCisJICBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0RTX0VEQ19PQV9QSVBFX0NO VCksIDAsIDEsCisJICBSRUdfRklFTERfTUFTSyhHRFNfRURDX09BX1BJUEVfQ05ULCBNRTFfUElQ RTJfUElQRV9NRU1fU0VDKSwKKwkgIFJFR19GSUVMRF9NQVNLKEdEU19FRENfT0FfUElQRV9DTlQs IE1FMV9QSVBFMl9QSVBFX01FTV9ERUQpIH0sCisJeyAiR0RTX09BX1BJUEVfTUUxX1BJUEUzX1BJ UEVfTUVNIiwKKwkgIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1HRFNfRURDX09BX1BJUEVfQ05U KSwgMCwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKEdEU19FRENfT0FfUElQRV9DTlQsIE1FMV9QSVBF M19QSVBFX01FTV9TRUMpLAorCSAgUkVHX0ZJRUxEX01BU0soR0RTX0VEQ19PQV9QSVBFX0NOVCwg TUUxX1BJUEUzX1BJUEVfTUVNX0RFRCkgfSwKKwl7ICJTUElfU1JfTUVNIiwgU09DMTVfUkVHX0VO VFJZKEdDLCAwLCBtbVNQSV9FRENfQ05UKSwgMSwgMSwKKwkgIFJFR19GSUVMRF9NQVNLKFNQSV9F RENfQ05ULCBTUElfU1JfTUVNX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJUQV9GU19ERklGTyIsIFNP QzE1X1JFR19FTlRSWShHQywgMCwgbW1UQV9FRENfQ05UKSwgMSwgMTYsCisJICBSRUdfRklFTERf TUFTSyhUQV9FRENfQ05ULCBUQV9GU19ERklGT19TRUNfQ09VTlQpLAorCSAgUkVHX0ZJRUxEX01B U0soVEFfRURDX0NOVCwgVEFfRlNfREZJRk9fREVEX0NPVU5UKSB9LAorCXsgIlRBX0ZTX0FGSUZP IiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRBX0VEQ19DTlQpLCAxLCAxNiwKKwkgIFJFR19G SUVMRF9NQVNLKFRBX0VEQ19DTlQsIFRBX0ZTX0FGSUZPX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJU QV9GTF9MRklGTyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1UQV9FRENfQ05UKSwgMSwgMTYs CisJICBSRUdfRklFTERfTUFTSyhUQV9FRENfQ05ULCBUQV9GTF9MRklGT19TRURfQ09VTlQpLCAw IH0sCisJeyAiVEFfRlhfTEZJRk8iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVEFfRURDX0NO VCksIDEsIDE2LAorCSAgUkVHX0ZJRUxEX01BU0soVEFfRURDX0NOVCwgVEFfRlhfTEZJRk9fU0VE X0NPVU5UKSwgMCB9LAorCXsgIlRBX0ZTX0NGSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBt bVRBX0VEQ19DTlQpLCAxLCAxNiwKKwkgIFJFR19GSUVMRF9NQVNLKFRBX0VEQ19DTlQsIFRBX0ZT X0NGSUZPX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJUQ0FfSE9MRV9GSUZPIiwgU09DMTVfUkVHX0VO VFJZKEdDLCAwLCBtbVRDQV9FRENfQ05UKSwgMCwgMiwKKwkgIFJFR19GSUVMRF9NQVNLKFRDQV9F RENfQ05ULCBIT0xFX0ZJRk9fU0VEX0NPVU5UKSwgMCB9LAorCXsgIlRDQV9SRVFfRklGTyIsIFNP QzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ0FfRURDX0NOVCksIDAsIDIsCisJICBSRUdfRklFTERf TUFTSyhUQ0FfRURDX0NOVCwgUkVRX0ZJRk9fU0VEX0NPVU5UKSwgMCB9LAorCXsgIlRDQ19DQUNI RV9EQVRBIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19FRENfQ05UKSwgMCwgMTYsCisJ ICBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVCwgQ0FDSEVfREFUQV9TRUNfQ09VTlQpLAorCSAg UkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQsIENBQ0hFX0RBVEFfREVEX0NPVU5UKSB9LAorCXsg IlRDQ19DQUNIRV9ESVJUWSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ0NfRURDX0NOVCks IDAsIDE2LAorCSAgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQsIENBQ0hFX0RJUlRZX1NFQ19D T1VOVCksCisJICBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVCwgQ0FDSEVfRElSVFlfREVEX0NP VU5UKSB9LAorCXsgIlRDQ19ISUdIX1JBVEVfVEFHIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBt bVRDQ19FRENfQ05UKSwgMCwgMTYsCisJICBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVCwgSElH SF9SQVRFX1RBR19TRUNfQ09VTlQpLAorCSAgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQsIEhJ R0hfUkFURV9UQUdfREVEX0NPVU5UKSB9LAorCXsgIlRDQ19MT1dfUkFURV9UQUciLCBTT0MxNV9S RUdfRU5UUlkoR0MsIDAsIG1tVENDX0VEQ19DTlQpLCAwLCAxNiwKKwkgIFJFR19GSUVMRF9NQVNL KFRDQ19FRENfQ05ULCBMT1dfUkFURV9UQUdfU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNL KFRDQ19FRENfQ05ULCBMT1dfUkFURV9UQUdfREVEX0NPVU5UKSB9LAorCXsgIlRDQ19TUkNfRklG TyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ0NfRURDX0NOVCksIDAsIDE2LAorCSAgUkVH X0ZJRUxEX01BU0soVENDX0VEQ19DTlQsIFNSQ19GSUZPX1NFQ19DT1VOVCksCisJICBSRUdfRklF TERfTUFTSyhUQ0NfRURDX0NOVCwgU1JDX0ZJRk9fREVEX0NPVU5UKSB9LAorCXsgIlRDQ19JTl9V U0VfREVDIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19FRENfQ05UKSwgMCwgMTYsCisJ ICBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVCwgSU5fVVNFX0RFQ19TRURfQ09VTlQpLCAwIH0s CisJeyAiVENDX0lOX1VTRV9UUkFOU0ZFUiIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ0Nf RURDX0NOVCksIDAsIDE2LAorCSAgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQsIElOX1VTRV9U UkFOU0ZFUl9TRURfQ09VTlQpLCAwIH0sCisJeyAiVENDX0xBVEVOQ1lfRklGTyIsIFNPQzE1X1JF R19FTlRSWShHQywgMCwgbW1UQ0NfRURDX0NOVCksIDAsIDE2LAorCSAgUkVHX0ZJRUxEX01BU0so VENDX0VEQ19DTlQsIExBVEVOQ1lfRklGT19TRURfQ09VTlQpLCAwIH0sCisJeyAiVENDX1JFVFVS Tl9EQVRBIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19FRENfQ05UKSwgMCwgMTYsCisJ ICBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVCwgUkVUVVJOX0RBVEFfU0VEX0NPVU5UKSwgMCB9 LAorCXsgIlRDQ19SRVRVUk5fQ09OVFJPTCIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ0Nf RURDX0NOVCksIDAsIDE2LAorCSAgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQsIFJFVFVSTl9D T05UUk9MX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJUQ0NfVUNfQVRPTUlDX0ZJRk8iLCBTT0MxNV9S RUdfRU5UUlkoR0MsIDAsIG1tVENDX0VEQ19DTlQpLCAwLCAxNiwKKwkgIFJFR19GSUVMRF9NQVNL KFRDQ19FRENfQ05ULCBVQ19BVE9NSUNfRklGT19TRURfQ09VTlQpLCAwIH0sCisJeyAiVENDX1dS SVRFX1JFVFVSTiIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ0NfRURDX0NOVDIpLCAwLCAx NiwKKwkgIFJFR19GSUVMRF9NQVNLKFRDQ19FRENfQ05UMiwgV1JJVEVfUkVUVVJOX1NFRF9DT1VO VCksIDAgfSwKKwl7ICJUQ0NfV1JJVEVfQ0FDSEVfUkVBRCIsIFNPQzE1X1JFR19FTlRSWShHQywg MCwgbW1UQ0NfRURDX0NOVDIpLCAwLCAxNiwKKwkgIFJFR19GSUVMRF9NQVNLKFRDQ19FRENfQ05U MiwgV1JJVEVfQ0FDSEVfUkVBRF9TRURfQ09VTlQpLCAwIH0sCisJeyAiVENDX1NSQ19GSUZPX05F WFRfUkFNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19FRENfQ05UMiksIDAsCisJICAx NiwgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQyLCBTUkNfRklGT19ORVhUX1JBTV9TRURfQ09V TlQpLCAwIH0sCisJeyAiVENDX0xBVEVOQ1lfRklGT19ORVhUX1JBTSIsIFNPQzE1X1JFR19FTlRS WShHQywgMCwgbW1UQ0NfRURDX0NOVDIpLAorCSAgMCwgMTYsIFJFR19GSUVMRF9NQVNLKFRDQ19F RENfQ05UMiwgTEFURU5DWV9GSUZPX05FWFRfUkFNX1NFRF9DT1VOVCksCisJICAwIH0sCisJeyAi VENDX0NBQ0hFX1RBR19QUk9CRV9GSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDQ19F RENfQ05UMiksIDAsCisJICAxNiwgUkVHX0ZJRUxEX01BU0soVENDX0VEQ19DTlQyLCBDQUNIRV9U QUdfUFJPQkVfRklGT19TRURfQ09VTlQpLCAwIH0sCisJeyAiVENDX1dSUkVUX1RBR19XUklURV9S RVRVUk4iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVENDX0VEQ19DTlQyKSwKKwkgIDAsIDE2 LCBSRUdfRklFTERfTUFTSyhUQ0NfRURDX0NOVDIsIFdSUkVUX1RBR19XUklURV9SRVRVUk5fU0VE X0NPVU5UKSwKKwkgIDAgfSwKKwl7ICJUQ0NfQVRPTUlDX1JFVFVSTl9CVUZGRVIiLCBTT0MxNV9S RUdfRU5UUlkoR0MsIDAsIG1tVENDX0VEQ19DTlQyKSwgMCwKKwkgIDE2LCBSRUdfRklFTERfTUFT SyhUQ0NfRURDX0NOVDIsIEFUT01JQ19SRVRVUk5fQlVGRkVSX1NFRF9DT1VOVCksIDAgfSwKKwl7 ICJUQ0lfV1JJVEVfUkFNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDSV9FRENfQ05UKSwg MCwgNzIsCisJICBSRUdfRklFTERfTUFTSyhUQ0lfRURDX0NOVCwgV1JJVEVfUkFNX1NFRF9DT1VO VCksIDAgfSwKKwl7ICJUQ1BfQ0FDSEVfUkFNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRD UF9FRENfQ05UX05FVyksIDEsIDE2LAorCSAgUkVHX0ZJRUxEX01BU0soVENQX0VEQ19DTlRfTkVX LCBDQUNIRV9SQU1fU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKFRDUF9FRENfQ05UX05F VywgQ0FDSEVfUkFNX0RFRF9DT1VOVCkgfSwKKwl7ICJUQ1BfTEZJRk9fUkFNIiwgU09DMTVfUkVH X0VOVFJZKEdDLCAwLCBtbVRDUF9FRENfQ05UX05FVyksIDEsIDE2LAorCSAgUkVHX0ZJRUxEX01B U0soVENQX0VEQ19DTlRfTkVXLCBMRklGT19SQU1fU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9N QVNLKFRDUF9FRENfQ05UX05FVywgTEZJRk9fUkFNX0RFRF9DT1VOVCkgfSwKKwl7ICJUQ1BfQ01E X0ZJRk8iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVENQX0VEQ19DTlRfTkVXKSwgMSwgMTYs CisJICBSRUdfRklFTERfTUFTSyhUQ1BfRURDX0NOVF9ORVcsIENNRF9GSUZPX1NFRF9DT1VOVCks IDAgfSwKKwl7ICJUQ1BfVk1fRklGTyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1UQ1BfRURD X0NOVF9ORVcpLCAxLCAxNiwKKwkgIFJFR19GSUVMRF9NQVNLKFRDUF9FRENfQ05UX05FVywgVk1f RklGT19TRUNfQ09VTlQpLCAwIH0sCisJeyAiVENQX0RCX1JBTSIsIFNPQzE1X1JFR19FTlRSWShH QywgMCwgbW1UQ1BfRURDX0NOVF9ORVcpLCAxLCAxNiwKKwkgIFJFR19GSUVMRF9NQVNLKFRDUF9F RENfQ05UX05FVywgREJfUkFNX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJUQ1BfVVRDTDFfTEZJRk8w IiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRDUF9FRENfQ05UX05FVyksIDEsIDE2LAorCSAg UkVHX0ZJRUxEX01BU0soVENQX0VEQ19DTlRfTkVXLCBVVENMMV9MRklGTzBfU0VDX0NPVU5UKSwK KwkgIFJFR19GSUVMRF9NQVNLKFRDUF9FRENfQ05UX05FVywgVVRDTDFfTEZJRk8wX0RFRF9DT1VO VCkgfSwKKwl7ICJUQ1BfVVRDTDFfTEZJRk8xIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVRD UF9FRENfQ05UX05FVyksIDEsIDE2LAorCSAgUkVHX0ZJRUxEX01BU0soVENQX0VEQ19DTlRfTkVX LCBVVENMMV9MRklGTzFfU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKFRDUF9FRENfQ05U X05FVywgVVRDTDFfTEZJRk8xX0RFRF9DT1VOVCkgfSwKKwl7ICJURF9TU19GSUZPX0xPIiwgU09D MTVfUkVHX0VOVFJZKEdDLCAwLCBtbVREX0VEQ19DTlQpLCAxLCAxNiwKKwkgIFJFR19GSUVMRF9N QVNLKFREX0VEQ19DTlQsIFNTX0ZJRk9fTE9fU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNL KFREX0VEQ19DTlQsIFNTX0ZJRk9fTE9fREVEX0NPVU5UKSB9LAorCXsgIlREX1NTX0ZJRk9fSEki LCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tVERfRURDX0NOVCksIDEsIDE2LAorCSAgUkVHX0ZJ RUxEX01BU0soVERfRURDX0NOVCwgU1NfRklGT19ISV9TRUNfQ09VTlQpLAorCSAgUkVHX0ZJRUxE X01BU0soVERfRURDX0NOVCwgU1NfRklGT19ISV9ERURfQ09VTlQpIH0sCisJeyAiVERfQ1NfRklG TyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1URF9FRENfQ05UKSwgMSwgMTYsCisJICBSRUdf RklFTERfTUFTSyhURF9FRENfQ05ULCBDU19GSUZPX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJTUV9M RFNfRCIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUV9FRENfQ05UKSwgMSwgMTYsCisJICBS RUdfRklFTERfTUFTSyhTUV9FRENfQ05ULCBMRFNfRF9TRUNfQ09VTlQpLAorCSAgUkVHX0ZJRUxE X01BU0soU1FfRURDX0NOVCwgTERTX0RfREVEX0NPVU5UKSB9LAorCXsgIlNRX0xEU19JIiwgU09D MTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRX0VEQ19DTlQpLCAxLCAxNiwKKwkgIFJFR19GSUVMRF9N QVNLKFNRX0VEQ19DTlQsIExEU19JX1NFQ19DT1VOVCksCisJICBSRUdfRklFTERfTUFTSyhTUV9F RENfQ05ULCBMRFNfSV9ERURfQ09VTlQpIH0sCisJeyAiU1FfU0dQUiIsIFNPQzE1X1JFR19FTlRS WShHQywgMCwgbW1TUV9FRENfQ05UKSwgMSwgMTYsCisJICBSRUdfRklFTERfTUFTSyhTUV9FRENf Q05ULCBTR1BSX1NFQ19DT1VOVCksCisJICBSRUdfRklFTERfTUFTSyhTUV9FRENfQ05ULCBTR1BS X0RFRF9DT1VOVCkgfSwKKwl7ICJTUV9WR1BSMCIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1T UV9FRENfQ05UKSwgMSwgMTYsCisJICBSRUdfRklFTERfTUFTSyhTUV9FRENfQ05ULCBWR1BSMF9T RUNfQ09VTlQpLAorCSAgUkVHX0ZJRUxEX01BU0soU1FfRURDX0NOVCwgVkdQUjBfREVEX0NPVU5U KSB9LAorCXsgIlNRX1ZHUFIxIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRX0VEQ19DTlQp LCAxLCAxNiwKKwkgIFJFR19GSUVMRF9NQVNLKFNRX0VEQ19DTlQsIFZHUFIxX1NFQ19DT1VOVCks CisJICBSRUdfRklFTERfTUFTSyhTUV9FRENfQ05ULCBWR1BSMV9ERURfQ09VTlQpIH0sCisJeyAi U1FfVkdQUjIiLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tU1FfRURDX0NOVCksIDEsIDE2LAor CSAgUkVHX0ZJRUxEX01BU0soU1FfRURDX0NOVCwgVkdQUjJfU0VDX0NPVU5UKSwKKwkgIFJFR19G SUVMRF9NQVNLKFNRX0VEQ19DTlQsIFZHUFIyX0RFRF9DT1VOVCkgfSwKKwl7ICJTUV9WR1BSMyIs IFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUV9FRENfQ05UKSwgMSwgMTYsCisJICBSRUdfRklF TERfTUFTSyhTUV9FRENfQ05ULCBWR1BSM19TRUNfQ09VTlQpLAorCSAgUkVHX0ZJRUxEX01BU0so U1FfRURDX0NOVCwgVkdQUjNfREVEX0NPVU5UKSB9LAorCXsgIlNRQ19EQVRBX0NVMF9XUklURV9E QVRBX0JVRiIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVCksCisJICAxLCA2 LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVCwgREFUQV9DVTBfV1JJVEVfREFUQV9CVUZfU0VD X0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05ULCBEQVRBX0NVMF9XUklURV9E QVRBX0JVRl9ERURfQ09VTlQpIH0sCisJeyAiU1FDX0RBVEFfQ1UwX1VUQ0wxX0xGSUZPIiwgU09D MTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UKSwgMSwKKwkgIDYsIFJFR19GSUVMRF9N QVNLKFNRQ19FRENfQ05ULCBEQVRBX0NVMF9VVENMMV9MRklGT19TRUNfQ09VTlQpLAorCSAgUkVH X0ZJRUxEX01BU0soU1FDX0VEQ19DTlQsIERBVEFfQ1UwX1VUQ0wxX0xGSUZPX0RFRF9DT1VOVCkg fSwKKwl7ICJTUUNfREFUQV9DVTFfV1JJVEVfREFUQV9CVUYiLCBTT0MxNV9SRUdfRU5UUlkoR0Ms IDAsIG1tU1FDX0VEQ19DTlQpLAorCSAgMSwgNiwgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQs IERBVEFfQ1UxX1dSSVRFX0RBVEFfQlVGX1NFQ19DT1VOVCksCisJICBSRUdfRklFTERfTUFTSyhT UUNfRURDX0NOVCwgREFUQV9DVTFfV1JJVEVfREFUQV9CVUZfREVEX0NPVU5UKSB9LAorCXsgIlNR Q19EQVRBX0NVMV9VVENMMV9MRklGTyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURD X0NOVCksIDEsCisJICA2LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVCwgREFUQV9DVTFfVVRD TDFfTEZJRk9fU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05ULCBEQVRB X0NVMV9VVENMMV9MRklGT19ERURfQ09VTlQpIH0sCisJeyAiU1FDX0RBVEFfQ1UyX1dSSVRFX0RB VEFfQlVGIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UKSwKKwkgIDEsIDYs IFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05ULCBEQVRBX0NVMl9XUklURV9EQVRBX0JVRl9TRUNf Q09VTlQpLAorCSAgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQsIERBVEFfQ1UyX1dSSVRFX0RB VEFfQlVGX0RFRF9DT1VOVCkgfSwKKwl7ICJTUUNfREFUQV9DVTJfVVRDTDFfTEZJRk8iLCBTT0Mx NV9SRUdfRU5UUlkoR0MsIDAsIG1tU1FDX0VEQ19DTlQpLCAxLAorCSAgNiwgUkVHX0ZJRUxEX01B U0soU1FDX0VEQ19DTlQsIERBVEFfQ1UyX1VUQ0wxX0xGSUZPX1NFQ19DT1VOVCksCisJICBSRUdf RklFTERfTUFTSyhTUUNfRURDX0NOVCwgREFUQV9DVTJfVVRDTDFfTEZJRk9fREVEX0NPVU5UKSB9 LAorCXsgIlNRQ19JTlNUX0JBTktBX1RBR19SQU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1t U1FDX0VEQ19DTlQyKSwgMSwKKwkgIDYsIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMiwgSU5T VF9CQU5LQV9UQUdfUkFNX1NFQ19DT1VOVCksCisJICBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NO VDIsIElOU1RfQkFOS0FfVEFHX1JBTV9ERURfQ09VTlQpIH0sCisJeyAiU1FDX0lOU1RfQkFOS0Ff QkFOS19SQU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tU1FDX0VEQ19DTlQyKSwgMSwKKwkg IDYsIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMiwgSU5TVF9CQU5LQV9CQU5LX1JBTV9TRUNf Q09VTlQpLAorCSAgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQyLCBJTlNUX0JBTktBX0JBTktf UkFNX0RFRF9DT1VOVCkgfSwKKwl7ICJTUUNfREFUQV9CQU5LQV9UQUdfUkFNIiwgU09DMTVfUkVH X0VOVFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UMiksIDEsCisJICA2LCBSRUdfRklFTERfTUFTSyhT UUNfRURDX0NOVDIsIERBVEFfQkFOS0FfVEFHX1JBTV9TRUNfQ09VTlQpLAorCSAgUkVHX0ZJRUxE X01BU0soU1FDX0VEQ19DTlQyLCBEQVRBX0JBTktBX1RBR19SQU1fREVEX0NPVU5UKSB9LAorCXsg IlNRQ19EQVRBX0JBTktBX0JBTktfUkFNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRQ19F RENfQ05UMiksIDEsCisJICA2LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVDIsIERBVEFfQkFO S0FfQkFOS19SQU1fU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMiwg REFUQV9CQU5LQV9CQU5LX1JBTV9ERURfQ09VTlQpIH0sCisJeyAiU1FDX0lOU1RfQkFOS0FfVVRD TDFfTUlTU19GSUZPIiwKKwkgIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDIp LCAxLCA2LAorCSAgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQyLCBJTlNUX0JBTktBX1VUQ0wx X01JU1NfRklGT19TRURfQ09VTlQpLAorCSAgMCB9LAorCXsgIlNRQ19JTlNUX0JBTktBX01JU1Nf RklGTyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDIpLCAxLAorCSAgNiwg UkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQyLCBJTlNUX0JBTktBX01JU1NfRklGT19TRURfQ09V TlQpLCAwIH0sCisJeyAiU1FDX0RBVEFfQkFOS0FfSElUX0ZJRk8iLCBTT0MxNV9SRUdfRU5UUlko R0MsIDAsIG1tU1FDX0VEQ19DTlQyKSwgMSwKKwkgIDYsIFJFR19GSUVMRF9NQVNLKFNRQ19FRENf Q05UMiwgREFUQV9CQU5LQV9ISVRfRklGT19TRURfQ09VTlQpLCAwIH0sCisJeyAiU1FDX0RBVEFf QkFOS0FfTUlTU19GSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UMiks IDEsCisJICA2LCBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVDIsIERBVEFfQkFOS0FfTUlTU19G SUZPX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJTUUNfREFUQV9CQU5LQV9ESVJUWV9CSVRfUkFNIiwK KwkgIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDIpLCAxLCA2LAorCSAgUkVH X0ZJRUxEX01BU0soU1FDX0VEQ19DTlQyLCBEQVRBX0JBTktBX0RJUlRZX0JJVF9SQU1fU0VEX0NP VU5UKSwgMCB9LAorCXsgIlNRQ19JTlNUX1VUQ0wxX0xGSUZPIiwgU09DMTVfUkVHX0VOVFJZKEdD LCAwLCBtbVNRQ19FRENfQ05UMiksIDEsIDYsCisJICBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NO VDIsIElOU1RfVVRDTDFfTEZJRk9fU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKFNRQ19F RENfQ05UMiwgSU5TVF9VVENMMV9MRklGT19ERURfQ09VTlQpIH0sCisJeyAiU1FDX0lOU1RfQkFO S0JfVEFHX1JBTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDMpLCAxLAor CSAgNiwgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQzLCBJTlNUX0JBTktCX1RBR19SQU1fU0VD X0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMywgSU5TVF9CQU5LQl9UQUdf UkFNX0RFRF9DT1VOVCkgfSwKKwl7ICJTUUNfSU5TVF9CQU5LQl9CQU5LX1JBTSIsIFNPQzE1X1JF R19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NOVDMpLCAxLAorCSAgNiwgUkVHX0ZJRUxEX01BU0so U1FDX0VEQ19DTlQzLCBJTlNUX0JBTktCX0JBTktfUkFNX1NFQ19DT1VOVCksCisJICBSRUdfRklF TERfTUFTSyhTUUNfRURDX0NOVDMsIElOU1RfQkFOS0JfQkFOS19SQU1fREVEX0NPVU5UKSB9LAor CXsgIlNRQ19EQVRBX0JBTktCX1RBR19SQU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tU1FD X0VEQ19DTlQzKSwgMSwKKwkgIDYsIFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMywgREFUQV9C QU5LQl9UQUdfUkFNX1NFQ19DT1VOVCksCisJICBSRUdfRklFTERfTUFTSyhTUUNfRURDX0NOVDMs IERBVEFfQkFOS0JfVEFHX1JBTV9ERURfQ09VTlQpIH0sCisJeyAiU1FDX0RBVEFfQkFOS0JfQkFO S19SQU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tU1FDX0VEQ19DTlQzKSwgMSwKKwkgIDYs IFJFR19GSUVMRF9NQVNLKFNRQ19FRENfQ05UMywgREFUQV9CQU5LQl9CQU5LX1JBTV9TRUNfQ09V TlQpLAorCSAgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQzLCBEQVRBX0JBTktCX0JBTktfUkFN X0RFRF9DT1VOVCkgfSwKKwl7ICJTUUNfSU5TVF9CQU5LQl9VVENMMV9NSVNTX0ZJRk8iLAorCSAg U09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UMyksIDEsIDYsCisJICBSRUdfRklF TERfTUFTSyhTUUNfRURDX0NOVDMsIElOU1RfQkFOS0JfVVRDTDFfTUlTU19GSUZPX1NFRF9DT1VO VCksCisJICAwIH0sCisJeyAiU1FDX0lOU1RfQkFOS0JfTUlTU19GSUZPIiwgU09DMTVfUkVHX0VO VFJZKEdDLCAwLCBtbVNRQ19FRENfQ05UMyksIDEsCisJICA2LCBSRUdfRklFTERfTUFTSyhTUUNf RURDX0NOVDMsIElOU1RfQkFOS0JfTUlTU19GSUZPX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJTUUNf REFUQV9CQU5LQl9ISVRfRklGTyIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1TUUNfRURDX0NO VDMpLCAxLAorCSAgNiwgUkVHX0ZJRUxEX01BU0soU1FDX0VEQ19DTlQzLCBEQVRBX0JBTktCX0hJ VF9GSUZPX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJTUUNfREFUQV9CQU5LQl9NSVNTX0ZJRk8iLCBT T0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tU1FDX0VEQ19DTlQzKSwgMSwKKwkgIDYsIFJFR19GSUVM RF9NQVNLKFNRQ19FRENfQ05UMywgREFUQV9CQU5LQl9NSVNTX0ZJRk9fU0VEX0NPVU5UKSwgMCB9 LAorCXsgIlNRQ19EQVRBX0JBTktCX0RJUlRZX0JJVF9SQU0iLAorCSAgU09DMTVfUkVHX0VOVFJZ KEdDLCAwLCBtbVNRQ19FRENfQ05UMyksIDEsIDYsCisJICBSRUdfRklFTERfTUFTSyhTUUNfRURD X0NOVDMsIERBVEFfQkFOS0JfRElSVFlfQklUX1JBTV9TRURfQ09VTlQpLCAwIH0sCisJeyAiRUFf RFJBTVJEX0NNRE1FTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1HQ0VBX0VEQ19DTlQpLCAw LCAzMiwKKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVCwgRFJBTVJEX0NNRE1FTV9TRUNf Q09VTlQpLAorCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05ULCBEUkFNUkRfQ01ETUVNX0RF RF9DT1VOVCkgfSwKKwl7ICJFQV9EUkFNV1JfQ01ETUVNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAw LCBtbUdDRUFfRURDX0NOVCksIDAsIDMyLAorCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05U LCBEUkFNV1JfQ01ETUVNX1NFQ19DT1VOVCksCisJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19D TlQsIERSQU1XUl9DTURNRU1fREVEX0NPVU5UKSB9LAorCXsgIkVBX0RSQU1XUl9EQVRBTUVNIiwg U09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdDRUFfRURDX0NOVCksIDAsIDMyLAorCSAgUkVHX0ZJ RUxEX01BU0soR0NFQV9FRENfQ05ULCBEUkFNV1JfREFUQU1FTV9TRUNfQ09VTlQpLAorCSAgUkVH X0ZJRUxEX01BU0soR0NFQV9FRENfQ05ULCBEUkFNV1JfREFUQU1FTV9ERURfQ09VTlQpIH0sCisJ eyAiRUFfUlJFVF9UQUdNRU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0NFQV9FRENfQ05U KSwgMCwgMzIsCisJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQsIFJSRVRfVEFHTUVNX1NF Q19DT1VOVCksCisJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQsIFJSRVRfVEFHTUVNX0RF RF9DT1VOVCkgfSwKKwl7ICJFQV9XUkVUX1RBR01FTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwg bW1HQ0VBX0VEQ19DTlQpLCAwLCAzMiwKKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVCwg V1JFVF9UQUdNRU1fU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVCwg V1JFVF9UQUdNRU1fREVEX0NPVU5UKSB9LAorCXsgIkVBX0RSQU1SRF9QQUdFTUVNIiwgU09DMTVf UkVHX0VOVFJZKEdDLCAwLCBtbUdDRUFfRURDX0NOVCksIDAsIDMyLAorCSAgUkVHX0ZJRUxEX01B U0soR0NFQV9FRENfQ05ULCBEUkFNUkRfUEFHRU1FTV9TRURfQ09VTlQpLCAwIH0sCisJeyAiRUFf RFJBTVdSX1BBR0VNRU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0NFQV9FRENfQ05UKSwg MCwgMzIsCisJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQsIERSQU1XUl9QQUdFTUVNX1NF RF9DT1VOVCksIDAgfSwKKwl7ICJFQV9JT1JEX0NNRE1FTSIsIFNPQzE1X1JFR19FTlRSWShHQywg MCwgbW1HQ0VBX0VEQ19DTlQpLCAwLCAzMiwKKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NO VCwgSU9SRF9DTURNRU1fU0VEX0NPVU5UKSwgMCB9LAorCXsgIkVBX0lPV1JfQ01ETUVNIiwgU09D MTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdDRUFfRURDX0NOVCksIDAsIDMyLAorCSAgUkVHX0ZJRUxE X01BU0soR0NFQV9FRENfQ05ULCBJT1dSX0NNRE1FTV9TRURfQ09VTlQpLCAwIH0sCisJeyAiRUFf SU9XUl9EQVRBTUVNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdDRUFfRURDX0NOVCksIDAs IDMyLAorCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05ULCBJT1dSX0RBVEFNRU1fU0VEX0NP VU5UKSwgMCB9LAorCXsgIkdNSVJEX0NNRE1FTSIsIFNPQzE1X1JFR19FTlRSWShHQywgMCwgbW1H Q0VBX0VEQ19DTlQyKSwgMCwgMzIsCisJICBSRUdfRklFTERfTUFTSyhHQ0VBX0VEQ19DTlQyLCBH TUlSRF9DTURNRU1fU0VDX0NPVU5UKSwKKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVDIs IEdNSVJEX0NNRE1FTV9ERURfQ09VTlQpIH0sCisJeyAiR01JV1JfQ01ETUVNIiwgU09DMTVfUkVH X0VOVFJZKEdDLCAwLCBtbUdDRUFfRURDX0NOVDIpLCAwLCAzMiwKKwkgIFJFR19GSUVMRF9NQVNL KEdDRUFfRURDX0NOVDIsIEdNSVdSX0NNRE1FTV9TRUNfQ09VTlQpLAorCSAgUkVHX0ZJRUxEX01B U0soR0NFQV9FRENfQ05UMiwgR01JV1JfQ01ETUVNX0RFRF9DT1VOVCkgfSwKKwl7ICJHTUlXUl9E QVRBTUVNIiwgU09DMTVfUkVHX0VOVFJZKEdDLCAwLCBtbUdDRUFfRURDX0NOVDIpLCAwLCAzMiwK KwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVDIsIEdNSVdSX0RBVEFNRU1fU0VDX0NPVU5U KSwKKwkgIFJFR19GSUVMRF9NQVNLKEdDRUFfRURDX0NOVDIsIEdNSVdSX0RBVEFNRU1fREVEX0NP VU5UKSB9LAorCXsgIkdNSVJEX1BBR0VNRU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0NF QV9FRENfQ05UMiksIDAsIDMyLAorCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05UMiwgR01J UkRfUEFHRU1FTV9TRURfQ09VTlQpLCAwIH0sCisJeyAiR01JV1JfUEFHRU1FTSIsIFNPQzE1X1JF R19FTlRSWShHQywgMCwgbW1HQ0VBX0VEQ19DTlQyKSwgMCwgMzIsCisJICBSRUdfRklFTERfTUFT SyhHQ0VBX0VEQ19DTlQyLCBHTUlXUl9QQUdFTUVNX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJNQU1f RDBNRU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0NFQV9FRENfQ05UMiksIDAsIDMyLAor CSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05UMiwgTUFNX0QwTUVNX1NFRF9DT1VOVCksIDAg fSwKKwl7ICJNQU1fRDFNRU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1tR0NFQV9FRENfQ05U MiksIDAsIDMyLAorCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05UMiwgTUFNX0QxTUVNX1NF RF9DT1VOVCksIDAgfSwKKwl7ICJNQU1fRDJNRU0iLCBTT0MxNV9SRUdfRU5UUlkoR0MsIDAsIG1t R0NFQV9FRENfQ05UMiksIDAsIDMyLAorCSAgUkVHX0ZJRUxEX01BU0soR0NFQV9FRENfQ05UMiwg TUFNX0QyTUVNX1NFRF9DT1VOVCksIDAgfSwKKwl7ICJNQU1fRDNNRU0iLCBTT0MxNV9SRUdfRU5U UlkoR0MsIDAsIG1tR0NFQV9FRENfQ05UMiksIDAsIDMyLAorCSAgUkVHX0ZJRUxEX01BU0soR0NF QV9FRENfQ05UMiwgTUFNX0QzTUVNX1NFRF9DT1VOVCksIDAgfSwKK307CisKK3N0YXRpYyBpbnQg Z2Z4X3Y5XzBfcmFzX2Vycm9yX2luamVjdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJ CQkgICAgIHZvaWQgKmluamVjdF9pZikKK3sKKwlzdHJ1Y3QgcmFzX2luamVjdF9pZiAqaW5mbyA9 IChzdHJ1Y3QgcmFzX2luamVjdF9pZiAqKWluamVjdF9pZjsKKwlpbnQgcmV0OworCXN0cnVjdCB0 YV9yYXNfdHJpZ2dlcl9lcnJvcl9pbnB1dCBibG9ja19pbmZvID0geyAwIH07CisKKwlpZiAoYWRl di0+YXNpY190eXBlICE9IENISVBfVkVHQTIwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICgh cmFzX2dmeF9zdWJibG9ja3NbaW5mby0+aGVhZC5zdWJfYmxvY2tfaW5kZXhdLm5hbWUpCisJCXJl dHVybiAtRVBFUk07CisKKwlpZiAoIShyYXNfZ2Z4X3N1YmJsb2Nrc1tpbmZvLT5oZWFkLnN1Yl9i bG9ja19pbmRleF0uc3VwcG9ydGVkX2Vycm9yX3R5cGUgJgorCSAgICAgIGluZm8tPmhlYWQudHlw ZSkpCisJCXJldHVybiAtRVBFUk07CisKKwlibG9ja19pbmZvLmJsb2NrX2lkID0gYW1kZ3B1X3Jh c19ibG9ja190b190YShpbmZvLT5oZWFkLmJsb2NrKTsKKwlibG9ja19pbmZvLnN1Yl9ibG9ja19p bmRleCA9CisJCXJhc19nZnhfc3ViYmxvY2tzW2luZm8tPmhlYWQuc3ViX2Jsb2NrX2luZGV4XS50 YV9zdWJibG9jazsKKwlibG9ja19pbmZvLmluamVjdF9lcnJvcl90eXBlID0gYW1kZ3B1X3Jhc19l cnJvcl90b190YShpbmZvLT5oZWFkLnR5cGUpOworCWJsb2NrX2luZm8uYWRkcmVzcyA9IGluZm8t PmFkZHJlc3M7CisJYmxvY2tfaW5mby52YWx1ZSA9IGluZm8tPnZhbHVlOworCisJbXV0ZXhfbG9j aygmYWRldi0+Z3JibV9pZHhfbXV0ZXgpOworCXJldCA9IHBzcF9yYXNfdHJpZ2dlcl9lcnJvcigm YWRldi0+cHNwLCAmYmxvY2tfaW5mbyk7CisJbXV0ZXhfdW5sb2NrKCZhZGV2LT5ncmJtX2lkeF9t dXRleCk7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGdmeF92OV8wX3F1ZXJ5X3Jh c19lcnJvcl9jb3VudChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKKwkJCQkJICB2b2lkICpy YXNfZXJyb3Jfc3RhdHVzKQoreworCXN0cnVjdCByYXNfZXJyX2RhdGEgKmVycl9kYXRhID0gKHN0 cnVjdCByYXNfZXJyX2RhdGEgKilyYXNfZXJyb3Jfc3RhdHVzOworCXVpbnQzMl90IHNlY19jb3Vu dCwgZGVkX2NvdW50OworCXVpbnQzMl90IGk7CisJdWludDMyX3QgcmVnX3ZhbHVlOworCXVpbnQz Ml90IHNlX2lkLCBpbnN0YW5jZV9pZDsKKworCWlmIChhZGV2LT5hc2ljX3R5cGUgIT0gQ0hJUF9W RUdBMjApCisJCXJldHVybiAtRUlOVkFMOworCisJZXJyX2RhdGEtPnVlX2NvdW50ID0gMDsKKwll cnJfZGF0YS0+Y2VfY291bnQgPSAwOworCisJbXV0ZXhfbG9jaygmYWRldi0+Z3JibV9pZHhfbXV0 ZXgpOworCWZvciAoc2VfaWQgPSAwOyBzZV9pZCA8IGFkZXYtPmdmeC5jb25maWcubWF4X3NoYWRl cl9lbmdpbmVzOyBzZV9pZCsrKSB7CisJCWZvciAoaW5zdGFuY2VfaWQgPSAwOyBpbnN0YW5jZV9p ZCA8IDI1NjsgaW5zdGFuY2VfaWQrKykgeworCQkJZm9yIChpID0gMDsKKwkJCSAgICAgaSA8IHNp emVvZihnZnhfcmFzX2VkY19yZWdzKSAvIHNpemVvZihnZnhfcmFzX2VkY19yZWdzWzBdKTsKKwkJ CSAgICAgaSsrKSB7CisJCQkJaWYgKHNlX2lkICE9IDAgJiYKKwkJCQkgICAgIWdmeF9yYXNfZWRj X3JlZ3NbaV0ucGVyX3NlX2luc3RhbmNlKQorCQkJCQljb250aW51ZTsKKwkJCQlpZiAoaW5zdGFu Y2VfaWQgPj0gZ2Z4X3Jhc19lZGNfcmVnc1tpXS5udW1faW5zdGFuY2UpCisJCQkJCWNvbnRpbnVl OworCisJCQkJZ2Z4X3Y5XzBfc2VsZWN0X3NlX3NoKGFkZXYsIHNlX2lkLCAwLAorCQkJCQkJICAg ICAgaW5zdGFuY2VfaWQpOworCisJCQkJcmVnX3ZhbHVlID0gUlJFRzMyKAorCQkJCQlhZGV2LT5y ZWdfb2Zmc2V0W2dmeF9yYXNfZWRjX3JlZ3NbaV0uaXBdCisJCQkJCQkJW2dmeF9yYXNfZWRjX3Jl Z3NbaV0uaW5zdF0KKwkJCQkJCQlbZ2Z4X3Jhc19lZGNfcmVnc1tpXS5zZWddICsKKwkJCQkJZ2Z4 X3Jhc19lZGNfcmVnc1tpXS5yZWdfb2Zmc2V0KTsKKwkJCQlzZWNfY291bnQgPSByZWdfdmFsdWUg JgorCQkJCQkgICAgZ2Z4X3Jhc19lZGNfcmVnc1tpXS5zZWNfY291bnRfbWFzazsKKwkJCQlkZWRf Y291bnQgPSByZWdfdmFsdWUgJgorCQkJCQkgICAgZ2Z4X3Jhc19lZGNfcmVnc1tpXS5kZWRfY291 bnRfbWFzazsKKwkJCQlpZiAoc2VjX2NvdW50KSB7CisJCQkJCURSTV9JTkZPKAorCQkJCQkJIklu c3RhbmNlWyVkXVslZF06IFN1YkJsb2NrICVzLCBTRUMgJWRcbiIsCisJCQkJCQlzZV9pZCwgaW5z dGFuY2VfaWQsCisJCQkJCQlnZnhfcmFzX2VkY19yZWdzW2ldLm5hbWUsCisJCQkJCQlzZWNfY291 bnQpOworCQkJCQllcnJfZGF0YS0+Y2VfY291bnQrKzsKKwkJCQl9CisKKwkJCQlpZiAoZGVkX2Nv dW50KSB7CisJCQkJCURSTV9JTkZPKAorCQkJCQkJIkluc3RhbmNlWyVkXVslZF06IFN1YkJsb2Nr ICVzLCBERUQgJWRcbiIsCisJCQkJCQlzZV9pZCwgaW5zdGFuY2VfaWQsCisJCQkJCQlnZnhfcmFz X2VkY19yZWdzW2ldLm5hbWUsCisJCQkJCQlkZWRfY291bnQpOworCQkJCQllcnJfZGF0YS0+dWVf Y291bnQrKzsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisJZ2Z4X3Y5XzBfc2VsZWN0X3NlX3NoKGFk ZXYsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYsIDB4ZmZmZmZmZmYpOworCW11dGV4X3VubG9jaygm YWRldi0+Z3JibV9pZHhfbXV0ZXgpOworCisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQgZ2Z4 X3Y5XzBfY3BfZWNjX2Vycm9yX2lycShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKIAkJCQkg IHN0cnVjdCBhbWRncHVfaXJxX3NyYyAqc291cmNlLAogCQkJCSAgc3RydWN0IGFtZGdwdV9pdl9l bnRyeSAqZW50cnkpCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v YW1kLWdmeA==