From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id AC0346E863 for ; Fri, 21 Jun 2019 10:01:53 +0000 (UTC) From: Ramalingam C Date: Fri, 21 Jun 2019 15:33:31 +0530 Message-Id: <20190621100345.20019-30-ramalingam.c@intel.com> In-Reply-To: <20190621100345.20019-1-ramalingam.c@intel.com> References: <20190621100345.20019-1-ramalingam.c@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [RFC v2 29/43] tests/i915/gem_reset_stats: use the gem_engine_topology library 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, tvrtko.ursulin@linux.intel.com, andi@etezian.org List-ID: UmVwbGFjZSB0aGUgbGVnYWN5IGZvcl9lYWNoX2VuZ2luZSogZGVmaW5lcyB3aXRoIHRoZSBvbmVz CmltcGxlbWVudGVkIGluIHRoZSBnZW1fZW5naW5lX3RvcG9sb2d5IGxpYnJhcnkuCgpTaWduZWQt b2ZmLWJ5OiBSYW1hbGluZ2FtIEMgPHJhbWFsaW5nYW0uY0BpbnRlbC5jb20+Ci0tLQogdGVzdHMv aTkxNS9nZW1fcmVzZXRfc3RhdHMuYyB8IDYwICsrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0t LS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDMxIGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2k5MTUvZ2VtX3Jlc2V0X3N0YXRzLmMgYi90ZXN0cy9pOTE1 L2dlbV9yZXNldF9zdGF0cy5jCmluZGV4IGFjOWFmMjNmMjI0OC4uZGQwYmE4MjFmN2Q4IDEwMDY0 NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9yZXNldF9zdGF0cy5jCisrKyBiL3Rlc3RzL2k5MTUvZ2Vt X3Jlc2V0X3N0YXRzLmMKQEAgLTczLDcgKzczLDcgQEAgc3RhdGljIHZvaWQgc3luY19ncHUodm9p ZCkKIAljbG9zZShmZCk7CiB9CiAKLXN0YXRpYyBpbnQgbm9vcChpbnQgZmQsIHVpbnQzMl90IGN0 eCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmUpCitzdGF0aWMgaW50IG5v b3AoaW50IGZkLCB1aW50MzJfdCBjdHgsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5n aW5lMiAqZSkKIHsKIAljb25zdCB1aW50MzJfdCBiYmUgPSBNSV9CQVRDSF9CVUZGRVJfRU5EOwog CXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZWI7CkBAIC04OCw3ICs4OCw3IEBAIHN0 YXRpYyBpbnQgbm9vcChpbnQgZmQsIHVpbnQzMl90IGN0eCwgY29uc3Qgc3RydWN0IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmUgKmUpCiAJbWVtc2V0KCZlYiwgMCwgc2l6ZW9mKGViKSk7CiAJZWIuYnVm ZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIoJmV4ZWMpOwogCWViLmJ1ZmZlcl9jb3VudCA9IDE7 Ci0JZWIuZmxhZ3MgPSBlLT5leGVjX2lkIHwgZS0+ZmxhZ3M7CisJZWIuZmxhZ3MgPSBlLT5mbGFn czsKIAlpOTE1X2V4ZWNidWZmZXIyX3NldF9jb250ZXh0X2lkKGViLCBjdHgpOwogCiAJcmV0ID0g X19nZW1fZXhlY2J1ZihmZCwgJmViKTsKQEAgLTEwMiw3ICsxMDIsNyBAQCBzdGF0aWMgaW50IG5v b3AoaW50IGZkLCB1aW50MzJfdCBjdHgsIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5n aW5lICplKQogCiBzdGF0aWMgaW50IGhhc19lbmdpbmUoaW50IGZkLAogCQkgICAgICB1aW50MzJf dCBjdHgsCi0JCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICplKQor CQkgICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUpCiB7CiAJaW50 IGhhbmRsZSA9IG5vb3AoZmQsIGN0eCwgZSk7CiAJaWYgKGhhbmRsZSA8IDApCkBAIC0xMTEsNyAr MTExLDcgQEAgc3RhdGljIGludCBoYXNfZW5naW5lKGludCBmZCwKIAlyZXR1cm4gMTsKIH0KIAot c3RhdGljIHZvaWQgY2hlY2tfY29udGV4dChjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2Vu Z2luZSAqZSkKK3N0YXRpYyB2b2lkIGNoZWNrX2NvbnRleHQoY29uc3Qgc3RydWN0IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmUyICplKQogewogCWludCBmZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJf SU5URUwpOwogCkBAIC0xNTcsMTQgKzE1NywxNCBAQCBzdGF0aWMgc3RydWN0IHRpbWVzcGVjIHRz X2luamVjdGVkOwogI2RlZmluZSBCQU4gSEFOR19BTExPV19CQU4KICNkZWZpbmUgQVNZTkMgMgog c3RhdGljIHZvaWQgaW5qZWN0X2hhbmcoaW50IGZkLCB1aW50MzJfdCBjdHgsCi0JCQljb25zdCBz dHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZSwKKwkJCWNvbnN0IHN0cnVjdCBpbnRlbF9l eGVjdXRpb25fZW5naW5lMiAqZSwKIAkJCXVuc2lnbmVkIGZsYWdzKQogewogCWlndF9oYW5nX3Qg aGFuZzsKIAogCWNsb2NrX2dldHRpbWUoQ0xPQ0tfTU9OT1RPTklDLCAmdHNfaW5qZWN0ZWQpOwog Ci0JaGFuZyA9IGlndF9oYW5nX2N0eChmZCwgY3R4LCBlLT5leGVjX2lkIHwgZS0+ZmxhZ3MsIGZs YWdzICYgQkFOKTsKKwloYW5nID0gaWd0X2hhbmdfY3R4KGZkLCBjdHgsIGUtPmZsYWdzLCBmbGFn cyAmIEJBTik7CiAJaWYgKChmbGFncyAmIEFTWU5DKSA9PSAwKQogCQlpZ3RfcG9zdF9oYW5nX3Jp bmcoZmQsIGhhbmcpOwogfQpAQCAtMjA3LDcgKzIwNyw3IEBAIHN0YXRpYyBpbnQgX2Fzc2VydF9y ZXNldF9zdGF0dXMoaW50IGlkeCwgaW50IGZkLCBpbnQgY3R4LCBpbnQgc3RhdHVzKQogI2RlZmlu ZSBhc3NlcnRfcmVzZXRfc3RhdHVzKGlkeCwgZmQsIGN0eCwgc3RhdHVzKSBcCiAJaWd0X2Fzc2Vy dChfYXNzZXJ0X3Jlc2V0X3N0YXR1cyhpZHgsIGZkLCBjdHgsIHN0YXR1cykgPT0gMCkKIAotc3Rh dGljIHZvaWQgdGVzdF9ycyhjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZSwK K3N0YXRpYyB2b2lkIHRlc3RfcnMoY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUy ICplLAogCQkgICAgaW50IG51bV9mZHMsIGludCBoYW5nX2luZGV4LCBpbnQgcnNfYXNzdW1lZF9u b19oYW5nKQogewogCWludCBmZFtNQVhfRkRdOwpAQCAtMjUzLDcgKzI1Myw3IEBAIHN0YXRpYyB2 b2lkIHRlc3RfcnMoY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmUsCiB9CiAK ICNkZWZpbmUgTUFYX0NUWCAxMDAKLXN0YXRpYyB2b2lkIHRlc3RfcnNfY3R4KGNvbnN0IHN0cnVj dCBpbnRlbF9leGVjdXRpb25fZW5naW5lICplLAorc3RhdGljIHZvaWQgdGVzdF9yc19jdHgoY29u c3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCQkJaW50IG51bV9mZHMsIGlu dCBudW1fY3R4LCBpbnQgaGFuZ19pbmRleCwKIAkJCWludCBoYW5nX2NvbnRleHQpCiB7CkBAIC0z MjksNyArMzI5LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9yc19jdHgoY29uc3Qgc3RydWN0IGludGVs X2V4ZWN1dGlvbl9lbmdpbmUgKmUsCiAJfQogfQogCi1zdGF0aWMgdm9pZCB0ZXN0X2Jhbihjb25z dCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZSkKK3N0YXRpYyB2b2lkIHRlc3RfYmFu KGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZSkKIHsKIAlzdHJ1Y3QgbG9j YWxfZHJtX2k5MTVfcmVzZXRfc3RhdHMgcnNfYmFkLCByc19nb29kOwogCWludCBmZF9iYWQsIGZk X2dvb2Q7CkBAIC0zODMsNyArMzgzLDcgQEAgc3RhdGljIHZvaWQgdGVzdF9iYW4oY29uc3Qgc3Ry dWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmUpCiAJY2xvc2UoZmRfZ29vZCk7CiB9CiAKLXN0 YXRpYyB2b2lkIHRlc3RfYmFuX2N0eChjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2lu ZSAqZSkKK3N0YXRpYyB2b2lkIHRlc3RfYmFuX2N0eChjb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0 aW9uX2VuZ2luZTIgKmUpCiB7CiAJc3RydWN0IGxvY2FsX2RybV9pOTE1X3Jlc2V0X3N0YXRzIHJz X2JhZCwgcnNfZ29vZDsKIAlpbnQgZmQsIGJhbiwgcmV0cnkgPSAxMDsKQEAgLTQ0MSw3ICs0NDEs NyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2Jhbl9jdHgoY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlv bl9lbmdpbmUgKmUpCiAJY2xvc2UoZmQpOwogfQogCi1zdGF0aWMgdm9pZCB0ZXN0X3VucmVsYXRl ZF9jdHgoY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmUpCitzdGF0aWMgdm9p ZCB0ZXN0X3VucmVsYXRlZF9jdHgoY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUy ICplKQogewogCWludCBmZDEsZmQyOwogCWludCBjdHhfZ3VpbHR5LCBjdHhfdW5yZWxhdGVkOwpA QCAtNDgwLDcgKzQ4MCw3IEBAIHN0YXRpYyBpbnQgZ2V0X3Jlc2V0X2NvdW50KGludCBmZCwgaW50 IGN0eCkKIAlyZXR1cm4gcnMucmVzZXRfY291bnQ7CiB9CiAKLXN0YXRpYyB2b2lkIHRlc3RfY2xv c2VfcGVuZGluZ19jdHgoY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmUpCitz dGF0aWMgdm9pZCB0ZXN0X2Nsb3NlX3BlbmRpbmdfY3R4KGNvbnN0IHN0cnVjdCBpbnRlbF9leGVj dXRpb25fZW5naW5lMiAqZSkKIHsKIAlpbnQgZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lO VEVMKTsKIAl1aW50MzJfdCBjdHggPSBnZW1fY29udGV4dF9jcmVhdGUoZmQpOwpAQCAtNDk0LDcg KzQ5NCw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfY2xvc2VfcGVuZGluZ19jdHgoY29uc3Qgc3RydWN0 IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUgKmUpCiAJY2xvc2UoZmQpOwogfQogCi1zdGF0aWMgdm9p ZCB0ZXN0X2Nsb3NlX3BlbmRpbmcoY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUg KmUpCitzdGF0aWMgdm9pZCB0ZXN0X2Nsb3NlX3BlbmRpbmcoY29uc3Qgc3RydWN0IGludGVsX2V4 ZWN1dGlvbl9lbmdpbmUyICplKQogewogCWludCBmZCA9IGRybV9vcGVuX2RyaXZlcihEUklWRVJf SU5URUwpOwogCkBAIC01MDksNyArNTA5LDcgQEAgc3RhdGljIHZvaWQgbm9vcF9vbl9lYWNoX3Jp bmcoaW50IGZkLCBjb25zdCBib29sIHJldmVyc2UpCiAJY29uc3QgdWludDMyX3QgYmJlID0gTUlf QkFUQ0hfQlVGRkVSX0VORDsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGViOwog CXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9iajsKLQljb25zdCBzdHJ1Y3QgaW50 ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZTsKKwljb25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2Vu Z2luZTIgKmU7CiAKIAltZW1zZXQoJm9iaiwgMCwgc2l6ZW9mKG9iaikpOwogCW9iai5oYW5kbGUg PSBnZW1fY3JlYXRlKGZkLCA0MDk2KTsKQEAgLTUyMCwxNSArNTIwLDE1IEBAIHN0YXRpYyB2b2lk IG5vb3Bfb25fZWFjaF9yaW5nKGludCBmZCwgY29uc3QgYm9vbCByZXZlcnNlKQogCWViLmJ1ZmZl cl9jb3VudCA9IDE7CiAKIAlpZiAocmV2ZXJzZSkgewotCQlmb3IgKGUgPSBpbnRlbF9leGVjdXRp b25fZW5naW5lczsgZS0+bmFtZTsgZSsrKQorCQlfX2Zvcl9lYWNoX3N0YXRpY19lbmdpbmUoZSkK IAkJCTsKLQkJd2hpbGUgKC0tZSA+PSBpbnRlbF9leGVjdXRpb25fZW5naW5lcykgewotCQkJZWIu ZmxhZ3MgPSBlLT5leGVjX2lkIHwgZS0+ZmxhZ3M7CisJCXdoaWxlICgtLWUgPj0gaW50ZWxfZXhl Y3V0aW9uX2VuZ2luZXMyKSB7CisJCQllYi5mbGFncyA9IGUtPmZsYWdzOwogCQkJX19nZW1fZXhl Y2J1ZihmZCwgJmViKTsKIAkJfQogCX0gZWxzZSB7Ci0JCWZvciAoZSA9IGludGVsX2V4ZWN1dGlv bl9lbmdpbmVzOyBlLT5uYW1lOyBlKyspIHsKLQkJCWViLmZsYWdzID0gZS0+ZXhlY19pZCB8IGUt PmZsYWdzOworCQlfX2Zvcl9lYWNoX3N0YXRpY19lbmdpbmUoZSkgeworCQkJZWIuZmxhZ3MgPSBl LT5mbGFnczsKIAkJCV9fZ2VtX2V4ZWNidWYoZmQsICZlYik7CiAJCX0KIAl9CkBAIC01MzcsNyAr NTM3LDcgQEAgc3RhdGljIHZvaWQgbm9vcF9vbl9lYWNoX3JpbmcoaW50IGZkLCBjb25zdCBib29s IHJldmVyc2UpCiAJZ2VtX2Nsb3NlKGZkLCBvYmouaGFuZGxlKTsKIH0KIAotc3RhdGljIHZvaWQg dGVzdF9jbG9zZV9wZW5kaW5nX2ZvcmsoY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdp bmUgKmUsCitzdGF0aWMgdm9pZCB0ZXN0X2Nsb3NlX3BlbmRpbmdfZm9yayhjb25zdCBzdHJ1Y3Qg aW50ZWxfZXhlY3V0aW9uX2VuZ2luZTIgKmUsCiAJCQkJICAgIGNvbnN0IGJvb2wgcmV2ZXJzZSkK IHsKIAlpbnQgZmQgPSBkcm1fb3Blbl9kcml2ZXIoRFJJVkVSX0lOVEVMKTsKQEAgLTU0Niw3ICs1 NDYsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2Nsb3NlX3BlbmRpbmdfZm9yayhjb25zdCBzdHJ1Y3Qg aW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZSwKIAogCWFzc2VydF9yZXNldF9zdGF0dXMoZmQsIGZk LCAwLCBSU19OT19FUlJPUik7CiAKLQloYW5nID0gaWd0X2hhbmdfY3R4KGZkLCAwLCBlLT5leGVj X2lkIHwgZS0+ZmxhZ3MsIDApOworCWhhbmcgPSBpZ3RfaGFuZ19jdHgoZmQsIDAsIGUtPmZsYWdz LCAwKTsKIAlzbGVlcCgxKTsKIAogCS8qIEF2b2lkIGhlbHBlcnMgYXMgd2UgbmVlZCB0byBraWxs IHRoZSBjaGlsZApAQCAtNTc5LDcgKzU3OSw3IEBAIHN0YXRpYyB2b2lkIHRlc3RfY2xvc2VfcGVu ZGluZ19mb3JrKGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICplLAogCWNsb3Nl KGZkKTsKIH0KIAotc3RhdGljIHZvaWQgdGVzdF9yZXNldF9jb3VudChjb25zdCBzdHJ1Y3QgaW50 ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZSwKK3N0YXRpYyB2b2lkIHRlc3RfcmVzZXRfY291bnQoY29u c3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICplLAogCQkJICAgICBjb25zdCBib29s IGNyZWF0ZV9jdHgpCiB7CiAJaW50IGZkID0gZHJtX29wZW5fZHJpdmVyKERSSVZFUl9JTlRFTCk7 CkBAIC02OTksMjMgKzY5OSwyMSBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BhcmFtcyh2b2lkKQogCWNs b3NlKGZkKTsKIH0KIAotc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5l ICoKLW5leHRfZW5naW5lKGludCBmZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdp bmUgKmUpCitzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICoKK25l eHRfZW5naW5lKGludCBmZCwgY29uc3Qgc3RydWN0IGludGVsX2V4ZWN1dGlvbl9lbmdpbmUyICpl KQogewogCWRvIHsKIAkJZSsrOwogCQlpZiAoZS0+bmFtZSA9PSBOVUxMKQotCQkJZSA9IGludGVs X2V4ZWN1dGlvbl9lbmdpbmVzOwotCQlpZiAoZS0+ZXhlY19pZCA9PSAwKQotCQkJZSsrOworCQkJ ZSA9IGludGVsX2V4ZWN1dGlvbl9lbmdpbmVzMjsKIAl9IHdoaWxlICghaGFzX2VuZ2luZShmZCwg MCwgZSkpOwogCiAJcmV0dXJuIGU7CiB9CiAKLXN0YXRpYyB2b2lkIGRlZmVyX2hhbmdjaGVjayhj b25zdCBzdHJ1Y3QgaW50ZWxfZXhlY3V0aW9uX2VuZ2luZSAqZW5naW5lKQorc3RhdGljIHZvaWQg ZGVmZXJfaGFuZ2NoZWNrKGNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZW5n aW5lKQogewotCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICpuZXh0OworCWNv bnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqbmV4dDsKIAlpbnQgZmQsIGNvdW50 X3N0YXJ0LCBjb3VudF9lbmQ7CiAJaW50IHNlY29uZHMgPSAzMDsKIApAQCAtNzcyLDcgKzc3MCw3 IEBAIHN0YXRpYyBib29sIGdlbV9oYXNfcmVzZXRfc3RhdHMoaW50IGZkKQogCiBpZ3RfbWFpbgog ewotCWNvbnN0IHN0cnVjdCBpbnRlbF9leGVjdXRpb25fZW5naW5lICplOworCWNvbnN0IHN0cnVj dCBpbnRlbF9leGVjdXRpb25fZW5naW5lMiAqZTsKIAlpZ3Rfc2tpcF9vbl9zaW11bGF0aW9uKCk7 CiAKIAlpZ3RfZml4dHVyZSB7CkBAIC04MDUsNyArODAzLDcgQEAgaWd0X21haW4KIAlpZ3Rfc3Vi dGVzdF9mKCJwYXJhbXMtY3R4IikKIAkJUlVOX1RFU1QodGVzdF9wYXJhbXNfY3R4KCkpOwogCi0J Zm9yIChlID0gaW50ZWxfZXhlY3V0aW9uX2VuZ2luZXM7IGUtPm5hbWU7IGUrKykgeworCV9fZm9y X2VhY2hfc3RhdGljX2VuZ2luZShlKSB7CiAJCWlndF9zdWJ0ZXN0X2YoInJlc2V0LXN0YXRzLSVz IiwgZS0+bmFtZSkKIAkJCVJVTl9URVNUKHRlc3RfcnMoZSwgNCwgMSwgMCkpOwogCi0tIAoyLjE5 LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1k ZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==