From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH i-g-t 5/8] tools/intel_vbt_decode: unify child device printing across versions Date: Fri, 20 Oct 2017 13:56:11 +0300 Message-ID: <87a80mjdf8.fsf@intel.com> References: <20171019152259.31615-1-jani.nikula@intel.com> <20171019152259.31615-6-jani.nikula@intel.com> <20171019172410.GZ10981@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1F6C86EBFE for ; Fri, 20 Oct 2017 10:54:44 +0000 (UTC) In-Reply-To: <20171019172410.GZ10981@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 =?utf-8?B?U3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAxOSBPY3QgMjAxNywgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gVGh1LCBPY3QgMTksIDIwMTcgYXQgMDY6MjI6NTZQTSAr MDMwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IE1ha2UgaXQgZWFzaWVyIHRvIGNvbXBhcmUgZHVt cGluZyBhZ2FpbnN0IHRoZSBzdHJ1Y3QgZGVmaW5pdGlvbi4KPj4gCj4+IFNpZ25lZC1vZmYtYnk6 IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4+IC0tLQo+PiAgdG9vbHMvaW50 ZWxfdmJ0X2RlY29kZS5jIHwgMTI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0t LS0tLS0tLS0tLS0tCj4+ICAxIGZpbGUgY2hhbmdlZCwgNzEgaW5zZXJ0aW9ucygrKSwgNTcgZGVs ZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEvdG9vbHMvaW50ZWxfdmJ0X2RlY29kZS5jIGIv dG9vbHMvaW50ZWxfdmJ0X2RlY29kZS5jCj4+IGluZGV4IDY5Y2YxZTRjNmNjNi4uYmM1ZjM4MTEy NjE5IDEwMDY0NAo+PiAtLS0gYS90b29scy9pbnRlbF92YnRfZGVjb2RlLmMKPj4gKysrIGIvdG9v bHMvaW50ZWxfdmJ0X2RlY29kZS5jCj4+IEBAIC00MDEsNzQgKzQwMSw4OCBAQCBzdGF0aWMgY29u c3QgY2hhciAqbWlwaV9icmlkZ2VfdHlwZSh1aW50OF90IHR5cGUpCj4+ICBzdGF0aWMgdm9pZCBk dW1wX2NoaWxkX2RldmljZShzdHJ1Y3QgY29udGV4dCAqY29udGV4dCwKPj4gIAkJCSAgICAgIGNv bnN0IHN0cnVjdCBjaGlsZF9kZXZpY2VfY29uZmlnICpjaGlsZCkKPj4gIHsKPj4gLQljb25zdCBz dHJ1Y3QgY2hpbGRfZGV2aWNlX2NvbmZpZyAqZWZwID0gY2hpbGQ7Cj4+IC0KPj4gIAlpZiAoIWNo aWxkLT5kZXZpY2VfdHlwZSkKPj4gIAkJcmV0dXJuOwo+PiAgCj4+ICsJcHJpbnRmKCJcdENoaWxk IGRldmljZSBpbmZvOlxuIik7Cj4+ICsJcHJpbnRmKCJcdFx0RGV2aWNlIGhhbmRsZTogMHglMDR4 ICglcylcbiIsIGNoaWxkLT5oYW5kbGUsCj4+ICsJICAgICAgIGNoaWxkX2RldmljZV9oYW5kbGUo Y2hpbGQtPmhhbmRsZSkpOwo+PiArCXByaW50ZigiXHRcdERldmljZSB0eXBlOiAweCUwNHggKCVz KVxuIiwgY2hpbGQtPmRldmljZV90eXBlLAo+PiArCSAgICAgICBjaGlsZF9kZXZpY2VfdHlwZShj aGlsZC0+ZGV2aWNlX3R5cGUpKTsKPj4gKwlkdW1wX2NoaWxkX2RldmljZV90eXBlX2JpdHMoY2hp bGQtPmRldmljZV90eXBlKTsKPj4gKwo+PiAgCWlmIChjb250ZXh0LT5iZGItPnZlcnNpb24gPCAx NTIpIHsKPj4gLQkJcHJpbnRmKCJcdENoaWxkIGRldmljZSBpbmZvOlxuIik7Cj4+IC0JCXByaW50 ZigiXHRcdERldmljZSB0eXBlOiAlMDR4ICglcylcbiIsIGNoaWxkLT5kZXZpY2VfdHlwZSwKPj4g LQkJICAgICAgIGNoaWxkX2RldmljZV90eXBlKGNoaWxkLT5kZXZpY2VfdHlwZSkpOwo+PiAgCQlw cmludGYoIlx0XHRTaWduYXR1cmU6ICUuKnNcbiIsIChpbnQpc2l6ZW9mKGNoaWxkLT5kZXZpY2Vf aWQpLCBjaGlsZC0+ZGV2aWNlX2lkKTsKPj4gLQkJcHJpbnRmKCJcdFx0QUlNIG9mZnNldDogJWRc biIsIGNoaWxkLT5hZGRpbl9vZmZzZXQpOwo+PiAtCQlwcmludGYoIlx0XHREVk8gcG9ydDogMHgl MDJ4XG4iLCBjaGlsZC0+ZHZvX3BvcnQpOwo+PiAtCX0gZWxzZSB7IC8qIDE1MisgaGF2ZSBFRlAg YmxvY2tzIGhlcmUgKi8KPj4gLQkJcHJpbnRmKCJcdEVGUCBkZXZpY2UgaW5mbzpcbiIpOwo+PiAt CQlwcmludGYoIlx0XHREZXZpY2UgaGFuZGxlOiAweCUwNHggKCVzKVxuIiwgZWZwLT5oYW5kbGUs Cj4+IC0JCSAgICAgICBjaGlsZF9kZXZpY2VfaGFuZGxlKGVmcC0+aGFuZGxlKSk7Cj4+IC0JCXBy aW50ZigiXHRcdERldmljZSB0eXBlOiAweCUwNHggKCVzKVxuIiwgZWZwLT5kZXZpY2VfdHlwZSwK Pj4gLQkJICAgICAgIGNoaWxkX2RldmljZV90eXBlKGVmcC0+ZGV2aWNlX3R5cGUpKTsKPj4gLQkJ ZHVtcF9jaGlsZF9kZXZpY2VfdHlwZV9iaXRzKGVmcC0+ZGV2aWNlX3R5cGUpOwo+PiAtCQlwcmlu dGYoIlx0XHRJMkMgc3BlZWQ6IDB4JTAyeFxuIiwgZWZwLT5pMmNfc3BlZWQpOwo+PiAtCQlwcmlu dGYoIlx0XHREUCBvbmJvYXJkIHJlZHJpdmVyOiAweCUwMnhcbiIsIGVmcC0+ZHBfb25ib2FyZF9y ZWRyaXZlcik7Cj4+IC0JCXByaW50ZigiXHRcdERQIG9uZG9jayByZWRyaXZlcjogMHglMDJ4XG4i LCBlZnAtPmRwX29uZG9ja19yZWRyaXZlcik7Cj4+IC0JCXByaW50ZigiXHRcdEhETUkgbWF4IGRh dGEgcmF0ZTogMHglMDJ4XG4iLCBlZnAtPmhkbWlfbWF4X2RhdGFfcmF0ZSk7Cj4+IC0JCXByaW50 ZigiXHRcdEhETUkgbGV2ZWwgc2hpZnRlciB2YWx1ZTogMHglMDJ4XG4iLCBlZnAtPmhkbWlfbGV2 ZWxfc2hpZnRlcl92YWx1ZSk7Cj4+IC0JCXByaW50ZigiXHRcdE9mZnNldCB0byBEVEQgYnVmZmVy IGZvciBlZGlkbGVzcyBFRlA6IDB4JTAyeFxuIiwgZWZwLT5kdGRfYnVmX3B0cik7Cj4+IC0JCXBy aW50ZigiXHRcdER1YWwgcGlwZSBnYW5nZWQgZURQOiAlc1xuIiwgWUVTTk8oZWZwLT5nYW5nZWRf ZWRwKSk7Cj4+IC0JCXByaW50ZigiXHRcdENvbXByZXNzaW9uIG1ldGhvZCBDUFM6ICVzXG4iLCBZ RVNOTyhlZnAtPmNvbXByZXNzaW9uX21ldGhvZCkpOwo+PiAtCQlwcmludGYoIlx0XHRDb21wcmVz c2lvbiBlbmFibGU6ICVzXG4iLCBZRVNOTyhlZnAtPmNvbXByZXNzaW9uX2VuYWJsZSkpOwo+PiAt CQlwcmludGYoIlx0XHRFZGlkbGVzcyBFRlA6ICVzXG4iLCBZRVNOTyhlZnAtPmVkaWRsZXNzX2Vm cCkpOwo+PiAtCQlwcmludGYoIlx0XHRDb21wcmVzc2lvbiBzdHJ1Y3R1cmUgaW5kZXg6IDB4JTAy eClcbiIsIGVmcC0+Y29tcHJlc3Npb25fc3RydWN0dXJlX2luZGV4KTsKPj4gLQkJcHJpbnRmKCJc dFx0U2xhdmUgRERJIHBvcnQ6IDB4JTAyeCAoJXMpXG4iLCBlZnAtPnNsYXZlX3BvcnQsIGR2b19w b3J0KGVmcC0+c2xhdmVfcG9ydCkpOwo+PiAtCQlwcmludGYoIlx0XHRBSU0gb2Zmc2V0OiAlZFxu IiwgY2hpbGQtPmFkZGluX29mZnNldCk7Cj4+IC0JCXByaW50ZigiXHRcdFBvcnQ6IDB4JTAyeCAo JXMpXG4iLCBlZnAtPmR2b19wb3J0LCBkdm9fcG9ydChlZnAtPmR2b19wb3J0KSk7Cj4+IC0JCXBy aW50ZigiXHRcdEFJTSBJMkMgcGluOiAweCUwMnhcbiIsIGVmcC0+aTJjX3Bpbik7Cj4+IC0JCXBy aW50ZigiXHRcdEFJTSBTbGF2ZSBhZGRyZXNzOiAweCUwMnhcbiIsIGVmcC0+c2xhdmVfYWRkcik7 Cj4+IC0JCXByaW50ZigiXHRcdEREQyBwaW46IDB4JTAyeFxuIiwgZWZwLT5kZGNfcGluKTsKPj4g LQkJcHJpbnRmKCJcdFx0RURJRCBidWZmZXIgcHRyOiAweCUwMnhcbiIsIGVmcC0+ZWRpZF9wdHIp Owo+PiAtCQlwcmludGYoIlx0XHREVk8gY29uZmlnOiAweCUwMnhcbiIsIGVmcC0+ZHZvX2NmZyk7 Cj4+IC0JCXByaW50ZigiXHRcdEhQRCBzZW5zZSBpbnZlcnQ6ICVzXG4iLCBZRVNOTyhlZnAtPmhw ZF9pbnZlcnQpKTsKPj4gLQkJcHJpbnRmKCJcdFx0SWJvb3N0IGVuYWJsZTogJXNcbiIsIFlFU05P KGVmcC0+aWJvb3N0KSk7Cj4+IC0JCXByaW50ZigiXHRcdE9uYm9hcmQgTFNQQ09OOiAlc1xuIiwg WUVTTk8oZWZwLT5sc3Bjb24pKTsKPj4gLQkJcHJpbnRmKCJcdFx0TGFuZSByZXZlcnNhbDogJXNc biIsIFlFU05PKGVmcC0+bGFuZV9yZXZlcnNhbCkpOwo+PiAtCQlwcmludGYoIlx0XHRFRlAgcm91 dGVkIHRocm91Z2ggZG9jazogJXNcbiIsIFlFU05PKGVmcC0+ZWZwX3JvdXRlZCkpOwo+PiAtCQlw cmludGYoIlx0XHRIRE1JIGNvbXBhdGlibGU/ICVzXG4iLCBZRVNOTyhlZnAtPmhkbWlfc3VwcG9y dCkpOwo+PiAtCQlwcmludGYoIlx0XHREUCBjb21wYXRpYmxlPyAlc1xuIiwgWUVTTk8oZWZwLT5k cF9zdXBwb3J0KSk7Cj4+IC0JCXByaW50ZigiXHRcdFRNRFMgY29tcGF0aWJsZT8gJXNcbiIsIFlF U05PKGVmcC0+dG1kc19zdXBwb3J0KSk7Cj4+IC0JCXByaW50ZigiXHRcdEF1eCBjaGFubmVsOiAw eCUwMnhcbiIsIGVmcC0+YXV4X2NoYW5uZWwpOwo+PiAtCQlwcmludGYoIlx0XHREb25nbGUgZGV0 ZWN0OiAweCUwMnhcbiIsIGVmcC0+ZG9uZ2xlX2RldGVjdCk7Cj4+IC0JCXByaW50ZigiXHRcdElu dGVncmF0ZWQgZW5jb2RlciBpbnN0ZWFkIG9mIFNEVk86ICVzXG4iLCBZRVNOTyhlZnAtPmludGVn cmF0ZWRfZW5jb2RlcikpOwo+PiAtCQlwcmludGYoIlx0XHRIb3RwbHUgY29ubmVjdCBzdGF0dXM6 IDB4JTAyeFxuIiwgZWZwLT5ocGRfc3RhdHVzKTsKPj4gLQkJcHJpbnRmKCJcdFx0U0RWTyBzdGFs bCBzaWduYWwgYXZhaWxhYmxlOiAlc1xuIiwgWUVTTk8oZWZwLT5zZHZvX3N0YWxsKSk7Cj4+IC0J CXByaW50ZigiXHRcdFBpcGUgY2FwYWJpbGl0aWVzOiAweCUwMnhcbiIsIGVmcC0+cGlwZV9jYXAp Owo+PiAtCQlwcmludGYoIlx0XHREVk8gd2lyaW5nOiAweCUwMnhcbiIsIGVmcC0+ZHZvX3dpcmlu Zyk7Cj4+IC0JCXByaW50ZigiXHRcdE1JUEkgYnJpZGdlIHR5cGU6ICUwMnggKCVzKVxuIiwgZWZw LT5taXBpX2JyaWRnZV90eXBlLAo+PiAtCQkgICAgICAgbWlwaV9icmlkZ2VfdHlwZShlZnAtPm1p cGlfYnJpZGdlX3R5cGUpKTsKPj4gLQkJcHJpbnRmKCJcdFx0RGV2aWNlIGNsYXNzIGV4dGVuZHNp b246IDB4JTAyeFxuIiwgZWZwLT5leHRlbmRlZF90eXBlKTsKPj4gLQkJcHJpbnRmKCJcdFx0RFZP IGZ1bmN0aW9uOiAweCUwMnhcbiIsIGVmcC0+ZHZvX2Z1bmN0aW9uKTsKPj4gKwl9IGVsc2Ugewo+ PiArCQlwcmludGYoIlx0XHRJMkMgc3BlZWQ6IDB4JTAyeFxuIiwgY2hpbGQtPmkyY19zcGVlZCk7 Cj4+ICsJCXByaW50ZigiXHRcdERQIG9uYm9hcmQgcmVkcml2ZXI6IDB4JTAyeFxuIiwgY2hpbGQt PmRwX29uYm9hcmRfcmVkcml2ZXIpOwo+PiArCQlwcmludGYoIlx0XHREUCBvbmRvY2sgcmVkcml2 ZXI6IDB4JTAyeFxuIiwgY2hpbGQtPmRwX29uZG9ja19yZWRyaXZlcik7Cj4+ICsJCXByaW50Zigi XHRcdEhETUkgbGV2ZWwgc2hpZnRlciB2YWx1ZTogMHglMDJ4XG4iLCBjaGlsZC0+aGRtaV9sZXZl bF9zaGlmdGVyX3ZhbHVlKTsKPj4gKwkJcHJpbnRmKCJcdFx0SERNSSBtYXggZGF0YSByYXRlOiAw eCUwMnhcbiIsIGNoaWxkLT5oZG1pX21heF9kYXRhX3JhdGUpOwo+PiArCQlwcmludGYoIlx0XHRP ZmZzZXQgdG8gRFREIGJ1ZmZlciBmb3IgZWRpZGxlc3MgQ0hJTEQ6IDB4JTAyeFxuIiwgY2hpbGQt PmR0ZF9idWZfcHRyKTsKPj4gKwkJcHJpbnRmKCJcdFx0RWRpZGxlc3MgRUZQOiAlc1xuIiwgWUVT Tk8oY2hpbGQtPmVkaWRsZXNzX2VmcCkpOwo+PiArCQlwcmludGYoIlx0XHRDb21wcmVzc2lvbiBl bmFibGU6ICVzXG4iLCBZRVNOTyhjaGlsZC0+Y29tcHJlc3Npb25fZW5hYmxlKSk7Cj4+ICsJCXBy aW50ZigiXHRcdENvbXByZXNzaW9uIG1ldGhvZCBDUFM6ICVzXG4iLCBZRVNOTyhjaGlsZC0+Y29t cHJlc3Npb25fbWV0aG9kKSk7Cj4+ICsJCXByaW50ZigiXHRcdER1YWwgcGlwZSBnYW5nZWQgZURQ OiAlc1xuIiwgWUVTTk8oY2hpbGQtPmdhbmdlZF9lZHApKTsKPj4gKwkJcHJpbnRmKCJcdFx0Q29t cHJlc3Npb24gc3RydWN0dXJlIGluZGV4OiAweCUwMngpXG4iLCBjaGlsZC0+Y29tcHJlc3Npb25f c3RydWN0dXJlX2luZGV4KTsKPj4gKwkJcHJpbnRmKCJcdFx0U2xhdmUgRERJIHBvcnQ6IDB4JTAy eCAoJXMpXG4iLCBjaGlsZC0+c2xhdmVfcG9ydCwgZHZvX3BvcnQoY2hpbGQtPnNsYXZlX3BvcnQp KTsKPj4gKwl9Cj4+ICsKPj4gKwlwcmludGYoIlx0XHRBSU0gb2Zmc2V0OiAlZFxuIiwgY2hpbGQt PmFkZGluX29mZnNldCk7Cj4+ICsJcHJpbnRmKCJcdFx0RFZPIFBvcnQ6IDB4JTAyeCAoJXMpXG4i LCBjaGlsZC0+ZHZvX3BvcnQsIGR2b19wb3J0KGNoaWxkLT5kdm9fcG9ydCkpOwo+PiArCj4+ICsJ aWYgKGNvbnRleHQtPmJkYi0+dmVyc2lvbiA8IDE1MikKPj4gKwkJcmV0dXJuOwo+PiArCj4+ICsJ cHJpbnRmKCJcdFx0QUlNIEkyQyBwaW46IDB4JTAyeFxuIiwgY2hpbGQtPmkyY19waW4pOwo+PiAr CXByaW50ZigiXHRcdEFJTSBTbGF2ZSBhZGRyZXNzOiAweCUwMnhcbiIsIGNoaWxkLT5zbGF2ZV9h ZGRyKTsKPj4gKwlwcmludGYoIlx0XHREREMgcGluOiAweCUwMnhcbiIsIGNoaWxkLT5kZGNfcGlu KTsKPj4gKwlwcmludGYoIlx0XHRFRElEIGJ1ZmZlciBwdHI6IDB4JTAyeFxuIiwgY2hpbGQtPmVk aWRfcHRyKTsKPj4gKwlwcmludGYoIlx0XHREVk8gY29uZmlnOiAweCUwMnhcbiIsIGNoaWxkLT5k dm9fY2ZnKTsKPj4gKwo+PiArCWlmIChjb250ZXh0LT5iZGItPnZlcnNpb24gPCAxNTgpIHsKPj4g KwkJcHJpbnRmKCJcdFx0RFZPMiBQb3J0OiAweCUwMnggKCVzKVxuIiwgY2hpbGQtPmR2bzJfcG9y dCwgZHZvX3BvcnQoY2hpbGQtPmR2bzJfcG9ydCkpOwo+PiArCQlwcmludGYoIlx0XHRJMkMyIHBp bjogMHglMDJ4XG4iLCBjaGlsZC0+aTJjMl9waW4pOwo+PiArCQlwcmludGYoIlx0XHRTbGF2ZTIg YWRkcmVzczogMHglMDJ4XG4iLCBjaGlsZC0+c2xhdmUyX2FkZHIpOwo+PiArCQlwcmludGYoIlx0 XHREREMyIHBpbjogMHglMDJ4XG4iLCBjaGlsZC0+ZGRjMl9waW4pOwo+PiArCX0gZWxzZSB7Cj4+ ICsJCXByaW50ZigiXHRcdEVGUCByb3V0ZWQgdGhyb3VnaCBkb2NrOiAlc1xuIiwgWUVTTk8oY2hp bGQtPmVmcF9yb3V0ZWQpKTsKPj4gKwkJcHJpbnRmKCJcdFx0TGFuZSByZXZlcnNhbDogJXNcbiIs IFlFU05PKGNoaWxkLT5sYW5lX3JldmVyc2FsKSk7Cj4+ICsJCXByaW50ZigiXHRcdE9uYm9hcmQg TFNQQ09OOiAlc1xuIiwgWUVTTk8oY2hpbGQtPmxzcGNvbikpOwo+PiArCQlwcmludGYoIlx0XHRJ Ym9vc3QgZW5hYmxlOiAlc1xuIiwgWUVTTk8oY2hpbGQtPmlib29zdCkpOwo+PiArCQlwcmludGYo Ilx0XHRIUEQgc2Vuc2UgaW52ZXJ0OiAlc1xuIiwgWUVTTk8oY2hpbGQtPmhwZF9pbnZlcnQpKTsK Pj4gKwkJcHJpbnRmKCJcdFx0SERNSSBjb21wYXRpYmxlPyAlc1xuIiwgWUVTTk8oY2hpbGQtPmhk bWlfc3VwcG9ydCkpOwo+PiArCQlwcmludGYoIlx0XHREUCBjb21wYXRpYmxlPyAlc1xuIiwgWUVT Tk8oY2hpbGQtPmRwX3N1cHBvcnQpKTsKPj4gKwkJcHJpbnRmKCJcdFx0VE1EUyBjb21wYXRpYmxl PyAlc1xuIiwgWUVTTk8oY2hpbGQtPnRtZHNfc3VwcG9ydCkpOwo+PiArCQlwcmludGYoIlx0XHRB dXggY2hhbm5lbDogMHglMDJ4XG4iLCBjaGlsZC0+YXV4X2NoYW5uZWwpOwo+PiArCQlwcmludGYo Ilx0XHREb25nbGUgZGV0ZWN0OiAweCUwMnhcbiIsIGNoaWxkLT5kb25nbGVfZGV0ZWN0KTsKPgo+ IFRoZSB2ZXJzaW9uIG9mIHRoZSBzcGVjIEkgaGF2ZSBhdCBoYW5kIHNheXMgYXV4IGFuZCBkb25n bGUgYXJlCj4gYWxyZWFkeSBwYXJ0IG9mIHZlcnNpb24gMTU1LgoKU2VlbXMgbGlrZSBkdm8yL2ky YzIvc2xhdmUyL2RkYzIgd2VyZSBjb252ZXJ0ZWQgdG8gZmxhZ3MgYXQgMTU1LiBPa2F5IGlmCkkg anVzdCBjaGFuZ2UgdGhlIGNvbmRpdGlvbiBhYm92ZSBmcm9tIDwgMTU4IHRvIDwgMTU1PwoKQlIs CkphbmkuCgoKPgo+PiArCX0KPj4gKwo+PiArCXByaW50ZigiXHRcdFBpcGUgY2FwYWJpbGl0aWVz OiAweCUwMnhcbiIsIGNoaWxkLT5waXBlX2NhcCk7Cj4+ICsJcHJpbnRmKCJcdFx0U0RWTyBzdGFs bCBzaWduYWwgYXZhaWxhYmxlOiAlc1xuIiwgWUVTTk8oY2hpbGQtPnNkdm9fc3RhbGwpKTsKPj4g KwlwcmludGYoIlx0XHRIb3RwbHUgY29ubmVjdCBzdGF0dXM6IDB4JTAyeFxuIiwgY2hpbGQtPmhw ZF9zdGF0dXMpOwo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgo+IFByZS1leGlzdGluZyB0 eXBvCj4KPj4gKwlwcmludGYoIlx0XHRJbnRlZ3JhdGVkIGVuY29kZXIgaW5zdGVhZCBvZiBTRFZP OiAlc1xuIiwgWUVTTk8oY2hpbGQtPmludGVncmF0ZWRfZW5jb2RlcikpOwo+PiArCXByaW50Zigi XHRcdERWTyB3aXJpbmc6IDB4JTAyeFxuIiwgY2hpbGQtPmR2b193aXJpbmcpOwo+PiArCj4+ICsJ aWYgKGNvbnRleHQtPmJkYi0+dmVyc2lvbiA8IDE3MSkgewo+PiArCQlwcmludGYoIlx0XHREVk8y IHdpcmluZzogMHglMDJ4XG4iLCBjaGlsZC0+ZHZvMl93aXJpbmcpOwo+PiArCX0gZWxzZSB7Cj4+ ICsJCXByaW50ZigiXHRcdE1JUEkgYnJpZGdlIHR5cGU6ICUwMnggKCVzKVxuIiwgY2hpbGQtPm1p cGlfYnJpZGdlX3R5cGUsCj4+ICsJCSAgICAgICBtaXBpX2JyaWRnZV90eXBlKGNoaWxkLT5taXBp X2JyaWRnZV90eXBlKSk7Cj4+ICAJfQo+PiAgCj4+ICsJcHJpbnRmKCJcdFx0RGV2aWNlIGNsYXNz IGV4dGVuZHNpb246IDB4JTAyeFxuIiwgY2hpbGQtPmV4dGVuZGVkX3R5cGUpOwo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgo+IGRpdHRvCj4KPj4gKwlwcmludGYoIlx0 XHREVk8gZnVuY3Rpb246IDB4JTAyeFxuIiwgY2hpbGQtPmR2b19mdW5jdGlvbik7Cj4+ICsKPj4g IAlpZiAoY29udGV4dC0+YmRiLT52ZXJzaW9uID49IDE5NSkgewo+PiAtCQlwcmludGYoIlx0XHRE UCBVU0IgdHlwZSBDIHN1cHBvcnQ6ICVzXG4iLCBZRVNOTyhlZnAtPmRwX3VzYl90eXBlX2MpKTsK Pj4gLQkJcHJpbnRmKCJcdFx0MlggRFAgR1BJTyBpbmRleDogMHglMDJ4XG4iLCBlZnAtPmRwX2dw aW9faW5kZXgpOwo+PiAtCQlwcmludGYoIlx0XHQyWCBEUCBHUElPIHBpbiBudW1iZXI6IDB4JTAy eFxuIiwgZWZwLT5kcF9ncGlvX3Bpbl9udW0pOwo+PiArCQlwcmludGYoIlx0XHREUCBVU0IgdHlw ZSBDIHN1cHBvcnQ6ICVzXG4iLCBZRVNOTyhjaGlsZC0+ZHBfdXNiX3R5cGVfYykpOwo+PiArCQlw cmludGYoIlx0XHQyWCBEUCBHUElPIGluZGV4OiAweCUwMnhcbiIsIGNoaWxkLT5kcF9ncGlvX2lu ZGV4KTsKPj4gKwkJcHJpbnRmKCJcdFx0MlggRFAgR1BJTyBwaW4gbnVtYmVyOiAweCUwMnhcbiIs IGNoaWxkLT5kcF9ncGlvX3Bpbl9udW0pOwo+PiAgCX0KPj4gIAo+PiAgCWlmIChjb250ZXh0LT5i ZGItPnZlcnNpb24gPj0gMTk2KSB7Cj4+IC0JCXByaW50ZigiXHRcdElCb29zdCBsZXZlbCBmb3Ig SERNSTogMHglMDJ4XG4iLCBlZnAtPmhkbWlfaWJvb3N0X2xldmVsKTsKPj4gLQkJcHJpbnRmKCJc dFx0SUJvb3N0IGxldmVsIGZvciBEUC9lRFA6IDB4JTAyeFxuIiwgZWZwLT5kcF9pYm9vc3RfbGV2 ZWwpOwo+PiArCQlwcmludGYoIlx0XHRJQm9vc3QgbGV2ZWwgZm9yIEhETUk6IDB4JTAyeFxuIiwg Y2hpbGQtPmhkbWlfaWJvb3N0X2xldmVsKTsKPj4gKwkJcHJpbnRmKCJcdFx0SUJvb3N0IGxldmVs IGZvciBEUC9lRFA6IDB4JTAyeFxuIiwgY2hpbGQtPmRwX2lib29zdF9sZXZlbCk7Cj4+ICAJfQo+ PiAgfQo+PiAgCj4+IC0tIAo+PiAyLjExLjAKCi0tIApKYW5pIE5pa3VsYSwgSW50ZWwgT3BlbiBT b3VyY2UgVGVjaG5vbG9neSBDZW50ZXIKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==