From owner-freebsd-mobile@FreeBSD.ORG Sun Oct 1 01:12:46 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4313216A407 for ; Sun, 1 Oct 2006 01:12:46 +0000 (UTC) (envelope-from gdt@ir.bbn.com) Received: from fnord.ir.bbn.com (fnord.ir.bbn.com [192.1.100.210]) by mx1.FreeBSD.org (Postfix) with ESMTP id E395243D45 for ; Sun, 1 Oct 2006 01:12:41 +0000 (GMT) (envelope-from gdt@ir.bbn.com) Received: by fnord.ir.bbn.com (Postfix, from userid 10853) id CA0995286; Sat, 30 Sep 2006 21:12:40 -0400 (EDT) From: Greg Troxel To: Richard Arends In-Reply-To: <20060921133506.GA13081@sun.unixguru.nl> (Richard Arends's message of "Thu\, 21 Sep 2006 15\:35\:06 +0200") References: <20060921133506.GA13081@sun.unixguru.nl> User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (berkeley-unix) X-Hashcash: 1:20:061001:richard@unixguru.nl::NcI8E39zmZOQBnkk:0000000000000000000000000000000000000000000LTI X-Hashcash: 1:20:061001:freebsd-mobile@freebsd.org::6qChaAKeO3HLRUrL:00000000000000000000000000000000000A69f Date: Sat, 30 Sep 2006 21:12:40 -0400 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: freebsd-mobile@freebsd.org Subject: Re: Thinkpad T60 with Atheros Wifi X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Oct 2006 01:12:46 -0000 I have a T60 with the IBM/atheros part, and under NetBSD (to which ath(4) is ported from FreeBSD, so therefore it should be ok on FreeBSD) it probes as: ath0 at pci3 dev 0 function 0 ath0: interrupting at ioapic0 pin 17 (irq 11) ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps ath0: mac 10.3 phy 6.1 radio 10.2 and works with zero problems. There is wpi(4) in NetBSD, from OpenBSD, but it seems incomplete (so I don't mean to dissuade you from getting an ath(4) part). WPI(4) NetBSD Kernel Interfaces Manual WPI(4) NAME wpi -- Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless network driver SYNOPSIS wpi* at pci? dev ? function ? DESCRIPTION The wpi driver provides support for Intel PRO/Wireless 3945ABG Mini PCI Express network adapters. From owner-freebsd-mobile@FreeBSD.ORG Sun Oct 1 18:38:51 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E321A16A403 for ; Sun, 1 Oct 2006 18:38:51 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1smout1.broadpark.no (osl1smout1.broadpark.no [80.202.4.58]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6ECB243D4C for ; Sun, 1 Oct 2006 18:38:51 +0000 (GMT) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1sminn1.broadpark.no ([80.202.4.59]) by osl1smout1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with ESMTP id <0J6G00I5LZSQVO40@osl1smout1.broadpark.no> for freebsd-mobile@freebsd.org; Sun, 01 Oct 2006 20:38:50 +0200 (CEST) Received: from kg-work.kg4.no ([80.203.21.224]) by osl1sminn1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with SMTP id <0J6G00A00ZSQND90@osl1sminn1.broadpark.no> for freebsd-mobile@freebsd.org; Sun, 01 Oct 2006 20:38:50 +0200 (CEST) Date: Sun, 01 Oct 2006 20:38:49 +0200 From: Torfinn Ingolfsen X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH In-reply-to: <20060930033359.f40f65a8.torfinn.ingolfsen@broadpark.no> To: freebsd-mobile@freebsd.org Message-id: <20061001203849.f4cc9cd8.torfinn.ingolfsen@broadpark.no> MIME-version: 1.0 X-Mailer: Sylpheed version 2.2.9 (GTK+ 2.8.20; i386-portbld-freebsd5.5) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT References: <20060930033359.f40f65a8.torfinn.ingolfsen@broadpark.no> Subject: Re: Install FreeBSD on an external (usb) hard drive? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Oct 2006 18:38:52 -0000 On Sat, 30 Sep 2006 03:33:59 +0200 Torfinn Ingolfsen wrote: > Installation went fine, and I installed the FreeBSD boot manager. > When I reboot, the boot manager comes up, but as soon as I press "F1", > the screen fills with what I think is register dumps (hard to tell, > because of the fast scrolling - and pressing "scroll lock" doesn't > work) and I must power off the machine to recover. Hmm, this looks like a complicated issue. The external (usb) hard drive have the 7.0-current snapshot on partition 1 (da0s1) and 6.2-beta1 on partition 2 (da0s2). On another machine (a desktop AMD machine which normally runs FreeBSD 6.1-stable (amd64) I can boot the first partition (da0s1), but if I try to boot the second partition, it just beeps. I'll have to do more tests. -- Regards, Torfinn Ingolfsen, Norway From owner-freebsd-mobile@FreeBSD.ORG Sun Oct 1 19:18:28 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C86D616A403 for ; Sun, 1 Oct 2006 19:18:28 +0000 (UTC) (envelope-from smithi@nimnet.asn.au) Received: from gaia.nimnet.asn.au (nimbin.lnk.telstra.net [139.130.45.143]) by mx1.FreeBSD.org (Postfix) with ESMTP id 473C243D49 for ; Sun, 1 Oct 2006 19:18:26 +0000 (GMT) (envelope-from smithi@nimnet.asn.au) Received: from localhost (smithi@localhost) by gaia.nimnet.asn.au (8.8.8/8.8.8R1.4) with SMTP id FAA14630 for ; Mon, 2 Oct 2006 05:18:24 +1000 (EST) (envelope-from smithi@nimnet.asn.au) Date: Mon, 2 Oct 2006 05:18:23 +1000 (EST) From: Ian Smith To: freebsd-mobile@freebsd.org Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: external touchpad for Thinkpad T23? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 01 Oct 2006 19:18:28 -0000 I've just bought a Thinkpad T23, and I'm loving it .. but I'm not sure I'll ever be able to love its TrackPoint, being spoilt by the touchpad on my old Compaq Armada 1500c, with which I can be quite productive .. The only one I've been able to google up that looks nearly small enough to work with below the keyboard is the Adesso/Cirque EasyCat PS/2 or USB pad .. any chance these will (some value of) work with FreeBSD 6? moused(8) only mentions the older (serial, and way too chunky) ALPS Glidepoint, and the Interlink Versapad which looks more the right sort of size, but appears to be no longer available? I'd appreciate any clues. Cheers, Ian From owner-freebsd-mobile@FreeBSD.ORG Mon Oct 2 12:41:18 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B279E16A407 for ; Mon, 2 Oct 2006 12:41:18 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5DB0143D45 for ; Mon, 2 Oct 2006 12:41:18 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1GUN6i-00043N-00; Mon, 02 Oct 2006 14:41:16 +0200 Date: Mon, 2 Oct 2006 14:41:16 +0200 To: Torfinn Ingolfsen Message-ID: <20061002124116.GF4945@poupinou.org> References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-mobile@freebsd.org Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2006 12:41:18 -0000 On Sat, Sep 30, 2006 at 12:12:13AM +0200, Torfinn Ingolfsen wrote: > I have just tested FreeBSD 6.2-beta1 (i386) on the AS5672 laptop (see > the archives of this ist for my earlier attempts. > Change from last time: the BIOs is update to version v1.3234 (release > date 08/09/06). > > Behaviour is like before. > > With no special "tweaks" (ie. nothing disabled), the bge network cards > in the machine fail to attach. > With ACPI disabled, and routing for irq 18 forced, bge works, but > without acpi, the machine get too hot within less than an hour. > > dmesg's (standard and verbose) are on this page: > http://tingox.googlepages.com/aceraspireas5672andfreebsd > Since you have upgraded the BIOS, could you please add an acpidump? acpidump -d -t > acer_aspire_5672.asl I think next step should be to tweak somewhat some of the _INI methods. Cheers, -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-mobile@FreeBSD.ORG Mon Oct 2 12:59:00 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6514616A407 for ; Mon, 2 Oct 2006 12:59:00 +0000 (UTC) (envelope-from freebsd@meijome.net) Received: from sigma.octantis.com.au (ns2.octantis.com.au [207.44.189.124]) by mx1.FreeBSD.org (Postfix) with ESMTP id BB60043D70 for ; Mon, 2 Oct 2006 12:58:59 +0000 (GMT) (envelope-from freebsd@meijome.net) Received: (qmail 11687 invoked from network); 2 Oct 2006 22:58:55 +1000 Received: from 203-217-43-6.dyn.chime.net.au (HELO localhost) (203.217.43.6) by sigma.octantis.com.au with (DHE-RSA-AES256-SHA encrypted) SMTP; 2 Oct 2006 22:58:55 +1000 Date: Mon, 2 Oct 2006 22:58:47 +1000 From: Norberto Meijome To: freebsd-stable@freebsd.org, freebsd-mobile@freebsd.org Message-ID: <20061002225847.02b2e68c@localhost> X-Mailer: Sylpheed-Claws 2.5.2 (GTK+ 2.8.20; i386-portbld-freebsd6.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Subject: [SOLVED] Acpi resume on STABLE X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2006 12:59:00 -0000 Hi all, this is a followup to: http://lists.freebsd.org/pipermail/freebsd-mobile/2006-September/008993.html and to http://lists.freebsd.org/pipermail/freebsd-mobile/2006-September/009009.html I upgraded back to RELENG_6 ( 6.2-PRERELEASE). and started testing more combinations of switches,etc . I reviewed an old emai from Kevin Oberman mentioning hw.acpi.reset_video... and that was the key to successful resume with RELENG_6 . # Fixes resume on RELENG_6 hw.acpi.reset_video=1 VTSWITCH option still locks up. By 'successful resume' i mean that over 2 days in a conference I suspend and resume about 10 times with no problem at all. It worked a couple of times today too, but last one died partially with what it seemed the disk subsystem not coming back online properly (existing images in memory worked ok, anything new would not get executed, just seemed to hang). It *may* have been related to having iwi0 up when going into suspend... but it could well also be a coincidence Having the apic device enabled (from RELENG_6) still locks up my box on resume. I haven't tested Andrea Bittau's patches yet. thanks to everyone who has helped with this! _________________________ {Beto|Norberto|Numard} Meijome "Quality is never an accident, it is always the result of intelligent effort." John Ruskin (1819-1900) I speak for myself, not my employer. Contents may be hot. Slippery when wet. Reading disclaimers makes you go blind. Writing them is worse. You have been Warned. From owner-freebsd-mobile@FreeBSD.ORG Mon Oct 2 14:14:36 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2F4E616A47E for ; Mon, 2 Oct 2006 14:14:36 +0000 (UTC) (envelope-from erazorbg@gmail.com) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.233]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4F0BD43D79 for ; Mon, 2 Oct 2006 14:14:19 +0000 (GMT) (envelope-from erazorbg@gmail.com) Received: by wr-out-0506.google.com with SMTP id i21so411976wra for ; Mon, 02 Oct 2006 07:14:18 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=gzmCM7lfbRkcDvexv0UJk+I/VMizN64eFm99gI41ks/YzUiMXZvi+s8BdChXLpb4f9TVBmlJUdjz0lutQ3cHuR8fBmchVZx1JBHgmC7LEZRaVVXKIjRUC0jmNk8ZzpC1RQh8DCUjlTPlE7u4MfAvmJ9QWem86iEbpi7q7KiIdQ8= Received: by 10.90.25.3 with SMTP id 3mr1589440agy; Mon, 02 Oct 2006 07:14:17 -0700 (PDT) Received: by 10.90.88.16 with HTTP; Mon, 2 Oct 2006 07:14:17 -0700 (PDT) Message-ID: <7cc8007f0610020714m349eaacdrb24a5585b1a20d32@mail.gmail.com> Date: Mon, 2 Oct 2006 17:14:17 +0300 From: "Dimiter Ivanov" To: "Colin Faber" In-Reply-To: <450ABADD.3090806@ruckusmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <7cc8007f0609141342i4c28b2e6v206cce3469b59d1e@mail.gmail.com> <4509C6E6.3070508@ruckusmail.com> <7cc8007f0609150101x57b79a4fw89cf4b67e2291487@mail.gmail.com> <450ABADD.3090806@ruckusmail.com> Cc: freebsd-mobile@freebsd.org Subject: Re: Anyone able to use Broadcom WiFi Card with encryption? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2006 14:14:36 -0000 On 9/15/06, Colin Faber wrote: > Dimiter Ivanov wrote: > > On 9/15/06, Colin Faber wrote: > >> I'm running a broadcom mini-pci card on a WPA-PSK network with no > >> problems. > >> > >> You need to make sure that you've loaded the correct kernel modules to > >> support the encryption in question. Also, IIRC, some cards will not > >> support some types of encryption at all. Yours may be one of them. > >> > >> -cf > > > > A light in the tunel! :) > > Well i'm pretty sure the card supports WPA-PSK & WEP because that's > > how i connect to the networks at work, but only using windows. > > > > So the problem must be with the 'correct kernel modules' > > Which modules do i need to load. > > And how do i connect using WPA-PSK, i've been trying with > > wpa_supplicant , but i'm not sure that it supports cards with ndis-ed > > drivers, because it wont associate to an AP even without encryption. > You'll need crypto, wlan, wlan_tkip, and wlan_wep. > > In your rc.conf: ifconfig_ndis0="WPA DHCP" > > In your wpa_suplicant.conf: > > network={ > ssid="your-ssid" > psk="somepresharedkey" > } > network={ > ssid="someother-ssid" > other options ... > } Thank you very much, it appears that what i was missing is to specify the -D switch when calling the wpa_supplicant. Now everything works very nicely. From owner-freebsd-mobile@FreeBSD.ORG Mon Oct 2 18:35:18 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9109E16A5F7 for ; Mon, 2 Oct 2006 18:35:18 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1smout1.broadpark.no (osl1smout1.broadpark.no [80.202.4.58]) by mx1.FreeBSD.org (Postfix) with ESMTP id 94A5943D66 for ; Mon, 2 Oct 2006 18:35:15 +0000 (GMT) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1sminn1.broadpark.no ([80.202.4.59]) by osl1smout1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with ESMTP id <0J6I00BMNUAADL90@osl1smout1.broadpark.no> for freebsd-mobile@freebsd.org; Mon, 02 Oct 2006 20:34:58 +0200 (CEST) Received: from kg-work.kg4.no ([80.203.21.224]) by osl1sminn1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with SMTP id <0J6I00060UA98SE0@osl1sminn1.broadpark.no> for freebsd-mobile@freebsd.org; Mon, 02 Oct 2006 20:34:58 +0200 (CEST) Date: Mon, 02 Oct 2006 20:34:57 +0200 From: Torfinn Ingolfsen X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH In-reply-to: <20061002124116.GF4945@poupinou.org> To: freebsd-mobile@freebsd.org Message-id: <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> MIME-version: 1.0 X-Mailer: Sylpheed version 2.2.9 (GTK+ 2.8.20; i386-portbld-freebsd5.5) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> <20061002124116.GF4945@poupinou.org> Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2006 18:35:18 -0000 On Mon, 02 Oct 2006 14:41:16 +0200 Bruno Ducrot wrote: > Since you have upgraded the BIOS, could you please add an acpidump? Done. You (and anyone else interested) will fin both the new and the old acpidump at http://tingox.googlepages.com/aceraspireas5672andfreebsd > I think next step should be to tweak somewhat some of the _INI > methods. I'll try anything you can come up with. :-) -- Regards, Torfinn Ingolfsen, Norway (laptop guinea pig) From owner-freebsd-mobile@FreeBSD.ORG Mon Oct 2 18:41:20 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4FBAC16A494 for ; Mon, 2 Oct 2006 18:41:20 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1smout1.broadpark.no (osl1smout1.broadpark.no [80.202.4.58]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1EBCB43D76 for ; Mon, 2 Oct 2006 18:41:17 +0000 (GMT) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1sminn1.broadpark.no ([80.202.4.59]) by osl1smout1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with ESMTP id <0J6I00B3QUKRDMA0@osl1smout1.broadpark.no> for freebsd-mobile@freebsd.org; Mon, 02 Oct 2006 20:41:15 +0200 (CEST) Received: from kg-work.kg4.no ([80.203.21.224]) by osl1sminn1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with SMTP id <0J6I00006UKQH2A0@osl1sminn1.broadpark.no> for freebsd-mobile@freebsd.org; Mon, 02 Oct 2006 20:41:15 +0200 (CEST) Date: Mon, 02 Oct 2006 20:41:14 +0200 From: Torfinn Ingolfsen X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH In-reply-to: <20061001203849.f4cc9cd8.torfinn.ingolfsen@broadpark.no> To: freebsd-mobile@freebsd.org Message-id: <20061002204114.8e18b8d0.torfinn.ingolfsen@broadpark.no> MIME-version: 1.0 X-Mailer: Sylpheed version 2.2.9 (GTK+ 2.8.20; i386-portbld-freebsd5.5) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT References: <20060930033359.f40f65a8.torfinn.ingolfsen@broadpark.no> <20061001203849.f4cc9cd8.torfinn.ingolfsen@broadpark.no> Subject: Re: Install FreeBSD on an external (usb) hard drive? X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2006 18:41:20 -0000 On Sun, 01 Oct 2006 20:38:49 +0200 Torfinn Ingolfsen wrote: > Hmm, this looks like a complicated issue. > The external (usb) hard drive have the 7.0-current snapshot on > partition 1 (da0s1) and 6.2-beta1 on partition 2 (da0s2). On another > machine (a desktop AMD machine which normally runs FreeBSD 6.1-stable > (amd64) I can boot the first partition (da0s1), but if I try to boot > the second partition, it just beeps. I'll have to do more tests. Ok, I have done some more tests. I connected the external usb hard drive to a Thinkpad T41 laptop, and it too could boot partition 1, but not partition 2. I then reinstalled 6.2-beta1 on partition 2, and after that both the T41 laptop and the AMD desktop machine can boot both partitions. But the Acer AS5672 still can't boot off the external drive, it doesn't matter if I try partition 1 or partition 2, both exhibit the same problem as described in my initial post (ie. fast scrolling text that looks like register dumps over the screen until you shut it down). I guess it is (another) bios problem on the Acer Aspire AS5672. -- Regards, Torfinn Ingolfsen, Norway From owner-freebsd-mobile@FreeBSD.ORG Mon Oct 2 19:22:01 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D028716A416; Mon, 2 Oct 2006 19:22:01 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 36B7843D53; Mon, 2 Oct 2006 19:21:58 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id k92JLmp6018637; Mon, 2 Oct 2006 15:21:50 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Andrea Bittau Date: Mon, 2 Oct 2006 14:24:18 -0400 User-Agent: KMail/1.9.1 References: <20060921000628.GA1832@shorty.sorbonet.org> In-Reply-To: <20060921000628.GA1832@shorty.sorbonet.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200610021424.18562.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Mon, 02 Oct 2006 15:21:50 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/1973/Mon Oct 2 11:18:33 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: freebsd-acpi@freebsd.org, freebsd-mobile@freebsd.org Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2006 19:22:01 -0000 On Wednesday 20 September 2006 20:06, Andrea Bittau wrote: > This is a half working hack for getting suspend/resume to "work" on an IBM > > ... > > 2) apic. FreeBSD reconfigures the io apic upon resume, but not the local apic. > The patch attached to this mail fixes this. Indeed, it almost does so in the > "proper" way and not so much of a hack =D. I actually have made a full patch for APIC I think (thanks for your work as it reminded me about needing to resume lapic). You can find it at http://www.FreeBSD.org/~jhb/patches/apic_resume.patch It changes the x86 interrupt code to resume interrupt controllers, not interrupt sources. It then uses this to make sure the 8259A PICs are properly reset on resume as well as resuming the local APIC. Can you test this w/o SMP and make sure it works? > 3) SMP. The second core needs to be killed and woken up as appropriate. The > way I do this is quite lame. > - Force the second core in the idle loop by setting machdep.hlt_cpus=2. > - make system look like UP instead of SMP [i.e. deactivate SMP] & suspend. > - resume, wake up other core [which will run idle process] and activate SMP. Probably we need to get onto the BSP via sched_bind() during suspend and then stop the other CPUs using stop_cpus(). The hard part, however, is properly resuming the darn things. Do you know what mode the CPUs come back up in? It looks like we need to resend startup IPIs to them from your patch. -- John Baldwin From owner-freebsd-mobile@FreeBSD.ORG Mon Oct 2 22:03:15 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CADF016A40F; Mon, 2 Oct 2006 22:03:15 +0000 (UTC) (envelope-from nate@root.org) Received: from ylpvm15.prodigy.net (ylpvm15-ext.prodigy.net [207.115.57.46]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2D63F43D55; Mon, 2 Oct 2006 22:03:13 +0000 (GMT) (envelope-from nate@root.org) X-ORBL: [67.119.74.222] Received: from [10.0.0.44] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222]) by ylpvm15.prodigy.net (8.13.8 out.dk.spool/8.13.8) with ESMTP id k92M39cG003075; Mon, 2 Oct 2006 18:03:10 -0400 Message-ID: <45218C97.5050802@root.org> Date: Mon, 02 Oct 2006 15:03:03 -0700 From: Nate Lawson User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) MIME-Version: 1.0 To: John Baldwin References: <20060921000628.GA1832@shorty.sorbonet.org> <200610021424.18562.jhb@freebsd.org> In-Reply-To: <200610021424.18562.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org, Andrea Bittau , freebsd-mobile@freebsd.org Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2006 22:03:15 -0000 John Baldwin wrote: > On Wednesday 20 September 2006 20:06, Andrea Bittau wrote: >> This is a half working hack for getting suspend/resume to "work" on an IBM >> >> ... >> >> 2) apic. FreeBSD reconfigures the io apic upon resume, but not the local > apic. >> The patch attached to this mail fixes this. Indeed, it almost does so in > the >> "proper" way and not so much of a hack =D. > > I actually have made a full patch for APIC I think (thanks for your work as it > reminded me about needing to resume lapic). You can find it at > http://www.FreeBSD.org/~jhb/patches/apic_resume.patch It changes the x86 > interrupt code to resume interrupt controllers, not interrupt sources. It > then uses this to make sure the 8259A PICs are properly reset on resume as > well as resuming the local APIC. Can you test this w/o SMP and make sure it > works? Great to see this work going on. I just got a Core Duo laptop so this would be great to see fixed. I'm kinda disappointed you're not using newbus for your device methods, but I think I mentioned that before. On the reset code, shouldn't there be some delays between writes to the registers? + outb(IO_ICU1, ICW1_RESET | ICW1_IC4); + outb(IO_ICU1 + ICU_IMR_OFFSET, IDT_IO_INTS); [delay?] + outb(IO_ICU1 + ICU_IMR_OFFSET, 1 << 2); [delay?] + outb(IO_ICU1 + ICU_IMR_OFFSET, ICW4_8086); [delay?] + outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff); + outb(IO_ICU1, OCW3_SEL | OCW3_RR); + + outb(IO_ICU2, ICW1_RESET | ICW1_IC4); + outb(IO_ICU2 + ICU_IMR_OFFSET, IDT_IO_INTS + 8); [delay?] + outb(IO_ICU2 + ICU_IMR_OFFSET, 2); [delay?] + outb(IO_ICU2 + ICU_IMR_OFFSET, ICW4_8086); [delay?] + outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff); + outb(IO_ICU2, OCW3_SEL | OCW3_RR); >> 3) SMP. The second core needs to be killed and woken up as appropriate. > The >> way I do this is quite lame. >> - Force the second core in the idle loop by setting machdep.hlt_cpus=2. >> - make system look like UP instead of SMP [i.e. deactivate SMP] & > suspend. >> - resume, wake up other core [which will run idle process] and activate > SMP. > > Probably we need to get onto the BSP via sched_bind() during suspend and then > stop the other CPUs using stop_cpus(). The hard part, however, is properly > resuming the darn things. Do you know what mode the CPUs come back up in? > It looks like we need to resend startup IPIs to them from your patch. The writes to the PM registers should happen from the BSP anyway, so sched_bind() is the right way to go. I think you need to start them up the same as boot, including startup IPI and then enabling scheduling on them. -- Nate From owner-freebsd-mobile@FreeBSD.ORG Mon Oct 2 22:31:11 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3D3B216A407; Mon, 2 Oct 2006 22:31:11 +0000 (UTC) (envelope-from a.bittau@cs.ucl.ac.uk) Received: from darkircop.org (tapir.cs.ucl.ac.uk [128.16.66.93]) by mx1.FreeBSD.org (Postfix) with ESMTP id C547643D4C; Mon, 2 Oct 2006 22:31:10 +0000 (GMT) (envelope-from a.bittau@cs.ucl.ac.uk) Received: by darkircop.org (Postfix, from userid 0) id 6DB3A5C5C71; Mon, 2 Oct 2006 23:30:55 +0100 (BST) Date: Mon, 2 Oct 2006 23:30:55 +0100 From: Andrea Bittau To: John Baldwin Message-ID: <20061002223055.GA8217@shorty.sorbonet.org> References: <20060921000628.GA1832@shorty.sorbonet.org> <200610021424.18562.jhb@freebsd.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <200610021424.18562.jhb@freebsd.org> User-Agent: Mutt/1.4.2.1i X-Echelon: Bush Bomb War KGB Cc: freebsd-acpi@freebsd.org, freebsd-mobile@freebsd.org Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 Oct 2006 22:31:11 -0000 On Mon, Oct 02, 2006 at 02:24:18PM -0400, John Baldwin wrote: > well as resuming the local APIC. Can you test this w/o SMP and make sure it > works? I'll give it a shot as soon as I get some time. > Probably we need to get onto the BSP via sched_bind() during suspend and then > stop the other CPUs using stop_cpus(). The hard part, however, is properly Yea I do that in acpi_SetSleepState(). Essentially I copied the shutdown code. > resuming the darn things. Do you know what mode the CPUs come back up in? > It looks like we need to resend startup IPIs to them from your patch. Yea it all comes back in real mode. I've tried using the standard freebsd "boot code" for waking up the second CPU. There were some issues with the BSP not using PTD_Idle. I don't know enough about computers and freebsd to know what exactly that means. Also, when the second CPU came back, if it entered the scheduler, it would die, so I had to leave it in the idle loop by setting the cpu_hlt mask. Anyway, the correct way to do it I think is to generalize the save state & wakeup code used by the BSP in acpi_sleep_machdep(). That is, the second core should save its state and wake up the same way as the BSP does. It should not use the "come to life mechanism" used at boot-time. The reason is that the memory is setup properly and the second core should have saved registers which make sense so less "initialization and setup" needs to be performed. From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 00:30:08 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2933916A412; Tue, 3 Oct 2006 00:30:08 +0000 (UTC) (envelope-from nate@root.org) Received: from ylpvm01.prodigy.net (ylpvm01-ext.prodigy.net [207.115.57.32]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E91743D46; Tue, 3 Oct 2006 00:30:07 +0000 (GMT) (envelope-from nate@root.org) X-ORBL: [67.119.74.222] Received: from [10.0.0.44] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222]) by ylpvm01.prodigy.net (8.13.7 out spool5000 dk/8.13.7) with ESMTP id k930TS1Q015985; Mon, 2 Oct 2006 20:29:29 -0400 Message-ID: <4521AF05.50208@root.org> Date: Mon, 02 Oct 2006 17:29:57 -0700 From: Nate Lawson User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) MIME-Version: 1.0 To: Andrea Bittau References: <20060921000628.GA1832@shorty.sorbonet.org> <200610021424.18562.jhb@freebsd.org> <20061002223055.GA8217@shorty.sorbonet.org> In-Reply-To: <20061002223055.GA8217@shorty.sorbonet.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org, freebsd-mobile@freebsd.org Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 00:30:08 -0000 Andrea Bittau wrote: > On Mon, Oct 02, 2006 at 02:24:18PM -0400, John Baldwin wrote: >> well as resuming the local APIC. Can you test this w/o SMP and make sure it >> works? > > I'll give it a shot as soon as I get some time. > >> Probably we need to get onto the BSP via sched_bind() during suspend and then >> stop the other CPUs using stop_cpus(). The hard part, however, is properly > > Yea I do that in acpi_SetSleepState(). Essentially I copied the shutdown code. > >> resuming the darn things. Do you know what mode the CPUs come back up in? >> It looks like we need to resend startup IPIs to them from your patch. > > Yea it all comes back in real mode. I've tried using the standard freebsd "boot > code" for waking up the second CPU. There were some issues with the BSP not > using PTD_Idle. I don't know enough about computers and freebsd to know what > exactly that means. Also, when the second CPU came back, if it entered the > scheduler, it would die, so I had to leave it in the idle loop by setting the > cpu_hlt mask. > > Anyway, the correct way to do it I think is to generalize the save state & > wakeup code used by the BSP in acpi_sleep_machdep(). That is, the second core > should save its state and wake up the same way as the BSP does. It should not > use the "come to life mechanism" used at boot-time. The reason is that the > memory is setup properly and the second core should have saved registers which > make sense so less "initialization and setup" needs to be performed. I disagree. Instead of trying to capture all that register state, including MSRs, MTRRs, etc., it seems easier just to reinitialize from scratch. We'll need to do that anyway once suspend-to-disk is implemented since that kind of resume is equivalent to a hard power cycle. -- Nate From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 05:31:41 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0C25316A417 for ; Tue, 3 Oct 2006 05:31:41 +0000 (UTC) (envelope-from SRS0=jy5ktj=DQ=vvelox.net=v.velox@yourhostingaccount.com) Received: from mailout13.yourhostingaccount.com (mailout13.yourhostingaccount.com [65.254.253.105]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9B62643D45 for ; Tue, 3 Oct 2006 05:31:40 +0000 (GMT) (envelope-from SRS0=jy5ktj=DQ=vvelox.net=v.velox@yourhostingaccount.com) Received: from scan07.yourhostingaccount.com ([10.1.1.237] helo=scan07.yourhostingaccount.com) by mailout13.yourhostingaccount.com with esmtp (Exim) id 1GUcsW-0002bS-6H for freebsd-mobile@freebsd.org; Tue, 03 Oct 2006 01:31:40 -0400 Received: from authsmtp08.yourhostingaccount.com ([10.1.18.8] ident=exim) by scan07.yourhostingaccount.com with spamscanlookuphost (Exim) id 1GUcsW-0007Dj-0t for freebsd-mobile@freebsd.org; Tue, 03 Oct 2006 01:31:40 -0400 Received: from authsmtp08.yourhostingaccount.com ([10.1.18.8] helo=authsmtp08.yourhostingaccount.com) by scan07.yourhostingaccount.com with esmtp (Exim) id 1GUcsV-0007Dg-NH for freebsd-mobile@freebsd.org; Tue, 03 Oct 2006 01:31:39 -0400 Received: from [69.92.217.33] (helo=vixen42) by authsmtp08.yourhostingaccount.com with esmtpa (Exim) id 1GUcsV-0007aH-Bs for freebsd-mobile@freebsd.org; Tue, 03 Oct 2006 01:31:39 -0400 Date: Tue, 3 Oct 2006 00:32:08 -0500 From: Vulpes Velox To: freebsd-mobile@freebsd.org Message-ID: <20061003003208.12893cf8@vixen42> X-Mailer: Sylpheed-Claws 2.5.2 (GTK+ 2.8.20; i386-portbld-freebsd6.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable X-EN-UserInfo: 0d1ca1697cdb7a831d4877828571b7ab:1570f0de6936c69fef9e164fffc541bc X-EN-AuthUser: vvelox2 Sender: Vulpes Velox Subject: Atheros issues on a Toshiba Satellite P100. X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 05:31:41 -0000 ath0: irq 17 at device 0.0 on pci3 ath0: 0x10000 bytes of rid 0x10 res 3 failed (0, 0xffffffff). ath0: cannot map register space device_attach: ath0 attach returned 6 Any suggestions about going fixing this? =46rom pciconf -lv... ath0@pci3:0:0: class=3D0x020000 card=3D0x7096144f chip=3D0x001c168c rev=3D0x01 hdr=3D0x00 vendor =3D 'Atheros Communications Inc.' class =3D network subclass =3D ethernet From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 06:30:06 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 297DB16A4A0 for ; Tue, 3 Oct 2006 06:30:06 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (vc4-2-0-87.dsl.netrack.net [199.45.160.85]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7ADF143D4C for ; Tue, 3 Oct 2006 06:30:05 +0000 (GMT) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.13.4/8.13.4) with ESMTP id k936T48h084703; Tue, 3 Oct 2006 00:29:04 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Tue, 03 Oct 2006 00:28:12 -0600 (MDT) Message-Id: <20061003.002812.-1733292693.imp@bsdimp.com> To: stapleton.41@gmail.com From: "M. Warner Losh" In-Reply-To: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> References: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> X-Mailer: Mew version 4.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-2.0 (harmony.bsdimp.com [127.0.0.1]); Tue, 03 Oct 2006 00:29:04 -0600 (MDT) Cc: freebsd-mobile@freebsd.org Subject: Re: pccard slot not working properly X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 06:30:06 -0000 I hate to sound like Bill Paul, but can you provide a little more information? Like what card is this? Cardbus or PC Card? I'd boot -v and also turn on the following tunables: hw.cbb.debug=1 hw.pccard.cis_debug=1 hw.pccard.debug=1 hw.cardbus.cis_debug=1 hw.cardbus.debug=1 in /boot/loader.conf and post the dmesg here (or a pointer to it), in addition to cc'ing me. My wife is expecting any day now, so I might suddenly disappear for a couple of weeks. There are others here that can help you out, however, if you post this basic information. Warner In message: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> "Jim Stapleton" writes: : I have a pccard wireless NIC, and I know it comes up and runs in : Knoppix, but in FreeBSD, it is troubled. It is reported to work on one : website, using NDIS, but I don't get far enough to make use of it. : After some testing, I suspect it's the notebook not recognizing the : pccard slot. : : - The cards diagnostic light blinks green and then goes off when inserted : - The card information does not appear in dmesg after insertion : - The card appears to work fine in knoppix : - I'll have a friend with some spare pccards come over tomorrow - her : cards work on her BSD box just fine, just to verify if it's card or : card controller. : : My question, the system is a Toshiba Satellite A105-4001. It is an : i850/ICH7 based machine. What's the best way to see what the pccard : device is, and figure out how to get it working? : : My main test that leaves me suspicious, I booted the machine with the : card and ran the following commands: : $ ls /dev > IL-dev : $ dmesg > IL-dmesg : $ pciconf > IL-pciconf : : Next, I rebooted it without the card: : $ ls /dev > I-dev : $ dmesg > I-dmesg : $ pciconf > I-pciconf : : Next I diff'ed the IL files with their matching I files, the only : difference that popped up with dmesg with the 'Timecounter "TSC" : frequency [...]. entry, which to my knowledge, should not be related : to the problem at all. : : Any suggestions? : : Thanks, : -Jim Stapleton : _______________________________________________ : freebsd-mobile@freebsd.org mailing list : http://lists.freebsd.org/mailman/listinfo/freebsd-mobile : To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" : From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 07:21:01 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0428316A407; Tue, 3 Oct 2006 07:21:01 +0000 (UTC) (envelope-from a.bittau@cs.ucl.ac.uk) Received: from darkircop.org (tapir.cs.ucl.ac.uk [128.16.66.93]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8572B43D5A; Tue, 3 Oct 2006 07:21:00 +0000 (GMT) (envelope-from a.bittau@cs.ucl.ac.uk) Received: by darkircop.org (Postfix, from userid 0) id 131DD5C5C6E; Tue, 3 Oct 2006 08:20:45 +0100 (BST) Date: Tue, 3 Oct 2006 08:20:45 +0100 From: Andrea Bittau To: Nate Lawson Message-ID: <20061003072044.GA9182@shorty.sorbonet.org> References: <20060921000628.GA1832@shorty.sorbonet.org> <200610021424.18562.jhb@freebsd.org> <20061002223055.GA8217@shorty.sorbonet.org> <4521AF05.50208@root.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4521AF05.50208@root.org> User-Agent: Mutt/1.4.2.1i X-Echelon: Bush Bomb War KGB Cc: freebsd-acpi@freebsd.org, freebsd-mobile@freebsd.org Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 07:21:01 -0000 On Mon, Oct 02, 2006 at 05:29:57PM -0700, Nate Lawson wrote: > I disagree. Instead of trying to capture all that register state, > including MSRs, MTRRs, etc., it seems easier just to reinitialize from > scratch. We'll need to do that anyway once suspend-to-disk is > implemented since that kind of resume is equivalent to a hard power cycle. OK so what's the protocol? Force the second CPU into the idle loop, boot it up, and let the scheduler decide what it should run? I tried doing that. It sort of works but the system seemed unstable [page faults] when interrupts were handled by the second core, or some processes were run. One thing I noted is that the CR3 was different from what it was previously. On wakeup, it's idle_ptd and i'm not sure what that means and if that's ok. Also, I don't see how reinitializing from scratch is "easier". You'd have to setup all registers anyway. Furthermore, you'd have to allocate a stack, the per-cpu pages and stuff like that which is already in RAM. [If you use the existing values then it's not "reinitializing from scratch ;D.] Anyway, I don't want to argue because I know really little of this stuff---I just wanted to give a shot at getting s/r working on my laptop ;D I got it ~75% working on my laptop. Now I'm waiting for someone to point out how to wakeup the second core properly and why my mechanism [albeit being a hack] doesn't work. From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 08:28:11 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E8E6D16A407 for ; Tue, 3 Oct 2006 08:28:11 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7663E43D76 for ; Tue, 3 Oct 2006 08:28:06 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1GUfdE-0005m6-00; Tue, 03 Oct 2006 10:28:04 +0200 Date: Tue, 3 Oct 2006 10:28:04 +0200 To: Torfinn Ingolfsen Message-ID: <20061003082804.GG4945@poupinou.org> References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> <20061002124116.GF4945@poupinou.org> <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-mobile@freebsd.org Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 08:28:12 -0000 On Mon, Oct 02, 2006 at 08:34:57PM +0200, Torfinn Ingolfsen wrote: > On Mon, 02 Oct 2006 14:41:16 +0200 > Bruno Ducrot wrote: > > > Since you have upgraded the BIOS, could you please add an acpidump? > > Done. You (and anyone else interested) will fin both the new and the > old acpidump at > http://tingox.googlepages.com/aceraspireas5672andfreebsd Thanks. > > > I think next step should be to tweak somewhat some of the _INI > > methods. > > I'll try anything you can come up with. :-) Ok. Before tweaking some of the _INI, could you please post a dump of the pci regs for your network card? I think this should be something like that: pciconf -r pci4:0:0 0 -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 09:10:24 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 524D816A407 for ; Tue, 3 Oct 2006 09:10:24 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id ED64D43D5E for ; Tue, 3 Oct 2006 09:10:23 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1GUgI9-0005pR-00; Tue, 03 Oct 2006 11:10:21 +0200 Date: Tue, 3 Oct 2006 11:10:21 +0200 To: "felix.schalck" Message-ID: <20061003091020.GH4945@poupinou.org> References: <4513C3A7.4090607@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4513C3A7.4090607@gmail.com> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-mobile@freebsd.org Subject: Re: Battery on Clevo M120 W X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 09:10:24 -0000 On Fri, Sep 22, 2006 at 01:06:15PM +0200, felix.schalck wrote: > Hello, > > I don't know wether it is the right place to post this; i first tried > freebsd-acpi, but didn't get any response: maybe I did something wrong... > Well: I'm was running FreeBSD 5.4 on my laptop without any main problem > related to acpi. But since I upgraded to 6 - Stable, I miss the battery > life status, which is very annoying... Since it worked on 5.4, it might > not be an ASL problem (anyway: it tried acpidump & ald *.dump and only > got 2 minor errors). Does someone experience a similar problem ? > Related to the battery: the handbook provided by the vendor describes > the battery as a smart batt, although demsg shows battery0: Control Method Battery>. Is it possible to force the load of sm_batt ? This require some hacking you maybe don't want to hear about. A first step is a carreful inspection of the ACPI tables and modification of them. > Secondly: i'm getting a wrong acpi-line status every time I'm rebooting. > After unplugging the ac adapter, and reconnecting it, everything seems > to work fine. Perhaps the adapter is not ready when it's first beeing > tested ? Is there any way to force a new status-init a bit later ? > > Any help or comments woudl be greatly appreciated. I find it to stupid > to leave FreeBSD because of a batt problem; so I ready to read-and-do > everything's neccessary to get it working again. If required, I can post > system log or acpi messages. > Is there an acpidump available somewhere on the web? Something like that: acpidump -d -t > Clevo_M120.asl -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 09:30:16 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E023016A417 for ; Tue, 3 Oct 2006 09:30:16 +0000 (UTC) (envelope-from felix.schalck@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.173]) by mx1.FreeBSD.org (Postfix) with ESMTP id B50B243D55 for ; Tue, 3 Oct 2006 09:30:08 +0000 (GMT) (envelope-from felix.schalck@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so558706uge for ; Tue, 03 Oct 2006 02:30:04 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:user-agent:mime-version:to:cc:subject:references:in-reply-to:content-type; b=t8c+pYWF3FtHLigOCfWHkc/tYQtt+8L5jdQjgNCwU+DxqtMTp0Rl0+SRiInEVpFdOoewdVday2Oyu6Z0U+Tpc7JzyascwMCEXR28BqbRQ8e0h5FRxuMn1/gOWACa5NZV4rYZHybgsLSOf5YPC1XLlRM87coG1d8jYQrSnchtYTE= Received: by 10.66.220.17 with SMTP id s17mr3537842ugg; Tue, 03 Oct 2006 02:30:03 -0700 (PDT) Received: from ?192.168.1.106? ( [212.198.184.41]) by mx.gmail.com with ESMTP id y7sm3625120ugc.2006.10.03.02.29.54; Tue, 03 Oct 2006 02:30:01 -0700 (PDT) Message-ID: <45222D8C.3000809@gmail.com> Date: Tue, 03 Oct 2006 11:29:48 +0200 From: "felix.schalck" User-Agent: Thunderbird 1.5.0.5 (X11/20060828) MIME-Version: 1.0 To: Bruno Ducrot References: <4513C3A7.4090607@gmail.com> <20061003091020.GH4945@poupinou.org> In-Reply-To: <20061003091020.GH4945@poupinou.org> Content-Type: multipart/mixed; boundary="------------030000070609080807030306" Cc: freebsd-mobile@freebsd.org Subject: Re: Battery on Clevo M120 W X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 09:30:17 -0000 This is a multi-part message in MIME format. --------------030000070609080807030306 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Bruno Ducrot wrote: > On Fri, Sep 22, 2006 at 01:06:15PM +0200, felix.schalck wrote: > >> Hello, >> >> I don't know wether it is the right place to post this; i first tried >> freebsd-acpi, but didn't get any response: maybe I did something wrong... >> Well: I'm was running FreeBSD 5.4 on my laptop without any main problem >> related to acpi. But since I upgraded to 6 - Stable, I miss the battery >> life status, which is very annoying... Since it worked on 5.4, it might >> not be an ASL problem (anyway: it tried acpidump & ald *.dump and only >> got 2 minor errors). Does someone experience a similar problem ? >> Related to the battery: the handbook provided by the vendor describes >> the battery as a smart batt, although demsg shows battery0: > Control Method Battery>. Is it possible to force the load of sm_batt ? >> > > This require some hacking you maybe don't want to hear about. > A first step is a carreful inspection of the ACPI tables and > modification of them. > > >> Secondly: i'm getting a wrong acpi-line status every time I'm rebooting. >> After unplugging the ac adapter, and reconnecting it, everything seems >> to work fine. Perhaps the adapter is not ready when it's first beeing >> tested ? Is there any way to force a new status-init a bit later ? >> >> Any help or comments woudl be greatly appreciated. I find it to stupid >> to leave FreeBSD because of a batt problem; so I ready to read-and-do >> everything's neccessary to get it working again. If required, I can post >> system log or acpi messages. >> >> > > Is there an acpidump available somewhere on the web? Something like > that: > acpidump -d -t > Clevo_M120.asl > > Thanks for help Bruno. You french ? because I am :) - OK for the wired sm_batt hack. - Sure, I can post a dump: checkout attachement file or lookat here Felix --------------030000070609080807030306 Content-Type: application/octet-stream; name="clevo_m120w.asl" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="clevo_m120w.asl" LyoKICBSU0QgUFRSOiBPRU09UFRMVEQsIEFDUElfUmV2PTEuMHggKDApCglSU0RUPTB4M2Rl ZTU2NDMsIGNrc3VtPTExNwogKi8KLyoKICBSU0RUOiBMZW5ndGg9NjAsIFJldmlzaW9uPTEs IENoZWNrc3VtPTQ0LAoJT0VNSUQ9UFRMVEQsIE9FTSBUYWJsZSBJRD3wAAAgAAAADywgT0VN IFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3IgSUQ9IExUUCwgQ3JlYXRvciBSZXZpc2lv bj0weDAKCUVudHJpZXM9eyAweDNkZWU5ZWM0LCAweDNkZWU5ZmQ4LCAweDNkZWU5ZjcwLCAw eDNkZWU1YTcwLCAweDNkZWU1ODk4LCAweDNkZWU1NjdmIH0KICovCi8qCiAgRkFDUDogTGVu Z3RoPTExNiwgUmV2aXNpb249MSwgQ2hlY2tzdW09MywKCU9FTUlEPUlOVEVMLCBPRU0gVGFi bGUgSUQ9TU9OVEFSQSwgT0VNIFJldmlzaW9uPTB4NjA0MDAwMCwKCUNyZWF0b3IgSUQ9UFRM LCBDcmVhdG9yIFJldmlzaW9uPTB4NTAKIAlGQUNTPTB4M2RlZmFmYzAsIERTRFQ9MHgzZGVl NWYwNwoJSU5UX01PREVMPVBJQwoJUHJlZmVycmVkX1BNX1Byb2ZpbGU9VW5zcGVjaWZpZWQg KDApCglTQ0lfSU5UPTkKCVNNSV9DTUQ9MHhiMiwgQUNQSV9FTkFCTEU9MHhmMCwgQUNQSV9E SVNBQkxFPTB4ZjEsIFM0QklPU19SRVE9MHhmMgoJUFNUQVRFX0NOVD0weDgwCglQTTFhX0VW VF9CTEs9MHgxMDAwLTB4MTAwMwoJUE0xYV9DTlRfQkxLPTB4MTAwNC0weDEwMDUKCVBNMl9D TlRfQkxLPTB4MTAyMC0weDEwMjAKCVBNX1RNUl9CTEs9MHgxMDA4LTB4MTAwYgoJR1BFMF9C TEs9MHgxMDI4LTB4MTAyZgoJQ1NUX0NOVD0weDg1CglQX0xWTDJfTEFUPTEgdXMsIFBfTFZM M19MQVQ9ODUgdXMKCUZMVVNIX1NJWkU9MCwgRkxVU0hfU1RSSURFPTAKCURVVFlfT0ZGU0VU PTEsIERVVFlfV0lEVEg9MwoJREFZX0FMUk09MTMsIE1PTl9BTFJNPTAsIENFTlRVUlk9NTAK CUlBUENfQk9PVF9BUkNIPQoJRmxhZ3M9e1dCSU5WRCxQUk9DX0MxLFNMUF9CVVRUT04sRENL X0NBUH0KICovCi8qCiAgRkFDUzoJTGVuZ3RoPTY0LCBId1NpZz0weDAwMDAxMjA3LCBGaXJt X1dha2VfVmVjPTB4MDAwMDAwMDAKCUdsb2JhbF9Mb2NrPQoJRmxhZ3M9CglWZXJzaW9uPTAK ICovCi8qCiAgRFNEVDogTGVuZ3RoPTE2MzE3LCBSZXZpc2lvbj0xLCBDaGVja3N1bT02LAoJ T0VNSUQ9SU5URUwsIE9FTSBUYWJsZSBJRD1NT05UQVJBRywgT0VNIFJldmlzaW9uPTB4NjA0 MDAwMCwKCUNyZWF0b3IgSUQ9TVNGVCwgQ3JlYXRvciBSZXZpc2lvbj0weDEwMDAwMGUKICov Ci8qCiAgQk9PVDogTGVuZ3RoPTQwLCBSZXZpc2lvbj0xLCBDaGVja3N1bT0xNjUsCglPRU1J RD1QVExURCwgT0VNIFRhYmxlIElEPSRTQkZUQkwkLCBPRU0gUmV2aXNpb249MHg2MDQwMDAw LAoJQ3JlYXRvciBJRD0gTFRQLCBDcmVhdG9yIFJldmlzaW9uPTB4MQogKi8KLyoKICBBUElD OiBMZW5ndGg9MTA0LCBSZXZpc2lvbj0xLCBDaGVja3N1bT0yNDEsCglPRU1JRD1JTlRFTCwg T0VNIFRhYmxlIElEPU1PTlRBUkEsIE9FTSBSZXZpc2lvbj0weDYwNDAwMDAsCglDcmVhdG9y IElEPUxPSFIsIENyZWF0b3IgUmV2aXNpb249MHg2NAoJTG9jYWwgQVBJQyBBRERSPTB4ZmVl MDAwMDAKCUZsYWdzPXtQQy1BVH0KCglUeXBlPUxvY2FsIEFQSUMKCUFDUEkgQ1BVPTAKCUZs YWdzPXtFTkFCTEVEfQoJQVBJQyBJRD0wCgoJVHlwZT1Mb2NhbCBBUElDCglBQ1BJIENQVT0x CglGbGFncz17RElTQUJMRUR9CglBUElDIElEPTEKCglUeXBlPUlPIEFQSUMKCUFQSUMgSUQ9 MQoJSU5UIEJBU0U9MAoJQUREUj0weDAwMDAwMDAwZmVjMDAwMDAKCglUeXBlPUlOVCBPdmVy cmlkZQoJQlVTPTAKCUlSUT0wCglJTlRSPTIKCUZsYWdzPXtQb2xhcml0eT1jb25mb3JtaW5n LCBUcmlnZ2VyPWNvbmZvcm1pbmd9CgoJVHlwZT1JTlQgT3ZlcnJpZGUKCUJVUz0wCglJUlE9 OQoJSU5UUj05CglGbGFncz17UG9sYXJpdHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWxldmVsfQoK CVR5cGU9TG9jYWwgTk1JCglBQ1BJIENQVT0wCglMSU5UIFBpbj0xCglGbGFncz17UG9sYXJp dHk9YWN0aXZlLWhpLCBUcmlnZ2VyPWVkZ2V9CgoJVHlwZT1Mb2NhbCBOTUkKCUFDUEkgQ1BV PTEKCUxJTlQgUGluPTEKCUZsYWdzPXtQb2xhcml0eT1hY3RpdmUtaGksIFRyaWdnZXI9ZWRn ZX0KICovCi8qCiAgU1NEVDogTGVuZ3RoPTUxMSwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjQ5 LAoJT0VNSUQ9UG1SZWYsIE9FTSBUYWJsZSBJRD1DcHUwSXN0LCBPRU0gUmV2aXNpb249MHgz MDAwLAoJQ3JlYXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwMzAyMjQKICov Ci8qCiAgU1NEVDogTGVuZ3RoPTQ3MiwgUmV2aXNpb249MSwgQ2hlY2tzdW09MjQ3LAoJT0VN SUQ9UG1SZWYsIE9FTSBUYWJsZSBJRD1DcHUwQ3N0LCBPRU0gUmV2aXNpb249MHgzMDAxLAoJ Q3JlYXRvciBJRD1JTlRMLCBDcmVhdG9yIFJldmlzaW9uPTB4MjAwMzAyMjQKICovCi8qCiAg U1NEVDogTGVuZ3RoPTUzNywgUmV2aXNpb249MSwgQ2hlY2tzdW09MjA0LAoJT0VNSUQ9UG1S ZWYsIE9FTSBUYWJsZSBJRD1DcHVQbSwgT0VNIFJldmlzaW9uPTB4MzAwMCwKCUNyZWF0b3Ig SUQ9SU5UTCwgQ3JlYXRvciBSZXZpc2lvbj0weDIwMDMwMjI0CiAqLwovKgogKiBJbnRlbCBB Q1BJIENvbXBvbmVudCBBcmNoaXRlY3R1cmUKICogQU1MIERpc2Fzc2VtYmxlciB2ZXJzaW9u IDIwMDQxMTE5CiAqCiAqIERpc2Fzc2VtYmx5IG9mIC90bXAvYWNwaWR1bXAuTHJqN0hVLCBU dWUgT2N0ICAzIDExOjE4OjQ2IDIwMDYKICovCkRlZmluaXRpb25CbG9jayAoIkRTRFQuYW1s IiwgIkRTRFQiLCAxLCAiSU5URUwgIiwgIk1PTlRBUkFHIiwgMTAwOTI1NDQwKQp7CiAgICBP cGVyYXRpb25SZWdpb24gKFBSVDAsIFN5c3RlbUlPLCAweDgwLCAweDAxKQogICAgRmllbGQg KFBSVDAsIEJ5dGVBY2MsIExvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIFA4MEgsICAg OAogICAgfQoKICAgIE9wZXJhdGlvblJlZ2lvbiAoUFJUMSwgU3lzdGVtSU8sIDB4MTFCOSwg MHgwMSkKICAgIEZpZWxkIChQUlQxLCBCeXRlQWNjLCBMb2NrLCBQcmVzZXJ2ZSkKICAgIHsK ICAgICAgICBUTEVELCAgIDgKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKFNfSU8sIFN5 c3RlbUlPLCAweDA2MDAsIDB4MTApCiAgICBGaWVsZCAoU19JTywgQnl0ZUFjYywgTm9Mb2Nr LCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBPZmZzZXQgKDB4MEEpLCAKICAgICAgICBJU1BF LCAgIDEKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKElPX1QsIFN5c3RlbUlPLCAweDA4 MDAsIDB4MTApCiAgICBGaWVsZCAoSU9fVCwgQnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkK ICAgIHsKICAgICAgICBPZmZzZXQgKDB4MDIpLCAKICAgICAgICBPZmZzZXQgKDB4MDQpLCAK ICAgICAgICBPZmZzZXQgKDB4MDYpLCAKICAgICAgICBPZmZzZXQgKDB4MDgpLCAKICAgICAg ICBUUlAwLCAgIDgsIAogICAgICAgIE9mZnNldCAoMHgwQSksIAogICAgICAgIE9mZnNldCAo MHgwQiksIAogICAgICAgIE9mZnNldCAoMHgwQyksIAogICAgICAgIE9mZnNldCAoMHgwRCks IAogICAgICAgIE9mZnNldCAoMHgwRSksIAogICAgICAgIE9mZnNldCAoMHgwRiksIAogICAg ICAgIE9mZnNldCAoMHgxMCkKICAgIH0KCiAgICBPcGVyYXRpb25SZWdpb24gKEdQSU8sIFN5 c3RlbUlPLCAweDExODAsIDB4M0MpCiAgICBGaWVsZCAoR1BJTywgQnl0ZUFjYywgTm9Mb2Nr LCBQcmVzZXJ2ZSkKICAgIHsKICAgICAgICBHVTAwLCAgIDgsIAogICAgICAgIEdVMDEsICAg OCwgCiAgICAgICAgR1UwMiwgICA4LCAKICAgICAgICBHVTAzLCAgIDgsIAogICAgICAgIEdJ TzAsICAgOCwgCiAgICAgICAgR0lPMSwgICA4LCAKICAgICAgICBHSU8yLCAgIDgsIAogICAg ICAgIEdJTzMsICAgOCwgCiAgICAgICAgT2Zmc2V0ICgweDBDKSwgCiAgICAgICAgR0wwMCwg ICA4LCAKICAgICAgICBHTDAxLCAgIDgsIAogICAgICAgIEdMMDIsICAgOCwgCiAgICAgICAg R0wwMywgICA4LCAKICAgICAgICBPZmZzZXQgKDB4MTgpLCAKICAgICAgICBHQjAwLCAgIDgs IAogICAgICAgIEdCMDEsICAgOCwgCiAgICAgICAgR0IwMiwgICA4LCAKICAgICAgICBHQjAz LCAgIDgsIAogICAgICAgIE9mZnNldCAoMHgyQyksIAogICAgICAgIEdJVjAsICAgOCwgCiAg ICAgICAgR0lWMSwgICA4LCAKICAgICAgICBHSVYyLCAgIDgsIAogICAgICAgIEdJVjMsICAg OCwgCiAgICAgICAgR1UwNCwgICA4LCAKICAgICAgICBHVTA1LCAgIDgsIAogICAgICAgIEdV MDYsICAgOCwgCiAgICAgICAgR1UwNywgICA4LCAKICAgICAgICBHSU80LCAgIDgsIAogICAg ICAgIEdJTzUsICAgOCwgCiAgICAgICAgR0lPNiwgICA4LCAKICAgICAgICBHSU83LCAgIDgs IAogICAgICAgICAgICAsICAgMSwgCiAgICAgICAgICAgICwgICAxLCAKICAgICAgICBDUEVO LCAgIDEsIAogICAgICAgIE9mZnNldCAoMHgzOSksIAogICAgICAgIEdMMDUsICAgOCwgCiAg ICAgICAgR0wwNiwgICA4LCAKICAgICAgICBHTDA3LCAgIDgKICAgIH0KCiAgICBPcGVyYXRp b25SZWdpb24gKE1OVlMsIFN5c3RlbU1lbW9yeSwgMHgzREVFQUYwOSwgMHg0MCkKICAgIEZp ZWxkIChNTlZTLCBBbnlBY2MsIExvY2ssIFByZXNlcnZlKQogICAgewogICAgICAgIE9TWVMs ICAgMTYsIAogICAgICAgIFNNSUYsICAgOCwgCiAgICAgICAgUFJNMCwgICA4LCAKICAgICAg ICBQUk0xLCAgIDgsIAogICAgICAgIFNDSUYsICAgOCwgCiAgICAgICAgUFJNMiwgICA4LCAK ICAgICAgICBQUk0zLCAgIDgsIAogICAgICAgIExDS0YsICAgOCwgCiAgICAgICAgUFJNNCwg ICA4LCAKICAgICAgICBQUk01LCAgIDgsIAogICAgICAgIERCR1MsICAgOCwgCiAgICAgICAg RENLUywgICA0LCAKICAgICAgICBDRENLLCAgIDQsIAogICAgICAgIExJRFMsICAgOCwgCiAg ICAgICAgUFdSUywgICA4LCAKICAgICAgICBTSURFLCAgIDgsIAogICAgICAgIE9mZnNldCAo MHgxNCksIAogICAgICAgIENNQVAsICAgOCwgCiAgICAgICAgQ01CUCwgICA4LCAKICAgICAg ICBMUFRQLCAgIDgsIAogICAgICAgIEZEQ1AsICAgOCwgCiAgICAgICAgQlRFTiwgICA4LCAK ICAgICAgICBBQ1RULCAgIDgsIAogICAgICAgIFBTVlQsICAgOCwgCiAgICAgICAgVEMxViwg ICA4LCAKICAgICAgICBUQzJWLCAgIDgsIAogICAgICAgIFRTUFYsICAgOCwgCiAgICAgICAg Q1JUVCwgICA4LCAKICAgICAgICBPZmZzZXQgKDB4MjApLCAKICAgICAgICBCVkFMLCAgIDMy LCAKICAgICAgICBQODBELCAgIDMyLCAKICAgICAgICBDUFVMLCAgIDgsIAogICAgICAgIENQ VUgsICAgOCwgCiAgICAgICAgQVBJQywgICA4LCAKICAgICAgICBHVjNFLCAgIDgsIAogICAg ICAgIEhUVEUsICAgOCwgCiAgICAgICAgV1RIVCwgICA4LCAKICAgICAgICBPZmZzZXQgKDB4 MzApLCAKICAgICAgICBJR0RTLCAgIDgsIAogICAgICAgIExDREEsICAgMTYsIAogICAgICAg IFRMU1QsICAgOCwgCiAgICAgICAgQ0FETCwgICAxNiwgCiAgICAgICAgUEFETCwgICAxNiwg CiAgICAgICAgQ1NURSwgICAxNiwgCiAgICAgICAgTlNURSwgICAxNiwgCiAgICAgICAgU1NU RSwgICAxNiwgCiAgICAgICAgQkxDUywgICA4LCAKICAgICAgICBCUlRMLCAgIDgKICAgIH0K CiAgICBNdXRleCAoTVVUWCwgMHgwMCkKICAgIE5hbWUgKF9TMCwgUGFja2FnZSAoMHgwMykK ICAgIHsKICAgICAgICAweDAwLCAKICAgICAgICAweDAwLCAKICAgICAgICAweDAwCiAgICB9 KQogICAgTmFtZSAoX1MzLCBQYWNrYWdlICgweDAzKQogICAgewogICAgICAgIDB4MDUsIAog ICAgICAgIDB4MDUsIAogICAgICAgIDB4MDAKICAgIH0pCiAgICBOYW1lIChfUzQsIFBhY2th Z2UgKDB4MDMpCiAgICB7CiAgICAgICAgMHgwNiwgCiAgICAgICAgMHgwNiwgCiAgICAgICAg MHgwMAogICAgfSkKICAgIE5hbWUgKF9TNSwgUGFja2FnZSAoMHgwMykKICAgIHsKICAgICAg ICAweDA3LCAKICAgICAgICAweDA3LCAKICAgICAgICAweDAwCiAgICB9KQogICAgU2NvcGUg KFxfUFIpCiAgICB7CiAgICAgICAgUHJvY2Vzc29yIChDUFUwLCAweDAwLCAweDAwMDAxMDEw LCAweDA2KSB7fQogICAgICAgIFByb2Nlc3NvciAoQ1BVMSwgMHgwMSwgMHgwMDAwMTAxMCwg MHgwNikge30KICAgIH0KCiAgICBOYW1lIChcRFNFTiwgMHgwMSkKICAgIE5hbWUgKFxFQ09O LCAweDAwKQogICAgTmFtZSAoXEdQSUMsIDB4MDApCiAgICBOYW1lIChcQ1RZUCwgMHgwMCkK ICAgIE1ldGhvZCAoXF9QSUMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICB7CiAgICAgICAgU3Rv cmUgKEFyZzAsIEdQSUMpCiAgICB9CgogICAgTWV0aG9kIChfUFRTLCAxLCBOb3RTZXJpYWxp emVkKQogICAgewogICAgICAgIFN0b3JlICgweDAwLCBQODBEKQogICAgICAgIFA4WEggKDB4 MDAsIEFyZzApCiAgICAgICAgSWYgKERCR1MpCiAgICAgICAgewogICAgICAgICAgICBTdG9y ZSAoMHgwMCwgQ1BFTikKICAgICAgICB9CgogICAgICAgIElmIChMRXF1YWwgKEFyZzAsIDB4 MDQpKQogICAgICAgIHsKICAgICAgICAgICAgU3RvcmUgKDB4MzUsIFNNSUYpCiAgICAgICAg ICAgIFN0b3JlICgweDAwLCBUUlAwKQogICAgICAgIH0KCiAgICAgICAgSWYgKExFcXVhbCAo QXJnMCwgMHgwNSkpCiAgICAgICAgewogICAgICAgICAgICBTdG9yZSAoMHgzNSwgU01JRikK ICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFRSUDApCiAgICAgICAgfQogICAgfQoKICAgIE1l dGhvZCAoX1dBSywgMSwgTm90U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoREJHUykK ICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlICgweDAxLCBDUEVOKQogICAgICAgIH0KCiAg ICAgICAgSWYgKExFcXVhbCAoQXJnMCwgMHgwMykpCiAgICAgICAgewogICAgICAgICAgICBJ ZiAoR1YzRSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUE5PVCAoKQogICAgICAg ICAgICB9CiAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg UE5PMSAoKQogICAgICAgICAgICB9CgogICAgICAgICAgICBTdG9yZSAoMHgzNiwgU01JRikK ICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFRSUDApCiAgICAgICAgfQoKICAgICAgICBJZiAo TEVxdWFsIChBcmcwLCAweDA0KSkKICAgICAgICB7CiAgICAgICAgICAgIElmIChHVjNFKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBQTk9UICgpCiAgICAgICAgICAgIH0KICAg ICAgICAgICAgRWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBQTk8xICgpCiAg ICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IxLCAweDAyKQogICAgICAgICAg ICAgICAgTm90aWZ5IChcX1NCLlBDSTAuVVNCMiwgMHgwMikKICAgICAgICAgICAgICAgIE5v dGlmeSAoXF9TQi5QQ0kwLlVTQjcsIDB4MDIpCiAgICAgICAgICAgIH0KICAgICAgICB9Cgog ICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgwMikKICAgICAgICB7CiAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAweDAwCiAgICAgICAgfSkKICAgIH0KCiAgICBTY29wZSAoXF9H UEUpCiAgICB7CiAgICAgICAgTWV0aG9kIChfTDAzLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NCLlBDSTAuVVNCMCwgMHgwMikKICAgICAg ICB9CgogICAgICAgIE1ldGhvZCAoX0wwNCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7 CiAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlVTQjEsIDB4MDIpCiAgICAgICAgfQoK ICAgICAgICBNZXRob2QgKF9MMDUsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAg ICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5NT0RNLCAweDAyKQogICAgICAgIH0KCiAgICAg ICAgTWV0aG9kIChfTDA4LCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICB9 CgogICAgICAgIE1ldGhvZCAoX0wwQiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAg ICAgICAgICAgIE5vdGlmeSAoXF9TQi5QQ0kwLlBDSUIsIDB4MDIpCiAgICAgICAgfQoKICAg ICAgICBNZXRob2QgKF9MMEMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAg ICAgICBOb3RpZnkgKFxfU0IuUENJMC5VU0IyLCAweDAyKQogICAgICAgIH0KCiAgICAgICAg TWV0aG9kIChfTDBELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAg Tm90aWZ5IChcX1NCLlBDSTAuVVNCNywgMHgwMikKICAgICAgICB9CgogICAgICAgIE1ldGhv ZCAoX0wxRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAgICAgIElmIChM RXF1YWwgKFxfU0IuUENJMC5MUENCLkhfRUMuV0ZOTywgMHgwMSkpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5MSUQwLCAweDAyKQogICAgICAgICAgICB9 CgogICAgICAgICAgICBJZiAoTEVxdWFsIChcX1NCLlBDSTAuTFBDQi5IX0VDLldGTk8sIDB4 MDMpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMCwg MHgwMikKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKExFcXVhbCAoXF9TQi5QQ0kw LkxQQ0IuSF9FQy5XRk5PLCAweDA0KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAg Tm90aWZ5IChcX1NCLlNMUEIsIDB4MDIpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9 CgogICAgTWV0aG9kIChCUlRXLCAxLCBTZXJpYWxpemVkKQogICAgewogICAgICAgIFN0b3Jl IChEaXZpZGUgKE11bHRpcGx5ICgweEZGLCBBcmcwKSwgMHg2NCwgKSwgTG9jYWwwKQogICAg ICAgIElmIChMRXF1YWwgKEJMQ1MsIDB4MDEpKQogICAgICAgIHsKICAgICAgICAgICAgU3Vi dHJhY3QgKDB4RkYsIExvY2FsMCwgTG9jYWwxKQogICAgICAgICAgICBJZiAoXF9TQi5QQ0kw LlNCVVMuU1dSQiAoMHg1OCwgMHhBQSwgTG9jYWwxKSkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgUDhYSCAoMHgwMiwgTG9jYWwwKQogICAgICAgICAgICAgICAgU3RvcmUgKEFy ZzAsIEJSVEwpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgRWxzZQogICAgICAg IHsKICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgUFJNMCkKICAgICAgICAgICAgU3RvcmUg KDB4MTIsIFNNSUYpCiAgICAgICAgICAgIFN0b3JlICgweDAwLCBUUlAwKQogICAgICAgICAg ICBJZiAoTEVxdWFsIChTTUlGLCAweDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgUDhYSCAoMHgwMiwgTG9jYWwwKQogICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIEJS VEwpCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgTWV0aG9kIChCVFRNLCAx LCBTZXJpYWxpemVkKQogICAgewogICAgICAgIElmIChQV1JTKQogICAgICAgIHsKICAgICAg ICAgICAgSWYgKExOb3QgKExMZXNzIChBcmcwLCBCVkFMKSkpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBCVkFMKQogICAgICAgICAgICAgICAgTm90aWZ5 IChcX1NCLkJBVDAsIDB4ODApCiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgRWxz ZQogICAgICAgIHsKICAgICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChBcmcwLCBCVkFM KSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBCVkFMKQog ICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkJBVDAsIDB4ODApCiAgICAgICAgICAgIH0K ICAgICAgICB9CiAgICB9CgogICAgTWV0aG9kIChIS0RTLCAxLCBTZXJpYWxpemVkKQogICAg ewogICAgICAgIElmIChMRXF1YWwgKDB4MDAsIERTRU4pKQogICAgICAgIHsKICAgICAgICAg ICAgU3RvcmUgKEFyZzAsIFNNSUYpCiAgICAgICAgICAgIFN0b3JlICgweDAwLCBUUlAwKQog ICAgICAgICAgICBJZiAoTEVxdWFsIChTTUlGLCAweDAwKSkKICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgSWYgKExOb3QgKExFcXVhbCAoQ0FETCwgUEFETCkpKQogICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChDQURMLCBQQURMKQogICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TWVMsIDB4MDdEMSkpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMCwgMHgw MCkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NC LlBDSTAuR0ZYMCwgMHgwMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFNsZWVwICgweDAyRUUpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgTm90aWZ5IChcX1NCLlBDSTAuR0ZYMCwgMHg4MCkKICAgICAgICAgICAgfQogICAgICAg IH0KCiAgICAgICAgSWYgKExFcXVhbCAoMHgwMSwgRFNFTikpCiAgICAgICAgewogICAgICAg ICAgICBTdG9yZSAoSW5jcmVtZW50IChBcmcwKSwgU01JRikKICAgICAgICAgICAgU3RvcmUg KDB4MDAsIFRSUDApCiAgICAgICAgICAgIElmIChMRXF1YWwgKFNNSUYsIDB4MDApKQogICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuUENJMC5HRlgwLCAweDgx KQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoTFNEUywgMSwg U2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoQXJnMCkKICAgICAgICB7CiAgICAgICAg ICAgIEhLRFMgKDB4MEMpCiAgICAgICAgfQogICAgICAgIEVsc2UKICAgICAgICB7CiAgICAg ICAgICAgIEhLRFMgKDB4MEUpCiAgICAgICAgfQogICAgfQoKICAgIE1ldGhvZCAoUDhYSCwg MiwgU2VyaWFsaXplZCkKICAgIHsKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAwKSkK ICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChPciAoQW5kIChQODBELCAweEZGRkZGRjAw KSwgQXJnMSksIFA4MEQpCiAgICAgICAgfQoKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAw eDAxKSkKICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChPciAoQW5kIChQODBELCAweEZG RkYwMEZGKSwgU2hpZnRMZWZ0IChBcmcxLCAweDA4KSksIFA4MEQpCiAgICAgICAgfQoKICAg ICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAyKSkKICAgICAgICB7CiAgICAgICAgICAgIFN0 b3JlIChPciAoQW5kIChQODBELCAweEZGMDBGRkZGKSwgU2hpZnRMZWZ0IChBcmcxLCAweDEw KSksIFA4MEQpCiAgICAgICAgfQoKICAgICAgICBJZiAoTEVxdWFsIChBcmcwLCAweDAzKSkK ICAgICAgICB7CiAgICAgICAgICAgIFN0b3JlIChPciAoQW5kIChQODBELCAweDAwRkZGRkZG KSwgU2hpZnRMZWZ0IChBcmcxLCAweDE4KSksIFA4MEQpCiAgICAgICAgfQoKICAgICAgICBT dG9yZSAoUDgwRCwgUDgwSCkKICAgIH0KCiAgICBNZXRob2QgKFBOT1QsIDAsIFNlcmlhbGl6 ZWQpCiAgICB7CiAgICAgICAgSWYgKEhUVEUpCiAgICAgICAgewogICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuQkFUMCwgMHg4MCkKICAgICAgICB9CiAgICAgICAgRWxzZQogICAgICAgIHsK ICAgICAgICAgICAgSWYgKExFcXVhbCAoT1NZUywgMHgwN0QwKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgSWYgKFxfU0IuUENJMC5MUENCLkhfRUMuUFNURSkKICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgzOCwgU01JRikKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgVFJQMCkKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHg1NiwgUDgwSCkKICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfU0IuQkFU MCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfUFIuQ1BVMCwgMHg4MCkK ICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkKICAgICAgICAgICAgICAgICAgICBO b3RpZnkgKFxfUFIuQ1BVMCwgMHg4MSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoXF9T Qi5QQ0kwLkxQQ0IuSF9FQy5CQVQ0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MzcsIFNNSUYpCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAwLCBUUlAwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHg1NSwgUDgwSCkKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkJBVDAs IDB4ODApCiAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9QUi5DUFUwLCAweDgw KQogICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkKICAgICAgICAgICAgICAg ICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTAsIDB4ODEpCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgewogICAgICAgICAgICB9CgogICAgICAgICAgICBOb3RpZnkgKFxfU0IuQkFU MCwgMHg4MCkKICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTAsIDB4ODApCiAgICAgICAg ICAgIFNsZWVwICgweDY0KQogICAgICAgICAgICBOb3RpZnkgKFxfUFIuQ1BVMCwgMHg4MSkK ICAgICAgICB9CiAgICB9CgogICAgTWV0aG9kIChQTk8xLCAwLCBTZXJpYWxpemVkKQogICAg ewogICAgICAgIElmIChIVFRFKQogICAgICAgIHsKICAgICAgICAgICAgTm90aWZ5IChcX1NC LkJBVDAsIDB4ODApCiAgICAgICAgfQogICAgICAgIEVsc2UKICAgICAgICB7CiAgICAgICAg ICAgIElmIChcX1NCLlBDSTAuTFBDQi5IX0VDLkJBVDQpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFN0b3JlICgweEVFLCBQODBIKQogICAgICAgICAgICAgICAgU3RvcmUgKDB4 MzcsIFNNSUYpCiAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgVFJQMCkKICAgICAgICAg ICAgICAgIE5vdGlmeSAoXF9TQi5CQVQwLCAweDgwKQogICAgICAgICAgICAgICAgTm90aWZ5 IChcX1BSLkNQVTAsIDB4ODApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIElmIChcX1NC LlBDSTAuTFBDQi5IX0VDLlBTVEUpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFN0 b3JlICgweEFBLCBQODBIKQogICAgICAgICAgICAgICAgU3RvcmUgKDB4MzgsIFNNSUYpCiAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgVFJQMCkKICAgICAgICAgICAgICAgIE5vdGlm eSAoXF9TQi5CQVQwLCAweDgwKQogICAgICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTAs IDB4ODApCiAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkKICAgICAgICAgICAgICAgIE5v dGlmeSAoXF9QUi5DUFUwLCAweDgxKQogICAgICAgICAgICB9CiAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgewogICAgICAgICAgICB9CgogICAgICAgICAgICBOb3RpZnkgKFxfU0Iu QkFUMCwgMHg4MCkKICAgICAgICAgICAgTm90aWZ5IChcX1BSLkNQVTAsIDB4ODApCiAgICAg ICAgICAgIFNsZWVwICgweDY0KQogICAgICAgICAgICBOb3RpZnkgKFxfUFIuQ1BVMCwgMHg4 MSkKICAgICAgICB9CiAgICB9CgogICAgTmFtZSAoRENSVCwgMHgwRTkyKQogICAgTmFtZSAo RFBTViwgMHgwRTYwKQogICAgU2NvcGUgKFxfVFopCiAgICB7CiAgICAgICAgVGhlcm1hbFpv bmUgKFRIUk0pCiAgICAgICAgewogICAgICAgICAgICBNZXRob2QgKF9DUlQsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoRENSVCkK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfU0NQLCAxLCBTZXJpYWxpemVk KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgQ1RZUCkKICAg ICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfVE1QLCAwLCBTZXJpYWxpemVkKQog ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoRUNPTikKICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoXF9TQi5QQ0kwLkxQQ0IuSF9FQy5UTVAs IExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU3VidHJhY3QgKERpdmlkZSAo TG9jYWwwLCAweDBBLCApLCAweDAxMTEpLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg SWYgKExBbmQgKExBbmQgKExFcXVhbCAoT1NZUywgMHgwN0QxKSwgR1BJQyksIExBbmQgKEhU VEUsIFBTVlQpKSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMTm90IChMRXF1YWwgKEFuZCAoUERDMSwgMHgwQSksIDB4MEEpKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExH cmVhdGVyIChMb2NhbDAsIFBTVlQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFdUSFQsIDB4MDAp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFdUSFQpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDM0LCBTTUlGKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgVFJQMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoV1RIVCwg MHgwMSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgV1RIVCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MzMsIFNNSUYpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBUUlAwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgUmV0dXJuIChBZGQgKDB4MEFBQywgTXVsdGlwbHkgKExvY2FsMCwg MHgwQSkpKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoQWRkICgweDBBQUMsIE11 bHRpcGx5ICgweDM3LCAweDBBKSkpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIE1ldGhvZCAoX1BTTCwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgSWYgKEhUVEUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgXF9QUi5DUFUwLCAKICAgICAgICAgICAgICAg ICAgICAgICAgXF9QUi5DUFUxCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDEpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgXF9QUi5DUFUwCiAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9QU1YsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoRFBTVikK ICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfVEMxLCAwLCBTZXJpYWxpemVk KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBSZXR1cm4gKFRDMVYpCiAgICAgICAg ICAgIH0KCiAgICAgICAgICAgIE1ldGhvZCAoX1RDMiwgMCwgU2VyaWFsaXplZCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChUQzJWKQogICAgICAgICAgICB9Cgog ICAgICAgICAgICBNZXRob2QgKFhUU1AsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIFJldHVybiAoVFNQVikKICAgICAgICAgICAgfQogICAgICAgIH0K ICAgIH0KCiAgICBTY29wZSAoXF9TQikKICAgIHsKICAgICAgICBEZXZpY2UgKEFEUDEpCiAg ICAgICAgewogICAgICAgICAgICBOYW1lIChfSElELCAiQUNQSTAwMDMiKQogICAgICAgICAg ICBNZXRob2QgKF9QU1IsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIFJldHVybiAoUFdSUykKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0 aG9kIChfUENMLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBSZXR1cm4gKFxfU0IpCiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIERl dmljZSAoQkFUMCkKICAgICAgICB7CiAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAo IlBOUDBDMEEiKSkKICAgICAgICAgICAgTmFtZSAoUEJJRiwgUGFja2FnZSAoMHgwRCkKICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAweEZG RkZGRkZGLCAKICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAg MHgwMSwgCiAgICAgICAgICAgICAgICAweEZGRkZGRkZGLCAKICAgICAgICAgICAgICAgIDB4 QTAsIAogICAgICAgICAgICAgICAgMHg2NCwgCiAgICAgICAgICAgICAgICAweDQwLCAKICAg ICAgICAgICAgICAgIDB4NDAsIAogICAgICAgICAgICAgICAgIiAiLCAKICAgICAgICAgICAg ICAgICIgIiwgCiAgICAgICAgICAgICAgICAiICIsIAogICAgICAgICAgICAgICAgIiAiCiAg ICAgICAgICAgIH0pCiAgICAgICAgICAgIE5hbWUgKEJVRjAsIFBhY2thZ2UgKDB4MEQpCiAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgMHgw N0QwLCAKICAgICAgICAgICAgICAgIDB4MDdEMCwgCiAgICAgICAgICAgICAgICAweDAxLCAK ICAgICAgICAgICAgICAgIDB4MkI1QywgCiAgICAgICAgICAgICAgICAweEEwLCAKICAgICAg ICAgICAgICAgIDB4NjQsIAogICAgICAgICAgICAgICAgMHg0MCwgCiAgICAgICAgICAgICAg ICAweDQwLCAKICAgICAgICAgICAgICAgICIgICAgICAgICIsIAogICAgICAgICAgICAgICAg IiAgICAgICAgIiwgCiAgICAgICAgICAgICAgICAiTElPTiIsIAogICAgICAgICAgICAgICAg IiAgICAgICAgIgogICAgICAgICAgICB9KQogICAgICAgICAgICBOYW1lIChQQlNULCBQYWNr YWdlICgweDA0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgIDB4RkZGRkZGRkYsIAogICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAg ICAgICAgICAgICAgICAweEZGRkZGRkZGCiAgICAgICAgICAgIH0pCiAgICAgICAgICAgIE5h bWUgKFRNUDAsIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg IDB4MDAsIAogICAgICAgICAgICAgICAgMHhGRkZGRkZGRiwgCiAgICAgICAgICAgICAgICAw eEZGRkZGRkZGLCAKICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYKICAgICAgICAgICAgfSkK ICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBJZiAoRUNPTikKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBJZiAoXF9TQi5QQ0kwLkxQQ0IuSF9FQy5CQVQwKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDFGKQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEYpCiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgRWxz ZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwRikK ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChf QklGLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJ ZiAoRUNPTikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo XF9TQi5QQ0kwLkxQQ0IuSF9FQy5CREMwLCBJbmRleCAoQlVGMCwgMHgwMSkpCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5MUENCLkhfRUMuQkZDMCwgSW5kZXggKEJV RjAsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuTFBDQi5I X0VDLkJNTzAsIEluZGV4IChCVUYwLCAweDA5KSkKICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoXF9TQi5QQ0kwLkxQQ0IuSF9FQy5CSUYwLCBJbmRleCAoQlVGMCwgMHgwQykpCiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFxfU0IuUENJMC5MUENCLkhfRUMuQlNOMCwgTG9jYWwx KQogICAgICAgICAgICAgICAgICAgIE5hbWUgKFRCVUYsIEJ1ZmZlciAoMHgwNykKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIDB4MzAsIDB4MzAsIDB4 MzAsIDB4MzAsIDB4MzAsIDB4MDAsIDB4MDAKICAgICAgICAgICAgICAgICAgICB9KQogICAg ICAgICAgICAgICAgICAgIFN0b3JlIChUQlVGLCBJbmRleCAoQlVGMCwgMHgwQSkpCiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIExvY2FsMykKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgyNzEwLCBMb2NhbDQpCiAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExv Y2FsMSkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIERp dmlkZSAoTG9jYWwxLCBMb2NhbDQsIExvY2FsMSwgTG9jYWwyKQogICAgICAgICAgICAgICAg ICAgICAgICBBZGQgKExvY2FsMiwgMHgzMCwgTG9jYWwyKQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoTG9jYWwyLCBJbmRleCAoVEJVRiwgTG9jYWwzKSkKICAgICAgICAgICAg ICAgICAgICAgICAgQWRkIChMb2NhbDMsIDB4MDEsIExvY2FsMykKICAgICAgICAgICAgICAg ICAgICAgICAgRGl2aWRlIChMb2NhbDQsIDB4MEEsIExvY2FsMiwgTG9jYWw0KQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFRCVUYsIEluZGV4 IChCVUYwLCAweDBBKSkKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJVRjApCiAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChQQklGKQogICAgICAgICAgICAgICAgfQogICAg ICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9CU1QsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChFQ09OKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIEFuZCAoXF9TQi5QQ0kwLkxQQ0IuSF9FQy5CU1Qw LCAweDAzLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgSW5k ZXggKFRNUDAsIDB4MDApKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAu TFBDQi5IX0VDLkJSQzAsIEluZGV4IChUTVAwLCAweDAyKSkKICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFRNUDApCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQQlNUKQog ICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBNZXRob2QgKF9Q Q0wsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJl dHVybiAoXF9TQikKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgRGV2aWNlIChM SUQwKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMw RCIpKQogICAgICAgICAgICBNZXRob2QgKF9MSUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoTElEUykKICAgICAgICAgICAgfQog ICAgICAgIH0KCiAgICAgICAgRGV2aWNlIChQV1JCKQogICAgICAgIHsKICAgICAgICAgICAg TmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwQyIpKQogICAgICAgICAgICBNZXRob2QgKF9T VEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwQikKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgRGV2aWNlIChT TFBCKQogICAgICAgIHsKICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMw RSIpKQogICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAweDFELCAKICAgICAgICAgICAgICAgIDB4MDMKICAgICAg ICAgICAgfSkKICAgICAgICB9CgogICAgICAgIERldmljZSAoUENJMCkKICAgICAgICB7CiAg ICAgICAgICAgIE1ldGhvZCAoX0lOSSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgSWYgKENvbmRSZWZPZiAoX09TSSwgTG9jYWwwKSkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwN0QxLCBPU1lTKQog ICAgICAgICAgICAgICAgICAgIElmIChIVFRFKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MzIsIFNNSUYpCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDAwLCBUUlAwKQogICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChTaXplT2YgKF9PUyksIDB4MTQpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDdEMCwgT1NZUykKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYg KExFcXVhbCAoU2l6ZU9mIChfT1MpLCAweDI3KSkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDdDRiwgT1NZUykKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDA3Q0UsIE9TWVMpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExO b3QgKExHcmVhdGVyIChPU1lTLCAweDA3Q0YpKSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMSwgRUNPTikKICAgICAgICAgICAgICAgICAgICBJ ZiAoTE5vdCAoTEVxdWFsIChcX1NCLlBDSTAuTFBDQi5IX0VDLkxTVEUsIExJRFMpKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NC LlBDSTAuTFBDQi5IX0VDLkxTVEUsIExJRFMpCiAgICAgICAgICAgICAgICAgICAgICAgIElm IChJR0RTKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMU0RTIChMSURTKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MkEsIFNNSUYpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgVFJQMCkKICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkxJRDAsIDB4ODAp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTE5vdCAo TEVxdWFsIChcX1NCLlBDSTAuTFBDQi5IX0VDLlBTVEUsIFBXUlMpKSkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChcX1NCLlBDSTAuTFBD Qi5IX0VDLlBTVEUsIFBXUlMpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDJC LCBTTUlGKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgVFJQMCkKICAg ICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLkJBVDAsIDB4ODApCiAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAg ICAgICBNZXRob2QgKF9TMUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKE9TWVMsIDB4MDdDRikpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAgICAgfQoKICAgICAg ICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAg IE1ldGhvZCAoX1M0RCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICB9CgogICAgICAgICAgICBOYW1l IChfSElELCBFaXNhSWQgKCJQTlAwQTAzIikpCiAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4 MDApCiAgICAgICAgICAgIE5hbWUgKF9CQk4sIDB4MDApCiAgICAgICAgICAgIE9wZXJhdGlv blJlZ2lvbiAoSEJVUywgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAgICAgRmll bGQgKEhCVVMsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBPZmZzZXQgKDB4MTgpLCAKICAgICAgICAgICAgICAgICAgICAsICAg NywgCiAgICAgICAgICAgICAgICBIRU5BLCAgIDEsIAogICAgICAgICAgICAgICAgICAgICwg ICA0LCAKICAgICAgICAgICAgICAgIFBNMEgsICAgMiwgCiAgICAgICAgICAgICAgICBPZmZz ZXQgKDB4MUEpLCAKICAgICAgICAgICAgICAgIFBNMUwsICAgMiwgCiAgICAgICAgICAgICAg ICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgUE0xSCwgICAyLCAKICAgICAgICAgICAg ICAgIE9mZnNldCAoMHgxQiksIAogICAgICAgICAgICAgICAgUE0yTCwgICAyLCAKICAgICAg ICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICBQTTJILCAgIDIsIAogICAg ICAgICAgICAgICAgT2Zmc2V0ICgweDFDKSwgCiAgICAgICAgICAgICAgICBQTTNMLCAgIDIs IAogICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgIFBNM0gsICAg MiwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MUQpLCAKICAgICAgICAgICAgICAgIFBN NEwsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAg UE00SCwgICAyLCAKICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxRSksIAogICAgICAgICAg ICAgICAgUE01TCwgICAyLCAKICAgICAgICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAg ICAgICAgICBQTTVILCAgIDIsIAogICAgICAgICAgICAgICAgT2Zmc2V0ICgweDFGKSwgCiAg ICAgICAgICAgICAgICBQTTZMLCAgIDIsIAogICAgICAgICAgICAgICAgICAgICwgICAyLCAK ICAgICAgICAgICAgICAgIFBNNkgsICAgMiwgCiAgICAgICAgICAgICAgICBPZmZzZXQgKDB4 MjApCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIE5hbWUgKEJVRjAsIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgV29yZEJ1c051bWJlciAo UmVzb3VyY2VQcm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUsCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMCwKICAg ICAgICAgICAgICAgICAgICAweDAwRkYsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwLAog ICAgICAgICAgICAgICAgICAgIDB4MDEwMCwgMHgwMCkKICAgICAgICAgICAgICAgIERXb3Jk SU8gKFJlc291cmNlUHJvZHVjZXIsIE1pbkZpeGVkLCBNYXhGaXhlZCwgUG9zRGVjb2RlLCBF bnRpcmVSYW5nZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMENGNywK ICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgIDB4 MDAwMDBDRjgsIDB4MDApCiAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MENGOCwg MHgwQ0Y4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgRFdvcmRJTyAoUmVzb3VyY2VQ cm9kdWNlciwgTWluRml4ZWQsIE1heEZpeGVkLCBQb3NEZWNvZGUsIEVudGlyZVJhbmdlLAog ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMEQwMCwKICAgICAgICAgICAgICAgICAgICAweDAwMDBGRkZGLAogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwRjMwMCwgMHgw MCkKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NE ZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAweDAwMEEw MDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAwQkZGRkYsCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAweDAwMDIwMDAwLCAweDAwKQog ICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29k ZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAg ICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAwQzAwMDAs CiAgICAgICAgICAgICAgICAgICAgMHgwMDBDM0ZGRiwKICAgICAgICAgICAgICAgICAgICAw eDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAsIDB4MDApCiAgICAg ICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBN aW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDBDNDAwMCwKICAg ICAgICAgICAgICAgICAgICAweDAwMEM3RkZGLAogICAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgMHgwMCkKICAgICAgICAg ICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZp eGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAweDAwMEM4MDAwLAogICAgICAg ICAgICAgICAgICAgIDB4MDAwQ0JGRkYsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAw MCwKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAweDAwKQogICAgICAgICAgICAg ICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQs IE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAw eDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAwQ0MwMDAsCiAgICAgICAgICAg ICAgICAgICAgMHgwMDBDRkZGRiwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAog ICAgICAgICAgICAgICAgICAgIDB4MDAwMDQwMDAsIDB4MDApCiAgICAgICAgICAgICAgICBE V29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4 Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAw MDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDBEMDAwMCwKICAgICAgICAgICAgICAg ICAgICAweDAwMEQzRkZGLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAg ICAgICAgICAgICAgICAgMHgwMDAwNDAwMCwgMHgwMCkKICAgICAgICAgICAgICAgIERXb3Jk TWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhl ZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAw MCwKICAgICAgICAgICAgICAgICAgICAweDAwMEQ0MDAwLAogICAgICAgICAgICAgICAgICAg IDB4MDAwRDdGRkYsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAg ICAgICAgICAgICAweDAwMDA0MDAwLCAweDAwKQogICAgICAgICAgICAgICAgRFdvcmRNZW1v cnkgKFJlc291cmNlUHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBD YWNoZWFibGUsIFJlYWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAog ICAgICAgICAgICAgICAgICAgIDB4MDAwRDgwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgw MDBEQkZGRiwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAg ICAgICAgIDB4MDAwMDQwMDAsIDB4MDApCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAo UmVzb3VyY2VQcm9kdWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hl YWJsZSwgUmVhZFdyaXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAg ICAgICAgICAgICAgICAgMHgwMDBEQzAwMCwKICAgICAgICAgICAgICAgICAgICAweDAwMERG RkZGLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAg ICAgMHgwMDAwNDAwMCwgMHgwMCkKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNv dXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxl LCBSZWFkV3JpdGUsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAg ICAgICAgICAgICAweDAwMEUwMDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAwRTNGRkYs CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAw eDAwMDA0MDAwLCAweDAwKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNl UHJvZHVjZXIsIFBvc0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJl YWRXcml0ZSwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAg ICAgICAgIDB4MDAwRTQwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDBFN0ZGRiwKICAg ICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAw MDQwMDAsIDB4MDApCiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9k dWNlciwgUG9zRGVjb2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdy aXRlLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAg ICAgMHgwMDBFODAwMCwKICAgICAgICAgICAgICAgICAgICAweDAwMEVCRkZGLAogICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwNDAw MCwgMHgwMCkKICAgICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2Vy LCBQb3NEZWNvZGUsIE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUs CiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAw eDAwMEVDMDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAwRUZGRkYsCiAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAweDAwMDA0MDAwLCAw eDAwKQogICAgICAgICAgICAgICAgRFdvcmRNZW1vcnkgKFJlc291cmNlUHJvZHVjZXIsIFBv c0RlY29kZSwgTWluRml4ZWQsIE1heEZpeGVkLCBDYWNoZWFibGUsIFJlYWRXcml0ZSwKICAg ICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAw RjAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDBGRkZGRiwKICAgICAgICAgICAgICAg ICAgICAweDAwMDAwMDAwLAogICAgICAgICAgICAgICAgICAgIDB4MDAwMTAwMDAsIDB4MDAp CiAgICAgICAgICAgICAgICBEV29yZE1lbW9yeSAoUmVzb3VyY2VQcm9kdWNlciwgUG9zRGVj b2RlLCBNaW5GaXhlZCwgTWF4Rml4ZWQsIENhY2hlYWJsZSwgUmVhZFdyaXRlLAogICAgICAg ICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAw MCwKICAgICAgICAgICAgICAgICAgICAweEZFQkZGRkZGLAogICAgICAgICAgICAgICAgICAg IDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgMHgwMCkKICAg ICAgICAgICAgICAgIERXb3JkTWVtb3J5IChSZXNvdXJjZVByb2R1Y2VyLCBQb3NEZWNvZGUs IE1pbkZpeGVkLCBNYXhGaXhlZCwgQ2FjaGVhYmxlLCBSZWFkV3JpdGUsCiAgICAgICAgICAg ICAgICAgICAgMHgwMDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLAog ICAgICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsCiAgICAgICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwKICAgICAgICAgICAgICAgICAgICAweDAwMDAwMDAwLCAweDAwKQogICAgICAg ICAgICB9KQogICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChQTTFMKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4ODAsIEMwTE4p CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEMwTE4pCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoUE0xTCwgMHgwMSkpCiAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQml0RmllbGQgKEJVRjAsIDB4 MDM3OCwgQzBSVykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQzBSVykKICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoUE0xSCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDlC LCBDNExOKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBDNExOKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNMUgsIDB4MDEpKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChC VUYwLCAweDA0NTAsIEM0UlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEM0 UlcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBNMkwpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVG MCwgMHhCNiwgQzhMTikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgQzhMTikK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChQTTJMLCAw eDAxKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVCaXRG aWVsZCAoQlVGMCwgMHgwNTI4LCBDOFJXKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICha ZXJvLCBDOFJXKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChQTTJI KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKEJVRjAsIDB4RDEsIENDTE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IENDTE4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo UE0ySCwgMHgwMSkpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlQml0RmllbGQgKEJVRjAsIDB4MDYwMCwgQ0NSVykKICAgICAgICAgICAgICAgICAgICBT dG9yZSAoWmVybywgQ0NSVykKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoUE0zTCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBDcmVhdGVE V29yZEZpZWxkIChCVUYwLCAweEVDLCBEMExOKQogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChaZXJvLCBEMExOKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKFBNM0wsIDB4MDEpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDA2RDgsIEQwUlcpCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIEQwUlcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKFBNM0gpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg Q3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTA3LCBENExOKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChaZXJvLCBENExOKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKFBNM0gsIDB4MDEpKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDA3QjAsIEQ0UlcpCiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQ0UlcpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgSWYgKFBNNEwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTIyLCBEOExOKQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBEOExOKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNNEwsIDB4MDEpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDA4ODgsIEQ4 UlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEQ4UlcpCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBNNEgpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMTNELCBEQ0xO KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBEQ0xOKQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNNEgsIDB4MDEpKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAw eDA5NjAsIERDUlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIERDUlcpCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBNNUwpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgw MTU4LCBFMExOKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBFMExOKQogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNNUwsIDB4MDEp KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxk IChCVUYwLCAweDBBMzgsIEUwUlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8s IEUwUlcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYgKFBNNUgpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAo QlVGMCwgMHgwMTczLCBFNExOKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBF NExOKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKFBN NUgsIDB4MDEpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIENyZWF0 ZUJpdEZpZWxkIChCVUYwLCAweDBCMTAsIEU0UlcpCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKFplcm8sIEU0UlcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgSWYg KFBNNkwpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdv cmRGaWVsZCAoQlVGMCwgMHgwMThFLCBFOExOKQogICAgICAgICAgICAgICAgICAgIFN0b3Jl IChaZXJvLCBFOExOKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKFBNNkwsIDB4MDEpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDBCRTgsIEU4UlcpCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIEU4UlcpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgSWYgKFBNNkgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg Q3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUE5LCBFQ0xOKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChaZXJvLCBFQ0xOKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKFBNNkgsIDB4MDEpKQogICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDBDQzAsIEVDUlcpCiAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEVDUlcpCiAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgSWYgKFBNMEgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUM0LCBGMExOKQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBGMExOKQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKFBNMEgsIDB4MDEpKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIENyZWF0ZUJpdEZpZWxkIChCVUYwLCAweDBEOTgsIEYw UlcpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIEYwUlcpCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUQz LCBNMU1OKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUQ3 LCBNMU1YKQogICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMURG LCBNMUxOKQogICAgICAgICAgICAgICAgTXVsdGlwbHkgKDB4MDIwMDAwMDAsIFxfU0IuUENJ MC5NQlVTLkRSQjMsIE0xTU4pCiAgICAgICAgICAgICAgICBBZGQgKFN1YnRyYWN0IChNMU1Y LCBNMU1OKSwgMHgwMSwgTTFMTikKICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAo XF9TQi5QQ0kwLkxQQ0IuSFBURSwgMHgwMDAzODAwMCksIDB4MEYsIExvY2FsMCkKICAgICAg ICAgICAgICAgIElmIChBbmQgKExvY2FsMCwgMHgwNCkpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlRFdvcmRGaWVsZCAoQlVGMCwgMHgwMUVFLCBNMk1O KQogICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEJVRjAsIDB4MDFGMiwg TTJNWCkKICAgICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDAx RkEsIE0yTE4pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDAwMDAsIE0yTU4p CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDAzRkYsIE0yTVgpCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDQwMCwgTTJMTikKICAgICAgICAgICAgICAgICAgICBJ ZiAoTEVxdWFsIChMb2NhbDAsIDB4MDUpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDEwMDAsIE0yTU4pCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweEZFRDAxM0ZGLCBNMk1YKQogICAgICAgICAgICAgICAg ICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDA2KSkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eEZFRDAyMDAwLCBNMk1OKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRUQw MjNGRiwgTTJNWCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKExvY2FsMCwgMHgwNykpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhGRUQwMzAwMCwgTTJNTikKICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDMzRkYsIE0yTVgpCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIFJldHVybiAoQlVG MCkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJp YWxpemVkKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBJZiAoR1BJQykKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDcp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAwMDJGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDEwCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwgCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMAogICAgICAgICAgICAgICAg ICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAxREZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MTMKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDEyCiAgICAgICAgICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDFERkZGRiwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxNwogICAg ICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2th Z2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAxRkZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgw MCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MTIKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAg ICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMUZGRkZGLCAKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDExCiAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgIFJldHVybiAoUGFja2FnZSAoMHgwNykKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMkZGRkYsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcX1NCLlBDSTAuTFBDQi5MTktBLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4 MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAg ICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQQ0Iu TE5LQSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAgICAg ICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDFERkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0QsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAg ICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxREZGRkYsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMiwgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcX1NCLlBDSTAuTFBDQi5MTktDLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweDAwMURGRkZGLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDMsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQ Q0IuTE5LSCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwCiAgICAgICAgICAg ICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgw NCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMDFGRkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0IuUENJMC5MUENCLkxOS0MsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAgICAgICAgICAgICAgICAgICB9LCAK CiAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAxRkZGRkYsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcX1NCLlBDSTAuTFBDQi5MTktCLCAKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg IH0pCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmlj ZSAoTUJVUykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgw MSkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoTUJVUywgUENJX0NvbmZpZywg MHg0MCwgMHhDMCkKICAgICAgICAgICAgICAgIEZpZWxkIChNQlVTLCBEV29yZEFjYywgTm9M b2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBE UkIwLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIERSQjEsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgRFJCMiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBEUkIzLCAgIDgKICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChBR1BC KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMDEwMDAw KQogICAgICAgICAgICAgICAgTWV0aG9kIChfUFJULCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChHUElDKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgw eDAyKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxMAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MTEKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAyKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdl ICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXF9TQi5QQ0kwLkxQ Q0IuTE5LQSwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAgICAg UGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweEZGRkYsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxfU0Iu UENJMC5MUENCLkxOS0IsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIERldmljZSAoR0ZYMCkKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgTmFtZSAoX0FEUiwgMHgwMDAyMDAwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlv blJlZ2lvbiAoVk5WUywgU3lzdGVtTWVtb3J5LCAweDNERUVBRjQ5LCAweDAwMDEwMDA0KQog ICAgICAgICAgICAgICAgRmllbGQgKFZOVlMsIEFueUFjYywgTG9jaywgUHJlc2VydmUpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUlNJWiwgICAzMiwgCiAgICAg ICAgICAgICAgICAgICAgUkJVRiwgICA1MjQyODgKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKF9ET1MsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFuZCAoQXJnMCwgMHgwMyksIERT RU4pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfRE9ELCAw LCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IElmIChMRXF1YWwgKExDREEsIDB4MDExMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwMTAxMDAs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDAxMDExMAogICAgICAgICAgICAg ICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuIChQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMDAxMDEwMCwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDAwMTA0MDAKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIE1ldGhvZCAoX1JPTSwgMiwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcxLCBMb2NhbDEpCiAgICAgICAgICAgICAg ICAgICAgSWYgKExHcmVhdGVyIChMb2NhbDEsIDB4MTAwMCkpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMDAwLCBMb2NhbDEpCiAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXIg KEFkZCAoTG9jYWwwLCBMb2NhbDEpLCBSU0laKSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNdWx0aXBseSAoTG9jYWwwLCAweDA4 LCBMb2NhbDIpCiAgICAgICAgICAgICAgICAgICAgTXVsdGlwbHkgKExvY2FsMSwgMHgwOCwg TG9jYWwzKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKFJPTTEsIEJ1ZmZlciAoUlNJWikg e30pCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoUk9NMiwgQnVmZmVyIChMb2NhbDEpIHt9 KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChSQlVGLCBST00xKQogICAgICAgICAgICAg ICAgICAgIENyZWF0ZUZpZWxkIChST00xLCBMb2NhbDIsIExvY2FsMywgVE1QQikKICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoVE1QQiwgUk9NMikKICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKFJPTTIpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNl IChDUlQxKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDEwMCkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EQ1MsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMSwgU01JRikKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 MDAsIFRSUDApCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKENTVEUsIDB4MDEw MSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgxRikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweDFEKQogICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgTWV0aG9kIChfREdTLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoTlNU RSwgMHgwMTAxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9EU1MsIDEsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo TEVxdWFsIChBbmQgKEFyZzAsIDB4QzAwMDAwMDApLCAweEMwMDAwMDAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKE5T VEUsIENTVEUpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMQ0QpCiAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQURSLCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChMQ0RBKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfRENTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDEsIFNNSUYpCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBUUlAwKQogICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChDU1RFLCAweDA4MDgpKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MUYpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgxRCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0RHUywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChBbmQgKE5TVEUsIDB4MDgwOCkpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MSkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfRFNTLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChBcmcwLCAweEMw MDAwMDAwKSwgMHhDMDAwMDAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChOU1RFLCBDU1RFKQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9CQ0wsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFBhY2thZ2UgKDB4MEQpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjQs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHg1MCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEEsIAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgxNCwgCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDFFLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MjgsIAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgMHgzMiwgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDNDLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDYsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgMHg1MCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAweDVBLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NjQKICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX0JDTSwgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIEJSVFcgKEFyZzApCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBE ZXZpY2UgKFBDSUIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIs IDB4MDAxRTAwMDApCiAgICAgICAgICAgICAgICBEZXZpY2UgKFNMVDApCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMCkKICAgICAgICAg ICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgMHgwQiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDQKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgIERldmljZSAoU0xUMSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMDEwMDAwKQogICAgICAgICAgICAgICAg ICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAweDBCLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwNAogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgRGV2aWNlIChTTFQyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9BRFIsIDB4MDAwMjAwMDApCiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIDB4MEIsIAogICAgICAgICAgICAgICAgICAgICAgICAweDA0CiAg ICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBEZXZpY2UgKExBTikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBO YW1lIChfQURSLCAweDAwMDYwMDAwKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcs IFBhY2thZ2UgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAweDBCLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwNQogICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9k IChfUFJULCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIElmIChHUElDKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAwNkZGRkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4MTIKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0s IAoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MHgwMDA3RkZGRiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgxMwogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAw MDhGRkZGLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDEwCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOEZG RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MTEKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAg ICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgRWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwNkZG RkYsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDUKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMDA3RkZGRiwg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwQgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUGFja2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwMDhGRkZGLCAKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDAwLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDA1CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAwOEZGRkYsIAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MDAsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEIK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg IH0KCiAgICAgICAgICAgIERldmljZSAoTFBDQikKICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgTmFtZSAoX0FEUiwgMHgwMDFGMDAwMCkKICAgICAgICAgICAgICAgIE9wZXJhdGlv blJlZ2lvbiAoTFBDMCwgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAgICAgICAg IEZpZWxkIChMUEMwLCBBbnlBY2MsIE5vTG9jaywgUHJlc2VydmUpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwgCiAgICAgICAgICAgICAg ICAgICAgUElSQSwgICA4LCAKICAgICAgICAgICAgICAgICAgICBQSVJCLCAgIDgsIAogICAg ICAgICAgICAgICAgICAgIFBJUkMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgUElSRCwg ICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjgpLCAKICAgICAgICAgICAg ICAgICAgICBQSVJFLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFBJUkYsICAgOCwgCiAg ICAgICAgICAgICAgICAgICAgUElSRywgICA4LCAKICAgICAgICAgICAgICAgICAgICBQSVJI LCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg5MCksIAogICAgICAgICAg ICAgICAgICAgIEhQVEUsICAgMzIsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhB MCksIAogICAgICAgICAgICAgICAgICAgIExERTAsICAgOCwgCiAgICAgICAgICAgICAgICAg ICAgTERFMSwgICA4CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNl IChMTktBKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlE LCAweDAxKQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXpl ZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDgwLCBQSVJBKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTmFtZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFy ZWQpIHsxLDMsNCw1LDYsNywxMCwxMiwxNCwxNX0KICAgICAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJUTEEsIFJl c291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHt9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0 ZVdvcmRGaWVsZCAoUlRMQSwgMHgwMSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKFplcm8sIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAo MHgwMSwgQW5kIChQSVJBLCAweDBGKSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuIChSVExBKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfU1JTLCAxLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJ UlEwKQogICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBJUkEpCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAo QW5kIChQSVJBLCAweDgwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAgICAgICAg ICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoTE5LQikKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwMikKICAgICAgICAgICAgICAgICAg ICBNZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgUElSQikKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwzLDQsNSw2LDcsMTEsMTIsMTQs MTV9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBOYW1lIChSVExCLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2 ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7fQogICAgICAgICAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFJUTEIsIDB4MDEsIElS UTApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJUlEwKQogICAgICAg ICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKDB4MDEsIEFuZCAoUElSQiwgMHgwRiksIElS UTApCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUlRMQikKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAg ICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo TG9jYWwwLCBQSVJCKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfU1RBLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUElSQiwgMHg4MCkpCiAgICAgICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAo MHgwOSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZp Y2UgKExOS0MpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X0hJRCwgRWlzYUlkICgiUE5QMEMwRiIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9V SUQsIDB4MDMpCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfRElTLCAwLCBTZXJpYWxp emVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4ODAsIFBJUkMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBOYW1lIChfUFJTLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNo YXJlZCkgezEsMyw0LDUsNiw3LDEwLDEyLDE0LDE1fQogICAgICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMQywg UmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkge30K ICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChSVExDLCAweDAxLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoWmVybywgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0 ICgweDAxLCBBbmQgKFBJUkMsIDB4MEYpLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFJUTEMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9TUlMsIDEsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEs IElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMCwg TG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExvY2FsMCwgUElSQykKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFs aXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElm IChBbmQgKFBJUkMsIDB4ODApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDkpCiAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAg ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChMTktEKQogICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkK ICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlELCAweDA0KQogICAgICAgICAgICAgICAg ICAgIE1ldGhvZCAoX0RJUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDgwLCBQSVJEKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3VyY2VU ZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHsxLDMsNCw1LDYsNywxMSwxMiwx NCwxNX0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX0NSUywgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIE5hbWUgKFJUTEQsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChM ZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQpIHt9CiAgICAgICAgICAgICAgICAgICAgICAgIH0p CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoUlRMRCwgMHgwMSwg SVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFplcm8sIElSUTApCiAgICAg ICAgICAgICAgICAgICAgICAgIFNoaWZ0TGVmdCAoMHgwMSwgQW5kIChQSVJELCAweDBGKSwg SVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChSVExEKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg Q3JlYXRlV29yZEZpZWxkIChBcmcwLCAweDAxLCBJUlEwKQogICAgICAgICAgICAgICAgICAg ICAgICBGaW5kU2V0UmlnaHRCaXQgKElSUTAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChMb2NhbDAsIFBJUkQpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9TVEEsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChQSVJELCAweDgwKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJu ICgweDA5KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmV0dXJuICgweDBCKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERl dmljZSAoTE5LRSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1l IChfSElELCBFaXNhSWQgKCJQTlAwQzBGIikpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAo X1VJRCwgMHgwNSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHg4MCwgUElSRSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIE5hbWUgKF9QUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywg U2hhcmVkKSB7MSwzLDQsNSw2LDcsMTAsMTIsMTQsMTV9CiAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChSVExF LCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7 fQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBD cmVhdGVXb3JkRmllbGQgKFJUTEUsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChaZXJvLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExl ZnQgKDB4MDEsIEFuZCAoUElSRSwgMHgwRiksIElSUTApCiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoUlRMRSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1NSUywgMSwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgw MSwgSVJRMCkKICAgICAgICAgICAgICAgICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEw LCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTG9jYWwwLCBQSVJFKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg SWYgKEFuZCAoUElSRSwgMHg4MCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKExOS0YpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMEMwRiIp KQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9VSUQsIDB4MDYpCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfRElTLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4ODAsIFBJUkYpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBOYW1lIChfUFJTLCBSZXNvdXJj ZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBJUlEgKExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkgezEsMyw0LDUsNiw3LDExLDEy LDE0LDE1fQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTmFtZSAoUlRMRiwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJUlEg KExldmVsLCBBY3RpdmVMb3csIFNoYXJlZCkge30KICAgICAgICAgICAgICAgICAgICAgICAg fSkKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSVExGLCAweDAx LCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoWmVybywgSVJRMCkKICAg ICAgICAgICAgICAgICAgICAgICAgU2hpZnRMZWZ0ICgweDAxLCBBbmQgKFBJUkYsIDB4MEYp LCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFJUTEYpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVXb3JkRmllbGQgKEFyZzAsIDB4MDEsIElSUTApCiAgICAgICAgICAgICAgICAg ICAgICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRMCwgTG9jYWwwKQogICAgICAgICAgICAgICAg ICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKExvY2FsMCwgUElSRikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFBJUkYsIDB4ODApKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MDkpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg RGV2aWNlIChMTktHKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5h bWUgKF9ISUQsIEVpc2FJZCAoIlBOUDBDMEYiKSkKICAgICAgICAgICAgICAgICAgICBOYW1l IChfVUlELCAweDA3KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0RJUywgMCwgU2Vy aWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDgwLCBQSVJHKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX1BSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93 LCBTaGFyZWQpIHsxLDMsNCw1LDYsNywxMCwxMiwxNCwxNX0KICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX0NSUywgMCwgU2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFJU TEcsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChMZXZlbCwgQWN0aXZlTG93LCBTaGFyZWQp IHt9CiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoUlRMRywgMHgwMSwgSVJRMCkKICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKFplcm8sIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoMHgwMSwgQW5kIChQSVJHLCAweDBGKSwgSVJRMCkKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuIChSVExHKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfU1JTLCAxLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcwLCAw eDAxLCBJUlEwKQogICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKElS UTAsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIFBJUkcpCiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoQW5kIChQSVJHLCAweDgwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBCKQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIERldmljZSAoTE5LSCkKICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzBG IikpCiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX1VJRCwgMHgwOCkKICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9ESVMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgUElSSCkKICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9QUlMsIFJlc291 cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgIElSUSAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7MSwzLDQsNSw2LDcsMTEs MTIsMTQsMTV9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBN ZXRob2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBOYW1lIChSVExILCBSZXNvdXJjZVRlbXBsYXRlICgpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElS USAoTGV2ZWwsIEFjdGl2ZUxvdywgU2hhcmVkKSB7fQogICAgICAgICAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFJUTEgsIDB4 MDEsIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChaZXJvLCBJUlEwKQog ICAgICAgICAgICAgICAgICAgICAgICBTaGlmdExlZnQgKDB4MDEsIEFuZCAoUElSSCwgMHgw RiksIElSUTApCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUlRMSCkKICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NSUywgMSwg U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZVdvcmRGaWVsZCAoQXJnMCwgMHgwMSwgSVJRMCkKICAgICAgICAgICAgICAg ICAgICAgICAgRmluZFNldFJpZ2h0Qml0IChJUlEwLCBMb2NhbDApCiAgICAgICAgICAgICAg ICAgICAgICAgIERlY3JlbWVudCAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoTG9jYWwwLCBQSVJIKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgTWV0aG9kIChfU1RBLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUElSSCwgMHg4MCkpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoMHgwOSkKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBEZXZpY2UgKFRJTVIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg TmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDEwMCIpKQogICAgICAgICAgICAgICAgICAgIE5h bWUgKEJVRjAsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDQwLCAweDAwNDAsIDB4 MDEsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDUw LCAweDAwNTAsIDB4MTAsIDB4MDQpCiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgICAgICBOYW1lIChCVUYxLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDA0 MCwgMHgwMDQwLCAweDAxLCAweDA0KQogICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVj b2RlMTYsIDB4MDA1MCwgMHgwMDUwLCAweDEwLCAweDA0KQogICAgICAgICAgICAgICAgICAg ICAgICBJUlFOb0ZsYWdzICgpIHswfQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAg ICAgICAgICAgICAgTWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoSFBURSwgMHgwMDAy MDAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoQlVGMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgUmV0dXJuIChCVUYxKQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKElQSUMpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMDAwMCIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwgMHgwMDIwLCAweDAwMjAsIDB4MDEsIDB4MDIpCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDI0LCAweDAwMjQsIDB4MDEsIDB4MDIp CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDI4LCAweDAwMjgs IDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MDJDLCAweDAwMkMsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChE ZWNvZGUxNiwgMHgwMDMwLCAweDAwMzAsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDM0LCAweDAwMzQsIDB4MDEsIDB4MDIpCiAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDM4LCAweDAwMzgsIDB4MDEs IDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDNDLCAw eDAwM0MsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwMEEwLCAweDAwQTAsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwgMHgwMEE0LCAweDAwQTQsIDB4MDEsIDB4MDIpCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEE4LCAweDAwQTgsIDB4MDEsIDB4MDIp CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEFDLCAweDAwQUMs IDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgw MEIwLCAweDAwQjAsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChE ZWNvZGUxNiwgMHgwMEI0LCAweDAwQjQsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAg ICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEI4LCAweDAwQjgsIDB4MDEsIDB4MDIpCiAgICAg ICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEJDLCAweDAwQkMsIDB4MDEs IDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwNEQwLCAw eDA0RDAsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3Mg KCkgezJ9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBEZXZpY2UgKFJUQykKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQjAwIikpCiAgICAgICAgICAgICAg ICAgICAgTmFtZSAoQlVGMCwgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAweDAwNzAsIDB4 MDA3MCwgMHgwMSwgMHgwOCkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAg ICAgICAgIE5hbWUgKEJVRjEsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDcwLCAw eDAwNzAsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgIElSUU5vRmxhZ3Mg KCkgezh9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9DUlMsIDAsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBJZiAoQW5kIChIUFRFLCAweDAwMDIwMDAwKSkKICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChC VUYwKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKEJVRjEpCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIERldmljZSAoTUFUSCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzA0IikpCiAgICAg ICAgICAgICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAwRjAsIDB4MDBGMCwgMHgwMSwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgSVJR Tm9GbGFncyAoKSB7MTN9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKERNQUMpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgiUE5QMDIwMCIpKQogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwMDAwLCAweDAwMDAsIDB4MDEsIDB4MjApCiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwgMHgwMDgxLCAweDAwODEsIDB4MDEsIDB4MEYpCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDkwLCAweDAwOTAsIDB4MDEsIDB4MDIpCiAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDkzLCAweDAwOTMsIDB4 MDEsIDB4MEQpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEMw LCAweDAwQzAsIDB4MDEsIDB4MjApCiAgICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29t cGF0aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjhfMTYpIHs0fQogICAgICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNl IChNQkQwKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9I SUQsIEVpc2FJZCAoIlBOUDBDMDIiKSkKICAgICAgICAgICAgICAgICAgICBOYW1lIChfVUlE LCAweDAxKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVtcGxh dGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwgMHgwMDJFLCAweDAwMkUsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDYxLCAweDAwNjEsIDB4MDEsIDB4MDEpCiAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDYzLCAweDAwNjMsIDB4 MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDY1 LCAweDAwNjUsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNv ZGUxNiwgMHgwMDY3LCAweDAwNjcsIDB4MDEsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAg ICAgIElPIChEZWNvZGUxNiwgMHgwMDgwLCAweDAwODAsIDB4MDEsIDB4MDEpCiAgICAgICAg ICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDkyLCAweDAwOTIsIDB4MDEsIDB4 MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMEIyLCAweDAw QjIsIDB4MDEsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwNjAwLCAweDA2MDAsIDB4MDEsIDB4MTApCiAgICAgICAgICAgICAgICAgICAgICAgIElP IChEZWNvZGUxNiwgMHgwNzAwLCAweDA3MDAsIDB4MDEsIDB4MTApCiAgICAgICAgICAgICAg ICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwODAwLCAweDA4MDAsIDB4MDEsIDB4MTApCiAg ICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgxMDAwLCAweDEwMDAsIDB4 MDEsIDB4ODApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgxMTgw LCAweDExODAsIDB4MDEsIDB4NDApCiAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNv ZGUxNiwgMHgwM0YwLCAweDAzRjAsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAg ICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwgMHhGRUMxMDAwMCwgMHgwMDAxMDAwMCkK ICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIERldmljZSAoTUJEMSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwQzAyIikpCiAgICAgICAgICAgICAgICAgICAg TmFtZSAoX1VJRCwgMHgwMikKICAgICAgICAgICAgICAgICAgICBOYW1lIChfQ1JTLCBSZXNv dXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkV3JpdGUsIDB4RkVDMDAwMDAsIDB4MDAwMDEw MDApCiAgICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRXcml0ZSwg MHhGRUUwMDAwMCwgMHgwMDAwMTAwMCkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAg ICAgICAgICAgICAgIE1ldGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRl ciAoT1NZUywgMHgwN0NGKSkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIElmIChMT3IgKEFQSUMsIEhUVEUpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoMHgwQikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQogICAg ICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBE ZXZpY2UgKEZXSEQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFt ZSAoX0hJRCwgRWlzYUlkICgiSU5UMDgwMCIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUg KF9DUlMsIFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIE1lbW9yeTMyRml4ZWQgKFJlYWRPbmx5LCAweEZGODAwMDAw LCAweDAwODAwMDAwKQogICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgRGV2aWNlIChIUEVUKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQsIEVpc2FJZCAoIlBOUDAxMDMiKSkKICAgICAg ICAgICAgICAgICAgICBOYW1lIChCVUYwLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHsw fQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHs4fQogICAgICAgICAg ICAgICAgICAgICAgICBNZW1vcnkzMkZpeGVkIChSZWFkT25seSwgMHhGRUQwMDAwMCwgMHgw MDAwMDQwMCkKICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgIE1l dGhvZCAoX1NUQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoSFBURSwgMHgwMDAzODAw MCksIDB4MEYsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAo T1NZUywgMHgwN0QxKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKEFuZCAoTG9jYWwwLCAweDA0KSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KDB4MEYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChMb2NhbDAs IDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJldHVybiAoMHgwQikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgTWV0aG9kIChfQ1JTLCAwLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoQW5kIChIUFRFLCAweDAw MDM4MDAwKSwgMHgwRiwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5k IChMb2NhbDAsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChCVUYwLCAweDBBLCBIUFQwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDA1KSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBTdG9yZSAoMHhGRUQwMTAwMCwgSFBUMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChMb2Nh bDAsIDB4MDYpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEZFRDAyMDAwLCBIUFQwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM RXF1YWwgKExvY2FsMCwgMHgwNykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkVEMDMwMDAsIEhQVDAp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoQlVGMCkKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgRGV2aWNlIChI X0VDKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9ISUQs IEVpc2FJZCAoIlBOUDBDMDkiKSkKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9DUlMs IDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBOYW1lIChCRkZSLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwMDYyLCAweDAwNjIsIDB4MDAsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJTyAoRGVjb2RlMTYsIDB4MDA2NiwgMHgwMDY2LCAweDAwLCAweDAxKQogICAgICAg ICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKEJG RlIpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBPcGVyYXRp b25SZWdpb24gKFJBTSwgRW1iZWRkZWRDb250cm9sLCAweDAwLCAweEZGKQogICAgICAgICAg ICAgICAgICAgIEZpZWxkIChSQU0sIEFueUFjYywgTG9jaywgUHJlc2VydmUpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOTVNHLCAgIDgsIAogICAg ICAgICAgICAgICAgICAgICAgICBTTEVELCAgIDQsIAogICAgICAgICAgICAgICAgICAgICAg ICBPZmZzZXQgKDB4MDIpLCAKICAgICAgICAgICAgICAgICAgICAgICAgTU9ERSwgICAxLCAK ICAgICAgICAgICAgICAgICAgICAgICAgRkFOMCwgICAxLCAKICAgICAgICAgICAgICAgICAg ICAgICAgVE1FMCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgVE1FMSwgICAxLCAK ICAgICAgICAgICAgICAgICAgICAgICAgRkFOMSwgICAxLCAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDAz KSwgCiAgICAgICAgICAgICAgICAgICAgICAgIExTVEUsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIExTVzAsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIExXS0UsICAg MSwgCiAgICAgICAgICAgICAgICAgICAgICAgIFdBS0YsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIFBXS0UsICAg MSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE1XS0UsICAgMSwgCiAgICAgICAgICAgICAg ICAgICAgICAgIEFDMCwgICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBQU1YsICAg IDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgQ1JULCAgICAxNiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIFRNUCwgICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBBQzEs ICAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgU0xQVCwgICA4LCAKICAgICAgICAg ICAgICAgICAgICAgICAgU1dFSiwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgU1dD SCwgICAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDEwKSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFBTVEUsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAg IEFGTFQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJBVDAsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIEJBVDEsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAsICAgMywgCiAgICAgICAgICAgICAgICAgICAgICAgIFBXT0YsICAgMSwgCiAgICAg ICAgICAgICAgICAgICAgICAgIFdGTk8sICAgOCwgCiAgICAgICAgICAgICAgICAgICAgICAg IEJQVTAsICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICBCREMwLCAgIDMyLCAKICAg ICAgICAgICAgICAgICAgICAgICAgQkZDMCwgICAzMiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIEJUQzAsICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICBCRFYwLCAgIDMyLCAK ICAgICAgICAgICAgICAgICAgICAgICAgQlNUMCwgICAzMiwgCiAgICAgICAgICAgICAgICAg ICAgICAgIEJQUjAsICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICBCUkMwLCAgIDMy LCAKICAgICAgICAgICAgICAgICAgICAgICAgQlBWMCwgICAzMiwgCiAgICAgICAgICAgICAg ICAgICAgICAgIEJUUDAsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBCUlMwLCAg IDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgQkNXMCwgICAzMiwgCiAgICAgICAgICAg ICAgICAgICAgICAgIEJDTDAsICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICBCQ0cw LCAgIDMyLCAKICAgICAgICAgICAgICAgICAgICAgICAgQkcyMCwgICAzMiwgCiAgICAgICAg ICAgICAgICAgICAgICAgIEJNTzAsICAgNjQsIAogICAgICAgICAgICAgICAgICAgICAgICBC SUYwLCAgIDY0LCAKICAgICAgICAgICAgICAgICAgICAgICAgQlNOMCwgICAzMiwgCiAgICAg ICAgICAgICAgICAgICAgICAgIEJUWTAsICAgNjQsIAogICAgICAgICAgICAgICAgICAgICAg ICBCQ0MwLCAgIDE2LCAKICAgICAgICAgICAgICAgICAgICAgICAgUkVWMCwgICAxNiwgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAsICAgMywgCiAgICAgICAgICAgICAgICAgICAg ICAgIEJBVDQsICAgMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHg2RSks IAogICAgICAgICAgICAgICAgICAgICAgICBSRVYzLCAgIDMyLCAKICAgICAgICAgICAgICAg ICAgICAgICAgQlBVMSwgICAzMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJEQzEsICAg MzIsIAogICAgICAgICAgICAgICAgICAgICAgICBCRkMxLCAgIDMyLCAKICAgICAgICAgICAg ICAgICAgICAgICAgQlRDMSwgICAzMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJEVjEs ICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICBCU1QxLCAgIDMyLCAKICAgICAgICAg ICAgICAgICAgICAgICAgQlBSMSwgICAzMiwgCiAgICAgICAgICAgICAgICAgICAgICAgIEJS QzEsICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICBCUFYxLCAgIDMyLCAKICAgICAg ICAgICAgICAgICAgICAgICAgQlRQMSwgICAxNiwgCiAgICAgICAgICAgICAgICAgICAgICAg IEJSUzEsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBCQ1cxLCAgIDMyLCAKICAg ICAgICAgICAgICAgICAgICAgICAgQkNMMSwgICAzMiwgCiAgICAgICAgICAgICAgICAgICAg ICAgIEJDRzEsICAgMzIsIAogICAgICAgICAgICAgICAgICAgICAgICBCRzIxLCAgIDMyLCAK ICAgICAgICAgICAgICAgICAgICAgICAgQk1PMSwgICA2NCwgCiAgICAgICAgICAgICAgICAg ICAgICAgIEJJRjEsICAgNjQsIAogICAgICAgICAgICAgICAgICAgICAgICBCU04xLCAgIDMy LCAKICAgICAgICAgICAgICAgICAgICAgICAgQlRZMSwgICA2NCwgCiAgICAgICAgICAgICAg ICAgICAgICAgIEJDQzEsICAgMTYsIAogICAgICAgICAgICAgICAgICAgICAgICBCVEFTLCAg IDEsIAogICAgICAgICAgICAgICAgICAgICAgICBCVFBTLCAgIDEsIAogICAgICAgICAgICAg ICAgICAgICAgICBTQ0FOLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQUk9OLCAg IDgsIAogICAgICAgICAgICAgICAgICAgICAgICBQUk9GLCAgIDgsIAogICAgICAgICAgICAg ICAgICAgICAgICBBVFRBLCAgIDgsIAogICAgICAgICAgICAgICAgICAgICAgICBERVRBLCAg IDgKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIERldmljZSAo QlQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1l IChfSElELCAiSUNPQkNDQyIpCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1NU QSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEJURU4pCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICAgICAgTWV0aG9kIChEVVNCLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMCwgXF9TQi5QQ0kwLkxQQ0IuSF9FQy5ERVRBKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2QgKEFVU0IsIDAsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0b3JlICgweDAwLCBcX1NCLlBDSTAuTFBDQi5IX0VDLkFUVEEpCiAgICAgICAg ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoQlRQ TywgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFxfU0IuUENJMC5MUENCLkhfRUMu UFJPTikKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChCVFBGLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgXF9TQi5Q Q0kwLkxQQ0IuSF9FQy5QUk9GKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKEJUU1QsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVy biAoT3IgKFNoaWZ0TGVmdCAoQlRQUywgMHgwNyksIFNoaWZ0TGVmdCAoQlRBUywgMHgwNikp KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9SRUcsIDIsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTEVx dWFsIChBcmcwLCAweDAzKSwgTEVxdWFsIChBcmcxLCAweDAxKSkpCiAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBF Q09OKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExFcXVhbCAoUFNU RSwgUFdSUykpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlIChQU1RFLCBQV1JTKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDJCLCBTTUlGKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAwLCBUUlAwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIE5vdGlmeSAoXF9TQi5CQVQwLCAweDgwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBOYW1lIChfR1BFLCAweDFDKQogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1EwQSwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE5vdGlmeSAoXF9TQi5CQVQwLCAw eDgwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfUTBELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgTm90aWZ5IChcX1NCLlNMUEIsIDB4ODApCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTAsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoMHgwMSwgVExTVCkKICAgICAgICAgICAgICAgICAgICAgICAgSEtEUyAoMHgw QSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1ExNiwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMTm90IChMRXF1YWwgKFBTVEUsIFBXUlMpKSkKICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KFBTVEUsIFBXUlMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgyQiwg U01JRikKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBUUlAwKQog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAo R1YzRSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgUE5PVCAoKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgUE5PMSAoKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMTcsIDAs IE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICBOb3RpZnkgKFxfU0IuQkFUMCwgMHg4MSkKICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1ExOSwgMCwgTm90U2VyaWFsaXplZCkK ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9RMUIsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoTFNURSwgTElEUykK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExJRFMsIFA4MEgpCiAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMSURTKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgxMSwgUDgwSCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBUTEVEKQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MjIsIFA4MEgp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgVExFRCkKICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgTm90aWZ5IChc X1NCLkxJRDAsIDB4ODApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9RMUMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkgKFxfVFouVEhSTSwgMHg4MCkK ICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1Ex RCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RMjEsIDAsIE5vdFNl cmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBOb3RpZnkgKFxfU0IuQkFUMCwgMHg4MCkKICAgICAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgICAgIE1ldGhvZCAoX1EyMywgMCwgTm90U2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDIzLCBQ ODBIKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfUTUwLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgUDhYSCAoMHgwMCwgMHg1MCkKICAgICAgICAgICAgICAgICAg ICAgICAgTm90aWZ5IChcX1NCLlBDSTAuTFBDQi5IX0VDLkJULCAweDAyKQogICAgICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9kIChfUTUxLCAwLCBOb3RT ZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUDhYSCAoMHgwMCwgMHg1MSkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKExT VEUsIExJRFMpCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChJR0RTKQogICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBMU0RTIChMSURT KQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVs c2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MkEsIFNNSUYpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9y ZSAoMHgwMCwgVFJQMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgTm90aWZ5IChcX1NCLkxJRDAsIDB4ODApCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNjAsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOb3Rp ZnkgKFxfU0IuUENJMC5MUENCLkhfRUMuQlQsIDB4OTApCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9RNjEsIDAsIE5vdFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOb3RpZnkg KFxfU0IuUENJMC5MUENCLkhfRUMuQlQsIDB4OTApCiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoTjM5 MywgU3lzdGVtSU8sIDB4MkUsIDB4MDIpCiAgICAgICAgICAgICAgICBGaWVsZCAoTjM5Mywg Qnl0ZUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBJTkRYLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIERBVEEsICAgOAog ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIEluZGV4RmllbGQgKElORFgsIERB VEEsIEFueUFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBBY2Nlc3NBcyAoQnl0ZUFjYywgMHgwMCksIAogICAgICAgICAgICAg ICAgICAgIE9mZnNldCAoMHgwNyksIAogICAgICAgICAgICAgICAgICAgIExETiwgICAgOCwg CiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDIwKSwgCiAgICAgICAgICAgICAgICAg ICAgQ0ZHLCAgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MjYpLCAKICAg ICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIENSMjYs ICAgMSwgCiAgICAgICAgICAgICAgICAgICAgT2Zmc2V0ICgweDI3KSwgCiAgICAgICAgICAg ICAgICAgICAgT2Zmc2V0ICgweDMwKSwgCiAgICAgICAgICAgICAgICAgICAgQUNUUiwgICAx LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NjApLCAKICAgICAgICAgICAgICAg ICAgICBJT0FILCAgIDgsIAogICAgICAgICAgICAgICAgICAgIElPQUwsICAgOCwgCiAgICAg ICAgICAgICAgICAgICAgT2Zmc2V0ICgweDcwKSwgCiAgICAgICAgICAgICAgICAgICAgSU5U UiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4NzQpLCAKICAgICAgICAg ICAgICAgICAgICBETUNILCAgIDgsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHhG MCksIAogICAgICAgICAgICAgICAgICAgIE9QVDEsICAgOCwgCiAgICAgICAgICAgICAgICAg ICAgT1BUMiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBPUFQzLCAgIDgKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKFNFVEQsIDEsIFNlcmlhbGl6ZWQp CiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDcsIElO RFgpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIERBVEEpCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChSRUFELCAxLCBTZXJpYWxpemVkKQog ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBJTkRY KQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChEQVRBLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgUmV0dXJuIChMb2NhbDApCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgTWV0aG9kIChXUklULCAyLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBJTkRYKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlIChBcmcxLCBEQVRBKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgIERldmljZSAoRklSKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IE5hbWUgKF9ISUQsIEVpc2FJZCAoIk5TQzYwMDEiKSkKICAgICAgICAgICAgICAgICAgICBO YW1lIChSU1JDLCBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4MDAwMCwgMHgwMDAwLCAw eDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHt9CiAg ICAgICAgICAgICAgICAgICAgICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFzdGVy LCBUcmFuc2ZlcjgpIHt9CiAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQ1IyNikKICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAwKQog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAo QUNUUikKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoQ01CUCwgMHgwNikpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEYsIExv Y2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwRCwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MEQsIExvY2FsMCkKICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9E SVMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICBTRVREICgweDAyKQogICAgICAgICAgICAgICAgICAgICAgICBXUklU ICgweDMwLCBaZXJvKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgTWV0aG9kIChfQ1JTLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChfU1RBICgpLCAweDAyLCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgWmVybykpCiAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJl dHVybiAoUlNSQykKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgU0VURCAoMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29y ZEZpZWxkIChSU1JDLCAweDAyLCBJTzFMKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVh dGVXb3JkRmllbGQgKFJTUkMsIDB4MDQsIElPMUgpCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZVdvcmRGaWVsZCAoUlNSQywgMHgwOSwgSVJRWCkKICAgICAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChSU1JDLCAweDBDLCBETUFYKQogICAgICAgICAgICAg ICAgICAgICAgICBTaGlmdExlZnQgKFJFQUQgKDB4NjApLCAweDA4LCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgIE9yIChMb2NhbDAsIFJFQUQgKDB4NjEpLCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIElPMUwpCiAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChMb2NhbDAsIElPMUgpCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAxLCBMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAgICAgIFNoaWZ0 TGVmdCAoTG9jYWwxLCBSRUFEICgweDcwKSwgSVJRWCkKICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDEsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRM ZWZ0IChMb2NhbDEsIFJFQUQgKDB4NzQpLCBETUFYKQogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKFJTUkMpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBNZXRob2QgKF9QUlMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChCVUYwLCBSZXNvdXJjZVRlbXBs YXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0YXJ0RGVwZW5kZW50Rm4gKDB4MDAsIDB4MDIpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29k ZTE2LCAweDAyRjgsIDB4MDJGOCwgMHgwMSwgMHgwOCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJUlFOb0ZsYWdzICgpIHszfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHsw fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RhcnREZXBlbmRlbnRGbiAoMHgwMCwgMHgwMikKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2Rl MTYsIDB4MDNGOCwgMHgwM0Y4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElSUU5vRmxhZ3MgKCkgezN9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRE1BIChDb21wYXRpYmlsaXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOCkgezB9 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdGFydERlcGVuZGVudEZuICgweDAwLCAweDAyKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUx NiwgMHgwMkU4LCAweDAyRTgsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSVJRTm9GbGFncyAoKSB7NH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXI4KSB7MH0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0YXJ0RGVwZW5kZW50Rm4gKDB4MDAsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2 LCAweDAzRTgsIDB4MDNFOCwgMHgwMSwgMHgwOCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJUlFOb0ZsYWdzICgpIHs0fQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERNQSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHswfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RhcnREZXBlbmRlbnRGbiAoMHgwMCwgMHgwMikKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYs IDB4MDJGOCwgMHgwMkY4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIElSUU5vRmxhZ3MgKCkgezN9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRE1BIChDb21wYXRpYmlsaXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOCkgezN9CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdGFydERlcGVuZGVudEZuICgweDAwLCAweDAyKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElPIChEZWNvZGUxNiwg MHgwM0Y4LCAweDAzRjgsIDB4MDEsIDB4MDgpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSVJRTm9GbGFncyAoKSB7M30KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBETUEgKENvbXBhdGliaWxpdHksIE5vdEJ1c01hc3RlciwgVHJhbnNmZXI4KSB7M30KICAg ICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0YXJ0RGVwZW5kZW50Rm4gKDB4MDAsIDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSU8gKERlY29kZTE2LCAw eDAyRTgsIDB4MDJFOCwgMHgwMSwgMHgwOCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJUlFOb0ZsYWdzICgpIHs0fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IERNQSAoQ29tcGF0aWJpbGl0eSwgTm90QnVzTWFzdGVyLCBUcmFuc2ZlcjgpIHszfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RhcnREZXBlbmRlbnRGbiAoMHgwMCwgMHgwMikKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJTyAoRGVjb2RlMTYsIDB4 MDNFOCwgMHgwM0U4LCAweDAxLCAweDA4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElSUU5vRmxhZ3MgKCkgezR9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RE1BIChDb21wYXRpYmlsaXR5LCBOb3RCdXNNYXN0ZXIsIFRyYW5zZmVyOCkgezN9CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bmREZXBlbmRlbnRGbiAoKQogICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKEJVRjApCiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBNZXRob2QgKF9TUlMsIDEsIE5vdFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwg UlNSQykKICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChSU1JDLCAw eDAyLCBJTzFYKQogICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKFJT UkMsIDB4MDksIElSUVgpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZVdvcmRGaWVs ZCAoUlNSQywgMHgwQywgRE1BWCkKICAgICAgICAgICAgICAgICAgICAgICAgU0VURCAoMHgw MikKICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoSU8xWCwgMHgwOCwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICBXUklUICgweDYwLCBMb2NhbDApCiAgICAg ICAgICAgICAgICAgICAgICAgIEFuZCAoSU8xWCwgMHhGRiwgTG9jYWwwKQogICAgICAgICAg ICAgICAgICAgICAgICBXUklUICgweDYxLCBMb2NhbDApCiAgICAgICAgICAgICAgICAgICAg ICAgIEZpbmRTZXRSaWdodEJpdCAoSVJRWCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgV1JJVCAoMHg3MCwgTG9jYWwwKQog ICAgICAgICAgICAgICAgICAgICAgICBGaW5kU2V0UmlnaHRCaXQgKERNQVgsIExvY2FsMCkK ICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFdS SVQgKDB4NzQsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgV1JJVCAoMHgzMCwg MHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhv ZCAoX1BTMCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFNFVEQgKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgICAg IFdSSVQgKDB4MzAsIDB4MDEpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICBNZXRob2QgKF9QUzMsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTRVREICgweDAyKQogICAgICAgICAg ICAgICAgICAgICAgICBXUklUICgweDMwLCAweDAwKQogICAgICAgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKFBTMkspCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0hJRCwgRWlzYUlkICgi UE5QMDMwMyIpKQogICAgICAgICAgICAgICAgICAgIE5hbWUgKF9DUlMsIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IElPIChEZWNvZGUxNiwgMHgwMDYwLCAweDAwNjAsIDB4MDEsIDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgICAgIElPIChEZWNvZGUxNiwgMHgwMDY0LCAweDAwNjQsIDB4MDEsIDB4MDEp CiAgICAgICAgICAgICAgICAgICAgICAgIElSUSAoRWRnZSwgQWN0aXZlSGlnaCwgRXhjbHVz aXZlKSB7MX0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgIERldmljZSAoUFMyTSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICBOYW1lIChfSElELCBFaXNhSWQgKCJQTlAwRjEzIikpCiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0NSUywgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgSVJRIChFZGdlLCBBY3RpdmVIaWdo LCBFeGNsdXNpdmUpIHsxMn0KICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAg ICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICBEZXZpY2UgKFVTQjApCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9BRFIsIDB4MDAxRDAwMDApCiAgICAgICAg ICAgICAgICBPcGVyYXRpb25SZWdpb24gKFUwQ1MsIFBDSV9Db25maWcsIDB4QzQsIDB4MDQp CiAgICAgICAgICAgICAgICBGaWVsZCAoVTBDUywgRFdvcmRBY2MsIE5vTG9jaywgUHJlc2Vy dmUpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgVTBFTiwgICAyCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTmFtZSAoX1BSVywgUGFja2FnZSAo MHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAg ICAgICAgICAgICAgICAgICAweDA0CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICAg ICAgTWV0aG9kIChfUFNXLCAxLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIElmIChBcmcwKQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4MDMsIFUwRU4pCiAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBVMEVOKQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2Qg KF9TMUQsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoT1NZUywgMHgwN0NGKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TM0QsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAy KQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1M0RCwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAg ICAgIERldmljZSAoVVNCMSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAo X0FEUiwgMHgwMDFEMDAwMSkKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoVTFD UywgUENJX0NvbmZpZywgMHhDNCwgMHgwNCkKICAgICAgICAgICAgICAgIEZpZWxkIChVMUNT LCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBVMUVOLCAgIDIKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgIDB4MDQsIAogICAgICAgICAgICAgICAgICAgIDB4MDQKICAgICAg ICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICBNZXRob2QgKF9QU1csIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzAp CiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHgwMywgVTFFTikKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAg RWxzZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDAsIFUxRU4pCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoX1MxRCwgMCwgTm90U2VyaWFsaXplZCkKICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChPU1lTLCAw eDA3Q0YpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE1l dGhvZCAoX1MzRCwgMCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgTWV0aG9kIChfUzRELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikKICAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChVU0IyKQogICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUQwMDAyKQogICAgICAgICAg ICAgICAgT3BlcmF0aW9uUmVnaW9uIChVMkNTLCBQQ0lfQ29uZmlnLCAweEM0LCAweDA0KQog ICAgICAgICAgICAgICAgRmllbGQgKFUyQ1MsIERXb3JkQWNjLCBOb0xvY2ssIFByZXNlcnZl KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFUyRU4sICAgMgogICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE5hbWUgKF9QUlcsIFBhY2thZ2UgKDB4 MDIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgMHgwQywgCiAgICAg ICAgICAgICAgICAgICAgMHgwNAogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgICAg IE1ldGhvZCAoX1BTVywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICBJZiAoQXJnMCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAzLCBVMkVOKQogICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwMCwgVTJFTikKICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChf UzFELCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgIElmIChMRXF1YWwgKE9TWVMsIDB4MDdDRikpCiAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChfUzNELCAwLCBOb3RTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMikK ICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKF9TNEQsIDAsIE5v dFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAyKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAg ICBEZXZpY2UgKFVTQjcpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIE5hbWUgKF9B RFIsIDB4MDAxRDAwMDcpCiAgICAgICAgICAgICAgICBOYW1lIChfUFJXLCBQYWNrYWdlICgw eDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MEQsIAogICAg ICAgICAgICAgICAgICAgIDB4MDQKICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgIH0K CiAgICAgICAgICAgIE5hbWUgKFBVQUwsIFBhY2thZ2UgKDB4MDEpCiAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgIDB4MDAxRjAwMDEKICAgICAgICAgICAgfSkKICAgICAgICAgICAg RGV2aWNlIChJREVDKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBOYW1lIChfQURS LCAweDAwMUYwMDAxKQogICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChJREVDLCBQ Q0lfQ29uZmlnLCAweDQwLCAweDE4KQogICAgICAgICAgICAgICAgRmllbGQgKElERUMsIERX b3JkQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIFBSSVQsICAgMTYsIAogICAgICAgICAgICAgICAgICAgIFNFQ1QsICAgMTYs IAogICAgICAgICAgICAgICAgICAgIFBTSVQsICAgNCwgCiAgICAgICAgICAgICAgICAgICAg U1NJVCwgICA0LCAKICAgICAgICAgICAgICAgICAgICBPZmZzZXQgKDB4MDgpLCAKICAgICAg ICAgICAgICAgICAgICBTWU5DLCAgIDQsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAo MHgwQSksIAogICAgICAgICAgICAgICAgICAgIFNEVDAsICAgMiwgCiAgICAgICAgICAgICAg ICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAgICAgICAgICBTRFQxLCAgIDIsIAogICAg ICAgICAgICAgICAgICAgIE9mZnNldCAoMHgwQiksIAogICAgICAgICAgICAgICAgICAgIFNE VDIsICAgMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICwgICAyLCAKICAgICAgICAgICAg ICAgICAgICBTRFQzLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIE9mZnNldCAoMHgxNCks IAogICAgICAgICAgICAgICAgICAgIElDUjAsICAgNCwgCiAgICAgICAgICAgICAgICAgICAg SUNSMSwgICA0LCAKICAgICAgICAgICAgICAgICAgICBJQ1IyLCAgIDQsIAogICAgICAgICAg ICAgICAgICAgIElDUjMsICAgNCwgCiAgICAgICAgICAgICAgICAgICAgSUNSNCwgICA0LCAK ICAgICAgICAgICAgICAgICAgICBJQ1I1LCAgIDQKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBEZXZpY2UgKFBSSUQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMCkKICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9HVE0sIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICBOYW1lIChQQlVGLCBCdWZmZXIgKDB4MTQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAs IDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAgICAgICAgICAgICAgICAgICAg IENyZWF0ZURXb3JkRmllbGQgKFBCVUYsIDB4MDAsIFBJTzApCiAgICAgICAgICAgICAgICAg ICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFBCVUYsIDB4MDQsIERNQTApCiAgICAgICAgICAg ICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFBCVUYsIDB4MDgsIFBJTzEpCiAgICAg ICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFBCVUYsIDB4MEMsIERNQTEp CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFBCVUYsIDB4MTAs IEZMQUcpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChHRVRQIChQUklUKSwgUElP MCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEdETUEgKEFuZCAoU1lOQywgMHgw MSksIEFuZCAoSUNSMywgMHgwMSksIEFuZCAoSUNSMCwgMHgwMSksIFNEVDAsIEFuZCAoSUNS MSwgMHgwMSkpLCBETUEwKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChE TUEwLCAweEZGRkZGRkZGKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKFBJTzAsIERNQTApCiAgICAgICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFBSSVQsIDB4NDAw MCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChMRXF1YWwgKEFuZCAoUFJJVCwgMHg5MCksIDB4ODApKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl ICgweDAzODQsIFBJTzEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEdFVFQgKFBTSVQpLCBQ SU8xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4RkZGRkZGRkYs IFBJTzEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlIChHRE1BIChBbmQgKFNZTkMsIDB4MDIpLCBBbmQgKElDUjMsIDB4MDIpLCBB bmQgKElDUjAsIDB4MDIpLCBTRFQxLCBBbmQgKElDUjEsIDB4MDIpKSwgRE1BMSkKICAgICAg ICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRE1BMSwgMHhGRkZGRkZGRikpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChQSU8xLCBETUExKQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoR0VURiAoQW5kIChTWU5DLCAweDAxKSwgQW5kIChTWU5DLCAw eDAyKSwgUFJJVCksIEZMQUcpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUEJV RikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAo X1NUTSwgMywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MDAsIFBJTzApCiAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MDQsIERN QTApCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4 MDgsIFBJTzEpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFy ZzAsIDB4MEMsIERNQTEpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKEFyZzAsIDB4MTAsIEZMQUcpCiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChJQ1Iy LCAweDA0LCBJQ1IyKQogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChTaXpl T2YgKEFyZzEpLCAweDAyMDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBBbmQgKFBSSVQsIDB4NDBGMCwgUFJJVCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEFuZCAoU1lOQywgMHgwRSwgU1lOQykKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBTRFQwKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgQW5kIChJQ1IwLCAweDBFLCBJQ1IwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgQW5kIChJQ1IxLCAweDBFLCBJQ1IxKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgQW5kIChJQ1IzLCAweDBFLCBJQ1IzKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg QW5kIChJQ1I1LCAweDBFLCBJQ1I1KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChBcmcxLCAweDYyLCBXNDkwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweDZBLCBXNTMwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweDdFLCBXNjMwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweDgwLCBX NjQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcx LCAweEIwLCBXODgwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChBcmcxLCAweEJBLCBXOTMwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Ig KFBSSVQsIDB4ODAwNCwgUFJJVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChM QW5kIChBbmQgKEZMQUcsIDB4MDIpLCBBbmQgKFc0OTAsIDB4MDgwMCkpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9y IChQUklULCAweDAyLCBQUklUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQUklULCBTRVRQIChQSU8wLCBXNTMwLCBX NjQwKSwgUFJJVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEZMQUcs IDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE9yIChTWU5DLCAweDAxLCBTWU5DKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0b3JlIChTRE1BIChETUEwKSwgU0RUMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKERNQTAsIDB4MUUpKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3IgKElDUjMsIDB4MDEsIElDUjMpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKERN QTAsIDB4M0MpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjAsIDB4MDEsIElDUjApCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJZiAoQW5kIChXOTMwLCAweDIwMDApKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElD UjEsIDB4MDEsIElDUjEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChTaXplT2YgKEFyZzIpLCAweDAy MDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBbmQgKFBSSVQsIDB4M0YwRiwgUFJJVCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDAwLCBQU0lUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5k IChTWU5DLCAweDBELCBTWU5DKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4MDAsIFNEVDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKElDUjAsIDB4 MEQsIElDUjApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKElDUjEsIDB4MEQs IElDUjEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKElDUjMsIDB4MEQsIElD UjMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKElDUjUsIDB4MEQsIElDUjUp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4 NjIsIFc0OTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQg KEFyZzIsIDB4NkEsIFc1MzEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVX b3JkRmllbGQgKEFyZzIsIDB4N0UsIFc2MzEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4ODAsIFc2NDEpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4QjAsIFc4ODEpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4QkEsIFc5MzEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoUFJJVCwgMHg4MDQwLCBQUklUKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKEFuZCAoRkxBRywgMHgwOCks IEFuZCAoVzQ5MSwgMHgwODAwKSkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBSSVQsIDB4MjAsIFBSSVQpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgKEFuZCAoRkxBRywgMHgxMCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBSSVQsIDB4NDAwMCwgUFJJ VCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEdyZWF0ZXIgKFBJTzEs IDB4RjApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFBSSVQsIDB4ODAsIFBSSVQpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChQUklULCAweDEwLCBQUklUKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoU0VUVCAoUElPMSwgVzUzMSwg VzY0MSksIFBTSVQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChBbmQgKEZMQUcsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTWU5DLCAweDAyLCBTWU5DKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChTRE1BIChETUExKSwgU0RUMSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKERNQTEsIDB4MUUp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT3IgKElDUjMsIDB4MDIsIElDUjMpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTExlc3MgKERNQTEsIDB4M0MpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjAsIDB4MDIs IElDUjApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChXOTMxLCAweDIwMDApKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3IgKElDUjEsIDB4MDIsIElDUjEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBE ZXZpY2UgKFBfRDApCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICBOYW1lIChfQURSLCAweDAwKQogICAgICAgICAgICAgICAgICAgICAgICBNZXRob2Qg KF9HVEYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFBJQjAsIEJ1ZmZlciAoMHgwRSkKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGLCAweDAzLCAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDAw LCAweEEwLCAweEVGCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChQSUIwLCAweDAxLCBQTUQwKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChQSUIwLCAweDA4 LCBETUQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoUFJJVCwgMHgw MikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChQUklULCAweDA5KSwgMHgwOCkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwOCwgUE1EMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4MEEsIFBNRDApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoUFJJVCwgMHgwMzAwKSwgMHgwOCwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0IChBbmQg KFBSSVQsIDB4MzAwMCksIDB4MEMsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQWRkIChMb2NhbDAsIExvY2FsMSwgTG9jYWwyKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICgweDAzLCBMb2NhbDIpKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQiwgUE1EMCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoMHgwNSwgTG9jYWwyKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MEMsIFBNRDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MDEsIFBNRDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoU1lOQywgMHgwMSkpCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKE9yIChTRFQwLCAweDQwKSwgRE1EMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChJQ1IxLCAweDAxKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChB bmQgKElDUjAsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgKERNRDAsIDB4 MDIsIERNRDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKElDUjMsIDB4MDEpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg0NSwgRE1EMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBPciAoU3VidHJhY3QgKEFuZCAoUE1EMCwgMHgwNyks IDB4MDIpLCAweDIwLCBETUQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoUElCMCkKICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg RGV2aWNlIChQX0QxKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfR1RGLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChQSUIxLCBCdWZmZXIgKDB4MEUpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhCMCwgMHhFRiwgMHgwMywg CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHhCMCwgMHhFRgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoUElCMSwgMHgwMSwgUE1EMSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoUElCMSwgMHgw OCwgRE1EMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFBSSVQsIDB4 MjApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoUFJJVCwgMHg5MCksIDB4ODApKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDgsIFBNRDEpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEFkZCAoQW5kIChQU0lULCAweDAzKSwgU2hpZnRSaWdodCAoQW5kIChQU0lU LCAweDBDKSwgMHgwMiksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExFcXVhbCAoMHgwNSwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKDB4MEMsIFBNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICgweDAzLCBMb2NhbDApKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBCLCBQTUQxKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 b3JlICgweDBBLCBQTUQxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAxLCBQ TUQxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElmIChBbmQgKFNZTkMsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPciAoU0RU MSwgMHg0MCksIERNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFu ZCAoSUNSMSwgMHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChJQ1IwLCAweDAyKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChETUQxLCAweDAyLCBETUQxKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoQW5kIChJQ1IzLCAweDAyKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4NDUsIERNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3IgKFN1YnRyYWN0IChBbmQgKFBNRDEsIDB4MDcpLCAweDAyKSwgMHgyMCwgRE1E MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKFBJQjEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BTMCwgMCwg Tm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBNZXRob2QgKF9QUzMsIDAsIE5vdFNlcmlhbGl6 ZWQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBEZXZpY2UgKFNFQ0QpCiAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9HVE0sIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChTQlVGLCBCdWZmZXIg KDB4MTQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAs IAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAw eDAwLCAweDAwLCAweDAwLCAweDAwCiAgICAgICAgICAgICAgICAgICAgICAgIH0pCiAgICAg ICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFNCVUYsIDB4MDAsIFBJTzAp CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFNCVUYsIDB4MDQs IERNQTApCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKFNCVUYs IDB4MDgsIFBJTzEpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQg KFNCVUYsIDB4MEMsIERNQTEpCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3Jk RmllbGQgKFNCVUYsIDB4MTAsIEZMQUcpCiAgICAgICAgICAgICAgICAgICAgICAgIFN0b3Jl IChHRVRQIChTRUNUKSwgUElPMCkKICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEdE TUEgKEFuZCAoU1lOQywgMHgwNCksIEFuZCAoSUNSMywgMHgwNCksIEFuZCAoSUNSMCwgMHgw NCksIFNEVDIsIEFuZCAoSUNSMSwgMHgwNCkpLCBETUEwKQogICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTEVxdWFsIChETUEwLCAweEZGRkZGRkZGKSkKICAgICAgICAgICAgICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFBJTzAsIERNQTAp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElm IChBbmQgKFNFQ1QsIDB4NDAwMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoU0VDVCwgMHg5MCksIDB4 ODApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlICgweDAzODQsIFBJTzEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKEdFVFQgKFNTSVQpLCBQSU8xKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UK ICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RvcmUgKDB4RkZGRkZGRkYsIFBJTzEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChHRE1BIChBbmQgKFNZTkMsIDB4MDgpLCBB bmQgKElDUjMsIDB4MDgpLCBBbmQgKElDUjAsIDB4MDgpLCBTRFQzLCBBbmQgKElDUjEsIDB4 MDgpKSwgRE1BMSkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoRE1BMSwg MHhGRkZGRkZGRikpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN0b3JlIChQSU8xLCBETUExKQogICAgICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoR0VURiAoQW5kIChTWU5DLCAw eDA0KSwgQW5kIChTWU5DLCAweDA4KSwgU0VDVCksIEZMQUcpCiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoU0JVRikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIE1ldGhvZCAoX1NUTSwgMywgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmllbGQgKEFy ZzAsIDB4MDAsIFBJTzApCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURXb3JkRmll bGQgKEFyZzAsIDB4MDQsIERNQTApCiAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZURX b3JkRmllbGQgKEFyZzAsIDB4MDgsIFBJTzEpCiAgICAgICAgICAgICAgICAgICAgICAgIENy ZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MEMsIERNQTEpCiAgICAgICAgICAgICAgICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MTAsIEZMQUcpCiAgICAgICAgICAgICAg ICAgICAgICAgIE9yIChJQ1IyLCAweDA0LCBJQ1IyKQogICAgICAgICAgICAgICAgICAgICAg ICBJZiAoTEVxdWFsIChTaXplT2YgKEFyZzEpLCAweDAyMDApKQogICAgICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNFQ1QsIDB4NDBG MCwgU0VDVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFuZCAoU1lOQywgMHgwQiwg U1lOQykKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBTRFQyKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1IwLCAweDBCLCBJQ1IwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1IxLCAweDBCLCBJQ1IxKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1IzLCAweDBCLCBJQ1IzKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgQW5kIChJQ1I1LCAweDBCLCBJQ1I1KQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweDYyLCBXNDkwKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweDZBLCBX NTMwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcx LCAweDdFLCBXNjMwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlV29yZEZp ZWxkIChBcmcxLCAweDgwLCBXNjQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3Jl YXRlV29yZEZpZWxkIChBcmcxLCAweEIwLCBXODgwKQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgQ3JlYXRlV29yZEZpZWxkIChBcmcxLCAweEJBLCBXOTMwKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgT3IgKFNFQ1QsIDB4ODAwNCwgU0VDVCkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChMQW5kIChBbmQgKEZMQUcsIDB4MDIpLCBBbmQgKFc0OTAsIDB4 MDgwMCkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE9yIChTRUNULCAweDAyLCBTRUNUKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTRUNULCBT RVRQIChQSU8wLCBXNTMwLCBXNjQwKSwgU0VDVCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIElmIChBbmQgKEZMQUcsIDB4MDEpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTWU5DLCAweDA0LCBTWU5D KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChTRE1BIChETUEwKSwg U0RUMikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKERNQTAs IDB4MUUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjMsIDB4MDQsIElDUjMpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBJZiAoTExlc3MgKERNQTAsIDB4M0MpKQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjAs IDB4MDQsIElDUjApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChXOTMwLCAweDIwMDApKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT3IgKElDUjEsIDB4MDQsIElDUjEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsIChT aXplT2YgKEFyZzIpLCAweDAyMDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgICAgICBBbmQgKFNFQ1QsIDB4M0YwRiwgU0VDVCkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBTU0lUKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgQW5kIChTWU5DLCAweDA3LCBTWU5DKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MDAsIFNEVDMpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBbmQgKElDUjAsIDB4MDcsIElDUjApCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBBbmQgKElDUjEsIDB4MDcsIElDUjEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBB bmQgKElDUjMsIDB4MDcsIElDUjMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBbmQg KElDUjUsIDB4MDcsIElDUjUpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVX b3JkRmllbGQgKEFyZzIsIDB4NjIsIFc0OTEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4NkEsIFc1MzEpCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4N0UsIFc2MzEpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4ODAsIFc2NDEp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQgKEFyZzIsIDB4 QjAsIFc4ODEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVXb3JkRmllbGQg KEFyZzIsIDB4QkEsIFc5MzEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoU0VD VCwgMHg4MDQwLCBTRUNUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQg KEFuZCAoRkxBRywgMHgwOCksIEFuZCAoVzQ5MSwgMHgwODAwKSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFNF Q1QsIDB4MjAsIFNFQ1QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoRkxBRywgMHgxMCkpCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3Ig KFNFQ1QsIDB4NDAwMCwgU0VDVCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJ ZiAoTEdyZWF0ZXIgKFBJTzEsIDB4RjApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFNFQ1QsIDB4 ODAsIFNFQ1QpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTRUNULCAw eDEwLCBTRUNUKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAo U0VUVCAoUElPMSwgVzUzMSwgVzY0MSksIFNTSVQpCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmIChBbmQgKEZMQUcsIDB4MDQpKQogICAgICAgICAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9yIChTWU5D LCAweDA4LCBTWU5DKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChT RE1BIChETUExKSwgU0RUMykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAo TExlc3MgKERNQTEsIDB4MUUpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjMsIDB4MDgsIElD UjMpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoTExlc3MgKERNQTEsIDB4M0MpKQogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT3IgKElDUjAsIDB4MDgsIElDUjApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChXOTMxLCAw eDIwMDApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgT3IgKElDUjEsIDB4MDgsIElDUjEpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICBEZXZpY2UgKFNfRDApCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChfQURSLCAweDAwKQogICAgICAgICAgICAg ICAgICAgICAgICBNZXRob2QgKF9TVEEsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChJ Q1I0LCAweDA0KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDBGKQog ICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgICBNZXRo b2QgKF9HVEYsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWUgKFNJQjAsIEJ1ZmZlciAoMHgwRSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAweDAzLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweEEwLCAweEVGLCAweDAz LCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAw eDAwLCAweEEwLCAweEVGCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChTSUIwLCAweDAxLCBQTUQw KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3JlYXRlQnl0ZUZpZWxkIChTSUIwLCAw eDA4LCBETUQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoU0VDVCwg MHgwMikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChTRUNULCAweDA5KSwgMHgwOCkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdG9yZSAoMHgwOCwgUE1EMCkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4MEEsIFBNRDApCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoU0VDVCwgMHgwMzAwKSwgMHgwOCwgTG9j YWwwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaGlmdFJpZ2h0IChB bmQgKFNFQ1QsIDB4MzAwMCksIDB4MEMsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQWRkIChMb2NhbDAsIExvY2FsMSwgTG9jYWwyKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICgweDAzLCBMb2NhbDIpKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgwQiwgUE1EMCkKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoMHgwNSwgTG9jYWwyKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MEMsIFBNRDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNlCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MDEsIFBNRDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKEFuZCAoU1lOQywgMHgwNCkpCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKE9yIChTRFQyLCAweDQwKSwgRE1EMCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJZiAoQW5kIChJQ1IxLCAweDA0KSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElm IChBbmQgKElDUjAsIDB4MDQpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBZGQgKERNRDAs IDB4MDIsIERNRDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKElDUjMsIDB4MDQp KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg0NSwgRE1EMCkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPciAoU3VidHJhY3QgKEFuZCAoUE1EMCwgMHgw NyksIDB4MDIpLCAweDIwLCBETUQwKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoU0lCMCkKICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgRGV2aWNlIChTX0QxKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMSkKICAgICAgICAgICAgICAgICAgICAgICAgTWV0 aG9kIChfR1RGLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYW1lIChTSUIxLCBCdWZmZXIgKDB4MEUp CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMHgwMywgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHhCMCwgMHhFRiwgMHgw MywgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHhCMCwgMHhFRgogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkKICAgICAg ICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoU0lCMSwgMHgwMSwgUE1E MSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZUJ5dGVGaWVsZCAoU0lCMSwg MHgwOCwgRE1EMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKFNFQ1Qs IDB4MjApKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFuZCAoU0VDVCwgMHg5MCksIDB4ODApKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RvcmUgKDB4MDgsIFBNRDEpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEFkZCAoQW5kIChTU0lULCAweDAzKSwgU2hpZnRSaWdodCAoQW5kIChT U0lULCAweDBDKSwgMHgwMiksIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExFcXVhbCAoMHgwNSwgTG9jYWwwKSkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKDB4MEMsIFBNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJZiAoTEVxdWFsICgweDAzLCBMb2NhbDApKQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBCLCBQTUQxKQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0b3JlICgweDBBLCBQTUQxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAx LCBQTUQxKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgICAgIElmIChBbmQgKFNZTkMsIDB4MDgpKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIChPciAo U0RUMywgMHg0MCksIERNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYg KEFuZCAoSUNSMSwgMHgwOCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChJQ1IwLCAweDA4 KSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRkIChETUQxLCAweDAyLCBETUQxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiAoQW5kIChJQ1IzLCAweDA4KSkKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RvcmUgKDB4NDUsIERNRDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbHNl CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKFN1YnRyYWN0IChBbmQgKFBNRDEsIDB4MDcpLCAweDAyKSwgMHgyMCwg RE1EMSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKFNJQjEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIE1ldGhvZCAoX1BTMCwg MCwgTm90U2VyaWFsaXplZCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDAwLCBJU1BFKQogICAgICAgICAgICAgICAgICAgICAgICBT bGVlcCAoMHhDOCkKICAgICAgICAgICAgICAgICAgICAgICAgQW5kIChJQ1I0LCAweDAzLCBJ Q1I0KQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgTWV0aG9k IChfUFMzLCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgT3IgKEFuZCAoSUNSNCwgMHgwMyksIDB4MDQsIElDUjQpCiAg ICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweEM4KQogICAgICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHgwMSwgSVNQRSkKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChHRVRQLCAxLCBTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKEFu ZCAoQXJnMCwgMHgwOSksIDB4MDApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkZGRkZGKQogICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoQW5kIChBcmcwLCAweDA5KSwg MHgwOCkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MDM4NCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAg ICAgIFNoaWZ0UmlnaHQgKEFuZCAoQXJnMCwgMHgwMzAwKSwgMHgwOCwgTG9jYWwwKQogICAg ICAgICAgICAgICAgICAgIFNoaWZ0UmlnaHQgKEFuZCAoQXJnMCwgMHgzMDAwKSwgMHgwQywg TG9jYWwxKQogICAgICAgICAgICAgICAgICAgIFJldHVybiAoTXVsdGlwbHkgKDB4MUUsIFN1 YnRyYWN0ICgweDA5LCBBZGQgKExvY2FsMCwgTG9jYWwxKSkpKQogICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgIE1ldGhvZCAoR0RNQSwgNSwgU2VyaWFsaXplZCkKICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBJZiAoQXJnMCkKICAgICAgICAgICAg ICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChBcmcxLCBBcmc0 KSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDE0KQogICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgICAgICBJZiAoTEFuZCAoQXJnMiwgQXJnNCkpCiAgICAgICAgICAgICAgICAg ICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTXVsdGlwbHkg KFN1YnRyYWN0ICgweDA0LCBBcmczKSwgMHgwRikpCiAgICAgICAgICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTXVsdGlwbHkgKFN1YnRyYWN0 ICgweDA0LCBBcmczKSwgMHgxRSkpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4RkZGRkZGRkYpCiAgICAgICAgICAgICAgICB9CgogICAg ICAgICAgICAgICAgTWV0aG9kIChHRVRULCAxLCBTZXJpYWxpemVkKQogICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgIFJldHVybiAoTXVsdGlwbHkgKDB4MUUsIFN1YnRy YWN0ICgweDA5LCBBZGQgKEFuZCAoU2hpZnRSaWdodCAoQXJnMCwgMHgwMiksIDB4MDMpLCBB bmQgKEFyZzAsIDB4MDMpKSkpKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg IE1ldGhvZCAoR0VURiwgMywgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICBOYW1lIChUTVBGLCAweDAwKQogICAgICAgICAgICAgICAgICAgIElm IChBcmcwKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg T3IgKFRNUEYsIDB4MDEsIFRNUEYpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgICAgICBJZiAoQW5kIChBcmcyLCAweDAyKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChUTVBGLCAweDAyLCBUTVBGKQogICAgICAg ICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKEFyZzEpCiAgICAgICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBPciAoVE1QRiwgMHgwNCwg VE1QRikKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChB bmQgKEFyZzIsIDB4MjApKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICAgICAgT3IgKFRNUEYsIDB4MDgsIFRNUEYpCiAgICAgICAgICAgICAgICAgICAgfQoK ICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChBcmcyLCAweDQwMDApKQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgT3IgKFRNUEYsIDB4MTAsIFRN UEYpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4g KFRNUEYpCiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChTRVRQ LCAzLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IElmIChMR3JlYXRlciAoQXJnMCwgMHhGMCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDgpCiAgICAgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEFyZzEsIDB4MDIpKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJZiAoTEFuZCAoTE5v dCAoTEdyZWF0ZXIgKEFyZzAsIDB4NzgpKSwgQW5kIChBcmcyLCAweDAyKSkpCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg UmV0dXJuICgweDIzMDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgSWYgKExBbmQgKExOb3QgKExHcmVhdGVyIChBcmcwLCAw eEI0KSksIEFuZCAoQXJnMiwgMHgwMSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg ewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgyMTAxKQogICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9Cgog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MTAwMSkKICAgICAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChTRE1B LCAxLCBTZXJpYWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAg IElmIChMTm90IChMR3JlYXRlciAoQXJnMCwgMHgxNCkpKQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDAxKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChBcmcw LCAweDFFKSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDIpCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICBJZiAoTE5vdCAoTEdyZWF0ZXIgKEFyZzAsIDB4MkQpKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMSkKICAgICAgICAg ICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIElmIChMTm90IChMR3JlYXRlciAo QXJnMCwgMHgzQykpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUmV0dXJuICgweDAyKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAg ICAgICAgICAgSWYgKExOb3QgKExHcmVhdGVyIChBcmcwLCAweDVBKSkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAg ICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAg ICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChTRVRULCAzLCBTZXJp YWxpemVkKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChBbmQg KEFyZzEsIDB4MDIpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgSWYgKExBbmQgKExOb3QgKExHcmVhdGVyIChBcmcwLCAweDc4KSksIEFuZCAoQXJn MiwgMHgwMikpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSZXR1cm4gKDB4MEIpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAg ICAgICAgICAgICAgICAgICAgICAgIElmIChMQW5kIChMTm90IChMR3JlYXRlciAoQXJnMCwg MHhCNCkpLCBBbmQgKEFyZzIsIDB4MDEpKSkKICAgICAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweDA5KQogICAgICAgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAg ICBSZXR1cm4gKDB4MDQpCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAg ICAgICAgIERldmljZSAoU0JVUykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgTmFt ZSAoX0FEUiwgMHgwMDFGMDAwMykKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAo U01CUCwgUENJX0NvbmZpZywgMHg0MCwgMHhDMCkKICAgICAgICAgICAgICAgIEZpZWxkIChT TUJQLCBEV29yZEFjYywgTm9Mb2NrLCBQcmVzZXJ2ZSkKICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgLCAgIDIsIAogICAgICAgICAgICAgICAgICAgIEkyQ0Us ICAgMQogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lv biAoU01CSSwgU3lzdGVtSU8sIDB4MTg4MCwgMHgxMCkKICAgICAgICAgICAgICAgIEZpZWxk IChTTUJJLCBCeXRlQWNjLCBOb0xvY2ssIFByZXNlcnZlKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIEhTVFMsICAgOCwgCiAgICAgICAgICAgICAgICAgICAgT2Zm c2V0ICgweDAyKSwgCiAgICAgICAgICAgICAgICAgICAgSENPTiwgICA4LCAKICAgICAgICAg ICAgICAgICAgICBIQ09NLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIFRYU0EsICAgOCwg CiAgICAgICAgICAgICAgICAgICAgREFUMCwgICA4LCAKICAgICAgICAgICAgICAgICAgICBE QVQxLCAgIDgsIAogICAgICAgICAgICAgICAgICAgIEhCRFIsICAgOCwgCiAgICAgICAgICAg ICAgICAgICAgUEVDUiwgICA4LCAKICAgICAgICAgICAgICAgICAgICBSWFNBLCAgIDgsIAog ICAgICAgICAgICAgICAgICAgIFNEQVQsICAgMTYKICAgICAgICAgICAgICAgIH0KCiAgICAg ICAgICAgICAgICBNZXRob2QgKFNTWEIsIDIsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgSWYgKFNUUlQgKCkpCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhCRiwgSFNUUykKICAg ICAgICAgICAgICAgICAgICBTdG9yZSAoQXJnMCwgVFhTQSkKICAgICAgICAgICAgICAgICAg ICBTdG9yZSAoQXJnMSwgSENPTSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg0OCwg SENPTikKICAgICAgICAgICAgICAgICAgICBJZiAoQ09NUCAoKSkKICAgICAgICAgICAgICAg ICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChIU1RTLCAweEZGLCBIU1RTKQog ICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChTUlhCLCAxLCBTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChTVFJUICgpKQogICAgICAg ICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkYp CiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHhC RiwgSFNUUykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoT3IgKEFyZzAsIDB4MDEpLCBU WFNBKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDQ0LCBIQ09OKQogICAgICAgICAg ICAgICAgICAgIElmIChDT01QICgpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAg ICAgICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAgICAg ICAgICAgIFJldHVybiAoREFUMCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHhGRkZGKQogICAgICAgICAgICAgICAgfQoKICAgICAgICAg ICAgICAgIE1ldGhvZCAoU1dSQiwgMywgU2VyaWFsaXplZCkKICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAg ICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEJGLCBIU1RTKQogICAgICAg ICAgICAgICAgICAgIFN0b3JlIChBcmcwLCBUWFNBKQogICAgICAgICAgICAgICAgICAgIFN0 b3JlIChBcmcxLCBIQ09NKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChBcmcyLCBEQVQw KQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDQ4LCBIQ09OKQogICAgICAgICAgICAg ICAgICAgIElmIChDT01QICgpKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAgICAgICAgICAg ICAgIFJldHVybiAoMHgwMSkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAg ICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICBNZXRob2QgKFNSREIsIDIsIFNlcmlhbGl6ZWQpCiAgICAgICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICAgICAgSWYgKFNUUlQgKCkpCiAgICAgICAgICAgICAgICAgICAgewogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4RkZGRikKICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweEJGLCBIU1RTKQogICAgICAgICAg ICAgICAgICAgIFN0b3JlIChPciAoQXJnMCwgMHgwMSksIFRYU0EpCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKDB4 NDgsIEhDT04pCiAgICAgICAgICAgICAgICAgICAgSWYgKENPTVAgKCkpCiAgICAgICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBPciAoSFNUUywgMHhGRiwgSFNU UykKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuIChEQVQwKQogICAgICAgICAgICAg ICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgweEZGRkYpCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChTQkxXLCAzLCBTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIElmIChTVFJUICgpKQog ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmV0dXJuICgw eDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgU3RvcmUg KDB4QkYsIEhTVFMpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzAsIFRYU0EpCiAg ICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAgICAgICAgICAg ICAgU3RvcmUgKFNpemVPZiAoQXJnMiksIERBVDApCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MDAsIExvY2FsMSkKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAo SW5kZXggKEFyZzIsIDB4MDApKSwgSEJEUikKICAgICAgICAgICAgICAgICAgICBTdG9yZSAo MHg1NCwgSENPTikKICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTEdyZWF0ZXIgKFNpemVP ZiAoQXJnMiksIExvY2FsMSkpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBTdG9yZSAoMHgwQSwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAg ICBXaGlsZSAoTEFuZCAoTE5vdCAoQW5kIChIU1RTLCAweDgwKSksIExvY2FsMCkpCiAgICAg ICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVw ICgweDY0KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVjcmVtZW50IChMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICAgICAgICAgIElm IChMTm90IChMb2NhbDApKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBLSUxMICgpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBS ZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgICAgIFN0b3JlICgweDgwLCBIU1RTKQogICAgICAgICAgICAgICAgICAgICAgICBJ bmNyZW1lbnQgKExvY2FsMSkKICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExHcmVhdGVy IChTaXplT2YgKEFyZzIpLCBMb2NhbDEpKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoRGVyZWZPZiAoSW5kZXggKEFyZzIs IExvY2FsMSkpLCBIQkRSKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBJZiAoQ09NUCAoKSkKICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChIU1RTLCAweEZGLCBI U1RTKQogICAgICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAg ICAgICAgICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChTQkxSLCAyLCBTZXJpYWxpemVk KQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE5hbWUgKFRCVUYsIEJ1 ZmZlciAoMHgwMTAwKSB7fSkKICAgICAgICAgICAgICAgICAgICBJZiAoU1RSVCAoKSkKICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgw MCkKICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgIFN0b3JlICgw eEJGLCBIU1RTKQogICAgICAgICAgICAgICAgICAgIFN0b3JlIChPciAoQXJnMCwgMHgwMSks IFRYU0EpCiAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEFyZzEsIEhDT00pCiAgICAgICAg ICAgICAgICAgICAgU3RvcmUgKDB4NTQsIEhDT04pCiAgICAgICAgICAgICAgICAgICAgU3Rv cmUgKDB4MEEsIExvY2FsMCkKICAgICAgICAgICAgICAgICAgICBXaGlsZSAoTEFuZCAoTE5v dCAoQW5kIChIU1RTLCAweDgwKSksIExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHg2NCkKICAgICAgICAgICAgICAgICAg ICAgICAgRGVjcmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgfQoKICAgICAg ICAgICAgICAgICAgICBJZiAoTE5vdCAoTG9jYWwwKSkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIEtJTEwgKCkKICAgICAgICAgICAgICAgICAgICAg ICAgUmV0dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAg ICAgICAgU3RvcmUgKERBVDAsIEluZGV4IChUQlVGLCAweDAwKSkKICAgICAgICAgICAgICAg ICAgICBTdG9yZSAoMHg4MCwgSFNUUykKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHgw MSwgTG9jYWwxKQogICAgICAgICAgICAgICAgICAgIFdoaWxlIChMTGVzcyAoTG9jYWwxLCBE ZXJlZk9mIChJbmRleCAoVEJVRiwgMHgwMCkpKSkKICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDBBLCBMb2NhbDApCiAgICAgICAgICAg ICAgICAgICAgICAgIFdoaWxlIChMQW5kIChMTm90IChBbmQgKEhTVFMsIDB4ODApKSwgTG9j YWwwKSkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2xlZXAgKDB4NjQpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1l bnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAg ICAgICAgICAgSWYgKExOb3QgKExvY2FsMCkpCiAgICAgICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEtJTEwgKCkKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgICAgICAgICAgfQoKICAg ICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKEhCRFIsIEluZGV4IChUQlVGLCBMb2NhbDEp KQogICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg4MCwgSFNUUykKICAgICAgICAg ICAgICAgICAgICAgICAgSW5jcmVtZW50IChMb2NhbDEpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBJZiAoQ09NUCAoKSkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIE9yIChIU1RTLCAweEZGLCBIU1RTKQogICAg ICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKFRCVUYpCiAgICAgICAgICAgICAgICAgICAg fQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDApCiAgICAgICAgICAgICAgICB9 CgogICAgICAgICAgICAgICAgTWV0aG9kIChTVFJULCAwLCBTZXJpYWxpemVkKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDY0LCBMb2NhbDApCiAg ICAgICAgICAgICAgICAgICAgV2hpbGUgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEhTVFMsIDB4NDApKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBEZWNyZW1l bnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwICgweDBBKQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVhbCAoTG9jYWwwLCAweDAwKSkK ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAg ICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgRWxzZQog ICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dG9yZSAoMHgwMCwgTG9jYWwwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAg ICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgICAgICBTdG9yZSAoMHg2NCwgTG9jYWww KQogICAgICAgICAgICAgICAgICAgIFdoaWxlIChMb2NhbDApCiAgICAgICAgICAgICAgICAg ICAgewogICAgICAgICAgICAgICAgICAgICAgICBJZiAoQW5kIChIU1RTLCAweDAxKSkKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgRGVj cmVtZW50IChMb2NhbDApCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTbGVlcCAoMHgw QSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIChMRXF1YWwgKExvY2FsMCwgMHgw MCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgS0lMTCAoKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAg ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIEVsc2UKICAg ICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgUmV0 dXJuICgweDAwKQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAg ICAgfQoKICAgICAgICAgICAgICAgICAgICBSZXR1cm4gKDB4MDEpCiAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgTWV0aG9kIChDT01QLCAwLCBTZXJpYWxpemVkKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDY0LCBMb2NhbDAp CiAgICAgICAgICAgICAgICAgICAgV2hpbGUgKExvY2FsMCkKICAgICAgICAgICAgICAgICAg ICB7CiAgICAgICAgICAgICAgICAgICAgICAgIElmIChBbmQgKEhTVFMsIDB4MDIpKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXR1 cm4gKDB4MDEpCiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICAgICAgRWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICBEZWNyZW1lbnQgKExvY2FsMCkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFNsZWVwICgweDBBKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgSWYgKExFcXVh bCAoTG9jYWwwLCAweDAwKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBLSUxMICgpCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAg ICB9CgogICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAg IH0KCiAgICAgICAgICAgICAgICBNZXRob2QgKEtJTEwsIDAsIFNlcmlhbGl6ZWQpCiAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgT3IgKEhDT04sIDB4MDIsIEhDT04p CiAgICAgICAgICAgICAgICAgICAgT3IgKEhTVFMsIDB4RkYsIEhTVFMpCiAgICAgICAgICAg ICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIERldmljZSAoQVVEMCkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgTmFtZSAoX0FEUiwgMHgwMDFGMDAwNSkKICAgICAg ICAgICAgfQoKICAgICAgICAgICAgRGV2aWNlIChNT0RNKQogICAgICAgICAgICB7CiAgICAg ICAgICAgICAgICBOYW1lIChfQURSLCAweDAwMUYwMDA2KQogICAgICAgICAgICAgICAgTmFt ZSAoX1BSVywgUGFja2FnZSAoMHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAweDA1LCAKICAgICAgICAgICAgICAgICAgICAweDA0CiAgICAgICAgICAgICAg ICB9KQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQoKICAgIFNjb3BlIChcX1BSLkNQ VTApCiAgICB7CiAgICAgICAgTWV0aG9kIChfUFBDLCAwLCBOb3RTZXJpYWxpemVkKQogICAg ICAgIHsKICAgICAgICAgICAgSWYgKFxFQ09OKQogICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICBJZiAoXF9TQi5QQ0kwLkxQQ0IuSF9FQy5QU1RFKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFJldHVybiAoMHgwMCkKICAgICAgICAgICAgICAgIH0KICAg ICAgICAgICAgICAgIEVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICBJZiAoXF9TQi5QQ0kwLkxQQ0IuSF9FQy5CQVQwKQogICAgICAgICAgICAgICAgICAgIHsK ICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgKFNpemVPZiAoU1BTUyksIExvY2FsMCkK ICAgICAgICAgICAgICAgICAgICAgICAgU2hpZnRSaWdodCAoTG9jYWwwLCAweDAxLCBMb2Nh bDEpCiAgICAgICAgICAgICAgICAgICAgICAgIFJldHVybiAoTG9jYWwxKQogICAgICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAg ICAgUmV0dXJuICgweDAwKQogICAgICAgIH0KCiAgICAgICAgTWV0aG9kIChfUENULCAwLCBO b3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAgICAgSWYgKEFuZCAoQ0ZHRCwgMHg0 MDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgw eDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIFJlc291cmNlVGVt cGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJlZ2lzdGVyIChTeXN0ZW1JTywgMHgwOCwgMHgwMCwgMHgwMDAwMDAwMDAwMDAwODAwKQog ICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRl bXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDgwMikK ICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQogICAgICAgICAgICB9 CgogICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCAweDAyKSwgQW5kIChQREMwLCAw eDAxKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAo MHgwMikKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRl bXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAg ICBSZWdpc3RlciAoRkZpeGVkSFcsIDB4MDAsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDAwMCkK ICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VU ZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgUmVnaXN0ZXIgKEZGaXhlZEhXLCAweDAwLCAweDAwLCAweDAwMDAwMDAwMDAwMDAwMDAp CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAg fQoKICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAyKQogICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDEwLCAweDAwLCAweDAw MDAwMDAwMDAwMDAwQjIpCiAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICBS ZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAg ICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAweDAwMDAwMDAwMDAwMDAwQjMp CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0pCiAgICAgICAgfQoKICAgICAgICBN ZXRob2QgKF9QU1MsIDAsIE5vdFNlcmlhbGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBJ ZiAoTEFuZCAoTE5vdCAoQW5kIChDRkdELCAweDQwMDApKSwgTEFuZCAoQW5kIChDRkdELCAw eDAyKSwgQW5kIChQREMwLCAweDAxKSkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAg ICBSZXR1cm4gKE5QU1MpCiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIFJldHVybiAoU1BT UykKICAgICAgICB9CgogICAgICAgIE5hbWUgKFNQU1MsIFBhY2thZ2UgKDB4MDIpCiAgICAg ICAgewogICAgICAgICAgICBQYWNrYWdlICgweDA2KQogICAgICAgICAgICB7CiAgICAgICAg ICAgICAgICAweDAwMDAwNjQwLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAg ICAgICAgICAgICAgMHgwMDAwMDA2NCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDZFLCAK ICAgICAgICAgICAgICAgIDB4MDAwMDAwODMsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAw MAogICAgICAgICAgICB9LCAKCiAgICAgICAgICAgIFBhY2thZ2UgKDB4MDYpCiAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgIDB4MDAwMDAyNTgsIAogICAgICAgICAgICAgICAgMHgw MDAwMDAwMCwgCiAgICAgICAgICAgICAgICAweDAwMDAwMDY0LCAKICAgICAgICAgICAgICAg IDB4MDAwMDAwNkUsIAogICAgICAgICAgICAgICAgMHgwMDAwMDE4MywgCiAgICAgICAgICAg ICAgICAweDAwMDAwMDAxCiAgICAgICAgICAgIH0KICAgICAgICB9KQogICAgICAgIE5hbWUg KE5QU1MsIFBhY2thZ2UgKDB4MDIpCiAgICAgICAgewogICAgICAgICAgICBQYWNrYWdlICgw eDA2KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAwMDAwNjQwLCAKICAgICAg ICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwQSwgCiAg ICAgICAgICAgICAgICAweDAwMDAwMDBBLCAKICAgICAgICAgICAgICAgIDB4MDAwMDEwMjgs IAogICAgICAgICAgICAgICAgMHgwMDAwMTAyOAogICAgICAgICAgICB9LCAKCiAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDYpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIDB4MDAw MDAyNTgsIAogICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgCiAgICAgICAgICAgICAgICAw eDAwMDAwMDBBLCAKICAgICAgICAgICAgICAgIDB4MDAwMDAwMEEsIAogICAgICAgICAgICAg ICAgMHgwMDAwMDYxMiwgCiAgICAgICAgICAgICAgICAweDAwMDAwNjEyCiAgICAgICAgICAg IH0KICAgICAgICB9KQogICAgfQoKICAgIFNjb3BlIChcX1BSLkNQVTApCiAgICB7CiAgICAg ICAgTWV0aG9kIChfQ1NULCAwLCBOb3RTZXJpYWxpemVkKQogICAgICAgIHsKICAgICAgICAg ICAgSWYgKEFuZCAoQ0ZHRCwgMHg0MDAwKSkKICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgUmV0dXJuIChQYWNrYWdlICgweDAyKQogICAgICAgICAgICAgICAgewogICAgICAgICAg ICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAg ICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRl bXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFJlZ2lzdGVyIChGRml4ZWRIVywgMHgwMSwgMHgwMSwgMHgwMDAwMDAwMDAw MDAwODA5KQogICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwM0U4CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAg ICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAoQ0ZHRCwgMHg4 MCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFja2FnZSAoMHgw NSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDA0LCAKICAgICAg ICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAg ICAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAg ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAoRkZp eGVkSFcsIDB4MDAsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDAwMCkKICAgICAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDNFOAog ICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgw eDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmVz b3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4MDgsIDB4MDAsIDB4MDAw MDAwMDAwMDAwMTAxNCkKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAg ICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAg ICAgICAgICAgICAgICAgICAgICAgIDB4MDFGNAogICAgICAgICAgICAgICAgICAgIH0sIAoK ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAg ICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3Rl ciAoU3lzdGVtSU8sIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMTAxNSkKICAgICAgICAg ICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAweDAzLCAKICAg ICAgICAgICAgICAgICAgICAgICAgMHg1NSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4 RkEKICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAgUGFja2Fn ZSAoMHgwNCkKICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAg IFJlc291cmNlVGVtcGxhdGUgKCkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAg ICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXIgKFN5c3RlbUlPLCAweDA4LCAweDAwLCAw eDAwMDAwMDAwMDAwMDEwMTYpCiAgICAgICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAg ICAgICAgICAgICAgICAgICAgMHgwMywgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4Qjks IAogICAgICAgICAgICAgICAgICAgICAgICAweDY0CiAgICAgICAgICAgICAgICAgICAgfQog ICAgICAgICAgICAgICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYgKEFuZCAo Q0ZHRCwgMHg0MCkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIFJldHVybiAoUGFj a2FnZSAoMHgwNCkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAweDAz LCAKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAg ICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAg ICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdp c3RlciAoRkZpeGVkSFcsIDB4MDAsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMDAwMCkKICAgICAg ICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAK ICAgICAgICAgICAgICAgICAgICAgICAgMHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAg IDB4MDNFOAogICAgICAgICAgICAgICAgICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQ YWNrYWdlICgweDA0KQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAg ICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgICAgICB7CiAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4MDgsIDB4 MDAsIDB4MDAwMDAwMDAwMDAwMTAxNCkKICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgog ICAgICAgICAgICAgICAgICAgICAgICAweDAyLCAKICAgICAgICAgICAgICAgICAgICAgICAg MHgwMSwgCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDFGNAogICAgICAgICAgICAgICAg ICAgIH0sIAoKICAgICAgICAgICAgICAgICAgICBQYWNrYWdlICgweDA0KQogICAgICAgICAg ICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgUmVzb3VyY2VUZW1wbGF0ZSAo KQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZWdpc3RlciAoU3lzdGVtSU8sIDB4MDgsIDB4MDAsIDB4MDAwMDAwMDAwMDAwMTAxNSkK ICAgICAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgICAgICAw eDAzLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHg1NSwgCiAgICAgICAgICAgICAgICAg ICAgICAgIDB4RkEKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9KQog ICAgICAgICAgICB9CgogICAgICAgICAgICBJZiAoQW5kIChDRkdELCAweDIwKSkKICAgICAg ICAgICAgewogICAgICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAzKQogICAgICAg ICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIDB4MDIsIAogICAgICAgICAgICAgICAg ICAgIFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAg ICAgICAgICAgICBSZXNvdXJjZVRlbXBsYXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAg IHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyIChGRml4ZWRIVywgMHgw MCwgMHgwMCwgMHgwMDAwMDAwMDAwMDAwMDAwKQogICAgICAgICAgICAgICAgICAgICAgICB9 LCAKCiAgICAgICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAg ICAgICAweDAxLCAKICAgICAgICAgICAgICAgICAgICAgICAgMHgwM0U4CiAgICAgICAgICAg ICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAgIFBhY2thZ2UgKDB4MDQpCiAgICAg ICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBSZXNvdXJjZVRlbXBs YXRlICgpCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFJlZ2lzdGVyIChTeXN0ZW1JTywgMHgwOCwgMHgwMCwgMHgwMDAwMDAwMDAwMDAx MDE0KQogICAgICAgICAgICAgICAgICAgICAgICB9LCAKCiAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDIsIAogICAgICAgICAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAg ICAgICAgICAgICAgMHgwMUY0CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg ICAgfSkKICAgICAgICAgICAgfQoKICAgICAgICAgICAgUmV0dXJuIChQYWNrYWdlICgweDAy KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAweDAxLCAKICAgICAgICAgICAgICAg IFBhY2thZ2UgKDB4MDQpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAg UmVzb3VyY2VUZW1wbGF0ZSAoKQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAg ICAgICAgICAgICAgUmVnaXN0ZXIgKEZGaXhlZEhXLCAweDAwLCAweDAwLCAweDAwMDAwMDAw MDAwMDAwMDApCiAgICAgICAgICAgICAgICAgICAgfSwgCgogICAgICAgICAgICAgICAgICAg IDB4MDEsIAogICAgICAgICAgICAgICAgICAgIDB4MDEsIAogICAgICAgICAgICAgICAgICAg IDB4MDNFOAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9KQogICAgICAgIH0KICAg IH0KCiAgICBTY29wZSAoXCkKICAgIHsKICAgICAgICBOYW1lIChTU0RULCBQYWNrYWdlICgw eDBDKQogICAgICAgIHsKICAgICAgICAgICAgIkNQVTBJU1QgIiwgCiAgICAgICAgICAgIDB4 M0RFRTVBNzAsIAogICAgICAgICAgICAweDAwMDAwMUZGLCAKICAgICAgICAgICAgIkNQVTFJ U1QgIiwgCiAgICAgICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAweEYwMDBGRjUz LCAKICAgICAgICAgICAgIkNQVTBDU1QgIiwgCiAgICAgICAgICAgIDB4M0RFRTU4OTgsIAog ICAgICAgICAgICAweDAwMDAwMUQ4LCAKICAgICAgICAgICAgIkNQVTFDU1QgIiwgCiAgICAg ICAgICAgIDB4MDAwMDAwMDAsIAogICAgICAgICAgICAweEYwMDBGRjUzCiAgICAgICAgfSkK ICAgICAgICBOYW1lIChDRkdELCAweDA2RDY4MUYyKQogICAgICAgIE5hbWUgKFxQREMwLCAw eDgwMDAwMDAwKQogICAgICAgIE5hbWUgKFxQREMxLCAweDgwMDAwMDAwKQogICAgfQoKICAg IFNjb3BlIChcX1BSLkNQVTApCiAgICB7CiAgICAgICAgTmFtZSAoSEkwLCAweDAwKQogICAg ICAgIE5hbWUgKEhDMCwgMHgwMCkKICAgICAgICBNZXRob2QgKF9QREMsIDEsIE5vdFNlcmlh bGl6ZWQpCiAgICAgICAgewogICAgICAgICAgICBDcmVhdGVEV29yZEZpZWxkIChBcmcwLCAw eDA4LCBDQVAwKQogICAgICAgICAgICBTdG9yZSAoQ0FQMCwgUERDMCkKICAgICAgICAgICAg SWYgKExBbmQgKEFuZCAoQ0ZHRCwgMHg0MDAwKSwgTEVxdWFsIChBbmQgKFBEQzAsIDB4MEEp LCAweDBBKSkpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIElmIChBbmQgKENGR0Qs IDB4MDMpKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlv blJlZ2lvbiAoSVNUMCwgU3lzdGVtTWVtb3J5LCBEZXJlZk9mIChJbmRleCAoU1NEVCwgMHgw MSkpLCBEZXJlZk9mIChJbmRleCAoU1NEVCwgMHgwMikpKQogICAgICAgICAgICAgICAgICAg IExvYWQgKElTVDAsIEhJMCkKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBJ ZiAoQW5kIChDRkdELCAweDEwKSkKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAg ICAgICBPcGVyYXRpb25SZWdpb24gKENTVDAsIFN5c3RlbU1lbW9yeSwgRGVyZWZPZiAoSW5k ZXggKFNTRFQsIDB4MDcpKSwgRGVyZWZPZiAoSW5kZXggKFNTRFQsIDB4MDgpKSkKICAgICAg ICAgICAgICAgICAgICBMb2FkIChDU1QwLCBIQzApCiAgICAgICAgICAgICAgICB9CiAgICAg ICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgU2NvcGUgKFxfUFIuQ1BVMSkKICAgIHsK ICAgICAgICBOYW1lIChISTEsIDB4MDApCiAgICAgICAgTmFtZSAoSEMxLCAweDAwKQogICAg ICAgIE1ldGhvZCAoX1BEQywgMSwgTm90U2VyaWFsaXplZCkKICAgICAgICB7CiAgICAgICAg ICAgIENyZWF0ZURXb3JkRmllbGQgKEFyZzAsIDB4MDgsIENBUDEpCiAgICAgICAgICAgIFN0 b3JlIChDQVAxLCBQREMxKQogICAgICAgICAgICBJZiAoTEFuZCAoQW5kIChDRkdELCAweDQw MDApLCBMRXF1YWwgKEFuZCAoUERDMSwgMHgwQSksIDB4MEEpKSkKICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgSWYgKEFuZCAoQ0ZHRCwgMHgwMykpCiAgICAgICAgICAgICAgICB7 CiAgICAgICAgICAgICAgICAgICAgT3BlcmF0aW9uUmVnaW9uIChJU1QxLCBTeXN0ZW1NZW1v cnksIERlcmVmT2YgKEluZGV4IChTU0RULCAweDA0KSksIERlcmVmT2YgKEluZGV4IChTU0RU LCAweDA1KSkpCiAgICAgICAgICAgICAgICAgICAgTG9hZCAoSVNUMSwgSEkxKQogICAgICAg ICAgICAgICAgfQoKICAgICAgICAgICAgICAgIElmIChBbmQgKENGR0QsIDB4MTApKQogICAg ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIE9wZXJhdGlvblJlZ2lvbiAoQ1NU MSwgU3lzdGVtTWVtb3J5LCBEZXJlZk9mIChJbmRleCAoU1NEVCwgMHgwQSkpLCBEZXJlZk9m IChJbmRleCAoU1NEVCwgMHgwQikpKQogICAgICAgICAgICAgICAgICAgIExvYWQgKENTVDEs IEhDMSkKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgSWYg KExFcXVhbCAoQW5kIChQREMxLCAweDBBKSwgMHgwQSkpCiAgICAgICAgICAgIHsKICAgICAg ICAgICAgICAgIElmIChMRXF1YWwgKFdUSFQsIDB4MDEpKQogICAgICAgICAgICAgICAgewog ICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAwLCBXVEhUKQogICAgICAgICAgICAgICAg ICAgIFN0b3JlICgweDMzLCBTTUlGKQogICAgICAgICAgICAgICAgICAgIFN0b3JlICgweDAw LCBUUlAwKQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAg fQp9Cgo= --------------030000070609080807030306-- From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 14:21:54 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C866B16A49E for ; Tue, 3 Oct 2006 14:21:54 +0000 (UTC) (envelope-from stapleton.41@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.170]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0005E43D45 for ; Tue, 3 Oct 2006 14:21:40 +0000 (GMT) (envelope-from stapleton.41@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so584538uge for ; Tue, 03 Oct 2006 07:21:40 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=p5c0eDQVjgI9/n+2VrKxxAzsMV2ODRHOxnSgIWd4eIaCKxE98cOL7bw67pS8DcNqYTqJSdkNJFVV5Wk4uSHvFXqrUVfM8N6DI27k/eiuJz+3LfwHbohhk4epHAOyQ/HPsinDOV7I86Q819hfQDwhe23k1Jxs65Vz9o+rifqqR1A= Received: by 10.67.93.7 with SMTP id v7mr3816840ugl; Tue, 03 Oct 2006 07:21:40 -0700 (PDT) Received: by 10.67.86.4 with HTTP; Tue, 3 Oct 2006 07:21:39 -0700 (PDT) Message-ID: <80f4f2b20610030721j41aa432cw93bc219279619028@mail.gmail.com> Date: Tue, 3 Oct 2006 10:21:39 -0400 From: "Jim Stapleton" To: "M. Warner Losh" , freebsd-mobile@freebsd.org In-Reply-To: <20061003.002812.-1733292693.imp@bsdimp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> <20061003.002812.-1733292693.imp@bsdimp.com> Cc: Subject: Re: pccard slot not working properly X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 14:21:55 -0000 I appologize. The cards are a Linksys WPC54G v3, a SMC wireless card (can't remember the model, it's a friends and not an Atheros model), and another of her cards, a D-Link wireless (tulip), and two tried at the store - one Atheros based SMC (listed as good), and one Atheros based D-Link (511T I think?) listed as good, none would work. Anyway, I'm in a pinch for time, and am trying Linux on this thing, since it'll use the oneboard wireless (dang you intel and your 3945! You are making me suffer the defilement of all that is good!). Regardless, the PCCARD/PCMCIA chip is a ToPIC 100 (Toshiba), which I found after sending that mail, and also found that it causes trouble with FreeBSD. I want to get FreeBSD working, so I'll post what you listed, but it won't be until I'm back from my trip (which will be in about 2.5 weeks). Thanks for the help. I hope to get FreeBSD working on this thing in all ways soon, so I don't have to revert to the defilement again... Thanks, -Jim Stapleton On 10/3/06, M. Warner Losh wrote: > I hate to sound like Bill Paul, but can you provide a little more > information? Like what card is this? Cardbus or PC Card? > > I'd boot -v and also turn on the following tunables: > hw.cbb.debug=1 > hw.pccard.cis_debug=1 > hw.pccard.debug=1 > hw.cardbus.cis_debug=1 > hw.cardbus.debug=1 > in /boot/loader.conf and post the dmesg here (or a pointer to it), in > addition to cc'ing me. My wife is expecting any day now, so I might > suddenly disappear for a couple of weeks. There are others here that > can help you out, however, if you post this basic information. > > Warner > > In message: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> > "Jim Stapleton" writes: > : I have a pccard wireless NIC, and I know it comes up and runs in > : Knoppix, but in FreeBSD, it is troubled. It is reported to work on one > : website, using NDIS, but I don't get far enough to make use of it. > : After some testing, I suspect it's the notebook not recognizing the > : pccard slot. > : > : - The cards diagnostic light blinks green and then goes off when inserted > : - The card information does not appear in dmesg after insertion > : - The card appears to work fine in knoppix > : - I'll have a friend with some spare pccards come over tomorrow - her > : cards work on her BSD box just fine, just to verify if it's card or > : card controller. > : > : My question, the system is a Toshiba Satellite A105-4001. It is an > : i850/ICH7 based machine. What's the best way to see what the pccard > : device is, and figure out how to get it working? > : > : My main test that leaves me suspicious, I booted the machine with the > : card and ran the following commands: > : $ ls /dev > IL-dev > : $ dmesg > IL-dmesg > : $ pciconf > IL-pciconf > : > : Next, I rebooted it without the card: > : $ ls /dev > I-dev > : $ dmesg > I-dmesg > : $ pciconf > I-pciconf > : > : Next I diff'ed the IL files with their matching I files, the only > : difference that popped up with dmesg with the 'Timecounter "TSC" > : frequency [...]. entry, which to my knowledge, should not be related > : to the problem at all. > : > : Any suggestions? > : > : Thanks, > : -Jim Stapleton > : _______________________________________________ > : freebsd-mobile@freebsd.org mailing list > : http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > : To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" > : > From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 17:33:09 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E1BAB16A416; Tue, 3 Oct 2006 17:33:09 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id EAA2343D45; Tue, 3 Oct 2006 17:33:08 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id k93HWtOa027369; Tue, 3 Oct 2006 13:32:59 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Nate Lawson Date: Tue, 3 Oct 2006 13:00:48 -0400 User-Agent: KMail/1.9.1 References: <20060921000628.GA1832@shorty.sorbonet.org> <200610021424.18562.jhb@freebsd.org> <45218C97.5050802@root.org> In-Reply-To: <45218C97.5050802@root.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200610031300.49509.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 03 Oct 2006 13:33:00 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/1987/Tue Oct 3 11:45:09 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: freebsd-acpi@freebsd.org, Andrea Bittau , freebsd-mobile@freebsd.org Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 17:33:10 -0000 On Monday 02 October 2006 18:03, Nate Lawson wrote: > John Baldwin wrote: > > On Wednesday 20 September 2006 20:06, Andrea Bittau wrote: > >> This is a half working hack for getting suspend/resume to "work" on an IBM > >> > >> ... > >> > >> 2) apic. FreeBSD reconfigures the io apic upon resume, but not the local > > apic. > >> The patch attached to this mail fixes this. Indeed, it almost does so in > > the > >> "proper" way and not so much of a hack =D. > > > > I actually have made a full patch for APIC I think (thanks for your work as it > > reminded me about needing to resume lapic). You can find it at > > http://www.FreeBSD.org/~jhb/patches/apic_resume.patch It changes the x86 > > interrupt code to resume interrupt controllers, not interrupt sources. It > > then uses this to make sure the 8259A PICs are properly reset on resume as > > well as resuming the local APIC. Can you test this w/o SMP and make sure it > > works? > > Great to see this work going on. I just got a Core Duo laptop so this > would be great to see fixed. > > I'm kinda disappointed you're not using newbus for your device methods, > but I think I mentioned that before. I'll do that once we have multi-pass device probing, but for now we need to make sure interrupts are working before we start resuming other devices. > On the reset code, shouldn't there be some delays between writes to the > registers? > > + outb(IO_ICU1, ICW1_RESET | ICW1_IC4); > + outb(IO_ICU1 + ICU_IMR_OFFSET, IDT_IO_INTS); > [delay?] > + outb(IO_ICU1 + ICU_IMR_OFFSET, 1 << 2); > [delay?] > + outb(IO_ICU1 + ICU_IMR_OFFSET, ICW4_8086); > [delay?] > + outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff); > + outb(IO_ICU1, OCW3_SEL | OCW3_RR); > + > + outb(IO_ICU2, ICW1_RESET | ICW1_IC4); > + outb(IO_ICU2 + ICU_IMR_OFFSET, IDT_IO_INTS + 8); > [delay?] > + outb(IO_ICU2 + ICU_IMR_OFFSET, 2); > [delay?] > + outb(IO_ICU2 + ICU_IMR_OFFSET, ICW4_8086); > [delay?] > + outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff); > + outb(IO_ICU2, OCW3_SEL | OCW3_RR); Note that I just ripped this code out from amd64/amd64/machdep.c where there are no delays. -- John Baldwin From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 17:33:14 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F11A716A4EA; Tue, 3 Oct 2006 17:33:14 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4234E43D45; Tue, 3 Oct 2006 17:33:14 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id k93HWtOb027369; Tue, 3 Oct 2006 13:33:02 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Andrea Bittau Date: Tue, 3 Oct 2006 13:02:34 -0400 User-Agent: KMail/1.9.1 References: <20060921000628.GA1832@shorty.sorbonet.org> <200610021424.18562.jhb@freebsd.org> <20061002223055.GA8217@shorty.sorbonet.org> In-Reply-To: <20061002223055.GA8217@shorty.sorbonet.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200610031302.34835.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Tue, 03 Oct 2006 13:33:03 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/1987/Tue Oct 3 11:45:09 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: freebsd-acpi@freebsd.org, freebsd-mobile@freebsd.org Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 17:33:15 -0000 On Monday 02 October 2006 18:30, Andrea Bittau wrote: > > resuming the darn things. Do you know what mode the CPUs come back up in? > > It looks like we need to resend startup IPIs to them from your patch. > > Yea it all comes back in real mode. I've tried using the standard freebsd "boot > code" for waking up the second CPU. There were some issues with the BSP not > using PTD_Idle. I don't know enough about computers and freebsd to know what > exactly that means. Also, when the second CPU came back, if it entered the > scheduler, it would die, so I had to leave it in the idle loop by setting the > cpu_hlt mask. > > Anyway, the correct way to do it I think is to generalize the save state & > wakeup code used by the BSP in acpi_sleep_machdep(). That is, the second core > should save its state and wake up the same way as the BSP does. It should not > use the "come to life mechanism" used at boot-time. The reason is that the > memory is setup properly and the second core should have saved registers which > make sense so less "initialization and setup" needs to be performed. No, the CPUs are going to come back into real mode, so we will need to bootstrap them back into the kernel, etc. Once you've done that you can make sure of stoppcbs[] (assuming you use stop_cpus to shut them down) to restore enough state to get them back into the threads they were in when the suspend happened. -- John Baldwin From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 18:54:41 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0E62F16A403 for ; Tue, 3 Oct 2006 18:54:41 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1smout1.broadpark.no (osl1smout1.broadpark.no [80.202.4.58]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8E91D43D4C for ; Tue, 3 Oct 2006 18:54:40 +0000 (GMT) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1sminn1.broadpark.no ([80.202.4.59]) by osl1smout1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with ESMTP id <0J6K008EHPV3WP20@osl1smout1.broadpark.no> for freebsd-mobile@freebsd.org; Tue, 03 Oct 2006 20:54:39 +0200 (CEST) Received: from kg-work.kg4.no ([80.203.21.224]) by osl1sminn1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with SMTP id <0J6K00IVBPV2S2F3@osl1sminn1.broadpark.no> for freebsd-mobile@freebsd.org; Tue, 03 Oct 2006 20:54:39 +0200 (CEST) Date: Tue, 03 Oct 2006 20:54:38 +0200 From: Torfinn Ingolfsen X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH In-reply-to: <20061003082804.GG4945@poupinou.org> To: freebsd-mobile@freebsd.org Message-id: <20061003205438.26110696.torfinn.ingolfsen@broadpark.no> MIME-version: 1.0 X-Mailer: Sylpheed version 2.2.9 (GTK+ 2.8.20; i386-portbld-freebsd5.5) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> <20061002124116.GF4945@poupinou.org> <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> <20061003082804.GG4945@poupinou.org> Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 18:54:41 -0000 On Tue, 03 Oct 2006 10:28:04 +0200 Bruno Ducrot wrote: > Ok. Before tweaking some of the _INI, could you please post a dump of > the pci regs for your network card? I think this should be something > like that: > pciconf -r pci4:0:0 0 I tried that, and got: Script started on Tue Oct 3 20:38:44 2006 root@kg-home# pciconf -r pci4:0:0 0 169d14e4 root@kg-home# ^D Script done on Tue Oct 3 20:39:04 2006 I s that what you want? I can get more dumps by adding a number after the last '0', example: pciconf -r pci4:0:0 0:10 but I don't know how if this is the right way to do it? If it is, how many bytes are you interested in? Anyway, I updated the web page at http://tingox.googlepages.com/aceraspireas5672andfreebsd with the lspci -vvv output for bge0. HTH -- Torfinn From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 21:03:46 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6238F16A412; Tue, 3 Oct 2006 21:03:46 +0000 (UTC) (envelope-from nate@root.org) Received: from ylpvm29.prodigy.net (ylpvm29-ext.prodigy.net [207.115.57.60]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7765E43D7E; Tue, 3 Oct 2006 21:03:36 +0000 (GMT) (envelope-from nate@root.org) X-ORBL: [67.119.74.222] Received: from [10.0.0.44] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222]) by ylpvm29.prodigy.net (8.13.7 out spool5000 dk/8.13.7) with ESMTP id k93L2WOB022442; Tue, 3 Oct 2006 17:02:32 -0400 Message-ID: <4522D023.9090501@root.org> Date: Tue, 03 Oct 2006 14:03:31 -0700 From: Nate Lawson User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) MIME-Version: 1.0 To: John Baldwin References: <20060921000628.GA1832@shorty.sorbonet.org> <200610021424.18562.jhb@freebsd.org> <20061002223055.GA8217@shorty.sorbonet.org> <200610031302.34835.jhb@freebsd.org> In-Reply-To: <200610031302.34835.jhb@freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: freebsd-acpi@freebsd.org, Andrea Bittau , freebsd-mobile@freebsd.org Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 21:03:46 -0000 John Baldwin wrote: > On Monday 02 October 2006 18:30, Andrea Bittau wrote: >>> resuming the darn things. Do you know what mode the CPUs come back up in? >>> It looks like we need to resend startup IPIs to them from your patch. >> Yea it all comes back in real mode. I've tried using the standard > freebsd "boot >> code" for waking up the second CPU. There were some issues with the BSP not >> using PTD_Idle. I don't know enough about computers and freebsd to know > what >> exactly that means. Also, when the second CPU came back, if it entered the >> scheduler, it would die, so I had to leave it in the idle loop by setting > the >> cpu_hlt mask. >> >> Anyway, the correct way to do it I think is to generalize the save state & >> wakeup code used by the BSP in acpi_sleep_machdep(). That is, the second > core >> should save its state and wake up the same way as the BSP does. It should > not >> use the "come to life mechanism" used at boot-time. The reason is that the >> memory is setup properly and the second core should have saved registers > which >> make sense so less "initialization and setup" needs to be performed. > > No, the CPUs are going to come back into real mode, so we will need to > bootstrap them back into the kernel, etc. Once you've done that you can make > sure of stoppcbs[] (assuming you use stop_cpus to shut them down) to restore > enough state to get them back into the threads they were in when the suspend > happened. > I agree. The standard switch to protected mode, paging, etc. needs to be performed and then resume from the saved register context. -- Nate From owner-freebsd-mobile@FreeBSD.ORG Tue Oct 3 21:34:13 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 88B4F16A412; Tue, 3 Oct 2006 21:34:13 +0000 (UTC) (envelope-from a.bittau@cs.ucl.ac.uk) Received: from darkircop.org (tapir.cs.ucl.ac.uk [128.16.66.93]) by mx1.FreeBSD.org (Postfix) with ESMTP id EEB4343D69; Tue, 3 Oct 2006 21:34:12 +0000 (GMT) (envelope-from a.bittau@cs.ucl.ac.uk) Received: by darkircop.org (Postfix, from userid 0) id D14985C5CC2; Tue, 3 Oct 2006 22:33:56 +0100 (BST) Date: Tue, 3 Oct 2006 22:33:56 +0100 From: Andrea Bittau To: Nate Lawson Message-ID: <20061003213356.GA6149@shorty.sorbonet.org> References: <20060921000628.GA1832@shorty.sorbonet.org> <200610021424.18562.jhb@freebsd.org> <20061002223055.GA8217@shorty.sorbonet.org> <200610031302.34835.jhb@freebsd.org> <4522D023.9090501@root.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4522D023.9090501@root.org> User-Agent: Mutt/1.4.2.1i X-Echelon: Bush Bomb War KGB Cc: freebsd-acpi@freebsd.org, freebsd-mobile@freebsd.org Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Oct 2006 21:34:13 -0000 On Tue, Oct 03, 2006 at 02:03:31PM -0700, Nate Lawson wrote: > I agree. The standard switch to protected mode, paging, etc. needs to > be performed and then resume from the saved register context. I guess my point was that there are two pieces of code that do that: 1) mpboot.s bootMP() used by system bootstrap and what my current patch uses. I think this is what you guys are suggesting to use, and I'm doing it anyway in my patch, but I just want to be the devil's advocate =D. 2) acpi_wakecode.S wakeup_16() used by the BSP to wake itself up. This is what I was suggesting should be generalized and used by the other cores too. The difference of this code as opposed to #1 is that #2 can "cheat". That is, we can create the code for #2 on the fly and do stuff like mov old_eax,eax etc and don't have to be smart about figuring out where the CPU should land and how it should initialize itself [as in the case of #1]. I'm just wondering whether we should do something about the assembly "code duplication" in #1 and #2. I understand they serve a different purpose, but arguably, they do the same thing: real-mode -> jump in kernel. What is different is what happens once in kernel mode: boot or resume? That difference could be coded in the C part of the kernel leaving a single asm entry point both for bootstrap and wakeup code. Am I making any sense? =D From owner-freebsd-mobile@FreeBSD.ORG Wed Oct 4 09:24:34 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2716D16A40F for ; Wed, 4 Oct 2006 09:24:34 +0000 (UTC) (envelope-from amarendra.godbole@gmail.com) Received: from py-out-1112.google.com (py-out-1112.google.com [64.233.166.179]) by mx1.FreeBSD.org (Postfix) with ESMTP id B591E43D46 for ; Wed, 4 Oct 2006 09:24:33 +0000 (GMT) (envelope-from amarendra.godbole@gmail.com) Received: by py-out-1112.google.com with SMTP id o67so179658pye for ; Wed, 04 Oct 2006 02:24:33 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=bS0/CatDJOcbe4lD/jGR4Z1FuWmz+htZV1qWHbwufpS9TxCv6Rs2I3ufCBNAy97Y6y0nlhB96Tg2dSE01VPP3RbIwNMcORItc2QMFq/SE69il/nhyrwE4vIqu/o6ol9i7ExENslmND8AA66fgyTawErNDc08txJnG8A/s+dWoL0= Received: by 10.35.37.13 with SMTP id p13mr742282pyj; Wed, 04 Oct 2006 02:24:32 -0700 (PDT) Received: by 10.35.111.4 with HTTP; Wed, 4 Oct 2006 02:24:32 -0700 (PDT) Message-ID: <294439d20610040224o52504376mebcde645729d1ba3@mail.gmail.com> Date: Wed, 4 Oct 2006 14:54:32 +0530 From: "Amarendra Godbole" To: freebsd-mobile@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: FreeBSD 6* support for Sierra Wireless AirCard 555 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Oct 2006 09:24:34 -0000 Hi, I plan to switch to FreeBSD 6.1-RELEASE on my Dell Latitude D400 laptop, which has a Sierra Wireless AirCard 555 installed (presently it works fine under Debian GNU/Linux sarge). Has someone got this card working under FreeBSD? Searching on the net gave me some pointers, such as this: http://www.monkey.org/freebsd/archive/freebsd-mobile/200502/msg00130.html and this: http://lists.freebsd.org/pipermail/freebsd-mobile/2005-December/007538.html), but I am confused. I'd appreciate if someone can help me getting it working on FreeBSD. Thanks in advance! Best, Amarendra From owner-freebsd-mobile@FreeBSD.ORG Wed Oct 4 12:02:45 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 896D316A403 for ; Wed, 4 Oct 2006 12:02:45 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2A69E43D49 for ; Wed, 4 Oct 2006 12:02:45 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1GV5SV-00089y-00; Wed, 04 Oct 2006 14:02:43 +0200 Date: Wed, 4 Oct 2006 14:02:43 +0200 To: Torfinn Ingolfsen Message-ID: <20061004120243.GI4945@poupinou.org> References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> <20061002124116.GF4945@poupinou.org> <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> <20061003082804.GG4945@poupinou.org> <20061003205438.26110696.torfinn.ingolfsen@broadpark.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061003205438.26110696.torfinn.ingolfsen@broadpark.no> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-mobile@freebsd.org Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Oct 2006 12:02:45 -0000 On Tue, Oct 03, 2006 at 08:54:38PM +0200, Torfinn Ingolfsen wrote: > On Tue, 03 Oct 2006 10:28:04 +0200 > Bruno Ducrot wrote: > > > Ok. Before tweaking some of the _INI, could you please post a dump of > > the pci regs for your network card? I think this should be something > > like that: > > pciconf -r pci4:0:0 0 > > I tried that, and got: > Script started on Tue Oct 3 20:38:44 2006 > root@kg-home# pciconf -r pci4:0:0 0 > 169d14e4 > root@kg-home# ^D > Script done on Tue Oct 3 20:39:04 2006 > > I s that what you want? > > I can get more dumps by adding a number after the last '0', example: > pciconf -r pci4:0:0 0:10 > > but I don't know how if this is the right way to do it? If it is, how > many bytes are you interested in? I would like to see the first 64 bytes, both with and without acpi. > > Anyway, I updated the web page at > http://tingox.googlepages.com/aceraspireas5672andfreebsd > > with the lspci -vvv output for bge0. You mean under FreeBSD? If so you can use lspci -x instead of pciconf. Cheers, -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-mobile@FreeBSD.ORG Wed Oct 4 13:23:13 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1854216A47B; Wed, 4 Oct 2006 13:23:13 +0000 (UTC) (envelope-from KareemSinghal@arcor-ip.net) Received: from arcor-ip.net (dslb-088-073-196-004.pools.arcor-ip.net [88.73.196.4]) by mx1.FreeBSD.org (Postfix) with SMTP id 5523A43D5A; Wed, 4 Oct 2006 13:23:12 +0000 (GMT) (envelope-from KareemSinghal@arcor-ip.net) Message-Id: <35060230403.02960769@arcor-ip.net> From: "Wilma Byrne" To: , Date: Wed, 04 Oct 2006 15:23:11 +0100 MIME-Version: 1.0 Cc: Subject: full corneliaa X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Oct 2006 13:23:13 -0000 Energy Prices are near all time low, This is the best time to lock in a quality energy stock Introducing : WBRS Exchange Pinksheets Price: 0.05 3 Day Estimated : .50 ( +1000%) WILD BRUSH MAKES A MOVE! Wild Brush Acquires Additional Powder River Oil & Gas Lease. Who is Wild Brush? Wild Brush Energy is a diversified energy company whose primary goal is to identify and develop Oil & Coalbed Methane sites within the State of Wyoming. In addition, Wild Brush Energy continues to evaluate clean air alternative energy producing technologies such as Wind Power. Wild Brush trades in the U.S. under the symbol "WBRS." ADD THIS ENERGY STOCK TO YOUR LIST AND WATCH IT TRADE CLOSELY ON WEDNESDAY OCTOBER 4! Get In NOW !!! When the cows come home. What's good for the goose is good for the gander. Sweet as honey. There may be snow on the roof, but there's fire in the belly. Watch and wait. Throw pearls before swine. Sweet as honey. To live from hand to mouth. She's the apple of my eye. A stick in the mud. Read the tea leaves. From owner-freebsd-mobile@FreeBSD.ORG Wed Oct 4 18:56:13 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7FCE916A412; Wed, 4 Oct 2006 18:56:13 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from server.baldwin.cx (66-23-211-162.clients.speedfactory.net [66.23.211.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id E82F543D68; Wed, 4 Oct 2006 18:56:01 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from localhost.corp.yahoo.com (john@localhost [127.0.0.1]) (authenticated bits=0) by server.baldwin.cx (8.13.6/8.13.6) with ESMTP id k94Itg8o036809; Wed, 4 Oct 2006 14:55:45 -0400 (EDT) (envelope-from jhb@freebsd.org) From: John Baldwin To: Andrea Bittau Date: Wed, 4 Oct 2006 13:41:33 -0400 User-Agent: KMail/1.9.1 References: <20060921000628.GA1832@shorty.sorbonet.org> <4522D023.9090501@root.org> <20061003213356.GA6149@shorty.sorbonet.org> In-Reply-To: <20061003213356.GA6149@shorty.sorbonet.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200610041341.34231.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH authentication, not delayed by milter-greylist-2.0.2 (server.baldwin.cx [127.0.0.1]); Wed, 04 Oct 2006 14:55:46 -0400 (EDT) X-Virus-Scanned: ClamAV 0.88.3/1997/Wed Oct 4 11:20:43 2006 on server.baldwin.cx X-Virus-Status: Clean X-Spam-Status: No, score=-4.4 required=4.2 tests=ALL_TRUSTED,AWL,BAYES_00 autolearn=ham version=3.1.3 X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on server.baldwin.cx Cc: freebsd-acpi@freebsd.org, freebsd-mobile@freebsd.org, Nate Lawson Subject: Re: hack for getting suspend/resume to half work on an IBM Thinkpad x60s [SMP] X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Oct 2006 18:56:13 -0000 On Tuesday 03 October 2006 17:33, Andrea Bittau wrote: > On Tue, Oct 03, 2006 at 02:03:31PM -0700, Nate Lawson wrote: > > I agree. The standard switch to protected mode, paging, etc. needs to > > be performed and then resume from the saved register context. > > I guess my point was that there are two pieces of code that do that: > 1) mpboot.s bootMP() used by system bootstrap and what my current patch uses. I > think this is what you guys are suggesting to use, and I'm doing it anyway in > my patch, but I just want to be the devil's advocate =D. > > 2) acpi_wakecode.S wakeup_16() used by the BSP to wake itself up. This is what > I was suggesting should be generalized and used by the other cores too. The > difference of this code as opposed to #1 is that #2 can "cheat". That is, we > can create the code for #2 on the fly and do stuff like mov old_eax,eax etc > and don't have to be smart about figuring out where the CPU should land and > how it should initialize itself [as in the case of #1]. > > I'm just wondering whether we should do something about the assembly "code > duplication" in #1 and #2. I understand they serve a different purpose, but > arguably, they do the same thing: real-mode -> jump in kernel. What is > different is what happens once in kernel mode: boot or resume? That difference > could be coded in the C part of the kernel leaving a single asm entry point both > for bootstrap and wakeup code. Am I making any sense? =D 1) is already tailored to work with starting up an extra AP based on the STARTUP IPI, so I think we should reuse it for starting up the cores. I need to think about it more though. First we need to get APIC with UP working though. -- John Baldwin From owner-freebsd-mobile@FreeBSD.ORG Wed Oct 4 23:38:44 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C44A216A415 for ; Wed, 4 Oct 2006 23:38:44 +0000 (UTC) (envelope-from magawake@gmail.com) Received: from wx-out-0506.google.com (wx-out-0506.google.com [66.249.82.231]) by mx1.FreeBSD.org (Postfix) with ESMTP id 51F0343D58 for ; Wed, 4 Oct 2006 23:38:43 +0000 (GMT) (envelope-from magawake@gmail.com) Received: by wx-out-0506.google.com with SMTP id i27so327672wxd for ; Wed, 04 Oct 2006 16:38:42 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type; b=D8c2+pB8o3JTU8f/JqYlg/QUmwiOYNxaO1ZKYXlBk+IwK8FPrbcK+yqP1sc6cQzKRNKYZMTb3hVu6qnAvcPvz2MEDo+O2Bg+wHR2rCjaoHUpFuFFVflmc3U90A1AKbQRHzpB3Z78OIX8e+J7CnRPoNSmgSDVIxhwZxaRmtoW10E= Received: by 10.90.81.14 with SMTP id e14mr647821agb; Wed, 04 Oct 2006 16:38:42 -0700 (PDT) Received: by 10.90.72.11 with HTTP; Wed, 4 Oct 2006 16:38:42 -0700 (PDT) Message-ID: <1cbd6f830610041638w2837322euecfb65fe8581d75a@mail.gmail.com> Date: Wed, 4 Oct 2006 19:38:42 -0400 From: "Mag Gam" To: freebsd-mobile@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Acer 5002 WLMi X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Oct 2006 23:38:44 -0000 Anyone here running FreeBSD on Acer 5002? Just curious how the HW support for it. Trying to get wireless to work on Linux, and its dreadful! tia From owner-freebsd-mobile@FreeBSD.ORG Thu Oct 5 15:06:49 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0273A16A403 for ; Thu, 5 Oct 2006 15:06:49 +0000 (UTC) (envelope-from stapleton.41@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.174]) by mx1.FreeBSD.org (Postfix) with ESMTP id F344E43D5C for ; Thu, 5 Oct 2006 15:06:41 +0000 (GMT) (envelope-from stapleton.41@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so194998uge for ; Thu, 05 Oct 2006 08:06:40 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=k+iP3vBqFTdhgFaFUSg2tgXqxdXONI8vhcVTIeqqVSibB9B60TZwfA/oWjq9IKwcYb6vqphqobXef8Jd48YFHqNgDdpBF/wNUcewSsth7VMmTkjuSYx9BNauWNNjBLdtWSyFe5eFVZ0zhPtAvFV3YIcw4zNsdnxdyt78Ugk7bGs= Received: by 10.66.221.6 with SMTP id t6mr2046706ugg; Thu, 05 Oct 2006 08:06:40 -0700 (PDT) Received: by 10.67.86.4 with HTTP; Thu, 5 Oct 2006 08:06:39 -0700 (PDT) Message-ID: <80f4f2b20610050806r7183aba4r5fed4cd372568278@mail.gmail.com> Date: Thu, 5 Oct 2006 11:06:39 -0400 From: "Jim Stapleton" To: "M. Warner Losh" , freebsd-mobile@freebsd.org In-Reply-To: <20061003.002812.-1733292693.imp@bsdimp.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> <20061003.002812.-1733292693.imp@bsdimp.com> Cc: Subject: Re: pccard slot not working properly X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Oct 2006 15:06:49 -0000 Alright, attached at the end is the (extremely large) results of your request. As I said in a previous reply, I didn't know what was the required information. Anyway, I'm getting this sooner than later, as the Intel drivers on Gentoo were nonfunctional, and I find, when things are broken, I'd rather be in BSD than Linux. Thanks, -Jim Stapleton dmesg output ioapic0: intpin 17 -> PCI IRQ 17 (level, low) ioapic0: intpin 18 -> PCI IRQ 18 (level, low) ioapic0: intpin 19 -> PCI IRQ 19 (level, low) ioapic0: intpin 20 -> PCI IRQ 20 (level, low) ioapic0: intpin 21 -> PCI IRQ 21 (level, low) ioapic0: intpin 22 -> PCI IRQ 22 (level, low) ioapic0: intpin 23 -> PCI IRQ 23 (level, low) MADT: Interrupt override: source 0, irq 2 ioapic0: Routing IRQ 0 -> intpin 2 ioapic0: intpin 2 trigger: edge ioapic0: intpin 2 polarity: high MADT: Interrupt override: source 9, irq 9 ioapic0: intpin 9 trigger: level ioapic0: intpin 9 polarity: high lapic0: Routing NMI -> LINT1 lapic0: LINT1 trigger: edge lapic0: LINT1 polarity: high MADT: Ignoring local NMI routed to ACPI CPU 1 ioapic0 irqs 0-23 on motherboard cpu0 BSP: ID: 0x00000000 VER: 0x00050014 LDR: 0x00000000 DFR: 0xffffffff lint0: 0x00010700 lint1: 0x00000400 TPR: 0x00000000 SVR: 0x000001ff timer: 0x000100ef therm: 0x00000200 err: 0x00010000 pcm: 0x00010000 ath_rate: version 1.2 wlan: <802.11 Link Layer> kbd: new array size 4 kbd1 at kbdmux0 mem: Pentium Pro MTRR support enabled null: io: random: ath_hal: 0.9.17.2 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413, RF5413) npx0: INT 16 interface acpi0: on motherboard ioapic0: routing intpin 9 (ISA IRQ 9) to vector 48 acpi0: [MPSAFE] pci_open(1): mode 1 addr port (0x0cf8) is 0x8000fa20 pci_open(1a): mode1res=0x80000000 (0x80000000) pci_cfgcheck: device 0 [class=060000] [hdr=00] is there (id=27a08086) pcibios: BIOS version 2.10 Found $PIR table, 15 entries at 0xc00fded0 PCI-Only Interrupts: none Location Bus Device Pin Link IRQs embedded 0 7 A 0x60 6 10 11 embedded 0 1 A 0x60 6 10 11 slot 6 1 0 A 0x60 6 10 11 slot 6 1 0 B 0x61 6 10 11 slot 6 1 0 C 0x62 6 10 11 slot 6 1 0 D 0x63 6 10 11 embedded 0 2 A 0x60 6 10 11 embedded 0 27 A 0x6a 6 10 11 embedded 0 28 A 0x61 6 10 11 embedded 0 28 B 0x60 6 10 11 embedded 0 28 C 0x62 6 10 11 embedded 0 28 D 0x63 6 10 11 slot 7 2 0 A 0x60 6 10 11 slot 7 2 0 B 0x61 6 10 11 slot 7 2 0 C 0x62 6 10 11 slot 7 2 0 D 0x63 6 10 11 slot 8 3 0 A 0x61 6 10 11 slot 8 3 0 B 0x62 6 10 11 slot 8 3 0 C 0x63 6 10 11 slot 8 3 0 D 0x60 6 10 11 slot 9 5 0 A 0x62 6 10 11 slot 9 5 0 B 0x63 6 10 11 slot 9 5 0 C 0x60 6 10 11 slot 9 5 0 D 0x61 6 10 11 embedded 0 29 A 0x6b 6 10 11 embedded 0 29 B 0x63 6 10 11 embedded 0 29 C 0x62 6 10 11 embedded 0 29 D 0x60 6 10 11 embedded 0 30 A 0x6a 6 10 11 embedded 0 30 B 0x68 6 10 11 embedded 7 8 A 0x68 6 10 11 embedded 7 6 A 0x62 6 10 11 embedded 7 6 B 0x61 6 10 11 embedded 7 6 C 0x60 6 10 11 embedded 0 31 A 0x62 6 10 11 embedded 0 31 B 0x63 6 10 11 embedded 0 31 D 0x60 6 10 11 acpi_bus_number: root bus has no _BBN, assuming 0 acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR AcpiOsDerivePciId: bus 0 dev 31 func 0 acpi0: Power Button (fixed) acpi_bus_number: root bus has no _BBN, assuming 0 acpi_bus_number: can't get _ADR acpi_bus_number: can't get _ADR AcpiOsDerivePciId: bus 0 dev 0 func 0 ACPI timer: 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 1/1 -> 10 Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000 acpi_timer0: <24-bit timer at 3.579545MHz> port 0x1008-0x100b on acpi0 acpi_ec0: port 0x62,0x66 on acpi0 pci_link0: Links after initial probe: Index IRQ Rtd Ref IRQs 0 11 N 0 1 3 4 5 6 7 10 12 14 15 pci_link0: Links after initial validation: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 10 12 14 15 pci_link0: Links after disable: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 10 12 14 15 pci_link1: Links after initial probe: Index IRQ Rtd Ref IRQs 0 11 N 0 1 3 4 5 6 7 11 12 14 15 pci_link1: Links after initial validation: Index IRQ Rtd Ref IRQs 0 11 N 0 1 3 4 5 6 7 11 12 14 15 pci_link1: Links after disable: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 11 12 14 15 pci_link2: Links after initial probe: Index IRQ Rtd Ref IRQs 0 10 N 0 1 3 4 5 6 7 10 12 14 15 pci_link2: Links after initial validation: Index IRQ Rtd Ref IRQs 0 10 N 0 1 3 4 5 6 7 10 12 14 15 pci_link2: Links after disable: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 10 12 14 15 pci_link3: Links after initial probe: Index IRQ Rtd Ref IRQs 0 10 N 0 1 3 4 5 6 7 11 12 14 15 pci_link3: Links after initial validation: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 11 12 14 15 pci_link3: Links after disable: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 11 12 14 15 pci_link4: Links after initial probe: Index IRQ Rtd Ref IRQs 0 10 N 0 1 3 4 5 6 7 10 12 14 15 pci_link4: Links after initial validation: Index IRQ Rtd Ref IRQs 0 10 N 0 1 3 4 5 6 7 10 12 14 15 pci_link4: Links after disable: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 10 12 14 15 pci_link5: Links after initial probe: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 11 12 14 15 pci_link5: Links after initial validation: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 11 12 14 15 pci_link5: Links after disable: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 11 12 14 15 pci_link6: Links after initial probe: Index IRQ Rtd Ref IRQs 0 10 N 0 1 3 4 5 6 7 10 12 14 15 pci_link6: Links after initial validation: Index IRQ Rtd Ref IRQs 0 10 N 0 1 3 4 5 6 7 10 12 14 15 pci_link6: Links after disable: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 10 12 14 15 pci_link7: Links after initial probe: Index IRQ Rtd Ref IRQs 0 11 N 0 1 3 4 5 6 7 11 12 14 15 pci_link7: Links after initial validation: Index IRQ Rtd Ref IRQs 0 11 N 0 1 3 4 5 6 7 11 12 14 15 pci_link7: Links after disable: Index IRQ Rtd Ref IRQs 0 255 N 0 1 3 4 5 6 7 11 12 14 15 cpu0: on acpi0 acpi_perf0: on cpu0 acpi_perf0: failed in PERF_STATUS attach device_attach: acpi_perf0 attach returned 6 acpi_perf0: on cpu0 acpi_perf0: failed in PERF_STATUS attach device_attach: acpi_perf0 attach returned 6 acpi_throttle0: on cpu0 acpi_throttle0: P_CNT from P_BLK 0x1010 acpi_lid0: on acpi0 battery0: on acpi0 acpi_acad0: on acpi0 acpi_button0: on acpi0 pcib0: port 0xcf8-0xcff on acpi0 pci0: on pcib0 pci0: physical bus=0 found-> vendor=0x8086, dev=0x27a0, revid=0x03 bus=0, slot=0, func=0 class=06-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0106, statreg=0x2090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x27a2, revid=0x03 bus=0, slot=2, func=0 class=03-00-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x0090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 powerspec 2 supports D0 D3 current D0 MSI supports 1 message map[10]: type 1, range 32, base dc100000, size 19, enabled map[14]: type 4, range 32, base 00001800, size 3, enabled map[18]: type 3, range 32, base c0000000, size 28, enabled map[1c]: type 1, range 32, base dc200000, size 18, enabled pcib0: matched entry for 0.2.INTA pcib0: slot 2 INTA hardwired to IRQ 16 found-> vendor=0x8086, dev=0x27a6, revid=0x03 bus=0, slot=2, func=1 class=03-80-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x0090, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) powerspec 2 supports D0 D3 current D0 map[10]: type 1, range 32, base dc180000, size 19, enabled found-> vendor=0x8086, dev=0x27d8, revid=0x02 bus=0, slot=27, func=0 class=04-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type 1, range 64, base dc240000, size 14, enabled pcib0: matched entry for 0.27.INTA pcib0: slot 27 INTA hardwired to IRQ 22 found-> vendor=0x8086, dev=0x27d0, revid=0x02 bus=0, slot=28, func=0 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 pcib0: matched entry for 0.28.INTA pcib0: slot 28 INTA hardwired to IRQ 17 found-> vendor=0x8086, dev=0x27d2, revid=0x02 bus=0, slot=28, func=1 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=b, irq=11 pcib0: matched entry for 0.28.INTB pcib0: slot 28 INTB hardwired to IRQ 16 found-> vendor=0x8086, dev=0x27d4, revid=0x02 bus=0, slot=28, func=2 class=06-04-00, hdrtype=0x01, mfdev=1 cmdreg=0x0007, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) intpin=c, irq=10 pcib0: matched entry for 0.28.INTC pcib0: slot 28 INTC hardwired to IRQ 18 found-> vendor=0x8086, dev=0x27c8, revid=0x02 bus=0, slot=29, func=0 class=0c-03-00, hdrtype=0x00, mfdev=1 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 map[20]: type 4, range 32, base 00001820, size 5, enabled pcib0: matched entry for 0.29.INTA pcib0: slot 29 INTA hardwired to IRQ 23 found-> vendor=0x8086, dev=0x27c9, revid=0x02 bus=0, slot=29, func=1 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 map[20]: type 4, range 32, base 00001840, size 5, enabled pcib0: matched entry for 0.29.INTB pcib0: slot 29 INTB hardwired to IRQ 19 found-> vendor=0x8086, dev=0x27ca, revid=0x02 bus=0, slot=29, func=2 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=c, irq=10 map[20]: type 4, range 32, base 00001860, size 5, enabled pcib0: matched entry for 0.29.INTC pcib0: slot 29 INTC hardwired to IRQ 18 found-> vendor=0x8086, dev=0x27cb, revid=0x02 bus=0, slot=29, func=3 class=0c-03-00, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=d, irq=11 map[20]: type 4, range 32, base 00001880, size 5, enabled pcib0: matched entry for 0.29.INTD pcib0: slot 29 INTD hardwired to IRQ 16 found-> vendor=0x8086, dev=0x27cc, revid=0x02 bus=0, slot=29, func=7 class=0c-03-20, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0290, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=11 powerspec 2 supports D0 D3 current D0 map[10]: type 1, range 32, base dc444000, size 10, enabled pcib0: matched entry for 0.29.INTA pcib0: slot 29 INTA hardwired to IRQ 23 found-> vendor=0x8086, dev=0x2448, revid=0xe2 bus=0, slot=30, func=0 class=06-04-01, hdrtype=0x01, mfdev=0 cmdreg=0x0007, statreg=0x0010, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x04 (1000 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x27b9, revid=0x02 bus=0, slot=31, func=0 class=06-01-00, hdrtype=0x00, mfdev=1 cmdreg=0x0007, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) found-> vendor=0x8086, dev=0x27c4, revid=0x02 bus=0, slot=31, func=2 class=01-01-80, hdrtype=0x00, mfdev=0 cmdreg=0x0005, statreg=0x02b8, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=255 powerspec 2 supports D0 D3 current D0 map[20]: type 4, range 32, base 000018b0, size 4, enabled found-> vendor=0x8086, dev=0x27da, revid=0x02 bus=0, slot=31, func=3 class=0c-05-00, hdrtype=0x00, mfdev=0 cmdreg=0x0001, statreg=0x0280, cachelnsz=0 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=b, irq=10 map[20]: type 4, range 32, base 000018c0, size 5, enabled pcib0: matched entry for 0.31.INTB pcib0: slot 31 INTB hardwired to IRQ 19 acpi_video0: port 0x1800-0x1807 mem 0xdc100000-0xdc17ffff,0xc0000000-0xcfffffff,0xdc200000-0xdc23ffff irq 16 at device 2.0 on pci0 found CRT monitor(100), detectable by BIOS, head #0 found TV(200), detectable by BIOS, head #0 found unknown output(400), detectable by BIOS, head #0 pci0: at device 2.1 (no driver attached) pci0: at device 27.0 (no driver attached) pcib1: irq 17 at device 28.0 on pci0 pcib1: secondary bus 2 pcib1: subordinate bus 2 pcib1: I/O decode 0xf000-0xfff pcib1: memory decode 0xfff00000-0xfffff pcib1: prefetched decode 0xfff00000-0xfffff pci2: on pcib1 pci2: physical bus=2 pcib2: irq 16 at device 28.1 on pci0 pcib2: secondary bus 3 pcib2: subordinate bus 4 pcib2: I/O decode 0x2000-0x2fff pcib2: memory decode 0xd8000000-0xd9ffffff pcib2: prefetched decode 0xd2000000-0xd3ffffff pci3: on pcib2 pci3: physical bus=3 pcib3: irq 18 at device 28.2 on pci0 pcib3: secondary bus 5 pcib3: subordinate bus 6 pcib3: I/O decode 0x3000-0x3fff pcib3: memory decode 0xda000000-0xdbffffff pcib3: prefetched decode 0xd4000000-0xd5ffffff pci5: on pcib3 pci5: physical bus=5 found-> vendor=0x8086, dev=0x4222, revid=0x02 bus=5, slot=0, func=0 class=02-80-00, hdrtype=0x00, mfdev=0 cmdreg=0x0006, statreg=0x0010, cachelnsz=16 (dwords) lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns) intpin=a, irq=10 powerspec 2 supports D0 D3 current D0 MSI supports 1 message, 64 bit map[10]: type 1, range 32, base da000000, size 12, enabled pcib3: (null) requested memory range 0xda000000-0xda000fff: good pcib3: matched entry for 5.0.INTA pcib3: slot 0 INTA hardwired to IRQ 18 wpi0: mem 0xda000000-0xda000fff irq 18 at device 0.0 on pci5 wpi0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xda000000 bus_dmamem_alloc failed to align memory properly.bus_dmamem_alloc failed to align memory properly.bus_dmamem_alloc failed to align memory properly.bus_dmamem_alloc failed to align memory properly.bus_dmamem_alloc failed to align memory properly.bus_dmamem_alloc failed to align memory properly.bus_dmamem_alloc failed to align memory properly.channel 1 pwr1 0x0072 pwr2 0x0073 channel 2 pwr1 0x0071 pwr2 0x0073 channel 3 pwr1 0x008c pwr2 0x008c channel 4 pwr1 0x0088 pwr2 0x0088 channel 5 pwr1 0x0000 pwr2 0x0000 channel 6 pwr1 0x0083 pwr2 0x0083 channel 7 pwr1 0x0082 pwr2 0x0082 channel 8 pwr1 0x0079 pwr2 0x0079 channel 9 pwr1 0x007c pwr2 0x007d channel 10 pwr1 0x0000 pwr2 0x0000 channel 11 pwr1 0xfffa pwr2 0xfffa channel 12 pwr1 0xfffc pwr2 0xfffc channel 13 pwr1 0xfffa pwr2 0xfffa channel 14 pwr1 0xfffc pwr2 0xfffc wpi0: bpf attached wpi0: Ethernet address: 00:13:02:28:de:14 wpi0: bpf attached wpi0: bpf attached ioapic0: routing intpin 18 (PCI IRQ 18) to vector 49 wpi0: [MPSAFE] wpi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps wpi0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps uhci0: port 0x1820-0x183f irq 23 at device 29.0 on pci0 uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x1820 ioapic0: routing intpin 23 (PCI IRQ 23) to vector 50 uhci0: [GIANT-LOCKED] usb0: on uhci0 usb0: USB revision 1.0 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub0: 2 ports with 2 removable, self powered uhci1: port 0x1840-0x185f irq 19 at device 29.1 on pci0 uhci1: Reserved 0x20 bytes for rid 0x20 type 4 at 0x1840 ioapic0: routing intpin 19 (PCI IRQ 19) to vector 51 uhci1: [GIANT-LOCKED] usb1: on uhci1 usb1: USB revision 1.0 uhub1: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub1: 2 ports with 2 removable, self powered uhci2: port 0x1860-0x187f irq 18 at device 29.2 on pci0 uhci2: Reserved 0x20 bytes for rid 0x20 type 4 at 0x1860 uhci2: [GIANT-LOCKED] usb2: on uhci2 usb2: USB revision 1.0 uhub2: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub2: 2 ports with 2 removable, self powered uhci3: port 0x1880-0x189f irq 16 at device 29.3 on pci0 uhci3: Reserved 0x20 bytes for rid 0x20 type 4 at 0x1880 ioapic0: routing intpin 16 (PCI IRQ 16) to vector 52 uhci3: [GIANT-LOCKED] usb3: on uhci3 usb3: USB revision 1.0 uhub3: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 uhub3: 2 ports with 2 removable, self powered ehci0: mem 0xdc444000-0xdc4443ff irq 23 at device 29.7 on pci0 ehci0: Reserved 0x400 bytes for rid 0x10 type 3 at 0xdc444000 ehci0: [GIANT-LOCKED] usb4: EHCI version 1.0 usb4: companion controllers, 2 ports each: usb0 usb1 usb2 usb3 usb4: on ehci0 usb4: USB revision 2.0 uhub4: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 uhub4: 8 ports with 8 removable, self powered pcib4: at device 30.0 on pci0 pcib4: secondary bus 7 pcib4: subordinate bus 7 pcib4: I/O decode 0x4000-0x4fff pcib4: memory decode 0xdc000000-0xdc0fffff pcib4: prefetched decode 0xfff00000-0xfffff pcib4: Subtractively decoded bridge. pci7: on pcib4 pci7: physical bus=7 found-> vendor=0x104c, dev=0x8039, revid=0x00 bus=7, slot=6, func=0 class=06-07-00, hdrtype=0x02, mfdev=1 cmdreg=0x0000, statreg=0x0210, cachelnsz=0 (dwords) lattimer=0x40 (1920 ns), mingnt=0x40 (16000 ns), maxlat=0x03 (750 ns) intpin=a, irq=255 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base 00000000, size 12, memory disabled found-> vendor=0x104c, dev=0x803a, revid=0x00 bus=7, slot=6, func=1 class=0c-00-10, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x0210, cachelnsz=4 (dwords) lattimer=0x80 (3840 ns), mingnt=0x02 (500 ns), maxlat=0x04 (1000 ns) intpin=b, irq=11 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base dc006000, size 11, enabled pcib4: (null) requested memory range 0xdc006000-0xdc0067ff: good map[14]: type 1, range 32, base dc000000, size 14, enabled pcib4: (null) requested memory range 0xdc000000-0xdc003fff: good pcib4: matched entry for 7.6.INTB pcib4: slot 6 INTB hardwired to IRQ 17 found-> vendor=0x104c, dev=0x803b, revid=0x00 bus=7, slot=6, func=2 class=01-80-00, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x0210, cachelnsz=4 (dwords) lattimer=0x80 (3840 ns), mingnt=0x07 (1750 ns), maxlat=0x04 (1000 ns) intpin=a, irq=10 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base dc004000, size 12, enabled pcib4: (null) requested memory range 0xdc004000-0xdc004fff: good pcib4: matched entry for 7.6.INTA pcib4: slot 6 INTA hardwired to IRQ 18 found-> vendor=0x104c, dev=0x803c, revid=0x00 bus=7, slot=6, func=3 class=08-05-01, hdrtype=0x00, mfdev=1 cmdreg=0x0006, statreg=0x0210, cachelnsz=4 (dwords) lattimer=0x80 (3840 ns), mingnt=0x07 (1750 ns), maxlat=0x04 (1000 ns) intpin=a, irq=10 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base dc006800, size 8, enabled pcib4: (null) requested memory range 0xdc006800-0xdc0068ff: good pcib4: matched entry for 7.6.INTA pcib4: slot 6 INTA hardwired to IRQ 18 found-> vendor=0x8086, dev=0x1092, revid=0x02 bus=7, slot=8, func=0 class=02-00-00, hdrtype=0x00, mfdev=0 cmdreg=0x0017, statreg=0x0290, cachelnsz=16 (dwords) lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x38 (14000 ns) intpin=a, irq=10 powerspec 2 supports D0 D1 D2 D3 current D0 map[10]: type 1, range 32, base dc005000, size 12, enabled pcib4: (null) requested memory range 0xdc005000-0xdc005fff: good map[14]: type 4, range 32, base 00004000, size 6, enabled pcib4: (null) requested I/O range 0x4000-0x403f: in range pcib4: matched entry for 7.8.INTA pcib4: slot 8 INTA hardwired to IRQ 20 cbb0: at device 6.0 on pci7 pcib4: cbb0 requested memory range 0xdc000000-0xdc0fffff: good cbb0: Lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0xdc007000 cbb0: Found memory at dc007000 cbb0: Secondary bus is 0 cbb0: Setting primary bus to 7 cbb0: Secondary bus set to 8 subbus 9 cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 pcib4: matched entry for 7.6.INTA pcib4: slot 6 INTA hardwired to IRQ 18 cbb0: [MPSAFE] cbb0: PCI Configuration space: 0x00: 0x8039104c 0x02100007 0x06070000 0x00824000 0x10: 0xdc007000 0x020000a0 0x20090807 0xfffff000 0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 0x30: 0x00000000 0xfffffffc 0x00000000 0x07400112 0x40: 0xff101179 0x00000001 0x00000000 0x00000000 0x50: 0x00000000 0x00000000 0x00000000 0x00000000 0x60: 0x00000000 0x00000000 0x00000000 0x00000000 0x70: 0x00000000 0x00000000 0x00000000 0x00000000 0x80: 0x48409060 0x02830019 0x000f0000 0x01a01b22 0x90: 0x606600c0 0x00000000 0x00000000 0x00000000 0xa0: 0xfe120001 0x00c00000 0x00000000 0x00000000 0xb0: 0x00000000 0x00000000 0x00000000 0x00000000 0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 0xf0: 0x0c4f182b 0x16019443 0x00000000 0x00000000 fwohci0: vendor=104c, dev=803a fwohci0: vendor=104c, dev=803a fwohci0: <1394 Open Host Controller Interface> mem 0xdc006000-0xdc0067ff,0xdc000000-0xdc003fff irq 17 at device 6.1 on pci7 fwohci0: Reserved 0x800 bytes for rid 0x10 type 3 at 0xdc006000 ioapic0: routing intpin 17 (PCI IRQ 17) to vector 53 fwohci0: [MPSAFE] fwohci0: OHCI version 1.10 (ROM=0) fwohci0: No. of Isochronous channels is 4. fwohci0: EUI64 00:08:0d:a0:d1:44:35:57 fwohci0: Phy 1394a available S400, 2 ports. fwohci0: Link S400, max_rec 2048 bytes. firewire0: on fwohci0 sbp0: on firewire0 fwohci0: Initiate bus reset fwohci0: node_id=0xc800ffc0, gen=1, CYCLEMASTER mode firewire0: 1 nodes, maxhop <= 0, cable IRM = 0 (me) firewire0: bus manager 0 (me) pci7: at device 6.2 (no driver attached) pci7: at device 6.3 (no driver attached) fxp0: port 0x4000-0x403f mem 0xdc005000-0xdc005fff irq 20 at device 8.0 on pci7 fxp0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0xdc005000 fxp0: using memory space register mapping fxp0: PCI IDs: 8086 1092 1179 ff10 0002 fxp0: Dynamic Standby mode is enabled miibus0: on fxp0 inphy0: on miibus0 inphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto fxp0: bpf attached fxp0: Ethernet address: 00:a0:d1:44:35:57 ioapic0: routing intpin 20 (PCI IRQ 20) to vector 54 fxp0: [MPSAFE] isab0: at device 31.0 on pci0 isa0: on isab0 atapci0: port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x18b0-0x18bf at device 31.2 on pci0 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x18b0 ata0: on atapci0 atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0 atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6 ata0: reset tp1 mask=03 ostat0=50 ostat1=00 ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00 ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00 ata0: reset tp2 stat0=50 stat1=00 devices=0x1 ioapic0: routing intpin 14 (ISA IRQ 14) to vector 55 ata0: [MPSAFE] ata1: on atapci0 atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170 atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376 ata1: reset tp1 mask=03 ostat0=50 ostat1=00 ata1: stat0=0x00 err=0x01 lsb=0x14 msb=0xeb ata1: stat1=0x00 err=0x00 lsb=0x00 msb=0x00 ata1: reset tp2 stat0=00 stat1=00 devices=0x4 ioapic0: routing intpin 15 (ISA IRQ 15) to vector 56 ata1: [MPSAFE] pci0: at device 31.3 (no driver attached) acpi_tz0: on acpi0 acpi_tz1: on acpi0 atkbdc0: port 0x60,0x64 irq 1 on acpi0 atkbd0: irq 1 on atkbdc0 atkbd: the current kbd controller command byte 0047 atkbd: keyboard ID 0x41ab (2) kbd0 at atkbd0 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000 ioapic0: routing intpin 1 (ISA IRQ 1) to vector 57 atkbd0: [GIANT-LOCKED] psm0: unable to allocate IRQ psmcpnp0: irq 12 on acpi0 psm0: current command byte:0047 psm0: irq 12 on atkbdc0 ioapic0: routing intpin 12 (ISA IRQ 12) to vector 58 psm0: [GIANT-LOCKED] psm0: model Generic PS/2 mouse, device ID 0-00, 2 buttons psm0: config:00000000, flags:00000008, packet size:3 psm0: syncmask:c0, syncbits:00 ex_isa_identify() ata: ata0 already exists; skipping it ata: ata1 already exists; skipping it atkbdc: atkbdc0 already exists; skipping it pnp_identify: Trying Read_Port at 203 pnp_identify: Trying Read_Port at 243 pnp_identify: Trying Read_Port at 283 pnp_identify: Trying Read_Port at 2c3 pnp_identify: Trying Read_Port at 303 pnp_identify: Trying Read_Port at 343 pnp_identify: Trying Read_Port at 383 pnp_identify: Trying Read_Port at 3c3 PNP Identify complete sc: sc0 already exists; skipping it vga: vga0 already exists; skipping it isa_probe_children: disabling PnP devices isa_probe_children: probing non-PnP devices pmtimer0 on isa0 orm0: at iomem 0xce800-0xcffff,0xdc000-0xdffff,0xe0000-0xe17ff on isa0 adv0: not probed (disabled) aha0: not probed (disabled) aic0: not probed (disabled) bt0: not probed (disabled) cs0: not probed (disabled) ed0: not probed (disabled) fdc0 failed to probe at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fe0: not probed (disabled) ie0: not probed (disabled) lnc0: not probed (disabled) ppc0: parallel port not found. ppc0: failed to probe at irq 7 on isa0 sc0: at flags 0x100 on isa0 sc0: VGA <16 virtual consoles, flags=0x300> sc0: fb0, kbd1, terminal emulator: sc (syscons terminal) sio0: configured irq 4 not in bitmap of probed irqs 0 sio0: port may not be enabled sio0: irq maps: 0x8c01 0x8c01 0x8c01 0x8c01 sio0: probe failed test(s): 0 1 2 4 6 7 9 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 8250 or not responding ioapic0: routing intpin 4 (ISA IRQ 4) to vector 59 sio1: configured irq 3 not in bitmap of probed irqs 0 sio1: port may not be enabled sio1: irq maps: 0x8c01 0x8c01 0x8c01 0x8c01 sio1: probe failed test(s): 0 1 2 4 6 7 9 sio1 failed to probe at port 0x2f8-0x2ff irq 3 on isa0 sio2: not probed (disabled) sio3: not probed (disabled) sn0: not probed (disabled) vga0: at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0 vt0: not probed (disabled) isa_probe_children: probing PnP devices ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/18.00, addr 2, iclass 3/1 ums0: 6 buttons and Z dir. Device configuration finished. procfs registered lapic: Divisor 2, Frequency 83790328 hz Timecounter "TSC" frequency 1662511880 Hz quality 800 Timecounters tick every 1.000 msec Linux ELF exec handler installed lo0: bpf attached Status is 0x30000006acpi_tz1: _AC0: temperature 44.0 >= setpoint 0.0 acpi_tz1: switched from NONE to _AC0: 44.0C acpi_tz1: switched from _AC0 to NONE: 44.0C battery0: battery initialization start acpi_acad0: acline initialization start battery0: battery initialization done, tried 1 times acpi_acad0: On Line acpi_acad0: acline initialization done, tried 1 times ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=40 wire ad0: 57231MB at ata0-master UDMA33 ad0: 117210240 sectors [116280C/16H/63S] 16 sectors/interrupt 1 depth queue GEOM: new disk ad0 ad0: Intel check1 failed ad0: Adaptec check1 failed ad0: LSI (v3) check1 failed ad0: LSI (v2) check1 failed ad0: FreeBSD check1 failed ata1-master: pio=PIO4 wdma=WDMA2 udma=UDMA33 cable=40 wire acd0: DVDR drive at ata1 as master acd0: read 4134KB/s (4134KB/s) write 4134KB/s (4134KB/s), 2048KB buffer, UDMA33 acd0: Reads: CDR, CDRW, CDDA stream, DVDROM, DVDR, DVDRAM, packet acd0: Writes: CDR, CDRW, DVDR, DVDRAM, test write, burnproof acd0: Audio: play, 256 volume levels acd0: Mechanism: ejectable tray, unlocked acd0: Medium: no/blank disc (probe0:sbp0:0:0:0): error 22 (probe0:sbp0:0:0:0): Unretryable Error (probe1:sbp0:0:1:0): error 22 (probe1:sbp0:0:1:0): Unretryable Error (probe2:sbp0:0:2:0): error 22 (probe2:sbp0:0:2:0): Unretryable Error (probe3:sbp0:0:3:0): error 22 (probe3:sbp0:0:3:0): Unretryable Error (probe5:sbp0:0:5:0): error 22 (probe5:sbp0:0:5:0): Unretryable Error (probe6:sbp0:0:6:0): error 22 (probe6:sbp0:0:6:0): Unretryable Error (probe4:sbp0:0:4:0): error 22 (probe4:sbp0:0:4:0): Unretryable Error ATA PseudoRAID loaded Trying to mount root from ufs:/dev/ad0s1a start_init: trying /sbin/init acpi_tz1: _AC0: temperature 46.0 >= setpoint 45.0 acpi_tz1: switched from NONE to _AC0: 46.0C ums0: at uhub2 port 2 (addr 2) disconnected ums0: detached ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/18.00, addr 2, iclass 3/1 ums0: 6 buttons and Z dir. ums0: at uhub2 port 2 (addr 2) disconnected ums0: detached ums0: Logitech USB-PS/2 Optical Mouse, rev 2.00/18.00, addr 2, iclass 3/1 ums0: 6 buttons and Z dir. On 10/3/06, M. Warner Losh wrote: > I hate to sound like Bill Paul, but can you provide a little more > information? Like what card is this? Cardbus or PC Card? > > I'd boot -v and also turn on the following tunables: > hw.cbb.debug=1 > hw.pccard.cis_debug=1 > hw.pccard.debug=1 > hw.cardbus.cis_debug=1 > hw.cardbus.debug=1 > in /boot/loader.conf and post the dmesg here (or a pointer to it), in > addition to cc'ing me. My wife is expecting any day now, so I might > suddenly disappear for a couple of weeks. There are others here that > can help you out, however, if you post this basic information. > > Warner > > In message: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> > "Jim Stapleton" writes: > : I have a pccard wireless NIC, and I know it comes up and runs in > : Knoppix, but in FreeBSD, it is troubled. It is reported to work on one > : website, using NDIS, but I don't get far enough to make use of it. > : After some testing, I suspect it's the notebook not recognizing the > : pccard slot. > : > : - The cards diagnostic light blinks green and then goes off when inserted > : - The card information does not appear in dmesg after insertion > : - The card appears to work fine in knoppix > : - I'll have a friend with some spare pccards come over tomorrow - her > : cards work on her BSD box just fine, just to verify if it's card or > : card controller. > : > : My question, the system is a Toshiba Satellite A105-4001. It is an > : i850/ICH7 based machine. What's the best way to see what the pccard > : device is, and figure out how to get it working? > : > : My main test that leaves me suspicious, I booted the machine with the > : card and ran the following commands: > : $ ls /dev > IL-dev > : $ dmesg > IL-dmesg > : $ pciconf > IL-pciconf > : > : Next, I rebooted it without the card: > : $ ls /dev > I-dev > : $ dmesg > I-dmesg > : $ pciconf > I-pciconf > : > : Next I diff'ed the IL files with their matching I files, the only > : difference that popped up with dmesg with the 'Timecounter "TSC" > : frequency [...]. entry, which to my knowledge, should not be related > : to the problem at all. > : > : Any suggestions? > : > : Thanks, > : -Jim Stapleton > : _______________________________________________ > : freebsd-mobile@freebsd.org mailing list > : http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > : To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" > : > From owner-freebsd-mobile@FreeBSD.ORG Thu Oct 5 15:25:26 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E99DD16A403 for ; Thu, 5 Oct 2006 15:25:25 +0000 (UTC) (envelope-from jhary@unsane.co.uk) Received: from unsane.co.uk (unsane.co.uk [62.140.220.90]) by mx1.FreeBSD.org (Postfix) with ESMTP id 545D643D46 for ; Thu, 5 Oct 2006 15:25:25 +0000 (GMT) (envelope-from jhary@unsane.co.uk) Received: from [192.168.10.217] (150.117-84-212.staticip.namesco.net [212.84.117.150]) (authenticated bits=0) by unsane.co.uk (8.13.7/8.13.3) with ESMTP id k95FPKYr003754 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 5 Oct 2006 16:25:21 +0100 (BST) (envelope-from jhary@unsane.co.uk) Message-ID: <452523D8.3020300@unsane.co.uk> Date: Thu, 05 Oct 2006 16:25:12 +0100 From: Vince User-Agent: Thunderbird 1.5.0.7 (X11/20060927) MIME-Version: 1.0 To: Jim Stapleton References: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> <20061003.002812.-1733292693.imp@bsdimp.com> <80f4f2b20610050806r7183aba4r5fed4cd372568278@mail.gmail.com> In-Reply-To: <80f4f2b20610050806r7183aba4r5fed4cd372568278@mail.gmail.com> X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-mobile@freebsd.org Subject: Re: pccard slot not working properly X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Oct 2006 15:25:26 -0000 Jim Stapleton wrote: > Alright, attached at the end is the (extremely large) results of your > request. As I said in a previous reply, I didn't know what was the > required information. Anyway, I'm getting this sooner than later, as > the Intel drivers on Gentoo were nonfunctional, and I find, when > things are broken, I'd rather be in BSD than Linux. > Purely on the basis its a toshiba, have you tried adding hw.pci.allow_unsupported_io_range=1 to /boot/loader.conf ? (my old 8100 needs this for its pcmcia to work although the symptoms don't quite match and i seem to remember another tecra i had needed this also.) Vince > Thanks, > -Jim Stapleton > > > > dmesg output > > > > > On 10/3/06, M. Warner Losh wrote: >> I hate to sound like Bill Paul, but can you provide a little more >> information? Like what card is this? Cardbus or PC Card? >> >> I'd boot -v and also turn on the following tunables: >> hw.cbb.debug=1 >> hw.pccard.cis_debug=1 >> hw.pccard.debug=1 >> hw.cardbus.cis_debug=1 >> hw.cardbus.debug=1 >> in /boot/loader.conf and post the dmesg here (or a pointer to it), in >> addition to cc'ing me. My wife is expecting any day now, so I might >> suddenly disappear for a couple of weeks. There are others here that >> can help you out, however, if you post this basic information. >> >> Warner >> >> In message: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> >> "Jim Stapleton" writes: >> : I have a pccard wireless NIC, and I know it comes up and runs in >> : Knoppix, but in FreeBSD, it is troubled. It is reported to work on one >> : website, using NDIS, but I don't get far enough to make use of it. >> : After some testing, I suspect it's the notebook not recognizing the >> : pccard slot. >> : >> : - The cards diagnostic light blinks green and then goes off when >> inserted >> : - The card information does not appear in dmesg after insertion >> : - The card appears to work fine in knoppix >> : - I'll have a friend with some spare pccards come over tomorrow - her >> : cards work on her BSD box just fine, just to verify if it's card or >> : card controller. >> : >> : My question, the system is a Toshiba Satellite A105-4001. It is an >> : i850/ICH7 based machine. What's the best way to see what the pccard >> : device is, and figure out how to get it working? >> : >> : My main test that leaves me suspicious, I booted the machine with the >> : card and ran the following commands: >> : $ ls /dev > IL-dev >> : $ dmesg > IL-dmesg >> : $ pciconf > IL-pciconf >> : >> : Next, I rebooted it without the card: >> : $ ls /dev > I-dev >> : $ dmesg > I-dmesg >> : $ pciconf > I-pciconf >> : >> : Next I diff'ed the IL files with their matching I files, the only >> : difference that popped up with dmesg with the 'Timecounter "TSC" >> : frequency [...]. entry, which to my knowledge, should not be related >> : to the problem at all. >> : >> : Any suggestions? >> : >> : Thanks, >> : -Jim Stapleton >> : _______________________________________________ >> : freebsd-mobile@freebsd.org mailing list >> : http://lists.freebsd.org/mailman/listinfo/freebsd-mobile >> : To unsubscribe, send any mail to >> "freebsd-mobile-unsubscribe@freebsd.org" >> : >> > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" From owner-freebsd-mobile@FreeBSD.ORG Thu Oct 5 16:21:00 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D181816A4D0 for ; Thu, 5 Oct 2006 16:21:00 +0000 (UTC) (envelope-from stapleton.41@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.168]) by mx1.FreeBSD.org (Postfix) with ESMTP id C2E1243D4C for ; Thu, 5 Oct 2006 16:20:59 +0000 (GMT) (envelope-from stapleton.41@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so206905uge for ; Thu, 05 Oct 2006 09:20:59 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=rql8XmXJgX6q7MhDO+05c1biV2WRiUO3k2MrV7pRhxc48QPzBTbfxYPjMc7Ys13li4E+cMVAG6NX4EVG65WC2cN3RcqvWwBLry/ev5zlO+A/T9e5+wGa5fZpuGnp4YxQsnMdLu4GnmqvHlcGoriQBvwhbSi7a5bFWLr9O7ncE+E= Received: by 10.66.252.4 with SMTP id z4mr2137041ugh; Thu, 05 Oct 2006 09:20:58 -0700 (PDT) Received: by 10.67.86.4 with HTTP; Thu, 5 Oct 2006 09:20:57 -0700 (PDT) Message-ID: <80f4f2b20610050920m345f60e7n78d844b4ebe7525d@mail.gmail.com> Date: Thu, 5 Oct 2006 12:20:57 -0400 From: "Jim Stapleton" To: Vince , freebsd-mobile@freebsd.org In-Reply-To: <452523D8.3020300@unsane.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> <20061003.002812.-1733292693.imp@bsdimp.com> <80f4f2b20610050806r7183aba4r5fed4cd372568278@mail.gmail.com> <452523D8.3020300@unsane.co.uk> Cc: Subject: Re: pccard slot not working properly X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Oct 2006 16:21:00 -0000 Thanks, didn't help the onboard card (for which I found drivers through another message), nor did it reall change much in the results of the dmesg. I'll try it with a PCMCIA card when I get home. Thanks, -Jim Stapleton On 10/5/06, Vince wrote: > Jim Stapleton wrote: > > Alright, attached at the end is the (extremely large) results of your > > request. As I said in a previous reply, I didn't know what was the > > required information. Anyway, I'm getting this sooner than later, as > > the Intel drivers on Gentoo were nonfunctional, and I find, when > > things are broken, I'd rather be in BSD than Linux. > > > > Purely on the basis its a toshiba, have you tried adding > hw.pci.allow_unsupported_io_range=1 > to /boot/loader.conf ? > > (my old 8100 needs this for its pcmcia to work although the symptoms > don't quite match and i seem to remember another tecra i had needed this > also.) > > Vince > > > Thanks, > > -Jim Stapleton > > > > > > > > dmesg output > > > > > > > > > > > > > On 10/3/06, M. Warner Losh wrote: > >> I hate to sound like Bill Paul, but can you provide a little more > >> information? Like what card is this? Cardbus or PC Card? > >> > >> I'd boot -v and also turn on the following tunables: > >> hw.cbb.debug=1 > >> hw.pccard.cis_debug=1 > >> hw.pccard.debug=1 > >> hw.cardbus.cis_debug=1 > >> hw.cardbus.debug=1 > >> in /boot/loader.conf and post the dmesg here (or a pointer to it), in > >> addition to cc'ing me. My wife is expecting any day now, so I might > >> suddenly disappear for a couple of weeks. There are others here that > >> can help you out, however, if you post this basic information. > >> > >> Warner > >> > >> In message: <80f4f2b20609291227u422291b6ucfc1d7b38a1c2a3e@mail.gmail.com> > >> "Jim Stapleton" writes: > >> : I have a pccard wireless NIC, and I know it comes up and runs in > >> : Knoppix, but in FreeBSD, it is troubled. It is reported to work on one > >> : website, using NDIS, but I don't get far enough to make use of it. > >> : After some testing, I suspect it's the notebook not recognizing the > >> : pccard slot. > >> : > >> : - The cards diagnostic light blinks green and then goes off when > >> inserted > >> : - The card information does not appear in dmesg after insertion > >> : - The card appears to work fine in knoppix > >> : - I'll have a friend with some spare pccards come over tomorrow - her > >> : cards work on her BSD box just fine, just to verify if it's card or > >> : card controller. > >> : > >> : My question, the system is a Toshiba Satellite A105-4001. It is an > >> : i850/ICH7 based machine. What's the best way to see what the pccard > >> : device is, and figure out how to get it working? > >> : > >> : My main test that leaves me suspicious, I booted the machine with the > >> : card and ran the following commands: > >> : $ ls /dev > IL-dev > >> : $ dmesg > IL-dmesg > >> : $ pciconf > IL-pciconf > >> : > >> : Next, I rebooted it without the card: > >> : $ ls /dev > I-dev > >> : $ dmesg > I-dmesg > >> : $ pciconf > I-pciconf > >> : > >> : Next I diff'ed the IL files with their matching I files, the only > >> : difference that popped up with dmesg with the 'Timecounter "TSC" > >> : frequency [...]. entry, which to my knowledge, should not be related > >> : to the problem at all. > >> : > >> : Any suggestions? > >> : > >> : Thanks, > >> : -Jim Stapleton > >> : _______________________________________________ > >> : freebsd-mobile@freebsd.org mailing list > >> : http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > >> : To unsubscribe, send any mail to > >> "freebsd-mobile-unsubscribe@freebsd.org" > >> : > >> > > _______________________________________________ > > freebsd-mobile@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" > > From owner-freebsd-mobile@FreeBSD.ORG Thu Oct 5 17:43:56 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 37F4016A415 for ; Thu, 5 Oct 2006 17:43:56 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1smout1.broadpark.no (osl1smout1.broadpark.no [80.202.4.58]) by mx1.FreeBSD.org (Postfix) with ESMTP id 598A443D77 for ; Thu, 5 Oct 2006 17:43:49 +0000 (GMT) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1sminn1.broadpark.no ([80.202.4.59]) by osl1smout1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with ESMTP id <0J6O00LLBBWW7720@osl1smout1.broadpark.no> for freebsd-mobile@freebsd.org; Thu, 05 Oct 2006 19:43:44 +0200 (CEST) Received: from kg-work.kg4.no ([80.203.21.224]) by osl1sminn1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with SMTP id <0J6O00FSIBWV7QM0@osl1sminn1.broadpark.no> for freebsd-mobile@freebsd.org; Thu, 05 Oct 2006 19:43:44 +0200 (CEST) Date: Thu, 05 Oct 2006 19:43:43 +0200 From: Torfinn Ingolfsen X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH In-reply-to: <20061004120243.GI4945@poupinou.org> To: freebsd-mobile@freebsd.org Message-id: <20061005194343.18138f38.torfinn.ingolfsen@broadpark.no> MIME-version: 1.0 X-Mailer: Sylpheed version 2.2.9 (GTK+ 2.8.20; i386-portbld-freebsd5.5) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> <20061002124116.GF4945@poupinou.org> <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> <20061003082804.GG4945@poupinou.org> <20061003205438.26110696.torfinn.ingolfsen@broadpark.no> <20061004120243.GI4945@poupinou.org> Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 05 Oct 2006 17:43:56 -0000 On Wed, 04 Oct 2006 14:02:43 +0200 Bruno Ducrot wrote: > I would like to see the first 64 bytes, both with and without acpi. Ok, you'll get it. :-) > You mean under FreeBSD? Yes, it's part of the pciutils port (sysutils/pciutils). > If so you can use lspci -x instead of pciconf. Cheers, Done. -- Regards, Torfinn Ingolfsen, Norway From owner-freebsd-mobile@FreeBSD.ORG Fri Oct 6 12:23:32 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id B794316A403 for ; Fri, 6 Oct 2006 12:23:32 +0000 (UTC) (envelope-from stapleton.41@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.170]) by mx1.FreeBSD.org (Postfix) with ESMTP id 26CFD43D45 for ; Fri, 6 Oct 2006 12:23:31 +0000 (GMT) (envelope-from stapleton.41@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so301098uge for ; Fri, 06 Oct 2006 05:23:31 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=sU1QAKMoiyL8FtwP0HvPBxT0+kF1Dy3QbPjfDJZZB2QcWiNbEL/qgThvu560tG4054aZXHe4R16QpPoP6QHfv7o/DiOMx6haBRYp8JEReiEaP9yxm2H/0uAU4Y0zzRON4CM2mMHMqbSvEKSx3Rfys/MTS0v1JDf1gtnFnTWNnwI= Received: by 10.67.117.18 with SMTP id u18mr3137393ugm; Fri, 06 Oct 2006 05:23:30 -0700 (PDT) Received: by 10.67.86.4 with HTTP; Fri, 6 Oct 2006 05:23:30 -0700 (PDT) Message-ID: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> Date: Fri, 6 Oct 2006 08:23:30 -0400 From: "Jim Stapleton" To: freebsd-mobile@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Route #3 - USB 802.11 a/b/g X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2006 12:23:32 -0000 Since I'm having so many challanges with my notebook and wireless - PCMCIA is having challenges (see other threads), the onboard 802.11 card is also problematic, is there an USB wireless adaptor that works? I know I can get something to attach via wire (access point?), but I'd prefer somethign that doesn't need external power - the USB on my notebook at least works flawlessly. However, I cannot find any controllers that appear to be USB on the hardware compatability list. Anyone have experience with USB 802.11, preferrably with G and either A or B. What cards have you tried? What driver do they use? I prefer Linksys, SMC, and Belkin, but will also take D-Link/Netgear if neccesary, or some others, but these are the only ones I know are at the local brick & mortar. Thanks, -Jim Stapleton From owner-freebsd-mobile@FreeBSD.ORG Fri Oct 6 12:42:18 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4341816A40F for ; Fri, 6 Oct 2006 12:42:18 +0000 (UTC) (envelope-from jhary@unsane.co.uk) Received: from unsane.co.uk (unsane.co.uk [62.140.220.90]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4CEA143D95 for ; Fri, 6 Oct 2006 12:42:17 +0000 (GMT) (envelope-from jhary@unsane.co.uk) Received: from [192.168.10.217] (150.117-84-212.staticip.namesco.net [212.84.117.150]) (authenticated bits=0) by unsane.co.uk (8.13.7/8.13.3) with ESMTP id k96CgDgs049220 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Fri, 6 Oct 2006 13:42:16 +0100 (BST) (envelope-from jhary@unsane.co.uk) Message-ID: <45264F1C.3070609@unsane.co.uk> Date: Fri, 06 Oct 2006 13:42:04 +0100 From: Vince User-Agent: Thunderbird 1.5.0.7 (X11/20060927) MIME-Version: 1.0 To: Jim Stapleton References: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> In-Reply-To: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-mobile@freebsd.org Subject: Re: Route #3 - USB 802.11 a/b/g X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2006 12:42:18 -0000 Jim Stapleton wrote: > Since I'm having so many challanges with my notebook and wireless - > PCMCIA is having challenges (see other threads), the onboard 802.11 > card is also problematic, is there an USB wireless adaptor that works? > I know I can get something to attach via wire (access point?), but I'd > prefer somethign that doesn't need external power - the USB on my > notebook at least works flawlessly. However, I cannot find any > controllers that appear to be USB on the hardware compatability list. > I haven't tried it but the ural driver seems like your best bet. the manpage lists a bunch of adapters and give a link http://ralink.rapla.net/ to a list of supported devices. Vince > Anyone have experience with USB 802.11, preferrably with G and either > A or B. What cards have you tried? What driver do they use? > > I prefer Linksys, SMC, and Belkin, but will also take D-Link/Netgear > if neccesary, or some others, but these are the only ones I know are > at the local brick & mortar. > > Thanks, > -Jim Stapleton > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" From owner-freebsd-mobile@FreeBSD.ORG Fri Oct 6 12:56:01 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 800E416A494 for ; Fri, 6 Oct 2006 12:56:01 +0000 (UTC) (envelope-from stapleton.41@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.173]) by mx1.FreeBSD.org (Postfix) with ESMTP id D66C243D4C for ; Fri, 6 Oct 2006 12:56:00 +0000 (GMT) (envelope-from stapleton.41@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so304264uge for ; Fri, 06 Oct 2006 05:55:53 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=ddPq6erouJTg9Z+25peytoYTeTELaj2V30/Vcx278ZXLYEKrtuk9rt+nmfl0nzFa4taaxjZoOf74vc7CSsdl8nQBcxVRmVL5DZfFpu/1b+BA0C9nnCApFrF+zdIN54n/Xm2J2I0kZygbablfgr5A9Fboc7f7lSpS6LKphaRerfQ= Received: by 10.67.91.6 with SMTP id t6mr3195790ugl; Fri, 06 Oct 2006 05:55:52 -0700 (PDT) Received: by 10.67.86.4 with HTTP; Fri, 6 Oct 2006 05:55:52 -0700 (PDT) Message-ID: <80f4f2b20610060555m2a9d9a4fvc8d36eddb97490e6@mail.gmail.com> Date: Fri, 6 Oct 2006 08:55:52 -0400 From: "Jim Stapleton" To: freebsd-mobile@freebsd.org In-Reply-To: <45264F1C.3070609@unsane.co.uk> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> <45264F1C.3070609@unsane.co.uk> Subject: Re: Route #3 - USB 802.11 a/b/g X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2006 12:56:01 -0000 Ahh, thanks. Has anyone tried these? -Jim Stapleton On 10/6/06, Vince wrote: > Jim Stapleton wrote: > > Since I'm having so many challanges with my notebook and wireless - > > PCMCIA is having challenges (see other threads), the onboard 802.11 > > card is also problematic, is there an USB wireless adaptor that works? > > I know I can get something to attach via wire (access point?), but I'd > > prefer somethign that doesn't need external power - the USB on my > > notebook at least works flawlessly. However, I cannot find any > > controllers that appear to be USB on the hardware compatability list. > > > I haven't tried it but the ural driver seems like your best bet. the > manpage lists a bunch of adapters and give a link > http://ralink.rapla.net/ to a list of supported devices. > > Vince > > > Anyone have experience with USB 802.11, preferrably with G and either > > A or B. What cards have you tried? What driver do they use? > > > > I prefer Linksys, SMC, and Belkin, but will also take D-Link/Netgear > > if neccesary, or some others, but these are the only ones I know are > > at the local brick & mortar. > > > > Thanks, > > -Jim Stapleton > > _______________________________________________ > > freebsd-mobile@freebsd.org mailing list > > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" > > From owner-freebsd-mobile@FreeBSD.ORG Fri Oct 6 14:43:31 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 4E26B16A416 for ; Fri, 6 Oct 2006 14:43:31 +0000 (UTC) (envelope-from joe.silver@gmail.com) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.191]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7376943D55 for ; Fri, 6 Oct 2006 14:43:30 +0000 (GMT) (envelope-from joe.silver@gmail.com) Received: by nf-out-0910.google.com with SMTP id n29so1237719nfc for ; Fri, 06 Oct 2006 07:43:29 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:subject:from:reply-to:to:cc:in-reply-to:references:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=P+K8RgjU8TSe7TLC8IkLTwp5CORziFNDvghjVkfIiqiS8BRvpiKnyfSBPEX2LCPFvhPEnCU7jVtR1IR0i3Tbfn6grtmDnMz5kPqA3AcbTGQhEITTJDUIeJCZMZzTvBF0rGmjyadHmxa5/GAgX1ikHEbXU/5PwNupQ51vlqelXLQ= Received: by 10.49.8.1 with SMTP id l1mr5580173nfi; Fri, 06 Oct 2006 07:43:29 -0700 (PDT) Received: from ?192.168.1.33? ( [87.8.181.80]) by mx.google.com with ESMTP id c1sm6962646nfe.2006.10.06.07.43.27; Fri, 06 Oct 2006 07:43:28 -0700 (PDT) From: Giuseppe Argentieri To: Jim Stapleton In-Reply-To: <80f4f2b20610060555m2a9d9a4fvc8d36eddb97490e6@mail.gmail.com> References: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> <45264F1C.3070609@unsane.co.uk> <80f4f2b20610060555m2a9d9a4fvc8d36eddb97490e6@mail.gmail.com> Content-Type: text/plain Date: Fri, 06 Oct 2006 16:43:13 +0200 Message-Id: <1160145794.5951.2.camel@localhost.localdomain> Mime-Version: 1.0 X-Mailer: Evolution 2.0.4 Content-Transfer-Encoding: 7bit Cc: freebsd-mobile@freebsd.org Subject: Re: Route #3 - USB 802.11 a/b/g X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: joe.silver@gmail.com List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2006 14:43:31 -0000 Il giorno ven, 06-10-2006 alle 08:55 -0400, Jim Stapleton ha scritto: > Ahh, thanks. > > Has anyone tried these? Linksys WUSB54G works very well for me: http://www.linksys.com/servlet/Satellite?c=L_Product_C2&childpagename=US %2FLayout&cid=1118334818974&pagename=Linksys%2FCommon%2FVisitorWrapper Take a look to ural(4): http://www.freebsd.org/cgi/man.cgi?query=ural&apropos=0&sektion=0&manpath=FreeBSD+6.1-RELEASE&format=html -- Giuseppe From owner-freebsd-mobile@FreeBSD.ORG Fri Oct 6 15:02:59 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9B3D516A526 for ; Fri, 6 Oct 2006 15:02:59 +0000 (UTC) (envelope-from stapleton.41@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.172]) by mx1.FreeBSD.org (Postfix) with ESMTP id 629DA43D6A for ; Fri, 6 Oct 2006 15:02:51 +0000 (GMT) (envelope-from stapleton.41@gmail.com) Received: by ug-out-1314.google.com with SMTP id 23so364254ugr for ; Fri, 06 Oct 2006 08:02:50 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=bFsoR9Vj96C+SpbBU4DO6RQxymYGY+2IgsxumdBsFMDjYhNWMIB/UiiOg2SpU1eTrd3EkqVvHNfqWN5agtobOrueQX8dIGAKOk4h1L2RPJAdmqCRK/SaaemMXZr4yMzuihX9jfY1kczdUd1fw4SuhSAd5GqWZHpcsxCvz3a6aAQ= Received: by 10.67.101.10 with SMTP id d10mr3312127ugm; Fri, 06 Oct 2006 08:02:50 -0700 (PDT) Received: by 10.67.86.4 with HTTP; Fri, 6 Oct 2006 08:02:49 -0700 (PDT) Message-ID: <80f4f2b20610060802o4c6a91b3h15d468c45477f916@mail.gmail.com> Date: Fri, 6 Oct 2006 11:02:49 -0400 From: "Jim Stapleton" To: freebsd-mobile@freebsd.org In-Reply-To: <1160145794.5951.2.camel@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> <45264F1C.3070609@unsane.co.uk> <80f4f2b20610060555m2a9d9a4fvc8d36eddb97490e6@mail.gmail.com> <1160145794.5951.2.camel@localhost.localdomain> Subject: Re: Route #3 - USB 802.11 a/b/g X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2006 15:02:59 -0000 Perfect! I know that one is at my store. Thank you very much. -Jim Stapleton On 10/6/06, Giuseppe Argentieri wrote: > Il giorno ven, 06-10-2006 alle 08:55 -0400, Jim Stapleton ha scritto: > > > Ahh, thanks. > > > > Has anyone tried these? > > Linksys WUSB54G works very well for me: > > http://www.linksys.com/servlet/Satellite?c=L_Product_C2&childpagename=US > %2FLayout&cid=1118334818974&pagename=Linksys%2FCommon%2FVisitorWrapper > > Take a look to ural(4): > http://www.freebsd.org/cgi/man.cgi?query=ural&apropos=0&sektion=0&manpath=FreeBSD+6.1-RELEASE&format=html > > -- > Giuseppe > > > From owner-freebsd-mobile@FreeBSD.ORG Fri Oct 6 22:30:29 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 734C416A415 for ; Fri, 6 Oct 2006 22:30:29 +0000 (UTC) (envelope-from stapleton.41@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.174]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9E30443D46 for ; Fri, 6 Oct 2006 22:30:28 +0000 (GMT) (envelope-from stapleton.41@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so377417uge for ; Fri, 06 Oct 2006 15:30:27 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=DIpYkriqifVpESpbcLamCvTd3iOBKFjjdaTxGggq2gtvTXhg5k2SORFSqKFURPZSxwkZpwfdLoVVWGFnydEW6B/8NHssE2uhzPpkCFulGeO62wBG+TPTT+YMfezY/YvwjFpS9CmRtoAobGpgtEgfzlt/BwzXDdEqfEVI+n9rlPM= Received: by 10.66.240.12 with SMTP id n12mr3903416ugh; Fri, 06 Oct 2006 15:30:27 -0700 (PDT) Received: by 10.67.86.4 with HTTP; Fri, 6 Oct 2006 15:30:27 -0700 (PDT) Message-ID: <80f4f2b20610061530s4ac88289w16cb97cdbd9f52ef@mail.gmail.com> Date: Fri, 6 Oct 2006 18:30:27 -0400 From: "Jim Stapleton" To: freebsd-mobile@freebsd.org In-Reply-To: <80f4f2b20610060802o4c6a91b3h15d468c45477f916@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> <45264F1C.3070609@unsane.co.uk> <80f4f2b20610060555m2a9d9a4fvc8d36eddb97490e6@mail.gmail.com> <1160145794.5951.2.camel@localhost.localdomain> <80f4f2b20610060802o4c6a91b3h15d468c45477f916@mail.gmail.com> Subject: Re: Route #3 - USB 802.11 a/b/g X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2006 22:30:29 -0000 OK, I picked up a USB connector but am still having troubles. It's the D-Link listed in the driver page (sadly, it's the only thing the store had, the linksys were WUSB54GS and GSC, the belkin was a 3000 model instead of a 2000 model). Anyway, I get this when I try to connect, any ideas on what I should do next? sjss@aragorn 18:12:58 (0) ~ > sudo ifconfig ural0 inet 192.168.1.84 netmask 255.255.255.0 ssid my_ssid wepmode on wepkey 0x0123456789ABCDEF0123456789 media OFDM/54Mbps mediaopt hostap up sjss@aragorn -> root@aragorn: sjss@aragorn 18:13:38 (0) ~ > ifconfig -a ural0: flags=108843 mtu 1500 inet6 fe80::215:e9ff:fe2d:72c3%ural0 prefixlen 64 scopeid 0x2 inet 192.168.1.84 netmask 0xffffff00 broadcast 192.168.1.255 ether 00:15:e9:2d:72:c3 media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps (OFDM/54Mbps ) status: associated ssid my_ssid channel 1 bssid 00:15:e9:2d:72:c3 authmode OPEN privacy ON deftxkey UNDEF wepkey 1:104-bit txpowmax 100 protmode CTS dtimperiod 1 bintval 100 lo0: flags=8049 mtu 16384 inet6 ::1 prefixlen 128 inet6 fe80::1%lo0 prefixlen 64 scopeid 0x4 inet 127.0.0.1 netmask 0xff000000 sjss@aragorn 18:13:44 (0) ~ > ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1): 56 data bytes ping: sendto: Host is down ping: sendto: Host is down ping: sendto: Host is down ^C --- 192.168.1.1 ping statistics --- 8 packets transmitted, 0 packets received, 100% packet loss Thanks, -Jim On 10/6/06, Jim Stapleton wrote: > Perfect! I know that one is at my store. > > Thank you very much. > > -Jim Stapleton > > On 10/6/06, Giuseppe Argentieri wrote: > > Il giorno ven, 06-10-2006 alle 08:55 -0400, Jim Stapleton ha scritto: > > > > > Ahh, thanks. > > > > > > Has anyone tried these? > > > > Linksys WUSB54G works very well for me: > > > > http://www.linksys.com/servlet/Satellite?c=L_Product_C2&childpagename=US > > %2FLayout&cid=1118334818974&pagename=Linksys%2FCommon%2FVisitorWrapper > > > > Take a look to ural(4): > > http://www.freebsd.org/cgi/man.cgi?query=ural&apropos=0&sektion=0&manpath=FreeBSD+6.1-RELEASE&format=html > > > > -- > > Giuseppe > > > > > > > From owner-freebsd-mobile@FreeBSD.ORG Fri Oct 6 22:43:44 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EDEBD16A403 for ; Fri, 6 Oct 2006 22:43:44 +0000 (UTC) (envelope-from lars@e.0x20.net) Received: from mail.0x20.net (mail.0x20.net [217.69.67.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 80A5A43D46 for ; Fri, 6 Oct 2006 22:43:44 +0000 (GMT) (envelope-from lars@e.0x20.net) Received: by mail.0x20.net (Postfix, from userid 1002) id BD27434BB8; Sat, 7 Oct 2006 00:43:42 +0200 (CEST) Date: Sat, 7 Oct 2006 00:43:42 +0200 From: Lars Engels To: Jim Stapleton Message-ID: <20061006224342.GL65912@e.0x20.net> References: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> <45264F1C.3070609@unsane.co.uk> <80f4f2b20610060555m2a9d9a4fvc8d36eddb97490e6@mail.gmail.com> <1160145794.5951.2.camel@localhost.localdomain> <80f4f2b20610060802o4c6a91b3h15d468c45477f916@mail.gmail.com> <80f4f2b20610061530s4ac88289w16cb97cdbd9f52ef@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="yzvKDKJiLNESc64M" Content-Disposition: inline In-Reply-To: <80f4f2b20610061530s4ac88289w16cb97cdbd9f52ef@mail.gmail.com> X-Editor: VIM - Vi IMproved 7.0 User-Agent: Mutt/1.5.11 Cc: freebsd-mobile@freebsd.org Subject: Re: Route #3 - USB 802.11 a/b/g X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2006 22:43:45 -0000 --yzvKDKJiLNESc64M Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Jim, On Fri, Oct 06, 2006 at 06:30:27PM -0400, Jim Stapleton wrote: > Anyway, I get this when I try to connect, any ideas on what I should do= =20 > next? It depends on what you want to do. In your example, you create an access point and try to ping another host. Is that host connected to your newly created access point? > sjss@aragorn 18:12:58 (0) ~ > sudo ifconfig ural0 inet 192.168.1.84 > netmask 255.255.255.0 ssid my_ssid wepmode on wepkey > 0x0123456789ABCDEF0123456789 media OFDM/54Mbps mediaopt hostap up If you don't want to be an access point but connect to another one, invoke ifconfig like this: # ifconfig ural0 192.168.1.84 ssid your_ssid wep nwkey 0xyourkey weptxkey 1 (you don't need the inet keyword and the netmask if you use a standard netmask) If that is not what you want to do, forget this message ;-) Lars --yzvKDKJiLNESc64M Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFJtweKc512sD3afgRAt2vAKCayRrJyWOwSn6HqHY6DpTOhCxTQwCeIdn7 lorRQ3yqGFepStya/4lK0NE= =Z3mG -----END PGP SIGNATURE----- --yzvKDKJiLNESc64M-- From owner-freebsd-mobile@FreeBSD.ORG Fri Oct 6 23:22:55 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C04716A407 for ; Fri, 6 Oct 2006 23:22:55 +0000 (UTC) (envelope-from stapleton.41@gmail.com) Received: from ug-out-1314.google.com (ug-out-1314.google.com [66.249.92.171]) by mx1.FreeBSD.org (Postfix) with ESMTP id 345A643D55 for ; Fri, 6 Oct 2006 23:22:52 +0000 (GMT) (envelope-from stapleton.41@gmail.com) Received: by ug-out-1314.google.com with SMTP id m2so380389uge for ; Fri, 06 Oct 2006 16:22:51 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=OG67gm6Z7Hh3vLUNj/l8cATrTlf+bpIrEmcHBHWhk9GEmGaqmZqwgRDB/2JQmhEMp8DcLC2xrppVQn6Ywpk59EHSeLKP9DfBFofaCAefpL6VvXkrNPSVE1TbGWd5ErF4c84CDZyUJoI5Jn3POjJ3mcfpQ/nnX0AXhtHqWf/f0Ig= Received: by 10.66.216.6 with SMTP id o6mr3977625ugg; Fri, 06 Oct 2006 16:22:51 -0700 (PDT) Received: by 10.67.86.4 with HTTP; Fri, 6 Oct 2006 16:22:50 -0700 (PDT) Message-ID: <80f4f2b20610061622k522ec869x5b8340701535faf8@mail.gmail.com> Date: Fri, 6 Oct 2006 19:22:50 -0400 From: "Jim Stapleton" To: freebsd-mobile@freebsd.org In-Reply-To: <20061006224342.GL65912@e.0x20.net> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> <45264F1C.3070609@unsane.co.uk> <80f4f2b20610060555m2a9d9a4fvc8d36eddb97490e6@mail.gmail.com> <1160145794.5951.2.camel@localhost.localdomain> <80f4f2b20610060802o4c6a91b3h15d468c45477f916@mail.gmail.com> <80f4f2b20610061530s4ac88289w16cb97cdbd9f52ef@mail.gmail.com> <20061006224342.GL65912@e.0x20.net> Subject: Re: Route #3 - USB 802.11 a/b/g X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 06 Oct 2006 23:22:55 -0000 OK, that's interesting, I tried, that, and got this: ural0: flags=108843 mtu 1500 inet6 fe80::215:e9ff:fe2d:72c3%ural0 prefixlen 64 scopeid 0x4 inet 192.168.1.84 netmask 0xffffff00 broadcast 49.49.253.171 ether 00:15:e9:2d:72:c3 media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps (OFDM/54Mbps) status: no carrier ssid mine channel 6 authmode OPEN privacy ON deftxkey 1 txpowmax 100 protmode CTS bintval 100 I've tried replacing wep with wepkey, I've tried weptxkey 1 to 4, no luck on any of those. Any other suggestions? Thanks, -Jim On 10/6/06, Lars Engels wrote: > Hi Jim, > > > On Fri, Oct 06, 2006 at 06:30:27PM -0400, Jim Stapleton wrote: > > > Anyway, I get this when I try to connect, any ideas on what I should do > > next? > > It depends on what you want to do. In your example, you create an access > point and try to ping another host. Is that host connected to your > newly created access point? > > > sjss@aragorn 18:12:58 (0) ~ > sudo ifconfig ural0 inet 192.168.1.84 > > netmask 255.255.255.0 ssid my_ssid wepmode on wepkey > > 0x0123456789ABCDEF0123456789 media OFDM/54Mbps mediaopt hostap up > > If you don't want to be an access point but connect to another one, > invoke ifconfig like this: > > # ifconfig ural0 192.168.1.84 ssid your_ssid wep nwkey 0xyourkey weptxkey 1 > > (you don't need the inet keyword and the netmask if you use a standard > netmask) > > If that is not what you want to do, forget this message ;-) > > Lars > > > From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 15:01:07 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 04D2416A403 for ; Sat, 7 Oct 2006 15:01:07 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9185443D49 for ; Sat, 7 Oct 2006 15:01:06 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1GWDfk-0001e9-00; Sat, 07 Oct 2006 17:01:04 +0200 Date: Sat, 7 Oct 2006 17:01:03 +0200 To: Torfinn Ingolfsen Message-ID: <20061007150103.GL4945@poupinou.org> References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> <20061002124116.GF4945@poupinou.org> <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> <20061003082804.GG4945@poupinou.org> <20061003205438.26110696.torfinn.ingolfsen@broadpark.no> <20061004120243.GI4945@poupinou.org> <20061005194343.18138f38.torfinn.ingolfsen@broadpark.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061005194343.18138f38.torfinn.ingolfsen@broadpark.no> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-mobile@freebsd.org Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 15:01:07 -0000 On Thu, Oct 05, 2006 at 07:43:43PM +0200, Torfinn Ingolfsen wrote: > On Wed, 04 Oct 2006 14:02:43 +0200 > Bruno Ducrot wrote: > > > I would like to see the first 64 bytes, both with and without acpi. > > Ok, you'll get it. :-) > > > You mean under FreeBSD? > > Yes, it's part of the pciutils port (sysutils/pciutils). > > > If so you can use lspci -x instead of pciconf. Cheers, > Thanks. The device do not have a BAR when acpi is enabled. We therefore have to enable one. I think just by poking aroud some pci config registers onto the pci bridge will do the trick. Your ethernet card is attached to the bridge 0:1c:2. It's actually a PCIe one, and thanks to Intel we can get its datasheet at http://download.intel.com/design/chipsets/datashts/30701302.pdf Looking at this datasheet I think we have to look more carrefully to register 0x04 (halfword), 0x20h, 0x24, 0x28 and 0x2c. Looking them both with and without acpi and comparing them will allows us to know hopefully how to enable the first BAR to the correct adress for your ethernet card. In short, if you can first boot without ACPI, then perform pciconf -r -h pci0:28:2 4 pciconf -r pci0:28:2 0x20 pciconf -r pci0:28:2 0x24 pciconf -r pci0:28:2 0x28 pciconf -r pci0:28:2 0x2c Also do a dump in order to check if something else might be needed: pciconf -r -b pci0:28:2 0:256 Boot with ACPI enabled: do the same pciconf stuff, then send me the output. I think we should be able to check if restoring those registers under ACPI will configure correctly the ethernet device by doing a lspci -v -s 4:0.0 After that, we should be able to correct your problem, either by 1- hacking the DSDT, OR 2- hacking pcib.c. (at your option). Cheers, -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 16:05:45 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7060A16A407 for ; Sat, 7 Oct 2006 16:05:45 +0000 (UTC) (envelope-from felix.schalck@gmx.net) Received: from mail.gmx.net (mail.gmx.de [213.165.64.20]) by mx1.FreeBSD.org (Postfix) with SMTP id 81E6943D53 for ; Sat, 7 Oct 2006 16:05:44 +0000 (GMT) (envelope-from felix.schalck@gmx.net) Received: (qmail invoked by alias); 07 Oct 2006 16:05:43 -0000 Received: from e041.dhcp212-198-184.noos.fr (EHLO [192.168.1.109]) [212.198.184.41] by mail.gmx.net (mp006) with SMTP; 07 Oct 2006 18:05:43 +0200 X-Authenticated: #23426003 Message-ID: <4527D055.6050709@gmx.net> Date: Sat, 07 Oct 2006 18:05:41 +0200 From: "felix.schalck" User-Agent: Thunderbird 1.5.0.5 (X11/20060828) MIME-Version: 1.0 To: freebsd-mobile@freebsd.org Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 Subject: netgear wg511t pccard on Clevo m120_w X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 16:05:45 -0000 Hi, I'm trying to get the Netgear wg511t working under 6.x. Card works well under linux. Dmesg shows: -------- #dmesg | grep card cardbus0: on cbb0 pccard0: <16-bit PCCard bus> on cbb0 --------- rc.conf: pccard_enable="YES" --------- but when I insert the card: nothing. What can I do ? Thanks for help. Felix From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 16:07:53 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id AE1ED16A412 for ; Sat, 7 Oct 2006 16:07:53 +0000 (UTC) (envelope-from lars@e.0x20.net) Received: from mail.0x20.net (mail.0x20.net [217.69.67.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 2BF1143D5A for ; Sat, 7 Oct 2006 16:07:53 +0000 (GMT) (envelope-from lars@e.0x20.net) Received: by mail.0x20.net (Postfix, from userid 1002) id 30180354B9; Sat, 7 Oct 2006 18:07:52 +0200 (CEST) Date: Sat, 7 Oct 2006 18:07:52 +0200 From: Lars Engels To: "felix.schalck" Message-ID: <20061007160752.GQ65912@e.0x20.net> References: <4527D055.6050709@gmx.net> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="YS7t75H5cNTCpbja" Content-Disposition: inline In-Reply-To: <4527D055.6050709@gmx.net> X-Editor: VIM - Vi IMproved 7.0 User-Agent: Mutt/1.5.11 Cc: freebsd-mobile@freebsd.org Subject: Re: netgear wg511t pccard on Clevo m120_w X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 16:07:53 -0000 --YS7t75H5cNTCpbja Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sat, Oct 07, 2006 at 06:05:41PM +0200, felix.schalck wrote: > Hi, >=20 > I'm trying to get the Netgear wg511t working under 6.x. > Card works well under linux. > Dmesg shows: > -------- > #dmesg | grep card > cardbus0: on cbb0 > pccard0: <16-bit PCCard bus> on cbb0 > --------- > rc.conf: > pccard_enable=3D"YES" > --------- >=20 > but when I insert the card: nothing. >=20 > What can I do ? >=20 > Thanks for help. >=20 > Felix Check, if you have if_ath.ko is loaded (kldstat -v | grep ath) Lars --YS7t75H5cNTCpbja Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFJ9DYKc512sD3afgRAnFnAKCrvqw2BRLmTP1/R1oqa2LNDGipdACfZ6ny Qqa9DG99nzjqushEvrHKCQw= =LnVv -----END PGP SIGNATURE----- --YS7t75H5cNTCpbja-- From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 16:17:08 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 91D9616A49E for ; Sat, 7 Oct 2006 16:17:08 +0000 (UTC) (envelope-from felix.schalck@gmx.net) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.FreeBSD.org (Postfix) with SMTP id AC23743D67 for ; Sat, 7 Oct 2006 16:17:07 +0000 (GMT) (envelope-from felix.schalck@gmx.net) Received: (qmail invoked by alias); 07 Oct 2006 16:17:06 -0000 Received: from e041.dhcp212-198-184.noos.fr (EHLO [192.168.1.109]) [212.198.184.41] by mail.gmx.net (mp016) with SMTP; 07 Oct 2006 18:17:06 +0200 X-Authenticated: #23426003 Message-ID: <4527D300.1040902@gmx.net> Date: Sat, 07 Oct 2006 18:17:04 +0200 From: "felix.schalck" User-Agent: Thunderbird 1.5.0.5 (X11/20060828) MIME-Version: 1.0 To: Lars Engels References: <4527D055.6050709@gmx.net> <20061007160752.GQ65912@e.0x20.net> In-Reply-To: <20061007160752.GQ65912@e.0x20.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 Cc: freebsd-mobile@freebsd.org Subject: Re: netgear wg511t pccard on Clevo m120_w X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 16:17:08 -0000 Lars Engels wrote: > On Sat, Oct 07, 2006 at 06:05:41PM +0200, felix.schalck wrote: > >> Hi, >> >> I'm trying to get the Netgear wg511t working under 6.x. >> Card works well under linux. >> Dmesg shows: >> -------- >> #dmesg | grep card >> cardbus0: on cbb0 >> pccard0: <16-bit PCCard bus> on cbb0 >> --------- >> rc.conf: >> pccard_enable="YES" >> --------- >> >> but when I insert the card: nothing. >> >> What can I do ? >> >> Thanks for help. >> >> Felix >> > > Check, if you have if_ath.ko is loaded (kldstat -v | grep ath) > > Lars > Yauu: that was fast ! Thanks a lot for your response. Yes if_ath loaded: kldstat -v | grep ath 28 ath_hal 37 ath_rate 38 pci/if_ath 39 cardbus/if_ath What else can i inverstigate ? Felix From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 16:26:25 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C4EF316A403 for ; Sat, 7 Oct 2006 16:26:25 +0000 (UTC) (envelope-from dana.ferguson@hughes.net) Received: from n126.sc0.cp.net (smtpout1066.sc0.he.tucows.com [64.97.144.66]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1CE3F43D5A for ; Sat, 7 Oct 2006 16:26:24 +0000 (GMT) (envelope-from dana.ferguson@hughes.net) Received: from FreeBSD (72.169.28.123) by n126.sc0.cp.net (7.2.069.1) (authenticated as dana.ferguson@hughes.net) id 4527468A0000B1DE; Sat, 7 Oct 2006 16:26:11 +0000 From: Dana Ferguson To: "felix.schalck" In-Reply-To: <4527D300.1040902@gmx.net> References: <4527D055.6050709@gmx.net> <20061007160752.GQ65912@e.0x20.net> <4527D300.1040902@gmx.net> Date: Sat, 07 Oct 2006 09:26:35 -0700 Message-Id: <1160238395.2013.7.camel@FreeBSD.> Mime-Version: 1.0 X-Mailer: Evolution 2.4.2.1 FreeBSD GNOME Team Port Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Lars Engels , freebsd-mobile@freebsd.org Subject: Re: netgear wg511t pccard on Clevo m120_w X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 16:26:25 -0000 Opps forgot the list... Here is how my Atheros A/B/G card is set up in rc.conf. # -- sysinstall generated deltas -- # Sun Sep 17 13:05:14 2006 # Created: Sun Sep 17 13:05:14 2006 # Enable network daemons for user convenience. # Please make all changes to this file, not to /etc/defaults/rc.conf. # This file now contains just the overrides from /etc/defaults/rc.conf. inetd_enable=YES nfs_client_enable=YES sshd_enable=YES nisdomainname="fergus" nis_client_enable=YES gdm_enable="YES" usbd_enable=YES hostname=FreeBSD. ifconfig_ath0="dhcp ssid Ferguson_Ranch" ntpd_enable=YES sendmail_enable=YES network_interfaces=ath0 Dana On Sat, 2006-10-07 at 18:17 +0200, felix.schalck wrote: > Lars Engels wrote: > > On Sat, Oct 07, 2006 at 06:05:41PM +0200, felix.schalck wrote: > > > >> Hi, > >> > >> I'm trying to get the Netgear wg511t working under 6.x. > >> Card works well under linux. > >> Dmesg shows: > >> -------- > >> #dmesg | grep card > >> cardbus0: on cbb0 > >> pccard0: <16-bit PCCard bus> on cbb0 > >> --------- > >> rc.conf: > >> pccard_enable="YES" > >> --------- > >> > >> but when I insert the card: nothing. > >> > >> What can I do ? > >> > >> Thanks for help. > >> > >> Felix > >> > > > > Check, if you have if_ath.ko is loaded (kldstat -v | grep ath) > > > > Lars > > > Yauu: that was fast ! Thanks a lot for your response. > Yes if_ath loaded: > > kldstat -v | grep ath > 28 ath_hal > 37 ath_rate > 38 pci/if_ath > 39 cardbus/if_ath > > What else can i inverstigate ? > > Felix > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 16:39:46 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3F32616A492 for ; Sat, 7 Oct 2006 16:39:46 +0000 (UTC) (envelope-from felix.schalck@gmx.net) Received: from mail.gmx.net (mail.gmx.net [213.165.64.20]) by mx1.FreeBSD.org (Postfix) with SMTP id 0975843D7E for ; Sat, 7 Oct 2006 16:39:43 +0000 (GMT) (envelope-from felix.schalck@gmx.net) Received: (qmail invoked by alias); 07 Oct 2006 16:39:43 -0000 Received: from e041.dhcp212-198-184.noos.fr (EHLO [192.168.1.109]) [212.198.184.41] by mail.gmx.net (mp030) with SMTP; 07 Oct 2006 18:39:43 +0200 X-Authenticated: #23426003 Message-ID: <4527D84C.5050308@gmx.net> Date: Sat, 07 Oct 2006 18:39:40 +0200 From: "felix.schalck" User-Agent: Thunderbird 1.5.0.5 (X11/20060828) MIME-Version: 1.0 To: Dana Ferguson References: <4527D055.6050709@gmx.net> <20061007160752.GQ65912@e.0x20.net> <4527D300.1040902@gmx.net> <1160238395.2013.7.camel@FreeBSD.> In-Reply-To: <1160238395.2013.7.camel@FreeBSD.> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 Cc: Lars Engels , freebsd-mobile@freebsd.org Subject: Re: netgear wg511t pccard on Clevo m120_w X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 16:39:46 -0000 Dana Ferguson wrote: > Opps forgot the list... > > Here is how my Atheros A/B/G card is set up in rc.conf. > > > # -- sysinstall generated deltas -- # Sun Sep 17 13:05:14 2006 > # Created: Sun Sep 17 13:05:14 2006 > # Enable network daemons for user convenience. > # Please make all changes to this file, not to /etc/defaults/rc.conf. > # This file now contains just the overrides from /etc/defaults/rc.conf. > inetd_enable=YES > nfs_client_enable=YES > sshd_enable=YES > nisdomainname="fergus" > nis_client_enable=YES > gdm_enable="YES" > usbd_enable=YES > hostname=FreeBSD. > ifconfig_ath0="dhcp ssid Ferguson_Ranch" > ntpd_enable=YES > sendmail_enable=YES > network_interfaces=ath0 > > Dana > > > On Sat, 2006-10-07 at 18:17 +0200, felix.schalck wrote: > > >> Lars Engels wrote: >> >>> On Sat, Oct 07, 2006 at 06:05:41PM +0200, felix.schalck wrote: >>> >>> >>>> Hi, >>>> >>>> I'm trying to get the Netgear wg511t working under 6.x. >>>> Card works well under linux. >>>> Dmesg shows: >>>> -------- >>>> #dmesg | grep card >>>> cardbus0: on cbb0 >>>> pccard0: <16-bit PCCard bus> on cbb0 >>>> --------- >>>> rc.conf: >>>> pccard_enable="YES" >>>> --------- >>>> >>>> but when I insert the card: nothing. >>>> >>>> What can I do ? >>>> >>>> Thanks for help. >>>> >>>> Felix >>>> >>>> >>> Check, if you have if_ath.ko is loaded (kldstat -v | grep ath) >>> >>> Lars >>> >>> >> Yauu: that was fast ! Thanks a lot for your response. >> Yes if_ath loaded: >> >> kldstat -v | grep ath >> 28 ath_hal >> 37 ath_rate >> 38 pci/if_ath >> 39 cardbus/if_ath >> >> What else can i inverstigate ? >> >> Felix >> Thanks for help, but i don't think my problem is a inet config prob. Trying to find a solution, I enabled cardbus debug. Here is what I get, when I insert the card: Status is 0x30000086 Status is 0x30000820 cbb0: card inserted: event=0x00000000, state=30000820 cbb0: cbb_power: 3V cbb0: cbb_power: 0V Any ideas from here ? Thanks a lot, Felix >> _______________________________________________ >> freebsd-mobile@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-mobile >> To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" >> > _______________________________________________ > freebsd-mobile@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-mobile > To unsubscribe, send any mail to "freebsd-mobile-unsubscribe@freebsd.org" > > > From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 16:46:44 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 788C816A412 for ; Sat, 7 Oct 2006 16:46:44 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1smout1.broadpark.no (osl1smout1.broadpark.no [80.202.4.58]) by mx1.FreeBSD.org (Postfix) with ESMTP id DE08B43D5C for ; Sat, 7 Oct 2006 16:46:43 +0000 (GMT) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1sminn1.broadpark.no ([80.202.4.59]) by osl1smout1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with ESMTP id <0J6R00972YLU5WB0@osl1smout1.broadpark.no> for freebsd-mobile@freebsd.org; Sat, 07 Oct 2006 18:46:43 +0200 (CEST) Received: from kg-work.kg4.no ([80.203.21.224]) by osl1sminn1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with SMTP id <0J6R00HHDYLUGR80@osl1sminn1.broadpark.no> for freebsd-mobile@freebsd.org; Sat, 07 Oct 2006 18:46:42 +0200 (CEST) Date: Sat, 07 Oct 2006 18:46:42 +0200 From: Torfinn Ingolfsen X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH In-reply-to: <20061007150103.GL4945@poupinou.org> To: freebsd-mobile@freebsd.org Message-id: <20061007184642.3869de58.torfinn.ingolfsen@broadpark.no> MIME-version: 1.0 X-Mailer: Sylpheed version 2.2.9 (GTK+ 2.8.20; i386-portbld-freebsd5.5) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> <20061002124116.GF4945@poupinou.org> <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> <20061003082804.GG4945@poupinou.org> <20061003205438.26110696.torfinn.ingolfsen@broadpark.no> <20061004120243.GI4945@poupinou.org> <20061005194343.18138f38.torfinn.ingolfsen@broadpark.no> <20061007150103.GL4945@poupinou.org> Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 16:46:44 -0000 On Sat, 07 Oct 2006 17:01:03 +0200 Bruno Ducrot wrote: > Thanks. The device do not have a BAR when acpi is enabled. We > therefore have to enable one. I think just by poking aroud some pci > config registers onto the pci bridge will do the trick. Your Ok. I'm wondering; will output from lspci under Linux help you get at the info more easily? I have Xubuntu installed on a partition on this machine, so it is easy for me to do that, if you wish. > Looking at this datasheet I think we have to look more carrefully to > register 0x04 (halfword), 0x20h, 0x24, 0x28 and 0x2c. > Looking them both with and without acpi and comparing them will allows > us to know hopefully how to enable the first BAR to the correct adress > for your ethernet card. In short, if you can first boot without ACPI, > then perform > pciconf -r -h pci0:28:2 4 > pciconf -r pci0:28:2 0x20 > pciconf -r pci0:28:2 0x24 > pciconf -r pci0:28:2 0x28 > pciconf -r pci0:28:2 0x2c > > Also do a dump in order to check if something else might be needed: > pciconf -r -b pci0:28:2 0:256 > > Boot with ACPI enabled: > do the same pciconf stuff, then send me the output. Done. I've sent you the files via email, and also uploaded them to the web page, in case anyone else wants them for some reason. Webpage: http://tingox.googlepages.com/aceraspireas5672andfreebsd > After that, we should be able to correct your problem, either by > 1- hacking the DSDT, > OR > 2- hacking pcib.c. > (at your option). I think hacking the DSDT is the more politically correct option, but either one will work for me. -- Regards, Torfinn Ingolfsen, Norway From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 19:03:52 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id BC13716A40F for ; Sat, 7 Oct 2006 19:03:52 +0000 (UTC) (envelope-from ducrot@poupinou.org) Received: from poup.poupinou.org (poup.poupinou.org [195.101.94.96]) by mx1.FreeBSD.org (Postfix) with ESMTP id E124F43D7D for ; Sat, 7 Oct 2006 19:03:51 +0000 (GMT) (envelope-from ducrot@poupinou.org) Received: from ducrot by poup.poupinou.org with local (Exim) id 1GWHSf-00048V-00; Sat, 07 Oct 2006 21:03:49 +0200 Date: Sat, 7 Oct 2006 21:03:49 +0200 To: Torfinn Ingolfsen Message-ID: <20061007190349.GM4945@poupinou.org> References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> <20061002124116.GF4945@poupinou.org> <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> <20061003082804.GG4945@poupinou.org> <20061003205438.26110696.torfinn.ingolfsen@broadpark.no> <20061004120243.GI4945@poupinou.org> <20061005194343.18138f38.torfinn.ingolfsen@broadpark.no> <20061007150103.GL4945@poupinou.org> <20061007184642.3869de58.torfinn.ingolfsen@broadpark.no> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20061007184642.3869de58.torfinn.ingolfsen@broadpark.no> User-Agent: Mutt/1.5.9i From: Bruno Ducrot Cc: freebsd-mobile@freebsd.org Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 19:03:52 -0000 On Sat, Oct 07, 2006 at 06:46:42PM +0200, Torfinn Ingolfsen wrote: > On Sat, 07 Oct 2006 17:01:03 +0200 > Bruno Ducrot wrote: > > > Thanks. The device do not have a BAR when acpi is enabled. We > > therefore have to enable one. I think just by poking aroud some pci > > config registers onto the pci bridge will do the trick. Your > > Ok. I'm wondering; will output from lspci under Linux help you get at > the info more easily? I have Xubuntu installed on a partition on this > machine, so it is easy for me to do that, if you wish. Well, I don't know if that will be helpful. Humm, maybe a dmesg? > > Looking at this datasheet I think we have to look more carrefully to > > register 0x04 (halfword), 0x20h, 0x24, 0x28 and 0x2c. > > Looking them both with and without acpi and comparing them will allows > > us to know hopefully how to enable the first BAR to the correct adress > > for your ethernet card. In short, if you can first boot without ACPI, > > then perform > > pciconf -r -h pci0:28:2 4 > > pciconf -r pci0:28:2 0x20 > > pciconf -r pci0:28:2 0x24 > > pciconf -r pci0:28:2 0x28 > > pciconf -r pci0:28:2 0x2c > > > > Also do a dump in order to check if something else might be needed: > > pciconf -r -b pci0:28:2 0:256 > > > > Boot with ACPI enabled: > > do the same pciconf stuff, then send me the output. > > Done. I've sent you the files via email, and also uploaded them to the > web page, in case anyone else wants them for some reason. Webpage: > http://tingox.googlepages.com/aceraspireas5672andfreebsd > > > After that, we should be able to correct your problem, either by > > 1- hacking the DSDT, > > OR > > 2- hacking pcib.c. > > (at your option). > > I think hacking the DSDT is the more politically correct option, but > either one will work for me. Ok. First remove device bge in your kernel config. For example create a config file with: >>> BEGIN include GENERIC ident MYKERNEL (or what you like) nodevice bge <<< END After rebuilding and installing your kernel, you can do something like that: pciconf -w pci0:28:2 0xd8 0x04110008 pciconf -w -h pci0:28:2 0x58 0x0000 pciconf -w pci0:28:2 0x24 0x0001fff1 pciconf -w pci0:28:2 0x20 0xc830c830 pciconf -w -h pci0:28:2 0x04 0x0007 After that, you should be able to kldload if_bge and report back if this work. In that case I will modify the DSDT so that you won't to worry about all of those pciconf stuff. Good night! -- Bruno Ducrot -- Which is worse: ignorance or apathy? -- Don't know. Don't care. From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 22:25:04 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 6AB7616A412 for ; Sat, 7 Oct 2006 22:25:04 +0000 (UTC) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1smout1.broadpark.no (osl1smout1.broadpark.no [80.202.4.58]) by mx1.FreeBSD.org (Postfix) with ESMTP id CF95B43D46 for ; Sat, 7 Oct 2006 22:25:03 +0000 (GMT) (envelope-from torfinn.ingolfsen@broadpark.no) Received: from osl1sminn1.broadpark.no ([80.202.4.59]) by osl1smout1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with ESMTP id <0J6S00CHAE9QT2B0@osl1smout1.broadpark.no> for freebsd-mobile@freebsd.org; Sun, 08 Oct 2006 00:25:02 +0200 (CEST) Received: from kg-work.kg4.no ([80.203.21.224]) by osl1sminn1.broadpark.no (Sun Java System Messaging Server 6.1 HotFix 0.05 (built Oct 21 2004)) with SMTP id <0J6S00IVQE9QLBT0@osl1sminn1.broadpark.no> for freebsd-mobile@freebsd.org; Sun, 08 Oct 2006 00:25:02 +0200 (CEST) Date: Sun, 08 Oct 2006 00:25:02 +0200 From: Torfinn Ingolfsen X-Face: "t9w2,-X@O^I`jVW\sonI3.,36KBLZE*AL[y9lL[PyFD*r_S:dIL9c[8Y>V42R0"!"yb_zN,f#%.[PYYNq; m"_0v; ~rUM2Yy!zmkh)3&U|u!=T(zyv,MHJv"nDH>OJ`t(@mil461d_B'Uo|'nMwlKe0Mv=kvV?Nh@>Hb<3s_z2jYgZhPb@?Wi^x1a~Hplz1.zH In-reply-to: <20061007190349.GM4945@poupinou.org> To: freebsd-mobile@freebsd.org Message-id: <20061008002502.4c369ea5.torfinn.ingolfsen@broadpark.no> MIME-version: 1.0 X-Mailer: Sylpheed version 2.2.9 (GTK+ 2.8.20; i386-portbld-freebsd5.5) Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7BIT References: <20060930001213.a59d721c.torfinn.ingolfsen@broadpark.no> <20061002124116.GF4945@poupinou.org> <20061002203457.22fe5007.torfinn.ingolfsen@broadpark.no> <20061003082804.GG4945@poupinou.org> <20061003205438.26110696.torfinn.ingolfsen@broadpark.no> <20061004120243.GI4945@poupinou.org> <20061005194343.18138f38.torfinn.ingolfsen@broadpark.no> <20061007150103.GL4945@poupinou.org> <20061007184642.3869de58.torfinn.ingolfsen@broadpark.no> <20061007190349.GM4945@poupinou.org> Subject: Re: Acer Aspire 5672 and FreeBSD 6.2-beta1 X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 22:25:04 -0000 On Sat, 07 Oct 2006 21:03:49 +0200 Bruno Ducrot wrote: > > Ok. I'm wondering; will output from lspci under Linux help you get > > at the info more easily? I have Xubuntu installed on a partition on > > this machine, so it is easy for me to do that, if you wish. > > Well, I don't know if that will be helpful. Humm, maybe a dmesg? Oh, I should have thought about that before. Anyway, you'll find the dmesg for Xubuntu 6.06 on the Xubuntu page: http://tingox.googlepages.com/as5672_xubuntu > Ok. First remove device bge in your kernel config. For example Done. I also checked that if_bge could be loaded and was working with acpi disabled - everything ok. > you can do something like that: > pciconf -w pci0:28:2 0xd8 0x04110008 > > pciconf -w -h pci0:28:2 0x58 0x0000 > > pciconf -w pci0:28:2 0x24 0x0001fff1 > pciconf -w pci0:28:2 0x20 0xc830c830 > > pciconf -w -h pci0:28:2 0x04 0x0007 I've tried twice, and double verified that I type the commands correctly. after the last command, the machine locks up solid. Nothing moves locally (caps lock led doesn't respond, front switches for bluetooth and wireless network doesn't make their LEDs active, and so on), and the machine doesn't respond over the network either (no pings, no nothing). Everything looks fine, until I press enter on that last command. -- Regards, Torfinn Ingolfsen From owner-freebsd-mobile@FreeBSD.ORG Sat Oct 7 22:49:56 2006 Return-Path: X-Original-To: freebsd-mobile@freebsd.org Delivered-To: freebsd-mobile@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D184A16A403 for ; Sat, 7 Oct 2006 22:49:56 +0000 (UTC) (envelope-from lars@e.0x20.net) Received: from mail.0x20.net (mail.0x20.net [217.69.67.217]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0D33143D46 for ; Sat, 7 Oct 2006 22:49:50 +0000 (GMT) (envelope-from lars@e.0x20.net) Received: by mail.0x20.net (Postfix, from userid 1002) id 645DA33CC5; Sun, 8 Oct 2006 00:49:49 +0200 (CEST) Date: Sun, 8 Oct 2006 00:49:49 +0200 From: Lars Engels To: Jim Stapleton Message-ID: <20061007224949.GB62285@e.0x20.net> References: <80f4f2b20610060523y636701b7md93ae0d586ef69fe@mail.gmail.com> <45264F1C.3070609@unsane.co.uk> <80f4f2b20610060555m2a9d9a4fvc8d36eddb97490e6@mail.gmail.com> <1160145794.5951.2.camel@localhost.localdomain> <80f4f2b20610060802o4c6a91b3h15d468c45477f916@mail.gmail.com> <80f4f2b20610061530s4ac88289w16cb97cdbd9f52ef@mail.gmail.com> <20061006224342.GL65912@e.0x20.net> <80f4f2b20610061622k522ec869x5b8340701535faf8@mail.gmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="GRPZ8SYKNexpdSJ7" Content-Disposition: inline In-Reply-To: <80f4f2b20610061622k522ec869x5b8340701535faf8@mail.gmail.com> X-Editor: VIM - Vi IMproved 7.0 User-Agent: Mutt/1.5.11 Cc: freebsd-mobile@freebsd.org Subject: Re: Route #3 - USB 802.11 a/b/g X-BeenThere: freebsd-mobile@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Mobile computing with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 07 Oct 2006 22:49:56 -0000 --GRPZ8SYKNexpdSJ7 Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri, Oct 06, 2006 at 07:22:50PM -0400, Jim Stapleton wrote: > OK, that's interesting, I tried, that, and got this: >=20 > ural0: flags=3D108843 = mtu=20 > 1500 > inet6 fe80::215:e9ff:fe2d:72c3%ural0 prefixlen 64 scopeid 0x4 > inet 192.168.1.84 netmask 0xffffff00 broadcast 49.49.253.171 > ether 00:15:e9:2d:72:c3 > media: IEEE 802.11 Wireless Ethernet OFDM/54Mbps (OFDM/54Mbps) > status: no carrier > ssid mine channel 6 > authmode OPEN privacy ON deftxkey 1 txpowmax 100 protmode CTS > bintval 100 >=20 > I've tried replacing wep with wepkey, I've tried weptxkey 1 to 4, no > luck on any of those. >=20 > Any other suggestions? >=20 Perhaps the authmode needs to be set to SHARED? --GRPZ8SYKNexpdSJ7 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (FreeBSD) iD8DBQFFKC8NKc512sD3afgRAmxQAJ9dC9BsHn5MAQuCKAY5sB7+fot3QQCgxdFD pO/Phtur+Mj4w+o5zycSEKg= =2ABE -----END PGP SIGNATURE----- --GRPZ8SYKNexpdSJ7--