From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v4 01/14] drm: Centralize format information Date: Thu, 15 Sep 2016 01:22:24 +0300 Message-ID: <1622000.t01kXMM4V9@avalon> References: <1473345868-25453-1-git-send-email-laurent.pinchart@ideasonboard.com> <1473345868-25453-2-git-send-email-laurent.pinchart@ideasonboard.com> <9a7a728d-6983-4d5b-53e4-96291c31f2a0@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id BAEF66E0F1 for ; Wed, 14 Sep 2016 22:21:43 +0000 (UTC) In-Reply-To: <9a7a728d-6983-4d5b-53e4-96291c31f2a0@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Tomi Valkeinen Cc: Daniel Vetter , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgVG9taSwKClRoYW5rIHlvdSBmb3IgdGhlIHJldmlldy4KCk9uIFdlZG5lc2RheSAxNCBTZXAg MjAxNiAxNDo0OToyNiBUb21pIFZhbGtlaW5lbiB3cm90ZToKPiBPbiAwOC8wOS8xNiAxNzo0NCwg TGF1cmVudCBQaW5jaGFydCB3cm90ZToKPiA+IFZhcmlvdXMgcGllY2VzIG9mIGluZm9ybWF0aW9u IGFib3V0IERSTSBmb3JtYXRzIChudW1iZXIgb2YgcGxhbmVzLCBjb2xvcgo+ID4gZGVwdGgsIGNo cm9tYSBzdWJzYW1wbGluZywgLi4uKSBhcmUgc2NhdHRlcmVkIGFjcm9zcyBkaWZmZXJlbnQgaGVs cGVyCj4gPiBmdW5jdGlvbnMgaW4gdGhlIERSTSBjb3JlLiBDYWxsZXJzIG9mIHRob3NlIGZ1bmN0 aW9ucyBvZnRlbiBuZWVkIHRvCj4gPiBhY2Nlc3MgbW9yZSB0aGFuIGEgc2luZ2xlIHBhcmFtZXRl ciBvZiB0aGUgZm9ybWF0LCBsZWFkaW5nIHRvCj4gPiBpbmVmZmljaWVuY2llcyBkdWUgdG8gbXVs dGlwbGUgbG9va3Vwcy4KPiA+IAo+ID4gQ2VudHJhbGl6ZSBhbGwgZm9ybWF0IGluZm9ybWF0aW9u IGluIGEgZGF0YSBzdHJ1Y3R1cmUgYW5kIGNyZWF0ZSBhCj4gPiBmdW5jdGlvbiB0byBsb29rIHVw IGluZm9ybWF0aW9uIGJhc2VkIG9uIHRoZSBmb3JtYXQgNENDLgo+ID4gCj4gPiBTaWduZWQtb2Zm LWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+ Cj4gPiAtLS0KPiA+IAo+ID4gIERvY3VtZW50YXRpb24vZ3B1L2RybS1rbXMucnN0IHwgIDMgKysK PiA+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZvdXJjYy5jICB8IDg0ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gPiAgaW5jbHVkZS9kcm0vZHJtX2ZvdXJjYy5oICAgICAg fCAxOSArKysrKysrKysrCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKQoK W3NuaXBdCgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm91cmNjLmMgYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2ZvdXJjYy5jCj4gPiBpbmRleCAyOWM1NmI0MzMxZTAuLjZiOTFi ZDhhNTEwZCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm91cmNjLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZm91cmNjLmMKPiA+IEBAIC0xMDMsNiArMTAzLDkw IEBAIGNoYXIgKmRybV9nZXRfZm9ybWF0X25hbWUodWludDMyX3QgZm9ybWF0KQo+ID4gIEVYUE9S VF9TWU1CT0woZHJtX2dldF9mb3JtYXRfbmFtZSk7Cj4gPiAgCj4gPiAgLyoqCj4gPiArICogZHJt X2Zvcm1hdF9pbmZvIC0gcXVlcnkgaW5mb3JtYXRpb24gZm9yIGEgZ2l2ZW4gZm9ybWF0Cj4gPiAr ICogQGZvcm1hdDogcGl4ZWwgZm9ybWF0IChEUk1fRk9STUFUXyopCj4gPiArICoKPiA+ICsgKiBS ZXR1cm5zOgo+ID4gKyAqIFRoZSBpbnN0YW5jZSBvZiBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvIHRo YXQgZGVzY3JpYmVzIHRoZSBwaXhlbAo+ID4gZm9ybWF0LCBvcgo+ID4gKyAqIE5VTEwgaWYgdGhl IGZvcm1hdCBpcyB1bnN1cHBvcnRlZC4KPiA+ICsgKi8KPiA+ICtjb25zdCBzdHJ1Y3QgZHJtX2Zv cm1hdF9pbmZvICpkcm1fZm9ybWF0X2luZm8odTMyIGZvcm1hdCkKPiA+ICt7Cj4gPiArCXN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9pbmZvIGZvcm1hdHNbXSA9IHsKPiA+ICsJCXsgLmZv cm1hdCA9IERSTV9GT1JNQVRfQzgsCQkuZGVwdGggPSA4LCAKPiA+IC5udW1fcGxhbmVzID0gMSwg LmNwcCA9IHsgMSwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9y bWF0ID0gRFJNX0ZPUk1BVF9SR0IzMzIsCQkuZGVwdGggPSA4LCAKPiA+IC5udW1fcGxhbmVzID0g MSwgLmNwcCA9IHsgMSwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAu Zm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1IyMzMsCQkuZGVwdGggPSA4LAo+ID4gLm51bV9wbGFuZXMg PSAxLCAuY3BwID0geyAxLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gPiArCQl7 IC5mb3JtYXQgPSBEUk1fRk9STUFUX1hSR0I0NDQ0LAkuZGVwdGggPSAxMiwKPiA+IC5udW1fcGxh bmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ID4g KwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9YQkdSNDQ0NCwJLmRlcHRoID0gMTIsCj4gPiAubnVt X3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwK PiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfUkdCWDQ0NDQsCS5kZXB0aCA9IDEyLAo+ID4g Lm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAx IH0sCj4gPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0JHUlg0NDQ0LAkuZGVwdGggPSAxMiwK PiA+IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3Vi ID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9BUkdCNDQ0NCwJLmRlcHRoID0g MTIsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAxLCAu dnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQUJHUjQ0NDQsCS5kZXB0 aCA9IDEyLAo+ID4gLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0g MSwgLnZzdWIgPSAxIH0sCj4gPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1JHQkE0NDQ0LAku ZGVwdGggPSAxMiwKPiA+IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1 YiA9IDEsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1JBNDQ0 NCwJLmRlcHRoID0gMTIsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwg LmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPgo+IEFyZW4ndCB0aGVzZSAxNiBiaXQgZGVlcCBtb2Rl cz8gNCs0KzQrNCA9IDE2LgoKTm8sIHRoZSBkZXB0aCB2YWx1ZSBpcyB0aGUgbnVtYmVyIG9mIGNv bG91ciBiaXRzLCBleGNsdWRpbmcgdGhlIGFscGhhIGJpdHMuIApUaGlzIGlzIHVzZWQgdG8gaW1w bGVtZW50IHRoZSBmYmRldiBjb21wYXRpYmlsaXR5IGNvZGUsIGFzIGZiZGV2ICh1bmxpa2Uga21z KSAKbWFrZXMgdXNlIG9mIHRoYXQgaW5mb3JtYXRpb24uCgpUaGUgdG90YWwgbnVtYmVyIG9mIGJp dHMgcGVyIHBpeGVsIGlzIG5vdCBzdG9yZWQgaW4gdGhlIHRhYmxlIGFzIGl0IGNhbiBiZSAKY29t cHV0ZWQgYnkgY3BwWzBdKjggKyAoY3BwWzFdK2NwcFsyXSkqOC9oc3ViL3ZzdWIuIEZvciBSR0Ig Zm9ybWF0cywgd2hpY2ggYXJlIAp0aGUgb25seSBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGUgZXhp c3RpbmcgZHJtX2ZiX2dldF9icHBfZGVwdGgoKSBmdW5jdGlvbiwgCnRoaXMgc2ltcGxpZmllcyB0 byBqdXN0IGNwcFswXSAqIDguCgpTYW1lIGZvciB0aGUgb3RoZXIgZm9ybWF0cyBiZWxvdy4KCj4g PiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1hSR0IxNTU1LAkuZGVwdGggPSAxNSwKPiA+IC5u dW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9 LCAKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWEJHUjE1NTUsCS5kZXB0aCA9IDE1LAo+ ID4gLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIg PSAxIH0sCj4gPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1JHQlg1NTUxLAkuZGVwdGggPSAx NSwKPiA+IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDEsIC52 c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1JYNTU1MSwJLmRlcHRo ID0gMTUsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAx LCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQVJHQjE1NTUsCS5k ZXB0aCA9IDE1LAo+ID4gLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAwLCAwIH0sIC5oc3Vi ID0gMSwgLnZzdWIgPSAxIH0sCj4gPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0FCR1IxNTU1 LAkuZGVwdGggPSAxNSwKPiA+IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgMiwgMCwgMCB9LCAu aHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0JB NTU1MSwJLmRlcHRoID0gMTUsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAsIDAg fSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRf QkdSQTU1NTEsCS5kZXB0aCA9IDE1LAo+ID4gLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyAyLCAw LCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4KPiBBcmVuJ3QgdGhlc2UgMTYgYml0IGRl ZXAgbW9kZXM/IDUrNSs1KzEgPSAxNi4KPiAKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRf UkdCNTY1LAkJLmRlcHRoID0gMTYsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIsIDAs IDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JN QVRfQkdSNTY1LAkJLmRlcHRoID0gMTYsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDIs IDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9G T1JNQVRfUkdCODg4LAkJLmRlcHRoID0gMjQsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7 IDMsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERS TV9GT1JNQVRfQkdSODg4LAkJLmRlcHRoID0gMjQsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAg PSB7IDMsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9 IERSTV9GT1JNQVRfWFJHQjg4ODgsCS5kZXB0aCA9IDI0LAo+ID4gLm51bV9wbGFuZXMgPSAxLCAu Y3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gPiArCQl7IC5mb3Jt YXQgPSBEUk1fRk9STUFUX1hCR1I4ODg4LAkuZGVwdGggPSAyNCwKPiA+IC5udW1fcGxhbmVzID0g MSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAu Zm9ybWF0ID0gRFJNX0ZPUk1BVF9SR0JYODg4OCwJLmRlcHRoID0gMjQsCj4gPiAubnVtX3BsYW5l cyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiA+ICsJ CXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQkdSWDg4ODgsCS5kZXB0aCA9IDI0LAo+ID4gLm51bV9w bGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4g PiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1hSR0IyMTAxMDEwLAkuZGVwdGggPSAzMCwKPiA+ IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0g MSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9YQkdSMjEwMTAxMCwJLmRlcHRoID0g MzAsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAu dnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfUkdCWDEwMTAxMDIsCS5k ZXB0aCA9IDMwLAo+ID4gLm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3Vi ID0gMSwgLnZzdWIgPSAxIH0sCj4gPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX0JHUlgxMDEw MTAyLAkuZGVwdGggPSAzMCwKPiA+IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9 LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9B UkdCMjEwMTAxMCwJLmRlcHRoID0gMzAsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQs IDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9G T1JNQVRfQUJHUjIxMDEwMTAsCS5kZXB0aCA9IDMwLAo+ID4gLm51bV9wbGFuZXMgPSAxLCAuY3Bw ID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gPiArCQl7IC5mb3JtYXQg PSBEUk1fRk9STUFUX1JHQkExMDEwMTAyLAkuZGVwdGggPSAzMCwKPiA+IC5udW1fcGxhbmVzID0g MSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAu Zm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1JBMTAxMDEwMiwJLmRlcHRoID0gMzAsCj4gPiAubnVtX3Bs YW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwKPgo+ IEFyZW4ndCB0aGVzZSAzMiBiaXQgZGVlcCBtb2Rlcz8gMTArMTArMTArMiA9IDMyLgo+IAo+ID4g KwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9BUkdCODg4OCwJLmRlcHRoID0gMzIsCj4gPiAubnVt X3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAudnN1YiA9IDEgfSwK PiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfQUJHUjg4ODgsCS5kZXB0aCA9IDMyLAo+ID4g Lm51bV9wbGFuZXMgPSAxLCAuY3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAx IH0sCj4gPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1JHQkE4ODg4LAkuZGVwdGggPSAzMiwK PiA+IC5udW1fcGxhbmVzID0gMSwgLmNwcCA9IHsgNCwgMCwgMCB9LCAuaHN1YiA9IDEsIC52c3Vi ID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9CR1JBODg4OCwJLmRlcHRoID0g MzIsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5jcHAgPSB7IDQsIDAsIDAgfSwgLmhzdWIgPSAxLCAu dnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWVVWNDEwLAkJLmRlcHRo ID0gMCwgCj4gPiAubnVtX3BsYW5lcyA9IDMsIC5jcHAgPSB7IDEsIDEsIDEgfSwgLmhzdWIgPSA0 LCAudnN1YiA9IDQgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWVZVNDEwLAkJLmRl cHRoID0gMCwgCj4gPiAubnVtX3BsYW5lcyA9IDMsIC5jcHAgPSB7IDEsIDEsIDEgfSwgLmhzdWIg PSA0LCAudnN1YiA9IDQgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRfWVVWNDExLAkJ LmRlcHRoID0gMCwKPiA+IC5udW1fcGxhbmVzID0gMywgLmNwcCA9IHsgMSwgMSwgMSB9LCAuaHN1 YiA9IDQsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZPUk1BVF9ZVlU0MTEs CQkuZGVwdGggPSAwLAo+ID4gLm51bV9wbGFuZXMgPSAzLCAuY3BwID0geyAxLCAxLCAxIH0sIC5o c3ViID0gNCwgLnZzdWIgPSAxIH0sCj4gPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1lVVjQy MCwJCS5kZXB0aCA9IDAsIAo+ID4gLm51bV9wbGFuZXMgPSAzLCAuY3BwID0geyAxLCAxLCAxIH0s IC5oc3ViID0gMiwgLnZzdWIgPSAyIH0sCj4gPiArCQl7IC5mb3JtYXQgPSBEUk1fRk9STUFUX1lW VTQyMCwJCS5kZXB0aCA9IDAsCj4gPiAubnVtX3BsYW5lcyA9IDMsIC5jcHAgPSB7IDEsIDEsIDEg fSwgLmhzdWIgPSAyLCAudnN1YiA9IDIgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JNQVRf WVVWNDIyLAkJLmRlcHRoID0gMCwgCj4gPiAubnVtX3BsYW5lcyA9IDMsIC5jcHAgPSB7IDEsIDEs IDEgfSwgLmhzdWIgPSAyLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9IERSTV9GT1JN QVRfWVZVNDIyLAkJLmRlcHRoID0gMCwKPiA+IC5udW1fcGxhbmVzID0gMywgLmNwcCA9IHsgMSwg MSwgMSB9LCAuaHN1YiA9IDIsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJNX0ZP Uk1BVF9ZVVY0NDQsCQkuZGVwdGggPSAwLCAKPiA+IC5udW1fcGxhbmVzID0gMywgLmNwcCA9IHsg MSwgMSwgMSB9LCAuaHN1YiA9IDEsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0ID0gRFJN X0ZPUk1BVF9ZVlU0NDQsCQkuZGVwdGggPSAwLAo+ID4gLm51bV9wbGFuZXMgPSAzLCAuY3BwID0g eyAxLCAxLCAxIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gPiArCQl7IC5mb3JtYXQgPSBE Uk1fRk9STUFUX05WMTIsCQkuZGVwdGggPSAwLCAKPiA+IC5udW1fcGxhbmVzID0gMiwgLmNwcCA9 IHsgMSwgMiwgMCB9LCAuaHN1YiA9IDIsIC52c3ViID0gMiB9LAo+ID4gKwkJeyAuZm9ybWF0ID0g RFJNX0ZPUk1BVF9OVjIxLAkJLmRlcHRoID0gMCwKPiA+IC5udW1fcGxhbmVzID0gMiwgLmNwcCA9 IHsgMSwgMiwgMCB9LCAuaHN1YiA9IDIsIC52c3ViID0gMiB9LAo+ID4gKwkJeyAuZm9ybWF0ID0g RFJNX0ZPUk1BVF9OVjE2LAkJLmRlcHRoID0gMCwgCj4gPiAubnVtX3BsYW5lcyA9IDIsIC5jcHAg PSB7IDEsIDIsIDAgfSwgLmhzdWIgPSAyLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9 IERSTV9GT1JNQVRfTlY2MSwJCS5kZXB0aCA9IDAsCj4gPiAubnVtX3BsYW5lcyA9IDIsIC5jcHAg PSB7IDEsIDIsIDAgfSwgLmhzdWIgPSAyLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1hdCA9 IERSTV9GT1JNQVRfTlYyNCwJCS5kZXB0aCA9IDAsIAo+ID4gLm51bV9wbGFuZXMgPSAyLCAuY3Bw ID0geyAxLCAyLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gPiArCQl7IC5mb3JtYXQg PSBEUk1fRk9STUFUX05WNDIsCQkuZGVwdGggPSAwLAo+ID4gLm51bV9wbGFuZXMgPSAyLCAuY3Bw ID0geyAxLCAyLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gPiArCQl7IC5mb3JtYXQg PSBEUk1fRk9STUFUX1lVWVYsCQkuZGVwdGggPSAwLCAKPiA+IC5udW1fcGxhbmVzID0gMSwgLmNw cCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDIsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0 ID0gRFJNX0ZPUk1BVF9ZVllVLAkJLmRlcHRoID0gMCwKPiA+IC5udW1fcGxhbmVzID0gMSwgLmNw cCA9IHsgMiwgMCwgMCB9LCAuaHN1YiA9IDIsIC52c3ViID0gMSB9LAo+ID4gKwkJeyAuZm9ybWF0 ID0gRFJNX0ZPUk1BVF9VWVZZLAkJLmRlcHRoID0gMCwgCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5j cHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAyLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1h dCA9IERSTV9GT1JNQVRfVllVWSwJCS5kZXB0aCA9IDAsCj4gPiAubnVtX3BsYW5lcyA9IDEsIC5j cHAgPSB7IDIsIDAsIDAgfSwgLmhzdWIgPSAyLCAudnN1YiA9IDEgfSwKPiA+ICsJCXsgLmZvcm1h dCA9IERSTV9GT1JNQVRfQVlVViwJCS5kZXB0aCA9IDAsIAo+ID4gLm51bV9wbGFuZXMgPSAxLCAu Y3BwID0geyA0LCAwLCAwIH0sIC5oc3ViID0gMSwgLnZzdWIgPSAxIH0sCj4gPiArCX07Cj4gPiAr Cj4gPiArCXVuc2lnbmVkIGludCBpOwo+ID4gKwo+ID4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlf U0laRShmb3JtYXRzKTsgKytpKSB7Cj4gPiArCQlpZiAoZm9ybWF0c1tpXS5mb3JtYXQgPT0gZm9y bWF0KQo+ID4gKwkJCXJldHVybiAmZm9ybWF0c1tpXTsKPiA+ICsJfQo+ID4gKwo+ID4gKwlyZXR1 cm4gTlVMTDsKPiA+ICt9Cj4gPiArRVhQT1JUX1NZTUJPTChkcm1fZm9ybWF0X2luZm8pOwo+ID4g Kwo+ID4gKy8qKgo+ID4gICAqIGRybV9mYl9nZXRfYnBwX2RlcHRoIC0gZ2V0IHRoZSBicHAvZGVw dGggdmFsdWVzIGZvciBmb3JtYXQKPiA+ICAgKiBAZm9ybWF0OiBwaXhlbCBmb3JtYXQgKERSTV9G T1JNQVRfKikKPiA+ICAgKiBAZGVwdGg6IHN0b3JhZ2UgZm9yIHRoZSBkZXB0aCB2YWx1ZQo+ID4g ZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9mb3VyY2MuaCBiL2luY2x1ZGUvZHJtL2RybV9m b3VyY2MuaAo+ID4gaW5kZXggMzBjMzBmYTg3ZWU4Li40ZTc5ZDYxNTk4NTYgMTAwNjQ0Cj4gPiAt LS0gYS9pbmNsdWRlL2RybS9kcm1fZm91cmNjLmgKPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9m b3VyY2MuaAo+ID4gQEAgLTI1LDYgKzI1LDI1IEBACj4gPiAgI2luY2x1ZGUgPGxpbnV4L3R5cGVz Lmg+Cj4gPiAgI2luY2x1ZGUgPHVhcGkvZHJtL2RybV9mb3VyY2MuaD4KPiA+IAo+ID4gKy8qKgo+ ID4gKyAqIHN0cnVjdCBkcm1fZm9ybWF0X2luZm8gLSBpbmZvcm1hdGlvbiBhYm91dCBhIERSTSBm b3JtYXQKPiA+ICsgKiBAZm9ybWF0OiA0Q0MgZm9ybWF0IGlkZW50aWZpZXIgKERSTV9GT1JNQVRf KikKPiA+ICsgKiBAZGVwdGg6IGNvbG9yIGRlcHRoIChudW1iZXIgb2YgYml0cyBwZXIgcGl4ZWwg ZXhjbHVkaW5nIHBhZGRpbmcgYml0cykKPiAKPiBEZXB0aCBpcyB6ZXJvIGZvciB5dXYgZm9ybWF0 cy4gTWF5YmUgdGhhdCBzaG91bGQgYmUgbWFkZSBjbGVhciBoZXJlLgoKSG93IGFib3V0CgoiY29s b3IgZGVwdGggKG51bWJlciBvZiBiaXRzIHBlciBwaXhlbCBleGNsdWRpbmcgcGFkZGluZyBhbmQg YWxwaGEgYml0cyksIAp2YWxpZCBmb3IgUkdCIGZvcm1hdHMgb25seSIgPwoKLS0gClJlZ2FyZHMs CgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9k cmktZGV2ZWwK