From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kazlauskas, Nicholas" Subject: Re: [PATCH] drm/amd/display: Use vrr friendly pageflip throttling in DC. Date: Mon, 11 Feb 2019 14:38:32 +0000 Message-ID: References: <20190209065255.9480-1-mario.kleiner.de@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190209065255.9480-1-mario.kleiner.de-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> Content-Language: en-US Content-ID: <0EF6840543E9174EAE5554ED7D4B3314-asWib9pRmPqcE4WynfumptQqCkab/8FMAL8bYrjMMd8@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Mario Kleiner , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Deucher, Alexander" , =?utf-8?B?TWljaGVsIETDpG56ZXI=?= , "Wentland, Harry" , "stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" List-Id: dri-devel@lists.freedesktop.org T24gMi85LzE5IDE6NTIgQU0sIE1hcmlvIEtsZWluZXIgd3JvdGU6DQo+IEluIFZSUiBtb2RlLCBr ZWVwIHRyYWNrIG9mIHRoZSB2YmxhbmsgY291bnQgb2YgdGhlIGxhc3QNCj4gY29tcGxldGVkIHBh Z2VmbGlwIGluIGFtZGdwdV9jcnRjLT5sYXN0X2ZsaXBfdmJsYW5rLCBhcw0KPiByZWNvcmRlZCBp biB0aGUgcGFnZWZsaXAgY29tcGxldGlvbiBoYW5kbGVyIGFmdGVyIGVhY2gNCj4gY29tcGxldGVk IGZsaXAuDQo+IA0KPiBVc2UgdGhhdCBjb3VudCB0byBwcmV2ZW50IG1taW8gcHJvZ3JhbW1pbmcg YSBuZXcgcGFnZWZsaXANCj4gd2l0aGluIHRoZSBzYW1lIHZibGFuayBpbiB3aGljaCB0aGUgbGFz dCBwYWdlZmxpcCBjb21wbGV0ZWQsDQo+IGlvdy4gdG8gdGhyb3R0bGUgcGFnZWZsaXBzIHRvIGF0 IG1vc3Qgb25lIGZsaXAgcGVyIHZpZGVvDQo+IGZyYW1lLCB3aGlsZSBhdCB0aGUgc2FtZSB0aW1l IGFsbG93aW5nIHRvIHJlcXVlc3QgYSBmbGlwDQo+IG5vdCBvbmx5IGJlZm9yZSBzdGFydCBvZiB2 YmxhbmssIGJ1dCBhbHNvIGFueXdoZXJlIHdpdGhpbg0KPiB2YmxhbmsuDQo+IA0KPiBUaGUgb2xk IGxvZ2ljIGRpZCB0aGUgc2FtZSwgYW5kIG1hZGUgc2Vuc2UgZm9yIHJlZ3VsYXIgZml4ZWQNCj4g cmVmcmVzaCByYXRlIGZsaXBwaW5nLCBidXQgaW4gdnJyIG1vZGUgaXQgcHJldmVudHMgcmVxdWVz dGluZw0KPiBhIGZsaXAgYW55d2hlcmUgaW5zaWRlIHRoZSBwb3NzaWJseSBodWdlIHZibGFuaywg dGhlcmVieQ0KPiByZWR1Y2luZyBmcmFtZXJhdGUgaW4gdnJyIG1vZGUgaW5zdGVhZCBvZiBpbXBy b3ZpbmcgaXQsIGJ5DQo+IGRlbGF5aW5nIGEgc2xpZ2h0bHkgZGVsYXllZCBmbGlwIHJlcXVlc3Rz IHVwIHRvIGEgbWF4aW11bQ0KPiB2YmxhbmsgZHVyYXRpb24gKyAxIHNjYW5vdXQgZHVyYXRpb24u IFRoaXMgd291bGQgbGltaXQgVlJSDQo+IHVzZWZ1bG5lc3MgdG8gb25seSBoZWxwIGFwcGxpY2F0 aW9ucyB3aXRoIGEgdmVyeSBoaWdoIEdQVQ0KPiBkZW1hbmQsIHdoaWNoIGNhbiBzdWJtaXQgdGhl IGZsaXAgcmVxdWVzdCBiZWZvcmUgc3RhcnQgb2YNCj4gdmJsYW5rLCBidXQgdGhlbiBoYXZlIHRv IHdhaXQgbG9uZyBmb3IgZmVuY2VzIHRvIGNvbXBsZXRlLg0KPiANCj4gV2l0aCB0aGlzIG1ldGhv ZCBhIGZsaXAgY2FuIGJlIGJvdGggcmVxdWVzdGVkIGFuZCAtIGFmdGVyDQo+IGZlbmNlcyBoYXZl IGNvbXBsZXRlZCAtIGV4ZWN1dGVkLCBpZS4gaXQgZG9lc24ndCBtYXR0ZXIgaWYNCj4gdGhlIHJl cXVlc3QgKGFtZGdwdV9kbV9kb19mbGlwKCkpIGdldHMgZGVsYXllZCB1bnRpbCBkZWVwDQo+IGlu dG8gdGhlIGV4dGVuZGVkIHZibGFuayBkdWUgdG8gY3B1IGV4ZWN1dGlvbiBkZWxheXMuIFRoaXMN Cj4gYWxzbyBhbGxvd3MgY2xpZW50cyB3aGljaCB3YW50IHRvIHJlZ3VsYXRlIGZyYW1lcmF0ZSB3 aXRoaW4NCj4gdGhlIHZyciByYW5nZSBhIG11Y2ggbW9yZSBmaW5lLWdyYWluZWQgY29udHJvbCBv ZiBmbGlwIHRpbWluZywNCj4gYSBmZWF0dXJlIHRoYXQgbWlnaHQgYmUgdXNlZnVsIGZvciB2aWRl byBwbGF5YmFjaywgYW5kIGlzDQo+IHZlcnkgdXNlZnVsIGZvciBuZXVyb3NjaWVuY2UvdmlzaW9u IHJlc2VhcmNoIGFwcGxpY2F0aW9ucy4NCj4gDQo+IEluIHJlZ3VsYXIgbm9uLVZSUiBtb2RlLCBy ZXRhaW4gdGhlIG9sZCBmbGlwIHN1Ym1pc3Npb24NCj4gYmVoYXZpb3IuIFRoaXMgdG8ga2VlcCBm bGlwIHNjaGVkdWxpbmcgZm9yIGZ1bGxzY3JlZW4gWDExL0dMWA0KPiBPcGVuR0wgY2xpZW50cyBp bnRhY3QsIGlmIHRoZXkgdXNlIHRoZSBHTFhfT01MX3N5bmNfY29udHJvbA0KPiBleHRlbnNpb25z IGdsWFN3YXBCdWZmZXJNc2NPTUwoLCAuLi4sIHRhcmdldF9tc2MsLi4uKSBmdW5jdGlvbg0KPiB3 aXRoIGEgc3BlY2lmaWMgdGFyZ2V0X21zYyB0YXJnZXQgdmJsYW5rIGNvdW50Lg0KPiANCj4gZ2xY U3dhcEJ1ZmZlcnNNc2NPTUwoKSBvciBEUkkzL1ByZXNlbnQgUHJlc2VudFBpeG1hcCgpIHdpbGwN Cj4gbm90IGZsaXAgYXQgdGhlIHByb3BlciB0YXJnZXRfbXNjIGZvciBhIG5vbi16ZXJvIHRhcmdl dF9tc2MNCj4gaWYgVlJSIG1vZGUgaXMgYWN0aXZlIHdpdGggdGhpcyBwYXRjaC4gVGhleSdkIG9m dGVuIGZsaXAgb25lDQo+IGZyYW1lIHRvbyBlYXJseS4gSG93ZXZlciwgdGhpcyBsaW1pdGF0aW9u IHNob3VsZCBub3QgbWF0dGVyDQo+IG11Y2ggaW4gVlJSIG1vZGUsIGFzIHNjaGVkdWxpbmcgYmFz ZWQgb24gdmJsYW5rIGNvdW50cyBpcw0KPiBwcmV0dHkgZnV0aWxlL3VudXNhYmxlIHVuZGVyIHZh cmlhYmxlIHJlZnJlc2ggZHVyYXRpb24NCj4gYW55d2F5LCBzbyBubyByZWFsIGV4dHJhIGhhcm0g aXMgZG9uZS4NCj4gDQo+IEFjY29yZGluZyB0byBzb21lIHRlc3RpbmcgYWxyZWFkeSBkb25lIHdp dGggdGhpcyBwYXRjaCBieQ0KPiBOaWNob2xhcyBvbiB0b3Agb2YgbXkgdGVzdHMsIElHVCB0ZXN0 cyBkaWRuJ3QgcmVwb3J0IGFueQ0KPiBwcm9ibGVtcy4gSWYgZml4ZXMgc3R1dHRlcmluZyBhbmQg ZmxpY2tlcmluZyB3aGVuIGZsaXBwaW5nDQo+IGF0IHJhdGVzIGJlbG93IHRoZSBtaW5pbXVtIHZy ciByZWZyZXNoIHJhdGUuDQo+IA0KPiBGaXhlczogYmI0N2RlNzM2NjYxICgiZHJtL2FtZGdwdTog U2V0IEZyZWVTeW5jIHN0YXRlIHVzaW5nIGRybSBWUlINCj4gcHJvcGVydGllcyIpDQo+IFNpZ25l ZC1vZmYtYnk6IE1hcmlvIEtsZWluZXIgPG1hcmlvLmtsZWluZXIuZGVAZ21haWwuY29tPg0KPiBD YzogPHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmc+DQo+IENjOiBOaWNob2xhcyBLYXpsYXVza2FzIDxu aWNob2xhcy5rYXpsYXVza2FzQGFtZC5jb20+DQo+IENjOiBIYXJyeSBXZW50bGFuZCA8aGFycnku d2VudGxhbmRAYW1kLmNvbT4NCj4gQ2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJA YW1kLmNvbT4NCj4gQ2M6IE1pY2hlbCBEw6RuemVyIDxtaWNoZWxAZGFlbnplci5uZXQ+DQoNClJl dmlld2VkLWJ5OiBOaWNob2xhcyBLYXpsYXVza2FzIDxuaWNob2xhcy5rYXpsYXVza2FzQGFtZC5j b20+DQoNCkkgY2FuIGNvbmZpcm0gSSd2ZSB0ZXN0ZWQgdGhpcyBhIGJpdCBhcyB3ZWxsIGFuZCBp dCBsb29rcyByZWFzb25hYmxlIHRvIA0KbWUuIFRoaXMgcGF0Y2ggcmVhbGx5IGhlbHBzIGF2b2lk IGxhcmdlIG9yIGZyZXF1ZW50IGNoYW5nZXMgaW4gdGltZW91dCANCmR1cmF0aW9uIGluIHRoZSBj YXNlIHdoZXJlIHdlIHRha2UgdG9vIGxvbmcgZnJvbSB0aGUgbGFzdCBhbmQgZmxpcCBhbmQgDQp3 ZSdyZSBhbHJlYWR5IGluIHRoZSBuZXh0IHZibGFuayBpbnRlcnZhbCBieSB0aGUgdGltZSB3ZSBn ZXQgaW50byBjb21taXQgDQp0YWlsLg0KDQpJdCdzIHVuZm9ydHVuYXRlIHRoYXQgdGhpcyBjaGFu Z2VzIHRoZSBiZWhhdmlvciBvZiBob3cgd2FpdGluZyBmb3IgdGhlIA0KbmV4dCB2YmxhbmsgaW50 ZXJ2YWwgd29ya3Mgd2hlbiBWUlIgaXMgYWN0aXZlIGJ1dCBJIGNhbid0IHJlYWxseSB0aGluayAN Cm9mIGEgY2FzZSB3aGVyZSB3ZSB3b3VsZCB3YW50IGFueXRoaW5nIGVsc2UgYnV0IHRoaXMuDQoN CkZvciBhcHBsaWNhdGlvbnMgd2hlcmUgdGltaW5nIGFuZCBzY2hlZHVsaW5nIGxpa2UgdGhpcyBy ZWFsbHkgbWF0dGVycyBJIA0KdGhpbmsgd2UnZCBuZWVkIHRvIGxvb2sgaW50byBhZGRpbmcgdGhl IHRhcmdldCBwcmVzZW50YXRpb24gdGltZXN0YW1wIHRvIA0KaGF2ZSBmdWxsIGNvbnRyb2wgb3Zl ciB0aGlzIGtpbmQgb2YgYmVoYXZpb3IgZnJvbSB1c2Vyc3BhY2UgaW4gdGhlIGZpcnN0IA0KcGxh Y2UuIEFsb25nIHdpdGggc29tZSBzb3J0IG9mIGNvbnRyb2wgb3ZlciBhc3luYyBwYWdlLWZsaXBw aW5nIGluIHRoZSANCmF0b21pYyBjb21taXQgSU9DVEwgYXMgd2VsbC4NCg0KTmljaG9sYXMgS2F6 bGF1c2thcw0KDQo+IC0tLQ0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9t b2RlLmggICAgICB8ICAxICsNCj4gICAuLi4vZ3B1L2RybS9hbWQvZGlzcGxheS9hbWRncHVfZG0v YW1kZ3B1X2RtLmMgfCAzMyArKysrKysrKysrKysrKysrLS0tDQo+ICAgMiBmaWxlcyBjaGFuZ2Vk LCAzMCBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9tb2RlLmggYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfbW9kZS5oDQo+IGluZGV4IGJmYTM5NGZmZDZkMi4uODdjYTU3NDZm ODYxIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfbW9k ZS5oDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9tb2RlLmgNCj4g QEAgLTQxMSw2ICs0MTEsNyBAQCBzdHJ1Y3QgYW1kZ3B1X2NydGMgew0KPiAgIAlzdHJ1Y3QgYW1k Z3B1X2ZsaXBfd29yayAqcGZsaXBfd29ya3M7DQo+ICAgCWVudW0gYW1kZ3B1X2ZsaXBfc3RhdHVz IHBmbGlwX3N0YXR1czsNCj4gICAJaW50IGRlZmVycmVkX2ZsaXBfY29tcGxldGlvbjsNCj4gKwl1 NjQgbGFzdF9mbGlwX3ZibGFuazsNCj4gICAJLyogcGxsIHNoYXJpbmcgKi8NCj4gICAJc3RydWN0 IGFtZGdwdV9hdG9tX3NzIHNzOw0KPiAgIAlib29sIHNzX2VuYWJsZWQ7DQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYw0KPiBpbmRleCBk NTliYWZjODQ0NzUuLmQ0ZGEzMzFhYTM0OSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9kaXNwbGF5L2FtZGdwdV9kbS9hbWRncHVfZG0uYw0KPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2Rpc3BsYXkvYW1kZ3B1X2RtL2FtZGdwdV9kbS5jDQo+IEBAIC0zMDMsMTIgKzMwMywx MSBAQCBzdGF0aWMgdm9pZCBkbV9wZmxpcF9oaWdoX2lycSh2b2lkICppbnRlcnJ1cHRfcGFyYW1z KQ0KPiAgIAkJcmV0dXJuOw0KPiAgIAl9DQo+ICAgDQo+ICsJLyogVXBkYXRlIHRvIGNvcnJlY3Qg Y291bnQocykgaWYgcmFjaW5nIHdpdGggdmJsYW5rIGlycSAqLw0KPiArCWFtZGdwdV9jcnRjLT5s YXN0X2ZsaXBfdmJsYW5rID0gZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KCZhbWRncHVf Y3J0Yy0+YmFzZSk7DQo+ICAgDQo+ICAgCS8qIHdha2UgdXAgdXNlcnNwYWNlICovDQo+ICAgCWlm IChhbWRncHVfY3J0Yy0+ZXZlbnQpIHsNCj4gLQkJLyogVXBkYXRlIHRvIGNvcnJlY3QgY291bnQo cykgaWYgcmFjaW5nIHdpdGggdmJsYW5rIGlycSAqLw0KPiAtCQlkcm1fY3J0Y19hY2N1cmF0ZV92 YmxhbmtfY291bnQoJmFtZGdwdV9jcnRjLT5iYXNlKTsNCj4gLQ0KPiAgIAkJZHJtX2NydGNfc2Vu ZF92YmxhbmtfZXZlbnQoJmFtZGdwdV9jcnRjLT5iYXNlLCBhbWRncHVfY3J0Yy0+ZXZlbnQpOw0K PiAgIA0KPiAgIAkJLyogcGFnZSBmbGlwIGNvbXBsZXRlZC4gY2xlYW4gdXAgKi8NCj4gQEAgLTQ3 MzYsNiArNDczNSw4IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9kbV9jb21taXRfcGxhbmVzKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwNCj4gICAJc3RydWN0IGFtZGdwdV9ibyAqYWJvOw0K PiAgIAl1aW50NjRfdCB0aWxpbmdfZmxhZ3MsIGRjY19hZGRyZXNzOw0KPiAgIAl1aW50MzJfdCB0 YXJnZXQsIHRhcmdldF92Ymxhbms7DQo+ICsJdWludDY0X3QgbGFzdF9mbGlwX3ZibGFuazsNCj4g Kwlib29sIHZycl9hY3RpdmUgPSBhY3J0Y19zdGF0ZS0+ZnJlZXN5bmNfY29uZmlnLnN0YXRlID09 IFZSUl9TVEFURV9BQ1RJVkVfVkFSSUFCTEU7DQo+ICAgDQo+ICAgCXN0cnVjdCB7DQo+ICAgCQlz dHJ1Y3QgZGNfc3VyZmFjZV91cGRhdGUgc3VyZmFjZV91cGRhdGVzW01BWF9TVVJGQUNFU107DQo+ IEBAIC00ODg5LDcgKzQ4OTAsMzEgQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2RtX2NvbW1pdF9wbGFu ZXMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLA0KPiAgIAkgKiBob3BlZnVsbHkgZWxp bWluYXRpbmcgZGNfKl91cGRhdGUgc3RydWN0cyBpbiB0aGVpciBlbnRpcmV0eS4NCj4gICAJICov DQo+ICAgCWlmIChmbGlwX2NvdW50KSB7DQo+IC0JCXRhcmdldCA9ICh1aW50MzJfdClkcm1fY3J0 Y192YmxhbmtfY291bnQocGNydGMpICsgKndhaXRfZm9yX3ZibGFuazsNCj4gKwkJaWYgKCF2cnJf YWN0aXZlKSB7DQo+ICsJCQkvKiBVc2Ugb2xkIHRocm90dGxpbmcgaW4gbm9uLXZyciBmaXhlZCBy ZWZyZXNoIHJhdGUgbW9kZQ0KPiArCQkJICogdG8ga2VlcCBmbGlwIHNjaGVkdWxpbmcgYmFzZWQg b24gdGFyZ2V0IHZibGFuayBjb3VudHMNCj4gKwkJCSAqIHdvcmtpbmcgaW4gYSBiYWNrd2FyZHMg Y29tcGF0aWJsZSB3YXksIGUuZy4sIGZvcg0KPiArCQkJICogY2xpZW50cyB1c2luZyB0aGUgR0xY X09NTF9zeW5jX2NvbnRyb2wgZXh0ZW5zaW9uIG9yDQo+ICsJCQkgKiBEUkkzL1ByZXNlbnQgZXh0 ZW5zaW9uIHdpdGggZGVmaW5lZCB0YXJnZXRfbXNjLg0KPiArCQkJICovDQo+ICsJCQlsYXN0X2Zs aXBfdmJsYW5rID0gZHJtX2NydGNfdmJsYW5rX2NvdW50KHBjcnRjKTsNCj4gKwkJfQ0KPiArCQll bHNlIHsNCj4gKwkJCS8qIEZvciB2YXJpYWJsZSByZWZyZXNoIHJhdGUgbW9kZSBvbmx5Og0KPiAr CQkJICogR2V0IHZibGFuayBvZiBsYXN0IGNvbXBsZXRlZCBmbGlwIHRvIGF2b2lkID4gMSB2cnIN Cj4gKwkJCSAqIGZsaXBzIHBlciB2aWRlbyBmcmFtZSBieSB1c2Ugb2YgdGhyb3R0bGluZywgYnV0 IGFsbG93DQo+ICsJCQkgKiBmbGlwIHByb2dyYW1taW5nIGFueXdoZXJlIGluIHRoZSBwb3NzaWJs eSBsYXJnZQ0KPiArCQkJICogdmFyaWFibGUgdnJyIHZibGFuayBpbnRlcnZhbCBmb3IgZmluZS1n cmFpbmVkIGZsaXANCj4gKwkJCSAqIHRpbWluZyBjb250cm9sIGFuZCBtb3JlIG9wcG9ydHVuaXR5 IHRvIGF2b2lkIHN0dXR0ZXINCj4gKwkJCSAqIG9uIGxhdGUgc3VibWlzc2lvbiBvZiBmbGlwcy4N Cj4gKwkJCSAqLw0KPiArCQkJc3Bpbl9sb2NrX2lycXNhdmUoJnBjcnRjLT5kZXYtPmV2ZW50X2xv Y2ssIGZsYWdzKTsNCj4gKwkJCWxhc3RfZmxpcF92YmxhbmsgPSBhY3J0Y19hdHRhY2gtPmxhc3Rf ZmxpcF92Ymxhbms7DQo+ICsJCQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZwY3J0Yy0+ZGV2LT5l dmVudF9sb2NrLCBmbGFncyk7DQo+ICsJCX0NCj4gKw0KPiArCQl0YXJnZXQgPSAodWludDMyX3Qp bGFzdF9mbGlwX3ZibGFuayArICp3YWl0X2Zvcl92Ymxhbms7DQo+ICsNCj4gICAJCS8qIFByZXBh cmUgd2FpdCBmb3IgdGFyZ2V0IHZibGFuayBlYXJseSAtIGJlZm9yZSB0aGUgZmVuY2Utd2FpdHMg Ki8NCj4gICAJCXRhcmdldF92YmxhbmsgPSB0YXJnZXQgLSAodWludDMyX3QpZHJtX2NydGNfdmJs YW5rX2NvdW50KHBjcnRjKSArDQo+ICAgCQkJCWFtZGdwdV9nZXRfdmJsYW5rX2NvdW50ZXJfa21z KHBjcnRjLT5kZXYsIGFjcnRjX2F0dGFjaC0+Y3J0Y19pZCk7DQo+IA0KDQpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAph bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK