From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Quan, Evan" Subject: RE: [PATCH] drm/amdgpu: Need to set the baco cap before baco reset Date: Thu, 23 May 2019 03:11:56 +0000 Message-ID: References: <1558519591-30349-1-git-send-email-Emily.Deng@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1558519591-30349-1-git-send-email-Emily.Deng-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" Cc: "Deng, Emily" V2l0aCB0aGlzIGxpbWl0ZWQgdG8gcGFzc3Rob3VnaCBjYXNlIG9ubHksIHRoaXMgcGF0Y2ggaXMg cmV2aWV3ZWQtYnk6IEV2YW4gUXVhbiA8ZXZhbi5xdWFuQGFtZC5jb20+DQoNClJlZ2FyZHMsDQpF dmFuDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGFtZC1nZnggPGFtZC1n ZngtYm91bmNlc0BsaXN0cy5mcmVlZGVza3RvcC5vcmc+IE9uIEJlaGFsZiBPZg0KPiBFbWlseSBE ZW5nDQo+IFNlbnQ6IFdlZG5lc2RheSwgTWF5IDIyLCAyMDE5IDY6MDcgUE0NCj4gVG86IGFtZC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IENjOiBEZW5nLCBFbWlseSA8RW1pbHkuRGVuZ0Bh bWQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0hdIGRybS9hbWRncHU6IE5lZWQgdG8gc2V0IHRoZSBi YWNvIGNhcCBiZWZvcmUgYmFjbyByZXNldA0KPiANCj4gW0NBVVRJT046IEV4dGVybmFsIEVtYWls XQ0KPiANCj4gRm9yIHBhc3N0aHJvdWdoLCBhZnRlciByZWJvb3RlZCB0aGUgVk0sIGRyaXZlciB3 aWxsIGRvIGEgYmFjbyByZXNldCBiZWZvcmUNCj4gZG9pbmcgb3RoZXIgZHJpdmVyIGluaXRpYWxp emF0aW9uIGR1cmluZyBsb2FkaW5nICBkcml2ZXIuIEZvciBkb2luZyB0aGUgYmFjbw0KPiByZXNl dCwgaXQgd2lsbCBmaXJzdCBjaGVjayB0aGUgYmFjbyByZXNldCBjYXBhYmlsaXR5LiBTbyBmaXJz dCBuZWVkIHRvIHNldCB0aGUgY2FwDQo+IGZyb20gdGhlIHZiaW9zIGluZm9ybWF0aW9uIG9yIGJh Y28gcmVzZXQgd29uJ3QgYmUgZW5hYmxlZC4NCj4gDQo+IFNpZ25lZC1vZmYtYnk6IEVtaWx5IERl bmcgPEVtaWx5LkRlbmdAYW1kLmNvbT4NCj4gLS0tDQo+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfZGV2aWNlLmMgICAgICAgICB8ICA4ICsrKysrKysrDQo+ICBkcml2ZXJzL2dw dS9kcm0vYW1kL2luY2x1ZGUva2dkX3BwX2ludGVyZmFjZS5oICAgICB8ICAxICsNCj4gIGRyaXZl cnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYyAgICAgIHwgMTYNCj4gKysr KysrKysrKysrKysrKw0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVn YTEwX2h3bWdyLmMgfCAgMSArDQo+ICAuLi4vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfcHJv Y2Vzc3BwdGFibGVzLmMgICB8IDIyDQo+ICsrKysrKysrKysrKysrKysrKysrKysNCj4gIC4uLi9h bWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9wcm9jZXNzcHB0YWJsZXMuaCAgIHwgIDEgKw0KPiAg ZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdyLmggICAgICAgICAgfCAgMSAr DQo+ICA3IGZpbGVzIGNoYW5nZWQsIDUwIGluc2VydGlvbnMoKykNCj4gDQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMNCj4gYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMNCj4gaW5kZXggZDYyODZlZC4uMTQ0 MTViMyAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rl dmljZS5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2Uu Yw0KPiBAQCAtMjYwNiw2ICsyNjA2LDE0IEBAIGludCBhbWRncHVfZGV2aWNlX2luaXQoc3RydWN0 IGFtZGdwdV9kZXZpY2UNCj4gKmFkZXYsDQo+ICAgICAgICAgICogIEUuZy4sIGRyaXZlciB3YXMg bm90IGNsZWFubHkgdW5sb2FkZWQgcHJldmlvdXNseSwgZXRjLg0KPiAgICAgICAgICAqLw0KPiAg ICAgICAgIGlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpICYmIGFtZGdwdV9hc2ljX25lZWRfcmVz ZXRfb25faW5pdChhZGV2KSkNCj4gew0KPiArICAgICAgICAgICAgICAgaWYgKGFkZXYtPnBvd2Vy cGxheS5wcF9mdW5jcyAmJiBhZGV2LT5wb3dlcnBsYXkucHBfZnVuY3MtDQo+ID5zZXRfYXNpY19i YWNvX2NhcCkgew0KPiArICAgICAgICAgICAgICAgICAgICAgICByID0gYWRldi0+cG93ZXJwbGF5 LnBwX2Z1bmNzLT5zZXRfYXNpY19iYWNvX2NhcChhZGV2LQ0KPiA+cG93ZXJwbGF5LnBwX2hhbmRs ZSk7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGlmIChyKSB7DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGV2X2VycihhZGV2LT5kZXYsICJzZXQgYmFjbyBjYXBhYmlsaXR5 IGZhaWxlZFxuIik7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWls ZWQ7DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgIH0NCj4g Kw0KPiAgICAgICAgICAgICAgICAgciA9IGFtZGdwdV9hc2ljX3Jlc2V0KGFkZXYpOw0KPiAgICAg ICAgICAgICAgICAgaWYgKHIpIHsNCj4gICAgICAgICAgICAgICAgICAgICAgICAgZGV2X2Vycihh ZGV2LT5kZXYsICJhc2ljIHJlc2V0IG9uIGluaXQgZmFpbGVkXG4iKTsgZGlmZiAtLWdpdA0KPiBh L2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9rZ2RfcHBfaW50ZXJmYWNlLmgNCj4gYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2luY2x1ZGUva2dkX3BwX2ludGVyZmFjZS5oDQo+IGluZGV4IDJiNTc5 YmEuLjBkY2MxOGQgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9r Z2RfcHBfaW50ZXJmYWNlLmgNCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9pbmNsdWRlL2tn ZF9wcF9pbnRlcmZhY2UuaA0KPiBAQCAtMjg1LDYgKzI4NSw3IEBAIHN0cnVjdCBhbWRfcG1fZnVu Y3Mgew0KPiAgICAgICAgIGludCAoKnNldF9oYXJkX21pbl9mY2xrX2J5X2ZyZXEpKHZvaWQgKmhh bmRsZSwgdWludDMyX3QgY2xvY2spOw0KPiAgICAgICAgIGludCAoKnNldF9taW5fZGVlcF9zbGVl cF9kY2VmY2xrKSh2b2lkICpoYW5kbGUsIHVpbnQzMl90IGNsb2NrKTsNCj4gICAgICAgICBpbnQg KCpnZXRfYXNpY19iYWNvX2NhcGFiaWxpdHkpKHZvaWQgKmhhbmRsZSwgYm9vbCAqY2FwKTsNCj4g KyAgICAgICBpbnQgKCpzZXRfYXNpY19iYWNvX2NhcCkodm9pZCAqaGFuZGxlKTsNCj4gICAgICAg ICBpbnQgKCpnZXRfYXNpY19iYWNvX3N0YXRlKSh2b2lkICpoYW5kbGUsIGludCAqc3RhdGUpOw0K PiAgICAgICAgIGludCAoKnNldF9hc2ljX2JhY29fc3RhdGUpKHZvaWQgKmhhbmRsZSwgaW50IHN0 YXRlKTsNCj4gICAgICAgICBpbnQgKCpnZXRfcHBmZWF0dXJlX3N0YXR1cykodm9pZCAqaGFuZGxl LCBjaGFyICpidWYpOyBkaWZmIC0tZ2l0DQo+IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvYW1kX3Bvd2VycGxheS5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1k X3Bvd2VycGxheS5jDQo+IGluZGV4IGJlYTE1ODcuLjk4NTY3NjAgMTAwNjQ0DQo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZF9wb3dlcnBsYXkuYw0KPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRfcG93ZXJwbGF5LmMNCj4gQEAgLTE0MDQsNiAr MTQwNCwyMSBAQCBzdGF0aWMgaW50IHBwX3NldF9hY3RpdmVfZGlzcGxheV9jb3VudCh2b2lkDQo+ ICpoYW5kbGUsIHVpbnQzMl90IGNvdW50KQ0KPiAgICAgICAgIHJldHVybiByZXQ7DQo+ICB9DQo+ IA0KPiArc3RhdGljIGludCBwcF9zZXRfYXNpY19iYWNvX2NhcCh2b2lkICpoYW5kbGUpIHsNCj4g KyAgICAgICBzdHJ1Y3QgcHBfaHdtZ3IgKmh3bWdyID0gaGFuZGxlOw0KPiArDQo+ICsgICAgICAg aWYgKCFod21ncikNCj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiArDQo+ICsg ICAgICAgaWYgKCFod21nci0+cG1fZW4gfHwgIWh3bWdyLT5od21ncl9mdW5jLT5zZXRfYXNpY19i YWNvX2NhcCkNCj4gKyAgICAgICAgICAgICAgIHJldHVybiAwOw0KPiArDQo+ICsgICAgICAgaHdt Z3ItPmh3bWdyX2Z1bmMtPnNldF9hc2ljX2JhY29fY2FwKGh3bWdyKTsNCj4gKw0KPiArICAgICAg IHJldHVybiAwOw0KPiArfQ0KPiArDQo+ICBzdGF0aWMgaW50IHBwX2dldF9hc2ljX2JhY29fY2Fw YWJpbGl0eSh2b2lkICpoYW5kbGUsIGJvb2wgKmNhcCkgIHsNCj4gICAgICAgICBzdHJ1Y3QgcHBf aHdtZ3IgKmh3bWdyID0gaGFuZGxlOyBAQCAtMTU0Niw2ICsxNTYxLDcgQEAgc3RhdGljIGNvbnN0 DQo+IHN0cnVjdCBhbWRfcG1fZnVuY3MgcHBfZHBtX2Z1bmNzID0gew0KPiAgICAgICAgIC5zZXRf aGFyZF9taW5fZGNlZmNsa19ieV9mcmVxID0gcHBfc2V0X2hhcmRfbWluX2RjZWZjbGtfYnlfZnJl cSwNCj4gICAgICAgICAuc2V0X2hhcmRfbWluX2ZjbGtfYnlfZnJlcSA9IHBwX3NldF9oYXJkX21p bl9mY2xrX2J5X2ZyZXEsDQo+ICAgICAgICAgLmdldF9hc2ljX2JhY29fY2FwYWJpbGl0eSA9IHBw X2dldF9hc2ljX2JhY29fY2FwYWJpbGl0eSwNCj4gKyAgICAgICAuc2V0X2FzaWNfYmFjb19jYXAg PSBwcF9zZXRfYXNpY19iYWNvX2NhcCwNCj4gICAgICAgICAuZ2V0X2FzaWNfYmFjb19zdGF0ZSA9 IHBwX2dldF9hc2ljX2JhY29fc3RhdGUsDQo+ICAgICAgICAgLnNldF9hc2ljX2JhY29fc3RhdGUg PSBwcF9zZXRfYXNpY19iYWNvX3N0YXRlLA0KPiAgICAgICAgIC5nZXRfcHBmZWF0dXJlX3N0YXR1 cyA9IHBwX2dldF9wcGZlYXR1cmVfc3RhdHVzLCBkaWZmIC0tZ2l0DQo+IGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEwX2h3bWdyLmMNCj4gYi9kcml2ZXJzL2dwdS9k cm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfaHdtZ3IuYw0KPiBpbmRleCBlZDZjNjM4Li44 ZGMyM2ViIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21n ci92ZWdhMTBfaHdtZ3IuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9o d21nci92ZWdhMTBfaHdtZ3IuYw0KPiBAQCAtNTE3MSw2ICs1MTcxLDcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBwcF9od21ncl9mdW5jDQo+IHZlZ2ExMF9od21ncl9mdW5jcyA9IHsNCj4gICAgICAg ICAub2RuX2VkaXRfZHBtX3RhYmxlID0gdmVnYTEwX29kbl9lZGl0X2RwbV90YWJsZSwNCj4gICAg ICAgICAuZ2V0X3BlcmZvcm1hbmNlX2xldmVsID0gdmVnYTEwX2dldF9wZXJmb3JtYW5jZV9sZXZl bCwNCj4gICAgICAgICAuZ2V0X2FzaWNfYmFjb19jYXBhYmlsaXR5ID0gc211OV9iYWNvX2dldF9j YXBhYmlsaXR5LA0KPiArICAgICAgIC5zZXRfYXNpY19iYWNvX2NhcCA9IHZlZ2ExMF9iYWNvX3Nl dF9jYXAsDQo+ICAgICAgICAgLmdldF9hc2ljX2JhY29fc3RhdGUgPSBzbXU5X2JhY29fZ2V0X3N0 YXRlLA0KPiAgICAgICAgIC5zZXRfYXNpY19iYWNvX3N0YXRlID0gdmVnYTEwX2JhY29fc2V0X3N0 YXRlLA0KPiAgICAgICAgIC5lbmFibGVfbWdwdV9mYW5fYm9vc3QgPSB2ZWdhMTBfZW5hYmxlX21n cHVfZmFuX2Jvb3N0LCBkaWZmIC0tZ2l0DQo+IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBs YXkvaHdtZ3IvdmVnYTEwX3Byb2Nlc3NwcHRhYmxlcy5jDQo+IGIvZHJpdmVycy9ncHUvZHJtL2Ft ZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEwX3Byb2Nlc3NwcHRhYmxlcy5jDQo+IGluZGV4IGI2NzY3 ZDcuLjhmZGViMjMgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5 L2h3bWdyL3ZlZ2ExMF9wcm9jZXNzcHB0YWJsZXMuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfcHJvY2Vzc3BwdGFibGVzLmMNCj4gQEAgLTEzNzEs MyArMTM3MSwyNSBAQCBpbnQgdmVnYTEwX2dldF9wb3dlcnBsYXlfdGFibGVfZW50cnkoc3RydWN0 DQo+IHBwX2h3bWdyICpod21nciwNCj4gDQo+ICAgICAgICAgcmV0dXJuIHJlc3VsdDsNCj4gIH0N Cj4gKw0KPiAraW50IHZlZ2ExMF9iYWNvX3NldF9jYXAoc3RydWN0IHBwX2h3bWdyICpod21ncikg ew0KPiArICAgICAgIGludCByZXN1bHQgPSAwOw0KPiArICAgICAgIGNvbnN0IEFUT01fVmVnYTEw X1BPV0VSUExBWVRBQkxFICpwb3dlcnBsYXlfdGFibGU7DQo+ICsNCj4gKyAgICAgICBwb3dlcnBs YXlfdGFibGUgPSBnZXRfcG93ZXJwbGF5X3RhYmxlKGh3bWdyKTsNCj4gKw0KPiArICAgICAgIFBQ X0FTU0VSVF9XSVRIX0NPREUoKHBvd2VycGxheV90YWJsZSAhPSBOVUxMKSwNCj4gKyAgICAgICAg ICAgICAgICJNaXNzaW5nIFBvd2VyUGxheSBUYWJsZSEiLCByZXR1cm4gLTEpOw0KPiArDQo+ICsg ICAgICAgcmVzdWx0ID0gY2hlY2tfcG93ZXJwbGF5X3RhYmxlcyhod21nciwgcG93ZXJwbGF5X3Rh YmxlKTsNCj4gKw0KPiArICAgICAgIFBQX0FTU0VSVF9XSVRIX0NPREUoKHJlc3VsdCA9PSAwKSwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaGVja19wb3dlcnBsYXlfdGFibGVzIGZh aWxlZCIsIHJldHVybg0KPiArIHJlc3VsdCk7DQo+ICsNCj4gKyAgICAgICBzZXRfaHdfY2FwKA0K PiArICAgICAgICAgICAgICAgICAgICAgICBod21nciwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgMCAhPSAobGUzMl90b19jcHUocG93ZXJwbGF5X3RhYmxlLT51bFBsYXRmb3JtQ2FwcykgJg0K PiBBVE9NX1ZFR0ExMF9QUF9QTEFURk9STV9DQVBfQkFDTyksDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgIFBITV9QbGF0Zm9ybUNhcHNfQkFDTyk7DQo+ICsgICAgICAgcmV0dXJuIHJlc3VsdDsN Cj4gK30NCj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQo+IGRpZmYgLS1naXQNCj4gYS9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfcHJvY2Vzc3BwdGFibGVz LmgNCj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9od21nci92ZWdhMTBfcHJvY2Vz c3BwdGFibGVzLmgNCj4gaW5kZXggZDgzZWQyYS4uZGE1ZmJlYyAxMDA2NDQNCj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaHdtZ3IvdmVnYTEwX3Byb2Nlc3NwcHRhYmxlcy5o DQo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2h3bWdyL3ZlZ2ExMF9wcm9j ZXNzcHB0YWJsZXMuaA0KPiBAQCAtNTksNCArNTksNSBAQCBleHRlcm4gaW50DQo+IHZlZ2ExMF9n ZXRfbnVtYmVyX29mX3Bvd2VycGxheV90YWJsZV9lbnRyaWVzKHN0cnVjdCBwcF9od21ncg0KPiAq aHdtZ3IpOyAgZXh0ZXJuIGludCB2ZWdhMTBfZ2V0X3Bvd2VycGxheV90YWJsZV9lbnRyeShzdHJ1 Y3QgcHBfaHdtZ3INCj4gKmh3bWdyLCB1aW50MzJfdCBlbnRyeV9pbmRleCwNCj4gICAgICAgICAg ICAgICAgIHN0cnVjdCBwcF9wb3dlcl9zdGF0ZSAqcG93ZXJfc3RhdGUsIGludCAoKmNhbGxfYmFj a19mdW5jKShzdHJ1Y3QNCj4gcHBfaHdtZ3IgKiwgdm9pZCAqLA0KPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdCBwcF9wb3dlcl9zdGF0ZSAqLCB2b2lkICosIHVpbnQzMl90 KSk7DQo+ICtleHRlcm4gaW50IHZlZ2ExMF9iYWNvX3NldF9jYXAoc3RydWN0IHBwX2h3bWdyICpo d21ncik7DQo+ICAjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2luYy9od21nci5oDQo+IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5j L2h3bWdyLmgNCj4gaW5kZXggYmFjM2Q4NS4uMTQ0ODBhZSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdyLmgNCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9wb3dlcnBsYXkvaW5jL2h3bWdyLmgNCj4gQEAgLTMzOSw2ICszMzksNyBAQCBzdHJ1 Y3QgcHBfaHdtZ3JfZnVuYyB7DQo+ICAgICAgICAgaW50ICgqc2V0X2hhcmRfbWluX2RjZWZjbGtf YnlfZnJlcSkoc3RydWN0IHBwX2h3bWdyICpod21nciwNCj4gdWludDMyX3QgY2xvY2spOw0KPiAg ICAgICAgIGludCAoKnNldF9oYXJkX21pbl9mY2xrX2J5X2ZyZXEpKHN0cnVjdCBwcF9od21nciAq aHdtZ3IsIHVpbnQzMl90DQo+IGNsb2NrKTsNCj4gICAgICAgICBpbnQgKCpnZXRfYXNpY19iYWNv X2NhcGFiaWxpdHkpKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGJvb2wgKmNhcCk7DQo+ICsgICAg ICAgaW50ICgqc2V0X2FzaWNfYmFjb19jYXApKHN0cnVjdCBwcF9od21nciAqaHdtZ3IpOw0KPiAg ICAgICAgIGludCAoKmdldF9hc2ljX2JhY29fc3RhdGUpKHN0cnVjdCBwcF9od21nciAqaHdtZ3Is IGVudW0NCj4gQkFDT19TVEFURSAqc3RhdGUpOw0KPiAgICAgICAgIGludCAoKnNldF9hc2ljX2Jh Y29fc3RhdGUpKHN0cnVjdCBwcF9od21nciAqaHdtZ3IsIGVudW0NCj4gQkFDT19TVEFURSBzdGF0 ZSk7DQo+ICAgICAgICAgaW50ICgqZ2V0X3BwZmVhdHVyZV9zdGF0dXMpKHN0cnVjdCBwcF9od21n ciAqaHdtZ3IsIGNoYXIgKmJ1Zik7DQo+IC0tDQo+IDIuNy40DQo+IA0KPiBfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBhbWQtZ2Z4IG1haWxpbmcgbGlz dA0KPiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngNCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmFtZC1nZnggbWFpbGluZyBsaXN0CmFtZC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vYW1kLWdmeA==