From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v3 05/21] drm/bridge: Introduce drm_bridge_chain_get_next_bridge() Date: Sun, 24 Nov 2019 16:04:30 +0200 Message-ID: <20191124140430.GJ4727@pendragon.ideasonboard.com> References: <20191023154512.9762-1-boris.brezillon@collabora.com> <20191023154512.9762-6-boris.brezillon@collabora.com> <20191124103335.GF4727@pendragon.ideasonboard.com> <20191124115616.1491ae6d@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by gabe.freedesktop.org (Postfix) with ESMTPS id BD31D6E075 for ; Sun, 24 Nov 2019 14:04:42 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20191124115616.1491ae6d@collabora.com> 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: Mark Rutland , Neil Armstrong , dri-devel@lists.freedesktop.org, Thierry Reding , kernel@collabora.com, Sam Ravnborg , Nikita Yushchenko , Andrey Smirnov , Kyungmin Park , Chris Healy , devicetree@vger.kernel.org, Jonas Karlman , Rob Herring , Jernej Skrabec , Seung-Woo Kim List-Id: dri-devel@lists.freedesktop.org SGkgQm9yaXMsCgpPbiBTdW4sIE5vdiAyNCwgMjAxOSBhdCAxMTo1NjoxNkFNICswMTAwLCBCb3Jp cyBCcmV6aWxsb24gd3JvdGU6Cj4gT24gU3VuLCAyNCBOb3YgMjAxOSAxMjozMzozNSArMDIwMCBM YXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+ID4gT24gV2VkLCBPY3QgMjMsIDIwMTkgYXQgMDU6NDQ6 NTZQTSArMDIwMCwgQm9yaXMgQnJlemlsbG9uIHdyb3RlOgo+ID4gPiBBbmQgdXNlIGl0IGluIGRy aXZlcnMgYWNjZXNzaW5nIHRoZSBicmlkZ2UtPm5leHQgZmllbGQgZGlyZWN0bHkuCj4gPiA+IFRo aXMgaXMgcGFydCBvZiBvdXIgYXR0ZW1wdCB0byBtYWtlIHRoZSBicmlkZ2UgY2hhaW4gYSBkb3Vi bGUtbGlua2VkIGxpc3QKPiA+ID4gYmFzZWQgb24gdGhlIGdlbmVyaWMgbGlzdCBoZWxwZXJzLgo+ ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogQm9yaXMgQnJlemlsbG9uIDxib3Jpcy5icmV6aWxs b25AY29sbGFib3JhLmNvbT4KPiA+ID4gLS0tCj4gPiA+IENoYW5nZXMgaW4gdjM6Cj4gPiA+ICog SW5saW5lIGRybV9icmlkZ2VfY2hhaW5fZ2V0X25leHRfYnJpZGdlKCkgKFN1Z2dlc3RlZCBieSBM YXVyZW50KQo+ID4gPiAKPiA+ID4gQ2hhbmdlcyBpbiB2MjoKPiA+ID4gKiBLaWxsIHRoZSBsYXN0 L2ZpcnN0IGhlbHBlcnMgKHRoZXkncmUgbm90IHJlYWxseSBuZWVkZWQpCj4gPiA+ICogRHJvcCB0 aGUgIWJyaWRnZSB8fCAhYnJpZGdlLT5lbmNvZGVyIHRlc3QKPiA+ID4gLS0tCj4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMgfCAgMyArKy0KPiA+ID4gIGRyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jICAgICB8ICA2ICsrKystLQo+ID4gPiAgZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuYyAgICAgIHwgIDQgKystLQo+ID4gPiAgZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMgIHwgIDMgKystCj4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2kuYyAgICAgICAgICAgfCAgNCArKystCj4gPiA+ICBpbmNs dWRlL2RybS9kcm1fYnJpZGdlLmggICAgICAgICAgICAgICAgfCAxMyArKysrKysrKysrKysrCj4g PiA+ICA2IGZpbGVzIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4g PiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJt X2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCj4gPiA+IGlu ZGV4IDM5MTVmNTBiMDA1ZS4uMDA1YzY3ODk0Yjc4IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fZHNpLmMKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2V4eW5vcy9leHlub3NfZHJtX2RzaS5jCj4gPiA+IEBAIC0xNTkzLDkgKzE1OTMsMTAgQEAg c3RhdGljIGludCBleHlub3NfZHNpX2hvc3RfZGV0YWNoKHN0cnVjdCBtaXBpX2RzaV9ob3N0ICpo b3N0LAo+ID4gPiAgCQkJCSAgc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZGV2aWNlKQo+ID4gPiAg ewo+ID4gPiAgCXN0cnVjdCBleHlub3NfZHNpICpkc2kgPSBob3N0X3RvX2RzaShob3N0KTsKPiA+ ID4gLQlzdHJ1Y3QgZHJtX2JyaWRnZSAqb3V0X2JyaWRnZSA9IGRzaS0+YnJpZGdlLm5leHQ7Cj4g PiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRybSA9IGRzaS0+ZW5jb2Rlci5kZXY7Cj4gPiA+ICsJ c3RydWN0IGRybV9icmlkZ2UgKm91dF9icmlkZ2U7Cj4gPiA+ICAKPiA+ID4gKwlvdXRfYnJpZGdl ID0gZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2UoJmRzaS0+YnJpZGdlKTsgIAo+ID4g Cj4gPiBZb3UgbWF5IHdhbnQgdG8gc3RvcmUgdGhpcyBpbiB0aGUgZXh5bm9zX2RzaSBzdHJ1Y3R1 cmUgaW4gdGhlIHByZXZpb3VzCj4gPiBwYXRjaCB3aGVyZSB5b3UgcmV3b3JrIHRoaXMgZHJpdmVy Lgo+IAo+IERvIHdlIHJlYWxseSBuZWVkIHRvIHN0b3JlIGl0IHRoZXJlLCBzaW5jZSB3ZSBhbHJl YWR5IGhhdmUgYSBzaW1wbGUgd2F5Cj4gdG8gcmV0cmlldmUgdGhlIG5leHQgYnJpZGdlIGluIHRo ZSBjaGFpbj8KCldlIGRvbid0IGhhdmUgdG8gaW5kZWVkLiBJIHRob3VnaHQgaXQgd291bGQgYmUg c2ltcGxlciwgYnV0IHRoYXQncwpwcm9iYWJseSBzdWJqZWN0aXZlLgoKPiA+ID4gIAlpZiAoZHNp LT5wYW5lbCkgewo+ID4gPiAgCQltdXRleF9sb2NrKCZkcm0tPm1vZGVfY29uZmlnLm11dGV4KTsK PiA+ID4gIAkJZXh5bm9zX2RzaV9kaXNhYmxlKCZkc2ktPmJyaWRnZSk7Cj4gPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfaGRtaS5jCj4gPiA+IGluZGV4IGVhNjhiNWFkY2NiZS4uY2ZhYTVhYWI4 ODc2IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWku Ywo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYwo+ID4gPiBA QCAtMTIzOCwxNiArMTIzOCwxOCBAQCBzdGF0aWMgaW50IG10a19oZG1pX2Nvbm5fbW9kZV92YWxp ZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubiwKPiA+ID4gIAkJCQkgICAgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGUpCj4gPiA+ICB7Cj4gPiA+ICAJc3RydWN0IG10a19oZG1pICpoZG1p ID0gaGRtaV9jdHhfZnJvbV9jb25uKGNvbm4pOwo+ID4gPiArCXN0cnVjdCBkcm1fYnJpZGdlICpu ZXh0X2JyaWRnZTsKPiA+ID4gIAo+ID4gPiAgCWRldl9kYmcoaGRtaS0+ZGV2LCAieHJlcz0lZCwg eXJlcz0lZCwgcmVmcmVzaD0lZCwgaW50bD0lZCBjbG9jaz0lZFxuIiwKPiA+ID4gIAkJbW9kZS0+ aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5LCBtb2RlLT52cmVmcmVzaCwKPiA+ID4gIAkJISEobW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSksIG1vZGUtPmNsb2NrICogMTAwMCk7 Cj4gPiA+ICAKPiA+ID4gLQlpZiAoaGRtaS0+YnJpZGdlLm5leHQpIHsKPiA+ID4gKwluZXh0X2Jy aWRnZSA9IGRybV9icmlkZ2VfY2hhaW5fZ2V0X25leHRfYnJpZGdlKCZoZG1pLT5icmlkZ2UpOwo+ ID4gPiArCWlmIChuZXh0X2JyaWRnZSkgewo+ID4gPiAgCQlzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9k ZSBhZGp1c3RlZF9tb2RlOwo+ID4gPiAgCj4gPiA+ICAJCWRybV9tb2RlX2NvcHkoJmFkanVzdGVk X21vZGUsIG1vZGUpOwo+ID4gPiAtCQlpZiAoIWRybV9icmlkZ2VfY2hhaW5fbW9kZV9maXh1cCho ZG1pLT5icmlkZ2UubmV4dCwgbW9kZSwKPiA+ID4gKwkJaWYgKCFkcm1fYnJpZGdlX2NoYWluX21v ZGVfZml4dXAobmV4dF9icmlkZ2UsIG1vZGUsCj4gPiA+ICAJCQkJCQkgJmFkanVzdGVkX21vZGUp KQo+ID4gPiAgCQkJcmV0dXJuIE1PREVfQkFEOwo+ID4gPiAgCX0KPiA+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0vb21h cGRybS9vbWFwX2Rydi5jCj4gPiA+IGluZGV4IGIzZTIyYzg5MGM1MS4uODY1MTY0ZmUyOGRjIDEw MDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCj4gPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKPiA+ID4gQEAgLTIxNyw4 ICsyMTcsOCBAQCBzdGF0aWMgaW50IG9tYXBfZGlzcGxheV9pZChzdHJ1Y3Qgb21hcF9kc3NfZGV2 aWNlICpvdXRwdXQpCj4gPiA+ICAJfSBlbHNlIGlmIChvdXRwdXQtPmJyaWRnZSkgewo+ID4gPiAg CQlzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlID0gb3V0cHV0LT5icmlkZ2U7Cj4gPiA+ICAKPiA+ ID4gLQkJd2hpbGUgKGJyaWRnZS0+bmV4dCkKPiA+ID4gLQkJCWJyaWRnZSA9IGJyaWRnZS0+bmV4 dDsKPiA+ID4gKwkJd2hpbGUgKGRybV9icmlkZ2VfY2hhaW5fZ2V0X25leHRfYnJpZGdlKGJyaWRn ZSkpCj4gPiA+ICsJCQlicmlkZ2UgPSBkcm1fYnJpZGdlX2NoYWluX2dldF9uZXh0X2JyaWRnZShi cmlkZ2UpOwo+ID4gPiAgCj4gPiA+ICAJCW5vZGUgPSBicmlkZ2UtPm9mX25vZGU7Cj4gPiA+ICAJ fSBlbHNlIGlmIChvdXRwdXQtPnBhbmVsKSB7Cj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29t YXBfZW5jb2Rlci5jCj4gPiA+IGluZGV4IDI0YmJlOWYyYTMyZS4uOGNhNTQwODE5OTdlIDEwMDY0 NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwo+ID4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYwo+ID4gPiBAQCAt MTI2LDcgKzEyNiw4IEBAIHN0YXRpYyB2b2lkIG9tYXBfZW5jb2Rlcl9tb2RlX3NldChzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCj4gPiA+ICAJZm9yIChkc3NkZXYgPSBvdXRwdXQ7IGRzc2Rl djsgZHNzZGV2ID0gZHNzZGV2LT5uZXh0KQo+ID4gPiAgCQlvbWFwX2VuY29kZXJfdXBkYXRlX3Zp ZGVvbW9kZV9mbGFncygmdm0sIGRzc2Rldi0+YnVzX2ZsYWdzKTsKPiA+ID4gIAo+ID4gPiAtCWZv ciAoYnJpZGdlID0gb3V0cHV0LT5icmlkZ2U7IGJyaWRnZTsgYnJpZGdlID0gYnJpZGdlLT5uZXh0 KSB7Cj4gPiA+ICsJZm9yIChicmlkZ2UgPSBvdXRwdXQtPmJyaWRnZTsgYnJpZGdlOwo+ID4gPiAr CSAgICAgYnJpZGdlID0gZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2UoYnJpZGdlKSkg eyAgCj4gPiAKPiA+IEEgZm9yX2VhY2hfYnJpZGdlKCkgbWFjcm8gd291bGQgYmUgbmljZSAoaW4g YSBzZXBhcmF0ZSBwYXRjaCkuIEl0IGNvdWxkCj4gPiBiZSB1c2VkIGluIG9tYXBfZHJ2LmMgYWJv dmUgdG9vLgo+IAo+IEl0J3MgY29taW5nIGxhdGVyIGluIHRoZSBzZXJpZXMgKHBhdGNoIDgpLgo+ IAo+ID4gPiAgCQlpZiAoIWJyaWRnZS0+dGltaW5ncykKPiA+ID4gIAkJCWNvbnRpbnVlOwo+ID4g PiAgCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2kuYyBiL2Ry aXZlcnMvZ3B1L2RybS92YzQvdmM0X2RzaS5jCj4gPiA+IGluZGV4IDQ5ZjhhMzEzZTc1OS4uNDlj NDcxODVhZmYwIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2ku Ywo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kc2kuYwo+ID4gPiBAQCAtMTY0 NCw4ICsxNjQ0LDEwIEBAIHN0YXRpYyB2b2lkIHZjNF9kc2lfdW5iaW5kKHN0cnVjdCBkZXZpY2Ug KmRldiwgc3RydWN0IGRldmljZSAqbWFzdGVyLAo+ID4gPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpk cm0gPSBkZXZfZ2V0X2RydmRhdGEobWFzdGVyKTsKPiA+ID4gIAlzdHJ1Y3QgdmM0X2RldiAqdmM0 ID0gdG9fdmM0X2Rldihkcm0pOwo+ID4gPiAgCXN0cnVjdCB2YzRfZHNpICpkc2kgPSBkZXZfZ2V0 X2RydmRhdGEoZGV2KTsKPiA+ID4gKwlzdHJ1Y3QgZHJtX2JyaWRnZSAqYnJpZGdlOwo+ID4gPiAg Cj4gPiA+IC0JaWYgKGRzaS0+YnJpZGdlLm5leHQpCj4gPiA+ICsJYnJpZGdlID0gZHJtX2JyaWRn ZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2UoJmRzaS0+YnJpZGdlKTsKPiA+ID4gKwlpZiAoYnJpZGdl KQo+ID4gPiAgCQlwbV9ydW50aW1lX2Rpc2FibGUoZGV2KTsKPiA+ID4gIAo+ID4gPiAgCXZjNF9k c2lfZW5jb2Rlcl9kZXN0cm95KGRzaS0+ZW5jb2Rlcik7Cj4gPiA+IGRpZmYgLS1naXQgYS9pbmNs dWRlL2RybS9kcm1fYnJpZGdlLmggYi9pbmNsdWRlL2RybS9kcm1fYnJpZGdlLmgKPiA+ID4gaW5k ZXggNzI2NDM1YmFmNGFkLi44YWViYTgzZmNmMzEgMTAwNjQ0Cj4gPiA+IC0tLSBhL2luY2x1ZGUv ZHJtL2RybV9icmlkZ2UuaAo+ID4gPiArKysgYi9pbmNsdWRlL2RybS9kcm1fYnJpZGdlLmgKPiA+ ID4gQEAgLTQwOSw2ICs0MDksMTkgQEAgc3RydWN0IGRybV9icmlkZ2UgKm9mX2RybV9maW5kX2Jy aWRnZShzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wKTsKPiA+ID4gIGludCBkcm1fYnJpZGdlX2F0dGFj aChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHN0cnVjdCBkcm1fYnJpZGdlICpicmlkZ2Us Cj4gPiA+ICAJCSAgICAgIHN0cnVjdCBkcm1fYnJpZGdlICpwcmV2aW91cyk7Cj4gPiA+ICAKPiA+ ID4gKy8qKgo+ID4gPiArICogZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2UoKSAtIEdl dCB0aGUgbmV4dCBicmlkZ2UgaW4gdGhlIGNoYWluCj4gPiA+ICsgKiBAYnJpZGdlOiBicmlkZ2Ug b2JqZWN0Cj4gPiA+ICsgKgo+ID4gPiArICogUkVUVVJOUzoKPiA+ID4gKyAqIHRoZSBuZXh0IGJy aWRnZSBpbiB0aGUgY2hhaW4sIG9yIE5VTEwgaWYgQGJyaWRnZSBpcyB0aGUgbGFzdC4gIAo+ID4g Cj4gPiBNYXliZSAidGhlIG5leHQgYnJpZGdlIGluIHRoZSBjaGFpbiBhZnRlciBAYnJpZGdlLCAu Li4iID8KPiAKPiBBZ3JlZWQuCj4gCj4gPiA+ICsgKi8KPiA+ID4gK3N0YXRpYyBpbmxpbmUgc3Ry dWN0IGRybV9icmlkZ2UgKgo+ID4gPiArZHJtX2JyaWRnZV9jaGFpbl9nZXRfbmV4dF9icmlkZ2Uo c3RydWN0IGRybV9icmlkZ2UgKmJyaWRnZSkgIAo+ID4gCj4gPiBUZWNobmljYWxseSBzcGVha2lu ZyB0aGlzIGRvZXNuJ3Qgb3BlcmF0ZSBvbiBhIGNoYWluIGJ1dCBvbiBhIGJyaWRnZSwgc28KPiA+ IEknZCBuYW1lIGlzIGRybV9icmlkZ2VfZ2V0X25leHRfYnJpZGdlKCkuIEkgd2lsbCBub3QgaW5z aXN0IHRvIHRoZSB3YXkKPiA+IG9mIG5hY2tpbmcgdGhlIHNlcmllcyBmb3IgdGhpcywgc28gd2l0 aCB0aGUgcmVuYW1lLCBidXQgYWxzbyB3aXRob3V0LAo+IAo+IFlvdSdyZSBhYnNvbHV0ZWx5IHJp Z2h0LCBJJ2xsIHJlbmFtZSB0aGUgZnVuY3Rpb24gYXMgc3VnZ2VzdGVkLgo+IAo+ID4gUmV2aWV3 ZWQtYnk6IExhdXJlbnQgUGluY2hhcnQgPGxhdXJlbnQucGluY2hhcnRAaWRlYXNvbmJvYXJkLmNv bT4KPiA+IAo+ID4gPiArewo+ID4gPiArCXJldHVybiBicmlkZ2UtPm5leHQ7Cj4gPiA+ICt9Cj4g PiA+ICsKPiA+ID4gIGJvb2wgZHJtX2JyaWRnZV9jaGFpbl9tb2RlX2ZpeHVwKHN0cnVjdCBkcm1f YnJpZGdlICpicmlkZ2UsCj4gPiA+ICAJCQkJIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlLAo+ID4gPiAgCQkJCSBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRfbW9k ZSk7ICAKCi0tIApSZWdhcmRzLAoKTGF1cmVudCBQaW5jaGFydApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=