From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v2 2/3] drm/dp: Adjust i2c-over-aux retry count based on message size and i2c bus speed Date: Tue, 01 Sep 2015 12:29:33 +0300 Message-ID: <87y4gq4hdu.fsf@intel.com> References: <1440514590-30837-1-git-send-email-ville.syrjala@linux.intel.com> <1440618907-11169-1-git-send-email-ville.syrjala@linux.intel.com> <1440618907-11169-2-git-send-email-ville.syrjala@linux.intel.com> <20150901091443.GJ1367@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id D1E286E4A6 for ; Tue, 1 Sep 2015 02:26:34 -0700 (PDT) In-Reply-To: <20150901091443.GJ1367@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , ville.syrjala@linux.intel.com Cc: moosotc@gmail.com, Simon Farnsworth , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVHVlLCAwMSBTZXAgMjAxNSwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90 ZToKPiBPbiBXZWQsIEF1ZyAyNiwgMjAxNSBhdCAxMDo1NTowNlBNICswMzAwLCB2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxs ZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPj4gCj4+IENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9m IHJldHJpZXMgd2Ugc2hvdWxkIGRvIGZvciBlYWNoIGkyYy1vdmVyLWF1eAo+PiBtZXNzYWdlIGJh c2VkIG9uIHRoZSB0aW1lIGl0IHRha2VzIHRvIHBlcmZvcm0gdGhlIGkyYyB0cmFuc2ZlciB2cy4g dGhlCj4+IGF1eCB0cmFuc2Zlci4gV2UgYXNzdW1lIHRoZSBzaG9ydGVzdCBwb3NzaWJsZSBsZW5n dGggZm9yIHRoZSBhdXgKPj4gdHJhbnNmZXIsIGFuZCB0aGUgbG9uZ2VzdCBwb3NzaWJsZSAoZXhs dWRpbmcgY2xvY2sgc3RyZXRjaGluZykgZm9yIHRoZQo+PiBpMmMgdHJhbnNmZXIuCj4+IAo+PiBU aGUgRFAgc3BlYyBoYXMgc29tZSBleGFtcGxlcyBvbiBob3cgdG8gY2FsY3VsYXRlIHRoaXMsIGJ1 dCB3ZSBkb24ndAo+PiBjYWxjdWxhdGUgdGhpbmdzIHF1aXRlIHRoZSBzYW1lIHdheS4gVGhlIHNw ZWMgZG9lc24ndCBhY2NvdW50IGZvciB0aGUKPj4gcmV0cnkgaW50ZXJ2YWwgKGFzc3VtZXMgaW1t ZWRpYXRlIHJldHJ5IG9uIGRlZmVyKSwgYW5kIGRvZXNuJ3QgYXNzdW1lCj4+IHRoZSBiZXN0L3dv cnN0IGNhc2UgYmVoYXZpb3VyIGFzIHdlIGRvLgo+PiAKPj4gTm90ZSB0aGF0IGN1cnJlbnRseSB3 ZSBhc3N1bWUgMTAga0h6IHNwZWVkIGZvciB0aGUgaTJjIGJ1cy4gU29tZSByZWFsCj4+IHdvcmxk IGRldmljZXMgKGVnLiBzb21lIEFwcGxlIERQLT5WR0EgZG9uZ2xlKSBmYWlscyB3aXRoIGxlc3Mg dGhhbiAxNgo+PiByZXRyaWVzLiBhbmQgdGhhdCB3b3VsZCBjb3JyZXNwb25kIHRvIHNvbWV0aGlu ZyBjbG9zZSB0byAxNSBrSHogKHdpdGgKPj4gb3VyIG1ldGhvZCBvZiBjYWxjdWxhdGluZyB0aGlu Z3MpIEJ1dCBsZXQncyBqdXN0IGdvIGZvciAxMCBrSHogdG8gYmUKPj4gb24gdGhlIHNhZmUgc2lk ZS4gSWRlYWxseSB3ZSBzaG91bGQgcXVlcnkvc2V0IHRoZSBpMmMgYnVzIHNwZWVkIHZpYQo+PiBE UENEIGJ1dCBmb3Igbm93IHRoaXMgc2hvdWxkIGF0IGxlYWFzdCByZW1vdmUgdGhlIHJlZ3Jlc3Np b24gZnJvbSB0aGUKPj4gMS0+MTYgYnl0ZSB0cmFzbmZlciBzaXplIGNoYW5nZS4gQW5kIG9mIGNv dXJzZSBpZiB0aGUgc2luayBjb21wbGV0ZXMKPj4gdGhlIHRyYW5zZmVyIHF1aWNrZXIgdGhpcyBz aG91bGRuJ3Qgc2xvdyB0aGluZ3MgZG93biBzaW5jZSB3ZSBkb24ndAo+PiBjaGFuZ2UgdGhlIGlu dGVydmFsIGJldHdlZW4gcmV0cmllcy4KPj4gCj4+IEkgZGlkIGEgZmV3IGV4cGVyaW1lbnRzIHdp dGggYSBEUC0+RFZJIGRvbmdsZSBJIGhhdmUgdGhhdCBhbGxvd3MgeW91Cj4+IHRvIGNoYW5nZSB0 aGUgaTJjIGJ1cyBzcGVlZC4gSGVyZSBhcmUgdGhlIHJlc3VsdHMgb2YgbWUgY2hhbmdpbmcgdGhl Cj4+IGFjdHVhbCBidXMgc3BlZWQgYW5kIHRoZSBhc3N1bWVkIGJ1cyBzcGVlZCBhbmQgc2VlaW5n IHdoZW4gd2Ugc3RhcnQKPj4gdG8gZmFpbCB0aGUgb3BlcmF0aW9uOgo+PiAKPj4gYWN0dWFsIGky YyBraHogICAgICAgICAgYXNzdW1lZCBpMmMga2h6ICAgICAgICAgbWF4IHJldHJpZXMKPj4gMSAg ICAgICAgICAgICAgICAgICAgICAgMSBvayAtPiAyIGZhaWwgICAgICAgICAgMjExIG9rIC0+IDEw NiBmYWlsCj4+IDUgICAgICAgICAgICAgICAgICAgICAgIDggb2sgLT4gOSBmYWlsICAgICAgICAg IDI3IG9rIC0+IDI0IGZhaWwKPj4gMTAgICAgICAgICAgICAgICAgICAgICAgMTcgb2sgLT4gMTgg ZmFpbCAgICAgICAgMTMgb2sgLT4gMTIgZmFpbAo+PiAxMDAgICAgICAgICAgICAgICAgICAgICAy MTAgb2sgLT4gMjExIGZhaWwgICAgICAyIG9rIC0+IDEgZmFpbAo+PiAKPj4gU28gYmFzZWQgb24g dGhhdCB3ZSBoYXZlIGEgZmFpcmx5IGRlY2VudCBzYWZldHkgbWFyZ2luIGJha2VkIGludG8KPj4g dGhlIGZvcm11bGEgdG8gY2FsY3VsYXRlIHRoZSBtYXggbnVtYmVyIG9mIHJldHJpZXMuCj4+IAo+ PiBGaXhlcyBhIHJlZ3Jlc3Npb24gd2l0aCBzb21lIERQIGRvbmdsZXMgZnJvbToKPj4gY29tbWl0 IDFkMDAyZmE3MjA3MzhiY2QwYmRkYjkxNzhlOWVhMDc3MzI4OGUxZGQKPj4gQXV0aG9yOiBTaW1v biBGYXJuc3dvcnRoIDxzaW1vbi5mYXJuc3dvcnRoQG9uZWxhbi5jby51az4KPj4gRGF0ZTogICBU dWUgRmViIDEwIDE4OjM4OjA4IDIwMTUgKzAwMDAKPj4gCj4+ICAgICBkcm0vZHA6IFVzZSBsYXJn ZSB0cmFuc2FjdGlvbnMgZm9yIEkyQyBvdmVyIEFVWAo+PiAKPj4gdjI6IFVzZSBiZXN0IGNhc2Ug Zm9yIEFVWCBhbmQgd29yc3QgY2FzZSBmb3IgaTJjIChTaW1vbiBGYXJuc3dvcnRoKQo+PiAgICAg QWRkIGEgZGVmaW5lIG91ciBBVVggcmV0cnkgaW50ZXJ2YWwgYW5kIGFjY291bnQgZm9yIGl0Cj4+ IAo+PiBDYzogU2ltb24gRmFybnN3b3J0aCA8c2ltb24uZmFybnN3b3J0aEBvbmVsYW4uY29tPgo+ PiBDYzogbW9vc290Y0BnbWFpbC5jb20KPj4gVGVzdGVkLWJ5OiBtb29zb3RjQGdtYWlsLmNvbQo+ PiBCdWd6aWxsYTogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9 OTE0NTEKPj4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX2hlbHBlci5j IHwgODEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPj4gIDEgZmls ZSBjaGFuZ2VkLCA3OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+PiAKPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v ZHJtX2RwX2hlbHBlci5jCj4+IGluZGV4IDcwNjllNTQuLjIzYjlmY2MgMTAwNjQ0Cj4+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfaGVscGVyLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9kcF9oZWxwZXIuYwo+PiBAQCAtNDI0LDYgKzQyNCw3OCBAQCBzdGF0aWMgdTMyIGRybV9k cF9pMmNfZnVuY3Rpb25hbGl0eShzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpCj4+ICAJICAg ICAgIEkyQ19GVU5DXzEwQklUX0FERFI7Cj4+ICB9Cj4+ICAKPj4gKyNkZWZpbmUgQVVYX1BSRUNI QVJHRV9MRU4gMTAgLyogMTAgdG8gMTYgKi8KPj4gKyNkZWZpbmUgQVVYX1NZTkNfTEVOICgxNiAr IDQpIC8qIHByZWFtYmxlICsgQVVYX1NZTkNfRU5EICovCj4+ICsjZGVmaW5lIEFVWF9TVE9QX0xF TiA0Cj4+ICsjZGVmaW5lIEFVWF9DTURfTEVOIDQKPj4gKyNkZWZpbmUgQVVYX0FERFJFU1NfTEVO IDIwCj4+ICsjZGVmaW5lIEFVWF9SRVBMWV9QQURfTEVOIDQKPj4gKyNkZWZpbmUgQVVYX0xFTkdU SF9MRU4gOAo+PiArCj4+ICsvKgo+PiArICogQ2FsY3VsYXRlIHRoZSBsZW5ndGggb2YgdGhlIEFV WCByZXF1ZXN0L3JlcGx5LiBHaXZlcyB0aGUgImJlc3QiCj4+ICsgKiBjYXNlIGVzdGltYXRlLCBp ZS4gc3VjY2Vzc2Z1bCB3aGlsZSBhcyBzaG9ydCBhcyBwb3NzaWJsZS4KPj4gKyAqLwo+PiArc3Rh dGljIGludCBkcm1fZHBfYXV4X3JlcV9sZW4oY29uc3Qgc3RydWN0IGRybV9kcF9hdXhfbXNnICpt c2cpCj4+ICt7Cj4+ICsJaW50IGxlbiA9IEFVWF9QUkVDSEFSR0VfTEVOICsgQVVYX1NZTkNfTEVO ICsgQVVYX1NUT1BfTEVOICsKPj4gKwkJQVVYX0NNRF9MRU4gKyBBVVhfQUREUkVTU19MRU4gKyBB VVhfTEVOR1RIX0xFTjsKPj4gKwo+PiArCWlmICgobXNnLT5yZXF1ZXN0ICYgRFBfQVVYX0kyQ19S RUFEKSA9PSAwKQo+PiArCQlsZW4gKz0gbXNnLT5zaXplICogODsKPj4gKwo+PiArCXJldHVybiBs ZW47Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBpbnQgZHJtX2RwX2F1eF9yZXBseV9sZW4oY29uc3Qg c3RydWN0IGRybV9kcF9hdXhfbXNnICptc2cpCj4+ICt7Cj4+ICsJaW50IGxlbiA9IEFVWF9QUkVD SEFSR0VfTEVOICsgQVVYX1NZTkNfTEVOICsgQVVYX1NUT1BfTEVOICsKPj4gKwkJQVVYX0NNRF9M RU4gKyBBVVhfUkVQTFlfUEFEX0xFTjsKPj4gKwo+PiArCS8qCj4+ICsJICogRm9yIHJlYWQgd2Ug ZXhwZWN0IHdoYXQgd2FzIGFza2VkLiBGb3Igd3JpdGVzIHRoZXJlIHdpbGwKPj4gKwkgKiBiZSAw IG9yIDEgZGF0YSBieXRlcy4gQXNzdW1lIDAgZm9yIHRoZSAiYmVzdCIgY2FzZS4KPj4gKwkgKi8K Pj4gKwlpZiAobXNnLT5yZXF1ZXN0ICYgRFBfQVVYX0kyQ19SRUFEKQo+PiArCQlsZW4gKz0gbXNn LT5zaXplICogODsKPj4gKwo+PiArCXJldHVybiBsZW47Cj4+ICt9Cj4+ICsKPj4gKyNkZWZpbmUg STJDX1NUQVJUX0xFTiAxCj4+ICsjZGVmaW5lIEkyQ19TVE9QX0xFTiAxCj4+ICsjZGVmaW5lIEky Q19BRERSX0xFTiA5IC8qIEFERFJFU1MgKyBSL1cgKyBBQ0svTkFDSyAqLwo+PiArI2RlZmluZSBJ MkNfREFUQV9MRU4gOSAvKiBEQVRBICsgQUNLL05BQ0sgKi8KPj4gKwo+PiArLyoKPj4gKyAqIENh bGN1bGF0ZSB0aGUgbGVuZ3RoIG9mIHRoZSBpMmMgdHJhbnNmZXIgKGluIEFVWCBjbG9ja3MpCj4+ ICsgKiBhc3N1bWluZyB0aGUgaTJjIGJ1cyBzcGVlZCBpcyBhcyBzcGVjaWZpZWQuIEdpdmVzIHRo ZSB0aGUKPj4gKyAqICJ3b3JzdCIgY2FzZSBlc3RpbWF0ZSwgaWUuIHN1Y2Nlc3NmdWwgd2hpbGUg YXMgbG9uZyBhcyBwb3NzaWJsZS4KPj4gKyAqIERvZXNuJ3QgYWNjb3VudCB0aGUgdGhlICJNT1Qi IGJpdCwgYW5kIGluc3RlYWQgYXNzdW1lcyBlYWNoCj4+ICsgKiBtZXNzYWdlIGluY2x1ZGVzIGEg U1RBUlQsIEFERFJFU1MgYW5kIFNUT1AuIE5laXRoZXIgZG9lcyBpdAo+PiArICogYWNjb3VudCBm b3IgYWRkaXRpb25hbCByYW5kb20gdmFyaWFibGVzIHN1Y2ggYXMgY2xvY2sgc3RyZXRjaGluZy4K Pj4gKyAqLwo+PiArc3RhdGljIGludCBkcm1fZHBfaTJjX21zZ19sZW4oY29uc3Qgc3RydWN0IGRy bV9kcF9hdXhfbXNnICptc2csCj4+ICsJCQkgICAgICBpbnQgaTJjX3NwZWVkX2toeikKPj4gK3sK Pj4gKwlyZXR1cm4gKEkyQ19TVEFSVF9MRU4gKyBJMkNfQUREUl9MRU4gKyBtc2ctPnNpemUgKiBJ MkNfREFUQV9MRU4gKwo+PiArCQlJMkNfU1RPUF9MRU4pICogMTAwMCAvIGkyY19zcGVlZF9raHo7 Cj4KPiBUaGlzIGRvZXNuJ3Qgc2VlbSB0byBjb21wdXRlIHRoZSBsZW5naHQsIGJ1dCB0aGUgdGlt ZSBhIHRyYW5zZmVyIHRha2VzLCBpbgo+IHVzZWMgKGlmIEkgaGF2ZW4ndCBzY3Jld2VkIHVwIG15 IG51bWJlcnMgLi4uKS4gQWxzbyBESVZfUk9VTkRfRE9XTiB0byBtYWtlCj4gdGhlIGRlZmVuc2l2 ZW5lc3MgY2xlYXI/Cj4KPj4gK30KPj4gKwo+PiArLyoKPj4gKyAqIERldGVyaW5lIGhvdyBtYW55 IHJldHJpZXMgc2hvdWxkIGJlIGF0dGVtcHRlZCB0byBzdWNjZXNzZnVsbHkgdHJhbnNmZXIKPgo+ IERldGVyaV9tX2UuCgpEZXRlcm1pbmUuIDopCgo+Cj4+ICsgKiB0aGUgc3BlY2lmaWVkIG1lc3Nh Z2UsIGJhc2VkIG9uIHRoZSBlc3RpbWF0ZWQgZHVyYXRpb25zIG9mIHRoZQo+PiArICogaTJjIGFu ZCBBVVggdHJhbnNmZXJzLgo+PiArICovCj4+ICtzdGF0aWMgaW50IGRybV9kcF9pMmNfcmV0cnlf Y291bnQoY29uc3Qgc3RydWN0IGRybV9kcF9hdXhfbXNnICptc2csCj4+ICsJCQkgICAgICBpbnQg aTJjX3NwZWVkX2toeikKPj4gK3sKPj4gKwlpbnQgYXV4X2xlbiA9IGRybV9kcF9hdXhfcmVxX2xl bihtc2cpICsgZHJtX2RwX2F1eF9yZXBseV9sZW4obXNnKTsKPj4gKwlpbnQgaTJjX2xlbiA9IGRy bV9kcF9pMmNfbXNnX2xlbihtc2csIGkyY19zcGVlZF9raHopOwo+PiArCj4+ICsJcmV0dXJuIERJ Vl9ST1VORF9VUChpMmNfbGVuLCBhdXhfbGVuICsgQVVYX1JFVFJZX0lOVEVSVkFMKTsKPgo+IFNv IGFzc3VtaW5nIEkgZ2V0IHRoaW5ncyByaWdodCBpMmNfbGVuIGlzIGFjdHVhbGx5IGkyY190aW1l X3VzLCBidXQKPiBhdXhfbGVuIGlzIHN0aWxsIGp1c3QgYSBsZW5ndGggKGFuZCBzaW5jZSB0aGUg YnVzIHJ1bnMgYXQgMk1IeiBpdCBkb2Vzbid0Cj4gc2VlbSB0byBqdXN0IGFkZCB1cCBjb3JyZWN0 bHkpLiBCdXQgQVVYX1JFVFJZX0lOVEVSVkFMIGlzIGluIHVzZWMgKGFuZCBJCj4gZXhwZWN0ZWQg YW4gdXNlYy91c2VjIGRpdmlzaW9uIGZvciB0aGUgcmF0aW9uKS4gSSB0aGluayB0aGVyZSdzIGEK PiBhdXhfdGltZV91cyA9IERJVl9ST1VORF9VUChhdXhfbGVuICogMTAwMCAqIDEwMDAgLyBhdXhf c3BlZWRfSFopIG1pc3NpbmcuCj4KPiBDaGVlcnMsIERhbmllbAo+Cj4+ICt9Cj4+ICsKPj4gIC8q Cj4+ICAgKiBUcmFuc2ZlciBhIHNpbmdsZSBJMkMtb3Zlci1BVVggbWVzc2FnZSBhbmQgaGFuZGxl IHZhcmlvdXMgZXJyb3IgY29uZGl0aW9ucywKPj4gICAqIHJldHJ5aW5nIHRoZSB0cmFuc2FjdGlv biBhcyBhcHByb3ByaWF0ZS4gIEl0IGlzIGFzc3VtZWQgdGhhdCB0aGUKPj4gQEAgLTQzNiwxMyAr NTA4LDE4IEBAIHN0YXRpYyBpbnQgZHJtX2RwX2kyY19kb19tc2coc3RydWN0IGRybV9kcF9hdXgg KmF1eCwgc3RydWN0IGRybV9kcF9hdXhfbXNnICptc2cpCj4+ICB7Cj4+ICAJdW5zaWduZWQgaW50 IHJldHJ5LCBkZWZlcl9pMmM7Cj4+ICAJaW50IHJldDsKPj4gLQo+PiAgCS8qCj4+ICAJICogRFAx LjIgc2VjdGlvbnMgMi43LjcuMS41LjYuMSBhbmQgMi43LjcuMS42LjYuMTogQSBEUCBTb3VyY2Ug ZGV2aWNlCj4+ICAJICogaXMgcmVxdWlyZWQgdG8gcmV0cnkgYXQgbGVhc3Qgc2V2ZW4gdGltZXMg dXBvbiByZWNlaXZpbmcgQVVYX0RFRkVSCj4+ICAJICogYmVmb3JlIGdpdmluZyB1cCB0aGUgQVVY IHRyYW5zYWN0aW9uLgo+PiArCSAqCj4+ICsJICogV2UgYWxzbyB0cnkgdG8gYWNjb3VudCBmb3Ig dGhlIGkyYyBidXMgc3BlZWQuCj4+ICsJICogRklYTUUgY3VycmVudGx5IGFzc3VtZXMgMTAga0h6 IGFzIHNvbWUgcmVhbCB3b3JsZCBkZXZpY2VzIHNlZW0KPj4gKwkgKiB0byByZXF1aXJlIGl0LiBX ZSBzaG91bGQgcXVlcnkvc2V0IHRoZSBzcGVlZCB2aWEgRFBDRCBpZiBzdXBwb3J0ZWQuCj4+ICAJ ICovCj4+IC0JZm9yIChyZXRyeSA9IDAsIGRlZmVyX2kyYyA9IDA7IHJldHJ5IDwgKDcgKyBkZWZl cl9pMmMpOyByZXRyeSsrKSB7Cj4+ICsJaW50IG1heF9yZXRyaWVzID0gbWF4KDcsIGRybV9kcF9p MmNfcmV0cnlfY291bnQobXNnLCAxMCkpOwo+PiArCj4+ICsJZm9yIChyZXRyeSA9IDAsIGRlZmVy X2kyYyA9IDA7IHJldHJ5IDwgKG1heF9yZXRyaWVzICsgZGVmZXJfaTJjKTsgcmV0cnkrKykgewo+ PiAgCQltdXRleF9sb2NrKCZhdXgtPmh3X211dGV4KTsKPj4gIAkJcmV0ID0gYXV4LT50cmFuc2Zl cihhdXgsIG1zZyk7Cj4+ICAJCW11dGV4X3VubG9jaygmYXV4LT5od19tdXRleCk7Cj4+IC0tIAo+ PiAyLjQuNgo+PiAKPj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KPj4gZHJpLWRldmVsIG1haWxpbmcgbGlzdAo+PiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwKPgo+IC0tIAo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwg SW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5mZndsbC5jaAo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZHJpLWRldmVsIG1haWxpbmcgbGlz dAo+IGRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCgotLSAKSmFuaSBOaWt1bGEsIElu dGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVs QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vZHJpLWRldmVsCg==