From owner-freebsd-alpha Tue Jan 1 6:17:50 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by hub.freebsd.org (Postfix) with ESMTP id 5E4AF37B422; Tue, 1 Jan 2002 06:17:48 -0800 (PST) Received: by flood.ping.uio.no (Postfix, from userid 2602) id BF02F14C57; Tue, 1 Jan 2002 15:17:46 +0100 (CET) X-URL: http://www.ofug.org/~des/ X-Disclaimer: The views expressed in this message do not necessarily coincide with those of any organisation or company with which I am or have been affiliated. To: admins@freebsd.org Cc: alpha@freebsd.org Subject: beast out of date From: Dag-Erling Smorgrav Date: 01 Jan 2002 15:17:46 +0100 Message-ID: Lines: 6 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Beast's config(8) is out of date again - could somebody please rebuild it? DES -- Dag-Erling Smorgrav - des@ofug.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Tue Jan 1 6:47:15 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from flood.ping.uio.no (flood.ping.uio.no [129.240.78.31]) by hub.freebsd.org (Postfix) with ESMTP id 0D82B37B428 for ; Tue, 1 Jan 2002 06:47:02 -0800 (PST) Received: by flood.ping.uio.no (Postfix, from userid 2602) id 7185414C53; Tue, 1 Jan 2002 15:46:58 +0100 (CET) X-URL: http://www.ofug.org/~des/ X-Disclaimer: The views expressed in this message do not necessarily coincide with those of any organisation or company with which I am or have been affiliated. To: mjacob@feral.com Cc: alpha@freebsd.org Subject: Re: fyi: incomplete change for procfs? References: From: Dag-Erling Smorgrav Date: 01 Jan 2002 15:46:57 +0100 In-Reply-To: Message-ID: Lines: 9 User-Agent: Gnus/5.0808 (Gnus v5.8.8) Emacs/21.1 MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Matthew Jacob writes: > warnings when compiling modules: Fixed; osf1_signal.c doesn't actually need procfs.h. I don't know why it was included. DES -- Dag-Erling Smorgrav - des@ofug.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Tue Jan 1 9:52:40 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from aismail.ais.msu.edu (ais.msu.edu [35.8.113.169]) by hub.freebsd.org (Postfix) with ESMTP id 68BF137B41D; Tue, 1 Jan 2002 09:52:37 -0800 (PST) Received: by ais.msu.edu with Internet Mail Service (5.5.2653.19) id ; Tue, 1 Jan 2002 12:52:36 -0500 Message-ID: <17F0EC17EF87D311BF65009027D3C39D01FC29F3@ais.msu.edu> From: "Murphy, Patrick" To: 'John Baldwin' Cc: freebsd-alpha@freebsd.org Subject: RE: Clock Skew on 5.0-CURRENT SMP Alpha 2100A/250 3 engine machi Date: Tue, 1 Jan 2002 12:52:36 -0500 MIME-Version: 1.0 X-Mailer: Internet Mail Service (5.5.2653.19) Content-Type: text/plain; charset="iso-8859-1" Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Can you point me to the place where the clock freq is determined/set? Also, how do I tell if SMP is on? Pat. -----Original Message----- From: John Baldwin [mailto:jhb@FreeBSD.org] Sent: Saturday, December 29, 2001 2:28 AM To: Murphy, Patrick Cc: freebsd-alpha@freebsd.org Subject: RE: Clock Skew on 5.0-CURRENT SMP Alpha 2100A/250 3 engine machi On 28-Dec-01 Murphy, Patrick wrote: > Does anyone know a way to fix the clock skew on an SMP alpha machine? I am > running 5.0-CURRENT as of 2001/12/27. The system clock is falling behind > quickly. The machine has 3 250Mhz engines. Running a "sleep 10" command > actually sleeps for 20 seconds. > > I am not as concerned about sleep taking so long as I am keeping the clock > accurate for system processes and file time stamps. > > Patrick Murphy > Michigan State University Hmm, the clock on the 2100A is known to run at about 1/2 speed (or so it feels like) on an SMP kernel. Not sure how to fix this. You can try playing around with it. Perhaps halving the clock freq if SMP is detected for the 2100 family? -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Tue Jan 1 23: 6: 4 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from mail11.speakeasy.net (mail11.speakeasy.net [216.254.0.211]) by hub.freebsd.org (Postfix) with ESMTP id 89C4F37B42A for ; Tue, 1 Jan 2002 23:05:50 -0800 (PST) Received: (qmail 30982 invoked from network); 2 Jan 2002 07:05:50 -0000 Received: from unknown (HELO laptop.baldwin.cx) ([64.81.54.73]) (envelope-sender ) by mail11.speakeasy.net (qmail-ldap-1.03) with SMTP for ; 2 Jan 2002 07:05:50 -0000 Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <17F0EC17EF87D311BF65009027D3C39D01FC29F3@ais.msu.edu> Date: Tue, 01 Jan 2002 23:05:39 -0800 (PST) From: John Baldwin To: "Murphy, Patrick" Subject: RE: Clock Skew on 5.0-CURRENT SMP Alpha 2100A/250 3 engine machi Cc: freebsd-alpha@freebsd.org Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On 01-Jan-02 Murphy, Patrick wrote: > Can you point me to the place where the clock freq is determined/set? Also, > how do I tell if SMP is on? To tell if SMP is active, use #ifdef SMP and then if (mp_ncpus > 1). As far as where the clock freq is determined, I assume it's in alpha/alpha/clock.c somewhere, but not sure where. > Pat. > > -----Original Message----- > From: John Baldwin [mailto:jhb@FreeBSD.org] > Sent: Saturday, December 29, 2001 2:28 AM > To: Murphy, Patrick > Cc: freebsd-alpha@freebsd.org > Subject: RE: Clock Skew on 5.0-CURRENT SMP Alpha 2100A/250 3 engine > machi > > > > On 28-Dec-01 Murphy, Patrick wrote: >> Does anyone know a way to fix the clock skew on an SMP alpha machine? I > am >> running 5.0-CURRENT as of 2001/12/27. The system clock is falling behind >> quickly. The machine has 3 250Mhz engines. Running a "sleep 10" command >> actually sleeps for 20 seconds. >> >> I am not as concerned about sleep taking so long as I am keeping the clock >> accurate for system processes and file time stamps. >> >> Patrick Murphy >> Michigan State University > > Hmm, the clock on the 2100A is known to run at about 1/2 speed (or so it > feels > like) on an SMP kernel. Not sure how to fix this. You can try playing > around > with it. Perhaps halving the clock freq if SMP is detected for the 2100 > family? > > -- > > John Baldwin <>< http://www.FreeBSD.org/~jhb/ > "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Wed Jan 2 13: 8: 6 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from mx8.airmail.net (mx8.airmail.net [209.196.77.105]) by hub.freebsd.org (Postfix) with ESMTP id BF75337B405; Wed, 2 Jan 2002 13:06:48 -0800 (PST) Received: from mail2.iadfw.net ([206.66.12.234]) by mx8.airmail.net with smtp (Exim 3.16 #10) id 16Lsb3-0004fT-00; Wed, 02 Jan 2002 15:06:49 -0600 Received: from smtp.pdq.net from [209.144.226.235] by mail2.iadfw.net (/\##/\ Smail3.1.30.16 #30.61) with smtp for sender: id ; Wed, 2 Jan 2002 15:06:26 -0600 (CST) Message-Id: Date: Wed, 2 Jan 2002 15:06:26 -0600 (CST) Apparently-To: , , , From: Cabinets SUBJECT: Article I: Terms Section 1.1 Landlord:. X-MSMail-Priority: Normal X-Priority: 3 X-Mailer: Microsoft Outlook Express 5.00.2919.6600 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_NextPart_000_004F_019E1AC9.602AC900" Content-Transfer-Encoding: 7bit To: undisclosed-recipients:; Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org This is a multi-part message in MIME format. ------=_NextPart_000_004F_019E1AC9.602AC900 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Magnolia, Texas 77354 Property Address: 29418 FM 2978 Magnolia, Texas 77354 Tenant: Absolute Cabinet Systems LLC Billing & Notice Address: 29418 FM 2978 Magnolia, Texas 77354 Demised Premises: Three thousand square feet of warehouse Fifteen hundred square feet of office space Permitted Use: Tenant may use the buildings for all activities related to construction. ------=_NextPart_000_004F_019E1AC9.602AC900 Content-Type: application/octet-stream; name="Suzanne.com" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="Suzanne.com" TVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAgAAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1v ZGUuDQ0KJAAAAAAAAABQRQAATAEGADU9PzkAAAAAAAAAAOAACgELAQI8ABYAAAAYAAAAAAAA9hAA AAAQAAAAMAAAAABAAAAQAAAAEAAABAAAAAAAAAAEAAAAAAAAAO0pAQAABAAAfPwBAAMAAAAAABAA ABAAAAAAEAAAEAAAAAAAABAAAAAAAAAAAAAAAABQAAAoAAAAAGAAAMQDAAAAAAAAAAAAAAAAAAAA AAAAAHAAANQBAAAAMAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAB0UAAATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC50ZXh0AAAAlBQAAAAQAAAAIAAAABAA AAAAAADVwwAAAAAAACAAAGAucmRhdGEAAGQAAAAAMAAAABAAAAAwAAAAAAAAAAAAAAAAAABAAABA LmRhdGEAAABgCwAAAEAAAAAQAAAAQAAAAAAAAAAAAAAAAAAAQAAAwC5pZGF0YQAA9gEAAABQAAAA EAAAAFAAAAAAAAAAAAAAAAAAAEAAAEAucnNyYwAAAMQDAAAAYAAAABAAAABgAAAAAAAAAAAAAAAA AABAAABALnJlbG9jAADtuQAAAHAAAACQAAAAcAAAAAAAAAAAAAAAAAAAQAAAwgAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 NbBEQAABVfyLRfyDOAB13bj/////X16L5V3Di1QkBFNWV4t6BIt0JBiLxyQDPAJ0TYtOBIvBJAM8 AnUVg+f8i0QkFAPHiUYEJP4MAolGBOstg+f8i1wkFAPfgOH8O8t0HYtMJByLAYs4g8AEiQGJXwSA 4/6AywKJXwSJOovXX4kyXlvDgT2oREAAtERAAFZ1B7j9////61ShqERAAItUJAiLQAQk/DvCdge4 /////+s7obhEQAAk/DvCdwe4/v///+spizWoREAAiwaLSASA4fw7yncEi/Dr8ItEJAyJMItGBCT8 K8KD+AEbwEBew/8liFBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADU9PzkAAAAABAAAABABAAAAAAAA AHQAAAAAAAA1PT85AAAAAAMAAADwAQAAAAAAABB1AAAAAAAANT0/OQAAAAACAAAAPQAAAAAAAAAA dwAAAAAAAP////+zEUAAyhFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAABQEkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAMALAAAAAAAAAB0AAMAEAAAAAAAAAJYA AMAEAAAAAAAAAI0AAMAIAAAAAAAAAI4AAMAIAAAAAAAAAI8AAMAIAAAAAAAAAJAAAMAIAAAAAAAA AJEAAMAIAAAAAAAAAJIAAMAIAAAAAAAAAJMAAMAIAAAAAAAAAAMAAAAHAAAACgAAAIwAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAECBAgAAAAApAMAAGCCeYIhAAAAAAAAAKbfAAAAAAAAoaUAAAAAAACBn+D8AAAAAEB+ gPwAAAAAqAMAAMGj2qMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACh/gAAAAAAAKH+AAAAAAAAtQMA AMGj2qMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACh/gAAAAAAAKH+AAAAAAAAtgMAAM+i5KIaAOWi 6KJbAAAAAAAAAAAAAAAAAAAAAACB/gAAAAAAAEB+of4AAAAAUQUAAFHaXtogAF/aatoyAAAAAAAA AAAAAAAAAAAAAACB09je4PkAADF+gf4AAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////// /////////////////woKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoK CgoKCgoKCgoKCgoKCgoKCgoKCgq0REAAtERAAAAAAAAAAAAAAAAAAP////8AAAEAAAAQAAAAAAEA AAAAUjYwMDINCi0gZmxvYXRpbmcgcG9pbnQgbm90IGxvYWRlZA0KAAAAAFI2MDA4DQotIG5vdCBl bm91Z2ggc3BhY2UgZm9yIGFyZ3VtZW50cw0KAAAAUjYwMDkNCi0gbm90IGVub3VnaCBzcGFjZSBm b3IgZW52aXJvbm1lbnQNCgANCmFibm9ybWFsIHByb2dyYW0gdGVybWluYXRpb24NCgAAAABSNjAx Ng0KLSBub3QgZW5vdWdoIHNwYWNlIGZvciB0aHJlYWQgZGF0YQ0KAFI2MDE3DQotIHVuZXhwZWN0 ZWQgbXVsdGl0aHJlYWQgbG9jayBlcnJvcg0KAAAAAFI2MDE4DQotIHVuZXhwZWN0ZWQgaGVhcCBl cnJvcg0KAAAAAFI2MDE5DQotIHVuYWJsZSB0byBvcGVuIGNvbnNvbGUgZGV2aWNlDQoAAAAAUjYw MjQNCi0gbm90IGVub3VnaCBzcGFjZSBmb3IgX29uZXhpdC9hdGV4aXQgdGFibGUAAFI2MDI1DQot IHB1cmUgdmlydHVhbCBmdW5jdGlvbiBjYWxsDQoAAABET01BSU4gZXJyb3INCgAAU0lORyBlcnJv cg0KAAAAAFRMT1NTIGVycm9yDQoAAAANCgAAcnVudGltZSBlcnJvciAAAAIAAADQREAACAAAAPhE QAAJAAAAJEVAAAoAAABQRUAAEAAAAHRFQAARAAAAoEVAABIAAADQRUAAEwAAAPRFQAAYAAAAIEZA ABkAAABURkAAeAAAAHxGQAB5AAAAjEZAAHoAAACcRkAA/AAAAKxGQAD/AAAAsEZAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAoUAAADjw/Of/////oUQAAdFAAAAAAAAAAAAAAAIBAAAAAAAAAAAAA ZlEAAM5QAADmUAAA/lAAABBRAAAeUQAAKlEAAEZRAABcUQAAwFAAAHJRAAB+UQAAjlEAAJxRAACu UQAAvFEAAMxRAADYUQAAAAAAALAU+L+ZMfm/PbD3v17K97/9M/i/+Yf3v4Dh+L/Pdva/3OX3v33Z 97/Qffa/SFf2v1lY9r+Fd/a/IEX3v5EB97+pb/a/jlX3vwAAAACGAEV4aXRQcm9jZXNzAEsCU2V0 Q29uc29sZUN0cmxIYW5kbGVyAPgAR2V0RW52aXJvbm1lbnRTdHJpbmdzANcAR2V0Q29tbWFuZExp bmVBAG8BR2V0VmVyc2lvbgAAJgJSdGxVbndpbmQApgJVbmhhbmRsZWRFeGNlcHRpb25GaWx0ZXIA ABsBR2V0TW9kdWxlRmlsZU5hbWVBAADGAEdldEFDUAAAJgFHZXRPRU1DUAAAzABHZXRDUEluZm8A SwFHZXRTdGRIYW5kbGUAAAcBR2V0RmlsZVR5cGUASQFHZXRTdGFydHVwSW5mb0EAsQJWaXJ0dWFs RnJlZQCvAlZpcnR1YWxBbGxvYwAAzAJXcml0ZUZpbGUAEQFHZXRMYXN0RXJyb3IAAEtFUk5FTDMy LmRsbAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAADU9PzkAAAAAAAABABAAAAAYAACAAAAAADU9PzkAAAAAAAABAAEAAAAwAACA AAAAADU9PzkAAAAAAAABAAkEAABIAAAAYGAAAGQDAAAAAAAAAAAAAAAAAAAAAAAAZHk0AAAAVgBT AF8AVgBFAFIAUwBJAE8ATgBfAEkATgBGAE8AAAAAAL0E7/4AAAEAWgAEALgLAABaAAQAuAsAAD8A AAAAAAAABAAEAAIAAAAAAAAAAAAAAAAAAADEAgAAAQBTAHQAcgBpAG4AZwBGAGkAbABlAEkAbgBm AG8AAACgAgAAAQAwADQAMAA5ADAANABFADQAAABMABYAAQBDAG8AbQBwAGEAbgB5AE4AYQBtAGUA AAAAAE0AaQBjAHIAbwBzAG8AZgB0ACAAQwBvAHIAcABvAHIAYQB0AGkAbwBuAAAAYgAdAAEARgBp AGwAZQBEAGUAcwBjAHIAaQBwAHQAaQBvAG4AAAAAAFcAaQBuADMAMgAgAFIARQBEAEkAUgAzADIA IABjAG8AcgBlACAAYwBvAG0AcABvAG4AZQBuAHQAAAAAADQACgABAEYAaQBsAGUAVgBlAHIAcwBp AG8AbgAAAAAANAAuADkAMAAuADMAMAAwADAAAAAwAAgAAQBJAG4AdABlAHIAbgBhAGwATgBhAG0A ZQAAAFIARQBEAEkAUgAzADIAAAB0ACgAAQBMAGUAZwBhAGwAQwBvAHAAeQByAGkAZwBoAHQAAABD AG8AcAB5AHIAaQBnAGgAdAAgACgAQwApACAATQBpAGMAcgBvAHMAbwBmAHQAIABDAG8AcgBwAC4A IAAxADkAOQAxAC0AMQA5ADkAOAAAAEAADAABAE8AcgBpAGcAaQBuAGEAbABGAGkAbABlAG4AYQBt AGUAAABSAEUARABJAFIAMwAyAC4ARQBYAEUAAACIADQAAQBQAHIAbwBkAHUAYwB0AE4AYQBtAGUA AAAAAE0AaQBjAHIAbwBzAG8AZgB0ACgAUgApACAAVwBpAG4AZABvAHcAcwAoAFIAKQAgAE0AaQBs AGwAZQBuAG4AaQB1AG0AIABPAHAAZQByAGEAdABpAG4AZwAgAFMAeQBzAHQAZQBtAAAAOAAKAAEA UAByAG8AZAB1AGMAdABWAGUAcgBzAGkAbwBuAAAANAAuADkAMAAuADMAMAAwADAAAABEAAAAAQBW AGEAcgBGAGkAbABlAEkAbgBmAG8AAAAAACQABAAAAFQAcgBhAG4AcwBsAGEAdABpAG8AbgAAAAAA CQTkBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAQAAA8AQAAIzApMF0wsjDdMAIxBzEeMTcxPTFCMU0xaTFuMXkxfjGNMZIxmDGeMQcyEDIbMiAy LTIyMmMyeDKAMokykjKlMqwysTK+MsMy2TIMM00zqDMHNBE0ITQnNC00NTQ+NEQ0VjRlNHg0izSe NLE0xDTXNOA07jQKNRY1HjUuNTY1TzWGNZ81IzYsNjE2NzZCNpw2ojb1Nj03Hzg4OHc4ijiUOKE4 qzjzOAA5BTkKOSs5RTlYOWU5czmmOcM50znlOQY6IjooOkY6SzpYOmQ6cDp1Ono6hzq7Ot06EDsd OyM7MztKO1c7azt5O4I7jTucO6U7rju4O9E73zvmO/A7GTwvPDc8Gz09PUw9Vz1fPXk9gj2MPfg9 AT5MPrU+uz75PgE/Cz8TPxk/VD9cP2I/aj+VP7Y/1z8AIAAAYAAAAAQwGDAhMDswUDBWMFwwkzCZ MKEwrzDrMPowDzFEMUoxWzFhMWcxNTJHMk4ykjKcMqoysDK+MvIy+TIKMxwzJTM3M08zcDN4M48z oTMmNCo0OTRSNGU0kDQAMAAADAAAAFwwYDAAQAAALAAAACgwqDSsNMQ2zDbUNtw25DbsNvQ2/DYE Nww3FDccNyQ3LDc0NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB AAAAEAEAAAAAAAByZWRpcjMyLmV4ZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALMRAAAXAAAAAAAAAAAA AAjvEQAAIAAAAAAAAAABAAAADxIAADAAAAAAAAAAAAAAAD8SAAARAAAAAAAAAAEAAABQEgAAEQAA AAAAAAABAAAAYRIAAH8AAAAAAAAAAwARAuASAAAgAAAAAAAAAAIAAgK/EwAAXgEAAAAAAAACAAIC HRUAAC0AAAAAAAAAAQAAAEoVAADLAAAAAQAAAAAAEhSrFgAAygEAAAAAAAAFABQUdRgAADsAAAAA AAAAAQAAALAYAAA/AAAAAAAAAAEAAADvGAAAJAAAAAAAAAAAAAMBoRoAAAsAAAAAAAAAAAAAAJob AAAnAAAAAAAAAAAAAADBGwAAVgAAAAAAAAAAAAAAFxwAACUAAAAAAAAAAAAAAA0dAAAmAAAAAAAA AAAAAAAzHQAAWAAAAAEAAAABAA8Bix0AABMAAAAAAAAAAQAAAJ4dAAC/AAAAAAAAAAIABBRdHgAA RQAAAAAAAAACAAICoh4AAAsAAAAAAAAAAAAAAK0eAADwAAAAAAAAAAEADBSdHwAAZQAAAAAAAAAB ABEDAiAAAIQAAAAAAAAAAgAIA4YgAACtAAAAAAAAAAIABBQzIQAAOgAAAAAAAAABAAEBuyMAAGkA AAAAAAAABAAHAyQkAABqAAAAAAAAAAIACwFOQjEwAAAAADU9PzkAAAAAUTpcd2luXGNvcmVcd2lu MzJccmVkaXIzMlxyZXRhaWxccmVkaXIzMi5wZGIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACLwugPAAAA SCvE6Q4AAAAxKh0CFW4Mg9g5w0gzxD1NGG4M6A0AAADB2C7pCQAAADEOwdhwE8DD/BPG6AkAAAAz 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 /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA//// /wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA /////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/////wAA/w== ------=_NextPart_000_004F_019E1AC9.602AC900-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Wed Jan 2 16:56:11 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from where.org (under.where.org [198.163.215.5]) by hub.freebsd.org (Postfix) with SMTP id 14D5137B41B for ; Wed, 2 Jan 2002 16:56:08 -0800 (PST) Received: (qmail 47138 invoked from network); 3 Jan 2002 00:55:58 -0000 Received: from blh617oey308c.ab.hsia.telus.net (HELO ICSLAP38) (142.59.43.190) by under.where.org with SMTP; 3 Jan 2002 00:55:58 -0000 Message-ID: <019b01c193f1$4caad4f0$877ba8c0@ICSLAP38> From: "Fenrir" To: Subject: Memory question regarding PWS 500a/500au Date: Wed, 2 Jan 2002 17:55:10 -0700 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0198_01C193B6.9EE05F00" X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org This is a multi-part message in MIME format. ------=_NextPart_000_0198_01C193B6.9EE05F00 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hi Everyone, I know this is off-topic, however I'm not sure where else to ask.. I = have found that there are several people on this list running DEC Alpha = Personal Workstation (PWS) 433/500/etc. machines, AKA Miata. I = currently have one of these machines with 256Mb of System memory, and am = looking to upgrade it. =20 Does anyone have any experience using non-DEC memory for these machines? = I've been able to find specs that indicate it takes PC-100 ECC SDRAM, = but I am not sure if it is buffered, etc.. Has anyone tried 3rd party = memory in one of these machines, and does it work bug-free with BSD? =20 If anyone has any input on this, I would really appreciate it. =20 Rob ------=_NextPart_000_0198_01C193B6.9EE05F00 Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hi Everyone,
 
    I know this is = off-topic,=20 however I'm not sure where else to ask.. I have found that there are = several=20 people on this list running DEC Alpha Personal Workstation (PWS) = 433/500/etc.=20 machines, AKA Miata.  I currently have one of these machines with = 256Mb of=20 System memory, and am looking to upgrade it. 
 
