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 D234EC25B74 for ; Tue, 4 Jun 2024 06:19:45 +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 0CDD8852; Tue, 4 Jun 2024 08:19:33 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 0CDD8852 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1717481983; bh=QaIMHuN0BuHUDR77dNi1k8iqMq+Ok4IksHGNVuEfPao=; h=From:To:CC:Subject:Date:List-Id:List-Archive:List-Help:List-Owner: List-Post:List-Subscribe:List-Unsubscribe:From; b=ScigjIpZG49cyiLC2g5N9DeYDzic+UuMiqNsFab8f3iOvXbmWkdLJWF/rj1NWE68z XVIRdtHjFk56gjtLThp90ODc92hWxa0Sj74WtKSbTnbyuvvUugvJ/wWETjMQDrUxkE tpOjfJTJ2FA0sspnjyKM4uk3gq8iAI951m75jiW8= Received: by alsa1.perex.cz (Postfix, from userid 50401) id 79972F80588; Tue, 4 Jun 2024 08:19:09 +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 C9F6FF804FF; Tue, 4 Jun 2024 08:19:08 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 71CD7F802DB; Tue, 4 Jun 2024 08:17:55 +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 691D2F80088 for ; Tue, 4 Jun 2024 08:17:12 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 691D2F80088 X-SpamFilter-By: ArmorX SpamTrap 5.78 with qID 4546H3tG43970207, This message is accepted by code: ctloc85258 Received: from mail.realtek.com (rtexh36506.realtek.com.tw[172.21.6.27]) by rtits2.realtek.com.tw (8.15.2/2.95/5.92) with ESMTPS id 4546H3tG43970207 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 4 Jun 2024 14:17:03 +0800 Received: from RTEXDAG02.realtek.com.tw (172.21.6.101) by RTEXH36506.realtek.com.tw (172.21.6.27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 4 Jun 2024 14:17:03 +0800 Received: from RTEXMBS01.realtek.com.tw (172.21.6.94) by RTEXDAG02.realtek.com.tw (172.21.6.101) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Tue, 4 Jun 2024 14:17:02 +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; Tue, 4 Jun 2024 14:17:02 +0800 Content-Type: multipart/mixed; boundary="_000_c6d0e09de01c4804bfff6efe92fff04crealtekcom_" 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==?= , Jack Yu , =?utf-8?B?RGVyZWsgW+aWueW+t+e+qV0=?= Subject: [PATCH] ASoC: rt1318: Add RT1318 audio amplifier driver Thread-Topic: [PATCH] ASoC: rt1318: Add RT1318 audio amplifier driver Thread-Index: Adq2Rs/8n9D0p31EQZaWG09Bfd/1Vw== Date: Tue, 4 Jun 2024 06:17:02 +0000 Message-ID: Accept-Language: zh-TW, en-US Content-Language: zh-TW X-MS-TNEF-Correlator: x-originating-ip: [172.22.102.102] MIME-Version: 1.0 Message-ID-Hash: XOEDJLLRTHAQ3FSFCGNZPOOHSRZ2JT2Z X-Message-ID-Hash: XOEDJLLRTHAQ3FSFCGNZPOOHSRZ2JT2Z 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_c6d0e09de01c4804bfff6efe92fff04crealtekcom_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhpcyBpcyB0aGUgaW5pdGlhbCBhbXBsaWZpZXIgZHJpdmVyIGZvciBydDEzMTguDQoNClNpZ25l ZC1vZmYtYnk6IEphY2sgWXUgPGphY2sueXVAcmVhbHRlay5jb20+DQotLS0NCiBpbmNsdWRlL3Nv dW5kL3J0MTMxOC5oICAgIHwgICAxNiArDQogc291bmQvc29jL2NvZGVjcy9LY29uZmlnICB8ICAg IDUgKw0KIHNvdW5kL3NvYy9jb2RlY3MvTWFrZWZpbGUgfCAgICAyICsNCiBzb3VuZC9zb2MvY29k ZWNzL3J0MTMxOC5jIHwgMTM4NyArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr DQogc291bmQvc29jL2NvZGVjcy9ydDEzMTguaCB8ICAzNDIgKysrKysrKysrDQogNSBmaWxlcyBj aGFuZ2VkLCAxNzUyIGluc2VydGlvbnMoKykNCiBjcmVhdGUgbW9kZSAxMDA2NDQgaW5jbHVkZS9z b3VuZC9ydDEzMTguaA0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBzb3VuZC9zb2MvY29kZWNzL3J0MTMx OC5jDQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNvdW5kL3NvYy9jb2RlY3MvcnQxMzE4LmgNCg0KZGlm ZiAtLWdpdCBhL2luY2x1ZGUvc291bmQvcnQxMzE4LmggYi9pbmNsdWRlL3NvdW5kL3J0MTMxOC5o DQpuZXcgZmlsZSBtb2RlIDEwMDY0NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5mZTZiZmYwNjAzNmMN Ci0tLSAvZGV2L251bGwNCisrKyBiL2luY2x1ZGUvc291bmQvcnQxMzE4LmgNCkBAIC0wLDAgKzEs MTYgQEANCisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5ICovDQorLyoN CisgKiBsaW51eC9zb3VuZC9ydDEzMTguaCAtLSBQbGF0Zm9ybSBkYXRhIGZvciBSVDEzMTgNCisg Kg0KKyAqIENvcHlyaWdodCAyMDI0IFJlYWx0ZWsgU2VtaWNvbmR1Y3RvciBDb3JwLg0KKyAqLw0K Kw0KKyNpZm5kZWYgX19MSU5VWF9TTkRfUlQxMzE4X0gNCisjZGVmaW5lIF9fTElOVVhfU05EX1JU MTMxOF9IDQorDQorc3RydWN0IHJ0MTMxOF9wbGF0Zm9ybV9kYXRhIHsNCisJdW5zaWduZWQgaW50 IGluaXRfcjBfbDsNCisJdW5zaWduZWQgaW50IGluaXRfcjBfcjsNCit9Ow0KKw0KKyNlbmRpZg0K ZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZyBiL3NvdW5kL3NvYy9jb2RlY3Mv S2NvbmZpZw0KaW5kZXggNGFmYzQzZDNmNzFmLi5kODQ2YmZiZWViNzkgMTAwNjQ0DQotLS0gYS9z b3VuZC9zb2MvY29kZWNzL0tjb25maWcNCisrKyBiL3NvdW5kL3NvYy9jb2RlY3MvS2NvbmZpZw0K QEAgLTIyMSw2ICsyMjEsNyBAQCBjb25maWcgU05EX1NPQ19BTExfQ09ERUNTDQogCWltcGx5IFNO RF9TT0NfUlQ3MjJfU0RDQV9TRFcNCiAJaW1wbHkgU05EX1NPQ19SVDEzMDhfU0RXDQogCWltcGx5 IFNORF9TT0NfUlQxMzE2X1NEVw0KKwlpbXBseSBTTkRfU09DX1JUMTMxOA0KIAlpbXBseSBTTkRf U09DX1JUMTMxOF9TRFcNCiAJaW1wbHkgU05EX1NPQ19SVDkxMjANCiAJaW1wbHkgU05EX1NPQ19S VFE5MTI4DQpAQCAtMTU3MCw2ICsxNTcxLDEwIEBAIGNvbmZpZyBTTkRfU09DX1JUMTMxNl9TRFcN CiAJZGVwZW5kcyBvbiBTT1VORFdJUkUNCiAJc2VsZWN0IFJFR01BUF9TT1VORFdJUkUNCiANCitj b25maWcgU05EX1NPQ19SVDEzMTgNCisJdHJpc3RhdGUNCisJZGVwZW5kcyBvbiBJMkMNCisNCiBj b25maWcgU05EX1NPQ19SVDEzMThfU0RXDQogCXRyaXN0YXRlICJSZWFsdGVrIFJUMTMxOCBDb2Rl YyAtIFNEVyINCiAJZGVwZW5kcyBvbiBTT1VORFdJUkUNCmRpZmYgLS1naXQgYS9zb3VuZC9zb2Mv Y29kZWNzL01ha2VmaWxlIGIvc291bmQvc29jL2NvZGVjcy9NYWtlZmlsZQ0KaW5kZXggYjRkZjIy MTg2ZTI1Li5jNWVmYWUwYWFjNzIgMTAwNjQ0DQotLS0gYS9zb3VuZC9zb2MvY29kZWNzL01ha2Vm aWxlDQorKysgYi9zb3VuZC9zb2MvY29kZWNzL01ha2VmaWxlDQpAQCAtMjIxLDYgKzIyMSw3IEBA IHNuZC1zb2MtcnQxMzA1LXkgOj0gcnQxMzA1Lm8NCiBzbmQtc29jLXJ0MTMwOC15IDo9IHJ0MTMw OC5vDQogc25kLXNvYy1ydDEzMDgtc2R3LXkgOj0gcnQxMzA4LXNkdy5vDQogc25kLXNvYy1ydDEz MTYtc2R3LXkgOj0gcnQxMzE2LXNkdy5vDQorc25kLXNvYy1ydDEzMTgteSA6PSBydDEzMTgubw0K IHNuZC1zb2MtcnQxMzE4LXNkdy15IDo9IHJ0MTMxOC1zZHcubw0KIHNuZC1zb2MtcnQyNzQteSA6 PSBydDI3NC5vDQogc25kLXNvYy1ydDI4Ni15IDo9IHJ0Mjg2Lm8NCkBAIC02MTMsNiArNjE0LDcg QEAgb2JqLSQoQ09ORklHX1NORF9TT0NfUlQxMzA1KQkrPSBzbmQtc29jLXJ0MTMwNS5vDQogb2Jq LSQoQ09ORklHX1NORF9TT0NfUlQxMzA4KQkrPSBzbmQtc29jLXJ0MTMwOC5vDQogb2JqLSQoQ09O RklHX1NORF9TT0NfUlQxMzA4X1NEVykJKz0gc25kLXNvYy1ydDEzMDgtc2R3Lm8NCiBvYmotJChD T05GSUdfU05EX1NPQ19SVDEzMTZfU0RXKQkrPSBzbmQtc29jLXJ0MTMxNi1zZHcubw0KK29iai0k KENPTkZJR19TTkRfU09DX1JUMTMxOCkJKz0gc25kLXNvYy1ydDEzMTgubw0KIG9iai0kKENPTkZJ R19TTkRfU09DX1JUMTMxOF9TRFcpCSs9IHNuZC1zb2MtcnQxMzE4LXNkdy5vDQogb2JqLSQoQ09O RklHX1NORF9TT0NfUlQyNzQpCSs9IHNuZC1zb2MtcnQyNzQubw0KIG9iai0kKENPTkZJR19TTkRf U09DX1JUMjg2KQkrPSBzbmQtc29jLXJ0Mjg2Lm8NCmRpZmYgLS1naXQgYS9zb3VuZC9zb2MvY29k ZWNzL3J0MTMxOC5jIGIvc291bmQvc29jL2NvZGVjcy9ydDEzMTguYw0KbmV3IGZpbGUgbW9kZSAx MDA2NDQNCmluZGV4IDAwMDAwMDAwMDAwMC4uZjljNmFjZWVjMmE2DQotLS0gL2Rldi9udWxsDQor KysgYi9zb3VuZC9zb2MvY29kZWNzL3J0MTMxOC5jDQpAQCAtMCwwICsxLDEzODcgQEANCisvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5DQorLy8NCisvLyBydDEzMTguYyAg LS0gIFJUMTMxOCBBTFNBIFNvQyBhdWRpbyBhbXBsaWZpZXIgZHJpdmVyDQorLy8gQXV0aG9yOiBK YWNrIFl1IDxqYWNrLnl1QHJlYWx0ZWsuY29tPg0KKy8vDQorLy8gQ29weXJpZ2h0KGMpIDIwMjQg UmVhbHRlayBTZW1pY29uZHVjdG9yIENvcnAuDQorLy8NCisvLw0KKw0KKyNpbmNsdWRlIDxsaW51 eC9hY3BpLmg+DQorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+DQorI2luY2x1ZGUgPGxpbnV4L21vZHVs ZS5oPg0KKyNpbmNsdWRlIDxsaW51eC9tb2R1bGVwYXJhbS5oPg0KKyNpbmNsdWRlIDxsaW51eC9p bml0Lmg+DQorI2luY2x1ZGUgPGxpbnV4L2RlbGF5Lmg+DQorI2luY2x1ZGUgPGxpbnV4L3BtLmg+ DQorI2luY2x1ZGUgPGxpbnV4L3JlZ21hcC5oPg0KKyNpbmNsdWRlIDxsaW51eC9pMmMuaD4NCisj aW5jbHVkZSA8bGludXgvcGxhdGZvcm1fZGV2aWNlLmg+DQorI2luY2x1ZGUgPGxpbnV4L2Zpcm13 YXJlLmg+DQorI2luY2x1ZGUgPGxpbnV4L2dwaW8uaD4NCisjaW5jbHVkZSA8c291bmQvY29yZS5o Pg0KKyNpbmNsdWRlIDxzb3VuZC9wY20uaD4NCisjaW5jbHVkZSA8c291bmQvcGNtX3BhcmFtcy5o Pg0KKyNpbmNsdWRlIDxzb3VuZC9zb2MuaD4NCisjaW5jbHVkZSA8c291bmQvc29jLWRhcG0uaD4N CisjaW5jbHVkZSA8c291bmQvaW5pdHZhbC5oPg0KKyNpbmNsdWRlIDxzb3VuZC90bHYuaD4NCisj aW5jbHVkZSA8c291bmQvcnQxMzE4Lmg+DQorDQorI2luY2x1ZGUgInJ0MTMxOC5oIg0KKw0KK3N0 cnVjdCBydDEzMThfaW5pdF9yZWcgew0KKwl1MzIgcmVnOw0KKwl1OCB2YWw7DQorCXU4IGRlbGF5 Ow0KK307DQorDQorc3RhdGljIHN0cnVjdCBydDEzMThfaW5pdF9yZWcgaW5pdF9saXN0W10gPSB7 DQorCXsgMHgwMDAwQzAwMCwgMHgwMSwgMH0sDQorCXsgMHgwMDAwRjIwRCwgMHgwMCwgMH0sDQor CXsgMHgwMDAwRjIxMiwgMHgzRSwgMH0sDQorCXsgMHgwMDAwQzAwMSwgMHgwMiwgMH0sDQorCXsg MHgwMDAwQzAwMywgMHgyMiwgMH0sDQorCXsgMHgwMDAwQzAwNCwgMHg0NCwgMH0sDQorCXsgMHgw MDAwQzAwNSwgMHg0NCwgMH0sDQorCXsgMHgwMDAwQzAwNywgMHg2NCwgMH0sDQorCXsgMHgwMDAw QzAwRSwgMHhFNywgMH0sDQorCXsgMHgwMDAwRjIyMywgMHg3RiwgMH0sDQorCXsgMHgwMDAwRjIy NCwgMHhEQiwgMH0sDQorCXsgMHgwMDAwRjIyNSwgMHhFRSwgMH0sDQorCXsgMHgwMDAwRjIyNiwg MHgzRiwgMH0sDQorCXsgMHgwMDAwRjIyNywgMHgwRiwgMH0sDQorCXsgMHgwMDAwRjIxQSwgMHg3 OCwgMH0sDQorCXsgMHgwMDAwRjI0MiwgMHgzQywgMH0sDQorCXsgMHgwMDAwQzEyMCwgMHg0MCwg MH0sDQorCXsgMHgwMDAwQzEyNSwgMHgwMywgMH0sDQorCXsgMHgwMDAwQzMyMSwgMHgwQSwgMH0s DQorCXsgMHgwMDAwQzIwMCwgMHhEOCwgMH0sDQorCXsgMHgwMDAwQzIwMSwgMHgyNywgMH0sDQor CXsgMHgwMDAwQzIwMiwgMHgwRiwgMH0sDQorCXsgMHgwMDAwQzQwMCwgMHgwRSwgMH0sDQorCXsg MHgwMDAwQzQwMSwgMHg0MywgMH0sDQorCXsgMHgwMDAwQzQwMiwgMHhFMCwgMH0sDQorCXsgMHgw MDAwQzQwMywgMHgwMCwgMH0sDQorCXsgMHgwMDAwQzQwNCwgMHg0QywgMH0sDQorCXsgMHgwMDAw QzQwNiwgMHg0MCwgMH0sDQorCXsgMHgwMDAwQzQwNywgMHgwMiwgMH0sDQorCXsgMHgwMDAwQzQw OCwgMHgzRiwgMH0sDQorCXsgMHgwMDAwQzMwMCwgMHgwMSwgMH0sDQorCXsgMHgwMDAwQzEyNSwg MHgwMywgMH0sDQorCXsgMHgwMDAwREYwMCwgMHgxMCwgMH0sDQorCXsgMHgwMDAwRjIwQiwgMHgy QSwgMH0sDQorCXsgMHgwMDAwREY1RiwgMHgwMSwgMH0sDQorCXsgMHgwMDAwREY2MCwgMHhBNywg MH0sDQorCXsgMHgwMDAwQzIwMywgMHg4NCwgMH0sDQorCXsgMHgwMDAwQzIwNiwgMHg3OCwgMH0s DQorCXsgMHgwMDAwRjEwQSwgMHgwOSwgMH0sDQorCXsgMHgwMDAwRjEwQiwgMHg0QywgMH0sDQor CXsgMHgwMDAwRjEwNCwgMHhGNCwgMH0sDQorCXsgMHgwMDAwRjEwNSwgMHgwMywgMH0sDQorCXsg MHgwMDAwRjEwOSwgMHhFMCwgMH0sDQorCXsgMHgwMDAwRjEwQiwgMHg1QywgMH0sDQorCXsgMHgw MDAwRjEwNCwgMHhGNCwgMH0sDQorCXsgMHgwMDAwRjEwNSwgMHgwNCwgMH0sDQorCXsgMHgwMDAw RjEwOSwgMHg2NSwgMH0sDQorCXsgMHgwMDAwRjEwQiwgMHg1QywgMH0sDQorCXsgMHgwMDAwRjEw NCwgMHhGNCwgMH0sDQorCXsgMHgwMDAwRjEwNSwgMHgwMiwgMH0sDQorCXsgMHgwMDAwRjEwOSwg MHgzMCwgMH0sDQorCXsgMHgwMDAwRjEwQiwgMHg1QywgMH0sDQorCXsgMHgwMDAwRTcwNiwgMHgw RiwgMH0sDQorCXsgMHgwMDAwRTcwNywgMHgzMCwgMH0sDQorCXsgMHgwMDAwRTgwNiwgMHgwRiwg MH0sDQorCXsgMHgwMDAwRTgwNywgMHgzMCwgMH0sDQorCXsgMHgwMDAwQ0UwNCwgMHgwMywgMH0s DQorCXsgMHgwMDAwQ0UwNSwgMHg1RiwgMH0sDQorCXsgMHgwMDAwQ0UwNiwgMHhBMiwgMH0sDQor CXsgMHgwMDAwQ0UwNywgMHg2QiwgMH0sDQorCXsgMHgwMDAwQ0YwNCwgMHgwMywgMH0sDQorCXsg MHgwMDAwQ0YwNSwgMHg1RiwgMH0sDQorCXsgMHgwMDAwQ0YwNiwgMHhBMiwgMH0sDQorCXsgMHgw MDAwQ0YwNywgMHg2QiwgMH0sDQorCXsgMHgwMDAwQ0U2MCwgMHhFMywgMH0sDQorCXsgMHgwMDAw QzEzMCwgMHg1MSwgMH0sDQorCXsgMHgwMDAwRTAwMCwgMHhBOCwgMH0sDQorCXsgMHgwMDAwRjEw MiwgMHgwMCwgMH0sDQorCXsgMHgwMDAwRjEwMywgMHgwMCwgMH0sDQorCXsgMHgwMDAwRjEwNCwg MHhGNSwgMH0sDQorCXsgMHgwMDAwRjEwNSwgMHgyMywgMH0sDQorCXsgMHgwMDAwRjEwOSwgMHgw NCwgMH0sDQorCXsgMHgwMDAwRjEwQSwgMHgwQiwgMH0sDQorCXsgMHgwMDAwRjEwQiwgMHg0Qywg MH0sDQorCXsgMHgwMDAwRjEwQiwgMHg1QywgMH0sDQorCXsgMHg0MTAwMTg4OCwgMHgwMCwgMH0s DQorCXsgMHgwMDAwQzEyMSwgMHgwQiwgMTAwfSwNCisJeyAweDAwMDBGMTAyLCAweDAwLCAwfSwN CisJeyAweDAwMDBGMTAzLCAweDAwLCAwfSwNCisJeyAweDAwMDBGMTA0LCAweEY1LCAwfSwNCisJ eyAweDAwMDBGMTA1LCAweDIzLCAwfSwNCisJeyAweDAwMDBGMTA5LCAweDAwLCAwfSwNCisJeyAw eDAwMDBGMTBBLCAweDBCLCAwfSwNCisJeyAweDAwMDBGMTBCLCAweDRDLCAwfSwNCisJeyAweDAw MDBGMTBCLCAweDVDLCAwfSwNCisJeyAweDAwMDBGODAwLCAweDIwLCAwfSwNCisJeyAweDAwMDBD QTAwLCAweDgwLCAwfSwNCisJeyAweDAwMDBDQTEwLCAweDAwLCAwfSwNCisJeyAweDAwMDBDQTAy LCAweDc4LCAwfSwNCisJeyAweDAwMDBDQTEyLCAweDc4LCAwfSwNCisJeyAweDAwMDBFRDAwLCAw eDkwLCAwfSwNCisJeyAweDAwMDBFNjA0LCAweDAwLCAwfSwNCisJeyAweDAwMDBEQjAwLCAweDBD LCAwfSwNCisJeyAweDAwMDBERDAwLCAweDBDLCAwfSwNCisJeyAweDAwMDBEQzE5LCAweDAwLCAw fSwNCisJeyAweDAwMDBEQzFBLCAweDZBLCAwfSwNCisJeyAweDAwMDBEQzFCLCAweEFBLCAwfSwN CisJeyAweDAwMDBEQzFDLCAweEFCLCAwfSwNCisJeyAweDAwMDBEQzFELCAweDAwLCAwfSwNCisJ eyAweDAwMDBEQzFFLCAweDE2LCAwfSwNCisJeyAweDAwMDBEQzFGLCAweERCLCAwfSwNCisJeyAw eDAwMDBEQzIwLCAweDZELCAwfSwNCisJeyAweDAwMDBERTE5LCAweDAwLCAwfSwNCisJeyAweDAw MDBERTFBLCAweDZBLCAwfSwNCisJeyAweDAwMDBERTFCLCAweEFBLCAwfSwNCisJeyAweDAwMDBE RTFDLCAweEFCLCAwfSwNCisJeyAweDAwMDBERTFELCAweDAwLCAwfSwNCisJeyAweDAwMDBERTFF LCAweDE2LCAwfSwNCisJeyAweDAwMDBERTFGLCAweERCLCAwfSwNCisJeyAweDAwMDBERTIwLCAw eDZELCAwfSwNCisJeyAweDAwMDBEQjMyLCAweDAwLCAwfSwNCisJeyAweDAwMDBERDMyLCAweDAw LCAwfSwNCisJeyAweDAwMDBEQjMzLCAweDBBLCAwfSwNCisJeyAweDAwMDBERDMzLCAweDBBLCAw fSwNCisJeyAweDAwMDBEQjM0LCAweDFBLCAwfSwNCisJeyAweDAwMDBERDM0LCAweDFBLCAwfSwN CisJeyAweDAwMDBEQjE1LCAweEVGLCAwfSwNCisJeyAweDAwMDBERDE1LCAweEVGLCAwfSwNCisJ eyAweDAwMDBEQjE3LCAweEVGLCAwfSwNCisJeyAweDAwMDBERDE3LCAweEVGLCAwfSwNCisJeyAw eDAwMDBEQjk0LCAweDcwLCAwfSwNCisJeyAweDAwMDBERDk0LCAweDcwLCAwfSwNCisJeyAweDAw MDBEQjE5LCAweDQwLCAwfSwNCisJeyAweDAwMDBERDE5LCAweDQwLCAwfSwNCisJeyAweDAwMDBE QjEyLCAweEMwLCAwfSwNCisJeyAweDAwMDBERDEyLCAweEMwLCAwfSwNCisJeyAweDAwMDBEQjAw LCAweDRDLCAwfSwNCisJeyAweDAwMDBEQjA0LCAweDA1LCAwfSwNCisJeyAweDAwMDBEQjA1LCAw eDAzLCAwfSwNCisJeyAweDAwMDBERDA0LCAweDA1LCAwfSwNCisJeyAweDAwMDBERDA1LCAweDAz LCAwfSwNCisJeyAweDAwMDBEQkJCLCAweDA5LCAwfSwNCisJeyAweDAwMDBEQkJDLCAweDMwLCAw fSwNCisJeyAweDAwMDBEQkJELCAweEYwLCAwfSwNCisJeyAweDAwMDBEQkJFLCAweEYxLCAwfSwN CisJeyAweDAwMDBEREJCLCAweDA5LCAwfSwNCisJeyAweDAwMDBEREJDLCAweDMwLCAwfSwNCisJ eyAweDAwMDBEREJELCAweEYwLCAwfSwNCisJeyAweDAwMDBEREJFLCAweEYxLCAwfSwNCisJeyAw eDAwMDBEQjAxLCAweDc5LCAwfSwNCisJeyAweDAwMDBERDAxLCAweDc5LCAwfSwNCisJeyAweDAw MDBEQjA4LCAweDQwLCAwfSwNCisJeyAweDAwMDBERDA4LCAweDQwLCAwfSwNCisJeyAweDAwMDBE QzUyLCAweEVGLCAwfSwNCisJeyAweDAwMDBERTUyLCAweEVGLCAwfSwNCisJeyAweDAwMDBEQjAw LCAweENDLCAwfSwNCisJeyAweDAwMDBDQzJDLCAweDAwLCAwfSwNCisJeyAweDAwMDBDQzJELCAw eDJBLCAwfSwNCisJeyAweDAwMDBDQzJFLCAweDgzLCAwfSwNCisJeyAweDAwMDBDQzJGLCAweEE4 LCAwfSwNCisJeyAweDAwMDBDRDJDLCAweDAwLCAwfSwNCisJeyAweDAwMDBDRDJELCAweDJBLCAw fSwNCisJeyAweDAwMDBDRDJFLCAweDgzLCAwfSwNCisJeyAweDAwMDBDRDJGLCAweEE4LCAwfSwN CisJeyAweDAwMDBDQzI0LCAweDAwLCAwfSwNCisJeyAweDAwMDBDQzI1LCAweDUxLCAwfSwNCisJ eyAweDAwMDBDQzI2LCAweEVCLCAwfSwNCisJeyAweDAwMDBDQzI3LCAweDg1LCAwfSwNCisJeyAw eDAwMDBDRDI0LCAweDAwLCAwfSwNCisJeyAweDAwMDBDRDI1LCAweDUxLCAwfSwNCisJeyAweDAw MDBDRDI2LCAweEVCLCAwfSwNCisJeyAweDAwMDBDRDI3LCAweDg1LCAwfSwNCisJeyAweDAwMDBD QzIwLCAweDAwLCAwfSwNCisJeyAweDAwMDBDQzIxLCAweDAwLCAwfSwNCisJeyAweDAwMDBDQzIy LCAweDQzLCAwfSwNCisJeyAweDAwMDBDRDIwLCAweDAwLCAwfSwNCisJeyAweDAwMDBDRDIxLCAw eDAwLCAwfSwNCisJeyAweDAwMDBDRDIyLCAweDQzLCAwfSwNCisJeyAweDAwMDBDQzE2LCAweDBG LCAwfSwNCisJeyAweDAwMDBDQzE3LCAweDAwLCAwfSwNCisJeyAweDAwMDBDRDE2LCAweDBGLCAw fSwNCisJeyAweDAwMDBDRDE3LCAweDAwLCAwfSwNCisJeyAweDAwMDBDQzI5LCAweDVELCAwfSwN CisJeyAweDAwMDBDQzJBLCAweEMwLCAwfSwNCisJeyAweDAwMDBDRDI5LCAweDVELCAwfSwNCisJ eyAweDAwMDBDRDJBLCAweEMwLCAwfSwNCisJeyAweDAwMDBDQzMxLCAweDIwLCAwfSwNCisJeyAw eDAwMDBDQzMyLCAweDAwLCAwfSwNCisJeyAweDAwMDBDQzMzLCAweDAwLCAwfSwNCisJeyAweDAw MDBDQzM0LCAweDAwLCAwfSwNCisJeyAweDAwMDBDRDMxLCAweDIwLCAwfSwNCisJeyAweDAwMDBD RDMyLCAweDAwLCAwfSwNCisJeyAweDAwMDBDRDMzLCAweDAwLCAwfSwNCisJeyAweDAwMDBDRDM0 LCAweDAwLCAwfSwNCisJeyAweDAwMDBDQzM2LCAweDc5LCAwfSwNCisJeyAweDAwMDBDQzM3LCAw eDk5LCAwfSwNCisJeyAweDAwMDBDQzM4LCAweDk5LCAwfSwNCisJeyAweDAwMDBDQzM5LCAweDk5 LCAwfSwNCisJeyAweDAwMDBDRDM2LCAweDc5LCAwfSwNCisJeyAweDAwMDBDRDM3LCAweDk5LCAw fSwNCisJeyAweDAwMDBDRDM4LCAweDk5LCAwfSwNCisJeyAweDAwMDBDRDM5LCAweDk5LCAwfSwN CisJeyAweDAwMDBDQzA5LCAweDAwLCAwfSwNCisJeyAweDAwMDBDQzBBLCAweDA3LCAwfSwNCisJ eyAweDAwMDBDQzBCLCAweDVGLCAwfSwNCisJeyAweDAwMDBDQzBDLCAweDZGLCAwfSwNCisJeyAw eDAwMDBDRDA5LCAweDAwLCAwfSwNCisJeyAweDAwMDBDRDBBLCAweDA3LCAwfSwNCisJeyAweDAw MDBDRDBCLCAweDVGLCAwfSwNCisJeyAweDAwMDBDRDBDLCAweDZGLCAwfSwNCisJeyAweDAwMDBD QzBFLCAweDAwLCAwfSwNCisJeyAweDAwMDBDQzBGLCAweDAzLCAwfSwNCisJeyAweDAwMDBDQzEw LCAweEFGLCAwfSwNCisJeyAweDAwMDBDQzExLCAweEI3LCAwfSwNCisJeyAweDAwMDBDRDBFLCAw eDAwLCAwfSwNCisJeyAweDAwMDBDRDBGLCAweDAzLCAwfSwNCisJeyAweDAwMDBDRDEwLCAweEFG LCAwfSwNCisJeyAweDAwMDBDRDExLCAweEI3LCAwfSwNCisJeyAweDAwMDBDQ0Q2LCAweDAwLCAw fSwNCisJeyAweDAwMDBDQ0Q3LCAweDAzLCAwfSwNCisJeyAweDAwMDBDREQ2LCAweDAwLCAwfSwN CisJeyAweDAwMDBDREQ3LCAweDAzLCAwfSwNCisJeyAweDAwMDBDQ0Q4LCAweDAwLCAwfSwNCisJ eyAweDAwMDBDQ0Q5LCAweDAzLCAwfSwNCisJeyAweDAwMDBDREQ4LCAweDAwLCAwfSwNCisJeyAw eDAwMDBDREQ5LCAweDAzLCAwfSwNCisJeyAweDAwMDBDQ0RBLCAweDAwLCAwfSwNCisJeyAweDAw MDBDQ0RCLCAweDAzLCAwfSwNCisJeyAweDAwMDBDRERBLCAweDAwLCAwfSwNCisJeyAweDAwMDBD RERCLCAweDAzLCAwfSwNCisJeyAweDAwMDBDMzIwLCAweDIwLCAwfSwNCisJeyAweDAwMDBDMjAz LCAweDlDLCAwfSwNCit9Ow0KKyNkZWZpbmUgcnQxMzE4X0lOSVRfUkVHX0xFTiBBUlJBWV9TSVpF KGluaXRfbGlzdCkNCisNCitzdGF0aWMgaW50IHJ0MTMxOF9yZWdfaW5pdChzdHJ1Y3Qgc25kX3Nv Y19jb21wb25lbnQgKmNvbXBvbmVudCkNCit7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4 ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisJaW50IGk7DQor DQorCWZvciAoaSA9IDA7IGkgPCBydDEzMThfSU5JVF9SRUdfTEVOOyBpKyspIHsNCisJCXJlZ21h cF93cml0ZShydDEzMTgtPnJlZ21hcCwgaW5pdF9saXN0W2ldLnJlZywgaW5pdF9saXN0W2ldLnZh bCk7DQorCQltZGVsYXkoaW5pdF9saXN0W2ldLmRlbGF5KTsNCisJfQ0KKw0KKwlyZXR1cm4gMDsN Cit9DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCByZWdfZGVmYXVsdCBydDEzMThfcmVnW10gPSB7 DQorCXsgMHhjMDAwLCAweDAwIH0sDQorCXsgMHhjMDAxLCAweDQzIH0sDQorCXsgMHhjMDAzLCAw eDIyIH0sDQorCXsgMHhjMDA0LCAweDQ0IH0sDQorCXsgMHhjMDA1LCAweDQ0IH0sDQorCXsgMHhj MDA2LCAweDMzIH0sDQorCXsgMHhjMDA3LCAweDY0IH0sDQorCXsgMHhjMDA4LCAweDA1IH0sDQor CXsgMHhjMDBhLCAweGZjIH0sDQorCXsgMHhjMDBiLCAweDBmIH0sDQorCXsgMHhjMDBjLCAweDBl IH0sDQorCXsgMHhjMDBkLCAweGVmIH0sDQorCXsgMHhjMDBlLCAweGU1IH0sDQorCXsgMHhjMDBm LCAweGZmIH0sDQorCXsgMHhjMTIwLCAweGMwIH0sDQorCXsgMHhjMTIxLCAweDAwIH0sDQorCXsg MHhjMTIyLCAweDAwIH0sDQorCXsgMHhjMTIzLCAweDE0IH0sDQorCXsgMHhjMTI1LCAweDAwIH0s DQorCXsgMHhjMTMwLCAweDU5IH0sDQorCXsgMHhjMjAwLCAweDAwIH0sDQorCXsgMHhjMjAxLCAw eDAwIH0sDQorCXsgMHhjMjAyLCAweDAwIH0sDQorCXsgMHhjMjAzLCAweDA0IH0sDQorCXsgMHhj MjA0LCAweDAwIH0sDQorCXsgMHhjMjA1LCAweDAwIH0sDQorCXsgMHhjMjA2LCAweDY4IH0sDQor CXsgMHhjMjA3LCAweDcwIH0sDQorCXsgMHhjMjA4LCAweDAwIH0sDQorCXsgMHhjMjBhLCAweDAw IH0sDQorCXsgMHhjMjBiLCAweDAxIH0sDQorCXsgMHhjMjBjLCAweDdmIH0sDQorCXsgMHhjMjBk LCAweDAxIH0sDQorCXsgMHhjMjBlLCAweDdmIH0sDQorCXsgMHhjMzAwLCAweDAwIH0sDQorCXsg MHhjMzAxLCAweDAwIH0sDQorCXsgMHhjMzAzLCAweDgwIH0sDQorCXsgMHhjMzIwLCAweDAwIH0s DQorCXsgMHhjMzIxLCAweDA5IH0sDQorCXsgMHhjMzIyLCAweDAyIH0sDQorCXsgMHhjNDAwLCAw eDAwIH0sDQorCXsgMHhjNDAxLCAweDAwIH0sDQorCXsgMHhjNDAyLCAweDAwIH0sDQorCXsgMHhj NDAzLCAweDAwIH0sDQorCXsgMHhjNDA0LCAweDAwIH0sDQorCXsgMHhjNDA1LCAweDAwIH0sDQor CXsgMHhjNDA2LCAweDAwIH0sDQorCXsgMHhjNDA3LCAweDAwIH0sDQorCXsgMHhjNDA4LCAweDAw IH0sDQorCXsgMHhjNDEwLCAweDA0IH0sDQorCXsgMHhjNDMwLCAweDAwIH0sDQorCXsgMHhjNDMx LCAweDAwIH0sDQorCXsgMHhjYTAwLCAweDEwIH0sDQorCXsgMHhjYTAxLCAweDAwIH0sDQorCXsg MHhjYTAyLCAweDBiIH0sDQorCXsgMHhjYTEwLCAweDEwIH0sDQorCXsgMHhjYTExLCAweDAwIH0s DQorCXsgMHhjYTEyLCAweDBiIH0sDQorCXsgMHhjZTA0LCAweDA4IH0sDQorCXsgMHhjZTA1LCAw eDAwIH0sDQorCXsgMHhjZTA2LCAweDAwIH0sDQorCXsgMHhjZTA3LCAweDAwIH0sDQorCXsgMHhj ZTYwLCAweDYzIH0sDQorCXsgMHhjZjA0LCAweDA4IH0sDQorCXsgMHhjZjA1LCAweDAwIH0sDQor CXsgMHhjZjA2LCAweDAwIH0sDQorCXsgMHhjZjA3LCAweDAwIH0sDQorCXsgMHhkYjAwLCAweDAw IH0sDQorCXsgMHhkYjA4LCAweDQwIH0sDQorCXsgMHhkYjEyLCAweDAwIH0sDQorCXsgMHhkYjM1 LCAweDAwIH0sDQorCXsgMHhkYmI1LCAweDAwIH0sDQorCXsgMHhkYmI2LCAweDQwIH0sDQorCXsg MHhkYmI3LCAweDAwIH0sDQorCXsgMHhkYmI4LCAweDAwIH0sDQorCXsgMHhkYmM1LCAweDAwIH0s DQorCXsgMHhkYmM2LCAweDAwIH0sDQorCXsgMHhkYmM3LCAweDAwIH0sDQorCXsgMHhkYmM4LCAw eDAwIH0sDQorCXsgMHhkZDA4LCAweDQwIH0sDQorCXsgMHhkZDEyLCAweDAwIH0sDQorCXsgMHhk ZDM1LCAweDAwIH0sDQorCXsgMHhkZGI1LCAweDAwIH0sDQorCXsgMHhkZGI2LCAweDQwIH0sDQor CXsgMHhkZGI3LCAweDAwIH0sDQorCXsgMHhkZGI4LCAweDAwIH0sDQorCXsgMHhkZGM1LCAweDAw IH0sDQorCXsgMHhkZGM2LCAweDAwIH0sDQorCXsgMHhkZGM3LCAweDAwIH0sDQorCXsgMHhkZGM4 LCAweDAwIH0sDQorCXsgMHhkZDkzLCAweDAwIH0sDQorCXsgMHhkZDk0LCAweDY0IH0sDQorCXsg MHhkZjAwLCAweDAwIH0sDQorCXsgMHhkZjVmLCAweDAwIH0sDQorCXsgMHhkZjYwLCAweDAwIH0s DQorCXsgMHhlMDAwLCAweDA4IH0sDQorCXsgMHhlMzAwLCAweGEwIH0sDQorCXsgMHhlNDAwLCAw eDIyIH0sDQorCXsgMHhlNzA2LCAweDJmIH0sDQorCXsgMHhlNzA3LCAweDJmIH0sDQorCXsgMHhl ODA2LCAweDJmIH0sDQorCXsgMHhlODA3LCAweDJmIH0sDQorCXsgMHhlYTAwLCAweDQzIH0sDQor CXsgMHhlZDAwLCAweDgwIH0sDQorCXsgMHhlZDAxLCAweDBmIH0sDQorCXsgMHhlZDAyLCAweGZm IH0sDQorCXsgMHhlZDAzLCAweDAwIH0sDQorCXsgMHhlZDA0LCAweDAwIH0sDQorCXsgMHhlZDA1 LCAweDBmIH0sDQorCXsgMHhlZDA2LCAweGZmIH0sDQorCXsgMHhmMDEwLCAweDEwIH0sDQorCXsg MHhmMDExLCAweGVjIH0sDQorCXsgMHhmMDEyLCAweDY4IH0sDQorCXsgMHhmMDEzLCAweDIxIH0s DQorCXsgMHhmMTAyLCAweDAwIH0sDQorCXsgMHhmMTAzLCAweDAwIH0sDQorCXsgMHhmMTA0LCAw eDAwIH0sDQorCXsgMHhmMTA1LCAweDAwIH0sDQorCXsgMHhmMTA2LCAweDAwIH0sDQorCXsgMHhm MTA3LCAweDAwIH0sDQorCXsgMHhmMTA4LCAweDAwIH0sDQorCXsgMHhmMTA5LCAweDAwIH0sDQor CXsgMHhmMTBhLCAweDAzIH0sDQorCXsgMHhmMTBiLCAweDQwIH0sDQorCXsgMHhmMjBiLCAweDI4 IH0sDQorCXsgMHhmMjBkLCAweDAwIH0sDQorCXsgMHhmMjEyLCAweDAwIH0sDQorCXsgMHhmMjFh LCAweDAwIH0sDQorCXsgMHhmMjIzLCAweDQwIH0sDQorCXsgMHhmMjI0LCAweDAwIH0sDQorCXsg MHhmMjI1LCAweDAwIH0sDQorCXsgMHhmMjI2LCAweDAwIH0sDQorCXsgMHhmMjI3LCAweDAwIH0s DQorCXsgMHhmMjQyLCAweDBjIH0sDQorCXsgMHhmODAwLCAweDAwIH0sDQorCXsgMHhmODAxLCAw eDEyIH0sDQorCXsgMHhmODAyLCAweGUwIH0sDQorCXsgMHhmODAzLCAweDJmIH0sDQorCXsgMHhm ODA0LCAweDAwIH0sDQorCXsgMHhmODA1LCAweDAwIH0sDQorCXsgMHhmODA2LCAweDA3IH0sDQor CXsgMHhmODA3LCAweGZmIH0sDQorfTsNCisNCitzdGF0aWMgYm9vbCBydDEzMThfdm9sYXRpbGVf cmVnaXN0ZXIoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcmVnKQ0KK3sNCisJc3dp dGNoIChyZWcpIHsNCisJY2FzZSAweGMwMDA6DQorCWNhc2UgMHhjMzAxOg0KKwljYXNlIDB4YzQx MDoNCisJY2FzZSAweGM0MzAgLi4uIDB4YzQzMToNCisJY2FzZSAweGRiMDY6DQorCWNhc2UgMHhk YjEyOg0KKwljYXNlIDB4ZGIxZCAuLi4gMHhkYjFmOg0KKwljYXNlIDB4ZGIzNToNCisJY2FzZSAw eGRiMzc6DQorCWNhc2UgMHhkYjhhIC4uLiAweGRiOTI6DQorCWNhc2UgMHhkYmM1IC4uLiAweGRi Yzg6DQorCWNhc2UgMHhkYzJiIC4uLiAweGRjNDk6DQorCWNhc2UgMHhkZDBiOg0KKwljYXNlIDB4 ZGQxMjoNCisJY2FzZSAweGRkMWQgLi4uIDB4ZGQxZjoNCisJY2FzZSAweGRkMzU6DQorCWNhc2Ug MHhkZDhhIC4uLiAweGRkOTI6DQorCWNhc2UgMHhkZGM1IC4uLiAweGRkYzg6DQorCWNhc2UgMHhk ZTJiIC4uLiAweGRlNDQ6DQorCWNhc2UgMHhkZjRhIC4uLiAweGRmNTU6DQorCWNhc2UgMHhlMjI0 IC4uLiAweGUyM2I6DQorCWNhc2UgMHhlYTAxOg0KKwljYXNlIDB4ZWJjNToNCisJY2FzZSAweGVi Yzg6DQorCWNhc2UgMHhlYmNiIC4uLiAweGViY2M6DQorCWNhc2UgMHhlZDAzIC4uLiAweGVkMDY6 DQorCWNhc2UgMHhmMDEwIC4uLiAweGYwMTQ6DQorCQlyZXR1cm4gdHJ1ZTsNCisNCisJZGVmYXVs dDoNCisJCXJldHVybiBmYWxzZTsNCisJfQ0KK30NCisNCitzdGF0aWMgYm9vbCBydDEzMThfcmVh ZGFibGVfcmVnaXN0ZXIoc3RydWN0IGRldmljZSAqZGV2LCB1bnNpZ25lZCBpbnQgcmVnKQ0KK3sN CisJc3dpdGNoIChyZWcpIHsNCisJY2FzZSAweGMwMDAgLi4uIDB4YzAwZjoNCisJY2FzZSAweGMx MjAgLi4uIDB4YzEzMDoNCisJY2FzZSAweGMyMDAgLi4uIDB4YzIwZToNCisJY2FzZSAweGMzMDAg Li4uIDB4YzMwMzoNCisJY2FzZSAweGMzMjAgLi4uIDB4YzMyMjoNCisJY2FzZSAweGM0MDAgLi4u IDB4YzQwODoNCisJY2FzZSAweGM0MzAgLi4uIDB4YzQzMToNCisJY2FzZSAweGNhMDAgLi4uIDB4 Y2EwMjoNCisJY2FzZSAweGNhMTAgLi4uIDB4Y2ExMjoNCisJY2FzZSAweGNiMDAgLi4uIDB4Y2Iw YjoNCisJY2FzZSAweGNjMDAgLi4uIDB4Y2NlNToNCisJY2FzZSAweGNkMDAgLi4uIDB4Y2RlNToN CisJY2FzZSAweGNlMDAgLi4uIDB4Y2U2YToNCisJY2FzZSAweGNmMDAgLi4uIDB4Y2Y1MzoNCisJ Y2FzZSAweGQwMDAgLi4uIDB4ZDBjYzoNCisJY2FzZSAweGQxMDAgLi4uIDB4ZDFiOToNCisJY2Fz ZSAweGRiMDAgLi4uIDB4ZGM1MzoNCisJY2FzZSAweGRkMDAgLi4uIDB4ZGU1MzoNCisJY2FzZSAw eGRmMDAgLi4uIDB4ZGY2YjoNCisJY2FzZSAweGUwMDA6DQorCWNhc2UgMHhlMzAwOg0KKwljYXNl IDB4ZTQwMDoNCisJY2FzZSAweGU3MDYgLi4uIDB4ZTcwNzoNCisJY2FzZSAweGU4MDYgLi4uIDB4 ZTgwNzoNCisJY2FzZSAweGVhMDA6DQorCWNhc2UgMHhlYjAwIC4uLiAweGViY2M6DQorCWNhc2Ug MHhlYzAwIC4uLiAweGVjYjk6DQorCWNhc2UgMHhlZDAwIC4uLiAweGVkMDY6DQorCWNhc2UgMHhm MDEwIC4uLiAweGYwMTQ6DQorCWNhc2UgMHhmMTAyIC4uLiAweGYxMGI6DQorCWNhc2UgMHhmMjBi Og0KKwljYXNlIDB4ZjIwZCAuLi4gMHhmMjQyOg0KKwljYXNlIDB4ZjgwMCAuLi4gMHhmODA3Og0K KwkJcmV0dXJuIHRydWU7DQorCWRlZmF1bHQ6DQorCQlyZXR1cm4gZmFsc2U7DQorCX0NCit9DQor DQorc3RhdGljIGludCBydDEzMThfZGFjX2V2ZW50KHN0cnVjdCBzbmRfc29jX2RhcG1fd2lkZ2V0 ICp3LA0KKwlzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJvbCwgaW50IGV2ZW50KQ0KK3sNCisJ c3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQgPSBzbmRfc29jX2RhcG1fdG9fY29t cG9uZW50KHctPmRhcG0pOw0KKwlzdHJ1Y3QgcnQxMzE4X3ByaXYgKnJ0MTMxOCA9IHNuZF9zb2Nf Y29tcG9uZW50X2dldF9kcnZkYXRhKGNvbXBvbmVudCk7DQorDQorCXN3aXRjaCAoZXZlbnQpIHsN CisJY2FzZSBTTkRfU09DX0RBUE1fUFJFX1BNVToNCisJCXJlZ21hcF91cGRhdGVfYml0cyhydDEz MTgtPnJlZ21hcCwgUlQxMzE4X1BXUl9TVEExLA0KKwkJCQlSVDEzMThfUERCX0NUUkxfTUFTSywg UlQxMzE4X1BEQl9DVFJMX0hJR0gpOw0KKwkJYnJlYWs7DQorDQorCWNhc2UgU05EX1NPQ19EQVBN X1BPU1RfUE1EOg0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThf UFdSX1NUQTEsDQorCQkJCVJUMTMxOF9QREJfQ1RSTF9NQVNLLCBSVDEzMThfUERCX0NUUkxfTE9X KTsNCisJCWJyZWFrOw0KKw0KKwlkZWZhdWx0Og0KKwkJYnJlYWs7DQorCX0NCisJcmV0dXJuIDA7 DQorfQ0KKw0KK3N0YXRpYyBpbnQgcnQxMzE4X2luaXRfcHV0KHN0cnVjdCBzbmRfa2NvbnRyb2wg Kmtjb250cm9sLA0KKwkJc3RydWN0IHNuZF9jdGxfZWxlbV92YWx1ZSAqdWNvbnRyb2wpDQorew0K KwlzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCA9IHNuZF9zb2Nfa2NvbnRyb2xf Y29tcG9uZW50KGtjb250cm9sKTsNCisJc3RydWN0IHJ0MTMxOF9wcml2ICpydDEzMTggPSBzbmRf c29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjb21wb25lbnQpOw0KKw0KKwlydDEzMTgtPnJ0MTMx OF9pbml0ID0gdWNvbnRyb2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF07DQorDQorCWlmIChydDEz MTgtPnJ0MTMxOF9pbml0KQ0KKwkJcnQxMzE4X3JlZ19pbml0KGNvbXBvbmVudCk7DQorDQorCXJl dHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IHJ0MTMxOF9pbml0X2dldChzdHJ1Y3Qgc25kX2tj b250cm9sICprY29udHJvbCwNCisJCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9s KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQgPSBzbmRfc29jX2tj b250cm9sX2NvbXBvbmVudChrY29udHJvbCk7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4 ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisNCisJdWNvbnRy b2wtPnZhbHVlLmludGVnZXIudmFsdWVbMF0gPSBydDEzMTgtPnJ0MTMxOF9pbml0Ow0KKw0KKwly ZXR1cm4gMDsNCit9DQorDQorc3RhdGljIGludCBydDEzMThfZHZvbF9wdXQoc3RydWN0IHNuZF9r Y29udHJvbCAqa2NvbnRyb2wsDQorCQlzdHJ1Y3Qgc25kX2N0bF9lbGVtX3ZhbHVlICp1Y29udHJv bCkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50ID0gc25kX3NvY19r Y29udHJvbF9jb21wb25lbnQoa2NvbnRyb2wpOw0KKwlzdHJ1Y3QgcnQxMzE4X3ByaXYgKnJ0MTMx OCA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNvbXBvbmVudCk7DQorDQorCXJ0MTMx OC0+cnQxMzE4X2R2b2wgPSB1Y29udHJvbC0+dmFsdWUuaW50ZWdlci52YWx1ZVswXTsNCisNCisJ aWYgKHJ0MTMxOC0+cnQxMzE4X2R2b2wgPD0gUlQxMzE4X0RWT0xfU1RFUCkgew0KKwkJcmVnbWFw X3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfREFfVk9MX0xfOCwgcnQxMzE4LT5ydDEzMThf ZHZvbCA+PiA4KTsNCisJCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X0RBX1ZP TF9MXzFfNywgcnQxMzE4LT5ydDEzMThfZHZvbCAmIDB4ZmYpOw0KKwkJcmVnbWFwX3dyaXRlKHJ0 MTMxOC0+cmVnbWFwLCBSVDEzMThfREFfVk9MX1JfOCwgcnQxMzE4LT5ydDEzMThfZHZvbCA+PiA4 KTsNCisJCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X0RBX1ZPTF9SXzFfNywg cnQxMzE4LT5ydDEzMThfZHZvbCAmIDB4ZmYpOw0KKwl9IGVsc2Ugew0KKwkJcnQxMzE4LT5ydDEz MThfZHZvbCA9IFJUMTMxOF9EVk9MX1NURVA7DQorCQlkZXZfZXJyKGNvbXBvbmVudC0+ZGV2LCAi VW5zdXBwb3J0ZWQgdm9sdW1lIGdhaW5cbiIpOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisN CitzdGF0aWMgaW50IHJ0MTMxOF9kdm9sX2dldChzdHJ1Y3Qgc25kX2tjb250cm9sICprY29udHJv bCwNCisJCXN0cnVjdCBzbmRfY3RsX2VsZW1fdmFsdWUgKnVjb250cm9sKQ0KK3sNCisJc3RydWN0 IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQgPSBzbmRfc29jX2tjb250cm9sX2NvbXBvbmVu dChrY29udHJvbCk7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4ID0gc25kX3NvY19jb21w b25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisNCisJdWNvbnRyb2wtPnZhbHVlLmludGVn ZXIudmFsdWVbMF0gPSBydDEzMTgtPnJ0MTMxOF9kdm9sOw0KKw0KKwlyZXR1cm4gMDsNCit9DQor DQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfa2NvbnRyb2xfbmV3IHJ0MTMxOF9zbmRfY29udHJv bHNbXSA9IHsNCisJU09DX1NJTkdMRV9FWFQoInJ0MTMxOCBkaWdpdGFsIHZvbHVtZSIsIFNORF9T T0NfTk9QTSwgMCwgMzgzLCAwLA0KKwkJcnQxMzE4X2R2b2xfZ2V0LCBydDEzMThfZHZvbF9wdXQp LA0KKwlTT0NfU0lOR0xFX0VYVCgicnQxMzE4IGluaXQiLCBTTkRfU09DX05PUE0sIDAsIDEsIDAs DQorCQlydDEzMThfaW5pdF9nZXQsIHJ0MTMxOF9pbml0X3B1dCksDQorfTsNCisNCitzdGF0aWMg Y29uc3Qgc3RydWN0IHNuZF9zb2NfZGFwbV93aWRnZXQgcnQxMzE4X2RhcG1fd2lkZ2V0c1tdID0g ew0KKwkvKiBBdWRpbyBJbnRlcmZhY2UgKi8NCisJU05EX1NPQ19EQVBNX0FJRl9JTigiQUlGMVJY IiwgIkFJRjEgUGxheWJhY2siLCAwLCBTTkRfU09DX05PUE0sIDAsIDApLA0KKwkvKiBEQUNzICov DQorCVNORF9TT0NfREFQTV9EQUNfRSgiREFDIiwgTlVMTCwgU05EX1NPQ19OT1BNLCAwLCAwLA0K KwkJcnQxMzE4X2RhY19ldmVudCwgU05EX1NPQ19EQVBNX1BSRV9QTVUgfA0KKwkJU05EX1NPQ19E QVBNX1BPU1RfUE1EKSwNCisJLyogT3V0cHV0IExpbmVzICovDQorCVNORF9TT0NfREFQTV9PVVRQ VVQoIkFtcCIpLA0KK307DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBzbmRfc29jX2RhcG1fcm91 dGUgcnQxMzE4X2RhcG1fcm91dGVzW10gPSB7DQorCXsiREFDIiwgTlVMTCwgIkFJRjFSWCJ9LA0K Kwl7IkFtcCIsIE5VTEwsICJEQUMifSwNCit9Ow0KKw0KK3N0YXRpYyBpbnQgcnQxMzE4X2dldF9j bGtfaW5mbyhpbnQgc2NsaywgaW50IHJhdGUpDQorew0KKwlpbnQgaSwgcGRbXSA9IHsxLCAyLCA0 LCA4LCAxNiwgMjR9Ow0KKw0KKwlpZiAoc2NsayA8PSAwIHx8IHJhdGUgPD0gMCkNCisJCXJldHVy biAtRUlOVkFMOw0KKw0KKwlyYXRlID0gcmF0ZSA8PCA4Ow0KKwlmb3IgKGkgPSAwOyBpIDwgQVJS QVlfU0laRShwZCk7IGkrKykNCisJCWlmIChzY2xrID09IHJhdGUgKiBwZFtpXSkNCisJCQlyZXR1 cm4gaTsNCisNCisJcmV0dXJuIC1FSU5WQUw7DQorfQ0KKw0KK3N0YXRpYyBpbnQgcnQxMzE4X2Ns a19pcF9pbmZvKHN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50LCBpbnQgbHJjbGsp DQorew0KKwlzdHJ1Y3QgcnQxMzE4X3ByaXYgKnJ0MTMxOCA9IHNuZF9zb2NfY29tcG9uZW50X2dl dF9kcnZkYXRhKGNvbXBvbmVudCk7DQorDQorCWlmIChscmNsayA9PSBSVDEzMThfTFJDTEtfNDgw MDAgfHwgbHJjbGsgPT0gUlQxMzE4X0xSQ0xLXzQ0MTAwIHx8DQorCQlscmNsayA9PSBSVDEzMThf TFJDTEtfMTYwMDApDQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMx OF9TUkNfVENPTiwNCisJCQkJUlQxMzE4X1NSQ0lOX0YxMjI4OF9NQVNLIHwgUlQxMzE4X1NSQ0lO X0RBQ0xLX01BU0ssDQorCQkJCVJUMTMxOF9TUkNJTl9UQ09ONCB8IFJUMTMxOF9EQUNMS19UQ09O NCk7DQorCWVsc2UgaWYgKGxyY2xrID09IFJUMTMxOF9MUkNMS185NjAwMCkNCisJCXJlZ21hcF91 cGRhdGVfYml0cyhydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1NSQ19UQ09OLA0KKwkJCQlSVDEzMThf U1JDSU5fRjEyMjg4X01BU0sgfCBSVDEzMThfU1JDSU5fREFDTEtfTUFTSywNCisJCQkJUlQxMzE4 X1NSQ0lOX1RDT040IHwgUlQxMzE4X0RBQ0xLX1RDT04yKTsNCisJZWxzZSBpZiAobHJjbGsgPT0g UlQxMzE4X0xSQ0xLXzE5MjAwMCkNCisJCXJlZ21hcF91cGRhdGVfYml0cyhydDEzMTgtPnJlZ21h cCwgUlQxMzE4X1NSQ19UQ09OLA0KKwkJCQlSVDEzMThfU1JDSU5fRjEyMjg4X01BU0sgfCBSVDEz MThfU1JDSU5fREFDTEtfTUFTSywNCisJCQkJUlQxMzE4X1NSQ0lOX1RDT040IHwgUlQxMzE4X0RB Q0xLX1RDT04xKTsNCisJZWxzZQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQorDQorCXJldHVybiAwOw0K K30NCisNCitzdGF0aWMgaW50IHJ0MTMxOF9od19wYXJhbXMoc3RydWN0IHNuZF9wY21fc3Vic3Ry ZWFtICpzdWJzdHJlYW0sDQorCXN0cnVjdCBzbmRfcGNtX2h3X3BhcmFtcyAqcGFyYW1zLCBzdHJ1 Y3Qgc25kX3NvY19kYWkgKmRhaSkNCit7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29t cG9uZW50ID0gZGFpLT5jb21wb25lbnQ7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4ID0g c25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisJaW50IGRhdGFfbGVu ID0gMCwgY2hfbGVuID0gMDsNCisJaW50IHByZV9kaXYsIHJldDsNCisNCisJcnQxMzE4LT5scmNr ID0gcGFyYW1zX3JhdGUocGFyYW1zKTsNCisJcHJlX2RpdiA9IHJ0MTMxOF9nZXRfY2xrX2luZm8o cnQxMzE4LT5zeXNjbGssIHJ0MTMxOC0+bHJjayk7DQorCWlmIChwcmVfZGl2IDwgMCkgew0KKwkJ ZGV2X2Vycihjb21wb25lbnQtPmRldiwgIlVuc3VwcG9ydGVkIGNsb2NrIHNldHRpbmdcbiIpOw0K KwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisJcmV0ID0gcnQxMzE4X2Nsa19pcF9pbmZvKGNvbXBv bmVudCwgcnQxMzE4LT5scmNrKTsNCisJaWYgKHJldCA8IDApIHsNCisJCWRldl9lcnIoY29tcG9u ZW50LT5kZXYsICJVbnN1cHBvcnRlZCBjbG9jayBzZXR0aW5nXG4iKTsNCisJCXJldHVybiAtRUlO VkFMOw0KKwl9DQorDQorCXN3aXRjaCAocGFyYW1zX3dpZHRoKHBhcmFtcykpIHsNCisJY2FzZSAx NjoNCisJCWJyZWFrOw0KKwljYXNlIDIwOg0KKwkJZGF0YV9sZW4gPSBSVDEzMThfSTJTX0RMXzIw Ow0KKwkJY2hfbGVuID0gUlQxMzE4X0kyU19ETF8yMDsNCisJCWJyZWFrOw0KKwljYXNlIDI0Og0K KwkJZGF0YV9sZW4gPSBSVDEzMThfSTJTX0RMXzI0Ow0KKwkJY2hfbGVuID0gUlQxMzE4X0kyU19E TF8yNDsNCisJCWJyZWFrOw0KKwljYXNlIDMyOg0KKwkJZGF0YV9sZW4gPSBSVDEzMThfSTJTX0RM XzMyOw0KKwkJY2hfbGVuID0gUlQxMzE4X0kyU19ETF8zMjsNCisJCWJyZWFrOw0KKwljYXNlIDg6 DQorCQlkYXRhX2xlbiA9IFJUMTMxOF9JMlNfRExfODsNCisJCWNoX2xlbiA9IFJUMTMxOF9JMlNf RExfODsNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisN CisJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfQ0xLMiwNCisJCQkJ UlQxMzE4X0RJVl9BUF9NQVNLIHwgUlQxMzE4X0RJVl9EQU1PRF9NQVNLLA0KKwkJCQlwcmVfZGl2 IDw8IFJUMTMxOF9ESVZfQVBfU0ZUIHwNCisJCQkJcHJlX2RpdiA8PCBSVDEzMThfRElWX0RBTU9E X1NGVCk7DQorCXJlZ21hcF91cGRhdGVfYml0cyhydDEzMTgtPnJlZ21hcCwgUlQxMzE4X0NMSzMs DQorCQkJCVJUMTMxOF9BRF9TVE8xX01BU0sgfCBSVDEzMThfQURfU1RPMl9NQVNLLA0KKwkJCQlw cmVfZGl2IDw8IFJUMTMxOF9BRF9TVE8xX1NGVCB8DQorCQkJCXByZV9kaXYgPDwgUlQxMzE4X0FE X1NUTzJfU0ZUKTsNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThf Q0xLNCwNCisJCQkJUlQxMzE4X0FEX0FOQV9TVE8xX01BU0sgfCBSVDEzMThfQURfQU5BX1NUTzJf TUFTSywNCisJCQkJcHJlX2RpdiA8PCBSVDEzMThfQURfQU5BX1NUTzFfU0ZUIHwNCisJCQkJcHJl X2RpdiA8PCBSVDEzMThfQURfQU5BX1NUTzJfU0ZUKTsNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0 MTMxOC0+cmVnbWFwLCBSVDEzMThfQ0xLNSwNCisJCQkJUlQxMzE4X0RJVl9GSUZPX0lOX01BU0sg fCBSVDEzMThfRElWX0ZJRk9fT1VUX01BU0ssDQorCQkJCXByZV9kaXYgPDwgUlQxMzE4X0RJVl9G SUZPX0lOX1NGVCB8DQorCQkJCXByZV9kaXYgPDwgUlQxMzE4X0RJVl9GSUZPX09VVF9TRlQpOw0K KwlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9DTEs2LA0KKwkJCQlS VDEzMThfRElWX05MTVNfTUFTSyB8IFJUMTMxOF9ESVZfQURfTU9OT19NQVNLIHwNCisJCQkJUlQx MzE4X0RJVl9QT1NUX0dfTUFTSywgIHByZV9kaXYgPDwgUlQxMzE4X0RJVl9OTE1TX1NGVCB8DQor CQkJCXByZV9kaXYgPDwgUlQxMzE4X0RJVl9BRF9NT05PX1NGVCB8DQorCQkJCXByZV9kaXYgPDwg UlQxMzE4X0RJVl9QT1NUX0dfU0ZUKTsNCisNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+ cmVnbWFwLCBSVDEzMThfVERNX0NUUkwyLA0KKwkJCQlSVDEzMThfSTJTX0RMX01BU0ssIGRhdGFf bGVuIDw8IFJUMTMxOF9JMlNfRExfU0ZUKTsNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+ cmVnbWFwLCBSVDEzMThfVERNX0NUUkwzLA0KKwkJCQlSVDEzMThfSTJTX1RYX0NITF9NQVNLIHwg UlQxMzE4X0kyU19SWF9DSExfTUFTSywNCisJCQkJY2hfbGVuIDw8IFJUMTMxOF9JMlNfVFhfQ0hM X1NGVCB8DQorCQkJCWNoX2xlbiA8PCBSVDEzMThfSTJTX1JYX0NITF9TRlQpOw0KKw0KKwlyZXR1 cm4gMDsNCit9DQorDQorc3RhdGljIGludCBydDEzMThfc2V0X2RhaV9mbXQoc3RydWN0IHNuZF9z b2NfZGFpICpkYWksIHVuc2lnbmVkIGludCBmbXQpDQorew0KKwlzdHJ1Y3Qgc25kX3NvY19jb21w b25lbnQgKmNvbXBvbmVudCA9IGRhaS0+Y29tcG9uZW50Ow0KKwlzdHJ1Y3QgcnQxMzE4X3ByaXYg KnJ0MTMxOCA9IHNuZF9zb2NfY29tcG9uZW50X2dldF9kcnZkYXRhKGNvbXBvbmVudCk7DQorCXVu c2lnbmVkIGludCByZWdfdmFsID0gMCwgcmVnX3ZhbDIgPSAwOw0KKw0KKwlzd2l0Y2ggKGZtdCAm IFNORF9TT0NfREFJRk1UX0lOVl9NQVNLKSB7DQorCWNhc2UgU05EX1NPQ19EQUlGTVRfTkJfTkY6 DQorCQlicmVhazsNCisJY2FzZSBTTkRfU09DX0RBSUZNVF9JQl9ORjoNCisJCXJlZ192YWwyIHw9 IFJUMTMxOF9URE1fQkNMS19JTlY7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCXJldHVybiAt RUlOVkFMOw0KKwl9DQorDQorCXN3aXRjaCAoZm10ICYgU05EX1NPQ19EQUlGTVRfRk9STUFUX01B U0spIHsNCisJY2FzZSBTTkRfU09DX0RBSUZNVF9JMlM6DQorCQlicmVhazsNCisNCisJY2FzZSBT TkRfU09DX0RBSUZNVF9MRUZUX0o6DQorCQlyZWdfdmFsIHw9IFJUMTMxOF9GTVRfTEVGVF9KOw0K KwkJYnJlYWs7DQorDQorCWNhc2UgU05EX1NPQ19EQUlGTVRfRFNQX0E6DQorCQlyZWdfdmFsIHw9 IFJUMTMxOF9GTVRfUENNX0FfUjsNCisJCWJyZWFrOw0KKw0KKwljYXNlIFNORF9TT0NfREFJRk1U X0RTUF9COg0KKwkJcmVnX3ZhbCB8PSBSVDEzMThfRk1UX1BDTV9CX1I7DQorCQlicmVhazsNCisN CisJZGVmYXVsdDoNCisJCXJldHVybiAtRUlOVkFMOw0KKwl9DQorDQorCXJlZ21hcF91cGRhdGVf Yml0cyhydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1RETV9DVFJMMSwNCisJCQlSVDEzMThfSTJTX0ZN VF9NQVNLLCByZWdfdmFsKTsNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBS VDEzMThfVERNX0NUUkwxLA0KKwkJCVJUMTMxOF9URE1fQkNMS19NQVNLLCByZWdfdmFsMik7DQor DQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IHJ0MTMxOF9zZXRfZGFpX3N5c2Nsayhz dHJ1Y3Qgc25kX3NvY19kYWkgKmRhaSwNCisJCWludCBjbGtfaWQsIHVuc2lnbmVkIGludCBmcmVx LCBpbnQgZGlyKQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQgPSBk YWktPmNvbXBvbmVudDsNCisJc3RydWN0IHJ0MTMxOF9wcml2ICpydDEzMTggPSBzbmRfc29jX2Nv bXBvbmVudF9nZXRfZHJ2ZGF0YShjb21wb25lbnQpOw0KKwlpbnQgcmVnX3ZhbCA9IDA7DQorDQor CWlmIChmcmVxID09IHJ0MTMxOC0+c3lzY2xrICYmIGNsa19pZCA9PSBydDEzMTgtPnN5c2Nsa19z cmMpDQorCQlyZXR1cm4gMDsNCisNCisJc3dpdGNoIChjbGtfaWQpIHsNCisJY2FzZSBSVDEzMThf U0NMS19TX0JDTEs6DQorCQlyZWdfdmFsIHw9IFJUMTMxOF9TWVNDTEtfQkNMSzsNCisJCWJyZWFr Ow0KKwljYXNlIFJUMTMxOF9TQ0xLX1NfU0RXOg0KKwkJcmVnX3ZhbCB8PSBSVDEzMThfU1lTQ0xL X1NEVzsNCisJCWJyZWFrOw0KKwljYXNlIFJUMTMxOF9TQ0xLX1NfUExMMkY6DQorCQlyZWdfdmFs IHw9IFJUMTMxOF9TWVNDTEtfUExMMkY7DQorCQlicmVhazsNCisJY2FzZSBSVDEzMThfU0NMS19T X1BMTDJCOg0KKwkJcmVnX3ZhbCB8PSBSVDEzMThfU1lTQ0xLX1BMTDJCOw0KKwkJYnJlYWs7DQor CWNhc2UgUlQxMzE4X1NDTEtfU19NQ0xLOg0KKwkJcmVnX3ZhbCB8PSBSVDEzMThfU1lTQ0xLX01D TEs7DQorCQlicmVhazsNCisJY2FzZSBSVDEzMThfU0NMS19TX1JDMDoNCisJCXJlZ192YWwgfD0g UlQxMzE4X1NZU0NMS19SQzE7DQorCQlicmVhazsNCisJY2FzZSBSVDEzMThfU0NMS19TX1JDMToN CisJCXJlZ192YWwgfD0gUlQxMzE4X1NZU0NMS19SQzI7DQorCQlicmVhazsNCisJY2FzZSBSVDEz MThfU0NMS19TX1JDMjoNCisJCXJlZ192YWwgfD0gUlQxMzE4X1NZU0NMS19SQzM7DQorCQlicmVh azsNCisJZGVmYXVsdDoNCisJCWRldl9lcnIoY29tcG9uZW50LT5kZXYsICJJbnZhbGlkIGNsb2Nr IGlkICglZClcbiIsIGNsa19pZCk7DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KKw0KKwlydDEz MTgtPnN5c2NsayA9IGZyZXE7DQorCXJ0MTMxOC0+c3lzY2xrX3NyYyA9IGNsa19pZDsNCisJZGV2 X2RiZyhkYWktPmRldiwgIlN5c2NsayBpcyAlZEh6IGFuZCBjbG9jayBpZCBpcyAlZFxuIiwgZnJl cSwgY2xrX2lkKTsNCisJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThf Q0xLMSwNCisJCQlSVDEzMThfU1lTQ0xLX1NFTF9NQVNLLCByZWdfdmFsKTsNCisNCisJcmV0dXJu IDA7DQorfQ0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGxsX2NhbGNfbWFwIHBsbF9wcmVzZXRf dGFibGVbXSA9IHsNCisJezUxMjAwMCwgNDA5NjAwMCwgMjIsIDE5MCwgMCwgdHJ1ZSwgZmFsc2V9 LA0KKwl7MTAyNDAwMCwgNDA5NjAwMCwgMjIsIDk0LCAwLCB0cnVlLCBmYWxzZX0sDQorCXsxMDI0 MDAwLCAxNjM4NDAwMCwgNCwgMTkwLCAwLCB0cnVlLCBmYWxzZX0sDQorCXsxNDExMjAwLCAxMTI4 OTYwMCwgNiwgNjIsIDAsIHRydWUsIGZhbHNlfSwNCisJezE1MzYwMDAsIDEyMjg4MDAwLCA2LCA2 MiwgMCwgdHJ1ZSwgZmFsc2V9LA0KKwl7MjgyMjQwMCwgMTEyODk2MDAsIDYsIDYyLCAwLCB0cnVl LCBmYWxzZX0sDQorCXsyODIyNDAwLCA0NTE1ODQwMCwgMCwgNjIsIDAsIHRydWUsIGZhbHNlfSwN CisJezI4MjI0MDAsIDQ5MTUyMDAwLCAwLCA2MiwgMCwgdHJ1ZSwgZmFsc2V9LA0KKwl7MzA3MjAw MCwgMTIyODgwMDAsIDYsIDYyLCAwLCB0cnVlLCBmYWxzZX0sDQorCXszMDcyMDAwLCAyNDU3NjAw MCwgMiwgNjIsIDAsIHRydWUsIGZhbHNlfSwNCisJezMwNzIwMDAsIDQ5MTUyMDAwLCAwLCA2Miwg MCwgdHJ1ZSwgZmFsc2V9LA0KKwl7NjE0NDAwMCwgMjQ1NzYwMDAsIDIsIDk0LCA0LCBmYWxzZSwg ZmFsc2V9LA0KKwl7NjE0NDAwMCwgNDkxNTIwMDAsIDAsIDMwLCAwLCB0cnVlLCBmYWxzZX0sDQor CXs2MTQ0MDAwLCA5ODMwNDAwMCwgMCwgOTQsIDQsIGZhbHNlLCB0cnVlfSwNCisJezEyMjg4MDAw LCA0OTE1MjAwMCwgMCwgNjIsIDYsIGZhbHNlLCBmYWxzZX0sDQorfTsNCisNCitpbnQgcnQxMzE4 X3BsbF9jYWxjKGNvbnN0IHVuc2lnbmVkIGludCBmcmVxX2luLA0KKwljb25zdCB1bnNpZ25lZCBp bnQgZnJlcV9vdXQsIHN0cnVjdCBydDEzMThfcGxsX2NvZGUgKnBsbF9jb2RlKQ0KK3sNCisJaW50 IG1heF9uID0gUlQxMzE4X1BMTF9OX01BWCwgbWF4X20gPSBSVDEzMThfUExMX01fTUFYOw0KKwlp bnQgaSwgaywgcmVkLCBuX3QsIHBsbF9vdXQsIGluX3QsIG91dF90Ow0KKwlpbnQgbiA9IDAsIG0g PSAwLCBtX3QgPSAwOw0KKwlpbnQgcmVkX3QgPSBhYnMoZnJlcV9vdXQgLSBmcmVxX2luKTsNCisJ Ym9vbCBtX2J5cGFzcyA9IGZhbHNlLCBrX2J5cGFzcyA9IGZhbHNlOw0KKw0KKwlpZiAoUlQxMzE4 X1BMTF9JTlBfTUFYIDwgZnJlcV9pbiB8fCBSVDEzMThfUExMX0lOUF9NSU4gPiBmcmVxX2luKQ0K KwkJcmV0dXJuIC1FSU5WQUw7DQorDQorCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBsbF9w cmVzZXRfdGFibGUpOyBpKyspIHsNCisJCWlmIChmcmVxX2luID09IHBsbF9wcmVzZXRfdGFibGVb aV0ucGxsX2luICYmDQorCQkJZnJlcV9vdXQgPT0gcGxsX3ByZXNldF90YWJsZVtpXS5wbGxfb3V0 KSB7DQorCQkJayA9IHBsbF9wcmVzZXRfdGFibGVbaV0uazsNCisJCQltID0gcGxsX3ByZXNldF90 YWJsZVtpXS5tOw0KKwkJCW4gPSBwbGxfcHJlc2V0X3RhYmxlW2ldLm47DQorCQkJbV9ieXBhc3Mg PSBwbGxfcHJlc2V0X3RhYmxlW2ldLm1fYnA7DQorCQkJa19ieXBhc3MgPSBwbGxfcHJlc2V0X3Rh YmxlW2ldLmtfYnA7DQorCQkJZ290byBjb2RlX2ZpbmQ7DQorCQl9DQorCX0NCisNCisJayA9IDEw MDAwMDAwMCAvIGZyZXFfb3V0IC0gMjsNCisJaWYgKGsgPiBSVDEzMThfUExMX0tfTUFYKQ0KKwkJ ayA9IFJUMTMxOF9QTExfS19NQVg7DQorCWlmIChrIDwgMCkgew0KKwkJayA9IDA7DQorCQlrX2J5 cGFzcyA9IHRydWU7DQorCX0NCisJZm9yIChuX3QgPSAwOyBuX3QgPD0gbWF4X247IG5fdCsrKSB7 DQorCQlpbl90ID0gZnJlcV9pbiAvIChrX2J5cGFzcyA/IDEgOiAoayArIDIpKTsNCisJCXBsbF9v dXQgPSBmcmVxX291dCAvIChuX3QgKyAyKTsNCisJCWlmIChpbl90IDwgMCkNCisJCQljb250aW51 ZTsNCisJCWlmIChpbl90ID09IHBsbF9vdXQpIHsNCisJCQltX2J5cGFzcyA9IHRydWU7DQorCQkJ biA9IG5fdDsNCisJCQlnb3RvIGNvZGVfZmluZDsNCisJCX0NCisJCXJlZCA9IGFicyhpbl90IC0g cGxsX291dCk7DQorCQlpZiAocmVkIDwgcmVkX3QpIHsNCisJCQltX2J5cGFzcyA9IHRydWU7DQor CQkJbiA9IG5fdDsNCisJCQltID0gbV90Ow0KKwkJCWlmIChyZWQgPT0gMCkNCisJCQkJZ290byBj b2RlX2ZpbmQ7DQorCQkJcmVkX3QgPSByZWQ7DQorCQl9DQorCQlmb3IgKG1fdCA9IDA7IG1fdCA8 PSBtYXhfbTsgbV90KyspIHsNCisJCQlvdXRfdCA9IGluX3QgLyAobV90ICsgMik7DQorCQkJcmVk ID0gYWJzKG91dF90IC0gcGxsX291dCk7DQorCQkJaWYgKHJlZCA8IHJlZF90KSB7DQorCQkJCW1f YnlwYXNzID0gZmFsc2U7DQorCQkJCW4gPSBuX3Q7DQorCQkJCW0gPSBtX3Q7DQorCQkJCWlmIChy ZWQgPT0gMCkNCisJCQkJCWdvdG8gY29kZV9maW5kOw0KKwkJCQlyZWRfdCA9IHJlZDsNCisJCQl9 DQorCQl9DQorCX0NCisJcHJfZGVidWcoIk9ubHkgZ2V0IGFwcHJveGltYXRpb24gYWJvdXQgUExM XG4iKTsNCisNCitjb2RlX2ZpbmQ6DQorDQorCXBsbF9jb2RlLT5tX2JwID0gbV9ieXBhc3M7DQor CXBsbF9jb2RlLT5rX2JwID0ga19ieXBhc3M7DQorCXBsbF9jb2RlLT5tX2NvZGUgPSBtOw0KKwlw bGxfY29kZS0+bl9jb2RlID0gbjsNCisJcGxsX2NvZGUtPmtfY29kZSA9IGs7DQorCXJldHVybiAw Ow0KK30NCisNCitzdGF0aWMgaW50IHJ0MTMxOF9zZXRfZGFpX3BsbChzdHJ1Y3Qgc25kX3NvY19k YWkgKmRhaSwgaW50IHBsbF9pZCwgaW50IHNvdXJjZSwNCisJCQl1bnNpZ25lZCBpbnQgZnJlcV9p biwgdW5zaWduZWQgaW50IGZyZXFfb3V0KQ0KK3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50 ICpjb21wb25lbnQgPSBkYWktPmNvbXBvbmVudDsNCisJc3RydWN0IHJ0MTMxOF9wcml2ICpydDEz MTggPSBzbmRfc29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjb21wb25lbnQpOw0KKwlzdHJ1Y3Qg cnQxMzE4X3BsbF9jb2RlIHBsbF9jb2RlOw0KKwlpbnQgcmV0Ow0KKw0KKwlpZiAoIWZyZXFfaW4g fHwgIWZyZXFfb3V0KSB7DQorCQlkZXZfZGJnKGNvbXBvbmVudC0+ZGV2LCAiUExMIGRpc2FibGVk XG4iKTsNCisJCXJ0MTMxOC0+cGxsX2luID0gMDsNCisJCXJ0MTMxOC0+cGxsX291dCA9IDA7DQor CQlyZXR1cm4gMDsNCisJfQ0KKw0KKwlpZiAoc291cmNlID09IHJ0MTMxOC0+cGxsX3NyYyAmJiBm cmVxX2luID09IHJ0MTMxOC0+cGxsX2luICYmDQorCQlmcmVxX291dCA9PSBydDEzMTgtPnBsbF9v dXQpDQorCQlyZXR1cm4gMDsNCisNCisJc3dpdGNoIChzb3VyY2UpIHsNCisJY2FzZSBSVDEzMThf UExMX1NfQkNMSzA6DQorCQlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMx OF9DTEsxLA0KKwkJCVJUMTMxOF9QTExJTl9NQVNLLCBSVDEzMThfUExMSU5fQkNMSzApOw0KKwkJ YnJlYWs7DQorCWNhc2UgUlQxMzE4X1BMTF9TX0JDTEsxOg0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRz KHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfQ0xLMSwNCisJCQlSVDEzMThfUExMSU5fTUFTSywgUlQx MzE4X1BMTElOX0JDTEsxKTsNCisJCWJyZWFrOw0KKwljYXNlIFJUMTMxOF9QTExfU19SQzoNCisJ CXJlZ21hcF91cGRhdGVfYml0cyhydDEzMTgtPnJlZ21hcCwgUlQxMzE4X0NMSzEsDQorCQkJUlQx MzE4X1BMTElOX01BU0ssIFJUMTMxOF9QTExJTl9SQyk7DQorCQlicmVhazsNCisJY2FzZSBSVDEz MThfUExMX1NfTUNMSzoNCisJCXJlZ21hcF91cGRhdGVfYml0cyhydDEzMTgtPnJlZ21hcCwgUlQx MzE4X0NMSzEsDQorCQkJUlQxMzE4X1BMTElOX01BU0ssIFJUMTMxOF9QTExJTl9NQ0xLKTsNCisJ CWJyZWFrOw0KKwljYXNlIFJUMTMxOF9QTExfU19TRFdfSU5fUExMOg0KKwkJcmVnbWFwX3VwZGF0 ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfQ0xLMSwNCisJCQlSVDEzMThfUExMSU5fTUFT SywgUlQxMzE4X1BMTElOX1NEVzEpOw0KKwkJYnJlYWs7DQorCWNhc2UgUlQxMzE4X1BMTF9TX1NE V18wOg0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfQ0xLMSwN CisJCQlSVDEzMThfUExMSU5fTUFTSywgUlQxMzE4X1BMTElOX1NEVzIpOw0KKwkJYnJlYWs7DQor CWNhc2UgUlQxMzE4X1BMTF9TX1NEV18xOg0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+ cmVnbWFwLCBSVDEzMThfQ0xLMSwNCisJCQlSVDEzMThfUExMSU5fTUFTSywgUlQxMzE4X1BMTElO X1NEVzMpOw0KKwkJYnJlYWs7DQorCWNhc2UgUlQxMzE4X1BMTF9TX1NEV18yOg0KKwkJcmVnbWFw X3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfQ0xLMSwNCisJCQlSVDEzMThfUExM SU5fTUFTSywgUlQxMzE4X1BMTElOX1NEVzQpOw0KKwkJYnJlYWs7DQorCWRlZmF1bHQ6DQorCQlk ZXZfZXJyKGNvbXBvbmVudC0+ZGV2LCAiVW5rbm93biBQTEwgc291cmNlICVkXG4iLCBzb3VyY2Up Ow0KKwkJcmV0dXJuIC1FSU5WQUw7DQorCX0NCisNCisJcmV0ID0gcnQxMzE4X3BsbF9jYWxjKGZy ZXFfaW4sIGZyZXFfb3V0LCAmcGxsX2NvZGUpOw0KKwlpZiAocmV0IDwgMCkgew0KKwkJZGV2X2Vy cihjb21wb25lbnQtPmRldiwgIlVuc3VwcG9ydCBpbnB1dCBjbG9jayAlZFxuIiwgZnJlcV9pbik7 DQorCQlyZXR1cm4gcmV0Ow0KKwl9DQorDQorCWRldl9kYmcoY29tcG9uZW50LT5kZXYsICJieXBh c3M9JWQgbT0lZCBuPSVkIGs9JWRcbiIsDQorCQlwbGxfY29kZS5tX2JwLCAocGxsX2NvZGUubV9i cCA/IDAgOiBwbGxfY29kZS5tX2NvZGUpLA0KKwkJcGxsX2NvZGUubl9jb2RlLCBwbGxfY29kZS5r X2NvZGUpOw0KKw0KKwlyZWdtYXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9Q TEwxX0ssDQorCQkJUlQxMzE4X0tfUExMMV9NQVNLLCBwbGxfY29kZS5rX2NvZGUpOw0KKwlyZWdt YXBfdXBkYXRlX2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9QTEwxX00sDQorCQkJUlQxMzE4 X01fUExMMV9NQVNLLCAocGxsX2NvZGUubV9icCA/IDAgOiBwbGxfY29kZS5tX2NvZGUpKTsNCisJ cmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUExMMV9OXzgsDQorCQkJ UlQxMzE4X05fOF9QTEwxX01BU0ssIHBsbF9jb2RlLm5fY29kZSA+PiA4KTsNCisJcmVnbWFwX3Vw ZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUExMMV9OXzdfMCwNCisJCQlSVDEzMThf Tl83XzBfUExMMV9NQVNLLCBwbGxfY29kZS5uX2NvZGUpOw0KKw0KKwlydDEzMTgtPnBsbF9pbiA9 IGZyZXFfaW47DQorCXJ0MTMxOC0+cGxsX291dCA9IGZyZXFfb3V0Ow0KKwlydDEzMTgtPnBsbF9z cmMgPSBzb3VyY2U7DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50IHJ0MTMxOF9z ZXRfdGRtX3Nsb3Qoc3RydWN0IHNuZF9zb2NfZGFpICpkYWksIHVuc2lnbmVkIGludCB0eF9tYXNr LA0KKwkJCXVuc2lnbmVkIGludCByeF9tYXNrLCBpbnQgc2xvdHMsIGludCBzbG90X3dpZHRoKQ0K K3sNCisJc3RydWN0IHNuZF9zb2NfY29tcG9uZW50ICpjb21wb25lbnQgPSBkYWktPmNvbXBvbmVu dDsNCisJc3RydWN0IHJ0MTMxOF9wcml2ICpydDEzMTggPSBzbmRfc29jX2NvbXBvbmVudF9nZXRf ZHJ2ZGF0YShjb21wb25lbnQpOw0KKwl1bnNpZ25lZCBpbnQgY24gPSAwLCBjbCA9IDAsIHJ4X3Ns b3RudW07DQorCWludCByZXQgPSAwLCBmaXJzdF9iaXQ7DQorDQorCXN3aXRjaCAoc2xvdHMpIHsN CisJY2FzZSA0Og0KKwkJY24gfD0gUlQxMzE4X0kyU19DSF9UWF80Q0g7DQorCQljbiB8PSBSVDEz MThfSTJTX0NIX1JYXzRDSDsNCisJCWJyZWFrOw0KKwljYXNlIDY6DQorCQljbiB8PSBSVDEzMThf STJTX0NIX1RYXzZDSDsNCisJCWNuIHw9IFJUMTMxOF9JMlNfQ0hfUlhfNkNIOw0KKwkJYnJlYWs7 DQorCWNhc2UgODoNCisJCWNuIHw9IFJUMTMxOF9JMlNfQ0hfVFhfOENIOw0KKwkJY24gfD0gUlQx MzE4X0kyU19DSF9SWF84Q0g7DQorCQlicmVhazsNCisJY2FzZSAyOg0KKwkJYnJlYWs7DQorCWRl ZmF1bHQ6DQorCQlyZXR1cm4gLUVJTlZBTDsNCisJfQ0KKw0KKwlzd2l0Y2ggKHNsb3Rfd2lkdGgp IHsNCisJY2FzZSAyMDoNCisJCWNsIHw9IFJUMTMxOF9JMlNfVFhfQ0hMXzIwOw0KKwkJY2wgfD0g UlQxMzE4X0kyU19SWF9DSExfMjA7DQorCQlicmVhazsNCisJY2FzZSAyNDoNCisJCWNsIHw9IFJU MTMxOF9JMlNfVFhfQ0hMXzI0Ow0KKwkJY2wgfD0gUlQxMzE4X0kyU19SWF9DSExfMjQ7DQorCQli cmVhazsNCisJY2FzZSAzMjoNCisJCWNsIHw9IFJUMTMxOF9JMlNfVFhfQ0hMXzMyOw0KKwkJY2wg fD0gUlQxMzE4X0kyU19SWF9DSExfMzI7DQorCQlicmVhazsNCisJY2FzZSA4Og0KKwkJY2wgfD0g UlQxMzE4X0kyU19UWF9DSExfODsNCisJCWNsIHw9IFJUMTMxOF9JMlNfUlhfQ0hMXzg7DQorCQli cmVhazsNCisJY2FzZSAxNjoNCisJCWJyZWFrOw0KKwlkZWZhdWx0Og0KKwkJcmV0dXJuIC1FSU5W QUw7DQorCX0NCisNCisJLyogUnggc2xvdCBjb25maWd1cmF0aW9uICovDQorCXJ4X3Nsb3RudW0g PSBod2VpZ2h0X2xvbmcocnhfbWFzayk7DQorCWlmIChyeF9zbG90bnVtICE9IDEpIHsNCisJCXJl dCA9IC1FSU5WQUw7DQorCQlkZXZfZXJyKGNvbXBvbmVudC0+ZGV2LCAidG9vIG1hbnkgcnggc2xv dHMgb3IgemVybyBzbG90XG4iKTsNCisJCWdvdG8gX3NldF90ZG1fZXJyXzsNCisJfQ0KKw0KKwlm aXJzdF9iaXQgPSBfX2ZmcyhyeF9tYXNrKTsNCisJc3dpdGNoIChmaXJzdF9iaXQpIHsNCisJY2Fz ZSAwOg0KKwljYXNlIDI6DQorCWNhc2UgNDoNCisJY2FzZSA2Og0KKwkJcmVnbWFwX3VwZGF0ZV9i aXRzKHJ0MTMxOC0+cmVnbWFwLA0KKwkJCVJUMTMxOF9URE1fQ1RSTDksDQorCQkJUlQxMzE4X1RE TV9JMlNfVFhfTF9EQUMxXzFfTUFTSyB8DQorCQkJUlQxMzE4X1RETV9JMlNfVFhfUl9EQUMxXzFf TUFTSywNCisJCQkoZmlyc3RfYml0IDw8IFJUMTMxOF9URE1fSTJTX1RYX0xfREFDMV8xX1NGVCkg fA0KKwkJCSgoZmlyc3RfYml0ICsgMSkgPDwgUlQxMzE4X1RETV9JMlNfVFhfUl9EQUMxXzFfU0ZU KSk7DQorCQlicmVhazsNCisJY2FzZSAxOg0KKwljYXNlIDM6DQorCWNhc2UgNToNCisJY2FzZSA3 Og0KKwkJcmVnbWFwX3VwZGF0ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLA0KKwkJCVJUMTMxOF9URE1f Q1RSTDksDQorCQkJUlQxMzE4X1RETV9JMlNfVFhfTF9EQUMxXzFfTUFTSyB8DQorCQkJUlQxMzE4 X1RETV9JMlNfVFhfUl9EQUMxXzFfTUFTSywNCisJCQkoKGZpcnN0X2JpdCAtIDEpIDw8IFJUMTMx OF9URE1fSTJTX1RYX0xfREFDMV8xX1NGVCkgfA0KKwkJCShmaXJzdF9iaXQgPDwgUlQxMzE4X1RE TV9JMlNfVFhfUl9EQUMxXzFfU0ZUKSk7DQorCQlicmVhazsNCisJZGVmYXVsdDoNCisJCXJldCA9 IC1FSU5WQUw7DQorCQlnb3RvIF9zZXRfdGRtX2Vycl87DQorCX0NCisNCisJcmVnbWFwX3VwZGF0 ZV9iaXRzKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfVERNX0NUUkwyLA0KKwkJCVJUMTMxOF9JMlNf Q0hfVFhfTUFTSyB8IFJUMTMxOF9JMlNfQ0hfUlhfTUFTSywgY24pOw0KKwlyZWdtYXBfdXBkYXRl X2JpdHMocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9URE1fQ1RSTDMsDQorCQkJUlQxMzE4X0kyU19U WF9DSExfTUFTSyB8IFJUMTMxOF9JMlNfUlhfQ0hMX01BU0ssIGNsKTsNCisNCitfc2V0X3RkbV9l cnJfOg0KKwlyZXR1cm4gcmV0Ow0KK30NCisNCitzdGF0aWMgaW50IHJ0MTMxOF9wcm9iZShzdHJ1 Y3Qgc25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCkNCit7DQorCXN0cnVjdCBydDEzMThfcHJp diAqcnQxMzE4ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisN CisJcnQxMzE4LT5jb21wb25lbnQgPSBjb21wb25lbnQ7DQorDQorCXJ0MTMxOF9yZWdfaW5pdChj b21wb25lbnQpOw0KKwlzY2hlZHVsZV93b3JrKCZydDEzMTgtPmNhbGlfd29yayk7DQorCXJ0MTMx OC0+cnQxMzE4X2R2b2wgPSBSVDEzMThfRFZPTF9TVEVQOw0KKw0KKwlyZXR1cm4gMDsNCit9DQor DQorc3RhdGljIHZvaWQgcnQxMzE4X3JlbW92ZShzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNv bXBvbmVudCkNCit7DQorCXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4ID0gc25kX3NvY19jb21w b25lbnRfZ2V0X2RydmRhdGEoY29tcG9uZW50KTsNCisNCisJY2FuY2VsX3dvcmtfc3luYygmcnQx MzE4LT5jYWxpX3dvcmspOw0KK30NCisNCisjaWZkZWYgQ09ORklHX1BNDQorc3RhdGljIGludCBy dDEzMThfc3VzcGVuZChzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnQgKmNvbXBvbmVudCkNCit7DQor CXN0cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4ID0gc25kX3NvY19jb21wb25lbnRfZ2V0X2RydmRh dGEoY29tcG9uZW50KTsNCisNCisJcmVnY2FjaGVfY2FjaGVfb25seShydDEzMTgtPnJlZ21hcCwg dHJ1ZSk7DQorCXJlZ2NhY2hlX21hcmtfZGlydHkocnQxMzE4LT5yZWdtYXApOw0KKwlyZXR1cm4g MDsNCit9DQorDQorc3RhdGljIGludCBydDEzMThfcmVzdW1lKHN0cnVjdCBzbmRfc29jX2NvbXBv bmVudCAqY29tcG9uZW50KQ0KK3sNCisJc3RydWN0IHJ0MTMxOF9wcml2ICpydDEzMTggPSBzbmRf c29jX2NvbXBvbmVudF9nZXRfZHJ2ZGF0YShjb21wb25lbnQpOw0KKw0KKwlyZWdjYWNoZV9jYWNo ZV9vbmx5KHJ0MTMxOC0+cmVnbWFwLCBmYWxzZSk7DQorCXJlZ2NhY2hlX3N5bmMocnQxMzE4LT5y ZWdtYXApOw0KKwlyZXR1cm4gMDsNCit9DQorI2Vsc2UNCisjZGVmaW5lIHJ0MTMxOF9zdXNwZW5k IE5VTEwNCisjZGVmaW5lIHJ0MTMxOF9yZXN1bWUgTlVMTA0KKyNlbmRpZg0KKw0KKyNkZWZpbmUg UlQxMzE4X1NURVJFT19SQVRFUyBTTkRSVl9QQ01fUkFURV84MDAwXzE5MjAwMA0KKyNkZWZpbmUg UlQxMzE4X0ZPUk1BVFMgKFNORFJWX1BDTV9GTVRCSVRfUzE2X0xFIHwgU05EUlZfUENNX0ZNVEJJ VF9TMjBfM0xFIHwgXA0KKwkJCVNORFJWX1BDTV9GTVRCSVRfUzI0X0xFIHwgU05EUlZfUENNX0ZN VEJJVF9TOCkNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHNuZF9zb2NfZGFpX29wcyBydDEzMThf YWlmX2RhaV9vcHMgPSB7DQorCS5od19wYXJhbXMgPSBydDEzMThfaHdfcGFyYW1zLA0KKwkuc2V0 X2ZtdCA9IHJ0MTMxOF9zZXRfZGFpX2ZtdCwNCisJLnNldF9zeXNjbGsgPSBydDEzMThfc2V0X2Rh aV9zeXNjbGssDQorCS5zZXRfcGxsID0gcnQxMzE4X3NldF9kYWlfcGxsLA0KKwkuc2V0X3RkbV9z bG90ID0gcnQxMzE4X3NldF90ZG1fc2xvdCwNCit9Ow0KKw0KK3N0YXRpYyBzdHJ1Y3Qgc25kX3Nv Y19kYWlfZHJpdmVyIHJ0MTMxOF9kYWlbXSA9IHsNCisJew0KKwkJLm5hbWUgPSAicnQxMzE4LWFp ZiIsDQorCQkuaWQgPSAwLA0KKwkJLnBsYXliYWNrID0gew0KKwkJCS5zdHJlYW1fbmFtZSA9ICJB SUYxIFBsYXliYWNrIiwNCisJCQkuY2hhbm5lbHNfbWluID0gMSwNCisJCQkuY2hhbm5lbHNfbWF4 ID0gMiwNCisJCQkucmF0ZXMgPSBSVDEzMThfU1RFUkVPX1JBVEVTLA0KKwkJCS5mb3JtYXRzID0g UlQxMzE4X0ZPUk1BVFMsDQorCQl9LA0KKwkJLm9wcyA9ICZydDEzMThfYWlmX2RhaV9vcHMsDQor CX0NCit9Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgc25kX3NvY19jb21wb25lbnRfZHJpdmVy IHNvY19jb21wb25lbnRfZGV2X3J0MTMxOCA9IHsNCisJLnByb2JlID0gcnQxMzE4X3Byb2JlLA0K KwkucmVtb3ZlID0gcnQxMzE4X3JlbW92ZSwNCisJLnN1c3BlbmQgPSBydDEzMThfc3VzcGVuZCwN CisJLnJlc3VtZSA9IHJ0MTMxOF9yZXN1bWUsDQorCS5jb250cm9scyA9IHJ0MTMxOF9zbmRfY29u dHJvbHMsDQorCS5udW1fY29udHJvbHMgPSBBUlJBWV9TSVpFKHJ0MTMxOF9zbmRfY29udHJvbHMp LA0KKwkuZGFwbV93aWRnZXRzID0gcnQxMzE4X2RhcG1fd2lkZ2V0cywNCisJLm51bV9kYXBtX3dp ZGdldHMgPSBBUlJBWV9TSVpFKHJ0MTMxOF9kYXBtX3dpZGdldHMpLA0KKwkuZGFwbV9yb3V0ZXMg PSBydDEzMThfZGFwbV9yb3V0ZXMsDQorCS5udW1fZGFwbV9yb3V0ZXMgPSBBUlJBWV9TSVpFKHJ0 MTMxOF9kYXBtX3JvdXRlcyksDQorCS51c2VfcG1kb3duX3RpbWUgPSAxLA0KKwkuZW5kaWFubmVz cyA9IDEsDQorfTsNCisNCitzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ21hcF9jb25maWcgcnQxMzE4 X3JlZ21hcCA9IHsNCisJLnJlZ19iaXRzID0gMzIsDQorCS52YWxfYml0cyA9IDgsDQorCS5yZWFk YWJsZV9yZWcgPSBydDEzMThfcmVhZGFibGVfcmVnaXN0ZXIsDQorCS52b2xhdGlsZV9yZWcgPSBy dDEzMThfdm9sYXRpbGVfcmVnaXN0ZXIsDQorCS5tYXhfcmVnaXN0ZXIgPSAweDQxMDAxODg4LA0K KwkucmVnX2RlZmF1bHRzID0gcnQxMzE4X3JlZywNCisJLm51bV9yZWdfZGVmYXVsdHMgPSBBUlJB WV9TSVpFKHJ0MTMxOF9yZWcpLA0KKwkuY2FjaGVfdHlwZSA9IFJFR0NBQ0hFX1JCVFJFRSwNCisJ LnVzZV9zaW5nbGVfcmVhZCA9IHRydWUsDQorCS51c2Vfc2luZ2xlX3dyaXRlID0gdHJ1ZSwNCit9 Ow0KKw0KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTJjX2RldmljZV9pZCBydDEzMThfaTJjX2lkW10g PSB7DQorCXsgInJ0MTMxOCIsIDAgfSwNCisJeyB9DQorfTsNCitNT0RVTEVfREVWSUNFX1RBQkxF KGkyYywgcnQxMzE4X2kyY19pZCk7DQorDQorc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2Vf aWQgcnQxMzE4X29mX21hdGNoW10gPSB7DQorCXsgLmNvbXBhdGlibGUgPSAicmVhbHRlayxydDEz MTgiLCB9LA0KKwl7fSwNCit9Ow0KK01PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIHJ0MTMxOF9vZl9t YXRjaCk7DQorDQorI2lmZGVmIENPTkZJR19BQ1BJDQorc3RhdGljIGNvbnN0IHN0cnVjdCBhY3Bp X2RldmljZV9pZCBydDEzMThfYWNwaV9tYXRjaFtdID0gew0KKwl7ICIxMEVDMTMxOCIsIDB9LA0K Kwl7IH0sDQorfTsNCitNT0RVTEVfREVWSUNFX1RBQkxFKGFjcGksIHJ0MTMxOF9hY3BpX21hdGNo KTsNCisjZW5kaWYNCisNCitzdGF0aWMgaW50IHJ0MTMxOF9wYXJzZV9kdChzdHJ1Y3QgcnQxMzE4 X3ByaXYgKnJ0MTMxOCwgc3RydWN0IGRldmljZSAqZGV2KQ0KK3sNCisJZGV2aWNlX3Byb3BlcnR5 X3JlYWRfdTMyKGRldiwgInJlYWx0ZWsscjBfbCIsDQorCQkmcnQxMzE4LT5wZGF0YS5pbml0X3Iw X2wpOw0KKwlkZXZpY2VfcHJvcGVydHlfcmVhZF91MzIoZGV2LCAicmVhbHRlayxyMF9yIiwNCisJ CSZydDEzMTgtPnBkYXRhLmluaXRfcjBfcik7DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0 aWMgdm9pZCBydDEzMThfY2FsaWJyYXRpb25fc2VxdWVuY2Uoc3RydWN0IHJ0MTMxOF9wcml2ICpy dDEzMTgpDQorew0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9DTEsxLCAw eDIyKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUExMMV9OXzdfMCwg MHgwNik7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1NUUF9URU1QX0ws IDB4Q0MpOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9TVFBfU0VMX0ws IDB4NDApOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9TVFBfU0VMX1Is IDB4NDApOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9TSU5FX0dFTjAs IDB4MjApOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9TUEtfVk9MX1RI LCAweDAwKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfRkVFREJBQ0tf UEFUSCwgMHgwQik7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1RDT04s IDB4MUMpOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9UQ09OX1JFTEFU RSwgMHg1OCk7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1RDT05fUkVM QVRFLCAweDc4KTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU1RQX1Iw X0VOX0wsIDB4QzIpOw0KK30NCisNCitzdGF0aWMgdm9pZCBydDEzMThfcjBfY2FsY3VsYXRlKHN0 cnVjdCBydDEzMThfcHJpdiAqcnQxMzE4KQ0KK3sNCisJdW5zaWduZWQgaW50IHIwX2wsIHIwX2xf Ynl0ZTAsIHIwX2xfYnl0ZTEsIHIwX2xfYnl0ZTIsIHIwX2xfYnl0ZTM7DQorCXVuc2lnbmVkIGlu dCByMF9yLCByMF9yX2J5dGUwLCByMF9yX2J5dGUxLCByMF9yX2J5dGUyLCByMF9yX2J5dGUzOw0K Kwl1bnNpZ25lZCBpbnQgcjBfbF9pbnRlZ2VyLCByMF9sX2ZhY3RvciwgcjBfcl9pbnRlZ2VyLCBy MF9yX2ZhY3RvcjsNCisJdW5zaWduZWQgaW50IGZvcm1hdCA9IDE2Nzc3MjE2OyAvKiAyXjI0ICov DQorDQorCXJlZ21hcF9yZWFkKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUjBfTF8yNCwgJnIwX2xf Ynl0ZTApOw0KKwlyZWdtYXBfcmVhZChydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1IwX0xfMjNfMTYs ICZyMF9sX2J5dGUxKTsNCisJcmVnbWFwX3JlYWQocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9SMF9M XzE1XzgsICZyMF9sX2J5dGUyKTsNCisJcmVnbWFwX3JlYWQocnQxMzE4LT5yZWdtYXAsIFJUMTMx OF9SMF9MXzdfMCwgJnIwX2xfYnl0ZTMpOw0KKwlyMF9sID0gcjBfbF9ieXRlMCA8PCAyNCB8IHIw X2xfYnl0ZTEgPDwgMTYgfCByMF9sX2J5dGUyIDw8IDggfCByMF9sX2J5dGUzOw0KKwlyMF9sX2lu dGVnZXIgPSBmb3JtYXQgLyByMF9sOw0KKwlyMF9sX2ZhY3RvciA9IChmb3JtYXQgKiAxMCkgLyBy MF9sIC0gcjBfbF9pbnRlZ2VyICogMTA7DQorDQorCXJlZ21hcF9yZWFkKHJ0MTMxOC0+cmVnbWFw LCBSVDEzMThfUjBfUl8yNCwgJnIwX3JfYnl0ZTApOw0KKwlyZWdtYXBfcmVhZChydDEzMTgtPnJl Z21hcCwgUlQxMzE4X1IwX1JfMjNfMTYsICZyMF9yX2J5dGUxKTsNCisJcmVnbWFwX3JlYWQocnQx MzE4LT5yZWdtYXAsIFJUMTMxOF9SMF9SXzE1XzgsICZyMF9yX2J5dGUyKTsNCisJcmVnbWFwX3Jl YWQocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9SMF9SXzdfMCwgJnIwX3JfYnl0ZTMpOw0KKwlyMF9y ID0gcjBfcl9ieXRlMCA8PCAyNCB8IHIwX3JfYnl0ZTEgPDwgMTYgfCByMF9yX2J5dGUyIDw8IDgg fCByMF9yX2J5dGUzOw0KKwlyMF9yX2ludGVnZXIgPSBmb3JtYXQgLyByMF9yOw0KKwlyMF9yX2Zh Y3RvciA9IChmb3JtYXQgKiAxMCkgLyByMF9yIC0gcjBfcl9pbnRlZ2VyICogMTA7DQorDQorCWRl dl9kYmcocnQxMzE4LT5jb21wb25lbnQtPmRldiwgInIwX2xfY2g6JWQuJWQgb2htXG4iLCByMF9s X2ludGVnZXIsIHIwX2xfZmFjdG9yKTsNCisJZGV2X2RiZyhydDEzMTgtPmNvbXBvbmVudC0+ZGV2 LCAicjBfcl9jaDolZC4lZCBvaG1cbiIsIHIwX3JfaW50ZWdlciwgcjBfcl9mYWN0b3IpOw0KK30N CisNCitzdGF0aWMgdm9pZCBydDEzMThfcjBfcmVzdG9yZShzdHJ1Y3QgcnQxMzE4X3ByaXYgKnJ0 MTMxOCkNCit7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BSRV9SMF9M XzI0LA0KKwkJKHJ0MTMxOC0+cGRhdGEuaW5pdF9yMF9sID4+IDI0KSAmIDB4ZmYpOw0KKwlyZWdt YXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9QUkVfUjBfTF8yM18xNiwNCisJCShydDEz MTgtPnBkYXRhLmluaXRfcjBfbCA+PiAxNikgJiAweGZmKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMx OC0+cmVnbWFwLCBSVDEzMThfUFJFX1IwX0xfMTVfOCwNCisJCShydDEzMTgtPnBkYXRhLmluaXRf cjBfbCA+PiA4KSAmIDB4ZmYpOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMx OF9QUkVfUjBfTF83XzAsDQorCQkocnQxMzE4LT5wZGF0YS5pbml0X3IwX2wgPj4gMCkgJiAweGZm KTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUFJFX1IwX1JfMjQsDQor CQkocnQxMzE4LT5wZGF0YS5pbml0X3IwX3IgPj4gMjQpICYgMHhmZik7DQorCXJlZ21hcF93cml0 ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BSRV9SMF9SXzIzXzE2LA0KKwkJKHJ0MTMxOC0+cGRh dGEuaW5pdF9yMF9yID4+IDE2KSAmIDB4ZmYpOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdt YXAsIFJUMTMxOF9QUkVfUjBfUl8xNV84LA0KKwkJKHJ0MTMxOC0+cGRhdGEuaW5pdF9yMF9yID4+ IDgpICYgMHhmZik7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BSRV9S MF9SXzdfMCwNCisJCShydDEzMTgtPnBkYXRhLmluaXRfcjBfciA+PiAwKSAmIDB4ZmYpOw0KKwly ZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9TVFBfU0VMX0wsIDB4ODApOw0KKwly ZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9TVFBfU0VMX1IsIDB4ODApOw0KKwly ZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9SMF9DTVBfTF9GTEFHLCAweGMwKTsN CisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUjBfQ01QX1JfRkxBRywgMHhj MCk7DQorCXJlZ21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1NUUF9SMF9FTl9MLCAw eGMwKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfU1RQX1IwX0VOX1Is IDB4YzApOw0KKwlyZWdtYXBfd3JpdGUocnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9TVFBfVEVNUF9M LCAweGNjKTsNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfVENPTiwgMHg5 Yyk7DQorfQ0KKw0KK3N0YXRpYyBpbnQgcnQxMzE4X2NhbGlicmF0ZShzdHJ1Y3QgcnQxMzE4X3By aXYgKnJ0MTMxOCkNCit7DQorCWludCBjaGtfY250ID0gMzAsIGNvdW50ID0gMDsNCisJaW50IHZh bCwgdmFsMjsNCisNCisJcmVnbWFwX3dyaXRlKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUFdSX1NU QTEsIDB4MSk7DQorCXVzbGVlcF9yYW5nZSgwLCAxMDAwMCk7DQorCXJ0MTMxOF9jYWxpYnJhdGlv bl9zZXF1ZW5jZShydDEzMTgpOw0KKw0KKwl3aGlsZSAoY291bnQgPCBjaGtfY250KSB7DQorCQlt c2xlZXAoMTAwKTsNCisJCXJlZ21hcF9yZWFkKHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUjBfQ01Q X0xfRkxBRywgJnZhbCk7DQorCQlyZWdtYXBfcmVhZChydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1Iw X0NNUF9SX0ZMQUcsICZ2YWwyKTsNCisJCXZhbCA9ICh2YWwgPj4gMSkgJiAweDE7DQorCQl2YWwy ID0gKHZhbDIgPj4gMSkgJiAweDE7DQorCQlpZiAodmFsICYgdmFsMikgew0KKwkJCWRldl9kYmco cnQxMzE4LT5jb21wb25lbnQtPmRldiwgIkNhbGlicmF0aW9uIGRvbmUuXG4iKTsNCisJCQlicmVh azsNCisJCX0NCisJCWNvdW50Kys7DQorCQlpZiAoY291bnQgPT0gY2hrX2NudCkgew0KKwkJCXJl Z21hcF93cml0ZShydDEzMTgtPnJlZ21hcCwgUlQxMzE4X1BXUl9TVEExLCAweDApOw0KKwkJCXJl dHVybiBSVDEzMThfUjBfQ0FMSUJfTk9UX0RPTkU7DQorCQl9DQorCX0NCisJcmVnbWFwX3dyaXRl KHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUFdSX1NUQTEsIDB4MCk7DQorCXJlZ21hcF9yZWFkKHJ0 MTMxOC0+cmVnbWFwLCBSVDEzMThfUjBfQ01QX0xfRkxBRywgJnZhbCk7DQorCXJlZ21hcF9yZWFk KHJ0MTMxOC0+cmVnbWFwLCBSVDEzMThfUjBfQ01QX1JfRkxBRywgJnZhbDIpOw0KKwlpZiAoKHZh bCAmIDB4MSkgJiAodmFsMiAmIDB4MSkpDQorCQlyZXR1cm4gUlQxMzE4X1IwX0lOX1JBTkdFOw0K KwllbHNlDQorCQlyZXR1cm4gUlQxMzE4X1IwX09VVF9PRl9SQU5HRTsNCit9DQorDQorc3RhdGlj IHZvaWQgcnQxMzE4X2NhbGlicmF0aW9uX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQ0K K3sNCisJc3RydWN0IHJ0MTMxOF9wcml2ICpydDEzMTggPQ0KKwkJY29udGFpbmVyX29mKHdvcmss IHN0cnVjdCBydDEzMThfcHJpdiwgY2FsaV93b3JrKTsNCisJaW50IHJldDsNCisNCisJaWYgKHJ0 MTMxOC0+cGRhdGEuaW5pdF9yMF9sICYmIHJ0MTMxOC0+cGRhdGEuaW5pdF9yMF9yKQ0KKwkJcnQx MzE4X3IwX3Jlc3RvcmUocnQxMzE4KTsNCisJZWxzZSB7DQorCQlyZXQgPSBydDEzMThfY2FsaWJy YXRlKHJ0MTMxOCk7DQorCQlpZiAocmV0ID09IFJUMTMxOF9SMF9JTl9SQU5HRSkNCisJCQlydDEz MThfcjBfY2FsY3VsYXRlKHJ0MTMxOCk7DQorCQlkZXZfZGJnKHJ0MTMxOC0+Y29tcG9uZW50LT5k ZXYsICJDYWxpYnJhdGUgUjAgcmVzdWx0OiVkXG4iLCByZXQpOw0KKwl9DQorfQ0KKw0KK3N0YXRp YyBpbnQgcnQxMzE4X2kyY19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqaTJjKQ0KK3sNCisJc3Ry dWN0IHJ0MTMxOF9wbGF0Zm9ybV9kYXRhICpwZGF0YSA9IGRldl9nZXRfcGxhdGRhdGEoJmkyYy0+ ZGV2KTsNCisJc3RydWN0IHJ0MTMxOF9wcml2ICpydDEzMTg7DQorCWludCByZXQsIHZhbCwgdmFs MiwgZGV2X2lkOw0KKw0KKwlydDEzMTggPSBkZXZtX2t6YWxsb2MoJmkyYy0+ZGV2LCBzaXplb2Yo c3RydWN0IHJ0MTMxOF9wcml2KSwNCisJCQkJR0ZQX0tFUk5FTCk7DQorCWlmICghcnQxMzE4KQ0K KwkJcmV0dXJuIC1FTk9NRU07DQorDQorCWkyY19zZXRfY2xpZW50ZGF0YShpMmMsIHJ0MTMxOCk7 DQorDQorCWlmIChwZGF0YSkNCisJCXJ0MTMxOC0+cGRhdGEgPSAqcGRhdGE7DQorCWVsc2UNCisJ CXJ0MTMxOF9wYXJzZV9kdChydDEzMTgsICZpMmMtPmRldik7DQorDQorCXJ0MTMxOC0+cmVnbWFw ID0gZGV2bV9yZWdtYXBfaW5pdF9pMmMoaTJjLCAmcnQxMzE4X3JlZ21hcCk7DQorCWlmIChJU19F UlIocnQxMzE4LT5yZWdtYXApKSB7DQorCQlyZXQgPSBQVFJfRVJSKHJ0MTMxOC0+cmVnbWFwKTsN CisJCWRldl9lcnIoJmkyYy0+ZGV2LCAiRmFpbGVkIHRvIGFsbG9jYXRlIHJlZ2lzdGVyIG1hcDog JWRcbiIsDQorCQkJcmV0KTsNCisJCXJldHVybiByZXQ7DQorCX0NCisNCisJcmVnbWFwX3JlYWQo cnQxMzE4LT5yZWdtYXAsIFJUMTMxOF9ERVZfSUQxLCAmdmFsKTsNCisJcmVnbWFwX3JlYWQocnQx MzE4LT5yZWdtYXAsIFJUMTMxOF9ERVZfSUQyLCAmdmFsMik7DQorCWRldl9pZCA9ICh2YWwgPDwg OCkgfCB2YWwyOw0KKwlpZiAoZGV2X2lkICE9IDB4NjgyMSkgew0KKwkJZGV2X2VycigmaTJjLT5k ZXYsDQorCQkJIkRldmljZSB3aXRoIElEIHJlZ2lzdGVyICUjeCBpcyBub3QgcnQxMzE4XG4iLA0K KwkJCWRldl9pZCk7DQorCQlyZXR1cm4gLUVOT0RFVjsNCisJfQ0KKw0KKwlJTklUX1dPUksoJnJ0 MTMxOC0+Y2FsaV93b3JrLCBydDEzMThfY2FsaWJyYXRpb25fd29yayk7DQorDQorCXJldHVybiBk ZXZtX3NuZF9zb2NfcmVnaXN0ZXJfY29tcG9uZW50KCZpMmMtPmRldiwNCisJCSZzb2NfY29tcG9u ZW50X2Rldl9ydDEzMTgsIHJ0MTMxOF9kYWksIEFSUkFZX1NJWkUocnQxMzE4X2RhaSkpOw0KK30N CisNCitzdHJ1Y3QgaTJjX2RyaXZlciBydDEzMThfaTJjX2RyaXZlciA9IHsNCisJLmRyaXZlciA9 IHsNCisJCS5uYW1lID0gInJ0MTMxOCIsDQorCQkub2ZfbWF0Y2hfdGFibGUgPSBvZl9tYXRjaF9w dHIocnQxMzE4X29mX21hdGNoKSwNCisJCS5hY3BpX21hdGNoX3RhYmxlID0gQUNQSV9QVFIocnQx MzE4X2FjcGlfbWF0Y2gpLA0KKwl9LA0KKwkucHJvYmVfbmV3ID0gcnQxMzE4X2kyY19wcm9iZSwN CisJLmlkX3RhYmxlID0gcnQxMzE4X2kyY19pZCwNCit9Ow0KK21vZHVsZV9pMmNfZHJpdmVyKHJ0 MTMxOF9pMmNfZHJpdmVyKTsNCisNCitNT0RVTEVfREVTQ1JJUFRJT04oIkFTb0MgUlQxMzE4IGRy aXZlciIpOw0KK01PRFVMRV9BVVRIT1IoIkphY2sgWXUgPGphY2sueXVAcmVhbHRlay5jb20+Iik7 DQorTU9EVUxFX0xJQ0VOU0UoIkdQTCIpOw0KZGlmZiAtLWdpdCBhL3NvdW5kL3NvYy9jb2RlY3Mv cnQxMzE4LmggYi9zb3VuZC9zb2MvY29kZWNzL3J0MTMxOC5oDQpuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KaW5kZXggMDAwMDAwMDAwMDAwLi5jZWM0MGI0ODQyMTYNCi0tLSAvZGV2L251bGwNCisrKyBi L3NvdW5kL3NvYy9jb2RlY3MvcnQxMzE4LmgNCkBAIC0wLDAgKzEsMzQyIEBADQorLyogU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seSAqLw0KKy8qDQorICogcnQxMzE4LmggLS0g UGxhdGZvcm0gZGF0YSBmb3IgUlQxMzE4DQorICoNCisgKiBDb3B5cmlnaHQgMjAyNCBSZWFsdGVr IFNlbWljb25kdWN0b3IgQ29ycC4NCisgKi8NCisjaW5jbHVkZSA8c291bmQvcnQxMzE4Lmg+DQor DQorI2lmbmRlZiBfX1JUMTMxOF9IX18NCisjZGVmaW5lIF9fUlQxMzE4X0hfXw0KKw0KK3N0cnVj dCBydDEzMThfcHJpdiB7DQorCXN0cnVjdCBzbmRfc29jX2NvbXBvbmVudCAqY29tcG9uZW50Ow0K KwlzdHJ1Y3QgcnQxMzE4X3BsYXRmb3JtX2RhdGEgcGRhdGE7DQorCXN0cnVjdCB3b3JrX3N0cnVj dCBjYWxpX3dvcms7DQorCXN0cnVjdCByZWdtYXAgKnJlZ21hcDsNCisNCisJdW5zaWduZWQgaW50 IHIwX2xfaW50ZWdlcjsNCisJdW5zaWduZWQgaW50IHIwX2xfZmFjdG9yOw0KKwl1bnNpZ25lZCBp bnQgcjBfcl9pbnRlZ2VyOw0KKwl1bnNpZ25lZCBpbnQgcjBfcl9mYWN0b3I7DQorCWludCBydDEz MThfaW5pdDsNCisJaW50IHJ0MTMxOF9kdm9sOw0KKwlpbnQgc3lzY2xrX3NyYzsNCisJaW50IHN5 c2NsazsNCisJaW50IGxyY2s7DQorCWludCBiY2xrOw0KKwlpbnQgbWFzdGVyOw0KKwlpbnQgcGxs X3NyYzsNCisJaW50IHBsbF9pbjsNCisJaW50IHBsbF9vdXQ7DQorfTsNCisNCisjZGVmaW5lIFJU MTMxOF9QTExfSU5QX01BWAk0MDAwMDAwMA0KKyNkZWZpbmUgUlQxMzE4X1BMTF9JTlBfTUlOCTI1 NjAwMA0KKyNkZWZpbmUgUlQxMzE4X1BMTF9OX01BWAkweDFmZg0KKyNkZWZpbmUgUlQxMzE4X1BM TF9LX01BWAkweDFmDQorI2RlZmluZSBSVDEzMThfUExMX01fTUFYCTB4MWYNCisNCisjZGVmaW5l IFJUMTMxOF9MUkNMS18xOTIwMDAgMTkyMDAwDQorI2RlZmluZSBSVDEzMThfTFJDTEtfOTYwMDAg OTYwMDANCisjZGVmaW5lIFJUMTMxOF9MUkNMS180ODAwMCA0ODAwMA0KKyNkZWZpbmUgUlQxMzE4 X0xSQ0xLXzQ0MTAwIDQ0MTAwDQorI2RlZmluZSBSVDEzMThfTFJDTEtfMTYwMDAgMTYwMDANCisj ZGVmaW5lIFJUMTMxOF9EVk9MX1NURVAgMzgzDQorDQorI2RlZmluZSBSVDEzMThfQ0xLMQkJCQkw eGMwMDENCisjZGVmaW5lIFJUMTMxOF9DTEsyCQkJCTB4YzAwMw0KKyNkZWZpbmUgUlQxMzE4X0NM SzMJCQkJMHhjMDA0DQorI2RlZmluZSBSVDEzMThfQ0xLNAkJCQkweGMwMDUNCisjZGVmaW5lIFJU MTMxOF9DTEs1CQkJCTB4YzAwNg0KKyNkZWZpbmUgUlQxMzE4X0NMSzYJCQkJMHhjMDA3DQorI2Rl ZmluZSBSVDEzMThfQ0xLNwkJCQkweGMwMDgNCisjZGVmaW5lIFJUMTMxOF9QV1JfU1RBMQkJCQkw eGMxMjENCisjZGVmaW5lIFJUMTMxOF9TUEtfVk9MX1RICQkJMHhjMTMwDQorI2RlZmluZSBSVDEz MThfVENPTgkJCQkweGMyMDMNCisjZGVmaW5lIFJUMTMxOF9TUkNfVENPTgkJCQkweGMyMDQNCisj ZGVmaW5lIFJUMTMxOF9UQ09OX1JFTEFURQkJCTB4YzIwNg0KKyNkZWZpbmUgUlQxMzE4X0RBX1ZP TF9MXzgJCQkweGMyMGINCisjZGVmaW5lIFJUMTMxOF9EQV9WT0xfTF8xXzcJCQkweGMyMGMNCisj ZGVmaW5lIFJUMTMxOF9EQV9WT0xfUl84CQkJMHhjMjBkDQorI2RlZmluZSBSVDEzMThfREFfVk9M X1JfMV83CQkJMHhjMjBlDQorI2RlZmluZSBSVDEzMThfRkVFREJBQ0tfUEFUSAkJCTB4YzMyMQ0K KyNkZWZpbmUgUlQxMzE4X1NUUF9URU1QX0wJCQkweGRiMDANCisjZGVmaW5lIFJUMTMxOF9TVFBf U0VMX0wJCQkweGRiMDgNCisjZGVmaW5lIFJUMTMxOF9TVFBfUjBfRU5fTAkJCTB4ZGIxMg0KKyNk ZWZpbmUgUlQxMzE4X1IwX0NNUF9MX0ZMQUcJCQkweGRiMzUNCisjZGVmaW5lIFJUMTMxOF9QUkVf UjBfTF8yNAkJCTB4ZGJiNQ0KKyNkZWZpbmUgUlQxMzE4X1BSRV9SMF9MXzIzXzE2CQkJMHhkYmI2 DQorI2RlZmluZSBSVDEzMThfUFJFX1IwX0xfMTVfOAkJCTB4ZGJiNw0KKyNkZWZpbmUgUlQxMzE4 X1BSRV9SMF9MXzdfMAkJCTB4ZGJiOA0KKyNkZWZpbmUgUlQxMzE4X1IwX0xfMjQJCQkJMHhkYmM1 DQorI2RlZmluZSBSVDEzMThfUjBfTF8yM18xNgkJCTB4ZGJjNg0KKyNkZWZpbmUgUlQxMzE4X1Iw X0xfMTVfOAkJCTB4ZGJjNw0KKyNkZWZpbmUgUlQxMzE4X1IwX0xfN18wCQkJCTB4ZGJjOA0KKyNk ZWZpbmUgUlQxMzE4X1NUUF9TRUxfUgkJCTB4ZGQwOA0KKyNkZWZpbmUgUlQxMzE4X1NUUF9SMF9F Tl9SCQkJMHhkZDEyDQorI2RlZmluZSBSVDEzMThfUjBfQ01QX1JfRkxBRwkJCTB4ZGQzNQ0KKyNk ZWZpbmUgUlQxMzE4X1BSRV9SMF9SXzI0CQkJMHhkZGI1DQorI2RlZmluZSBSVDEzMThfUFJFX1Iw X1JfMjNfMTYJCQkweGRkYjYNCisjZGVmaW5lIFJUMTMxOF9QUkVfUjBfUl8xNV84CQkJMHhkZGI3 DQorI2RlZmluZSBSVDEzMThfUFJFX1IwX1JfN18wCQkJMHhkZGI4DQorI2RlZmluZSBSVDEzMThf UjBfUl8yNAkJCQkweGRkYzUNCisjZGVmaW5lIFJUMTMxOF9SMF9SXzIzXzE2CQkJMHhkZGM2DQor I2RlZmluZSBSVDEzMThfUjBfUl8xNV84CQkJMHhkZGM3DQorI2RlZmluZSBSVDEzMThfUjBfUl83 XzAJCQkJMHhkZGM4DQorI2RlZmluZSBSVDEzMThfREVWX0lEMQkJCQkweGYwMTINCisjZGVmaW5l IFJUMTMxOF9ERVZfSUQyCQkJCTB4ZjAxMw0KKyNkZWZpbmUgUlQxMzE4X1BMTDFfSwkJCQkweGYy MGQNCisjZGVmaW5lIFJUMTMxOF9QTEwxX00JCQkJMHhmMjBmDQorI2RlZmluZSBSVDEzMThfUExM MV9OXzgJCQkJMHhmMjExDQorI2RlZmluZSBSVDEzMThfUExMMV9OXzdfMAkJCTB4ZjIxMg0KKyNk ZWZpbmUgUlQxMzE4X1NJTkVfR0VOMAkJCTB4ZjgwMA0KKyNkZWZpbmUgUlQxMzE4X1RETV9DVFJM MQkJCTB4ZjkwMA0KKyNkZWZpbmUgUlQxMzE4X1RETV9DVFJMMgkJCTB4ZjkwMQ0KKyNkZWZpbmUg UlQxMzE4X1RETV9DVFJMMwkJCTB4ZjkwMg0KKyNkZWZpbmUgUlQxMzE4X1RETV9DVFJMOQkJCTB4 ZjkwOA0KKw0KKw0KKy8qIENsb2NrLTEgICgweEMwMDEpICovDQorI2RlZmluZSBSVDEzMThfUExM SU5fTUFTSwkJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9QTExJTl9CQ0xLMAkJCSgweDAg PDwgNCkNCisjZGVmaW5lIFJUMTMxOF9QTExJTl9CQ0xLMQkJCSgweDEgPDwgNCkNCisjZGVmaW5l IFJUMTMxOF9QTExJTl9SQwkJCQkoMHgyIDw8IDQpDQorI2RlZmluZSBSVDEzMThfUExMSU5fTUNM SwkJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9QTExJTl9TRFcxCQkJKDB4NCA8PCA0KQ0K KyNkZWZpbmUgUlQxMzE4X1BMTElOX1NEVzIJCQkoMHg1IDw8IDQpDQorI2RlZmluZSBSVDEzMThf UExMSU5fU0RXMwkJCSgweDYgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9QTExJTl9TRFc0CQkJKDB4 NyA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X1NZU0NMS19TRUxfTUFTSwkJCSgweDcgPDwgMCkNCisj ZGVmaW5lIFJUMTMxOF9TWVNDTEtfQkNMSwkJCSgweDAgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9T WVNDTEtfU0RXCQkJKDB4MSA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X1NZU0NMS19QTEwyRgkJCSgw eDIgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9TWVNDTEtfUExMMkIJCQkoMHgzIDw8IDApDQorI2Rl ZmluZSBSVDEzMThfU1lTQ0xLX01DTEsJCQkoMHg0IDw8IDApDQorI2RlZmluZSBSVDEzMThfU1lT Q0xLX1JDMQkJCSgweDUgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9TWVNDTEtfUkMyCQkJKDB4NiA8 PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X1NZU0NMS19SQzMJCQkoMHg3IDw8IDApDQorLyogQ2xvY2st MiAgKDB4QzAwMykgKi8NCisjZGVmaW5lIFJUMTMxOF9ESVZfQVBfTUFTSwkJCSgweDMgPDwgNCkN CisjZGVmaW5lIFJUMTMxOF9ESVZfQVBfU0ZUCQkJNA0KKyNkZWZpbmUgUlQxMzE4X0RJVl9BUF9E SVYxCQkJKDB4MCA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9BUF9ESVYyCQkJKDB4MSA8PCA0 KQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9BUF9ESVY0CQkJKDB4MiA8PCA0KQ0KKyNkZWZpbmUgUlQx MzE4X0RJVl9BUF9ESVY4CQkJKDB4MyA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9EQU1PRF9N QVNLCQkJKDB4MyA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9EQU1PRF9TRlQJCQkwDQorI2Rl ZmluZSBSVDEzMThfRElWX0RBTU9EX0RJVjEJCQkoMHgwIDw8IDApDQorI2RlZmluZSBSVDEzMThf RElWX0RBTU9EX0RJVjIJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSVDEzMThfRElWX0RBTU9EX0RJ VjQJCQkoMHgyIDw8IDApDQorI2RlZmluZSBSVDEzMThfRElWX0RBTU9EX0RJVjgJCQkoMHgzIDw8 IDApDQorLyogQ2xvY2stMyAgKDB4QzAwNCkgKi8NCisjZGVmaW5lIFJUMTMxOF9BRF9TVE8xX01B U0sJCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSVDEzMThfQURfU1RPMV9TRlQJCQk0DQorI2RlZmlu ZSBSVDEzMThfQURfU1RPMV9ESVYxCQkJKDB4MCA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0FEX1NU TzFfRElWMgkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9BRF9TVE8xX0RJVjQJCQkoMHgy IDw8IDQpDQorI2RlZmluZSBSVDEzMThfQURfU1RPMV9ESVY4CQkJKDB4MyA8PCA0KQ0KKyNkZWZp bmUgUlQxMzE4X0FEX1NUTzFfRElWMTYJCQkoMHg0IDw8IDQpDQorI2RlZmluZSBSVDEzMThfQURf U1RPMl9NQVNLCQkJKDB4NyA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0FEX1NUTzJfU0ZUCQkJMA0K KyNkZWZpbmUgUlQxMzE4X0FEX1NUTzJfRElWMQkJCSgweDAgPDwgMCkNCisjZGVmaW5lIFJUMTMx OF9BRF9TVE8yX0RJVjIJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSVDEzMThfQURfU1RPMl9ESVY0 CQkJKDB4MiA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0FEX1NUTzJfRElWOAkJCSgweDMgPDwgMCkN CisjZGVmaW5lIFJUMTMxOF9BRF9TVE8yX0RJVjE2CQkJKDB4NCA8PCAwKQ0KKyNkZWZpbmUgUlQx MzE4X0FEX1NUTzJfU0ZUCQkJMA0KKy8qIENsb2NrLTQgICgweEMwMDUpICovDQorI2RlZmluZSBS VDEzMThfQURfQU5BX1NUTzFfTUFTSwkJCSgweDcgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9BRF9B TkFfU1RPMV9TRlQJCQk0DQorI2RlZmluZSBSVDEzMThfQURfQU5BX1NUTzFfRElWMQkJCSgweDAg PDwgNCkNCisjZGVmaW5lIFJUMTMxOF9BRF9BTkFfU1RPMV9ESVYyCQkJKDB4MSA8PCA0KQ0KKyNk ZWZpbmUgUlQxMzE4X0FEX0FOQV9TVE8xX0RJVjQJCQkoMHgyIDw8IDQpDQorI2RlZmluZSBSVDEz MThfQURfQU5BX1NUTzFfRElWOAkJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9BRF9BTkFf U1RPMV9ESVYxNgkJKDB4NCA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0FEX0FOQV9TVE8yX01BU0sJ CQkoMHg3IDw8IDApDQorI2RlZmluZSBSVDEzMThfQURfQU5BX1NUTzJfRElWMQkJCSgweDAgPDwg MCkNCisjZGVmaW5lIFJUMTMxOF9BRF9BTkFfU1RPMl9ESVYyCQkJKDB4MSA8PCAwKQ0KKyNkZWZp bmUgUlQxMzE4X0FEX0FOQV9TVE8yX0RJVjQJCQkoMHgyIDw8IDApDQorI2RlZmluZSBSVDEzMThf QURfQU5BX1NUTzJfRElWOAkJCSgweDMgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9BRF9BTkFfU1RP Ml9ESVYxNgkJKDB4NCA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0FEX0FOQV9TVE8yX1NGVAkJCTAN CisvKiBDbG9jay01ICAoMHhDMDA2KSAqLw0KKyNkZWZpbmUgUlQxMzE4X0RJVl9GSUZPX0lOX01B U0sJCQkoMHgzIDw8IDQpDQorI2RlZmluZSBSVDEzMThfRElWX0ZJRk9fSU5fU0ZUCQkJNA0KKyNk ZWZpbmUgUlQxMzE4X0RJVl9GSUZPX0lOX0RJVjEJCQkoMHgwIDw8IDQpDQorI2RlZmluZSBSVDEz MThfRElWX0ZJRk9fSU5fRElWMgkJCSgweDEgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfRklG T19JTl9ESVY0CQkJKDB4MiA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9GSUZPX0lOX0RJVjgJ CQkoMHgzIDw8IDQpDQorI2RlZmluZSBSVDEzMThfRElWX0ZJRk9fT1VUX01BU0sJCSgweDMgPDwg MCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfRklGT19PVVRfRElWMQkJKDB4MCA8PCAwKQ0KKyNkZWZp bmUgUlQxMzE4X0RJVl9GSUZPX09VVF9ESVYyCQkoMHgxIDw8IDApDQorI2RlZmluZSBSVDEzMThf RElWX0ZJRk9fT1VUX0RJVjQJCSgweDIgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfRklGT19P VVRfRElWOAkJKDB4MyA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9GSUZPX09VVF9TRlQJCQkw DQorLyogQ2xvY2stNiAgKDB4QzAwNykgKi8NCisjZGVmaW5lIFJUMTMxOF9ESVZfTkxNU19NQVNL CQkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9OTE1TX1NGVAkJCQk2DQorI2RlZmlu ZSBSVDEzMThfRElWX05MTVNfRElWMQkJCSgweDAgPDwgNikNCisjZGVmaW5lIFJUMTMxOF9ESVZf TkxNU19ESVYyCQkJKDB4MSA8PCA2KQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9OTE1TX0RJVjQJCQko MHgyIDw8IDYpDQorI2RlZmluZSBSVDEzMThfRElWX05MTVNfRElWOAkJCSgweDMgPDwgNikNCisj ZGVmaW5lIFJUMTMxOF9ESVZfQURfTU9OT19NQVNLCQkJKDB4NyA8PCAzKQ0KKyNkZWZpbmUgUlQx MzE4X0RJVl9BRF9NT05PX1NGVAkJCTMNCisjZGVmaW5lIFJUMTMxOF9ESVZfQURfTU9OT19ESVYx CQkJKDB4MCA8PCAzKQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9BRF9NT05PX0RJVjIJCQkoMHgxIDw8 IDMpDQorI2RlZmluZSBSVDEzMThfRElWX0FEX01PTk9fRElWNAkJCSgweDIgPDwgMykNCisjZGVm aW5lIFJUMTMxOF9ESVZfQURfTU9OT19ESVY4CQkJKDB4MyA8PCAzKQ0KKyNkZWZpbmUgUlQxMzE4 X0RJVl9BRF9NT05PX0RJVjE2CQkoMHg0IDw8IDMpDQorI2RlZmluZSBSVDEzMThfRElWX1BPU1Rf R19NQVNLCQkJKDB4NyA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9QT1NUX0dfU0ZUCQkJMA0K KyNkZWZpbmUgUlQxMzE4X0RJVl9QT1NUX0dfRElWMQkJCSgweDAgPDwgMCkNCisjZGVmaW5lIFJU MTMxOF9ESVZfUE9TVF9HX0RJVjIJCQkoMHgxIDw8IDApDQorI2RlZmluZSBSVDEzMThfRElWX1BP U1RfR19ESVY0CQkJKDB4MiA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0RJVl9QT1NUX0dfRElWOAkJ CSgweDMgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9ESVZfUE9TVF9HX0RJVjE2CQkJKDB4NCA8PCAw KQ0KKy8qIFBvd2VyIFN0YXR1cyAxICAoMHhDMTIxKSAqLw0KKyNkZWZpbmUgUlQxMzE4X1BEQl9D VFJMX01BU0sJCQkoMHgxKQ0KKyNkZWZpbmUgUlQxMzE4X1BEQl9DVFJMX0xPVwkJCSgweDApDQor I2RlZmluZSBSVDEzMThfUERCX0NUUkxfSElHSAkJCSgweDEpDQorI2RlZmluZSBSVDEzMThfUERC X0NUUkxfU0ZUCQkJMA0KKy8qIFNSQyBUY29uKDB4YzIwNCkgKi8NCisjZGVmaW5lIFJUMTMxOF9T UkNJTl9JTl9TRUxfTUFTSwkJKDB4MyA8PCA2KQ0KKyNkZWZpbmUgUlQxMzE4X1NSQ0lOX0lOXzQ4 SwkJCSgweDAgPDwgNikNCisjZGVmaW5lIFJUMTMxOF9TUkNJTl9JTl80NFAxCQkJKDB4MSA8PCA2 KQ0KKyNkZWZpbmUgUlQxMzE4X1NSQ0lOX0lOXzMySwkJCSgweDIgPDwgNikNCisjZGVmaW5lIFJU MTMxOF9TUkNJTl9JTl8xNksJCQkoMHgzIDw8IDYpDQorI2RlZmluZSBSVDEzMThfU1JDSU5fRjEy Mjg4X01BU0sJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9TUkNJTl9UQ09OMQkJCSgweDAg PDwgNCkNCisjZGVmaW5lIFJUMTMxOF9TUkNJTl9UQ09OMgkJCSgweDEgPDwgNCkNCisjZGVmaW5l IFJUMTMxOF9TUkNJTl9UQ09ONAkJCSgweDIgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9TUkNJTl9U Q09OOAkJCSgweDMgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9TUkNJTl9EQUNMS19NQVNLCQkJKDB4 MyA8PCAyKQ0KKyNkZWZpbmUgUlQxMzE4X0RBQ0xLX1RDT04xCQkJKDB4MCA8PCAyKQ0KKyNkZWZp bmUgUlQxMzE4X0RBQ0xLX1RDT04yCQkJKDB4MSA8PCAyKQ0KKyNkZWZpbmUgUlQxMzE4X0RBQ0xL X1RDT040CQkJKDB4MiA8PCAyKQ0KKyNkZWZpbmUgUlQxMzE4X0RBQ0xLX1RDT044CQkJKDB4MyA8 PCAyKQ0KKy8qIFIwIENvbXBhcmUgRmxhZyAgKDB4REIzNSkgKi8NCisjZGVmaW5lIFJUMTMxOF9S MF9SQU5HRV9NQVNLCQkJKDB4MSkNCisjZGVmaW5lIFJUMTMxOF9SMF9PVVRPRlJBTkdFCQkJKDB4 MCkNCisjZGVmaW5lIFJUMTMxOF9SMF9JTlJBTkdFCQkJKDB4MSkNCisvKiBQTEwgaW50ZXJuYWwg c2V0dGluZyAoMHhGMjBEKSwgSyB2YWx1ZSAqLw0KKyNkZWZpbmUgUlQxMzE4X0tfUExMMV9NQVNL CQkJKDB4MWYgPDwgMCkNCisvKiBQTEwgaW50ZXJuYWwgc2V0dGluZyAoMHhGMjBGKSwgTSB2YWx1 ZSAqLw0KKyNkZWZpbmUgUlQxMzE4X01fUExMMV9NQVNLCQkJKDB4MWYgPDwgMCkNCisvKiBQTEwg aW50ZXJuYWwgc2V0dGluZyAoMHhGMjExKSwgTl84IHZhbHVlICovDQorI2RlZmluZSBSVDEzMThf Tl84X1BMTDFfTUFTSwkJCSgweDEgPDwgMCkNCisvKiBQTEwgaW50ZXJuYWwgc2V0dGluZyAoMHhG MjEyKSwgTl83XzAgdmFsdWUgKi8NCisjZGVmaW5lIFJUMTMxOF9OXzdfMF9QTEwxX01BU0sJCQko MHhmZiA8PCAwKQ0KKy8qIFRETSBDVFJMIDEgICgweGY5MDApICovDQorI2RlZmluZSBSVDEzMThf VERNX0JDTEtfTUFTSwkJCSgweDEgPDwgNykNCisjZGVmaW5lIFJUMTMxOF9URE1fQkNMS19OT1JN CQkJKDB4MCA8PCA3KQ0KKyNkZWZpbmUgUlQxMzE4X1RETV9CQ0xLX0lOVgkJCSgweDEgPDwgNykN CisjZGVmaW5lIFJUMTMxOF9JMlNfRk1UX01BU0sJCQkoMHg3IDw8IDApDQorI2RlZmluZSBSVDEz MThfRk1UX0kyUwkJCQkoMHgwIDw8IDApDQorI2RlZmluZSBSVDEzMThfRk1UX0xFRlRfSgkJCSgw eDEgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9GTVRfUENNX0FfUgkJCSgweDIgPDwgMCkNCisjZGVm aW5lIFJUMTMxOF9GTVRfUENNX0JfUgkJCSgweDMgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9GTVRf UENNX0FfRgkJCSgweDYgPDwgMCkNCisjZGVmaW5lIFJUMTMxOF9GTVRfUENNX0JfRgkJCSgweDcg PDwgMCkNCisjZGVmaW5lIFJUMTMxOF9JMlNfRk1UX1NGVAkJCTANCisvKiBURE0gQ1RSTCAyICAo MHhmOTAxKSAqLw0KKyNkZWZpbmUgUlQxMzE4X0kyU19DSF9UWF9NQVNLCQkJKDB4MyA8PCA2KQ0K KyNkZWZpbmUgUlQxMzE4X0kyU19DSF9UWF8yQ0gJCQkoMHgwIDw8IDYpDQorI2RlZmluZSBSVDEz MThfSTJTX0NIX1RYXzRDSAkJCSgweDEgPDwgNikNCisjZGVmaW5lIFJUMTMxOF9JMlNfQ0hfVFhf NkNICQkJKDB4MiA8PCA2KQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19DSF9UWF84Q0gJCQkoMHgzIDw8 IDYpDQorI2RlZmluZSBSVDEzMThfSTJTX0NIX1JYX01BU0sJCQkoMHgzIDw8IDQpDQorI2RlZmlu ZSBSVDEzMThfSTJTX0NIX1JYXzJDSAkJCSgweDAgPDwgNCkNCisjZGVmaW5lIFJUMTMxOF9JMlNf Q0hfUlhfNENICQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19DSF9SWF82Q0gJCQko MHgyIDw8IDQpDQorI2RlZmluZSBSVDEzMThfSTJTX0NIX1JYXzhDSAkJCSgweDMgPDwgNCkNCisj ZGVmaW5lIFJUMTMxOF9JMlNfRExfTUFTSwkJCTB4Nw0KKyNkZWZpbmUgUlQxMzE4X0kyU19ETF9T RlQJCQkwDQorI2RlZmluZSBSVDEzMThfSTJTX0RMXzE2CQkJMHgwDQorI2RlZmluZSBSVDEzMThf STJTX0RMXzIwCQkJMHgxDQorI2RlZmluZSBSVDEzMThfSTJTX0RMXzI0CQkJMHgyDQorI2RlZmlu ZSBSVDEzMThfSTJTX0RMXzMyCQkJMHgzDQorI2RlZmluZSBSVDEzMThfSTJTX0RMXzgJCQkJMHg0 DQorLyogVERNIENUUkwgMyAgKDB4ZjkwMikgKi8NCisjZGVmaW5lIFJUMTMxOF9JMlNfVFhfQ0hM X01BU0sJCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSVDEzMThfSTJTX1RYX0NITF9TRlQJCQk0DQor I2RlZmluZSBSVDEzMThfSTJTX1RYX0NITF8xNgkJCSgweDAgPDwgNCkNCisjZGVmaW5lIFJUMTMx OF9JMlNfVFhfQ0hMXzIwCQkJKDB4MSA8PCA0KQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19UWF9DSExf MjQJCQkoMHgyIDw8IDQpDQorI2RlZmluZSBSVDEzMThfSTJTX1RYX0NITF8zMgkJCSgweDMgPDwg NCkNCisjZGVmaW5lIFJUMTMxOF9JMlNfVFhfQ0hMXzgJCQkoMHg0IDw8IDQpDQorI2RlZmluZSBS VDEzMThfSTJTX1JYX0NITF9NQVNLCQkJKDB4NyA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19S WF9DSExfU0ZUCQkJMA0KKyNkZWZpbmUgUlQxMzE4X0kyU19SWF9DSExfMTYJCQkoMHgwIDw8IDAp DQorI2RlZmluZSBSVDEzMThfSTJTX1JYX0NITF8yMAkJCSgweDEgPDwgMCkNCisjZGVmaW5lIFJU MTMxOF9JMlNfUlhfQ0hMXzI0CQkJKDB4MiA8PCAwKQ0KKyNkZWZpbmUgUlQxMzE4X0kyU19SWF9D SExfMzIJCQkoMHgzIDw8IDApDQorI2RlZmluZSBSVDEzMThfSTJTX1JYX0NITF84CQkJKDB4NCA8 PCAwKQ0KKy8qIFRETSBDVFJMIDkgICgweGY5MDgpICovDQorI2RlZmluZSBSVDEzMThfVERNX0ky U19UWF9MX0RBQzFfMV9NQVNLCQkoMHg3IDw8IDQpDQorI2RlZmluZSBSVDEzMThfVERNX0kyU19U WF9SX0RBQzFfMV9NQVNLCQkweDcNCisjZGVmaW5lIFJUMTMxOF9URE1fSTJTX1RYX0xfREFDMV8x X1NGVAkJNA0KKyNkZWZpbmUgUlQxMzE4X1RETV9JMlNfVFhfUl9EQUMxXzFfU0ZUCQkwDQorDQor I2RlZmluZSBSVDEzMThfUkVHX0RJU1BfTEVOIDIzDQorDQorLyogU3lzdGVtIENsb2NrIFNvdXJj ZSAqLw0KK2VudW0gew0KKwlSVDEzMThfU0NMS19TX0JDTEssDQorCVJUMTMxOF9TQ0xLX1NfU0RX LA0KKwlSVDEzMThfU0NMS19TX1BMTDJGLA0KKwlSVDEzMThfU0NMS19TX1BMTDJCLA0KKwlSVDEz MThfU0NMS19TX01DTEssDQorCVJUMTMxOF9TQ0xLX1NfUkMwLA0KKwlSVDEzMThfU0NMS19TX1JD MSwNCisJUlQxMzE4X1NDTEtfU19SQzIsDQorfTsNCisNCisvKiBQTEwgU291cmNlICovDQorZW51 bSB7DQorCVJUMTMxOF9QTExfU19CQ0xLMCwNCisJUlQxMzE4X1BMTF9TX0JDTEsxLA0KKwlSVDEz MThfUExMX1NfUkMsDQorCVJUMTMxOF9QTExfU19NQ0xLLA0KKwlSVDEzMThfUExMX1NfU0RXX0lO X1BMTCwNCisJUlQxMzE4X1BMTF9TX1NEV18wLA0KKwlSVDEzMThfUExMX1NfU0RXXzEsDQorCVJU MTMxOF9QTExfU19TRFdfMiwNCit9Ow0KKw0KKy8qIFRETSBjaGFubmVsICovDQorZW51bSB7DQor CVJUMTMxOF8yQ0gsDQorCVJUMTMxOF80Q0gsDQorCVJUMTMxOF82Q0gsDQorCVJUMTMxOF84Q0gs DQorfTsNCisNCisvKiBSMCBjYWxpYnJhdGlvbiByZXN1bHQgKi8NCitlbnVtIHsNCisJUlQxMzE4 X1IwX09VVF9PRl9SQU5HRSwNCisJUlQxMzE4X1IwX0lOX1JBTkdFLA0KKwlSVDEzMThfUjBfQ0FM SUJfTk9UX0RPTkUsDQorfTsNCisNCisvKiBQTEwgcHJlLWRlZmluZWQgTS9OL0sgKi8NCisNCitz dHJ1Y3QgcGxsX2NhbGNfbWFwIHsNCisJdW5zaWduZWQgaW50IHBsbF9pbjsNCisJdW5zaWduZWQg aW50IHBsbF9vdXQ7DQorCWludCBrOw0KKwlpbnQgbjsNCisJaW50IG07DQorCWJvb2wgbV9icDsN CisJYm9vbCBrX2JwOw0KK307DQorDQorc3RydWN0IHJ0MTMxOF9wbGxfY29kZSB7DQorCWJvb2wg bV9icDsgLyogSW5kaWNhdGVzIGJ5cGFzcyBtIGNvZGUgb3Igbm90LiAqLw0KKwlib29sIGtfYnA7 IC8qIEluZGljYXRlcyBieXBhc3MgayBjb2RlIG9yIG5vdC4gKi8NCisJaW50IG1fY29kZTsNCisJ aW50IG5fY29kZTsNCisJaW50IGtfY29kZTsNCit9Ow0KKw0KKyNlbmRpZiAvKiBfX1JUMTMxOF9I X18gKi8NCi0tIA0KMi4zNC4xDQoNCg== --_000_c6d0e09de01c4804bfff6efe92fff04crealtekcom_ Content-Disposition: attachment; filename="winmail.dat" Content-Transfer-Encoding: base64 Content-Type: application/ms-tnef; name="winmail.dat" eJ8+Iu1FAQaQCAAEAAAAAAABAAEAAQeQBgAIAAAAtgMAAAAAAAC5AAEJgAEAIQAAADU0ODUyNUM4 QzcyNjZCNDE5NTdDNDFCQUQwQjMyQkZCACwHAQ2ABAACAAAAAgACAAEFgAMADgAAAOgHBgAEAAYA EQACAAIAFAEBIIADAA4AAADoBwYABAAGABEAAgACABQBAQiABwAYAAAASVBNLk1pY3Jvc29mdCBN YWlsLk5vdGUAMQgBBIABADgAAABbUEFUQ0hdIEFTb0M6IHJ0MTMxODogQWRkIFJUMTMxOCBhdWRp byBhbXBsaWZpZXIgZHJpdmVyAEgRAQuAAQAhAAAANTQ4NTI1QzhDNzI2NkI0MTk1N0M0MUJBRDBC MzJCRkIALAcBA5AGAFBPAABEAAAAAgF/AAEAAAAvAAAAPGM2ZDBlMDlkZTAxYzQ4MDRiZmZmNmVm ZTkyZmZmMDRjQHJlYWx0ZWsuY29tPgAACwAfDgAAAAACAQkQAQAAAPs/AAD3PwAAufAAAExaRnXX W5m4YQAKZmJpZAQAAGNjwHBnMTI1MgD+A0PwdGV4dAH3AqQD4wIABGNoCsBzZXQwIO8HbQKDAFAR TTIKgAa0AoCWfQqACMg7CWIxOQ7AvwnDFnIKMhZxAoAVYioJsHMJ8ASQYXQFsg5QA2Bzom8BgCBF eBHBbhgwXQZSdgSQF7YCEHIAwHR9CFBuGjEQIAXABaAbZGSaIANSIBAiF7JcdgiQ5HdrC4BkNR1T BPAHQA0XcDAKcRfyYmttawZzAZAAICBCTV9C4EVHSU59CvwB8QvxlRJAaAQAICHBdGgZ4IkLgGl0 BzEgYW0LUPMGkAiRIGQFEBoxHHAFsYEAIDEzMTguXCMQRxhQCoEktFNpZxhQZAItGTBmLWJ5OiAC SgDQayBZdSA8wmomgS55dUAJcAdApxAgJzAFoG0+JKUtKLBbJKUiUWMKQAEALxkgdaUdwC8kNWgg KsF8KsFwMTYgKyjmKeQZIGPGLwWgBYFzL0sb4SMwMmcq5CA1K28seE1h3msBEAMQGeAtozIuDyx4 zSQ1YyrxJFA4NzCgM18/NG80kDDPMd0qsCsBMzQ/MJE1Li3wL/IEIBmUZCy9KzA3DrAiURIAACBp AiDwcygrKSjmBQAnkBAgjiAEYiswHqA2NDQpX/8qZDt/PIg2LzJWPo8/n0Cvrz52JKUN4AEgICiw ZyKA7SLQLz0vKnRiRq8+KxhQvwfgL/M8aSSlHbEQMCAeoIFMKC4uZmU2YgEhMDYwMzZBtiixIC/B AQB2L251bAlQJLQnNJFIHz4NQEBGIDAscRIwKzEsK0FRoE8GL4IqBgBQRFgtTA5Q8wnwEgAtSQEA AjAjIyZQgEdQTC0yLjAl4MBubHkgKi9SqE8GZVWgICSxdXgp3k5BUF8LYAAwGvEjcBiAYSPjUp5U JFJWeFZ5CFBweQUQrGdoBUAB0DI9AFInlI0GUW0OUAIgZHVjGJJ5CFBycCSWVuFVx08GI0cGkEvR RhBfX0wgIFVAWF9TTkRfWcRf/khfRwEBJMFgP2FKTwYfYLZyXWEkJV8LUVjTX1kz/lwAAE8VKgAA kCWiIlEFQOEiYl9yMF8WEWa/Z8n7GlBex31qeF9WCfBF4UV/f0aBQ38tFk+wbd8tFUtbNAJhEbA0 M2QzZjdEMWZM4GQ4NE0hYvsJ4AGwOUrsTjJtv3B+T3TndL9wnFGiMjJSMCtReTIPMzBRoS0lYwJT T0NfAEFMTF9DT0RF/ENTKOci8VWQeqZZwAHAojJi8ERDQX1xV3vP+3zVJFAwYVB9337qK0B/yX4r gI9Z+IB/YSN/33yoOe8OkAFAhd985FGHQVoWUaL4MTU3UeArUYoBUjESMO96D4FfKUABAHBsQQQg AiAJBgBPVWMQV0lSRR01p2UecGUBjmBHTUH+UHrRjh1PBos/Wepk0AQAjwGQECBPBo1JSTJDaz3n iy+FP5NGICJcZlnEW2HvBYFGIAYAhaAijM+N32z/Hy7fL+R27y+YS1tiNGRiZnkxODZlDqBM4GPq NQEQYQpgYQDQAcBzf7+dX6Avdp+lL3ivebZzHcCKLXdhLSQyMDUtVZDMOj0kI6rgLm81p6o6Hjir CSSAq9+s5XNkd/+tSq+Crg+qkytAr4yyJLDH/2SwsXqtOSRxsN+0pbJcsH/xqkYyNzSrBrnBuI+5 kt+iELn3ohC6p1GiNiRQeWIFvZA0edRvYmotJMIoe2BORklHYvN/J/g1KSurQKosuqi+n38o/8BP tbnCD38sw7+4PcV/i+z/x26zLslvkijLX8TPzb+FRv/PD8h/0O99ArnBx2y6e9S//9XFohDWXbyp nL9DvzKTps+PQS9KH0svTDw5YzYA0OEJ4GMyYTZNz07e3d/vQU1RqjMSUokvU09UX1ViP+i46Lky V1himUZ7IFNB+QYAb0Mi0FAQOwAi3+i5/EF1IiAFsCZfJ2/r71to+ChjKVwPXR/zX+w4X0jPT+Tx 4FckANBwaSqg8ze/+a4D0Prv+ggEYU7QZfy///3OCrEi4P7P+ggiYgEv+gjbYhALYHkDH/oIcAEf +fk9FkBnExBd8Ab/AkgyY38I/wYpZbfkUOnBCt/7+WldGwB3AOANb/n5Z/rAbz8Pr/oCKeTzAA+P EopwY/8G3xSMZZAA4vyvEpl3YRe/vRjLLVkwBs8SiiJidpjw4xvPEqh0bHYd7xKoKkb78zcf/yIq Rpp2ZD9lRGf0+wigZnozMJAIkWiImaAdsf8nugTDan8ki2ZADUBDYCVPjyZTZ/PvcJhgW10gq0DX ZohmgEwQeEwiQ0whOjCvLwGKsEwQKkAsLl9Gh2B+RC+jL5IwPzFDiSAvojP+RTIfLwcv8i8QM7I0 Xy80/72wLvF5MDY/Lwe+IC7xPPDbOE8vBzU5/y6tNy+iQzDnPG8vBzQSeEU+Aj6vMUNyMjfTN0ZA j0GXOeNEbkJCn0GXO/NFNB9BiDZ/M8NCj0GIPgMxYEjPMydBrUIzOErfMRY0M7RDTO//LwWHUTwD Mg9P+DvzN8NRP/8vMidQNcRMclNPLzKHYC+T/kRM31YoNcNKU1dvVmQzs/9Kvy7nUOAvlEavXFg1 w3IQ911vXGczs0VQ/1xYN9Mx//9cSTnkTu9cWEhTUO9cSUpk/zg/XFhXIkifU/kvj1GfUq/5LptE Rm1ko1Bv/zEXRJJ3OBBVH3D3NWvCbb9w2TbdbXNBWT9WKDfTOD5vViifSFNMzzD3o1BMczA5fF/f fWdzo2WPfUk540Z6P31Y32+PfP5+UmFff081gG+Bf++Iv4Odir+FnTY78o0Ph+//jy+KD5FPg+hp v4WdqtCVH/+P/5c/LxNAYGc0Wz+aKT4D+5cPmic4ms+d75zvLpyGgP8544R/omk783Wjo7+itEhT /kGVD6J4PgREny72cXCjH/+qXqUvql6nP6peqU+iHXe0/kWrv0/3oVOZAHYfmjYvdf5BfE99WFrk oW99WGMvkZ//kqOO34ONQhO+j4XZjL99T/+x739vxI+YP8avPDDgse1A/8ogu+9PrTXExHHgscrv uW//zS+7j89Pva/Rb7/P04/B5v/Q/8N/1z/Fn9lfx7/bfzEz357QbXNQg92fLzJBbWSe0P/ff+CG cePXD+BaM7N8P+J56+U/mdxEbWQ544+aNnew96tU6b9w9kJtZd1fcPbpNb/tz3DnUGDWz/CeTHM2 dA/78Phzo0H0D/D47+J4ANk/7/D4Ma/wnkATMZ7y+n/xNO91s0SP8OhQhDb50v6fcTL+RfGPAQ/z rwEe9b8BHvfP/wEe+d8BHvvvAR79/wEd////7G4nUApv7pwSjxGP0JQGn/8UCBa/EZ4540xjGW8U RBrf/ex9MUZErc/u5x7vHe8+A+8hXyBZIx/sfTk545qwJZ//7vYnLyIPhjNnnyBZK18d/v8zszWQ Ld8gdy9/7H/a/zKt/6tU0w/s2IQv7o41r+6ON7//Mp09wH4PPP0IQ6FfPTkKU/9xcEBvPVcMY33A Qn/u9j3f/0UfP/9FLkIPRS5EHzKeVLP+N0aP7uhObzKea2Mtv+7Z+1KP8J01YRQljwF3Vp9Rf/1t c0Mz/8u2eaAIQxT/XCnvClNz/1wpDGM4PD9cOHWz+7gPy6dEXM9kD17vZB5g//9kHmMPW97rb1ve rWRMv1w43Z7zRQ7fXDixgzg6L2R4/21fZB5vb2QecX9kHnOPW96/4y9b3sxUfj9cOOdDNGmf/2R4 fd9kHn/vZB6B/1vdDLP/nz+JeqEDhm9kaIovjU+MT/tb3pazNRDvXDjY0zHfZGnvkn9kHpSPW90z UHPfX5oJ/xSvmb7Qn5m+dZ9kHZqvoe//nM+h/p7fof6g75m+jlNQz/uaCbGDOaufmhhUk62fmgn/ LWOvr6JJqz+h/q1Pof6vX/+h/rFvW93Wv7qv2NR7wrxf37tU3PSOv7sYCEM2wD9kd/+7r8Lvvc/C /r/fwv7B77q+fwxjxE+7CQ5zPC+Jie+DQffKj4mYUHNCxm/DWMw/wv6/zk+NXtBfjV7Sb1vdRI5U /9Tf3BiQZNbvZHfcr9/P3s//275Uk+Ev3AnD9ONP4Djk///f3ucP277GBOl/3BhGJOuP/+A47T/f 3u9PW9yk8DOTo0+Xuwf1wKcTOVsufTv2RhAjZGVm7iEgcnQCMaLgOF9JTklUAF9SRUdfTEVOACBB UlJBWV9TEElaRSjuIGl0X3H2UHN0KfZH9lX8YGFQdGljIO4gdPn2cihlZ1/78ij8YHJ1AmP+IHNu ZF9zb4BjX2NvbXBvzTDt/hEqADf8iHv9GP9j+gUwcHJpdgDA+gQgPRP/r/wgZ2X8IGRydnJk/bBh KADo+Pf+AmnD+Pf2RmZvciD74ARB5DA7/fAgPPn/+wEJgTArKykgAgj+sW1hiHBfdwOQdGUoCeQc LT4MJPXg+/dbaV1GLv6xDd12YWwG6G3x+ZBsYXn76A6CEMMG6If2EPye/rB0dXJuCWH3Em/9DgAw bvxgBGACtf7BkfmRYXVs/ipbXQRB+wIIWgNju0HxZAtw9i0aEf9Qc4hwGr8aEacTiBAcbxoR+akj NDQeHxoRO9Mfrxnz345TpwAhfxoRe8M2IW8aAq3pFDUk3xoRYfNyZv3gayaf8aBi83NmKD8aEWPv 83P54Cn/8aBk83L5oCuf3RoRZSzjJn8aAmYn0y0//RoAMYP0GhAwrzGxhhUyX98xsaUFNA8xsacT MSTPMaJfO9Q1rzGhSIN34Dk5H2P/9cAaTztoM587aDVPO2inFP83XzvCqSVBjzvROK87aI5T3jYE MET/9cB7wzdE3zvCf+kVSE870SfDSd87syl0MfdLrzvRKyM3MJ87wizTTT//O7Mug07vGfE6QDwP Uwg9v/tTCKcTOFW/U2GD9ld/WIG/hhQ6v1hypQQeDzIgNFOf/10ZVV9dKD9vXSinFWGfXZH/Qs9d KER/XSjg1WavXZGQZf9oX12RSY9dJ9iEQW9dcjpE72ufblNffxmmYV202IBwz+9x0XBfcWilBGJ0 L3HQ2IS/cl92w3O/dnh1bxmmZWR1/0aPe+JmP3uIZ+97iGmfe4faNtiTNiMfMiBmfB+D6T9934P4 f4+D+IE/GaVkYv9dv4qpa0NdoIvPiyB6ZY1v7YsRM4ZPirdikG+ReCKzv41fkcOJr5F4a0+Kt2OS H3+YOIf/mDiVf5g4ly+KtmT/jP+e6I6vnuiQX57okg+j+f+Tz6QInD+kCJ3vnveYz6q5v5qPqsio D6rIqb+e9zli33+xiISTJL+LAYRwi1+05zX/MDO137UygtS3jy0BGiaE/+8tEFOFceC7D2VdpR3/ LQH7SCAiszJSX79i4uO//y0B/1dQv6/CaMFfufZx5RxPLQH/n3DYk1dfx8N4xMUfx9JcE/8wj8fD si/HeGSPx3irZMvf/8fSIrPLzyfxG+B3H9NIeMP+ZSgv06JcE0Z/05MdpFCv/ygAbOChT9oIzS/a CM7f2gj/q2/aCK0f2giuz9oIsH/aCP/rJOUv2mJLNMbP2mIpc6av+yfxTMUy16/rQlBE6j/rQf+h P+45Sz/q5zbk6i/x894Pf/Go37/xqOFv8ajjH+rnNP9cFNX/KADIYLjv+8h4wzHA//zf/DFcE3wA /o/8MR2k0p+//CLz//vI9a/7yPdUNwVPN/wx+QPSjX0UiBXMYm80b2wYJnYLIBZRbGVjGJIRgWVy KBcFEMB2WxZwK4AqDVEE4HUWwGmyZxlwZCAZYBdTKRlIARW3d2l0Y2ggKLcO8hkZcdBzK4AZ9DoR Tp9VMRJ/bNETv26BIC4WQPdv9RT+iyE2Fu+OkRgvjpD3DpAWRI6BZhlvkEEbX5BA1jccn6mgYRqn ORlfmKJ/GqewYB/PO9B60Bq1XZA5+yG/n3BiI6+hISTvoSAal++hIBtPosIoH2Qe+LIAJh9vqzIn ZyGfixBlIti9wDT5LT9mNB8HtxApTy5A8+C7FjUuQDMk38YxFt9lmLHfNE8hjzUjIuY1QWM2z80B /zJW0hEU/tOyFjXTsS8YDFCgdHVybiAM8WUJj8EN0GZhdWx0PJ4/APZsEeA92H1AvwoPCxkMUPBh ZGFiDC8NPw5PD1/fEG8RfhY2/FAoD2MmABYn/wtwFO9QERYnUdFNf1OBFjb/VuFPb1iRUKe+QFFf XaEWN/+fgFNPFg9JzHHhVnZ1QVcv/3bxWGcmDxIgizFWdoswMv/vOJBKuHvwNX9jx/FWdkYw717f e/FWZ4LAYWDftWFWdv+3EFFPx/FWZsfwOJ+LEGzg/WXnMR+QZq9cGKtBZK+fYd9l52Cwan+1UjBn NlzvumL/bm+8IW+vvdFw77+BMlbBMf9yL8LhMlbEkXQfxkF2D1wY/zh/1bN4aDfgaI/H4jn/Ow// PB99ptqBflbpsX8P62GA///tEX5W+pGCP/xBflZ12j0v/z6/P89Bf0HvQvVHEwtkRFA0Y19FwGVH IEU2c24wZF9zb40wRFBwbbJfSMBkZ4awRhB3lhdRjblrY29HIHILISr/kMYE4EcSjVNHj4/7jmKQ 0LxtcJDgjXFGEJS4PY4chHRvlKgody0+jqIOKT3XRUULVXByaXZvRhALVJX5lLdfjyGNAHL2dkRQ QwAolLeYOEg+kkQBSX5TTkRfU09DAF9EQVBNX1BSkkWg0E1VhhlnbY6wWF91cJwxRJBiSNBzn0kg C2OX0KHkBOBSVAtzyFBXUqBAVEHJwLEmAaQWREJfQ1RSTGBfTUFTS6P4phZIqElHSJg4YkQha50v 25/PoNBPpMChEUShX6JvH6N/pI+ln6avsNJMT1e/qD89/4gMs02KR4alMLX/34tfjGm9EEjQmaB1 jZuQz++R0JNPu5BFgGyNQESAjtD+dolgPbBGEEVwu9SSn5Ov/5S/lcy7tpcZu7aYP5lPml//m2+c f7iprZe6GJXxvxaX0F2+oy5HEUTARRAuvqNb9DBdyk9pAdCtiLoYv5f9Q7dnumPJn8qqtz+4T7lf /7pkjyG6/7wPvR++L78/2j//wV/Cb8N/xI/Fn8av3n/Iz//S/+qVzL/NzZXx0A9I0Oef/9R/1Y/W n4zxC8G6v9kf2i//2z/cT91f3m/ff+CP4Z/ir//jv+TP5d/m78qvy7fwYsyPb+mPzq/PvwIGPJYA rpVEzFZPsPCvQEVQnwqsZZ53/NBFAK2PB2ZBXwfiHbDwOLFQBf9DgT4+IB44+0gJLwo/C0kxXzfr DA8CMyZ+kmYNrw6/D8//sPCvIAv/DQ8TfxSPFZwRH/8SL+23kjCJcQh6G/8CYgdu9YdZdo1AckUg 96eX0UZC/CJVRpCs0PfQQ7BG4fBxJHVtRgBnYfWwXFz8biIdigBP7S8mL+9P8FT/2B/xz/Y/8+/0 //YP/a/4L//5P/pP+1/8b/1//o//n+gP/wMf6i8BqzpfJz8oTylWK9HfKWAt0CsvLkAv4HeMli3j OSvkc1s9UkmIoFJTSQhOR0yhAEVYVCjiIjdFZGlnzGCJYCR1ZiKxUKAWTk+gsLFQMPGxUDM4M0my 0U0qhhvG/fBXKSznRn83VLpySM9J0f+vcEpP17dL57p2TPhA4D7PP0IPjf+PBIynjsdFfi8qiCBB dUfgbyBJA7FucogAXrCRQC9NF6AqQThJRl9N4EdQXGExUgZYT0Fc0yBQbGF5umKNIGtPQUnRT38w TPjzWcGgkENzWu+gdWChRxCHR1BgoU9BTlVMTF6fz1CfjPljeKCaIHxhH6sazV/bT/DA8LEgTC/R YN/hoGZPVVRQbLBcwTHg/yVgU29Uf1WPVpiREPDALvD/V6pxQ0V+nyBiy1zWQOBteP9zwG0idCdi 0nUqbh8pXxBgETjyY2xrumFmbyjtjGJzelGR5HKtAS+vBZG9jHFpsVCs4EWFUIEysVCmNLFQFnEx Nn5BNHfPzwWUeyIHIoVQfHx7s4EDE9E4hrQtRU3gVkFM739/gZM9cYGjPBgAg5d6sPpyBdBplfFA QIxQByBZ4NBSUkFZTcFaYqCs4LM1YIxQKyt8B4CHPYT101nQfaFpXYIuaYOfgr//QI94j3GWelOs sHqTMN8x7/NL0SnSbHJ6UXwPNe82/384DzkfOi8FhZOTiXKulUwAUkNMS180ODDPnDCBUpq/m8Q0 MZxDk/b/nK+bw37wnDGCKayPGZ+upIJTm8BfVENPTq+Oi6PhTeBfXaAyMjgQYP+xEmego2mlkWCh m+GxE6R/+6WCpCI0pnindKlzNWgeU/uaf5uHOaB/oY+in6OvqG/fpc+m36fvqP+qDjKrH6wv+Z/2 OTKtz67fr++w/7IP37MftC+1P7ZPqh0xuFyMH5+DTz+Pjb+Oz9HFaHeV4Jphe8BtvOBwCXBjVxD1 I+BicAFlzKAsQM3XLO9/zWXMRyxAzHS94HAPhvAq/9Kxk+8wv5H/MtTSsb1g1Vd/NX+Vn5avl7+Y z30U25Jfzy5wyUCBIb3gY2jdltyL/9kQvJBH4COByPHH770Gk5H/iWF9kMyDcTC8cYfQzIM1aM/f pT1negy9BnN5eyThev/ceQXB5CaFcF/ACHkiPyNPXyRRelBWsIDwHnB0KZBu/mclPMcPya7I8eSY kEqSqf/nDwVoV3HpL+o/60/sX+1v7+5/yg/LEFcwdN4w6IHidJlXMXRo4xYIamNhHnHVfvA600Zi ziFr4Gf+Q4+7AP633VnBNUkyUxBwfxtQuwD/mN5GAd/+z//ZNH8AnwPPfzAC3wgPBP/96TP+Mgbf Cg8M8AkfDk8LP/3p/jgNHxBPhZgP7xUOEgz1MPFaoHVsdP63+T/6T7tvH7x/vY2b0X5gwr1ESVad XFBQwL0gYmbgTU9mgI/Ca+inhXAf/FNGVGeo/yMvIakksfiaHK8dvx7HSiDFwr1BZoFUTzHAvSv0 /jIiTyW9K/Ykvy7vLYMnTz8oXylvHuV+kCsPXFBOQf8sHzc7Lb8xPzd5ME863zk3bzK/M8803x7l NR9vIHFG/V2QT1yRIM9D9WyhOb8lv/9D+Dx/R19FqD8vQD9BTx7lx38AQu8ggE5MTQJgRJ9/K+Ii EF8wwLVPfyCAaRNH/cJUIN+WI51Qo0j/VU9SB39Wv1fPVBZLu0wPTR+9flTCRGJAQ1RSTB9fBGX/ VJTdVyOoBGVLv12fXq9futMq7wRiVFgfEEhh1Dho/wRidPBpV88X3jVi7Gk1WWv/bA9qiVwPyL8b L8rf5NT34eHSol9mbXSQ/tK2veDydfbQaWfTcPdgeWJ1cf/TP9RP1V/Wb9d/2I/Zn9qvD9u/eIN3 S72BX3ZhbDvd1IL1Mt6b+051cSAm6CBTTiwBT76QIfBEID5NS5DHkcJT/Y+GfU5CfVCQRv6/iE+G 2In7g8d8+woXX/JCm9LHkRePGJ8Zr98av4Tfhe+G9UQwUjggRiR/h++GfgRwij9y/Jf/hzFM8kVZ cF9KjT6OSZxYj7/Tmn+bj0RTILBBnP+eDOxQQ2AQN7BSn0+gX6Fv/aJyQqLPo9+PIKUPk76RL7+S P5NPZG9lf2aPYCMxZ///BHGHIlSUgvVkL7D/sg+zH/e/Z473tTsycI9xn69fc7+/dMnmhHWvdrbc muVzZHcuzbhQcbiw3RNpcnhPeV//em97f3yPfZ9+r3+/gM/cx/+C+bxf6GLFMt3Q8GbmZpVg75Vw w+TSb+WQc+IAxge9b+/7TsPklz899VOPQgSAjzLzqK+OWFNZ2gOPMqsP2O/x2fZTRFfav9vP37Hd H/PeL9n2UExgYI0v4O/kxP/iP+NP5Fqon+Yv6iTnn+iv/dn2TdqP62+7Mtzv7d/ZybxSQwCI8G/c VvTQMfI/+/NP9Fgx9Q/2H/TQEW/4X+/0SQ0I+r/2qDP8f6yfArXgdl9lcnLOqMnABAHxuLAiSW6D MdQB01DH8BPTcNQBKCXYcFxcbv4iuLDYJbYZrh++P7ZU0rz/zLDSIrYY1H+DYdPEAnkEILBkYmco yZMFNFPTNAhpcyAGsEh6IGH/x7AGCBCTBuTFNAdPtr+3z/ceuLnP4ZZFYda1n9WfCT8fvw7IIHdQ x4HLFHBsbP/IEINAyAAp8R3TWjF08r+gcmJuwFtdg2HGmMaQNRgxMjAg8LiwNDA5ijYg8zJgcCAx OYOR+4ORyxFlEnGDQHTwG4C517HGkDEwMiFAIQ85NlCHIl8jb4ORMTYzOCRF4yH/Jl8xNDEg0iih IND+OCFiuLBPUCvgIeEpHybJ3DUzIXQg0CtwOCRTK///LQ8rcCHQJEErPy+fMK8kY30gwDUoIjLj Ms8z3zTlOY8uECDkNe82/zMwNyDk3y6vOa86vyGxNUA3IXU8n989rztmOJ9AT8YYNirAJET/Pzsl ciWBRCNED0UaQos7UOdDf0fvJGI5ODtQJERMUv9Gu0pyJpw790KPPIFHHxsmfxlvwAkd5s6hHTLE b8QQbsdreFUfViRvdXS4sMsN/R3yb6zwzCBZ5sYPz8S4gHx4XxrA29fk0YnQayFY+7iwXHJtXMxn gF3Bz1t3EfZrg6LEMW4fULiwHeJYs//GMGEiWLEfUM9bXLKDkV5S/2OyH1DQm4K0x8DJUh9wFQCP WGYIoFYmGVhib2+DUPFkUGJ5cP3wEKALwVE0/9UwaIxSv9HiXpmPgKKQXcF3bvBWJp3wfFzqbIOP gCAePmb3B88I3VslZm9yH5UQdsDQonfAbPFBUlKEQVncUElaRSgevvMZUHfAKyvYitHmbWLUMfEe v2ldLh3ibXHTkHGX/2Zmdq93uFix2IoLonnvd+Hvq9heUnyfd+FtcQdjcn6/fXfhbn3oaHiA33/C FMBwH3EHaYmDb32ihLpnb3Tmbx0BrPBfZsYwDlgbic8bnwuiJBCLtSAvWFdm0b/8aNHi03BvAF6Z u0JYWwfvC6KOPo0tbQAwe54a6GmJv0pyiR9x9WERcnSWMjzMsP9cc5ajdQ2WNG0mjECN4Gh2Uj8o sCA6jdIrIcAp/xlYYWWY9maimaGWMpryjSvvmLOR8la5v8BulJmeR3m1/3ttaGmUe2NyYRGHr4i/ E3j/1BFmA5izZuChZo0rpyJtAP9lk6Hfou+j/35jZFGov9Qx/574pR+mx2RjYMGl/3H1ZFb/ZEOX BX/wZEJ1DGJTY4GYs/+ZoWRSnXunKLXkqB+pL6o//2nfrE+tX65vr3+wj7Gfwv9HikjL4A8gZWJ1 D1AiYE9ubHkgzfERAHDxy+BveGkUIJ/AyGBmAf9mouoxBuIZX1chpYUDd5ta/1oiBRCEor5zaISb S8skh2L/Y4Fphsx/y2JaI5cRzp8FEP9hEM/lghjNCs/l/Ugaf4pPXxyWU8l0Mg9xVGIoHXVz/xEg DZAGMNgSWmAPcWHSHcTvBnDaFNlQ1MBjUWBbFlef/1ZyV49Yk1sPHILYywSHWmA/4PiUUA9zBIfI N1kNcmnedlpgFSRjgeB/X8YxDyD0cnYUgWEEeMgoWQ9aFO9Z5mTNpHh1aiFtKez0e23/DvYEj8ex 4lAQkHSCEiMTWf8VNXgVZJryOpwU80nUr9W//3Xi2zR5ovI6DaJ4gG0X+I2/eF95ZvPtb572GRw2 dxTgfGNo9/Z1Kh4gdDBtylP0X0IWkTDJ1xP/FQ8WH/8XKcexcLAYdQcLArNneQOQ7mF92AGfAqMx Aw8EHwUvdwY/B08IXTEJXwpvAjZS/kMMTw1fDm8PfxCPGXkVMPcSnxOvAjZNGIEVXxZvF39/GI8Z nyJ6IYEbfxyPAjZT/ERXbHFsMh5fH28gfyGP/yKfK/knMRKPJZ8mqwL/KN//Ke8q/ywPLR2dmS6/ L88nUL8MPzIPMx80LzU/LR0zN0/7OF8mujI6PztPPF89bz5/HS0sNEB/7pdRkHVsdCPJ1+8CZXJy 738iVeBua25vd/tg8JL4Ff4l8UNY4QCE9R5wn/bP/mF3wnJZiWkgY3YWYdBYaCa/Woe+3Z607l1M b010c0Rgl++wRSDeAXBmsWNs2WD/fFBO5mcP/mXre1Hv7w/wFl1ohD1O4JcgYOJuYOJr/2DhTwPS ToST2hBzs2MXmlH/jCCaoGLZVdNiT4IA03PaEL9i19NkyC9D70T/EVoxjtD/Rt6O4GxjSDRnv2lP al9rb/tt80beTW3aY89k31Xxb4/vcJ9xr2xUJDA4Rt560W3f92b4jgCOEDh3T3hfeW96dv43MOB7 D4HSfD9m+Giv8i//mRbzX5vfpHj4vuWB20OFL0/+b13f1r/XxHRktNBz3VrAdNif2afdi3S0gbwg vmvbn9ckk5Xa5JDhc5XI4l8AAGR0aN7f3+/g///iD+Mf5C/lP+ZP51+UP8DwP/MD2hBasKJElVGQ 0m5179BY6zWiRMFQcuiwf6KL/7f/95YyAN80ydeiIXyrgAlGJUkyApBDSF9UeFhfNKpQQWipX6pg UreqnEEf07A2qL+pzTaqz2+r37Dqra/TsDiu76nNOP+w/7IPtxqz39OwQ1hKT0tb31Bvjb+mX5b3 AO4yMPiiof+4DKqBqlACcMJwQWjDPqyxv8Rtug+7Eaipwz/GdTTEz+/F38r4x4/TsDNDWMufxDX/ zvDLD8we0SnNz7Trz7/GdL440U/MHtdY1A/4YDGu2J+737zvvf+/D98RLypGEN54lhOikO/ApSBn jTCPUTvvwJ2QL35Xozf00Wh32mWUsGiQcFrAbl9QlVX7Vh3iqCGiUC4AAOlS9N5OI1gv8BZ0b29h EGFulnmVQZYUIFoQIHro0PfqQJDS8Vxnp2DqQJBH6NEeX96/jpilJ/TRX19m/mZ/4eRO//alJ8Fv wom6/J+oXq6cft9/70btVER0IOBDVFJMOfmP+pHD9fECcERBQ2yQg6S38Psv/fw3Uvzak/fyWFcg VzD+P7H8uFNGVFdg/acoALn+K+ZSAW//GwNCSa/ai/Qc6jP0HDX0HDf27/f/+Q9/+h8OvwIv/U8F j/9vA+4t/wT/EW8DTQDPE58GvwfP3N9/50/sr+2/jB8Mv4APD0wy/0beqhgSdLgvSCWiIH4/I5/7 JK8ltzMmX8QIJ//GVil1+myFHysgq91OXR+Ob4988Z1Qb2JlkR6Zn6CCl4//nG+df56Pn5+gqYn+ mkqbX/1ADV8qkYbhK4A+3zYipwAXlOBLYCtQd1oQaygme0CXVBBpRiMp+SvWO7RkjHZvorIlVURW T8aw8FNURVBCb40PNT82Ro9JQMEgO5YqkG1vdje//zjPOd867zv/T/8+Hz8v9TbebovQbrBGMpHA eVhgRn8zR4pMzysj5UAd8SBDoE9ORklHbFBNNd/Rj8h1c3DpcGRPf1CP/1GfUq9Tv1TPVd9W7ypG qFDPRbF9kGhT6VBseSu/kTGvb3xoRCrAWNFkpTB0aT6/KfpL30zvXc8qkF7QbU9v/2BPYV9ib2N/ ci9ln2avZ7/3aM+Ahh4QbDKwap8rUFkD92x/bY9unyNYgDKwW7cd8YNuoV5dIE5VTEyCD/9w6oPs XxHlQFs/gpUlVUphKFJFT6ygQUpwUyCgU05EUlZdAEMPwNuJktlgMIrwEkA5wnCK8KOHv6vkRk9S L3BUidACKIn4Rk1UQklUtwMw20AR0EUoMY2fU8Jwv9NAjuPsAHP2jz+QQDSO3/2ORThz6G+84RF1 EHbQccy7mwF7UHDrIHWFmxBmlxc7olDzGC7jYHXga9BhbS+YsnWFmacVRy4ysmZt//AygwZ4Ephh nEGbbFkARaCcbGucf56Vm2xwbKKy/5ytoWGbbCDy4MOhq6PGFUf/bwB5b3Allj+YcHhAdhDrgLN1 dphRW12Yy5j5bpoA2/Pg5kAiK8WYESKbaE5xjeZAMJtooWBheWJ6sD+e8pj5dREIEDMQq7ZBSfBG MSBQrpWs2XrA6nDfbrB80ORQbqDwQTGxv7LB7mHgoOZAJkgu4YFxUEl4+4kqm2hm60AqwOsR2DeN Bf+lqZtomJRZVZgKpamlv6bP/5XfdyypBcAt6KF2V5j5N3P/mjg3c7T5TyOaOE8Um2mDhf+hqF7k xRqFw8YphcKzWelQ/2pQSVCaKb/iy9abaOMBzScp8EFBUomQWQMwSVq2RXulzOspm2iYUHAzEP3x 8GR4AZop0drNvNHdz0/30yvRLuuQdbW01nrYpNP/f9iJ1c/ZmtEpXuArUNHwZOhvd24g4Gmr07NJ huL9snJzmLKzSL1/vo91NCqk+78RjEBnTpgqspjMQ+IrcrXwQTO06XZZ8OcGOMUaemGYUGJGASqR xhrpyGn/dRAzMOepSVBd0eoO7Lrrzce0ge6XraJ4NDGLYCwA//EgxRpEAB31mikqkc288f1/3B9D 0tEpeqRsQF8ASXJFlEdDEhBIisBSQg/w1EVF3fxzvHBn6gPpwO9BoWpS+R/6Ind2ACtA+q7n4d/i 73UzaTKXAcJgXfD/K1BOeAAiTnCqH6wWsaCAYB+Q0LoIAsG8327CTU9Eg4QAisBERVZJQ4rA6FRB QpLQKAAhajABC/d5X/7fdUJvmDEAfgqhuBH7esAB3yDLwUHwXdHp8avz+x0wHkBloHADBwO7A7oF T38GWwqgB1cL5ghPXC0YYFDuSQjvvzl6sHCo4QB+GCPnDB8ClfDgRUMDJgO+EH//EY8GxBgiB1cZ iBQoht9v3/d1lWvQ3qFkRFB1H3YnajD/JLUYdHMwwlFz727gGHU3cadfAGwx6vNfdeeAKMJRt2ow DmiLEGyxqFlXcHhy/61wRDFD0CtBFCgozynfKub2cit/LI5yFC9//27/Tc9rdbJZ4mK1kWlCEKTR cf9qcFhhJK92GCefelPkcvxjY3uvthVDTEuzQPChMi4yfQs73zzuUIQQMV8wTl83X63Q8KEwNi8+ jz+fPSpKYFAGsEVN5UVgTD4iQ0NCb0N/RI7IU0VMRcQ0MEZPR197SG9JcVJJv0rPS9/cYU7xisBH RU5B84tQTe9O/0FEi1BLX1ZPSYBUXkhCA1GvUr89G0b48ES2QvhgVLBQiaBVJEJVn9tWrz0qVBWx PiIxRj9ar99bv01gSXCJoT4iNZRAXT93Xk9fX2BnN2EPYh9ML1L/ixBRIEXFPnk1PzZP5WKLEH03 gWP04LWhOM8533Radf+/MOTwaUCD0CNzK0EHUStB/ecAeQ6wQfFwtz4RcLe04P1wqDMzF2+O7AB0 43D5dYT/cgR1hHLEdYRzj2/4AMDCIP98QOvxcKT0wGzwt/B1NXnqP3WAesR4PyNjt+SzEjY3hX7g Mo6wOyAvKrTQ9l6SoCdALzMv5FTpomZv/7YVaCFJgJKgD2AxgHDHZQ+rgX+CjzOLIDaDqjGEf+OF j4aeMTVfJkGDyD5/74m/is9B04PIM4zpK0HZArFwxyA8PLTQf8B8cWn3krJ+wJMaMpKywuCTKXgo 93ma2QF+NS9wQ5Y8esTZAS4ofjV/cPDgKZgVIC2/eYuaYzMfjY+On2gSUoN3/3WFjO+d/58Ph6h2 RaD/og//ox6L2HcFpT+mT6MekAd3xf+RC/BydViSunZFk+p3BZUZ/3fOe0qXjXzIfCmZz7SkmzTP s3icPy31JHBiZ6q3wbcPqyAvxXDCIOA6JWQug7yQCpBobVxcbgNh/3mfeqYtm7o/u051gLxvez// fEdo/2oPax7J0XrxbJ9tr/8632XvQH74IIMnyhbL9yytWCA+PpLhmrAm8KFm/mapb8uvzL+HWM4/ z0/QUP9+wNCf0a/Sv81Ki9PU79X//9BQyfDXX9hv2X/NWUHS24//3J/QUJqh3f/fD+AfzWaf4//i DzId0D/lD+Yf5y/Uf+kf/+on1y/rz+zf52zbP+/v6kX/3c/yj/Of53vhz/af6lTkT/f5H/ovSO84 oO8AHwEvTTd3As8D36tfQ0WiWGBgcEf9PiJjBq8HvwjPRaGf4Aov/ws/DE9nnw6PD58Qr2foTXPP Eq8TvxTPRXljYxa/F8/7W89gwTkaicVvIv83aMhP78lfbrtwEsIQa2wAfgF+oH4zQfHAsH1gfoI0 mHASdvdsIHCQJuEyuP8bPxxPQUE2V5/gRUBBPhOlKXVzSGxlZapRYW56ICj/QfGakC1BGpk3Lzg4 ItUnf/h3aGksULZgJYSS0CSl65qwbuhtLEMoLTEan6p/+wz/CfcmJuE0LzU/Nk8OB3834mjpJuG2 QjzS8TL+lDG/PEqVAD0UlQA9jyQyZj0kX/6wO/My2b+/wM5DLqggemS7QS69IjBILtA5QGvnHi8e kCWDKytASyWFfqAfMl8obzmvKo40G3R1cgNFIDaJQUxJQl9O0E9UX0RgIEVGzx6a/0r/TA9NHzhP OV82bzd/Vd//Vu86rzu/QMNBBSti/qE/NBdetCM3Tq9JZCFBTkc5UIhlbC9QYB+C5k9VeVAwT0Zh zR6/xn8ubXe9tiBrIYZo4i9AIaQqaOJ/Iz8fsiG/IsW2QEd4uEBh42VxdYBvZiho4nCQa+//u9Eg 8mjTXYl0wk6wMF9A0vv83+OlJv6wc4/95GAIx1//L+5iskpLfoIgjy/uc0N6Ujt+oGEPRXavCaAg 8WN1/mx7f0JPQ19EaDGgEfBx8fpzf/B0wjG9JU6wHh9lryMfn9pTaTJjImFvYvshd4jSY2rQu2Ei sIjRar//a8+AAbaCgYD9cSKw4xO2QZ+BUsPA/eCM4uMiKCaI0f+7kzBIb18ip3E+JxMnFL5AP4FS xxByP20mjkKNUGt6MSEAbG9jj1hvMWl6nmVuwZCfj+D8N0dGGgCoS0VSUHBMXYwhIt3lY3UtEiBP TRnglG+I0v8vUP3giiSPE4jRvkEv/0B4f+MTfo1z5bZBjcRiLy3pcOxhci9QgYB0WsWokY9//5Tt WzaV1loV43OI0Z9ErNAnd0VaI12MSVMSEFJS51rNX/B5n1BU9VCsz6upy4FSuIBylsoiRm5gMZC7 vNC2ECCWc4PCWhFpl/DzuIH6sToghKVi+U4PcgtPhq9aH1svUEBFVmGQRP8rMVk/uK+5v7rCk9E7 7ZQE7T0GPDIw+AF8JyxA0r/FwiEl4Xg2ODJe8UHcc7FciuYiRJdAIBAxoHcZ45BoILrgs3glI3jh IDBzIG5vkOa0i5QEv7WPnKK6obbPhxhhoElQMPBXT1JLj1CB13Cmn4aPaB+nD2NmlgNzbmQvQH+W oKlys7N/oIJmxG/LUCZ/0gKCV4GAgWGl9s514yBpJYUAQa9gQVkCIElafkW8xdaiX/DK74caiZdk vyKBs+GIadrVJSAjyC7b/7HdAW5hbTGgJSAin6RVtLgubsBf+rB0JKBf3f2AYjGRJSDgB3CYANem w+AGmRguYWNwcMDgPPBBQ1BJ9NCvINem44ivmRjZAN9oiRNf2LB3enj/iNffaMJw4IeIacJw5mnP 9/htb2R/8KWg2pjXptqYyc/vK03KoFVM9QC6oFBTQ1JJrxBJHZAo4CJBU29DFSVFMNrja0XJ8CVB ZJBIzPDxQEqh44BrIFl1MiBq9DGwLnl1QLyBhHBl9ODNglE+8o9YoElDEiACMNHxQEdQTEXIZEDQ QODMLS2zoJDgYS/SADHwMmT5MWMvglCXMGNz6i+fpC7GQGL5P/pHiuU96BJmMYLs0TGgM/E2NH40 iuXYoJcwx0AtQv8WLgP1oPoQNDBiNDg0jcMQNorl+MAtIC+XMfQvbn/wbIrmSED63/vvuApAQJyQ LQCEECsrMBozAHAgBMCK5i8qIEBTUERYLUzF0W55L1AtSZcwcdBA0IpAcoO0QPehLTIuMC1uMPRs eSKwLwXYiuYisJD1+/qxATFQjPVFMI2CjSEVJUMJqAmpQ29weVLgZ8JokOAyMDI0FSD1RPkGcGVt IBBuMOzwkNAMAbkN4HJwRYAJtwj3I9igtYogdf2xPALE+lY+2S5tEbBm/sFA4F8WMFRESP8UwBE3 FIHYoRS/2W+Q7Itv/9HGglcisIJXkA+Mj42Ro1z/aT8kgXCmHE+otJHAvCPvH/sx8JeAZ9iwZ5Bx w3TBqeHbUwCOkHIrqCQ/ZuOAeAH/Jb8kpm6gJU8obydtiCp2IRcr/9aCZ2BscTtzeXNziiBp0XJj Lv8wAHE7bPswQDGMYjFuU+CzwnE7jOD/JSAwPjWy2KA2L0lAtrojHzsWBlQ2TFiwYaBYkE1BPlgA IP8UOd867WGgMjX+NjxPPVt+EDvBXtH4kD7/3TroS0C2QU866E1DDkOPIVRETFJDTELwMTm/DoD/ sP3QSCNGT0daOT6y/iBKs0jvR1oAUEhCTTNLb/1MezT94U2AT8JN70dbSsMnUjNQb7pFVk9YsFNU wEVQIDM4M0XPRBzTR9H94Hhj/7AxVa9Wt88OgFdiVRdYP0szV1P+Nm9aP0fgACBXYjVb31a3Nb9X UwCmXl9H4FKgV2I3X//dVrc3V1MMh0QOV68wVKD6QVdCMcMQZB99dAaAQvA/VGLzwGYCW2Bmb310 VEP/8SBXUQ6AWb9nZkfAajhbz/dp2X3AmjBBVLBqg1/vujbeQWgDO2BNQGqSYm+/cM3sMV9jog6A Y3IvcMuvMH9xtISwdM913HQmpGdEDUawRUVEQuSwQvBQbyBtaGIzZk9nV1Q7oFSwTf07oEzC0IGQ Us99SvdgcXH/fmNkD31ZhACvQG7QflNmMHeBL2d0gtFDfiJ7EG8QR/1+YjNd3zrWbvCCwjtgDqDt fmJihj+HTzNSIohyb695ic4xNXGiiIFh/4nON75f/7CIcoEfhKiIJmOIv7uRq4rWY4tvkaqNdmOO D3uRqpAVY5Cff82C0H5wZH+BD4Ifm+SDj4SdrzCFpWT/hi+PDa8wiEN+gKF/oo+K1f9+gJVPpQ6N dX6Al6+lDpAU/36AnF+EqKNmks+s3KYWlT//rNuotpefrNurVZnvui3C0P5mV5Ce373ctyNq3zrY dCDuS7chdv+6rE27k0N/usr3btBxsbuwMXxPvyyQE8Ax77d/Z2bMkPBwR/dAwnJNQevC72nlREUw Q+UQu1C3If45xS/GPrlSx3DAb8ZNW2H/x2HC38ZNx3DHUgyHF04GUQRDbAMway0xICDqKFdQQ1eB KREKwQ87gKlDAVNL0QE39JA8TYDWKdG/0spCR9Ew0QEFIPfUH9Uv1jIx0QHQ0Nbf1+/fUeDRAQWQ 2Z/ar01H0dEBzjPcH90vZ8BEV9kyDrDX3t/f7+DxMtEBNeF/4o914OIz0QE25C/lP+DiNHvTz8Nf WfCwR+GActOKMP/p3+rs1jLWhuzP6t7hANlG5++P6t07QTJG29byP/NP/cmAQt6G9Q/q3d5F4WP3 3//q3VHg2TLkE/qf+6/j0ubDf/1P/l/mgux90EcFkND1M+vRf1O5SbbQQTui06Pev+MFXwZhU0ZU bS8FvAYh/9ky1r8KPwtE49LZfwz/C0Tv6TLcDw+/C0Q4Bt8STwYx8XEgTU9EBov//xWPCUL/x58Y jwt6F28azw4rHK8dv/8Q6x+fIK8TqwKv0LAUIND1lxRwBI9Wh0EZcVRPvZH/058nzyjYCV8rLwtv LK8tvf8Oby+/LfkRLzKPLfkT7zVf3S36NuE/OD8pAzLr/zrP/zvaGZ8+TxvfP89A3R8PQt//QRkh /0WvQRkk70h/QRo5979Kzz5vP3nQRzow0PU1J0/5OJtBTnOgKS86j1LfLB//VZ9Tli5/V59YrzFv Ws9Yzv80T13vWN03H2D/WN45/2QP/1NYPH9m32fvQZ9qD2sfRI//bT9rPkdvcF9rTUo/c29rTn9N H3Z/aDpPv9CS/PDQ9TbDUa8SrEZJRk+24NNn/2M/fj9/RlcvgX9/c1mfg0//hF9cz4Z/hH5f74mf hI1i/+OMr38HT1VUFp+Pf5CP/2wPkq+Tv28vld+W73JPmQ//mh91b5w/kMt7b9CS5sDQ9YY3fV8S rE5MTVN/u/99QKNvpH2C0bCPpG6FSqYv/6l/iFqrT6xfi2quL68/jnrnsQ8FqxaBT05/cFQaBGD3 tA+1H4LCM7cfuC+Uq7b//7p/u4SIh7x/vY+7hIuXv4//wJ+7hJ5Hwp/Dr7uFZhfFr8nGulBPWUBf R2jvyQ//yh0/b8y/ysKUv85/z4+YD//Rr8+8my/Ur8+8nk/Xr8+9A3iPAyNQb3dlciCAU3RhdHVz INPQMQPzMTIxoy/oCURC8F9DVFLr599g37/gzRxMT/Gi2i/jP0hJR15I4f/lj+GBoT1T/JAgkFRj b27QoWMyJy/vAMv8kIURgqJF4Zezn+wfee0jNDjh4qr/7z/wRDSeUPyyrd/yD+0jMzLh4n+wv/Tv 7SPckO3v93/s5EZ530AyOP6wf8/6H+y3VP5DtfCFf/1v/niIjwAv/nh/i58C7/54jq8Fr+zkG4BD 9ExLkYsyB//Gxgnj/tv/Cv8MDwHIDb8OzwSIEH8RjxcHSBM4JhFS0NBDb20IcGFyOKBGbGFn+yaz 4TAzUZ9OiRbAGeBZADxHReGvGP8aAJFRT0Z/GiPkfxlMhRAdBhr43dJMFEwgToB03jBuYWzgIHNl dHROgBeg0KECRusARCksIEsg+nYhUHU4oBhvxrYKECCxuVP3MWbc/yC/IchGInH2TSK/2s1NJM8l 3ybvIeXuMd9gIoCFIDgoz9rNLsE/KtwrzyzfLegTMC6iN1/f0NAvDzAeNSEq22Yrv+pwzkQosOZy 3sVmOVFwGE/zTpg5oV9CCfnT06MQOx/zPC22AFJN0KY93z7vhRAmVj1fE85JMqpgRk3/kXfLf05r RVJFEdCvRu9FYeRMRYLgX0oxz0lvRWHsUEMqwFOgUtavTB9NJd/mUE2y2d9PD01URkhRooD/UN9R 71AyUzJGD0RPRVKhPZ85p03wOlXfb1dtQ0j+wO5Y7a9bH1wsMlyg8M9eX71cdzRgA/PfYW9cpDZg A/f2r2RPXKQ4YANdf2cvXKH+UlzsB+9qX1/qbD9tT2LK/28fcC9lqnH/cw9oinTfRJr+ROGUVhF3 33jrzg96/9yQf0hhfE946+sAcYF+f3+MNH9N0YCveOv2QHdBgt946zj/3MFY3zoBULA6VRMwWs9X i/9c0Vyg4ZdWM3e/ij/pM4cX/4zPitfck27Pj0+K9esAcX//kf+TCQSflM+KufZAdz+Xv/+KyNmS 3OOaD0Saa0GLLlaP/53ve++gr5Bun9+jT5OKpR//pi+Waqf/qQ+ZSqrfq++cKes43znjOTpGOIkP QayKtX/pMAnRMWAxZ4vfs2+KtVL/tPp5/7c/tLqOb7pPuDuiGku8bxmVRdBCU1BKkU6nEyCE9+ma eXMzcG0W4BBsb2Nr6jBvdXIiYzWqZW51w7Bce9+/1ux2CfJ90DzCLMW/xsM4U0RXx1/GtDMRMkbb yP/KCELKv8a0Tccvxodt+2Awzi/PNjHPz882MvHRZ1x9O8I/MvTEP8VP/+DUMyDG5c+/16jRX9ek +2D/2g/Xs83v13fIwe0yMxHdL//eN9hP3ijZ/94o0v/CfTmi8GNoYW4UICFg1a/Rff9f8dFuYtHR bmWx0W5okeQ/C8KMFsFjJ2BpYnJhESGwb24gF0BzdWzedObfxa4chBygRhoU0W6HHxPyjxmmQ0FM SVXQez/wSABEDQD0iO0/MsdwFRdALRPkZCigL04vjyKgsqi/1sOAcnVj79AQcGxsX+7BY19tBGFw 8Nl1bnNpZ3/5UjNR+3MUEPdX/P/VQHS791f9gmv/+/4Y/YJt91cIYm9vIWBtX2JwnQKcawOK9z/6 93J0R5Nd+4NvE+Dw2QMoIDLhSRhuZGnuwMOQcyBiOnkXIHMKAMOwB7NvcvEBkG90LrKZBEgJTwpS /8QQCr8B6QejANwP/wSBETu/BW/AMfCQCaA4gDLhX02gy0eEXLBfspgtLfDQv+RgMi4zNC6Alr/V fQZ9F7AYgAAfAEIAAQAAABAAAABKAGEAYwBrACAAWQB1AAAAHwBlAAEAAAAoAAAAagBhAGMAawAu AHkAdQBAAHIAZQBhAGwAdABlAGsALgBjAG8AbQAAAB8AZAABAAAACgAAAFMATQBUAFAAAAAAAAIB QQABAAAAWgAAAAAAAACBKx+kvqMQGZ1uAN0BD1QCAAAAgEoAYQBjAGsAIABZAHUAAABTAE0AVABQ AAAAagBhAGMAawAuAHkAdQBAAHIAZQBhAGwAdABlAGsALgBjAG8AbQAAAAAAHwACXQEAAAAoAAAA agBhAGMAawAuAHkAdQBAAHIAZQBhAGwAdABlAGsALgBjAG8AbQAAAB8A5V8BAAAAMAAAAHMAaQBw ADoAagBhAGMAawAuAHkAdQBAAHIAZQBhAGwAdABlAGsALgBjAG8AbQAAAB8AGgwBAAAAEAAAAEoA YQBjAGsAIABZAHUAAAAfAB8MAQAAACgAAABqAGEAYwBrAC4AeQB1AEAAcgBlAGEAbAB0AGUAawAu AGMAbwBtAAAAHwAeDAEAAAAKAAAAUwBNAFQAUAAAAAAAAgEZDAEAAABaAAAAAAAAAIErH6S+oxAZ nW4A3QEPVAIAAACASgBhAGMAawAgAFkAdQAAAFMATQBUAFAAAABqAGEAYwBrAC4AeQB1AEAAcgBl AGEAbAB0AGUAawAuAGMAbwBtAAAAAAAfAAFdAQAAACgAAABqAGEAYwBrAC4AeQB1AEAAcgBlAGEA bAB0AGUAawAuAGMAbwBtAAAACwBAOgEAAAAfABoAAQAAABIAAABJAFAATQAuAE4AbwB0AGUAAAAA AAMA8T8EBAAACwBAOgEAAAADAP0/tgMAAAIBCzABAAAAEAAAAFSFJcjHJmtBlXxButCzK/sDABcA AQAAAEAAOQAAQ1TQRrbaAUAACDCDArPQRrbaAQsAKQAAAAAAHwDZPwEAAAAAAgAAVABoAGkAcwAg AGkAcwAgAHQAaABlACAAaQBuAGkAdABpAGEAbAAgAGEAbQBwAGwAaQBmAGkAZQByACAAZAByAGkA dgBlAHIAIABmAG8AcgAgAHIAdAAxADMAMQA4AC4ADQAKAA0ACgBTAGkAZwBuAGUAZAAtAG8AZgBm AC0AYgB5ADoAIABKAGEAYwBrACAAWQB1ACAAPABqAGEAYwBrAC4AeQB1AEAAcgBlAGEAbAB0AGUA awAuAGMAbwBtAD4ADQAKAC0ALQAtAA0ACgAgAGkAbgBjAGwAdQBkAGUALwBzAG8AdQBuAGQALwBy AHQAMQAzADEAOAAuAGgAIAAgACAAIAB8ACAAIAAgADEANgAgACsADQAKACAAcwBvAHUAbgBkAC8A cwBvAGMALwBjAG8AZABlAGMAcwAvAEsAYwBvAG4AZgBpAGcAIAAgAHwAIAAgACAAIAA1ACAAKwAN AAoAIABzAG8AdQBuAGQALwBzAG8AYwAvAGMAbwBkAGUAYwBzAC8ATQBhAGsAZQBmAGkAbABlACAA fAAgACAAIAAgADIAIAArAA0ACgAgAHMAbwB1AG4AZAAvAHMAbwBjAC8AYwBvAGQAZQBjAHMALwBy AHQAMQAzADEAOAAuAGMAIAB8ACAAMQAzADgANwAgACsAKwArACsAKwArACsAAAALAACACCAGAAAA AADAAAAAAAAARgAAAAAUhQAAAQAAAB8AAICGAwIAAAAAAMAAAAAAAABGAQAAAB4AAABhAGMAYwBl AHAAdABsAGEAbgBnAHUAYQBnAGUAAAAAAAEAAAAaAAAAegBoAC0AVABXACwAIABlAG4ALQBVAFMA AAAAAAMAAIAIIAYAAAAAAMAAAAAAAABGAQAAADIAAABFAHgAYwBoAGEAbgBnAGUAQQBwAHAAbABp AGMAYQB0AGkAbwBuAEYAbABhAGcAcwAAAAAAIAAAAEgAAIAIIAYAAAAAAMAAAAAAAABGAQAAACIA AABOAGUAdAB3AG8AcgBrAE0AZQBzAHMAYQBnAGUASQBkAAAAAACYdNHgiXbXTbweCNyEXfNUHwAA gBOP8kH0gxRBpYTu21prC/8BAAAAFgAAAEMAbABpAGUAbgB0AEkAbgBmAG8AAAAAAAEAAAAqAAAA QwBsAGkAZQBuAHQAPQBNAFMARQB4AGMAaABhAG4AZwBlAFIAUABDAAAAAAAfAPo/AQAAABAAAABK AGEAYwBrACAAWQB1AAAAHwA3AAEAAABwAAAAWwBQAEEAVABDAEgAXQAgAEEAUwBvAEMAOgAgAHIA dAAxADMAMQA4ADoAIABBAGQAZAAgAFIAVAAxADMAMQA4ACAAYQB1AGQAaQBvACAAYQBtAHAAbABp AGYAaQBlAHIAIABkAHIAaQB2AGUAcgAAAB8APQABAAAAAgAAAAAAAAADADYAAAAAAAIBcQABAAAA FgAAAAHatkbP/J/Q9Kd9REGWlhtPQX3f9VcAAB8AcAABAAAAcAAAAFsAUABBAFQAQwBIAF0AIABB AFMAbwBDADoAIAByAHQAMQAzADEAOAA6ACAAQQBkAGQAIABSAFQAMQAzADEAOAAgAGEAdQBkAGkA bwAgAGEAbQBwAGwAaQBmAGkAZQByACAAZAByAGkAdgBlAHIAAAAfADUQAQAAAF4AAAA8AGMANgBk ADAAZQAwADkAZABlADAAMQBjADQAOAAwADQAYgBmAGYAZgA2AGUAZgBlADkAMgBmAGYAZgAwADQA YwBAAHIAZQBhAGwAdABlAGsALgBjAG8AbQA+AAAAAAADAN4/6f0AAAMAExIAAAAAAgEAgBOP8kH0 gxRBpYTu21prC/8BAAAALgAAAEgAZQBhAGQAZQByAEIAbwBkAHkARgByAGEAZwBtAGUAbgB0AEwA aQBzAHQAAAAAAAEAAAAiAAAAAQAKAAAABAAAAAAAAAAUAAAAAAAAAAAAAAD/////AAAAAAAACwAA gBOP8kH0gxRBpYTu21prC/8BAAAAHAAAAEgAYQBzAFEAdQBvAHQAZQBkAFQAZQB4AHQAAAAAAAAA CwAAgBOP8kH0gxRBpYTu21prC/8BAAAAKAAAAEkAcwBRAHUAbwB0AGUAZABUAGUAeAB0AEMAaABh AG4AZwBlAGQAAAAAAAAAQAAHMJDxi9BGttoBAgELAAEAAAAQAAAAVIUlyMcma0GVfEG60LMr+wMA JgAAAAAACwAGDAAAAAACARAwAQAAAEYAAAAAAAAA2+nESiSg50GTGyq7K7NtTAcATLd9DVWheUS+ c4U5YtAApQAAAGlg9wAAMq84BUqwTkaAx8c4IroPWgAAAde5KAAAAAACARMwAQAAABAAAACf0PSn fURBlpYbT0F93/VXAgEUMAEAAAAMAAAAZBIAAL6Iy2xUAAAAHwD4PwEAAAAQAAAASgBhAGMAawAg AFkAdQAAAB8AIkABAAAABgAAAEUAWAAAAAAAHwAjQAEAAAC2AAAALwBPAD0AUgBUAEUAWABDAEgA LwBPAFUAPQBFAFgAQwBIAEEATgBHAEUAIABBAEQATQBJAE4ASQBTAFQAUgBBAFQASQBWAEUAIABH AFIATwBVAFAAIAAoAEYAWQBEAEkAQgBPAEgARgAyADMAUwBQAEQATABUACkALwBDAE4APQBSAEUA QwBJAFAASQBFAE4AVABTAC8AQwBOAD0AVQBTAEUAUgA1ADkAOAA2ADUAMQAwADkAAAAAAB8AJEAB AAAABgAAAEUAWAAAAAAAHwAlQAEAAAC2AAAALwBPAD0AUgBUAEUAWABDAEgALwBPAFUAPQBFAFgA QwBIAEEATgBHAEUAIABBAEQATQBJAE4ASQBTAFQAUgBBAFQASQBWAEUAIABHAFIATwBVAFAAIAAo AEYAWQBEAEkAQgBPAEgARgAyADMAUwBQAEQATABUACkALwBDAE4APQBSAEUAQwBJAFAASQBFAE4A VABTAC8AQwBOAD0AVQBTAEUAUgA1ADkAOAA2ADUAMQAwADkAAAAAAB8AMEABAAAAEAAAAEoAYQBj AGsAIABZAHUAAAAfADFAAQAAABAAAABKAGEAYwBrACAAWQB1AAAAHwA4QAEAAAAQAAAASgBhAGMA awAgAFkAdQAAAB8AOUABAAAAEAAAAEoAYQBjAGsAIABZAHUAAAADAFlAAAAAAAMAWkAAAAAAAwAJ WQEAAAAfAApdAQAAACgAAABqAGEAYwBrAC4AeQB1AEAAcgBlAGEAbAB0AGUAawAuAGMAbwBtAAAA HwALXQEAAAAoAAAAagBhAGMAawAuAHkAdQBAAHIAZQBhAGwAdABlAGsALgBjAG8AbQAAAB8AAIAf pOszqHouQr57eeGpjlSzAQAAADgAAABDAG8AbgB2AGUAcgBzAGEAdABpAG8AbgBJAG4AZABlAHgA VAByAGEAYwBrAGkAbgBnAEUAeAAAAAEAAAAkAQAASQBJAD0AWwBDAEkARAA9AGEANwBmADQAZAAw ADkAZgAtADQANAA3AGQALQA5ADYANAAxAC0AOQA2ADEAYgAtADQAZgA0ADEANwBkAGQAZgBmADUA NQA3ADsASQBEAFgASABFAEEARAA9AEQAQQBCADYANAA2AEMARgBGAEMAOwBJAEQAWABDAE8AVQBO AFQAPQAxAF0AOwBQAFMAPQBVAG4AawBuAG8AdwBuADsAVgBlAHIAcwBpAG8AbgA9AFYAZQByAHMA aQBvAG4AIAAxADUALgAxACAAKABCAHUAaQBsAGQAIAAyADUAMAA3AC4AMAApACwAIABTAHQAYQBn AGUAPQBIADQAOwBVAFAAPQAxADAAOwBEAFAAPQAxAEMANQAAAAsAAIAIIAYAAAAAAMAAAAAAAABG AAAAAIKFAAAAAAAAAwANNP0/AAAfAACAhgMCAAAAAADAAAAAAAAARgEAAAAgAAAAeAAtAG0AcwAt AGgAYQBzAC0AYQB0AHQAYQBjAGgAAAABAAAAAgAAAAAAAAAfAACAhgMCAAAAAADAAAAAAAAARgEA AAAiAAAAeAAtAG8AcgBpAGcAaQBuAGEAdABpAG4AZwAtAGkAcAAAAAAAAQAAACIAAABbADEANwAy AC4AMgAyAC4AMQAwADIALgAxADAAMgBdAAAAAABNsA== --_000_c6d0e09de01c4804bfff6efe92fff04crealtekcom_--