From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Richter Subject: Re: [PATCH 10/16] drm/i915: Rewrite ns2501 driver a bit Date: Fri, 15 Aug 2014 15:32:08 +0200 Message-ID: <53EE0BD8.3080004@rus.uni-stuttgart.de> References: <1408054928-24141-1-git-send-email-ville.syrjala@linux.intel.com> <1408054928-24141-11-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from charon.rus.uni-stuttgart.de (charon.rus.uni-stuttgart.de [129.69.192.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 985696E7DD for ; Fri, 15 Aug 2014 06:32:19 -0700 (PDT) In-Reply-To: <1408054928-24141-11-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org, Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org T24gMTUuMDguMjAxNCAwMDoyMiwgdmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20gd3JvdGU6 Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4K Pgo+IFRyeSB0byB1c2UgdGhlIHNhbWUgcHJvZ3JhbW1pbmcgc2VxdWVuY2UgYXMgdXNlZCBieSB0 aGUgSUVHRCBkcml2ZXIuCj4KPiBBbHNvIHNob3ZlbCB0aGUgbWFnaWMgcmVnaXN0ZXIgdmFsdWVz IGludG8gYSBiaWcgc3RhdGljIGNvbnN0IGFycmF5Lgo+Cj4gVGhlIHJlZ2lzdGVyIHZhbHVlcyBh cmUgYWN0dWFsbHkgdGhlIGJhc2VkIG9uIHdoYXQgdGhlIEJJT1MgcHJvZ3JhbXMKPiBvbiB0aGUg RnVqaXRzdS1TaWVtZW5zIExpZmVib29rIFM2MDEwLiBJRUdEIHNlZW1lZCB0byBoYXZlIGhhcmRj b2RlZAo+IHJlZ2lzdGVyIHZhbHVlcyAod2hpY2ggYWxzbyBlbmFibGVkIHRoZSBzY2FsZXIgZm9y IDEwMjR4NzY4IG1vZGUpLgo+IEhvd2V2ZXIgdGhvc2UgZGlkbid0IGFjdHVhbGx5IHdvcmsgc28g d2VsbCBvbiB0aGUgUzYwMTAuIFBvc3NpYmx5IHRoZQo+IHBpcGUgdGltaW5ncyB0aGF0IGdvdCB1 c2VkIGRpZG4ndCBtYXRjaCB0aGUgbnMyNTAxIGNvbmZpZ3VyYXRpb24uCj4KPiBTaWduZWQtb2Zm LWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKUmV2 aWV3ZWQtYnk6IFRob21hcyBSaWNodGVyIDxyaWNodGVyQHJ1cy51bmktc3R1dHRnYXJ0LmRlPgoK PiAtLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2R2b19uczI1MDEuYyB8IDUyOSArKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLQo+ICAgMSBmaWxlIGNoYW5nZWQsIDMyNSBp bnNlcnRpb25zKCspLCAyMDQgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZHZvX25zMjUwMS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZHZvX25zMjUw MS5jCj4gaW5kZXggODUwMzBkNC4uYjI3ODU3MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kdm9fbnMyNTAxLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kdm9fbnMy NTAxLmMKPiBAQCAtNjAsMTYgKzYwLDI5MSBAQAo+Cj4gICAjZGVmaW5lIE5TMjUwMV9SRUdDIDB4 MGMKPgo+ICtlbnVtIHsKPiArCU1PREVfNjQweDQ4MCwKPiArCU1PREVfODAweDYwMCwKPiArCU1P REVfMTAyNHg3NjgsCj4gK307Cj4gKwo+ICtzdHJ1Y3QgbnMyNTAxX3JlZyB7Cj4gKwkgdWludDhf dCBvZmZzZXQ7Cj4gKwkgdWludDhfdCB2YWx1ZTsKPiArfTsKPiArCj4gKy8qCj4gKyAqIE1hZ2lj IHZhbHVlcyBiYXNlZCBvbiB3aGF0IHRoZSBCSU9TIG9uCj4gKyAqIEZ1aml0c3UtU2llbWVucyBM aWZlYm9vayBTNjAxMCBwcm9ncmFtcyAoMTAyNHg3NjggcGFuZWwpLgo+ICsgKi8KPiArc3RhdGlj IGNvbnN0IHN0cnVjdCBuczI1MDFfcmVnIHJlZ3NfMTAyNHg3NjhbXVs4Nl0gPSB7Cj4gKwlbTU9E RV82NDB4NDgwXSA9IHsKPiArCQlbMF0gPSB7IC5vZmZzZXQgPSAweDBhLCAudmFsdWUgPSAweDgx LCB9LAo+ICsJCVsxXSA9IHsgLm9mZnNldCA9IDB4MTgsIC52YWx1ZSA9IDB4MDcsIH0sCj4gKwkJ WzJdID0geyAub2Zmc2V0ID0gMHgxOSwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbM10gPSB7IC5v ZmZzZXQgPSAweDFhLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs0XSA9IHsgLm9mZnNldCA9IDB4 MWIsIC52YWx1ZSA9IDB4MTEsIH0sCj4gKwkJWzVdID0geyAub2Zmc2V0ID0gMHgxYywgLnZhbHVl ID0gMHg1NCwgfSwKPiArCQlbNl0gPSB7IC5vZmZzZXQgPSAweDFkLCAudmFsdWUgPSAweDAzLCB9 LAo+ICsJCVs3XSA9IHsgLm9mZnNldCA9IDB4MWUsIC52YWx1ZSA9IDB4MDIsIH0sCj4gKwkJWzhd ID0geyAub2Zmc2V0ID0gMHhmMywgLnZhbHVlID0gMHg5MCwgfSwKPiArCQlbOV0gPSB7IC5vZmZz ZXQgPSAweGY5LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVsxMF0gPSB7IC5vZmZzZXQgPSAweGMx LCAudmFsdWUgPSAweDkwLCB9LAo+ICsJCVsxMV0gPSB7IC5vZmZzZXQgPSAweGMyLCAudmFsdWUg PSAweDAwLCB9LAo+ICsJCVsxMl0gPSB7IC5vZmZzZXQgPSAweGMzLCAudmFsdWUgPSAweDBmLCB9 LAo+ICsJCVsxM10gPSB7IC5vZmZzZXQgPSAweGM0LCAudmFsdWUgPSAweDAzLCB9LAo+ICsJCVsx NF0gPSB7IC5vZmZzZXQgPSAweGM1LCAudmFsdWUgPSAweDE2LCB9LAo+ICsJCVsxNV0gPSB7IC5v ZmZzZXQgPSAweGM2LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVsxNl0gPSB7IC5vZmZzZXQgPSAw eGM3LCAudmFsdWUgPSAweDAyLCB9LAo+ICsJCVsxN10gPSB7IC5vZmZzZXQgPSAweGM4LCAudmFs dWUgPSAweDAyLCB9LAo+ICsJCVsxOF0gPSB7IC5vZmZzZXQgPSAweGY0LCAudmFsdWUgPSAweDAw LCB9LAo+ICsJCVsxOV0gPSB7IC5vZmZzZXQgPSAweDgwLCAudmFsdWUgPSAweGZmLCB9LAo+ICsJ CVsyMF0gPSB7IC5vZmZzZXQgPSAweDgxLCAudmFsdWUgPSAweDA3LCB9LAo+ICsJCVsyMV0gPSB7 IC5vZmZzZXQgPSAweDgyLCAudmFsdWUgPSAweDNkLCB9LAo+ICsJCVsyMl0gPSB7IC5vZmZzZXQg PSAweDgzLCAudmFsdWUgPSAweDA1LCB9LAo+ICsJCVsyM10gPSB7IC5vZmZzZXQgPSAweDk0LCAu dmFsdWUgPSAweDAwLCB9LAo+ICsJCVsyNF0gPSB7IC5vZmZzZXQgPSAweDk1LCAudmFsdWUgPSAw eDAwLCB9LAo+ICsJCVsyNV0gPSB7IC5vZmZzZXQgPSAweDk2LCAudmFsdWUgPSAweDA1LCB9LAo+ ICsJCVsyNl0gPSB7IC5vZmZzZXQgPSAweDk3LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVsyN10g PSB7IC5vZmZzZXQgPSAweDlhLCAudmFsdWUgPSAweDg4LCB9LAo+ICsJCVsyOF0gPSB7IC5vZmZz ZXQgPSAweDliLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVsyOV0gPSB7IC5vZmZzZXQgPSAweDk4 LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVszMF0gPSB7IC5vZmZzZXQgPSAweDk5LCAudmFsdWUg PSAweDAwLCB9LAo+ICsJCVszMV0gPSB7IC5vZmZzZXQgPSAweGY3LCAudmFsdWUgPSAweDg4LCB9 LAo+ICsJCVszMl0gPSB7IC5vZmZzZXQgPSAweGY4LCAudmFsdWUgPSAweDBhLCB9LAo+ICsJCVsz M10gPSB7IC5vZmZzZXQgPSAweDljLCAudmFsdWUgPSAweDI0LCB9LAo+ICsJCVszNF0gPSB7IC5v ZmZzZXQgPSAweDlkLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVszNV0gPSB7IC5vZmZzZXQgPSAw eDllLCAudmFsdWUgPSAweDI1LCB9LAo+ICsJCVszNl0gPSB7IC5vZmZzZXQgPSAweDlmLCAudmFs dWUgPSAweDAzLCB9LAo+ICsJCVszN10gPSB7IC5vZmZzZXQgPSAweGEwLCAudmFsdWUgPSAweDI4 LCB9LAo+ICsJCVszOF0gPSB7IC5vZmZzZXQgPSAweGExLCAudmFsdWUgPSAweDAxLCB9LAo+ICsJ CVszOV0gPSB7IC5vZmZzZXQgPSAweGEyLCAudmFsdWUgPSAweDI4LCB9LAo+ICsJCVs0MF0gPSB7 IC5vZmZzZXQgPSAweGEzLCAudmFsdWUgPSAweDA1LCB9LAo+ICsJCVs0MV0gPSB7IC5vZmZzZXQg PSAweGI2LCAudmFsdWUgPSAweDA5LCB9LAo+ICsJCVs0Ml0gPSB7IC5vZmZzZXQgPSAweGI4LCAu dmFsdWUgPSAweDAwLCB9LAo+ICsJCVs0M10gPSB7IC5vZmZzZXQgPSAweGI5LCAudmFsdWUgPSAw eGEwLCB9LAo+ICsJCVs0NF0gPSB7IC5vZmZzZXQgPSAweGJhLCAudmFsdWUgPSAweDAwLCB9LAo+ ICsJCVs0NV0gPSB7IC5vZmZzZXQgPSAweGJiLCAudmFsdWUgPSAweDIwLCB9LAo+ICsJCVs0Nl0g PSB7IC5vZmZzZXQgPSAweDEwLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs0N10gPSB7IC5vZmZz ZXQgPSAweDExLCAudmFsdWUgPSAweGEwLCB9LAo+ICsJCVs0OF0gPSB7IC5vZmZzZXQgPSAweDEy LCAudmFsdWUgPSAweDAyLCB9LAo+ICsJCVs0OV0gPSB7IC5vZmZzZXQgPSAweDIwLCAudmFsdWUg PSAweDAwLCB9LAo+ICsJCVs1MF0gPSB7IC5vZmZzZXQgPSAweDIyLCAudmFsdWUgPSAweDAwLCB9 LAo+ICsJCVs1MV0gPSB7IC5vZmZzZXQgPSAweDIzLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs1 Ml0gPSB7IC5vZmZzZXQgPSAweDI0LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs1M10gPSB7IC5v ZmZzZXQgPSAweDI1LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs1NF0gPSB7IC5vZmZzZXQgPSAw eDhjLCAudmFsdWUgPSAweDEwLCB9LAo+ICsJCVs1NV0gPSB7IC5vZmZzZXQgPSAweDhkLCAudmFs dWUgPSAweDAyLCB9LAo+ICsJCVs1Nl0gPSB7IC5vZmZzZXQgPSAweDhlLCAudmFsdWUgPSAweDEw LCB9LAo+ICsJCVs1N10gPSB7IC5vZmZzZXQgPSAweDhmLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJ CVs1OF0gPSB7IC5vZmZzZXQgPSAweDkwLCAudmFsdWUgPSAweGZmLCB9LAo+ICsJCVs1OV0gPSB7 IC5vZmZzZXQgPSAweDkxLCAudmFsdWUgPSAweDA3LCB9LAo+ICsJCVs2MF0gPSB7IC5vZmZzZXQg PSAweDkyLCAudmFsdWUgPSAweGEwLCB9LAo+ICsJCVs2MV0gPSB7IC5vZmZzZXQgPSAweDkzLCAu dmFsdWUgPSAweDAyLCB9LAo+ICsJCVs2Ml0gPSB7IC5vZmZzZXQgPSAweGE1LCAudmFsdWUgPSAw eDAwLCB9LAo+ICsJCVs2M10gPSB7IC5vZmZzZXQgPSAweGE2LCAudmFsdWUgPSAweDAwLCB9LAo+ ICsJCVs2NF0gPSB7IC5vZmZzZXQgPSAweGE3LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs2NV0g PSB7IC5vZmZzZXQgPSAweGE4LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs2Nl0gPSB7IC5vZmZz ZXQgPSAweGE5LCAudmFsdWUgPSAweDA0LCB9LAo+ICsJCVs2N10gPSB7IC5vZmZzZXQgPSAweGFh LCAudmFsdWUgPSAweDcwLCB9LAo+ICsJCVs2OF0gPSB7IC5vZmZzZXQgPSAweGFiLCAudmFsdWUg PSAweDRmLCB9LAo+ICsJCVs2OV0gPSB7IC5vZmZzZXQgPSAweGFjLCAudmFsdWUgPSAweDAwLCB9 LAo+ICsJCVs3MF0gPSB7IC5vZmZzZXQgPSAweGE0LCAudmFsdWUgPSAweDg0LCB9LAo+ICsJCVs3 MV0gPSB7IC5vZmZzZXQgPSAweDdlLCAudmFsdWUgPSAweDE4LCB9LAo+ICsJCVs3Ml0gPSB7IC5v ZmZzZXQgPSAweDg0LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs3M10gPSB7IC5vZmZzZXQgPSAw eDg1LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs3NF0gPSB7IC5vZmZzZXQgPSAweDg2LCAudmFs dWUgPSAweDAwLCB9LAo+ICsJCVs3NV0gPSB7IC5vZmZzZXQgPSAweDg3LCAudmFsdWUgPSAweDAw LCB9LAo+ICsJCVs3Nl0gPSB7IC5vZmZzZXQgPSAweDg4LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJ CVs3N10gPSB7IC5vZmZzZXQgPSAweDg5LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs3OF0gPSB7 IC5vZmZzZXQgPSAweDhhLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs3OV0gPSB7IC5vZmZzZXQg PSAweDhiLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs4MF0gPSB7IC5vZmZzZXQgPSAweDI2LCAu dmFsdWUgPSAweDAwLCB9LAo+ICsJCVs4MV0gPSB7IC5vZmZzZXQgPSAweDI3LCAudmFsdWUgPSAw eDAwLCB9LAo+ICsJCVs4Ml0gPSB7IC5vZmZzZXQgPSAweGFkLCAudmFsdWUgPSAweDAwLCB9LAo+ ICsJCVs4M10gPSB7IC5vZmZzZXQgPSAweDA4LCAudmFsdWUgPSAweDMwLCB9LCAvKiAweDMxICov Cj4gKwkJWzg0XSA9IHsgLm9mZnNldCA9IDB4NDEsIC52YWx1ZSA9IDB4MDAsIH0sCj4gKwkJWzg1 XSA9IHsgLm9mZnNldCA9IDB4YzAsIC52YWx1ZSA9IDB4MDUsIH0sCj4gKwl9LAo+ICsJW01PREVf ODAweDYwMF0gPSB7Cj4gKwkJWzBdID0geyAub2Zmc2V0ID0gMHgwYSwgLnZhbHVlID0gMHg4MSwg fSwKPiArCQlbMV0gPSB7IC5vZmZzZXQgPSAweDE4LCAudmFsdWUgPSAweDA3LCB9LAo+ICsJCVsy XSA9IHsgLm9mZnNldCA9IDB4MTksIC52YWx1ZSA9IDB4MDAsIH0sCj4gKwkJWzNdID0geyAub2Zm c2V0ID0gMHgxYSwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNF0gPSB7IC5vZmZzZXQgPSAweDFi LCAudmFsdWUgPSAweDE5LCB9LAo+ICsJCVs1XSA9IHsgLm9mZnNldCA9IDB4MWMsIC52YWx1ZSA9 IDB4NjQsIH0sCj4gKwkJWzZdID0geyAub2Zmc2V0ID0gMHgxZCwgLnZhbHVlID0gMHgwMiwgfSwK PiArCQlbN10gPSB7IC5vZmZzZXQgPSAweDFlLCAudmFsdWUgPSAweDAyLCB9LAo+ICsJCVs4XSA9 IHsgLm9mZnNldCA9IDB4ZjMsIC52YWx1ZSA9IDB4OTAsIH0sCj4gKwkJWzldID0geyAub2Zmc2V0 ID0gMHhmOSwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbMTBdID0geyAub2Zmc2V0ID0gMHhjMSwg LnZhbHVlID0gMHhkNywgfSwKPiArCQlbMTFdID0geyAub2Zmc2V0ID0gMHhjMiwgLnZhbHVlID0g MHgwMCwgfSwKPiArCQlbMTJdID0geyAub2Zmc2V0ID0gMHhjMywgLnZhbHVlID0gMHhmOCwgfSwK PiArCQlbMTNdID0geyAub2Zmc2V0ID0gMHhjNCwgLnZhbHVlID0gMHgwMywgfSwKPiArCQlbMTRd ID0geyAub2Zmc2V0ID0gMHhjNSwgLnZhbHVlID0gMHgxYSwgfSwKPiArCQlbMTVdID0geyAub2Zm c2V0ID0gMHhjNiwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbMTZdID0geyAub2Zmc2V0ID0gMHhj NywgLnZhbHVlID0gMHg3MywgfSwKPiArCQlbMTddID0geyAub2Zmc2V0ID0gMHhjOCwgLnZhbHVl ID0gMHgwMiwgfSwKPiArCQlbMThdID0geyAub2Zmc2V0ID0gMHhmNCwgLnZhbHVlID0gMHgwMCwg fSwKPiArCQlbMTldID0geyAub2Zmc2V0ID0gMHg4MCwgLnZhbHVlID0gMHgyNywgfSwKPiArCQlb MjBdID0geyAub2Zmc2V0ID0gMHg4MSwgLnZhbHVlID0gMHgwMywgfSwKPiArCQlbMjFdID0geyAu b2Zmc2V0ID0gMHg4MiwgLnZhbHVlID0gMHg0MSwgfSwKPiArCQlbMjJdID0geyAub2Zmc2V0ID0g MHg4MywgLnZhbHVlID0gMHgwNSwgfSwKPiArCQlbMjNdID0geyAub2Zmc2V0ID0gMHg5NCwgLnZh bHVlID0gMHgwMCwgfSwKPiArCQlbMjRdID0geyAub2Zmc2V0ID0gMHg5NSwgLnZhbHVlID0gMHgw MCwgfSwKPiArCQlbMjVdID0geyAub2Zmc2V0ID0gMHg5NiwgLnZhbHVlID0gMHgwNSwgfSwKPiAr CQlbMjZdID0geyAub2Zmc2V0ID0gMHg5NywgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbMjddID0g eyAub2Zmc2V0ID0gMHg5YSwgLnZhbHVlID0gMHg4OCwgfSwKPiArCQlbMjhdID0geyAub2Zmc2V0 ID0gMHg5YiwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbMjldID0geyAub2Zmc2V0ID0gMHg5OCwg LnZhbHVlID0gMHgwMCwgfSwKPiArCQlbMzBdID0geyAub2Zmc2V0ID0gMHg5OSwgLnZhbHVlID0g MHgwMCwgfSwKPiArCQlbMzFdID0geyAub2Zmc2V0ID0gMHhmNywgLnZhbHVlID0gMHg4OCwgfSwK PiArCQlbMzJdID0geyAub2Zmc2V0ID0gMHhmOCwgLnZhbHVlID0gMHgwNiwgfSwKPiArCQlbMzNd ID0geyAub2Zmc2V0ID0gMHg5YywgLnZhbHVlID0gMHgyMywgfSwKPiArCQlbMzRdID0geyAub2Zm c2V0ID0gMHg5ZCwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbMzVdID0geyAub2Zmc2V0ID0gMHg5 ZSwgLnZhbHVlID0gMHgyNSwgfSwKPiArCQlbMzZdID0geyAub2Zmc2V0ID0gMHg5ZiwgLnZhbHVl ID0gMHgwMywgfSwKPiArCQlbMzddID0geyAub2Zmc2V0ID0gMHhhMCwgLnZhbHVlID0gMHgyOCwg fSwKPiArCQlbMzhdID0geyAub2Zmc2V0ID0gMHhhMSwgLnZhbHVlID0gMHgwMSwgfSwKPiArCQlb MzldID0geyAub2Zmc2V0ID0gMHhhMiwgLnZhbHVlID0gMHgyOCwgfSwKPiArCQlbNDBdID0geyAu b2Zmc2V0ID0gMHhhMywgLnZhbHVlID0gMHgwNSwgfSwKPiArCQlbNDFdID0geyAub2Zmc2V0ID0g MHhiNiwgLnZhbHVlID0gMHgwOSwgfSwKPiArCQlbNDJdID0geyAub2Zmc2V0ID0gMHhiOCwgLnZh bHVlID0gMHgzMCwgfSwKPiArCQlbNDNdID0geyAub2Zmc2V0ID0gMHhiOSwgLnZhbHVlID0gMHhj OCwgfSwKPiArCQlbNDRdID0geyAub2Zmc2V0ID0gMHhiYSwgLnZhbHVlID0gMHgwMCwgfSwKPiAr CQlbNDVdID0geyAub2Zmc2V0ID0gMHhiYiwgLnZhbHVlID0gMHgyMCwgfSwKPiArCQlbNDZdID0g eyAub2Zmc2V0ID0gMHgxMCwgLnZhbHVlID0gMHgyMCwgfSwKPiArCQlbNDddID0geyAub2Zmc2V0 ID0gMHgxMSwgLnZhbHVlID0gMHhjOCwgfSwKPiArCQlbNDhdID0geyAub2Zmc2V0ID0gMHgxMiwg LnZhbHVlID0gMHgwMiwgfSwKPiArCQlbNDldID0geyAub2Zmc2V0ID0gMHgyMCwgLnZhbHVlID0g MHgwMCwgfSwKPiArCQlbNTBdID0geyAub2Zmc2V0ID0gMHgyMiwgLnZhbHVlID0gMHgwMCwgfSwK PiArCQlbNTFdID0geyAub2Zmc2V0ID0gMHgyMywgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNTJd ID0geyAub2Zmc2V0ID0gMHgyNCwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNTNdID0geyAub2Zm c2V0ID0gMHgyNSwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNTRdID0geyAub2Zmc2V0ID0gMHg4 YywgLnZhbHVlID0gMHgxMCwgfSwKPiArCQlbNTVdID0geyAub2Zmc2V0ID0gMHg4ZCwgLnZhbHVl ID0gMHgwMiwgfSwKPiArCQlbNTZdID0geyAub2Zmc2V0ID0gMHg4ZSwgLnZhbHVlID0gMHgwNCwg fSwKPiArCQlbNTddID0geyAub2Zmc2V0ID0gMHg4ZiwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlb NThdID0geyAub2Zmc2V0ID0gMHg5MCwgLnZhbHVlID0gMHhmZiwgfSwKPiArCQlbNTldID0geyAu b2Zmc2V0ID0gMHg5MSwgLnZhbHVlID0gMHgwNywgfSwKPiArCQlbNjBdID0geyAub2Zmc2V0ID0g MHg5MiwgLnZhbHVlID0gMHhhMCwgfSwKPiArCQlbNjFdID0geyAub2Zmc2V0ID0gMHg5MywgLnZh bHVlID0gMHgwMiwgfSwKPiArCQlbNjJdID0geyAub2Zmc2V0ID0gMHhhNSwgLnZhbHVlID0gMHgw MCwgfSwKPiArCQlbNjNdID0geyAub2Zmc2V0ID0gMHhhNiwgLnZhbHVlID0gMHgwMCwgfSwKPiAr CQlbNjRdID0geyAub2Zmc2V0ID0gMHhhNywgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNjVdID0g eyAub2Zmc2V0ID0gMHhhOCwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNjZdID0geyAub2Zmc2V0 ID0gMHhhOSwgLnZhbHVlID0gMHg4MywgfSwKPiArCQlbNjddID0geyAub2Zmc2V0ID0gMHhhYSwg LnZhbHVlID0gMHg0MCwgfSwKPiArCQlbNjhdID0geyAub2Zmc2V0ID0gMHhhYiwgLnZhbHVlID0g MHgzMiwgfSwKPiArCQlbNjldID0geyAub2Zmc2V0ID0gMHhhYywgLnZhbHVlID0gMHgwMCwgfSwK PiArCQlbNzBdID0geyAub2Zmc2V0ID0gMHhhNCwgLnZhbHVlID0gMHg4MCwgfSwKPiArCQlbNzFd ID0geyAub2Zmc2V0ID0gMHg3ZSwgLnZhbHVlID0gMHgxOCwgfSwKPiArCQlbNzJdID0geyAub2Zm c2V0ID0gMHg4NCwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNzNdID0geyAub2Zmc2V0ID0gMHg4 NSwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNzRdID0geyAub2Zmc2V0ID0gMHg4NiwgLnZhbHVl ID0gMHgwMCwgfSwKPiArCQlbNzVdID0geyAub2Zmc2V0ID0gMHg4NywgLnZhbHVlID0gMHgwMCwg fSwKPiArCQlbNzZdID0geyAub2Zmc2V0ID0gMHg4OCwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlb NzddID0geyAub2Zmc2V0ID0gMHg4OSwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNzhdID0geyAu b2Zmc2V0ID0gMHg4YSwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbNzldID0geyAub2Zmc2V0ID0g MHg4YiwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbODBdID0geyAub2Zmc2V0ID0gMHgyNiwgLnZh bHVlID0gMHgwMCwgfSwKPiArCQlbODFdID0geyAub2Zmc2V0ID0gMHgyNywgLnZhbHVlID0gMHgw MCwgfSwKPiArCQlbODJdID0geyAub2Zmc2V0ID0gMHhhZCwgLnZhbHVlID0gMHgwMCwgfSwKPiAr CQlbODNdID0geyAub2Zmc2V0ID0gMHgwOCwgLnZhbHVlID0gMHgzMCwgfSwgLyogMHgzMSAqLwo+ ICsJCVs4NF0gPSB7IC5vZmZzZXQgPSAweDQxLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs4NV0g PSB7IC5vZmZzZXQgPSAweGMwLCAudmFsdWUgPSAweDA3LCB9LAo+ICsJfSwKPiArCVtNT0RFXzEw MjR4NzY4XSA9IHsKPiArCQlbMF0gPSB7IC5vZmZzZXQgPSAweDBhLCAudmFsdWUgPSAweDgxLCB9 LAo+ICsJCVsxXSA9IHsgLm9mZnNldCA9IDB4MTgsIC52YWx1ZSA9IDB4MDcsIH0sCj4gKwkJWzJd ID0geyAub2Zmc2V0ID0gMHgxOSwgLnZhbHVlID0gMHgwMCwgfSwKPiArCQlbM10gPSB7IC5vZmZz ZXQgPSAweDFhLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs0XSA9IHsgLm9mZnNldCA9IDB4MWIs IC52YWx1ZSA9IDB4MTEsIH0sCj4gKwkJWzVdID0geyAub2Zmc2V0ID0gMHgxYywgLnZhbHVlID0g MHg1NCwgfSwKPiArCQlbNl0gPSB7IC5vZmZzZXQgPSAweDFkLCAudmFsdWUgPSAweDAzLCB9LAo+ ICsJCVs3XSA9IHsgLm9mZnNldCA9IDB4MWUsIC52YWx1ZSA9IDB4MDIsIH0sCj4gKwkJWzhdID0g eyAub2Zmc2V0ID0gMHhmMywgLnZhbHVlID0gMHg5MCwgfSwKPiArCQlbOV0gPSB7IC5vZmZzZXQg PSAweGY5LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVsxMF0gPSB7IC5vZmZzZXQgPSAweGMxLCAu dmFsdWUgPSAweDkwLCB9LAo+ICsJCVsxMV0gPSB7IC5vZmZzZXQgPSAweGMyLCAudmFsdWUgPSAw eDAwLCB9LAo+ICsJCVsxMl0gPSB7IC5vZmZzZXQgPSAweGMzLCAudmFsdWUgPSAweDBmLCB9LAo+ ICsJCVsxM10gPSB7IC5vZmZzZXQgPSAweGM0LCAudmFsdWUgPSAweDAzLCB9LAo+ICsJCVsxNF0g PSB7IC5vZmZzZXQgPSAweGM1LCAudmFsdWUgPSAweDE2LCB9LAo+ICsJCVsxNV0gPSB7IC5vZmZz ZXQgPSAweGM2LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVsxNl0gPSB7IC5vZmZzZXQgPSAweGM3 LCAudmFsdWUgPSAweDAyLCB9LAo+ICsJCVsxN10gPSB7IC5vZmZzZXQgPSAweGM4LCAudmFsdWUg PSAweDAyLCB9LAo+ICsJCVsxOF0gPSB7IC5vZmZzZXQgPSAweGY0LCAudmFsdWUgPSAweDAwLCB9 LAo+ICsJCVsxOV0gPSB7IC5vZmZzZXQgPSAweDgwLCAudmFsdWUgPSAweGZmLCB9LAo+ICsJCVsy MF0gPSB7IC5vZmZzZXQgPSAweDgxLCAudmFsdWUgPSAweDA3LCB9LAo+ICsJCVsyMV0gPSB7IC5v ZmZzZXQgPSAweDgyLCAudmFsdWUgPSAweDNkLCB9LAo+ICsJCVsyMl0gPSB7IC5vZmZzZXQgPSAw eDgzLCAudmFsdWUgPSAweDA1LCB9LAo+ICsJCVsyM10gPSB7IC5vZmZzZXQgPSAweDk0LCAudmFs dWUgPSAweDAwLCB9LAo+ICsJCVsyNF0gPSB7IC5vZmZzZXQgPSAweDk1LCAudmFsdWUgPSAweDAw LCB9LAo+ICsJCVsyNV0gPSB7IC5vZmZzZXQgPSAweDk2LCAudmFsdWUgPSAweDA1LCB9LAo+ICsJ CVsyNl0gPSB7IC5vZmZzZXQgPSAweDk3LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVsyN10gPSB7 IC5vZmZzZXQgPSAweDlhLCAudmFsdWUgPSAweDg4LCB9LAo+ICsJCVsyOF0gPSB7IC5vZmZzZXQg PSAweDliLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVsyOV0gPSB7IC5vZmZzZXQgPSAweDk4LCAu dmFsdWUgPSAweDAwLCB9LAo+ICsJCVszMF0gPSB7IC5vZmZzZXQgPSAweDk5LCAudmFsdWUgPSAw eDAwLCB9LAo+ICsJCVszMV0gPSB7IC5vZmZzZXQgPSAweGY3LCAudmFsdWUgPSAweDg4LCB9LAo+ ICsJCVszMl0gPSB7IC5vZmZzZXQgPSAweGY4LCAudmFsdWUgPSAweDBhLCB9LAo+ICsJCVszM10g PSB7IC5vZmZzZXQgPSAweDljLCAudmFsdWUgPSAweDI0LCB9LAo+ICsJCVszNF0gPSB7IC5vZmZz ZXQgPSAweDlkLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVszNV0gPSB7IC5vZmZzZXQgPSAweDll LCAudmFsdWUgPSAweDI1LCB9LAo+ICsJCVszNl0gPSB7IC5vZmZzZXQgPSAweDlmLCAudmFsdWUg PSAweDAzLCB9LAo+ICsJCVszN10gPSB7IC5vZmZzZXQgPSAweGEwLCAudmFsdWUgPSAweDI4LCB9 LAo+ICsJCVszOF0gPSB7IC5vZmZzZXQgPSAweGExLCAudmFsdWUgPSAweDAxLCB9LAo+ICsJCVsz OV0gPSB7IC5vZmZzZXQgPSAweGEyLCAudmFsdWUgPSAweDI4LCB9LAo+ICsJCVs0MF0gPSB7IC5v ZmZzZXQgPSAweGEzLCAudmFsdWUgPSAweDA1LCB9LAo+ICsJCVs0MV0gPSB7IC5vZmZzZXQgPSAw eGI2LCAudmFsdWUgPSAweDA5LCB9LAo+ICsJCVs0Ml0gPSB7IC5vZmZzZXQgPSAweGI4LCAudmFs dWUgPSAweDAwLCB9LAo+ICsJCVs0M10gPSB7IC5vZmZzZXQgPSAweGI5LCAudmFsdWUgPSAweGEw LCB9LAo+ICsJCVs0NF0gPSB7IC5vZmZzZXQgPSAweGJhLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJ CVs0NV0gPSB7IC5vZmZzZXQgPSAweGJiLCAudmFsdWUgPSAweDIwLCB9LAo+ICsJCVs0Nl0gPSB7 IC5vZmZzZXQgPSAweDEwLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs0N10gPSB7IC5vZmZzZXQg PSAweDExLCAudmFsdWUgPSAweGEwLCB9LAo+ICsJCVs0OF0gPSB7IC5vZmZzZXQgPSAweDEyLCAu dmFsdWUgPSAweDAyLCB9LAo+ICsJCVs0OV0gPSB7IC5vZmZzZXQgPSAweDIwLCAudmFsdWUgPSAw eDAwLCB9LAo+ICsJCVs1MF0gPSB7IC5vZmZzZXQgPSAweDIyLCAudmFsdWUgPSAweDAwLCB9LAo+ ICsJCVs1MV0gPSB7IC5vZmZzZXQgPSAweDIzLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs1Ml0g PSB7IC5vZmZzZXQgPSAweDI0LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs1M10gPSB7IC5vZmZz ZXQgPSAweDI1LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs1NF0gPSB7IC5vZmZzZXQgPSAweDhj LCAudmFsdWUgPSAweDEwLCB9LAo+ICsJCVs1NV0gPSB7IC5vZmZzZXQgPSAweDhkLCAudmFsdWUg PSAweDAyLCB9LAo+ICsJCVs1Nl0gPSB7IC5vZmZzZXQgPSAweDhlLCAudmFsdWUgPSAweDEwLCB9 LAo+ICsJCVs1N10gPSB7IC5vZmZzZXQgPSAweDhmLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs1 OF0gPSB7IC5vZmZzZXQgPSAweDkwLCAudmFsdWUgPSAweGZmLCB9LAo+ICsJCVs1OV0gPSB7IC5v ZmZzZXQgPSAweDkxLCAudmFsdWUgPSAweDA3LCB9LAo+ICsJCVs2MF0gPSB7IC5vZmZzZXQgPSAw eDkyLCAudmFsdWUgPSAweGEwLCB9LAo+ICsJCVs2MV0gPSB7IC5vZmZzZXQgPSAweDkzLCAudmFs dWUgPSAweDAyLCB9LAo+ICsJCVs2Ml0gPSB7IC5vZmZzZXQgPSAweGE1LCAudmFsdWUgPSAweDAw LCB9LAo+ICsJCVs2M10gPSB7IC5vZmZzZXQgPSAweGE2LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJ CVs2NF0gPSB7IC5vZmZzZXQgPSAweGE3LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs2NV0gPSB7 IC5vZmZzZXQgPSAweGE4LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs2Nl0gPSB7IC5vZmZzZXQg PSAweGE5LCAudmFsdWUgPSAweDA0LCB9LAo+ICsJCVs2N10gPSB7IC5vZmZzZXQgPSAweGFhLCAu dmFsdWUgPSAweDcwLCB9LAo+ICsJCVs2OF0gPSB7IC5vZmZzZXQgPSAweGFiLCAudmFsdWUgPSAw eDRmLCB9LAo+ICsJCVs2OV0gPSB7IC5vZmZzZXQgPSAweGFjLCAudmFsdWUgPSAweDAwLCB9LAo+ ICsJCVs3MF0gPSB7IC5vZmZzZXQgPSAweGE0LCAudmFsdWUgPSAweDg0LCB9LAo+ICsJCVs3MV0g PSB7IC5vZmZzZXQgPSAweDdlLCAudmFsdWUgPSAweDE4LCB9LAo+ICsJCVs3Ml0gPSB7IC5vZmZz ZXQgPSAweDg0LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs3M10gPSB7IC5vZmZzZXQgPSAweDg1 LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs3NF0gPSB7IC5vZmZzZXQgPSAweDg2LCAudmFsdWUg PSAweDAwLCB9LAo+ICsJCVs3NV0gPSB7IC5vZmZzZXQgPSAweDg3LCAudmFsdWUgPSAweDAwLCB9 LAo+ICsJCVs3Nl0gPSB7IC5vZmZzZXQgPSAweDg4LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs3 N10gPSB7IC5vZmZzZXQgPSAweDg5LCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs3OF0gPSB7IC5v ZmZzZXQgPSAweDhhLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs3OV0gPSB7IC5vZmZzZXQgPSAw eDhiLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJCVs4MF0gPSB7IC5vZmZzZXQgPSAweDI2LCAudmFs dWUgPSAweDAwLCB9LAo+ICsJCVs4MV0gPSB7IC5vZmZzZXQgPSAweDI3LCAudmFsdWUgPSAweDAw LCB9LAo+ICsJCVs4Ml0gPSB7IC5vZmZzZXQgPSAweGFkLCAudmFsdWUgPSAweDAwLCB9LAo+ICsJ CVs4M10gPSB7IC5vZmZzZXQgPSAweDA4LCAudmFsdWUgPSAweDM0LCB9LCAvKiAweDM1ICovCj4g KwkJWzg0XSA9IHsgLm9mZnNldCA9IDB4NDEsIC52YWx1ZSA9IDB4MDAsIH0sCj4gKwkJWzg1XSA9 IHsgLm9mZnNldCA9IDB4YzAsIC52YWx1ZSA9IDB4MDEsIH0sCj4gKwl9LAo+ICt9Owo+ICsKPiAg IHN0cnVjdCBuczI1MDFfcHJpdiB7Cj4gLQkvL0kyQ0RldlJlYyBkOwo+ICAgCWJvb2wgcXVpZXQ7 Cj4gLQlpbnQgcmVnXzhfc2hhZG93Owo+IC0JaW50IHJlZ184X3NldDsKPiAtCS8vIFNoYWRvdyBy ZWdpc3RlcnMgZm9yIGk5MTUKPiAtCWludCBkdm9jOwo+IC0JaW50IHBsbF9hOwo+IC0JaW50IHNy Y2RpbTsKPiAtCWludCBmd19ibGM7Cj4gKwljb25zdCBzdHJ1Y3QgbnMyNTAxX3JlZyAqcmVnczsK PiAgIH07Cj4KPiAgICNkZWZpbmUgTlNQVFIoZCkgKChOUzI1MDFQdHIpKGQtPkRyaXZlclByaXZh dGUucHRyKSkKPiBAQCAtMjA1LDExICs0ODAsOSBAQCBzdGF0aWMgYm9vbCBuczI1MDFfaW5pdChz dHJ1Y3QgaW50ZWxfZHZvX2RldmljZSAqZHZvLAo+ICAgCQlnb3RvIG91dDsKPiAgIAl9Cj4gICAJ bnMtPnF1aWV0ID0gZmFsc2U7Cj4gLQlucy0+cmVnXzhfc2V0ID0gMDsKPiAtCW5zLT5yZWdfOF9z aGFkb3cgPQo+IC0JICAgIE5TMjUwMV84X1BEIHwgTlMyNTAxXzhfQlBBUyB8IE5TMjUwMV84X1ZF TiB8IE5TMjUwMV84X0hFTjsKPgo+ICAgCURSTV9ERUJVR19LTVMoImluaXQgbnMyNTAxIGR2byBj b250cm9sbGVyIHN1Y2Nlc3NmdWxseSFcbiIpOwo+ICsKPiAgIAlyZXR1cm4gdHJ1ZTsKPgo+ICAg b3V0Ogo+IEBAIC0yNTUsMTgwICs1MjgsMjYgQEAgc3RhdGljIHZvaWQgbnMyNTAxX21vZGVfc2V0 KHN0cnVjdCBpbnRlbF9kdm9fZGV2aWNlICpkdm8sCj4gICAJCQkgICAgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUsCj4gICAJCQkgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVz dGVkX21vZGUpCj4gICB7Cj4gLQlib29sIG9rOwo+IC0JaW50IHJldHJpZXMgPSAxMDsKPiAgIAlz dHJ1Y3QgbnMyNTAxX3ByaXYgKm5zID0gKHN0cnVjdCBuczI1MDFfcHJpdiAqKShkdm8tPmRldl9w cml2KTsKPiArCWludCBtb2RlX2lkeCwgaTsKPgo+ICAgCURSTV9ERUJVR19LTVMKPiAgIAkgICAg KCJzZXQgbW9kZSAoaGRpc3BsYXk9JWQsaHRvdGFsPSVkLHZkaXNwbGF5PSVkLHZ0b3RhbD0lZCku XG4iLAo+ICAgCSAgICAgbW9kZS0+aGRpc3BsYXksIG1vZGUtPmh0b3RhbCwgbW9kZS0+dmRpc3Bs YXksIG1vZGUtPnZ0b3RhbCk7Cj4KPiAtCS8qCj4gLQkgKiBXaGVyZSBkbyBJIGZpbmQgdGhlIG5h dGl2ZSByZXNvbHV0aW9uIGZvciB3aGljaCBzY2FsaW5nIGlzIG5vdCByZXF1aXJlZD8/Pwo+IC0J ICoKPiAtCSAqIEZpcnN0IHRyaWdnZXIgdGhlIERWTyBvbiBhcyBvdGhlcndpc2UgdGhlIGNoaXAg ZG9lcyBub3QgYXBwZWFyIG9uIHRoZSBpMmMKPiAtCSAqIGJ1cy4KPiAtCSAqLwo+IC0JZG8gewo+ IC0JCW9rID0gdHJ1ZTsKPiAtCj4gLQkJaWYgKG1vZGUtPmhkaXNwbGF5ID09IDgwMCAmJiBtb2Rl LT52ZGlzcGxheSA9PSA2MDApIHsKPiAtCQkJLyogbW9kZSAyNzcgKi8KPiAtCQkJbnMtPnJlZ184 X3NoYWRvdyAmPSB+TlMyNTAxXzhfQlBBUzsKPiAtCQkJRFJNX0RFQlVHX0tNUygic3dpdGNoaW5n IHRvIDgwMHg2MDBcbiIpOwo+IC0KPiAtCQkJLyoKPiAtCQkJICogTm8sIEkgZG8gbm90IGtub3cg d2hlcmUgdGhpcyBkYXRhIGNvbWVzIGZyb20uCj4gLQkJCSAqIEl0IGlzIGp1c3Qgd2hhdCB0aGUg dmlkZW8gYmlvcyBsZWZ0IGluIHRoZSBEVk8sIHNvCj4gLQkJCSAqIEknbSBqdXN0IGNvcHlpbmcg aXQgaGVyZSBvdmVyLgo+IC0JCQkgKiBUaGlzIGFsc28gbWVhbnMgdGhhdCBJIGNhbm5vdCBzdXBw b3J0IGFueSBvdGhlciBtb2Rlcwo+IC0JCQkgKiBleGNlcHQgdGhlIG9uZXMgc3VwcG9ydGVkIGJ5 IHRoZSBiaW9zLgo+IC0JCQkgKi8KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4MTEs IDB4YzgpOwkvLyAweGM3IGFsc28gd29ya3MuCj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZv LCAweDFiLCAweDE5KTsKPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4MWMsIDB4NjIp OwkvLyBWQklPUyBsZWZ0IDB4NjQgaGVyZSwgYnV0IDB4NjIgd29ya3MgbmljZXIKPiAtCQkJb2sg Jj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4MWQsIDB4MDIpOwo+IC0KPiAtCQkJb2sgJj0gbnMyNTAx X3dyaXRlYihkdm8sIDB4MzQsIDB4MDMpOwo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywg MHgzNSwgMHhmZik7Cj4gLQo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHg4MCwgMHgy Nyk7Cj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweDgxLCAweDAzKTsKPiAtCQkJb2sg Jj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4ODIsIDB4NDEpOwo+IC0JCQlvayAmPSBuczI1MDFfd3Jp dGViKGR2bywgMHg4MywgMHgwNSk7Cj4gKwlpZiAobW9kZS0+aGRpc3BsYXkgPT0gNjQwICYmIG1v ZGUtPnZkaXNwbGF5ID09IDQ4MCkKPiArCQltb2RlX2lkeCA9IE1PREVfNjQweDQ4MDsKPiArCWVs c2UgaWYgKG1vZGUtPmhkaXNwbGF5ID09IDgwMCAmJiBtb2RlLT52ZGlzcGxheSA9PSA2MDApCj4g KwkJbW9kZV9pZHggPSBNT0RFXzgwMHg2MDA7Cj4gKwllbHNlIGlmIChtb2RlLT5oZGlzcGxheSA9 PSAxMDI0ICYmIG1vZGUtPnZkaXNwbGF5ID09IDc2OCkKPiArCQltb2RlX2lkeCA9IE1PREVfMTAy NHg3Njg7Cj4gKwllbHNlCj4gKwkJcmV0dXJuOwo+Cj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIo ZHZvLCAweDhkLCAweDAyKTsKPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4OGUsIDB4 MDQpOwo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHg4ZiwgMHgwMCk7Cj4gKwlucy0+ cmVncyA9IHJlZ3NfMTAyNHg3NjhbbW9kZV9pZHhdOwo+Cj4gLQkJCW9rICY9IG5zMjUwMV93cml0 ZWIoZHZvLCAweDkwLCAweGZlKTsJLyogdmVydGljYWwuIFZCSU9TIGxlZnQgMHhmZiBoZXJlLCBi dXQgMHhmZSB3b3JrcyBiZXR0ZXIgKi8KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4 OTEsIDB4MDcpOwo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHg5NCwgMHgwMCk7Cj4g LQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweDk1LCAweDAwKTsKPiAtCj4gLQkJCW9rICY9 IG5zMjUwMV93cml0ZWIoZHZvLCAweDk2LCAweDAwKTsKPiAtCj4gLQkJCW9rICY9IG5zMjUwMV93 cml0ZWIoZHZvLCAweDk5LCAweDAwKTsKPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4 OWEsIDB4ODgpOwo+IC0KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4OWMsIDB4MjMp OwkvKiBMb29rcyBsaWtlIGZpcnN0IGFuZCBsYXN0IGxpbmUgb2YgdGhlIGltYWdlLiAqLwo+IC0J CQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHg5ZCwgMHgwMCk7Cj4gLQkJCW9rICY9IG5zMjUw MV93cml0ZWIoZHZvLCAweDllLCAweDI1KTsKPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8s IDB4OWYsIDB4MDMpOwo+IC0KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4YTQsIDB4 ODApOwo+IC0KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4YjYsIDB4MDApOwo+IC0K PiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4YjksIDB4YzgpOwkvKiBob3Jpem9udGFs PyAqLwo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHhiYSwgMHgwMCk7CS8qIGhvcml6 b250YWw/ICovCj4gLQo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHhjMCwgMHgwNSk7 CS8qIGhvcml6b250YWw/ICovCj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweGMxLCAw eGQ3KTsKPiAtCj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweGMyLCAweDAwKTsKPiAt CQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4YzMsIDB4ZjgpOwo+IC0KPiAtCQkJb2sgJj0g bnMyNTAxX3dyaXRlYihkdm8sIDB4YzQsIDB4MDMpOwo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGVi KGR2bywgMHhjNSwgMHgxYSk7Cj4gLQo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHhj NiwgMHgwMCk7Cj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweGM3LCAweDczKTsKPiAt CQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4YzgsIDB4MDIpOwo+IC0KPiAtCQl9IGVsc2Ug aWYgKG1vZGUtPmhkaXNwbGF5ID09IDY0MCAmJiBtb2RlLT52ZGlzcGxheSA9PSA0ODApIHsKPiAt CQkJLyogbW9kZSAyNzQgKi8KPiAtCQkJRFJNX0RFQlVHX0tNUygic3dpdGNoaW5nIHRvIDY0MHg0 ODBcbiIpOwo+IC0JCQkvKgo+IC0JCQkgKiBObywgSSBkbyBub3Qga25vdyB3aGVyZSB0aGlzIGRh dGEgY29tZXMgZnJvbS4KPiAtCQkJICogSXQgaXMganVzdCB3aGF0IHRoZSB2aWRlbyBiaW9zIGxl ZnQgaW4gdGhlIERWTywgc28KPiAtCQkJICogSSdtIGp1c3QgY29weWluZyBpdCBoZXJlIG92ZXIu Cj4gLQkJCSAqIFRoaXMgYWxzbyBtZWFucyB0aGF0IEkgY2Fubm90IHN1cHBvcnQgYW55IG90aGVy IG1vZGVzCj4gLQkJCSAqIGV4Y2VwdCB0aGUgb25lcyBzdXBwb3J0ZWQgYnkgdGhlIGJpb3MuCj4g LQkJCSAqLwo+IC0JCQlucy0+cmVnXzhfc2hhZG93ICY9IH5OUzI1MDFfOF9CUEFTOwo+IC0KPiAt CQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4MTEsIDB4YTApOwo+IC0JCQlvayAmPSBuczI1 MDFfd3JpdGViKGR2bywgMHgxYiwgMHgxMSk7Cj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZv LCAweDFjLCAweDU0KTsKPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4MWQsIDB4MDMp Owo+IC0KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4MzQsIDB4MDMpOwo+IC0JCQlv ayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHgzNSwgMHhmZik7Cj4gLQo+IC0JCQlvayAmPSBuczI1 MDFfd3JpdGViKGR2bywgMHg4MCwgMHhmZik7Cj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZv LCAweDgxLCAweDA3KTsKPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4ODIsIDB4M2Qp Owo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHg4MywgMHgwNSk7Cj4gLQo+IC0JCQlv ayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHg4ZCwgMHgwMik7Cj4gLQkJCW9rICY9IG5zMjUwMV93 cml0ZWIoZHZvLCAweDhlLCAweDEwKTsKPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4 OGYsIDB4MDApOwo+IC0KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4OTAsIDB4ZmYp OwkvKiB2ZXJ0aWNhbCAqLwo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHg5MSwgMHgw Nyk7Cj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweDk0LCAweDAwKTsKPiAtCQkJb2sg Jj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4OTUsIDB4MDApOwo+IC0KPiAtCQkJb2sgJj0gbnMyNTAx X3dyaXRlYihkdm8sIDB4OTYsIDB4MDUpOwo+IC0KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihk dm8sIDB4OTksIDB4MDApOwo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHg5YSwgMHg4 OCk7Cj4gLQo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHg5YywgMHgyNCk7Cj4gLQkJ CW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweDlkLCAweDAwKTsKPiAtCQkJb2sgJj0gbnMyNTAx X3dyaXRlYihkdm8sIDB4OWUsIDB4MjUpOwo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywg MHg5ZiwgMHgwMyk7Cj4gLQo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHhhNCwgMHg4 NCk7Cj4gLQo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHhiNiwgMHgwOSk7Cj4gLQo+ IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHhiOSwgMHhhMCk7CS8qIGhvcml6b250YWw/ ICovCj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweGJhLCAweDAwKTsJLyogaG9yaXpv bnRhbD8gKi8KPiAtCj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweGMwLCAweDA1KTsJ LyogaG9yaXpvbnRhbD8gKi8KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4YzEsIDB4 OTApOwo+IC0KPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4YzIsIDB4MDApOwo+IC0J CQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHhjMywgMHgwZik7Cj4gLQo+IC0JCQlvayAmPSBu czI1MDFfd3JpdGViKGR2bywgMHhjNCwgMHgwMyk7Cj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIo ZHZvLCAweGM1LCAweDE2KTsKPiAtCj4gLQkJCW9rICY9IG5zMjUwMV93cml0ZWIoZHZvLCAweGM2 LCAweDAwKTsKPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRlYihkdm8sIDB4YzcsIDB4MDIpOwo+IC0J CQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgMHhjOCwgMHgwMik7Cj4gLQo+IC0JCX0gZWxzZSBp ZiAobW9kZS0+aGRpc3BsYXkgPT0gMTAyNCAmJiBtb2RlLT52ZGlzcGxheSA9PSA3NjgpIHsKPiAt CQkJLyogbW9kZSAyODAgKi8KPiAtCQkJRFJNX0RFQlVHX0tNUygic3dpdGNoaW5nIHRvIDEwMjR4 NzY4XG4iKTsKPiAtCQkJLyoKPiAtCQkJICogVGhpcyBtaWdodCBvciBtaWdodCBub3Qgd29yaywg YWN0dWFsbHkuIEknbSBzaWxlbnRseQo+IC0JCQkgKiBhc3N1bWluZyBoZXJlIHRoYXQgdGhlIG5h dGl2ZSBwYW5lbCByZXNvbHV0aW9uIGlzCj4gLQkJCSAqIDEwMjR4NzY4LiBJZiBub3QsIHRoZW4g dGhpcyBsZWF2ZXMgdGhlIHNjYWxlciBkaXNhYmxlZAo+IC0JCQkgKiBnZW5lcmF0aW5nIGEgcGlj dHVyZSB0aGF0IGlzIGxpa2VseSBub3QgdGhlIGV4cGVjdGVkLgo+IC0JCQkgKgo+IC0JCQkgKiBQ cm9ibGVtIGlzIHRoYXQgSSBkbyBub3Qga25vdyB3aGVyZSB0byB0YWtlIHRoZSBwYW5lbAo+IC0J CQkgKiBkaW1lbnNpb25zIGZyb20uCj4gLQkJCSAqCj4gLQkJCSAqIEVuYWJsZSB0aGUgYnlwYXNz LCBzY2FsaW5nIG5vdCByZXF1aXJlZC4KPiAtCQkJICoKPiAtCQkJICogVGhlIHNjYWxlciByZWdp c3RlcnMgYXJlIGlycmVsZXZhbnQgaGVyZS4uLi4KPiAtCQkJICoKPiAtCQkJICovCj4gLQkJCW5z LT5yZWdfOF9zaGFkb3cgfD0gTlMyNTAxXzhfQlBBUzsKPiAtCQkJb2sgJj0gbnMyNTAxX3dyaXRl Yihkdm8sIDB4MzcsIDB4NDQpOwo+IC0JCX0gZWxzZSB7Cj4gLQkJCS8qCj4gLQkJCSAqIERhdGEg bm90IGtub3duLiBCdW1tZXIhCj4gLQkJCSAqIEhvcGVmdWxseSwgdGhlIGNvZGUgc2hvdWxkIG5v dCBnbyBoZXJlCj4gLQkJCSAqIGFzIG1vZGVfT0sgZGVsaXZlcmVkIG5vIG90aGVyIG1vZGVzLgo+ IC0JCQkgKi8KPiAtCQkJbnMtPnJlZ184X3NoYWRvdyB8PSBOUzI1MDFfOF9CUEFTOwo+IC0JCX0K PiAtCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgTlMyNTAxX1JFRzgsIG5zLT5yZWdfOF9zaGFk b3cpOwo+IC0JfSB3aGlsZSAoIW9rICYmIHJldHJpZXMtLSk7Cj4gKwlmb3IgKGkgPSAwOyBpIDwg ODQ7IGkrKykKPiArCQluczI1MDFfd3JpdGViKGR2bywgbnMtPnJlZ3NbaV0ub2Zmc2V0LCBucy0+ cmVnc1tpXS52YWx1ZSk7Cj4gICB9Cj4KPiAgIC8qIHNldCB0aGUgTlMyNTAxIHBvd2VyIHN0YXRl ICovCj4gQEAgLTQzOSw0MyArNTU4LDQ1IEBAIHN0YXRpYyBib29sIG5zMjUwMV9nZXRfaHdfc3Rh dGUoc3RydWN0IGludGVsX2R2b19kZXZpY2UgKmR2bykKPiAgIAlpZiAoIW5zMjUwMV9yZWFkYihk dm8sIE5TMjUwMV9SRUc4LCAmY2gpKQo+ICAgCQlyZXR1cm4gZmFsc2U7Cj4KPiAtCWlmIChjaCAm IE5TMjUwMV84X1BEKQo+IC0JCXJldHVybiB0cnVlOwo+IC0JZWxzZQo+IC0JCXJldHVybiBmYWxz ZTsKPiArCXJldHVybiBjaCAmIE5TMjUwMV84X1BEOwo+ICAgfQo+Cj4gICAvKiBzZXQgdGhlIE5T MjUwMSBwb3dlciBzdGF0ZSAqLwo+ICAgc3RhdGljIHZvaWQgbnMyNTAxX2RwbXMoc3RydWN0IGlu dGVsX2R2b19kZXZpY2UgKmR2bywgYm9vbCBlbmFibGUpCj4gICB7Cj4gLQlib29sIG9rOwo+IC0J aW50IHJldHJpZXMgPSAxMDsKPiAgIAlzdHJ1Y3QgbnMyNTAxX3ByaXYgKm5zID0gKHN0cnVjdCBu czI1MDFfcHJpdiAqKShkdm8tPmRldl9wcml2KTsKPiAtCXVuc2lnbmVkIGNoYXIgY2g7Cj4KPiAg IAlEUk1fREVCVUdfS01TKCJUcnlpbmcgc2V0IHRoZSBkcG1zIG9mIHRoZSBEVk8gdG8gJWlcbiIs IGVuYWJsZSk7Cj4KPiAtCWNoID0gbnMtPnJlZ184X3NoYWRvdzsKPiArCWlmIChlbmFibGUpIHsK PiArCQlpZiAoV0FSTl9PTihucy0+cmVnc1s4M10ub2Zmc2V0ICE9IDB4MDggfHwKPiArCQkJICAg IG5zLT5yZWdzWzg0XS5vZmZzZXQgIT0gMHg0MSB8fAo+ICsJCQkgICAgbnMtPnJlZ3NbODVdLm9m ZnNldCAhPSAweGMwKSkKPiArCQkJcmV0dXJuOwo+Cj4gLQlpZiAoZW5hYmxlKQo+IC0JCWNoIHw9 IE5TMjUwMV84X1BEOwo+IC0JZWxzZQo+IC0JCWNoICY9IH5OUzI1MDFfOF9QRDsKPiAtCj4gLQlp ZiAobnMtPnJlZ184X3NldCA9PSAwIHx8IG5zLT5yZWdfOF9zaGFkb3cgIT0gY2gpIHsKPiAtCQlu cy0+cmVnXzhfc2V0ID0gMTsKPiAtCQlucy0+cmVnXzhfc2hhZG93ID0gY2g7Cj4gLQo+IC0JCWRv IHsKPiAtCQkJb2sgPSB0cnVlOwo+IC0JCQlvayAmPSBuczI1MDFfd3JpdGViKGR2bywgTlMyNTAx X1JFRzgsIGNoKTsKPiAtCQkJb2sgJj0KPiAtCQkJICAgIG5zMjUwMV93cml0ZWIoZHZvLCAweDM0 LAo+IC0JCQkJCSAgZW5hYmxlID8gMHgwMyA6IDB4MDApOwo+IC0JCQlvayAmPQo+IC0JCQkgICAg bnMyNTAxX3dyaXRlYihkdm8sIDB4MzUsCj4gLQkJCQkJICBlbmFibGUgPyAweGZmIDogMHgwMCk7 Cj4gLQkJfSB3aGlsZSAoIW9rICYmIHJldHJpZXMtLSk7Cj4gKwkJbnMyNTAxX3dyaXRlYihkdm8s IDB4YzAsIG5zLT5yZWdzWzg1XS52YWx1ZSB8IDB4MDgpOwo+ICsKPiArCQluczI1MDFfd3JpdGVi KGR2bywgMHg0MSwgbnMtPnJlZ3NbODRdLnZhbHVlKTsKPiArCj4gKwkJbnMyNTAxX3dyaXRlYihk dm8sIDB4MzQsIDB4MDEpOwo+ICsJCW1zbGVlcCgxNSk7Cj4gKwo+ICsJCW5zMjUwMV93cml0ZWIo ZHZvLCAweDA4LCAweDM1KTsKPiArCQlpZiAoIShucy0+cmVnc1s4M10udmFsdWUgJiBOUzI1MDFf OF9CUEFTKSkKPiArCQkJbnMyNTAxX3dyaXRlYihkdm8sIDB4MDgsIDB4MzEpOwo+ICsJCW1zbGVl cCgyMDApOwo+ICsKPiArCQluczI1MDFfd3JpdGViKGR2bywgMHgzNCwgMHgwMyk7Cj4gKwo+ICsJ CW5zMjUwMV93cml0ZWIoZHZvLCAweGMwLCBucy0+cmVnc1s4NV0udmFsdWUpOwo+ICsJfSBlbHNl IHsKPiArCQluczI1MDFfd3JpdGViKGR2bywgMHgzNCwgMHgwMSk7Cj4gKwkJbXNsZWVwKDIwMCk7 Cj4gKwo+ICsJCW5zMjUwMV93cml0ZWIoZHZvLCAweDA4LCAweDM0KTsKPiArCQltc2xlZXAoMTUp Owo+ICsKPiArCQluczI1MDFfd3JpdGViKGR2bywgMHgzNCwgMHgwMCk7Cj4gICAJfQo+ICAgfQo+ Cj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==