From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2] i-g-t: Adding test case to test background color. Date: Mon, 2 Mar 2015 18:53:51 +0100 Message-ID: <20150302175351.GA18775@phenom.ffwll.local> References: <1425086752-5558-1-git-send-email-chandra.konduru@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wg0-f41.google.com (mail-wg0-f41.google.com [74.125.82.41]) by gabe.freedesktop.org (Postfix) with ESMTP id B991589A1A for ; Mon, 2 Mar 2015 09:53:14 -0800 (PST) Received: by wghl18 with SMTP id l18so35021830wgh.7 for ; Mon, 02 Mar 2015 09:53:13 -0800 (PST) Content-Disposition: inline In-Reply-To: <1425086752-5558-1-git-send-email-chandra.konduru@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chandra Konduru Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBGZWIgMjcsIDIwMTUgYXQgMDU6MjU6NTJQTSAtMDgwMCwgQ2hhbmRyYSBLb25kdXJ1 IHdyb3RlOgo+IEZyb206IGNoYW5kcmEga29uZHVydSA8Y2hhbmRyYS5rb25kdXJ1QGludGVsLmNv bT4KPiAKPiBBZGRpbmcgaS1nLXQgdGVzdCBjYXNlIHRvIHRlc3QgZGlzcGxheSBjcnRjIGJhY2tn cm91bmQgY29sb3IuCj4gCj4gdjI6Cj4gLSBBZGRlZCBJR1RfVEVTVF9ERVNDUklQVElPTigpIChU aG9tYXMgV29vZCkKPiAtIEFkZGVkIHRvIC5naXRpZ25vcmUgKFRob21hcyBXb29kKQo+IC0gQWRk ZWQgYWRkaXRpb25hbCBkZXRhaWxzIHRvIGZ1bmN0aW9uIGhlYWRlciAoVGhvbWFzIFdvb2QpCj4g LSBTaW1wbGlmaWVkIGlndF9tYWluIChUaG9tYXMgV29vZCkKPiAKPiBTaWduZWQtb2ZmLWJ5OiBj aGFuZHJhIGtvbmR1cnUgPGNoYW5kcmEua29uZHVydUBpbnRlbC5jb20+CgpUaGlzIHRlc3QgZG9l c24ndCBzZWVtIHRvIGFjdHVhbGx5IHVzZSBjcmMgY2hlY2tzdW1zIGFueXdoZXJlIC4uLgoKPiAt LS0KPiAgbGliL2lndF9rbXMuYyAgICAgICAgICAgICAgICAgICAgIHwgIDYxICsrKysrKysrKysr Kwo+ICBsaWIvaWd0X2ttcy5oICAgICAgICAgICAgICAgICAgICAgfCAgIDQgKwo+ICB0ZXN0cy8u Z2l0aWdub3JlICAgICAgICAgICAgICAgICAgfCAgIDEgKwo+ICB0ZXN0cy9BbmRyb2lkLm1rICAg ICAgICAgICAgICAgICAgfCAgIDEgKwo+ICB0ZXN0cy9NYWtlZmlsZS5zb3VyY2VzICAgICAgICAg ICAgfCAgIDEgKwo+ICB0ZXN0cy9rbXNfY3J0Y19iYWNrZ3JvdW5kX2NvbG9yLmMgfCAyMDEgKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgNiBmaWxlcyBjaGFuZ2VkLCAy NjkgaW5zZXJ0aW9ucygrKQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgdGVzdHMva21zX2NydGNfYmFj a2dyb3VuZF9jb2xvci5jCj4gCj4gZGlmZiAtLWdpdCBhL2xpYi9pZ3Rfa21zLmMgYi9saWIvaWd0 X2ttcy5jCj4gaW5kZXggZDBjMzY5MC4uNzI4NDFlZiAxMDA2NDQKPiAtLS0gYS9saWIvaWd0X2tt cy5jCj4gKysrIGIvbGliL2lndF9rbXMuYwo+IEBAIC05MjYsNiArOTI2LDIyIEBAIGlndF9wbGFu ZV9zZXRfcHJvcGVydHkoaWd0X3BsYW5lX3QgKnBsYW5lLCB1aW50MzJfdCBwcm9wX2lkLCB1aW50 NjRfdCB2YWx1ZSkKPiAgCQkJCSBEUk1fTU9ERV9PQkpFQ1RfUExBTkUsIHByb3BfaWQsIHZhbHVl KTsKPiAgfQo+ICAKPiArc3RhdGljIGJvb2wKPiArZ2V0X2NydGNfcHJvcGVydHkoaW50IGRybV9m ZCwgdWludDMyX3QgY3J0Y19pZCwgY29uc3QgY2hhciAqbmFtZSwKPiArCQkgICB1aW50MzJfdCAq cHJvcF9pZCAvKiBvdXQgKi8sIHVpbnQ2NF90ICp2YWx1ZSAvKiBvdXQgKi8sCj4gKwkJICAgZHJt TW9kZVByb3BlcnR5UHRyICpwcm9wIC8qIG91dCAqLykKPiArewo+ICsJcmV0dXJuIGttc3Rlc3Rf Z2V0X3Byb3BlcnR5KGRybV9mZCwgY3J0Y19pZCwgRFJNX01PREVfT0JKRUNUX0NSVEMsCj4gKwkJ CQkgICAgbmFtZSwgcHJvcF9pZCwgdmFsdWUsIHByb3ApOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9p ZAo+ICtpZ3RfY3J0Y19zZXRfcHJvcGVydHkoaWd0X291dHB1dF90ICpvdXRwdXQsIHVpbnQzMl90 IHByb3BfaWQsIHVpbnQ2NF90IHZhbHVlKQo+ICt7Cj4gKwlkcm1Nb2RlT2JqZWN0U2V0UHJvcGVy dHkob3V0cHV0LT5kaXNwbGF5LT5kcm1fZmQsCj4gKwkJb3V0cHV0LT5jb25maWcuY3J0Yy0+Y3J0 Y19pZCwgRFJNX01PREVfT0JKRUNUX0NSVEMsIHByb3BfaWQsIHZhbHVlKTsKPiArfQo+ICsKPiAg LyoKPiAgICogV2FsayBhIHBsYW5lJ3MgcHJvcGVydHkgbGlzdCB0byBkZXRlcm1pbmUgaXRzIHR5 cGUuICBJZiB3ZSBkb24ndAo+ICAgKiBmaW5kIGEgdHlwZSBwcm9wZXJ0eSwgdGhlbiB0aGUga2Vy bmVsIGRvZXNuJ3Qgc3VwcG9ydCB1bml2ZXJzYWwKPiBAQCAtMTA4Myw2ICsxMDk5LDcgQEAgdm9p ZCBpZ3RfZGlzcGxheV9pbml0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGludCBkcm1fZmQpCj4g IAlpZ3RfYXNzZXJ0KGRpc3BsYXktPm91dHB1dHMpOwo+ICAKPiAgCWZvciAoaSA9IDA7IGkgPCBk aXNwbGF5LT5uX291dHB1dHM7IGkrKykgewo+ICsJCWludCBqOwo+ICAJCWlndF9vdXRwdXRfdCAq b3V0cHV0ID0gJmRpc3BsYXktPm91dHB1dHNbaV07Cj4gIAo+ICAJCS8qCj4gQEAgLTEwOTQsNiAr MTExMSwxOSBAQCB2b2lkIGlndF9kaXNwbGF5X2luaXQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwg aW50IGRybV9mZCkKPiAgCQlvdXRwdXQtPmRpc3BsYXkgPSBkaXNwbGF5Owo+ICAKPiAgCQlpZ3Rf b3V0cHV0X3JlZnJlc2gob3V0cHV0KTsKPiArCj4gKwkJZm9yIChqID0gMDsgaiA8IGRpc3BsYXkt Pm5fcGlwZXM7IGorKykgewo+ICsJCQl1aW50NjRfdCBwcm9wX3ZhbHVlOwo+ICsJCQlpZ3RfcGlw ZV90ICpwaXBlID0gJmRpc3BsYXktPnBpcGVzW2pdOwo+ICsJCQlpZiAob3V0cHV0LT5jb25maWcu Y3J0Yykgewo+ICsJCQkJZ2V0X2NydGNfcHJvcGVydHkoZGlzcGxheS0+ZHJtX2ZkLCBvdXRwdXQt PmNvbmZpZy5jcnRjLT5jcnRjX2lkLAo+ICsJCQkJCQkgICAiYmFja2dyb3VuZF9jb2xvciIsCj4g KwkJCQkJCSAgICZwaXBlLT5iYWNrZ3JvdW5kX3Byb3BlcnR5LAo+ICsJCQkJCQkgICAmcHJvcF92 YWx1ZSwKPiArCQkJCQkJICAgTlVMTCk7Cj4gKwkJCQlwaXBlLT5iYWNrZ3JvdW5kID0gKHVpbnQz Ml90KXByb3BfdmFsdWU7Cj4gKwkJCX0KPiArCQl9Cj4gIAl9Cj4gIAo+ICAJZHJtTW9kZUZyZWVQ bGFuZVJlc291cmNlcyhwbGFuZV9yZXNvdXJjZXMpOwo+IEBAIC0xNTEzLDYgKzE1NDMsMTMgQEAg c3RhdGljIGludCBpZ3Rfb3V0cHV0X2NvbW1pdChpZ3Rfb3V0cHV0X3QgKm91dHB1dCwKPiAgCj4g IAlwaXBlID0gaWd0X291dHB1dF9nZXRfZHJpdmluZ19waXBlKG91dHB1dCk7Cj4gIAo+ICsJaWYg KHBpcGUtPmJhY2tncm91bmRfY2hhbmdlZCkgewo+ICsJCWlndF9jcnRjX3NldF9wcm9wZXJ0eShv dXRwdXQsIHBpcGUtPmJhY2tncm91bmRfcHJvcGVydHksCj4gKwkJCXBpcGUtPmJhY2tncm91bmQp Owo+ICsKPiArCQlwaXBlLT5iYWNrZ3JvdW5kX2NoYW5nZWQgPSBmYWxzZTsKPiArCX0KPiArCj4g IAlmb3IgKGkgPSAwOyBpIDwgcGlwZS0+bl9wbGFuZXM7IGkrKykgewo+ICAJCWlndF9wbGFuZV90 ICpwbGFuZSA9ICZwaXBlLT5wbGFuZXNbaV07Cj4gIAo+IEBAIC0xNzY1LDYgKzE4MDIsMzAgQEAg dm9pZCBpZ3RfcGxhbmVfc2V0X3JvdGF0aW9uKGlndF9wbGFuZV90ICpwbGFuZSwgaWd0X3JvdGF0 aW9uX3Qgcm90YXRpb24pCj4gIAlwbGFuZS0+cm90YXRpb25fY2hhbmdlZCA9IHRydWU7Cj4gIH0K PiAgCj4gKy8qKgo+ICsgKiBpZ3RfY3J0Y19zZXRfYmFja2dyb3VuZDoKPiArICogQHBpcGU6IHBp cGUgcG9pbnRlciB0byB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIHRvIGJlIHNldAo+ICsgKiBAYmFj a2dyb3VuZDogYmFja2dyb3VuZCBjb2xvciB2YWx1ZSBpbiBCR1IgMTZicGMKPiArICoKPiArICog U2V0cyBiYWNrZ3JvdW5kIGNvbG9yIGZvciByZXF1ZXN0ZWQgcGlwZS4gQ29sb3IgdmFsdWUgcHJv dmlkZWQgaGVyZQo+ICsgKiB3aWxsIGJlIGFjdHVhbGx5IHN1Ym1pdHRlZCBhdCBvdXRwdXQgY29t bWl0IHRpbWUgdmlhICJiYWNrZ3JvdW5kX2NvbG9yIgo+ICsgKiBwcm9wZXJ0eS4KPiArICogRm9y IGV4YW1wbGUgdG8gZ2V0IHJlZCBhcyBiYWNrZ3JvdW5kLCBzZXQgYmFja2dyb3VuZCA9IDB4MDAw MDAwMDBGRkZGLgo+ICsgKi8KPiArdm9pZCBpZ3RfY3J0Y19zZXRfYmFja2dyb3VuZChpZ3RfcGlw ZV90ICpwaXBlLCB1aW50NjRfdCBiYWNrZ3JvdW5kKQo+ICt7Cj4gKwlpZ3RfZGlzcGxheV90ICpk aXNwbGF5ID0gcGlwZS0+ZGlzcGxheTsKPiArCj4gKwlMT0coZGlzcGxheSwgIiVzLiVkOiBjcnRj X3NldF9iYWNrZ3JvdW5kKCVsdSlcbiIsCj4gKwkgICAga21zdGVzdF9waXBlX25hbWUocGlwZS0+ cGlwZSksCj4gKwkgICAgcGlwZS0+cGlwZSwgYmFja2dyb3VuZCk7Cj4gKwo+ICsJcGlwZS0+YmFj a2dyb3VuZCA9IGJhY2tncm91bmQ7Cj4gKwo+ICsJcGlwZS0+YmFja2dyb3VuZF9jaGFuZ2VkID0g dHJ1ZTsKPiArfQo+ICsKPiArCj4gIHZvaWQgaWd0X3dhaXRfZm9yX3ZibGFuayhpbnQgZHJtX2Zk LCBlbnVtIHBpcGUgcGlwZSkKPiAgewo+ICAJZHJtVkJsYW5rIHdhaXRfdmJsOwo+IGRpZmYgLS1n aXQgYS9saWIvaWd0X2ttcy5oIGIvbGliL2lndF9rbXMuaAo+IGluZGV4IGExNDgzYTQuLjRmYWRh MWIgMTAwNjQ0Cj4gLS0tIGEvbGliL2lndF9rbXMuaAo+ICsrKyBiL2xpYi9pZ3Rfa21zLmgKPiBA QCAtMjA2LDYgKzIwNiw5IEBAIHN0cnVjdCBpZ3RfcGlwZSB7Cj4gICNkZWZpbmUgSUdUX01BWF9Q TEFORVMJNAo+ICAJaW50IG5fcGxhbmVzOwo+ICAJaWd0X3BsYW5lX3QgcGxhbmVzW0lHVF9NQVhf UExBTkVTXTsKPiArCXVpbnQ2NF90IGJhY2tncm91bmQ7IC8qIEJhY2tncm91bmQgY29sb3IgTVNC IEJHUiAxNmJwYyBMU0IgKi8KPiArCXVpbnQzMl90IGJhY2tncm91bmRfY2hhbmdlZCA6IDE7Cj4g Kwl1aW50MzJfdCBiYWNrZ3JvdW5kX3Byb3BlcnR5Owo+ICB9Owo+ICAKPiAgdHlwZWRlZiBzdHJ1 Y3Qgewo+IEBAIC0yNTEsNiArMjU0LDcgQEAgdm9pZCBpZ3RfcGxhbmVfc2V0X3Bvc2l0aW9uKGln dF9wbGFuZV90ICpwbGFuZSwgaW50IHgsIGludCB5KTsKPiAgdm9pZCBpZ3RfcGxhbmVfc2V0X3Np emUoaWd0X3BsYW5lX3QgKnBsYW5lLCBpbnQgdywgaW50IGgpOwo+ICB2b2lkIGlndF9wbGFuZV9z ZXRfcGFubmluZyhpZ3RfcGxhbmVfdCAqcGxhbmUsIGludCB4LCBpbnQgeSk7Cj4gIHZvaWQgaWd0 X3BsYW5lX3NldF9yb3RhdGlvbihpZ3RfcGxhbmVfdCAqcGxhbmUsIGlndF9yb3RhdGlvbl90IHJv dGF0aW9uKTsKPiArdm9pZCBpZ3RfY3J0Y19zZXRfYmFja2dyb3VuZChpZ3RfcGlwZV90ICpwaXBl LCB1aW50NjRfdCBiYWNrZ3JvdW5kKTsKPiAgCj4gIHZvaWQgaWd0X3dhaXRfZm9yX3ZibGFuayhp bnQgZHJtX2ZkLCBlbnVtIHBpcGUgcGlwZSk7Cj4gIAo+IGRpZmYgLS1naXQgYS90ZXN0cy8uZ2l0 aWdub3JlIGIvdGVzdHMvLmdpdGlnbm9yZQo+IGluZGV4IDg4YTY0MDUuLjY5ZDJiYTAgMTAwNjQ0 Cj4gLS0tIGEvdGVzdHMvLmdpdGlnbm9yZQo+ICsrKyBiL3Rlc3RzLy5naXRpZ25vcmUKPiBAQCAt MTM3LDYgKzEzNyw3IEBAIGttc19yb3RhdGlvbl9jcmMKPiAga21zX3NldG1vZGUKPiAga21zX3Np bmtfY3JjX2Jhc2ljCj4gIGttc191bml2ZXJzYWxfcGxhbmUKPiAra21zX2NydGNfYmFja2dyb3Vu ZF9jb2xvcgo+ICBtdWx0aS10ZXN0cy50eHQKPiAgcG1fbHBzcAo+ICBwbV9wc3IKPiBkaWZmIC0t Z2l0IGEvdGVzdHMvQW5kcm9pZC5tayBiL3Rlc3RzL0FuZHJvaWQubWsKPiBpbmRleCA4MTRiODQ2 Li45NmEzMmI5IDEwMDY0NAo+IC0tLSBhL3Rlc3RzL0FuZHJvaWQubWsKPiArKysgYi90ZXN0cy9B bmRyb2lkLm1rCj4gQEAgLTc1LDYgKzc1LDcgQEAgZWxzZQo+ICAgICAga21zX3JvdGF0aW9uX2Ny YyBcCj4gICAgICBrbXNfZm9yY2VfY29ubmVjdG9yIFwKPiAgICAgIGttc19mbGlwX2V2ZW50X2xl YWsgXAo+ICsgICAga21zX2NydGNfYmFja2dyb3VuZF9jb2xvciBcCj4gICAgICBrbXNfcHdyaXRl X2NyYwo+ICAgICAgSUdUX0xPQ0FMX0NGTEFHUyArPSAtREFORFJPSURfSEFTX0NBSVJPPTAKPiAg ZW5kaWYKPiBkaWZmIC0tZ2l0IGEvdGVzdHMvTWFrZWZpbGUuc291cmNlcyBiL3Rlc3RzL01ha2Vm aWxlLnNvdXJjZXMKPiBpbmRleCA3NGRlZWMzLi40ZjYxMmU2IDEwMDY0NAo+IC0tLSBhL3Rlc3Rz L01ha2VmaWxlLnNvdXJjZXMKPiArKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gQEAgLTc3 LDYgKzc3LDcgQEAgVEVTVFNfcHJvZ3NfTSA9IFwKPiAgCWttc19yb3RhdGlvbl9jcmMgXAo+ICAJ a21zX3NldG1vZGUgXAo+ICAJa21zX3VuaXZlcnNhbF9wbGFuZSBcCj4gKwlrbXNfY3J0Y19iYWNr Z3JvdW5kX2NvbG9yIFwKPiAgCXBtX2xwc3AgXAo+ICAJcG1fcnBtIFwKPiAgCXBtX3JwcyBcCj4g ZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19jcnRjX2JhY2tncm91bmRfY29sb3IuYyBiL3Rlc3RzL2tt c19jcnRjX2JhY2tncm91bmRfY29sb3IuYwo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXgg MDAwMDAwMC4uM2I2MDY1NAo+IC0tLSAvZGV2L251bGwKPiArKysgYi90ZXN0cy9rbXNfY3J0Y19i YWNrZ3JvdW5kX2NvbG9yLmMKPiBAQCAtMCwwICsxLDIwMSBAQAo+ICsvKgo+ICsgKiBDb3B5cmln aHQgwqkgMjAxMywyMDE0IEludGVsIENvcnBvcmF0aW9uCj4gKyAqCj4gKyAqIFBlcm1pc3Npb24g aXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmlu ZyBhCj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0 aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJl IHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiArICog dGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1 dGUsIHN1YmxpY2Vuc2UsCj4gKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQo+ICsgKiBTb2Z0d2FyZSBpcyBmdXJu aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ICsg Kgo+ICsgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5v dGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0Cj4gKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVk ZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKPiArICogU29m dHdhcmUuCj4gKyAqCj4gKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRI T1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gKyAqIElNUExJRUQsIElOQ0xV RElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ LAo+ICsgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VN RU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwKPiArICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhP TERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKPiArICogTElB QklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJ U0UsIEFSSVNJTkcKPiArICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUg U09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUwo+ICsgKiBJTiBUSEUgU09GVFdB UkUuCj4gKyAqCj4gKyAqLwo+ICsKPiArI2luY2x1ZGUgPG1hdGguaD4KPiArCj4gKyNpbmNsdWRl ICJkcm10ZXN0LmgiCj4gKyNpbmNsdWRlICJpZ3RfZGVidWdmcy5oIgo+ICsjaW5jbHVkZSAiaWd0 X2ttcy5oIgo+ICsjaW5jbHVkZSAiaWd0X2NvcmUuaCIKPiArCj4gK0lHVF9URVNUX0RFU0NSSVBU SU9OKCJUZXN0IGNydGMgYmFja2dyb3VuZCBjb2xvciBmZWF0dXJlIik7Cj4gKwo+ICt0eXBlZGVm IHN0cnVjdCB7Cj4gKwlpbnQgZ2Z4X2ZkOwo+ICsJaWd0X2Rpc3BsYXlfdCBkaXNwbGF5Owo+ICsJ c3RydWN0IGlndF9mYiBmYjsKPiArCWlndF9jcmNfdCByZWZfY3JjOwo+ICsJaWd0X3BpcGVfY3Jj X3QgKnBpcGVfY3JjOwo+ICt9IGRhdGFfdDsKPiArCj4gKyNkZWZpbmUgQkxBQ0sgICAgICAweDAw MDAwMCAgICAgICAgICAgLyogQkdSIDhicGMgKi8KPiArI2RlZmluZSBDWUFOICAgICAgIDB4RkZG RjAwICAgICAgICAgICAvKiBCR1IgOGJwYyAqLwo+ICsjZGVmaW5lIFBVUlBMRSAgICAgMHhGRjAw RkYgICAgICAgICAgIC8qIEJHUiA4YnBjICovCj4gKyNkZWZpbmUgV0hJVEUgICAgICAweEZGRkZG RiAgICAgICAgICAgLyogQkdSIDhicGMgKi8KPiArCj4gKyNkZWZpbmUgQkxBQ0s2NCAgICAweDAw MDAwMDAwMDAwMCAgICAgLyogQkdSIDE2YnBjICovCj4gKyNkZWZpbmUgQ1lBTjY0ICAgICAweEZG RkZGRkZGMDAwMCAgICAgLyogQkdSIDE2YnBjICovCj4gKyNkZWZpbmUgUFVSUExFNjQgICAweEZG RkYwMDAwRkZGRiAgICAgLyogQkdSIDE2YnBjICovCj4gKyNkZWZpbmUgWUVMTE9XNjQgICAweDAw MDBGRkZGRkZGRiAgICAgLyogQkdSIDE2YnBjICovCj4gKyNkZWZpbmUgV0hJVEU2NCAgICAweEZG RkZGRkZGRkZGRiAgICAgLyogQkdSIDE2YnBjICovCj4gKyNkZWZpbmUgUkVENjQgICAgICAweDAw MDAwMDAwRkZGRiAgICAgLyogQkdSIDE2YnBjICovCj4gKyNkZWZpbmUgR1JFRU42NCAgICAweDAw MDBGRkZGMDAwMCAgICAgLyogQkdSIDE2YnBjICovCj4gKyNkZWZpbmUgQkxVRTY0ICAgICAweEZG RkYwMDAwMDAwMCAgICAgLyogQkdSIDE2YnBjICovCj4gKwo+ICtzdGF0aWMgdm9pZAo+ICtwYWlu dF9iYWNrZ3JvdW5kKGRhdGFfdCAqZGF0YSwgc3RydWN0IGlndF9mYiAqZmIsIGRybU1vZGVNb2Rl SW5mbyAqbW9kZSwKPiArCQl1aW50MzJfdCBiYWNrZ3JvdW5kLCBkb3VibGUgYWxwaGEpCj4gK3sK PiArCWNhaXJvX3QgKmNyOwo+ICsJaW50IHcsIGg7Cj4gKwlkb3VibGUgciwgZywgYjsKPiArCj4g Kwl3ID0gbW9kZS0+aGRpc3BsYXk7Cj4gKwloID0gbW9kZS0+dmRpc3BsYXk7Cj4gKwo+ICsJY3Ig PSBpZ3RfZ2V0X2NhaXJvX2N0eChkYXRhLT5nZnhfZmQsICZkYXRhLT5mYik7Cj4gKwo+ICsJLyog UGFpbnQgd2l0aCBiYWNrZ3JvdW5kIGNvbG9yICovCj4gKwlyID0gKGRvdWJsZSkgKGJhY2tncm91 bmQgJiAweEZGKSAvIDI1NS4wOwo+ICsJZyA9IChkb3VibGUpICgoYmFja2dyb3VuZCAmIDB4RkYw MCkgPj4gOCkgLyAyNTUuMDsKPiArCWIgPSAoZG91YmxlKSAoKGJhY2tncm91bmQgJiAweEZGMDAw MCkgPj4gMTYpIC8gMjU1LjA7Cj4gKwlpZ3RfcGFpbnRfY29sb3JfYWxwaGEoY3IsIDAsIDAsIHcs IGgsIHIsIGcsIGIsIGFscGhhKTsKPiArCj4gKwljYWlyb19kZXN0cm95KGNyKTsKPiArfQo+ICsK PiArc3RhdGljIHZvaWQgcHJlcGFyZV9jcnRjKGRhdGFfdCAqZGF0YSwgaWd0X291dHB1dF90ICpv dXRwdXQsIGVudW0gcGlwZSBwaXBlLAo+ICsJCQlpZ3RfcGxhbmVfdCAqcGxhbmUsIGludCBvcGFx dWVfYnVmZmVyLCBpbnQgcGxhbmVfY29sb3IsCj4gKwkJCXVpbnQ2NF90IHBpcGVfYmFja2dyb3Vu ZF9jb2xvcikKPiArewo+ICsJZHJtTW9kZU1vZGVJbmZvICptb2RlOwo+ICsJaWd0X2Rpc3BsYXlf dCAqZGlzcGxheSA9ICZkYXRhLT5kaXNwbGF5Owo+ICsJaW50IGZiX2lkOwo+ICsJZG91YmxlIGFs cGhhOwo+ICsKPiArCWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBwaXBlKTsKPiArCj4gKwkv KiBjcmVhdGUgdGhlIHBpcGVfY3JjIG9iamVjdCBmb3IgdGhpcyBwaXBlICovCj4gKwlpZ3RfcGlw ZV9jcmNfZnJlZShkYXRhLT5waXBlX2NyYyk7Cj4gKwlkYXRhLT5waXBlX2NyYyA9IGlndF9waXBl X2NyY19uZXcocGlwZSwgSU5URUxfUElQRV9DUkNfU09VUkNFX0FVVE8pOwo+ICsKPiArCW1vZGUg PSBpZ3Rfb3V0cHV0X2dldF9tb2RlKG91dHB1dCk7Cj4gKwo+ICsJZmJfaWQgPSBpZ3RfY3JlYXRl X2ZiKGRhdGEtPmdmeF9mZCwKPiArCQkJbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5LAo+ ICsJCQlEUk1fRk9STUFUX1hSR0I4ODg4LAo+ICsJCQlmYWxzZSwgLyogdGlsZWQgKi8KPiArCQkJ JmRhdGEtPmZiKTsKPiArCWlndF9hc3NlcnQoZmJfaWQpOwo+ICsKPiArCS8qIFRvIG1ha2UgRkIg cGl4ZWwgd2luIHdpdGggYmFja2dyb3VuZCBjb2xvciwgc2V0IGFscGhhIGFzIGZ1bGwgb3BhcXVl ICovCj4gKwlpZ3RfY3J0Y19zZXRfYmFja2dyb3VuZChwbGFuZS0+cGlwZSwgcGlwZV9iYWNrZ3Jv dW5kX2NvbG9yKTsKPiArCWlmIChvcGFxdWVfYnVmZmVyKQo+ICsJCWFscGhhID0gMS4wOyAgICAv KiBhbHBoYSAxIGlzIGZ1bGx5IG9wcXVlICovCj4gKwllbHNlCj4gKwkJYWxwaGEgPSAwLjA7ICAg IC8qIGFscGhhIDAgaXMgZnVsbHkgdHJhbnNwYXJlbnQgKi8KPiArCXBhaW50X2JhY2tncm91bmQo ZGF0YSwgJmRhdGEtPmZiLCBtb2RlLCBwbGFuZV9jb2xvciwgYWxwaGEpOwo+ICsKPiArCWlndF9w bGFuZV9zZXRfZmIocGxhbmUsICZkYXRhLT5mYik7Cj4gKwlpZ3RfZGlzcGxheV9jb21taXQyKGRp c3BsYXksIENPTU1JVF9VTklWRVJTQUwpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBjbGVhbnVw X2NydGMoZGF0YV90ICpkYXRhLCBpZ3Rfb3V0cHV0X3QgKm91dHB1dCwgaWd0X3BsYW5lX3QgKnBs YW5lKQo+ICt7Cj4gKwlpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEtPmRpc3BsYXk7Cj4g Kwo+ICsJaWd0X3BpcGVfY3JjX2ZyZWUoZGF0YS0+cGlwZV9jcmMpOwo+ICsJZGF0YS0+cGlwZV9j cmMgPSBOVUxMOwo+ICsKPiArCWlndF9yZW1vdmVfZmIoZGF0YS0+Z2Z4X2ZkLCAmZGF0YS0+ZmIp Owo+ICsKPiArCWlndF9jcnRjX3NldF9iYWNrZ3JvdW5kKHBsYW5lLT5waXBlLCBCTEFDSzY0KTsK PiArCWlndF9wbGFuZV9zZXRfZmIocGxhbmUsIE5VTEwpOwo+ICsJaWd0X291dHB1dF9zZXRfcGlw ZShvdXRwdXQsIFBJUEVfQU5ZKTsKPiArCj4gKwlpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXks IENPTU1JVF9VTklWRVJTQUwpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCB0ZXN0X2NydGNfYmFj a2dyb3VuZChkYXRhX3QgKmRhdGEpCj4gK3sKPiArCWlndF9kaXNwbGF5X3QgKmRpc3BsYXkgPSAm ZGF0YS0+ZGlzcGxheTsKPiArCWlndF9vdXRwdXRfdCAqb3V0cHV0Owo+ICsJZW51bSBwaXBlIHBp cGU7Cj4gKwlpbnQgdmFsaWRfdGVzdHMgPSAwOwo+ICsKPiArCWlndF9yZXF1aXJlKGRhdGEtPmRp c3BsYXkuaGFzX3VuaXZlcnNhbF9wbGFuZXMpOwo+ICsKPiArCWZvcl9lYWNoX2Nvbm5lY3RlZF9v dXRwdXQoZGlzcGxheSwgb3V0cHV0KSB7Cj4gKwkJaWd0X3BsYW5lX3QgKnBsYW5lOwo+ICsKPiAr CQlwaXBlID0gb3V0cHV0LT5jb25maWcucGlwZTsKPiArCQlpZ3Rfb3V0cHV0X3NldF9waXBlKG91 dHB1dCwgcGlwZSk7Cj4gKwo+ICsJCXBsYW5lID0gaWd0X291dHB1dF9nZXRfcGxhbmUob3V0cHV0 LCBJR1RfUExBTkVfUFJJTUFSWSk7Cj4gKwkJaWd0X3JlcXVpcmUocGxhbmUtPnBpcGUtPmJhY2tn cm91bmRfcHJvcGVydHkpOwo+ICsKPiArCQlwcmVwYXJlX2NydGMoZGF0YSwgb3V0cHV0LCBwaXBl LCBwbGFuZSwgMSwgUFVSUExFLCBCTEFDSzY0KTsKPiArCj4gKwkJLyogTm93IHNldCBiYWNrZ3Jv dW5kIHdpdGhvdXQgdXNpbmcgYSBwbGFuZSwgaS5lLiwKPiArCQkgKiBEaXNhYmxlIHRoZSBwbGFu ZSB0byBsZXQgaHcgYmFja2dyb3VuZCBjb2xvciB3aW4gYmxlbmQuICovCj4gKwkJaWd0X3BsYW5l X3NldF9mYihwbGFuZSwgTlVMTCk7Cj4gKwkJaWd0X2NydGNfc2V0X2JhY2tncm91bmQocGxhbmUt PnBpcGUsIFBVUlBMRTY0KTsKPiArCQlpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXksIENPTU1J VF9VTklWRVJTQUwpOwo+ICsKPiArCQkvKiBUcnkgZmV3IG90aGVyIGJhY2tncm91bmQgY29sb3Jz ICovCj4gKwkJc2xlZXAoMSk7Cj4gKwkJaWd0X2NydGNfc2V0X2JhY2tncm91bmQocGxhbmUtPnBp cGUsIENZQU42NCk7Cj4gKwkJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfVU5J VkVSU0FMKTsKPiArCj4gKwkJc2xlZXAoMSk7Cj4gKwkJaWd0X2NydGNfc2V0X2JhY2tncm91bmQo cGxhbmUtPnBpcGUsIFlFTExPVzY0KTsKPiArCQlpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXks IENPTU1JVF9VTklWRVJTQUwpOwo+ICsKPiArCQlzbGVlcCgxKTsKPiArCQlpZ3RfY3J0Y19zZXRf YmFja2dyb3VuZChwbGFuZS0+cGlwZSwgUkVENjQpOwo+ICsJCWlndF9kaXNwbGF5X2NvbW1pdDIo ZGlzcGxheSwgQ09NTUlUX1VOSVZFUlNBTCk7Cj4gKwo+ICsJCXNsZWVwKDEpOwoKUGxlYXNlIHVz ZSBpZ3RfaW50ZXJhY3RpdmVfZGVidWcgaWYgeW91IHdhbnQgdG8gbWFrZSBhIHRlc3RjYXNlIHVz ZWZ1bCBmb3IKdmlzdWFsIGluc3BlY3Rpb24uIEJ1dCBpZ3RzIF9yZWFsbHlfIG11c3QgcnVuIGZ1 bGx5IGF1dG9tYXRlZCwgYW5kIHRoYXQncwpwb3NzaWJsZSB1c2luZyBjcmMgY2hlY2tzdW1zLiBJ LmUuIHlvdSBuZWVkIHRvIGRyYXcgcmVmZXJlbmNlIGZyYW1lcyB1c2luZwpzb2Z0d2FyZSwgZ3Jh YiBjcmMgY2hlY2tzdW1zIGFuZCB0aGVuIGNvbXBhcmUgYWdhaW5zdCB0aGUgc2FtZSBjb21wb3Np dGlvbgp1c2luZyB0aGUgaHcgZmVhdHVyZS4KCkNoZWVycywgRGFuaWVsCgo+ICsJCWlndF9jcnRj X3NldF9iYWNrZ3JvdW5kKHBsYW5lLT5waXBlLCBHUkVFTjY0KTsKPiArCQlpZ3RfZGlzcGxheV9j b21taXQyKGRpc3BsYXksIENPTU1JVF9VTklWRVJTQUwpOwo+ICsKPiArCQlzbGVlcCgxKTsKPiAr CQlpZ3RfY3J0Y19zZXRfYmFja2dyb3VuZChwbGFuZS0+cGlwZSwgQkxVRTY0KTsKPiArCQlpZ3Rf ZGlzcGxheV9jb21taXQyKGRpc3BsYXksIENPTU1JVF9VTklWRVJTQUwpOwo+ICsKPiArCQlzbGVl cCgxKTsKPiArCQlpZ3RfY3J0Y19zZXRfYmFja2dyb3VuZChwbGFuZS0+cGlwZSwgV0hJVEU2NCk7 Cj4gKwkJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfVU5JVkVSU0FMKTsKPiAr Cj4gKwkJdmFsaWRfdGVzdHMrKzsKPiArCQljbGVhbnVwX2NydGMoZGF0YSwgb3V0cHV0LCBwbGFu ZSk7Cj4gKwl9Cj4gKwlpZ3RfcmVxdWlyZV9mKHZhbGlkX3Rlc3RzLCAibm8gdmFsaWQgY3J0Yy9j b25uZWN0b3IgY29tYmluYXRpb25zIGZvdW5kXG4iKTsKPiArfQo+ICsKPiAraWd0X21haW4KPiAr ewo+ICsJZGF0YV90IGRhdGEgPSB7fTsKPiArCj4gKwlpZ3Rfc2tpcF9vbl9zaW11bGF0aW9uKCk7 Cj4gKwo+ICsJZGF0YS5nZnhfZmQgPSBkcm1fb3Blbl9hbnkoKTsKPiArCWlndF9yZXF1aXJlX3Bp cGVfY3JjKCk7Cj4gKwlpZ3RfZGlzcGxheV9pbml0KCZkYXRhLmRpc3BsYXksIGRhdGEuZ2Z4X2Zk KTsKPiArCj4gKwlpZ3Rfc3VidGVzdCgicGlwZS1iYWNrZ3JvdW5kIikKPiArCQl0ZXN0X2NydGNf YmFja2dyb3VuZCgmZGF0YSk7Cj4gKwo+ICsJaWd0X2Rpc3BsYXlfZmluaSgmZGF0YS5kaXNwbGF5 KTsKPiArfQo+IC0tIAo+IDEuOS4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVy LCBJbnRlbCBDb3Jwb3JhdGlvbgorNDEgKDApIDc5IDM2NSA1NyA0OCAtIGh0dHA6Ly9ibG9nLmZm d2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==