Received: by 2002:a05:6a10:a0d1:0:0:0:0 with SMTP id j17csp268699pxa; Fri, 14 Aug 2020 03:49:59 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzcA0PJbUgYtroaBaXjWtG2To7a2LIQbreIkUJ515yu5hFaRGG37ASkI8T3mTRv8Lbw8n2y X-Received: by 2002:a17:906:1b0e:: with SMTP id o14mr1771628ejg.472.1597402199168; Fri, 14 Aug 2020 03:49:59 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1597402199; cv=none; d=google.com; s=arc-20160816; b=vM3aRZJA3hliAeiQjh2UKzjDWJTO7y/c1GLf42I31dZJQu9Gr+JC4jEUHgKvFgwYgk hx4yNAFlfsciokB/53VgwyU0xEMv7yqmAmfhGq0NjdKm+yiRWHs7TNooaJR89lfDoob6 Um/rm0mj0B6NTRnEoTSQ2mk9ml/eqG0BBXLTRrml1PSN0+nOk+vrZP/rXR6c9g4/xqFv K5hhAIIXmzWCnW8+5ze5xM1ECio+ClObaxKKgXiTpD/3gUD8J61KOtASAHQCiGFFIzpe Eixi0sOyISa+ywNoljevOHhPc4VyBMQKfFBmWI+hA75vStIaqFEVTI87w4Vfu71x7jiv sUlA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=A0PAdgs0BAsma6qHiWaxy99B8Qb3RfirHfl6YXiBzGs=; b=rZEEW6rh7Csp7QJahNccmoFyaMnvMXW/CrwEpz9uAXxV25jKZ7lN16mptyTdqZfDtQ pEsW+C2GAiVUT8PiP/IdBZf2kWhBQa3wjbRuoSril55JYnr0sF1XuUZqsK2MnII7AmE7 I07cUb6lEoIXBGPmx1tuYe4645UpAXmQsQsqrwBKnDHKW+xB8+UITWsa7cqrN/GR3s3a BckhqRrRy2I2CUHcxsmfaq3cgYFHoUjCv/Mn1fDnUWQe6MTXI1PqYs72Crp+wzDwq6/B LsWtNATUe1OV0/4WnJOJGWCL7g5SXHdewXNpLW7XVZ2vemStc/nIjYgJrX/d21zyovcJ m+jA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=FrB3qB8V; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u7si4925779edt.557.2020.08.14.03.49.34; Fri, 14 Aug 2020 03:49:59 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=FrB3qB8V; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727858AbgHNKro (ORCPT + 99 others); Fri, 14 Aug 2020 06:47:44 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:11250 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1727839AbgHNKrn (ORCPT ); Fri, 14 Aug 2020 06:47:43 -0400 X-UUID: 7e25f2f78e2a46128b74a5a2b269cb6a-20200814 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=A0PAdgs0BAsma6qHiWaxy99B8Qb3RfirHfl6YXiBzGs=; b=FrB3qB8VeOQo5rTIGveqQ2R4iLISgLXPIJB+i+FywmzUmwgoaAO08AbCOBn9bn2kuu5fFNkNOjdA2gnL1mN5wOTI5U/NLzK4ytY02EYUoZZO585xilNMt8KUyNv/y1tmMUM9wZqWjBVptybHcloVMpghNXFR2I+H9l8k6nhYhQM=; X-UUID: 7e25f2f78e2a46128b74a5a2b269cb6a-20200814 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 273014112; Fri, 14 Aug 2020 18:46:57 +0800 Received: from MTKCAS06.mediatek.inc (172.21.101.30) by mtkmbs05n1.mediatek.inc (172.21.101.15) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Fri, 14 Aug 2020 18:46:53 +0800 Received: from localhost.localdomain (10.17.3.153) by MTKCAS06.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Fri, 14 Aug 2020 18:46:52 +0800 From: Jiaxin Yu To: , , , , CC: , , , , , , , , Jiaxin Yu Subject: [PATCH v3 1/2] WIP: ASoC: mediatek: mt6359: add codec driver Date: Fri, 14 Aug 2020 18:45:53 +0800 Message-ID: <1597401954-28388-2-git-send-email-jiaxin.yu@mediatek.com> X-Mailer: git-send-email 1.8.1.1.dirty In-Reply-To: <1597401954-28388-1-git-send-email-jiaxin.yu@mediatek.com> References: <1597401954-28388-1-git-send-email-jiaxin.yu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org QWRkIHRoZSBtdDYzNTkgY29kZWMgZHJpdmVyLg0KDQpTaWduZWQtb2ZmLWJ5OiBKaWF4aW4gWXUg PGppYXhpbi55dUBtZWRpYXRlay5jb20+DQotLS0NCiBzb3VuZC9zb2MvY29kZWNzL0tjb25maWcg IHwgICAgOCArDQogc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZSB8ICAgIDIgKw0KIHNvdW5kL3Nv Yy9jb2RlY3MvbXQ2MzU5LmMgfCAyNzM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysNCiBzb3VuZC9zb2MvY29kZWNzL210NjM1OS5oIHwgMjY0MCArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKw0KIDQgZmlsZXMgY2hhbmdlZCwgNTM4NyBpbnNlcnRpb25zKCsp DQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5LmMNCiBjcmVhdGUg bW9kZSAxMDA2NDQgc291bmQvc29jL2NvZGVjcy9tdDYzNTkuaA0KDQpkaWZmIC0tZ2l0IGEvc291 bmQvc29jL2NvZGVjcy9LY29uZmlnIGIvc291bmQvc29jL2NvZGVjcy9LY29uZmlnDQppbmRleCBl MmI1NTk3Mzc0YTE4Li5lYzk2NjUyZjc0ZWVlIDEwMDY0NA0KLS0tIGEvc291bmQvc29jL2NvZGVj cy9LY29uZmlnDQorKysgYi9zb3VuZC9zb2MvY29kZWNzL0tjb25maWcNCkBAIC0xMjYsNiArMTI2 LDcgQEAgY29uZmlnIFNORF9TT0NfQUxMX0NPREVDUw0KIAlpbXBseSBTTkRfU09DX01MMjYxMjQN CiAJaW1wbHkgU05EX1NPQ19NVDYzNTENCiAJaW1wbHkgU05EX1NPQ19NVDYzNTgNCisJaW1wbHkg U05EX1NPQ19NVDYzNTkNCiAJaW1wbHkgU05EX1NPQ19NVDY2NjANCiAJaW1wbHkgU05EX1NPQ19O QVU4NTQwDQogCWltcGx5IFNORF9TT0NfTkFVODgxMA0KQEAgLTE2MjIsNiArMTYyMywxMyBAQCBj b25maWcgU05EX1NPQ19NVDYzNTgNCiAJICBFbmFibGUgc3VwcG9ydCBmb3IgdGhlIHBsYXRmb3Jt IHdoaWNoIHVzZXMgTVQ2MzU4IGFzDQogCSAgZXh0ZXJuYWwgY29kZWMgZGV2aWNlLg0KIA0KK2Nv bmZpZyBTTkRfU09DX01UNjM1OQ0KKwl0cmlzdGF0ZSAiTWVkaWFUZWsgTVQ2MzU5IENvZGVjIg0K KwlkZXBlbmRzIG9uIE1US19QTUlDX1dSQVANCisJaGVscA0KKwkgIEVuYWJsZSBzdXBwb3J0IGZv ciB0aGUgcGxhdGZvcm0gd2hpY2ggdXNlcyBNVDYzNTkgYXMNCisJICBleHRlcm5hbCBjb2RlYyBk ZXZpY2UuDQorDQogY29uZmlnIFNORF9TT0NfTVQ2NjYwDQogCXRyaXN0YXRlICJNZWRpYXRlayBN VDY2NjAgU3BlYWtlciBBbXBsaWZpZXIiDQogCWRlcGVuZHMgb24gSTJDDQpkaWZmIC0tZ2l0IGEv c291bmQvc29jL2NvZGVjcy9NYWtlZmlsZSBiL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUNCmlu ZGV4IGQ5ZjI5MTM2ZjE1NDYuLmI4MGM2OGFkY2IxNGMgMTAwNjQ0DQotLS0gYS9zb3VuZC9zb2Mv Y29kZWNzL01ha2VmaWxlDQorKysgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlDQpAQCAtMTIw LDYgKzEyMCw3IEBAIHNuZC1zb2MtbXNtODkxNi1hbmFsb2ctb2JqcyA6PSBtc204OTE2LXdjZC1h bmFsb2cubw0KIHNuZC1zb2MtbXNtODkxNi1kaWdpdGFsLW9ianMgOj0gbXNtODkxNi13Y2QtZGln aXRhbC5vDQogc25kLXNvYy1tdDYzNTEtb2JqcyA6PSBtdDYzNTEubw0KIHNuZC1zb2MtbXQ2MzU4 LW9ianMgOj0gbXQ2MzU4Lm8NCitzbmQtc29jLW10NjM1OS1vYmpzIDo9IG10NjM1OS5vDQogc25k LXNvYy1tdDY2NjAtb2JqcyA6PSBtdDY2NjAubw0KIHNuZC1zb2MtbmF1ODU0MC1vYmpzIDo9IG5h dTg1NDAubw0KIHNuZC1zb2MtbmF1ODgxMC1vYmpzIDo9IG5hdTg4MTAubw0KQEAgLTQxMiw2ICs0 MTMsNyBAQCBvYmotJChDT05GSUdfU05EX1NPQ19NU004OTE2X1dDRF9BTkFMT0cpICs9c25kLXNv Yy1tc204OTE2LWFuYWxvZy5vDQogb2JqLSQoQ09ORklHX1NORF9TT0NfTVNNODkxNl9XQ0RfRElH SVRBTCkgKz1zbmQtc29jLW1zbTg5MTYtZGlnaXRhbC5vDQogb2JqLSQoQ09ORklHX1NORF9TT0Nf TVQ2MzUxKQkrPSBzbmQtc29jLW10NjM1MS5vDQogb2JqLSQoQ09ORklHX1NORF9TT0NfTVQ2MzU4 KQkrPSBzbmQtc29jLW10NjM1OC5vDQorb2JqLSQoQ09ORklHX1NORF9TT0NfTVQ2MzU5KQkrPSBz bmQtc29jLW10NjM1OS5vDQogb2JqLSQoQ09ORklHX1NORF9TT0NfTVQ2NjYwKQkrPSBzbmQtc29j LW10NjY2MC5vDQogb2JqLSQoQ09ORklHX1NORF9TT0NfTkFVODU0MCkgICArPSBzbmQtc29jLW5h dTg1NDAubw0KIG9iai0kKENPTkZJR19TTkRfU09DX05BVTg4MTApICAgKz0gc25kLXNvYy1uYXU4 ODEwLm8NCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29kZWNzL210NjM1OS5jIGIvc291bmQvc29j L2NvZGVjcy9tdDYzNTkuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAw MDAuLmZkYmFmNDI3OTk1MGYNCi0tLSAvZGV2L251bGwNCisrKyBiL3NvdW5kL3NvYy9jb2RlY3Mv bXQ2MzU5LmMNCkBAIC0wLDAgKzEsMjczNyBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wDQorLy8NCisvLyBtdDYzNTkuYyAgLS0gIG10NjM1OSBBTFNBIFNvQyBhdWRpbyBj b2RlYyBkcml2ZXINCisvLw0KKy8vIENvcHlyaWdodCAoYykgMjAyMCBNZWRpYVRlayBJbmMuDQor Ly8gQXV0aG9yOiBLYWlDaGllaCBDaHVhbmcgPGthaWNoaWVoLmNodWFuZ0BtZWRpYXRlay5jb20+ DQorDQorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2t0aHJlYWQu aD4NCisjaW5jbHVkZSA8bGludXgvbWZkL210NjM5Ny9jb3JlLmg+DQorI2luY2x1ZGUgPGxpbnV4 L21vZHVsZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9vZl9kZXZpY2UuaD4NCisjaW5jbHVkZSA8bGlu dXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorI2luY2x1ZGUgPGxpbnV4L3JlZ3VsYXRvci9jb25zdW1l ci5oPg0KKyNpbmNsdWRlIDxsaW51eC9zY2hlZC5oPg0KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4N CisjaW5jbHVkZSA8c291bmQvdGx2Lmg+DQorDQorI2luY2x1ZGUgIm10NjM1OS5oIg0KKw0KK3N0 YXRpYyB2b2lkIG10NjM1OV9zZXRfcGxheWJhY2tfZ3BpbyhzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXYpDQorew0KKwkvKiBzZXQgZ3BpbyBtb3NpIG1vZGUsIGNsayAvIGRhdGEgbW9zaSAqLw0KKwly ZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19NT0RFMl9DTFIsIDB4MGZmZSk7 DQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9HUElPX01PREUyX1NFVCwgMHgw MjQ5KTsNCisNCisJLyogc3luYyBtb3NpICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IE1UNjM1OV9HUElPX01PREUzX0NMUiwgMHg2KTsNCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0dQSU9fTU9ERTNfU0VULCAweDEpOw0KK30NCisNCitzdGF0aWMgdm9pZCBtdDYz NTlfcmVzZXRfcGxheWJhY2tfZ3BpbyhzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwkv KiBzZXQgcGFkX2F1ZF8qX21vc2kgdG8gR1BJTyBtb2RlIGFuZCBkaXIgaW5wdXQNCisJICogcmVh c29uOg0KKwkgKiBwYWRfYXVkX2RhdF9tb3NpKiwgYmVjYXVzZSB0aGUgcGluIGlzIHVzZWQgYXMg Ym9vdCBzdHJhcA0KKwkgKiBkb24ndCBjbGVhbiBjbGsvc3luYywgZm9yIG10a2FpZiBwcm90b2Nv bCAyDQorCSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfR1BJT19NT0RF Ml9DTFIsIDB4MGZmOCk7DQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9HUElPX0RJUjAsIDB4NyA8PCA5LCAweDApOw0KK30NCisNCitzdGF0aWMgdm9pZCBtdDYzNTlf c2V0X2NhcHR1cmVfZ3BpbyhzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwkvKiBzZXQg Z3BpbyBtaXNvIG1vZGUgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQ SU9fTU9ERTNfQ0xSLCAweDBlMDApOw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfR1BJT19NT0RFM19TRVQsIDB4MDIwMCk7DQorDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9HUElPX01PREU0X0NMUiwgMHgwMDNmKTsNCisJcmVnbWFwX3dyaXRlKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0dQSU9fTU9ERTRfU0VULCAweDAwMDkpOw0KK30NCisNCitzdGF0aWMg dm9pZCBtdDYzNTlfcmVzZXRfY2FwdHVyZV9ncGlvKHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdikN Cit7DQorCS8qIHNldCBwYWRfYXVkXypfbWlzbyB0byBHUElPIG1vZGUgYW5kIGRpciBpbnB1dA0K KwkgKiByZWFzb246DQorCSAqIHBhZF9hdWRfY2xrX21pc28sIGJlY2F1c2Ugd2hlbiBwbGF5YmFj ayBvbmx5IHRoZSBtaXNvX2Nsaw0KKwkgKiB3aWxsIGFsc28gaGF2ZSAyNm0sIHNvIHdpbGwgaGF2 ZSBwb3dlciBsZWFrDQorCSAqIHBhZF9hdWRfZGF0X21pc28qLCBiZWNhdXNlIHRoZSBwaW4gaXMg dXNlZCBhcyBib290IHN0cmFwDQorCSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBN VDYzNTlfR1BJT19NT0RFM19DTFIsIDB4MGUwMCk7DQorDQorCXJlZ21hcF93cml0ZShwcml2LT5y ZWdtYXAsIE1UNjM1OV9HUElPX01PREU0X0NMUiwgMHgwMDNmKTsNCisNCisJcmVnbWFwX3VwZGF0 ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0dQSU9fRElSMCwNCisJCQkgICAweDcgPDwgMTMs IDB4MCk7DQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9HUElPX0RJ UjEsDQorCQkJICAgMHgzIDw8IDAsIDB4MCk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIG10NjM1OV9z ZXRfZGVjb2Rlcl9jbGsoc3RydWN0IG10NjM1OV9wcml2ICpwcml2LCBib29sIGVuYWJsZSkNCit7 DQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjEzLA0KKwkJCSAgIFJHX1JTVEJfREVDT0RFUl9WQTMyX01BU0tfU0ZULA0KKwkJCSAgIChlbmFi bGUgPyAxIDogMCkgPDwgUkdfUlNUQl9ERUNPREVSX1ZBMzJfU0ZUKTsNCit9DQorDQorc3RhdGlj IHZvaWQgbXQ2MzU5X210a2FpZl90eF9lbmFibGUoc3RydWN0IG10NjM1OV9wcml2ICpwcml2KQ0K K3sNCisJc3dpdGNoIChwcml2LT5tdGthaWZfcHJvdG9jb2wpIHsNCisJY2FzZSBNVDYzNTlfTVRL QUlGX1BST1RPQ09MXzJfQ0xLX1AyOg0KKwkJLyogTVRLQUlGIFRYIGZvcm1hdCBzZXR0aW5nICov DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkgICBNVDYzNTlfQUZF X0FEREFfTVRLQUlGX0NGRzAsDQorCQkJCSAgIDB4ZmZmZiwgMHgwMjEwKTsNCisJCS8qIGVuYWJs ZSBhdWRfcGFkIFRYIGZpZm9zICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LA0KKwkJCQkgICBNVDYzNTlfQUZFX0FVRF9QQURfVE9QLA0KKwkJCQkgICAweGZmMDAsIDB4Mzgw MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkgICBNVDYzNTlf QUZFX0FVRF9QQURfVE9QLA0KKwkJCQkgICAweGZmMDAsIDB4MzkwMCk7DQorCQlicmVhazsNCisJ Y2FzZSBNVDYzNTlfTVRLQUlGX1BST1RPQ09MXzI6DQorCQkvKiBNVEtBSUYgVFggZm9ybWF0IHNl dHRpbmcgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCSAgIE1U NjM1OV9BRkVfQUREQV9NVEtBSUZfQ0ZHMCwNCisJCQkJICAgMHhmZmZmLCAweDAyMTApOw0KKwkJ LyogZW5hYmxlIGF1ZF9wYWQgVFggZmlmb3MgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2 LT5yZWdtYXAsDQorCQkJCSAgIE1UNjM1OV9BRkVfQVVEX1BBRF9UT1AsDQorCQkJCSAgIDB4ZmYw MCwgMHgzMTAwKTsNCisJCWJyZWFrOw0KKwljYXNlIE1UNjM1OV9NVEtBSUZfUFJPVE9DT0xfMToN CisJZGVmYXVsdDoNCisJCS8qIE1US0FJRiBUWCBmb3JtYXQgc2V0dGluZyAqLw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAgTVQ2MzU5X0FGRV9BRERBX01US0FJ Rl9DRkcwLA0KKwkJCQkgICAweGZmZmYsIDB4MDAwMCk7DQorCQkvKiBlbmFibGUgYXVkX3BhZCBU WCBmaWZvcyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJICAg TVQ2MzU5X0FGRV9BVURfUEFEX1RPUCwNCisJCQkJICAgMHhmZjAwLCAweDMxMDApOw0KKwkJYnJl YWs7DQorCX0NCit9DQorDQorc3RhdGljIHZvaWQgbXQ2MzU5X210a2FpZl90eF9kaXNhYmxlKHN0 cnVjdCBtdDYzNTlfcHJpdiAqcHJpdikNCit7DQorCS8qIGRpc2FibGUgYXVkX3BhZCBUWCBmaWZv cyAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX0FVRF9Q QURfVE9QLA0KKwkJCSAgIDB4ZmYwMCwgMHgzMDAwKTsNCit9DQorDQorc3RhdGljIHZvaWQgemNk X2Rpc2FibGUoc3RydWN0IG10NjM1OV9wcml2ICpwcml2KQ0KK3sNCisJcmVnbWFwX3dyaXRlKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X1pDRF9DT04wLCAweDAwMDApOw0KK30NCisNCitzdGF0aWMgdm9p ZCBocF9tYWluX291dHB1dF9yYW1wKHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiwgYm9vbCB1cCkN Cit7DQorCWludCBpID0gMCwgc3RhZ2UgPSAwOw0KKwlpbnQgdGFyZ2V0ID0gNzsNCisNCisJLyog RW5hYmxlL1JlZHVjZSBIUEwvUiBtYWluIG91dHB1dCBzdGFnZSBzdGVwIGJ5IHN0ZXAgKi8NCisJ Zm9yIChpID0gMDsgaSA8PSB0YXJnZXQ7IGkrKykgew0KKwkJc3RhZ2UgPSB1cCA/IGkgOiB0YXJn ZXQgLSBpOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERF Q19BTkFfQ09OMSwNCisJCQkJICAgUkdfSFBMT1VUU1RHQ1RSTF9WQVVEUDMyX01BU0tfU0ZULA0K KwkJCQkgICBzdGFnZSA8PCBSR19IUExPVVRTVEdDVFJMX1ZBVURQMzJfU0ZUKTsNCisJCXJlZ21h cF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEsDQorCQkJ CSAgIFJHX0hQUk9VVFNUR0NUUkxfVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkJICAgc3RhZ2UgPDwg UkdfSFBST1VUU1RHQ1RSTF9WQVVEUDMyX1NGVCk7DQorCQl1c2xlZXBfcmFuZ2UoNjAwLCA2NTAp Ow0KKwl9DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGhwX2F1eF9mZWVkYmFja19sb29wX2dhaW5fcmFt cChzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYsIGJvb2wgdXApDQorew0KKwlpbnQgaSA9IDAsIHN0 YWdlID0gMDsNCisJaW50IHRhcmdldCA9IDB4ZjsNCisNCisJLyogRW5hYmxlL1JlZHVjZSBIUCBh dXggZmVlZGJhY2sgbG9vcCBnYWluIHN0ZXAgYnkgc3RlcCAqLw0KKwlmb3IgKGkgPSAwOyBpIDw9 IHRhcmdldDsgaSsrKSB7DQorCQlzdGFnZSA9IHVwID8gaSA6IHRhcmdldCAtIGk7DQorCQlyZWdt YXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT045LA0KKwkJ CQkgICAweGYgPDwgMTIsIHN0YWdlIDw8IDEyKTsNCisJCXVzbGVlcF9yYW5nZSg2MDAsIDY1MCk7 DQorCX0NCit9DQorDQorc3RhdGljIHZvaWQgaHBfaW5fcGFpcl9jdXJyZW50KHN0cnVjdCBtdDYz NTlfcHJpdiAqcHJpdiwgYm9vbCBpbmNyZWFzZSkNCit7DQorCWludCBpID0gMCwgc3RhZ2UgPSAw Ow0KKwlpbnQgdGFyZ2V0ID0gMHgzOw0KKw0KKwkvKiBTZXQgaW5wdXQgZGlmZiBwYWlyIGJpYXMg c2VsZWN0IChIaS1GaSBtb2RlKSAqLw0KKwlpZiAocHJpdi0+aHBfaGlmaV9tb2RlKSB7DQorCQkv KiBSZWR1Y2UgSFAgYXV4IGZlZWRiYWNrIGxvb3AgZ2FpbiBzdGVwIGJ5IHN0ZXAgKi8NCisJCWZv ciAoaSA9IDA7IGkgPD0gdGFyZ2V0OyBpKyspIHsNCisJCQlzdGFnZSA9IGluY3JlYXNlID8gaSA6 IHRhcmdldCAtIGk7DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJ CSAgIE1UNjM1OV9BVURERUNfQU5BX0NPTjEwLA0KKwkJCQkJICAgMHgzIDw8IDMsIHN0YWdlIDw8 IDMpOw0KKwkJCXVzbGVlcF9yYW5nZSgxMDAsIDE1MCk7DQorCQl9DQorCX0NCit9DQorDQorc3Rh dGljIHZvaWQgaHBfcHVsbF9kb3duKHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiwgYm9vbCBlbmFi bGUpDQorew0KKwlpbnQgaTsNCisNCisJaWYgKGVuYWJsZSkgew0KKwkJZm9yIChpID0gMHgwOyBp IDw9IDB4NzsgaSsrKSB7DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X0FVRERFQ19BTkFfQ09OMiwNCisJCQkJCSAgIFJHX0hQUFNIT1JUMlZDTV9WQVVEUDMyX01B U0tfU0ZULA0KKwkJCQkJICAgaSA8PCBSR19IUFBTSE9SVDJWQ01fVkFVRFAzMl9TRlQpOw0KKwkJ CXVzbGVlcF9yYW5nZSgxMDAsIDE1MCk7DQorCQl9DQorCX0gZWxzZSB7DQorCQlmb3IgKGkgPSAw eDc7IGkgPj0gMHgwOyBpLS0pIHsNCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVEREVDX0FOQV9DT04yLA0KKwkJCQkJICAgUkdfSFBQU0hPUlQyVkNNX1ZBVURQ MzJfTUFTS19TRlQsDQorCQkJCQkgICBpIDw8IFJHX0hQUFNIT1JUMlZDTV9WQVVEUDMyX1NGVCk7 DQorCQkJdXNsZWVwX3JhbmdlKDEwMCwgMTUwKTsNCisJCX0NCisJfQ0KK30NCisNCitzdGF0aWMg Ym9vbCBpc192YWxpZF9ocF9wZ2FfaWR4KGludCByZWdfaWR4KQ0KK3sNCisJcmV0dXJuIChyZWdf aWR4ID49IERMX0dBSU5fOERCICYmIHJlZ19pZHggPD0gRExfR0FJTl9OXzIyREIpIHx8DQorCSAg ICAgICByZWdfaWR4ID09IERMX0dBSU5fTl80MERCOw0KK30NCisNCitzdGF0aWMgdm9pZCBoZWFk c2V0X3ZvbHVtZV9yYW1wKHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiwNCisJCQkJaW50IGZyb20s IGludCB0bykNCit7DQorCWludCBvZmZzZXQgPSAwLCBjb3VudCA9IDEsIHJlZ19pZHg7DQorDQor CWlmICghaXNfdmFsaWRfaHBfcGdhX2lkeChmcm9tKSB8fCAhaXNfdmFsaWRfaHBfcGdhX2lkeCh0 bykpIHsNCisJCWRldl93YXJuKHByaXYtPmRldiwgIiVzKCksIHZvbHVtZSBpbmRleCBpcyBub3Qg dmFsaWQsIGZyb20gJWQsIHRvICVkXG4iLA0KKwkJCSBfX2Z1bmNfXywgZnJvbSwgdG8pOw0KKwkJ cmV0dXJuOw0KKwl9DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgZnJvbSAlZCwgdG8g JWRcbiIsIF9fZnVuY19fLCBmcm9tLCB0byk7DQorDQorCWlmICh0byA+IGZyb20pDQorCQlvZmZz ZXQgPSB0byAtIGZyb207DQorCWVsc2UNCisJCW9mZnNldCA9IGZyb20gLSB0bzsNCisNCisJd2hp bGUgKG9mZnNldCA+IDApIHsNCisJCWlmICh0byA+IGZyb20pDQorCQkJcmVnX2lkeCA9IGZyb20g KyBjb3VudDsNCisJCWVsc2UNCisJCQlyZWdfaWR4ID0gZnJvbSAtIGNvdW50Ow0KKw0KKwkJaWYg KGlzX3ZhbGlkX2hwX3BnYV9pZHgocmVnX2lkeCkpIHsNCisJCQlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLA0KKwkJCQkJICAgTVQ2MzU5X1pDRF9DT04yLA0KKwkJCQkJICAgRExfR0FJ Tl9SRUdfTUFTSywNCisJCQkJCSAgIChyZWdfaWR4IDw8IDcpIHwgcmVnX2lkeCk7DQorCQkJdXNs ZWVwX3JhbmdlKDYwMCwgNjUwKTsNCisJCX0NCisJCW9mZnNldC0tOw0KKwkJY291bnQrKzsNCisJ fQ0KK30NCisNCitzdGF0aWMgaW50IG10NjM1OV9wdXRfdm9sc3coc3RydWN0IHNuZF9rY29udHJv bCAqa2NvbnRyb2wsDQorCQkJICAgIHN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9s KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQgPQ0KKwkJCXNuZF9z b2Nfa2NvbnRyb2xfY29tcG9uZW50KGtjb250cm9sKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpw cml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisJc3RydWN0 IHNvY19taXhlcl9jb250cm9sICptYyA9DQorCQkJKHN0cnVjdCBzb2NfbWl4ZXJfY29udHJvbCAq KWtjb250cm9sLT5wcml2YXRlX3ZhbHVlOw0KKwl1bnNpZ25lZCBpbnQgcmVnOw0KKwlpbnQgaW5k ZXggPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsNCisJaW50IHJldDsNCisNCisJ cmV0ID0gc25kX3NvY19wdXRfdm9sc3coa2NvbnRyb2wsIHVjb250cm9sKTsNCisJaWYgKHJldCA8 IDApDQorCQlyZXR1cm4gcmV0Ow0KKw0KKwlzd2l0Y2ggKG1jLT5yZWcpIHsNCisJY2FzZSBNVDYz NTlfWkNEX0NPTjI6DQorCQlyZWdtYXBfcmVhZChwcml2LT5yZWdtYXAsIE1UNjM1OV9aQ0RfQ09O MiwgJnJlZyk7DQorCQlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0hQT1VUTF0g PQ0KKwkJCShyZWcgPj4gUkdfQVVESFBMR0FJTl9TRlQpICYgUkdfQVVESFBMR0FJTl9NQVNLOw0K KwkJcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9IUE9VVFJdID0NCisJCQkocmVn ID4+IFJHX0FVREhQUkdBSU5fU0ZUKSAmIFJHX0FVREhQUkdBSU5fTUFTSzsNCisJCWJyZWFrOw0K KwljYXNlIE1UNjM1OV9aQ0RfQ09OMToNCisJCXJlZ21hcF9yZWFkKHByaXYtPnJlZ21hcCwgTVQ2 MzU5X1pDRF9DT04xLCAmcmVnKTsNCisJCXByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xV TUVfTElORU9VVExdID0NCisJCQkocmVnID4+IFJHX0FVRExPTEdBSU5fU0ZUKSAmIFJHX0FVRExP TEdBSU5fTUFTSzsNCisJCXByaXYtPmFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVfTElORU9V VFJdID0NCisJCQkocmVnID4+IFJHX0FVRExPUkdBSU5fU0ZUKSAmIFJHX0FVRExPUkdBSU5fTUFT SzsNCisJCWJyZWFrOw0KKwljYXNlIE1UNjM1OV9aQ0RfQ09OMzoNCisJCXJlZ21hcF9yZWFkKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X1pDRF9DT04zLCAmcmVnKTsNCisJCXByaXYtPmFuYV9nYWluW0FV RElPX0FOQUxPR19WT0xVTUVfSFNPVVRMXSA9DQorCQkJKHJlZyA+PiBSR19BVURIU0dBSU5fU0ZU KSAmIFJHX0FVREhTR0FJTl9NQVNLOw0KKwkJYnJlYWs7DQorCWNhc2UgTVQ2MzU5X0FVREVOQ19B TkFfQ09OMDoNCisJCXJlZ21hcF9yZWFkKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFf Q09OMCwgJnJlZyk7DQorCQlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX01JQ0FN UDFdID0NCisJCQkocmVnID4+IFJHX0FVRFBSRUFNUExHQUlOX1NGVCkgJiBSR19BVURQUkVBTVBM R0FJTl9NQVNLOw0KKwkJYnJlYWs7DQorCWNhc2UgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMToNCisJ CXJlZ21hcF9yZWFkKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMSwgJnJlZyk7 DQorCQlwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX01JQ0FNUDJdID0NCisJCQko cmVnID4+IFJHX0FVRFBSRUFNUFJHQUlOX1NGVCkgJiBSR19BVURQUkVBTVBSR0FJTl9NQVNLOw0K KwkJYnJlYWs7DQorCWNhc2UgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMjoNCisJCXJlZ21hcF9yZWFk KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMiwgJnJlZyk7DQorCQlwcml2LT5h bmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX01JQ0FNUDNdID0NCisJCQkocmVnID4+IFJHX0FV RFBSRUFNUDNHQUlOX1NGVCkgJiBSR19BVURQUkVBTVAzR0FJTl9NQVNLOw0KKwkJYnJlYWs7DQor CX0NCisNCisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBuYW1lICVzLCByZWcoMHgleCkgPSAw eCV4LCBzZXQgaW5kZXggPSAleFxuIiwNCisJCV9fZnVuY19fLCBrY29udHJvbC0+aWQubmFtZSwg bWMtPnJlZywgcmVnLCBpbmRleCk7DQorDQorCXJldHVybiByZXQ7DQorfQ0KKw0KKy8qIE1VWCAq Lw0KKw0KKy8qIExPTCBNVVggKi8NCitzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGxvX2luX211 eF9tYXBbXSA9IHsNCisJIk9wZW4iLCAiUGxheWJhY2tfTF9EQUMiLCAiUGxheWJhY2siLCAiVGVz dCBNb2RlIg0KK307DQorDQorc3RhdGljIFNPQ19FTlVNX1NJTkdMRV9ERUNMKGxvX2luX211eF9t YXBfZW51bSwgU05EX1NPQ19OT1BNLCAwLCBsb19pbl9tdXhfbWFwKTsNCisNCitzdGF0aWMgY29u c3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgbG9faW5fbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQ TV9FTlVNKCJMTyBTZWxlY3QiLCBsb19pbl9tdXhfbWFwX2VudW0pOw0KKw0KKy8qSFAgTVVYICov DQorc3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBocF9pbl9tdXhfbWFwW10gPSB7DQorCSJPcGVu IiwNCisJIkxvdWRTUEsgUGxheWJhY2siLA0KKwkiQXVkaW8gUGxheWJhY2siLA0KKwkiVGVzdCBN b2RlIiwNCisJIkhQIEltcGVkYW5jZSIsDQorfTsNCisNCitzdGF0aWMgU09DX0VOVU1fU0lOR0xF X0RFQ0woaHBfaW5fbXV4X21hcF9lbnVtLA0KKwkJCQkgIFNORF9TT0NfTk9QTSwNCisJCQkJICAw LA0KKwkJCQkgIGhwX2luX211eF9tYXApOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tj b250cm9sX25ldyBocF9pbl9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIkhQIFNlbGVj dCIsIGhwX2luX211eF9tYXBfZW51bSk7DQorDQorLyogUkNWIE1VWCAqLw0KK3N0YXRpYyBjb25z dCBjaGFyICogY29uc3QgcmN2X2luX211eF9tYXBbXSA9IHsNCisJIk9wZW4iLCAiTXV0ZSIsICJW b2ljZSBQbGF5YmFjayIsICJUZXN0IE1vZGUiDQorfTsNCisNCitzdGF0aWMgU09DX0VOVU1fU0lO R0xFX0RFQ0wocmN2X2luX211eF9tYXBfZW51bSwNCisJCQkJICBTTkRfU09DX05PUE0sDQorCQkJ CSAgMCwNCisJCQkJICByY3ZfaW5fbXV4X21hcCk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBz bmRfa2NvbnRyb2xfbmV3IHJjdl9pbl9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIlJD ViBTZWxlY3QiLCByY3ZfaW5fbXV4X21hcF9lbnVtKTsNCisNCisvKiBEQUMgSW4gTVVYICovDQor c3RhdGljIGNvbnN0IGNoYXIgKiBjb25zdCBkYWNfaW5fbXV4X21hcFtdID0gew0KKwkiTm9ybWFs IFBhdGgiLCAiU2dlbiINCit9Ow0KKw0KK3N0YXRpYyBpbnQgZGFjX2luX211eF9tYXBfdmFsdWVb XSA9IHsNCisJMHgwLCAweDEsDQorfTsNCisNCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xF X0RFQ0woZGFjX2luX211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQUZFX1RPUF9DT04wLA0K KwkJCQkgIERMX1NJTkVfT05fU0ZULA0KKwkJCQkgIERMX1NJTkVfT05fTUFTSywNCisJCQkJICBk YWNfaW5fbXV4X21hcCwNCisJCQkJICBkYWNfaW5fbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGRhY19pbl9tdXhfY29udHJvbCA9DQorCVNP Q19EQVBNX0VOVU0oIkRBQyBTZWxlY3QiLCBkYWNfaW5fbXV4X21hcF9lbnVtKTsNCisNCisvKiBB SUYgT3V0IE1VWCAqLw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5VTV9TSU5HTEVfREVDTChhaWZfb3V0 X211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQUZFX1RPUF9DT04wLA0KKwkJCQkgIFVMX1NJ TkVfT05fU0ZULA0KKwkJCQkgIFVMX1NJTkVfT05fTUFTSywNCisJCQkJICBkYWNfaW5fbXV4X21h cCwNCisJCQkJICBkYWNfaW5fbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVj dCBzbmRfa2NvbnRyb2xfbmV3IGFpZl9vdXRfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVN KCJBSUYgT3V0IFNlbGVjdCIsIGFpZl9vdXRfbXV4X21hcF9lbnVtKTsNCisNCitzdGF0aWMgU09D X1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0woYWlmMl9vdXRfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1U NjM1OV9BRkVfVE9QX0NPTjAsDQorCQkJCSAgQUREQTZfVUxfU0lORV9PTl9TRlQsDQorCQkJCSAg QUREQTZfVUxfU0lORV9PTl9NQVNLLA0KKwkJCQkgIGRhY19pbl9tdXhfbWFwLA0KKwkJCQkgIGRh Y19pbl9tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJv bF9uZXcgYWlmMl9vdXRfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJBSUYgT3V0IFNl bGVjdCIsIGFpZjJfb3V0X211eF9tYXBfZW51bSk7DQorDQorc3RhdGljIGNvbnN0IGNoYXIgKiBj b25zdCB1bF9zcmNfbXV4X21hcFtdID0gew0KKwkiQU1JQyIsDQorCSJETUlDIiwNCit9Ow0KKw0K K3N0YXRpYyBpbnQgdWxfc3JjX211eF9tYXBfdmFsdWVbXSA9IHsNCisJVUxfU1JDX01VWF9BTUlD LA0KKwlVTF9TUkNfTVVYX0RNSUMsDQorfTsNCisNCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lO R0xFX0RFQ0wodWxfc3JjX211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQUZFX1VMX1NSQ19D T04wX0wsDQorCQkJCSAgVUxfU0RNXzNfTEVWRUxfQ1RMX1NGVCwNCisJCQkJICBVTF9TRE1fM19M RVZFTF9DVExfTUFTSywNCisJCQkJICB1bF9zcmNfbXV4X21hcCwNCisJCQkJICB1bF9zcmNfbXV4 X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHVs X3NyY19tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIlVMX1NSQ19NVVggU2VsZWN0Iiwg dWxfc3JjX211eF9tYXBfZW51bSk7DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9E RUNMKHVsMl9zcmNfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BRkVfQUREQTZfVUxfU1JD X0NPTjBfTCwNCisJCQkJICBBRERBNl9VTF9TRE1fM19MRVZFTF9DVExfU0ZULA0KKwkJCQkgIEFE REE2X1VMX1NETV8zX0xFVkVMX0NUTF9NQVNLLA0KKwkJCQkgIHVsX3NyY19tdXhfbWFwLA0KKwkJ CQkgIHVsX3NyY19tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9r Y29udHJvbF9uZXcgdWwyX3NyY19tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIlVMX1NS Q19NVVggU2VsZWN0IiwgdWwyX3NyY19tdXhfbWFwX2VudW0pOw0KKw0KK3N0YXRpYyBjb25zdCBj aGFyICogY29uc3QgbWlzb19tdXhfbWFwW10gPSB7DQorCSJVTDFfQ0gxIiwNCisJIlVMMV9DSDIi LA0KKwkiVUwyX0NIMSIsDQorCSJVTDJfQ0gyIiwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgbWlzb19t dXhfbWFwX3ZhbHVlW10gPSB7DQorCU1JU09fTVVYX1VMMV9DSDEsDQorCU1JU09fTVVYX1VMMV9D SDIsDQorCU1JU09fTVVYX1VMMl9DSDEsDQorCU1JU09fTVVYX1VMMl9DSDIsDQorfTsNCisNCitz dGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0wobWlzbzBfbXV4X21hcF9lbnVtLA0KKwkJ CQkgIE1UNjM1OV9BRkVfTVRLQUlGX01VWF9DRkcsDQorCQkJCSAgUkdfQUREQV9DSDFfU0VMX1NG VCwNCisJCQkJICBSR19BRERBX0NIMV9TRUxfTUFTSywNCisJCQkJICBtaXNvX211eF9tYXAsDQor CQkJCSAgbWlzb19tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9r Y29udHJvbF9uZXcgbWlzbzBfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJNSVNPX01V WCBTZWxlY3QiLCBtaXNvMF9tdXhfbWFwX2VudW0pOw0KKw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5V TV9TSU5HTEVfREVDTChtaXNvMV9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9NVEtB SUZfTVVYX0NGRywNCisJCQkJICBSR19BRERBX0NIMl9TRUxfU0ZULA0KKwkJCQkgIFJHX0FEREFf Q0gyX1NFTF9NQVNLLA0KKwkJCQkgIG1pc29fbXV4X21hcCwNCisJCQkJICBtaXNvX211eF9tYXBf dmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBtaXNvMV9t dXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIk1JU09fTVVYIFNlbGVjdCIsIG1pc28xX211 eF9tYXBfZW51bSk7DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKG1pc28y X211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQUZFX01US0FJRl9NVVhfQ0ZHLA0KKwkJCQkg IFJHX0FEREE2X0NIMV9TRUxfU0ZULA0KKwkJCQkgIFJHX0FEREE2X0NIMV9TRUxfTUFTSywNCisJ CQkJICBtaXNvX211eF9tYXAsDQorCQkJCSAgbWlzb19tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0 aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgbWlzbzJfbXV4X2NvbnRyb2wgPQ0KKwlT T0NfREFQTV9FTlVNKCJNSVNPX01VWCBTZWxlY3QiLCBtaXNvMl9tdXhfbWFwX2VudW0pOw0KKw0K K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgZG1pY19tdXhfbWFwW10gPSB7DQorCSJETUlDX0RB VEEwIiwNCisJIkRNSUNfREFUQTFfTCIsDQorCSJETUlDX0RBVEExX0xfMSIsDQorCSJETUlDX0RB VEExX1IiLA0KK307DQorDQorc3RhdGljIGludCBkbWljX211eF9tYXBfdmFsdWVbXSA9IHsNCisJ RE1JQ19NVVhfRE1JQ19EQVRBMCwNCisJRE1JQ19NVVhfRE1JQ19EQVRBMV9MLA0KKwlETUlDX01V WF9ETUlDX0RBVEExX0xfMSwNCisJRE1JQ19NVVhfRE1JQ19EQVRBMV9SLA0KK307DQorDQorc3Rh dGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKGRtaWMwX211eF9tYXBfZW51bSwNCisJCQkJ ICBNVDYzNTlfQUZFX01JQ19BUlJBWV9DRkcsDQorCQkJCSAgUkdfRE1JQ19BREMxX1NPVVJDRV9T RUxfU0ZULA0KKwkJCQkgIFJHX0RNSUNfQURDMV9TT1VSQ0VfU0VMX01BU0ssDQorCQkJCSAgZG1p Y19tdXhfbWFwLA0KKwkJCQkgIGRtaWNfbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0 IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IGRtaWMwX211eF9jb250cm9sID0NCisJU09DX0RBUE1f RU5VTSgiRE1JQ19NVVggU2VsZWN0IiwgZG1pYzBfbXV4X21hcF9lbnVtKTsNCisNCisvKiB1bDEg Y2gyIHVzZSBSR19ETUlDX0FEQzNfU09VUkNFX1NFTCAqLw0KK3N0YXRpYyBTT0NfVkFMVUVfRU5V TV9TSU5HTEVfREVDTChkbWljMV9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FGRV9NSUNf QVJSQVlfQ0ZHLA0KKwkJCQkgIFJHX0RNSUNfQURDM19TT1VSQ0VfU0VMX1NGVCwNCisJCQkJICBS R19ETUlDX0FEQzNfU09VUkNFX1NFTF9NQVNLLA0KKwkJCQkgIGRtaWNfbXV4X21hcCwNCisJCQkJ ICBkbWljX211eF9tYXBfdmFsdWUpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250 cm9sX25ldyBkbWljMV9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIkRNSUNfTVVYIFNl bGVjdCIsIGRtaWMxX211eF9tYXBfZW51bSk7DQorDQorLyogdWwyIGNoMSB1c2UgUkdfRE1JQ19B REMyX1NPVVJDRV9TRUwgKi8NCitzdGF0aWMgU09DX1ZBTFVFX0VOVU1fU0lOR0xFX0RFQ0woZG1p YzJfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9BRkVfTUlDX0FSUkFZX0NGRywNCisJCQkJ ICBSR19ETUlDX0FEQzJfU09VUkNFX1NFTF9TRlQsDQorCQkJCSAgUkdfRE1JQ19BREMyX1NPVVJD RV9TRUxfTUFTSywNCisJCQkJICBkbWljX211eF9tYXAsDQorCQkJCSAgZG1pY19tdXhfbWFwX3Zh bHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9uZXcgZG1pYzJfbXV4 X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJETUlDX01VWCBTZWxlY3QiLCBkbWljMl9tdXhf bWFwX2VudW0pOw0KKw0KKy8qIEFEQyBMIE1VWCAqLw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29u c3QgYWRjX2xlZnRfbXV4X21hcFtdID0gew0KKwkiSWRsZSIsICJBSU4wIiwgIkxlZnQgUHJlYW1w bGlmaWVyIiwgIklkbGVfMSINCit9Ow0KKw0KK3N0YXRpYyBpbnQgYWRjX211eF9tYXBfdmFsdWVb XSA9IHsNCisJQURDX01VWF9JRExFLA0KKwlBRENfTVVYX0FJTjAsDQorCUFEQ19NVVhfUFJFQU1Q TElGSUVSLA0KKwlBRENfTVVYX0lETEUxLA0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVN X1NJTkdMRV9ERUNMKGFkY19sZWZ0X211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQVVERU5D X0FOQV9DT04wLA0KKwkJCQkgIFJHX0FVREFEQ0xJTlBVVFNFTF9TRlQsDQorCQkJCSAgUkdfQVVE QURDTElOUFVUU0VMX01BU0ssDQorCQkJCSAgYWRjX2xlZnRfbXV4X21hcCwNCisJCQkJICBhZGNf bXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3 IGFkY19sZWZ0X211eF9jb250cm9sID0NCisJU09DX0RBUE1fRU5VTSgiQURDIEwgU2VsZWN0Iiwg YWRjX2xlZnRfbXV4X21hcF9lbnVtKTsNCisNCisvKiBBREMgUiBNVVggKi8NCitzdGF0aWMgY29u c3QgY2hhciAqIGNvbnN0IGFkY19yaWdodF9tdXhfbWFwW10gPSB7DQorCSJJZGxlIiwgIkFJTjAi LCAiUmlnaHQgUHJlYW1wbGlmaWVyIiwgIklkbGVfMSINCit9Ow0KKw0KK3N0YXRpYyBTT0NfVkFM VUVfRU5VTV9TSU5HTEVfREVDTChhZGNfcmlnaHRfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1 OV9BVURFTkNfQU5BX0NPTjEsDQorCQkJCSAgUkdfQVVEQURDUklOUFVUU0VMX1NGVCwNCisJCQkJ ICBSR19BVURBRENSSU5QVVRTRUxfTUFTSywNCisJCQkJICBhZGNfcmlnaHRfbXV4X21hcCwNCisJ CQkJICBhZGNfbXV4X21hcF92YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2Nv bnRyb2xfbmV3IGFkY19yaWdodF9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIkFEQyBS IFNlbGVjdCIsIGFkY19yaWdodF9tdXhfbWFwX2VudW0pOw0KKw0KKy8qIEFEQyAzIE1VWCAqLw0K K3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgYWRjXzNfbXV4X21hcFtdID0gew0KKwkiSWRsZSIs ICJBSU4wIiwgIlByZWFtcGxpZmllciIsICJJZGxlXzEiDQorfTsNCisNCitzdGF0aWMgU09DX1ZB TFVFX0VOVU1fU0lOR0xFX0RFQ0woYWRjXzNfbXV4X21hcF9lbnVtLA0KKwkJCQkgIE1UNjM1OV9B VURFTkNfQU5BX0NPTjIsDQorCQkJCSAgUkdfQVVEQURDM0lOUFVUU0VMX1NGVCwNCisJCQkJICBS R19BVURBREMzSU5QVVRTRUxfTUFTSywNCisJCQkJICBhZGNfM19tdXhfbWFwLA0KKwkJCQkgIGFk Y19tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9u ZXcgYWRjXzNfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJBREMgMyBTZWxlY3QiLCBh ZGNfM19tdXhfbWFwX2VudW0pOw0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcGdhX2xf bXV4X21hcFtdID0gew0KKwkiTm9uZSIsICJBSU4wIiwgIkFJTjEiDQorfTsNCisNCitzdGF0aWMg aW50IHBnYV9sX211eF9tYXBfdmFsdWVbXSA9IHsNCisJUEdBX0xfTVVYX05PTkUsDQorCVBHQV9M X01VWF9BSU4wLA0KKwlQR0FfTF9NVVhfQUlOMQ0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9F TlVNX1NJTkdMRV9ERUNMKHBnYV9sZWZ0X211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQVVE RU5DX0FOQV9DT04wLA0KKwkJCQkgIFJHX0FVRFBSRUFNUExJTlBVVFNFTF9TRlQsDQorCQkJCSAg UkdfQVVEUFJFQU1QTElOUFVUU0VMX01BU0ssDQorCQkJCSAgcGdhX2xfbXV4X21hcCwNCisJCQkJ ICBwZ2FfbF9tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29u dHJvbF9uZXcgcGdhX2xlZnRfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJQR0EgTCBT ZWxlY3QiLCBwZ2FfbGVmdF9tdXhfbWFwX2VudW0pOw0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICog Y29uc3QgcGdhX3JfbXV4X21hcFtdID0gew0KKwkiTm9uZSIsICJBSU4yIiwgIkFJTjMiLCAiQUlO MCINCit9Ow0KKw0KK3N0YXRpYyBpbnQgcGdhX3JfbXV4X21hcF92YWx1ZVtdID0gew0KKwlQR0Ff Ul9NVVhfTk9ORSwNCisJUEdBX1JfTVVYX0FJTjIsDQorCVBHQV9SX01VWF9BSU4zLA0KKwlQR0Ff Ul9NVVhfQUlOMA0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVNX1NJTkdMRV9ERUNMKHBn YV9yaWdodF9tdXhfbWFwX2VudW0sDQorCQkJCSAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMSwNCisJ CQkJICBSR19BVURQUkVBTVBSSU5QVVRTRUxfU0ZULA0KKwkJCQkgIFJHX0FVRFBSRUFNUFJJTlBV VFNFTF9NQVNLLA0KKwkJCQkgIHBnYV9yX211eF9tYXAsDQorCQkJCSAgcGdhX3JfbXV4X21hcF92 YWx1ZSk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHBnYV9yaWdo dF9tdXhfY29udHJvbCA9DQorCVNPQ19EQVBNX0VOVU0oIlBHQSBSIFNlbGVjdCIsIHBnYV9yaWdo dF9tdXhfbWFwX2VudW0pOw0KKw0KK3N0YXRpYyBjb25zdCBjaGFyICogY29uc3QgcGdhXzNfbXV4 X21hcFtdID0gew0KKwkiTm9uZSIsICJBSU4zIiwgIkFJTjIiDQorfTsNCisNCitzdGF0aWMgaW50 IHBnYV8zX211eF9tYXBfdmFsdWVbXSA9IHsNCisJUEdBXzNfTVVYX05PTkUsDQorCVBHQV8zX01V WF9BSU4zLA0KKwlQR0FfM19NVVhfQUlOMg0KK307DQorDQorc3RhdGljIFNPQ19WQUxVRV9FTlVN X1NJTkdMRV9ERUNMKHBnYV8zX211eF9tYXBfZW51bSwNCisJCQkJICBNVDYzNTlfQVVERU5DX0FO QV9DT04yLA0KKwkJCQkgIFJHX0FVRFBSRUFNUDNJTlBVVFNFTF9TRlQsDQorCQkJCSAgUkdfQVVE UFJFQU1QM0lOUFVUU0VMX01BU0ssDQorCQkJCSAgcGdhXzNfbXV4X21hcCwNCisJCQkJICBwZ2Ff M19tdXhfbWFwX3ZhbHVlKTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9rY29udHJvbF9u ZXcgcGdhXzNfbXV4X2NvbnRyb2wgPQ0KKwlTT0NfREFQTV9FTlVNKCJQR0EgMyBTZWxlY3QiLCBw Z2FfM19tdXhfbWFwX2VudW0pOw0KKw0KK3N0YXRpYyBpbnQgbXRfc2dlbl9ldmVudChzdHJ1Y3Qg c25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRy b2wsDQorCQkJIGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21w bnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5 X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQor CWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZl bnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6 DQorCQkvKiBzZG0gYXVkaW8gZmlmbyBjbG9jayBwb3dlciBvbiAqLw0KKwkJcmVnbWFwX3dyaXRl KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04yLCAweDAwMDYpOw0KKwkJLyogc2Ny YW1ibGVyIGNsb2NrIG9uIGVuYWJsZSAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwg TVQ2MzU5X0FGVU5DX0FVRF9DT04wLCAweGNiYTEpOw0KKwkJLyogc2RtIHBvd2VyIG9uICovDQor CQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjIsIDB4MDAw Myk7DQorCQkvKiBzZG0gZmlmbyBlbmFibGUgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OMiwgMHgwMDBiKTsNCisNCisJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BRkVfU0dFTl9DRkcwLA0KKwkJCQkgICAweGZmM2Ys DQorCQkJCSAgIDB4MDAwMCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQUZFX1NHRU5fQ0ZHMSwNCisJCQkJICAgMHhmZmZmLA0KKwkJCQkgICAweDAwMDEpOw0K KwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJLyogREwgc2NyYW1i bGVyIGRpc2FibGluZyBzZXF1ZW5jZSAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwg TVQ2MzU5X0FGVU5DX0FVRF9DT04yLCAweDAwMDApOw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJl Z21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04wLCAweGNiYTApOw0KKwkJYnJlYWs7DQorCWRlZmF1 bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHZvaWQg bXRrX2hwX2VuYWJsZShzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYpDQorew0KKwlpZiAocHJpdi0+ aHBfaGlmaV9tb2RlKSB7DQorCQkvKiBTZXQgSFAgRFIgYmlhcyBjdXJyZW50IG9wdGltaXphdGlv biwgMDEwOiA2dUEgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9BVURERUNfQU5BX0NPTjExLA0KKwkJCQkgICBEUkJJQVNfSFBfTUFTS19TRlQsDQorCQkJCSAg IERSQklBU182VUEgPDwgRFJCSUFTX0hQX1NGVCk7DQorCQkvKiBTZXQgSFAgJiBaQ0QgYmlhcyBj dXJyZW50IG9wdGltaXphdGlvbiAqLw0KKwkJLyogMDE6IFpDRDogNHVBLCBIUC9IUy9MTzogNXVB ICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FO QV9DT04xMiwNCisJCQkJICAgSUJJQVNfWkNEX01BU0tfU0ZULA0KKwkJCQkgICBJQklBU19aQ0Rf NFVBIDw8IElCSUFTX1pDRF9TRlQpOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIsDQorCQkJCSAgIElCSUFTX0hQX01BU0tfU0ZULA0K KwkJCQkgICBJQklBU181VUEgPDwgSUJJQVNfSFBfU0ZUKTsNCisJfSBlbHNlIHsNCisJCS8qIFNl dCBIUCBEUiBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uLCAwMDE6IDV1QSAqLw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTEsDQorCQkJ CSAgIERSQklBU19IUF9NQVNLX1NGVCwNCisJCQkJICAgRFJCSUFTXzVVQSA8PCBEUkJJQVNfSFBf U0ZUKTsNCisJCS8qIFNldCBIUCAmIFpDRCBiaWFzIGN1cnJlbnQgb3B0aW1pemF0aW9uICovDQor CQkvKiAwMDogWkNEOiAzdUEsIEhQL0hTL0xPOiA0dUEgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0 cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEyLA0KKwkJCQkgICBJQklBU19a Q0RfTUFTS19TRlQsDQorCQkJCSAgIElCSUFTX1pDRF8zVUEgPDwgSUJJQVNfWkNEX1NGVCk7DQor CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04x MiwNCisJCQkJICAgSUJJQVNfSFBfTUFTS19TRlQsDQorCQkJCSAgIElCSUFTXzRVQSA8PCBJQklB U19IUF9TRlQpOw0KKwl9DQorDQorCS8qIEhQIGRhbXAgY2lyY3VpdCBlbmFibGUgKi8NCisJLyog RW5hYmxlIEhQUk4vSFBMTiBvdXRwdXQgNEsgdG8gVkNNICovDQorCXJlZ21hcF93cml0ZShwcml2 LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEwLCAweDAwODcpOw0KKw0KKwkvKiBIUCBG ZWVkYmFjayBDYXAgc2VsZWN0IDInYjAwOiAxNXBGICovDQorCS8qIGZvciA+PSA5NktIeiBzYW1w bGluZyByYXRlOiAyJ2IwMTogMTAuNXBGICovDQorCWlmIChwcml2LT5kbF9yYXRlW01UNjM1OV9B SUZfMV0gPj0gOTYwMDApDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJ CQkgICBNVDYzNTlfQVVEREVDX0FOQV9DT040LA0KKwkJCQkgICBSR19BVURIUEhGQ09NUEJVRkdB SU5TRUxfVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkJICAgMHgxIDw8IFJHX0FVREhQSEZDT01QQlVG R0FJTlNFTF9WQVVEUDMyX1NGVCk7DQorCWVsc2UNCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjQsIDB4MDAwMCk7DQorDQorCS8qIFNldCBIUFAvTiBT VEIgZW5oYW5jZSBjaXJjdWl0cyAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT04yLCAweGYxMzMpOw0KKw0KKwkvKiBFbmFibGUgSFAgYXV4IG91dHB1 dCBzdGFnZSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FO QV9DT04xLCAweDAwMGMpOw0KKwkvKiBFbmFibGUgSFAgYXV4IGZlZWRiYWNrIGxvb3AgKi8NCisJ cmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMSwgMHgwMDNj KTsNCisJLyogRW5hYmxlIEhQIGF1eCBDTUZCIGxvb3AgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwgMHgwYzAwKTsNCisJLyogRW5hYmxlIEhQ IGRyaXZlciBiaWFzIGNpcmN1aXRzICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1U NjM1OV9BVURERUNfQU5BX0NPTjAsIDB4MzBjMCk7DQorCS8qIEVuYWJsZSBIUCBkcml2ZXIgY29y ZSBjaXJjdWl0cyAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVD X0FOQV9DT04wLCAweDMwZjApOw0KKwkvKiBTaG9ydCBIUCBtYWluIG91dHB1dCB0byBIUCBhdXgg b3V0cHV0IHN0YWdlICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURE RUNfQU5BX0NPTjEsIDB4MDBmYyk7DQorDQorCS8qIEluY3JlYXNlIEhQIGlucHV0IHBhaXIgY3Vy cmVudCB0byBIUE0gc3RlcCBieSBzdGVwICovDQorCWhwX2luX3BhaXJfY3VycmVudChwcml2LCB0 cnVlKTsNCisNCisJLyogRW5hYmxlIEhQIG1haW4gQ01GQiBsb29wICovDQorCXJlZ21hcF93cml0 ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjksIDB4MGUwMCk7DQorCS8qIERp c2FibGUgSFAgYXV4IENNRkIgbG9vcCAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBN VDYzNTlfQVVEREVDX0FOQV9DT045LCAweDAyMDApOw0KKw0KKwkvKiBFbmFibGUgSFAgbWFpbiBv dXRwdXQgc3RhZ2UgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERF Q19BTkFfQ09OMSwgMHgwMGZmKTsNCisJLyogRW5hYmxlIEhQUi9MIG1haW4gb3V0cHV0IHN0YWdl IHN0ZXAgYnkgc3RlcCAqLw0KKwlocF9tYWluX291dHB1dF9yYW1wKHByaXYsIHRydWUpOw0KKw0K KwkvKiBSZWR1Y2UgSFAgYXV4IGZlZWRiYWNrIGxvb3AgZ2FpbiAqLw0KKwlocF9hdXhfZmVlZGJh Y2tfbG9vcF9nYWluX3JhbXAocHJpdiwgdHJ1ZSk7DQorCS8qIERpc2FibGUgSFAgYXV4IGZlZWRi YWNrIGxvb3AgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19B TkFfQ09OMSwgMHg3N2NmKTsNCisNCisJLyogYXBwbHkgdm9sdW1lIHNldHRpbmcgKi8NCisJaGVh ZHNldF92b2x1bWVfcmFtcChwcml2LA0KKwkJCSAgICBETF9HQUlOX05fMjJEQiwNCisJCQkgICAg cHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9IUE9VVExdKTsNCisNCisJLyogRGlz YWJsZSBIUCBhdXggb3V0cHV0IHN0YWdlICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAs IE1UNjM1OV9BVURERUNfQU5BX0NPTjEsIDB4NzdjMyk7DQorCS8qIFVuc2hvcnQgSFAgbWFpbiBv dXRwdXQgdG8gSFAgYXV4IG91dHB1dCBzdGFnZSAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVn bWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04xLCAweDc3MDMpOw0KKwl1c2xlZXBfcmFuZ2UoMTAw LCAxMjApOw0KKw0KKwkvKiBFbmFibGUgQVVEX0NMSyAqLw0KKwltdDYzNTlfc2V0X2RlY29kZXJf Y2xrKHByaXYsIHRydWUpOw0KKw0KKwkvKiBFbmFibGUgQXVkaW8gREFDICAqLw0KKwlyZWdtYXBf d3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04wLCAweDMwZmYpOw0KKwlp ZiAocHJpdi0+aHBfaGlmaV9tb2RlKSB7DQorCQkvKiBFbmFibGUgbG93LW5vaXNlIG1vZGUgb2Yg REFDICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9D T045LCAweGYyMDEpOw0KKwl9IGVsc2Ugew0KKwkJLyogRGlzYWJsZSBsb3ctbm9pc2UgbW9kZSBv ZiBEQUMgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5B X0NPTjksIDB4ZjIwMCk7DQorCX0NCisJdXNsZWVwX3JhbmdlKDEwMCwgMTIwKTsNCisNCisJLyog U3dpdGNoIEhQTCBNVVggdG8gYXVkaW8gREFDICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjAsIDB4MzJmZik7DQorCS8qIFN3aXRjaCBIUFIgTVVY IHRvIGF1ZGlvIERBQyAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVE REVDX0FOQV9DT04wLCAweDNhZmYpOw0KKw0KKwkvKiBEaXNhYmxlIFB1bGwtZG93biBIUEwvUiB0 byBBVlNTMjhfQVVEICovDQorCWhwX3B1bGxfZG93bihwcml2LCBmYWxzZSk7DQorfQ0KKw0KK3N0 YXRpYyB2b2lkIG10a19ocF9kaXNhYmxlKHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdikNCit7DQor CS8qIFB1bGwtZG93biBIUEwvUiB0byBBVlNTMjhfQVVEICovDQorCWhwX3B1bGxfZG93bihwcml2 LCB0cnVlKTsNCisNCisJLyogSFBSL0hQTCBtdXggdG8gb3BlbiAqLw0KKwlyZWdtYXBfdXBkYXRl X2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04wLA0KKwkJCSAgIDB4MGYw MCwgMHgwMDAwKTsNCisNCisJLyogRGlzYWJsZSBsb3ctbm9pc2UgbW9kZSBvZiBEQUMgKi8NCisJ cmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwN CisJCQkgICAweDAwMDEsIDB4MDAwMCk7DQorDQorCS8qIERpc2FibGUgQXVkaW8gREFDICovDQor CXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjAs DQorCQkJICAgMHgwMDBmLCAweDAwMDApOw0KKw0KKwkvKiBEaXNhYmxlIEFVRF9DTEsgKi8NCisJ bXQ2MzU5X3NldF9kZWNvZGVyX2Nsayhwcml2LCBmYWxzZSk7DQorDQorCS8qIFNob3J0IEhQIG1h aW4gb3V0cHV0IHRvIEhQIGF1eCBvdXRwdXQgc3RhZ2UgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYt PnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMSwgMHg3N2MzKTsNCisJLyogRW5hYmxlIEhQ IGF1eCBvdXRwdXQgc3RhZ2UgKi8NCisJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5 X0FVRERFQ19BTkFfQ09OMSwgMHg3N2NmKTsNCisNCisJLyogZGVjcmVhc2UgSFBML1IgZ2FpbiB0 byBub3JtYWwgZ2FpbiBzdGVwIGJ5IHN0ZXAgKi8NCisJaGVhZHNldF92b2x1bWVfcmFtcChwcml2 LA0KKwkJCSAgICBwcml2LT5hbmFfZ2FpbltBVURJT19BTkFMT0dfVk9MVU1FX0hQT1VUTF0sDQor CQkJICAgIERMX0dBSU5fTl8yMkRCKTsNCisNCisJLyogRW5hYmxlIEhQIGF1eCBmZWVkYmFjayBs b29wICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjEsIDB4NzdmZik7DQorDQorCS8qIFJlZHVjZSBIUCBhdXggZmVlZGJhY2sgbG9vcCBnYWluICov DQorCWhwX2F1eF9mZWVkYmFja19sb29wX2dhaW5fcmFtcChwcml2LCBmYWxzZSk7DQorDQorCS8q IGRlY3JlYXNlIEhQUi9MIG1haW4gb3V0cHV0IHN0YWdlIHN0ZXAgYnkgc3RlcCAqLw0KKwlocF9t YWluX291dHB1dF9yYW1wKHByaXYsIGZhbHNlKTsNCisNCisJLyogRGlzYWJsZSBIUCBtYWluIG91 dHB1dCBzdGFnZSAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlf QVVEREVDX0FOQV9DT04xLCAweDMsIDB4MCk7DQorDQorCS8qIEVuYWJsZSBIUCBhdXggQ01GQiBs b29wICovDQorCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjksIDB4MGUwMSk7DQorDQorCS8qIERpc2FibGUgSFAgbWFpbiBDTUZCIGxvb3AgKi8NCisJcmVn bWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OOSwgMHgwYzAxKTsN CisNCisJLyogRGVjcmVhc2UgSFAgaW5wdXQgcGFpciBjdXJyZW50IHRvIDInYjAwIHN0ZXAgYnkg c3RlcCAqLw0KKwlocF9pbl9wYWlyX2N1cnJlbnQocHJpdiwgZmFsc2UpOw0KKw0KKwkvKiBVbnNo b3J0IEhQIG1haW4gb3V0cHV0IHRvIEhQIGF1eCBvdXRwdXQgc3RhZ2UgKi8NCisJcmVnbWFwX3Vw ZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMSwNCisJCQkgICAw eDMgPDwgNiwgMHgwKTsNCisNCisJLyogRGlzYWJsZSBIUCBkcml2ZXIgY29yZSBjaXJjdWl0cyAq Lw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9D T04wLA0KKwkJCSAgIDB4MyA8PCA0LCAweDApOw0KKw0KKwkvKiBEaXNhYmxlIEhQIGRyaXZlciBi aWFzIGNpcmN1aXRzICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9BVURERUNfQU5BX0NPTjAsDQorCQkJICAgMHgzIDw8IDYsIDB4MCk7DQorDQorCS8qIERpc2Fi bGUgSFAgYXV4IENNRkIgbG9vcCAqLw0KKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfQVVEREVDX0FOQV9DT045LCAweDIwMSk7DQorDQorCS8qIERpc2FibGUgSFAgYXV4IGZlZWRi YWNrIGxvb3AgKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV RERFQ19BTkFfQ09OMSwNCisJCQkgICAweDMgPDwgNCwgMHgwKTsNCisNCisJLyogRGlzYWJsZSBI UCBhdXggb3V0cHV0IHN0YWdlICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAs IE1UNjM1OV9BVURERUNfQU5BX0NPTjEsDQorCQkJICAgMHgzIDw8IDIsIDB4MCk7DQorfQ0KKw0K K3N0YXRpYyBpbnQgbXRfaHBfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQor CQkgICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkgICAgICAgaW50IGV2 ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFw bV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNu ZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJdW5zaWduZWQgaW50IG11eCA9 IGRhcG1fa2NvbnRyb2xfZ2V0X3ZhbHVlKHctPmtjb250cm9sc1swXSk7DQorCWludCBkZXZpY2Ug PSBERVZJQ0VfSFA7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgMHgleCwg ZGV2X2NvdW50ZXJbREVWX0hQXSAlZCwgbXV4ICV1XG4iLA0KKwkJX19mdW5jX18sIGV2ZW50LCBw cml2LT5kZXZfY291bnRlcltkZXZpY2VdLCBtdXgpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQor CWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQlwcml2LT5kZXZfY291bnRlcltkZXZpY2Vd Kys7DQorCQlpZiAobXV4ID09IEhQX01VWF9IUCkNCisJCQltdGtfaHBfZW5hYmxlKHByaXYpOw0K KwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTUQ6DQorCQlwcml2LT5kZXZfY291 bnRlcltkZXZpY2VdLS07DQorCQlpZiAobXV4ID09IEhQX01VWF9IUCkNCisJCQltdGtfaHBfZGlz YWJsZShwcml2KTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJ cmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfcmN2X2V2ZW50KHN0cnVjdCBzbmRfc29j X2RhcG1fd2lkZ2V0ICp3LA0KKwkJCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJ CWludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRf c29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmco cHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgMHgleCwgbXV4ICV1XG4iLA0KKwkJX19mdW5jX18sIGV2 ZW50LCBkYXBtX2tjb250cm9sX2dldF92YWx1ZSh3LT5rY29udHJvbHNbMF0pKTsNCisNCisJc3dp dGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyogRGlzYWJs ZSBoYW5kc2V0IHNob3J0LWNpcmN1aXQgcHJvdGVjdGlvbiAqLw0KKwkJcmVnbWFwX3dyaXRlKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONiwgMHgwMDEwKTsNCisNCisJCS8qIFNl dCBSQ1YgRFIgYmlhcyBjdXJyZW50IG9wdGltaXphdGlvbiwgMDEwOiA2dUEgKi8NCisJCXJlZ21h cF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjExLA0KKwkJ CQkgICBEUkJJQVNfSFNfTUFTS19TRlQsDQorCQkJCSAgIERSQklBU182VUEgPDwgRFJCSUFTX0hT X1NGVCk7DQorCQkvKiBTZXQgUkNWICYgWkNEIGJpYXMgY3VycmVudCBvcHRpbWl6YXRpb24gKi8N CisJCS8qIDAxOiBaQ0Q6IDR1QSwgSFAvSFMvTE86IDV1QSAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9i aXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIsDQorCQkJCSAgIElCSUFT X1pDRF9NQVNLX1NGVCwNCisJCQkJICAgSUJJQVNfWkNEXzRVQSA8PCBJQklBU19aQ0RfU0ZUKTsN CisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NP TjEyLA0KKwkJCQkgICBJQklBU19IU19NQVNLX1NGVCwNCisJCQkJICAgSUJJQVNfNVVBIDw8IElC SUFTX0hTX1NGVCk7DQorDQorCQkvKiBTZXQgSFMgU1RCIGVuaGFuY2UgY2lyY3VpdHMgKi8NCisJ CXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjYsIDB4MDA5 MCk7DQorDQorCQkvKiBTZXQgSFMgb3V0cHV0IHN0YWdlICgzJ2IxMTEgPSA4eCkgKi8NCisJCXJl Z21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjEwLCAweDcwMDAp Ow0KKw0KKwkJLyogRW5hYmxlIEhTIGRyaXZlciBiaWFzIGNpcmN1aXRzICovDQorCQlyZWdtYXBf d3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LCAweDAwOTIpOw0KKwkJ LyogRW5hYmxlIEhTIGRyaXZlciBjb3JlIGNpcmN1aXRzICovDQorCQlyZWdtYXBfd3JpdGUocHJp di0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT042LCAweDAwOTMpOw0KKw0KKwkJLyogU2V0 IEhTIGdhaW4gdG8gbm9ybWFsIGdhaW4gc3RlcCBieSBzdGVwICovDQorCQlyZWdtYXBfd3JpdGUo cHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjMsDQorCQkJICAgICBwcml2LT5hbmFfZ2FpbltB VURJT19BTkFMT0dfVk9MVU1FX0hTT1VUTF0pOw0KKw0KKwkJLyogRW5hYmxlIEFVRF9DTEsgKi8N CisJCW10NjM1OV9zZXRfZGVjb2Rlcl9jbGsocHJpdiwgdHJ1ZSk7DQorDQorCQkvKiBFbmFibGUg QXVkaW8gREFDICAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERF Q19BTkFfQ09OMCwgMHgwMDA5KTsNCisJCS8qIEVuYWJsZSBsb3ctbm9pc2UgbW9kZSBvZiBEQUMg Ki8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjks IDB4MDAwMSk7DQorCQkvKiBTd2l0Y2ggSFMgTVVYIHRvIGF1ZGlvIERBQyAqLw0KKwkJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONiwgMHgwMDliKTsNCisJ CWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1EOg0KKwkJLyogSFMgbXV4IHRvIG9w ZW4gKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNf QU5BX0NPTjYsDQorCQkJCSAgIFJHX0FVREhTTVVYSU5QVVRTRUxfVkFVRFAzMl9NQVNLX1NGVCwN CisJCQkJICAgUkNWX01VWF9PUEVOKTsNCisNCisJCS8qIERpc2FibGUgQXVkaW8gREFDICovDQor CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT04w LA0KKwkJCQkgICAweDAwMGYsIDB4MDAwMCk7DQorDQorCQkvKiBEaXNhYmxlIEFVRF9DTEsgKi8N CisJCW10NjM1OV9zZXRfZGVjb2Rlcl9jbGsocHJpdiwgZmFsc2UpOw0KKw0KKwkJLyogZGVjcmVh c2UgSFMgZ2FpbiB0byBtaW5pbXVtIGdhaW4gc3RlcCBieSBzdGVwICovDQorCQlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjMsIERMX0dBSU5fTl80MERCKTsNCisNCisJ CS8qIERpc2FibGUgSFMgZHJpdmVyIGNvcmUgY2lyY3VpdHMgKi8NCisJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjYsDQorCQkJCSAgIFJHX0FV REhTUFdSVVBfVkFVRFAzMl9NQVNLX1NGVCwgMHgwKTsNCisNCisJCS8qIERpc2FibGUgSFMgZHJp dmVyIGJpYXMgY2lyY3VpdHMgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAs IE1UNjM1OV9BVURERUNfQU5BX0NPTjYsDQorCQkJCSAgIFJHX0FVREhTUFdSVVBfSUJJQVNfVkFV RFAzMl9NQVNLX1NGVCwgMHgwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQor CX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfbG9fZXZlbnQoc3RydWN0 IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkgICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAq a2NvbnRyb2wsDQorCQkgICAgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29t cG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0 cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNt cG50KTsNCisNCisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBldmVudCAweCV4LCBtdXggJXVc biIsDQorCQlfX2Z1bmNfXywgZXZlbnQsIGRhcG1fa2NvbnRyb2xfZ2V0X3ZhbHVlKHctPmtjb250 cm9sc1swXSkpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BS RV9QTVU6DQorCQkvKiBEaXNhYmxlIGhhbmRzZXQgc2hvcnQtY2lyY3VpdCBwcm90ZWN0aW9uICov DQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT043LCAw eDAwMTApOw0KKw0KKwkJLyogU2V0IExPIERSIGJpYXMgY3VycmVudCBvcHRpbWl6YXRpb24sIDAx MDogNnVBICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVE REVDX0FOQV9DT04xMSwNCisJCQkJICAgRFJCSUFTX0xPX01BU0tfU0ZULA0KKwkJCQkgICBEUkJJ QVNfNlVBIDw8IERSQklBU19MT19TRlQpOw0KKwkJLyogU2V0IExPICYgWkNEIGJpYXMgY3VycmVu dCBvcHRpbWl6YXRpb24gKi8NCisJCS8qIDAxOiBaQ0Q6IDR1QSwgSFAvSFMvTE86IDV1QSAqLw0K KwkJaWYgKHByaXYtPmRldl9jb3VudGVyW0RFVklDRV9IUF0gPT0gMCkNCisJCQlyZWdtYXBfdXBk YXRlX2JpdHMocHJpdi0+cmVnbWFwLA0KKwkJCQkJICAgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIs DQorCQkJCQkgICBJQklBU19aQ0RfTUFTS19TRlQsDQorCQkJCQkgICBJQklBU19aQ0RfNFVBIDw8 IElCSUFTX1pDRF9TRlQpOw0KKw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwg TVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIsDQorCQkJCSAgIElCSUFTX0xPX01BU0tfU0ZULA0KKwkJ CQkgICBJQklBU181VUEgPDwgSUJJQVNfTE9fU0ZUKTsNCisNCisJCS8qIFNldCBMTyBTVEIgZW5o YW5jZSBjaXJjdWl0cyAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV RERFQ19BTkFfQ09ONywgMHgwMTEwKTsNCisNCisJCS8qIEVuYWJsZSBMTyBkcml2ZXIgYmlhcyBj aXJjdWl0cyAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19B TkFfQ09ONywgMHgwMTEyKTsNCisJCS8qIEVuYWJsZSBMTyBkcml2ZXIgY29yZSBjaXJjdWl0cyAq Lw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONywg MHgwMTEzKTsNCisNCisJCS8qIFNldCBMTyBnYWluIHRvIG5vcm1hbCBnYWluIHN0ZXAgYnkgc3Rl cCAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X1pDRF9DT04xLA0KKwkJ CSAgICAgcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9MSU5FT1VUTF0pOw0KKw0K KwkJLyogRW5hYmxlIEFVRF9DTEsgKi8NCisJCW10NjM1OV9zZXRfZGVjb2Rlcl9jbGsocHJpdiwg dHJ1ZSk7DQorDQorCQkvKiBFbmFibGUgQXVkaW8gREFDICgzcmQgREFDKSAqLw0KKwkJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONywgMHgzMTEzKTsNCisJ CS8qIEVuYWJsZSBsb3ctbm9pc2UgbW9kZSBvZiBEQUMgKi8NCisJCWlmIChwcml2LT5kZXZfY291 bnRlcltERVZJQ0VfSFBdID09IDApDQorCQkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwNCisJ CQkJICAgICBNVDYzNTlfQVVEREVDX0FOQV9DT045LCAweDAwMDEpOw0KKwkJLyogU3dpdGNoIExP TCBNVVggdG8gYXVkaW8gM3JkIERBQyAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwg TVQ2MzU5X0FVRERFQ19BTkFfQ09ONywgMHgzMTFiKTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9T T0NfREFQTV9QUkVfUE1EOg0KKwkJLyogU3dpdGNoIExPTCBNVVggdG8gb3BlbiAqLw0KKwkJcmVn bWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONywNCisJ CQkJICAgUkdfQVVETE9MTVVYSU5QVVRTRUxfVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkJICAgTE9f TVVYX09QRU4pOw0KKw0KKwkJLyogRGlzYWJsZSBBdWRpbyBEQUMgKi8NCisJCXJlZ21hcF91cGRh dGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjAsDQorCQkJCSAgIDB4 MDAwZiwgMHgwMDAwKTsNCisNCisJCS8qIERpc2FibGUgQVVEX0NMSyAqLw0KKwkJbXQ2MzU5X3Nl dF9kZWNvZGVyX2Nsayhwcml2LCBmYWxzZSk7DQorDQorCQkvKiBkZWNyZWFzZSBMTyBnYWluIHRv IG1pbmltdW0gZ2FpbiBzdGVwIGJ5IHN0ZXAgKi8NCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9aQ0RfQ09OMSwgRExfR0FJTl9OXzQwREIpOw0KKw0KKwkJLyogRGlzYWJsZSBM TyBkcml2ZXIgY29yZSBjaXJjdWl0cyAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJl Z21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09ONywNCisJCQkJICAgUkdfQVVETE9MUFdSVVBfVkFV RFAzMl9NQVNLX1NGVCwgMHgwKTsNCisNCisJCS8qIERpc2FibGUgTE8gZHJpdmVyIGJpYXMgY2ly Y3VpdHMgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURE RUNfQU5BX0NPTjcsDQorCQkJCSAgIFJHX0FVRExPTFBXUlVQX0lCSUFTX1ZBVURQMzJfTUFTS19T RlQsIDB4MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJl dHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X2FkY19jbGtfZ2VuX2V2ZW50KHN0cnVjdCBz bmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCQlzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJv bCwNCisJCQkJaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBu dCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlf cHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJ ZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBldmVudCAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQp Ow0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0K KwkJLyogQURDIENMSyBmcm9tIENMS0dFTiAoNi41TUh6KSAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9i aXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09ONSwNCisJCQkJICAgUkdfQVVE QURDQ0xLUlNUQl9NQVNLX1NGVCwNCisJCQkJICAgMHgxIDw8IFJHX0FVREFEQ0NMS1JTVEJfU0ZU KTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5B X0NPTjUsDQorCQkJCSAgIFJHX0FVREFEQ0NMS1NPVVJDRV9NQVNLX1NGVCwgMHgwKTsNCisJCXJl Z21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjUsDQor CQkJCSAgIFJHX0FVREFEQ0NMS1NFTF9NQVNLX1NGVCwgMHgwKTsNCisJCXJlZ21hcF91cGRhdGVf Yml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjUsDQorCQkJCSAgIFJHX0FV REFEQ0NMS0dFTk1PREVfTUFTS19TRlQsDQorCQkJCSAgIDB4MSA8PCBSR19BVURBRENDTEtHRU5N T0RFX1NGVCk7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNRDoNCisJCXJl Z21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjUsDQor CQkJCSAgIFJHX0FVREFEQ0NMS1NPVVJDRV9NQVNLX1NGVCwgMHgwKTsNCisJCXJlZ21hcF91cGRh dGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjUsDQorCQkJCSAgIFJH X0FVREFEQ0NMS1NFTF9NQVNLX1NGVCwgMHgwKTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2 LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjUsDQorCQkJCSAgIFJHX0FVREFEQ0NMS0dF Tk1PREVfTUFTS19TRlQsIDB4MCk7DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LCBNVDYzNTlfQVVERU5DX0FOQV9DT041LA0KKwkJCQkgICBSR19BVURBRENDTEtSU1RCX01BU0tf U0ZULCAweDApOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwly ZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9kY2NfY2xrX2V2ZW50KHN0cnVjdCBzbmRf c29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJv bCwNCisJCQkgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpj bXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYz NTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisN CisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBldmVudCAweCV4XG4iLCBfX2Z1bmNfXywgZXZl bnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6 DQorCQkvKiBEQ0MgNTBrIENMSyAoZnJvbSAyNk0pICovDQorCQkvKiBNVDYzNTlfQUZFX0RDQ0xL X0NGRzAsIGJpdCAzIGZvciBkbSBjayBzd2FwICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfQUZFX0RDQ0xLX0NGRzAsDQorCQkJCSAgIDB4ZmZmNywgMHgyMDYy KTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BRkVfRENDTEtf Q0ZHMCwNCisJCQkJICAgMHhmZmY3LCAweDIwNjApOw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0FGRV9EQ0NMS19DRkcwLA0KKwkJCQkgICAweGZmZjcsIDB4MjA2 MSk7DQorDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX0RDQ0xLX0NG RzEsIDB4MDEwMCk7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6DQor CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX0RDQ0xLX0NGRzAs DQorCQkJCSAgIDB4ZmZmNywgMHgyMDYwKTsNCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5y ZWdtYXAsIE1UNjM1OV9BRkVfRENDTEtfQ0ZHMCwNCisJCQkJICAgMHhmZmY3LCAweDIwNjIpOw0K KwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9 DQorDQorc3RhdGljIGludCBtdF9taWNfYmlhc18wX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1f d2lkZ2V0ICp3LA0KKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJ CQkgICAgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBu dCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlf cHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJdW5z aWduZWQgaW50IG1pY190eXBlID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMF07DQor DQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgMHgleCwgbWljX3R5cGUgJWRcbiIs DQorCQlfX2Z1bmNfXywgZXZlbnQsIG1pY190eXBlKTsNCisNCisJc3dpdGNoIChldmVudCkgew0K KwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJc3dpdGNoIChtaWNfdHlwZSkgew0KKwkJ Y2FzZSBNSUNfVFlQRV9NVVhfRENDX0VDTV9ESUZGOg0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhw cml2LT5yZWdtYXAsDQorCQkJCQkgICBNVDYzNTlfQVVERU5DX0FOQV9DT04xNSwNCisJCQkJCSAg IDB4ZmYwMCwgMHg3NzAwKTsNCisJCQlicmVhazsNCisJCWNhc2UgTUlDX1RZUEVfTVVYX0RDQ19F Q01fU0lOR0xFOg0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCQkg ICBNVDYzNTlfQVVERU5DX0FOQV9DT04xNSwNCisJCQkJCSAgIDB4ZmYwMCwgMHgxMTAwKTsNCisJ CQlicmVhazsNCisJCWRlZmF1bHQ6DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21h cCwNCisJCQkJCSAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE1LA0KKwkJCQkJICAgMHhmZjAwLCAw eDAwMDApOw0KKwkJCWJyZWFrOw0KKwkJfQ0KKw0KKwkJLyogRE1JQyBlbmFibGUgKi8NCisJCXJl Z21hcF93cml0ZShwcml2LT5yZWdtYXAsDQorCQkJICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04x NCwgMHgwMDA0KTsNCisJCS8qIE1JU0JJQVMwID0gMVA5ViAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9i aXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTUsDQorCQkJCSAgIFJHX0FV RE1JQ0JJQVMwVlJFRl9NQVNLX1NGVCwNCisJCQkJICAgTUlDX0JJQVNfMVA5IDw8IFJHX0FVRE1J Q0JJQVMwVlJFRl9TRlQpOw0KKwkJLyogbm9ybWFsIHBvd2VyIHNlbGVjdCAqLw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTUsDQorCQkJ CSAgIFJHX0FVRE1JQ0JJQVMwTE9XUEVOX01BU0tfU0ZULA0KKwkJCQkgICAwIDw8IFJHX0FVRE1J Q0JJQVMwTE9XUEVOX1NGVCk7DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9Q TUQ6DQorCQkvKiBEaXNhYmxlIE1JQ0JJQVMwLCBNSVNCSUFTMCA9IDFQN1YgKi8NCisJCXJlZ21h cF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE1LCAweDAwMDApOw0K KwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9 DQorDQorc3RhdGljIGludCBtdF9taWNfYmlhc18xX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1f d2lkZ2V0ICp3LA0KKwkJCSAgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJ CQkgICAgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBu dCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlf cHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJdW5z aWduZWQgaW50IG1pY190eXBlID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMV07DQor DQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgMHgleCwgbWljX3R5cGUgJWRcbiIs DQorCQlfX2Z1bmNfXywgZXZlbnQsIG1pY190eXBlKTsNCisNCisJc3dpdGNoIChldmVudCkgew0K KwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyogTUlTQklBUzEgPSAyUDZWICovDQor CQlpZiAobWljX3R5cGUgPT0gTUlDX1RZUEVfTVVYX0RDQ19FQ01fU0lOR0xFKQ0KKwkJCXJlZ21h cF93cml0ZShwcml2LT5yZWdtYXAsDQorCQkJCSAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTYs IDB4MDE2MCk7DQorCQllbHNlDQorCQkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwNCisJCQkJ ICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04xNiwgMHgwMDYwKTsNCisNCisJCS8qIG5vcm1hbCBw b3dlciBzZWxlY3QgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1 OV9BVURFTkNfQU5BX0NPTjE2LA0KKwkJCQkgICBSR19BVURNSUNCSUFTMUxPV1BFTl9NQVNLX1NG VCwNCisJCQkJICAgMCA8PCBSR19BVURNSUNCSUFTMUxPV1BFTl9TRlQpOw0KKwkJYnJlYWs7DQor CWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGlj IGludCBtdF9taWNfYmlhc18yX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0K KwkJCSAgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAgICAgaW50 IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2Nf ZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9 IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJdW5zaWduZWQgaW50IG1p Y190eXBlID0gcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMl07DQorDQorCWRldl9kYmco cHJpdi0+ZGV2LCAiJXMoKSwgZXZlbnQgMHgleCwgbWljX3R5cGUgJWRcbiIsDQorCQlfX2Z1bmNf XywgZXZlbnQsIG1pY190eXBlKTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9T T0NfREFQTV9QUkVfUE1VOg0KKwkJc3dpdGNoIChtaWNfdHlwZSkgew0KKwkJY2FzZSBNSUNfVFlQ RV9NVVhfRENDX0VDTV9ESUZGOg0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAs DQorCQkJCQkgICBNVDYzNTlfQVVERU5DX0FOQV9DT04xNywNCisJCQkJCSAgIDB4ZmYwMCwgMHg3 NzAwKTsNCisJCQlicmVhazsNCisJCWNhc2UgTUlDX1RZUEVfTVVYX0RDQ19FQ01fU0lOR0xFOg0K KwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsDQorCQkJCQkgICBNVDYzNTlfQVVE RU5DX0FOQV9DT04xNywNCisJCQkJCSAgIDB4ZmYwMCwgMHgxMTAwKTsNCisJCQlicmVhazsNCisJ CWRlZmF1bHQ6DQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwNCisJCQkJCSAg IE1UNjM1OV9BVURFTkNfQU5BX0NPTjE3LA0KKwkJCQkJICAgMHhmZjAwLCAweDAwMDApOw0KKwkJ CWJyZWFrOw0KKwkJfQ0KKw0KKwkJLyogTUlTQklBUzIgPSAxUDlWICovDQorCQlyZWdtYXBfdXBk YXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04xNywNCisJCQkJICAg UkdfQVVETUlDQklBUzJWUkVGX01BU0tfU0ZULA0KKwkJCQkgICBNSUNfQklBU18xUDkgPDwgUkdf QVVETUlDQklBUzJWUkVGX1NGVCk7DQorCQkvKiBub3JtYWwgcG93ZXIgc2VsZWN0ICovDQorCQly ZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04xNywN CisJCQkJICAgUkdfQVVETUlDQklBUzJMT1dQRU5fTUFTS19TRlQsDQorCQkJCSAgIDAgPDwgUkdf QVVETUlDQklBUzJMT1dQRU5fU0ZUKTsNCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9Q T1NUX1BNRDoNCisJCS8qIERpc2FibGUgTUlDQklBUzIsIE1JU0JJQVMwID0gMVA3ViAqLw0KKwkJ cmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcsIDB4MDAw MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAw Ow0KK30NCisNCitzdGF0aWMgaW50IG10X210a2FpZl90eF9ldmVudChzdHJ1Y3Qgc25kX3NvY19k YXBtX3dpZGdldCAqdywNCisJCQkgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwN CisJCQkgICAgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNt cG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1 OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0K KwlkZXZfZGJnKHByaXYtPmRldiwgIiVzKCksIGV2ZW50ID0gMHgleFxuIiwgX19mdW5jX18sIGV2 ZW50KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1V Og0KKwkJbXQ2MzU5X210a2FpZl90eF9lbmFibGUocHJpdik7DQorCQlicmVhazsNCisJY2FzZSBT TkRfU09DX0RBUE1fUE9TVF9QTUQ6DQorCQltdDYzNTlfbXRrYWlmX3R4X2Rpc2FibGUocHJpdik7 DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0K K30NCisNCitzdGF0aWMgaW50IG10X3VsX3NyY19kbWljX2V2ZW50KHN0cnVjdCBzbmRfc29jX2Rh cG1fd2lkZ2V0ICp3LA0KKwkJCQlzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkJ aW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9z b2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJp diA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJZGV2X2RiZyhw cml2LT5kZXYsICIlcygpLCBldmVudCA9IDB4JXhcbiIsIF9fZnVuY19fLCBldmVudCk7DQorDQor CXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCS8qIFVM IGRtaWMgc2V0dGluZyAqLw0KKwkJaWYgKHByaXYtPmRtaWNfb25lX3dpcmVfbW9kZSkNCisJCQly ZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX1VMX1NSQ19DT04wX0gsDQorCQkJ CSAgICAgMHgwNDAwKTsNCisJCWVsc2UNCisJCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBN VDYzNTlfQUZFX1VMX1NSQ19DT04wX0gsDQorCQkJCSAgICAgMHgwMDgwKTsNCisJCS8qIGRlZmF1 bHQgb25lIHdpcmUsIDMuMjVNICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LCBNVDYzNTlfQUZFX1VMX1NSQ19DT04wX0wsDQorCQkJCSAgIDB4ZmZmYywgMHgwMDAwKTsNCisJ CWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCXJlZ21hcF93cml0ZShw cml2LT5yZWdtYXAsDQorCQkJICAgICBNVDYzNTlfQUZFX1VMX1NSQ19DT04wX0gsIDB4MDAwMCk7 DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0K K30NCisNCitzdGF0aWMgaW50IG10X3VsX3NyY18zNF9kbWljX2V2ZW50KHN0cnVjdCBzbmRfc29j X2RhcG1fd2lkZ2V0ICp3LA0KKwkJCQkgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwN CisJCQkJICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBu dCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlf cHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJ ZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBldmVudCA9IDB4JXhcbiIsIF9fZnVuY19fLCBldmVu dCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToN CisJCS8qIGRlZmF1bHQgdHdvIHdpcmUsIDMuMjVNICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+ cmVnbWFwLA0KKwkJCSAgICAgTVQ2MzU5X0FGRV9BRERBNl9MX1NSQ19DT04wX0gsIDB4MDA4MCk7 DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZFX0FEREE2X1VM X1NSQ19DT04wX0wsDQorCQkJCSAgIDB4ZmZmYywgMHgwMDAwKTsNCisJCWJyZWFrOw0KKwljYXNl IFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsDQor CQkJICAgICBNVDYzNTlfQUZFX0FEREE2X0xfU1JDX0NPTjBfSCwgMHgwMDAwKTsNCisJCWJyZWFr Ow0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0 YXRpYyBpbnQgbXRfYWRjX2xfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQor CQkJICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgIGludCBldmVudCkNCit7 DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29t cG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2Nv bXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMo KSwgZXZlbnQgPSAweCV4XG4iLCBfX2Z1bmNfXywgZXZlbnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50 KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1VOg0KKwkJdXNsZWVwX3JhbmdlKDEwMCwg MTIwKTsNCisJCS8qIEF1ZGlvIEwgcHJlYW1wbGlmaWVyIERDQyBwcmVjaGFyZ2Ugb2ZmICovDQor CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04w LA0KKwkJCQkgICBSR19BVURQUkVBTVBMRENQUkVDSEFSR0VfTUFTS19TRlQsDQorCQkJCSAgIDB4 MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAw Ow0KK30NCisNCitzdGF0aWMgaW50IG10X2FkY19yX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1f d2lkZ2V0ICp3LA0KKwkJCSAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICBp bnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3Nv Y19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2 ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlkZXZfZGJnKHBy aXYtPmRldiwgIiVzKCksIGV2ZW50ID0gMHgleFxuIiwgX19mdW5jX18sIGV2ZW50KTsNCisNCisJ c3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNVToNCisJCXVzbGVl cF9yYW5nZSgxMDAsIDEyMCk7DQorCQkvKiBBdWRpbyBSIHByZWFtcGxpZmllciBEQ0MgcHJlY2hh cmdlIG9mZiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FV REVOQ19BTkFfQ09OMSwNCisJCQkJICAgUkdfQVVEUFJFQU1QUkRDUFJFQ0hBUkdFX01BU0tfU0ZU LA0KKwkJCQkgICAweDApOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0K Kw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9hZGNfM19ldmVudChzdHJ1Y3Qg c25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250 cm9sLA0KKwkJCSAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpj bXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYz NTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisN CisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBldmVudCA9IDB4JXhcbiIsIF9fZnVuY19fLCBl dmVudCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9Q TVU6DQorCQl1c2xlZXBfcmFuZ2UoMTAwLCAxMjApOw0KKwkJLyogQXVkaW8gUiBwcmVhbXBsaWZp ZXIgRENDIHByZWNoYXJnZSBvZmYgKi8NCisJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIsDQorCQkJCSAgIFJHX0FVRFBSRUFNUDNEQ1BSRUNI QVJHRV9NQVNLX1NGVCwNCisJCQkJICAgMHgwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJ YnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfcGdhX2xf bXV4X2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCSAgICAgIHN0cnVj dCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICAgIGludCBldmVudCkNCit7DQorCXN0 cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50 KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVu dF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCXVuc2lnbmVkIGludCBtdXggPSBkYXBtX2tjb250cm9s X2dldF92YWx1ZSh3LT5rY29udHJvbHNbMF0pOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVz KCksIG11eCAlZFxuIiwgX19mdW5jX18sIG11eCk7DQorCXByaXYtPm11eF9zZWxlY3RbTVVYX1BH QV9MXSA9IG11eCA+PiBSR19BVURQUkVBTVBMSU5QVVRTRUxfU0ZUOw0KKwlyZXR1cm4gMDsNCit9 DQorDQorc3RhdGljIGludCBtdF9wZ2Ffcl9tdXhfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93 aWRnZXQgKncsDQorCQkJICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJ ICAgICAgaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9 IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJp diAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisJdW5zaWdu ZWQgaW50IG11eCA9IGRhcG1fa2NvbnRyb2xfZ2V0X3ZhbHVlKHctPmtjb250cm9sc1swXSk7DQor DQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMoKSwgbXV4ICVkXG4iLCBfX2Z1bmNfXywgbXV4KTsN CisJcHJpdi0+bXV4X3NlbGVjdFtNVVhfUEdBX1JdID0gbXV4ID4+IFJHX0FVRFBSRUFNUFJJTlBV VFNFTF9TRlQ7DQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X3BnYV8zX211eF9l dmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dpZGdldCAqdywNCisJCQkgICAgICBzdHJ1Y3Qgc25k X2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qg c25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5k YXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0 X2RydmRhdGEoY21wbnQpOw0KKwl1bnNpZ25lZCBpbnQgbXV4ID0gZGFwbV9rY29udHJvbF9nZXRf dmFsdWUody0+a2NvbnRyb2xzWzBdKTsNCisNCisJZGV2X2RiZyhwcml2LT5kZXYsICIlcygpLCBt dXggJWRcbiIsIF9fZnVuY19fLCBtdXgpOw0KKwlwcml2LT5tdXhfc2VsZWN0W01VWF9QR0FfM10g PSBtdXggPj4gUkdfQVVEUFJFQU1QM0lOUFVUU0VMX1NGVDsNCisJcmV0dXJuIDA7DQorfQ0KKw0K K3N0YXRpYyBpbnQgbXRfcGdhX2xfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncs DQorCQkJICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgIGludCBldmVudCkN Cit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9f Y29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29j X2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCWludCBtaWNfZ2Fpbl9sID0gcHJpdi0+ YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAxXTsNCisJdW5zaWduZWQgaW50IG11 eF9wZ2EgPSBwcml2LT5tdXhfc2VsZWN0W01VWF9QR0FfTF07DQorCXVuc2lnbmVkIGludCBtaWNf dHlwZTsNCisNCisJc3dpdGNoIChtdXhfcGdhKSB7DQorCWNhc2UgUEdBX0xfTVVYX0FJTjA6DQor CQltaWNfdHlwZSA9IHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzBdOw0KKwkJYnJlYWs7 DQorCWNhc2UgUEdBX0xfTVVYX0FJTjE6DQorCQltaWNfdHlwZSA9IHByaXYtPm11eF9zZWxlY3Rb TVVYX01JQ19UWVBFXzFdOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlkZXZfZXJyKHByaXYt PmRldiwgIiVzKCksIGludmFsaWQgcGdhIG11eCAlZFxuIiwNCisJCQlfX2Z1bmNfXywgbXV4X3Bn YSk7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNh c2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQlpZiAoSVNfRENDX0JBU0UobWljX3R5cGUpKSB7 DQorCQkJLyogQXVkaW8gTCBwcmVhbXBsaWZpZXIgRENDIHByZWNoYXJnZSAqLw0KKwkJCXJlZ21h cF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURFTkNfQU5BX0NPTjAsDQorCQkJ CQkgICBSR19BVURQUkVBTVBMRENQUkVDSEFSR0VfTUFTS19TRlQsDQorCQkJCQkgICAweDEgPDwg UkdfQVVEUFJFQU1QTERDUFJFQ0hBUkdFX1NGVCk7DQorCQl9DQorCQlicmVhazsNCisJY2FzZSBT TkRfU09DX0RBUE1fUE9TVF9QTVU6DQorCQkvKiBzZXQgbWljIHBnYSBnYWluICovDQorCQlyZWdt YXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04wLA0KKwkJ CQkgICBSR19BVURQUkVBTVBMR0FJTl9NQVNLX1NGVCwNCisJCQkJICAgbWljX2dhaW5fbCA8PCBS R19BVURQUkVBTVBMR0FJTl9TRlQpOw0KKw0KKwkJaWYgKElTX0RDQ19CQVNFKG1pY190eXBlKSkg ew0KKwkJCS8qIEwgcHJlYW1wbGlmaWVyIERDQ0VOICovDQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwNCisJCQkJCSAgIFJHX0FVRFBS RUFNUExEQ0NFTl9NQVNLX1NGVCwNCisJCQkJCSAgIDB4MSA8PCBSR19BVURQUkVBTVBMRENDRU5f U0ZUKTsNCisJCX0NCisJCWJyZWFrOw0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJ CS8qIEwgcHJlYW1wbGlmaWVyIERDQ0VOICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+ cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04wLA0KKwkJCQkgICBSR19BVURQUkVBTVBMREND RU5fTUFTS19TRlQsDQorCQkJCSAgIDB4MCA8PCBSR19BVURQUkVBTVBMRENDRU5fU0ZUKTsNCisJ CWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0K Kw0KK3N0YXRpYyBpbnQgbXRfcGdhX3JfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQg KncsDQorCQkJICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgIGludCBldmVu dCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1f dG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRf c29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorCWludCBtaWNfZ2Fpbl9yID0gcHJp di0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAyXTsNCisJdW5zaWduZWQgaW50 IG11eF9wZ2EgPSBwcml2LT5tdXhfc2VsZWN0W01VWF9QR0FfUl07DQorCXVuc2lnbmVkIGludCBt aWNfdHlwZTsNCisNCisJc3dpdGNoIChtdXhfcGdhKSB7DQorCWNhc2UgUEdBX1JfTVVYX0FJTjA6 DQorCQltaWNfdHlwZSA9IHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzBdOw0KKwkJYnJl YWs7DQorCWNhc2UgUEdBX1JfTVVYX0FJTjI6DQorCWNhc2UgUEdBX1JfTVVYX0FJTjM6DQorCQlt aWNfdHlwZSA9IHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzJdOw0KKwkJYnJlYWs7DQor CWRlZmF1bHQ6DQorCQlkZXZfZXJyKHByaXYtPmRldiwgIiVzKCksIGludmFsaWQgcGdhIG11eCAl ZFxuIiwNCisJCQlfX2Z1bmNfXywgbXV4X3BnYSk7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0K Kw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQlp ZiAoSVNfRENDX0JBU0UobWljX3R5cGUpKSB7DQorCQkJLyogQXVkaW8gUiBwcmVhbXBsaWZpZXIg RENDIHByZWNoYXJnZSAqLw0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9BVURFTkNfQU5BX0NPTjEsDQorCQkJCQkgICBSR19BVURQUkVBTVBSRENQUkVDSEFSR0Vf TUFTS19TRlQsDQorCQkJCQkgICAweDEgPDwgUkdfQVVEUFJFQU1QUkRDUFJFQ0hBUkdFX1NGVCk7 DQorCQl9DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTVU6DQorCQkvKiBz ZXQgbWljIHBnYSBnYWluICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQVVERU5DX0FOQV9DT04xLA0KKwkJCQkgICBSR19BVURQUkVBTVBSR0FJTl9NQVNLX1NG VCwNCisJCQkJICAgbWljX2dhaW5fciA8PCBSR19BVURQUkVBTVBSR0FJTl9TRlQpOw0KKw0KKwkJ aWYgKElTX0RDQ19CQVNFKG1pY190eXBlKSkgew0KKwkJCS8qIFIgcHJlYW1wbGlmaWVyIERDQ0VO ICovDQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19B TkFfQ09OMSwNCisJCQkJCSAgIFJHX0FVRFBSRUFNUFJEQ0NFTl9NQVNLX1NGVCwNCisJCQkJCSAg IDB4MSA8PCBSR19BVURQUkVBTVBSRENDRU5fU0ZUKTsNCisJCX0NCisJCWJyZWFrOw0KKwljYXNl IFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIFIgcHJlYW1wbGlmaWVyIERDQ0VOICovDQor CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04x LA0KKwkJCQkgICBSR19BVURQUkVBTVBSRENDRU5fTUFTS19TRlQsDQorCQkJCSAgIDB4MCA8PCBS R19BVURQUkVBTVBSRENDRU5fU0ZUKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7 DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfcGdhXzNfZXZlbnQo c3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJICBzdHJ1Y3Qgc25kX2tjb250cm9s ICprY29udHJvbCwNCisJCQkgIGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBv bmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1 Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBu dCk7DQorCWludCBtaWNfZ2Fpbl8zID0gcHJpdi0+YW5hX2dhaW5bQVVESU9fQU5BTE9HX1ZPTFVN RV9NSUNBTVAzXTsNCisJdW5zaWduZWQgaW50IG11eF9wZ2EgPSBwcml2LT5tdXhfc2VsZWN0W01V WF9QR0FfM107DQorCXVuc2lnbmVkIGludCBtaWNfdHlwZTsNCisNCisJc3dpdGNoIChtdXhfcGdh KSB7DQorCWNhc2UgUEdBXzNfTVVYX0FJTjI6DQorCWNhc2UgUEdBXzNfTVVYX0FJTjM6DQorCQlt aWNfdHlwZSA9IHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzJdOw0KKwkJYnJlYWs7DQor CWRlZmF1bHQ6DQorCQlkZXZfZXJyKHByaXYtPmRldiwgIiVzKCksIGludmFsaWQgcGdhIG11eCAl ZFxuIiwNCisJCQlfX2Z1bmNfXywgbXV4X3BnYSk7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0K Kw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9QTVU6DQorCQlp ZiAoSVNfRENDX0JBU0UobWljX3R5cGUpKSB7DQorCQkJLyogQXVkaW8gMyBwcmVhbXBsaWZpZXIg RENDIHByZWNoYXJnZSAqLw0KKwkJCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1U NjM1OV9BVURFTkNfQU5BX0NPTjIsDQorCQkJCQkgICBSR19BVURQUkVBTVAzRENQUkVDSEFSR0Vf TUFTS19TRlQsDQorCQkJCQkgICAweDEgPDwgUkdfQVVEUFJFQU1QM0RDUFJFQ0hBUkdFX1NGVCk7 DQorCQl9DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTVU6DQorCQkvKiBz ZXQgbWljIHBnYSBnYWluICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBN VDYzNTlfQVVERU5DX0FOQV9DT04yLA0KKwkJCQkgICBSR19BVURQUkVBTVAzR0FJTl9NQVNLX1NG VCwNCisJCQkJICAgbWljX2dhaW5fMyA8PCBSR19BVURQUkVBTVAzR0FJTl9TRlQpOw0KKw0KKwkJ aWYgKElTX0RDQ19CQVNFKG1pY190eXBlKSkgew0KKwkJCS8qIDMgcHJlYW1wbGlmaWVyIERDQ0VO ICovDQorCQkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19B TkFfQ09OMiwNCisJCQkJCSAgIFJHX0FVRFBSRUFNUDNEQ0NFTl9NQVNLX1NGVCwNCisJCQkJCSAg IDB4MSA8PCBSR19BVURQUkVBTVAzRENDRU5fU0ZUKTsNCisJCX0NCisJCWJyZWFrOw0KKwljYXNl IFNORF9TT0NfREFQTV9QT1NUX1BNRDoNCisJCS8qIDMgcHJlYW1wbGlmaWVyIERDQ0VOICovDQor CQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVERU5DX0FOQV9DT04y LA0KKwkJCQkgICBSR19BVURQUkVBTVAzRENDRU5fTUFTS19TRlQsDQorCQkJCSAgIDB4MCA8PCBS R19BVURQUkVBTVAzRENDRU5fU0ZUKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7 DQorCX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KKy8qIEl0IGlzIGJhc2VkIG9uIGh3J3MgY29u dHJvbCBzZXF1ZW5lY2UgdG8gYWRkIHNvbWUgZGVsYXkgd2hlbiBQTVUvUE1EICovDQorc3RhdGlj IGludCBtdF9kZWxheV8yNTBfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQor CQkJICAgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAgICAgaW50IGV2 ZW50KQ0KK3sNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QT1NUX1BN VToNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNRDoNCisJCXVzbGVlcF9yYW5nZSgyNTAsIDI3 MCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAw Ow0KK30NCisNCitzdGF0aWMgaW50IG10X2RlbGF5XzEwMF9ldmVudChzdHJ1Y3Qgc25kX3NvY19k YXBtX3dpZGdldCAqdywNCisJCQkgICAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwN CisJCQkgICAgICBpbnQgZXZlbnQpDQorew0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05E X1NPQ19EQVBNX1BPU1RfUE1VOg0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1EOg0KKwkJdXNs ZWVwX3JhbmdlKDEwMCwgMTIwKTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQor CX0NCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfaHBfcHVsbF9kb3duX2V2 ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwkJCQkgc3RydWN0IHNuZF9rY29u dHJvbCAqa2NvbnRyb2wsDQorCQkJCSBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19j b21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJ c3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEo Y21wbnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9Q TVU6DQorCQlocF9wdWxsX2Rvd24ocHJpdiwgdHJ1ZSk7DQorCQlicmVhazsNCisJY2FzZSBTTkRf U09DX0RBUE1fUE9TVF9QTUQ6DQorCQlocF9wdWxsX2Rvd24ocHJpdiwgZmFsc2UpOw0KKwkJYnJl YWs7DQorCWRlZmF1bHQ6DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQor c3RhdGljIGludCBtdF9ocF9tdXRlX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICp3 LA0KKwkJCSAgICBzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwNCisJCQkgICAgaW50IGV2 ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFw bV90b19jb21wb25lbnQody0+ZGFwbSk7DQorCXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNu ZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNtcG50KTsNCisNCisJc3dpdGNoIChldmVudCkg ew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVfUE1VOg0KKwkJLyogU2V0IEhQUi9IUEwgZ2FpbiB0 byAtMjJkQiAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X1pDRF9DT04y LCBETF9HQUlOX05fMjJEQl9SRUcpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BP U1RfUE1EOg0KKwkJLyogU2V0IEhQTC9IUFIgZ2FpbiB0byBtdXRlICovDQorCQlyZWdtYXBfd3Jp dGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfWkNEX0NPTjIsIERMX0dBSU5fTl80MERCX1JFRyk7DQor CQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30N CisNCitzdGF0aWMgaW50IG10X2hwX2RhbXBfZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRn ZXQgKncsDQorCQkJICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCSAgICBp bnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50ID0gc25kX3Nv Y19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2 ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlzd2l0Y2ggKGV2 ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJLyogRGlzYWJsZSBIUCBk YW1waW5nIGNpcmN1aXQgJiBIUE4gNEsgbG9hZCAqLw0KKwkJLyogcmVzZXQgQ01GQiBQVyBsZXZl bCAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09O MTAsIDB4MDAwMCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWJyZWFrOw0KKwl9DQorDQor CXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10X2VzZF9yZXNpc3RfZXZlbnQoc3RydWN0 IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJICAgICAgIHN0cnVjdCBzbmRfa2NvbnRyb2wg Kmtjb250cm9sLA0KKwkJCSAgICAgICBpbnQgZXZlbnQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19j b21wb25lbnQgKmNtcG50ID0gc25kX3NvY19kYXBtX3RvX2NvbXBvbmVudCh3LT5kYXBtKTsNCisJ c3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEo Y21wbnQpOw0KKw0KKwlzd2l0Y2ggKGV2ZW50KSB7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BSRV9Q TVU6DQorCQkvKiBSZWR1Y2UgRVNEIHJlc2lzdGFuY2Ugb2YgQVVfUkVGTiAqLw0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMiwNCisJCQkJ ICAgUkdfQVVEUkVGTl9ERVJFU19FTl9WQVVEUDMyX01BU0tfU0ZULA0KKwkJCQkgICAweDEgPDwg UkdfQVVEUkVGTl9ERVJFU19FTl9WQVVEUDMyX1NGVCk7DQorCQl1c2xlZXBfcmFuZ2UoMjUwLCAy NzApOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJLyogSW5j cmVhc2UgRVNEIHJlc2lzdGFuY2Ugb2YgQVVfUkVGTiAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMiwNCisJCQkJICAgUkdfQVVEUkVG Tl9ERVJFU19FTl9WQVVEUDMyX01BU0tfU0ZULCAweDApOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6 DQorCQlicmVhazsNCisJfQ0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBtdF9z ZG1fZXZlbnQoc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKncsDQorCQkJc3RydWN0IHNuZF9r Y29udHJvbCAqa2NvbnRyb2wsDQorCQkJaW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2Nf Y29tcG9uZW50ICpjbXBudCA9IHNuZF9zb2NfZGFwbV90b19jb21wb25lbnQody0+ZGFwbSk7DQor CXN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdiA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRh KGNtcG50KTsNCisNCisJc3dpdGNoIChldmVudCkgew0KKwljYXNlIFNORF9TT0NfREFQTV9QUkVf UE1VOg0KKwkJLyogc2RtIGF1ZGlvIGZpZm8gY2xvY2sgcG93ZXIgb24gKi8NCisJCXJlZ21hcF91 cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OMiwNCisJCQkJICAg MHhmZmZkLCAweDAwMDYpOw0KKwkJLyogc2NyYW1ibGVyIGNsb2NrIG9uIGVuYWJsZSAqLw0KKwkJ cmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04wLCAweGNiYTEp Ow0KKwkJLyogc2RtIHBvd2VyIG9uICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVn bWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjIsDQorCQkJCSAgIDB4ZmZmZCwgMHgwMDAzKTsNCisJ CS8qIHNkbSBmaWZvIGVuYWJsZSAqLw0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21h cCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04yLA0KKwkJCQkgICAweGZmZmQsIDB4MDAwQik7DQorCQli cmVhazsNCisJY2FzZSBTTkRfU09DX0RBUE1fUE9TVF9QTUQ6DQorCQkvKiBETCBzY3JhbWJsZXIg ZGlzYWJsaW5nIHNlcXVlbmNlICovDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocHJpdi0+cmVnbWFw LCBNVDYzNTlfQUZVTkNfQVVEX0NPTjIsDQorCQkJCSAgIDB4ZmZmZCwgMHgwMDAwKTsNCisJCXJl Z21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OMCwgMHhjYmEwKTsN CisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KK3N0YXRpYyBpbnQgbXRfc2RtXzNyZF9ldmVudChzdHJ1Y3Qgc25kX3NvY19kYXBtX3dp ZGdldCAqdywNCisJCQkgICAgc3RydWN0IHNuZF9rY29udHJvbCAqa2NvbnRyb2wsDQorCQkJICAg IGludCBldmVudCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRf c29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnBy aXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCXN3aXRjaCAo ZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCS8qIHNkbSBhdWRpbyBm aWZvIGNsb2NrIHBvd2VyIG9uICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYz NTlfQUZVTkNfQVVEX0NPTjExLCAweDAwMDYpOw0KKwkJLyogc2NyYW1ibGVyIGNsb2NrIG9uIGVu YWJsZSAqLw0KKwkJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9D T045LCAweGNiYTEpOw0KKwkJLyogc2RtIHBvd2VyIG9uICovDQorCQlyZWdtYXBfd3JpdGUocHJp di0+cmVnbWFwLCBNVDYzNTlfQUZVTkNfQVVEX0NPTjExLCAweDAwMDMpOw0KKwkJLyogc2RtIGZp Zm8gZW5hYmxlICovDQorCQlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBNVDYzNTlfQUZVTkNf QVVEX0NPTjExLCAweDAwMGIpOw0KKwkJYnJlYWs7DQorCWNhc2UgU05EX1NPQ19EQVBNX1BPU1Rf UE1EOg0KKwkJLyogREwgc2NyYW1ibGVyIGRpc2FibGluZyBzZXF1ZW5jZSAqLw0KKwkJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgTVQ2MzU5X0FGVU5DX0FVRF9DT04xMSwgMHgwMDAwKTsNCisJ CXJlZ21hcF93cml0ZShwcml2LT5yZWdtYXAsIE1UNjM1OV9BRlVOQ19BVURfQ09OOSwgMHhjYmEw KTsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisNCisJcmV0dXJuIDA7 DQorfQ0KKw0KK3N0YXRpYyBpbnQgbXRfbmNwX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lk Z2V0ICp3LA0KKwkJCXN0cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJCWludCBldmVu dCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBzbmRfc29jX2RhcG1f dG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgbXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRf c29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsN CisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCXJlZ21hcF93cml0ZShwcml2LT5yZWdt YXAsIE1UNjM1OV9BRkVfTkNQX0NGRzAsIDB4YzgwMCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoN CisJCWJyZWFrOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCisvKiBEQVBNIFdpZGdldHMg Ki8NCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgbXQ2MzU5X2RhcG1f d2lkZ2V0c1tdID0gew0KKwkvKiBHbG9iYWwgU3VwcGx5Ki8NCisJU05EX1NPQ19EQVBNX1NVUFBM WV9TKCJDTEtfQlVGIiwgU1VQUExZX1NFUV9DTEtfQlVGLA0KKwkJCSAgICAgIE1UNjM1OV9EQ1hP X0NXMTIsDQorCQkJICAgICAgUkdfWE9fQVVESU9fRU5fTV9TRlQsIDAsIE5VTEwsIDApLA0KKwlT TkRfU09DX0RBUE1fU1VQUExZX1MoIkxET19WQVVEMTgiLCBTVVBQTFlfU0VRX0xET19WQVVEMTgs DQorCQkJICAgICAgTVQ2MzU5X0xET19WQVVEMThfQ09OMCwNCisJCQkgICAgICBSR19MRE9fVkFV RDE4X0VOX1NGVCwgMCwgTlVMTCwgMCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQVVER0xC IiwgU1VQUExZX1NFUV9BVURfR0xCLA0KKwkJCSAgICAgIE1UNjM1OV9BVURERUNfQU5BX0NPTjEz LA0KKwkJCSAgICAgIFJHX0FVREdMQl9QV1JETl9WQTMyX1NGVCwgMSwgTlVMTCwgMCksDQorCVNO RF9TT0NfREFQTV9TVVBQTFlfUygiQ0xLU1EgQXVkaW8iLCBTVVBQTFlfU0VRX0NMS1NRLA0KKwkJ CSAgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIzLA0KKwkJCSAgICAgIFJHX0NMS1NRX0VOX1NG VCwgMCwgTlVMTCwgU05EX1NPQ19EQVBNX1BSRV9QTVUpLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZ X1MoIkFVRE5DUF9DSyIsIFNVUFBMWV9TRVFfVE9QX0NLLA0KKwkJCSAgICAgIE1UNjM1OV9BVURf VE9QX0NLUEROX0NPTjAsDQorCQkJICAgICAgUkdfQVVETkNQX0NLX1BETl9TRlQsIDEsIE5VTEws IDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlpDRDEzTV9DSyIsIFNVUFBMWV9TRVFfVE9Q X0NLLA0KKwkJCSAgICAgIE1UNjM1OV9BVURfVE9QX0NLUEROX0NPTjAsDQorCQkJICAgICAgUkdf WkNEMTNNX0NLX1BETl9TRlQsIDEsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1Mo IkFVRF9DSyIsIFNVUFBMWV9TRVFfVE9QX0NLX0xBU1QsDQorCQkJICAgICAgTVQ2MzU5X0FVRF9U T1BfQ0tQRE5fQ09OMCwNCisJCQkgICAgICBSR19BVURfQ0tfUEROX1NGVCwgMSwgbXRfZGVsYXlf MjUwX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNVSB8IFNORF9TT0NfREFQ TV9QUkVfUE1EKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJRl9DSyIsIFNVUFBMWV9T RVFfVE9QX0NLLA0KKwkJCSAgICAgIE1UNjM1OV9BVURfVE9QX0NLUEROX0NPTjAsDQorCQkJICAg ICAgUkdfQVVESUZfQ0tfUEROX1NGVCwgMSwgTlVMTCwgMCksDQorCS8qIERpZ2l0YWwgQ2xvY2sg Ki8NCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJT19UT1BfQUZFX0NUTCIsIFNVUFBMWV9T RVFfQVVEX1RPUF9MQVNULA0KKwkJCSAgICAgIE1UNjM1OV9BVURJT19UT1BfQ09OMCwNCisJCQkg ICAgICBQRE5fQUZFX0NUTF9TRlQsIDEsDQorCQkJICAgICAgbXRfZGVsYXlfMjUwX2V2ZW50LA0K KwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BNVSB8IFNORF9TT0NfREFQTV9QUkVfUE1EKSwN CisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJT19UT1BfREFDX0NUTCIsIFNVUFBMWV9TRVFf QVVEX1RPUCwNCisJCQkgICAgICBNVDYzNTlfQVVESU9fVE9QX0NPTjAsDQorCQkJICAgICAgUERO X0RBQ19DVExfU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJ T19UT1BfQURDX0NUTCIsIFNVUFBMWV9TRVFfQVVEX1RPUCwNCisJCQkgICAgICBNVDYzNTlfQVVE SU9fVE9QX0NPTjAsDQorCQkJICAgICAgUEROX0FEQ19DVExfU0ZULCAxLCBOVUxMLCAwKSwNCisJ U05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBVURJT19UT1BfQUREQTZfQURDX0NUTCIsIFNVUFBMWV9T RVFfQVVEX1RPUCwNCisJCQkgICAgICBNVDYzNTlfQVVESU9fVE9QX0NPTjAsDQorCQkJICAgICAg UEROX0FEREE2X0FEQ19DVExfU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBM WV9TKCJBVURJT19UT1BfSTJTX0RMIiwgU1VQUExZX1NFUV9BVURfVE9QLA0KKwkJCSAgICAgIE1U NjM1OV9BVURJT19UT1BfQ09OMCwNCisJCQkgICAgICBQRE5fSTJTX0RMX0NUTF9TRlQsIDEsIE5V TEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkFVRElPX1RPUF9QV1JfQ0xLIiwgU1VQ UExZX1NFUV9BVURfVE9QLA0KKwkJCSAgICAgIE1UNjM1OV9BVURJT19UT1BfQ09OMCwNCisJCQkg ICAgICBQV1JfQ0xLX0RJU19DVExfU0ZULCAxLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1NV UFBMWV9TKCJBVURJT19UT1BfUEROX0FGRV9URVNUTU9ERUwiLCBTVVBQTFlfU0VRX0FVRF9UT1As DQorCQkJICAgICAgTVQ2MzU5X0FVRElPX1RPUF9DT04wLA0KKwkJCSAgICAgIFBETl9BRkVfVEVT VE1PREVMX0NUTF9TRlQsIDEsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkFV RElPX1RPUF9QRE5fUkVTRVJWRUQiLCBTVVBQTFlfU0VRX0FVRF9UT1AsDQorCQkJICAgICAgTVQ2 MzU5X0FVRElPX1RPUF9DT04wLA0KKwkJCSAgICAgIFBETl9SRVNFUlZFRF9TRlQsIDEsIE5VTEws IDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlNETSIsIFNVUFBMWV9TRVFfRExfU0RN LA0KKwkJCSAgICAgIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgICAgICBtdF9zZG1fZXZlbnQs DQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09DX0RBUE1fUE9TVF9QTUQp LA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlNETV8zUkQiLCBTVVBQTFlfU0VRX0RMX1NETSwN CisJCQkgICAgICBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgICAgbXRfc2RtXzNyZF9ldmVu dCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BN RCksDQorDQorCS8qIGNoMTIzIHNoYXJlIFNETSBGSUZPIENMSyAqLw0KKwlTTkRfU09DX0RBUE1f U1VQUExZX1MoIlNETV9GSUZPX0NMSyIsIFNVUFBMWV9TRVFfRExfU0RNX0ZJRk9fQ0xLLA0KKwkJ CSAgICAgIE1UNjM1OV9BRlVOQ19BVURfQ09OMiwNCisJCQkgICAgICBDQ0lfQUZJRk9fQ0xLX1BX REJfU0ZULCAwLA0KKwkJCSAgICAgIE5VTEwsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZ X1MoIk5DUCIsIFNVUFBMWV9TRVFfRExfTkNQLA0KKwkJCSAgICAgIE1UNjM1OV9BRkVfTkNQX0NG RzAsDQorCQkJICAgICAgUkdfTkNQX09OX1NGVCwgMCwNCisJCQkgICAgICBtdF9uY3BfZXZlbnQs DQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUpLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQ UExZKCJETCBEaWdpdGFsIENsb2NrIiwgU05EX1NPQ19OT1BNLA0KKwkJCSAgICAwLCAwLCBOVUxM LCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiREwgRGlnaXRhbCBDbG9jayBDSF8xXzIiLCBT TkRfU09DX05PUE0sDQorCQkJICAgIDAsIDAsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fU1VQ UExZKCJETCBEaWdpdGFsIENsb2NrIENIXzMiLCBTTkRfU09DX05PUE0sDQorCQkJICAgIDAsIDAs IE5VTEwsIDApLA0KKw0KKwkvKiBBRkUgT04gKi8NCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJB RkVfT04iLCBTVVBQTFlfU0VRX0FGRSwNCisJCQkgICAgICBNVDYzNTlfQUZFX1VMX0RMX0NPTjAs IEFGRV9PTl9TRlQsIDAsDQorCQkJICAgICAgTlVMTCwgMCksDQorDQorCS8qIEFJRiBSeCovDQor CVNORF9TT0NfREFQTV9BSUZfSU4oIkFJRl9SWCIsICJBSUYxIFBsYXliYWNrIiwgMCwNCisJCQkg ICAgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX0FJRl9JTigiQUlGMl9S WCIsICJBSUYyIFBsYXliYWNrIiwgMCwNCisJCQkgICAgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisN CisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBRkVfRExfU1JDIiwgU1VQUExZX1NFUV9ETF9TUkMs DQorCQkJICAgICAgTVQ2MzU5X0FGRV9ETF9TUkMyX0NPTjBfTCwNCisJCQkgICAgICBETF8yX1NS Q19PTl9UTVBfQ1RMX1BSRV9TRlQsIDAsDQorCQkJICAgICAgTlVMTCwgMCksDQorDQorCS8qIERM IFN1cHBseSAqLw0KKwlTTkRfU09DX0RBUE1fU1VQUExZKCJETCBQb3dlciBTdXBwbHkiLCBTTkRf U09DX05PUE0sDQorCQkJICAgIDAsIDAsIE5VTEwsIDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQ UExZX1MoIkVTRF9SRVNJU1QiLCBTVVBQTFlfU0VRX0RMX0VTRF9SRVNJU1QsDQorCQkJICAgICAg U05EX1NPQ19OT1BNLA0KKwkJCSAgICAgIDAsIDAsDQorCQkJICAgICAgbXRfZXNkX3Jlc2lzdF9l dmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NU X1BNRCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiTERPIiwgU1VQUExZX1NFUV9ETF9MRE8s DQorCQkJICAgICAgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTQsDQorCQkJICAgICAgUkdfTENMRE9f REVDX0VOX1ZBMzJfU0ZULCAwLA0KKwkJCSAgICAgIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1f U1VQUExZX1MoIkxET19SRU1PVEUiLCBTVVBQTFlfU0VRX0RMX0xET19SRU1PVEVfU0VOU0UsDQor CQkJICAgICAgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTQsDQorCQkJICAgICAgUkdfTENMRE9fREVD X1JFTU9URV9TRU5TRV9WQTE4X1NGVCwgMCwNCisJCQkgICAgICBOVUxMLCAwKSwNCisJU05EX1NP Q19EQVBNX1NVUFBMWV9TKCJOVl9SRUdVTEFUT1IiLCBTVVBQTFlfU0VRX0RMX05WLA0KKwkJCSAg ICAgIE1UNjM1OV9BVURERUNfQU5BX0NPTjE0LA0KKwkJCSAgICAgIFJHX05WUkVHX0VOX1ZBVURQ MzJfU0ZULCAwLA0KKwkJCSAgICAgIG10X2RlbGF5XzEwMF9ldmVudCwgU05EX1NPQ19EQVBNX1BP U1RfUE1VKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJJQklTVCIsIFNVUFBMWV9TRVFfRExf SUJJU1QsDQorCQkJICAgICAgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTIsDQorCQkJICAgICAgUkdf QVVESUJJQVNQV1JETl9WQVVEUDMyX1NGVCwgMSwNCisJCQkgICAgICBOVUxMLCAwKSwNCisNCisJ LyogREFDICovDQorCVNORF9TT0NfREFQTV9NVVgoIkRBQyBJbiBNdXgiLCBTTkRfU09DX05PUE0s IDAsIDAsICZkYWNfaW5fbXV4X2NvbnRyb2wpLA0KKw0KKwlTTkRfU09DX0RBUE1fREFDKCJEQUNM IiwgTlVMTCwgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX0RBQygiREFD UiIsIE5VTEwsIFNORF9TT0NfTk9QTSwgMCwgMCksDQorDQorCVNORF9TT0NfREFQTV9EQUMoIkRB Q18zUkQiLCBOVUxMLCBTTkRfU09DX05PUE0sIDAsIDApLA0KKw0KKwkvKiBIZWFkcGhvbmUgKi8N CisJU05EX1NPQ19EQVBNX01VWF9FKCJIUCBNdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJ ICAgJmhwX2luX211eF9jb250cm9sLA0KKwkJCSAgIG10X2hwX2V2ZW50LA0KKwkJCSAgIFNORF9T T0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BSRV9QTUQpLA0KKw0KKwlTTkRfU09DX0RB UE1fU1VQUExZKCJIUF9TdXBwbHkiLCBTTkRfU09DX05PUE0sDQorCQkJICAgIDAsIDAsIE5VTEws IDApLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkhQX1BVTExfRE9XTiIsIFNVUFBMWV9TRVFf SFBfUFVMTF9ET1dOLA0KKwkJCSAgICAgIFNORF9TT0NfTk9QTSwNCisJCQkgICAgICAwLCAwLA0K KwkJCSAgICAgIG10X2hwX3B1bGxfZG93bl9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1f UFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorCVNORF9TT0NfREFQTV9TVVBQTFlf UygiSFBfTVVURSIsIFNVUFBMWV9TRVFfSFBfTVVURSwNCisJCQkgICAgICBTTkRfU09DX05PUE0s DQorCQkJICAgICAgMCwgMCwNCisJCQkgICAgICBtdF9ocF9tdXRlX2V2ZW50LA0KKwkJCSAgICAg IFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwNCisJU05EX1NP Q19EQVBNX1NVUFBMWV9TKCJIUF9EQU1QIiwgU1VQUExZX1NFUV9IUF9EQU1QSU5HX09GRl9SRVNF VF9DTUZCLA0KKwkJCSAgICAgIFNORF9TT0NfTk9QTSwNCisJCQkgICAgICAwLCAwLA0KKwkJCSAg ICAgIG10X2hwX2RhbXBfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1EKSwN CisNCisJLyogUmVjZWl2ZXIgKi8NCisJU05EX1NPQ19EQVBNX01VWF9FKCJSQ1YgTXV4IiwgU05E X1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZyY3ZfaW5fbXV4X2NvbnRyb2wsDQorCQkJICAgbXRf cmN2X2V2ZW50LA0KKwkJCSAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwgU05EX1NPQ19EQVBNX1BS RV9QTUQpLA0KKw0KKwkvKiBMT0wgKi8NCisJU05EX1NPQ19EQVBNX01VWF9FKCJMT0wgTXV4Iiwg U05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAgICZsb19pbl9tdXhfY29udHJvbCwNCisJCQkgICBt dF9sb19ldmVudCwNCisJCQkgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9Q UkVfUE1EKSwNCisNCisJLyogT3V0cHV0cyAqLw0KKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJSZWNl aXZlciIpLA0KKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJIZWFkcGhvbmUgTCIpLA0KKwlTTkRfU09D X0RBUE1fT1VUUFVUKCJIZWFkcGhvbmUgUiIpLA0KKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJIZWFk cGhvbmUgTCBFeHQgU3BrIEFtcCIpLA0KKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJIZWFkcGhvbmUg UiBFeHQgU3BrIEFtcCIpLA0KKwlTTkRfU09DX0RBUE1fT1VUUFVUKCJMSU5FT1VUIEwiKSwNCisN CisJLyogU0dFTiAqLw0KKwlTTkRfU09DX0RBUE1fU1VQUExZKCJTR0VOIERMIEVuYWJsZSIsIE1U NjM1OV9BRkVfU0dFTl9DRkcwLA0KKwkJCSAgICBTR0VOX0RBQ19FTl9DVExfU0ZULCAwLCBOVUxM LCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWSgiU0dFTiBNVVRFIiwgTVQ2MzU5X0FGRV9TR0VO X0NGRzAsDQorCQkJICAgIFNHRU5fTVVURV9TV19DVExfU0ZULCAxLA0KKwkJCSAgICBtdF9zZ2Vu X2V2ZW50LA0KKwkJCSAgICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NU X1BNRCksDQorCVNORF9TT0NfREFQTV9TVVBQTFkoIlNHRU4gREwgU1JDIiwgTVQ2MzU5X0FGRV9E TF9TUkMyX0NPTjBfTCwNCisJCQkgICAgRExfMl9TUkNfT05fVE1QX0NUTF9QUkVfU0ZULCAwLCBO VUxMLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX0lOUFVUKCJTR0VOIERMIiksDQorDQorCS8qIFVw bGlua3MgKi8NCisJU05EX1NPQ19EQVBNX0FJRl9PVVQoIkFJRjFUWCIsICJBSUYxIENhcHR1cmUi LCAwLA0KKwkJCSAgICAgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisJU05EX1NPQ19EQVBNX0FJRl9P VVQoIkFJRjJUWCIsICJBSUYyIENhcHR1cmUiLCAwLA0KKwkJCSAgICAgU05EX1NPQ19OT1BNLCAw LCAwKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJBRENfQ0xLR0VOIiwgU1VQUExZX1NF UV9BRENfQ0xLR0VOLA0KKwkJCSAgICAgIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgICAgICBt dF9hZGNfY2xrX2dlbl9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9QTVUgfCBT TkRfU09DX0RBUE1fUFJFX1BNRCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiRENDX0NM SyIsIFNVUFBMWV9TRVFfRENDX0NMSywNCisJCQkgICAgICBTTkRfU09DX05PUE0sIDAsIDAsDQor CQkJICAgICAgbXRfZGNjX2Nsa19ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUFJFX1BN VSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorDQorCS8qIFVwbGlua3MgTVVYICovDQorCVNO RF9TT0NfREFQTV9NVVgoIkFJRiBPdXQgTXV4IiwgU05EX1NPQ19OT1BNLCAwLCAwLA0KKwkJCSAm YWlmX291dF9tdXhfY29udHJvbCksDQorDQorCVNORF9TT0NfREFQTV9NVVgoIkFJRjIgT3V0IE11 eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgJmFpZjJfb3V0X211eF9jb250cm9sKSwNCisN CisJU05EX1NPQ19EQVBNX1NVUFBMWSgiQUlGVFhfU3VwcGx5IiwgU05EX1NPQ19OT1BNLCAwLCAw LCBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJNVEtBSUZfVFgiLCBTVVBQ TFlfU0VRX1VMX01US0FJRiwNCisJCQkgICAgICBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAg ICAgbXRfbXRrYWlmX3R4X2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwg U05EX1NPQ19EQVBNX1BPU1RfUE1EKSwNCisNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJVTF9T UkMiLCBTVVBQTFlfU0VRX1VMX1NSQywNCisJCQkgICAgICBNVDYzNTlfQUZFX1VMX1NSQ19DT04w X0wsDQorCQkJICAgICAgVUxfU1JDX09OX1RNUF9DVExfU0ZULCAwLA0KKwkJCSAgICAgIE5VTEws IDApLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlVMX1NSQ19ETUlDIiwgU1VQUExZX1NF UV9VTF9TUkNfRE1JQywNCisJCQkgICAgICBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgICAg bXRfdWxfc3JjX2RtaWNfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBT TkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKw0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIlVMX1NS Q18zNCIsIFNVUFBMWV9TRVFfVUxfU1JDLA0KKwkJCSAgICAgIE1UNjM1OV9BRkVfQUREQTZfVUxf U1JDX0NPTjBfTCwNCisJCQkgICAgICBBRERBNl9VTF9TUkNfT05fVE1QX0NUTF9TRlQsIDAsDQor CQkJICAgICAgTlVMTCwgMCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiVUxfU1JDXzM0 X0RNSUMiLCBTVVBQTFlfU0VRX1VMX1NSQ19ETUlDLA0KKwkJCSAgICAgIFNORF9TT0NfTk9QTSwg MCwgMCwNCisJCQkgICAgICBtdF91bF9zcmNfMzRfZG1pY19ldmVudCwNCisJCQkgICAgICBTTkRf U09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorDQorCVNORF9TT0Nf REFQTV9NVVgoIk1JU08wX01VWCIsIFNORF9TT0NfTk9QTSwgMCwgMCwgJm1pc28wX211eF9jb250 cm9sKSwNCisJU05EX1NPQ19EQVBNX01VWCgiTUlTTzFfTVVYIiwgU05EX1NPQ19OT1BNLCAwLCAw LCAmbWlzbzFfbXV4X2NvbnRyb2wpLA0KKwlTTkRfU09DX0RBUE1fTVVYKCJNSVNPMl9NVVgiLCBT TkRfU09DX05PUE0sIDAsIDAsICZtaXNvMl9tdXhfY29udHJvbCksDQorDQorCVNORF9TT0NfREFQ TV9NVVgoIlVMX1NSQ19NVVgiLCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICZ1bF9zcmNfbXV4 X2NvbnRyb2wpLA0KKwlTTkRfU09DX0RBUE1fTVVYKCJVTDJfU1JDX01VWCIsIFNORF9TT0NfTk9Q TSwgMCwgMCwNCisJCQkgJnVsMl9zcmNfbXV4X2NvbnRyb2wpLA0KKw0KKwlTTkRfU09DX0RBUE1f TVVYKCJETUlDMF9NVVgiLCBTTkRfU09DX05PUE0sIDAsIDAsICZkbWljMF9tdXhfY29udHJvbCks DQorCVNORF9TT0NfREFQTV9NVVgoIkRNSUMxX01VWCIsIFNORF9TT0NfTk9QTSwgMCwgMCwgJmRt aWMxX211eF9jb250cm9sKSwNCisJU05EX1NPQ19EQVBNX01VWCgiRE1JQzJfTVVYIiwgU05EX1NP Q19OT1BNLCAwLCAwLCAmZG1pYzJfbXV4X2NvbnRyb2wpLA0KKw0KKwlTTkRfU09DX0RBUE1fTVVY X0UoIkFEQ19MX011eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgICAmYWRjX2xlZnRfbXV4 X2NvbnRyb2wsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fTVVYX0UoIkFEQ19SX011eCIsIFNO RF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgICAmYWRjX3JpZ2h0X211eF9jb250cm9sLCBOVUxMLCAw KSwNCisJU05EX1NPQ19EQVBNX01VWF9FKCJBRENfM19NdXgiLCBTTkRfU09DX05PUE0sIDAsIDAs DQorCQkJICAgJmFkY18zX211eF9jb250cm9sLCBOVUxMLCAwKSwNCisNCisJU05EX1NPQ19EQVBN X0FEQygiQURDX0wiLCBOVUxMLCBTTkRfU09DX05PUE0sIDAsIDApLA0KKwlTTkRfU09DX0RBUE1f QURDKCJBRENfUiIsIE5VTEwsIFNORF9TT0NfTk9QTSwgMCwgMCksDQorCVNORF9TT0NfREFQTV9B REMoIkFEQ18zIiwgTlVMTCwgU05EX1NPQ19OT1BNLCAwLCAwKSwNCisNCisJU05EX1NPQ19EQVBN X1NVUFBMWV9TKCJBRENfTF9FTiIsIFNVUFBMWV9TRVFfVUxfQURDLA0KKwkJCSAgICAgIE1UNjM1 OV9BVURFTkNfQU5BX0NPTjAsDQorCQkJICAgICAgUkdfQVVEQURDTFBXUlVQX1NGVCwgMCwNCisJ CQkgICAgICBtdF9hZGNfbF9ldmVudCwNCisJCQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9QTVUp LA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1MoIkFEQ19SX0VOIiwgU1VQUExZX1NFUV9VTF9BREMs DQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMSwNCisJCQkgICAgICBSR19BVURBRENS UFdSVVBfU0ZULCAwLA0KKwkJCSAgICAgIG10X2FkY19yX2V2ZW50LA0KKwkJCSAgICAgIFNORF9T T0NfREFQTV9QT1NUX1BNVSksDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygiQURDXzNfRU4iLCBT VVBQTFlfU0VRX1VMX0FEQywNCisJCQkgICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04yLA0KKwkJ CSAgICAgIFJHX0FVREFEQzNQV1JVUF9TRlQsIDAsDQorCQkJICAgICAgbXRfYWRjXzNfZXZlbnQs DQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1VKSwNCisNCisJU05EX1NPQ19EQVBNX01V WF9FKCJQR0FfTF9NdXgiLCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQkJICAgJnBnYV9sZWZ0X211 eF9jb250cm9sLA0KKwkJCSAgIG10X3BnYV9sX211eF9ldmVudCwNCisJCQkgICBTTkRfU09DX0RB UE1fV0lMTF9QTVUpLA0KKwlTTkRfU09DX0RBUE1fTVVYX0UoIlBHQV9SX011eCIsIFNORF9TT0Nf Tk9QTSwgMCwgMCwNCisJCQkgICAmcGdhX3JpZ2h0X211eF9jb250cm9sLA0KKwkJCSAgIG10X3Bn YV9yX211eF9ldmVudCwNCisJCQkgICBTTkRfU09DX0RBUE1fV0lMTF9QTVUpLA0KKwlTTkRfU09D X0RBUE1fTVVYX0UoIlBHQV8zX011eCIsIFNORF9TT0NfTk9QTSwgMCwgMCwNCisJCQkgICAmcGdh XzNfbXV4X2NvbnRyb2wsDQorCQkJICAgbXRfcGdhXzNfbXV4X2V2ZW50LA0KKwkJCSAgIFNORF9T T0NfREFQTV9XSUxMX1BNVSksDQorDQorCVNORF9TT0NfREFQTV9QR0EoIlBHQV9MIiwgU05EX1NP Q19OT1BNLCAwLCAwLCBOVUxMLCAwKSwNCisJU05EX1NPQ19EQVBNX1BHQSgiUEdBX1IiLCBTTkRf U09DX05PUE0sIDAsIDAsIE5VTEwsIDApLA0KKwlTTkRfU09DX0RBUE1fUEdBKCJQR0FfMyIsIFNO RF9TT0NfTk9QTSwgMCwgMCwgTlVMTCwgMCksDQorDQorCVNORF9TT0NfREFQTV9TVVBQTFlfUygi UEdBX0xfRU4iLCBTVVBQTFlfU0VRX1VMX1BHQSwNCisJCQkgICAgICBNVDYzNTlfQVVERU5DX0FO QV9DT04wLA0KKwkJCSAgICAgIFJHX0FVRFBSRUFNUExPTl9TRlQsIDAsDQorCQkJICAgICAgbXRf cGdhX2xfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfA0KKwkJCSAgICAg IFNORF9TT0NfREFQTV9QT1NUX1BNVSB8DQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1E KSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJQR0FfUl9FTiIsIFNVUFBMWV9TRVFfVUxfUEdB LA0KKwkJCSAgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsDQorCQkJICAgICAgUkdfQVVEUFJF QU1QUk9OX1NGVCwgMCwNCisJCQkgICAgICBtdF9wZ2Ffcl9ldmVudCwNCisJCQkgICAgICBTTkRf U09DX0RBUE1fUFJFX1BNVSB8DQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BPU1RfUE1VIHwNCisJ CQkgICAgICBTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKwlTTkRfU09DX0RBUE1fU1VQUExZX1Mo IlBHQV8zX0VOIiwgU1VQUExZX1NFUV9VTF9QR0EsDQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19B TkFfQ09OMiwNCisJCQkgICAgICBSR19BVURQUkVBTVAzT05fU0ZULCAwLA0KKwkJCSAgICAgIG10 X3BnYV8zX2V2ZW50LA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QUkVfUE1VIHwNCisJCQkgICAg ICBTTkRfU09DX0RBUE1fUE9TVF9QTVUgfA0KKwkJCSAgICAgIFNORF9TT0NfREFQTV9QT1NUX1BN RCksDQorDQorCS8qIFVMIGlucHV0ICovDQorCVNORF9TT0NfREFQTV9JTlBVVCgiQUlOMCIpLA0K KwlTTkRfU09DX0RBUE1fSU5QVVQoIkFJTjEiKSwNCisJU05EX1NPQ19EQVBNX0lOUFVUKCJBSU4y IiksDQorCVNORF9TT0NfREFQTV9JTlBVVCgiQUlOMyIpLA0KKw0KKwlTTkRfU09DX0RBUE1fSU5Q VVQoIkFJTjBfRE1JQyIpLA0KKwlTTkRfU09DX0RBUE1fSU5QVVQoIkFJTjJfRE1JQyIpLA0KKwlT TkRfU09DX0RBUE1fSU5QVVQoIkFJTjNfRE1JQyIpLA0KKw0KKwkvKiBtaWMgYmlhcyAqLw0KKwlT TkRfU09DX0RBUE1fU1VQUExZX1MoIk1JQ19CSUFTXzAiLCBTVVBQTFlfU0VRX01JQ19CSUFTLA0K KwkJCSAgICAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE1LA0KKwkJCSAgICAgIFJHX0FVRFBXREJN SUNCSUFTMF9TRlQsIDAsDQorCQkJICAgICAgbXRfbWljX2JpYXNfMF9ldmVudCwNCisJCQkgICAg ICBTTkRfU09DX0RBUE1fUFJFX1BNVSB8IFNORF9TT0NfREFQTV9QT1NUX1BNRCksDQorCVNORF9T T0NfREFQTV9TVVBQTFlfUygiTUlDX0JJQVNfMSIsIFNVUFBMWV9TRVFfTUlDX0JJQVMsDQorCQkJ ICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTYsDQorCQkJICAgICAgUkdfQVVEUFdEQk1JQ0JJ QVMxX1NGVCwgMCwNCisJCQkgICAgICBtdF9taWNfYmlhc18xX2V2ZW50LA0KKwkJCSAgICAgIFNO RF9TT0NfREFQTV9QUkVfUE1VKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJNSUNfQklBU18y IiwgU1VQUExZX1NFUV9NSUNfQklBUywNCisJCQkgICAgICBNVDYzNTlfQVVERU5DX0FOQV9DT04x NywNCisJCQkgICAgICBSR19BVURQV0RCTUlDQklBUzJfU0ZULCAwLA0KKwkJCSAgICAgIG10X21p Y19iaWFzXzJfZXZlbnQsDQorCQkJICAgICAgU05EX1NPQ19EQVBNX1BSRV9QTVUgfCBTTkRfU09D X0RBUE1fUE9TVF9QTUQpLA0KKw0KKwkvKiBkbWljICovDQorCVNORF9TT0NfREFQTV9TVVBQTFlf UygiRE1JQ18wIiwgU1VQUExZX1NFUV9ETUlDLA0KKwkJCSAgICAgIE1UNjM1OV9BVURFTkNfQU5B X0NPTjEzLA0KKwkJCSAgICAgIFJHX0FVRERJR01JQ0VOX1NGVCwgMCwNCisJCQkgICAgICBOVUxM LCAwKSwNCisJU05EX1NPQ19EQVBNX1NVUFBMWV9TKCJETUlDXzEiLCBTVVBQTFlfU0VRX0RNSUMs DQorCQkJICAgICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTQsDQorCQkJICAgICAgUkdfQVVERElH TUlDMUVOX1NGVCwgMCwNCisJCQkgICAgICBOVUxMLCAwKSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQg bXRfZGNjX2Nsa19jb25uZWN0KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0ICpzb3VyY2UsDQor CQkJICAgICAgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgKnNpbmspDQorew0KKwlzdHJ1Y3Qg c25kX3NvY19kYXBtX3dpZGdldCAqdyA9IHNpbms7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVu dCAqY21wbnQgPSBzbmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3Qg bXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7 DQorDQorCWlmIChJU19EQ0NfQkFTRShwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8wXSkg fHwNCisJICAgIElTX0RDQ19CQVNFKHByaXYtPm11eF9zZWxlY3RbTVVYX01JQ19UWVBFXzFdKSB8 fA0KKwkgICAgSVNfRENDX0JBU0UocHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMl0pKQ0K KwkJcmV0dXJuIDE7DQorCWVsc2UNCisJCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgY29uc3Qg c3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBtdDYzNTlfZGFwbV9yb3V0ZXNbXSA9IHsNCisJLyog Q2FwdHVyZSAqLw0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJDTEtfQlVGIn0sDQorCXsiQUlG VFhfU3VwcGx5IiwgTlVMTCwgIkxET19WQVVEMTgifSwNCisJeyJBSUZUWF9TdXBwbHkiLCBOVUxM LCAiQVVER0xCIn0sDQorCXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkNMS1NRIEF1ZGlvIn0sDQor CXsiQUlGVFhfU3VwcGx5IiwgTlVMTCwgIkFVRF9DSyJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5V TEwsICJBVURJRl9DSyJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJBVURJT19UT1BfQUZF X0NUTCJ9LA0KKwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJBVURJT19UT1BfUFdSX0NMSyJ9LA0K Kwl7IkFJRlRYX1N1cHBseSIsIE5VTEwsICJBVURJT19UT1BfUEROX1JFU0VSVkVEIn0sDQorCXsi QUlGVFhfU3VwcGx5IiwgTlVMTCwgIkFVRElPX1RPUF9JMlNfREwifSwNCisJLyoNCisJICogKl9B RENfQ1RMIHNob3VsZCBlbmFibGUgb25seSBpZiBVTF9TUkMgaW4gdXNlLA0KKwkgKiBidXQgZG0g Y2sgbWF5IGJlIG5lZWRlZCBldmVuIFVMX1NSQ194IG5vdCBpbiB1c2UNCisJICovDQorCXsiQUlG VFhfU3VwcGx5IiwgTlVMTCwgIkFVRElPX1RPUF9BRENfQ1RMIn0sDQorCXsiQUlGVFhfU3VwcGx5 IiwgTlVMTCwgIkFVRElPX1RPUF9BRERBNl9BRENfQ1RMIn0sDQorCXsiQUlGVFhfU3VwcGx5Iiwg TlVMTCwgIkFGRV9PTiJ9LA0KKw0KKwkvKiB1bCBjaCAxMiAqLw0KKwl7IkFJRjFUWCIsIE5VTEws ICJBSUYgT3V0IE11eCJ9LA0KKwl7IkFJRjFUWCIsIE5VTEwsICJBSUZUWF9TdXBwbHkifSwNCisJ eyJBSUYxVFgiLCBOVUxMLCAiTVRLQUlGX1RYIn0sDQorDQorCXsiQUlGMlRYIiwgTlVMTCwgIkFJ RjIgT3V0IE11eCJ9LA0KKwl7IkFJRjJUWCIsIE5VTEwsICJBSUZUWF9TdXBwbHkifSwNCisJeyJB SUYyVFgiLCBOVUxMLCAiTVRLQUlGX1RYIn0sDQorDQorCXsiQUlGIE91dCBNdXgiLCAiTm9ybWFs IFBhdGgiLCAiTUlTTzBfTVVYIn0sDQorCXsiQUlGIE91dCBNdXgiLCAiTm9ybWFsIFBhdGgiLCAi TUlTTzFfTVVYIn0sDQorCXsiQUlGMiBPdXQgTXV4IiwgIk5vcm1hbCBQYXRoIiwgIk1JU08yX01V WCJ9LA0KKw0KKwl7Ik1JU08wX01VWCIsICJVTDFfQ0gxIiwgIlVMX1NSQ19NVVgifSwNCisJeyJN SVNPMF9NVVgiLCAiVUwxX0NIMiIsICJVTF9TUkNfTVVYIn0sDQorCXsiTUlTTzBfTVVYIiwgIlVM Ml9DSDEiLCAiVUwyX1NSQ19NVVgifSwNCisJeyJNSVNPMF9NVVgiLCAiVUwyX0NIMiIsICJVTDJf U1JDX01VWCJ9LA0KKw0KKwl7Ik1JU08xX01VWCIsICJVTDFfQ0gxIiwgIlVMX1NSQ19NVVgifSwN CisJeyJNSVNPMV9NVVgiLCAiVUwxX0NIMiIsICJVTF9TUkNfTVVYIn0sDQorCXsiTUlTTzFfTVVY IiwgIlVMMl9DSDEiLCAiVUwyX1NSQ19NVVgifSwNCisJeyJNSVNPMV9NVVgiLCAiVUwyX0NIMiIs ICJVTDJfU1JDX01VWCJ9LA0KKw0KKwl7Ik1JU08yX01VWCIsICJVTDFfQ0gxIiwgIlVMX1NSQ19N VVgifSwNCisJeyJNSVNPMl9NVVgiLCAiVUwxX0NIMiIsICJVTF9TUkNfTVVYIn0sDQorCXsiTUlT TzJfTVVYIiwgIlVMMl9DSDEiLCAiVUwyX1NSQ19NVVgifSwNCisJeyJNSVNPMl9NVVgiLCAiVUwy X0NIMiIsICJVTDJfU1JDX01VWCJ9LA0KKw0KKwl7IlVMX1NSQ19NVVgiLCAiQU1JQyIsICJBRENf TCJ9LA0KKwl7IlVMX1NSQ19NVVgiLCAiQU1JQyIsICJBRENfUiJ9LA0KKwl7IlVMX1NSQ19NVVgi LCAiRE1JQyIsICJETUlDMF9NVVgifSwNCisJeyJVTF9TUkNfTVVYIiwgIkRNSUMiLCAiRE1JQzFf TVVYIn0sDQorCXsiVUxfU1JDX01VWCIsIE5VTEwsICJVTF9TUkMifSwNCisNCisJeyJVTDJfU1JD X01VWCIsICJBTUlDIiwgIkFEQ18zIn0sDQorCXsiVUwyX1NSQ19NVVgiLCAiRE1JQyIsICJETUlD Ml9NVVgifSwNCisJeyJVTDJfU1JDX01VWCIsIE5VTEwsICJVTF9TUkNfMzQifSwNCisNCisJeyJE TUlDMF9NVVgiLCAiRE1JQ19EQVRBMCIsICJBSU4wX0RNSUMifSwNCisJeyJETUlDMF9NVVgiLCAi RE1JQ19EQVRBMV9MIiwgIkFJTjJfRE1JQyJ9LA0KKwl7IkRNSUMwX01VWCIsICJETUlDX0RBVEEx X0xfMSIsICJBSU4yX0RNSUMifSwNCisJeyJETUlDMF9NVVgiLCAiRE1JQ19EQVRBMV9SIiwgIkFJ TjNfRE1JQyJ9LA0KKwl7IkRNSUMxX01VWCIsICJETUlDX0RBVEEwIiwgIkFJTjBfRE1JQyJ9LA0K Kwl7IkRNSUMxX01VWCIsICJETUlDX0RBVEExX0wiLCAiQUlOMl9ETUlDIn0sDQorCXsiRE1JQzFf TVVYIiwgIkRNSUNfREFUQTFfTF8xIiwgIkFJTjJfRE1JQyJ9LA0KKwl7IkRNSUMxX01VWCIsICJE TUlDX0RBVEExX1IiLCAiQUlOM19ETUlDIn0sDQorCXsiRE1JQzJfTVVYIiwgIkRNSUNfREFUQTAi LCAiQUlOMF9ETUlDIn0sDQorCXsiRE1JQzJfTVVYIiwgIkRNSUNfREFUQTFfTCIsICJBSU4yX0RN SUMifSwNCisJeyJETUlDMl9NVVgiLCAiRE1JQ19EQVRBMV9MXzEiLCAiQUlOMl9ETUlDIn0sDQor CXsiRE1JQzJfTVVYIiwgIkRNSUNfREFUQTFfUiIsICJBSU4zX0RNSUMifSwNCisNCisJeyJETUlD MF9NVVgiLCBOVUxMLCAiVUxfU1JDX0RNSUMifSwNCisJeyJETUlDMV9NVVgiLCBOVUxMLCAiVUxf U1JDX0RNSUMifSwNCisJeyJETUlDMl9NVVgiLCBOVUxMLCAiVUxfU1JDXzM0X0RNSUMifSwNCisN CisJeyJBSU4wX0RNSUMiLCBOVUxMLCAiRE1JQ18wIn0sDQorCXsiQUlOMl9ETUlDIiwgTlVMTCwg IkRNSUNfMSJ9LA0KKwl7IkFJTjNfRE1JQyIsIE5VTEwsICJETUlDXzEifSwNCisJeyJBSU4wX0RN SUMiLCBOVUxMLCAiTUlDX0JJQVNfMCJ9LA0KKwl7IkFJTjJfRE1JQyIsIE5VTEwsICJNSUNfQklB U18yIn0sDQorCXsiQUlOM19ETUlDIiwgTlVMTCwgIk1JQ19CSUFTXzIifSwNCisNCisJLyogYWRj ICovDQorCXsiQURDX0wiLCBOVUxMLCAiQURDX0xfTXV4In0sDQorCXsiQURDX0wiLCBOVUxMLCAi QURDX0NMS0dFTiJ9LA0KKwl7IkFEQ19MIiwgTlVMTCwgIkFEQ19MX0VOIn0sDQorCXsiQURDX1Ii LCBOVUxMLCAiQURDX1JfTXV4In0sDQorCXsiQURDX1IiLCBOVUxMLCAiQURDX0NMS0dFTiJ9LA0K Kwl7IkFEQ19SIiwgTlVMTCwgIkFEQ19SX0VOIn0sDQorCS8qDQorCSAqIGFtaWMgZmlmbyBjaDEv MiBjbGsgZnJvbSBBRENfTCwNCisJICogZW5hYmxlIEFEQ19MIGV2ZW4gdXNlIEFEQ19SIG9ubHkN CisJICovDQorCXsiQURDX1IiLCBOVUxMLCAiQURDX0xfRU4ifSwNCisJeyJBRENfMyIsIE5VTEws ICJBRENfM19NdXgifSwNCisJeyJBRENfMyIsIE5VTEwsICJBRENfQ0xLR0VOIn0sDQorCXsiQURD XzMiLCBOVUxMLCAiQURDXzNfRU4ifSwNCisNCisJeyJBRENfTF9NdXgiLCAiTGVmdCBQcmVhbXBs aWZpZXIiLCAiUEdBX0wifSwNCisJeyJBRENfUl9NdXgiLCAiUmlnaHQgUHJlYW1wbGlmaWVyIiwg IlBHQV9SIn0sDQorCXsiQURDXzNfTXV4IiwgIlByZWFtcGxpZmllciIsICJQR0FfMyJ9LA0KKw0K Kwl7IlBHQV9MIiwgTlVMTCwgIlBHQV9MX011eCJ9LA0KKwl7IlBHQV9MIiwgTlVMTCwgIlBHQV9M X0VOIn0sDQorCXsiUEdBX1IiLCBOVUxMLCAiUEdBX1JfTXV4In0sDQorCXsiUEdBX1IiLCBOVUxM LCAiUEdBX1JfRU4ifSwNCisJeyJQR0FfMyIsIE5VTEwsICJQR0FfM19NdXgifSwNCisJeyJQR0Ff MyIsIE5VTEwsICJQR0FfM19FTiJ9LA0KKw0KKwl7IlBHQV9MIiwgTlVMTCwgIkRDQ19DTEsiLCBt dF9kY2NfY2xrX2Nvbm5lY3R9LA0KKwl7IlBHQV9SIiwgTlVMTCwgIkRDQ19DTEsiLCBtdF9kY2Nf Y2xrX2Nvbm5lY3R9LA0KKwl7IlBHQV8zIiwgTlVMTCwgIkRDQ19DTEsiLCBtdF9kY2NfY2xrX2Nv bm5lY3R9LA0KKw0KKwl7IlBHQV9MX011eCIsICJBSU4wIiwgIkFJTjAifSwNCisJeyJQR0FfTF9N dXgiLCAiQUlOMSIsICJBSU4xIn0sDQorDQorCXsiUEdBX1JfTXV4IiwgIkFJTjAiLCAiQUlOMCJ9 LA0KKwl7IlBHQV9SX011eCIsICJBSU4yIiwgIkFJTjIifSwNCisJeyJQR0FfUl9NdXgiLCAiQUlO MyIsICJBSU4zIn0sDQorDQorCXsiUEdBXzNfTXV4IiwgIkFJTjIiLCAiQUlOMiJ9LA0KKwl7IlBH QV8zX011eCIsICJBSU4zIiwgIkFJTjMifSwNCisNCisJeyJBSU4wIiwgTlVMTCwgIk1JQ19CSUFT XzAifSwNCisJeyJBSU4xIiwgTlVMTCwgIk1JQ19CSUFTXzEifSwNCisJeyJBSU4yIiwgTlVMTCwg Ik1JQ19CSUFTXzAifSwNCisJeyJBSU4yIiwgTlVMTCwgIk1JQ19CSUFTXzIifSwNCisJeyJBSU4z IiwgTlVMTCwgIk1JQ19CSUFTXzIifSwNCisNCisJLyogREwgU3VwcGx5ICovDQorCXsiREwgUG93 ZXIgU3VwcGx5IiwgTlVMTCwgIkNMS19CVUYifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxM LCAiTERPX1ZBVUQxOCJ9LA0KKwl7IkRMIFBvd2VyIFN1cHBseSIsIE5VTEwsICJBVURHTEIifSwN CisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiQ0xLU1EgQXVkaW8ifSwNCisJeyJETCBQb3dl ciBTdXBwbHkiLCBOVUxMLCAiQVVETkNQX0NLIn0sDQorCXsiREwgUG93ZXIgU3VwcGx5IiwgTlVM TCwgIlpDRDEzTV9DSyJ9LA0KKwl7IkRMIFBvd2VyIFN1cHBseSIsIE5VTEwsICJBVURfQ0sifSwN CisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiQVVESUZfQ0sifSwNCisJeyJETCBQb3dlciBT dXBwbHkiLCBOVUxMLCAiRVNEX1JFU0lTVCJ9LA0KKwl7IkRMIFBvd2VyIFN1cHBseSIsIE5VTEws ICJMRE8ifSwNCisJeyJETCBQb3dlciBTdXBwbHkiLCBOVUxMLCAiTERPX1JFTU9URSJ9LA0KKwl7 IkRMIFBvd2VyIFN1cHBseSIsIE5VTEwsICJOVl9SRUdVTEFUT1IifSwNCisJeyJETCBQb3dlciBT dXBwbHkiLCBOVUxMLCAiSUJJU1QifSwNCisNCisJLyogREwgRGlnaXRhbCBTdXBwbHkgKi8NCisJ eyJETCBEaWdpdGFsIENsb2NrIiwgTlVMTCwgIkFVRElPX1RPUF9BRkVfQ1RMIn0sDQorCXsiREwg RGlnaXRhbCBDbG9jayIsIE5VTEwsICJBVURJT19UT1BfREFDX0NUTCJ9LA0KKwl7IkRMIERpZ2l0 YWwgQ2xvY2siLCBOVUxMLCAiQVVESU9fVE9QX1BXUl9DTEsifSwNCisJeyJETCBEaWdpdGFsIENs b2NrIiwgTlVMTCwgIkFVRElPX1RPUF9QRE5fUkVTRVJWRUQifSwNCisJeyJETCBEaWdpdGFsIENs b2NrIiwgTlVMTCwgIlNETV9GSUZPX0NMSyJ9LA0KKwl7IkRMIERpZ2l0YWwgQ2xvY2siLCBOVUxM LCAiTkNQIn0sDQorCXsiREwgRGlnaXRhbCBDbG9jayIsIE5VTEwsICJBRkVfT04ifSwNCisJeyJE TCBEaWdpdGFsIENsb2NrIiwgTlVMTCwgIkFGRV9ETF9TUkMifSwNCisNCisJeyJETCBEaWdpdGFs IENsb2NrIENIXzFfMiIsIE5VTEwsICJETCBEaWdpdGFsIENsb2NrIn0sDQorCXsiREwgRGlnaXRh bCBDbG9jayBDSF8xXzIiLCBOVUxMLCAiU0RNIn0sDQorDQorCXsiREwgRGlnaXRhbCBDbG9jayBD SF8zIiwgTlVMTCwgIkRMIERpZ2l0YWwgQ2xvY2sifSwNCisJeyJETCBEaWdpdGFsIENsb2NrIENI XzMiLCBOVUxMLCAiU0RNXzNSRCJ9LA0KKw0KKwl7IkFJRl9SWCIsIE5VTEwsICJETCBEaWdpdGFs IENsb2NrIENIXzFfMiJ9LA0KKw0KKwl7IkFJRjJfUlgiLCBOVUxMLCAiREwgRGlnaXRhbCBDbG9j ayBDSF8zIn0sDQorDQorCS8qIERMIFBhdGggKi8NCisJeyJEQUMgSW4gTXV4IiwgIk5vcm1hbCBQ YXRoIiwgIkFJRl9SWCJ9LA0KKwl7IkRBQyBJbiBNdXgiLCAiU2dlbiIsICJTR0VOIERMIn0sDQor CXsiU0dFTiBETCIsIE5VTEwsICJTR0VOIERMIFNSQyJ9LA0KKwl7IlNHRU4gREwiLCBOVUxMLCAi U0dFTiBNVVRFIn0sDQorCXsiU0dFTiBETCIsIE5VTEwsICJTR0VOIERMIEVuYWJsZSJ9LA0KKwl7 IlNHRU4gREwiLCBOVUxMLCAiREwgRGlnaXRhbCBDbG9jayBDSF8xXzIifSwNCisJeyJTR0VOIERM IiwgTlVMTCwgIkRMIERpZ2l0YWwgQ2xvY2sgQ0hfMyJ9LA0KKwl7IlNHRU4gREwiLCBOVUxMLCAi QVVESU9fVE9QX1BETl9BRkVfVEVTVE1PREVMIn0sDQorDQorCXsiREFDTCIsIE5VTEwsICJEQUMg SW4gTXV4In0sDQorCXsiREFDTCIsIE5VTEwsICJETCBQb3dlciBTdXBwbHkifSwNCisNCisJeyJE QUNSIiwgTlVMTCwgIkRBQyBJbiBNdXgifSwNCisJeyJEQUNSIiwgTlVMTCwgIkRMIFBvd2VyIFN1 cHBseSJ9LA0KKw0KKwkvKiBEQUMgM1JEICovDQorCXsiREFDIEluIE11eCIsICJOb3JtYWwgUGF0 aCIsICJBSUYyX1JYIn0sDQorCXsiREFDXzNSRCIsIE5VTEwsICJEQUMgSW4gTXV4In0sDQorCXsi REFDXzNSRCIsIE5VTEwsICJETCBQb3dlciBTdXBwbHkifSwNCisNCisJLyogTGluZW91dCBQYXRo ICovDQorCXsiTE9MIE11eCIsICJQbGF5YmFjayIsICJEQUNfM1JEIn0sDQorCXsiTElORU9VVCBM IiwgTlVMTCwgIkxPTCBNdXgifSwNCisNCisJLyogSGVhZHBob25lIFBhdGggKi8NCisJeyJIUF9T dXBwbHkiLCBOVUxMLCAiSFBfUFVMTF9ET1dOIn0sDQorCXsiSFBfU3VwcGx5IiwgTlVMTCwgIkhQ X01VVEUifSwNCisJeyJIUF9TdXBwbHkiLCBOVUxMLCAiSFBfREFNUCJ9LA0KKwl7IkhQIE11eCIs IE5VTEwsICJIUF9TdXBwbHkifSwNCisNCisJeyJIUCBNdXgiLCAiQXVkaW8gUGxheWJhY2siLCAi REFDTCJ9LA0KKwl7IkhQIE11eCIsICJBdWRpbyBQbGF5YmFjayIsICJEQUNSIn0sDQorCXsiSFAg TXV4IiwgIkhQIEltcGVkYW5jZSIsICJEQUNMIn0sDQorCXsiSFAgTXV4IiwgIkhQIEltcGVkYW5j ZSIsICJEQUNSIn0sDQorCXsiSFAgTXV4IiwgIkxvdWRTUEsgUGxheWJhY2siLCAiREFDTCJ9LA0K Kwl7IkhQIE11eCIsICJMb3VkU1BLIFBsYXliYWNrIiwgIkRBQ1IifSwNCisNCisJeyJIZWFkcGhv bmUgTCIsIE5VTEwsICJIUCBNdXgifSwNCisJeyJIZWFkcGhvbmUgUiIsIE5VTEwsICJIUCBNdXgi fSwNCisJeyJIZWFkcGhvbmUgTCBFeHQgU3BrIEFtcCIsIE5VTEwsICJIUCBNdXgifSwNCisJeyJI ZWFkcGhvbmUgUiBFeHQgU3BrIEFtcCIsIE5VTEwsICJIUCBNdXgifSwNCisNCisJLyogUmVjZWl2 ZXIgUGF0aCAqLw0KKwl7IlJDViBNdXgiLCAiVm9pY2UgUGxheWJhY2siLCAiREFDTCJ9LA0KKwl7 IlJlY2VpdmVyIiwgTlVMTCwgIlJDViBNdXgifSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgbXQ2MzU5 X2NvZGVjX2RhaV9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3RyZWFtICpzdWJzdHJlYW0s DQorCQkJCSAgICAgIHN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zLA0KKwkJCQkgICAg ICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVu dCAqY21wbnQgPSBkYWktPmNvbXBvbmVudDsNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0g c25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKwl1bnNpZ25lZCBpbnQgcmF0 ZSA9IHBhcmFtc19yYXRlKHBhcmFtcyk7DQorCWludCBpZCA9IGRhaS0+aWQ7DQorDQorCWRldl9k YmcocHJpdi0+ZGV2LCAiJXMoKSwgaWQgJWQsIHN1YnN0cmVhbS0+c3RyZWFtICVkLCByYXRlICVk LCBudW1iZXIgJWRcbiIsDQorCQlfX2Z1bmNfXywgaWQsIHN1YnN0cmVhbS0+c3RyZWFtLCByYXRl LCBzdWJzdHJlYW0tPm51bWJlcik7DQorDQorCWlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRS Vl9QQ01fU1RSRUFNX1BMQVlCQUNLKQ0KKwkJcHJpdi0+ZGxfcmF0ZVtpZF0gPSByYXRlOw0KKwll bHNlIGlmIChzdWJzdHJlYW0tPnN0cmVhbSA9PSBTTkRSVl9QQ01fU1RSRUFNX0NBUFRVUkUpDQor CQlwcml2LT51bF9yYXRlW2lkXSA9IHJhdGU7DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0 aWMgaW50IG10NjM1OV9jb2RlY19kYWlfc3RhcnR1cChzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0g KnN1YnN0cmVhbSwNCisJCQkJICAgIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQ0KK3sNCisJc3Ry dWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCA9IGRhaS0+Y29tcG9uZW50Ow0KKwlzdHJ1Y3Qg bXQ2MzU5X3ByaXYgKnByaXYgPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjbXBudCk7 DQorDQorCWRldl9kYmcocHJpdi0+ZGV2LCAiJXMgc3RyZWFtICVkXG4iLCBfX2Z1bmNfXywgc3Vi c3RyZWFtLT5zdHJlYW0pOw0KKwlpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NU UkVBTV9QTEFZQkFDSykNCisJCW10NjM1OV9zZXRfcGxheWJhY2tfZ3Bpbyhwcml2KTsNCisJZWxz ZSBpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9DQVBUVVJFKQ0KKwkJ bXQ2MzU5X3NldF9jYXB0dXJlX2dwaW8ocHJpdik7DQorDQorCXJldHVybiAwOw0KK30NCisNCitz dGF0aWMgdm9pZCBtdDYzNTlfY29kZWNfZGFpX3NodXRkb3duKHN0cnVjdCBzbmRfcGNtX3N1YnN0 cmVhbSAqc3Vic3RyZWFtLA0KKwkJCQkgICAgICBzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSkNCit7 DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY21wbnQgPSBkYWktPmNvbXBvbmVudDsNCisJ c3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEo Y21wbnQpOw0KKw0KKwlkZXZfZGJnKHByaXYtPmRldiwgIiVzIHN0cmVhbSAlZFxuIiwgX19mdW5j X18sIHN1YnN0cmVhbS0+c3RyZWFtKTsNCisJaWYgKHN1YnN0cmVhbS0+c3RyZWFtID09IFNORFJW X1BDTV9TVFJFQU1fUExBWUJBQ0spDQorCQltdDYzNTlfcmVzZXRfcGxheWJhY2tfZ3Bpbyhwcml2 KTsNCisJZWxzZSBpZiAoc3Vic3RyZWFtLT5zdHJlYW0gPT0gU05EUlZfUENNX1NUUkVBTV9DQVBU VVJFKQ0KKwkJbXQ2MzU5X3Jlc2V0X2NhcHR1cmVfZ3Bpbyhwcml2KTsNCit9DQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhaV9vcHMgbXQ2MzU5X2NvZGVjX2RhaV9vcHMgPSB7DQor CS5od19wYXJhbXMgPSBtdDYzNTlfY29kZWNfZGFpX2h3X3BhcmFtcywNCisJLnN0YXJ0dXAgPSBt dDYzNTlfY29kZWNfZGFpX3N0YXJ0dXAsDQorCS5zaHV0ZG93biA9IG10NjM1OV9jb2RlY19kYWlf c2h1dGRvd24sDQorfTsNCisNCisjZGVmaW5lIE1UNjM1OV9GT1JNQVRTIChTTkRSVl9QQ01fRk1U QklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRCSVRfUzE2X0JFIHxcDQorCQkJU05EUlZfUENNX0ZN VEJJVF9VMTZfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1UxNl9CRSB8XA0KKwkJCVNORFJWX1BDTV9G TVRCSVRfUzI0X0xFIHwgU05EUlZfUENNX0ZNVEJJVF9TMjRfQkUgfFwNCisJCQlTTkRSVl9QQ01f Rk1UQklUX1UyNF9MRSB8IFNORFJWX1BDTV9GTVRCSVRfVTI0X0JFIHxcDQorCQkJU05EUlZfUENN X0ZNVEJJVF9TMzJfTEUgfCBTTkRSVl9QQ01fRk1UQklUX1MzMl9CRSB8XA0KKwkJCVNORFJWX1BD TV9GTVRCSVRfVTMyX0xFIHwgU05EUlZfUENNX0ZNVEJJVF9VMzJfQkUpDQorDQorc3RhdGljIHN0 cnVjdCBzbmRfc29jX2RhaV9kcml2ZXIgbXQ2MzU5X2RhaV9kcml2ZXJbXSA9IHsNCisJew0KKwkJ LmlkID0gTVQ2MzU5X0FJRl8xLA0KKwkJLm5hbWUgPSAibXQ2MzU5LXNuZC1jb2RlYy1haWYxIiwN CisJCS5wbGF5YmFjayA9IHsNCisJCQkuc3RyZWFtX25hbWUgPSAiQUlGMSBQbGF5YmFjayIsDQor CQkJLmNoYW5uZWxzX21pbiA9IDEsDQorCQkJLmNoYW5uZWxzX21heCA9IDIsDQorCQkJLnJhdGVz ID0gU05EUlZfUENNX1JBVEVfODAwMF80ODAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV85NjAw MCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV8xOTIwMDAsDQorCQkJLmZvcm1hdHMgPSBNVDYzNTlf Rk9STUFUUywNCisJCX0sDQorCQkuY2FwdHVyZSA9IHsNCisJCQkuc3RyZWFtX25hbWUgPSAiQUlG MSBDYXB0dXJlIiwNCisJCQkuY2hhbm5lbHNfbWluID0gMSwNCisJCQkuY2hhbm5lbHNfbWF4ID0g MiwNCisJCQkucmF0ZXMgPSBTTkRSVl9QQ01fUkFURV84MDAwIHwNCisJCQkJIFNORFJWX1BDTV9S QVRFXzE2MDAwIHwNCisJCQkJIFNORFJWX1BDTV9SQVRFXzMyMDAwIHwNCisJCQkJIFNORFJWX1BD TV9SQVRFXzQ4MDAwIHwNCisJCQkJIFNORFJWX1BDTV9SQVRFXzk2MDAwIHwNCisJCQkJIFNORFJW X1BDTV9SQVRFXzE5MjAwMCwNCisJCQkuZm9ybWF0cyA9IE1UNjM1OV9GT1JNQVRTLA0KKwkJfSwN CisJCS5vcHMgPSAmbXQ2MzU5X2NvZGVjX2RhaV9vcHMsDQorCX0sDQorCXsNCisJCS5pZCA9IE1U NjM1OV9BSUZfMiwNCisJCS5uYW1lID0gIm10NjM1OS1zbmQtY29kZWMtYWlmMiIsDQorCQkucGxh eWJhY2sgPSB7DQorCQkJLnN0cmVhbV9uYW1lID0gIkFJRjIgUGxheWJhY2siLA0KKwkJCS5jaGFu bmVsc19taW4gPSAxLA0KKwkJCS5jaGFubmVsc19tYXggPSAyLA0KKwkJCS5yYXRlcyA9IFNORFJW X1BDTV9SQVRFXzgwMDBfNDgwMDAgfA0KKwkJCQkgU05EUlZfUENNX1JBVEVfOTYwMDAgfA0KKwkJ CQkgU05EUlZfUENNX1JBVEVfMTkyMDAwLA0KKwkJCS5mb3JtYXRzID0gTVQ2MzU5X0ZPUk1BVFMs DQorCQl9LA0KKwkJLmNhcHR1cmUgPSB7DQorCQkJLnN0cmVhbV9uYW1lID0gIkFJRjIgQ2FwdHVy ZSIsDQorCQkJLmNoYW5uZWxzX21pbiA9IDEsDQorCQkJLmNoYW5uZWxzX21heCA9IDIsDQorCQkJ LnJhdGVzID0gU05EUlZfUENNX1JBVEVfODAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV8xNjAw MCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV8zMjAwMCB8DQorCQkJCSBTTkRSVl9QQ01fUkFURV80 ODAwMCwNCisJCQkuZm9ybWF0cyA9IE1UNjM1OV9GT1JNQVRTLA0KKwkJfSwNCisJCS5vcHMgPSAm bXQ2MzU5X2NvZGVjX2RhaV9vcHMsDQorCX0sDQorfTsNCisNCitzdGF0aWMgaW50IG10NjM1OV9j b2RlY19pbml0X3JlZyhzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNtcG50KQ0KK3sNCisJc3Ry dWN0IG10NjM1OV9wcml2ICpwcml2ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21w bnQpOw0KKw0KKwkvKiBlbmFibGUgY2xrIGJ1ZiAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocHJp di0+cmVnbWFwLCBNVDYzNTlfRENYT19DVzEyLA0KKwkJCSAgIDB4MSA8PCBSR19YT19BVURJT19F Tl9NX1NGVCwNCisJCQkgICAweDEgPDwgUkdfWE9fQVVESU9fRU5fTV9TRlQpOw0KKw0KKwkvKiBz ZXQgdGhvc2Ugbm90IGNvbnRyb2xsZWQgYnkgZGFwbSB3aWRnZXQgKi8NCisNCisJLyogYXVkaW8g Y2xrIHNvdXJjZSBmcm9tIGludGVybmFsIGRjeG8gKi8NCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHBy aXYtPnJlZ21hcCwgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMjMsDQorCQkJICAgUkdfQ0xLU1FfSU5f U0VMX1RFU1RfTUFTS19TRlQsDQorCQkJICAgMHgwKTsNCisNCisJLyogRGlzYWJsZSBIZWFkcGhv bmVML0hlYWRwaG9uZVIgc2hvcnQgY2lyY3VpdCBwcm90ZWN0aW9uICovDQorCXJlZ21hcF91cGRh dGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjAsDQorCQkJICAgUkdf QVVESFBMU0NESVNBQkxFX1ZBVURQMzJfTUFTS19TRlQsDQorCQkJICAgMHgxIDw8IFJHX0FVREhQ TFNDRElTQUJMRV9WQVVEUDMyX1NGVCk7DQorCXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdt YXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjAsDQorCQkJICAgUkdfQVVESFBSU0NESVNBQkxFX1ZB VURQMzJfTUFTS19TRlQsDQorCQkJICAgMHgxIDw8IFJHX0FVREhQUlNDRElTQUJMRV9WQVVEUDMy X1NGVCk7DQorCS8qIERpc2FibGUgdm9pY2Ugc2hvcnQgY2lyY3VpdCBwcm90ZWN0aW9uICovDQor CXJlZ21hcF91cGRhdGVfYml0cyhwcml2LT5yZWdtYXAsIE1UNjM1OV9BVURERUNfQU5BX0NPTjYs DQorCQkJICAgUkdfQVVESFNTQ0RJU0FCTEVfVkFVRFAzMl9NQVNLX1NGVCwNCisJCQkgICAweDEg PDwgUkdfQVVESFNTQ0RJU0FCTEVfVkFVRFAzMl9TRlQpOw0KKwkvKiBkaXNhYmxlIExPIGJ1ZmZl ciBsZWZ0IHNob3J0IGNpcmN1aXQgcHJvdGVjdGlvbiAqLw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMo cHJpdi0+cmVnbWFwLCBNVDYzNTlfQVVEREVDX0FOQV9DT043LA0KKwkJCSAgIFJHX0FVRExPTFND RElTQUJMRV9WQVVEUDMyX01BU0tfU0ZULA0KKwkJCSAgIDB4MSA8PCBSR19BVURMT0xTQ0RJU0FC TEVfVkFVRFAzMl9TRlQpOw0KKw0KKwkvKiBzZXQgZ3BpbyAqLw0KKwltdDYzNTlfcmVzZXRfcGxh eWJhY2tfZ3Bpbyhwcml2KTsNCisJbXQ2MzU5X3Jlc2V0X2NhcHR1cmVfZ3Bpbyhwcml2KTsNCisN CisJLyogaHAgaGlmaSBtb2RlLCBkZWZhdWx0IG5vcm1hbCBtb2RlICovDQorCXByaXYtPmhwX2hp ZmlfbW9kZSA9IDA7DQorDQorCS8qIERpc2FibGUgQVVEX1pDRCAqLw0KKwl6Y2RfZGlzYWJsZShw cml2KTsNCisNCisJLyogZGlzYWJsZSBjbGsgYnVmICovDQorCXJlZ21hcF91cGRhdGVfYml0cyhw cml2LT5yZWdtYXAsIE1UNjM1OV9EQ1hPX0NXMTIsDQorCQkJICAgMHgxIDw8IFJHX1hPX0FVRElP X0VOX01fU0ZULA0KKwkJCSAgIDB4MCA8PCBSR19YT19BVURJT19FTl9NX1NGVCk7DQorDQorCXJl dHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10NjM1OV9jb2RlY19wcm9iZShzdHJ1Y3Qgc25k X3NvY19jb21wb25lbnQgKmNtcG50KQ0KK3sNCisJc3RydWN0IG10NjM1OV9wcml2ICpwcml2ID0g c25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY21wbnQpOw0KKw0KKwlzbmRfc29jX2NvbXBv bmVudF9pbml0X3JlZ21hcChjbXBudCwgcHJpdi0+cmVnbWFwKTsNCisNCisJcmV0dXJuIG10NjM1 OV9jb2RlY19pbml0X3JlZyhjbXBudCk7DQorfQ0KKw0KK3N0YXRpYyB2b2lkIG10NjM1OV9jb2Rl Y19yZW1vdmUoc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjbXBudCkNCit7DQorCXNuZF9zb2Nf Y29tcG9uZW50X2V4aXRfcmVnbWFwKGNtcG50KTsNCit9DQorDQorc3RhdGljIGNvbnN0IERFQ0xB UkVfVExWX0RCX1NDQUxFKGhwX3BsYXliYWNrX3RsdiwgLTIyMDAsIDEwMCwgMCk7DQorc3RhdGlj IGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKHBsYXliYWNrX3RsdiwgLTEwMDAsIDEwMCwgMCk7 DQorc3RhdGljIGNvbnN0IERFQ0xBUkVfVExWX0RCX1NDQUxFKGNhcHR1cmVfdGx2LCAwLCA2MDAs IDApOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX2tjb250cm9sX25ldyBtdDYzNTlfc25k X2NvbnRyb2xzW10gPSB7DQorCS8qIGRsIHBnYSBnYWluICovDQorCVNPQ19ET1VCTEVfRVhUX1RM VigiSGVhZHNldCBWb2x1bWUiLA0KKwkJCSAgIE1UNjM1OV9aQ0RfQ09OMiwgMCwgNywgMHgxRSwg MCwNCisJCQkgICBzbmRfc29jX2dldF92b2xzdywgbXQ2MzU5X3B1dF92b2xzdywNCisJCQkgICBo cF9wbGF5YmFja190bHYpLA0KKwlTT0NfRE9VQkxFX0VYVF9UTFYoIkxpbmVvdXQgVm9sdW1lIiwN CisJCQkgICBNVDYzNTlfWkNEX0NPTjEsIDAsIDcsIDB4MTIsIDAsDQorCQkJICAgc25kX3NvY19n ZXRfdm9sc3csIG10NjM1OV9wdXRfdm9sc3csIHBsYXliYWNrX3RsdiksDQorCVNPQ19TSU5HTEVf RVhUX1RMVigiSGFuZHNldCBWb2x1bWUiLA0KKwkJCSAgIE1UNjM1OV9aQ0RfQ09OMywgMCwgMHgx MiwgMCwNCisJCQkgICBzbmRfc29jX2dldF92b2xzdywgbXQ2MzU5X3B1dF92b2xzdywgcGxheWJh Y2tfdGx2KSwNCisNCisJLyogdWwgcGdhIGdhaW4gKi8NCisJU09DX1NJTkdMRV9FWFRfVExWKCJQ R0ExIFZvbHVtZSIsDQorCQkJICAgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMCwgUkdfQVVEUFJFQU1Q TEdBSU5fU0ZULCA0LCAwLA0KKwkJCSAgIHNuZF9zb2NfZ2V0X3ZvbHN3LCBtdDYzNTlfcHV0X3Zv bHN3LCBjYXB0dXJlX3RsdiksDQorCVNPQ19TSU5HTEVfRVhUX1RMVigiUEdBMiBWb2x1bWUiLA0K KwkJCSAgIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEsIFJHX0FVRFBSRUFNUFJHQUlOX1NGVCwgNCwg MCwNCisJCQkgICBzbmRfc29jX2dldF92b2xzdywgbXQ2MzU5X3B1dF92b2xzdywgY2FwdHVyZV90 bHYpLA0KKwlTT0NfU0lOR0xFX0VYVF9UTFYoIlBHQTMgVm9sdW1lIiwNCisJCQkgICBNVDYzNTlf QVVERU5DX0FOQV9DT04yLCBSR19BVURQUkVBTVAzR0FJTl9TRlQsIDQsIDAsDQorCQkJICAgc25k X3NvY19nZXRfdm9sc3csIG10NjM1OV9wdXRfdm9sc3csIGNhcHR1cmVfdGx2KSwNCit9Ow0KKw0K K3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnRfZHJpdmVyIG10NjM1OV9zb2Nf Y29tcG9uZW50X2RyaXZlciA9IHsNCisJLm5hbWUgPSBDT0RFQ19NVDYzNTlfTkFNRSwNCisJLnBy b2JlID0gbXQ2MzU5X2NvZGVjX3Byb2JlLA0KKwkucmVtb3ZlID0gbXQ2MzU5X2NvZGVjX3JlbW92 ZSwNCisJLmNvbnRyb2xzID0gbXQ2MzU5X3NuZF9jb250cm9scywNCisJLm51bV9jb250cm9scyA9 IEFSUkFZX1NJWkUobXQ2MzU5X3NuZF9jb250cm9scyksDQorCS5kYXBtX3dpZGdldHMgPSBtdDYz NTlfZGFwbV93aWRnZXRzLA0KKwkubnVtX2RhcG1fd2lkZ2V0cyA9IEFSUkFZX1NJWkUobXQ2MzU5 X2RhcG1fd2lkZ2V0cyksDQorCS5kYXBtX3JvdXRlcyA9IG10NjM1OV9kYXBtX3JvdXRlcywNCisJ Lm51bV9kYXBtX3JvdXRlcyA9IEFSUkFZX1NJWkUobXQ2MzU5X2RhcG1fcm91dGVzKSwNCit9Ow0K Kw0KK3N0YXRpYyBpbnQgbXQ2MzU5X3BhcnNlX2R0KHN0cnVjdCBtdDYzNTlfcHJpdiAqcHJpdikN Cit7DQorCWludCByZXQ7DQorCXN0cnVjdCBkZXZpY2UgKmRldiA9IHByaXYtPmRldjsNCisNCisJ cmV0ID0gb2ZfcHJvcGVydHlfcmVhZF91MzIoZGV2LT5vZl9ub2RlLCAibWVkaWF0ZWssZG1pYy1t b2RlIiwNCisJCQkJICAgJnByaXYtPmRtaWNfb25lX3dpcmVfbW9kZSk7DQorCWlmIChyZXQpIHsN CisJCWRldl93YXJuKHByaXYtPmRldiwgIiVzKCkgZmFpbGVkIHRvIHJlYWQgZG1pYy1tb2RlXG4i LA0KKwkJCSBfX2Z1bmNfXyk7DQorCQlwcml2LT5kbWljX29uZV93aXJlX21vZGUgPSAwOw0KKwl9 DQorDQorCXJldCA9IG9mX3Byb3BlcnR5X3JlYWRfdTMyKGRldi0+b2Zfbm9kZSwgIm1lZGlhdGVr LG1pYy10eXBlLTAiLA0KKwkJCQkgICAmcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMF0p Ow0KKwlpZiAocmV0KSB7DQorCQlkZXZfd2Fybihwcml2LT5kZXYsICIlcygpIGZhaWxlZCB0byBy ZWFkIG1pYy10eXBlLTBcbiIsDQorCQkJIF9fZnVuY19fKTsNCisJCXByaXYtPm11eF9zZWxlY3Rb TVVYX01JQ19UWVBFXzBdID0gTUlDX1RZUEVfTVVYX0lETEU7DQorCX0NCisNCisJcmV0ID0gb2Zf cHJvcGVydHlfcmVhZF91MzIoZGV2LT5vZl9ub2RlLCAibWVkaWF0ZWssbWljLXR5cGUtMSIsDQor CQkJCSAgICZwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8xXSk7DQorCWlmIChyZXQpIHsN CisJCWRldl93YXJuKHByaXYtPmRldiwgIiVzKCkgZmFpbGVkIHRvIHJlYWQgbWljLXR5cGUtMVxu IiwNCisJCQkgX19mdW5jX18pOw0KKwkJcHJpdi0+bXV4X3NlbGVjdFtNVVhfTUlDX1RZUEVfMV0g PSBNSUNfVFlQRV9NVVhfSURMRTsNCisJfQ0KKw0KKwlyZXQgPSBvZl9wcm9wZXJ0eV9yZWFkX3Uz MihkZXYtPm9mX25vZGUsICJtZWRpYXRlayxtaWMtdHlwZS0yIiwNCisJCQkJICAgJnByaXYtPm11 eF9zZWxlY3RbTVVYX01JQ19UWVBFXzJdKTsNCisJaWYgKHJldCkgew0KKwkJZGV2X3dhcm4ocHJp di0+ZGV2LCAiJXMoKSBmYWlsZWQgdG8gcmVhZCBtaWMtdHlwZS0yXG4iLA0KKwkJCSBfX2Z1bmNf Xyk7DQorCQlwcml2LT5tdXhfc2VsZWN0W01VWF9NSUNfVFlQRV8yXSA9IE1JQ19UWVBFX01VWF9J RExFOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IG10NjM1OV9wbGF0 Zm9ybV9kcml2ZXJfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikNCit7DQorCXN0 cnVjdCBtdDYzNTlfcHJpdiAqcHJpdjsNCisJaW50IHJldDsNCisJc3RydWN0IG10NjM5N19jaGlw ICptdDYzOTcgPSBkZXZfZ2V0X2RydmRhdGEocGRldi0+ZGV2LnBhcmVudCk7DQorDQorCWRldl9k YmcoJnBkZXYtPmRldiwgIiVzKCksIGRldiBuYW1lICVzXG4iLA0KKwkJX19mdW5jX18sIGRldl9u YW1lKCZwZGV2LT5kZXYpKTsNCisNCisJcHJpdiA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBz aXplb2YoKnByaXYpLCBHRlBfS0VSTkVMKTsNCisJaWYgKCFwcml2KQ0KKwkJcmV0dXJuIC1FTk9N RU07DQorDQorCXByaXYtPnJlZ21hcCA9IG10NjM5Ny0+cmVnbWFwOw0KKwlpZiAoSVNfRVJSKHBy aXYtPnJlZ21hcCkpDQorCQlyZXR1cm4gUFRSX0VSUihwcml2LT5yZWdtYXApOw0KKw0KKwlkZXZf c2V0X2RydmRhdGEoJnBkZXYtPmRldiwgcHJpdik7DQorCXByaXYtPmRldiA9ICZwZGV2LT5kZXY7 DQorDQorCXByaXYtPmF2ZGRfcmVnID0gZGV2bV9yZWd1bGF0b3JfZ2V0KCZwZGV2LT5kZXYsICJ2 YXVkMTgiKTsNCisJaWYgKElTX0VSUihwcml2LT5hdmRkX3JlZykpIHsNCisJCWRldl9lcnIoJnBk ZXYtPmRldiwgIiVzKCksIGhhdmUgbm8gdmF1ZDE4IHN1cHBseTogJWxkIiwNCisJCQlfX2Z1bmNf XywgUFRSX0VSUihwcml2LT5hdmRkX3JlZykpOw0KKwkJcmV0dXJuIFBUUl9FUlIocHJpdi0+YXZk ZF9yZWcpOw0KKwl9DQorDQorCXJldCA9IHJlZ3VsYXRvcl9lbmFibGUocHJpdi0+YXZkZF9yZWcp Ow0KKwlpZiAocmV0KSB7DQorCQlkZXZfZXJyKCZwZGV2LT5kZXYsICIlcygpLCBmYWlsZWQgdG8g ZW5hYmxlIHJlZ3VsYXRvciFcbiIsDQorCQkJX19mdW5jX18pOw0KKwkJcmV0dXJuIHJldDsNCisJ fQ0KKw0KKwlyZXQgPSBtdDYzNTlfcGFyc2VfZHQocHJpdik7DQorCWlmIChyZXQpIHsNCisJCWRl dl93YXJuKCZwZGV2LT5kZXYsICIlcygpIGZhaWxlZCB0byBwYXJzZSBkdHNcbiIsIF9fZnVuY19f KTsNCisJCXJldHVybiByZXQ7DQorCX0NCisNCisJZGV2X2luZm8oJnBkZXYtPmRldiwgIiVzKCks IGRldiBuYW1lICVzXG4iLA0KKwkJIF9fZnVuY19fLCBkZXZfbmFtZSgmcGRldi0+ZGV2KSk7DQor DQorCXJldHVybiBkZXZtX3NuZF9zb2NfcmVnaXN0ZXJfY29tcG9uZW50KCZwZGV2LT5kZXYsDQor CQkJCQkgICAgICAgJm10NjM1OV9zb2NfY29tcG9uZW50X2RyaXZlciwNCisJCQkJCSAgICAgICBt dDYzNTlfZGFpX2RyaXZlciwNCisJCQkJCSAgICAgICBBUlJBWV9TSVpFKG10NjM1OV9kYWlfZHJp dmVyKSk7DQorfQ0KKw0KK3N0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIG10NjM1OV9wbGF0 Zm9ybV9kcml2ZXIgPSB7DQorCS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJtdDYzNTktc291bmQi LA0KKwl9LA0KKwkucHJvYmUgPSBtdDYzNTlfcGxhdGZvcm1fZHJpdmVyX3Byb2JlLA0KK307DQor DQorbW9kdWxlX3BsYXRmb3JtX2RyaXZlcihtdDYzNTlfcGxhdGZvcm1fZHJpdmVyKQ0KKw0KKy8q IE1vZHVsZSBpbmZvcm1hdGlvbiAqLw0KK01PRFVMRV9ERVNDUklQVElPTigiTVQ2MzU5IEFMU0Eg U29DIGNvZGVjIGRyaXZlciIpOw0KK01PRFVMRV9BVVRIT1IoIkthaUNoaWVoIENodWFuZyA8a2Fp Y2hpZWguY2h1YW5nQG1lZGlhdGVrLmNvbT4iKTsNCitNT0RVTEVfQVVUSE9SKCJFYXNvbiBZZW4g PGVhc29uLnllbkBtZWRpYXRlay5jb20+Iik7DQorTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOw0K ZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvbXQ2MzU5LmggYi9zb3VuZC9zb2MvY29kZWNz L210NjM1OS5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwMC4uMzc5 MmU1MzRhOTFiNg0KLS0tIC9kZXYvbnVsbA0KKysrIGIvc291bmQvc29jL2NvZGVjcy9tdDYzNTku aA0KQEAgLTAsMCArMSwyNjQwIEBADQorLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAgKi8NCisvKg0KKyAqIENvcHlyaWdodCAoQykgMjAyMCBNZWRpYVRlayBJbmMuDQorICogQXV0 aG9yOiBBcmd1cyBMaW4gPGFyZ3VzLmxpbkBtZWRpYXRlay5jb20+DQorICovDQorDQorI2lmbmRl ZiBfTVQ2MzU5X0hfDQorI2RlZmluZSBfTVQ2MzU5X0hfDQorDQorLyoqKioqKioqKioqKipSZWdp c3RlciBCaXQgRGVmaW5lKioqKioqKioqKioqKi8NCisjZGVmaW5lIFBNSUNfQUNDREVUX0lSUV9T SElGVAkJCQkwDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9JUlFfU0hJRlQJCQkyDQorI2Rl ZmluZSBQTUlDX0FDQ0RFVF9FSU5UMV9JUlFfU0hJRlQJCQkzDQorI2RlZmluZSBQTUlDX0FDQ0RF VF9JUlFfQ0xSX1NISUZUCQkJOA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDBfSVJRX0NMUl9T SElGVAkJCTEwDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMV9JUlFfQ0xSX1NISUZUCQkJMTEN CisjZGVmaW5lIFBNSUNfUkdfSU5UX1NUQVRVU19BQ0NERVRfU0hJRlQJCQk1DQorI2RlZmluZSBQ TUlDX1JHX0lOVF9TVEFUVVNfQUNDREVUX0VJTlQwX1NISUZUCQk2DQorI2RlZmluZSBQTUlDX1JH X0lOVF9TVEFUVVNfQUNDREVUX0VJTlQxX1NISUZUCQk3DQorI2RlZmluZSBQTUlDX1JHX0VJTlQw Q09ORklHQUNDREVUX1NISUZUCQkJMTENCisjZGVmaW5lIFBNSUNfUkdfRUlOVDFDT05GSUdBQ0NE RVRfU0hJRlQJCQkwDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9JTlZFUlRFUl9TV19FTl9T SElGVAkJNg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfSU5WRVJURVJfU1dfRU5fU0hJRlQJ CTgNCisjZGVmaW5lIFBNSUNfUkdfTVRFU1RfRU5fU0hJRlQJCQkJOA0KKyNkZWZpbmUgUE1JQ19S R19NVEVTVF9TRUxfU0hJRlQJCQkJOQ0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDBfTV9TV19F Tl9TSElGVAkJCTEwDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMV9NX1NXX0VOX1NISUZUCQkJ MTENCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX0NFTl9TVEFCTEVfU0hJRlQJCTUNCisjZGVm aW5lIFBNSUNfQUNDREVUX0VJTlQxX0NFTl9TVEFCTEVfU0hJRlQJCTEwDQorI2RlZmluZSBQTUlD X0FDQ0RFVF9EQV9TVEFCTEVfU0hJRlQJCQkwDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMF9F Tl9TVEFCTEVfU0hJRlQJCTENCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlQwX0NNUEVOX1NUQUJM RV9TSElGVAkJMg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfRU5fU1RBQkxFX1NISUZUCQk2 DQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UMV9DTVBFTl9TVEFCTEVfU0hJRlQJCTcNCisjZGVm aW5lIFBNSUNfQUNDREVUX0VJTlRfQ1RVUkJPX1NFTF9TSElGVAkJNw0KKyNkZWZpbmUgUE1JQ19B Q0NERVRfRUlOVDBfQ1RVUkJPX1NXX1NISUZUCQk3DQorI2RlZmluZSBQTUlDX1JHX0VJTlRDT01Q VlRIX1NISUZUCQkJNA0KKyNkZWZpbmUgUE1JQ19SR19FSU5UMEhJUkVOQl9TSElGVAkJCTEyDQor I2RlZmluZSBQTUlDX1JHX0VJTlQwTk9IWVNfU0hJRlQJCQkxMA0KKyNkZWZpbmUgUE1JQ19BQ0NE RVRfU1dfRU5fU0hJRlQJCQkJMA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDBfTUVNX0lOX1NI SUZUCQkJNg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfTUVNX0lOX1NISUZUCQkJNg0KKyNkZWZpbmUg UE1JQ19BQ0NERVRfRUlOVF9ERUJPVU5DRTBfU0hJRlQJCTANCisjZGVmaW5lIFBNSUNfQUNDREVU X0VJTlRfREVCT1VOQ0UxX1NISUZUCQk0DQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UX0RFQk9V TkNFMl9TSElGVAkJOA0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9ERUJPVU5DRTNfU0hJRlQJ CTEyDQorI2RlZmluZSBQTUlDX1JHX0FDQ0RFVDJBVVhTV0VOX1NISUZUCQkJMTQNCisjZGVmaW5l IFBNSUNfQVVEQUNDREVUQVVYQURDU1dDVFJMX1NFTF9TSElGVAkJOQ0KKyNkZWZpbmUgUE1JQ19B VURBQ0NERVRBVVhBRENTV0NUUkxfU1dfU0hJRlQJCTEwDQorI2RlZmluZSBQTUlDX1JHX0VJTlQw Q1RVUkJPX1NISUZUCQkJNQ0KKyNkZWZpbmUgUE1JQ19SR19FSU5UMUNUVVJCT19TSElGVAkJCTEz DQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UX01fUExVR19JTl9OVU1fU0hJRlQJCTEyDQorI2Rl ZmluZSBQTUlDX0FDQ0RFVF9FSU5UX01fREVURUNUX0VOX1NISUZUCQkxMg0KKyNkZWZpbmUgUE1J Q19BQ0NERVRfRUlOVDBfU1dfRU5fU0hJRlQJCQkyDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5U MV9TV19FTl9TSElGVAkJCTQNCisjZGVmaW5lIFBNSUNfQUNDREVUX0VJTlRfQ01QTU9VVF9TRUxf U0hJRlQJCTEyDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5UX0NNUE1FTl9TRUxfU0hJRlQJCTYN CisjZGVmaW5lIFBNSUNfUkdfSFBMT1VUUFVUU1RCRU5IX1ZBVURQMzJfU0hJRlQJCTANCisjZGVm aW5lIFBNSUNfUkdfSFBST1VUUFVUU1RCRU5IX1ZBVURQMzJfU0hJRlQJCTQNCisjZGVmaW5lIFBN SUNfUkdfRUlOVDBFTl9TSElGVAkJCQkyDQorI2RlZmluZSBQTUlDX1JHX0VJTlQxRU5fU0hJRlQJ CQkJMTANCisjZGVmaW5lIFBNSUNfUkdfTkNQX1BERElTX0VOX1NISUZUCQkJMA0KKyNkZWZpbmUg UE1JQ19SR19BQ0NERVRTUEFSRV9TSElGVAkJCTANCisjZGVmaW5lIFBNSUNfUkdfQUNDREVUX1JT VF9TSElGVAkJCTENCisjZGVmaW5lIFBNSUNfUkdfQVVETUlDQklBUzFIVkVOX1NISUZUCQkJMTIN CisjZGVmaW5lIFBNSUNfUkdfQVVETUlDQklBUzFWUkVGX1NISUZUCQkJNA0KKyNkZWZpbmUgUE1J Q19SR19BTkFMT0dGREVOX1NISUZUCQkJMTINCisjZGVmaW5lIFBNSUNfUkdfQVVETUlDQklBUzFE Q1NXMVBFTl9TSElGVAkJOA0KKyNkZWZpbmUgUE1JQ19SR19BVURNSUNCSUFTMUxPV1BFTl9TSElG VAkJCTINCisjZGVmaW5lIFBNSUNfQUNDREVUX1NFUV9JTklUX1NISUZUCQkJMQ0KKyNkZWZpbmUg UE1JQ19SR19FSU5UQ09NUFZUSF9NQVNLCQkJMHhmDQorI2RlZmluZSBQTUlDX0FDQ0RFVF9FSU5U MF9NRU1fSU5fTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9ERUJPVU5DRTBf TUFTSwkJCTB4Zg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9ERUJPVU5DRTFfTUFTSwkJCTB4 Zg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVF9ERUJPVU5DRTJfTUFTSwkJCTB4Zg0KKyNkZWZp bmUgUE1JQ19BQ0NERVRfRUlOVF9ERUJPVU5DRTNfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgUE1JQ19B Q0NERVRfRUlOVDBfSVJRX1NISUZUCQkJMg0KKyNkZWZpbmUgUE1JQ19BQ0NERVRfRUlOVDFfSVJR X1NISUZUCQkJMw0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTY6ICovDQorI2RlZmluZSBSR19BVURf TUlDQklBUzFfTE9XUF9FTgkJQklUKFBNSUNfUkdfQVVETUlDQklBUzFMT1dQRU5fU0hJRlQpDQor DQorLyogQVVERU5DX0FOQV9DT04xODogKi8NCisjZGVmaW5lIFJHX0FDQ0RFVF9NT0RFX0FOQTEx X01PREUxCQkJKDB4MDAwZikNCisjZGVmaW5lIFJHX0FDQ0RFVF9NT0RFX0FOQTExX01PREUyCQkJ KDB4MDA4ZikNCisjZGVmaW5lIFJHX0FDQ0RFVF9NT0RFX0FOQTExX01PREU2CQkJKDB4MDA4ZikN CisNCisvKiBBVVhBRENfQURDNTogIEF1eGFkYyBDSDUgcmVhZCBkYXRhICovDQorI2RlZmluZSBB VVhBRENfREFUQV9SRFlfQ0g1CQlCSVQoMTUpDQorI2RlZmluZSBBVVhBRENfREFUQV9QUk9DRUVE X0NINQkJQklUKDE1KQ0KKyNkZWZpbmUgQVVYQURDX0RBVEFfTUFTSwkJCQkoMHgwZmZmKQ0KKw0K Ky8qIEFVWEFEQ19SUVNUMF9TRVQ6ICBBdXhhZGMgQ0g1IHJlcXVlc3QsIHJlbGV2YW50IDB4MDdF QyAqLw0KKyNkZWZpbmUgQVVYQURDX1JRU1RfQ0g1X1NFVAkJQklUKDUpDQorLyogQVVYQURDX1JR U1QwX0NMUjogIEF1eGFkYyBDSDUgcmVxdWVzdCwgcmVsZXZhbnQgMHgwN0VDICovDQorI2RlZmlu ZSBBVVhBRENfUlFTVF9DSDVfQ0xSCQlCSVQoNSkNCisNCisjZGVmaW5lIEFDQ0RFVF9DQUxJX01B U0swCQkJCSgweGZmKQ0KKyNkZWZpbmUgQUNDREVUX0NBTElfTUFTSzEJCQkJKDB4ZmYgPDwgOCkN CisjZGVmaW5lIEFDQ0RFVF9DQUxJX01BU0syCQkJCSgweGZmKQ0KKyNkZWZpbmUgQUNDREVUX0NB TElfTUFTSzMJCQkJKDB4ZmYgPDwgOCkNCisjZGVmaW5lIEFDQ0RFVF9DQUxJX01BU0s0CQkJCSgw eGZmKQ0KKw0KKyNkZWZpbmUgQUNDREVUX0VJTlQxX0lSUV9DTFJfQjExCUJJVChQTUlDX0FDQ0RF VF9FSU5UMV9JUlFfQ0xSX1NISUZUKQ0KKyNkZWZpbmUgQUNDREVUX0VJTlQwX0lSUV9DTFJfQjEw CUJJVChQTUlDX0FDQ0RFVF9FSU5UMF9JUlFfQ0xSX1NISUZUKQ0KKyNkZWZpbmUgQUNDREVUX0VJ TlRfSVJRX0NMUl9CMTBfMTEJKDB4MDMgPDwgXA0KKwkJCQkJIFBNSUNfQUNDREVUX0VJTlQwX0lS UV9DTFJfU0hJRlQpDQorI2RlZmluZSBBQ0NERVRfSVJRX0NMUl9COAkJQklUKFBNSUNfQUNDREVU X0lSUV9DTFJfU0hJRlQpDQorDQorI2RlZmluZSBBQ0NERVRfRUlOVDFfSVJRX0IzCQlCSVQoUE1J Q19BQ0NERVRfRUlOVDFfSVJRX1NISUZUKQ0KKyNkZWZpbmUgQUNDREVUX0VJTlQwX0lSUV9CMgkJ QklUKFBNSUNfQUNDREVUX0VJTlQwX0lSUV9TSElGVCkNCisjZGVmaW5lIEFDQ0RFVF9FSU5UX0lS UV9CMl9CMwkJKDB4MDMgPDwgUE1JQ19BQ0NERVRfRUlOVDBfSVJRX1NISUZUKQ0KKyNkZWZpbmUg QUNDREVUX0lSUV9CMAkJCUJJVChQTUlDX0FDQ0RFVF9JUlFfU0hJRlQpDQorDQorLyogQUNDREVU X0NPTjI1OiBSTywgYWNjZGV0IEZTTSBzdGF0ZSxldGMuKi8NCisjZGVmaW5lIEFDQ0RFVF9TVEFU RV9NRU1fSU5fT0ZGU0VUCShQTUlDX0FDQ0RFVF9NRU1fSU5fU0hJRlQpDQorI2RlZmluZSBBQ0NE RVRfU1RBVEVfQUJfTUFTSwkJCQkoMHgwMykNCisjZGVmaW5lIEFDQ0RFVF9TVEFURV9BQl8wMAkJ CQkoMHgwMCkNCisjZGVmaW5lIEFDQ0RFVF9TVEFURV9BQl8wMQkJCQkoMHgwMSkNCisjZGVmaW5l IEFDQ0RFVF9TVEFURV9BQl8xMAkJCQkoMHgwMikNCisjZGVmaW5lIEFDQ0RFVF9TVEFURV9BQl8x MQkJCQkoMHgwMykNCisNCisvKiBBQ0NERVRfQ09OMTkgKi8NCisjZGVmaW5lIEFDQ0RFVF9FSU5U MF9TVEFCTEVfVkFMICgoMSA8PCBQTUlDX0FDQ0RFVF9EQV9TVEFCTEVfU0hJRlQpIHwgXA0KKwkJ CQkoMSA8PCBQTUlDX0FDQ0RFVF9FSU5UMF9FTl9TVEFCTEVfU0hJRlQpIHwgXA0KKwkJCQkoMSA8 PCBQTUlDX0FDQ0RFVF9FSU5UMF9DTVBFTl9TVEFCTEVfU0hJRlQpIHwgXA0KKwkJCQkoMSA8PCBQ TUlDX0FDQ0RFVF9FSU5UMF9DRU5fU1RBQkxFX1NISUZUKSkNCisNCisjZGVmaW5lIEFDQ0RFVF9F SU5UMV9TVEFCTEVfVkFMICgoMSA8PCBQTUlDX0FDQ0RFVF9EQV9TVEFCTEVfU0hJRlQpIHwgXA0K KwkJCQkoMSA8PCBQTUlDX0FDQ0RFVF9FSU5UMV9FTl9TVEFCTEVfU0hJRlQpIHwgXA0KKwkJCQko MSA8PCBQTUlDX0FDQ0RFVF9FSU5UMV9DTVBFTl9TVEFCTEVfU0hJRlQpIHwgXA0KKwkJCQkoMSA8 PCBQTUlDX0FDQ0RFVF9FSU5UMV9DRU5fU1RBQkxFX1NISUZUKSkNCisNCisvKiBUaGUgZm9sbG93 aW5nIGFyZSB1c2VkIGZvciBtdDYzNTkuYyAqLw0KKy8qIE1UNjM1OV9EQ1hPX0NXMTIgKi8NCisj ZGVmaW5lIFJHX1hPX0FVRElPX0VOX01fU0ZUCQkJCTEzDQorDQorLyogTERPX1ZBVUQxOF9DT04w ICovDQorI2RlZmluZSBSR19MRE9fVkFVRDE4X0VOX1NGVAkJCQkwDQorI2RlZmluZSBSR19MRE9f VkFVRDE4X0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19MRE9fVkFVRDE4X0VOX01BU0tfU0ZU CQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfQ0tQRE5fQ09OMCAqLw0KKyNkZWZpbmUgUkdf Vk9XMTNNX0NLX1BETl9TRlQJCQkJMTMNCisjZGVmaW5lIFJHX1ZPVzEzTV9DS19QRE5fTUFTSwkJ CQkweDENCisjZGVmaW5lIFJHX1ZPVzEzTV9DS19QRE5fTUFTS19TRlQJCQkoMHgxIDw8IDEzKQ0K KyNkZWZpbmUgUkdfVk9XMzJLX0NLX1BETl9TRlQJCQkJMTINCisjZGVmaW5lIFJHX1ZPVzMyS19D S19QRE5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX1ZPVzMyS19DS19QRE5fTUFTS19TRlQJCQko MHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NLX1BETl9TRlQJCQkJOA0KKyNkZWZp bmUgUkdfQVVEX0lOVFJQX0NLX1BETl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURfSU5UUlBf Q0tfUEROX01BU0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfUEFEX0FVRF9DTEtfTUlT T19DS19QRE5fU0ZUCQkJNw0KKyNkZWZpbmUgUkdfUEFEX0FVRF9DTEtfTUlTT19DS19QRE5fTUFT SwkJCTB4MQ0KKyNkZWZpbmUgUkdfUEFEX0FVRF9DTEtfTUlTT19DS19QRE5fTUFTS19TRlQJCSgw eDEgPDwgNykNCisjZGVmaW5lIFJHX0FVRE5DUF9DS19QRE5fU0ZUCQkJCTYNCisjZGVmaW5lIFJH X0FVRE5DUF9DS19QRE5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRE5DUF9DS19QRE5fTUFT S19TRlQJCQkoMHgxIDw8IDYpDQorI2RlZmluZSBSR19aQ0QxM01fQ0tfUEROX1NGVAkJCQk1DQor I2RlZmluZSBSR19aQ0QxM01fQ0tfUEROX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19aQ0QxM01f Q0tfUEROX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVESUZfQ0tfUEROX1NG VAkJCQkyDQorI2RlZmluZSBSR19BVURJRl9DS19QRE5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJH X0FVRElGX0NLX1BETl9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRF9DS19Q RE5fU0ZUCQkJCTENCisjZGVmaW5lIFJHX0FVRF9DS19QRE5fTUFTSwkJCQkweDENCisjZGVmaW5l IFJHX0FVRF9DS19QRE5fTUFTS19TRlQJCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQUNDREVU X0NLX1BETl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQUNDREVUX0NLX1BETl9NQVNLCQkJCTB4MQ0K KyNkZWZpbmUgUkdfQUNDREVUX0NLX1BETl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBB VURfVE9QX0NLUEROX0NPTjBfU0VUICovDQorI2RlZmluZSBSR19BVURfVE9QX0NLUEROX0NPTjBf U0VUX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tQRE5fQ09OMF9TRVRfTUFTSwkJCTB4 M2ZmZg0KKyNkZWZpbmUgUkdfQVVEX1RPUF9DS1BETl9DT04wX1NFVF9NQVNLX1NGVAkJKDB4M2Zm ZiA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfQ0tQRE5fQ09OMF9DTFIgKi8NCisjZGVmaW5lIFJHX0FV RF9UT1BfQ0tQRE5fQ09OMF9DTFJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEX1RPUF9DS1BETl9D T04wX0NMUl9NQVNLCQkJMHgzZmZmDQorI2RlZmluZSBSR19BVURfVE9QX0NLUEROX0NPTjBfQ0xS X01BU0tfU0ZUCQkoMHgzZmZmIDw8IDApDQorDQorLyogQVVEX1RPUF9DS1NFTF9DT04wICovDQor I2RlZmluZSBSR19BVURJRl9DS19DS1NFTF9TRlQJCQkJMw0KKyNkZWZpbmUgUkdfQVVESUZfQ0tf Q0tTRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRElGX0NLX0NLU0VMX01BU0tfU0ZUCQkJ KDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVEX0NLX0NLU0VMX1NGVAkJCQkyDQorI2RlZmluZSBS R19BVURfQ0tfQ0tTRUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRF9DS19DS1NFTF9NQVNL X1NGVAkJCSgweDEgPDwgMikNCisNCisvKiBBVURfVE9QX0NLU0VMX0NPTjBfU0VUICovDQorI2Rl ZmluZSBSR19BVURfVE9QX0NLU0VMX0NPTjBfU0VUX1NGVAkJCTANCisjZGVmaW5lIFJHX0FVRF9U T1BfQ0tTRUxfQ09OMF9TRVRfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgUkdfQVVEX1RPUF9DS1NFTF9D T04wX1NFVF9NQVNLX1NGVAkJKDB4ZiA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfQ0tTRUxfQ09OMF9D TFIgKi8NCisjZGVmaW5lIFJHX0FVRF9UT1BfQ0tTRUxfQ09OMF9DTFJfU0ZUCQkJMA0KKyNkZWZp bmUgUkdfQVVEX1RPUF9DS1NFTF9DT04wX0NMUl9NQVNLCQkJMHhmDQorI2RlZmluZSBSR19BVURf VE9QX0NLU0VMX0NPTjBfQ0xSX01BU0tfU0ZUCQkoMHhmIDw8IDApDQorDQorLyogQVVEX1RPUF9D S1RTVF9DT04wICovDQorI2RlZmluZSBSR19WT1cxM01fQ0tfVFNUU0VMX1NGVAkJCQk5DQorI2Rl ZmluZSBSR19WT1cxM01fQ0tfVFNUU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFJHX1ZPVzEzTV9D S19UU1RTRUxfTUFTS19TRlQJCQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19WT1cxM01fQ0tfVFNU X0RJU19TRlQJCQk4DQorI2RlZmluZSBSR19WT1cxM01fQ0tfVFNUX0RJU19NQVNLCQkJMHgxDQor I2RlZmluZSBSR19WT1cxM01fQ0tfVFNUX0RJU19NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisjZGVm aW5lIFJHX0FVRDI2TV9DS19UU1RTRUxfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0FVRDI2TV9DS19U U1RTRUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEMjZNX0NLX1RTVFNFTF9NQVNLX1NGVAkJ CSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FVRElGX0NLX1RTVFNFTF9TRlQJCQkJMw0KKyNkZWZp bmUgUkdfQVVESUZfQ0tfVFNUU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURJRl9DS19U U1RTRUxfTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURfQ0tfVFNUU0VMX1NG VAkJCQkyDQorI2RlZmluZSBSR19BVURfQ0tfVFNUU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBS R19BVURfQ0tfVFNUU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEMjZN X0NLX1RTVF9ESVNfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEMjZNX0NLX1RTVF9ESVNfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVEMjZNX0NLX1RTVF9ESVNfTUFTS19TRlQJCQkoMHgxIDw8IDAp DQorDQorLyogQVVEX1RPUF9DTEtfSFdFTl9DT04wICovDQorI2RlZmluZSBSR19BVURfSU5UUlBf Q0tfUEROX0hXRU5fU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NLX1BETl9IV0VOX01B U0sJCQkweDENCisjZGVmaW5lIFJHX0FVRF9JTlRSUF9DS19QRE5fSFdFTl9NQVNLX1NGVAkJKDB4 MSA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfQ0xLX0hXRU5fQ09OMF9TRVQgKi8NCisjZGVmaW5lIFJH X0FVRF9JTlRSUF9DS19QTkRfSFdFTl9DT04wX1NFVF9TRlQJCTANCisjZGVmaW5lIFJHX0FVRF9J TlRSUF9DS19QTkRfSFdFTl9DT04wX1NFVF9NQVNLCQkweGZmZmYNCisjZGVmaW5lIFJHX0FVRF9J TlRSUF9DS19QTkRfSFdFTl9DT04wX1NFVF9NQVNLX1NGVAkoMHhmZmZmIDw8IDApDQorDQorLyog QVVEX1RPUF9DTEtfSFdFTl9DT04wX0NMUiAqLw0KKyNkZWZpbmUgUkdfQVVEX0lOVFJQX0NMS19Q RE5fSFdFTl9DT04wX0NMUl9TRlQJCTANCisjZGVmaW5lIFJHX0FVRF9JTlRSUF9DTEtfUEROX0hX RU5fQ09OMF9DTFJfTUFTSwkJMHhmZmZmDQorI2RlZmluZSBSR19BVURfSU5UUlBfQ0xLX1BETl9I V0VOX0NPTjBfQ0xSX01BU0tfU0ZUCSgweGZmZmYgPDwgMCkNCisNCisvKiBBVURfVE9QX1JTVF9D T04wICovDQorI2RlZmluZSBSR19BVUROQ1BfUlNUX1NGVAkJCQkzDQorI2RlZmluZSBSR19BVURO Q1BfUlNUX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVUROQ1BfUlNUX01BU0tfU0ZUCQkJCSgw eDEgPDwgMykNCisjZGVmaW5lIFJHX1pDRF9SU1RfU0ZUCQkJCQkyDQorI2RlZmluZSBSR19aQ0Rf UlNUX01BU0sJCQkJCTB4MQ0KKyNkZWZpbmUgUkdfWkNEX1JTVF9NQVNLX1NGVAkJCQkoMHgxIDw8 IDIpDQorI2RlZmluZSBSR19BQ0NERVRfUlNUX1NGVAkJCQkxDQorI2RlZmluZSBSR19BQ0NERVRf UlNUX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BQ0NERVRfUlNUX01BU0tfU0ZUCQkJCSgweDEg PDwgMSkNCisjZGVmaW5lIFJHX0FVRElPX1JTVF9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVESU9f UlNUX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURJT19SU1RfTUFTS19TRlQJCQkJKDB4MSA8 PCAwKQ0KKw0KKy8qIEFVRF9UT1BfUlNUX0NPTjBfU0VUICovDQorI2RlZmluZSBSR19BVURfVE9Q X1JTVF9DT04wX1NFVF9TRlQJCQkwDQorI2RlZmluZSBSR19BVURfVE9QX1JTVF9DT04wX1NFVF9N QVNLCQkJMHhmDQorI2RlZmluZSBSR19BVURfVE9QX1JTVF9DT04wX1NFVF9NQVNLX1NGVAkJKDB4 ZiA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfUlNUX0NPTjBfQ0xSICovDQorI2RlZmluZSBSR19BVURf VE9QX1JTVF9DT04wX0NMUl9TRlQJCQkwDQorI2RlZmluZSBSR19BVURfVE9QX1JTVF9DT04wX0NM Ul9NQVNLCQkJMHhmDQorI2RlZmluZSBSR19BVURfVE9QX1JTVF9DT04wX0NMUl9NQVNLX1NGVAkJ KDB4ZiA8PCAwKQ0KKw0KKy8qIEFVRF9UT1BfUlNUX0JBTktfQ09OMCAqLw0KKyNkZWZpbmUgQkFO S19BVURaQ0RfU1dSU1RfU0ZUCQkJCTINCisjZGVmaW5lIEJBTktfQVVEWkNEX1NXUlNUX01BU0sJ CQkJMHgxDQorI2RlZmluZSBCQU5LX0FVRFpDRF9TV1JTVF9NQVNLX1NGVAkJCSgweDEgPDwgMikN CisjZGVmaW5lIEJBTktfQVVESU9fU1dSU1RfU0ZUCQkJCTENCisjZGVmaW5lIEJBTktfQVVESU9f U1dSU1RfTUFTSwkJCQkweDENCisjZGVmaW5lIEJBTktfQVVESU9fU1dSU1RfTUFTS19TRlQJCQko MHgxIDw8IDEpDQorI2RlZmluZSBCQU5LX0FDQ0RFVF9TV1JTVF9TRlQJCQkJMA0KKyNkZWZpbmUg QkFOS19BQ0NERVRfU1dSU1RfTUFTSwkJCQkweDENCisjZGVmaW5lIEJBTktfQUNDREVUX1NXUlNU X01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9VTF9ETF9DT04wICovDQorI2RlZmlu ZSBBRkVfVUxfTFJfU1dBUF9TRlQJCQkJMTUNCisjZGVmaW5lIEFGRV9VTF9MUl9TV0FQX01BU0sJ CQkJMHgxDQorI2RlZmluZSBBRkVfVUxfTFJfU1dBUF9NQVNLX1NGVAkJCQkoMHgxIDw8IDE1KQ0K KyNkZWZpbmUgQUZFX0RMX0xSX1NXQVBfU0ZUCQkJCTE0DQorI2RlZmluZSBBRkVfRExfTFJfU1dB UF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQUZFX0RMX0xSX1NXQVBfTUFTS19TRlQJCQkJKDB4MSA8 PCAxNCkNCisjZGVmaW5lIEFGRV9PTl9TRlQJCQkJCTANCisjZGVmaW5lIEFGRV9PTl9NQVNLCQkJ CQkweDENCisjZGVmaW5lIEFGRV9PTl9NQVNLX1NGVAkJCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFG RV9ETF9TUkMyX0NPTjBfTCAqLw0KKyNkZWZpbmUgRExfMl9TUkNfT05fVE1QX0NUTF9QUkVfU0ZU CQkJMA0KKyNkZWZpbmUgRExfMl9TUkNfT05fVE1QX0NUTF9QUkVfTUFTSwkJCTB4MQ0KKyNkZWZp bmUgRExfMl9TUkNfT05fVE1QX0NUTF9QUkVfTUFTS19TRlQJCSgweDEgPDwgMCkNCisNCisvKiBB RkVfVUxfU1JDX0NPTjBfSCAqLw0KKyNkZWZpbmUgQ19ESUdNSUNfUEhBU0VfU0VMX0NIMV9DVExf U0ZUCQkJMTENCisjZGVmaW5lIENfRElHTUlDX1BIQVNFX1NFTF9DSDFfQ1RMX01BU0sJCQkweDcN CisjZGVmaW5lIENfRElHTUlDX1BIQVNFX1NFTF9DSDFfQ1RMX01BU0tfU0ZUCQkoMHg3IDw8IDEx KQ0KKyNkZWZpbmUgQ19ESUdNSUNfUEhBU0VfU0VMX0NIMl9DVExfU0ZUCQkJOA0KKyNkZWZpbmUg Q19ESUdNSUNfUEhBU0VfU0VMX0NIMl9DVExfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgQ19ESUdNSUNf UEhBU0VfU0VMX0NIMl9DVExfTUFTS19TRlQJCSgweDcgPDwgOCkNCisjZGVmaW5lIENfVFdPX0RJ R0lUQUxfTUlDX0NUTF9TRlQJCQk3DQorI2RlZmluZSBDX1RXT19ESUdJVEFMX01JQ19DVExfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgQ19UV09fRElHSVRBTF9NSUNfQ1RMX01BU0tfU0ZUCQkJKDB4MSA8 PCA3KQ0KKw0KKy8qIEFGRV9VTF9TUkNfQ09OMF9MICovDQorI2RlZmluZSBETUlDX0xPV19QT1dF Ul9NT0RFX0NUTF9TRlQJCQkxNA0KKyNkZWZpbmUgRE1JQ19MT1dfUE9XRVJfTU9ERV9DVExfTUFT SwkJCTB4Mw0KKyNkZWZpbmUgRE1JQ19MT1dfUE9XRVJfTU9ERV9DVExfTUFTS19TRlQJCSgweDMg PDwgMTQpDQorI2RlZmluZSBESUdNSUNfNFAzM01fU0VMX0NUTF9TRlQJCQk2DQorI2RlZmluZSBE SUdNSUNfNFAzM01fU0VMX0NUTF9NQVNLCQkJMHgxDQorI2RlZmluZSBESUdNSUNfNFAzM01fU0VM X0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgNikNCisjZGVmaW5lIERJR01JQ18zUDI1TV8xUDYyNU1f U0VMX0NUTF9TRlQJCQk1DQorI2RlZmluZSBESUdNSUNfM1AyNU1fMVA2MjVNX1NFTF9DVExfTUFT SwkJMHgxDQorI2RlZmluZSBESUdNSUNfM1AyNU1fMVA2MjVNX1NFTF9DVExfTUFTS19TRlQJCSgw eDEgPDwgNSkNCisjZGVmaW5lIFVMX0xPT1BfQkFDS19NT0RFX0NUTF9TRlQJCQkyDQorI2RlZmlu ZSBVTF9MT09QX0JBQ0tfTU9ERV9DVExfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgVUxfTE9PUF9CQUNL X01PREVfQ1RMX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgVUxfU0RNXzNfTEVWRUxf Q1RMX1NGVAkJCQkxDQorI2RlZmluZSBVTF9TRE1fM19MRVZFTF9DVExfTUFTSwkJCQkweDENCisj ZGVmaW5lIFVMX1NETV8zX0xFVkVMX0NUTF9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5l IFVMX1NSQ19PTl9UTVBfQ1RMX1NGVAkJCQkwDQorI2RlZmluZSBVTF9TUkNfT05fVE1QX0NUTF9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgVUxfU1JDX09OX1RNUF9DVExfTUFTS19TRlQJCQkoMHgxIDw8 IDApDQorDQorLyogQUZFX0FEREE2X0xfU1JDX0NPTjBfSCAqLw0KKyNkZWZpbmUgQUREQTZfQ19E SUdNSUNfUEhBU0VfU0VMX0NIMV9DVExfU0ZUCQkxMQ0KKyNkZWZpbmUgQUREQTZfQ19ESUdNSUNf UEhBU0VfU0VMX0NIMV9DVExfTUFTSwkJMHg3DQorI2RlZmluZSBBRERBNl9DX0RJR01JQ19QSEFT RV9TRUxfQ0gxX0NUTF9NQVNLX1NGVAkoMHg3IDw8IDExKQ0KKyNkZWZpbmUgQUREQTZfQ19ESUdN SUNfUEhBU0VfU0VMX0NIMl9DVExfU0ZUCQk4DQorI2RlZmluZSBBRERBNl9DX0RJR01JQ19QSEFT RV9TRUxfQ0gyX0NUTF9NQVNLCQkweDcNCisjZGVmaW5lIEFEREE2X0NfRElHTUlDX1BIQVNFX1NF TF9DSDJfQ1RMX01BU0tfU0ZUCSgweDcgPDwgOCkNCisjZGVmaW5lIEFEREE2X0NfVFdPX0RJR0lU QUxfTUlDX0NUTF9TRlQJCQk3DQorI2RlZmluZSBBRERBNl9DX1RXT19ESUdJVEFMX01JQ19DVExf TUFTSwkJMHgxDQorI2RlZmluZSBBRERBNl9DX1RXT19ESUdJVEFMX01JQ19DVExfTUFTS19TRlQJ CSgweDEgPDwgNykNCisNCisvKiBBRkVfQUREQTZfVUxfU1JDX0NPTjBfTCAqLw0KKyNkZWZpbmUg QUREQTZfRE1JQ19MT1dfUE9XRVJfTU9ERV9DVExfU0ZUCQkxNA0KKyNkZWZpbmUgQUREQTZfRE1J Q19MT1dfUE9XRVJfTU9ERV9DVExfTUFTSwkJMHgzDQorI2RlZmluZSBBRERBNl9ETUlDX0xPV19Q T1dFUl9NT0RFX0NUTF9NQVNLX1NGVAkJKDB4MyA8PCAxNCkNCisjZGVmaW5lIEFEREE2X0RJR01J Q180UDMzTV9TRUxfQ1RMX1NGVAkJCTYNCisjZGVmaW5lIEFEREE2X0RJR01JQ180UDMzTV9TRUxf Q1RMX01BU0sJCQkweDENCisjZGVmaW5lIEFEREE2X0RJR01JQ180UDMzTV9TRUxfQ1RMX01BU0tf U0ZUCQkoMHgxIDw8IDYpDQorI2RlZmluZSBBRERBNl9ESUdNSUNfM1AyNU1fMVA2MjVNX1NFTF9D VExfU0ZUCQk1DQorI2RlZmluZSBBRERBNl9ESUdNSUNfM1AyNU1fMVA2MjVNX1NFTF9DVExfTUFT SwkJMHgxDQorI2RlZmluZSBBRERBNl9ESUdNSUNfM1AyNU1fMVA2MjVNX1NFTF9DVExfTUFTS19T RlQJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgQUREQTZfVUxfTE9PUF9CQUNLX01PREVfQ1RMX1NGVAkJ CTINCisjZGVmaW5lIEFEREE2X1VMX0xPT1BfQkFDS19NT0RFX0NUTF9NQVNLCQkweDENCisjZGVm aW5lIEFEREE2X1VMX0xPT1BfQkFDS19NT0RFX0NUTF9NQVNLX1NGVAkJKDB4MSA8PCAyKQ0KKyNk ZWZpbmUgQUREQTZfVUxfU0RNXzNfTEVWRUxfQ1RMX1NGVAkJCTENCisjZGVmaW5lIEFEREE2X1VM X1NETV8zX0xFVkVMX0NUTF9NQVNLCQkJMHgxDQorI2RlZmluZSBBRERBNl9VTF9TRE1fM19MRVZF TF9DVExfTUFTS19TRlQJCSgweDEgPDwgMSkNCisjZGVmaW5lIEFEREE2X1VMX1NSQ19PTl9UTVBf Q1RMX1NGVAkJCTANCisjZGVmaW5lIEFEREE2X1VMX1NSQ19PTl9UTVBfQ1RMX01BU0sJCQkweDEN CisjZGVmaW5lIEFEREE2X1VMX1NSQ19PTl9UTVBfQ1RMX01BU0tfU0ZUCQkoMHgxIDw8IDApDQor DQorLyogQUZFX1RPUF9DT04wICovDQorI2RlZmluZSBBRERBNl9NVEtBSUZfU0lORV9PTl9TRlQJ CQk0DQorI2RlZmluZSBBRERBNl9NVEtBSUZfU0lORV9PTl9NQVNLCQkJMHgxDQorI2RlZmluZSBB RERBNl9NVEtBSUZfU0lORV9PTl9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIEFEREE2 X1VMX1NJTkVfT05fU0ZUCQkJCTMNCisjZGVmaW5lIEFEREE2X1VMX1NJTkVfT05fTUFTSwkJCQkw eDENCisjZGVmaW5lIEFEREE2X1VMX1NJTkVfT05fTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2Rl ZmluZSBNVEtBSUZfU0lORV9PTl9TRlQJCQkJMg0KKyNkZWZpbmUgTVRLQUlGX1NJTkVfT05fTUFT SwkJCQkweDENCisjZGVmaW5lIE1US0FJRl9TSU5FX09OX01BU0tfU0ZUCQkJCSgweDEgPDwgMikN CisjZGVmaW5lIFVMX1NJTkVfT05fU0ZUCQkJCQkxDQorI2RlZmluZSBVTF9TSU5FX09OX01BU0sJ CQkJCTB4MQ0KKyNkZWZpbmUgVUxfU0lORV9PTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDEpDQorI2Rl ZmluZSBETF9TSU5FX09OX1NGVAkJCQkJMA0KKyNkZWZpbmUgRExfU0lORV9PTl9NQVNLCQkJCQkw eDENCisjZGVmaW5lIERMX1NJTkVfT05fTUFTS19TRlQJCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFV RElPX1RPUF9DT04wICovDQorI2RlZmluZSBQRE5fQUZFX0NUTF9TRlQJCQkJCTcNCisjZGVmaW5l IFBETl9BRkVfQ1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBQRE5fQUZFX0NUTF9NQVNLX1NGVAkJ CQkoMHgxIDw8IDcpDQorI2RlZmluZSBQRE5fREFDX0NUTF9TRlQJCQkJCTYNCisjZGVmaW5lIFBE Tl9EQUNfQ1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBQRE5fREFDX0NUTF9NQVNLX1NGVAkJCQko MHgxIDw8IDYpDQorI2RlZmluZSBQRE5fQURDX0NUTF9TRlQJCQkJCTUNCisjZGVmaW5lIFBETl9B RENfQ1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBQRE5fQURDX0NUTF9NQVNLX1NGVAkJCQkoMHgx IDw8IDUpDQorI2RlZmluZSBQRE5fQUREQTZfQURDX0NUTF9TRlQJCQkJNA0KKyNkZWZpbmUgUERO X0FEREE2X0FEQ19DVExfTUFTSwkJCQkweDENCisjZGVmaW5lIFBETl9BRERBNl9BRENfQ1RMX01B U0tfU0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUEROX0kyU19ETF9DVExfU0ZUCQkJCTMNCisj ZGVmaW5lIFBETl9JMlNfRExfQ1RMX01BU0sJCQkJMHgxDQorI2RlZmluZSBQRE5fSTJTX0RMX0NU TF9NQVNLX1NGVAkJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBQV1JfQ0xLX0RJU19DVExfU0ZUCQkJ CTINCisjZGVmaW5lIFBXUl9DTEtfRElTX0NUTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUFdSX0NM S19ESVNfQ1RMX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUEROX0FGRV9URVNUTU9E RUxfQ1RMX1NGVAkJCTENCisjZGVmaW5lIFBETl9BRkVfVEVTVE1PREVMX0NUTF9NQVNLCQkJMHgx DQorI2RlZmluZSBQRE5fQUZFX1RFU1RNT0RFTF9DVExfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQor I2RlZmluZSBQRE5fUkVTRVJWRURfU0ZUCQkJCTANCisjZGVmaW5lIFBETl9SRVNFUlZFRF9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgUEROX1JFU0VSVkVEX01BU0tfU0ZUCQkJCSgweDEgPDwgMCkNCisN CisvKiBBRkVfTU9OX0RFQlVHMCAqLw0KKyNkZWZpbmUgQVVESU9fU1lTX1RPUF9NT05fU1dBUF9T RlQJCQkxNA0KKyNkZWZpbmUgQVVESU9fU1lTX1RPUF9NT05fU1dBUF9NQVNLCQkJMHgzDQorI2Rl ZmluZSBBVURJT19TWVNfVE9QX01PTl9TV0FQX01BU0tfU0ZUCQkJKDB4MyA8PCAxNCkNCisjZGVm aW5lIEFVRElPX1NZU19UT1BfTU9OX1NFTF9TRlQJCQk4DQorI2RlZmluZSBBVURJT19TWVNfVE9Q X01PTl9TRUxfTUFTSwkJCTB4MWYNCisjZGVmaW5lIEFVRElPX1NZU19UT1BfTU9OX1NFTF9NQVNL X1NGVAkJCSgweDFmIDw8IDgpDQorI2RlZmluZSBBRkVfTU9OX1NFTF9TRlQJCQkJCTANCisjZGVm aW5lIEFGRV9NT05fU0VMX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgQUZFX01PTl9TRUxfTUFTS19T RlQJCQkJKDB4ZmYgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09OMCAqLw0KKyNkZWZpbmUgQ0NJ X0FVRF9BTkFDS19TRUxfU0ZUCQkJCTE1DQorI2RlZmluZSBDQ0lfQVVEX0FOQUNLX1NFTF9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9BTkFDS19TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDE1 KQ0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fV1BUUl9TRlQJCQkJMTINCisjZGVmaW5lIENDSV9B VURJT19GSUZPX1dQVFJfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fV1BUUl9N QVNLX1NGVAkJCSgweDcgPDwgMTIpDQorI2RlZmluZSBDQ0lfU0NSQU1CTEVSX0NHX0VOX1NGVAkJ CQkxMQ0KKyNkZWZpbmUgQ0NJX1NDUkFNQkxFUl9DR19FTl9NQVNLCQkJMHgxDQorI2RlZmluZSBD Q0lfU0NSQU1CTEVSX0NHX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxMSkNCisjZGVmaW5lIENDSV9M Q0hfSU5WX1NGVAkJCQkJMTANCisjZGVmaW5lIENDSV9MQ0hfSU5WX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBDQ0lfTENIX0lOVl9NQVNLX1NGVAkJCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgQ0NJX1JB TkRfRU5fU0ZUCQkJCQk5DQorI2RlZmluZSBDQ0lfUkFORF9FTl9NQVNLCQkJCTB4MQ0KKyNkZWZp bmUgQ0NJX1JBTkRfRU5fTUFTS19TRlQJCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgQ0NJX1NQTFRf U0NSTUJfQ0xLX09OX1NGVAkJCTgNCisjZGVmaW5lIENDSV9TUExUX1NDUk1CX0NMS19PTl9NQVNL CQkJMHgxDQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9DTEtfT05fTUFTS19TRlQJCQkoMHgxIDw8 IDgpDQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9PTl9TRlQJCQkJNw0KKyNkZWZpbmUgQ0NJX1NQ TFRfU0NSTUJfT05fTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9TUExUX1NDUk1CX09OX01BU0tf U0ZUCQkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgQ0NJX0FVRF9JREFDX1RFU1RfRU5fU0ZUCQkJNg0K KyNkZWZpbmUgQ0NJX0FVRF9JREFDX1RFU1RfRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FV RF9JREFDX1RFU1RfRU5fTUFTS19TRlQJCQkoMHgxIDw8IDYpDQorI2RlZmluZSBDQ0lfWkVST19Q QURfRElTQUJMRV9TRlQJCQk1DQorI2RlZmluZSBDQ0lfWkVST19QQURfRElTQUJMRV9NQVNLCQkJ MHgxDQorI2RlZmluZSBDQ0lfWkVST19QQURfRElTQUJMRV9NQVNLX1NGVAkJCSgweDEgPDwgNSkN CisjZGVmaW5lIENDSV9BVURfU1BMSVRfVEVTVF9FTl9TRlQJCQk0DQorI2RlZmluZSBDQ0lfQVVE X1NQTElUX1RFU1RfRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9TUExJVF9URVNUX0VO X01BU0tfU0ZUCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVURUxfU0ZUCQkJ CTMNCisjZGVmaW5lIENDSV9BVURfU0RNX01VVEVMX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lf QVVEX1NETV9NVVRFTF9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIENDSV9BVURfU0RN X01VVEVSX1NGVAkJCQkyDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFUl9NQVNLCQkJCTB4MQ0K KyNkZWZpbmUgQ0NJX0FVRF9TRE1fTVVURVJfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmlu ZSBDQ0lfQVVEX1NETV83QklUX1NFTF9TRlQJCQkxDQorI2RlZmluZSBDQ0lfQVVEX1NETV83QklU X1NFTF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX1NETV83QklUX1NFTF9NQVNLX1NGVAkJ CSgweDEgPDwgMSkNCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfRU5fU0ZUCQkJCTANCisjZGVmaW5l IENDSV9TQ1JBTUJMRVJfRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfRU5f TUFTS19TRlQJCQkoMHgxIDw8IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjEgKi8NCisjZGVmaW5l IEFVRF9TRE1fVEVTVF9MX1NGVAkJCQk4DQorI2RlZmluZSBBVURfU0RNX1RFU1RfTF9NQVNLCQkJ CTB4ZmYNCisjZGVmaW5lIEFVRF9TRE1fVEVTVF9MX01BU0tfU0ZUCQkJCSgweGZmIDw8IDgpDQor I2RlZmluZSBBVURfU0RNX1RFU1RfUl9TRlQJCQkJMA0KKyNkZWZpbmUgQVVEX1NETV9URVNUX1Jf TUFTSwkJCQkweGZmDQorI2RlZmluZSBBVURfU0RNX1RFU1RfUl9NQVNLX1NGVAkJCQkoMHhmZiA8 PCAwKQ0KKw0KKy8qIEFGVU5DX0FVRF9DT04yICovDQorI2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFf TVVURV9TRlQJCQk3DQorI2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFfTVVURV9NQVNLCQkJMHgxDQor I2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFfTVVURV9NQVNLX1NGVAkJCSgweDEgPDwgNykNCisjZGVm aW5lIENDSV9BVURfREFDX0FOQV9SU1RCX1NFTF9TRlQJCQk2DQorI2RlZmluZSBDQ0lfQVVEX0RB Q19BTkFfUlNUQl9TRUxfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX1JTVEJf U0VMX01BU0tfU0ZUCQkoMHgxIDw8IDYpDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19DTEtJTl9J TlZfU0ZUCQkJNA0KKyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fQ0xLSU5fSU5WX01BU0sJCQkweDEN CisjZGVmaW5lIENDSV9BVURJT19GSUZPX0NMS0lOX0lOVl9NQVNLX1NGVAkJKDB4MSA8PCA0KQ0K KyNkZWZpbmUgQ0NJX0FVRElPX0ZJRk9fRU5BQkxFX1NGVAkJCTMNCisjZGVmaW5lIENDSV9BVURJ T19GSUZPX0VOQUJMRV9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19FTkFCTEVf TUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBDQ0lfQUNEX01PREVfU0ZUCQkJCTINCisj ZGVmaW5lIENDSV9BQ0RfTU9ERV9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FDRF9NT0RFX01B U0tfU0ZUCQkJCSgweDEgPDwgMikNCisjZGVmaW5lIENDSV9BRklGT19DTEtfUFdEQl9TRlQJCQkJ MQ0KKyNkZWZpbmUgQ0NJX0FGSUZPX0NMS19QV0RCX01BU0sJCQkJMHgxDQorI2RlZmluZSBDQ0lf QUZJRk9fQ0xLX1BXREJfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBDQ0lfQUNEX0ZV TkNfUlNUQl9TRlQJCQkJMA0KKyNkZWZpbmUgQ0NJX0FDRF9GVU5DX1JTVEJfTUFTSwkJCQkweDEN CisjZGVmaW5lIENDSV9BQ0RfRlVOQ19SU1RCX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8q IEFGVU5DX0FVRF9DT04zICovDQorI2RlZmluZSBTRE1fQU5BMTNNX1RFU1RDS19TRUxfU0ZUCQkJ MTUNCisjZGVmaW5lIFNETV9BTkExM01fVEVTVENLX1NFTF9NQVNLCQkJMHgxDQorI2RlZmluZSBT RE1fQU5BMTNNX1RFU1RDS19TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDE1KQ0KKyNkZWZpbmUgU0RN X0FOQTEzTV9URVNUQ0tfU1JDX1NFTF9TRlQJCQkxMg0KKyNkZWZpbmUgU0RNX0FOQTEzTV9URVNU Q0tfU1JDX1NFTF9NQVNLCQkJMHg3DQorI2RlZmluZSBTRE1fQU5BMTNNX1RFU1RDS19TUkNfU0VM X01BU0tfU0ZUCQkoMHg3IDw8IDEyKQ0KKyNkZWZpbmUgU0RNX1RFU1RDS19TUkNfU0VMX1NGVAkJ CQk4DQorI2RlZmluZSBTRE1fVEVTVENLX1NSQ19TRUxfTUFTSwkJCQkweDcNCisjZGVmaW5lIFNE TV9URVNUQ0tfU1JDX1NFTF9NQVNLX1NGVAkJCSgweDcgPDwgOCkNCisjZGVmaW5lIERJR01JQ19U RVNUQ0tfU1JDX1NFTF9TRlQJCQk0DQorI2RlZmluZSBESUdNSUNfVEVTVENLX1NSQ19TRUxfTUFT SwkJCTB4Nw0KKyNkZWZpbmUgRElHTUlDX1RFU1RDS19TUkNfU0VMX01BU0tfU0ZUCQkJKDB4NyA8 PCA0KQ0KKyNkZWZpbmUgRElHTUlDX1RFU1RDS19TRUxfU0ZUCQkJCTANCisjZGVmaW5lIERJR01J Q19URVNUQ0tfU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBESUdNSUNfVEVTVENLX1NFTF9NQVNL X1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09ONCAqLw0KKyNkZWZpbmUgVUxf RklGT19XQ0xLX0lOVl9TRlQJCQkJOA0KKyNkZWZpbmUgVUxfRklGT19XQ0xLX0lOVl9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgVUxfRklGT19XQ0xLX0lOVl9NQVNLX1NGVAkJCSgweDEgPDwgOCkNCisj ZGVmaW5lIFVMX0ZJRk9fRElHTUlDX1dEQVRBX1RFU1RTUkNfU0VMX1NGVAkJNg0KKyNkZWZpbmUg VUxfRklGT19ESUdNSUNfV0RBVEFfVEVTVFNSQ19TRUxfTUFTSwkJMHgxDQorI2RlZmluZSBVTF9G SUZPX0RJR01JQ19XREFUQV9URVNUU1JDX1NFTF9NQVNLX1NGVAkoMHgxIDw8IDYpDQorI2RlZmlu ZSBVTF9GSUZPX1dEQVRBX1RFU1RFTl9TRlQJCQk1DQorI2RlZmluZSBVTF9GSUZPX1dEQVRBX1RF U1RFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBVTF9GSUZPX1dEQVRBX1RFU1RFTl9NQVNLX1NGVAkJ CSgweDEgPDwgNSkNCisjZGVmaW5lIFVMX0ZJRk9fV0RBVEFfVEVTVFNSQ19TRUxfU0ZUCQkJNA0K KyNkZWZpbmUgVUxfRklGT19XREFUQV9URVNUU1JDX1NFTF9NQVNLCQkJMHgxDQorI2RlZmluZSBV TF9GSUZPX1dEQVRBX1RFU1RTUkNfU0VMX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQorI2RlZmluZSBV TF9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU0VMX1NGVAkJIDMNCisjZGVmaW5lIFVMX0ZJRk9fV0NM S182UDVNX1RFU1RDS19TRUxfTUFTSwkJMHgxDQorI2RlZmluZSBVTF9GSUZPX1dDTEtfNlA1TV9U RVNUQ0tfU0VMX01BU0tfU0ZUCQkoMHgxIDw8IDMpDQorI2RlZmluZSBVTF9GSUZPX1dDTEtfNlA1 TV9URVNUQ0tfU1JDX1NFTF9TRlQJCTANCisjZGVmaW5lIFVMX0ZJRk9fV0NMS182UDVNX1RFU1RD S19TUkNfU0VMX01BU0sJCTB4Nw0KKyNkZWZpbmUgVUxfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NS Q19TRUxfTUFTS19TRlQJKDB4NyA8PCAwKQ0KKw0KKy8qIEFGVU5DX0FVRF9DT041ICovDQorI2Rl ZmluZSBSX0FVRF9EQUNfUE9TX0xBUkdFX01PTk9fU0ZUCQkJOA0KKyNkZWZpbmUgUl9BVURfREFD X1BPU19MQVJHRV9NT05PX01BU0sJCQkweGZmDQorI2RlZmluZSBSX0FVRF9EQUNfUE9TX0xBUkdF X01PTk9fTUFTS19TRlQJCSgweGZmIDw8IDgpDQorI2RlZmluZSBSX0FVRF9EQUNfTkVHX0xBUkdF X01PTk9fU0ZUCQkJMA0KKyNkZWZpbmUgUl9BVURfREFDX05FR19MQVJHRV9NT05PX01BU0sJCQkw eGZmDQorI2RlZmluZSBSX0FVRF9EQUNfTkVHX0xBUkdFX01PTk9fTUFTS19TRlQJCSgweGZmIDw8 IDApDQorDQorLyogQUZVTkNfQVVEX0NPTjYgKi8NCisjZGVmaW5lIFJfQVVEX0RBQ19QT1NfU01B TExfTU9OT19TRlQJCQkxMg0KKyNkZWZpbmUgUl9BVURfREFDX1BPU19TTUFMTF9NT05PX01BU0sJ CQkweGYNCisjZGVmaW5lIFJfQVVEX0RBQ19QT1NfU01BTExfTU9OT19NQVNLX1NGVAkJKDB4ZiA8 PCAxMikNCisjZGVmaW5lIFJfQVVEX0RBQ19ORUdfU01BTExfTU9OT19TRlQJCQk4DQorI2RlZmlu ZSBSX0FVRF9EQUNfTkVHX1NNQUxMX01PTk9fTUFTSwkJCTB4Zg0KKyNkZWZpbmUgUl9BVURfREFD X05FR19TTUFMTF9NT05PX01BU0tfU0ZUCQkoMHhmIDw8IDgpDQorI2RlZmluZSBSX0FVRF9EQUNf UE9TX1RJTllfTU9OT19TRlQJCQk2DQorI2RlZmluZSBSX0FVRF9EQUNfUE9TX1RJTllfTU9OT19N QVNLCQkJMHgzDQorI2RlZmluZSBSX0FVRF9EQUNfUE9TX1RJTllfTU9OT19NQVNLX1NGVAkJKDB4 MyA8PCA2KQ0KKyNkZWZpbmUgUl9BVURfREFDX05FR19USU5ZX01PTk9fU0ZUCQkJNA0KKyNkZWZp bmUgUl9BVURfREFDX05FR19USU5ZX01PTk9fTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUl9BVURfREFD X05FR19USU5ZX01PTk9fTUFTS19TRlQJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJfQVVEX0RBQ19N T05PX1NFTF9TRlQJCQkJMw0KKyNkZWZpbmUgUl9BVURfREFDX01PTk9fU0VMX01BU0sJCQkJMHgx DQorI2RlZmluZSBSX0FVRF9EQUNfTU9OT19TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2Rl ZmluZSBSX0FVRF9EQUNfM1RIX1NFTF9TRlQJCQkJMQ0KKyNkZWZpbmUgUl9BVURfREFDXzNUSF9T RUxfTUFTSwkJCQkweDENCisjZGVmaW5lIFJfQVVEX0RBQ18zVEhfU0VMX01BU0tfU0ZUCQkJKDB4 MSA8PCAxKQ0KKyNkZWZpbmUgUl9BVURfREFDX1NXX1JTVEJfU0ZUCQkJCTANCisjZGVmaW5lIFJf QVVEX0RBQ19TV19SU1RCX01BU0sJCQkJMHgxDQorI2RlZmluZSBSX0FVRF9EQUNfU1dfUlNUQl9N QVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09ONyAqLw0KKyNkZWZpbmUg VUwyX0RJR01JQ19URVNUQ0tfU1JDX1NFTF9TRlQJCQkxMA0KKyNkZWZpbmUgVUwyX0RJR01JQ19U RVNUQ0tfU1JDX1NFTF9NQVNLCQkJMHg3DQorI2RlZmluZSBVTDJfRElHTUlDX1RFU1RDS19TUkNf U0VMX01BU0tfU0ZUCQkoMHg3IDw8IDEwKQ0KKyNkZWZpbmUgVUwyX0RJR01JQ19URVNUQ0tfU0VM X1NGVAkJCTkNCisjZGVmaW5lIFVMMl9ESUdNSUNfVEVTVENLX1NFTF9NQVNLCQkJMHgxDQorI2Rl ZmluZSBVTDJfRElHTUlDX1RFU1RDS19TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDkpDQorI2RlZmlu ZSBVTDJfRklGT19XQ0xLX0lOVl9TRlQJCQkJOA0KKyNkZWZpbmUgVUwyX0ZJRk9fV0NMS19JTlZf TUFTSwkJCQkweDENCisjZGVmaW5lIFVMMl9GSUZPX1dDTEtfSU5WX01BU0tfU0ZUCQkJKDB4MSA8 PCA4KQ0KKyNkZWZpbmUgVUwyX0ZJRk9fRElHTUlDX1dEQVRBX1RFU1RTUkNfU0VMX1NGVAkJNg0K KyNkZWZpbmUgVUwyX0ZJRk9fRElHTUlDX1dEQVRBX1RFU1RTUkNfU0VMX01BU0sJCTB4MQ0KKyNk ZWZpbmUgVUwyX0ZJRk9fRElHTUlDX1dEQVRBX1RFU1RTUkNfU0VMX01BU0tfU0ZUCSgweDEgPDwg NikNCisjZGVmaW5lIFVMMl9GSUZPX1dEQVRBX1RFU1RFTl9TRlQJCQk1DQorI2RlZmluZSBVTDJf RklGT19XREFUQV9URVNURU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgVUwyX0ZJRk9fV0RBVEFfVEVT VEVOX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgVUwyX0ZJRk9fV0RBVEFfVEVTVFNS Q19TRUxfU0ZUCQkJNA0KKyNkZWZpbmUgVUwyX0ZJRk9fV0RBVEFfVEVTVFNSQ19TRUxfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgVUwyX0ZJRk9fV0RBVEFfVEVTVFNSQ19TRUxfTUFTS19TRlQJCSgweDEg PDwgNCkNCisjZGVmaW5lIFVMMl9GSUZPX1dDTEtfNlA1TV9URVNUQ0tfU0VMX1NGVAkJMw0KKyNk ZWZpbmUgVUwyX0ZJRk9fV0NMS182UDVNX1RFU1RDS19TRUxfTUFTSwkJMHgxDQorI2RlZmluZSBV TDJfRklGT19XQ0xLXzZQNU1fVEVTVENLX1NFTF9NQVNLX1NGVAkJKDB4MSA8PCAzKQ0KKyNkZWZp bmUgVUwyX0ZJRk9fV0NMS182UDVNX1RFU1RDS19TUkNfU0VMX1NGVAkJMA0KKyNkZWZpbmUgVUwy X0ZJRk9fV0NMS182UDVNX1RFU1RDS19TUkNfU0VMX01BU0sJCTB4Nw0KKyNkZWZpbmUgVUwyX0ZJ Rk9fV0NMS182UDVNX1RFU1RDS19TUkNfU0VMX01BU0tfU0ZUCSgweDcgPDwgMCkNCisNCisvKiBB RlVOQ19BVURfQ09OOCAqLw0KKyNkZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9FTl9TRlQJCQkJOQ0K KyNkZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9FTl9NQVNLCQkJMHgxDQorI2RlZmluZSBTUExJVFRF UjJfRElUSEVSX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgU1BMSVRURVIxX0RJ VEhFUl9FTl9TRlQJCQkJOA0KKyNkZWZpbmUgU1BMSVRURVIxX0RJVEhFUl9FTl9NQVNLCQkJMHgx DQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNk ZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9HQUlOX1NGVAkJCTQNCisjZGVmaW5lIFNQTElUVEVSMl9E SVRIRVJfR0FJTl9NQVNLCQkJMHhmDQorI2RlZmluZSBTUExJVFRFUjJfRElUSEVSX0dBSU5fTUFT S19TRlQJCQkoMHhmIDw8IDQpDQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0dBSU5fU0ZUCQkJ MA0KKyNkZWZpbmUgU1BMSVRURVIxX0RJVEhFUl9HQUlOX01BU0sJCQkweGYNCisjZGVmaW5lIFNQ TElUVEVSMV9ESVRIRVJfR0FJTl9NQVNLX1NGVAkJCSgweGYgPDwgMCkNCisNCisvKiBBRlVOQ19B VURfQ09OOSAqLw0KKyNkZWZpbmUgQ0NJX0FVRF9BTkFDS19TRUxfMk5EX1NGVAkJCTE1DQorI2Rl ZmluZSBDQ0lfQVVEX0FOQUNLX1NFTF8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9B TkFDS19TRUxfMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCAxNSkNCisjZGVmaW5lIENDSV9BVURJT19G SUZPX1dQVFJfMk5EX1NGVAkJCTEyDQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19XUFRSXzJORF9N QVNLCQkJMHg3DQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19XUFRSXzJORF9NQVNLX1NGVAkJKDB4 NyA8PCAxMikNCisjZGVmaW5lIENDSV9TQ1JBTUJMRVJfQ0dfRU5fMk5EX1NGVAkJCTExDQorI2Rl ZmluZSBDQ0lfU0NSQU1CTEVSX0NHX0VOXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfU0NS QU1CTEVSX0NHX0VOXzJORF9NQVNLX1NGVAkJICgweDEgPDwgMTEpDQorI2RlZmluZSBDQ0lfTENI X0lOVl8yTkRfU0ZUCQkJCTEwDQorI2RlZmluZSBDQ0lfTENIX0lOVl8yTkRfTUFTSwkJCQkweDEN CisjZGVmaW5lIENDSV9MQ0hfSU5WXzJORF9NQVNLX1NGVAkJCSgweDEgPDwgMTApDQorI2RlZmlu ZSBDQ0lfUkFORF9FTl8yTkRfU0ZUCQkJCTkNCisjZGVmaW5lIENDSV9SQU5EX0VOXzJORF9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgQ0NJX1JBTkRfRU5fMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCA5KQ0K KyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfQ0xLX09OXzJORF9TRlQJCQk4DQorI2RlZmluZSBDQ0lf U1BMVF9TQ1JNQl9DTEtfT05fMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9TUExUX1NDUk1C X0NMS19PTl8yTkRfTUFTS19TRlQJCSgweDEgPDwgOCkNCisjZGVmaW5lIENDSV9TUExUX1NDUk1C X09OXzJORF9TRlQJCQk3DQorI2RlZmluZSBDQ0lfU1BMVF9TQ1JNQl9PTl8yTkRfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgQ0NJX1NQTFRfU0NSTUJfT05fMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCA3KQ0K KyNkZWZpbmUgQ0NJX0FVRF9JREFDX1RFU1RfRU5fMk5EX1NGVAkJCTYNCisjZGVmaW5lIENDSV9B VURfSURBQ19URVNUX0VOXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX0lEQUNfVEVT VF9FTl8yTkRfTUFTS19TRlQJCSgweDEgPDwgNikNCisjZGVmaW5lIENDSV9aRVJPX1BBRF9ESVNB QkxFXzJORF9TRlQJCQk1DQorI2RlZmluZSBDQ0lfWkVST19QQURfRElTQUJMRV8yTkRfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgQ0NJX1pFUk9fUEFEX0RJU0FCTEVfMk5EX01BU0tfU0ZUCQkoMHgxIDw8 IDUpDQorI2RlZmluZSBDQ0lfQVVEX1NQTElUX1RFU1RfRU5fMk5EX1NGVAkJCTQNCisjZGVmaW5l IENDSV9BVURfU1BMSVRfVEVTVF9FTl8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9T UExJVF9URVNUX0VOXzJORF9NQVNLX1NGVAkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgQ0NJX0FVRF9T RE1fTVVURUxfMk5EX1NGVAkJCTMNCisjZGVmaW5lIENDSV9BVURfU0RNX01VVEVMXzJORF9NQVNL CQkJMHgxDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFTF8yTkRfTUFTS19TRlQJCQkoMHgxIDw8 IDMpDQorI2RlZmluZSBDQ0lfQVVEX1NETV9NVVRFUl8yTkRfU0ZUCQkJMg0KKyNkZWZpbmUgQ0NJ X0FVRF9TRE1fTVVURVJfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURfU0RNX01VVEVS XzJORF9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIENDSV9BVURfU0RNXzdCSVRfU0VM XzJORF9TRlQJCQkxDQorI2RlZmluZSBDQ0lfQVVEX1NETV83QklUX1NFTF8yTkRfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgQ0NJX0FVRF9TRE1fN0JJVF9TRUxfMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDEp DQorI2RlZmluZSBDQ0lfU0NSQU1CTEVSX0VOXzJORF9TRlQJCQkwDQorI2RlZmluZSBDQ0lfU0NS QU1CTEVSX0VOXzJORF9NQVNLCQkJMHgxDQorI2RlZmluZSBDQ0lfU0NSQU1CTEVSX0VOXzJORF9N QVNLX1NGVAkJCSgweDEgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09OMTAgKi8NCisjZGVmaW5l IEFVRF9TRE1fVEVTVF9MXzJORF9TRlQJCQkJOA0KKyNkZWZpbmUgQVVEX1NETV9URVNUX0xfMk5E X01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgQVVEX1NETV9URVNUX0xfMk5EX01BU0tfU0ZUCQkJKDB4 ZmYgPDwgOCkNCisjZGVmaW5lIEFVRF9TRE1fVEVTVF9SXzJORF9TRlQJCQkJMA0KKyNkZWZpbmUg QVVEX1NETV9URVNUX1JfMk5EX01BU0sJCQkJMHhmZg0KKyNkZWZpbmUgQVVEX1NETV9URVNUX1Jf Mk5EX01BU0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfQ09OMTEgKi8NCisj ZGVmaW5lIENDSV9BVURfREFDX0FOQV9NVVRFXzJORF9TRlQJCQk3DQorI2RlZmluZSBDQ0lfQVVE X0RBQ19BTkFfTVVURV8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX01V VEVfMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDcpDQorI2RlZmluZSBDQ0lfQVVEX0RBQ19BTkFfUlNU Ql9TRUxfMk5EX1NGVAkJNg0KKyNkZWZpbmUgQ0NJX0FVRF9EQUNfQU5BX1JTVEJfU0VMXzJORF9N QVNLCQkweDENCisjZGVmaW5lIENDSV9BVURfREFDX0FOQV9SU1RCX1NFTF8yTkRfTUFTS19TRlQJ CSgweDEgPDwgNikNCisjZGVmaW5lIENDSV9BVURJT19GSUZPX0NMS0lOX0lOVl8yTkRfU0ZUCQk0 DQorI2RlZmluZSBDQ0lfQVVESU9fRklGT19DTEtJTl9JTlZfMk5EX01BU0sJCTB4MQ0KKyNkZWZp bmUgQ0NJX0FVRElPX0ZJRk9fQ0xLSU5fSU5WXzJORF9NQVNLX1NGVAkJKDB4MSA8PCA0KQ0KKyNk ZWZpbmUgQ0NJX0FVRElPX0ZJRk9fRU5BQkxFXzJORF9TRlQJCQkzDQorI2RlZmluZSBDQ0lfQVVE SU9fRklGT19FTkFCTEVfMk5EX01BU0sJCQkweDENCisjZGVmaW5lIENDSV9BVURJT19GSUZPX0VO QUJMRV8yTkRfTUFTS19TRlQJCSgweDEgPDwgMykNCisjZGVmaW5lIENDSV9BQ0RfTU9ERV8yTkRf U0ZUCQkJCTINCisjZGVmaW5lIENDSV9BQ0RfTU9ERV8yTkRfTUFTSwkJCQkweDENCisjZGVmaW5l IENDSV9BQ0RfTU9ERV8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBDQ0lfQUZJ Rk9fQ0xLX1BXREJfMk5EX1NGVAkJCTENCisjZGVmaW5lIENDSV9BRklGT19DTEtfUFdEQl8yTkRf TUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FGSUZPX0NMS19QV0RCXzJORF9NQVNLX1NGVAkJCSgw eDEgPDwgMSkNCisjZGVmaW5lIENDSV9BQ0RfRlVOQ19SU1RCXzJORF9TRlQJCQkwDQorI2RlZmlu ZSBDQ0lfQUNEX0ZVTkNfUlNUQl8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ0NJX0FDRF9GVU5D X1JTVEJfMk5EX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGVU5DX0FVRF9DT04xMiAq Lw0KKyNkZWZpbmUgU1BMSVRURVIyX0RJVEhFUl9FTl8yTkRfU0ZUCQkJOQ0KKyNkZWZpbmUgU1BM SVRURVIyX0RJVEhFUl9FTl8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgU1BMSVRURVIyX0RJVEhF Ul9FTl8yTkRfTUFTS19TRlQJCSgweDEgPDwgOSkNCisjZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJf RU5fMk5EX1NGVAkJCTgNCisjZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJfRU5fMk5EX01BU0sJCQkw eDENCisjZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJfRU5fMk5EX01BU0tfU0ZUCQkoMHgxIDw8IDgp DQorI2RlZmluZSBTUExJVFRFUjJfRElUSEVSX0dBSU5fMk5EX1NGVAkJCTQNCisjZGVmaW5lIFNQ TElUVEVSMl9ESVRIRVJfR0FJTl8yTkRfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgU1BMSVRURVIyX0RJ VEhFUl9HQUlOXzJORF9NQVNLX1NGVAkJKDB4ZiA8PCA0KQ0KKyNkZWZpbmUgU1BMSVRURVIxX0RJ VEhFUl9HQUlOXzJORF9TRlQJCQkwDQorI2RlZmluZSBTUExJVFRFUjFfRElUSEVSX0dBSU5fMk5E X01BU0sJCQkweGYNCisjZGVmaW5lIFNQTElUVEVSMV9ESVRIRVJfR0FJTl8yTkRfTUFTS19TRlQJ CSgweGYgPDwgMCkNCisNCisvKiBBRlVOQ19BVURfTU9OMCAqLw0KKyNkZWZpbmUgQVVEX1NDUl9P VVRfTF9TRlQJCQkJOA0KKyNkZWZpbmUgQVVEX1NDUl9PVVRfTF9NQVNLCQkJCTB4ZmYNCisjZGVm aW5lIEFVRF9TQ1JfT1VUX0xfTUFTS19TRlQJCQkJKDB4ZmYgPDwgOCkNCisjZGVmaW5lIEFVRF9T Q1JfT1VUX1JfU0ZUCQkJCTANCisjZGVmaW5lIEFVRF9TQ1JfT1VUX1JfTUFTSwkJCQkweGZmDQor I2RlZmluZSBBVURfU0NSX09VVF9SX01BU0tfU0ZUCQkJCSgweGZmIDw8IDApDQorDQorLyogQUZV TkNfQVVEX01PTjEgKi8NCisjZGVmaW5lIEFVRF9TQ1JfT1VUX0xfMk5EX1NGVAkJCQk4DQorI2Rl ZmluZSBBVURfU0NSX09VVF9MXzJORF9NQVNLCQkJCTB4ZmYNCisjZGVmaW5lIEFVRF9TQ1JfT1VU X0xfMk5EX01BU0tfU0ZUCQkJKDB4ZmYgPDwgOCkNCisjZGVmaW5lIEFVRF9TQ1JfT1VUX1JfMk5E X1NGVAkJCQkwDQorI2RlZmluZSBBVURfU0NSX09VVF9SXzJORF9NQVNLCQkJCTB4ZmYNCisjZGVm aW5lIEFVRF9TQ1JfT1VUX1JfMk5EX01BU0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisNCisvKiBBVURS Q19UVU5FX01PTjAgKi8NCisjZGVmaW5lIEFTWU5DX1RFU1RfT1VUX0JDS19TRlQJCQkJMTUNCisj ZGVmaW5lIEFTWU5DX1RFU1RfT1VUX0JDS19NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgQVNZTkNfVEVT VF9PVVRfQkNLX01BU0tfU0ZUCQkJKDB4MSA8PCAxNSkNCisjZGVmaW5lIFJHU19BVURSQ1RVTkUx UkVBRF9TRlQJCQkJOA0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORTFSRUFEX01BU0sJCQkJMHgxZg0K KyNkZWZpbmUgUkdTX0FVRFJDVFVORTFSRUFEX01BU0tfU0ZUCQkJKDB4MWYgPDwgOCkNCisjZGVm aW5lIFJHU19BVURSQ1RVTkUwUkVBRF9TRlQJCQkJMA0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORTBS RUFEX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORTBSRUFEX01BU0tfU0ZUCQkJ KDB4MWYgPDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtBSUZfRklGT19DRkcwICovDQorI2RlZmlu ZSBBRkVfUkVTRVJWRURfU0ZUCQkJCTENCisjZGVmaW5lIEFGRV9SRVNFUlZFRF9NQVNLCQkJCTB4 N2ZmZg0KKyNkZWZpbmUgQUZFX1JFU0VSVkVEX01BU0tfU0ZUCQkJCSgweDdmZmYgPDwgMSkNCisj ZGVmaW5lIFJHX01US0FJRl9SWElGX0ZJRk9fSU5URU5fU0ZUCQkJMA0KKyNkZWZpbmUgUkdfTVRL QUlGX1JYSUZfRklGT19JTlRFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9G SUZPX0lOVEVOX01BU0tfU0ZUCQkoMHgxIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX0ZJ Rk9fTE9HX01PTjEgKi8NCisjZGVmaW5lIE1US0FJRl9SWElGX1dSX0ZVTExfU1RBVFVTX1NGVAkJ CTENCisjZGVmaW5lIE1US0FJRl9SWElGX1dSX0ZVTExfU1RBVFVTX01BU0sJCQkweDENCisjZGVm aW5lIE1US0FJRl9SWElGX1dSX0ZVTExfU1RBVFVTX01BU0tfU0ZUCQkoMHgxIDw8IDEpDQorI2Rl ZmluZSBNVEtBSUZfUlhJRl9SRF9FTVBUWV9TVEFUVVNfU0ZUCQkJMA0KKyNkZWZpbmUgTVRLQUlG X1JYSUZfUkRfRU1QVFlfU1RBVFVTX01BU0sJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfUkRf RU1QVFlfU1RBVFVTX01BU0tfU0ZUCQkoMHgxIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlG X01PTjAgKi8NCisjZGVmaW5lIE1US0FJRlRYX1YzX1NZTkNfT1VUX1NGVAkJCTE1DQorI2RlZmlu ZSBNVEtBSUZUWF9WM19TWU5DX09VVF9NQVNLCQkJMHgxDQorI2RlZmluZSBNVEtBSUZUWF9WM19T WU5DX09VVF9NQVNLX1NGVAkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBNVEtBSUZUWF9WM19TREFU QV9PVVQzX1NGVAkJCTE0DQorI2RlZmluZSBNVEtBSUZUWF9WM19TREFUQV9PVVQzX01BU0sJCQkw eDENCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRBX09VVDNfTUFTS19TRlQJCQkoMHgxIDw8IDE0 KQ0KKyNkZWZpbmUgTVRLQUlGVFhfVjNfU0RBVEFfT1VUMl9TRlQJCQkxMw0KKyNkZWZpbmUgTVRL QUlGVFhfVjNfU0RBVEFfT1VUMl9NQVNLCQkJMHgxDQorI2RlZmluZSBNVEtBSUZUWF9WM19TREFU QV9PVVQyX01BU0tfU0ZUCQkJKDB4MSA8PCAxMykNCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRB X09VVDFfU0ZUCQkJMTINCisjZGVmaW5lIE1US0FJRlRYX1YzX1NEQVRBX09VVDFfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgTVRLQUlGVFhfVjNfU0RBVEFfT1VUMV9NQVNLX1NGVAkJCSgweDEgPDwgMTIp DQorI2RlZmluZSBNVEtBSUZfUlhJRl9GSUZPX1NUQVRVU19TRlQJCQkwDQorI2RlZmluZSBNVEtB SUZfUlhJRl9GSUZPX1NUQVRVU19NQVNLCQkJMHhmZmYNCisjZGVmaW5lIE1US0FJRl9SWElGX0ZJ Rk9fU1RBVFVTX01BU0tfU0ZUCQkoMHhmZmYgPDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtBSUZf TU9OMSAqLw0KKyNkZWZpbmUgTVRLQUlGUlhfVjNfU1lOQ19JTl9TRlQJCQkJMTUNCisjZGVmaW5l IE1US0FJRlJYX1YzX1NZTkNfSU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGUlhfVjNfU1lO Q19JTl9NQVNLX1NGVAkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBNVEtBSUZSWF9WM19TREFUQV9J TjNfU0ZUCQkJMTQNCisjZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRBX0lOM19NQVNLCQkJMHgxDQor I2RlZmluZSBNVEtBSUZSWF9WM19TREFUQV9JTjNfTUFTS19TRlQJCQkoMHgxIDw8IDE0KQ0KKyNk ZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFfSU4yX1NGVAkJCTEzDQorI2RlZmluZSBNVEtBSUZSWF9W M19TREFUQV9JTjJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFfSU4yX01B U0tfU0ZUCQkJKDB4MSA8PCAxMykNCisjZGVmaW5lIE1US0FJRlJYX1YzX1NEQVRBX0lOMV9TRlQJ CQkxMg0KKyNkZWZpbmUgTVRLQUlGUlhfVjNfU0RBVEFfSU4xX01BU0sJCQkweDENCisjZGVmaW5l IE1US0FJRlJYX1YzX1NEQVRBX0lOMV9NQVNLX1NGVAkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBN VEtBSUZfUlhJRl9TRUFSQ0hfRkFJTF9GTEFHX1NGVAkJMTENCisjZGVmaW5lIE1US0FJRl9SWElG X1NFQVJDSF9GQUlMX0ZMQUdfTUFTSwkJMHgxDQorI2RlZmluZSBNVEtBSUZfUlhJRl9TRUFSQ0hf RkFJTF9GTEFHX01BU0tfU0ZUCQkoMHgxIDw8IDExKQ0KKyNkZWZpbmUgTVRLQUlGX1JYSUZfSU5W QUxJRF9GTEFHX1NGVAkJCTgNCisjZGVmaW5lIE1US0FJRl9SWElGX0lOVkFMSURfRkxBR19NQVNL CQkJMHgxDQorI2RlZmluZSBNVEtBSUZfUlhJRl9JTlZBTElEX0ZMQUdfTUFTS19TRlQJCSgweDEg PDwgOCkNCisjZGVmaW5lIE1US0FJRl9SWElGX0lOVkFMSURfQ1lDTEVfU0ZUCQkJMA0KKyNkZWZp bmUgTVRLQUlGX1JYSUZfSU5WQUxJRF9DWUNMRV9NQVNLCQkJMHhmZg0KKyNkZWZpbmUgTVRLQUlG X1JYSUZfSU5WQUxJRF9DWUNMRV9NQVNLX1NGVAkJKDB4ZmYgPDwgMCkNCisNCisvKiBBRkVfQURE QV9NVEtBSUZfTU9OMiAqLw0KKyNkZWZpbmUgTVRLQUlGX1RYSUZfSU5fQ0gyX1NGVAkJCQk4DQor I2RlZmluZSBNVEtBSUZfVFhJRl9JTl9DSDJfTUFTSwkJCQkweGZmDQorI2RlZmluZSBNVEtBSUZf VFhJRl9JTl9DSDJfTUFTS19TRlQJCQkoMHhmZiA8PCA4KQ0KKyNkZWZpbmUgTVRLQUlGX1RYSUZf SU5fQ0gxX1NGVAkJCQkwDQorI2RlZmluZSBNVEtBSUZfVFhJRl9JTl9DSDFfTUFTSwkJCQkweGZm DQorI2RlZmluZSBNVEtBSUZfVFhJRl9JTl9DSDFfTUFTS19TRlQJCQkoMHhmZiA8PCAwKQ0KKw0K Ky8qIEFGRV9BRERBNl9NVEtBSUZfTU9OMyAqLw0KKyNkZWZpbmUgQUREQTZfTVRLQUlGX1RYSUZf SU5fQ0gyX1NGVAkJCTgNCisjZGVmaW5lIEFEREE2X01US0FJRl9UWElGX0lOX0NIMl9NQVNLCQkJ MHhmZg0KKyNkZWZpbmUgQUREQTZfTVRLQUlGX1RYSUZfSU5fQ0gyX01BU0tfU0ZUCQkoMHhmZiA8 PCA4KQ0KKyNkZWZpbmUgQUREQTZfTVRLQUlGX1RYSUZfSU5fQ0gxX1NGVAkJCTANCisjZGVmaW5l IEFEREE2X01US0FJRl9UWElGX0lOX0NIMV9NQVNLCQkJMHhmZg0KKyNkZWZpbmUgQUREQTZfTVRL QUlGX1RYSUZfSU5fQ0gxX01BU0tfU0ZUCQkoMHhmZiA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBX01U S0FJRl9NT040ICovDQorI2RlZmluZSBNVEtBSUZfUlhJRl9PVVRfQ0gyX1NGVAkJCQk4DQorI2Rl ZmluZSBNVEtBSUZfUlhJRl9PVVRfQ0gyX01BU0sJCQkweGZmDQorI2RlZmluZSBNVEtBSUZfUlhJ Rl9PVVRfQ0gyX01BU0tfU0ZUCQkJKDB4ZmYgPDwgOCkNCisjZGVmaW5lIE1US0FJRl9SWElGX09V VF9DSDFfU0ZUCQkJCTANCisjZGVmaW5lIE1US0FJRl9SWElGX09VVF9DSDFfTUFTSwkJCTB4ZmYN CisjZGVmaW5lIE1US0FJRl9SWElGX09VVF9DSDFfTUFTS19TRlQJCQkoMHhmZiA8PCAwKQ0KKw0K Ky8qIEFGRV9BRERBX01US0FJRl9NT041ICovDQorI2RlZmluZSBNVEtBSUZfUlhJRl9PVVRfQ0gz X1NGVAkJCQkwDQorI2RlZmluZSBNVEtBSUZfUlhJRl9PVVRfQ0gzX01BU0sJCQkweGZmDQorI2Rl ZmluZSBNVEtBSUZfUlhJRl9PVVRfQ0gzX01BU0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisNCisvKiBB RkVfQUREQV9NVEtBSUZfQ0ZHMCAqLw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfQ0xLSU5WX1NG VAkJCTE1DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9DTEtJTlZfTUFTSwkJCTB4MQ0KKyNkZWZp bmUgUkdfTVRLQUlGX1JYSUZfQ0xLSU5WX01BU0tfU0ZUCQkJKDB4MSA8PCAxNSkNCisjZGVmaW5l IFJHX0FEREE2X01US0FJRl9UWElGX1BST1RPQ09MMl9TRlQJCTkNCisjZGVmaW5lIFJHX0FEREE2 X01US0FJRl9UWElGX1BST1RPQ09MMl9NQVNLCQkweDENCisjZGVmaW5lIFJHX0FEREE2X01US0FJ Rl9UWElGX1BST1RPQ09MMl9NQVNLX1NGVAkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfTVRLQUlG X1JYSUZfUFJPVE9DT0wyX1NGVAkJCTgNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1BST1RPQ09M Ml9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9QUk9UT0NPTDJfTUFTS19TRlQJ CSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX01US0FJRl9CWVBBU1NfU1JDX01PREVfU0ZUCQkJNg0K KyNkZWZpbmUgUkdfTVRLQUlGX0JZUEFTU19TUkNfTU9ERV9NQVNLCQkJMHgzDQorI2RlZmluZSBS R19NVEtBSUZfQllQQVNTX1NSQ19NT0RFX01BU0tfU0ZUCQkoMHgzIDw8IDYpDQorI2RlZmluZSBS R19NVEtBSUZfQllQQVNTX1NSQ19URVNUX1NGVAkJCTUNCisjZGVmaW5lIFJHX01US0FJRl9CWVBB U1NfU1JDX1RFU1RfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX0JZUEFTU19TUkNfVEVT VF9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1RYSUZfUFJPVE9DT0wy X1NGVAkJCTQNCisjZGVmaW5lIFJHX01US0FJRl9UWElGX1BST1RPQ09MMl9NQVNLCQkJMHgxDQor I2RlZmluZSBSR19NVEtBSUZfVFhJRl9QUk9UT0NPTDJfTUFTS19TRlQJCSgweDEgPDwgNCkNCisj ZGVmaW5lIFJHX0FEREE2X01US0FJRl9QTUlDX1RYSUZfOFRPNV9TRlQJCTMNCisjZGVmaW5lIFJH X0FEREE2X01US0FJRl9QTUlDX1RYSUZfOFRPNV9NQVNLCQkweDENCisjZGVmaW5lIFJHX0FEREE2 X01US0FJRl9QTUlDX1RYSUZfOFRPNV9NQVNLX1NGVAkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdf TVRLQUlGX1BNSUNfVFhJRl84VE81X1NGVAkJCTINCisjZGVmaW5lIFJHX01US0FJRl9QTUlDX1RY SUZfOFRPNV9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19NVEtBSUZfUE1JQ19UWElGXzhUTzVfTUFT S19TRlQJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX01US0FJRl9MT09QQkFDS19URVNUMl9TRlQJ CQkxDQorI2RlZmluZSBSR19NVEtBSUZfTE9PUEJBQ0tfVEVTVDJfTUFTSwkJCTB4MQ0KKyNkZWZp bmUgUkdfTVRLQUlGX0xPT1BCQUNLX1RFU1QyX01BU0tfU0ZUCQkoMHgxIDw8IDEpDQorI2RlZmlu ZSBSR19NVEtBSUZfTE9PUEJBQ0tfVEVTVDFfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfTVRLQUlGX0xP T1BCQUNLX1RFU1QxX01BU0sJCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9MT09QQkFDS19URVNU MV9NQVNLX1NGVAkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9BRERBX01US0FJRl9SWF9DRkcwICov DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9WT0lDRV9NT0RFX1NGVAkJCTEyDQorI2RlZmluZSBS R19NVEtBSUZfUlhJRl9WT0lDRV9NT0RFX01BU0sJCQkweGYNCisjZGVmaW5lIFJHX01US0FJRl9S WElGX1ZPSUNFX01PREVfTUFTS19TRlQJCSgweGYgPDwgMTIpDQorI2RlZmluZSBSR19NVEtBSUZf UlhJRl9EQVRBX0JJVF9TRlQJCQk4DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9EQVRBX0JJVF9N QVNLCQkJMHg3DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9EQVRBX0JJVF9NQVNLX1NGVAkJKDB4 NyA8PCA4KQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfRklGT19SU1BfU0ZUCQkJNA0KKyNkZWZp bmUgUkdfTVRLQUlGX1JYSUZfRklGT19SU1BfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfTVRLQUlG X1JYSUZfRklGT19SU1BfTUFTS19TRlQJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJHX01US0FJRl9S WElGX0RFVEVDVF9PTl9TRlQJCQkzDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9ERVRFQ1RfT05f TUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfREVURUNUX09OX01BU0tfU0ZUCQko MHgxIDw8IDMpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9EQVRBX01PREVfU0ZUCQkJMA0KKyNk ZWZpbmUgUkdfTVRLQUlGX1JYSUZfREFUQV9NT0RFX01BU0sJCQkweDENCisjZGVmaW5lIFJHX01U S0FJRl9SWElGX0RBVEFfTU9ERV9NQVNLX1NGVAkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFGRV9BRERB X01US0FJRl9SWF9DRkcxICovDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX1NFQVJDSF9U QUJMRV9TRlQJCTEyDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX1NFQVJDSF9UQUJMRV9N QVNLCQkweGYNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1NZTkNfU0VBUkNIX1RBQkxFX01BU0tf U0ZUCSgweGYgPDwgMTIpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9JTlZBTElEX1NZTkNfQ0hF Q0tfUk9VTkRfU0ZUCTgNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0lOVkFMSURfU1lOQ19DSEVD S19ST1VORF9NQVNLCTB4Zg0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfSU5WQUxJRF9TWU5DX0NI RUNLX1JPVU5EX01BU0tfU0ZUCSgweGYgPDwgOCkNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1NZ TkNfQ0hFQ0tfUk9VTkRfU0ZUCQk0DQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9TWU5DX0NIRUNL X1JPVU5EX01BU0sJCTB4Zg0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19DSEVDS19ST1VO RF9NQVNLX1NGVAkoMHhmIDw8IDQpDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9WT0lDRV9NT0RF X1BST1RPQ09MMl9TRlQJCTANCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1ZPSUNFX01PREVfUFJP VE9DT0wyX01BU0sJMHhmDQorI2RlZmluZSBSR19NVEtBSUZfUlhJRl9WT0lDRV9NT0RFX1BST1RP Q09MMl9NQVNLX1NGVAkoMHhmIDw8IDApDQorDQorLyogQUZFX0FEREFfTVRLQUlGX1JYX0NGRzIg Ki8NCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1AyX0lOUFVUX1NFTF9TRlQJCQkxNQ0KKyNkZWZp bmUgUkdfTVRLQUlGX1JYSUZfUDJfSU5QVVRfU0VMX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfTVRL QUlGX1JYSUZfUDJfSU5QVVRfU0VMX01BU0tfU0ZUCQkoMHgxIDw8IDE1KQ0KKyNkZWZpbmUgUkdf TVRLQUlGX1JYSUZfU1lOQ19XT1JEMl9ESVNBQkxFX1NGVAkJMTQNCisjZGVmaW5lIFJHX01US0FJ Rl9SWElGX1NZTkNfV09SRDJfRElTQUJMRV9NQVNLCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9S WElGX1NZTkNfV09SRDJfRElTQUJMRV9NQVNLX1NGVAkoMHgxIDw8IDE0KQ0KKyNkZWZpbmUgUkdf TVRLQUlGX1JYSUZfU1lOQ19XT1JEMV9ESVNBQkxFX1NGVAkJMTMNCisjZGVmaW5lIFJHX01US0FJ Rl9SWElGX1NZTkNfV09SRDFfRElTQUJMRV9NQVNLCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9S WElGX1NZTkNfV09SRDFfRElTQUJMRV9NQVNLX1NGVAkoMHgxIDw8IDEzKQ0KKyNkZWZpbmUgUkdf TVRLQUlGX1JYSUZfQ0xFQVJfU1lOQ19GQUlMX1NGVAkJMTINCisjZGVmaW5lIFJHX01US0FJRl9S WElGX0NMRUFSX1NZTkNfRkFJTF9NQVNLCQkweDENCisjZGVmaW5lIFJHX01US0FJRl9SWElGX0NM RUFSX1NZTkNfRkFJTF9NQVNLX1NGVAkJKDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX01US0FJRl9S WElGX1NZTkNfQ05UX1RBQkxFX1NGVAkJMA0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfU1lOQ19D TlRfVEFCTEVfTUFTSwkJMHhmZmYNCisjZGVmaW5lIFJHX01US0FJRl9SWElGX1NZTkNfQ05UX1RB QkxFX01BU0tfU0ZUCQkoMHhmZmYgPDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtBSUZfUlhfQ0ZH MyAqLw0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYSUZfTE9PUEJBQ0tfVVNFX05MRV9TRlQJCTcNCisj ZGVmaW5lIFJHX01US0FJRl9SWElGX0xPT1BCQUNLX1VTRV9OTEVfTUFTSwkJMHgxDQorI2RlZmlu ZSBSR19NVEtBSUZfUlhJRl9MT09QQkFDS19VU0VfTkxFX01BU0tfU0ZUCSgweDEgPDwgNykNCisj ZGVmaW5lIFJHX01US0FJRl9SWElGX0ZJRk9fUlNQX1BST1RPQ09MMl9TRlQJCTQNCisjZGVmaW5l IFJHX01US0FJRl9SWElGX0ZJRk9fUlNQX1BST1RPQ09MMl9NQVNLCQkweDcNCisjZGVmaW5lIFJH X01US0FJRl9SWElGX0ZJRk9fUlNQX1BST1RPQ09MMl9NQVNLX1NGVAkoMHg3IDw8IDQpDQorI2Rl ZmluZSBSR19NVEtBSUZfUlhJRl9ERVRFQ1RfT05fUFJPVE9DT0wyX1NGVAkJMw0KKyNkZWZpbmUg UkdfTVRLQUlGX1JYSUZfREVURUNUX09OX1BST1RPQ09MMl9NQVNLCQkweDENCisjZGVmaW5lIFJH X01US0FJRl9SWElGX0RFVEVDVF9PTl9QUk9UT0NPTDJfTUFTS19TRlQJKDB4MSA8PCAzKQ0KKw0K Ky8qIEFGRV9BRERBX01US0FJRl9TWU5DV09SRF9DRkcwICovDQorI2RlZmluZSBSR19NVEtBSUZf UlhfU1lOQ19XT1JEMl9TRlQJCQk0DQorI2RlZmluZSBSR19NVEtBSUZfUlhfU1lOQ19XT1JEMl9N QVNLCQkJMHg3DQorI2RlZmluZSBSR19NVEtBSUZfUlhfU1lOQ19XT1JEMl9NQVNLX1NGVAkJKDB4 NyA8PCA0KQ0KKyNkZWZpbmUgUkdfTVRLQUlGX1JYX1NZTkNfV09SRDFfU0ZUCQkJMA0KKyNkZWZp bmUgUkdfTVRLQUlGX1JYX1NZTkNfV09SRDFfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUkdfTVRLQUlG X1JYX1NZTkNfV09SRDFfTUFTS19TRlQJCSgweDcgPDwgMCkNCisNCisvKiBBRkVfQUREQV9NVEtB SUZfU1lOQ1dPUkRfQ0ZHMSAqLw0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1RYX1NZTkNfV09S RDJfU0ZUCQkxMg0KKyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1RYX1NZTkNfV09SRDJfTUFTSwkJ MHg3DQorI2RlZmluZSBSR19BRERBNl9NVEtBSUZfVFhfU1lOQ19XT1JEMl9NQVNLX1NGVAkJKDB4 NyA8PCAxMikNCisjZGVmaW5lIFJHX0FEREE2X01US0FJRl9UWF9TWU5DX1dPUkQxX1NGVAkJOA0K KyNkZWZpbmUgUkdfQUREQTZfTVRLQUlGX1RYX1NZTkNfV09SRDFfTUFTSwkJMHg3DQorI2RlZmlu ZSBSR19BRERBNl9NVEtBSUZfVFhfU1lOQ19XT1JEMV9NQVNLX1NGVAkJKDB4NyA8PCA4KQ0KKyNk ZWZpbmUgUkdfQUREQV9NVEtBSUZfVFhfU1lOQ19XT1JEMl9TRlQJCTQNCisjZGVmaW5lIFJHX0FE REFfTVRLQUlGX1RYX1NZTkNfV09SRDJfTUFTSwkJMHg3DQorI2RlZmluZSBSR19BRERBX01US0FJ Rl9UWF9TWU5DX1dPUkQyX01BU0tfU0ZUCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSR19BRERBX01U S0FJRl9UWF9TWU5DX1dPUkQxX1NGVAkJMA0KKyNkZWZpbmUgUkdfQUREQV9NVEtBSUZfVFhfU1lO Q19XT1JEMV9NQVNLCQkweDcNCisjZGVmaW5lIFJHX0FEREFfTVRLQUlGX1RYX1NZTkNfV09SRDFf TUFTS19TRlQJCSgweDcgPDwgMCkNCisNCisvKiBBRkVfU0dFTl9DRkcwICovDQorI2RlZmluZSBT R0VOX0FNUF9ESVZfQ0gxX0NUTF9TRlQJCQkxMg0KKyNkZWZpbmUgU0dFTl9BTVBfRElWX0NIMV9D VExfTUFTSwkJCTB4Zg0KKyNkZWZpbmUgU0dFTl9BTVBfRElWX0NIMV9DVExfTUFTS19TRlQJCQko MHhmIDw8IDEyKQ0KKyNkZWZpbmUgU0dFTl9EQUNfRU5fQ1RMX1NGVAkJCQk3DQorI2RlZmluZSBT R0VOX0RBQ19FTl9DVExfTUFTSwkJCQkweDENCisjZGVmaW5lIFNHRU5fREFDX0VOX0NUTF9NQVNL X1NGVAkJCSgweDEgPDwgNykNCisjZGVmaW5lIFNHRU5fTVVURV9TV19DVExfU0ZUCQkJCTYNCisj ZGVmaW5lIFNHRU5fTVVURV9TV19DVExfTUFTSwkJCQkweDENCisjZGVmaW5lIFNHRU5fTVVURV9T V19DVExfTUFTS19TRlQJCQkoMHgxIDw8IDYpDQorI2RlZmluZSBSX0FVRF9TRE1fTVVURV9MX1NG VAkJCQk1DQorI2RlZmluZSBSX0FVRF9TRE1fTVVURV9MX01BU0sJCQkJMHgxDQorI2RlZmluZSBS X0FVRF9TRE1fTVVURV9MX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUl9BVURfU0RN X01VVEVfUl9TRlQJCQkJNA0KKyNkZWZpbmUgUl9BVURfU0RNX01VVEVfUl9NQVNLCQkJCTB4MQ0K KyNkZWZpbmUgUl9BVURfU0RNX01VVEVfUl9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5l IFJfQVVEX1NETV9NVVRFX0xfMk5EX1NGVAkJCTMNCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX0xf Mk5EX01BU0sJCQkweDENCisjZGVmaW5lIFJfQVVEX1NETV9NVVRFX0xfMk5EX01BU0tfU0ZUCQkJ KDB4MSA8PCAzKQ0KKyNkZWZpbmUgUl9BVURfU0RNX01VVEVfUl8yTkRfU0ZUCQkJMg0KKyNkZWZp bmUgUl9BVURfU0RNX01VVEVfUl8yTkRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUl9BVURfU0RNX01V VEVfUl8yTkRfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorDQorLyogQUZFX1NHRU5fQ0ZHMSAqLw0K KyNkZWZpbmUgQ19TR0VOX1JDSF9JTlZfNUJJVF9TRlQJCQkJMTUNCisjZGVmaW5lIENfU0dFTl9S Q0hfSU5WXzVCSVRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgQ19TR0VOX1JDSF9JTlZfNUJJVF9NQVNL X1NGVAkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBDX1NHRU5fUkNIX0lOVl84QklUX1NGVAkJCQkx NA0KKyNkZWZpbmUgQ19TR0VOX1JDSF9JTlZfOEJJVF9NQVNLCQkJMHgxDQorI2RlZmluZSBDX1NH RU5fUkNIX0lOVl84QklUX01BU0tfU0ZUCQkJKDB4MSA8PCAxNCkNCisjZGVmaW5lIFNHRU5fRlJF UV9ESVZfQ0gxX0NUTF9TRlQJCQkwDQorI2RlZmluZSBTR0VOX0ZSRVFfRElWX0NIMV9DVExfTUFT SwkJCTB4MWYNCisjZGVmaW5lIFNHRU5fRlJFUV9ESVZfQ0gxX0NUTF9NQVNLX1NGVAkJCSgweDFm IDw8IDApDQorDQorLyogQUZFX0FEQ19BU1lOQ19GSUZPX0NGRyAqLw0KKyNkZWZpbmUgUkdfVUxf QVNZTkNfRklGT19TT0ZUX1JTVF9FTl9TRlQJCTUNCisjZGVmaW5lIFJHX1VMX0FTWU5DX0ZJRk9f U09GVF9SU1RfRU5fTUFTSwkJMHgxDQorI2RlZmluZSBSR19VTF9BU1lOQ19GSUZPX1NPRlRfUlNU X0VOX01BU0tfU0ZUCQkoMHgxIDw8IDUpDQorI2RlZmluZSBSR19VTF9BU1lOQ19GSUZPX1NPRlRf UlNUX1NGVAkJCTQNCisjZGVmaW5lIFJHX1VMX0FTWU5DX0ZJRk9fU09GVF9SU1RfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfVUxfQVNZTkNfRklGT19TT0ZUX1JTVF9NQVNLX1NGVAkJKDB4MSA8PCA0 KQ0KKyNkZWZpbmUgUkdfQU1JQ19VTF9BRENfQ0xLX1NFTF9TRlQJCQkxDQorI2RlZmluZSBSR19B TUlDX1VMX0FEQ19DTEtfU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FNSUNfVUxfQURDX0NM S19TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorDQorLyogQUZFX0FEQ19BU1lOQ19GSUZPX0NG RzEgKi8NCisjZGVmaW5lIFJHX1VMMl9BU1lOQ19GSUZPX1NPRlRfUlNUX0VOX1NGVAkJNQ0KKyNk ZWZpbmUgUkdfVUwyX0FTWU5DX0ZJRk9fU09GVF9SU1RfRU5fTUFTSwkJMHgxDQorI2RlZmluZSBS R19VTDJfQVNZTkNfRklGT19TT0ZUX1JTVF9FTl9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZp bmUgUkdfVUwyX0FTWU5DX0ZJRk9fU09GVF9SU1RfU0ZUCQkJNA0KKyNkZWZpbmUgUkdfVUwyX0FT WU5DX0ZJRk9fU09GVF9SU1RfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfVUwyX0FTWU5DX0ZJRk9f U09GVF9SU1RfTUFTS19TRlQJCSgweDEgPDwgNCkNCisNCisvKiBBRkVfRENDTEtfQ0ZHMCAqLw0K KyNkZWZpbmUgRENDTEtfRElWX1NGVAkJCQkJNQ0KKyNkZWZpbmUgRENDTEtfRElWX01BU0sJCQkJ CTB4N2ZmDQorI2RlZmluZSBEQ0NMS19ESVZfTUFTS19TRlQJCQkJKDB4N2ZmIDw8IDUpDQorI2Rl ZmluZSBEQ0NMS19JTlZfU0ZUCQkJCQk0DQorI2RlZmluZSBEQ0NMS19JTlZfTUFTSwkJCQkJMHgx DQorI2RlZmluZSBEQ0NMS19JTlZfTUFTS19TRlQJCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgREND TEtfUkVGX0NLX1NFTF9TRlQJCQkJMg0KKyNkZWZpbmUgRENDTEtfUkVGX0NLX1NFTF9NQVNLCQkJ CTB4Mw0KKyNkZWZpbmUgRENDTEtfUkVGX0NLX1NFTF9NQVNLX1NGVAkJCSgweDMgPDwgMikNCisj ZGVmaW5lIERDQ0xLX1BETl9TRlQJCQkJCTENCisjZGVmaW5lIERDQ0xLX1BETl9NQVNLCQkJCQkw eDENCisjZGVmaW5lIERDQ0xLX1BETl9NQVNLX1NGVAkJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBE Q0NMS19HRU5fT05fU0ZUCQkJCTANCisjZGVmaW5lIERDQ0xLX0dFTl9PTl9NQVNLCQkJCTB4MQ0K KyNkZWZpbmUgRENDTEtfR0VOX09OX01BU0tfU0ZUCQkJCSgweDEgPDwgMCkNCisNCisvKiBBRkVf RENDTEtfQ0ZHMSAqLw0KKyNkZWZpbmUgUkVTWU5DX1NSQ19TRUxfU0ZUCQkJCTEwDQorI2RlZmlu ZSBSRVNZTkNfU1JDX1NFTF9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkVTWU5DX1NSQ19TRUxfTUFT S19TRlQJCQkJKDB4MyA8PCAxMCkNCisjZGVmaW5lIFJFU1lOQ19TUkNfQ0tfSU5WX1NGVAkJCQk5 DQorI2RlZmluZSBSRVNZTkNfU1JDX0NLX0lOVl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkVTWU5D X1NSQ19DS19JTlZfTUFTS19TRlQJCQkoMHgxIDw8IDkpDQorI2RlZmluZSBEQ0NMS19SRVNZTkNf QllQQVNTX1NGVAkJCQk4DQorI2RlZmluZSBEQ0NMS19SRVNZTkNfQllQQVNTX01BU0sJCQkweDEN CisjZGVmaW5lIERDQ0xLX1JFU1lOQ19CWVBBU1NfTUFTS19TRlQJCQkoMHgxIDw8IDgpDQorI2Rl ZmluZSBEQ0NMS19QSEFTRV9TRUxfU0ZUCQkJCTQNCisjZGVmaW5lIERDQ0xLX1BIQVNFX1NFTF9N QVNLCQkJCTB4Zg0KKyNkZWZpbmUgRENDTEtfUEhBU0VfU0VMX01BU0tfU0ZUCQkJKDB4ZiA8PCA0 KQ0KKw0KKy8qIEFVRElPX0RJR19DRkcgKi8NCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX0RBVF9N SVNPMl9MT09QQkFDS19TRlQJCTE1DQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRfTUlTTzJf TE9PUEJBQ0tfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRfTUlTTzJfTE9P UEJBQ0tfTUFTS19TRlQJKDB4MSA8PCAxNSkNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1BIQVNF X01PREUyX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1BIQVNFX01PREUyX01BU0sJ CQkweDdmDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFMl9NQVNLX1NGVAkJKDB4 N2YgPDwgOCkNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX0RBVF9NSVNPX0xPT1BCQUNLX1NGVAkJ Nw0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfREFUX01JU09fTE9PUEJBQ0tfTUFTSwkJMHgxDQor I2RlZmluZSBSR19BVURfUEFEX1RPUF9EQVRfTUlTT19MT09QQkFDS19NQVNLX1NGVAkoMHgxIDw8 IDcpDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFX1NGVAkJCTANCisjZGVmaW5l IFJHX0FVRF9QQURfVE9QX1BIQVNFX01PREVfTUFTSwkJCTB4N2YNCisjZGVmaW5lIFJHX0FVRF9Q QURfVE9QX1BIQVNFX01PREVfTUFTS19TRlQJCSgweDdmIDw8IDApDQorDQorLyogQVVESU9fRElH X0NGRzEgKi8NCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX0RBVF9NSVNPM19MT09QQkFDS19TRlQJ CTcNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX0RBVF9NSVNPM19MT09QQkFDS19NQVNLCQkweDEN CisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX0RBVF9NSVNPM19MT09QQkFDS19NQVNLX1NGVAkoMHgx IDw8IDcpDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFM19TRlQJCQkwDQorI2Rl ZmluZSBSR19BVURfUEFEX1RPUF9QSEFTRV9NT0RFM19NQVNLCQkJMHg3Zg0KKyNkZWZpbmUgUkdf QVVEX1BBRF9UT1BfUEhBU0VfTU9ERTNfTUFTS19TRlQJCSgweDdmIDw8IDApDQorDQorLyogQUZF X0FVRF9QQURfVE9QICovDQorI2RlZmluZSBSR19BVURfUEFEX1RPUF9UWF9GSUZPX1JTUF9TRlQJ CQkxMg0KKyNkZWZpbmUgUkdfQVVEX1BBRF9UT1BfVFhfRklGT19SU1BfTUFTSwkJCTB4Nw0KKyNk ZWZpbmUgUkdfQVVEX1BBRF9UT1BfVFhfRklGT19SU1BfTUFTS19TRlQJCSgweDcgPDwgMTIpDQor I2RlZmluZSBSR19BVURfUEFEX1RPUF9NVEtBSUZfQ0xLX1BST1RPQ09MMl9TRlQJCTExDQorI2Rl ZmluZSBSR19BVURfUEFEX1RPUF9NVEtBSUZfQ0xLX1BST1RPQ09MMl9NQVNLCTB4MQ0KKyNkZWZp bmUgUkdfQVVEX1BBRF9UT1BfTVRLQUlGX0NMS19QUk9UT0NPTDJfTUFTS19TRlQJKDB4MSA8PCAx MSkNCisjZGVmaW5lIFJHX0FVRF9QQURfVE9QX1RYX0ZJRk9fT05fU0ZUCQkJOA0KKyNkZWZpbmUg UkdfQVVEX1BBRF9UT1BfVFhfRklGT19PTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURfUEFE X1RPUF9UWF9GSUZPX09OX01BU0tfU0ZUCQkoMHgxIDw8IDgpDQorDQorLyogQUZFX0FVRF9QQURf VE9QX01PTiAqLw0KKyNkZWZpbmUgQUREQV9BVURfUEFEX1RPUF9NT05fU0ZUCQkJMA0KKyNkZWZp bmUgQUREQV9BVURfUEFEX1RPUF9NT05fTUFTSwkJCTB4ZmZmZg0KKyNkZWZpbmUgQUREQV9BVURf UEFEX1RPUF9NT05fTUFTS19TRlQJCQkoMHhmZmZmIDw8IDApDQorDQorLyogQUZFX0FVRF9QQURf VE9QX01PTjEgKi8NCisjZGVmaW5lIEFEREFfQVVEX1BBRF9UT1BfTU9OMV9TRlQJCQkwDQorI2Rl ZmluZSBBRERBX0FVRF9QQURfVE9QX01PTjFfTUFTSwkJCTB4ZmZmZg0KKyNkZWZpbmUgQUREQV9B VURfUEFEX1RPUF9NT04xX01BU0tfU0ZUCQkJKDB4ZmZmZiA8PCAwKQ0KKw0KKy8qIEFGRV9BVURf UEFEX1RPUF9NT04yICovDQorI2RlZmluZSBBRERBX0FVRF9QQURfVE9QX01PTjJfU0ZUCQkJMA0K KyNkZWZpbmUgQUREQV9BVURfUEFEX1RPUF9NT04yX01BU0sJCQkweGZmZmYNCisjZGVmaW5lIEFE REFfQVVEX1BBRF9UT1BfTU9OMl9NQVNLX1NGVAkJCSgweGZmZmYgPDwgMCkNCisNCisvKiBBRkVf RExfTkxFX0NGRyAqLw0KKyNkZWZpbmUgTkxFX1JDSF9IUEdBSU5fU0VMX1NGVAkJCQkxMA0KKyNk ZWZpbmUgTkxFX1JDSF9IUEdBSU5fU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBOTEVfUkNIX0hQ R0FJTl9TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgTkxFX1JDSF9DSF9TRUxf U0ZUCQkJCTkNCisjZGVmaW5lIE5MRV9SQ0hfQ0hfU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBO TEVfUkNIX0NIX1NFTF9NQVNLX1NGVAkJCQkoMHgxIDw8IDkpDQorI2RlZmluZSBOTEVfUkNIX09O X1NGVAkJCQkJOA0KKyNkZWZpbmUgTkxFX1JDSF9PTl9NQVNLCQkJCQkweDENCisjZGVmaW5lIE5M RV9SQ0hfT05fTUFTS19TRlQJCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgTkxFX0xDSF9IUEdBSU5f U0VMX1NGVAkJCQkyDQorI2RlZmluZSBOTEVfTENIX0hQR0FJTl9TRUxfTUFTSwkJCQkweDENCisj ZGVmaW5lIE5MRV9MQ0hfSFBHQUlOX1NFTF9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5l IE5MRV9MQ0hfQ0hfU0VMX1NGVAkJCQkxDQorI2RlZmluZSBOTEVfTENIX0NIX1NFTF9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgTkxFX0xDSF9DSF9TRUxfTUFTS19TRlQJCQkJKDB4MSA8PCAxKQ0KKyNk ZWZpbmUgTkxFX0xDSF9PTl9TRlQJCQkJCTANCisjZGVmaW5lIE5MRV9MQ0hfT05fTUFTSwkJCQkJ MHgxDQorI2RlZmluZSBOTEVfTENIX09OX01BU0tfU0ZUCQkJCSgweDEgPDwgMCkNCisNCisvKiBB RkVfRExfTkxFX01PTiAqLw0KKyNkZWZpbmUgTkxFX01PTklUT1JfU0ZUCQkJCQkwDQorI2RlZmlu ZSBOTEVfTU9OSVRPUl9NQVNLCQkJCTB4M2ZmZg0KKyNkZWZpbmUgTkxFX01PTklUT1JfTUFTS19T RlQJCQkJKDB4M2ZmZiA8PCAwKQ0KKw0KKy8qIEFGRV9DR19FTl9NT04gKi8NCisjZGVmaW5lIENL X0NHX0VOX01PTl9TRlQJCQkJMA0KKyNkZWZpbmUgQ0tfQ0dfRU5fTU9OX01BU0sJCQkJMHgzZg0K KyNkZWZpbmUgQ0tfQ0dfRU5fTU9OX01BU0tfU0ZUCQkJCSgweDNmIDw8IDApDQorDQorLyogQUZF X01JQ19BUlJBWV9DRkcgKi8NCisjZGVmaW5lIFJHX0FNSUNfQURDMV9TT1VSQ0VfU0VMX1NGVAkJ CTEwDQorI2RlZmluZSBSR19BTUlDX0FEQzFfU09VUkNFX1NFTF9NQVNLCQkJMHgzDQorI2RlZmlu ZSBSR19BTUlDX0FEQzFfU09VUkNFX1NFTF9NQVNLX1NGVAkJKDB4MyA8PCAxMCkNCisjZGVmaW5l IFJHX0FNSUNfQURDMl9TT1VSQ0VfU0VMX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FNSUNfQURDMl9T T1VSQ0VfU0VMX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FNSUNfQURDMl9TT1VSQ0VfU0VMX01B U0tfU0ZUCQkoMHgzIDw8IDgpDQorI2RlZmluZSBSR19BTUlDX0FEQzNfU09VUkNFX1NFTF9TRlQJ CQk2DQorI2RlZmluZSBSR19BTUlDX0FEQzNfU09VUkNFX1NFTF9NQVNLCQkJMHgzDQorI2RlZmlu ZSBSR19BTUlDX0FEQzNfU09VUkNFX1NFTF9NQVNLX1NGVAkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUg UkdfRE1JQ19BREMxX1NPVVJDRV9TRUxfU0ZUCQkJNA0KKyNkZWZpbmUgUkdfRE1JQ19BREMxX1NP VVJDRV9TRUxfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfRE1JQ19BREMxX1NPVVJDRV9TRUxfTUFT S19TRlQJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJHX0RNSUNfQURDMl9TT1VSQ0VfU0VMX1NGVAkJ CTINCisjZGVmaW5lIFJHX0RNSUNfQURDMl9TT1VSQ0VfU0VMX01BU0sJCQkweDMNCisjZGVmaW5l IFJHX0RNSUNfQURDMl9TT1VSQ0VfU0VMX01BU0tfU0ZUCQkoMHgzIDw8IDIpDQorI2RlZmluZSBS R19ETUlDX0FEQzNfU09VUkNFX1NFTF9TRlQJCQkwDQorI2RlZmluZSBSR19ETUlDX0FEQzNfU09V UkNFX1NFTF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19ETUlDX0FEQzNfU09VUkNFX1NFTF9NQVNL X1NGVAkJKDB4MyA8PCAwKQ0KKw0KKy8qIEFGRV9DSE9QX0NGRzAgKi8NCisjZGVmaW5lIFJHX0NI T1BfRElWX1NFTF9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQ0hPUF9ESVZfU0VMX01BU0sJCQkJMHgx Zg0KKyNkZWZpbmUgUkdfQ0hPUF9ESVZfU0VMX01BU0tfU0ZUCQkJKDB4MWYgPDwgNCkNCisjZGVm aW5lIFJHX0NIT1BfRElWX0VOX1NGVAkJCQkwDQorI2RlZmluZSBSR19DSE9QX0RJVl9FTl9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgUkdfQ0hPUF9ESVZfRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAwKQ0K Kw0KKy8qIEFGRV9NVEtBSUZfTVVYX0NGRyAqLw0KKyNkZWZpbmUgUkdfQUREQTZfRU5fU0VMX1NG VAkJCQkxMg0KKyNkZWZpbmUgUkdfQUREQTZfRU5fU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBS R19BRERBNl9FTl9TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfQUREQTZf Q0gyX1NFTF9TRlQJCQkJMTANCisjZGVmaW5lIFJHX0FEREE2X0NIMl9TRUxfTUFTSwkJCQkweDMN CisjZGVmaW5lIFJHX0FEREE2X0NIMl9TRUxfTUFTS19TRlQJCQkoMHgzIDw8IDEwKQ0KKyNkZWZp bmUgUkdfQUREQTZfQ0gxX1NFTF9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfQUREQTZfQ0gxX1NFTF9N QVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQUREQTZfQ0gxX1NFTF9NQVNLX1NGVAkJCSgweDMgPDwg OCkNCisjZGVmaW5lIFJHX0FEREFfRU5fU0VMX1NGVAkJCQk0DQorI2RlZmluZSBSR19BRERBX0VO X1NFTF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQUREQV9FTl9TRUxfTUFTS19TRlQJCQkJKDB4 MSA8PCA0KQ0KKyNkZWZpbmUgUkdfQUREQV9DSDJfU0VMX1NGVAkJCQkyDQorI2RlZmluZSBSR19B RERBX0NIMl9TRUxfTUFTSwkJCQkweDMNCisjZGVmaW5lIFJHX0FEREFfQ0gyX1NFTF9NQVNLX1NG VAkJCSgweDMgPDwgMikNCisjZGVmaW5lIFJHX0FEREFfQ0gxX1NFTF9TRlQJCQkJMA0KKyNkZWZp bmUgUkdfQUREQV9DSDFfU0VMX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BRERBX0NIMV9TRUxf TUFTS19TRlQJCQkoMHgzIDw8IDApDQorDQorLyogQUZFX1BNSUNfTkVXSUZfQ0ZHMyAqLw0KKyNk ZWZpbmUgUkdfVVA4WF9TWU5DX1dPUkRfU0ZUCQkJCTANCisjZGVmaW5lIFJHX1VQOFhfU1lOQ19X T1JEX01BU0sJCQkJMHhmZmZmDQorI2RlZmluZSBSR19VUDhYX1NZTkNfV09SRF9NQVNLX1NGVAkJ CSgweGZmZmYgPDwgMCkNCisNCisvKiBBRkVfTkNQX0NGRzAgKi8NCisjZGVmaW5lICBSR19OQ1Bf Q0sxX1ZBTElEX0NOVF9TRlQJCQk5DQorI2RlZmluZSAgUkdfTkNQX0NLMV9WQUxJRF9DTlRfTUFT SwkJCTB4N2YNCisjZGVmaW5lICBSR19OQ1BfQ0sxX1ZBTElEX0NOVF9NQVNLX1NGVAkJCSgweDdm IDw8IDkpDQorI2RlZmluZSBSR19OQ1BfQURJVEhfU0ZUCQkJCTgNCisjZGVmaW5lIFJHX05DUF9B RElUSF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfTkNQX0FESVRIX01BU0tfU0ZUCQkJCSgweDEg PDwgOCkNCisjZGVmaW5lIFJHX05DUF9ESVRIRVJfRU5fU0ZUCQkJCTcNCisjZGVmaW5lIFJHX05D UF9ESVRIRVJfRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX05DUF9ESVRIRVJfRU5fTUFTS19T RlQJCQkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19OQ1BfRElUSEVSX0ZJWEVEX0NLMF9BQ0sxXzJQ X1NGVAkJNA0KKyNkZWZpbmUgUkdfTkNQX0RJVEhFUl9GSVhFRF9DSzBfQUNLMV8yUF9NQVNLCQkw eDcNCisjZGVmaW5lIFJHX05DUF9ESVRIRVJfRklYRURfQ0swX0FDSzFfMlBfTUFTS19TRlQJKDB4 NyA8PCA0KQ0KKyNkZWZpbmUgUkdfTkNQX0RJVEhFUl9GSVhFRF9DSzBfQUNLMl8yUF9TRlQJCTEN CisjZGVmaW5lIFJHX05DUF9ESVRIRVJfRklYRURfQ0swX0FDSzJfMlBfTUFTSwkJMHg3DQorI2Rl ZmluZSBSR19OQ1BfRElUSEVSX0ZJWEVEX0NLMF9BQ0syXzJQX01BU0tfU0ZUCSgweDcgPDwgMSkN CisjZGVmaW5lIFJHX05DUF9PTl9TRlQJCQkJCTANCisjZGVmaW5lIFJHX05DUF9PTl9NQVNLCQkJ CQkweDENCisjZGVmaW5lIFJHX05DUF9PTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDApDQorDQorLyog QUZFX05DUF9DRkcxICovDQorI2RlZmluZSBSR19YWV9WQUxfQ0ZHX0VOX1NGVAkJCQkxNQ0KKyNk ZWZpbmUgUkdfWFlfVkFMX0NGR19FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfWFlfVkFMX0NG R19FTl9NQVNLX1NGVAkJCSgweDEgPDwgMTUpDQorI2RlZmluZSBSR19YX1ZBTF9DRkdfU0ZUCQkJ CTgNCisjZGVmaW5lIFJHX1hfVkFMX0NGR19NQVNLCQkJCTB4N2YNCisjZGVmaW5lIFJHX1hfVkFM X0NGR19NQVNLX1NGVAkJCQkoMHg3ZiA8PCA4KQ0KKyNkZWZpbmUgUkdfWV9WQUxfQ0ZHX1NGVAkJ CQkwDQorI2RlZmluZSBSR19ZX1ZBTF9DRkdfTUFTSwkJCQkweDdmDQorI2RlZmluZSBSR19ZX1ZB TF9DRkdfTUFTS19TRlQJCQkJKDB4N2YgPDwgMCkNCisNCisvKiBBRkVfTkNQX0NGRzIgKi8NCisj ZGVmaW5lIFJHX05DUF9OT05DTEtfU0VUX1NGVAkJCQkxDQorI2RlZmluZSBSR19OQ1BfTk9OQ0xL X1NFVF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfTkNQX05PTkNMS19TRVRfTUFTS19TRlQJCQko MHgxIDw8IDEpDQorI2RlZmluZSBSR19OQ1BfUERESVNfRU5fU0ZUCQkJCTANCisjZGVmaW5lIFJH X05DUF9QRERJU19FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfTkNQX1BERElTX0VOX01BU0tf U0ZUCQkJKDB4MSA8PCAwKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMCAqLw0KKyNkZWZpbmUgUkdf QVVEUFJFQU1QTE9OX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURQUkVBTVBMT05fTUFTSwkJCQkw eDENCisjZGVmaW5lIFJHX0FVRFBSRUFNUExPTl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVm aW5lIFJHX0FVRFBSRUFNUExEQ0NFTl9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTERD Q0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVBTVBMRENDRU5fTUFTS19TRlQJCQko MHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURQUkVBTVBMRENQUkVDSEFSR0VfU0ZUCQkJMg0KKyNk ZWZpbmUgUkdfQVVEUFJFQU1QTERDUFJFQ0hBUkdFX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV RFBSRUFNUExEQ1BSRUNIQVJHRV9NQVNLX1NGVAkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVE UFJFQU1QTFBHQVRFU1RfU0ZUCQkJMw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTFBHQVRFU1RfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTFBHQVRFU1RfTUFTS19TRlQJCQkoMHgxIDw8 IDMpDQorI2RlZmluZSBSR19BVURQUkVBTVBMVlNDQUxFX1NGVAkJCQk0DQorI2RlZmluZSBSR19B VURQUkVBTVBMVlNDQUxFX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFBSRUFNUExWU0NBTEVf TUFTS19TRlQJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19BVURQUkVBTVBMSU5QVVRTRUxfU0ZU CQkJNg0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTElOUFVUU0VMX01BU0sJCQkweDMNCisjZGVmaW5l IFJHX0FVRFBSRUFNUExJTlBVVFNFTF9NQVNLX1NGVAkJCSgweDMgPDwgNikNCisjZGVmaW5lIFJH X0FVRFBSRUFNUExHQUlOX1NGVAkJCQk4DQorI2RlZmluZSBSR19BVURQUkVBTVBMR0FJTl9NQVNL CQkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QTEdBSU5fTUFTS19TRlQJCQkoMHg3IDw8IDgp DQorI2RlZmluZSBSR19CVUxLTF9WQ01fRU5fU0ZUCQkJCTExDQorI2RlZmluZSBSR19CVUxLTF9W Q01fRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0JVTEtMX1ZDTV9FTl9NQVNLX1NGVAkJCSgw eDEgPDwgMTEpDQorI2RlZmluZSBSR19BVURBRENMUFdSVVBfU0ZUCQkJCTEyDQorI2RlZmluZSBS R19BVURBRENMUFdSVVBfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ0xQV1JVUF9NQVNL X1NGVAkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BVURBRENMSU5QVVRTRUxfU0ZUCQkJCTEz DQorI2RlZmluZSBSR19BVURBRENMSU5QVVRTRUxfTUFTSwkJCQkweDMNCisjZGVmaW5lIFJHX0FV REFEQ0xJTlBVVFNFTF9NQVNLX1NGVAkJCSgweDMgPDwgMTMpDQorDQorLyogQVVERU5DX0FOQV9D T04xICovDQorI2RlZmluZSBSR19BVURQUkVBTVBST05fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FV RFBSRUFNUFJPTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUk9OX01BU0tfU0ZU CQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUkRDQ0VOX1NGVAkJCQkxDQorI2Rl ZmluZSBSR19BVURQUkVBTVBSRENDRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBSRUFN UFJEQ0NFTl9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJEQ1BS RUNIQVJHRV9TRlQJCQkyDQorI2RlZmluZSBSR19BVURQUkVBTVBSRENQUkVDSEFSR0VfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUkRDUFJFQ0hBUkdFX01BU0tfU0ZUCQkoMHgxIDw8 IDIpDQorI2RlZmluZSBSR19BVURQUkVBTVBSUEdBVEVTVF9TRlQJCQkzDQorI2RlZmluZSBSR19B VURQUkVBTVBSUEdBVEVTVF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVBTVBSUEdBVEVT VF9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJWU0NBTEVfU0ZU CQkJCTQNCisjZGVmaW5lIFJHX0FVRFBSRUFNUFJWU0NBTEVfTUFTSwkJCTB4Mw0KKyNkZWZpbmUg UkdfQVVEUFJFQU1QUlZTQ0FMRV9NQVNLX1NGVAkJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJHX0FV RFBSRUFNUFJJTlBVVFNFTF9TRlQJCQk2DQorI2RlZmluZSBSR19BVURQUkVBTVBSSU5QVVRTRUxf TUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUklOUFVUU0VMX01BU0tfU0ZUCQkJKDB4 MyA8PCA2KQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QUkdBSU5fU0ZUCQkJCTgNCisjZGVmaW5lIFJH X0FVRFBSRUFNUFJHQUlOX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19BVURQUkVBTVBSR0FJTl9N QVNLX1NGVAkJCSgweDcgPDwgOCkNCisjZGVmaW5lIFJHX0JVTEtSX1ZDTV9FTl9TRlQJCQkJMTEN CisjZGVmaW5lIFJHX0JVTEtSX1ZDTV9FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQlVMS1Jf VkNNX0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxMSkNCisjZGVmaW5lIFJHX0FVREFEQ1JQV1JVUF9T RlQJCQkJMTINCisjZGVmaW5lIFJHX0FVREFEQ1JQV1JVUF9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UkdfQVVEQURDUlBXUlVQX01BU0tfU0ZUCQkJKDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FVREFE Q1JJTlBVVFNFTF9TRlQJCQkJMTMNCisjZGVmaW5lIFJHX0FVREFEQ1JJTlBVVFNFTF9NQVNLCQkJ CTB4Mw0KKyNkZWZpbmUgUkdfQVVEQURDUklOUFVUU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCAxMykN CisNCisvKiBBVURFTkNfQU5BX0NPTjIgKi8NCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNPTl9TRlQJ CQkJMA0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM09OX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19B VURQUkVBTVAzT05fTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURQUkVBTVAz RENDRU5fU0ZUCQkJCTENCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNEQ0NFTl9NQVNLCQkJCTB4MQ0K KyNkZWZpbmUgUkdfQVVEUFJFQU1QM0RDQ0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZp bmUgUkdfQVVEUFJFQU1QM0RDUFJFQ0hBUkdFX1NGVAkJCTINCisjZGVmaW5lIFJHX0FVRFBSRUFN UDNEQ1BSRUNIQVJHRV9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVBTVAzRENQUkVDSEFS R0VfTUFTS19TRlQJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNQR0FURVNUX1NG VAkJCTMNCisjZGVmaW5lIFJHX0FVRFBSRUFNUDNQR0FURVNUX01BU0sJCQkweDENCisjZGVmaW5l IFJHX0FVRFBSRUFNUDNQR0FURVNUX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdf QVVEUFJFQU1QM1ZTQ0FMRV9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM1ZTQ0FMRV9N QVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURQUkVBTVAzVlNDQUxFX01BU0tfU0ZUCQkJKDB4MyA8 PCA0KQ0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM0lOUFVUU0VMX1NGVAkJCTYNCisjZGVmaW5lIFJH X0FVRFBSRUFNUDNJTlBVVFNFTF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURQUkVBTVAzSU5Q VVRTRUxfTUFTS19TRlQJCQkoMHgzIDw8IDYpDQorI2RlZmluZSBSR19BVURQUkVBTVAzR0FJTl9T RlQJCQkJOA0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QM0dBSU5fTUFTSwkJCQkweDcNCisjZGVmaW5l IFJHX0FVRFBSRUFNUDNHQUlOX01BU0tfU0ZUCQkJKDB4NyA8PCA4KQ0KKyNkZWZpbmUgUkdfQlVM SzNfVkNNX0VOX1NGVAkJCQkxMQ0KKyNkZWZpbmUgUkdfQlVMSzNfVkNNX0VOX01BU0sJCQkJMHgx DQorI2RlZmluZSBSR19CVUxLM19WQ01fRU5fTUFTS19TRlQJCQkoMHgxIDw8IDExKQ0KKyNkZWZp bmUgUkdfQVVEQURDM1BXUlVQX1NGVAkJCQkxMg0KKyNkZWZpbmUgUkdfQVVEQURDM1BXUlVQX01B U0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBREMzUFdSVVBfTUFTS19TRlQJCQkoMHgxIDw8IDEy KQ0KKyNkZWZpbmUgUkdfQVVEQURDM0lOUFVUU0VMX1NGVAkJCQkxMw0KKyNkZWZpbmUgUkdfQVVE QURDM0lOUFVUU0VMX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURBREMzSU5QVVRTRUxfTUFT S19TRlQJCQkoMHgzIDw8IDEzKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMyAqLw0KKyNkZWZpbmUg UkdfQVVEVUxIQUxGQklBU19TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEVUxIQUxGQklBU19NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEVUxIQUxGQklBU19NQVNLX1NGVAkJCSgweDEgPDwgMCkN CisjZGVmaW5lIFJHX0FVREdMQlZPV0xQV0VOX1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURHTEJW T1dMUFdFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVER0xCVk9XTFBXRU5fTUFTS19TRlQJ CQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURQUkVBTVBMUEVOX1NGVAkJCQkyDQorI2RlZmlu ZSBSR19BVURQUkVBTVBMUEVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVBTVBMUEVO X01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVEQURDMVNUU1RBR0VMUEVOX1NG VAkJCTMNCisjZGVmaW5lIFJHX0FVREFEQzFTVFNUQUdFTFBFTl9NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19BVURBREMxU1RTVEFHRUxQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBS R19BVURBREMyTkRTVEFHRUxQRU5fU0ZUCQkJNA0KKyNkZWZpbmUgUkdfQVVEQURDMk5EU1RBR0VM UEVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQzJORFNUQUdFTFBFTl9NQVNLX1NGVAkJ CSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FVREFEQ0ZMQVNITFBFTl9TRlQJCQkJNQ0KKyNkZWZp bmUgUkdfQVVEQURDRkxBU0hMUEVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENGTEFT SExQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDUpDQorI2RlZmluZSBSR19BVURQUkVBTVBJRERURVNU X1NGVAkJCQk2DQorI2RlZmluZSBSR19BVURQUkVBTVBJRERURVNUX01BU0sJCQkweDMNCisjZGVm aW5lIFJHX0FVRFBSRUFNUElERFRFU1RfTUFTS19TRlQJCQkoMHgzIDw8IDYpDQorI2RlZmluZSBS R19BVURBREMxU1RTVEFHRUlERFRFU1RfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfQVVEQURDMVNUU1RB R0VJRERURVNUX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVREFEQzFTVFNUQUdFSUREVEVTVF9N QVNLX1NGVAkJKDB4MyA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVEQURDMk5EU1RBR0VJRERURVNUX1NG VAkJCTEwDQorI2RlZmluZSBSR19BVURBREMyTkRTVEFHRUlERFRFU1RfTUFTSwkJCTB4Mw0KKyNk ZWZpbmUgUkdfQVVEQURDMk5EU1RBR0VJRERURVNUX01BU0tfU0ZUCQkoMHgzIDw8IDEwKQ0KKyNk ZWZpbmUgUkdfQVVEQURDUkVGQlVGSUREVEVTVF9TRlQJCQkxMg0KKyNkZWZpbmUgUkdfQVVEQURD UkVGQlVGSUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmluZSBSR19BVURBRENSRUZCVUZJRERURVNU X01BU0tfU0ZUCQkJKDB4MyA8PCAxMikNCisjZGVmaW5lIFJHX0FVREFEQ0ZMQVNISUREVEVTVF9T RlQJCQkxNA0KKyNkZWZpbmUgUkdfQVVEQURDRkxBU0hJRERURVNUX01BU0sJCQkweDMNCisjZGVm aW5lIFJHX0FVREFEQ0ZMQVNISUREVEVTVF9NQVNLX1NGVAkJCSgweDMgPDwgMTQpDQorDQorLyog QVVERU5DX0FOQV9DT040ICovDQorI2RlZmluZSBSR19BVURSVUxIQUxGQklBU19TRlQJCQkJMA0K KyNkZWZpbmUgUkdfQVVEUlVMSEFMRkJJQVNfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFJV TEhBTEZCSUFTX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVER0xCUlZPV0xQ V0VOX1NGVAkJCQkxDQorI2RlZmluZSBSR19BVURHTEJSVk9XTFBXRU5fTUFTSwkJCQkweDENCisj ZGVmaW5lIFJHX0FVREdMQlJWT1dMUFdFTl9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVmaW5l IFJHX0FVRFJQUkVBTVBMUEVOX1NGVAkJCQkyDQorI2RlZmluZSBSR19BVURSUFJFQU1QTFBFTl9N QVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUlBSRUFNUExQRU5fTUFTS19TRlQJCQkoMHgxIDw8 IDIpDQorI2RlZmluZSBSR19BVURSQURDMVNUU1RBR0VMUEVOX1NGVAkJCTMNCisjZGVmaW5lIFJH X0FVRFJBREMxU1RTVEFHRUxQRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUkFEQzFTVFNU QUdFTFBFTl9NQVNLX1NGVAkJCSgweDEgPDwgMykNCisjZGVmaW5lIFJHX0FVRFJBREMyTkRTVEFH RUxQRU5fU0ZUCQkJNA0KKyNkZWZpbmUgUkdfQVVEUkFEQzJORFNUQUdFTFBFTl9NQVNLCQkJMHgx DQorI2RlZmluZSBSR19BVURSQURDMk5EU1RBR0VMUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCA0KQ0K KyNkZWZpbmUgUkdfQVVEUkFEQ0ZMQVNITFBFTl9TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfQVVEUkFE Q0ZMQVNITFBFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURSQURDRkxBU0hMUEVOX01BU0tf U0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVEUlBSRUFNUElERFRFU1RfU0ZUCQkJNg0K KyNkZWZpbmUgUkdfQVVEUlBSRUFNUElERFRFU1RfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVE UlBSRUFNUElERFRFU1RfTUFTS19TRlQJCQkoMHgzIDw8IDYpDQorI2RlZmluZSBSR19BVURSQURD MVNUU1RBR0VJRERURVNUX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVRFJBREMxU1RTVEFHRUlERFRF U1RfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEUkFEQzFTVFNUQUdFSUREVEVTVF9NQVNLX1NG VAkJKDB4MyA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVEUkFEQzJORFNUQUdFSUREVEVTVF9TRlQJCQkx MA0KKyNkZWZpbmUgUkdfQVVEUkFEQzJORFNUQUdFSUREVEVTVF9NQVNLCQkJMHgzDQorI2RlZmlu ZSBSR19BVURSQURDMk5EU1RBR0VJRERURVNUX01BU0tfU0ZUCQkoMHgzIDw8IDEwKQ0KKyNkZWZp bmUgUkdfQVVEUkFEQ1JFRkJVRklERFRFU1RfU0ZUCQkJMTINCisjZGVmaW5lIFJHX0FVRFJBRENS RUZCVUZJRERURVNUX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFJBRENSRUZCVUZJRERURVNU X01BU0tfU0ZUCQkoMHgzIDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVEUkFEQ0ZMQVNISUREVEVTVF9T RlQJCQkxNA0KKyNkZWZpbmUgUkdfQVVEUkFEQ0ZMQVNISUREVEVTVF9NQVNLCQkJMHgzDQorI2Rl ZmluZSBSR19BVURSQURDRkxBU0hJRERURVNUX01BU0tfU0ZUCQkJKDB4MyA8PCAxNCkNCisNCisv KiBBVURFTkNfQU5BX0NPTjUgKi8NCisjZGVmaW5lIFJHX0FVREFEQ0NMS1JTVEJfU0ZUCQkJCTAN CisjZGVmaW5lIFJHX0FVREFEQ0NMS1JTVEJfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVREFE Q0NMS1JTVEJfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19BVURBRENDTEtTRUxf U0ZUCQkJCTENCisjZGVmaW5lIFJHX0FVREFEQ0NMS1NFTF9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUg UkdfQVVEQURDQ0xLU0VMX01BU0tfU0ZUCQkJKDB4MyA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVEQURD Q0xLU09VUkNFX1NGVAkJCQkzDQorI2RlZmluZSBSR19BVURBRENDTEtTT1VSQ0VfTUFTSwkJCQkw eDMNCisjZGVmaW5lIFJHX0FVREFEQ0NMS1NPVVJDRV9NQVNLX1NGVAkJCSgweDMgPDwgMykNCisj ZGVmaW5lIFJHX0FVREFEQ0NMS0dFTk1PREVfU0ZUCQkJCTUNCisjZGVmaW5lIFJHX0FVREFEQ0NM S0dFTk1PREVfTUFTSwkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEQURDQ0xLR0VOTU9ERV9NQVNLX1NG VAkJCSgweDMgPDwgNSkNCisjZGVmaW5lIFJHX0FVRFBSRUFNUF9BQ0NGU19TRlQJCQkJNw0KKyNk ZWZpbmUgUkdfQVVEUFJFQU1QX0FDQ0ZTX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURQUkVB TVBfQUNDRlNfTUFTS19TRlQJCQkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19BVURQUkVBTVBBQUZF Tl9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfQVVEUFJFQU1QQUFGRU5fTUFTSwkJCQkweDENCisjZGVm aW5lIFJHX0FVRFBSRUFNUEFBRkVOX01BU0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdf RENDVkNNQlVGTFBNT0RTRUxfU0ZUCQkJOQ0KKyNkZWZpbmUgUkdfRENDVkNNQlVGTFBNT0RTRUxf TUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfRENDVkNNQlVGTFBNT0RTRUxfTUFTS19TRlQJCQkoMHgx IDw8IDkpDQorI2RlZmluZSBSR19EQ0NWQ01CVUZMUFNXRU5fU0ZUCQkJCTEwDQorI2RlZmluZSBS R19EQ0NWQ01CVUZMUFNXRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0RDQ1ZDTUJVRkxQU1dF Tl9NQVNLX1NGVAkJCSgweDEgPDwgMTApDQorI2RlZmluZSBSR19BVURTUEFSRVBHQV9TRlQJCQkJ MTENCisjZGVmaW5lIFJHX0FVRFNQQVJFUEdBX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVE U1BBUkVQR0FfTUFTS19TRlQJCQkJKDB4MWYgPDwgMTEpDQorDQorLyogQVVERU5DX0FOQV9DT042 ICovDQorI2RlZmluZSBSR19BVURBREMxU1RTVEFHRVNERU5CX1NGVAkJCTANCisjZGVmaW5lIFJH X0FVREFEQzFTVFNUQUdFU0RFTkJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDMVNUU1RB R0VTREVOQl9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVREFEQzJORFNUQUdF UkVTRVRfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfQVVEQURDMk5EU1RBR0VSRVNFVF9NQVNLCQkJMHgx DQorI2RlZmluZSBSR19BVURBREMyTkRTVEFHRVJFU0VUX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0K KyNkZWZpbmUgUkdfQVVEQURDM1JEU1RBR0VSRVNFVF9TRlQJCQkyDQorI2RlZmluZSBSR19BVURB REMzUkRTVEFHRVJFU0VUX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQzNSRFNUQUdFUkVT RVRfTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURBRENGU1JFU0VUX1NGVAkJ CQkzDQorI2RlZmluZSBSR19BVURBRENGU1JFU0VUX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19B VURBRENGU1JFU0VUX01BU0tfU0ZUCQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVEQURDV0lE RUNNX1NGVAkJCQk0DQorI2RlZmluZSBSR19BVURBRENXSURFQ01fTUFTSwkJCQkweDENCisjZGVm aW5lIFJHX0FVREFEQ1dJREVDTV9NQVNLX1NGVAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0FV REFEQ05PUEFURVNUX1NGVAkJCQk1DQorI2RlZmluZSBSR19BVURBRENOT1BBVEVTVF9NQVNLCQkJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDTk9QQVRFU1RfTUFTS19TRlQJCQkoMHgxIDw8IDUpDQor I2RlZmluZSBSR19BVURBRENCWVBBU1NfU0ZUCQkJCTYNCisjZGVmaW5lIFJHX0FVREFEQ0JZUEFT U19NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDQllQQVNTX01BU0tfU0ZUCQkJKDB4MSA8 PCA2KQ0KKyNkZWZpbmUgUkdfQVVEQURDRkZCWVBBU1NfU0ZUCQkJCTcNCisjZGVmaW5lIFJHX0FV REFEQ0ZGQllQQVNTX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENGRkJZUEFTU19NQVNL X1NGVAkJCSgweDEgPDwgNykNCisjZGVmaW5lIFJHX0FVREFEQ0RBQ0ZCQ1VSUkVOVF9TRlQJCQk4 DQorI2RlZmluZSBSR19BVURBRENEQUNGQkNVUlJFTlRfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVEQURDREFDRkJDVVJSRU5UX01BU0tfU0ZUCQkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfQVVE QURDREFDSUREVEVTVF9TRlQJCQkJOQ0KKyNkZWZpbmUgUkdfQVVEQURDREFDSUREVEVTVF9NQVNL CQkJMHgzDQorI2RlZmluZSBSR19BVURBRENEQUNJRERURVNUX01BU0tfU0ZUCQkJKDB4MyA8PCA5 KQ0KKyNkZWZpbmUgUkdfQVVEQURDREFDTlJaX1NGVAkJCQkxMQ0KKyNkZWZpbmUgUkdfQVVEQURD REFDTlJaX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENEQUNOUlpfTUFTS19TRlQJCQko MHgxIDw8IDExKQ0KKyNkZWZpbmUgUkdfQVVEQURDTk9ERU1fU0ZUCQkJCTEyDQorI2RlZmluZSBS R19BVURBRENOT0RFTV9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQURDTk9ERU1fTUFTS19T RlQJCQkJKDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FVREFEQ0RBQ1RFU1RfU0ZUCQkJCTEzDQor I2RlZmluZSBSR19BVURBRENEQUNURVNUX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURBRENE QUNURVNUX01BU0tfU0ZUCQkJKDB4MSA8PCAxMykNCisjZGVmaW5lIFJHX0FVREFEQ0RBQzBQMjVG U19TRlQJCQkJMTQNCisjZGVmaW5lIFJHX0FVREFEQ0RBQzBQMjVGU19NQVNLCQkJCTB4MQ0KKyNk ZWZpbmUgUkdfQVVEQURDREFDMFAyNUZTX01BU0tfU0ZUCQkJKDB4MSA8PCAxNCkNCisjZGVmaW5l IFJHX0FVREFEQ1JEQUMwUDI1RlNfU0ZUCQkJCTE1DQorI2RlZmluZSBSR19BVURBRENSREFDMFAy NUZTX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREFEQ1JEQUMwUDI1RlNfTUFTS19TRlQJCQko MHgxIDw8IDE1KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09ONyAqLw0KKyNkZWZpbmUgUkdfQVVEQURD VEVTVERBVEFfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVREFEQ1RFU1REQVRBX01BU0sJCQkJMHhm ZmZmDQorI2RlZmluZSBSR19BVURBRENURVNUREFUQV9NQVNLX1NGVAkJCSgweGZmZmYgPDwgMCkN CisNCisvKiBBVURFTkNfQU5BX0NPTjggKi8NCisjZGVmaW5lIFJHX0FVRFJDVFVORUxfU0ZUCQkJ CTANCisjZGVmaW5lIFJHX0FVRFJDVFVORUxfTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR19BVURS Q1RVTkVMX01BU0tfU0ZUCQkJCSgweDFmIDw8IDApDQorI2RlZmluZSBSR19BVURSQ1RVTkVMU0VM X1NGVAkJCQk1DQorI2RlZmluZSBSR19BVURSQ1RVTkVMU0VMX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19BVURSQ1RVTkVMU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVE UkNUVU5FUl9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfQVVEUkNUVU5FUl9NQVNLCQkJCTB4MWYNCisj ZGVmaW5lIFJHX0FVRFJDVFVORVJfTUFTS19TRlQJCQkJKDB4MWYgPDwgOCkNCisjZGVmaW5lIFJH X0FVRFJDVFVORVJTRUxfU0ZUCQkJCTEzDQorI2RlZmluZSBSR19BVURSQ1RVTkVSU0VMX01BU0sJ CQkJMHgxDQorI2RlZmluZSBSR19BVURSQ1RVTkVSU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCAxMykN CisNCisvKiBBVURFTkNfQU5BX0NPTjkgKi8NCisjZGVmaW5lIFJHX0FVRDNDVFVORUxfU0ZUCQkJ CTANCisjZGVmaW5lIFJHX0FVRDNDVFVORUxfTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR19BVUQz Q1RVTkVMX01BU0tfU0ZUCQkJCSgweDFmIDw8IDApDQorI2RlZmluZSBSR19BVUQzQ1RVTkVMU0VM X1NGVAkJCQk1DQorI2RlZmluZSBSR19BVUQzQ1RVTkVMU0VMX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19BVUQzQ1RVTkVMU0VMX01BU0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdTX0FV RFJDVFVORTNSRUFEX1NGVAkJCQk2DQorI2RlZmluZSBSR1NfQVVEUkNUVU5FM1JFQURfTUFTSwkJ CQkweDFmDQorI2RlZmluZSBSR1NfQVVEUkNUVU5FM1JFQURfTUFTS19TRlQJCQkoMHgxZiA8PCA2 KQ0KKyNkZWZpbmUgUkdfQVVEM1NQQVJFX1NGVAkJCQkxMQ0KKyNkZWZpbmUgUkdfQVVEM1NQQVJF X01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVEM1NQQVJFX01BU0tfU0ZUCQkJCSgweDFmIDw8 IDExKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTAgKi8NCisjZGVmaW5lIFJHU19BVURSQ1RVTkVM UkVBRF9TRlQJCQkJMA0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORUxSRUFEX01BU0sJCQkJMHgxZg0K KyNkZWZpbmUgUkdTX0FVRFJDVFVORUxSRUFEX01BU0tfU0ZUCQkJKDB4MWYgPDwgMCkNCisjZGVm aW5lIFJHU19BVURSQ1RVTkVSUkVBRF9TRlQJCQkJOA0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORVJS RUFEX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdTX0FVRFJDVFVORVJSRUFEX01BU0tfU0ZUCQkJ KDB4MWYgPDwgOCkNCisNCisvKiBBVURFTkNfQU5BX0NPTjExICovDQorI2RlZmluZSBSR19BVURT UEFSRVZBMzBfU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRFNQQVJFVkEzMF9NQVNLCQkJCTB4ZmYN CisjZGVmaW5lIFJHX0FVRFNQQVJFVkEzMF9NQVNLX1NGVAkJCSgweGZmIDw8IDApDQorI2RlZmlu ZSBSR19BVURTUEFSRVZBMThfU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRFNQQVJFVkExOF9NQVNL CQkJCTB4ZmYNCisjZGVmaW5lIFJHX0FVRFNQQVJFVkExOF9NQVNLX1NGVAkJCSgweGZmIDw8IDgp DQorDQorLyogQVVERU5DX0FOQV9DT04xMiAqLw0KKyNkZWZpbmUgUkdfQVVEUEdBX0RFQ0FQX1NG VAkJCQkwDQorI2RlZmluZSBSR19BVURQR0FfREVDQVBfTUFTSwkJCQkweDENCisjZGVmaW5lIFJH X0FVRFBHQV9ERUNBUF9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRFBHQV9D QVBSQV9TRlQJCQkJMQ0KKyNkZWZpbmUgUkdfQVVEUEdBX0NBUFJBX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19BVURQR0FfQ0FQUkFfTUFTS19TRlQJCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19B VURQR0FfQUNDQ01QX1NGVAkJCQkyDQorI2RlZmluZSBSR19BVURQR0FfQUNDQ01QX01BU0sJCQkJ MHgxDQorI2RlZmluZSBSR19BVURQR0FfQUNDQ01QX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNk ZWZpbmUgUkdfQVVERU5DX1NQQVJFMl9TRlQJCQkJMw0KKyNkZWZpbmUgUkdfQVVERU5DX1NQQVJF Ml9NQVNLCQkJCTB4MWZmZg0KKyNkZWZpbmUgUkdfQVVERU5DX1NQQVJFMl9NQVNLX1NGVAkJCSgw eDFmZmYgPDwgMykNCisNCisvKiBBVURFTkNfQU5BX0NPTjEzICovDQorI2RlZmluZSBSR19BVURE SUdNSUNFTl9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVERElHTUlDRU5fTUFTSwkJCQkweDENCisj ZGVmaW5lIFJHX0FVRERJR01JQ0VOX01BU0tfU0ZUCQkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJH X0FVRERJR01JQ0JJQVNfU0ZUCQkJCTENCisjZGVmaW5lIFJHX0FVRERJR01JQ0JJQVNfTUFTSwkJ CQkweDMNCisjZGVmaW5lIFJHX0FVRERJR01JQ0JJQVNfTUFTS19TRlQJCQkoMHgzIDw8IDEpDQor I2RlZmluZSBSR19ETUlDSFBDTEtFTl9TRlQJCQkJMw0KKyNkZWZpbmUgUkdfRE1JQ0hQQ0xLRU5f TUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0RNSUNIUENMS0VOX01BU0tfU0ZUCQkJCSgweDEgPDwg MykNCisjZGVmaW5lIFJHX0FVRERJR01JQ1BEVVRZX1NGVAkJCQk0DQorI2RlZmluZSBSR19BVURE SUdNSUNQRFVUWV9NQVNLCQkJCTB4Mw0KKyNkZWZpbmUgUkdfQVVERElHTUlDUERVVFlfTUFTS19T RlQJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSR19BVURESUdNSUNORFVUWV9TRlQJCQkJNg0KKyNk ZWZpbmUgUkdfQVVERElHTUlDTkRVVFlfTUFTSwkJCQkweDMNCisjZGVmaW5lIFJHX0FVRERJR01J Q05EVVRZX01BU0tfU0ZUCQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUkdfRE1JQ01PTkVOX1NGVAkJ CQk4DQorI2RlZmluZSBSR19ETUlDTU9ORU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0RNSUNN T05FTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19ETUlDTU9OU0VMX1NGVAkJ CQk5DQorI2RlZmluZSBSR19ETUlDTU9OU0VMX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19ETUlD TU9OU0VMX01BU0tfU0ZUCQkJCSgweDcgPDwgOSkNCisNCisvKiBBVURFTkNfQU5BX0NPTjE0ICov DQorI2RlZmluZSBSR19BVURESUdNSUMxRU5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRERJR01J QzFFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVERElHTUlDMUVOX01BU0tfU0ZUCQkJKDB4 MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVERElHTUlDQklBUzFfU0ZUCQkJCTENCisjZGVmaW5lIFJH X0FVRERJR01JQ0JJQVMxX01BU0sJCQkJMHgzDQorI2RlZmluZSBSR19BVURESUdNSUNCSUFTMV9N QVNLX1NGVAkJCSgweDMgPDwgMSkNCisjZGVmaW5lIFJHX0RNSUMxSFBDTEtFTl9TRlQJCQkJMw0K KyNkZWZpbmUgUkdfRE1JQzFIUENMS0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19ETUlDMUhQ Q0xLRU5fTUFTS19TRlQJCQkoMHgxIDw8IDMpDQorI2RlZmluZSBSR19BVURESUdNSUMxUERVVFlf U0ZUCQkJCTQNCisjZGVmaW5lIFJHX0FVRERJR01JQzFQRFVUWV9NQVNLCQkJCTB4Mw0KKyNkZWZp bmUgUkdfQVVERElHTUlDMVBEVVRZX01BU0tfU0ZUCQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUgUkdf QVVERElHTUlDMU5EVVRZX1NGVAkJCQk2DQorI2RlZmluZSBSR19BVURESUdNSUMxTkRVVFlfTUFT SwkJCQkweDMNCisjZGVmaW5lIFJHX0FVRERJR01JQzFORFVUWV9NQVNLX1NGVAkJCSgweDMgPDwg NikNCisjZGVmaW5lIFJHX0RNSUMxTU9ORU5fU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0RNSUMxTU9O RU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0RNSUMxTU9ORU5fTUFTS19TRlQJCQkJKDB4MSA8 PCA4KQ0KKyNkZWZpbmUgUkdfRE1JQzFNT05TRUxfU0ZUCQkJCTkNCisjZGVmaW5lIFJHX0RNSUMx TU9OU0VMX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19ETUlDMU1PTlNFTF9NQVNLX1NGVAkJCQko MHg3IDw8IDkpDQorI2RlZmluZSBSR19BVURTUEFSRVZNSUNfU0ZUCQkJCTEyDQorI2RlZmluZSBS R19BVURTUEFSRVZNSUNfTUFTSwkJCQkweGYNCisjZGVmaW5lIFJHX0FVRFNQQVJFVk1JQ19NQVNL X1NGVAkJCSgweGYgPDwgMTIpDQorDQorLyogQVVERU5DX0FOQV9DT04xNSAqLw0KKyNkZWZpbmUg UkdfQVVEUFdEQk1JQ0JJQVMwX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURQV0RCTUlDQklBUzBf TUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTMF9NQVNLX1NGVAkJCSgweDEg PDwgMCkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwQllQQVNTRU5fU0ZUCQkJMQ0KKyNkZWZpbmUg UkdfQVVETUlDQklBUzBCWVBBU1NFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFT MEJZUEFTU0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBM T1dQRU5fU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBMT1dQRU5fTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfQVVETUlDQklBUzBMT1dQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDIpDQorI2Rl ZmluZSBSR19BVURQV0RCTUlDQklBUzNfU0ZUCQkJCTMNCisjZGVmaW5lIFJHX0FVRFBXREJNSUNC SUFTM19NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMzX01BU0tfU0ZUCQkJ KDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBWUkVGX1NGVAkJCQk0DQorI2RlZmlu ZSBSR19BVURNSUNCSUFTMFZSRUZfTUFTSwkJCQkweDcNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMw VlJFRl9NQVNLX1NGVAkJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzBQ MUVOX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzBQMUVOX01BU0sJCQkweDEN CisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzBQMUVOX01BU0tfU0ZUCQkoMHgxIDw8IDgpDQor I2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cwUDJFTl9TRlQJCQk5DQorI2RlZmluZSBSR19BVURN SUNCSUFTMERDU1cwUDJFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cw UDJFTl9NQVNLX1NGVAkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXME5F Tl9TRlQJCQkxMA0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NXME5FTl9NQVNLCQkJMHgxDQor I2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cwTkVOX01BU0tfU0ZUCQkJKDB4MSA8PCAxMCkNCisj ZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzJQMUVOX1NGVAkJCTEyDQorI2RlZmluZSBSR19BVURN SUNCSUFTMERDU1cyUDFFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cy UDFFTl9NQVNLX1NGVAkJKDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzJQ MkVOX1NGVAkJCTEzDQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cyUDJFTl9NQVNLCQkJMHgx DQorI2RlZmluZSBSR19BVURNSUNCSUFTMERDU1cyUDJFTl9NQVNLX1NGVAkJKDB4MSA8PCAxMykN CisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMwRENTVzJORU5fU0ZUCQkJMTQNCisjZGVmaW5lIFJHX0FV RE1JQ0JJQVMwRENTVzJORU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzBEQ1NX Mk5FTl9NQVNLX1NGVAkJCSgweDEgPDwgMTQpDQorDQorLyogQVVERU5DX0FOQV9DT04xNiAqLw0K KyNkZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMxX1NGVAkJCQkwDQorI2RlZmluZSBSR19BVURQV0RC TUlDQklBUzFfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFTMV9NQVNLX1NG VAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxQllQQVNTRU5fU0ZUCQkJMQ0K KyNkZWZpbmUgUkdfQVVETUlDQklBUzFCWVBBU1NFTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19B VURNSUNCSUFTMUJZUEFTU0VOX01BU0tfU0ZUCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfQVVE TUlDQklBUzFMT1dQRU5fU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFMT1dQRU5fTUFT SwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFMT1dQRU5fTUFTS19TRlQJCQkoMHgxIDw8 IDIpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMVZSRUZfU0ZUCQkJCTQNCisjZGVmaW5lIFJHX0FV RE1JQ0JJQVMxVlJFRl9NQVNLCQkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFWUkVGX01B U0tfU0ZUCQkJKDB4NyA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFEQ1NXMVBFTl9TRlQJ CQk4DQorI2RlZmluZSBSR19BVURNSUNCSUFTMURDU1cxUEVOX01BU0sJCQkweDENCisjZGVmaW5l IFJHX0FVRE1JQ0JJQVMxRENTVzFQRU5fTUFTS19TRlQJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBS R19BVURNSUNCSUFTMURDU1cxTkVOX1NGVAkJCTkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMxRENT VzFORU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFEQ1NXMU5FTl9NQVNLX1NG VAkJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJHX0JBTkRHQVBHRU5fU0ZUCQkJCTEwDQorI2RlZmlu ZSBSR19CQU5ER0FQR0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19CQU5ER0FQR0VOX01BU0tf U0ZUCQkJCSgweDEgPDwgMTApDQorI2RlZmluZSBSR19BVURNSUNCSUFTMUhWRU5fU0ZUCQkJCTEy DQorI2RlZmluZSBSR19BVURNSUNCSUFTMUhWRU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0FV RE1JQ0JJQVMxSFZFTl9NQVNLX1NGVAkJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BVURNSUNC SUFTMUhWVlJFRl9TRlQJCQkxMw0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFIVlZSRUZfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzFIVlZSRUZfTUFTS19TRlQJCQkoMHgxIDw8IDEz KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMTcgKi8NCisjZGVmaW5lIFJHX0FVRFBXREJNSUNCSUFT Ml9TRlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVEUFdEQk1JQ0JJQVMyX01BU0sJCQkJMHgxDQorI2Rl ZmluZSBSR19BVURQV0RCTUlDQklBUzJfTUFTS19TRlQJCQkoMHgxIDw8IDApDQorI2RlZmluZSBS R19BVURNSUNCSUFTMkJZUEFTU0VOX1NGVAkJCTENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyQllQ QVNTRU5fTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVETUlDQklBUzJCWVBBU1NFTl9NQVNLX1NG VAkJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyTE9XUEVOX1NGVAkJCTINCisj ZGVmaW5lIFJHX0FVRE1JQ0JJQVMyTE9XUEVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1J Q0JJQVMyTE9XUEVOX01BU0tfU0ZUCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUkdfQVVETUlDQklB UzJWUkVGX1NGVAkJCQk0DQorI2RlZmluZSBSR19BVURNSUNCSUFTMlZSRUZfTUFTSwkJCQkweDcN CisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyVlJFRl9NQVNLX1NGVAkJCSgweDcgPDwgNCkNCisjZGVm aW5lIFJHX0FVRE1JQ0JJQVMyRENTVzNQMUVOX1NGVAkJCTgNCisjZGVmaW5lIFJHX0FVRE1JQ0JJ QVMyRENTVzNQMUVOX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVMyRENTVzNQMUVO X01BU0tfU0ZUCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkRDU1czUDJFTl9T RlQJCQk5DQorI2RlZmluZSBSR19BVURNSUNCSUFTMkRDU1czUDJFTl9NQVNLCQkJMHgxDQorI2Rl ZmluZSBSR19BVURNSUNCSUFTMkRDU1czUDJFTl9NQVNLX1NGVAkJKDB4MSA8PCA5KQ0KKyNkZWZp bmUgUkdfQVVETUlDQklBUzJEQ1NXM05FTl9TRlQJCQkxMA0KKyNkZWZpbmUgUkdfQVVETUlDQklB UzJEQ1NXM05FTl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURNSUNCSUFTMkRDU1czTkVOX01B U0tfU0ZUCQkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVNTUEFSRV9TRlQJCQkJ MTINCisjZGVmaW5lIFJHX0FVRE1JQ0JJQVNTUEFSRV9NQVNLCQkJCTB4Zg0KKyNkZWZpbmUgUkdf QVVETUlDQklBU1NQQVJFX01BU0tfU0ZUCQkJKDB4ZiA8PCAxMikNCisNCisvKiBBVURFTkNfQU5B X0NPTjE4ICovDQorI2RlZmluZSBSR19BVURBQ0NERVRNSUNCSUFTMFBVTExMT1dfU0ZUCQkJMA0K KyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzBQVUxMTE9XX01BU0sJCTB4MQ0KKyNkZWZpbmUg UkdfQVVEQUNDREVUTUlDQklBUzBQVUxMTE9XX01BU0tfU0ZUCQkoMHgxIDw8IDApDQorI2RlZmlu ZSBSR19BVURBQ0NERVRNSUNCSUFTMVBVTExMT1dfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfQVVEQUND REVUTUlDQklBUzFQVUxMTE9XX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklB UzFQVUxMTE9XX01BU0tfU0ZUCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURBQ0NERVRNSUNC SUFTMlBVTExMT1dfU0ZUCQkJMg0KKyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzJQVUxMTE9X X01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUTUlDQklBUzJQVUxMTE9XX01BU0tfU0ZU CQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19BVURBQ0NERVRWSU4xUFVMTExPV19TRlQJCQkzDQor I2RlZmluZSBSR19BVURBQ0NERVRWSU4xUFVMTExPV19NQVNLCQkJMHgxDQorI2RlZmluZSBSR19B VURBQ0NERVRWSU4xUFVMTExPV19NQVNLX1NGVAkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVE QUNDREVUVlRIQUNBTF9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVlRIQUNBTF9NQVNL CQkJMHgxDQorI2RlZmluZSBSR19BVURBQ0NERVRWVEhBQ0FMX01BU0tfU0ZUCQkJKDB4MSA8PCA0 KQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVlRIQkNBTF9TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfQVVE QUNDREVUVlRIQkNBTF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURBQ0NERVRWVEhCQ0FMX01B U0tfU0ZUCQkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVEQUNDREVUVFZERVRfU0ZUCQkJCTYN CisjZGVmaW5lIFJHX0FVREFDQ0RFVFRWREVUX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19BVURB Q0NERVRUVkRFVF9NQVNLX1NGVAkJCSgweDEgPDwgNikNCisjZGVmaW5lIFJHX0FDQ0RFVFNFTF9T RlQJCQkJNw0KKyNkZWZpbmUgUkdfQUNDREVUU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19B Q0NERVRTRUxfTUFTS19TRlQJCQkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfU1dCVUZNT0RTRUxf U0ZUCQkJCTgNCisjZGVmaW5lIFJHX1NXQlVGTU9EU0VMX01BU0sJCQkJMHgxDQorI2RlZmluZSBS R19TV0JVRk1PRFNFTF9NQVNLX1NGVAkJCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19TV0JVRlNX RU5fU0ZUCQkJCTkNCisjZGVmaW5lIFJHX1NXQlVGU1dFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UkdfU1dCVUZTV0VOX01BU0tfU0ZUCQkJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJHX0VJTlQwTk9I WVNfU0ZUCQkJCTEwDQorI2RlZmluZSBSR19FSU5UME5PSFlTX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19FSU5UME5PSFlTX01BU0tfU0ZUCQkJCSgweDEgPDwgMTApDQorI2RlZmluZSBSR19FSU5U MENPTkZJR0FDQ0RFVF9TRlQJCQkxMQ0KKyNkZWZpbmUgUkdfRUlOVDBDT05GSUdBQ0NERVRfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDBDT05GSUdBQ0NERVRfTUFTS19TRlQJCQkoMHgxIDw8 IDExKQ0KKyNkZWZpbmUgUkdfRUlOVDBISVJFTkJfU0ZUCQkJCTEyDQorI2RlZmluZSBSR19FSU5U MEhJUkVOQl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDBISVJFTkJfTUFTS19TRlQJCQkJ KDB4MSA8PCAxMikNCisjZGVmaW5lIFJHX0FDQ0RFVDJBVVhSRVNCWVBBU1NfU0ZUCQkJMTMNCisj ZGVmaW5lIFJHX0FDQ0RFVDJBVVhSRVNCWVBBU1NfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQUND REVUMkFVWFJFU0JZUEFTU19NQVNLX1NGVAkJCSgweDEgPDwgMTMpDQorI2RlZmluZSBSR19BQ0NE RVQyQVVYU1dFTl9TRlQJCQkJMTQNCisjZGVmaW5lIFJHX0FDQ0RFVDJBVVhTV0VOX01BU0sJCQkJ MHgxDQorI2RlZmluZSBSR19BQ0NERVQyQVVYU1dFTl9NQVNLX1NGVAkJCSgweDEgPDwgMTQpDQor I2RlZmluZSBSR19BVURBQ0NERVRNSUNCSUFTM1BVTExMT1dfU0ZUCQkJMTUNCisjZGVmaW5lIFJH X0FVREFDQ0RFVE1JQ0JJQVMzUFVMTExPV19NQVNLCQkweDENCisjZGVmaW5lIFJHX0FVREFDQ0RF VE1JQ0JJQVMzUFVMTExPV19NQVNLX1NGVAkJKDB4MSA8PCAxNSkNCisNCisvKiBBVURFTkNfQU5B X0NPTjE5ICovDQorI2RlZmluZSBSR19FSU5UMUNPTkZJR0FDQ0RFVF9TRlQJCQkwDQorI2RlZmlu ZSBSR19FSU5UMUNPTkZJR0FDQ0RFVF9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMUNPTkZJ R0FDQ0RFVF9NQVNLX1NGVAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0VJTlQxSElSRU5CX1NG VAkJCQkxDQorI2RlZmluZSBSR19FSU5UMUhJUkVOQl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdf RUlOVDFISVJFTkJfTUFTS19TRlQJCQkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfRUlOVDFOT0hZ U19TRlQJCQkJMg0KKyNkZWZpbmUgUkdfRUlOVDFOT0hZU19NQVNLCQkJCTB4MQ0KKyNkZWZpbmUg UkdfRUlOVDFOT0hZU19NQVNLX1NGVAkJCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19FSU5UQ09N UFZUSF9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfRUlOVENPTVBWVEhfTUFTSwkJCQkweGYNCisjZGVm aW5lIFJHX0VJTlRDT01QVlRIX01BU0tfU0ZUCQkJCSgweGYgPDwgNCkNCisjZGVmaW5lIFJHX01U RVNUX0VOX1NGVAkJCQkJOA0KKyNkZWZpbmUgUkdfTVRFU1RfRU5fTUFTSwkJCQkweDENCisjZGVm aW5lIFJHX01URVNUX0VOX01BU0tfU0ZUCQkJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX01URVNU X1NFTF9TRlQJCQkJOQ0KKyNkZWZpbmUgUkdfTVRFU1RfU0VMX01BU0sJCQkJMHgxDQorI2RlZmlu ZSBSR19NVEVTVF9TRUxfTUFTS19TRlQJCQkJKDB4MSA8PCA5KQ0KKyNkZWZpbmUgUkdfTVRFU1Rf Q1VSUkVOVF9TRlQJCQkJMTANCisjZGVmaW5lIFJHX01URVNUX0NVUlJFTlRfTUFTSwkJCQkweDEN CisjZGVmaW5lIFJHX01URVNUX0NVUlJFTlRfTUFTS19TRlQJCQkoMHgxIDw8IDEwKQ0KKyNkZWZp bmUgUkdfQU5BTE9HRkRFTl9TRlQJCQkJMTINCisjZGVmaW5lIFJHX0FOQUxPR0ZERU5fTUFTSwkJ CQkweDENCisjZGVmaW5lIFJHX0FOQUxPR0ZERU5fTUFTS19TRlQJCQkJKDB4MSA8PCAxMikNCisj ZGVmaW5lIFJHX0ZEVklOMVBQVUxMTE9XX1NGVAkJCQkxMw0KKyNkZWZpbmUgUkdfRkRWSU4xUFBV TExMT1dfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0ZEVklOMVBQVUxMTE9XX01BU0tfU0ZUCQkJ KDB4MSA8PCAxMykNCisjZGVmaW5lIFJHX0ZERUlOVDBUWVBFX1NGVAkJCQkxNA0KKyNkZWZpbmUg UkdfRkRFSU5UMFRZUEVfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0ZERUlOVDBUWVBFX01BU0tf U0ZUCQkJCSgweDEgPDwgMTQpDQorI2RlZmluZSBSR19GREVJTlQxVFlQRV9TRlQJCQkJMTUNCisj ZGVmaW5lIFJHX0ZERUlOVDFUWVBFX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19GREVJTlQxVFlQ RV9NQVNLX1NGVAkJCQkoMHgxIDw8IDE1KQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMjAgKi8NCisj ZGVmaW5lIFJHX0VJTlQwQ01QRU5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0VJTlQwQ01QRU5fTUFT SwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwQ01QRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAwKQ0K KyNkZWZpbmUgUkdfRUlOVDBDTVBNRU5fU0ZUCQkJCTENCisjZGVmaW5lIFJHX0VJTlQwQ01QTUVO X01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMENNUE1FTl9NQVNLX1NGVAkJCQkoMHgxIDw8 IDEpDQorI2RlZmluZSBSR19FSU5UMEVOX1NGVAkJCQkJMg0KKyNkZWZpbmUgUkdfRUlOVDBFTl9N QVNLCQkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQwRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAyKQ0K KyNkZWZpbmUgUkdfRUlOVDBDRU5fU0ZUCQkJCQkzDQorI2RlZmluZSBSR19FSU5UMENFTl9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDBDRU5fTUFTS19TRlQJCQkJKDB4MSA8PCAzKQ0KKyNk ZWZpbmUgUkdfRUlOVDBJTlZFTl9TRlQJCQkJNA0KKyNkZWZpbmUgUkdfRUlOVDBJTlZFTl9NQVNL CQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDBJTlZFTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDQpDQor I2RlZmluZSBSR19FSU5UMENUVVJCT19TRlQJCQkJNQ0KKyNkZWZpbmUgUkdfRUlOVDBDVFVSQk9f TUFTSwkJCQkweDcNCisjZGVmaW5lIFJHX0VJTlQwQ1RVUkJPX01BU0tfU0ZUCQkJCSgweDcgPDwg NSkNCisjZGVmaW5lIFJHX0VJTlQxQ01QRU5fU0ZUCQkJCTgNCisjZGVmaW5lIFJHX0VJTlQxQ01Q RU5fTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0VJTlQxQ01QRU5fTUFTS19TRlQJCQkJKDB4MSA8 PCA4KQ0KKyNkZWZpbmUgUkdfRUlOVDFDTVBNRU5fU0ZUCQkJCTkNCisjZGVmaW5lIFJHX0VJTlQx Q01QTUVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMUNNUE1FTl9NQVNLX1NGVAkJCQko MHgxIDw8IDkpDQorI2RlZmluZSBSR19FSU5UMUVOX1NGVAkJCQkJMTANCisjZGVmaW5lIFJHX0VJ TlQxRU5fTUFTSwkJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMUVOX01BU0tfU0ZUCQkJCSgweDEg PDwgMTApDQorI2RlZmluZSBSR19FSU5UMUNFTl9TRlQJCQkJCTExDQorI2RlZmluZSBSR19FSU5U MUNFTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfRUlOVDFDRU5fTUFTS19TRlQJCQkJKDB4MSA8 PCAxMSkNCisjZGVmaW5lIFJHX0VJTlQxSU5WRU5fU0ZUCQkJCTEyDQorI2RlZmluZSBSR19FSU5U MUlOVkVOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19FSU5UMUlOVkVOX01BU0tfU0ZUCQkJCSgw eDEgPDwgMTIpDQorI2RlZmluZSBSR19FSU5UMUNUVVJCT19TRlQJCQkJMTMNCisjZGVmaW5lIFJH X0VJTlQxQ1RVUkJPX01BU0sJCQkJMHg3DQorI2RlZmluZSBSR19FSU5UMUNUVVJCT19NQVNLX1NG VAkJCQkoMHg3IDw8IDEzKQ0KKw0KKy8qIEFVREVOQ19BTkFfQ09OMjEgKi8NCisjZGVmaW5lIFJH X0FDQ0RFVFNQQVJFX1NGVAkJCQkwDQorI2RlZmluZSBSR19BQ0NERVRTUEFSRV9NQVNLCQkJCTB4 ZmZmZg0KKyNkZWZpbmUgUkdfQUNDREVUU1BBUkVfTUFTS19TRlQJCQkJKDB4ZmZmZiA8PCAwKQ0K Kw0KKy8qIEFVREVOQ19BTkFfQ09OMjIgKi8NCisjZGVmaW5lIFJHX0FVREVOQ1NQQVJFVkEzMF9T RlQJCQkJMA0KKyNkZWZpbmUgUkdfQVVERU5DU1BBUkVWQTMwX01BU0sJCQkJMHhmZg0KKyNkZWZp bmUgUkdfQVVERU5DU1BBUkVWQTMwX01BU0tfU0ZUCQkJKDB4ZmYgPDwgMCkNCisjZGVmaW5lIFJH X0FVREVOQ1NQQVJFVkExOF9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfQVVERU5DU1BBUkVWQTE4X01B U0sJCQkJMHhmZg0KKyNkZWZpbmUgUkdfQVVERU5DU1BBUkVWQTE4X01BU0tfU0ZUCQkJKDB4ZmYg PDwgOCkNCisNCisvKiBBVURFTkNfQU5BX0NPTjIzICovDQorI2RlZmluZSBSR19DTEtTUV9FTl9T RlQJCQkJCTANCisjZGVmaW5lIFJHX0NMS1NRX0VOX01BU0sJCQkJMHgxDQorI2RlZmluZSBSR19D TEtTUV9FTl9NQVNLX1NGVAkJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSR19DTEtTUV9JTl9TRUxf VEVTVF9TRlQJCQkxDQorI2RlZmluZSBSR19DTEtTUV9JTl9TRUxfVEVTVF9NQVNLCQkJMHgxDQor I2RlZmluZSBSR19DTEtTUV9JTl9TRUxfVEVTVF9NQVNLX1NGVAkJCSgweDEgPDwgMSkNCisjZGVm aW5lIFJHX0NNX1JFRkdFTlNFTF9TRlQJCQkJMg0KKyNkZWZpbmUgUkdfQ01fUkVGR0VOU0VMX01B U0sJCQkJMHgxDQorI2RlZmluZSBSR19DTV9SRUZHRU5TRUxfTUFTS19TRlQJCQkoMHgxIDw8IDIp DQorI2RlZmluZSBSR19BVURJT19WT1dfRU5fU0ZUCQkJCTMNCisjZGVmaW5lIFJHX0FVRElPX1ZP V19FTl9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESU9fVk9XX0VOX01BU0tfU0ZUCQkJKDB4 MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQ0xLU1FfRU5fVk9XX1NGVAkJCQk0DQorI2RlZmluZSBSR19D TEtTUV9FTl9WT1dfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0NMS1NRX0VOX1ZPV19NQVNLX1NG VAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0NMS0FORF9FTl9WT1dfU0ZUCQkJCTUNCisjZGVm aW5lIFJHX0NMS0FORF9FTl9WT1dfTUFTSwkJCQkweDENCisjZGVmaW5lIFJHX0NMS0FORF9FTl9W T1dfTUFTS19TRlQJCQkoMHgxIDw8IDUpDQorI2RlZmluZSBSR19WT1dDTEtfU0VMX0VOX1ZPV19T RlQJCQk2DQorI2RlZmluZSBSR19WT1dDTEtfU0VMX0VOX1ZPV19NQVNLCQkJMHgxDQorI2RlZmlu ZSBSR19WT1dDTEtfU0VMX0VOX1ZPV19NQVNLX1NGVAkJCSgweDEgPDwgNikNCisjZGVmaW5lIFJH X1NQQVJFX1ZPV19TRlQJCQkJNw0KKyNkZWZpbmUgUkdfU1BBUkVfVk9XX01BU0sJCQkJMHg3DQor I2RlZmluZSBSR19TUEFSRV9WT1dfTUFTS19TRlQJCQkJKDB4NyA8PCA3KQ0KKw0KKy8qIEFVRERF Q19BTkFfQ09OMCAqLw0KKyNkZWZpbmUgUkdfQVVEREFDTFBXUlVQX1ZBVURQMzJfU0ZUCQkJMA0K KyNkZWZpbmUgUkdfQVVEREFDTFBXUlVQX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdf QVVEREFDTFBXUlVQX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJHX0FV RERBQ1JQV1JVUF9WQVVEUDMyX1NGVAkJCTENCisjZGVmaW5lIFJHX0FVRERBQ1JQV1JVUF9WQVVE UDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVRERBQ1JQV1JVUF9WQVVEUDMyX01BU0tfU0ZU CQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURfREFDX1BXUl9VUF9WQTMyX1NGVAkJCTINCisj ZGVmaW5lIFJHX0FVRF9EQUNfUFdSX1VQX1ZBMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVE X0RBQ19QV1JfVVBfVkEzMl9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJHX0FVRF9E QUNfUFdMX1VQX1ZBMzJfU0ZUCQkJMw0KKyNkZWZpbmUgUkdfQVVEX0RBQ19QV0xfVVBfVkEzMl9N QVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURfREFDX1BXTF9VUF9WQTMyX01BU0tfU0ZUCQkJKDB4 MSA8PCAzKQ0KKyNkZWZpbmUgUkdfQVVESFBMUFdSVVBfVkFVRFAzMl9TRlQJCQk0DQorI2RlZmlu ZSBSR19BVURIUExQV1JVUF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhQTFBX UlVQX1ZBVURQMzJfTUFTS19TRlQJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSR19BVURIUFJQV1JV UF9WQVVEUDMyX1NGVAkJCTUNCisjZGVmaW5lIFJHX0FVREhQUlBXUlVQX1ZBVURQMzJfTUFTSwkJ CTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBSUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJCSgweDEgPDwg NSkNCisjZGVmaW5lIFJHX0FVREhQTFBXUlVQX0lCSUFTX1ZBVURQMzJfU0ZUCQk2DQorI2RlZmlu ZSBSR19BVURIUExQV1JVUF9JQklBU19WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVE SFBMUFdSVVBfSUJJQVNfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUkdf QVVESFBSUFdSVVBfSUJJQVNfVkFVRFAzMl9TRlQJCTcNCisjZGVmaW5lIFJHX0FVREhQUlBXUlVQ X0lCSUFTX1ZBVURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURIUFJQV1JVUF9JQklBU19W QVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19BVURIUExNVVhJTlBVVFNF TF9WQVVEUDMyX1NGVAkJOA0KKyNkZWZpbmUgUkdfQVVESFBMTVVYSU5QVVRTRUxfVkFVRFAzMl9N QVNLCQkweDMNCisjZGVmaW5lIFJHX0FVREhQTE1VWElOUFVUU0VMX1ZBVURQMzJfTUFTS19TRlQJ CSgweDMgPDwgOCkNCisjZGVmaW5lIFJHX0FVREhQUk1VWElOUFVUU0VMX1ZBVURQMzJfU0ZUCQkx MA0KKyNkZWZpbmUgUkdfQVVESFBSTVVYSU5QVVRTRUxfVkFVRFAzMl9NQVNLCQkweDMNCisjZGVm aW5lIFJHX0FVREhQUk1VWElOUFVUU0VMX1ZBVURQMzJfTUFTS19TRlQJCSgweDMgPDwgMTApDQor I2RlZmluZSBSR19BVURIUExTQ0RJU0FCTEVfVkFVRFAzMl9TRlQJCQkxMg0KKyNkZWZpbmUgUkdf QVVESFBMU0NESVNBQkxFX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBMU0NE SVNBQkxFX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMTIpDQorI2RlZmluZSBSR19BVURIUFJT Q0RJU0FCTEVfVkFVRFAzMl9TRlQJCQkxMw0KKyNkZWZpbmUgUkdfQVVESFBSU0NESVNBQkxFX1ZB VURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBSU0NESVNBQkxFX1ZBVURQMzJfTUFT S19TRlQJCSgweDEgPDwgMTMpDQorI2RlZmluZSBSR19BVURIUExCU0NDVVJSRU5UX1ZBVURQMzJf U0ZUCQkJMTQNCisjZGVmaW5lIFJHX0FVREhQTEJTQ0NVUlJFTlRfVkFVRFAzMl9NQVNLCQkweDEN CisjZGVmaW5lIFJHX0FVREhQTEJTQ0NVUlJFTlRfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAx NCkNCisjZGVmaW5lIFJHX0FVREhQUkJTQ0NVUlJFTlRfVkFVRFAzMl9TRlQJCQkxNQ0KKyNkZWZp bmUgUkdfQVVESFBSQlNDQ1VSUkVOVF9WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVE SFBSQlNDQ1VSUkVOVF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDE1KQ0KKw0KKy8qIEFVRERF Q19BTkFfQ09OMSAqLw0KKyNkZWZpbmUgUkdfQVVESFBMT1VUUFdSVVBfVkFVRFAzMl9TRlQJCQkw DQorI2RlZmluZSBSR19BVURIUExPVVRQV1JVUF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5l IFJHX0FVREhQTE9VVFBXUlVQX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMCkNCisjZGVmaW5l IFJHX0FVREhQUk9VVFBXUlVQX1ZBVURQMzJfU0ZUCQkJMQ0KKyNkZWZpbmUgUkdfQVVESFBST1VU UFdSVVBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURIUFJPVVRQV1JVUF9WQVVE UDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURIUExPVVRBVVhQV1JVUF9W QVVEUDMyX1NGVAkJMg0KKyNkZWZpbmUgUkdfQVVESFBMT1VUQVVYUFdSVVBfVkFVRFAzMl9NQVNL CQkweDENCisjZGVmaW5lIFJHX0FVREhQTE9VVEFVWFBXUlVQX1ZBVURQMzJfTUFTS19TRlQJCSgw eDEgPDwgMikNCisjZGVmaW5lIFJHX0FVREhQUk9VVEFVWFBXUlVQX1ZBVURQMzJfU0ZUCQkzDQor I2RlZmluZSBSR19BVURIUFJPVVRBVVhQV1JVUF9WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUg UkdfQVVESFBST1VUQVVYUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAzKQ0KKyNkZWZp bmUgUkdfSFBMQVVYRkJSU1dfRU5fVkFVRFAzMl9TRlQJCQk0DQorI2RlZmluZSBSR19IUExBVVhG QlJTV19FTl9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hQTEFVWEZCUlNXX0VOX1ZB VURQMzJfTUFTS19TRlQJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJHX0hQUkFVWEZCUlNXX0VOX1ZB VURQMzJfU0ZUCQkJNQ0KKyNkZWZpbmUgUkdfSFBSQVVYRkJSU1dfRU5fVkFVRFAzMl9NQVNLCQkJ MHgxDQorI2RlZmluZSBSR19IUFJBVVhGQlJTV19FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8 IDUpDQorI2RlZmluZSBSR19IUExTSE9SVDJIUExBVVhfRU5fVkFVRFAzMl9TRlQJCTYNCisjZGVm aW5lIFJHX0hQTFNIT1JUMkhQTEFVWF9FTl9WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdf SFBMU0hPUlQySFBMQVVYX0VOX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNikNCisjZGVmaW5l IFJHX0hQUlNIT1JUMkhQUkFVWF9FTl9WQVVEUDMyX1NGVAkJNw0KKyNkZWZpbmUgUkdfSFBSU0hP UlQySFBSQVVYX0VOX1ZBVURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19IUFJTSE9SVDJIUFJB VVhfRU5fVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA3KQ0KKyNkZWZpbmUgUkdfSFBMT1VUU1RH Q1RSTF9WQVVEUDMyX1NGVAkJCTgNCisjZGVmaW5lIFJHX0hQTE9VVFNUR0NUUkxfVkFVRFAzMl9N QVNLCQkJMHg3DQorI2RlZmluZSBSR19IUExPVVRTVEdDVFJMX1ZBVURQMzJfTUFTS19TRlQJCSgw eDcgPDwgOCkNCisjZGVmaW5lIFJHX0hQUk9VVFNUR0NUUkxfVkFVRFAzMl9TRlQJCQkxMg0KKyNk ZWZpbmUgUkdfSFBST1VUU1RHQ1RSTF9WQVVEUDMyX01BU0sJCQkweDcNCisjZGVmaW5lIFJHX0hQ Uk9VVFNUR0NUUkxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCAxMikNCisNCisvKiBBVURERUNf QU5BX0NPTjIgKi8NCisjZGVmaW5lIFJHX0hQTE9VVFBVVFNUQkVOSF9WQVVEUDMyX1NGVAkJCTAN CisjZGVmaW5lIFJHX0hQTE9VVFBVVFNUQkVOSF9WQVVEUDMyX01BU0sJCQkweDcNCisjZGVmaW5l IFJHX0hQTE9VVFBVVFNUQkVOSF9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8IDApDQorI2RlZmlu ZSBSR19IUFJPVVRQVVRTVEJFTkhfVkFVRFAzMl9TRlQJCQk0DQorI2RlZmluZSBSR19IUFJPVVRQ VVRTVEJFTkhfVkFVRFAzMl9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19IUFJPVVRQVVRTVEJFTkhf VkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVESFBTVEFSVFVQX1ZB VURQMzJfU0ZUCQkJNw0KKyNkZWZpbmUgUkdfQVVESFBTVEFSVFVQX1ZBVURQMzJfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfQVVESFBTVEFSVFVQX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNykN CisjZGVmaW5lIFJHX0FVRFJFRk5fREVSRVNfRU5fVkFVRFAzMl9TRlQJCQk4DQorI2RlZmluZSBS R19BVURSRUZOX0RFUkVTX0VOX1ZBVURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURSRUZO X0RFUkVTX0VOX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgOCkNCisjZGVmaW5lIFJHX0hQSU5Q VVRTVEJFTkhfVkFVRFAzMl9TRlQJCQk5DQorI2RlZmluZSBSR19IUElOUFVUU1RCRU5IX1ZBVURQ MzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfSFBJTlBVVFNUQkVOSF9WQVVEUDMyX01BU0tfU0ZU CQkoMHgxIDw8IDkpDQorI2RlZmluZSBSR19IUElOUFVUUkVTRVQwX1ZBVURQMzJfU0ZUCQkJMTAN CisjZGVmaW5lIFJHX0hQSU5QVVRSRVNFVDBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBS R19IUElOUFVUUkVTRVQwX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMTApDQorI2RlZmluZSBS R19IUE9VVFBVVFJFU0VUMF9WQVVEUDMyX1NGVAkJCTExDQorI2RlZmluZSBSR19IUE9VVFBVVFJF U0VUMF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hQT1VUUFVUUkVTRVQwX1ZBVURQ MzJfTUFTS19TRlQJCSgweDEgPDwgMTEpDQorI2RlZmluZSBSR19IUFBTSE9SVDJWQ01fVkFVRFAz Ml9TRlQJCQkxMg0KKyNkZWZpbmUgUkdfSFBQU0hPUlQyVkNNX1ZBVURQMzJfTUFTSwkJCTB4Nw0K KyNkZWZpbmUgUkdfSFBQU0hPUlQyVkNNX1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwgMTIpDQor I2RlZmluZSBSR19BVURIUFRSSU1fRU5fVkFVRFAzMl9TRlQJCQkxNQ0KKyNkZWZpbmUgUkdfQVVE SFBUUklNX0VOX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBUUklNX0VOX1ZB VURQMzJfTUFTS19TRlQJCSgweDEgPDwgMTUpDQorDQorLyogQVVEREVDX0FOQV9DT04zICovDQor I2RlZmluZSBSR19BVURIUExUUklNX1ZBVURQMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVESFBM VFJJTV9WQVVEUDMyX01BU0sJCQkweDFmDQorI2RlZmluZSBSR19BVURIUExUUklNX1ZBVURQMzJf TUFTS19TRlQJCQkoMHgxZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVESFBMRklORVRSSU1fVkFVRFAz Ml9TRlQJCQk1DQorI2RlZmluZSBSR19BVURIUExGSU5FVFJJTV9WQVVEUDMyX01BU0sJCQkweDcN CisjZGVmaW5lIFJHX0FVREhQTEZJTkVUUklNX1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwgNSkN CisjZGVmaW5lIFJHX0FVREhQUlRSSU1fVkFVRFAzMl9TRlQJCQk4DQorI2RlZmluZSBSR19BVURI UFJUUklNX1ZBVURQMzJfTUFTSwkJCTB4MWYNCisjZGVmaW5lIFJHX0FVREhQUlRSSU1fVkFVRFAz Ml9NQVNLX1NGVAkJCSgweDFmIDw8IDgpDQorI2RlZmluZSBSR19BVURIUFJGSU5FVFJJTV9WQVVE UDMyX1NGVAkJCTEzDQorI2RlZmluZSBSR19BVURIUFJGSU5FVFJJTV9WQVVEUDMyX01BU0sJCQkw eDcNCisjZGVmaW5lIFJHX0FVREhQUkZJTkVUUklNX1ZBVURQMzJfTUFTS19TRlQJCSgweDcgPDwg MTMpDQorDQorLyogQVVEREVDX0FOQV9DT040ICovDQorI2RlZmluZSBSR19BVURIUERJRkZJTlBC SUFTQURKX1ZBVURQMzJfU0ZUCQkwDQorI2RlZmluZSBSR19BVURIUERJRkZJTlBCSUFTQURKX1ZB VURQMzJfTUFTSwkJMHg3DQorI2RlZmluZSBSR19BVURIUERJRkZJTlBCSUFTQURKX1ZBVURQMzJf TUFTS19TRlQJCSgweDcgPDwgMCkNCisjZGVmaW5lIFJHX0FVREhQTEZDT01QUkVTU0VMX1ZBVURQ MzJfU0ZUCQk0DQorI2RlZmluZSBSR19BVURIUExGQ09NUFJFU1NFTF9WQVVEUDMyX01BU0sJCTB4 Nw0KKyNkZWZpbmUgUkdfQVVESFBMRkNPTVBSRVNTRUxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8 PCA0KQ0KKyNkZWZpbmUgUkdfQVVESFBIRkNPTVBSRVNTRUxfVkFVRFAzMl9TRlQJCTgNCisjZGVm aW5lIFJHX0FVREhQSEZDT01QUkVTU0VMX1ZBVURQMzJfTUFTSwkJMHg3DQorI2RlZmluZSBSR19B VURIUEhGQ09NUFJFU1NFTF9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3IDw8IDgpDQorI2RlZmluZSBS R19BVURIUEhGQ09NUEJVRkdBSU5TRUxfVkFVRFAzMl9TRlQJCTEyDQorI2RlZmluZSBSR19BVURI UEhGQ09NUEJVRkdBSU5TRUxfVkFVRFAzMl9NQVNLCQkweDMNCisjZGVmaW5lIFJHX0FVREhQSEZD T01QQlVGR0FJTlNFTF9WQVVEUDMyX01BU0tfU0ZUCSgweDMgPDwgMTIpDQorI2RlZmluZSBSR19B VURIUENPTVBfRU5fVkFVRFAzMl9TRlQJCQkxNQ0KKyNkZWZpbmUgUkdfQVVESFBDT01QX0VOX1ZB VURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFBDT01QX0VOX1ZBVURQMzJfTUFTS19T RlQJCSgweDEgPDwgMTUpDQorDQorLyogQVVEREVDX0FOQV9DT041ICovDQorI2RlZmluZSBSR19B VURIUERFQ01HQUlOQURKX1ZBVURQMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVESFBERUNNR0FJ TkFESl9WQVVEUDMyX01BU0sJCTB4Nw0KKyNkZWZpbmUgUkdfQVVESFBERUNNR0FJTkFESl9WQVVE UDMyX01BU0tfU0ZUCQkoMHg3IDw8IDApDQorI2RlZmluZSBSR19BVURIUERFRE1HQUlOQURKX1ZB VURQMzJfU0ZUCQkJNA0KKyNkZWZpbmUgUkdfQVVESFBERURNR0FJTkFESl9WQVVEUDMyX01BU0sJ CTB4Nw0KKyNkZWZpbmUgUkdfQVVESFBERURNR0FJTkFESl9WQVVEUDMyX01BU0tfU0ZUCQkoMHg3 IDw8IDQpDQorDQorLyogQVVEREVDX0FOQV9DT042ICovDQorI2RlZmluZSBSR19BVURIU1BXUlVQ X1ZBVURQMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVESFNQV1JVUF9WQVVEUDMyX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX0FVREhTUFdSVVBfVkFVRFAzMl9NQVNLX1NGVAkJCSgweDEgPDwgMCkN CisjZGVmaW5lIFJHX0FVREhTUFdSVVBfSUJJQVNfVkFVRFAzMl9TRlQJCQkxDQorI2RlZmluZSBS R19BVURIU1BXUlVQX0lCSUFTX1ZBVURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURIU1BX UlVQX0lCSUFTX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMSkNCisjZGVmaW5lIFJHX0FVREhT TVVYSU5QVVRTRUxfVkFVRFAzMl9TRlQJCQkyDQorI2RlZmluZSBSR19BVURIU01VWElOUFVUU0VM X1ZBVURQMzJfTUFTSwkJMHgzDQorI2RlZmluZSBSR19BVURIU01VWElOUFVUU0VMX1ZBVURQMzJf TUFTS19TRlQJCSgweDMgPDwgMikNCisjZGVmaW5lIFJHX0FVREhTU0NESVNBQkxFX1ZBVURQMzJf U0ZUCQkJNA0KKyNkZWZpbmUgUkdfQVVESFNTQ0RJU0FCTEVfVkFVRFAzMl9NQVNLCQkJMHgxDQor I2RlZmluZSBSR19BVURIU1NDRElTQUJMRV9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDQpDQor I2RlZmluZSBSR19BVURIU0JTQ0NVUlJFTlRfVkFVRFAzMl9TRlQJCQk1DQorI2RlZmluZSBSR19B VURIU0JTQ0NVUlJFTlRfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURIU0JTQ0NV UlJFTlRfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVESFNTVEFS VFVQX1ZBVURQMzJfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfQVVESFNTVEFSVFVQX1ZBVURQMzJfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESFNTVEFSVFVQX1ZBVURQMzJfTUFTS19TRlQJCSgweDEg PDwgNikNCisjZGVmaW5lIFJHX0hTT1VUUFVUU1RCRU5IX1ZBVURQMzJfU0ZUCQkJNw0KKyNkZWZp bmUgUkdfSFNPVVRQVVRTVEJFTkhfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19IU09V VFBVVFNUQkVOSF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDcpDQorI2RlZmluZSBSR19IU0lO UFVUU1RCRU5IX1ZBVURQMzJfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfSFNJTlBVVFNUQkVOSF9WQVVE UDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0hTSU5QVVRTVEJFTkhfVkFVRFAzMl9NQVNLX1NG VAkJKDB4MSA8PCA4KQ0KKyNkZWZpbmUgUkdfSFNJTlBVVFJFU0VUMF9WQVVEUDMyX1NGVAkJCTkN CisjZGVmaW5lIFJHX0hTSU5QVVRSRVNFVDBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBS R19IU0lOUFVUUkVTRVQwX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgOSkNCisjZGVmaW5lIFJH X0hTT1VUUFVUUkVTRVQwX1ZBVURQMzJfU0ZUCQkJMTANCisjZGVmaW5lIFJHX0hTT1VUUFVUUkVT RVQwX1ZBVURQMzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfSFNPVVRQVVRSRVNFVDBfVkFVRFAz Ml9NQVNLX1NGVAkJKDB4MSA8PCAxMCkNCisjZGVmaW5lIFJHX0hTT1VUX1NIT1JUVkNNX1ZBVURQ MzJfU0ZUCQkJMTENCisjZGVmaW5lIFJHX0hTT1VUX1NIT1JUVkNNX1ZBVURQMzJfTUFTSwkJCTB4 MQ0KKyNkZWZpbmUgUkdfSFNPVVRfU0hPUlRWQ01fVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCAx MSkNCisNCisvKiBBVURERUNfQU5BX0NPTjcgKi8NCisjZGVmaW5lIFJHX0FVRExPTFBXUlVQX1ZB VURQMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfQVVETE9MUFdSVVBfVkFVRFAzMl9NQVNLCQkJMHgx DQorI2RlZmluZSBSR19BVURMT0xQV1JVUF9WQVVEUDMyX01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0K KyNkZWZpbmUgUkdfQVVETE9MUFdSVVBfSUJJQVNfVkFVRFAzMl9TRlQJCTENCisjZGVmaW5lIFJH X0FVRExPTFBXUlVQX0lCSUFTX1ZBVURQMzJfTUFTSwkJMHgxDQorI2RlZmluZSBSR19BVURMT0xQ V1JVUF9JQklBU19WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEpDQorI2RlZmluZSBSR19BVURM T0xNVVhJTlBVVFNFTF9WQVVEUDMyX1NGVAkJMg0KKyNkZWZpbmUgUkdfQVVETE9MTVVYSU5QVVRT RUxfVkFVRFAzMl9NQVNLCQkweDMNCisjZGVmaW5lIFJHX0FVRExPTE1VWElOUFVUU0VMX1ZBVURQ MzJfTUFTS19TRlQJCSgweDMgPDwgMikNCisjZGVmaW5lIFJHX0FVRExPTFNDRElTQUJMRV9WQVVE UDMyX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVRExPTFNDRElTQUJMRV9WQVVEUDMyX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX0FVRExPTFNDRElTQUJMRV9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8 IDQpDQorI2RlZmluZSBSR19BVURMT0xCU0NDVVJSRU5UX1ZBVURQMzJfU0ZUCQkJNQ0KKyNkZWZp bmUgUkdfQVVETE9MQlNDQ1VSUkVOVF9WQVVEUDMyX01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfQVVE TE9MQlNDQ1VSUkVOVF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDUpDQorI2RlZmluZSBSR19B VURMT1NUQVJUVVBfVkFVRFAzMl9TRlQJCQk2DQorI2RlZmluZSBSR19BVURMT1NUQVJUVVBfVkFV RFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURMT1NUQVJUVVBfVkFVRFAzMl9NQVNLX1NG VAkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUkdfTE9JTlBVVFNUQkVOSF9WQVVEUDMyX1NGVAkJCTcN CisjZGVmaW5lIFJHX0xPSU5QVVRTVEJFTkhfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBS R19MT0lOUFVUU1RCRU5IX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgNykNCisjZGVmaW5lIFJH X0xPT1VUUFVUU1RCRU5IX1ZBVURQMzJfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfTE9PVVRQVVRTVEJF TkhfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19MT09VVFBVVFNUQkVOSF9WQVVEUDMy X01BU0tfU0ZUCQkoMHgxIDw8IDgpDQorI2RlZmluZSBSR19MT0lOUFVUUkVTRVQwX1ZBVURQMzJf U0ZUCQkJOQ0KKyNkZWZpbmUgUkdfTE9JTlBVVFJFU0VUMF9WQVVEUDMyX01BU0sJCQkweDENCisj ZGVmaW5lIFJHX0xPSU5QVVRSRVNFVDBfVkFVRFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA5KQ0KKyNk ZWZpbmUgUkdfTE9PVVRQVVRSRVNFVDBfVkFVRFAzMl9TRlQJCQkxMA0KKyNkZWZpbmUgUkdfTE9P VVRQVVRSRVNFVDBfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19MT09VVFBVVFJFU0VU MF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEwKQ0KKyNkZWZpbmUgUkdfTE9PVVRfU0hPUlRW Q01fVkFVRFAzMl9TRlQJCQkxMQ0KKyNkZWZpbmUgUkdfTE9PVVRfU0hPUlRWQ01fVkFVRFAzMl9N QVNLCQkJMHgxDQorI2RlZmluZSBSR19MT09VVF9TSE9SVFZDTV9WQVVEUDMyX01BU0tfU0ZUCQko MHgxIDw8IDExKQ0KKyNkZWZpbmUgUkdfQVVEREFDVFBXUlVQX1ZBVURQMzJfU0ZUCQkJMTINCisj ZGVmaW5lIFJHX0FVRERBQ1RQV1JVUF9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV RERBQ1RQV1JVUF9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDEyKQ0KKyNkZWZpbmUgUkdfQVVE X0RBQ19QV1RfVVBfVkEzMl9TRlQJCQkxMw0KKyNkZWZpbmUgUkdfQVVEX0RBQ19QV1RfVVBfVkEz Ml9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURfREFDX1BXVF9VUF9WQTMyX01BU0tfU0ZUCQkJ KDB4MSA8PCAxMykNCisNCisvKiBBVURERUNfQU5BX0NPTjggKi8NCisjZGVmaW5lIFJHX0FVRFRS SU1CVUZfSU5QVVRNVVhTRUxfVkFVRFAzMl9TRlQJCTANCisjZGVmaW5lIFJHX0FVRFRSSU1CVUZf SU5QVVRNVVhTRUxfVkFVRFAzMl9NQVNLCQkweGYNCisjZGVmaW5lIFJHX0FVRFRSSU1CVUZfSU5Q VVRNVVhTRUxfVkFVRFAzMl9NQVNLX1NGVAkoMHhmIDw8IDApDQorI2RlZmluZSBSR19BVURUUklN QlVGX0dBSU5TRUxfVkFVRFAzMl9TRlQJCTQNCisjZGVmaW5lIFJHX0FVRFRSSU1CVUZfR0FJTlNF TF9WQVVEUDMyX01BU0sJCTB4Mw0KKyNkZWZpbmUgUkdfQVVEVFJJTUJVRl9HQUlOU0VMX1ZBVURQ MzJfTUFTS19TRlQJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJHX0FVRFRSSU1CVUZfRU5fVkFVRFAz Ml9TRlQJCQk2DQorI2RlZmluZSBSR19BVURUUklNQlVGX0VOX1ZBVURQMzJfTUFTSwkJCTB4MQ0K KyNkZWZpbmUgUkdfQVVEVFJJTUJVRl9FTl9WQVVEUDMyX01BU0tfU0ZUCQkoMHgxIDw8IDYpDQor I2RlZmluZSBSR19BVURIUFNQS0RFVF9JTlBVVE1VWFNFTF9WQVVEUDMyX1NGVAkJOA0KKyNkZWZp bmUgUkdfQVVESFBTUEtERVRfSU5QVVRNVVhTRUxfVkFVRFAzMl9NQVNLCQkweDMNCisjZGVmaW5l IFJHX0FVREhQU1BLREVUX0lOUFVUTVVYU0VMX1ZBVURQMzJfTUFTS19TRlQJKDB4MyA8PCA4KQ0K KyNkZWZpbmUgUkdfQVVESFBTUEtERVRfT1VUUFVUTVVYU0VMX1ZBVURQMzJfU0ZUCQkxMA0KKyNk ZWZpbmUgUkdfQVVESFBTUEtERVRfT1VUUFVUTVVYU0VMX1ZBVURQMzJfTUFTSwkweDMNCisjZGVm aW5lIFJHX0FVREhQU1BLREVUX09VVFBVVE1VWFNFTF9WQVVEUDMyX01BU0tfU0ZUCSgweDMgPDwg MTApDQorI2RlZmluZSBSR19BVURIUFNQS0RFVF9FTl9WQVVEUDMyX1NGVAkJCTEyDQorI2RlZmlu ZSBSR19BVURIUFNQS0RFVF9FTl9WQVVEUDMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREhQ U1BLREVUX0VOX1ZBVURQMzJfTUFTS19TRlQJCSgweDEgPDwgMTIpDQorDQorLyogQVVEREVDX0FO QV9DT045ICovDQorI2RlZmluZSBSR19BQklERUNfUlNWRDBfVkEzMl9TRlQJCQkwDQorI2RlZmlu ZSBSR19BQklERUNfUlNWRDBfVkEzMl9NQVNLCQkJMHhmZg0KKyNkZWZpbmUgUkdfQUJJREVDX1JT VkQwX1ZBMzJfTUFTS19TRlQJCQkoMHhmZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQUJJREVDX1JTVkQw X1ZBVURQMzJfU0ZUCQkJOA0KKyNkZWZpbmUgUkdfQUJJREVDX1JTVkQwX1ZBVURQMzJfTUFTSwkJ CTB4ZmYNCisjZGVmaW5lIFJHX0FCSURFQ19SU1ZEMF9WQVVEUDMyX01BU0tfU0ZUCQkoMHhmZiA8 PCA4KQ0KKw0KKy8qIEFVRERFQ19BTkFfQ09OMTAgKi8NCisjZGVmaW5lIFJHX0FCSURFQ19SU1ZE MV9WQVVEUDMyX1NGVAkJCTANCisjZGVmaW5lIFJHX0FCSURFQ19SU1ZEMV9WQVVEUDMyX01BU0sJ CQkweGZmDQorI2RlZmluZSBSR19BQklERUNfUlNWRDFfVkFVRFAzMl9NQVNLX1NGVAkJKDB4ZmYg PDwgMCkNCisjZGVmaW5lIFJHX0FCSURFQ19SU1ZEMl9WQVVEUDMyX1NGVAkJCTgNCisjZGVmaW5l IFJHX0FCSURFQ19SU1ZEMl9WQVVEUDMyX01BU0sJCQkweGZmDQorI2RlZmluZSBSR19BQklERUNf UlNWRDJfVkFVRFAzMl9NQVNLX1NGVAkJKDB4ZmYgPDwgOCkNCisNCisvKiBBVURERUNfQU5BX0NP TjExICovDQorI2RlZmluZSBSR19BVURaQ0RNVVhTRUxfVkFVRFAzMl9TRlQJCQkwDQorI2RlZmlu ZSBSR19BVURaQ0RNVVhTRUxfVkFVRFAzMl9NQVNLCQkJMHg3DQorI2RlZmluZSBSR19BVURaQ0RN VVhTRUxfVkFVRFAzMl9NQVNLX1NGVAkJKDB4NyA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEWkNEQ0xL U0VMX1ZBVURQMzJfU0ZUCQkJMw0KKyNkZWZpbmUgUkdfQVVEWkNEQ0xLU0VMX1ZBVURQMzJfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEWkNEQ0xLU0VMX1ZBVURQMzJfTUFTS19TRlQJCSgweDEg PDwgMykNCisjZGVmaW5lIFJHX0FVREJJQVNBREpfMF9WQVVEUDMyX1NGVAkJCTcNCisjZGVmaW5l IFJHX0FVREJJQVNBREpfMF9WQVVEUDMyX01BU0sJCQkweDFmZg0KKyNkZWZpbmUgUkdfQVVEQklB U0FESl8wX1ZBVURQMzJfTUFTS19TRlQJCSgweDFmZiA8PCA3KQ0KKw0KKy8qIEFVRERFQ19BTkFf Q09OMTIgKi8NCisjZGVmaW5lIFJHX0FVREJJQVNBREpfMV9WQVVEUDMyX1NGVAkJCTANCisjZGVm aW5lIFJHX0FVREJJQVNBREpfMV9WQVVEUDMyX01BU0sJCQkweGZmDQorI2RlZmluZSBSR19BVURC SUFTQURKXzFfVkFVRFAzMl9NQVNLX1NGVAkJKDB4ZmYgPDwgMCkNCisjZGVmaW5lIFJHX0FVRElC SUFTUFdSRE5fVkFVRFAzMl9TRlQJCQk4DQorI2RlZmluZSBSR19BVURJQklBU1BXUkROX1ZBVURQ MzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVESUJJQVNQV1JETl9WQVVEUDMyX01BU0tfU0ZU CQkoMHgxIDw8IDgpDQorDQorLyogQVVEREVDX0FOQV9DT04xMyAqLw0KKyNkZWZpbmUgUkdfUlNU Ql9ERUNPREVSX1ZBMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfUlNUQl9ERUNPREVSX1ZBMzJfTUFT SwkJCTB4MQ0KKyNkZWZpbmUgUkdfUlNUQl9ERUNPREVSX1ZBMzJfTUFTS19TRlQJCQkoMHgxIDw8 IDApDQorI2RlZmluZSBSR19TRUxfREVDT0RFUl85NktfVkEzMl9TRlQJCQkxDQorI2RlZmluZSBS R19TRUxfREVDT0RFUl85NktfVkEzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19TRUxfREVDT0RF Ul85NktfVkEzMl9NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUgUkdfU0VMX0RFTEFZX1ZD T1JFX1NGVAkJCQkyDQorI2RlZmluZSBSR19TRUxfREVMQVlfVkNPUkVfTUFTSwkJCQkweDENCisj ZGVmaW5lIFJHX1NFTF9ERUxBWV9WQ09SRV9NQVNLX1NGVAkJCSgweDEgPDwgMikNCisjZGVmaW5l IFJHX0FVREdMQl9QV1JETl9WQTMyX1NGVAkJCTQNCisjZGVmaW5lIFJHX0FVREdMQl9QV1JETl9W QTMyX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FVREdMQl9QV1JETl9WQTMyX01BU0tfU0ZUCQkJ KDB4MSA8PCA0KQ0KKyNkZWZpbmUgUkdfQVVER0xCX0xQX1ZPV19FTl9WQTMyX1NGVAkJCTUNCisj ZGVmaW5lIFJHX0FVREdMQl9MUF9WT1dfRU5fVkEzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19B VURHTEJfTFBfVk9XX0VOX1ZBMzJfTUFTS19TRlQJCSgweDEgPDwgNSkNCisjZGVmaW5lIFJHX0FV REdMQl9MUDJfVk9XX0VOX1ZBMzJfU0ZUCQkJNg0KKyNkZWZpbmUgUkdfQVVER0xCX0xQMl9WT1df RU5fVkEzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19BVURHTEJfTFAyX1ZPV19FTl9WQTMyX01B U0tfU0ZUCQkoMHgxIDw8IDYpDQorDQorLyogQVVEREVDX0FOQV9DT04xNCAqLw0KKyNkZWZpbmUg UkdfTENMRE9fREVDX0VOX1ZBMzJfU0ZUCQkJMA0KKyNkZWZpbmUgUkdfTENMRE9fREVDX0VOX1ZB MzJfTUFTSwkJCTB4MQ0KKyNkZWZpbmUgUkdfTENMRE9fREVDX0VOX1ZBMzJfTUFTS19TRlQJCQko MHgxIDw8IDApDQorI2RlZmluZSBSR19MQ0xET19ERUNfUERESVNfRU5fVkExOF9TRlQJCQkxDQor I2RlZmluZSBSR19MQ0xET19ERUNfUERESVNfRU5fVkExOF9NQVNLCQkJMHgxDQorI2RlZmluZSBS R19MQ0xET19ERUNfUERESVNfRU5fVkExOF9NQVNLX1NGVAkJKDB4MSA8PCAxKQ0KKyNkZWZpbmUg UkdfTENMRE9fREVDX1JFTU9URV9TRU5TRV9WQTE4X1NGVAkJMg0KKyNkZWZpbmUgUkdfTENMRE9f REVDX1JFTU9URV9TRU5TRV9WQTE4X01BU0sJCTB4MQ0KKyNkZWZpbmUgUkdfTENMRE9fREVDX1JF TU9URV9TRU5TRV9WQTE4X01BU0tfU0ZUCQkoMHgxIDw8IDIpDQorI2RlZmluZSBSR19OVlJFR19F Tl9WQVVEUDMyX1NGVAkJCQk0DQorI2RlZmluZSBSR19OVlJFR19FTl9WQVVEUDMyX01BU0sJCQkw eDENCisjZGVmaW5lIFJHX05WUkVHX0VOX1ZBVURQMzJfTUFTS19TRlQJCQkoMHgxIDw8IDQpDQor I2RlZmluZSBSR19OVlJFR19QVUxMMFZfVkFVRFAzMl9TRlQJCQk1DQorI2RlZmluZSBSR19OVlJF R19QVUxMMFZfVkFVRFAzMl9NQVNLCQkJMHgxDQorI2RlZmluZSBSR19OVlJFR19QVUxMMFZfVkFV RFAzMl9NQVNLX1NGVAkJKDB4MSA8PCA1KQ0KKyNkZWZpbmUgUkdfQVVEUE1VX1JTVkRfVkExOF9T RlQJCQkJOA0KKyNkZWZpbmUgUkdfQVVEUE1VX1JTVkRfVkExOF9NQVNLCQkJMHhmZg0KKyNkZWZp bmUgUkdfQVVEUE1VX1JTVkRfVkExOF9NQVNLX1NGVAkJCSgweGZmIDw8IDgpDQorDQorLyogTVQ2 MzU5X1pDRF9DT04wICovDQorI2RlZmluZSBSR19BVURaQ0RFTkFCTEVfU0ZUCQkJCTANCisjZGVm aW5lIFJHX0FVRFpDREVOQUJMRV9NQVNLCQkJCTB4MQ0KKyNkZWZpbmUgUkdfQVVEWkNERU5BQkxF X01BU0tfU0ZUCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVEWkNER0FJTlNURVBUSU1FX1NG VAkJCTENCisjZGVmaW5lIFJHX0FVRFpDREdBSU5TVEVQVElNRV9NQVNLCQkJMHg3DQorI2RlZmlu ZSBSR19BVURaQ0RHQUlOU1RFUFRJTUVfTUFTS19TRlQJCQkoMHg3IDw8IDEpDQorI2RlZmluZSBS R19BVURaQ0RHQUlOU1RFUFNJWkVfU0ZUCQkJNA0KKyNkZWZpbmUgUkdfQVVEWkNER0FJTlNURVBT SVpFX01BU0sJCQkweDMNCisjZGVmaW5lIFJHX0FVRFpDREdBSU5TVEVQU0laRV9NQVNLX1NGVAkJ CSgweDMgPDwgNCkNCisjZGVmaW5lIFJHX0FVRFpDRFRJTUVPVVRNT0RFU0VMX1NGVAkJCTYNCisj ZGVmaW5lIFJHX0FVRFpDRFRJTUVPVVRNT0RFU0VMX01BU0sJCQkweDENCisjZGVmaW5lIFJHX0FV RFpDRFRJTUVPVVRNT0RFU0VMX01BU0tfU0ZUCQkoMHgxIDw8IDYpDQorDQorLyogTVQ2MzU5X1pD RF9DT04xICovDQorI2RlZmluZSBSR19BVURMT0xHQUlOX1NGVAkJCQkwDQorI2RlZmluZSBSR19B VURMT0xHQUlOX01BU0sJCQkJMHgxZg0KKyNkZWZpbmUgUkdfQVVETE9MR0FJTl9NQVNLX1NGVAkJ CQkoMHgxZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVETE9SR0FJTl9TRlQJCQkJNw0KKyNkZWZpbmUg UkdfQVVETE9SR0FJTl9NQVNLCQkJCTB4MWYNCisjZGVmaW5lIFJHX0FVRExPUkdBSU5fTUFTS19T RlQJCQkJKDB4MWYgPDwgNykNCisNCisvKiBNVDYzNTlfWkNEX0NPTjIgKi8NCisjZGVmaW5lIFJH X0FVREhQTEdBSU5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVREhQTEdBSU5fTUFTSwkJCQkweDFm DQorI2RlZmluZSBSR19BVURIUExHQUlOX01BU0tfU0ZUCQkJCSgweDFmIDw8IDApDQorI2RlZmlu ZSBSR19BVURIUFJHQUlOX1NGVAkJCQk3DQorI2RlZmluZSBSR19BVURIUFJHQUlOX01BU0sJCQkJ MHgxZg0KKyNkZWZpbmUgUkdfQVVESFBSR0FJTl9NQVNLX1NGVAkJCQkoMHgxZiA8PCA3KQ0KKw0K Ky8qIE1UNjM1OV9aQ0RfQ09OMyAqLw0KKyNkZWZpbmUgUkdfQVVESFNHQUlOX1NGVAkJCQkwDQor I2RlZmluZSBSR19BVURIU0dBSU5fTUFTSwkJCQkweDFmDQorI2RlZmluZSBSR19BVURIU0dBSU5f TUFTS19TRlQJCQkJKDB4MWYgPDwgMCkNCisNCisvKiBNVDYzNTlfWkNEX0NPTjQgKi8NCisjZGVm aW5lIFJHX0FVRElWTEdBSU5fU0ZUCQkJCTANCisjZGVmaW5lIFJHX0FVRElWTEdBSU5fTUFTSwkJ CQkweDcNCisjZGVmaW5lIFJHX0FVRElWTEdBSU5fTUFTS19TRlQJCQkJKDB4NyA8PCAwKQ0KKyNk ZWZpbmUgUkdfQVVESVZSR0FJTl9TRlQJCQkJOA0KKyNkZWZpbmUgUkdfQVVESVZSR0FJTl9NQVNL CQkJCTB4Nw0KKyNkZWZpbmUgUkdfQVVESVZSR0FJTl9NQVNLX1NGVAkJCQkoMHg3IDw8IDgpDQor DQorLyogTVQ2MzU5X1pDRF9DT041ICovDQorI2RlZmluZSBSR19BVURJTlRHQUlOMV9TRlQJCQkJ MA0KKyNkZWZpbmUgUkdfQVVESU5UR0FJTjFfTUFTSwkJCQkweDNmDQorI2RlZmluZSBSR19BVURJ TlRHQUlOMV9NQVNLX1NGVAkJCQkoMHgzZiA8PCAwKQ0KKyNkZWZpbmUgUkdfQVVESU5UR0FJTjJf U0ZUCQkJCTgNCisjZGVmaW5lIFJHX0FVRElOVEdBSU4yX01BU0sJCQkJMHgzZg0KKyNkZWZpbmUg UkdfQVVESU5UR0FJTjJfTUFTS19TRlQJCQkJKDB4M2YgPDwgOCkNCisNCisvKiBhdWRpbyByZWdp c3RlciAqLw0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fRElSMAkJCQkweDg4DQorI2RlZmluZSBNVDYz NTlfR1BJT19ESVIwX1NFVAkJCQkweDhhDQorI2RlZmluZSBNVDYzNTlfR1BJT19ESVIwX0NMUgkJ CQkweDhjDQorI2RlZmluZSBNVDYzNTlfR1BJT19ESVIxCQkJCTB4OGUNCisjZGVmaW5lIE1UNjM1 OV9HUElPX0RJUjFfU0VUCQkJCTB4OTANCisjZGVmaW5lIE1UNjM1OV9HUElPX0RJUjFfQ0xSCQkJ CTB4OTINCisNCisjZGVmaW5lIE1UNjM1OV9EQ1hPX0NXMTEJCQkJMHg3YTYNCisjZGVmaW5lIE1U NjM1OV9EQ1hPX0NXMTIJCQkJMHg3YTgNCisjZGVmaW5lIE1UNjM1OV9MRE9fVkFVRDE4X0NPTjAJ CQkJMHgxYzk4DQorDQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFMAkJCQkweGNjDQorI2RlZmlu ZSBNVDYzNTlfR1BJT19NT0RFMF9TRVQJCQkJMHhjZQ0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9E RTBfQ0xSCQkJCTB4ZDANCisjZGVmaW5lIE1UNjM1OV9HUElPX01PREUxCQkJCTB4ZDINCisjZGVm aW5lIE1UNjM1OV9HUElPX01PREUxX1NFVAkJCQkweGQ0DQorI2RlZmluZSBNVDYzNTlfR1BJT19N T0RFMV9DTFIJCQkJMHhkNg0KKyNkZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTIJCQkJMHhkOA0KKyNk ZWZpbmUgTVQ2MzU5X0dQSU9fTU9ERTJfU0VUCQkJCTB4ZGENCisjZGVmaW5lIE1UNjM1OV9HUElP X01PREUyX0NMUgkJCQkweGRjDQorI2RlZmluZSBNVDYzNTlfR1BJT19NT0RFMwkJCQkweGRlDQor I2RlZmluZSBNVDYzNTlfR1BJT19NT0RFM19TRVQJCQkJMHhlMA0KKyNkZWZpbmUgTVQ2MzU5X0dQ SU9fTU9ERTNfQ0xSCQkJCTB4ZTINCisjZGVmaW5lIE1UNjM1OV9HUElPX01PREU0CQkJCTB4ZTQN CisjZGVmaW5lIE1UNjM1OV9HUElPX01PREU0X1NFVAkJCQkweGU2DQorI2RlZmluZSBNVDYzNTlf R1BJT19NT0RFNF9DTFIJCQkJMHhlOA0KKw0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSUQJCQkJ MHgyMzAwDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9SRVYwCQkJCTB4MjMwMg0KKyNkZWZpbmUg TVQ2MzU5X0FVRF9UT1BfREJJCQkJCTB4MjMwNA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfRFhJ CQkJCTB4MjMwNg0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0tQRE5fVFBNMAkJCTB4MjMwOA0K KyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0tQRE5fVFBNMQkJCTB4MjMwYQ0KKyNkZWZpbmUgTVQ2 MzU5X0FVRF9UT1BfQ0tQRE5fQ09OMAkJCTB4MjMwYw0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1Bf Q0tQRE5fQ09OMF9TRVQJCQkweDIzMGUNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NLUEROX0NP TjBfQ0xSCQkJMHgyMzEwDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DS1NFTF9DT04wCQkJMHgy MzEyDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9DS1NFTF9DT04wX1NFVAkJCTB4MjMxNA0KKyNk ZWZpbmUgTVQ2MzU5X0FVRF9UT1BfQ0tTRUxfQ09OMF9DTFIJCQkweDIzMTYNCisjZGVmaW5lIE1U NjM1OV9BVURfVE9QX0NLVFNUX0NPTjAJCQkweDIzMTgNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9Q X0NMS19IV0VOX0NPTjAJCQkweDIzMWENCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NMS19IV0VO X0NPTjBfU0VUCQkweDIzMWMNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0NMS19IV0VOX0NPTjBf Q0xSCQkweDIzMWUNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX1JTVF9DT04wCQkJCTB4MjMyMA0K KyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfUlNUX0NPTjBfU0VUCQkJMHgyMzIyDQorI2RlZmluZSBN VDYzNTlfQVVEX1RPUF9SU1RfQ09OMF9DTFIJCQkweDIzMjQNCisjZGVmaW5lIE1UNjM1OV9BVURf VE9QX1JTVF9CQU5LX0NPTjAJCQkweDIzMjYNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0lOVF9D T04wCQkJCTB4MjMyOA0KKyNkZWZpbmUgTVQ2MzU5X0FVRF9UT1BfSU5UX0NPTjBfU0VUCQkJMHgy MzJhDQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRfQ09OMF9DTFIJCQkweDIzMmMNCisjZGVm aW5lIE1UNjM1OV9BVURfVE9QX0lOVF9NQVNLX0NPTjAJCQkweDIzMmUNCisjZGVmaW5lIE1UNjM1 OV9BVURfVE9QX0lOVF9NQVNLX0NPTjBfU0VUCQkweDIzMzANCisjZGVmaW5lIE1UNjM1OV9BVURf VE9QX0lOVF9NQVNLX0NPTjBfQ0xSCQkweDIzMzINCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0lO VF9TVEFUVVMwCQkJMHgyMzM0DQorI2RlZmluZSBNVDYzNTlfQVVEX1RPUF9JTlRfUkFXX1NUQVRV UzAJCQkweDIzMzYNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX0lOVF9NSVNDX0NPTjAJCQkweDIz MzgNCisjZGVmaW5lIE1UNjM1OV9BVURfVE9QX01PTl9DT04wCQkJCTB4MjMzYQ0KKyNkZWZpbmUg TVQ2MzU5X0FVRElPX0RJR19EU05fSUQJCQkJMHgyMzgwDQorI2RlZmluZSBNVDYzNTlfQVVESU9f RElHX0RTTl9SRVYwCQkJMHgyMzgyDQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHX0RTTl9EQkkJ CQkweDIzODQNCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfRFNOX0RYSQkJCTB4MjM4Ng0KKyNk ZWZpbmUgTVQ2MzU5X0FGRV9VTF9ETF9DT04wCQkJCTB4MjM4OA0KKyNkZWZpbmUgTVQ2MzU5X0FG RV9ETF9TUkMyX0NPTjBfTAkJCTB4MjM4YQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9VTF9TUkNfQ09O MF9ICQkJMHgyMzhjDQorI2RlZmluZSBNVDYzNTlfQUZFX1VMX1NSQ19DT04wX0wJCQkweDIzOGUN CisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQTZfTF9TUkNfQ09OMF9ICQkJMHgyMzkwDQorI2RlZmlu ZSBNVDYzNTlfQUZFX0FEREE2X1VMX1NSQ19DT04wX0wJCQkweDIzOTINCisjZGVmaW5lIE1UNjM1 OV9BRkVfVE9QX0NPTjAJCQkJMHgyMzk0DQorI2RlZmluZSBNVDYzNTlfQVVESU9fVE9QX0NPTjAJ CQkJMHgyMzk2DQorI2RlZmluZSBNVDYzNTlfQUZFX01PTl9ERUJVRzAJCQkJMHgyMzk4DQorI2Rl ZmluZSBNVDYzNTlfQUZVTkNfQVVEX0NPTjAJCQkJMHgyMzlhDQorI2RlZmluZSBNVDYzNTlfQUZV TkNfQVVEX0NPTjEJCQkJMHgyMzljDQorI2RlZmluZSBNVDYzNTlfQUZVTkNfQVVEX0NPTjIJCQkJ MHgyMzllDQorI2RlZmluZSBNVDYzNTlfQUZVTkNfQVVEX0NPTjMJCQkJMHgyM2EwDQorI2RlZmlu ZSBNVDYzNTlfQUZVTkNfQVVEX0NPTjQJCQkJMHgyM2EyDQorI2RlZmluZSBNVDYzNTlfQUZVTkNf QVVEX0NPTjUJCQkJMHgyM2E0DQorI2RlZmluZSBNVDYzNTlfQUZVTkNfQVVEX0NPTjYJCQkJMHgy M2E2DQorI2RlZmluZSBNVDYzNTlfQUZVTkNfQVVEX0NPTjcJCQkJMHgyM2E4DQorI2RlZmluZSBN VDYzNTlfQUZVTkNfQVVEX0NPTjgJCQkJMHgyM2FhDQorI2RlZmluZSBNVDYzNTlfQUZVTkNfQVVE X0NPTjkJCQkJMHgyM2FjDQorI2RlZmluZSBNVDYzNTlfQUZVTkNfQVVEX0NPTjEwCQkJCTB4MjNh ZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGVU5DX0FVRF9DT04xMQkJCQkweDIzYjANCisjZGVmaW5lIE1U NjM1OV9BRlVOQ19BVURfQ09OMTIJCQkJMHgyM2IyDQorI2RlZmluZSBNVDYzNTlfQUZVTkNfQVVE X01PTjAJCQkJMHgyM2I0DQorI2RlZmluZSBNVDYzNTlfQUZVTkNfQVVEX01PTjEJCQkJMHgyM2I2 DQorI2RlZmluZSBNVDYzNTlfQVVEUkNfVFVORV9NT04wCQkJCTB4MjNiOA0KKyNkZWZpbmUgTVQ2 MzU5X0FGRV9BRERBX01US0FJRl9GSUZPX0NGRzAJCTB4MjNiYQ0KKyNkZWZpbmUgTVQ2MzU5X0FG RV9BRERBX01US0FJRl9GSUZPX0xPR19NT04xCQkweDIzYmMNCisjZGVmaW5lIE1UNjM1OV9BRkVf QUREQV9NVEtBSUZfTU9OMAkJCTB4MjNiZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01US0FJ Rl9NT04xCQkJMHgyM2MwDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX01PTjIJCQkw eDIzYzINCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQTZfTVRLQUlGX01PTjMJCQkweDIzYzQNCisj ZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfTU9ONAkJCTB4MjNjNg0KKyNkZWZpbmUgTVQ2 MzU5X0FGRV9BRERBX01US0FJRl9NT041CQkJMHgyM2M4DQorI2RlZmluZSBNVDYzNTlfQUZFX0FE REFfTVRLQUlGX0NGRzAJCQkweDIzY2ENCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZf UlhfQ0ZHMAkJCTB4MjNjYw0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01US0FJRl9SWF9DRkcx CQkJMHgyM2NlDQorI2RlZmluZSBNVDYzNTlfQUZFX0FEREFfTVRLQUlGX1JYX0NGRzIJCQkweDIz ZDANCisjZGVmaW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfUlhfQ0ZHMwkJCTB4MjNkMg0KKyNk ZWZpbmUgTVQ2MzU5X0FGRV9BRERBX01US0FJRl9TWU5DV09SRF9DRkcwCQkweDIzZDQNCisjZGVm aW5lIE1UNjM1OV9BRkVfQUREQV9NVEtBSUZfU1lOQ1dPUkRfQ0ZHMQkJMHgyM2Q2DQorI2RlZmlu ZSBNVDYzNTlfQUZFX1NHRU5fQ0ZHMAkJCQkweDIzZDgNCisjZGVmaW5lIE1UNjM1OV9BRkVfU0dF Tl9DRkcxCQkJCTB4MjNkYQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BRENfQVNZTkNfRklGT19DRkcJ CQkweDIzZGMNCisjZGVmaW5lIE1UNjM1OV9BRkVfQURDX0FTWU5DX0ZJRk9fQ0ZHMQkJCTB4MjNk ZQ0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9EQ0NMS19DRkcwCQkJCTB4MjNlMA0KKyNkZWZpbmUgTVQ2 MzU5X0FGRV9EQ0NMS19DRkcxCQkJCTB4MjNlMg0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR19D RkcJCQkJMHgyM2U0DQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHX0NGRzEJCQkJMHgyM2U2DQor I2RlZmluZSBNVDYzNTlfQUZFX0FVRF9QQURfVE9QCQkJCTB4MjNlOA0KKyNkZWZpbmUgTVQ2MzU5 X0FGRV9BVURfUEFEX1RPUF9NT04JCQkweDIzZWENCisjZGVmaW5lIE1UNjM1OV9BRkVfQVVEX1BB RF9UT1BfTU9OMQkJCTB4MjNlYw0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9BVURfUEFEX1RPUF9NT04y CQkJMHgyM2VlDQorI2RlZmluZSBNVDYzNTlfQUZFX0RMX05MRV9DRkcJCQkJMHgyM2YwDQorI2Rl ZmluZSBNVDYzNTlfQUZFX0RMX05MRV9NT04JCQkJMHgyM2YyDQorI2RlZmluZSBNVDYzNTlfQUZF X0NHX0VOX01PTgkJCQkweDIzZjQNCisjZGVmaW5lIE1UNjM1OV9BRkVfTUlDX0FSUkFZX0NGRwkJ CTB4MjNmNg0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9DSE9QX0NGRzAJCQkJMHgyM2Y4DQorI2RlZmlu ZSBNVDYzNTlfQUZFX01US0FJRl9NVVhfQ0ZHCQkJMHgyM2ZhDQorI2RlZmluZSBNVDYzNTlfQVVE SU9fRElHXzJORF9EU05fSUQJCQkweDI0MDANCisjZGVmaW5lIE1UNjM1OV9BVURJT19ESUdfMk5E X0RTTl9SRVYwCQkJMHgyNDAyDQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHXzJORF9EU05fREJJ CQkJMHgyNDA0DQorI2RlZmluZSBNVDYzNTlfQVVESU9fRElHXzJORF9EU05fRFhJCQkJMHgyNDA2 DQorI2RlZmluZSBNVDYzNTlfQUZFX1BNSUNfTkVXSUZfQ0ZHMwkJCTB4MjQwOA0KKyNkZWZpbmUg TVQ2MzU5X0FVRElPX0RJR18zUkRfRFNOX0lECQkJMHgyNDgwDQorI2RlZmluZSBNVDYzNTlfQVVE SU9fRElHXzNSRF9EU05fUkVWMAkJCTB4MjQ4Mg0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR18z UkRfRFNOX0RCSQkJCTB4MjQ4NA0KKyNkZWZpbmUgTVQ2MzU5X0FVRElPX0RJR18zUkRfRFNOX0RY SQkJCTB4MjQ4Ng0KKyNkZWZpbmUgTVQ2MzU5X0FGRV9OQ1BfQ0ZHMAkJCQkweDI0ZGUNCisjZGVm aW5lIE1UNjM1OV9BRkVfTkNQX0NGRzEJCQkJMHgyNGUwDQorI2RlZmluZSBNVDYzNTlfQUZFX05D UF9DRkcyCQkJCTB4MjRlMg0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19EU05fSUQJCQkJMHgyNTAw DQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0RTTl9SRVYwCQkJCTB4MjUwMg0KKyNkZWZpbmUgTVQ2 MzU5X0FVREVOQ19EU05fREJJCQkJCTB4MjUwNA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19EU05f RlBJCQkJCTB4MjUwNg0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMAkJCQkweDI1MDgN CisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEJCQkJMHgyNTBhDQorI2RlZmluZSBNVDYz NTlfQVVERU5DX0FOQV9DT04yCQkJCTB4MjUwYw0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFf Q09OMwkJCQkweDI1MGUNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjQJCQkJMHgyNTEw DQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT041CQkJCTB4MjUxMg0KKyNkZWZpbmUgTVQ2 MzU5X0FVREVOQ19BTkFfQ09ONgkJCQkweDI1MTQNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5B X0NPTjcJCQkJMHgyNTE2DQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT044CQkJCTB4MjUx OA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OOQkJCQkweDI1MWENCisjZGVmaW5lIE1U NjM1OV9BVURFTkNfQU5BX0NPTjEwCQkJCTB4MjUxYw0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19B TkFfQ09OMTEJCQkJMHgyNTFlDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04xMgkJCQkw eDI1MjANCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjEzCQkJCTB4MjUyMg0KKyNkZWZp bmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTQJCQkJMHgyNTI0DQorI2RlZmluZSBNVDYzNTlfQVVE RU5DX0FOQV9DT04xNQkJCQkweDI1MjYNCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjE2 CQkJCTB4MjUyOA0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFfQ09OMTcJCQkJMHgyNTJhDQor I2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04xOAkJCQkweDI1MmMNCisjZGVmaW5lIE1UNjM1 OV9BVURFTkNfQU5BX0NPTjE5CQkJCTB4MjUyZQ0KKyNkZWZpbmUgTVQ2MzU5X0FVREVOQ19BTkFf Q09OMjAJCQkJMHgyNTMwDQorI2RlZmluZSBNVDYzNTlfQVVERU5DX0FOQV9DT04yMQkJCQkweDI1 MzINCisjZGVmaW5lIE1UNjM1OV9BVURFTkNfQU5BX0NPTjIyCQkJCTB4MjUzNA0KKyNkZWZpbmUg TVQ2MzU5X0FVREVOQ19BTkFfQ09OMjMJCQkJMHgyNTM2DQorI2RlZmluZSBNVDYzNTlfQVVEREVD X0RTTl9JRAkJCQkweDI1ODANCisjZGVmaW5lIE1UNjM1OV9BVURERUNfRFNOX1JFVjAJCQkJMHgy NTgyDQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0RTTl9EQkkJCQkJMHgyNTg0DQorI2RlZmluZSBN VDYzNTlfQVVEREVDX0RTTl9GUEkJCQkJMHgyNTg2DQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FO QV9DT04wCQkJCTB4MjU4OA0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMQkJCQkweDI1 OGENCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjIJCQkJMHgyNThjDQorI2RlZmluZSBN VDYzNTlfQVVEREVDX0FOQV9DT04zCQkJCTB4MjU4ZQ0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19B TkFfQ09ONAkJCQkweDI1OTANCisjZGVmaW5lIE1UNjM1OV9BVURERUNfQU5BX0NPTjUJCQkJMHgy NTkyDQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT042CQkJCTB4MjU5NA0KKyNkZWZpbmUg TVQ2MzU5X0FVRERFQ19BTkFfQ09ONwkJCQkweDI1OTYNCisjZGVmaW5lIE1UNjM1OV9BVURERUNf QU5BX0NPTjgJCQkJMHgyNTk4DQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT045CQkJCTB4 MjU5YQ0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTAJCQkJMHgyNTljDQorI2RlZmlu ZSBNVDYzNTlfQVVEREVDX0FOQV9DT04xMQkJCQkweDI1OWUNCisjZGVmaW5lIE1UNjM1OV9BVURE RUNfQU5BX0NPTjEyCQkJCTB4MjVhMA0KKyNkZWZpbmUgTVQ2MzU5X0FVRERFQ19BTkFfQ09OMTMJ CQkJMHgyNWEyDQorI2RlZmluZSBNVDYzNTlfQVVEREVDX0FOQV9DT04xNAkJCQkweDI1YTQNCisj ZGVmaW5lIE1UNjM1OV9BVURaQ0RfRFNOX0lECQkJCTB4MjYwMA0KKyNkZWZpbmUgTVQ2MzU5X0FV RFpDRF9EU05fUkVWMAkJCQkweDI2MDINCisjZGVmaW5lIE1UNjM1OV9BVURaQ0RfRFNOX0RCSQkJ CQkweDI2MDQNCisjZGVmaW5lIE1UNjM1OV9BVURaQ0RfRFNOX0ZQSQkJCQkweDI2MDYNCisjZGVm aW5lIE1UNjM1OV9aQ0RfQ09OMAkJCQkJMHgyNjA4DQorI2RlZmluZSBNVDYzNTlfWkNEX0NPTjEJ CQkJCTB4MjYwYQ0KKyNkZWZpbmUgTVQ2MzU5X1pDRF9DT04yCQkJCQkweDI2MGMNCisjZGVmaW5l IE1UNjM1OV9aQ0RfQ09OMwkJCQkJMHgyNjBlDQorI2RlZmluZSBNVDYzNTlfWkNEX0NPTjQJCQkJ CTB4MjYxMA0KKyNkZWZpbmUgTVQ2MzU5X1pDRF9DT041CQkJCQkweDI2MTINCisjZGVmaW5lIE1U NjM1OV9BQ0NERVRfRFNOX0RJR19JRAkJCTB4MjY4MA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9E U05fRElHX1JFVjAJCQkweDI2ODINCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfRFNOX0RCSQkJCQkw eDI2ODQNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfRFNOX0ZQSQkJCQkweDI2ODYNCisjZGVmaW5l IE1UNjM1OV9BQ0NERVRfQ09OMAkJCQkweDI2ODgNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09O MQkJCQkweDI2OGENCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMgkJCQkweDI2OGMNCisjZGVm aW5lIE1UNjM1OV9BQ0NERVRfQ09OMwkJCQkweDI2OGUNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRf Q09ONAkJCQkweDI2OTANCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09ONQkJCQkweDI2OTINCisj ZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09ONgkJCQkweDI2OTQNCisjZGVmaW5lIE1UNjM1OV9BQ0NE RVRfQ09ONwkJCQkweDI2OTYNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OOAkJCQkweDI2OTgN CisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OOQkJCQkweDI2OWENCisjZGVmaW5lIE1UNjM1OV9B Q0NERVRfQ09OMTAJCQkJMHgyNjljDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjExCQkJCTB4 MjY5ZQ0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xMgkJCQkweDI2YTANCisjZGVmaW5lIE1U NjM1OV9BQ0NERVRfQ09OMTMJCQkJMHgyNmEyDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjE0 CQkJCTB4MjZhNA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xNQkJCQkweDI2YTYNCisjZGVm aW5lIE1UNjM1OV9BQ0NERVRfQ09OMTYJCQkJMHgyNmE4DQorI2RlZmluZSBNVDYzNTlfQUNDREVU X0NPTjE3CQkJCTB4MjZhYQ0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04xOAkJCQkweDI2YWMN CisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMTkJCQkJMHgyNmFlDQorI2RlZmluZSBNVDYzNTlf QUNDREVUX0NPTjIwCQkJCTB4MjZiMA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04yMQkJCQkw eDI2YjINCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMjIJCQkJMHgyNmI0DQorI2RlZmluZSBN VDYzNTlfQUNDREVUX0NPTjIzCQkJCTB4MjZiNg0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04y NAkJCQkweDI2YjgNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMjUJCQkJMHgyNmJhDQorI2Rl ZmluZSBNVDYzNTlfQUNDREVUX0NPTjI2CQkJCTB4MjZiYw0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RF VF9DT04yNwkJCQkweDI2YmUNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMjgJCQkJMHgyNmMw DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjI5CQkJCTB4MjZjMg0KKyNkZWZpbmUgTVQ2MzU5 X0FDQ0RFVF9DT04zMAkJCQkweDI2YzQNCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09OMzEJCQkJ MHgyNmM2DQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjMyCQkJCTB4MjZjOA0KKyNkZWZpbmUg TVQ2MzU5X0FDQ0RFVF9DT04zMwkJCQkweDI2Y2ENCisjZGVmaW5lIE1UNjM1OV9BQ0NERVRfQ09O MzQJCQkJMHgyNmNjDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjM1CQkJCTB4MjZjZQ0KKyNk ZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04zNgkJCQkweDI2ZDANCisjZGVmaW5lIE1UNjM1OV9BQ0NE RVRfQ09OMzcJCQkJMHgyNmQyDQorI2RlZmluZSBNVDYzNTlfQUNDREVUX0NPTjM4CQkJCTB4MjZk NA0KKyNkZWZpbmUgTVQ2MzU5X0FDQ0RFVF9DT04zOQkJCQkweDI2ZDYNCisjZGVmaW5lIE1UNjM1 OV9BQ0NERVRfQ09ONDAJCQkJMHgyNmQ4DQorI2RlZmluZSBNVDYzNTlfTUFYX1JFR0lTVEVSCQkJ CU1UNjM1OV9aQ0RfQ09ONQ0KKw0KKy8qIGRsIGJpYXMgKi8NCisjZGVmaW5lIERSQklBU19NQVNL IDB4Nw0KKyNkZWZpbmUgRFJCSUFTX0hQX1NGVCAoUkdfQVVEQklBU0FESl8wX1ZBVURQMzJfU0ZU ICsgMCkNCisjZGVmaW5lIERSQklBU19IUF9NQVNLX1NGVCAoRFJCSUFTX01BU0sgPDwgRFJCSUFT X0hQX1NGVCkNCisjZGVmaW5lIERSQklBU19IU19TRlQgKFJHX0FVREJJQVNBREpfMF9WQVVEUDMy X1NGVCArIDMpDQorI2RlZmluZSBEUkJJQVNfSFNfTUFTS19TRlQgKERSQklBU19NQVNLIDw8IERS QklBU19IU19TRlQpDQorI2RlZmluZSBEUkJJQVNfTE9fU0ZUIChSR19BVURCSUFTQURKXzBfVkFV RFAzMl9TRlQgKyA2KQ0KKyNkZWZpbmUgRFJCSUFTX0xPX01BU0tfU0ZUIChEUkJJQVNfTUFTSyA8 PCBEUkJJQVNfTE9fU0ZUKQ0KKyNkZWZpbmUgSUJJQVNfTUFTSyAweDMNCisjZGVmaW5lIElCSUFT X0hQX1NGVCAoUkdfQVVEQklBU0FESl8xX1ZBVURQMzJfU0ZUICsgMCkNCisjZGVmaW5lIElCSUFT X0hQX01BU0tfU0ZUIChJQklBU19NQVNLIDw8IElCSUFTX0hQX1NGVCkNCisjZGVmaW5lIElCSUFT X0hTX1NGVCAoUkdfQVVEQklBU0FESl8xX1ZBVURQMzJfU0ZUICsgMikNCisjZGVmaW5lIElCSUFT X0hTX01BU0tfU0ZUIChJQklBU19NQVNLIDw8IElCSUFTX0hTX1NGVCkNCisjZGVmaW5lIElCSUFT X0xPX1NGVCAoUkdfQVVEQklBU0FESl8xX1ZBVURQMzJfU0ZUICsgNCkNCisjZGVmaW5lIElCSUFT X0xPX01BU0tfU0ZUIChJQklBU19NQVNLIDw8IElCSUFTX0xPX1NGVCkNCisjZGVmaW5lIElCSUFT X1pDRF9TRlQgKFJHX0FVREJJQVNBREpfMV9WQVVEUDMyX1NGVCArIDYpDQorI2RlZmluZSBJQklB U19aQ0RfTUFTS19TRlQgKElCSUFTX01BU0sgPDwgSUJJQVNfWkNEX1NGVCkNCisNCisvKiBkbCBn YWluICovDQorI2RlZmluZSBETF9HQUlOX05fMTBEQl9SRUcgKERMX0dBSU5fTl8xMERCIDw8IDcg fCBETF9HQUlOX05fMTBEQikNCisjZGVmaW5lIERMX0dBSU5fTl8yMkRCX1JFRyAoRExfR0FJTl9O XzIyREIgPDwgNyB8IERMX0dBSU5fTl8yMkRCKQ0KKyNkZWZpbmUgRExfR0FJTl9OXzQwREJfUkVH IChETF9HQUlOX05fNDBEQiA8PCA3IHwgRExfR0FJTl9OXzQwREIpDQorI2RlZmluZSBETF9HQUlO X1JFR19NQVNLIDB4MGY5Zg0KKw0KKy8qIG1pYyB0eXBlIG11eCAqLw0KKyNkZWZpbmUgTVRfU09D X0VOVU1fRVhUX0lEKHhuYW1lLCB4ZW51bSwgeGhhbmRsZXJfZ2V0LCB4aGFuZGxlcl9wdXQsIGlk KSBcDQorewkuaWZhY2UgPSBTTkRSVl9DVExfRUxFTV9JRkFDRV9NSVhFUiwgLm5hbWUgPSB4bmFt ZSwgLmRldmljZSA9IGlkLFwNCisJLmluZm8gPSBzbmRfc29jX2luZm9fZW51bV9kb3VibGUsIFwN CisJLmdldCA9IHhoYW5kbGVyX2dldCwgLnB1dCA9IHhoYW5kbGVyX3B1dCwgXA0KKwkucHJpdmF0 ZV92YWx1ZSA9ICh1bnNpZ25lZCBsb25nKSYoeGVudW0pIH0NCisNCitlbnVtIHsNCisJTVQ2MzU5 X01US0FJRl9QUk9UT0NPTF8xID0gMCwNCisJTVQ2MzU5X01US0FJRl9QUk9UT0NPTF8yLA0KKwlN VDYzNTlfTVRLQUlGX1BST1RPQ09MXzJfQ0xLX1AyLA0KK307DQorDQorZW51bSB7DQorCU1UNjM1 OV9BSUZfMSA9IDAsCS8qIGRsOiBocCwgcmN2LCBocCtsbyAqLw0KKwlNVDYzNTlfQUlGXzIsCQkv KiBkbDogbG8gb25seSAqLw0KKwlNVDYzNTlfQUlGX05VTSwNCit9Ow0KKw0KK2VudW0gew0KKwlB VURJT19BTkFMT0dfVk9MVU1FX0hTT1VUTCwNCisJQVVESU9fQU5BTE9HX1ZPTFVNRV9IU09VVFIs DQorCUFVRElPX0FOQUxPR19WT0xVTUVfSFBPVVRMLA0KKwlBVURJT19BTkFMT0dfVk9MVU1FX0hQ T1VUUiwNCisJQVVESU9fQU5BTE9HX1ZPTFVNRV9MSU5FT1VUTCwNCisJQVVESU9fQU5BTE9HX1ZP TFVNRV9MSU5FT1VUUiwNCisJQVVESU9fQU5BTE9HX1ZPTFVNRV9NSUNBTVAxLA0KKwlBVURJT19B TkFMT0dfVk9MVU1FX01JQ0FNUDIsDQorCUFVRElPX0FOQUxPR19WT0xVTUVfTUlDQU1QMywNCisJ QVVESU9fQU5BTE9HX1ZPTFVNRV9UWVBFX01BWA0KK307DQorDQorZW51bSB7DQorCU1VWF9NSUNf VFlQRV8wLAkvKiBhaW4wLCBtaWNiaWFzIDAgKi8NCisJTVVYX01JQ19UWVBFXzEsCS8qIGFpbjEs IG1pY2JpYXMgMSAqLw0KKwlNVVhfTUlDX1RZUEVfMiwJLyogYWluMi8zLCBtaWNiaWFzIDIgKi8N CisJTVVYX1BHQV9MLA0KKwlNVVhfUEdBX1IsDQorCU1VWF9QR0FfMywNCisJTVVYX0hQLA0KKwlN VVhfTlVNLA0KK307DQorDQorZW51bSB7DQorCURFVklDRV9IUCwNCisJREVWSUNFX0xPLA0KKwlE RVZJQ0VfUkNWLA0KKwlERVZJQ0VfTUlDMSwNCisJREVWSUNFX01JQzIsDQorCURFVklDRV9OVU0N Cit9Ow0KKw0KK2VudW0gew0KKwlIUF9HQUlOX0NUTF9aQ0QgPSAwLA0KKwlIUF9HQUlOX0NUTF9O TEUsDQorCUhQX0dBSU5fQ1RMX05VTSwNCit9Ow0KKw0KK2VudW0gew0KKwlIUF9NVVhfT1BFTiA9 IDAsDQorCUhQX01VWF9IUFNQSywNCisJSFBfTVVYX0hQLA0KKwlIUF9NVVhfVEVTVF9NT0RFLA0K KwlIUF9NVVhfSFBfSU1QRURBTkNFLA0KKwlIUF9NVVhfTUFTSyA9IDB4NywNCit9Ow0KKw0KK2Vu dW0gew0KKwlSQ1ZfTVVYX09QRU4gPSAwLA0KKwlSQ1ZfTVVYX01VVEUsDQorCVJDVl9NVVhfVk9J Q0VfUExBWUJBQ0ssDQorCVJDVl9NVVhfVEVTVF9NT0RFLA0KKwlSQ1ZfTVVYX01BU0sgPSAweDMs DQorfTsNCisNCitlbnVtIHsNCisJTE9fTVVYX09QRU4gPSAwLA0KKwlMT19NVVhfTF9EQUMsDQor CUxPX01VWF8zUkRfREFDLA0KKwlMT19NVVhfVEVTVF9NT0RFLA0KKwlMT19NVVhfTUFTSyA9IDB4 MywNCit9Ow0KKw0KKy8qIFN1cHBseSB3aWRnZXQgc3Vic2VxICovDQorZW51bSB7DQorCS8qIGNv bW1vbiAqLw0KKwlTVVBQTFlfU0VRX0NMS19CVUYsDQorCVNVUFBMWV9TRVFfTERPX1ZBVUQxOCwN CisJU1VQUExZX1NFUV9BVURfR0xCLA0KKwlTVVBQTFlfU0VRX0hQX1BVTExfRE9XTiwNCisJU1VQ UExZX1NFUV9DTEtTUSwNCisJU1VQUExZX1NFUV9BRENfQ0xLR0VOLA0KKwlTVVBQTFlfU0VRX1RP UF9DSywNCisJU1VQUExZX1NFUV9UT1BfQ0tfTEFTVCwNCisJU1VQUExZX1NFUV9EQ0NfQ0xLLA0K KwlTVVBQTFlfU0VRX01JQ19CSUFTLA0KKwlTVVBQTFlfU0VRX0RNSUMsDQorCVNVUFBMWV9TRVFf QVVEX1RPUCwNCisJU1VQUExZX1NFUV9BVURfVE9QX0xBU1QsDQorCVNVUFBMWV9TRVFfRExfU0RN X0ZJRk9fQ0xLLA0KKwlTVVBQTFlfU0VRX0RMX1NETSwNCisJU1VQUExZX1NFUV9ETF9OQ1AsDQor CVNVUFBMWV9TRVFfQUZFLA0KKwkvKiBwbGF5YmFjayAqLw0KKwlTVVBQTFlfU0VRX0RMX1NSQywN CisJU1VQUExZX1NFUV9ETF9FU0RfUkVTSVNULA0KKwlTVVBQTFlfU0VRX0hQX0RBTVBJTkdfT0ZG X1JFU0VUX0NNRkIsDQorCVNVUFBMWV9TRVFfSFBfTVVURSwNCisJU1VQUExZX1NFUV9ETF9MRE9f UkVNT1RFX1NFTlNFLA0KKwlTVVBQTFlfU0VRX0RMX0xETywNCisJU1VQUExZX1NFUV9ETF9OViwN CisJU1VQUExZX1NFUV9IUF9BTkFfVFJJTSwNCisJU1VQUExZX1NFUV9ETF9JQklTVCwNCisJLyog Y2FwdHVyZSAqLw0KKwlTVVBQTFlfU0VRX1VMX1BHQSwNCisJU1VQUExZX1NFUV9VTF9BREMsDQor CVNVUFBMWV9TRVFfVUxfTVRLQUlGLA0KKwlTVVBQTFlfU0VRX1VMX1NSQ19ETUlDLA0KKwlTVVBQ TFlfU0VRX1VMX1NSQywNCit9Ow0KKw0KK2VudW0gew0KKwlDSF9MID0gMCwNCisJQ0hfUiwNCisJ TlVNX0NILA0KK307DQorDQorZW51bSB7DQorCURSQklBU180VUEgPSAwLA0KKwlEUkJJQVNfNVVB LA0KKwlEUkJJQVNfNlVBLA0KKwlEUkJJQVNfN1VBLA0KKwlEUkJJQVNfOFVBLA0KKwlEUkJJQVNf OVVBLA0KKwlEUkJJQVNfMTBVQSwNCisJRFJCSUFTXzExVUEsDQorfTsNCisNCitlbnVtIHsNCisJ SUJJQVNfNFVBID0gMCwNCisJSUJJQVNfNVVBLA0KKwlJQklBU182VUEsDQorCUlCSUFTXzdVQSwN Cit9Ow0KKw0KK2VudW0gew0KKwlJQklBU19aQ0RfM1VBID0gMCwNCisJSUJJQVNfWkNEXzRVQSwN CisJSUJJQVNfWkNEXzVVQSwNCisJSUJJQVNfWkNEXzZVQSwNCit9Ow0KKw0KK2VudW0gew0KKwlN SUNfQklBU18xUDcgPSAwLA0KKwlNSUNfQklBU18xUDgsDQorCU1JQ19CSUFTXzFQOSwNCisJTUlD X0JJQVNfMlAwLA0KKwlNSUNfQklBU18yUDEsDQorCU1JQ19CSUFTXzJQNSwNCisJTUlDX0JJQVNf MlA2LA0KKwlNSUNfQklBU18yUDcsDQorfTsNCisNCisvKiBkbCBwZ2EgZ2FpbiAqLw0KK2VudW0g ew0KKwlETF9HQUlOXzhEQiA9IDAsDQorCURMX0dBSU5fMERCID0gOCwNCisJRExfR0FJTl9OXzFE QiA9IDksDQorCURMX0dBSU5fTl8xMERCID0gMTgsDQorCURMX0dBSU5fTl8yMkRCID0gMzAsDQor CURMX0dBSU5fTl80MERCID0gMHgxZiwNCit9Ow0KKw0KKy8qIE1pYyBUeXBlIE1VWCAqLw0KK2Vu dW0gew0KKwlNSUNfVFlQRV9NVVhfSURMRSA9IDAsDQorCU1JQ19UWVBFX01VWF9BQ0MsDQorCU1J Q19UWVBFX01VWF9ETUlDLA0KKwlNSUNfVFlQRV9NVVhfRENDLA0KKwlNSUNfVFlQRV9NVVhfREND X0VDTV9ESUZGLA0KKwlNSUNfVFlQRV9NVVhfRENDX0VDTV9TSU5HTEUsDQorfTsNCisNCisvKiBV TCBTUkMgTVVYICovDQorZW51bSB7DQorCVVMX1NSQ19NVVhfQU1JQyA9IDAsDQorCVVMX1NSQ19N VVhfRE1JQywNCit9Ow0KKw0KKy8qIE1JU08gTVVYICovDQorZW51bSB7DQorCU1JU09fTVVYX1VM MV9DSDEgPSAwLA0KKwlNSVNPX01VWF9VTDFfQ0gyLA0KKwlNSVNPX01VWF9VTDJfQ0gxLA0KKwlN SVNPX01VWF9VTDJfQ0gyLA0KK307DQorDQorLyogRE1JQyBNVVggKi8NCitlbnVtIHsNCisJRE1J Q19NVVhfRE1JQ19EQVRBMCA9IDAsDQorCURNSUNfTVVYX0RNSUNfREFUQTFfTCwNCisJRE1JQ19N VVhfRE1JQ19EQVRBMV9MXzEsDQorCURNSUNfTVVYX0RNSUNfREFUQTFfUiwNCit9Ow0KKw0KKy8q IEFEQyBMIE1VWCAqLw0KK2VudW0gew0KKwlBRENfTVVYX0lETEUgPSAwLA0KKwlBRENfTVVYX0FJ TjAsDQorCUFEQ19NVVhfUFJFQU1QTElGSUVSLA0KKwlBRENfTVVYX0lETEUxLA0KK307DQorDQor LyogUEdBIEwgTVVYICovDQorZW51bSB7DQorCVBHQV9MX01VWF9OT05FID0gMCwNCisJUEdBX0xf TVVYX0FJTjAsDQorCVBHQV9MX01VWF9BSU4xLA0KK307DQorDQorLyogUEdBIFIgTVVYICovDQor ZW51bSB7DQorCVBHQV9SX01VWF9OT05FID0gMCwNCisJUEdBX1JfTVVYX0FJTjIsDQorCVBHQV9S X01VWF9BSU4zLA0KKwlQR0FfUl9NVVhfQUlOMCwNCit9Ow0KKw0KKy8qIFBHQSAzIE1VWCAqLw0K K2VudW0gew0KKwlQR0FfM19NVVhfTk9ORSA9IDAsDQorCVBHQV8zX01VWF9BSU4zLA0KKwlQR0Ff M19NVVhfQUlOMiwNCit9Ow0KKw0KK3N0cnVjdCBtdDYzNTlfcHJpdiB7DQorCXN0cnVjdCBkZXZp Y2UgKmRldjsNCisJc3RydWN0IHJlZ21hcCAqcmVnbWFwOw0KKwl1bnNpZ25lZCBpbnQgZGxfcmF0 ZVtNVDYzNTlfQUlGX05VTV07DQorCXVuc2lnbmVkIGludCB1bF9yYXRlW01UNjM1OV9BSUZfTlVN XTsNCisJaW50IGFuYV9nYWluW0FVRElPX0FOQUxPR19WT0xVTUVfVFlQRV9NQVhdOw0KKwl1bnNp Z25lZCBpbnQgbXV4X3NlbGVjdFtNVVhfTlVNXTsNCisJdW5zaWduZWQgaW50IGRtaWNfb25lX3dp cmVfbW9kZTsNCisJaW50IGRldl9jb3VudGVyW0RFVklDRV9OVU1dOw0KKwlpbnQgaHBfZ2Fpbl9j dGw7DQorCWludCBocF9oaWZpX21vZGU7DQorCWludCBtdGthaWZfcHJvdG9jb2w7DQorCXN0cnVj dCByZWd1bGF0b3IgKmF2ZGRfcmVnOw0KK307DQorDQorI2RlZmluZSBDT0RFQ19NVDYzNTlfTkFN RSAibXRrLWNvZGVjLW10NjM1OSINCisjZGVmaW5lIElTX0RDQ19CQVNFKHR5cGUpICgodHlwZSkg PT0gTUlDX1RZUEVfTVVYX0RDQyB8fCBcDQorCQkJICAgKHR5cGUpID09IE1JQ19UWVBFX01VWF9E Q0NfRUNNX0RJRkYgfHwgXA0KKwkJCSAgICh0eXBlKSA9PSBNSUNfVFlQRV9NVVhfRENDX0VDTV9T SU5HTEUpDQorDQorI2VuZGlmLyogZW5kIF9NVDYzNTlfSF8gKi8NCi0tIA0KMi4xOC4wDQo=