From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: Re: [PATCH 15/20] drm/i915: Debugfs support for GuC logging control Date: Fri, 12 Aug 2016 16:57:02 +0100 Message-ID: <57ADF1CE.5050306@linux.intel.com> References: <1470983123-22127-1-git-send-email-akash.goel@intel.com> <1470983123-22127-16-git-send-email-akash.goel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 7CD1F6E2ED for ; Fri, 12 Aug 2016 15:57:03 +0000 (UTC) In-Reply-To: <1470983123-22127-16-git-send-email-akash.goel@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: akash.goel@intel.com, intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Ck9uIDEyLzA4LzE2IDA3OjI1LCBha2FzaC5nb2VsQGludGVsLmNvbSB3cm90ZToKPiBGcm9tOiBT YWdhciBBcnVuIEthbWJsZSA8c2FnYXIuYS5rYW1ibGVAaW50ZWwuY29tPgo+Cj4gVGhpcyBwYXRj aCBwcm92aWRlcyBkZWJ1Z2ZzIGludGVyZmFjZSBpOTE1X2d1Y19vdXRwdXRfY29udHJvbCBmb3IK PiBvbiB0aGUgZmx5IGVuYWJsaW5nL2Rpc2FibGluZyBvZiBsb2dnaW5nIGluIEd1QyBmaXJtd2Fy ZSBhbmQgY29udHJvbGxpbmcKPiB0aGUgdmVyYm9zaXR5IGxldmVsIG9mIGxvZ3MuCj4gVGhlIHZh bHVlIHdyaXR0ZW4gdG8gdGhlIGZpbGUsIHNob3VsZCBoYXZlIGJpdCAwIHNldCB0byBlbmFibGUg bG9nZ2luZyBhbmQKPiBiaXRzIDQtNyBzaG91bGQgY29udGFpbiB0aGUgdmVyYm9zaXR5IGluZm8u Cj4KPiB2MjogQWRkIGEgZm9yY2VmdWwgZmx1c2gsIHRvIGNvbGxlY3QgbGVmdCBvdmVyIGxvZ3Ms IG9uIGRpc2FibGluZyBsb2dnaW5nLgo+ICAgICAgVXNlZnVsIGZvciBWYWxpZGF0aW9uLgo+Cj4g djM6IEJlc2lkZXMgbWlub3IgY2xlYW51cCwgaW1wbGVtZW50IHJlYWQgbWV0aG9kIGZvciB0aGUg ZGVidWdmcyBmaWxlIGFuZAo+ICAgICAgc2V0IHRoZSBndWNfbG9nX2xldmVsIHRvIC0xIHdoZW4g bG9nZ2luZyBpcyBkaXNhYmxlZC4gKFR2cnRrbykKPgo+IFNpZ25lZC1vZmYtYnk6IFNhZ2FyIEFy dW4gS2FtYmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogQWth c2ggR29lbCA8YWthc2guZ29lbEBpbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgICAgfCA0NCArKysrKysrKysrKysrKysrKysrKy0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8IDYzICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3Vj LmggICAgICAgICAgIHwgIDEgKwo+ICAgMyBmaWxlcyBjaGFuZ2VkLCAxMDcgaW5zZXJ0aW9ucygr KSwgMSBkZWxldGlvbigtKQo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBpbmRl eCAxNGUwZGNmLi5mNDcyZmJjZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMu Ywo+IEBAIC0yNjc0LDYgKzI2NzQsNDcgQEAgc3RhdGljIGludCBpOTE1X2d1Y19sb2dfZHVtcChz dHJ1Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCj4gICAJcmV0dXJuIDA7Cj4gICB9Cj4KPiAr c3RhdGljIGludCBpOTE1X2d1Y19sb2dfY29udHJvbF9nZXQodm9pZCAqZGF0YSwgdTY0ICp2YWwp Cj4gK3sKPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkYXRhOwo+ICsJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICsKPiArCWlmICghZGV2X3By aXYtPmd1Yy5sb2cub2JqKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCSp2YWwgPSBpOTE1 Lmd1Y19sb2dfbGV2ZWw7Cj4gKwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQg aTkxNV9ndWNfbG9nX2NvbnRyb2xfc2V0KHZvaWQgKmRhdGEsIHU2NCB2YWwpCj4gK3sKPiArCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkYXRhOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICsJaW50IHJldDsKPiArCj4gKwlyZXQgPSBtdXRl eF9sb2NrX2ludGVycnVwdGlibGUoJmRldi0+c3RydWN0X211dGV4KTsKPiArCWlmIChyZXQpCj4g KwkJcmV0dXJuIHJldDsKPiArCj4gKwlpZiAoIWRldl9wcml2LT5ndWMubG9nLm9iaikgewo+ICsJ CXJldCA9IC1FSU5WQUw7Cj4gKwkJZ290byBlbmQ7Cj4gKwl9Cj4gKwo+ICsJaW50ZWxfcnVudGlt ZV9wbV9nZXQoZGV2X3ByaXYpOwo+ICsJcmV0ID0gaTkxNV9ndWNfbG9nX2NvbnRyb2woZGV2X3By aXYsIHZhbCk7Cj4gKwlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7Cj4gKwo+ICtlbmQ6 Cj4gKwltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKPiArCXJldHVybiByZXQ7Cj4g K30KPiArCj4gK0RFRklORV9TSU1QTEVfQVRUUklCVVRFKGk5MTVfZ3VjX2xvZ19jb250cm9sX2Zv cHMsCj4gKwkJCWk5MTVfZ3VjX2xvZ19jb250cm9sX2dldCwgaTkxNV9ndWNfbG9nX2NvbnRyb2xf c2V0LAo+ICsJCQkiJWxsZFxuIik7Cj4gKwo+ICAgc3RhdGljIGludCBpOTE1X2VkcF9wc3Jfc3Rh dHVzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqZGF0YSkKPiAgIHsKPiAgIAlzdHJ1Y3QgZHJt X2luZm9fbm9kZSAqbm9kZSA9IG0tPnByaXZhdGU7Cj4gQEAgLTU0NzcsNyArNTUxOCw4IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9kZWJ1Z2ZzX2ZpbGVzIHsKPiAgIAl7Imk5MTVfZmJjX2Zh bHNlX2NvbG9yIiwgJmk5MTVfZmJjX2ZjX2ZvcHN9LAo+ICAgCXsiaTkxNV9kcF90ZXN0X2RhdGEi LCAmaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2RhdGFfZm9wc30sCj4gICAJeyJpOTE1X2RwX3Rlc3Rf dHlwZSIsICZpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfdHlwZV9mb3BzfSwKPiAtCXsiaTkxNV9kcF90 ZXN0X2FjdGl2ZSIsICZpOTE1X2Rpc3BsYXlwb3J0X3Rlc3RfYWN0aXZlX2ZvcHN9Cj4gKwl7Imk5 MTVfZHBfdGVzdF9hY3RpdmUiLCAmaTkxNV9kaXNwbGF5cG9ydF90ZXN0X2FjdGl2ZV9mb3BzfSwK PiArCXsiaTkxNV9ndWNfbG9nX2NvbnRyb2wiLCAmaTkxNV9ndWNfbG9nX2NvbnRyb2xfZm9wc30K PiAgIH07Cj4KPiAgIHZvaWQgaW50ZWxfZGlzcGxheV9jcmNfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJt aXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKPiBp bmRleCA0YTc1YzE2Li4wNDFjZjY4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z3VjX3N1Ym1pc3Npb24uYwo+IEBAIC0xOTUsNiArMTk1LDE2IEBAIHN0YXRpYyBpbnQgaG9zdDJn dWNfZm9yY2VfbG9nYnVmZmVyX2ZsdXNoKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPiAgIAlyZXR1 cm4gaG9zdDJndWNfYWN0aW9uKGd1YywgZGF0YSwgMik7Cj4gICB9Cj4KPiArc3RhdGljIGludCBo b3N0Mmd1Y19sb2dnaW5nX2NvbnRyb2woc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1MzIgY29udHJv bF92YWwpCj4gK3sKPiArCXUzMiBkYXRhWzJdOwo+ICsKPiArCWRhdGFbMF0gPSBIT1NUMkdVQ19B Q1RJT05fVUtfTE9HX0VOQUJMRV9MT0dHSU5HOwo+ICsJZGF0YVsxXSA9IGNvbnRyb2xfdmFsOwo+ ICsKPiArCXJldHVybiBob3N0Mmd1Y19hY3Rpb24oZ3VjLCBkYXRhLCAyKTsKPiArfQo+ICsKPiAg IC8qCj4gICAgKiBJbml0aWFsaXNlLCB1cGRhdGUsIG9yIGNsZWFyIGRvb3JiZWxsIGRhdGEgc2hh cmVkIHdpdGggdGhlIEd1Qwo+ICAgICoKPiBAQCAtMTUzOCwzICsxNTQ4LDU2IEBAIHZvaWQgaTkx NV9ndWNfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ICAgCWd1 Y19sb2dfbGF0ZV9zZXR1cCgmZGV2X3ByaXYtPmd1Yyk7Cj4gICAJbXV0ZXhfdW5sb2NrKCZkZXZf cHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4gICB9Cj4gKwo+ICtpbnQgaTkxNV9ndWNfbG9nX2Nv bnRyb2woc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1NjQgY29udHJvbF92YWwp Cj4gK3sKPiArCXVuaW9uIGd1Y19sb2dfY29udHJvbCBsb2dfcGFyYW07Cj4gKwlpbnQgcmV0Owo+ ICsKPiArCWxvZ19wYXJhbS5sb2dnaW5nX2VuYWJsZWQgPSBjb250cm9sX3ZhbCAmIDB4MTsKPiAr CWxvZ19wYXJhbS52ZXJib3NpdHkgPSAoY29udHJvbF92YWwgPj4gNCkgJiAweEY7CgpNYXliZSAi bG9nX3BhcmFtLnZhbHVlID0gY29udHJvbF92YWwiIHdvdWxkIGFsc28gd29yayBzaW5jZSAKZ3Vj X2xvZ19jb250cm9sIGlzIGNvbnZlbmllbnRseSBkZWZpbmVkIGFzIGFuIHVuaW9uLiBEb2Vzbid0 IG1hdHRlciB0aG91Z2guCgo+ICsKPiArCWlmIChsb2dfcGFyYW0udmVyYm9zaXR5IDwgR1VDX0xP R19WRVJCT1NJVFlfTUlOIHx8Cj4gKwkgICAgbG9nX3BhcmFtLnZlcmJvc2l0eSA+IEdVQ19MT0df VkVSQk9TSVRZX01BWCkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwkvKiBUaGlzIGNvbWJp bmF0aW9uIGRvZXNuJ3QgbWFrZSBzZW5zZSAmIHdvbid0IGhhdmUgYW55IGVmZmVjdCAqLwo+ICsJ aWYgKCFsb2dfcGFyYW0ubG9nZ2luZ19lbmFibGVkICYmIChpOTE1Lmd1Y19sb2dfbGV2ZWwgPCAw KSkKPiArCQlyZXR1cm4gMDsKCkkgd29uZGVyIGlmIGl0IHdvdWxkIHdvcmsgYW5kIG1heWJlIGxv b2sgbmljZXIgdG8gZ2VuZXJhbGl6ZSBhczoKCglpbnQgZ3VjX2xvZ19sZXZlbDsKCglndWNfbG9n X2xldmVsID0gbG9nX3BhcmFtLmxvZ2dpbmdfZW5hYmxlZCA/IGxvZ19wYXJhbS52ZXJib3NpdHkg OiAtMTsKCWlmIChpOTE1Lmd1Y19sb2dfbGV2ZWwgPT0gZ3VjX2xvZ19sZXZlbCkKCQlyZXR1cm4g MDsKPiArCj4gKwlyZXQgPSBob3N0Mmd1Y19sb2dnaW5nX2NvbnRyb2woJmRldl9wcml2LT5ndWMs IGxvZ19wYXJhbS52YWx1ZSk7Cj4gKwlpZiAocmV0IDwgMCkgewo+ICsJCURSTV9ERUJVR19EUklW RVIoImhvc3QyZ3VjIGFjdGlvbiBmYWlsZWQgJWRcbiIsIHJldCk7Cj4gKwkJcmV0dXJuIHJldDsK PiArCX0KPiArCj4gKwlpOTE1Lmd1Y19sb2dfbGV2ZWwgPSBsb2dfcGFyYW0udmVyYm9zaXR5OwoK VGhpcyB3b3VsZCB0aGVuIGJlY29tZSBpOTE1Lmd1Y19sb2dfbGV2ZWwgPSBndWNfbG9nX2xldmVs LgoKPiArCj4gKwkvKiBJZiBsb2dfbGV2ZWwgd2FzIHNldCBhcyAtMSBhdCBib290IHRpbWUsIHRo ZW4gdGhlIHJlbGF5IGNoYW5uZWwgZmlsZQo+ICsJICogd291bGRuJ3QgaGF2ZSBiZWVuIGNyZWF0 ZWQgYnkgbm93IGFuZCBpbnRlcnJ1cHRzIGFsc28gd291bGQgbm90IGhhdmUKPiArCSAqIGJlZW4g ZW5hYmxlZC4KPiArCSAqLwo+ICsJaWYgKCFkZXZfcHJpdi0+Z3VjLmxvZy5yZWxheV9jaGFuKSB7 Cj4gKwkJcmV0ID0gZ3VjX2xvZ19sYXRlX3NldHVwKCZkZXZfcHJpdi0+Z3VjKTsKPiArCQlpZiAo IXJldCkKPiArCQkJZ2VuOV9lbmFibGVfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOwo+ICsJfSBl bHNlIGlmICghbG9nX3BhcmFtLmxvZ2dpbmdfZW5hYmxlZCkgewo+ICsJCS8qIE9uY2UgbG9nZ2lu ZyBpcyBkaXNhYmxlZCwgR3VDIHdvbid0IGdlbmVyYXRlIGxvZ3MgJiBzZW5kIGFuCj4gKwkJICog aW50ZXJydXB0LiBCdXQgdGhlcmUgY291bGQgYmUgc29tZSBkYXRhIGluIHRoZSBsb2cgYnVmZmVy Cj4gKwkJICogd2hpY2ggaXMgeWV0IHRvIGJlIGNhcHR1cmVkLiBTbyByZXF1ZXN0IEd1QyB0byB1 cGRhdGUgdGhlIGxvZwo+ICsJCSAqIGJ1ZmZlciBzdGF0ZSBhbmQgdGhlbiBjb2xsZWN0IHRoZSBs ZWZ0IG92ZXIgbG9ncy4KPiArCQkgKi8KPiArCQlpOTE1X2d1Y19mbHVzaF9sb2dzKGRldl9wcml2 KTsKPiArCj4gKwkJLyogR3VDIHdvdWxkIGhhdmUgdXBkYXRlZCB0aGUgbG9nIGJ1ZmZlciBieSBu b3csIHNvIGNhcHR1cmUgaXQgKi8KPiArCQlpOTE1X2d1Y19jYXB0dXJlX2xvZ3MoZGV2X3ByaXYp Owo+ICsKPiArCQkvKiBBcyBsb2dnaW5nIGlzIGRpc2FibGVkLCB1cGRhdGUgdGhlIGxvZyBsZXZl bCB0byByZWZsZWN0IHRoYXQgKi8KPiArCQlpOTE1Lmd1Y19sb2dfbGV2ZWwgPSAtMTsKPiArCX0g ZWxzZSB7Cj4gKwkJLyogSW4gY2FzZSBpbnRlcnJ1cHRzIHdlcmUgZGlzYWJsZWQsIGVuYWJsZSB0 aGVtIG5vdyAqLwo+ICsJCWdlbjlfZW5hYmxlX2d1Y19pbnRlcnJ1cHRzKGRldl9wcml2KTsKPiAr CX0KCkFuZCB0aGlzIGJsb2NrIHdvdWxkIG5lZWQgc29tZSBhZGp1c3RtZW50cyB3aXRoIG15IGd1 Y19sb2dfbGV2ZWwgaWRlYS4KCldlbGwgbm90IHN1cmUsIHNlZSB3aGF0IHlvdSB0aGluay4gSSBh bSBqdXN0IGF0dHJhY3RlZCB0byB0aGUgaWRlYSBvZiAKb3BlcmF0aW5nIGluIHRoZSBzYW1lIHZh bHVlIGRvbWFpbiBhcyBtdWNoIGFzIHBvc3NpYmxlIGZvciByZWFkYWJpbGl0eSAKYW5kIHNpbXBs aWNpdHkuIE1heWJlIGl0IHdvdWxkIG5vdCBpbXByb3ZlIGFueXRoaW5nLCBJIGRpZCBub3QgYm90 aGVyIAp3aXRoIHR5cGluZyBpdCBhbGwgdG8gY2hlY2suCgo+ICsKPiArCXJldHVybiByZXQ7Cj4g K30KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+IGluZGV4IGQzYTU0NDcuLjJmOGM0MDggMTAw NjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAo+IEBAIC0xODYsNSArMTg2LDYgQEAgdm9pZCBp OTE1X2d1Y19jYXB0dXJlX2xvZ3Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsK PiAgIHZvaWQgaTkxNV9ndWNfZmx1c2hfbG9ncyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpOwo+ICAgdm9pZCBpOTE1X2d1Y19yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpOwo+ICAgdm9pZCBpOTE1X2d1Y191bnJlZ2lzdGVyKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdik7Cj4gK2ludCBpOTE1X2d1Y19sb2dfY29udHJvbChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU2NCBjb250cm9sX3ZhbCk7Cj4KPiAgICNlbmRp Zgo+CgpQYXRjaCBsb29rcyBjb3JyZWN0IGFzIGlzLCBzbzoKClJldmlld2VkLWJ5OiBUdnJ0a28g VXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgoKQWx0aG91Z2ggSSB3b3VsZCBiZSBo YXBwaWVyIHRob3VnaCBpZiBteSBzdWdnZXN0aW9uIHRvIHVzZSB0aGUgc2FtZSAKdmFsdWUgZG9t YWluIGFzIGZvciB0aGUgbW9kdWxlIHBhcmFtZXRlciB3YXMgdXNlZC4gSW4gb3RoZXIgd29yZHM6 CgoJeyJpOTE1X2d1Y19sb2dfbGV2ZWwiLCAmaTkxNV9ndWNfbG9nX2NvbnRyb2xfZm9wc30KCi4u LgoKaW50IGk5MTVfZ3VjX2xvZ19jb250cm9sKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgdTY0IGNvbnRyb2xfdmFsKQouLi4KCWludCBndWNfbG9nX2xldmVsID0gKGludCljb250 cm9sX3ZhbDsKLi4uCglsb2dfcGFyYW0ubG9nZ2luZ19lbmFibGVkID0gZ3VjX2xvZ19sZXZlbCA+ IC0xOwoJbG9nX3BhcmFtLnZlcmJvc2l0eSA9IGd1Y19sb2dfbGV2ZWwgPiAtMSA/IGd1Y19sb2df bGV2ZWwgOiAwOwouLi4KCkl0IHRoaW5rIGl0IHdvdWxkIGJlIHNpbXBsZXIgZm9yIHRoZSB1c2Vy IGFuZCBkZXZlbG9wZXIgdG8gb25seSBoYXZlIHRvIAp0aGluayBhYm91dCBvbmUgc2V0IG9mIHZh bHVlcyB3aGVuIGRlYWxpbmcgd2l0aCBndWMgbG9nZ2luZy4KCkJ1dCBtYXliZSBleHRlbnNpb25z IHRvIGd1Y19sb2dfY29udHJvbCBhcmUgaW1taW5lbnQgYW5kIGV4cGVjdGVkIHNvIGl0IAp3b3Vs ZCBub3QgYmUgd29ydGggaXQgaW4gdGhlIGxvbmcgcnVuLiBObyBpZGVhLgoKUmVnYXJkcywKClR2 cnRrbwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRl bC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK