From: Paulo Zanoni Subject: [PATCH 06/11] drm/i915: pass which operation triggered the frontbuffer tracking Date: Mon, 8 Dec 2014 14:09:15 -0200 Message-ID: <1418054960-1403-7-git-send-email-przanoni@gmail.com> References: <1418054960-1403-1-git-send-email-przanoni@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qc0-f171.google.com (mail-qc0-f171.google.com [209.85.216.171]) by gabe.freedesktop.org (Postfix) with ESMTP id 0417E6E7A9 for ; Mon, 8 Dec 2014 08:10:37 -0800 (PST) Received: by mail-qc0-f171.google.com with SMTP id r5so3710633qcx.16 for ; Mon, 08 Dec 2014 08:10:36 -0800 (PST) In-Reply-To: <1418054960-1403-1-git-send-email-przanoni@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBpbnRlbC5jb20+CgpXZSB3YW50IHRv IHBvcnQgRkJDIHRvIHRoZSBmcm9udGJ1ZmZlciB0cmFja2luZyBpbmZyYXN0cnVjdHVyZSwgYnV0 CmZvciB0aGF0IHdlIG5lZWQgdG8ga25vdyB3aGF0IGNhdXNlZCB0aGUgb2JqZWN0IGludmFsaWRh dGlvbi9mbHVzaCBzbwp3ZSBjYW4gcmVhY3QgYWNjb3JkaW5nbHk6IENQVSBtbWFwcyBuZWVkIG1h bnVhbCwgR1RUIG1tYXBzIGFuZApmbGlwcyBkb24ndCBuZWVkIGhhbmRsaW5nIGFuZCByaW5nIHJl bmRlcmluZyBuZWVkcyBudWtlcy4KClNpZ25lZC1vZmYtYnk6IFBhdWxvIFphbm9uaSA8cGF1bG8u ci56YW5vbmlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgICAgICAgICB8ICA3ICsrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg ICAgICAgICAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYyB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg ICAgICAgICAgfCAxMSArKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZnJv bnRidWZmZXIuYyAgIHwgMTUgKysrKysrKysrKy0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDMwIGlu c2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4 IDlkNjk0ZjEuLmVhM2NjODEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtNjg1LDYgKzY4 NSwxMyBAQCBzdHJ1Y3QgaW50ZWxfY29udGV4dCB7CiAJc3RydWN0IGxpc3RfaGVhZCBsaW5rOwog fTsKIAorZW51bSBmYl9vcF9vcmlnaW4geworCU9SSUdJTl9HVFQsCisJT1JJR0lOX0NQVSwKKwlP UklHSU5fUkVOREVSLAorCU9SSUdJTl9GTElQLAorfTsKKwogc3RydWN0IGk5MTVfZmJjIHsKIAl1 bnNpZ25lZCBsb25nIHNpemU7CiAJdW5zaWduZWQgdGhyZXNob2xkOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKaW5kZXggZGUyNDFlYi4uN2VmMTJlOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCkBA IC0yMzIxLDcgKzIzMjEsNyBAQCBpOTE1X2dlbV9vYmplY3RfbW92ZV90b19pbmFjdGl2ZShzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQkJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+bW1f bGlzdCwgJnZtLT5pbmFjdGl2ZV9saXN0KTsKIAl9CiAKLQlpbnRlbF9mYl9vYmpfZmx1c2gob2Jq LCB0cnVlKTsKKwlpbnRlbF9mYl9vYmpfZmx1c2gob2JqLCB0cnVlLCBPUklHSU5fUkVOREVSKTsK IAogCWxpc3RfZGVsX2luaXQoJm9iai0+cmluZ19saXN0KTsKIApAQCAtMzY2NSw3ICszNjY1LDcg QEAgaTkxNV9nZW1fb2JqZWN0X2ZsdXNoX2d0dF93cml0ZV9kb21haW4oc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaikKIAlvbGRfd3JpdGVfZG9tYWluID0gb2JqLT5iYXNlLndyaXRlX2Rv bWFpbjsKIAlvYmotPmJhc2Uud3JpdGVfZG9tYWluID0gMDsKIAotCWludGVsX2ZiX29ial9mbHVz aChvYmosIGZhbHNlKTsKKwlpbnRlbF9mYl9vYmpfZmx1c2gob2JqLCBmYWxzZSwgT1JJR0lOX0dU VCk7CiAKIAl0cmFjZV9pOTE1X2dlbV9vYmplY3RfY2hhbmdlX2RvbWFpbihvYmosCiAJCQkJCSAg ICBvYmotPmJhc2UucmVhZF9kb21haW5zLApAQCAtMzY4OCw3ICszNjg4LDcgQEAgaTkxNV9nZW1f b2JqZWN0X2ZsdXNoX2NwdV93cml0ZV9kb21haW4oc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAlvbGRfd3JpdGVfZG9tYWluID0gb2JqLT5iYXNlLndyaXRlX2RvbWFpbjsKIAlvYmot PmJhc2Uud3JpdGVfZG9tYWluID0gMDsKIAotCWludGVsX2ZiX29ial9mbHVzaChvYmosIGZhbHNl KTsKKwlpbnRlbF9mYl9vYmpfZmx1c2gob2JqLCBmYWxzZSwgT1JJR0lOX0NQVSk7CiAKIAl0cmFj ZV9pOTE1X2dlbV9vYmplY3RfY2hhbmdlX2RvbWFpbihvYmosCiAJCQkJCSAgICBvYmotPmJhc2Uu cmVhZF9kb21haW5zLApAQCAtMzc0NSw3ICszNzQ1LDcgQEAgaTkxNV9nZW1fb2JqZWN0X3NldF90 b19ndHRfZG9tYWluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosIGJvb2wgd3JpdGUp CiAJfQogCiAJaWYgKHdyaXRlKQotCQlpbnRlbF9mYl9vYmpfaW52YWxpZGF0ZShvYmosIE5VTEwp OworCQlpbnRlbF9mYl9vYmpfaW52YWxpZGF0ZShvYmosIE5VTEwsIE9SSUdJTl9HVFQpOwogCiAJ dHJhY2VfaTkxNV9nZW1fb2JqZWN0X2NoYW5nZV9kb21haW4ob2JqLAogCQkJCQkgICAgb2xkX3Jl YWRfZG9tYWlucywKQEAgLTQwNzIsNyArNDA3Miw3IEBAIGk5MTVfZ2VtX29iamVjdF9zZXRfdG9f Y3B1X2RvbWFpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBib29sIHdyaXRlKQog CX0KIAogCWlmICh3cml0ZSkKLQkJaW50ZWxfZmJfb2JqX2ludmFsaWRhdGUob2JqLCBOVUxMKTsK KwkJaW50ZWxfZmJfb2JqX2ludmFsaWRhdGUob2JqLCBOVUxMLCBPUklHSU5fQ1BVKTsKIAogCXRy YWNlX2k5MTVfZ2VtX29iamVjdF9jaGFuZ2VfZG9tYWluKG9iaiwKIAkJCQkJICAgIG9sZF9yZWFk X2RvbWFpbnMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVj YnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5k ZXggMGMyNWY2Mi4uYWYyOTBlNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZXhlY2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4 ZWNidWZmZXIuYwpAQCAtOTY1LDcgKzk2NSw3IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXJfbW92ZV90 b19hY3RpdmUoc3RydWN0IGxpc3RfaGVhZCAqdm1hcywKIAkJCW9iai0+ZGlydHkgPSAxOwogCQkJ aTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJm9iai0+bGFzdF93cml0ZV9yZXEsIHJlcSk7CiAKLQkJ CWludGVsX2ZiX29ial9pbnZhbGlkYXRlKG9iaiwgcmluZyk7CisJCQlpbnRlbF9mYl9vYmpfaW52 YWxpZGF0ZShvYmosIHJpbmcsIE9SSUdJTl9SRU5ERVIpOwogCiAJCQkvKiB1cGRhdGUgZm9yIHRo ZSBpbXBsaWNpdCBmbHVzaCBhZnRlciBhIGJhdGNoICovCiAJCQlvYmotPmJhc2Uud3JpdGVfZG9t YWluICY9IH5JOTE1X0dFTV9HUFVfRE9NQUlOUzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5k ZXggNTg4YjYxOC4uNjMzZmI5YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTg0MSwx MyArODQxLDE1IEBAIHZvaWQgaW50ZWxfZGRpX3NldF92Y19wYXlsb2FkX2FsbG9jKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywgYm9vbCBzdGF0ZSk7CiAKIC8qIGludGVsX2Zyb250YnVmZmVyLmMgKi8K IHZvaWQgaW50ZWxfZmJfb2JqX2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKLQkJCSAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7CisJCQkgICAgIHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCisJCQkgICAgIGVudW0gZmJfb3Bfb3JpZ2luIG9y aWdpbik7CiB2b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXBfcHJlcGFyZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCQkJCSAgICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKTsKIHZvaWQgaW50 ZWxfZnJvbnRidWZmZXJfZmxpcF9jb21wbGV0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJ CSAgICAgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cyk7CiB2b2lkIGludGVsX2Zyb250YnVmZmVy X2ZsdXNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCQkgICAgIHVuc2lnbmVkIGZyb250YnVm ZmVyX2JpdHMpOworCQkJICAgICB1bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzLAorCQkJICAgICBl bnVtIGZiX29wX29yaWdpbiBvcmlnaW4pOwogLyoqCiAgKiBpbnRlbF9mcm9udGJ1ZmZlcl9mbGlw IC0gc3luY2hyb25vdXMgZnJvbnRidWZmZXIgZmxpcAogICogQGRldjogRFJNIGRldmljZQpAQCAt ODYzLDEwICs4NjUsMTEgQEAgc3RhdGljIGlubGluZQogdm9pZCBpbnRlbF9mcm9udGJ1ZmZlcl9m bGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCQkgICAgdW5zaWduZWQgZnJvbnRidWZmZXJf Yml0cykKIHsKLQlpbnRlbF9mcm9udGJ1ZmZlcl9mbHVzaChkZXYsIGZyb250YnVmZmVyX2JpdHMp OworCWludGVsX2Zyb250YnVmZmVyX2ZsdXNoKGRldiwgZnJvbnRidWZmZXJfYml0cywgT1JJR0lO X0ZMSVApOwogfQogCi12b2lkIGludGVsX2ZiX29ial9mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqLCBib29sIHJldGlyZSk7Cit2b2lkIGludGVsX2ZiX29ial9mbHVzaChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLCBib29sIHJldGlyZSwKKwkJCWVudW0gZmJfb3Bf b3JpZ2luIG9yaWdpbik7CiAKIAogLyogaW50ZWxfYXVkaW8uYyAqLwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZnJvbnRidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Zyb250YnVmZmVyLmMKaW5kZXggNzlmNmQ3Mi4uN2JkYWM2OSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZnJvbnRidWZmZXIuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9mcm9udGJ1ZmZlci5jCkBAIC0xMjcsNiArMTI3LDcgQEAgc3Rh dGljIHZvaWQgaW50ZWxfbWFya19mYl9idXN5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAgKiBp bnRlbF9mYl9vYmpfaW52YWxpZGF0ZSAtIGludmFsaWRhdGUgZnJvbnRidWZmZXIgb2JqZWN0CiAg KiBAb2JqOiBHRU0gb2JqZWN0IHRvIGludmFsaWRhdGUKICAqIEByaW5nOiBzZXQgZm9yIGFzeW5j aHJvbm91cyByZW5kZXJpbmcKKyAqIEBvcmlnaW46IHdoaWNoIG9wZXJhdGlvbiBjYXVzZWQgdGhl IGludmFsaWRhdGlvbgogICoKICAqIFRoaXMgZnVuY3Rpb24gZ2V0cyBjYWxsZWQgZXZlcnkgdGlt ZSByZW5kZXJpbmcgb24gdGhlIGdpdmVuIG9iamVjdCBzdGFydHMgYW5kCiAgKiBmcm9udGJ1ZmZl ciBjYWNoaW5nIChmYmMsIGxvdyByZWZyZXNoIHJhdGUgZm9yIERSUlMsIHBhbmVsIHNlbGYgcmVm cmVzaCkgbXVzdApAQCAtMTM1LDcgKzEzNiw4IEBAIHN0YXRpYyB2b2lkIGludGVsX21hcmtfZmJf YnVzeShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogICogc2NoZWR1bGVkLgogICovCiB2b2lkIGlu dGVsX2ZiX29ial9pbnZhbGlkYXRlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCi0J CQkgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCisJCQkgICAgIHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcsCisJCQkgICAgIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbikKIHsK IAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gb2JqLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwpAQCAtMTYzLDYgKzE2NSw3 IEBAIHZvaWQgaW50ZWxfZmJfb2JqX2ludmFsaWRhdGUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwKICAqIGludGVsX2Zyb250YnVmZmVyX2ZsdXNoIC0gZmx1c2ggZnJvbnRidWZmZXIK ICAqIEBkZXY6IERSTSBkZXZpY2UKICAqIEBmcm9udGJ1ZmZlcl9iaXRzOiBmcm9udGJ1ZmZlciBw bGFuZSB0cmFja2luZyBiaXRzCisgKiBAb3JpZ2luOiB3aGljaCBvcGVyYXRpb24gY2F1c2VkIHRo ZSBpbnZhbGlkYXRpb24KICAqCiAgKiBUaGlzIGZ1bmN0aW9uIGdldHMgY2FsbGVkIGV2ZXJ5IHRp bWUgcmVuZGVyaW5nIG9uIHRoZSBnaXZlbiBwbGFuZXMgaGFzCiAgKiBjb21wbGV0ZWQgYW5kIGZy b250YnVmZmVyIGNhY2hpbmcgY2FuIGJlIHN0YXJ0ZWQgYWdhaW4uIEZsdXNoZXMgd2lsbCBnZXQK QEAgLTE3MSw3ICsxNzQsOCBAQCB2b2lkIGludGVsX2ZiX29ial9pbnZhbGlkYXRlKHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAgKiBDYW4gYmUgY2FsbGVkIHdpdGhvdXQgYW55IGxv Y2tzIGhlbGQuCiAgKi8KIHZvaWQgaW50ZWxfZnJvbnRidWZmZXJfZmx1c2goc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKLQkJCSAgICAgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cykKKwkJCSAgICAg dW5zaWduZWQgZnJvbnRidWZmZXJfYml0cywKKwkJCSAgICAgZW51bSBmYl9vcF9vcmlnaW4gb3Jp Z2luKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3By aXZhdGU7CiAKQEAgLTE5OSwxMyArMjAzLDE0IEBAIHZvaWQgaW50ZWxfZnJvbnRidWZmZXJfZmx1 c2goc3RydWN0IGRybV9kZXZpY2UgKmRldiwKICAqIGludGVsX2ZiX29ial9mbHVzaCAtIGZsdXNo IGZyb250YnVmZmVyIG9iamVjdAogICogQG9iajogR0VNIG9iamVjdCB0byBmbHVzaAogICogQHJl dGlyZTogc2V0IHdoZW4gcmV0aXJpbmcgYXN5bmNocm9ub3VzIHJlbmRlcmluZworICogQG9yaWdp bjogd2hpY2ggb3BlcmF0aW9uIGNhdXNlZCB0aGUgaW52YWxpZGF0aW9uCiAgKgogICogVGhpcyBm dW5jdGlvbiBnZXRzIGNhbGxlZCBldmVyeSB0aW1lIHJlbmRlcmluZyBvbiB0aGUgZ2l2ZW4gb2Jq ZWN0IGhhcwogICogY29tcGxldGVkIGFuZCBmcm9udGJ1ZmZlciBjYWNoaW5nIGNhbiBiZSBzdGFy dGVkIGFnYWluLiBJZiBAcmV0aXJlIGlzIHRydWUKICAqIHRoZW4gYW55IGRlbGF5ZWQgZmx1c2hl cyB3aWxsIGJlIHVuYmxvY2tlZC4KICAqLwogdm9pZCBpbnRlbF9mYl9vYmpfZmx1c2goc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKLQkJCWJvb2wgcmV0aXJlKQorCQkJYm9vbCByZXRp cmUsIGVudW0gZmJfb3Bfb3JpZ2luIG9yaWdpbikKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gb2JqLT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwpAQCAtMjI3LDcgKzIzMiw3IEBAIHZvaWQgaW50ZWxfZmJfb2JqX2Zs dXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCW11dGV4X3VubG9jaygmZGV2 X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwogCX0KIAotCWludGVsX2Zyb250YnVmZmVyX2ZsdXNo KGRldiwgZnJvbnRidWZmZXJfYml0cyk7CisJaW50ZWxfZnJvbnRidWZmZXJfZmx1c2goZGV2LCBm cm9udGJ1ZmZlcl9iaXRzLCBvcmlnaW4pOwogfQogCiAvKioKQEAgLTI3NSw1ICsyODAsNSBAQCB2 b2lkIGludGVsX2Zyb250YnVmZmVyX2ZsaXBfY29tcGxldGUoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKIAlkZXZfcHJpdi0+ZmJfdHJhY2tpbmcuZmxpcF9iaXRzICY9IH5mcm9udGJ1ZmZlcl9iaXRz OwogCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwogCi0JaW50ZWxf ZnJvbnRidWZmZXJfZmx1c2goZGV2LCBmcm9udGJ1ZmZlcl9iaXRzKTsKKwlpbnRlbF9mcm9udGJ1 ZmZlcl9mbHVzaChkZXYsIGZyb250YnVmZmVyX2JpdHMsIE9SSUdJTl9GTElQKTsKIH0KLS0gCjIu MS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=