From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH 1/2] drm: Add infrastructure for CRTC background color property Date: Thu, 22 Oct 2015 17:25:34 -0700 Message-ID: <1445559935-17217-2-git-send-email-matthew.d.roper@intel.com> References: <1445559935-17217-1-git-send-email-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1445559935-17217-1-git-send-email-matthew.d.roper@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org, Chandra Konduru List-Id: dri-devel@lists.freedesktop.org VG8gc3VwcG9ydCBDUlRDIGJhY2tncm91bmQgY29sb3IsIHdlIG5lZWQgYSB3YXkgb2YgY29tbXVu aWNhdGluZyBSR0IKY29sb3IgdmFsdWVzIHRvIHRoZSBEUk0uICBIb3dldmVyIHRoZXJlIGlzIG9m dGVuIGEgbWlzbWF0Y2ggYmV0d2VlbiBob3cKdXNlcnNwYWNlIHdhbnRzIHRvIHJlcHJlc2VudCB0 aGUgY29sb3IgdmFsdWUgdnMgaG93IGl0IG11c3QgYmUKcHJvZ3JhbW1lZCBpbnRvIHRoZSBoYXJk d2FyZTsgdGhpcyBtaXNtYXRjaCBjYW4gZWFzaWx5IGxlYWQgdG8Kbm9uLW9idmlvdXMgYnVncy4g IExldCdzIGNyZWF0ZSBhIHByb3BlcnR5IHR5cGUgdGhhdCBzdGFuZGFyZGl6ZXMgdGhlCnVzZXI8 LT5rZXJuZWwgZm9ybWF0IGFuZCBhZGQgc29tZSBtYWNyb3MgdGhhdCBhbGxvdyBkcml2ZXJzIHRv IGV4dHJhY3QKdGhlIGJpdHMgdGhleSBjYXJlIGFib3V0IHdpdGhvdXQgaGF2aW5nIHRvIHdvcnJ5 IGFib3V0IHRoZSBpbnRlcm5hbApyZXByZXNlbnRhdGlvbi4KClRoZXNlIHByb3BlcnRpZXMgYXJl IHN0aWxsIGV4cG9zZWQgdG8gdXNlcnNwYWNlIGFzIHJhbmdlIHByb3BlcnRpZXMsIHNvCnRoZSBv bmx5IHVzZXJzcGFjZSBjaGFuZ2Ugd2UgbmVlZCBhcmUgc29tZSBoZWxwZXJzIHRvIGJ1aWxkIFJH QkEgdmFsdWVzCmFwcHJvcHJpYXRlbHkuCgpDYzogZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpDYzogQ2hhbmRyYSBLb25kdXJ1IDxjaGFuZHJhLmtvbmR1cnVAaW50ZWwuY29tPgpTaWdu ZWQtb2ZmLWJ5OiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50ZWwuY29tPgotLS0KIGRy aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljLmMgfCAgNCArKysrCiBkcml2ZXJzL2dwdS9kcm0vZHJt X2NydGMuYyAgIHwgMzMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIGluY2x1ZGUvZHJt L2RybV9jcnRjLmggICAgICAgfCA0OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA4NiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmMKaW5kZXggN2JiMzg0NS4uNjg4Y2E3NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2RybV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pYy5jCkBAIC00MTUs NiArNDE1LDggQEAgaW50IGRybV9hdG9taWNfY3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9j cnRjICpjcnRjLAogCiAJaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9hY3RpdmUpCiAJCXN0 YXRlLT5hY3RpdmUgPSB2YWw7CisJZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2Jh Y2tncm91bmRfY29sb3IpCisJCXN0YXRlLT5iYWNrZ3JvdW5kX2NvbG9yLnYgPSB2YWw7CiAJZWxz ZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX21vZGVfaWQpIHsKIAkJc3RydWN0IGRybV9w cm9wZXJ0eV9ibG9iICptb2RlID0KIAkJCWRybV9wcm9wZXJ0eV9sb29rdXBfYmxvYihkZXYsIHZh bCk7CkBAIC00NTAsNiArNDUyLDggQEAgZHJtX2F0b21pY19jcnRjX2dldF9wcm9wZXJ0eShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCiAJCSp2YWwgPSBzdGF0ZS0+YWN0aXZlOwogCWVsc2UgaWYgKHBy b3BlcnR5ID09IGNvbmZpZy0+cHJvcF9tb2RlX2lkKQogCQkqdmFsID0gKHN0YXRlLT5tb2RlX2Js b2IpID8gc3RhdGUtPm1vZGVfYmxvYi0+YmFzZS5pZCA6IDA7CisJZWxzZSBpZiAocHJvcGVydHkg PT0gY29uZmlnLT5wcm9wX2JhY2tncm91bmRfY29sb3IpCisJCSp2YWwgPSBzdGF0ZS0+YmFja2dy b3VuZF9jb2xvci52OwogCWVsc2UgaWYgKGNydGMtPmZ1bmNzLT5hdG9taWNfZ2V0X3Byb3BlcnR5 KQogCQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPmF0b21pY19nZXRfcHJvcGVydHkoY3J0Yywgc3RhdGUs IHByb3BlcnR5LCB2YWwpOwogCWVsc2UKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1f Y3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKaW5kZXggZTU0NjYwYS4uMWUwZGQw OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2RybV9jcnRjLmMKQEAgLTM4MDcsNiArMzgwNywzMCBAQCBzdHJ1Y3QgZHJtX3Byb3Bl cnR5ICpkcm1fcHJvcGVydHlfY3JlYXRlX2Jvb2woc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50 IGZsYWdzLAogRVhQT1JUX1NZTUJPTChkcm1fcHJvcGVydHlfY3JlYXRlX2Jvb2wpOwogCiAvKioK KyAqIGRybV9wcm9wZXJ0eV9jcmVhdGVfcmdiYSAtIGNyZWF0ZSBhIG5ldyBSR0JBIHByb3BlcnR5 IHR5cGUKKyAqIEBkZXY6IGRybSBkZXZpY2UKKyAqIEBmbGFnczogZmxhZ3Mgc3BlY2lmeWluZyB0 aGUgcHJvcGVydHkgdHlwZQorICogQG5hbWU6IG5hbWUgb2YgdGhlIHByb3BlcnR5CisgKgorICog VGhpcyBjcmVhdGVzIGEgbmV3IGdlbmVyaWMgZHJtIHByb3BlcnR5IHdoaWNoIGNhbiB0aGVuIGJl IGF0dGFjaGVkIHRvIGEgZHJtCisgKiBvYmplY3Qgd2l0aCBkcm1fb2JqZWN0X2F0dGFjaF9wcm9w ZXJ0eS4gVGhlIHJldHVybmVkIHByb3BlcnR5IG9iamVjdCBtdXN0IGJlCisgKiBmcmVlZCB3aXRo IGRybV9wcm9wZXJ0eV9kZXN0cm95LgorICoKKyAqIFVzZXJzcGFjZSBzaG91bGQgdXNlIHRoZSBE Uk1fUkdCQSgpIG1hY3JvIHRvIGJ1aWxkIHZhbHVlcyB3aXRoIHRoZSBwcm9wZXIKKyAqIGJpdCBs YXlvdXQuCisgKgorICogUmV0dXJuczoKKyAqIEEgcG9pbnRlciB0byB0aGUgbmV3bHkgY3JlYXRl ZCBwcm9wZXJ0eSBvbiBzdWNjZXNzLCBOVUxMIG9uIGZhaWx1cmUuCisgKi8KK3N0cnVjdCBkcm1f cHJvcGVydHkgKmRybV9wcm9wZXJ0eV9jcmVhdGVfcmdiYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBpbnQgZmxhZ3MsCisJCQkJCSAgICAgIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJcmV0dXJuIGRy bV9wcm9wZXJ0eV9jcmVhdGVfcmFuZ2UoZGV2LCBmbGFncywgbmFtZSwKKwkJCQkJIDAsIEdFTk1B U0tfVUxMKDYzLCAwKSk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9wcm9wZXJ0eV9jcmVhdGVfcmdi YSk7CisKKy8qKgogICogZHJtX3Byb3BlcnR5X2FkZF9lbnVtIC0gYWRkIGEgcG9zc2libGUgdmFs dWUgdG8gYW4gZW51bWVyYXRpb24gcHJvcGVydHkKICAqIEBwcm9wZXJ0eTogZW51bWVyYXRpb24g cHJvcGVydHkgdG8gY2hhbmdlCiAgKiBAaW5kZXg6IGluZGV4IG9mIHRoZSBuZXcgZW51bWVyYXRp b24KQEAgLTU3NzgsNiArNTgwMiwxNSBAQCBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkcm1fbW9kZV9j cmVhdGVfcm90YXRpb25fcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIH0KIEVYUE9S VF9TWU1CT0woZHJtX21vZGVfY3JlYXRlX3JvdGF0aW9uX3Byb3BlcnR5KTsKIAorc3RydWN0IGRy bV9wcm9wZXJ0eQorKmRybV9tb2RlX2NyZWF0ZV9iYWNrZ3JvdW5kX2NvbG9yX3Byb3BlcnR5KHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCit7CisJcmV0dXJuIGRybV9wcm9wZXJ0eV9jcmVhdGVfcmFu Z2UoZGV2LCBEUk1fTU9ERV9QUk9QX0FUT01JQywKKwkJCQkJICJiYWNrZ3JvdW5kX2NvbG9yIiwK KwkJCQkJIDAsIEdFTk1BU0tfVUxMKDYzLCAwKSk7Cit9CitFWFBPUlRfU1lNQk9MKGRybV9tb2Rl X2NyZWF0ZV9iYWNrZ3JvdW5kX2NvbG9yX3Byb3BlcnR5KTsKKwogLyoqCiAgKiBET0M6IFRpbGUg Z3JvdXAKICAqCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RybS9kcm1fY3J0Yy5oIGIvaW5jbHVkZS9k cm0vZHJtX2NydGMuaAppbmRleCAzZjBjNjkwLi42NGYzZTYyIDEwMDY0NAotLS0gYS9pbmNsdWRl L2RybS9kcm1fY3J0Yy5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9jcnRjLmgKQEAgLTI1MSw2ICsy NTEsNDUgQEAgc3RydWN0IGRybV9icmlkZ2U7CiBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZTsKIAog LyoqCisgKiBkcm1fcmdiYV90IC0gUkdCQSBwcm9wZXJ0eSB2YWx1ZSB0eXBlCisgKgorICogU3Ry dWN0dXJlIHRvIGFic3RyYWN0IGF3YXkgdGhlIHJlcHJlc2VudGF0aW9uIG9mIFJHQkEgdmFsdWVz IHdpdGggcHJlY2lzaW9uCisgKiB1cCB0byAxNiBiaXRzIHBlciBjb2xvciBjb21wb25lbnQuICBU aGlzIGlzIHByaW1hcmlseSBpbnRlbmRlZCBmb3IgdXNlIHdpdGgKKyAqIERSTSBwcm9wZXJ0aWVz IHRoYXQgbmVlZCB0byB0YWtlIGEgY29sb3IgdmFsdWUgc2luY2Ugd2UgZG9uJ3Qgd2FudCB1c2Vy c3BhY2UKKyAqIHRvIGhhdmUgdG8gd29ycnkgYWJvdXQgdGhlIGJpdCBsYXlvdXQgZXhwZWN0ZWQg YnkgdGhlIHVuZGVybHlpbmcgaGFyZHdhcmUuCisgKgorICogV2Ugd3JhcCB0aGUgdmFsdWUgaW4g YSBzdHJ1Y3R1cmUgaGVyZSBzbyB0aGF0IHRoZSBjb21waWxlciB3aWxsIGZsYWcgYW55CisgKiBh Y2NpZGVudGFsIGF0dGVtcHRzIGJ5IGRyaXZlciBjb2RlIHRvIGRpcmVjdGx5IGF0dGVtcHQgYml0 d2lzZSBvcGVyYXRpb25zCisgKiB0aGF0IGNvdWxkIHBvdGVudGlhbGx5IG1pc2ludGVycHJldCB0 aGUgdmFsdWUuICBEcml2ZXJzIHNob3VsZCBpbnN0ZWFkIHVzZQorICogdGhlIERSTV9SR0JBX3tS RUQsR1JFRU4sQkxVRSxBTFBIQX1CSVRTKCkgbWFjcm9zIHRvIG9idGFpbiB0aGUgY29tcG9uZW50 CisgKiBiaXRzIGFuZCB0aGVuIGJ1aWxkIHZhbHVlcyBpbiB0aGUgZm9ybWF0IHRoZWlyIGhhcmR3 YXJlIGV4cGVjdHMuCisgKi8KK3R5cGVkZWYgc3RydWN0IHsKKwl1aW50NjRfdCB2OworfSBkcm1f cmdiYV90OworCitzdGF0aWMgaW5saW5lIHVpbnQxNl90Citkcm1fcmdiYV9iaXRzKGRybV9yZ2Jh X3QgYywgdW5zaWduZWQgY29tcHNoaWZ0LCB1bnNpZ25lZCBiaXRzKSB7CisJdWludDY0X3QgdmFs OworCisJaWYgKFdBUk5fT04oYml0cyA+IDE2KSkKKwkJYml0cyA9IDE2OworCisJdmFsID0gYy52 ICYgR0VOTUFTS19VTEwoY29tcHNoaWZ0ICsgMTUsIGNvbXBzaGlmdCk7CisJcmV0dXJuIHZhbCA+ PiAoY29tcHNoaWZ0ICsgMTYgLSBiaXRzKTsKK30KKworLyoKKyAqIE1hY3JvcyB0byBhY2Nlc3Mg dGhlIGluZGl2aWR1YWwgY29sb3IgY29tcG9uZW50cyBvZiBhbiBSR0JBIHByb3BlcnR5IHZhbHVl LgorICogSWYgdGhlIHJlcXVlc3RlZCBudW1iZXIgb2YgYml0cyBpcyBsZXNzIHRoYW4gMTYsIG9u bHkgdGhlIG1vc3Qgc2lnbmlmaWNhbnQKKyAqIGJpdHMgb2YgdGhlIGNvbG9yIGNvbXBvbmVudCB3 aWxsIGJlIHJldHVybmVkLgorICovCisjZGVmaW5lIERSTV9SR0JBX1JFREJJVFMoYywgYml0cykg ICBkcm1fcmdiYV9iaXRzKGMsIDQ4LCBiaXRzKQorI2RlZmluZSBEUk1fUkdCQV9HUkVFTkJJVFMo YywgYml0cykgZHJtX3JnYmFfYml0cyhjLCAzMiwgYml0cykKKyNkZWZpbmUgRFJNX1JHQkFfQkxV RUJJVFMoYywgYml0cykgIGRybV9yZ2JhX2JpdHMoYywgMTYsIGJpdHMpCisjZGVmaW5lIERSTV9S R0JBX0FMUEhBQklUUyhjLCBiaXRzKSBkcm1fcmdiYV9iaXRzKGMsIDAsIGJpdHMpCisKKy8qKgog ICogc3RydWN0IGRybV9jcnRjX3N0YXRlIC0gbXV0YWJsZSBDUlRDIHN0YXRlCiAgKiBAY3J0Yzog YmFja3BvaW50ZXIgdG8gdGhlIENSVEMKICAqIEBlbmFibGU6IHdoZXRoZXIgdGhlIENSVEMgc2hv dWxkIGJlIGVuYWJsZWQsIGdhdGVzIGFsbCBvdGhlciBzdGF0ZQpAQCAtMjY0LDYgKzMwMyw3IEBA IHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlOwogICogCXVwZGF0ZSB0byBlbnN1cmUgZnJhbWVidWZm ZXIgY2xlYW51cCBpc24ndCBkb25lIHRvbyBlYXJseQogICogQGFkanVzdGVkX21vZGU6IGZvciB1 c2UgYnkgaGVscGVycyBhbmQgZHJpdmVycyB0byBjb21wdXRlIGFkanVzdGVkIG1vZGUgdGltaW5n cwogICogQG1vZGU6IGN1cnJlbnQgbW9kZSB0aW1pbmdzCisgKiBAYmFja2dyb3VuZF9jb2xvcjog YmFja2dyb3VuZCBjb2xvciBvZiByZWdpb25zIG5vdCBjb3ZlcmVkIGJ5IHBsYW5lcwogICogQGV2 ZW50OiBvcHRpb25hbCBwb2ludGVyIHRvIGEgRFJNIGV2ZW50IHRvIHNpZ25hbCB1cG9uIGNvbXBs ZXRpb24gb2YgdGhlCiAgKiAJc3RhdGUgdXBkYXRlCiAgKiBAc3RhdGU6IGJhY2twb2ludGVyIHRv IGdsb2JhbCBkcm1fYXRvbWljX3N0YXRlCkBAIC0zMDQsNiArMzQ0LDkgQEAgc3RydWN0IGRybV9j cnRjX3N0YXRlIHsKIAkvKiBibG9iIHByb3BlcnR5IHRvIGV4cG9zZSBjdXJyZW50IG1vZGUgdG8g YXRvbWljIHVzZXJzcGFjZSAqLwogCXN0cnVjdCBkcm1fcHJvcGVydHlfYmxvYiAqbW9kZV9ibG9i OwogCisJLyogQ1JUQyBiYWNrZ3JvdW5kIGNvbG9yICovCisJZHJtX3JnYmFfdCBiYWNrZ3JvdW5k X2NvbG9yOworCiAJc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19ldmVudCAqZXZlbnQ7CiAKIAlz dHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7CkBAIC0xMTE1LDYgKzExNTgsOSBAQCBzdHJ1 Y3QgZHJtX21vZGVfY29uZmlnIHsKIAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wX2FjdGl2ZTsK IAlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wX21vZGVfaWQ7CiAKKwkvKiBjcnRjIHByb3BlcnRp ZXMgKi8KKwlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wX2JhY2tncm91bmRfY29sb3I7CisKIAkv KiBEVkktSSBwcm9wZXJ0aWVzICovCiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqZHZpX2lfc3ViY29u bmVjdG9yX3Byb3BlcnR5OwogCXN0cnVjdCBkcm1fcHJvcGVydHkgKmR2aV9pX3NlbGVjdF9zdWJj b25uZWN0b3JfcHJvcGVydHk7CkBAIC0xMzY1LDYgKzE0MTEsOCBAQCBzdHJ1Y3QgZHJtX3Byb3Bl cnR5ICpkcm1fcHJvcGVydHlfY3JlYXRlX29iamVjdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAog CQkJCQkgaW50IGZsYWdzLCBjb25zdCBjaGFyICpuYW1lLCB1aW50MzJfdCB0eXBlKTsKIHN0cnVj dCBkcm1fcHJvcGVydHkgKmRybV9wcm9wZXJ0eV9jcmVhdGVfYm9vbChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBpbnQgZmxhZ3MsCiAJCQkJCSBjb25zdCBjaGFyICpuYW1lKTsKK3N0cnVjdCBkcm1f cHJvcGVydHkgKmRybV9wcm9wZXJ0eV9jcmVhdGVfcmdiYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAorCQkJCQkgICAgICBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKm5hbWUpOwogc3RydWN0IGRybV9w cm9wZXJ0eV9ibG9iICpkcm1fcHJvcGVydHlfY3JlYXRlX2Jsb2Ioc3RydWN0IGRybV9kZXZpY2Ug KmRldiwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNpemVfdCBsZW5ndGgsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBjb25zdCB2b2lkICpkYXRhKTsKQEAgLTE0OTUsNiArMTU0Myw3IEBAIGV4dGVy biBpbnQgZHJtX2Zvcm1hdF92ZXJ0X2Nocm9tYV9zdWJzYW1wbGluZyh1aW50MzJfdCBmb3JtYXQp OwogZXh0ZXJuIGNvbnN0IGNoYXIgKmRybV9nZXRfZm9ybWF0X25hbWUodWludDMyX3QgZm9ybWF0 KTsKIGV4dGVybiBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpkcm1fbW9kZV9jcmVhdGVfcm90YXRpb25f cHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCQkJCQkgICAgICB1bnNpZ25lZCBp bnQgc3VwcG9ydGVkX3JvdGF0aW9ucyk7CitleHRlcm4gc3RydWN0IGRybV9wcm9wZXJ0eSAqZHJt X21vZGVfY3JlYXRlX2JhY2tncm91bmRfY29sb3JfcHJvcGVydHkoc3RydWN0IGRybV9kZXZpY2Ug KmRldik7CiBleHRlcm4gdW5zaWduZWQgaW50IGRybV9yb3RhdGlvbl9zaW1wbGlmeSh1bnNpZ25l ZCBpbnQgcm90YXRpb24sCiAJCQkJCSAgdW5zaWduZWQgaW50IHN1cHBvcnRlZF9yb3RhdGlvbnMp OwogCi0tIAoyLjEuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK