From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: =?iso-8859-1?q?=5BPATCH_v1=BD_05/13=5D_drm/i915/dp=3A?= =?iso-8859-1?q?_generate_and_cache_sink_rate_array_for_all_DP=2C_not_just?= =?iso-8859-1?q?_eDP_1=2E4?= Date: Fri, 27 Jan 2017 19:28:47 +0200 Message-ID: <20170127172847.GJ31595@intel.com> References: <99c0304ec86304e76eaaced3ebbc503ebd33872d.1485459621.git.jani.nikula@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id BC4F96E33F for ; Fri, 27 Jan 2017 17:28:50 +0000 (UTC) Content-Disposition: inline In-Reply-To: <99c0304ec86304e76eaaced3ebbc503ebd33872d.1485459621.git.jani.nikula@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKYW4gMjYsIDIwMTcgYXQgMDk6NDQ6MTlQTSArMDIwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gVGhlcmUgaXMgc29tZSBjb25mbGF0aW9uIHJlbGF0ZWQgdG8gc2luayByYXRlcywgbWFr aW5nIHRoaXMgY2hhbmdlIG1vcmUKPiBjb21wbGljYXRlZCB0aGFuIGl0IHdvdWxkIG90aGVyd2lz ZSBoYXZlIHRvIGJlLiBUaGVyZSBhcmUgdGhyZWUgY2hhbmdlcwo+IGhlcmUgdGhhdCBhcmUgcmF0 aGVyIGRpZmZpY3VsdCB0byBzcGxpdCB1cDoKPiAKPiAxKSBVc2UgdGhlIGludGVsX2RwLT5zaW5r X3JhdGVzIGFycmF5IGZvciBhbGwgRFAsIG5vdCBqdXN0IGVEUCAxLjQuIFdlCj4gICAgaW5pdGlh bGl6ZSBpdCBmcm9tIERQQ0Qgb24gZURQIDEuNCBsaWtlIGJlZm9yZSwgYnV0IGdlbmVyYXRlIGl0 IGJhc2VkCj4gICAgb24gRFBfTUFYX0xJTktfUkFURSBvbiBvdGhlcnMuIFRoaXMgcmVkdWNlcyBj b2RlIGNvbXBsZXhpdHkgd2hlbiB3ZQo+ICAgIG5lZWQgdG8gdXNlIHRoZSBzaW5rIHJhdGVzOyB0 aGV5IGFyZSBhbGwgYWx3YXlzIGluIHRoZSBzaW5rX3JhdGVzCj4gICAgYXJyYXkuCj4gCj4gMikg VXBkYXRlIHRoZSBzaW5rIHJhdGUgYXJyYXkgd2hlbmV2ZXIgd2UgcmVhZCBEUENELCBhbmQgdXNl IHRoZQo+ICAgIGluZm9ybWF0aW9uIGZyb20gdGhlcmUuIFRoaXMgaW5jcmVhc2VzIGNvZGUgcmVh ZGFiaWxpdHkgd2hlbiB3ZSBuZWVkCj4gICAgdGhlIHNpbmsgcmF0ZXMuCj4gCj4gMykgRGlzZW50 YW5nbGUgZmFsbGJhY2sgcmF0ZSBsaW1pdGluZyBmcm9tIHNpbmsgcmF0ZXMuIEluIHRoZSBjb2Rl LCB0aGUKPiAgICBtYXggcmF0ZSBpcyBhIGR5bmFtaWMgcHJvcGVydHkgb2YgdGhlICpsaW5rKiwg bm90IG9mIHRoZSAqc2luayouIERvCj4gICAgdGhlIGxpbWl0aW5nIGFmdGVyIGludGVyc2VjdGlu ZyB0aGUgc291cmNlIGFuZCBzaW5rIHJhdGVzLCB3aGljaCBhcmUKPiAgICBzdGF0aWMgcHJvcGVy dGllcyBvZiB0aGUgZGV2aWNlcy4KPiAKPiBUaGlzIHBhdmVzIHRoZSB3YXkgZm9yIGZvbGxvdy11 cCByZWZhY3RvcmluZyB0aGF0IEkndmUgcmVmcmFpbmVkIGZyb20KPiBkb2luZyBoZXJlIHRvIGtl ZXAgdGhpcyBjaGFuZ2UgYXMgc2ltcGxlIGFzIGl0IHBvc3NpYmx5IGNhbi4KPiAKPiBDYzogTWFu YXNpIE5hdmFyZSA8bWFuYXNpLmQubmF2YXJlQGludGVsLmNvbT4KPiBDYzogVmlsbGUgU3lyasOk bMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBKYW5p IE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcC5jICAgICAgICAgICAgICAgfCA3NiArKysrKysrKysrKysrKysrKystLS0t LS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jIHwg IDMgKy0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICAgICAgIHwg IDQgKy0KPiAgMyBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMo LSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiBpbmRleCBjYzI1MjMzNjNjOGQuLmQxM2Nl Njc0NjU0MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC0xMzMsNiArMTMzLDM0 IEBAIHN0YXRpYyB2b2lkIHZsdl9zdGVhbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiAgCQkJCSAgICAgIGVudW0gcGlwZSBwaXBlKTsKPiAgc3RhdGljIHZvaWQgaW50 ZWxfZHBfdW5zZXRfZWRpZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsKPiAgCj4gK3N0YXRp YyBpbnQgaW50ZWxfZHBfbnVtX3JhdGVzKHU4IGxpbmtfYndfY29kZSkKPiArewo+ICsJc3dpdGNo IChsaW5rX2J3X2NvZGUpIHsKPiArCWRlZmF1bHQ6Cj4gKwkJV0FSTigxLCAiaW52YWxpZCBtYXgg RFAgbGluayBidyB2YWwgJXgsIHVzaW5nIDEuNjJHYnBzXG4iLAo+ICsJCSAgICAgbGlua19id19j b2RlKTsKPiArCWNhc2UgRFBfTElOS19CV18xXzYyOgo+ICsJCXJldHVybiAxOwo+ICsJY2FzZSBE UF9MSU5LX0JXXzJfNzoKPiArCQlyZXR1cm4gMjsKPiArCWNhc2UgRFBfTElOS19CV181XzQ6Cj4g KwkJcmV0dXJuIDM7Cj4gKwl9Cj4gK30KPiArCj4gKy8qIHVwZGF0ZSBzaW5rIHJhdGVzIGZyb20g ZHBjZCAqLwo+ICtzdGF0aWMgdm9pZCBpbnRlbF9kcF9zZXRfc2lua19yYXRlcyhzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQo+ICt7Cj4gKwlpbnQgaSwgbnVtX3JhdGVzOwo+ICsKPiArCW51bV9y YXRlcyA9IGludGVsX2RwX251bV9yYXRlcyhpbnRlbF9kcC0+ZHBjZFtEUF9NQVhfTElOS19SQVRF XSk7Cj4gKwo+ICsJZm9yIChpID0gMDsgaSA8IG51bV9yYXRlczsgaSsrKQo+ICsJCWludGVsX2Rw LT5zaW5rX3JhdGVzW2ldID0gZGVmYXVsdF9yYXRlc1tpXTsKPiArCj4gKwlpbnRlbF9kcC0+bnVt X3NpbmtfcmF0ZXMgPSBudW1fcmF0ZXM7Cj4gK30KPiArCj4gIHN0YXRpYyBpbnQKPiAgaW50ZWxf ZHBfbWF4X2xpbmtfYncoc3RydWN0IGludGVsX2RwICAqaW50ZWxfZHApCj4gIHsKPiBAQCAtMjA1 LDE5ICsyMzMsNiBAQCBpbnRlbF9kcF9kb3duc3RyZWFtX21heF9kb3RjbG9jayhzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwKQo+ICAJcmV0dXJuIG1heF9kb3RjbGs7Cj4gIH0KPiAgCj4gLXN0YXRp YyBpbnQKPiAtaW50ZWxfZHBfc2lua19yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLCBj b25zdCBpbnQgKipzaW5rX3JhdGVzKQo+IC17Cj4gLQlpZiAoaW50ZWxfZHAtPm51bV9zaW5rX3Jh dGVzKSB7Cj4gLQkJKnNpbmtfcmF0ZXMgPSBpbnRlbF9kcC0+c2lua19yYXRlczsKPiAtCQlyZXR1 cm4gaW50ZWxfZHAtPm51bV9zaW5rX3JhdGVzOwo+IC0JfQo+IC0KPiAtCSpzaW5rX3JhdGVzID0g ZGVmYXVsdF9yYXRlczsKPiAtCj4gLQlyZXR1cm4gKGludGVsX2RwLT5tYXhfc2lua19saW5rX2J3 ID4+IDMpICsgMTsKPiAtfQo+IC0KPiAgc3RhdGljIHZvaWQKPiAgaW50ZWxfZHBfc2V0X3NvdXJj ZV9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICB7Cj4gQEAgLTI4NSwxNSArMzAw LDIyIEBAIHN0YXRpYyBpbnQgaW50ZWxfZHBfZmluZF9yYXRlKGNvbnN0IGludCAqcmF0ZXMsIGlu dCBsZW4sIGludCByYXRlKQo+ICBzdGF0aWMgaW50IGludGVsX2RwX2NvbW1vbl9yYXRlcyhzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLAo+ICAJCQkJIGludCAqY29tbW9uX3JhdGVzKQo+ICB7Cj4g LQljb25zdCBpbnQgKnNpbmtfcmF0ZXM7Cj4gLQlpbnQgc2lua19sZW47Cj4gKwlpbnQgbWF4X3Jh dGUgPSBkcm1fZHBfYndfY29kZV90b19saW5rX3JhdGUoaW50ZWxfZHAtPm1heF9zaW5rX2xpbmtf YncpOwo+ICsJaW50IGksIGNvbW1vbl9sZW47Cj4gIAo+IC0Jc2lua19sZW4gPSBpbnRlbF9kcF9z aW5rX3JhdGVzKGludGVsX2RwLCAmc2lua19yYXRlcyk7Cj4gKwljb21tb25fbGVuID0gaW50ZXJz ZWN0X3JhdGVzKGludGVsX2RwLT5zb3VyY2VfcmF0ZXMsCj4gKwkJCQkgICAgIGludGVsX2RwLT5u dW1fc291cmNlX3JhdGVzLAo+ICsJCQkJICAgICBpbnRlbF9kcC0+c2lua19yYXRlcywKPiArCQkJ CSAgICAgaW50ZWxfZHAtPm51bV9zaW5rX3JhdGVzLAo+ICsJCQkJICAgICBjb21tb25fcmF0ZXMp Owo+ICAKPiAtCXJldHVybiBpbnRlcnNlY3RfcmF0ZXMoaW50ZWxfZHAtPnNvdXJjZV9yYXRlcywK PiAtCQkJICAgICAgIGludGVsX2RwLT5udW1fc291cmNlX3JhdGVzLAo+IC0JCQkgICAgICAgc2lu a19yYXRlcywgc2lua19sZW4sCj4gLQkJCSAgICAgICBjb21tb25fcmF0ZXMpOwo+ICsJLyogTGlt aXQgcmVzdWx0cyBieSBwb3RlbnRpYWxseSByZWR1Y2VkIG1heCByYXRlICovCj4gKwlmb3IgKGkg PSAwOyBpIDwgY29tbW9uX2xlbjsgaSsrKSB7Cj4gKwkJaWYgKGNvbW1vbl9yYXRlc1tjb21tb25f bGVuIC0gaSAtIDFdIDw9IG1heF9yYXRlKQo+ICsJCQlyZXR1cm4gY29tbW9uX2xlbiAtIGk7Cj4g Kwl9Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgaW50ZWxfZHBfbGlu a19yYXRlX2luZGV4KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gQEAgLTE1MDEsOCArMTUy Myw3IEBAIHN0YXRpYyB2b2lkIHNucHJpbnRmX2ludF9hcnJheShjaGFyICpzdHIsIHNpemVfdCBs ZW4sCj4gIAo+ICBzdGF0aWMgdm9pZCBpbnRlbF9kcF9wcmludF9yYXRlcyhzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwKQo+ICB7Cj4gLQljb25zdCBpbnQgKnNpbmtfcmF0ZXM7Cj4gLQlpbnQgc2lu a19sZW4sIGNvbW1vbl9sZW47Cj4gKwlpbnQgY29tbW9uX2xlbjsKPiAgCWludCBjb21tb25fcmF0 ZXNbRFBfTUFYX1NVUFBPUlRFRF9SQVRFU107Cj4gIAljaGFyIHN0clsxMjhdOyAvKiBGSVhNRTog dG9vIGJpZyBmb3Igc3RhY2s/ICovCj4gIAo+IEBAIC0xNTEzLDggKzE1MzQsOCBAQCBzdGF0aWMg dm9pZCBpbnRlbF9kcF9wcmludF9yYXRlcyhzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJ CQkgICBpbnRlbF9kcC0+c291cmNlX3JhdGVzLCBpbnRlbF9kcC0+bnVtX3NvdXJjZV9yYXRlcyk7 Cj4gIAlEUk1fREVCVUdfS01TKCJzb3VyY2UgcmF0ZXM6ICVzXG4iLCBzdHIpOwo+ICAKPiAtCXNp bmtfbGVuID0gaW50ZWxfZHBfc2lua19yYXRlcyhpbnRlbF9kcCwgJnNpbmtfcmF0ZXMpOwo+IC0J c25wcmludGZfaW50X2FycmF5KHN0ciwgc2l6ZW9mKHN0ciksIHNpbmtfcmF0ZXMsIHNpbmtfbGVu KTsKPiArCXNucHJpbnRmX2ludF9hcnJheShzdHIsIHNpemVvZihzdHIpLAo+ICsJCQkgICBpbnRl bF9kcC0+c2lua19yYXRlcywgaW50ZWxfZHAtPm51bV9zaW5rX3JhdGVzKTsKPiAgCURSTV9ERUJV R19LTVMoInNpbmsgcmF0ZXM6ICVzXG4iLCBzdHIpOwo+ICAKPiAgCWNvbW1vbl9sZW4gPSBpbnRl bF9kcF9jb21tb25fcmF0ZXMoaW50ZWxfZHAsIGNvbW1vbl9yYXRlcyk7Cj4gQEAgLTE1ODAsNyAr MTYwMSw4IEBAIGludCBpbnRlbF9kcF9yYXRlX3NlbGVjdChzdHJ1Y3QgaW50ZWxfZHAgKmludGVs X2RwLCBpbnQgcmF0ZSkKPiAgdm9pZCBpbnRlbF9kcF9jb21wdXRlX3JhdGUoc3RydWN0IGludGVs X2RwICppbnRlbF9kcCwgaW50IHBvcnRfY2xvY2ssCj4gIAkJCSAgIHVpbnQ4X3QgKmxpbmtfYncs IHVpbnQ4X3QgKnJhdGVfc2VsZWN0KQo+ICB7Cj4gLQlpZiAoaW50ZWxfZHAtPm51bV9zaW5rX3Jh dGVzKSB7Cj4gKwkvKiBlRFAgMS40IHJhdGUgc2VsZWN0IG1ldGhvZC4gKi8KPiArCWlmIChpc19l ZHAoaW50ZWxfZHApICYmIGludGVsX2RwLT5lZHBfZHBjZFswXSA+PSAweDAzKSB7CgpJIHdhcyBj b252aW5jZWQgdGhhdCB0aGlzIHdhc24ndCBhIG1hbmRhdG9yeSBmZWF0dXJlLCBidXQgdGhlIHNw ZWMgZG9lcwpzZWVtIHRvIHNheSAiVGhlIHRhYmxlIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUg bm9uLXplcm8gdmFsdWUgYXQgdGhlCmZpcnN0IChsb3dlc3QgRFBDRCBhZGRyZXNzKSBsb2NhdGlv bi4iCgpCdXQgZ2l2ZW4gaGlzdG9yaWNhbCBldmlkZW5jZSBJJ20gc3RpbGwgOTklIGNvbnZpbmNl ZCB3ZSdsbCBldmVudHVhbGx5CnJ1biBpbnRvIHNvbWUgcGFuZWwgc29tZXdoZXJlIHRoYXQgZG9l cyB0aGlzIHdyb25nLCBzbyBJIGRvbid0IHJlYWxseQpsaWtlIHRoaXMgaWRlYS4KCj4gIAkJKmxp bmtfYncgPSAwOwo+ICAJCSpyYXRlX3NlbGVjdCA9Cj4gIAkJCWludGVsX2RwX3JhdGVfc2VsZWN0 KGludGVsX2RwLCBwb3J0X2Nsb2NrKTsKPiBAQCAtMzcxMyw2ICszNzM1LDggQEAgaW50ZWxfZWRw X2luaXRfZHBjZChzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJCQlpbnRlbF9kcC0+c2lu a19yYXRlc1tpXSA9ICh2YWwgKiAyMDApIC8gMTA7Cj4gIAkJfQo+ICAJCWludGVsX2RwLT5udW1f c2lua19yYXRlcyA9IGk7Cj4gKwl9IGVsc2Ugewo+ICsJCWludGVsX2RwX3NldF9zaW5rX3JhdGVz KGludGVsX2RwKTsKPiAgCX0KPiAgCj4gIAlyZXR1cm4gdHJ1ZTsKPiBAQCAtMzcyNSw2ICszNzQ5 LDggQEAgaW50ZWxfZHBfZ2V0X2RwY2Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiAgCWlm ICghaW50ZWxfZHBfcmVhZF9kcGNkKGludGVsX2RwKSkKPiAgCQlyZXR1cm4gZmFsc2U7Cj4gIAo+ ICsJaW50ZWxfZHBfc2V0X3NpbmtfcmF0ZXMoaW50ZWxfZHApOwo+ICsKPiAgCWlmIChkcm1fZHBf ZHBjZF9yZWFkKCZpbnRlbF9kcC0+YXV4LCBEUF9TSU5LX0NPVU5ULAo+ICAJCQkgICAgICZpbnRl bF9kcC0+c2lua19jb3VudCwgMSkgPCAwKQo+ICAJCXJldHVybiBmYWxzZTsKPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbGlua190cmFpbmluZy5jCj4gaW5kZXggMDA0OGI1MjBi YWY3Li42OTRhZDBmZmI1MjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHBfbGlua190cmFpbmluZy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfbGlua190cmFpbmluZy5jCj4gQEAgLTE0Niw3ICsxNDYsOCBAQCBpbnRlbF9kcF9saW5rX3Ry YWluaW5nX2Nsb2NrX3JlY292ZXJ5KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApCj4gIAkJbGlu a19jb25maWdbMV0gfD0gRFBfTEFORV9DT1VOVF9FTkhBTkNFRF9GUkFNRV9FTjsKPiAgCWRybV9k cF9kcGNkX3dyaXRlKCZpbnRlbF9kcC0+YXV4LCBEUF9MSU5LX0JXX1NFVCwgbGlua19jb25maWcs IDIpOwo+ICAKPiAtCWlmIChpbnRlbF9kcC0+bnVtX3NpbmtfcmF0ZXMpCj4gKwkvKiBlRFAgMS40 IHJhdGUgc2VsZWN0IG1ldGhvZC4gKi8KPiArCWlmICghbGlua19idykKPiAgCQlkcm1fZHBfZHBj ZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwgRFBfTElOS19SQVRFX1NFVCwKPiAgCQkJCSAgJnJhdGVf c2VsZWN0LCAxKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBpbmRleCBmMTMyZDRh ZWExYWQuLmI5MTRkZDU0MzM2MiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gQEAg LTkzMyw4ICs5MzMsOCBAQCBzdHJ1Y3QgaW50ZWxfZHAgewo+ICAJLyogc291cmNlIHJhdGVzICov Cj4gIAlpbnQgbnVtX3NvdXJjZV9yYXRlczsKPiAgCWNvbnN0IGludCAqc291cmNlX3JhdGVzOwo+ IC0JLyogc2luayByYXRlcyBhcyByZXBvcnRlZCBieSBEUF9TVVBQT1JURURfTElOS19SQVRFUyAq Lwo+IC0JdWludDhfdCBudW1fc2lua19yYXRlczsKPiArCS8qIHNpbmsgcmF0ZXMgYXMgcmVwb3J0 ZWQgYnkgRFBfTUFYX0xJTktfUkFURS9EUF9TVVBQT1JURURfTElOS19SQVRFUyAqLwo+ICsJaW50 IG51bV9zaW5rX3JhdGVzOwo+ICAJaW50IHNpbmtfcmF0ZXNbRFBfTUFYX1NVUFBPUlRFRF9SQVRF U107Cj4gIAkvKiBNYXggbGFuZSBjb3VudCBmb3IgdGhlIHNpbmsgYXMgcGVyIERQQ0QgcmVnaXN0 ZXJzICovCj4gIAl1aW50OF90IG1heF9zaW5rX2xhbmVfY291bnQ7Cj4gLS0gCj4gMi4xLjQKCi0t IApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwgT1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=