From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: Re: [PATCH i-g-t 3/3] tests: Introduce audio tests, starting with HDMI signal integrity Date: Mon, 21 Aug 2017 11:26:33 -0400 Message-ID: <1503329193.18677.4.camel@redhat.com> References: <20170817160557.14238-1-paul.kocialkowski@linux.intel.com> <20170817160557.14238-3-paul.kocialkowski@linux.intel.com> <1503072900.3702.2.camel@redhat.com> <1503328467.1171.11.camel@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTPS id B03146E27D for ; Mon, 21 Aug 2017 15:26:35 +0000 (UTC) In-Reply-To: <1503328467.1171.11.camel@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Paul Kocialkowski , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCAyMDE3LTA4LTIxIGF0IDE4OjE0ICswMzAwLCBQYXVsIEtvY2lhbGtvd3NraSB3cm90 ZToKPiBIaSwKPiAKPiBPbiBGcmksIDIwMTctMDgtMTggYXQgMTI6MTUgLTA0MDAsIEx5dWRlIFBh dWwgd3JvdGU6Cj4gPiBOaWNlIGpvYiEgT25seSBvbmUgc21hbGwgZm9ybWF0dGluZyBjaGFuZ2UK PiAKPiBUaGFua3MgYSBsb3QgZm9yIHRoZSB0aW1lbHkgcmV2aWV3ISBJIG9ubHkgaGF2ZSBhIHdl ZWsgYW5kIGEgaGFsZgo+IGxlZnQKPiBhdCBteSBpbnRlcm5zaGlwLCBzbyBpdCBpcyBtdWNoIGFw cHJlY2lhdGVkIDopCj4gCj4gPiBPbiBUaHUsIDIwMTctMDgtMTcgYXQgMTk6MDUgKzAzMDAsIFBh dWwgS29jaWFsa293c2tpIHdyb3RlOgo+ID4gPiBUaGlzIGludHJvZHVjZXMgYSBuZXcgdGVzdCBm b3IgYXVkaW8gZ29pbmcgdGhyb3VnaCBkaXNwbGF5Cj4gPiA+IGNvbm5lY3RvcnMuCj4gPiA+IEl0 IGN1cnJlbnRseSBjb250YWlucyBhIHNpbmdsZSBzdWJ0ZXN0IGZvciBIRE1JIHNpZ25hbCBpbnRl Z3JpdHksCj4gPiA+IGJ1dAo+ID4gPiBvdGhlciB0ZXN0IGNhc2VzIHdpbGwgYmUgYWRkZWQgbGF0 ZXIgb24uCj4gPiA+IAo+ID4gPiBUaGUgdGVzdCBzZXR1cCBjb25zaXN0cyBpbiB1c2luZyBhbiBI RE1JLVZHQSBicmlkZ2UgdGhhdAo+ID4gPiBzZXBhcmF0ZXMKPiA+ID4gdGhlCj4gPiA+IGF1ZGlv IG91dCAodmlhIGEgMy41IG1tIGphY2spIGFuZCBmZWVkaW5nIHRoaXMgYmFjayB0byB0aGUgRFVU J3MKPiA+ID4gbGluZS1pbgo+ID4gPiB3aGVyZSBpdCBjYW4gYmUgcmVjb3JkZWQgYnkgQUxTQSB3 aXRoIGNvbnRyb2xzIGNvcnJlY3RseQo+ID4gPiBjb25maWd1cmVkLgo+ID4gPiAKPiA+ID4gVGhl IGF1ZGlvIHRlc3QgbWFrZXMgdXNlIG9mIHRoZSBhdWRpbyBhbmQgQUxTQSBpZ3QgbGlicmFyaWVz Cj4gPiA+IGhlbHBlcnMuCj4gPiA+IAo+ID4gPiBTaWduZWQtb2ZmLWJ5OiBQYXVsIEtvY2lhbGtv d3NraSA8cGF1bC5rb2NpYWxrb3dza2lAbGludXguaW50ZWwuYwo+ID4gPiBvbT4KPiA+ID4gLS0t Cj4gPiA+ICB0ZXN0cy9NYWtlZmlsZS5hbSB8ICAxMiArKysrCj4gPiA+ICB0ZXN0cy9hdWRpby5j ICAgICB8IDE3MAo+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgMTgyIGluc2VydGlvbnMoKykK PiA+ID4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9hdWRpby5jCj4gPiA+IAo+ID4gPiBkaWZm IC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuYW0gYi90ZXN0cy9NYWtlZmlsZS5hbQo+ID4gPiBpbmRl eCBmOWQxMWU2Yy4uNDcxZjM4MTggMTAwNjQ0Cj4gPiA+IC0tLSBhL3Rlc3RzL01ha2VmaWxlLmFt Cj4gPiA+ICsrKyBiL3Rlc3RzL01ha2VmaWxlLmFtCj4gPiA+IEBAIC0yMCw2ICsyMCwxNSBAQCBU RVNUU19wcm9ncyArPSBcCj4gPiA+ICAJJChOVUxMKQo+ID4gPiAgZW5kaWYKPiA+ID4gIAo+ID4g PiAraWYgSEFWRV9BTFNBCj4gPiA+ICtpZiBIQVZFX0dTTAo+ID4gPiArVEVTVFNfcHJvZ3MgKz0g XAo+ID4gPiArCWF1ZGlvIFwKPiA+ID4gKwkkKE5VTEwpCj4gPiA+ICtlbmRpZgo+ID4gPiArZW5k aWYKPiA+ID4gKwo+ID4gPiArCj4gPiA+ICBpZiBCVUlMRF9URVNUUwo+ID4gPiAgdGVzdC1saXN0 LnR4dDogTWFrZWZpbGUuc291cmNlcwo+ID4gPiAgCUBlY2hvIFRFU1RMSVNUID4gJEAKPiA+ID4g QEAgLTEzNCw2ICsxNDMsOSBAQCB2YzRfd2FpdF9zZXFub19MREFERCA9ICQoTERBREQpCj4gPiA+ ICQoRFJNX1ZDNF9MSUJTKQo+ID4gPiAgY2hhbWVsaXVtX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAk KFhNTFJQQ19DRkxBR1MpCj4gPiA+ICQoTElCVURFVl9DRkxBR1MpCj4gPiA+ICBjaGFtZWxpdW1f TERBREQgPSAkKExEQUREKSAkKFhNTFJQQ19MSUJTKSAkKExJQlVERVZfTElCUykKPiA+ID4gIAo+ ID4gPiArYXVkaW9fQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoQUxTQV9DRkxBR1MpCj4gPiA+ICth dWRpb19MREFERCA9ICQoTERBREQpICQoQUxTQV9MSUJTKQo+ID4gPiArCj4gPiA+ICBhbWRncHVf YW1kX2Jhc2ljX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAkKERSTV9BTURHUFVfQ0ZMQUdTKQo+ID4g PiAgYW1kZ3B1X2FtZF9iYXNpY19MREFERCA9ICQoTERBREQpICQoRFJNX0FNREdQVV9MSUJTKQo+ ID4gPiAgYW1kZ3B1X2FtZF9jc19ub3BfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoRFJNX0FNREdQ VV9DRkxBR1MpCj4gPiA+IGRpZmYgLS1naXQgYS90ZXN0cy9hdWRpby5jIGIvdGVzdHMvYXVkaW8u Ywo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gPiBpbmRleCAwMDAwMDAwMC4uNzA5OWRk OTkKPiA+ID4gLS0tIC9kZXYvbnVsbAo+ID4gPiArKysgYi90ZXN0cy9hdWRpby5jCj4gPiA+IEBA IC0wLDAgKzEsMTcwIEBACj4gPiA+ICsvKgo+ID4gPiArICogQ29weXJpZ2h0IMKpIDIwMTcgSW50 ZWwgQ29ycG9yYXRpb24KPiA+ID4gKyAqCj4gPiA+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBn cmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbgo+ID4gPiBvYnRhaW5pbmcgYQo+ ID4gPiArICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRp b24gZmlsZXMgKHRoZQo+ID4gPiAiU29mdHdhcmUiKSwKPiA+ID4gKyAqIHRvIGRlYWwgaW4gdGhl IFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZwo+ID4gPiB3aXRob3V0Cj4g PiA+IGxpbWl0YXRpb24KPiA+ID4gKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnks IG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLAo+ID4gPiBzdWJsaWNlbnNlLAo+ID4gPiArICog YW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25z IHRvCj4gPiA+IHdob20KPiA+ID4gdGhlCj4gPiA+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQg dG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZwo+ID4gPiBjb25kaXRpb25zOgo+ID4g PiArICoKPiA+ID4gKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1p c3Npb24gbm90aWNlCj4gPiA+IChpbmNsdWRpbmcKPiA+ID4gdGhlIG5leHQKPiA+ID4gKyAqIHBh cmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbAo+ ID4gPiBwb3J0aW9ucyBvZiB0aGUKPiA+ID4gKyAqIFNvZnR3YXJlLgo+ID4gPiArICoKPiA+ID4g KyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G IEFOWQo+ID4gPiBLSU5ELAo+ID4gPiBFWFBSRVNTIE9SCj4gPiA+ICsgKiBJTVBMSUVELCBJTkNM VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GCj4gPiA+IE1FUkNIQU5U QUJJTElUWSwKPiA+ID4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBO T05JTkZSSU5HRU1FTlQuICBJTiBOTwo+ID4gPiBFVkVOVCBTSEFMTAo+ID4gPiArICogVEhFIEFV VEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sCj4gPiA+ IERBTUFHRVMKPiA+ID4gT1IgT1RIRVIKPiA+ID4gKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB TiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IKPiA+ID4gT1RIRVJXSVNFLAo+ID4gPiBBUklT SU5HCj4gPiA+ICsgKiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZU V0FSRSBPUiBUSEUgVVNFIE9SCj4gPiA+IE9USEVSIERFQUxJTkdTCj4gPiA+ICsgKiBJTiBUSEUg U09GVFdBUkUuCj4gPiA+ICsgKgo+ID4gPiArICogQXV0aG9yczoKPiA+ID4gKyAqICBQYXVsIEtv Y2lhbGtvd3NraSA8cGF1bC5rb2NpYWxrb3dza2lAbGludXguaW50ZWwuY29tPgo+ID4gPiArICov Cj4gPiA+ICsKPiA+ID4gKyNpbmNsdWRlICJjb25maWcuaCIKPiA+ID4gKyNpbmNsdWRlICJpZ3Qu aCIKPiA+ID4gKwo+ID4gPiArI2RlZmluZSBQTEFZQkFDS19DSEFOTkVMUwkyCj4gPiA+ICsjZGVm aW5lIFBMQVlCQUNLX0ZSQU1FUwkJMTAyNAo+ID4gPiArCj4gPiA+ICsjZGVmaW5lIENBUFRVUkVf U0FNUExFX1JBVEUJNDgwMDAKPiA+ID4gKyNkZWZpbmUgQ0FQVFVSRV9DSEFOTkVMUwkyCj4gPiA+ ICsjZGVmaW5lIENBUFRVUkVfREVWSUNFX05BTUUJImRlZmF1bHQiCj4gPiA+ICsjZGVmaW5lIENB UFRVUkVfRlJBTUVTCQkyMDQ4Cj4gPiAKPiA+IE1pZ2h0IHdhbnQgdG8gZml4IHRoZSBpbmRlbnRp bmcgaGVyZQo+IAo+IGNhdCwgZ2l0IGFuZCBteSBlZGl0b3Igc2hvdyB0aGVtIGFsaWduZWQsIHNv IEkgdGhpbmsgdGhpcyBpcyBkdWUgdG8KPiBwYXRjaCBmb3JtYXRpbmcrZW1haWwuCkZpZ3VyZWQg YXMgbXVjaC4gU2luY2UgdGhhdCBvbmx5IGxlYXZlcyB0aGUgcHJpbnRmIGF0dHJpYnV0ZSAoaXQn cyBub3QKdXNlZCBhbnl3aGVyZSBlbHNlLCBidXQgSSBzdGlsbCB0aGluayBpdCdzIGEgZ29vZCBp ZGVhIHRvIGhhdmUgZm9yIHRoZQpkYXkgdGhpcyBjb2RlIGdldHMgY2hhbmdlZCBhZ2FpbikgSSds bCBqdXN0IG1ha2UgdGhhdCBzbWFsbCBjaGFuZ2UKbXlzZWxmIGFuZCBwdXNoIHRoZSBzZXJpZXMu IFRoYW5rcyBmb3IgdGhlIGdyZWF0IHdvcmsgeW91J3ZlIGJlZW4KZG9pbmchCj4gCj4gPiA+ICsK PiA+ID4gKyNkZWZpbmUgUlVOX1RJTUVPVVQJCTIwMDAKPiA+ID4gKwo+ID4gPiArc3RydWN0IHRl c3RfZGF0YSB7Cj4gPiA+ICsJc3RydWN0IGFsc2EgKmFsc2E7Cj4gPiA+ICsJc3RydWN0IGF1ZGlv X3NpZ25hbCAqc2lnbmFsOwo+ID4gPiArCj4gPiA+ICsJaW50IHN0cmVhazsKPiA+ID4gK307Cj4g PiA+ICsKPiA+ID4gK3N0YXRpYyBpbnQgc2FtcGxpbmdfcmF0ZXNbXSA9IHsKPiA+ID4gKwkzMjAw MCwKPiA+ID4gKwk0NDEwMCwKPiA+ID4gKwk0ODAwMCwKPiA+ID4gKwk4ODIwMCwKPiA+ID4gKwk5 NjAwMCwKPiA+ID4gKwkxNzY0MDAsCj4gPiA+ICsJMTkyMDAwLAo+ID4gPiArfTsKPiA+ID4gKwo+ ID4gPiArc3RhdGljIGludCBzYW1wbGluZ19yYXRlc19jb3VudCA9IHNpemVvZihzYW1wbGluZ19y YXRlcykgLwo+ID4gPiBzaXplb2YoaW50KTsKPiA+ID4gKwo+ID4gPiArc3RhdGljIGludCB0ZXN0 X2ZyZXF1ZW5jaWVzW10gPSB7Cj4gPiA+ICsJMzAwLAo+ID4gPiArCTYwMCwKPiA+ID4gKwkxMjAw LAo+ID4gPiArCTgwMDAwLAo+ID4gPiArCTEwMDAwLAo+ID4gPiArfTsKPiA+ID4gKwo+ID4gPiAr c3RhdGljIGludCB0ZXN0X2ZyZXF1ZW5jaWVzX2NvdW50ID0gc2l6ZW9mKHRlc3RfZnJlcXVlbmNp ZXMpIC8KPiA+ID4gc2l6ZW9mKGludCk7Cj4gPiA+ICsKPiA+ID4gK3N0YXRpYyBpbnQgb3V0cHV0 X2NhbGxiYWNrKHZvaWQgKmRhdGEsIHNob3J0ICpidWZmZXIsIGludAo+ID4gPiBmcmFtZXMpCj4g PiA+ICt7Cj4gPiA+ICsJc3RydWN0IHRlc3RfZGF0YSAqdGVzdF9kYXRhID0gKHN0cnVjdCB0ZXN0 X2RhdGEgKikgZGF0YTsKPiA+ID4gKwo+ID4gPiArCWF1ZGlvX3NpZ25hbF9maWxsKHRlc3RfZGF0 YS0+c2lnbmFsLCBidWZmZXIsIGZyYW1lcyk7Cj4gPiA+ICsKPiA+ID4gKwlyZXR1cm4gMDsKPiA+ ID4gK30KPiA+ID4gKwo+ID4gPiArc3RhdGljIGludCBpbnB1dF9jYWxsYmFjayh2b2lkICpkYXRh LCBzaG9ydCAqYnVmZmVyLCBpbnQgZnJhbWVzKQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCB0ZXN0 X2RhdGEgKnRlc3RfZGF0YSA9IChzdHJ1Y3QgdGVzdF9kYXRhICopIGRhdGE7Cj4gPiA+ICsJYm9v bCBkZXRlY3Q7Cj4gPiA+ICsKPiA+ID4gKwlkZXRlY3QgPSBhdWRpb19zaWduYWxfZGV0ZWN0KHRl c3RfZGF0YS0+c2lnbmFsLAo+ID4gPiBDQVBUVVJFX0NIQU5ORUxTLAo+ID4gPiArCQkJCSAgICAg Q0FQVFVSRV9TQU1QTEVfUkFURSwKPiA+ID4gYnVmZmVyLAo+ID4gPiBmcmFtZXMpOwo+ID4gPiAr CWlmIChkZXRlY3QpCj4gPiA+ICsJCXRlc3RfZGF0YS0+c3RyZWFrKys7Cj4gPiA+ICsJZWxzZQo+ ID4gPiArCQl0ZXN0X2RhdGEtPnN0cmVhayA9IDA7Cj4gPiA+ICsKPiA+ID4gKwkvKiBBIHN0cmVh ayBvZiAzIGdpdmVzIGNvbmZpZGVuY2UgdGhhdCB0aGUgc2lnbmFsIGlzCj4gPiA+IGdvb2QuCj4g PiA+ICovCj4gPiA+ICsJaWYgKHRlc3RfZGF0YS0+c3RyZWFrID09IDMpCj4gPiA+ICsJCXJldHVy biAxOwo+ID4gPiArCj4gPiA+ICsJcmV0dXJuIDA7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gK3N0 YXRpYyB2b2lkIHRlc3RfaW50ZWdyaXR5KGNvbnN0IGNoYXIgKmRldmljZV9uYW1lKQo+ID4gPiAr ewo+ID4gPiArCXN0cnVjdCB0ZXN0X2RhdGEgZGF0YTsKPiA+ID4gKwlpbnQgc2FtcGxpbmdfcmF0 ZTsKPiA+ID4gKwlib29sIHJ1biA9IGZhbHNlOwo+ID4gPiArCWJvb2wgdGVzdDsKPiA+ID4gKwlp bnQgaSwgajsKPiA+ID4gKwlpbnQgcmV0Owo+ID4gPiArCj4gPiA+ICsJZGF0YS5hbHNhID0gYWxz YV9pbml0KCk7Cj4gPiA+ICsJaWd0X2Fzc2VydChkYXRhLmFsc2EpOwo+ID4gPiArCj4gPiA+ICsJ cmV0ID0gYWxzYV9vcGVuX291dHB1dChkYXRhLmFsc2EsIGRldmljZV9uYW1lKTsKPiA+ID4gKwlp Z3RfYXNzZXJ0KHJldCA+PSAwKTsKPiA+ID4gKwo+ID4gPiArCXJldCA9IGFsc2Ffb3Blbl9pbnB1 dChkYXRhLmFsc2EsIENBUFRVUkVfREVWSUNFX05BTUUpOwo+ID4gPiArCWlndF9hc3NlcnQocmV0 ID49IDApOwo+ID4gPiArCj4gPiA+ICsJYWxzYV9jb25maWd1cmVfaW5wdXQoZGF0YS5hbHNhLCBD QVBUVVJFX0NIQU5ORUxTLAo+ID4gPiArCQkJICAgICBDQVBUVVJFX1NBTVBMRV9SQVRFKTsKPiA+ ID4gKwo+ID4gPiArCWZvciAoaSA9IDA7IGkgPCBzYW1wbGluZ19yYXRlc19jb3VudDsgaSsrKSB7 Cj4gPiA+ICsJCXNhbXBsaW5nX3JhdGUgPSBzYW1wbGluZ19yYXRlc1tpXTsKPiA+ID4gKwo+ID4g PiArCQl0ZXN0ID0gYWxzYV90ZXN0X291dHB1dF9jb25maWd1cmF0aW9uKGRhdGEuYWxzYSwKPiA+ ID4gKwkJCQkJCSAgICAgIFBMQVlCQUNLX0MKPiA+ID4gSEFOCj4gPiA+IE4KPiA+ID4gRUxTLAo+ ID4gPiArCQkJCQkJICAgICAgc2FtcGxpbmdfcgo+ID4gPiBhdGUKPiA+ID4gKQo+ID4gPiA7Cj4g PiA+ICsJCWlmICghdGVzdCkKPiA+ID4gKwkJCWNvbnRpbnVlOwo+ID4gPiArCj4gPiA+ICsJCWln dF9kZWJ1ZygiVGVzdGluZyB3aXRoIHNhbXBsaW5nIHJhdGUgJWRcbiIsCj4gPiA+IHNhbXBsaW5n X3JhdGUpOwo+ID4gPiArCj4gPiA+ICsJCWFsc2FfY29uZmlndXJlX291dHB1dChkYXRhLmFsc2Es Cj4gPiA+IFBMQVlCQUNLX0NIQU5ORUxTLAo+ID4gPiArCQkJCSAgICAgICBzYW1wbGluZ19yYXRl KTsKPiA+ID4gKwo+ID4gPiArCQlkYXRhLnNpZ25hbCA9Cj4gPiA+IGF1ZGlvX3NpZ25hbF9pbml0 KFBMQVlCQUNLX0NIQU5ORUxTLAo+ID4gPiArCQkJCQkJc2FtcGxpbmdfcmF0ZSk7Cj4gPiA+ICsJ CWlndF9hc3NlcnQoZGF0YS5zaWduYWwpOwo+ID4gPiArCj4gPiA+ICsJCWZvciAoaiA9IDA7IGog PCB0ZXN0X2ZyZXF1ZW5jaWVzX2NvdW50OyBqKyspCj4gPiA+ICsJCQlhdWRpb19zaWduYWxfYWRk X2ZyZXF1ZW5jeShkYXRhLnNpZ25hbCwKPiA+ID4gKwkJCQkJCSAgIHRlc3RfZnJlcXVlbmMKPiA+ ID4gaWVzCj4gPiA+IFsKPiA+ID4gal0pOwo+ID4gPiArCj4gPiA+ICsJCWF1ZGlvX3NpZ25hbF9z eW50aGVzaXplKGRhdGEuc2lnbmFsKTsKPiA+ID4gKwo+ID4gPiArCQlhbHNhX3JlZ2lzdGVyX291 dHB1dF9jYWxsYmFjayhkYXRhLmFsc2EsCj4gPiA+IG91dHB1dF9jYWxsYmFjaywKPiA+ID4gKwkJ CQkJICAgICAgJmRhdGEsCj4gPiA+IFBMQVlCQUNLX0ZSQU1FUyk7Cj4gPiA+ICsJCWFsc2FfcmVn aXN0ZXJfaW5wdXRfY2FsbGJhY2soZGF0YS5hbHNhLAo+ID4gPiBpbnB1dF9jYWxsYmFjaywgJmRh dGEsCj4gPiA+ICsJCQkJCSAgICAgQ0FQVFVSRV9GUkFNRVMpOwo+ID4gPiArCj4gPiA+ICsJCWRh dGEuc3RyZWFrID0gMDsKPiA+ID4gKwo+ID4gPiArCQlyZXQgPSBhbHNhX3J1bihkYXRhLmFsc2Es IFJVTl9USU1FT1VUKTsKPiA+ID4gKwkJaWd0X2Fzc2VydChyZXQgPiAwKTsKPiA+ID4gKwo+ID4g PiArCQlhdWRpb19zaWduYWxfY2xlYW4oZGF0YS5zaWduYWwpOwo+ID4gPiArCQlmcmVlKGRhdGEu c2lnbmFsKTsKPiA+ID4gKwo+ID4gPiArCQlydW4gPSB0cnVlOwo+ID4gPiArCX0KPiA+ID4gKwo+ ID4gPiArCS8qIE1ha2Ugc3VyZSB3ZSB0ZXN0ZWQgYXQgbGVhc3Qgb25lIGZyZXF1ZW5jeSAqLwo+ ID4gPiArCWlndF9hc3NlcnQocnVuKTsKPiA+ID4gKwo+ID4gPiArCWFsc2FfY2xvc2VfaW5wdXQo ZGF0YS5hbHNhKTsKPiA+ID4gKwlhbHNhX2Nsb3NlX291dHB1dChkYXRhLmFsc2EpOwo+ID4gPiAr CWZyZWUoZGF0YS5hbHNhKTsKPiA+ID4gK30KPiA+ID4gKwo+ID4gPiAraWd0X21haW4KPiA+ID4g K3sKPiA+ID4gKwlpZ3Rfc3VidGVzdCgiaGRtaS1pbnRlZ3JpdHkiKQo+ID4gPiArCQl0ZXN0X2lu dGVncml0eSgiSERNSSIpOwo+ID4gPiArfQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK