From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dietmar Hahn Subject: Re: Branch Trace Storage for guests and VPMUinitialization Date: Thu, 26 Feb 2015 09:56:28 +0100 Message-ID: <5820128.XDeVCQ4qG6@amur> References: <5C9C3B9BEF1B354596EAE3D6800D876BA3BF8F@e1.gdata.de> <5C9C3B9BEF1B354596EAE3D6800D876BA441F4@e1.gdata.de> <54EDF8E3.2060609@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <54EDF8E3.2060609@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: xen-devel@lists.xen.org Cc: Boris Ostrovsky , Kevin.Mayer@gdata.de List-Id: xen-devel@lists.xenproject.org QW0gTWl0dHdvY2ggMjUgRmVicnVhciAyMDE1LCAxMTozMTozMSBzY2hyaWViIEJvcmlzIE9zdHJv dnNreToKPiBPbiAwMi8yNS8yMDE1IDEwOjEyIEFNLCBLZXZpbi5NYXllckBnZGF0YS5kZSB3cm90 ZToKPiA+PiAtLS0tLVVyc3Byw7xuZ2xpY2hlIE5hY2hyaWNodC0tLS0tCj4gPj4gVm9uOiBCb3Jp cyBPc3Ryb3Zza3kgW21haWx0bzpib3Jpcy5vc3Ryb3Zza3lAb3JhY2xlLmNvbV0KPiA+PiBHZXNl bmRldDogRGllbnN0YWcsIDI0LiBGZWJydWFyIDIwMTUgMTg6MTMKPiA+PiBBbjogTWF5ZXIsIEtl dmluOyB4ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwo+ID4+IEJldHJlZmY6IFJlOiBbWGVuLWRldmVs XSBCcmFuY2ggVHJhY2UgU3RvcmFnZSBmb3IgZ3Vlc3RzIGFuZCBWUE1VCj4gPj4gaW5pdGlhbGl6 YXRpb24KPiA+Pgo+ID4+IE9uIDAyLzI0LzIwMTUgMTA6MjcgQU0sIEtldmluLk1heWVyQGdkYXRh LmRlIHdyb3RlOgo+ID4+PiBIaSBndXlzCj4gPj4+Cj4gPj4+IElgbSB0cnlpbmcgdG8gc2V0IHVw IHRoZSBCVFMgc28gdGhhdCBJIGNhbiBsb2cgdGhlIGJyYW5jaGVzIHRha2VuIGluCj4gPj4+IHRo ZSBndWVzdCB1c2luZyBYZW4gNC40LjEgd2l0aCBhIFdpblhQIFNQMyBndWVzdCBvbiBhIENvcmUg aTcgU2FuZHkKPiA+Pj4gQnJpZGdlLgo+ID4+Pgo+ID4+PiBJIGFkZGVkIHRoZSB2cG11PWJ0cyBi b290IHBhcmFtZXRlciB0byBteSBncnViMiBjb25maWd1cmF0aW9uIGFuZAo+ID4+PiBleHRlbmRl ZCB0aGUgbGlieGwsbGlieGMsZG9tY3RsLOKApiB3aXRoIGFuIG93biBjb21tYW5kIHNvIHRoYXQg SSBjYW4KPiA+Pj4gdHJpZ2dlciB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgQlRTIHdoZW5ldmVyIEkg d2FudC4KPiA+Pj4KPiA+Pgo+ID4+IEkgYW0gbm90IHN1cmUgd2h5IHlvdSBhcmUgZG9pbmcgYWxs IHRoZXNlIGNoYW5nZXMgdG8gWGVuIGNvZGUuIEJUUyBpcwo+ID4+IHN1cHBvc2VkIHRvIGJlIG1h bmFnZWQgZnJvbSB0aGUgZ3Vlc3QuIEZvciBleGFtcGxlLCBhIEZlZG9yYSBIVk0gZ3Vlc3QKPiA+ PiB3aWxsIHByb2R1Y2UgdGhpczoKPiA+Pgo+ID4+IFtyb290QGRoY3AtYnVybGluZ3RvbjctMm5k LUItZWFzdC0xMC0xNTItNTUtMTQwIH5dIyBwZXJmIHJlY29yZCAtZQo+ID4+IGJyYW5jaGVzOnUg LWMgMSAtZCBzbGVlcCAxIFsgcGVyZiByZWNvcmQ6IFdva2VuIHVwIDM4MzggdGltZXMgdG8gd3Jp dGUgZGF0YSBdIFsKPiA+PiBwZXJmIHJlY29yZDogQ2FwdHVyZWQgYW5kIHdyb3RlIDAuNzA0IE1C IHBlcmYuZGF0YSAofjMwNzU2IHNhbXBsZXMpIF0KPiA+PiBbcm9vdEBkaGNwLWJ1cmxpbmd0b243 LTJuZC1CLWVhc3QtMTAtMTUyLTU1LTE0MCB+XSMgcGVyZiBzY3JpcHQgLWYKPiA+PiBpcCxhZGRy LHN5bSxkc28sc3ltb2ZmIC0tc2hvdy1rZXJuZWwtcGF0aAo+ID4+ICAgIGZmZmZmZmZmODE2N2Mz NDcgbmF0aXZlX2lycV9yZXR1cm5faXJldCsweDAgKC9wcm9jL2tjb3JlKSA9Pgo+ID4+IDMyOGMw MDE1OTAgW3Vua25vd25dICgvcHJvYy9rY29yZSkKPiA+PiAgICBmZmZmZmZmZjgxNjdjMzQ3IG5h dGl2ZV9pcnFfcmV0dXJuX2lyZXQrMHgwICgvcHJvYy9rY29yZSkgPT4KPiA+PiAzMjhjMDAxNTkw IFt1bmtub3duXSAoW3Vua25vd25dKQo+ID4+ICAgICAgICAgIDMyOGMwMDE1OTMgW3Vua25vd25d IChbdW5rbm93bl0pID0+ICAgICAgIDMyOGMwMDRiNzAgW3Vua25vd25dCj4gPj4gKFt1bmtub3du XSkKPiA+PiAuLi4KPiA+Pgo+ID4gSSB3YW50IHRvIGJlIGFibGUgdG8gbG9nIHRoZSB0YWtlbiBi cmFuY2hlcyAob2YgdGhlIGd1ZXN0KSB3aXRob3V0IHRoZSBuZWVkIHRvIG1vZGlmeSB0aGUgZ3Vl c3QgYXQgYWxsLgo+ID4gVGhpcyBtZWFucyBJIGhhdmUgdG8gZG8gYWxsIHRoZSBsb2dpYyBpbiB0 aGUgaHlwZXJ2aXNvciwgb3IgYW0gSSB3cm9uZz8KPiAKPiBJbiB0aGF0IGNhc2UsIHllcy4gQnV0 IHRoZW4geW91IGhhdmUgdG8gbWFrZSBzdXJlIHRoYXQgYXQgbGVhc3QKPiAgICogeW91IGRvbid0 IGxvYWQgZ3Vlc3QncyBWUE1VIChvciwgYXQgbGVhc3QsIEJUUy1yZWxhdGVkIHJlZ2lzdGVycykg b24gCj4gY29udGV4dCBzd2l0Y2gKCkJ1dCB5b3UgbmVlZCB0byBtb2RpZnkgUE1VIHJlZ2lzdGVy cyB3aGVuIHN3aXRjaGluZyB0by9mcm9tIHRoZSBndWVzdCBjb250ZXh0CnRvIGdldCBQTVUgcnVu bmluZy4KSSBkaWRuJ3QgdGhpbmsgb2YgdXNpbmcgdGhlIFZQTVUgc3R1ZmYgd2l0aCBtb2RpZnlp bmcgdGhlIGNvbnRleHQgZnJvbSBvdXRzaWRlCnRoZSBndWVzdC4KCj4gICAqIFlvdSBkb24ndCBz ZW5kIHRoZSBpbnRlcnJ1cHQgdG8gdGhlIGd1ZXN0IChtZWFuaW5nIHRoYXQgeW91IHdpbGwgCj4g bmVlZCB0byBzb21laG93IGluZm9ybSBkb20wIG9mIHRoZSBCVFMgaW50ZXJydXB0KQo+IAo+IGFu ZCBwcm9iYWJseSBtb3JlLgo+IAo+IEVzc2VudGlhbGx5LCB5b3Ugd2FudCBkb20wIHRvIHByb2Zp bGUgdGhlIGd1ZXN0LiBJIGhhdmUgYmVlbiB3b3JraW5nIG9uCj4gcGF0Y2hlcyB0aGF0IHdvdWxk IGFsbG93IHRoYXQgYnV0IHRoZXkgYXJlIHN0aWxsIHVuZGVyIHJldmlldy4KPiAKPiAKPiA+Cj4g Pj4+IEluIHRoaXMgY29tbWFuZCBJIGRvIHRoZSBmb2xsb3dpbmc6Cj4gPj4+Cj4gPj4+IEkgc2V0 IHVwIHRoZSBtZW1vcnkgcmVnaW9uIGZvciB0aGUgQlRTIEJ1ZmZlciBhbmQgdGhlIERTIEJ1ZmZl cgo+ID4+PiBNYW5hZ2VtZW50IEFyZWEgdXNpbmcgeHphbGxvY19ieXRlcwo+ID4+Pgo+ID4+Cj4g Pj4gSSBkb24ndCB0aGluayB5b3Ugc2hvdWxkIGJlIGFsbG9jYXRpbmcgQlRTIGJ1ZmZlcnMgaW4g dGhlIGh5cGVydmlzb3IsIHRoZXkgYXJlCj4gPj4gaW4gZ3Vlc3QncyBtZW1vcnkuCj4gPiBJIGFn cmVlLiBBcyBJIHNhaWQgSSB0aGluayB0aGlzIGlzIHdoZXJlIG15IG1haW4gcHJvYmxlbSBpcyBh dCB0aGUgbW9tZW50Lgo+ID4gSXMgdGhlcmUgYW55IHdheSBJIGNhbiBhbGxvY2F0ZSBtZW1vcnkg aW4gdGhlIGh5cGVydmlzb3IgaW4gYSB3YXkgdGhlIGd1ZXN0IGNhbiBhY2Nlc3MgaXQ/Cj4gCj4g SSBhbSBub3Qgc3VyZSB0aGlzIGlzIHdoYXQgeW91IHdhbnQgc2luY2UgeW91IHNlZW0gdG8gKm5v dCogd2FudCB0aGUgCj4gZ3Vlc3QgdG8gcHJvY2VzcyB0aGUgc2FtcGxlcywgcmlnaHQ/Cj4gCj4g QnV0IHllcywgeW91IGNhbi4gRS5nLiBzb21ldGhpbmcgbGlrZSB3aGF0IG1hcF92Y3B1X2luZm8o KSBkb2VzLiAoSSBoYXZlIAo+IG5vIGlkZWEgaG93IHlvdSdkIGRvIHRoaXMgZnJvbSBXaW5kb3dz LikKClRoZSBEUyBidWZmZXIgaGFzIHRvIGJlIG1hcHBlZCB3aXRoaW4gdGhlIGd1ZXN0cyBhZGRy ZXNzIHNwYWNlIHNvIHRoZSBDUFUKcnVubmluZyBpbiBndWVzdCBjb250ZXh0IGNhbiBhY2Nlc3Mg dGhpcyBhcmVhLiBPdGhlcndpc2UgeW91IGdldCB0aGlzCnRyaXBsZSBmYXVsdC4KU28gSSB3b3Vs ZCB0aGluayB5b3UgbmVlZCBhIG1peHR1cmUgb2Ygd3JpdGluZyBzb21lIHN0dWZmIGluIFdpbmRv d3MgYW5kCnBhdGNoaW5nIHRoZSBoeXBlcnZpc29yLgoKRGlldG1hci4KCj4gCj4gCj4gPiBPZiBj b3Vyc2UgdGhlIGd1ZXN0IG11c3Qgbm90IGJlIGFibGUgdG8gdXNlIHRoaXMgbWVtb3J5IGluIGl0 cyBub3JtYWwgb3BlcmF0aW9ucyBidXQganVzdCBmb3IgQlRTLgo+ID4gSXMgdGhpcyBldmVuIHBv c3NpYmxlPyBJIGFtIHJhdGhlciBjb25mdXNlZCBhdCB0aGUgbW9tZW50LiA6LUQKPiA+Cj4gPj4+ IFRoZW4gSSB3cml0ZSB0aGUgcG9pbnRlciB0byB0aGUgQlRTIEJ1ZmZlciBpbnRvIHRoZSBEUyBC dWZmZXIKPiA+Pj4gTWFuYWdlbWVudCBBcmVhIGF0ICsweDAgYW5kICsweDggKEJUUyBCdWZmZXIg QmFzZSBhbmQgQlRTIEluZGV4KQo+ID4+Pgo+ID4+PiBXaGVuIEkgdXNlIHZteF9tc3Jfd3JpdGVf aW50ZXJjZXB0IHRvIHN0b3JlIHRoZSB2YWx1ZSBpbgo+ID4+PiBNU1JfSUEzMl9EU19BUkVBIHRo ZSBob3N0IHJlYm9vdHMgKG15IGlkZWEgaXMgaGUgdHJpZXMgdG8gYWNjZXNzIGEKPiA+Pj4gdnBt dS1zdHJ1Y3QgdGhhdCBpc27CtHQgdGhlcmUgaW4gdGhlIGN1cnJlbnQgdmNwdSBhbmQgcGFuaWNz KS4KPiAKPiAKPiBXaG8gaXMgdHJ5aW5nIHRvIHdyaXRlIHRvIE1TUl9JQTMyX0RTX0FSRUE/IFRo ZSBndWVzdCBvciBkb20wPyBJIHRob3VnaHQgCj4geW91IHNhaWQgdGhhdCB5b3Ugd2FudCBkb20w IHRvIGRvIHNhbXBsaW5nLiBPciBhcmUgeW91IHRyeWluZyB0byBzZXR1cCAKPiBEUyBhcmVhIGZy b20geW91ciBndWVzdCBhbmQgY29udHJvbCBpdCBmcm9tIGRvbTA/IEkgYW0gc29tZXdoYXQgY29u ZnVzZWQuCj4gCj4gPj4+Cj4gPj4gQ2FuIHlvdSBwb3N0IGh5cGVydmlzb3IgbG9nPyAoaGFyZCB0 byBzYXkgaG93IGhlbHBmdWwgaXQgd2lsbCBiZSB3aXRob3V0Cj4gPj4gc2VlaW5nIHlvdXIgY29k ZSBjaGFuZ2VzIHRob3VnaCkKPiA+Pgo+ID4gUmlnaHQgYWZ0ZXIgZW5hYmxpbmcgdGhlIEJUUyBJ IGdldCBhIHRyaXBsZSBmYXVsdC4KPiA+IGh2bS5jOjEzNTc6ZDIgVHJpcGxlIGZhdWx0IG9uIFZD UFUwIC0gaW52b2tpbmcgSFZNIHNodXRkb3duIGFjdGlvbiAxLgo+IAo+IAo+IFRoYXQncyBub3Qg aG9zdCByZWJvb3QsIHRoaXMgaXMgeW91ciBndWVzdCBkeWluZy4KPiAKPiAKPiA+Cj4gPj4+IFdo ZW4gSSB1c2UgYSBtb2RpZmllZCB2ZXJzaW9uIG9mIHZteF9tc3Jfd3JpdGVfaW50ZXJjZXB0IEkg ZG9u4oCZdCBnZXQKPiA+Pj4gYW55IGNyYXNoZXMgYXMgbG9uZyBhcyBJIGRvbuKAmXQgZW5hYmxl IEJUUyBhbmQgVFIgaW4gdGhlCj4gPj4+IEdVRVNUX0lBMzJfREVCVUdDVEwgKEJUUiB3b3Jrcyku IFdoZW4gSSBlbmFibGUgdGhlIEJUUyAoYW5kIFRSKSB0aGUKPiA+Pj4gZ3Vlc3QgY3Jhc2hlcy4g SSBzdXBwb3NlIGhlIGdldHMga2lsbGVkIGJ5IHRoZSBoeXBlcnZpc29yIGZvcgo+ID4+PiBhY2Nl c3NpbmcgZm9yYmlkZGVuIG1lbW9yeS4KPiA+Pj4KPiA+PiBQb3NzaWJseSBiZWNhdXNlIERTIGFy ZWEgcG9pbnQgdG8gaHlwZXJ2aXNvciBtZW1vcnkuCj4gPj4KPiA+Pgo+ID4+IEhhdmluZyBzYWlk IGFsbCB0aGlzLCBJIGFtIG5vdCBzdXJlIGhvdyB3ZWxsIEJUUyB3b3Jrcy4gWW91IGRpZCBub3Rp Y2UKPiA+PiB0aGlzIGluIHRoZSBoeXBlcnZpc29yIGxvZzoKPiA+Pgo+ID4+IChYRU4pICoqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+ID4+IChY RU4pICoqIFdBUk5JTkc6IEVtdWxhdGlvbiBvZiBCVFMgRmVhdHVyZSBpcyBzd2l0Y2hlZCBvbiAq Kgo+ID4+IChYRU4pICoqIFVzaW5nIHRoaXMgcHJvY2Vzc29yIGZlYXR1cmUgaW4gYSB2aXJ0dWFs aXplZCAqKgo+ID4+IChYRU4pICoqIGVudmlyb25tZW50IGlzIG5vdCAxMDAlIHNhZmUuICoqCj4g Pj4gKFhFTikgKiogU2V0dGluZyB0aGUgRFMgYnVmZmVyIGFkZHJlc3Mgd2l0aCB3cm9uZyB2YWx1 ZXMgKioKPiA+PiAoWEVOKSAqKiBtYXkgbGVhZCB0byBoeXBlcnZpc29yIGhhbmdzIG9yIGNyYXNo ZXMuICoqCj4gPj4gKFhFTikgKiogSXQgaXMgTk9UIHJlY29tbWVuZGVkIGZvciBwcm9kdWN0aW9u IHVzZSEgKioKPiA+PiAoWEVOKSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioKPiA+Pgo+ID4gWWVzLCBJIHNhdyB0aGF0LiBJdCBkb2VzbuKAmXQg c3RhdGUgdGhhdCBCVFMgaXMgbm90IHdvcmtpbmcgYXQgYWxsLCBqdXN0IHRoYXQgaXQgaXMgbm90 IHRoYXQgc2FmZSB0byB1c2UuCj4gPiBBcyBJIHVuZGVyc3RhbmQgaXQgYXMgbG9uZyBhcyBJIHNl dCB0aGUgRFMgYnVmZmVyIGFkZHJlc3MgY29ycmVjdGx5IEkgc2hvdWxkIGJlIGZpbmUsIHJpZ2h0 Pwo+IAo+IFJpZ2h0LiBFeGNlcHQgdGhhdCBJIGFtIG5vdCBjb252aW5jZWQgeW91IGRpZCBzZXQg dGhpcyBidWZmZXIgY29ycmVjdGx5LCAKPiB3aGljaCBpcyBwb3NzaWJseSB3aHkgeW91ciBoeXBl cnZpc29yIGNyYXNoZWQgKEkgYW0gbm90IHN1cmUgSSAKPiB1bmRlcnN0b29kIHVuZGVyIHdoYXQg Y2lyY3Vtc3RhbmNlcyB0aG91Z2gpLgo+IAo+IC1ib3Jpcwo+IAo+ID4gU2luY2UgSSBkb27igJl0 IHdhbnQgdG8gdXNlIGZvciBwcm9kdWN0aW9uIHRoYXQgaXMgZmluZSB3aXRoIG1lLiBBdCBsZWFz dCBmb3Igbm93Lgo+ID4KPiA+Cj4gPiBLZXZpbgo+ID4+IC1ib3Jpcwo+ID4+Cj4gPj4KPiA+Pj4g VGhlIG1vZGlmaWVkIHZlcnNpb24gb2Ygdm14X21zcl93cml0ZV9pbnRlcmNlcHQgdGFrZXMgYSB2 Y3B1LXN0cnVjdCBhcwo+ID4+PiBhIHBhcmFtZXRlciBhbmQgdXNlcyB0aGlzIGluc3RlYWQgb2Yg dGhlIGN1cnJlbnQgdmNwdS4KPiA+Pj4KPiA+Pj4gSW5zdGVhZCBvZgo+ID4+Pgo+ID4+PiBzdGF0 aWNpbnQgdm14X21zcl93cml0ZV9pbnRlcmNlcHQodW5zaWduZWQgaW50IG1zciwgdWludDY0X3QK PiA+PiBtc3JfY29udGVudCkKPiA+Pj4gewo+ID4+Pgo+ID4+PiAgICAgIHN0cnVjdCB2Y3B1ICp2 ID0gY3VycmVudDsKPiA+Pj4KPiA+Pj4gSSBqdXN0IGhhdmUKPiA+Pj4KPiA+Pj4gc3RhdGljaW50 IG93bl92bXhfbXNyX3dyaXRlX2ludGVyY2VwdCh1bnNpZ25lZCBpbnQgbXNyLCB1aW50NjRfdAo+ ID4+PiBtc3JfY29udGVudCwgc3RydWN0IHZjcHUgKnYpCj4gPj4+Cj4gPj4+IEkgZ2V0IHRoaXMg dmNwdSBieSBkLT52Y3B1WzBdIGFzIEkgaGF2ZSBsaW1pdGVkIG15IGd1ZXN0IGRvbWFpbiB0byBv bmUKPiA+Pj4gdmNwdSBhdG0uCj4gPj4+Cj4gPj4+IE9mIGNvdXJzZSBJIGFsc28gdXNlIHNpbWls YXJseSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBjYWxsZWQKPiA+Pj4gZnVuY3Rpb25zKHZwbXVf ZG9fd3Jtc3Is4oCmKS4KPiA+Pj4KPiA+Pj4gScK0bSBwcmV0dHkgc3VyZSB0aGF0IG15IHByb2Js ZW0gaXMgd2l0aCBhIHdyb25nIHNjb3BlL3VzYWdlIG9mIHRoZQo+ID4+PiB2Y3B1cy9tZW1vcnks IGJ1dCBJIGhhdmUgbm8gaWRlYSBob3cgdG8gZml4IHRoaXMuCj4gPj4+Cj4gPj4+IEkgY2FuIHNl ZSBhIHBvdGVudGlhbCBwcm9ibGVtIHdpdGggdGhlIG1lbW9yeSBhbGxvY2F0aW9uIChpbiB0aGUg aG9zdCkKPiA+Pj4gaW50byB3aGljaCB0aGUgY3B1IGluIGd1ZXN0LW1vZGUgaXMgc3VwcG9zZWQg dG8gd3JpdGUuCj4gPj4+Cj4gPj4+IE9yIG1heWJlIEkgZ290IHRoZSBwcmluY2lwbGUgb2YgYSB2 Y3B1L3ZwbXUgYWxsIHdyb25nLgo+ID4+Pgo+ID4+PiBTaW5jZSBJIGNvdWxkbuKAmXQgZmluZCBh bnkgcHJvamVjdCB0aGF0IHVzZXMgdGhlIEJUUyBmb3IgdGhlIGd1ZXN0LCBJCj4gPj4+IGFtIHdv bmRlcmluZyBpZiBhbnlvbmUgaGFzIGV2ZXIgZG9uZSB0aGlzIGFuZCBpZiBpdCBpcyBwb3NzaWJs ZSBhdCBhbGwuCj4gPj4+Cj4gPj4+IEFueSBpbnB1dCBpcyB3ZWxjb21lIGFzIEkgYW0gcHJldHR5 IG11Y2ggc3R1Y2sgYXRt4oCmCj4gPj4+Cj4gPj4+IENoZWVycwo+ID4+Pgo+ID4+PiBLZXZpbgoK Ci0tIApDb21wYW55IGRldGFpbHM6IGh0dHA6Ly90cy5mdWppdHN1LmNvbS9pbXByaW50Lmh0bWwK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZl bCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xpc3RzLnhlbi5v cmcveGVuLWRldmVsCg==