From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6DF536E2D7 for ; Mon, 4 Feb 2019 14:09:30 +0000 (UTC) References: <20190201111544.7920-2-maarten.lankhorst@linux.intel.com> <20190204124625.5364-1-maarten.lankhorst@linux.intel.com> From: "Sharma, Swati2" Message-ID: Date: Mon, 4 Feb 2019 19:39:26 +0530 MIME-Version: 1.0 In-Reply-To: <20190204124625.5364-1-maarten.lankhorst@linux.intel.com> Content-Language: en-US Subject: Re: [igt-dev] [PATCH i-g-t] lib/igt_fb: Add support for P01x formats, v2. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Maarten Lankhorst , igt-dev@lists.freedesktop.org List-ID: Ck9uIDA0LUZlYi0xOSA2OjE2IFBNLCBNYWFydGVuIExhbmtob3JzdCB3cm90ZToKPiBUaGUgUDAx eCBmb3JtYXRzIGFyZSBwbGFuYXIgMTYgYml0cyBwZXIgY29tcG9uZW50LCB3aXRoIHRoZSB1bnVz ZWQgbG93ZXIgYml0cyBzZXQgdG8gMC4KPiBUaGlzIG1lYW5zIHRoZXkgY2FuIGFsbCBiZSBjb252 ZXJ0ZWQgdGhlIHNhbWUgd2F5LiBPbmx5IHRoZSByYW5nZSBpcyBzbGlnaHRseSBkaWZmZXJlbnQs Cj4gYW5kIHRoaXMgaXMgaGFuZGxlZCBpbiB0aGUgY29sb3JfZW5jb2RpbmcgaW1wbGVtZW50YXRp b24uCj4KPiBUaGlzIHJlcXVpcmVzIGNhaXJvIDEuMTcuMiBhbmQgcGl4bWFuIDAuMzYuIFRoaXMg d29ya3MgYnV0IGRvZXNuJ3QgZ2l2ZSBleHRyYSBwcmVjaXNpb24uCj4gRm9yIG1vcmUgdGhhbiA4 IGJpdHMgcHJlY2lzaW9uIGEgZmV3IG1vcmUgcGF0Y2hlcyBhcmUgcmVxdWlyZWQgdG8gcGl4bWFu LCBwZW5kaW5nIHJldmlldzoKPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9hcmNoaXZl cy9waXhtYW4vMjAxOS1KYW51YXJ5LzAwNDgxNS5odG1sCj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvYXJjaGl2ZXMvcGl4bWFuLzIwMTktSmFudWFyeS8wMDQ4MDkuaHRtbAo+Cj4gT25j ZSB0aG9zZSBhcmUgbWVyZ2VkLCB3ZSB3aWxsIHJlcXVpcmUgdGhlIG5leHQgcGl4bWFuIHJlbGVh c2UgZm9yIGJldHRlciBwcmVjaXNpb24uCj4KPiBDaGFuZ2VzIHNpbmNlIHYxOgo+IC0gQWRkIGZh bGxiYWNrIGNvbG9yIGRlZmluaXRpb25zIHdoZW4gY29tcGlsaW5nIG9uIGNhaXJvIHZlcnNpb24g PCAxLjE3LjIuCj4gLSBTa2lwIHdoZW4gRkIgY3JlYXRpb24gZmFpbHMgb24gSERSIGZvcm1hdHMs IGluc3RlYWQgb2YgZmFpbGluZy4KPgo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0 IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gICBpbmNsdWRlL2Ry bS11YXBpL2RybV9mb3VyY2MuaCB8ICAxMCArKwo+ICAgbGliL2lndF9jb2xvcl9lbmNvZGluZy5j ICAgICAgfCAgIDQgKwo+ICAgbGliL2lndF9mYi5jICAgICAgICAgICAgICAgICAgfCAyMzQgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQo+ICAgbGliL2lndF9mYi5oICAgICAgICAg ICAgICAgICAgfCAgIDYgKwo+ICAgNCBmaWxlcyBjaGFuZ2VkLCAyNDMgaW5zZXJ0aW9ucygrKSwg MTEgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91 cmNjLmggYi9pbmNsdWRlL2RybS11YXBpL2RybV9mb3VyY2MuaAo+IGluZGV4IDRkZGY3NTRiYWIw OS4uYzlhNWU1Nzg3MDMxIDEwMDY0NAo+IC0tLSBhL2luY2x1ZGUvZHJtLXVhcGkvZHJtX2ZvdXJj Yy5oCj4gKysrIGIvaW5jbHVkZS9kcm0tdWFwaS9kcm1fZm91cmNjLmgKPiBAQCAtMTk1LDYgKzE5 NSwxNiBAQCBleHRlcm4gIkMiIHsKPiAgICNkZWZpbmUgRFJNX0ZPUk1BVF9OVjI0CQlmb3VyY2Nf Y29kZSgnTicsICdWJywgJzInLCAnNCcpIC8qIG5vbi1zdWJzYW1wbGVkIENyOkNiIHBsYW5lICov Cj4gICAjZGVmaW5lIERSTV9GT1JNQVRfTlY0MgkJZm91cmNjX2NvZGUoJ04nLCAnVicsICc0Jywg JzInKSAvKiBub24tc3Vic2FtcGxlZCBDYjpDciBwbGFuZSAqLwo+ICAgCj4gKy8qCj4gKyAqIDIg cGxhbmUgWUNiQ3IKPiArICogaW5kZXggMCA9IFkgcGxhbmUsIFsxNTowXSBZIGxpdHRsZSBlbmRp YW4gd2hlcmUgUHh4eCBpbmRpY2F0ZQo+ICsgKiBjb21wb25lbnQgeHh4IG1zYiBZIFt4eHg6MTYt eHh4XQo+ICsgKiBpbmRleCAxID0gQ3I6Q2IgcGxhbmUsIFszMTowXSBDcjpDYiBsaXR0bGUgZW5k aWFuIFt4eHg6MTYteHh4Onh4eDoxNi14eHhdCj4gKyAqLwo+ICsjZGVmaW5lIERSTV9GT1JNQVRf UDAxMAkJZm91cmNjX2NvZGUoJ1AnLCAnMCcsICcxJywgJzAnKSAvKiAyeDIgc3Vic2FtcGxlZCBD cjpDYiBwbGFuZSwgMTAgYml0IHBlciBjaGFubmVsICovCj4gKyNkZWZpbmUgRFJNX0ZPUk1BVF9Q MDEyCQlmb3VyY2NfY29kZSgnUCcsICcwJywgJzEnLCAnMicpIC8qIDJ4MiBzdWJzYW1wbGVkIENy OkNiIHBsYW5lLCAxMiBiaXQgcGVyIGNoYW5uZWwgKi8KPiArI2RlZmluZSBEUk1fRk9STUFUX1Aw MTYJCWZvdXJjY19jb2RlKCdQJywgJzAnLCAnMScsICc2JykgLyogMngyIHN1YnNhbXBsZWQgQ3I6 Q2IgcGxhbmUsIDE2IGJpdCBwZXIgY2hhbm5lbCAqLwo+ICsKPiAgIC8qCj4gICAgKiAzIHBsYW5l IFlDYkNyCj4gICAgKiBpbmRleCAwOiBZIHBsYW5lLCBbNzowXSBZCj4gZGlmZiAtLWdpdCBhL2xp Yi9pZ3RfY29sb3JfZW5jb2RpbmcuYyBiL2xpYi9pZ3RfY29sb3JfZW5jb2RpbmcuYwo+IGluZGV4 IDRjYmUxOGUyMTdlMy4uYjdhMTJhMWUwN2Y3IDEwMDY0NAo+IC0tLSBhL2xpYi9pZ3RfY29sb3Jf ZW5jb2RpbmcuYwo+ICsrKyBiL2xpYi9pZ3RfY29sb3JfZW5jb2RpbmcuYwo+IEBAIC0xMzUsMTEg KzEzNSwxNSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGNvbG9yX2VuY29kaW5nX2Zvcm1hdCB7Cj4g ICAJZmxvYXQgb2ZzX3ksIG1heF95LCBvZnNfY2JjciwgbWlkX2NiY3IsIG1heF9jYmNyOwo+ICAg fSBmb3JtYXRzW10gPSB7Cj4gICAJeyBEUk1fRk9STUFUX1hSR0I4ODg4LCAyNTUuZiwgfSwKPiAr CXsgSUdUX0ZPUk1BVF9GTE9BVCwgMS5mLCB9LAo+ICAgCXsgRFJNX0ZPUk1BVF9OVjEyLCAyNTUu ZiwgMTYuZiwgMjM1LmYsIDE2LmYsIDEyOC5mLCAyNDAuZiB9LAo+ICAgCXsgRFJNX0ZPUk1BVF9Z VVlWLCAyNTUuZiwgMTYuZiwgMjM1LmYsIDE2LmYsIDEyOC5mLCAyNDAuZiB9LAo+ICAgCXsgRFJN X0ZPUk1BVF9ZVllVLCAyNTUuZiwgMTYuZiwgMjM1LmYsIDE2LmYsIDEyOC5mLCAyNDAuZiB9LAo+ ICAgCXsgRFJNX0ZPUk1BVF9VWVZZLCAyNTUuZiwgMTYuZiwgMjM1LmYsIDE2LmYsIDEyOC5mLCAy NDAuZiB9LAo+ICAgCXsgRFJNX0ZPUk1BVF9WWVVZLCAyNTUuZiwgMTYuZiwgMjM1LmYsIDE2LmYs IDEyOC5mLCAyNDAuZiB9LAo+ICsJeyBEUk1fRk9STUFUX1AwMTAsIDY1NDcyLmYsIDQwOTYuZiwg NjAxNjAuZiwgNDA5Ni5mLCAzMjc2OC5mLCA2MTQ0MC5mIH0sCj4gKwl7IERSTV9GT1JNQVRfUDAx MiwgNjU1MjAuZiwgNDA5Ni5mLCA2MDE2MC5mLCA0MDk2LmYsIDMyNzY4LmYsIDYxNDQwLmYgfSwK PiArCXsgRFJNX0ZPUk1BVF9QMDE2LCA2NTUzNS5mLCA0MDk2LmYsIDYwMTYwLmYsIDQwOTYuZiwg MzI3NjguZiwgNjE0NDAuZiB9LAo+ICAgfTsKPiAgIAo+ICAgc3RhdGljIGNvbnN0IHN0cnVjdCBj b2xvcl9lbmNvZGluZ19mb3JtYXQgKmxvb2t1cF9mb3VyY2ModWludDMyX3QgZm91cmNjKQo+IGRp ZmYgLS1naXQgYS9saWIvaWd0X2ZiLmMgYi9saWIvaWd0X2ZiLmMKPiBpbmRleCBhOTcxYWViYjM2 YjMuLjMwZTU1ZWFiZGZhOCAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X2ZiLmMKPiArKysgYi9saWIv aWd0X2ZiLmMKPiBAQCAtNjIsNiArNjIsMjAgQEAKPiAgIAo+ICAgI2RlZmluZSBQSVhNQU5faW52 YWxpZAkwCj4gICAKPiArI2lmIENBSVJPX1ZFUlNJT04gPCBDQUlST19WRVJTSU9OX0VOQ09ERSgx LCAxNywgMikKPiArLyoKPiArICogV2UgbmVlZCBjYWlybyAxLjE3LjIgdG8gdXNlIEhEUiBmb3Jt YXRzLCBidXQgdGhlIG9ubHkgdGhpbmcgYWRkZWQgaXMgYSB2YWx1ZQo+ICsgKiB0byBwaXhtYW5f Zm9ybWF0X2NvZGVfdC4KPiArICoKPiArICogVG8gcHJldmVudCBnb2luZyBvdXRzaWRlIHRoZSBl bnVtLCBtYWtlIHBpeG1hbl9mb3JtYXRfY29kZV90IGFuIGludCBhbmQgZGVmaW5lCj4gKyAqIG91 cnNlbHZlcy4KPiArICovCj4gKwo+ICsjZGVmaW5lIENBSVJPX0ZPUk1BVF9SR0I5NkYgKDYpCj4g KyNkZWZpbmUgQ0FJUk9fRk9STUFUX1JHQkExMjhGICg3KQo+ICsjZGVmaW5lIHBpeG1hbl9mb3Jt YXRfY29kZV90IGludAo+ICsjZW5kaWYKPiArCj4gICAvKiBkcm0gZm91cmNjL2NhaXJvIGZvcm1h dCBtYXBzICovCj4gICBzdGF0aWMgY29uc3Qgc3RydWN0IGZvcm1hdF9kZXNjX3N0cnVjdCB7Cj4g ICAJY29uc3QgY2hhciAqbmFtZTsKPiBAQCAtMTUxLDYgKzE2NSwyMiBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGZvcm1hdF9kZXNjX3N0cnVjdCB7Cj4gICAJICAuY2Fpcm9faWQgPSBDQUlST19GT1JN QVRfUkdCMjQsCj4gICAJICAubnVtX3BsYW5lcyA9IDEsIC5wbGFuZV9icHAgPSB7IDE2LCB9LAo+ ICAgCX0sCj4gKwl7IC5uYW1lID0gIlAwMTAiLCAuZGVwdGggPSAtMSwgLmRybV9pZCA9IERSTV9G T1JNQVRfUDAxMCwKPiArCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjk2RiwKPiArCSAg Lm51bV9wbGFuZXMgPSAyLCAucGxhbmVfYnBwID0geyAxNiwgMzIgfSwKPiArCX0sCj4gKwl7IC5u YW1lID0gIlAwMTIiLCAuZGVwdGggPSAtMSwgLmRybV9pZCA9IERSTV9GT1JNQVRfUDAxMiwKPiAr CSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9STUFUX1JHQjk2RiwKPiArCSAgLm51bV9wbGFuZXMgPSAy LCAucGxhbmVfYnBwID0geyAxNiwgMzIgfSwKPiArCX0sCj4gKwl7IC5uYW1lID0gIlAwMTYiLCAu ZGVwdGggPSAtMSwgLmRybV9pZCA9IERSTV9GT1JNQVRfUDAxNiwKPiArCSAgLmNhaXJvX2lkID0g Q0FJUk9fRk9STUFUX1JHQjk2RiwKPiArCSAgLm51bV9wbGFuZXMgPSAyLCAucGxhbmVfYnBwID0g eyAxNiwgMzIgfSwKPiArCX0sCj4gKwl7IC5uYW1lID0gIklHVC1GTE9BVCIsIC5kZXB0aCA9IC0x LCAuZHJtX2lkID0gSUdUX0ZPUk1BVF9GTE9BVCwKPiArCSAgLmNhaXJvX2lkID0gQ0FJUk9fRk9S TUFUX0lOVkFMSUQsCj4gKwkgIC5udW1fcGxhbmVzID0gMSwgLnBsYW5lX2JwcCA9IHsgMTI4IH0s Cj4gKwl9LAo+ICAgfTsKPiAgICNkZWZpbmUgZm9yX2VhY2hfZm9ybWF0KGYpCVwKPiAgIAlmb3Ig KGYgPSBmb3JtYXRfZGVzYzsgZiAtIGZvcm1hdF9kZXNjIDwgQVJSQVlfU0laRShmb3JtYXRfZGVz Yyk7IGYrKykKPiBAQCAtMjM5LDEwICsyNjksMTcgQEAgdm9pZCBpZ3RfZ2V0X2ZiX3RpbGVfc2l6 ZShpbnQgZmQsIHVpbnQ2NF90IHRpbGluZywgaW50IGZiX2JwcCwKPiAgIAo+ICAgc3RhdGljIHVu c2lnbmVkIGZiX3BsYW5lX3dpZHRoKGNvbnN0IHN0cnVjdCBpZ3RfZmIgKmZiLCBpbnQgcGxhbmUp Cj4gICB7Cj4gLQlpZiAoZmItPmRybV9mb3JtYXQgPT0gRFJNX0ZPUk1BVF9OVjEyICYmIHBsYW5l ID09IDEpCj4gLQkJcmV0dXJuIERJVl9ST1VORF9VUChmYi0+d2lkdGgsIDIpOwo+IC0KPiAtCXJl dHVybiBmYi0+d2lkdGg7Cj4gKwlzd2l0Y2ggKGZiLT5kcm1fZm9ybWF0KSB7Cj4gKwljYXNlIERS TV9GT1JNQVRfUDAxMDoKPiArCWNhc2UgRFJNX0ZPUk1BVF9QMDEyOgo+ICsJY2FzZSBEUk1fRk9S TUFUX1AwMTY6Cj4gKwljYXNlIERSTV9GT1JNQVRfTlYxMjoKPiArCQlpZiAocGxhbmUgPT0gMSkK PiArCQkJcmV0dXJuIERJVl9ST1VORF9VUChmYi0+d2lkdGgsIDIpOwo+ICsJCS8qIGZhbGwtdGhy dSAqLwo+ICsJZGVmYXVsdDoKPiArCQlyZXR1cm4gZmItPndpZHRoOwo+ICsJfQo+ICAgfQo+ICAg Cj4gICBzdGF0aWMgdW5zaWduZWQgZmJfcGxhbmVfYnBwKGNvbnN0IHN0cnVjdCBpZ3RfZmIgKmZi LCBpbnQgcGxhbmUpCj4gQEAgLTI1NCwxMCArMjkxLDE3IEBAIHN0YXRpYyB1bnNpZ25lZCBmYl9w bGFuZV9icHAoY29uc3Qgc3RydWN0IGlndF9mYiAqZmIsIGludCBwbGFuZSkKPiAgIAo+ICAgc3Rh dGljIHVuc2lnbmVkIGZiX3BsYW5lX2hlaWdodChjb25zdCBzdHJ1Y3QgaWd0X2ZiICpmYiwgaW50 IHBsYW5lKQo+ICAgewo+IC0JaWYgKGZiLT5kcm1fZm9ybWF0ID09IERSTV9GT1JNQVRfTlYxMiAm JiBwbGFuZSA9PSAxKQo+IC0JCXJldHVybiBESVZfUk9VTkRfVVAoZmItPmhlaWdodCwgMik7Cj4g LQo+IC0JcmV0dXJuIGZiLT5oZWlnaHQ7Cj4gKwlzd2l0Y2ggKGZiLT5kcm1fZm9ybWF0KSB7Cj4g KwljYXNlIERSTV9GT1JNQVRfUDAxMDoKPiArCWNhc2UgRFJNX0ZPUk1BVF9QMDEyOgo+ICsJY2Fz ZSBEUk1fRk9STUFUX1AwMTY6Cj4gKwljYXNlIERSTV9GT1JNQVRfTlYxMjoKPiArCQlpZiAocGxh bmUgPT0gMSkKPiArCQkJcmV0dXJuIERJVl9ST1VORF9VUChmYi0+aGVpZ2h0LCAyKTsKPiArCQkv KiBmYWxsLXRocnUgKi8KPiArCWRlZmF1bHQ6Cj4gKwkJcmV0dXJuIGZiLT5oZWlnaHQ7Cj4gKwl9 Cj4gICB9Cj4gICAKPiAgIHN0YXRpYyBpbnQgZmJfbnVtX3BsYW5lcyhjb25zdCBzdHJ1Y3QgaWd0 X2ZiICpmYikKPiBAQCAtNTE2LDYgKzU2MCwxMyBAQCBzdGF0aWMgaW50IGNyZWF0ZV9ib19mb3Jf ZmIoc3RydWN0IGlndF9mYiAqZmIpCj4gICAJCQkJCWZ1bGxfcmFuZ2UgPyAweDAwODAwMDgwIDog MHgxMDgwMTA4MCwKPiAgIAkJCQkJZmItPnN0cmlkZXNbMF0gKiBmYi0+cGxhbmVfaGVpZ2h0WzBd IC8gc2l6ZW9mKHdjaGFyX3QpKTsKPiAgIAkJCQlicmVhazsKPiArCQkJY2FzZSBEUk1fRk9STUFU X1AwMTA6Cj4gKwkJCWNhc2UgRFJNX0ZPUk1BVF9QMDEyOgo+ICsJCQljYXNlIERSTV9GT1JNQVRf UDAxNjoKPiArCQkJCXdtZW1zZXQocHRyLCBmdWxsX3JhbmdlID8gMCA6IDB4MTAwMDEwMDAsCj4g KwkJCQkJZmItPm9mZnNldHNbMV0gLyBzaXplb2Yod2NoYXJfdCkpOwo+ICsJCQkJd21lbXNldChw dHIgKyBmYi0+b2Zmc2V0c1sxXSwgMHg4MDAwODAwMCwKPiArCQkJCQlESVZfUk9VTkRfVVAoZmIt PmhlaWdodCwyKSAqIGZiLT5zdHJpZGVzWzFdIC8gc2l6ZW9mKHdjaGFyX3QpKTsKPiAgIAkJCX0K PiAgIAkJCWdlbV9tdW5tYXAocHRyLCBmYi0+c2l6ZSk7Cj4gICAKPiBAQCAtMTQ2Myw2ICsxNTE0 LDcgQEAgc3RydWN0IGZiX2NvbnZlcnRfYmxpdF91cGxvYWQgewo+ICAgfTsKPiAgIAo+ICAgc3Rh dGljIHZvaWQgKmlndF9mYl9jcmVhdGVfY2Fpcm9fc2hhZG93X2J1ZmZlcihpbnQgZmQsCj4gKwkJ CQkJICAgICAgIHVuc2lnbmVkIGRybV9mb3JtYXQsCj4gICAJCQkJCSAgICAgICB1bnNpZ25lZCBp bnQgd2lkdGgsCj4gICAJCQkJCSAgICAgICB1bnNpZ25lZCBpbnQgaGVpZ2h0LAo+ICAgCQkJCQkg ICAgICAgc3RydWN0IGlndF9mYiAqc2hhZG93KQo+IEBAIC0xNDcyLDcgKzE1MjQsNyBAQCBzdGF0 aWMgdm9pZCAqaWd0X2ZiX2NyZWF0ZV9jYWlyb19zaGFkb3dfYnVmZmVyKGludCBmZCwKPiAgIAlp Z3RfYXNzZXJ0KHNoYWRvdyk7Cj4gICAKPiAgIAlmYl9pbml0KHNoYWRvdywgZmQsIHdpZHRoLCBo ZWlnaHQsCj4gLQkJRFJNX0ZPUk1BVF9YUkdCODg4OCwgTE9DQUxfRFJNX0ZPUk1BVF9NT0RfTk9O RSwKPiArCQlkcm1fZm9ybWF0LCBMT0NBTF9EUk1fRk9STUFUX01PRF9OT05FLAo+ICAgCQlJR1Rf Q09MT1JfWUNCQ1JfQlQ3MDksIElHVF9DT0xPUl9ZQ0JDUl9MSU1JVEVEX1JBTkdFKTsKPiAgIAo+ ICAgCXNoYWRvdy0+c3RyaWRlc1swXSA9IEFMSUdOKHdpZHRoICogc2hhZG93LT5wbGFuZV9icHBb MF0sIDE2KTsKPiBAQCAtMTk4Myw2ICsyMDM1LDEyNCBAQCBzdGF0aWMgdm9pZCBjb252ZXJ0X3Jn YjI0X3RvX3l1eXYoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKPiAgIAl9Cj4gICB9Cj4gICAKPiAr c3RhdGljIHZvaWQgcmVhZF9yZ2JmKHN0cnVjdCBpZ3RfdmVjNCAqcmdiLCBjb25zdCBmbG9hdCAq cmdiMjQpCj4gK3sKPiArCXJnYi0+ZFswXSA9IHJnYjI0WzBdOwo+ICsJcmdiLT5kWzFdID0gcmdi MjRbMV07Cj4gKwlyZ2ItPmRbMl0gPSByZ2IyNFsyXTsKPiArCXJnYi0+ZFszXSA9IDEuMGY7Cj4g K30KPiArCj4gK3N0YXRpYyB2b2lkIHdyaXRlX3JnYmYoZmxvYXQgKnJnYjI0LCBjb25zdCBzdHJ1 Y3QgaWd0X3ZlYzQgKnJnYikKPiArewo+ICsJcmdiMjRbMF0gPSByZ2ItPmRbMF07Cj4gKwlyZ2Iy NFsxXSA9IHJnYi0+ZFsxXTsKPiArCXJnYjI0WzJdID0gcmdiLT5kWzJdOwo+ICt9Cj4gKwo+ICtz dGF0aWMgdm9pZCBjb252ZXJ0X3AwMVhfdG9fZmxvYXQoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkK PiArewo+ICsJaW50IGksIGo7Cj4gKwlzdHJ1Y3QgaWd0X2ZiICpmYl9wMDF4ID0gY3Z0LT5zcmMu ZmI7Cj4gKwlzdHJ1Y3QgaWd0X2ZiICpmYl9mbG9hdCA9IGN2dC0+ZHN0LmZiOwo+ICsJY29uc3Qg dWludDE2X3QgKnksICp1djsKPiArCXZvaWQgKmJ1ZiA9IGNvbnZlcnRfc3JjX2dldChjdnQpOwo+ ICsJZmxvYXQgKnB0ciA9IGN2dC0+ZHN0LnB0ciArIGZiX2Zsb2F0LT5vZmZzZXRzWzBdOwo+ICsJ dW5zaWduZWQgZmxvYXRfc3RyaWRlID0gZmJfZmxvYXQtPnN0cmlkZXNbMF0gLyBzaXplb2YoKnB0 cik7Cj4gKwl1bnNpZ25lZCBwbGFuYXJfc3RyaWRlID0gZmJfcDAxeC0+c3RyaWRlc1swXSAvIHNp emVvZigqeSk7Cj4gKwlzdHJ1Y3QgaWd0X21hdDQgbSA9IGlndF95Y2Jjcl90b19yZ2JfbWF0cml4 KGZiX3AwMXgtPmRybV9mb3JtYXQsCj4gKwkJCQkJCSAgICBmYl9mbG9hdC0+ZHJtX2Zvcm1hdCwK PiArCQkJCQkJICAgIGZiX3AwMXgtPmNvbG9yX2VuY29kaW5nLAo+ICsJCQkJCQkgICAgZmJfcDAx eC0+Y29sb3JfcmFuZ2UpOwo+ICsKPiArCXkgPSBidWYgKyBmYl9wMDF4LT5vZmZzZXRzWzBdOwo+ ICsJdXYgPSBidWYgKyBmYl9wMDF4LT5vZmZzZXRzWzFdOwo+ICsKPiArCWZvciAoaSA9IDA7IGkg PCBmYl9wMDF4LT5oZWlnaHQgLyAyOyBpKyspIHsKPiArCQlmb3IgKGogPSAwOyBqIDwgZmJfcDAx eC0+d2lkdGggLyAyOyBqKyspIHsKPiArCQkJLyogQ29udmVydCAyeDIgcGl4ZWwgYmxvY2tzICov Cj4gKwkJCXN0cnVjdCBpZ3RfdmVjNCB5dXZbNF07Cj4gKwkJCXN0cnVjdCBpZ3RfdmVjNCByZ2Jb NF07Cj4gKwo+ICsJCQl5dXZbMF0uZFswXSA9IHlbaiAqIDIgKyAwXTsKPiArCQkJeXV2WzFdLmRb MF0gPSB5W2ogKiAyICsgMV07Cj4gKwkJCXl1dlsyXS5kWzBdID0geVtqICogMiArIDAgKyBwbGFu YXJfc3RyaWRlXTsKPiArCQkJeXV2WzNdLmRbMF0gPSB5W2ogKiAyICsgMSArIHBsYW5hcl9zdHJp ZGVdOwo+ICsKPiArCQkJeXV2WzBdLmRbMV0gPSB5dXZbMV0uZFsxXSA9IHl1dlsyXS5kWzFdID0g eXV2WzNdLmRbMV0gPSB1dltqICogMiArIDBdOwo+ICsJCQl5dXZbMF0uZFsyXSA9IHl1dlsxXS5k WzJdID0geXV2WzJdLmRbMl0gPSB5dXZbM10uZFsyXSA9IHV2W2ogKiAyICsgMV07Cj4gKwkJCXl1 dlswXS5kWzNdID0geXV2WzFdLmRbM10gPSB5dXZbMl0uZFszXSA9IHl1dlszXS5kWzNdID0gMS4w ZjsKPiArCj4gKwkJCXJnYlswXSA9IGlndF9tYXRyaXhfdHJhbnNmb3JtKCZtLCAmeXV2WzBdKTsK PiArCQkJcmdiWzFdID0gaWd0X21hdHJpeF90cmFuc2Zvcm0oJm0sICZ5dXZbMV0pOwo+ICsJCQly Z2JbMl0gPSBpZ3RfbWF0cml4X3RyYW5zZm9ybSgmbSwgJnl1dlsyXSk7Cj4gKwkJCXJnYlszXSA9 IGlndF9tYXRyaXhfdHJhbnNmb3JtKCZtLCAmeXV2WzNdKTsKPiArCj4gKwkJCXdyaXRlX3JnYmYo JnB0cltqICogNiArIDBdLCAmcmdiWzBdKTsKPiArCQkJd3JpdGVfcmdiZigmcHRyW2ogKiA2ICsg M10sICZyZ2JbMV0pOwo+ICsJCQl3cml0ZV9yZ2JmKCZwdHJbaiAqIDYgKyAwICsgZmxvYXRfc3Ry aWRlXSwgJnJnYlsyXSk7Cj4gKwkJCXdyaXRlX3JnYmYoJnB0cltqICogNiArIDMgKyBmbG9hdF9z dHJpZGVdLCAmcmdiWzNdKTsKPiArCQl9Cj4gKwo+ICsJCXB0ciArPSAyICogZmxvYXRfc3RyaWRl Owo+ICsJCXkgKz0gMiAqIHBsYW5hcl9zdHJpZGU7Cj4gKwkJdXYgKz0gcGxhbmFyX3N0cmlkZTsK PiArCX0KPiArCj4gKwljb252ZXJ0X3NyY19wdXQoY3Z0LCBidWYpOwo+ICt9Cj4gKwo+ICtzdGF0 aWMgdm9pZCBjb252ZXJ0X2Zsb2F0X3RvX3AwMVgoc3RydWN0IGZiX2NvbnZlcnQgKmN2dCkKPiAr ewo+ICsJaW50IGksIGo7Cj4gKwlzdHJ1Y3QgaWd0X2ZiICpmYl9mbG9hdCA9IGN2dC0+c3JjLmZi Owo+ICsJc3RydWN0IGlndF9mYiAqZmJfcDAxeCA9IGN2dC0+ZHN0LmZiOwo+ICsJdWludDE2X3Qg KnkgPSBjdnQtPmRzdC5wdHIgKyBmYl9wMDF4LT5vZmZzZXRzWzBdOwo+ICsJdWludDE2X3QgKnV2 ID0gY3Z0LT5kc3QucHRyICsgZmJfcDAxeC0+b2Zmc2V0c1sxXTsKPiArCWNvbnN0IGZsb2F0ICpw dHIgPSBjdnQtPnNyYy5wdHIgKyBmYl9mbG9hdC0+b2Zmc2V0c1swXTsKPiArCXVuc2lnbmVkIGZs b2F0X3N0cmlkZSA9IGZiX2Zsb2F0LT5zdHJpZGVzWzBdIC8gc2l6ZW9mKCpwdHIpOwo+ICsJdW5z aWduZWQgcGxhbmFyX3N0cmlkZSA9IGZiX3AwMXgtPnN0cmlkZXNbMF0gLyBzaXplb2YoKnkpOwo+ ICsJc3RydWN0IGlndF9tYXQ0IG0gPSBpZ3RfcmdiX3RvX3ljYmNyX21hdHJpeChmYl9mbG9hdC0+ ZHJtX2Zvcm1hdCwKPiArCQkJCQkJICAgIGZiX3AwMXgtPmRybV9mb3JtYXQsCj4gKwkJCQkJCSAg ICBmYl9wMDF4LT5jb2xvcl9lbmNvZGluZywKPiArCQkJCQkJICAgIGZiX3AwMXgtPmNvbG9yX3Jh bmdlKTsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgZmJfcDAxeC0+aGVpZ2h0IC8gMjsgaSsrKSB7 Cj4gKwkJZm9yIChqID0gMDsgaiA8IGZiX3AwMXgtPndpZHRoIC8gMjsgaisrKSB7Cj4gKwkJCS8q IENvbnZlcnQgMngyIHBpeGVsIGJsb2NrcyAqLwo+ICsJCQlzdHJ1Y3QgaWd0X3ZlYzQgcmdiWzRd Owo+ICsJCQlzdHJ1Y3QgaWd0X3ZlYzQgeXV2WzRdOwo+ICsKPiArCQkJcmVhZF9yZ2JmKCZyZ2Jb MF0sICZwdHJbaiAqIDYgKyAwXSk7Cj4gKwkJCXJlYWRfcmdiZigmcmdiWzFdLCAmcHRyW2ogKiA2 ICsgM10pOwo+ICsJCQlyZWFkX3JnYmYoJnJnYlsyXSwgJnB0cltqICogNiArIDAgKyBmbG9hdF9z dHJpZGVdKTsKPiArCQkJcmVhZF9yZ2JmKCZyZ2JbM10sICZwdHJbaiAqIDYgKyAzICsgZmxvYXRf c3RyaWRlXSk7Cj4gKwo+ICsJCQl5dXZbMF0gPSBpZ3RfbWF0cml4X3RyYW5zZm9ybSgmbSwgJnJn YlswXSk7Cj4gKwkJCXl1dlsxXSA9IGlndF9tYXRyaXhfdHJhbnNmb3JtKCZtLCAmcmdiWzFdKTsK PiArCQkJeXV2WzJdID0gaWd0X21hdHJpeF90cmFuc2Zvcm0oJm0sICZyZ2JbMl0pOwo+ICsJCQl5 dXZbM10gPSBpZ3RfbWF0cml4X3RyYW5zZm9ybSgmbSwgJnJnYlszXSk7Cj4gKwo+ICsJCQl5W2og KiAyICsgMF0gPSB5dXZbMF0uZFswXTsKPiArCQkJeVtqICogMiArIDFdID0geXV2WzFdLmRbMF07 Cj4gKwkJCXlbaiAqIDIgKyAwICsgcGxhbmFyX3N0cmlkZV0gPSB5dXZbMl0uZFswXTsKPiArCQkJ eVtqICogMiArIDEgKyBwbGFuYXJfc3RyaWRlXSA9IHl1dlszXS5kWzBdOwo+ICsKPiArCQkJLyoK PiArCQkJICogV2UgYXNzdW1lIHRoZSBNUEVHMiBjaHJvbWEgc2l0aW5nIGNvbnZlbnRpb24sIHdo ZXJlCj4gKwkJCSAqIHBpeGVsIGNlbnRlciBmb3IgQ2InQ3InIGlzIGJldHdlZW4gdGhlIGxlZnQg dG9wIGFuZAo+ICsJCQkgKiBib3R0b20gcGl4ZWwgaW4gYSAyeDIgYmxvY2ssIHNvIHRha2UgdGhl IGF2ZXJhZ2UuCj4gKwkJCSAqLwo+ICsJCQl1dltqICogMiArIDBdID0gKHl1dlswXS5kWzFdICsg eXV2WzJdLmRbMV0pIC8gMi4wZjsKPiArCQkJdXZbaiAqIDIgKyAxXSA9ICh5dXZbMF0uZFsyXSAr IHl1dlsyXS5kWzJdKSAvIDIuMGY7Cj4gKwkJfQo+ICsKPiArCQlwdHIgKz0gMiAqIGZsb2F0X3N0 cmlkZTsKPiArCQl5ICs9IDIgKiBwbGFuYXJfc3RyaWRlOwo+ICsJCXV2ICs9IHBsYW5hcl9zdHJp ZGU7Cj4gKwl9Cj4gK30KPiArCj4gICBzdGF0aWMgdm9pZCBjb252ZXJ0X3BpeG1hbihzdHJ1Y3Qg ZmJfY29udmVydCAqY3Z0KQo+ICAgewo+ICAgCXBpeG1hbl9mb3JtYXRfY29kZV90IHNyY19waXht YW4gPSBkcm1fZm9ybWF0X3RvX3BpeG1hbihjdnQtPnNyYy5mYi0+ZHJtX2Zvcm1hdCk7Cj4gQEAg LTIwNTgsNiArMjIyOCwyMiBAQCBzdGF0aWMgdm9pZCBmYl9jb252ZXJ0KHN0cnVjdCBmYl9jb252 ZXJ0ICpjdnQpCj4gICAJCQljb252ZXJ0X3JnYjI0X3RvX3l1eXYoY3Z0KTsKPiAgIAkJCXJldHVy bjsKPiAgIAkJfQo+ICsJfSBlbHNlIGlmIChjdnQtPmRzdC5mYi0+ZHJtX2Zvcm1hdCA9PSBJR1Rf Rk9STUFUX0ZMT0FUKSB7Cj4gKwkJc3dpdGNoIChjdnQtPnNyYy5mYi0+ZHJtX2Zvcm1hdCkgewo+ ICsJCWNhc2UgRFJNX0ZPUk1BVF9QMDEwOgo+ICsJCWNhc2UgRFJNX0ZPUk1BVF9QMDEyOgo+ICsJ CWNhc2UgRFJNX0ZPUk1BVF9QMDE2Ogo+ICsJCQljb252ZXJ0X3AwMVhfdG9fZmxvYXQoY3Z0KTsK PiArCQkJcmV0dXJuOwo+ICsJCX0KPiArCX0gZWxzZSBpZiAoY3Z0LT5zcmMuZmItPmRybV9mb3Jt YXQgPT0gSUdUX0ZPUk1BVF9GTE9BVCkgewo+ICsJCXN3aXRjaCAoY3Z0LT5kc3QuZmItPmRybV9m b3JtYXQpIHsKPiArCQljYXNlIERSTV9GT1JNQVRfUDAxMDoKPiArCQljYXNlIERSTV9GT1JNQVRf UDAxMjoKPiArCQljYXNlIERSTV9GT1JNQVRfUDAxNjoKPiArCQkJY29udmVydF9mbG9hdF90b19w MDFYKGN2dCk7Cj4gKwkJCXJldHVybjsKPiArCQl9Cj4gICAJfQo+ICAgCj4gICAJaWd0X2Fzc2Vy dF9mKGZhbHNlLAo+IEBAIC0yMDk4LDExICsyMjg0LDE5IEBAIHN0YXRpYyB2b2lkIGNyZWF0ZV9j YWlyb19zdXJmYWNlX19jb252ZXJ0KGludCBmZCwgc3RydWN0IGlndF9mYiAqZmIpCj4gICB7Cj4g ICAJc3RydWN0IGZiX2NvbnZlcnRfYmxpdF91cGxvYWQgKmJsaXQgPSBtYWxsb2Moc2l6ZW9mKCpi bGl0KSk7Cj4gICAJc3RydWN0IGZiX2NvbnZlcnQgY3Z0ID0geyB9Owo+ICsJY29uc3Qgc3RydWN0 IGZvcm1hdF9kZXNjX3N0cnVjdCAqZiA9IGxvb2t1cF9kcm1fZm9ybWF0KGZiLT5kcm1fZm9ybWF0 KTsKPiArCXVuc2lnbmVkIGRybV9mb3JtYXQ7Cj4gKwo+ICsJaWYgKGYtPmNhaXJvX2lkID09IENB SVJPX0ZPUk1BVF9SR0I5NkYgfHwKPiArCSAgICBmLT5jYWlyb19pZCA9PSBDQUlST19GT1JNQVRf UkdCQTEyOEYpCj4gKwkJZHJtX2Zvcm1hdCA9IElHVF9GT1JNQVRfRkxPQVQ7Cj4gKwllbHNlCj4g KwkJZHJtX2Zvcm1hdCA9IERSTV9GT1JNQVRfWFJHQjg4ODg7Cj4gICAKPiAgIAlpZ3RfYXNzZXJ0 KGJsaXQpOwo+ICAgCWJsaXQtPmJhc2UuZmQgPSBmZDsKPiAgIAlibGl0LT5iYXNlLmZiID0gZmI7 Cj4gLQlibGl0LT5zaGFkb3dfcHRyID0gaWd0X2ZiX2NyZWF0ZV9jYWlyb19zaGFkb3dfYnVmZmVy KGZkLAo+ICsJYmxpdC0+c2hhZG93X3B0ciA9IGlndF9mYl9jcmVhdGVfY2Fpcm9fc2hhZG93X2J1 ZmZlcihmZCwgZHJtX2Zvcm1hdCwKPiAgIAkJCQkJCQkgICAgIGZiLT53aWR0aCwKPiAgIAkJCQkJ CQkgICAgIGZiLT5oZWlnaHQsCj4gICAJCQkJCQkJICAgICAmYmxpdC0+c2hhZG93X2ZiKTsKPiBA QCAtMjEyOSw3ICsyMzIzLDcgQEAgc3RhdGljIHZvaWQgY3JlYXRlX2NhaXJvX3N1cmZhY2VfX2Nv bnZlcnQoaW50IGZkLCBzdHJ1Y3QgaWd0X2ZiICpmYikKPiAgIAo+ICAgCWZiLT5jYWlyb19zdXJm YWNlID0KPiAgIAkJY2Fpcm9faW1hZ2Vfc3VyZmFjZV9jcmVhdGVfZm9yX2RhdGEoYmxpdC0+c2hh ZG93X3B0ciwKPiAtCQkJCQkJICAgIENBSVJPX0ZPUk1BVF9SR0IyNCwKPiArCQkJCQkJICAgIGYt PmNhaXJvX2lkLAo+ICAgCQkJCQkJICAgIGZiLT53aWR0aCwgZmItPmhlaWdodCwKPiAgIAkJCQkJ CSAgICBibGl0LT5zaGFkb3dfZmIuc3RyaWRlc1swXSk7Cj4gICAKPiBAQCAtMjE5NCw2ICsyMzg4 LDIxIEBAIGNhaXJvX3N1cmZhY2VfdCAqaWd0X2dldF9jYWlyb19zdXJmYWNlKGludCBmZCwgc3Ry dWN0IGlndF9mYiAqZmIpCj4gICAJCQljcmVhdGVfY2Fpcm9fc3VyZmFjZV9fYmxpdChmZCwgZmIp Owo+ICAgCQllbHNlCj4gICAJCQljcmVhdGVfY2Fpcm9fc3VyZmFjZV9fZ3R0KGZkLCBmYik7Cj4g Kwo+ICsJCWlmIChmLT5jYWlyb19pZCA9PSBDQUlST19GT1JNQVRfUkdCOTZGIHx8Cj4gKwkJICAg IGYtPmNhaXJvX2lkID09IENBSVJPX0ZPUk1BVF9SR0JBMTI4Rikgewo+ICsJCQljYWlyb19zdGF0 dXNfdCBzdGF0dXMgPSBjYWlyb19zdXJmYWNlX3N0YXR1cyhmYi0+Y2Fpcm9fc3VyZmFjZSk7Cj4g Kwo+ICsJCQlpZ3Rfc2tpcF9vbl9mKHN0YXR1cyA9PSBDQUlST19TVEFUVVNfSU5WQUxJRF9GT1JN QVQgJiYKPiArCQkJCSAgICAgIGNhaXJvX3ZlcnNpb24oKSA8IENBSVJPX1ZFUlNJT05fRU5DT0RF KDEsIDE3LCAyKSwKPiArCQkJCSAgICAgICJDYWlybyB2ZXJzaW9uIHRvbyBvbGQsIG5lZWQgMS4x Ny4yLCBoYXZlICVzXG4iLAo+ICsJCQkJICAgICAgY2Fpcm9fdmVyc2lvbl9zdHJpbmcoKSk7Cj4g Kwo+ICsJCQlpZ3Rfc2tpcF9vbl9mKHN0YXR1cyA9PSBDQUlST19TVEFUVVNfTk9fTUVNT1JZICYm Cj4gKwkJCQkgICAgICBwaXhtYW5fdmVyc2lvbigpIDwgUElYTUFOX1ZFUlNJT05fRU5DT0RFKDAs IDM2LCAwKSwKPiArCQkJCSAgICAgICJQaXhtYW4gdmVyc2lvbiB0b28gb2xkLCBuZWVkIDAuMzYu MCwgaGF2ZSAlc1xuIiwKPiArCQkJCSAgICAgIHBpeG1hbl92ZXJzaW9uX3N0cmluZygpKTsKPiAr CQl9Cj4gICAJfQoKSGkgTWFhcnRlbiwKClRob3VnaCBJIGhhdmUgaW5zdGFsbGVkIGNhaXJvIGFu ZCBwaXhtYW4gdmVyc2lvbnMgMS4xNy4zIGFuZCAzNy4xIApyZXNwZWN0aXZlbHkgYXMgc2VlbiBp biAvdXNyL2luY2x1ZGUvY2Fpcm8gYW5kIC91c3IvaW5jbHVkZS9waXhtYW4tMSAKdmVyc2lvbnMg ZmlsZSAuIFN0aWxsIGNhaXJvX3ZlcnNpb24oKSBhbmQgcGl4bWFuX3ZlcnNpb24oKSBwcmludHMg dGhlIApvbGQgMS4xNC4wNiBhbmQgMzMuMDYgcmVzcGVjdGl2ZWx5IGluIGktZy10LiBBcmUgdGhl cmUgc29tZSBjaGFuZ2VzIApyZXF1aXJlZCBpbiBpLWctdCB0byBsaW5rIHRvIG5ldyByZWxlYXNl cyBvZiBjYWlybyBhbmQgcGl4bWFuPwoKPiAgIAlpZ3RfYXNzZXJ0KGNhaXJvX3N1cmZhY2Vfc3Rh dHVzKGZiLT5jYWlyb19zdXJmYWNlKSA9PSBDQUlST19TVEFUVVNfU1VDQ0VTUyk7Cj4gQEAgLTI0 MDAsNiArMjYwOSw5IEBAIGJvb2wgaWd0X2Zvcm1hdF9pc195dXYodWludDMyX3QgZHJtX2Zvcm1h dCkKPiAgIHsKPiAgIAlzd2l0Y2ggKGRybV9mb3JtYXQpIHsKPiAgIAljYXNlIERSTV9GT1JNQVRf TlYxMjoKPiArCWNhc2UgRFJNX0ZPUk1BVF9QMDEwOgo+ICsJY2FzZSBEUk1fRk9STUFUX1AwMTI6 Cj4gKwljYXNlIERSTV9GT1JNQVRfUDAxNjoKPiAgIAljYXNlIERSTV9GT1JNQVRfWVVZVjoKPiAg IAljYXNlIERSTV9GT1JNQVRfWVZZVToKPiAgIAljYXNlIERSTV9GT1JNQVRfVVlWWToKPiBkaWZm IC0tZ2l0IGEvbGliL2lndF9mYi5oIGIvbGliL2lndF9mYi5oCj4gaW5kZXggOWYwMjdkZWJhODQy Li44YzY4M2RiNWU5ZWMgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9mYi5oCj4gKysrIGIvbGliL2ln dF9mYi5oCj4gQEAgLTM4LDYgKzM4LDEyIEBACj4gICAKPiAgICNpbmNsdWRlICJpZ3RfY29sb3Jf ZW5jb2RpbmcuaCIKPiAgIAo+ICsvKgo+ICsgKiBJbnRlcm5hbCBmb3JtYXQgdG8gZGVub3RlIGEg YnVmZmVyIGNvbXBhdGlibGUgd2l0aCBwaXhtYW4ncwo+ICsgKiBmbG9hdGluZyBwb2ludCBmb3Jt YXQuIFJhbmdlIFswLTFdLgo+ICsgKi8KPiArI2RlZmluZSBJR1RfRk9STUFUX0ZMT0FUIGZvdXJj Y19jb2RlKCdJJywgJ0cnLCAnRicsICd4JykKPiArCj4gICAvKioKPiAgICAqIGlndF9mYl90Ogo+ ICAgICogQGZiX2lkOiBLTVMgSUQgb2YgdGhlIGZyYW1lYnVmZmVyCgotLSAKVGhhbmtzIGFuZCBS ZWdhcmRzLApTd2F0aQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KaWd0LWRldiBtYWlsaW5nIGxpc3QKaWd0LWRldkBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pZ3QtZGV2Cg==