From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Stabellini Subject: Re: [PATCH RFC 14/15] xen/arm: call construct_domU from start_xen and start DomU VMs Date: Mon, 9 Jul 2018 13:59:04 -0700 (PDT) Message-ID: References: <1528928118-14960-14-git-send-email-sstabellini@kernel.org> <1dfb15f0-47e2-973c-1b7c-67cdf29077f8@arm.com> <9185bcf9-60a9-9387-8f9c-d46002fa1280@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <9185bcf9-60a9-9387-8f9c-d46002fa1280@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Julien Grall Cc: Artem Mygaiev , Stefano Stabellini , Stefano Stabellini , andrii_anisov@epam.com, Andrew Cooper , xen-devel@lists.xen.org, Jan Beulich List-Id: xen-devel@lists.xenproject.org T24gTW9uLCA5IEp1bCAyMDE4LCBKdWxpZW4gR3JhbGwgd3JvdGU6Cj4gSGkgU3RlZmFubywKPiAK PiBPbiAwNy8wNy8xOCAwMDoxMSwgU3RlZmFubyBTdGFiZWxsaW5pIHdyb3RlOgo+ID4gT24gRnJp LCAxNSBKdW4gMjAxOCwgSnVsaWVuIEdyYWxsIHdyb3RlOgo+ID4gPiBPbiAwNi8xMy8yMDE4IDEx OjE1IFBNLCBTdGVmYW5vIFN0YWJlbGxpbmkgd3JvdGU6Cj4gPiA+ID4gSW50cm9kdWNlIHN1cHBv cnQgZm9yIHRoZSAieGVuLGRvbVUiIGNvbXBhdGlibGUgbm9kZSBvbiBkZXZpY2UgdHJlZS4KPiA+ ID4gPiBDcmVhdGUgbmV3IERvbVUgVk1zIGJhc2VkIG9uIHRoZSBpbmZvcm1hdGlvbiBmb3VuZCBv biBkZXZpY2UgdHJlZSB1bmRlcgo+ID4gPiA+ICJ4ZW4sZG9tVSIuCj4gPiA+IAo+ID4gPiBXaGls ZSBJIGxpa2UgdGhlIGlkZWEgb2YgaGF2aW5nIG11bHRpcGxlIGRvbWFpbiBjcmVhdGVkIGJ5IFhl biwgSSB0aGluawo+ID4gPiB0aGVyZQo+ID4gPiBhcmUgc3RpbGwgZmV3IG9wZW4gcXVlc3Rpb25z IGhlcmU6Cj4gPiA+IAkxKSBUaGUgZG9tYWlucyB3aWxsIGJlIGxpc3RlZCB2aWEgInhsIGxpc3Qi LiBTbyBhcmUgdGhleSBzdGlsbAo+ID4gPiBtYW5hZ2VhYmxlIHZpYSBET01DVEw/Cj4gPiAKPiA+ IFllcywgdGhleSBhcmUuIFRoZXJlIGlzIGFuIGFyZ3VtZW50IGZvciBtYWtpbmcgdGhlbSAiaGlk ZGVuIiBmcm9tCj4gPiBET01DVExzLCBidXQgdGhhdCBpcyBub3QgZG9uZSBhcyBwYXJ0IG9mIHRo aXMgc2VyaWVzLiBGdXR1cmUgd29yay4KPiAKPiBXaGF0IHdpbGwgaGFwcGVuIHdpdGggbGlieGwg dG9kYXk/IElzIHRoZSB0b29sc3RhY2sgZ29pbmcgdG8gYmUgY29uZnVzZWQ/CgpUaGUgdG9vbHN0 YWNrIGNhbiBsaXN0IHRoZSBydW5uaW5nIGRvbWFpbnMgd2l0aG91dCBwcm9ibGVtcyB3aXRoIGB4 bApsaXN0JyAoYWx0aG91Z2ggdGhleSBoYXZlIG5vIG5hbWUpLiBBbHNvLCB4bCB2Y3B1LXBpbiB3 b3JrcyBmaW5lLgpIb3dldmVyLCBzb21lIG9wZXJhdGlvbnMgbWlnaHQgbm90IHdvcmsgY29ycmVj dGx5IHRob3VnaC4gRm9yIGluc3RhbmNlLApgeGwgZGVzdHJveScgY2Fubm90IGNvbXBsZXRlbHkg Z2V0IHJpZCBvZiB0aGUgZG9tYWluLiBJJ2xsIGFkZCBpbmZvCmFib3V0IHRoZXNlIGxpbWl0YXRp b25zIHRvIGEgc2VwYXJhdGUgZG9tMGxlc3MgZG9jdW1lbnQgKGFzIHlvdSBhbHNvCnN1Z2dlc3Rl ZCBiZWxvdyksIGJlY2F1c2UgaXQgaXMgbm90IHBhcnQgb2YgdGhlIG11bHRpYm9vdCBzcGVjLgoK Cj4gPiAKPiA+IAo+ID4gPiAJMikgSXMgaXQgcG9zc2libGUgdG8gcmVzdGFydCB0aG9zZSBkb21h aW5zPwo+ID4gCj4gPiBObyB0aGV5IGNhbid0IGJlIHJlc3RhcnRlZC4gRm9yIGV4YW1wbGUsIHRo ZWlyIG9yaWdpbmFsIGtlcm5lbCBpcyBnb25lCj4gPiBmcm9tIG1lbW9yeS4KPiAKPiBTbyB3aGF0 IHdpbGwgaGFwcGVuIGlmIHlvdSB1c2UgInhsIHJlc3RhcnQiIG9uIHRoZW0/CgpEbyB5b3UgbWVh biBgeGwgcmVib290Jz8gIFRoZSBjb21tYW5kIGV4ZWN1dGVzIGJ1dCBub3RoaW5nIGhhcHBlbnMu CgoKPiA+IAo+ID4gCj4gPiA+IAkzKSBJZiBhIGRvbWFpbiBjcmFzaCwgd2hhdCB3aWxsIGhhcHBl bj8gQXJlIHRoZXkganVzdCBnb2luZyB0byAJc2l0Cj4gPiA+IHRoZXJlIHVzaW5nIHJlc291cmNl cyB1bnRpbCB0aGUgcGxhdGZvcm0gcmVib290ZWQ/Cj4gPiAKPiA+IFRoZSBlbnRpcmUgcGxhdGZv cm0gbmVlZHMgdG8gYmUgcmVib290ZWQuCj4gCj4gVGhhdCBzaG91bGQgYmUgY2xhcmlmaWVkIHNv bWV3aGVyZSBpbiB0aGUgZG9jdW1lbnRhdGlvbi4KClllcywgeW91IGFyZSByaWdodC4gSSdsbCBh ZGQgdGhpcyB0byB0aGUgbmV3IGRvbTBsZXNzIGRvYy4gCgoKPiA+IAo+ID4gCj4gPiA+IAk0KSBI b3cgZG8geW91IGhhbmRsZSBzY2hlZHVsaW5nPyBJcyBpdCBzdGlsbCBwb3NzaWJsZSB0byBkbyBp dCB2aWEKPiA+ID4gRG9tMD8gSG93IGFib3V0IHRoZSBkb20wbGVzcyBzaXR1YXRpb24/Cj4gPiAK PiA+IFRoZSBzY2hlZHVsZXIgY2FuIGJlIGNob3NlbiB2aWEgdGhlIFhlbiBjb21tYW5kIGxpbmUg b3B0aW9uLiBJdCBpcyBhbHNvCj4gPiBwb3NzaWJsZSB0byBkbyB0aGF0IGZyb20gZG9tMCAoaWYg dGhlcmUgaXMgYSBkb20wKS4KPiAKPiBDYW4geW91IGV4cGxhaW4gaG93IHRoZSB2Q1BVcyBhcmUg Z29pbmcgdG8gZ2V0IHBpbm5lZCB2aWEgdGhlIGNvbW1hbmQgbGluZT8KClRvZGF5LCBvbmx5IGRv bTAgdkNQVXMgY2FuIGdldCBhdXRvbWF0aWNhbGx5IHBpbm5lZCB3aXRoIGEgWGVuIGNvbW1hbmQK bGluZSBvcHRpb24uIEhvd2V2ZXIsIGB4bCB2Y3B1LXBpbicgaW4gZG9tMCB3b3JrcyB3aXRoIG90 aGVyIGRvbWFpbnMKc3RhcnRlZCBieSBYZW4gYXQgYm9vdCwgYW5kIHRoZSBOVUxMIHNjaGVkdWxl ciBkb2Vzbid0IHJlcXVpcmUgcGlubmluZy4KRllJIGZvciBteSBvd24gdXNhZ2UsIEkgcGxhbiB0 byB1c2UgdGhlIE5VTEwgc2NoZWR1bGVyLgoKCj4gPiAKPiA+IAo+ID4gPiA+IAo+ID4gPiA+IElu dHJvZHVjZSBhIHNpbXBsZSBnbG9iYWwgdmFyaWFibGUgbmFtZWQgbWF4X2luaXRfZG9taWQgdG8g a2VlcCB0cmFjayBvZgo+ID4gPiA+IHRoZSBpbml0aWFsIGFsbG9jYXRlZCBkb21pZHMuCj4gPiA+ IAo+ID4gPiBXaGF0IGlzIHRoZSBleGFjdCBnb2FsIG9mIHRoaXMgbmV3IHZhcmlhYmxlPwo+ID4g Cj4gPiBUaGUgZ29hbCBvZiB0aGlzIHZhcmlhYmxlIGlzIHRvIGtub3cgdGhlIG51bWJlciBvZiBk b21VcyBhbGxvY2F0ZWQgYXQKPiA+IGJvb3QgdGltZSBieSBYZW4uIFNwZWNpZmljYWxseSwgaXQg aXMgdXNlZCBieSBjb25zb2xlLmMgdG8gc3dpdGNoIHRoZQo+ID4gc2VyaWFsIGlucHV0IHRvIHRo ZSByaWdodCBkb21VLgo+IAo+IEkgZG9uJ3QgdGhpbmsgdGhpcyBpcyBuZWNlc3NhcnkuIEkgd2ls bCByZXBseSBvbiB0aGUgc2Vjb25kIHZlcnNpb24uCgpPSwoKCj4gPiAKPiA+IAo+ID4gPiA+IAo+ ID4gPiA+IE1vdmUgdGhlIGRpc2NhcmRfaW5pdGlhbF9tb2R1bGVzIGFmdGVyIERvbVVzIGhhdmUg YmVlbiBidWlsdAo+ID4gPiA+IAo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IFN0ZWZhbm8gU3RhYmVs bGluaSA8c3RlZmFub3NAeGlsaW54LmNvbT4KPiA+ID4gPiAtLS0KPiA+ID4gPiAgICB4ZW4vYXJj aC9hcm0vZG9tYWluX2J1aWxkLmMgfCAgMiAtLQo+ID4gPiA+ICAgIHhlbi9hcmNoL2FybS9zZXR1 cC5jICAgICAgICB8IDM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4gPiA+ ID4gICAgeGVuL2luY2x1ZGUvYXNtLWFybS9zZXR1cC5oIHwgIDIgKysKPiA+ID4gPiAgICB4ZW4v aW5jbHVkZS9hc20teDg2L3NldHVwLmggfCAgMiArKwo+ID4gPiAKPiA+ID4gWW91IG5lZWQgdG8g Q0MgeDg2IG1haW50YWluZXJzIGZvciB0aGlzIGNoYW5nZS4KPiA+IAo+ID4gSSdsbCBhZGQgdGhl bQo+ID4gCj4gPiAKPiA+ID4gPiAgICA0IGZpbGVzIGNoYW5nZWQsIDM4IGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pCj4gPiA+ID4gCj4gPiA+ID4gZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2Fy bS9kb21haW5fYnVpbGQuYyBiL3hlbi9hcmNoL2FybS9kb21haW5fYnVpbGQuYwo+ID4gPiA+IGlu ZGV4IDk3ZjE0Y2EuLmUyZDM3MGYgMTAwNjQ0Cj4gPiA+ID4gLS0tIGEveGVuL2FyY2gvYXJtL2Rv bWFpbl9idWlsZC5jCj4gPiA+ID4gKysrIGIveGVuL2FyY2gvYXJtL2RvbWFpbl9idWlsZC5jCj4g PiA+ID4gQEAgLTI1NDUsOCArMjU0NSw2IEBAIGludCBfX2luaXQgY29uc3RydWN0X2RvbTAoc3Ry dWN0IGRvbWFpbiAqZCkKPiA+ID4gPiAgICAgICAgaWYgKCByYyA8IDAgKQo+ID4gPiA+ICAgICAg ICAgICAgcmV0dXJuIHJjOwo+ID4gPiA+ICAgIC0gICAgZGlzY2FyZF9pbml0aWFsX21vZHVsZXMo KTsKPiA+ID4gPiAtCj4gPiA+IAo+ID4gPiBQbGVhc2UgbWVudGlvbiB0aGlzIG1vdmUgaW4gdGhl IGNvbW1pdCBtZXNzYWdlLgo+ID4gCj4gPiBJdCBpcyBtZW50aW9uZWQ6ICJNb3ZlIHRoZSBkaXNj YXJkX2luaXRpYWxfbW9kdWxlcyBhZnRlciBEb21VcyBoYXZlIGJlZW4KPiA+IGJ1aWx0Igo+IAo+ IEkgbWlzc2VkIHRoYXQgc29ycnkuCj4gCj4gPiAKPiA+IAo+ID4gPiA+ICAgICAgICByZXR1cm4g X19jb25zdHJ1Y3RfZG9tYWluKGQsICZraW5mbyk7Cj4gPiA+ID4gICAgfQo+ID4gPiA+ICAgIGRp ZmYgLS1naXQgYS94ZW4vYXJjaC9hcm0vc2V0dXAuYyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCj4g PiA+ID4gaW5kZXggOThiZGIyNC4uMzcyMzcwNCAxMDA2NDQKPiA+ID4gPiAtLS0gYS94ZW4vYXJj aC9hcm0vc2V0dXAuYwo+ID4gPiA+ICsrKyBiL3hlbi9hcmNoL2FybS9zZXR1cC5jCj4gPiA+ID4g QEAgLTYzLDYgKzYzLDggQEAgc3RhdGljIHVuc2lnbmVkIGxvbmcgb3B0X3hlbmhlYXBfbWVnYWJ5 dGVzIF9faW5pdGRhdGE7Cj4gPiA+ID4gICAgaW50ZWdlcl9wYXJhbSgieGVuaGVhcF9tZWdhYnl0 ZXMiLCBvcHRfeGVuaGVhcF9tZWdhYnl0ZXMpOwo+ID4gPiA+ICAgICNlbmRpZgo+ID4gPiA+ICAg ICtkb21pZF90IF9fcmVhZF9tb3N0bHkgbWF4X2luaXRfZG9taWQgPSAwOwo+ID4gPiA+ICsKPiA+ ID4gPiAgICBzdGF0aWMgX191c2VkIHZvaWQgaW5pdF9kb25lKHZvaWQpCj4gPiA+ID4gICAgewo+ ID4gPiA+ICAgICAgICBmcmVlX2luaXRfbWVtb3J5KCk7Cj4gPiA+ID4gQEAgLTcxMSw2ICs3MTMs OCBAQCB2b2lkIF9faW5pdCBzdGFydF94ZW4odW5zaWduZWQgbG9uZwo+ID4gPiA+IGJvb3RfcGh5 c19vZmZzZXQsCj4gPiA+ID4gICAgICAgIHN0cnVjdCBib290bW9kdWxlICp4ZW5fYm9vdG1vZHVs ZTsKPiA+ID4gPiAgICAgICAgc3RydWN0IGRvbWFpbiAqZG9tMDsKPiA+ID4gPiAgICAgICAgc3Ry dWN0IHhlbl9kb21jdGxfY3JlYXRlZG9tYWluIGRvbTBfY2ZnID0ge307Cj4gPiA+ID4gKyAgICBz dHJ1Y3QgZHRfZGV2aWNlX25vZGUgKmNob3NlbjsKPiA+ID4gPiArICAgIHN0cnVjdCBkdF9kZXZp Y2Vfbm9kZSAqbm9kZTsKPiA+ID4gPiAgICAgICAgICBkY2FjaGVfbGluZV9ieXRlcyA9IHJlYWRf ZGNhY2hlX2xpbmVfYnl0ZXMoKTsKPiA+ID4gPiAgICBAQCAtODYwLDcgKzg2NCw3IEBAIHZvaWQg X19pbml0IHN0YXJ0X3hlbih1bnNpZ25lZCBsb25nCj4gPiA+ID4gYm9vdF9waHlzX29mZnNldCwK PiA+ID4gPiAgICAgICAgZG9tMF9jZmcuYXJjaC5naWNfdmVyc2lvbiA9IFhFTl9ET01DVExfQ09O RklHX0dJQ19OQVRJVkU7Cj4gPiA+ID4gICAgICAgIGRvbTBfY2ZnLmFyY2gubnJfc3BpcyA9IGdp Y19udW1iZXJfbGluZXMoKSAtIDMyOwo+ID4gPiA+ICAgIC0gICAgZG9tMCA9IGRvbWFpbl9jcmVh dGUoMCwgJmRvbTBfY2ZnKTsKPiA+ID4gPiArICAgIGRvbTAgPSBkb21haW5fY3JlYXRlKG1heF9p bml0X2RvbWlkKyssICZkb20wX2NmZyk7Cj4gPiA+ID4gICAgICAgIGlmICggSVNfRVJSKGRvbTAp IHx8IChhbGxvY19kb20wX3ZjcHUwKGRvbTApID09IE5VTEwpICkKPiA+ID4gPiAgICAgICAgICAg ICAgICBwYW5pYygiRXJyb3IgY3JlYXRpbmcgZG9tYWluIDAiKTsKPiA+ID4gPiAgICBAQCAtODg2 LDYgKzg5MCwzNSBAQCB2b2lkIF9faW5pdCBzdGFydF94ZW4odW5zaWduZWQgbG9uZwo+ID4gPiA+ IGJvb3RfcGh5c19vZmZzZXQsCj4gPiA+ID4gICAgICAgICAgZG9tYWluX3VucGF1c2VfYnlfc3lz dGVtY29udHJvbGxlcihkb20wKTsKPiA+ID4gPiAgICArICAgIGNob3NlbiA9IGR0X2ZpbmRfbm9k ZV9ieV9uYW1lKGR0X2hvc3QsICJjaG9zZW4iKTsKPiA+ID4gPiArICAgIGlmICggY2hvc2VuICE9 IE5VTEwgKQo+ID4gPiA+ICsgICAgewo+ID4gPiA+ICsgICAgICAgIGR0X2Zvcl9lYWNoX2NoaWxk X25vZGUoY2hvc2VuLCBub2RlKQo+ID4gPiA+ICsgICAgICAgIHsKPiA+ID4gPiArICAgICAgICAg ICAgc3RydWN0IGRvbWFpbiAqZDsKPiA+ID4gPiArICAgICAgICAgICAgc3RydWN0IHhlbl9kb21j dGxfY3JlYXRlZG9tYWluIGRfY2ZnID0ge307Cj4gPiA+IAo+ID4gPiBUaGVyZSBhcmUgcXVpdGUg YSBmZXcgZmllbGQgaW4geGVuX2RvbWN0bF9jcmVhdGVkb21haW4gdGhhdCB3ZSBtYXkgd2FudCB0 bwo+ID4gPiBhbGxvdyB0aGUgdXNlciBzZXR0aW5nIHRoZW0uIEkgYW0gdGhpbmtpbmcgb2Ygc3Np ZHJlZiBmb3IgWFNNLiBIb3cgaXMgdGhpcwo+ID4gPiBnb2luZyB0byBiZSBkb25lPwo+ID4gCj4g PiBXZSdsbCBpbnRyb2R1Y2UgYSBzZXBhcmF0ZSBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZQo+ ID4geGVuX2RvbWN0bF9jcmVhdGVkb21haW4gZmllbGRzIGFzIG5lY2Vzc2FyeS4gSSBkb24ndCB0 aGluayBpdCBpcwo+ID4gcmVxdWlyZWQgYXQgdGhlIG1vbWVudD8KPiAKPiBJIGRpZG4ndCBhc2sg dGhlIGltcGxlbWVudGF0aW9uIGJ1dCBob3cgdGhpcyBpcyBnb2luZyB0byBmaXQgdG9nZXRoZXIu Cj4gCj4gPiA+ID4gKwo+ID4gPiA+ICsgICAgICAgICAgICBpZiAoICFkdF9kZXZpY2VfaXNfY29t cGF0aWJsZShub2RlLCAieGVuLGRvbVUiKSApCj4gPiA+ID4gKyAgICAgICAgICAgICAgICBjb250 aW51ZTsKPiA+ID4gPiArCj4gPiA+ID4gKyAgICAgICAgICAgIGRfY2ZnLmFyY2guZ2ljX3ZlcnNp b24gPSBYRU5fRE9NQ1RMX0NPTkZJR19HSUNfTkFUSVZFOwo+ID4gPiAKPiA+ID4gQW55IHJlYXNv biB0byBpbXBvc2UgdXNpbmcgdGhlIG5hdGl2ZSBHSUMgaGVyZT8KPiA+IAo+ID4gSXQgaXMgYSBn b29kIGRlZmF1bHQuIEkgaGF2ZW4ndCBpbnRyb2R1Y2VkIGFuIG9wdGlvbiB0byBjaGFuZ2UgdGhl IGdpYwo+ID4gdmVyc2lvbiBmb3IgYSBkb21VIHlldC4gSXQgY291bGQgYmUgcG9zc2libGUgdG8g YWRkIGl0IGluIHRoZSBmdXR1cmUuCj4gCj4gUGxlYXNlIGRvY3VtZW50IGl0IGluIHNvbWV3aGVy ZS4KClllcywgSSdsbCBhbHNvIGFkZCB0aGlzIHRvIHRoZSBzZXBhcmF0ZSBkb20wbGVzcyBkb2N1 bWVudC4KCgo+ID4gPiA+ICsKPiA+ID4gPiArICAgICAgICAgICAgZCA9IGRvbWFpbl9jcmVhdGUo bWF4X2luaXRfZG9taWQrKywgJmRfY2ZnKTsKPiA+ID4gPiArICAgICAgICAgICAgaWYgKCBJU19F UlIoZCkpCj4gPiA+IAo+ID4gPiBDb2Rpbmcgc3R5bGUgKCAuLi4gKQo+ID4gCj4gPiBJJ2xsIGZp eAo+ID4gCj4gPiAKPiA+ID4gPiArICAgICAgICAgICAgICAgIHBhbmljKCJFcnJvciBjcmVhdGlu ZyBkb21VIik7Cj4gPiA+ID4gKwo+ID4gPiA+ICsgICAgICAgICAgICBkLT5pc19wcml2aWxlZ2Vk ID0gMDsKPiA+ID4gPiArICAgICAgICAgICAgZC0+dGFyZ2V0ID0gTlVMTDsKPiA+ID4gCj4gPiA+ IFdoeSBkbyB5b3Ugc2V0IHRoZW0/IFRoZXkgYXJlIHplcm9lZCBieSBkZWZhdWx0Lgo+ID4gCj4g PiBNb3N0bHkgZm9yIG15IG93biBjbGFyaXR5IGFuZCB1bmRlcnN0YWRpbmcuIEkgY2FuIHJlbW92 ZSB0aGVtIGlmIHlvdQo+ID4gcHJlZmVyLgo+IAo+IEkgd291bGQgcmF0aGVyIHJlbW92ZSBpdCBi ZWNhdXNlIGl0IGdpdmUgdGhlIGZlZWxpbmcgdGhlIG90aGVyIGZpZWxkcyBtYXkgbm90Cj4gYmUg emVyb2VkLgoKT0sKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=