From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 2/6] drm: add helper for printing to log or seq_file Date: Mon, 17 Oct 2016 14:30:24 +0200 Message-ID: <20161017123024.GJ20761@phenom.ffwll.local> References: <1476489353-16261-1-git-send-email-robdclark@gmail.com> <1476489353-16261-3-git-send-email-robdclark@gmail.com> <20161017063815.GW20761@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-x241.google.com (mail-qk0-x241.google.com [IPv6:2607:f8b0:400d:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7CD2C6E349 for ; Mon, 17 Oct 2016 12:30:28 +0000 (UTC) Received: by mail-qk0-x241.google.com with SMTP id f128so13206563qkb.0 for ; Mon, 17 Oct 2016 05:30:28 -0700 (PDT) Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Clark Cc: "dri-devel@lists.freedesktop.org" , freedreno@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gTW9uLCBPY3QgMTcsIDIwMTYgYXQgMDc6NTk6NTFBTSAtMDQwMCwgUm9iIENsYXJrIHdyb3Rl Ogo+IE9uIE1vbiwgT2N0IDE3LCAyMDE2IGF0IDI6MzggQU0sIERhbmllbCBWZXR0ZXIgPGRhbmll bEBmZndsbC5jaD4gd3JvdGU6Cj4gPiBPbiBGcmksIE9jdCAxNCwgMjAxNiBhdCAwNzo1NTo0OVBN IC0wNDAwLCBSb2IgQ2xhcmsgd3JvdGU6Cj4gPj4gU29tZXRpbWVzIGl0IGlzIG5pY2Ugbm90IHRv IGR1cGxpY2F0ZSBlcXVpdmFsZW50IHByaW50aygpIGFuZAo+ID4+IHNlcV9wcmludGYoKSBjb2Rl Lgo+ID4+Cj4gPj4gU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29t Pgo+ID4KPiA+IE9rLCBtYXliZSBJIHNob3VsZCB3YWl0IGZvciBjb2ZmZWUgdG8ga2ljayBpbiBi ZWZvcmUgY29tbWVudGluZyBvbiBwYXRjaGVzCj4gPiA7LSkKPiA+Cj4gPiBUd28gYml0czoKPiA+ IC0ga2VybmVsZG9jIGZvciB0aGlzIHBscywgcGx1cyBwdWxsaW5nIGludG8gZHJtLWludGVybmFs cy5yc3QuCj4gPiAtIFdvdWxkIGJlIGF3ZXNvbWUgdG8gZGUtZHVwZSB0aGUgZXhpc3RpbmcgZHVt cGluZyBjb2RlIGluIGRybV9tbS5jIHdpdGgKPiA+ICAgdGhpcy4KPiAKPiBJIGhhdmUgYSBjb3Vw bGUgdGhpbmdzIGluIGRybS9tc20gdGhhdCBJIHdhbnQgdG8gZGUtZHVwLi4gYW5kIEkgZ3Vlc3MK PiBtb3N0IGRyaXZlcnMgcHJvYmFibHkgZG8gYXMgd2VsbC4uCj4gCj4gSSdtIHRveWluZyB3aXRo IHRoZSBpZGVhIHRvIGNvbnZlcnQgZHJtX2luZm9fbGlzdDo6c2hvdyBvdmVyIHRvIHRha2UgYQo+ IGRybV9wcmludCBwdHIgaW5zdGVhZCBvZiBzZXFfZmlsZSwgdGhlbiB3ZSBjb3VsZCBqdXN0IHJl LXVzZSB0aGUKPiBkZWJ1Z2ZzIGZ4bnMgZGlyZWN0bHkgd2l0aG91dCBoYXZpbmcgZXh0cmEgd3Jh cHBlcnMgZnhucy4uIHF1ZXN0aW9uIGlzCj4gYmVzdCB3YXkgdG8gZG8gdGhhdCBpbiBhIG5vbi1m bGFnLWRheSB3YXkuLgoKT25lIGlkZWEgSSBoYWQgaW4gdGhlIG90aGVyIHJlcGx5IGlzIHRvIGNy ZWF0ZSBhIHNlcV9maWxlIHdoaWNoIGNhbiBkdW1wCnRvIGRlYnVnZnMuIE5vdCBzdXJlIGhvdyBm ZWFzaWJsZSB0aGF0IGlzIC4uLgotRGFuaWVsCgo+IAo+IEJSLAo+IC1SCj4gCj4gPiAtRGFuaWVs Cj4gPgo+ID4+IC0tLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUgICAgfCAgMyArKy0K PiA+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9wcmludC5jIHwgNTQgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gPj4gIGluY2x1ZGUvZHJtL2RybV9wcmludC5oICAgICB8 IDYyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ICAz IGZpbGVzIGNoYW5nZWQsIDExOCBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCj4gPj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW50LmMKPiA+PiAgY3JlYXRl IG1vZGUgMTAwNjQ0IGluY2x1ZGUvZHJtL2RybV9wcmludC5oCj4gPj4KPiA+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlCj4g Pj4gaW5kZXggZTNkYmE2Zi4uNDg5NGViYiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vTWFrZWZpbGUKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUKPiA+PiBAQCAt MTIsNyArMTIsOCBAQCBkcm0teSAgICAgICA6PSAgICAgIGRybV9hdXRoLm8gZHJtX2J1ZnMubyBk cm1fY2FjaGUubyBcCj4gPj4gICAgICAgICAgICAgICBkcm1faW5mby5vIGRybV9kZWJ1Z2ZzLm8g ZHJtX2VuY29kZXJfc2xhdmUubyBcCj4gPj4gICAgICAgICAgICAgICBkcm1fdHJhY2VfcG9pbnRz Lm8gZHJtX2dsb2JhbC5vIGRybV9wcmltZS5vIFwKPiA+PiAgICAgICAgICAgICAgIGRybV9yZWN0 Lm8gZHJtX3ZtYV9tYW5hZ2VyLm8gZHJtX2ZsaXBfd29yay5vIFwKPiA+PiAtICAgICAgICAgICAg IGRybV9tb2Rlc2V0X2xvY2subyBkcm1fYXRvbWljLm8gZHJtX2JyaWRnZS5vCj4gPj4gKyAgICAg ICAgICAgICBkcm1fbW9kZXNldF9sb2NrLm8gZHJtX2F0b21pYy5vIGRybV9icmlkZ2UubyBcCj4g Pj4gKyAgICAgICAgICAgICBkcm1fcHJpbnQubwo+ID4+Cj4gPj4gIGRybS0kKENPTkZJR19DT01Q QVQpICs9IGRybV9pb2MzMi5vCj4gPj4gIGRybS0kKENPTkZJR19EUk1fR0VNX0NNQV9IRUxQRVIp ICs9IGRybV9nZW1fY21hX2hlbHBlci5vCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9kcm1fcHJpbnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbnQuYwo+ID4+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0Cj4gPj4gaW5kZXggMDAwMDAwMC4uZGRjYjQzNwo+ID4+IC0tLSAvZGV2L251 bGwKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3ByaW50LmMKPiA+PiBAQCAtMCwwICsx LDU0IEBACj4gPj4gKy8qCj4gPj4gKyAqIENvcHlyaWdodCAoQykgMjAxNiBSZWQgSGF0Cj4gPj4g KyAqCj4gPj4gKyAqIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdl LCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCj4gPj4gKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy ZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCj4g Pj4gKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1 ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KPiA+PiArICogdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHks IG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCj4gPj4gKyAq IGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29u cyB0byB3aG9tIHRoZQo+ID4+ICsgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1 YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgo+ID4+ICsgKgo+ID4+ICsgKiBUaGUg YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBi ZSBpbmNsdWRlZCBpbgo+ID4+ICsgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25z IG9mIHRoZSBTb2Z0d2FyZS4KPiA+PiArICoKPiA+PiArICogVEhFIFNPRlRXQVJFIElTIFBST1ZJ REVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKPiA+ PiArICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElF UyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gPj4gKyAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVOVCBTSEFMTAo+ID4+ICsgKiBU SEUgQ09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xB SU0sIERBTUFHRVMgT1IKPiA+PiArICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD VElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCj4gPj4gKyAqIEFSSVNJTkcgRlJP TSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBP Ugo+ID4+ICsgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCj4gPj4gKyAqCj4gPj4g KyAqIEF1dGhvcnM6Cj4gPj4gKyAqIFJvYiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KPiA+ PiArICovCj4gPj4gKwo+ID4+ICsjaW5jbHVkZSA8bGludXgvc2VxX2ZpbGUuaD4KPiA+PiArI2lu Y2x1ZGUgPGRybS9kcm1QLmg+Cj4gPj4gKyNpbmNsdWRlIDxkcm0vZHJtX3ByaW50Lmg+Cj4gPj4g Kwo+ID4+ICt2b2lkIF9fZHJtX3ByaW50Zm5fc2VxX2ZpbGUoc3RydWN0IGRybV9wcmludCAqcCwg Y29uc3QgY2hhciAqZiwgdmFfbGlzdCBhcmdzKQo+ID4+ICt7Cj4gPj4gKyAgICAgc2VxX3Zwcmlu dGYocC0+YXJnLCBmLCBhcmdzKTsKPiA+PiArfQo+ID4+ICsKPiA+PiArdm9pZCBfX2RybV9wcmlu dGZuX2luZm8oc3RydWN0IGRybV9wcmludCAqcCwgY29uc3QgY2hhciAqZiwgdmFfbGlzdCBhcmdz KQo+ID4+ICt7Cj4gPj4gKyAgICAgY29uc3QgY2hhciAqaGRyID0gS0VSTl9JTkZPICJbIiBEUk1f TkFNRSAiXSAiOwo+ID4+ICsgICAgIGNoYXIgZm10W3N0cmxlbihoZHIpICsgc3RybGVuKGYpICsg MV07Cj4gPj4gKwo+ID4+ICsgICAgIG1lbWNweShmbXQsIGhkciwgc3RybGVuKGhkcikpOwo+ID4+ ICsgICAgIG1lbWNweShmbXQgKyBzdHJsZW4oaGRyKSwgZiwgc3RybGVuKGYpKTsKPiA+PiArICAg ICBmbXRbc3RybGVuKGhkcikgKyBzdHJsZW4oZildID0gMDsKPiA+PiArCj4gPj4gKyAgICAgdnBy aW50ayhmbXQsIGFyZ3MpOwo+ID4+ICt9Cj4gPj4gKwo+ID4+ICt2b2lkIGRybV9wcmludGYoc3Ry dWN0IGRybV9wcmludCAqcCwgY29uc3QgY2hhciAqZiwgLi4uKQo+ID4+ICt7Cj4gPj4gKyAgICAg dmFfbGlzdCBhcmdzOwo+ID4+ICsKPiA+PiArICAgICB2YV9zdGFydChhcmdzLCBmKTsKPiA+PiAr ICAgICBwLT5wcmludGZuKHAsIGYsIGFyZ3MpOwo+ID4+ICsgICAgIHZhX2VuZChhcmdzKTsKPiA+ PiArfQo+ID4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fcHJpbnQuaCBiL2luY2x1ZGUv ZHJtL2RybV9wcmludC5oCj4gPj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+PiBpbmRleCAwMDAw MDAwLi5mMjk0YTlhCj4gPj4gLS0tIC9kZXYvbnVsbAo+ID4+ICsrKyBiL2luY2x1ZGUvZHJtL2Ry bV9wcmludC5oCj4gPj4gQEAgLTAsMCArMSw2MiBAQAo+ID4+ICsvKgo+ID4+ICsgKiBDb3B5cmln aHQgKEMpIDIwMTYgUmVkIEhhdAo+ID4+ICsgKgo+ID4+ICsgKiBQZXJtaXNzaW9uIGlzIGhlcmVi eSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQo+ID4+ ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBm aWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ID4+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3 aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gPj4gKyAq IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmli dXRlLCBzdWJsaWNlbnNlLAo+ID4+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3 YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiA+PiArICogU29mdHdhcmUg aXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u czoKPiA+PiArICoKPiA+PiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMg cGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KPiA+PiArICogYWxsIGNvcGll cyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCj4gPj4gKyAqCj4gPj4g KyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9G IEFOWSBLSU5ELCBFWFBSRVNTIE9SCj4gPj4gKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9U IExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAo+ID4+ICsgKiBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4g Tk8gRVZFTlQgU0hBTEwKPiA+PiArICogVEhFIENPUFlSSUdIVCBIT0xERVIoUykgT1IgQVVUSE9S KFMpIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SCj4gPj4gKyAqIE9USEVSIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJX SVNFLAo+ID4+ICsgKiBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEgg VEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKPiA+PiArICogT1RIRVIgREVBTElOR1MgSU4gVEhF IFNPRlRXQVJFLgo+ID4+ICsgKgo+ID4+ICsgKiBBdXRob3JzOgo+ID4+ICsgKiBSb2IgQ2xhcmsg PHJvYmRjbGFya0BnbWFpbC5jb20+Cj4gPj4gKyAqLwo+ID4+ICsKPiA+PiArI2lmbmRlZiBEUk1f UFJJTlRfSF8KPiA+PiArI2RlZmluZSBEUk1fUFJJTlRfSF8KPiA+PiArCj4gPj4gKyNpbmNsdWRl IDxzdGRhcmcuaD4KPiA+PiArI2luY2x1ZGUgPGxpbnV4L3NlcV9maWxlLmg+Cj4gPj4gKwo+ID4+ ICsvKiBBIHNpbXBsZSB3cmFwcGVyIHRvIGFic3RyYWN0IHNlcV9maWxlIHZzIHByaW50aywgc28g c2FtZSBsb2dnaW5nIGNvZGUKPiA+PiArICogZG9lcyBub3QgaGF2ZSB0byBiZSBkdXBsaWNhdGVk Lgo+ID4+ICsgKi8KPiA+PiArc3RydWN0IGRybV9wcmludCB7Cj4gPj4gKyAgICAgdm9pZCAoKnBy aW50Zm4pKHN0cnVjdCBkcm1fcHJpbnQgKnAsIGNvbnN0IGNoYXIgKmYsIHZhX2xpc3QgYXJncyk7 Cj4gPj4gKyAgICAgdm9pZCAqYXJnOwo+ID4+ICt9Owo+ID4+ICsKPiA+PiArdm9pZCBfX2RybV9w cmludGZuX3NlcV9maWxlKHN0cnVjdCBkcm1fcHJpbnQgKnAsIGNvbnN0IGNoYXIgKmYsIHZhX2xp c3QgYXJncyk7Cj4gPj4gK3ZvaWQgX19kcm1fcHJpbnRmbl9pbmZvKHN0cnVjdCBkcm1fcHJpbnQg KnAsIGNvbnN0IGNoYXIgKmYsIHZhX2xpc3QgYXJncyk7Cj4gPj4gKwo+ID4+ICt2b2lkIGRybV9w cmludGYoc3RydWN0IGRybV9wcmludCAqcCwgY29uc3QgY2hhciAqZiwgLi4uKTsKPiA+PiArCj4g Pj4gK3N0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9wcmludCBkcm1fcHJpbnRfc2VxX2ZpbGUoc3Ry dWN0IHNlcV9maWxlICpmKQo+ID4+ICt7Cj4gPj4gKyAgICAgc3RydWN0IGRybV9wcmludCBwID0g ewo+ID4+ICsgICAgICAgICAgICAgLnByaW50Zm4gPSBfX2RybV9wcmludGZuX3NlcV9maWxlLAo+ ID4+ICsgICAgICAgICAgICAgLmFyZyA9IGYsCj4gPj4gKyAgICAgfTsKPiA+PiArICAgICByZXR1 cm4gcDsKPiA+PiArfQo+ID4+ICsKPiA+PiArc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX3ByaW50 IGRybV9wcmludF9pbmZvKHZvaWQpCj4gPj4gK3sKPiA+PiArICAgICBzdHJ1Y3QgZHJtX3ByaW50 IHAgPSB7Cj4gPj4gKyAgICAgICAgICAgICAucHJpbnRmbiA9IF9fZHJtX3ByaW50Zm5faW5mbywK PiA+PiArICAgICB9Owo+ID4+ICsgICAgIHJldHVybiBwOwo+ID4+ICt9Cj4gPj4gKwo+ID4+ICsj ZW5kaWYgLyogRFJNX1BSSU5UX0hfICovCj4gPj4gLS0KPiA+PiAyLjcuNAo+ID4+Cj4gPgo+ID4g LS0KPiA+IERhbmllbCBWZXR0ZXIKPiA+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3Jh dGlvbgo+ID4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJl IEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK