From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtp2-g21.free.fr ([212.27.42.2]) by bombadil.infradead.org with esmtp (Exim 4.69 #1 (Red Hat Linux)) id 1ODwr5-0002va-Fy for barebox@lists.infradead.org; Mon, 17 May 2010 09:43:27 +0000 Received: from smtp2-g21.free.fr (localhost [127.0.0.1]) by smtp2-g21.free.fr (Postfix) with ESMTP id 81F214B0143 for ; Mon, 17 May 2010 11:43:19 +0200 (CEST) Received: from localhost.localdomain (pac33-2-82-240-38-71.fbx.proxad.net [82.240.38.71]) by smtp2-g21.free.fr (Postfix) with ESMTP for ; Mon, 17 May 2010 11:43:17 +0200 (CEST) From: =?utf-8?q?Eric=20B=C3=A9nard?= Date: Mon, 17 May 2010 11:43:17 +0200 Message-Id: <1274089397-7462-1-git-send-email-eric@eukrea.com> In-Reply-To: <20100517091450.GL31199@pengutronix.de> References: <20100517091450.GL31199@pengutronix.de> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: barebox-bounces@lists.infradead.org Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH v2] Add support for Eukrea's CPUIMX25 To: barebox@lists.infradead.org RnJvbTogRXJpYyBCZW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4KClRoaXMgYm9hcmRzIGludGVncmF0 ZXMgNjRtQiBvZiBERFIsIGEgMjU2TUIgTkFORCBmbGFzaCwgYSBSTUlJIEV0aGVybmV0IFBIWQph bmQgYSBpLk1YMjU3IENQVS4KClNpZ25lZC1vZmYtYnk6IEVyaWMgQsOpbmFyZCA8ZXJpY0BldWty ZWEuY29tPgotLS0KdjI6CgktIGZpeCBHUElPMjYgaGFuZGxpbmcKCS0gZml4IHRyYWlsaW5nIHdo aXRlc3BhY2UKIGFyY2gvYXJtL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAxICsKIGFyY2gvYXJtL2NvbmZpZ3MvZXVrcmVhX2NwdWlteDI1X2RlZmNvbmZpZyAgfCAgMjQ3 ICsrKysrKysrKysrKysrKysrKysrKysrCiBhcmNoL2FybS9tYWNoLWlteC9LY29uZmlnICAgICAg ICAgICAgICAgICAgIHwgICAxMCArCiBib2FyZC9ldWtyZWFfY3B1aW14MjUvTWFrZWZpbGUgICAg ICAgICAgICAgIHwgICAyNCArKysKIGJvYXJkL2V1a3JlYV9jcHVpbXgyNS9jb25maWcuaCAgICAg ICAgICAgICAgfCAgIDI3ICsrKwogYm9hcmQvZXVrcmVhX2NwdWlteDI1L2Vudi9iaW4vX3VwZGF0 ZSAgICAgICB8ICAgMzYgKysrKwogYm9hcmQvZXVrcmVhX2NwdWlteDI1L2Vudi9iaW4vYm9vdCAg ICAgICAgICB8ICAgNTMgKysrKysKIGJvYXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL2h1c2hf aGFjayAgICAgfCAgICAxICsKIGJvYXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL2luaXQgICAg ICAgICAgfCAgIDM4ICsrKysKIGJvYXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL3VwZGF0ZV9r ZXJuZWwgfCAgICA4ICsKIGJvYXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL3VwZGF0ZV9yb290 ICAgfCAgICA4ICsKIGJvYXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvY29uZmlnICAgICAgICAgICAg fCAgIDI2ICsrKwogYm9hcmQvZXVrcmVhX2NwdWlteDI1L2V1a3JlYV9jcHVpbXgyNS5jICAgICB8 ICAyODAgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBib2FyZC9ldWtyZWFfY3B1aW14MjUv bG93bGV2ZWxfaW5pdC5TICAgICAgIHwgIDEzNSArKysrKysrKysrKysrCiAxNCBmaWxlcyBjaGFu Z2VkLCA4OTQgaW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBhcmNoL2FybS9jb25maWdzL2V1a3JlYV9jcHVpbXgyNV9kZWZjb25maWcKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBib2FyZC9ldWtyZWFfY3B1aW14MjUvTWFrZWZpbGUKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBib2FyZC9ldWtyZWFfY3B1aW14MjUvY29uZmlnLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBib2Fy ZC9ldWtyZWFfY3B1aW14MjUvZW52L2Jpbi9fdXBkYXRlCiBjcmVhdGUgbW9kZSAxMDA2NDQgYm9h cmQvZXVrcmVhX2NwdWlteDI1L2Vudi9iaW4vYm9vdAogY3JlYXRlIG1vZGUgMTAwNjQ0IGJvYXJk L2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL2h1c2hfaGFjawogY3JlYXRlIG1vZGUgMTAwNjQ0IGJv YXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL2luaXQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBib2Fy ZC9ldWtyZWFfY3B1aW14MjUvZW52L2Jpbi91cGRhdGVfa2VybmVsCiBjcmVhdGUgbW9kZSAxMDA2 NDQgYm9hcmQvZXVrcmVhX2NwdWlteDI1L2Vudi9iaW4vdXBkYXRlX3Jvb3QKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBib2FyZC9ldWtyZWFfY3B1aW14MjUvZW52L2NvbmZpZwogY3JlYXRlIG1vZGUgMTAw NjQ0IGJvYXJkL2V1a3JlYV9jcHVpbXgyNS9ldWtyZWFfY3B1aW14MjUuYwogY3JlYXRlIG1vZGUg MTAwNjQ0IGJvYXJkL2V1a3JlYV9jcHVpbXgyNS9sb3dsZXZlbF9pbml0LlMKCmRpZmYgLS1naXQg YS9hcmNoL2FybS9NYWtlZmlsZSBiL2FyY2gvYXJtL01ha2VmaWxlCmluZGV4IGIxOTkxYzMuLjBi ZGNlMjEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL01ha2Vm aWxlCkBAIC02MSw2ICs2MSw3IEBAIGJvYXJkLSQoQ09ORklHX01BQ0hfRURCOTMwN0EpCQkJOj0g ZWRiOTN4eAogYm9hcmQtJChDT05GSUdfTUFDSF9FREI5MzAxMikJCQk6PSBlZGI5M3h4CiBib2Fy ZC0kKENPTkZJR19NQUNIX0VEQjkzMTUpCQkJOj0gZWRiOTN4eAogYm9hcmQtJChDT05GSUdfTUFD SF9FREI5MzE1QSkJCQk6PSBlZGI5M3h4Citib2FyZC0kKENPTkZJR19NQUNIX0VVS1JFQV9DUFVJ TVgyNSkJCTo9IGV1a3JlYV9jcHVpbXgyNQogYm9hcmQtJChDT05GSUdfTUFDSF9FVUtSRUFfQ1BV SU1YMjcpCQk6PSBldWtyZWFfY3B1aW14MjcKIGJvYXJkLSQoQ09ORklHX01BQ0hfRlJFRVNDQUxF X01YMjVfM1NUQUNLKQk6PSBmcmVlc2NhbGUtbXgyNS0zLXN0YWNrCiBib2FyZC0kKENPTkZJR19N QUNIX0ZSRUVTQ0FMRV9NWDM1XzNTVEFDSykJOj0gZnJlZXNjYWxlLW14MzUtMy1zdGFjawpkaWZm IC0tZ2l0IGEvYXJjaC9hcm0vY29uZmlncy9ldWtyZWFfY3B1aW14MjVfZGVmY29uZmlnIGIvYXJj aC9hcm0vY29uZmlncy9ldWtyZWFfY3B1aW14MjVfZGVmY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjgxZjljODAKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9j b25maWdzL2V1a3JlYV9jcHVpbXgyNV9kZWZjb25maWcKQEAgLTAsMCArMSwyNDcgQEAKKyMKKyMg QXV0b21hdGljYWxseSBnZW5lcmF0ZWQgbWFrZSBjb25maWc6IGRvbid0IGVkaXQKKyMgYmFyZWJv eCB2ZXJzaW9uOiAyMDEwLjAzLjAKKyMgRnJpIE1hciAxOSAxMToxMjoxMSAyMDEwCisjCisjIENP TkZJR19CT0FSRF9MSU5LRVJfU0NSSVBUIGlzIG5vdCBzZXQKK0NPTkZJR19HRU5FUklDX0xJTktF Ul9TQ1JJUFQ9eQorQ09ORklHX0FSTT15CisKKyMKKyMgU3lzdGVtIFR5cGUKKyMKKyMgQ09ORklH X0FSQ0hfQVQ5MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0FUOTFSTTkyMDAgaXMgbm90IHNl dAorIyBDT05GSUdfQVJDSF9FUDkzWFggaXMgbm90IHNldAorQ09ORklHX0FSQ0hfSU1YPXkKKyMg Q09ORklHX0FSQ0hfTkVUWCBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX09NQVAgaXMgbm90IHNl dAorIyBDT05GSUdfQVJDSF9TM0MyNHh4IGlzIG5vdCBzZXQKKworIworIyBQcm9jZXNzb3IgVHlw ZQorIworQ09ORklHX0NQVV8zMj15CitDT05GSUdfQ1BVX0FSTTkyNlQ9eQorQ09ORklHX0NQVV8z MnY1PXkKKworIworIyBwcm9jZXNzb3IgZmVhdHVyZXMKKyMKK0NPTkZJR19BUkNIX1RFWFRfQkFT RT0weDgzZjAwMDAwCitDT05GSUdfQk9BUkRJTkZPPSJFdWtyZWEgQ1BVSU1YMjUiCitDT05GSUdf QVJDSF9IQVNfRkVDX0lNWD15CitDT05GSUdfQVJDSF9JTVhfSU5URVJOQUxfQk9PVD15CisKKyMK KyMgRnJlZXNjYWxlIGkuTVggU3lzdGVtLW9uLUNoaXAKKyMKKyMgQ09ORklHX0FSQ0hfSU1YMSBp cyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lNWDIxIGlzIG5vdCBzZXQKK0NPTkZJR19BUkNIX0lN WDI1PXkKKyMgQ09ORklHX0FSQ0hfSU1YMjcgaXMgbm90IHNldAorIyBDT05GSUdfQVJDSF9JTVgz MSBpcyBub3Qgc2V0CisjIENPTkZJR19BUkNIX0lNWDM1IGlzIG5vdCBzZXQKK0NPTkZJR19NQUNI X0VVS1JFQV9DUFVJTVgyNT15CisjIENPTkZJR19NQUNIX0ZSRUVTQ0FMRV9NWDI1XzNTVEFDSyBp cyBub3Qgc2V0CisKKyMKKyMgQm9hcmQgc3BlY2lmaWMgc2V0dGluZ3MgICAgICAgCisjCisKKyMK KyMgaS5NWCBzcGVjaWZpYyBzZXR0aW5ncyAgICAgICAgCisjCisjIENPTkZJR19JTVhfQ0xLTyBp cyBub3Qgc2V0CisjIENPTkZJR19BRUFCSSBpcyBub3Qgc2V0CisKKyMKKyMgQXJtIHNwZWNpZmlj IHNldHRpbmdzICAgICAgICAgCisjCitDT05GSUdfQ01EX0FSTV9DUFVJTkZPPXkKK0NPTkZJR19B Uk1fT1BUSU1aRURfU1RSSU5HX0ZVTkNUSU9OUz15CitDT05GSUdfR1JFR09SSUFOX0NBTEVOREVS PXkKK0NPTkZJR19IQVNfS0FMTFNZTVM9eQorQ09ORklHX0hBU19NT0RVTEVTPXkKK0NPTkZJR19D TURfTUVNT1JZPXkKK0NPTkZJR19FTlZfSEFORExJTkc9eQorQ09ORklHX0dFTkVSSUNfR1BJTz15 CisKKyMKKyMgR2VuZXJhbCBTZXR0aW5ncyAgICAgICAgICAgICAgCisjCitDT05GSUdfTE9DQUxW RVJTSU9OX0FVVE89eQorCisjCisjIG1lbW9yeSBsYXlvdXQgICAgICAgICAgICAgICAgIAorIwor Q09ORklHX0hBVkVfTU1VPXkKK0NPTkZJR19NTVU9eQorQ09ORklHX0hBVkVfQ09ORklHVVJBQkxF X1RFWFRfQkFTRT15CitDT05GSUdfVEVYVF9CQVNFPTB4ODNmMDAwMDAKK0NPTkZJR19IQVZFX0NP TkZJR1VSQUJMRV9NRU1PUllfTEFZT1VUPXkKK0NPTkZJR19NRU1PUllfTEFZT1VUX0RFRkFVTFQ9 eQorIyBDT05GSUdfTUVNT1JZX0xBWU9VVF9GSVhFRCBpcyBub3Qgc2V0CitDT05GSUdfU1RBQ0tf U0laRT0weDgwMDAKK0NPTkZJR19NQUxMT0NfU0laRT0weDEwMDAwMDAKKyMgQ09ORklHX0JST0tF TiBpcyBub3Qgc2V0CisjIENPTkZJR19FWFBFUklNRU5UQUwgaXMgbm90IHNldAorQ09ORklHX01B Q0hfSEFTX0xPV0xFVkVMX0lOSVQ9eQorQ09ORklHX01BQ0hfRE9fTE9XTEVWRUxfSU5JVD15CitD T05GSUdfUFJPTVBUPSJiYXJlYm94OiIKK0NPTkZJR19CQVVEUkFURT0xMTUyMDAKKyMgQ09ORklH X0xPTkdIRUxQIGlzIG5vdCBzZXQKK0NPTkZJR19DQlNJWkU9MTAyNAorQ09ORklHX01BWEFSR1M9 MTYKK0NPTkZJR19TSEVMTF9IVVNIPXkKKyMgQ09ORklHX1NIRUxMX1NJTVBMRSBpcyBub3Qgc2V0 CitDT05GSUdfR0xPQj15CitDT05GSUdfUFJPTVBUX0hVU0hfUFMyPSJjcHVpbXgyNT4iCitDT05G SUdfQ01ETElORV9FRElUSU5HPXkKK0NPTkZJR19BVVRPX0NPTVBMRVRFPXkKK0NPTkZJR19EWU5B TUlDX0NSQ19UQUJMRT15CisjIENPTkZJR19FUlJOT19NRVNTQUdFUyBpcyBub3Qgc2V0CitDT05G SUdfVElNRVNUQU1QPXkKK0NPTkZJR19DT05TT0xFX0ZVTEw9eQorQ09ORklHX0NPTlNPTEVfQUNU SVZBVEVfRklSU1Q9eQorIyBDT05GSUdfT0ZfRkxBVF9UUkVFIGlzIG5vdCBzZXQKK0NPTkZJR19Q QVJUSVRJT049eQorQ09ORklHX0RFRkFVTFRfRU5WSVJPTk1FTlQ9eQorQ09ORklHX0RFRkFVTFRf RU5WSVJPTk1FTlRfUEFUSD0iYm9hcmQvZXVrcmVhX2NwdWlteDI1L2VudiIKKworIworIyBEZWJ1 Z2dpbmcgICAgICAgICAgICAgICAgICAgICAKKyMKKyMgQ09ORklHX0RFQlVHX0lORk8gaXMgbm90 IHNldAorIyBDT05GSUdfRU5BQkxFX0ZMQVNIX05PSVNFIGlzIG5vdCBzZXQKKyMgQ09ORklHX0VO QUJMRV9QQVJUSVRJT05fTk9JU0UgaXMgbm90IHNldAorIyBDT05GSUdfRU5BQkxFX0RFVklDRV9O T0lTRSBpcyBub3Qgc2V0CisKKyMKKyMgQ29tbWFuZHMgICAgICAgICAgICAgICAgICAgICAgCisj CisKKyMKKyMgc2NyaXB0aW5nICAgICAgICAgICAgICAgICAgICAgCisjCitDT05GSUdfQ01EX0VE SVQ9eQorQ09ORklHX0NNRF9TTEVFUD15CitDT05GSUdfQ01EX1NBVkVFTlY9eQorQ09ORklHX0NN RF9MT0FERU5WPXkKK0NPTkZJR19DTURfRVhQT1JUPXkKK0NPTkZJR19DTURfUFJJTlRFTlY9eQor Q09ORklHX0NNRF9SRUFETElORT15CitDT05GSUdfQ01EX1RSVUU9eQorQ09ORklHX0NNRF9GQUxT RT15CisKKyMKKyMgZmlsZSBjb21tYW5kcyAgICAgICAgICAgICAgICAgCisjCitDT05GSUdfQ01E X0xTPXkKK0NPTkZJR19DTURfUk09eQorQ09ORklHX0NNRF9DQVQ9eQorQ09ORklHX0NNRF9NS0RJ Uj15CitDT05GSUdfQ01EX1JNRElSPXkKK0NPTkZJR19DTURfQ1A9eQorQ09ORklHX0NNRF9QV0Q9 eQorQ09ORklHX0NNRF9DRD15CitDT05GSUdfQ01EX01PVU5UPXkKK0NPTkZJR19DTURfVU1PVU5U PXkKKworIworIyBjb25zb2xlICAgICAgICAgICAgICAgICAgICAgICAKKyMKK0NPTkZJR19DTURf Q0xFQVI9eQorQ09ORklHX0NNRF9FQ0hPPXkKKworIworIyBtZW1vcnkgICAgICAgICAgICAgICAg ICAgICAgICAKKyMKKyMgQ09ORklHX0NNRF9MT0FEQiBpcyBub3Qgc2V0CitDT05GSUdfQ01EX01F TUlORk89eQorQ09ORklHX0NNRF9DUkM9eQorQ09ORklHX0NNRF9NVEVTVD15CisjIENPTkZJR19D TURfTVRFU1RfQUxURVJOQVRJVkUgaXMgbm90IHNldAorCisjCisjIGZsYXNoICAgICAgICAgICAg ICAgICAgICAgICAgIAorIworQ09ORklHX0NNRF9GTEFTSD15CisKKyMKKyMgYm9vdGluZyAgICAg ICAgICAgICAgICAgICAgICAgCisjCitDT05GSUdfQ01EX0JPT1RNPXkKKyMgQ09ORklHX0NNRF9C T09UTV9aTElCIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NNRF9CT09UTV9CWkxJQiBpcyBub3Qgc2V0 CisjIENPTkZJR19DTURfQk9PVE1fU0hPV19UWVBFIGlzIG5vdCBzZXQKK0NPTkZJR19DTURfQk9P VFo9eQorQ09ORklHX0NNRF9CT09UVT15CisjIENPTkZJR19DTURfTElOVVgxNiBpcyBub3Qgc2V0 CitDT05GSUdfQ01EX1JFU0VUPXkKK0NPTkZJR19DTURfR089eQorQ09ORklHX0NNRF9USU1FT1VU PXkKK0NPTkZJR19DTURfUEFSVElUSU9OPXkKK0NPTkZJR19DTURfVEVTVD15CitDT05GSUdfQ01E X1ZFUlNJT049eQorQ09ORklHX0NNRF9IRUxQPXkKK0NPTkZJR19DTURfREVWSU5GTz15CitDT05G SUdfQ01EX0JNUD15CitDT05GSUdfQ01EX0dQSU89eQorQ09ORklHX05FVD15CitDT05GSUdfTkVU X0RIQ1A9eQorIyBDT05GSUdfTkVUX1JBUlAgaXMgbm90IHNldAorIyBDT05GSUdfTkVUX05GUyBp cyBub3Qgc2V0CitDT05GSUdfTkVUX1BJTkc9eQorQ09ORklHX05FVF9URlRQPXkKKworIworIyBE cml2ZXJzICAgICAgICAgICAgICAgICAgICAgICAKKyMKKworIworIyBzZXJpYWwgZHJpdmVycyAg ICAgICAgICAgICAgICAKKyMKKyMgQ09ORklHX0RSSVZFUl9TRVJJQUxfQVJNX0RDQyBpcyBub3Qg c2V0CitDT05GSUdfRFJJVkVSX1NFUklBTF9JTVg9eQorIyBDT05GSUdfRFJJVkVSX1NFUklBTF9O UzE2NTUwIGlzIG5vdCBzZXQKK0NPTkZJR19NSUlQSFk9eQorCisjCisjIE5ldHdvcmsgZHJpdmVy cyAgICAgICAgICAgICAgIAorIworIyBDT05GSUdfRFJJVkVSX05FVF9TTUM5MTFYIGlzIG5vdCBz ZXQKKyMgQ09ORklHX0RSSVZFUl9ORVRfU01DOTExMTEgaXMgbm90IHNldAorQ09ORklHX0RSSVZF Ul9ORVRfRkVDX0lNWD15CisKKyMKKyMgU1BJIGRyaXZlcnMgICAgICAgICAgICAgICAgICAgCisj CisjIENPTkZJR19TUEkgaXMgbm90IHNldAorIyBDT05GSUdfSTJDIGlzIG5vdCBzZXQKKworIwor IyBmbGFzaCBkcml2ZXJzICAgICAgICAgICAgICAgICAKKyMKKyMgQ09ORklHX0RSSVZFUl9DRkkg aXMgbm90IHNldAorQ09ORklHX05BTkQ9eQorQ09ORklHX05BTkRfSU1YPXkKK0NPTkZJR19OQU5E X0lNWF9CT09UPXkKKyMgQ09ORklHX01URF9OQU5EX1ZFUklGWV9XUklURSBpcyBub3Qgc2V0Cisj IENPTkZJR19NVERfTkFORF9FQ0NfU01DIGlzIG5vdCBzZXQKK0NPTkZJR19NVERfTkFORF9JRFM9 eQorIyBDT05GSUdfQVRBIGlzIG5vdCBzZXQKKyMgQ09ORklHX1VTQiBpcyBub3Qgc2V0CisjIENP TkZJR19VU0JfR0FER0VUIGlzIG5vdCBzZXQKK0NPTkZJR19WSURFTz15CitDT05GSUdfRFJJVkVS X1ZJREVPX0lNWD15CisjIENPTkZJR19JTVhGQl9EUklWRVJfVklERU9fSU1YX09WRVJMQVkgaXMg bm90IHNldAorCisjCisjIEZpbGVzeXN0ZW0gc3VwcG9ydCAgICAgICAgICAgIAorIworIyBDT05G SUdfRlNfQ1JBTUZTIGlzIG5vdCBzZXQKK0NPTkZJR19GU19SQU1GUz15CitDT05GSUdfRlNfREVW RlM9eQorQ09ORklHX0NSQzMyPXkKKyMgQ09ORklHX0dFTkVSSUNfRklORF9ORVhUX0JJVCBpcyBu b3Qgc2V0CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLWlteC9LY29uZmlnIGIvYXJjaC9hcm0v bWFjaC1pbXgvS2NvbmZpZwppbmRleCAwMmQ1ZGI5Li40MTlkYWFiIDEwMDY0NAotLS0gYS9hcmNo L2FybS9tYWNoLWlteC9LY29uZmlnCisrKyBiL2FyY2gvYXJtL21hY2gtaW14L0tjb25maWcKQEAg LTIsNiArMiw3IEBAIGlmIEFSQ0hfSU1YCiAKIGNvbmZpZyBBUkNIX1RFWFRfQkFTRQogCWhleAor CWRlZmF1bHQgMHg4M2YwMDAwMCBpZiBNQUNIX0VVS1JFQV9DUFVJTVgyNQogCWRlZmF1bHQgMHhh MDAwMDAwMCBpZiBNQUNIX0VVS1JFQV9DUFVJTVgyNwogCWRlZmF1bHQgMHgwOGYwMDAwMCBpZiBN QUNIX01YMUFEUwogCWRlZmF1bHQgMHhjMDAwMDAwMCBpZiBNQUNIX0lNWDIxQURTCkBAIC0xNiw2 ICsxNyw3IEBAIGNvbmZpZyBBUkNIX1RFWFRfQkFTRQogCWRlZmF1bHQgMHgwOGY4MDAwMCBpZiBN QUNIX1NDQjkzMjgKIAogY29uZmlnIEJPQVJESU5GTworCWRlZmF1bHQgIkV1a3JlYSBDUFVJTVgy NSIgaWYgTUFDSF9FVUtSRUFfQ1BVSU1YMjUKIAlkZWZhdWx0ICJFdWtyZWEgQ1BVSU1YMjciIGlm IE1BQ0hfRVVLUkVBX0NQVUlNWDI3CiAJZGVmYXVsdCAiRnJlZXNjYWxlIGkuTVgyMSBBRFMiIGlm IE1BQ0hfSU1YMjFBRFMKIAlkZWZhdWx0ICJGcmVlc2NhbGUgaS5NWDI3IEFEUyIgaWYgTUFDSF9J TVgyN0FEUwpAQCAtMTI0LDYgKzEyNiwxNCBAQCBjaG9pY2UKIAogCXByb21wdCAiaS5NWDI1IEJv YXJkIFR5cGUiCiAKK2NvbmZpZyBNQUNIX0VVS1JFQV9DUFVJTVgyNQorCWJvb2wgIkV1a3JlYSBD UFVJTVgyNSIKKwlzZWxlY3QgTUFDSF9IQVNfTE9XTEVWRUxfSU5JVAorCXNlbGVjdCBIQVZFX01N VQorCWhlbHAKKwkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyB0aGUgRXVrcmVhIEVsZWN0 cm9tYXRpcXVlJ3MgQ1BVSU1YMjUKKwkgIGVxdWlwcGVkIHdpdGggYSBGcmVlc2NhbGUgaS5NWDI1 IFByb2Nlc3NvcgorCiBjb25maWcgTUFDSF9GUkVFU0NBTEVfTVgyNV8zU1RBQ0sKIAlib29sICJG cmVlc2NhbGUgTVgyNSAzc3RhY2siCiAJc2VsZWN0IEhBU19DRkkKZGlmZiAtLWdpdCBhL2JvYXJk L2V1a3JlYV9jcHVpbXgyNS9NYWtlZmlsZSBiL2JvYXJkL2V1a3JlYV9jcHVpbXgyNS9NYWtlZmls ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjJjMmU4Ci0tLSAvZGV2L251 bGwKKysrIGIvYm9hcmQvZXVrcmVhX2NwdWlteDI1L01ha2VmaWxlCkBAIC0wLDAgKzEsMjQgQEAK KyMKKyMgKEMpIDIwMTAgRXVrcmVhIEVsZWN0cm9tYXRpcXVlLCBFcmljIELDqW5hcmQgPGVyaWNA ZXVrcmVhLmNvbT4KKyMKKyMgU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hv IGNvbnRyaWJ1dGVkIHRvIHRoaXMKKyMgcHJvamVjdC4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorIyBtb2RpZnkgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworIyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g MiBvZgorIyB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKyMKKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg Y29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlz IHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyMgRm91bmRhdGlv biwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwKKyMgTUEgMDIxMTEt MTMwNyBVU0EKKyMKKworb2JqLXkgKz0gbG93bGV2ZWxfaW5pdC5vCitvYmoteSArPSBldWtyZWFf Y3B1aW14MjUubwpkaWZmIC0tZ2l0IGEvYm9hcmQvZXVrcmVhX2NwdWlteDI1L2NvbmZpZy5oIGIv Ym9hcmQvZXVrcmVhX2NwdWlteDI1L2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLmVmZmY5MDkKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC9ldWtyZWFfY3B1aW14 MjUvY29uZmlnLmgKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIChjKSAyMDEwIEV1a3JlYSBFbGVj dHJvbWF0aXF1ZSwgRXJpYyBCw6luYXJkIDxlcmljQGV1a3JlYS5jb20+CisgKgorICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgor ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mCisgKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJl ZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAz MzAsIEJvc3RvbiwKKyAqIE1BIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2lmbmRlZiBfX0NPTkZJ R19ICisjZGVmaW5lIF9fQ09ORklHX0gKKworI2RlZmluZSBDT05GSUdfTVgyNV9IQ0xLX0ZSRVEJ MjQwMDAwMDAKKworI2VuZGlmCisKKy8qIG5vdGhpbmcgdG8gZG8gaGVyZSB5ZXQgKi8KZGlmZiAt LWdpdCBhL2JvYXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL191cGRhdGUgYi9ib2FyZC9ldWty ZWFfY3B1aW14MjUvZW52L2Jpbi9fdXBkYXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjAxNGJjZTMKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC9ldWtyZWFfY3B1aW14MjUv ZW52L2Jpbi9fdXBkYXRlCkBAIC0wLDAgKzEsMzYgQEAKKyMhL2Jpbi9zaAorCitpZiBbIC16ICIk cGFydCIgLW8gLXogIiRpbWFnZSIgXTsgdGhlbgorCWVjaG8gImRlZmluZSBcJHBhcnQgYW5kIFwk aW1hZ2UiCisJZXhpdCAxCitmaQorCitpZiBbICEgLWUgIiRwYXJ0IiBdOyB0aGVuCisJZWNobyAi UGFydGl0aW9uICRwYXJ0IGRvZXMgbm90IGV4aXN0IgorCWV4aXQgMQorZmkKKworaWYgWyAkIyA9 IDEgXTsgdGhlbgorCWltYWdlPSQxCitmaQorCitpZiBbIHgkaXAgPSB4ZGhjcCBdOyB0aGVuCisJ ZGhjcAorZmkKKworcGluZyAkZXRoMC5zZXJ2ZXJpcAoraWYgWyAkPyAtbmUgMCBdIDsgdGhlbgor CWVjaG8gInVwZGF0ZSBhYm9ydGVkIgorCWV4aXQgMQorZmkKKwordW5wcm90ZWN0ICRwYXJ0CisK K2VjaG8KK2VjaG8gImVyYXNpbmcgcGFydGl0aW9uICRwYXJ0IgorZXJhc2UgJHBhcnQKKworZWNo bworZWNobyAiZmxhc2hpbmcgJGltYWdlIHRvICRwYXJ0IgorZWNobwordGZ0cCAkaW1hZ2UgJHBh cnQKZGlmZiAtLWdpdCBhL2JvYXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL2Jvb3QgYi9ib2Fy ZC9ldWtyZWFfY3B1aW14MjUvZW52L2Jpbi9ib290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjMzMTExMTQKLS0tIC9kZXYvbnVsbAorKysgYi9ib2FyZC9ldWtyZWFfY3B1aW14 MjUvZW52L2Jpbi9ib290CkBAIC0wLDAgKzEsNTMgQEAKKyMhL2Jpbi9zaAorCisuIC9lbnYvY29u ZmlnCisKK2lmIFsgeCQxID0geGpmZlMyIF07IHRoZW4KKwlyb290PWpmZnMyCisJa2VybmVsPW5h bmQKK2ZpCisKK2lmIFsgeCQxID0geHViaWZzIF07IHRoZW4KKwlyb290PXViaWZzCisJa2VybmVs PW5hbmQKK2ZpCisKK2lmIFsgeCQxID0geG5ldCBdOyB0aGVuCisJcm9vdD1uZXQKKwlrZXJuZWw9 bmV0CitmaQorCitpZiBbIHgkaXAgPSB4ZGhjcCBdOyB0aGVuCisJYm9vdGFyZ3M9IiRib290YXJn cyBpcD1kaGNwIgorZWxzZQorCWlmIFsgeCRpcCA9IHhvZmYgXTsgdGhlbgorCQlib290YXJncz0i JGJvb3RhcmdzIGlwPW9mZiIKKwllbHNlCisJCWJvb3RhcmdzPSIkYm9vdGFyZ3MgaXA9JGV0aDAu aXBhZGRyOiRldGgwLnNlcnZlcmlwOiRldGgwLmdhdGV3YXk6JGV0aDAubmV0bWFzazo6OiIKKwlm aQorZmkKKworaWYgWyB4JHJvb3QgPSB4amZmczIgXTsgdGhlbgorCWJvb3RhcmdzPSIkYm9vdGFy Z3Mgcm9vdD0vZGV2L210ZGJsb2NrJHJvb3RwYXJ0bnVtX25hbmQgcm9vdGZzdHlwZT1qZmZzMiIK K2ZpCisKK2lmIFsgeCRyb290ID0geHViaWZzIF07IHRoZW4KKwlib290YXJncz0iJGJvb3Rhcmdz IHJvb3Q9dWJpMDpyb290IHViaS5tdGQ9JHJvb3RwYXJ0bnVtX25hbmQgcm9vdGZzdHlwZT11Ymlm cyIKK2ZpCisKK2lmIFsgeCRyb290ID0geG5ldCBdOyB0aGVuCisJYm9vdGFyZ3M9IiRib290YXJn cyByb290PS9kZXYvbmZzIG5mc3Jvb3Q9JGV0aDAuc2VydmVyaXA6JG5mc3Jvb3QsdjMsdGNwIgor ZmkKKworYm9vdGFyZ3M9IiRib290YXJncyBtdGRwYXJ0cz1teGNfbmFuZDokbmFuZF9wYXJ0cyIK KworaWYgWyAka2VybmVsID0gbmV0IF07IHRoZW4KKwlpZiBbIHgkaXAgPSB4ZGhjcCBdOyB0aGVu CisJCWRoY3AKKwlmaQorCXRmdHAgJHVpbWFnZSB1SW1hZ2UgfHwgZXhpdCAxCisJYm9vdG0gdUlt YWdlCitlbHNlCisJYm9vdG0gL2Rldi9uYW5kMC5rZXJuZWwuYmIKK2ZpCisKZGlmZiAtLWdpdCBh L2JvYXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL2h1c2hfaGFjayBiL2JvYXJkL2V1a3JlYV9j cHVpbXgyNS9lbnYvYmluL2h1c2hfaGFjawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwLi41ZmZmYTkyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQvZXVrcmVhX2NwdWlteDI1L2Vu di9iaW4vaHVzaF9oYWNrCkBAIC0wLDAgKzEgQEAKK25hbmQgLWEgL2Rldi9uYW5kMC4qCmRpZmYg LS1naXQgYS9ib2FyZC9ldWtyZWFfY3B1aW14MjUvZW52L2Jpbi9pbml0IGIvYm9hcmQvZXVrcmVh X2NwdWlteDI1L2Vudi9iaW4vaW5pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li44YmNjNzMyCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQvZXVrcmVhX2NwdWlteDI1L2Vudi9i aW4vaW5pdApAQCAtMCwwICsxLDM4IEBACisjIS9iaW4vc2gKKworUEFUSD0vZW52L2JpbgorZXhw b3J0IFBBVEgKKworLiAvZW52L2NvbmZpZworaWYgWyAtZSAvZGV2L25hbmQwIF07IHRoZW4KKwlh ZGRwYXJ0IC9kZXYvbmFuZDAgJG5hbmRfcGFydHMKKworCSMgVWgsIG9oLCBodXNoIGZpcnN0IGV4 cGFuZHMgd2lsZGNhcmRzIGFuZCB0aGVuIHN0YXJ0cyBleGVjdXRpbmcKKwkjIGNvbW1hbmRzLiBX aGF0IGEgYnVnIQorCXNvdXJjZSAvZW52L2Jpbi9odXNoX2hhY2sKK2ZpCisKK2lmIFsgLWYgL2Vu di9sb2dvLmJtcCBdOyB0aGVuCisJYm1wIC9lbnYvbG9nby5ibXAKK2ZpCisKK2lmIFsgLXogJGV0 aDAuZXRoYWRkciBdOyB0aGVuCisJd2hpbGUgWyAteiAkZXRoMC5ldGhhZGRyIF07IGRvCisJCXJl YWRsaW5lICJubyBNQUMgYWRkcmVzcyBzZXQgZm9yIGV0aDAuIHBsZWFzZSBlbnRlciB0aGUgb25l IGZvdW5kIG9uIHlvdXIgYm9hcmQ6ICIgZXRoMC5ldGhhZGRyCisJZG9uZQorCWVjaG8gLWEgL2Vu di9jb25maWcgImV0aDAuZXRoYWRkcj0kZXRoMC5ldGhhZGRyIgorCXNhdmVlbnYKK2ZpCisKK2Vj aG8KK2VjaG8gLW4gIkhpdCBhbnkga2V5IHRvIHN0b3AgYXV0b2Jvb3Q6ICIKK3RpbWVvdXQgLWEg JGF1dG9ib290X3RpbWVvdXQKK2lmIFsgJD8gIT0gMCBdOyB0aGVuCisJZWNobworCWVjaG8gInR5 cGUgdXBkYXRlX2tlcm5lbCBbPGltYWdlbmFtZT5dIHRvIHVwZGF0ZSBrZXJuZWwgaW50byBmbGFz aCIKKwllY2hvICJ0eXBlIHVwZGF0ZV9yb290IFs8aW1hZ2VuYW1lPl0gdG8gdXBkYXRlIHJvb3Rm cyBpbnRvIGZsYXNoIgorCWVjaG8KKwlleGl0CitmaQorCitib290CmRpZmYgLS1naXQgYS9ib2Fy ZC9ldWtyZWFfY3B1aW14MjUvZW52L2Jpbi91cGRhdGVfa2VybmVsIGIvYm9hcmQvZXVrcmVhX2Nw dWlteDI1L2Vudi9iaW4vdXBkYXRlX2tlcm5lbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5jMmQyY2MzCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQvZXVrcmVhX2NwdWlteDI1 L2Vudi9iaW4vdXBkYXRlX2tlcm5lbApAQCAtMCwwICsxLDggQEAKKyMhL2Jpbi9zaAorCisuIC9l bnYvY29uZmlnCisKK2ltYWdlPSR1aW1hZ2UKK3BhcnQ9L2Rldi9uYW5kMC5rZXJuZWwuYmIKKwor LiAvZW52L2Jpbi9fdXBkYXRlICQxCmRpZmYgLS1naXQgYS9ib2FyZC9ldWtyZWFfY3B1aW14MjUv ZW52L2Jpbi91cGRhdGVfcm9vdCBiL2JvYXJkL2V1a3JlYV9jcHVpbXgyNS9lbnYvYmluL3VwZGF0 ZV9yb290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkODlhNWEKLS0tIC9k ZXYvbnVsbAorKysgYi9ib2FyZC9ldWtyZWFfY3B1aW14MjUvZW52L2Jpbi91cGRhdGVfcm9vdApA QCAtMCwwICsxLDggQEAKKyMhL2Jpbi9zaAorCisuIC9lbnYvY29uZmlnCisKK2ltYWdlPSRyb290 ZnMKK3BhcnQ9L2Rldi9uYW5kMC5yb290LmJiCisKKy4gL2Vudi9iaW4vX3VwZGF0ZSAkMQpkaWZm IC0tZ2l0IGEvYm9hcmQvZXVrcmVhX2NwdWlteDI1L2Vudi9jb25maWcgYi9ib2FyZC9ldWtyZWFf Y3B1aW14MjUvZW52L2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5l YjVmY2VkCi0tLSAvZGV2L251bGwKKysrIGIvYm9hcmQvZXVrcmVhX2NwdWlteDI1L2Vudi9jb25m aWcKQEAgLTAsMCArMSwyNiBAQAorIyEvYmluL3NoCisKKyMgY2FuIGJlIGVpdGhlciAnbmV0JyBv ciAnamZmczInIG9yICd1YmlmcycKK2tlcm5lbD1uYW5kCityb290PWpmZnMyCisKK2Jhc2VkaXI9 Y3B1aW14MjUKK3VpbWFnZT0kYmFzZWRpci91SW1hZ2UKK3Jvb3Rmcz0kYmFzZWRpci9yb290ZnMK KworYXV0b2Jvb3RfdGltZW91dD0xCisKK25mc3Jvb3Q9IiIKK2Jvb3RhcmdzPSJjb25zb2xlPXR0 eW14YzAsMTE1MjAwIgorCituYW5kX3BhcnRzPSIyNTZrKGJhcmVib3gpcm8sMTI4ayhiYXJlYm94 ZW52KSwyMTc2ayhrZXJuZWwpLC0ocm9vdCkiCityb290cGFydG51bV9uYW5kPTMKKworIyB1c2Ug J2RoY3AnIHRvIGRvIGRoY3AgaW4gYmFyZWJveCBhbmQgaW4ga2VybmVsCitpcD1kaGNwCisKKyMg b3Igc2V0IHlvdXIgbmV0d29ya2luZyBwYXJhbWV0ZXJzIGhlcmUKKyNldGgwLmlwYWRkcj1hLmIu Yy5kCisjZXRoMC5uZXRtYXNrPWEuYi5jLmQKKyNldGgwLmdhdGV3YXk9YS5iLmMuZAorZXRoMC5z ZXJ2ZXJpcD0xOTIuMTY4LjEuMTUKZGlmZiAtLWdpdCBhL2JvYXJkL2V1a3JlYV9jcHVpbXgyNS9l dWtyZWFfY3B1aW14MjUuYyBiL2JvYXJkL2V1a3JlYV9jcHVpbXgyNS9ldWtyZWFfY3B1aW14MjUu YwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZGRiYTk3Ci0tLSAvZGV2L251 bGwKKysrIGIvYm9hcmQvZXVrcmVhX2NwdWlteDI1L2V1a3JlYV9jcHVpbXgyNS5jCkBAIC0wLDAg KzEsMjgwIEBACisvKgorICogKEMpIDIwMDkgUGVuZ3V0cm9uaXgsIFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4KKyAqIChjKSAyMDEwIEV1a3JlYSBFbGVjdHJvbWF0aXF1ZSwg RXJpYyBCw6luYXJkIDxlcmljQGV1a3JlYS5jb20+CisgKiAKKyAqIFNlZSBmaWxlIENSRURJVFMg Zm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCisgKiBwcm9qZWN0Lgor ICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3Jp dGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQ bGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sCisgKiBNQSAwMjExMS0xMzA3IFVTQQorICoKKyAqLwor CisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8aW5pdC5oPgorI2luY2x1ZGUgPGRyaXZl ci5oPgorI2luY2x1ZGUgPGVudmlyb25tZW50Lmg+CisjaW5jbHVkZSA8bWFjaC9pbXgtcmVncy5o PgorI2luY2x1ZGUgPGFzbS9hcm1saW51eC5oPgorI2luY2x1ZGUgPG1hY2gvZ3Bpby5oPgorI2lu Y2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPGFzbS9tbXUuaD4KKworI2luY2x1ZGUgPHBhcnRp dGlvbi5oPgorI2luY2x1ZGUgPGFzbS9tYWNoLXR5cGVzLmg+CisjaW5jbHVkZSA8bWFjaC9pbXgt bmFuZC5oPgorI2luY2x1ZGUgPG1hY2gvaW14ZmIuaD4KKyNpbmNsdWRlIDxmZWMuaD4KKyNpbmNs dWRlIDxuYW5kLmg+CisjaW5jbHVkZSA8bWFjaC9pbXgtZmxhc2gtaGVhZGVyLmg+CisjaW5jbHVk ZSA8bWFjaC9pb211eC1teDI1Lmg+CisKK2V4dGVybiB1bnNpZ25lZCBsb25nIF9zdGV4dDsKKwor dm9pZCBfX25ha2VkIF9fZmxhc2hfaGVhZGVyX3N0YXJ0IGdvKHZvaWQpCit7CisJX19hc21fXyBf X3ZvbGF0aWxlX18oImIgZXhjZXB0aW9uX3ZlY3RvcnNcbiIpOworfQorCitzdHJ1Y3QgaW14X2Rj ZF9lbnRyeSBfX2RjZF9lbnRyeV8weDQwMCBkY2RfZW50cnlbXSA9IHsKKwl7IC5wdHJfdHlwZSA9 IDQsIC5hZGRyID0gMHhiODAwMTAxMCwgLnZhbCA9IDB4MDAwMDAwMDQsIH0sCisJeyAucHRyX3R5 cGUgPSA0LCAuYWRkciA9IDB4YjgwMDEwMDAsIC52YWwgPSAweDkyMTAwMDAwLCB9LAorCXsgLnB0 cl90eXBlID0gMSwgLmFkZHIgPSAweDgwMDAwNDAwLCAudmFsID0gMHgxMjM0NDMyMSwgfSwKKwl7 IC5wdHJfdHlwZSA9IDQsIC5hZGRyID0gMHhiODAwMTAwMCwgLnZhbCA9IDB4YTIxMDAwMDAsIH0s CisJeyAucHRyX3R5cGUgPSA0LCAuYWRkciA9IDB4ODAwMDAwMDAsIC52YWwgPSAweDEyMzQ0MzIx LCB9LAorCXsgLnB0cl90eXBlID0gNCwgLmFkZHIgPSAweDgwMDAwMDAwLCAudmFsID0gMHgxMjM0 NDMyMSwgfSwKKwl7IC5wdHJfdHlwZSA9IDQsIC5hZGRyID0gMHhiODAwMTAwMCwgLnZhbCA9IDB4 YjIxMDAwMDAsIH0sCisJeyAucHRyX3R5cGUgPSAxLCAuYWRkciA9IDB4ODAwMDAwMzMsIC52YWwg PSAweGRhLCB9LAorCXsgLnB0cl90eXBlID0gMSwgLmFkZHIgPSAweDgxMDAwMDAwLCAudmFsID0g MHhmZiwgfSwKKwl7IC5wdHJfdHlwZSA9IDQsIC5hZGRyID0gMHhiODAwMTAwMCwgLnZhbCA9IDB4 ODIyMTYwODAsIH0sCisJeyAucHRyX3R5cGUgPSA0LCAuYWRkciA9IDB4YjgwMDEwMDQsIC52YWwg PSAweDAwMjk1NzI5LCB9LAorCXsgLnB0cl90eXBlID0gNCwgLmFkZHIgPSAweDUzZjgwMDA4LCAu dmFsID0gMHgyMDAzNDAwMCwgfSwKK307CisKKyNkZWZpbmUgQVBQX0RFU1QJMHg4MDAwMDAwMAor CitzdHJ1Y3QgaW14X2ZsYXNoX2hlYWRlciBfX2ZsYXNoX2hlYWRlcl8weDQwMCBldWtyZWFfY3B1 aW14MjVfaGVhZGVyID0geworCS5hcHBfY29kZV9qdW1wX3ZlY3Rvcgk9IFRFWFRfQkFTRSArIDB4 MjAwMCwKKwkuYXBwX2NvZGVfYmFya2VyCT0gQVBQX0NPREVfQkFSS0VSLAorCS5hcHBfY29kZV9j c2YJCT0gMCwKKwkuZGNkX3B0cl9wdHIJCT0gVEVYVF9CQVNFICsgMHg0MDAgKyBvZmZzZXRvZihz dHJ1Y3QgaW14X2ZsYXNoX2hlYWRlciwgZGNkKSwKKwkuc3VwZXJfcm9vdF9rZXkJCT0gMCwKKwku ZGNkCQkJPSBURVhUX0JBU0UgKyAweDQwMCArIG9mZnNldG9mKHN0cnVjdCBpbXhfZmxhc2hfaGVh ZGVyLCBkY2RfYmFya2VyKSwKKwkuYXBwX2Rlc3QJCT0gVEVYVF9CQVNFLAorCS5kY2RfYmFya2Vy CQk9IERDRF9CQVJLRVIsCisJLmRjZF9ibG9ja19sZW4JCT0gc2l6ZW9mKGRjZF9lbnRyeSksCit9 OworCitleHRlcm4gdW5zaWduZWQgbG9uZyBfX2Jzc19zdGFydDsKKwordW5zaWduZWQgbG9uZyBf X2ltYWdlX2xlbl8weDQwMCBiYXJlYm94X2xlbiA9IDB4NDAwMDA7CisKK3N0YXRpYyBzdHJ1Y3Qg ZmVjX3BsYXRmb3JtX2RhdGEgZmVjX2luZm8gPSB7CisJLnhjdl90eXBlCT0gUk1JSSwKKwkucGh5 X2FkZHIJPSAxLAorfTsKKworc3RhdGljIHN0cnVjdCBkZXZpY2VfZCBmZWNfZGV2ID0geworCS5u YW1lICAgICA9ICJmZWNfaW14IiwKKwkubWFwX2Jhc2UgPSBJTVhfRkVDX0JBU0UsCisJLnBsYXRm b3JtX2RhdGEJPSAmZmVjX2luZm8sCit9OworCitzdGF0aWMgc3RydWN0IG1lbW9yeV9wbGF0Zm9y bV9kYXRhIHNkcmFtX3BkYXRhID0geworCS5uYW1lCT0gInJhbTAiLAorCS5mbGFncwk9IERFVkZT X1JEV1IsCit9OworCitzdGF0aWMgc3RydWN0IGRldmljZV9kIHNkcmFtMF9kZXYgPSB7CisJLm5h bWUgICAgID0gIm1lbSIsCisJLm1hcF9iYXNlID0gSU1YX1NEUkFNX0NTMCwKKwkuc2l6ZSAgICAg PSA2NCAqIDEwMjQgKiAxMDI0LAorCS5wbGF0Zm9ybV9kYXRhID0gJnNkcmFtX3BkYXRhLAorfTsK Kworc3RydWN0IGlteF9uYW5kX3BsYXRmb3JtX2RhdGEgbmFuZF9pbmZvID0geworCS53aWR0aAk9 IDEsCisJLmh3X2VjYwk9IDEsCit9OworCitzdGF0aWMgc3RydWN0IGRldmljZV9kIG5hbmRfZGV2 ID0geworCS5uYW1lICAgICA9ICJpbXhfbmFuZCIsCisJLm1hcF9iYXNlID0gSU1YX05GQ19CQVNF LAorCS5wbGF0Zm9ybV9kYXRhCT0gJm5hbmRfaW5mbywKK307CisKK3N0YXRpYyBzdHJ1Y3QgaW14 X2ZiX3ZpZGVvbW9kZSBpbXhmYl9tb2RlID0geworCS5tb2RlID0geworCQkubmFtZQkJPSAiQ01P LVFWR0EiLAorCQkucmVmcmVzaAk9IDYwLAorCQkueHJlcwkJPSAzMjAsCisJCS55cmVzCQk9IDI0 MCwKKwkJLnBpeGNsb2NrCT0gS0haMlBJQ09TKDY1MDApLAorCQkuaHN5bmNfbGVuCT0gMzAsCisJ CS5sZWZ0X21hcmdpbgk9IDM4LAorCQkucmlnaHRfbWFyZ2luCT0gMjAsCisJCS52c3luY19sZW4J PSAzLAorCQkudXBwZXJfbWFyZ2luCT0gMTUsCisJCS5sb3dlcl9tYXJnaW4JPSA0LAorCX0sCisJ LnBjcgkJPSAweENBRDA4QjgwLAorCS5icHAJCT0gMTYsCit9OworCitzdGF0aWMgc3RydWN0IGlt eF9mYl9wbGF0Zm9ybV9kYXRhIGV1a3JlYV9jcHVpbXgyNV9mYl9kYXRhID0geworCS5tb2RlCQk9 ICZpbXhmYl9tb2RlLAorCS5wd21yCQk9IDB4MDBBOTAzRkYsCisJLmxzY3IxCQk9IDB4MDAxMjAz MDAsCisJLmRtYWNyCQk9IDB4ODAwNDAwNjAsCit9OworCisKK3N0YXRpYyBzdHJ1Y3QgZGV2aWNl X2QgaW14ZmJfZGV2ID0geworCS5uYW1lCQk9ICJpbXhmYiIsCisJLm1hcF9iYXNlCT0gMHg1M2Zi YzAwMCwKKwkuc2l6ZQkJPSAweDEwMDAsCisJLnBsYXRmb3JtX2RhdGEJPSAmZXVrcmVhX2NwdWlt eDI1X2ZiX2RhdGEsCit9OworCisjaWZkZWYgQ09ORklHX01NVQorc3RhdGljIHZvaWQgZXVrcmVh X2NwdWlteDI1X21tdV9pbml0KHZvaWQpCit7CisJbW11X2luaXQoKTsKKworCWFybV9jcmVhdGVf c2VjdGlvbigweDgwMDAwMDAwLCAweDgwMDAwMDAwLCAxMjgsIFBNRF9TRUNUX0RFRl9DQUNIRUQp OworCWFybV9jcmVhdGVfc2VjdGlvbigweDkwMDAwMDAwLCAweDgwMDAwMDAwLCAxMjgsIFBNRF9T RUNUX0RFRl9VTkNBQ0hFRCk7CisKKwlzZXR1cF9kbWFfY29oZXJlbnQoMHgxMDAwMDAwMCk7CisK KwltbXVfZW5hYmxlKCk7Cit9CisjZWxzZQorc3RhdGljIHZvaWQgZXVrcmVhX2NwdWlteDI1X21t dV9pbml0KHZvaWQpCit7Cit9CisjZW5kaWYKKworc3RhdGljIHN0cnVjdCBwYWRfZGVzYyBldWty ZWFfY3B1aW14MjVfcGFkc1tdID0geworCU1YMjVfUEFEX0ZFQ19NRENfX01EQywKKwlNWDI1X1BB RF9GRUNfTURJT19fTURJTywKKwlNWDI1X1BBRF9GRUNfUkRBVEEwX19SREFUQTAsCisJTVgyNV9Q QURfRkVDX1JEQVRBMV9fUkRBVEExLAorCU1YMjVfUEFEX0ZFQ19SWF9EVl9fUlhfRFYsCisJTVgy NV9QQURfRkVDX1REQVRBMF9fVERBVEEwLAorCU1YMjVfUEFEX0ZFQ19UREFUQTFfX1REQVRBMSwK KwlNWDI1X1BBRF9GRUNfVFhfQ0xLX19UWF9DTEssCisJTVgyNV9QQURfRkVDX1RYX0VOX19UWF9F TiwKKwkvKiBVQVJUMSAqLworCU1YMjVfUEFEX1VBUlQxX1JYRF9fUlhEX01VWCwKKwlNWDI1X1BB RF9VQVJUMV9UWERfX1RYRF9NVVgsCisJTVgyNV9QQURfVUFSVDFfUlRTX19SVFMsCisJTVgyNV9Q QURfVUFSVDFfQ1RTX19DVFMsCisJLyogTENEQyAqLworCU1YMjVfUEFEX0xEMF9fTENEQ19MRDAs CisJTVgyNV9QQURfTEQxX19MQ0RDX0xEMSwKKwlNWDI1X1BBRF9MRDJfX0xDRENfTEQyLAorCU1Y MjVfUEFEX0xEM19fTENEQ19MRDMsCisJTVgyNV9QQURfTEQ0X19MQ0RDX0xENCwKKwlNWDI1X1BB RF9MRDVfX0xDRENfTEQ1LAorCU1YMjVfUEFEX0xENl9fTENEQ19MRDYsCisJTVgyNV9QQURfTEQ3 X19MQ0RDX0xENywKKwlNWDI1X1BBRF9MRDhfX0xDRENfTEQ4LAorCU1YMjVfUEFEX0xEOV9fTENE Q19MRDksCisJTVgyNV9QQURfTEQxMF9fTENEQ19MRDEwLAorCU1YMjVfUEFEX0xEMTFfX0xDRENf TEQxMSwKKwlNWDI1X1BBRF9MRDEyX19MQ0RDX0xEMTIsCisJTVgyNV9QQURfTEQxM19fTENEQ19M RDEzLAorCU1YMjVfUEFEX0xEMTRfX0xDRENfTEQxNCwKKwlNWDI1X1BBRF9MRDE1X19MQ0RDX0xE MTUsCisJTVgyNV9QQURfR1BJT19FX19MQ0RDX0xEMTYsCisJTVgyNV9QQURfR1BJT19GX19MQ0RD X0xEMTcsCisJTVgyNV9QQURfTFNDTEtfX0xDRENfTFNDTEssCisJTVgyNV9QQURfT0VfQUNEX19M Q0RDX09FX0FDRCwKKwlNWDI1X1BBRF9WU1lOQ19fTENEQ19WU1lOLAorCU1YMjVfUEFEX0hTWU5D X19MQ0RDX0hTWU4sCisJLyogQkFDS0xJR0hUIENPTlRST0wgKi8KKwlNWDI1X1BBRF9QV01fX0dQ SU8yNiwKK307CisKKyNkZWZpbmUgSU9NVVhDX0JBU0VfQUREUiAgICAgICAgMHg0M0ZBQzAwMAor I2RlZmluZSBHUElPMV9CQVNFX0FERFIgICAgICAgICAweDUzRkNDMDAwCisjZGVmaW5lIEdQSU9f R0RJUiAgICAgICAgICAgICAgIDB4MDQKKyNkZWZpbmUgR1BJT19EUiAgICAgICAgICAgICAgICAg MHgwMAorCitzdGF0aWMgaW50IGV1a3JlYV9jcHVpbXgyNV9kZXZpY2VzX2luaXQodm9pZCkKK3sK KwlldWtyZWFfY3B1aW14MjVfbW11X2luaXQoKTsKKworCW14Y19pb211eF92M19zZXR1cF9tdWx0 aXBsZV9wYWRzKGV1a3JlYV9jcHVpbXgyNV9wYWRzLAorCQlBUlJBWV9TSVpFKGV1a3JlYV9jcHVp bXgyNV9wYWRzKSk7CisJcmVnaXN0ZXJfZGV2aWNlKCZmZWNfZGV2KTsKKworCW5hbmRfaW5mby53 aWR0aCA9IDE7CisJcmVnaXN0ZXJfZGV2aWNlKCZuYW5kX2Rldik7CisKKwlkZXZmc19hZGRfcGFy dGl0aW9uKCJuYW5kMCIsIDB4MDAwMDAsIDB4NDAwMDAsCisJCVBBUlRJVElPTl9GSVhFRCwgInNl bGZfcmF3Iik7CisJZGV2X2FkZF9iYl9kZXYoInNlbGZfcmF3IiwgInNlbGYwIik7CisKKwlkZXZm c19hZGRfcGFydGl0aW9uKCJuYW5kMCIsIDB4NDAwMDAsIDB4NDAwMDAsCisJCVBBUlRJVElPTl9G SVhFRCwgImVudl9yYXciKTsKKwlkZXZfYWRkX2JiX2RldigiZW52X3JhdyIsICJlbnYwIik7CisK KwlyZWdpc3Rlcl9kZXZpY2UoJnNkcmFtMF9kZXYpOworCisJLyogZW5hYmxlIExDRCAqLworCWdw aW9fZGlyZWN0aW9uX291dHB1dCgyNiwgMSk7CisJZ3Bpb19zZXRfdmFsdWUoMjYsIDEpOworCisJ cmVnaXN0ZXJfZGV2aWNlKCZpbXhmYl9kZXYpOworCisJYXJtbGludXhfYWRkX2RyYW0oJnNkcmFt MF9kZXYpOworCWFybWxpbnV4X3NldF9ib290cGFyYW1zKCh2b2lkICopMHg4MDAwMDEwMCk7CisJ YXJtbGludXhfc2V0X2FyY2hpdGVjdHVyZShNQUNIX1RZUEVfTVgyNV8zRFMpOworCisJcmV0dXJu IDA7Cit9CisKK2RldmljZV9pbml0Y2FsbChldWtyZWFfY3B1aW14MjVfZGV2aWNlc19pbml0KTsK Kworc3RhdGljIHN0cnVjdCBkZXZpY2VfZCBldWtyZWFfY3B1aW14MjVfc2VyaWFsX2RldmljZSA9 IHsKKwkubmFtZSAgICAgPSAiaW14X3NlcmlhbCIsCisJLm1hcF9iYXNlID0gSU1YX1VBUlQxX0JB U0UsCisJLnNpemUgICAgID0gMTYgKiAxMDI0LAorfTsKKworc3RhdGljIGludCBldWtyZWFfY3B1 aW14MjVfY29uc29sZV9pbml0KHZvaWQpCit7CisJd3JpdGVsKDB4MDMwMTAxMDEsIElNWF9DQ01f QkFTRSArIENDTV9QQ0RSMyk7CisJcmVnaXN0ZXJfZGV2aWNlKCZldWtyZWFfY3B1aW14MjVfc2Vy aWFsX2RldmljZSk7CisJcmV0dXJuIDA7Cit9CisKK2NvbnNvbGVfaW5pdGNhbGwoZXVrcmVhX2Nw dWlteDI1X2NvbnNvbGVfaW5pdCk7CisKKyNpZmRlZiBDT05GSUdfTkFORF9JTVhfQk9PVAordm9p ZCBfX2JhcmVfaW5pdCBuYW5kX2Jvb3Qodm9pZCkKK3sKKwlpbXhfbmFuZF9sb2FkX2ltYWdlKCh2 b2lkICopVEVYVF9CQVNFLCAyNTYgKiAxMDI0KTsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50IGV1 a3JlYV9jcHVpbXgyNV9jb3JlX3NldHVwKHZvaWQpCit7CisJd3JpdGVsKDB4MDEwMTAxMDMsIElN WF9DQ01fQkFTRSArIENDTV9QQ0RSMik7CisJcmV0dXJuIDA7CisKK30KK2NvcmVfaW5pdGNhbGwo ZXVrcmVhX2NwdWlteDI1X2NvcmVfc2V0dXApOwpkaWZmIC0tZ2l0IGEvYm9hcmQvZXVrcmVhX2Nw dWlteDI1L2xvd2xldmVsX2luaXQuUyBiL2JvYXJkL2V1a3JlYV9jcHVpbXgyNS9sb3dsZXZlbF9p bml0LlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QzMjZmNwotLS0gL2Rl di9udWxsCisrKyBiL2JvYXJkL2V1a3JlYV9jcHVpbXgyNS9sb3dsZXZlbF9pbml0LlMKQEAgLTAs MCArMSwxMzUgQEAKKy8qCisgKgorICogKGMpIDIwMDcgUGVuZ3V0cm9uaXgsIFNhc2NoYSBIYXVl ciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KKyAqIChjKSAyMDEwIEV1a3JlYSBFbGVjdHJvbWF0 aXF1ZSwgRXJpYyBCw6luYXJkIDxlcmljQGV1a3JlYS5jb20+CisgKiBJbml0IGNvZGUgdGFrZW4g ZnJvbSBGcmVlc2NhbGUncyB1LWJvb3Qgc291cmNlcy4KKyAqCisgKiBTZWUgZmlsZSBDUkVESVRT IGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcworICogcHJvamVjdC4K KyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdy aXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUg UGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLAorICogTUEgMDIxMTEtMTMwNyBVU0EKKyAqLworCisj aW5jbHVkZSA8bWFjaC9pbXgtcmVncy5oPgorI2luY2x1ZGUgPG1hY2gvaW14LXBsbC5oPgorI2lu Y2x1ZGUgPG1hY2gvZXNkY3RsLmg+CisjaW5jbHVkZSA8YXNtL2NhY2hlLWwyeDAuaD4KKworI2Rl ZmluZSB3cml0ZWwodmFsLCByZWcpIFwKKwlsZHIJCXIwLAk9cmVnOwlcCisJbGRyCQlyMSwJPXZh bDsJXAorCXN0cgkJcjEsCVtyMF07CisKKyNkZWZpbmUgd3JpdGViKHZhbCwgcmVnKSBcCisJbGRy CQlyMCwJPXJlZzsJXAorCWxkcgkJcjEsCT12YWw7CVwKKwlzdHJiCQlyMSwJW3IwXTsKKworLnNl Y3Rpb24gIi50ZXh0X2JhcmVfaW5pdCIsImF4IgorCisuZ2xvYmwgYm9hcmRfaW5pdF9sb3dsZXZl bAorYm9hcmRfaW5pdF9sb3dsZXZlbDoKKwltb3YgICAgIHIxMCwgbHIKKworI2RlZmluZSBNWDI1 X0NDTV9NQ1IJMHg2NAorI2RlZmluZSBNWDI1X0NDTV9DR1IwCTB4MGMKKyNkZWZpbmUgTVgyNV9D Q01fQ0dSMQkweDEwCisjZGVmaW5lIE1YMjVfQ0NNX0NHUjIJMHgxNAorCisJLyogQUlQUyBzZXR1 cCAtIE9ubHkgc2V0dXAgTVBST1R4IHJlZ2lzdGVycy4gVGhlIFBBQ1IgZGVmYXVsdCB2YWx1ZXMg YXJlIGdvb2QuCisJICogU2V0IGFsbCBNUFJPVHggdG8gYmUgbm9uLWJ1ZmZlcmFibGUsIHRydXN0 ZWQgZm9yIFIvVywKKwkgKiBub3QgZm9yY2VkIHRvIHVzZXItbW9kZS4KKwkgKi8KKwl3cml0ZWwo MHg3Nzc3Nzc3NywgMHg0M2YwMDAwMCkKKwl3cml0ZWwoMHg3Nzc3Nzc3NywgMHg0M2YwMDAwNCkK Kwl3cml0ZWwoMHg3Nzc3Nzc3NywgMHg1M2YwMDAwMCkKKwl3cml0ZWwoMHg3Nzc3Nzc3NywgMHg1 M2YwMDAwNCkKKworCS8qIE1BWCAoTXVsdGktTGF5ZXIgQUhCIENyb3NzYmFyIFN3aXRjaCkgc2V0 dXAKKwkgKiBNUFIgLSBwcmlvcml0eSBmb3IgTVgyNSBpcyAoU0RIQzIvU0RNQSk+VVNCT1RHPlJU SUM+SUFIQj5EQUhCCisJICovCisJd3JpdGVsKDB4MDAwMDIxNDMsIDB4NDNmMDQwMDApCisJd3Jp dGVsKDB4MDAwMDIxNDMsIDB4NDNmMDQxMDApCisJd3JpdGVsKDB4MDAwMDIxNDMsIDB4NDNmMDQy MDApCisJd3JpdGVsKDB4MDAwMDIxNDMsIDB4NDNmMDQzMDApCisJd3JpdGVsKDB4MDAwMDIxNDMs IDB4NDNmMDQ0MDApCisJLyogU0dQQ1IgLSBhbHdheXMgcGFyayBvbiBsYXN0IG1hc3RlciAqLwor CXdyaXRlbCgweDEwLCAweDQzZjA0MDEwKQorCXdyaXRlbCgweDEwLCAweDQzZjA0MTEwKQorCXdy aXRlbCgweDEwLCAweDQzZjA0MjEwKQorCXdyaXRlbCgweDEwLCAweDQzZjA0MzEwKQorCXdyaXRl bCgweDEwLCAweDQzZjA0NDEwKQorCS8qIE1HUENSIC0gcmVzdG9yZSBkZWZhdWx0IHZhbHVlcyAq LworCXdyaXRlbCgweDAsIDB4NDNmMDQ4MDApCisJd3JpdGVsKDB4MCwgMHg0M2YwNDkwMCkKKwl3 cml0ZWwoMHgwLCAweDQzZjA0YTAwKQorCXdyaXRlbCgweDAsIDB4NDNmMDRiMDApCisJd3JpdGVs KDB4MCwgMHg0M2YwNGMwMCkKKworCS8qIENvbmZpZ3VyZSBNM0lGIHJlZ2lzdGVycworCSAqIE0z SUYgQ29udHJvbCBSZWdpc3RlciAoTTNJRkNUTCkgZm9yIE1YMjUKKwkgKiBNUlJQWzBdID0gTENE QyAgICAgICAgICAgb24gcHJpb3JpdHkgbGlzdCAoMSA8PCAwKSAgPSAweDAwMDAwMDAxCisJICog TVJSUFsxXSA9IE1BWDEgICAgICAgbm90IG9uIHByaW9yaXR5IGxpc3QgKDAgPDwgMSkgID0gMHgw MDAwMDAwMAorCSAqIE1SUlBbMl0gPSBNQVgwICAgICAgIG5vdCBvbiBwcmlvcml0eSBsaXN0ICgw IDw8IDIpICA9IDB4MDAwMDAwMDAKKwkgKiBNUlJQWzNdID0gVVNCIEhPU1QgICBub3Qgb24gcHJp b3JpdHkgbGlzdCAoMCA8PCAzKSAgPSAweDAwMDAwMDAwCisJICogTVJSUFs0XSA9IFNETUEgICAg ICAgbm90IG9uIHByaW9yaXR5IGxpc3QgKDAgPDwgNCkgID0gMHgwMDAwMDAwMAorCSAqIE1SUlBb NV0gPSBTRC9BVEEvRkVDIG5vdCBvbiBwcmlvcml0eSBsaXN0ICgwIDw8IDUpICA9IDB4MDAwMDAw MDAKKwkgKiBNUlJQWzZdID0gU0NNRkJDICAgICBub3Qgb24gcHJpb3JpdHkgbGlzdCAoMCA8PCA2 KSAgPSAweDAwMDAwMDAwCisJICogTVJSUFs3XSA9IENTSSAgICAgICAgbm90IG9uIHByaW9yaXR5 IGxpc3QgKDAgPDwgNykgID0gMHgwMDAwMDAwMAorCSAqICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0tLS0tLS0tLS0KKwkgKiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAxCisJ ICovCisJd3JpdGVsKDB4MSwgMHhiODAwMzAwMCkKKworCS8qIGVuYWJsZSBhbGwgdGhlIGNsb2Nr cyAqLworCXdyaXRlbCgweDAzOEE4MUEyLCBJTVhfQ0NNX0JBU0UgKyBNWDI1X0NDTV9DR1IwKQor CXdyaXRlbCgweDI0Nzg4RjAwLCBJTVhfQ0NNX0JBU0UgKyBNWDI1X0NDTV9DR1IxKQorCXdyaXRl bCgweDAwMDA0NDM4LCBJTVhfQ0NNX0JBU0UgKyBNWDI1X0NDTV9DR1IyKQorCXdyaXRlbCgweDAw LCBJTVhfQ0NNX0JBU0UgKyBNWDI1X0NDTV9NQ1IpCisKKyNpZmRlZiBDT05GSUdfTkFORF9JTVhf Qk9PVAorCWxkcglzcCwgPTB4YTBmMDAwMDAJCS8qIFNldHVwIGEgdGVtcG9yYXJ5IHN0YWNrIGlu IFNEUkFNICovCisKKwlsZHIJcjAsID1JTVhfTkZDX0JBU0UJCS8qIHN0YXJ0IG9mIE5GQyBTUkFN ICAgICAgICAgICAgICAgICovCisJbGRyCXIyLCA9SU1YX05GQ19CQVNFICsgMHgxMDAwCS8qIGVu ZCBvZiBORkMgU1JBTSAgICAgICAgICAgICAgICAgICovCisKKwkvKiBza2lwIE5BTkQgYm9vdCBp ZiBub3QgcnVubmluZyBmcm9tIE5GQyBzcGFjZSAqLworCWNtcAlwYywgcjAKKwlibHMJcmV0CisJ Y21wCXBjLCByMgorCWJoaQlyZXQKKworCS8qIE1vdmUgb3Vyc2VsdmVzIG91dCBvZiBORkMgU1JB TSAqLworCWxkcglyMSwgPVRFWFRfQkFTRQorCitjb3B5X2xvb3A6CisJbGRtaWEJcjAhLCB7cjMt cjl9CQkvKiBjb3B5IGZyb20gc291cmNlIGFkZHJlc3MgW3IwXSAgICAqLworCXN0bWlhCXIxISwg e3IzLXI5fQkJLyogY29weSB0byAgIHRhcmdldCBhZGRyZXNzIFtyMV0gICAgKi8KKwljbXAJcjAs IHIyCQkJLyogdW50aWwgc291cmNlIGVuZCBhZGRyZWVlIFtyMl0gICAgKi8KKwlibGUJY29weV9s b29wCisKKwlsZHIJcGMsID0xZgkJCS8qIEp1bXAgdG8gU0RSQU0gICAgICAgICAgICAgICAgICAg ICovCisxOgorCWJsCW5hbmRfYm9vdAkJLyogTG9hZCBiYXJlYm94IGZyb20gTkFORCBGbGFzaCAg ICAgICovCisKKwlsZHIJcjEsID1JTVhfTkZDX0JBU0UgLSBURVhUX0JBU0UKKwlzdWIJcjEwLCBy MTAsIHIxCQkvKiBhZGp1c3QgcmV0dXJuIGFkZHJlc3MgZnJvbSBORkMgU1JBTSAqLworCQkJCQkv KiB0byBTRFJBTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqLworCisjZW5kaWYgLyogQ09O RklHX05BTkRfSU1YX0JPT1QgKi8KKworcmV0OgorCW1vdiBwYywgcjEwCi0tIAoxLjYuMy4zCgoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYmFyZWJveCBt YWlsaW5nIGxpc3QKYmFyZWJveEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZy YWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vYmFyZWJveAo=