From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ander Conselvan De Oliveira Subject: Re: [PATCH 1/2] drm/i915/glk: Apply cdclk workaround for DP audio Date: Fri, 03 Mar 2017 14:14:44 +0200 Message-ID: <1488543284.4567.11.camel@gmail.com> References: <1488337038-2906-1-git-send-email-dhinakaran.pandiyan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-pg0-x242.google.com (mail-pg0-x242.google.com [IPv6:2607:f8b0:400e:c05::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 582BE6ECF4 for ; Fri, 3 Mar 2017 12:14:50 +0000 (UTC) Received: by mail-pg0-x242.google.com with SMTP id 16so4059813pga.0 for ; Fri, 03 Mar 2017 04:14:50 -0800 (PST) In-Reply-To: <1488337038-2906-1-git-send-email-dhinakaran.pandiyan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dhinakaran Pandiyan , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCAyMDE3LTAyLTI4IGF0IDE4OjU3IC0wODAwLCBEaGluYWthcmFuIFBhbmRpeWFuIHdy b3RlOgo+IEltcGxlbWVudCBHTEsgY2RjbGsgcmVzdHJpY3Rpb24gZm9yIERQIGF1ZGlvLCBzaW1p bGFyIHRvIHdoYXQncyBpbXBsZW1lbnRlZAo+IGZvciBCRFcgYW5kIG90aGVyIEdFTjkgcGxhdGZv cm1zLiBUaGUgY2RjbGsgcmVzdHJpY3Rpb24gaGFzIGJlZW4KPiByZWZhY3RvcmVkIG91dCBvZiBt YXguIHBpeGVsIGNsb2NrIGNvbXB1dGF0aW9uIGFzIHRoZSAxOjEgcmVsYXRpb25zaGlwCj4gYmV0 d2VlbiBwaXhlbCBjbG9jayBhbmQgY2RjbGsgZnJlcXVlbmN5IGRvZXMgbm90IGhvbGQgZm9yIEdM Sy4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBh bmRpeWFuQGludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2Rj bGsuYyB8IDgzICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gIDEgZmls ZSBjaGFuZ2VkLCA1MiBpbnNlcnRpb25zKCspLCAzMSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY2RjbGsuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2NkY2xrLmMKPiBpbmRleCBkNjQzYzBjLi44ZmMwZjcyIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NkY2xrLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9jZGNsay5jCj4gQEAgLTEwNjksMTEgKzEwNjksMTEgQEAgc3RhdGlj IGludCBieHRfY2FsY19jZGNsayhpbnQgbWF4X3BpeGNsaykKPiAgCQlyZXR1cm4gMTQ0MDAwOwo+ ICB9Cj4gIAo+IC1zdGF0aWMgaW50IGdsa19jYWxjX2NkY2xrKGludCBtYXhfcGl4Y2xrKQo+ICtz dGF0aWMgaW50IGdsa19jYWxjX2NkY2xrKGludCBtYXhfcGl4Y2xrLCBpbnQgbWluX2NkY2xrKQo+ ICB7Cj4gLQlpZiAobWF4X3BpeGNsayA+IDIgKiAxNTg0MDApCj4gKwlpZiAobWF4X3BpeGNsayA+ IDIgKiAxNTg0MDAgfHwgbWluX2NkY2xrID4gMTU4NDAwKQo+ICAJCXJldHVybiAzMTY4MDA7Cj4g LQllbHNlIGlmIChtYXhfcGl4Y2xrID4gMiAqIDc5MjAwKQo+ICsJZWxzZSBpZiAobWF4X3BpeGNs ayA+IDIgKiA3OTIwMCB8fCBtaW5fY2RjbGsgPiA3OTIwMCkKPiAgCQlyZXR1cm4gMTU4NDAwOwo+ ICAJZWxzZQo+ICAJCXJldHVybiA3OTIwMDsKPiBAQCAtMTM2Nyw3ICsxMzY3LDcgQEAgdm9pZCBi eHRfaW5pdF9jZGNsayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkgKiAg IE5lZWQgdG8gbWFrZSB0aGlzIGNoYW5nZSBhZnRlciBWQlQgaGFzIGNoYW5nZXMgZm9yIEJYVC4K PiAgCSAqLwo+ICAJaWYgKElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7Cj4gLQkJY2RjbGtfc3Rh dGUuY2RjbGsgPSBnbGtfY2FsY19jZGNsaygwKTsKPiArCQljZGNsa19zdGF0ZS5jZGNsayA9IGds a19jYWxjX2NkY2xrKDAsIDApOwo+ICAJCWNkY2xrX3N0YXRlLnZjbyA9IGdsa19kZV9wbGxfdmNv KGRldl9wcml2LCBjZGNsa19zdGF0ZS5jZGNsayk7Cj4gIAl9IGVsc2Ugewo+ICAJCWNkY2xrX3N0 YXRlLmNkY2xrID0gYnh0X2NhbGNfY2RjbGsoMCk7Cj4gQEAgLTE0MzIsMjggKzE0MzIsMzcgQEAg dm9pZCBpbnRlbF9zZXRfY2RjbGsoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ ICAJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2NkY2xrKGRldl9wcml2LCBjZGNsa19zdGF0ZSk7Cj4g IH0KPiAgCj4gLXN0YXRpYyBpbnQgYmR3X2FkanVzdF9taW5fcGlwZV9waXhlbF9yYXRlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+IC0JCQkJCSAgaW50IHBpeGVsX3JhdGUp Cj4gK3N0YXRpYyBpbnQgaW50ZWxfbWluX2NkY2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKPiAgewo+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0KPiAtCQl0 b19pOTE1KGNydGNfc3RhdGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiArCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmRldik7Cj4gKwlzdHJ1Y3QgZHJtX2Ny dGMgKmNydGM7Cj4gKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNzdGF0ZTsKPiArCWludCBpOwo+ ICsJaW50IG1pbl9jZGNsayA9IDA7Cj4gIAo+IC0JLyogcGl4ZWwgcmF0ZSBtdXN0bid0IGV4Y2Vl ZCA5NSUgb2YgY2RjbGsgd2l0aCBJUFMgb24gQkRXICovCj4gLQlpZiAoSVNfQlJPQURXRUxMKGRl dl9wcml2KSAmJiBjcnRjX3N0YXRlLT5pcHNfZW5hYmxlZCkKPiAtCQlwaXhlbF9yYXRlID0gRElW X1JPVU5EX1VQKHBpeGVsX3JhdGUgKiAxMDAsIDk1KTsKPiArCWZvcl9lYWNoX2NydGNfaW5fc3Rh dGUoc3RhdGUsIGNydGMsIGNzdGF0ZSwgaSkgewo+ICsJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlOwo+ICAKPiAtCS8qIEJTcGVjIHNheXMgIkRvIG5vdCB1c2UgRGlzcGxheVBv cnQgd2l0aCBDRENMSyBsZXNzIHRoYW4KPiAtCSAqIDQzMiBNSHosIGF1ZGlvIGVuYWJsZWQsIHBv cnQgd2lkdGggeDQsIGFuZCBsaW5rIHJhdGUKPiAtCSAqIEhCUjIgKDUuNCBHSHopLCBvciBlbHNl IHRoZXJlIG1heSBiZSBhdWRpbyBjb3JydXB0aW9uIG9yCj4gLQkgKiBzY3JlZW4gY29ycnVwdGlv bi4iCj4gLQkgKi8KPiAtCWlmIChpbnRlbF9jcnRjX2hhc19kcF9lbmNvZGVyKGNydGNfc3RhdGUp ICYmCj4gLQkgICAgY3J0Y19zdGF0ZS0+aGFzX2F1ZGlvICYmCj4gLQkgICAgY3J0Y19zdGF0ZS0+ cG9ydF9jbG9jayA+PSA1NDAwMDAgJiYKPiAtCSAgICBjcnRjX3N0YXRlLT5sYW5lX2NvdW50ID09 IDQpCj4gLQkJcGl4ZWxfcmF0ZSA9IG1heCg0MzIwMDAsIHBpeGVsX3JhdGUpOwo+ICsJCWNydGNf c3RhdGUgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNzdGF0ZSk7Cj4gKwo+ICsJCS8qIEFjY29yZGlu ZyB0byBCU3BlYywgIkRvIG5vdCB1c2UgRGlzcGxheVBvcnQgd2l0aCBDRENMSyBsZXNzCj4gKwkJ ICogdGhhbiA0MzIgTUh6LCBhdWRpbyBlbmFibGVkLCBwb3J0IHdpZHRoIHg0LCBhbmQgbGluayBy YXRlCj4gKwkJICogSEJSMiAoNS40IEdIeiksIG9yIGVsc2UgdGhlcmUgbWF5IGJlIGF1ZGlvIGNv cnJ1cHRpb24gb3IKPiArCQkgKiBzY3JlZW4gY29ycnVwdGlvbi4iIGZvciBCRFcgYW5kIEdFTjku IFRoZSBjZGNsayByZXN0cmljdGlvbgo+ICsJCSAqIGZvciBHTEsgaXMgYXQgMzE2LjggTUh6Cj4g KwkJICovCj4gKwkJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIoY3J0Y19zdGF0ZSkgJiYK PiArCQkgICAgY3J0Y19zdGF0ZS0+aGFzX2F1ZGlvICYmCj4gKwkJICAgIGNydGNfc3RhdGUtPnBv cnRfY2xvY2sgPj0gNTQwMDAwICYmCj4gKwkJICAgIGNydGNfc3RhdGUtPmxhbmVfY291bnQgPT0g NCkgewo+ICsJCQlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCj4gKwkJCQltaW5fY2RjbGsg PSAzMTY4MDA7Cj4gKwkJCWVsc2UgaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikgfHwgSVNfR0VO OShkZXZfcHJpdikpCj4gKwkJCQltaW5fY2RjbGsgPSA0MzIwMDA7Cj4gKwkJfQo+ICsJfQo+ICAK PiAtCXJldHVybiBwaXhlbF9yYXRlOwo+ICsJcmV0dXJuIG1pbl9jZGNsazsKPiAgfQo+ICAKPiAg LyogY29tcHV0ZSB0aGUgbWF4IHJhdGUgZm9yIG5ldyBjb25maWd1cmF0aW9uICovCj4gQEAgLTE0 ODEsMTAgKzE0OTAsOSBAQCBzdGF0aWMgaW50IGludGVsX21heF9waXhlbF9yYXRlKHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCj4gIAkJcGl4ZWxfcmF0ZSA9IGNydGNfc3RhdGUt PnBpeGVsX3JhdGU7Cj4gIAo+IC0JCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpIHx8IElTX0dF TjkoZGV2X3ByaXYpKQo+IC0JCQlwaXhlbF9yYXRlID0KPiAtCQkJCWJkd19hZGp1c3RfbWluX3Bp cGVfcGl4ZWxfcmF0ZShjcnRjX3N0YXRlLAo+IC0JCQkJCQkJICAgICAgIHBpeGVsX3JhdGUpOwo+ ICsJCS8qIHBpeGVsIHJhdGUgbXVzdG4ndCBleGNlZWQgOTUlIG9mIGNkY2xrIHdpdGggSVBTIG9u IEJEVyAqLwo+ICsJCWlmIChJU19CUk9BRFdFTEwoZGV2X3ByaXYpICYmIGNydGNfc3RhdGUtPmlw c19lbmFibGVkKQo+ICsJCQlwaXhlbF9yYXRlID0gRElWX1JPVU5EX1VQKHBpeGVsX3JhdGUgKiAx MDAsIDk1KTsKPiAgCj4gIAkJaW50ZWxfc3RhdGUtPm1pbl9waXhjbGtbaV0gPSBwaXhlbF9yYXRl Owo+ICAJfQo+IEBAIC0xNTMxLDEzICsxNTM5LDE3IEBAIHN0YXRpYyBpbnQgYmR3X21vZGVzZXRf Y2FsY19jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCj4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwo+ICAJc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPSB0b19pbnRlbF9hdG9taWNfc3RhdGUo c3RhdGUpOwo+ICAJaW50IG1heF9waXhjbGsgPSBpbnRlbF9tYXhfcGl4ZWxfcmF0ZShzdGF0ZSk7 Cj4gKwlpbnQgbWluX2NkY2xrID0gaW50ZWxfbWluX2NkY2xrKHN0YXRlKTsKPiAgCWludCBjZGNs azsKPiAgCj4gIAkvKgo+ICAJICogRklYTUUgc2hvdWxkIGFsc28gYWNjb3VudCBmb3IgcGxhbmUg cmF0aW8KPiAgCSAqIG9uY2UgNjRicHAgcGl4ZWwgZm9ybWF0cyBhcmUgc3VwcG9ydGVkLgo+ICAJ ICovCj4gLQljZGNsayA9IGJkd19jYWxjX2NkY2xrKG1heF9waXhjbGspOwo+ICsJaWYgKG1pbl9j ZGNsayA+IG1heF9waXhjbGspCj4gKwkJY2RjbGsgPSBiZHdfY2FsY19jZGNsayhtaW5fY2RjbGsp Owo+ICsJZWxzZQo+ICsJCWNkY2xrID0gYmR3X2NhbGNfY2RjbGsobWF4X3BpeGNsayk7CgpMb29r cyBsaWtlIGludGVsX21pbl9jZGNsaygpIHJldHVybnMgYSB2YWxpZCBjZGNsayBmb3IgdGhlIHBs YXRmb3JtLCBzbyB3b3VsZG4ndAoKCWNkY2xrID0gKl9jYWxjX2NkY2xrKG1heF9waXhjbGspOwoJ aWYgKGNkY2xrIDwgbWluX2NkY2xrKQoJCWNkY2xrID0gbWluX2NkY2xrOwoKYmUgc2ltcGxlcj8g CiAKPiAgCWlmIChjZGNsayA+IGRldl9wcml2LT5tYXhfY2RjbGtfZnJlcSkgewo+ICAJCURSTV9E RUJVR19LTVMoInJlcXVlc3RlZCBjZGNsayAoJWQga0h6KSBleGNlZWRzIG1heCAoJWQga0h6KVxu IiwKPiBAQCAtMTU2NCw2ICsxNTc2LDcgQEAgc3RhdGljIGludCBza2xfbW9kZXNldF9jYWxjX2Nk Y2xrKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCXN0cnVjdCBpbnRlbF9hdG9t aWNfc3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKPiAg CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoc3RhdGUtPmRldik7 Cj4gIAljb25zdCBpbnQgbWF4X3BpeGNsayA9IGludGVsX21heF9waXhlbF9yYXRlKHN0YXRlKTsK PiArCWludCBtaW5fY2RjbGsgPSBpbnRlbF9taW5fY2RjbGsoc3RhdGUpOwo+ICAJaW50IGNkY2xr LCB2Y287Cj4gIAo+ICAJdmNvID0gaW50ZWxfc3RhdGUtPmNkY2xrLmxvZ2ljYWwudmNvOwo+IEBA IC0xNTc0LDcgKzE1ODcsMTAgQEAgc3RhdGljIGludCBza2xfbW9kZXNldF9jYWxjX2NkY2xrKHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKPiAgCSAqIEZJWE1FIHNob3VsZCBhbHNvIGFj Y291bnQgZm9yIHBsYW5lIHJhdGlvCj4gIAkgKiBvbmNlIDY0YnBwIHBpeGVsIGZvcm1hdHMgYXJl IHN1cHBvcnRlZC4KPiAgCSAqLwo+IC0JY2RjbGsgPSBza2xfY2FsY19jZGNsayhtYXhfcGl4Y2xr LCB2Y28pOwo+ICsJaWYgKG1pbl9jZGNsayA+IG1heF9waXhjbGspCj4gKwkJY2RjbGsgPSBza2xf Y2FsY19jZGNsayhtaW5fY2RjbGssIHZjbyk7Cj4gKwllbHNlCj4gKwkJY2RjbGsgPSBza2xfY2Fs Y19jZGNsayhtYXhfcGl4Y2xrLCB2Y28pOwo+ICAKPiAgCWlmIChjZGNsayA+IGRldl9wcml2LT5t YXhfY2RjbGtfZnJlcSkgewo+ICAJCURSTV9ERUJVR19LTVMoInJlcXVlc3RlZCBjZGNsayAoJWQg a0h6KSBleGNlZWRzIG1heCAoJWQga0h6KVxuIiwKPiBAQCAtMTYwNCwxMyArMTYyMCwxOCBAQCBz dGF0aWMgaW50IGJ4dF9tb2Rlc2V0X2NhbGNfY2RjbGsoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnN0YXRlKQo+ICAJaW50IG1heF9waXhjbGsgPSBpbnRlbF9tYXhfcGl4ZWxfcmF0ZShzdGF0ZSk7 Cj4gIAlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9Cj4gIAkJdG9faW50 ZWxfYXRvbWljX3N0YXRlKHN0YXRlKTsKPiArCWludCBtaW5fY2RjbGsgPSBpbnRlbF9taW5fY2Rj bGsoc3RhdGUpOwo+ICAJaW50IGNkY2xrLCB2Y287Cj4gIAo+ICAJaWYgKElTX0dFTUlOSUxBS0Uo ZGV2X3ByaXYpKSB7Cj4gLQkJY2RjbGsgPSBnbGtfY2FsY19jZGNsayhtYXhfcGl4Y2xrKTsKPiAr CQljZGNsayA9IGdsa19jYWxjX2NkY2xrKG1heF9waXhjbGssIG1pbl9jZGNsayk7Cj4gIAkJdmNv ID0gZ2xrX2RlX3BsbF92Y28oZGV2X3ByaXYsIGNkY2xrKTsKPiAgCX0gZWxzZSB7Cj4gLQkJY2Rj bGsgPSBieHRfY2FsY19jZGNsayhtYXhfcGl4Y2xrKTsKPiArCQlpZiAobWluX2NkY2xrID4gbWF4 X3BpeGNsaykKPiArCQkJY2RjbGsgPSBieHRfY2FsY19jZGNsayhtaW5fY2RjbGspOwo+ICsJCWVs c2UKPiArCQkJY2RjbGsgPSBieHRfY2FsY19jZGNsayhtYXhfcGl4Y2xrKTsKPiArCj4gIAkJdmNv ID0gYnh0X2RlX3BsbF92Y28oZGV2X3ByaXYsIGNkY2xrKTsKPiAgCX0KCldpdGggdGhlIGlkZWEg YWJvdmUsIHRoaXMgd291bGQgYmVjb21lCgppZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCglj ZGNsayA9IGdsa19jYWxjX2NkY2xrKG1heF9waXhjbGspOwplbHNlCgljZGNsayA9IGJ4dF9jYWxj X2NkY2xrKG1heF9waXhjbGspOwoKaWYgKGNkY2xrIDwgbWluX2NkY2xrKQoJY2RjbGsgPSBtaW5f Y2RjbGs7CgppZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpCgl2Y28gPSBnbGtfZGVfcGxsX3Zj byhkZXZfcHJpdiwgY2RjbGspOwplbHNlCgl2Y28gPSBieHRfZGVfcGxsX3ZjbyhkZXZfcHJpdiwg Y2RjbGspOwoKTm90IGdyZWF0LCBidXQgbWF5YmUgc3RpbGwgYmV0dGVyIHRoYW4gY2hhbmdpbmcg dGhlIHNpZ25hdHVyZSBvZgpnbGtfY2FsY19jZGNsaygpPwoKQWxzbywgdGhpcyBjb25mbGljdHMg d2l0aCBQYXVsbydzIGNkY2xrIGNsZWFuIHVwIFsxXS4KClsxXSBodHRwczovL3BhdGNod29yay5m cmVlZGVza3RvcC5vcmcvc2VyaWVzLzE5OTc0LwoKCkFuZGVyCgo+ICAKPiBAQCAtMTYyNSw3ICsx NjQ2LDcgQEAgc3RhdGljIGludCBieHRfbW9kZXNldF9jYWxjX2NkY2xrKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSkKPiAgCj4gIAlpZiAoIWludGVsX3N0YXRlLT5hY3RpdmVfY3J0Y3Mp IHsKPiAgCQlpZiAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikpIHsKPiAtCQkJY2RjbGsgPSBnbGtf Y2FsY19jZGNsaygwKTsKPiArCQkJY2RjbGsgPSBnbGtfY2FsY19jZGNsaygwLCAwKTsKPiAgCQkJ dmNvID0gZ2xrX2RlX3BsbF92Y28oZGV2X3ByaXYsIGNkY2xrKTsKPiAgCQl9IGVsc2Ugewo+ICAJ CQljZGNsayA9IGJ4dF9jYWxjX2NkY2xrKDApOwpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK