From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arto Merilainen Subject: [PATCH libdrm] tegra: Add VIC clear test Date: Thu, 21 May 2015 16:18:40 +0300 Message-ID: <1432214320-27077-1-git-send-email-amerilainen@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from hqemgate16.nvidia.com (hqemgate16.nvidia.com [216.228.121.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 5CD3489F63 for ; Thu, 21 May 2015 06:20:18 -0700 (PDT) List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: thierry.reding@gmail.com Cc: linux-tegra@vger.kernel.org, srasal@nvidia.com, achew@nvidia.com, dnibade@nvidia.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org VGhpcyBwYXRjaCBhZGRzIGEgc2ltcGxlIHRlc3QgZm9yIHRlc3RpbmcgVmlkZW8tSW1hZ2UtQ29t cG9zaXRvcgplbmdpbmUgb24gVGVncmExMjQgU29DLiBUaGUgdGVzdCBjYXNlIG9wZW5zIGEgY2hh bm5lbCBhbmQgcGVyZm9ybXMKYSBzdXJmYWNlIGNsZWFyLgoKU2lnbmVkLW9mZi1ieTogQXJ0byBN ZXJpbGFpbmVuIDxhbWVyaWxhaW5lbkBudmlkaWEuY29tPgotLS0KIHRlc3RzL3RlZ3JhL01ha2Vm aWxlLmFtICB8ICAgMyArLQogdGVzdHMvdGVncmEvaG9zdDF4LmggICAgIHwgIDUyICsrKysrKwog dGVzdHMvdGVncmEvc3VibWl0X3ZpYy5jIHwgMzE1ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiB0ZXN0cy90ZWdyYS92aWMuaCAgICAgICAgfCA0MjYgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDQgZmlsZXMgY2hhbmdlZCwgNzk1IGlu c2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy90ZWdy YS9ob3N0MXguaAogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3RlZ3JhL3N1Ym1pdF92aWMuYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL3RlZ3JhL3ZpYy5oCgpkaWZmIC0tZ2l0IGEvdGVzdHMv dGVncmEvTWFrZWZpbGUuYW0gYi90ZXN0cy90ZWdyYS9NYWtlZmlsZS5hbQppbmRleCA4ZTYyNWM4 ZmVkYjguLmUzZWY2MGU0MjAzOSAxMDA2NDQKLS0tIGEvdGVzdHMvdGVncmEvTWFrZWZpbGUuYW0K KysrIGIvdGVzdHMvdGVncmEvTWFrZWZpbGUuYW0KQEAgLTEwLDQgKzEwLDUgQEAgTERBREQgPSBc CiAJLi4vLi4vbGliZHJtLmxhCiAKIG5vaW5zdF9QUk9HUkFNUyA9IFwKLQlvcGVuY2xvc2UKKwlv cGVuY2xvc2UgXAorCXN1Ym1pdF92aWMKZGlmZiAtLWdpdCBhL3Rlc3RzL3RlZ3JhL2hvc3QxeC5o IGIvdGVzdHMvdGVncmEvaG9zdDF4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi45YTcyYzhlNjlmODUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90ZWdyYS9ob3N0 MXguaApAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMTUgTlZJRElBIENv cnBvcmF0aW9uCisgKgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBj aGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2Fy ZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisg KiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcg d2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBt ZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNv cGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQor ICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dp bmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhp cyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBv ciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRX QVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVY UFJFU1MgT1IKKyAqIElNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdB UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUg Q09QWVJJR0hUIEhPTERFUihTKSBPUiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0s IERBTUFHRVMgT1IKKyAqIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1Ig SU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBE RUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisgKi8KKworI2lmbmRlZiBIT1NUMVhfSAorI2RlZmlu ZSBIT1NUMVhfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKK2VudW0gaG9zdDF4X2NsYXNzIHsK KwlIT1NUMVhfQ0xBU1NfSE9TVDFYID0gMHgxLAorCUhPU1QxWF9DTEFTU19HUjJEID0gMHg1MSwK KwlIT1NUMVhfQ0xBU1NfR1IyRF9TQiA9IDB4NTIsCisJSE9TVDFYX0NMQVNTX1ZJQyA9IDB4NUQs CisJSE9TVDFYX0NMQVNTX0dSM0QgPSAweDYwLAorfTsKKworc3RhdGljIGlubGluZSB1aW50MzJf dCBob3N0MXhfb3Bjb2RlX3NldGNsYXNzKAorCXVuc2lnbmVkIGNsYXNzX2lkLCB1bnNpZ25lZCBv ZmZzZXQsIHVuc2lnbmVkIG1hc2spCit7CisJcmV0dXJuICgwIDw8IDI4KSB8IChvZmZzZXQgPDwg MTYpIHwgKGNsYXNzX2lkIDw8IDYpIHwgbWFzazsKK30KKworc3RhdGljIGlubGluZSB1aW50MzJf dCBob3N0MXhfb3Bjb2RlX2luY3IodW5zaWduZWQgb2Zmc2V0LCB1bnNpZ25lZCBjb3VudCkKK3sK KwlyZXR1cm4gKDEgPDwgMjgpIHwgKG9mZnNldCA8PCAxNikgfCBjb3VudDsKK30KKworc3RhdGlj IGlubGluZSB1aW50MzJfdCBob3N0MXhfb3Bjb2RlX25vbmluY3IodW5zaWduZWQgb2Zmc2V0LCB1 bnNpZ25lZCBjb3VudCkKK3sKKwlyZXR1cm4gKDIgPDwgMjgpIHwgKG9mZnNldCA8PCAxNikgfCBj b3VudDsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS90ZXN0cy90ZWdyYS9zdWJtaXRfdmljLmMg Yi90ZXN0cy90ZWdyYS9zdWJtaXRfdmljLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi40NzJmZGU5M2E1MjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90ZWdyYS9z dWJtaXRfdmljLmMKQEAgLTAsMCArMSwzMTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgwqkgMjAxNSBO VklESUEgQ29ycG9yYXRpb24KKyAqCisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlz IHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdh cmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu Y2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBt b2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29y IHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdo b20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhl IGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluCisgKiBhbGwg Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KKyAqCisgKiBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwK KyAqIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIE9SIEFVVEhPUihTKSBCRSBMSUFCTEUgRk9SIEFO WSBDTEFJTSwgREFNQUdFUyBPUgorICogT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFD VElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsCisgKiBBUklTSU5HIEZST00sIE9V VCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKKyAq IE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KKyAqLworCisjaWZkZWYgSEFWRV9DT05G SUdfSAorIyAgaW5jbHVkZSAiY29uZmlnLmgiCisjZW5kaWYKKworI2luY2x1ZGUgPHN0ZGlvLmg+ CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlz dGQuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorCisj aW5jbHVkZSA8dGVncmFfZHJtLmg+CisKKyNpbmNsdWRlICJob3N0MXguaCIKKyNpbmNsdWRlICJ2 aWMuaCIKKyNpbmNsdWRlICJ4Zjg2ZHJtLmgiCisjaW5jbHVkZSAidGVncmEuaCIKKworc3RhdGlj IGNvbnN0IGNoYXIgZGVmYXVsdF9kZXZpY2VbXSA9ICIvZGV2L2RyaS9jYXJkMCI7CisKK2ludCBt YWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGRybV90ZWdyYV9nZXRfc3lu Y3B0IGdldF9zeW5jcHRfYXJnczsKKwlzdHJ1Y3QgZHJtX3RlZ3JhX2JvICpjbWRidWZfYm8sICpo aXN0YnVmX2JvLCAqb3V0YnVmX2JvLAorCQkqY29uZmlnYnVmX2JvOworCXVpbnQzMl90IGNtZGJ1 Zl9ib19oYW5kbGUsIGhpc3RidWZfYm9faGFuZGxlLAorCQlvdXRidWZfYm9faGFuZGxlLCBjb25m aWdidWZfYm9faGFuZGxlOworCXN0cnVjdCBkcm1fdGVncmFfb3Blbl9jaGFubmVsIG9wZW5fY2hh bm5lbF9hcmdzID0gezB9OworCXN0cnVjdCBkcm1fdGVncmFfc3luY3B0IHN1Ym1pdF9zeW5jcHRf aW5jciA9IHswfTsKKwlzdHJ1Y3QgZHJtX3RlZ3JhX2NtZGJ1ZiBzdWJtaXRfY21kYnVmID0gezB9 OworCXN0cnVjdCBkcm1fdGVncmFfc3VibWl0IHN1Ym1pdF9hcmdzID0gezB9OworCXN0cnVjdCBk cm1fdGVncmFfcmVsb2Mgc3VibWl0X3JlbG9jc1szXTsKKwlzdHJ1Y3QgZHJtX3RlZ3JhX3N5bmNw dF93YWl0IHdhaXRfYXJncyA9IHswfTsKKwlDb25maWdTdHJ1Y3QgKmNvbmZpZ19zdHJ1Y3Q7CisJ c3RydWN0IGRybV90ZWdyYSAqdGVncmE7CisJZHJtVmVyc2lvblB0ciB2ZXJzaW9uOworCWNvbnN0 IGNoYXIgKmRldmljZTsKKwl1aW50MzJfdCAqY21kYnVmOworCXVpbnQzMl90ICpvdXRidWY7CisJ dWludDMyX3QgaSwgajsKKwl2b2lkICpoaXN0YnVmOworCWludCBlcnIsIGZkOworCisJaWYgKGFy Z2MgPCAyKQorCQlkZXZpY2UgPSBkZWZhdWx0X2RldmljZTsKKwllbHNlCisJCWRldmljZSA9IGFy Z3ZbMV07CisKKwlmZCA9IG9wZW4oZGV2aWNlLCBPX1JEV1IpOworCWlmIChmZCA8IDApIHsKKwkJ cHJpbnRmKCJGYWlsZWQgdG8gb3BlbiBkZXZpY2UgJXNcbiIsIGRldmljZSk7CisJCXJldHVybiBm ZDsKKwl9CisKKwl2ZXJzaW9uID0gZHJtR2V0VmVyc2lvbihmZCk7CisJaWYgKHZlcnNpb24pIHsK KwkJcHJpbnRmKCJWZXJzaW9uOiAlZC4lZC4lZFxuIiwgdmVyc2lvbi0+dmVyc2lvbl9tYWpvciwK KwkJICAgICAgIHZlcnNpb24tPnZlcnNpb25fbWlub3IsIHZlcnNpb24tPnZlcnNpb25fcGF0Y2hs ZXZlbCk7CisJCXByaW50ZigiICBOYW1lOiAlc1xuIiwgdmVyc2lvbi0+bmFtZSk7CisJCXByaW50 ZigiICBEYXRlOiAlc1xuIiwgdmVyc2lvbi0+ZGF0ZSk7CisJCXByaW50ZigiICBEZXNjcmlwdGlv bjogJXNcbiIsIHZlcnNpb24tPmRlc2MpOworCisJCWRybUZyZWVWZXJzaW9uKHZlcnNpb24pOwor CX0KKworCWVyciA9IGRybV90ZWdyYV9uZXcoJnRlZ3JhLCBmZCk7CisJaWYgKGVyciA8IDApIHsK KwkJcHJpbnRmKCJGYWlsZWQgdG8gb3BlbiBUZWdyYSBEUk0gZGV2aWNlICglZClcbiIsIGVycik7 CisJCXJldHVybiBlcnI7CisJfQorCisJLyogb3BlbiBjaGFubmVsICovCisJb3Blbl9jaGFubmVs X2FyZ3MuY2xpZW50ID0gSE9TVDFYX0NMQVNTX1ZJQzsKKwllcnIgPSBkcm1Jb2N0bChmZCwgRFJN X0lPQ1RMX1RFR1JBX09QRU5fQ0hBTk5FTCwgJm9wZW5fY2hhbm5lbF9hcmdzKTsKKwlpZiAoZXJy KSB7CisJCXByaW50ZigiRmFpbGVkIHRvIG9wZW4gY2hhbm5lbCAoJWQpXG4iLCBlcnIpOworCQly ZXR1cm4gZXJyOworCX0KKworCS8qIGFsbG9jYXRlIGNtZGJ1ZiAqLworCWVyciA9IGRybV90ZWdy YV9ib19uZXcoJmNtZGJ1Zl9ibywgdGVncmEsIDAsIDQwOTYpOworCWlmIChlcnIpIHsKKwkJcHJp bnRmKCJGYWlsZWQgdG8gY3JlYXRlIGNtZGJ1ZiAoJWQpXG4iLCBlcnIpOworCQlyZXR1cm4gZXJy OworCX0KKworCS8qIGdldCBjb21tYW5kIGJ1ZmZlciBoYW5kbGUgKi8KKwllcnIgPSBkcm1fdGVn cmFfYm9fZ2V0X2hhbmRsZShjbWRidWZfYm8sICZjbWRidWZfYm9faGFuZGxlKTsKKwlpZiAoZXJy KSB7CisJCXByaW50ZigiRmFpbGVkIHRvIGdldCBjbWRidWYgaGFuZGxlICglZClcbiIsIGVycik7 CisJCXJldHVybiBlcnI7CisJfQorCisJLyogbWFwIGNtZGJ1ZiAqLworCWVyciA9IGRybV90ZWdy YV9ib19tYXAoY21kYnVmX2JvLCAodm9pZCAqKikmY21kYnVmKTsKKwlpZiAoZXJyKSB7CisJCXBy aW50ZigiRmFpbGVkIHRvIG1tYXAgY21kYnVmICglZClcbiIsIGVycik7CisJCXJldHVybiBlcnI7 CisJfQorCisJLyogY3JlYXRlIHRoZSBjb25maWcgc3RydWN0IGJ1ZmZlciAqLworCWVyciA9IGRy bV90ZWdyYV9ib19uZXcoJmNvbmZpZ2J1Zl9ibywgdGVncmEsIDAsIHNpemVvZihDb25maWdTdHJ1 Y3QpKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ZigiRmFpbGVkIHRvIGNyZWF0ZSBjb25maWcgc3Ry dWN0ICglZClcbiIsIGVycik7CisJCXJldHVybiBlcnI7CisJfQorCisJLyogZ2V0IGNvbW1hbmQg YnVmZmVyIGhhbmRsZSAqLworCWVyciA9IGRybV90ZWdyYV9ib19nZXRfaGFuZGxlKGNvbmZpZ2J1 Zl9ibywgJmNvbmZpZ2J1Zl9ib19oYW5kbGUpOworCWlmIChlcnIpIHsKKwkJcHJpbnRmKCJGYWls ZWQgdG8gZ2V0IGNtZGJ1ZiBoYW5kbGUgKCVkKVxuIiwgZXJyKTsKKwkJcmV0dXJuIGVycjsKKwl9 CisKKwkvKiBnZXQgb2Zmc2V0IGZvciB0aGUgY29uZmlnIHN0cnVjdCBidWZmZXIgKi8KKwllcnIg PSBkcm1fdGVncmFfYm9fbWFwKGNvbmZpZ2J1Zl9ibywgKHZvaWQgKiopJmNvbmZpZ19zdHJ1Y3Qp OworCWlmIChlcnIpIHsKKwkJcHJpbnRmKCJGYWlsZWQgdG8gbW1hcCBjb25maWcgc3RydWN0ICgl ZClcbiIsIGVycik7CisJCXJldHVybiBlcnI7CisJfQorCisJLyogYWxsb2NhdGUgdGhlIGhpc3Qg YnVmZmVyICovCisJZXJyID0gZHJtX3RlZ3JhX2JvX25ldygmaGlzdGJ1Zl9ibywgdGVncmEsIDAs IDQwOTYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRmKCJGYWlsZWQgdG8gY3JlYXRlIGhpc3RidWYg KCVkKVxuIiwgZXJyKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwkvKiBnZXQgY29tbWFuZCBidWZm ZXIgaGFuZGxlICovCisJZXJyID0gZHJtX3RlZ3JhX2JvX2dldF9oYW5kbGUoaGlzdGJ1Zl9ibywg Jmhpc3RidWZfYm9faGFuZGxlKTsKKwlpZiAoZXJyKSB7CisJCXByaW50ZigiRmFpbGVkIHRvIGdl dCBoaXN0YnVmIGhhbmRsZSAoJWQpXG4iLCBlcnIpOworCQlyZXR1cm4gZXJyOworCX0KKworCS8q IGdldCBvZmZzZXQgZm9yIHRoZSBoaXN0IGJ1ZmZlciAqLworCWVyciA9IGRybV90ZWdyYV9ib19t YXAoaGlzdGJ1Zl9ibywgKHZvaWQgKiopJmhpc3RidWYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRm KCJGYWlsZWQgdG8gbW1hcCBoaXN0YnVmICglZClcbiIsIGVycik7CisJCXJldHVybiBlcnI7CisJ fQorCisJLyogYWxsb2NhdGUgdGhlIG91dHB1dCBzdXJmYWNlICovCisJZXJyID0gZHJtX3RlZ3Jh X2JvX25ldygmb3V0YnVmX2JvLCB0ZWdyYSwgMCwgMzIgKiAxMDI0KTsKKwlpZiAoZXJyKSB7CisJ CXByaW50ZigiRmFpbGVkIHRvIGNyZWF0ZSBvdXRidWYgKCVkKVxuIiwgZXJyKTsKKwkJcmV0dXJu IGVycjsKKwl9CisKKwkvKiBnZXQgY29tbWFuZCBidWZmZXIgaGFuZGxlICovCisJZXJyID0gZHJt X3RlZ3JhX2JvX2dldF9oYW5kbGUob3V0YnVmX2JvLCAmb3V0YnVmX2JvX2hhbmRsZSk7CisJaWYg KGVycikgeworCQlwcmludGYoIkZhaWxlZCB0byBnZXQgb3V0YnVmIGhhbmRsZSAoJWQpXG4iLCBl cnIpOworCQlyZXR1cm4gZXJyOworCX0KKworCS8qIGdldCB0aGUgb2Zmc2V0IGZvciB0aGUgb3V0 YnVmICovCisJZXJyID0gZHJtX3RlZ3JhX2JvX21hcChvdXRidWZfYm8sICh2b2lkICoqKSZvdXRi dWYpOworCWlmIChlcnIpIHsKKwkJcHJpbnRmKCJGYWlsZWQgdG8gbW1hcCBvdXRidWYgKCVkKVxu IiwgZXJyKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwkvKiBnZXQgY2hhbm5lbCBzeW5jcG9pbnQg Ki8KKwlnZXRfc3luY3B0X2FyZ3MuY29udGV4dCA9IG9wZW5fY2hhbm5lbF9hcmdzLmNvbnRleHQ7 CisJZ2V0X3N5bmNwdF9hcmdzLmluZGV4ID0gMDsKKwllcnIgPSBkcm1Jb2N0bChmZCwgRFJNX0lP Q1RMX1RFR1JBX0dFVF9TWU5DUFQsICZnZXRfc3luY3B0X2FyZ3MpOworCWlmIChlcnIpIHsKKwkJ cHJpbnRmKCJGYWlsZWQgdG8gZ2V0IHN5bmNwb2ludCAoJWQpXG4iLCBlcnIpOworCQlyZXR1cm4g ZXJyOworCX0KKworCW1lbXNldChoaXN0YnVmLCAwLCA0MDk2KTsKKworCW1lbXNldChjb25maWdf c3RydWN0LCAwLCBzaXplb2YoKmNvbmZpZ19zdHJ1Y3QpKTsKKwljb25maWdfc3RydWN0LT5zdXJm YWNlTGlzdDBTdHJ1Y3QuVGFyZ2V0UmVjdFJpZ2h0ID0gMTk5OworCWNvbmZpZ19zdHJ1Y3QtPnN1 cmZhY2VMaXN0MFN0cnVjdC5UYXJnZXRSZWN0Qm90dG9tID0gMzE7CisJY29uZmlnX3N0cnVjdC0+ YmxlbmRpbmcwU3RydWN0LlBpeGVsRm9ybWF0ID0gMzQ7IC8qIFI4RzhCOEE4ICovCisJY29uZmln X3N0cnVjdC0+YmxlbmRpbmcwU3RydWN0LkJhY2tncm91bmRBbHBoYSA9IDEwMjM7CisJY29uZmln X3N0cnVjdC0+YmxlbmRpbmcwU3RydWN0LkJhY2tncm91bmRSID0gMDsKKwljb25maWdfc3RydWN0 LT5ibGVuZGluZzBTdHJ1Y3QuQmFja2dyb3VuZEcgPSAxMDIzOworCWNvbmZpZ19zdHJ1Y3QtPmJs ZW5kaW5nMFN0cnVjdC5CYWNrZ3JvdW5kQiA9IDA7CisJY29uZmlnX3N0cnVjdC0+YmxlbmRpbmcw U3RydWN0Lkx1bWFXaWR0aCA9IDI1NTsKKwljb25maWdfc3RydWN0LT5ibGVuZGluZzBTdHJ1Y3Qu THVtYUhlaWdodCA9IDMxOworCWNvbmZpZ19zdHJ1Y3QtPmJsZW5kaW5nMFN0cnVjdC5DaHJvbWFX aWR0aCA9IDE2MzgzOworCWNvbmZpZ19zdHJ1Y3QtPmJsZW5kaW5nMFN0cnVjdC5DaHJvbWFIZWln aHQgPSAxNjM4MzsKKwljb25maWdfc3RydWN0LT5ibGVuZGluZzBTdHJ1Y3QuVGFyZ2V0UmVjdFJp Z2h0ID0gMTk5OworCWNvbmZpZ19zdHJ1Y3QtPmJsZW5kaW5nMFN0cnVjdC5UYXJnZXRSZWN0Qm90 dG9tID0gMzE7CisJY29uZmlnX3N0cnVjdC0+YmxlbmRpbmcwU3RydWN0LlN1cmZhY2VXaWR0aCA9 IDE5OTsKKwljb25maWdfc3RydWN0LT5ibGVuZGluZzBTdHJ1Y3QuU3VyZmFjZUhlaWdodCA9IDMx OworCWNvbmZpZ19zdHJ1Y3QtPmZldGNoQ29udHJvbDBTdHJ1Y3QuVGFyZ2V0UmVjdFJpZ2h0ID0g MTk5OworCWNvbmZpZ19zdHJ1Y3QtPmZldGNoQ29udHJvbDBTdHJ1Y3QuVGFyZ2V0UmVjdEJvdHRv bSA9IDMxOworCisJaSA9IDA7CisJY21kYnVmW2krK10gPSBob3N0MXhfb3Bjb2RlX3NldGNsYXNz KEhPU1QxWF9DTEFTU19WSUMsIDAsIDApOworCisJLyogc2V0dXAgc2l6ZSBvZiBjb25maWdfc3Ry dWN0ICovCisJY21kYnVmW2krK10gPSBob3N0MXhfb3Bjb2RlX2luY3IoVklDX1VDTEFTU19NRVRI T0RfT0ZGU0VULCAyKTsKKwljbWRidWZbaSsrXSA9IE5WQTBCNl9WSURFT19DT01QT1NJVE9SX1NF VF9DT05UUk9MX1BBUkFNUyA+PiAyOworCWNtZGJ1ZltpKytdID0gKHNpemVvZigqY29uZmlnX3N0 cnVjdCkgLyAxNikgPDwgMTY7CisKKwkvKiBzZXQgY29uZmlndXJhdGlvbiBidWZmZXIgb2Zmc2V0 ICovCisJY21kYnVmW2krK10gPSBob3N0MXhfb3Bjb2RlX2luY3IoVklDX1VDTEFTU19NRVRIT0Rf T0ZGU0VULCAyKTsKKwljbWRidWZbaSsrXSA9IE5WQTBCNl9WSURFT19DT01QT1NJVE9SX1NFVF9D T05GSUdfU1RSVUNUX09GRlNFVCA+PiAyOworCXN1Ym1pdF9yZWxvY3NbMF0uY21kYnVmLmhhbmRs ZSA9IGNtZGJ1Zl9ib19oYW5kbGU7CisJc3VibWl0X3JlbG9jc1swXS5jbWRidWYub2Zmc2V0ID0g aSAqIDQ7CisJc3VibWl0X3JlbG9jc1swXS50YXJnZXQuaGFuZGxlID0gY29uZmlnYnVmX2JvX2hh bmRsZTsKKwlzdWJtaXRfcmVsb2NzWzBdLnRhcmdldC5vZmZzZXQgPSAwOworCXN1Ym1pdF9yZWxv Y3NbMF0uc2hpZnQgPSA4OworCXN1Ym1pdF9yZWxvY3NbMF0ucGFkID0gMDsKKwljbWRidWZbaSsr XSA9IDB4ZGVhZGJlZWY7CisKKwkvKiBzZXQgaGlzdG9yeSBidWZmZXIgb2Zmc2V0ICovCisJY21k YnVmW2krK10gPSBob3N0MXhfb3Bjb2RlX2luY3IoVklDX1VDTEFTU19NRVRIT0RfT0ZGU0VULCAy KTsKKwljbWRidWZbaSsrXSA9IE5WQTBCNl9WSURFT19DT01QT1NJVE9SX1NFVF9ISVNUX09GRlNF VCA+PiAyOworCXN1Ym1pdF9yZWxvY3NbMV0uY21kYnVmLmhhbmRsZSA9IGNtZGJ1Zl9ib19oYW5k bGU7CisJc3VibWl0X3JlbG9jc1sxXS5jbWRidWYub2Zmc2V0ID0gaSAqIDQ7CisJc3VibWl0X3Jl bG9jc1sxXS50YXJnZXQuaGFuZGxlID0gaGlzdGJ1Zl9ib19oYW5kbGU7CisJc3VibWl0X3JlbG9j c1sxXS50YXJnZXQub2Zmc2V0ID0gMDsKKwlzdWJtaXRfcmVsb2NzWzFdLnNoaWZ0ID0gODsKKwlz dWJtaXRfcmVsb2NzWzFdLnBhZCA9IDA7CisJY21kYnVmW2krK10gPSAweGRlYWRiZWVmOworCisJ Lyogc2V0IG91dHB1dCBidWZmZXIgKi8KKwljbWRidWZbaSsrXSA9IGhvc3QxeF9vcGNvZGVfaW5j cihWSUNfVUNMQVNTX01FVEhPRF9PRkZTRVQsIDIpOworCWNtZGJ1ZltpKytdID0gTlZBMEI2X1ZJ REVPX0NPTVBPU0lUT1JfU0VUX09VVFBVVF9TVVJGQUNFX0xVTUFfT0ZGU0VUID4+IDI7CisJc3Vi bWl0X3JlbG9jc1syXS5jbWRidWYuaGFuZGxlID0gY21kYnVmX2JvX2hhbmRsZTsKKwlzdWJtaXRf cmVsb2NzWzJdLmNtZGJ1Zi5vZmZzZXQgPSBpICogNDsKKwlzdWJtaXRfcmVsb2NzWzJdLnRhcmdl dC5oYW5kbGUgPSBvdXRidWZfYm9faGFuZGxlOworCXN1Ym1pdF9yZWxvY3NbMl0udGFyZ2V0Lm9m ZnNldCA9IDA7CisJc3VibWl0X3JlbG9jc1syXS5zaGlmdCA9IDg7CisJc3VibWl0X3JlbG9jc1sy XS5wYWQgPSAwOworCWNtZGJ1ZltpKytdID0gMHhkZWFkYmVlZjsKKworCS8qIGV4ZWN1dGUgKi8K KwljbWRidWZbaSsrXSA9IGhvc3QxeF9vcGNvZGVfaW5jcihWSUNfVUNMQVNTX01FVEhPRF9PRkZT RVQsIDIpOworCWNtZGJ1ZltpKytdID0gTlZBMEI2X1ZJREVPX0NPTVBPU0lUT1JfRVhFQ1VURSA+ PiAyOworCWNtZGJ1ZltpKytdID0gMSA8PCA4OworCisJLyogaW5jcmVtZW50IHN5bmNwb2ludCAq LworCWNtZGJ1ZltpKytdID0gaG9zdDF4X29wY29kZV9ub25pbmNyKDAsIDEpOworCWNtZGJ1Zltp KytdID0gZ2V0X3N5bmNwdF9hcmdzLmlkIHwgMSA8PCA4OworCisJLyogaW5pdGlhbGl6ZSBzdWJt aXQ6IHdlIG1ha2UgYSBzaW5nbGUgc3luY3BvaW50IGluY3JlbWVudCAqLworCXN1Ym1pdF9zeW5j cHRfaW5jci5pZCA9IGdldF9zeW5jcHRfYXJncy5pZDsKKwlzdWJtaXRfc3luY3B0X2luY3IuaW5j cnMgPSAxOworCisJLyogLi5hbmQgd2UgaGF2ZSBhIHNpbmdsZSBjb21tYW5kIGJ1ZmZlciAqLwor CXN1Ym1pdF9jbWRidWYuaGFuZGxlID0gY21kYnVmX2JvX2hhbmRsZTsKKwlzdWJtaXRfY21kYnVm Lm9mZnNldCA9IDA7CisJc3VibWl0X2NtZGJ1Zi53b3JkcyA9IGk7CisKKwkvKiBtYWtlIHRoZSBz dWJtaXQgKi8KKwlzdWJtaXRfYXJncy5jb250ZXh0ID0gb3Blbl9jaGFubmVsX2FyZ3MuY29udGV4 dDsKKwlzdWJtaXRfYXJncy5udW1fc3luY3B0cyA9IDE7CisJc3VibWl0X2FyZ3MubnVtX2NtZGJ1 ZnMgPSAxOworCXN1Ym1pdF9hcmdzLm51bV9yZWxvY3MgPSAzOworCXN1Ym1pdF9hcmdzLnN5bmNw dHMgPSAodWludHB0cl90KSZzdWJtaXRfc3luY3B0X2luY3I7CisJc3VibWl0X2FyZ3MuY21kYnVm cyA9ICh1aW50cHRyX3QpJnN1Ym1pdF9jbWRidWY7CisJc3VibWl0X2FyZ3MucmVsb2NzID0gKHVp bnRwdHJfdCkmc3VibWl0X3JlbG9jczsKKworCWVyciA9IGRybUlvY3RsKGZkLCBEUk1fSU9DVExf VEVHUkFfU1VCTUlULCAmc3VibWl0X2FyZ3MpOworCWlmIChlcnIpIHsKKwkJcHJpbnRmKCJGYWls ZWQgdG8gc3VibWl0IHdvcmsgKCVkKVxuIiwgZXJyKTsKKwkJcmV0dXJuIGVycjsKKwl9CisKKwkv KiB3YWl0IGZvciBjb21wbGV0aW9uICovCisJd2FpdF9hcmdzLmlkID0gZ2V0X3N5bmNwdF9hcmdz LmlkOworCXdhaXRfYXJncy50aHJlc2ggPSBzdWJtaXRfYXJncy5mZW5jZTsKKwl3YWl0X2FyZ3Mu dGltZW91dCA9IERSTV9URUdSQV9OT19USU1FT1VUOworCWVyciA9IGRybUlvY3RsKGZkLCBEUk1f SU9DVExfVEVHUkFfU1lOQ1BUX1dBSVQsICZ3YWl0X2FyZ3MpOworCWlmIChlcnIpCisJCXByaW50 ZigiRmFpbGVkIHRvIHdhaXQgZm9yIGNvbXBsZXRpb24gKCVkKVxuIiwgZXJyKTsKKworCWZvciAo aSA9IDA7IGkgPCAzMjsgaSsrKSB7CisJCWZvciAoaiA9IDA7IGogPCAxOTk7IGorKykgeworCQkJ dWludDMyX3Qgb2Zmc2V0ID0gaSAqIDI1NiArIGo7CisJCQlpZiAob3V0YnVmW29mZnNldF0gIT0g MHgwMGZmMDBmZikgeworCQkJCXByaW50ZigiQ29udGVudCBtaXNtYXRjaCBhdCBvZmZzZXQgJXUg KCV4ICE9IDB4MDBmZjAwZmYpXG4iLAorCQkJCSAgICAgICBvZmZzZXQsIG91dGJ1ZltvZmZzZXRd KTsKKwkJCQlyZXR1cm4gLTE7CisJCQl9CisJCX0KKwl9CisKKwlwcmludGYoIlxuVGVzdCBwYXNz ZWRcblxuIik7CisKKwlkcm1fdGVncmFfY2xvc2UodGVncmEpOworCWNsb3NlKGZkKTsKKworCXJl dHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvdGVncmEvdmljLmggYi90ZXN0cy90ZWdyYS92 aWMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjBiZjA4MTE1ZmM2 NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RlZ3JhL3ZpYy5oCkBAIC0wLDAgKzEsNDI2IEBA CisvKgorICogQ29weXJpZ2h0IMKpIDIwMTUgTlZJRElBIENvcnBvcmF0aW9uCisgKgorICogUGVy bWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24g b2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0 d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisg KiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJp YnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUs IGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlz aGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisg KiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBz aGFsbCBiZSBpbmNsdWRlZCBpbgorICogYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9u cyBvZiB0aGUgU29mdHdhcmUuCisgKgorICogVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJ UyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IKKyAqIElNUExJRUQs IElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB QklMSVRZLAorICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJ TkdFTUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCisgKiBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBP UiBBVVRIT1IoUykgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IKKyAqIE9USEVS IExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RI RVJXSVNFLAorICogQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRI RSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisgKiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdB UkUuCisgKi8KKworI2lmbmRlZiBWSUNfSAorI2RlZmluZSBWSUNfSAorCisjZGVmaW5lIFZJQ19V Q0xBU1NfSU5DUl9TWU5DUFQJCQkJCTB4MDAKKyNkZWZpbmUgVklDX1VDTEFTU19NRVRIT0RfT0ZG U0VUCQkJCTB4MTAKKyNkZWZpbmUgVklDX1VDTEFTU19NRVRIT0RfREFUQQkJCQkJMHgxMQorCisj ZGVmaW5lIE5WQTBCNl9WSURFT19DT01QT1NJVE9SX0VYRUNVVEUJCQkJMHgwMDAwMDMwMAorI2Rl ZmluZSBOVkEwQjZfVklERU9fQ09NUE9TSVRPUl9TRVRfQ09OVFJPTF9QQVJBTVMJCTB4MDAwMDA3 MDAKKyNkZWZpbmUgTlZBMEI2X1ZJREVPX0NPTVBPU0lUT1JfU0VUX0NPTkZJR19TVFJVQ1RfT0ZG U0VUCTB4MDAwMDA3MjAKKyNkZWZpbmUgTlZBMEI2X1ZJREVPX0NPTVBPU0lUT1JfU0VUX0hJU1Rf T0ZGU0VUCQkJMHgwMDAwMDcyOAorI2RlZmluZSBOVkEwQjZfVklERU9fQ09NUE9TSVRPUl9TRVRf T1VUUFVUX1NVUkZBQ0VfTFVNQV9PRkZTRVQJMHgwMDAwMDczMAorCit0eXBlZGVmIHN0cnVjdCBf U3VyZmFjZUNhY2hlMFN0cnVjdCB7CisJdWludDY0X3QgRGVOb2lzZTAgICAgICAgICAgICA6IDE7 CisJdWludDY0X3QgQ2FkZW5jZURldGVjdDAgICAgICA6IDE7CisJdWludDY0X3QgTW90aW9uTWFw MCAgICAgICAgICA6IDE7CisJdWludDY0X3QgTWVkaWFuRmlsdGVyMCAgICAgICA6IDE7CisJdWlu dDY0X3QgRGVOb2lzZTEgICAgICAgICAgICA6IDE7CisJdWludDY0X3QgQ2FkZW5jZURldGVjdDEg ICAgICA6IDE7CisJdWludDY0X3QgTW90aW9uTWFwMSAgICAgICAgICA6IDE7CisJdWludDY0X3Qg TWVkaWFuRmlsdGVyMSAgICAgICA6IDE7CisJdWludDY0X3QgRGVOb2lzZTIgICAgICAgICAgICA6 IDE7CisJdWludDY0X3QgQ2FkZW5jZURldGVjdDIgICAgICA6IDE7CisJdWludDY0X3QgTW90aW9u TWFwMiAgICAgICAgICA6IDE7CisJdWludDY0X3QgTWVkaWFuRmlsdGVyMiAgICAgICA6IDE7CisJ dWludDY0X3QgRGVOb2lzZTMgICAgICAgICAgICA6IDE7CisJdWludDY0X3QgQ2FkZW5jZURldGVj dDMgICAgICA6IDE7CisJdWludDY0X3QgTW90aW9uTWFwMyAgICAgICAgICA6IDE7CisJdWludDY0 X3QgTWVkaWFuRmlsdGVyMyAgICAgICA6IDE7CisJdWludDY0X3QgRGVOb2lzZTQgICAgICAgICAg ICA6IDE7CisJdWludDY0X3QgQ2FkZW5jZURldGVjdDQgICAgICA6IDE7CisJdWludDY0X3QgTW90 aW9uTWFwNCAgICAgICAgICA6IDE7CisJdWludDY0X3QgTWVkaWFuRmlsdGVyNCAgICAgICA6IDE7 CisJdWludDY0X3QgSXNFdmVuMCAgICAgICAgICAgICA6IDE7CisJdWludDY0X3QgSXNFdmVuMSAg ICAgICAgICAgICA6IDE7CisJdWludDY0X3QgSXNFdmVuMiAgICAgICAgICAgICA6IDE7CisJdWlu dDY0X3QgSXNFdmVuMyAgICAgICAgICAgICA6IDE7CisJdWludDY0X3QgSXNFdmVuNCAgICAgICAg ICAgICA6IDE7CisJdWludDY0X3QgTU1hcENvbWJpbmUwICAgICAgICA6IDE7CisJdWludDY0X3Qg TU1hcENvbWJpbmUxICAgICAgICA6IDE7CisJdWludDY0X3QgTU1hcENvbWJpbmUyICAgICAgICA6 IDE7CisJdWludDY0X3QgTU1hcENvbWJpbmUzICAgICAgICA6IDE7CisJdWludDY0X3QgTU1hcENv bWJpbmU0ICAgICAgICA6IDE7CisJdWludDY0X3QgcmVzZXJ2ZWQwICAgICAgICAgICA6IDI7CisJ dWludDY0X3QgUGl4ZWxGb3JtYXQwICAgICAgICA6IDc7CisJdWludDY0X3QgcmVzZXJ2ZWQxICAg ICAgICAgICA6IDE7CisJdWludDY0X3QgUGl4ZWxGb3JtYXQxICAgICAgICA6IDc7CisJdWludDY0 X3QgcmVzZXJ2ZWQyICAgICAgICAgICA6IDE7CisJdWludDY0X3QgUGl4ZWxGb3JtYXQyICAgICAg ICA6IDc7CisJdWludDY0X3QgcmVzZXJ2ZWQzICAgICAgICAgICA6IDE7CisJdWludDY0X3QgUGl4 ZWxGb3JtYXQzICAgICAgICA6IDc7CisJdWludDY0X3QgcmVzZXJ2ZWQ0ICAgICAgICAgICA6IDE7 CisJdWludDY0X3QgUGl4ZWxGb3JtYXQ0ICAgICAgICA6IDc7CisJdWludDY0X3QgcmVzZXJ2ZWQ1 ICAgICAgICAgICA6IDE7CisJdWludDY0X3QgcmVzZXJ2ZWQ2ICAgICAgICAgICA6IDI0OworCXVp bnQ2NF90IFBQTW90aW9uMCAgICAgICAgICAgOiAxOworCXVpbnQ2NF90IFBQTW90aW9uMSAgICAg ICAgICAgOiAxOworCXVpbnQ2NF90IFBQTW90aW9uMiAgICAgICAgICAgOiAxOworCXVpbnQ2NF90 IFBQTW90aW9uMyAgICAgICAgICAgOiAxOworCXVpbnQ2NF90IFBQTW90aW9uNCAgICAgICAgICAg OiAxOworCXVpbnQ2NF90IHJlc2VydmVkNyAgICAgICAgICAgOiAzOworCXVpbnQ2NF90IENocm9t YUV2ZW4wICAgICAgICAgOiAxOworCXVpbnQ2NF90IENocm9tYUV2ZW4xICAgICAgICAgOiAxOwor CXVpbnQ2NF90IENocm9tYUV2ZW4yICAgICAgICAgOiAxOworCXVpbnQ2NF90IENocm9tYUV2ZW4z ICAgICAgICAgOiAxOworCXVpbnQ2NF90IENocm9tYUV2ZW40ICAgICAgICAgOiAxOworCXVpbnQ2 NF90IHJlc2VydmVkOCAgICAgICAgICAgOiAzOworCXVpbnQ2NF90IEFkdmFuY2VkRGVub2lzZTAg ICAgOiAxOworCXVpbnQ2NF90IEFkdmFuY2VkRGVub2lzZTEgICAgOiAxOworCXVpbnQ2NF90IEFk dmFuY2VkRGVub2lzZTIgICAgOiAxOworCXVpbnQ2NF90IEFkdmFuY2VkRGVub2lzZTMgICAgOiAx OworCXVpbnQ2NF90IEFkdmFuY2VkRGVub2lzZTQgICAgOiAxOworCXVpbnQ2NF90IHJlc2VydmVk OSAgICAgICAgICAgOiAzOworCXVpbnQ2NF90IHJlc2VydmVkMTAgICAgICAgICAgOiA4OworfSBT dXJmYWNlQ2FjaGUwU3RydWN0OworCisKK3R5cGVkZWYgc3RydWN0IF9TdXJmYWNlTGlzdDBTdHJ1 Y3QgeworCXVpbnQ2NF90IENsZWFyUmVjdE1hc2swICAgICAgOiA4OworCXVpbnQ2NF90IENsZWFy UmVjdE1hc2sxICAgICAgOiA4OworCXVpbnQ2NF90IENsZWFyUmVjdE1hc2syICAgICAgOiA4Owor CXVpbnQ2NF90IENsZWFyUmVjdE1hc2szICAgICAgOiA4OworCXVpbnQ2NF90IENsZWFyUmVjdE1h c2s0ICAgICAgOiA4OworCXVpbnQ2NF90IHJlc2VydmVkMCAgICAgICAgICAgOiAyMjsKKwl1aW50 NjRfdCBPdXRwdXRGbGlwWCAgICAgICAgIDogMTsKKwl1aW50NjRfdCBPdXRwdXRGbGlwWSAgICAg ICAgIDogMTsKKwl1aW50NjRfdCBUYXJnZXRSZWN0TGVmdCAgICAgIDogMTQ7CisJdWludDY0X3Qg cmVzZXJ2ZWQxICAgICAgICAgICA6IDI7CisJdWludDY0X3QgVGFyZ2V0UmVjdFJpZ2h0ICAgICA6 IDE0OworCXVpbnQ2NF90IHJlc2VydmVkMiAgICAgICAgICAgOiAyOworCXVpbnQ2NF90IFRhcmdl dFJlY3RUb3AgICAgICAgOiAxNDsKKwl1aW50NjRfdCByZXNlcnZlZDMgICAgICAgICAgIDogMjsK Kwl1aW50NjRfdCBUYXJnZXRSZWN0Qm90dG9tICAgIDogMTQ7CisJdWludDY0X3QgcmVzZXJ2ZWQ0 ICAgICAgICAgICA6IDI7Cit9IFN1cmZhY2VMaXN0MFN0cnVjdDsKKworCit0eXBlZGVmIHN0cnVj dCBfU3VyZmFjZUxpc3RDbGVhclJlY3RTdHJ1Y3QgeworCXVpbnQ2NF90IENsZWFyUmVjdDBMZWZ0 ICAgICAgOiAxNDsKKwl1aW50NjRfdCByZXNlcnZlZDAgICAgICAgICAgIDogMjsKKwl1aW50NjRf dCBDbGVhclJlY3QwUmlnaHQgICAgIDogMTQ7CisJdWludDY0X3QgcmVzZXJ2ZWQxICAgICAgICAg ICA6IDI7CisJdWludDY0X3QgQ2xlYXJSZWN0MFRvcCAgICAgICA6IDE0OworCXVpbnQ2NF90IHJl c2VydmVkMiAgICAgICAgICAgOiAyOworCXVpbnQ2NF90IENsZWFyUmVjdDBCb3R0b20gICAgOiAx NDsKKwl1aW50NjRfdCByZXNlcnZlZDMgICAgICAgICAgIDogMjsKKwl1aW50NjRfdCBDbGVhclJl Y3QxTGVmdCAgICAgIDogMTQ7CisJdWludDY0X3QgcmVzZXJ2ZWQ0ICAgICAgICAgICA6IDI7CisJ dWludDY0X3QgQ2xlYXJSZWN0MVJpZ2h0ICAgICA6IDE0OworCXVpbnQ2NF90IHJlc2VydmVkNSAg ICAgICAgICAgOiAyOworCXVpbnQ2NF90IENsZWFyUmVjdDFUb3AgICAgICAgOiAxNDsKKwl1aW50 NjRfdCByZXNlcnZlZDYgICAgICAgICAgIDogMjsKKwl1aW50NjRfdCBDbGVhclJlY3QxQm90dG9t ICAgIDogMTQ7CisJdWludDY0X3QgcmVzZXJ2ZWQ3ICAgICAgICAgICA6IDI7Cit9IFN1cmZhY2VM aXN0Q2xlYXJSZWN0U3RydWN0OworCisKK3R5cGVkZWYgc3RydWN0IF9TdXJmYWNlTGlzdFN1cmZh Y2VTdHJ1Y3QgeworCXVpbnQ2NF90IEVuYWJsZSAgICAgICAgICAgICAgOiAxOworCXVpbnQ2NF90 IEZyYW1lRm9ybWF0ICAgICAgICAgOiA0OworCXVpbnQ2NF90IFBpeGVsRm9ybWF0ICAgICAgICAg OiA3OworCXVpbnQ2NF90IHJlc2VydmVkMCAgICAgICAgICAgOiAyOworCXVpbnQ2NF90IENocm9t YUxvY0hvcml6ICAgICAgOiAyOworCXVpbnQ2NF90IENocm9tYUxvY1ZlcnQgICAgICAgOiAyOwor CXVpbnQ2NF90IFBhbm9yYW1pYyAgICAgICAgICAgOiAxMjsKKwl1aW50NjRfdCByZXNlcnZlZDEg ICAgICAgICAgIDogNDsKKwl1aW50NjRfdCBTdXJmYWNlV2lkdGggICAgICAgIDogMTQ7CisJdWlu dDY0X3QgcmVzZXJ2ZWQyICAgICAgICAgICA6IDE7CisJdWludDY0X3QgU3VyZmFjZUhlaWdodCAg ICAgICA6IDE0OworCXVpbnQ2NF90IHJlc2VydmVkMyAgICAgICAgICAgOiAxOworCXVpbnQ2NF90 IEx1bWFXaWR0aCAgICAgICAgICAgOiAxNDsKKwl1aW50NjRfdCByZXNlcnZlZDQgICAgICAgICAg IDogMTsKKwl1aW50NjRfdCBMdW1hSGVpZ2h0ICAgICAgICAgIDogMTQ7CisJdWludDY0X3QgcmVz ZXJ2ZWQ1ICAgICAgICAgICA6IDE7CisJdWludDY0X3QgQ2hyb21hV2lkdGggICAgICAgICA6IDE0 OworCXVpbnQ2NF90IHJlc2VydmVkNiAgICAgICAgICAgOiAxOworCXVpbnQ2NF90IENocm9tYUhl aWdodCAgICAgICAgOiAxNDsKKwl1aW50NjRfdCByZXNlcnZlZDcgICAgICAgICAgIDogMTsKKwl1 aW50NjRfdCBDYWNoZVdpZHRoICAgICAgICAgIDogMzsKKwl1aW50NjRfdCByZXNlcnZlZDggICAg ICAgICAgIDogMTsKKwl1aW50NjRfdCBGaWx0ZXJMZW5ndGhZICAgICAgIDogMjsKKwl1aW50NjRf dCBGaWx0ZXJMZW5ndGhYICAgICAgIDogMjsKKwl1aW50NjRfdCBEZXRhaWxGbHRDbGFtcCAgICAg IDogNjsKKwl1aW50NjRfdCByZXNlcnZlZDkgICAgICAgICAgIDogMjsKKwl1aW50NjRfdCBMaWdo dExldmVsICAgICAgICAgIDogNDsKKwl1aW50NjRfdCByZXNlcnZlZDEwICAgICAgICAgIDogNDsK Kwl1aW50NjRfdCByZXNlcnZlZDExICAgICAgICAgIDogODsKKwl1aW50NjRfdCByZXNlcnZlZDEy ICAgICAgICAgIDogMzI7CisJdWludDY0X3QgQmxrS2luZCAgICAgICAgICAgICA6IDQ7CisJdWlu dDY0X3QgRGVzdFJlY3RMZWZ0ICAgICAgICA6IDE0OworCXVpbnQ2NF90IHJlc2VydmVkMTMgICAg ICAgICAgOiAxOworCXVpbnQ2NF90IERlc3RSZWN0UmlnaHQgICAgICAgOiAxNDsKKwl1aW50NjRf dCByZXNlcnZlZDE0ICAgICAgICAgIDogMTsKKwl1aW50NjRfdCBEZXN0UmVjdFRvcCAgICAgICAg IDogMTQ7CisJdWludDY0X3QgcmVzZXJ2ZWQxNSAgICAgICAgICA6IDE7CisJdWludDY0X3QgRGVz dFJlY3RCb3R0b20gICAgICA6IDE0OworCXVpbnQ2NF90IHJlc2VydmVkMTYgICAgICAgICAgOiAx OworCXVpbnQ2NF90IEJsa0hlaWdodCAgICAgICAgICAgOiA0OworCXVpbnQ2NF90IFNvdXJjZVJl Y3RMZWZ0ICAgICAgOiAzMDsKKwl1aW50NjRfdCByZXNlcnZlZDE3ICAgICAgICAgIDogMjsKKwl1 aW50NjRfdCBTb3VyY2VSZWN0UmlnaHQgICAgIDogMzA7CisJdWludDY0X3QgcmVzZXJ2ZWQxOCAg ICAgICAgICA6IDI7CisJdWludDY0X3QgU291cmNlUmVjdFRvcCAgICAgICA6IDMwOworCXVpbnQ2 NF90IHJlc2VydmVkMTkgICAgICAgICAgOiAyOworCXVpbnQ2NF90IFNvdXJjZVJlY3RCb3R0b20g ICAgOiAzMDsKKwl1aW50NjRfdCByZXNlcnZlZDIwICAgICAgICAgIDogMjsKK30gU3VyZmFjZUxp c3RTdXJmYWNlU3RydWN0OworCisKK3R5cGVkZWYgc3RydWN0IF9Db2xvckNvbnZlcnNpb25MdW1h QWxwaGFTdHJ1Y3QgeworCXVpbnQ2NF90IGwwICAgICAgICAgICAgICAgICAgOiAyMDsKKwl1aW50 NjRfdCBsMSAgICAgICAgICAgICAgICAgIDogMjA7CisJdWludDY0X3QgbDIgICAgICAgICAgICAg ICAgICA6IDIwOworCXVpbnQ2NF90IHJfc2hpZnQgICAgICAgICAgICAgOiA0OworCXVpbnQ2NF90 IGwzICAgICAgICAgICAgICAgICAgOiAyMDsKKwl1aW50NjRfdCBQbGFuYXJBbHBoYSAgICAgICAg IDogMTA7CisJdWludDY0X3QgQ29uc3RhbnRBbHBoYSAgICAgICA6IDE7CisJdWludDY0X3QgQ2xp cEVuYWJsZWQgICAgICAgICA6IDE7CisJdWludDY0X3QgTHVtYUtleUxvd2VyICAgICAgICA6IDEw OworCXVpbnQ2NF90IHJlc2VydmVkNiAgICAgICAgICAgOiAzOworCXVpbnQ2NF90IFN0ZXJlb0lu dGVybGVhdmUgICAgOiAzOworCXVpbnQ2NF90IEx1bWFLZXlVcHBlciAgICAgICAgOiAxMDsKKwl1 aW50NjRfdCByZXNlcnZlZDcgICAgICAgICAgIDogMjsKKwl1aW50NjRfdCByZXNlcnZlZDggICAg ICAgICAgIDogMTsKKwl1aW50NjRfdCBMdW1hS2V5RW5hYmxlZCAgICAgIDogMTsKKwl1aW50NjRf dCByZXNlcnZlZDkgICAgICAgICAgIDogMjsKK30gQ29sb3JDb252ZXJzaW9uTHVtYUFscGhhU3Ry dWN0OworCisKK3R5cGVkZWYgc3RydWN0IF9Db2xvckNvbnZlcnNpb25NYXRyaXhTdHJ1Y3Qgewor CXVpbnQ2NF90IGMwMCAgICAgICAgICAgICAgICAgOiAyMDsKKwl1aW50NjRfdCBjMTAgICAgICAg ICAgICAgICAgIDogMjA7CisJdWludDY0X3QgYzIwICAgICAgICAgICAgICAgICA6IDIwOworCXVp bnQ2NF90IHJfc2hpZnQgICAgICAgICAgICAgOiA0OworCXVpbnQ2NF90IGMwMSAgICAgICAgICAg ICAgICAgOiAyMDsKKwl1aW50NjRfdCBjMTEgICAgICAgICAgICAgICAgIDogMjA7CisJdWludDY0 X3QgYzIxICAgICAgICAgICAgICAgICA6IDIwOworCXVpbnQ2NF90IHJlc2VydmVkMCAgICAgICAg ICAgOiA0OworCXVpbnQ2NF90IGMwMiAgICAgICAgICAgICAgICAgOiAyMDsKKwl1aW50NjRfdCBj MTIgICAgICAgICAgICAgICAgIDogMjA7CisJdWludDY0X3QgYzIyICAgICAgICAgICAgICAgICA6 IDIwOworCXVpbnQ2NF90IHJlc2VydmVkMSAgICAgICAgICAgOiA0OworCXVpbnQ2NF90IGMwMyAg ICAgICAgICAgICAgICAgOiAyMDsKKwl1aW50NjRfdCBjMTMgICAgICAgICAgICAgICAgIDogMjA7 CisJdWludDY0X3QgYzIzICAgICAgICAgICAgICAgICA6IDIwOworCXVpbnQ2NF90IHJlc2VydmVk MiAgICAgICAgICAgOiA0OworfSBDb2xvckNvbnZlcnNpb25NYXRyaXhTdHJ1Y3Q7CisKKwordHlw ZWRlZiBzdHJ1Y3QgX0NvbG9yQ29udmVyc2lvbkNsYW1wU3RydWN0IHsKKwl1aW50NjRfdCBsb3cg ICAgICAgICAgICAgICAgIDogMTA7CisJdWludDY0X3QgcmVzZXJ2ZWQwICAgICAgICAgICA6IDY7 CisJdWludDY0X3QgaGlnaCAgICAgICAgICAgICAgICA6IDEwOworCXVpbnQ2NF90IHJlc2VydmVk MSAgICAgICAgICAgOiA2OworCXVpbnQ2NF90IHJlc2VydmVkMiAgICAgICAgICAgOiAzMjsKKwl1 aW50NjRfdCByZXNlcnZlZDMgICAgICAgICAgIDogMzI7CisJdWludDY0X3QgcmVzZXJ2ZWQ0ICAg ICAgICAgICA6IDMyOworfSBDb2xvckNvbnZlcnNpb25DbGFtcFN0cnVjdDsKKworCit0eXBlZGVm IHN0cnVjdCBfQmxlbmRpbmcwU3RydWN0IHsKKwl1aW50NjRfdCBQaXhlbEZvcm1hdCAgICAgICAg IDogNzsKKwl1aW50NjRfdCByZXNlcnZlZDAgICAgICAgICAgIDogMTsKKwl1aW50NjRfdCBBbHBo YUZpbGxNb2RlICAgICAgIDogMzsKKwl1aW50NjRfdCBBbHBoYUZpbGxTbG90ICAgICAgIDogMzsK Kwl1aW50NjRfdCBCYWNrZ3JvdW5kQWxwaGEgICAgIDogMTA7CisJdWludDY0X3QgQmFja2dyb3Vu ZFIgICAgICAgICA6IDEwOworCXVpbnQ2NF90IEJhY2tncm91bmRHICAgICAgICAgOiAxMDsKKwl1 aW50NjRfdCBCYWNrZ3JvdW5kQiAgICAgICAgIDogMTA7CisJdWludDY0X3QgQ2hyb21hTG9jSG9y aXogICAgICA6IDI7CisJdWludDY0X3QgQ2hyb21hTG9jVmVydCAgICAgICA6IDI7CisJdWludDY0 X3QgcmVzZXJ2ZWQxICAgICAgICAgICA6IDY7CisJdWludDY0X3QgTHVtYVdpZHRoICAgICAgICAg ICA6IDE0OworCXVpbnQ2NF90IHJlc2VydmVkMiAgICAgICAgICAgOiAyOworCXVpbnQ2NF90IEx1 bWFIZWlnaHQgICAgICAgICAgOiAxNDsKKwl1aW50NjRfdCByZXNlcnZlZDMgICAgICAgICAgIDog MjsKKwl1aW50NjRfdCBDaHJvbWFXaWR0aCAgICAgICAgIDogMTQ7CisJdWludDY0X3QgcmVzZXJ2 ZWQ0ICAgICAgICAgICA6IDI7CisJdWludDY0X3QgQ2hyb21hSGVpZ2h0ICAgICAgICA6IDE0Owor CXVpbnQ2NF90IHJlc2VydmVkNSAgICAgICAgICAgOiAyOworCXVpbnQ2NF90IFRhcmdldFJlY3RM ZWZ0ICAgICAgOiAxNDsKKwl1aW50NjRfdCByZXNlcnZlZDYgICAgICAgICAgIDogMjsKKwl1aW50 NjRfdCBUYXJnZXRSZWN0UmlnaHQgICAgIDogMTQ7CisJdWludDY0X3QgcmVzZXJ2ZWQ3ICAgICAg ICAgICA6IDI7CisJdWludDY0X3QgVGFyZ2V0UmVjdFRvcCAgICAgICA6IDE0OworCXVpbnQ2NF90 IHJlc2VydmVkOCAgICAgICAgICAgOiAyOworCXVpbnQ2NF90IFRhcmdldFJlY3RCb3R0b20gICAg OiAxNDsKKwl1aW50NjRfdCByZXNlcnZlZDkgICAgICAgICAgIDogMjsKKwl1aW50NjRfdCBTdXJm YWNlV2lkdGggICAgICAgIDogMTQ7CisJdWludDY0X3QgcmVzZXJ2ZWQxMCAgICAgICAgICA6IDI7 CisJdWludDY0X3QgU3VyZmFjZUhlaWdodCAgICAgICA6IDE0OworCXVpbnQ2NF90IHJlc2VydmVk MTEgICAgICAgICAgOiAyOworCXVpbnQ2NF90IEJsa0tpbmQgICAgICAgICAgICAgOiA0OworCXVp bnQ2NF90IEJsa0hlaWdodCAgICAgICAgICAgOiA0OworCXVpbnQ2NF90IE91dHB1dEZsaXBYICAg ICAgICAgOiAxOworCXVpbnQ2NF90IE91dHB1dEZsaXBZICAgICAgICAgOiAxOworCXVpbnQ2NF90 IE91dHB1dFRyYW5zcG9zZSAgICAgOiAxOworCXVpbnQ2NF90IHJlc2VydmVkMTIgICAgICAgICAg OiAyMTsKK30gQmxlbmRpbmcwU3RydWN0OworCisKK3R5cGVkZWYgc3RydWN0IF9CbGVuZGluZ1N1 cmZhY2VTdHJ1Y3QgeworCXVpbnQ2NF90IEFscGhhSzEgICAgICAgICAgICAgOiAxMDsKKwl1aW50 NjRfdCByZXNlcnZlZDAgICAgICAgICAgIDogNjsKKwl1aW50NjRfdCBBbHBoYUsyICAgICAgICAg ICAgIDogMTA7CisJdWludDY0X3QgcmVzZXJ2ZWQxICAgICAgICAgICA6IDY7CisJdWludDY0X3Qg U3JjRmFjdENNYXRjaFNlbGVjdCA6IDM7CisJdWludDY0X3QgcmVzZXJ2ZWQyICAgICAgICAgICA6 IDE7CisJdWludDY0X3QgRHN0RmFjdENNYXRjaFNlbGVjdCA6IDM7CisJdWludDY0X3QgcmVzZXJ2 ZWQzICAgICAgICAgICA6IDE7CisJdWludDY0X3QgU3JjRmFjdEFNYXRjaFNlbGVjdCA6IDM7CisJ dWludDY0X3QgcmVzZXJ2ZWQ0ICAgICAgICAgICA6IDE7CisJdWludDY0X3QgRHN0RmFjdEFNYXRj aFNlbGVjdCA6IDM7CisJdWludDY0X3QgcmVzZXJ2ZWQ1ICAgICAgICAgICA6IDE7CisJdWludDY0 X3QgcmVzZXJ2ZWQ2ICAgICAgICAgICA6IDQ7CisJdWludDY0X3QgcmVzZXJ2ZWQ3ICAgICAgICAg ICA6IDQ7CisJdWludDY0X3QgcmVzZXJ2ZWQ4ICAgICAgICAgICA6IDQ7CisJdWludDY0X3QgcmVz ZXJ2ZWQ5ICAgICAgICAgICA6IDQ7CisJdWludDY0X3QgcmVzZXJ2ZWQxMCAgICAgICAgICA6IDI7 CisJdWludDY0X3QgT3ZlcnJpZGVSICAgICAgICAgICA6IDEwOworCXVpbnQ2NF90IE92ZXJyaWRl RyAgICAgICAgICAgOiAxMDsKKwl1aW50NjRfdCBPdmVycmlkZUIgICAgICAgICAgIDogMTA7CisJ dWludDY0X3QgT3ZlcnJpZGVBICAgICAgICAgICA6IDEwOworCXVpbnQ2NF90IHJlc2VydmVkMTEg ICAgICAgICAgOiAyOworCXVpbnQ2NF90IFVzZU92ZXJyaWRlUiAgICAgICAgOiAxOworCXVpbnQ2 NF90IFVzZU92ZXJyaWRlRyAgICAgICAgOiAxOworCXVpbnQ2NF90IFVzZU92ZXJyaWRlQiAgICAg ICAgOiAxOworCXVpbnQ2NF90IFVzZU92ZXJyaWRlQSAgICAgICAgOiAxOworCXVpbnQ2NF90IE1h c2tSICAgICAgICAgICAgICAgOiAxOworCXVpbnQ2NF90IE1hc2tHICAgICAgICAgICAgICAgOiAx OworCXVpbnQ2NF90IE1hc2tCICAgICAgICAgICAgICAgOiAxOworCXVpbnQ2NF90IE1hc2tBICAg ICAgICAgICAgICAgOiAxOworCXVpbnQ2NF90IHJlc2VydmVkMTIgICAgICAgICAgOiAxMjsKK30g QmxlbmRpbmdTdXJmYWNlU3RydWN0OworCisKK3R5cGVkZWYgc3RydWN0IF9GZXRjaENvbnRyb2ww U3RydWN0IHsKKwl1aW50NjRfdCBUYXJnZXRSZWN0TGVmdCAgICAgIDogMTQ7CisJdWludDY0X3Qg cmVzZXJ2ZWQwICAgICAgICAgICA6IDI7CisJdWludDY0X3QgVGFyZ2V0UmVjdFJpZ2h0ICAgICA6 IDE0OworCXVpbnQ2NF90IHJlc2VydmVkMSAgICAgICAgICAgOiAyOworCXVpbnQ2NF90IFRhcmdl dFJlY3RUb3AgICAgICAgOiAxNDsKKwl1aW50NjRfdCByZXNlcnZlZDIgICAgICAgICAgIDogMjsK Kwl1aW50NjRfdCBUYXJnZXRSZWN0Qm90dG9tICAgIDogMTQ7CisJdWludDY0X3QgcmVzZXJ2ZWQz ICAgICAgICAgICA6IDI7CisJdWludDY0X3QgRW5hYmxlMCAgICAgICAgICAgICA6IDg7CisJdWlu dDY0X3QgRW5hYmxlMSAgICAgICAgICAgICA6IDg7CisJdWludDY0X3QgRW5hYmxlMiAgICAgICAg ICAgICA6IDg7CisJdWludDY0X3QgRW5hYmxlMyAgICAgICAgICAgICA6IDg7CisJdWludDY0X3Qg RW5hYmxlNCAgICAgICAgICAgICA6IDg7CisJdWludDY0X3QgRG93bnNhbXBsZUhvcml6ICAgICA6 IDExOworCXVpbnQ2NF90IHJlc2VydmVkNCAgICAgICAgICAgOiAxOworCXVpbnQ2NF90IERvd25z YW1wbGVWZXJ0ICAgICAgOiAxMTsKKwl1aW50NjRfdCByZXNlcnZlZDUgICAgICAgICAgIDogMTsK Kwl1aW50NjRfdCBGaWx0ZXJOb2lzZTAgICAgICAgIDogMTA7CisJdWludDY0X3QgRmlsdGVyRGV0 YWlsMCAgICAgICA6IDEwOworCXVpbnQ2NF90IEZpbHRlck5vaXNlMSAgICAgICAgOiAxMDsKKwl1 aW50NjRfdCByZXNlcnZlZDYgICAgICAgICAgIDogMjsKKwl1aW50NjRfdCBGaWx0ZXJEZXRhaWwx ICAgICAgIDogMTA7CisJdWludDY0X3QgRmlsdGVyTm9pc2UyICAgICAgICA6IDEwOworCXVpbnQ2 NF90IEZpbHRlckRldGFpbDIgICAgICAgOiAxMDsKKwl1aW50NjRfdCByZXNlcnZlZDcgICAgICAg ICAgIDogMjsKKwl1aW50NjRfdCBGaWx0ZXJOb2lzZTMgICAgICAgIDogMTA7CisJdWludDY0X3Qg RmlsdGVyRGV0YWlsMyAgICAgICA6IDEwOworCXVpbnQ2NF90IEZpbHRlck5vaXNlNCAgICAgICAg OiAxMDsKKwl1aW50NjRfdCByZXNlcnZlZDggICAgICAgICAgIDogMjsKKwl1aW50NjRfdCBGaWx0 ZXJEZXRhaWw0ICAgICAgIDogMTA7CisJdWludDY0X3QgcmVzZXJ2ZWQ5ICAgICAgICAgICA6IDIy OworCXVpbnQ2NF90IENocm9tYU5vaXNlMCAgICAgICAgOiAxMDsKKwl1aW50NjRfdCBDaHJvbWFE ZXRhaWwwICAgICAgIDogMTA7CisJdWludDY0X3QgQ2hyb21hTm9pc2UxICAgICAgICA6IDEwOwor CXVpbnQ2NF90IHJlc2VydmVkMTAgICAgICAgICAgOiAyOworCXVpbnQ2NF90IENocm9tYURldGFp bDEgICAgICAgOiAxMDsKKwl1aW50NjRfdCBDaHJvbWFOb2lzZTIgICAgICAgIDogMTA7CisJdWlu dDY0X3QgQ2hyb21hRGV0YWlsMiAgICAgICA6IDEwOworCXVpbnQ2NF90IHJlc2VydmVkMTEgICAg ICAgICAgOiAyOworCXVpbnQ2NF90IENocm9tYU5vaXNlMyAgICAgICAgOiAxMDsKKwl1aW50NjRf dCBDaHJvbWFEZXRhaWwzICAgICAgIDogMTA7CisJdWludDY0X3QgQ2hyb21hTm9pc2U0ICAgICAg ICA6IDEwOworCXVpbnQ2NF90IHJlc2VydmVkMTIgICAgICAgICAgOiAyOworCXVpbnQ2NF90IENo cm9tYURldGFpbDQgICAgICAgOiAxMDsKKwl1aW50NjRfdCByZXNlcnZlZDEzICAgICAgICAgIDog MjI7CisJdWludDY0X3QgTW9kZTAgICAgICAgICAgICAgICA6IDQ7CisJdWludDY0X3QgQWNjdW1X ZWlnaHQwICAgICAgICA6IDM7CisJdWludDY0X3QgSWlyMCAgICAgICAgICAgICAgICA6IDExOwor CXVpbnQ2NF90IHJlc2VydmVkMTQgICAgICAgICAgOiAyOworCXVpbnQ2NF90IE1vZGUxICAgICAg ICAgICAgICAgOiA0OworCXVpbnQ2NF90IEFjY3VtV2VpZ2h0MSAgICAgICAgOiAzOworCXVpbnQ2 NF90IElpcjEgICAgICAgICAgICAgICAgOiAxMTsKKwl1aW50NjRfdCByZXNlcnZlZDE1ICAgICAg ICAgIDogMjsKKwl1aW50NjRfdCBNb2RlMiAgICAgICAgICAgICAgIDogNDsKKwl1aW50NjRfdCBB Y2N1bVdlaWdodDIgICAgICAgIDogMzsKKwl1aW50NjRfdCBJaXIyICAgICAgICAgICAgICAgIDog MTE7CisJdWludDY0X3QgcmVzZXJ2ZWQxNiAgICAgICAgICA6IDY7CisJdWludDY0X3QgTW9kZTMg ICAgICAgICAgICAgICA6IDQ7CisJdWludDY0X3QgQWNjdW1XZWlnaHQzICAgICAgICA6IDM7CisJ dWludDY0X3QgSWlyMyAgICAgICAgICAgICAgICA6IDExOworCXVpbnQ2NF90IHJlc2VydmVkMTcg ICAgICAgICAgOiAyOworCXVpbnQ2NF90IE1vZGU0ICAgICAgICAgICAgICAgOiA0OworCXVpbnQ2 NF90IEFjY3VtV2VpZ2h0NCAgICAgICAgOiAzOworCXVpbnQ2NF90IElpcjQgICAgICAgICAgICAg ICAgOiAxMTsKKwl1aW50NjRfdCByZXNlcnZlZDE4ICAgICAgICAgIDogODsKKwl1aW50NjRfdCBP dXRwdXRGbGlwWCAgICAgICAgIDogMTsKKwl1aW50NjRfdCBPdXRwdXRGbGlwWSAgICAgICAgIDog MTsKKwl1aW50NjRfdCByZXNlcnZlZDE5ICAgICAgICAgIDogMTA7CisJdWludDY0X3QgcmVzZXJ2 ZWQyMCAgICAgICAgICA6IDY7Cit9IEZldGNoQ29udHJvbDBTdHJ1Y3Q7CisKKwordHlwZWRlZiBz dHJ1Y3QgX0ZldGNoQ29udHJvbENvZWZmU3RydWN0IHsKKwl1aW50NjRfdCBmMDAgICAgICAgICAg ICAgICAgIDogMTA7CisJdWludDY0X3QgZjEwICAgICAgICAgICAgICAgICA6IDEwOworCXVpbnQ2 NF90IGYyMCAgICAgICAgICAgICAgICAgOiAxMDsKKwl1aW50NjRfdCByZXNlcnZlZDAgICAgICAg ICAgIDogMjsKKwl1aW50NjRfdCBmMDEgICAgICAgICAgICAgICAgIDogMTA7CisJdWludDY0X3Qg ZjExICAgICAgICAgICAgICAgICA6IDEwOworCXVpbnQ2NF90IGYyMSAgICAgICAgICAgICAgICAg OiAxMDsKKwl1aW50NjRfdCByZXNlcnZlZDEgICAgICAgICAgIDogMjsKKwl1aW50NjRfdCBmMDIg ICAgICAgICAgICAgICAgIDogMTA7CisJdWludDY0X3QgZjEyICAgICAgICAgICAgICAgICA6IDEw OworCXVpbnQ2NF90IGYyMiAgICAgICAgICAgICAgICAgOiAxMDsKKwl1aW50NjRfdCByZXNlcnZl ZDIgICAgICAgICAgIDogMjsKKwl1aW50NjRfdCBmMDMgICAgICAgICAgICAgICAgIDogMTA7CisJ dWludDY0X3QgZjEzICAgICAgICAgICAgICAgICA6IDEwOworCXVpbnQ2NF90IGYyMyAgICAgICAg ICAgICAgICAgOiAxMDsKKwl1aW50NjRfdCByZXNlcnZlZDMgICAgICAgICAgIDogMjsKK30gRmV0 Y2hDb250cm9sQ29lZmZTdHJ1Y3Q7CisKK3R5cGVkZWYgc3RydWN0IF9Db25maWdTdHJ1Y3Qgewor CVN1cmZhY2VDYWNoZTBTdHJ1Y3QgICAgICAgICAgICAgICAgICBzdXJmYWNlQ2FjaGUwU3RydWN0 OworCVN1cmZhY2VMaXN0MFN0cnVjdCAgICAgICAgICAgICAgICAgICBzdXJmYWNlTGlzdDBTdHJ1 Y3Q7CisJU3VyZmFjZUxpc3RDbGVhclJlY3RTdHJ1Y3QgICAgICAgICAgIHN1cmZhY2VMaXN0Q2xl YXJSZWN0U3RydWN0WzRdOworCVN1cmZhY2VMaXN0U3VyZmFjZVN0cnVjdCAgICAgICAgICAgICBz dXJmYWNlTGlzdFN1cmZhY2VTdHJ1Y3RbNV07CisJQ29sb3JDb252ZXJzaW9uTHVtYUFscGhhU3Ry dWN0ICAgICAgIGNvbG9yQ29udmVyc2lvbkx1bWFBbHBoYVN0cnVjdFs1XTsKKwlDb2xvckNvbnZl cnNpb25NYXRyaXhTdHJ1Y3QgICAgICAgICAgY29sb3JDb252ZXJzaW9uTWF0cml4U3RydWN0WzVd OworCUNvbG9yQ29udmVyc2lvbkNsYW1wU3RydWN0ICAgICAgICAgICBjb2xvckNvbnZlcnNpb25D bGFtcFN0cnVjdFs1XTsKKwlCbGVuZGluZzBTdHJ1Y3QgICAgICAgICAgICAgICAgICAgICAgYmxl bmRpbmcwU3RydWN0OworCUJsZW5kaW5nU3VyZmFjZVN0cnVjdCAgICAgICAgICAgICAgICBibGVu ZGluZ1N1cmZhY2VTdHJ1Y3RbNV07CisJRmV0Y2hDb250cm9sMFN0cnVjdCAgICAgICAgICAgICAg ICAgIGZldGNoQ29udHJvbDBTdHJ1Y3Q7CisJRmV0Y2hDb250cm9sQ29lZmZTdHJ1Y3QgICAgICAg ICAgICAgIGZldGNoQ29udHJvbENvZWZmU3RydWN0WzUyMF07Cit9IENvbmZpZ1N0cnVjdDsKKwor I2VuZGlmCi0tIAoxLjguMS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Ry aS1kZXZlbAo=