From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: Re: [PATCH 08/12] drm/msm: dpu: Move DPU_POWER_HANDLE_DBUS_ID to core_perf Date: Mon, 12 Nov 2018 17:27:57 -0800 Message-ID: <86956e00c085b26945f8b8cce428517f@codeaurora.org> References: <20181112194222.193546-1-sean@poorly.run> <20181112194222.193546-9-sean@poorly.run> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181112194222.193546-9-sean@poorly.run> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sean Paul Cc: linux-arm-msm@vger.kernel.org, Abhinav Kumar , Sean Paul , dri-devel@lists.freedesktop.org, freedreno@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org T24gMjAxOC0xMS0xMiAxMTo0MiwgU2VhbiBQYXVsIHdyb3RlOgo+IEZyb206IFNlYW4gUGF1bCA8 c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+IAo+IEl0J3Mgb25seSB1c2VkIGluIGNvcmVfcGVyZiwg c28gc3RpY2sgaXQgdGhlcmUgKGFuZCBjaGFuZ2UgdGhlIG5hbWUgdG8KPiByZWZsZWN0IHRoYXQp Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgo+ IC0tLQoKUmV2aWV3ZWQtYnk6IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29kZWF1cm9yYS5v cmc+Cgo+ICBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9wZXJmLmMgfCAz NCArKysrKysrKystLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9jb3JlX3BlcmYuaCB8IDE3ICsrKysrKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2NydGMuYyAgICAgIHwgIDQgKy0tCj4gIC4uLi9ncHUvZHJtL21zbS9kaXNwL2Rw dTEvZHB1X3Bvd2VyX2hhbmRsZS5oICB8IDEzIC0tLS0tLS0KPiAgNCBmaWxlcyBjaGFuZ2VkLCAz NCBpbnNlcnRpb25zKCspLCAzNCBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5jCj4gYi9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfY29yZV9wZXJmLmMKPiBpbmRleCBlZjZkZDQzZjhiZWMuLmJm ZmM1MWU0OTZlNyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfY29yZV9wZXJmLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf Y29yZV9wZXJmLmMKPiBAQCAtOTUsMjAgKzk1LDIwIEBAIHN0YXRpYyB2b2lkIF9kcHVfY29yZV9w ZXJmX2NhbGNfY3J0YyhzdHJ1Y3QgZHB1X2ttcwo+ICprbXMsCj4gIAltZW1zZXQocGVyZiwgMCwg c2l6ZW9mKHN0cnVjdCBkcHVfY29yZV9wZXJmX3BhcmFtcykpOwo+IAo+ICAJaWYgKCFkcHVfY3N0 YXRlLT5id19jb250cm9sKSB7Cj4gLQkJZm9yIChpID0gMDsgaSA8IERQVV9QT1dFUl9IQU5ETEVf REJVU19JRF9NQVg7IGkrKykgewo+ICsJCWZvciAoaSA9IDA7IGkgPCBEUFVfQ09SRV9QRVJGX0RB VEFfQlVTX0lEX01BWDsgaSsrKSB7Cj4gIAkJCXBlcmYtPmJ3X2N0bFtpXSA9IGttcy0+Y2F0YWxv Zy0+cGVyZi5tYXhfYndfaGlnaCAqCj4gIAkJCQkJMTAwMFVMTDsKPiAgCQkJcGVyZi0+bWF4X3Bl cl9waXBlX2liW2ldID0gcGVyZi0+YndfY3RsW2ldOwo+ICAJCX0KPiAgCQlwZXJmLT5jb3JlX2Ns a19yYXRlID0ga21zLT5wZXJmLm1heF9jb3JlX2Nsa19yYXRlOwo+ICAJfSBlbHNlIGlmIChrbXMt PnBlcmYucGVyZl90dW5lLm1vZGUgPT0gRFBVX1BFUkZfTU9ERV9NSU5JTVVNKSB7Cj4gLQkJZm9y IChpID0gMDsgaSA8IERQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9NQVg7IGkrKykgewo+ICsJCWZv ciAoaSA9IDA7IGkgPCBEUFVfQ09SRV9QRVJGX0RBVEFfQlVTX0lEX01BWDsgaSsrKSB7Cj4gIAkJ CXBlcmYtPmJ3X2N0bFtpXSA9IDA7Cj4gIAkJCXBlcmYtPm1heF9wZXJfcGlwZV9pYltpXSA9IDA7 Cj4gIAkJfQo+ICAJCXBlcmYtPmNvcmVfY2xrX3JhdGUgPSAwOwo+ICAJfSBlbHNlIGlmIChrbXMt PnBlcmYucGVyZl90dW5lLm1vZGUgPT0gRFBVX1BFUkZfTU9ERV9GSVhFRCkgewo+IC0JCWZvciAo aSA9IDA7IGkgPCBEUFVfUE9XRVJfSEFORExFX0RCVVNfSURfTUFYOyBpKyspIHsKPiArCQlmb3Ig KGkgPSAwOyBpIDwgRFBVX0NPUkVfUEVSRl9EQVRBX0JVU19JRF9NQVg7IGkrKykgewo+ICAJCQlw ZXJmLT5id19jdGxbaV0gPSBrbXMtPnBlcmYuZml4X2NvcmVfYWJfdm90ZTsKPiAgCQkJcGVyZi0+ bWF4X3Blcl9waXBlX2liW2ldID0KPiBrbXMtPnBlcmYuZml4X2NvcmVfaWJfdm90ZTsKPiAgCQl9 Cj4gQEAgLTExOCwxMiArMTE4LDEyIEBAIHN0YXRpYyB2b2lkIF9kcHVfY29yZV9wZXJmX2NhbGNf Y3J0YyhzdHJ1Y3QgCj4gZHB1X2ttcwo+ICprbXMsCj4gIAlEUFVfREVCVUcoCj4gIAkJImNydGM9 JWQgY2xrX3JhdGU9JWxsdSBjb3JlX2liPSVsbHUgY29yZV9hYj0lbGx1Cj4gbGxjY19pYj0lbGx1 IGxsY2NfYWI9JWxsdSBtZW1faWI9JWxsdSBtZW1fYWI9JWxsdVxuIiwKPiAgCQkJY3J0Yy0+YmFz ZS5pZCwgcGVyZi0+Y29yZV9jbGtfcmF0ZSwKPiAtCj4gcGVyZi0+bWF4X3Blcl9waXBlX2liW0RQ VV9QT1dFUl9IQU5ETEVfREJVU19JRF9NTk9DXSwKPiAtCQkJcGVyZi0+YndfY3RsW0RQVV9QT1dF Ul9IQU5ETEVfREJVU19JRF9NTk9DXSwKPiAtCj4gcGVyZi0+bWF4X3Blcl9waXBlX2liW0RQVV9Q T1dFUl9IQU5ETEVfREJVU19JRF9MTENDXSwKPiAtCQkJcGVyZi0+YndfY3RsW0RQVV9QT1dFUl9I QU5ETEVfREJVU19JRF9MTENDXSwKPiAtCj4gcGVyZi0+bWF4X3Blcl9waXBlX2liW0RQVV9QT1dF Ul9IQU5ETEVfREJVU19JRF9FQkldLAo+IC0JCQlwZXJmLT5id19jdGxbRFBVX1BPV0VSX0hBTkRM RV9EQlVTX0lEX0VCSV0pOwo+ICsKPiBwZXJmLT5tYXhfcGVyX3BpcGVfaWJbRFBVX0NPUkVfUEVS Rl9EQVRBX0JVU19JRF9NTk9DXSwKPiArCQkJcGVyZi0+YndfY3RsW0RQVV9DT1JFX1BFUkZfREFU QV9CVVNfSURfTU5PQ10sCj4gKwo+IHBlcmYtPm1heF9wZXJfcGlwZV9pYltEUFVfQ09SRV9QRVJG X0RBVEFfQlVTX0lEX0xMQ0NdLAo+ICsJCQlwZXJmLT5id19jdGxbRFBVX0NPUkVfUEVSRl9EQVRB X0JVU19JRF9MTENDXSwKPiArCj4gcGVyZi0+bWF4X3Blcl9waXBlX2liW0RQVV9DT1JFX1BFUkZf REFUQV9CVVNfSURfRUJJXSwKPiArCQkJcGVyZi0+YndfY3RsW0RQVV9DT1JFX1BFUkZfREFUQV9C VVNfSURfRUJJXSk7Cj4gIH0KPiAKPiAgaW50IGRwdV9jb3JlX3BlcmZfY3J0Y19jaGVjayhzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gQEAgLTE1OCw4ICsxNTgsOCBAQCBpbnQgZHB1X2NvcmVfcGVy Zl9jcnRjX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKPiAgCS8qIG9idGFpbiBuZXcgdmFs dWVzICovCj4gIAlfZHB1X2NvcmVfcGVyZl9jYWxjX2NydGMoa21zLCBjcnRjLCBzdGF0ZSwgJmRw dV9jc3RhdGUtPm5ld19wZXJmKTsKPiAKPiAtCWZvciAoaSA9IERQVV9QT1dFUl9IQU5ETEVfREJV U19JRF9NTk9DOwo+IC0JCQlpIDwgRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01BWDsgaSsrKSB7 Cj4gKwlmb3IgKGkgPSBEUFVfQ09SRV9QRVJGX0RBVEFfQlVTX0lEX01OT0M7Cj4gKwkJCWkgPCBE UFVfQ09SRV9QRVJGX0RBVEFfQlVTX0lEX01BWDsgaSsrKSB7Cj4gIAkJYndfc3VtX29mX2ludGZz ID0gZHB1X2NzdGF0ZS0+bmV3X3BlcmYuYndfY3RsW2ldOwo+ICAJCWN1cnJfY2xpZW50X3R5cGUg PSBkcHVfY3J0Y19nZXRfY2xpZW50X3R5cGUoY3J0Yyk7Cj4gCj4gQEAgLTI5MCw3ICsyOTAsNyBA QCB2b2lkIGRwdV9jb3JlX3BlcmZfY3J0Y19yZWxlYXNlX2J3KHN0cnVjdCBkcm1fY3J0Ywo+ICpj cnRjKQo+ICAJaWYgKGttcy0+cGVyZi5lbmFibGVfYndfcmVsZWFzZSkgewo+ICAJCXRyYWNlX2Rw dV9jbWRfcmVsZWFzZV9idyhjcnRjLT5iYXNlLmlkKTsKPiAgCQlEUFVfREVCVUcoIlJlbGVhc2Ug QlcgY3J0Yz0lZFxuIiwgY3J0Yy0+YmFzZS5pZCk7Cj4gLQkJZm9yIChpID0gMDsgaSA8IERQVV9Q T1dFUl9IQU5ETEVfREJVU19JRF9NQVg7IGkrKykgewo+ICsJCWZvciAoaSA9IDA7IGkgPCBEUFVf Q09SRV9QRVJGX0RBVEFfQlVTX0lEX01BWDsgaSsrKSB7Cj4gIAkJCWRwdV9jcnRjLT5jdXJfcGVy Zi5id19jdGxbaV0gPSAwOwo+ICAJCQlfZHB1X2NvcmVfcGVyZl9jcnRjX3VwZGF0ZV9idXMoa21z LCBjcnRjLCBpKTsKPiAgCQl9Cj4gQEAgLTM2Nyw3ICszNjcsNyBAQCBpbnQgZHB1X2NvcmVfcGVy Zl9jcnRjX3VwZGF0ZShzdHJ1Y3QgZHJtX2NydGMgCj4gKmNydGMsCj4gIAluZXcgPSAmZHB1X2Nz dGF0ZS0+bmV3X3BlcmY7Cj4gCj4gIAlpZiAoX2RwdV9jb3JlX3BlcmZfY3J0Y19pc19wb3dlcl9v bihjcnRjKSAmJiAhc3RvcF9yZXEpIHsKPiAtCQlmb3IgKGkgPSAwOyBpIDwgRFBVX1BPV0VSX0hB TkRMRV9EQlVTX0lEX01BWDsgaSsrKSB7Cj4gKwkJZm9yIChpID0gMDsgaSA8IERQVV9DT1JFX1BF UkZfREFUQV9CVVNfSURfTUFYOyBpKyspIHsKPiAgCQkJLyoKPiAgCQkJICogY2FzZXMgZm9yIGJ1 cyBiYW5kd2lkdGggdXBkYXRlLgo+ICAJCQkgKiAxLiBuZXcgYmFuZHdpZHRoIHZvdGUgLSAiYWIg b3IgaWIgdm90ZSIgaXMKPiBoaWdoZXIKPiBAQCAtNDA5LDEzICs0MDksMTMgQEAgaW50IGRwdV9j b3JlX3BlcmZfY3J0Y191cGRhdGUoc3RydWN0IGRybV9jcnRjIAo+ICpjcnRjLAo+ICAJCXVwZGF0 ZV9jbGsgPSAxOwo+ICAJfQo+ICAJdHJhY2VfZHB1X3BlcmZfY3J0Y191cGRhdGUoY3J0Yy0+YmFz ZS5pZCwKPiAtCj4gbmV3LT5id19jdGxbRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01OT0NdLAo+ IC0KPiBuZXctPmJ3X2N0bFtEUFVfUE9XRVJfSEFORExFX0RCVVNfSURfTExDQ10sCj4gLQkJCQlu ZXctPmJ3X2N0bFtEUFVfUE9XRVJfSEFORExFX0RCVVNfSURfRUJJXSwKPiArCj4gbmV3LT5id19j dGxbRFBVX0NPUkVfUEVSRl9EQVRBX0JVU19JRF9NTk9DXSwKPiArCj4gbmV3LT5id19jdGxbRFBV X0NPUkVfUEVSRl9EQVRBX0JVU19JRF9MTENDXSwKPiArCj4gbmV3LT5id19jdGxbRFBVX0NPUkVf UEVSRl9EQVRBX0JVU19JRF9FQkldLAo+ICAJCQkJbmV3LT5jb3JlX2Nsa19yYXRlLCBzdG9wX3Jl cSwKPiAgCQkJCXVwZGF0ZV9idXMsIHVwZGF0ZV9jbGspOwo+IAo+IC0JZm9yIChpID0gMDsgaSA8 IERQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9NQVg7IGkrKykgewo+ICsJZm9yIChpID0gMDsgaSA8 IERQVV9DT1JFX1BFUkZfREFUQV9CVVNfSURfTUFYOyBpKyspIHsKPiAgCQlpZiAodXBkYXRlX2J1 cyAmIEJJVChpKSkgewo+ICAJCQlyZXQgPSBfZHB1X2NvcmVfcGVyZl9jcnRjX3VwZGF0ZV9idXMo a21zLCBjcnRjLAo+IGkpOwo+ICAJCQlpZiAocmV0KSB7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jb3JlX3BlcmYuaAo+IGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2NvcmVfcGVyZi5oCj4gaW5kZXggNjhiODRkODVlYjhmLi5jNzA4 NDUxYTk0YTEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2NvcmVfcGVyZi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Nv cmVfcGVyZi5oCj4gQEAgLTIyLDYgKzIyLDE5IEBACj4gCj4gICNkZWZpbmUJRFBVX1BFUkZfREVG QVVMVF9NQVhfQ09SRV9DTEtfUkFURQk0MTI1MDAwMDAKPiAKPiArLyoqCj4gKyAqIGVudW0gZHB1 X2NvcmVfcGVyZl9kYXRhX2J1c19pZCAtIGRhdGEgYnVzIGlkZW50aWZpZXIKPiArICogQERQVV9D T1JFX1BFUkZfREFUQV9CVVNfSURfTU5PQzogRFBVL01OT0MgZGF0YSBidXMKPiArICogQERQVV9D T1JFX1BFUkZfREFUQV9CVVNfSURfTExDQzogTU5PQy9MTENDIGRhdGEgYnVzCj4gKyAqIEBEUFVf Q09SRV9QRVJGX0RBVEFfQlVTX0lEX0VCSTogTExDQy9FQkkgZGF0YSBidXMKPiArICovCj4gK2Vu dW0gZHB1X2NvcmVfcGVyZl9kYXRhX2J1c19pZCB7Cj4gKwlEUFVfQ09SRV9QRVJGX0RBVEFfQlVT X0lEX01OT0MsCj4gKwlEUFVfQ09SRV9QRVJGX0RBVEFfQlVTX0lEX0xMQ0MsCj4gKwlEUFVfQ09S RV9QRVJGX0RBVEFfQlVTX0lEX0VCSSwKPiArCURQVV9DT1JFX1BFUkZfREFUQV9CVVNfSURfTUFY LAo+ICt9Owo+ICsKPiAgLyoqCj4gICAqIHN0cnVjdCBkcHVfY29yZV9wZXJmX3BhcmFtcyAtIGRl ZmluaXRpb24gb2YgcGVyZm9ybWFuY2UgcGFyYW1ldGVycwo+ICAgKiBAbWF4X3Blcl9waXBlX2li OiBtYXhpbXVtIGluc3RhbnRhbmVvdXMgYmFuZHdpZHRoIHJlcXVlc3QKPiBAQCAtMjksOCArNDIs OCBAQAo+ICAgKiBAY29yZV9jbGtfcmF0ZTogY29yZSBjbG9jayByYXRlIHJlcXVlc3QKPiAgICov Cj4gIHN0cnVjdCBkcHVfY29yZV9wZXJmX3BhcmFtcyB7Cj4gLQl1NjQgbWF4X3Blcl9waXBlX2li W0RQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9NQVhdOwo+IC0JdTY0IGJ3X2N0bFtEUFVfUE9XRVJf SEFORExFX0RCVVNfSURfTUFYXTsKPiArCXU2NCBtYXhfcGVyX3BpcGVfaWJbRFBVX0NPUkVfUEVS Rl9EQVRBX0JVU19JRF9NQVhdOwo+ICsJdTY0IGJ3X2N0bFtEUFVfQ09SRV9QRVJGX0RBVEFfQlVT X0lEX01BWF07Cj4gIAl1NjQgY29yZV9jbGtfcmF0ZTsKPiAgfTsKPiAKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+IGIvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwo+IGluZGV4IGM1NWNiNzUxZTJiNC4uZDhmNThj YWYyNzcyIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j cnRjLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCj4g QEAgLTEzNzAsOCArMTM3MCw4IEBAIHN0YXRpYyBpbnQgZHB1X2NydGNfZGVidWdmc19zdGF0ZV9z aG93KHN0cnVjdAo+IHNlcV9maWxlICpzLCB2b2lkICp2KQo+ICAJc2VxX3ByaW50ZihzLCAiaW50 Zl9tb2RlOiAlZFxuIiwgZHB1X2NydGNfZ2V0X2ludGZfbW9kZShjcnRjKSk7Cj4gIAlzZXFfcHJp bnRmKHMsICJjb3JlX2Nsa19yYXRlOiAlbGx1XG4iLAo+ICAJCQlkcHVfY3J0Yy0+Y3VyX3BlcmYu Y29yZV9jbGtfcmF0ZSk7Cj4gLQlmb3IgKGkgPSBEUFVfUE9XRVJfSEFORExFX0RCVVNfSURfTU5P QzsKPiAtCQkJaSA8IERQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9NQVg7IGkrKykgewo+ICsJZm9y IChpID0gRFBVX0NPUkVfUEVSRl9EQVRBX0JVU19JRF9NTk9DOwo+ICsJCQlpIDwgRFBVX0NPUkVf UEVSRl9EQVRBX0JVU19JRF9NQVg7IGkrKykgewo+ICAJCXNlcV9wcmludGYocywgImJ3X2N0bFsl ZF06ICVsbHVcbiIsIGksCj4gIAkJCQlkcHVfY3J0Yy0+Y3VyX3BlcmYuYndfY3RsW2ldKTsKPiAg CQlzZXFfcHJpbnRmKHMsICJtYXhfcGVyX3BpcGVfaWJbJWRdOiAlbGx1XG4iLCBpLAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcG93ZXJfaGFuZGxlLmgK PiBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUuaAo+IGlu ZGV4IDEyNGViYzkzYzg3Ny4uNzUzNjYyNGM4YjIwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wb3dlcl9oYW5kbGUuaAo+IEBAIC0yNywxOSArMjcsNiBA QAo+ICAjZGVmaW5lIERQVV9QT1dFUl9FVkVOVF9ESVNBQkxFCUJJVCgwKQo+ICAjZGVmaW5lIERQ VV9QT1dFUl9FVkVOVF9FTkFCTEUJQklUKDEpCj4gCj4gLS8qKgo+IC0gKiBlbnVtIERQVV9QT1dF Ul9IQU5ETEVfREJVU19JRCAtIGRhdGEgYnVzIGlkZW50aWZpZXIKPiAtICogQERQVV9QT1dFUl9I QU5ETEVfREJVU19JRF9NTk9DOiBEUFUvTU5PQyBkYXRhIGJ1cwo+IC0gKiBARFBVX1BPV0VSX0hB TkRMRV9EQlVTX0lEX0xMQ0M6IE1OT0MvTExDQyBkYXRhIGJ1cwo+IC0gKiBARFBVX1BPV0VSX0hB TkRMRV9EQlVTX0lEX0VCSTogTExDQy9FQkkgZGF0YSBidXMKPiAtICovCj4gLWVudW0gRFBVX1BP V0VSX0hBTkRMRV9EQlVTX0lEIHsKPiAtCURQVV9QT1dFUl9IQU5ETEVfREJVU19JRF9NTk9DLAo+ IC0JRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX0xMQ0MsCj4gLQlEUFVfUE9XRVJfSEFORExFX0RC VVNfSURfRUJJLAo+IC0JRFBVX1BPV0VSX0hBTkRMRV9EQlVTX0lEX01BWCwKPiAtfTsKPiAtCj4g IC8qCj4gICAqIHN0cnVjdCBkcHVfcG93ZXJfZXZlbnQgLSBsb2NhbCBldmVudCByZWdpc3RyYXRp b24gc3RydWN0dXJlCj4gICAqIEBjbGllbnRfbmFtZTogbmFtZSBvZiB0aGUgY2xpZW50IHJlZ2lz dGVyaW5nCgotLSAKSmV5a3VtYXIgUwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9kcmktZGV2ZWwK