From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: Re: [PATCH 1/8] drm/i915: Handle failure from 2nd stage HDCP auth Date: Fri, 2 Feb 2018 20:56:01 +0530 Message-ID: <83d3cc50-ac33-0808-2b46-c01d5a9d4eb5@intel.com> References: <1517568320-15579-1-git-send-email-ramalingam.c@intel.com> <1517568320-15579-2-git-send-email-ramalingam.c@intel.com> <20180202140949.omapwxmgm5ywdygx@art_vandelay> <20180202144509.axlu2xew3yf2qe5d@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id C810A89740 for ; Fri, 2 Feb 2018 15:31:40 +0000 (UTC) In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Sean Paul Cc: Daniel Vetter , Intel Graphics Development , "Vivi, Rodrigo" List-Id: intel-gfx@lists.freedesktop.org CgpPbiBGcmlkYXkgMDIgRmVicnVhcnkgMjAxOCAwODo1MiBQTSwgU2VhbiBQYXVsIHdyb3RlOgo+ IE9uIEZyaSwgRmViIDIsIDIwMTggYXQgOTo1MSBBTSwgUmFtYWxpbmdhbSBDIDxyYW1hbGluZ2Ft LmNAaW50ZWwuY29tPiB3cm90ZToKPj4KPj4gT24gRnJpZGF5IDAyIEZlYnJ1YXJ5IDIwMTggMDg6 MTUgUE0sIFNlYW4gUGF1bCB3cm90ZToKPj4+IE9uIEZyaSwgRmViIDAyLCAyMDE4IGF0IDA3OjUy OjI0UE0gKzA1MzAsIFJhbWFsaW5nYW0gQyB3cm90ZToKPj4+Pgo+Pj4+IE9uIEZyaWRheSAwMiBG ZWJydWFyeSAyMDE4IDA3OjM5IFBNLCBTZWFuIFBhdWwgd3JvdGU6Cj4+Pj4+IE9uIEZyaSwgRmVi IDAyLCAyMDE4IGF0IDA0OjE1OjEzUE0gKzA1MzAsIFJhbWFsaW5nYW0gQyB3cm90ZToKPj4+Pj4+ IFdlIGVuYWJsZSB0aGUgSERDUCBlbmNyeXB0aW9uIGFzIGEgcGFydCBvZiBmaXJzdCBzdGFnZSBh dXRoZW50aWNhdGlvbi4KPj4+Pj4+IFNvIHdoZW4gc2Vjb25kIHN0YWdlIGF1dGhlbnRpY2F0aW9u IGZhaWxzLCB3ZSBuZWVkIHRvIGRpc2FibGUgdGhlIEhEQ1AKPj4+Pj4+IGVuY3J5cHRpb24gYW5k IHNpZ25hbGxpbmcuCj4+Pj4+Pgo+Pj4+Pj4gVGhpcyBwYXRjaCBoYW5kbGVzIGFib3ZlIHJlcXVp cmVtZW50Lgo+Pj4+Pj4KPj4+Pj4+IEZvciByZXVzaW5nIHRoZSBfaW50ZWxfaGRjcF9kaXNhYmxl IGZyb20gZ2VuZXJpYyBhdXRoZW50aWNhdGlvbiBmbG93LAo+Pj4+Pj4gdGhpcyBwYXRjaCByZXRh aW4gdGhlIHJlZmVyZW5jZSB0byBjb25uZWN0b3IgdGlsbCB0aGUgZ2VuZXJpYyBoZGNwCj4+Pj4+ PiBmbG93Lgo+Pj4+Pj4gVGhpcyB3aWxsIGJlIGhhbmR5IHRvIHByb3ZpZGUgdGhlIGNvbm5lY3Rv ciBkZXRhaWxzIGluIEhEQ1AgZW5hYmxlCj4+Pj4+PiBkZWJ1ZyBpbmZvLgo+Pj4+Pj4KPj4+Pj4+ IFNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KPj4+ Pj4+IC0tLQo+Pj4+Pj4gICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYyB8IDQx Cj4+Pj4+PiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KPj4+Pj4+ICAg ICAxIGZpbGUgY2hhbmdlZCwgMjQgaW5zZXJ0aW9ucygrKSwgMTcgZGVsZXRpb25zKC0pCj4+Pj4+ Pgo+Pj4+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkY3AuYwo+ Pj4+Pj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKPj4+Pj4+IGluZGV4IGI5 NzE4NGVjY2Q5Yy4uMDAyMTUxMWFlNGQ3IDEwMDY0NAo+Pj4+Pj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfaGRjcC5jCj4+Pj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9oZGNwLmMKPj4+Pj4+IEBAIC0xNiw2ICsxNiw4IEBACj4+Pj4+PiAgICAgI2RlZmluZSBL RVlfTE9BRF9UUklFUyAgICAgICA1Cj4+Pj4+PiArc3RhdGljIGludCBfaW50ZWxfaGRjcF9kaXNh YmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4+Pj4+PiArCj4+Pj4+PiAg ICAgc3RhdGljIGludCBpbnRlbF9oZGNwX3BvbGxfa3N2X2ZpZm8oc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydAo+Pj4+Pj4gKmludGVsX2RpZ19wb3J0LAo+Pj4+Pj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gKnNoaW0pCj4+ Pj4+PiAgICAgewo+Pj4+Pj4gQEAgLTEzOCwxNyArMTQwLDI0IEBAIGJvb2wgaW50ZWxfaGRjcF9p c19rc3ZfdmFsaWQodTggKmtzdikKPj4+Pj4+ICAgICAgICAgIHJldHVybiB0cnVlOwo+Pj4+Pj4g ICAgIH0KPj4+Pj4+ICtzdGF0aWMKPj4+Pj4+ICtzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpj b25uX3RvX2RpZ19wb3J0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IKPj4+Pj4+ICpjb25uZWN0b3Ip Cj4+Pj4+PiArewo+Pj4+Pj4gKyAgICAgICByZXR1cm4gZW5jX3RvX2RpZ19wb3J0KCZjb25uZWN0 b3ItPmVuY29kZXItPmJhc2UpOwo+Pj4+Pj4gK30KPj4+Pj4+ICsKPj4+Pj4+ICAgICAvKiBJbXBs ZW1lbnRzIFBhcnQgMiBvZiB0aGUgSERDUCBhdXRob3JpemF0aW9uIHByb2NlZHVyZSAqLwo+Pj4+ Pj4gICAgIHN0YXRpYwo+Pj4+Pj4gLWludCBpbnRlbF9oZGNwX2F1dGhfZG93bnN0cmVhbShzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0Cj4+Pj4+PiAqaW50ZWxfZGlnX3BvcnQsCj4+Pj4+PiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAq c2hpbSkKPj4+Pj4+ICtpbnQgaW50ZWxfaGRjcF9hdXRoX2Rvd25zdHJlYW0oc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+Pj4+Pj4gICAgIHsKPj4+Pj4+ICAgICAgICAgIHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdjsKPj4+Pj4+ICAgICAgICAgIHUzMiB2cHJpbWUs IHNoYV90ZXh0LCBzaGFfbGVmdG92ZXJzLCByZXBfY3RsOwo+Pj4+Pj4gICAgICAgICAgdTggYnN0 YXR1c1syXSwgbnVtX2Rvd25zdHJlYW0sICprc3ZfZmlmbzsKPj4+Pj4+ICAgICAgICAgIGludCBy ZXQsIGksIGosIHNoYV9pZHg7Cj4+Pj4+PiArICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNw X3NoaW0gKnNoaW0gPSBjb25uZWN0b3ItPmhkY3Bfc2hpbTsKPj4+Pj4+ICsgICAgICAgc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPQo+Pj4+Pj4gY29ubl90b19kaWdf cG9ydChjb25uZWN0b3IpOwo+Pj4+Pj4gLSAgICAgICBkZXZfcHJpdiA9IGludGVsX2RpZ19wb3J0 LT5iYXNlLmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPj4+Pj4+ICsgICAgICAgZGV2X3ByaXYgPSB0 b19pOTE1KGNvbm5lY3Rvci0+YmFzZS5kZXYpOwo+Pj4+Pj4gICAgICAgICAgcmV0ID0gaW50ZWxf aGRjcF9wb2xsX2tzdl9maWZvKGludGVsX2RpZ19wb3J0LCBzaGltKTsKPj4+Pj4+ICAgICAgICAg IGlmIChyZXQpIHsKPj4+Pj4+IEBAIC0zODUsOCArMzk0LDcgQEAgaW50IGludGVsX2hkY3BfYXV0 aF9kb3duc3RyZWFtKHN0cnVjdAo+Pj4+Pj4gaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCwKPj4+Pj4+ICAgICB9Cj4+Pj4+PiAgICAgLyogSW1wbGVtZW50cyBQYXJ0IDEgb2YgdGhl IEhEQ1AgYXV0aG9yaXphdGlvbiBwcm9jZWR1cmUgKi8KPj4+Pj4+IC1zdGF0aWMgaW50IGludGVs X2hkY3BfYXV0aChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCwKPj4+ Pj4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9oZGNwX3No aW0gKnNoaW0pCj4+Pj4+PiArc3RhdGljIGludCBpbnRlbF9oZGNwX2F1dGgoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+Pj4+Pj4gICAgIHsKPj4+Pj4+ICAgICAgICAgIHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdjsKPj4+Pj4+ICAgICAgICAgIGVudW0gcG9ydCBw b3J0Owo+Pj4+Pj4gQEAgLTQwNSw5ICs0MTMsMTAgQEAgc3RhdGljIGludCBpbnRlbF9oZGNwX2F1 dGgoc3RydWN0Cj4+Pj4+PiBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAo+Pj4+ Pj4gICAgICAgICAgICAgICAgICB1OCBzaGltW0RSTV9IRENQX1JJX0xFTl07Cj4+Pj4+PiAgICAg ICAgICB9IHJpOwo+Pj4+Pj4gICAgICAgICAgYm9vbCByZXBlYXRlcl9wcmVzZW50Owo+Pj4+Pj4g KyAgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltICpzaGltID0gY29ubmVjdG9yLT5o ZGNwX3NoaW07Cj4+Pj4+PiArICAgICAgIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVs X2RpZ19wb3J0ID0KPj4+Pj4+IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKPj4+Pj4+IC0g ICAgICAgZGV2X3ByaXYgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldi0+ZGV2X3ByaXZh dGU7Cj4+Pj4+PiAtCj4+Pj4+PiArICAgICAgIGRldl9wcml2ID0gdG9faTkxNShjb25uZWN0b3It PmJhc2UuZGV2KTsKPj4+Pj4+ICAgICAgICAgIHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+YmFzZS5w b3J0Owo+Pj4+Pj4gICAgICAgICAgLyogSW5pdGlhbGl6ZSBBbiB3aXRoIDIgcmFuZG9tIHZhbHVl cyBhbmQgYWNxdWlyZSBpdCAqLwo+Pj4+Pj4gQEAgLTQ5OCwxOSArNTA3LDE4IEBAIHN0YXRpYyBp bnQgaW50ZWxfaGRjcF9hdXRoKHN0cnVjdAo+Pj4+Pj4gaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCwKPj4+Pj4+ICAgICAgICAgICAqIG9uIHRob3NlIGFzIHdlbGwuCj4+Pj4+PiAg ICAgICAgICAgKi8KPj4+Pj4+IC0gICAgICAgaWYgKHJlcGVhdGVyX3ByZXNlbnQpCj4+Pj4+PiAt ICAgICAgICAgICAgICAgcmV0dXJuIGludGVsX2hkY3BfYXV0aF9kb3duc3RyZWFtKGludGVsX2Rp Z19wb3J0LAo+Pj4+Pj4gc2hpbSk7Cj4+Pj4+PiArICAgICAgIGlmIChyZXBlYXRlcl9wcmVzZW50 KSB7Cj4+Pj4+PiArICAgICAgICAgICAgICAgcmV0ID0gaW50ZWxfaGRjcF9hdXRoX2Rvd25zdHJl YW0oY29ubmVjdG9yKTsKPj4+Pj4+ICsgICAgICAgICAgICAgICBpZiAocmV0KSB7Cj4+Pj4+PiAr ICAgICAgICAgICAgICAgICAgICAgICBfaW50ZWxfaGRjcF9kaXNhYmxlKGNvbm5lY3Rvcik7Cj4+ Pj4+IElmIHlvdSBqdXN0IGNhbGwgdGhpcyBmcm9tIF9pbnRlbF9oZGNwX2VuYWJsZSB3aGVuIGlu dGVsX2hkY3BfYXV0aCgpCj4+Pj4+IGZhaWxzLCB5b3UKPj4+Pj4gY2FuIGF2b2lkIGFsbCBvZiB0 aGlzIGNvZGUsIGl0J2QganVzdCBiZSBvbmUgbGluZS4KPj4+PiBZZXMuIFRob3VnaHQgYWJvdXQg dGhhdCBvcHRpb24gdG9vLiBBY3R1YWxseSBJIHdvdWxkIHByZWZlciBoYXZpbmcgdGhlCj4+Pj4g cmVmZXJlbmNlIG9mIGludGVsX2Nvbm5lY3RvciB1bnRpbGwgZ2VuZXJpYyBoZGNwIGF1dGggaW1w bGVtZW50YXRpb24uCj4+Pj4gd2UgY2FuIHBhc3MgdGhlIGludGVsIGRpZ2l0YWwgcG9ydCBmb3Ig ZW5jb2RlciBzcGVjaWZpYyBzaGltcy4KPj4+Pgo+Pj4+IFRoaXMgd2lsbCBoZWxwIG1lIHdpdGgK Pj4+PiAgICAgICBwcm92aWRpbmcgdGhlIGNvbm5lY3RvciBkZXRhaWxzIGZvciBzdGF0ZSB0cmFu c2l0aW9ucyBhcyBpbiBuZXh0Cj4+Pj4gcGF0Y2hlcwo+Pj4+ICAgICAgIG5leHQgc3RlcHMgbGlr ZSBTUk0gcGFzc2luZyBpbiBmb3IgcmV2b2NhdGlvbiBhbmQgZG93bnN0cmVhbQo+Pj4+IHRvcG9s b2d5Cj4+Pj4gZ2F0aGVyaW5nIChwZXJoYXBzIHdpbGwgc3RhcnQgd2l0aCBhdmFpbGFiaWxpdHkg b2YgY29tcGxlbWVudGluZyB1c2VyCj4+Pj4gc3BhY2UpCj4+Pj4KPj4+PiBBdCB0aGlzIHBvaW50 IGlmIHdlIGRvbnQgd2FudCB0aGlzIGNvZGUsIEkgd2lsbCBkaXNhYmxlIGhkY3AgZnJvbSBlbmFi bGUKPj4+PiBmdW5jdGlvbnMuCj4+PiBZZXMgcGxlYXNlLiBMZXQncyBub3QgdHJ5IHRvIHByZWRp Y3QgdGhlIGZ1dHVyZSBhbmQga2VlcCB0aGluZ3MgYXMgc2ltcGxlCj4+PiBhcwo+Pj4gcG9zc2li bGUuCj4+Pgo+Pj4gU2Vhbgo+PiBidXQgcGF0Y2ggMyhhZGRpbmcgY29ubmVjdG9yIGluZm8gaW50 byBoZGNwIHN0YXRlIHRyYW5zaXRpb24gZGVidWcgbG9ncykKPj4gc3RpbGwgbmVlZHMgY29uZW5j dG9yIHJlZiBhdCBhdXRoLgo+PiBEbyB3ZSBzdGlsbCB3YW50IHRvIGRyb3AgdGhlIGNvbm5lY3Rv ciByZWYgcGFzc2luZz8gSWYgc28gd2Ugd2lsbCBsb3NlIHBhdGNoCj4+IDMgdG9vLgo+IEkgd2Fz IHRoaW5raW5nIGFib3V0IHRoaXMgZnVydGhlciwgYW5kIGl0IGRvZXNuJ3QgcmVhbGx5IG1ha2Ug c2Vuc2UgdG8KPiBjaGFuZ2Ugc29tZSBvZiB0aGUgbWVzc2FnZXMgYW5kIG5vdCBhbGwgb2YgdGhl bS4gU28gcGVyaGFwcwo+IG1pZGRsZS1vZi10aGUtcm9hZCBzb2x1dGlvbiB3b3VsZCBiZSB0byBh ZGQgYSBuZXcgREVCVUdfS01TIG1lc3NhZ2UgYXQKPiB0aGUgYmVnaW5uaW5nIG9mIGJvdGggIF9p bnRlbF9oZGNwX2VuYWJsZSBhbmQgX2ludGVsX2hkY3BfZGlzYWJsZQo+IGxpc3RpbmcgdGhlIGNv bm5lY3RvciBuYW1lL2lkIGFuZCByZXBvcnRpbmcgdGhhdCBoZGNwIGlzIGJlaW5nCj4gZW5hYmxl ZC9kaXNhYmxlZC4gVGhhdCB3YXkgYW55dGhpbmcgdGhhdCBmb2xsb3dzIGNhbiBiZSBhdHRyaWJ1 dGVkIHRvCj4gdGhhdCBjb25uZWN0b3IuIFRoaXMgYWxzbyBhdm9pZHMgaGF2aW5nIHRvIHNodWZm bGUgdGhlIGFyZ3VtZW50cwo+IGFyb3VuZC4KPgo+IFNlYW4KT2sgSSB3aWxsIGFkZCB0aGF0IGFz IHYyIG9mIHBhdGNoIDMuCgotLVJhbQo+Cj4+IC1SYW0KPj4KPj4KPj4+PiAtUmFtCj4+Pj4+Cj4+ Pj4+PiArICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+Pj4+Pj4gKyAgICAgICAg ICAgICAgIH0KPj4+Pj4+ICsgICAgICAgfQo+Pj4+Pj4gICAgICAgICAgRFJNX0RFQlVHX0tNUygi SERDUCBpcyBlbmFibGVkIChubyByZXBlYXRlciBwcmVzZW50KVxuIik7Cj4+Pj4+PiAgICAgICAg ICByZXR1cm4gMDsKPj4+Pj4+ICAgICB9Cj4+Pj4+PiAtc3RhdGljCj4+Pj4+PiAtc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqY29ubl90b19kaWdfcG9ydChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y Cj4+Pj4+PiAqY29ubmVjdG9yKQo+Pj4+Pj4gLXsKPj4+Pj4+IC0gICAgICAgcmV0dXJuCj4+Pj4+ PiBlbmNfdG9fZGlnX3BvcnQoJmludGVsX2F0dGFjaGVkX2VuY29kZXIoJmNvbm5lY3Rvci0+YmFz ZSktPmJhc2UpOwo+Pj4+Pj4gLX0KPj4+Pj4+IC0KPj4+Pj4+ICAgICBzdGF0aWMgaW50IF9pbnRl bF9oZGNwX2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+Pj4+Pj4g ICAgIHsKPj4+Pj4+ICAgICAgICAgIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 Cj4+Pj4+PiBjb25uZWN0b3ItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKPj4+Pj4+IEBAIC01NTgs OCArNTY2LDcgQEAgc3RhdGljIGludCBfaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0Cj4+Pj4+PiBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKPj4+Pj4+ICAgICAgICAgICAgICAgICAgcmV0dXJu IHJldDsKPj4+Pj4+ICAgICAgICAgIH0KPj4+Pj4+IC0gICAgICAgcmV0ID0gaW50ZWxfaGRjcF9h dXRoKGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKSwKPj4+Pj4+IC0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbm5lY3Rvci0+aGRjcF9zaGltKTsKPj4+Pj4+ICsgICAgICAgcmV0ID0g aW50ZWxfaGRjcF9hdXRoKGNvbm5lY3Rvcik7Cj4+Pj4+PiAgICAgICAgICBpZiAocmV0KSB7Cj4+ Pj4+PiAgICAgICAgICAgICAgICAgIERSTV9FUlJPUigiRmFpbGVkIHRvIGF1dGhlbnRpY2F0ZSBI RENQICglZClcbiIsIHJldCk7Cj4+Pj4+PiAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7Cj4+ Pj4+PiAtLQo+Pj4+Pj4gMi43LjQKPj4+Pj4+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK