From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 18AEDC433E0 for ; Thu, 7 Jan 2021 18:20:48 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 90B3D207C8 for ; Thu, 7 Jan 2021 18:20:47 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 90B3D207C8 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2B4756E4CA; Thu, 7 Jan 2021 18:20:47 +0000 (UTC) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 09CAC6E4CB for ; Thu, 7 Jan 2021 18:20:45 +0000 (UTC) IronPort-SDR: p0Eic/eBlMg4c6MbcCWlo38Trh0jDvwDyp7f45vbVfAecVv4AEsj9xsT/N+o+ROOAXuHcWYF2K kT6TORE7eB6A== X-IronPort-AV: E=McAfee;i="6000,8403,9857"; a="157253012" X-IronPort-AV: E=Sophos;i="5.79,329,1602572400"; d="scan'208";a="157253012" Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 07 Jan 2021 10:20:31 -0800 IronPort-SDR: JGOWnhqCH3T2ZVLQZ7u4I4ydbhUc1g0RpWH9kFs1Bl0xfRP4YsIEeveEyFv3YClYBPvuImdIFO 0YnB2K7kDmPw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,329,1602572400"; d="scan'208";a="422668448" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga001.jf.intel.com with SMTP; 07 Jan 2021 10:20:27 -0800 Received: by stinkbox (sSMTP sendmail emulation); Thu, 07 Jan 2021 20:20:26 +0200 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Thu, 7 Jan 2021 20:20:25 +0200 Message-Id: <20210107182026.24848-1-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 1/2] drm/i915: Try to use fast+narrow link on eDP again and fall back to the old max strategy on failure X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Matteo Iervasi , Jani Nikula , Albert Astals Cid , Kai-Heng Feng , Emanuele Panigati Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClNv bWUgbmV3IGVEUCBwYW5lbHMgZG9uJ3QgbGlrZSB0byBvcGVyYXRlIGF0IHRoZSBtYXggcGFyYW1l dGVycywgYW5kCmluc3RlYWQgd2UgbmVlZCB0byBnbyBmb3IgYW4gb3B0aW1hbCBjb25maXVncmF0 aW9uLiBUaGF0IHVuZm9ydHVuYXRlbHkKZG9lc24ndCB3b3JrIHdpdGggb2xkZXIgZURQIHBhbmVs cyB3aGljaCBhcmUgZ2VuZXJhbGx5IG9ubHkgZ3VhcmFudGVlZAp0byB3b3JrIGF0IHRoZSBtYXgg cGFyYW1ldGVycy4KClRvIHNvbHZlIHRoZXNlIHR3byBjb25mbGljdGluZyByZXF1aXJlbWVudHMg bGV0J3Mgc3RhcnQgd2l0aCB0aGUgb3B0aW1hbApzZXR1cCwgYW5kIGlmIHRoYXQgZmFpbHMgd2Ug c3RhcnQgYWdhaW4gd2l0aCB0aGUgbWF4IHBhcmFtZXRlcnMuIFRoZQpkb3duc2lkZSBpcyBwcm9i YWJseSBhbiBleHRyYSBtb2Rlc2V0IHdoZW4gd2Ugc3dpdGNoIHN0cmF0ZWdpZXMgYnV0CkkgZG9u J3Qgc2VlIGEgZ29vZCB3YXkgdG8gYXZvaWQgdGhhdC4KCkZvciBhIGJpdCBvZiBoaXN0b3J5IHdl IGZpcnN0IHRyaWVkIHRvIGdvIGZvciB0aGUgZmFzdCtuYXJyb3cgaW4KY29tbWl0IDc3NjlkYjU4 ODM4NCAoImRybS9pOTE1L2RwOiBvcHRpbWl6ZSBlRFAgMS40KyBsaW5rIGNvbmZpZwpmYXN0IGFu ZCBuYXJyb3ciKS4gYnV0IHRoYXQgaGFkIHRvIGJlIHJldmVydGVkIGR1ZSB0byByZWdyZXNzaW9u Cm9uIG9sZGVyIHBhbmVscyBpbiBjb21taXQgZjExY2IxYzE5YWQwICgiZHJtL2k5MTUvZHA6IHJl dmVydCBiYWNrCnRvIG1heCBsaW5rIHJhdGUgYW5kIGxhbmUgY291bnQgb24gZURQIikuIFNvIG5v dyB3ZSB0cnkgdG8gZ2V0CnRoZSBiZXN0IG9mIGJvdGggd29ybGRzIGJ5IHVzaW5nIGJvdGggc3Ry YXRlZ2llcy4KCnYyOiBEZWFsIHdpdGggb3V0cHV0X2JwcCBhbmQgdWFwaSB2cy4gaHcgc3RhdGUg c3BsaXQKICAgIFJld29yZCBzb21lIGNvbW1lbnRzCnYzOiBSZWJhc2UKCkNjOiBKYW5pIE5pa3Vs YSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgpDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlA aW50ZWwuY29tPgpDYzogQWxiZXJ0IEFzdGFscyBDaWQgPGFhY2lkQGtkZS5vcmc+ICMgdjUuMCBi YWNrcG9ydApDYzogRW1hbnVlbGUgUGFuaWdhdGkgPGlscGFuaWNoQGdtYWlsLmNvbT4gIyB2NS4w IGJhY2twb3J0CkNjOiBNYXR0ZW8gSWVydmFzaSA8bWF0dGVvaWVydmFzaUBnbWFpbC5jb20+ICMg djUuMCBiYWNrcG9ydApDYzogVGltbyBBYWx0b25lbiA8dGphYWx0b25AdWJ1bnR1LmNvbT4KQ2M6 IEthaS1IZW5nIEZlbmcgPGthaS5oZW5nLmZlbmdAY2Fub25pY2FsLmNvbT4KUmV2aWV3ZWQtYnk6 IE1hbmFzaSBOYXZhcmUgPG1hbmFzaS5kLm5hdmFyZUBpbnRlbC5jb20+ClJlZmVyZW5jZXM6IGh0 dHBzOi8vYnVncy5mcmVlZGVza3RvcC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNTI2NwpSZWZlcmVu Y2VzOiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDk5NTkK UmVmZXJlbmNlczogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Aub3JnL2RybS9pbnRlbC9pc3N1 ZXMvMjcyClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51 eC5pbnRlbC5jb20+Ci0tLQogLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBl cy5oICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kcC5jICAg ICAgIHwgNzUgKysrKysrKysrKysrKysrKy0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRp b25zKCspLCA5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlz cGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKaW5kZXggMTA2N2JkMDczYzk1Li45ZGZhZDQxZWIz ZGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eV90eXBlcy5oCkBAIC0xMzU0LDYgKzEzNTQsNyBAQCBzdHJ1Y3QgaW50ZWxfZHAgewogCWJvb2wg aGFzX2hkbWlfc2luazsKIAlib29sIGhhc19hdWRpbzsKIAlib29sIHJlc2V0X2xpbmtfcGFyYW1z OworCWJvb2wgdXNlX21heF9wYXJhbXM7CiAJdTggZHBjZFtEUF9SRUNFSVZFUl9DQVBfU0laRV07 CiAJdTggcHNyX2RwY2RbRURQX1BTUl9SRUNFSVZFUl9DQVBfU0laRV07CiAJdTggZG93bnN0cmVh bV9wb3J0c1tEUF9NQVhfRE9XTlNUUkVBTV9QT1JUU107CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RwLmMKaW5kZXggOGEwMGU2MDkwODVmLi41N2MyMTQwYzEzMTYgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZHAuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RwLmMKQEAgLTQ4MCw2ICs0ODAsMTMgQEAgaW50 IGludGVsX2RwX2dldF9saW5rX3RyYWluX2ZhbGxiYWNrX3ZhbHVlcyhzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwLAogCQlyZXR1cm4gLTE7CiAJfQogCisJaWYgKGludGVsX2RwX2lzX2VkcChpbnRl bF9kcCkgJiYgIWludGVsX2RwLT51c2VfbWF4X3BhcmFtcykgeworCQlkcm1fZGJnX2ttcygmaTkx NS0+ZHJtLAorCQkJICAgICJSZXRyeWluZyBMaW5rIHRyYWluaW5nIGZvciBlRFAgd2l0aCBtYXgg cGFyYW1ldGVyc1xuIik7CisJCWludGVsX2RwLT51c2VfbWF4X3BhcmFtcyA9IHRydWU7CisJCXJl dHVybiAwOworCX0KKwogCWluZGV4ID0gaW50ZWxfZHBfcmF0ZV9pbmRleChpbnRlbF9kcC0+Y29t bW9uX3JhdGVzLAogCQkJCSAgICBpbnRlbF9kcC0+bnVtX2NvbW1vbl9yYXRlcywKIAkJCQkgICAg bGlua19yYXRlKTsKQEAgLTIyOTAsNiArMjI5Nyw0NCBAQCBpbnRlbF9kcF9jb21wdXRlX2xpbmtf Y29uZmlnX3dpZGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKIAlyZXR1cm4gLUVJTlZBTDsK IH0KIAorLyogT3B0aW1pemUgbGluayBjb25maWcgaW4gb3JkZXI6IG1heCBicHAsIG1pbiBsYW5l cywgbWluIGNsb2NrICovCitzdGF0aWMgaW50CitpbnRlbF9kcF9jb21wdXRlX2xpbmtfY29uZmln X2Zhc3Qoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKKwkJCQkgIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZywKKwkJCQkgIGNvbnN0IHN0cnVjdCBsaW5rX2NvbmZpZ19saW1p dHMgKmxpbWl0cykKK3sKKwljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqdXN0ZWRf bW9kZSA9ICZwaXBlX2NvbmZpZy0+aHcuYWRqdXN0ZWRfbW9kZTsKKwlpbnQgYnBwLCBjbG9jaywg bGFuZV9jb3VudDsKKwlpbnQgbW9kZV9yYXRlLCBsaW5rX2Nsb2NrLCBsaW5rX2F2YWlsOworCisJ Zm9yIChicHAgPSBsaW1pdHMtPm1heF9icHA7IGJwcCA+PSBsaW1pdHMtPm1pbl9icHA7IGJwcCAt PSAyICogMykgeworCQlpbnQgb3V0cHV0X2JwcCA9IGludGVsX2RwX291dHB1dF9icHAocGlwZV9j b25maWctPm91dHB1dF9mb3JtYXQsIGJwcCk7CisKKwkJbW9kZV9yYXRlID0gaW50ZWxfZHBfbGlu a19yZXF1aXJlZChhZGp1c3RlZF9tb2RlLT5jcnRjX2Nsb2NrLAorCQkJCQkJICAgb3V0cHV0X2Jw cCk7CisKKwkJZm9yIChsYW5lX2NvdW50ID0gbGltaXRzLT5taW5fbGFuZV9jb3VudDsKKwkJICAg ICBsYW5lX2NvdW50IDw9IGxpbWl0cy0+bWF4X2xhbmVfY291bnQ7CisJCSAgICAgbGFuZV9jb3Vu dCA8PD0gMSkgeworCQkJZm9yIChjbG9jayA9IGxpbWl0cy0+bWluX2Nsb2NrOyBjbG9jayA8PSBs aW1pdHMtPm1heF9jbG9jazsgY2xvY2srKykgeworCQkJCWxpbmtfY2xvY2sgPSBpbnRlbF9kcC0+ Y29tbW9uX3JhdGVzW2Nsb2NrXTsKKwkJCQlsaW5rX2F2YWlsID0gaW50ZWxfZHBfbWF4X2RhdGFf cmF0ZShsaW5rX2Nsb2NrLAorCQkJCQkJCQkgICAgbGFuZV9jb3VudCk7CisKKwkJCQlpZiAobW9k ZV9yYXRlIDw9IGxpbmtfYXZhaWwpIHsKKwkJCQkJcGlwZV9jb25maWctPmxhbmVfY291bnQgPSBs YW5lX2NvdW50OworCQkJCQlwaXBlX2NvbmZpZy0+cGlwZV9icHAgPSBicHA7CisJCQkJCXBpcGVf Y29uZmlnLT5wb3J0X2Nsb2NrID0gbGlua19jbG9jazsKKworCQkJCQlyZXR1cm4gMDsKKwkJCQl9 CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gLUVJTlZBTDsKK30KKwogc3RhdGljIGludCBpbnRl bF9kcF9kc2NfY29tcHV0ZV9icHAoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgdTggZHNjX21h eF9icGMpCiB7CiAJaW50IGksIG51bV9icGM7CkBAIC0yNTEzLDEzICsyNTU4LDE0IEBAIGludGVs X2RwX2NvbXB1dGVfbGlua19jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJ bGltaXRzLm1pbl9icHAgPSBpbnRlbF9kcF9taW5fYnBwKHBpcGVfY29uZmlnLT5vdXRwdXRfZm9y bWF0KTsKIAlsaW1pdHMubWF4X2JwcCA9IGludGVsX2RwX21heF9icHAoaW50ZWxfZHAsIHBpcGVf Y29uZmlnKTsKIAotCWlmIChpbnRlbF9kcF9pc19lZHAoaW50ZWxfZHApKSB7CisJaWYgKGludGVs X2RwLT51c2VfbWF4X3BhcmFtcykgewogCQkvKgogCQkgKiBVc2UgdGhlIG1heGltdW0gY2xvY2sg YW5kIG51bWJlciBvZiBsYW5lcyB0aGUgZURQIHBhbmVsCi0JCSAqIGFkdmVydGl6ZXMgYmVpbmcg Y2FwYWJsZSBvZi4gVGhlIHBhbmVscyBhcmUgZ2VuZXJhbGx5CisJCSAqIGFkdmVydGl6ZXMgYmVp bmcgY2FwYWJsZSBvZiBpbiBjYXNlIHRoZSBpbml0aWFsIGZhc3QKKwkJICogb3B0aW1hbCBwYXJh bXMgZmFpbGVkIHVzLiBUaGUgcGFuZWxzIGFyZSBnZW5lcmFsbHkKIAkJICogZGVzaWduZWQgdG8g c3VwcG9ydCBvbmx5IGEgc2luZ2xlIGNsb2NrIGFuZCBsYW5lCi0JCSAqIGNvbmZpZ3VyYXRpb24s IGFuZCB0eXBpY2FsbHkgdGhlc2UgdmFsdWVzIGNvcnJlc3BvbmQgdG8gdGhlCi0JCSAqIG5hdGl2 ZSByZXNvbHV0aW9uIG9mIHRoZSBwYW5lbC4KKwkJICogY29uZmlndXJhdGlvbiwgYW5kIHR5cGlj YWxseSBvbiBvbGRlciBwYW5lbHMgdGhlc2UKKwkJICogdmFsdWVzIGNvcnJlc3BvbmQgdG8gdGhl IG5hdGl2ZSByZXNvbHV0aW9uIG9mIHRoZSBwYW5lbC4KIAkJICovCiAJCWxpbWl0cy5taW5fbGFu ZV9jb3VudCA9IGxpbWl0cy5tYXhfbGFuZV9jb3VudDsKIAkJbGltaXRzLm1pbl9jbG9jayA9IGxp bWl0cy5tYXhfY2xvY2s7CkBAIC0yNTM4LDExICsyNTg0LDIyIEBAIGludGVsX2RwX2NvbXB1dGVf bGlua19jb25maWcoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJICAgIGludGVsX2Rw X2Nhbl9iaWdqb2luZXIoaW50ZWxfZHApKQogCQlwaXBlX2NvbmZpZy0+Ymlnam9pbmVyID0gdHJ1 ZTsKIAotCS8qCi0JICogT3B0aW1pemUgZm9yIHNsb3cgYW5kIHdpZGUuIFRoaXMgaXMgdGhlIHBs YWNlIHRvIGFkZCBhbHRlcm5hdGl2ZQotCSAqIG9wdGltaXphdGlvbiBwb2xpY3kuCi0JICovCi0J cmV0ID0gaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZ193aWRlKGludGVsX2RwLCBwaXBlX2Nv bmZpZywgJmxpbWl0cyk7CisJaWYgKGludGVsX2RwX2lzX2VkcChpbnRlbF9kcCkpCisJCS8qCisJ CSAqIE9wdGltaXplIGZvciBmYXN0IGFuZCBuYXJyb3cuIGVEUCAxLjMgc2VjdGlvbiAzLjMgYW5k IGVEUCAxLjQKKwkJICogc2VjdGlvbiBBLjE6ICJJdCBpcyByZWNvbW1lbmRlZCB0aGF0IHRoZSBt aW5pbXVtIG51bWJlciBvZgorCQkgKiBsYW5lcyBiZSB1c2VkLCB1c2luZyB0aGUgbWluaW11bSBs aW5rIHJhdGUgYWxsb3dlZCBmb3IgdGhhdAorCQkgKiBsYW5lIGNvbmZpZ3VyYXRpb24uIgorCQkg KgorCQkgKiBOb3RlIHRoYXQgd2UgZmFsbCBiYWNrIHRvIHRoZSBtYXggY2xvY2sgYW5kIGxhbmUg Y291bnQgZm9yIGVEUAorCQkgKiBwYW5lbHMgdGhhdCBmYWlsIHdpdGggdGhlIGZhc3Qgb3B0aW1h bCBzZXR0aW5ncyAoc2VlCisJCSAqIGludGVsX2RwLT51c2VfbWF4X3BhcmFtcyksIGluIHdoaWNo IGNhc2UgdGhlIGZhc3QgdnMuIHdpZGUKKwkJICogY2hvaWNlIGRvZXNuJ3QgbWF0dGVyLgorCQkg Ki8KKwkJcmV0ID0gaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZ19mYXN0KGludGVsX2RwLCBw aXBlX2NvbmZpZywgJmxpbWl0cyk7CisJZWxzZQorCQkvKiBPcHRpbWl6ZSBmb3Igc2xvdyBhbmQg d2lkZS4gKi8KKwkJcmV0ID0gaW50ZWxfZHBfY29tcHV0ZV9saW5rX2NvbmZpZ193aWRlKGludGVs X2RwLCBwaXBlX2NvbmZpZywgJmxpbWl0cyk7CiAKIAkvKiBlbmFibGUgY29tcHJlc3Npb24gaWYg dGhlIG1vZGUgZG9lc24ndCBmaXQgYXZhaWxhYmxlIEJXICovCiAJZHJtX2RiZ19rbXMoJmk5MTUt PmRybSwgIkZvcmNlIERTQyBlbiA9ICVkXG4iLCBpbnRlbF9kcC0+Zm9yY2VfZHNjX2VuKTsKLS0g CjIuMjYuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==