From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paulo Zanoni Subject: Re: [PATCH] drm/i915/icl: implement icl_digital_port_connected() Date: Wed, 25 Jul 2018 10:59:32 -0700 Message-ID: <1532541572.2522.15.camel@intel.com> References: <20180725002813.6938-1-paulo.r.zanoni@intel.com> <20180725002813.6938-2-paulo.r.zanoni@intel.com> <20180725011923.GA3771@ldmartin-desk.amr.corp.intel.com> <1532539649.2522.14.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2441C6E6DD for ; Wed, 25 Jul 2018 17:59:37 +0000 (UTC) In-Reply-To: <1532539649.2522.14.camel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Lucas De Marchi Cc: intel-gfx@lists.freedesktop.org, Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org RW0gUXVhLCAyMDE4LTA3LTI1IMOgcyAxMDoyNyAtMDcwMCwgUGF1bG8gWmFub25pIGVzY3JldmV1 Ogo+IEVtIFRlciwgMjAxOC0wNy0yNCDDoHMgMTg6MTkgLTA3MDAsIEx1Y2FzIERlIE1hcmNoaSBl c2NyZXZldToKPiA+IE9uIFR1ZSwgSnVsIDI0LCAyMDE4IGF0IDA1OjI4OjA5UE0gLTA3MDAsIFBh dWxvIFphbm9uaSB3cm90ZToKPiA+ID4gRG8gbGlrZSB0aGUgb3RoZXIgZnVuY3Rpb25zIGFuZCBj aGVjayBmb3IgdGhlIHN0YXR1cyBiaXRzLiBUaGUKPiA+ID4gIkhvdAo+ID4gPiBQbHVnIERldGVj dGlvbiIgcGFnZSBmcm9tIG91ciBkb2N1bWVudGF0aW9uIHNheXMgd2UgY2FuJ3QganVzdAo+ID4g PiB1c2UKPiA+ID4gdGhlCj4gPiA+IElTUiBiaXRzIG9uIHRoZSBDUFUgc2lkZSwgc28gdXNlIHRo ZSBjb3JyZWN0IHJlZ2lzdGVycy4KPiA+IAo+ID4gbml0OiBoZXJlIHlvdSBhcmUgc2F5aW5nIGl0 J3MgZm9yIGFsbCBvZiB0aGVtIHJhdGhlciB0aGFuIGp1c3QgYQo+ID4gc3Vic2V0Lgo+ID4gTXkg c3VnZ2VzdGlvbiBpczoKPiA+IAo+ID4gRG8gbGlrZSB0aGUgb3RoZXIgZnVuY3Rpb25zIGFuZCBj aGVjayBmb3IgdGhlIHN0YXR1cyBiaXRzLiBGb3IKPiA+IFR5cGVDL1RCVAo+ID4gb24gTm9ydGgg RGlzcGxheSBFbmdpbmUgdGhlICJIb3QgUGx1ZyBEZXRlY3Rpb24iIHBhZ2UgZnJvbSBvdXIKPiA+ IGRvY3VtZW50YXRpb24gc2F5cyB3ZSBjYW4ndCBqdXN0IHVzZSB0aGUgSVNSIGJpdHMgdG8gZmlu ZCB0aGUgbGl2ZQo+ID4gc3RhdGUsIHNvIHVzZSB0aGUgY29ycmVjdCByZWdpc3RlcnM6IERGTEVY RFBTUCBUQyBMaXZlIFN0YXRlIGZpZWxkLgo+ID4gCj4gPiAKPiA+ID4gCj4gPiA+IHYyOiBSZWJh c2UuCj4gPiA+IHYzOgo+ID4gPiAgIC0gU2ltcGxpZnkgdHJ1ZS9mYWxzZSBhc3NpZ25tZW50IChS b2RyaWdvKS4KPiA+ID4gICAtIFJlb3JnYW5pemUgaXNfZ2VuIGlmIGxhZGRlciAoUm9kcmlnbyku Cj4gPiA+ICAgLSBEb24ndCB1c2UgdGhlIElTUiBmb3IgVEMvVEJUIENQVSBiaXRzLgo+ID4gPiAK PiA+ID4gQ2M6IEFuaW1lc2ggTWFubmEgPGFuaW1lc2gubWFubmFAaW50ZWwuY29tPgo+ID4gPiBD YzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+ID4gPiBTaWduZWQtb2Zm LWJ5OiBSb2RyaWdvIFZpdmkgPHJvZHJpZ28udml2aUBpbnRlbC5jb20+Cj4gPiA+IFNpZ25lZC1v ZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8uci56YW5vbmlAaW50ZWwuY29tPgo+ID4gPiAtLS0K PiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggfCAgOCArKysrKwo+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyB8IDU1Cj4gPiA+ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrLQo+ID4gPiAgMiBmaWxlcyBjaGFuZ2VkLCA2MiBpbnNlcnRpb25z KCspLCAxIGRlbGV0aW9uKC0pCj4gPiA+IAo+ID4gPiBNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQg dGhlcmUncyBhZ3JlZW1lbnQgb24gdGhpcyBwYXRjaCBzaW5jZSBpdAo+ID4gPiBqdXN0Cj4gPiA+ IG1pbWlja3Mgd2hhdCB0aGUgb3RoZXIgZ2VucyBkby4gTGV0J3MgaGF2ZSB0aGlzIG9uZSBhZ3Jl ZWQgb24KPiA+ID4gKG1lcmdlZCkKPiA+ID4gZmlyc3QgYmVmb3JlIHdlIGNvbnRpbnVlIHRoZSBk aXNjdXNzaW9ucywgZXNwZWNpYWxseSBzaW5jZSB0aGlzCj4gPiA+IG9uZQo+ID4gPiBzaWduaWZp Y2FudGx5IGFmZmVjdHMgdGhlIENJIHN5c3RlbS4KPiA+ID4gCj4gPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+IGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9yZWcuaAo+ID4gPiBpbmRleCA3Mzk0NjA1NWFhMTUuLjNlYWZmMzJkZDc0ZSAxMDA2 NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAo+ID4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gPiA+IEBAIC03MjEwLDYgKzcyMTAs NyBAQCBlbnVtIHsKPiA+ID4gICNkZWZpbmUgIEdFTjExX1RDM19IT1RQTFVHCQkJKDEgPDwgMTgp Cj4gPiA+ICAjZGVmaW5lICBHRU4xMV9UQzJfSE9UUExVRwkJCSgxIDw8IDE3KQo+ID4gPiAgI2Rl ZmluZSAgR0VOMTFfVEMxX0hPVFBMVUcJCQkoMSA8PCAxNikKPiA+ID4gKyNkZWZpbmUgIEdFTjEx X1RDX0hPVFBMVUcodGNfcG9ydCkJCSgxIDw8Cj4gPiA+ICgodGNfcG9ydCkKPiA+ID4gKyAxNikp Cj4gPiA+ICAjZGVmaW5lICBHRU4xMV9ERV9UQ19IT1RQTFVHX01BU0sJCShHRU4xMV9UQzRfSE9U UAo+ID4gPiBMVQo+ID4gPiBHIHwgXAo+ID4gPiAgCQkJCQkJIEdFTjExX1RDM19IT1RQTAo+ID4g PiBVRwo+ID4gPiA+IFwKPiA+ID4gCj4gPiA+ICAJCQkJCQkgR0VOMTFfVEMyX0hPVFBMCj4gPiA+ IFVHCj4gPiA+ID4gXAo+ID4gPiAKPiA+ID4gQEAgLTcyMTgsNiArNzIxOSw3IEBAIGVudW0gewo+ ID4gPiAgI2RlZmluZSAgR0VOMTFfVEJUM19IT1RQTFVHCQkJKDEgPDwgMikKPiA+ID4gICNkZWZp bmUgIEdFTjExX1RCVDJfSE9UUExVRwkJCSgxIDw8IDEpCj4gPiA+ICAjZGVmaW5lICBHRU4xMV9U QlQxX0hPVFBMVUcJCQkoMSA8PCAwKQo+ID4gPiArI2RlZmluZSAgR0VOMTFfVEJUX0hPVFBMVUco dGNfcG9ydCkJCSgxIDw8Cj4gPiA+ICh0Y19wb3J0KSkKPiA+ID4gICNkZWZpbmUgIEdFTjExX0RF X1RCVF9IT1RQTFVHX01BU0sJCShHRU4xMV9UQlQ0X0hPCj4gPiA+IFRQCj4gPiA+IExVRyB8IFwK PiA+ID4gIAkJCQkJCSBHRU4xMV9UQlQzX0hPVFAKPiA+ID4gTFUKPiA+ID4gRyB8IFwKPiA+ID4g IAkJCQkJCSBHRU4xMV9UQlQyX0hPVFAKPiA+ID4gTFUKPiA+ID4gRyB8IFwKPiA+ID4gQEAgLTc1 OTAsNiArNzU5Miw4IEBAIGVudW0gewo+ID4gPiAgI2RlZmluZSBTREVfR01CVVNfSUNQCQkJKDEg PDwgMjMpCj4gPiA+ICAjZGVmaW5lIFNERV9ERElCX0hPVFBMVUdfSUNQCQkoMSA8PCAxNykKPiA+ ID4gICNkZWZpbmUgU0RFX0RESUFfSE9UUExVR19JQ1AJCSgxIDw8IDE2KQo+ID4gPiArI2RlZmlu ZSBTREVfVENfSE9UUExVR19JQ1AodGNfcG9ydCkJKDEgPDwgKCh0Y19wb3J0KSArCj4gPiA+IDI0 KSkKPiA+ID4gKyNkZWZpbmUgU0RFX0RESV9IT1RQTFVHX0lDUChwb3J0KQkoMSA8PCAoKHBvcnQp ICsgMTYpKQo+ID4gPiAgI2RlZmluZSBTREVfRERJX01BU0tfSUNQCQkoU0RFX0RESUJfSE9UUExV R19JQ1AgfAkKPiA+ID4gXAo+ID4gPiAgCQkJCQkgU0RFX0RESUFfSE9UUExVR19JQ1ApCj4gPiA+ ICAjZGVmaW5lIFNERV9UQ19NQVNLX0lDUAkJCShTREVfVEM0X0hPVFBMVUdfCj4gPiA+IElDCj4g PiA+IFAgfAlcCj4gPiA+IEBAIC0xMDY1NCw0ICsxMDY1OCw4IEBAIGVudW0gc2tsX3Bvd2VyX2dh dGUgewo+ID4gPiAgCQkJCQkJX0lDTF9EU0MxX1JDX0JVRgo+ID4gPiBfVAo+ID4gPiBIUkVTSF8x X1VEV19QQiwgXAo+ID4gPiAgCQkJCQkJX0lDTF9EU0MxX1JDX0JVRgo+ID4gPiBfVAo+ID4gPiBI UkVTSF8xX1VEV19QQykKPiA+ID4gIAo+ID4gPiArI2RlZmluZSBQT1JUX1RYX0RGTEVYRFBTUAkJ CV9NTUlPKDB4MTYzOEEwKQo+ID4gPiArI2RlZmluZSAgIFRDX0xJVkVfU1RBVEVfVEJUKHRjX3Bv cnQpCQkoMSA8PAo+ID4gPiAoKHRjX3BvcnQpICogOCArIDYpKQo+ID4gPiArI2RlZmluZSAgIFRD X0xJVkVfU1RBVEVfVEModGNfcG9ydCkJCSgxIDw8Cj4gPiA+ICgodGNfcG9ydCkgKiA4ICsgNSkp Cj4gPiA+ICsKPiA+ID4gICNlbmRpZiAvKiBfSTkxNV9SRUdfSF8gKi8KPiA+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+IGluZGV4IGNkMGY2NDliNTdhNS4uOTk4ZDY5ODc4OGY5 IDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKPiA+ID4gQEAgLTQ1ODYsNiAr NDU4Niw1NyBAQCBzdGF0aWMgYm9vbAo+ID4gPiBieHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiA+ID4gIAlyZXR1cm4gSTkxNV9SRUFEKEdF TjhfREVfUE9SVF9JU1IpICYgYml0Owo+ID4gPiAgfQo+ID4gPiAgCj4gPiA+ICtzdGF0aWMgYm9v bCBpY2xfY29tYm9fcG9ydF9jb25uZWN0ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUKPiA+ID4g KmRldl9wcml2LAo+ID4gPiArCQkJCSAgICAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydAo+ID4g PiAqaW50ZWxfZGlnX3BvcnQpCj4gPiA+ICt7Cj4gPiA+ICsJZW51bSBwb3J0IHBvcnQgPSBpbnRl bF9kaWdfcG9ydC0+YmFzZS5wb3J0Owo+ID4gPiArCj4gPiA+ICsJcmV0dXJuIEk5MTVfUkVBRChT REVJU1IpICYgU0RFX0RESV9IT1RQTFVHX0lDUChwb3J0KTsKPiA+ID4gK30KPiA+ID4gKwo+ID4g PiArc3RhdGljIGJvb2wgaWNsX3RjX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlCj4gPiA+ICpkZXZfcHJpdiwKPiA+ID4gKwkJCQkgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3Bv cnQKPiA+ID4gKmludGVsX2RpZ19wb3J0KQo+ID4gPiArewo+ID4gPiArCWVudW0gcG9ydCBwb3J0 ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKPiA+ID4gKwllbnVtIHRjX3BvcnQgdGNfcG9y dCA9IGludGVsX3BvcnRfdG9fdGMoZGV2X3ByaXYsIHBvcnQpOwo+ID4gPiArCWJvb2wgaXNfbGVn YWN5LCBpc190eXBlYywgaXNfdGJ0Owo+ID4gPiArCXUzMiBkcHNwOwo+ID4gPiArCj4gPiA+ICsJ aXNfbGVnYWN5ID0gSTkxNV9SRUFEKFNERUlTUikgJgo+ID4gPiBTREVfVENfSE9UUExVR19JQ1Ao dGNfcG9ydCk7Cj4gPiA+ICsKPiA+ID4gKwkvKgo+ID4gPiArCSAqIFRoZSBzcGVjIHNheXMgd2Ug c2hvdWxkbid0IGJlIHVzaW5nIHRoZSBJU1IgYml0cyBmb3IKPiA+ID4gZGV0ZWN0aW5nCj4gPiA+ ICsJICogYmV0d2VlbiBUQyBhbmQgVEJULiBXZSBzaG91bGQgdXNlIERGTEVYRFBTUC4KPiA+ID4g KwkgKi8KPiA+ID4gKwlkcHNwID0gSTkxNV9SRUFEKFBPUlRfVFhfREZMRVhEUFNQKTsKPiA+IAo+ ID4gSSBvbmx5IHdvbmRlciBpZiB3ZSBzaG91bGQgYmUgcmVhZGluZyB0aGUgTm9ydGggREUgZXZl biBpZgo+ID4gaXNfbGVnYWN5Cj4gPiBpcwo+ID4gdHJ1ZSBhYm92ZSByYXRoZXIgdGhhbiB1c2lu ZyBhbiBlYXJseSByZXR1cm4uIEFueXdheToKPiAKPiAobWlzc2VkIHRoaXMgcGFydCBpbiB0aGUg b3RoZXIgZW1haWwpCj4gCj4gVGhhdCBtYWtlcyBzZW5zZSBpbiB0aGUgY3VycmVudCBzdGF0ZSBv ZiB0aGUgY29kZS4gSXQgd291bGQgcmVtb3ZlCj4gb3VyCj4gYWJpbGl0eSB0byBoaXQgdGhlIFdB Uk5fT04gYmVsb3csIGJ1dCB0aGF0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhIG1ham9yCj4gaXNzdWUu Cj4gCj4gTm93IHdoZW4gd2UgZ28gYmFjayB0byBkaXNjdXNzaW5nIG91ciBpbXBsZW1lbnRhdGlv biBmb3IgdGhlIGNvbm5lY3QKPiBmbG93cyB3ZSBtYXkgZW5kIHVwIGhhdmluZyB0byByZXZlcnQg dG8gdGhlIGN1cnJlbnQgZm9ybSwgYnV0IHdlIGNhbgo+IGFsd2F5cyBkbyB0aGF0IGlmIHdlIG5l ZWQgaXQuCgpGb3JnZXQgd2hhdCBJIGp1c3Qgc2FpZDogcGF0Y2ggMiB3aWxsIGFscmVhZHkgaGF2 ZSB0byByZXZlcnQgdGhlIGVhcmx5CnJldHVybi4KCj4gCj4gPiAKPiA+IFJldmlld2VkLWJ5OiBM dWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNvbT4KPiAKPiBUaGFua3MhIEkn bGwgc3VibWl0IHY0Lgo+IAo+ID4gCj4gPiBMdWNhcyBEZSBNYXJjaGkKPiA+IAo+ID4gPiArCWlz X3R5cGVjID0gZHBzcCAmIFRDX0xJVkVfU1RBVEVfVEModGNfcG9ydCk7Cj4gPiA+ICsJaXNfdGJ0 ID0gZHBzcCAmIFRDX0xJVkVfU1RBVEVfVEJUKHRjX3BvcnQpOwo+ID4gPiArCj4gPiA+ICsJV0FS Tl9PTihpc19sZWdhY3kgKyBpc190eXBlYyArIGlzX3RidCA+IDEpOwo+ID4gPiArCj4gPiA+ICsJ cmV0dXJuIGlzX2xlZ2FjeSB8fCBpc190eXBlYyB8fCBpc190YnQ7Cj4gPiA+ICt9Cj4gPiA+ICsK PiA+ID4gK3N0YXRpYyBib29sIGljbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdCBpbnRl bF9lbmNvZGVyCj4gPiA+ICplbmNvZGVyKQo+ID4gPiArewo+ID4gPiArCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZW5jb2Rlci0KPiA+ID4gPiBiYXNlLmRldik7 Cj4gPiA+IAo+ID4gPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19wb3J0ID0KPiA+ ID4gZW5jX3RvX2RpZ19wb3J0KCZlbmNvZGVyLT5iYXNlKTsKPiA+ID4gKwo+ID4gPiArCXN3aXRj aCAoZW5jb2Rlci0+aHBkX3Bpbikgewo+ID4gPiArCWNhc2UgSFBEX1BPUlRfQToKPiA+ID4gKwlj YXNlIEhQRF9QT1JUX0I6Cj4gPiA+ICsJCXJldHVybiBpY2xfY29tYm9fcG9ydF9jb25uZWN0ZWQo ZGV2X3ByaXYsCj4gPiA+IGRpZ19wb3J0KTsKPiA+ID4gKwljYXNlIEhQRF9QT1JUX0M6Cj4gPiA+ ICsJY2FzZSBIUERfUE9SVF9EOgo+ID4gPiArCWNhc2UgSFBEX1BPUlRfRToKPiA+ID4gKwljYXNl IEhQRF9QT1JUX0Y6Cj4gPiA+ICsJCXJldHVybiBpY2xfdGNfcG9ydF9jb25uZWN0ZWQoZGV2X3By aXYsCj4gPiA+IGRpZ19wb3J0KTsKPiA+ID4gKwlkZWZhdWx0Ogo+ID4gPiArCQlNSVNTSU5HX0NB U0UoZW5jb2Rlci0+aHBkX3Bpbik7Cj4gPiA+ICsJCXJldHVybiBmYWxzZTsKPiA+ID4gKwl9Cj4g PiA+ICt9Cj4gPiA+ICsKPiA+ID4gIC8qCj4gPiA+ICAgKiBpbnRlbF9kaWdpdGFsX3BvcnRfY29u bmVjdGVkIC0gaXMgdGhlIHNwZWNpZmllZCBwb3J0Cj4gPiA+IGNvbm5lY3RlZD8KPiA+ID4gICAq IEBlbmNvZGVyOiBpbnRlbF9lbmNvZGVyCj4gPiA+IEBAIC00NjEzLDggKzQ2NjQsMTAgQEAgYm9v bCBpbnRlbF9kaWdpdGFsX3BvcnRfY29ubmVjdGVkKHN0cnVjdAo+ID4gPiBpbnRlbF9lbmNvZGVy ICplbmNvZGVyKQo+ID4gPiAgCQlyZXR1cm4gYmR3X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5j b2Rlcik7Cj4gPiA+ICAJZWxzZSBpZiAoSVNfR0VOOV9MUChkZXZfcHJpdikpCj4gPiA+ICAJCXJl dHVybiBieHRfZGlnaXRhbF9wb3J0X2Nvbm5lY3RlZChlbmNvZGVyKTsKPiA+ID4gLQllbHNlCj4g PiA+ICsJZWxzZSBpZiAoSVNfR0VOOV9CQyhkZXZfcHJpdikgfHwgSVNfR0VOMTAoZGV2X3ByaXYp KQo+ID4gPiAgCQlyZXR1cm4gc3B0X2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5jb2Rlcik7Cj4g PiA+ICsJZWxzZQo+ID4gPiArCQlyZXR1cm4gaWNsX2RpZ2l0YWxfcG9ydF9jb25uZWN0ZWQoZW5j b2Rlcik7Cj4gPiA+ICB9Cj4gPiA+ICAKPiA+ID4gIHN0YXRpYyBzdHJ1Y3QgZWRpZCAqCj4gPiA+ IC0tIAo+ID4gPiAyLjE3LjEKPiA+ID4gCj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCj4gPiA+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiA+ID4g SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlz dAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeApfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK