From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v12 2/6] drm/i915: Attach content type property Date: Thu, 1 Aug 2019 17:11:15 +0530 Message-ID: <20190801114119.28830-3-ramalingam.c@intel.com> References: <20190801114119.28830-1-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190801114119.28830-1-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel , intel-gfx Cc: Jani Nikula List-Id: dri-devel@lists.freedesktop.org QXR0YWNoZXMgdGhlIGNvbnRlbnQgdHlwZSBwcm9wZXJ0eSBmb3IgSERDUDIuMiBjYXBhYmxlIGNv bm5lY3RvcnMuCgpJbXBsZW1lbnRzIHRoZSB1cGRhdGUgb2YgY29udGVudCB0eXBlIGZyb20gcHJv cGVydHkgYW5kIGFwcGx5IHRoZQpyZXN0cmljdGlvbiBvbiBIRENQIHZlcnNpb24gc2VsZWN0aW9u LgoKTmVlZCBBQ0sgZm9yIGNvbnRlbnQgdHlwZSBwcm9wZXJ0eSBmcm9tIHVzZXJzcGFjZSBjb25z dW1lci4KCnYyOgogIHMvY3BfY29udGVudF90eXBlL2NvbnRlbnRfcHJvdGVjdGlvbl90eXBlIFtk YW5pZWxdCiAgZGlzYWJsZSBhdCBoZGNwX2F0b21pY19jaGVjayB0byBhdm9pZCBjaGVjayBhdCBh dG9taWNfc2V0X3Byb3BlcnR5CglbTWFhcnRlbl0KdjM6CiAgcy9jb250ZW50X3Byb3RlY3Rpb25f dHlwZS9oZGNwX2NvbnRlbnRfdHlwZSBbUGVra2FdCnY0OgogIGhkY3AgZGlzYWJsZSBpbmNhc2Ug b2YgdHlwZSBjaGFuZ2UgaXMgbW92ZWQgaW50byBjb21taXQgW2RhbmllbF0uCnY1OgogIFNpbXBs aWZpZWQgdGhlIFR5cGUgY2hhbmdlIHByb2NlZHVyZS4gW0RhbmllbF0KdjY6CiAgVHlwZSBjaGFu Z2Ugd2l0aCBVTkRFU0lSRUQgc3RhdGUgaXMgaWdub3JlZC4KClNpZ25lZC1vZmYtYnk6IFJhbWFs aW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IERhbmllbCBWZXR0 ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkFja2VkLWJ5OiBQZWtrYSBQYWFsYW5lbiA8cGVr a2EucGFhbGFuZW5AY29sbGFib3JhLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNw bGF5L2ludGVsX2RkaS5jICB8IDM5ICsrKysrKysrKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkY3AuYyB8IDQzICsrKysrKysrKysrKysrKy0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2hkY3AuaCB8ICAyICstCiAzIGZp bGVzIGNoYW5nZWQsIDYyIGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2RkaS5jCmluZGV4IGZiNTg4NDUwMjBkYy4uYjljMjJk ZWFmZTIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rk aS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGRpLmMKQEAgLTM1 NjksNyArMzU2OSw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCiAJLyogRW5hYmxlIGhkY3AgaWYgaXQncyBkZXNpcmVkICovCiAJ aWYgKGNvbm5fc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9PQogCSAgICBEUk1fTU9ERV9DT05U RU5UX1BST1RFQ1RJT05fREVTSVJFRCkKLQkJaW50ZWxfaGRjcF9lbmFibGUodG9faW50ZWxfY29u bmVjdG9yKGNvbm5fc3RhdGUtPmNvbm5lY3RvcikpOworCQlpbnRlbF9oZGNwX2VuYWJsZSh0b19p bnRlbF9jb25uZWN0b3IoY29ubl9zdGF0ZS0+Y29ubmVjdG9yKSwKKwkJCQkgICh1OCljb25uX3N0 YXRlLT5oZGNwX2NvbnRlbnRfdHlwZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVf ZGRpX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLApAQCAtMzYzOCwxNSArMzYzOSw0 MSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfdXBkYXRlX3BpcGUoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIsCiAJCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKIAkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpjb25uX3N0YXRl KQogeworCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9CisJCQkJdG9faW50ZWxf Y29ubmVjdG9yKGNvbm5fc3RhdGUtPmNvbm5lY3Rvcik7CisJc3RydWN0IGludGVsX2hkY3AgKmhk Y3AgPSAmY29ubmVjdG9yLT5oZGNwOworCWJvb2wgY29udGVudF9wcm90ZWN0aW9uX3R5cGVfY2hh bmdlZCA9CisJCQkoY29ubl9zdGF0ZS0+aGRjcF9jb250ZW50X3R5cGUgIT0gaGRjcC0+Y29udGVu dF90eXBlICYmCisJCQkgY29ubl9zdGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uICE9CisJCQkgRFJN X01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCk7CisKIAlpZiAoIWludGVsX2NydGNf aGFzX3R5cGUoY3J0Y19zdGF0ZSwgSU5URUxfT1VUUFVUX0hETUkpKQogCQlpbnRlbF9kZGlfdXBk YXRlX3BpcGVfZHAoZW5jb2RlciwgY3J0Y19zdGF0ZSwgY29ubl9zdGF0ZSk7CiAKKwkvKgorCSAq IER1cmluZyB0aGUgSERDUCBlbmNyeXB0aW9uIHNlc3Npb24gaWYgVHlwZSBjaGFuZ2UgaXMgcmVx dWVzdGVkLAorCSAqIGRpc2FibGUgdGhlIEhEQ1AgYW5kIHJlZW5hYmxlIGl0IHdpdGggbmV3IFRZ UEUgdmFsdWUuCisJICovCiAJaWYgKGNvbm5fc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9PQot CSAgICBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fREVTSVJFRCkKLQkJaW50ZWxfaGRjcF9l bmFibGUodG9faW50ZWxfY29ubmVjdG9yKGNvbm5fc3RhdGUtPmNvbm5lY3RvcikpOwotCWVsc2Ug aWYgKGNvbm5fc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9PQotCQkgRFJNX01PREVfQ09OVEVO VF9QUk9URUNUSU9OX1VOREVTSVJFRCkKLQkJaW50ZWxfaGRjcF9kaXNhYmxlKHRvX2ludGVsX2Nv bm5lY3Rvcihjb25uX3N0YXRlLT5jb25uZWN0b3IpKTsKKwkgICAgRFJNX01PREVfQ09OVEVOVF9Q Uk9URUNUSU9OX1VOREVTSVJFRCB8fAorCSAgICBjb250ZW50X3Byb3RlY3Rpb25fdHlwZV9jaGFu Z2VkKQorCQlpbnRlbF9oZGNwX2Rpc2FibGUoY29ubmVjdG9yKTsKKworCS8qCisJICogTWFyayB0 aGUgaGRjcCBzdGF0ZSBhcyBERVNJUkVEIGFmdGVyIHRoZSBoZGNwIGRpc2FibGUgb2YgdHlwZQor CSAqIGNoYW5nZSBwcm9jZWR1cmUuCisJICovCisJaWYgKGNvbnRlbnRfcHJvdGVjdGlvbl90eXBl X2NoYW5nZWQpIHsKKwkJbXV0ZXhfbG9jaygmaGRjcC0+bXV0ZXgpOworCQloZGNwLT52YWx1ZSA9 IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOworCQlzY2hlZHVsZV93b3JrKCZo ZGNwLT5wcm9wX3dvcmspOworCQltdXRleF91bmxvY2soJmhkY3AtPm11dGV4KTsKKwl9CisKKwlp ZiAoY29ubl9zdGF0ZS0+Y29udGVudF9wcm90ZWN0aW9uID09CisJICAgIERSTV9NT0RFX0NPTlRF TlRfUFJPVEVDVElPTl9ERVNJUkVEIHx8CisJICAgIGNvbnRlbnRfcHJvdGVjdGlvbl90eXBlX2No YW5nZWQpCisJCWludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3RvciwgKHU4KWNvbm5fc3RhdGUtPmhk Y3BfY29udGVudF90eXBlKTsKIH0KIAogc3RhdGljIHZvaWQKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9oZGNwLmMKaW5kZXggZGVlZjBlNzQ3MjUxLi5hNTJmNmVmMjk1MWUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5jCkBAIC0xNzU1LDE0ICsx NzU1LDE1IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgY29tcG9uZW50X29wcyBpOTE1X2hkY3BfY29t cG9uZW50X29wcyA9IHsKIAkudW5iaW5kID0gaTkxNV9oZGNwX2NvbXBvbmVudF91bmJpbmQsCiB9 OwogCi1zdGF0aWMgaW5saW5lIGludCBpbml0aWFsaXplX2hkY3BfcG9ydF9kYXRhKHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKK3N0YXRpYyBpbmxpbmUgaW50IGluaXRpYWxpemVf aGRjcF9wb3J0X2RhdGEoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJCQkg ICAgY29uc3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqc2hpbSkKIHsKIAlzdHJ1Y3QgaW50ZWxf aGRjcCAqaGRjcCA9ICZjb25uZWN0b3ItPmhkY3A7CiAJc3RydWN0IGhkY3BfcG9ydF9kYXRhICpk YXRhID0gJmhkY3AtPnBvcnRfZGF0YTsKIAogCWRhdGEtPnBvcnQgPSBjb25uZWN0b3ItPmVuY29k ZXItPnBvcnQ7CiAJZGF0YS0+cG9ydF90eXBlID0gKHU4KUhEQ1BfUE9SVF9UWVBFX0lOVEVHUkFU RUQ7Ci0JZGF0YS0+cHJvdG9jb2wgPSAodTgpaGRjcC0+c2hpbS0+cHJvdG9jb2w7CisJZGF0YS0+ cHJvdG9jb2wgPSAodTgpc2hpbS0+cHJvdG9jb2w7CiAKIAlkYXRhLT5rID0gMTsKIAlpZiAoIWRh dGEtPnN0cmVhbXMpCkBAIC0xODEyLDEyICsxODEzLDEzIEBAIHZvaWQgaW50ZWxfaGRjcF9jb21w b25lbnRfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJfQogfQogCi1z dGF0aWMgdm9pZCBpbnRlbF9oZGNwMl9pbml0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcikKK3N0YXRpYyB2b2lkIGludGVsX2hkY3AyX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLAorCQkJICAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltICpzaGlt KQogewogCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKIAlpbnQg cmV0OwogCi0JcmV0ID0gaW5pdGlhbGl6ZV9oZGNwX3BvcnRfZGF0YShjb25uZWN0b3IpOworCXJl dCA9IGluaXRpYWxpemVfaGRjcF9wb3J0X2RhdGEoY29ubmVjdG9yLCBzaGltKTsKIAlpZiAocmV0 KSB7CiAJCURSTV9ERUJVR19LTVMoIk1laSBoZGNwIGRhdGEgaW5pdCBmYWlsZWRcbiIpOwogCQly ZXR1cm47CkBAIC0xODM2LDI1ICsxODM4LDI4IEBAIGludCBpbnRlbF9oZGNwX2luaXQoc3RydWN0 IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCWlmICghc2hpbSkKIAkJcmV0dXJuIC1FSU5W QUw7CiAKKwlpZiAoaXNfaGRjcDJfc3VwcG9ydGVkKGRldl9wcml2KSkKKwkJaW50ZWxfaGRjcDJf aW5pdChjb25uZWN0b3IsIHNoaW0pOworCiAJcmV0ID0KIAlkcm1fY29ubmVjdG9yX2F0dGFjaF9j b250ZW50X3Byb3RlY3Rpb25fcHJvcGVydHkoJmNvbm5lY3Rvci0+YmFzZSwKLQkJCQkJCQkgZmFs c2UpOwotCWlmIChyZXQpCisJCQkJCQkJIGhkY3AtPmhkY3AyX3N1cHBvcnRlZCk7CisJaWYgKHJl dCkgeworCQloZGNwLT5oZGNwMl9zdXBwb3J0ZWQgPSBmYWxzZTsKKwkJa2ZyZWUoaGRjcC0+cG9y dF9kYXRhLnN0cmVhbXMpOwogCQlyZXR1cm4gcmV0OworCX0KIAogCWhkY3AtPnNoaW0gPSBzaGlt OwogCW11dGV4X2luaXQoJmhkY3AtPm11dGV4KTsKIAlJTklUX0RFTEFZRURfV09SSygmaGRjcC0+ Y2hlY2tfd29yaywgaW50ZWxfaGRjcF9jaGVja193b3JrKTsKIAlJTklUX1dPUksoJmhkY3AtPnBy b3Bfd29yaywgaW50ZWxfaGRjcF9wcm9wX3dvcmspOwotCi0JaWYgKGlzX2hkY3AyX3N1cHBvcnRl ZChkZXZfcHJpdikpCi0JCWludGVsX2hkY3AyX2luaXQoY29ubmVjdG9yKTsKIAlpbml0X3dhaXRx dWV1ZV9oZWFkKCZoZGNwLT5jcF9pcnFfcXVldWUpOwogCiAJcmV0dXJuIDA7CiB9CiAKLWludCBp bnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCitpbnQg aW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1OCBj b250ZW50X3R5cGUpCiB7CiAJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5o ZGNwOwogCXVuc2lnbmVkIGxvbmcgY2hlY2tfbGlua19pbnRlcnZhbCA9IERSTV9IRENQX0NIRUNL X1BFUklPRF9NUzsKQEAgLTE4NjUsNiArMTg3MCw3IEBAIGludCBpbnRlbF9oZGNwX2VuYWJsZShz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIAltdXRleF9sb2NrKCZoZGNwLT5t dXRleCk7CiAJV0FSTl9PTihoZGNwLT52YWx1ZSA9PSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJ T05fRU5BQkxFRCk7CisJaGRjcC0+Y29udGVudF90eXBlID0gY29udGVudF90eXBlOwogCiAJLyoK IAkgKiBDb25zaWRlcmluZyB0aGF0IEhEQ1AyLjIgaXMgbW9yZSBzZWN1cmUgdGhhbiBIRENQMS40 LCBJZiB0aGUgc2V0dXAKQEAgLTE4NzYsOCArMTg4MiwxMiBAQCBpbnQgaW50ZWxfaGRjcF9lbmFi bGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQkJY2hlY2tfbGlua19pbnRl cnZhbCA9IERSTV9IRENQMl9DSEVDS19QRVJJT0RfTVM7CiAJfQogCi0JLyogV2hlbiBIRENQMi4y IGZhaWxzLCBIRENQMS40IHdpbGwgYmUgYXR0ZW1wdGVkICovCi0JaWYgKHJldCAmJiBpbnRlbF9o ZGNwX2NhcGFibGUoY29ubmVjdG9yKSkgeworCS8qCisJICogV2hlbiBIRENQMi4yIGZhaWxzIGFu ZCBDb250ZW50IFR5cGUgaXMgbm90IFR5cGUxLCBIRENQMS40IHdpbGwKKwkgKiBiZSBhdHRlbXB0 ZWQuCisJICovCisJaWYgKHJldCAmJiBpbnRlbF9oZGNwX2NhcGFibGUoY29ubmVjdG9yKSAmJgor CSAgICBoZGNwLT5jb250ZW50X3R5cGUgIT0gRFJNX01PREVfSERDUF9DT05URU5UX1RZUEUxKSB7 CiAJCXJldCA9IF9pbnRlbF9oZGNwX2VuYWJsZShjb25uZWN0b3IpOwogCX0KIApAQCAtMTk1OSwx MiArMTk2OSwxNSBAQCB2b2lkIGludGVsX2hkY3BfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY29u bmVjdG9yICpjb25uZWN0b3IsCiAKIAkvKgogCSAqIE5vdGhpbmcgdG8gZG8gaWYgdGhlIHN0YXRl IGRpZG4ndCBjaGFuZ2UsIG9yIEhEQ1Agd2FzIGFjdGl2YXRlZCBzaW5jZQotCSAqIHRoZSBsYXN0 IGNvbW1pdAorCSAqIHRoZSBsYXN0IGNvbW1pdC4gQW5kIGFsc28gbm8gY2hhbmdlIGluIGhkY3Ag Y29udGVudCB0eXBlLgogCSAqLwogCWlmIChvbGRfY3AgPT0gbmV3X2NwIHx8CiAJICAgIChvbGRf Y3AgPT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQgJiYKLQkgICAgIG5ld19j cCA9PSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fRU5BQkxFRCkpCi0JCXJldHVybjsKKwkg ICAgIG5ld19jcCA9PSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fRU5BQkxFRCkpIHsKKwkJ aWYgKG9sZF9zdGF0ZS0+aGRjcF9jb250ZW50X3R5cGUgPT0KKwkJCQluZXdfc3RhdGUtPmhkY3Bf Y29udGVudF90eXBlKQorCQkJcmV0dXJuOworCX0KIAogCWNydGNfc3RhdGUgPSBkcm1fYXRvbWlj X2dldF9uZXdfY3J0Y19zdGF0ZShuZXdfc3RhdGUtPnN0YXRlLAogCQkJCQkJICAgbmV3X3N0YXRl LT5jcnRjKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxf aGRjcC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9oZGNwLmgKaW5kZXgg YmU4ZGE4NWM4NjZhLi4xMzU1NWIwNTQ5MzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfaGRjcC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfaGRjcC5oCkBAIC0yMSw3ICsyMSw3IEBAIHZvaWQgaW50ZWxfaGRjcF9hdG9taWNf Y2hlY2soc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCSAgICAgc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKm5ld19zdGF0ZSk7CiBpbnQgaW50ZWxfaGRjcF9pbml0KHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJICAgIGNvbnN0IHN0cnVjdCBpbnRlbF9o ZGNwX3NoaW0gKmhkY3Bfc2hpbSk7Ci1pbnQgaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKK2ludCBpbnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsIHU4IGNvbnRlbnRfdHlwZSk7CiBpbnQgaW50ZWxfaGRj cF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiBib29sIGlzX2hk Y3Bfc3VwcG9ydGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwb3J0 IHBvcnQpOwogYm9vbCBpbnRlbF9oZGNwX2NhcGFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAq Y29ubmVjdG9yKTsKLS0gCjIuMTkuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vZHJpLWRldmVs