From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= Subject: [PATCH v2 03/12] drm: Make ioctls available for in-kernel clients Date: Mon, 18 Jun 2018 16:17:30 +0200 Message-ID: <20180618141739.48151-4-noralf@tronnes.org> References: <20180618141739.48151-1-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180618141739.48151-1-noralf@tronnes.org> 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 Cc: intel-gfx@lists.freedesktop.org, =?UTF-8?q?Noralf=20Tr=C3=B8nnes?= , laurent.pinchart@ideasonboard.com List-Id: dri-devel@lists.freedesktop.org TWFrZSBpb2N0bCB3cmFwcGVycyBmb3IgZnVuY3Rpb25zIHRoYXQgd2lsbCBiZSB1c2VkIGJ5IHRo ZSBpbi1rZXJuZWwgQVBJLgpUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyBhcmUgdG91Y2hlZDoKLSBk cm1fbW9kZV9jcmVhdGVfZHVtYl9pb2N0bCgpCi0gZHJtX21vZGVfZGVzdHJveV9kdW1iX2lvY3Rs KCkKLSBkcm1fbW9kZV9hZGRmYigpCi0gZHJtX21vZGVfcm1mYigpCgpTaWduZWQtb2ZmLWJ5OiBO b3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVzLm9yZz4KUmV2aWV3ZWQtYnk6IERhbmllbCBW ZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2RybV9j cnRjX2ludGVybmFsLmggfCAxOSArKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2Ry bV9kdW1iX2J1ZmZlcnMuYyAgfCAzMyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2RybV9mcmFtZWJ1ZmZlci5jICAgfCA0MiArKysrKysrKysrKysrKysrKysr KysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2lvY3RsLmMgICAgICAgICB8 ICA0ICsrLS0KIDQgZmlsZXMgY2hhbmdlZCwgNjYgaW5zZXJ0aW9ucygrKSwgMzIgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmggYi9k cml2ZXJzL2dwdS9kcm0vZHJtX2NydGNfaW50ZXJuYWwuaAppbmRleCA1ZDMwN2IyM2E0ZTYuLmM3 NjI2MTRhZjQ1MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFs LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjX2ludGVybmFsLmgKQEAgLTYyLDYgKzYy LDEyIEBAIGludCBkcm1fbW9kZV9nZXRyZXNvdXJjZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAogCiAvKiBkcm1fZHVtYl9idWZmZXJzLmMgKi8KK2ludCBkcm1fbW9kZV9jcmVhdGVfZHVtYihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJIHN0cnVjdCBkcm1fbW9kZV9jcmVhdGVfZHVtYiAq YXJncywKKwkJCSBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CitpbnQgZHJtX21vZGVfZGVz dHJveV9kdW1iKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBoYW5kbGUsCisJCQkgIHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKKwogLyogSU9DVExzICovCiBpbnQgZHJtX21vZGVfY3Jl YXRlX2R1bWJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJCSAgICAgICB2b2lkICpk YXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CkBAIC0xNjMsMTQgKzE2OSwxOSBAQCBp bnQgZHJtX2ZyYW1lYnVmZmVyX2NoZWNrX3NyY19jb29yZHModWludDMyX3Qgc3JjX3gsIHVpbnQz Ml90IHNyY195LAogCQkJCSAgICAgY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIpOwog dm9pZCBkcm1fZmJfcmVsZWFzZShzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CiAKK2ludCBk cm1fbW9kZV9hZGRmYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX21vZGVfZmJf Y21kICpvciwKKwkJICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOworaW50IGRybV9tb2Rl X3JtZmIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIGZiX2lkLAorCQkgIHN0cnVjdCBkcm1f ZmlsZSAqZmlsZV9wcml2KTsKKwogCiAvKiBJT0NUTCAqLwotaW50IGRybV9tb2RlX2FkZGZiKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCSAgIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAq ZmlsZV9wcml2KTsKK2ludCBkcm1fbW9kZV9hZGRmYl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAorCQkJIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIGludCBk cm1fbW9kZV9hZGRmYjIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJICAgIHZvaWQgKmRhdGEs IHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKLWludCBkcm1fbW9kZV9ybWZiKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCi0JCSAgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3By aXYpOworaW50IGRybV9tb2RlX3JtZmJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJ CXZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KTsKIGludCBkcm1fbW9kZV9n ZXRmYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkgICB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGVfcHJpdik7CiBpbnQgZHJtX21vZGVfZGlydHlmYl9pb2N0bChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9kdW1iX2J1ZmZl cnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHVtYl9idWZmZXJzLmMKaW5kZXggMzlhYzE1Y2U0 NzAyLi5lZWQ5Njg3Yjg2OTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHVtYl9i dWZmZXJzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9kdW1iX2J1ZmZlcnMuYwpAQCAtNTMs MTAgKzUzLDEwIEBACiAgKiBhIGhhcmR3YXJlLXNwZWNpZmljIGlvY3RsIHRvIGFsbG9jYXRlIHN1 aXRhYmxlIGJ1ZmZlciBvYmplY3RzLgogICovCiAKLWludCBkcm1fbW9kZV9jcmVhdGVfZHVtYl9p b2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJICAgICAgIHZvaWQgKmRhdGEsIHN0cnVj dCBkcm1fZmlsZSAqZmlsZV9wcml2KQoraW50IGRybV9tb2RlX2NyZWF0ZV9kdW1iKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCisJCQkgc3RydWN0IGRybV9tb2RlX2NyZWF0ZV9kdW1iICphcmdzLAor CQkJIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQogewotCXN0cnVjdCBkcm1fbW9kZV9jcmVh dGVfZHVtYiAqYXJncyA9IGRhdGE7CiAJdTMyIGNwcCwgc3RyaWRlLCBzaXplOwogCiAJaWYgKCFk ZXYtPmRyaXZlci0+ZHVtYl9jcmVhdGUpCkBAIC05MSw2ICs5MSwxMiBAQCBpbnQgZHJtX21vZGVf Y3JlYXRlX2R1bWJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXR1cm4gZGV2LT5k cml2ZXItPmR1bWJfY3JlYXRlKGZpbGVfcHJpdiwgZGV2LCBhcmdzKTsKIH0KIAoraW50IGRybV9t b2RlX2NyZWF0ZV9kdW1iX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkgICAgICAg dm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCit7CisJcmV0dXJuIGRybV9t b2RlX2NyZWF0ZV9kdW1iKGRldiwgZGF0YSwgZmlsZV9wcml2KTsKK30KKwogLyoqCiAgKiBkcm1f bW9kZV9tbWFwX2R1bWJfaW9jdGwgLSBjcmVhdGUgYW4gbW1hcCBvZmZzZXQgZm9yIGEgZHVtYiBi YWNraW5nIHN0b3JhZ2UgYnVmZmVyCiAgKiBAZGV2OiBEUk0gZGV2aWNlCkBAIC0xMjIsMTcgKzEy OCwyMiBAQCBpbnQgZHJtX21vZGVfbW1hcF9kdW1iX2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJCQkJCSAgICAgICAmYXJncy0+b2Zmc2V0KTsKIH0KIAoraW50IGRybV9tb2RlX2Rlc3Ry b3lfZHVtYihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgaGFuZGxlLAorCQkJICBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGVfcHJpdikKK3sKKwlpZiAoIWRldi0+ZHJpdmVyLT5kdW1iX2NyZWF0ZSkK KwkJcmV0dXJuIC1FTk9TWVM7CisKKwlpZiAoZGV2LT5kcml2ZXItPmR1bWJfZGVzdHJveSkKKwkJ cmV0dXJuIGRldi0+ZHJpdmVyLT5kdW1iX2Rlc3Ryb3koZmlsZV9wcml2LCBkZXYsIGhhbmRsZSk7 CisJZWxzZQorCQlyZXR1cm4gZHJtX2dlbV9kdW1iX2Rlc3Ryb3koZmlsZV9wcml2LCBkZXYsIGhh bmRsZSk7Cit9CisKIGludCBkcm1fbW9kZV9kZXN0cm95X2R1bWJfaW9jdGwoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAkJCQl2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdikK IHsKIAlzdHJ1Y3QgZHJtX21vZGVfZGVzdHJveV9kdW1iICphcmdzID0gZGF0YTsKIAotCWlmICgh ZGV2LT5kcml2ZXItPmR1bWJfY3JlYXRlKQotCQlyZXR1cm4gLUVOT1NZUzsKLQotCWlmIChkZXYt PmRyaXZlci0+ZHVtYl9kZXN0cm95KQotCQlyZXR1cm4gZGV2LT5kcml2ZXItPmR1bWJfZGVzdHJv eShmaWxlX3ByaXYsIGRldiwgYXJncy0+aGFuZGxlKTsKLQllbHNlCi0JCXJldHVybiBkcm1fZ2Vt X2R1bWJfZGVzdHJveShmaWxlX3ByaXYsIGRldiwgYXJncy0+aGFuZGxlKTsKKwlyZXR1cm4gZHJt X21vZGVfZGVzdHJveV9kdW1iKGRldiwgYXJncy0+aGFuZGxlLCBmaWxlX3ByaXYpOwogfQotCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMgYi9kcml2ZXJzL2dw dS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKaW5kZXggYmZlZGNlZmY4N2JiLi40NDc1OWFlZWQxZTcg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZnJhbWVidWZmZXIuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2ZyYW1lYnVmZmVyLmMKQEAgLTk1LDIxICs5NSwyMCBAQCBpbnQgZHJt X2ZyYW1lYnVmZmVyX2NoZWNrX3NyY19jb29yZHModWludDMyX3Qgc3JjX3gsIHVpbnQzMl90IHNy Y195LAogLyoqCiAgKiBkcm1fbW9kZV9hZGRmYiAtIGFkZCBhbiBGQiB0byB0aGUgZ3JhcGhpY3Mg Y29uZmlndXJhdGlvbgogICogQGRldjogZHJtIGRldmljZSBmb3IgdGhlIGlvY3RsCi0gKiBAZGF0 YTogZGF0YSBwb2ludGVyIGZvciB0aGUgaW9jdGwKLSAqIEBmaWxlX3ByaXY6IGRybSBmaWxlIGZv ciB0aGUgaW9jdGwgY2FsbAorICogQG9yOiBwb2ludGVyIHRvIHJlcXVlc3Qgc3RydWN0dXJlCisg KiBAZmlsZV9wcml2OiBkcm0gZmlsZQogICoKICAqIEFkZCBhIG5ldyBGQiB0byB0aGUgc3BlY2lm aWVkIENSVEMsIGdpdmVuIGEgdXNlciByZXF1ZXN0LiBUaGlzIGlzIHRoZQogICogb3JpZ2luYWwg YWRkZmIgaW9jdGwgd2hpY2ggb25seSBzdXBwb3J0ZWQgUkdCIGZvcm1hdHMuCiAgKgotICogQ2Fs bGVkIGJ5IHRoZSB1c2VyIHZpYSBpb2N0bC4KKyAqIENhbGxlZCBieSB0aGUgdXNlciB2aWEgaW9j dGwsIG9yIGJ5IGFuIGluLWtlcm5lbCBjbGllbnQuCiAgKgogICogUmV0dXJuczoKICAqIFplcm8g b24gc3VjY2VzcywgbmVnYXRpdmUgZXJybm8gb24gZmFpbHVyZS4KICAqLwotaW50IGRybV9tb2Rl X2FkZGZiKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCSAgIHZvaWQgKmRhdGEsIHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2KQoraW50IGRybV9tb2RlX2FkZGZiKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fbW9kZV9mYl9jbWQgKm9yLAorCQkgICBzdHJ1Y3QgZHJtX2ZpbGUg KmZpbGVfcHJpdikKIHsKLQlzdHJ1Y3QgZHJtX21vZGVfZmJfY21kICpvciA9IGRhdGE7CiAJc3Ry dWN0IGRybV9tb2RlX2ZiX2NtZDIgciA9IHt9OwogCWludCByZXQ7CiAKQEAgLTEzNCw2ICsxMzMs MTIgQEAgaW50IGRybV9tb2RlX2FkZGZiKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJcmV0dXJu IDA7CiB9CiAKK2ludCBkcm1fbW9kZV9hZGRmYl9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAorCQkJIHZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQoreworCXJldHVy biBkcm1fbW9kZV9hZGRmYihkZXYsIGRhdGEsIGZpbGVfcHJpdik7Cit9CisKIHN0YXRpYyBpbnQg ZmJfcGxhbmVfd2lkdGgoaW50IHdpZHRoLAogCQkJICBjb25zdCBzdHJ1Y3QgZHJtX2Zvcm1hdF9p bmZvICpmb3JtYXQsIGludCBwbGFuZSkKIHsKQEAgLTM2NywyOSArMzcyLDI4IEBAIHN0YXRpYyB2 b2lkIGRybV9tb2RlX3JtZmJfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKncpCiAKIC8qKgog ICogZHJtX21vZGVfcm1mYiAtIHJlbW92ZSBhbiBGQiBmcm9tIHRoZSBjb25maWd1cmF0aW9uCi0g KiBAZGV2OiBkcm0gZGV2aWNlIGZvciB0aGUgaW9jdGwKLSAqIEBkYXRhOiBkYXRhIHBvaW50ZXIg Zm9yIHRoZSBpb2N0bAotICogQGZpbGVfcHJpdjogZHJtIGZpbGUgZm9yIHRoZSBpb2N0bCBjYWxs CisgKiBAZGV2OiBkcm0gZGV2aWNlCisgKiBAZmJfaWQ6IGlkIG9mIGZyYW1lYnVmZmVyIHRvIHJl bW92ZQorICogQGZpbGVfcHJpdjogZHJtIGZpbGUKICAqCi0gKiBSZW1vdmUgdGhlIEZCIHNwZWNp ZmllZCBieSB0aGUgdXNlci4KKyAqIFJlbW92ZSB0aGUgc3BlY2lmaWVkIEZCLgogICoKLSAqIENh bGxlZCBieSB0aGUgdXNlciB2aWEgaW9jdGwuCisgKiBDYWxsZWQgYnkgdGhlIHVzZXIgdmlhIGlv Y3RsLCBvciBieSBhbiBpbi1rZXJuZWwgY2xpZW50LgogICoKICAqIFJldHVybnM6CiAgKiBaZXJv IG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIGVycm5vIG9uIGZhaWx1cmUuCiAgKi8KLWludCBkcm1fbW9k ZV9ybWZiKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCSAgIHZvaWQgKmRhdGEsIHN0cnVjdCBk cm1fZmlsZSAqZmlsZV9wcml2KQoraW50IGRybV9tb2RlX3JtZmIoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgdTMyIGZiX2lkLAorCQkgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQogewogCXN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gTlVMTDsKIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVy ICpmYmwgPSBOVUxMOwotCXVpbnQzMl90ICppZCA9IGRhdGE7CiAJaW50IGZvdW5kID0gMDsKIAog CWlmICghZHJtX2NvcmVfY2hlY2tfZmVhdHVyZShkZXYsIERSSVZFUl9NT0RFU0VUKSkKIAkJcmV0 dXJuIC1FSU5WQUw7CiAKLQlmYiA9IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LCBmaWxlX3By aXYsICppZCk7CisJZmIgPSBkcm1fZnJhbWVidWZmZXJfbG9va3VwKGRldiwgZmlsZV9wcml2LCBm Yl9pZCk7CiAJaWYgKCFmYikKIAkJcmV0dXJuIC1FTk9FTlQ7CiAKQEAgLTQzNSw2ICs0MzksMTQg QEAgaW50IGRybV9tb2RlX3JtZmIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlyZXR1cm4gLUVO T0VOVDsKIH0KIAoraW50IGRybV9tb2RlX3JtZmJfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRl diwKKwkJCXZvaWQgKmRhdGEsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZV9wcml2KQoreworCXVpbnQz Ml90ICpmYl9pZCA9IGRhdGE7CisKKwlyZXR1cm4gZHJtX21vZGVfcm1mYihkZXYsICpmYl9pZCwg ZmlsZV9wcml2KTsKK30KKwogLyoqCiAgKiBkcm1fbW9kZV9nZXRmYiAtIGdldCBGQiBpbmZvCiAg KiBAZGV2OiBkcm0gZGV2aWNlIGZvciB0aGUgaW9jdGwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9kcm1faW9jdGwuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwppbmRleCAwZDRj ZmIyMzI1NzYuLjlmNjU5ZTFhMTljNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9p b2N0bC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1faW9jdGwuYwpAQCAtNjM3LDkgKzYzNyw5 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2lvY3RsX2Rlc2MgZHJtX2lvY3Rsc1tdID0gewog CURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfU0VUUFJPUEVSVFksIGRybV9tb2RlX2Nvbm5l Y3Rvcl9wcm9wZXJ0eV9zZXRfaW9jdGwsIERSTV9NQVNURVJ8RFJNX1VOTE9DS0VEKSwKIAlEUk1f SU9DVExfREVGKERSTV9JT0NUTF9NT0RFX0dFVFBST1BCTE9CLCBkcm1fbW9kZV9nZXRibG9iX2lv Y3RsLCBEUk1fVU5MT0NLRUQpLAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfR0VURkIs IGRybV9tb2RlX2dldGZiLCBEUk1fVU5MT0NLRUQpLAotCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RM X01PREVfQURERkIsIGRybV9tb2RlX2FkZGZiLCBEUk1fVU5MT0NLRUQpLAorCURSTV9JT0NUTF9E RUYoRFJNX0lPQ1RMX01PREVfQURERkIsIGRybV9tb2RlX2FkZGZiX2lvY3RsLCBEUk1fVU5MT0NL RUQpLAogCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01PREVfQURERkIyLCBkcm1fbW9kZV9hZGRm YjIsIERSTV9VTkxPQ0tFRCksCi0JRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9STUZCLCBk cm1fbW9kZV9ybWZiLCBEUk1fVU5MT0NLRUQpLAorCURSTV9JT0NUTF9ERUYoRFJNX0lPQ1RMX01P REVfUk1GQiwgZHJtX21vZGVfcm1mYl9pb2N0bCwgRFJNX1VOTE9DS0VEKSwKIAlEUk1fSU9DVExf REVGKERSTV9JT0NUTF9NT0RFX1BBR0VfRkxJUCwgZHJtX21vZGVfcGFnZV9mbGlwX2lvY3RsLCBE Uk1fTUFTVEVSfERSTV9VTkxPQ0tFRCksCiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9E SVJUWUZCLCBkcm1fbW9kZV9kaXJ0eWZiX2lvY3RsLCBEUk1fTUFTVEVSfERSTV9VTkxPQ0tFRCks CiAJRFJNX0lPQ1RMX0RFRihEUk1fSU9DVExfTU9ERV9DUkVBVEVfRFVNQiwgZHJtX21vZGVfY3Jl YXRlX2R1bWJfaW9jdGwsIERSTV9VTkxPQ0tFRCksCi0tIAoyLjE1LjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=