From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patchwork Subject: =?utf-8?q?=E2=9C=97_Fi=2ECI=2ECHECKPATCH=3A_warning_f?= =?utf-8?q?or_i915_vgpu_PV_to_improve_vgpu_performance?= Date: Tue, 17 Sep 2019 06:12:53 -0000 Message-ID: <20190917061253.578.54686@emeril.freedesktop.org> References: <1568699301-2799-1-git-send-email-xiaolin.zhang@intel.com> Reply-To: intel-gfx@lists.freedesktop.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1568699301-2799-1-git-send-email-xiaolin.zhang@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Xiaolin Zhang Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org PT0gU2VyaWVzIERldGFpbHMgPT0KClNlcmllczogaTkxNSB2Z3B1IFBWIHRvIGltcHJvdmUgdmdw dSBwZXJmb3JtYW5jZQpVUkwgICA6IGh0dHBzOi8vcGF0Y2h3b3JrLmZyZWVkZXNrdG9wLm9yZy9z ZXJpZXMvNjY3ODcvClN0YXRlIDogd2FybmluZwoKPT0gU3VtbWFyeSA9PQoKJCBkaW0gY2hlY2tw YXRjaCBvcmlnaW4vZHJtLXRpcAoxNmExY2Q1Y2Y5NjUgZHJtL2k5MTU6IGludHJvZHVjZWQgdmdw dSBwdiBjYXBhYmlsaXR5Ci06MTI1OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTI1OiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X3ZncHUuYzozMjU6Citib29sIGludGVsX3ZncHVfY2hlY2tfcHZfY2Fw cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCXZvaWQgX19pb21lbSAqc2hh cmVkX2FyZWEpCgotOjE2MzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQg c2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE2MzogRklMRTogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92Z3B1Lmg6NTc6Citib29sIGludGVsX3ZncHVfY2hlY2tfcHZfY2FwcyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCXZvaWQgX19pb21lbSAqc2hhcmVkX2Fy ZWEpOwoKdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5pbmdzLCAyIGNoZWNrcywgMTA3IGxpbmVzIGNo ZWNrZWQKYTE3NmY4MmE4ZmNkIGRybS9pOTE1OiB2Z3B1IHNoYXJlZCBtZW1vcnkgc2V0dXAgZm9y IHB2IG9wdGltaXphdGlvbgotOjExNDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGln bm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzExNDogRklMRTogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzI5Ogorc3RhdGljIGludCBpbnRlbF92Z3B1X3NldHVw X3NoYXJlZF9wYWdlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJdm9pZCBf X2lvbWVtICpzaGFyZWRfYXJlYSkKCi06MTcyOiBDSEVDSzpBTExPQ19TSVpFT0ZfU1RSVUNUOiBQ cmVmZXIga3phbGxvYyhzaXplb2YoKnB2KS4uLikgb3ZlciBremFsbG9jKHNpemVvZihzdHJ1Y3Qg aTkxNV92aXJ0dWFsX2dwdV9wdikuLi4pCiMxNzI6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfdmdwdS5jOjM4NzoKKwlwdiA9IGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBpOTE1X3ZpcnR1 YWxfZ3B1X3B2KSwgR0ZQX0tFUk5FTCk7Cgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3MsIDIg Y2hlY2tzLCAxNzIgbGluZXMgY2hlY2tlZAphZmQ0MGQyYmEzYzEgZHJtL2k5MTU6IHZncHUgcHYg Y29tbWFuZCBidWZmZXIgc3VwcG9ydAotOjUxOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6 IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNTE6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjM0MjoKK3N0YXRpYyBpbnQgd2FpdF9mb3JfZGVz Y191cGRhdGUoc3RydWN0IHZncHVfcHZfY3RfYnVmZmVyX2Rlc2MgKmRlc2MsCisJCXUzMiBmZW5j ZSwgdTMyICpzdGF0dXMpCgotOjYzOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNjM6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfdmdwdS5jOjM1NDoKKwkJRFJNX0VSUk9SKCJDVDogZmVuY2UgJXUgZmFp bGVkOyByZXBvcnRlZCBmZW5jZT0ldVxuIiwKKwkJCQlmZW5jZSwgZGVzYy0+ZmVuY2UpOwoKLTo4 ODogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9w ZW4gcGFyZW50aGVzaXMKIzg4OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUu YzozNzk6CitzdGF0aWMgaW50IHB2X2NvbW1hbmRfYnVmZmVyX3dyaXRlKHN0cnVjdCBpOTE1X3Zp cnR1YWxfZ3B1X3B2ICpwdiwKKwkJY29uc3QgdTMyICphY3Rpb24sIHUzMiBsZW4gLyogaW4gZHdv cmRzICovLCB1MzIgZmVuY2UpCgotOjE1MTogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBB bGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE1MTogRklMRTogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6NDQyOgorc3RhdGljIGludCBwdl9zZW5kKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJY29uc3QgdTMyICphY3Rpb24sIHUzMiBs ZW4sIHUzMiAqc3RhdHVzKQoKLToxODY6IENIRUNLOk9QRU5fRU5ERURfTElORTogTGluZXMgc2hv dWxkIG5vdCBlbmQgd2l0aCBhICcoJwojMTg2OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3ZncHUuYzo0Nzc6CitzdGF0aWMgaW50IGludGVsX3ZncHVfcHZfc2VuZF9jb21tYW5kX2J1 ZmZlcigKCi06MjAzOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91 bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjAzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3ZncHUuYzo0OTQ6CisJCURSTV9FUlJPUigiUFY6IHNlbmQgYWN0aW9uICUjeCByZXR1 cm5lZCAlZCAoJSN4KVxuIiwKKwkJCQlhY3Rpb25bMF0sIHJldCwgcmV0KTsKCi06MjI2OiBDSEVD SzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICcvJyAoY3R4OlZ4VikKIzIy NjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6NTgyOgorCXB2LT5jdGIu ZGVzYy0+c2l6ZSA9IFBBR0VfU0laRS8yOwogCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IF4KCi06MjQ1OiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVkIGFyb3VuZCB0aGF0ICcv JyAoY3R4OlZ4VikKIzI0NTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1Lmg6 MzI6CisjZGVmaW5lIFBWX0RFU0NfT0ZGCQkoUEFHRV9TSVpFLzQpCiAgICAgICAgICAgICAgICAg ICAgCQkgICAgICAgICAgXgoKLToyNDY6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQg YXJvdW5kIHRoYXQgJy8nIChjdHg6VnhWKQojMjQ2OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3ZncHUuaDozMzoKKyNkZWZpbmUgUFZfQ01EX09GRgkJKFBBR0VfU0laRS8yKQogICAg ICAgICAgICAgICAgICAgCQkgICAgICAgICAgXgoKLTozMjM6IENIRUNLOlBBUkVOVEhFU0lTX0FM SUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMzMjM6IEZJ TEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oOjEzMToKK2ludGVsX3ZncHVfcHZf c2VuZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCXUzMiAqYWN0aW9uLCB1 MzIgbGVuKQoKdG90YWw6IDAgZXJyb3JzLCAwIHdhcm5pbmdzLCAxMCBjaGVja3MsIDI5OSBsaW5l cyBjaGVja2VkCjczODYyMjcxYjM3ZSBkcm0vaTkxNTogdmdwdSBwcGd0dCB1cGRhdGUgcHYgb3B0 aW1pemF0aW9uCi06NDI6IENIRUNLOkxPR0lDQUxfQ09OVElOVUFUSU9OUzogTG9naWNhbCBjb250 aW51YXRpb25zIHNob3VsZCBiZSBvbiB0aGUgcHJldmlvdXMgbGluZQojNDI6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmM6MTMxMzoKKwlpZiAoKGludGVsX3ZncHVfYWN0aXZl KGRldl9wcml2KSAmJiAhaW50ZWxfdmdwdV9oYXNfaHVnZV9ndHQoZGV2X3ByaXYpKQorCQl8fCBp bnRlbF92Z3B1X2VuYWJsZWRfcHZfY2FwcyhkZXZfcHJpdiwgUFZfUFBHVFRfVVBEQVRFKSkKCi06 NTY6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBv cGVuIHBhcmVudGhlc2lzCiM1NjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmM6MTAxOToKK3ZvaWQgZ2VuOF9wcGd0dF9jbGVhcihzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSwKIAkJCSAgICAgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo2NTogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzY1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxMTMwOgor aW50IGdlbjhfcHBndHRfYWxsb2Moc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkg ICAgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLTo3NDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05N RU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzc0OiBGSUxFOiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYzoxMzMwOgordm9pZCBnZW44X3BwZ3R0 X2luc2VydChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCSAgICAgIHN0cnVjdCBp OTE1X3ZtYSAqdm1hLAoKLTo5ODogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1l bnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzk4OiBGSUxFOiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuaDo1OTI6Cit2b2lkIGdlbjhfcHBndHRfY2xlYXIoc3RydWN0 IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCisJCXU2NCBzdGFydCwgdTY0IGxlbmd0aCk7CgotOjEw MDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9w ZW4gcGFyZW50aGVzaXMKIzEwMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0Lmg6NTk0Ogordm9pZCBnZW44X3BwZ3R0X2luc2VydChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSwKKwkJc3RydWN0IGk5MTVfdm1hICp2bWEsCgotOjEwMzogQ0hFQ0s6UEFSRU5USEVT SVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzEw MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0Lmg6NTk3OgoraW50IGdl bjhfcHBndHRfYWxsb2Moc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCisJCXU2NCBzdGFy dCwgdTY0IGxlbmd0aCk7CgotOjEyNzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGln bm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzEyNzogRklMRTogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzI5Ogorc3RhdGljIGludCB2Z3B1X3BwZ3R0X3B2X3Vw ZGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCXUzMiBhY3Rpb24sIHU2 NCBwZHAsIHU2NCBzdGFydCwgdTY0IGxlbmd0aCwgdTMyIGNhY2hlX2xldmVsKQoKLToxNDQ6IENI RUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBh cmVudGhlc2lzCiMxNDQ6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjM0 NjoKK3N0YXRpYyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfNGx2bF9wdihzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSwKKwkJdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoKQoKLToxNTE6IENIRUNLOlBB UkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhl c2lzCiMxNTE6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjM1MzoKKwl2 Z3B1X3BwZ3R0X3B2X3VwZGF0ZShkZXZfcHJpdiwgUFZfQUNUSU9OX1BQR1RUX0w0X0NMRUFSLAor CQlweF9kbWEocHBndHQtPnBkKSwgc3RhcnQsIGxlbmd0aCwgMCk7CgotOjE1NTogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzE1NTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzU3Ogorc3Rh dGljIHZvaWQgZ2VuOF9wcGd0dF9pbnNlcnRfNGx2bF9wdihzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlICp2bSwKKwkJc3RydWN0IGk5MTVfdm1hICp2bWEsCgotOjE2NTogQ0hFQ0s6UEFSRU5USEVT SVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE2 NTogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6MzY3OgorCXZncHVfcHBn dHRfcHZfdXBkYXRlKGRldl9wcml2LCBQVl9BQ1RJT05fUFBHVFRfTDRfSU5TRVJULAorCQlweF9k bWEocHBndHQtPnBkKSwgc3RhcnQsIGxlbmd0aCwgY2FjaGVfbGV2ZWwpOwoKLToxNjk6IENIRUNL OlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVu dGhlc2lzCiMxNjk6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jOjM3MToK K3N0YXRpYyBpbnQgZ2VuOF9wcGd0dF9hbGxvY180bHZsX3B2KHN0cnVjdCBpOTE1X2FkZHJlc3Nf c3BhY2UgKnZtLAorCQl1NjQgc3RhcnQsIHU2NCBsZW5ndGgpCgotOjE4NzogQ0hFQ0s6UEFSRU5U SEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMK IzE4NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmM6Mzg5Ogordm9pZCBp bnRlbF92Z3B1X2NvbmZpZ19wdl9jYXBzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKKwkJZW51bSBwdl9jYXBzIGNhcCwgdm9pZCAqZGF0YSkKCi06MjM3OiBDSEVDSzpQQVJFTlRI RVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwoj MjM3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaDoxNDA6CitpbnRlbF92 Z3B1X2VuYWJsZWRfcHZfY2FwcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJ CWVudW0gcHZfY2FwcyBjYXApCgotOjI0MDogQ0hFQ0s6TE9HSUNBTF9DT05USU5VQVRJT05TOiBM b2dpY2FsIGNvbnRpbnVhdGlvbnMgc2hvdWxkIGJlIG9uIHRoZSBwcmV2aW91cyBsaW5lCiMyNDA6 IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oOjE0MzoKKwlyZXR1cm4gKGRl dl9wcml2LT52Z3B1LmFjdGl2ZSkgJiYgaW50ZWxfdmdwdV9oYXNfcHZfY2FwcyhkZXZfcHJpdikK KwkJCSYmIChkZXZfcHJpdi0+dmdwdS5wdl9jYXBzICYgY2FwKTsKCi06MjUxOiBDSEVDSzpQQVJF TlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNp cwojMjUxOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaDoxNjY6Cit2b2lk IGludGVsX3ZncHVfY29uZmlnX3B2X2NhcHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAorCQllbnVtIHB2X2NhcHMgY2FwLCB2b2lkICpkYXRhKTsKCnRvdGFsOiAwIGVycm9ycywg MCB3YXJuaW5ncywgMTcgY2hlY2tzLCAxOTAgbGluZXMgY2hlY2tlZAoyYzNkYzA4OTg4YjcgZHJt L2k5MTU6IHZncHUgY29udGV4dCBzdWJtaXNzaW9uIHB2IG9wdGltaXphdGlvbgotOjEzNjogQ0hF Q0s6U1BBQ0lORzogc3BhY2VzIHByZWZlcnJlZCBhcm91bmQgdGhhdCAnLycgKGN0eDpWeFYpCiMx MzY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oOjMzOgorI2RlZmluZSBQ Vl9FTFNQX09GRgkJKFBBR0VfU0laRS84KQogICAgICAgICAgICAgICAgICAgIAkJICAgICAgICAg IF4KCi06MTY0OiBDSEVDSzpVTkNPTU1FTlRFRF9ERUZJTklUSU9OOiBzcGlubG9ja190IGRlZmlu aXRpb24gd2l0aG91dCBjb21tZW50CiMxNjQ6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfdmdwdS5oOjY3OgorCXNwaW5sb2NrX3QgbG9jazsKCi06MTg3OiBXQVJOSU5HOkZJTEVfUEFU SF9DSEFOR0VTOiBhZGRlZCwgbW92ZWQgb3IgZGVsZXRlZCBmaWxlKHMpLCBkb2VzIE1BSU5UQUlO RVJTIG5lZWQgdXBkYXRpbmc/CiMxODc6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKLToyMjA6IENI RUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBh cmVudGhlc2lzCiMyMjA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3B2X3N1Ym1p c3Npb24uYzoyOToKK3N0YXRpYyB2b2lkIHB2X3N1Ym1pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUsCisJICAgICAgIHN0cnVjdCBpOTE1X3JlcXVlc3QgKipvdXQsCgotOjI0OTogQ0hF Q0s6QlJBQ0VTOiBCbGFuayBsaW5lcyBhcmVuJ3QgbmVjZXNzYXJ5IGJlZm9yZSBhIGNsb3NlIGJy YWNlICd9JwojMjQ5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wdl9zdWJtaXNz aW9uLmM6NTg6CisKK30KCi06MjkzOiBDSEVDSzpMSU5FX1NQQUNJTkc6IFBsZWFzZSBkb24ndCB1 c2UgbXVsdGlwbGUgYmxhbmsgbGluZXMKIzI5MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcHZfc3VibWlzc2lvbi5jOjEwMjoKKworCgotOjQ4MTogQ0hFQ0s6TVVMVElQTEVfQVNT SUdOTUVOVFM6IG11bHRpcGxlIGFzc2lnbm1lbnRzIHNob3VsZCBiZSBhdm9pZGVkCiM0ODE6IEZJ TEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3B2X3N1Ym1pc3Npb24uYzoyOTA6CisJZW5n aW5lLT5wYXJrID0gZW5naW5lLT51bnBhcmsgPSBOVUxMOwoKdG90YWw6IDAgZXJyb3JzLCAxIHdh cm5pbmdzLCA2IGNoZWNrcywgNDIzIGxpbmVzIGNoZWNrZWQKNWRjNTA3M2JkMWRjIGRybS9pOTE1 L2d2dDogR1ZUZyBoYW5kbGUgcHZfY2FwcyBQVklORk8gcmVnaXN0ZXIKNDZlZjE2N2ZlYzlmIGRy bS9pOTE1L2d2dDogR1ZUZyBoYW5kbGUgc2hhcmVkX3BhZ2Ugc2V0dXAKLTo1MTogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzUxOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3Z0Lmg6Njk3OgoraW50IGlu dGVsX2d2dF9yZWFkX3NoYXJlZF9wYWdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAorCQl1bnNp Z25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYsIHVuc2lnbmVkIGxvbmcgbGVuKTsKCi06NTM6IENI RUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBh cmVudGhlc2lzCiM1MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d2dC5oOjY5OToK K2ludCBpbnRlbF9ndnRfd3JpdGVfc2hhcmVkX3BhZ2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUs CisJCXVuc2lnbmVkIGludCBvZmZzZXQsIHZvaWQgKmJ1ZiwgdW5zaWduZWQgbG9uZyBsZW4pOwoK LToxMzE6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRj aCBvcGVuIHBhcmVudGhlc2lzCiMxMzE6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC92 Z3B1LmM6NjAxOgoraW50IGludGVsX2d2dF9yZWFkX3NoYXJlZF9wYWdlKHN0cnVjdCBpbnRlbF92 Z3B1ICp2Z3B1LAorCQl1bnNpZ25lZCBpbnQgb2Zmc2V0LCB2b2lkICpidWYsIHVuc2lnbmVkIGxv bmcgbGVuKQoKLToxNTA6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNo b3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxNTA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC92Z3B1LmM6NjIwOgoraW50IGludGVsX2d2dF93cml0ZV9zaGFyZWRfcGFnZShzdHJ1 Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJdW5zaWduZWQgaW50IG9mZnNldCwgdm9pZCAqYnVmLCB1 bnNpZ25lZCBsb25nIGxlbikKCnRvdGFsOiAwIGVycm9ycywgMCB3YXJuaW5ncywgNCBjaGVja3Ms IDEyMiBsaW5lcyBjaGVja2VkCmFjMDUzOTFhYzBiMSBkcm0vaTkxNS9ndnQ6IEdWVGcgc3VwcG9y dCBwcGd0dCBwdiBvcHRpbWl6YXRpb24KLTo4MzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5U OiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzgzOiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MTgzNjoKKwkJZ3Z0X3ZncHVfZXJyKCJmYWlsIHRv IGNyZWF0ZSBwcGd0dCBmb3IgcGRwIDB4JWxseFxuIiwKKwkJCQlweF9kbWEobW0tPnBwZ3R0LT5w ZCkpOwoKLToxMjI6IENIRUNLOk1BQ1JPX0FSR19SRVVTRTogTWFjcm8gYXJndW1lbnQgcmV1c2Ug J2VuZCcgLSBwb3NzaWJsZSBzaWRlLWVmZmVjdHM/CiMxMjI6IEZJTEU6IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d2dC9ndHQuYzoyODg2OgorI2RlZmluZSBwbWw0X2FkZHJfZW5kKGFkZHIsIGVuZCkJ CQkJCVwKKyh7CXVuc2lnbmVkIGxvbmcgX19ib3VuZGFyeSA9IFwKKwkJCSgoYWRkcikgKyBHRU44 X1BNTDRFX1NJWkUpICYgR0VOOF9QTUw0RV9TSVpFX01BU0s7IFwKKwkoX19ib3VuZGFyeSA8IChl bmQpKSA/IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwKK30pCgotOjEyODogQ0hFQ0s6TUFDUk9fQVJH X1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVzZSAnZW5kJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0 cz8KIzEyODogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI4OTI6CisjZGVm aW5lIHBkcF9hZGRyX2VuZChhZGRyLCBlbmQpCQkJCQkJXAorKHsJdW5zaWduZWQgbG9uZyBfX2Jv dW5kYXJ5ID0gXAorCQkJKChhZGRyKSArIEdFTjhfUERQRV9TSVpFKSAmIEdFTjhfUERQRV9TSVpF X01BU0s7IFwKKwkoX19ib3VuZGFyeSA8IChlbmQpKSA/IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwK K30pCgotOjEzNDogQ0hFQ0s6TUFDUk9fQVJHX1JFVVNFOiBNYWNybyBhcmd1bWVudCByZXVzZSAn ZW5kJyAtIHBvc3NpYmxlIHNpZGUtZWZmZWN0cz8KIzEzNDogRklMRTogZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3Z0L2d0dC5jOjI4OTg6CisjZGVmaW5lIHBkX2FkZHJfZW5kKGFkZHIsIGVuZCkJCQkJ CQlcCisoewl1bnNpZ25lZCBsb25nIF9fYm91bmRhcnkgPSBcCisJCQkoKGFkZHIpICsgR0VOOF9Q REVfU0laRSkgJiBHRU44X1BERV9TSVpFX01BU0s7CVwKKwkoX19ib3VuZGFyeSA8IChlbmQpKSA/ IF9fYm91bmRhcnkgOiAoZW5kKTsJCVwKK30pCgotOjE0NzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJ R05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE0NzogRklM RTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5MTE6CitzdGF0aWMgaW50IHdhbGtf cHRfcmFuZ2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHU2NCBwdCwKKwkJCQl1NjQgc3RhcnQs IHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxrKQoKLToxNjA6IENIRUNLOlBBUkVOVEhF U0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMx NjA6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzoyOTI0OgorCXJldCA9IGlu dGVsX2d2dF9oeXBlcnZpc29yX3JlYWRfZ3BhKHZncHUsCisJCShwdCAmIFBBR0VfTUFTSykgKyAo c3RhcnRfaW5kZXggPDwgaW5mby0+Z3R0X2VudHJ5X3NpemVfc2hpZnQpLAoKLToxODE6IENIRUNL OkxJTkVfU1BBQ0lORzogUGxlYXNlIGRvbid0IHVzZSBtdWx0aXBsZSBibGFuayBsaW5lcwojMTgx OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6Mjk0NToKKworCgotOjE4Mzog Q0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4g cGFyZW50aGVzaXMKIzE4MzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5 NDc6CitzdGF0aWMgaW50IHdhbGtfcGRfcmFuZ2Uoc3RydWN0IGludGVsX3ZncHUgKnZncHUsIHU2 NCBwZCwKKwkJCQl1NjQgc3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxrKQoK LToxOTU6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRj aCBvcGVuIHBhcmVudGhlc2lzCiMxOTU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9n dHQuYzoyOTU5OgorCQlyZXQgPSBpbnRlbF9ndnRfaHlwZXJ2aXNvcl9yZWFkX2dwYSh2Z3B1LAor CQkJKHBkICYgUEFHRV9NQVNLKSArIChpbmRleCA8PAoKLToyMDg6IENIRUNLOkxJTkVfU1BBQ0lO RzogUGxlYXNlIGRvbid0IHVzZSBtdWx0aXBsZSBibGFuayBsaW5lcwojMjA4OiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6Mjk3MjoKKworCgotOjIxMDogQ0hFQ0s6UEFSRU5U SEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMK IzIxMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjI5NzQ6CitzdGF0aWMg aW50IHdhbGtfcGRwX3JhbmdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LCB1NjQgcGRwLAorCQkJ CSAgdTY0IHN0YXJ0LCB1NjQgZW5kLCBzdHJ1Y3QgcHBndHRfd2FsayAqd2FsaykKCi06MjIyOiBD SEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBw YXJlbnRoZXNpcwojMjIyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6Mjk4 NjoKKwkJcmV0ID0gaW50ZWxfZ3Z0X2h5cGVydmlzb3JfcmVhZF9ncGEodmdwdSwKKwkJCShwZHAg JiBQQUdFX01BU0spICsgKGluZGV4IDw8CgotOjIzNDogQ0hFQ0s6TElORV9TUEFDSU5HOiBQbGVh c2UgZG9uJ3QgdXNlIG11bHRpcGxlIGJsYW5rIGxpbmVzCiMyMzQ6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9ndHQuYzoyOTk4OgorCisKCi06MjM2OiBDSEVDSzpQQVJFTlRIRVNJU19B TElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjM2OiBG SUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0LmM6MzAwMDoKK3N0YXRpYyBpbnQgd2Fs a19wbWw0X3JhbmdlKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LCB1NjQgcG1sNCwKKwkJCQl1NjQg c3RhcnQsIHU2NCBlbmQsIHN0cnVjdCBwcGd0dF93YWxrICp3YWxrKQoKLToyNDc6IENIRUNLOlBB UkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhl c2lzCiMyNDc6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndHQuYzozMDExOgorCQly ZXQgPSBpbnRlbF9ndnRfaHlwZXJ2aXNvcl9yZWFkX2dwYSh2Z3B1LAorCQkJKHBtbDQgJiBQQUdF X01BU0spICsgKGluZGV4IDw8CgotOjI2MDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBB bGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI2MDogRklMRTogZHJpdmVy cy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjMwMjQ6CitzdGF0aWMgaW50IGludGVsX3ZncHVfcHZf cHBndHRfaW5zZXJ0XzRsdmwoc3RydWN0IGludGVsX3ZncHUgKnZncHUsCisJCXN0cnVjdCBpbnRl bF92Z3B1X21tICptbSwKCi06Mjc4OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjc4OiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9ndnQvZ3R0LmM6MzA0MjoKKwl3YWxrLm1mbnMgPSBrbWFsbG9jX2FycmF5KG51 bV9wYWdlcywKKwkJCXNpemVvZih1bnNpZ25lZCBsb25nKSwgR0ZQX0tFUk5FTCk7CgotOjMyMzog Q0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4g cGFyZW50aGVzaXMKIzMyMzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2d0dC5jOjMw ODc6CitpbnQgaW50ZWxfdmdwdV9oYW5kbGVfcHZfcHBndHRfdXBkYXRlKHN0cnVjdCBpbnRlbF92 Z3B1ICp2Z3B1LAorCQl1MzIgYWN0aW9uLCBzdHJ1Y3QgcHZfcHBndHRfdXBkYXRlICpwdl9wcGd0 dCkKCi06MzU1OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQg bWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMzU1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvZ3R0LmM6MzExOToKKwkJcmV0ID0gaW50ZWxfdmdwdV9wdl9wcGd0dF9pbnNlcnRfNGx2bCh2 Z3B1LCBtbSwKKwkJCQlwZHAsIHN0YXJ0LCBsZW5ndGgsIGNhY2hlX2xldmVsKTsKCi06Mzk0OiBD SEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBw YXJlbnRoZXNpcwojMzk0OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZ3R0Lmg6Mjkx OgoraW50IGludGVsX3ZncHVfaGFuZGxlX3B2X3BwZ3R0X3VwZGF0ZShzdHJ1Y3QgaW50ZWxfdmdw dSAqdmdwdSwKKwkJdTMyIGFjdGlvbiwgc3RydWN0IHB2X3BwZ3R0X3VwZGF0ZSAqcHZfcHBndHQp OwoKLTo0MDQ6IENIRUNLOk1BQ1JPX0FSR19SRVVTRTogTWFjcm8gYXJndW1lbnQgcmV1c2UgJ3Zn cHUnIC0gcG9zc2libGUgc2lkZS1lZmZlY3RzPwojNDA0OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvZ3Z0Lmg6NTY6CisjZGVmaW5lIFZHUFVfUFZDQVAodmdwdSwgY2FwKQlcCisJKCh2 Z3B1X3ZyZWdfdCh2Z3B1LCB2Z3RpZl9yZWcocHZfY2FwcykpICYgKGNhcCkpIFwKKwkJCSYmIHZn cHUtPnNoYXJlZF9wYWdlX2VuYWJsZWQpCgotOjQwNjogQ0hFQ0s6TE9HSUNBTF9DT05USU5VQVRJ T05TOiBMb2dpY2FsIGNvbnRpbnVhdGlvbnMgc2hvdWxkIGJlIG9uIHRoZSBwcmV2aW91cyBsaW5l CiM0MDY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9ndnQuaDo1ODoKKwkoKHZncHVf dnJlZ190KHZncHUsIHZndGlmX3JlZyhwdl9jYXBzKSkgJiAoY2FwKSkgXAorCQkJJiYgdmdwdS0+ c2hhcmVkX3BhZ2VfZW5hYmxlZCkKCi06NDMwOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6 IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojNDMwOiBGSUxFOiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYzoxMjIzOgorc3RhdGljIGludCBmZXRjaF9w dl9jb21tYW5kX2J1ZmZlcihzdHJ1Y3QgaW50ZWxfdmdwdSAqdmdwdSwKKwkJc3RydWN0IHZncHVf cHZfY3RfYnVmZmVyX2Rlc2MgKmRlc2MsCgotOjQ1MTogQ0hFQ0s6U1BBQ0lORzogc3BhY2VzIHBy ZWZlcnJlZCBhcm91bmQgdGhhdCAnLycgKGN0eDpWeFYpCiM0NTE6IEZJTEU6IGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2d2dC9oYW5kbGVycy5jOjEyNDQ6CisJaGVhZCA9IGRlc2MtPmhlYWQvNDsKIAkg ICAgICAgICAgICAgICAgIF4KCi06NDUyOiBDSEVDSzpTUEFDSU5HOiBzcGFjZXMgcHJlZmVycmVk IGFyb3VuZCB0aGF0ICcvJyAoY3R4OlZ4VikKIzQ1MjogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3Z0L2hhbmRsZXJzLmM6MTI0NToKKwl0YWlsID0gZGVzYy0+dGFpbC80OwogCSAgICAgICAg ICAgICAgICAgXgoKLTo0NTM6IENIRUNLOlNQQUNJTkc6IHNwYWNlcyBwcmVmZXJyZWQgYXJvdW5k IHRoYXQgJy8nIChjdHg6VnhWKQojNDUzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQv aGFuZGxlcnMuYzoxMjQ2OgorCXNpemUgPSBkZXNjLT5zaXplLzQ7CiAJICAgICAgICAgICAgICAg ICBeCgotOjQ5NzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxk IG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzQ5NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3Z0L2hhbmRsZXJzLmM6MTI5MDoKKwkJcmV0ID0gaW50ZWxfZ3Z0X3JlYWRfc2hhcmVkX3BhZ2Uo dmdwdSwgb2ZmLCAmZGF0YVthdmFpbF0sCisJCQkJKGxlbiAtIGF2YWlsKSAqIDQpOwoKLTo1MzY6 IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVu IHBhcmVudGhlc2lzCiM1MzY6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9oYW5kbGVy cy5jOjEzMjk6CisJcmV0ID0gaW50ZWxfZ3Z0X3dyaXRlX3NoYXJlZF9wYWdlKHZncHUsIFBWX0RF U0NfT0ZGLAorCQkJJmRlc2MsIHNpemVvZihkZXNjKSk7Cgp0b3RhbDogMCBlcnJvcnMsIDAgd2Fy bmluZ3MsIDI4IGNoZWNrcywgNTIxIGxpbmVzIGNoZWNrZWQKMDcwYjdhNDI0OGM5IGRybS9pOTE1 L2d2dDogR1ZUZyBzdXBwb3J0IGNvbnRleHQgc3VibWlzc2lvbiBwdiBvcHRpbWl6YXRpb24KLTo3 MjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9w ZW4gcGFyZW50aGVzaXMKIzcyOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxl cnMuYzoxODI2OgorCWlmIChpbnRlbF9ndnRfcmVhZF9zaGFyZWRfcGFnZSh2Z3B1LCBkZXNjX29m ZiwKKwkJCSZleGVjbGlzdC0+ZWxzcF9kd29yZHMuZGF0YSwgMTYpKQoKLTo5MzogQ0hFQ0s6UEFS RU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVz aXMKIzkzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvaGFuZGxlcnMuYzoxODUwOgor CWlmIChWR1BVX1BWQ0FQKHZncHUsIFBWX1NVQk1JU1NJT04pICYmCisJCQlkYXRhID09IFBWX0FD VElPTl9FTFNQX1NVQk1JU1NJT04pCgp0b3RhbDogMCBlcnJvcnMsIDAgd2FybmluZ3MsIDIgY2hl Y2tzLCA2OSBsaW5lcyBjaGVja2VkCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZng=