From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S262033AbTLBLos (ORCPT ); Tue, 2 Dec 2003 06:44:48 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S261901AbTLBLos (ORCPT ); Tue, 2 Dec 2003 06:44:48 -0500 Received: from rcpt-expgw.biglobe.ne.jp ([202.225.89.163]:42956 "EHLO rcpt-expgw.biglobe.ne.jp") by vger.kernel.org with ESMTP id S262048AbTLBLoG (ORCPT ); Tue, 2 Dec 2003 06:44:06 -0500 X-Biglobe-Sender: Date: Tue, 02 Dec 2003 20:44:06 +0900 From: Stephen Lee To: Harald Welte , netfilter-devel@lists.netfilter.org, linux-kernel@vger.kernel.org Subject: Re: Extremely slow network with e1000 & ip_conntrack In-Reply-To: <20031130155236.GJ26749@obroa-skai.de.gnumonks.org> References: <20031130074532.0105.MUKANSAI@emailplus.org> <20031130155236.GJ26749@obroa-skai.de.gnumonks.org> Message-Id: <20031202204404.9ADD.MUKANSAI@emailplus.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------_3FCC71CA9AD3022520F8_MULTIPART_MIXED_" Content-Transfer-Encoding: 7bit X-Mailer: Becky! ver. 2.05.11 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org --------_3FCC71CA9AD3022520F8_MULTIPART_MIXED_ Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Harald Welte wrote: > > Well, the problem is certainly triggered by connection tracking. Thanks for the reply, and for forwarding to lkml. To recap for lkml (I do not subscribe to lkml, so please CC either me or netfilter-devel): e1000 becomes extremely slow for traffic generated from the box. I tested by issuing an ftp from another box and doing a "get", but other kind of traffic (scp, samba) are similarly affected. The speed drops to ~40kbps. This happens when ip_conntrack is loaded, even with no rule in the tables. Unloading the module makes the speed recover, but I'd like to make use of state tracking. There is no change in the "put" direction. I didn't notice any change in speed of traffic routed through the box, though I did not test that case sufficiently. This bug does not appear on all chips supported by the driver. Please see previous email for the 2 cases I tested. > If I understood correctly: > > 1) stock 2.5.43: OK > 2) stock 2.5.44: PROBLEM > 3) stock 2.5.44 with the driver from 2.5.43: PROBLEM > 4) stock 2.5.44 with ip_conntrack.o from 2.5.43: PROBLEM Correct. The problem exists still on 2.6.0-test11. > So it has to be a change outside of the e1000 driver and outside of the > connection tracking code. > > In the meantime, I think taking the discussion back to lkml seems to be > a good idea - since neither e1000 nor ip_conntrack code seem to be the > direct cause of the problem. After lots of trial-and-error, I can make the problem disappear by backing these 4 files out from 2.5.44 to their 2.5.43 versions. net/ipv4/icmp.c net/ipv4/ip_output.c net/ipv4/raw.c net/ipv4/udp.c Note that in both cases I needed to #include rather than in net/ipv4/raw.c to get it to compile. I have attached my .config, though note that I have reproduced the problem on another motherboard also (intel P4 on 865G running 2.6.0-test11). gcc 3.3.2 was used on the P3 box and 3.2.1 was used on the P4 box. Regards, Stephen --------_3FCC71CA9AD3022520F8_MULTIPART_MIXED_ Content-Type: application/octet-stream; name="config" Content-Disposition: attachment; filename="config" Content-Transfer-Encoding: base64 IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CiMKQ09O RklHX1g4Nj15CiMgQ09ORklHX1NCVVMgaXMgbm90IHNldApDT05GSUdfVUlEMTY9eQpDT05GSUdf R0VORVJJQ19JU0FfRE1BPXkKCiMKIyBDb2RlIG1hdHVyaXR5IGxldmVsIG9wdGlvbnMKIwpDT05G SUdfRVhQRVJJTUVOVEFMPXkKCiMKIyBHZW5lcmFsIHNldHVwCiMKQ09ORklHX05FVD15CkNPTkZJ R19TWVNWSVBDPXkKQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1Q9eQpDT05GSUdfU1lTQ1RMPXkKCiMK IyBMb2FkYWJsZSBtb2R1bGUgc3VwcG9ydAojCkNPTkZJR19NT0RVTEVTPXkKIyBDT05GSUdfTU9E VkVSU0lPTlMgaXMgbm90IHNldApDT05GSUdfS01PRD15CgojCiMgUHJvY2Vzc29yIHR5cGUgYW5k IGZlYXR1cmVzCiMKIyBDT05GSUdfTTM4NiBpcyBub3Qgc2V0CiMgQ09ORklHX000ODYgaXMgbm90 IHNldAojIENPTkZJR19NNTg2IGlzIG5vdCBzZXQKIyBDT05GSUdfTTU4NlRTQyBpcyBub3Qgc2V0 CiMgQ09ORklHX001ODZNTVggaXMgbm90IHNldAojIENPTkZJR19NNjg2IGlzIG5vdCBzZXQKQ09O RklHX01QRU5USVVNSUlJPXkKIyBDT05GSUdfTVBFTlRJVU00IGlzIG5vdCBzZXQKIyBDT05GSUdf TUs2IGlzIG5vdCBzZXQKIyBDT05GSUdfTUs3IGlzIG5vdCBzZXQKIyBDT05GSUdfTUVMQU4gaXMg bm90IHNldAojIENPTkZJR19NQ1JVU09FIGlzIG5vdCBzZXQKIyBDT05GSUdfTVdJTkNISVBDNiBp cyBub3Qgc2V0CiMgQ09ORklHX01XSU5DSElQMiBpcyBub3Qgc2V0CiMgQ09ORklHX01XSU5DSElQ M0QgaXMgbm90IHNldAojIENPTkZJR19NQ1lSSVhJSUkgaXMgbm90IHNldApDT05GSUdfWDg2X1dQ X1dPUktTX09LPXkKQ09ORklHX1g4Nl9JTlZMUEc9eQpDT05GSUdfWDg2X0NNUFhDSEc9eQpDT05G SUdfWDg2X1hBREQ9eQpDT05GSUdfWDg2X0JTV0FQPXkKQ09ORklHX1g4Nl9QT1BBRF9PSz15CiMg Q09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0sgaXMgbm90IHNldApDT05GSUdfUldTRU1fWENI R0FERF9BTEdPUklUSE09eQpDT05GSUdfWDg2X0wxX0NBQ0hFX1NISUZUPTUKQ09ORklHX1g4Nl9U U0M9eQpDT05GSUdfWDg2X0dPT0RfQVBJQz15CkNPTkZJR19YODZfVVNFX1BQUk9fQ0hFQ0tTVU09 eQpDT05GSUdfSFVHRVRMQl9QQUdFPXkKIyBDT05GSUdfU01QIGlzIG5vdCBzZXQKQ09ORklHX1BS RUVNUFQ9eQpDT05GSUdfWDg2X1VQX0FQSUM9eQpDT05GSUdfWDg2X1VQX0lPQVBJQz15CkNPTkZJ R19YODZfTE9DQUxfQVBJQz15CkNPTkZJR19YODZfSU9fQVBJQz15CkNPTkZJR19YODZfTUNFPXkK IyBDT05GSUdfWDg2X01DRV9OT05GQVRBTCBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9NQ0VfUDRU SEVSTUFMIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1BVX0ZSRVEgaXMgbm90IHNldAojIENPTkZJR19U T1NISUJBIGlzIG5vdCBzZXQKIyBDT05GSUdfSThLIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlDUk9D T0RFIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9NU1I9bQpDT05GSUdfWDg2X0NQVUlEPW0KIyBDT05G SUdfRUREIGlzIG5vdCBzZXQKQ09ORklHX05PSElHSE1FTT15CiMgQ09ORklHX0hJR0hNRU00RyBp cyBub3Qgc2V0CiMgQ09ORklHX0hJR0hNRU02NEcgaXMgbm90IHNldAojIENPTkZJR19NQVRIX0VN VUxBVElPTiBpcyBub3Qgc2V0CkNPTkZJR19NVFJSPXkKQ09ORklHX0hBVkVfREVDX0xPQ0s9eQoK IwojIFBvd2VyIG1hbmFnZW1lbnQgb3B0aW9ucyAoQUNQSSwgQVBNKQojCgojCiMgQUNQSSBTdXBw b3J0CiMKQ09ORklHX0FDUEk9eQojIENPTkZJR19BQ1BJX0hUX09OTFkgaXMgbm90IHNldApDT05G SUdfQUNQSV9CT09UPXkKIyBDT05GSUdfQUNQSV9TTEVFUCBpcyBub3Qgc2V0CkNPTkZJR19BQ1BJ X0FDPXkKQ09ORklHX0FDUElfQkFUVEVSWT15CkNPTkZJR19BQ1BJX0JVVFRPTj15CkNPTkZJR19B Q1BJX0ZBTj15CkNPTkZJR19BQ1BJX1BST0NFU1NPUj15CkNPTkZJR19BQ1BJX1RIRVJNQUw9eQoj IENPTkZJR19BQ1BJX1RPU0hJQkEgaXMgbm90IHNldAojIENPTkZJR19BQ1BJX0RFQlVHIGlzIG5v dCBzZXQKQ09ORklHX0FDUElfQk9PVD15CkNPTkZJR19BQ1BJX0JVUz15CkNPTkZJR19BQ1BJX0lO VEVSUFJFVEVSPXkKQ09ORklHX0FDUElfRUM9eQpDT05GSUdfQUNQSV9QT1dFUj15CkNPTkZJR19B Q1BJX1BDST15CiMgQ09ORklHX0FDUElfU0xFRVAgaXMgbm90IHNldApDT05GSUdfQUNQSV9TWVNU RU09eQpDT05GSUdfUE09eQojIENPTkZJR19BUE0gaXMgbm90IHNldAoKIwojIEJ1cyBvcHRpb25z IChQQ0ksIFBDTUNJQSwgRUlTQSwgTUNBLCBJU0EpCiMKQ09ORklHX1BDST15CiMgQ09ORklHX1BD SV9HT0JJT1MgaXMgbm90IHNldAojIENPTkZJR19QQ0lfR09ESVJFQ1QgaXMgbm90IHNldApDT05G SUdfUENJX0dPQU5ZPXkKQ09ORklHX1BDSV9CSU9TPXkKQ09ORklHX1BDSV9ESVJFQ1Q9eQojIENP TkZJR19TQ3gyMDAgaXMgbm90IHNldAojIENPTkZJR19QQ0lfTkFNRVMgaXMgbm90IHNldAojIENP TkZJR19JU0EgaXMgbm90IHNldAojIENPTkZJR19FSVNBIGlzIG5vdCBzZXQKIyBDT05GSUdfTUNB IGlzIG5vdCBzZXQKQ09ORklHX0hPVFBMVUc9eQoKIwojIFBDTUNJQS9DYXJkQnVzIHN1cHBvcnQK IwojIENPTkZJR19QQ01DSUEgaXMgbm90IHNldAoKIwojIFBDSSBIb3RwbHVnIFN1cHBvcnQKIwoj IENPTkZJR19IT1RQTFVHX1BDSSBpcyBub3Qgc2V0CiMgQ09ORklHX0hPVFBMVUdfUENJX0NPTVBB USBpcyBub3Qgc2V0CiMgQ09ORklHX0hPVFBMVUdfUENJX0NPTVBBUV9OVlJBTSBpcyBub3Qgc2V0 CiMgQ09ORklHX0hPVFBMVUdfUENJX0lCTSBpcyBub3Qgc2V0CgojCiMgRXhlY3V0YWJsZSBmaWxl IGZvcm1hdHMKIwpDT05GSUdfS0NPUkVfRUxGPXkKIyBDT05GSUdfS0NPUkVfQU9VVCBpcyBub3Qg c2V0CiMgQ09ORklHX0JJTkZNVF9BT1VUIGlzIG5vdCBzZXQKQ09ORklHX0JJTkZNVF9FTEY9eQpD T05GSUdfQklORk1UX01JU0M9bQoKIwojIE1lbW9yeSBUZWNobm9sb2d5IERldmljZXMgKE1URCkK IwojIENPTkZJR19NVEQgaXMgbm90IHNldAoKIwojIFBhcmFsbGVsIHBvcnQgc3VwcG9ydAojCiMg Q09ORklHX1BBUlBPUlQgaXMgbm90IHNldAoKIwojIFBsdWcgYW5kIFBsYXkgY29uZmlndXJhdGlv bgojCiMgQ09ORklHX1BOUCBpcyBub3Qgc2V0CiMgQ09ORklHX1BOUF9OQU1FUyBpcyBub3Qgc2V0 CiMgQ09ORklHX1BOUF9ERUJVRyBpcyBub3Qgc2V0CgojCiMgUHJvdG9jb2xzCiMKIyBDT05GSUdf SVNBUE5QIGlzIG5vdCBzZXQKIyBDT05GSUdfUE5QQklPUyBpcyBub3Qgc2V0CgojCiMgQmxvY2sg ZGV2aWNlcwojCkNPTkZJR19CTEtfREVWX0ZEPXkKIyBDT05GSUdfQkxLX0RFVl9YRCBpcyBub3Qg c2V0CiMgQ09ORklHX1BBUklERSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19DUFFfREEgaXMgbm90 IHNldAojIENPTkZJR19CTEtfQ1BRX0NJU1NfREEgaXMgbm90IHNldAojIENPTkZJR19DSVNTX1ND U0lfVEFQRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfREFDOTYwIGlzIG5vdCBzZXQKIyBD T05GSUdfQkxLX0RFVl9VTUVNIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfTE9PUD15CiMgQ09O RklHX0JMS19ERVZfTkJEIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9SQU0gaXMgbm90IHNl dAojIENPTkZJR19CTEtfREVWX0lOSVRSRCBpcyBub3Qgc2V0CkNPTkZJR19MQkQ9eQoKIwojIEFU QS9BVEFQSS9NRk0vUkxMIGRldmljZSBzdXBwb3J0CiMKQ09ORklHX0lERT15CgojCiMgSURFLCBB VEEgYW5kIEFUQVBJIEJsb2NrIGRldmljZXMKIwpDT05GSUdfQkxLX0RFVl9JREU9eQoKIwojIFBs ZWFzZSBzZWUgRG9jdW1lbnRhdGlvbi9pZGUudHh0IGZvciBoZWxwL2luZm8gb24gSURFIGRyaXZl cwojCiMgQ09ORklHX0JMS19ERVZfSERfSURFIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9I RCBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX0lERURJU0s9eQpDT05GSUdfSURFRElTS19NVUxU SV9NT0RFPXkKIyBDT05GSUdfSURFRElTS19TVFJPS0UgaXMgbm90IHNldAojIENPTkZJR19CTEtf REVWX0lERUNTIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfSURFQ0Q9eQojIENPTkZJR19CTEtf REVWX0lERUZMT1BQWSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSURFU0NTSSBpcyBub3Qg c2V0CiMgQ09ORklHX0lERV9UQVNLX0lPQ1RMIGlzIG5vdCBzZXQKCiMKIyBJREUgY2hpcHNldCBz dXBwb3J0L2J1Z2ZpeGVzCiMKIyBDT05GSUdfQkxLX0RFVl9DTUQ2NDAgaXMgbm90IHNldAojIENP TkZJR19CTEtfREVWX0NNRDY0MF9FTkhBTkNFRCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZf SVNBUE5QIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfSURFUENJPXkKQ09ORklHX0JMS19ERVZf R0VORVJJQz15CkNPTkZJR19JREVQQ0lfU0hBUkVfSVJRPXkKQ09ORklHX0JMS19ERVZfSURFRE1B X1BDST15CkNPTkZJR19CTEtfREVWX0lERV9UQ1E9eQpDT05GSUdfQkxLX0RFVl9JREVfVENRX0RF RkFVTFQ9eQpDT05GSUdfQkxLX0RFVl9JREVfVENRX0RFUFRIPTMyCiMgQ09ORklHX0JMS19ERVZf T0ZGQk9BUkQgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0lERURNQV9GT1JDRUQgaXMgbm90 IHNldApDT05GSUdfSURFRE1BX1BDSV9BVVRPPXkKIyBDT05GSUdfSURFRE1BX09OTFlESVNLIGlz IG5vdCBzZXQKQ09ORklHX0JMS19ERVZfSURFRE1BPXkKIyBDT05GSUdfSURFRE1BX1BDSV9XSVAg aXMgbm90IHNldAojIENPTkZJR19JREVETUFfTkVXX0RSSVZFX0xJU1RJTkdTIGlzIG5vdCBzZXQK Q09ORklHX0JMS19ERVZfQURNQT15CiMgQ09ORklHX0JMS19ERVZfQUVDNjJYWCBpcyBub3Qgc2V0 CiMgQ09ORklHX0JMS19ERVZfQUxJMTVYMyBpcyBub3Qgc2V0CiMgQ09ORklHX1dEQ19BTEkxNVgz IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9BTUQ3NFhYIGlzIG5vdCBzZXQKIyBDT05GSUdf QU1ENzRYWF9PVkVSUklERSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfQ01ENjRYIGlzIG5v dCBzZXQKIyBDT05GSUdfQkxLX0RFVl9DWTgyQzY5MyBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19E RVZfQ1M1NTMwIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9IUFQzNFggaXMgbm90IHNldAoj IENPTkZJR19IUFQzNFhfQVVUT0RNQSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfSFBUMzY2 IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9QSUlYIGlzIG5vdCBzZXQKIyBDT05GSUdfQkxL X0RFVl9ORk9SQ0UgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX05TODc0MTUgaXMgbm90IHNl dAojIENPTkZJR19CTEtfREVWX09QVEk2MjEgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1BE QzIwMlhYX09MRCBpcyBub3Qgc2V0CiMgQ09ORklHX1BEQzIwMlhYX0JVUlNUIGlzIG5vdCBzZXQK IyBDT05GSUdfQkxLX0RFVl9QREMyMDJYWF9ORVcgaXMgbm90IHNldAojIENPTkZJR19QREMyMDJY WF9GT1JDRSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfUloxMDAwIGlzIG5vdCBzZXQKIyBD T05GSUdfQkxLX0RFVl9TVldLUyBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU0lJTUFHRSBp cyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfU0lTNTUxMyBpcyBub3Qgc2V0CiMgQ09ORklHX0JM S19ERVZfU0xDOTBFNjYgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qg c2V0CkNPTkZJR19CTEtfREVWX1ZJQTgyQ1hYWD15CiMgQ09ORklHX0lERV9DSElQU0VUUyBpcyBu b3Qgc2V0CkNPTkZJR19JREVETUFfQVVUTz15CiMgQ09ORklHX0lERURNQV9JVkIgaXMgbm90IHNl dAojIENPTkZJR19ETUFfTk9OUENJIGlzIG5vdCBzZXQKQ09ORklHX0JMS19ERVZfSURFX01PREVT PXkKCiMKIyBTQ1NJIGRldmljZSBzdXBwb3J0CiMKIyBDT05GSUdfU0NTSSBpcyBub3Qgc2V0Cgoj CiMgTXVsdGktZGV2aWNlIHN1cHBvcnQgKFJBSUQgYW5kIExWTSkKIwpDT05GSUdfTUQ9eQpDT05G SUdfQkxLX0RFVl9NRD15CiMgQ09ORklHX01EX0xJTkVBUiBpcyBub3Qgc2V0CiMgQ09ORklHX01E X1JBSUQwIGlzIG5vdCBzZXQKQ09ORklHX01EX1JBSUQxPXkKIyBDT05GSUdfTURfUkFJRDUgaXMg bm90IHNldAojIENPTkZJR19NRF9NVUxUSVBBVEggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVW X0xWTSBpcyBub3Qgc2V0CgojCiMgRnVzaW9uIE1QVCBkZXZpY2Ugc3VwcG9ydAojCiMgQ09ORklH X0ZVU0lPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZVU0lPTl9CT09UIGlzIG5vdCBzZXQKIyBDT05G SUdfRlVTSU9OX0lTRU5TRSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZVU0lPTl9DVEwgaXMgbm90IHNl dAojIENPTkZJR19GVVNJT05fTEFOIGlzIG5vdCBzZXQKCiMKIyBJRUVFIDEzOTQgKEZpcmVXaXJl KSBzdXBwb3J0IChFWFBFUklNRU5UQUwpCiMKIyBDT05GSUdfSUVFRTEzOTQgaXMgbm90IHNldAoK IwojIEkyTyBkZXZpY2Ugc3VwcG9ydAojCiMgQ09ORklHX0kyTyBpcyBub3Qgc2V0CiMgQ09ORklH X0kyT19QQ0kgaXMgbm90IHNldAojIENPTkZJR19JMk9fQkxPQ0sgaXMgbm90IHNldAojIENPTkZJ R19JMk9fTEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJPX1NDU0kgaXMgbm90IHNldAojIENPTkZJ R19JMk9fUFJPQyBpcyBub3Qgc2V0CgojCiMgTmV0d29ya2luZyBvcHRpb25zCiMKQ09ORklHX1BB Q0tFVD15CkNPTkZJR19QQUNLRVRfTU1BUD15CkNPTkZJR19ORVRMSU5LX0RFVj15CkNPTkZJR19O RVRGSUxURVI9eQojIENPTkZJR19ORVRGSUxURVJfREVCVUcgaXMgbm90IHNldApDT05GSUdfRklM VEVSPXkKQ09ORklHX1VOSVg9eQpDT05GSUdfSU5FVD15CkNPTkZJR19JUF9NVUxUSUNBU1Q9eQpD T05GSUdfSVBfQURWQU5DRURfUk9VVEVSPXkKQ09ORklHX0lQX01VTFRJUExFX1RBQkxFUz15CkNP TkZJR19JUF9ST1VURV9GV01BUks9eQpDT05GSUdfSVBfUk9VVEVfTkFUPXkKQ09ORklHX0lQX1JP VVRFX01VTFRJUEFUSD15CkNPTkZJR19JUF9ST1VURV9UT1M9eQpDT05GSUdfSVBfUk9VVEVfVkVS Qk9TRT15CiMgQ09ORklHX0lQX1JPVVRFX0xBUkdFX1RBQkxFUyBpcyBub3Qgc2V0CiMgQ09ORklH X0lQX1BOUCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfSVBJUD15CkNPTkZJR19ORVRfSVBHUkU9eQpD T05GSUdfTkVUX0lQR1JFX0JST0FEQ0FTVD15CiMgQ09ORklHX0lQX01ST1VURSBpcyBub3Qgc2V0 CiMgQ09ORklHX0FSUEQgaXMgbm90IHNldApDT05GSUdfSU5FVF9FQ049eQpDT05GSUdfU1lOX0NP T0tJRVM9eQoKIwojICAgSVA6IE5ldGZpbHRlciBDb25maWd1cmF0aW9uCiMKQ09ORklHX0lQX05G X0NPTk5UUkFDSz1tCkNPTkZJR19JUF9ORl9GVFA9bQpDT05GSUdfSVBfTkZfSVJDPW0KIyBDT05G SUdfSVBfTkZfUVVFVUUgaXMgbm90IHNldApDT05GSUdfSVBfTkZfSVBUQUJMRVM9bQpDT05GSUdf SVBfTkZfTUFUQ0hfTElNSVQ9bQpDT05GSUdfSVBfTkZfTUFUQ0hfTUFDPW0KQ09ORklHX0lQX05G X01BVENIX1BLVFRZUEU9bQpDT05GSUdfSVBfTkZfTUFUQ0hfTUFSSz1tCkNPTkZJR19JUF9ORl9N QVRDSF9NVUxUSVBPUlQ9bQpDT05GSUdfSVBfTkZfTUFUQ0hfVE9TPW0KQ09ORklHX0lQX05GX01B VENIX0VDTj1tCkNPTkZJR19JUF9ORl9NQVRDSF9EU0NQPW0KQ09ORklHX0lQX05GX01BVENIX0FI X0VTUD1tCkNPTkZJR19JUF9ORl9NQVRDSF9MRU5HVEg9bQpDT05GSUdfSVBfTkZfTUFUQ0hfVFRM PW0KQ09ORklHX0lQX05GX01BVENIX1RDUE1TUz1tCkNPTkZJR19JUF9ORl9NQVRDSF9IRUxQRVI9 bQpDT05GSUdfSVBfTkZfTUFUQ0hfU1RBVEU9bQpDT05GSUdfSVBfTkZfTUFUQ0hfQ09OTlRSQUNL PW0KQ09ORklHX0lQX05GX01BVENIX1VOQ0xFQU49bQpDT05GSUdfSVBfTkZfTUFUQ0hfT1dORVI9 bQpDT05GSUdfSVBfTkZfRklMVEVSPW0KQ09ORklHX0lQX05GX1RBUkdFVF9SRUpFQ1Q9bQpDT05G SUdfSVBfTkZfVEFSR0VUX01JUlJPUj1tCkNPTkZJR19JUF9ORl9OQVQ9bQpDT05GSUdfSVBfTkZf TkFUX05FRURFRD15CkNPTkZJR19JUF9ORl9UQVJHRVRfTUFTUVVFUkFERT1tCkNPTkZJR19JUF9O Rl9UQVJHRVRfUkVESVJFQ1Q9bQojIENPTkZJR19JUF9ORl9OQVRfTE9DQUwgaXMgbm90IHNldApD T05GSUdfSVBfTkZfTkFUX1NOTVBfQkFTSUM9bQpDT05GSUdfSVBfTkZfTkFUX0lSQz1tCkNPTkZJ R19JUF9ORl9OQVRfRlRQPW0KQ09ORklHX0lQX05GX01BTkdMRT1tCkNPTkZJR19JUF9ORl9UQVJH RVRfVE9TPW0KQ09ORklHX0lQX05GX1RBUkdFVF9FQ049bQpDT05GSUdfSVBfTkZfVEFSR0VUX0RT Q1A9bQpDT05GSUdfSVBfTkZfVEFSR0VUX01BUks9bQpDT05GSUdfSVBfTkZfVEFSR0VUX0xPRz1t CkNPTkZJR19JUF9ORl9UQVJHRVRfVUxPRz1tCkNPTkZJR19JUF9ORl9UQVJHRVRfVENQTVNTPW0K IyBDT05GSUdfSVBfTkZfQVJQVEFCTEVTIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfTkZfQ09NUEFU X0lQQ0hBSU5TIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBfTkZfQ09NUEFUX0lQRldBRE0gaXMgbm90 IHNldApDT05GSUdfSVBWNj15CgojCiMgICBJUHY2OiBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgoj CiMgQ09ORklHX0lQNl9ORl9RVUVVRSBpcyBub3Qgc2V0CkNPTkZJR19JUDZfTkZfSVBUQUJMRVM9 bQpDT05GSUdfSVA2X05GX01BVENIX0xJTUlUPW0KQ09ORklHX0lQNl9ORl9NQVRDSF9NQUM9bQpD T05GSUdfSVA2X05GX01BVENIX01VTFRJUE9SVD1tCkNPTkZJR19JUDZfTkZfTUFUQ0hfT1dORVI9 bQpDT05GSUdfSVA2X05GX01BVENIX01BUks9bQpDT05GSUdfSVA2X05GX01BVENIX0xFTkdUSD1t CkNPTkZJR19JUDZfTkZfTUFUQ0hfRVVJNjQ9bQpDT05GSUdfSVA2X05GX0ZJTFRFUj1tCkNPTkZJ R19JUDZfTkZfVEFSR0VUX0xPRz1tCkNPTkZJR19JUDZfTkZfTUFOR0xFPW0KQ09ORklHX0lQNl9O Rl9UQVJHRVRfTUFSSz1tCgojCiMgICAgU0NUUCBDb25maWd1cmF0aW9uIChFWFBFUklNRU5UQUwp CiMKQ09ORklHX0lQVjZfU0NUUF9fPXkKIyBDT05GSUdfSVBfU0NUUCBpcyBub3Qgc2V0CiMgQ09O RklHX0FUTSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZMQU5fODAyMVEgaXMgbm90IHNldAojIENPTkZJ R19MTEMgaXMgbm90IHNldAojIENPTkZJR19JUFggaXMgbm90IHNldAojIENPTkZJR19BVEFMSyBp cyBub3Qgc2V0CiMgQ09ORklHX0RFVl9BUFBMRVRBTEsgaXMgbm90IHNldAojIENPTkZJR19ERUNO RVQgaXMgbm90IHNldAojIENPTkZJR19CUklER0UgaXMgbm90IHNldAojIENPTkZJR19YMjUgaXMg bm90IHNldAojIENPTkZJR19MQVBCIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0RJVkVSVCBpcyBu b3Qgc2V0CiMgQ09ORklHX0VDT05FVCBpcyBub3Qgc2V0CiMgQ09ORklHX1dBTl9ST1VURVIgaXMg bm90IHNldAojIENPTkZJR19ORVRfRkFTVFJPVVRFIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0hX X0ZMT1dDT05UUk9MIGlzIG5vdCBzZXQKCiMKIyBRb1MgYW5kL29yIGZhaXIgcXVldWVpbmcKIwpD T05GSUdfTkVUX1NDSEVEPXkKQ09ORklHX05FVF9TQ0hfQ0JRPW0KQ09ORklHX05FVF9TQ0hfSFRC PW0KQ09ORklHX05FVF9TQ0hfQ1NaPW0KQ09ORklHX05FVF9TQ0hfUFJJTz1tCkNPTkZJR19ORVRf U0NIX1JFRD1tCkNPTkZJR19ORVRfU0NIX1NGUT1tCkNPTkZJR19ORVRfU0NIX1RFUUw9bQpDT05G SUdfTkVUX1NDSF9UQkY9bQpDT05GSUdfTkVUX1NDSF9HUkVEPW0KIyBDT05GSUdfTkVUX1NDSF9E U01BUksgaXMgbm90IHNldApDT05GSUdfTkVUX1NDSF9JTkdSRVNTPW0KQ09ORklHX05FVF9RT1M9 eQpDT05GSUdfTkVUX0VTVElNQVRPUj15CkNPTkZJR19ORVRfQ0xTPXkKQ09ORklHX05FVF9DTFNf VENJTkRFWD1tCkNPTkZJR19ORVRfQ0xTX1JPVVRFND1tCkNPTkZJR19ORVRfQ0xTX1JPVVRFPXkK Q09ORklHX05FVF9DTFNfRlc9bQpDT05GSUdfTkVUX0NMU19VMzI9bQpDT05GSUdfTkVUX0NMU19S U1ZQPW0KQ09ORklHX05FVF9DTFNfUlNWUDY9bQpDT05GSUdfTkVUX0NMU19QT0xJQ0U9eQoKIwoj IE5ldHdvcmsgZGV2aWNlIHN1cHBvcnQKIwpDT05GSUdfTkVUREVWSUNFUz15CgojCiMgQVJDbmV0 IGRldmljZXMKIwojIENPTkZJR19BUkNORVQgaXMgbm90IHNldApDT05GSUdfRFVNTVk9bQojIENP TkZJR19CT05ESU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKQ09O RklHX1RVTj1tCiMgQ09ORklHX0VUSEVSVEFQIGlzIG5vdCBzZXQKCiMKIyBFdGhlcm5ldCAoMTAg b3IgMTAwTWJpdCkKIwpDT05GSUdfTkVUX0VUSEVSTkVUPXkKIyBDT05GSUdfU1VOTEFOQ0UgaXMg bm90IHNldAojIENPTkZJR19IQVBQWU1FQUwgaXMgbm90IHNldAojIENPTkZJR19TVU5CTUFDIGlz IG5vdCBzZXQKIyBDT05GSUdfU1VOUUUgaXMgbm90IHNldAojIENPTkZJR19TVU5HRU0gaXMgbm90 IHNldAojIENPTkZJR19ORVRfVkVORE9SXzNDT00gaXMgbm90IHNldAojIENPTkZJR19MQU5DRSBp cyBub3Qgc2V0CiMgQ09ORklHX05FVF9WRU5ET1JfU01DIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVU X1ZFTkRPUl9SQUNBTCBpcyBub3Qgc2V0CgojCiMgVHVsaXAgZmFtaWx5IG5ldHdvcmsgZGV2aWNl IHN1cHBvcnQKIwpDT05GSUdfTkVUX1RVTElQPXkKIyBDT05GSUdfREUyMTA0WCBpcyBub3Qgc2V0 CkNPTkZJR19UVUxJUD1tCiMgQ09ORklHX1RVTElQX01XSSBpcyBub3Qgc2V0CiMgQ09ORklHX1RV TElQX01NSU8gaXMgbm90IHNldAojIENPTkZJR19ERTRYNSBpcyBub3Qgc2V0CiMgQ09ORklHX1dJ TkJPTkRfODQwIGlzIG5vdCBzZXQKIyBDT05GSUdfRE05MTAyIGlzIG5vdCBzZXQKIyBDT05GSUdf SFAxMDAgaXMgbm90IHNldAojIENPTkZJR19ORVRfSVNBIGlzIG5vdCBzZXQKQ09ORklHX05FVF9Q Q0k9eQojIENPTkZJR19QQ05FVDMyIGlzIG5vdCBzZXQKIyBDT05GSUdfQURBUFRFQ19TVEFSRklS RSBpcyBub3Qgc2V0CiMgQ09ORklHX0FQUklDT1QgaXMgbm90IHNldAojIENPTkZJR19DUzg5eDAg aXMgbm90IHNldAojIENPTkZJR19ER1JTIGlzIG5vdCBzZXQKIyBDT05GSUdfRUVQUk8xMDAgaXMg bm90IHNldApDT05GSUdfRTEwMD1tCiMgQ09ORklHX0xORTM5MCBpcyBub3Qgc2V0CiMgQ09ORklH X0ZFQUxOWCBpcyBub3Qgc2V0CkNPTkZJR19OQVRTRU1JPW0KIyBDT05GSUdfTkUyS19QQ0kgaXMg bm90IHNldAojIENPTkZJR19ORTMyMTAgaXMgbm90IHNldAojIENPTkZJR19FUzMyMTAgaXMgbm90 IHNldAojIENPTkZJR184MTM5Q1AgaXMgbm90IHNldApDT05GSUdfODEzOVRPTz1tCiMgQ09ORklH XzgxMzlUT09fUElPIGlzIG5vdCBzZXQKIyBDT05GSUdfODEzOVRPT19UVU5FX1RXSVNURVIgaXMg bm90IHNldAojIENPTkZJR184MTM5VE9PXzgxMjkgaXMgbm90IHNldAojIENPTkZJR184MTM5X09M RF9SWF9SRVNFVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NJUzkwMCBpcyBub3Qgc2V0CiMgQ09ORklH X0VQSUMxMDAgaXMgbm90IHNldAojIENPTkZJR19TVU5EQU5DRSBpcyBub3Qgc2V0CiMgQ09ORklH X1NVTkRBTkNFX01NSU8gaXMgbm90IHNldAojIENPTkZJR19UTEFOIGlzIG5vdCBzZXQKIyBDT05G SUdfVklBX1JISU5FIGlzIG5vdCBzZXQKIyBDT05GSUdfVklBX1JISU5FX01NSU8gaXMgbm90IHNl dAojIENPTkZJR19ORVRfUE9DS0VUIGlzIG5vdCBzZXQKCiMKIyBFdGhlcm5ldCAoMTAwMCBNYml0 KQojCiMgQ09ORklHX0FDRU5JQyBpcyBub3Qgc2V0CiMgQ09ORklHX0RMMksgaXMgbm90IHNldApD T05GSUdfRTEwMDA9bQpDT05GSUdfRTEwMDBfTkFQST15CiMgQ09ORklHX01ZUklfU0JVUyBpcyBu b3Qgc2V0CiMgQ09ORklHX05TODM4MjAgaXMgbm90IHNldAojIENPTkZJR19IQU1BQ0hJIGlzIG5v dCBzZXQKIyBDT05GSUdfWUVMTE9XRklOIGlzIG5vdCBzZXQKIyBDT05GSUdfU0s5OExJTiBpcyBu b3Qgc2V0CiMgQ09ORklHX1RJR09OMyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZEREkgaXMgbm90IHNl dAojIENPTkZJR19ISVBQSSBpcyBub3Qgc2V0CiMgQ09ORklHX1BMSVAgaXMgbm90IHNldApDT05G SUdfUFBQPW0KQ09ORklHX1BQUF9NVUxUSUxJTks9eQojIENPTkZJR19QUFBfRklMVEVSIGlzIG5v dCBzZXQKQ09ORklHX1BQUF9BU1lOQz1tCkNPTkZJR19QUFBfU1lOQ19UVFk9bQpDT05GSUdfUFBQ X0RFRkxBVEU9bQpDT05GSUdfUFBQX0JTRENPTVA9bQpDT05GSUdfUFBQT0U9bQpDT05GSUdfU0xJ UD1tCkNPTkZJR19TTElQX0NPTVBSRVNTRUQ9eQpDT05GSUdfU0xJUF9TTUFSVD15CiMgQ09ORklH X1NMSVBfTU9ERV9TTElQNiBpcyBub3Qgc2V0CgojCiMgV2lyZWxlc3MgTEFOIChub24taGFtcmFk aW8pCiMKIyBDT05GSUdfTkVUX1JBRElPIGlzIG5vdCBzZXQKCiMKIyBUb2tlbiBSaW5nIGRldmlj ZXMKIwojIENPTkZJR19UUiBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9GQyBpcyBub3Qgc2V0CiMg Q09ORklHX1JDUENJIGlzIG5vdCBzZXQKQ09ORklHX1NIQVBFUj1tCgojCiMgV2FuIGludGVyZmFj ZXMKIwojIENPTkZJR19XQU4gaXMgbm90IHNldAoKIwojIEFtYXRldXIgUmFkaW8gc3VwcG9ydAoj CiMgQ09ORklHX0hBTVJBRElPIGlzIG5vdCBzZXQKCiMKIyBJckRBIChpbmZyYXJlZCkgc3VwcG9y dAojCiMgQ09ORklHX0lSREEgaXMgbm90IHNldAoKIwojIElTRE4gc3Vic3lzdGVtCiMKIyBDT05G SUdfSVNETl9CT09MIGlzIG5vdCBzZXQKCiMKIyBUZWxlcGhvbnkgU3VwcG9ydAojCiMgQ09ORklH X1BIT05FIGlzIG5vdCBzZXQKIyBDT05GSUdfUEhPTkVfSVhKIGlzIG5vdCBzZXQKIyBDT05GSUdf UEhPTkVfSVhKX1BDTUNJQSBpcyBub3Qgc2V0CgojCiMgSW5wdXQgZGV2aWNlIHN1cHBvcnQKIwpD T05GSUdfSU5QVVQ9eQoKIwojIFVzZXJsYW5kIGludGVyZmFjZXMKIwpDT05GSUdfSU5QVVRfTU9V U0VERVY9eQpDT05GSUdfSU5QVVRfTU9VU0VERVZfUFNBVVg9eQpDT05GSUdfSU5QVVRfTU9VU0VE RVZfU0NSRUVOX1g9MTAyNApDT05GSUdfSU5QVVRfTU9VU0VERVZfU0NSRUVOX1k9NzY4CkNPTkZJ R19JTlBVVF9KT1lERVY9bQojIENPTkZJR19JTlBVVF9UU0RFViBpcyBub3Qgc2V0CkNPTkZJR19J TlBVVF9FVkRFVj1tCiMgQ09ORklHX0lOUFVUX0VWQlVHIGlzIG5vdCBzZXQKCiMKIyBJbnB1dCBJ L08gZHJpdmVycwojCiMgQ09ORklHX0dBTUVQT1JUIGlzIG5vdCBzZXQKQ09ORklHX1NPVU5EX0dB TUVQT1JUPXkKIyBDT05GSUdfR0FNRVBPUlRfTlM1NTggaXMgbm90IHNldAojIENPTkZJR19HQU1F UE9SVF9MNCBpcyBub3Qgc2V0CiMgQ09ORklHX0dBTUVQT1JUX0VNVTEwSzEgaXMgbm90IHNldAoj IENPTkZJR19HQU1FUE9SVF9WT1JURVggaXMgbm90IHNldAojIENPTkZJR19HQU1FUE9SVF9GTTgw MSBpcyBub3Qgc2V0CiMgQ09ORklHX0dBTUVQT1JUX0NTNDYxeCBpcyBub3Qgc2V0CkNPTkZJR19T RVJJTz15CkNPTkZJR19TRVJJT19JODA0Mj15CiMgQ09ORklHX1NFUklPX1NFUlBPUlQgaXMgbm90 IHNldAojIENPTkZJR19TRVJJT19DVDgyQzcxMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFUklPX1BB UktCRCBpcyBub3Qgc2V0CgojCiMgSW5wdXQgRGV2aWNlIERyaXZlcnMKIwpDT05GSUdfSU5QVVRf S0VZQk9BUkQ9eQpDT05GSUdfS0VZQk9BUkRfQVRLQkQ9eQojIENPTkZJR19LRVlCT0FSRF9TVU5L QkQgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiMgQ09ORklH X0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CkNPTkZJR19JTlBVVF9NT1VTRT15CkNPTkZJR19N T1VTRV9QUzI9eQojIENPTkZJR19NT1VTRV9TRVJJQUwgaXMgbm90IHNldAojIENPTkZJR19NT1VT RV9JTlBPUlQgaXMgbm90IHNldAojIENPTkZJR19NT1VTRV9MT0dJQk0gaXMgbm90IHNldAojIENP TkZJR19NT1VTRV9QQzExMFBBRCBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0pPWVNUSUNLIGlz IG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQU5BTE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9Z U1RJQ0tfQTNEIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQURJIGlzIG5vdCBzZXQKIyBD T05GSUdfSk9ZU1RJQ0tfQ09CUkEgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19HRjJLIGlz IG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUCBpcyBub3Qgc2V0CiMgQ09ORklHX0pPWVNU SUNLX0dSSVBfTVAgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19HVUlMTEVNT1QgaXMgbm90 IHNldAojIENPTkZJR19KT1lTVElDS19JTlRFUkFDVCBpcyBub3Qgc2V0CiMgQ09ORklHX0pPWVNU SUNLX1NJREVXSU5ERVIgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19UTURDIGlzIG5vdCBz ZXQKIyBDT05GSUdfSk9ZU1RJQ0tfSUZPUkNFIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tf V0FSUklPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0pPWVNUSUNLX01BR0VMTEFOIGlzIG5vdCBzZXQK IyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VPUkIgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19T UEFDRUJBTEwgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19TVElOR0VSIGlzIG5vdCBzZXQK IyBDT05GSUdfSk9ZU1RJQ0tfVFdJRERMRVIgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19E QjkgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19HQU1FQ09OIGlzIG5vdCBzZXQKIyBDT05G SUdfSk9ZU1RJQ0tfVFVSQk9HUkFGWCBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0pPWURVTVAg aXMgbm90IHNldAojIENPTkZJR19JTlBVVF9UT1VDSFNDUkVFTiBpcyBub3Qgc2V0CiMgQ09ORklH X1RPVUNIU0NSRUVOX0dVTlpFIGlzIG5vdCBzZXQKQ09ORklHX0lOUFVUX01JU0M9eQpDT05GSUdf SU5QVVRfUENTUEtSPXkKIyBDT05GSUdfSU5QVVRfVUlOUFVUIGlzIG5vdCBzZXQKCiMKIyBDaGFy YWN0ZXIgZGV2aWNlcwojCkNPTkZJR19WVD15CkNPTkZJR19WVF9DT05TT0xFPXkKQ09ORklHX0hX X0NPTlNPTEU9eQojIENPTkZJR19TRVJJQUxfTk9OU1RBTkRBUkQgaXMgbm90IHNldAoKIwojIFNl cmlhbCBkcml2ZXJzCiMKQ09ORklHX1NFUklBTF84MjUwPXkKQ09ORklHX1NFUklBTF84MjUwX0NP TlNPTEU9eQojIENPTkZJR19TRVJJQUxfODI1MF9DUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFUklB TF84MjUwX0VYVEVOREVEIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VSSUFMXzgyNTBfTUFOWV9QT1JU UyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFUklBTF84MjUwX1NIQVJFX0lSUSBpcyBub3Qgc2V0CiMg Q09ORklHX1NFUklBTF84MjUwX0RFVEVDVF9JUlEgaXMgbm90IHNldAojIENPTkZJR19TRVJJQUxf ODI1MF9NVUxUSVBPUlQgaXMgbm90IHNldAojIENPTkZJR19TRVJJQUxfODI1MF9SU0EgaXMgbm90 IHNldAoKIwojIE5vbi04MjUwIHNlcmlhbCBwb3J0IHN1cHBvcnQKIwpDT05GSUdfU0VSSUFMX0NP UkU9eQpDT05GSUdfU0VSSUFMX0NPUkVfQ09OU09MRT15CkNPTkZJR19VTklYOThfUFRZUz15CkNP TkZJR19VTklYOThfUFRZX0NPVU5UPTI1NgoKIwojIEkyQyBzdXBwb3J0CiMKIyBDT05GSUdfSTJD IGlzIG5vdCBzZXQKCiMKIyBNaWNlCiMKIyBDT05GSUdfQlVTTU9VU0UgaXMgbm90IHNldAojIENP TkZJR19RSUMwMl9UQVBFIGlzIG5vdCBzZXQKCiMKIyBXYXRjaGRvZyBDYXJkcwojCiMgQ09ORklH X1dBVENIRE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5URUxfUk5HIGlzIG5vdCBzZXQKIyBDT05G SUdfQU1EX1JORyBpcyBub3Qgc2V0CiMgQ09ORklHX05WUkFNIGlzIG5vdCBzZXQKQ09ORklHX1JU Qz15CiMgQ09ORklHX0RUTEsgaXMgbm90IHNldAojIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0CiMg Q09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKIyBDT05GSUdfU09OWVBJIGlzIG5vdCBzZXQKCiMK IyBGdGFwZSwgdGhlIGZsb3BweSB0YXBlIGRldmljZSBkcml2ZXIKIwojIENPTkZJR19GVEFQRSBp cyBub3Qgc2V0CkNPTkZJR19BR1A9eQojIENPTkZJR19BR1BfSU5URUwgaXMgbm90IHNldAojIENP TkZJR19BR1BfSTgxMCBpcyBub3Qgc2V0CkNPTkZJR19BR1BfVklBPXkKIyBDT05GSUdfQUdQX0FN RCBpcyBub3Qgc2V0CiMgQ09ORklHX0FHUF9TSVMgaXMgbm90IHNldAojIENPTkZJR19BR1BfQUxJ IGlzIG5vdCBzZXQKIyBDT05GSUdfQUdQX1NXT1JLUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FHUF9B TURfODE1MSBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTSBpcyBub3Qgc2V0CiMgQ09ORklHX01XQVZF IGlzIG5vdCBzZXQKIyBDT05GSUdfU0N4MjAwX0dQSU8gaXMgbm90IHNldAojIENPTkZJR19SQVdf RFJJVkVSIGlzIG5vdCBzZXQKCiMKIyBNdWx0aW1lZGlhIGRldmljZXMKIwojIENPTkZJR19WSURF T19ERVYgaXMgbm90IHNldAoKIwojIEZpbGUgc3lzdGVtcwojCiMgQ09ORklHX1FVT1RBIGlzIG5v dCBzZXQKIyBDT05GSUdfUUZNVF9WMSBpcyBub3Qgc2V0CiMgQ09ORklHX1FGTVRfVjIgaXMgbm90 IHNldAojIENPTkZJR19BVVRPRlNfRlMgaXMgbm90IHNldApDT05GSUdfQVVUT0ZTNF9GUz15CkNP TkZJR19SRUlTRVJGU19GUz15CiMgQ09ORklHX1JFSVNFUkZTX0NIRUNLIGlzIG5vdCBzZXQKIyBD T05GSUdfUkVJU0VSRlNfUFJPQ19JTkZPIGlzIG5vdCBzZXQKIyBDT05GSUdfQURGU19GUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0FERlNfRlNfUlcgaXMgbm90IHNldAojIENPTkZJR19BRkZTX0ZTIGlz IG5vdCBzZXQKIyBDT05GSUdfSEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQkZTX0ZTIGlzIG5v dCBzZXQKQ09ORklHX0VYVDNfRlM9eQpDT05GSUdfSkJEPXkKIyBDT05GSUdfSkJEX0RFQlVHIGlz IG5vdCBzZXQKQ09ORklHX0ZBVF9GUz15CiMgQ09ORklHX01TRE9TX0ZTIGlzIG5vdCBzZXQKIyBD T05GSUdfVU1TRE9TX0ZTIGlzIG5vdCBzZXQKQ09ORklHX1ZGQVRfRlM9eQojIENPTkZJR19FRlNf RlMgaXMgbm90IHNldAojIENPTkZJR19KRkZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSkZGUzJf RlMgaXMgbm90IHNldAojIENPTkZJR19DUkFNRlMgaXMgbm90IHNldApDT05GSUdfVE1QRlM9eQpD T05GSUdfUkFNRlM9eQpDT05GSUdfSVNPOTY2MF9GUz15CkNPTkZJR19KT0xJRVQ9eQojIENPTkZJ R19aSVNPRlMgaXMgbm90IHNldAojIENPTkZJR19KRlNfRlMgaXMgbm90IHNldAojIENPTkZJR19K RlNfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19KRlNfU1RBVElTVElDUyBpcyBub3Qgc2V0CiMg Q09ORklHX01JTklYX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfVlhGU19GUyBpcyBub3Qgc2V0CiMg Q09ORklHX05URlNfRlMgaXMgbm90IHNldAojIENPTkZJR19OVEZTX0RFQlVHIGlzIG5vdCBzZXQK IyBDT05GSUdfTlRGU19SVyBpcyBub3Qgc2V0CiMgQ09ORklHX0hQRlNfRlMgaXMgbm90IHNldApD T05GSUdfUFJPQ19GUz15CiMgQ09ORklHX0RFVkZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVW RlNfTU9VTlQgaXMgbm90IHNldAojIENPTkZJR19ERVZGU19ERUJVRyBpcyBub3Qgc2V0CkNPTkZJ R19ERVZQVFNfRlM9eQojIENPTkZJR19RTlg0RlNfRlMgaXMgbm90IHNldAojIENPTkZJR19RTlg0 RlNfUlcgaXMgbm90IHNldAojIENPTkZJR19ST01GU19GUyBpcyBub3Qgc2V0CkNPTkZJR19FWFQy X0ZTPXkKIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1VERl9GUyBpcyBub3Qg c2V0CiMgQ09ORklHX1VERl9SVyBpcyBub3Qgc2V0CiMgQ09ORklHX1VGU19GUyBpcyBub3Qgc2V0 CiMgQ09ORklHX1VGU19GU19XUklURSBpcyBub3Qgc2V0CiMgQ09ORklHX1hGU19GUyBpcyBub3Qg c2V0CiMgQ09ORklHX1hGU19SVCBpcyBub3Qgc2V0CiMgQ09ORklHX1hGU19RVU9UQSBpcyBub3Qg c2V0CgojCiMgTmV0d29yayBGaWxlIFN5c3RlbXMKIwojIENPTkZJR19DT0RBX0ZTIGlzIG5vdCBz ZXQKIyBDT05GSUdfSU5URVJNRVpaT19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX05GU19GUyBpcyBu b3Qgc2V0CiMgQ09ORklHX05GU19WMyBpcyBub3Qgc2V0CiMgQ09ORklHX05GU19WNCBpcyBub3Qg c2V0CiMgQ09ORklHX1JPT1RfTkZTIGlzIG5vdCBzZXQKIyBDT05GSUdfTkZTRCBpcyBub3Qgc2V0 CiMgQ09ORklHX05GU0RfVjMgaXMgbm90IHNldAojIENPTkZJR19ORlNEX1Y0IGlzIG5vdCBzZXQK IyBDT05GSUdfTkZTRF9UQ1AgaXMgbm90IHNldAojIENPTkZJR19TVU5SUEMgaXMgbm90IHNldAoj IENPTkZJR19MT0NLRCBpcyBub3Qgc2V0CiMgQ09ORklHX0VYUE9SVEZTIGlzIG5vdCBzZXQKIyBD T05GSUdfQ0lGUyBpcyBub3Qgc2V0CkNPTkZJR19TTUJfRlM9bQojIENPTkZJR19TTUJfTkxTX0RF RkFVTFQgaXMgbm90IHNldAojIENPTkZJR19OQ1BfRlMgaXMgbm90IHNldAojIENPTkZJR19OQ1BG U19QQUNLRVRfU0lHTklORyBpcyBub3Qgc2V0CiMgQ09ORklHX05DUEZTX0lPQ1RMX0xPQ0tJTkcg aXMgbm90IHNldAojIENPTkZJR19OQ1BGU19TVFJPTkcgaXMgbm90IHNldAojIENPTkZJR19OQ1BG U19ORlNfTlMgaXMgbm90IHNldAojIENPTkZJR19OQ1BGU19PUzJfTlMgaXMgbm90IHNldAojIENP TkZJR19OQ1BGU19TTUFMTERPUyBpcyBub3Qgc2V0CiMgQ09ORklHX05DUEZTX05MUyBpcyBub3Qg c2V0CiMgQ09ORklHX05DUEZTX0VYVFJBUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FGU19GUyBpcyBu b3Qgc2V0CiMgQ09ORklHX1pJU09GU19GUyBpcyBub3Qgc2V0CgojCiMgUGFydGl0aW9uIFR5cGVz CiMKQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CiMgQ09ORklHX0FDT1JOX1BBUlRJVElPTiBp cyBub3Qgc2V0CiMgQ09ORklHX09TRl9QQVJUSVRJT04gaXMgbm90IHNldAojIENPTkZJR19BTUlH QV9QQVJUSVRJT04gaXMgbm90IHNldAojIENPTkZJR19BVEFSSV9QQVJUSVRJT04gaXMgbm90IHNl dAojIENPTkZJR19NQUNfUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09ORklHX01TRE9TX1BBUlRJVElP Tj15CkNPTkZJR19CU0RfRElTS0xBQkVMPXkKIyBDT05GSUdfTUlOSVhfU1VCUEFSVElUSU9OIGlz IG5vdCBzZXQKIyBDT05GSUdfU09MQVJJU19YODZfUEFSVElUSU9OIGlzIG5vdCBzZXQKIyBDT05G SUdfVU5JWFdBUkVfRElTS0xBQkVMIGlzIG5vdCBzZXQKQ09ORklHX0xETV9QQVJUSVRJT049eQoj IENPTkZJR19MRE1fREVCVUcgaXMgbm90IHNldAojIENPTkZJR19TR0lfUEFSVElUSU9OIGlzIG5v dCBzZXQKIyBDT05GSUdfVUxUUklYX1BBUlRJVElPTiBpcyBub3Qgc2V0CiMgQ09ORklHX1NVTl9Q QVJUSVRJT04gaXMgbm90IHNldAojIENPTkZJR19FRklfUEFSVElUSU9OIGlzIG5vdCBzZXQKQ09O RklHX1NNQl9OTFM9eQpDT05GSUdfTkxTPXkKCiMKIyBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAoj CkNPTkZJR19OTFNfREVGQVVMVD0iaXNvODg1OS0xIgpDT05GSUdfTkxTX0NPREVQQUdFXzQzNz1t CiMgQ09ORklHX05MU19DT0RFUEFHRV83MzcgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBB R0VfNzc1IGlzIG5vdCBzZXQKQ09ORklHX05MU19DT0RFUEFHRV84NTA9bQojIENPTkZJR19OTFNf Q09ERVBBR0VfODUyIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1NSBpcyBub3Qg c2V0CiMgQ09ORklHX05MU19DT0RFUEFHRV84NTcgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09E RVBBR0VfODYwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MSBpcyBub3Qgc2V0 CiMgQ09ORklHX05MU19DT0RFUEFHRV84NjIgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBB R0VfODYzIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NCBpcyBub3Qgc2V0CiMg Q09ORklHX05MU19DT0RFUEFHRV84NjUgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0Vf ODY2IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2OSBpcyBub3Qgc2V0CkNPTkZJ R19OTFNfQ09ERVBBR0VfOTM2PW0KQ09ORklHX05MU19DT0RFUEFHRV85NTA9bQpDT05GSUdfTkxT X0NPREVQQUdFXzkzMj1tCkNPTkZJR19OTFNfQ09ERVBBR0VfOTQ5PW0KIyBDT05GSUdfTkxTX0NP REVQQUdFXzg3NCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzggaXMgbm90IHNldAoj IENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RFUEFH RV8xMjUxIGlzIG5vdCBzZXQKQ09ORklHX05MU19JU084ODU5XzE9bQojIENPTkZJR19OTFNfSVNP ODg1OV8yIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfMyBpcyBub3Qgc2V0CiMgQ09O RklHX05MU19JU084ODU5XzQgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV81IGlzIG5v dCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084 ODU5XzcgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV85IGlzIG5vdCBzZXQKIyBDT05G SUdfTkxTX0lTTzg4NTlfMTMgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV8xNCBpcyBu b3Qgc2V0CkNPTkZJR19OTFNfSVNPODg1OV8xNT1tCiMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90 IHNldAojIENPTkZJR19OTFNfS09JOF9VIGlzIG5vdCBzZXQKQ09ORklHX05MU19VVEY4PW0KCiMK IyBDb25zb2xlIGRyaXZlcnMKIwpDT05GSUdfVkdBX0NPTlNPTEU9eQpDT05GSUdfVklERU9fU0VM RUNUPXkKIyBDT05GSUdfTURBX0NPTlNPTEUgaXMgbm90IHNldAoKIwojIEZyYW1lLWJ1ZmZlciBz dXBwb3J0CiMKQ09ORklHX0ZCPXkKQ09ORklHX0RVTU1ZX0NPTlNPTEU9eQojIENPTkZJR19GQl9D TEdFTiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1BNMiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0NZ QkVSMjAwMCBpcyBub3Qgc2V0CkNPTkZJR19GQl9WRVNBPXkKIyBDT05GSUdfRkJfVkdBMTYgaXMg bm90IHNldAojIENPTkZJR19GQl9IR0EgaXMgbm90IHNldApDT05GSUdfVklERU9fU0VMRUNUPXkK IyBDT05GSUdfRkJfUklWQSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX01BVFJPWCBpcyBub3Qgc2V0 CiMgQ09ORklHX0ZCX0FUWSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1JBREVPTiBpcyBub3Qgc2V0 CiMgQ09ORklHX0ZCX0FUWTEyOCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0 CiMgQ09ORklHX0ZCX05FT01BR0lDIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfM0RGWCBpcyBub3Qg c2V0CiMgQ09ORklHX0ZCX1ZPT0RPTzEgaXMgbm90IHNldAojIENPTkZJR19GQl9UUklERU5UIGlz IG5vdCBzZXQKIyBDT05GSUdfRkJfUE0zIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfVklSVFVBTCBp cyBub3Qgc2V0CiMgQ09ORklHX0ZCQ09OX0FEVkFOQ0VEIGlzIG5vdCBzZXQKQ09ORklHX0ZCQ09O X0NGQjI0PXkKQ09ORklHX0ZCQ09OX0FDQ0VMPXkKIyBDT05GSUdfRkJDT05fRk9OVFdJRFRIOF9P TkxZIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJDT05fRk9OVFMgaXMgbm90IHNldApDT05GSUdfRk9O VF84eDg9eQpDT05GSUdfRk9OVF84eDE2PXkKCiMKIyBTb3VuZAojCiMgQ09ORklHX1NPVU5EIGlz IG5vdCBzZXQKCiMKIyBVU0Igc3VwcG9ydAojCiMgQ09ORklHX1VTQiBpcyBub3Qgc2V0CgojCiMg Qmx1ZXRvb3RoIHN1cHBvcnQKIwojIENPTkZJR19CVCBpcyBub3Qgc2V0CgojCiMgUHJvZmlsaW5n IHN1cHBvcnQKIwojIENPTkZJR19QUk9GSUxJTkcgaXMgbm90IHNldAoKIwojIEtlcm5lbCBoYWNr aW5nCiMKIyBDT05GSUdfU09GVFdBUkVfU1VTUEVORCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVH X0tFUk5FTCBpcyBub3Qgc2V0CkNPTkZJR19YODZfRVhUUkFfSVJRUz15CkNPTkZJR19YODZfRklO RF9TTVBfQ09ORklHPXkKQ09ORklHX1g4Nl9NUFBBUlNFPXkKCiMKIyBTZWN1cml0eSBvcHRpb25z CiMKQ09ORklHX1NFQ1VSSVRZX0NBUEFCSUxJVElFUz15CgojCiMgTGlicmFyeSByb3V0aW5lcwoj CiMgQ09ORklHX0NSQzMyIGlzIG5vdCBzZXQKQ09ORklHX1pMSUJfSU5GTEFURT1tCkNPTkZJR19a TElCX0RFRkxBVEU9bQpDT05GSUdfWDg2X0JJT1NfUkVCT09UPXkK --------_3FCC71CA9AD3022520F8_MULTIPART_MIXED_--