From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Smirl Subject: Rage128 and Radeon patches Date: Wed, 13 Aug 2003 20:43:38 -0700 (PDT) Sender: linux-fbdev-devel-admin@lists.sourceforge.net Message-ID: <20030814034338.25567.qmail@web14907.mail.yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0-1070153125-1060832618=:25031" Return-path: Received: from web14907.mail.yahoo.com ([216.136.225.59]) by sc8-sf-list1.sourceforge.net with smtp (Exim 3.31-VA-mm2 #1 (Debian)) id 19n91d-0001Y3-00 for ; Wed, 13 Aug 2003 20:43:45 -0700 Errors-To: linux-fbdev-devel-admin@lists.sourceforge.net List-Help: List-Post: List-Subscribe: , List-Id: List-Unsubscribe: , List-Archive: To: dri-devel , fb-devel --0-1070153125-1060832618=:25031 Content-Type: text/plain; charset=us-ascii Content-Id: Content-Disposition: inline Hopefully these is the last versions. They implement: 1) add every know PCI ID 2) access ROM directly instead of relying on copy in low RAM. This allows multiple cards. Required MPP_TB_CONFIG fix in driver. 3) implemented kernel 2.6 module parameters 4) Cleaned up error paths and made sure resources are released on errors. Both build without compiler warnings now. You can ins/rm mod multiple times without problem. Just don't do it from a window in your X server. 5) Driver marks both primary and secondary devices as being in use. These drivers are bigger than the old ones but that's because I added descriptions for the parameters and a bunch more error messages. Code is probably smaller. Strip the strings and remove unneeded entries from the device table for embedded systems. I don't own Apple hardware. Anyone want to make sure I didn't break Powerbooks? It would be nice if someone with Radeon documentation verified my chip IDs and family classifications. It is important that secondary devices are marked correctly in the driver. I did the best I could from Xfree source and PCI databases. Patches are against the current 2.6 kernel tree. Anyone want to volunteer to get these into the kernel? ===== Jon Smirl jonsmirl@yahoo.com __________________________________ Do you Yahoo!? Yahoo! SiteBuilder - Free, easy-to-use web site design software http://sitebuilder.yahoo.com --0-1070153125-1060832618=:25031 Content-Type: application/octet-stream; name="radeon.patch" Content-Transfer-Encoding: base64 Content-Description: radeon.patch Content-Disposition: attachment; filename="radeon.patch" ZGlmZiAtTnJ1IGEvZHJpdmVycy92aWRlby9yYWRlb25mYi5jIGIvZHJpdmVy cy92aWRlby9yYWRlb25mYi5jCi0tLSBhL2RyaXZlcnMvdmlkZW8vcmFkZW9u ZmIuYwlXZWQgQXVnIDEzIDIxOjIyOjU5IDIwMDMKKysrIGIvZHJpdmVycy92 aWRlby9yYWRlb25mYi5jCVdlZCBBdWcgMTMgMjE6MjI6NTkgMjAwMwpAQCAt MjMsNiArMjMsOSBAQAogICoJMjAwMi0wNi0wMwlNVFJSIHN1cHBvcnQsIFBl dGVyIEhvcnRvbiwgMC4xLjUKICAqCTIwMDItMDktMjEJcnYyNTAsIHIzMDAs IG05IGluaXRpYWwgc3VwcG9ydCwKICAqCQkJYWRkZWQgbWlycm9yIG9wdGlv biwgMC4xLjYKKyAqIAkyMDAzLTA4LTEyCWFkZGVkIGEgYnVuY2ggbW9yZSBQ Q0kgSURzIGZvciB2YXJpb3VzIFJhZGVvbnMKKyAqCQkJY29udmVydGVkIG1v ZHVsZSBwYXJhbXMgdG8gMi42IHNjaGVtZQorICoJCQlKb24gU21pcmwgPGpv bnNtaXJsQHlhaG9vLmNvbT4KICAqCiAgKglTcGVjaWFsIHRoYW5rcyB0byBB VEkgRGV2UmVsIHRlYW0gZm9yIHRoZWlyIGhhcmR3YXJlIGRvbmF0aW9ucy4K ICAqCkBAIC0zNCw2ICszNyw3IEBACiAKICNpbmNsdWRlIDxsaW51eC9jb25m aWcuaD4KICNpbmNsdWRlIDxsaW51eC9tb2R1bGUuaD4KKyNpbmNsdWRlIDxs aW51eC9tb2R1bGVwYXJhbS5oPgogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5o PgogI2luY2x1ZGUgPGxpbnV4L2Vycm5vLmg+CiAjaW5jbHVkZSA8bGludXgv c3RyaW5nLmg+CkBAIC05MSw4OSArOTUsNDEgQEAKIC8vIFhYWAogI3VuZGVm IENPTkZJR19QTUFDX1BCT09LCiAKLQotZW51bSByYWRlb25fY2hpcHMgewot CVJBREVPTl9RRCwKLQlSQURFT05fUUUsCi0JUkFERU9OX1FGLAotCVJBREVP Tl9RRywKLQlSQURFT05fUVksCi0JUkFERU9OX1FaLAotCVJBREVPTl9MVywK LQlSQURFT05fTFgsCi0JUkFERU9OX0xZLAotCVJBREVPTl9MWiwKLQlSQURF T05fUUwsCi0JUkFERU9OX1FOLAotCVJBREVPTl9RTywKLQlSQURFT05fUWws Ci0JUkFERU9OX0JCLAotCVJBREVPTl9RVywKLQlSQURFT05fUVgsCi0JUkFE RU9OX0lkLAotCVJBREVPTl9JZSwKLQlSQURFT05fSWYsCi0JUkFERU9OX0ln LAotCVJBREVPTl9MZCwKLQlSQURFT05fTGUsCi0JUkFERU9OX0xmLAotCVJB REVPTl9MZywKLQlSQURFT05fTkQsCi0JUkFERU9OX05FLAotCVJBREVPTl9O RiwKLQlSQURFT05fTkcsCi0JUkFERU9OX1FNCi19OwotCiBlbnVtIHJhZGVv bl9hcmNoIHsKKyAgICAgICAgUkFERU9OX0lHUCwKIAlSQURFT05fUjEwMCwK IAlSQURFT05fUlYxMDAsCiAJUkFERU9OX1IyMDAsCiAJUkFERU9OX1JWMjAw LAogCVJBREVPTl9SVjI1MCwKIAlSQURFT05fUjMwMCwKKwlSQURFT05fUlMz MDAsCisJUkFERU9OX1IzNTAsCiAJUkFERU9OX002LAogCVJBREVPTl9NNywK LQlSQURFT05fTTkKKwlSQURFT05fTTksCisJUkFERU9OX1IyMDBfU0VDLAor CVJBREVPTl9SVjI1MF9TRUMsCisJUkFERU9OX1IzMDBfU0VDLAorCVJBREVP Tl9SMzUwX1NFQywKKwlSQURFT05fTTlfU0VDLAogfTsKIAotc3RhdGljIHN0 cnVjdCByYWRlb25fY2hpcF9pbmZvIHsKLQljb25zdCBjaGFyICpuYW1lOwot CXVuc2lnbmVkIGNoYXIgYXJjaDsKLX0gcmFkZW9uX2NoaXBfaW5mb1tdIF9f ZGV2aW5pdGRhdGEgPSB7Ci0JeyAiUUQiLCBSQURFT05fUjEwMCB9LAotCXsg IlFFIiwgUkFERU9OX1IxMDAgfSwKLQl7ICJRRiIsIFJBREVPTl9SMTAwIH0s Ci0JeyAiUUciLCBSQURFT05fUjEwMCB9LAotCXsgIlZFIFFZIiwgUkFERU9O X1JWMTAwIH0sCi0JeyAiVkUgUVoiLCBSQURFT05fUlYxMDAgfSwKLQl7ICJN NyBMVyIsIFJBREVPTl9NNyB9LAotCXsgIk03IExYIiwgUkFERU9OX003IH0s Ci0JeyAiTTYgTFkiLCBSQURFT05fTTYgfSwKLQl7ICJNNiBMWiIsIFJBREVP Tl9NNiB9LAotCXsgIjg1MDAgUUwiLCBSQURFT05fUjIwMCB9LAotCXsgIjg1 MDAgUU4iLCBSQURFT05fUjIwMCB9LAotCXsgIjg1MDAgUU8iLCBSQURFT05f UjIwMCB9LAotCXsgIjg1MDAgUWwiLCBSQURFT05fUjIwMCB9LAotCXsgIjg1 MDAgQkIiLCBSQURFT05fUjIwMCB9LAotCXsgIjc1MDAgUVciLCBSQURFT05f UlYyMDAgfSwKLQl7ICI3NTAwIFFYIiwgUkFERU9OX1JWMjAwIH0sCi0JeyAi OTAwMCBJZCIsIFJBREVPTl9SVjI1MCB9LAotCXsgIjkwMDAgSWUiLCBSQURF T05fUlYyNTAgfSwKLQl7ICI5MDAwIElmIiwgUkFERU9OX1JWMjUwIH0sCi0J eyAiOTAwMCBJZyIsIFJBREVPTl9SVjI1MCB9LAotCXsgIk05IExkIiwgUkFE RU9OX005IH0sCi0JeyAiTTkgTGUiLCBSQURFT05fTTkgfSwKLQl7ICJNOSBM ZiIsIFJBREVPTl9NOSB9LAotCXsgIk05IExnIiwgUkFERU9OX005IH0sCi0J eyAiOTcwMCBORCIsIFJBREVPTl9SMzAwIH0sCi0JeyAiOTcwMCBORSIsIFJB REVPTl9SMzAwIH0sCi0JeyAiOTcwMCBORiIsIFJBREVPTl9SMzAwIH0sCi0J eyAiOTcwMCBORyIsIFJBREVPTl9SMzAwIH0sCi0JeyAiOTEwMCBRTSIsIFJB REVPTl9SMjAwIH0KK3N0YXRpYyBjb25zdCBjaGFyICpyYWRlb25fZmFtaWx5 W10gX19kZXZpbml0ZGF0YSA9IHsKKwkiSUdQIiwKKwkiUjEwMCIsCisJIlZF IFJWMTAwIiwKKwkiODUwMCBSMjAwIiwKKwkiNzUwMCBSVjIwMCIsCisJIjkw MDAgUlYyNTAiLAorCSI5NzAwIFIzMDAiLAorCSI5NzAwIFJTMzAwIiwKKwki OTgwMCBSMzUwIiwKKwkiTW9iaWxpdHkgTTYiLAorCSJNb2JpbGl0eSBNNyIs CisJIk1vYmlsaXR5IE05IiwKIH07Ci0KLQorCQkgICAgCiBlbnVtIHJhZGVv bl9tb250eXBlCiB7CiAJTVRfTk9ORSwKQEAgLTE4NiwzNiArMTQyLDY3IEBA CiAKIAogc3RhdGljIHN0cnVjdCBwY2lfZGV2aWNlX2lkIHJhZGVvbmZiX3Bj aV90YWJsZVtdID0gewotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJ Q0VfSURfQVRJX1JBREVPTl9RRCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwg MCwgMCwgUkFERU9OX1FEfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lf REVWSUNFX0lEX0FUSV9SQURFT05fUUUsIFBDSV9BTllfSUQsIFBDSV9BTllf SUQsIDAsIDAsIFJBREVPTl9RRX0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FGLCBQQ0lfQU5ZX0lELCBQQ0lf QU5ZX0lELCAwLCAwLCBSQURFT05fUUZ9LAotCXsgUENJX1ZFTkRPUl9JRF9B VEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RRywgUENJX0FOWV9JRCwg UENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1FHfSwKLQl7IFBDSV9WRU5ET1Jf SURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUVksIFBDSV9BTllf SUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9RWX0sCi0JeyBQQ0lfVkVO RE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FaLCBQQ0lf QU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUVp9LAotCXsgUENJ X1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MVywg UENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX0xXfSwKLQl7 IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f TFgsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9MWH0s Ci0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX0xZLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05f TFl9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJ X1JBREVPTl9MWiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFE RU9OX0xafSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fUUwsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAs IFJBREVPTl9RTH0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX1FOLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAw LCAwLCBSQURFT05fUU59LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9E RVZJQ0VfSURfQVRJX1JBREVPTl9RTywgUENJX0FOWV9JRCwgUENJX0FOWV9J RCwgMCwgMCwgUkFERU9OX1FPfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQ Q0lfREVWSUNFX0lEX0FUSV9SQURFT05fUWwsIFBDSV9BTllfSUQsIFBDSV9B TllfSUQsIDAsIDAsIFJBREVPTl9RbH0sCi0JeyBQQ0lfVkVORE9SX0lEX0FU SSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0JCLCBQQ0lfQU5ZX0lELCBQ Q0lfQU5ZX0lELCAwLCAwLCBSQURFT05fQkJ9LAotCXsgUENJX1ZFTkRPUl9J RF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RVywgUENJX0FOWV9J RCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1FXfSwKLQl7IFBDSV9WRU5E T1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUVgsIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9RWH0sCi0JeyBQQ0lf VkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0lkLCBQ Q0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fSWR9LAotCXsg UENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9J ZSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX0llfSwK LQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURF T05fSWYsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9J Zn0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElf UkFERU9OX0lnLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURF T05fSWd9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURf QVRJX1JBREVPTl9MZCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwg UkFERU9OX0xkfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNF X0lEX0FUSV9SQURFT05fTGUsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAs IDAsIFJBREVPTl9MZX0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RF VklDRV9JRF9BVElfUkFERU9OX0xmLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lE LCAwLCAwLCBSQURFT05fTGZ9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBD SV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MZywgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgUkFERU9OX0xnfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJ LCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTkQsIFBDSV9BTllfSUQsIFBD SV9BTllfSUQsIDAsIDAsIFJBREVPTl9ORH0sCi0JeyBQQ0lfVkVORE9SX0lE X0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05FLCBQQ0lfQU5ZX0lE LCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fTkV9LAotCXsgUENJX1ZFTkRP Ul9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9ORiwgUENJX0FO WV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX05GfSwKLQl7IFBDSV9W RU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTkcsIFBD SV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9OR30sCi0JeyBQ Q0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FN LCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUU19LAor CXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9BNiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX0lH UH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElf UkFERU9OX0E3LCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURF T05fSUdQfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fQUQsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAs IFJBREVPTl9SMzAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQURFT05fQUUsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQs IDAsIDAsIFJBREVPTl9SMzAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQ Q0lfREVWSUNFX0lEX0FUSV9SQURFT05fQUYsIFBDSV9BTllfSUQsIFBDSV9B TllfSUQsIDAsIDAsIFJBREVPTl9SMzAwfSwKKwl7IFBDSV9WRU5ET1JfSURf QVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fQUcsIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMzAwfSwKKwl7IFBDSV9WRU5E T1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fQWQsIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMzAwX1NFQ30sCisJ eyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X0I3LCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fSUdQ fSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9S QURFT05fQkIsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVP Tl9SMjAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fQzYsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAs IFJBREVPTl9JR1B9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJ Q0VfSURfQVRJX1JBREVPTl9DNywgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwg MCwgMCwgUkFERU9OX0lHUH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJ X0RFVklDRV9JRF9BVElfUkFERU9OX0Q3LCBQQ0lfQU5ZX0lELCBQQ0lfQU5Z X0lELCAwLCAwLCBSQURFT05fSUdQfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJ LCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fSWQsIFBDSV9BTllfSUQsIFBD SV9BTllfSUQsIDAsIDAsIFJBREVPTl9SVjI1MH0sCisJeyBQQ0lfVkVORE9S X0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0llLCBQQ0lfQU5Z X0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUlYyNTB9LAorCXsgUENJ X1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9JZiwg UENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1JWMjUwfSwK Kwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURF T05fSWcsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9S VjI1MH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX0luLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBS QURFT05fUlYyNTBfU0VDfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lf REVWSUNFX0lEX0FUSV9SQURFT05fTFcsIFBDSV9BTllfSUQsIFBDSV9BTllf SUQsIDAsIDAsIFJBREVPTl9NN30sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xYLCBQQ0lfQU5ZX0lELCBQQ0lf QU5ZX0lELCAwLCAwLCBSQURFT05fTTd9LAorCXsgUENJX1ZFTkRPUl9JRF9B VEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MWSwgUENJX0FOWV9JRCwg UENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX002fSwKKwl7IFBDSV9WRU5ET1Jf SURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTFosIFBDSV9BTllf SUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9NNn0sCisJeyBQQ0lfVkVO RE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xkLCBQQ0lf QU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fTTl9LAorCXsgUENJ X1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MZSwg UENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX005fSwKKwl7 IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f TGYsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9NOX0s CisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX0xnLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05f TTl9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJ X1JBREVPTl9MbiwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFE RU9OX005X1NFQ30sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX05ELCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAw LCAwLCBSQURFT05fUjMwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJ X0RFVklDRV9JRF9BVElfUkFERU9OX05FLCBQQ0lfQU5ZX0lELCBQQ0lfQU5Z X0lELCAwLCAwLCBSQURFT05fUjMwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FU SSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05GLCBQQ0lfQU5ZX0lELCBQ Q0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjMwMH0sCisJeyBQQ0lfVkVORE9S X0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05HLCBQQ0lfQU5Z X0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjMwMH0sCisJeyBQQ0lf VkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05ILCBQ Q0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjM1MH0sCisJ eyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X05kLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjMw MF9TRUN9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURf QVRJX1JBREVPTl9OZSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwg UkFERU9OX1IzMDBfU0VDfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lf REVWSUNFX0lEX0FUSV9SQURFT05fTmYsIFBDSV9BTllfSUQsIFBDSV9BTllf SUQsIDAsIDAsIFJBREVPTl9SMzAwX1NFQ30sCisJeyBQQ0lfVkVORE9SX0lE X0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05nLCBQQ0lfQU5ZX0lE LCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjMwMF9TRUN9LAorCXsgUENJ X1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9OaCwg UENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1IzNTBfU0VD fSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9S QURFT05fUUQsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVP Tl9SMTAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fUUUsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAs IFJBREVPTl9SMTAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQURFT05fUUYsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQs IDAsIDAsIFJBREVPTl9SMTAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQ Q0lfREVWSUNFX0lEX0FUSV9SQURFT05fUUcsIFBDSV9BTllfSUQsIFBDSV9B TllfSUQsIDAsIDAsIFJBREVPTl9SMTAwfSwKKwl7IFBDSV9WRU5ET1JfSURf QVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUUgsIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMjAwfSwKKwl7IFBDSV9WRU5E T1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUUksIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMjAwfSwKKwl7IFBD SV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUUos IFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMjAwfSwK Kwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURF T05fUUssIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9S MjAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FU SV9SQURFT05fUUwsIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJB REVPTl9SMjAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNF X0lEX0FUSV9SQURFT05fUU0sIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAs IDAsIFJBREVPTl9SMjAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lf REVWSUNFX0lEX0FUSV9SQURFT05fUU4sIFBDSV9BTllfSUQsIFBDSV9BTllf SUQsIDAsIDAsIFJBREVPTl9SMjAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJ LCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUU8sIFBDSV9BTllfSUQsIFBD SV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMjAwfSwKKwl7IFBDSV9WRU5ET1Jf SURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUVcsIFBDSV9BTllf SUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SVjIwMH0sCisJeyBQQ0lf VkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FYLCBQ Q0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUlYyMDB9LAor CXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9RWSwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1JW MTAwfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FU SV9SQURFT05fUVosIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJB REVPTl9SVjEwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX1FoLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAw LCAwLCBSQURFT05fUjIwMF9TRUN9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEks IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RaSwgUENJX0FOWV9JRCwgUENJ X0FOWV9JRCwgMCwgMCwgUkFERU9OX1IyMDBfU0VDfSwKKwl7IFBDSV9WRU5E T1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUWosIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SMjAwX1NFQ30sCisJ eyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X1FrLCBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUjIw MF9TRUN9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURf QVRJX1JBREVPTl9RbCwgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwg UkFERU9OX1IyMDBfU0VDfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lf REVWSUNFX0lEX0FUSV9SQURFT05fWDQsIFBDSV9BTllfSUQsIFBDSV9BTllf SUQsIDAsIDAsIFJBREVPTl9SUzMwMH0sCisJeyBQQ0lfVkVORE9SX0lEX0FU SSwgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1g1LCBQQ0lfQU5ZX0lELCBQ Q0lfQU5ZX0lELCAwLCAwLCBSQURFT05fUlMzMDB9LAorCXsgUENJX1ZFTkRP Ul9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9YNiwgUENJX0FO WV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgUkFERU9OX1JTMzAwfSwKKwl7IFBD SV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fWDcs IFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIFJBREVPTl9SUzMwMH0s CiAJeyAwLCB9CiB9OwogTU9EVUxFX0RFVklDRV9UQUJMRShwY2ksIHJhZGVv bmZiX3BjaV90YWJsZSk7CkBAIC0zNTAsNyArMzM3LDcgQEAKIAlzdHJ1Y3Qg cmFkZW9uX3JlZ3Mgc3RhdGU7CiAJc3RydWN0IHJhZGVvbl9yZWdzIGluaXRf c3RhdGU7CiAKLQljaGFyIG5hbWVbMzJdOworCWNoYXIgbmFtZVtERVZJQ0Vf TkFNRV9TSVpFXTsKIAljaGFyIHJhbV90eXBlWzEyXTsKIAogCXVuc2lnbmVk IGxvbmcgbW1pb19iYXNlX3BoeXM7CkBAIC02NzksMTIgKzY2NiwxNCBAQAog ICovCiAgICAgICAgIAogc3RhdGljIGNoYXIgKm1vZGVfb3B0aW9uIF9faW5p dGRhdGE7Ci1zdGF0aWMgY2hhciBub2FjY2VsID0gMTsKLXN0YXRpYyBjaGFy IG1pcnJvciA9IDA7CitzdGF0aWMgaW50IG5vYWNjZWwgPSAxOworc3RhdGlj IGludCBtaXJyb3IgPSAwOwogc3RhdGljIGludCBwYW5lbF95cmVzIF9faW5p dGRhdGEgPSAwOwotc3RhdGljIGNoYXIgZm9yY2VfZGZwIF9faW5pdGRhdGEg PSAwOworc3RhdGljIGludCBmb3JjZV9kZnAgX19pbml0ZGF0YSA9IDA7CiBz dGF0aWMgc3RydWN0IHJhZGVvbmZiX2luZm8gKmJvYXJkX2xpc3QgPSBOVUxM Owotc3RhdGljIGNoYXIgbm9tdHJyIF9faW5pdGRhdGEgPSAwOworI2lmZGVm IENPTkZJR19NVFJSCitzdGF0aWMgaW50IG5vbXRyciBfX2luaXRkYXRhID0g MDsKKyNlbmRpZgogCiAvKgogICogcHJvdG90eXBlcwpAQCAtNjk4LDcgKzY4 NywxMCBAQAogc3RhdGljIGludCBfX2RldmluaXQgcmFkZW9uX3NldF9mYmlu Zm8gKHN0cnVjdCByYWRlb25mYl9pbmZvICpyaW5mbyk7CiBzdGF0aWMgaW50 IF9fZGV2aW5pdCByYWRlb25faW5pdF9kaXNwIChzdHJ1Y3QgcmFkZW9uZmJf aW5mbyAqcmluZm8pOwogc3RhdGljIGludCByYWRlb25faW5pdF9kaXNwX3Zh ciAoc3RydWN0IHJhZGVvbmZiX2luZm8gKnJpbmZvLCBzdHJ1Y3QgZmJfdmFy X3NjcmVlbmluZm8gKnZhcik7Ci1zdGF0aWMgY2hhciAqcmFkZW9uX2ZpbmRf cm9tKHN0cnVjdCByYWRlb25mYl9pbmZvICpyaW5mbyk7CisjaWYgZGVmaW5l ZChfX2kzODZfXykKK3N0YXRpYyB2b2lkIF9faW5pdCAqcmFkZW9uX21hcF9S T00oc3RydWN0IHJhZGVvbmZiX2luZm8gKnJpbmZvLCBzdHJ1Y3QgcGNpX2Rl diAqcGRldik7CitzdGF0aWMgdm9pZCBfX2luaXQgcmFkZW9uX3VubWFwX1JP TShzdHJ1Y3QgcGNpX2RldiAqZGV2LCB2b2lkICogcm9tKTsKKyNlbmRpZgog c3RhdGljIHZvaWQgcmFkZW9uX2dldF9wbGxpbmZvKHN0cnVjdCByYWRlb25m Yl9pbmZvICpyaW5mbywgY2hhciAqYmlvc19zZWcpOwogc3RhdGljIHZvaWQg cmFkZW9uX2dldF9tb25pbmZvIChzdHJ1Y3QgcmFkZW9uZmJfaW5mbyAqcmlu Zm8pOwogc3RhdGljIGludCByYWRlb25fZ2V0X2RmcGluZm8gKHN0cnVjdCBy YWRlb25mYl9pbmZvICpyaW5mbyk7CkBAIC03MzEsNzQgKzcyMyw2NSBAQAog I2VuZGlmIC8qIENPTkZJR19QUENfT0YgKi8KIAogCi1zdGF0aWMgY2hhciAq cmFkZW9uX2ZpbmRfcm9tKHN0cnVjdCByYWRlb25mYl9pbmZvICpyaW5mbykK LXsgICAgICAgCiAjaWYgZGVmaW5lZChfX2kzODZfXykKLSAgICAgICAgdTMy ICBzZWdzdGFydDsKLSAgICAgICAgY2hhciAqcm9tX2Jhc2U7Ci0gICAgICAg IGNoYXIgKnJvbTsKLSAgICAgICAgaW50ICBzdGFnZTsKLSAgICAgICAgaW50 ICBpLGo7ICAgICAgIAotICAgICAgICBjaGFyIGF0eV9yb21fc2lnW10gPSAi NzYxMjk1NTIwIjsKLSAgICAgICAgY2hhciAqcmFkZW9uX3NpZ1tdID0gewot ICAgICAgICAgICJSRzYiLAotICAgICAgICAgICJSQURFT04iCi0gICAgICAg IH07Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAKLSAgICAgICAgZm9yKHNlZ3N0YXJ0PTB4MDAwYzAwMDA7IHNl Z3N0YXJ0PDB4MDAwZjAwMDA7IHNlZ3N0YXJ0Kz0weDAwMDAxMDAwKSB7Ci0g ICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICBzdGFn ZSA9IDE7Ci0gICAgICAgICAgICAgICAgCi0gICAgICAgICAgICAgICAgcm9t X2Jhc2UgPSAoY2hhciAqKWlvcmVtYXAoc2Vnc3RhcnQsIDB4MTAwMCk7Ci0K LSAgICAgICAgICAgICAgICBpZiAoKCpyb21fYmFzZSA9PSAweDU1KSAmJiAo KCgqKHJvbV9iYXNlICsgMSkpICYgMHhmZikgPT0gMHhhYSkpCi0gICAgICAg ICAgICAgICAgICAgICAgICBzdGFnZSA9IDI7Ci0gICAgICAgICAgICAgICAg Ci0gICAgICAgICAgICAgICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChz dGFnZSAhPSAyKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpb3VubWFw KHJvbV9iYXNlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICByb20g PSByb21fYmFzZTsKLSAgICAgICAgICAgICAgICAgICAgIAotICAgICAgICAg ICAgICAgIGZvciAoaSA9IDA7IChpIDwgMTI4IC0gc3RybGVuKGF0eV9yb21f c2lnKSkgJiYgKHN0YWdlICE9IDMpOyBpKyspIHsKLSAgICAgICAgICAgICAg ICAgICAgICAgIGlmIChhdHlfcm9tX3NpZ1swXSA9PSAqcm9tKQotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RybmNtcChhdHlfcm9t X3NpZywgcm9tLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RybGVuKGF0eV9yb21fc2lnKSkgPT0gMCkKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFnZSA9 IDM7Ci0gICAgICAgICAgICAgICAgICAgICAgICByb20rKzsKLSAgICAgICAg ICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKHN0YWdlICE9IDMpIHsK LSAgICAgICAgICAgICAgICAgICAgICAgIGlvdW5tYXAocm9tX2Jhc2UpOwot ICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAg ICAgICAgfQotICAgICAgICAgICAgICAgIHJvbSA9IHJvbV9iYXNlOwotICAg ICAgICAKLSAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyAoaSA8IDUxMikg JiYgKHN0YWdlICE9IDQpOyBpKyspIHsKLSAgICAgICAgICAgICAgICAgICAg Zm9yKGogPSAwO2ogPCBzaXplb2YocmFkZW9uX3NpZykvc2l6ZW9mKGNoYXIg Kik7aisrKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmFkZW9u X3NpZ1tqXVswXSA9PSAqcm9tKQotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpZiAoc3RybmNtcChyYWRlb25fc2lnW2pdLCByb20sCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cmxl bihyYWRlb25fc2lnW2pdKSkgPT0gMCkgewotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWdlID0gNDsKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVh azsKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQotICAgICAgICAgICAgICAgICAgICB9ICAgICAgICAgICAgICAgICAg ICAgICAgICAgCi0gICAgICAgICAgICAgICAgICAgICAgICByb20rKzsKLSAg ICAgICAgICAgICAgICB9ICAgICAgIAotICAgICAgICAgICAgICAgIGlmIChz dGFnZSAhPSA0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpb3VubWFw KHJvbV9iYXNlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVl OwotICAgICAgICAgICAgICAgIH0gICAgICAgCi0gICAgICAgICAgICAgICAg Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJvbV9iYXNlOwotICAgICAgICB9 Ci0jZW5kaWYgICAgICAgICAgCi0gICAgICAgIHJldHVybiBOVUxMOworc3Rh dGljIHZvaWQgKiBfX2luaXQgcmFkZW9uX21hcF9ST00oc3RydWN0IHJhZGVv bmZiX2luZm8gKnJpbmZvLCBzdHJ1Y3QgcGNpX2RldiAqZGV2KQoreworCS8v IElmIHRoaXMgaXMgYSBwcmltYXJ5IGNhcmQsIHRoZXJlIGlzIGEgc2hhZG93 IGNvcHkgb2YgdGhlCisJLy8gUk9NIHNvbWV3aGVyZSBpbiB0aGUgZmlyc3Qg bWVnLiBXZSB3aWxsIGp1c3QgaWdub3JlIHRoZSBjb3B5CisJLy8gYW5kIHVz ZSB0aGUgUk9NIGRpcmVjdGx5LgorICAgIAorICAgIAkvKiBGaXggZnJvbSBB VEkgZm9yIHByb2JsZW0gd2l0aCBSYWRlb24gaGFyZHdhcmUgbm90IGxlYXZp bmcgUk9NIGVuYWJsZWQgKi8KKyAgICAJdW5zaWduZWQgaW50IHRlbXA7CisJ dGVtcCA9IElOUkVHKFJBREVPTl9NUFBfVEJfQ09ORklHKTsKKwl0ZW1wICY9 IDB4MDBmZmZmZmZ1OworCXRlbXAgfD0gMHgwNCA8PCAyNDsKKwlPVVRSRUco UkFERU9OX01QUF9UQl9DT05GSUcsIHRlbXApOworCXRlbXAgPSBJTlJFRyhS QURFT05fTVBQX1RCX0NPTkZJRyk7CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisJLy8g bm8gbmVlZCB0byBzZWFyY2ggZm9yIHRoZSBST00sIGp1c3QgYXNrIHRoZSBj YXJkIHdoZXJlIGl0IGlzLgorCXN0cnVjdCByZXNvdXJjZSAqciA9ICZkZXYt PnJlc291cmNlW1BDSV9ST01fUkVTT1VSQ0VdOworCXZvaWQgKnJvbTsKKwkK KwkvLyBhc3NpZ24gdGhlIFJPTSBhbiBhZGRyZXNzIGlmIGl0IGRvZXNuJ3Qg aGF2ZSBvbmUKKwlpZiAoci0+c3RhcnQgPT0gMCkKKwkJcGNpX2Fzc2lnbl9y ZXNvdXJjZShkZXYsIFBDSV9ST01fUkVTT1VSQ0UpOworCQorCS8vIGVuYWJs ZSBpZiBuZWVkZWQKKwlpZiAoIShyLT5mbGFncyAmIFBDSV9ST01fQUREUkVT U19FTkFCTEUpKSB7CisJCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBk ZXYtPnJvbV9iYXNlX3JlZywgci0+c3RhcnQgfCBQQ0lfUk9NX0FERFJFU1Nf RU5BQkxFKTsKKwkJci0+ZmxhZ3MgfD0gUENJX1JPTV9BRERSRVNTX0VOQUJM RTsKKwl9CisJCisJcm9tID0gaW9yZW1hcChyLT5zdGFydCwgci0+ZW5kIC0g ci0+c3RhcnQgKyAxKTsKKwlpZiAoIXJvbSkgeworCQlwcmludGsoS0VSTl9F UlIgInJhZGVvbmZiOiBST00gZmFpbGVkIHRvIG1hcFxuIik7CisJCXJldHVy biBOVUxMOworCX0KKwkKKwkvLyBWZXJ5IHNpbXBsZSB0ZXN0IHRvIG1ha2Ug c3VyZSBpdCBhcHBlYXJlZAorCWlmIChyZWFkYihyb20pICE9IDB4NTUpIHsK KwkJcHJpbnRrKEtFUk5fRVJSICJyYWRlb25mYjogSW52YWxpZCBST00gc2ln bmF0dXJlICV4IHNob3VsZCBiZSAweDU1XG4iLCByZWFkYihyb20pKTsKKwkJ cmFkZW9uX3VubWFwX1JPTShkZXYsIHJvbSk7CisJCXJldHVybiBOVUxMOwor CX0KKwlyZXR1cm4gcm9tOwogfQogCi0KLQorc3RhdGljIHZvaWQgX19pbml0 IHJhZGVvbl91bm1hcF9ST00oc3RydWN0IHBjaV9kZXYgKmRldiwgdm9pZCAq IHJvbSkKK3sKKwkvLyBsZWF2ZSBpdCBkaXNhYmxlZCBhbmQgdW5hc3NpZ25l ZAorCXN0cnVjdCByZXNvdXJjZSAqciA9ICZkZXYtPnJlc291cmNlW1BDSV9S T01fUkVTT1VSQ0VdOworCQorCWlvdW5tYXAocm9tKTsKKwkKKwlyLT5mbGFn cyAmPSB+UENJX1JPTV9BRERSRVNTX0VOQUJMRTsKKwlyLT5lbmQgLT0gci0+ c3RhcnQ7CisJci0+c3RhcnQgPSAwOworCS8qIFRoaXMgd2lsbCBkaXNhYmxl IGFuZCBzZXQgYWRkcmVzcyB0byB1bmFzc2lnbmVkICovCisJcGNpX3dyaXRl X2NvbmZpZ19kd29yZChkZXYsIGRldi0+cm9tX2Jhc2VfcmVnLCAwKTsKKwly ZWxlYXNlX3Jlc291cmNlKHIpOworfQorI2VuZGlmICAgICAgICAgIAogCiBz dGF0aWMgdm9pZCByYWRlb25fZ2V0X3BsbGluZm8oc3RydWN0IHJhZGVvbmZi X2luZm8gKnJpbmZvLCBjaGFyICpiaW9zX3NlZykKIHsKQEAgLTEwODEsMTIg KzEwNjQsMTIgQEAKIAkJcmV0dXJuIDA7CiAKIAlpZiAoIShmcGJpb3NzdGFy dCA9IHJpbmZvLT5iaW9zX3NlZyArIHJlYWR3KHJpbmZvLT5iaW9zX3NlZyAr IDB4NDgpKSkgewotCQlwcmludGsoInJhZGVvbmZiOiBGYWlsZWQgdG8gZGV0 ZWN0IERGUCBwYW5lbCBpbmZvIHVzaW5nIEJJT1NcbiIpOworCQlwcmludGso S0VSTl9FUlIgInJhZGVvbmZiOiBGYWlsZWQgdG8gZGV0ZWN0IERGUCBwYW5l bCBpbmZvIHVzaW5nIEJJT1NcbiIpOwogCQlyZXR1cm4gMDsKIAl9CiAKIAlp ZiAoISh0bXAgPSByaW5mby0+Ymlvc19zZWcgKyByZWFkdyhmcGJpb3NzdGFy dCArIDB4NDApKSkgewotCQlwcmludGsoInJhZGVvbmZiOiBGYWlsZWQgdG8g ZGV0ZWN0IERGUCBwYW5lbCBpbmZvIHVzaW5nIEJJT1NcbiIpOworCQlwcmlu dGsoS0VSTl9FUlIgInJhZGVvbmZiOiBGYWlsZWQgdG8gZGV0ZWN0IERGUCBw YW5lbCBpbmZvIHVzaW5nIEJJT1NcbiIpOwogCQlyZXR1cm4gMDsKIAl9CiAK QEAgLTExNzIsNyArMTE1NSw3IEBACiAJCQkJcmluZm8tPnBhbmVsX3hyZXMg PSAxNjAwOwogCQkJCWJyZWFrOwogCQkJZGVmYXVsdDoKLQkJCQlwcmludGso InJhZGVvbmZiOiBGYWlsZWQgdG8gZGV0ZWN0IERGUCBwYW5lbCBzaXplXG4i KTsKKwkJCQlwcmludGsoS0VSTl9FUlIgInJhZGVvbmZiOiBGYWlsZWQgdG8g ZGV0ZWN0IERGUCBwYW5lbCBzaXplXG4iKTsKIAkJCQlyZXR1cm4gMDsKIAkJ fQogCkBAIC0yNzk0LDEwICsyNzc3LDIxIEBACiAJCQkJICBjb25zdCBzdHJ1 Y3QgcGNpX2RldmljZV9pZCAqZW50KQogewogCXN0cnVjdCByYWRlb25mYl9p bmZvICpyaW5mbzsKLQlzdHJ1Y3QgcmFkZW9uX2NoaXBfaW5mbyAqcmNpID0g JnJhZGVvbl9jaGlwX2luZm9bZW50LT5kcml2ZXJfZGF0YV07CiAJdTMyIHRt cDsKIAogCVJUUkFDRSgicmFkZW9uZmJfcGNpX3JlZ2lzdGVyIEJFR0lOXG4i KTsKKwkKKwkvKiBUaGUgZHJpdmVyIGFja25vd2xlZGdlcyBvd25pbmcgc2Vj b25kYXJ5IGRldmljZXMgYnV0IHRoZXkgYXJlIGhhbmRsZWQgYnkgcHJpbWFy eSAqLworCXN3aXRjaCAoZW50LT5kcml2ZXJfZGF0YSkgeworCWNhc2UgUkFE RU9OX1IyMDBfU0VDOgorCWNhc2UgUkFERU9OX1JWMjUwX1NFQzoKKwljYXNl IFJBREVPTl9SMzAwX1NFQzoKKwljYXNlIFJBREVPTl9SMzUwX1NFQzoKKwlj YXNlIFJBREVPTl9NOV9TRUM6CisJCXJldHVybiAwOworCWRlZmF1bHQ6CisJ CWJyZWFrOworCX0KIAogCS8qIEVuYWJsZSBkZXZpY2UgaW4gUENJIGNvbmZp ZyAqLwogCWlmIChwY2lfZW5hYmxlX2RldmljZShwZGV2KSAhPSAwKSB7CkBA IC0yODA3LDE1ICsyODAxLDIzIEBACiAKIAlyaW5mbyA9IGttYWxsb2MgKHNp emVvZiAoc3RydWN0IHJhZGVvbmZiX2luZm8pLCBHRlBfS0VSTkVMKTsKIAlp ZiAoIXJpbmZvKSB7Ci0JCXByaW50ayAoInJhZGVvbmZiOiBjb3VsZCBub3Qg YWxsb2NhdGUgbWVtb3J5XG4iKTsKKwkJcHJpbnRrIChLRVJOX0VSUiAicmFk ZW9uZmI6IGNvdWxkIG5vdCBhbGxvY2F0ZSBtZW1vcnlcbiIpOwogCQlyZXR1 cm4gLUVOT0RFVjsKIAl9CiAKIAltZW1zZXQgKHJpbmZvLCAwLCBzaXplb2Yg KHN0cnVjdCByYWRlb25mYl9pbmZvKSk7Ci0JLy9pbmZvID0gJnJpbmZvLT5p bmZvOworCiAJcmluZm8tPnBkZXYgPSBwZGV2OwotCXN0cmNweShyaW5mby0+ bmFtZSwgcmNpLT5uYW1lKTsKLQlyaW5mby0+YXJjaCA9IHJjaS0+YXJjaDsK KwkKKwlzdHJjcHkocmluZm8tPm5hbWUsICJBVEkgUmFkZW9uIFhYICIpOwor CXJpbmZvLT5uYW1lWzExXSA9IGVudC0+ZGV2aWNlID4+IDg7CisJcmluZm8t Pm5hbWVbMTJdID0gZW50LT5kZXZpY2UgJiAweEZGOworCQkKKwkvKiByYW5n ZSBjaGVjayB0byBtYWtlIHN1cmUgKi8KKwlpZiAoZW50LT5kcml2ZXJfZGF0 YSA8IChzaXplb2YocmFkZW9uX2ZhbWlseSkvc2l6ZW9mKGNoYXIgKikpKQor CSAgICBzdHJuY2F0KHJpbmZvLT5uYW1lLCByYWRlb25fZmFtaWx5W2VudC0+ ZHJpdmVyX2RhdGFdLCBzaXplb2YocmluZm8tPm5hbWUpKTsKKwkKKwlyaW5m by0+YXJjaCA9IGVudC0+ZHJpdmVyX2RhdGE7CiAKIAkvKiBTZXQgYmFzZSBh ZGRycyAqLwogCXJpbmZvLT5mYl9iYXNlX3BoeXMgPSBwY2lfcmVzb3VyY2Vf c3RhcnQgKHBkZXYsIDApOwpAQCAtMjgyNCwzMCArMjgyNiwyMSBAQAogCS8q IHJlcXVlc3QgdGhlIG1lbSByZWdpb25zICovCiAJaWYgKCFyZXF1ZXN0X21l bV9yZWdpb24gKHJpbmZvLT5mYl9iYXNlX3BoeXMsCiAJCQkJIHBjaV9yZXNv dXJjZV9sZW4ocGRldiwgMCksICJyYWRlb25mYiIpKSB7Ci0JCXByaW50ayAo InJhZGVvbmZiOiBjYW5ub3QgcmVzZXJ2ZSBGQiByZWdpb25cbiIpOwotCQlr ZnJlZSAocmluZm8pOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJcHJpbnRrIChL RVJOX0VSUiAicmFkZW9uZmI6IGNhbm5vdCByZXNlcnZlIEZCIHJlZ2lvblxu Iik7CisJCWdvdG8gZnJlZV9yaW5mbzsKIAl9CiAKIAlpZiAoIXJlcXVlc3Rf bWVtX3JlZ2lvbiAocmluZm8tPm1taW9fYmFzZV9waHlzLAogCQkJCSBwY2lf cmVzb3VyY2VfbGVuKHBkZXYsIDIpLCAicmFkZW9uZmIiKSkgewotCQlwcmlu dGsgKCJyYWRlb25mYjogY2Fubm90IHJlc2VydmUgTU1JTyByZWdpb25cbiIp OwotCQlyZWxlYXNlX21lbV9yZWdpb24gKHJpbmZvLT5mYl9iYXNlX3BoeXMs Ci0JCQkJICAgIHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMCkpOwotCQlrZnJl ZSAocmluZm8pOwotCQlyZXR1cm4gLUVOT0RFVjsKKwkJcHJpbnRrIChLRVJO X0VSUiAicmFkZW9uZmI6IGNhbm5vdCByZXNlcnZlIE1NSU8gcmVnaW9uXG4i KTsKKwkJZ290byByZWxlYXNlX2ZiOwogCX0KIAogCS8qIG1hcCB0aGUgcmVn aW9ucyAqLwogCXJpbmZvLT5tbWlvX2Jhc2UgPSAodW5zaWduZWQgbG9uZykg aW9yZW1hcCAocmluZm8tPm1taW9fYmFzZV9waHlzLCBSQURFT05fUkVHU0la RSk7CiAJaWYgKCFyaW5mby0+bW1pb19iYXNlKSB7Ci0JCXByaW50ayAoInJh ZGVvbmZiOiBjYW5ub3QgbWFwIE1NSU9cbiIpOwotCQlyZWxlYXNlX21lbV9y ZWdpb24gKHJpbmZvLT5tbWlvX2Jhc2VfcGh5cywKLQkJCQkgICAgcGNpX3Jl c291cmNlX2xlbihwZGV2LCAyKSk7Ci0JCXJlbGVhc2VfbWVtX3JlZ2lvbiAo cmluZm8tPmZiX2Jhc2VfcGh5cywKLQkJCQkgICAgcGNpX3Jlc291cmNlX2xl bihwZGV2LCAwKSk7Ci0JCWtmcmVlIChyaW5mbyk7Ci0JCXJldHVybiAtRU5P REVWOworCQlwcmludGsgKEtFUk5fRVJSICJyYWRlb25mYjogY2Fubm90IG1h cCBNTUlPXG4iKTsKKwkJZ290byByZWxlYXNlX21taW87CiAJfQogCiAJcmlu Zm8tPmNoaXBzZXQgPSBwZGV2LT5kZXZpY2U7CkBAIC0yOTI0LDcgKzI5MTcs NyBAQAogCQkJYnJlYWs7CiAJfQogCi0JcmluZm8tPmJpb3Nfc2VnID0gcmFk ZW9uX2ZpbmRfcm9tKHJpbmZvKTsKKwlyaW5mby0+Ymlvc19zZWcgPSByYWRl b25fbWFwX1JPTShyaW5mbywgcGRldik7CiAJcmFkZW9uX2dldF9wbGxpbmZv KHJpbmZvLCByaW5mby0+Ymlvc19zZWcpOwogCiAJLyoKQEAgLTI5NjYsMjYg KzI5NTksMTQgQEAKIAlpZiAoKHJpbmZvLT5kdmlEaXNwX3R5cGUgPT0gTVRf REZQKSB8fCAocmluZm8tPmR2aURpc3BfdHlwZSA9PSBNVF9MQ0QpIHx8CiAJ ICAgIChyaW5mby0+Y3J0RGlzcF90eXBlID09IE1UX0RGUCkpIHsKIAkJaWYg KCFyYWRlb25fZ2V0X2RmcGluZm8ocmluZm8pKSB7Ci0JCQlpb3VubWFwICgo dm9pZCopcmluZm8tPm1taW9fYmFzZSk7Ci0JCQlyZWxlYXNlX21lbV9yZWdp b24gKHJpbmZvLT5tbWlvX2Jhc2VfcGh5cywKLQkJCQkJICAgIHBjaV9yZXNv dXJjZV9sZW4ocGRldiwgMikpOwotCQkJcmVsZWFzZV9tZW1fcmVnaW9uIChy aW5mby0+ZmJfYmFzZV9waHlzLAotCQkJCQkgICAgcGNpX3Jlc291cmNlX2xl bihwZGV2LCAwKSk7Ci0JCQlrZnJlZSAocmluZm8pOwotCQkJcmV0dXJuIC1F Tk9ERVY7CisJCQlnb3RvIHVubWFwX3JvbTsKIAkJfQogCX0KIAogCXJpbmZv LT5mYl9iYXNlID0gKHVuc2lnbmVkIGxvbmcpIGlvcmVtYXAgKHJpbmZvLT5m Yl9iYXNlX3BoeXMsIHJpbmZvLT52aWRlb19yYW0pOwogCWlmICghcmluZm8t PmZiX2Jhc2UpIHsKLQkJcHJpbnRrICgicmFkZW9uZmI6IGNhbm5vdCBtYXAg RkJcbiIpOwotCQlpb3VubWFwICgodm9pZCopcmluZm8tPm1taW9fYmFzZSk7 Ci0JCXJlbGVhc2VfbWVtX3JlZ2lvbiAocmluZm8tPm1taW9fYmFzZV9waHlz LAotCQkJCSAgICBwY2lfcmVzb3VyY2VfbGVuKHBkZXYsIDIpKTsKLQkJcmVs ZWFzZV9tZW1fcmVnaW9uIChyaW5mby0+ZmJfYmFzZV9waHlzLAotCQkJCSAg ICBwY2lfcmVzb3VyY2VfbGVuKHBkZXYsIDApKTsKLQkJa2ZyZWUgKHJpbmZv KTsKLQkJcmV0dXJuIC1FTk9ERVY7CisJCXByaW50ayAoS0VSTl9FUlIgInJh ZGVvbmZiOiBjYW5ub3QgbWFwIEZCXG4iKTsKKwkJZ290byB1bm1hcF9yb207 CiAJfQogCiAJLyogSSBTSE9VTEQgRklYIFRIQVQgQ1JBUCAhIEkgc2hvdWxk IHByb2JhYmx5IG1pbW1pYyBYRnJlZSBEUkkKQEAgLTMwMzUsMTUgKzMwMTYs OCBAQAogCWJvYXJkX2xpc3QgPSByaW5mbzsKIAogCWlmIChyZWdpc3Rlcl9m cmFtZWJ1ZmZlciAoKHN0cnVjdCBmYl9pbmZvICopIHJpbmZvKSA8IDApIHsK LQkJcHJpbnRrICgicmFkZW9uZmI6IGNvdWxkIG5vdCByZWdpc3RlciBmcmFt ZWJ1ZmZlclxuIik7Ci0JCWlvdW5tYXAgKCh2b2lkKilyaW5mby0+ZmJfYmFz ZSk7Ci0JCWlvdW5tYXAgKCh2b2lkKilyaW5mby0+bW1pb19iYXNlKTsKLQkJ cmVsZWFzZV9tZW1fcmVnaW9uIChyaW5mby0+bW1pb19iYXNlX3BoeXMsCi0J CQkJICAgIHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMikpOwotCQlyZWxlYXNl X21lbV9yZWdpb24gKHJpbmZvLT5mYl9iYXNlX3BoeXMsCi0JCQkJICAgIHBj aV9yZXNvdXJjZV9sZW4ocGRldiwgMCkpOwotCQlrZnJlZSAocmluZm8pOwot CQlyZXR1cm4gLUVOT0RFVjsKKwkJcHJpbnRrIChLRVJOX0VSUiAicmFkZW9u ZmI6IGNvdWxkIG5vdCByZWdpc3RlciBmcmFtZWJ1ZmZlclxuIik7CisJCWdv dG8gdW5tYXBfZmI7CiAJfQogCiAjaWZkZWYgQ09ORklHX01UUlIKQEAgLTMw NjUsNyArMzAzOSw3IEBACiAJfQogI2VuZGlmCiAKLQlwcmludGsgKCJyYWRl b25mYjogQVRJIFJhZGVvbiAlcyAlcyAlZCBNQlxuIiwgcmluZm8tPm5hbWUs IHJpbmZvLT5yYW1fdHlwZSwKKwlwcmludGsgKCJyYWRlb25mYjogJXMgJXMg JWQgTUJcbiIsIHJpbmZvLT5uYW1lLCByaW5mby0+cmFtX3R5cGUsCiAJCShy aW5mby0+dmlkZW9fcmFtLygxMDI0KjEwMjQpKSk7CiAKIAlpZiAocmluZm8t Pmhhc0NSVEMyKSB7CkBAIC0zMDc4LDkgKzMwNTIsMjQgQEAKIAkJCUdFVF9N T05fTkFNRShyaW5mby0+Y3J0RGlzcF90eXBlKSk7CiAJfQogCisJcmFkZW9u X3VubWFwX1JPTShwZGV2LCByaW5mby0+Ymlvc19zZWcpOwogCVJUUkFDRSgi cmFkZW9uZmJfcGNpX3JlZ2lzdGVyIEVORFxuIik7CiAKIAlyZXR1cm4gMDsK K3VubWFwX2ZiOgorCWlvdW5tYXAgKCh2b2lkKilyaW5mby0+ZmJfYmFzZSk7 Cit1bm1hcF9yb206CQorCXJhZGVvbl91bm1hcF9ST00ocGRldiwgcmluZm8t PmJpb3Nfc2VnKTsKKwlpb3VubWFwICgodm9pZCopcmluZm8tPm1taW9fYmFz ZSk7CityZWxlYXNlX21taW86CisJcmVsZWFzZV9tZW1fcmVnaW9uIChyaW5m by0+bW1pb19iYXNlX3BoeXMsCisJCQkgICAgcGNpX3Jlc291cmNlX2xlbihw ZGV2LCAyKSk7CityZWxlYXNlX2ZiOgkKKwlyZWxlYXNlX21lbV9yZWdpb24g KHJpbmZvLT5mYl9iYXNlX3BoeXMsCisJCQkgICAgcGNpX3Jlc291cmNlX2xl bihwZGV2LCAwKSk7CitmcmVlX3JpbmZvOgkKKwlrZnJlZSAocmluZm8pOwor CXJldHVybiAtRU5PREVWOwogfQogCiAKQEAgLTMxMzcsNDAgKzMxMjYsMjUg QEAKIAlwY2lfdW5yZWdpc3Rlcl9kcml2ZXIgKCZyYWRlb25mYl9kcml2ZXIp OwogfQogCi0KLWludCBfX2luaXQgcmFkZW9uZmJfc2V0dXAgKGNoYXIgKm9w dGlvbnMpCi17Ci0gICAgICAgIGNoYXIgKnRoaXNfb3B0OwotCi0gICAgICAg IGlmICghb3B0aW9ucyB8fCAhKm9wdGlvbnMpCi0gICAgICAgICAgICAgICAg cmV0dXJuIDA7Ci0gCi0Jd2hpbGUgKCh0aGlzX29wdCA9IHN0cnNlcCAoJm9w dGlvbnMsICIsIikpICE9IE5VTEwpIHsKLQkJaWYgKCEqdGhpc19vcHQpCi0J CQljb250aW51ZTsKLSAgICAgICAgICAgICAgICBpZiAoIXN0cm5jbXAodGhp c19vcHQsICJub2FjY2VsIiwgNykpIHsKLQkJCW5vYWNjZWwgPSAxOwotICAg ICAgICAgICAgICAgIH0gZWxzZSBpZiAoIXN0cm5jbXAodGhpc19vcHQsICJt aXJyb3IiLCA2KSkgewotCQkJbWlycm9yID0gMTsKLQkJfSBlbHNlIGlmICgh c3RybmNtcCh0aGlzX29wdCwgImRmcCIsIDMpKSB7Ci0JCQlmb3JjZV9kZnAg PSAxOwotCQl9IGVsc2UgaWYgKCFzdHJuY21wKHRoaXNfb3B0LCAicGFuZWxf eXJlczoiLCAxMSkpIHsKLQkJCXBhbmVsX3lyZXMgPSBzaW1wbGVfc3RydG91 bCgodGhpc19vcHQrMTEpLCBOVUxMLCAwKTsKLQkJfSBlbHNlIGlmICghc3Ry bmNtcCh0aGlzX29wdCwgIm5vbXRyciIsIDYpKSB7Ci0JCQlub210cnIgPSAx OwotICAgICAgICAgICAgICAgIH0gZWxzZQotCQkJbW9kZV9vcHRpb24gPSB0 aGlzX29wdDsKLSAgICAgICAgfQotCi0JcmV0dXJuIDA7Ci19Ci0KICNpZmRl ZiBNT0RVTEUKIG1vZHVsZV9pbml0KHJhZGVvbmZiX2luaXQpOwogbW9kdWxl X2V4aXQocmFkZW9uZmJfZXhpdCk7CiAjZW5kaWYKIAotCiBNT0RVTEVfQVVU SE9SKCJBbmkgSm9zaGkiKTsKIE1PRFVMRV9ERVNDUklQVElPTigiZnJhbWVi dWZmZXIgZHJpdmVyIGZvciBBVEkgUmFkZW9uIGNoaXBzZXQiKTsKIE1PRFVM RV9MSUNFTlNFKCJHUEwiKTsKK21vZHVsZV9wYXJhbShub2FjY2VsLCBib29s LCAwKTsKK01PRFVMRV9QQVJNX0RFU0Mobm9hY2NlbCwgImJvb2w6IGRpc2Fi bGUgYWNjZWxlcmF0aW9uIik7Cittb2R1bGVfcGFyYW0obWlycm9yLCBib29s LCAwKTsKK01PRFVMRV9QQVJNX0RFU0MobWlycm9yLCAiYm9vbDogbWlycm9y IHRoZSBkaXNwbGF5IHRvIGJvdGggbW9uaXRvcnMiKTsKK21vZHVsZV9wYXJh bShmb3JjZV9kZnAsIGJvb2wsIDApOworTU9EVUxFX1BBUk1fREVTQyhmb3Jj ZV9kZnAsICJib29sOiBmb3JjZSBkaXNwbGF5IHRvIGRmcCIpOworI2lmZGVm IENPTkZJR19NVFJSCittb2R1bGVfcGFyYW0obm9tdHJyLCBib29sLCAwKTsK K01PRFVMRV9QQVJNX0RFU0Mobm9tdHJyLCAiYm9vbDogZGlzYWJsZSB1c2Ug b2YgTVRSUiByZWdpc3RlcnMiKTsKKyNlbmRpZgorbW9kdWxlX3BhcmFtKHBh bmVsX3lyZXMsIGludCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKGZvcmNlX2Rm cCwgImludDogc2V0IHBhbmVsIHlyZXMiKTsKK21vZHVsZV9wYXJhbShtb2Rl X29wdGlvbiwgY2hhcnAsIDApOworTU9EVUxFX1BBUk1fREVTQyhtb2RlX29w dGlvbiwgIlNwZWNpZnkgcmVzb2x1dGlvbiBhcyBcIjx4cmVzPng8eXJlcz5b LTxicHA+XVtAPHJlZnJlc2g+XVwiICIpOwpkaWZmIC1OcnUgYS9pbmNsdWRl L2xpbnV4L3BjaV9pZHMuaCBiL2luY2x1ZGUvbGludXgvcGNpX2lkcy5oCi0t LSBhL2luY2x1ZGUvbGludXgvcGNpX2lkcy5oCVdlZCBBdWcgMTMgMjE6MjI6 NTkgMjAwMworKysgYi9pbmNsdWRlL2xpbnV4L3BjaV9pZHMuaAlXZWQgQXVn IDEzIDIxOjIyOjU5IDIwMDMKQEAgLTI1OSw1NSArMjU5LDc3IEBACiAjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfVTEJMHg1NDQ2CiAjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfVTIJMHg1NDRDCiAjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfVTMJMHg1NDUyCi0vKiBS YWRlb24gTTQgKi8KLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X0xFCTB4NGQ0NQotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f TEYJMHg0ZDQ2Ci0vKiBSYWRlb24gTlYtMTAwICovCi0jZGVmaW5lIFBDSV9E RVZJQ0VfSURfQVRJX1JBREVPTl9OMQkweDUxNTkKLSNkZWZpbmUgUENJX0RF VklDRV9JRF9BVElfUkFERU9OX04yCTB4NTE1YQorLyogUmFkZW9uIElHUCAq LworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fQTYJMHg0MTM2 CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9BNwkweDQxMzcK KyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0FECTB4NDE0NAor I2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fQUUJMHg0MTQ1Cisj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9BRgkweDQxNDYKKyNk ZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0FHCTB4NDE0NworI2Rl ZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fQWQJMHg0MTY0CisjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9CNwkweDQyMzcKKyNkZWZp bmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0JCCTB4NDI0MgorI2RlZmlu ZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fQzYJMHg0MzM2CisjZGVmaW5l IFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9DNwkweDQzMzcKKyNkZWZpbmUg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX0Q3CTB4NDMzNworLyogUmFkZW9u IFJWMjUwICg5MDAwKSAqLworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9S QURFT05fSWQJMHg0OTY0CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB REVPTl9JZQkweDQ5NjUKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX0lmCTB4NDk2NgorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURF T05fSWcJMHg0OTY3CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9JbgkweDQ5NmUKKy8qIFJhZGVvbiBNNyAqLworI2RlZmluZSBQQ0lfREVW SUNFX0lEX0FUSV9SQURFT05fTFcJMHg0YzU3CisjZGVmaW5lIFBDSV9ERVZJ Q0VfSURfQVRJX1JBREVPTl9MWAkweDRjNTgKKy8qIFJhZGVvbiBNNiAqLwor I2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTFkJMHg0YzU5Cisj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MWgkweDRjNWEKKyNk ZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xkCTB4NGM2NAorI2Rl ZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTGUJMHg0YzY1CisjZGVm aW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9MZgkweDRjNjYKKyNkZWZp bmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX0xnCTB4NGM2NworI2RlZmlu ZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTG4JMHg0YzZlCisvKiBSYWRl b24gUjMwMCAoOTcwMCkgKi8KKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElf UkFERU9OX05ECTB4NGU0NAorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9S QURFT05fTkUJMHg0ZTQ1CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB REVPTl9ORgkweDRlNDYKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFE RU9OX05HCTB4NGU0NworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURF T05fTkgJMHg0ZTQ4CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9OZAkweDRlNjQKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X05lCTB4NGU2NQorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f TmYJMHg0ZTY2CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9O ZwkweDRlNjcKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05o CTB4NGU2OAogLyogUmFkZW9uIFIxMDAgKi8KICNkZWZpbmUgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX1FECTB4NTE0NAogI2RlZmluZSBQQ0lfREVWSUNF X0lEX0FUSV9SQURFT05fUUUJMHg1MTQ1CiAjZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBREVPTl9RRgkweDUxNDYKICNkZWZpbmUgUENJX0RFVklDRV9J RF9BVElfUkFERU9OX1FHCTB4NTE0NwotLyogUmFkZW9uIFJWMTAwIChWRSkg Ki8KLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FZCTB4NTE1 OQotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUVoJMHg1MTVh CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RSAkweDUxNDgK KyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FJCTB4NTE0OQor I2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUUoJMHg1MTRhCisj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RSwkweDUxNGIKIC8q IFJhZGVvbiBSMjAwICg4NTAwKSAqLwogI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fUUwJMHg1MTRjCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBREVPTl9RTQkweDUxNGQKICNkZWZpbmUgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX1FOCTB4NTE0ZQogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FU SV9SQURFT05fUU8JMHg1MTRmCi0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJ X1JBREVPTl9RbAkweDUxNmMKLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElf UkFERU9OX0JCCTB4NDI0MgogLyogUmFkZW9uIFJWMjAwICg3NTAwKSAqLwog I2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUVcJMHg1MTU3CiAj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9RWAkweDUxNTgKLS8q IFJhZGVvbiBSVjI1MCAoOTAwMCkgKi8KLSNkZWZpbmUgUENJX0RFVklDRV9J RF9BVElfUkFERU9OX0lkCTB4NDk2NAotI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fSWUJMHg0OTY1Ci0jZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBREVPTl9JZgkweDQ5NjYKLSNkZWZpbmUgUENJX0RFVklDRV9JRF9B VElfUkFERU9OX0lnCTB4NDk2NwotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FU SV9SQURFT05fUU0JMHg1MTRkCi0vKiBSYWRlb24gUjMwMCAoOTcwMCkgKi8K LSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05ECTB4NGU0NAot I2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fTkUJMHg0ZTQ1Ci0j ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9ORgkweDRlNDYKLSNk ZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX05HCTB4NGU0NwotLyog UmFkZW9uIE02ICovCi0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9MWQkweDRjNTkKLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X0xaCTB4NGM1YQotLyogUmFkZW9uIE03ICovCi0jZGVmaW5lIFBDSV9ERVZJ Q0VfSURfQVRJX1JBREVPTl9MVwkweDRjNTcKLSNkZWZpbmUgUENJX0RFVklD RV9JRF9BVElfUkFERU9OX0xYCTB4NGM1OAotI2RlZmluZSBQQ0lfREVWSUNF X0lEX0FUSV9SQURFT05fTGQJMHg0OTY0Ci0jZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBREVPTl9MZQkweDQ5NjUKLSNkZWZpbmUgUENJX0RFVklDRV9J RF9BVElfUkFERU9OX0xmCTB4NDk2NgotI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fTGcJMHg0OTY3Ci0vKiBSYWRlb24gKi8KLSNkZWZpbmUg UENJX0RFVklDRV9JRF9BVElfUkFERU9OX1JBCTB4NTE0NAotI2RlZmluZSBQ Q0lfREVWSUNFX0lEX0FUSV9SQURFT05fUkIJMHg1MTQ1Ci0jZGVmaW5lIFBD SV9ERVZJQ0VfSURfQVRJX1JBREVPTl9SQwkweDUxNDYKLSNkZWZpbmUgUENJ X0RFVklDRV9JRF9BVElfUkFERU9OX1JECTB4NTE0NworLyogUmFkZW9uIFJW MTAwIChWRSkgKi8KKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X1FZCTB4NTE1OQorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05f UVoJMHg1MTVhCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9R aAkweDUxNjgKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1Fp CTB4NTE2OQorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fUWoJ MHg1MTZhCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVPTl9Rawkw eDUxNmIKKyNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9OX1FsCTB4 NTE2YworLyogUmFkZW9uIFJTMzAwICovCisjZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBREVPTl9YNAkweDU4MzQKKyNkZWZpbmUgUENJX0RFVklDRV9J RF9BVElfUkFERU9OX1g1CTB4NTgzNQorI2RlZmluZSBQQ0lfREVWSUNFX0lE X0FUSV9SQURFT05fWDYJMHg1ODM2CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURf QVRJX1JBREVPTl9YNwkweDU4MzcKIC8qIFJhZGVvbklHUCAqLwogI2RlZmlu ZSBQQ0lfREVWSUNFX0lEX0FUSV9SQURFT05fSUdQCTB4Q0FCMAogCmRpZmYg LU5ydSBhL2luY2x1ZGUvdmlkZW8vcmFkZW9uLmggYi9pbmNsdWRlL3ZpZGVv L3JhZGVvbi5oCi0tLSBhL2luY2x1ZGUvdmlkZW8vcmFkZW9uLmgJV2VkIEF1 ZyAxMyAyMToyMjo1OSAyMDAzCisrKyBiL2luY2x1ZGUvdmlkZW8vcmFkZW9u LmgJV2VkIEF1ZyAxMyAyMToyMjo1OSAyMDAzCkBAIC04NzIsNSArODcyLDgg QEAKIAogI2RlZmluZSBHVUlfQUNUSVZFCQkJMHg4MDAwMDAwMAogCisvKiB1 c2VkIGJ5IEFUSSBidWcgZml4IGZvciBoYXJkd2FyZSBST00gKi8KKyNkZWZp bmUgUkFERU9OX01QUF9UQl9DT05GSUcgICAgICAgICAgICAweDAxYzAKKwog I2VuZGlmCS8qIF9SQURFT05fSCAqLwogCg== --0-1070153125-1060832618=:25031 Content-Type: application/octet-stream; name="rage128.patch" Content-Transfer-Encoding: base64 Content-Description: rage128.patch Content-Disposition: attachment; filename="rage128.patch" ZGlmZiAtTnJ1IGEvZHJpdmVycy92aWRlby9hdHkvYXR5MTI4ZmIuYyBiL2Ry aXZlcnMvdmlkZW8vYXR5L2F0eTEyOGZiLmMKLS0tIGEvZHJpdmVycy92aWRl by9hdHkvYXR5MTI4ZmIuYwlXZWQgQXVnIDEzIDIxOjIzOjUwIDIwMDMKKysr IGIvZHJpdmVycy92aWRlby9hdHkvYXR5MTI4ZmIuYwlXZWQgQXVnIDEzIDIx OjIzOjUwIDIwMDMKQEAgLTI0LDYgKzI0LDEwIEBACiAgKgkJICBQYXVsIE11 bmR0IAogICoJCSAgCS0gUENJIGhvdHBsdWcKICAqCisgKgkJICBKb24gU21p cmwgPGpvbnNtaXJsQHlhaG9vLmNvbT4KKyAqIAkJCS0gUENJIElEIHVwZGF0 ZQorICogCQkJLSByZXBsYWNlIFJPTSBCSU9TIHNlYXJjaAorICoKICAqICBC YXNlZCBvZmYgb2YgR2VlcnQncyBhdHlmYi5jIGFuZCB2ZmIuYy4KICAqCiAg KiAgVE9ETzoKQEAgLTQzLDYgKzQ3LDcgQEAKIAogI2luY2x1ZGUgPGxpbnV4 L2NvbmZpZy5oPgogI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgorI2luY2x1 ZGUgPGxpbnV4L21vZHVsZXBhcmFtLmg+CiAjaW5jbHVkZSA8bGludXgva2Vy bmVsLmg+CiAjaW5jbHVkZSA8bGludXgvZXJybm8uaD4KICNpbmNsdWRlIDxs aW51eC9zdHJpbmcuaD4KQEAgLTEzNiw4ICsxNDEsMjUgQEAKIC8qIENoaXAg Z2VuZXJhdGlvbnMgKi8KIGVudW0gewogCXJhZ2VfMTI4LAorCXJhZ2VfMTI4 X3BjaSwKIAlyYWdlXzEyOF9wcm8sCi0JcmFnZV9NMworCXJhZ2VfMTI4X3By b19wY2ksCisJcmFnZV9NMywKKwlyYWdlX00zX3BjaSwKKwlyYWdlX000LAor CXJhZ2VfMTI4X3VsdHJhLAorfTsKKworLyogTXVzdCBtYXRjaCBhYm92ZSBl bnVtICovCitzdGF0aWMgY29uc3QgY2hhciAqcjEyOF9mYW1pbHlbXSBfX2Rl dmluaXRkYXRhID0geworCSJBR1AiLAorCSJQQ0kiLAorCSJQUk8gQUdQIiwK KwkiUFJPIFBDSSIsCisJIk0zIEFHUCIsCisJIk0zIFBDSSIsCisJIk00IEFH UCIsCisJIlVsdHJhIEFHUCIsCiB9OwogCiAvKgpAQCAtMTQ5LDMyICsxNzEs MTAwIEBACiAKIC8qIHN1cHBvcnRlZCBSYWdlMTI4IGNoaXBzZXRzICovCiBz dGF0aWMgc3RydWN0IHBjaV9kZXZpY2VfaWQgYXR5MTI4X3BjaV90YmxbXSA9 IHsKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9S QUdFMTI4X1JFLAotCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwg cmFnZV8xMjggfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNF X0lEX0FUSV9SQUdFMTI4X1JGLAotCSAgUENJX0FOWV9JRCwgUENJX0FOWV9J RCwgMCwgMCwgcmFnZV8xMjggfSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQ Q0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JJLAotCSAgUENJX0FOWV9JRCwg UENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjggfSwKLQl7IFBDSV9WRU5ET1Jf SURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JLLAotCSAgUENJ X0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjggfSwKLQl7IFBD SV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JM LAotCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjgg fSwKLQl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9S YWdlMTI4X1BELAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfTEUsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lE LCAwLCAwLCByYWdlX00zX3BjaSB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEks IFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfTEYsCisJICBQQ0lfQU5ZX0lE LCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlX00zIH0sCisJeyBQQ0lfVkVORE9S X0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9NRiwKKwkgIFBD SV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfTTQgfSwKKwl7IFBD SV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X01M LAorCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV9NNCB9 LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfUEEsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBy YWdlXzEyOF9wcm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQUdFMTI4X1BCLAorCSAgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgcmFnZV8xMjhfcHJvIH0sCisJeyBQQ0lfVkVORE9SX0lE X0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QQywKKwkgIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3BybyB9LAorCXsg UENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhf UEQsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEy OF9wcm9fcGNpIH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklD RV9JRF9BVElfUkFHRTEyOF9QRSwKIAkgIFBDSV9BTllfSUQsIFBDSV9BTllf SUQsIDAsIDAsIHJhZ2VfMTI4X3BybyB9LAogCXsgUENJX1ZFTkRPUl9JRF9B VEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUEYsCiAJICBQQ0lfQU5Z X0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOF9wcm8gfSwKLQl7IFBD SV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BS LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfUEcsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCBy YWdlXzEyOF9wcm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQUdFMTI4X1BILAorCSAgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgcmFnZV8xMjhfcHJvIH0sCisJeyBQQ0lfVkVORE9SX0lE X0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QSSwKKwkgIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3BybyB9LAorCXsg UENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhf UEosCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEy OF9wcm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1BLLAorCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwg MCwgMCwgcmFnZV8xMjhfcHJvIH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwg UENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QTCwKKwkgIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3BybyB9LAorCXsgUENJX1ZF TkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUE0sCisJ ICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOF9wcm8g fSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9S QUdFMTI4X1BOLAorCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwg cmFnZV8xMjhfcHJvIH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RF VklDRV9JRF9BVElfUkFHRTEyOF9QTywKIAkgIFBDSV9BTllfSUQsIFBDSV9B TllfSUQsIDAsIDAsIHJhZ2VfMTI4X3BybyB9LAogCXsgUENJX1ZFTkRPUl9J RF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUFAsCisJICBQQ0lf QU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOF9wcm9fcGNpIH0s CisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFH RTEyOF9QUSwKIAkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJh Z2VfMTI4X3BybyB9LAotCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJ Q0VfSURfQVRJX1JBR0UxMjhfVTMsCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwg UENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QUiwKKwkgIFBDSV9BTllfSUQs IFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3Byb19wY2kgfSwKKwl7IFBD SV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BT LAogCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjhf cHJvIH0sCi0JeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9B VElfUkFHRTEyOF9VMSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQUdFMTI4X1BULAogCSAgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgcmFnZV8xMjhfcHJvIH0sCi0JeyBQQ0lfVkVORE9SX0lE X0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9MRSwKLQkgIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfTTMgfSwKLQl7IFBDSV9W RU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X0xGLAot CSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV9NMyB9LAor CXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0Ux MjhfUFUsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdl XzEyOF9wcm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNF X0lEX0FUSV9SQUdFMTI4X1BWLAorCSAgUENJX0FOWV9JRCwgUENJX0FOWV9J RCwgMCwgMCwgcmFnZV8xMjhfcHJvIH0sCisJeyBQQ0lfVkVORE9SX0lEX0FU SSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QVywKKwkgIFBDSV9BTllf SUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3BybyB9LAorCXsgUENJ X1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUFgs CisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOF9w cm8gfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FU SV9SQUdFMTI4X1JFLAorCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwg MCwgcmFnZV8xMjhfcGNpIH0sCisJeyBQQ0lfVkVORE9SX0lEX0FUSSwgUENJ X0RFVklDRV9JRF9BVElfUkFHRTEyOF9SRiwKKwkgIFBDSV9BTllfSUQsIFBD SV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4IH0sCisJeyBQQ0lfVkVORE9SX0lE X0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9SRywKKwkgIFBDSV9B TllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4IH0sCisJeyBQQ0lf VkVORE9SX0lEX0FUSSwgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9SSywK KwkgIFBDSV9BTllfSUQsIFBDSV9BTllfSUQsIDAsIDAsIHJhZ2VfMTI4X3Bj aSB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJQ0VfSURfQVRJ X1JBR0UxMjhfUkwsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5ZX0lELCAwLCAw LCByYWdlXzEyOCB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEksIFBDSV9ERVZJ Q0VfSURfQVRJX1JBR0UxMjhfU0UsCisJICBQQ0lfQU5ZX0lELCBQQ0lfQU5Z X0lELCAwLCAwLCByYWdlXzEyOCB9LAorCXsgUENJX1ZFTkRPUl9JRF9BVEks IFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfU0YsCisJICBQQ0lfQU5ZX0lE LCBQQ0lfQU5ZX0lELCAwLCAwLCByYWdlXzEyOF9wY2kgfSwKKwl7IFBDSV9W RU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1NHLAor CSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjggfSwK Kwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdF MTI4X1NILAorCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFn ZV8xMjggfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lE X0FUSV9SQUdFMTI4X1NLLAorCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwg MCwgMCwgcmFnZV8xMjggfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lf REVWSUNFX0lEX0FUSV9SQUdFMTI4X1NMLAorCSAgUENJX0FOWV9JRCwgUENJ X0FOWV9JRCwgMCwgMCwgcmFnZV8xMjggfSwKKwl7IFBDSV9WRU5ET1JfSURf QVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1NNLAorCSAgUENJX0FO WV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjggfSwKKwl7IFBDSV9W RU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1NOLAor CSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjggfSwK Kwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdF MTI4X1RGLAorCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFn ZV8xMjhfdWx0cmEgfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQUdFMTI4X1RMLAorCSAgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgcmFnZV8xMjhfdWx0cmEgfSwKKwl7IFBDSV9WRU5ET1Jf SURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1RSLAorCSAgUENJ X0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjhfdWx0cmEgfSwK Kwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdF MTI4X1RTLAorCSAgUENJX0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFn ZV8xMjhfdWx0cmEgfSwKKwl7IFBDSV9WRU5ET1JfSURfQVRJLCBQQ0lfREVW SUNFX0lEX0FUSV9SQUdFMTI4X1RULAorCSAgUENJX0FOWV9JRCwgUENJX0FO WV9JRCwgMCwgMCwgcmFnZV8xMjhfdWx0cmEgfSwKKwl7IFBDSV9WRU5ET1Jf SURfQVRJLCBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1RVLAorCSAgUENJ X0FOWV9JRCwgUENJX0FOWV9JRCwgMCwgMCwgcmFnZV8xMjhfdWx0cmEgfSwK IAl7IDAsIH0KIH07CiAKQEAgLTI1MCwxNCArMzQwLDcgQEAKIAkuYWNjZWwJ CT0gRkJfQUNDRUxfQVRJX1JBR0UxMjgsCiB9OwogCi0jaWZkZWYgTU9EVUxF CiBzdGF0aWMgY2hhciAqbW9kZSBfX2luaXRkYXRhID0gTlVMTDsKLSNpZmRl ZiBDT05GSUdfTVRSUgotc3RhdGljIGludCAgbm9tdHJyIF9faW5pdGRhdGEg PSAwOwotI2VuZGlmIC8qIENPTkZJR19NVFJSICovCi0jZW5kaWYgLyogTU9E VUxFICovCi0KLXN0YXRpYyBjaGFyICptb2RlX29wdGlvbiBfX2luaXRkYXRh ID0gTlVMTDsKIAogI2lmZGVmIENPTkZJR19QUENfUE1BQwogc3RhdGljIGlu dCBkZWZhdWx0X3Ztb2RlIF9faW5pdGRhdGEgPSBWTU9ERV8xMDI0Xzc2OF82 MDsKQEAgLTM3NCw3ICs0NTcsNyBAQAogI2lmICFkZWZpbmVkKENPTkZJR19Q UEMpICYmICFkZWZpbmVkKF9fc3BhcmNfXykKIHN0YXRpYyB2b2lkIF9faW5p dCBhdHkxMjhfZ2V0X3BsbGluZm8oc3RydWN0IGF0eTEyOGZiX3BhciAqcGFy LAogCQkJCSAgICAgIHZvaWQgKmJpb3MpOwotc3RhdGljIHZvaWQgX19pbml0 ICphdHkxMjhfbWFwX1JPTShzdHJ1Y3QgcGNpX2RldiAqcGRldik7CitzdGF0 aWMgdm9pZCBfX2luaXQgKmF0eTEyOF9tYXBfUk9NKHN0cnVjdCBwY2lfZGV2 ICpwZGV2LCBjb25zdCBzdHJ1Y3QgYXR5MTI4ZmJfcGFyICpwYXIpOwogc3Rh dGljIHZvaWQgX19pbml0IGF0eTEyOF91bm1hcF9ST00oc3RydWN0IHBjaV9k ZXYgKmRldiwgdm9pZCAqIHJvbSk7CiAjZW5kaWYKIHN0YXRpYyB2b2lkIGF0 eTEyOF90aW1pbmdzKHN0cnVjdCBhdHkxMjhmYl9wYXIgKnBhcik7CkBAIC0x NDEwLDYxICsxNDkzLDYgQEAKIAlyZXR1cm4gMDsKIH0KIAotaW50IF9faW5p dAotYXR5MTI4ZmJfc2V0dXAoY2hhciAqb3B0aW9ucykKLXsKLQljaGFyICp0 aGlzX29wdDsKLQotCWlmICghb3B0aW9ucyB8fCAhKm9wdGlvbnMpCi0JCXJl dHVybiAwOwotCi0Jd2hpbGUgKCh0aGlzX29wdCA9IHN0cnNlcCgmb3B0aW9u cywgIiwiKSkgIT0gTlVMTCkgewotI2lmZGVmIENPTkZJR19QTUFDX1BCT09L Ci0JCWlmICghc3RybmNtcCh0aGlzX29wdCwgImxjZDoiLCA0KSkgewotCQkJ ZGVmYXVsdF9sY2Rfb24gPSBzaW1wbGVfc3RydG91bCh0aGlzX29wdCs0LCBO VUxMLCAwKTsKLQkJCWNvbnRpbnVlOwotCQl9IGVsc2UgaWYgKCFzdHJuY21w KHRoaXNfb3B0LCAiY3J0OiIsIDQpKSB7Ci0JCQlkZWZhdWx0X2NydF9vbiA9 IHNpbXBsZV9zdHJ0b3VsKHRoaXNfb3B0KzQsIE5VTEwsIDApOwotCQkJY29u dGludWU7Ci0JCX0KLSNlbmRpZgotI2lmZGVmIENPTkZJR19NVFJSCi0JCWlm KCFzdHJuY21wKHRoaXNfb3B0LCAibm9tdHJyIiwgNikpIHsKLQkJCW10cnIg PSAwOwotCQkJY29udGludWU7Ci0JCX0KLSNlbmRpZgotI2lmZGVmIENPTkZJ R19QUENfUE1BQwotCQkvKiB2bW9kZSBhbmQgY21vZGUgZGVwcmVjYXRlZCAq LwotCQlpZiAoIXN0cm5jbXAodGhpc19vcHQsICJ2bW9kZToiLCA2KSkgewot CQkJdW5zaWduZWQgaW50IHZtb2RlID0gc2ltcGxlX3N0cnRvdWwodGhpc19v cHQrNiwgTlVMTCwgMCk7Ci0JCQlpZiAodm1vZGUgPiAwICYmIHZtb2RlIDw9 IFZNT0RFX01BWCkKLQkJCQlkZWZhdWx0X3Ztb2RlID0gdm1vZGU7Ci0JCQlj b250aW51ZTsKLQkJfSBlbHNlIGlmICghc3RybmNtcCh0aGlzX29wdCwgImNt b2RlOiIsIDYpKSB7Ci0JCQl1bnNpZ25lZCBpbnQgY21vZGUgPSBzaW1wbGVf c3RydG91bCh0aGlzX29wdCs2LCBOVUxMLCAwKTsKLQkJCXN3aXRjaCAoY21v ZGUpIHsKLQkJCWNhc2UgMDoKLQkJCWNhc2UgODoKLQkJCQlkZWZhdWx0X2Nt b2RlID0gQ01PREVfODsKLQkJCQlicmVhazsKLQkJCWNhc2UgMTU6Ci0JCQlj YXNlIDE2OgotCQkJCWRlZmF1bHRfY21vZGUgPSBDTU9ERV8xNjsKLQkJCQli cmVhazsKLQkJCWNhc2UgMjQ6Ci0JCQljYXNlIDMyOgotCQkJCWRlZmF1bHRf Y21vZGUgPSBDTU9ERV8zMjsKLQkJCQlicmVhazsKLQkJCX0KLQkJCWNvbnRp bnVlOwotCQl9Ci0jZW5kaWYgLyogQ09ORklHX1BQQ19QTUFDICovCi0JCW1v ZGVfb3B0aW9uID0gdGhpc19vcHQ7Ci0JfQotCXJldHVybiAwOwotfQotCiAK IC8qCiAgKiAgSW5pdGlhbGlzYXRpb24KQEAgLTE0NzYsNyArMTUwNCw3IEBA CiAJc3RydWN0IGZiX2luZm8gKmluZm8gPSBwY2lfZ2V0X2RydmRhdGEocGRl dik7CiAJc3RydWN0IGF0eTEyOGZiX3BhciAqcGFyID0gaW5mby0+cGFyOwog CXN0cnVjdCBmYl92YXJfc2NyZWVuaW5mbyB2YXI7Ci0JY2hhciB2aWRlb19j YXJkWzI1XTsKKwljaGFyIHZpZGVvX2NhcmRbREVWSUNFX05BTUVfU0laRV07 CiAJdTggY2hpcF9yZXY7CiAJdTMyIGRhYzsKIApAQCAtMTQ4Niw0MyArMTUx NCwxMyBAQAogCS8qIEdldCB0aGUgY2hpcCByZXZpc2lvbiAqLwogCWNoaXBf cmV2ID0gKGF0eV9sZF9sZTMyKENPTkZJR19DTlRMKSA+PiAxNikgJiAweDFG OwogCi0Jc3dpdGNoIChwZGV2LT5kZXZpY2UpIHsKLQkJY2FzZSBQQ0lfREVW SUNFX0lEX0FUSV9SQUdFMTI4X1JFOgotCQkJc3RyY3B5KHZpZGVvX2NhcmQs ICJSYWdlMTI4IFJFIChQQ0kpIik7Ci0JCQlicmVhazsKLQkJY2FzZSBQQ0lf REVWSUNFX0lEX0FUSV9SQUdFMTI4X1JGOgotCQkJc3RyY3B5KHZpZGVvX2Nh cmQsICJSYWdlMTI4IFJGIChBR1ApIik7Ci0JCQlicmVhazsKLQkJY2FzZSBQ Q0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JLOgotCQkJc3RyY3B5KHZpZGVv X2NhcmQsICJSYWdlMTI4IFJLIChQQ0kpIik7Ci0JCQlicmVhazsKLQkJY2Fz ZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1JMOgotCQkJc3RyY3B5KHZp ZGVvX2NhcmQsICJSYWdlMTI4IFJMIChBR1ApIik7Ci0JCQlicmVhazsKLQkJ Y2FzZSBQQ0lfREVWSUNFX0lEX0FUSV9SYWdlMTI4X1BEOgotCQkJc3RyY3B5 KHZpZGVvX2NhcmQsICJSYWdlMTI4IFBybyBQRCAoUENJKSIpOwotCQkJYnJl YWs7Ci0JCWNhc2UgUENJX0RFVklDRV9JRF9BVElfUkFHRTEyOF9QRjoKLQkJ CXN0cmNweSh2aWRlb19jYXJkLCAiUmFnZTEyOCBQcm8gUEYgKEFHUCkiKTsK LQkJCWJyZWFrOwotCQljYXNlIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhf UFI6Ci0JCQlzdHJjcHkodmlkZW9fY2FyZCwgIlJhZ2UxMjggUHJvIFBSIChQ Q0kpIik7Ci0JCQlicmVhazsKLQkJY2FzZSBQQ0lfREVWSUNFX0lEX0FUSV9S QUdFMTI4X1UzOgotCQkJc3RyY3B5KHZpZGVvX2NhcmQsICJSYWdlMTI4IFBy byBUUiAoQUdQKSIpOwotCQkJYnJlYWs7Ci0JCWNhc2UgUENJX0RFVklDRV9J RF9BVElfUkFHRTEyOF9VMToKLQkJCXN0cmNweSh2aWRlb19jYXJkLCAiUmFn ZTEyOCBQcm8gVEYgKEFHUCkiKTsKLQkJCWJyZWFrOwotCQljYXNlIFBDSV9E RVZJQ0VfSURfQVRJX1JBR0UxMjhfTEU6Ci0JCQlzdHJjcHkodmlkZW9fY2Fy ZCwgIlJhZ2UgTW9iaWxpdHkgTTMgKFBDSSkiKTsKLQkJCWJyZWFrOwotCQlj YXNlIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfTEY6Ci0JCQlzdHJjcHko dmlkZW9fY2FyZCwgIlJhZ2UgTW9iaWxpdHkgTTMgKEFHUCkiKTsKLQkJCWJy ZWFrOwotCQlkZWZhdWx0OgotCQkJcmV0dXJuIC1FTk9ERVY7Ci0JfQorCXN0 cmNweSh2aWRlb19jYXJkLCAiUmFnZTEyOCBYWCAiKTsKKwl2aWRlb19jYXJk WzhdID0gZW50LT5kZXZpY2UgPj4gODsKKwl2aWRlb19jYXJkWzldID0gZW50 LT5kZXZpY2UgJiAweEZGOworCSAgICAKKwkvKiByYW5nZSBjaGVjayB0byBt YWtlIHN1cmUgKi8KKwlpZiAoZW50LT5kcml2ZXJfZGF0YSA8IChzaXplb2Yo cjEyOF9mYW1pbHkpL3NpemVvZihjaGFyICopKSkKKwkgICAgc3RybmNhdCh2 aWRlb19jYXJkLCByMTI4X2ZhbWlseVtlbnQtPmRyaXZlcl9kYXRhXSwgc2l6 ZW9mKHZpZGVvX2NhcmQpKTsKIAogCXByaW50ayhLRVJOX0lORk8gImF0eTEy OGZiOiAlcyBbY2hpcCByZXYgMHgleF0gIiwgdmlkZW9fY2FyZCwgY2hpcF9y ZXYpOwogCkBAIC0xNTM2LDE3ICsxNTM0LDE3IEBACiAJLyogZmlsbCBpbiBp bmZvICovCiAJaW5mby0+ZmJvcHMgPSAmYXR5MTI4ZmJfb3BzOwogCWluZm8t PmZsYWdzID0gRkJJTkZPX0ZMQUdfREVGQVVMVDsKLQorCQogI2lmZGVmIENP TkZJR19QTUFDX1BCT09LCiAJcGFyLT5sY2Rfb24gPSBkZWZhdWx0X2xjZF9v bjsKIAlwYXItPmNydF9vbiA9IGRlZmF1bHRfY3J0X29uOwogI2VuZGlmCi0K KwkKIAl2YXIgPSBkZWZhdWx0X3ZhcjsKICNpZmRlZiBDT05GSUdfUFBDX1BN QUMKIAlpZiAoX21hY2hpbmUgPT0gX01BQ0hfUG1hYykgewotCQlpZiAobW9k ZV9vcHRpb24pIHsKLQkJCWlmICghbWFjX2ZpbmRfbW9kZSgmdmFyLCBpbmZv LCBtb2RlX29wdGlvbiwgOCkpCisJCWlmIChtb2RlKSB7CisJCQlpZiAoIW1h Y19maW5kX21vZGUoJnZhciwgaW5mbywgbW9kZSwgOCkpCiAJCQkJdmFyID0g ZGVmYXVsdF92YXI7CiAJCX0gZWxzZSB7CiAJCQlpZiAoZGVmYXVsdF92bW9k ZSA8PSAwIHx8IGRlZmF1bHRfdm1vZGUgPiBWTU9ERV9NQVgpCkBAIC0xNTc1 LDggKzE1NzMsMTIgQEAKIAkJCWlmIChtYWNoaW5lX2lzX2NvbXBhdGlibGUo IlBvd2VyQm9vazMsMiIpKQogCQkJCWRlZmF1bHRfdm1vZGUgPSBWTU9ERV8x MTUyXzc2OF82MDsKIAkKLQkJCWlmIChkZWZhdWx0X2Ntb2RlIDwgQ01PREVf OCB8fCBkZWZhdWx0X2Ntb2RlID4gQ01PREVfMzIpCi0JCQkJZGVmYXVsdF9j bW9kZSA9IENNT0RFXzg7CisJCQlpZiAoZGVmYXVsdF9jbW9kZSA+IDE2KSAK KwkJCSAgICBkZWZhdWx0X2Ntb2RlID0gQ01PREVfMzI7CisJCQllbHNlIGlm IChkZWZhdWx0X2Ntb2RlID4gOCkgCisJCQkgICAgZGVmYXVsdF9jbW9kZSA9 IENNT0RFXzE2OworCQkJZWxzZSAKKwkJCSAgICBkZWZhdWx0X2Ntb2RlID0g Q01PREVfODsKIAogCQkJaWYgKG1hY192bW9kZV90b192YXIoZGVmYXVsdF92 bW9kZSwgZGVmYXVsdF9jbW9kZSwgJnZhcikpCiAJCQkJdmFyID0gZGVmYXVs dF92YXI7CkBAIC0xNTg0LDkgKzE1ODYsMTAgQEAKIAl9IGVsc2UKICNlbmRp ZiAvKiBDT05GSUdfUFBDX1BNQUMgKi8KIAl7Ci0JCWlmIChmYl9maW5kX21v ZGUoJnZhciwgaW5mbywgbW9kZV9vcHRpb24sIE5VTEwsIDAsCi0JCQkJICZk ZWZhdWx0bW9kZSwgOCkgPT0gMCkKLQkJCXZhciA9IGRlZmF1bHRfdmFyOwor CQlpZiAobW9kZSkKKwkJCWlmIChmYl9maW5kX21vZGUoJnZhciwgaW5mbywg bW9kZSwgTlVMTCwgCisJCQkJCSAwLCAmZGVmYXVsdG1vZGUsIDgpID09IDAp CisJCQkJdmFyID0gZGVmYXVsdF92YXI7CiAJfQogCiAJdmFyLmFjY2VsX2Zs YWdzICY9IH5GQl9BQ0NFTEZfVEVYVDsKQEAgLTE2MTQsNyArMTYxNyw3IEBA CiAJdmFyLmFjdGl2YXRlID0gRkJfQUNUSVZBVEVfTk9XOwogCiAJYXR5MTI4 X2luaXRfZW5naW5lKHBhcik7Ci0KKwkKIAlpZiAocmVnaXN0ZXJfZnJhbWVi dWZmZXIoaW5mbykgPCAwKQogCQlyZXR1cm4gMDsKIApAQCAtMTcxNiw3ICsx NzE5LDcgQEAKIAl9CiAKICNpZiAhZGVmaW5lZChDT05GSUdfUFBDKSAmJiAh ZGVmaW5lZChfX3NwYXJjX18pCi0JaWYgKCEoYmlvcyA9IGF0eTEyOF9tYXBf Uk9NKHBkZXYpKSkKKwlpZiAoIShiaW9zID0gYXR5MTI4X21hcF9ST00ocGRl diwgcGFyKSkpCiAJCXByaW50ayhLRVJOX0lORk8gImF0eTEyOGZiOiBCSU9T IG5vdCBsb2NhdGVkLCBndWVzc2luZyB0aW1pbmdzLlxuIik7CiAJZWxzZSB7 CiAJCXByaW50ayhLRVJOX0lORk8gImF0eTEyOGZiOiBSYWdlMTI4IEJJT1Mg bG9jYXRlZCBhdCAlbHhcbiIsCkBAIC0xNzc2LDggKzE3NzksNiBAQAogCiAJ cmVsZWFzZV9tZW1fcmVnaW9uKHBjaV9yZXNvdXJjZV9zdGFydChwZGV2LCAw KSwKIAkJCSAgIHBjaV9yZXNvdXJjZV9sZW4ocGRldiwgMCkpOwotCXJlbGVh c2VfbWVtX3JlZ2lvbihwY2lfcmVzb3VyY2Vfc3RhcnQocGRldiwgMSksCi0J CQkgICBwY2lfcmVzb3VyY2VfbGVuKHBkZXYsIDEpKTsKIAlyZWxlYXNlX21l bV9yZWdpb24ocGNpX3Jlc291cmNlX3N0YXJ0KHBkZXYsIDIpLAogCQkJICAg cGNpX3Jlc291cmNlX2xlbihwZGV2LCAyKSk7CiAjaWZkZWYgQ09ORklHX1BN QUNfUEJPT0sKQEAgLTE3OTAsMzMgKzE3OTEsNDcgQEAKIAogLyogUFBDIGFu ZCBTcGFyYyBjYW5ub3QgcmVhZCB2aWRlbyBST00gKi8KICNpZiAhZGVmaW5l ZChDT05GSUdfUFBDKSAmJiAhZGVmaW5lZChfX3NwYXJjX18pCi1zdGF0aWMg dm9pZCAqIF9faW5pdCBhdHkxMjhfbWFwX1JPTShzdHJ1Y3QgcGNpX2RldiAq ZGV2KQorc3RhdGljIHZvaWQgKiBfX2luaXQgYXR5MTI4X21hcF9ST00oc3Ry dWN0IHBjaV9kZXYgKmRldiwgY29uc3Qgc3RydWN0IGF0eTEyOGZiX3BhciAq cGFyKQogewogCS8vIElmIHRoaXMgaXMgYSBwcmltYXJ5IGNhcmQsIHRoZXJl IGlzIGEgc2hhZG93IGNvcHkgb2YgdGhlCiAJLy8gUk9NIHNvbWV3aGVyZSBp biB0aGUgZmlyc3QgbWVnLiBXZSB3aWxsIGp1c3QgaWdub3JlIHRoZSBjb3B5 CiAJLy8gYW5kIHVzZSB0aGUgUk9NIGRpcmVjdGx5LgogCQorICAgIAkvKiBG aXggZnJvbSBBVEkgZm9yIHByb2JsZW0gd2l0aCBSYWdlMTI4IGhhcmR3YXJl IG5vdCBsZWF2aW5nIFJPTSBlbmFibGVkICovCisgICAgCXVuc2lnbmVkIGlu dCB0ZW1wOworCXRlbXAgPSBhdHlfbGRfbGUzMihSQUdFMTI4X01QUF9UQl9D T05GSUcpOworCXRlbXAgJj0gMHgwMGZmZmZmZnU7CisJdGVtcCB8PSAweDA0 IDw8IDI0OworCWF0eV9zdF9sZTMyKFJBR0UxMjhfTVBQX1RCX0NPTkZJRywg dGVtcCk7CisJdGVtcCA9IGF0eV9sZF9sZTMyKFJBR0UxMjhfTVBQX1RCX0NP TkZJRyk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgCiAJLy8gbm8gbmVlZCB0byBzZWFy Y2ggZm9yIHRoZSBST00sIGp1c3QgYXNrIHRoZSBjYXJkIHdoZXJlIGl0IGlz LgogCXN0cnVjdCByZXNvdXJjZSAqciA9ICZkZXYtPnJlc291cmNlW1BDSV9S T01fUkVTT1VSQ0VdOwotCXVuc2lnbmVkIGNoYXIgKmFkZHI7CisJdm9pZCAq cm9tOwogCQogCS8vIGFzc2lnbiB0aGUgUk9NIGFuIGFkZHJlc3MgaWYgaXQg ZG9lc24ndCBoYXZlIG9uZQogCWlmIChyLT5zdGFydCA9PSAwKQogCQlwY2lf YXNzaWduX3Jlc291cmNlKGRldiwgUENJX1JPTV9SRVNPVVJDRSk7CiAJCiAJ Ly8gZW5hYmxlIGlmIG5lZWRlZAotCWlmICghKHItPmZsYWdzICYgUENJX1JP TV9BRERSRVNTX0VOQUJMRSkpCisJaWYgKCEoci0+ZmxhZ3MgJiBQQ0lfUk9N X0FERFJFU1NfRU5BQkxFKSkgewogCQlwY2lfd3JpdGVfY29uZmlnX2R3b3Jk KGRldiwgZGV2LT5yb21fYmFzZV9yZWcsIHItPnN0YXJ0IHwgUENJX1JPTV9B RERSRVNTX0VOQUJMRSk7CisJCXItPmZsYWdzIHw9IFBDSV9ST01fQUREUkVT U19FTkFCTEU7CisJfQogCQotCWFkZHIgPSBpb3JlbWFwKHItPnN0YXJ0LCBy LT5lbmQgLSByLT5zdGFydCArIDEpOworCXJvbSA9IGlvcmVtYXAoci0+c3Rh cnQsIHItPmVuZCAtIHItPnN0YXJ0ICsgMSk7CisJaWYgKCFyb20pIHsKKwkJ cHJpbnRrKEtFUk5fRVJSICJhdHkxMjhmYjogUk9NIGZhaWxlZCB0byBtYXBc biIpOworCQlyZXR1cm4gTlVMTDsKKwl9CiAJCiAJLy8gVmVyeSBzaW1wbGUg dGVzdCB0byBtYWtlIHN1cmUgaXQgYXBwZWFyZWQKLQlpZiAoYWRkciAmJiAo KmFkZHIgIT0gMHg1NSkpIHsKLQkJcHJpbnRrKCJhdHkxMjhmYjogSW52YWxp ZCBST00gc2lnbmF0dXJlICV4XG4iLCAqYWRkcik7Ci0JCWlvdW5tYXAoYWRk cik7CisJaWYgKHJlYWRiKHJvbSkgIT0gMHg1NSkgeworCQlwcmludGsoS0VS Tl9FUlIgImF0eTEyOGZiOiBJbnZhbGlkIFJPTSBzaWduYXR1cmUgJXggc2hv dWxkIGJlIDB4NTVcbiIsIHJlYWRiKHJvbSkpOworCQlhdHkxMjhfdW5tYXBf Uk9NKGRldiwgcm9tKTsKIAkJcmV0dXJuIE5VTEw7CiAJfQotCXJldHVybiAo dm9pZCAqKWFkZHI7CisJcmV0dXJuIHJvbTsKIH0KIAogc3RhdGljIHZvaWQg X19pbml0IGF0eTEyOF91bm1hcF9ST00oc3RydWN0IHBjaV9kZXYgKmRldiwg dm9pZCAqIHJvbSkKQEAgLTE4MjYsMTAgKzE4NDEsMTIgQEAKIAkKIAlpb3Vu bWFwKHJvbSk7CiAJCi0Jci0+ZmxhZ3MgJj0gIVBDSV9ST01fQUREUkVTU19F TkFCTEU7CisJci0+ZmxhZ3MgJj0gflBDSV9ST01fQUREUkVTU19FTkFCTEU7 CiAJci0+ZW5kIC09IHItPnN0YXJ0OwogCXItPnN0YXJ0ID0gMDsKKwkvKiBU aGlzIHdpbGwgZGlzYWJsZSBhbmQgc2V0IGFkZHJlc3MgdG8gdW5hc3NpZ25l ZCAqLwogCXBjaV93cml0ZV9jb25maWdfZHdvcmQoZGV2LCBkZXYtPnJvbV9i YXNlX3JlZywgMCk7CisJcmVsZWFzZV9yZXNvdXJjZShyKTsKIH0KIAogc3Rh dGljIHZvaWQgX19pbml0CkBAIC0yMzM5LDEzICsyMzU2LDMwIEBACiAJcGNp X3VucmVnaXN0ZXJfZHJpdmVyKCZhdHkxMjhmYl9kcml2ZXIpOwogfQogCisj aWZkZWYgTU9EVUxFCittb2R1bGVfaW5pdChhdHkxMjhmYl9pbml0KTsKK21v ZHVsZV9leGl0KGF0eTEyOGZiX2V4aXQpOworI2VuZGlmCisKIE1PRFVMRV9B VVRIT1IoIihjKTE5OTktMjAwMyBCcmFkIERvdWdsYXMgPGJyYWRAbmVydW8u Y29tPiIpOwogTU9EVUxFX0RFU0NSSVBUSU9OKCJGQkRldiBkcml2ZXIgZm9y IEFUSSBSYWdlMTI4IC8gUHJvIGNhcmRzIik7CiBNT0RVTEVfTElDRU5TRSgi R1BMIik7Ci1NT0RVTEVfUEFSTShtb2RlLCAicyIpOworbW9kdWxlX3BhcmFt KG1vZGUsIGNoYXJwLCAwKTsKIE1PRFVMRV9QQVJNX0RFU0MobW9kZSwgIlNw ZWNpZnkgcmVzb2x1dGlvbiBhcyBcIjx4cmVzPng8eXJlcz5bLTxicHA+XVtA PHJlZnJlc2g+XVwiICIpOwogI2lmZGVmIENPTkZJR19NVFJSCi1NT0RVTEVf UEFSTShub210cnIsICJpIik7Ci1NT0RVTEVfUEFSTV9ERVNDKG5vbXRyciwg IkRpc2FibGUgTVRSUiBzdXBwb3J0ICgwIG9yIDE9ZGlzYWJsZWQpIChkZWZh dWx0PTApIik7Cittb2R1bGVfcGFyYW1fbmFtZWQobm9tdHJyLCBtdHJyLCBp bnZib29sLCAwKTsKK01PRFVMRV9QQVJNX0RFU0MobXRyciwgImJvb2w6IERp c2FibGUgTVRSUiBzdXBwb3J0ICgwIG9yIDE9ZGlzYWJsZWQpIChkZWZhdWx0 PTApIik7CisjZW5kaWYKKyNpZmRlZiBDT05GSUdfUFBDX1BNQUMKK21vZHVs ZV9wYXJhbV9uYW1lZCh2bW9kZSwgZGVmYXVsdF92bW9kZSwgaW50LCAwKTsK K01PRFVMRV9QQVJNX0RFU0MoZGVmYXVsdF92bW9kZSwgIkRlcHJlY2F0ZWQ6 IHZpZGVvIG1vZGUgaW50Iik7Cittb2R1bGVfcGFyYW1fbmFtZWQoY21vZGUs IGRlZmF1bHRfY21vZGUsIGludCwgMCk7CitNT0RVTEVfUEFSTV9ERVNDKGRl ZmF1bHRfY21vZGUsICJEZXByZWNhdGVkOiBjb2xvciBtb2RlIGludCIpOwor I2VuZGlmCisjaWZkZWYgQ09ORklHX1BNQUNfUEJPT0sKK21vZHVsZV9wYXJh bV9uYW1lZChsY2QsIGRlZmF1bHRfbGNkX29uLCBib29sLCAwKTsKK01PRFVM RV9QQVJNX0RFU0MoZGVmYXVsdF9sY2Rfb24sICJib29sOiBEZWZhdWx0IExD RCBvbiIpOworbW9kdWxlX3BhcmFtX25hbWVkKGNydCwgZGVmYXVsdF9jcnRf b24sIGJvb2wsIDApOworTU9EVUxFX1BBUk1fREVTQyhkZWZhdWx0X2NydF9v biwgImJvb2w6IERlZmF1bHQgQ1JUIG9uIik7CiAjZW5kaWYKIApkaWZmIC1O cnUgYS9pbmNsdWRlL2xpbnV4L3BjaV9pZHMuaCBiL2luY2x1ZGUvbGludXgv cGNpX2lkcy5oCi0tLSBhL2luY2x1ZGUvbGludXgvcGNpX2lkcy5oCVdlZCBB dWcgMTMgMjE6MjM6NTAgMjAwMworKysgYi9pbmNsdWRlL2xpbnV4L3BjaV9p ZHMuaAlXZWQgQXVnIDEzIDIxOjIzOjUwIDIwMDMKQEAgLTIxMywxMiArMjEz LDE4IEBACiAjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJXzI2NFZUCQkweDU2 NTQKICNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfMjY0VlUJCTB4NTY1NQog I2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV8yNjRWVgkJMHg1NjU2CisvKiBS YWdlMTI4IE0zICovCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0Ux MjhfTEUJMHg0YzQ1CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0Ux MjhfTEYJMHg0YzQ2CisvKiBSYWdlMTI4IE00ICovCisjZGVmaW5lIFBDSV9E RVZJQ0VfSURfQVRJX1JBR0UxMjhfTUYJMHg0ZDQ2CisjZGVmaW5lIFBDSV9E RVZJQ0VfSURfQVRJX1JBR0UxMjhfTUwJMHg0ZDRjCiAvKiBSYWdlMTI4IFBy byBHTCAqLwotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SYWdlMTI4X1BB CTB4NTA0MQotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SYWdlMTI4X1BC CTB4NTA0MgotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SYWdlMTI4X1BD CTB4NTA0MwotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SYWdlMTI4X1BE CTB4NTA0NAotI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SYWdlMTI4X1BF CTB4NTA0NQorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BB CTB4NTA0MQorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BC CTB4NTA0MgorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BD CTB4NTA0MworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BE CTB4NTA0NAorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BF CTB4NTA0NQogI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1BG CTB4NTA0NgogLyogUmFnZTEyOCBQcm8gVlIgKi8KICNkZWZpbmUgUENJX0RF VklDRV9JRF9BVElfUkFHRTEyOF9QRwkweDUwNDcKQEAgLTI0MywyNSArMjQ5 LDI3IEBACiAvKiBSYWdlMTI4IEdMICovCiAjZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfUkUJMHg1MjQ1CiAjZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfUkYJMHg1MjQ2Ci0jZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfUkcJMHg1MzRiCi0jZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfUkgJMHg1MzRjCi0jZGVmaW5lIFBDSV9ERVZJQ0Vf SURfQVRJX1JBR0UxMjhfUkkJMHg1MzRkCiAvKiBSYWdlMTI4IFZSICovCisj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUkUJMHg1MjQ1Cisj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUkYJMHg1MjQ2Cisj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUkcJMHg1MjQ3CiAj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUksJMHg1MjRiCiAj ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUkwJMHg1MjRjCi0j ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUk0JMHg1MzQ1Ci0j ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUk4JMHg1MzQ2Ci0j ZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBR0UxMjhfUk8JMHg1MzQ3Ci0v KiBSYWdlMTI4IE0zICovCi0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfTEUJMHg0YzQ1Ci0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfTEYJMHg0YzQ2CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfU0UJMHg1MzQ1CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfU0YJMHg1MzQ2CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfU0cJMHg1MzQ3CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfU0gJMHg1MzQ4CisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfU0sJMHg1MzRiCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfU0wJMHg1MzRjCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfU00JMHg1MzRkCisjZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JB R0UxMjhfU04JMHg1MzRlCiAvKiBSYWdlMTI4IFBybyBVbHRyYSAqLwotI2Rl ZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1UxCTB4NTQ0NgotI2Rl ZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1UyCTB4NTQ0QwotI2Rl ZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4X1UzCTB4NTQ1MgotLyog UmFkZW9uIE00ICovCi0jZGVmaW5lIFBDSV9ERVZJQ0VfSURfQVRJX1JBREVP Tl9MRQkweDRkNDUKLSNkZWZpbmUgUENJX0RFVklDRV9JRF9BVElfUkFERU9O X0xGCTB4NGQ0NgorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4 X1RGCTB4NTQ0NgorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4 X1RMCTB4NTQ0QworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4 X1RSCTB4NTQ1MgorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4 X1RTCTB4NTQ1MworI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4 X1RUCTB4NTQ1NAorI2RlZmluZSBQQ0lfREVWSUNFX0lEX0FUSV9SQUdFMTI4 X1RVCTB4NTQ1NQogLyogUmFkZW9uIE5WLTEwMCAqLwogI2RlZmluZSBQQ0lf REVWSUNFX0lEX0FUSV9SQURFT05fTjEJMHg1MTU5CiAjZGVmaW5lIFBDSV9E RVZJQ0VfSURfQVRJX1JBREVPTl9OMgkweDUxNWEKZGlmZiAtTnJ1IGEvaW5j bHVkZS92aWRlby9hdHkxMjguaCBiL2luY2x1ZGUvdmlkZW8vYXR5MTI4LmgK LS0tIGEvaW5jbHVkZS92aWRlby9hdHkxMjguaAlXZWQgQXVnIDEzIDIxOjIz OjUwIDIwMDMKKysrIGIvaW5jbHVkZS92aWRlby9hdHkxMjguaAlXZWQgQXVn IDEzIDIxOjIzOjUwIDIwMDMKQEAgLTQxNiw0ICs0MTYsNyBAQAogCiAjZGVm aW5lIFBNSV9QTVNDUl9SRUcJCQkJMHg2MAogCisvKiB1c2VkIGJ5IEFUSSBi dWcgZml4IGZvciBoYXJkd2FyZSBST00gKi8KKyNkZWZpbmUgUkFHRTEyOF9N UFBfVEJfQ09ORklHICAgICAgICAgICAgCTB4MDFjMAorCiAjZW5kaWYJCQkJ LyogUkVHX1JBR0UxMjhfSCAqLwo= --0-1070153125-1060832618=:25031-- ------------------------------------------------------- This SF.Net email sponsored by: Free pre-built ASP.NET sites including Data Reports, E-commerce, Portals, and Forums are available now. Download today and enter to win an XBOX or Visual Studio .NET. http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01