From mboxrd@z Thu Jan 1 00:00:00 1970 From: Subject: [PATCH 12/26] drm/amd/display: Move link functions from dc to dc_link Date: Mon, 27 May 2019 15:50:51 -0400 Message-ID: <1558986665-12964-13-git-send-email-sunpeng.li@amd.com> References: <1558986665-12964-1-git-send-email-sunpeng.li@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1558986665-12964-1-git-send-email-sunpeng.li-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chris Park RnJvbTogQ2hyaXMgUGFyayA8Q2hyaXMuUGFya0BhbWQuY29tPgoKW1doeV0KbGluay1zcGVjaWZp YyBmdW5jdGlvbnMgc2hvdWxkIHJlc2lkZSBpbiBkY19saW5rLmMKCltIb3ddCk1vdmUgdGhlbSB0 aGVyZS4KClNpZ25lZC1vZmYtYnk6IENocmlzIFBhcmsgPENocmlzLlBhcmtAYW1kLmNvbT4KUmV2 aWV3ZWQtYnk6IENoYXJsZW5lIExpdSA8Q2hhcmxlbmUuTGl1QGFtZC5jb20+CkFja2VkLWJ5OiBM ZW8gTGkgPHN1bnBlbmcubGlAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvY29yZS9kYy5jICAgICAgfCAxMjIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5jIHwgMTI3ICsrKysrKysr KysrKysrKysrKysrKysrKystCiAyIGZpbGVzIGNoYW5nZWQsIDEyNiBpbnNlcnRpb25zKCspLCAx MjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5 L2RjL2NvcmUvZGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvZGlzcGxheS9kYy9jb3JlL2RjLmMK aW5kZXggNTAxMmI2NzUuLjQ5YmUzMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9jb3JlL2RjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2Rj L2NvcmUvZGMuYwpAQCAtNDkwLDEyOCArNDkwLDYgQEAgdm9pZCBkY19zdHJlYW1fc2V0X3N0YXRp Y19zY3JlZW5fZXZlbnRzKHN0cnVjdCBkYyAqZGMsCiAJZGMtPmh3c3Muc2V0X3N0YXRpY19zY3Jl ZW5fY29udHJvbChwaXBlc19hZmZlY3RlZCwgbnVtX3BpcGVzX2FmZmVjdGVkLCBldmVudHMpOwog fQogCi12b2lkIGRjX2xpbmtfc2V0X2RyaXZlX3NldHRpbmdzKHN0cnVjdCBkYyAqZGMsCi0JCQkJ c3RydWN0IGxpbmtfdHJhaW5pbmdfc2V0dGluZ3MgKmx0X3NldHRpbmdzLAotCQkJCWNvbnN0IHN0 cnVjdCBkY19saW5rICpsaW5rKQotewotCi0JaW50IGk7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZGMt PmxpbmtfY291bnQ7IGkrKykgewotCQlpZiAoZGMtPmxpbmtzW2ldID09IGxpbmspCi0JCQlicmVh azsKLQl9Ci0KLQlpZiAoaSA+PSBkYy0+bGlua19jb3VudCkKLQkJQVNTRVJUX0NSSVRJQ0FMKGZh bHNlKTsKLQotCWRjX2xpbmtfZHBfc2V0X2RyaXZlX3NldHRpbmdzKGRjLT5saW5rc1tpXSwgbHRf c2V0dGluZ3MpOwotfQotCi12b2lkIGRjX2xpbmtfcGVyZm9ybV9saW5rX3RyYWluaW5nKHN0cnVj dCBkYyAqZGMsCi0JCQkJICAgc3RydWN0IGRjX2xpbmtfc2V0dGluZ3MgKmxpbmtfc2V0dGluZywK LQkJCQkgICBib29sIHNraXBfdmlkZW9fcGF0dGVybikKLXsKLQlpbnQgaTsKLQotCWZvciAoaSA9 IDA7IGkgPCBkYy0+bGlua19jb3VudDsgaSsrKQotCQlkY19saW5rX2RwX3BlcmZvcm1fbGlua190 cmFpbmluZygKLQkJCWRjLT5saW5rc1tpXSwKLQkJCWxpbmtfc2V0dGluZywKLQkJCXNraXBfdmlk ZW9fcGF0dGVybik7Ci19Ci0KLXZvaWQgZGNfbGlua19zZXRfcHJlZmVycmVkX2xpbmtfc2V0dGlu Z3Moc3RydWN0IGRjICpkYywKLQkJCQkJIHN0cnVjdCBkY19saW5rX3NldHRpbmdzICpsaW5rX3Nl dHRpbmcsCi0JCQkJCSBzdHJ1Y3QgZGNfbGluayAqbGluaykKLXsKLQlpbnQgaTsKLQlzdHJ1Y3Qg cGlwZV9jdHggKnBpcGU7Ci0Jc3RydWN0IGRjX3N0cmVhbV9zdGF0ZSAqbGlua19zdHJlYW07Ci0J c3RydWN0IGRjX2xpbmtfc2V0dGluZ3Mgc3RvcmVfc2V0dGluZ3MgPSAqbGlua19zZXR0aW5nOwot Ci0JbGluay0+cHJlZmVycmVkX2xpbmtfc2V0dGluZyA9IHN0b3JlX3NldHRpbmdzOwotCi0JLyog UmV0cmFpbiB3aXRoIHByZWZlcnJlZCBsaW5rIHNldHRpbmdzIG9ubHkgcmVsZXZhbnQgZm9yCi0J ICogRFAgc2lnbmFsIHR5cGUKLQkgKi8KLQlpZiAoIWRjX2lzX2RwX3NpZ25hbChsaW5rLT5jb25u ZWN0b3Jfc2lnbmFsKSkKLQkJcmV0dXJuOwotCi0JZm9yIChpID0gMDsgaSA8IE1BWF9QSVBFUzsg aSsrKSB7Ci0JCXBpcGUgPSAmZGMtPmN1cnJlbnRfc3RhdGUtPnJlc19jdHgucGlwZV9jdHhbaV07 Ci0JCWlmIChwaXBlLT5zdHJlYW0gJiYgcGlwZS0+c3RyZWFtLT5saW5rKSB7Ci0JCQlpZiAocGlw ZS0+c3RyZWFtLT5saW5rID09IGxpbmspCi0JCQkJYnJlYWs7Ci0JCX0KLQl9Ci0KLQkvKiBTdHJl YW0gbm90IGZvdW5kICovCi0JaWYgKGkgPT0gTUFYX1BJUEVTKQotCQlyZXR1cm47Ci0KLQlsaW5r X3N0cmVhbSA9IGxpbmstPmRjLT5jdXJyZW50X3N0YXRlLT5yZXNfY3R4LnBpcGVfY3R4W2ldLnN0 cmVhbTsKLQotCS8qIENhbm5vdCByZXRyYWluIGxpbmsgaWYgYmFja2VuZCBpcyBvZmYgKi8KLQlp ZiAobGlua19zdHJlYW0tPmRwbXNfb2ZmKQotCQlyZXR1cm47Ci0KLQlpZiAobGlua19zdHJlYW0p Ci0JCWRlY2lkZV9saW5rX3NldHRpbmdzKGxpbmtfc3RyZWFtLCAmc3RvcmVfc2V0dGluZ3MpOwot Ci0JaWYgKChzdG9yZV9zZXR0aW5ncy5sYW5lX2NvdW50ICE9IExBTkVfQ09VTlRfVU5LTk9XTikg JiYKLQkJKHN0b3JlX3NldHRpbmdzLmxpbmtfcmF0ZSAhPSBMSU5LX1JBVEVfVU5LTk9XTikpCi0J CWRwX3JldHJhaW5fbGlua19kcF90ZXN0KGxpbmssICZzdG9yZV9zZXR0aW5ncywgZmFsc2UpOwot fQotCi12b2lkIGRjX2xpbmtfZW5hYmxlX2hwZChjb25zdCBzdHJ1Y3QgZGNfbGluayAqbGluaykK LXsKLQlkY19saW5rX2RwX2VuYWJsZV9ocGQobGluayk7Ci19Ci0KLXZvaWQgZGNfbGlua19kaXNh YmxlX2hwZChjb25zdCBzdHJ1Y3QgZGNfbGluayAqbGluaykKLXsKLQlkY19saW5rX2RwX2Rpc2Fi bGVfaHBkKGxpbmspOwotfQotCi0KLXZvaWQgZGNfbGlua19zZXRfdGVzdF9wYXR0ZXJuKHN0cnVj dCBkY19saW5rICpsaW5rLAotCQkJICAgICAgZW51bSBkcF90ZXN0X3BhdHRlcm4gdGVzdF9wYXR0 ZXJuLAotCQkJICAgICAgY29uc3Qgc3RydWN0IGxpbmtfdHJhaW5pbmdfc2V0dGluZ3MgKnBfbGlu a19zZXR0aW5ncywKLQkJCSAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnBfY3VzdG9tX3BhdHRl cm4sCi0JCQkgICAgICB1bnNpZ25lZCBpbnQgY3VzdF9wYXR0ZXJuX3NpemUpCi17Ci0JaWYgKGxp bmsgIT0gTlVMTCkKLQkJZGNfbGlua19kcF9zZXRfdGVzdF9wYXR0ZXJuKAotCQkJbGluaywKLQkJ CXRlc3RfcGF0dGVybiwKLQkJCXBfbGlua19zZXR0aW5ncywKLQkJCXBfY3VzdG9tX3BhdHRlcm4s Ci0JCQljdXN0X3BhdHRlcm5fc2l6ZSk7Ci19Ci0KLXVpbnQzMl90IGRjX2xpbmtfYmFuZHdpZHRo X2ticHMoCi0JY29uc3Qgc3RydWN0IGRjX2xpbmsgKmxpbmssCi0JY29uc3Qgc3RydWN0IGRjX2xp bmtfc2V0dGluZ3MgKmxpbmtfc2V0dGluZykKLXsKLQl1aW50MzJfdCBsaW5rX2J3X2ticHMgPSBs aW5rX3NldHRpbmctPmxpbmtfcmF0ZSAqIExJTktfUkFURV9SRUZfRlJFUV9JTl9LSFo7IC8qIGJ5 dGVzIHBlciBzZWMgKi8KLQotCWxpbmtfYndfa2JwcyAqPSA4OyAgIC8qIDggYml0cyBwZXIgYnl0 ZSovCi0JbGlua19id19rYnBzICo9IGxpbmtfc2V0dGluZy0+bGFuZV9jb3VudDsKLQotCXJldHVy biBsaW5rX2J3X2ticHM7Ci0KLX0KLQotY29uc3Qgc3RydWN0IGRjX2xpbmtfc2V0dGluZ3MgKmRj X2xpbmtfZ2V0X2xpbmtfY2FwKAotCQljb25zdCBzdHJ1Y3QgZGNfbGluayAqbGluaykKLXsKLQlp ZiAobGluay0+cHJlZmVycmVkX2xpbmtfc2V0dGluZy5sYW5lX2NvdW50ICE9IExBTkVfQ09VTlRf VU5LTk9XTiAmJgotCQkJbGluay0+cHJlZmVycmVkX2xpbmtfc2V0dGluZy5saW5rX3JhdGUgIT0g TElOS19SQVRFX1VOS05PV04pCi0JCXJldHVybiAmbGluay0+cHJlZmVycmVkX2xpbmtfc2V0dGlu ZzsKLQlyZXR1cm4gJmxpbmstPnZlcmlmaWVkX2xpbmtfY2FwOwotfQotCiBzdGF0aWMgdm9pZCBk ZXN0cnVjdChzdHJ1Y3QgZGMgKmRjKQogewogCWRjX3JlbGVhc2Vfc3RhdGUoZGMtPmN1cnJlbnRf c3RhdGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUv ZGNfbGluay5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2RjL2NvcmUvZGNfbGluay5j CmluZGV4IDkwYTFjZGMuLmM5ZTBiMTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv ZGlzcGxheS9kYy9jb3JlL2RjX2xpbmsuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3Bs YXkvZGMvY29yZS9kY19saW5rLmMKQEAgLTIzMzksNyArMjMzOSw4IEBAIHZvaWQgY29yZV9saW5r X3Jlc3VtZShzdHJ1Y3QgZGNfbGluayAqbGluaykKIHN0YXRpYyBzdHJ1Y3QgZml4ZWQzMV8zMiBn ZXRfcGJuX3Blcl9zbG90KHN0cnVjdCBkY19zdHJlYW1fc3RhdGUgKnN0cmVhbSkKIHsKIAlzdHJ1 Y3QgZml4ZWQzMV8zMiBtYnl0ZXNfcGVyX3NlYzsKLQl1aW50MzJfdCBsaW5rX3JhdGVfaW5fbWJ5 dGVzX3Blcl9zZWMgPSBkY19saW5rX2JhbmR3aWR0aF9rYnBzKHN0cmVhbS0+bGluaywgJnN0cmVh bS0+bGluay0+Y3VyX2xpbmtfc2V0dGluZ3MpOworCXVpbnQzMl90IGxpbmtfcmF0ZV9pbl9tYnl0 ZXNfcGVyX3NlYyA9IGRjX2xpbmtfYmFuZHdpZHRoX2ticHMoc3RyZWFtLT5saW5rLAorCQkJJnN0 cmVhbS0+bGluay0+Y3VyX2xpbmtfc2V0dGluZ3MpOwogCWxpbmtfcmF0ZV9pbl9tYnl0ZXNfcGVy X3NlYyAvPSA4MDAwOyAvKiBLYml0cyB0byBNQnl0ZXMgKi8KIAogCW1ieXRlc19wZXJfc2VjID0g ZGNfZml4cHRfZnJvbV9pbnQobGlua19yYXRlX2luX21ieXRlc19wZXJfc2VjKTsKQEAgLTI4NTgs MyArMjg1OSwxMjcgQEAgdWludDMyX3QgZGNfYmFuZHdpZHRoX2luX2ticHNfZnJvbV90aW1pbmco CiAJcmV0dXJuIGticHM7CiAKIH0KKwordm9pZCBkY19saW5rX3NldF9kcml2ZV9zZXR0aW5ncyhz dHJ1Y3QgZGMgKmRjLAorCQkJCXN0cnVjdCBsaW5rX3RyYWluaW5nX3NldHRpbmdzICpsdF9zZXR0 aW5ncywKKwkJCQljb25zdCBzdHJ1Y3QgZGNfbGluayAqbGluaykKK3sKKworCWludCBpOworCisJ Zm9yIChpID0gMDsgaSA8IGRjLT5saW5rX2NvdW50OyBpKyspIHsKKwkJaWYgKGRjLT5saW5rc1tp XSA9PSBsaW5rKQorCQkJYnJlYWs7CisJfQorCisJaWYgKGkgPj0gZGMtPmxpbmtfY291bnQpCisJ CUFTU0VSVF9DUklUSUNBTChmYWxzZSk7CisKKwlkY19saW5rX2RwX3NldF9kcml2ZV9zZXR0aW5n cyhkYy0+bGlua3NbaV0sIGx0X3NldHRpbmdzKTsKK30KKwordm9pZCBkY19saW5rX3BlcmZvcm1f bGlua190cmFpbmluZyhzdHJ1Y3QgZGMgKmRjLAorCQkJCSAgIHN0cnVjdCBkY19saW5rX3NldHRp bmdzICpsaW5rX3NldHRpbmcsCisJCQkJICAgYm9vbCBza2lwX3ZpZGVvX3BhdHRlcm4pCit7CisJ aW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZGMtPmxpbmtfY291bnQ7IGkrKykKKwkJZGNfbGlu a19kcF9wZXJmb3JtX2xpbmtfdHJhaW5pbmcoCisJCQlkYy0+bGlua3NbaV0sCisJCQlsaW5rX3Nl dHRpbmcsCisJCQlza2lwX3ZpZGVvX3BhdHRlcm4pOworfQorCit2b2lkIGRjX2xpbmtfc2V0X3By ZWZlcnJlZF9saW5rX3NldHRpbmdzKHN0cnVjdCBkYyAqZGMsCisJCQkJCSBzdHJ1Y3QgZGNfbGlu a19zZXR0aW5ncyAqbGlua19zZXR0aW5nLAorCQkJCQkgc3RydWN0IGRjX2xpbmsgKmxpbmspCit7 CisJaW50IGk7CisJc3RydWN0IHBpcGVfY3R4ICpwaXBlOworCXN0cnVjdCBkY19zdHJlYW1fc3Rh dGUgKmxpbmtfc3RyZWFtOworCXN0cnVjdCBkY19saW5rX3NldHRpbmdzIHN0b3JlX3NldHRpbmdz ID0gKmxpbmtfc2V0dGluZzsKKworCWxpbmstPnByZWZlcnJlZF9saW5rX3NldHRpbmcgPSBzdG9y ZV9zZXR0aW5nczsKKworCS8qIFJldHJhaW4gd2l0aCBwcmVmZXJyZWQgbGluayBzZXR0aW5ncyBv bmx5IHJlbGV2YW50IGZvcgorCSAqIERQIHNpZ25hbCB0eXBlCisJICovCisJaWYgKCFkY19pc19k cF9zaWduYWwobGluay0+Y29ubmVjdG9yX3NpZ25hbCkpCisJCXJldHVybjsKKworCWZvciAoaSA9 IDA7IGkgPCBNQVhfUElQRVM7IGkrKykgeworCQlwaXBlID0gJmRjLT5jdXJyZW50X3N0YXRlLT5y ZXNfY3R4LnBpcGVfY3R4W2ldOworCQlpZiAocGlwZS0+c3RyZWFtICYmIHBpcGUtPnN0cmVhbS0+ bGluaykgeworCQkJaWYgKHBpcGUtPnN0cmVhbS0+bGluayA9PSBsaW5rKQorCQkJCWJyZWFrOwor CQl9CisJfQorCisJLyogU3RyZWFtIG5vdCBmb3VuZCAqLworCWlmIChpID09IE1BWF9QSVBFUykK KwkJcmV0dXJuOworCisJbGlua19zdHJlYW0gPSBsaW5rLT5kYy0+Y3VycmVudF9zdGF0ZS0+cmVz X2N0eC5waXBlX2N0eFtpXS5zdHJlYW07CisKKwkvKiBDYW5ub3QgcmV0cmFpbiBsaW5rIGlmIGJh Y2tlbmQgaXMgb2ZmICovCisJaWYgKGxpbmtfc3RyZWFtLT5kcG1zX29mZikKKwkJcmV0dXJuOwor CisJaWYgKGxpbmtfc3RyZWFtKQorCQlkZWNpZGVfbGlua19zZXR0aW5ncyhsaW5rX3N0cmVhbSwg JnN0b3JlX3NldHRpbmdzKTsKKworCWlmICgoc3RvcmVfc2V0dGluZ3MubGFuZV9jb3VudCAhPSBM QU5FX0NPVU5UX1VOS05PV04pICYmCisJCShzdG9yZV9zZXR0aW5ncy5saW5rX3JhdGUgIT0gTElO S19SQVRFX1VOS05PV04pKQorCQlkcF9yZXRyYWluX2xpbmtfZHBfdGVzdChsaW5rLCAmc3RvcmVf c2V0dGluZ3MsIGZhbHNlKTsKK30KKwordm9pZCBkY19saW5rX2VuYWJsZV9ocGQoY29uc3Qgc3Ry dWN0IGRjX2xpbmsgKmxpbmspCit7CisJZGNfbGlua19kcF9lbmFibGVfaHBkKGxpbmspOworfQor Cit2b2lkIGRjX2xpbmtfZGlzYWJsZV9ocGQoY29uc3Qgc3RydWN0IGRjX2xpbmsgKmxpbmspCit7 CisJZGNfbGlua19kcF9kaXNhYmxlX2hwZChsaW5rKTsKK30KKworCit2b2lkIGRjX2xpbmtfc2V0 X3Rlc3RfcGF0dGVybihzdHJ1Y3QgZGNfbGluayAqbGluaywKKwkJCSAgICAgIGVudW0gZHBfdGVz dF9wYXR0ZXJuIHRlc3RfcGF0dGVybiwKKwkJCSAgICAgIGNvbnN0IHN0cnVjdCBsaW5rX3RyYWlu aW5nX3NldHRpbmdzICpwX2xpbmtfc2V0dGluZ3MsCisJCQkgICAgICBjb25zdCB1bnNpZ25lZCBj aGFyICpwX2N1c3RvbV9wYXR0ZXJuLAorCQkJICAgICAgdW5zaWduZWQgaW50IGN1c3RfcGF0dGVy bl9zaXplKQoreworCWlmIChsaW5rICE9IE5VTEwpCisJCWRjX2xpbmtfZHBfc2V0X3Rlc3RfcGF0 dGVybigKKwkJCWxpbmssCisJCQl0ZXN0X3BhdHRlcm4sCisJCQlwX2xpbmtfc2V0dGluZ3MsCisJ CQlwX2N1c3RvbV9wYXR0ZXJuLAorCQkJY3VzdF9wYXR0ZXJuX3NpemUpOworfQorCit1aW50MzJf dCBkY19saW5rX2JhbmR3aWR0aF9rYnBzKAorCWNvbnN0IHN0cnVjdCBkY19saW5rICpsaW5rLAor CWNvbnN0IHN0cnVjdCBkY19saW5rX3NldHRpbmdzICpsaW5rX3NldHRpbmcpCit7CisJdWludDMy X3QgbGlua19id19rYnBzID0KKwkJbGlua19zZXR0aW5nLT5saW5rX3JhdGUgKiBMSU5LX1JBVEVf UkVGX0ZSRVFfSU5fS0haOyAvKiBieXRlcyBwZXIgc2VjICovCisKKwlsaW5rX2J3X2ticHMgKj0g ODsgICAvKiA4IGJpdHMgcGVyIGJ5dGUqLworCWxpbmtfYndfa2JwcyAqPSBsaW5rX3NldHRpbmct PmxhbmVfY291bnQ7CisKKwlyZXR1cm4gbGlua19id19rYnBzOworCit9CisKK2NvbnN0IHN0cnVj dCBkY19saW5rX3NldHRpbmdzICpkY19saW5rX2dldF9saW5rX2NhcCgKKwkJY29uc3Qgc3RydWN0 IGRjX2xpbmsgKmxpbmspCit7CisJaWYgKGxpbmstPnByZWZlcnJlZF9saW5rX3NldHRpbmcubGFu ZV9jb3VudCAhPSBMQU5FX0NPVU5UX1VOS05PV04gJiYKKwkJCWxpbmstPnByZWZlcnJlZF9saW5r X3NldHRpbmcubGlua19yYXRlICE9IExJTktfUkFURV9VTktOT1dOKQorCQlyZXR1cm4gJmxpbmst PnByZWZlcnJlZF9saW5rX3NldHRpbmc7CisJcmV0dXJuICZsaW5rLT52ZXJpZmllZF9saW5rX2Nh cDsKK30KKwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vYW1kLWdm eA==