From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v5 01/17] drm: add HDMI 2.0 VIC support for AVI info-frames Date: Tue, 4 Jul 2017 19:41:48 +0530 Message-ID: <1499177524-26292-2-git-send-email-shashank.sharma@intel.com> References: <1499177524-26292-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1499177524-26292-1-git-send-email-shashank.sharma@intel.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, intel-gfx@lists.freedesktop.org Cc: Jose Abreu , Andrzej Hajda , Alex Deucher , Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org SERNSSAxLjRiIHN1cHBvcnQgdGhlIENFQSB2aWRlbyBtb2RlcyBhcyBwZXIgcmFuZ2Ugb2YgQ0VB LTg2MS1EIChWSUMgMS02NCkuCkZvciBhbnkgb3RoZXIgbW9kZSwgdGhlIFZJQyBmaWxlZCBpbiBB VkkgaW5mb2ZyYW1lcyBzaG91bGQgYmUgMC4KSERNSSAyLjAgc2lua3MsIHN1cHBvcnQgdmlkZW8g bW9kZXMgcmFuZ2UgYXMgcGVyIENFQS04NjEtRiBzcGVjLCB3aGljaCBpcwpleHRlbmRlZCB0byAo VklDIDEtMTA3KS4KClRoaXMgcGF0Y2ggYWRkcyBhIGJvb2wgaW5wdXQgdmFyaWFibGUsIHdoaWNo IGluZGljYXRlcyBpZiB0aGUgY29ubmVjdGVkCnNpbmsgaXMgYSBIRE1JIDIuMCBzaW5rIG9yIG5v dC4gVGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHdlIGRvbid0IHBhc3MgYQpIRE1JIDIuMCBWSUMg dG8gYSBIRE1JIDEuNCBzaW5rLgoKVGhpcyBwYXRjaCB0b3VjaGVzIGFsbCBkcm0gZHJpdmVycywg d2hvIGFyZSBjYWxsZXJzIG9mIHRoaXMgZnVuY3Rpb24KZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9m cm9tX2Rpc3BsYXlfbW9kZSBidXQgdG8gbWFrZSBzdXJlIHRoZXJlIGlzCm5vIGNoYW5nZSBpbiBj dXJyZW50IGJlaGF2aW9yLCBpc19oZG1pMiBpcyBrZXB0IGFzIGZhbHNlLgoKSW4gY2FzZSBvZiBJ OTE1IGRyaXZlciwgdGhpcyBwYXRjaDoKLSBjaGVja3MgaWYgdGhlIGNvbm5lY3RlZCBkaXNwbGF5 IGlzIEhETUkgMi4wLgotIEhETUkgaW5mb2ZyYW1lcyBjYXJyeSBvbmUgb2YgdGhpcyB0d28gdHlw ZSBvZiBpbmZvcm1hdGlvbjoKCS0gVklDIGZvciA0SyBtb2RlcyBmb3IgSERNSSAxLjQgc2lua3MK CS0gUzNEIGluZm9ybWF0aW9uIGZvciBTM0QgbW9kZXMKICBBcyBDRUEtODYxLUYgaGFzIGFscmVh ZHkgZGVmaW5lZCBWSUNzIGZvciA0SyB2aWRlb21vZGVzLCB0aGlzCiAgcGF0Y2ggZG9lc24ndCBh bGxvdyBzZW5kaW5nIEhETUkgaW5mb2ZyYW1lcyBmb3IgSERNSSAyLjAgc2lua3MsCiAgdW50aWwg dGhlIG1vZGUgaXMgM0QuCgpDYzogVmlsbGUgU3lyamFsYSA8dmlsbGUuc3lyamFsYUBsaW51eC5p bnRlbC5jb20+CkNjOiBKb3NlIEFicmV1IDxqb3NlLmFicmV1QHN5bm9wc3lzLmNvbT4KQ2M6IEFu ZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+CkNjOiBBbGV4IERldWNoZXIgPGFsZXhh bmRlci5kZXVjaGVyQGFtZC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGlu dGVsLmNvbT4KClBTOiBUaGlzIHBhdGNoIHRvdWNoZXMgYSBmZXcgbGluZXMgaW4gZmV3IGZpbGVz LCB3aGljaCB3ZXJlCmFscmVhZHkgYWJvdmUgODAgY2hhciwgc28gY2hlY2twYXRjaCBnaXZlcyA4 MCBjaGFyIHdhcm5pbmcgYWdhaW4uCi0gZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jCi0g Z3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYwoKVjI6IFJlYmFzZSwgQWRkZWQgci1iIGZyb20gQW5k cnplagpWMzogQWRkcmVzc2VkIHJldmlldyBjb21tZW50IGZyb20gVmlsbGU6CgktIERvIG5vdCBz ZW5kIFZJQ3MgaW4gYm90aCBBVkktSUYgYW5kIEhETUktSUYKCSAgc2VuZCBvbmx5IG9uZSBvZiBp dC4KVjQ6IFJlYmFzZQpWNTogQWRkZWQgci1iIGZyb20gTmVpbC4KICAgIEFkZHJlc3NlZCByZXZp ZXcgY29tbWVudHMgZnJvbSBWaWxsZQogICAgLSBEbyBub3QgYmxvY2sgSERNSSB2ZW5kb3IgSUYs IGluc3RlYWQgY2hlY2sgZm9yIFZJQyB3aGlsZQogICAgICBoYW5kbGluZyBBVkkgaW5mb2ZyYW1l cwoKUmV2aWV3ZWQtYnk6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+ClJldmll d2VkLWJ5OiBOZWlsIEFybXN0cm9uZyA8bmFybXN0cm9uZ0BiYXlsaWJyZS5jb20+ClNpZ25lZC1v ZmYtYnk6IFNoYXNoYW5rIFNoYXJtYSA8c2hhc2hhbmsuc2hhcm1hQGludGVsLmNvbT4KLS0tCiBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYyAgICB8ICAyICstCiBkcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vYnJp ZGdlL2FuYWxvZ2l4LWFueDc4eHguYyB8ICAzICsrLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9z aWk5MDJ4LmMgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5 cy9kdy1oZG1pLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgICAgICAgICAg ICAgICAgfCAyNiArKysrKysrKysrKysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2V4 eW5vcy9leHlub3NfaGRtaS5jICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5 OTh4X2Rydi5jICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jICAgICAgICAgfCAgNSArKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5j ICAgICAgICAgfCAgMyArKy0KIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jICAg ICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZW5jb2Rlci5jICAgIHwg IDMgKystCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9hdWRpby5jICAgICB8ICAyICst CiBkcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMgICAgICB8ICAyICstCiBkcml2 ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dw dS9kcm0vdGVncmEvaGRtaS5jICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v dGVncmEvc29yLmMgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF9oZG1pLmMgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWku YyAgICAgICAgICAgICB8ICAyICstCiBpbmNsdWRlL2RybS9kcm1fZWRpZC5oICAgICAgICAgICAg ICAgICAgICB8ICAzICsrLQogMjEgZmlsZXMgY2hhbmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMjEg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNl X3YxMF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwppbmRleCA5 Zjc4YzAzLi5hZmYxZjQ4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9k Y2VfdjEwXzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEwXzAuYwpA QCAtMTg2Nyw3ICsxODY3LDcgQEAgc3RhdGljIHZvaWQgZGNlX3YxMF8wX2FmbXRfc2V0bW9kZShz dHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJZGNlX3YxMF8wX2F1ZGlvX3dyaXRlX3NhZF9y ZWdzKGVuY29kZXIpOwogCWRjZV92MTBfMF9hdWRpb193cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNv ZGVyLCBtb2RlKTsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5 X21vZGUoJmZyYW1lLCBtb2RlKTsKKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21f ZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwogCWlmIChlcnIgPCAwKSB7CiAJCURS TV9FUlJPUigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKIAkJ cmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3YxMV8w LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYwppbmRleCA0YmNmMDFk Li4yZGY2NTBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjEx XzAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjExXzAuYwpAQCAtMTg1 MSw3ICsxODUxLDcgQEAgc3RhdGljIHZvaWQgZGNlX3YxMV8wX2FmbXRfc2V0bW9kZShzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJZGNlX3YxMV8wX2F1ZGlvX3dyaXRlX3NhZF9yZWdzKGVu Y29kZXIpOwogCWRjZV92MTFfMF9hdWRpb193cml0ZV9sYXRlbmN5X2ZpZWxkcyhlbmNvZGVyLCBt b2RlKTsKIAotCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUo JmZyYW1lLCBtb2RlKTsKKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxh eV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2UpOwogCWlmIChlcnIgPCAwKSB7CiAJCURSTV9FUlJP UigiZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKIAkJcmV0dXJu OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2RjZV92OF8wLmMKaW5kZXggYTllODY5NS4uYzE2NGJl ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZGNlX3Y4XzAuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9kY2VfdjhfMC5jCkBAIC0xNzUwLDcgKzE3NTAs NyBAQCBzdGF0aWMgdm9pZCBkY2VfdjhfMF9hZm10X3NldG1vZGUoc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyLAogCWRjZV92OF8wX2F1ZGlvX3dyaXRlX3NhZF9yZWdzKGVuY29kZXIpOwogCWRj ZV92OF8wX2F1ZGlvX3dyaXRlX2xhdGVuY3lfZmllbGRzKGVuY29kZXIsIG1vZGUpOwogCi0JZXJy ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUp OworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8g c2V0dXAgQVZJIGluZm9mcmFtZTogJXpkXG4iLCBlcnIpOwogCQlyZXR1cm47CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL2FuYWxvZ2l4LWFueDc4eHguYyBiL2RyaXZlcnMvZ3B1 L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCmluZGV4IDkwMDY1NzguLmEwODMyMTEgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9icmlkZ2UvYW5hbG9naXgtYW54Nzh4eC5jCkBAIC0xMDk3LDcgKzEw OTcsOCBAQCBzdGF0aWMgdm9pZCBhbng3OHh4X2JyaWRnZV9tb2RlX3NldChzdHJ1Y3QgZHJtX2Jy aWRnZSAqYnJpZGdlLAogCiAJbXV0ZXhfbG9jaygmYW54Nzh4eC0+bG9jayk7CiAKLQllcnIgPSBk cm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgYWRqdXN0ZWRf bW9kZSk7CisJZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgm ZnJhbWUsIGFkanVzdGVkX21vZGUsCisJCQkJCQkgICAgICAgZmFsc2UpOwogCWlmIChlcnIpIHsK IAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJWRcbiIsIGVycik7 CiAJCWdvdG8gdW5sb2NrOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zaWk5 MDJ4LmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwppbmRleCA5Yjg3MDY3Li4z ZGM0MGY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3NpaTkwMnguYwpAQCAtMjY5LDcgKzI2OSw3IEBAIHN0 YXRpYyB2b2lkIHNpaTkwMnhfYnJpZGdlX21vZGVfc2V0KHN0cnVjdCBkcm1fYnJpZGdlICpicmlk Z2UsCiAJaWYgKHJldCkKIAkJcmV0dXJuOwogCi0JcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIGFkaik7CisJcmV0ID0gZHJtX2hkbWlfYXZpX2lu Zm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIGFkaiwgZmFsc2UpOwogCWlmIChyZXQg PCAwKSB7CiAJCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkgaW5mb2ZyYW1lXG4iKTsKIAkJ cmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9zeW5vcHN5cy9kdy1o ZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhkbWkuYwppbmRleCBl YWQxMTI0Li4wYjBjOWRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9w c3lzL2R3LWhkbWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3N5bm9wc3lzL2R3LWhk bWkuYwpAQCAtMTMxNyw3ICsxMzE3LDcgQEAgc3RhdGljIHZvaWQgaGRtaV9jb25maWdfQVZJKHN0 cnVjdCBkd19oZG1pICpoZG1pLCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSkKIAl1OCB2 YWw7CiAKIAkvKiBJbml0aWFsaXNlIGluZm8gZnJhbWUgZnJvbSBEUk0gbW9kZSAqLwotCWRybV9o ZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlKTsKKwlkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZSwgbW9kZSwgZmFsc2Up OwogCiAJaWYgKGhkbWlfYnVzX2ZtdF9pc195dXY0NDQoaGRtaS0+aGRtaV9kYXRhLmVuY19vdXRf YnVzX2Zvcm1hdCkpCiAJCWZyYW1lLmNvbG9yc3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDQ0 OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9lZGlkLmMgYi9kcml2ZXJzL2dwdS9k cm0vZHJtX2VkaWQuYwppbmRleCAyZTU1NTk5Li4wNjY3YjA3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX2VkaWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2VkaWQuYwpAQCAt NDMzNCwxMiArNDMzNCwxNCBAQCBFWFBPUlRfU1lNQk9MKGRybV9zZXRfcHJlZmVycmVkX21vZGUp OwogICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YSBm cm9tIGEgRFJNIGRpc3BsYXkgbW9kZQogICogQGZyYW1lOiBIRE1JIEFWSSBpbmZvZnJhbWUKICAq IEBtb2RlOiBEUk0gZGlzcGxheSBtb2RlCisgKiBAaXNfaGRtaTJfc2luazogU2luayBpcyBIRE1J IDIuMCBjb21wbGlhbnQKICAqCiAgKiBSZXR1cm46IDAgb24gc3VjY2VzcyBvciBhIG5lZ2F0aXZl IGVycm9yIGNvZGUgb24gZmFpbHVyZS4KICAqLwogaW50CiBkcm1faGRtaV9hdmlfaW5mb2ZyYW1l X2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZvZnJhbWUgKmZyYW1lLAotCQkJ CQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCisJCQkJCSBjb25zdCBzdHJ1 Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZSwKKwkJCQkJIGJvb2wgaXNfaGRtaTJfc2luaykKIHsK IAlpbnQgZXJyOwogCkBAIC00MzU1LDYgKzQzNTcsMjggQEAgZHJtX2hkbWlfYXZpX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZShzdHJ1Y3QgaGRtaV9hdmlfaW5mb2ZyYW1lICpmcmFtZSwKIAog CWZyYW1lLT52aWRlb19jb2RlID0gZHJtX21hdGNoX2NlYV9tb2RlKG1vZGUpOwogCisJLyoKKwkg KiBIRE1JIDEuNCBWSUMgcmFuZ2U6IDEgPD0gVklDIDw9IDY0IChDRUEtODYxLUQpIGJ1dAorCSAq IEhETUkgMi4wIFZJQyByYW5nZTogMSA8PSBWSUMgPD0gMTA3IChDRUEtODYxLUYpLiBTbyB3ZQor CSAqIGhhdmUgdG8gbWFrZSBzdXJlIHdlIGRvbnQgYnJlYWsgSERNSSAxLjQgc2lua3MuCisJICov CisJaWYgKCFpc19oZG1pMl9zaW5rICYmIGZyYW1lLT52aWRlb19jb2RlID4gNjQpCisJCWZyYW1l LT52aWRlb19jb2RlID0gMDsKKworCS8qCisJICogSERNSSBzcGVjIHNheXMgaWYgYSBtb2RlIGlz IGZvdW5kIGluIEhETUkgMS40YiA0SyBtb2RlcworCSAqIHdlIHNob3VsZCBzZW5kIGl0cyBWSUMg aW4gdmVuZG9yIGluZm9mcmFtZXMsIGVsc2Ugc2VuZCB0aGUKKwkgKiBWSUMgaW4gQVZJIGluZm9m cmFtZXMuIExldHMgY2hlY2sgaWYgdGhpcyBtb2RlIGlzIHByZXNlbnQgaW4KKwkgKiBIRE1JIDEu NGIgNEsgbW9kZXMKKwkgKi8KKwlpZiAoZnJhbWUtPnZpZGVvX2NvZGUpIHsKKwkJdTggdmVuZG9y X2lmX3ZpYyA9IGRybV9tYXRjaF9oZG1pX21vZGUobW9kZSk7CisJCWJvb2wgaXNfczNkID0gbW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHXzNEX01BU0s7CisKKwkJaWYgKGRybV92YWxpZF9oZG1p X3ZpYyh2ZW5kb3JfaWZfdmljKSAmJiAhaXNfczNkKQorCQkJZnJhbWUtPnZpZGVvX2NvZGUgPSAw OworCX0KKwogCWZyYW1lLT5waWN0dXJlX2FzcGVjdCA9IEhETUlfUElDVFVSRV9BU1BFQ1RfTk9O RTsKIAogCS8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1p LmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19oZG1pLmMKaW5kZXggMDZiZmJlNC4u Yzk1MzkyNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfaGRtaS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9leHlub3MvZXh5bm9zX2hkbWkuYwpAQCAtNzg0LDcgKzc4 NCw3IEBAIHN0YXRpYyB2b2lkIGhkbWlfcmVnX2luZm9mcmFtZXMoc3RydWN0IGhkbWlfY29udGV4 dCAqaGRhdGEpCiAJfQogCiAJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3Bs YXlfbW9kZSgmZnJtLmF2aSwKLQkJCSZoZGF0YS0+Y3VycmVudF9tb2RlKTsKKwkJCSZoZGF0YS0+ Y3VycmVudF9tb2RlLCBmYWxzZSk7CiAJaWYgKCFyZXQpCiAJCXJldCA9IGhkbWlfYXZpX2luZm9m cmFtZV9wYWNrKCZmcm0uYXZpLCBidWYsIHNpemVvZihidWYpKTsKIAlpZiAocmV0ID4gMCkgewpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jIGIvZHJpdmVycy9n cHUvZHJtL2kyYy90ZGE5OTh4X2Rydi5jCmluZGV4IDg2ZjQ3ZTEuLmQxZTdhYzUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pMmMvdGRhOTk4eF9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTJjL3RkYTk5OHhfZHJ2LmMKQEAgLTcxMiw3ICs3MTIsNyBAQCB0ZGE5OTh4X3dyaXRlX2F2 aShzdHJ1Y3QgdGRhOTk4eF9wcml2ICpwcml2LCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9k ZSkKIHsKIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKIAotCWRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSk7CisJZHJtX2hkbWlfYXZp X2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUuYXZpLCBtb2RlLCBmYWxzZSk7CiAJ ZnJhbWUuYXZpLnF1YW50aXphdGlvbl9yYW5nZSA9IEhETUlfUVVBTlRJWkFUSU9OX1JBTkdFX0ZV TEw7CiAKIAl0ZGE5OTh4X3dyaXRlX2lmKHByaXYsIERJUF9JRl9GTEFHU19JRjIsIFJFR19JRjJf SEIwLCAmZnJhbWUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IGVjMDc3OWEuLmNj MGQxMDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKQEAgLTQ1OSwxMSArNDU5LDE0IEBA IHN0YXRpYyB2b2lkIGludGVsX2hkbWlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyLAogCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2lu dGVsX2hkbWkoZW5jb2Rlcik7CiAJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVz dGVkX21vZGUgPQogCQkmY3J0Y19zdGF0ZS0+YmFzZS5hZGp1c3RlZF9tb2RlOworCXN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmaW50ZWxfaGRtaS0+YXR0YWNoZWRfY29ubmVjdG9y LT5iYXNlOworCWJvb2wgaXNfaGRtaTJfc2luayA9IGNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhk bWkuc2NkYy5zdXBwb3J0ZWQ7CiAJdW5pb24gaGRtaV9pbmZvZnJhbWUgZnJhbWU7CiAJaW50IHJl dDsKIAogCXJldCA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZy YW1lLmF2aSwKLQkJCQkJCSAgICAgICBhZGp1c3RlZF9tb2RlKTsKKwkJCQkJCSAgICAgICBhZGp1 c3RlZF9tb2RlLAorCQkJCQkJICAgICAgIGlzX2hkbWkyX3NpbmspOwogCWlmIChyZXQgPCAwKSB7 CiAJCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkgaW5mb2ZyYW1lXG4iKTsKIAkJcmV0dXJu OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCmluZGV4IGY5MDI5MjIuLmU1OGE0N2QgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nkdm8uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKQEAgLTk5Niw3ICs5OTYsOCBAQCBzdGF0aWMgYm9vbCBp bnRlbF9zZHZvX3NldF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBpbnRlbF9zZHZvICppbnRlbF9zZHZv LAogCXNzaXplX3QgbGVuOwogCiAJcmV0ID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSgmZnJhbWUuYXZpLAotCQkJCQkJICAgICAgICZwaXBlX2NvbmZpZy0+YmFzZS5h ZGp1c3RlZF9tb2RlKTsKKwkJCQkJCSAgICAgICAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRf bW9kZSwKKwkJCQkJCSAgICAgICBmYWxzZSk7CiAJaWYgKHJldCA8IDApIHsKIAkJRFJNX0VSUk9S KCJjb3VsZG4ndCBmaWxsIEFWSSBpbmZvZnJhbWVcbiIpOwogCQlyZXR1cm4gZmFsc2U7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2hkbWkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCmluZGV4IDBhNGZmZDcuLjVjMGQwMjQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfaGRtaS5jCkBAIC05NzUsNyArOTc1LDcgQEAgc3RhdGljIGludCBt dGtfaGRtaV9zZXR1cF9hdmlfaW5mb2ZyYW1lKHN0cnVjdCBtdGtfaGRtaSAqaGRtaSwKIAl1OCBi dWZmZXJbMTddOwogCXNzaXplX3QgZXJyOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFt ZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9p bmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVy ciA8IDApIHsKIAkJZGV2X2VycihoZG1pLT5kZXYsCiAJCQkiRmFpbGVkIHRvIGdldCBBVkkgaW5m b2ZyYW1lIGZyb20gbW9kZTogJXpkXG4iLCBlcnIpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL29tYXBkcm0vb21hcF9lbmNvZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFw X2VuY29kZXIuYwppbmRleCA4NmM5NzdiLi42MjRmNWI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vb21hcGRybS9vbWFwX2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9vbWFwX2VuY29kZXIuYwpAQCAtODUsNyArODUsOCBAQCBzdGF0aWMgdm9pZCBvbWFwX2VuY29k ZXJfbW9kZV9zZXQoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLAogCWlmIChoZG1pX21vZGUg JiYgZHNzZGV2LT5kcml2ZXItPnNldF9oZG1pX2luZm9mcmFtZSkgewogCQlzdHJ1Y3QgaGRtaV9h dmlfaW5mb2ZyYW1lIGF2aTsKIAotCQlyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSgmYXZpLCBhZGp1c3RlZF9tb2RlKTsKKwkJciA9IGRybV9oZG1pX2F2aV9pbmZv ZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmF2aSwgYWRqdXN0ZWRfbW9kZSwKKwkJCQkJCQkgICAg IGZhbHNlKTsKIAkJaWYgKHIgPT0gMCkKIAkJCWRzc2Rldi0+ZHJpdmVyLT5zZXRfaGRtaV9pbmZv ZnJhbWUoZHNzZGV2LCAmYXZpKTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9hdWRpby5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fYXVkaW8u YwppbmRleCBhYWFjYWMxLi43NzBlMzFmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFk ZW9uL3JhZGVvbl9hdWRpby5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9uX2F1 ZGlvLmMKQEAgLTUxNiw3ICs1MTYsNyBAQCBzdGF0aWMgaW50IHJhZGVvbl9hdWRpb19zZXRfYXZp X3BhY2tldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsCiAJaWYgKCFjb25uZWN0b3IpCiAJ CXJldHVybiAtRUlOVkFMOwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rp c3BsYXlfbW9kZSgmZnJhbWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVf ZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsK IAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAgQVZJIGluZm9mcmFtZTogJWRcbiIsIGVycik7 CiAJCXJldHVybiBlcnI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5u b19oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvaW5ub19oZG1pLmMKaW5kZXggN2Q5 Yjc1ZS4uNzE0OTk2OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL2lubm9f aGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9pbm5vX2hkbWkuYwpAQCAtMjk0 LDcgKzI5NCw3IEBAIHN0YXRpYyBpbnQgaW5ub19oZG1pX2NvbmZpZ192aWRlb19hdmkoc3RydWN0 IGlubm9faGRtaSAqaGRtaSwKIAl1bmlvbiBoZG1pX2luZm9mcmFtZSBmcmFtZTsKIAlpbnQgcmM7 CiAKLQlyYyA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1l LmF2aSwgbW9kZSk7CisJcmMgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9t b2RlKCZmcmFtZS5hdmksIG1vZGUsIGZhbHNlKTsKIAogCWlmIChoZG1pLT5oZG1pX2RhdGEuZW5j X291dF9mb3JtYXQgPT0gSERNSV9DT0xPUlNQQUNFX1lVVjQ0NCkKIAkJZnJhbWUuYXZpLmNvbG9y c3BhY2UgPSBIRE1JX0NPTE9SU1BBQ0VfWVVWNDQ0OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfaGRtaS5jCmluZGV4 IGE1OWM5NWEuLmRiYzZhMTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2hk bWkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9oZG1pLmMKQEAgLTQzNCw3ICs0MzQs NyBAQCBzdGF0aWMgaW50IGhkbWlfYXZpX2luZm9mcmFtZV9jb25maWcoc3RydWN0IHN0aV9oZG1p ICpoZG1pKQogCiAJRFJNX0RFQlVHX0RSSVZFUigiXG4iKTsKIAotCXJldCA9IGRybV9oZG1pX2F2 aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmluZm9mcmFtZSwgbW9kZSk7CisJcmV0ID0g ZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmaW5mb2ZyYW1lLCBtb2Rl LCBmYWxzZSk7CiAJaWYgKHJldCA8IDApIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gc2V0dXAg QVZJIGluZm9mcmFtZTogJWRcbiIsIHJldCk7CiAJCXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vdGVncmEvaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL2hkbWku YwppbmRleCBjZGEwNDkxLi43MThkOGRiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdGVn cmEvaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS90ZWdyYS9oZG1pLmMKQEAgLTczNCw3ICs3 MzQsNyBAQCBzdGF0aWMgdm9pZCB0ZWdyYV9oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWUoc3RydWN0 IHRlZ3JhX2hkbWkgKmhkbWksCiAJdTggYnVmZmVyWzE3XTsKIAlzc2l6ZV90IGVycjsKIAotCWVy ciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLCBtb2Rl KTsKKwllcnIgPSBkcm1faGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFt ZSwgbW9kZSwgZmFsc2UpOwogCWlmIChlcnIgPCAwKSB7CiAJCWRldl9lcnIoaGRtaS0+ZGV2LCAi ZmFpbGVkIHRvIHNldHVwIEFWSSBpbmZvZnJhbWU6ICV6ZFxuIiwgZXJyKTsKIAkJcmV0dXJuOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3RlZ3JhL3Nvci5jIGIvZHJpdmVycy9ncHUvZHJt L3RlZ3JhL3Nvci5jCmluZGV4IGE4ZjUyODkuLmZiMjcwOWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS90ZWdyYS9zb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdGVncmEvc29yLmMKQEAg LTE5MDQsNyArMTkwNCw3IEBAIHRlZ3JhX3Nvcl9oZG1pX3NldHVwX2F2aV9pbmZvZnJhbWUoc3Ry dWN0IHRlZ3JhX3NvciAqc29yLAogCXZhbHVlICY9IH5JTkZPRlJBTUVfQ1RSTF9FTkFCTEU7CiAJ dGVncmFfc29yX3dyaXRlbChzb3IsIHZhbHVlLCBTT1JfSERNSV9BVklfSU5GT0ZSQU1FX0NUUkwp OwogCi0JZXJyID0gZHJtX2hkbWlfYXZpX2luZm9mcmFtZV9mcm9tX2Rpc3BsYXlfbW9kZSgmZnJh bWUsIG1vZGUpOworCWVyciA9IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21v ZGUoJmZyYW1lLCBtb2RlLCBmYWxzZSk7CiAJaWYgKGVyciA8IDApIHsKIAkJZGV2X2Vycihzb3It PmRldiwgImZhaWxlZCB0byBzZXR1cCBBVkkgaW5mb2ZyYW1lOiAlZFxuIiwgZXJyKTsKIAkJcmV0 dXJuIGVycjsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYyBiL2Ry aXZlcnMvZ3B1L2RybS92YzQvdmM0X2hkbWkuYwppbmRleCBlZDYzZDRlLi40MDZkNmQ4IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfaGRtaS5jCkBAIC0zOTUsNyArMzk1LDcgQEAgc3RhdGljIHZvaWQgdmM0X2hk bWlfc2V0X2F2aV9pbmZvZnJhbWUoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQogCXVuaW9u IGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwogCWludCByZXQ7CiAKLQlyZXQgPSBkcm1faGRtaV9hdmlf aW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOworCXJldCA9IGRy bV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9kZSwg ZmFsc2UpOwogCWlmIChyZXQgPCAwKSB7CiAJCURSTV9FUlJPUigiY291bGRuJ3QgZmlsbCBBVkkg aW5mb2ZyYW1lXG4iKTsKIAkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3p0 ZS96eF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwppbmRleCAwZGY3MzY2 Li43ZTgzNGUzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0venRlL3p4X2hkbWkuYwpAQCAtMTI0LDcgKzEyNCw3IEBAIHN0YXRp YyBpbnQgenhfaGRtaV9jb25maWdfdmlkZW9fYXZpKHN0cnVjdCB6eF9oZG1pICpoZG1pLAogCXVu aW9uIGhkbWlfaW5mb2ZyYW1lIGZyYW1lOwogCWludCByZXQ7CiAKLQlyZXQgPSBkcm1faGRtaV9h dmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKCZmcmFtZS5hdmksIG1vZGUpOworCXJldCA9 IGRybV9oZG1pX2F2aV9pbmZvZnJhbWVfZnJvbV9kaXNwbGF5X21vZGUoJmZyYW1lLmF2aSwgbW9k ZSwgZmFsc2UpOwogCWlmIChyZXQpIHsKIAkJRFJNX0RFVl9FUlJPUihoZG1pLT5kZXYsICJmYWls ZWQgdG8gZ2V0IGF2aSBpbmZvZnJhbWU6ICVkXG4iLAogCQkJICAgICAgcmV0KTsKZGlmZiAtLWdp dCBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmggYi9pbmNsdWRlL2RybS9kcm1fZWRpZC5oCmluZGV4 IDdiOWY0OGIuLjg5YzAwNjIgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvZHJtL2RybV9lZGlkLmgKKysr IGIvaW5jbHVkZS9kcm0vZHJtX2VkaWQuaApAQCAtMzQzLDcgKzM0Myw4IEBAIGRybV9sb2FkX2Vk aWRfZmlybXdhcmUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogaW50CiBkcm1f aGRtaV9hdmlfaW5mb2ZyYW1lX2Zyb21fZGlzcGxheV9tb2RlKHN0cnVjdCBoZG1pX2F2aV9pbmZv ZnJhbWUgKmZyYW1lLAotCQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUp OworCQkJCQkgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUsCisJCQkJCSBib29s IGlzX2hkbWkyX3NpbmspOwogaW50CiBkcm1faGRtaV92ZW5kb3JfaW5mb2ZyYW1lX2Zyb21fZGlz cGxheV9tb2RlKHN0cnVjdCBoZG1pX3ZlbmRvcl9pbmZvZnJhbWUgKmZyYW1lLAogCQkJCQkgICAg Y29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpOwotLSAKMi43LjQKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=