Return-path: Received: from mail-qy0-f181.google.com ([209.85.216.181]:49922 "EHLO mail-qy0-f181.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752062Ab0HVTwq (ORCPT ); Sun, 22 Aug 2010 15:52:46 -0400 Received: by qyk33 with SMTP id 33so4869039qyk.19 for ; Sun, 22 Aug 2010 12:52:45 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <1282506589-8220-2-git-send-email-zajec5@gmail.com> References: <1282506589-8220-1-git-send-email-zajec5@gmail.com> <1282506589-8220-2-git-send-email-zajec5@gmail.com> From: =?ISO-8859-1?Q?G=E1bor_Stefanik?= Date: Sun, 22 Aug 2010 21:52:25 +0200 Message-ID: Subject: Re: [PATCH 2/2] b43: N-PHY: add sub calls of band width setting To: =?ISO-8859-2?Q?Rafa=B3_Mi=B3ecki?= Cc: linux-wireless@vger.kernel.org, "John W. Linville" , b43-dev@lists.infradead.org Content-Type: text/plain; charset=UTF-8 Sender: linux-wireless-owner@vger.kernel.org List-ID: MjAxMC84LzIyIFJhZmHFgiBNacWCZWNraSA8emFqZWM1QGdtYWlsLmNvbT46Cj4gU2lnbmVkLW9m Zi1ieTogUmFmYcWCIE1pxYJlY2tpIDx6YWplYzVAZ21haWwuY29tPgo+IC0tLQo+IMKgZHJpdmVy cy9uZXQvd2lyZWxlc3MvYjQzL2I0My5oIMKgIMKgIMKgIMKgfCDCoCDCoDEgKwo+IMKgZHJpdmVy cy9uZXQvd2lyZWxlc3MvYjQzL3BoeV9jb21tb24uYyB8IMKgMTUwICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLQo+IMKgZHJpdmVycy9uZXQvd2lyZWxlc3MvYjQzL3BoeV9jb21tb24u aCB8IMKgIMKgNyArKwo+IMKgMyBmaWxlcyBjaGFuZ2VkLCAxNTcgaW5zZXJ0aW9ucygrKSwgMSBk ZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC93aXJlbGVzcy9iNDMvYjQz LmggYi9kcml2ZXJzL25ldC93aXJlbGVzcy9iNDMvYjQzLmgKPiBpbmRleCA4Njc0YTk5Li43MzM3 NmZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2I0My9iNDMuaAo+ICsrKyBi L2RyaXZlcnMvbmV0L3dpcmVsZXNzL2I0My9iNDMuaAo+IEBAIC01Nyw2ICs1Nyw3IEBACj4gwqAj ZGVmaW5lIEI0M19NTUlPX1RTRl9DRlBfUkVQIMKgIMKgIMKgIMKgIMKgIDB4MTg4Cj4gwqAjZGVm aW5lIEI0M19NTUlPX1RTRl9DRlBfU1RBUlQgwqAgwqAgwqAgwqAgMHgxOEMKPiDCoCNkZWZpbmUg QjQzX01NSU9fVFNGX0NGUF9NQVhEVVIgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAweDE5MAo+ICsj ZGVmaW5lIEI0M19NTUlPX0NMS0NUTCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oDB4MUUwIMKgIC8qIGNsb2NrIGNvbnRyb2wgc3RhdHVzICovCj4KPiDCoC8qIDMyLWJpdCBETUEg Ki8KPiDCoCNkZWZpbmUgQjQzX01NSU9fRE1BMzJfQkFTRTAgwqAgwqAgwqAgwqAgwqAgMHgyMDAK PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvd2lyZWxlc3MvYjQzL3BoeV9jb21tb24uYyBiL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL2I0My9waHlfY29tbW9uLmMKPiBpbmRleCBiMDZlM2YwLi4xMGI5 ZTZmIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvbmV0L3dpcmVsZXNzL2I0My9waHlfY29tbW9uLmMK PiArKysgYi9kcml2ZXJzL25ldC93aXJlbGVzcy9iNDMvcGh5X2NvbW1vbi5jCj4gQEAgLTQ2Nywx MCArNDY3LDE1OCBAQCBzdHJ1Y3QgYjQzX2MzMiBiNDNfY29yZGljKGludCB0aGV0YSkKPiDCoCDC oCDCoCDCoHJldHVybiByZXQ7Cj4gwqB9Cj4KPiArLyogaHR0cDovL2JjbS12NC5zaXBzb2x1dGlv bnMubmV0LzgwMi4xMS9OY0Nsa0N0bENjICovCj4gK3N0YXRpYyBib29sIGI0M19ub19jaGVja19j bG9ja19jb250cm9sX2NoaXBfY29tbW9uKHN0cnVjdCBiNDNfd2xkZXYgKmRldiwKPiArIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHUzMiBtb2RlKQo+ICt7Cj4gKyDCoCDCoCDC oCAvKiBUT0RPOiB0aGlzIGlzIHRlbXBvcmFyeSBoYWNrICovCj4gKyDCoCDCoCDCoCByZXR1cm4g KG1vZGUgPT0gMCk7Cj4gK30KPiArCj4gKy8qIGh0dHA6Ly9iY20tdjQuc2lwc29sdXRpb25zLm5l dC84MDIuMTEvQ2xrQ3RsQ2MgKi8KPiArc3RhdGljIGJvb2wgYjQzX2Nsb2NrX2NvbnRyb2xfY2hp cF9jb21tb24oc3RydWN0IGI0M193bGRldiAqZGV2LCB1MzIgbW9kZSkKPiArewo+ICsgwqAgwqAg wqAgc3RydWN0IHNzYl9idXMgKmJ1cyA9IGRldi0+ZGV2LT5idXM7Cj4gKyDCoCDCoCDCoCB1MTYg Y2hpcF9pZCA9IGJ1cy0+Y2hpcF9pZDsKPiArIMKgIMKgIMKgIHUxNiBjaGlwX3JldiA9IGJ1cy0+ Y2hpcF9yZXY7Cj4gKyDCoCDCoCDCoCAvKiBUT0RPOiBzcGVjcyBkaXN0aW5ndWlzaCBQQ0kgYW5k IFBDSWUgKi8KPiArIMKgIMKgIMKgIGJvb2wgcGNpID0gKGJ1cy0+YnVzdHlwZSA9PSBTU0JfQlVT VFlQRV9QQ0kpOwo+ICsKPiArIMKgIMKgIMKgIGlmIChkZXYtPmRldi0+aWQucmV2aXNpb24gPCA2 KQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgcmV0dXJuIGZhbHNlOwo+ICsgwqAgwqAgwqAgaWYg KHBjaSAmJiAoKGNoaXBfaWQgPT0gMHg0MzExICYmIGNoaXBfcmV2IDwgMikgfHwKPiArIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIChwY2kgJiYgY2hpcF9pZCA9PSAweDQzMjEpIHx8Cj4gKyDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCAocGNpICYmIGNoaXBfaWQgPT0gMHg0NzE2KSkpCj4g KyDCoCDCoCDCoCDCoCDCoCDCoCDCoCByZXR1cm4gKG1vZGUgPT0gMCk7Cj4gKyDCoCDCoCDCoCBy ZXR1cm4gYjQzX25vX2NoZWNrX2Nsb2NrX2NvbnRyb2xfY2hpcF9jb21tb24oZGV2LCBtb2RlKTsK PiArfQo+ICsKPiArLyogaHR0cDovL2JjbS12NC5zaXBzb2x1dGlvbnMubmV0LzgwMi4xMS9QSFkv Qm1hY1dhaXRGb3JXYWtlICovCj4gK3N0YXRpYyB2b2lkIGI0M19waHlfYm1hY193YWl0X2Zvcl93 YWtlKHN0cnVjdCBiNDNfd2xkZXYgKmRldikKPiArewo+ICsgwqAgwqAgwqAgdTggY29yZV9yZXYg PSBkZXYtPmRldi0+YnVzLT5wY2ljb3JlLmRldi0+aWQucmV2aXNpb247Cj4gKyDCoCDCoCDCoCB1 MTYgdG1wLCBpOwo+ICsKPiArIMKgIMKgIMKgIGlmIChjb3JlX3JldiA9PSA0KSB7Cj4gKyDCoCDC oCDCoCDCoCDCoCDCoCDCoCB1ZGVsYXkoNSk7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCByZXR1 cm47Cj4gKyDCoCDCoCDCoCB9Cj4gKwo+ICsgwqAgwqAgwqAgaWYgKGRldi0+cGh5LnR5cGUgPT0g QjQzX1BIWVRZUEVfRyAmJiBjb3JlX3JldiA9PSA1KQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAg dWRlbGF5KDIwMDApOwo+ICsgwqAgwqAgwqAgZWxzZQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAg dWRlbGF5KDQwKTsKPiArCj4gKyDCoCDCoCDCoCBmb3IgKGkgPSAwOyBpIDwgMTUwMDsgaSsrKSB7 Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCB0bXAgPSBiNDNfc2htX3JlYWQxNihkZXYsIEI0M19T SE1fU0hBUkVELAo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgQjQzX1NITV9TSF9VQ09ERVNUQVQpOwo+ICsgwqAgwqAgwqAgwqAgwqAg wqAgwqAgaWYgKHRtcCA9PSBCNDNfU0hNX1NIX1VDT0RFU1RBVF9TTEVFUCkgewo+ICsgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaSA9IDA7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCBicmVhazsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH0KPiArIMKgIMKg IMKgIMKgIMKgIMKgIMKgIHVkZWxheSgxMCk7Cj4gKyDCoCDCoCDCoCB9Cj4gKyDCoCDCoCDCoCBp ZiAoaSkKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGI0M2VycihkZXYtPndsLCAidWNvZGUgd2Fr ZSB1cCB0aW1lb3V0XG4iKTsKPiArfQo+ICsKPiArLyogaHR0cDovL2JjbS12NC5zaXBzb2x1dGlv bnMubmV0LzgwMi4xMS9QSFkvTWN0cmxXcml0ZSAqLwo+ICtzdGF0aWMgdm9pZCBiNDNfcGh5X21h Y19jb250cm9sX3dyaXRlKHN0cnVjdCBiNDNfd2xkZXYgKmRldikKPiArewo+ICsgwqAgwqAgwqAg dTMyIHRtcCA9IGRldi0+cGh5Lm1hY2NvbnRyb2w7Cj4gKyDCoCDCoCDCoCBpZiAoZGV2LT5waHku d2FrZV9vdmVycmlkZSkKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHRtcCB8PSBCNDNfTUFDQ1RM X0FXQUtFOwo+ICsgwqAgwqAgwqAgaWYgKGRldi0+cGh5Lm11dGVfb3ZlcnJpZGUpCj4gKyDCoCDC oCDCoCDCoCDCoCDCoCDCoCB0bXAgJj0gfkI0M19NQUNDVExfQVA7Cj4gKyDCoCDCoCDCoCB0bXAg fD0gQjQzX01BQ0NUTF9JTkZSQTsKPiArIMKgIMKgIMKgIGI0M193cml0ZTMyKGRldiwgQjQzX01N SU9fTUFDQ1RMLCB0bXApOwo+ICt9Cj4gKwo+ICsvKiBodHRwOi8vYmNtLXY0LnNpcHNvbHV0aW9u cy5uZXQvODAyLjExL1BIWS9VY29kZVdha2VPdmVycmlkZVNldCAqLwo+ICtzdGF0aWMgdm9pZCBi NDNfdWNvZGVfd2FrZV9vdmVycmlkZV9zZXQoc3RydWN0IGI0M193bGRldiAqZGV2LCB1MzIgb3Zl cnJpZGUpCj4gK3sKPiArIMKgIMKgIMKgIGRldi0+cGh5Lndha2Vfb3ZlcnJpZGUgfD0gb3ZlcnJp ZGU7Cj4gKyDCoCDCoCDCoCBpZiAoZGV2LT5waHkud2FrZV9vdmVycmlkZSB8fCBkZXYtPnBoeS5t YWNjb250cm9sICYgQjQzX01BQ0NUTF9BV0FLRSkKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJl dHVybjsKPiArIMKgIMKgIMKgIGI0M19waHlfbWFjX2NvbnRyb2xfd3JpdGUoZGV2KTsKPiArIMKg IMKgIMKgIGI0M19waHlfYm1hY193YWl0X2Zvcl93YWtlKGRldik7Cj4gK30KPiArCj4gKy8qIGh0 dHA6Ly9iY20tdjQuc2lwc29sdXRpb25zLm5ldC84MDIuMTEvUEhZL1Vjb2RlV2FrZU92ZXJyaWRl Q2xlYXIgKi8KPiArc3RhdGljIHZvaWQgYjQzX3Vjb2RlX3dha2Vfb3ZlcnJpZGVfY2xlYXIoc3Ry dWN0IGI0M193bGRldiAqZGV2LCB1MzIgb3ZlcnJpZGUpCj4gK3sKPiArIMKgIMKgIMKgIGRldi0+ cGh5Lndha2Vfb3ZlcnJpZGUgJj0gfm92ZXJyaWRlOwo+ICsgwqAgwqAgwqAgaWYgKGRldi0+cGh5 Lndha2Vfb3ZlcnJpZGUgIT0gKGRldi0+cGh5Lm1hY2NvbnRyb2wgJiBCNDNfTUFDQ1RMX0FXQUtF KSkKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHJldHVybjsKPiArIMKgIMKgIMKgIGI0M19waHlf bWFjX2NvbnRyb2xfd3JpdGUoZGV2KTsKPiArfQo+ICsKPiDCoC8qIGh0dHA6Ly9iY20tdjQuc2lw c29sdXRpb25zLm5ldC84MDIuMTEvUEhZL0Nsa0N0bENsayAqLwo+IMKgc3RhdGljIHZvaWQgYjQz X2Nsb2NrX2NvbnRyb2woc3RydWN0IGI0M193bGRldiAqZGV2LCB1MzIgbW9kZSkKPiDCoHsKPiAt IMKgIMKgIMKgIDsgLyogVE9ETyAqLwo+ICsgwqAgwqAgwqAgc3RydWN0IGI0M19waHkgKnBoeSA9 ICZkZXYtPnBoeTsKPiArIMKgIMKgIMKgIHN0cnVjdCBzc2JfYnVzICpidXMgPSBkZXYtPmRldi0+ YnVzOwo+ICsgwqAgwqAgwqAgdTggY29yZV9yZXYgPSBidXMtPnBjaWNvcmUuZGV2LT5pZC5yZXZp c2lvbjsKPiArIMKgIMKgIMKgIHUxNiBpOwo+ICsgwqAgwqAgwqAgdTMyIGNsa2N0bDsKPiArIMKg IMKgIMKgIGJvb2wgd2FrZXVwOwo+ICsKPiArIMKgIMKgIMKgIGlmIChidXMtPmNoaXBjby5jYXBh YmlsaXRpZXMgJiBTU0JfQ0hJUENPX0NBUF9QTVUpIHsgLyogUE1VIFByZXNlbnQgKi8KPiArIMKg IMKgIMKgIMKgIMKgIMKgIMKgIEI0M19XQVJOX09OKGNvcmVfcmV2IDwgMjApOwo+ICsgwqAgwqAg wqAgwqAgwqAgwqAgwqAgaWYgKHBoeS0+Y2xrKSB7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCBib29sIHRtcCA9IChidXMtPmNoaXBjby5wbXUucmV2ID09IDAgJiYKPiArIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIChiNDNfcmVhZDMyKGRl diwgQjQzX01NSU9fQ0xLQ1RMKSAmIDB4MTIpKTsKPiArCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCBpZiAobW9kZSA9PSAwKSB7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBjbGtjdGwgPSBiNDNfcmVhZDMyKGRldiwgQjQzX01NSU9f Q0xLQ1RMKTsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IGNsa2N0bCB8PSAweDI7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCBiNDNfd3JpdGUzMihkZXYsIEI0M19NTUlPX0NMS0NUTCwgY2xrY3RsKTsKPiArIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIHVkZWxheSgzMyk7Cj4g KyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCB9Cj4gKwo+ICsgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKG1vZGUgPT0gMCB8fCB0bXApIHsKPiArIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGZvciAoaSA9IDA7IGkgPCAxNTAw OyBpKyspIHsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIGNsa2N0bCA9IGI0M19yZWFkMzIoZGV2LCBCNDNfTU1JT19DTEtDVEwpOwo+ ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgaWYgKChjbGtjdGwgJiAweDIwMDAwKSA9PSAwKSB7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpID0gMDsK PiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIGJyZWFrOwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgdWRlbGF5KDEwKTsKPiArIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIH0KPiArIMKgIMKgIMKgIMKgIMKg IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGlmIChpKQo+ICsgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgYjQzZXJyKGRldi0+d2ws ICJjbG9jayB0aW1lb3V0XG4iKTsKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKg IH0KPiArCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAobW9kZSAhPSAw ICYmIHRtcCkgewo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgY2xrY3RsID0gYjQzX3JlYWQzMihkZXYsIEI0M19NTUlPX0NMS0NUTCk7Cj4gKyDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBjbGtjdGwgJj0gfjB4MjsKPiAr IMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGI0M193cml0ZTMy KGRldiwgQjQzX01NSU9fQ0xLQ1RMLCBjbGtjdGwpOwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgfQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgfQo+ICsgwqAgwqAgwqAgwqAg wqAgwqAgwqAgcGh5LT5mb3JjZWZhc3RjbGsgPSAobW9kZSA9PSAwKTsKPiArIMKgIMKgIMKgIH0g ZWxzZSB7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBCNDNfV0FSTl9PTihjb3JlX3JldiA+PSAy MCk7Cj4gKwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgd2FrZXVwID0gKGNvcmVfcmV2IDwgOSk7 Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBpZiAocGh5LT51cCAmJiB3YWtldXApCj4gKyDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBiNDNfdWNvZGVfd2FrZV9vdmVycmlkZV9zZXQo ZGV2LCAxKTsKPiArCj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBwaHktPmZvcmNlZmFzdGNsayA9 IGI0M19jbG9ja19jb250cm9sX2NoaXBfY29tbW9uKGRldiwgbW9kZSk7Cj4gKyDCoCDCoCDCoCDC oCDCoCDCoCDCoCBpZiAoY29yZV9yZXYgPCAxMSkgewo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgaWYgKHBoeS0+Zm9yY2VmYXN0Y2xrKQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgOyAvKiBUT0RPOiBiNDNfbWhmKGRldiwgMCwgMHg0 MDAsIDB4NDAwLCAzKTsgKi8KPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIGVs c2UKPiArIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIMKgIDsgLyog VE9ETzogYjQzX21oZihkZXYsIDAsIDB4NDAwLCAwLCAzKTsgKi8KCldlIGRvIGltcGxlbWVudCBt aGYgYWxyZWFkeSwgdGhvdWdoIGl0IGlzIGRvbmUgZGlmZmVyZW50bHkgdGhhbiBpbiB3bC4KU2Vl IG15IGVhcmxpZXIgIkFkZCBtaXNzaW5nIEhGIHdyaXRlIiBwYXRjaC4KCj4gKyDCoCDCoCDCoCDC oCDCoCDCoCDCoCB9Cj4gKwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKHBoeS0+Zm9yY2Vm YXN0Y2xrKQo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgcGh5LT53YWtlX292 ZXJyaWRlIHw9IDB4MTA7Cj4gKyDCoCDCoCDCoCDCoCDCoCDCoCDCoCBlbHNlCj4gKyDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBwaHktPndha2Vfb3ZlcnJpZGUgJj0gfjB4MTA7Cj4g Kwo+ICsgwqAgwqAgwqAgwqAgwqAgwqAgwqAgaWYgKHBoeS0+dXAgJiYgd2FrZXVwKQo+ICsgwqAg wqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgwqAgYjQzX3Vjb2RlX3dha2Vfb3ZlcnJpZGVfY2xl YXIoZGV2LCAxKTsKPiArIMKgIMKgIMKgIH0KPiDCoH0KPgo+IMKgLyogaHR0cDovL2JjbS12NC5z aXBzb2x1dGlvbnMubmV0LzgwMi4xMS9QSFkvQm1hY0J3U2V0ICovCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvbmV0L3dpcmVsZXNzL2I0My9waHlfY29tbW9uLmggYi9kcml2ZXJzL25ldC93aXJlbGVz cy9iNDMvcGh5X2NvbW1vbi5oCj4gaW5kZXggOTg4NmRiMC4uZmEyMDU0OCAxMDA2NDQKPiAtLS0g YS9kcml2ZXJzL25ldC93aXJlbGVzcy9iNDMvcGh5X2NvbW1vbi5oCj4gKysrIGIvZHJpdmVycy9u ZXQvd2lyZWxlc3MvYjQzL3BoeV9jb21tb24uaAo+IEBAIC0yNjAsOCArMjYwLDE1IEBAIHN0cnVj dCBiNDNfcGh5IHsKPiDCoCDCoCDCoCDCoGF0b21pY190IHR4ZXJyX2NudDsKPgo+IMKgIMKgIMKg IMKgLyogQ2xvY2sgKi8KPiArIMKgIMKgIMKgIHUzMiBjbGs7Cj4gwqAgwqAgwqAgwqBib29sIGZv cmNlZmFzdGNsazsKPgo+ICsgwqAgwqAgwqAgYm9vbCB1cDsKPiArIMKgIMKgIMKgIHUzMiBtYWNj b250cm9sOwo+ICsKPiArIMKgIMKgIMKgIHUzMiB3YWtlX292ZXJyaWRlOwo+ICsgwqAgwqAgwqAg dTMyIG11dGVfb3ZlcnJpZGU7Cj4gKwo+IMKgI2lmZGVmIENPTkZJR19CNDNfREVCVUcKPiDCoCDC oCDCoCDCoC8qIFBIWSByZWdpc3RlcnMgbG9ja2VkICh3LnIudC4gZmlybXdhcmUpICovCj4gwqAg wqAgwqAgwqBib29sIHBoeV9sb2NrZWQ7Cj4gLS0KPiAxLjcuMQo+Cj4KCgoKLS0gClZpc3RhOiBb Vl1pcnVzZXMsIFtJXW50cnVkZXJzLCBbU11weXdhcmUsIFtUXXJvamFucyBhbmQgW0FdZHdhcmUu IDotKQo=