From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 316AB6E1B5 for ; Fri, 11 Jun 2021 05:30:52 +0000 (UTC) From: venkata.sai.patnana@intel.com Date: Fri, 11 Jun 2021 10:49:58 +0530 Message-Id: <20210611052005.303-10-venkata.sai.patnana@intel.com> In-Reply-To: <20210611052005.303-1-venkata.sai.patnana@intel.com> References: <20210611052005.303-1-venkata.sai.patnana@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 10/17] tests/kms_big_fb: Add max hw stride lenght async flip test List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: =?UTF-8?q?Juha-Pekka=20Heikkil=C3=A4?= List-ID: RnJvbTogSnVoYS1QZWtrYSBIZWlra2lsw6QgPGp1aGEtcGVra2EuaGVpa2tpbGFAaW50ZWwuY29t PgoKdGVzdCBhc3luYyBmbGlwIHdpdGggZmJzIHdoaWNoIGFyZSB1c2luZyBtYXhpbXVtIGh3IHN1 cHBvcnRlZCBzdHJpZGUKbGVuZ2h0cy4gRG8gY3JjIHRlc3QgZmxpcHBpbmcgYmV0d2VlbiBmYnMg d2hpY2ggYXJlIGhhdmluZyBzYW1lIGNvbnRlbnQKYW5kIHRoZW4gYXN5bmMgZmxpcCBmYnMgd2l0 aCBkaWZmZXJlbnQgY29udGVudC4KCkNjOiBLYXJ0aGlrIEIgUyA8a2FydGhpay5iLnNAaW50ZWwu Y29tPgpTaWduZWQtb2ZmLWJ5OiBKdWhhLVBla2thIEhlaWtraWzDpCA8anVoYS1wZWtrYS5oZWlr a2lsYUBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBLYXJ0aGlrIEIgUyA8a2FydGhpay5iLnNAaW50 ZWwuY29tPgotLS0KIHRlc3RzL2ttc19iaWdfZmIuYyB8IDE0NyArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNDAgaW5zZXJ0aW9u cygrKSwgNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9rbXNfYmlnX2ZiLmMgYi90 ZXN0cy9rbXNfYmlnX2ZiLmMKaW5kZXggNjU1NjUxMjdmZC4uODllYTBmMjNlMiAxMDA2NDQKLS0t IGEvdGVzdHMva21zX2JpZ19mYi5jCisrKyBiL3Rlc3RzL2ttc19iaWdfZmIuYwpAQCAtMzksNyAr MzksNyBAQCB0eXBlZGVmIHN0cnVjdCB7CiAJaWd0X291dHB1dF90ICpvdXRwdXQ7CiAJaWd0X3Bs YW5lX3QgKnBsYW5lOwogCWlndF9waXBlX2NyY190ICpwaXBlX2NyYzsKLQlzdHJ1Y3QgaWd0X2Zi IHNtYWxsX2ZiLCBiaWdfZmI7CisJc3RydWN0IGlndF9mYiBzbWFsbF9mYiwgYmlnX2ZiLCBiaWdf ZmJfZmxpcFsyXTsKIAl1aW50MzJfdCBmb3JtYXQ7CiAJdWludDY0X3QgbW9kaWZpZXI7CiAJaW50 IHdpZHRoLCBoZWlnaHQ7CkBAIC01MSwxMCArNTEsMTMgQEAgdHlwZWRlZiBzdHJ1Y3QgewogCXN0 cnVjdCBidWZfb3BzICpib3BzOwogCXN0cnVjdCBpbnRlbF9iYiAqaWJiOwogCWJvb2wgbWF4X2h3 X3N0cmlkZV90ZXN0OworCWJvb2wgYXN5bmNfZmxpcF90ZXN0OwogCWludCBod19zdHJpZGU7CiAJ aW50IG1heF9od19mYl93aWR0aDsKKwlkb3VibGUgcGxhbmVjbGVhcnJnYlszXTsKIAl1aW50MzJf dCBmb3JtYXRfb3ZlcnJpZGU7CiAJdWludDMyX3Qgc3RyaWRlX292ZXJyaWRlOworCXVpbnQzMl90 IGFzeW5jX2ZsaXBfc3VwcG9ydDsKIH0gZGF0YV90OwogCiBzdGF0aWMgc3RydWN0IGludGVsX2J1 ZiAqaW5pdF9idWYoZGF0YV90ICpkYXRhLApAQCAtMTEzLDcgKzExNiwxMCBAQCBzdGF0aWMgdm9p ZCBzZXR1cF9mYihkYXRhX3QgKmRhdGEsIHN0cnVjdCBpZ3RfZmIgKm5ld2ZiLCB1aW50MzJfdCB3 aWR0aCwKIAl9CiAKIAljciA9IGlndF9nZXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgbmV3ZmIp OwotCWlndF9wYWludF9jb2xvcihjciwgMCwgMCwgbmV3ZmItPndpZHRoLCBuZXdmYi0+aGVpZ2h0 LCAwLCAwLCAwKTsKKwlpZ3RfcGFpbnRfY29sb3IoY3IsIDAsIDAsIG5ld2ZiLT53aWR0aCwgbmV3 ZmItPmhlaWdodCwKKwkJCWRhdGEtPnBsYW5lY2xlYXJyZ2JbMF0sCisJCQlkYXRhLT5wbGFuZWNs ZWFycmdiWzFdLAorCQkJZGF0YS0+cGxhbmVjbGVhcnJnYlsyXSk7CiAJaWd0X3B1dF9jYWlyb19j dHgoY3IpOwogCiAJaWd0X2Fzc2VydChkcm1Jb2N0bChkYXRhLT5kcm1fZmQsIExPQ0FMX0RSTV9J T0NUTF9NT0RFX0FEREZCMiwgJmYpID09IDApOwpAQCAtMjQzLDcgKzI0OSw3IEBAIHN0YXRpYyB2 b2lkIHByZXBfZmIoZGF0YV90ICpkYXRhKQogCWlmIChkYXRhLT5iaWdfZmIuZmJfaWQpCiAJCXJl dHVybjsKIAotCWlmIChkYXRhLT5od19zdHJpZGUgPT0gMCkgeworCWlmICghZGF0YS0+bWF4X2h3 X3N0cmlkZV90ZXN0KSB7CiAJCWlndF9jcmVhdGVfZmIoZGF0YS0+ZHJtX2ZkLAogCQkJZGF0YS0+ YmlnX2ZiX3dpZHRoLCBkYXRhLT5iaWdfZmJfaGVpZ2h0LAogCQkJZGF0YS0+Zm9ybWF0LCBkYXRh LT5tb2RpZmllciwKQEAgLTI1Miw3ICsyNTgsNyBAQCBzdGF0aWMgdm9pZCBwcmVwX2ZiKGRhdGFf dCAqZGF0YSkKIAkJc2V0dXBfZmIoZGF0YSwgJmRhdGEtPmJpZ19mYiwgZGF0YS0+YmlnX2ZiX3dp ZHRoLAogCQkJIGRhdGEtPmJpZ19mYl9oZWlnaHQsIGRhdGEtPmZvcm1hdCwgZGF0YS0+bW9kaWZp ZXIsCiAJCQkgZGF0YS0+aHdfc3RyaWRlKTsKLQkJaWd0X2luZm8oInVzaW5nIHN0cmlkZSBsZW5n dGggJWRcbiIsIGRhdGEtPmh3X3N0cmlkZSk7CisJCWlndF9kZWJ1ZygidXNpbmcgc3RyaWRlIGxl bmd0aCAlZFxuIiwgZGF0YS0+aHdfc3RyaWRlKTsKIAl9CiAKIAlnZW5lcmF0ZV9wYXR0ZXJuKGRh dGEsICZkYXRhLT5iaWdfZmIsIDY0MCwgNDgwKTsKQEAgLTQ3NCwxMSArNDgwLDEwNyBAQCBzdGF0 aWMgYm9vbCB0ZXN0X3BpcGUoZGF0YV90ICpkYXRhKQogCXJldHVybiByZXQ7CiB9CiAKK3N0YXRp YyBib29sCittYXhfaHdfc3RyaWRlX2FzeW5jX2ZsaXBfdGVzdChkYXRhX3QgKmRhdGEpCit7CisJ dWludDMyX3QgcmV0LCBzdGFydGZyYW1lOworCWNvbnN0IHVpbnQzMl90IHcgPSBkYXRhLT5vdXRw dXQtPmNvbmZpZy5kZWZhdWx0X21vZGUuaGRpc3BsYXksCisJCSAgICAgICBoID0gZGF0YS0+b3V0 cHV0LT5jb25maWcuZGVmYXVsdF9tb2RlLnZkaXNwbGF5OworCWlndF9wbGFuZV90ICpwcmltYXJ5 OworCWlndF9jcmNfdCBjb21wYXJlX2NyYywgYXN5bmNfY3JjOworCisJaWd0X3JlcXVpcmUoZGF0 YS0+ZGlzcGxheS5pc19hdG9taWMpOworCWlndF9vdXRwdXRfc2V0X3BpcGUoZGF0YS0+b3V0cHV0 LCBkYXRhLT5waXBlKTsKKworCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRh dGEtPm91dHB1dCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7CisKKwlpZiAoaWd0X3BsYW5lX2hh c19wcm9wKHByaW1hcnksIElHVF9QTEFORV9ST1RBVElPTikpCisJCWlndF9wbGFuZV9zZXRfcm90 YXRpb24ocHJpbWFyeSwgZGF0YS0+cm90YXRpb24pOworCisJaWd0X2Rpc3BsYXlfY29tbWl0Migm ZGF0YS0+ZGlzcGxheSwgQ09NTUlUX0FUT01JQyk7CisKKwlzZXR1cF9mYihkYXRhLCAmZGF0YS0+ YmlnX2ZiLCBkYXRhLT5iaWdfZmJfd2lkdGgsIGRhdGEtPmJpZ19mYl9oZWlnaHQsCisJCSBkYXRh LT5mb3JtYXQsIGRhdGEtPm1vZGlmaWVyLCBkYXRhLT5od19zdHJpZGUpOworCWdlbmVyYXRlX3Bh dHRlcm4oZGF0YSwgJmRhdGEtPmJpZ19mYiwgNjQwLCA0ODApOworCisJZGF0YS0+cGxhbmVjbGVh cnJnYlsxXSA9IDEuMDsKKworCXNldHVwX2ZiKGRhdGEsICZkYXRhLT5iaWdfZmJfZmxpcFswXSwg ZGF0YS0+YmlnX2ZiX3dpZHRoLAorCQkgZGF0YS0+YmlnX2ZiX2hlaWdodCwgZGF0YS0+Zm9ybWF0 LCBkYXRhLT5tb2RpZmllciwKKwkJIGRhdGEtPmh3X3N0cmlkZSk7CisKKwlkYXRhLT5wbGFuZWNs ZWFycmdiWzFdID0gMC4wOworCisJc2V0dXBfZmIoZGF0YSwgJmRhdGEtPmJpZ19mYl9mbGlwWzFd LCBkYXRhLT5iaWdfZmJfd2lkdGgsCisJCSBkYXRhLT5iaWdfZmJfaGVpZ2h0LCBkYXRhLT5mb3Jt YXQsIGRhdGEtPm1vZGlmaWVyLAorCQkgZGF0YS0+aHdfc3RyaWRlKTsKKwlnZW5lcmF0ZV9wYXR0 ZXJuKGRhdGEsICZkYXRhLT5iaWdfZmJfZmxpcFsxXSwgNjQwLCA0ODApOworCisJZGF0YS0+cGlw ZV9jcmMgPSBpZ3RfcGlwZV9jcmNfbmV3KGRhdGEtPmRybV9mZCwgZGF0YS0+cGlwZSwKKwkJCQkJ ICBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfQVVUTyk7CisJaWd0X3BpcGVfY3JjX3N0YXJ0KGRhdGEt PnBpcGVfY3JjKTsKKworCWlndF9zZXRfdGltZW91dCg1LCAiQXN5bmMgcGFnZWZsaXBwaW5nIGxv b3AgZ290IHN0dWNrIVxuIik7CisJZm9yIChpbnQgaSA9IDA7IGkgPCAyOyBpKyspIHsKKwkJaWd0 X3BsYW5lX3NldF9mYihwcmltYXJ5LCAmZGF0YS0+YmlnX2ZiKTsKKwkJaWd0X2ZiX3NldF9zaXpl KCZkYXRhLT5iaWdfZmIsIHByaW1hcnksIHcsIGgpOworCQlpZ3RfcGxhbmVfc2V0X3NpemUocHJp bWFyeSwgdywgaCk7CisJCWlndF9kaXNwbGF5X2NvbW1pdF9hdG9taWMoJmRhdGEtPmRpc3BsYXks CisJCQkJCSAgRFJNX01PREVfQVRPTUlDX0FMTE9XX01PREVTRVQsIE5VTEwpOworCisJCWlndF93 YWl0X2Zvcl92YmxhbmsoZGF0YS0+ZHJtX2ZkLCBkYXRhLT5kaXNwbGF5LnBpcGVzW3ByaW1hcnkt PnBpcGUtPnBpcGVdLmNydGNfb2Zmc2V0KTsKKwkJc3RhcnRmcmFtZSA9IGttc3Rlc3RfZ2V0X3Zi bGFuayhkYXRhLT5kcm1fZmQsIGRhdGEtPnBpcGUsIDApICsgMTsKKworCQlmb3IgKGludCBqID0g MDsgaiA8IDI7IGorKykgeworCQkJZG8geworCQkJCXJldCA9IGRybU1vZGVQYWdlRmxpcChkYXRh LT5kcm1fZmQsIGRhdGEtPm91dHB1dC0+Y29uZmlnLmNydGMtPmNydGNfaWQsCisJCQkJCQkgICAg ICBkYXRhLT5iaWdfZmJfZmxpcFtpXS5mYl9pZCwKKwkJCQkJCSAgICAgIERSTV9NT0RFX1BBR0Vf RkxJUF9BU1lOQywgTlVMTCk7CisJCQl9IHdoaWxlIChyZXQgPT0gLUVCVVNZKTsKKwkJCWlndF9h c3NlcnQocmV0ID09IDApOworCisJCQlkbyB7CisJCQkJcmV0ID0gZHJtTW9kZVBhZ2VGbGlwKGRh dGEtPmRybV9mZCwgZGF0YS0+b3V0cHV0LT5jb25maWcuY3J0Yy0+Y3J0Y19pZCwKKwkJCQkJCSAg ICAgIGRhdGEtPmJpZ19mYi5mYl9pZCwKKwkJCQkJCSAgICAgIERSTV9NT0RFX1BBR0VfRkxJUF9B U1lOQywgTlVMTCk7CisJCQl9IHdoaWxlIChyZXQgPT0gLUVCVVNZKTsKKwkJCWlndF9hc3NlcnQo cmV0ID09IDApOworCQl9CisKKwkJaWd0X3BpcGVfY3JjX2dldF9mb3JfZnJhbWUoZGF0YS0+ZHJt X2ZkLCBkYXRhLT5waXBlX2NyYywKKwkJCQkJICAgc3RhcnRmcmFtZSwgJmNvbXBhcmVfY3JjKTsK KwkJaWd0X3BpcGVfY3JjX2dldF9mb3JfZnJhbWUoZGF0YS0+ZHJtX2ZkLCBkYXRhLT5waXBlX2Ny YywKKwkJCQkJICAgc3RhcnRmcmFtZSArIDEsICZhc3luY19jcmMpOworCisJCWlndF9hc3NlcnRf ZihrbXN0ZXN0X2dldF92YmxhbmsoZGF0YS0+ZHJtX2ZkLCBkYXRhLT5waXBlLCAwKSAtCisJCQkg ICAgIHN0YXJ0ZnJhbWUgPT0gMSwgImxvc3QgZnJhbWVzXG4iKTsKKworCQlpZ3RfYXNzZXJ0X2Yo aWd0X2NoZWNrX2NyY19lcXVhbCgmY29tcGFyZV9jcmMsICZhc3luY19jcmMpXihpXjEpLAorCQkJ ICAgICAiQ1JDIGZhaWx1cmUgd2l0aCBhc3luYyBmbGlwLCBjcmMgJXMgbWF0Y2ggZm9yIGNoZWNr ZWQgcm91bmRcbiIsCisJCQkgICAgIGk/InNob3VsZCI6InNob3VsZG4ndCIpOworCX0KKwlpZ3Rf cmVzZXRfdGltZW91dCgpOworCisJaWd0X3BpcGVfY3JjX2ZyZWUoZGF0YS0+cGlwZV9jcmMpOwor CWlndF9vdXRwdXRfc2V0X3BpcGUoZGF0YS0+b3V0cHV0LCBQSVBFX05PTkUpOworCWlndF9yZW1v dmVfZmIoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+YmlnX2ZiKTsKKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEt PmRybV9mZCwgJmRhdGEtPmJpZ19mYl9mbGlwWzBdKTsKKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRy bV9mZCwgJmRhdGEtPmJpZ19mYl9mbGlwWzFdKTsKKwlyZXR1cm4gdHJ1ZTsKK30KKwogc3RhdGlj IHZvaWQgdGVzdF9zY2Fub3V0KGRhdGFfdCAqZGF0YSkKIHsKKwlpZ3Rfb3V0cHV0X3QgKm91dHB1 dDsKKwogCWlmIChkYXRhLT5tYXhfaHdfc3RyaWRlX3Rlc3QpIHsKIAkJZGF0YS0+YmlnX2ZiX3dp ZHRoID0gZGF0YS0+bWF4X2h3X2ZiX3dpZHRoOwotCQlkYXRhLT5iaWdfZmJfaGVpZ2h0ID0gZGF0 YS0+bWF4X2h3X2ZiX3dpZHRoOworCQlkYXRhLT5iaWdfZmJfaGVpZ2h0ID0gMDsKKworCQlmb3Jf ZWFjaF9jb25uZWN0ZWRfb3V0cHV0KCZkYXRhLT5kaXNwbGF5LCBvdXRwdXQpIHsKKwkJCWlmIChk YXRhLT5iaWdfZmJfaGVpZ2h0IDwgb3V0cHV0LT5jb25maWcuZGVmYXVsdF9tb2RlLnZkaXNwbGF5 ICogMikKKwkJCQlkYXRhLT5iaWdfZmJfaGVpZ2h0ID0gb3V0cHV0LT5jb25maWcuZGVmYXVsdF9t b2RlLnZkaXNwbGF5ICogMjsKKwkJfQogCX0gZWxzZSB7CiAJCWRhdGEtPmJpZ19mYl93aWR0aCA9 IGRhdGEtPm1heF9mYl93aWR0aDsKIAkJZGF0YS0+YmlnX2ZiX2hlaWdodCA9IGRhdGEtPm1heF9m Yl9oZWlnaHQ7CkBAIC00ODgsOCArNTkwLDEzIEBAIHN0YXRpYyB2b2lkIHRlc3Rfc2Nhbm91dChk YXRhX3QgKmRhdGEpCiAJCSAgICBkYXRhLT5mb3JtYXQsIGRhdGEtPm1vZGlmaWVyKTsKIAogCWZv cl9lYWNoX3BpcGVfd2l0aF92YWxpZF9vdXRwdXQoJmRhdGEtPmRpc3BsYXksIGRhdGEtPnBpcGUs IGRhdGEtPm91dHB1dCkgewotCQlpZiAodGVzdF9waXBlKGRhdGEpKQotCQkJcmV0dXJuOworCQlp ZiAoZGF0YS0+YXN5bmNfZmxpcF90ZXN0KSB7CisJCQlpZiAobWF4X2h3X3N0cmlkZV9hc3luY19m bGlwX3Rlc3QoZGF0YSkpCisJCQkJcmV0dXJuOworCQl9IGVsc2UgeworCQkJaWYgKHRlc3RfcGlw ZShkYXRhKSkKKwkJCQlyZXR1cm47CisJCX0KIAkJYnJlYWs7CiAJfQogCkBAIC02OTksNiArODA2 LDcgQEAgaWd0X21haW4KIHsKIAlpZ3RfZml4dHVyZSB7CiAJCWRybU1vZGVSZXNQdHIgcmVzOwor CQlzdHJ1Y3QgZHJtX2dldF9jYXAgY2FwID0geyAuY2FwYWJpbGl0eSA9IERSTV9DQVBfQVNZTkNf UEFHRV9GTElQIH07CiAKIAkJZGF0YS5kcm1fZmQgPSBkcm1fb3Blbl9kcml2ZXJfbWFzdGVyKERS SVZFUl9JTlRFTCk7CiAKQEAgLTc0Myw3ICs4NTEsMTUgQEAgaWd0X21haW4KIAkJZGF0YS5ib3Bz ID0gYnVmX29wc19jcmVhdGUoZGF0YS5kcm1fZmQpOwogCQlkYXRhLmliYiA9IGludGVsX2JiX2Ny ZWF0ZShkYXRhLmRybV9mZCwgNDA5Nik7CiAKKwkJZGF0YS5wbGFuZWNsZWFycmdiWzBdID0gMC4w OworCQlkYXRhLnBsYW5lY2xlYXJyZ2JbMV0gPSAwLjA7CisJCWRhdGEucGxhbmVjbGVhcnJnYlsy XSA9IDAuMDsKKwogCQlkYXRhLm1heF9od19zdHJpZGVfdGVzdCA9IGZhbHNlOworCQlkYXRhLmFz eW5jX2ZsaXBfdGVzdCA9IGZhbHNlOworCisJCWlndF9pb2N0bChkYXRhLmRybV9mZCwgRFJNX0lP Q1RMX0dFVF9DQVAsICZjYXApOworCQlkYXRhLmFzeW5jX2ZsaXBfc3VwcG9ydCA9IGNhcC52YWx1 ZTsKIAl9CiAKIAkvKgpAQCAtODYxLDYgKzk3NywyMyBAQCBpZ3RfbWFpbgogCQkJCQkJaWd0X3Jl cXVpcmUoaWd0X2Rpc3BsYXlfaGFzX2Zvcm1hdF9tb2QoJmRhdGEuZGlzcGxheSwgZGF0YS5mb3Jt YXQsIGRhdGEubW9kaWZpZXIpKTsKIAkJCQkJCXRlc3Rfc2Nhbm91dCgmZGF0YSk7CiAJCQkJCX0K KworCQkJCQkvLyBhc3luYyBmbGlwIGRvZXNuJ3Qgc3VwcG9ydCBsaW5lYXIgZmJzLgorCQkJCQlp ZiAobW9kaWZpZXJzW2ldLm1vZGlmaWVyID09IERSTV9GT1JNQVRfTU9EX0xJTkVBUikKKwkJCQkJ CWNvbnRpbnVlOworCisJCQkJCWRhdGEuYXN5bmNfZmxpcF90ZXN0ID0gdHJ1ZTsKKwkJCQkJaWd0 X2Rlc2NyaWJlKCJ0ZXN0IGFzeW5jIGZsaXAgb24gbWF4aW11bSBoYXJkd2FyZSBzdXBwb3J0ZWQg c3RyaWRlIGxlbmd0aCBmb3IgZ2l2ZW4gYnBwIGFuZCBtb2RpZmllcnMuIik7CisJCQkJCWlndF9z dWJ0ZXN0X2YoIiVzLW1heC1ody1zdHJpZGUtJWRicHAtcm90YXRlLSVkJXMtYXN5bmMtZmxpcCIs IG1vZGlmaWVyc1tpXS5uYW1lLAorCQkJCQkJZm9ybWF0c1tqXS5icHAsIHJvdGF0aW9uc1trXS5h bmdsZSwgZmxpcHRhYltsXS5mbGlwbmFtZSkgeworCQkJCQkJCWlndF9yZXF1aXJlKGRhdGEuZm9y bWF0ID09IERSTV9GT1JNQVRfQzggfHwKKwkJCQkJCQkJaWd0X2ZiX3N1cHBvcnRlZF9mb3JtYXQo ZGF0YS5mb3JtYXQpKTsKKwkJCQkJCQlpZ3RfcmVxdWlyZShpZ3RfZGlzcGxheV9oYXNfZm9ybWF0 X21vZCgmZGF0YS5kaXNwbGF5LCBkYXRhLmZvcm1hdCwgZGF0YS5tb2RpZmllcikpOworCQkJCQkJ CWlndF9yZXF1aXJlX2YoZGF0YS5hc3luY19mbGlwX3N1cHBvcnQsICJBc3luYyBGbGlwIGlzIG5v dCBzdXBwb3J0ZWRcbiIpOworCQkJCQkJCWRhdGEubWF4X2h3X2ZiX3dpZHRoID0gbWluKGRhdGEu aHdfc3RyaWRlIC8gKGZvcm1hdHNbal0uYnBwID4+IDMpLCBkYXRhLm1heF9mYl93aWR0aCk7CisJ CQkJCQkJdGVzdF9zY2Fub3V0KCZkYXRhKTsKKwkJCQkJfQorCQkJCQlkYXRhLmFzeW5jX2ZsaXBf dGVzdCA9IGZhbHNlOwogCQkJCX0KIAogCQkJCWlndF9maXh0dXJlCi0tIAoyLjI1LjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGlu ZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=