From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 3/5] drm/i915: index gmbus tables using the pin pair number Date: Fri, 27 Mar 2015 18:27:57 +0200 Message-ID: <87y4mipfqq.fsf@intel.com> References: <01911933a007a850dcfd2c618e5d908ba079f866.1427407523.git.jani.nikula@intel.com> <20150327150010.GB17410@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 ESMTP id 430846E1E1 for ; Fri, 27 Mar 2015 09:29:09 -0700 (PDT) In-Reply-To: <20150327150010.GB17410@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 T24gRnJpLCAyNyBNYXIgMjAxNSwgVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4 LmludGVsLmNvbT4gd3JvdGU6Cj4gT24gRnJpLCBNYXIgMjcsIDIwMTUgYXQgMTI6MjA6MjFBTSAr MDIwMCwgSmFuaSBOaWt1bGEgd3JvdGU6Cj4+IEluZGV4IHRoZSBnbWJ1cyB0YWJsZXMgZGlyZWN0 bHkgdXNpbmcgdGhlIHBpbiBpbnN0ZWFkIG9mIGhhdmluZyBhCj4+IGNvbmZ1c2luZyAicG9ydCA9 IGkgKyAxIiBtYXBwaW5nLiBUaGlzIGZpbmlzaGVzIG9mZiByZW1vdmluZyB0aGUgImdtYnVzCj4+ IHBvcnQiIGFzIGEgbm90aW9uLCBhbmQgbGVhdmVzIHVzIHdpdGgganVzdCB0aGUgImdtYnVzIHBp biIuCj4+IAo+PiBBcyBwaW4gMCBpcyBpbnZhbGlkIGJ5IGRlZmluaXRpb24gYW5kIHRoZSBnbWJ1 cyB0YWJsZXMgd2lsbCBoYXZlIGEgZ2FwCj4+IGF0IHRoYXQgaW5kZXgsIGFkZCBwaW4gdmFsaWRp dHkgY2hlY2sgdG8gYWxsIHRoZSBsb29wcy4gVGhpcyB3aWxsIGJlCj4+IGJlbmVmaXRpYWwgZm9y IHN1cHBvcnRpbmcgcGxhdGZvcm1zIHRoYXQgaGF2ZSBkaWZmZXJlbnQgbnVtYmVycyBvZiBwaW5z LAo+PiBvciBnYXBzLgo+PiAKPj4gU2lnbmVkLW9mZi1ieTogSmFuaSBOaWt1bGEgPGphbmkubmlr dWxhQGludGVsLmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICB8ICAzICstCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICB8ICAyICstCj4+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYyB8IDY1ICsrKysrKysrKysrKysrKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0KPj4gIDMgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9u cygrKSwgMzAgZGVsZXRpb25zKC0pCj4+IAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5k ZXggM2JhNWRlMTllMDM5Li4wYzYwMjQxMDFlYjkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaAo+PiBAQCAtMTU3NCw4ICsxNTc0LDcgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ PiAgCj4+ICAJc3RydWN0IGk5MTVfdmlydHVhbF9ncHUgdmdwdTsKPj4gIAo+PiAtCXN0cnVjdCBp bnRlbF9nbWJ1cyBnbWJ1c1tHTUJVU19OVU1fUE9SVFNdOwo+PiAtCj4+ICsJc3RydWN0IGludGVs X2dtYnVzIGdtYnVzW0dNQlVTX1BJTl9NQVhdOwo+PiAgCj4+ICAJLyoqIGdtYnVzX211dGV4IHBy b3RlY3RzIGFnYWluc3QgY29uY3VycmVudCB1c2FnZSBvZiB0aGUgc2luZ2xlIGh3IGdtYnVzCj4+ ICAJICogY29udHJvbGxlciBvbiBkaWZmZXJlbnQgaTJjIGJ1c2VzLiAqLwo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgKPj4gaW5kZXggYjYxMTNjOWE4MDNiLi5jZGMwNzFjZmYwMDEgMTAwNjQ0Cj4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+PiBAQCAtMTc5Nyw3ICsxNzk3LDcgQEAgZW51bSBza2xf ZGlzcF9wb3dlcl93ZWxscyB7Cj4+ICAjZGVmaW5lICAgR01CVVNfUElOX0RQQgkJNSAvKiBTRFZP LCBIRE1JQiAqLwo+PiAgI2RlZmluZSAgIEdNQlVTX1BJTl9EUEQJCTYgLyogSERNSUQgKi8KPj4g ICNkZWZpbmUgICBHTUJVU19QSU5fUkVTRVJWRUQJNyAvKiA3IHJlc2VydmVkICovCj4+IC0jZGVm aW5lICAgR01CVVNfTlVNX1BPUlRTCShHTUJVU19QSU5fRFBEIC0gR01CVVNfUElOX1NTQyArIDEp Cj4+ICsjZGVmaW5lICAgR01CVVNfUElOX01BWAkJNyAvKiBub3QgaW5jbHVzaXZlICovCj4KPiBQ SU5fTUFYIG1ha2VzIG1lIHRoaW5rIGl0J3MgaW5jbHVzaXZlLiBOVU1fUElOUyBtYXliZT8KCkkg d2FudGVkIHRvIGNsZWFybHkgZGlzdGluZ3Vpc2ggaXQgZnJvbSB0aGUgb2xkIE5VTV9QT1JUUyB3 aGljaCBpbmNsdWRlZApvbmx5IHRoZSB2YWxpZCBvbmVzLCB3aGlsZSB0aGlzIGlzIHVzZWQgZm9y IHRoZSBnbWJ1c1tdIGFycmF5IGZpZWxkIHNpemUKaW4gc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg b25seS4KCkFuIGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIG1ha2UgR01CVVNfUElOX01BWCBpbmNs dXNpdmUgYW5kIHRvIHVzZQpnbWJ1c1tHTUJVU19QSU5fTUFYICsgMV0gaW4gc3RydWN0IGRybV9p OTE1X3ByaXZhdGUuCgo+IHcvIG9yIHcvbyB0aGF0IHBhcnRpY3VsYXIgYmlrZXNoZWQgcGF0Y2hl cyAxLTQgbG9vayBmaW5lIHRvIG1lLCBzbzoKPiBSZXZpZXdlZC1ieTogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRoYW5rcyBmb3IgdGhlIHJldmlldy4K CkJSLApKYW5pLgoKPgo+PiAgI2RlZmluZSBHTUJVUzEJCQkweDUxMDQgLyogY29tbWFuZC9zdGF0 dXMgKi8KPj4gICNkZWZpbmUgICBHTUJVU19TV19DTFJfSU5UCSgxPDwzMSkKPj4gICNkZWZpbmUg ICBHTUJVU19TV19SRFkJCSgxPDwzMCkKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2kyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaTJjLmMKPj4gaW5k ZXggYjAwMDNhMmJkODU0Li5mZjQ3YThmZGNiNmQgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2kyYy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2kyYy5jCj4+IEBAIC0zNCwxOCArMzQsMTkgQEAKPj4gICNpbmNsdWRlIDxkcm0vaTkxNV9kcm0u aD4KPj4gICNpbmNsdWRlICJpOTE1X2Rydi5oIgo+PiAgCj4+IC1zdHJ1Y3QgZ21idXNfcG9ydCB7 Cj4+ICtzdHJ1Y3QgZ21idXNfcGluIHsKPj4gIAljb25zdCBjaGFyICpuYW1lOwo+PiAgCWludCBy ZWc7Cj4+ICB9Owo+PiAgCj4+IC1zdGF0aWMgY29uc3Qgc3RydWN0IGdtYnVzX3BvcnQgZ21idXNf cG9ydHNbXSA9IHsKPj4gLQl7ICJzc2MiLCBHUElPQiB9LAo+PiAtCXsgInZnYSIsIEdQSU9BIH0s Cj4+IC0JeyAicGFuZWwiLCBHUElPQyB9LAo+PiAtCXsgImRwYyIsIEdQSU9EIH0sCj4+IC0JeyAi ZHBiIiwgR1BJT0UgfSwKPj4gLQl7ICJkcGQiLCBHUElPRiB9LAo+PiArLyogTWFwIGdtYnVzIHBp biBwYWlycyB0byBuYW1lcyBhbmQgcmVnaXN0ZXJzLiAqLwo+PiArc3RhdGljIGNvbnN0IHN0cnVj dCBnbWJ1c19waW4gZ21idXNfcGluc1tdID0gewo+PiArCVtHTUJVU19QSU5fU1NDXSA9IHsgInNz YyIsIEdQSU9CIH0sCj4+ICsJW0dNQlVTX1BJTl9WR0FERENdID0geyAidmdhIiwgR1BJT0EgfSwK Pj4gKwlbR01CVVNfUElOX1BBTkVMXSA9IHsgInBhbmVsIiwgR1BJT0MgfSwKPj4gKwlbR01CVVNf UElOX0RQQ10gPSB7ICJkcGMiLCBHUElPRCB9LAo+PiArCVtHTUJVU19QSU5fRFBCXSA9IHsgImRw YiIsIEdQSU9FIH0sCj4+ICsJW0dNQlVTX1BJTl9EUERdID0geyAiZHBkIiwgR1BJT0YgfSwKPj4g IH07Cj4+ICAKPj4gIC8qIEludGVsIEdQSU8gYWNjZXNzIGZ1bmN0aW9ucyAqLwo+PiBAQCAtMTgy LDE1ICsxODMsMTQgQEAgaW50ZWxfZ3Bpb19wb3N0X3hmZXIoc3RydWN0IGkyY19hZGFwdGVyICph ZGFwdGVyKQo+PiAgfQo+PiAgCj4+ICBzdGF0aWMgdm9pZAo+PiAtaW50ZWxfZ3Bpb19zZXR1cChz dHJ1Y3QgaW50ZWxfZ21idXMgKmJ1cywgdTMyIHBpbikKPj4gK2ludGVsX2dwaW9fc2V0dXAoc3Ry dWN0IGludGVsX2dtYnVzICpidXMsIHVuc2lnbmVkIGludCBwaW4pCj4+ICB7Cj4+ICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gYnVzLT5kZXZfcHJpdjsKPj4gIAlzdHJ1Y3Qg aTJjX2FsZ29fYml0X2RhdGEgKmFsZ287Cj4+ICAKPj4gIAlhbGdvID0gJmJ1cy0+Yml0X2FsZ287 Cj4+ICAKPj4gLQkvKiAtMSB0byBtYXAgcGluIHBhaXIgdG8gZ21idXMgaW5kZXggKi8KPj4gLQli dXMtPmdwaW9fcmVnID0gZGV2X3ByaXYtPmdwaW9fbW1pb19iYXNlICsgZ21idXNfcG9ydHNbcGlu IC0gMV0ucmVnOwo+PiArCWJ1cy0+Z3Bpb19yZWcgPSBkZXZfcHJpdi0+Z3Bpb19tbWlvX2Jhc2Ug KyBnbWJ1c19waW5zW3Bpbl0ucmVnOwo+PiAgCj4+ICAJYnVzLT5hZGFwdGVyLmFsZ29fZGF0YSA9 IGFsZ287Cj4+ICAJYWxnby0+c2V0c2RhID0gc2V0X2RhdGE7Cj4+IEBAIC01MTcsNyArNTE3LDkg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpMmNfYWxnb3JpdGhtIGdtYnVzX2FsZ29yaXRobSA9IHsK Pj4gIGludCBpbnRlbF9zZXR1cF9nbWJ1cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgewo+ PiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 Cj4+IC0JaW50IHJldCwgaTsKPj4gKwlzdHJ1Y3QgaW50ZWxfZ21idXMgKmJ1czsKPj4gKwl1bnNp Z25lZCBpbnQgcGluOwo+PiArCWludCByZXQ7Cj4+ICAKPj4gIAlpZiAoSEFTX1BDSF9OT1AoZGV2 KSkKPj4gIAkJcmV0dXJuIDA7Cj4+IEBAIC01MzEsMTYgKzUzMywxOCBAQCBpbnQgaW50ZWxfc2V0 dXBfZ21idXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPj4gIAltdXRleF9pbml0KCZkZXZfcHJp di0+Z21idXNfbXV0ZXgpOwo+PiAgCWluaXRfd2FpdHF1ZXVlX2hlYWQoJmRldl9wcml2LT5nbWJ1 c193YWl0X3F1ZXVlKTsKPj4gIAo+PiAtCWZvciAoaSA9IDA7IGkgPCBHTUJVU19OVU1fUE9SVFM7 IGkrKykgewo+PiAtCQlzdHJ1Y3QgaW50ZWxfZ21idXMgKmJ1cyA9ICZkZXZfcHJpdi0+Z21idXNb aV07Cj4+IC0JCXUzMiBwb3J0ID0gaSArIDE7IC8qICsxIHRvIG1hcCBnbWJ1cyBpbmRleCB0byBw aW4gcGFpciAqLwo+PiArCWZvciAocGluID0gMDsgcGluIDwgQVJSQVlfU0laRShkZXZfcHJpdi0+ Z21idXMpOyBwaW4rKykgewo+PiArCQlpZiAoIWludGVsX2dtYnVzX2lzX3ZhbGlkX3BpbihwaW4p KQo+PiArCQkJY29udGludWU7Cj4+ICsKPj4gKwkJYnVzID0gJmRldl9wcml2LT5nbWJ1c1twaW5d Owo+PiAgCj4+ICAJCWJ1cy0+YWRhcHRlci5vd25lciA9IFRISVNfTU9EVUxFOwo+PiAgCQlidXMt PmFkYXB0ZXIuY2xhc3MgPSBJMkNfQ0xBU1NfRERDOwo+PiAgCQlzbnByaW50ZihidXMtPmFkYXB0 ZXIubmFtZSwKPj4gIAkJCSBzaXplb2YoYnVzLT5hZGFwdGVyLm5hbWUpLAo+PiAgCQkJICJpOTE1 IGdtYnVzICVzIiwKPj4gLQkJCSBnbWJ1c19wb3J0c1tpXS5uYW1lKTsKPj4gKwkJCSBnbWJ1c19w aW5zW3Bpbl0ubmFtZSk7Cj4+ICAKPj4gIAkJYnVzLT5hZGFwdGVyLmRldi5wYXJlbnQgPSAmZGV2 LT5wZGV2LT5kZXY7Cj4+ICAJCWJ1cy0+ZGV2X3ByaXYgPSBkZXZfcHJpdjsKPj4gQEAgLTU0OCwx MyArNTUyLDEzIEBAIGludCBpbnRlbF9zZXR1cF9nbWJ1cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+PiAgCQlidXMtPmFkYXB0ZXIuYWxnbyA9ICZnbWJ1c19hbGdvcml0aG07Cj4+ICAKPj4gIAkJ LyogQnkgZGVmYXVsdCB1c2UgYSBjb25zZXJ2YXRpdmUgY2xvY2sgcmF0ZSAqLwo+PiAtCQlidXMt PnJlZzAgPSBwb3J0IHwgR01CVVNfUkFURV8xMDBLSFo7Cj4+ICsJCWJ1cy0+cmVnMCA9IHBpbiB8 IEdNQlVTX1JBVEVfMTAwS0haOwo+PiAgCj4+ICAJCS8qIGdtYnVzIHNlZW1zIHRvIGJlIGJyb2tl biBvbiBpODMwICovCj4+ICAJCWlmIChJU19JODMwKGRldikpCj4+ICAJCQlidXMtPmZvcmNlX2Jp dCA9IDE7Cj4+ICAKPj4gLQkJaW50ZWxfZ3Bpb19zZXR1cChidXMsIHBvcnQpOwo+PiArCQlpbnRl bF9ncGlvX3NldHVwKGJ1cywgcGluKTsKPj4gIAo+PiAgCQlyZXQgPSBpMmNfYWRkX2FkYXB0ZXIo JmJ1cy0+YWRhcHRlcik7Cj4+ICAJCWlmIChyZXQpCj4+IEBAIC01NjYsOCArNTcwLDExIEBAIGlu dCBpbnRlbF9zZXR1cF9nbWJ1cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+PiAgCXJldHVybiAw Owo+PiAgCj4+ICBlcnI6Cj4+IC0Jd2hpbGUgKC0taSkgewo+PiAtCQlzdHJ1Y3QgaW50ZWxfZ21i dXMgKmJ1cyA9ICZkZXZfcHJpdi0+Z21idXNbaV07Cj4+ICsJd2hpbGUgKC0tcGluKSB7Cj4+ICsJ CWlmICghaW50ZWxfZ21idXNfaXNfdmFsaWRfcGluKHBpbikpCj4+ICsJCQljb250aW51ZTsKPj4g Kwo+PiArCQlidXMgPSAmZGV2X3ByaXYtPmdtYnVzW3Bpbl07Cj4+ICAJCWkyY19kZWxfYWRhcHRl cigmYnVzLT5hZGFwdGVyKTsKPj4gIAl9Cj4+ICAJcmV0dXJuIHJldDsKPj4gQEAgLTU3NiwxMCAr NTgzLDEwIEBAIGVycjoKPj4gIHN0cnVjdCBpMmNfYWRhcHRlciAqaW50ZWxfZ21idXNfZ2V0X2Fk YXB0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+PiAgCQkJCQkgICAgdW5z aWduZWQgaW50IHBpbikKPj4gIHsKPj4gLQlXQVJOX09OKCFpbnRlbF9nbWJ1c19pc192YWxpZF9w aW4ocGluKSk7Cj4+IC0JLyogLTEgdG8gbWFwIHBpbiBwYWlyIHRvIGdtYnVzIGluZGV4ICovCj4+ IC0JcmV0dXJuIChpbnRlbF9nbWJ1c19pc192YWxpZF9waW4ocGluKSkgPwo+PiAtCQkmZGV2X3By aXYtPmdtYnVzW3BpbiAtIDFdLmFkYXB0ZXIgOiBOVUxMOwo+PiArCWlmIChXQVJOX09OKCFpbnRl bF9nbWJ1c19pc192YWxpZF9waW4ocGluKSkpCj4+ICsJCXJldHVybiBOVUxMOwo+PiArCj4+ICsJ cmV0dXJuICZkZXZfcHJpdi0+Z21idXNbcGluXS5hZGFwdGVyOwo+PiAgfQo+PiAgCj4+ICB2b2lk IGludGVsX2dtYnVzX3NldF9zcGVlZChzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIGludCBz cGVlZCkKPj4gQEAgLTYwMiwxMCArNjA5LDE0IEBAIHZvaWQgaW50ZWxfZ21idXNfZm9yY2VfYml0 KHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgYm9vbCBmb3JjZV9iaXQpCj4+ICB2b2lkIGlu dGVsX3RlYXJkb3duX2dtYnVzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4+ICB7Cj4+ICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gLQlp bnQgaTsKPj4gKwlzdHJ1Y3QgaW50ZWxfZ21idXMgKmJ1czsKPj4gKwl1bnNpZ25lZCBpbnQgcGlu Owo+PiArCj4+ICsJZm9yIChwaW4gPSAwOyBwaW4gPCBBUlJBWV9TSVpFKGRldl9wcml2LT5nbWJ1 cyk7IHBpbisrKSB7Cj4+ICsJCWlmICghaW50ZWxfZ21idXNfaXNfdmFsaWRfcGluKHBpbikpCj4+ ICsJCQljb250aW51ZTsKPj4gIAo+PiAtCWZvciAoaSA9IDA7IGkgPCBHTUJVU19OVU1fUE9SVFM7 IGkrKykgewo+PiAtCQlzdHJ1Y3QgaW50ZWxfZ21idXMgKmJ1cyA9ICZkZXZfcHJpdi0+Z21idXNb aV07Cj4+ICsJCWJ1cyA9ICZkZXZfcHJpdi0+Z21idXNbcGluXTsKPj4gIAkJaTJjX2RlbF9hZGFw dGVyKCZidXMtPmFkYXB0ZXIpOwo+PiAgCX0KPj4gIH0KPj4gLS0gCj4+IDIuMS40Cj4+IAo+PiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBJbnRlbC1n ZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+Cj4g LS0gCj4gVmlsbGUgU3lyasOkbMOkCj4gSW50ZWwgT1RDCgotLSAKSmFuaSBOaWt1bGEsIEludGVs IE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==