From mboxrd@z Thu Jan 1 00:00:00 1970
From: Philipp Zabel
Subject: Re: [PATCH] drm: atmel_hlcdc: Add support for get_timings
Date: Thu, 28 May 2015 13:13:28 +0200
Message-ID: <1432811608.3228.43.camel@pengutronix.de>
References: <1432199216-1139-1-git-send-email-davidcdueck@googlemail.com>
<20150526112853.688d26b7@bbrezillon>
Mime-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
Return-path:
Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de
[92.198.50.35])
by gabe.freedesktop.org (Postfix) with ESMTP id A42C66EB6E
for ; Thu, 28 May 2015 04:13:35 -0700 (PDT)
In-Reply-To: <20150526112853.688d26b7@bbrezillon>
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Errors-To: dri-devel-bounces@lists.freedesktop.org
Sender: "dri-devel"
To: Boris Brezillon
Cc: David Dueck , daniel.vetter@ffwll.ch, nicolas.ferre@atmel.com, dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org
List-Id: dri-devel@lists.freedesktop.org
SGkgQm9yaXMsCgpBbSBEaWVuc3RhZywgZGVuIDI2LjA1LjIwMTUsIDExOjI4ICswMjAwIHNjaHJp
ZWIgQm9yaXMgQnJlemlsbG9uOgo+IEhpIERhdmlkLAo+IAo+IE9uIFRodSwgMjEgTWF5IDIwMTUg
MTE6MDY6NTYgKzAyMDAKPiBEYXZpZCBEdWVjayA8ZGF2aWRjZHVlY2tAZ29vZ2xlbWFpbC5jb20+
IHdyb3RlOgo+IAo+ID4gZHJtX3BhbmVsIHN1cHBvcnRzIHF1ZXJ5aW5nIHRpbWluZyByYW5nZXMu
IElmIHRoZSBzdXBwbGllZCBtb2RlIGRvZXMKPiA+IG5vdCB3b3JrIHdpdGggdGhlIGhsY2RjIHdl
IHF1ZXJ5IHRoZSBwYW5lbCBhbmQgdHJ5IHRvIGZpbmQgYSBzdWl0YWJsZQo+ID4gbW9kZS4KPiAK
PiBUaGlzIHBhdGNoIGxvb2tzIGdvb2QgdG8gbWUuCj4gCj4gUGhpbGlwLCBUaGllcnJ5LCBjb3Vs
ZCB5b3UgY29uZmlybSB0aGlzIGlzIHRoZSBjb3JyZWN0IHdheSBvZiBkZWFsaW5nCj4gd2l0aCB0
aW1pbmcgcmFuZ2VzLgoKSSB3b25kZXIgYWJvdXQgdHdvIHRoaW5nczoKClRoaXMgaW1wbGVtZW50
YXRpb24gbWluaW1pemVzIHRoZSBzdW0gb2YgYWJzb2x1dGUgZGlmZmVyZW5jZXMgYmV0d2Vlbgpj
aG9zZW4gYW5kIHR5cGljYWwgdmFsdWVzLiBJIHdvbmRlciBpZiBpdCB3b3VsZCBiZSBiZXR0ZXIg
dG8gdHJ5IGFuZAptaW5pbWl6ZSB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBjaG9zZW4gYW5k
IG5vbWluYWwgdmVydGljYWwgcmVmcmVzaApyYXRlLgoKSXMgdGhpcyBzb21ldGhpbmcgdGhhdCBz
aG91bGQgYmUgZG9uZSBlYXJsaWVyLCBpbiBjcmVhdGVfcGFuZWxfb3V0cHV0LApzbyB0aGF0IHRo
ZSBjb25uZWN0b3IncyBtb2RlcyBhbHJlYWR5IGNvbnRhaW4gdGhlIGNvcnJlY3RlZCBzZXR0aW5n
cz8KCnJlZ2FyZHMKUGhpbGlwcAoKPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogRGF2aWQgRHVlY2sg
PGRhdmlkY2R1ZWNrQGdvb2dsZW1haWwuY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJt
L2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX291dHB1dC5jIHwgMTE4ICsrKysrKysrKysrKysrKysr
KystLS0tCj4gPiAgMSBmaWxlIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDIwIGRlbGV0aW9u
cygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0
bWVsX2hsY2RjX291dHB1dC5jIGIvZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hs
Y2RjX291dHB1dC5jCj4gPiBpbmRleCA5YzQ1MTMwLi5lYTM2YzI0IDEwMDY0NAo+ID4gLS0tIGEv
ZHJpdmVycy9ncHUvZHJtL2F0bWVsLWhsY2RjL2F0bWVsX2hsY2RjX291dHB1dC5jCj4gPiArKysg
Yi9kcml2ZXJzL2dwdS9kcm0vYXRtZWwtaGxjZGMvYXRtZWxfaGxjZGNfb3V0cHV0LmMKPiA+IEBA
IC0yMCw2ICsyMCw3IEBACj4gPiAgICovCj4gPiAgCj4gPiAgI2luY2x1ZGUgPGxpbnV4L29mX2dy
YXBoLmg+Cj4gPiArI2luY2x1ZGUgPHZpZGVvL2Rpc3BsYXlfdGltaW5nLmg+Cj4gPiAgCj4gPiAg
I2luY2x1ZGUgPGRybS9kcm1QLmg+Cj4gPiAgI2luY2x1ZGUgPGRybS9kcm1fcGFuZWwuaD4KPiA+
IEBAIC03OCw2ICs3OSw4IEBAIGRybV9lbmNvZGVyX3RvX2F0bWVsX2hsY2RjX3JnYl9vdXRwdXQo
c3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQo+ID4gIHN0cnVjdCBhdG1lbF9obGNkY19wYW5l
bCB7Cj4gPiAgCXN0cnVjdCBhdG1lbF9obGNkY19yZ2Jfb3V0cHV0IGJhc2U7Cj4gPiAgCXN0cnVj
dCBkcm1fcGFuZWwgKnBhbmVsOwo+ID4gKwlzdHJ1Y3QgZGlzcGxheV90aW1pbmcgKnRpbWluZ3M7
Cj4gPiArCXVuc2lnbmVkIGludCBudW1fdGltaW5nczsKPiA+ICB9Owo+ID4gIAo+ID4gIHN0YXRp
YyBpbmxpbmUgc3RydWN0IGF0bWVsX2hsY2RjX3BhbmVsICoKPiA+IEBAIC0xMDQsMTQgKzEwNyw2
IEBAIHN0YXRpYyB2b2lkIGF0bWVsX2hsY2RjX3BhbmVsX2VuY29kZXJfZGlzYWJsZShzdHJ1Y3Qg
ZHJtX2VuY29kZXIgKmVuY29kZXIpCj4gPiAgCWRybV9wYW5lbF9kaXNhYmxlKHBhbmVsLT5wYW5l
bCk7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyBib29sCj4gPiAtYXRtZWxfaGxjZGNfcGFuZWxf
ZW5jb2Rlcl9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPiA+IC0JCQkJ
ICAgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+IC0JCQkJICAgICBz
dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWQpCj4gPiAtewo+ID4gLQlyZXR1cm4gdHJ1
ZTsKPiA+IC19Cj4gPiAtCj4gPiAgc3RhdGljIHZvaWQKPiA+ICBhdG1lbF9obGNkY19yZ2JfZW5j
b2Rlcl9tb2RlX3NldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiAgCQkJCSBzdHJ1
Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKPiA+IEBAIC0xNDIsOCArMTM3LDg2IEBAIGF0bWVs
X2hsY2RjX3JnYl9lbmNvZGVyX21vZGVfc2V0KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwK
PiA+ICAJCQkgICBjZmcpOwo+ID4gIH0KPiA+ICAKPiA+ICsvKioKPiA+ICsgKiBhdG1lbF9obGNk
Y19jaG9vc2VfcGFyYW1ldGVyIC0gY2hvb3NlIHRpbWluZyBwYXJhbWV0ZXIKPiA+ICsgKiBAZGNf
bWluOiBtaW5pbXVtIHBhcmFtZXRlciB2YWx1ZSBhbGxvd2VkIGJ5IGRjCj4gPiArICogQGRjX21h
eDogbWF4aW11bSBwYXJhbWV0ZXIgdmFsdWUgYWxsb3dlZCBieSBkYwo+ID4gKyAqIEB0ZTogcGFy
YW1ldGVyIHJhbmdlIGFsbG93ZWQgYnkgcGFuZWwKPiA+ICsgKiBAcmVzdWx0OiBjaG9zZW4gcGFy
YW1ldGVyCj4gPiArICoKPiA+ICsgKiBERVNDUklQVElPTjoKPiA+ICsgKiBJZiB0aGVyZSBpcyBv
dmVybGFwIGluIHRoZSBhbGxvd2VkIHJhbmdlcywgd2Ugd2lsbCBwaWNrIGEgcGFyYW1ldGVyCj4g
PiArICogbWluaW1pemluZyB0aGUgZGlzdGFuY2UgdG8gdGUudHlwLiBJZiBub3QsIHdlIHJldHVy
biB0ZS5taW4gb3IgdGUubWF4Lgo+ID4gKyAqKi8KPiA+ICtzdGF0aWMgdTMyIGF0bWVsX2hsY2Rj
X2Nob29zZV9wYXJhbWV0ZXIodTMyIGRjX21pbiwgdTMyIGRjX21heCwKPiA+ICsJCQkJCXN0cnVj
dCB0aW1pbmdfZW50cnkgdGUpCj4gPiArewo+ID4gKwlpZiAodGUudHlwIDw9IGRjX21heCAmJiB0
ZS50eXAgPj0gZGNfbWluKQo+ID4gKwkJcmV0dXJuIHRlLnR5cDsKPiA+ICsJZWxzZSBpZiAodGUu
dHlwID4gZGNfbWF4KQo+ID4gKwkJcmV0dXJuIG1heChkY19tYXgsIHRlLm1pbik7Cj4gPiArCWVs
c2UKPiA+ICsJCXJldHVybiBtaW4oZGNfbWluLCB0ZS5tYXgpOwo+ID4gK30KPiA+ICsKPiA+ICtz
dGF0aWMgdm9pZCBhdG1lbF9obGNkY19jYWxjdWxhdGVfbW9kZShzdHJ1Y3QgZGlzcGxheV90aW1p
bmcgKnRpbWluZ3MsCj4gPiArCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRq
dXN0ZWRfbW9kZSkKPiA+ICt7Cj4gPiArCXUzMiBoc3luY19sZW4sIGhmcm9udF9wb3JjaCwgaGJh
Y2tfcG9yY2g7Cj4gPiArCXUzMiB2c3luY19sZW4sIHZmcm9udF9wb3JjaCwgdmJhY2tfcG9yY2g7
Cj4gPiArCj4gPiArCWhzeW5jX2xlbiA9IGF0bWVsX2hsY2RjX2Nob29zZV9wYXJhbWV0ZXIoMSwg
MHg0MCwgdGltaW5ncy0+aHN5bmNfbGVuKTsKPiA+ICsJdnN5bmNfbGVuID0gYXRtZWxfaGxjZGNf
Y2hvb3NlX3BhcmFtZXRlcigxLCAweDQwLCB0aW1pbmdzLT52c3luY19sZW4pOwo+ID4gKwo+ID4g
KwloZnJvbnRfcG9yY2ggPSBhdG1lbF9obGNkY19jaG9vc2VfcGFyYW1ldGVyKDEsIDB4MjAwLAo+
ID4gKwkJCQkJCSAgICB0aW1pbmdzLT5oZnJvbnRfcG9yY2gpOwo+ID4gKwloYmFja19wb3JjaCA9
IGF0bWVsX2hsY2RjX2Nob29zZV9wYXJhbWV0ZXIoMSwgMHgyMDAsCj4gPiArCQkJCQkJICAgdGlt
aW5ncy0+aGJhY2tfcG9yY2gpOwo+ID4gKwl2ZnJvbnRfcG9yY2ggPSBhdG1lbF9obGNkY19jaG9v
c2VfcGFyYW1ldGVyKDEsIDB4NDAsCj4gPiArCQkJCQkJICAgIHRpbWluZ3MtPnZmcm9udF9wb3Jj
aCk7Cj4gPiArCXZiYWNrX3BvcmNoID0gYXRtZWxfaGxjZGNfY2hvb3NlX3BhcmFtZXRlcigwLCAw
eDQwLAo+ID4gKwkJCQkJCSAgIHRpbWluZ3MtPnZiYWNrX3BvcmNoKTsKPiA+ICsKPiA+ICsJYWRq
dXN0ZWRfbW9kZS0+aHN5bmNfc3RhcnQgPSBhZGp1c3RlZF9tb2RlLT5oZGlzcGxheSArIGhmcm9u
dF9wb3JjaDsKPiA+ICsJYWRqdXN0ZWRfbW9kZS0+aHN5bmNfZW5kID0gYWRqdXN0ZWRfbW9kZS0+
aHN5bmNfc3RhcnQgKyBoc3luY19sZW47Cj4gPiArCWFkanVzdGVkX21vZGUtPmh0b3RhbCA9IGFk
anVzdGVkX21vZGUtPmhzeW5jX2VuZCArIGhiYWNrX3BvcmNoOwo+ID4gKwo+ID4gKwlhZGp1c3Rl
ZF9tb2RlLT52c3luY19zdGFydCA9IGFkanVzdGVkX21vZGUtPnZkaXNwbGF5ICsgdmZyb250X3Bv
cmNoOwo+ID4gKwlhZGp1c3RlZF9tb2RlLT52c3luY19lbmQgPSBhZGp1c3RlZF9tb2RlLT52c3lu
Y19zdGFydCArIHZzeW5jX2xlbjsKPiA+ICsJYWRqdXN0ZWRfbW9kZS0+dnRvdGFsID0gYWRqdXN0
ZWRfbW9kZS0+dnN5bmNfZW5kICsgdmJhY2tfcG9yY2g7Cj4gPiArfQo+ID4gKwo+ID4gK3N0YXRp
YyBpbnQKPiA+ICthdG1lbF9obGNkY19wYW5lbF9lbmNvZGVyX2F0b21pY19jaGVjayhzdHJ1Y3Qg
ZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiArCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2NydGNfc3Rh
dGUgKmNydGNfc3RhdGUsCj4gPiArCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0
ZSAqY29ubl9zdGF0ZSkKPiA+ICt7Cj4gPiArCXN0cnVjdCBhdG1lbF9obGNkY19yZ2Jfb3V0cHV0
ICpyZ2IgPQo+ID4gKwkJCWRybV9lbmNvZGVyX3RvX2F0bWVsX2hsY2RjX3JnYl9vdXRwdXQoZW5j
b2Rlcik7Cj4gPiArCXN0cnVjdCBhdG1lbF9obGNkY19wYW5lbCAqcGFuZWwgPSBhdG1lbF9obGNk
Y19yZ2Jfb3V0cHV0X3RvX3BhbmVsKHJnYik7Cj4gPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl
ICptb2RlID0gJmNydGNfc3RhdGUtPm1vZGU7Cj4gPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl
ICphZGp1c3RlZF9tb2RlID0gJmNydGNfc3RhdGUtPmFkanVzdGVkX21vZGU7Cj4gPiArCWludCBp
Owo+ID4gKwo+ID4gKwlpZiAoYXRtZWxfaGxjZGNfZGNfbW9kZV92YWxpZChyZ2ItPmRjLCBtb2Rl
KSA9PSBNT0RFX09LKQo+ID4gKwkJcmV0dXJuIDA7Cj4gPiArCj4gPiArCWZvciAoaSA9IDA7IGkg
PCBwYW5lbC0+bnVtX3RpbWluZ3M7IGkrKykgewo+ID4gKwkJaWYgKHBhbmVsLT50aW1pbmdzLT5o
YWN0aXZlLnR5cCAhPSBtb2RlLT5oZGlzcGxheSB8fAo+ID4gKwkJICAgIHBhbmVsLT50aW1pbmdz
LT52YWN0aXZlLnR5cCAhPSBtb2RlLT52ZGlzcGxheSkKPiA+ICsJCQljb250aW51ZTsKPiA+ICsK
PiA+ICsJCWF0bWVsX2hsY2RjX2NhbGN1bGF0ZV9tb2RlKHBhbmVsLT50aW1pbmdzLCBhZGp1c3Rl
ZF9tb2RlKTsKPiA+ICsJCWlmIChhdG1lbF9obGNkY19kY19tb2RlX3ZhbGlkKHJnYi0+ZGMsIGFk
anVzdGVkX21vZGUpID09Cj4gPiArCQkgICAgTU9ERV9PSykKPiA+ICsJCQlyZXR1cm4gMDsKPiA+
ICsJfQo+ID4gKwo+ID4gKwlyZXR1cm4gLUVJTlZBTDsKPiA+ICt9Cj4gPiArCj4gPiAgc3RhdGlj
IHN0cnVjdCBkcm1fZW5jb2Rlcl9oZWxwZXJfZnVuY3MgYXRtZWxfaGxjZGNfcGFuZWxfZW5jb2Rl
cl9oZWxwZXJfZnVuY3MgPSB7Cj4gPiAtCS5tb2RlX2ZpeHVwID0gYXRtZWxfaGxjZGNfcGFuZWxf
ZW5jb2Rlcl9tb2RlX2ZpeHVwLAo+ID4gKwkuYXRvbWljX2NoZWNrID0gYXRtZWxfaGxjZGNfcGFu
ZWxfZW5jb2Rlcl9hdG9taWNfY2hlY2ssCj4gPiAgCS5tb2RlX3NldCA9IGF0bWVsX2hsY2RjX3Jn
Yl9lbmNvZGVyX21vZGVfc2V0LAo+ID4gIAkuZGlzYWJsZSA9IGF0bWVsX2hsY2RjX3BhbmVsX2Vu
Y29kZXJfZGlzYWJsZSwKPiA+ICAJLmVuYWJsZSA9IGF0bWVsX2hsY2RjX3BhbmVsX2VuY29kZXJf
ZW5hYmxlLAo+ID4gQEAgLTE2OCwxNiArMjQxLDYgQEAgc3RhdGljIGludCBhdG1lbF9obGNkY19w
YW5lbF9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+ICAJcmV0
dXJuIHBhbmVsLT5wYW5lbC0+ZnVuY3MtPmdldF9tb2RlcyhwYW5lbC0+cGFuZWwpOwo+ID4gIH0K
PiA+ICAKPiA+IC1zdGF0aWMgaW50IGF0bWVsX2hsY2RjX3JnYl9tb2RlX3ZhbGlkKHN0cnVjdCBk
cm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gPiAtCQkJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxh
eV9tb2RlICptb2RlKQo+ID4gLXsKPiA+IC0Jc3RydWN0IGF0bWVsX2hsY2RjX3JnYl9vdXRwdXQg
KnJnYiA9Cj4gPiAtCQkJZHJtX2Nvbm5lY3Rvcl90b19hdG1lbF9obGNkY19yZ2Jfb3V0cHV0KGNv
bm5lY3Rvcik7Cj4gPiAtCj4gPiAtCXJldHVybiBhdG1lbF9obGNkY19kY19tb2RlX3ZhbGlkKHJn
Yi0+ZGMsIG1vZGUpOwo+ID4gLX0KPiA+IC0KPiA+IC0KPiA+ICAKPiA+ICBzdGF0aWMgc3RydWN0
IGRybV9lbmNvZGVyICoKPiA+ICBhdG1lbF9obGNkY19yZ2JfYmVzdF9lbmNvZGVyKHN0cnVjdCBk
cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4gPiBAQCAtMTkwLDcgKzI1Myw2IEBAIGF0bWVsX2hs
Y2RjX3JnYl9iZXN0X2VuY29kZXIoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+
ICAKPiA+ICBzdGF0aWMgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzIGF0bWVsX2hs
Y2RjX3BhbmVsX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgPSB7Cj4gPiAgCS5nZXRfbW9kZXMgPSBh
dG1lbF9obGNkY19wYW5lbF9nZXRfbW9kZXMsCj4gPiAtCS5tb2RlX3ZhbGlkID0gYXRtZWxfaGxj
ZGNfcmdiX21vZGVfdmFsaWQsCj4gPiAgCS5iZXN0X2VuY29kZXIgPSBhdG1lbF9obGNkY19yZ2Jf
YmVzdF9lbmNvZGVyLAo+ID4gIH07Cj4gPiAgCj4gPiBAQCAtMjczLDYgKzMzNSwyMiBAQCBzdGF0
aWMgaW50IGF0bWVsX2hsY2RjX2NyZWF0ZV9wYW5lbF9vdXRwdXQoc3RydWN0IGRybV9kZXZpY2Ug
KmRldiwKPiA+ICAJZHJtX3BhbmVsX2F0dGFjaChwLCAmcGFuZWwtPmJhc2UuY29ubmVjdG9yKTsK
PiA+ICAJcGFuZWwtPnBhbmVsID0gcDsKPiA+ICAKPiA+ICsJaWYgKCFwYW5lbC0+cGFuZWwtPmZ1
bmNzLT5nZXRfdGltaW5ncykKPiA+ICsJCXJldHVybiAwOwo+ID4gKwo+ID4gKwlwYW5lbC0+bnVt
X3RpbWluZ3MgPQo+ID4gKwkJcGFuZWwtPnBhbmVsLT5mdW5jcy0+Z2V0X3RpbWluZ3MocGFuZWwt
PnBhbmVsLCAwLCBOVUxMKTsKPiA+ICsJcGFuZWwtPnRpbWluZ3MgPQo+ID4gKwkJZGV2bV9remFs
bG9jKGRldi0+ZGV2LAo+ID4gKwkJCSAgICAgcGFuZWwtPm51bV90aW1pbmdzICogc2l6ZW9mKHN0
cnVjdCBkaXNwbGF5X3RpbWluZyksCj4gPiArCQkJICAgICBHRlBfS0VSTkVMKTsKPiA+ICsKPiA+
ICsJaWYgKCFwYW5lbC0+dGltaW5ncykKPiA+ICsJCXJldHVybiAwOwo+ID4gKwo+ID4gKwlwYW5l
bC0+cGFuZWwtPmZ1bmNzLT5nZXRfdGltaW5ncyhwYW5lbC0+cGFuZWwsIHBhbmVsLT5udW1fdGlt
aW5ncywKPiA+ICsJCQkJCSBwYW5lbC0+dGltaW5ncyk7Cj4gPiArCj4gPiAgCXJldHVybiAwOwo+
ID4gIAo+ID4gIGVycl9lbmNvZGVyX2NsZWFudXA6Cj4gCj4gCj4gCgoKX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk
cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v
cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK