From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 554546E4A7 for ; Tue, 6 Feb 2018 16:30:13 +0000 (UTC) References: <20180206101417.59979-1-maarten.lankhorst@linux.intel.com> <20180206101417.59979-5-maarten.lankhorst@linux.intel.com> <20180206161115.GN5453@intel.com> From: Maarten Lankhorst Message-ID: <49a06e8c-94ab-19ed-845c-84492d25a0cc@linux.intel.com> Date: Tue, 6 Feb 2018 17:30:00 +0100 MIME-Version: 1.0 In-Reply-To: <20180206161115.GN5453@intel.com> Content-Language: en-US Subject: Re: [igt-dev] [PATCH i-g-t 05/12] lib/igt_debugfs: Add igt_pipe_crc_get_single and igt_pipe_crc_drain. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: igt-dev@lists.freedesktop.org List-ID: T3AgMDYtMDItMTggb20gMTc6MTEgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gVHVlLCBG ZWIgMDYsIDIwMTggYXQgMTE6MTQ6MTBBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IENvbGxlY3RpbmcgQ1JDIG1heSByZXN1bHQgaW4gYSBtb2Rlc2V0IGFuZCBleHRyYSB2Ymxh bmsgd2FpdHMuIE9uIHNvbWUKPj4gdGVzdHMgdGhpcyB3aWxsIGluY3JlYXNlIHRoZSBydW50aW1l IGEgbG90LCBzbyBpdCBtYWtlcyBzZW5zZSB0bwo+PiBrZWVwIGl0IGVuYWJsZWQsIGFuZCBvbmx5 IGNvbGxlY3QgdGhlIG1vc3QgcmVjZW50IENSQyB3aGVuIG5lZWRlZC4KPj4KPj4gU2lnbmVkLW9m Zi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KPj4gLS0tCj4+ICBsaWIvaWd0X2RlYnVnZnMuYyAgICAgICAgIHwgNzMgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0KPj4gIGxpYi9pZ3RfZGVidWdmcy5o ICAgICAgICAgfCAgMiArKwo+PiAgdGVzdHMva21zX2N1cnNvcl9sZWdhY3kuYyB8IDIxICsrKyst LS0tLS0tLS0tCj4+ICAzIGZpbGVzIGNoYW5nZWQsIDc2IGluc2VydGlvbnMoKyksIDIwIGRlbGV0 aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvbGliL2lndF9kZWJ1Z2ZzLmMgYi9saWIvaWd0X2Rl YnVnZnMuYwo+PiBpbmRleCAxYWVjMDc5YzUyYmIuLmFkM2U3YmNmMzhmYSAxMDA2NDQKPj4gLS0t IGEvbGliL2lndF9kZWJ1Z2ZzLmMKPj4gKysrIGIvbGliL2lndF9kZWJ1Z2ZzLmMKPj4gQEAgLTMz LDYgKzMzLDcgQEAKPj4gICNpbmNsdWRlIDxsaW1pdHMuaD4KPj4gICNpbmNsdWRlIDxzdHJpbmcu aD4KPj4gICNpbmNsdWRlIDxmY250bC5oPgo+PiArI2luY2x1ZGUgPHBvbGwuaD4KPj4gICNpbmNs dWRlIDx1bmlzdGQuaD4KPj4gICNpbmNsdWRlIDxpOTE1X2RybS5oPgo+PiAgCj4+IEBAIC02OTcs NyArNjk4LDcgQEAgc3RhdGljIGJvb2wgcGlwZV9jcmNfaW5pdF9mcm9tX3N0cmluZyhpZ3RfcGlw ZV9jcmNfdCAqcGlwZV9jcmMsIGlndF9jcmNfdCAqY3JjLAo+PiAgCXJldHVybiB0cnVlOwo+PiAg fQo+PiAgCj4+IC1zdGF0aWMgaW50IHJlYWRfY3JjKGlndF9waXBlX2NyY190ICpwaXBlX2NyYywg aWd0X2NyY190ICpvdXQpCj4+ICtzdGF0aWMgaW50IHJlYWRfY3JjKGlndF9waXBlX2NyY190ICpw aXBlX2NyYywgaWd0X2NyY190ICpvdXQsIGJvb2wgb3ZlcnJpZGVfbm9uYmxvY2spCj4+ICB7Cj4+ ICAJc3NpemVfdCBieXRlc19yZWFkOwo+PiAgCWNoYXIgYnVmW01BWF9MSU5FX0xFTiArIDFdOwo+ PiBAQCAtNzA2LDcgKzcwNyw3IEBAIHN0YXRpYyBpbnQgcmVhZF9jcmMoaWd0X3BpcGVfY3JjX3Qg KnBpcGVfY3JjLCBpZ3RfY3JjX3QgKm91dCkKPj4gIAlieXRlc19yZWFkID0gcmVhZChwaXBlX2Ny Yy0+Y3JjX2ZkLCAmYnVmLCBNQVhfTElORV9MRU4pOwo+PiAgCWlndF9yZXNldF90aW1lb3V0KCk7 Cj4+ICAKPj4gLQlpZiAoYnl0ZXNfcmVhZCA8IDAgJiYgZXJybm8gPT0gRUFHQUlOKQo+PiArCWlm IChieXRlc19yZWFkIDwgMCAmJiBlcnJubyA9PSBFQUdBSU4gJiYgIW92ZXJyaWRlX25vbmJsb2Nr KQo+PiAgCQlpZ3RfYXNzZXJ0KHBpcGVfY3JjLT5mbGFncyAmIE9fTk9OQkxPQ0spOwo+PiAgCj4+ ICAJaWYgKGJ5dGVzX3JlYWQgPCAwKQo+PiBAQCAtNzIyLDcgKzcyMyw3IEBAIHN0YXRpYyBpbnQg cmVhZF9jcmMoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjLCBpZ3RfY3JjX3QgKm91dCkKPj4gIAo+ PiAgc3RhdGljIHZvaWQgcmVhZF9vbmVfY3JjKGlndF9waXBlX2NyY190ICpwaXBlX2NyYywgaWd0 X2NyY190ICpvdXQpCj4+ICB7Cj4+IC0Jd2hpbGUgKHJlYWRfY3JjKHBpcGVfY3JjLCBvdXQpID09 IDApCj4+ICsJd2hpbGUgKHJlYWRfY3JjKHBpcGVfY3JjLCBvdXQsIGZhbHNlKSA9PSAwKQo+PiAg CQl1c2xlZXAoMTAwMCk7Cj4+ICB9Cj4+ICAKPj4gQEAgLTc5NCw3ICs3OTUsNyBAQCBpZ3RfcGlw ZV9jcmNfZ2V0X2NyY3MoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjLCBpbnQgbl9jcmNzLAo+PiAg CQlpZ3RfY3JjX3QgKmNyYyA9ICZjcmNzW25dOwo+PiAgCQlpbnQgcmV0Owo+PiAgCj4+IC0JCXJl dCA9IHJlYWRfY3JjKHBpcGVfY3JjLCBjcmMpOwo+PiArCQlyZXQgPSByZWFkX2NyYyhwaXBlX2Ny YywgY3JjLCBmYWxzZSk7Cj4+ICAJCWlmIChyZXQgPCAwKQo+PiAgCQkJY29udGludWU7Cj4+ICAJ CWlmIChyZXQgPT0gMCkKPj4gQEAgLTg1NCw2ICs4NTUsNzAgQEAgdm9pZCBpZ3RfcGlwZV9jcmNf Y29sbGVjdF9jcmMoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjLCBpZ3RfY3JjX3QgKm91dF9jcmMp Cj4+ICAJY3JjX3Nhbml0eV9jaGVja3Mob3V0X2NyYyk7Cj4+ICB9Cj4+ICAKPj4gKy8qKgo+PiAr ICogaWd0X3BpcGVfY3JjX2RyYWluOgo+PiArICogQHBpcGVfY3JjOiBwaXBlIENSQyBvYmplY3QK Pj4gKyAqCj4+ICsgKiBEaXNjYXJkcyBhbGwgY3VycmVudGx5IHF1ZXVlZCBDUkMgdmFsdWVzIGZy b20gQHBpcGVfY3JjLiBUaGlzIGZ1bmN0aW9uIGRvZXMKPj4gKyAqIG5vdCBibG9jaywgYW5kIGlz IHVzZWZ1bCB0byBmbHVzaCBAcGlwZV9jcmMuIEFmdGVyd2FyZHMgeW91IGNhbiBnZXQgYSBmcmVz aAo+PiArICogQ1JDIHdpdGggaWd0X3BpcGVfY3JjX2dldF9zaW5nbGUoKS4KPj4gKyAqLwo+PiAr dm9pZCBpZ3RfcGlwZV9jcmNfZHJhaW4oaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjKQo+PiArewo+ PiArCWlndF9jcmNfdCBjcmM7Cj4+ICsJaW50IHJldDsKPj4gKwo+PiArCWZjbnRsKHBpcGVfY3Jj LT5jcmNfZmQsIEZfU0VURkwsIHBpcGVfY3JjLT5mbGFncyB8IE9fTk9OQkxPQ0spOwo+PiArCWRv IHsKPj4gKwkJcmV0ID0gcmVhZF9jcmMocGlwZV9jcmMsICZjcmMsIHRydWUpOwo+PiArCX0gd2hp bGUgKHJldCA+IDAgfHwgZXJybm8gPT0gRUlOVFIpOwo+IElzIGVycm5vIHZhbGlkIGZvciByZXQ9 PTA/CkNyYXAsIHdob2xlIHJlYWRfY3JjIGhhcyBib3RjaGVkIHRoaXMgcGFydCwgLTEgaXMgbmV2 ZXIgcmV0dXJuZWQgZXZlbiBmb3IgdGhlIC1FSU5WQUwgYnJhbmNoLCBiZWNhdXNlIGl0IGNhbiBu ZXZlciBiZSB0cmlnZ2VyZWQgZXZlbiB3aXRoIGludmFsaWQgQ1JDJ3MuLi4KCkkgZ3Vlc3MgdGhp cyBwYXRjaCBuZWVkcyBtb3JlIHRob3VnaHQuLgo+Cj4+ICsJZmNudGwocGlwZV9jcmMtPmNyY19m ZCwgRl9TRVRGTCwgcGlwZV9jcmMtPmZsYWdzKTsKPj4gK30KPj4gKwo+PiArLyoqCj4+ICsgKiBp Z3RfcGlwZV9jcmNfZ2V0X3NpbmdsZToKPj4gKyAqIEBwaXBlX2NyYzogcGlwZSBDUkMgb2JqZWN0 Cj4+ICsgKiBAY3JjOiBidWZmZXIgcG9pbnRlciBmb3IgdGhlIGNhcHR1cmVkIENSQyB2YWx1ZQo+ PiArICoKPj4gKyAqIFJlYWQgYSBzaW5nbGUgQGNyYyBmcm9tIEBwaXBlX2NyYy4gVGhpcyBmdW5j dGlvbiBkb2VzIG5vdCBibG9jawo+PiArICogd2hlbiBub25ibG9ja2luZyBDUkMgaXMgcmVxdWVz dGVkLCBhbmQgd2lsbCByZXR1cm4gZmFsc2UgaWYgbm8gQ1JDCj4+ICsgKiBjYW4gYmUgY2FwdHVy ZWQuCj4+ICsgKgo+PiArICogSWYgb3BlbmVkIGluIGJsb2NraW5nIG1vZGUgaXQgd2lsbCBhbHdh eXMgYmxvY2sgdW50aWwgYSBuZXcgQ1JDIGlzIHJlYWQsIGxpa2UKPj4gKyAqIGlndF9waXBlX2Ny Y19jb2xsZWN0X2NyYygpLgo+PiArICoKPj4gKyAqIENhbGxlcnMgbXVzdCBzdGFydCBhbmQgc3Rv cCB0aGUgY2FwdHVyaW5nIHRoZW1zZWx2ZXMgYnkgY2FsbGluZwo+PiArICogaWd0X3BpcGVfY3Jj X3N0YXJ0KCkgYW5kIGlndF9waXBlX2NyY19zdG9wKCkuIEZvciBvbmUtc2hvdCBDUkMgY29sbGVj dGluZwo+PiArICogbG9vayBhdCBpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMoKS4KPj4gKyAqCj4+ ICsgKiBJZiBjYXB0dXJpbmcgaGFzIGJlZW4gZ29pbmcgb24gZm9yIGEgd2hpbGUgYW5kIGEgZnJl c2ggY3JjIGlzIHJlcXVpcmVkLAo+PiArICogeW91IHdpbGwgbmVlZCB0byBjYWxsIGlndF9waXBl X2NyY19kcmFpbigpIGZpcnN0IHRvIHJlbW92ZSBzdGFsZSBlbnRyaWVzLgo+PiArICoKPj4gKyAq IFJldHVybnM6Cj4+ICsgKiBXaGV0aGVyIGEgY3JjIGlzIGNhcHR1cmVkLCBvbmx5IGZhbHNlIGlu IG5vbi1ibG9ja2luZyBtb2RlLgo+PiArICovCj4+ICtib29sCj4+ICtpZ3RfcGlwZV9jcmNfZ2V0 X3NpbmdsZShpZ3RfcGlwZV9jcmNfdCAqcGlwZV9jcmMsIGlndF9jcmNfdCAqY3JjKQo+PiArewo+ PiArCWJvb2wgZm91bmQgPSB0cnVlOwo+PiArCj4+ICsJaWYgKHBpcGVfY3JjLT5mbGFncyAmIE9f Tk9OQkxPQ0spIHsKPj4gKwkJaW50IHJldDsKPj4gKwo+PiArCQlkbyB7Cj4+ICsJCQlyZXQgPSBy ZWFkX2NyYyhwaXBlX2NyYywgY3JjLCBmYWxzZSk7Cj4+ICsJCX0gd2hpbGUgKHJldCA8IDApOwo+ PiArCj4+ICsJCWZvdW5kID0gcmV0Owo+PiArCX0gZWxzZQo+PiArCQlyZWFkX29uZV9jcmMocGlw ZV9jcmMsIGNyYyk7Cj4+ICsKPj4gKwlpZiAoZm91bmQpCj4+ICsJCWNyY19zYW5pdHlfY2hlY2tz KGNyYyk7Cj4+ICsKPj4gKwlyZXR1cm4gZm91bmQ7Cj4+ICt9Cj4+ICsKPj4gIC8qCj4+ICAgKiBE cm9wIGNhY2hlcwo+PiAgICovCj4+IGRpZmYgLS1naXQgYS9saWIvaWd0X2RlYnVnZnMuaCBiL2xp Yi9pZ3RfZGVidWdmcy5oCj4+IGluZGV4IGQ5MGRkN2E2OGJiMC4uOGQyNWFiZmU0M2MxIDEwMDY0 NAo+PiAtLS0gYS9saWIvaWd0X2RlYnVnZnMuaAo+PiArKysgYi9saWIvaWd0X2RlYnVnZnMuaAo+ PiBAQCAtMTMwLDYgKzEzMCw4IEBAIHZvaWQgaWd0X3BpcGVfY3JjX3N0b3AoaWd0X3BpcGVfY3Jj X3QgKnBpcGVfY3JjKTsKPj4gIF9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpCj4+ ICBpbnQgaWd0X3BpcGVfY3JjX2dldF9jcmNzKGlndF9waXBlX2NyY190ICpwaXBlX2NyYywgaW50 IG5fY3JjcywKPj4gIAkJCSAgaWd0X2NyY190ICoqb3V0X2NyY3MpOwo+PiArdm9pZCBpZ3RfcGlw ZV9jcmNfZHJhaW4oaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjKTsKPj4gK2Jvb2wgaWd0X3BpcGVf Y3JjX2dldF9zaW5nbGUoaWd0X3BpcGVfY3JjX3QgKnBpcGVfY3JjLCBpZ3RfY3JjX3QgKm91dF9j cmMpOwo+PiAgdm9pZCBpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMoaWd0X3BpcGVfY3JjX3QgKnBp cGVfY3JjLCBpZ3RfY3JjX3QgKm91dF9jcmMpOwo+PiAgCj4+ICB2b2lkIGlndF9ocGRfc3Rvcm1f c2V0X3RocmVzaG9sZChpbnQgZmQsIHVuc2lnbmVkIGludCB0aHJlc2hvbGQpOwo+PiBkaWZmIC0t Z2l0IGEvdGVzdHMva21zX2N1cnNvcl9sZWdhY3kuYyBiL3Rlc3RzL2ttc19jdXJzb3JfbGVnYWN5 LmMKPj4gaW5kZXggNTAxMWU3OGU1YzJmLi5kMGEyOGIzYzQ0MmMgMTAwNjQ0Cj4+IC0tLSBhL3Rl c3RzL2ttc19jdXJzb3JfbGVnYWN5LmMKPj4gKysrIGIvdGVzdHMva21zX2N1cnNvcl9sZWdhY3ku Ywo+PiBAQCAtMTI3Niw3ICsxMjc2LDcgQEAgc3RhdGljIHZvaWQgZmxpcF92c19jdXJzb3JfYnVz eV9jcmMoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgYm9vbCBhdG9taWMpCj4+ICAJZW51bSBwaXBl IHBpcGUgPSBmaW5kX2Nvbm5lY3RlZF9waXBlKGRpc3BsYXksIGZhbHNlKTsKPj4gIAlpZ3RfcGlw ZV90ICpwaXBlX2Nvbm5lY3RlZCA9ICZkaXNwbGF5LT5waXBlc1twaXBlXTsKPj4gIAlpZ3RfcGxh bmVfdCAqcGxhbmVfcHJpbWFyeSA9IGlndF9waXBlX2dldF9wbGFuZV90eXBlKHBpcGVfY29ubmVj dGVkLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPj4gLQlpZ3RfY3JjX3QgY3Jjc1syXTsKPj4g KwlpZ3RfY3JjX3QgY3Jjc1syXSwgdGVzdF9jcmM7Cj4+ICAKPj4gIAlpZiAoYXRvbWljKQo+PiAg CQlpZ3RfcmVxdWlyZShkaXNwbGF5LT5pc19hdG9taWMpOwo+PiBAQCAtMTI5MCw3ICsxMjkwLDcg QEAgc3RhdGljIHZvaWQgZmxpcF92c19jdXJzb3JfYnVzeV9jcmMoaWd0X2Rpc3BsYXlfdCAqZGlz cGxheSwgYm9vbCBhdG9taWMpCj4+ICAKPj4gIAlpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXks IGRpc3BsYXktPmlzX2F0b21pYyA/IENPTU1JVF9BVE9NSUMgOiBDT01NSVRfTEVHQUNZKTsKPj4g IAo+PiAtCXBpcGVfY3JjID0gaWd0X3BpcGVfY3JjX25ld19ub25ibG9jayhkaXNwbGF5LT5kcm1f ZmQsIHBpcGUsIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9BVVRPKTsKPj4gKwlwaXBlX2NyYyA9IGln dF9waXBlX2NyY19uZXcoZGlzcGxheS0+ZHJtX2ZkLCBwaXBlLCBJTlRFTF9QSVBFX0NSQ19TT1VS Q0VfQVVUTyk7Cj4+ICAKPj4gIAlzZXRfY3Vyc29yX29uX3BpcGUoZGlzcGxheSwgcGlwZSwgJmN1 cnNvcl9mYik7Cj4+ICAJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfVU5JVkVS U0FMKTsKPj4gQEAgLTEzMjIsOSArMTMyMiw2IEBAIHN0YXRpYyB2b2lkIGZsaXBfdnNfY3Vyc29y X2J1c3lfY3JjKGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGJvb2wgYXRvbWljKQo+PiAgCS8qIERp c2FibGUgY3Vyc29yLCBhbmQgaW1tZWRpYXRlbHkgcXVldWUgYSBmbGlwLiBDaGVjayBpZiByZXN1 bHRpbmcgY3JjIGlzIGNvcnJlY3QuICovCj4+ICAJZm9yIChpbnQgaSA9IDE7IGkgPj0gMDsgaS0t KSB7Cj4+ICAJCWlndF9zcGluX3QgKnNwaW47Cj4+IC0JCWlndF9jcmNfdCAqcmVjZWl2ZWRfY3Jj cyA9IE5VTEw7Cj4+IC0JCWludCBuY3JjczsKPj4gLQkJc3RhdGljIGNvbnN0IGludCBtYXhfY3Jj cyA9IDg7Cj4+ICAKPj4gIAkJc3BpbiA9IGlndF9zcGluX2JhdGNoX25ldyhkaXNwbGF5LT5kcm1f ZmQsIDAsIDAsCj4+ICAJCQkJCSAgZmJfaW5mb1sxXS5nZW1faGFuZGxlKTsKPj4gQEAgLTEzMzYs NyArMTMzMyw4IEBAIHN0YXRpYyB2b2lkIGZsaXBfdnNfY3Vyc29yX2J1c3lfY3JjKGlndF9kaXNw bGF5X3QgKmRpc3BsYXksIGJvb2wgYXRvbWljKQo+PiAgCj4+ICAJCWlndF9hc3NlcnRfZXEoZ2V0 X3ZibGFuayhkaXNwbGF5LT5kcm1fZmQsIHBpcGUsIDApLCB2Ymxhbmtfc3RhcnQpOwo+PiAgCj4+ IC0JCW5jcmNzID0gaWd0X3BpcGVfY3JjX2dldF9jcmNzKHBpcGVfY3JjLCBtYXhfY3JjcywgJnJl Y2VpdmVkX2NyY3MpOwo+PiArCQlpZ3RfcGlwZV9jcmNfZHJhaW4ocGlwZV9jcmMpOwo+PiArCQlp Z3RfcGlwZV9jcmNfZ2V0X3NpbmdsZShwaXBlX2NyYywgJnRlc3RfY3JjKTsKPj4gIAo+PiAgCQlp Z3Rfc3Bpbl9iYXRjaF9mcmVlKGRpc3BsYXktPmRybV9mZCwgc3Bpbik7Cj4+ICAKPj4gQEAgLTEz NDksMTYgKzEzNDcsNyBAQCBzdGF0aWMgdm9pZCBmbGlwX3ZzX2N1cnNvcl9idXN5X2NyYyhpZ3Rf ZGlzcGxheV90ICpkaXNwbGF5LCBib29sIGF0b21pYykKPj4gIAkJaWd0X3BsYW5lX3NldF9mYihw bGFuZV9wcmltYXJ5LCAmZmJfaW5mb1swXSk7Cj4+ICAJCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlz cGxheSwgQ09NTUlUX1VOSVZFUlNBTCk7Cj4+ICAKPj4gLQkJLyoKPj4gLQkJICogV2UgY29sbGVj dCB0aGUgY3JjIG5vbmJsb2NraW5nbHksIGFuZCBzaG91bGQgaGF2ZSBhdCBsZWFzdCAxCj4+IC0J CSAqIGJ1dCBub3Qgc28gbWFueSBjcmNzIHRoYXQgd2Ugb3ZlcmZsb3cuIExhc3QgQ1JDIGlzIHRo ZSBvbmx5Cj4+IC0JCSAqIG9uZSB3ZSBjYXJlIGFib3V0IGhlcmUuIE90aGVyIENSQ3MgbWF5IGhh dmUgYmVlbiBmcm9tIGJlZm9yZQo+PiAtCQkgKiB0aGUgY3Vyc29yIHVwZGF0ZSBhbmQgY2FuIGNv bnRhaW4gZ2FyYmFnZS4KPj4gLQkJICovCj4+IC0JCWlndF9hc3NlcnQobmNyY3MgPiAwICYmIG5j cmNzIDwgbWF4X2NyY3MpOwo+PiAtCj4+IC0JCWlndF9hc3NlcnRfY3JjX2VxdWFsKCZjcmNzW2ld LCAmcmVjZWl2ZWRfY3Jjc1tuY3JjcyAtIDFdKTsKPj4gLQkJZnJlZShyZWNlaXZlZF9jcmNzKTsK Pj4gKwkJaWd0X2Fzc2VydF9jcmNfZXF1YWwoJmNyY3NbaV0sICZ0ZXN0X2NyYyk7Cj4+ICAJfQo+ PiAgCj4+ICAJaWd0X3JlbW92ZV9mYihkaXNwbGF5LT5kcm1fZmQsICZmYl9pbmZvWzFdKTsKPj4g LS0gCj4+IDIuMTYuMQo+Pgo+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+PiBpZ3QtZGV2IG1haWxpbmcgbGlzdAo+PiBpZ3QtZGV2QGxpc3RzLmZyZWVk ZXNrdG9wLm9yZwo+PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lndC1kZXYKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK