From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B4D61C25B76 for ; Wed, 5 Jun 2024 10:23:09 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 846C0847; Wed, 5 Jun 2024 12:22:56 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 846C0847 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1717582986; bh=UpzqIy3rhxulhJhcM0FjlfV558S7KvOMI0Jp2KhBHGs=; h=From:To:CC:Subject:Date:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=DWn4KKn57Xz/ZVVYvRUbhtwBBGcXmGiDu1HgySJmvoAk+OV62z3NkMOm76fpxxTOG v6SFnYtWF+Mr6ruPvZmGvqJyVR58XK8YpFSeMKarlO7dmxTkopNh8yZLfuoUzM1Oko f9A2fzCrxH8YEvVEBz1yIEPcNdu0ZDky37k7mBrE= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 760C3F804B0; Wed, 5 Jun 2024 12:22:35 +0200 (CEST) Received: from mailman-core.alsa-project.org (mailman-core.alsa-project.org [10.254.200.10]) by alsa1.perex.cz (Postfix) with ESMTP id C7990F804B0; Wed, 5 Jun 2024 12:22:33 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 47BD0F802DB; Wed, 5 Jun 2024 12:22:20 +0200 (CEST) Received: from rtits2.realtek.com.tw (rtits2.realtek.com [211.75.126.72]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 83FD8F800FA for ; Wed, 5 Jun 2024 12:20:50 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 83FD8F800FA X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 455AKgN821412252, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36505.realtek.com.tw[172.21.6.25]) by rtits2.realtek.com.tw (8.15.2/2.95/5.92) with ESMTPS id 455AKgN821412252 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 5 Jun 2024 18:20:42 +0800 Received: from RTEXMBS04.realtek.com.tw (172.21.6.97) by RTEXH36505.realtek.com.tw (172.21.6.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 5 Jun 2024 18:20:42 +0800 Received: from RTEXMBS01.realtek.com.tw (172.21.6.94) by RTEXMBS04.realtek.com.tw (172.21.6.97) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Wed, 5 Jun 2024 18:20:41 +0800 Received: from RTEXMBS01.realtek.com.tw ([fe80::d5b2:56ba:6b47:9975]) by RTEXMBS01.realtek.com.tw ([fe80::d5b2:56ba:6b47:9975%5]) with mapi id 15.01.2507.035; Wed, 5 Jun 2024 18:20:41 +0800 Content-Type: multipart/mixed; boundary="_000_11f7e2c1a77f418a9965b96b81f6e660realtekcom_" From: Jack Yu To: "broonie@kernel.org" , "lgirdwood@gmail.com" CC: "alsa-devel@alsa-project.org" , "lars@metafoo.de" , "Flove(HsinFu)" , Oder Chiou , =?utf-8?B?U2h1bWluZyBb6IyD5pu46YqYXQ==?= , =?utf-8?B?RGVyZWsgW+aWueW+t+e+qV0=?= , Jack Yu Subject: [PATCH v2] ASoC: rt1318: Add RT1318 audio amplifier driver Thread-Topic: [PATCH v2] ASoC: rt1318: Add RT1318 audio amplifier driver Thread-Index: Adq3MgPPaXwXWALDRgGDWFIu2GO5hg== Date: Wed, 5 Jun 2024 10:20:41 +0000 Message-ID: <11f7e2c1a77f418a9965b96b81f6e660@realtek.com> Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-TNEF-Correlator: <11f7e2c1a77f418a9965b96b81f6e660@realtek.com> x-originating-ip: [172.22.102.102] MIME-Version: 1.0 Message-ID-Hash: T45WMFCD27QRB52OGKYAJLX4VUMAWM3B X-Message-ID-Hash: T45WMFCD27QRB52OGKYAJLX4VUMAWM3B X-MailFrom: jack.yu@realtek.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-alsa-devel.alsa-project.org-0; header-match-alsa-devel.alsa-project.org-1; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.9 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --_000_11f7e2c1a77f418a9965b96b81f6e660realtekcom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhpcyBpcyB0aGUgaW5pdGlhbCBpMnMtYmFzZWQgYW1wbGlmaWVyIGRyaXZlciBmb3IgcnQxMzE4 Lg0KDQpTaWduZWQtb2ZmLWJ5OiBKYWNrIFl1IDxqYWNrLnl1QHJlYWx0ZWsuY29tPg0KLS0tDQog aW5jbHVkZS9zb3VuZC9ydDEzMTguaCAgICB8ICAgMTYgKw0KIHNvdW5kL3NvYy9jb2RlY3MvS2Nv bmZpZyAgfCAgICA1ICsNCiBzb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlIHwgICAgMiArDQogc291 bmQvc29jL2NvZGVjcy9ydDEzMTguYyB8IDEzNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKw0KIHNvdW5kL3NvYy9jb2RlY3MvcnQxMzE4LmggfCAgMzQyICsrKysrKysrKysN CiA1IGZpbGVzIGNoYW5nZWQsIDE3MTIgaW5zZXJ0aW9ucygrKQ0KIGNyZWF0ZSBtb2RlIDEwMDY0 NCBpbmNsdWRlL3NvdW5kL3J0MTMxOC5oDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNvdW5kL3NvYy9j b2RlY3MvcnQxMzE4LmMNCiBjcmVhdGUgbW9kZSAxMDA2NDQgc291bmQvc29jL2NvZGVjcy9ydDEz MTguaA0KDQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zb3VuZC9ydDEzMTguaCBiL2luY2x1ZGUvc291 bmQvcnQxMzE4LmgNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0DQppbmRleCAwMDAwMDAwMDAwMDAuLmZl NmJmZjA2MDM2Yw0KLS0tIC9kZXYvbnVsbA0KKysrIGIvaW5jbHVkZS9zb3VuZC9ydDEzMTguaA0K QEAgLTAsMCArMSwxNiBAQA0KKy8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkgKi8NCisvKg0KKyAqIGxpbnV4L3NvdW5kL3J0MTMxOC5oIC0tIFBsYXRmb3JtIGRhdGEgZm9y IFJUMTMxOA0KKyAqDQorICogQ29weXJpZ2h0IDIwMjQgUmVhbHRlayBTZW1pY29uZHVjdG9yIENv cnAuDQorICovDQorDQorI2lmbmRlZiBfX0xJTlVYX1NORF9SVDEzMThfSA0KKyNkZWZpbmUgX19M SU5VWF9TTkRfUlQxMzE4X0gNCisNCitzdHJ1Y3QgcnQxMzE4X3BsYXRmb3JtX2RhdGEgew0KKwl1 bnNpZ25lZCBpbnQgaW5pdF9yMF9sOw0KKwl1bnNpZ25lZCBpbnQgaW5pdF9yMF9yOw0KK307DQor DQorI2VuZGlmDQpkaWZmIC0tZ2l0IGEvc291bmQvc29jL2NvZGVjcy9LY29uZmlnIGIvc291bmQv c29jL2NvZGVjcy9LY29uZmlnDQppbmRleCA0YWZjNDNkM2Y3MWYuLmQ4NDZiZmJlZWI3OSAxMDA2 NDQNCi0tLSBhL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZw0KKysrIGIvc291bmQvc29jL2NvZGVj cy9LY29uZmlnDQpAQCAtMjIxLDYgKzIyMSw3IEBAIGNvbmZpZyBTTkRfU09DX0FMTF9DT0RFQ1MN CiAJaW1wbHkgU05EX1NPQ19SVDcyMl9TRENBX1NEVw0KIAlpbXBseSBTTkRfU09DX1JUMTMwOF9T RFcNCiAJaW1wbHkgU05EX1NPQ19SVDEzMTZfU0RXDQorCWltcGx5IFNORF9TT0NfUlQxMzE4DQog CWltcGx5IFNORF9TT0NfUlQxMzE4X1NEVw0KIAlpbXBseSBTTkRfU09DX1JUOTEyMA0KIAlpbXBs eSBTTkRfU09DX1JUUTkxMjgNCkBAIC0xNTcwLDYgKzE1NzEsMTAgQEAgY29uZmlnIFNORF9TT0Nf UlQxMzE2X1NEVw0KIAlkZXBlbmRzIG9uIFNPVU5EV0lSRQ0KIAlzZWxlY3QgUkVHTUFQX1NPVU5E V0lSRQ0KIA0KK2NvbmZpZyBTTkRfU09DX1JUMTMxOA0KKwl0cmlzdGF0ZQ0KKwlkZXBlbmRzIG9u IEkyQw0KKw0KIGNvbmZpZyBTTkRfU09DX1JUMTMxOF9TRFcNCiAJdHJpc3RhdGUgIlJlYWx0ZWsg UlQxMzE4IENvZGVjIC0gU0RXIg0KIAlkZXBlbmRzIG9uIFNPVU5EV0lSRQ0KZGlmZiAtLWdpdCBh L3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlDQpp bmRleCBiNGRmMjIxODZlMjUuLmM1ZWZhZTBhYWM3MiAxMDA2NDQNCi0tLSBhL3NvdW5kL3NvYy9j b2RlY3MvTWFrZWZpbGUNCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUNCkBAIC0yMjEs NiArMjIxLDcgQEAgc25kLXNvYy1ydDEzMDUteSA6PSBydDEzMDUubw0KIHNuZC1zb2MtcnQxMzA4 LXkgOj0gcnQxMzA4Lm8NCiBzbmQtc29jLXJ0MTMwOC1zZHcteSA6PSBydDEzMDgtc2R3Lm8NCiBz bmQtc29jLXJ0MTMxNi1zZHcteSA6PSBydDEzMTYtc2R3Lm8NCitzbmQtc29jLXJ0MTMxOC15IDo9 IHJ0MTMxOC5vDQogc25kLXNvYy1ydDEzMTgtc2R3LXkgOj0gcnQxMzE4LXNkdy5vDQogc25kLXNv Yy1ydDI3NC15IDo9IHJ0Mjc0Lm8NCiBzbmQtc29jLXJ0Mjg2LXkgOj0gcnQyODYubw0KQEAgLTYx Myw2ICs2MTQsNyBAQCBvYmotJChDT05GSUdfU05EX1NPQ19SVDEzMDUpCSs9IHNuZC1zb2MtcnQx MzA1Lm8NCiBvYmotJChDT05GSUdfU05EX1NPQ19SVDEzMDgpCSs9IHNuZC1zb2MtcnQxMzA4Lm8N CiBvYmotJChDT05GSUdfU05EX1NPQ19SVDEzMDhfU0RXKQkrPSBzbmQtc29jLXJ0MTMwOC1zZHcu bw0KIG9iai0kKENPTkZJR19TTkRfU09DX1JUMTMxNl9TRFcpCSs9IHNuZC1zb2MtcnQxMzE2LXNk dy5vDQorb2JqLSQoQ09ORklHX1NORF9TT0NfUlQxMzE4KQkrPSBzbmQtc29jLXJ0MTMxOC5vDQog b2JqLSQoQ09ORklHX1NORF9TT0NfUlQxMzE4X1NEVykJKz0gc25kLXNvYy1ydDEzMTgtc2R3Lm8N CiBvYmotJChDT05GSUdfU05EX1NPQ19SVDI3NCkJKz0gc25kLXNvYy1ydDI3NC5vDQogb2JqLSQo Q09ORklHX1NORF9TT0NfUlQyODYpCSs9IHNuZC1zb2MtcnQyODYubw0KZGlmZiAtLWdpdCBhL3Nv dW5kL3NvYy9jb2RlY3MvcnQxMzE4LmMgYi9zb3VuZC9zb2MvY29kZWNzL3J0MTMxOC5jDQpuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5lZTRkMTFlMDVkYWUNCi0tLSAv ZGV2L251bGwNCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvcnQxMzE4LmMNCkBAIC0wLDAgKzEsMTM0 NyBAQA0KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkNCisvLw0KKy8v IHJ0MTMxOC5jICAtLSAgUlQxMzE4IEFMU0EgU29DIGF1ZGlvIGFtcGxpZmllciBkcml2ZXINCisv LyBBdXRob3I6IEphY2sgWXUgPGphY2sueXVAcmVhbHRlay5jb20+DQorLy8NCisvLyBDb3B5cmln aHQoYykgMjAyNCBSZWFsdGVrIFNlbWljb25kdWN0b3IgQ29ycC4NCisvLw0KKy8vDQorDQorI2lu Y2x1ZGUgPGxpbnV4L2FjcGkuaD4NCisjaW5jbHVkZSA8bGludXgvZnMuaD4NCisjaW5jbHVkZSA8 bGludXgvbW9kdWxlLmg+DQorI2luY2x1ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+DQorI2luY2x1 ZGUgPGxpbnV4L2luaXQuaD4NCisjaW5jbHVkZSA8bGludXgvZGVsYXkuaD4NCisjaW5jbHVkZSA8 bGludXgvcG0uaD4NCisjaW5jbHVkZSA8bGludXgvcmVnbWFwLmg+DQorI2luY2x1ZGUgPGxpbnV4 L2kyYy5oPg0KKyNpbmNsdWRlIDxsaW51eC9wbGF0Zm9ybV9kZXZpY2UuaD4NCisjaW5jbHVkZSA8 bGludXgvZmlybXdhcmUuaD4NCisjaW5jbHVkZSA8bGludXgvZ3Bpby5oPg0KKyNpbmNsdWRlIDxz b3VuZC9jb3JlLmg+DQorI2luY2x1ZGUgPHNvdW5kL3BjbS5oPg0KKyNpbmNsdWRlIDxzb3VuZC9w Y21fcGFyYW1zLmg+DQorI2luY2x1ZGUgPHNvdW5kL3NvYy5oPg0KKyNpbmNsdWRlIDxzb3VuZC9z b2MtZGFwbS5oPg0KKyNpbmNsdWRlIDxzb3VuZC9pbml0dmFsLmg+DQorI2luY2x1ZGUgPHNvdW5k L3Rsdi5oPg0KKyNpbmNsdWRlIDxzb3VuZC9ydDEzMTguaD4NCisNCisjaW5jbHVkZSAicnQxMzE4 LmgiDQorDQorc3RhdGljIHN0cnVjdCByZWdfc2VxdWVuY2UgaW5pdF9saXN0W10gPSB7DQorCXsg MHgwMDAwQzAwMCwgMHgwMX0sDQorCXsgMHgwMDAwRjIwRCwgMHgwMH0sDQorCXsgMHgwMDAwRjIx MiwgMHgzRX0sDQorCXsgMHgwMDAwQzAwMSwgMHgwMn0sDQorCXsgMHgwMDAwQzAwMywgMHgyMn0s DQorCXsgMHgwMDAwQzAwNCwgMHg0NH0sDQorCXsgMHgwMDAwQzAwNSwgMHg0NH0sDQorCXsgMHgw MDAwQzAwNywgMHg2NH0sDQorCXsgMHgwMDAwQzAwRSwgMHhFN30sDQorCXsgMHgwMDAwRjIyMywg MHg3Rn0sDQorCXsgMHgwMDAwRjIyNCwgMHhEQn0sDQorCXsgMHgwMDAwRjIyNSwgMHhFRX0sDQor CXsgMHgwMDAwRjIyNiwgMHgzRn0sDQorCXsgMHgwMDAwRjIyNywgMHgwRn0sDQorCXsgMHgwMDAw RjIxQSwgMHg3OH0sDQorCXsgMHgwMDAwRjI0MiwgMHgzQ30sDQorCXsgMHgwMDAwQzEyMCwgMHg0 MH0sDQorCXsgMHgwMDAwQzEyNSwgMHgwM30sDQorCXsgMHgwMDAwQzMyMSwgMHgwQX0sDQorCXsg MHgwMDAwQzIwMCwgMHhEOH0sDQorCXsgMHgwMDAwQzIwMSwgMHgyN30sDQorCXsgMHgwMDAwQzIw MiwgMHgwRn0sDQorCXsgMHgwMDAwQzQwMCwgMHgwRX0sDQorCXsgMHgwMDAwQzQwMSwgMHg0M30s DQorCXsgMHgwMDAwQzQwMiwgMHhFMH0sDQorCXsgMHgwMDAwQzQwMywgMHgwMH0sDQorCXsgMHgw MDAwQzQwNCwgMHg0Q30sDQorCXsgMHgwMDAwQzQwNiwgMHg0MH0sDQorCXsgMHgwMDAwQzQwNywg MHgwMn0sDQorCXsgMHgwMDAwQzQwOCwgMHgzRn0sDQorCXsgMHgwMDAwQzMwMCwgMHgwMX0sDQor CXsgMHgwMDAwQzEyNSwgMHgwM30sDQorCXsgMHgwMDAwREYwMCwgMHgxMH0sDQorCXsgMHgwMDAw RjIwQiwgMHgyQX0sDQorCXsgMHgwMDAwREY1RiwgMHgwMX0sDQorCXsgMHgwMDAwREY2MCwgMHhB N30sDQorCXsgMHgwMDAwQzIwMywgMHg4NH0sDQorCXsgMHgwMDAwQzIwNiwgMHg3OH0sDQorCXsg MHgwMDAwRjEwQSwgMHgwOX0sDQorCXsgMHgwMDAwRjEwQiwgMHg0Q30sDQorCXsgMHgwMDAwRjEw NCwgMHhGNH0sDQorCXsgMHgwMDAwRjEwNSwgMHgwM30sDQorCXsgMHgwMDAwRjEwOSwgMHhFMH0s DQorCXsgMHgwMDAwRjEwQiwgMHg1Q30sDQorCXsgMHgwMDAwRjEwNCwgMHhGNH0sDQorCXsgMHgw MDAwRjEwNSwgMHgwNH0sDQorCXsgMHgwMDAwRjEwOSwgMHg2NX0sDQorCXsgMHgwMDAwRjEwQiwg MHg1Q30sDQorCXsgMHgwMDAwRjEwNCwgMHhGNH0sDQorCXsgMHgwMDAwRjEwNSwgMHgwMn0sDQor CXsgMHgwMDAwRjEwOSwgMHgzMH0sDQorCXsgMHgwMDAwRjEwQiwgMHg1Q30sDQorCXsgMHgwMDAw RTcwNiwgMHgwRn0sDQorCXsgMHgwMDAwRTcwNywgMHgzMH0sDQorCXsgMHgwMDAwRTgwNiwgMHgw Rn0sDQorCXsgMHgwMDAwRTgwNywgMHgzMH0sDQorCXsgMHgwMDAwQ0UwNCwgMHgwM30sDQorCXsg MHgwMDAwQ0UwNSwgMHg1Rn0sDQorCXsgMHgwMDAwQ0UwNiwgMHhBMn0sDQorCXsgMHgwMDAwQ0Uw NywgMHg2Qn0sDQorCXsgMHgwMDAwQ0YwNCwgMHgwM30sDQorCXsgMHgwMDAwQ0YwNSwgMHg1Rn0s DQorCXsgMHgwMDAwQ0YwNiwgMHhBMn0sDQorCXsgMHgwMDAwQ0YwNywgMHg2Qn0sDQorCXsgMHgw MDAwQ0U2MCwgMHhFM30sDQorCXsgMHgwMDAwQzEzMCwgMHg1MX0sDQorCXsgMHgwMDAwRTAwMCwg MHhBOH0sDQorCXsgMHgwMDAwRjEwMiwgMHgwMH0sDQorCXsgMHgwMDAwRjEwMywgMHgwMH0sDQor CXsgMHgwMDAwRjEwNCwgMHhGNX0sDQorCXsgMHgwMDAwRjEwNSwgMHgyM30sDQorCXsgMHgwMDAw RjEwOSwgMHgwNH0sDQorCXsgMHgwMDAwRjEwQSwgMHgwQn0sDQorCXsgMHgwMDAwRjEwQiwgMHg0 Q30sDQorCXsgMHgwMDAwRjEwQiwgMHg1Q30sDQorCXsgMHg0MTAwMTg4OCwgMHgwMH0sDQorCXsg MHgwMDAwQzEyMSwgMHgwQn0sDQorCXsgMHgwMDAwRjEwMiwgMHgwMH0sDQorCXsgMHgwMDAwRjEw MywgMHgwMH0sDQorCXsgMHgwMDAwRjEwNCwgMHhGNX0sDQorCXsgMHgwMDAwRjEwNSwgMHgyM30s DQorCXsgMHgwMDAwRjEwOSwgMHgwMH0sDQorCXsgMHgwMDAwRjEwQSwgMHgwQn0sDQorCXsgMHgw MDAwRjEwQiwgMHg0Q30sDQorCXsgMHgwMDAwRjEwQiwgMHg1Q30sDQorCXsgMHgwMDAwRjgwMCwg MHgyMH0sDQorCXsgMHgwMDAwQ0EwMCwgMHg4MH0sDQorCXsgMHgwMDAwQ0ExMCwgMHgwMH0sDQor CXsgMHgwMDAwQ0EwMiwgMHg3OH0sDQorCXsgMHgwMDAwQ0ExMiwgMHg3OH0sDQorCXsgMHgwMDAw RUQwMCwgMHg5MH0sDQorCXsgMHgwMDAwRTYwNCwgMHgwMH0sDQorCXsgMHgwMDAwREIwMCwgMHgw Q30sDQorCXsgMHgwMDAwREQwMCwgMHgwQ30sDQorCXsgMHgwMDAwREMxOSwgMHgwMH0sDQorCXsg MHgwMDAwREMxQSwgMHg2QX0sDQorCXsgMHgwMDAwREMxQiwgMHhBQX0sDQorCXsgMHgwMDAwREMx QywgMHhBQn0sDQorCXsgMHgwMDAwREMxRCwgMHgwMH0sDQorCXsgMHgwMDAwREMxRSwgMHgxNn0s DQorCXsgMHgwMDAwREMxRiwgMHhEQn0sDQorCXsgMHgwMDAwREMyMCwgMHg2RH0sDQorCXsgMHgw MDAwREUxOSwgMHgwMH0sDQorCXsgMHgwMDAwREUxQSwgMHg2QX0sDQorCXsgMHgwMDAwREUxQiwg MHhBQX0sDQorCXsgMHgwMDAwREUxQywgMHhBQn0sDQorCXsgMHgwMDAwREUxRCwgMHgwMH0sDQor CXsgMHgwMDAwREUxRSwgMHgxNn0sDQorCXsgMHgwMDAwREUxRiwgMHhEQn0sDQorCXsgMHgwMDAw REUyMCwgMHg2RH0sDQorCXsgMHgwMDAwREIzMiwgMHgwMH0sDQorCXsgMHgwMDAwREQzMiwgMHgw MH0sDQorCXsgMHgwMDAwREIzMywgMHgwQX0sDQorCXsgMHgwMDAwREQzMywgMHgwQX0sDQorCXsg MHgwMDAwREIzNCwgMHgxQX0sDQorCXsgMHgwMDAwREQzNCwgMHgxQX0sDQorCXsgMHgwMDAwREIx NSwgMHhFRn0sDQorCXsgMHgwMDAwREQxNSwgMHhFRn0sDQorCXsgMHgwMDAwREIxNywgMHhFRn0s DQorCXsgMHgwMDAwREQxNywgMHhFRn0sDQorCXsgMHgwMDAwREI5NCwgMHg3MH0sDQorCXsgMHgw MDAwREQ5NCwgMHg3MH0sDQorCXsgMHgwMDAwREIxOSwgMHg0MH0sDQorCXsgMHgwMDAwREQxOSwg MHg0MH0sDQorCXsgMHgwMDAwREIxMiwgMHhDMH0sDQorCXsgMHgwMDAwREQxMiwgMHhDMH0sDQor CXsgMHgwMDAwREIwMCwgMHg0Q30sDQorCXsgMHgwMDAwREIwNCwgMHgwNX0sDQorCXsgMHgwMDAw REIwNSwgMHgwM30sDQorCXsgMHgwMDAwREQwNCwgMHgwNX0sDQorCXsgMHgwMDAwREQwNSwgMHgw M30sDQorCXsgMHgwMDAwREJCQiwgMHgwOX0sDQorCXsgMHgwMDAwREJCQywgMHgzMH0sDQorCXsg MHgwMDAwREJCRCwgMHhGMH0sDQorCXsgMHgwMDAwREJCRSwgMHhGMX0sDQorCXsgMHgwMDAwRERC QiwgMHgwOX0sDQorCXsgMHgwMDAwRERCQywgMHgzMH0sDQorCXsgMHgwMDAwRERCRCwgMHhGMH0s DQorCXsgMHgwMDAwRERCRSwgMHhGMX0sDQorCXsgMHgwMDAwREIwMSwgMHg3OX0sDQorCXsgMHgw MDAwREQwMSwgMHg3OX0sDQorCXsgMHgwMDAwREIwOCwgMHg0MH0sDQorCXsgMHgwMDAwREQwOCwg MHg0MH0sDQorCXsgMHgwMDAwREM1MiwgMHhFRn0sDQorCXsgMHgwMDAwREU1MiwgMHhFRn0sDQor CXsgMHgwMDAwREIwMCwgMHhDQ30sDQorCXsgMHgwMDAwQ0MyQywgMHgwMH0sDQorCXsgMHgwMDAw Q0MyRCwgMHgyQX0sDQorCXsgMHgwMDAwQ0MyRSwgMHg4M30sDQorCXsgMHgwMDAwQ0MyRiwgMHhB OH0sDQorCXsgMHgwMDAwQ0QyQywgMHgwMH0sDQorCXsgMHgwMDAwQ0QyRCwgMHgyQX0sDQorCXsg MHgwMDAwQ0QyRSwgMHg4M30sDQorCXsgMHgwMDAwQ0QyRiwgMHhBOH0sDQorCXsgMHgwMDAwQ0My NCwgMHgwMH0sDQorCXsgMHgwMDAwQ0MyNSwgMHg1MX0sDQorCXsgMHgwMDAwQ0MyNiwgMHhFQn0s DQorCXsgMHgwMDAwQ0MyNywgMHg4NX0sDQorCXsgMHgwMDAwQ0QyNCwgMHgwMH0sDQorCXsgMHgw MDAwQ0QyNSwgMHg1MX0sDQorCXsgMHgwMDAwQ0QyNiwgMHhFQn0sDQorCXsgMHgwMDAwQ0QyNywg MHg4NX0sDQorCXsgMHgwMDAwQ0MyMCwgMHgwMH0sDQorCXsgMHgwMDAwQ0MyMSwgMHgwMH0sDQor CXsgMHgwMDAwQ0MyMiwgMHg0M30sDQorCXsgMHgwMDAwQ0QyMCwgMHgwMH0sDQorCXsgMHgwMDAw Q0QyMSwgMHgwMH0sDQorCXsgMHgwMDAwQ0QyMiwgMHg0M30sDQorCXsgMHgwMDAwQ0MxNiwgMHgw Rn0sDQorCXsgMHgwMDAwQ0MxNywgMHgwMH0sDQorCXsgMHgwMDAwQ0QxNiwgMHgwRn0sDQorCXsg MHgwMDAwQ0QxNywgMHgwMH0sDQorCXsgMHgwMDAwQ0MyOSwgMHg1RH0sDQorCXsgMHgwMDAwQ0My QSwgMHhDMH0sDQorCXsgMHgwMDAwQ0QyOSwgMHg1RH0sDQorCXsgMHgwMDAwQ0QyQSwgMHhDMH0s DQorCXsgMHgwMDAwQ0MzMSwgMHgyMH0sDQorCXsgMHgwMDAwQ0MzMiwgMHgwMH0sDQorCXsgMHgw MDAwQ0MzMywgMHgwMH0sDQorCXsgMHgwMDAwQ0MzNCwgMHgwMH0sDQorCXsgMHgwMDAwQ0QzMSwg MHgyMH0sDQorCXsgMHgwMDAwQ0QzMiwgMHgwMH0sDQorCXsgMHgwMDAwQ0QzMywgMHgwMH0sDQor CXsgMHgwMDAwQ0QzNCwgMHgwMH0sDQorCXsgMHgwMDAwQ0MzNiwgMHg3OX0sDQorCXsgMHgwMDAw Q0MzNywgMHg5OX0sDQorCXsgMHgwMDAwQ0MzOCwgMHg5OX0sDQorCXsgMHgwMDAwQ0MzOSwgMHg5 OX0sDQorCXsgMHgwMDAwQ0QzNiwgMHg3OX0sDQorCXsgMHgwMDAwQ0QzNywgMHg5OX0sDQorCXsg MHgwMDAwQ0QzOCwgMHg5OX0sDQorCXsgMHgwMDAwQ0QzOSwgMHg5OX0sDQorCXsgMHgwMDAwQ0Mw OSwgMHgwMH0sDQorCXsgMHgwMDAwQ0MwQSwgMHgwN30sDQorCXsgMHgwMDAwQ0MwQiwgMHg1Rn0s DQorCXsgMHgwMDAwQ0MwQywgMHg2Rn0sDQorCXsgMHgwMDAwQ0QwOSwgMHgwMH0sDQorCXsgMHgw MDAwQ0QwQSwgMHgwN30sDQorCXsgMHgwMDAwQ0QwQiwgMHg1Rn0sDQorCXsgMHgwMDAwQ0QwQywg MHg2Rn0sDQorCXsgMHgwMDAwQ0MwRSwgMHgwMH0sDQorCXsgMHgwMDAwQ0MwRiwgMHgwM30sDQor CXsgMHgwMDAwQ0MxMCwgMHhBRn0sDQorCXsgMHgwMDAwQ0MxMSwgMHhCN30sDQorCXsgMHgwMDAw Q0QwRSwgMHgwMH0sDQorCXsgMHgwMDAwQ0QwRiwgMHgwM30sDQorCXsgMHgwMDAwQ0QxMCwgMHhB Rn0sDQorCXsgMHgwMDAwQ0QxMSwgMHhCN30sDQorCXsgMHgwMDAwQ0NENiwgMHgwMH0sDQorCXsg MHgwMDAwQ0NENywgMHgwM30sDQorCXsgMHgwMDAwQ0RENiwgMHgwMH0sDQorCXsgMHgwMDAwQ0RE NywgMHgwM30sDQorCXsgMHgwMDAwQ0NEOCwgMHgwMH0sDQorCXsgMHgwMDAwQ0NEOSwgMHgwM30s DQorCXsgMHgwMDAwQ0REOCwgMHgwMH0sDQorCXsgMHgwMDAwQ0REOSwgMHgwM30sDQorCXsgMHgw MDAwQ0NEQSwgMHgwMH0sDQorCXsgMHgwMDAwQ0NEQiwgMHgwM30sDQorCXsgMHgwMDAwQ0REQSwg MHgwMH0sDQorCXsgMHgwMDAwQ0REQiwgMHgwM30sDQorCXsgMHgwMDAwQzMyMCwgMHgyMH0sDQor CXsgMHgwMDAwQzIwMywgMHg5Q30sDQorfTsNCisjZGVmaW5lIHJ0MTMxOF9JTklUX1JFR19MRU4g QVJSQVlfU0laRShpbml0X2xpc3QpDQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCByZWdfZGVmYXVs dCBydDEzMThfcmVnW10gPSB7DQorCXsgMHhjMDAwLCAweDAwIH0sDQorCXsgMHhjMDAxLCAweDQz IH0sDQorCXsgMHhjMDAzLCAweDIyIH0sDQorCXsgMHhjMDA0LCAweDQ0IH0sDQorCXsgMHhjMDA1 LCAweDQ0IH0sDQorCXsgMHhjMDA2LCAweDMzIH0sDQorCXsgMHhjMDA3LCAweDY0IH0sDQorCXsg MHhjMDA4LCAweDA1IH0sDQorCXsgMHhjMDBhLCAweGZjIH0sDQorCXsgMHhjMDBiLCAweDBmIH0s DQorCXsgMHhjMDBjLCAweDBlIH0sDQorCXsgMHhjMDBkLCAweGVmIH0sDQorCXsgMHhjMDBlLCAw eGU1IH0sDQorCXsgMHhjMDBmLCAweGZmIH0sDQorCXsgMHhjMTIwLCAweGMwIH0sDQorCXsgMHhj MTIxLCAweDAwIH0sDQorCXsgMHhjMTIyLCAweDAwIH0sDQorCXsgMHhjMTIzLCAweDE0IH0sDQor CXsgMHhjMTI1LCAweDAwIH0sDQorCXsgMHhjMTMwLCAweDU5IH0sDQorCXsgMHhjMjAwLCAweDAw IH0sDQorCXsgMHhjMjAxLCAweDAwIH0sDQorCXsgMHhjMjAyLCAweDAwIH0sDQorCXsgMHhjMjAz LCAweDA0IH0sDQorCXsgMHhjMjA0LCAweDAwIH0sDQorCXsgMHhjMjA1LCAweDAwIH0sDQorCXsg MHhjMjA2LCAweDY4IH0sDQorCXsgMHhjMjA3LCAweDcwIH0sDQorCXsgMHhjMjA4LCAweDAwIH0s DQorCXsgMHhjMjBhLCAweDAwIH0sDQorCXsgMHhjMjBiLCAweDAxIH0sDQorCXsgMHhjMjBjLCAw eDdmIH0sDQorCXsgMHhjMjBkLCAweDAxIH0sDQorCXsgMHhjMjBlLCAweDdmIH0sDQorCXsgMHhj MzAwLCAweDAwIH0sDQorCXsgMHhjMzAxLCAweDAwIH0sDQorCXsgMHhjMzAzLCAweDgwIH0sDQor CXsgMHhjMzIwLCAweDAwIH0sDQorCXsgMHhjMzIxLCAweDA5IH0sDQorCXsgMHhjMzIyLCAweDAy IH0sDQorCXsgMHhjNDAwLCAweDAwIH0sDQorCXsgMHhjNDAxLCAweDAwIH0sDQorCXsgMHhjNDAy LCAweDAwIH0sDQorCXsgMHhjNDAzLCAweDAwIH0sDQorCXsgMHhjNDA0LCAweDAwIH0sDQorCXsg MHhjNDA1LCAweDAwIH0sDQorCXsgMHhjNDA2LCAweDAwIH0sDQorCXsgMHhjNDA3LCAweDAwIH0s DQorCXsgMHhjNDA4LCAweDAwIH0sDQorCXsgMHhjNDEwLCAweDA0IH0sDQorCXsgMHhjNDMwLCAw eDAwIH0sDQorCXsgMHhjNDMxLCAweDAwIH0sDQorCXsgMHhjYTAwLCAweDEwIH0sDQorCXsgMHhj YTAxLCAweDAwIH0sDQorCXsgMHhjYTAyLCAweDBiIH0sDQorCXsgMHhjYTEwLCAweDEwIH0sDQor CXsgMHhjYTExLCAweDAwIH0sDQorCXsgMHhjYTEyLCAweDBiIH0sDQorCXsgMHhjZTA0LCAweDA4 IH0sDQorCXsgMHhjZTA1LCAweDAwIH0sDQorCXsgMHhjZTA2LCAweDAwIH0sDQorCXsgMHhjZTA3 LCAweDAwIH0sDQorCXsgMHhjZTYwLCAweDYzIH0sDQorCXsgMHhjZjA0LCAweDA4IH0sDQorCXsg MHhjZjA1LCAweDAwIH0sDQorCXsgMHhjZjA2LCAweDAwIH0sDQorCXsgMHhjZjA3LCAweDAwIH0s DQorCXsgMHhkYjAwLCAweDAwIH0sDQorCXsgMHhkYjA4LCAweDQwIH0sDQorCXsgMHhkYjEyLCAw eDAwIH0sDQorCXsgMHhkYjM1LCAweDAwIH0sDQorCXsgMHhkYmI1LCAweDAwIH0sDQorCXsgMHhk YmI2LCAweDQwIH0sDQorCXsgMHhkYmI3LCAweDAwIH0sDQorCXsgMHhkYmI4LCAweDAwIH0sDQor CXsgMHhkYmM1LCAweDAwIH0sDQorCXsgMHhkYmM2LCAweDAwIH0sDQorCXsgMHhkYmM3LCAweDAw IH0sDQorCXsgMHhkYmM4LCAweDAwIH0sDQorCXsgMHhkZDA4LCAweDQwIH0sDQorCXsgMHhkZDEy LCAweDAwIH0sDQorCXsgMHhkZDM1LCAweDAwIH0sDQorCXsgMHhkZGI1LCAweDAwIH0sDQorCXsg MHhkZGI2LCAweDQwIH0sDQorCXsgMHhkZGI3LCAweDAwIH0sDQorCXsgMHhkZGI4LCAweDAwIH0s DQorCXsgMHhkZGM1LCAweDAwIH0sDQorCXsgMHhkZGM2LCAweDAwIH0sDQorCXsgMHhkZGM3LCAw eDAwIH0sDQorCXsgMHhkZGM4LCAweDAwIH0sDQorCXsgMHhkZDkzLCAweDAwIH0sDQorCXsgMHhk ZDk0LCAweDY0IH0sDQorCXsgMHhkZjAwLCAweDAwIH0sDQorCXsgMHhkZjVmLCAweDAwIH0sDQor CXsgMHhkZjYwLCAweDAwIH0sDQorCXsgMHhlMDAwLCAweDA4IH0sDQorCXsgMHhlMzAwLCAweGEw IH0sDQorCXsgMHhlNDAwLCAweDIyIH0sDQorCXsgMHhlNzA2LCAweDJmIH0sDQorCXsgMHhlNzA3 LCAweDJmIH0sDQorCXsgMHhlODA2LCAweDJmIH0sDQorCXsgMHhlODA3LCAweDJmIH0sDQorCXsg MHhlYTAwLCAweDQzIH0sDQorCXsgMHhlZDAwLCAweDgwIH0sDQorCXsgMHhlZDAxLCAweDBmIH0s DQorCXsgMHhlZDAyLCAweGZmIH0sDQorCXsgMHhlZDAzLCAweDAwIH0sDQorCXsgMHhlZDA0LCAw eDAwIH0sDQorCXsgMHhlZDA1LCAweDBmIH0sDQorCXsgMHhlZDA2LCAweGZmIH0sDQorCXsgMHhm MDEwLCAweDEwIH0sDQorCXsgMHhmMDExLCAweGVjIH0sDQorCXsgMHhmMDEyLCAweDY4IH0sDQor CXsgMHhmMDEzLCAweDIxIH0sDQorCXsgMHhmMTAyLCAweDAwIH0sDQorCXsgMHhmMTAzLCAweDAw IH0sDQorCXsgMHhmMTA0LCAweDAwIH0sDQorCXsgMHhmMTA1LCAweDAwIH0sDQorCXsgMHhmMTA2 LCAweDAwIH0sDQorCXsgMHhmMTA3LCAweDAwIH0sDQorCXsgMHhmMTA4LCAweDAwIH0sDQorCXsg MHhmMTA5LCAweDAwIH0sDQorCXsgMHhmMTBhLCAweDAzIH0sDQorCXsgMHhmMTBiLCAweDQwIH0s DQorCXsgMHhmMjBiLCAweDI4IH0sDQorCXsgMHhmMjBkLCAweDAwIH0sDQorCXsgMHhmMjEyLCAw eDAwIH0sDQorCXsgMHhmMjFhLCAweDAwIH0sDQorCXsgMHhmMjIzLCAweDQwIH0sDQorCXsgMHhm MjI0LCAweDAwIH0sDQorCXsgMHhmMjI1LCAweDAwIH0sDQorCXsgMHhmMjI2LCAweDAwIH0sDQor CXsgMHhmMjI3LCAweDAwIH0sDQorCXsgMHhmMjQyLCAweDBjIH0sDQorCXsgMHhmODAwLCAweDAw IH0sDQorCXsgMHhmODAxLCAweDEyIH0sDQorCXsgMHhmODAyLCAweGUwIH0sDQorCXsgMHhmODAz LCAweDJmIH0sDQorCXsgMHhmODA0LCAweDAwIH0sDQorCXsgMHhmODA1LCAweDAwIH0sDQorCXsg MHhmODA2LCAweDA3IH0sDQorCXsgMHhmODA3LCAweGZmIH0sDQorfTsNCisNCitzdGF0aWMgYm9v bCBydDEzMThfdm9sYXRpbGVfcmVnaXN0ZXIoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBp bnQgcmVnKQ0KK3sNCisJc3dpdGNoIChyZWcpIHsNCisJY2FzZSAweGMwMDA6DQorCWNhc2UgMHhj MzAxOg0KKwljYXNlIDB4YzQxMDoNCisJY2FzZSAweGM0MzAgLi4uIDB4YzQzMToNCisJY2FzZSAw eGRiMDY6DQorCWNhc2UgMHhkYjEyOg0KKwljYXNlIDB4ZGIxZCAuLi4gMHhkYjFmOg0KKwljYXNl IDB4ZGIzNToNCisJY2FzZSAweGRiMzc6DQorCWNhc2UgMHhkYjhhIC4uLiAweGRiOTI6DQorCWNh c2UgMHhkYmM1IC4uLiAweGRiYzg6DQorCWNhc2UgMHhkYzJiIC4uLiAweGRjNDk6DQorCWNhc2Ug MHhkZDBiOg0KKwljYXNlIDB4ZGQxMjoNCisJY2FzZSAweGRkMWQgLi4uIDB4ZGQxZjoNCisJY2Fz ZSAweGRkMzU6DQorCWNhc2UgMHhkZDhhIC4uLiAweGRkOTI6DQorCWNhc2UgMHhkZGM1IC4uLiAw eGRkYzg6DQorCWNhc2UgMHhkZTJiIC4uLiAweGRlNDQ6DQorCWNhc2UgMHhkZjRhIC4uLiAweGRm NTU6DQorCWNhc2UgMHhlMjI0IC4uLiAweGUyM2I6DQorCWNhc2UgMHhlYTAxOg0KKwljYXNlIDB4 ZWJjNToNCisJY2FzZSAweGViYzg6DQorCWNhc2UgMHhlYmNiIC4uLiAweGViY2M6DQorCWNhc2Ug MHhlZDAzIC4uLiAweGVkMDY6DQorCWNhc2UgMHhmMDEwIC4uLiAweGYwMTQ6DQorCQlyZXR1cm4g dHJ1ZTsNCisNCisJZGVmYXVsdDoNCisJCXJldHVybiBmYWxzZTsNCisJfQ0KK30NCisNCitzdGF0 aWMgYm9vbCBydDEzMThfcmVhZGFibGVfcmVnaXN0ZXIoc3RydWN0IGRldmljZSAqZGV2LCB1bnNp Z25lZCBpbnQgcmVnKQ0KK3sNCisJc3dpdGNoIChyZWcpIHsNCisJY2FzZSAweGMwMDAgLi4uIDB4 YzAwZjoNCisJY2FzZSAweGMxMjAgLi4uIDB4YzEzMDoNCisJY2FzZSAweGMyMDAgLi4uIDB4YzIw ZToNCisJY2FzZSAweGMzMDAgLi4uIDB4YzMwMzoNCisJY2FzZSAweGMzMjAgLi4uIDB4YzMyMjoN CisJY2FzZSAweGM0MDAgLi4uIDB4YzQwODoNCisJY2FzZSAweGM0MzAgLi4uIDB4YzQzMToNCisJ Y2FzZSAweGNhMDAgLi4uIDB4Y2EwMjoNCisJY2FzZSAweGNhMTAgLi4uIDB4Y2ExMjoNCisJY2Fz ZSAweGNiMDAgLi4uIDB4Y2IwYjoNCisJY2FzZSAweGNjMDAgLi4uIDB4Y2NlNToNCisJY2FzZSAw eGNkMDAgLi4uIDB4Y2RlNToNCisJY2FzZSAweGNlMDAgLi4uIDB4Y2U2YToNCisJY2FzZSAweGNm MDAgLi4uIDB4Y2Y1MzoNCisJY2FzZSAweGQwMDAgLi4uIDB4ZDBjYzoNCisJY2FzZSAweGQxMDAg Li4uIDB4ZDFiOToNCisJY2FzZSAweGRiMDAgLi4uIDB4ZGM1MzoNCisJY2FzZSAweGRkMDAgLi4u IDB4ZGU1MzoNCisJY2FzZSAweGRmMDAgLi4uIDB4ZGY2YjoNCisJY2FzZSAweGUwMDA6DQorCWNh c2UgMHhlMzAwOg0KKwljYXNlIDB4ZTQwMDoNCisJY2FzZSAweGU3MDYgLi4uIDB4ZTcwNzoNCisJ Y2FzZSAweGU4MDYgLi4uIDB4ZTgwNzoNCisJY2FzZSAweGVhMDA6DQorCWNhc2UgMHhlYjAwIC4u LiAweGViY2M6DQorCWNhc2UgMHhlYzAwIC4uLiAweGVjYjk6DQorCWNhc2UgMHhlZDAwIC4uLiAw eGVkMDY6DQorCWNhc2UgMHhmMDEwIC4uLiAweGYwMTQ6DQorCWNhc2UgMHhmMTAyIC4uLiAweGYx MGI6DQorCWNhc2UgMHhmMjBiOg0KKwljYXNlIDB4ZjIwZCAuLi4gMHhmMjQyOg0KKwljYXNlIDB4 ZjgwMCAuLi4gMHhmODA3Og0KKwkJcmV0dXJuIHRydWU7DQorCWRlZmF1bHQ6DQorCQlyZXR1cm4g ZmFsc2U7DQorCX0NCit9DQorDQorc3RhdGljIGludCBydDEzMThfZGFjX2V2ZW50KHN0cnVjdCBz bmRfc29jX2RhcG1fd2lkZ2V0ICp3LA0KKwlzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwg aW50IGV2ZW50KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQgPSBz bmRfc29jX2RhcG1fdG9fY29tcG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgcnQxMzE4X3ByaXYg KnJ0MTMxOCA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNvbXBvbmVudCk7DQorDQor CXN3aXRjaCAoZXZlbnQpIHsNCisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCXJlZ21h cF91cGRhdGVfYml0cyhydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BXUl9TVEExLA0KKwkJCQlSVDEz MThfUERCX0NUUkxfTUFTSywgUlQxMzE4X1BEQl9DVFJMX0hJR0gpOw0KKwkJYnJlYWs7DQorDQor CWNhc2UgU05EX1NPQ19EQVBNX1BPU1RfUE1EOg0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMx OC0+cmVnbWFwLCBSVDEzMThfUFdSX1NUQTEsDQorCQkJCVJUMTMxOF9QREJfQ1RSTF9NQVNLLCBS VDEzMThfUERCX0NUUkxfTE9XKTsNCisJCWJyZWFrOw0KKw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7 DQorCX0NCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgcnQxMzE4X2R2b2xfcHV0KHN0 cnVjdCBzbmRfa2NvbnRyb2wgKmtjb250cm9sLA0KKwkJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1 ZSAqdWNvbnRyb2wpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCA9 IHNuZF9zb2Nfa2NvbnRyb2xfY29tcG9uZW50KGtjb250cm9sKTsNCisJc3RydWN0IHJ0MTMxOF9w cml2ICpydDEzMTggPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjb21wb25lbnQpOw0K Kw0KKwlydDEzMTgtPnJ0MTMxOF9kdm9sID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVb MF07DQorDQorCWlmIChydDEzMTgtPnJ0MTMxOF9kdm9sIDw9IFJUMTMxOF9EVk9MX1NURVAgJiYg cnQxMzE4LT5ydDEzMThfZHZvbCA+PSAwKSB7DQorCQlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdt YXAsIFJUMTMxOF9EQV9WT0xfTF84LA0KKwkJCXJ0MTMxOC0+cnQxMzE4X2R2b2wgPj4gOCk7DQor CQlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9EQV9WT0xfTF8xXzcsDQorCQkJ cnQxMzE4LT5ydDEzMThfZHZvbCAmIDB4ZmYpOw0KKwkJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVn bWFwLCBSVDEzMThfREFfVk9MX1JfOCwNCisJCQlydDEzMTgtPnJ0MTMxOF9kdm9sID4+IDgpOw0K KwkJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfREFfVk9MX1JfMV83LA0KKwkJ CXJ0MTMxOC0+cnQxMzE4X2R2b2wgJiAweGZmKTsNCisJCXJldHVybiAxOw0KKwl9DQorDQorCXJl dHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IHJ0MTMxOF9kdm9sX2dldChzdHJ1Y3Qgc25kX2tj b250cm9sICprY29udHJvbCwNCisJCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9s KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQgPSBzbmRfc29jX2tj b250cm9sX2NvbXBvbmVudChrY29udHJvbCk7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4 ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisNCisJdWNvbnRy b2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBydDEzMTgtPnJ0MTMxOF9kdm9sOw0KKw0KKwly ZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHJ0 MTMxOF9zbmRfY29udHJvbHNbXSA9IHsNCisJU09DX1NJTkdMRV9FWFQoIkFtcCBQbGF5YmFjayBW b2x1bWUiLCBTTkRfU09DX05PUE0sIDAsIDM4MywgMCwNCisJCXJ0MTMxOF9kdm9sX2dldCwgcnQx MzE4X2R2b2xfcHV0KSwNCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19kYXBt X3dpZGdldCBydDEzMThfZGFwbV93aWRnZXRzW10gPSB7DQorCS8qIEF1ZGlvIEludGVyZmFjZSAq Lw0KKwlTTkRfU09DX0RBUE1fQUlGX0lOKCJBSUYxUlgiLCAiQUlGMSBQbGF5YmFjayIsIDAsIFNO RF9TT0NfTk9QTSwgMCwgMCksDQorCS8qIERBQ3MgKi8NCisJU05EX1NPQ19EQVBNX0RBQ19FKCJE QUMiLCBOVUxMLCBTTkRfU09DX05PUE0sIDAsIDAsDQorCQlydDEzMThfZGFjX2V2ZW50LCBTTkRf U09DX0RBUE1fUFJFX1BNVSB8DQorCQlTTkRfU09DX0RBUE1fUE9TVF9QTUQpLA0KKwkvKiBPdXRw dXQgTGluZXMgKi8NCisJU05EX1NPQ19EQVBNX09VVFBVVCgiQW1wIiksDQorfTsNCisNCitzdGF0 aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV9yb3V0ZSBydDEzMThfZGFwbV9yb3V0ZXNbXSA9 IHsNCisJeyJEQUMiLCBOVUxMLCAiQUlGMVJYIn0sDQorCXsiQW1wIiwgTlVMTCwgIkRBQyJ9LA0K K307DQorDQorc3RhdGljIGludCBydDEzMThfZ2V0X2Nsa19pbmZvKGludCBzY2xrLCBpbnQgcmF0 ZSkNCit7DQorCWludCBpLCBwZFtdID0gezEsIDIsIDQsIDgsIDE2LCAyNH07DQorDQorCWlmIChz Y2xrIDw9IDAgfHwgcmF0ZSA8PSAwKQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQorDQorCXJhdGUgPSBy YXRlIDw8IDg7DQorCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBkKTsgaSsrKQ0KKwkJaWYg KHNjbGsgPT0gcmF0ZSAqIHBkW2ldKQ0KKwkJCXJldHVybiBpOw0KKw0KKwlyZXR1cm4gLUVJTlZB TDsNCit9DQorDQorc3RhdGljIGludCBydDEzMThfY2xrX2lwX2luZm8oc3RydWN0IHNuZF9zb2Nf Y29tcG9uZW50ICpjb21wb25lbnQsIGludCBscmNsaykNCit7DQorCXN0cnVjdCBydDEzMThfcHJp diAqcnQxMzE4ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisN CisJaWYgKGxyY2xrID09IFJUMTMxOF9MUkNMS180ODAwMCB8fCBscmNsayA9PSBSVDEzMThfTFJD TEtfNDQxMDAgfHwNCisJCWxyY2xrID09IFJUMTMxOF9MUkNMS18xNjAwMCkNCisJCXJlZ21hcF91 cGRhdGVfYml0cyhydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1NSQ19UQ09OLA0KKwkJCQlSVDEzMThf U1JDSU5fRjEyMjg4X01BU0sgfCBSVDEzMThfU1JDSU5fREFDTEtfTUFTSywNCisJCQkJUlQxMzE4 X1NSQ0lOX1RDT040IHwgUlQxMzE4X0RBQ0xLX1RDT040KTsNCisJZWxzZSBpZiAobHJjbGsgPT0g UlQxMzE4X0xSQ0xLXzk2MDAwKQ0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFw LCBSVDEzMThfU1JDX1RDT04sDQorCQkJCVJUMTMxOF9TUkNJTl9GMTIyODhfTUFTSyB8IFJUMTMx OF9TUkNJTl9EQUNMS19NQVNLLA0KKwkJCQlSVDEzMThfU1JDSU5fVENPTjQgfCBSVDEzMThfREFD TEtfVENPTjIpOw0KKwllbHNlIGlmIChscmNsayA9PSBSVDEzMThfTFJDTEtfMTkyMDAwKQ0KKwkJ cmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU1JDX1RDT04sDQorCQkJ CVJUMTMxOF9TUkNJTl9GMTIyODhfTUFTSyB8IFJUMTMxOF9TUkNJTl9EQUNMS19NQVNLLA0KKwkJ CQlSVDEzMThfU1JDSU5fVENPTjQgfCBSVDEzMThfREFDTEtfVENPTjEpOw0KKwllbHNlDQorCQly ZXR1cm4gLUVJTlZBTDsNCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgcnQxMzE4 X2h3X3BhcmFtcyhzdHJ1Y3Qgc25kX3BjbV9zdWJzdHJlYW0gKnN1YnN0cmVhbSwNCisJc3RydWN0 IHNuZF9wY21faHdfcGFyYW1zICpwYXJhbXMsIHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpKQ0KK3sN CisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQgPSBkYWktPmNvbXBvbmVudDsN CisJc3RydWN0IHJ0MTMxOF9wcml2ICpydDEzMTggPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2 ZGF0YShjb21wb25lbnQpOw0KKwlpbnQgZGF0YV9sZW4gPSAwLCBjaF9sZW4gPSAwOw0KKwlpbnQg cHJlX2RpdiwgcmV0Ow0KKw0KKwlydDEzMTgtPmxyY2sgPSBwYXJhbXNfcmF0ZShwYXJhbXMpOw0K KwlwcmVfZGl2ID0gcnQxMzE4X2dldF9jbGtfaW5mbyhydDEzMTgtPnN5c2NsaywgcnQxMzE4LT5s cmNrKTsNCisJaWYgKHByZV9kaXYgPCAwKSB7DQorCQlkZXZfZXJyKGNvbXBvbmVudC0+ZGV2LCAi VW5zdXBwb3J0ZWQgY2xvY2sgc2V0dGluZ1xuIik7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0K KwlyZXQgPSBydDEzMThfY2xrX2lwX2luZm8oY29tcG9uZW50LCBydDEzMTgtPmxyY2spOw0KKwlp ZiAocmV0IDwgMCkgew0KKwkJZGV2X2Vycihjb21wb25lbnQtPmRldiwgIlVuc3VwcG9ydGVkIGNs b2NrIHNldHRpbmdcbiIpOw0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJc3dpdGNoIChw YXJhbXNfd2lkdGgocGFyYW1zKSkgew0KKwljYXNlIDE2Og0KKwkJYnJlYWs7DQorCWNhc2UgMjA6 DQorCQlkYXRhX2xlbiA9IFJUMTMxOF9JMlNfRExfMjA7DQorCQljaF9sZW4gPSBSVDEzMThfSTJT X0RMXzIwOw0KKwkJYnJlYWs7DQorCWNhc2UgMjQ6DQorCQlkYXRhX2xlbiA9IFJUMTMxOF9JMlNf RExfMjQ7DQorCQljaF9sZW4gPSBSVDEzMThfSTJTX0RMXzI0Ow0KKwkJYnJlYWs7DQorCWNhc2Ug MzI6DQorCQlkYXRhX2xlbiA9IFJUMTMxOF9JMlNfRExfMzI7DQorCQljaF9sZW4gPSBSVDEzMThf STJTX0RMXzMyOw0KKwkJYnJlYWs7DQorCWNhc2UgODoNCisJCWRhdGFfbGVuID0gUlQxMzE4X0ky U19ETF84Ow0KKwkJY2hfbGVuID0gUlQxMzE4X0kyU19ETF84Ow0KKwkJYnJlYWs7DQorCWRlZmF1 bHQ6DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KKw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocnQx MzE4LT5yZWdtYXAsIFJUMTMxOF9DTEsyLA0KKwkJCQlSVDEzMThfRElWX0FQX01BU0sgfCBSVDEz MThfRElWX0RBTU9EX01BU0ssDQorCQkJCXByZV9kaXYgPDwgUlQxMzE4X0RJVl9BUF9TRlQgfA0K KwkJCQlwcmVfZGl2IDw8IFJUMTMxOF9ESVZfREFNT0RfU0ZUKTsNCisJcmVnbWFwX3VwZGF0ZV9i aXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfQ0xLMywNCisJCQkJUlQxMzE4X0FEX1NUTzFfTUFT SyB8IFJUMTMxOF9BRF9TVE8yX01BU0ssDQorCQkJCXByZV9kaXYgPDwgUlQxMzE4X0FEX1NUTzFf U0ZUIHwNCisJCQkJcHJlX2RpdiA8PCBSVDEzMThfQURfU1RPMl9TRlQpOw0KKwlyZWdtYXBfdXBk YXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9DTEs0LA0KKwkJCQlSVDEzMThfQURfQU5B X1NUTzFfTUFTSyB8IFJUMTMxOF9BRF9BTkFfU1RPMl9NQVNLLA0KKwkJCQlwcmVfZGl2IDw8IFJU MTMxOF9BRF9BTkFfU1RPMV9TRlQgfA0KKwkJCQlwcmVfZGl2IDw8IFJUMTMxOF9BRF9BTkFfU1RP Ml9TRlQpOw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9DTEs1 LA0KKwkJCQlSVDEzMThfRElWX0ZJRk9fSU5fTUFTSyB8IFJUMTMxOF9ESVZfRklGT19PVVRfTUFT SywNCisJCQkJcHJlX2RpdiA8PCBSVDEzMThfRElWX0ZJRk9fSU5fU0ZUIHwNCisJCQkJcHJlX2Rp diA8PCBSVDEzMThfRElWX0ZJRk9fT1VUX1NGVCk7DQorCXJlZ21hcF91cGRhdGVfYml0cyhydDEz MTgtPnJlZ21hcCwgUlQxMzE4X0NMSzYsDQorCQkJCVJUMTMxOF9ESVZfTkxNU19NQVNLIHwgUlQx MzE4X0RJVl9BRF9NT05PX01BU0sgfA0KKwkJCQlSVDEzMThfRElWX1BPU1RfR19NQVNLLCAgcHJl X2RpdiA8PCBSVDEzMThfRElWX05MTVNfU0ZUIHwNCisJCQkJcHJlX2RpdiA8PCBSVDEzMThfRElW X0FEX01PTk9fU0ZUIHwNCisJCQkJcHJlX2RpdiA8PCBSVDEzMThfRElWX1BPU1RfR19TRlQpOw0K Kw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9URE1fQ1RSTDIs DQorCQkJCVJUMTMxOF9JMlNfRExfTUFTSywgZGF0YV9sZW4gPDwgUlQxMzE4X0kyU19ETF9TRlQp Ow0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9URE1fQ1RSTDMs DQorCQkJCVJUMTMxOF9JMlNfVFhfQ0hMX01BU0sgfCBSVDEzMThfSTJTX1JYX0NITF9NQVNLLA0K KwkJCQljaF9sZW4gPDwgUlQxMzE4X0kyU19UWF9DSExfU0ZUIHwNCisJCQkJY2hfbGVuIDw8IFJU MTMxOF9JMlNfUlhfQ0hMX1NGVCk7DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50 IHJ0MTMxOF9zZXRfZGFpX2ZtdChzdHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwgdW5zaWduZWQgaW50 IGZtdCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50ID0gZGFpLT5j b21wb25lbnQ7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4ID0gc25kX3NvY19jb21wb25l bnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisJdW5zaWduZWQgaW50IHJlZ192YWwgPSAwLCBy ZWdfdmFsMiA9IDA7DQorDQorCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfSU5WX01BU0sp IHsNCisJY2FzZSBTTkRfU09DX0RBSUZNVF9OQl9ORjoNCisJCWJyZWFrOw0KKwljYXNlIFNORF9T T0NfREFJRk1UX0lCX05GOg0KKwkJcmVnX3ZhbDIgfD0gUlQxMzE4X1RETV9CQ0xLX0lOVjsNCisJ CWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJc3dpdGNo IChmbXQgJiBTTkRfU09DX0RBSUZNVF9GT1JNQVRfTUFTSykgew0KKwljYXNlIFNORF9TT0NfREFJ Rk1UX0kyUzoNCisJCWJyZWFrOw0KKw0KKwljYXNlIFNORF9TT0NfREFJRk1UX0xFRlRfSjoNCisJ CXJlZ192YWwgfD0gUlQxMzE4X0ZNVF9MRUZUX0o7DQorCQlicmVhazsNCisNCisJY2FzZSBTTkRf U09DX0RBSUZNVF9EU1BfQToNCisJCXJlZ192YWwgfD0gUlQxMzE4X0ZNVF9QQ01fQV9SOw0KKwkJ YnJlYWs7DQorDQorCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0I6DQorCQlyZWdfdmFsIHw9IFJU MTMxOF9GTVRfUENNX0JfUjsNCisJCWJyZWFrOw0KKw0KKwlkZWZhdWx0Og0KKwkJcmV0dXJuIC1F SU5WQUw7DQorCX0NCisNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEz MThfVERNX0NUUkwxLA0KKwkJCVJUMTMxOF9JMlNfRk1UX01BU0ssIHJlZ192YWwpOw0KKwlyZWdt YXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9URE1fQ1RSTDEsDQorCQkJUlQx MzE4X1RETV9CQ0xLX01BU0ssIHJlZ192YWwyKTsNCisNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0 YXRpYyBpbnQgcnQxMzE4X3NldF9kYWlfc3lzY2xrKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLA0K KwkJaW50IGNsa19pZCwgdW5zaWduZWQgaW50IGZyZXEsIGludCBkaXIpDQorew0KKwlzdHJ1Y3Qg c25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCA9IGRhaS0+Y29tcG9uZW50Ow0KKwlzdHJ1Y3Qg cnQxMzE4X3ByaXYgKnJ0MTMxOCA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNvbXBv bmVudCk7DQorCWludCByZWdfdmFsID0gMDsNCisNCisJaWYgKGZyZXEgPT0gcnQxMzE4LT5zeXNj bGsgJiYgY2xrX2lkID09IHJ0MTMxOC0+c3lzY2xrX3NyYykNCisJCXJldHVybiAwOw0KKw0KKwlz d2l0Y2ggKGNsa19pZCkgew0KKwljYXNlIFJUMTMxOF9TQ0xLX1NfQkNMSzoNCisJCXJlZ192YWwg fD0gUlQxMzE4X1NZU0NMS19CQ0xLOw0KKwkJYnJlYWs7DQorCWNhc2UgUlQxMzE4X1NDTEtfU19T RFc6DQorCQlyZWdfdmFsIHw9IFJUMTMxOF9TWVNDTEtfU0RXOw0KKwkJYnJlYWs7DQorCWNhc2Ug UlQxMzE4X1NDTEtfU19QTEwyRjoNCisJCXJlZ192YWwgfD0gUlQxMzE4X1NZU0NMS19QTEwyRjsN CisJCWJyZWFrOw0KKwljYXNlIFJUMTMxOF9TQ0xLX1NfUExMMkI6DQorCQlyZWdfdmFsIHw9IFJU MTMxOF9TWVNDTEtfUExMMkI7DQorCQlicmVhazsNCisJY2FzZSBSVDEzMThfU0NMS19TX01DTEs6 DQorCQlyZWdfdmFsIHw9IFJUMTMxOF9TWVNDTEtfTUNMSzsNCisJCWJyZWFrOw0KKwljYXNlIFJU MTMxOF9TQ0xLX1NfUkMwOg0KKwkJcmVnX3ZhbCB8PSBSVDEzMThfU1lTQ0xLX1JDMTsNCisJCWJy ZWFrOw0KKwljYXNlIFJUMTMxOF9TQ0xLX1NfUkMxOg0KKwkJcmVnX3ZhbCB8PSBSVDEzMThfU1lT Q0xLX1JDMjsNCisJCWJyZWFrOw0KKwljYXNlIFJUMTMxOF9TQ0xLX1NfUkMyOg0KKwkJcmVnX3Zh bCB8PSBSVDEzMThfU1lTQ0xLX1JDMzsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJZGV2X2Vy cihjb21wb25lbnQtPmRldiwgIkludmFsaWQgY2xvY2sgaWQgKCVkKVxuIiwgY2xrX2lkKTsNCisJ CXJldHVybiAtRUlOVkFMOw0KKwl9DQorDQorCXJ0MTMxOC0+c3lzY2xrID0gZnJlcTsNCisJcnQx MzE4LT5zeXNjbGtfc3JjID0gY2xrX2lkOw0KKwlkZXZfZGJnKGRhaS0+ZGV2LCAiU3lzY2xrIGlz ICVkSHogYW5kIGNsb2NrIGlkIGlzICVkXG4iLCBmcmVxLCBjbGtfaWQpOw0KKwlyZWdtYXBfdXBk YXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9DTEsxLA0KKwkJCVJUMTMxOF9TWVNDTEtf U0VMX01BU0ssIHJlZ192YWwpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGNvbnN0 IHN0cnVjdCBwbGxfY2FsY19tYXAgcGxsX3ByZXNldF90YWJsZVtdID0gew0KKwl7NTEyMDAwLCA0 MDk2MDAwLCAyMiwgMTkwLCAwLCB0cnVlLCBmYWxzZX0sDQorCXsxMDI0MDAwLCA0MDk2MDAwLCAy MiwgOTQsIDAsIHRydWUsIGZhbHNlfSwNCisJezEwMjQwMDAsIDE2Mzg0MDAwLCA0LCAxOTAsIDAs IHRydWUsIGZhbHNlfSwNCisJezE0MTEyMDAsIDExMjg5NjAwLCA2LCA2MiwgMCwgdHJ1ZSwgZmFs c2V9LA0KKwl7MTUzNjAwMCwgMTIyODgwMDAsIDYsIDYyLCAwLCB0cnVlLCBmYWxzZX0sDQorCXsy ODIyNDAwLCAxMTI4OTYwMCwgNiwgNjIsIDAsIHRydWUsIGZhbHNlfSwNCisJezI4MjI0MDAsIDQ1 MTU4NDAwLCAwLCA2MiwgMCwgdHJ1ZSwgZmFsc2V9LA0KKwl7MjgyMjQwMCwgNDkxNTIwMDAsIDAs IDYyLCAwLCB0cnVlLCBmYWxzZX0sDQorCXszMDcyMDAwLCAxMjI4ODAwMCwgNiwgNjIsIDAsIHRy dWUsIGZhbHNlfSwNCisJezMwNzIwMDAsIDI0NTc2MDAwLCAyLCA2MiwgMCwgdHJ1ZSwgZmFsc2V9 LA0KKwl7MzA3MjAwMCwgNDkxNTIwMDAsIDAsIDYyLCAwLCB0cnVlLCBmYWxzZX0sDQorCXs2MTQ0 MDAwLCAyNDU3NjAwMCwgMiwgOTQsIDQsIGZhbHNlLCBmYWxzZX0sDQorCXs2MTQ0MDAwLCA0OTE1 MjAwMCwgMCwgMzAsIDAsIHRydWUsIGZhbHNlfSwNCisJezYxNDQwMDAsIDk4MzA0MDAwLCAwLCA5 NCwgNCwgZmFsc2UsIHRydWV9LA0KKwl7MTIyODgwMDAsIDQ5MTUyMDAwLCAwLCA2MiwgNiwgZmFs c2UsIGZhbHNlfSwNCit9Ow0KKw0KK2ludCBydDEzMThfcGxsX2NhbGMoY29uc3QgdW5zaWduZWQg aW50IGZyZXFfaW4sDQorCWNvbnN0IHVuc2lnbmVkIGludCBmcmVxX291dCwgc3RydWN0IHJ0MTMx OF9wbGxfY29kZSAqcGxsX2NvZGUpDQorew0KKwlpbnQgbWF4X24gPSBSVDEzMThfUExMX05fTUFY LCBtYXhfbSA9IFJUMTMxOF9QTExfTV9NQVg7DQorCWludCBpLCBrLCByZWQsIG5fdCwgcGxsX291 dCwgaW5fdCwgb3V0X3Q7DQorCWludCBuID0gMCwgbSA9IDAsIG1fdCA9IDA7DQorCWludCByZWRf dCA9IGFicyhmcmVxX291dCAtIGZyZXFfaW4pOw0KKwlib29sIG1fYnlwYXNzID0gZmFsc2UsIGtf YnlwYXNzID0gZmFsc2U7DQorDQorCWlmIChSVDEzMThfUExMX0lOUF9NQVggPCBmcmVxX2luIHx8 IFJUMTMxOF9QTExfSU5QX01JTiA+IGZyZXFfaW4pDQorCQlyZXR1cm4gLUVJTlZBTDsNCisNCisJ Zm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGxsX3ByZXNldF90YWJsZSk7IGkrKykgew0KKwkJ aWYgKGZyZXFfaW4gPT0gcGxsX3ByZXNldF90YWJsZVtpXS5wbGxfaW4gJiYNCisJCQlmcmVxX291 dCA9PSBwbGxfcHJlc2V0X3RhYmxlW2ldLnBsbF9vdXQpIHsNCisJCQlrID0gcGxsX3ByZXNldF90 YWJsZVtpXS5rOw0KKwkJCW0gPSBwbGxfcHJlc2V0X3RhYmxlW2ldLm07DQorCQkJbiA9IHBsbF9w cmVzZXRfdGFibGVbaV0ubjsNCisJCQltX2J5cGFzcyA9IHBsbF9wcmVzZXRfdGFibGVbaV0ubV9i cDsNCisJCQlrX2J5cGFzcyA9IHBsbF9wcmVzZXRfdGFibGVbaV0ua19icDsNCisJCQlnb3RvIGNv ZGVfZmluZDsNCisJCX0NCisJfQ0KKw0KKwlrID0gMTAwMDAwMDAwIC8gZnJlcV9vdXQgLSAyOw0K KwlpZiAoayA+IFJUMTMxOF9QTExfS19NQVgpDQorCQlrID0gUlQxMzE4X1BMTF9LX01BWDsNCisJ aWYgKGsgPCAwKSB7DQorCQlrID0gMDsNCisJCWtfYnlwYXNzID0gdHJ1ZTsNCisJfQ0KKwlmb3Ig KG5fdCA9IDA7IG5fdCA8PSBtYXhfbjsgbl90KyspIHsNCisJCWluX3QgPSBmcmVxX2luIC8gKGtf YnlwYXNzID8gMSA6IChrICsgMikpOw0KKwkJcGxsX291dCA9IGZyZXFfb3V0IC8gKG5fdCArIDIp Ow0KKwkJaWYgKGluX3QgPCAwKQ0KKwkJCWNvbnRpbnVlOw0KKwkJaWYgKGluX3QgPT0gcGxsX291 dCkgew0KKwkJCW1fYnlwYXNzID0gdHJ1ZTsNCisJCQluID0gbl90Ow0KKwkJCWdvdG8gY29kZV9m aW5kOw0KKwkJfQ0KKwkJcmVkID0gYWJzKGluX3QgLSBwbGxfb3V0KTsNCisJCWlmIChyZWQgPCBy ZWRfdCkgew0KKwkJCW1fYnlwYXNzID0gdHJ1ZTsNCisJCQluID0gbl90Ow0KKwkJCW0gPSBtX3Q7 DQorCQkJaWYgKHJlZCA9PSAwKQ0KKwkJCQlnb3RvIGNvZGVfZmluZDsNCisJCQlyZWRfdCA9IHJl ZDsNCisJCX0NCisJCWZvciAobV90ID0gMDsgbV90IDw9IG1heF9tOyBtX3QrKykgew0KKwkJCW91 dF90ID0gaW5fdCAvIChtX3QgKyAyKTsNCisJCQlyZWQgPSBhYnMob3V0X3QgLSBwbGxfb3V0KTsN CisJCQlpZiAocmVkIDwgcmVkX3QpIHsNCisJCQkJbV9ieXBhc3MgPSBmYWxzZTsNCisJCQkJbiA9 IG5fdDsNCisJCQkJbSA9IG1fdDsNCisJCQkJaWYgKHJlZCA9PSAwKQ0KKwkJCQkJZ290byBjb2Rl X2ZpbmQ7DQorCQkJCXJlZF90ID0gcmVkOw0KKwkJCX0NCisJCX0NCisJfQ0KKwlwcl9kZWJ1Zygi T25seSBnZXQgYXBwcm94aW1hdGlvbiBhYm91dCBQTExcbiIpOw0KKw0KK2NvZGVfZmluZDoNCisN CisJcGxsX2NvZGUtPm1fYnAgPSBtX2J5cGFzczsNCisJcGxsX2NvZGUtPmtfYnAgPSBrX2J5cGFz czsNCisJcGxsX2NvZGUtPm1fY29kZSA9IG07DQorCXBsbF9jb2RlLT5uX2NvZGUgPSBuOw0KKwlw bGxfY29kZS0+a19jb2RlID0gazsNCisJcmV0dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgcnQx MzE4X3NldF9kYWlfcGxsKHN0cnVjdCBzbmRfc29jX2RhaSAqZGFpLCBpbnQgcGxsX2lkLCBpbnQg c291cmNlLA0KKwkJCXVuc2lnbmVkIGludCBmcmVxX2luLCB1bnNpZ25lZCBpbnQgZnJlcV9vdXQp DQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCA9IGRhaS0+Y29tcG9u ZW50Ow0KKwlzdHJ1Y3QgcnQxMzE4X3ByaXYgKnJ0MTMxOCA9IHNuZF9zb2NfY29tcG9uZW50X2dl dF9kcnZkYXRhKGNvbXBvbmVudCk7DQorCXN0cnVjdCBydDEzMThfcGxsX2NvZGUgcGxsX2NvZGU7 DQorCWludCByZXQ7DQorDQorCWlmICghZnJlcV9pbiB8fCAhZnJlcV9vdXQpIHsNCisJCWRldl9k YmcoY29tcG9uZW50LT5kZXYsICJQTEwgZGlzYWJsZWRcbiIpOw0KKwkJcnQxMzE4LT5wbGxfaW4g PSAwOw0KKwkJcnQxMzE4LT5wbGxfb3V0ID0gMDsNCisJCXJldHVybiAwOw0KKwl9DQorDQorCWlm IChzb3VyY2UgPT0gcnQxMzE4LT5wbGxfc3JjICYmIGZyZXFfaW4gPT0gcnQxMzE4LT5wbGxfaW4g JiYNCisJCWZyZXFfb3V0ID09IHJ0MTMxOC0+cGxsX291dCkNCisJCXJldHVybiAwOw0KKw0KKwlz d2l0Y2ggKHNvdXJjZSkgew0KKwljYXNlIFJUMTMxOF9QTExfU19CQ0xLMDoNCisJCXJlZ21hcF91 cGRhdGVfYml0cyhydDEzMTgtPnJlZ21hcCwgUlQxMzE4X0NMSzEsDQorCQkJUlQxMzE4X1BMTElO X01BU0ssIFJUMTMxOF9QTExJTl9CQ0xLMCk7DQorCQlicmVhazsNCisJY2FzZSBSVDEzMThfUExM X1NfQkNMSzE6DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9D TEsxLA0KKwkJCVJUMTMxOF9QTExJTl9NQVNLLCBSVDEzMThfUExMSU5fQkNMSzEpOw0KKwkJYnJl YWs7DQorCWNhc2UgUlQxMzE4X1BMTF9TX1JDOg0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMx OC0+cmVnbWFwLCBSVDEzMThfQ0xLMSwNCisJCQlSVDEzMThfUExMSU5fTUFTSywgUlQxMzE4X1BM TElOX1JDKTsNCisJCWJyZWFrOw0KKwljYXNlIFJUMTMxOF9QTExfU19NQ0xLOg0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfQ0xLMSwNCisJCQlSVDEzMThfUExM SU5fTUFTSywgUlQxMzE4X1BMTElOX01DTEspOw0KKwkJYnJlYWs7DQorCWNhc2UgUlQxMzE4X1BM TF9TX1NEV19JTl9QTEw6DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJU MTMxOF9DTEsxLA0KKwkJCVJUMTMxOF9QTExJTl9NQVNLLCBSVDEzMThfUExMSU5fU0RXMSk7DQor CQlicmVhazsNCisJY2FzZSBSVDEzMThfUExMX1NfU0RXXzA6DQorCQlyZWdtYXBfdXBkYXRlX2Jp dHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9DTEsxLA0KKwkJCVJUMTMxOF9QTExJTl9NQVNLLCBS VDEzMThfUExMSU5fU0RXMik7DQorCQlicmVhazsNCisJY2FzZSBSVDEzMThfUExMX1NfU0RXXzE6 DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9DTEsxLA0KKwkJ CVJUMTMxOF9QTExJTl9NQVNLLCBSVDEzMThfUExMSU5fU0RXMyk7DQorCQlicmVhazsNCisJY2Fz ZSBSVDEzMThfUExMX1NfU0RXXzI6DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdt YXAsIFJUMTMxOF9DTEsxLA0KKwkJCVJUMTMxOF9QTExJTl9NQVNLLCBSVDEzMThfUExMSU5fU0RX NCk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCWRldl9lcnIoY29tcG9uZW50LT5kZXYsICJV bmtub3duIFBMTCBzb3VyY2UgJWRcbiIsIHNvdXJjZSk7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJ fQ0KKw0KKwlyZXQgPSBydDEzMThfcGxsX2NhbGMoZnJlcV9pbiwgZnJlcV9vdXQsICZwbGxfY29k ZSk7DQorCWlmIChyZXQgPCAwKSB7DQorCQlkZXZfZXJyKGNvbXBvbmVudC0+ZGV2LCAiVW5zdXBw b3J0IGlucHV0IGNsb2NrICVkXG4iLCBmcmVxX2luKTsNCisJCXJldHVybiByZXQ7DQorCX0NCisN CisJZGV2X2RiZyhjb21wb25lbnQtPmRldiwgImJ5cGFzcz0lZCBtPSVkIG49JWQgaz0lZFxuIiwN CisJCXBsbF9jb2RlLm1fYnAsIChwbGxfY29kZS5tX2JwID8gMCA6IHBsbF9jb2RlLm1fY29kZSks DQorCQlwbGxfY29kZS5uX2NvZGUsIHBsbF9jb2RlLmtfY29kZSk7DQorDQorCXJlZ21hcF91cGRh dGVfYml0cyhydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BMTDFfSywNCisJCQlSVDEzMThfS19QTEwx X01BU0ssIHBsbF9jb2RlLmtfY29kZSk7DQorCXJlZ21hcF91cGRhdGVfYml0cyhydDEzMTgtPnJl Z21hcCwgUlQxMzE4X1BMTDFfTSwNCisJCQlSVDEzMThfTV9QTEwxX01BU0ssIChwbGxfY29kZS5t X2JwID8gMCA6IHBsbF9jb2RlLm1fY29kZSkpOw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4 LT5yZWdtYXAsIFJUMTMxOF9QTEwxX05fOCwNCisJCQlSVDEzMThfTl84X1BMTDFfTUFTSywgcGxs X2NvZGUubl9jb2RlID4+IDgpOw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAs IFJUMTMxOF9QTEwxX05fN18wLA0KKwkJCVJUMTMxOF9OXzdfMF9QTEwxX01BU0ssIHBsbF9jb2Rl Lm5fY29kZSk7DQorDQorCXJ0MTMxOC0+cGxsX2luID0gZnJlcV9pbjsNCisJcnQxMzE4LT5wbGxf b3V0ID0gZnJlcV9vdXQ7DQorCXJ0MTMxOC0+cGxsX3NyYyA9IHNvdXJjZTsNCisNCisJcmV0dXJu IDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgcnQxMzE4X3NldF90ZG1fc2xvdChzdHJ1Y3Qgc25kX3Nv Y19kYWkgKmRhaSwgdW5zaWduZWQgaW50IHR4X21hc2ssDQorCQkJdW5zaWduZWQgaW50IHJ4X21h c2ssIGludCBzbG90cywgaW50IHNsb3Rfd2lkdGgpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21w b25lbnQgKmNvbXBvbmVudCA9IGRhaS0+Y29tcG9uZW50Ow0KKwlzdHJ1Y3QgcnQxMzE4X3ByaXYg KnJ0MTMxOCA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNvbXBvbmVudCk7DQorCXVu c2lnbmVkIGludCBjbiA9IDAsIGNsID0gMCwgcnhfc2xvdG51bTsNCisJaW50IHJldCA9IDAsIGZp cnN0X2JpdDsNCisNCisJc3dpdGNoIChzbG90cykgew0KKwljYXNlIDQ6DQorCQljbiB8PSBSVDEz MThfSTJTX0NIX1RYXzRDSDsNCisJCWNuIHw9IFJUMTMxOF9JMlNfQ0hfUlhfNENIOw0KKwkJYnJl YWs7DQorCWNhc2UgNjoNCisJCWNuIHw9IFJUMTMxOF9JMlNfQ0hfVFhfNkNIOw0KKwkJY24gfD0g UlQxMzE4X0kyU19DSF9SWF82Q0g7DQorCQlicmVhazsNCisJY2FzZSA4Og0KKwkJY24gfD0gUlQx MzE4X0kyU19DSF9UWF84Q0g7DQorCQljbiB8PSBSVDEzMThfSTJTX0NIX1JYXzhDSDsNCisJCWJy ZWFrOw0KKwljYXNlIDI6DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCXJldHVybiAtRUlOVkFM Ow0KKwl9DQorDQorCXN3aXRjaCAoc2xvdF93aWR0aCkgew0KKwljYXNlIDIwOg0KKwkJY2wgfD0g UlQxMzE4X0kyU19UWF9DSExfMjA7DQorCQljbCB8PSBSVDEzMThfSTJTX1JYX0NITF8yMDsNCisJ CWJyZWFrOw0KKwljYXNlIDI0Og0KKwkJY2wgfD0gUlQxMzE4X0kyU19UWF9DSExfMjQ7DQorCQlj bCB8PSBSVDEzMThfSTJTX1JYX0NITF8yNDsNCisJCWJyZWFrOw0KKwljYXNlIDMyOg0KKwkJY2wg fD0gUlQxMzE4X0kyU19UWF9DSExfMzI7DQorCQljbCB8PSBSVDEzMThfSTJTX1JYX0NITF8zMjsN CisJCWJyZWFrOw0KKwljYXNlIDg6DQorCQljbCB8PSBSVDEzMThfSTJTX1RYX0NITF84Ow0KKwkJ Y2wgfD0gUlQxMzE4X0kyU19SWF9DSExfODsNCisJCWJyZWFrOw0KKwljYXNlIDE2Og0KKwkJYnJl YWs7DQorCWRlZmF1bHQ6DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KKw0KKwkvKiBSeCBzbG90 IGNvbmZpZ3VyYXRpb24gKi8NCisJcnhfc2xvdG51bSA9IGh3ZWlnaHRfbG9uZyhyeF9tYXNrKTsN CisJaWYgKHJ4X3Nsb3RudW0gIT0gMSkgew0KKwkJcmV0ID0gLUVJTlZBTDsNCisJCWRldl9lcnIo Y29tcG9uZW50LT5kZXYsICJ0b28gbWFueSByeCBzbG90cyBvciB6ZXJvIHNsb3RcbiIpOw0KKwkJ Z290byBfc2V0X3RkbV9lcnJfOw0KKwl9DQorDQorCWZpcnN0X2JpdCA9IF9fZmZzKHJ4X21hc2sp Ow0KKwlzd2l0Y2ggKGZpcnN0X2JpdCkgew0KKwljYXNlIDA6DQorCWNhc2UgMjoNCisJY2FzZSA0 Og0KKwljYXNlIDY6DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsDQorCQkJ UlQxMzE4X1RETV9DVFJMOSwNCisJCQlSVDEzMThfVERNX0kyU19UWF9MX0RBQzFfMV9NQVNLIHwN CisJCQlSVDEzMThfVERNX0kyU19UWF9SX0RBQzFfMV9NQVNLLA0KKwkJCShmaXJzdF9iaXQgPDwg UlQxMzE4X1RETV9JMlNfVFhfTF9EQUMxXzFfU0ZUKSB8DQorCQkJKChmaXJzdF9iaXQgKyAxKSA8 PCBSVDEzMThfVERNX0kyU19UWF9SX0RBQzFfMV9TRlQpKTsNCisJCWJyZWFrOw0KKwljYXNlIDE6 DQorCWNhc2UgMzoNCisJY2FzZSA1Og0KKwljYXNlIDc6DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMo cnQxMzE4LT5yZWdtYXAsDQorCQkJUlQxMzE4X1RETV9DVFJMOSwNCisJCQlSVDEzMThfVERNX0ky U19UWF9MX0RBQzFfMV9NQVNLIHwNCisJCQlSVDEzMThfVERNX0kyU19UWF9SX0RBQzFfMV9NQVNL LA0KKwkJCSgoZmlyc3RfYml0IC0gMSkgPDwgUlQxMzE4X1RETV9JMlNfVFhfTF9EQUMxXzFfU0ZU KSB8DQorCQkJKGZpcnN0X2JpdCA8PCBSVDEzMThfVERNX0kyU19UWF9SX0RBQzFfMV9TRlQpKTsN CisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJcmV0ID0gLUVJTlZBTDsNCisJCWdvdG8gX3NldF90 ZG1fZXJyXzsNCisJfQ0KKw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJU MTMxOF9URE1fQ1RSTDIsDQorCQkJUlQxMzE4X0kyU19DSF9UWF9NQVNLIHwgUlQxMzE4X0kyU19D SF9SWF9NQVNLLCBjbik7DQorCXJlZ21hcF91cGRhdGVfYml0cyhydDEzMTgtPnJlZ21hcCwgUlQx MzE4X1RETV9DVFJMMywNCisJCQlSVDEzMThfSTJTX1RYX0NITF9NQVNLIHwgUlQxMzE4X0kyU19S WF9DSExfTUFTSywgY2wpOw0KKw0KK19zZXRfdGRtX2Vycl86DQorCXJldHVybiByZXQ7DQorfQ0K Kw0KK3N0YXRpYyBpbnQgcnQxMzE4X3Byb2JlKHN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29t cG9uZW50KQ0KK3sNCisJc3RydWN0IHJ0MTMxOF9wcml2ICpydDEzMTggPSBzbmRfc29jX2NvbXBv bmVudF9nZXRfZHJ2ZGF0YShjb21wb25lbnQpOw0KKw0KKwlydDEzMTgtPmNvbXBvbmVudCA9IGNv bXBvbmVudDsNCisNCisJc2NoZWR1bGVfd29yaygmcnQxMzE4LT5jYWxpX3dvcmspOw0KKwlydDEz MTgtPnJ0MTMxOF9kdm9sID0gUlQxMzE4X0RWT0xfU1RFUDsNCisNCisJcmV0dXJuIDA7DQorfQ0K Kw0KK3N0YXRpYyB2b2lkIHJ0MTMxOF9yZW1vdmUoc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpj b21wb25lbnQpDQorew0KKwlzdHJ1Y3QgcnQxMzE4X3ByaXYgKnJ0MTMxOCA9IHNuZF9zb2NfY29t cG9uZW50X2dldF9kcnZkYXRhKGNvbXBvbmVudCk7DQorDQorCWNhbmNlbF93b3JrX3N5bmMoJnJ0 MTMxOC0+Y2FsaV93b3JrKTsNCit9DQorDQorI2lmZGVmIENPTkZJR19QTQ0KK3N0YXRpYyBpbnQg cnQxMzE4X3N1c3BlbmQoc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQpDQorew0K KwlzdHJ1Y3QgcnQxMzE4X3ByaXYgKnJ0MTMxOCA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZk YXRhKGNvbXBvbmVudCk7DQorDQorCXJlZ2NhY2hlX2NhY2hlX29ubHkocnQxMzE4LT5yZWdtYXAs IHRydWUpOw0KKwlyZWdjYWNoZV9tYXJrX2RpcnR5KHJ0MTMxOC0+cmVnbWFwKTsNCisJcmV0dXJu IDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQgcnQxMzE4X3Jlc3VtZShzdHJ1Y3Qgc25kX3NvY19jb21w b25lbnQgKmNvbXBvbmVudCkNCit7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4ID0gc25k X3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisNCisJcmVnY2FjaGVfY2Fj aGVfb25seShydDEzMTgtPnJlZ21hcCwgZmFsc2UpOw0KKwlyZWdjYWNoZV9zeW5jKHJ0MTMxOC0+ cmVnbWFwKTsNCisJcmV0dXJuIDA7DQorfQ0KKyNlbHNlDQorI2RlZmluZSBydDEzMThfc3VzcGVu ZCBOVUxMDQorI2RlZmluZSBydDEzMThfcmVzdW1lIE5VTEwNCisjZW5kaWYNCisNCisjZGVmaW5l IFJUMTMxOF9TVEVSRU9fUkFURVMgU05EUlZfUENNX1JBVEVfODAwMF8xOTIwMDANCisjZGVmaW5l IFJUMTMxOF9GT1JNQVRTIChTTkRSVl9QQ01fRk1UQklUX1MxNl9MRSB8IFNORFJWX1BDTV9GTVRC SVRfUzIwXzNMRSB8IFwNCisJCQlTTkRSVl9QQ01fRk1UQklUX1MyNF9MRSB8IFNORFJWX1BDTV9G TVRCSVRfUzgpDQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhaV9vcHMgcnQxMzE4 X2FpZl9kYWlfb3BzID0gew0KKwkuaHdfcGFyYW1zID0gcnQxMzE4X2h3X3BhcmFtcywNCisJLnNl dF9mbXQgPSBydDEzMThfc2V0X2RhaV9mbXQsDQorCS5zZXRfc3lzY2xrID0gcnQxMzE4X3NldF9k YWlfc3lzY2xrLA0KKwkuc2V0X3BsbCA9IHJ0MTMxOF9zZXRfZGFpX3BsbCwNCisJLnNldF90ZG1f c2xvdCA9IHJ0MTMxOF9zZXRfdGRtX3Nsb3QsDQorfTsNCisNCitzdGF0aWMgc3RydWN0IHNuZF9z b2NfZGFpX2RyaXZlciBydDEzMThfZGFpW10gPSB7DQorCXsNCisJCS5uYW1lID0gInJ0MTMxOC1h aWYiLA0KKwkJLmlkID0gMCwNCisJCS5wbGF5YmFjayA9IHsNCisJCQkuc3RyZWFtX25hbWUgPSAi QUlGMSBQbGF5YmFjayIsDQorCQkJLmNoYW5uZWxzX21pbiA9IDEsDQorCQkJLmNoYW5uZWxzX21h eCA9IDIsDQorCQkJLnJhdGVzID0gUlQxMzE4X1NURVJFT19SQVRFUywNCisJCQkuZm9ybWF0cyA9 IFJUMTMxOF9GT1JNQVRTLA0KKwkJfSwNCisJCS5vcHMgPSAmcnQxMzE4X2FpZl9kYWlfb3BzLA0K Kwl9DQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfY29tcG9uZW50X2RyaXZl ciBzb2NfY29tcG9uZW50X2Rldl9ydDEzMTggPSB7DQorCS5wcm9iZSA9IHJ0MTMxOF9wcm9iZSwN CisJLnJlbW92ZSA9IHJ0MTMxOF9yZW1vdmUsDQorCS5zdXNwZW5kID0gcnQxMzE4X3N1c3BlbmQs DQorCS5yZXN1bWUgPSBydDEzMThfcmVzdW1lLA0KKwkuY29udHJvbHMgPSBydDEzMThfc25kX2Nv bnRyb2xzLA0KKwkubnVtX2NvbnRyb2xzID0gQVJSQVlfU0laRShydDEzMThfc25kX2NvbnRyb2xz KSwNCisJLmRhcG1fd2lkZ2V0cyA9IHJ0MTMxOF9kYXBtX3dpZGdldHMsDQorCS5udW1fZGFwbV93 aWRnZXRzID0gQVJSQVlfU0laRShydDEzMThfZGFwbV93aWRnZXRzKSwNCisJLmRhcG1fcm91dGVz ID0gcnQxMzE4X2RhcG1fcm91dGVzLA0KKwkubnVtX2RhcG1fcm91dGVzID0gQVJSQVlfU0laRShy dDEzMThfZGFwbV9yb3V0ZXMpLA0KKwkudXNlX3BtZG93bl90aW1lID0gMSwNCisJLmVuZGlhbm5l c3MgPSAxLA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCByZWdtYXBfY29uZmlnIHJ0MTMx OF9yZWdtYXAgPSB7DQorCS5yZWdfYml0cyA9IDMyLA0KKwkudmFsX2JpdHMgPSA4LA0KKwkucmVh ZGFibGVfcmVnID0gcnQxMzE4X3JlYWRhYmxlX3JlZ2lzdGVyLA0KKwkudm9sYXRpbGVfcmVnID0g cnQxMzE4X3ZvbGF0aWxlX3JlZ2lzdGVyLA0KKwkubWF4X3JlZ2lzdGVyID0gMHg0MTAwMTg4OCwN CisJLnJlZ19kZWZhdWx0cyA9IHJ0MTMxOF9yZWcsDQorCS5udW1fcmVnX2RlZmF1bHRzID0gQVJS QVlfU0laRShydDEzMThfcmVnKSwNCisJLmNhY2hlX3R5cGUgPSBSRUdDQUNIRV9SQlRSRUUsDQor CS51c2Vfc2luZ2xlX3JlYWQgPSB0cnVlLA0KKwkudXNlX3NpbmdsZV93cml0ZSA9IHRydWUsDQor fTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IGkyY19kZXZpY2VfaWQgcnQxMzE4X2kyY19pZFtd ID0gew0KKwl7ICJydDEzMTgiLCAwIH0sDQorCXsgfQ0KK307DQorTU9EVUxFX0RFVklDRV9UQUJM RShpMmMsIHJ0MTMxOF9pMmNfaWQpOw0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb2ZfZGV2aWNl X2lkIHJ0MTMxOF9vZl9tYXRjaFtdID0gew0KKwl7IC5jb21wYXRpYmxlID0gInJlYWx0ZWsscnQx MzE4IiwgfSwNCisJe30sDQorfTsNCitNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBydDEzMThfb2Zf bWF0Y2gpOw0KKw0KKyNpZmRlZiBDT05GSUdfQUNQSQ0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYWNw aV9kZXZpY2VfaWQgcnQxMzE4X2FjcGlfbWF0Y2hbXSA9IHsNCisJeyAiMTBFQzEzMTgiLCAwfSwN CisJeyB9LA0KK307DQorTU9EVUxFX0RFVklDRV9UQUJMRShhY3BpLCBydDEzMThfYWNwaV9tYXRj aCk7DQorI2VuZGlmDQorDQorc3RhdGljIGludCBydDEzMThfcGFyc2VfZHQoc3RydWN0IHJ0MTMx OF9wcml2ICpydDEzMTgsIHN0cnVjdCBkZXZpY2UgKmRldikNCit7DQorCWRldmljZV9wcm9wZXJ0 eV9yZWFkX3UzMihkZXYsICJyZWFsdGVrLHIwX2wiLA0KKwkJJnJ0MTMxOC0+cGRhdGEuaW5pdF9y MF9sKTsNCisJZGV2aWNlX3Byb3BlcnR5X3JlYWRfdTMyKGRldiwgInJlYWx0ZWsscjBfciIsDQor CQkmcnQxMzE4LT5wZGF0YS5pbml0X3IwX3IpOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3Rh dGljIHZvaWQgcnQxMzE4X2NhbGlicmF0aW9uX3NlcXVlbmNlKHN0cnVjdCBydDEzMThfcHJpdiAq cnQxMzE4KQ0KK3sNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfQ0xLMSwg MHgyMik7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BMTDFfTl83XzAs IDB4MDYpOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9TVFBfVEVNUF9M LCAweENDKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU1RQX1NFTF9M LCAweDQwKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU1RQX1NFTF9S LCAweDQwKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU0lORV9HRU4w LCAweDIwKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU1BLX1ZPTF9U SCwgMHgwMCk7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X0ZFRURCQUNL X1BBVEgsIDB4MEIpOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9UQ09O LCAweDFDKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfVENPTl9SRUxB VEUsIDB4NTgpOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9UQ09OX1JF TEFURSwgMHg3OCk7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1NUUF9S MF9FTl9MLCAweEMyKTsNCit9DQorDQorc3RhdGljIHZvaWQgcnQxMzE4X3IwX2NhbGN1bGF0ZShz dHJ1Y3QgcnQxMzE4X3ByaXYgKnJ0MTMxOCkNCit7DQorCXVuc2lnbmVkIGludCByMF9sLCByMF9s X2J5dGUwLCByMF9sX2J5dGUxLCByMF9sX2J5dGUyLCByMF9sX2J5dGUzOw0KKwl1bnNpZ25lZCBp bnQgcjBfciwgcjBfcl9ieXRlMCwgcjBfcl9ieXRlMSwgcjBfcl9ieXRlMiwgcjBfcl9ieXRlMzsN CisJdW5zaWduZWQgaW50IHIwX2xfaW50ZWdlciwgcjBfbF9mYWN0b3IsIHIwX3JfaW50ZWdlciwg cjBfcl9mYWN0b3I7DQorCXVuc2lnbmVkIGludCBmb3JtYXQgPSAxNjc3NzIxNjsgLyogMl4yNCAq Lw0KKw0KKwlyZWdtYXBfcmVhZChydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1IwX0xfMjQsICZyMF9s X2J5dGUwKTsNCisJcmVnbWFwX3JlYWQocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9SMF9MXzIzXzE2 LCAmcjBfbF9ieXRlMSk7DQorCXJlZ21hcF9yZWFkKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUjBf TF8xNV84LCAmcjBfbF9ieXRlMik7DQorCXJlZ21hcF9yZWFkKHJ0MTMxOC0+cmVnbWFwLCBSVDEz MThfUjBfTF83XzAsICZyMF9sX2J5dGUzKTsNCisJcjBfbCA9IHIwX2xfYnl0ZTAgPDwgMjQgfCBy MF9sX2J5dGUxIDw8IDE2IHwgcjBfbF9ieXRlMiA8PCA4IHwgcjBfbF9ieXRlMzsNCisJcjBfbF9p bnRlZ2VyID0gZm9ybWF0IC8gcjBfbDsNCisJcjBfbF9mYWN0b3IgPSAoZm9ybWF0ICogMTApIC8g cjBfbCAtIHIwX2xfaW50ZWdlciAqIDEwOw0KKw0KKwlyZWdtYXBfcmVhZChydDEzMTgtPnJlZ21h cCwgUlQxMzE4X1IwX1JfMjQsICZyMF9yX2J5dGUwKTsNCisJcmVnbWFwX3JlYWQocnQxMzE4LT5y ZWdtYXAsIFJUMTMxOF9SMF9SXzIzXzE2LCAmcjBfcl9ieXRlMSk7DQorCXJlZ21hcF9yZWFkKHJ0 MTMxOC0+cmVnbWFwLCBSVDEzMThfUjBfUl8xNV84LCAmcjBfcl9ieXRlMik7DQorCXJlZ21hcF9y ZWFkKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUjBfUl83XzAsICZyMF9yX2J5dGUzKTsNCisJcjBf ciA9IHIwX3JfYnl0ZTAgPDwgMjQgfCByMF9yX2J5dGUxIDw8IDE2IHwgcjBfcl9ieXRlMiA8PCA4 IHwgcjBfcl9ieXRlMzsNCisJcjBfcl9pbnRlZ2VyID0gZm9ybWF0IC8gcjBfcjsNCisJcjBfcl9m YWN0b3IgPSAoZm9ybWF0ICogMTApIC8gcjBfciAtIHIwX3JfaW50ZWdlciAqIDEwOw0KKw0KKwlk ZXZfZGJnKHJ0MTMxOC0+Y29tcG9uZW50LT5kZXYsICJyMF9sX2NoOiVkLiVkIG9obVxuIiwgcjBf bF9pbnRlZ2VyLCByMF9sX2ZhY3Rvcik7DQorCWRldl9kYmcocnQxMzE4LT5jb21wb25lbnQtPmRl diwgInIwX3JfY2g6JWQuJWQgb2htXG4iLCByMF9yX2ludGVnZXIsIHIwX3JfZmFjdG9yKTsNCit9 DQorDQorc3RhdGljIHZvaWQgcnQxMzE4X3IwX3Jlc3RvcmUoc3RydWN0IHJ0MTMxOF9wcml2ICpy dDEzMTgpDQorew0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9QUkVfUjBf TF8yNCwNCisJCShydDEzMTgtPnBkYXRhLmluaXRfcjBfbCA+PiAyNCkgJiAweGZmKTsNCisJcmVn bWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUFJFX1IwX0xfMjNfMTYsDQorCQkocnQx MzE4LT5wZGF0YS5pbml0X3IwX2wgPj4gMTYpICYgMHhmZik7DQorCXJlZ21hcF93cml0ZShydDEz MTgtPnJlZ21hcCwgUlQxMzE4X1BSRV9SMF9MXzE1XzgsDQorCQkocnQxMzE4LT5wZGF0YS5pbml0 X3IwX2wgPj4gOCkgJiAweGZmKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEz MThfUFJFX1IwX0xfN18wLA0KKwkJKHJ0MTMxOC0+cGRhdGEuaW5pdF9yMF9sID4+IDApICYgMHhm Zik7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BSRV9SMF9SXzI0LA0K KwkJKHJ0MTMxOC0+cGRhdGEuaW5pdF9yMF9yID4+IDI0KSAmIDB4ZmYpOw0KKwlyZWdtYXBfd3Jp dGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9QUkVfUjBfUl8yM18xNiwNCisJCShydDEzMTgtPnBk YXRhLmluaXRfcjBfciA+PiAxNikgJiAweGZmKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVn bWFwLCBSVDEzMThfUFJFX1IwX1JfMTVfOCwNCisJCShydDEzMTgtPnBkYXRhLmluaXRfcjBfciA+ PiA4KSAmIDB4ZmYpOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9QUkVf UjBfUl83XzAsDQorCQkocnQxMzE4LT5wZGF0YS5pbml0X3IwX3IgPj4gMCkgJiAweGZmKTsNCisJ cmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU1RQX1NFTF9MLCAweDgwKTsNCisJ cmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU1RQX1NFTF9SLCAweDgwKTsNCisJ cmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUjBfQ01QX0xfRkxBRywgMHhjMCk7 DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1IwX0NNUF9SX0ZMQUcsIDB4 YzApOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9TVFBfUjBfRU5fTCwg MHhjMCk7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1NUUF9SMF9FTl9S LCAweGMwKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU1RQX1RFTVBf TCwgMHhjYyk7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1RDT04sIDB4 OWMpOw0KK30NCisNCitzdGF0aWMgaW50IHJ0MTMxOF9jYWxpYnJhdGUoc3RydWN0IHJ0MTMxOF9w cml2ICpydDEzMTgpDQorew0KKwlpbnQgY2hrX2NudCA9IDMwLCBjb3VudCA9IDA7DQorCWludCB2 YWwsIHZhbDI7DQorDQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BXUl9T VEExLCAweDEpOw0KKwl1c2xlZXBfcmFuZ2UoMCwgMTAwMDApOw0KKwlydDEzMThfY2FsaWJyYXRp b25fc2VxdWVuY2UocnQxMzE4KTsNCisNCisJd2hpbGUgKGNvdW50IDwgY2hrX2NudCkgew0KKwkJ bXNsZWVwKDEwMCk7DQorCQlyZWdtYXBfcmVhZChydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1IwX0NN UF9MX0ZMQUcsICZ2YWwpOw0KKwkJcmVnbWFwX3JlYWQocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9S MF9DTVBfUl9GTEFHLCAmdmFsMik7DQorCQl2YWwgPSAodmFsID4+IDEpICYgMHgxOw0KKwkJdmFs MiA9ICh2YWwyID4+IDEpICYgMHgxOw0KKwkJaWYgKHZhbCAmIHZhbDIpIHsNCisJCQlkZXZfZGJn KHJ0MTMxOC0+Y29tcG9uZW50LT5kZXYsICJDYWxpYnJhdGlvbiBkb25lLlxuIik7DQorCQkJYnJl YWs7DQorCQl9DQorCQljb3VudCsrOw0KKwkJaWYgKGNvdW50ID09IGNoa19jbnQpIHsNCisJCQly ZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9QV1JfU1RBMSwgMHgwKTsNCisJCQly ZXR1cm4gUlQxMzE4X1IwX0NBTElCX05PVF9ET05FOw0KKwkJfQ0KKwl9DQorCXJlZ21hcF93cml0 ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BXUl9TVEExLCAweDApOw0KKwlyZWdtYXBfcmVhZChy dDEzMTgtPnJlZ21hcCwgUlQxMzE4X1IwX0NNUF9MX0ZMQUcsICZ2YWwpOw0KKwlyZWdtYXBfcmVh ZChydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1IwX0NNUF9SX0ZMQUcsICZ2YWwyKTsNCisJaWYgKCh2 YWwgJiAweDEpICYgKHZhbDIgJiAweDEpKQ0KKwkJcmV0dXJuIFJUMTMxOF9SMF9JTl9SQU5HRTsN CisJZWxzZQ0KKwkJcmV0dXJuIFJUMTMxOF9SMF9PVVRfT0ZfUkFOR0U7DQorfQ0KKw0KK3N0YXRp YyB2b2lkIHJ0MTMxOF9jYWxpYnJhdGlvbl93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykN Cit7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4ID0NCisJCWNvbnRhaW5lcl9vZih3b3Jr LCBzdHJ1Y3QgcnQxMzE4X3ByaXYsIGNhbGlfd29yayk7DQorCWludCByZXQ7DQorDQorCWlmIChy dDEzMTgtPnBkYXRhLmluaXRfcjBfbCAmJiBydDEzMTgtPnBkYXRhLmluaXRfcjBfcikNCisJCXJ0 MTMxOF9yMF9yZXN0b3JlKHJ0MTMxOCk7DQorCWVsc2Ugew0KKwkJcmV0ID0gcnQxMzE4X2NhbGli cmF0ZShydDEzMTgpOw0KKwkJaWYgKHJldCA9PSBSVDEzMThfUjBfSU5fUkFOR0UpDQorCQkJcnQx MzE4X3IwX2NhbGN1bGF0ZShydDEzMTgpOw0KKwkJZGV2X2RiZyhydDEzMTgtPmNvbXBvbmVudC0+ ZGV2LCAiQ2FsaWJyYXRlIFIwIHJlc3VsdDolZFxuIiwgcmV0KTsNCisJfQ0KK30NCisNCitzdGF0 aWMgaW50IHJ0MTMxOF9pMmNfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmkyYykNCit7DQorCXN0 cnVjdCBydDEzMThfcGxhdGZvcm1fZGF0YSAqcGRhdGEgPSBkZXZfZ2V0X3BsYXRkYXRhKCZpMmMt PmRldik7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4Ow0KKwlpbnQgcmV0LCB2YWwsIHZh bDIsIGRldl9pZDsNCisNCisJcnQxMzE4ID0gZGV2bV9remFsbG9jKCZpMmMtPmRldiwgc2l6ZW9m KHN0cnVjdCBydDEzMThfcHJpdiksDQorCQkJCUdGUF9LRVJORUwpOw0KKwlpZiAoIXJ0MTMxOCkN CisJCXJldHVybiAtRU5PTUVNOw0KKw0KKwlpMmNfc2V0X2NsaWVudGRhdGEoaTJjLCBydDEzMTgp Ow0KKw0KKwlpZiAocGRhdGEpDQorCQlydDEzMTgtPnBkYXRhID0gKnBkYXRhOw0KKwllbHNlDQor CQlydDEzMThfcGFyc2VfZHQocnQxMzE4LCAmaTJjLT5kZXYpOw0KKw0KKwlydDEzMTgtPnJlZ21h cCA9IGRldm1fcmVnbWFwX2luaXRfaTJjKGkyYywgJnJ0MTMxOF9yZWdtYXApOw0KKwlpZiAoSVNf RVJSKHJ0MTMxOC0+cmVnbWFwKSkgew0KKwkJcmV0ID0gUFRSX0VSUihydDEzMTgtPnJlZ21hcCk7 DQorCQlkZXZfZXJyKCZpMmMtPmRldiwgIkZhaWxlZCB0byBhbGxvY2F0ZSByZWdpc3RlciBtYXA6 ICVkXG4iLA0KKwkJCXJldCk7DQorCQlyZXR1cm4gcmV0Ow0KKwl9DQorDQorCXJlZ21hcF9yZWFk KHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfREVWX0lEMSwgJnZhbCk7DQorCXJlZ21hcF9yZWFkKHJ0 MTMxOC0+cmVnbWFwLCBSVDEzMThfREVWX0lEMiwgJnZhbDIpOw0KKwlkZXZfaWQgPSAodmFsIDw8 IDgpIHwgdmFsMjsNCisJaWYgKGRldl9pZCAhPSAweDY4MjEpIHsNCisJCWRldl9lcnIoJmkyYy0+ ZGV2LA0KKwkJCSJEZXZpY2Ugd2l0aCBJRCByZWdpc3RlciAlI3ggaXMgbm90IHJ0MTMxOFxuIiwN CisJCQlkZXZfaWQpOw0KKwkJcmV0dXJuIC1FTk9ERVY7DQorCX0NCisNCisJcmV0ID0gcmVnbWFw X3JlZ2lzdGVyX3BhdGNoKHJ0MTMxOC0+cmVnbWFwLCBpbml0X2xpc3QsDQorCQkJCSAgICBBUlJB WV9TSVpFKGluaXRfbGlzdCkpOw0KKwlpZiAocmV0ICE9IDApDQorCQlkZXZfd2FybigmaTJjLT5k ZXYsICJGYWlsZWQgdG8gYXBwbHkgcmVnbWFwIHBhdGNoOiAlZFxuIiwgcmV0KTsNCisNCisJSU5J VF9XT1JLKCZydDEzMTgtPmNhbGlfd29yaywgcnQxMzE4X2NhbGlicmF0aW9uX3dvcmspOw0KKw0K KwlyZXR1cm4gZGV2bV9zbmRfc29jX3JlZ2lzdGVyX2NvbXBvbmVudCgmaTJjLT5kZXYsDQorCQkm c29jX2NvbXBvbmVudF9kZXZfcnQxMzE4LCBydDEzMThfZGFpLCBBUlJBWV9TSVpFKHJ0MTMxOF9k YWkpKTsNCit9DQorDQorc3RydWN0IGkyY19kcml2ZXIgcnQxMzE4X2kyY19kcml2ZXIgPSB7DQor CS5kcml2ZXIgPSB7DQorCQkubmFtZSA9ICJydDEzMTgiLA0KKwkJLm9mX21hdGNoX3RhYmxlID0g b2ZfbWF0Y2hfcHRyKHJ0MTMxOF9vZl9tYXRjaCksDQorCQkuYWNwaV9tYXRjaF90YWJsZSA9IEFD UElfUFRSKHJ0MTMxOF9hY3BpX21hdGNoKSwNCisJfSwNCisJLnByb2JlX25ldyA9IHJ0MTMxOF9p MmNfcHJvYmUsDQorCS5pZF90YWJsZSA9IHJ0MTMxOF9pMmNfaWQsDQorfTsNCittb2R1bGVfaTJj X2RyaXZlcihydDEzMThfaTJjX2RyaXZlcik7DQorDQorTU9EVUxFX0RFU0NSSVBUSU9OKCJBU29D IFJUMTMxOCBkcml2ZXIiKTsNCitNT0RVTEVfQVVUSE9SKCJKYWNrIFl1IDxqYWNrLnl1QHJlYWx0 ZWsuY29tPiIpOw0KK01PRFVMRV9MSUNFTlNFKCJHUEwiKTsNCmRpZmYgLS1naXQgYS9zb3VuZC9z b2MvY29kZWNzL3J0MTMxOC5oIGIvc291bmQvc29jL2NvZGVjcy9ydDEzMTguaA0KbmV3IGZpbGUg bW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uY2VjNDBiNDg0MjE2DQotLS0gL2Rldi9u dWxsDQorKysgYi9zb3VuZC9zb2MvY29kZWNzL3J0MTMxOC5oDQpAQCAtMCwwICsxLDM0MiBAQA0K Ky8qIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkgKi8NCisvKg0KKyAqIHJ0 MTMxOC5oIC0tIFBsYXRmb3JtIGRhdGEgZm9yIFJUMTMxOA0KKyAqDQorICogQ29weXJpZ2h0IDIw MjQgUmVhbHRlayBTZW1pY29uZHVjdG9yIENvcnAuDQorICovDQorI2luY2x1ZGUgPHNvdW5kL3J0 MTMxOC5oPg0KKw0KKyNpZm5kZWYgX19SVDEzMThfSF9fDQorI2RlZmluZSBfX1JUMTMxOF9IX18N CisNCitzdHJ1Y3QgcnQxMzE4X3ByaXYgew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNv bXBvbmVudDsNCisJc3RydWN0IHJ0MTMxOF9wbGF0Zm9ybV9kYXRhIHBkYXRhOw0KKwlzdHJ1Y3Qg d29ya19zdHJ1Y3QgY2FsaV93b3JrOw0KKwlzdHJ1Y3QgcmVnbWFwICpyZWdtYXA7DQorDQorCXVu c2lnbmVkIGludCByMF9sX2ludGVnZXI7DQorCXVuc2lnbmVkIGludCByMF9sX2ZhY3RvcjsNCisJ dW5zaWduZWQgaW50IHIwX3JfaW50ZWdlcjsNCisJdW5zaWduZWQgaW50IHIwX3JfZmFjdG9yOw0K KwlpbnQgcnQxMzE4X2luaXQ7DQorCWludCBydDEzMThfZHZvbDsNCisJaW50IHN5c2Nsa19zcmM7 DQorCWludCBzeXNjbGs7DQorCWludCBscmNrOw0KKwlpbnQgYmNsazsNCisJaW50IG1hc3RlcjsN CisJaW50IHBsbF9zcmM7DQorCWludCBwbGxfaW47DQorCWludCBwbGxfb3V0Ow0KK307DQorDQor I2RlZmluZSBSVDEzMThfUExMX0lOUF9NQVgJNDAwMDAwMDANCisjZGVmaW5lIFJUMTMxOF9QTExf SU5QX01JTgkyNTYwMDANCisjZGVmaW5lIFJUMTMxOF9QTExfTl9NQVgJMHgxZmYNCisjZGVmaW5l IFJUMTMxOF9QTExfS19NQVgJMHgxZg0KKyNkZWZpbmUgUlQxMzE4X1BMTF9NX01BWAkweDFmDQor DQorI2RlZmluZSBSVDEzMThfTFJDTEtfMTkyMDAwIDE5MjAwMA0KKyNkZWZpbmUgUlQxMzE4X0xS Q0xLXzk2MDAwIDk2MDAwDQorI2RlZmluZSBSVDEzMThfTFJDTEtfNDgwMDAgNDgwMDANCisjZGVm aW5lIFJUMTMxOF9MUkNMS180NDEwMCA0NDEwMA0KKyNkZWZpbmUgUlQxMzE4X0xSQ0xLXzE2MDAw IDE2MDAwDQorI2RlZmluZSBSVDEzMThfRFZPTF9TVEVQIDM4Mw0KKw0KKyNkZWZpbmUgUlQxMzE4 X0NMSzEJCQkJMHhjMDAxDQorI2RlZmluZSBSVDEzMThfQ0xLMgkJCQkweGMwMDMNCisjZGVmaW5l IFJUMTMxOF9DTEszCQkJCTB4YzAwNA0KKyNkZWZpbmUgUlQxMzE4X0NMSzQJCQkJMHhjMDA1DQor I2RlZmluZSBSVDEzMThfQ0xLNQkJCQkweGMwMDYNCisjZGVmaW5lIFJUMTMxOF9DTEs2CQkJCTB4 YzAwNw0KKyNkZWZpbmUgUlQxMzE4X0NMSzcJCQkJMHhjMDA4DQorI2RlZmluZSBSVDEzMThfUFdS X1NUQTEJCQkJMHhjMTIxDQorI2RlZmluZSBSVDEzMThfU1BLX1ZPTF9USAkJCTB4YzEzMA0KKyNk ZWZpbmUgUlQxMzE4X1RDT04JCQkJMHhjMjAzDQorI2RlZmluZSBSVDEzMThfU1JDX1RDT04JCQkJ MHhjMjA0DQorI2RlZmluZSBSVDEzMThfVENPTl9SRUxBVEUJCQkweGMyMDYNCisjZGVmaW5lIFJU MTMxOF9EQV9WT0xfTF84CQkJMHhjMjBiDQorI2RlZmluZSBSVDEzMThfREFfVk9MX0xfMV83CQkJ MHhjMjBjDQorI2RlZmluZSBSVDEzMThfREFfVk9MX1JfOAkJCTB4YzIwZA0KKyNkZWZpbmUgUlQx MzE4X0RBX1ZPTF9SXzFfNwkJCTB4YzIwZQ0KKyNkZWZpbmUgUlQxMzE4X0ZFRURCQUNLX1BBVEgJ CQkweGMzMjENCisjZGVmaW5lIFJUMTMxOF9TVFBfVEVNUF9MCQkJMHhkYjAwDQorI2RlZmluZSBS VDEzMThfU1RQX1NFTF9MCQkJMHhkYjA4DQorI2RlZmluZSBSVDEzMThfU1RQX1IwX0VOX0wJCQkw eGRiMTINCisjZGVmaW5lIFJUMTMxOF9SMF9DTVBfTF9GTEFHCQkJMHhkYjM1DQorI2RlZmluZSBS VDEzMThfUFJFX1IwX0xfMjQJCQkweGRiYjUNCisjZGVmaW5lIFJUMTMxOF9QUkVfUjBfTF8yM18x NgkJCTB4ZGJiNg0KKyNkZWZpbmUgUlQxMzE4X1BSRV9SMF9MXzE1XzgJCQkweGRiYjcNCisjZGVm aW5lIFJUMTMxOF9QUkVfUjBfTF83XzAJCQkweGRiYjgNCisjZGVmaW5lIFJUMTMxOF9SMF9MXzI0 CQkJCTB4ZGJjNQ0KKyNkZWZpbmUgUlQxMzE4X1IwX0xfMjNfMTYJCQkweGRiYzYNCisjZGVmaW5l IFJUMTMxOF9SMF9MXzE1XzgJCQkweGRiYzcNCisjZGVmaW5lIFJUMTMxOF9SMF9MXzdfMAkJCQkw eGRiYzgNCisjZGVmaW5lIFJUMTMxOF9TVFBfU0VMX1IJCQkweGRkMDgNCisjZGVmaW5lIFJUMTMx OF9TVFBfUjBfRU5fUgkJCTB4ZGQxMg0KKyNkZWZpbmUgUlQxMzE4X1IwX0NNUF9SX0ZMQUcJCQkw eGRkMzUNCisjZGVmaW5lIFJUMTMxOF9QUkVfUjBfUl8yNAkJCTB4ZGRiNQ0KKyNkZWZpbmUgUlQx MzE4X1BSRV9SMF9SXzIzXzE2CQkJMHhkZGI2DQorI2RlZmluZSBSVDEzMThfUFJFX1IwX1JfMTVf OAkJCTB4ZGRiNw0KKyNkZWZpbmUgUlQxMzE4X1BSRV9SMF9SXzdfMAkJCTB4ZGRiOA0KKyNkZWZp bmUgUlQxMzE4X1IwX1JfMjQJCQkJMHhkZGM1DQorI2RlZmluZSBSVDEzMThfUjBfUl8yM18xNgkJ CTB4ZGRjNg0KKyNkZWZpbmUgUlQxMzE4X1IwX1JfMTVfOAkJCTB4ZGRjNw0KKyNkZWZpbmUgUlQx MzE4X1IwX1JfN18wCQkJCTB4ZGRjOA0KKyNkZWZpbmUgUlQxMzE4X0RFVl9JRDEJCQkJMHhmMDEy DQorI2RlZmluZSBSVDEzMThfREVWX0lEMgkJCQkweGYwMTMNCisjZGVmaW5lIFJUMTMxOF9QTEwx X0sJCQkJMHhmMjBkDQorI2RlZmluZSBSVDEzMThfUExMMV9NCQkJCTB4ZjIwZg0KKyNkZWZpbmUg UlQxMzE4X1BMTDFfTl84CQkJCTB4ZjIxMQ0KKyNkZWZpbmUgUlQxMzE4X1BMTDFfTl83XzAJCQkw eGYyMTINCisjZGVmaW5lIFJUMTMxOF9TSU5FX0dFTjAJCQkweGY4MDANCisjZGVmaW5lIFJUMTMx OF9URE1fQ1RSTDEJCQkweGY5MDANCisjZGVmaW5lIFJUMTMxOF9URE1fQ1RSTDIJCQkweGY5MDEN CisjZGVmaW5lIFJUMTMxOF9URE1fQ1RSTDMJCQkweGY5MDINCisjZGVmaW5lIFJUMTMxOF9URE1f Q1RSTDkJCQkweGY5MDgNCisNCisNCisvKiBDbG9jay0xICAoMHhDMDAxKSAqLw0KKyNkZWZpbmUg UlQxMzE4X1BMTElOX01BU0sJCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSVDEzMThfUExMSU5fQkNM SzAJCQkoMHgwIDw8IDQpDQorI2RlZmluZSBSVDEzMThfUExMSU5fQkNMSzEJCQkoMHgxIDw8IDQp DQorI2RlZmluZSBSVDEzMThfUExMSU5fUkMJCQkJKDB4MiA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4 X1BMTElOX01DTEsJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSVDEzMThfUExMSU5fU0RXMQkJCSgw eDQgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9QTExJTl9TRFcyCQkJKDB4NSA8PCA0KQ0KKyNkZWZp bmUgUlQxMzE4X1BMTElOX1NEVzMJCQkoMHg2IDw8IDQpDQorI2RlZmluZSBSVDEzMThfUExMSU5f U0RXNAkJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9TWVNDTEtfU0VMX01BU0sJCQkoMHg3 IDw8IDApDQorI2RlZmluZSBSVDEzMThfU1lTQ0xLX0JDTEsJCQkoMHgwIDw8IDApDQorI2RlZmlu ZSBSVDEzMThfU1lTQ0xLX1NEVwkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9TWVNDTEtf UExMMkYJCQkoMHgyIDw8IDApDQorI2RlZmluZSBSVDEzMThfU1lTQ0xLX1BMTDJCCQkJKDB4MyA8 PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X1NZU0NMS19NQ0xLCQkJKDB4NCA8PCAwKQ0KKyNkZWZpbmUg UlQxMzE4X1NZU0NMS19SQzEJCQkoMHg1IDw8IDApDQorI2RlZmluZSBSVDEzMThfU1lTQ0xLX1JD MgkJCSgweDYgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9TWVNDTEtfUkMzCQkJKDB4NyA8PCAwKQ0K Ky8qIENsb2NrLTIgICgweEMwMDMpICovDQorI2RlZmluZSBSVDEzMThfRElWX0FQX01BU0sJCQko MHgzIDw8IDQpDQorI2RlZmluZSBSVDEzMThfRElWX0FQX1NGVAkJCTQNCisjZGVmaW5lIFJUMTMx OF9ESVZfQVBfRElWMQkJCSgweDAgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfQVBfRElWMgkJ CSgweDEgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfQVBfRElWNAkJCSgweDIgPDwgNCkNCisj ZGVmaW5lIFJUMTMxOF9ESVZfQVBfRElWOAkJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9E SVZfREFNT0RfTUFTSwkJCSgweDMgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfREFNT0RfU0ZU CQkJMA0KKyNkZWZpbmUgUlQxMzE4X0RJVl9EQU1PRF9ESVYxCQkJKDB4MCA8PCAwKQ0KKyNkZWZp bmUgUlQxMzE4X0RJVl9EQU1PRF9ESVYyCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0RJ Vl9EQU1PRF9ESVY0CQkJKDB4MiA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9EQU1PRF9ESVY4 CQkJKDB4MyA8PCAwKQ0KKy8qIENsb2NrLTMgICgweEMwMDQpICovDQorI2RlZmluZSBSVDEzMThf QURfU1RPMV9NQVNLCQkJKDB4NyA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0FEX1NUTzFfU0ZUCQkJ NA0KKyNkZWZpbmUgUlQxMzE4X0FEX1NUTzFfRElWMQkJCSgweDAgPDwgNCkNCisjZGVmaW5lIFJU MTMxOF9BRF9TVE8xX0RJVjIJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSVDEzMThfQURfU1RPMV9E SVY0CQkJKDB4MiA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0FEX1NUTzFfRElWOAkJCSgweDMgPDwg NCkNCisjZGVmaW5lIFJUMTMxOF9BRF9TVE8xX0RJVjE2CQkJKDB4NCA8PCA0KQ0KKyNkZWZpbmUg UlQxMzE4X0FEX1NUTzJfTUFTSwkJCSgweDcgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9BRF9TVE8y X1NGVAkJCTANCisjZGVmaW5lIFJUMTMxOF9BRF9TVE8yX0RJVjEJCQkoMHgwIDw8IDApDQorI2Rl ZmluZSBSVDEzMThfQURfU1RPMl9ESVYyCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0FE X1NUTzJfRElWNAkJCSgweDIgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9BRF9TVE8yX0RJVjgJCQko MHgzIDw8IDApDQorI2RlZmluZSBSVDEzMThfQURfU1RPMl9ESVYxNgkJCSgweDQgPDwgMCkNCisj ZGVmaW5lIFJUMTMxOF9BRF9TVE8yX1NGVAkJCTANCisvKiBDbG9jay00ICAoMHhDMDA1KSAqLw0K KyNkZWZpbmUgUlQxMzE4X0FEX0FOQV9TVE8xX01BU0sJCQkoMHg3IDw8IDQpDQorI2RlZmluZSBS VDEzMThfQURfQU5BX1NUTzFfU0ZUCQkJNA0KKyNkZWZpbmUgUlQxMzE4X0FEX0FOQV9TVE8xX0RJ VjEJCQkoMHgwIDw8IDQpDQorI2RlZmluZSBSVDEzMThfQURfQU5BX1NUTzFfRElWMgkJCSgweDEg PDwgNCkNCisjZGVmaW5lIFJUMTMxOF9BRF9BTkFfU1RPMV9ESVY0CQkJKDB4MiA8PCA0KQ0KKyNk ZWZpbmUgUlQxMzE4X0FEX0FOQV9TVE8xX0RJVjgJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSVDEz MThfQURfQU5BX1NUTzFfRElWMTYJCSgweDQgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9BRF9BTkFf U1RPMl9NQVNLCQkJKDB4NyA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0FEX0FOQV9TVE8yX0RJVjEJ CQkoMHgwIDw8IDApDQorI2RlZmluZSBSVDEzMThfQURfQU5BX1NUTzJfRElWMgkJCSgweDEgPDwg MCkNCisjZGVmaW5lIFJUMTMxOF9BRF9BTkFfU1RPMl9ESVY0CQkJKDB4MiA8PCAwKQ0KKyNkZWZp bmUgUlQxMzE4X0FEX0FOQV9TVE8yX0RJVjgJCQkoMHgzIDw8IDApDQorI2RlZmluZSBSVDEzMThf QURfQU5BX1NUTzJfRElWMTYJCSgweDQgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9BRF9BTkFfU1RP Ml9TRlQJCQkwDQorLyogQ2xvY2stNSAgKDB4QzAwNikgKi8NCisjZGVmaW5lIFJUMTMxOF9ESVZf RklGT19JTl9NQVNLCQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9GSUZPX0lOX1NG VAkJCTQNCisjZGVmaW5lIFJUMTMxOF9ESVZfRklGT19JTl9ESVYxCQkJKDB4MCA8PCA0KQ0KKyNk ZWZpbmUgUlQxMzE4X0RJVl9GSUZPX0lOX0RJVjIJCQkoMHgxIDw8IDQpDQorI2RlZmluZSBSVDEz MThfRElWX0ZJRk9fSU5fRElWNAkJCSgweDIgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfRklG T19JTl9ESVY4CQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9GSUZPX09VVF9NQVNL CQkoMHgzIDw8IDApDQorI2RlZmluZSBSVDEzMThfRElWX0ZJRk9fT1VUX0RJVjEJCSgweDAgPDwg MCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfRklGT19PVVRfRElWMgkJKDB4MSA8PCAwKQ0KKyNkZWZp bmUgUlQxMzE4X0RJVl9GSUZPX09VVF9ESVY0CQkoMHgyIDw8IDApDQorI2RlZmluZSBSVDEzMThf RElWX0ZJRk9fT1VUX0RJVjgJCSgweDMgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfRklGT19P VVRfU0ZUCQkJMA0KKy8qIENsb2NrLTYgICgweEMwMDcpICovDQorI2RlZmluZSBSVDEzMThfRElW X05MTVNfTUFTSwkJCSgweDMgPDwgNikNCisjZGVmaW5lIFJUMTMxOF9ESVZfTkxNU19TRlQJCQkJ Ng0KKyNkZWZpbmUgUlQxMzE4X0RJVl9OTE1TX0RJVjEJCQkoMHgwIDw8IDYpDQorI2RlZmluZSBS VDEzMThfRElWX05MTVNfRElWMgkJCSgweDEgPDwgNikNCisjZGVmaW5lIFJUMTMxOF9ESVZfTkxN U19ESVY0CQkJKDB4MiA8PCA2KQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9OTE1TX0RJVjgJCQkoMHgz IDw8IDYpDQorI2RlZmluZSBSVDEzMThfRElWX0FEX01PTk9fTUFTSwkJCSgweDcgPDwgMykNCisj ZGVmaW5lIFJUMTMxOF9ESVZfQURfTU9OT19TRlQJCQkzDQorI2RlZmluZSBSVDEzMThfRElWX0FE X01PTk9fRElWMQkJCSgweDAgPDwgMykNCisjZGVmaW5lIFJUMTMxOF9ESVZfQURfTU9OT19ESVYy CQkJKDB4MSA8PCAzKQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9BRF9NT05PX0RJVjQJCQkoMHgyIDw8 IDMpDQorI2RlZmluZSBSVDEzMThfRElWX0FEX01PTk9fRElWOAkJCSgweDMgPDwgMykNCisjZGVm aW5lIFJUMTMxOF9ESVZfQURfTU9OT19ESVYxNgkJKDB4NCA8PCAzKQ0KKyNkZWZpbmUgUlQxMzE4 X0RJVl9QT1NUX0dfTUFTSwkJCSgweDcgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfUE9TVF9H X1NGVAkJCTANCisjZGVmaW5lIFJUMTMxOF9ESVZfUE9TVF9HX0RJVjEJCQkoMHgwIDw8IDApDQor I2RlZmluZSBSVDEzMThfRElWX1BPU1RfR19ESVYyCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUlQx MzE4X0RJVl9QT1NUX0dfRElWNAkJCSgweDIgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfUE9T VF9HX0RJVjgJCQkoMHgzIDw8IDApDQorI2RlZmluZSBSVDEzMThfRElWX1BPU1RfR19ESVYxNgkJ CSgweDQgPDwgMCkNCisvKiBQb3dlciBTdGF0dXMgMSAgKDB4QzEyMSkgKi8NCisjZGVmaW5lIFJU MTMxOF9QREJfQ1RSTF9NQVNLCQkJKDB4MSkNCisjZGVmaW5lIFJUMTMxOF9QREJfQ1RSTF9MT1cJ CQkoMHgwKQ0KKyNkZWZpbmUgUlQxMzE4X1BEQl9DVFJMX0hJR0gJCQkoMHgxKQ0KKyNkZWZpbmUg UlQxMzE4X1BEQl9DVFJMX1NGVAkJCTANCisvKiBTUkMgVGNvbigweGMyMDQpICovDQorI2RlZmlu ZSBSVDEzMThfU1JDSU5fSU5fU0VMX01BU0sJCSgweDMgPDwgNikNCisjZGVmaW5lIFJUMTMxOF9T UkNJTl9JTl80OEsJCQkoMHgwIDw8IDYpDQorI2RlZmluZSBSVDEzMThfU1JDSU5fSU5fNDRQMQkJ CSgweDEgPDwgNikNCisjZGVmaW5lIFJUMTMxOF9TUkNJTl9JTl8zMksJCQkoMHgyIDw8IDYpDQor I2RlZmluZSBSVDEzMThfU1JDSU5fSU5fMTZLCQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUlQxMzE4 X1NSQ0lOX0YxMjI4OF9NQVNLCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSVDEzMThfU1JDSU5fVENP TjEJCQkoMHgwIDw8IDQpDQorI2RlZmluZSBSVDEzMThfU1JDSU5fVENPTjIJCQkoMHgxIDw8IDQp DQorI2RlZmluZSBSVDEzMThfU1JDSU5fVENPTjQJCQkoMHgyIDw8IDQpDQorI2RlZmluZSBSVDEz MThfU1JDSU5fVENPTjgJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSVDEzMThfU1JDSU5fREFDTEtf TUFTSwkJCSgweDMgPDwgMikNCisjZGVmaW5lIFJUMTMxOF9EQUNMS19UQ09OMQkJCSgweDAgPDwg MikNCisjZGVmaW5lIFJUMTMxOF9EQUNMS19UQ09OMgkJCSgweDEgPDwgMikNCisjZGVmaW5lIFJU MTMxOF9EQUNMS19UQ09ONAkJCSgweDIgPDwgMikNCisjZGVmaW5lIFJUMTMxOF9EQUNMS19UQ09O OAkJCSgweDMgPDwgMikNCisvKiBSMCBDb21wYXJlIEZsYWcgICgweERCMzUpICovDQorI2RlZmlu ZSBSVDEzMThfUjBfUkFOR0VfTUFTSwkJCSgweDEpDQorI2RlZmluZSBSVDEzMThfUjBfT1VUT0ZS QU5HRQkJCSgweDApDQorI2RlZmluZSBSVDEzMThfUjBfSU5SQU5HRQkJCSgweDEpDQorLyogUExM IGludGVybmFsIHNldHRpbmcgKDB4RjIwRCksIEsgdmFsdWUgKi8NCisjZGVmaW5lIFJUMTMxOF9L X1BMTDFfTUFTSwkJCSgweDFmIDw8IDApDQorLyogUExMIGludGVybmFsIHNldHRpbmcgKDB4RjIw RiksIE0gdmFsdWUgKi8NCisjZGVmaW5lIFJUMTMxOF9NX1BMTDFfTUFTSwkJCSgweDFmIDw8IDAp DQorLyogUExMIGludGVybmFsIHNldHRpbmcgKDB4RjIxMSksIE5fOCB2YWx1ZSAqLw0KKyNkZWZp bmUgUlQxMzE4X05fOF9QTEwxX01BU0sJCQkoMHgxIDw8IDApDQorLyogUExMIGludGVybmFsIHNl dHRpbmcgKDB4RjIxMiksIE5fN18wIHZhbHVlICovDQorI2RlZmluZSBSVDEzMThfTl83XzBfUExM MV9NQVNLCQkJKDB4ZmYgPDwgMCkNCisvKiBURE0gQ1RSTCAxICAoMHhmOTAwKSAqLw0KKyNkZWZp bmUgUlQxMzE4X1RETV9CQ0xLX01BU0sJCQkoMHgxIDw8IDcpDQorI2RlZmluZSBSVDEzMThfVERN X0JDTEtfTk9STQkJCSgweDAgPDwgNykNCisjZGVmaW5lIFJUMTMxOF9URE1fQkNMS19JTlYJCQko MHgxIDw8IDcpDQorI2RlZmluZSBSVDEzMThfSTJTX0ZNVF9NQVNLCQkJKDB4NyA8PCAwKQ0KKyNk ZWZpbmUgUlQxMzE4X0ZNVF9JMlMJCQkJKDB4MCA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0ZNVF9M RUZUX0oJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSVDEzMThfRk1UX1BDTV9BX1IJCQkoMHgyIDw8 IDApDQorI2RlZmluZSBSVDEzMThfRk1UX1BDTV9CX1IJCQkoMHgzIDw8IDApDQorI2RlZmluZSBS VDEzMThfRk1UX1BDTV9BX0YJCQkoMHg2IDw8IDApDQorI2RlZmluZSBSVDEzMThfRk1UX1BDTV9C X0YJCQkoMHg3IDw8IDApDQorI2RlZmluZSBSVDEzMThfSTJTX0ZNVF9TRlQJCQkwDQorLyogVERN IENUUkwgMiAgKDB4ZjkwMSkgKi8NCisjZGVmaW5lIFJUMTMxOF9JMlNfQ0hfVFhfTUFTSwkJCSgw eDMgPDwgNikNCisjZGVmaW5lIFJUMTMxOF9JMlNfQ0hfVFhfMkNICQkJKDB4MCA8PCA2KQ0KKyNk ZWZpbmUgUlQxMzE4X0kyU19DSF9UWF80Q0gJCQkoMHgxIDw8IDYpDQorI2RlZmluZSBSVDEzMThf STJTX0NIX1RYXzZDSAkJCSgweDIgPDwgNikNCisjZGVmaW5lIFJUMTMxOF9JMlNfQ0hfVFhfOENI CQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19DSF9SWF9NQVNLCQkJKDB4MyA8PCA0 KQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19DSF9SWF8yQ0gJCQkoMHgwIDw8IDQpDQorI2RlZmluZSBS VDEzMThfSTJTX0NIX1JYXzRDSAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9JMlNfQ0hf UlhfNkNICQkJKDB4MiA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19DSF9SWF84Q0gJCQkoMHgz IDw8IDQpDQorI2RlZmluZSBSVDEzMThfSTJTX0RMX01BU0sJCQkweDcNCisjZGVmaW5lIFJUMTMx OF9JMlNfRExfU0ZUCQkJMA0KKyNkZWZpbmUgUlQxMzE4X0kyU19ETF8xNgkJCTB4MA0KKyNkZWZp bmUgUlQxMzE4X0kyU19ETF8yMAkJCTB4MQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19ETF8yNAkJCTB4 Mg0KKyNkZWZpbmUgUlQxMzE4X0kyU19ETF8zMgkJCTB4Mw0KKyNkZWZpbmUgUlQxMzE4X0kyU19E TF84CQkJCTB4NA0KKy8qIFRETSBDVFJMIDMgICgweGY5MDIpICovDQorI2RlZmluZSBSVDEzMThf STJTX1RYX0NITF9NQVNLCQkJKDB4NyA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19UWF9DSExf U0ZUCQkJNA0KKyNkZWZpbmUgUlQxMzE4X0kyU19UWF9DSExfMTYJCQkoMHgwIDw8IDQpDQorI2Rl ZmluZSBSVDEzMThfSTJTX1RYX0NITF8yMAkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9J MlNfVFhfQ0hMXzI0CQkJKDB4MiA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19UWF9DSExfMzIJ CQkoMHgzIDw8IDQpDQorI2RlZmluZSBSVDEzMThfSTJTX1RYX0NITF84CQkJKDB4NCA8PCA0KQ0K KyNkZWZpbmUgUlQxMzE4X0kyU19SWF9DSExfTUFTSwkJCSgweDcgPDwgMCkNCisjZGVmaW5lIFJU MTMxOF9JMlNfUlhfQ0hMX1NGVAkJCTANCisjZGVmaW5lIFJUMTMxOF9JMlNfUlhfQ0hMXzE2CQkJ KDB4MCA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19SWF9DSExfMjAJCQkoMHgxIDw8IDApDQor I2RlZmluZSBSVDEzMThfSTJTX1JYX0NITF8yNAkJCSgweDIgPDwgMCkNCisjZGVmaW5lIFJUMTMx OF9JMlNfUlhfQ0hMXzMyCQkJKDB4MyA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19SWF9DSExf OAkJCSgweDQgPDwgMCkNCisvKiBURE0gQ1RSTCA5ICAoMHhmOTA4KSAqLw0KKyNkZWZpbmUgUlQx MzE4X1RETV9JMlNfVFhfTF9EQUMxXzFfTUFTSwkJKDB4NyA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4 X1RETV9JMlNfVFhfUl9EQUMxXzFfTUFTSwkJMHg3DQorI2RlZmluZSBSVDEzMThfVERNX0kyU19U WF9MX0RBQzFfMV9TRlQJCTQNCisjZGVmaW5lIFJUMTMxOF9URE1fSTJTX1RYX1JfREFDMV8xX1NG VAkJMA0KKw0KKyNkZWZpbmUgUlQxMzE4X1JFR19ESVNQX0xFTiAyMw0KKw0KKy8qIFN5c3RlbSBD bG9jayBTb3VyY2UgKi8NCitlbnVtIHsNCisJUlQxMzE4X1NDTEtfU19CQ0xLLA0KKwlSVDEzMThf U0NMS19TX1NEVywNCisJUlQxMzE4X1NDTEtfU19QTEwyRiwNCisJUlQxMzE4X1NDTEtfU19QTEwy QiwNCisJUlQxMzE4X1NDTEtfU19NQ0xLLA0KKwlSVDEzMThfU0NMS19TX1JDMCwNCisJUlQxMzE4 X1NDTEtfU19SQzEsDQorCVJUMTMxOF9TQ0xLX1NfUkMyLA0KK307DQorDQorLyogUExMIFNvdXJj ZSAqLw0KK2VudW0gew0KKwlSVDEzMThfUExMX1NfQkNMSzAsDQorCVJUMTMxOF9QTExfU19CQ0xL MSwNCisJUlQxMzE4X1BMTF9TX1JDLA0KKwlSVDEzMThfUExMX1NfTUNMSywNCisJUlQxMzE4X1BM TF9TX1NEV19JTl9QTEwsDQorCVJUMTMxOF9QTExfU19TRFdfMCwNCisJUlQxMzE4X1BMTF9TX1NE V18xLA0KKwlSVDEzMThfUExMX1NfU0RXXzIsDQorfTsNCisNCisvKiBURE0gY2hhbm5lbCAqLw0K K2VudW0gew0KKwlSVDEzMThfMkNILA0KKwlSVDEzMThfNENILA0KKwlSVDEzMThfNkNILA0KKwlS VDEzMThfOENILA0KK307DQorDQorLyogUjAgY2FsaWJyYXRpb24gcmVzdWx0ICovDQorZW51bSB7 DQorCVJUMTMxOF9SMF9PVVRfT0ZfUkFOR0UsDQorCVJUMTMxOF9SMF9JTl9SQU5HRSwNCisJUlQx MzE4X1IwX0NBTElCX05PVF9ET05FLA0KK307DQorDQorLyogUExMIHByZS1kZWZpbmVkIE0vTi9L ICovDQorDQorc3RydWN0IHBsbF9jYWxjX21hcCB7DQorCXVuc2lnbmVkIGludCBwbGxfaW47DQor CXVuc2lnbmVkIGludCBwbGxfb3V0Ow0KKwlpbnQgazsNCisJaW50IG47DQorCWludCBtOw0KKwli b29sIG1fYnA7DQorCWJvb2wga19icDsNCit9Ow0KKw0KK3N0cnVjdCBydDEzMThfcGxsX2NvZGUg ew0KKwlib29sIG1fYnA7IC8qIEluZGljYXRlcyBieXBhc3MgbSBjb2RlIG9yIG5vdC4gKi8NCisJ Ym9vbCBrX2JwOyAvKiBJbmRpY2F0ZXMgYnlwYXNzIGsgY29kZSBvciBub3QuICovDQorCWludCBt X2NvZGU7DQorCWludCBuX2NvZGU7DQorCWludCBrX2NvZGU7DQorfTsNCisNCisjZW5kaWYgLyog X19SVDEzMThfSF9fICovDQotLSANCjIuMzQuMQ0KDQo= --_000_11f7e2c1a77f418a9965b96b81f6e660realtekcom_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" 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 Ll/P4MnE3vBfNNgtLYNzEEIkMi4zNC4C1hlCFX19mfCawAAAAB8AQgABAAAAEAAAAEoAYQBjAGsA IABZAHUAAAAfAGUAAQAAACgAAABqAGEAYwBrAC4AeQB1AEAAcgBlAGEAbAB0AGUAawAuAGMAbwBt AAAAHwBkAAEAAAAKAAAAUwBNAFQAUAAAAAAAAgFBAAEAAABaAAAAAAAAAIErH6S+oxAZnW4A3QEP VAIAAACASgBhAGMAawAgAFkAdQAAAFMATQBUAFAAAABqAGEAYwBrAC4AeQB1AEAAcgBlAGEAbAB0 AGUAawAuAGMAbwBtAAAAAAAfAAJdAQAAACgAAABqAGEAYwBrAC4AeQB1AEAAcgBlAGEAbAB0AGUA awAuAGMAbwBtAAAAHwDlXwEAAAAwAAAAcwBpAHAAOgBqAGEAYwBrAC4AeQB1AEAAcgBlAGEAbAB0 AGUAawAuAGMAbwBtAAAAHwAaDAEAAAAQAAAASgBhAGMAawAgAFkAdQAAAB8AHwwBAAAAKAAAAGoA YQBjAGsALgB5AHUAQAByAGUAYQBsAHQAZQBrAC4AYwBvAG0AAAAfAB4MAQAAAAoAAABTAE0AVABQ AAAAAAACARkMAQAAAFoAAAAAAAAAgSsfpL6jEBmdbgDdAQ9UAgAAAIBKAGEAYwBrACAAWQB1AAAA UwBNAFQAUAAAAGoAYQBjAGsALgB5AHUAQAByAGUAYQBsAHQAZQBrAC4AYwBvAG0AAAAAAB8AAV0B AAAAKAAAAGoAYQBjAGsALgB5AHUAQAByAGUAYQBsAHQAZQBrAC4AYwBvAG0AAAALAEA6AQAAAB8A GgABAAAAEgAAAEkAUABNAC4ATgBvAHQAZQAAAAAAAwDxPwQEAAALAEA6AQAAAAMA/T+2AwAAAgEL MAEAAAAQAAAAtYsT7oQryUm0WNKXJxPNngMAFwABAAAAQAA5AIBiWAQyt9oBQAAIMGwfawQyt9oB CwApAAAAAAAfANk/AQAAAAACAABUAGgAaQBzACAAaQBzACAAdABoAGUAIABpAG4AaQB0AGkAYQBs ACAAaQAyAHMALQBiAGEAcwBlAGQAIABhAG0AcABsAGkAZgBpAGUAcgAgAGQAcgBpAHYAZQByACAA ZgBvAHIAIAByAHQAMQAzADEAOAAuAA0ACgANAAoAUwBpAGcAbgBlAGQALQBvAGYAZgAtAGIAeQA6 ACAASgBhAGMAawAgAFkAdQAgADwAagBhAGMAawAuAHkAdQBAAHIAZQBhAGwAdABlAGsALgBjAG8A bQA+AA0ACgAtAC0ALQANAAoAIABpAG4AYwBsAHUAZABlAC8AcwBvAHUAbgBkAC8AcgB0ADEAMwAx ADgALgBoACAAIAAgACAAfAAgACAAIAAxADYAIAArAA0ACgAgAHMAbwB1AG4AZAAvAHMAbwBjAC8A YwBvAGQAZQBjAHMALwBLAGMAbwBuAGYAaQBnACAAIAB8ACAAIAAgACAANQAgACsADQAKACAAcwBv AHUAbgBkAC8AcwBvAGMALwBjAG8AZABlAGMAcwAvAE0AYQBrAGUAZgBpAGwAZQAgAHwAIAAgACAA IAAyACAAKwANAAoAIABzAG8AdQBuAGQALwBzAG8AYwAvAGMAbwBkAGUAYwBzAC8AcgB0ADEAMwAx ADgALgBjACAAfAAgADEAMwAAAAsAAIAIIAYAAAAAAMAAAAAAAABGAAAAABSFAAABAAAAHwAAgIYD AgAAAAAAwAAAAAAAAEYBAAAAHgAAAGEAYwBjAGUAcAB0AGwAYQBuAGcAdQBhAGcAZQAAAAAAAQAA ABoAAAB6AGgALQBUAFcALAAgAGUAbgAtAFUAUwAAAAAAAwAAgAggBgAAAAAAwAAAAAAAAEYBAAAA MgAAAEUAeABjAGgAYQBuAGcAZQBBAHAAcABsAGkAYwBhAHQAaQBvAG4ARgBsAGEAZwBzAAAAAAAg AAAASAAAgAggBgAAAAAAwAAAAAAAAEYBAAAAIgAAAE4AZQB0AHcAbwByAGsATQBlAHMAcwBhAGcA ZQBJAGQAAAAAAOrKkQjNK7JOhmcI3IVJJwUfAACAE4/yQfSDFEGlhO7bWmsL/wEAAAAWAAAAQwBs AGkAZQBuAHQASQBuAGYAbwAAAAAAAQAAACoAAABDAGwAaQBlAG4AdAA9AE0AUwBFAHgAYwBoAGEA bgBnAGUAUgBQAEMAAAAAAB8A+j8BAAAAEAAAAEoAYQBjAGsAIABZAHUAAAAfADcAAQAAAHYAAABb AFAAQQBUAEMASAAgAHYAMgBdACAAQQBTAG8AQwA6ACAAcgB0ADEAMwAxADgAOgAgAEEAZABkACAA UgBUADEAMwAxADgAIABhAHUAZABpAG8AIABhAG0AcABsAGkAZgBpAGUAcgAgAGQAcgBpAHYAZQBy AAAAAAAfAD0AAQAAAAIAAAAAAAAAAwA2AAAAAAACAXEAAQAAABYAAAAB2rcyA89pfBdYAsNGAYNY Ui7YY7mGAAAfAHAAAQAAAHYAAABbAFAAQQBUAEMASAAgAHYAMgBdACAAQQBTAG8AQwA6ACAAcgB0 ADEAMwAxADgAOgAgAEEAZABkACAAUgBUADEAMwAxADgAIABhAHUAZABpAG8AIABhAG0AcABsAGkA ZgBpAGUAcgAgAGQAcgBpAHYAZQByAAAAAAAfADUQAQAAAF4AAAA8ADEAMQBmADcAZQAyAGMAMQBh ADcANwBmADQAMQA4AGEAOQA5ADYANQBiADkANgBiADgAMQBmADYAZQA2ADYAMABAAHIAZQBhAGwA dABlAGsALgBjAG8AbQA+AAAAAAADAN4/6f0AAAMAExIAAAAAAgEAgBOP8kH0gxRBpYTu21prC/8B AAAALgAAAEgAZQBhAGQAZQByAEIAbwBkAHkARgByAGEAZwBtAGUAbgB0AEwAaQBzAHQAAAAAAAEA AAAiAAAAAQAKAAAABAAAAAAAAAAUAAAAAAAAAAAAAAD/////AAAAAAAACwAAgBOP8kH0gxRBpYTu 21prC/8BAAAAHAAAAEgAYQBzAFEAdQBvAHQAZQBkAFQAZQB4AHQAAAAAAAAACwAAgBOP8kH0gxRB pYTu21prC/8BAAAAKAAAAEkAcwBRAHUAbwB0AGUAZABUAGUAeAB0AEMAaABhAG4AZwBlAGQAAAAA AAAAQAAHMFmWTgQyt9oBAgELAAEAAAAQAAAAtYsT7oQryUm0WNKXJxPNngMAJgAAAAAACwAGDAAA AAACARAwAQAAAEYAAAAAAAAA2+nESiSg50GTGyq7K7NtTAcATLd9DVWheUS+c4U5YtAApQAAAGlg 9wAAMq84BUqwTkaAx8c4IroPWgAAAde5LgAAAAACARMwAQAAABAAAABpfBdYAsNGAYNYUi7YY7mG AgEUMAEAAAAMAAAAQREAABqDE/NUAAAAHwD4PwEAAAAQAAAASgBhAGMAawAgAFkAdQAAAB8AIkAB AAAABgAAAEUAWAAAAAAAHwAjQAEAAAC2AAAALwBPAD0AUgBUAEUAWABDAEgALwBPAFUAPQBFAFgA QwBIAEEATgBHAEUAIABBAEQATQBJAE4ASQBTAFQAUgBBAFQASQBWAEUAIABHAFIATwBVAFAAIAAo AEYAWQBEAEkAQgBPAEgARgAyADMAUwBQAEQATABUACkALwBDAE4APQBSAEUAQwBJAFAASQBFAE4A VABTAC8AQwBOAD0AVQBTAEUAUgA1ADkAOAA2ADUAMQAwADkAAAAAAB8AJEABAAAABgAAAEUAWAAA AAAAHwAlQAEAAAC2AAAALwBPAD0AUgBUAEUAWABDAEgALwBPAFUAPQBFAFgAQwBIAEEATgBHAEUA IABBAEQATQBJAE4ASQBTAFQAUgBBAFQASQBWAEUAIABHAFIATwBVAFAAIAAoAEYAWQBEAEkAQgBP AEgARgAyADMAUwBQAEQATABUACkALwBDAE4APQBSAEUAQwBJAFAASQBFAE4AVABTAC8AQwBOAD0A VQBTAEUAUgA1ADkAOAA2ADUAMQAwADkAAAAAAB8AMEABAAAAEAAAAEoAYQBjAGsAIABZAHUAAAAf ADFAAQAAABAAAABKAGEAYwBrACAAWQB1AAAAHwA4QAEAAAAQAAAASgBhAGMAawAgAFkAdQAAAB8A OUABAAAAEAAAAEoAYQBjAGsAIABZAHUAAAADAFlAAAAAAAMAWkAAAAAAAwAJWQEAAAAfAApdAQAA ACgAAABqAGEAYwBrAC4AeQB1AEAAcgBlAGEAbAB0AGUAawAuAGMAbwBtAAAAHwALXQEAAAAoAAAA agBhAGMAawAuAHkAdQBAAHIAZQBhAGwAdABlAGsALgBjAG8AbQAAAB8AAIAfpOszqHouQr57eeGp jlSzAQAAADgAAABDAG8AbgB2AGUAcgBzAGEAdABpAG8AbgBJAG4AZABlAHgAVAByAGEAYwBrAGkA bgBnAEUAeAAAAAEAAAAkAQAASQBJAD0AWwBDAEkARAA9ADUAOAAxADcANwBjADYAOQAtAGMAMwAw ADIALQAwADEANAA2AC0AOAAzADUAOAAtADUAMgAyAGUAZAA4ADYAMwBiADkAOAA2ADsASQBEAFgA SABFAEEARAA9AEQAQQBCADcAMwAyADAAMwBDAEYAOwBJAEQAWABDAE8AVQBOAFQAPQAxAF0AOwBQ AFMAPQBVAG4AawBuAG8AdwBuADsAVgBlAHIAcwBpAG8AbgA9AFYAZQByAHMAaQBvAG4AIAAxADUA LgAxACAAKABCAHUAaQBsAGQAIAAyADUAMAA3AC4AMAApACwAIABTAHQAYQBnAGUAPQBIADQAOwBV AFAAPQAxADAAOwBEAFAAPQAxAEMANQAAAAsAAIAIIAYAAAAAAMAAAAAAAABGAAAAAIKFAAAAAAAA AwANNP0/AAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAAgAAAAeAAtAG0AcwAtAGgAYQBzAC0AYQB0 AHQAYQBjAGgAAAABAAAAAgAAAAAAAAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAAiAAAAeAAtAG8A cgBpAGcAaQBuAGEAdABpAG4AZwAtAGkAcAAAAAAAAQAAACIAAABbADEANwAyAC4AMgAyAC4AMQAw ADIALgAxADAAMgBdAAAAAAAOpw== --_000_11f7e2c1a77f418a9965b96b81f6e660realtekcom_--