From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Mun, Gwan-gyeong" Subject: Re: [RFC v4 5/6] drm/i915/dp: Change a link bandwidth computation for DP YCbCr 4:2:0 output Date: Thu, 7 Mar 2019 20:31:42 +0000 Message-ID: References: <20190306193102.306-1-gwan-gyeong.mun@intel.com> <20190306193102.306-6-gwan-gyeong.mun@intel.com> <20190306210442.GR3888@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5EB146E10B for ; Thu, 7 Mar 2019 20:31:53 +0000 (UTC) In-Reply-To: <20190306210442.GR3888@intel.com> Content-Language: en-US Content-ID: 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" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE5LTAzLTA2IGF0IDIzOjA0ICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 DQo+IE9uIFdlZCwgTWFyIDA2LCAyMDE5IGF0IDA5OjMxOjAxUE0gKzAyMDAsIEd3YW4tZ3llb25n IE11biB3cm90ZToNCj4gPiBBbGwgb2YgdGhlIGxpbmsgYmFuZHdpZHRoIGFuZCBEYXRhIE0vTiBj YWxjdWxhdGlvbnMgd2VyZSBhc3N1bWVkIGENCj4gPiBicHAgYXMNCj4gPiBSR0IgZm9ybWF0LiBC dXQgV2hlbiB3ZSBhcmUgdXNpbmcgWUNiQ3IgNDoyOjAgb3V0cHV0IGZvcm1hdCBvbiBEUCwNCj4g PiB3ZSBzaG91bGQgY2hhbmdlIGJwcCBjYWxjdWxhdGlvbnMgYXMgWUNiQ3IgNDoyOjAgZm9ybWF0 Lg0KPiA+IFRoZSBwaXBlX2JwcCB2YWx1ZSB3YXMgYXNzdW1lZCBSR0IgZm9ybWF0LCB0aGVyZWZv cmUsIGl0IHdhcw0KPiA+IG11bHRpcGxpZWQNCj4gPiB3aXRoIDMuIEJ1dCBZQ2JDciA0OjI6MCBy ZXF1aXJlcyBhIG11bHRpcGxpZXIgdmFsdWUgdG8gMS41Lg0KPiA+IFRoZXJlZm9yZSB3ZSBuZWVk IHRvIGRpdmlkZSBwaXBlX2JwcCB0byAyIHdoaWxlIERQIG91dHB1dCB1c2VzDQo+ID4gWUNiQ3I0 OjI6MA0KPiA+IGZvcm1hdC4NCj4gPiAgLSBSR0IgZm9ybWF0IGJwcCA9IGJwYyB4IDMNCj4gPiAg LSBZQ2JDciA0OjI6MCBmb3JtYXQgYnBwID0gYnBjIHggMS41DQo+ID4gDQo+ID4gQW5kIGl0IGFk ZHMgbWlzc2VkIGJwYyB2YWx1ZXMgZm9yIGEgcHJvZ3JhbW1pbmcgb2YgVlNDIEhlYWRlci4NCj4g PiBJdCBvbmx5IGFmZmVjdHMgZHAgYW5kIGVkcCBwb3J0IHdoaWNoIHVzZSBZQ2JDciA0OjI6MCBv dXRwdXQNCj4gPiBmb3JtYXQuDQo+ID4gQW5kIGZvciBub3csIGl0IGRvZXMgbm90IGNvbnNpZGVy IGEgdXNlIGNhc2Ugb2YgRFNDICsgWUNiQ3IgNDoyOjAuDQo+ID4gDQo+ID4gdjI6DQo+ID4gICBB ZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUuDQo+ID4gICBSZW1vdmUgYSBjaGFu Z2luZyBvZiBwaXBlX2JwcCBvbiBpbnRlbF9kZGlfc2V0X3BpcGVfc2V0dGluZ3MoKS4NCj4gPiAg IEJlY2F1c2UgdGhlIHBpcGUgaXMgcnVubmluZyBhdCB0aGUgZnVsbCBicHAsIGtlZXAgcGlwZV9i cHAgYXMgUkdCDQo+ID4gICBldmVuIHRob3VnaCBZQ2JDciA0OjI6MCBvdXRwdXQgZm9ybWF0IGlz IHVzZWQuDQo+ID4gICBBZGQgYSBsaW5rIGJhbmR3aWR0aCBjb21wdXRhdGlvbiBmb3IgWUNiQ3I0 OjI6MCBvdXRwdXQgZm9ybWF0Lg0KPiA+IA0KPiA+IFNpZ25lZC1vZmYtYnk6IEd3YW4tZ3llb25n IE11biA8Z3dhbi1neWVvbmcubXVuQGludGVsLmNvbT4NCj4gPiAtLS0NCj4gPiAgZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYyB8IDY0DQo+ID4gKysrKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tDQo+ID4gIDEgZmlsZSBjaGFuZ2VkLCA1NyBpbnNlcnRpb25zKCspLCA3IGRlbGV0 aW9ucygtKQ0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jDQo+ID4gaW5kZXgg NzRmMDUxNDI4ZmIyLi5jNjgyNmNkYThjNWYgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHAuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMNCj4gPiBAQCAtMTcyMyw3ICsxNzIzLDggQEAgdm9pZCBpbnRlbF9kcF9jb21wdXRlX3Jh dGUoc3RydWN0IGludGVsX2RwDQo+ID4gKmludGVsX2RwLCBpbnQgcG9ydF9jbG9jaywNCj4gPiAg c3RydWN0IGxpbmtfY29uZmlnX2xpbWl0cyB7DQo+ID4gIAlpbnQgbWluX2Nsb2NrLCBtYXhfY2xv Y2s7DQo+ID4gIAlpbnQgbWluX2xhbmVfY291bnQsIG1heF9sYW5lX2NvdW50Ow0KPiA+IC0JaW50 IG1pbl9icHAsIG1heF9icHA7DQo+ID4gKwlpbnQgbWluX2JwcCwgbWF4X2JwcCwgYnBwX3N0ZXA7 DQo+ID4gKwlib29sIGlzX3ljYmNyNDIwOw0KPiA+ICB9Ow0KPiA+ICANCj4gPiAgc3RhdGljIGJv b2wgaW50ZWxfZHBfc291cmNlX3N1cHBvcnRzX2ZlYyhzdHJ1Y3QgaW50ZWxfZHANCj4gPiAqaW50 ZWxfZHAsDQo+ID4gQEAgLTE4MzMsNyArMTgzNCw3IEBAIGludGVsX2RwX2NvbXB1dGVfbGlua19j b25maWdfd2lkZShzdHJ1Y3QNCj4gPiBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ID4gIAlpbnQgYnBw LCBjbG9jaywgbGFuZV9jb3VudDsNCj4gPiAgCWludCBtb2RlX3JhdGUsIGxpbmtfY2xvY2ssIGxp bmtfYXZhaWw7DQo+ID4gIA0KPiA+IC0JZm9yIChicHAgPSBsaW1pdHMtPm1heF9icHA7IGJwcCA+ PSBsaW1pdHMtPm1pbl9icHA7IGJwcCAtPSAyICoNCj4gPiAzKSB7DQo+ID4gKwlmb3IgKGJwcCA9 IGxpbWl0cy0+bWF4X2JwcDsgYnBwID49IGxpbWl0cy0+bWluX2JwcDsgYnBwIC09DQo+ID4gbGlt aXRzLT5icHBfc3RlcCkgew0KPiA+ICAJCW1vZGVfcmF0ZSA9IGludGVsX2RwX2xpbmtfcmVxdWly ZWQoYWRqdXN0ZWRfbW9kZS0NCj4gPiA+Y3J0Y19jbG9jaywNCj4gPiAgCQkJCQkJICAgYnBwKTsN Cj4gPiAgDQo+ID4gQEAgLTE4NDcsNyArMTg0OCwxMCBAQCBpbnRlbF9kcF9jb21wdXRlX2xpbmtf Y29uZmlnX3dpZGUoc3RydWN0DQo+ID4gaW50ZWxfZHAgKmludGVsX2RwLA0KPiA+ICANCj4gPiAg CQkJCWlmIChtb2RlX3JhdGUgPD0gbGlua19hdmFpbCkgew0KPiA+ICAJCQkJCXBpcGVfY29uZmln LT5sYW5lX2NvdW50ID0NCj4gPiBsYW5lX2NvdW50Ow0KPiA+IC0JCQkJCXBpcGVfY29uZmlnLT5w aXBlX2JwcCA9IGJwcDsNCj4gPiArCQkJCQlpZiAobGltaXRzLT5pc195Y2JjcjQyMCkNCj4gPiAr CQkJCQkJcGlwZV9jb25maWctPnBpcGVfYnBwID0NCj4gPiBicHAgKiAyOw0KPiA+ICsJCQkJCWVs c2UNCj4gPiArCQkJCQkJcGlwZV9jb25maWctPnBpcGVfYnBwID0NCj4gPiBicHA7DQo+IA0KPiBU aGlzIGFwcHJvYWNoIGZlZWxzIG5lZWRsZXNzbHkgY29tcGxpY2F0ZWQuDQo+IA0KPiBDYW4ndCB3 ZSBqdXN0IGRvIHNvbWV0aGluZyBsaWtlIHRoaXM/DQo+IA0KPiBzdGF0aWMgaW50IGludGVsX2Rw X291dHB1dF9icHAoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUNCj4gKmNydGNfc3RhdGUs IGludCBicHApDQo+IHsNCj4gCWlmIChjcnRjX3N0YXRlLT5vdXRwdXRfZm9ybWF0ID09IElOVEVM X09VVFBVVF9GT1JNQVRfWUNCQ1I0MjApDQo+IAkJYnBwIC89IDI7DQo+ICAJcmV0dXJuIGJwcDsN Cj4gfQ0KPiANCj4gaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZ18qKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsDQo+IHsNCj4gLi4uDQo+IAlmb3IgKGJwcCA9IGxpbWl0cy0+bWF4X2JwcDsg YnBwID49IGxpbWl0cy0+bWluX2JwcDsgYnBwIC09IDIgKg0KPiAzKSB7DQo+ICsJCWludCBvdXRw dXRfYnBwID0gaW50ZWxfZHBfb3V0cHV0X2JwcChwaXBlX2NvbmZpZywgYnBwKTsNCj4gKw0KPiAg ICAgICAgICAgICAgICAgbW9kZV9yYXRlID0gaW50ZWxfZHBfbGlua19yZXF1aXJlZChhZGp1c3Rl ZF9tb2RlLQ0KPiA+Y3J0Y19jbG9jaywNCj4gLQkJCQkJCSAgIGJwcCk7DQo+ICsJCQkJCQkgICBv dXRwdXRfYnBwKTsNCj4gDQpJIGFncmVlLiBUaGFuayB5b3UgZm9yIGd1aWRpbmcgbWUuDQpJbiBv cmRlciB0byBtYWtlIGNvZGVzIHNpbXBsZSwgSSdsbCBhZGQgYW5kIHVzZSBpbnRlbF9kcF9vdXRw dXRfYnBwKCkNCmZ1bmN0aW9uLg0KPiANCj4gPiAgCQkJCQlwaXBlX2NvbmZpZy0+cG9ydF9jbG9j ayA9DQo+ID4gbGlua19jbG9jazsNCj4gPiAgDQo+ID4gIAkJCQkJcmV0dXJuIDA7DQo+ID4gQEAg LTE4NjksNyArMTg3Myw3IEBAIGludGVsX2RwX2NvbXB1dGVfbGlua19jb25maWdfZmFzdChzdHJ1 Y3QNCj4gPiBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ID4gIAlpbnQgYnBwLCBjbG9jaywgbGFuZV9j b3VudDsNCj4gPiAgCWludCBtb2RlX3JhdGUsIGxpbmtfY2xvY2ssIGxpbmtfYXZhaWw7DQo+ID4g IA0KPiA+IC0JZm9yIChicHAgPSBsaW1pdHMtPm1heF9icHA7IGJwcCA+PSBsaW1pdHMtPm1pbl9i cHA7IGJwcCAtPSAyICoNCj4gPiAzKSB7DQo+ID4gKwlmb3IgKGJwcCA9IGxpbWl0cy0+bWF4X2Jw cDsgYnBwID49IGxpbWl0cy0+bWluX2JwcDsgYnBwIC09DQo+ID4gbGltaXRzLT5icHBfc3RlcCkg ew0KPiA+ICAJCW1vZGVfcmF0ZSA9IGludGVsX2RwX2xpbmtfcmVxdWlyZWQoYWRqdXN0ZWRfbW9k ZS0NCj4gPiA+Y3J0Y19jbG9jaywNCj4gPiAgCQkJCQkJICAgYnBwKTsNCj4gPiAgDQo+ID4gQEAg LTE4ODMsNyArMTg4NywxMCBAQCBpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmlnX2Zhc3Qoc3Ry dWN0DQo+ID4gaW50ZWxfZHAgKmludGVsX2RwLA0KPiA+ICANCj4gPiAgCQkJCWlmIChtb2RlX3Jh dGUgPD0gbGlua19hdmFpbCkgew0KPiA+ICAJCQkJCXBpcGVfY29uZmlnLT5sYW5lX2NvdW50ID0N Cj4gPiBsYW5lX2NvdW50Ow0KPiA+IC0JCQkJCXBpcGVfY29uZmlnLT5waXBlX2JwcCA9IGJwcDsN Cj4gPiArCQkJCQlpZiAobGltaXRzLT5pc195Y2JjcjQyMCkNCj4gPiArCQkJCQkJcGlwZV9jb25m aWctPnBpcGVfYnBwID0NCj4gPiBicHAgKiAyOw0KPiA+ICsJCQkJCWVsc2UNCj4gPiArCQkJCQkJ cGlwZV9jb25maWctPnBpcGVfYnBwID0NCj4gPiBicHA7DQo+ID4gIAkJCQkJcGlwZV9jb25maWct PnBvcnRfY2xvY2sgPQ0KPiA+IGxpbmtfY2xvY2s7DQo+ID4gIA0KPiA+ICAJCQkJCXJldHVybiAw Ow0KPiA+IEBAIC0yMDE1LDYgKzIwMjIsOCBAQCBpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmln KHN0cnVjdA0KPiA+IGludGVsX2VuY29kZXIgKmVuY29kZXIsDQo+ID4gIAlzdHJ1Y3QgbGlua19j b25maWdfbGltaXRzIGxpbWl0czsNCj4gPiAgCWludCBjb21tb25fbGVuOw0KPiA+ICAJaW50IHJl dDsNCj4gPiArCWJvb2wgaXNfeWNiY3I0MjAgPQ0KPiA+ICsJCXBpcGVfY29uZmlnLT5vdXRwdXRf Zm9ybWF0ID09DQo+ID4gSU5URUxfT1VUUFVUX0ZPUk1BVF9ZQ0JDUjQyMCA/IHRydWUgOiBmYWxz ZTsNCj4gPiAgDQo+ID4gIAljb21tb25fbGVuID0gaW50ZWxfZHBfY29tbW9uX2xlbl9yYXRlX2xp bWl0KGludGVsX2RwLA0KPiA+ICAJCQkJCQkgICAgaW50ZWxfZHAtDQo+ID4gPm1heF9saW5rX3Jh dGUpOw0KPiA+IEBAIC0yMDMwLDYgKzIwMzksMjAgQEAgaW50ZWxfZHBfY29tcHV0ZV9saW5rX2Nv bmZpZyhzdHJ1Y3QNCj4gPiBpbnRlbF9lbmNvZGVyICplbmNvZGVyLA0KPiA+ICANCj4gPiAgCWxp bWl0cy5taW5fYnBwID0gNiAqIDM7DQo+ID4gIAlsaW1pdHMubWF4X2JwcCA9IGludGVsX2RwX2Nv bXB1dGVfYnBwKGludGVsX2RwLCBwaXBlX2NvbmZpZyk7DQo+ID4gKwlsaW1pdHMuYnBwX3N0ZXAg PSAyICogMzsNCj4gPiArDQo+ID4gKwlsaW1pdHMuaXNfeWNiY3I0MjAgPSBpc195Y2JjcjQyMDsN Cj4gPiArDQo+ID4gKwlpZiAoaXNfeWNiY3I0MjApIHsNCj4gPiArCQkvKg0KPiA+ICsJCSAqIGJw cCB2YWx1ZSB3YXMgYXNzdW1lZCB0byBSR0IgdGhlcmVmb3JlIGl0IHdhcw0KPiA+IG11bHRpcGxp ZWQNCj4gPiArCQkgKiB3aXRoIDMuIEJ1dCBZQ2JDciA0OjI6MCByZXF1aXJlcyBtdWx0aXBsaWVy IHZhbHVlIHRvDQo+ID4gMS41DQo+ID4gKwkJICogdGhlcmVmb3JlIGl0IGRpdmlkZXMgcGlwZV9i cHAgdG8gMi4NCj4gPiArCQkgKi8NCj4gPiArCQlsaW1pdHMubWluX2JwcCAvPSAyOw0KPiA+ICsJ CWxpbWl0cy5tYXhfYnBwIC89IDI7DQo+ID4gKwkJbGltaXRzLmJwcF9zdGVwIC89IDI7DQo+ID4g Kwl9DQo+ID4gIA0KPiA+ICAJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkgJiYgaW50ZWxf ZHAtPmVkcF9kcGNkWzBdIDwNCj4gPiBEUF9FRFBfMTQpIHsNCj4gPiAgCQkvKg0KPiA+IEBAIC0y MjI0LDEzICsyMjQ3LDIzIEBAIGludGVsX2RwX2NvbXB1dGVfY29uZmlnKHN0cnVjdA0KPiA+IGlu dGVsX2VuY29kZXIgKmVuY29kZXIsDQo+ID4gIAkJCWludGVsX2Nvbm5fc3RhdGUtPmJyb2FkY2Fz dF9yZ2IgPT0NCj4gPiBJTlRFTF9CUk9BRENBU1RfUkdCX0xJTUlURUQ7DQo+ID4gIAl9DQo+ID4g IA0KPiA+IC0JaWYgKCFwaXBlX2NvbmZpZy0+ZHNjX3BhcmFtcy5jb21wcmVzc2lvbl9lbmFibGUp DQo+ID4gLQkJaW50ZWxfbGlua19jb21wdXRlX21fbihwaXBlX2NvbmZpZy0+cGlwZV9icHAsDQo+ ID4gKwlpZiAoIXBpcGVfY29uZmlnLT5kc2NfcGFyYW1zLmNvbXByZXNzaW9uX2VuYWJsZSkgew0K PiA+ICsJCS8qDQo+ID4gKwkJICogQmFzaWNhbGx5LCBwaXBlX2JwcCB2YWx1ZSBpcyBhc3N1bWVk IHRvIFJHQi4NCj4gPiArCQkgKiBBbmQgb24gdGhlIGNhbGN1bGF0aW9uIG9mIERhdGEgTSBhbmQg RGF0YSBOLCBZQ2JDcg0KPiA+IDQ6MjowDQo+ID4gKwkJICogb3V0cHV0IGZvcm1hdCBvZiB0aGUg bnVtYmVyIG9mIGJ5dGVzIHBlciBwaXhlbCB3aWxsDQo+ID4gYmUgaGFsZg0KPiA+ICsJCSAqIHRo ZSBudW1iZXIgb2YgYnl0ZXMgb2YgUkdCIHBpeGVsLg0KPiA+ICsJCSAqLw0KPiA+ICsJCWludCBw aXBlX2JwcCA9IHBpcGVfY29uZmlnLT5vdXRwdXRfZm9ybWF0ID09DQo+ID4gSU5URUxfT1VUUFVU X0ZPUk1BVF9ZQ0JDUjQyMCA/DQo+ID4gKwkJCXBpcGVfY29uZmlnLT5waXBlX2JwcCAvIDIgOiBw aXBlX2NvbmZpZy0NCj4gPiA+cGlwZV9icHA7DQo+ID4gKw0KPiA+ICsJCWludGVsX2xpbmtfY29t cHV0ZV9tX24ocGlwZV9icHAsDQo+ID4gIAkJCQkgICAgICAgcGlwZV9jb25maWctPmxhbmVfY291 bnQsDQo+ID4gIAkJCQkgICAgICAgYWRqdXN0ZWRfbW9kZS0+Y3J0Y19jbG9jaywNCj4gPiAgCQkJ CSAgICAgICBwaXBlX2NvbmZpZy0+cG9ydF9jbG9jaywNCj4gPiAgCQkJCSAgICAgICAmcGlwZV9j b25maWctPmRwX21fbiwNCj4gPiAgCQkJCSAgICAgICBjb25zdGFudF9uKTsNCj4gPiArCX0NCj4g PiAgCWVsc2UNCj4gPiAgCQlpbnRlbF9saW5rX2NvbXB1dGVfbV9uKHBpcGVfY29uZmlnLQ0KPiA+ ID5kc2NfcGFyYW1zLmNvbXByZXNzZWRfYnBwLA0KPiA+ICAJCQkJICAgICAgIHBpcGVfY29uZmln LT5sYW5lX2NvdW50LA0KPiA+IEBAIC00NDU4LDYgKzQ0OTEsMjMgQEAgaW50ZWxfcGl4ZWxfZW5j b2Rpbmdfc2V0dXBfdnNjKHN0cnVjdA0KPiA+IGludGVsX2RwICppbnRlbF9kcCwNCj4gPiAgCSAq IDEwMGIgPSAxNmJwYy4NCj4gPiAgCSAqLw0KPiA+ICAJdnNjX3NkcC5EQjE3ID0gMHgxOw0KPiA+ ICsJc3dpdGNoIChjcnRjX3N0YXRlLT5waXBlX2JwcCAvIDMpIHsNCj4gPiArCWNhc2UgODogLyog OGJwYyAqLw0KPiA+ICsJCXZzY19zZHAuREIxNyA9IDB4MTsNCj4gPiArCQlicmVhazsNCj4gPiAr CWNhc2UgMTA6IC8qIDEwYnBjICovDQo+ID4gKwkJdnNjX3NkcC5EQjE3ID0gMHgyOw0KPiA+ICsJ CWJyZWFrOw0KPiA+ICsJY2FzZSAxMjogLyogMTJicGMgKi8NCj4gPiArCQl2c2Nfc2RwLkRCMTcg PSAweDM7DQo+ID4gKwkJYnJlYWs7DQo+ID4gKwljYXNlIDE2OiAvKiAxNmJwYyAqLw0KPiA+ICsJ CXZzY19zZHAuREIxNyA9IDB4NDsNCj4gPiArCQlicmVhazsNCj4gPiArCWRlZmF1bHQ6DQo+ID4g KwkJRFJNX0RFQlVHX0tNUygiSW52YWxpZCBicHAgdmFsdWUgJyVkJ1xuIiwgY3J0Y19zdGF0ZS0N Cj4gPiA+cGlwZV9icHApOw0KPiA+ICsJCWJyZWFrOw0KPiA+ICsJfQ0KPiA+ICANCj4gPiAgCS8q DQo+ID4gIAkgKiBDb250ZW50IFR5cGUgKEJpdHMgMjowKQ0KPiA+IC0tIA0KPiA+IDIuMjEuMA0K X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4