From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Subject: usb: dwc2: Revert "usb: dwc2: Disable all EP's on disconnect" From: Marek Szyprowski Message-Id: Date: Fri, 23 Nov 2018 10:49:32 +0100 To: Minas Harutyunyan , "linux-kernel@vger.kernel.org" , "linux-usb@vger.kernel.org" Cc: Greg Kroah-Hartman , Felipe Balbi , Geert Uytterhoeven , Dan Carpenter , Bartlomiej Zolnierkiewicz List-ID: SGkgTWluYXMsCgpPbiAyMDE4LTExLTIyIDA3OjUzLCBNaW5hcyBIYXJ1dHl1bnlhbiB3cm90ZToK PiBPbiAxMS8yMS8yMDE4IDc6NDUgUE0sIE1hcmVrIFN6eXByb3dza2kgd3JvdGU6Cj4+IFRoaXMg cmV2ZXJ0cyBjb21taXQgZGNjZjFiYWQ0YmU3ZWFhMDk2YzFmMzY5N2JkMzc4ODNmOWEwOGVjYi4K Pj4KPj4gVGhlIHJldmVydGVkIGNvbW1pdCBicmVha3MgbG9ja2luZyBpbiB0aGUgRFdDMiBkcml2 ZXIuIEl0IGNhdXNlcyByYW5kb20KPj4gY3Jhc2hlcyBvciBtZW1vcnkgY29ycnVwdGlvbiByZWxh dGVkIGlzc3VlcyBvbiBTTVAgbWFjaGluZXMuIEhlcmUgaXMgYW4KPj4gZXhhbXBsZSBvZiB0aGUg b2JzZXJ2ZWQgcmVwcm9kdWNpYmxlIGlzc3VlIChvdGhlciBhcmUgYSBiaXQgbW9yZSByYW5kb20p Ogo+Pgo+PiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4+IFdBUk5JTkc6 IGJhZCB1bmxvY2sgYmFsYW5jZSBkZXRlY3RlZCEKPj4gNC4xOS4wLXJjNi0wMDAyNy1nZGNjZjFi YWQ0YmU3LWRpcnR5ICMxMTE5IE5vdCB0YWludGVkCj4+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KPj4gaXAvMTQ2NCBpcyB0cnlpbmcgdG8gcmVsZWFzZSBsb2NrICgmKCZo c290Zy0+bG9jayktPnJsb2NrKSBhdDoKPj4gWzxjMDYxNTQ5ND5dIGR3YzJfaHNvdGdfY29tcGxl dGVfcmVxdWVzdCsweDg0LzB4MjE4Cj4+IGJ1dCB0aGVyZSBhcmUgbm8gbW9yZSBsb2NrcyB0byBy ZWxlYXNlIQo+Pgo+PiBvdGhlciBpbmZvIHRoYXQgbWlnaHQgaGVscCB1cyBkZWJ1ZyB0aGlzOgo+ PiAyIGxvY2tzIGhlbGQgYnkgaXAvMTQ2NDoKPj4gICAjMDogZDY5YmFiZDMgKHJ0bmxfbXV0ZXgp eysuKy59LCBhdDogcnRuZXRsaW5rX3Jjdl9tc2crMHgyMjQvMHg0ODgKPj4gICAjMTogNWZiMzUw ZDIgKCYoJmRldi0+bG9jayktPnJsb2NrKXstLi0ufSwgYXQ6IGV0aF9zdG9wKzB4MjQvMHhhOAo+ Pgo+PiBzdGFjayBiYWNrdHJhY2U6Cj4+IENQVTogMSBQSUQ6IDE0NjQgQ29tbTogaXAgTm90IHRh aW50ZWQgNC4xOS4wLXJjNi0wMDAyNy1nZGNjZjFiYWQ0YmU3LWRpcnR5ICMxMTE5Cj4+IEhhcmR3 YXJlIG5hbWU6IFNBTVNVTkcgRVhZTk9TIChGbGF0dGVuZWQgRGV2aWNlIFRyZWUpCj4+IFs8YzAx MTFmOWM+XSAodW53aW5kX2JhY2t0cmFjZSkgZnJvbSBbPGMwMTBkZWI4Pl0gKHNob3dfc3RhY2sr MHgxMC8weDE0KQo+PiBbPGMwMTBkZWI4Pl0gKHNob3dfc3RhY2spIGZyb20gWzxjMDlkMzM5OD5d IChkdW1wX3N0YWNrKzB4OTAvMHhjOCkKPj4gWzxjMDlkMzM5OD5dIChkdW1wX3N0YWNrKSBmcm9t IFs8YzAxN2QwMmM+XSAocHJpbnRfdW5sb2NrX2ltYmFsYW5jZV9idWcrMHhiMC8weGUwKQo+PiBb PGMwMTdkMDJjPl0gKHByaW50X3VubG9ja19pbWJhbGFuY2VfYnVnKSBmcm9tIFs8YzAxODAwZGM+ XSAobG9ja19yZWxlYXNlKzB4MWE0LzB4Mzc0KQo+PiBbPGMwMTgwMGRjPl0gKGxvY2tfcmVsZWFz ZSkgZnJvbSBbPGMwOWVmN2ZjPl0gKF9yYXdfc3Bpbl91bmxvY2srMHgxOC8weDU0KQo+PiBbPGMw OWVmN2ZjPl0gKF9yYXdfc3Bpbl91bmxvY2spIGZyb20gWzxjMDYxNTQ5ND5dIChkd2MyX2hzb3Rn X2NvbXBsZXRlX3JlcXVlc3QrMHg4NC8weDIxOCkKPj4gWzxjMDYxNTQ5ND5dIChkd2MyX2hzb3Rn X2NvbXBsZXRlX3JlcXVlc3QpIGZyb20gWzxjMDYxNzUzMD5dIChraWxsX2FsbF9yZXF1ZXN0cysw eDQ0LzB4YjQpCj4+IFs8YzA2MTc1MzA+XSAoa2lsbF9hbGxfcmVxdWVzdHMpIGZyb20gWzxjMDYx NzY5MD5dIChkd2MyX2hzb3RnX2VwX2Rpc2FibGUrMHhmMC8weDIwMCkKPj4gWzxjMDYxNzY5MD5d IChkd2MyX2hzb3RnX2VwX2Rpc2FibGUpIGZyb20gWzxjMDY1OTY5OD5dICh1c2JfZXBfZGlzYWJs ZSsweGQwLzB4MWM4KQo+PiBbPGMwNjU5Njk4Pl0gKHVzYl9lcF9kaXNhYmxlKSBmcm9tIFs8YzA2 NWQ0YTg+XSAoZXRoX3N0b3ArMHg2OC8weGE4KQo+PiBbPGMwNjVkNGE4Pl0gKGV0aF9zdG9wKSBm cm9tIFs8YzA3N2UwYjg+XSAoX19kZXZfY2xvc2VfbWFueSsweDk0LzB4ZmMpCj4+IFs8YzA3N2Uw Yjg+XSAoX19kZXZfY2xvc2VfbWFueSkgZnJvbSBbPGMwNzhhMDY0Pl0gKF9fZGV2X2NoYW5nZV9m bGFncysweGEwLzB4MTk4KQo+PiBbPGMwNzhhMDY0Pl0gKF9fZGV2X2NoYW5nZV9mbGFncykgZnJv bSBbPGMwNzhhMTdjPl0gKGRldl9jaGFuZ2VfZmxhZ3MrMHgxOC8weDQ4KQo+PiBbPGMwNzhhMTdj Pl0gKGRldl9jaGFuZ2VfZmxhZ3MpIGZyb20gWzxjMDdhMWE5OD5dIChkb19zZXRsaW5rKzB4Mjk4 LzB4OTkwKQo+PiBbPGMwN2ExYTk4Pl0gKGRvX3NldGxpbmspIGZyb20gWzxjMDdhMjlmMD5dIChy dG5sX25ld2xpbmsrMHg0YTAvMHg2ZmMpCj4+IFs8YzA3YTI5ZjA+XSAocnRubF9uZXdsaW5rKSBm cm9tIFs8YzA3OWRkNzQ+XSAocnRuZXRsaW5rX3Jjdl9tc2crMHgyNTQvMHg0ODgpCj4+IFs8YzA3 OWRkNzQ+XSAocnRuZXRsaW5rX3Jjdl9tc2cpIGZyb20gWzxjMDdjNDdmND5dIChuZXRsaW5rX3Jj dl9za2IrMHhlMC8weDExOCkKPj4gWzxjMDdjNDdmND5dIChuZXRsaW5rX3Jjdl9za2IpIGZyb20g WzxjMDdjNDA5ND5dIChuZXRsaW5rX3VuaWNhc3QrMHgxODAvMHgxYzgpCj4+IFs8YzA3YzQwOTQ+ XSAobmV0bGlua191bmljYXN0KSBmcm9tIFs8YzA3YzQ0Mjg+XSAobmV0bGlua19zZW5kbXNnKzB4 MmJjLzB4MzQ4KQo+PiBbPGMwN2M0NDI4Pl0gKG5ldGxpbmtfc2VuZG1zZykgZnJvbSBbPGMwNzYw YjljPl0gKHNvY2tfc2VuZG1zZysweDE0LzB4MjQpCj4+IFs8YzA3NjBiOWM+XSAoc29ja19zZW5k bXNnKSBmcm9tIFs8YzA3NjFhZjg+XSAoX19fc3lzX3NlbmRtc2crMHgyMmMvMHgyNDgpCj4+IFs8 YzA3NjFhZjg+XSAoX19fc3lzX3NlbmRtc2cpIGZyb20gWzxjMDc2Mjc0MD5dIChfX3N5c19zZW5k bXNnKzB4NDAvMHg2YykKPj4gWzxjMDc2Mjc0MD5dIChfX3N5c19zZW5kbXNnKSBmcm9tIFs8YzAx MDEwMDA+XSAocmV0X2Zhc3Rfc3lzY2FsbCsweDAvMHgyOCkKPj4gRXhjZXB0aW9uIHN0YWNrKDB4 ZWRlNjVmYTggdG8gMHhlZGU2NWZmMCkKPj4gLi4uCj4+Cj4+IFNpZ25lZC1vZmYtYnk6IE1hcmVr IFN6eXByb3dza2kgPG0uc3p5cHJvd3NraUBzYW1zdW5nLmNvbT4KPj4gLS0tCj4+IFRoZSBzdXNw aWNpb3VzIGxvY2tpbmcgaGFzIGJlZW4gYWxyZWFkeSBwb2ludGVkIGluIHRoZSByZXZpZXcgb2Yg dGhlCj4+IGZpcnN0IHZlcnNpb24gb2YgdGhpcyBwYXRjaCwgYnV0IHNhZGx5IHRoZSB2MiBkaWRu J3QgY2hhbmdlIGl0IGFuZAo+PiBsYW5kZWQgaW4gdjQuMjAtcmMxLgo+PiAtLS0KPj4gICBkcml2 ZXJzL3VzYi9kd2MyL2dhZGdldC5jIHwgMzAgKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4+ICAgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMjMgZGVsZXRpb25zKC0pCj4+ Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3VzYi9kd2MyL2dhZGdldC5jIGIvZHJpdmVycy91c2Iv ZHdjMi9nYWRnZXQuYwo+PiBpbmRleCA3OTE4OWRiNGJmMTcuLjIyMGMwZjliODliMCAxMDA2NDQK Pj4gLS0tIGEvZHJpdmVycy91c2IvZHdjMi9nYWRnZXQuYwo+PiArKysgYi9kcml2ZXJzL3VzYi9k d2MyL2dhZGdldC5jCj4+IEBAIC0zMTA5LDggKzMxMDksNiBAQCBzdGF0aWMgdm9pZCBraWxsX2Fs bF9yZXF1ZXN0cyhzdHJ1Y3QgZHdjMl9oc290ZyAqaHNvdGcsCj4+ICAgCQlkd2MyX2hzb3RnX3R4 Zmlmb19mbHVzaChoc290ZywgZXAtPmZpZm9faW5kZXgpOwo+PiAgIH0KPj4gICAKPj4gLXN0YXRp YyBpbnQgZHdjMl9oc290Z19lcF9kaXNhYmxlKHN0cnVjdCB1c2JfZXAgKmVwKTsKPj4gLQo+PiAg IC8qKgo+PiAgICAqIGR3YzJfaHNvdGdfZGlzY29ubmVjdCAtIGRpc2Nvbm5lY3Qgc2VydmljZQo+ PiAgICAqIEBoc290ZzogVGhlIGRldmljZSBzdGF0ZS4KPj4gQEAgLTMxMjksMTIgKzMxMjcsMTMg QEAgdm9pZCBkd2MyX2hzb3RnX2Rpc2Nvbm5lY3Qoc3RydWN0IGR3YzJfaHNvdGcgKmhzb3RnKQo+ PiAgIAloc290Zy0+Y29ubmVjdGVkID0gMDsKPj4gICAJaHNvdGctPnRlc3RfbW9kZSA9IDA7Cj4+ ICAgCj4+IC0JLyogYWxsIGVuZHBvaW50cyBzaG91bGQgYmUgc2h1dGRvd24gKi8KPj4gICAJZm9y IChlcCA9IDA7IGVwIDwgaHNvdGctPm51bV9vZl9lcHM7IGVwKyspIHsKPj4gICAJCWlmIChoc290 Zy0+ZXBzX2luW2VwXSkKPj4gLQkJCWR3YzJfaHNvdGdfZXBfZGlzYWJsZSgmaHNvdGctPmVwc19p bltlcF0tPmVwKTsKPj4gKwkJCWtpbGxfYWxsX3JlcXVlc3RzKGhzb3RnLCBoc290Zy0+ZXBzX2lu W2VwXSwKPj4gKwkJCQkJICAtRVNIVVRET1dOKTsKPj4gICAJCWlmIChoc290Zy0+ZXBzX291dFtl cF0pCj4+IC0JCQlkd2MyX2hzb3RnX2VwX2Rpc2FibGUoJmhzb3RnLT5lcHNfb3V0W2VwXS0+ZXAp Owo+PiArCQkJa2lsbF9hbGxfcmVxdWVzdHMoaHNvdGcsIGhzb3RnLT5lcHNfb3V0W2VwXSwKPj4g KwkJCQkJICAtRVNIVVRET1dOKTsKPj4gICAJfQo+PiAgIAo+PiAgIAljYWxsX2dhZGdldChoc290 ZywgZGlzY29ubmVjdCk7Cj4+IEBAIC0zMTkyLDIzICszMTkxLDEzIEBAIHZvaWQgZHdjMl9oc290 Z19jb3JlX2luaXRfZGlzY29ubmVjdGVkKHN0cnVjdCBkd2MyX2hzb3RnICpoc290ZywKPj4gICAJ dTMyIHZhbDsKPj4gICAJdTMyIHVzYmNmZzsKPj4gICAJdTMyIGRjZmcgPSAwOwo+PiAtCWludCBl cDsKPj4gICAKPj4gICAJLyogS2lsbCBhbnkgZXAwIHJlcXVlc3RzIGFzIGNvbnRyb2xsZXIgd2ls bCBiZSByZWluaXRpYWxpemVkICovCj4+ICAgCWtpbGxfYWxsX3JlcXVlc3RzKGhzb3RnLCBoc290 Zy0+ZXBzX291dFswXSwgLUVDT05OUkVTRVQpOwo+PiAgIAo+PiAtCWlmICghaXNfdXNiX3Jlc2V0 KSB7Cj4+ICsJaWYgKCFpc191c2JfcmVzZXQpCj4+ICAgCQlpZiAoZHdjMl9jb3JlX3Jlc2V0KGhz b3RnLCB0cnVlKSkKPj4gICAJCQlyZXR1cm47Cj4+IC0JfSBlbHNlIHsKPj4gLQkJLyogYWxsIGVu ZHBvaW50cyBzaG91bGQgYmUgc2h1dGRvd24gKi8KPj4gLQkJZm9yIChlcCA9IDE7IGVwIDwgaHNv dGctPm51bV9vZl9lcHM7IGVwKyspIHsKPj4gLQkJCWlmIChoc290Zy0+ZXBzX2luW2VwXSkKPj4g LQkJCQlkd2MyX2hzb3RnX2VwX2Rpc2FibGUoJmhzb3RnLT5lcHNfaW5bZXBdLT5lcCk7Cj4+IC0J CQlpZiAoaHNvdGctPmVwc19vdXRbZXBdKQo+PiAtCQkJCWR3YzJfaHNvdGdfZXBfZGlzYWJsZSgm aHNvdGctPmVwc19vdXRbZXBdLT5lcCk7Cj4+IC0JCX0KPj4gLQl9Cj4+ICAgCj4+ICAgCS8qCj4+ ICAgCSAqIHdlIG11c3Qgbm93IGVuYWJsZSBlcDAgcmVhZHkgZm9yIGhvc3QgZGV0ZWN0aW9uIGFu ZCB0aGVuCj4+IEBAIC00MDA0LDcgKzM5OTMsNiBAQCBzdGF0aWMgaW50IGR3YzJfaHNvdGdfZXBf ZGlzYWJsZShzdHJ1Y3QgdXNiX2VwICplcCkKPj4gICAJdW5zaWduZWQgbG9uZyBmbGFnczsKPj4g ICAJdTMyIGVwY3RybF9yZWc7Cj4+ICAgCXUzMiBjdHJsOwo+PiAtCWludCBsb2NrZWQ7Cj4+ICAg Cj4+ICAgCWRldl9kYmcoaHNvdGctPmRldiwgIiVzKGVwICVwKVxuIiwgX19mdW5jX18sIGVwKTsK Pj4gICAKPj4gQEAgLTQwMjAsOSArNDAwOCw3IEBAIHN0YXRpYyBpbnQgZHdjMl9oc290Z19lcF9k aXNhYmxlKHN0cnVjdCB1c2JfZXAgKmVwKQo+PiAgIAo+PiAgIAllcGN0cmxfcmVnID0gZGlyX2lu ID8gRElFUENUTChpbmRleCkgOiBET0VQQ1RMKGluZGV4KTsKPj4gICAKPj4gLQlsb2NrZWQgPSBz cGluX2lzX2xvY2tlZCgmaHNvdGctPmxvY2spOwo+PiAtCWlmICghbG9ja2VkKQo+PiAtCQlzcGlu X2xvY2tfaXJxc2F2ZSgmaHNvdGctPmxvY2ssIGZsYWdzKTsKPj4gKwlzcGluX2xvY2tfaXJxc2F2 ZSgmaHNvdGctPmxvY2ssIGZsYWdzKTsKPj4gICAKPj4gICAJY3RybCA9IGR3YzJfcmVhZGwoaHNv dGcsIGVwY3RybF9yZWcpOwo+PiAgIAo+PiBAQCAtNDA0Niw5ICs0MDMyLDcgQEAgc3RhdGljIGlu dCBkd2MyX2hzb3RnX2VwX2Rpc2FibGUoc3RydWN0IHVzYl9lcCAqZXApCj4+ICAgCWhzX2VwLT5m aWZvX2luZGV4ID0gMDsKPj4gICAJaHNfZXAtPmZpZm9fc2l6ZSA9IDA7Cj4+ICAgCj4+IC0JaWYg KCFsb2NrZWQpCj4+IC0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmhzb3RnLT5sb2NrLCBmbGFn cyk7Cj4+IC0KPj4gKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZoc290Zy0+bG9jaywgZmxhZ3Mp Owo+PiAgIAlyZXR1cm4gMDsKPj4gICB9Cj4+ICAgCj4+Cj4gQ291bGQgeW91IHBsZWFzZSBhcHBs eSAiW1BBVENIIHYyXSB1c2I6IGR3YzI6IERpc2FibGUgYWxsIEVQJ3Mgb24gCj4gZGlzY29ubmVj dCIgYW5kIGZpeCBmb3IgdGhhdCBwYXRjaCAiW1BBVENIXSB1c2I6IGR3YzI6IEZpeCBlcCBkaXNh YmxlIAo+IHNwaW5sb2NrIGZsb3cuIi4gTGV0IG1lIGtub3cgb24gdGVzdCByZXN1bHRzLgoKSSd2 ZSBjaGVja2VkIGFuZCBldmVuIHdpdGggeW91ciBmaXggIltQQVRDSF0gdXNiOiBkd2MyOiBGaXgg ZXAgZGlzYWJsZQpzcGlubG9jayBmbG93LiIsIHRoZSBpc3N1ZSBpcyB0aGVyZS4gUGxheWluZyBj b25kaXRpb25hbGx5IHdpdGgKc3BpbmxvY2tzIHNlZW1zIHRvIGJlIHZlcnkgYmFkIGlkZWEuIFdo ZW4gc3BpbmxvY2sgaXMgdGFrZW4sIHRoZSBvdGhlcgpDUFUgaXMgdG91Y2hpbmcgRFdDMiByZWdp c3RlcnMuIERvbid0IGV4cGVjdCB0aGF0IGlmIHlvdSBza2lwIHNwaW5sb2NrCmFuZCBmb3JjaWJs eSBjaGFuZ2UgRFdDMiByZWdpc3RlcnMsIHRoZSBoYXJkd2FyZSB3aWxsIGRvIHdoYXQgeW91IHJl YWxseQpleHBlY3RzLi4uIFRoZXJlIHJhbmRvbSBjcmFzaGVzIGFuZCBsb2NrZGVwIHN0aWxsIHBy aW50cyBhIHdhcm5pbmc6Cgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CldB Uk5JTkc6IGJhZCB1bmxvY2sgYmFsYW5jZSBkZXRlY3RlZCEKNC4yMC4wLXJjMy0wMDAwNS1nMTI0 NmIwZTJlNTA5ICM1MDk2IE5vdCB0YWludGVkCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0KaXAvMTQ5MSBpcyB0cnlpbmcgdG8gcmVsZWFzZSBsb2NrICgmKCZoc290Zy0+bG9j ayktPnJsb2NrKSBhdDoKWzxjMDYxYzJlYz5dIGR3YzJfaHNvdGdfY29tcGxldGVfcmVxdWVzdCsw eDg0LzB4MjE0CmJ1dCB0aGVyZSBhcmUgbm8gbW9yZSBsb2NrcyB0byByZWxlYXNlIQoKb3RoZXIg aW5mbyB0aGF0IG1pZ2h0IGhlbHAgdXMgZGVidWcgdGhpczoKMiBsb2NrcyBoZWxkIGJ5IGlwLzE0 OTE6CsKgIzA6IGUyMTgwZjMwIChydG5sX211dGV4KXsrLisufSwgYXQ6IHJ0bmV0bGlua19yY3Zf bXNnKzB4MjI0LzB4NDg4CsKgIzE6IDY4YWI5MDE0ICgmKCZkZXYtPmxvY2spLT5ybG9jayl7LS4t Ln0sIGF0OiBldGhfc3RvcCsweDI0LzB4YTgKCnN0YWNrIGJhY2t0cmFjZToKQ1BVOiAxIFBJRDog MTQ5MSBDb21tOiBpcCBOb3QgdGFpbnRlZCA0LjIwLjAtcmMzLTAwMDA1LWcxMjQ2YjBlMmU1MDkg IzUwOTYKSGFyZHdhcmUgbmFtZTogU0FNU1VORyBFWFlOT1MgKEZsYXR0ZW5lZCBEZXZpY2UgVHJl ZSkKWzxjMDExMWEwYz5dICh1bndpbmRfYmFja3RyYWNlKSBmcm9tIFs8YzAxMGQ4ZjQ+XSAoc2hv d19zdGFjaysweDEwLzB4MTQpCls8YzAxMGQ4ZjQ+XSAoc2hvd19zdGFjaykgZnJvbSBbPGMwOWU0 MTk4Pl0gKGR1bXBfc3RhY2srMHg5MC8weGM4KQpbPGMwOWU0MTk4Pl0gKGR1bXBfc3RhY2spIGZy b20gWzxjMDE3ZDJjOD5dCihwcmludF91bmxvY2tfaW1iYWxhbmNlX2J1ZysweGIwLzB4ZTApCls8 YzAxN2QyYzg+XSAocHJpbnRfdW5sb2NrX2ltYmFsYW5jZV9idWcpIGZyb20gWzxjMDE4MDQwND5d Cihsb2NrX3JlbGVhc2UrMHgxOTAvMHgzODApCls8YzAxODA0MDQ+XSAobG9ja19yZWxlYXNlKSBm cm9tIFs8YzBhMDQyYTQ+XSAoX3Jhd19zcGluX3VubG9jaysweDE4LzB4NTQpCls8YzBhMDQyYTQ+ XSAoX3Jhd19zcGluX3VubG9jaykgZnJvbSBbPGMwNjFjMmVjPl0KKGR3YzJfaHNvdGdfY29tcGxl dGVfcmVxdWVzdCsweDg0LzB4MjE0KQpbPGMwNjFjMmVjPl0gKGR3YzJfaHNvdGdfY29tcGxldGVf cmVxdWVzdCkgZnJvbSBbPGMwNjFlMzc4Pl0KKGtpbGxfYWxsX3JlcXVlc3RzKzB4NDQvMHhiNCkK WzxjMDYxZTM3OD5dIChraWxsX2FsbF9yZXF1ZXN0cykgZnJvbSBbPGMwNjFlNGZjPl0KKGR3YzJf aHNvdGdfZXBfZGlzYWJsZSsweDExNC8weDIxYykKWzxjMDYxZTRmYz5dIChkd2MyX2hzb3RnX2Vw X2Rpc2FibGUpIGZyb20gWzxjMDY2MDg1Yz5dCih1c2JfZXBfZGlzYWJsZSsweGQwLzB4MWM4KQpb PGMwNjYwODVjPl0gKHVzYl9lcF9kaXNhYmxlKSBmcm9tIFs8YzA2NjQ2NjQ+XSAoZXRoX3N0b3Ar MHg2OC8weGE4KQpbPGMwNjY0NjY0Pl0gKGV0aF9zdG9wKSBmcm9tIFs8YzA3ODcxYjg+XSAoX19k ZXZfY2xvc2VfbWFueSsweDk0LzB4ZmMpCls8YzA3ODcxYjg+XSAoX19kZXZfY2xvc2VfbWFueSkg ZnJvbSBbPGMwNzkzMWIwPl0KKF9fZGV2X2NoYW5nZV9mbGFncysweGEwLzB4MTk4KQpbPGMwNzkz MWIwPl0gKF9fZGV2X2NoYW5nZV9mbGFncykgZnJvbSBbPGMwNzkzMmM4Pl0KKGRldl9jaGFuZ2Vf ZmxhZ3MrMHgxOC8weDQ4KQpbPGMwNzkzMmM4Pl0gKGRldl9jaGFuZ2VfZmxhZ3MpIGZyb20gWzxj MDdhYjc5OD5dIChkb19zZXRsaW5rKzB4Mjk4LzB4OTkwKQpbPGMwN2FiNzk4Pl0gKGRvX3NldGxp bmspIGZyb20gWzxjMDdhYzc2MD5dIChydG5sX25ld2xpbmsrMHg0YTgvMHg3MGMpCls8YzA3YWM3 NjA+XSAocnRubF9uZXdsaW5rKSBmcm9tIFs8YzA3YTc2ODg+XQoocnRuZXRsaW5rX3Jjdl9tc2cr MHgyNTQvMHg0ODgpCls8YzA3YTc2ODg+XSAocnRuZXRsaW5rX3Jjdl9tc2cpIGZyb20gWzxjMDdj Zjg0ND5dCihuZXRsaW5rX3Jjdl9za2IrMHhlMC8weDExOCkKWzxjMDdjZjg0ND5dIChuZXRsaW5r X3Jjdl9za2IpIGZyb20gWzxjMDdjZjBlND5dCihuZXRsaW5rX3VuaWNhc3QrMHgxODAvMHgxYzgp Cls8YzA3Y2YwZTQ+XSAobmV0bGlua191bmljYXN0KSBmcm9tIFs8YzA3Y2Y0Nzg+XQoobmV0bGlu a19zZW5kbXNnKzB4MmJjLzB4MzQ4KQpbPGMwN2NmNDc4Pl0gKG5ldGxpbmtfc2VuZG1zZykgZnJv bSBbPGMwNzY5YTM4Pl0gKHNvY2tfc2VuZG1zZysweDE0LzB4MjQpCls8YzA3NjlhMzg+XSAoc29j a19zZW5kbXNnKSBmcm9tIFs8YzA3NmE5YjA+XSAoX19fc3lzX3NlbmRtc2crMHgyMmMvMHgyNDgp Cls8YzA3NmE5YjA+XSAoX19fc3lzX3NlbmRtc2cpIGZyb20gWzxjMDc2YjVmOD5dIChfX3N5c19z ZW5kbXNnKzB4NDAvMHg2YykKWzxjMDc2YjVmOD5dIChfX3N5c19zZW5kbXNnKSBmcm9tIFs8YzAx MDEwMDA+XSAocmV0X2Zhc3Rfc3lzY2FsbCsweDAvMHgyOCkKRXhjZXB0aW9uIHN0YWNrKDB4ZWRl YzVmYTggdG8gMHhlZGVjNWZmMCkKLi4uCgoKQmVzdCByZWdhcmRzCg==