From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757358AbZBYSil (ORCPT ); Wed, 25 Feb 2009 13:38:41 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1754888AbZBYSi3 (ORCPT ); Wed, 25 Feb 2009 13:38:29 -0500 Received: from rv-out-0506.google.com ([209.85.198.231]:64876 "EHLO rv-out-0506.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754867AbZBYSi0 (ORCPT ); Wed, 25 Feb 2009 13:38:26 -0500 DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=lv25iGtjbFccCuQXIwuHTpkOPMxlnYOu+us8dzX9ZLF6T1HeL3yyfHiek0vOW4/HNW NtpUg/UgECNXaLDzlrChKlJ0Cl/wZURlhgKZ+q1kbWIuX9TeUoqg5gOKiBiygPyO8oPm Q05QnPte6V69lWqve5/f3CQsPFpcS29WHT8qM= MIME-Version: 1.0 In-Reply-To: <20090225141945.GA28455@linux.vnet.ibm.com> References: <20090223161611.GA9563@linux.vnet.ibm.com> <20090223204332.GA19861@linux.vnet.ibm.com> <20090225002937.GA23733@linux.vnet.ibm.com> <20090225141945.GA28455@linux.vnet.ibm.com> Date: Wed, 25 Feb 2009 19:38:23 +0100 Message-ID: <19f34abd0902251038y4c0a5261ya16dfb3db7a3302@mail.gmail.com> Subject: Re: [PATCH] v4 Teach RCU that idle task is not quiscent state at boot From: Vegard Nossum To: paulmck@linux.vnet.ibm.com Cc: linux-kernel@vger.kernel.org, mingo@elte.hu, stable@kernel.org, akpm@linux-foundation.org, npiggin@suse.de, penberg@cs.helsinki.fi Content-Type: multipart/mixed; boundary=000e0cd2903a6da8fc0463c28aad Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --000e0cd2903a6da8fc0463c28aad Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable 2009/2/25 Paul E. McKenney : > This patch fixes a bug located by Vegard Nossum with the aid of > kmemcheck, updated based on review comments from Nick Piggin, > Ingo Molnar, and Andrew Morton. > > The boot CPU runs in the context of its idle thread during boot-up. > During this time, idle_cpu(0) will always return nonzero, which will > fool Classic and Hierarchical RCU into deciding that a large chunk of > the boot-up sequence is a big long quiescent state. =C2=A0This in turn ca= uses > RCU to prematurely end grace periods during this time. > > This patch changes the rcutree.c and rcuclassic.c rcu_check_callbacks() > function to ignore the idle task as a quiescent state until the > system has started up the scheduler in rest_init(), introducing a > new non-API function rcu_idle_now_means_idle() to inform RCU of this > transition. =C2=A0RCU maintains an internal rcu_idle_cpu_truthful variabl= e > to track this state, which is then used by rcu_check_callback() to > determine if it should believe idle_cpu(). > > Because this patch has the effect of disallowing RCU grace periods > during long stretches of the boot-up sequence, this patch also introduces > Josh Triplett's UP-only optimization that makes synchronize_rcu() be a > no-op if num_online_cpus() returns 1. =C2=A0This allows boot-time code th= at > calls synchronize_rcu() to proceed normally. =C2=A0Note, however, that RC= U > callbacks registered by call_rcu() will likely queue up until later in > the boot sequence. =C2=A0Although rcuclassic and rcutree can also use thi= s > same optimization after boot completes, rcupreempt must restrict its > use of this optimization to the portion of the boot sequence before the > scheduler starts up, given that an rcupreempt RCU read-side critical > section may be preeempted. > > In addition, this patch takes Nick Piggin's suggestion to make the > system_state global variable be __read_mostly. > > Changes since v3: > > o =C2=A0 =C2=A0 =C2=A0 WARN_ON(nr_context_switches() > 0) to verify that = RCU > =C2=A0 =C2=A0 =C2=A0 =C2=A0switches out of boot-time mode before the firs= t context > =C2=A0 =C2=A0 =C2=A0 =C2=A0switch, as suggested by Nick Piggin. > > Changes since v2: > > o =C2=A0 =C2=A0 =C2=A0 Created rcu_blocking_is_gp() internal-to-RCU API t= hat > =C2=A0 =C2=A0 =C2=A0 =C2=A0determines whether a call to synchronize_rcu()= is itself > =C2=A0 =C2=A0 =C2=A0 =C2=A0a grace period. > > o =C2=A0 =C2=A0 =C2=A0 The definition of rcu_blocking_is_gp() for rcuclas= sic and > =C2=A0 =C2=A0 =C2=A0 =C2=A0rcutree checks to see if but a single CPU is o= nline. > > o =C2=A0 =C2=A0 =C2=A0 The definition of rcu_blocking_is_gp() for rcupree= mpt > =C2=A0 =C2=A0 =C2=A0 =C2=A0checks to see both if but a single CPU is onli= ne and if > =C2=A0 =C2=A0 =C2=A0 =C2=A0the system is still in early boot. > > =C2=A0 =C2=A0 =C2=A0 =C2=A0This allows rcupreempt to again work correctly= if running > =C2=A0 =C2=A0 =C2=A0 =C2=A0on a single CPU after booting is complete. > > o =C2=A0 =C2=A0 =C2=A0 Added check to rcupreempt's synchronize_sched() fo= r there > =C2=A0 =C2=A0 =C2=A0 =C2=A0being but one online CPU. > > Tested all three variants both SMP and !SMP, booted fine, passed a short > rcutorture test on both x86 and Power. > > Located-by: Vegard Nossum > Signed-off-by: Paul E. McKenney Tested-by: Vegard Nossum I used such a patch and config (as attached) to verify. On unpatched kernel, I get this: rcu callbacks called: 2300 (should be 4000) And with the patch, it seems better: rcu callbacks called: 4000 (should be 4000) Actually, the first part of the text itself is wrong, because it used to count upwards. But it should really say "rcu callbacks NOT called". Of course, this kind of check will always be inaccurate, so it is not fit for mainline. The inaccuracy stems from the fact that there could be other users of RCU that disturb our expected behaviour, and we don't know how quickly the callbacks will be run, only that if "enough" of them run inside the spinlock, something is probably wrong. But... what am I saying, you're the expert ;-) But it is useful enough to verify your patch. Some other configs I tried gave the correct result all the time, but I don't know what is special about this one. Vegard --=20 "The animistic metaphor of the bug that maliciously sneaked in while the programmer was not looking is intellectually dishonest as it disguises that the error is the programmer's own creation." -- E. W. Dijkstra, EWD1036 --000e0cd2903a6da8fc0463c28aad Content-Type: application/octet-stream; name=".config" Content-Disposition: attachment; filename=".config" Content-Transfer-Encoding: base64 X-Attachment-Id: f_frmcckl50 IwojIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIG1ha2UgY29uZmlnOiBkb24ndCBlZGl0CiMgTGlu dXgga2VybmVsIHZlcnNpb246IDIuNi4yOS1yYzUKIyBTdW4gRmViIDIyIDIxOjAxOjQzIDIwMDkK IwpDT05GSUdfNjRCSVQ9eQojIENPTkZJR19YODZfMzIgaXMgbm90IHNldApDT05GSUdfWDg2XzY0 PXkKQ09ORklHX1g4Nj15CkNPTkZJR19BUkNIX0RFRkNPTkZJRz0iYXJjaC94ODYvY29uZmlncy94 ODZfNjRfZGVmY29uZmlnIgpDT05GSUdfR0VORVJJQ19USU1FPXkKQ09ORklHX0dFTkVSSUNfQ01P U19VUERBVEU9eQpDT05GSUdfQ0xPQ0tTT1VSQ0VfV0FUQ0hET0c9eQpDT05GSUdfR0VORVJJQ19D TE9DS0VWRU5UUz15CkNPTkZJR19HRU5FUklDX0NMT0NLRVZFTlRTX0JST0FEQ0FTVD15CkNPTkZJ R19MT0NLREVQX1NVUFBPUlQ9eQpDT05GSUdfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKQ09ORklHX0hB VkVfTEFURU5DWVRPUF9TVVBQT1JUPXkKQ09ORklHX0ZBU1RfQ01QWENIR19MT0NBTD15CkNPTkZJ R19NTVU9eQpDT05GSUdfWk9ORV9ETUE9eQpDT05GSUdfR0VORVJJQ19JU0FfRE1BPXkKQ09ORklH X0dFTkVSSUNfSU9NQVA9eQpDT05GSUdfR0VORVJJQ19CVUc9eQpDT05GSUdfR0VORVJJQ19CVUdf UkVMQVRJVkVfUE9JTlRFUlM9eQpDT05GSUdfR0VORVJJQ19IV0VJR0hUPXkKQ09ORklHX0FSQ0hf TUFZX0hBVkVfUENfRkRDPXkKQ09ORklHX1JXU0VNX0dFTkVSSUNfU1BJTkxPQ0s9eQojIENPTkZJ R19SV1NFTV9YQ0hHQUREX0FMR09SSVRITSBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX0hBU19DUFVf SURMRV9XQUlUPXkKQ09ORklHX0dFTkVSSUNfQ0FMSUJSQVRFX0RFTEFZPXkKQ09ORklHX0dFTkVS SUNfVElNRV9WU1lTQ0FMTD15CkNPTkZJR19BUkNIX0hBU19DUFVfUkVMQVg9eQpDT05GSUdfQVJD SF9IQVNfREVGQVVMVF9JRExFPXkKQ09ORklHX0FSQ0hfSEFTX0NBQ0hFX0xJTkVfU0laRT15CkNP TkZJR19IQVZFX1NFVFVQX1BFUl9DUFVfQVJFQT15CkNPTkZJR19IQVZFX0NQVU1BU0tfT0ZfQ1BV X01BUD15CkNPTkZJR19BUkNIX0hJQkVSTkFUSU9OX1BPU1NJQkxFPXkKQ09ORklHX0FSQ0hfU1VT UEVORF9QT1NTSUJMRT15CkNPTkZJR19aT05FX0RNQTMyPXkKQ09ORklHX0FSQ0hfUE9QVUxBVEVT X05PREVfTUFQPXkKQ09ORklHX0FVRElUX0FSQ0g9eQpDT05GSUdfQVJDSF9TVVBQT1JUU19PUFRJ TUlaRURfSU5MSU5JTkc9eQpDT05GSUdfR0VORVJJQ19IQVJESVJRUz15CkNPTkZJR19HRU5FUklD X0lSUV9QUk9CRT15CkNPTkZJR19HRU5FUklDX1BFTkRJTkdfSVJRPXkKQ09ORklHX1VTRV9HRU5F UklDX1NNUF9IRUxQRVJTPXkKQ09ORklHX1g4Nl82NF9TTVA9eQpDT05GSUdfWDg2X0hUPXkKQ09O RklHX1g4Nl9UUkFNUE9MSU5FPXkKIyBDT05GSUdfS1RJTUVfU0NBTEFSIGlzIG5vdCBzZXQKQ09O RklHX0RFRkNPTkZJR19MSVNUPSIvbGliL21vZHVsZXMvJFVOQU1FX1JFTEVBU0UvLmNvbmZpZyIK CiMKIyBHZW5lcmFsIHNldHVwCiMKQ09ORklHX0VYUEVSSU1FTlRBTD15CkNPTkZJR19MT0NLX0tF Uk5FTD15CkNPTkZJR19JTklUX0VOVl9BUkdfTElNSVQ9MzIKQ09ORklHX0xPQ0FMVkVSU0lPTj0i IgojIENPTkZJR19MT0NBTFZFUlNJT05fQVVUTyBpcyBub3Qgc2V0CkNPTkZJR19TV0FQPXkKQ09O RklHX1NZU1ZJUEM9eQpDT05GSUdfU1lTVklQQ19TWVNDVEw9eQpDT05GSUdfUE9TSVhfTVFVRVVF PXkKQ09ORklHX0JTRF9QUk9DRVNTX0FDQ1Q9eQojIENPTkZJR19CU0RfUFJPQ0VTU19BQ0NUX1Yz IGlzIG5vdCBzZXQKQ09ORklHX1RBU0tTVEFUUz15CkNPTkZJR19UQVNLX0RFTEFZX0FDQ1Q9eQpD T05GSUdfVEFTS19YQUNDVD15CkNPTkZJR19UQVNLX0lPX0FDQ09VTlRJTkc9eQpDT05GSUdfQVVE SVQ9eQpDT05GSUdfQVVESVRTWVNDQUxMPXkKQ09ORklHX0FVRElUX1RSRUU9eQoKIwojIFJDVSBT dWJzeXN0ZW0KIwpDT05GSUdfQ0xBU1NJQ19SQ1U9eQojIENPTkZJR19UUkVFX1JDVSBpcyBub3Qg c2V0CiMgQ09ORklHX1BSRUVNUFRfUkNVIGlzIG5vdCBzZXQKIyBDT05GSUdfVFJFRV9SQ1VfVFJB Q0UgaXMgbm90IHNldAojIENPTkZJR19QUkVFTVBUX1JDVV9UUkFDRSBpcyBub3Qgc2V0CiMgQ09O RklHX0lLQ09ORklHIGlzIG5vdCBzZXQKQ09ORklHX0xPR19CVUZfU0hJRlQ9MTgKQ09ORklHX0hB VkVfVU5TVEFCTEVfU0NIRURfQ0xPQ0s9eQpDT05GSUdfR1JPVVBfU0NIRUQ9eQpDT05GSUdfRkFJ Ul9HUk9VUF9TQ0hFRD15CiMgQ09ORklHX1JUX0dST1VQX1NDSEVEIGlzIG5vdCBzZXQKIyBDT05G SUdfVVNFUl9TQ0hFRCBpcyBub3Qgc2V0CkNPTkZJR19DR1JPVVBfU0NIRUQ9eQpDT05GSUdfQ0dS T1VQUz15CiMgQ09ORklHX0NHUk9VUF9ERUJVRyBpcyBub3Qgc2V0CkNPTkZJR19DR1JPVVBfTlM9 eQpDT05GSUdfQ0dST1VQX0ZSRUVaRVI9eQojIENPTkZJR19DR1JPVVBfREVWSUNFIGlzIG5vdCBz ZXQKQ09ORklHX0NQVVNFVFM9eQpDT05GSUdfUFJPQ19QSURfQ1BVU0VUPXkKQ09ORklHX0NHUk9V UF9DUFVBQ0NUPXkKQ09ORklHX1JFU09VUkNFX0NPVU5URVJTPXkKIyBDT05GSUdfQ0dST1VQX01F TV9SRVNfQ1RMUiBpcyBub3Qgc2V0CiMgQ09ORklHX1NZU0ZTX0RFUFJFQ0FURURfVjIgaXMgbm90 IHNldApDT05GSUdfUkVMQVk9eQpDT05GSUdfTkFNRVNQQUNFUz15CkNPTkZJR19VVFNfTlM9eQpD T05GSUdfSVBDX05TPXkKQ09ORklHX1VTRVJfTlM9eQpDT05GSUdfUElEX05TPXkKQ09ORklHX05F VF9OUz15CkNPTkZJR19CTEtfREVWX0lOSVRSRD15CkNPTkZJR19JTklUUkFNRlNfU09VUkNFPSIi CiMgQ09ORklHX0NDX09QVElNSVpFX0ZPUl9TSVpFIGlzIG5vdCBzZXQKQ09ORklHX1NZU0NUTD15 CiMgQ09ORklHX0VNQkVEREVEIGlzIG5vdCBzZXQKQ09ORklHX1VJRDE2PXkKQ09ORklHX1NZU0NU TF9TWVNDQUxMPXkKQ09ORklHX0tBTExTWU1TPXkKQ09ORklHX0tBTExTWU1TX0FMTD15CkNPTkZJ R19LQUxMU1lNU19FWFRSQV9QQVNTPXkKQ09ORklHX0hPVFBMVUc9eQpDT05GSUdfUFJJTlRLPXkK Q09ORklHX0JVRz15CkNPTkZJR19FTEZfQ09SRT15CkNPTkZJR19QQ1NQS1JfUExBVEZPUk09eQoj IENPTkZJR19DT01QQVRfQlJLIGlzIG5vdCBzZXQKQ09ORklHX0JBU0VfRlVMTD15CkNPTkZJR19G VVRFWD15CkNPTkZJR19BTk9OX0lOT0RFUz15CkNPTkZJR19FUE9MTD15CkNPTkZJR19TSUdOQUxG RD15CkNPTkZJR19USU1FUkZEPXkKQ09ORklHX0VWRU5URkQ9eQpDT05GSUdfU0hNRU09eQpDT05G SUdfQUlPPXkKQ09ORklHX1ZNX0VWRU5UX0NPVU5URVJTPXkKQ09ORklHX1BDSV9RVUlSS1M9eQpD T05GSUdfU0xVQl9ERUJVRz15CiMgQ09ORklHX1NMQUIgaXMgbm90IHNldApDT05GSUdfU0xVQj15 CiMgQ09ORklHX1NMT0IgaXMgbm90IHNldApDT05GSUdfUFJPRklMSU5HPXkKQ09ORklHX1RSQUNF UE9JTlRTPXkKQ09ORklHX01BUktFUlM9eQojIENPTkZJR19PUFJPRklMRSBpcyBub3Qgc2V0CkNP TkZJR19IQVZFX09QUk9GSUxFPXkKQ09ORklHX0hBVkVfRUZGSUNJRU5UX1VOQUxJR05FRF9BQ0NF U1M9eQpDT05GSUdfSEFWRV9JT1JFTUFQX1BST1Q9eQpDT05GSUdfSEFWRV9LUFJPQkVTPXkKQ09O RklHX0hBVkVfS1JFVFBST0JFUz15CkNPTkZJR19IQVZFX0FSQ0hfVFJBQ0VIT09LPXkKIyBDT05G SUdfSEFWRV9HRU5FUklDX0RNQV9DT0hFUkVOVCBpcyBub3Qgc2V0CkNPTkZJR19TTEFCSU5GTz15 CkNPTkZJR19SVF9NVVRFWEVTPXkKQ09ORklHX0JBU0VfU01BTEw9MAojIENPTkZJR19NT0RVTEVT IGlzIG5vdCBzZXQKQ09ORklHX1NUT1BfTUFDSElORT15CkNPTkZJR19CTE9DSz15CkNPTkZJR19C TEtfREVWX0lPX1RSQUNFPXkKQ09ORklHX0JMS19ERVZfQlNHPXkKIyBDT05GSUdfQkxLX0RFVl9J TlRFR1JJVFkgaXMgbm90IHNldApDT05GSUdfQkxPQ0tfQ09NUEFUPXkKCiMKIyBJTyBTY2hlZHVs ZXJzCiMKQ09ORklHX0lPU0NIRURfTk9PUD15CkNPTkZJR19JT1NDSEVEX0FTPXkKQ09ORklHX0lP U0NIRURfREVBRExJTkU9eQpDT05GSUdfSU9TQ0hFRF9DRlE9eQojIENPTkZJR19ERUZBVUxUX0FT IGlzIG5vdCBzZXQKIyBDT05GSUdfREVGQVVMVF9ERUFETElORSBpcyBub3Qgc2V0CkNPTkZJR19E RUZBVUxUX0NGUT15CiMgQ09ORklHX0RFRkFVTFRfTk9PUCBpcyBub3Qgc2V0CkNPTkZJR19ERUZB VUxUX0lPU0NIRUQ9ImNmcSIKQ09ORklHX0ZSRUVaRVI9eQoKIwojIFByb2Nlc3NvciB0eXBlIGFu ZCBmZWF0dXJlcwojCkNPTkZJR19USUNLX09ORVNIT1Q9eQojIENPTkZJR19OT19IWiBpcyBub3Qg c2V0CkNPTkZJR19ISUdIX1JFU19USU1FUlM9eQpDT05GSUdfR0VORVJJQ19DTE9DS0VWRU5UU19C VUlMRD15CkNPTkZJR19TTVA9eQpDT05GSUdfU1BBUlNFX0lSUT15CkNPTkZJR19YODZfTVBQQVJT RT15CkNPTkZJR19YODZfRVhURU5ERURfUExBVEZPUk09eQojIENPTkZJR19YODZfVlNNUCBpcyBu b3Qgc2V0CiMgQ09ORklHX1g4Nl9VViBpcyBub3Qgc2V0CkNPTkZJR19TQ0hFRF9PTUlUX0ZSQU1F X1BPSU5URVI9eQojIENPTkZJR19QQVJBVklSVF9HVUVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX01F TVRFU1QgaXMgbm90IHNldAojIENPTkZJR19NMzg2IGlzIG5vdCBzZXQKIyBDT05GSUdfTTQ4NiBp cyBub3Qgc2V0CiMgQ09ORklHX001ODYgaXMgbm90IHNldAojIENPTkZJR19NNTg2VFNDIGlzIG5v dCBzZXQKIyBDT05GSUdfTTU4Nk1NWCBpcyBub3Qgc2V0CiMgQ09ORklHX002ODYgaXMgbm90IHNl dAojIENPTkZJR19NUEVOVElVTUlJIGlzIG5vdCBzZXQKIyBDT05GSUdfTVBFTlRJVU1JSUkgaXMg bm90IHNldAojIENPTkZJR19NUEVOVElVTU0gaXMgbm90IHNldAojIENPTkZJR19NUEVOVElVTTQg aXMgbm90IHNldAojIENPTkZJR19NSzYgaXMgbm90IHNldAojIENPTkZJR19NSzcgaXMgbm90IHNl dAojIENPTkZJR19NSzggaXMgbm90IHNldAojIENPTkZJR19NQ1JVU09FIGlzIG5vdCBzZXQKIyBD T05GSUdfTUVGRklDRU9OIGlzIG5vdCBzZXQKIyBDT05GSUdfTVdJTkNISVBDNiBpcyBub3Qgc2V0 CiMgQ09ORklHX01XSU5DSElQM0QgaXMgbm90IHNldAojIENPTkZJR19NR0VPREVHWDEgaXMgbm90 IHNldAojIENPTkZJR19NR0VPREVfTFggaXMgbm90IHNldAojIENPTkZJR19NQ1lSSVhJSUkgaXMg bm90IHNldAojIENPTkZJR19NVklBQzNfMiBpcyBub3Qgc2V0CiMgQ09ORklHX01WSUFDNyBpcyBu b3Qgc2V0CiMgQ09ORklHX01QU0MgaXMgbm90IHNldAojIENPTkZJR19NQ09SRTIgaXMgbm90IHNl dApDT05GSUdfR0VORVJJQ19DUFU9eQpDT05GSUdfWDg2X0NQVT15CkNPTkZJR19YODZfTDFfQ0FD SEVfQllURVM9NjQKQ09ORklHX1g4Nl9JTlRFUk5PREVfQ0FDSEVfQllURVM9NjQKQ09ORklHX1g4 Nl9DTVBYQ0hHPXkKQ09ORklHX1g4Nl9MMV9DQUNIRV9TSElGVD02CkNPTkZJR19YODZfV1BfV09S S1NfT0s9eQpDT05GSUdfWDg2X1RTQz15CkNPTkZJR19YODZfQ01QWENIRzY0PXkKQ09ORklHX1g4 Nl9DTU9WPXkKQ09ORklHX1g4Nl9NSU5JTVVNX0NQVV9GQU1JTFk9NjQKQ09ORklHX1g4Nl9ERUJV R0NUTE1TUj15CkNPTkZJR19DUFVfU1VQX0lOVEVMPXkKQ09ORklHX0NQVV9TVVBfQU1EPXkKQ09O RklHX0NQVV9TVVBfQ0VOVEFVUl82ND15CkNPTkZJR19YODZfRFM9eQpDT05GSUdfWDg2X1BUUkFD RV9CVFM9eQpDT05GSUdfSFBFVF9USU1FUj15CkNPTkZJR19IUEVUX0VNVUxBVEVfUlRDPXkKQ09O RklHX0RNST15CkNPTkZJR19HQVJUX0lPTU1VPXkKIyBDT05GSUdfQ0FMR0FSWV9JT01NVSBpcyBu b3Qgc2V0CiMgQ09ORklHX0FNRF9JT01NVSBpcyBub3Qgc2V0CkNPTkZJR19TV0lPVExCPXkKQ09O RklHX0lPTU1VX0hFTFBFUj15CiMgQ09ORklHX0lPTU1VX0FQSSBpcyBub3Qgc2V0CiMgQ09ORklH X01BWFNNUCBpcyBub3Qgc2V0CkNPTkZJR19OUl9DUFVTPTY0CkNPTkZJR19TQ0hFRF9TTVQ9eQpD T05GSUdfU0NIRURfTUM9eQojIENPTkZJR19QUkVFTVBUX05PTkUgaXMgbm90IHNldApDT05GSUdf UFJFRU1QVF9WT0xVTlRBUlk9eQojIENPTkZJR19QUkVFTVBUIGlzIG5vdCBzZXQKQ09ORklHX1g4 Nl9MT0NBTF9BUElDPXkKQ09ORklHX1g4Nl9JT19BUElDPXkKQ09ORklHX1g4Nl9SRVJPVVRFX0ZP Ul9CUk9LRU5fQk9PVF9JUlFTPXkKIyBDT05GSUdfWDg2X01DRSBpcyBub3Qgc2V0CiMgQ09ORklH X0k4SyBpcyBub3Qgc2V0CkNPTkZJR19NSUNST0NPREU9eQpDT05GSUdfTUlDUk9DT0RFX0lOVEVM PXkKQ09ORklHX01JQ1JPQ09ERV9BTUQ9eQpDT05GSUdfTUlDUk9DT0RFX09MRF9JTlRFUkZBQ0U9 eQpDT05GSUdfWDg2X01TUj15CkNPTkZJR19YODZfQ1BVSUQ9eQpDT05GSUdfQVJDSF9QSFlTX0FE RFJfVF82NEJJVD15CkNPTkZJR19ESVJFQ1RfR0JQQUdFUz15CiMgQ09ORklHX05VTUEgaXMgbm90 IHNldApDT05GSUdfQVJDSF9TUEFSU0VNRU1fREVGQVVMVD15CkNPTkZJR19BUkNIX1NQQVJTRU1F TV9FTkFCTEU9eQpDT05GSUdfQVJDSF9TRUxFQ1RfTUVNT1JZX01PREVMPXkKQ09ORklHX1NFTEVD VF9NRU1PUllfTU9ERUw9eQojIENPTkZJR19GTEFUTUVNX01BTlVBTCBpcyBub3Qgc2V0CiMgQ09O RklHX0RJU0NPTlRJR01FTV9NQU5VQUwgaXMgbm90IHNldApDT05GSUdfU1BBUlNFTUVNX01BTlVB TD15CkNPTkZJR19TUEFSU0VNRU09eQpDT05GSUdfSEFWRV9NRU1PUllfUFJFU0VOVD15CkNPTkZJ R19TUEFSU0VNRU1fRVhUUkVNRT15CkNPTkZJR19TUEFSU0VNRU1fVk1FTU1BUF9FTkFCTEU9eQpD T05GSUdfU1BBUlNFTUVNX1ZNRU1NQVA9eQoKIwojIE1lbW9yeSBob3RwbHVnIGlzIGN1cnJlbnRs eSBpbmNvbXBhdGlibGUgd2l0aCBTb2Z0d2FyZSBTdXNwZW5kCiMKQ09ORklHX1BBR0VGTEFHU19F WFRFTkRFRD15CkNPTkZJR19TUExJVF9QVExPQ0tfQ1BVUz00CkNPTkZJR19QSFlTX0FERFJfVF82 NEJJVD15CkNPTkZJR19aT05FX0RNQV9GTEFHPTEKQ09ORklHX0JPVU5DRT15CkNPTkZJR19WSVJU X1RPX0JVUz15CkNPTkZJR19VTkVWSUNUQUJMRV9MUlU9eQpDT05GSUdfWDg2X0NIRUNLX0JJT1Nf Q09SUlVQVElPTj15CkNPTkZJR19YODZfQk9PVFBBUkFNX01FTU9SWV9DT1JSVVBUSU9OX0NIRUNL PXkKQ09ORklHX1g4Nl9SRVNFUlZFX0xPV182NEs9eQpDT05GSUdfTVRSUj15CiMgQ09ORklHX01U UlJfU0FOSVRJWkVSIGlzIG5vdCBzZXQKQ09ORklHX1g4Nl9QQVQ9eQpDT05GSUdfRUZJPXkKQ09O RklHX1NFQ0NPTVA9eQojIENPTkZJR19DQ19TVEFDS1BST1RFQ1RPUiBpcyBub3Qgc2V0CiMgQ09O RklHX0haXzEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0haXzI1MCBpcyBub3Qgc2V0CiMgQ09ORklH X0haXzMwMCBpcyBub3Qgc2V0CkNPTkZJR19IWl8xMDAwPXkKQ09ORklHX0haPTEwMDAKQ09ORklH X1NDSEVEX0hSVElDSz15CkNPTkZJR19LRVhFQz15CkNPTkZJR19DUkFTSF9EVU1QPXkKQ09ORklH X1BIWVNJQ0FMX1NUQVJUPTB4MTAwMDAwMAojIENPTkZJR19SRUxPQ0FUQUJMRSBpcyBub3Qgc2V0 CkNPTkZJR19QSFlTSUNBTF9BTElHTj0weDIwMDAwMApDT05GSUdfSE9UUExVR19DUFU9eQojIENP TkZJR19DT01QQVRfVkRTTyBpcyBub3Qgc2V0CiMgQ09ORklHX0NNRExJTkVfQk9PTCBpcyBub3Qg c2V0CkNPTkZJR19BUkNIX0VOQUJMRV9NRU1PUllfSE9UUExVRz15CgojCiMgUG93ZXIgbWFuYWdl bWVudCBhbmQgQUNQSSBvcHRpb25zCiMKQ09ORklHX0FSQ0hfSElCRVJOQVRJT05fSEVBREVSPXkK Q09ORklHX1BNPXkKQ09ORklHX1BNX0RFQlVHPXkKIyBDT05GSUdfUE1fVkVSQk9TRSBpcyBub3Qg c2V0CkNPTkZJR19DQU5fUE1fVFJBQ0U9eQpDT05GSUdfUE1fVFJBQ0U9eQpDT05GSUdfUE1fVFJB Q0VfUlRDPXkKQ09ORklHX1BNX1NMRUVQX1NNUD15CkNPTkZJR19QTV9TTEVFUD15CkNPTkZJR19T VVNQRU5EPXkKIyBDT05GSUdfUE1fVEVTVF9TVVNQRU5EIGlzIG5vdCBzZXQKQ09ORklHX1NVU1BF TkRfRlJFRVpFUj15CkNPTkZJR19ISUJFUk5BVElPTj15CkNPTkZJR19QTV9TVERfUEFSVElUSU9O PSIiCkNPTkZJR19BQ1BJPXkKQ09ORklHX0FDUElfU0xFRVA9eQpDT05GSUdfQUNQSV9QUk9DRlM9 eQpDT05GSUdfQUNQSV9QUk9DRlNfUE9XRVI9eQpDT05GSUdfQUNQSV9TWVNGU19QT1dFUj15CkNP TkZJR19BQ1BJX1BST0NfRVZFTlQ9eQpDT05GSUdfQUNQSV9BQz15CkNPTkZJR19BQ1BJX0JBVFRF Ulk9eQpDT05GSUdfQUNQSV9CVVRUT049eQpDT05GSUdfQUNQSV9GQU49eQpDT05GSUdfQUNQSV9E T0NLPXkKQ09ORklHX0FDUElfUFJPQ0VTU09SPXkKQ09ORklHX0FDUElfSE9UUExVR19DUFU9eQpD T05GSUdfQUNQSV9USEVSTUFMPXkKIyBDT05GSUdfQUNQSV9DVVNUT01fRFNEVCBpcyBub3Qgc2V0 CkNPTkZJR19BQ1BJX0JMQUNLTElTVF9ZRUFSPTAKIyBDT05GSUdfQUNQSV9ERUJVRyBpcyBub3Qg c2V0CiMgQ09ORklHX0FDUElfUENJX1NMT1QgaXMgbm90IHNldApDT05GSUdfQUNQSV9TWVNURU09 eQpDT05GSUdfWDg2X1BNX1RJTUVSPXkKQ09ORklHX0FDUElfQ09OVEFJTkVSPXkKIyBDT05GSUdf QUNQSV9TQlMgaXMgbm90IHNldAoKIwojIENQVSBGcmVxdWVuY3kgc2NhbGluZwojCkNPTkZJR19D UFVfRlJFUT15CkNPTkZJR19DUFVfRlJFUV9UQUJMRT15CkNPTkZJR19DUFVfRlJFUV9ERUJVRz15 CiMgQ09ORklHX0NQVV9GUkVRX1NUQVQgaXMgbm90IHNldAojIENPTkZJR19DUFVfRlJFUV9ERUZB VUxUX0dPVl9QRVJGT1JNQU5DRSBpcyBub3Qgc2V0CiMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRf R09WX1BPV0VSU0FWRSBpcyBub3Qgc2V0CkNPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9VU0VS U1BBQ0U9eQojIENPTkZJR19DUFVfRlJFUV9ERUZBVUxUX0dPVl9PTkRFTUFORCBpcyBub3Qgc2V0 CiMgQ09ORklHX0NQVV9GUkVRX0RFRkFVTFRfR09WX0NPTlNFUlZBVElWRSBpcyBub3Qgc2V0CkNP TkZJR19DUFVfRlJFUV9HT1ZfUEVSRk9STUFOQ0U9eQojIENPTkZJR19DUFVfRlJFUV9HT1ZfUE9X RVJTQVZFIGlzIG5vdCBzZXQKQ09ORklHX0NQVV9GUkVRX0dPVl9VU0VSU1BBQ0U9eQpDT05GSUdf Q1BVX0ZSRVFfR09WX09OREVNQU5EPXkKIyBDT05GSUdfQ1BVX0ZSRVFfR09WX0NPTlNFUlZBVElW RSBpcyBub3Qgc2V0CgojCiMgQ1BVRnJlcSBwcm9jZXNzb3IgZHJpdmVycwojCkNPTkZJR19YODZf QUNQSV9DUFVGUkVRPXkKIyBDT05GSUdfWDg2X1BPV0VSTk9XX0s4IGlzIG5vdCBzZXQKIyBDT05G SUdfWDg2X1NQRUVEU1RFUF9DRU5UUklOTyBpcyBub3Qgc2V0CiMgQ09ORklHX1g4Nl9QNF9DTE9D S01PRCBpcyBub3Qgc2V0CgojCiMgc2hhcmVkIG9wdGlvbnMKIwojIENPTkZJR19YODZfU1BFRURT VEVQX0xJQiBpcyBub3Qgc2V0CkNPTkZJR19DUFVfSURMRT15CkNPTkZJR19DUFVfSURMRV9HT1Zf TEFEREVSPXkKCiMKIyBNZW1vcnkgcG93ZXIgc2F2aW5ncwojCiMgQ09ORklHX0k3MzAwX0lETEUg aXMgbm90IHNldAoKIwojIEJ1cyBvcHRpb25zIChQQ0kgZXRjLikKIwpDT05GSUdfUENJPXkKQ09O RklHX1BDSV9ESVJFQ1Q9eQpDT05GSUdfUENJX01NQ09ORklHPXkKQ09ORklHX1BDSV9ET01BSU5T PXkKIyBDT05GSUdfRE1BUiBpcyBub3Qgc2V0CiMgQ09ORklHX0lOVFJfUkVNQVAgaXMgbm90IHNl dApDT05GSUdfUENJRVBPUlRCVVM9eQojIENPTkZJR19IT1RQTFVHX1BDSV9QQ0lFIGlzIG5vdCBz ZXQKQ09ORklHX1BDSUVBRVI9eQojIENPTkZJR19QQ0lFQVNQTSBpcyBub3Qgc2V0CkNPTkZJR19B UkNIX1NVUFBPUlRTX01TST15CkNPTkZJR19QQ0lfTVNJPXkKIyBDT05GSUdfUENJX0xFR0FDWSBp cyBub3Qgc2V0CiMgQ09ORklHX1BDSV9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1BDSV9TVFVC IGlzIG5vdCBzZXQKQ09ORklHX0hUX0lSUT15CkNPTkZJR19JU0FfRE1BX0FQST15CkNPTkZJR19L OF9OQj15CkNPTkZJR19QQ0NBUkQ9eQojIENPTkZJR19QQ01DSUFfREVCVUcgaXMgbm90IHNldApD T05GSUdfUENNQ0lBPXkKQ09ORklHX1BDTUNJQV9MT0FEX0NJUz15CkNPTkZJR19QQ01DSUFfSU9D VEw9eQpDT05GSUdfQ0FSREJVUz15CgojCiMgUEMtY2FyZCBicmlkZ2VzCiMKQ09ORklHX1lFTlRB PXkKQ09ORklHX1lFTlRBX08yPXkKQ09ORklHX1lFTlRBX1JJQ09IPXkKQ09ORklHX1lFTlRBX1RJ PXkKQ09ORklHX1lFTlRBX0VORV9UVU5FPXkKQ09ORklHX1lFTlRBX1RPU0hJQkE9eQojIENPTkZJ R19QRDY3MjkgaXMgbm90IHNldAojIENPTkZJR19JODIwOTIgaXMgbm90IHNldApDT05GSUdfUEND QVJEX05PTlNUQVRJQz15CkNPTkZJR19IT1RQTFVHX1BDST15CiMgQ09ORklHX0hPVFBMVUdfUENJ X0ZBS0UgaXMgbm90IHNldAojIENPTkZJR19IT1RQTFVHX1BDSV9BQ1BJIGlzIG5vdCBzZXQKIyBD T05GSUdfSE9UUExVR19QQ0lfQ1BDSSBpcyBub3Qgc2V0CiMgQ09ORklHX0hPVFBMVUdfUENJX1NI UEMgaXMgbm90IHNldAoKIwojIEV4ZWN1dGFibGUgZmlsZSBmb3JtYXRzIC8gRW11bGF0aW9ucwoj CkNPTkZJR19CSU5GTVRfRUxGPXkKQ09ORklHX0NPTVBBVF9CSU5GTVRfRUxGPXkKQ09ORklHX0NP UkVfRFVNUF9ERUZBVUxUX0VMRl9IRUFERVJTPXkKIyBDT05GSUdfSEFWRV9BT1VUIGlzIG5vdCBz ZXQKQ09ORklHX0JJTkZNVF9NSVNDPXkKQ09ORklHX0lBMzJfRU1VTEFUSU9OPXkKIyBDT05GSUdf SUEzMl9BT1VUIGlzIG5vdCBzZXQKQ09ORklHX0NPTVBBVD15CkNPTkZJR19DT01QQVRfRk9SX1U2 NF9BTElHTk1FTlQ9eQpDT05GSUdfU1lTVklQQ19DT01QQVQ9eQpDT05GSUdfTkVUPXkKCiMKIyBO ZXR3b3JraW5nIG9wdGlvbnMKIwpDT05GSUdfQ09NUEFUX05FVF9ERVZfT1BTPXkKQ09ORklHX1BB Q0tFVD15CkNPTkZJR19QQUNLRVRfTU1BUD15CkNPTkZJR19VTklYPXkKQ09ORklHX1hGUk09eQpD T05GSUdfWEZSTV9VU0VSPXkKIyBDT05GSUdfWEZSTV9TVUJfUE9MSUNZIGlzIG5vdCBzZXQKIyBD T05GSUdfWEZSTV9NSUdSQVRFIGlzIG5vdCBzZXQKIyBDT05GSUdfWEZSTV9TVEFUSVNUSUNTIGlz IG5vdCBzZXQKIyBDT05GSUdfTkVUX0tFWSBpcyBub3Qgc2V0CkNPTkZJR19JTkVUPXkKQ09ORklH X0lQX01VTFRJQ0FTVD15CkNPTkZJR19JUF9BRFZBTkNFRF9ST1VURVI9eQpDT05GSUdfQVNLX0lQ X0ZJQl9IQVNIPXkKIyBDT05GSUdfSVBfRklCX1RSSUUgaXMgbm90IHNldApDT05GSUdfSVBfRklC X0hBU0g9eQpDT05GSUdfSVBfTVVMVElQTEVfVEFCTEVTPXkKQ09ORklHX0lQX1JPVVRFX01VTFRJ UEFUSD15CkNPTkZJR19JUF9ST1VURV9WRVJCT1NFPXkKQ09ORklHX0lQX1BOUD15CkNPTkZJR19J UF9QTlBfREhDUD15CkNPTkZJR19JUF9QTlBfQk9PVFA9eQpDT05GSUdfSVBfUE5QX1JBUlA9eQoj IENPTkZJR19ORVRfSVBJUCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9JUEdSRSBpcyBub3Qgc2V0 CkNPTkZJR19JUF9NUk9VVEU9eQpDT05GSUdfSVBfUElNU01fVjE9eQpDT05GSUdfSVBfUElNU01f VjI9eQojIENPTkZJR19BUlBEIGlzIG5vdCBzZXQKQ09ORklHX1NZTl9DT09LSUVTPXkKIyBDT05G SUdfSU5FVF9BSCBpcyBub3Qgc2V0CiMgQ09ORklHX0lORVRfRVNQIGlzIG5vdCBzZXQKIyBDT05G SUdfSU5FVF9JUENPTVAgaXMgbm90IHNldAojIENPTkZJR19JTkVUX1hGUk1fVFVOTkVMIGlzIG5v dCBzZXQKQ09ORklHX0lORVRfVFVOTkVMPXkKIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFJBTlNQ T1JUIGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVF9YRlJNX01PREVfVFVOTkVMIGlzIG5vdCBzZXQK IyBDT05GSUdfSU5FVF9YRlJNX01PREVfQkVFVCBpcyBub3Qgc2V0CkNPTkZJR19JTkVUX0xSTz15 CiMgQ09ORklHX0lORVRfRElBRyBpcyBub3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19BRFZBTkNFRD15 CiMgQ09ORklHX1RDUF9DT05HX0JJQyBpcyBub3Qgc2V0CkNPTkZJR19UQ1BfQ09OR19DVUJJQz15 CiMgQ09ORklHX1RDUF9DT05HX1dFU1RXT09EIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQX0NPTkdf SFRDUCBpcyBub3Qgc2V0CiMgQ09ORklHX1RDUF9DT05HX0hTVENQIGlzIG5vdCBzZXQKIyBDT05G SUdfVENQX0NPTkdfSFlCTEEgaXMgbm90IHNldAojIENPTkZJR19UQ1BfQ09OR19WRUdBUyBpcyBu b3Qgc2V0CiMgQ09ORklHX1RDUF9DT05HX1NDQUxBQkxFIGlzIG5vdCBzZXQKIyBDT05GSUdfVENQ X0NPTkdfTFAgaXMgbm90IHNldAojIENPTkZJR19UQ1BfQ09OR19WRU5PIGlzIG5vdCBzZXQKIyBD T05GSUdfVENQX0NPTkdfWUVBSCBpcyBub3Qgc2V0CiMgQ09ORklHX1RDUF9DT05HX0lMTElOT0lT IGlzIG5vdCBzZXQKIyBDT05GSUdfREVGQVVMVF9CSUMgaXMgbm90IHNldApDT05GSUdfREVGQVVM VF9DVUJJQz15CiMgQ09ORklHX0RFRkFVTFRfSFRDUCBpcyBub3Qgc2V0CiMgQ09ORklHX0RFRkFV TFRfVkVHQVMgaXMgbm90IHNldAojIENPTkZJR19ERUZBVUxUX1dFU1RXT09EIGlzIG5vdCBzZXQK IyBDT05GSUdfREVGQVVMVF9SRU5PIGlzIG5vdCBzZXQKQ09ORklHX0RFRkFVTFRfVENQX0NPTkc9 ImN1YmljIgpDT05GSUdfVENQX01ENVNJRz15CkNPTkZJR19JUFY2PXkKIyBDT05GSUdfSVBWNl9Q UklWQUNZIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBWNl9ST1VURVJfUFJFRiBpcyBub3Qgc2V0CiMg Q09ORklHX0lQVjZfT1BUSU1JU1RJQ19EQUQgaXMgbm90IHNldApDT05GSUdfSU5FVDZfQUg9eQpD T05GSUdfSU5FVDZfRVNQPXkKIyBDT05GSUdfSU5FVDZfSVBDT01QIGlzIG5vdCBzZXQKIyBDT05G SUdfSVBWNl9NSVA2IGlzIG5vdCBzZXQKIyBDT05GSUdfSU5FVDZfWEZSTV9UVU5ORUwgaXMgbm90 IHNldAojIENPTkZJR19JTkVUNl9UVU5ORUwgaXMgbm90IHNldApDT05GSUdfSU5FVDZfWEZSTV9N T0RFX1RSQU5TUE9SVD15CkNPTkZJR19JTkVUNl9YRlJNX01PREVfVFVOTkVMPXkKQ09ORklHX0lO RVQ2X1hGUk1fTU9ERV9CRUVUPXkKIyBDT05GSUdfSU5FVDZfWEZSTV9NT0RFX1JPVVRFT1BUSU1J WkFUSU9OIGlzIG5vdCBzZXQKQ09ORklHX0lQVjZfU0lUPXkKQ09ORklHX0lQVjZfTkRJU0NfTk9E RVRZUEU9eQojIENPTkZJR19JUFY2X1RVTk5FTCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQVjZfTVVM VElQTEVfVEFCTEVTIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBWNl9NUk9VVEUgaXMgbm90IHNldApD T05GSUdfTkVUTEFCRUw9eQpDT05GSUdfTkVUV09SS19TRUNNQVJLPXkKQ09ORklHX05FVEZJTFRF Uj15CiMgQ09ORklHX05FVEZJTFRFUl9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX05FVEZJTFRF Ul9BRFZBTkNFRCBpcyBub3Qgc2V0CgojCiMgQ29yZSBOZXRmaWx0ZXIgQ29uZmlndXJhdGlvbgoj CkNPTkZJR19ORVRGSUxURVJfTkVUTElOSz15CkNPTkZJR19ORVRGSUxURVJfTkVUTElOS19MT0c9 eQpDT05GSUdfTkZfQ09OTlRSQUNLPXkKQ09ORklHX05GX0NPTk5UUkFDS19TRUNNQVJLPXkKQ09O RklHX05GX0NPTk5UUkFDS19GVFA9eQpDT05GSUdfTkZfQ09OTlRSQUNLX0lSQz15CkNPTkZJR19O Rl9DT05OVFJBQ0tfU0lQPXkKQ09ORklHX05GX0NUX05FVExJTks9eQpDT05GSUdfTkVURklMVEVS X1hUQUJMRVM9eQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9DT05OU0VDTUFSSz15CkNPTkZJ R19ORVRGSUxURVJfWFRfVEFSR0VUX01BUks9eQpDT05GSUdfTkVURklMVEVSX1hUX1RBUkdFVF9O RkxPRz15CkNPTkZJR19ORVRGSUxURVJfWFRfVEFSR0VUX1NFQ01BUks9eQpDT05GSUdfTkVURklM VEVSX1hUX1RBUkdFVF9UQ1BNU1M9eQpDT05GSUdfTkVURklMVEVSX1hUX01BVENIX0NPTk5UUkFD Sz15CkNPTkZJR19ORVRGSUxURVJfWFRfTUFUQ0hfTUFSSz15CkNPTkZJR19ORVRGSUxURVJfWFRf TUFUQ0hfUE9MSUNZPXkKQ09ORklHX05FVEZJTFRFUl9YVF9NQVRDSF9TVEFURT15CiMgQ09ORklH X0lQX1ZTIGlzIG5vdCBzZXQKCiMKIyBJUDogTmV0ZmlsdGVyIENvbmZpZ3VyYXRpb24KIwpDT05G SUdfTkZfREVGUkFHX0lQVjQ9eQpDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjQ9eQpDT05GSUdfTkZf Q09OTlRSQUNLX1BST0NfQ09NUEFUPXkKQ09ORklHX0lQX05GX0lQVEFCTEVTPXkKQ09ORklHX0lQ X05GX0ZJTFRFUj15CkNPTkZJR19JUF9ORl9UQVJHRVRfUkVKRUNUPXkKQ09ORklHX0lQX05GX1RB UkdFVF9MT0c9eQpDT05GSUdfSVBfTkZfVEFSR0VUX1VMT0c9eQpDT05GSUdfTkZfTkFUPXkKQ09O RklHX05GX05BVF9ORUVERUQ9eQpDT05GSUdfSVBfTkZfVEFSR0VUX01BU1FVRVJBREU9eQpDT05G SUdfTkZfTkFUX0ZUUD15CkNPTkZJR19ORl9OQVRfSVJDPXkKIyBDT05GSUdfTkZfTkFUX1RGVFAg aXMgbm90IHNldAojIENPTkZJR19ORl9OQVRfQU1BTkRBIGlzIG5vdCBzZXQKIyBDT05GSUdfTkZf TkFUX1BQVFAgaXMgbm90IHNldAojIENPTkZJR19ORl9OQVRfSDMyMyBpcyBub3Qgc2V0CkNPTkZJ R19ORl9OQVRfU0lQPXkKQ09ORklHX0lQX05GX01BTkdMRT15CgojCiMgSVB2NjogTmV0ZmlsdGVy IENvbmZpZ3VyYXRpb24KIwpDT05GSUdfTkZfQ09OTlRSQUNLX0lQVjY9eQpDT05GSUdfSVA2X05G X0lQVEFCTEVTPXkKQ09ORklHX0lQNl9ORl9NQVRDSF9JUFY2SEVBREVSPXkKQ09ORklHX0lQNl9O Rl9UQVJHRVRfTE9HPXkKQ09ORklHX0lQNl9ORl9GSUxURVI9eQpDT05GSUdfSVA2X05GX1RBUkdF VF9SRUpFQ1Q9eQpDT05GSUdfSVA2X05GX01BTkdMRT15CiMgQ09ORklHX0lQX0RDQ1AgaXMgbm90 IHNldAojIENPTkZJR19JUF9TQ1RQIGlzIG5vdCBzZXQKIyBDT05GSUdfVElQQyBpcyBub3Qgc2V0 CiMgQ09ORklHX0FUTSBpcyBub3Qgc2V0CiMgQ09ORklHX0JSSURHRSBpcyBub3Qgc2V0CiMgQ09O RklHX05FVF9EU0EgaXMgbm90IHNldAojIENPTkZJR19WTEFOXzgwMjFRIGlzIG5vdCBzZXQKIyBD T05GSUdfREVDTkVUIGlzIG5vdCBzZXQKQ09ORklHX0xMQz15CiMgQ09ORklHX0xMQzIgaXMgbm90 IHNldAojIENPTkZJR19JUFggaXMgbm90IHNldAojIENPTkZJR19BVEFMSyBpcyBub3Qgc2V0CiMg Q09ORklHX1gyNSBpcyBub3Qgc2V0CiMgQ09ORklHX0xBUEIgaXMgbm90IHNldAojIENPTkZJR19F Q09ORVQgaXMgbm90IHNldAojIENPTkZJR19XQU5fUk9VVEVSIGlzIG5vdCBzZXQKQ09ORklHX05F VF9TQ0hFRD15CgojCiMgUXVldWVpbmcvU2NoZWR1bGluZwojCiMgQ09ORklHX05FVF9TQ0hfQ0JR IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX1NDSF9IVEIgaXMgbm90IHNldAojIENPTkZJR19ORVRf U0NIX0hGU0MgaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX1BSSU8gaXMgbm90IHNldAojIENP TkZJR19ORVRfU0NIX01VTFRJUSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hfUkVEIGlzIG5v dCBzZXQKIyBDT05GSUdfTkVUX1NDSF9TRlEgaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX1RF UUwgaXMgbm90IHNldAojIENPTkZJR19ORVRfU0NIX1RCRiBpcyBub3Qgc2V0CiMgQ09ORklHX05F VF9TQ0hfR1JFRCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hfRFNNQVJLIGlzIG5vdCBzZXQK IyBDT05GSUdfTkVUX1NDSF9ORVRFTSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQ0hfRFJSIGlz IG5vdCBzZXQKIyBDT05GSUdfTkVUX1NDSF9JTkdSRVNTIGlzIG5vdCBzZXQKCiMKIyBDbGFzc2lm aWNhdGlvbgojCkNPTkZJR19ORVRfQ0xTPXkKIyBDT05GSUdfTkVUX0NMU19CQVNJQyBpcyBub3Qg c2V0CiMgQ09ORklHX05FVF9DTFNfVENJTkRFWCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9DTFNf Uk9VVEU0IGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0NMU19GVyBpcyBub3Qgc2V0CiMgQ09ORklH X05FVF9DTFNfVTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0NMU19SU1ZQIGlzIG5vdCBzZXQK IyBDT05GSUdfTkVUX0NMU19SU1ZQNiBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9DTFNfRkxPVyBp cyBub3Qgc2V0CiMgQ09ORklHX05FVF9DTFNfQ0dST1VQIGlzIG5vdCBzZXQKQ09ORklHX05FVF9F TUFUQ0g9eQpDT05GSUdfTkVUX0VNQVRDSF9TVEFDSz0zMgojIENPTkZJR19ORVRfRU1BVENIX0NN UCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9FTUFUQ0hfTkJZVEUgaXMgbm90IHNldAojIENPTkZJ R19ORVRfRU1BVENIX1UzMiBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9FTUFUQ0hfTUVUQSBpcyBu b3Qgc2V0CiMgQ09ORklHX05FVF9FTUFUQ0hfVEVYVCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfQ0xT X0FDVD15CiMgQ09ORklHX05FVF9BQ1RfUE9MSUNFIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0FD VF9HQUNUIGlzIG5vdCBzZXQKIyBDT05GSUdfTkVUX0FDVF9NSVJSRUQgaXMgbm90IHNldAojIENP TkZJR19ORVRfQUNUX0lQVCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9BQ1RfTkFUIGlzIG5vdCBz ZXQKIyBDT05GSUdfTkVUX0FDVF9QRURJVCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9BQ1RfU0lN UCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9BQ1RfU0tCRURJVCBpcyBub3Qgc2V0CkNPTkZJR19O RVRfU0NIX0ZJRk89eQojIENPTkZJR19EQ0IgaXMgbm90IHNldAoKIwojIE5ldHdvcmsgdGVzdGlu ZwojCiMgQ09ORklHX05FVF9QS1RHRU4gaXMgbm90IHNldApDT05GSUdfSEFNUkFESU89eQoKIwoj IFBhY2tldCBSYWRpbyBwcm90b2NvbHMKIwojIENPTkZJR19BWDI1IGlzIG5vdCBzZXQKIyBDT05G SUdfQ0FOIGlzIG5vdCBzZXQKIyBDT05GSUdfSVJEQSBpcyBub3Qgc2V0CiMgQ09ORklHX0JUIGlz IG5vdCBzZXQKIyBDT05GSUdfQUZfUlhSUEMgaXMgbm90IHNldAojIENPTkZJR19QSE9ORVQgaXMg bm90IHNldApDT05GSUdfRklCX1JVTEVTPXkKQ09ORklHX1dJUkVMRVNTPXkKQ09ORklHX0NGRzgw MjExPXkKIyBDT05GSUdfQ0ZHODAyMTFfUkVHX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX05MODAy MTE9eQpDT05GSUdfV0lSRUxFU1NfT0xEX1JFR1VMQVRPUlk9eQpDT05GSUdfV0lSRUxFU1NfRVhU PXkKQ09ORklHX1dJUkVMRVNTX0VYVF9TWVNGUz15CiMgQ09ORklHX0xJQjgwMjExIGlzIG5vdCBz ZXQKQ09ORklHX01BQzgwMjExPXkKCiMKIyBSYXRlIGNvbnRyb2wgYWxnb3JpdGhtIHNlbGVjdGlv bgojCkNPTkZJR19NQUM4MDIxMV9SQ19NSU5TVFJFTD15CiMgQ09ORklHX01BQzgwMjExX1JDX0RF RkFVTFRfUElEIGlzIG5vdCBzZXQKQ09ORklHX01BQzgwMjExX1JDX0RFRkFVTFRfTUlOU1RSRUw9 eQpDT05GSUdfTUFDODAyMTFfUkNfREVGQVVMVD0ibWluc3RyZWwiCiMgQ09ORklHX01BQzgwMjEx X01FU0ggaXMgbm90IHNldApDT05GSUdfTUFDODAyMTFfTEVEUz15CiMgQ09ORklHX01BQzgwMjEx X0RFQlVHRlMgaXMgbm90IHNldAojIENPTkZJR19NQUM4MDIxMV9ERUJVR19NRU5VIGlzIG5vdCBz ZXQKIyBDT05GSUdfV0lNQVggaXMgbm90IHNldApDT05GSUdfUkZLSUxMPXkKIyBDT05GSUdfUkZL SUxMX0lOUFVUIGlzIG5vdCBzZXQKQ09ORklHX1JGS0lMTF9MRURTPXkKIyBDT05GSUdfTkVUXzlQ IGlzIG5vdCBzZXQKCiMKIyBEZXZpY2UgRHJpdmVycwojCgojCiMgR2VuZXJpYyBEcml2ZXIgT3B0 aW9ucwojCkNPTkZJR19VRVZFTlRfSEVMUEVSX1BBVEg9Ii9zYmluL2hvdHBsdWciCkNPTkZJR19T VEFOREFMT05FPXkKQ09ORklHX1BSRVZFTlRfRklSTVdBUkVfQlVJTEQ9eQpDT05GSUdfRldfTE9B REVSPXkKQ09ORklHX0ZJUk1XQVJFX0lOX0tFUk5FTD15CkNPTkZJR19FWFRSQV9GSVJNV0FSRT0i IgojIENPTkZJR19ERUJVR19EUklWRVIgaXMgbm90IHNldApDT05GSUdfREVCVUdfREVWUkVTPXkK IyBDT05GSUdfU1lTX0hZUEVSVklTT1IgaXMgbm90IHNldApDT05GSUdfQ09OTkVDVE9SPXkKQ09O RklHX1BST0NfRVZFTlRTPXkKIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFSUE9S VCBpcyBub3Qgc2V0CkNPTkZJR19QTlA9eQpDT05GSUdfUE5QX0RFQlVHX01FU1NBR0VTPXkKCiMK IyBQcm90b2NvbHMKIwpDT05GSUdfUE5QQUNQST15CkNPTkZJR19CTEtfREVWPXkKIyBDT05GSUdf QkxLX0RFVl9GRCBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19DUFFfREEgaXMgbm90IHNldAojIENP TkZJR19CTEtfQ1BRX0NJU1NfREEgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0RBQzk2MCBp cyBub3Qgc2V0CiMgQ09ORklHX0JMS19ERVZfVU1FTSBpcyBub3Qgc2V0CiMgQ09ORklHX0JMS19E RVZfQ09XX0NPTU1PTiBpcyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX0xPT1A9eQojIENPTkZJR19C TEtfREVWX0NSWVBUT0xPT1AgaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX05CRCBpcyBub3Qg c2V0CiMgQ09ORklHX0JMS19ERVZfU1g4IGlzIG5vdCBzZXQKIyBDT05GSUdfQkxLX0RFVl9VQiBp cyBub3Qgc2V0CkNPTkZJR19CTEtfREVWX1JBTT15CkNPTkZJR19CTEtfREVWX1JBTV9DT1VOVD0x NgpDT05GSUdfQkxLX0RFVl9SQU1fU0laRT0xNjM4NAojIENPTkZJR19CTEtfREVWX1hJUCBpcyBu b3Qgc2V0CiMgQ09ORklHX0NEUk9NX1BLVENEVkQgaXMgbm90IHNldAojIENPTkZJR19BVEFfT1ZF Ul9FVEggaXMgbm90IHNldAojIENPTkZJR19CTEtfREVWX0hEIGlzIG5vdCBzZXQKQ09ORklHX01J U0NfREVWSUNFUz15CiMgQ09ORklHX0lCTV9BU00gaXMgbm90IHNldAojIENPTkZJR19QSEFOVE9N IGlzIG5vdCBzZXQKIyBDT05GSUdfU0dJX0lPQzQgaXMgbm90IHNldAojIENPTkZJR19USUZNX0NP UkUgaXMgbm90IHNldAojIENPTkZJR19JQ1M5MzJTNDAxIGlzIG5vdCBzZXQKIyBDT05GSUdfRU5D TE9TVVJFX1NFUlZJQ0VTIGlzIG5vdCBzZXQKIyBDT05GSUdfSFBfSUxPIGlzIG5vdCBzZXQKIyBD T05GSUdfQzJQT1JUIGlzIG5vdCBzZXQKCiMKIyBFRVBST00gc3VwcG9ydAojCiMgQ09ORklHX0VF UFJPTV9BVDI0IGlzIG5vdCBzZXQKIyBDT05GSUdfRUVQUk9NX0xFR0FDWSBpcyBub3Qgc2V0CiMg Q09ORklHX0VFUFJPTV85M0NYNiBpcyBub3Qgc2V0CkNPTkZJR19IQVZFX0lERT15CiMgQ09ORklH X0lERSBpcyBub3Qgc2V0CgojCiMgU0NTSSBkZXZpY2Ugc3VwcG9ydAojCiMgQ09ORklHX1JBSURf QVRUUlMgaXMgbm90IHNldApDT05GSUdfU0NTST15CkNPTkZJR19TQ1NJX0RNQT15CiMgQ09ORklH X1NDU0lfVEdUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9ORVRMSU5LIGlzIG5vdCBzZXQKQ09O RklHX1NDU0lfUFJPQ19GUz15CgojCiMgU0NTSSBzdXBwb3J0IHR5cGUgKGRpc2ssIHRhcGUsIENE LVJPTSkKIwpDT05GSUdfQkxLX0RFVl9TRD15CiMgQ09ORklHX0NIUl9ERVZfU1QgaXMgbm90IHNl dAojIENPTkZJR19DSFJfREVWX09TU1QgaXMgbm90IHNldApDT05GSUdfQkxLX0RFVl9TUj15CkNP TkZJR19CTEtfREVWX1NSX1ZFTkRPUj15CkNPTkZJR19DSFJfREVWX1NHPXkKIyBDT05GSUdfQ0hS X0RFVl9TQ0ggaXMgbm90IHNldAoKIwojIFNvbWUgU0NTSSBkZXZpY2VzIChlLmcuIENEIGp1a2Vi b3gpIHN1cHBvcnQgbXVsdGlwbGUgTFVOcwojCiMgQ09ORklHX1NDU0lfTVVMVElfTFVOIGlzIG5v dCBzZXQKQ09ORklHX1NDU0lfQ09OU1RBTlRTPXkKIyBDT05GSUdfU0NTSV9MT0dHSU5HIGlzIG5v dCBzZXQKIyBDT05GSUdfU0NTSV9TQ0FOX0FTWU5DIGlzIG5vdCBzZXQKCiMKIyBTQ1NJIFRyYW5z cG9ydHMKIwpDT05GSUdfU0NTSV9TUElfQVRUUlM9eQojIENPTkZJR19TQ1NJX0ZDX0FUVFJTIGlz IG5vdCBzZXQKIyBDT05GSUdfU0NTSV9JU0NTSV9BVFRSUyBpcyBub3Qgc2V0CiMgQ09ORklHX1ND U0lfU0FTX0FUVFJTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9TQVNfTElCU0FTIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0NTSV9TUlBfQVRUUlMgaXMgbm90IHNldAojIENPTkZJR19TQ1NJX0xPV0xF VkVMIGlzIG5vdCBzZXQKIyBDT05GSUdfU0NTSV9MT1dMRVZFTF9QQ01DSUEgaXMgbm90IHNldAoj IENPTkZJR19TQ1NJX0RIIGlzIG5vdCBzZXQKQ09ORklHX0FUQT15CiMgQ09ORklHX0FUQV9OT05T VEFOREFSRCBpcyBub3Qgc2V0CkNPTkZJR19BVEFfQUNQST15CkNPTkZJR19TQVRBX1BNUD15CkNP TkZJR19TQVRBX0FIQ0k9eQojIENPTkZJR19TQVRBX1NJTDI0IGlzIG5vdCBzZXQKQ09ORklHX0FU QV9TRkY9eQojIENPTkZJR19TQVRBX1NWVyBpcyBub3Qgc2V0CkNPTkZJR19BVEFfUElJWD15CiMg Q09ORklHX1NBVEFfTVYgaXMgbm90IHNldAojIENPTkZJR19TQVRBX05WIGlzIG5vdCBzZXQKIyBD T05GSUdfUERDX0FETUEgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1FTVE9SIGlzIG5vdCBzZXQK IyBDT05GSUdfU0FUQV9QUk9NSVNFIGlzIG5vdCBzZXQKIyBDT05GSUdfU0FUQV9TWDQgaXMgbm90 IHNldAojIENPTkZJR19TQVRBX1NJTCBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfU0lTIGlzIG5v dCBzZXQKIyBDT05GSUdfU0FUQV9VTEkgaXMgbm90IHNldAojIENPTkZJR19TQVRBX1ZJQSBpcyBu b3Qgc2V0CiMgQ09ORklHX1NBVEFfVklURVNTRSBpcyBub3Qgc2V0CiMgQ09ORklHX1NBVEFfSU5J QzE2MlggaXMgbm90IHNldAojIENPTkZJR19QQVRBX0FDUEkgaXMgbm90IHNldAojIENPTkZJR19Q QVRBX0FMSSBpcyBub3Qgc2V0CkNPTkZJR19QQVRBX0FNRD15CiMgQ09ORklHX1BBVEFfQVJUT1Ag aXMgbm90IHNldAojIENPTkZJR19QQVRBX0FUSUlYUCBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFf Q01ENjQwX1BDSSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfQ01ENjRYIGlzIG5vdCBzZXQKIyBD T05GSUdfUEFUQV9DUzU1MjAgaXMgbm90IHNldAojIENPTkZJR19QQVRBX0NTNTUzMCBpcyBub3Qg c2V0CiMgQ09ORklHX1BBVEFfQ1lQUkVTUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfRUZBUiBp cyBub3Qgc2V0CkNPTkZJR19BVEFfR0VORVJJQz15CiMgQ09ORklHX1BBVEFfSFBUMzY2IGlzIG5v dCBzZXQKIyBDT05GSUdfUEFUQV9IUFQzN1ggaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQVDNY Mk4gaXMgbm90IHNldAojIENPTkZJR19QQVRBX0hQVDNYMyBpcyBub3Qgc2V0CiMgQ09ORklHX1BB VEFfSVQ4MjFYIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9JVDgyMTMgaXMgbm90IHNldAojIENP TkZJR19QQVRBX0pNSUNST04gaXMgbm90IHNldAojIENPTkZJR19QQVRBX1RSSUZMRVggaXMgbm90 IHNldAojIENPTkZJR19QQVRBX01BUlZFTEwgaXMgbm90IHNldApDT05GSUdfUEFUQV9NUElJWD15 CkNPTkZJR19QQVRBX09MRFBJSVg9eQojIENPTkZJR19QQVRBX05FVENFTEwgaXMgbm90IHNldAoj IENPTkZJR19QQVRBX05JTkpBMzIgaXMgbm90IHNldAojIENPTkZJR19QQVRBX05TODc0MTAgaXMg bm90IHNldAojIENPTkZJR19QQVRBX05TODc0MTUgaXMgbm90IHNldAojIENPTkZJR19QQVRBX09Q VEkgaXMgbm90IHNldAojIENPTkZJR19QQVRBX09QVElETUEgaXMgbm90IHNldAojIENPTkZJR19Q QVRBX1BDTUNJQSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUERDX09MRCBpcyBub3Qgc2V0CiMg Q09ORklHX1BBVEFfUkFESVNZUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfUloxMDAwIGlzIG5v dCBzZXQKIyBDT05GSUdfUEFUQV9TQzEyMDAgaXMgbm90IHNldAojIENPTkZJR19QQVRBX1NFUlZF UldPUktTIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9QREMyMDI3WCBpcyBub3Qgc2V0CiMgQ09O RklHX1BBVEFfU0lMNjgwIGlzIG5vdCBzZXQKIyBDT05GSUdfUEFUQV9TSVMgaXMgbm90IHNldAoj IENPTkZJR19QQVRBX1ZJQSBpcyBub3Qgc2V0CiMgQ09ORklHX1BBVEFfV0lOQk9ORCBpcyBub3Qg c2V0CkNPTkZJR19QQVRBX1NDSD15CkNPTkZJR19NRD15CkNPTkZJR19CTEtfREVWX01EPXkKQ09O RklHX01EX0FVVE9ERVRFQ1Q9eQojIENPTkZJR19NRF9MSU5FQVIgaXMgbm90IHNldAojIENPTkZJ R19NRF9SQUlEMCBpcyBub3Qgc2V0CiMgQ09ORklHX01EX1JBSUQxIGlzIG5vdCBzZXQKIyBDT05G SUdfTURfUkFJRDEwIGlzIG5vdCBzZXQKIyBDT05GSUdfTURfUkFJRDQ1NiBpcyBub3Qgc2V0CiMg Q09ORklHX01EX01VTFRJUEFUSCBpcyBub3Qgc2V0CiMgQ09ORklHX01EX0ZBVUxUWSBpcyBub3Qg c2V0CkNPTkZJR19CTEtfREVWX0RNPXkKQ09ORklHX0RNX0RFQlVHPXkKQ09ORklHX0RNX0NSWVBU PXkKQ09ORklHX0RNX1NOQVBTSE9UPXkKQ09ORklHX0RNX01JUlJPUj15CkNPTkZJR19ETV9aRVJP PXkKQ09ORklHX0RNX01VTFRJUEFUSD15CkNPTkZJR19ETV9ERUxBWT15CkNPTkZJR19ETV9VRVZF TlQ9eQojIENPTkZJR19GVVNJT04gaXMgbm90IHNldAoKIwojIElFRUUgMTM5NCAoRmlyZVdpcmUp IHN1cHBvcnQKIwoKIwojIEVuYWJsZSBvbmx5IG9uZSBvZiB0aGUgdHdvIHN0YWNrcywgdW5sZXNz IHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZwojCiMgQ09ORklHX0ZJUkVXSVJFIGlzIG5vdCBz ZXQKIyBDT05GSUdfSUVFRTEzOTQgaXMgbm90IHNldAojIENPTkZJR19JMk8gaXMgbm90IHNldApD T05GSUdfTUFDSU5UT1NIX0RSSVZFUlM9eQpDT05GSUdfTUFDX0VNVU1PVVNFQlROPXkKQ09ORklH X05FVERFVklDRVM9eQojIENPTkZJR19JRkIgaXMgbm90IHNldAojIENPTkZJR19EVU1NWSBpcyBu b3Qgc2V0CiMgQ09ORklHX0JPTkRJTkcgaXMgbm90IHNldAojIENPTkZJR19NQUNWTEFOIGlzIG5v dCBzZXQKIyBDT05GSUdfRVFVQUxJWkVSIGlzIG5vdCBzZXQKIyBDT05GSUdfVFVOIGlzIG5vdCBz ZXQKIyBDT05GSUdfVkVUSCBpcyBub3Qgc2V0CiMgQ09ORklHX05FVF9TQjEwMDAgaXMgbm90IHNl dAojIENPTkZJR19BUkNORVQgaXMgbm90IHNldApDT05GSUdfUEhZTElCPXkKCiMKIyBNSUkgUEhZ IGRldmljZSBkcml2ZXJzCiMKIyBDT05GSUdfTUFSVkVMTF9QSFkgaXMgbm90IHNldAojIENPTkZJ R19EQVZJQ09NX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX1FTRU1JX1BIWSBpcyBub3Qgc2V0CiMg Q09ORklHX0xYVF9QSFkgaXMgbm90IHNldAojIENPTkZJR19DSUNBREFfUEhZIGlzIG5vdCBzZXQK IyBDT05GSUdfVklURVNTRV9QSFkgaXMgbm90IHNldAojIENPTkZJR19TTVNDX1BIWSBpcyBub3Qg c2V0CiMgQ09ORklHX0JST0FEQ09NX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX0lDUExVU19QSFkg aXMgbm90IHNldAojIENPTkZJR19SRUFMVEVLX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX05BVElP TkFMX1BIWSBpcyBub3Qgc2V0CiMgQ09ORklHX1NURTEwWFAgaXMgbm90IHNldAojIENPTkZJR19M U0lfRVQxMDExQ19QSFkgaXMgbm90IHNldAojIENPTkZJR19GSVhFRF9QSFkgaXMgbm90IHNldAoj IENPTkZJR19NRElPX0JJVEJBTkcgaXMgbm90IHNldApDT05GSUdfTkVUX0VUSEVSTkVUPXkKQ09O RklHX01JST15CiMgQ09ORklHX0hBUFBZTUVBTCBpcyBub3Qgc2V0CiMgQ09ORklHX1NVTkdFTSBp cyBub3Qgc2V0CiMgQ09ORklHX0NBU1NJTkkgaXMgbm90IHNldApDT05GSUdfTkVUX1ZFTkRPUl8z Q09NPXkKIyBDT05GSUdfVk9SVEVYIGlzIG5vdCBzZXQKIyBDT05GSUdfVFlQSE9PTiBpcyBub3Qg c2V0CkNPTkZJR19ORVRfVFVMSVA9eQojIENPTkZJR19ERTIxMDRYIGlzIG5vdCBzZXQKIyBDT05G SUdfVFVMSVAgaXMgbm90IHNldAojIENPTkZJR19ERTRYNSBpcyBub3Qgc2V0CiMgQ09ORklHX1dJ TkJPTkRfODQwIGlzIG5vdCBzZXQKIyBDT05GSUdfRE05MTAyIGlzIG5vdCBzZXQKIyBDT05GSUdf VUxJNTI2WCBpcyBub3Qgc2V0CiMgQ09ORklHX1BDTUNJQV9YSVJDT00gaXMgbm90IHNldAojIENP TkZJR19IUDEwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0lCTV9ORVdfRU1BQ19aTUlJIGlzIG5vdCBz ZXQKIyBDT05GSUdfSUJNX05FV19FTUFDX1JHTUlJIGlzIG5vdCBzZXQKIyBDT05GSUdfSUJNX05F V19FTUFDX1RBSCBpcyBub3Qgc2V0CiMgQ09ORklHX0lCTV9ORVdfRU1BQ19FTUFDNCBpcyBub3Qg c2V0CiMgQ09ORklHX0lCTV9ORVdfRU1BQ19OT19GTE9XX0NUUkwgaXMgbm90IHNldAojIENPTkZJ R19JQk1fTkVXX0VNQUNfTUFMX0NMUl9JQ0lOVFNUQVQgaXMgbm90IHNldAojIENPTkZJR19JQk1f TkVXX0VNQUNfTUFMX0NPTU1PTl9FUlIgaXMgbm90IHNldApDT05GSUdfTkVUX1BDST15CiMgQ09O RklHX1BDTkVUMzIgaXMgbm90IHNldAojIENPTkZJR19BTUQ4MTExX0VUSCBpcyBub3Qgc2V0CiMg Q09ORklHX0FEQVBURUNfU1RBUkZJUkUgaXMgbm90IHNldAojIENPTkZJR19CNDQgaXMgbm90IHNl dApDT05GSUdfRk9SQ0VERVRIPXkKIyBDT05GSUdfRk9SQ0VERVRIX05BUEkgaXMgbm90IHNldApD T05GSUdfRTEwMD15CiMgQ09ORklHX0ZFQUxOWCBpcyBub3Qgc2V0CiMgQ09ORklHX05BVFNFTUkg aXMgbm90IHNldApDT05GSUdfTkUyS19QQ0k9eQojIENPTkZJR184MTM5Q1AgaXMgbm90IHNldApD T05GSUdfODEzOVRPTz15CiMgQ09ORklHXzgxMzlUT09fUElPIGlzIG5vdCBzZXQKIyBDT05GSUdf ODEzOVRPT19UVU5FX1RXSVNURVIgaXMgbm90IHNldAojIENPTkZJR184MTM5VE9PXzgxMjkgaXMg bm90IHNldAojIENPTkZJR184MTM5X09MRF9SWF9SRVNFVCBpcyBub3Qgc2V0CiMgQ09ORklHX1I2 MDQwIGlzIG5vdCBzZXQKIyBDT05GSUdfU0lTOTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfRVBJQzEw MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NNU0M5NDIwIGlzIG5vdCBzZXQKIyBDT05GSUdfU1VOREFO Q0UgaXMgbm90IHNldAojIENPTkZJR19UTEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfVklBX1JISU5F IGlzIG5vdCBzZXQKIyBDT05GSUdfU0M5MjAzMSBpcyBub3Qgc2V0CiMgQ09ORklHX0FUTDIgaXMg bm90IHNldApDT05GSUdfTkVUREVWXzEwMDA9eQojIENPTkZJR19BQ0VOSUMgaXMgbm90IHNldAoj IENPTkZJR19ETDJLIGlzIG5vdCBzZXQKQ09ORklHX0UxMDAwPXkKQ09ORklHX0UxMDAwRT15CiMg Q09ORklHX0lQMTAwMCBpcyBub3Qgc2V0CiMgQ09ORklHX0lHQiBpcyBub3Qgc2V0CiMgQ09ORklH X05TODM4MjAgaXMgbm90IHNldAojIENPTkZJR19IQU1BQ0hJIGlzIG5vdCBzZXQKIyBDT05GSUdf WUVMTE9XRklOIGlzIG5vdCBzZXQKQ09ORklHX1I4MTY5PXkKIyBDT05GSUdfU0lTMTkwIGlzIG5v dCBzZXQKIyBDT05GSUdfU0tHRSBpcyBub3Qgc2V0CkNPTkZJR19TS1kyPXkKIyBDT05GSUdfU0tZ Ml9ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJQV9WRUxPQ0lUWSBpcyBub3Qgc2V0CkNPTkZJ R19USUdPTjM9eQpDT05GSUdfQk5YMj15CiMgQ09ORklHX1FMQTNYWFggaXMgbm90IHNldAojIENP TkZJR19BVEwxIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRMMUUgaXMgbm90IHNldAojIENPTkZJR19K TUUgaXMgbm90IHNldApDT05GSUdfTkVUREVWXzEwMDAwPXkKIyBDT05GSUdfQ0hFTFNJT19UMSBp cyBub3Qgc2V0CkNPTkZJR19DSEVMU0lPX1QzX0RFUEVORFM9eQojIENPTkZJR19DSEVMU0lPX1Qz IGlzIG5vdCBzZXQKIyBDT05GSUdfRU5JQyBpcyBub3Qgc2V0CiMgQ09ORklHX0lYR0JFIGlzIG5v dCBzZXQKIyBDT05GSUdfSVhHQiBpcyBub3Qgc2V0CiMgQ09ORklHX1MySU8gaXMgbm90IHNldAoj IENPTkZJR19NWVJJMTBHRSBpcyBub3Qgc2V0CiMgQ09ORklHX05FVFhFTl9OSUMgaXMgbm90IHNl dAojIENPTkZJR19OSVUgaXMgbm90IHNldAojIENPTkZJR19NTFg0X0VOIGlzIG5vdCBzZXQKIyBD T05GSUdfTUxYNF9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfVEVIVVRJIGlzIG5vdCBzZXQKIyBD T05GSUdfQk5YMlggaXMgbm90IHNldAojIENPTkZJR19RTEdFIGlzIG5vdCBzZXQKIyBDT05GSUdf U0ZDIGlzIG5vdCBzZXQKQ09ORklHX1RSPXkKIyBDT05GSUdfSUJNT0wgaXMgbm90IHNldAojIENP TkZJR18zQzM1OSBpcyBub3Qgc2V0CiMgQ09ORklHX1RNUzM4MFRSIGlzIG5vdCBzZXQKCiMKIyBX aXJlbGVzcyBMQU4KIwojIENPTkZJR19XTEFOX1BSRTgwMjExIGlzIG5vdCBzZXQKQ09ORklHX1dM QU5fODAyMTE9eQojIENPTkZJR19QQ01DSUFfUkFZQ1MgaXMgbm90IHNldAojIENPTkZJR19MSUJF UlRBUyBpcyBub3Qgc2V0CiMgQ09ORklHX0xJQkVSVEFTX1RISU5GSVJNIGlzIG5vdCBzZXQKIyBD T05GSUdfQUlSTyBpcyBub3Qgc2V0CiMgQ09ORklHX0hFUk1FUyBpcyBub3Qgc2V0CiMgQ09ORklH X0FUTUVMIGlzIG5vdCBzZXQKIyBDT05GSUdfQUlST19DUyBpcyBub3Qgc2V0CiMgQ09ORklHX1BD TUNJQV9XTDM1MDEgaXMgbm90IHNldAojIENPTkZJR19QUklTTTU0IGlzIG5vdCBzZXQKIyBDT05G SUdfVVNCX1pEMTIwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9ORVRfUk5ESVNfV0xBTiBpcyBu b3Qgc2V0CiMgQ09ORklHX1JUTDgxODAgaXMgbm90IHNldAojIENPTkZJR19SVEw4MTg3IGlzIG5v dCBzZXQKIyBDT05GSUdfQURNODIxMSBpcyBub3Qgc2V0CiMgQ09ORklHX01BQzgwMjExX0hXU0lN IGlzIG5vdCBzZXQKIyBDT05GSUdfUDU0X0NPTU1PTiBpcyBub3Qgc2V0CkNPTkZJR19BVEg1Sz15 CiMgQ09ORklHX0FUSDVLX0RFQlVHIGlzIG5vdCBzZXQKIyBDT05GSUdfQVRIOUsgaXMgbm90IHNl dAojIENPTkZJR19JUFcyMTAwIGlzIG5vdCBzZXQKIyBDT05GSUdfSVBXMjIwMCBpcyBub3Qgc2V0 CiMgQ09ORklHX0lXTENPUkUgaXMgbm90IHNldAojIENPTkZJR19JV0xXSUZJX0xFRFMgaXMgbm90 IHNldAojIENPTkZJR19JV0xBR04gaXMgbm90IHNldAojIENPTkZJR19JV0wzOTQ1IGlzIG5vdCBz ZXQKIyBDT05GSUdfSE9TVEFQIGlzIG5vdCBzZXQKIyBDT05GSUdfQjQzIGlzIG5vdCBzZXQKIyBD T05GSUdfQjQzTEVHQUNZIGlzIG5vdCBzZXQKIyBDT05GSUdfWkQxMjExUlcgaXMgbm90IHNldAoj IENPTkZJR19SVDJYMDAgaXMgbm90IHNldAoKIwojIEVuYWJsZSBXaU1BWCAoTmV0d29ya2luZyBv cHRpb25zKSB0byBzZWUgdGhlIFdpTUFYIGRyaXZlcnMKIwoKIwojIFVTQiBOZXR3b3JrIEFkYXB0 ZXJzCiMKIyBDT05GSUdfVVNCX0NBVEMgaXMgbm90IHNldAojIENPTkZJR19VU0JfS0FXRVRIIGlz IG5vdCBzZXQKIyBDT05GSUdfVVNCX1BFR0FTVVMgaXMgbm90IHNldAojIENPTkZJR19VU0JfUlRM ODE1MCBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9VU0JORVQgaXMgbm90IHNldAojIENPTkZJR19V U0JfSFNPIGlzIG5vdCBzZXQKQ09ORklHX05FVF9QQ01DSUE9eQojIENPTkZJR19QQ01DSUFfM0M1 ODkgaXMgbm90IHNldAojIENPTkZJR19QQ01DSUFfM0M1NzQgaXMgbm90IHNldAojIENPTkZJR19Q Q01DSUFfRk1WSjE4WCBpcyBub3Qgc2V0CiMgQ09ORklHX1BDTUNJQV9QQ05FVCBpcyBub3Qgc2V0 CiMgQ09ORklHX1BDTUNJQV9OTUNMQU4gaXMgbm90IHNldAojIENPTkZJR19QQ01DSUFfU01DOTFD OTIgaXMgbm90IHNldAojIENPTkZJR19QQ01DSUFfWElSQzJQUyBpcyBub3Qgc2V0CiMgQ09ORklH X1BDTUNJQV9BWE5FVCBpcyBub3Qgc2V0CiMgQ09ORklHX1BDTUNJQV9JQk1UUiBpcyBub3Qgc2V0 CiMgQ09ORklHX1dBTiBpcyBub3Qgc2V0CkNPTkZJR19GRERJPXkKIyBDT05GSUdfREVGWFggaXMg bm90IHNldAojIENPTkZJR19TS0ZQIGlzIG5vdCBzZXQKIyBDT05GSUdfSElQUEkgaXMgbm90IHNl dAojIENPTkZJR19QUFAgaXMgbm90IHNldAojIENPTkZJR19TTElQIGlzIG5vdCBzZXQKIyBDT05G SUdfTkVUX0ZDIGlzIG5vdCBzZXQKQ09ORklHX05FVENPTlNPTEU9eQojIENPTkZJR19ORVRDT05T T0xFX0RZTkFNSUMgaXMgbm90IHNldApDT05GSUdfTkVUUE9MTD15CiMgQ09ORklHX05FVFBPTExf VFJBUCBpcyBub3Qgc2V0CkNPTkZJR19ORVRfUE9MTF9DT05UUk9MTEVSPXkKIyBDT05GSUdfSVNE TiBpcyBub3Qgc2V0CiMgQ09ORklHX1BIT05FIGlzIG5vdCBzZXQKCiMKIyBJbnB1dCBkZXZpY2Ug c3VwcG9ydAojCkNPTkZJR19JTlBVVD15CkNPTkZJR19JTlBVVF9GRl9NRU1MRVNTPXkKQ09ORklH X0lOUFVUX1BPTExERVY9eQoKIwojIFVzZXJsYW5kIGludGVyZmFjZXMKIwpDT05GSUdfSU5QVVRf TU9VU0VERVY9eQojIENPTkZJR19JTlBVVF9NT1VTRURFVl9QU0FVWCBpcyBub3Qgc2V0CkNPTkZJ R19JTlBVVF9NT1VTRURFVl9TQ1JFRU5fWD0xMDI0CkNPTkZJR19JTlBVVF9NT1VTRURFVl9TQ1JF RU5fWT03NjgKIyBDT05GSUdfSU5QVVRfSk9ZREVWIGlzIG5vdCBzZXQKQ09ORklHX0lOUFVUX0VW REVWPXkKIyBDT05GSUdfSU5QVVRfRVZCVUcgaXMgbm90IHNldAoKIwojIElucHV0IERldmljZSBE cml2ZXJzCiMKQ09ORklHX0lOUFVUX0tFWUJPQVJEPXkKQ09ORklHX0tFWUJPQVJEX0FUS0JEPXkK IyBDT05GSUdfS0VZQk9BUkRfU1VOS0JEIGlzIG5vdCBzZXQKIyBDT05GSUdfS0VZQk9BUkRfTEtL QkQgaXMgbm90IHNldAojIENPTkZJR19LRVlCT0FSRF9YVEtCRCBpcyBub3Qgc2V0CiMgQ09ORklH X0tFWUJPQVJEX05FV1RPTiBpcyBub3Qgc2V0CiMgQ09ORklHX0tFWUJPQVJEX1NUT1dBV0FZIGlz IG5vdCBzZXQKQ09ORklHX0lOUFVUX01PVVNFPXkKQ09ORklHX01PVVNFX1BTMj15CkNPTkZJR19N T1VTRV9QUzJfQUxQUz15CkNPTkZJR19NT1VTRV9QUzJfTE9HSVBTMlBQPXkKQ09ORklHX01PVVNF X1BTMl9TWU5BUFRJQ1M9eQpDT05GSUdfTU9VU0VfUFMyX0xJRkVCT09LPXkKQ09ORklHX01PVVNF X1BTMl9UUkFDS1BPSU5UPXkKIyBDT05GSUdfTU9VU0VfUFMyX0VMQU5URUNIIGlzIG5vdCBzZXQK IyBDT05GSUdfTU9VU0VfUFMyX1RPVUNIS0lUIGlzIG5vdCBzZXQKIyBDT05GSUdfTU9VU0VfU0VS SUFMIGlzIG5vdCBzZXQKIyBDT05GSUdfTU9VU0VfQVBQTEVUT1VDSCBpcyBub3Qgc2V0CiMgQ09O RklHX01PVVNFX0JDTTU5NzQgaXMgbm90IHNldAojIENPTkZJR19NT1VTRV9WU1hYWEFBIGlzIG5v dCBzZXQKQ09ORklHX0lOUFVUX0pPWVNUSUNLPXkKIyBDT05GSUdfSk9ZU1RJQ0tfQU5BTE9HIGlz IG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQTNEIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJ Q0tfQURJIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfQ09CUkEgaXMgbm90IHNldAojIENP TkZJR19KT1lTVElDS19HRjJLIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfR1JJUCBpcyBu b3Qgc2V0CiMgQ09ORklHX0pPWVNUSUNLX0dSSVBfTVAgaXMgbm90IHNldAojIENPTkZJR19KT1lT VElDS19HVUlMTEVNT1QgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19JTlRFUkFDVCBpcyBu b3Qgc2V0CiMgQ09ORklHX0pPWVNUSUNLX1NJREVXSU5ERVIgaXMgbm90IHNldAojIENPTkZJR19K T1lTVElDS19UTURDIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfSUZPUkNFIGlzIG5vdCBz ZXQKIyBDT05GSUdfSk9ZU1RJQ0tfV0FSUklPUiBpcyBub3Qgc2V0CiMgQ09ORklHX0pPWVNUSUNL X01BR0VMTEFOIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfU1BBQ0VPUkIgaXMgbm90IHNl dAojIENPTkZJR19KT1lTVElDS19TUEFDRUJBTEwgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElD S19TVElOR0VSIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfVFdJREpPWSBpcyBub3Qgc2V0 CiMgQ09ORklHX0pPWVNUSUNLX1pIRU5IVUEgaXMgbm90IHNldAojIENPTkZJR19KT1lTVElDS19K T1lEVU1QIGlzIG5vdCBzZXQKIyBDT05GSUdfSk9ZU1RJQ0tfWFBBRCBpcyBub3Qgc2V0CkNPTkZJ R19JTlBVVF9UQUJMRVQ9eQojIENPTkZJR19UQUJMRVRfVVNCX0FDRUNBRCBpcyBub3Qgc2V0CiMg Q09ORklHX1RBQkxFVF9VU0JfQUlQVEVLIGlzIG5vdCBzZXQKIyBDT05GSUdfVEFCTEVUX1VTQl9H VENPIGlzIG5vdCBzZXQKIyBDT05GSUdfVEFCTEVUX1VTQl9LQlRBQiBpcyBub3Qgc2V0CiMgQ09O RklHX1RBQkxFVF9VU0JfV0FDT00gaXMgbm90IHNldApDT05GSUdfSU5QVVRfVE9VQ0hTQ1JFRU49 eQojIENPTkZJR19UT1VDSFNDUkVFTl9GVUpJVFNVIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hT Q1JFRU5fR1VOWkUgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9FTE8gaXMgbm90IHNl dAojIENPTkZJR19UT1VDSFNDUkVFTl9XQUNPTV9XODAwMSBpcyBub3Qgc2V0CiMgQ09ORklHX1RP VUNIU0NSRUVOX01UT1VDSCBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX0lORVhJTyBp cyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX01LNzEyIGlzIG5vdCBzZXQKIyBDT05GSUdf VE9VQ0hTQ1JFRU5fUEVOTU9VTlQgaXMgbm90IHNldAojIENPTkZJR19UT1VDSFNDUkVFTl9UT1VD SFJJR0hUIGlzIG5vdCBzZXQKIyBDT05GSUdfVE9VQ0hTQ1JFRU5fVE9VQ0hXSU4gaXMgbm90IHNl dAojIENPTkZJR19UT1VDSFNDUkVFTl9VU0JfQ09NUE9TSVRFIGlzIG5vdCBzZXQKIyBDT05GSUdf VE9VQ0hTQ1JFRU5fVE9VQ0hJVDIxMyBpcyBub3Qgc2V0CiMgQ09ORklHX1RPVUNIU0NSRUVOX1RT QzIwMDcgaXMgbm90IHNldApDT05GSUdfSU5QVVRfTUlTQz15CiMgQ09ORklHX0lOUFVUX1BDU1BL UiBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX0FQQU5FTCBpcyBub3Qgc2V0CiMgQ09ORklHX0lO UFVUX0FUTEFTX0JUTlMgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9BVElfUkVNT1RFIGlzIG5v dCBzZXQKIyBDT05GSUdfSU5QVVRfQVRJX1JFTU9URTIgaXMgbm90IHNldAojIENPTkZJR19JTlBV VF9LRVlTUEFOX1JFTU9URSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX1BPV0VSTUFURSBpcyBu b3Qgc2V0CiMgQ09ORklHX0lOUFVUX1lFQUxJTksgaXMgbm90IHNldAojIENPTkZJR19JTlBVVF9D TTEwOSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOUFVUX1VJTlBVVCBpcyBub3Qgc2V0CgojCiMgSGFy ZHdhcmUgSS9PIHBvcnRzCiMKQ09ORklHX1NFUklPPXkKQ09ORklHX1NFUklPX0k4MDQyPXkKQ09O RklHX1NFUklPX1NFUlBPUlQ9eQojIENPTkZJR19TRVJJT19DVDgyQzcxMCBpcyBub3Qgc2V0CiMg Q09ORklHX1NFUklPX1BDSVBTMiBpcyBub3Qgc2V0CkNPTkZJR19TRVJJT19MSUJQUzI9eQojIENP TkZJR19TRVJJT19SQVcgaXMgbm90IHNldAojIENPTkZJR19HQU1FUE9SVCBpcyBub3Qgc2V0Cgoj CiMgQ2hhcmFjdGVyIGRldmljZXMKIwpDT05GSUdfVlQ9eQpDT05GSUdfQ09OU09MRV9UUkFOU0xB VElPTlM9eQpDT05GSUdfVlRfQ09OU09MRT15CkNPTkZJR19IV19DT05TT0xFPXkKQ09ORklHX1ZU X0hXX0NPTlNPTEVfQklORElORz15CkNPTkZJR19ERVZLTUVNPXkKQ09ORklHX1NFUklBTF9OT05T VEFOREFSRD15CiMgQ09ORklHX0NPTVBVVE9ORSBpcyBub3Qgc2V0CiMgQ09ORklHX1JPQ0tFVFBP UlQgaXMgbm90IHNldAojIENPTkZJR19DWUNMQURFUyBpcyBub3Qgc2V0CiMgQ09ORklHX0RJR0lF UENBIGlzIG5vdCBzZXQKIyBDT05GSUdfTU9YQV9JTlRFTExJTyBpcyBub3Qgc2V0CiMgQ09ORklH X01PWEFfU01BUlRJTyBpcyBub3Qgc2V0CiMgQ09ORklHX0lTSSBpcyBub3Qgc2V0CiMgQ09ORklH X1NZTkNMSU5LIGlzIG5vdCBzZXQKIyBDT05GSUdfU1lOQ0xJTktNUCBpcyBub3Qgc2V0CiMgQ09O RklHX1NZTkNMSU5LX0dUIGlzIG5vdCBzZXQKIyBDT05GSUdfTl9IRExDIGlzIG5vdCBzZXQKIyBD T05GSUdfUklTQ09NOCBpcyBub3Qgc2V0CiMgQ09ORklHX1NQRUNJQUxJWCBpcyBub3Qgc2V0CiMg Q09ORklHX1NYIGlzIG5vdCBzZXQKIyBDT05GSUdfUklPIGlzIG5vdCBzZXQKIyBDT05GSUdfU1RB TERSViBpcyBub3Qgc2V0CiMgQ09ORklHX05PWk9NSSBpcyBub3Qgc2V0CgojCiMgU2VyaWFsIGRy aXZlcnMKIwpDT05GSUdfU0VSSUFMXzgyNTA9eQpDT05GSUdfU0VSSUFMXzgyNTBfQ09OU09MRT15 CkNPTkZJR19GSVhfRUFSTFlDT05fTUVNPXkKQ09ORklHX1NFUklBTF84MjUwX1BDST15CkNPTkZJ R19TRVJJQUxfODI1MF9QTlA9eQojIENPTkZJR19TRVJJQUxfODI1MF9DUyBpcyBub3Qgc2V0CkNP TkZJR19TRVJJQUxfODI1MF9OUl9VQVJUUz0zMgpDT05GSUdfU0VSSUFMXzgyNTBfUlVOVElNRV9V QVJUUz00CkNPTkZJR19TRVJJQUxfODI1MF9FWFRFTkRFRD15CkNPTkZJR19TRVJJQUxfODI1MF9N QU5ZX1BPUlRTPXkKQ09ORklHX1NFUklBTF84MjUwX1NIQVJFX0lSUT15CkNPTkZJR19TRVJJQUxf ODI1MF9ERVRFQ1RfSVJRPXkKQ09ORklHX1NFUklBTF84MjUwX1JTQT15CgojCiMgTm9uLTgyNTAg c2VyaWFsIHBvcnQgc3VwcG9ydAojCkNPTkZJR19TRVJJQUxfQ09SRT15CkNPTkZJR19TRVJJQUxf Q09SRV9DT05TT0xFPXkKIyBDT05GSUdfU0VSSUFMX0pTTSBpcyBub3Qgc2V0CkNPTkZJR19VTklY OThfUFRZUz15CiMgQ09ORklHX0RFVlBUU19NVUxUSVBMRV9JTlNUQU5DRVMgaXMgbm90IHNldAoj IENPTkZJR19MRUdBQ1lfUFRZUyBpcyBub3Qgc2V0CiMgQ09ORklHX0lQTUlfSEFORExFUiBpcyBu b3Qgc2V0CkNPTkZJR19IV19SQU5ET009eQpDT05GSUdfSFdfUkFORE9NX0lOVEVMPXkKQ09ORklH X0hXX1JBTkRPTV9BTUQ9eQpDT05GSUdfTlZSQU09eQojIENPTkZJR19SMzk2NCBpcyBub3Qgc2V0 CiMgQ09ORklHX0FQUExJQ09NIGlzIG5vdCBzZXQKCiMKIyBQQ01DSUEgY2hhcmFjdGVyIGRldmlj ZXMKIwojIENPTkZJR19TWU5DTElOS19DUyBpcyBub3Qgc2V0CiMgQ09ORklHX0NBUkRNQU5fNDAw MCBpcyBub3Qgc2V0CiMgQ09ORklHX0NBUkRNQU5fNDA0MCBpcyBub3Qgc2V0CiMgQ09ORklHX0lQ V0lSRUxFU1MgaXMgbm90IHNldAojIENPTkZJR19NV0FWRSBpcyBub3Qgc2V0CiMgQ09ORklHX1BD ODczNnhfR1BJTyBpcyBub3Qgc2V0CiMgQ09ORklHX1JBV19EUklWRVIgaXMgbm90IHNldApDT05G SUdfSFBFVD15CiMgQ09ORklHX0hQRVRfTU1BUCBpcyBub3Qgc2V0CiMgQ09ORklHX0hBTkdDSEVD S19USU1FUiBpcyBub3Qgc2V0CiMgQ09ORklHX1RDR19UUE0gaXMgbm90IHNldAojIENPTkZJR19U RUxDTE9DSyBpcyBub3Qgc2V0CkNPTkZJR19ERVZQT1JUPXkKQ09ORklHX0kyQz15CkNPTkZJR19J MkNfQk9BUkRJTkZPPXkKIyBDT05GSUdfSTJDX0NIQVJERVYgaXMgbm90IHNldApDT05GSUdfSTJD X0hFTFBFUl9BVVRPPXkKQ09ORklHX0kyQ19BTEdPQklUPXkKCiMKIyBJMkMgSGFyZHdhcmUgQnVz IHN1cHBvcnQKIwoKIwojIFBDIFNNQnVzIGhvc3QgY29udHJvbGxlciBkcml2ZXJzCiMKIyBDT05G SUdfSTJDX0FMSTE1MzUgaXMgbm90IHNldAojIENPTkZJR19JMkNfQUxJMTU2MyBpcyBub3Qgc2V0 CiMgQ09ORklHX0kyQ19BTEkxNVgzIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0FNRDc1NiBpcyBu b3Qgc2V0CiMgQ09ORklHX0kyQ19BTUQ4MTExIGlzIG5vdCBzZXQKQ09ORklHX0kyQ19JODAxPXkK IyBDT05GSUdfSTJDX0lTQ0ggaXMgbm90IHNldAojIENPTkZJR19JMkNfUElJWDQgaXMgbm90IHNl dAojIENPTkZJR19JMkNfTkZPUkNFMiBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19TSVM1NTk1IGlz IG5vdCBzZXQKIyBDT05GSUdfSTJDX1NJUzYzMCBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19TSVM5 NlggaXMgbm90IHNldAojIENPTkZJR19JMkNfVklBIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX1ZJ QVBSTyBpcyBub3Qgc2V0CgojCiMgSTJDIHN5c3RlbSBidXMgZHJpdmVycyAobW9zdGx5IGVtYmVk ZGVkIC8gc3lzdGVtLW9uLWNoaXApCiMKIyBDT05GSUdfSTJDX09DT1JFUyBpcyBub3Qgc2V0CiMg Q09ORklHX0kyQ19TSU1URUMgaXMgbm90IHNldAoKIwojIEV4dGVybmFsIEkyQy9TTUJ1cyBhZGFw dGVyIGRyaXZlcnMKIwojIENPTkZJR19JMkNfUEFSUE9SVF9MSUdIVCBpcyBub3Qgc2V0CiMgQ09O RklHX0kyQ19UQU9TX0VWTSBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19USU5ZX1VTQiBpcyBub3Qg c2V0CgojCiMgR3JhcGhpY3MgYWRhcHRlciBJMkMvRERDIGNoYW5uZWwgZHJpdmVycwojCiMgQ09O RklHX0kyQ19WT09ET08zIGlzIG5vdCBzZXQKCiMKIyBPdGhlciBJMkMvU01CdXMgYnVzIGRyaXZl cnMKIwojIENPTkZJR19JMkNfUENBX1BMQVRGT1JNIGlzIG5vdCBzZXQKCiMKIyBNaXNjZWxsYW5l b3VzIEkyQyBDaGlwIHN1cHBvcnQKIwojIENPTkZJR19EUzE2ODIgaXMgbm90IHNldAojIENPTkZJ R19TRU5TT1JTX1BDRjg1NzQgaXMgbm90IHNldAojIENPTkZJR19QQ0Y4NTc1IGlzIG5vdCBzZXQK IyBDT05GSUdfU0VOU09SU19QQ0E5NTM5IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19QQ0Y4 NTkxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19NQVg2ODc1IGlzIG5vdCBzZXQKIyBDT05G SUdfU0VOU09SU19UU0wyNTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfSTJDX0RFQlVHX0NPUkUgaXMg bm90IHNldAojIENPTkZJR19JMkNfREVCVUdfQUxHTyBpcyBub3Qgc2V0CiMgQ09ORklHX0kyQ19E RUJVR19CVVMgaXMgbm90IHNldAojIENPTkZJR19JMkNfREVCVUdfQ0hJUCBpcyBub3Qgc2V0CiMg Q09ORklHX1NQSSBpcyBub3Qgc2V0CkNPTkZJR19BUkNIX1dBTlRfT1BUSU9OQUxfR1BJT0xJQj15 CiMgQ09ORklHX0dQSU9MSUIgaXMgbm90IHNldAojIENPTkZJR19XMSBpcyBub3Qgc2V0CkNPTkZJ R19QT1dFUl9TVVBQTFk9eQojIENPTkZJR19QT1dFUl9TVVBQTFlfREVCVUcgaXMgbm90IHNldAoj IENPTkZJR19QREFfUE9XRVIgaXMgbm90IHNldAojIENPTkZJR19CQVRURVJZX0RTMjc2MCBpcyBu b3Qgc2V0CiMgQ09ORklHX0JBVFRFUllfQlEyN3gwMCBpcyBub3Qgc2V0CkNPTkZJR19IV01PTj15 CiMgQ09ORklHX0hXTU9OX1ZJRCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQUJJVFVHVVJV IGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19BQklUVUdVUlUzIGlzIG5vdCBzZXQKIyBDT05G SUdfU0VOU09SU19BRDc0MTQgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FENzQxOCBpcyBu b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURNMTAyMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP UlNfQURNMTAyNSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURNMTAyNiBpcyBub3Qgc2V0 CiMgQ09ORklHX1NFTlNPUlNfQURNMTAyOSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURN MTAzMSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURNOTI0MCBpcyBub3Qgc2V0CiMgQ09O RklHX1NFTlNPUlNfQURUNzQ2MiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MCBp cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfQURUNzQ3MyBpcyBub3Qgc2V0CiMgQ09ORklHX1NF TlNPUlNfQURUNzQ3NSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfSzhURU1QIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0VOU09SU19BU0IxMDAgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FU WFAxIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19EUzE2MjEgaXMgbm90IHNldAojIENPTkZJ R19TRU5TT1JTX0k1S19BTUIgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0Y3MTgwNUYgaXMg bm90IHNldAojIENPTkZJR19TRU5TT1JTX0Y3MTg4MkZHIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VO U09SU19GNzUzNzVTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19GU0NIRVIgaXMgbm90IHNl dAojIENPTkZJR19TRU5TT1JTX0ZTQ1BPUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfRlND SE1EIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19HTDUxOFNNIGlzIG5vdCBzZXQKIyBDT05G SUdfU0VOU09SU19HTDUyMFNNIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19DT1JFVEVNUCBp cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfSVQ4NyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP UlNfTE02MyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE03NSBpcyBub3Qgc2V0CiMgQ09O RklHX1NFTlNPUlNfTE03NyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE03OCBpcyBub3Qg c2V0CiMgQ09ORklHX1NFTlNPUlNfTE04MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE04 MyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE04NSBpcyBub3Qgc2V0CiMgQ09ORklHX1NF TlNPUlNfTE04NyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE05MCBpcyBub3Qgc2V0CiMg Q09ORklHX1NFTlNPUlNfTE05MiBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTE05MyBpcyBu b3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTFRDNDI0NSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNP UlNfTUFYMTYxOSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfTUFYNjY1MCBpcyBub3Qgc2V0 CiMgQ09ORklHX1NFTlNPUlNfUEM4NzM2MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfUEM4 NzQyNyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfU0lTNTU5NSBpcyBub3Qgc2V0CiMgQ09O RklHX1NFTlNPUlNfRE1FMTczNyBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfU01TQzQ3TTEg aXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1NNU0M0N00xOTIgaXMgbm90IHNldAojIENPTkZJ R19TRU5TT1JTX1NNU0M0N0IzOTcgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX0FEUzc4Mjgg aXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1RITUM1MCBpcyBub3Qgc2V0CiMgQ09ORklHX1NF TlNPUlNfVklBNjg2QSBpcyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVlQxMjExIGlzIG5vdCBz ZXQKIyBDT05GSUdfU0VOU09SU19WVDgyMzEgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4 Mzc4MUQgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4Mzc5MUQgaXMgbm90IHNldAojIENP TkZJR19TRU5TT1JTX1c4Mzc5MkQgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4Mzc5MyBp cyBub3Qgc2V0CiMgQ09ORklHX1NFTlNPUlNfVzgzTDc4NVRTIGlzIG5vdCBzZXQKIyBDT05GSUdf U0VOU09SU19XODNMNzg2TkcgaXMgbm90IHNldAojIENPTkZJR19TRU5TT1JTX1c4MzYyN0hGIGlz IG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19XODM2MjdFSEYgaXMgbm90IHNldAojIENPTkZJR19T RU5TT1JTX0hEQVBTIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VOU09SU19MSVMzTFYwMkQgaXMgbm90 IHNldAojIENPTkZJR19TRU5TT1JTX0FQUExFU01DIGlzIG5vdCBzZXQKIyBDT05GSUdfSFdNT05f REVCVUdfQ0hJUCBpcyBub3Qgc2V0CkNPTkZJR19USEVSTUFMPXkKIyBDT05GSUdfVEhFUk1BTF9I V01PTiBpcyBub3Qgc2V0CkNPTkZJR19XQVRDSERPRz15CiMgQ09ORklHX1dBVENIRE9HX05PV0FZ T1VUIGlzIG5vdCBzZXQKCiMKIyBXYXRjaGRvZyBEZXZpY2UgRHJpdmVycwojCiMgQ09ORklHX1NP RlRfV0FUQ0hET0cgaXMgbm90IHNldAojIENPTkZJR19BQ1FVSVJFX1dEVCBpcyBub3Qgc2V0CiMg Q09ORklHX0FEVkFOVEVDSF9XRFQgaXMgbm90IHNldAojIENPTkZJR19BTElNMTUzNV9XRFQgaXMg bm90IHNldAojIENPTkZJR19BTElNNzEwMV9XRFQgaXMgbm90IHNldAojIENPTkZJR19TQzUyMF9X RFQgaXMgbm90IHNldAojIENPTkZJR19FVVJPVEVDSF9XRFQgaXMgbm90IHNldAojIENPTkZJR19J QjcwMF9XRFQgaXMgbm90IHNldAojIENPTkZJR19JQk1BU1IgaXMgbm90IHNldAojIENPTkZJR19X QUZFUl9XRFQgaXMgbm90IHNldAojIENPTkZJR19JNjMwMEVTQl9XRFQgaXMgbm90IHNldAojIENP TkZJR19JVENPX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX0lUODcxMkZfV0RUIGlzIG5vdCBzZXQK IyBDT05GSUdfSVQ4N19XRFQgaXMgbm90IHNldAojIENPTkZJR19IUF9XQVRDSERPRyBpcyBub3Qg c2V0CiMgQ09ORklHX1NDMTIwMF9XRFQgaXMgbm90IHNldAojIENPTkZJR19QQzg3NDEzX1dEVCBp cyBub3Qgc2V0CiMgQ09ORklHXzYwWFhfV0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfU0JDODM2MF9X RFQgaXMgbm90IHNldAojIENPTkZJR19DUFU1X1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1NNU0Nf U0NIMzExWF9XRFQgaXMgbm90IHNldAojIENPTkZJR19TTVNDMzdCNzg3X1dEVCBpcyBub3Qgc2V0 CiMgQ09ORklHX1c4MzYyN0hGX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1c4MzY5N0hGX1dEVCBp cyBub3Qgc2V0CiMgQ09ORklHX1c4MzY5N1VHX1dEVCBpcyBub3Qgc2V0CiMgQ09ORklHX1c4Mzg3 N0ZfV0RUIGlzIG5vdCBzZXQKIyBDT05GSUdfVzgzOTc3Rl9XRFQgaXMgbm90IHNldAojIENPTkZJ R19NQUNIWl9XRFQgaXMgbm90IHNldAojIENPTkZJR19TQkNfRVBYX0MzX1dBVENIRE9HIGlzIG5v dCBzZXQKCiMKIyBQQ0ktYmFzZWQgV2F0Y2hkb2cgQ2FyZHMKIwojIENPTkZJR19QQ0lQQ1dBVENI RE9HIGlzIG5vdCBzZXQKIyBDT05GSUdfV0RUUENJIGlzIG5vdCBzZXQKCiMKIyBVU0ItYmFzZWQg V2F0Y2hkb2cgQ2FyZHMKIwojIENPTkZJR19VU0JQQ1dBVENIRE9HIGlzIG5vdCBzZXQKQ09ORklH X1NTQl9QT1NTSUJMRT15CgojCiMgU29uaWNzIFNpbGljb24gQmFja3BsYW5lCiMKIyBDT05GSUdf U1NCIGlzIG5vdCBzZXQKCiMKIyBNdWx0aWZ1bmN0aW9uIGRldmljZSBkcml2ZXJzCiMKIyBDT05G SUdfTUZEX0NPUkUgaXMgbm90IHNldAojIENPTkZJR19NRkRfU001MDEgaXMgbm90IHNldAojIENP TkZJR19IVENfUEFTSUMzIGlzIG5vdCBzZXQKIyBDT05GSUdfVFdMNDAzMF9DT1JFIGlzIG5vdCBz ZXQKIyBDT05GSUdfTUZEX1RNSU8gaXMgbm90IHNldAojIENPTkZJR19QTUlDX0RBOTAzWCBpcyBu b3Qgc2V0CiMgQ09ORklHX01GRF9XTTg0MDAgaXMgbm90IHNldAojIENPTkZJR19NRkRfV004MzUw X0kyQyBpcyBub3Qgc2V0CiMgQ09ORklHX01GRF9QQ0Y1MDYzMyBpcyBub3Qgc2V0CiMgQ09ORklH X1JFR1VMQVRPUiBpcyBub3Qgc2V0CgojCiMgTXVsdGltZWRpYSBkZXZpY2VzCiMKCiMKIyBNdWx0 aW1lZGlhIGNvcmUgc3VwcG9ydAojCiMgQ09ORklHX1ZJREVPX0RFViBpcyBub3Qgc2V0CiMgQ09O RklHX0RWQl9DT1JFIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9fTUVESUEgaXMgbm90IHNldAoK IwojIE11bHRpbWVkaWEgZHJpdmVycwojCkNPTkZJR19EQUI9eQojIENPTkZJR19VU0JfREFCVVNC IGlzIG5vdCBzZXQKCiMKIyBHcmFwaGljcyBzdXBwb3J0CiMKQ09ORklHX0FHUD15CkNPTkZJR19B R1BfQU1ENjQ9eQpDT05GSUdfQUdQX0lOVEVMPXkKIyBDT05GSUdfQUdQX1NJUyBpcyBub3Qgc2V0 CiMgQ09ORklHX0FHUF9WSUEgaXMgbm90IHNldApDT05GSUdfRFJNPXkKIyBDT05GSUdfRFJNX1RE RlggaXMgbm90IHNldAojIENPTkZJR19EUk1fUjEyOCBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9S QURFT04gaXMgbm90IHNldAojIENPTkZJR19EUk1fSTgxMCBpcyBub3Qgc2V0CiMgQ09ORklHX0RS TV9JODMwIGlzIG5vdCBzZXQKQ09ORklHX0RSTV9JOTE1PXkKIyBDT05GSUdfRFJNX0k5MTVfS01T IGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX01HQSBpcyBub3Qgc2V0CiMgQ09ORklHX0RSTV9TSVMg aXMgbm90IHNldAojIENPTkZJR19EUk1fVklBIGlzIG5vdCBzZXQKIyBDT05GSUdfRFJNX1NBVkFH RSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZHQVNUQVRFIGlzIG5vdCBzZXQKIyBDT05GSUdfVklERU9f T1VUUFVUX0NPTlRST0wgaXMgbm90IHNldApDT05GSUdfRkI9eQojIENPTkZJR19GSVJNV0FSRV9F RElEIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfRERDIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQk9P VF9WRVNBX1NVUFBPUlQgaXMgbm90IHNldApDT05GSUdfRkJfQ0ZCX0ZJTExSRUNUPXkKQ09ORklH X0ZCX0NGQl9DT1BZQVJFQT15CkNPTkZJR19GQl9DRkJfSU1BR0VCTElUPXkKIyBDT05GSUdfRkJf Q0ZCX1JFVl9QSVhFTFNfSU5fQllURSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1NZU19GSUxMUkVD VCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1NZU19DT1BZQVJFQSBpcyBub3Qgc2V0CiMgQ09ORklH X0ZCX1NZU19JTUFHRUJMSVQgaXMgbm90IHNldAojIENPTkZJR19GQl9GT1JFSUdOX0VORElBTiBp cyBub3Qgc2V0CiMgQ09ORklHX0ZCX1NZU19GT1BTIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfU1ZH QUxJQiBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX01BQ01PREVTIGlzIG5vdCBzZXQKIyBDT05GSUdf RkJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKQ09ORklHX0ZCX01PREVfSEVMUEVSUz15CkNPTkZJR19G Ql9USUxFQkxJVFRJTkc9eQoKIwojIEZyYW1lIGJ1ZmZlciBoYXJkd2FyZSBkcml2ZXJzCiMKIyBD T05GSUdfRkJfQ0lSUlVTIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfUE0yIGlzIG5vdCBzZXQKIyBD T05GSUdfRkJfQ1lCRVIyMDAwIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfQVJDIGlzIG5vdCBzZXQK IyBDT05GSUdfRkJfQVNJTElBTlQgaXMgbm90IHNldAojIENPTkZJR19GQl9JTVNUVCBpcyBub3Qg c2V0CiMgQ09ORklHX0ZCX1ZHQTE2IGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfVVZFU0EgaXMgbm90 IHNldAojIENPTkZJR19GQl9WRVNBIGlzIG5vdCBzZXQKQ09ORklHX0ZCX0VGST15CiMgQ09ORklH X0ZCX040MTEgaXMgbm90IHNldAojIENPTkZJR19GQl9IR0EgaXMgbm90IHNldAojIENPTkZJR19G Ql9TMUQxM1hYWCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX05WSURJQSBpcyBub3Qgc2V0CiMgQ09O RklHX0ZCX1JJVkEgaXMgbm90IHNldAojIENPTkZJR19GQl9MRTgwNTc4IGlzIG5vdCBzZXQKIyBD T05GSUdfRkJfSU5URUwgaXMgbm90IHNldAojIENPTkZJR19GQl9NQVRST1ggaXMgbm90IHNldAoj IENPTkZJR19GQl9SQURFT04gaXMgbm90IHNldAojIENPTkZJR19GQl9BVFkxMjggaXMgbm90IHNl dAojIENPTkZJR19GQl9BVFkgaXMgbm90IHNldAojIENPTkZJR19GQl9TMyBpcyBub3Qgc2V0CiMg Q09ORklHX0ZCX1NBVkFHRSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1NJUyBpcyBub3Qgc2V0CiMg Q09ORklHX0ZCX1ZJQSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX05FT01BR0lDIGlzIG5vdCBzZXQK IyBDT05GSUdfRkJfS1lSTyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCXzNERlggaXMgbm90IHNldAoj IENPTkZJR19GQl9WT09ET08xIGlzIG5vdCBzZXQKIyBDT05GSUdfRkJfVlQ4NjIzIGlzIG5vdCBz ZXQKIyBDT05GSUdfRkJfVFJJREVOVCBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0FSSyBpcyBub3Qg c2V0CiMgQ09ORklHX0ZCX1BNMyBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX0NBUk1JTkUgaXMgbm90 IHNldAojIENPTkZJR19GQl9HRU9ERSBpcyBub3Qgc2V0CiMgQ09ORklHX0ZCX1ZJUlRVQUwgaXMg bm90IHNldAojIENPTkZJR19GQl9NRVRST05PTUUgaXMgbm90IHNldAojIENPTkZJR19GQl9NQjg2 MlhYIGlzIG5vdCBzZXQKQ09ORklHX0JBQ0tMSUdIVF9MQ0RfU1VQUE9SVD15CiMgQ09ORklHX0xD RF9DTEFTU19ERVZJQ0UgaXMgbm90IHNldApDT05GSUdfQkFDS0xJR0hUX0NMQVNTX0RFVklDRT15 CkNPTkZJR19CQUNLTElHSFRfR0VORVJJQz15CiMgQ09ORklHX0JBQ0tMSUdIVF9QUk9HRUFSIGlz IG5vdCBzZXQKIyBDT05GSUdfQkFDS0xJR0hUX01CUF9OVklESUEgaXMgbm90IHNldAojIENPTkZJ R19CQUNLTElHSFRfU0FIQVJBIGlzIG5vdCBzZXQKCiMKIyBEaXNwbGF5IGRldmljZSBzdXBwb3J0 CiMKIyBDT05GSUdfRElTUExBWV9TVVBQT1JUIGlzIG5vdCBzZXQKCiMKIyBDb25zb2xlIGRpc3Bs YXkgZHJpdmVyIHN1cHBvcnQKIwpDT05GSUdfVkdBX0NPTlNPTEU9eQpDT05GSUdfVkdBQ09OX1NP RlRfU0NST0xMQkFDSz15CkNPTkZJR19WR0FDT05fU09GVF9TQ1JPTExCQUNLX1NJWkU9NjQKQ09O RklHX0RVTU1ZX0NPTlNPTEU9eQojIENPTkZJR19GUkFNRUJVRkZFUl9DT05TT0xFIGlzIG5vdCBz ZXQKQ09ORklHX0xPR089eQojIENPTkZJR19MT0dPX0xJTlVYX01PTk8gaXMgbm90IHNldAojIENP TkZJR19MT0dPX0xJTlVYX1ZHQTE2IGlzIG5vdCBzZXQKQ09ORklHX0xPR09fTElOVVhfQ0xVVDIy ND15CkNPTkZJR19TT1VORD15CkNPTkZJR19TT1VORF9PU1NfQ09SRT15CkNPTkZJR19TTkQ9eQpD T05GSUdfU05EX1RJTUVSPXkKQ09ORklHX1NORF9QQ009eQpDT05GSUdfU05EX0hXREVQPXkKQ09O RklHX1NORF9KQUNLPXkKQ09ORklHX1NORF9TRVFVRU5DRVI9eQpDT05GSUdfU05EX1NFUV9EVU1N WT15CkNPTkZJR19TTkRfT1NTRU1VTD15CkNPTkZJR19TTkRfTUlYRVJfT1NTPXkKQ09ORklHX1NO RF9QQ01fT1NTPXkKQ09ORklHX1NORF9QQ01fT1NTX1BMVUdJTlM9eQpDT05GSUdfU05EX1NFUVVF TkNFUl9PU1M9eQpDT05GSUdfU05EX0hSVElNRVI9eQpDT05GSUdfU05EX1NFUV9IUlRJTUVSX0RF RkFVTFQ9eQpDT05GSUdfU05EX0RZTkFNSUNfTUlOT1JTPXkKQ09ORklHX1NORF9TVVBQT1JUX09M RF9BUEk9eQpDT05GSUdfU05EX1ZFUkJPU0VfUFJPQ0ZTPXkKIyBDT05GSUdfU05EX1ZFUkJPU0Vf UFJJTlRLIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX1NO RF9WTUFTVEVSPXkKQ09ORklHX1NORF9EUklWRVJTPXkKIyBDT05GSUdfU05EX1BDU1AgaXMgbm90 IHNldAojIENPTkZJR19TTkRfRFVNTVkgaXMgbm90IHNldAojIENPTkZJR19TTkRfVklSTUlESSBp cyBub3Qgc2V0CiMgQ09ORklHX1NORF9NVFBBViBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9TRVJJ QUxfVTE2NTUwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX01QVTQwMSBpcyBub3Qgc2V0CkNPTkZJ R19TTkRfUENJPXkKIyBDT05GSUdfU05EX0FEMTg4OSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9B TFMzMDAgaXMgbm90IHNldAojIENPTkZJR19TTkRfQUxTNDAwMCBpcyBub3Qgc2V0CiMgQ09ORklH X1NORF9BTEk1NDUxIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0FUSUlYUCBpcyBub3Qgc2V0CiMg Q09ORklHX1NORF9BVElJWFBfTU9ERU0gaXMgbm90IHNldAojIENPTkZJR19TTkRfQVU4ODEwIGlz IG5vdCBzZXQKIyBDT05GSUdfU05EX0FVODgyMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9BVTg4 MzAgaXMgbm90IHNldAojIENPTkZJR19TTkRfQVcyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0Fa VDMzMjggaXMgbm90IHNldAojIENPTkZJR19TTkRfQlQ4N1ggaXMgbm90IHNldAojIENPTkZJR19T TkRfQ0EwMTA2IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0NNSVBDSSBpcyBub3Qgc2V0CiMgQ09O RklHX1NORF9PWFlHRU4gaXMgbm90IHNldAojIENPTkZJR19TTkRfQ1M0MjgxIGlzIG5vdCBzZXQK IyBDT05GSUdfU05EX0NTNDZYWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9DUzU1MzAgaXMgbm90 IHNldAojIENPTkZJR19TTkRfREFSTEEyMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9HSU5BMjAg aXMgbm90IHNldAojIENPTkZJR19TTkRfTEFZTEEyMCBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9E QVJMQTI0IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0dJTkEyNCBpcyBub3Qgc2V0CiMgQ09ORklH X1NORF9MQVlMQTI0IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX01PTkEgaXMgbm90IHNldAojIENP TkZJR19TTkRfTUlBIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VDSE8zRyBpcyBub3Qgc2V0CiMg Q09ORklHX1NORF9JTkRJR08gaXMgbm90IHNldAojIENPTkZJR19TTkRfSU5ESUdPSU8gaXMgbm90 IHNldAojIENPTkZJR19TTkRfSU5ESUdPREogaXMgbm90IHNldAojIENPTkZJR19TTkRfRU1VMTBL MSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9FTVUxMEsxWCBpcyBub3Qgc2V0CiMgQ09ORklHX1NO RF9FTlMxMzcwIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VOUzEzNzEgaXMgbm90IHNldAojIENP TkZJR19TTkRfRVMxOTM4IGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0VTMTk2OCBpcyBub3Qgc2V0 CiMgQ09ORklHX1NORF9GTTgwMSBpcyBub3Qgc2V0CkNPTkZJR19TTkRfSERBX0lOVEVMPXkKQ09O RklHX1NORF9IREFfSFdERVA9eQojIENPTkZJR19TTkRfSERBX1JFQ09ORklHIGlzIG5vdCBzZXQK IyBDT05GSUdfU05EX0hEQV9JTlBVVF9CRUVQIGlzIG5vdCBzZXQKQ09ORklHX1NORF9IREFfQ09E RUNfUkVBTFRFSz15CkNPTkZJR19TTkRfSERBX0NPREVDX0FOQUxPRz15CkNPTkZJR19TTkRfSERB X0NPREVDX1NJR01BVEVMPXkKQ09ORklHX1NORF9IREFfQ09ERUNfVklBPXkKQ09ORklHX1NORF9I REFfQ09ERUNfQVRJSERNST15CkNPTkZJR19TTkRfSERBX0NPREVDX05WSERNST15CkNPTkZJR19T TkRfSERBX0NPREVDX0lOVEVMSERNST15CkNPTkZJR19TTkRfSERBX0VMRD15CkNPTkZJR19TTkRf SERBX0NPREVDX0NPTkVYQU5UPXkKQ09ORklHX1NORF9IREFfQ09ERUNfQ01FRElBPXkKQ09ORklH X1NORF9IREFfQ09ERUNfU0kzMDU0PXkKQ09ORklHX1NORF9IREFfR0VORVJJQz15CiMgQ09ORklH X1NORF9IREFfUE9XRVJfU0FWRSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9IRFNQIGlzIG5vdCBz ZXQKIyBDT05GSUdfU05EX0hEU1BNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0hJRklFUiBpcyBu b3Qgc2V0CiMgQ09ORklHX1NORF9JQ0UxNzEyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0lDRTE3 MjQgaXMgbm90IHNldAojIENPTkZJR19TTkRfSU5URUw4WDAgaXMgbm90IHNldAojIENPTkZJR19T TkRfSU5URUw4WDBNIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX0tPUkcxMjEyIGlzIG5vdCBzZXQK IyBDT05GSUdfU05EX01BRVNUUk8zIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX01JWEFSVCBpcyBu b3Qgc2V0CiMgQ09ORklHX1NORF9OTTI1NiBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9QQ1hIUiBp cyBub3Qgc2V0CiMgQ09ORklHX1NORF9SSVBUSURFIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1JN RTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1JNRTk2IGlzIG5vdCBzZXQKIyBDT05GSUdfU05E X1JNRTk2NTIgaXMgbm90IHNldAojIENPTkZJR19TTkRfU09OSUNWSUJFUyBpcyBub3Qgc2V0CiMg Q09ORklHX1NORF9UUklERU5UIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1ZJQTgyWFggaXMgbm90 IHNldAojIENPTkZJR19TTkRfVklBODJYWF9NT0RFTSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9W SVJUVU9TTyBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9WWDIyMiBpcyBub3Qgc2V0CiMgQ09ORklH X1NORF9ZTUZQQ0kgaXMgbm90IHNldApDT05GSUdfU05EX1VTQj15CiMgQ09ORklHX1NORF9VU0Jf QVVESU8gaXMgbm90IHNldAojIENPTkZJR19TTkRfVVNCX1VTWDJZIGlzIG5vdCBzZXQKIyBDT05G SUdfU05EX1VTQl9DQUlBUSBpcyBub3Qgc2V0CiMgQ09ORklHX1NORF9VU0JfVVMxMjJMIGlzIG5v dCBzZXQKQ09ORklHX1NORF9QQ01DSUE9eQojIENPTkZJR19TTkRfVlhQT0NLRVQgaXMgbm90IHNl dAojIENPTkZJR19TTkRfUERBVURJT0NGIGlzIG5vdCBzZXQKIyBDT05GSUdfU05EX1NPQyBpcyBu b3Qgc2V0CiMgQ09ORklHX1NPVU5EX1BSSU1FIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9TVVBQT1JU PXkKQ09ORklHX0hJRD15CkNPTkZJR19ISURfREVCVUc9eQpDT05GSUdfSElEUkFXPXkKCiMKIyBV U0IgSW5wdXQgRGV2aWNlcwojCkNPTkZJR19VU0JfSElEPXkKQ09ORklHX0hJRF9QSUQ9eQpDT05G SUdfVVNCX0hJRERFVj15CgojCiMgU3BlY2lhbCBISUQgZHJpdmVycwojCkNPTkZJR19ISURfQ09N UEFUPXkKQ09ORklHX0hJRF9BNFRFQ0g9eQpDT05GSUdfSElEX0FQUExFPXkKQ09ORklHX0hJRF9C RUxLSU49eQpDT05GSUdfSElEX0NIRVJSWT15CkNPTkZJR19ISURfQ0hJQ09OWT15CkNPTkZJR19I SURfQ1lQUkVTUz15CkNPTkZJR19ISURfRVpLRVk9eQpDT05GSUdfSElEX0dZUkFUSU9OPXkKQ09O RklHX0hJRF9MT0dJVEVDSD15CkNPTkZJR19MT0dJVEVDSF9GRj15CiMgQ09ORklHX0xPR0lSVU1C TEVQQUQyX0ZGIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9NSUNST1NPRlQ9eQpDT05GSUdfSElEX01P TlRFUkVZPXkKQ09ORklHX0hJRF9OVFJJRz15CkNPTkZJR19ISURfUEFOVEhFUkxPUkQ9eQpDT05G SUdfUEFOVEhFUkxPUkRfRkY9eQpDT05GSUdfSElEX1BFVEFMWU5YPXkKQ09ORklHX0hJRF9TQU1T VU5HPXkKQ09ORklHX0hJRF9TT05ZPXkKQ09ORklHX0hJRF9TVU5QTFVTPXkKIyBDT05GSUdfR1JF RU5BU0lBX0ZGIGlzIG5vdCBzZXQKQ09ORklHX0hJRF9UT1BTRUVEPXkKQ09ORklHX1RIUlVTVE1B U1RFUl9GRj15CkNPTkZJR19aRVJPUExVU19GRj15CkNPTkZJR19VU0JfU1VQUE9SVD15CkNPTkZJ R19VU0JfQVJDSF9IQVNfSENEPXkKQ09ORklHX1VTQl9BUkNIX0hBU19PSENJPXkKQ09ORklHX1VT Ql9BUkNIX0hBU19FSENJPXkKQ09ORklHX1VTQj15CkNPTkZJR19VU0JfREVCVUc9eQpDT05GSUdf VVNCX0FOTk9VTkNFX05FV19ERVZJQ0VTPXkKCiMKIyBNaXNjZWxsYW5lb3VzIFVTQiBvcHRpb25z CiMKQ09ORklHX1VTQl9ERVZJQ0VGUz15CiMgQ09ORklHX1VTQl9ERVZJQ0VfQ0xBU1MgaXMgbm90 IHNldAojIENPTkZJR19VU0JfRFlOQU1JQ19NSU5PUlMgaXMgbm90IHNldApDT05GSUdfVVNCX1NV U1BFTkQ9eQojIENPTkZJR19VU0JfT1RHIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9NT049eQojIENP TkZJR19VU0JfV1VTQiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9XVVNCX0NCQUYgaXMgbm90IHNl dAoKIwojIFVTQiBIb3N0IENvbnRyb2xsZXIgRHJpdmVycwojCiMgQ09ORklHX1VTQl9DNjdYMDBf SENEIGlzIG5vdCBzZXQKQ09ORklHX1VTQl9FSENJX0hDRD15CiMgQ09ORklHX1VTQl9FSENJX1JP T1RfSFVCX1RUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0VIQ0lfVFRfTkVXU0NIRUQgaXMgbm90 IHNldAojIENPTkZJR19VU0JfT1hVMjEwSFBfSENEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0lT UDExNlhfSENEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0lTUDE3NjBfSENEIGlzIG5vdCBzZXQK Q09ORklHX1VTQl9PSENJX0hDRD15CiMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fREVTQyBp cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9PSENJX0JJR19FTkRJQU5fTU1JTyBpcyBub3Qgc2V0CkNP TkZJR19VU0JfT0hDSV9MSVRUTEVfRU5ESUFOPXkKQ09ORklHX1VTQl9VSENJX0hDRD15CiMgQ09O RklHX1VTQl9TTDgxMV9IQ0QgaXMgbm90IHNldAojIENPTkZJR19VU0JfUjhBNjY1OTdfSENEIGlz IG5vdCBzZXQKIyBDT05GSUdfVVNCX1dIQ0lfSENEIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0hX QV9IQ0QgaXMgbm90IHNldAoKIwojIFVTQiBEZXZpY2UgQ2xhc3MgZHJpdmVycwojCiMgQ09ORklH X1VTQl9BQ00gaXMgbm90IHNldApDT05GSUdfVVNCX1BSSU5URVI9eQojIENPTkZJR19VU0JfV0RN IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1RNQyBpcyBub3Qgc2V0CgojCiMgTk9URTogVVNCX1NU T1JBR0UgZGVwZW5kcyBvbiBTQ1NJIGJ1dCBCTEtfREVWX1NEIG1heSBhbHNvIGJlIG5lZWRlZDsK IwoKIwojIHNlZSBVU0JfU1RPUkFHRSBIZWxwIGZvciBtb3JlIGluZm9ybWF0aW9uCiMKQ09ORklH X1VTQl9TVE9SQUdFPXkKIyBDT05GSUdfVVNCX1NUT1JBR0VfREVCVUcgaXMgbm90IHNldAojIENP TkZJR19VU0JfU1RPUkFHRV9EQVRBRkFCIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0Vf RlJFRUNPTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX0lTRDIwMCBpcyBub3Qgc2V0 CiMgQ09ORklHX1VTQl9TVE9SQUdFX1VTQkFUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JB R0VfU0REUjA5IGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfU0REUjU1IGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX1NUT1JBR0VfSlVNUFNIT1QgaXMgbm90IHNldAojIENPTkZJR19VU0Jf U1RPUkFHRV9BTEFVREEgaXMgbm90IHNldAojIENPTkZJR19VU0JfU1RPUkFHRV9PTkVUT1VDSCBp cyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TVE9SQUdFX0tBUk1BIGlzIG5vdCBzZXQKIyBDT05GSUdf VVNCX1NUT1JBR0VfQ1lQUkVTU19BVEFDQiBpcyBub3Qgc2V0CkNPTkZJR19VU0JfTElCVVNVQUw9 eQoKIwojIFVTQiBJbWFnaW5nIGRldmljZXMKIwojIENPTkZJR19VU0JfTURDODAwIGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX01JQ1JPVEVLIGlzIG5vdCBzZXQKCiMKIyBVU0IgcG9ydCBkcml2ZXJz CiMKIyBDT05GSUdfVVNCX1NFUklBTCBpcyBub3Qgc2V0CgojCiMgVVNCIE1pc2NlbGxhbmVvdXMg ZHJpdmVycwojCiMgQ09ORklHX1VTQl9FTUk2MiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9FTUky NiBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9BRFVUVVggaXMgbm90IHNldAojIENPTkZJR19VU0Jf U0VWU0VHIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX1JJTzUwMCBpcyBub3Qgc2V0CiMgQ09ORklH X1VTQl9MRUdPVE9XRVIgaXMgbm90IHNldAojIENPTkZJR19VU0JfTENEIGlzIG5vdCBzZXQKIyBD T05GSUdfVVNCX0JFUlJZX0NIQVJHRSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9MRUQgaXMgbm90 IHNldAojIENPTkZJR19VU0JfQ1lQUkVTU19DWTdDNjMgaXMgbm90IHNldAojIENPTkZJR19VU0Jf Q1lUSEVSTSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9QSElER0VUIGlzIG5vdCBzZXQKIyBDT05G SUdfVVNCX0lETU9VU0UgaXMgbm90IHNldAojIENPTkZJR19VU0JfRlRESV9FTEFOIGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX0FQUExFRElTUExBWSBpcyBub3Qgc2V0CiMgQ09ORklHX1VTQl9TSVNV U0JWR0EgaXMgbm90IHNldAojIENPTkZJR19VU0JfTEQgaXMgbm90IHNldAojIENPTkZJR19VU0Jf VFJBTkNFVklCUkFUT1IgaXMgbm90IHNldAojIENPTkZJR19VU0JfSU9XQVJSSU9SIGlzIG5vdCBz ZXQKIyBDT05GSUdfVVNCX1RFU1QgaXMgbm90IHNldAojIENPTkZJR19VU0JfSVNJR0hURlcgaXMg bm90IHNldAojIENPTkZJR19VU0JfVlNUIGlzIG5vdCBzZXQKIyBDT05GSUdfVVNCX0dBREdFVCBp cyBub3Qgc2V0CgojCiMgT1RHIGFuZCByZWxhdGVkIGluZnJhc3RydWN0dXJlCiMKIyBDT05GSUdf VVdCIGlzIG5vdCBzZXQKIyBDT05GSUdfTU1DIGlzIG5vdCBzZXQKIyBDT05GSUdfTUVNU1RJQ0sg aXMgbm90IHNldApDT05GSUdfTkVXX0xFRFM9eQpDT05GSUdfTEVEU19DTEFTUz15CgojCiMgTEVE IGRyaXZlcnMKIwojIENPTkZJR19MRURTX0FMSVgyIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19Q Q0E5NTMyIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19DTEVWT19NQUlMIGlzIG5vdCBzZXQKIyBD T05GSUdfTEVEU19QQ0E5NTVYIGlzIG5vdCBzZXQKCiMKIyBMRUQgVHJpZ2dlcnMKIwpDT05GSUdf TEVEU19UUklHR0VSUz15CiMgQ09ORklHX0xFRFNfVFJJR0dFUl9USU1FUiBpcyBub3Qgc2V0CiMg Q09ORklHX0xFRFNfVFJJR0dFUl9IRUFSVEJFQVQgaXMgbm90IHNldAojIENPTkZJR19MRURTX1RS SUdHRVJfQkFDS0xJR0hUIGlzIG5vdCBzZXQKIyBDT05GSUdfTEVEU19UUklHR0VSX0RFRkFVTFRf T04gaXMgbm90IHNldAojIENPTkZJR19BQ0NFU1NJQklMSVRZIGlzIG5vdCBzZXQKIyBDT05GSUdf SU5GSU5JQkFORCBpcyBub3Qgc2V0CkNPTkZJR19FREFDPXkKCiMKIyBSZXBvcnRpbmcgc3Vic3lz dGVtcwojCiMgQ09ORklHX0VEQUNfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19FREFDX01NX0VE QUMgaXMgbm90IHNldApDT05GSUdfUlRDX0xJQj15CkNPTkZJR19SVENfQ0xBU1M9eQojIENPTkZJ R19SVENfSENUT1NZUyBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19ERUJVRyBpcyBub3Qgc2V0Cgoj CiMgUlRDIGludGVyZmFjZXMKIwpDT05GSUdfUlRDX0lOVEZfU1lTRlM9eQpDT05GSUdfUlRDX0lO VEZfUFJPQz15CkNPTkZJR19SVENfSU5URl9ERVY9eQojIENPTkZJR19SVENfSU5URl9ERVZfVUlF X0VNVUwgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1RFU1QgaXMgbm90IHNldAoKIwojIEky QyBSVEMgZHJpdmVycwojCiMgQ09ORklHX1JUQ19EUlZfRFMxMzA3IGlzIG5vdCBzZXQKIyBDT05G SUdfUlRDX0RSVl9EUzEzNzQgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0RTMTY3MiBpcyBu b3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfTUFYNjkwMCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19E UlZfUlM1QzM3MiBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfSVNMMTIwOCBpcyBub3Qgc2V0 CiMgQ09ORklHX1JUQ19EUlZfWDEyMDUgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1BDRjg1 NjMgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1BDRjg1ODMgaXMgbm90IHNldAojIENPTkZJ R19SVENfRFJWX000MVQ4MCBpcyBub3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfUzM1MzkwQSBpcyBu b3Qgc2V0CiMgQ09ORklHX1JUQ19EUlZfRk0zMTMwIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RS Vl9SWDg1ODEgaXMgbm90IHNldAoKIwojIFNQSSBSVEMgZHJpdmVycwojCgojCiMgUGxhdGZvcm0g UlRDIGRyaXZlcnMKIwpDT05GSUdfUlRDX0RSVl9DTU9TPXkKIyBDT05GSUdfUlRDX0RSVl9EUzEy ODYgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX0RTMTUxMSBpcyBub3Qgc2V0CiMgQ09ORklH X1JUQ19EUlZfRFMxNTUzIGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9EUzE3NDIgaXMgbm90 IHNldAojIENPTkZJR19SVENfRFJWX1NUSzE3VEE4IGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RS Vl9NNDhUODYgaXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX000OFQzNSBpcyBub3Qgc2V0CiMg Q09ORklHX1JUQ19EUlZfTTQ4VDU5IGlzIG5vdCBzZXQKIyBDT05GSUdfUlRDX0RSVl9CUTQ4MDIg aXMgbm90IHNldAojIENPTkZJR19SVENfRFJWX1YzMDIwIGlzIG5vdCBzZXQKCiMKIyBvbi1DUFUg UlRDIGRyaXZlcnMKIwpDT05GSUdfRE1BREVWSUNFUz15CgojCiMgRE1BIERldmljZXMKIwojIENP TkZJR19JTlRFTF9JT0FURE1BIGlzIG5vdCBzZXQKIyBDT05GSUdfVUlPIGlzIG5vdCBzZXQKIyBD T05GSUdfU1RBR0lORyBpcyBub3Qgc2V0CkNPTkZJR19YODZfUExBVEZPUk1fREVWSUNFUz15CiMg Q09ORklHX0FDRVJfV01JIGlzIG5vdCBzZXQKIyBDT05GSUdfQVNVU19MQVBUT1AgaXMgbm90IHNl dAojIENPTkZJR19GVUpJVFNVX0xBUFRPUCBpcyBub3Qgc2V0CiMgQ09ORklHX01TSV9MQVBUT1Ag aXMgbm90IHNldAojIENPTkZJR19QQU5BU09OSUNfTEFQVE9QIGlzIG5vdCBzZXQKIyBDT05GSUdf Q09NUEFMX0xBUFRPUCBpcyBub3Qgc2V0CiMgQ09ORklHX1NPTllfTEFQVE9QIGlzIG5vdCBzZXQK IyBDT05GSUdfVEhJTktQQURfQUNQSSBpcyBub3Qgc2V0CiMgQ09ORklHX0lOVEVMX01FTkxPVyBp cyBub3Qgc2V0CkNPTkZJR19FRUVQQ19MQVBUT1A9eQojIENPTkZJR19BQ1BJX1dNSSBpcyBub3Qg c2V0CiMgQ09ORklHX0FDUElfQVNVUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FDUElfVE9TSElCQSBp cyBub3Qgc2V0CgojCiMgRmlybXdhcmUgRHJpdmVycwojCiMgQ09ORklHX0VERCBpcyBub3Qgc2V0 CkNPTkZJR19GSVJNV0FSRV9NRU1NQVA9eQpDT05GSUdfRUZJX1ZBUlM9eQojIENPTkZJR19ERUxM X1JCVSBpcyBub3Qgc2V0CiMgQ09ORklHX0RDREJBUyBpcyBub3Qgc2V0CkNPTkZJR19ETUlJRD15 CiMgQ09ORklHX0lTQ1NJX0lCRlRfRklORCBpcyBub3Qgc2V0CgojCiMgRmlsZSBzeXN0ZW1zCiMK IyBDT05GSUdfRVhUMl9GUyBpcyBub3Qgc2V0CkNPTkZJR19FWFQzX0ZTPXkKQ09ORklHX0VYVDNf RlNfWEFUVFI9eQpDT05GSUdfRVhUM19GU19QT1NJWF9BQ0w9eQpDT05GSUdfRVhUM19GU19TRUNV UklUWT15CiMgQ09ORklHX0VYVDRfRlMgaXMgbm90IHNldApDT05GSUdfSkJEPXkKIyBDT05GSUdf SkJEX0RFQlVHIGlzIG5vdCBzZXQKQ09ORklHX0ZTX01CQ0FDSEU9eQojIENPTkZJR19SRUlTRVJG U19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0pGU19GUyBpcyBub3Qgc2V0CkNPTkZJR19GU19QT1NJ WF9BQ0w9eQpDT05GSUdfRklMRV9MT0NLSU5HPXkKIyBDT05GSUdfWEZTX0ZTIGlzIG5vdCBzZXQK IyBDT05GSUdfR0ZTMl9GUyBpcyBub3Qgc2V0CiMgQ09ORklHX09DRlMyX0ZTIGlzIG5vdCBzZXQK IyBDT05GSUdfQlRSRlNfRlMgaXMgbm90IHNldApDT05GSUdfRE5PVElGWT15CkNPTkZJR19JTk9U SUZZPXkKQ09ORklHX0lOT1RJRllfVVNFUj15CkNPTkZJR19RVU9UQT15CkNPTkZJR19RVU9UQV9O RVRMSU5LX0lOVEVSRkFDRT15CiMgQ09ORklHX1BSSU5UX1FVT1RBX1dBUk5JTkcgaXMgbm90IHNl dApDT05GSUdfUVVPVEFfVFJFRT15CiMgQ09ORklHX1FGTVRfVjEgaXMgbm90IHNldApDT05GSUdf UUZNVF9WMj15CkNPTkZJR19RVU9UQUNUTD15CiMgQ09ORklHX0FVVE9GU19GUyBpcyBub3Qgc2V0 CkNPTkZJR19BVVRPRlM0X0ZTPXkKIyBDT05GSUdfRlVTRV9GUyBpcyBub3Qgc2V0CkNPTkZJR19H RU5FUklDX0FDTD15CgojCiMgQ0QtUk9NL0RWRCBGaWxlc3lzdGVtcwojCkNPTkZJR19JU085NjYw X0ZTPXkKQ09ORklHX0pPTElFVD15CkNPTkZJR19aSVNPRlM9eQojIENPTkZJR19VREZfRlMgaXMg bm90IHNldAoKIwojIERPUy9GQVQvTlQgRmlsZXN5c3RlbXMKIwpDT05GSUdfRkFUX0ZTPXkKQ09O RklHX01TRE9TX0ZTPXkKQ09ORklHX1ZGQVRfRlM9eQpDT05GSUdfRkFUX0RFRkFVTFRfQ09ERVBB R0U9NDM3CkNPTkZJR19GQVRfREVGQVVMVF9JT0NIQVJTRVQ9Imlzbzg4NTktMSIKIyBDT05GSUdf TlRGU19GUyBpcyBub3Qgc2V0CgojCiMgUHNldWRvIGZpbGVzeXN0ZW1zCiMKQ09ORklHX1BST0Nf RlM9eQpDT05GSUdfUFJPQ19LQ09SRT15CkNPTkZJR19QUk9DX1ZNQ09SRT15CkNPTkZJR19QUk9D X1NZU0NUTD15CkNPTkZJR19QUk9DX1BBR0VfTU9OSVRPUj15CkNPTkZJR19TWVNGUz15CkNPTkZJ R19UTVBGUz15CkNPTkZJR19UTVBGU19QT1NJWF9BQ0w9eQpDT05GSUdfSFVHRVRMQkZTPXkKQ09O RklHX0hVR0VUTEJfUEFHRT15CiMgQ09ORklHX0NPTkZJR0ZTX0ZTIGlzIG5vdCBzZXQKQ09ORklH X01JU0NfRklMRVNZU1RFTVM9eQojIENPTkZJR19BREZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdf QUZGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0VDUllQVF9GUyBpcyBub3Qgc2V0CiMgQ09ORklH X0hGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0hGU1BMVVNfRlMgaXMgbm90IHNldAojIENPTkZJ R19CRUZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQkZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdf RUZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JBTUZTIGlzIG5vdCBzZXQKIyBDT05GSUdfU1FV QVNIRlMgaXMgbm90IHNldAojIENPTkZJR19WWEZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfTUlO SVhfRlMgaXMgbm90IHNldAojIENPTkZJR19PTUZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfSFBG U19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1FOWDRGU19GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1JP TUZTX0ZTIGlzIG5vdCBzZXQKIyBDT05GSUdfU1lTVl9GUyBpcyBub3Qgc2V0CiMgQ09ORklHX1VG U19GUyBpcyBub3Qgc2V0CkNPTkZJR19ORVRXT1JLX0ZJTEVTWVNURU1TPXkKQ09ORklHX05GU19G Uz15CkNPTkZJR19ORlNfVjM9eQpDT05GSUdfTkZTX1YzX0FDTD15CkNPTkZJR19ORlNfVjQ9eQpD T05GSUdfUk9PVF9ORlM9eQojIENPTkZJR19ORlNEIGlzIG5vdCBzZXQKQ09ORklHX0xPQ0tEPXkK Q09ORklHX0xPQ0tEX1Y0PXkKQ09ORklHX05GU19BQ0xfU1VQUE9SVD15CkNPTkZJR19ORlNfQ09N TU9OPXkKQ09ORklHX1NVTlJQQz15CkNPTkZJR19TVU5SUENfR1NTPXkKIyBDT05GSUdfU1VOUlBD X1JFR0lTVEVSX1Y0IGlzIG5vdCBzZXQKQ09ORklHX1JQQ1NFQ19HU1NfS1JCNT15CiMgQ09ORklH X1JQQ1NFQ19HU1NfU1BLTTMgaXMgbm90IHNldAojIENPTkZJR19TTUJfRlMgaXMgbm90IHNldAoj IENPTkZJR19DSUZTIGlzIG5vdCBzZXQKIyBDT05GSUdfTkNQX0ZTIGlzIG5vdCBzZXQKIyBDT05G SUdfQ09EQV9GUyBpcyBub3Qgc2V0CiMgQ09ORklHX0FGU19GUyBpcyBub3Qgc2V0CgojCiMgUGFy dGl0aW9uIFR5cGVzCiMKQ09ORklHX1BBUlRJVElPTl9BRFZBTkNFRD15CiMgQ09ORklHX0FDT1JO X1BBUlRJVElPTiBpcyBub3Qgc2V0CkNPTkZJR19PU0ZfUEFSVElUSU9OPXkKQ09ORklHX0FNSUdB X1BBUlRJVElPTj15CiMgQ09ORklHX0FUQVJJX1BBUlRJVElPTiBpcyBub3Qgc2V0CkNPTkZJR19N QUNfUEFSVElUSU9OPXkKQ09ORklHX01TRE9TX1BBUlRJVElPTj15CkNPTkZJR19CU0RfRElTS0xB QkVMPXkKQ09ORklHX01JTklYX1NVQlBBUlRJVElPTj15CkNPTkZJR19TT0xBUklTX1g4Nl9QQVJU SVRJT049eQpDT05GSUdfVU5JWFdBUkVfRElTS0xBQkVMPXkKIyBDT05GSUdfTERNX1BBUlRJVElP TiBpcyBub3Qgc2V0CkNPTkZJR19TR0lfUEFSVElUSU9OPXkKIyBDT05GSUdfVUxUUklYX1BBUlRJ VElPTiBpcyBub3Qgc2V0CkNPTkZJR19TVU5fUEFSVElUSU9OPXkKQ09ORklHX0tBUk1BX1BBUlRJ VElPTj15CkNPTkZJR19FRklfUEFSVElUSU9OPXkKIyBDT05GSUdfU1lTVjY4X1BBUlRJVElPTiBp cyBub3Qgc2V0CkNPTkZJR19OTFM9eQpDT05GSUdfTkxTX0RFRkFVTFQ9InV0ZjgiCkNPTkZJR19O TFNfQ09ERVBBR0VfNDM3PXkKIyBDT05GSUdfTkxTX0NPREVQQUdFXzczNyBpcyBub3Qgc2V0CiMg Q09ORklHX05MU19DT0RFUEFHRV83NzUgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0Vf ODUwIGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg1MiBpcyBub3Qgc2V0CiMgQ09O RklHX05MU19DT0RFUEFHRV84NTUgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODU3 IGlzIG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MCBpcyBub3Qgc2V0CiMgQ09ORklH X05MU19DT0RFUEFHRV84NjEgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODYyIGlz IG5vdCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2MyBpcyBub3Qgc2V0CiMgQ09ORklHX05M U19DT0RFUEFHRV84NjQgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfODY1IGlzIG5v dCBzZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzg2NiBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19D T0RFUEFHRV84NjkgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfOTM2IGlzIG5vdCBz ZXQKIyBDT05GSUdfTkxTX0NPREVQQUdFXzk1MCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19DT0RF UEFHRV85MzIgaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfOTQ5IGlzIG5vdCBzZXQK IyBDT05GSUdfTkxTX0NPREVQQUdFXzg3NCBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5 XzggaXMgbm90IHNldAojIENPTkZJR19OTFNfQ09ERVBBR0VfMTI1MCBpcyBub3Qgc2V0CiMgQ09O RklHX05MU19DT0RFUEFHRV8xMjUxIGlzIG5vdCBzZXQKQ09ORklHX05MU19BU0NJST15CkNPTkZJ R19OTFNfSVNPODg1OV8xPXkKIyBDT05GSUdfTkxTX0lTTzg4NTlfMiBpcyBub3Qgc2V0CiMgQ09O RklHX05MU19JU084ODU5XzMgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV80IGlzIG5v dCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfNSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084 ODU5XzYgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNPODg1OV83IGlzIG5vdCBzZXQKIyBDT05G SUdfTkxTX0lTTzg4NTlfOSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19JU084ODU5XzEzIGlzIG5v dCBzZXQKIyBDT05GSUdfTkxTX0lTTzg4NTlfMTQgaXMgbm90IHNldAojIENPTkZJR19OTFNfSVNP ODg1OV8xNSBpcyBub3Qgc2V0CiMgQ09ORklHX05MU19LT0k4X1IgaXMgbm90IHNldAojIENPTkZJ R19OTFNfS09JOF9VIGlzIG5vdCBzZXQKQ09ORklHX05MU19VVEY4PXkKIyBDT05GSUdfRExNIGlz IG5vdCBzZXQKCiMKIyBLZXJuZWwgaGFja2luZwojCkNPTkZJR19UUkFDRV9JUlFGTEFHU19TVVBQ T1JUPXkKQ09ORklHX1BSSU5US19USU1FPXkKIyBDT05GSUdfRU5BQkxFX1dBUk5fREVQUkVDQVRF RCBpcyBub3Qgc2V0CkNPTkZJR19FTkFCTEVfTVVTVF9DSEVDSz15CkNPTkZJR19GUkFNRV9XQVJO PTIwNDgKQ09ORklHX01BR0lDX1NZU1JRPXkKIyBDT05GSUdfVU5VU0VEX1NZTUJPTFMgaXMgbm90 IHNldApDT05GSUdfREVCVUdfRlM9eQojIENPTkZJR19IRUFERVJTX0NIRUNLIGlzIG5vdCBzZXQK Q09ORklHX0RFQlVHX0tFUk5FTD15CiMgQ09ORklHX0RFQlVHX1NISVJRIGlzIG5vdCBzZXQKIyBD T05GSUdfREVURUNUX1NPRlRMT0NLVVAgaXMgbm90IHNldAojIENPTkZJR19TQ0hFRF9ERUJVRyBp cyBub3Qgc2V0CkNPTkZJR19TQ0hFRFNUQVRTPXkKQ09ORklHX1RJTUVSX1NUQVRTPXkKIyBDT05G SUdfREVCVUdfT0JKRUNUUyBpcyBub3Qgc2V0CiMgQ09ORklHX1NMVUJfREVCVUdfT04gaXMgbm90 IHNldAojIENPTkZJR19TTFVCX1NUQVRTIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfUlRfTVVU RVhFUyBpcyBub3Qgc2V0CiMgQ09ORklHX1JUX01VVEVYX1RFU1RFUiBpcyBub3Qgc2V0CiMgQ09O RklHX0RFQlVHX1NQSU5MT0NLIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfTVVURVhFUyBpcyBu b3Qgc2V0CiMgQ09ORklHX0RFQlVHX0xPQ0tfQUxMT0MgaXMgbm90IHNldAojIENPTkZJR19QUk9W RV9MT0NLSU5HIGlzIG5vdCBzZXQKIyBDT05GSUdfTE9DS19TVEFUIGlzIG5vdCBzZXQKIyBDT05G SUdfREVCVUdfU1BJTkxPQ0tfU0xFRVAgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19MT0NLSU5H X0FQSV9TRUxGVEVTVFMgaXMgbm90IHNldApDT05GSUdfU1RBQ0tUUkFDRT15CiMgQ09ORklHX0RF QlVHX0tPQkpFQ1QgaXMgbm90IHNldApDT05GSUdfREVCVUdfQlVHVkVSQk9TRT15CkNPTkZJR19E RUJVR19JTkZPPXkKIyBDT05GSUdfREVCVUdfVk0gaXMgbm90IHNldAojIENPTkZJR19ERUJVR19W SVJUVUFMIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfV1JJVEVDT1VOVCBpcyBub3Qgc2V0CkNP TkZJR19ERUJVR19NRU1PUllfSU5JVD15CiMgQ09ORklHX0RFQlVHX0xJU1QgaXMgbm90IHNldAoj IENPTkZJR19ERUJVR19TRyBpcyBub3Qgc2V0CiMgQ09ORklHX0RFQlVHX05PVElGSUVSUyBpcyBu b3Qgc2V0CkNPTkZJR19BUkNIX1dBTlRfRlJBTUVfUE9JTlRFUlM9eQpDT05GSUdfRlJBTUVfUE9J TlRFUj15CiMgQ09ORklHX0JPT1RfUFJJTlRLX0RFTEFZIGlzIG5vdCBzZXQKIyBDT05GSUdfUkNV X1RPUlRVUkVfVEVTVCBpcyBub3Qgc2V0CiMgQ09ORklHX1JDVV9DUFVfU1RBTExfREVURUNUT1Ig aXMgbm90IHNldAojIENPTkZJR19CQUNLVFJBQ0VfU0VMRl9URVNUIGlzIG5vdCBzZXQKIyBDT05G SUdfREVCVUdfQkxPQ0tfRVhUX0RFVlQgaXMgbm90IHNldAojIENPTkZJR19GQVVMVF9JTkpFQ1RJ T04gaXMgbm90IHNldAojIENPTkZJR19MQVRFTkNZVE9QIGlzIG5vdCBzZXQKQ09ORklHX1NZU0NU TF9TWVNDQUxMX0NIRUNLPXkKQ09ORklHX1VTRVJfU1RBQ0tUUkFDRV9TVVBQT1JUPXkKQ09ORklH X0hBVkVfRlVOQ1RJT05fVFJBQ0VSPXkKQ09ORklHX0hBVkVfRlVOQ1RJT05fR1JBUEhfVFJBQ0VS PXkKQ09ORklHX0hBVkVfRlVOQ1RJT05fVFJBQ0VfTUNPVU5UX1RFU1Q9eQpDT05GSUdfSEFWRV9E WU5BTUlDX0ZUUkFDRT15CkNPTkZJR19IQVZFX0ZUUkFDRV9NQ09VTlRfUkVDT1JEPXkKQ09ORklH X0hBVkVfSFdfQlJBTkNIX1RSQUNFUj15CgojCiMgVHJhY2VycwojCiMgQ09ORklHX0ZVTkNUSU9O X1RSQUNFUiBpcyBub3Qgc2V0CiMgQ09ORklHX0lSUVNPRkZfVFJBQ0VSIGlzIG5vdCBzZXQKIyBD T05GSUdfU1lTUFJPRl9UUkFDRVIgaXMgbm90IHNldAojIENPTkZJR19TQ0hFRF9UUkFDRVIgaXMg bm90IHNldAojIENPTkZJR19DT05URVhUX1NXSVRDSF9UUkFDRVIgaXMgbm90IHNldAojIENPTkZJ R19CT09UX1RSQUNFUiBpcyBub3Qgc2V0CiMgQ09ORklHX1RSQUNFX0JSQU5DSF9QUk9GSUxJTkcg aXMgbm90IHNldAojIENPTkZJR19QT1dFUl9UUkFDRVIgaXMgbm90IHNldAojIENPTkZJR19TVEFD S19UUkFDRVIgaXMgbm90IHNldAojIENPTkZJR19IV19CUkFOQ0hfVFJBQ0VSIGlzIG5vdCBzZXQK Q09ORklHX1BST1ZJREVfT0hDSTEzOTRfRE1BX0lOSVQ9eQojIENPTkZJR19EWU5BTUlDX1BSSU5U S19ERUJVRyBpcyBub3Qgc2V0CiMgQ09ORklHX1NBTVBMRVMgaXMgbm90IHNldApDT05GSUdfSEFW RV9BUkNIX0tHREI9eQojIENPTkZJR19LR0RCIGlzIG5vdCBzZXQKIyBDT05GSUdfU1RSSUNUX0RF Vk1FTSBpcyBub3Qgc2V0CkNPTkZJR19YODZfVkVSQk9TRV9CT09UVVA9eQpDT05GSUdfRUFSTFlf UFJJTlRLPXkKQ09ORklHX0VBUkxZX1BSSU5US19EQkdQPXkKQ09ORklHX0RFQlVHX1NUQUNLT1ZF UkZMT1c9eQpDT05GSUdfREVCVUdfU1RBQ0tfVVNBR0U9eQojIENPTkZJR19ERUJVR19QQUdFQUxM T0MgaXMgbm90IHNldAojIENPTkZJR19ERUJVR19QRVJfQ1BVX01BUFMgaXMgbm90IHNldAojIENP TkZJR19YODZfUFREVU1QIGlzIG5vdCBzZXQKIyBDT05GSUdfREVCVUdfUk9EQVRBIGlzIG5vdCBz ZXQKIyBDT05GSUdfSU9NTVVfREVCVUcgaXMgbm90IHNldAojIENPTkZJR19NTUlPVFJBQ0UgaXMg bm90IHNldApDT05GSUdfSU9fREVMQVlfVFlQRV8wWDgwPTAKQ09ORklHX0lPX0RFTEFZX1RZUEVf MFhFRD0xCkNPTkZJR19JT19ERUxBWV9UWVBFX1VERUxBWT0yCkNPTkZJR19JT19ERUxBWV9UWVBF X05PTkU9MwpDT05GSUdfSU9fREVMQVlfMFg4MD15CiMgQ09ORklHX0lPX0RFTEFZXzBYRUQgaXMg bm90IHNldAojIENPTkZJR19JT19ERUxBWV9VREVMQVkgaXMgbm90IHNldAojIENPTkZJR19JT19E RUxBWV9OT05FIGlzIG5vdCBzZXQKQ09ORklHX0RFRkFVTFRfSU9fREVMQVlfVFlQRT0wCkNPTkZJ R19LTUVNQ0hFQ0s9eQojIENPTkZJR19LTUVNQ0hFQ0tfRElTQUJMRURfQllfREVGQVVMVCBpcyBu b3Qgc2V0CkNPTkZJR19LTUVNQ0hFQ0tfRU5BQkxFRF9CWV9ERUZBVUxUPXkKIyBDT05GSUdfS01F TUNIRUNLX09ORVNIT1RfQllfREVGQVVMVCBpcyBub3Qgc2V0CkNPTkZJR19LTUVNQ0hFQ0tfUVVF VUVfU0laRT02NApDT05GSUdfS01FTUNIRUNLX1NIQURPV19DT1BZX1NISUZUPTUKQ09ORklHX0tN RU1DSEVDS19QQVJUSUFMX09LPXkKIyBDT05GSUdfS01FTUNIRUNLX0JJVE9QU19PSyBpcyBub3Qg c2V0CkNPTkZJR19ERUJVR19CT09UX1BBUkFNUz15CiMgQ09ORklHX0NQQV9ERUJVRyBpcyBub3Qg c2V0CkNPTkZJR19PUFRJTUlaRV9JTkxJTklORz15CgojCiMgU2VjdXJpdHkgb3B0aW9ucwojCkNP TkZJR19LRVlTPXkKQ09ORklHX0tFWVNfREVCVUdfUFJPQ19LRVlTPXkKQ09ORklHX1NFQ1VSSVRZ PXkKIyBDT05GSUdfU0VDVVJJVFlGUyBpcyBub3Qgc2V0CkNPTkZJR19TRUNVUklUWV9ORVRXT1JL PXkKIyBDT05GSUdfU0VDVVJJVFlfTkVUV09SS19YRlJNIGlzIG5vdCBzZXQKIyBDT05GSUdfU0VD VVJJVFlfUEFUSCBpcyBub3Qgc2V0CkNPTkZJR19TRUNVUklUWV9GSUxFX0NBUEFCSUxJVElFUz15 CiMgQ09ORklHX1NFQ1VSSVRZX1JPT1RQTFVHIGlzIG5vdCBzZXQKQ09ORklHX1NFQ1VSSVRZX0RF RkFVTFRfTU1BUF9NSU5fQUREUj02NTUzNgpDT05GSUdfU0VDVVJJVFlfU0VMSU5VWD15CkNPTkZJ R19TRUNVUklUWV9TRUxJTlVYX0JPT1RQQVJBTT15CkNPTkZJR19TRUNVUklUWV9TRUxJTlVYX0JP T1RQQVJBTV9WQUxVRT0xCkNPTkZJR19TRUNVUklUWV9TRUxJTlVYX0RJU0FCTEU9eQpDT05GSUdf U0VDVVJJVFlfU0VMSU5VWF9ERVZFTE9QPXkKQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQVZDX1NU QVRTPXkKQ09ORklHX1NFQ1VSSVRZX1NFTElOVVhfQ0hFQ0tSRVFQUk9UX1ZBTFVFPTEKIyBDT05G SUdfU0VDVVJJVFlfU0VMSU5VWF9QT0xJQ1lEQl9WRVJTSU9OX01BWCBpcyBub3Qgc2V0CiMgQ09O RklHX1NFQ1VSSVRZX1NNQUNLIGlzIG5vdCBzZXQKQ09ORklHX0NSWVBUTz15CgojCiMgQ3J5cHRv IGNvcmUgb3IgaGVscGVyCiMKIyBDT05GSUdfQ1JZUFRPX0ZJUFMgaXMgbm90IHNldApDT05GSUdf Q1JZUFRPX0FMR0FQST15CkNPTkZJR19DUllQVE9fQUxHQVBJMj15CkNPTkZJR19DUllQVE9fQUVB RD15CkNPTkZJR19DUllQVE9fQUVBRDI9eQpDT05GSUdfQ1JZUFRPX0JMS0NJUEhFUj15CkNPTkZJ R19DUllQVE9fQkxLQ0lQSEVSMj15CkNPTkZJR19DUllQVE9fSEFTSD15CkNPTkZJR19DUllQVE9f SEFTSDI9eQpDT05GSUdfQ1JZUFRPX1JORzI9eQpDT05GSUdfQ1JZUFRPX01BTkFHRVI9eQpDT05G SUdfQ1JZUFRPX01BTkFHRVIyPXkKIyBDT05GSUdfQ1JZUFRPX0dGMTI4TVVMIGlzIG5vdCBzZXQK IyBDT05GSUdfQ1JZUFRPX05VTEwgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ1JZUFREIGlz IG5vdCBzZXQKQ09ORklHX0NSWVBUT19BVVRIRU5DPXkKCiMKIyBBdXRoZW50aWNhdGVkIEVuY3J5 cHRpb24gd2l0aCBBc3NvY2lhdGVkIERhdGEKIwojIENPTkZJR19DUllQVE9fQ0NNIGlzIG5vdCBz ZXQKIyBDT05GSUdfQ1JZUFRPX0dDTSBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TRVFJViBp cyBub3Qgc2V0CgojCiMgQmxvY2sgbW9kZXMKIwpDT05GSUdfQ1JZUFRPX0NCQz15CiMgQ09ORklH X0NSWVBUT19DVFIgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fQ1RTIGlzIG5vdCBzZXQKQ09O RklHX0NSWVBUT19FQ0I9eQojIENPTkZJR19DUllQVE9fTFJXIGlzIG5vdCBzZXQKIyBDT05GSUdf Q1JZUFRPX1BDQkMgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fWFRTIGlzIG5vdCBzZXQKCiMK IyBIYXNoIG1vZGVzCiMKQ09ORklHX0NSWVBUT19ITUFDPXkKIyBDT05GSUdfQ1JZUFRPX1hDQkMg aXMgbm90IHNldAoKIwojIERpZ2VzdAojCiMgQ09ORklHX0NSWVBUT19DUkMzMkMgaXMgbm90IHNl dAojIENPTkZJR19DUllQVE9fQ1JDMzJDX0lOVEVMIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRP X01ENCBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fTUQ1PXkKIyBDT05GSUdfQ1JZUFRPX01JQ0hB RUxfTUlDIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1JNRDEyOCBpcyBub3Qgc2V0CiMgQ09O RklHX0NSWVBUT19STUQxNjAgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fUk1EMjU2IGlzIG5v dCBzZXQKIyBDT05GSUdfQ1JZUFRPX1JNRDMyMCBpcyBub3Qgc2V0CkNPTkZJR19DUllQVE9fU0hB MT15CiMgQ09ORklHX0NSWVBUT19TSEEyNTYgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0hB NTEyIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1RHUjE5MiBpcyBub3Qgc2V0CiMgQ09ORklH X0NSWVBUT19XUDUxMiBpcyBub3Qgc2V0CgojCiMgQ2lwaGVycwojCkNPTkZJR19DUllQVE9fQUVT PXkKIyBDT05GSUdfQ1JZUFRPX0FFU19YODZfNjQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9f QU5VQklTIGlzIG5vdCBzZXQKQ09ORklHX0NSWVBUT19BUkM0PXkKIyBDT05GSUdfQ1JZUFRPX0JM T1dGSVNIIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0NBTUVMTElBIGlzIG5vdCBzZXQKIyBD T05GSUdfQ1JZUFRPX0NBU1Q1IGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX0NBU1Q2IGlzIG5v dCBzZXQKQ09ORklHX0NSWVBUT19ERVM9eQojIENPTkZJR19DUllQVE9fRkNSWVBUIGlzIG5vdCBz ZXQKIyBDT05GSUdfQ1JZUFRPX0tIQVpBRCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19TQUxT QTIwIGlzIG5vdCBzZXQKIyBDT05GSUdfQ1JZUFRPX1NBTFNBMjBfWDg2XzY0IGlzIG5vdCBzZXQK IyBDT05GSUdfQ1JZUFRPX1NFRUQgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9fU0VSUEVOVCBp cyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19URUEgaXMgbm90IHNldAojIENPTkZJR19DUllQVE9f VFdPRklTSCBpcyBub3Qgc2V0CiMgQ09ORklHX0NSWVBUT19UV09GSVNIX1g4Nl82NCBpcyBub3Qg c2V0CgojCiMgQ29tcHJlc3Npb24KIwojIENPTkZJR19DUllQVE9fREVGTEFURSBpcyBub3Qgc2V0 CiMgQ09ORklHX0NSWVBUT19MWk8gaXMgbm90IHNldAoKIwojIFJhbmRvbSBOdW1iZXIgR2VuZXJh dGlvbgojCiMgQ09ORklHX0NSWVBUT19BTlNJX0NQUk5HIGlzIG5vdCBzZXQKQ09ORklHX0NSWVBU T19IVz15CiMgQ09ORklHX0NSWVBUT19ERVZfSElGTl83OTVYIGlzIG5vdCBzZXQKQ09ORklHX0hB VkVfS1ZNPXkKQ09ORklHX1ZJUlRVQUxJWkFUSU9OPXkKIyBDT05GSUdfS1ZNIGlzIG5vdCBzZXQK IyBDT05GSUdfVklSVElPX1BDSSBpcyBub3Qgc2V0CiMgQ09ORklHX1ZJUlRJT19CQUxMT09OIGlz IG5vdCBzZXQKCiMKIyBMaWJyYXJ5IHJvdXRpbmVzCiMKQ09ORklHX0JJVFJFVkVSU0U9eQpDT05G SUdfR0VORVJJQ19GSU5EX0ZJUlNUX0JJVD15CkNPTkZJR19HRU5FUklDX0ZJTkRfTkVYVF9CSVQ9 eQpDT05GSUdfR0VORVJJQ19GSU5EX0xBU1RfQklUPXkKIyBDT05GSUdfQ1JDX0NDSVRUIGlzIG5v dCBzZXQKIyBDT05GSUdfQ1JDMTYgaXMgbm90IHNldApDT05GSUdfQ1JDX1QxMERJRj15CiMgQ09O RklHX0NSQ19JVFVfVCBpcyBub3Qgc2V0CkNPTkZJR19DUkMzMj15CiMgQ09ORklHX0NSQzcgaXMg bm90IHNldAojIENPTkZJR19MSUJDUkMzMkMgaXMgbm90IHNldApDT05GSUdfWkxJQl9JTkZMQVRF PXkKQ09ORklHX1BMSVNUPXkKQ09ORklHX0hBU19JT01FTT15CkNPTkZJR19IQVNfSU9QT1JUPXkK Q09ORklHX0hBU19ETUE9eQo= --000e0cd2903a6da8fc0463c28aad Content-Type: application/octet-stream; name="0001-rcu-boot-self-test.patch" Content-Disposition: attachment; filename="0001-rcu-boot-self-test.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_frmcgb641 RnJvbSA2ZWNhY2QyNDExZWEwZThmZDEwMWExNmE5Yzk0M2Y2ODgzYzJjMTkxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBWZWdhcmQgTm9zc3VtIDx2ZWdhcmQubm9zc3VtQGdtYWlsLmNv bT4KRGF0ZTogV2VkLCAyNSBGZWIgMjAwOSAxODo1ODo0MSArMDEwMApTdWJqZWN0OiBbUEFUQ0hd IHJjdSBib290IHNlbGYtdGVzdAoKLS0tCiBpbml0L21haW4uYyB8ICAgNDAgKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRp b25zKCspLCAwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2luaXQvbWFpbi5jIGIvaW5pdC9t YWluLmMKaW5kZXggNzQ1OWZhZC4uZjJlMjY1NyAxMDA2NDQKLS0tIGEvaW5pdC9tYWluLmMKKysr IGIvaW5pdC9tYWluLmMKQEAgLTQ0MCw2ICs0NDAsNDUgQEAgc3RhdGljIHZvaWQgX19pbml0IHNl dHVwX2NvbW1hbmRfbGluZShjaGFyICpjb21tYW5kX2xpbmUpCiAJc3RyY3B5IChzdGF0aWNfY29t bWFuZF9saW5lLCBjb21tYW5kX2xpbmUpOwogfQogCitzdGF0aWMgYXRvbWljX3QgcmN1X2lkbGV0 ZXN0X2NvdW50ZXI7CisKK3N0cnVjdCByY3VfaWRsZXRlc3RfY29udGV4dCB7CisJc3RydWN0IHJj dV9oZWFkIHJjdV9oZWFkOworfTsKKworc3RhdGljIHZvaWQgcmN1X2lkbGV0ZXN0X2NhbGxiYWNr KHN0cnVjdCByY3VfaGVhZCAqaGVhZCkKK3sKKwlzdHJ1Y3QgcmN1X2lkbGV0ZXN0X2NvbnRleHQg KmN0eCA9CisJCWNvbnRhaW5lcl9vZihoZWFkLCBzdHJ1Y3QgcmN1X2lkbGV0ZXN0X2NvbnRleHQs IHJjdV9oZWFkKTsKKworCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZyY3VfaWRsZXRlc3RfY291 bnRlcikpCisJCXByaW50aygibGFzdCByY3VfaWRsZXRlc3RfY2FsbGJhY2sgY2FsbGVkIVxuIik7 CisJa2ZyZWUoY3R4KTsKK30KKworc3RhdGljIHZvaWQgcmN1X2lkbGV0ZXN0KHZvaWQpCit7CisJ c3RhdGljIGNvbnN0IGludCBuID0gNDAwMDsKKworCXNwaW5sb2NrX3QgbG9jazsKKwlpbnQgaTsK KworCWF0b21pY19zZXQoJnJjdV9pZGxldGVzdF9jb3VudGVyLCBuKTsKKworCXNwaW5fbG9ja19p bml0KCZsb2NrKTsKKwlzcGluX2xvY2soJmxvY2spOworCWZvciAoaSA9IDA7IGkgPCBuOyArK2kp IHsKKwkJc3RydWN0IHJjdV9pZGxldGVzdF9jb250ZXh0ICpjdHg7CisKKwkJY3R4ID0ga21hbGxv YyhzaXplb2YoKmN0eCksIEdGUF9LRVJORUwpOworCQljYWxsX3JjdSgmY3R4LT5yY3VfaGVhZCwg JnJjdV9pZGxldGVzdF9jYWxsYmFjayk7CisJfQorCisJcHJpbnRrKEtFUk5fREVCVUcgInJjdSBj YWxsYmFja3MgY2FsbGVkOiAlZCAoc2hvdWxkIGJlICVkKVxuIiwKKwkJYXRvbWljX3JlYWQoJnJj dV9pZGxldGVzdF9jb3VudGVyKSwgbik7CisJc3Bpbl91bmxvY2soJmxvY2spOworfQorCiAvKgog ICogV2UgbmVlZCB0byBmaW5hbGl6ZSBpbiBhIG5vbi1fX2luaXQgZnVuY3Rpb24gb3IgZWxzZSBy YWNlIGNvbmRpdGlvbnMKICAqIGJldHdlZW4gdGhlIHJvb3QgdGhyZWFkIGFuZCB0aGUgaW5pdCB0 aHJlYWQgbWF5IGNhdXNlIHN0YXJ0X2tlcm5lbCB0bwpAQCAtNjg0LDYgKzcyMyw3IEBAIGFzbWxp bmthZ2Ugdm9pZCBfX2luaXQgc3RhcnRfa2VybmVsKHZvaWQpCiAJdGFza3N0YXRzX2luaXRfZWFy bHkoKTsKIAlkZWxheWFjY3RfaW5pdCgpOwogCisJcmN1X2lkbGV0ZXN0KCk7CiAJY2hlY2tfYnVn cygpOwogCiAJYWNwaV9lYXJseV9pbml0KCk7IC8qIGJlZm9yZSBMQVBJQyBhbmQgU01QIGluaXQg Ki8KLS0gCjEuNi4wLjYKCg== --000e0cd2903a6da8fc0463c28aad--