From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.9 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A090CC43603 for ; Sat, 7 Dec 2019 18:29:57 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 7D167217BA for ; Sat, 7 Dec 2019 18:29:57 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 7D167217BA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D055D6E20C; Sat, 7 Dec 2019 18:29:56 +0000 (UTC) Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 436326E20C for ; Sat, 7 Dec 2019 18:29:55 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from haswell.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 19497500-1500050 for multiple; Sat, 07 Dec 2019 18:29:37 +0000 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Sat, 7 Dec 2019 18:29:37 +0000 Message-Id: <20191207182937.2583002-1-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.24.0 MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH] drm/i915: Flesh out device_info pretty printer X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" SW5jbHVkZSBhbGwgdGhlIG51bWJlciBmaWVsZHMgZm9yIGRlc2NyaWJpbmcgdGhlIEdULCBhcyB3 ZWxsIGFzIHRoZQpjdXJyZW50IGJvb2xlYW4gZmxhZ3MsIHByaW1hcmlseSBmb3IgaW5jbHVzaW9u IGluIGVycm9yIHN0YXRlcy4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hy aXMtd2lsc29uLmNvLnVrPgpDYzogQW5kaSBTaHl0aSA8YW5kaS5zaHl0aUBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICB8IDIyICsrKysrLS0t LS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICAgfCAgNCAr LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICAgfCAgNSArKy0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jIHwgMzMgKysrKysrKysrKysr KysrKysrKy0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oIHwg MTEgKysrKy0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMzEgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCBlYjgwYTJjNGI1NWIu LjA2MmU1YmVmNjM3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTYxLDI0 ICs2MSwxNCBAQCBzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpub2RlX3Rv X2k5MTUoc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUpCiAKIHN0YXRpYyBpbnQgaTkxNV9jYXBh YmlsaXRpZXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICpkYXRhKQogewotCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IG5vZGVfdG9faTkxNShtLT5wcml2YXRlKTsKLQljb25z dCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8gPSBJTlRFTF9JTkZPKGRldl9wcml2KTsK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IG5vZGVfdG9faTkxNShtLT5wcml2YXRl KTsKIAlzdHJ1Y3QgZHJtX3ByaW50ZXIgcCA9IGRybV9zZXFfZmlsZV9wcmludGVyKG0pOwotCWNv bnN0IGNoYXIgKm1zZzsKIAotCXNlcV9wcmludGYobSwgImdlbjogJWRcbiIsIElOVEVMX0dFTihk ZXZfcHJpdikpOwotCXNlcV9wcmludGYobSwgInBsYXRmb3JtOiAlc1xuIiwgaW50ZWxfcGxhdGZv cm1fbmFtZShpbmZvLT5wbGF0Zm9ybSkpOwotCXNlcV9wcmludGYobSwgInBjaDogJWRcbiIsIElO VEVMX1BDSF9UWVBFKGRldl9wcml2KSk7Ci0KLQltc2cgPSAibi9hIjsKLSNpZmRlZiBDT05GSUdf SU5URUxfSU9NTVUKLQltc2cgPSBlbmFibGVkZGlzYWJsZWQoaW50ZWxfaW9tbXVfZ2Z4X21hcHBl ZCk7Ci0jZW5kaWYKLQlzZXFfcHJpbnRmKG0sICJpb21tdTogJXNcbiIsIG1zZyk7CisJc2VxX3By aW50ZihtLCAicGNoOiAlZFxuIiwgSU5URUxfUENIX1RZUEUoaTkxNSkpOwogCi0JaW50ZWxfZGV2 aWNlX2luZm9fZHVtcF9mbGFncyhpbmZvLCAmcCk7Ci0JaW50ZWxfZGV2aWNlX2luZm9fZHVtcF9y dW50aW1lKFJVTlRJTUVfSU5GTyhkZXZfcHJpdiksICZwKTsKLQlpbnRlbF9kcml2ZXJfY2Fwc19w cmludCgmZGV2X3ByaXYtPmNhcHMsICZwKTsKKwlpbnRlbF9kZXZpY2VfaW5mb19wcmludF9zdGF0 aWMoSU5URUxfSU5GTyhpOTE1KSwgJnApOworCWludGVsX2RldmljZV9pbmZvX3ByaW50X3J1bnRp bWUoUlVOVElNRV9JTkZPKGk5MTUpLCAmcCk7CisJaW50ZWxfZHJpdmVyX2NhcHNfcHJpbnQoJmk5 MTUtPmNhcHMsICZwKTsKIAogCWtlcm5lbF9wYXJhbV9sb2NrKFRISVNfTU9EVUxFKTsKIAlpOTE1 X3BhcmFtc19kdW1wKCZpOTE1X21vZHBhcmFtcywgJnApOwpAQCAtMjc1OSw3ICsyNzQ5LDcgQEAg c3RhdGljIGludCBpOTE1X3Jjc190b3BvbG9neShzdHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKnVu dXNlZCkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBub2RlX3RvX2k5MTUo bS0+cHJpdmF0ZSk7CiAJc3RydWN0IGRybV9wcmludGVyIHAgPSBkcm1fc2VxX2ZpbGVfcHJpbnRl cihtKTsKIAotCWludGVsX2RldmljZV9pbmZvX2R1bXBfdG9wb2xvZ3koJlJVTlRJTUVfSU5GTyhk ZXZfcHJpdiktPnNzZXUsICZwKTsKKwlpbnRlbF9kZXZpY2VfaW5mb19wcmludF90b3BvbG9neSgm UlVOVElNRV9JTkZPKGRldl9wcml2KS0+c3NldSwgJnApOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuYwppbmRleCA3M2EzODVmODA5ZDMuLjhiMDhjZmUzMDE1MSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0xMzk3LDggKzEzOTcsOCBAQCBzdGF0aWMgdm9pZCBpOTE1 X3dlbGNvbWVfbWVzc2FnZXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJ CQkgICAgIElOVEVMX0lORk8oZGV2X3ByaXYpLT5wbGF0Zm9ybSksCiAJCQkgICBJTlRFTF9HRU4o ZGV2X3ByaXYpKTsKIAotCQlpbnRlbF9kZXZpY2VfaW5mb19kdW1wX2ZsYWdzKElOVEVMX0lORk8o ZGV2X3ByaXYpLCAmcCk7Ci0JCWludGVsX2RldmljZV9pbmZvX2R1bXBfcnVudGltZShSVU5USU1F X0lORk8oZGV2X3ByaXYpLCAmcCk7CisJCWludGVsX2RldmljZV9pbmZvX3ByaW50X3N0YXRpYyhJ TlRFTF9JTkZPKGRldl9wcml2KSwgJnApOworCQlpbnRlbF9kZXZpY2VfaW5mb19wcmludF9ydW50 aW1lKFJVTlRJTUVfSU5GTyhkZXZfcHJpdiksICZwKTsKIAl9CiAKIAlpZiAoSVNfRU5BQkxFRChD T05GSUdfRFJNX0k5MTVfREVCVUcpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9ncHVfZXJyb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMK aW5kZXggMmIzMGE0NWZhMjVjLi44Mzc0ZDUwYzA3NzAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9ncHVfZXJyb3IuYwpAQCAtNTk5LDkgKzU5OSwxMCBAQCBzdGF0aWMgdm9pZCBlcnJfcHJpbnRf Y2FwYWJpbGl0aWVzKHN0cnVjdCBkcm1faTkxNV9lcnJvcl9zdGF0ZV9idWYgKm0sCiB7CiAJc3Ry dWN0IGRybV9wcmludGVyIHAgPSBpOTE1X2Vycm9yX3ByaW50ZXIobSk7CiAKLQlpbnRlbF9kZXZp Y2VfaW5mb19kdW1wX2ZsYWdzKGluZm8sICZwKTsKKwlpbnRlbF9kZXZpY2VfaW5mb19wcmludF9z dGF0aWMoaW5mbywgJnApOworCWludGVsX2RldmljZV9pbmZvX3ByaW50X3J1bnRpbWUocnVudGlt ZSwgJnApOworCWludGVsX2RldmljZV9pbmZvX3ByaW50X3RvcG9sb2d5KCZydW50aW1lLT5zc2V1 LCAmcCk7CiAJaW50ZWxfZHJpdmVyX2NhcHNfcHJpbnQoY2FwcywgJnApOwotCWludGVsX2Rldmlj ZV9pbmZvX2R1bXBfdG9wb2xvZ3koJnJ1bnRpbWUtPnNzZXUsICZwKTsKIH0KIAogc3RhdGljIHZv aWQgZXJyX3ByaW50X3BhcmFtcyhzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICptLApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMKaW5kZXggYTViNTcxMzY0Y2Y2 Li4yY2RlMGJhYzI3ZDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rl dmljZV9pbmZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8u YwpAQCAtNzMsOSArNzMsMzAgQEAgY29uc3QgY2hhciAqaW50ZWxfcGxhdGZvcm1fbmFtZShlbnVt IGludGVsX3BsYXRmb3JtIHBsYXRmb3JtKQogCXJldHVybiBwbGF0Zm9ybV9uYW1lc1twbGF0Zm9y bV07CiB9CiAKLXZvaWQgaW50ZWxfZGV2aWNlX2luZm9fZHVtcF9mbGFncyhjb25zdCBzdHJ1Y3Qg aW50ZWxfZGV2aWNlX2luZm8gKmluZm8sCi0JCQkJICBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApCitz dGF0aWMgY29uc3QgY2hhciAqaW9tbXVfbmFtZSh2b2lkKQogeworCWNvbnN0IGNoYXIgKm1zZyA9 ICJuL2EiOworCisjaWZkZWYgQ09ORklHX0lOVEVMX0lPTU1VCisJbXNnID0gZW5hYmxlZGRpc2Fi bGVkKGludGVsX2lvbW11X2dmeF9tYXBwZWQpOworI2VuZGlmCisKKwlyZXR1cm4gbXNnOworfQor Cit2b2lkIGludGVsX2RldmljZV9pbmZvX3ByaW50X3N0YXRpYyhjb25zdCBzdHJ1Y3QgaW50ZWxf ZGV2aWNlX2luZm8gKmluZm8sCisJCQkJICAgIHN0cnVjdCBkcm1fcHJpbnRlciAqcCkKK3sKKwlk cm1fcHJpbnRmKHAsICJlbmdpbmVzOiAleFxuIiwgaW5mby0+ZW5naW5lX21hc2spOworCWRybV9w cmludGYocCwgImdlbjogJWRcbiIsIGluZm8tPmdlbik7CisJZHJtX3ByaW50ZihwLCAiZ3Q6ICVk XG4iLCBpbmZvLT5ndCk7CisJZHJtX3ByaW50ZihwLCAiaW9tbXU6ICVzXG4iLCBpb21tdV9uYW1l KCkpOworCWRybV9wcmludGYocCwgIm1lbW9yeS1yZWdpb25zOiAleFxuIiwgaW5mby0+bWVtb3J5 X3JlZ2lvbnMpOworCWRybV9wcmludGYocCwgInBhZ2Utc2l6ZXM6ICV4XG4iLCBpbmZvLT5wYWdl X3NpemVzKTsKKwlkcm1fcHJpbnRmKHAsICJwbGF0Zm9ybTogJXNcbiIsIGludGVsX3BsYXRmb3Jt X25hbWUoaW5mby0+cGxhdGZvcm0pKTsKKwlkcm1fcHJpbnRmKHAsICJwcGd0dC1zaXplOiAlZFxu IiwgaW5mby0+cHBndHRfc2l6ZSk7CisJZHJtX3ByaW50ZihwLCAicHBndHQtdHlwZTogJWRcbiIs IGluZm8tPnBwZ3R0X3R5cGUpOworCiAjZGVmaW5lIFBSSU5UX0ZMQUcobmFtZSkgZHJtX3ByaW50 ZihwLCAiJXM6ICVzXG4iLCAjbmFtZSwgeWVzbm8oaW5mby0+bmFtZSkpOwogCURFVl9JTkZPX0ZP Ul9FQUNIX0ZMQUcoUFJJTlRfRkxBRyk7CiAjdW5kZWYgUFJJTlRfRkxBRwpAQCAtMTA2LDggKzEy Nyw4IEBAIHN0YXRpYyB2b2lkIHNzZXVfZHVtcChjb25zdCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAq c3NldSwgc3RydWN0IGRybV9wcmludGVyICpwKQogCWRybV9wcmludGYocCwgImhhcyBFVSBwb3dl ciBnYXRpbmc6ICVzXG4iLCB5ZXNubyhzc2V1LT5oYXNfZXVfcGcpKTsKIH0KIAotdm9pZCBpbnRl bF9kZXZpY2VfaW5mb19kdW1wX3J1bnRpbWUoY29uc3Qgc3RydWN0IGludGVsX3J1bnRpbWVfaW5m byAqaW5mbywKLQkJCQkgICAgc3RydWN0IGRybV9wcmludGVyICpwKQordm9pZCBpbnRlbF9kZXZp Y2VfaW5mb19wcmludF9ydW50aW1lKGNvbnN0IHN0cnVjdCBpbnRlbF9ydW50aW1lX2luZm8gKmlu Zm8sCisJCQkJICAgICBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApCiB7CiAJc3NldV9kdW1wKCZpbmZv LT5zc2V1LCBwKTsKIApAQCAtMTQ4LDggKzE2OSw4IEBAIHN0YXRpYyB2b2lkIHNzZXVfc2V0X2V1 cyhzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwgaW50IHNsaWNlLCBpbnQgc3Vic2xpY2UsCiAJ fQogfQogCi12b2lkIGludGVsX2RldmljZV9pbmZvX2R1bXBfdG9wb2xvZ3koY29uc3Qgc3RydWN0 IHNzZXVfZGV2X2luZm8gKnNzZXUsCi0JCQkJICAgICBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApCit2 b2lkIGludGVsX2RldmljZV9pbmZvX3ByaW50X3RvcG9sb2d5KGNvbnN0IHN0cnVjdCBzc2V1X2Rl dl9pbmZvICpzc2V1LAorCQkJCSAgICAgIHN0cnVjdCBkcm1fcHJpbnRlciAqcCkKIHsKIAlpbnQg cywgc3M7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9p bmZvLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCmluZGV4IDRi ZGY4YTZjZmI0Ny4uMWEyNTFkNDI3NDlkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZXZpY2VfaW5mby5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rl dmljZV9pbmZvLmgKQEAgLTIzMCwxMiArMjMwLDEzIEBAIGNvbnN0IGNoYXIgKmludGVsX3BsYXRm b3JtX25hbWUoZW51bSBpbnRlbF9wbGF0Zm9ybSBwbGF0Zm9ybSk7CiAKIHZvaWQgaW50ZWxfZGV2 aWNlX2luZm9fc3VicGxhdGZvcm1faW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpOwogdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KTsKLXZvaWQgaW50ZWxfZGV2aWNlX2luZm9fZHVtcF9mbGFncyhj b25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gKmluZm8sCi0JCQkJICBzdHJ1Y3QgZHJtX3By aW50ZXIgKnApOwotdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19kdW1wX3J1bnRpbWUoY29uc3Qgc3Ry dWN0IGludGVsX3J1bnRpbWVfaW5mbyAqaW5mbywKKwordm9pZCBpbnRlbF9kZXZpY2VfaW5mb19w cmludF9zdGF0aWMoY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvICppbmZvLAorCQkJCSAg ICBzdHJ1Y3QgZHJtX3ByaW50ZXIgKnApOwordm9pZCBpbnRlbF9kZXZpY2VfaW5mb19wcmludF9y dW50aW1lKGNvbnN0IHN0cnVjdCBpbnRlbF9ydW50aW1lX2luZm8gKmluZm8sCiAJCQkJICAgIHN0 cnVjdCBkcm1fcHJpbnRlciAqcCk7Ci12b2lkIGludGVsX2RldmljZV9pbmZvX2R1bXBfdG9wb2xv Z3koY29uc3Qgc3RydWN0IHNzZXVfZGV2X2luZm8gKnNzZXUsCi0JCQkJICAgICBzdHJ1Y3QgZHJt X3ByaW50ZXIgKnApOwordm9pZCBpbnRlbF9kZXZpY2VfaW5mb19wcmludF90b3BvbG9neShjb25z dCBzdHJ1Y3Qgc3NldV9kZXZfaW5mbyAqc3NldSwKKwkJCQkgICAgICBzdHJ1Y3QgZHJtX3ByaW50 ZXIgKnApOwogCiB2b2lkIGludGVsX2RldmljZV9pbmZvX2luaXRfbW1pbyhzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCi0tIAoyLjI0LjAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==