From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jitao Shi Subject: [v5 3/3] drm/mediatek: add mipi_tx driver for mt8183 Date: Thu, 27 Jun 2019 10:59:01 +0800 Message-ID: <20190627025901.28418-4-jitao.shi@mediatek.com> References: <20190627025901.28418-1-jitao.shi@mediatek.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190627025901.28418-1-jitao.shi@mediatek.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , linux-pwm@vger.kernel.org, David Airlie , Matthias Brugger Cc: stonea168@163.com, dri-devel@lists.freedesktop.org, Andy Yan , Ajay Kumar , Vincent Palatin , cawa.cheng@mediatek.com, Russell King , Thierry Reding , devicetree@vger.kernel.org, Jitao Shi , linux-mediatek@lists.infradead.org, yingjoe.chen@mediatek.com, eddie.huang@mediatek.com, linux-arm-kernel@lists.infradead.org, Rahul Sharma , srv_heupstream@mediatek.com, linux-kernel@vger.kernel.org, Sascha Hauer , Sean Paul List-Id: linux-mediatek@lists.infradead.org VGhpcyBwYXRjaCBhZGQgbXQ4MTgzIG1pcGlfdHggZHJpdmVyLgpBbmQgYWxzbyBzdXBwb3J0IG90 aGVyIGNoaXBzIHRoYXQgdXNlIHRoZSBzYW1lIGJpbmRpbmcgYW5kIGRyaXZlci4KClNpZ25lZC1v ZmYtYnk6IEppdGFvIFNoaSA8aml0YW8uc2hpQG1lZGlhdGVrLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUgICAgICAgICAgICAgfCAgIDEgKwogZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19taXBpX3R4LmMgICAgICAgIHwgICAyICsKIGRyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfbWlwaV90eC5oICAgICAgICB8ICAgMSArCiBkcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX210ODE4M19taXBpX3R4LmMgfCAxODEgKysrKysrKysrKysrKysrKysrCiA0 IGZpbGVzIGNoYW5nZWQsIDE4NSBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19tdDgxODNfbWlwaV90eC5jCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL01ha2VmaWxlCmluZGV4IDJjOGRlMWY1YTVlZS4uODA2N2E0YmU4MzExIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL01ha2VmaWxlCkBAIC0xMyw2ICsxMyw3IEBAIG1lZGlhdGVrLWRybS15IDo9IG10 a19kaXNwX2NvbG9yLm8gXAogCQkgIG10a19kc2kubyBcCiAJCSAgbXRrX21pcGlfdHgubyBcCiAJ CSAgbXRrX210ODE3M19taXBpX3R4Lm8gXAorCQkgIG10a19tdDgxODNfbWlwaV90eC5vIFwKIAkJ ICBtdGtfZHBpLm8KIAogb2JqLSQoQ09ORklHX0RSTV9NRURJQVRFSykgKz0gbWVkaWF0ZWstZHJt Lm8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfbWlwaV90eC5jIGIv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19taXBpX3R4LmMKaW5kZXggY2RjNjhiODhjZWZk Li5hYjBmYmZiYTU1NzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtf bWlwaV90eC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfbWlwaV90eC5jCkBA IC0xODIsNiArMTgyLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX21p cGlfdHhfbWF0Y2hbXSA9IHsKIAkgIC5kYXRhID0gJm10MjcwMV9taXBpdHhfZGF0YSB9LAogCXsg LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTczLW1pcGktdHgiLAogCSAgLmRhdGEgPSAmbXQ4 MTczX21pcGl0eF9kYXRhIH0sCisJeyAuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxODMtbWlw aS10eCIsCisJICAuZGF0YSA9ICZtdDgxODNfbWlwaXR4X2RhdGEgfSwKIAl7IH0sCiB9OwogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX21pcGlfdHguaCBiL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfbWlwaV90eC5oCmluZGV4IDY2MDcyNjkyNDk5Mi4uM2Zk MjQ1NjM5NTJlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX21pcGlf dHguaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX21pcGlfdHguaApAQCAtNDUs NSArNDUsNiBAQCB1bnNpZ25lZCBsb25nIG10a19taXBpX3R4X3BsbF9yZWNhbGNfcmF0ZShzdHJ1 Y3QgY2xrX2h3ICpodywKIAogZXh0ZXJuIGNvbnN0IHN0cnVjdCBtdGtfbWlwaXR4X2RhdGEgbXQy NzAxX21pcGl0eF9kYXRhOwogZXh0ZXJuIGNvbnN0IHN0cnVjdCBtdGtfbWlwaXR4X2RhdGEgbXQ4 MTczX21pcGl0eF9kYXRhOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBtdGtfbWlwaXR4X2RhdGEgbXQ4 MTgzX21pcGl0eF9kYXRhOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfbXQ4MTgzX21pcGlfdHguYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9t dGtfbXQ4MTgzX21pcGlfdHguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw MDAuLjc3NThiYzk1NTU1YwotLS0gL2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfbXQ4MTgzX21pcGlfdHguYwpAQCAtMCwwICsxLDE4MSBAQAorLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTkgTWVkaWFU ZWsgSW5jLgorICogQXV0aG9yOiBqaXRhby5zaGkgPGppdGFvLnNoaUBtZWRpYXRlay5jb20+Cisg Ki8KKworI2luY2x1ZGUgIm10a19taXBpX3R4LmgiCisKKyNkZWZpbmUgTUlQSVRYX0xBTkVfQ09O CQkweDAwMGMKKyNkZWZpbmUgUkdfRFNJX0NQSFlfVDFEUlZfRU4JCUJJVCgwKQorI2RlZmluZSBS R19EU0lfQU5BX0NLX1NFTAkJQklUKDEpCisjZGVmaW5lIFJHX0RTSV9QSFlfQ0tfU0VMCQlCSVQo MikKKyNkZWZpbmUgUkdfRFNJX0NQSFlfRU4JCQlCSVQoMykKKyNkZWZpbmUgUkdfRFNJX1BIWUNL X0lOVl9FTgkJQklUKDQpCisjZGVmaW5lIFJHX0RTSV9QV1IwNF9FTgkJCUJJVCg1KQorI2RlZmlu ZSBSR19EU0lfQkdfTFBGX0VOCQlCSVQoNikKKyNkZWZpbmUgUkdfRFNJX0JHX0NPUkVfRU4JCUJJ VCg3KQorI2RlZmluZSBSR19EU0lfUEFEX1RJRUxfU0VMCQlCSVQoOCkKKworI2RlZmluZSBNSVBJ VFhfUExMX1BXUgkweDAwMjgKKyNkZWZpbmUgTUlQSVRYX1BMTF9DT04wCTB4MDAyYworI2RlZmlu ZSBNSVBJVFhfUExMX0NPTjEJMHgwMDMwCisjZGVmaW5lIE1JUElUWF9QTExfQ09OMgkweDAwMzQK KyNkZWZpbmUgTUlQSVRYX1BMTF9DT04zCTB4MDAzOAorI2RlZmluZSBNSVBJVFhfUExMX0NPTjQJ MHgwMDNjCisjZGVmaW5lIFJHX0RTSV9QTExfSUJJQVMJCSgzIDw8IDEwKQorCisjZGVmaW5lIE1J UElUWF9EMl9TV19DVExfRU4JMHgwMTQ0CisjZGVmaW5lIE1JUElUWF9EMF9TV19DVExfRU4JMHgw MjQ0CisjZGVmaW5lIE1JUElUWF9DS19DS01PREVfRU4JMHgwMzI4CisjZGVmaW5lIERTSV9DS19D S01PREVfRU4JCUJJVCgwKQorI2RlZmluZSBNSVBJVFhfQ0tfU1dfQ1RMX0VOCTB4MDM0NAorI2Rl ZmluZSBNSVBJVFhfRDFfU1dfQ1RMX0VOCTB4MDQ0NAorI2RlZmluZSBNSVBJVFhfRDNfU1dfQ1RM X0VOCTB4MDU0NAorI2RlZmluZSBEU0lfU1dfQ1RMX0VOCQkJQklUKDApCisjZGVmaW5lIEFEX0RT SV9QTExfU0RNX1BXUl9PTgkJQklUKDApCisjZGVmaW5lIEFEX0RTSV9QTExfU0RNX0lTT19FTgkJ QklUKDEpCisKKyNkZWZpbmUgUkdfRFNJX1BMTF9FTgkJCUJJVCg0KQorI2RlZmluZSBSR19EU0lf UExMX1BPU0RJVgkJKDB4NyA8PCA4KQorCitzdGF0aWMgaW50IG10a19taXBpX3R4X3BsbF9wcmVw YXJlKHN0cnVjdCBjbGtfaHcgKmh3KQoreworCXN0cnVjdCBtdGtfbWlwaV90eCAqbWlwaV90eCA9 IG10a19taXBpX3R4X2Zyb21fY2xrX2h3KGh3KTsKKwlpbnQgcmV0ID0gMDsKKworCXJldCA9IGNs a19wcmVwYXJlKG1pcGlfdHgtPnJlZl9jbGspOworCWlmIChyZXQgPCAwKQorCQlkZXZfZXJyKG1p cGlfdHgtPmRldiwKKwkJCSJjYW4ndCBwcmVwYXJlIG1pcGlfdHggcmVmX2NsayAlZFxuIiwgcmV0 KTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgbXRrX21pcGlfdHhfcGxsX2VuYWJs ZShzdHJ1Y3QgY2xrX2h3ICpodykKK3sKKwlzdHJ1Y3QgbXRrX21pcGlfdHggKm1pcGlfdHggPSBt dGtfbWlwaV90eF9mcm9tX2Nsa19odyhodyk7CisJdW5zaWduZWQgaW50IHR4ZGl2LCB0eGRpdjA7 CisJdTY0IHBjdzsKKwlpbnQgcmV0OworCisJZGV2X2RiZyhtaXBpX3R4LT5kZXYsICJlbmFibGU6 ICV1IGJwc1xuIiwgbWlwaV90eC0+ZGF0YV9yYXRlKTsKKworCWlmIChtaXBpX3R4LT5kYXRhX3Jh dGUgPj0gMjAwMDAwMDAwMCkgeworCQl0eGRpdiA9IDE7CisJCXR4ZGl2MCA9IDA7CisJfSBlbHNl IGlmIChtaXBpX3R4LT5kYXRhX3JhdGUgPj0gMTAwMDAwMDAwMCkgeworCQl0eGRpdiA9IDI7CisJ CXR4ZGl2MCA9IDE7CisJfSBlbHNlIGlmIChtaXBpX3R4LT5kYXRhX3JhdGUgPj0gNTAwMDAwMDAw KSB7CisJCXR4ZGl2ID0gNDsKKwkJdHhkaXYwID0gMjsKKwl9IGVsc2UgaWYgKG1pcGlfdHgtPmRh dGFfcmF0ZSA+IDI1MDAwMDAwMCkgeworCQl0eGRpdiA9IDg7CisJCXR4ZGl2MCA9IDM7CisJfSBl bHNlIGlmIChtaXBpX3R4LT5kYXRhX3JhdGUgPj0gMTI1MDAwMDAwKSB7CisJCXR4ZGl2ID0gMTY7 CisJCXR4ZGl2MCA9IDQ7CisJfSBlbHNlIHsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0 ID0gY2xrX2VuYWJsZShtaXBpX3R4LT5yZWZfY2xrKTsKKwlpZiAocmV0IDwgMCkgeworCQlkZXZf ZXJyKG1pcGlfdHgtPmRldiwKKwkJCSJjYW4ndCBlbmFibGUgbWlwaV90eCByZWZfY2xrICVkXG4i LCByZXQpOworCQlyZXR1cm4gcmV0OworCX0KKworCW10a19taXBpX3R4X2NsZWFyX2JpdHMobWlw aV90eCwgTUlQSVRYX1BMTF9DT040LCBSR19EU0lfUExMX0lCSUFTKTsKKworCW10a19taXBpX3R4 X3NldF9iaXRzKG1pcGlfdHgsIE1JUElUWF9QTExfUFdSLCBBRF9EU0lfUExMX1NETV9QV1JfT04p OworCW10a19taXBpX3R4X2NsZWFyX2JpdHMobWlwaV90eCwgTUlQSVRYX1BMTF9DT04xLCBSR19E U0lfUExMX0VOKTsKKwl1ZGVsYXkoMSk7CisJbXRrX21pcGlfdHhfY2xlYXJfYml0cyhtaXBpX3R4 LCBNSVBJVFhfUExMX1BXUiwgQURfRFNJX1BMTF9TRE1fSVNPX0VOKTsKKwlwY3cgPSBkaXZfdTY0 KCgodTY0KW1pcGlfdHgtPmRhdGFfcmF0ZSAqIHR4ZGl2KSA8PCAyNCwgMjYwMDAwMDApOworCXdy aXRlbChwY3csIG1pcGlfdHgtPnJlZ3MgKyBNSVBJVFhfUExMX0NPTjApOworCW10a19taXBpX3R4 X3VwZGF0ZV9iaXRzKG1pcGlfdHgsIE1JUElUWF9QTExfQ09OMSwgUkdfRFNJX1BMTF9QT1NESVYs CisJCQkJdHhkaXYwIDw8IDgpOworCW10a19taXBpX3R4X3NldF9iaXRzKG1pcGlfdHgsIE1JUElU WF9QTExfQ09OMSwgUkdfRFNJX1BMTF9FTik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZv aWQgbXRrX21pcGlfdHhfcGxsX3VucHJlcGFyZShzdHJ1Y3QgY2xrX2h3ICpodykKK3sKKwlzdHJ1 Y3QgbXRrX21pcGlfdHggKm1pcGlfdHggPSBtdGtfbWlwaV90eF9mcm9tX2Nsa19odyhodyk7CisK KwljbGtfdW5wcmVwYXJlKG1pcGlfdHgtPnJlZl9jbGspOworfQorCitzdGF0aWMgdm9pZCBtdGtf bWlwaV90eF9wbGxfZGlzYWJsZShzdHJ1Y3QgY2xrX2h3ICpodykKK3sKKwlzdHJ1Y3QgbXRrX21p cGlfdHggKm1pcGlfdHggPSBtdGtfbWlwaV90eF9mcm9tX2Nsa19odyhodyk7CisKKwltdGtfbWlw aV90eF9jbGVhcl9iaXRzKG1pcGlfdHgsIE1JUElUWF9QTExfQ09OMSwgUkdfRFNJX1BMTF9FTik7 CisKKwltdGtfbWlwaV90eF9zZXRfYml0cyhtaXBpX3R4LCBNSVBJVFhfUExMX1BXUiwgQURfRFNJ X1BMTF9TRE1fSVNPX0VOKTsKKwltdGtfbWlwaV90eF9jbGVhcl9iaXRzKG1pcGlfdHgsIE1JUElU WF9QTExfUFdSLCBBRF9EU0lfUExMX1NETV9QV1JfT04pOworCWNsa19kaXNhYmxlKG1pcGlfdHgt PnJlZl9jbGspOworfQorCitzdGF0aWMgbG9uZyBtdGtfbWlwaV90eF9wbGxfcm91bmRfcmF0ZShz dHJ1Y3QgY2xrX2h3ICpodywgdW5zaWduZWQgbG9uZyByYXRlLAorCQkJCSAgICAgICB1bnNpZ25l ZCBsb25nICpwcmF0ZSkKK3sKKwlyZXR1cm4gY2xhbXBfdmFsKHJhdGUsIDUwMDAwMDAwLCAxNjAw MDAwMDAwKTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBjbGtfb3BzIG10a19taXBpX3R4X3Bs bF9vcHMgPSB7CisJLnByZXBhcmUgPSBtdGtfbWlwaV90eF9wbGxfcHJlcGFyZSwKKwkuZW5hYmxl ID0gbXRrX21pcGlfdHhfcGxsX2VuYWJsZSwKKwkudW5wcmVwYXJlID0gbXRrX21pcGlfdHhfcGxs X3VucHJlcGFyZSwKKwkuZGlzYWJsZSA9IG10a19taXBpX3R4X3BsbF9kaXNhYmxlLAorCS5yb3Vu ZF9yYXRlID0gbXRrX21pcGlfdHhfcGxsX3JvdW5kX3JhdGUsCisJLnNldF9yYXRlID0gbXRrX21p cGlfdHhfcGxsX3NldF9yYXRlLAorCS5yZWNhbGNfcmF0ZSA9IG10a19taXBpX3R4X3BsbF9yZWNh bGNfcmF0ZSwKK307CisKK3N0YXRpYyB2b2lkIG10a19taXBpX3R4X3Bvd2VyX29uX3NpZ25hbChz dHJ1Y3QgcGh5ICpwaHkpCit7CisJc3RydWN0IG10a19taXBpX3R4ICptaXBpX3R4ID0gcGh5X2dl dF9kcnZkYXRhKHBoeSk7CisKKwkvKiBCR19MUEZfRU4gLyBCR19DT1JFX0VOICovCisJd3JpdGVs KFJHX0RTSV9QQURfVElFTF9TRUwgfCBSR19EU0lfQkdfQ09SRV9FTiwKKwkgICAgICAgbWlwaV90 eC0+cmVncyArIE1JUElUWF9MQU5FX0NPTik7CisJdXNsZWVwX3JhbmdlKDMwLCAxMDApOworCXdy aXRlbChSR19EU0lfQkdfQ09SRV9FTiB8IFJHX0RTSV9CR19MUEZfRU4sCisJICAgICAgIG1pcGlf dHgtPnJlZ3MgKyBNSVBJVFhfTEFORV9DT04pOworCisJLyogU3dpdGNoIE9GRiBlYWNoIExhbmUg Ki8KKwltdGtfbWlwaV90eF9jbGVhcl9iaXRzKG1pcGlfdHgsIE1JUElUWF9EMF9TV19DVExfRU4s IERTSV9TV19DVExfRU4pOworCW10a19taXBpX3R4X2NsZWFyX2JpdHMobWlwaV90eCwgTUlQSVRY X0QxX1NXX0NUTF9FTiwgRFNJX1NXX0NUTF9FTik7CisJbXRrX21pcGlfdHhfY2xlYXJfYml0cyht aXBpX3R4LCBNSVBJVFhfRDJfU1dfQ1RMX0VOLCBEU0lfU1dfQ1RMX0VOKTsKKwltdGtfbWlwaV90 eF9jbGVhcl9iaXRzKG1pcGlfdHgsIE1JUElUWF9EM19TV19DVExfRU4sIERTSV9TV19DVExfRU4p OworCW10a19taXBpX3R4X2NsZWFyX2JpdHMobWlwaV90eCwgTUlQSVRYX0NLX1NXX0NUTF9FTiwg RFNJX1NXX0NUTF9FTik7CisKKwltdGtfbWlwaV90eF9zZXRfYml0cyhtaXBpX3R4LCBNSVBJVFhf Q0tfQ0tNT0RFX0VOLCBEU0lfQ0tfQ0tNT0RFX0VOKTsKK30KKworc3RhdGljIHZvaWQgbXRrX21p cGlfdHhfcG93ZXJfb2ZmX3NpZ25hbChzdHJ1Y3QgcGh5ICpwaHkpCit7CisJc3RydWN0IG10a19t aXBpX3R4ICptaXBpX3R4ID0gcGh5X2dldF9kcnZkYXRhKHBoeSk7CisKKwkvKiBTd2l0Y2ggT04g ZWFjaCBMYW5lICovCisJbXRrX21pcGlfdHhfc2V0X2JpdHMobWlwaV90eCwgTUlQSVRYX0QwX1NX X0NUTF9FTiwgRFNJX1NXX0NUTF9FTik7CisJbXRrX21pcGlfdHhfc2V0X2JpdHMobWlwaV90eCwg TUlQSVRYX0QxX1NXX0NUTF9FTiwgRFNJX1NXX0NUTF9FTik7CisJbXRrX21pcGlfdHhfc2V0X2Jp dHMobWlwaV90eCwgTUlQSVRYX0QyX1NXX0NUTF9FTiwgRFNJX1NXX0NUTF9FTik7CisJbXRrX21p cGlfdHhfc2V0X2JpdHMobWlwaV90eCwgTUlQSVRYX0QzX1NXX0NUTF9FTiwgRFNJX1NXX0NUTF9F Tik7CisJbXRrX21pcGlfdHhfc2V0X2JpdHMobWlwaV90eCwgTUlQSVRYX0NLX1NXX0NUTF9FTiwg RFNJX1NXX0NUTF9FTik7CisKKwl3cml0ZWwoUkdfRFNJX1BBRF9USUVMX1NFTCB8IFJHX0RTSV9C R19DT1JFX0VOLAorCSAgICAgICBtaXBpX3R4LT5yZWdzICsgTUlQSVRYX0xBTkVfQ09OKTsKKwl3 cml0ZWwoUkdfRFNJX1BBRF9USUVMX1NFTCwgbWlwaV90eC0+cmVncyArIE1JUElUWF9MQU5FX0NP Tik7Cit9CisKK2NvbnN0IHN0cnVjdCBtdGtfbWlwaXR4X2RhdGEgbXQ4MTgzX21pcGl0eF9kYXRh ID0geworCS5taXBpX3R4X2Nsa19vcHMgPSAmbXRrX21pcGlfdHhfcGxsX29wcywKKwkubWlwaV90 eF9lbmFibGVfc2lnbmFsID0gbXRrX21pcGlfdHhfcG93ZXJfb25fc2lnbmFsLAorCS5taXBpX3R4 X2Rpc2FibGVfc2lnbmFsID0gbXRrX21pcGlfdHhfcG93ZXJfb2ZmX3NpZ25hbCwKK307CisKLS0g CjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K ZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs