From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 7/7] drm/syncobj: use the timeline point in drm_syncobj_find_fence Date: Fri, 23 Nov 2018 13:26:37 +0100 Message-ID: <20181123122637.GJ4266@phenom.ffwll.local> References: <20181115111245.30161-1-christian.koenig@amd.com> <20181115111245.30161-8-christian.koenig@amd.com> <7857f8af-7046-66a4-e679-3e788b5750c1@amd.com> <3a57870c-75ee-e706-1967-870f4757d6ff@gmail.com> <1c8fb095-2a82-12f3-d8e2-6b437a795d0f@amd.com> <7b04004c-4a6a-8c25-cb2a-5995027f16ee@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7829B6E5F3 for ; Fri, 23 Nov 2018 12:26:42 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id b3so10145143ede.1 for ; Fri, 23 Nov 2018 04:26:42 -0800 (PST) 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: "Koenig, Christian" Cc: "dri-devel@lists.freedesktop.org" , "daniel.vetter@ffwll.ch" List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBOb3YgMjMsIDIwMTggYXQgMTI6MDI6NDFQTSArMDAwMCwgS29lbmlnLCBDaHJpc3Rp YW4gd3JvdGU6Cj4gQW0gMjMuMTEuMTggdW0gMTI6MDMgc2NocmllYiBDaHJpc3RpYW4gS8O2bmln Ogo+ID4gQW0gMjMuMTEuMTggdW0gMTE6NTYgc2NocmllYiB6aG91Y20xOgo+ID4+Cj4gPj4KPiA+ PiBPbiAyMDE45bm0MTHmnIgyM+aXpSAxODoxMCwgS29lbmlnLCBDaHJpc3RpYW4gd3JvdGU6Cj4g Pj4+IEFtIDIzLjExLjE4IHVtIDAzOjM2IHNjaHJpZWIgemhvdWNtMToKPiA+Pj4+Cj4gPj4+PiBP biAyMDE45bm0MTHmnIgyMuaXpSAxOTozMCwgQ2hyaXN0aWFuIEvDtm5pZyB3cm90ZToKPiA+Pj4+ PiBBbSAyMi4xMS4xOCB1bSAwNzo1MiBzY2hyaWViIHpob3VjbTE6Cj4gPj4+Pj4+Cj4gPj4+Pj4+ IE9uIDIwMTjlubQxMeaciDE15pelIDE5OjEyLCBDaHJpc3RpYW4gS8O2bmlnIHdyb3RlOgo+ID4+ Pj4+Pj4gSW1wbGVtZW50IGZpbmRpbmcgdGhlIHJpZ2h0IHRpbWVsaW5lIHBvaW50IGluIAo+ID4+ Pj4+Pj4gZHJtX3N5bmNvYmpfZmluZF9mZW5jZS4KPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBTaWduZWQt b2ZmLWJ5OiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4gPj4+ Pj4+PiAtLS0KPiA+Pj4+Pj4+IMKgwqAgZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMgfCAx MCArKysrKysrKystCj4gPj4+Pj4+PiDCoMKgIDEgZmlsZSBjaGFuZ2VkLCA5IGluc2VydGlvbnMo KyksIDEgZGVsZXRpb24oLSkKPiA+Pj4+Pj4+Cj4gPj4+Pj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKPiA+Pj4+Pj4+IGIvZHJpdmVycy9ncHUvZHJtL2RybV9z eW5jb2JqLmMKPiA+Pj4+Pj4+IGluZGV4IDU4OWQ4ODRjY2Q1OC4uZDQyYzUxNTIwZGE0IDEwMDY0 NAo+ID4+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9zeW5jb2JqLmMKPiA+Pj4+Pj4+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fc3luY29iai5jCj4gPj4+Pj4+PiBAQCAtMzA3LDkg KzMwNywxNyBAQCBpbnQgZHJtX3N5bmNvYmpfZmluZF9mZW5jZShzdHJ1Y3QgZHJtX2ZpbGUKPiA+ Pj4+Pj4+ICpmaWxlX3ByaXZhdGUsCj4gPj4+Pj4+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXR1 cm4gLUVOT0VOVDsKPiA+Pj4+Pj4+IMKgwqAgwqDCoMKgwqDCoCAqZmVuY2UgPSBkcm1fc3luY29i al9mZW5jZV9nZXQoc3luY29iaik7Cj4gPj4+Pj4+PiAtwqDCoMKgIGlmICghKmZlbmNlKSB7Cj4g Pj4+Pj4+PiArwqDCoMKgIGlmICghKmZlbmNlKQo+ID4+Pj4+Pj4gwqDCoMKgwqDCoMKgwqDCoMKg wqAgcmV0ID0gLUVJTlZBTDsKPiA+Pj4+Pj4+ICsKPiA+Pj4+Pj4+ICvCoMKgwqAgaWYgKCFyZXQg JiYgcG9pbnQpIHsKPiA+Pj4+Pj4+ICvCoMKgwqDCoMKgwqDCoCBkbWFfZmVuY2VfY2hhaW5fZm9y X2VhY2goKmZlbmNlKSB7Cj4gPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAoIXRv X2RtYV9mZW5jZV9jaGFpbigqZmVuY2UpIHx8Cj4gPj4+Pj4+PiArwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICgqZmVuY2UpLT5zZXFubyA8PSBwb2ludCkKPiA+Pj4+Pj4+ICvCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgYnJlYWs7Cj4gPj4+Pj4+IFRoaXMgY29uZGl0aW9uIGlz bid0IGVub3VnaCB0byBmaW5kIHByb3BlciBwb2ludC4KPiA+Pj4+Pj4gRm9yIHR3byBleGFtcGxl czoKPiA+Pj4+Pj4gYS4gTm8gZ2FyYmFnZSBjb2xsZWN0aW9uIGhhcHBlbnMsIHRoZSBwb2ludHMg aW4gY2hhaW4gYXJlCj4gPj4+Pj4+IDEtLS0tMy0tLS02LS0tLTktLS0tMTItLS0xOC0tLTIwLCBp ZiB1c2VyIHdhbnRzIHRvIGdldCBwb2ludDE3LCB0aGVuCj4gPj4+Pj4+IHdlIHNob3VsZCByZXR1 cm4gbm9kZSAxOC4KPiA+Pj4+PiBBbmQgdGhhdCBpcyBleGFjdGx5IHdoYXQncyB3cm9uZyBpbiB0 aGUgb3JpZ2luYWwgbG9naWMuIEluIHRoaXMgY2FzZQo+ID4+Pj4+IHdlIG5lZWQgdG8gcmV0dXJu IDEyLCBub3QgMTggYmVjYXVzZSBwb2ludCAxNyBjb3VsZCBoYXZlIGFscmVhZHkgYmVlbgo+ID4+ Pj4+IGdhcmJhZ2UgY29sbGVjdGVkLgo+ID4+Pj4gSSBkb24ndCB0aGluayBzbywgdGhlICdhJyBj YXNlIEkgYWxyZWFkeSBhc3N1bWUgdGhlcmUgaXNuJ3QgZ2FyYmFnZQo+ID4+Pj4gY29sbGVjdGlv bi4gSWYgdXNlciB3YW50cyB0byBnZXQgcG9pbnQxNywgdGhlbiB3ZSBzaG91bGQgcmV0dXJuIAo+ ID4+Pj4gbm9kZSAxOC4KPiA+Pj4+IHRpbWVsaW5lIG1lYW5zIHBvaW50W05dwqAgbXVzdCBiZSBz aWduYWxlZCBsYXRlciB0aGFuIHBvaW50W04tMV0uCj4gPj4+PiBQb2ludFsxMl0ganVzdCBjYW4g bWFrZSBzdXJlIHBvaW50WzFdIH5wb2ludFsxMl0gYXJlIHNpZ25hbGVkLgo+ID4+Pj4gUG9pbnRb MThdIHNpZ25hbCBjYW4gbWFrZSBzdXJlIHBvaW50WzE3XSBpcyBzaWduYWxlZC4KPiA+Pj4+IFNv IHRoaXMgY2FzZSB3ZSBuZWVkIHRvIHJldHVybiAxOCwgbm90IDEyLCB3aGljaCBpcyBrZXkgdGlt ZWxpbmUgCj4gPj4+PiBjb25jZXB0Lgo+ID4+PiBObywgZXhhY3RseSB0aGF0J3MgaW5jb3JyZWN0 LiBXaGVuIHdlIGFzayBmb3IgMTcgYW5kIGNhbid0IGZpbmQgaXQgdGhlbgo+ID4+PiB0aGlzIG1l YW5zIGl0IGVpdGhlciBuZXZlciBleGlzdGVkIG9yIHRoYXQgaXQgaXMgc2lnbmFsZWQgYWxyZWFk eS4KPiA+Pj4KPiA+Pj4gUmV0dXJuaW5nIGEgbG93ZXIgbnVtYmVyIGluIHRoaXMgY2FzZSBvciBl dmVuIGEgc3R1YiBmZW5jZSBpcyBwZXJmZWN0bHkKPiA+Pj4gZmluZSBzaW5jZSB3ZSBvbmx5IG5l ZWQgdG8gd2FpdCBmb3IgdGhhdCBvbmUgaW4gdGhpcyBjYXNlLgo+ID4+Pgo+ID4+PiBJZiB3ZSBy ZXR1cm4gMTggaW4gdGhpcyBjYXNlIHRoZW4gd2UgYWRkIGluY29ycmVjdCBzeW5jaHJvbml6YXRp b24gd2hlbgo+ID4+PiB0aGVyZSBzaG91bGRuJ3QgYmUgYW55Lgo+ID4+IE5vLCBUaGF0IHdpbGwg bWFrZSB0aW1lbGluZSBub3Qgd29yayBhdCBhbGwgYW5kIGJyZWFrIHRpbWVsaW5lIAo+ID4+IHNl bWFudGljcyB0b3RhbGx5Lgo+ID4+Cj4gPj4gSWYgdGhlcmUgYXJlbid0IHBvaW50MTggYW5kIHBv aW50MjAsIHRoZSBjaGFpbiBpcyAKPiA+PiAxLS0tLTMtLS0tNi0tLS05LS0tLTEyLCBpZiB1c2Vy IHdhbnRzIHRvIGdldCBwb2ludCAxNywgeW91IGFsc28gCj4gPj4gcmV0dXJuIDEyPyBpZiB5ZXMs IHdoaWNoIGFic29sdXRlbHkgaXMgaW5jb3JyZWN0LiBUaGUgYW5zd2VyIHNob3VsZCAKPiA+PiBi ZSBOTywgcmlnaHQ/IHBvaW50MTcgc2hvdWxkIGJlIHdhaXRlZCBvbiB0aGVyZSB1bnRpbCBhIGJp Z2dlciBwb2ludCAKPiA+PiBpcyBjb21pbmcuCj4gPgo+ID4gQ29ycmVjdCwgYnV0IHRoaXMgaXMg YSBkaWZmZXJlbnQgY2FzZS4gSW4gdGhpcyBzaXR1YXRpb24gd2UgZWl0aGVyIAo+ID4gcmV0dXJu IGFuIGVycm9yIG9yIHdhaXQgZm9yIHBvaW50IDE3IChvciBzb21ldGhpbmcgPj0xNykgdG8gc2hv dyB1cC4KPiA+Cj4gPiBUaGUga2V5IGRpZmZlcmVuY2UgaXMgaWYgcG9pbnQgMTcgc2hvd3MgdXAg dGhlbiB3ZSByZXR1cm4gcG9pbnQgMTcsIAo+ID4gYnV0IGlmIHBvaW50IDE4IHNob3dzIHVwIHRo ZW4gd2UgbmVlZCB0byByZXR1cm4gcG9pbnQgMTIuCj4gPgo+ID4+IEZvciBjaGFpbiBpcyAxLS0t LTMtLS0tNi0tLS05LS0tLTEyLS0tMTgtLS0yMCwgaWYgdXNlciB3YW50cyB0byB3YWl0IAo+ID4+ IG9uIGFueSBvbmUgb2YgcG9pbnRzIDEzLDE0LDE1LDE2LDE3LDE4LCB3ZSBtdXN0IHdhaXQgZm9y IHBvaW50IDE4LCAKPiA+PiB0aGlzIGlzIHRpbWVsaW5lIHNlbWFudGljLgo+ID4KPiA+IEFoLCBu b3cgSSB1bmRlcnN0YW5kLiBZb3UgYXJlIHN0aWxsIHN0aWNraW5nIHdpdGggdGhlIGFzc3VtcHRp b24gb2YgYSAKPiA+IGZlbmNlIG51bWJlciwgcmlnaHQ/Cj4gPgo+ID4gSW4gb3RoZXIgd29yZHMg d2hhdCB5b3UgaW1wbHkgaGVyZSBpcyB0aGF0IHdlIGhhdmUgdGhlIHNhbWUgc2VtYW50aWMgCj4g PiBhcyB3aGVuIHNvbWVib2R5IHdhaXRzIGZvciBhIG1lbW9yeSBsb2NhdGlvbiB0byBiZSB3cml0 dGVuIGJ5IG51bWJlciAKPiA+IDE3LCByaWdodD8gSW4gdGhpcyBjYXNlIHRoZSBzZW1hbnRpY3Mg eW91IGRlc2NyaWJlIGhlcmUgaW5kZWVkIGFwcGxpZXMuCj4gPgo+ID4gQnV0IHRoYXQgaXMgY2Vy dGFpbmx5IG5vdCB3aGF0IHdlIHdhbnQgdG8gaW1wbGVtZW50IG9yIG90aGVyd2lzZSB3ZSAKPiA+ IHdpbGwgbmV2ZXIgYmUgYWJsZSB0byBnYXJiYWdlIGNvbGxlY3QgdGhlIG51bWJlcnMgaW4gYmV0 d2Vlbi4KPiA+Cj4gPiBTbyBpZiBWdWxrYW4gaGFzIHRoaXMgcmVxdWlyZW1lbnQgdGhlbiB3ZSBu ZWVkIHRvIHJlamVjdCB0aGF0Lgo+IAo+IEJhY2tpbmcgb2YgYW5kIHJlY29uc2lkZXJpbmcgdGhp cyBJIGNhbWUgdG8gdGhlIGNvbmNsdXNpb24gdGhhdCB3aGF0IHlvdSAKPiBzdWdnZXN0IGhlcmUg aXMgYWN0dWFsbHkgdGhlIG1vc3QgZGVmZW5zaXZlIHNvbHV0aW9uLgo+IAo+IEluIG90aGVyIHdv cmRzIGl0IGlzIHRoZSBzb2x1dGlvbiB3aGVyZSBpdCdzIG1vc3QgbGlrZWx5IHRoYXQgbm90aGlu ZyAKPiBnb2VzIHdyb25nIGJlY2F1c2UgdGhlIHdvcnN0IHRoaW5nIHRoYXQgY2FuIGhhcHBlbiBp cyB0aGF0IHdlIAo+IHN5bmNocm9uaXplIHRvIG11Y2gsIGJ1dCBuZXZlciB0byBsZXNzLgo+IAo+ IEdvaW5nIHRvIHRoaW5rIGFib3V0IGl0IGhvdyB3ZSBjYW4gYnJpbmcgdGhhdCBpbnRvIGFsaWdu bWVudCB3aXRoIHRoZSAKPiBwcm9wb3NlZCBnYXJiYWdlIGNvbGxlY3Rpb24uCgpTaG91bGQgd2Ug aW1wbGVtZW50IHRoZSB0ZXN0cyBmaXJzdCAoZWl0aGVyIGFzIGluLWtlcm5lbCB1bml0IHRlc3Rz LCBsaWtlCndlIGhhdmUgc29tZSwgb3IgaW4gaWd0IG9uIHRvcCBvZiB2Z2VtKSwgYWdyZWUgb24g dGhlIHNlbWFudGljcyB3ZSB3YW50LAp0aGVuIHdvcmsgb24gdGhlIGltcGxlbWVudGF0aW9uPwoK QWxsIHRoZXNlIGRpc2N1c3Npb25zIGFuZCBnb3RjaGFzIGFuZCAib29wcyBhbm90aGVyIGNvcm5l ciBjYXNlIHdlIG1pc3NlZCIKd2hlbiBvbmx5IGxvb2tpbmcgYXQgdGhlIGltcGxlbWVudGF0aW9u IGZlZWxzIGxpa2UgaXQgY291bGQgd29yayBvdXQKYmV0dGVyIGlmIHdlIGF0dGFjayB0aGlzIGZy b20gdGhlIG90aGVyIHNpZGUgb2YgdGhlIHVhcGkgYmFycmllciAuLi4KCkp1c3QgYSB0aG91Z2h0 LgotRGFuaWVsCgo+IAo+IFRoYW5rcywKPiBDaHJpc3RpYW4uCj4gCj4gPgo+ID4gUmVnYXJkcywK PiA+IENocmlzdGlhbi4KPiA+Cj4gPj4KPiA+PiBZb3UgY2FuIGFsc28gY2hlY2sgc3dfc3luYy5j IGZvciB0aW1lbGluZSBtZWFuaW5nLgo+ID4+Cj4gPj4gLURhdmlkCj4gPj4+Cj4gPj4+IENocmlz dGlhbi4KPiA+Pj4KPiA+Pj4+IC1EYXZpZAo+ID4+Pj4+PiBiLiBnYXJiYWdlIGNvbGxlY3Rpb24g aGFwcGVucyBvbiBwb2ludDYsIGNoYWluIHdvdWxkIGJlIHVwZGF0ZWQgdG8KPiA+Pj4+Pj4gMS0t LTMtLS05LS0tMTItLS0xOC0tLTIwLCBpZiB1c2VyIHdhbnRzIHRvIGdldCBwb2ludDUsIHRoZW4g d2UKPiA+Pj4+Pj4gc2hvdWxkIHJldHVybiBub2RlIDMsIGJ1dCBpZiB1c2VyIHdhbnRzIHRvIGdl dCBwb2ludCA3LCB0aGVuIHdlCj4gPj4+Pj4+IHNob3VsZCByZXR1cm4gbm9kZSA5Lgo+ID4+Pj4+ IFdoeT8gVGhhdCBkb2Vzbid0IHNlZW0gdG8gbWFrZSBhbnkgc2Vuc2UgdG8gbWUuCj4gPj4+Pj4K PiA+Pj4+Pj4gSSBzdGlsbCBoYXZlIG5vIGlkZWEgaG93IHRvIHNhdGlzZnkgYWxsIHRoZXNlIHJl cXVpcmVtZW50cyB3aXRoIHlvdXIKPiA+Pj4+Pj4gY3VycmVudCBjaGFpbi1mZW5jZS4gQWxsIHRo ZXNlIGxvZ2ljIGp1c3QgYXJlIHNhbWUgd2UgZW5jb3VudGVyZWQKPiA+Pj4+Pj4gYmVmb3JlLCB3 ZSdyZSB3YWxraW5nIHRoZW0gYWdhaW4uIEFmdGVyIHNvbHZpbmcgdGhlc2UgcHJvYmxlbXMsIEkK PiA+Pj4+Pj4gZ3Vlc3MgYWxsIGRlc2lnbiBpcyBzaW1pbGFyIGFzIGJlZm9yZS4KPiA+Pj4+Pj4K PiA+Pj4+Pj4gSW4gZmFjdCwgSSBkb24ndCBrbm93IHdoYXQgcHJvYmxlbSBwcmV2aW91cyBkZXNp Z24gaGFzLCBtYXliZSB0aGVyZQo+ID4+Pj4+PiBhcmUgc29tZSBidWdzLCBjYW4ndCB3ZSBmaXgg dGhlc2UgYnVncyBieSB0aW1lIGdvaW5nPyBXaG8gY2FuIG1ha2UKPiA+Pj4+Pj4gc3VyZSBoaXMg aW1wbGVtZW50YXRpb24gbmV2ZXIgaGF2ZSBidWdzPwo+ID4+Pj4+IFdlbGwgdGhlcmUgd2hlcmUg bnVtZXJvdXMgcHJvYmxlbXMgd2l0aCB0aGUgb3JpZ2luYWwgZGVzaWduLiBGb3IKPiA+Pj4+PiBl eGFtcGxlIHdlIG5lZWQgdG8gcmVqZWN0IHRoZSByZXF1aXJlbWVudCB0aGF0IHRpbWVsaW5lIGZl bmNlcyBhcmUgaW4KPiA+Pj4+PiBvcmRlciBiZWNhdXNlIHRoYXQgZG9lc24ndCBtYWtlIHNlbnNl IGluIHRoZSBrZXJuZWwuCj4gPj4+Pj4KPiA+Pj4+PiBXaGVuIHVzZXJzcGFjZSBkb2VzIHNvbWV0 aGluZyBsaWtlIHN1Ym1pdHRpbmcgZmVuY2VzIGluIHRoZSBvcmRlciAxLAo+ID4+Pj4+IDUsIDMg dGhlbiBpdCBpcyBicm9rZW4gYW5kIGNhbiBrZWVwIHRoZSBwaWVjZXMuIEluIG90aGVyIHdvcmRz IHRoZQo+ID4+Pj4+IGtlcm5lbCBzaG91bGQgbm90IGNhcmUgYWJvdXQgdGhhdCwgYnV0IHJhdGhl ciBtYWtlIHN1cmUgdGhhdCBpdCBuZXZlcgo+ID4+Pj4+IGxvb3NlcyBhbnkgc3luY2hyb25pemF0 aW9uIG5vIG1hdHRlciB3aGF0Lgo+ID4+Pj4+Cj4gPj4+Pj4gUmVnYXJkcywKPiA+Pj4+PiBDaHJp c3RpYW4uCj4gPj4+Pj4KPiA+Pj4+Pj4KPiA+Pj4+Pj4gLURhdmlkCj4gPj4+Pj4+PiArwqDCoMKg wqDCoMKgwqAgfQo+ID4+Pj4+Pj4gwqDCoMKgwqDCoMKgIH0KPiA+Pj4+Pj4+ICsKPiA+Pj4+Pj4+ IMKgwqDCoMKgwqDCoCBkcm1fc3luY29ial9wdXQoc3luY29iaik7Cj4gPj4+Pj4+PiDCoMKgwqDC oMKgwqAgcmV0dXJuIHJldDsKPiA+Pj4+Pj4+IMKgwqAgfQo+ID4+Cj4gPj4gX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+PiBkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0Cj4gPj4gZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+IGh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCj4gPgo+IAoK LS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENvcnBvcmF0aW9uCmh0 dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=