Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757965AbaGDLNW (ORCPT ); Fri, 4 Jul 2014 07:13:22 -0400 Received: from relay-s04-hub005.domainlocalhost.com ([74.115.207.216]:45124 "EHLO relay-S04-HUB005.domainlocalhost.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752289AbaGDLNV (ORCPT ); Fri, 4 Jul 2014 07:13:21 -0400 Content-Type: multipart/mixed; boundary="_000_77BC725C9062764F874D79F51E1F1A8F4C90DE21S04MBX0104s04lo_" From: Dudley Du To: "Dmitry Torokhov (dmitry.torokhov@gmail.com)" CC: Alan Stern , Benson Leung , Patrik Fimml , "Rafael J. Wysocki" , "linux-kernel@vger.kernel.org" , "linux-input@vger.kernel.org" , Dudley Du Subject: [PATCH v3 12/14] input: cyapa: add gen5 trackpad device baseline and calibrate functions support Thread-Topic: [PATCH v3 12/14] input: cyapa: add gen5 trackpad device baseline and calibrate functions support Thread-Index: Ac+XePOyMrPX7FNpR1CeCQZlrmb2BA== Date: Fri, 4 Jul 2014 11:13:18 +0000 Message-ID: <77BC725C9062764F874D79F51E1F1A8F4C90DE21@S04-MBX01-04.s04.local> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: <77BC725C9062764F874D79F51E1F1A8F4C90DE21@S04-MBX01-04.s04.local> x-originating-ip: [10.30.12.145] MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --_000_77BC725C9062764F874D79F51E1F1A8F4C90DE21S04MBX0104s04lo_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 QWRkIHJlcG9ydCBiYXNlbGluZSBhbmQgZm9yY2UgY2FsaWJyYXRlIGZ1bmN0aW9ucyBzdXBwb3J0 ZWQgZm9yIGdlbjUNCnRyYWNrcGFkIGRldmljZSwgd2hpY2ggdGhlc2UgZnVuY3Rpb25zIGFyZSBz dXBwbGllZCB0aHJvdWdoDQpjeWFwYSBjb3JlIGJhc2VsaW5lIGFuZCBjYWxpYnJhdGUgaW50ZXJm YWNlcy4NClRFU1Q9dGVzdCBvbiBDaHJvbWVib29rcy4NCg0KU2lnbmVkLW9mZi1ieTogRHVkbGV5 IER1IDxkdWRsQGN5cHJlc3MuY29tPg0KLS0tDQogZHJpdmVycy9pbnB1dC9tb3VzZS9jeWFwYV9n ZW41LmMgfCAgNjc2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQogMSBm aWxlIGNoYW5nZWQsIDY3NiBpbnNlcnRpb25zKCspDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2lu cHV0L21vdXNlL2N5YXBhX2dlbjUuYyBiL2RyaXZlcnMvaW5wdXQvbW91c2UvY3lhcGFfZ2VuNS5j DQppbmRleCBkMjVjYWJhLi4wODgyMGViIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9pbnB1dC9tb3Vz ZS9jeWFwYV9nZW41LmMNCisrKyBiL2RyaXZlcnMvaW5wdXQvbW91c2UvY3lhcGFfZ2VuNS5jDQpA QCAtMTUyNyw2ICsxNTI3LDY3OSBAQCBzdGF0aWMgaW50IGN5YXBhX2dlbjVfc2V0X3Bvd2VyX21v ZGUoc3RydWN0IGN5YXBhICpjeWFwYSwNCiAgICAgICAgcmV0dXJuIHJldDsNCiB9DQoNCitzdGF0 aWMgaW50IGN5YXBhX2dlbjVfcmVzdW1lX3NjYW5uaW5nKHN0cnVjdCBjeWFwYSAqY3lhcGEpDQor ew0KKyAgICAgICB1OCBjbWRbN10gPSB7IDB4MDQsIDB4MDAsIDB4MDUsIDB4MDAsIDB4MmYsIDB4 MDAsIDB4MDQgfTsNCisgICAgICAgdTggcmVzcF9kYXRhWzZdOw0KKyAgICAgICBpbnQgcmVzcF9s ZW47DQorICAgICAgIGludCByZXQ7DQorDQorICAgICAgIC8qIFRyeSB0byBkdW1wIGFsbCBidWZm ZXJyZWQgZGF0YSBiZWZvcmUgZG9pbmcgY29tbWFuZC4gKi8NCisgICAgICAgY3lhcGFfZW1wdHlf cGlwX291dHB1dF9kYXRhKGN5YXBhLCBOVUxMLCBOVUxMLCBOVUxMKTsNCisNCisgICAgICAgcmVz cF9sZW4gPSA2Ow0KKyAgICAgICByZXQgPSBjeWFwYV9pMmNfcGlwX2NtZF9pcnFfc3luYyhjeWFw YSwNCisgICAgICAgICAgICAgICAgICAgICAgIGNtZCwgNywNCisgICAgICAgICAgICAgICAgICAg ICAgIHJlc3BfZGF0YSwgJnJlc3BfbGVuLA0KKyAgICAgICAgICAgICAgICAgICAgICAgNTAwLCBj eWFwYV9nZW41X3NvcnRfdHNnX3BpcF9hcHBfcmVzcF9kYXRhKTsNCisgICAgICAgaWYgKHJldCB8 fCByZXNwX2RhdGFbMl0gIT0gR0VONV9BUFBfUkVTUF9SRVBPUlRfSUQgfHwNCisgICAgICAgICAg ICAgICAgICAgICAgIHJlc3BfZGF0YVszXSAhPSBHRU41X1JFU1BfUlNWRF9LRVkgfHwNCisgICAg ICAgICAgICAgICAgICAgICAgIEdFVF9HRU41X0NNRF9DT0RFKHJlc3BfZGF0YVs0XSkgIT0gMHgw NCkNCisgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCisNCisgICAgICAgLyogVHJ5IHRv IGR1bXAgYWxsIGJ1ZmZlcnJlZCBkYXRhIHdoZW4gcmVzdW1pbmcgc2Nhbm5pbmcuICovDQorICAg ICAgIGN5YXBhX2VtcHR5X3BpcF9vdXRwdXRfZGF0YShjeWFwYSwgTlVMTCwgTlVMTCwgTlVMTCk7 DQorDQorICAgICAgIHJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IGN5YXBhX2dlbjVfc3Vz cGVuZF9zY2FubmluZyhzdHJ1Y3QgY3lhcGEgKmN5YXBhKQ0KK3sNCisgICAgICAgdTggY21kWzdd ID0geyAweDA0LCAweDAwLCAweDA1LCAweDAwLCAweDJmLCAweDAwLCAweDAzIH07DQorICAgICAg IHU4IHJlc3BfZGF0YVs2XTsNCisgICAgICAgaW50IHJlc3BfbGVuOw0KKyAgICAgICBpbnQgcmV0 Ow0KKw0KKyAgICAgICAvKiBUcnkgdG8gZHVtcCBhbGwgYnVmZmVycmVkIGRhdGEgYmVmb3JlIGRv aW5nIGNvbW1hbmQuICovDQorICAgICAgIGN5YXBhX2VtcHR5X3BpcF9vdXRwdXRfZGF0YShjeWFw YSwgTlVMTCwgTlVMTCwgTlVMTCk7DQorDQorICAgICAgIHJlc3BfbGVuID0gNjsNCisgICAgICAg cmV0ID0gY3lhcGFfaTJjX3BpcF9jbWRfaXJxX3N5bmMoY3lhcGEsDQorICAgICAgICAgICAgICAg ICAgICAgICBjbWQsIDcsDQorICAgICAgICAgICAgICAgICAgICAgICByZXNwX2RhdGEsICZyZXNw X2xlbiwNCisgICAgICAgICAgICAgICAgICAgICAgIDUwMCwgY3lhcGFfZ2VuNV9zb3J0X3RzZ19w aXBfYXBwX3Jlc3BfZGF0YSk7DQorICAgICAgIGlmIChyZXQgfHwgcmVzcF9kYXRhWzJdICE9IEdF TjVfQVBQX1JFU1BfUkVQT1JUX0lEIHx8DQorICAgICAgICAgICAgICAgICAgICAgICByZXNwX2Rh dGFbM10gIT0gR0VONV9SRVNQX1JTVkRfS0VZIHx8DQorICAgICAgICAgICAgICAgICAgICAgICBH RVRfR0VONV9DTURfQ09ERShyZXNwX2RhdGFbNF0pICE9IDB4MDMpDQorICAgICAgICAgICAgICAg cmV0dXJuIC1FSU5WQUw7DQorDQorICAgICAgIC8qIFRyeSB0byBkdW1wIGFsbCBidWZmZXJyZWQg ZGF0YSB3aGVuIHN1c3BlbmRpbmcgc2Nhbm5pbmcuICovDQorICAgICAgIGN5YXBhX2VtcHR5X3Bp cF9vdXRwdXRfZGF0YShjeWFwYSwgTlVMTCwgTlVMTCwgTlVMTCk7DQorDQorICAgICAgIHJldHVy biAwOw0KK30NCisNCitzdGF0aWMgaW50IGN5YXBhX2dlbjVfY2FsaWJyYXRlX3B3Y3Moc3RydWN0 IGN5YXBhICpjeWFwYSwNCisgICAgICAgICAgICAgICB1OCBjYWxpYnJhdGVfc2Vuc2luZ19tb2Rl X3R5cGUpDQorew0KKyAgICAgICBpbnQgcmV0Ow0KKyAgICAgICB1OCBjbWRbOF07DQorICAgICAg IHU4IHJlc3BfZGF0YVs2XTsNCisgICAgICAgaW50IHJlc3BfbGVuOw0KKw0KKyAgICAgICAvKiBU cnkgdG8gZHVtcCBhbGwgYnVmZmVycmVkIGRhdGEgYmVmb3JlIGRvaW5nIGNvbW1hbmQuICovDQor ICAgICAgIGN5YXBhX2VtcHR5X3BpcF9vdXRwdXRfZGF0YShjeWFwYSwgTlVMTCwgTlVMTCwgTlVM TCk7DQorDQorICAgICAgIGNtZFswXSA9IDB4MDQ7DQorICAgICAgIGNtZFsxXSA9IDB4MDA7DQor ICAgICAgIGNtZFsyXSA9IDB4MDY7DQorICAgICAgIGNtZFszXSA9IDB4MDA7DQorICAgICAgIGNt ZFs0XSA9IEdFTjVfQVBQX0NNRF9SRVBPUlRfSUQ7DQorICAgICAgIGNtZFs1XSA9IDB4MDA7DQor ICAgICAgIGNtZFs2XSA9IEdFTjVfQ01EX0NBTElCUkFURTsNCisgICAgICAgY21kWzddID0gY2Fs aWJyYXRlX3NlbnNpbmdfbW9kZV90eXBlOw0KKyAgICAgICByZXNwX2xlbiA9IHNpemVvZihyZXNw X2RhdGEpOw0KKyAgICAgICByZXQgPSBjeWFwYV9pMmNfcGlwX2NtZF9pcnFfc3luYyhjeWFwYSwN CisgICAgICAgICAgICAgICAgICAgICAgIGNtZCwgc2l6ZW9mKGNtZCksDQorICAgICAgICAgICAg ICAgICAgICAgICByZXNwX2RhdGEsICZyZXNwX2xlbiwNCisgICAgICAgICAgICAgICAgICAgICAg IDUwMDAsIGN5YXBhX2dlbjVfc29ydF90c2dfcGlwX2FwcF9yZXNwX2RhdGEpOw0KKyAgICAgICBp ZiAocmV0IHx8IHJlc3BfZGF0YVsyXSAhPSBHRU41X0FQUF9SRVNQX1JFUE9SVF9JRCB8fA0KKyAg ICAgICAgICAgICAgICAgICAgICAgR0VUX0dFTjVfQ01EX0NPREUocmVzcF9kYXRhWzRdKSAhPSBH RU41X0NNRF9DQUxJQlJBVEUgfHwNCisgICAgICAgICAgICAgICAgICAgICAgICFHRU41X0NNRF9D T01QTEVURV9TVUNDRVNTKHJlc3BfZGF0YVs1XSkpDQorICAgICAgICAgICAgICAgcmV0dXJuIHJl dCA8IDAgPyByZXQgOiAtRUFHQUlOOw0KKw0KKyAgICAgICByZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIHNzaXplX3QgY3lhcGFfZ2VuNV9kb19jYWxpYnJhdGUoc3RydWN0IGRldmljZSAqZGV2LA0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmli dXRlICphdHRyLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNo YXIgKmJ1Ziwgc2l6ZV90IGNvdW50KQ0KK3sNCisgICAgICAgc3RydWN0IGN5YXBhICpjeWFwYSA9 IGRldl9nZXRfZHJ2ZGF0YShkZXYpOw0KKyAgICAgICBpbnQgcmV0LCBjYWxpYnJhdGVfcmV0Ow0K Kw0KKyAgICAgICAvKiAxLiBzdXNwZW5kIFNjYW5uaW5nKi8NCisgICAgICAgcmV0ID0gY3lhcGFf Z2VuNV9zdXNwZW5kX3NjYW5uaW5nKGN5YXBhKTsNCisgICAgICAgaWYgKHJldCkNCisgICAgICAg ICAgICAgICByZXR1cm4gcmV0Ow0KKw0KKyAgICAgICAvKiAyLiBkbyBtdXR1YWwgY2FwYWNpdGFu Y2UgZmluZSBjYWxpYnJhdGUuICovDQorICAgICAgIGNhbGlicmF0ZV9yZXQgPSBjeWFwYV9nZW41 X2NhbGlicmF0ZV9wd2NzKGN5YXBhLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBD WUFQQV9TRU5TSU5HX01PREVfTVVUVUFMX0NBUF9GSU5FKTsNCisgICAgICAgaWYgKGNhbGlicmF0 ZV9yZXQpDQorICAgICAgICAgICAgICAgZ290byByZXN1bWVfc2Nhbm5pbmc7DQorDQorICAgICAg IC8qIDMuIGRvIHNlbGYgY2FwYWNpdGFuY2UgY2FsaWJyYXRlLiAqLw0KKyAgICAgICBjYWxpYnJh dGVfcmV0ID0gY3lhcGFfZ2VuNV9jYWxpYnJhdGVfcHdjcyhjeWFwYSwNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ1lBUEFfU0VOU0lOR19NT0RFX1NFTEZfQ0FQKTsNCisgICAgICAg aWYgKGNhbGlicmF0ZV9yZXQpDQorICAgICAgICAgICAgICAgZ290byByZXN1bWVfc2Nhbm5pbmc7 DQorDQorcmVzdW1lX3NjYW5uaW5nOg0KKyAgICAgICAvKiA0LiByZXN1bWUgU2Nhbm5pbmcqLw0K KyAgICAgICByZXQgPSBjeWFwYV9nZW41X3Jlc3VtZV9zY2FubmluZyhjeWFwYSk7DQorICAgICAg IGlmIChyZXQgfHwgY2FsaWJyYXRlX3JldCkNCisgICAgICAgICAgICAgICByZXR1cm4gcmV0ID8g cmV0IDogY2FsaWJyYXRlX3JldDsNCisNCisgICAgICAgcmV0dXJuIGNvdW50Ow0KK30NCisNCitz dGF0aWMgczMyIHR3b19jb21wbGVtZW50X3RvX3MzMihzMzIgdmFsdWUsIGludCBudW1fYml0cykN Cit7DQorICAgICAgIGlmICh2YWx1ZSA+PiAobnVtX2JpdHMgLSAxKSkNCisgICAgICAgICAgICAg ICB2YWx1ZSB8PSAgLTEgPDwgbnVtX2JpdHM7DQorICAgICAgIHJldHVybiB2YWx1ZTsNCit9DQor DQorc3RhdGljIHMzMiBjeWFwYV9wYXJzZV9zdHJ1Y3R1cmVfZGF0YSh1OCBkYXRhX2Zvcm1hdCwg dTggKmJ1ZiwgaW50IGJ1Zl9sZW4pDQorew0KKyAgICAgICBpbnQgZGF0YV9zaXplOw0KKyAgICAg ICBib29sIGJpZ19lbmRpYW47DQorICAgICAgIGJvb2wgdW5zaWduZWRfdHlwZTsNCisgICAgICAg czMyIHZhbHVlOw0KKw0KKyAgICAgICBkYXRhX3NpemUgPSAoZGF0YV9mb3JtYXQgJiAweDA3KTsN CisgICAgICAgYmlnX2VuZGlhbiA9ICgoZGF0YV9mb3JtYXQgJiAweDEwKSA9PSAweDAwKTsNCisg ICAgICAgdW5zaWduZWRfdHlwZSA9ICgoZGF0YV9mb3JtYXQgJiAweDIwKSA9PSAweDAwKTsNCisN CisgICAgICAgaWYgKGJ1Zl9sZW4gPCBkYXRhX3NpemUpDQorICAgICAgICAgICAgICAgcmV0dXJu IDA7DQorDQorICAgICAgIHN3aXRjaCAoZGF0YV9zaXplKSB7DQorICAgICAgIGNhc2UgMToNCisg ICAgICAgICAgICAgICB2YWx1ZSAgPSBidWZbMF07DQorICAgICAgICAgICAgICAgYnJlYWs7DQor ICAgICAgIGNhc2UgMjoNCisgICAgICAgICAgICAgICBpZiAoYmlnX2VuZGlhbikNCisgICAgICAg ICAgICAgICAgICAgICAgIHZhbHVlID0gZ2V0X3VuYWxpZ25lZF9iZTE2KGJ1Zik7DQorICAgICAg ICAgICAgICAgZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBnZXRfdW5hbGln bmVkX2xlMTYoYnVmKTsNCisgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAgY2FzZSA0Og0K KyAgICAgICAgICAgICAgIGlmIChiaWdfZW5kaWFuKQ0KKyAgICAgICAgICAgICAgICAgICAgICAg dmFsdWUgPSBnZXRfdW5hbGlnbmVkX2JlMzIoYnVmKTsNCisgICAgICAgICAgICAgICBlbHNlDQor ICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGdldF91bmFsaWduZWRfbGUzMihidWYpOw0K KyAgICAgICAgICAgICAgIGJyZWFrOw0KKyAgICAgICBkZWZhdWx0Og0KKyAgICAgICAgICAgICAg IC8qIHNob3VsZCBub3QgaGFwcGVuLCBqdXN0IGFzIGRlZmF1bHQgY2FzZSBoZXJlLiAqLw0KKyAg ICAgICAgICAgICAgIHZhbHVlID0gMDsNCisgICAgICAgICAgICAgICBicmVhazsNCisgICAgICAg fQ0KKw0KKyAgICAgICBpZiAoIXVuc2lnbmVkX3R5cGUpDQorICAgICAgICAgICAgICAgdmFsdWUg PSB0d29fY29tcGxlbWVudF90b19zMzIodmFsdWUsIGRhdGFfc2l6ZSAqIDgpOw0KKw0KKyAgICAg ICByZXR1cm4gdmFsdWU7DQorfQ0KKw0KKw0KKy8qDQorICogUmVhZCBhbGwgdGhlIGdsb2JhbCBt dXR1YWwgb3Igc2VsZiBpZGFjIGRhdGEgb3IgbXV0dWFsIG9yIHNlbGYgbG9jYWwgUFdDDQorICog ZGF0YSBiYXNlZCBvbiB0aGUgQGlkYWNfZGF0YV90eXBlLg0KKyAqIElmIHRoZSBpbnB1dCB2YWx1 ZSBvZiBAZGF0YV9zaXplIGlzIDAsIHRoZW4gbWVhbnMgcmVhZCBnbG9iYWwgbXV0dWFsIG9yDQor ICogc2VsZiBpZGFjIGRhdGEuIEZvciByZWFkIGdsb2JhbCBtdXR1YWwgaWRhYyBkYXRhLCBAaWRh Y19tYXgsIEBpZGFjX21pbiBhbmQNCisgKiBAaWRhY19hdmUgYXJlIGluIG9yZGVyIHVzZWQgdG8g cmV0dXJuIHRoZSBtYXggdmFsdWUgb2YgZ2xvYmFsIG11dHVhbCBpZGFjDQorICogZGF0YSwgdGhl IG1pbiB2YWx1ZSBvZiBnbG9iYWwgbXV0dWFsIGlkYWMgYW5kIHRoZSBhdmVyYWdlIHZhbHVlIG9m IHRoZQ0KKyAqIGdsb2JhbCBtdXR1YWwgaWRhYyBkYXRhLiBGb3IgcmVhZCBnbG9iYWwgc2VsZiBp ZGFjIGRhdGEsIEBpZGFjX21heCBpcyB1c2VkDQorICogdG8gcmV0dXJuIHRoZSBnbG9iYWwgc2Vs ZiBjYXAgaWRhYyBkYXRhIGluIFJ4IGRpcmVjdGlvbiwgQGlkYWNfbWluIGlzIHVzZWQNCisgKiB0 byByZXR1cm4gdGhlIGdsb2JhbCBzZWxmIGNhcCBpZGFjIGRhdGEgaW4gVHggZGlyZWN0aW9uLiBA aWRhY19hdmUgaXMgbm90DQorICogdXNlZC4NCisgKiBJZiB0aGUgaW5wdXQgdmFsdWUgb2YgQGRh dGFfc2l6ZSBpcyBub3QgMCwgdGhhbiBtZWFucyByZWFkIHRoZSBtdXR1YWwgb3INCisgKiBzZWxm IGxvY2FsIFBXQyBkYXRhLiBUaGUgQGlkYWNfbWF4LCBAaWRhY19taW4gYW5kIEBpZGFjX2F2ZSBh cmUgdXNlZCB0bw0KKyAqIHJldHVybiB0aGUgbWF4LCBtaW4gYW5kIGF2ZXJhZ2UgdmFsdWUgb2Yg dGhlIG11dHVhbCBvciBzZWxmIGxvY2FsIFBXQyBkYXRhLg0KKyAqIE5vdGUsIGluIG9yZGVyIHRv IHJhZWQgbXV0dWFsIGxvY2FsIFBXQyBkYXRhLCBtdXN0IHJlYWQgaW52b2tlIHRoaXMgZnVuY3Rp b24NCisgKiB0byByZWFkIHRoZSBtdXR1YWwgZ2xvYmFsIGlkYWMgZGF0YSBmaXJzdGx5IHRvIHNl dCB0aGUgY29ycmVjdCBSeCBudW1iZXINCisgKiB2YWx1ZSwgb3RoZXJ3aXNlLCB0aGUgcmVhZCBt dXR1YWwgaWRhYyBhbmQgUFdDIGRhdGEgbWF5IG5vdCBjb3JyZWN0Lg0KKyAqLw0KK3N0YXRpYyBp bnQgY3lhcGFfZ2VuNV9yZWFkX2lkYWNfZGF0YShzdHJ1Y3QgY3lhcGEgKmN5YXBhLA0KKyAgICAg ICAgICAgICAgIHU4IGNtZF9jb2RlLCB1OCBpZGFjX2RhdGFfdHlwZSwgaW50ICpkYXRhX3NpemUs DQorICAgICAgICAgICAgICAgaW50ICppZGFjX21heCwgaW50ICppZGFjX21pbiwgaW50ICppZGFj X2F2ZSkNCit7DQorICAgICAgIGludCByZXQ7DQorICAgICAgIGludCBpOw0KKyAgICAgICB1OCBj bWRbMTJdOw0KKyAgICAgICB1OCByZXNwX2RhdGFbMjU2XTsNCisgICAgICAgaW50IHJlc3BfbGVu Ow0KKyAgICAgICBpbnQgcmVhZF9sZW47DQorICAgICAgIGludCB2YWx1ZTsNCisgICAgICAgdTE2 IG9mZnNldDsNCisgICAgICAgaW50IHJlYWRfZWxlbWVudHM7DQorICAgICAgIGJvb2wgcmVhZF9n bG9iYWxfaWRhYzsNCisgICAgICAgaW50IHN1bSwgY291bnQsIG1heF9lbGVtZW50X2NudDsNCisg ICAgICAgaW50IHRtcF9tYXgsIHRtcF9taW4sIHRtcF9hdmUsIHRtcF9zdW0sIHRtcF9jb3VudCwg dG1wX21heF9lbGVtZW50czsNCisgICAgICAgaW50IGVsZWN0cm9kZXNfcng7DQorDQorICAgICAg IGlmIChjbWRfY29kZSAhPSBHRU41X0NNRF9SRVRSSUVWRV9EQVRBX1NUUlVDVFVSRSB8fA0KKyAg ICAgICAgICAgICAgIChpZGFjX2RhdGFfdHlwZSAhPSBHRU41X1JFVFJJRVZFX01VVFVBTF9QV0Nf REFUQSAmJg0KKyAgICAgICAgICAgICAgIGlkYWNfZGF0YV90eXBlICE9IEdFTjVfUkVUUklFVkVf U0VMRl9DQVBfUFdDX0RBVEEpIHx8DQorICAgICAgICAgICAgICAgIWRhdGFfc2l6ZSB8fCAhaWRh Y19tYXggfHwgIWlkYWNfbWluIHx8ICFpZGFjX2F2ZSkNCisgICAgICAgICAgICAgICByZXR1cm4g LUVJTlZBTDsNCisNCisgICAgICAgKmlkYWNfbWF4ID0gSU5UX01JTjsNCisgICAgICAgKmlkYWNf bWluID0gSU5UX01BWDsNCisgICAgICAgc3VtID0gY291bnQgPSB0bXBfY291bnQgPSAwOw0KKyAg ICAgICBlbGVjdHJvZGVzX3J4ID0gMDsNCisgICAgICAgdG1wX21heF9lbGVtZW50cyA9IDA7DQor ICAgICAgIGlmICgqZGF0YV9zaXplID09IDApIHsNCisgICAgICAgICAgICAgICAvKiBSZWFkIGds b2JhbCBpZGFjIHZhbHVlcyBmaXJzdGx5Lg0KKyAgICAgICAgICAgICAgICAqIEN1cnJlbnRseSwg bm8gaWRhYyBkYXRhIGV4Y2VlZCA0IGJ5dGVzLiAqLw0KKyAgICAgICAgICAgICAgIHJlYWRfZ2xv YmFsX2lkYWMgPSB0cnVlOw0KKyAgICAgICAgICAgICAgIG9mZnNldCA9IDA7DQorICAgICAgICAg ICAgICAgKmRhdGFfc2l6ZSA9IDQ7DQorDQorICAgICAgICAgICAgICAgaWYgKGlkYWNfZGF0YV90 eXBlID09IEdFTjVfUkVUUklFVkVfTVVUVUFMX1BXQ19EQVRBKSB7DQorICAgICAgICAgICAgICAg ICAgICAgICBpZiAoY3lhcGEtPmVsZWN0cm9kZXNfcnggPT0gMCkgew0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBpZiAoY3lhcGEtPmVsZWN0cm9kZXNfeSA+IGN5YXBhLT5lbGVjdHJv ZGVzX3gpIHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGVjdHJv ZGVzX3J4ID0gY3lhcGEtPmVsZWN0cm9kZXNfeTsNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0bXBfbWF4X2VsZW1lbnRzID0gY3lhcGEtPmVsZWN0cm9kZXNfeDsNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBlbGVjdHJvZGVzX3J4ID0gY3lhcGEtPmVsZWN0cm9kZXNf eDsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBfbWF4X2VsZW1l bnRzID0gY3lhcGEtPmVsZWN0cm9kZXNfeTsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQ0KKyAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZWxlY3Ryb2Rlc19yeCA9IGN5YXBhLT5lbGVjdHJvZGVzX3J4Ow0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBfbWF4X2VsZW1lbnRzID0gMDsgIC8qIGRp c2FibGUgUnggZGV0ZWN0LiAqLw0KKyAgICAgICAgICAgICAgICAgICAgICAgfQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgbWF4X2VsZW1lbnRfY250ID0gKChlbGVjdHJvZGVzX3J4ICsgNykgLyA4 KSAqIDg7DQorICAgICAgICAgICAgICAgICAgICAgICB0bXBfbWF4ID0gSU5UX01JTjsNCisgICAg ICAgICAgICAgICAgICAgICAgIHRtcF9taW4gPSBJTlRfTUFYOw0KKyAgICAgICAgICAgICAgICAg ICAgICAgdG1wX2F2ZSA9IHRtcF9zdW0gPSB0bXBfY291bnQgPSAwOw0KKyAgICAgICAgICAgICAg IH0gZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgbWF4X2VsZW1lbnRfY250ID0gMjsNCisg ICAgICAgfSBlbHNlIHsNCisgICAgICAgICAgICAgICByZWFkX2dsb2JhbF9pZGFjID0gZmFsc2U7 DQorICAgICAgICAgICAgICAgaWYgKCpkYXRhX3NpemUgPiA0KQ0KKyAgICAgICAgICAgICAgICAg ICAgICAgKmRhdGFfc2l6ZSA9IDQ7DQorICAgICAgICAgICAgICAgLyogY2FsY3VsYXRlIHRoZSBz dGFydCBvZmZzZXQgaW4gYnl0ZXMgb2YgbG9jYWwgUFdDIGRhdGEuICovDQorICAgICAgICAgICAg ICAgaWYgKGlkYWNfZGF0YV90eXBlID09IEdFTjVfUkVUUklFVkVfTVVUVUFMX1BXQ19EQVRBKSB7 DQorICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQgPSAoKGN5YXBhLT5lbGVjdHJvZGVzX3J4 ICsgNykgLyA4KSAqIDgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICogKCpkYXRhX3NpemUpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgaWYgKGN5YXBh LT5lbGVjdHJvZGVzX3J4ID09IGN5YXBhLT5lbGVjdHJvZGVzX3gpDQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRtcF9jb3VudCA9IGN5YXBhLT5lbGVjdHJvZGVzX3k7DQorICAgICAg ICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRt cF9jb3VudCA9IGN5YXBhLT5lbGVjdHJvZGVzX3g7DQorICAgICAgICAgICAgICAgICAgICAgICBt YXhfZWxlbWVudF9jbnQgPSAoKGN5YXBhLT5lbGVjdHJvZGVzX3J4ICsgNykgLyA4KSAqDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4ICogdG1wX2NvdW50 Ow0KKyAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaWRhY19kYXRhX3R5cGUgPT0gR0VONV9SRVRS SUVWRV9TRUxGX0NBUF9QV0NfREFUQSkgew0KKyAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0 ID0gMjsNCisgICAgICAgICAgICAgICAgICAgICAgIG1heF9lbGVtZW50X2NudCA9IGN5YXBhLT5l bGVjdHJvZGVzX3ggKw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY3lhcGEtPmVsZWN0cm9kZXNfeTsNCisgICAgICAgICAgICAgICB9DQorICAgICAgIH0N CisNCisgICAgICAgZG8gew0KKyAgICAgICAgICAgICAgIHJlYWRfZWxlbWVudHMgPSAoMjU2IC0g MTApIC8gKCpkYXRhX3NpemUpOw0KKyAgICAgICAgICAgICAgIHJlYWRfZWxlbWVudHMgPSBtaW4o cmVhZF9lbGVtZW50cywgbWF4X2VsZW1lbnRfY250IC0gY291bnQpOw0KKyAgICAgICAgICAgICAg IHJlYWRfbGVuID0gcmVhZF9lbGVtZW50cyAqICgqZGF0YV9zaXplKTsNCisNCisgICAgICAgICAg ICAgICBjbWRbMF0gPSAweDA0Ow0KKyAgICAgICAgICAgICAgIGNtZFsxXSA9IDB4MDA7DQorICAg ICAgICAgICAgICAgY21kWzJdID0gMHgwYTsNCisgICAgICAgICAgICAgICBjbWRbM10gPSAweDAw Ow0KKyAgICAgICAgICAgICAgIGNtZFs0XSA9IEdFTjVfQVBQX0NNRF9SRVBPUlRfSUQ7DQorICAg ICAgICAgICAgICAgY21kWzVdID0gMHgwMDsNCisgICAgICAgICAgICAgICBjbWRbNl0gPSBjbWRf Y29kZTsNCisgICAgICAgICAgICAgICBwdXRfdW5hbGlnbmVkX2xlMTYob2Zmc2V0LCAmY21kWzdd KTsgLyogUmVhZCBPZmZzZXRbMTU6MF0gKi8NCisgICAgICAgICAgICAgICBwdXRfdW5hbGlnbmVk X2xlMTYocmVhZF9sZW4sICZjbWRbOV0pOyAvKiBSZWFkIExlbmd0aFsxNTowXSAqLw0KKyAgICAg ICAgICAgICAgIGNtZFsxMV0gPSBpZGFjX2RhdGFfdHlwZTsNCisgICAgICAgICAgICAgICByZXNw X2xlbiA9IDEwICsgcmVhZF9sZW47DQorICAgICAgICAgICAgICAgcmV0ID0gY3lhcGFfaTJjX3Bp cF9jbWRfaXJxX3N5bmMoY3lhcGEsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNt ZCwgMTIsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BfZGF0YSwgJnJlc3Bf bGVuLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDAsIGN5YXBhX2dlbjVfc29y dF90c2dfcGlwX2FwcF9yZXNwX2RhdGEpOw0KKyAgICAgICAgICAgICAgIGlmIChyZXQgfHwgcmVz cF9sZW4gPCAxMCB8fCByZXNwX2RhdGFbMl0gIT0NCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHRU41X0FQUF9SRVNQX1JFUE9SVF9JRCB8fA0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHRVRfR0VONV9DTURfQ09ERShyZXNwX2RhdGFbNF0pICE9IGNtZF9j b2RlIHx8DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICFHRU41X0NNRF9DT01QTEVU RV9TVUNDRVNTKHJlc3BfZGF0YVs1XSkgfHwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcmVzcF9kYXRhWzZdICE9IGlkYWNfZGF0YV90eXBlKQ0KKyAgICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIChyZXQgPCAwKSA/IHJldCA6IC1FQUdBSU47DQorICAgICAgICAgICAgICAgcmVh ZF9sZW4gPSBnZXRfdW5hbGlnbmVkX2xlMTYoJnJlc3BfZGF0YVs3XSk7DQorICAgICAgICAgICAg ICAgaWYgKHJlYWRfbGVuID09IDApDQorICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisN CisgICAgICAgICAgICAgICAqZGF0YV9zaXplID0gKHJlc3BfZGF0YVs5XSAmIEdFTjVfUFdDX0RB VEFfRUxFTUVOVF9TSVpFX01BU0spOw0KKyAgICAgICAgICAgICAgIGlmIChyZWFkX2xlbiA8ICpk YXRhX3NpemUpDQorICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCisNCisg ICAgICAgICAgICAgICBpZiAocmVhZF9nbG9iYWxfaWRhYyAmJg0KKyAgICAgICAgICAgICAgICAg ICAgICAgaWRhY19kYXRhX3R5cGUgPT0gR0VONV9SRVRSSUVWRV9TRUxGX0NBUF9QV0NfREFUQSkg ew0KKyAgICAgICAgICAgICAgICAgICAgICAgLyogUngncyBzZWxmIGdsb2JhbCBpZGFjIGRhdGEu ICovDQorICAgICAgICAgICAgICAgICAgICAgICAqaWRhY19tYXggPSBjeWFwYV9wYXJzZV9zdHJ1 Y3R1cmVfZGF0YSgNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNw X2RhdGFbOV0sICZyZXNwX2RhdGFbMTBdLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICpkYXRhX3NpemUpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgLyogVHgncyBz ZWxmIGdsb2JhbCBpZGFjIGRhdGEuICovDQorICAgICAgICAgICAgICAgICAgICAgICAqaWRhY19t aW4gPSBjeWFwYV9wYXJzZV9zdHJ1Y3R1cmVfZGF0YSgNCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXNwX2RhdGFbOV0sDQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJnJlc3BfZGF0YVsxMCArICpkYXRhX3NpemVdLA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICpkYXRhX3NpemUpOw0KKyAgICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7DQorICAgICAgICAgICAgICAgfQ0KKw0KKyAgICAgICAgICAgICAgIC8q IHJlYWQgbXV0dWFsIGdsb2JhbCBpZGFjIG9yIGxvY2FsIG11dHVhbC9zZWxmIFBXQyBkYXRhLiAq Lw0KKyAgICAgICAgICAgICAgIG9mZnNldCArPSByZWFkX2xlbjsNCisgICAgICAgICAgICAgICBm b3IgKGkgPSAxMDsgaSA8IChyZWFkX2xlbiArIDEwKTsgaSArPSAqZGF0YV9zaXplKSB7DQorICAg ICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGN5YXBhX3BhcnNlX3N0cnVjdHVyZV9kYXRhKHJl c3BfZGF0YVs5XSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmcmVz cF9kYXRhW2ldLCAqZGF0YV9zaXplKTsNCisgICAgICAgICAgICAgICAgICAgICAgICppZGFjX21p biA9IG1pbih2YWx1ZSwgKmlkYWNfbWluKTsNCisgICAgICAgICAgICAgICAgICAgICAgICppZGFj X21heCA9IG1heCh2YWx1ZSwgKmlkYWNfbWF4KTsNCisNCisgICAgICAgICAgICAgICAgICAgICAg IGlmIChpZGFjX2RhdGFfdHlwZSA9PSBHRU41X1JFVFJJRVZFX01VVFVBTF9QV0NfREFUQSAmJg0K KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBfY291bnQgPCB0bXBfbWF4X2VsZW1l bnRzICYmDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRfZ2xvYmFsX2lkYWMp IHsNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wX21pbiA9IG1pbih2YWx1ZSwg dG1wX21pbik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcF9tYXggPSBtYXgo dmFsdWUsIHRtcF9tYXgpOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBfc3Vt ICs9IHZhbHVlOw0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBfY291bnQrKzsN CisgICAgICAgICAgICAgICAgICAgICAgIH0NCisNCisgICAgICAgICAgICAgICAgICAgICAgIHN1 bSArPSB2YWx1ZTsNCisgICAgICAgICAgICAgICAgICAgICAgIGNvdW50Kys7DQorDQorICAgICAg ICAgICAgICAgICAgICAgICBpZiAoY291bnQgPj0gbWF4X2VsZW1lbnRfY250KQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG91dDsNCisgICAgICAgICAgICAgICB9DQorICAg ICAgIH0gd2hpbGUgKHRydWUpOw0KKw0KK291dDoNCisgICAgICAgKmlkYWNfYXZlID0gY291bnQg PyAoc3VtIC8gY291bnQpIDogMDsNCisNCisgICAgICAgaWYgKHJlYWRfZ2xvYmFsX2lkYWMgJiYN CisgICAgICAgICAgICAgICBpZGFjX2RhdGFfdHlwZSA9PSBHRU41X1JFVFJJRVZFX01VVFVBTF9Q V0NfREFUQSkgew0KKyAgICAgICAgICAgICAgIGlmICh0bXBfY291bnQgPT0gMCkNCisgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybiAwOw0KKyAgICAgICAgICAgICAgIC8qIGFsZ29yaXRobSB0 byBkZXRlY3QgZWxlY3Ryb2Rlc19yeCB2YWx1ZS4gKi8NCisgICAgICAgICAgICAgICB0bXBfYXZl ID0gdG1wX3N1bSAvIHRtcF9jb3VudDsNCisgICAgICAgICAgICAgICB0bXBfY291bnQgPSB0bXBf YXZlICogMTUgLyAxMDA7DQorICAgICAgICAgICAgICAgaWYgKGFicyh0bXBfYXZlIC0gKmlkYWNf YXZlKSA+IHRtcF9jb3VudCB8fA0KKyAgICAgICAgICAgICAgICAgICAgICAgKGFicyh0bXBfYXZl IC0gKmlkYWNfbWluKSA+ICh0bXBfY291bnQgKiAyKSAmJg0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqaWRhY19taW4gPCB0bXBfbWluKSB8fA0KKyAgICAgICAgICAgICAgICAgICAg ICAgKGFicygqaWRhY19tYXggLSB0bXBfYXZlKSA+ICh0bXBfY291bnQgKiAyKSAmJg0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqaWRhY19tYXggPiB0bXBfbWF4KSkgew0KKyAgICAg ICAgICAgICAgICAgICAgICAgLyogb3ZlcmNvdW50IHRoZSBtdXR1YWwgZ2xvYmFsIGlkYWMgdmFs dWVzLiAqLw0KKyAgICAgICAgICAgICAgICAgICAgICAgY3lhcGEtPmVsZWN0cm9kZXNfcnggPSB0 bXBfbWF4X2VsZW1lbnRzOw0KKyAgICAgICAgICAgICAgICAgICAgICAgKmlkYWNfbWluID0gdG1w X21pbjsNCisgICAgICAgICAgICAgICAgICAgICAgICppZGFjX21heCA9IHRtcF9tYXg7DQorICAg ICAgICAgICAgICAgICAgICAgICAqaWRhY19hdmUgPSB0bXBfYXZlOw0KKyAgICAgICAgICAgICAg IH0gZWxzZQ0KKyAgICAgICAgICAgICAgICAgICAgICAgY3lhcGEtPmVsZWN0cm9kZXNfcnggPSBl bGVjdHJvZGVzX3J4Ow0KKyAgICAgICB9DQorDQorICAgICAgIHJldHVybiAwOw0KK30NCisNCitz dGF0aWMgaW50IGN5YXBhX2dlbjVfcmVhZF9tdXR1YWxfaWRhY19kYXRhKHN0cnVjdCBjeWFwYSAq Y3lhcGEsDQorICAgICAgIGludCAqZ2lkYWNfbXV0dWFsX21heCwgaW50ICpnaWRhY19tdXR1YWxf bWluLCBpbnQgKmdpZGFjX211dHVhbF9hdmUsDQorICAgICAgIGludCAqbGlkYWNfbXV0dWFsX21h eCwgaW50ICpsaWRhY19tdXR1YWxfbWluLCBpbnQgKmxpZGFjX211dHVhbF9hdmUpDQorew0KKyAg ICAgICBpbnQgcmV0Ow0KKyAgICAgICBpbnQgZGF0YV9zaXplOw0KKw0KKyAgICAgICAqZ2lkYWNf bXV0dWFsX21heCA9ICpnaWRhY19tdXR1YWxfbWluID0gKmdpZGFjX211dHVhbF9hdmUgPSAwOw0K KyAgICAgICAqbGlkYWNfbXV0dWFsX21heCA9ICpsaWRhY19tdXR1YWxfbWluID0gKmxpZGFjX211 dHVhbF9hdmUgPSAwOw0KKw0KKyAgICAgICBkYXRhX3NpemUgPSAwOw0KKyAgICAgICByZXQgPSBj eWFwYV9nZW41X3JlYWRfaWRhY19kYXRhKGN5YXBhLA0KKyAgICAgICAgICAgICAgIEdFTjVfQ01E X1JFVFJJRVZFX0RBVEFfU1RSVUNUVVJFLA0KKyAgICAgICAgICAgICAgIEdFTjVfUkVUUklFVkVf TVVUVUFMX1BXQ19EQVRBLA0KKyAgICAgICAgICAgICAgICZkYXRhX3NpemUsDQorICAgICAgICAg ICAgICAgZ2lkYWNfbXV0dWFsX21heCwgZ2lkYWNfbXV0dWFsX21pbiwgZ2lkYWNfbXV0dWFsX2F2 ZSk7DQorICAgICAgIGlmIChyZXQpDQorICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCisNCisg ICAgICAgcmV0ID0gY3lhcGFfZ2VuNV9yZWFkX2lkYWNfZGF0YShjeWFwYSwNCisgICAgICAgICAg ICAgICBHRU41X0NNRF9SRVRSSUVWRV9EQVRBX1NUUlVDVFVSRSwNCisgICAgICAgICAgICAgICBH RU41X1JFVFJJRVZFX01VVFVBTF9QV0NfREFUQSwNCisgICAgICAgICAgICAgICAmZGF0YV9zaXpl LA0KKyAgICAgICAgICAgICAgIGxpZGFjX211dHVhbF9tYXgsIGxpZGFjX211dHVhbF9taW4sIGxp ZGFjX211dHVhbF9hdmUpOw0KKyAgICAgICByZXR1cm4gcmV0Ow0KK30NCisNCitzdGF0aWMgaW50 IGN5YXBhX2dlbjVfcmVhZF9zZWxmX2lkYWNfZGF0YShzdHJ1Y3QgY3lhcGEgKmN5YXBhLA0KKyAg ICAgICAgICAgICAgIGludCAqZ2lkYWNfc2VsZl9yeCwgaW50ICpnaWRhY19zZWxmX3R4LA0KKyAg ICAgICAgICAgICAgIGludCAqbGlkYWNfc2VsZl9tYXgsIGludCAqbGlkYWNfc2VsZl9taW4sIGlu dCAqbGlkYWNfc2VsZl9hdmUpDQorew0KKyAgICAgICBpbnQgcmV0Ow0KKyAgICAgICBpbnQgZGF0 YV9zaXplOw0KKw0KKyAgICAgICAqZ2lkYWNfc2VsZl9yeCA9ICpnaWRhY19zZWxmX3R4ID0gMDsN CisgICAgICAgKmxpZGFjX3NlbGZfbWF4ID0gKmxpZGFjX3NlbGZfbWluID0gKmxpZGFjX3NlbGZf YXZlID0gMDsNCisNCisgICAgICAgZGF0YV9zaXplID0gMDsNCisgICAgICAgcmV0ID0gY3lhcGFf Z2VuNV9yZWFkX2lkYWNfZGF0YShjeWFwYSwNCisgICAgICAgICAgICAgICBHRU41X0NNRF9SRVRS SUVWRV9EQVRBX1NUUlVDVFVSRSwNCisgICAgICAgICAgICAgICBHRU41X1JFVFJJRVZFX1NFTEZf Q0FQX1BXQ19EQVRBLA0KKyAgICAgICAgICAgICAgICZkYXRhX3NpemUsDQorICAgICAgICAgICAg ICAgbGlkYWNfc2VsZl9tYXgsIGxpZGFjX3NlbGZfbWluLCBsaWRhY19zZWxmX2F2ZSk7DQorICAg ICAgIGlmIChyZXQpDQorICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCisgICAgICAgKmdpZGFj X3NlbGZfcnggPSAqbGlkYWNfc2VsZl9tYXg7DQorICAgICAgICpnaWRhY19zZWxmX3R4ID0gKmxp ZGFjX3NlbGZfbWluOw0KKw0KKyAgICAgICByZXQgPSBjeWFwYV9nZW41X3JlYWRfaWRhY19kYXRh KGN5YXBhLA0KKyAgICAgICAgICAgICAgIEdFTjVfQ01EX1JFVFJJRVZFX0RBVEFfU1RSVUNUVVJF LA0KKyAgICAgICAgICAgICAgIEdFTjVfUkVUUklFVkVfU0VMRl9DQVBfUFdDX0RBVEEsDQorICAg ICAgICAgICAgICAgJmRhdGFfc2l6ZSwNCisgICAgICAgICAgICAgICBsaWRhY19zZWxmX21heCwg bGlkYWNfc2VsZl9taW4sIGxpZGFjX3NlbGZfYXZlKTsNCisgICAgICAgcmV0dXJuIHJldDsNCit9 DQorDQorc3RhdGljIHNzaXplX3QgY3lhcGFfZ2VuNV9leGVjdXRlX3BhbmVsX3NjYW4oc3RydWN0 IGN5YXBhICpjeWFwYSkNCit7DQorICAgICAgIGludCByZXQ7DQorICAgICAgIHU4IGNtZFs3XTsN CisgICAgICAgdTggcmVzcF9kYXRhWzZdOw0KKyAgICAgICBpbnQgcmVzcF9sZW47DQorDQorICAg ICAgIGNtZFswXSA9IDB4MDQ7DQorICAgICAgIGNtZFsxXSA9IDB4MDA7DQorICAgICAgIGNtZFsy XSA9IDB4MDU7DQorICAgICAgIGNtZFszXSA9IDB4MDA7DQorICAgICAgIGNtZFs0XSA9IEdFTjVf QVBQX0NNRF9SRVBPUlRfSUQ7DQorICAgICAgIGNtZFs1XSA9IDB4MDA7DQorICAgICAgIGNtZFs2 XSA9IEdFTjVfQ01EX0VYRUNVVEVfUEFORUxfU0NBTjsgIC8qIGNvbW1hbmQgY29kZSAqLw0KKyAg ICAgICByZXNwX2xlbiA9IDY7DQorICAgICAgIHJldCA9IGN5YXBhX2kyY19waXBfY21kX2lycV9z eW5jKGN5YXBhLA0KKyAgICAgICAgICAgICAgICAgICAgICAgY21kLCA3LA0KKyAgICAgICAgICAg ICAgICAgICAgICAgcmVzcF9kYXRhLCAmcmVzcF9sZW4sDQorICAgICAgICAgICAgICAgICAgICAg ICA1MDAsIGN5YXBhX2dlbjVfc29ydF90c2dfcGlwX2FwcF9yZXNwX2RhdGEpOw0KKyAgICAgICBp ZiAocmV0IHx8IHJlc3BfbGVuICE9IDYgfHwNCisgICAgICAgICAgICAgICAgICAgICAgIHJlc3Bf ZGF0YVsyXSAhPSBHRU41X0FQUF9SRVNQX1JFUE9SVF9JRCB8fA0KKyAgICAgICAgICAgICAgICAg ICAgICAgR0VUX0dFTjVfQ01EX0NPREUocmVzcF9kYXRhWzRdKSAhPQ0KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBHRU41X0NNRF9FWEVDVVRFX1BBTkVMX1NDQU4gfHwNCisgICAgICAg ICAgICAgICAgICAgICAgICFHRU41X0NNRF9DT01QTEVURV9TVUNDRVNTKHJlc3BfZGF0YVs1XSkp IHsNCisgICAgICAgICAgICAgICBjeWFwYV9nZW41X3Jlc3VtZV9zY2FubmluZyhjeWFwYSk7DQor ICAgICAgICAgICAgICAgcmV0dXJuIChyZXQgPCAwKSA/IHJldCA6IC1FQUdBSU47DQorICAgICAg IH0NCisNCisgICAgICAgcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgY3lhcGFfZ2VuNV9y ZWFkX3BhbmVsX3NjYW5fcmF3X2RhdGEoc3RydWN0IGN5YXBhICpjeWFwYSwNCisgICAgICAgICAg ICAgICB1OCBjbWRfY29kZSwgdTggcmF3X2RhdGFfdHlwZSwgaW50IHJhd19kYXRhX21heF9udW0s DQorICAgICAgICAgICAgICAgaW50ICpyYXdfZGF0YV9tYXgsIGludCAqcmF3X2RhdGFfbWluLCBp bnQgKnJhd19kYXRhX2F2ZSwNCisgICAgICAgICAgICAgICB1OCAqYnVmZmVyKQ0KK3sNCisgICAg ICAgaW50IHJldDsNCisgICAgICAgaW50IGk7DQorICAgICAgIHU4IGNtZFsxMl07DQorICAgICAg IHU4IHJlc3BfZGF0YVsyNTZdOyAgLyogbWF4IGJ5dGVzIGNhbiB0cmFuc2ZlciBvbmUgdGltZS4g Ki8NCisgICAgICAgaW50IHJlc3BfbGVuOw0KKyAgICAgICBpbnQgcmVhZF9lbGVtZW50czsNCisg ICAgICAgaW50IHJlYWRfbGVuOw0KKyAgICAgICB1MTYgb2Zmc2V0Ow0KKyAgICAgICBzMzIgdmFs dWU7DQorICAgICAgIGludCBzdW0sIGNvdW50Ow0KKyAgICAgICBpbnQgZGF0YV9zaXplOw0KKyAg ICAgICBzMzIgKmludHA7DQorDQorICAgICAgIGlmIChjbWRfY29kZSAhPSBHRU41X0NNRF9SRVRS SUVWRV9QQU5FTF9TQ0FOIHx8DQorICAgICAgICAgICAgICAgKHJhd19kYXRhX3R5cGUgPiBHRU41 X1BBTkVMX1NDQU5fU0VMRl9ESUZGQ09VTlQpIHx8DQorICAgICAgICAgICAgICAgIXJhd19kYXRh X21heCB8fCAhcmF3X2RhdGFfbWluIHx8ICFyYXdfZGF0YV9hdmUpDQorICAgICAgICAgICAgICAg cmV0dXJuIC1FSU5WQUw7DQorDQorICAgICAgIGludHAgPSAoczMyICopYnVmZmVyOw0KKyAgICAg ICAqcmF3X2RhdGFfbWF4ID0gSU5UX01JTjsNCisgICAgICAgKnJhd19kYXRhX21pbiA9IElOVF9N QVg7DQorICAgICAgIHN1bSA9IGNvdW50ID0gMDsNCisgICAgICAgb2Zmc2V0ID0gMDsNCisgICAg ICAgcmVhZF9lbGVtZW50cyA9ICgyNTYgLSAxMCkgLyA0OyAgLyogY3VycmVudGx5LCBtYXggZWxl bWVudCBzaXplIGlzIDQuICovDQorICAgICAgIHJlYWRfbGVuID0gcmVhZF9lbGVtZW50cyAqIDQ7 DQorICAgICAgIGRvIHsNCisgICAgICAgICAgICAgICBjbWRbMF0gPSAweDA0Ow0KKyAgICAgICAg ICAgICAgIGNtZFsxXSA9IDB4MDA7DQorICAgICAgICAgICAgICAgY21kWzJdID0gMHgwYTsNCisg ICAgICAgICAgICAgICBjbWRbM10gPSAweDAwOw0KKyAgICAgICAgICAgICAgIGNtZFs0XSA9IEdF TjVfQVBQX0NNRF9SRVBPUlRfSUQ7DQorICAgICAgICAgICAgICAgY21kWzVdID0gMHgwMDsNCisg ICAgICAgICAgICAgICBjbWRbNl0gPSBjbWRfY29kZTsgIC8qIGNvbW1hbmQgY29kZSAqLw0KKyAg ICAgICAgICAgICAgIHB1dF91bmFsaWduZWRfbGUxNihvZmZzZXQsICZjbWRbN10pOw0KKyAgICAg ICAgICAgICAgIHB1dF91bmFsaWduZWRfbGUxNihyZWFkX2VsZW1lbnRzLCAmY21kWzldKTsNCisg ICAgICAgICAgICAgICBjbWRbMTFdID0gcmF3X2RhdGFfdHlwZTsNCisgICAgICAgICAgICAgICBy ZXNwX2xlbiA9IDEwICsgcmVhZF9sZW47DQorDQorICAgICAgICAgICAgICAgcmV0ID0gY3lhcGFf aTJjX3BpcF9jbWRfaXJxX3N5bmMoY3lhcGEsDQorICAgICAgICAgICAgICAgICAgICAgICBjbWQs IDEyLA0KKyAgICAgICAgICAgICAgICAgICAgICAgcmVzcF9kYXRhLCAmcmVzcF9sZW4sDQorICAg ICAgICAgICAgICAgICAgICAgICA1MDAsIGN5YXBhX2dlbjVfc29ydF90c2dfcGlwX2FwcF9yZXNw X2RhdGEpOw0KKyAgICAgICAgICAgICAgIGlmIChyZXQgfHwgcmVzcF9sZW4gPCAxMCB8fA0KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwX2RhdGFbMl0gIT0gR0VONV9BUFBfUkVT UF9SRVBPUlRfSUQgfHwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlc3BfZGF0 YVs0XSAmIDB4N2YpICE9IGNtZF9jb2RlIHx8DQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICFHRU41X0NNRF9DT01QTEVURV9TVUNDRVNTKHJlc3BfZGF0YVs1XSkgfHwNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmVzcF9kYXRhWzZdICE9IHJhd19kYXRhX3R5cGUpDQor ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKHJldCA8IDApID8gcmV0IDogLUVBR0FJTjsN CisNCisgICAgICAgICAgICAgICByZWFkX2VsZW1lbnRzID0gZ2V0X3VuYWxpZ25lZF9sZTE2KCZy ZXNwX2RhdGFbN10pOw0KKyAgICAgICAgICAgICAgIGlmIChyZWFkX2VsZW1lbnRzID09IDApDQor ICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisNCisgICAgICAgICAgICAgICBkYXRhX3Np emUgPSAocmVzcF9kYXRhWzldICYgR0VONV9QV0NfREFUQV9FTEVNRU5UX1NJWkVfTUFTSyk7DQor ICAgICAgICAgICAgICAgb2Zmc2V0ICs9IHJlYWRfZWxlbWVudHM7DQorICAgICAgICAgICAgICAg aWYgKHJlYWRfZWxlbWVudHMpIHsNCisgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDEw Ow0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpIDwgKHJlYWRfZWxlbWVudHMgKiBkYXRh X3NpemUgKyAxMCk7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgKz0gZGF0YV9zaXpl KSB7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gY3lhcGFfcGFyc2Vf c3RydWN0dXJlX2RhdGEocmVzcF9kYXRhWzldLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJnJlc3BfZGF0YVtpXSwgZGF0YV9zaXplKTsNCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKnJhd19kYXRhX21pbiA9IG1pbih2YWx1ZSwgKnJhd19k YXRhX21pbik7DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpyYXdfZGF0YV9tYXgg PSBtYXgodmFsdWUsICpyYXdfZGF0YV9tYXgpOw0KKw0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpZiAoaW50cCkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwdXRfdW5hbGlnbmVkX2xlMzIodmFsdWUsICZpbnRwW2NvdW50XSk7DQorDQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN1bSArPSB2YWx1ZTsNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY291bnQrKzsNCisNCisgICAgICAgICAgICAgICAgICAgICAgIH0NCisgICAg ICAgICAgICAgICB9DQorDQorICAgICAgICAgICAgICAgaWYgKGNvdW50ID49IHJhd19kYXRhX21h eF9udW0pDQorICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCisNCisgICAgICAgICAgICAg ICByZWFkX2VsZW1lbnRzID0gKHNpemVvZihyZXNwX2RhdGEpIC0gMTApIC8gZGF0YV9zaXplOw0K KyAgICAgICAgICAgICAgIHJlYWRfbGVuID0gcmVhZF9lbGVtZW50cyAqIGRhdGFfc2l6ZTsNCisg ICAgICAgfSB3aGlsZSAodHJ1ZSk7DQorDQorICAgICAgICpyYXdfZGF0YV9hdmUgPSBjb3VudCA/ IChzdW0gLyBjb3VudCkgOiAwOw0KKw0KKyAgICAgICByZXR1cm4gMDsNCit9DQorDQorc3RhdGlj IHNzaXplX3QgY3lhcGFfZ2VuNV9zaG93X2Jhc2VsaW5lKHN0cnVjdCBkZXZpY2UgKmRldiwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUg KmF0dHIsIGNoYXIgKmJ1ZikNCit7DQorICAgICAgIHN0cnVjdCBjeWFwYSAqY3lhcGEgPSBkZXZf Z2V0X2RydmRhdGEoZGV2KTsNCisgICAgICAgaW50IHJldCwgZXJyOw0KKyAgICAgICBpbnQgZ2lk YWNfbXV0dWFsX21heCwgZ2lkYWNfbXV0dWFsX21pbiwgZ2lkYWNfbXV0dWFsX2F2ZTsNCisgICAg ICAgaW50IGxpZGFjX211dHVhbF9tYXgsIGxpZGFjX211dHVhbF9taW4sIGxpZGFjX211dHVhbF9h dmU7DQorICAgICAgIGludCBnaWRhY19zZWxmX3J4LCBnaWRhY19zZWxmX3R4Ow0KKyAgICAgICBp bnQgbGlkYWNfc2VsZl9tYXgsIGxpZGFjX3NlbGZfbWluLCBsaWRhY19zZWxmX2F2ZTsNCisgICAg ICAgaW50IHJhd19jYXBfbXV0dWFsX21heCwgcmF3X2NhcF9tdXR1YWxfbWluLCByYXdfY2FwX211 dHVhbF9hdmU7DQorICAgICAgIGludCByYXdfY2FwX3NlbGZfbWF4LCByYXdfY2FwX3NlbGZfbWlu LCByYXdfY2FwX3NlbGZfYXZlOw0KKyAgICAgICBpbnQgbXV0dWFsX2RpZmZkYXRhX21heCwgbXV0 dWFsX2RpZmZkYXRhX21pbiwgbXV0dWFsX2RpZmZkYXRhX2F2ZTsNCisgICAgICAgaW50IHNlbGZf ZGlmZmRhdGFfbWF4LCBzZWxmX2RpZmZkYXRhX21pbiwgc2VsZl9kaWZmZGF0YV9hdmU7DQorICAg ICAgIGludCBtdXR1YWxfYmFzZWxpbmVfbWF4LCBtdXR1YWxfYmFzZWxpbmVfbWluLCBtdXR1YWxf YmFzZWxpbmVfYXZlOw0KKyAgICAgICBpbnQgc2VsZl9iYXNlbGluZV9tYXgsIHNlbGZfYmFzZWxp bmVfbWluLCBzZWxmX2Jhc2VsaW5lX2F2ZTsNCisNCisgICAgICAgaWYgKGN5YXBhLT5zdGF0ZSAh PSBDWUFQQV9TVEFURV9HRU41X0FQUCkNCisgICAgICAgICAgICAgICByZXR1cm4gLUVCVVNZOw0K Kw0KKyAgICAgICAvKiAxLiBzdXNwZW5kIFNjYW5uaW5nKi8NCisgICAgICAgcmV0ID0gY3lhcGFf Z2VuNV9zdXNwZW5kX3NjYW5uaW5nKGN5YXBhKTsNCisgICAgICAgaWYgKHJldCkNCisgICAgICAg ICAgICAgICByZXR1cm4gcmV0Ow0KKw0KKyAgICAgICAvKiAyLiAgcmVhZCBnbG9iYWwgYW5kIGxv Y2FsIG11dHVhbCBJREFDIGRhdGEuICovDQorICAgICAgIGdpZGFjX3NlbGZfcnggPSBnaWRhY19z ZWxmX3R4ID0gMDsNCisgICAgICAgZXJyID0gY3lhcGFfZ2VuNV9yZWFkX211dHVhbF9pZGFjX2Rh dGEoY3lhcGEsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZnaWRhY19tdXR1YWxf bWF4LCAmZ2lkYWNfbXV0dWFsX21pbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JmdpZGFjX211dHVhbF9hdmUsICZsaWRhY19tdXR1YWxfbWF4LA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmbGlkYWNfbXV0dWFsX21pbiwgJmxpZGFjX211dHVhbF9hdmUpOw0KKyAg ICAgICBpZiAoZXJyKQ0KKyAgICAgICAgICAgICAgIGdvdG8gcmVzdW1lX3NjYW5uaW5nOw0KKw0K KyAgICAgICAvKiAzLiAgcmVhZCBnbG9iYWwgYW5kIGxvY2FsIHNlbGYgSURBQyBkYXRhLiAqLw0K KyAgICAgICBlcnIgPSBjeWFwYV9nZW41X3JlYWRfc2VsZl9pZGFjX2RhdGEoY3lhcGEsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZnaWRhY19zZWxmX3J4LCAmZ2lkYWNfc2VsZl90 eCwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmxpZGFjX3NlbGZfbWF4LCAmbGlk YWNfc2VsZl9taW4sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZsaWRhY19zZWxm X2F2ZSk7DQorICAgICAgIGlmIChlcnIpDQorICAgICAgICAgICAgICAgZ290byByZXN1bWVfc2Nh bm5pbmc7DQorDQorICAgICAgIC8qIDQuIGV4ZWN1YXRlIHBhbmVsIHNjYW4uIEl0IG11c3QgYmUg ZXhlY3V0ZWQgYmVmb3JlIHJlYWQgZGF0YS4gKi8NCisgICAgICAgZXJyID0gY3lhcGFfZ2VuNV9l eGVjdXRlX3BhbmVsX3NjYW4oY3lhcGEpOw0KKyAgICAgICBpZiAoZXJyKQ0KKyAgICAgICAgICAg ICAgIGdvdG8gcmVzdW1lX3NjYW5uaW5nOw0KKw0KKyAgICAgICAvKiA1LiByZXRyaXZlIHBhbmVs IHNjYW4sIG11dHVhbCBjYXAgcmF3IGRhdGEuICovDQorICAgICAgIGVyciA9IGN5YXBhX2dlbjVf cmVhZF9wYW5lbF9zY2FuX3Jhd19kYXRhKGN5YXBhLA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHRU41X0NNRF9SRVRSSUVWRV9QQU5FTF9TQ0FOLA0KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHRU41X1BBTkVMX1NDQU5fTVVUVUFMX1JBV19EQVRBLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBjeWFwYS0+ZWxlY3Ryb2Rlc194ICogY3lhcGEtPmVsZWN0 cm9kZXNfeSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJhd19jYXBfbXV0dWFs X21heCwgJnJhd19jYXBfbXV0dWFsX21pbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJnJhd19jYXBfbXV0dWFsX2F2ZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TlVMTCk7DQorICAgICAgIGlmIChlcnIpDQorICAgICAgICAgICAgICAgZ290byByZXN1bWVfc2Nh bm5pbmc7DQorDQorICAgICAgIC8qIDYuIHJldHJpdmUgcGFuZWwgc2Nhbiwgc2VsZiBjYXAgcmF3 IGRhdGEuICovDQorICAgICAgIGVyciA9IGN5YXBhX2dlbjVfcmVhZF9wYW5lbF9zY2FuX3Jhd19k YXRhKGN5YXBhLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRU41X0NNRF9SRVRS SUVWRV9QQU5FTF9TQ0FOLA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRU41X1BB TkVMX1NDQU5fU0VMRl9SQVdfREFUQSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y3lhcGEtPmVsZWN0cm9kZXNfeCArIGN5YXBhLT5lbGVjdHJvZGVzX3ksDQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZyYXdfY2FwX3NlbGZfbWF4LCAmcmF3X2NhcF9zZWxmX21pbiwN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnJhd19jYXBfc2VsZl9hdmUsDQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwpOw0KKyAgICAgICBpZiAoZXJyKQ0KKyAg ICAgICAgICAgICAgIGdvdG8gcmVzdW1lX3NjYW5uaW5nOw0KKw0KKyAgICAgICAvKiA3LiByZXRy aXZlIHBhbmVsIHNjYW4sIG11dHVhbCBjYXAgZGlmZmNvdW50IHJhdyBkYXRhLiAqLw0KKyAgICAg ICBlcnIgPSBjeWFwYV9nZW41X3JlYWRfcGFuZWxfc2Nhbl9yYXdfZGF0YShjeWFwYSwNCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VONV9DTURfUkVUUklFVkVfUEFORUxfU0NBTiwN CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR0VONV9QQU5FTF9TQ0FOX01VVFVBTF9E SUZGQ09VTlQsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YXBhLT5lbGVjdHJv ZGVzX3ggKiBjeWFwYS0+ZWxlY3Ryb2Rlc195LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmbXV0dWFsX2RpZmZkYXRhX21heCwgJm11dHVhbF9kaWZmZGF0YV9taW4sDQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZtdXR1YWxfZGlmZmRhdGFfYXZlLA0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBOVUxMKTsNCisgICAgICAgaWYgKGVycikNCisgICAgICAg ICAgICAgICBnb3RvIHJlc3VtZV9zY2FubmluZzsNCisNCisgICAgICAgLyogOC4gcmV0cml2ZSBw YW5lbCBzY2FuLCBzZWxmIGNhcCBkaWZmY291bnQgcmF3IGRhdGEuICovDQorICAgICAgIGVyciA9 IGN5YXBhX2dlbjVfcmVhZF9wYW5lbF9zY2FuX3Jhd19kYXRhKGN5YXBhLA0KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBHRU41X0NNRF9SRVRSSUVWRV9QQU5FTF9TQ0FOLA0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBHRU41X1BBTkVMX1NDQU5fU0VMRl9ESUZGQ09VTlQs DQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN5YXBhLT5lbGVjdHJvZGVzX3ggKyBj eWFwYS0+ZWxlY3Ryb2Rlc195LA0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmc2Vs Zl9kaWZmZGF0YV9tYXgsICZzZWxmX2RpZmZkYXRhX21pbiwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJnNlbGZfZGlmZmRhdGFfYXZlLA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMKTsNCisgICAgICAgaWYgKGVycikNCisgICAgICAgICAgICAgICBnb3RvIHJl c3VtZV9zY2FubmluZzsNCisNCisgICAgICAgLyogOS4gcmV0cml2ZSBwYW5lbCBzY2FuLCBtdXR1 YWwgY2FwIGJhc2VsaW5lIHJhdyBkYXRhLiAqLw0KKyAgICAgICBlcnIgPSBjeWFwYV9nZW41X3Jl YWRfcGFuZWxfc2Nhbl9yYXdfZGF0YShjeWFwYSwNCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgR0VONV9DTURfUkVUUklFVkVfUEFORUxfU0NBTiwNCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgR0VONV9QQU5FTF9TQ0FOX01VVFVBTF9CQVNFTElORSwNCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY3lhcGEtPmVsZWN0cm9kZXNfeCAqIGN5YXBhLT5lbGVjdHJv ZGVzX3ksDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtdXR1YWxfYmFzZWxpbmVf bWF4LCAmbXV0dWFsX2Jhc2VsaW5lX21pbiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJm11dHVhbF9iYXNlbGluZV9hdmUsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE5VTEwpOw0KKyAgICAgICBpZiAoZXJyKQ0KKyAgICAgICAgICAgICAgIGdvdG8gcmVzdW1lX3Nj YW5uaW5nOw0KKw0KKyAgICAgICAvKiAxMC4gcmV0cml2ZSBwYW5lbCBzY2FuLCBzZWxmIGNhcCBi YXNlbGluZSByYXcgZGF0YS4gKi8NCisgICAgICAgZXJyID0gY3lhcGFfZ2VuNV9yZWFkX3BhbmVs X3NjYW5fcmF3X2RhdGEoY3lhcGEsDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdF TjVfQ01EX1JFVFJJRVZFX1BBTkVMX1NDQU4sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEdFTjVfUEFORUxfU0NBTl9TRUxGX0JBU0VMSU5FLA0KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjeWFwYS0+ZWxlY3Ryb2Rlc194ICsgY3lhcGEtPmVsZWN0cm9kZXNfeSwNCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJnNlbGZfYmFzZWxpbmVfbWF4LCAmc2VsZl9i YXNlbGluZV9taW4sDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzZWxmX2Jhc2Vs aW5lX2F2ZSwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCk7DQorICAgICAg IGlmIChlcnIpDQorICAgICAgICAgICAgICAgZ290byByZXN1bWVfc2Nhbm5pbmc7DQorDQorcmVz dW1lX3NjYW5uaW5nOg0KKyAgICAgICAvKiAxMS4gcmVzdW1lIFNjYW5uaW5nKi8NCisgICAgICAg cmV0ID0gY3lhcGFfZ2VuNV9yZXN1bWVfc2Nhbm5pbmcoY3lhcGEpOw0KKyAgICAgICBpZiAocmV0 IHx8IGVycikNCisgICAgICAgICAgICAgICByZXR1cm4gcmV0ID8gcmV0IDogZXJyOw0KKw0KKyAg ICAgICAvKiAxMi4gb3V0cHV0IGRhdGEgc3RyaW5ncyAqLw0KKyAgICAgICByZXQgPSBzY25wcmlu dGYoYnVmLCBQQUdFX1NJWkUsICIlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAlZCAiLA0K KyAgICAgICAgICAgICAgIGdpZGFjX211dHVhbF9taW4sIGdpZGFjX211dHVhbF9tYXgsIGdpZGFj X211dHVhbF9hdmUsDQorICAgICAgICAgICAgICAgbGlkYWNfbXV0dWFsX21pbiwgbGlkYWNfbXV0 dWFsX21heCwgbGlkYWNfbXV0dWFsX2F2ZSwNCisgICAgICAgICAgICAgICBnaWRhY19zZWxmX3J4 LCBnaWRhY19zZWxmX3R4LA0KKyAgICAgICAgICAgICAgIGxpZGFjX3NlbGZfbWluLCBsaWRhY19z ZWxmX21heCwgbGlkYWNfc2VsZl9hdmUpOw0KKyAgICAgICBlcnIgPSBzY25wcmludGYoYnVmICsg cmV0LCBQQUdFX1NJWkUgLSByZXQsDQorICAgICAgICAgICAgICAgIiVkICVkICVkICVkICVkICVk ICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkICVkXG4iLA0KKyAgICAgICAgICAgICAg IHJhd19jYXBfbXV0dWFsX21pbiwgcmF3X2NhcF9tdXR1YWxfbWF4LCByYXdfY2FwX211dHVhbF9h dmUsDQorICAgICAgICAgICAgICAgcmF3X2NhcF9zZWxmX21pbiwgcmF3X2NhcF9zZWxmX21heCwg cmF3X2NhcF9zZWxmX2F2ZSwNCisgICAgICAgICAgICAgICBtdXR1YWxfZGlmZmRhdGFfbWluLCBt dXR1YWxfZGlmZmRhdGFfbWF4LCBtdXR1YWxfZGlmZmRhdGFfYXZlLA0KKyAgICAgICAgICAgICAg IHNlbGZfZGlmZmRhdGFfbWluLCBzZWxmX2RpZmZkYXRhX21heCwgc2VsZl9kaWZmZGF0YV9hdmUs DQorICAgICAgICAgICAgICAgbXV0dWFsX2Jhc2VsaW5lX21pbiwgbXV0dWFsX2Jhc2VsaW5lX21h eCwgbXV0dWFsX2Jhc2VsaW5lX2F2ZSwNCisgICAgICAgICAgICAgICBzZWxmX2Jhc2VsaW5lX21p biwgc2VsZl9iYXNlbGluZV9tYXgsIHNlbGZfYmFzZWxpbmVfYXZlKTsNCisgICAgICAgcmV0dXJu IHJldCArIGVycjsNCit9DQorDQogc3RhdGljIGJvb2wgY3lhcGFfZ2VuNV9zb3J0X3N5c3RlbV9p bmZvX2RhdGEoc3RydWN0IGN5YXBhICpjeWFwYSwNCiAgICAgICAgICAgICAgICB1OCAqYnVmLCBp bnQgbGVuKQ0KIHsNCkBAIC0xOTMxLDYgKzI2MDQsOSBAQCBjb25zdCBzdHJ1Y3QgY3lhcGFfZGV2 X29wcyBjeWFwYV9nZW41X29wcyA9IHsNCiAgICAgICAgLmJsX2luaXRpYXRlID0gY3lhcGFfZ2Vu NV9ibF9pbml0aWF0ZSwNCiAgICAgICAgLnVwZGF0ZV9mdyA9IGN5YXBhX2dlbjVfZG9fZndfdXBk YXRlLA0KDQorICAgICAgIC5zaG93X2Jhc2VsaW5lID0gY3lhcGFfZ2VuNV9zaG93X2Jhc2VsaW5l LA0KKyAgICAgICAuY2FsaWJyYXRlX3N0b3JlID0gY3lhcGFfZ2VuNV9kb19jYWxpYnJhdGUsDQor DQogICAgICAgIC5pbml0aWFsaXplID0gY3lhcGFfZ2VuNV9pbml0aWFsaXplLA0KICAgICAgICAu dW5pbml0aWFsaXplID0gY3lhcGFfZ2VuNV91bmluaXRpYWxpemUsDQoNCi0tDQoxLjcuOS41DQoN ClRoaXMgbWVzc2FnZSBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250YWluIEN5cHJlc3MgKG9y IGl0cyBzdWJzaWRpYXJpZXMpIGNvbmZpZGVudGlhbCBpbmZvcm1hdGlvbi4gSWYgaXQgaGFzIGJl ZW4gcmVjZWl2ZWQgaW4gZXJyb3IsIHBsZWFzZSBhZHZpc2UgdGhlIHNlbmRlciBhbmQgaW1tZWRp YXRlbHkgZGVsZXRlIHRoaXMgbWVzc2FnZS4NCg== --_000_77BC725C9062764F874D79F51E1F1A8F4C90DE21S04MBX0104s04lo_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" 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 ba1gJ0EBIGwkUHZwL3YQDKEscCNILvaVfX0D9uAwEB8AQgABAAAAFAAAAEQAdQBkAGwAZQB5ACAA RAB1AAAAHwBlAAEAAAAiAAAAZAB1AGQAbABAAGMAeQBwAHIAZQBzAHMALgBjAG8AbQAAAAAAHwBk AAEAAAAKAAAAUwBNAFQAUAAAAAAAAgFBAAEAAABYAAAAAAAAAIErH6S+oxAZnW4A3QEPVAIAAACA RAB1AGQAbABlAHkAIABEAHUAAABTAE0AVABQAAAAZAB1AGQAbABAAGMAeQBwAHIAZQBzAHMALgBj AG8AbQAAAB8AAl0BAAAAIgAAAGQAdQBkAGwAQABjAHkAcAByAGUAcwBzAC4AYwBvAG0AAAAAAB8A 5V8BAAAAKgAAAHMAaQBwADoAZAB1AGQAbABAAGMAeQBwAHIAZQBzAHMALgBjAG8AbQAAAAAAHwAa DAEAAAAUAAAARAB1AGQAbABlAHkAIABEAHUAAAAfAB8MAQAAACIAAABkAHUAZABsAEAAYwB5AHAA cgBlAHMAcwAuAGMAbwBtAAAAAAAfAB4MAQAAAAoAAABTAE0AVABQAAAAAAACARkMAQAAAFgAAAAA AAAAgSsfpL6jEBmdbgDdAQ9UAgAAAIBEAHUAZABsAGUAeQAgAEQAdQAAAFMATQBUAFAAAABkAHUA ZABsAEAAYwB5AHAAcgBlAHMAcwAuAGMAbwBtAAAAHwABXQEAAAAiAAAAZAB1AGQAbABAAGMAeQBw AHIAZQBzAHMALgBjAG8AbQAAAAAAHwD4PwEAAAAUAAAARAB1AGQAbABlAHkAIABEAHUAAAAfACNA AQAAACIAAABkAHUAZABsAEAAYwB5AHAAcgBlAHMAcwAuAGMAbwBtAAAAAAAfACJAAQAAAAoAAABT AE0AVABQAAAAAAACAfk/AQAAAFgAAAAAAAAAgSsfpL6jEBmdbgDdAQ9UAgAAAIBEAHUAZABsAGUA eQAgAEQAdQAAAFMATQBUAFAAAABkAHUAZABsAEAAYwB5AHAAcgBlAHMAcwAuAGMAbwBtAAAAHwAJ XQEAAAAiAAAAZAB1AGQAbABAAGMAeQBwAHIAZQBzAHMALgBjAG8AbQAAAAAAHwAxQAEAAAACAAAA AAAAAAsAQDoBAAAAHwAwQAEAAAACAAAAAAAAAB8AGgABAAAAEgAAAEkAUABNAC4ATgBvAHQAZQAA AAAAAwDxPwQIAAALAEA6AQAAAAMA/T+oAwAAAgELMAEAAAAQAAAAbuvKCdCJIUWLTKowowxDVgMA FwABAAAAQAA5AABbCvV4l88BQAAIMGT0PvV4l88BCwApAAAAAAALACMAAAAAAB8AAICGAwIAAAAA AMAAAAAAAABGAQAAAB4AAABhAGMAYwBlAHAAdABsAGEAbgBnAHUAYQBnAGUAAAAAAAEAAAAaAAAA egBoAC0AQwBOACwAIABlAG4ALQBVAFMAAAAAAAsAAIAIIAYAAAAAAMAAAAAAAABGAAAAAAaFAAAA AAAAHwA3AAEAAADCAAAAWwBQAEEAVABDAEgAIAB2ADMAIAAxADIALwAxADQAXQAgAGkAbgBwAHUA dAA6ACAAYwB5AGEAcABhADoAIABhAGQAZAAgAGcAZQBuADUAIAB0AHIAYQBjAGsAcABhAGQAIABk AGUAdgBpAGMAZQAgAGIAYQBzAGUAbABpAG4AZQAgAGEAbgBkACAAYwBhAGwAaQBiAHIAYQB0AGUA IABmAHUAbgBjAHQAaQBvAG4AcwAgAHMAdQBwAHAAbwByAHQAAAAAAB8APQABAAAAAgAAAAAAAAAD ADYAAAAAAAIBcQABAAAAFgAAAAHPl3jzsjKz1+xTaUdQngkGZa5m9gQAAB8AcAABAAAAwgAAAFsA UABBAFQAQwBIACAAdgAzACAAMQAyAC8AMQA0AF0AIABpAG4AcAB1AHQAOgAgAGMAeQBhAHAAYQA6 ACAAYQBkAGQAIABnAGUAbgA1ACAAdAByAGEAYwBrAHAAYQBkACAAZABlAHYAaQBjAGUAIABiAGEA cwBlAGwAaQBuAGUAIABhAG4AZAAgAGMAYQBsAGkAYgByAGEAdABlACAAZgB1AG4AYwB0AGkAbwBu AHMAIABzAHUAcABwAG8AcgB0AAAAAAAfADUQAQAAAIQAAAA8ADcANwBCAEMANwAyADUAQwA5ADAA NgAyADcANgA0AEYAOAA3ADQARAA3ADkARgA1ADEARQAxAEYAMQBBADgARgA0AEMAOQAwAEQARQAy ADEAQABTADAANAAtAE0AQgBYADAAMQAtADAANAAuAHMAMAA0AC4AbABvAGMAYQBsAD4AAAADAN4/ 6f0AAAsAAIAIIAYAAAAAAMAAAAAAAABGAAAAAAOFAAAAAAAAAwAAgAggBgAAAAAAwAAAAAAAAEYA AAAAAYUAAAAAAAADAACAAyAGAAAAAADAAAAAAAAARgAAAAABgQAAAAAAAAMAgBD/////BQAAgAMg BgAAAAAAwAAAAAAAAEYAAAAAAoEAAAAAAAAAAAAACwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAHIEA AAAAAABAAAcwJrMZ9HiXzwELAAIAAQAAAAMAJgAAAAAAAgEQMAEAAABGAAAAAAAAALEfoTkwIFFG nbSlcN7Qn9QHAHe8clyQYnZPh0159R4fGo8AAACZPBsAALqnPu7L1/dAo3bvNfxhWYkAGIP8w6AA AAAAHwD6PwEAAAAUAAAARAB1AGQAbABlAHkAIABEAHUAAAADAAlZAQAAAAMAAIAIIAYAAAAAAMAA AAAAAABGAAAAABCFAAAAAAAAHwAAgB+k6zOoei5Cvnt54amOVLMBAAAAOAAAAEMAbwBuAHYAZQBy AHMAYQB0AGkAbwBuAEkAbgBkAGUAeABUAHIAYQBjAGsAaQBuAGcARQB4AAAAAQAAALoAAABJAEkA PQAwADEAQwBGADkANwA3ADgARgAzAEIAMgAzADIAQgAzAEQANwBFAEMANQAzADYAOQA0ADcANQAw ADkARQAwADkAMAA2ADYANQBBAEUANgA2AEYANgAwADQAOwBWAGUAcgBzAGkAbwBuAD0AVgBlAHIA cwBpAG8AbgAgADEANAAuADMAIAAoAEIAdQBpAGwAZAAgADEANwA0AC4AMAApACwAIABTAHQAYQBn AGUAPQBIADQAAAAAAAMAAIADIAYAAAAAAMAAAAAAAABGAAAAABOBAAABAAAAAwAAgAMgBgAAAAAA wAAAAAAAAEYAAAAAI4EAAP///38DAACAAyAGAAAAAADAAAAAAAAARgAAAAAQgQAAAAAAAAMAAIAD IAYAAAAAAMAAAAAAAABGAAAAABGBAAAAAAAACwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAJIEAAAAA AAALAACAAyAGAAAAAADAAAAAAAAARgAAAAAsgQAAAAAAAAMAAIADIAYAAAAAAMAAAAAAAABGAAAA ACmBAAAAAAAAAwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAKoEAAAAAAAAfAACAAyAGAAAAAADAAAAA AAAARgAAAAAngQAAAQAAAAIAAAAAAAAAAwAAgAMgBgAAAAAAwAAAAAAAAEYAAAAAEoEAAAEAAAAf AACAAyAGAAAAAADAAAAAAAAARgAAAAAhgQAAAQAAAAIAAAAAAAAACwAAgAMgBgAAAAAAwAAAAAAA AEYAAAAAA4EAAAAAAAALAACAAyAGAAAAAADAAAAAAAAARgAAAAAmgQAAAAAAAAsAAIAIIAYAAAAA AMAAAAAAAABGAAAAAA6FAAAAAAAAAwAAgAggBgAAAAAAwAAAAAAAAEYAAAAAGIUAAAAAAAALAACA CCAGAAAAAADAAAAAAAAARgAAAACChQAAAAAAAAMADTT9PwAAHwAAgIYDAgAAAAAAwAAAAAAAAEYB AAAAIAAAAHgALQBtAHMALQBoAGEAcwAtAGEAdAB0AGEAYwBoAAAAAQAAAAIAAAAAAAAAHwAAgIYD AgAAAAAAwAAAAAAAAEYBAAAAIgAAAHgALQBvAHIAaQBnAGkAbgBhAHQAaQBuAGcALQBpAHAAAAAA AAEAAAAeAAAAWwAxADAALgAzADAALgAxADIALgAxADQANQBdAAAAAACbRw== --_000_77BC725C9062764F874D79F51E1F1A8F4C90DE21S04MBX0104s04lo_-- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/