From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v10 10/11] drm: Add aspect ratio parsing in DRM layer Date: Tue, 17 Apr 2018 20:47:24 +0300 Message-ID: <20180417174724.GP17795@intel.com> References: <1523034252-5275-1-git-send-email-ankit.k.nautiyal@intel.com> <1523034252-5275-11-git-send-email-ankit.k.nautiyal@intel.com> <73defe1e-9bb6-dd9b-577f-a4fb382cf1e4@intel.com> <20180406174408.GA16976@intel.com> <503ea59e-eb09-c8da-d2cb-f9b5fcf412de@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <503ea59e-eb09-c8da-d2cb-f9b5fcf412de@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Nautiyal, Ankit K" Cc: "daniel.vetter@ffwll.ch" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCBBcHIgMTcsIDIwMTggYXQgMTA6NDU6MDdBTSArMDUzMCwgTmF1dGl5YWwsIEFua2l0 IEsgd3JvdGU6Cj4gCj4gT24gNC82LzIwMTggMTE6MTQgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90 ZToKPiA+IE9uIEZyaSwgQXByIDA2LCAyMDE4IGF0IDEwOjU1OjE0UE0gKzA1MzAsIE5hdXRpeWFs LCBBbmtpdCBLIHdyb3RlOgo+ID4+IFRoaXMgcGF0Y2ggaXMgY2F1c2luZyBmYWlsdXJlIG9mIElH VCB0ZXN0IGttc18zZC4gVGhlIGttc18zZCB0ZXN0Cj4gPj4gZXhwZWN0cyB0aGUgbm8uIG9mIDNk IG1vZGVzIHRvIGJlIDEzLgo+ID4+Cj4gPj4gKFRoZSB0ZXN0IGhhcyBoYXJkLWNvZGVkIHZhbHVl IGZvciBleHBlY3RlZCBuby4gb2YgM2QgbW9kZXMgYXMgMTMpCj4gPj4KPiA+PiBCdXQgZHVlIHRv IHRoZSBhZGRpdGlvbiBvZiAibWF0Y2hpbmcgYXNwZWN0X3JhdGlvIiBpbiBkcm1fbW9kZV9lcXVh bCBpbgo+ID4+IHRoaXMgcGF0Y2gsIHRoZSB0b3RhbCBuby4gb2YKPiA+Pgo+ID4+IG1vZGVzIGlu IHRoZSBjb25uZWN0b3IgbW9kZWxpc3QgaXMgaW5jcmVhc2VkIGJ5IDIsIHJlc3VsdGluZyBpbiBm YWlsdXJlCj4gPj4gb2YgYXNzZXJ0aW9uICdtb2RlX2NvdW50PT0xMycuCj4gPiBJZiBrbXNfM2Qg aXNuJ3Qgc2V0dGluZyB0aGUgYXNwZWN0IHJhdGlvIGNhcCBob3cgaXMgaXQgYWZmZWN0ZWQgYnkg dGhlc2UKPiA+IGNoYW5nZXM/Cj4gSW4gZHJtX21vZGUuYywgdGhlIGRybV9tb2RlX2Nvbm5lY3Rv cl9saXN0X3VwZGF0ZSgpIHVzZXMgZHJtX21vZGVfZXF1YWwsCj4gdG8gcmVtb3ZlIGR1cGxpY2F0 ZSBtb2RlcyBpbiBjb25uZWN0b3JfbW9kZXMgZnJvbSB0aGUgCj4gY29ubmVjdG9yLT5wcm9iZV9t b2Rlcy4KPiBFYXJsaWVyLCBpdCB3YXNuJ3QgbWF0Y2hpbmcgZm9yIGFzcGVjdC1yYXRpbyBhbmQg d2FzIGRpc2NhcmRpbmcgdHdvIG9mIAo+IHRoZSBtb2RlcyB3aXRoIGFzcGVjdCByYXRpbywKPiBh cyBkdXBsaWNhdGVzIG9mIG90aGVyIG1vZGVzIGluIHRoZSBsaXN0Lgo+IAo+IExhdGVyLCB3aGVu IHdlIGFyZSBwcnVuaW5nIHRoZSBtb2RlcyBpbiBkcm1fbW9kZV9nZXRfY29ubmVjdG9yLCB0aGUg Cj4gbG9naWMgdGhlcmUgYXNzdW1lcywKPiB0aGF0IHRoZSBtb2RlcyBhcmUgaW4gYSBzb3J0ZWQg b3JkZXIgc28gdGhhdCB3ZSBqdXN0IG1hdGNoIHdpdGggdGhlIGxhc3QgCj4gdmFsaWQgbW9kZSBm b3IgdW5pcXVlbmVzcy4KPiBUaGlzIGlzbid0IHRoZSBjYXNlIHdpdGggdGhlIHNwb29mZWQgZWRp ZCBpbiBrbXNfM2QuCj4gRWFybGllciwgSSB3YXMgdGhpbmtpbmcgaWYgd2Ugc2hvdWxkIGNoYW5n ZSB0aGUgbm8uIG9mIGV4cGVjdGVkIG1vZGVzIGluIAo+IGttc18zZCwKPiBidXQgdGhhdCdzIG5v dCBjb3JyZWN0IGFwcHJvYWNoLgo+IAo+IFNvIGZpbmFsbHksIFRoZSBwcnVuaW5nIGxvZ2ljIG5l ZWRzIHRvIGJlIGNoYW5nZWQsIHRvIGRvIGF3YXkgd2l0aCBhbnkgCj4gYXNzdW1wdGlvbiBhbmQg Y2hlY2sKPiBhbGwgdGhlIG1vZGVzIGluIHRoZSBsaXN0IGZvciBkdXBsaWNhdGVzLiBUaGlzIGhv d2V2ZXIgd2lsbCB0YWtlIG1vcmUgCj4gdGltZSB0byByZW1vdmUgZHVwbGljYXRlcy4KPiAKPiBB bnkgb3RoZXIgc3VnZ2VzdGlvbnMgb24gdGhpcz8KCldoYXQgYXJlIGFsbCB0aGUgbW9kZXMgdGhp cyBFRElEIGdpdmVzIHVzPyBUaGUgb3JkZXIgaW4gd2hpY2ggdGhlCm1vZGVzIGFyZSBsaXN0ZWQg aW4gdGhlIEVESUQgc2hvdWxkIG5vdCBiZSByZWxldmFudCBhcyB3ZSBzb3J0CnRoZSBtb2RlIGxp c3Qgb3Vyc2VsdmVzLCBhbmQgdGh1cyBzaW1pbGFyIG1vZGVzIHNob3VsZCBhcHBlYXIgYmFjayB0 bwpiYWNrIG9uIHRoZSBsaXN0LiBTbyBJIGRvbid0IHJlYWxseSB1bmRlcnN0YW5kIGhvdyB3ZSBm YWlsIHRvCmRpc2NhcmQgdGhlc2UgdHdvIG1vZGVzLgoKPiAKPiBSZWdhcmRzCj4gLUFua2l0Cj4g Cj4gPgo+ID4+IFBlcmhhcHMgdGhpcyBuZWVkIHRvIGJlIGhhbmRsZWQgaW4gdGhlIHRlc3QuCj4g Pj4KPiA+PiAtUmVnYXJkcywKPiA+Pgo+ID4+IEFua2l0Cj4gPj4KPiA+Pgo+ID4+IE9uIDQvNi8y MDE4IDEwOjM0IFBNLCBOYXV0aXlhbCwgQW5raXQgSyB3cm90ZToKPiA+Pj4gRnJvbTogIlNoYXJt YSwgU2hhc2hhbmsiIDxzaGFzaGFuay5zaGFybWFAaW50ZWwuY29tPgo+ID4+Pgo+ID4+PiBDdXJy ZW50IERSTSBsYXllciBmdW5jdGlvbnMgZG9uJ3QgcGFyc2UgYXNwZWN0IHJhdGlvIGluZm9ybWF0 aW9uCj4gPj4+IHdoaWxlIGNvbnZlcnRpbmcgYSB1c2VyIG1vZGUtPmtlcm5lbCBtb2RlIG9yIHZp Y2UgdmVyc2EuIFRoaXMKPiA+Pj4gY2F1c2VzIG1vZGVzZXQgdG8gcGljayBtb2RlIHdpdGggd3Jv bmcgYXNwZWN0IHJhdGlvLCBldmVudHVhbGx5Cj4gPj4+IGNhdXNpbmcgZmFpbHVyZXMgaW4gSERN SSBjb21wbGlhbmNlIHRlc3QgY2FzZXMsIGR1ZSB0byB3cm9uZyBWSUMuCj4gPj4+Cj4gPj4+IFRo aXMgcGF0Y2ggYWRkcyBhc3BlY3QgcmF0aW8gaW5mb3JtYXRpb24gaW4gRFJNJ3MgbW9kZSBjb252 ZXJzaW9uCj4gPj4+IGFuZCBtb2RlIGNvbXBhcmlzaW9uIGZ1bmN0aW9ucywgdG8gbWFrZSBzdXJl IGtlcm5lbCBwaWNrcyBtb2RlCj4gPj4+IHdpdGggcmlnaHQgYXNwZWN0IHJhdGlvIChhcyBwZXIg dGhlIFZJQykuCj4gPj4+Cj4gPj4+IEJhY2tncm91bmQ6Cj4gPj4+IFRoaXMgcGF0Y2ggd2FzIG9u Y2UgcmV2aWV3ZWQgYW5kIG1lcmdlZCwgYW5kIGxhdGVyIHJldmVydGVkIGR1ZSB0bwo+ID4+PiBs YWNrIG9mIERSTSBjYXAgcHJvdGVjdGlvbi4gVGhpcyBpcyBhIHJlLXNwaW4gb2YgdGhpcyBwYXRj aCwgdGhpcwo+ID4+PiB0aW1lIHdpdGggRFJNIGNhcCBwcm90ZWN0aW9uLCB0byBhdm9pZCBhc3Bl Y3QgcmF0aW8gaW5mb3JtYXRpb24sIHdoZW4KPiA+Pj4gdGhlIGNsaWVudCBkb2Vzbid0IHJlcXVl c3QgZm9yIGl0Lgo+ID4+Pgo+ID4+PiBSZXZpZXcgbGluazogaHR0cHM6Ly9wdy1lbWVyaWwuZnJl ZWRlc2t0b3Aub3JnL3BhdGNoLzEwNDA2OC8KPiA+Pj4gQmFja2dyb3VuZCBkaXNjdXNzaW9uOiBo dHRwczovL3BhdGNod29yay5rZXJuZWwub3JnL3BhdGNoLzkzNzkwNTcvCj4gPj4+Cj4gPj4+IFNp Z25lZC1vZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4K PiA+Pj4gU2lnbmVkLW9mZi1ieTogTGluLCBKaWEgPGxpbi5hLmppYUBpbnRlbC5jb20+Cj4gPj4+ IFNpZ25lZC1vZmYtYnk6IEFrYXNoZGVlcCBTaGFybWEgPGFrYXNoZGVlcC5zaGFybWFAaW50ZWwu Y29tPgo+ID4+PiBSZXZpZXdlZC1ieTogSmltIEJyaWRlIDxqaW0uYnJpZGVAbGludXguaW50ZWwu Y29tPiAoVjIpCj4gPj4+IFJldmlld2VkLWJ5OiBKb3NlIEFicmV1IDxKb3NlLkFicmV1QHN5bm9w c3lzLmNvbT4gKFY0KQo+ID4+Pgo+ID4+PiBDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFs YUBsaW51eC5pbnRlbC5jb20+Cj4gPj4+IENjOiBKaW0gQnJpZGUgPGppbS5icmlkZUBsaW51eC5p bnRlbC5jb20+Cj4gPj4+IENjOiBKb3NlIEFicmV1IDxKb3NlLkFicmV1QHN5bm9wc3lzLmNvbT4K PiA+Pj4gQ2M6IEFua2l0IE5hdXRpeWFsIDxhbmtpdC5rLm5hdXRpeWFsQGludGVsLmNvbT4KPiA+ Pj4KPiA+Pj4gVjM6IG1vZGlmaWVkIHRoZSBhc3BlY3QtcmF0aW8gY2hlY2sgaW4gZHJtX21vZGVf ZXF1YWwgYXMgcGVyIG5ldyBmbGFncwo+ID4+PiAgICAgICBwcm92aWRlZCBieSBWaWxsZS4gaHR0 cHM6Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3BhdGNoLzE4ODA0My8KPiA+Pj4gVjQ6IHJl YmFzZQo+ID4+PiBWNTogcmViYXNlCj4gPj4+IFY2OiBBcyByZWNvbW1lbmRlZCBieSBWaWxsZSwg YXZvaWRlZCBtYXRjaGluZyBvZiBhc3BlY3QtcmF0aW8gaW4KPiA+Pj4gICAgICAgZHJtX2ZiX2hl bHBlciwgd2hpbGUgdHJ5aW5nIHRvIGZpbmQgYSBjb21tb24gbW9kZSBhbW9uZyBjb25uZWN0b3Jz Cj4gPj4+ICAgICAgIGZvciB0aGUgdGFyZ2V0IGNsb25lIG1vZGUuCj4gPj4+IFY3OiByZWJhc2UK PiA+Pj4gVjg6IHJlYmFzZQo+ID4+PiBWOTogcmViYXNlCj4gPj4+IFYxMDogcmViYXNlCj4gPj4+ IC0tLQo+ID4+PiAgICBkcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIHwgMTIgKysrKysr KysrKy0tCj4gPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYyAgICAgfCAzNSArKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ID4+PiAgICAyIGZpbGVzIGNoYW5nZWQs IDQ0IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCj4gPj4+Cj4gPj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9m Yl9oZWxwZXIuYwo+ID4+PiBpbmRleCAwNjQ2YjEwLi4yZWUxZWFhIDEwMDY0NAo+ID4+PiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gPj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fZmJfaGVscGVyLmMKPiA+Pj4gQEAgLTIxODMsNyArMjE4MywxMSBAQCBzdGF0aWMg Ym9vbCBkcm1fdGFyZ2V0X2Nsb25lZChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+ ID4+PiAgICAJCWZvciAoaiA9IDA7IGogPCBpOyBqKyspIHsKPiA+Pj4gICAgCQkJaWYgKCFlbmFi bGVkW2pdKQo+ID4+PiAgICAJCQkJY29udGludWU7Cj4gPj4+IC0JCQlpZiAoIWRybV9tb2RlX2Vx dWFsKG1vZGVzW2pdLCBtb2Rlc1tpXSkpCj4gPj4+ICsJCQlpZiAoIWRybV9tb2RlX21hdGNoKG1v ZGVzW2pdLCBtb2Rlc1tpXSwKPiA+Pj4gKwkJCQkJICAgIERSTV9NT0RFX01BVENIX1RJTUlOR1Mg fAo+ID4+PiArCQkJCQkgICAgRFJNX01PREVfTUFUQ0hfQ0xPQ0sgfAo+ID4+PiArCQkJCQkgICAg RFJNX01PREVfTUFUQ0hfRkxBR1MgfAo+ID4+PiArCQkJCQkgICAgRFJNX01PREVfTUFUQ0hfM0Rf RkxBR1MpKQo+ID4+PiAgICAJCQkJY2FuX2Nsb25lID0gZmFsc2U7Cj4gPj4+ICAgIAkJfQo+ID4+ PiAgICAJfQo+ID4+PiBAQCAtMjIwMyw3ICsyMjA3LDExIEBAIHN0YXRpYyBib29sIGRybV90YXJn ZXRfY2xvbmVkKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCj4gPj4+ICAgIAo+ID4+ PiAgICAJCWZiX2hlbHBlcl9jb25uID0gZmJfaGVscGVyLT5jb25uZWN0b3JfaW5mb1tpXTsKPiA+ Pj4gICAgCQlsaXN0X2Zvcl9lYWNoX2VudHJ5KG1vZGUsICZmYl9oZWxwZXJfY29ubi0+Y29ubmVj dG9yLT5tb2RlcywgaGVhZCkgewo+ID4+PiAtCQkJaWYgKGRybV9tb2RlX2VxdWFsKG1vZGUsIGRt dF9tb2RlKSkKPiA+Pj4gKwkJCWlmIChkcm1fbW9kZV9tYXRjaChtb2RlLCBkbXRfbW9kZSwKPiA+ Pj4gKwkJCQkJICAgRFJNX01PREVfTUFUQ0hfVElNSU5HUyB8Cj4gPj4+ICsJCQkJCSAgIERSTV9N T0RFX01BVENIX0NMT0NLIHwKPiA+Pj4gKwkJCQkJICAgRFJNX01PREVfTUFUQ0hfRkxBR1MgfAo+ ID4+PiArCQkJCQkgICBEUk1fTU9ERV9NQVRDSF8zRF9GTEFHUykpCj4gPj4+ICAgIAkJCQltb2Rl c1tpXSA9IG1vZGU7Cj4gPj4+ICAgIAkJfQo+ID4+PiAgICAJCWlmICghbW9kZXNbaV0pCj4gPj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX21vZGVzLmMKPiA+Pj4gaW5kZXggZDYxMzNlOC4uNDU0ZjJmZiAxMDA2NDQKPiA+Pj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jCj4gPj4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9kcm1fbW9kZXMuYwo+ID4+PiBAQCAtMTA0OSw3ICsxMDQ5LDggQEAgYm9vbCBkcm1fbW9k ZV9lcXVhbChjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTEsCj4gPj4+ICAgIAkJ CSAgICAgIERSTV9NT0RFX01BVENIX1RJTUlOR1MgfAo+ID4+PiAgICAJCQkgICAgICBEUk1fTU9E RV9NQVRDSF9DTE9DSyB8Cj4gPj4+ICAgIAkJCSAgICAgIERSTV9NT0RFX01BVENIX0ZMQUdTIHwK PiA+Pj4gLQkJCSAgICAgIERSTV9NT0RFX01BVENIXzNEX0ZMQUdTKTsKPiA+Pj4gKwkJCSAgICAg IERSTV9NT0RFX01BVENIXzNEX0ZMQUdTfAo+ID4+PiArCQkJICAgICAgRFJNX01PREVfTUFUQ0hf QVNQRUNUX1JBVElPKTsKPiA+Pj4gICAgfQo+ID4+PiAgICBFWFBPUlRfU1lNQk9MKGRybV9tb2Rl X2VxdWFsKTsKPiA+Pj4gICAgCj4gPj4+IEBAIC0xNjQ3LDYgKzE2NDgsMjAgQEAgdm9pZCBkcm1f bW9kZV9jb252ZXJ0X3RvX3Vtb2RlKHN0cnVjdCBkcm1fbW9kZV9tb2RlaW5mbyAqb3V0LAo+ID4+ PiAgICAJb3V0LT52cmVmcmVzaCA9IGluLT52cmVmcmVzaDsKPiA+Pj4gICAgCW91dC0+ZmxhZ3Mg PSBpbi0+ZmxhZ3M7Cj4gPj4+ICAgIAlvdXQtPnR5cGUgPSBpbi0+dHlwZTsKPiA+Pj4gKwo+ID4+ PiArCXN3aXRjaCAoaW4tPnBpY3R1cmVfYXNwZWN0X3JhdGlvKSB7Cj4gPj4+ICsJY2FzZSBIRE1J X1BJQ1RVUkVfQVNQRUNUXzRfMzoKPiA+Pj4gKwkJb3V0LT5mbGFncyB8PSBEUk1fTU9ERV9GTEFH X1BJQ19BUl80XzM7Cj4gPj4+ICsJCWJyZWFrOwo+ID4+PiArCWNhc2UgSERNSV9QSUNUVVJFX0FT UEVDVF8xNl85Ogo+ID4+PiArCQlvdXQtPmZsYWdzIHw9IERSTV9NT0RFX0ZMQUdfUElDX0FSXzE2 Xzk7Cj4gPj4+ICsJCWJyZWFrOwo+ID4+PiArCWNhc2UgSERNSV9QSUNUVVJFX0FTUEVDVF9SRVNF UlZFRDoKPiA+Pj4gKwlkZWZhdWx0Ogo+ID4+PiArCQlvdXQtPmZsYWdzIHw9IERSTV9NT0RFX0ZM QUdfUElDX0FSX05PTkU7Cj4gPj4+ICsJCWJyZWFrOwo+ID4+PiArCX0KPiA+Pj4gKwo+ID4+PiAg ICAJc3RybmNweShvdXQtPm5hbWUsIGluLT5uYW1lLCBEUk1fRElTUExBWV9NT0RFX0xFTik7Cj4g Pj4+ICAgIAlvdXQtPm5hbWVbRFJNX0RJU1BMQVlfTU9ERV9MRU4tMV0gPSAwOwo+ID4+PiAgICB9 Cj4gPj4+IEBAIC0xNjkzLDYgKzE3MDgsMjQgQEAgaW50IGRybV9tb2RlX2NvbnZlcnRfdW1vZGUo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiA+Pj4gICAgCXN0cm5jcHkob3V0LT5uYW1lLCBpbi0+ bmFtZSwgRFJNX0RJU1BMQVlfTU9ERV9MRU4pOwo+ID4+PiAgICAJb3V0LT5uYW1lW0RSTV9ESVNQ TEFZX01PREVfTEVOLTFdID0gMDsKPiA+Pj4gICAgCj4gPj4+ICsJLyogQ2xlYXJpbmcgcGljdHVy ZSBhc3BlY3QgcmF0aW8gYml0cyBmcm9tIG91dCBmbGFncywKPiA+Pj4gKwkgKiBhcyB0aGUgYXNw ZWN0LXJhdGlvIGluZm9ybWF0aW9uIGlzIG5vdCBzdG9yZWQgaW4KPiA+Pj4gKwkgKiBmbGFncyBm b3Iga2VybmVsLW1vZGUsIGJ1dCBpbiBwaWN0dXJlX2FzcGVjdF9yYXRpby4KPiA+Pj4gKwkgKi8K PiA+Pj4gKwlvdXQtPmZsYWdzICY9IH5EUk1fTU9ERV9GTEFHX1BJQ19BUl9NQVNLOwo+ID4+PiAr Cj4gPj4+ICsJc3dpdGNoIChpbi0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX1BJQ19BUl9NQVNLKSB7 Cj4gPj4+ICsJY2FzZSBEUk1fTU9ERV9GTEFHX1BJQ19BUl80XzM6Cj4gPj4+ICsJCW91dC0+cGlj dHVyZV9hc3BlY3RfcmF0aW8gfD0gSERNSV9QSUNUVVJFX0FTUEVDVF80XzM7Cj4gPj4+ICsJCWJy ZWFrOwo+ID4+PiArCWNhc2UgRFJNX01PREVfRkxBR19QSUNfQVJfMTZfOToKPiA+Pj4gKwkJb3V0 LT5waWN0dXJlX2FzcGVjdF9yYXRpbyB8PSBIRE1JX1BJQ1RVUkVfQVNQRUNUXzE2Xzk7Cj4gPj4+ ICsJCWJyZWFrOwo+ID4+PiArCWRlZmF1bHQ6Cj4gPj4+ICsJCW91dC0+cGljdHVyZV9hc3BlY3Rf cmF0aW8gPSBIRE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7Cj4gPj4+ICsJCWJyZWFrOwo+ID4+PiAr CX0KPiA+Pj4gKwo+ID4+PiAgICAJb3V0LT5zdGF0dXMgPSBkcm1fbW9kZV92YWxpZGF0ZV9kcml2 ZXIoZGV2LCBvdXQpOwo+ID4+PiAgICAJaWYgKG91dC0+c3RhdHVzICE9IE1PREVfT0spCj4gPj4+ ICAgIAkJcmV0dXJuIC1FSU5WQUw7Cj4gPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiA+PiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cj4gPgo+IAoKLS0gClZpbGxlIFN5cmrDpGzD pApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK