From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH 2/4] drm/dp_mst: Pass entire connector to drm_dp_mst_topology_mgr_init() Date: Mon, 27 Aug 2018 20:36:25 -0400 Message-ID: <20180828003635.8200-3-lyude@redhat.com> References: <20180828003635.8200-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180828003635.8200-1-lyude@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org Cc: David Airlie , linux-kernel@vger.kernel.org, "David (ChunMing) Zhou" , amd-gfx@lists.freedesktop.org, "Jerry (Fangzhi) Zuo" , Ben Skeggs , Daniel Vetter , Thierry Reding , Harry Wentland , Andrey Grodzovsky , Leo Li , intel-gfx@lists.freedesktop.org, Sean Paul , Rodrigo Vivi , nouveau@lists.freedesktop.org, Tony Cheng , Roman Li , Shirish S , Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org VGhlcmUncyBubyBhY3R1YWwgcmVhc29uIHdlIHBhc3MgdGhlIGNvbm5lY3RvciBJRCBpbnN0ZWFk IG9mIGEgcG9pbnRlcgp0byB0aGUgY29ubmVjdG9yIGl0c2VsZiwgYW5kIHdlJ3JlIGdvaW5nIHRv IG5lZWQgdGhlIGVudGlyZSBjb25uZWN0b3IKKGJ1dCBvbmx5IHRlbXBvcmFyaWx5KSBpbiBvcmRl ciB0byBuYW1lIE1TVCBkZWJ1Z2ZzIGZvbGRlcnMgcHJvcGVybHkKc2luY2UgY29ubmVjdG9yIElE cyBjYW4ndCBiZSBsb29rZWQgdXAgdW50aWwgdGhlIGRyaXZlciBoYXMgYmVlbgpyZWdpc3RlcmVk IHdpdGggdXNlcnNwYWNlIHdoaWNoIGhhcHBlbnMgYWZ0ZXIgZGVidWdmcyBpbml0LgoKU28sIGp1 c3QgcGFzcyB0aGUgZW50aXJlIGRybV9jb25uZWN0b3Igc3RydWN0IGluc3RlYWQgb2YganVzdCBp dCdzIGlkLgoKU2lnbmVkLW9mZi1ieTogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KLS0t CiAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5j ICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jICAgICAgICAg ICAgICAgICAgICAgfCA4ICsrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcF9tc3QuYyAgICAgICAgICAgICAgICAgICAgICAgfCA2ICsrKystLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgMyArKy0K IGRyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L2Rpc3BudjUwL2Rpc3AuYyAgICAgICAgICAgICAgICAg ICB8IDYgKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYyAgICAg ICAgICAgICAgICAgICAgfCAyICstCiBpbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hlbHBlci5oICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAzICsrLQogOCBmaWxlcyBjaGFuZ2VkLCAxOSBpbnNl cnRpb25zKCspLCAxMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v YW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0vYW1kZ3B1X2RtX21zdF90eXBlcy5jCmluZGV4IDlh MzAwNzMyYmEzNy4uNjBkYTdlOGZjY2E3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbV9tc3RfdHlwZXMuYwpAQCAtNTAz LDYgKzUwMyw2IEBAIHZvaWQgYW1kZ3B1X2RtX2luaXRpYWxpemVfZHBfY29ubmVjdG9yKHN0cnVj dCBhbWRncHVfZGlzcGxheV9tYW5hZ2VyICpkbSwKIAkJJmFjb25uZWN0b3ItPmRtX2RwX2F1eC5h dXgsCiAJCTE2LAogCQk0LAotCQlhY29ubmVjdG9yLT5jb25uZWN0b3JfaWQpOworCQkmYWNvbm5l Y3Rvci0+YmFzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0 X3RvcG9sb2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCmluZGV4 IDc3ODA1NjdhYTY2OS4uZWRiYTE3MDczYzdhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX2RwX21zdF90b3BvbG9neS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3Rv cG9sb2d5LmMKQEAgLTMxNjYsOSArMzE2NiwxMSBAQCBFWFBPUlRfU1lNQk9MKGRybV9hdG9taWNf Z2V0X21zdF90b3BvbG9neV9zdGF0ZSk7CiAgKiBSZXR1cm4gMCBmb3Igc3VjY2Vzcywgb3IgbmVn YXRpdmUgZXJyb3IgY29kZSBvbiBmYWlsdXJlCiAgKi8KIGludCBkcm1fZHBfbXN0X3RvcG9sb2d5 X21ncl9pbml0KHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAotCQkJCSBzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LAorCQkJCSBzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAorCQkJCSBzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LAogCQkJCSBpbnQg bWF4X2RwY2RfdHJhbnNhY3Rpb25fYnl0ZXMsCi0JCQkJIGludCBtYXhfcGF5bG9hZHMsIGludCBj b25uX2Jhc2VfaWQpCisJCQkJIGludCBtYXhfcGF5bG9hZHMsCisJCQkJIHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IpCiB7CiAJc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUg Km1zdF9zdGF0ZTsKIApAQCAtMzE4Niw3ICszMTg4LDcgQEAgaW50IGRybV9kcF9tc3RfdG9wb2xv Z3lfbWdyX2luaXQoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAJbWdyLT5h dXggPSBhdXg7CiAJbWdyLT5tYXhfZHBjZF90cmFuc2FjdGlvbl9ieXRlcyA9IG1heF9kcGNkX3Ry YW5zYWN0aW9uX2J5dGVzOwogCW1nci0+bWF4X3BheWxvYWRzID0gbWF4X3BheWxvYWRzOwotCW1n ci0+Y29ubl9iYXNlX2lkID0gY29ubl9iYXNlX2lkOworCW1nci0+Y29ubl9iYXNlX2lkID0gY29u bmVjdG9yLT5iYXNlLmlkOwogCWlmIChtYXhfcGF5bG9hZHMgKyAxID4gc2l6ZW9mKG1nci0+cGF5 bG9hZF9tYXNrKSAqIDggfHwKIAkgICAgbWF4X3BheWxvYWRzICsgMSA+IHNpemVvZihtZ3ItPnZj cGlfbWFzaykgKiA4KQogCQlyZXR1cm4gLUVJTlZBTDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmlu ZGV4IGNkMGY2NDliNTdhNS4uMzY4OGRmMzhkYmU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMK QEAgLTYyNDcsNyArNjI0Nyw3IEBAIGludGVsX2RwX2luaXRfY29ubmVjdG9yKHN0cnVjdCBpbnRl bF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogCSAgICAocG9ydCA9PSBQT1JUX0IgfHwg cG9ydCA9PSBQT1JUX0MgfHwKIAkgICAgIHBvcnQgPT0gUE9SVF9EIHx8IHBvcnQgPT0gUE9SVF9G KSkKIAkJaW50ZWxfZHBfbXN0X2VuY29kZXJfaW5pdChpbnRlbF9kaWdfcG9ydCwKLQkJCQkJICBp bnRlbF9jb25uZWN0b3ItPmJhc2UuYmFzZS5pZCk7CisJCQkJCSAgJmludGVsX2Nvbm5lY3Rvci0+ YmFzZSk7CiAKIAlpZiAoIWludGVsX2VkcF9pbml0X2Nvbm5lY3RvcihpbnRlbF9kcCwgaW50ZWxf Y29ubmVjdG9yKSkgewogCQlpbnRlbF9kcF9hdXhfZmluaShpbnRlbF9kcCk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwX21zdC5jCmluZGV4IDdlM2UwMTYwNzY0My4uNmMwN2MyOTIzNWRmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwpAQCAtNTgzLDcgKzU4Myw4IEBAIGludGVsX2Rw X2NyZWF0ZV9mYWtlX21zdF9lbmNvZGVycyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRl bF9kaWdfcG9ydCkKIH0KIAogaW50Ci1pbnRlbF9kcF9tc3RfZW5jb2Rlcl9pbml0KHN0cnVjdCBp bnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LCBpbnQgY29ubl9iYXNlX2lkKQoraW50 ZWxfZHBfbXN0X2VuY29kZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydCwKKwkJCSAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXY7CkBAIC01OTUsNyAr NTk2LDggQEAgaW50ZWxfZHBfbXN0X2VuY29kZXJfaW5pdChzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCwgaW50IGNvbm5fYmEKIAkvKiBjcmVhdGUgZW5jb2RlcnMgKi8K IAlpbnRlbF9kcF9jcmVhdGVfZmFrZV9tc3RfZW5jb2RlcnMoaW50ZWxfZGlnX3BvcnQpOwogCXJl dCA9IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX2luaXQoJmludGVsX2RwLT5tc3RfbWdyLCBkZXYs Ci0JCQkJCSAgICZpbnRlbF9kcC0+YXV4LCAxNiwgMywgY29ubl9iYXNlX2lkKTsKKwkJCQkJICAg JmludGVsX2RwLT5hdXgsIDE2LCAzLAorCQkJCQkgICBjb25uZWN0b3IpOwogCWlmIChyZXQpIHsK IAkJaW50ZWxfZHAtPmNhbl9tc3QgPSBmYWxzZTsKIAkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHJ2LmgKaW5kZXggOGZjNjFlOTY3NTRmLi5hZjdhNjExMWZmNzQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCkBAIC0xNzQ5LDcgKzE3NDksOCBAQCBib29sIGludGVsX2RpZ2l0YWxf cG9ydF9jb25uZWN0ZWQoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpOwogaW50IGludGVs X2RwX2F1eF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRl bF9jb25uZWN0b3IpOwogCiAvKiBpbnRlbF9kcF9tc3QuYyAqLwotaW50IGludGVsX2RwX21zdF9l bmNvZGVyX2luaXQoc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsIGlu dCBjb25uX2lkKTsKK2ludCBpbnRlbF9kcF9tc3RfZW5jb2Rlcl9pbml0KHN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAorCQkJICAgICAgc3RydWN0IGRybV9jb25uZWN0 b3IgKmNvbm5lY3Rvcik7CiB2b2lkIGludGVsX2RwX21zdF9lbmNvZGVyX2NsZWFudXAoc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpOwogLyogdmx2X2RzaS5jICovCiB2 b2lkIHZsdl9kc2lfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jIGIvZHJpdmVy cy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jCmluZGV4IDcxMzliOTYyYzZmZC4uOTE4 ZjI1MTk4NTliIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9kaXNwbnY1MC9k aXNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvZGlzcG52NTAvZGlzcC5jCkBAIC0x MjI2LDcgKzEyMjYsNyBAQCBudjUwX21zdG1fZGVsKHN0cnVjdCBudjUwX21zdG0gKipwbXN0bSkK IAogc3RhdGljIGludAogbnY1MF9tc3RtX25ldyhzdHJ1Y3Qgbm91dmVhdV9lbmNvZGVyICpvdXRw LCBzdHJ1Y3QgZHJtX2RwX2F1eCAqYXV4LCBpbnQgYXV4X21heCwKLQkgICAgICBpbnQgY29ubl9i YXNlX2lkLCBzdHJ1Y3QgbnY1MF9tc3RtICoqcG1zdG0pCisJICAgICAgc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3Rvciwgc3RydWN0IG52NTBfbXN0bSAqKnBtc3RtKQogewogCWNvbnN0IGlu dCBtYXhfcGF5bG9hZHMgPSBod2VpZ2h0OChvdXRwLT5kY2ItPmhlYWRzKTsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gb3V0cC0+YmFzZS5iYXNlLmRldjsKQEAgLTEyNTAsNyArMTI1MCw3IEBA IG52NTBfbXN0bV9uZXcoc3RydWN0IG5vdXZlYXVfZW5jb2RlciAqb3V0cCwgc3RydWN0IGRybV9k cF9hdXggKmF1eCwgaW50IGF1eF9tYXgsCiAJbXN0bS0+bWdyLmNicyA9ICZudjUwX21zdG07CiAK IAlyZXQgPSBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9pbml0KCZtc3RtLT5tZ3IsIGRldiwgYXV4 LCBhdXhfbWF4LAotCQkJCQkgICBtYXhfcGF5bG9hZHMsIGNvbm5fYmFzZV9pZCk7CisJCQkJCSAg IG1heF9wYXlsb2FkcywgY29ubmVjdG9yKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCkBA IC0xNDk2LDcgKzE0OTYsNyBAQCBudjUwX3Nvcl9jcmVhdGUoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3Rvciwgc3RydWN0IGRjYl9vdXRwdXQgKmRjYmUpCiAJCWlmICgoZGF0YSA9IG52Ymlv c19kcF90YWJsZShiaW9zLCAmdmVyLCAmaGRyLCAmY250LCAmbGVuKSkgJiYKIAkJICAgIHZlciA+ PSAweDQwICYmIChudmJpb3NfcmQwOChiaW9zLCBkYXRhICsgMHgwOCkgJiAweDA0KSkgewogCQkJ cmV0ID0gbnY1MF9tc3RtX25ldyhudl9lbmNvZGVyLCAmbnZfY29ubmVjdG9yLT5hdXgsIDE2LAot CQkJCQkgICAgbnZfY29ubmVjdG9yLT5iYXNlLmJhc2UuaWQsCisJCQkJCSAgICAmbnZfY29ubmVj dG9yLT5iYXNlLAogCQkJCQkgICAgJm52X2VuY29kZXItPmRwLm1zdG0pOwogCQkJaWYgKHJldCkK IAkJCQlyZXR1cm4gcmV0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9kcF9tc3QuYwppbmRl eCBmOTIwYmUyMzZjYzkuLjNjNjZiMWQyNmY4OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3JhZGVvbi9yYWRlb25fZHBfbXN0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fZHBfbXN0LmMKQEAgLTY2NCw3ICs2NjQsNyBAQCByYWRlb25fZHBfbXN0X2luaXQoc3RydWN0 IHJhZGVvbl9jb25uZWN0b3IgKnJhZGVvbl9jb25uZWN0b3IpCiAJcmFkZW9uX2Nvbm5lY3Rvci0+ bXN0X21nci5jYnMgPSAmbXN0X2NiczsKIAlyZXR1cm4gZHJtX2RwX21zdF90b3BvbG9neV9tZ3Jf aW5pdCgmcmFkZW9uX2Nvbm5lY3Rvci0+bXN0X21nciwgZGV2LAogCQkJCQkgICAgJnJhZGVvbl9j b25uZWN0b3ItPmRkY19idXMtPmF1eCwgMTYsIDYsCi0JCQkJCSAgICByYWRlb25fY29ubmVjdG9y LT5iYXNlLmJhc2UuaWQpOworCQkJCQkgICAgJnJhZGVvbl9jb25uZWN0b3ItPmJhc2UpOwogfQog CiBpbnQKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmggYi9pbmNs dWRlL2RybS9kcm1fZHBfbXN0X2hlbHBlci5oCmluZGV4IDdmNzhkMjZhMDc2Ni4uZWY4YmEwOTNh ZThhIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hlbHBlci5oCisrKyBiL2lu Y2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmgKQEAgLTU3Myw3ICs1NzMsOCBAQCBzdHJ1Y3Qg ZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgewogaW50IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX2lu aXQoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCiAJCQkJIHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZHBfYXV4ICphdXgsCiAJCQkJIGludCBtYXhfZHBjZF90 cmFuc2FjdGlvbl9ieXRlcywKLQkJCQkgaW50IG1heF9wYXlsb2FkcywgaW50IGNvbm5fYmFzZV9p ZCk7CisJCQkJIGludCBtYXhfcGF5bG9hZHMsCisJCQkJIHN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IpOwogCiB2b2lkIGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyX2Rlc3Ryb3koc3RydWN0 IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpOwogCi0tIAoyLjE3LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=