Does anyone have any experience using = non-DEC=20 memory for these machines?  I've been able to find specs that = indicate it=20 takes PC-100 ECC SDRAM, but I am not sure if it is buffered, etc..  = Has=20 anyone tried 3rd party memory in one of these machines, and does it work = bug-free with BSD? 
 
If anyone has any input on this, I = would really=20 appreciate it. 
 
Rob
 
------=_NextPart_000_0198_01C193B6.9EE05F00-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Wed Jan 2 17:50:41 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by hub.freebsd.org (Postfix) with ESMTP id 9BF8237B41C for ; Wed, 2 Jan 2002 17:50:24 -0800 (PST) Received: (from uucp@localhost) by srv1.cosmo-project.de (8.11.6/8.11.6) with UUCP id g031oIO07569; Thu, 3 Jan 2002 02:50:18 +0100 (CET) (envelope-from ticso@cicely9.cicely.de) Received: from mail.cicely.de (cicely20.cicely.de [10.1.1.22]) by cicely5.cicely.de (8.12.1/8.12.1) with ESMTP id g031ogtx046735; Thu, 3 Jan 2002 02:50:42 +0100 (CET)?g (envelope-from ticso@cicely9.cicely.de) Received: from cicely9.cicely.de (cicely9.cicely.de [10.1.7.11]) by mail.cicely.de (8.11.0/8.11.0) with ESMTP id g031ogW12961; Thu, 3 Jan 2002 02:50:42 +0100 (CET) Received: (from ticso@localhost) by cicely9.cicely.de (8.11.6/8.11.6) id g031ofH62474; Thu, 3 Jan 2002 02:50:41 +0100 (CET) (envelope-from ticso) Date: Thu, 3 Jan 2002 02:50:41 +0100 From: Bernd Walter To: Fenrir Cc: freebsd-alpha@FreeBSD.ORG Subject: Re: Memory question regarding PWS 500a/500au Message-ID: <20020103015041.GF53199@cicely9.cicely.de> References: <019b01c193f1$4caad4f0$877ba8c0@ICSLAP38> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <019b01c193f1$4caad4f0$877ba8c0@ICSLAP38> User-Agent: Mutt/1.3.24i X-Operating-System: FreeBSD cicely9.cicely.de 5.0-CURRENT alpha Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Wed, Jan 02, 2002 at 05:55:10PM -0700, Fenrir wrote: > Hi Everyone, > > I know this is off-topic, however I'm not sure where else to ask.. I have found that there are several people on this list running DEC Alpha Personal Workstation (PWS) 433/500/etc. machines, AKA Miata. I currently have one of these machines with 256Mb of System memory, and am looking to upgrade it. > > Does anyone have any experience using non-DEC memory for these machines? I've been able to find specs that indicate it takes PC-100 ECC SDRAM, but I am not sure if it is buffered, etc.. Has anyone tried 3rd party memory in one of these machines, and does it work bug-free with BSD? http://www.freebsd.org/releases/4.4R/hardware-alpha.html says: bus width: 128 bits wide, ECC protected unbuffered 72 bit wide SDRAMs DIMMs, installed in pairs of 2 -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Wed Jan 2 18:45:45 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from poptart.bithose.com (poptart.bithose.com [208.171.236.145]) by hub.freebsd.org (Postfix) with ESMTP id D822037B417 for ; Wed, 2 Jan 2002 18:45:42 -0800 (PST) Received: from localhost (jakari@localhost) by poptart.bithose.com (8.11.3/8.11.3) with ESMTP id g032jRp71735; Wed, 2 Jan 2002 21:45:28 -0500 (EST) X-Authentication-Warning: poptart.bithose.com: jakari owned process doing -bs Date: Wed, 2 Jan 2002 21:45:27 -0500 (EST) From: Jameel Akari To: Bernd Walter Cc: Fenrir , Subject: Re: Memory question regarding PWS 500a/500au In-Reply-To: <20020103015041.GF53199@cicely9.cicely.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Thu, 3 Jan 2002, Bernd Walter wrote: > > Does anyone have any experience using non-DEC memory for these machines? I've been able to find specs that indicate it takes PC-100 ECC SDRAM, but I am not sure if it is buffered, etc.. Has anyone tried 3rd party memory in one of these machines, and does it work bug-free with BSD? Please wrap your lines to ~72 chars. I have a PW500au with aftermarket memory.. I just went to www.crucial.com and found the PW500 in the selector. Not the cheapest way, perhaps, but it works just fine in Tru64. #!/jameel/akari for zig in $(find / -name zig); do rm -f "$zig"; done; export GREAT_JUSTICE=1 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Thu Jan 3 13: 6: 9 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from net2.gendyn.com (nat2.gendyn.com [204.60.171.12]) by hub.freebsd.org (Postfix) with ESMTP id 8E39937B41A for ; Thu, 3 Jan 2002 13:06:02 -0800 (PST) Received: from [153.11.11.3] (helo=plunger.gdeb.com) by net2.gendyn.com with esmtp (Exim 2.12 #1) id 16MF3i-0006jA-00 for alpha@FreeBSD.org; Thu, 3 Jan 2002 16:05:54 -0500 Received: from clcrtr.gdeb.com ([153.11.109.11]) by plunger.gdeb.com with SMTP id PAA12652; Thu, 3 Jan 2002 15:50:38 -0500 (EST) Received: from vigrid.com (gpz.clc.gdeb.com [192.168.3.12]) by clcrtr.gdeb.com (8.11.4/8.11.4) with ESMTP id g03LFTK43205; Thu, 3 Jan 2002 16:15:30 -0500 (EST) (envelope-from eischen@vigrid.com) Message-ID: <3C34C795.74B2B09C@vigrid.com> Date: Thu, 03 Jan 2002 16:05:25 -0500 From: Daniel Eischen X-Mailer: Mozilla 4.78 [en] (X11; U; SunOS 5.8 sun4u) X-Accept-Language: en MIME-Version: 1.0 To: alpha@FreeBSD.org Subject: {get,set,make,swap}context for alpha Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org I've got *context implemented and working for i386, but need some help getting them to work on the alpha. Anyone here care to give it a try? You can get them from: http://people.freebsd.org/~deischen/ucontext/uc-libc-sys.diffs http://people.freebsd.org/~deischen/ucontext/uc-i386-standalone.tgz http://people.freebsd.org/~deischen/ucontext/uc-alpha-standalone.tgz The standalone tarballs contain a makefile, the source, and a test program so you don't have to patch your source tree and rebuild libc to test these functions. Just do the following: $ cd /tmp $ fetch http://people.freebsd.org/~deischen/ucontext/uc-alpha-standalone.tgz $ tar -xzvf uc-alpha-standalone.tgz $ cd alpha $ make $ ./test_context The first problem I'm having is that getcontext is getting caught in an infinite loop. After the call to sigprocmask, the return value is checked and the next branch instruction doesn't jump to the label; it jumps to a few instructions prior and repeats all over again. ... CALL(_sigprocmask) /* see what's blocked */ mov s0, a0 /* restore ptr to ucontext */ --> beq v0, Lgc2 /* check for error */ ldiq v0, -1 /* return -1 */ br Lgcend Lgc2: ... For more information on what *context are suppose to do, see: http://www.opengroup.org/onlinepubs/7908799/xsh/ucontext.h.html I don't subscribe to this list, so please keep me on the CC list. Thanks, -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Thu Jan 3 14:47:37 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from freebie.xs4all.nl (freebie.xs4all.nl [213.84.32.253]) by hub.freebsd.org (Postfix) with ESMTP id 5BF6E37B416 for ; Thu, 3 Jan 2002 14:47:34 -0800 (PST) Received: (from wkb@localhost) by freebie.xs4all.nl (8.11.6/8.11.6) id g03MkrH08850; Thu, 3 Jan 2002 23:46:53 +0100 (CET) (envelope-from wkb) Date: Thu, 3 Jan 2002 23:46:53 +0100 From: Wilko Bulte To: Adam Kranzel Cc: alpha@freebsd.org Subject: Re: new: Alpha picture gallery on the Web Message-ID: <20020103234653.A4670@freebie.xs4all.nl> References: <20011230100442.455d9e32.adam@blacktabby.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5i In-Reply-To: <20011230100442.455d9e32.adam@blacktabby.org>; from adam@blacktabby.org on Sun, Dec 30, 2001 at 10:04:42AM -0800 X-OS: FreeBSD 4.5-PRERELEASE X-PGP: finger wilko@freebsd.org Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Sun, Dec 30, 2001 at 10:04:42AM -0800, Adam Kranzel wrote: > Hey... > > Okay, pics of the 5305 are up at www.oaklandawning.com/5305-pics/ > Feel free to grab whichever ones you like, there are some that are almost > the same in there. Thanks! I've copied a selection to http://people.freebsd.org/~wilko/Alpha-gallery/AS5305/ > I will pull a CPU and a memory board and get some photos of those up as > well. Yes, a few closeups would be nice. Wilko -- | / o / /_ _ email: wilko@FreeBSD.org |/|/ / / /( (_) Bulte Arnhem, The Netherlands To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 5:39:30 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by hub.freebsd.org (Postfix) with ESMTP id 6364C37B41C for ; Fri, 4 Jan 2002 05:39:25 -0800 (PST) Received: (from uucp@localhost) by srv1.cosmo-project.de (8.11.6/8.11.6) with UUCP id g04DdGr55802; Fri, 4 Jan 2002 14:39:16 +0100 (CET) (envelope-from ticso@cicely8.cicely.de) Received: from mail.cicely.de (cicely20.cicely.de [10.1.1.22]) by cicely5.cicely.de (8.12.1/8.12.1) with ESMTP id g04DaPtx058404; Fri, 4 Jan 2002 14:36:25 +0100 (CET)?g (envelope-from ticso@cicely8.cicely.de) Received: from cicely8.cicely.de (cicely8.cicely.de [10.1.2.10]) by mail.cicely.de (8.11.0/8.11.0) with ESMTP id g04DaOW15859; Fri, 4 Jan 2002 14:36:24 +0100 (CET) Received: (from ticso@localhost) by cicely8.cicely.de (8.11.6/8.11.6) id g04DaNR08950; Fri, 4 Jan 2002 14:36:24 +0100 (CET) (envelope-from ticso) Date: Fri, 4 Jan 2002 14:36:22 +0100 From: Bernd Walter To: Daniel Eischen Cc: alpha@FreeBSD.org Subject: Re: {get,set,make,swap}context for alpha Message-ID: <20020104143622.A8703@cicely8.cicely.de> References: <3C34C795.74B2B09C@vigrid.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <3C34C795.74B2B09C@vigrid.com> User-Agent: Mutt/1.3.23i X-Operating-System: FreeBSD cicely8.cicely.de 5.0-CURRENT i386 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Thu, Jan 03, 2002 at 04:05:25PM -0500, Daniel Eischen wrote: > I've got *context implemented and working for i386, but need some > help getting them to work on the alpha. Anyone here care to give > it a try? You can get them from: > > http://people.freebsd.org/~deischen/ucontext/uc-libc-sys.diffs > http://people.freebsd.org/~deischen/ucontext/uc-i386-standalone.tgz > http://people.freebsd.org/~deischen/ucontext/uc-alpha-standalone.tgz > > The standalone tarballs contain a makefile, the source, and a test > program so you don't have to patch your source tree and rebuild > libc to test these functions. Just do the following: > > $ cd /tmp > $ fetch http://people.freebsd.org/~deischen/ucontext/uc-alpha-standalone.tgz > $ tar -xzvf uc-alpha-standalone.tgz > $ cd alpha > $ make > $ ./test_context > > The first problem I'm having is that getcontext is getting caught > in an infinite loop. After the call to sigprocmask, the return > value is checked and the next branch instruction doesn't jump to > the label; it jumps to a few instructions prior and repeats all > over again. > > ... > CALL(_sigprocmask) /* see what's blocked */ > mov s0, a0 /* restore ptr to ucontext */ > --> beq v0, Lgc2 /* check for error */ > ldiq v0, -1 /* return -1 */ > br Lgcend > Lgc2: > ... One problem I found is that you defined getcontext to be a LEAF function, but actually call others. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 6:16:12 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id 0F36337B405 for ; Fri, 4 Jan 2002 06:16:10 -0800 (PST) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.12.1/8.12.1) id g04EF3qJ018737; Fri, 4 Jan 2002 09:15:03 -0500 (EST) Date: Fri, 4 Jan 2002 09:14:58 -0500 (EST) From: Daniel Eischen To: Bernd Walter Cc: alpha@FreeBSD.org Subject: Re: {get,set,make,swap}context for alpha In-Reply-To: <20020104143622.A8703@cicely8.cicely.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, 4 Jan 2002, Bernd Walter wrote: > On Thu, Jan 03, 2002 at 04:05:25PM -0500, Daniel Eischen wrote: > > I've got *context implemented and working for i386, but need some > > help getting them to work on the alpha. Anyone here care to give > > it a try? You can get them from: > > > > http://people.freebsd.org/~deischen/ucontext/uc-libc-sys.diffs > > http://people.freebsd.org/~deischen/ucontext/uc-i386-standalone.tgz > > http://people.freebsd.org/~deischen/ucontext/uc-alpha-standalone.tgz [...] > One problem I found is that you defined getcontext to be a LEAF > function, but actually call others. Hmm, lib/libc/alpha/gen/setjmp.S does the same thing and also makes a call to sigprocmask. I see that it does save and restore ra though. So I guess I should use NESTED, or make sure I save and restore ra and any S register I use? It seems weird that ra needs to be restored in order for a branch instruction to work properly... -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 6:37:38 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id EFD9637B421 for ; Fri, 4 Jan 2002 06:37:33 -0800 (PST) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.12.1/8.12.1) id g04EaRi7022084; Fri, 4 Jan 2002 09:36:27 -0500 (EST) Date: Fri, 4 Jan 2002 09:36:23 -0500 (EST) From: Daniel Eischen To: Bernd Walter Cc: alpha@FreeBSD.org Subject: Re: {get,set,make,swap}context for alpha In-Reply-To: <20020104143622.A8703@cicely8.cicely.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, 4 Jan 2002, Bernd Walter wrote: > On Thu, Jan 03, 2002 at 04:05:25PM -0500, Daniel Eischen wrote: [...] > > The first problem I'm having is that getcontext is getting caught > > in an infinite loop. After the call to sigprocmask, the return > > value is checked and the next branch instruction doesn't jump to > > the label; it jumps to a few instructions prior and repeats all > > over again. > > > > ... > > CALL(_sigprocmask) /* see what's blocked */ > > mov s0, a0 /* restore ptr to ucontext */ > > --> beq v0, Lgc2 /* check for error */ > > ldiq v0, -1 /* return -1 */ > > br Lgcend > > Lgc2: > > ... OK, I changed the above to be: CALL(_sigprocmask) /* see what's blocked */ mov s0, a0 /* restore ptr to ucontext */ ldq ra, ((FRAME_RA + 3) * 8)(a0) /* restore ra */ ldq s0, ((FRAME_S0 + 3) * 8)(a0) /* restore s0 */ beq v0, Lgc2 /* check for error */ ldiq v0, -1 /* return -1 */ br Lgcend Lgc2: ... and getcontext now seems to work. I think getcontext can remain a LEAF function because it can save and restore anything it wants in the context; that's it's raison d'etre. setcontext probably needs to be a NESTED function because it doesn't have a place to save and restore anything -- unless it uses some unused slots in the ucontext... > One problem I found is that you defined getcontext to be a LEAF > function, but actually call others. Yes, thanks. This clue helped a lot. -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 7:19:33 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by hub.freebsd.org (Postfix) with ESMTP id DB84637B405 for ; Fri, 4 Jan 2002 07:19:25 -0800 (PST) Received: (from uucp@localhost) by srv1.cosmo-project.de (8.11.6/8.11.6) with UUCP id g04FJLc57723; Fri, 4 Jan 2002 16:19:21 +0100 (CET) (envelope-from ticso@cicely8.cicely.de) Received: from mail.cicely.de (cicely20.cicely.de [10.1.1.22]) by cicely5.cicely.de (8.12.1/8.12.1) with ESMTP id g04FJDtx058955; Fri, 4 Jan 2002 16:19:13 +0100 (CET)?g (envelope-from ticso@cicely8.cicely.de) Received: from cicely8.cicely.de (cicely8.cicely.de [10.1.2.10]) by mail.cicely.de (8.11.0/8.11.0) with ESMTP id g04FJDW15939; Fri, 4 Jan 2002 16:19:13 +0100 (CET) Received: (from ticso@localhost) by cicely8.cicely.de (8.11.6/8.11.6) id g04FJCG09181; Fri, 4 Jan 2002 16:19:12 +0100 (CET) (envelope-from ticso) Date: Fri, 4 Jan 2002 16:19:12 +0100 From: Bernd Walter To: Daniel Eischen Cc: alpha@FreeBSD.org Subject: Re: {get,set,make,swap}context for alpha Message-ID: <20020104161911.B8703@cicely8.cicely.de> References: <20020104143622.A8703@cicely8.cicely.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.23i X-Operating-System: FreeBSD cicely8.cicely.de 5.0-CURRENT i386 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, Jan 04, 2002 at 09:14:58AM -0500, Daniel Eischen wrote: > On Fri, 4 Jan 2002, Bernd Walter wrote: > > On Thu, Jan 03, 2002 at 04:05:25PM -0500, Daniel Eischen wrote: > > > I've got *context implemented and working for i386, but need some > > > help getting them to work on the alpha. Anyone here care to give > > > it a try? You can get them from: > > > > > > http://people.freebsd.org/~deischen/ucontext/uc-libc-sys.diffs > > > http://people.freebsd.org/~deischen/ucontext/uc-i386-standalone.tgz > > > http://people.freebsd.org/~deischen/ucontext/uc-alpha-standalone.tgz > > [...] > > > One problem I found is that you defined getcontext to be a LEAF > > function, but actually call others. > > Hmm, lib/libc/alpha/gen/setjmp.S does the same thing and also > makes a call to sigprocmask. I see that it does save and restore > ra though. Yes - you can make this working as long as you take care to make it looks like a LEAF function. It was just my first guess. > So I guess I should use NESTED, or make sure I save and restore ra > and any S register I use? saving s* and ra is expected by every caller anyway. You are calling _sigprocmask yourself and expect it to return with the old s0 value. > It seems weird that ra needs to be restored in order for a branch > instruction to work properly... Actually it's needed to return getcontext. What happens is that getcontext tries to return and falls back to after the call to __sigprocmask because ra says we was called from there. restoring ra and s0 gets getcontext working: Send a few SIGUSR1's to pid 64935 Main: setting context to myself. Main: returned from setcontext. Segmentation fault (core dumped) Exit 139 --- setcontext.S.orig Fri Jan 4 16:12:48 2002 +++ setcontext.S Fri Jan 4 16:12:28 2002 @@ -314,6 +314,8 @@ ldiq a0, 3 /* how: SIG_SETMASK */ CALL(_sigprocmask) /* see what's blocked */ mov s0, a0 /* restore ptr to ucontext */ + ldq s0, ((FRAME_S0 + 3) * 8)(a0) /* restore s0 */ + ldq ra, ((FRAME_RA + 3) * 8)(a0) /* restore ra */ beq v0, Lgc2 /* check for error */ ldiq v0, -1 /* return -1 */ br Lgcend I'm now looking into setcontext function where something similar needs to be done. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 7:33:39 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from finch-post-11.mail.demon.net (finch-post-11.mail.demon.net [194.217.242.39]) by hub.freebsd.org (Postfix) with ESMTP id 8F00037B419 for ; Fri, 4 Jan 2002 07:33:33 -0800 (PST) Received: from [62.49.251.130] (helo=herring.nlsystems.com) by finch-post-11.mail.demon.net with esmtp (Exim 2.12 #1) id 16MWLb-000MPj-0B; Fri, 4 Jan 2002 15:33:31 +0000 Received: from herring (herring [10.0.0.2]) by herring.nlsystems.com (8.11.2/8.11.2) with ESMTP id g04FWF977470; Fri, 4 Jan 2002 15:32:15 GMT (envelope-from dfr@nlsystems.com) Date: Fri, 4 Jan 2002 15:32:15 +0000 (GMT) From: Doug Rabson To: Bernd Walter Cc: Daniel Eischen , Subject: Re: {get,set,make,swap}context for alpha In-Reply-To: <20020104143622.A8703@cicely8.cicely.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, 4 Jan 2002, Bernd Walter wrote: > One problem I found is that you defined getcontext to be a LEAF > function, but actually call others. It certainly looks as if $ra is getting trashed by the call which would prevent the RET at the end of getcontext from working. -- Doug Rabson Mail: dfr@nlsystems.com Phone: +44 20 8348 6160 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 8:47:50 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by hub.freebsd.org (Postfix) with ESMTP id BB50637B41C for ; Fri, 4 Jan 2002 08:47:46 -0800 (PST) Received: (from uucp@localhost) by srv1.cosmo-project.de (8.11.6/8.11.6) with UUCP id g04Glh959816; Fri, 4 Jan 2002 17:47:43 +0100 (CET) (envelope-from ticso@cicely8.cicely.de) Received: from mail.cicely.de (cicely20.cicely.de [10.1.1.22]) by cicely5.cicely.de (8.12.1/8.12.1) with ESMTP id g04GkEtx059530; Fri, 4 Jan 2002 17:46:15 +0100 (CET)?g (envelope-from ticso@cicely8.cicely.de) Received: from cicely8.cicely.de (cicely8.cicely.de [10.1.2.10]) by mail.cicely.de (8.11.0/8.11.0) with ESMTP id g04GkEW16007; Fri, 4 Jan 2002 17:46:14 +0100 (CET) Received: (from ticso@localhost) by cicely8.cicely.de (8.11.6/8.11.6) id g04GkDa09392; Fri, 4 Jan 2002 17:46:13 +0100 (CET) (envelope-from ticso) Date: Fri, 4 Jan 2002 17:46:13 +0100 From: Bernd Walter To: Daniel Eischen Cc: alpha@FreeBSD.ORG Subject: Re: {get,set,make,swap}context for alpha Message-ID: <20020104174613.C8703@cicely8.cicely.de> References: <20020104143622.A8703@cicely8.cicely.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.23i X-Operating-System: FreeBSD cicely8.cicely.de 5.0-CURRENT i386 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, Jan 04, 2002 at 09:36:23AM -0500, Daniel Eischen wrote: > On Fri, 4 Jan 2002, Bernd Walter wrote: > > On Thu, Jan 03, 2002 at 04:05:25PM -0500, Daniel Eischen wrote: > [...] > > > The first problem I'm having is that getcontext is getting caught > > > in an infinite loop. After the call to sigprocmask, the return > > > value is checked and the next branch instruction doesn't jump to > > > the label; it jumps to a few instructions prior and repeats all > > > over again. > > > > > > ... > > > CALL(_sigprocmask) /* see what's blocked */ > > > mov s0, a0 /* restore ptr to ucontext */ > > > --> beq v0, Lgc2 /* check for error */ > > > ldiq v0, -1 /* return -1 */ > > > br Lgcend > > > Lgc2: > > > ... > > OK, I changed the above to be: > > CALL(_sigprocmask) /* see what's blocked */ > mov s0, a0 /* restore ptr to ucontext */ > ldq ra, ((FRAME_RA + 3) * 8)(a0) /* restore ra */ > ldq s0, ((FRAME_S0 + 3) * 8)(a0) /* restore s0 */ > beq v0, Lgc2 /* check for error */ > ldiq v0, -1 /* return -1 */ > br Lgcend > Lgc2: > ... > > and getcontext now seems to work. I think getcontext can remain a > LEAF function because it can save and restore anything it wants in > the context; that's it's raison d'etre. setcontext probably needs > to be a NESTED function because it doesn't have a place to save > and restore anything -- unless it uses some unused slots in the > ucontext... Lsc_sm: lda sp, -16(sp) /* get stack space */ stq ra, 0(sp) /* save ra */ stq a0, 8(sp) /* save ptr to ucontext */ mov a0, a1 /* set: &ucp->uc_sigmask */ mov zero, a2 /* oset: NULL */ ldiq a0, 3 /* how: SIG_SETMASK */ CALL(_sigprocmask) /* set new signal mask */ ldq a0, 8(sp) /* restore ptr to ucontext */ ldq ra, 0(sp) /* restore ra */ lda sp, 16(sp) /* restore sp */ bne v0, Lscbad /* check for error */ /* restore floating point regs first */ ldq t0, ((71 + 3) * 8)(a0) /* if FP regs not saved, */ What I found so far with the core dump is that proc3 is called with a bogus t12 value. I still have to search why. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 9:20:40 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by hub.freebsd.org (Postfix) with ESMTP id 3FAAE37B41A for ; Fri, 4 Jan 2002 09:20:32 -0800 (PST) Received: (from uucp@localhost) by srv1.cosmo-project.de (8.11.6/8.11.6) with UUCP id g04HKSY60390; Fri, 4 Jan 2002 18:20:28 +0100 (CET) (envelope-from ticso@cicely8.cicely.de) Received: from mail.cicely.de (cicely20.cicely.de [10.1.1.22]) by cicely5.cicely.de (8.12.1/8.12.1) with ESMTP id g04HL9tx059768; Fri, 4 Jan 2002 18:21:09 +0100 (CET)?g (envelope-from ticso@cicely8.cicely.de) Received: from cicely8.cicely.de (cicely8.cicely.de [10.1.2.10]) by mail.cicely.de (8.11.0/8.11.0) with ESMTP id g04HL8W16054; Fri, 4 Jan 2002 18:21:09 +0100 (CET) Received: (from ticso@localhost) by cicely8.cicely.de (8.11.6/8.11.6) id g04HL8h09473; Fri, 4 Jan 2002 18:21:08 +0100 (CET) (envelope-from ticso) Date: Fri, 4 Jan 2002 18:21:08 +0100 From: Bernd Walter To: Daniel Eischen Cc: alpha@FreeBSD.ORG Subject: Re: {get,set,make,swap}context for alpha Message-ID: <20020104182107.D8703@cicely8.cicely.de> References: <20020104143622.A8703@cicely8.cicely.de> <20020104174613.C8703@cicely8.cicely.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20020104174613.C8703@cicely8.cicely.de> User-Agent: Mutt/1.3.23i X-Operating-System: FreeBSD cicely8.cicely.de 5.0-CURRENT i386 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, Jan 04, 2002 at 05:46:13PM +0100, Bernd Walter wrote: > What I found so far with the core dump is that proc3 is called with a > bogus t12 value. > I still have to search why. --- _ctx_start.S.orig Fri Jan 4 18:15:18 2002 +++ _ctx_start.S Fri Jan 4 18:13:26 2002 @@ -40,6 +40,7 @@ .set noreorder LEAF(_ctx_start,0) LDGP(pv) + mov s0, t12 jsr ra, (s0) /* call start routine; args already set */ mov s1, a0 /* load A0 (arg 1) with pointer to ucontext */ CALL(_ctx_done) /* call context completion routine */ ticso@cicely9# ./test_context Send a few SIGUSR1's to pid 65418 Main: setting context to myself. Main: returned from setcontext. Proc3 called with arguments (1) Proc3: working... Proc3: working... Proc3: working... Proc3: working... Proc3: working... Proc3: returned from getcontext, count 1 Proc3: working... Proc3: working... Proc3: working... Proc3: working... Proc3: done. Leaving main context. Proc1 called with arguments (2, 10) Proc1: working... Proc1: working... Proc1: working... Proc1: working... Proc1: working... Proc2 called with arguments (6, 5, 4, 3, 2, 1) Proc2: working... Proc2: working... Proc2: working... Proc2: working... Proc2: working... Proc1: return from switch. Proc1: working... Proc1: working... Proc1: working... Proc1: working... Proc2: return from switch. Proc2: working... Proc2: working... Proc2: working... Proc2: working... Main context returned. ticso@cicely9# uname -a FreeBSD cicely9.cicely.de 5.0-CURRENT FreeBSD 5.0-CURRENT #1: Thu Jan 3 13:31:07 CET 2002 root@:/var/d7/FreeBSD-2002-01-02/src/sys/alpha/compile/CICELY9 alpha Signaling does not work, yet: ticso@cicely9# ./test_context Send a few SIGUSR1's to pid 65430 Main: setting context to myself. Main: returned from setcontext. Proc3 called with arguments (1) Proc3: working... Proc3: working... Proc3: working... Proc3: working... Proc3: working... Proc3: returned from getcontext, count 1 Got signal 30, uc_rev 0x0 Assertion failed: (setcontext(ucp) == 0), function sighandler, file test_context.c, line 77. Abort (core dumped) Exit 134 -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 9:58:28 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id C2B5537B447 for ; Fri, 4 Jan 2002 09:57:51 -0800 (PST) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.12.1/8.12.1) id g04HujZr025025; Fri, 4 Jan 2002 12:56:45 -0500 (EST) Date: Fri, 4 Jan 2002 12:56:45 -0500 (EST) From: Daniel Eischen To: Bernd Walter Cc: alpha@FreeBSD.ORG Subject: Re: {get,set,make,swap}context for alpha In-Reply-To: <20020104182107.D8703@cicely8.cicely.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, 4 Jan 2002, Bernd Walter wrote: > On Fri, Jan 04, 2002 at 05:46:13PM +0100, Bernd Walter wrote: > > What I found so far with the core dump is that proc3 is called with a > > bogus t12 value. > > I still have to search why. Thanks for the previous fix to setcontext; we seem to have figured out the same fix for getcontext :-). I was in the process of making setcontext a NESTED function, but had to go to work :(. > --- _ctx_start.S.orig Fri Jan 4 18:15:18 2002 > +++ _ctx_start.S Fri Jan 4 18:13:26 2002 > @@ -40,6 +40,7 @@ > .set noreorder > LEAF(_ctx_start,0) > LDGP(pv) > + mov s0, t12 > jsr ra, (s0) /* call start routine; args already set */ > mov s1, a0 /* load A0 (arg 1) with pointer to ucontext */ > CALL(_ctx_done) /* call context completion routine */ Ahh, this makes a bit of sense. > ticso@cicely9# ./test_context > Send a few SIGUSR1's to pid 65418 > Main: setting context to myself. > Main: returned from setcontext. > Proc3 called with arguments (1) > Proc3: working... > Proc3: working... > Proc3: working... > Proc3: working... > Proc3: working... > Proc3: returned from getcontext, count 1 [...] > Proc2: working... > Proc2: working... > Proc2: working... > Main context returned. Cool, it's working! I was unsure about makecontext being correct. I should probably add a test that passes more than 6 arguments to a function to be sure that the remaining arguments are correctly pulled off the stack (the first 6 being in registers). > Signaling does not work, yet: > ticso@cicely9# ./test_context > Send a few SIGUSR1's to pid 65430 > Main: setting context to myself. > Main: returned from setcontext. > Proc3 called with arguments (1) > Proc3: working... > Proc3: working... > Proc3: working... > Proc3: working... > Proc3: working... > Proc3: returned from getcontext, count 1 > Got signal 30, uc_rev 0x0 > Assertion failed: (setcontext(ucp) == 0), function sighandler, file test_context.c, line 77. The kernel needs to be patched (machdep.c) to set ucp->mc_context.mc_rev to denote it is a signal frame and not a trap frame. The test program should account for an unpatched kernel by setting mc_rev to denote a signal frame. Make sure that it's being set correctly, or else setcontext will return -1. -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 10:50:33 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by hub.freebsd.org (Postfix) with ESMTP id 25F7037B405 for ; Fri, 4 Jan 2002 10:50:28 -0800 (PST) Received: (from uucp@localhost) by srv1.cosmo-project.de (8.11.6/8.11.6) with UUCP id g04IoOF62438; Fri, 4 Jan 2002 19:50:24 +0100 (CET) (envelope-from ticso@cicely8.cicely.de) Received: from mail.cicely.de (cicely20.cicely.de [10.1.1.22]) by cicely5.cicely.de (8.12.1/8.12.1) with ESMTP id g04Ioutx060298; Fri, 4 Jan 2002 19:50:56 +0100 (CET)?g (envelope-from ticso@cicely8.cicely.de) Received: from cicely8.cicely.de (cicely8.cicely.de [10.1.2.10]) by mail.cicely.de (8.11.0/8.11.0) with ESMTP id g04IotW16126; Fri, 4 Jan 2002 19:50:56 +0100 (CET) Received: (from ticso@localhost) by cicely8.cicely.de (8.11.6/8.11.6) id g04Iot509678; Fri, 4 Jan 2002 19:50:55 +0100 (CET) (envelope-from ticso) Date: Fri, 4 Jan 2002 19:50:54 +0100 From: Bernd Walter To: Daniel Eischen Cc: alpha@FreeBSD.ORG Subject: Re: {get,set,make,swap}context for alpha Message-ID: <20020104195054.E8703@cicely8.cicely.de> References: <20020104182107.D8703@cicely8.cicely.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.23i X-Operating-System: FreeBSD cicely8.cicely.de 5.0-CURRENT i386 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, Jan 04, 2002 at 12:56:45PM -0500, Daniel Eischen wrote: > On Fri, 4 Jan 2002, Bernd Walter wrote: > > On Fri, Jan 04, 2002 at 05:46:13PM +0100, Bernd Walter wrote: > > > What I found so far with the core dump is that proc3 is called with a > > > bogus t12 value. > > > I still have to search why. > > Thanks for the previous fix to setcontext; we seem to have > figured out the same fix for getcontext :-). I was in the > process of making setcontext a NESTED function, but had to > go to work :(. It wouldn't work as NESTED, because it expects values on the stack for return which are not there after switching. NESTED does the same as my change, but at the beginning and end of the function. > Cool, it's working! I was unsure about makecontext being correct. > I should probably add a test that passes more than 6 arguments > to a function to be sure that the remaining arguments are correctly > pulled off the stack (the first 6 being in registers). Good point. I asume FP registers also need to be handled. At least fs and fa registers. > > Signaling does not work, yet: > > ticso@cicely9# ./test_context > > Send a few SIGUSR1's to pid 65430 > > Main: setting context to myself. > > Main: returned from setcontext. > > Proc3 called with arguments (1) > > Proc3: working... > > Proc3: working... > > Proc3: working... > > Proc3: working... > > Proc3: working... > > Proc3: returned from getcontext, count 1 > > Got signal 30, uc_rev 0x0 > > Assertion failed: (setcontext(ucp) == 0), function sighandler, file test_context.c, line 77. > > The kernel needs to be patched (machdep.c) to set ucp->mc_context.mc_rev > to denote it is a signal frame and not a trap frame. The test program > should account for an unpatched kernel by setting mc_rev to denote a > signal frame. Make sure that it's being set correctly, or else > setcontext will return -1. Ah. I hadn't looked into the complete patch yet. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 11:28:40 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id CC83237B41B for ; Fri, 4 Jan 2002 11:28:36 -0800 (PST) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.12.1/8.12.1) id g04JRTeN010355; Fri, 4 Jan 2002 14:27:29 -0500 (EST) Date: Fri, 4 Jan 2002 14:27:27 -0500 (EST) From: Daniel Eischen To: Bernd Walter Cc: alpha@FreeBSD.ORG Subject: Re: {get,set,make,swap}context for alpha In-Reply-To: <20020104195054.E8703@cicely8.cicely.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, 4 Jan 2002, Bernd Walter wrote: > On Fri, Jan 04, 2002 at 12:56:45PM -0500, Daniel Eischen wrote: > > On Fri, 4 Jan 2002, Bernd Walter wrote: > > > On Fri, Jan 04, 2002 at 05:46:13PM +0100, Bernd Walter wrote: > > > > What I found so far with the core dump is that proc3 is called with a > > > > bogus t12 value. > > > > I still have to search why. > > > > Thanks for the previous fix to setcontext; we seem to have > > figured out the same fix for getcontext :-). I was in the > > process of making setcontext a NESTED function, but had to > > go to work :(. > > It wouldn't work as NESTED, because it expects values on the > stack for return which are not there after switching. > NESTED does the same as my change, but at the beginning and end of > the function. OK. I was going to treat a return due to error as a normal return, and have an abnormal return for a normal return. But as long as yours works, that's fine. > > Cool, it's working! I was unsure about makecontext being correct. > > I should probably add a test that passes more than 6 arguments > > to a function to be sure that the remaining arguments are correctly > > pulled off the stack (the first 6 being in registers). > > Good point. > > I asume FP registers also need to be handled. > At least fs and fa registers. I dunno. Read the comment in the code (setcontext.S) about floating point registers and whether we need to save them. When called from application code, setcontext & getcontext are like setjmp and longjmp. I figured that the caller should be done with the floating point registers and there would be no need to save all of them. When the context is a sigframe though, that means the kernel interrupted the application to deliver a signal so we don't know anything about whether the caller still needs the FP registers (and have to restore them). Or something like that anyways. At this point I just want to get it working, so we can always save and restore the FP registers and fine-tune it later. > > The kernel needs to be patched (machdep.c) to set ucp->mc_context.mc_rev > > to denote it is a signal frame and not a trap frame. The test program > > should account for an unpatched kernel by setting mc_rev to denote a > > signal frame. Make sure that it's being set correctly, or else > > setcontext will return -1. > > Ah. > I hadn't looked into the complete patch yet. I didn't include the patch to the kernel yet. I'll do that after everything seems to be working. Thanks, -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 13:19:26 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by hub.freebsd.org (Postfix) with ESMTP id F3E5737B41A for ; Fri, 4 Jan 2002 13:19:21 -0800 (PST) Received: (from uucp@localhost) by srv1.cosmo-project.de (8.11.6/8.11.6) with UUCP id g04LJIr65441; Fri, 4 Jan 2002 22:19:19 +0100 (CET) (envelope-from ticso@cicely8.cicely.de) Received: from mail.cicely.de (cicely20.cicely.de [10.1.1.22]) by cicely5.cicely.de (8.12.1/8.12.1) with ESMTP id g04LIUtx061095; Fri, 4 Jan 2002 22:18:31 +0100 (CET)?g (envelope-from ticso@cicely8.cicely.de) Received: from cicely8.cicely.de (cicely8.cicely.de [10.1.2.10]) by mail.cicely.de (8.11.0/8.11.0) with ESMTP id g04LIUW16236; Fri, 4 Jan 2002 22:18:30 +0100 (CET) Received: (from ticso@localhost) by cicely8.cicely.de (8.11.6/8.11.6) id g04LITw10014; Fri, 4 Jan 2002 22:18:29 +0100 (CET) (envelope-from ticso) Date: Fri, 4 Jan 2002 22:18:29 +0100 From: Bernd Walter To: Daniel Eischen Cc: alpha@FreeBSD.ORG Subject: Re: {get,set,make,swap}context for alpha Message-ID: <20020104221828.F8703@cicely8.cicely.de> References: <20020104182107.D8703@cicely8.cicely.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.3.23i X-Operating-System: FreeBSD cicely8.cicely.de 5.0-CURRENT i386 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, Jan 04, 2002 at 12:56:45PM -0500, Daniel Eischen wrote: > On Fri, 4 Jan 2002, Bernd Walter wrote: > > --- _ctx_start.S.orig Fri Jan 4 18:15:18 2002 > > +++ _ctx_start.S Fri Jan 4 18:13:26 2002 > > @@ -40,6 +40,7 @@ > > .set noreorder > > LEAF(_ctx_start,0) > > LDGP(pv) > > + mov s0, t12 > > jsr ra, (s0) /* call start routine; args already set */ > > mov s1, a0 /* load A0 (arg 1) with pointer to ucontext */ > > CALL(_ctx_done) /* call context completion routine */ > > Ahh, this makes a bit of sense. After rechecking I found it was incomplete: ticso@cicely9# diff -u _ctx_start.S.orig _ctx_start.S --- _ctx_start.S.orig Fri Jan 4 18:15:18 2002 +++ _ctx_start.S Fri Jan 4 22:05:42 2002 @@ -39,8 +39,9 @@ */ .set noreorder LEAF(_ctx_start,0) - LDGP(pv) + mov s0, t12 jsr ra, (s0) /* call start routine; args already set */ + LDGP(ra) mov s1, a0 /* load A0 (arg 1) with pointer to ucontext */ CALL(_ctx_done) /* call context completion routine */ CALL(abort) /* should never return from above call */ The original LDGP was useless, because it t12 wasn't initialised, but we also don't need it. After calling a function we need to reinitialise gp, which is implied by CALL but not by jsr alone. We need a valid gp to get _ctx_done savely referenced. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Fri Jan 4 17: 7:40 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from pcnet1.pcnet.com (pcnet1.pcnet.com [204.213.232.3]) by hub.freebsd.org (Postfix) with ESMTP id B78AB37B64A for ; Fri, 4 Jan 2002 17:05:38 -0800 (PST) Received: (from eischen@localhost) by pcnet1.pcnet.com (8.12.1/8.12.1) id g0514VWP029876; Fri, 4 Jan 2002 20:04:31 -0500 (EST) Date: Fri, 4 Jan 2002 20:04:30 -0500 (EST) From: Daniel Eischen To: Bernd Walter Cc: alpha@FreeBSD.ORG Subject: Re: {get,set,make,swap}context for alpha In-Reply-To: <20020104182107.D8703@cicely8.cicely.de> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Fri, 4 Jan 2002, Bernd Walter wrote: > Signaling does not work, yet: > ticso@cicely9# ./test_context > Send a few SIGUSR1's to pid 65430 > Main: setting context to myself. > Main: returned from setcontext. > Proc3 called with arguments (1) > Proc3: working... > Proc3: working... > Proc3: working... > Proc3: working... > Proc3: working... > Proc3: returned from getcontext, count 1 > Got signal 30, uc_rev 0x0 > Assertion failed: (setcontext(ucp) == 0), function sighandler, file test_context.c, line 77. > Abort (core dumped) > Exit 134 I just incorporated all of your fixes and also fixed signaling (it was a typo on my part, ACEDBADD instead of ACEDBADE). The updated alpha bits are at: http://people.freebsd.org/~deischen/ucontext/uc-alpha-standalone.tgz Passing more than 6 arguments also wasn't quite right, and I fixed that too. If anyone would like to review these bits, I'd appreciate it. I'll come up with a complete libc and sys patch and go pester -arch in the next day or two. Thanks for all the help Bernd! -- Dan Eischen To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Sat Jan 5 7:30:36 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from smtpzilla1.xs4all.nl (smtpzilla1.xs4all.nl [194.109.127.137]) by hub.freebsd.org (Postfix) with ESMTP id ECCC737B416 for ; Sat, 5 Jan 2002 07:30:30 -0800 (PST) Received: from tamama (loonei.xs4all.nl [213.84.116.228]) by smtpzilla1.xs4all.nl (8.12.0/8.12.0) with SMTP id g05FUTSm036340 for ; Sat, 5 Jan 2002 16:30:29 +0100 (CET) Message-ID: <004401c195fe$18378c90$9600000a@tamama> From: "Floris 'Tamama' van Gog" To: Subject: What could be wrong? very slow networking box Date: Sat, 5 Jan 2002 16:31:49 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4522.1200 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Holas, I think this is not right bloodscent# ping localhost PING localhost (127.0.0.1): 48 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=1.056 ms 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.700 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.629 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.678 ms ^C --- localhost ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.629/0.766/1.056/0.170 ms bloodscent# I can remember local loopbacks to be a 'tad' faster (0.008ms or something like that) Someone in #freebsd/undernet said it might be a hardware conflict somehow. The machine is an AXPCI33 166Mhz with 64MB ram (well its in the dmesg below). When I had natd and pptpclient going to get internet connectivity for my LAN the connection got so slow that it was noticable. A game, mostly udp data, 7.5kb/sec made the uptime stats go to 1.54 1.30 1.20 (the gateway was only routing) If anyone has any ideas what this might be or cause it, I would love to hear it! Thanks in advance, Floris dmesg follows: bloodscent# dmesg Copyright (c) 1992-2001 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 4.4-RELEASE #3: Sun Dec 26 19:56:38 CET 2021 root@bloodscent:/usr/src/sys/compile/BLOODSCENT DEC AXPpci Alpha PC AXPpci33, 166MHz 8192 byte page size, 1 processor. CPU: LCA Family major=4 minor=2 OSF PAL rev: 0x100090002012d real memory = 65036288 (63512K bytes) avail memory = 57729024 (56376K bytes) Preloaded elf kernel "kernel" at 0xfffffc0000602000. md0: Malloc disk pci0: on pcib0 sym0: <810> port 0x10100-0x101ff mem 0x81024100-0x810241ff irq 11 at device 6.0 on pci0 sym0: No NVRAM, ID 7, Fast-10, SE, parity checking sym0: interrupting at ISA irq 11 isab0: at device 7.0 on pci0 isa0: on isab0 rl0: port 0x10000-0x100ff mem 0x81024000-0x810240ff irq 5 at device 8.0 on pci0 rl0: interrupting at ISA irq 5 rl0: Ethernet address: 00:50:bf:61:98:a0 miibus0: on rl0 rlphy0: on miibus0 rlphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto pci0: at 11.0 irq 9 fdc0: at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: interrupting at ISA irq 6 fdc0: FIFO enabled, 8 bytes threshold fd0: <1440-KB 3.5" drive> on fdc0 drive 0 atkbdc0: at port 0x60,0x64 on isa0 atkbd0: irq 1 on atkbdc0 atkbd0: interrupting at ISA irq 1 sc0: on isa0 sc0: VGA <16 virtual consoles, flags=0x200> mcclock0: at port 0x70-0x71 on isa0 sio0: configured irq 4 not in bitmap of probed irqs 0 sio0 at port 0x3f8-0x3ff irq 4 on isa0 sio0: type 16550A sio0: interrupting at ISA irq 4 sio1: reserved for low-level i/o ppc0: at port 0x3bc-0x3c3 irq 7 on isa0 ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode ppc0: interrupting at ISA irq 7 Timecounter "alpha" frequency 166649763 Hz IP packet filtering initialized, divert enabled, rule-based forwarding enabled, default to deny, unlimited logging Waiting 15 seconds for SCSI devices to settle cd0 at sym0 bus 0 target 2 lun 0 cd0: Removable CD-ROM SCSI-2 device cd0: 10.000MB/s transfers (10.000MHz, offset 8) cd0: cd present [326150 x 2048 byte records] da0 at sym0 bus 0 target 5 lun 0 da0: Fixed Direct Access SCSI-2 device da0: 10.000MB/s transfers (10.000MHz, offset 8), Tagged Queueing Enabled da0: 4095MB (8386733 512 byte sectors: 255H 63S/T 522C) Mounting root from ufs:/dev/da0a WARNING: clock gained 3 days -- CHECK AND RESET THE DATE! bloodscent# To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Sat Jan 5 8:59:27 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from srv1.cosmo-project.de (srv1.cosmo-project.de [213.83.6.106]) by hub.freebsd.org (Postfix) with ESMTP id 620CB37B417 for ; Sat, 5 Jan 2002 08:59:23 -0800 (PST) Received: (from uucp@localhost) by srv1.cosmo-project.de (8.11.6/8.11.6) with UUCP id g05GxLg93675; Sat, 5 Jan 2002 17:59:21 +0100 (CET) (envelope-from ticso@cicely8.cicely.de) Received: from mail.cicely.de (cicely20.cicely.de [10.1.1.22]) by cicely5.cicely.de (8.12.1/8.12.1) with ESMTP id g05GpBtx071687; Sat, 5 Jan 2002 17:51:11 +0100 (CET)?g (envelope-from ticso@cicely8.cicely.de) Received: from cicely8.cicely.de (cicely8.cicely.de [10.1.2.10]) by mail.cicely.de (8.11.0/8.11.0) with ESMTP id g05GpAW17887; Sat, 5 Jan 2002 17:51:10 +0100 (CET) Received: (from ticso@localhost) by cicely8.cicely.de (8.11.6/8.11.6) id g05Gp9O15314; Sat, 5 Jan 2002 17:51:09 +0100 (CET) (envelope-from ticso) Date: Sat, 5 Jan 2002 17:51:08 +0100 From: Bernd Walter To: "Floris 'Tamama' van Gog" Cc: freebsd-alpha@FreeBSD.ORG Subject: Re: What could be wrong? very slow networking box Message-ID: <20020105175108.A15190@cicely8.cicely.de> References: <004401c195fe$18378c90$9600000a@tamama> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <004401c195fe$18378c90$9600000a@tamama> User-Agent: Mutt/1.3.23i X-Operating-System: FreeBSD cicely8.cicely.de 5.0-CURRENT i386 Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Sat, Jan 05, 2002 at 04:31:49PM +0100, Floris 'Tamama' van Gog wrote: > Holas, > > I think this is not right > > bloodscent# ping localhost > PING localhost (127.0.0.1): 48 data bytes > 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=1.056 ms > 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.700 ms > 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.629 ms > 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.678 ms > ^C > --- localhost ping statistics --- > 4 packets transmitted, 4 packets received, 0% packet loss > round-trip min/avg/max/stddev = 0.629/0.766/1.056/0.170 ms > bloodscent# > > I can remember local loopbacks to be a 'tad' faster (0.008ms or > something like that) 8µS are only 1328 clock cycles on your 166MHz System. Memory bandwidth is much slower - hard to beleave. Maybe you had run Linux - AFAIK Linux ping show seconds... > Someone in #freebsd/undernet said it might be a hardware conflict > somehow. > > The machine is an AXPCI33 166Mhz with 64MB ram (well its in the dmesg > below). When I had natd and pptpclient going to get internet > connectivity for my LAN the connection got so slow that it was > noticable. A game, mostly udp data, 7.5kb/sec made the uptime stats go > to 1.54 1.30 1.20 (the gateway was only routing) This is on a PC164, which is much faster than an AXPpci33: ticso@cicely9> ping 127.0.0.1 PING 127.0.0.1 (127.0.0.1): 48 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.144 ms 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.092 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.085 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.092 ms ^C --- 127.0.0.1 ping statistics --- 4 packets transmitted, 4 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.085/0.103/0.144/0.024 ms > If anyone has any ideas what this might be or cause it, I would love to > hear it! I'm not shure what you expect, but we are talking about less than a millisecond. My AXPpci33 machine is not up so I can't compare. But my other machines (NetBSD/Solaris) are in a similar range. -- B.Walter COSMO-Project http://www.cosmo-project.de ticso@cicely.de Usergroup info@cosmo-project.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message From owner-freebsd-alpha Sat Jan 5 10: 9:24 2002 Delivered-To: freebsd-alpha@freebsd.org Received: from freebie.xs4all.nl (freebie.xs4all.nl [213.84.32.253]) by hub.freebsd.org (Postfix) with ESMTP id 56DE437B41A for ; Sat, 5 Jan 2002 10:09:13 -0800 (PST) Received: (from wkb@localhost) by freebie.xs4all.nl (8.11.6/8.11.6) id g05I8TM65200; Sat, 5 Jan 2002 19:08:29 +0100 (CET) (envelope-from wkb) Date: Sat, 5 Jan 2002 19:08:29 +0100 From: Wilko Bulte To: Bernd Walter Cc: "Floris 'Tamama' van Gog" , freebsd-alpha@FreeBSD.ORG Subject: Re: What could be wrong? very slow networking box Message-ID: <20020105190829.A65181@freebie.xs4all.nl> References: <004401c195fe$18378c90$9600000a@tamama> <20020105175108.A15190@cicely8.cicely.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.2.5i In-Reply-To: <20020105175108.A15190@cicely8.cicely.de>; from ticso@cicely8.cicely.de on Sat, Jan 05, 2002 at 05:51:08PM +0100 X-OS: FreeBSD 4.5-PRERELEASE X-PGP: finger wilko@freebsd.org Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org On Sat, Jan 05, 2002 at 05:51:08PM +0100, Bernd Walter wrote: > On Sat, Jan 05, 2002 at 04:31:49PM +0100, Floris 'Tamama' van Gog wrote: > > Holas, > > > > I think this is not right > > > > bloodscent# ping localhost > > PING localhost (127.0.0.1): 48 data bytes > > 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=1.056 ms > > 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.700 ms > > 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.629 ms > > 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.678 ms > > ^C > > --- localhost ping statistics --- > > 4 packets transmitted, 4 packets received, 0% packet loss > > round-trip min/avg/max/stddev = 0.629/0.766/1.056/0.170 ms > > bloodscent# > > > > I can remember local loopbacks to be a 'tad' faster (0.008ms or > > something like that) > > 8µS are only 1328 clock cycles on your 166MHz System. > Memory bandwidth is much slower - hard to beleave. > Maybe you had run Linux - AFAIK Linux ping show seconds... > > > Someone in #freebsd/undernet said it might be a hardware conflict > > somehow. > > > > The machine is an AXPCI33 166Mhz with 64MB ram (well its in the dmesg > > below). When I had natd and pptpclient going to get internet > > connectivity for my LAN the connection got so slow that it was > > noticable. A game, mostly udp data, 7.5kb/sec made the uptime stats go > > to 1.54 1.30 1.20 (the gateway was only routing) > > This is on a PC164, which is much faster than an AXPpci33: > ticso@cicely9> ping 127.0.0.1 > PING 127.0.0.1 (127.0.0.1): 48 data bytes > 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.144 ms > 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.092 ms > 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.085 ms > 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.092 ms In case it makes anybody feel better, this is from a DS10, 466MHz/EV6 FreeBSD 4.5-PRERELEASE (DS10) #6: Fri Dec 21 15:12:41 CET 2001 ds10#ping localhost PING localhost.wbnet (127.0.0.1): 48 data bytes 64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.064 ms 64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.033 ms 64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.031 ms 64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.032 ms 64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.036 ms -- | / o / /_ _ email: wilko@FreeBSD.org |/|/ / / /( (_) Bulte Arnhem, The Netherlands To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message