From guest@sp-aurora Sun Jan 5 07:05:06 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id HAA01477; Sun, 5 Jan 1997 07:05:05 -0800 Received: from sp-aurora.asd.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id HAA11058; Sun, 5 Jan 1997 07:05:05 -0800 Received: by sp-aurora.asd.sgi.com (950413.SGI.8.6.12/940406.SGI.AUTO) for mccalpin@frakir id HAA02703; Sun, 5 Jan 1997 07:05:04 -0800 Date: Sun, 5 Jan 1997 07:05:04 -0800 From: guest@sp-aurora (Guest Account) Message-Id: <199701051505.HAA02703@sp-aurora.asd.sgi.com> To: mccalpin Subject: octane_1 Status: RO ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 137747 microseconds (= 137747 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) Min time Max time Mean time RMS time Median Copy: 308.95 0.1036 0.1076 0.1046 0.1046 0.1043 Scale: 309.18 0.1035 0.1065 0.1043 0.1043 0.1040 Add: 346.45 0.1385 0.1403 0.1393 0.1393 0.1390 Triad: 351.79 0.1364 0.1382 0.1371 0.1371 0.1365 ----------------------------------------------------------------------------- All times are 0.1047 0.1048 0.1401 0.1379 0.1061 0.1046 0.1403 0.1379 0.1047 0.1047 0.1402 0.1382 0.1076 0.1065 0.1402 0.1379 0.1047 0.1045 0.1394 0.1365 0.1038 0.1035 0.1385 0.1364 0.1036 0.1035 0.1386 0.1365 0.1036 0.1036 0.1386 0.1365 0.1036 0.1035 0.1386 0.1366 0.1036 0.1036 0.1386 0.1365 ----------------------------------------------------------------------------- Sum of a is = 115330078125.0000 Sum of b is = 23066015625.00000 Sum of c is = 30754687500.00000 From guest@sp-aurora Sun Jan 5 07:07:12 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id HAA01498; Sun, 5 Jan 1997 07:07:12 -0800 Received: from sp-aurora.asd.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id HAA11080; Sun, 5 Jan 1997 07:07:11 -0800 Received: by sp-aurora.asd.sgi.com (950413.SGI.8.6.12/940406.SGI.AUTO) for mccalpin@frakir id HAA02713; Sun, 5 Jan 1997 07:06:42 -0800 Date: Sun, 5 Jan 1997 07:06:42 -0800 From: guest@sp-aurora (Guest Account) Message-Id: <199701051506.HAA02713@sp-aurora.asd.sgi.com> Subject: octane_2 Apparently-To: mccalpin Status: RO sp-aurora 14% !! ./stream.2e6 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 50722 microseconds (= 50722 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) Min time Max time Mean time RMS time Median Copy: 433.86 0.0738 0.0751 0.0742 0.0742 0.0743 Scale: 430.76 0.0743 0.0772 0.0751 0.0752 0.0749 Add: 480.09 0.1000 0.1012 0.1003 0.1003 0.1000 Triad: 485.57 0.0989 0.1005 0.0994 0.0994 0.0993 ----------------------------------------------------------------------------- All times are 0.0751 0.0748 0.1005 0.1004 0.0739 0.0745 0.1001 0.0991 0.0741 0.0756 0.1001 0.0989 0.0745 0.0743 0.1001 0.1005 0.0738 0.0748 0.1000 0.0991 0.0749 0.0749 0.1000 0.0996 0.0738 0.0747 0.1012 0.0989 0.0742 0.0744 0.1001 0.0992 0.0741 0.0772 0.1004 0.0990 0.0738 0.0763 0.1005 0.0991 ----------------------------------------------------------------------------- Sum of a is = 57665039062.50000 Sum of b is = 11533007812.50000 Sum of c is = 15377343750.00000 From henning@perfom.ENET.dec.com Tue Jan 21 08:38:50 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id IAA05163; Tue, 21 Jan 1997 08:38:49 -0800 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id IAA23681; Tue, 21 Jan 1997 08:38:48 -0800 Received: from mail12.digital.com (mail12.digital.com [192.208.46.20]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id IAA04382 for ; Tue, 21 Jan 1997 08:38:42 -0800 Received: from us1rmc.bb.dec.com by mail12.digital.com (8.7.5/UNX 1.5/1.0/WV) id LAA23463; Tue, 21 Jan 1997 11:27:18 -0500 (EST) Received: from perfom.enet by us1rmc.bb.dec.com (5.65/rmc-22feb94) id AA26443; Tue, 21 Jan 97 11:29:41 -0500 Message-Id: <9701211629.AA26443@us1rmc.bb.dec.com> Received: from perfom.enet; by us1rmc.enet; Tue, 21 Jan 97 11:29:42 EST Date: Tue, 21 Jan 97 11:29:42 EST From: "John, dtn 381-0378 21-Jan-1997 1122" To: mccalpin@asd.sgi.com Cc: me@perfom.ENET.dec.com Apparently-To: mccalpin@asd.sgi.com Subject: New results: 56-cpu 8400 Status: RO Hi John, Here's a 56-CPU AlphaServer 8400 5/440 cluster (7 nodes). The program was the same as what I submitted to you for the 8400 5/350 (4-node, 32 cpu) except for a bit larger array size. How's life at SGI? Best regards /john % ./56cpu ---------------------------------------------- Double precision has 15 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 60000000 Offset = 0 The total memory requirement is 1373 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 2900 microseconds The tests below will each take a time on the order of 132800 microseconds (= 46 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 7811.2286 0.1449 0.1229 0.1797 Scaling : 5617.3201 0.1850 0.1709 0.1814 Summing : 8328.5136 0.1966 0.1729 0.2585 SAXPYing : 6161.7458 0.2640 0.2337 0.3551 Sum of a is : 6.919804687693033E+019 Sum of b is : 1.383960937522879E+019 Sum of c is : 1.845281250037503E+019 From alanc@West.Sun.COM Thu Jan 30 18:15:51 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id SAA05329; Thu, 30 Jan 1997 18:15:51 -0800 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id SAA14869; Thu, 30 Jan 1997 18:15:49 -0800 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id SAA27906 for ; Thu, 30 Jan 1997 18:15:48 -0800 Received: from West.Sun.COM ([129.153.100.30]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id KAA15313 for ; Thu, 30 Jan 1997 10:20:51 -0800 Received: from oregon.west.sun.com by West.Sun.COM (SMI-8.6/SMI-5.3) id KAA11973; Thu, 30 Jan 1997 10:20:06 -0800 Received: from [129.146.31.136] by oregon.west.sun.com (SMI-8.6/SMI-SVR4) id KAA05758; Thu, 30 Jan 1997 10:19:53 -0800 X-Sender: alanc@oregon.west.sun.com Message-Id: In-Reply-To: <199701301805.KAA04107@frakir.asd.sgi.com> References: <5cikmc$b9s@flonk.uk.sun.com> <32EEB32F.7633@Sun.COM> <5cqg75$c85@murrow.corp.sgi.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Thu, 30 Jan 1997 10:20:39 -0800 To: mccalpin (John McCalpin) From: Alan Charlesworth Subject: Re: Scalability (?) of new Sun E10000 ? Status: RO I'll include the 64 processor results when I send them in. They were a smidge lower than for 63, and I wanted to post the highest numbers. The machine had no other users on it, but of course its still a live Unix system -- doing such nice things as sending me the perfmeter info. So, when one asks for all 64 procs to do a parellel call together, you get a tiny bit of delay I suppose. Standard -------- 63 procs 1024 K elements per proc 10 loop repeats 1512 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.168 0.169 0.170 1% 6299 9449 100 150 640 1280 427 Scale: 0.166 0.167 0.168 2% 6385 9577 101 152 632 1263 421 Vadd : 0.221 0.221 0.222 0% 7171 9562 114 152 562 1687 422 Triad: 0.221 0.221 0.222 0% 7182 9576 114 152 561 1684 421 64 procs 1024 K elements per proc 10 loop repeats 1536 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.173 0.174 0.174 1% 6202 9303 97 145 660 1321 440 Scale: 0.171 0.172 0.172 1% 6281 9422 98 147 652 1304 435 Vadd : 0.228 0.229 0.229 0% 7059 9412 110 147 580 1741 435 Triad: 0.227 0.228 0.228 0% 7087 9449 111 148 578 1734 433 Experimental ------------ 63 procs 1024 K elements per proc 10 loop repeats 1512 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.103 0.105 0.110 7% 10279 10279 163 163 784 784 392 Scale: 0.103 0.105 0.110 7% 10258 10258 163 163 786 786 393 Vadd : 0.156 0.157 0.163 5% 10190 10190 162 162 594 1187 396 Triad: 0.157 0.158 0.164 5% 10119 10119 161 161 598 1195 398 64 procs 1024 K elements per proc 10 loop repeats 1536 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.107 0.108 0.114 7% 10042 10042 157 157 816 816 408 Scale: 0.107 0.108 0.108 1% 10011 10011 156 156 818 818 409 Vadd : 0.162 0.166 0.172 6% 9938 9938 155 155 618 1236 412 Triad: 0.162 0.163 0.164 1% 9917 9917 155 155 620 1239 413 >Thanks for the clarification -- my guesses were pretty close! > >It is interesting to note the use of 63 cpus. It can get >difficult to spread the scheduler thin enough to not cause >trouble when running 64-way jobs on a 64-cpu machine.... >-- >John D. McCalpin, Ph.D. Supercomputing Performance Analyst >Scalable Systems Group http://reality.sgi.com/employees/mccalpin >Silicon Graphics, Inc. mccalpin@sgi.com 415-933-7407 From henning@perfom.ENET.dec.com Mon Feb 10 10:56:11 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id KAA24084; Mon, 10 Feb 1997 10:56:10 -0800 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id KAA26843; Mon, 10 Feb 1997 10:55:57 -0800 Received: from mail11.digital.com (mail11.digital.com [192.208.46.10]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id KAA24480 for ; Mon, 10 Feb 1997 10:55:55 -0800 Received: from us1rmc.bb.dec.com by mail11.digital.com (8.7.5/UNX 1.5/1.0/WV) id NAA31420; Mon, 10 Feb 1997 13:46:57 -0500 (EST) Received: from perfom.enet by us1rmc.bb.dec.com (5.65/rmc-22feb94) id AA08195; Mon, 10 Feb 97 13:49:31 -0500 Message-Id: <9702101849.AA08195@us1rmc.bb.dec.com> Received: from perfom.enet; by us1rmc.enet; Mon, 10 Feb 97 13:49:31 EST Date: Mon, 10 Feb 97 13:49:31 EST From: "John, dtn 381-0378 10-Feb-1997 1336" To: mccalpin@asd.sgi.com Cc: me@perfom.ENET.dec.com Apparently-To: mccalpin@asd.sgi.com Subject: New results: Digital Personal Workstation 433a (0MB L3) X-Zm-Priority: Medium Status: RO Hi John, Here's the results of Streams on the Digital Personal Workstation 433a (0MB L3 cache). To fit with your abbreviation conventions, I would suggest calling it: DEC_433a_(0mb_L3) Please get the "a" in lower case - thanks! /john F:\henning>./s2m003 -------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLEPRECISION word -------------------------------------- Timing calibration ; time = 31.2500000000000 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 292.5719 0.1141 0.1094 0.1172 Scaling : 292.5719 0.1157 0.1094 0.1172 Summing : 323.3689 0.1539 0.1484 0.1563 SAXPYing : 341.3338 0.1469 0.1406 0.1484 Sum of a is : 1.153302511247108E+018 Sum of b is : 2.306605022330563E+017 Sum of c is : 3.075473363273753E+017 PS please don't call it a DPW 433a. Whowever thought up the new name without thinking about how people might abbreviate it should be given appropriate Dilbert Marketing Awards (pls don't forward this PS) From 73513.216@compuserve.com Mon Mar 3 18:47:18 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id SAA17143; Mon, 3 Mar 1997 18:46:57 -0800 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id SAA18787; Mon, 3 Mar 1997 18:46:40 -0800 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via SMTP id SAA03284 for ; Mon, 3 Mar 1997 18:46:35 -0800 Received: from mail.cs.virginia.edu by mail.virginia.edu id aa17009; 3 Mar 97 21:46 EST Received: from hil-img-3.compuserve.com (hil-img-3.compuserve.com [149.174.177.133]) by archive.cs.Virginia.EDU (8.7.5/8.7.3) with SMTP id VAA15545 for ; Mon, 3 Mar 1997 21:46:24 -0500 (EST) Received: by hil-img-3.compuserve.com (8.6.10/5.950515) id VAA03212; Mon, 3 Mar 1997 21:45:52 -0500 Date: 03 Mar 97 21:44:34 EST From: "ROBERT E. CANUP II" <73513.216@compuserve.com> To: mccalpin@cs.virginia.edu MMDF-Warning: Parse error in original version of preceding line at mail.virginia.edu Subject: stream test run Message-ID: <970304024433_73513.216_EHT39-1@CompuServe.COM> Status: RO Sirs; This is the test run of "stream_d.c" on my computer, an Intel Pentium 60 on a Micronics motherboard with 256K L2 cache and 64 MB of parity memory, running Linux 2.0.27. The test was run on March 3, 1997. The stream_d.c version was 4.0-BETA. The system gcc compiler version 2.7.2 was used with the following flags: gcc stream_d.c seconds.c -o stream -O3 -m486 -funroll-loops -fomit-frame-pointer -s -lm The seconds.c code is as follows: #include #include struct tms x; real y; real z; real second() { times(&x); y = CLK_TCK; z = x.tms_utime; z = z/y; return(z); } CLK_TCK under Linux is 100. The executable program is 7556 bytes in size (shared libraries) and the output results produced by running it as stream > output were: ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 0 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 9999 microseconds. Each test below will take on the order of 330000 microseconds. (= 33 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 30.1887 0.5380 0.5300 0.5400 Scale: 48.4848 0.3340 0.3300 0.3400 Add: 51.0638 0.4700 0.4700 0.4700 Triad: 52.1739 0.4690 0.4600 0.4700 Sincerely, Robert E. Canup II rcanup@hal-pc.org From alanc@West.Sun.COM Thu Mar 13 20:43:42 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id UAA07154; Thu, 13 Mar 1997 20:43:42 -0800 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id UAA21235; Thu, 13 Mar 1997 20:43:40 -0800 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id UAA07642 for ; Thu, 13 Mar 1997 20:43:36 -0800 Received: from West.Sun.COM ([129.153.100.30]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id UAA26253 for ; Thu, 13 Mar 1997 20:44:18 -0800 Received: from oregon.west.sun.com by West.Sun.COM (SMI-8.6/SMI-5.3) id UAA12790; Thu, 13 Mar 1997 20:43:31 -0800 Received: from hobo122.eng.sun.com by oregon.west.sun.com (SMI-8.6/SMI-SVR4) id UAA22847; Thu, 13 Mar 1997 20:43:15 -0800 Message-Id: <199703140443.UAA22847@oregon.west.sun.com> Date: Thu, 13 Mar 1997 20:44:36 -0800 From: alanc@West.Sun.COM (Alan Charlesworth) To: mccalpin@asd.sgi.com Subject: Re: Sun Ultra HPC Memory Performance Organization: Sun Microsystems Newsgroups: comp.sys.super,comp.arch,comp.benchmarks,comp.sys.sun.misc Distribution: inet Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-transfer-encoding: 8bit References: <3325DB6C.41C6@nas.nasa.gov> <33273416.7C6D@eng.sun.com> <5g8g0c$67c@lyra.csx.cam.ac.uk> <5g9mqi$kif@murrow.corp.sgi.com> X-Newsreader: Yet Another NewsWatcher 2.4.0 Status: RO (A copy of this message has also been posted to the following newsgroups: comp.sys.super, comp.arch, comp.benchmarks, comp.sys.sun.misc) In article <5g9mqi$kif@murrow.corp.sgi.com>, mccalpin@asd.sgi.com wrote: > > I have some numbers for the UE 10000 (64-cpu only), but my > understanding is that they were preliminary, so I was waiting > for the rest of the numbers before putting them in the table. > > I guess I should follow up on this and find out if I misunderstood > the intent of the message I received from Sun. I was certainly > hoping to get some numbers from smaller processor counts on the > UE10000 as well. > > Since the numbers were posted to USENET, I will repeat them here: > > omitted > -- > John D. McCalpin, Ph.D. Supercomputing Performance Analyst > Scalable Systems Group http://reality.sgi.com/employees/mccalpin > Silicon Graphics, Inc. mccalpin@sgi.com 415-933-7407 Sorry John, for my not getting these out to the public sooner. Here are the Starfire Stream results that I ran at the end of January. 1. Auto-parallel C Stream bandwidth Copy Scale Vadd Triad Cpus MBps MBps MBps MBps 1 164 164 202 202 8 1,271 1,270 1,544 1,546 16 2,371 2,414 2,942 2,905 24 3,568 3,577 4,292 4,305 32 4,397 4,408 5,166 5,188 40 5,317 5,374 6,162 6,222 48 5,961 6,056 6,861 6,914 56 6,183 6,304 7,131 7,128 63 6,307 6,391 7,203 7,197 2. Auto-parallel C total interconnect bandwidth These are the Table 1 numbers, multiplied by 3/2 for copy and scale, and 4/3 for vadd and triad -- to account for write-allocate traffic on the interconnect. They are useful to compare against the peak bandwidth of 10,667 MBps. Copy Scale Vadd Triad Cpus MBps MBps MBps MBps 1 246 246 269 269 8 1,907 1,905 2,059 2,062 16 3,557 3,620 3,922 3,873 24 5,353 5,366 5,722 5,740 32 6,595 6,612 6,888 6,917 40 7,976 8,062 8,215 8,296 48 8,942 9,083 9,148 9,219 56 9,274 9,456 9,508 9,505 63 9,461 9,586 9,604 9,596 3. VIS assembler "experimental" Stream bandwidth The SPARC Visual Instruction Set (VIS) includes block load and store instructions which move between a 64-byte aligned block of memory and eight floating-point registers. Because an entire cache-block is accessed, no extra write-allocate traffic is necessary on the interconnect Comparing to Table 2, My VIS assembler code loops get a bit more total interconnect traffic outstanding than the stock C code did. Copy Scale Vadd Triad Cpus MBps MBps MBps MBps 1 325 322 288 263 8 2,499 2,491 2,252 2,099 16 4,527 4,669 4,243 3,944 24 6,720 6,759 6,156 5,860 32 7,872 7,987 7,377 7,092 40 9,277 9,355 8,877 8,594 48 9,938 9,917 9,618 9,373 56 10,250 10,175 10,030 9,910 63 10,307 10,180 10,181 10,107 From alanc@West.Sun.COM Thu Mar 13 20:51:47 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id UAA07166; Thu, 13 Mar 1997 20:51:46 -0800 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id UAA21393; Thu, 13 Mar 1997 20:51:44 -0800 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id UAA08840 for ; Thu, 13 Mar 1997 20:51:41 -0800 Received: from West.Sun.COM ([129.153.100.30]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id UAA28224; Thu, 13 Mar 1997 20:51:51 -0800 Received: from oregon.west.sun.com by West.Sun.COM (SMI-8.6/SMI-5.3) id UAA12829; Thu, 13 Mar 1997 20:51:05 -0800 Received: from [129.146.31.122] by oregon.west.sun.com (SMI-8.6/SMI-SVR4) id UAA22961; Thu, 13 Mar 1997 20:50:46 -0800 X-Sender: alanc@oregon.west.sun.com Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Thu, 13 Mar 1997 20:52:06 -0800 To: mccalpin@cs.virginia.edu From: Alan Charlesworth Subject: Starfire Stream results Cc: mccalpin@sgi.com Status: RO Sorry for the delay. I was supposed to wait until after this week's Sun HPC announcement These are Standard C results. I added some data to the printout, but I believe all the stock info is there ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2097152, Offset = 0 Procs = 1. Per proc = 2048 K Total memory required = 48.0 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 184877 microseconds. (= 184877 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- 1 procs 2048 K elements per proc 10 loop repeats 48 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.204 0.205 0.205 0% 164 246 164 246 390 780 260 Scale: 0.204 0.205 0.205 0% 164 246 164 246 390 779 260 Vadd : 0.249 0.250 0.250 0% 202 269 202 269 317 951 238 Triad: 0.249 0.250 0.250 0% 202 269 202 269 317 951 238 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 16777216, Offset = 0 Procs = 8. Per proc = 2048 K Total memory required = 384.0 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 188209 microseconds. (= 188209 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- 8 procs 2048 K elements per proc 10 loop repeats 384 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.211 0.212 0.213 1% 1271 1907 159 238 403 806 269 Scale: 0.211 0.212 0.212 1% 1270 1905 159 238 403 806 269 Vadd : 0.261 0.261 0.262 0% 1544 2059 193 257 332 995 249 Triad: 0.260 0.261 0.261 0% 1546 2062 193 258 331 993 248 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 33554432, Offset = 0 Procs = 16. Per proc = 2048 K Total memory required = 768.0 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 195521 microseconds. (= 195521 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- 16 procs 2048 K elements per proc 10 loop repeats 768 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.226 0.227 0.227 0% 2371 3557 148 222 432 864 288 Scale: 0.222 0.223 0.223 0% 2414 3620 151 226 424 849 283 Vadd : 0.274 0.274 0.275 0% 2942 3922 184 245 348 1044 261 Triad: 0.277 0.278 0.278 0% 2905 3873 182 242 353 1058 264 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 50331648, Offset = 0 Procs = 24. Per proc = 2048 K Total memory required = 1152.0 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 200024 microseconds. (= 200024 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- 24 procs 2048 K elements per proc 10 loop repeats 1152 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.226 0.226 0.228 1% 3568 5353 149 223 430 861 287 Scale: 0.225 0.226 0.228 1% 3577 5366 149 224 429 859 286 Vadd : 0.281 0.282 0.283 1% 4292 5722 179 238 358 1074 268 Triad: 0.281 0.281 0.282 0% 4305 5740 179 239 357 1070 268 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 67108864, Offset = 0 Procs = 32. Per proc = 2048 K Total memory required = 1536.0 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 209213 microseconds. (= 209213 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- 32 procs 2048 K elements per proc 10 loop repeats 1536 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.244 0.245 0.245 0% 4397 6595 137 206 466 932 311 Scale: 0.244 0.244 0.244 0% 4408 6612 138 207 465 929 310 Vadd : 0.312 0.312 0.313 0% 5166 6888 161 215 396 1189 297 Triad: 0.310 0.311 0.311 0% 5188 6917 162 216 395 1184 296 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 41943040, Offset = 0 Procs = 40. Per proc = 1024 K Total memory required = 960.0 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 109976 microseconds. (= 109976 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- 40 procs 1024 K elements per proc 10 loop repeats 960 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.126 0.126 0.127 0% 5317 7976 133 199 481 963 321 Scale: 0.125 0.125 0.126 1% 5374 8062 134 202 476 953 318 Vadd : 0.163 0.164 0.164 0% 6162 8215 154 205 415 1246 312 Triad: 0.162 0.162 0.162 0% 6222 8296 156 207 411 1234 309 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 50331648, Offset = 0 Procs = 48. Per proc = 1024 K Total memory required = 1152.0 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 120981 microseconds. (= 120981 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- 48 procs 1024 K elements per proc 10 loop repeats 1152 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.135 0.135 0.136 0% 5961 8942 124 186 515 1031 344 Scale: 0.133 0.133 0.134 1% 6056 9083 126 189 507 1015 338 Vadd : 0.176 0.176 0.177 0% 6861 9148 143 191 448 1343 336 Triad: 0.175 0.175 0.175 0% 6914 9219 144 192 444 1333 333 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 58720256, Offset = 0 Procs = 56. Per proc = 1024 K Total memory required = 1344.0 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 138849 microseconds. (= 138849 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- 56 procs 1024 K elements per proc 10 loop repeats 1344 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.152 0.152 0.153 0% 6183 9274 110 166 580 1159 386 Scale: 0.149 0.150 0.150 1% 6304 9456 113 169 569 1137 379 Vadd : 0.198 0.198 0.199 1% 7131 9508 127 170 503 1508 377 Triad: 0.198 0.198 0.199 1% 7128 9505 127 170 503 1508 377 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 66060288, Offset = 0 Procs = 63. Per proc = 1024 K Total memory required = 1512.0 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 161354 microseconds. (= 161354 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- 63 procs 1024 K elements per proc 10 loop repeats 1512 MB memory 8 byte alignment, 0 byte offset Auto-parallel C Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.168 0.168 0.170 2% 6307 9461 100 150 639 1279 426 Scale: 0.165 0.166 0.167 1% 6391 9586 101 152 631 1262 421 Vadd : 0.220 0.221 0.221 0% 7203 9604 114 152 560 1679 420 Triad: 0.220 0.221 0.221 0% 7197 9596 114 152 560 1681 420 From alanc@West.Sun.COM Thu Mar 13 21:00:16 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id VAA07195; Thu, 13 Mar 1997 21:00:15 -0800 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id VAA21538; Thu, 13 Mar 1997 21:00:14 -0800 Received: from mercury.Sun.COM (mercury.Sun.COM [192.9.25.1]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id VAA09746 for ; Thu, 13 Mar 1997 21:00:10 -0800 Received: from West.Sun.COM ([129.153.100.30]) by mercury.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id VAA00345; Thu, 13 Mar 1997 21:00:17 -0800 Received: from oregon.west.sun.com by West.Sun.COM (SMI-8.6/SMI-5.3) id UAA12865; Thu, 13 Mar 1997 20:59:32 -0800 Received: from [129.146.31.122] by oregon.west.sun.com (SMI-8.6/SMI-SVR4) id UAA23047; Thu, 13 Mar 1997 20:59:15 -0800 X-Sender: alanc@oregon.west.sun.com Message-Id: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Date: Thu, 13 Mar 1997 21:00:35 -0800 To: mccalpin@cs.virginia.edu From: Alan Charlesworth Subject: Starfire Stream experimental VIS results Cc: mccalpin@sgi.com Status: RO VIS assembler code with block loads and stores. These are certainly experimental results. I assumed 64-byte alignment, and multiples of 64-byte vector lengths. 1 procs 2048 K elements per proc 10 loop repeats 48 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.103 0.104 0.104 1% 325 325 325 325 394 394 197 Scale: 0.104 0.104 0.105 1% 322 322 322 322 397 397 199 Vadd : 0.175 0.175 0.176 1% 288 288 288 288 333 667 222 Triad: 0.192 0.192 0.192 0% 263 263 263 263 365 731 244 % 8 procs 2048 K elements per proc 10 loop repeats 384 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.107 0.108 0.109 1% 2499 2499 312 312 410 410 205 Scale: 0.108 0.109 0.109 1% 2491 2491 311 311 411 411 206 Vadd : 0.179 0.179 0.180 1% 2252 2252 281 281 341 682 227 Triad: 0.192 0.192 0.193 0% 2099 2099 262 262 366 732 244 16 procs 2048 K elements per proc 10 loop repeats 768 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.119 0.120 0.120 1% 4527 4527 283 283 452 452 226 Scale: 0.115 0.115 0.117 2% 4669 4669 292 292 439 439 219 Vadd : 0.190 0.191 0.191 1% 4243 4243 265 265 362 724 241 Triad: 0.204 0.205 0.205 1% 3944 3944 246 246 389 779 260 24 procs 2048 K elements per proc 10 loop repeats 1152 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.120 0.121 0.122 2% 6720 6720 280 280 457 457 229 Scale: 0.119 0.120 0.123 3% 6759 6759 282 282 455 455 227 Vadd : 0.196 0.197 0.197 1% 6156 6156 256 256 374 749 250 Triad: 0.206 0.207 0.210 2% 5860 5860 244 244 393 786 262 32 procs 2048 K elements per proc 10 loop repeats 1536 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.136 0.137 0.137 1% 7872 7872 246 246 520 520 260 Scale: 0.134 0.135 0.136 1% 7987 7987 250 250 513 513 256 Vadd : 0.218 0.219 0.220 1% 7377 7377 231 231 416 833 278 Triad: 0.227 0.228 0.228 1% 7092 7092 222 222 433 866 289 40 procs 1024 K elements per proc 10 loop repeats 960 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.072 0.073 0.073 1% 9277 9277 232 232 552 552 276 Scale: 0.072 0.073 0.073 2% 9355 9355 234 234 547 547 274 Vadd : 0.113 0.114 0.115 1% 8877 8877 222 222 433 865 288 Triad: 0.117 0.118 0.118 1% 8594 8594 215 215 447 894 298 48 procs 1024 K elements per proc 10 loop repeats 1152 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.081 0.081 0.082 1% 9938 9938 207 207 618 618 309 Scale: 0.081 0.082 0.082 1% 9917 9917 207 207 620 620 310 Vadd : 0.126 0.126 0.127 1% 9618 9618 200 200 479 958 319 Triad: 0.129 0.129 0.130 1% 9373 9373 195 195 492 983 328 56 procs 1024 K elements per proc 10 loop repeats 1344 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.092 0.092 0.093 1% 10250 10250 183 183 699 699 350 Scale: 0.092 0.093 0.094 2% 10175 10175 182 182 704 704 352 Vadd : 0.141 0.141 0.141 1% 10030 10030 179 179 536 1072 357 Triad: 0.142 0.143 0.143 1% 9910 9910 177 177 542 1085 362 63 procs 1024 K elements per proc 10 loop repeats 1512 MB memory 8192 byte alignment, 8192 byte offset VIS Min RMS Max Max ---Total---- --Per Proc-- ----Time per---- time time time Min Stream Total Stream Total Load Store Mem sec sec sec Range MB/s MB/s MB/s MB/s ns ns ns Copy : 0.103 0.104 0.110 7% 10307 10307 164 164 782 782 391 Scale: 0.104 0.105 0.110 6% 10180 10180 162 162 792 792 396 Vadd : 0.156 0.157 0.165 6% 10181 10181 162 162 594 1188 396 Triad: 0.157 0.158 0.165 5% 10107 10107 160 160 598 1197 399 From jjt@ilinks.net Mon Apr 7 09:01:33 PDT 1997 Article: 23002 of comp.benchmarks Path: news.corp.sgi.com!news.sgi.com!mr.net!supernews.com!news From: Jim Tuccillo Newsgroups: comp.benchmarks Subject: Re: PPC vs. Intel Spec Marks revisited Date: Mon, 07 Apr 1997 08:46:45 -0500 Organization: All USENET -- http://www.Supernews.com Lines: 85 Message-ID: <3348FAC5.41C6@ilinks.net> References: <3342FB68.706D@pathcom.com> <5i2cca$ldc@usenet.pa.dec.com> <33465E36.446B@ilinks.net> <5i8noh$ag0@usenet.pa.dec.com> NNTP-Posting-Host: jjt.ilinks.net Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.01Gold (X11; U; AIX 2) Status: RO You are incorrect on a couple of points. First of all, the Power2 architecture is binary compatible with the PowerPC architecture. Many users of the Power2 will toggle on the compiler option to generate some Power2 specific instructions but this is true for many families of micro-processors. The bottom line is that a standard compile will generate an executable that will run on both PowerPC and Power2. Power2 and PowerPC have the same instruction set and run the same compilers, OS, applications, etc. Secondly, IBM is continuing to produce new versions of the Power2 architecture so your statement about "not being able to design a machine that came even close" is incorrect. The older 590 was based on a 67 MHz clock while the latest Power2 designs ( P2SC ) have a 120 and 135 MHz clock. These new processors were just introduced in the fall and have been shipping in quantity for several months. This is a "brainiac" design. Regarding price, they are comparable to the high-end DEC, SGI, and HP workstations ( in other words, if your budget is $3000, then you should buy a Pentium Pro or PowerPC 604e ). When comparing workstations for high-end computing, you should reference the Power2 RS6000s, not the PowerPC RS6000s. The stream numbers from the RS6000 595 ( 135 MHz ) are as follows: Function Rate (MB/s) RMS time Min time Max time Assignment: 620.9357 .0490 .0515 .0518 Scaling : 650.4704 .0468 .0492 .0495 Summing : 660.6959 .0690 .0727 .0729 SAXPYing : 689.5455 .0661 .0696 .0698 Please note that the 595 has the same memory bus as the 590 but the processor has 2x the clock speed. Stream is a measure of memory bus performance. The 590 and 595 have a 67 MHZ memory bus that is 256 bits wide. The processor supports 2 "quad-word" load instructions per clock period. The 591 has a faster memory bus ( 77 MHz ) and is therefor faster on Stream. Typical real application performance improvements for the 595 over the 590 is a factor of 1.7. The Power2 RS6000s are often bought by those who are doing floating point intensive work that requires high memory bandwidth. It has 2-3x the single stride memory bandwidth of any other micro-processor. This difference shows up on problems that generate significant memory traffic. I think Stream actually correlates well with certain fluid problems that produce relatively few operations per memory reference and have a working set that is much larger than L2 cache ( for those systems with L2 cache ). Regards, Jim Tuccillo Burkhard Neidecker-Lutz wrote: > > In article <33465E36.446B@ilinks.net> Jim Tuccillo writes: > >Actually the IBM RS6000 is the leader by a large margin. About 700 MB/s > >on copy if my memory serves me. You seem to have gone through the list > >and excluded the RS6000 for some reason. > > RS/6000 is a broad range of things.There is one particular model of the > POWER2 based machines that has tremendous bandwidth: > > STREAM Memory Bandwidth --- John D. McCalpin, mccalpin@cs.virginia.edu > All results are in MB/s --- 1 MB=10^6 B, *not* 2^20 B > ------------------------------------------------------------------ > Machine ID ncpus COPY SCALE ADD TRIAD > ------------------------------------------------------------------ > IBM_RS6000-591 1 711.1 695.7 750.0 800.0 > IBM_RS6000-990 1 663.4 533.4 714.5 713.8 > IBM_RS6000-590 1 600.0 533.3 654.5 654.5 > IBM_RS6000-990-128 1 333.3 333.3 363.6 363.6 > > This CPU has little to nothing to do with the PowerPC that we have > today and IBM themselves have never been able to design a machine > that came even close. It is a machine to be admired, especially given > how old it is, but it does this by using instructions that aren't > in PowerPC, uses extremely long cache lines (256 bytes) and you > may want to find out how expensive it is. Other RS/6000 models > aren't even close in bandwidth. > > Burkhard Neidecker-Lutz > > CEC Karlsruhe , European Applied Research Center, Digital Equip. Corp. > email: neideck@kar.dec.com > 600 Mhz 21164, estimated performance SPECint95 18.0e, SPECfp95 27.0e From bshair@csci.csc.com Fri Apr 4 14:24:41 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id OAA07464; Fri, 4 Apr 1997 14:24:37 -0800 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id OAA01701; Fri, 4 Apr 1997 14:24:35 -0800 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via SMTP id OAA00536 for ; Fri, 4 Apr 1997 14:24:33 -0800 Received: from archive.cs.virginia.edu by mail.virginia.edu id aa00094; 4 Apr 97 17:24 EST Received: from mercury.csc.com (mercury.csc.com [20.1.20.110]) by archive.cs.Virginia.EDU (8.7.5/8.7.3) with ESMTP id RAA21205 for ; Fri, 4 Apr 1997 17:24:21 -0500 (EST) Received: from chmpgn.csci.csc.com(really [20.12.4.7]) by mercury.csc.com via smtpd with esmtp id for ; Fri, 4 Apr 1997 17:23:10 -0500 (EST) (Smail-3.2.0.91 1997-Jan-14 #7 built 1997-Feb-26) Message-Id: Received: by chmpgn.csci.csc.com (1.37.109.20/16.2) id AA068162485; Fri, 4 Apr 1997 16:21:25 -0600 From: Bob Shair Subject: STREAM result To: mccalpin@cs.virginia.edu Date: Fri, 04 Apr 1997 16:21:25 CST X-Mailer: Elm [revision: 109.18] X-Zm-Priority: Medium Status: RO Hi, John, I hope you remember me from my days at IBM, supporting RS/6000s (when the comments you made on memory were very useful). I've downloaded a copy of STREAM, and will try running it on various systems here. The systems I have access to are mostly designed for commercial transaction processing, so the results may look somewhat different from number crunchers, but I trust they'll be of interest. The first result which I have is from a RS/6000 7012-G30 (2x604 @ 112.5MHz). I don't know how to use two processors, though, so this is only using one. The system was basically idle, though in full operational state, with 38 users logged in, CA-Unicenter and all daemons running. Compiled with xlc -O3 -qhsflt -qtune=604 -qarch=ppc and xlC.C 3.1.1.0 ./stream_604 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 0 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 9999 microseconds. Each test below will take on the order of 269999 microseconds. (= 27 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 48.4849 0.3350 0.3300 0.3400 Scale: 45.7144 0.3530 0.3500 0.3600 Add: 53.3334 0.4602 0.4500 0.5000 Triad: 53.3335 0.4601 0.4500 0.4800 Running the same binary on an IBM PowerSeries 850 (1 604@133MHz) (this machine should be the same as a 43P). ./stream_604 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 0 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 9999 microseconds. Each test below will take on the order of 300000 microseconds. (= 30 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 45.7142 0.3590 0.3500 0.3600 Scale: 44.4445 0.3640 0.3600 0.3700 Add: 53.3334 0.4570 0.4500 0.4600 Triad: 53.3335 0.4530 0.4500 0.4600 -- Bob Shair Voice.(217)351-8250 Ext:2421 Systems Consultant Fax.(217) 351-7346 CSC-CIS TRIS Division E-mail. bshair@csci.csc.com At the source of the Embarras P.O. Box 770 2109 Fox Drive Champaign, IL 61824-0770 From gratz@ite.inf.tu-dresden.de Thu Apr 17 06:21:33 PDT 1997 Article: 23185 of comp.benchmarks Path: news.corp.sgi.com!news.sgi.com!newsfeed.nacamar.de!fu-berlin.de!irz401!not-for-mail From: Achim Gratz Newsgroups: comp.benchmarks Subject: Re: PPC vs. Intel Spec Marks revisited Date: 17 Apr 1997 14:08:59 +0200 Organization: Institute of Computer Engineering, CS department, TU Dresden, Germany Lines: 55 Sender: gratz@ite127.inf.tu-dresden.de Message-ID: References: <333EAEA6.BB4@pathcom.com> <333FF51D.5F0B@cup.hp.com> <3342FB68.706D@pathcom.com> <5i2cca$ldc@usenet.pa.dec.com> <33465E36.446B@ilinks.net> <334C41D8.54C0@pathcom.com> <335524C6.1CFB@nas.nasa.gov> NNTP-Posting-Host: ite127.inf.tu-dresden.de Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Newsreader: Gnus v5.3/Emacs 19.34 Status: RO Hugh LaMaster writes: > While we are on this subject, it is curious that the (200 MHz?) Ultra II > is slower in all categories than the 170. Is the bus interface > slower? I think the 170 runs at clock/2, and I thought the 200 was > supposed to also, but since the performance seems lower than the 170, That's right. Interconnect bandwith for 200MHz Ultra machines scales with the CPU frequency. Ultra2 machines have four banks of memory, while Ultra1 has two. > I'm wondering what is going on. I have explained this already, but since you obviously missed it, here it goes again: The values for Ultra1-170 are obtained with the F77 version of stream (not by me), while the values for the Ultra2-2200 were done with the C version. That prevents certain optimizations the compiler would otherwise be happy to do. I have not submitted numbers for F77 for a simple reason: they are not as interesting to me as the C numbers. The numbers in the table are first shot aggregate numbers that suffer a bit from the load that had been on the machine at the time of measurement. I had submitted more recent results (both standard and experimental) with a parallelized version of stream to John McCalpin, but they never showed up in the table, I assume they've been lost. I'm going to resubmit them, here's the (unofficial) summary of the standard results. ------------------------------------------------------------------ Machine ID ncpus COPY SCALE ADD TRIAD ------------------------------------------------------------------ Sun_Ultra2-2200 2 291.4 285.6 329.9 311.4 Sun_Ultra2-2200 1 228.5 227.5 258.9 189.9 Sun_Ultra1-200E 1 218.2 213.0 235.7 188.0 Sun_Ultra2-2170 2 266.4 264.5 311.8 276.8 Sun_Ultra2-2170 1 198.8 192.1 207.6 168.0 Sun_Ultra1-170E 1 196.2 192.4 222.9 157.9 Sun_Ultra1-140 1 178.7 175.7 202.9 154.4 Sun_SS20-712 2 78.6 79.6 84.0 85.0 Sun_SS20-712 1 62.6 60.2 58.6 60.2 Sun_SS20-612 2 79.0 77.6 82.1 82.5 Sun_SS20-612 1 55.9 57.3 54.5 59.7 Sun_SS20-51 1 47.7 43.1 44.4 44.7 Sun_SS20-502 2 82.9 78.7 92.7 91.0 Sun_SS20-502 1 68.1 53.4 76.4 67.7 Achim Gratz. --+<[ It's the small pleasures that make life so miserable. ]>+-- WWW: http://www.inf.tu-dresden.de/~ag7/{english/} E-Mail: gratz@ite.inf.tu-dresden.de Phone: +49 351 463 - 8325 From Ashok.Singhal@Eng.Sun.COM Thu Apr 17 13:25:09 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id NAA04706; Thu, 17 Apr 1997 13:25:08 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id NAA25751; Thu, 17 Apr 1997 13:25:07 -0700 Received: from venus.Sun.COM (venus.Sun.COM [192.9.25.5]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id NAA03421 for ; Thu, 17 Apr 1997 13:25:05 -0700 Received: from Eng.Sun.COM ([129.146.1.25]) by venus.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id NAA28994 for ; Thu, 17 Apr 1997 13:25:01 -0700 Received: from duckjibe.eng.sun.com by Eng.Sun.COM (SMI-8.6/SMI-5.3) id NAA17414; Thu, 17 Apr 1997 13:24:59 -0700 Received: by duckjibe.eng.sun.com (SMI-8.6/SMI-SVR4) id NAA04952; Thu, 17 Apr 1997 13:23:48 -0700 Date: Thu, 17 Apr 1997 13:23:48 -0700 From: Ashok.Singhal@Eng.Sun.COM (Ashok Singhal) Message-Id: <199704172023.NAA04952@duckjibe.eng.sun.com> To: mccalpin Subject: STREAM results for UE6000 with 250 MHz UltraSPARC-2 (standard, no prefetch) Cc: Ashok.Singhal@Eng.Sun.COM X-Sun-Charset: US-ASCII Status: RO Here are some STREAM numbers for the UE6000 with the 250 MHz UltraSPARC-2. Most of the difference arises not from the frequency of the processor but from the fact that it supports multiple outstanding misses. These are standard, auto-parallelized C using the C compiler that's been shipping for a while so no prefetch instructions are generated. For the 2 CPU case I ran two cases: (a)both CPUs on same board and (b) CPUs on different board. For the others I let the scheduler decide. The cache size of all CPUs on this system was 1MB. Array sizes were increased from 1600000 (36.6 MB used) to 6400000 (146.5 MB) to make sure caches were not being helpful. I tried a couple of different offsets for the 1 and 2 cpu cases but didn't bother for the others (other than increasing the array size). This system had only 12 CPUs (but we're pretty close to the bus limit anyway so the 16 CPU result we had earlier could still remain). CPUs COPY SCALE SUM TRIAD 1 281 281 224 261 2 434 429 440 500 (both CPUs on same board) 2 460 457 513 538 (CPUs on different boards) 3 694 684 603 701 4 921 900 796 891 6 1265 1257 1116 1201 8 1517 1528 1371 1501 10 1653 1741 1573 1760 12 1785 1750 1884 1848 Regards, Ashok From Ashok.Singhal@Eng.Sun.COM Thu Apr 17 15:11:57 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id PAA05279; Thu, 17 Apr 1997 15:11:56 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id PAA01689; Thu, 17 Apr 1997 15:11:55 -0700 Received: from venus.Sun.COM (venus.Sun.COM [192.9.25.5]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id PAA28764 for ; Thu, 17 Apr 1997 15:11:52 -0700 Received: from Eng.Sun.COM ([129.146.1.25]) by venus.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id PAA11219 for ; Thu, 17 Apr 1997 15:11:51 -0700 Received: from duckjibe.eng.sun.com by Eng.Sun.COM (SMI-8.6/SMI-5.3) id PAA07206; Thu, 17 Apr 1997 15:11:48 -0700 Received: by duckjibe.eng.sun.com (SMI-8.6/SMI-SVR4) id PAA05056; Thu, 17 Apr 1997 15:10:38 -0700 Date: Thu, 17 Apr 1997 15:10:38 -0700 From: Ashok.Singhal@Eng.Sun.COM (Ashok Singhal) Message-Id: <199704172210.PAA05056@duckjibe.eng.sun.com> To: mccalpin Subject: Re: STREAM results for UE6000 with 250 MHz UltraSPARC-2 (standard, no prefetch) Cc: Ashok.Singhal@Eng.Sun.COM X-Sun-Charset: US-ASCII Status: RO I forgot that you also wanted to see the results for the size=2000000, offset = 0 case. Here is they are: CPUs COPY SCALE SUM TRIAD 1 230 230 263 235 2 396 391 451 417 (both CPUs on same board) 2 438 435 483 449 (CPUs on different boards) 3 631 629 696 669 4 816 812 900 864 6 1126 1120 1259 1212 8 1409 1375 1531 1515 10 1659 1600 1731 1765 12 1812 1711 1817 1894 Regards, Ashok From cmg@cray.com Fri Apr 18 12:08:28 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id MAA07064; Fri, 18 Apr 1997 12:08:27 -0700 Received: from palladium.corp.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id MAA13400; Fri, 18 Apr 1997 12:08:23 -0700 Received: from timbuk.cray.com by palladium.corp.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/911001.SGI) for id MAA06451; Fri, 18 Apr 1997 12:08:21 -0700 Received: from ironwood.cray.com (root@ironwood-fddi.cray.com [128.162.21.36]) by timbuk.cray.com (8.8.5/CRI-gate-8-2.11) with ESMTP id OAA05775 for ; Fri, 18 Apr 1997 14:02:58 -0500 (CDT) Received: from magnet.cray.com (magnet [128.162.173.162]) by ironwood.cray.com (8.8.4/CRI-ccm_serv-8-2.8) with ESMTP id OAA09584 for ; Fri, 18 Apr 1997 14:02:54 -0500 (CDT) From: Charles Grassl Received: by magnet.cray.com (8.8.0/btd-b3) id TAA08131; Fri, 18 Apr 1997 19:02:54 GMT Message-Id: <199704181902.TAA08131@magnet.cray.com> Subject: stream results for T3E To: mccalpin@asd.sgi.com Date: Fri, 18 Apr 1997 14:02:53 -0500 (CDT) X-Mailer: ELM [version 2.4 PL24-CRI-d] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO John; For you information, below are "stream" results for a 450 MHz CRAY T3E with 512 PEs. A copy of the program is also included below. Regards, Charles Grassl Number of iterations: 10 Size of Arrays: 501 Kwords Bandwidth (Mbyte/s) PEs Copy Scale Sum Triad Saxpy 1 Load 1 Store ------- --------- --------- --------- --------- --------- --------- --------- 1 484. 482. 571. 568. 672. 435. 306. 2 935. 935. 1088. 1118. 1333. 859. 604. 4 1877. 1869. 2147. 2230. 2668. 1719. 1185. 8 3747. 3739. 4167. 4471. 5305. 3476. 2193. 16 7497. 7477. 8042. 8828. 10655. 6863. 4218. 32 14968. 14940. 15935. 17148. 21323. 13726. 8394. 64 30066. 29694. 31051. 34168. 42399. 27431. 16803. 128 60175. 58707. 57177. 64952. 84065. 54710. 33363. 256 119483. 116861. 107532. 126061. 165733. 109631. 66738. 512 240428. 233501. 243368. 265803. 331126. 210628. 133439. program Stream integer ofst,aoff,boff,coff parameter (N = 501*1024, NTIMES = 10) parameter (ofst = 8*1024) real*8 a(N+8*1024),b(N+8*1024),c(N+8*1024) common /acom/a,b,c real times(7) real avetime(7),rmstime(7),mintime(7),maxtime(7) character*10 label(7) integer bytes(7),flops(7) data avetime/7*0.0/ data rmstime/7*0.0/ data mintime/7*1.0e+36/ data maxtime/7*0.0/ data label/' Copy', . ' Scale', . ' Sum', . ' Triad', . ' Saxpy', . ' 1 Load', . '1 Store'/ parameter (nbpw = 8 ) data bytes/2,2,3,3,3,1,1/ data flops/0,1,1,2,2,1,0/ integer shmem_my_pe,shmem_n_pes round_up(ix,index) = ((ix + (index-1))/index)*index me = shmem_my_pe() numpes = shmem_n_pes() istart_a = loc(a) istart_b = loc(b) istart_c = loc(c) istart_a = (round_up(istart_a,8092) - istart_a)/8 + 1 istart_b = (round_up(istart_b,8092) - istart_b)/8 + 1 istart_c = (round_up(istart_c,8092) - istart_c)/8 + 1 if ( me .eq. 0 ) then write(6,9020) numpes,ntimes,n/1024 write(6,9030) (label(j),j=1,7) end if do 1000 k=1,NTIMES call bandwidth(n,a(istart_a), b(istart_b), c(istart_c), times) avetime = avetime + times rmstime = rmstime + times**2 mintime = min( mintime, times ) maxtime = max( maxtime, times ) if ( me .eq. 0) then write(6,9040) k,(N*bytes(j)*nbpw*numpes/times(j)/1.0e6,j=1,7) end if 1000 continue if ( me .eq. 0) then avetime = avetime/NTIMES write(6,9050) (N*bytes(j)*nbpw*numpes/mintime(j)/1.0e6,j=1,7), . (N*bytes(j)*nbpw*numpes/avetime(j)/1.0e6,j=1,7), . (N*bytes(j)*nbpw*numpes/maxtime(j)/1.0e6,j=1,7) end if call exit() 9020 format( /' *** STREAM benchmark ***' . /' Number of PEs: ',i8 . /' Number of iterations: ',i8 . /' Size of Arrays: ',i8,' Kwords') 9030 format(// 30(' '),'Bandwidth (Mbyte/s)' . /' Iterat. ',7a10, . / (' -------'),7(' ---------')) 9040 format ( i6,2x,7f10.0) 9050 format (/' Max: ',7f10.0/ . ' Ave: ',7f10.0/ . ' Min: ',7f10.0/) end subroutine dummysub(a,b,c,n) return end subroutine bandwidth(n,a,b,c,times) real*8 a(n),b(n),c(n) real*8 times(7) data scalar /3.0/ common /bandcom/ sum timer()=0.001*timef() timer()=3.333e-9*rtc() t = timer() do j=1,N c(j) = a(j) end do call barrier times(1) = timer()-t call dummysub(a,b,c,n) t = timer() do j=1,N c(j) = scalar*a(j) end do call barrier times(2) = timer()-t call dummysub(a,b,c,n) t = timer() do j=1,N c(j) = a(j) + b(j) end do call barrier times(3) = timer()-t call dummysub(a,b,c,n) t = timer() do j=1,N c(j) = a(j)+scalar*b(j) end do call barrier times(4) = timer()-t call dummysub(a,b,c,n) t = timer() do j=1,N c(j) = c(j)+scalar*b(j) end do call barrier times(5) = timer()-t call dummysub(a,b,c,n) sum = 0. t = timer() do j=1,N sum = sum + a(j) end do call barrier times(6) = timer()-t call dummysub(a,b,c,n) t = timer() do j=1,N c(j) = 0. end do call barrier times(7) = timer()-t call dummysub(a,b,c,n) return end From loesche@math.tu-dresden.de Fri Apr 18 00:35:54 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id AAA06081; Fri, 18 Apr 1997 00:35:28 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id AAA21132; Fri, 18 Apr 1997 00:35:03 -0700 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via SMTP id AAA11663 for ; Fri, 18 Apr 1997 00:34:57 -0700 Received: from archive.cs.virginia.edu by mail.virginia.edu id aa03525; 18 Apr 97 3:34 EDT Received: from POP3.tu-dresden.de (RKS3f.urz.tu-dresden.de [141.30.2.83]) by archive.cs.Virginia.EDU (8.7.5/8.7.3) with SMTP id DAA02211 for ; Fri, 18 Apr 1997 03:34:50 -0400 (EDT) Received: from rmail.urz.tu-dresden.de (actually Rks4.urz.tu-dresden.de) by rks3 with SMTP (PP); Fri, 18 Apr 1997 09:34:43 +0200 Received: from NBTF01.math.tu-dresden.de by rmail with SMTP (PP); Fri, 18 Apr 1997 09:27:01 +0200 Received: from NNMW06.math.tu-dresden.de by NBTF01.math.tu-dresden.de (AIX 3.2/UCB 5.64/4.03) id AA18211; Fri, 18 Apr 1997 09:34:27 +0200 From: Ralf Loesche Received: by NNMW06.math.tu-dresden.de (5.0/SMI-SVR4) id AA00820; Fri, 18 Apr 1997 09:34:26 --100 Date: Fri, 18 Apr 1997 09:34:26 --100 Message-Id: <9704180734.AA00820@NNMW06.math.tu-dresden.de> To: mccalpin@cs.virginia.edu Subject: Some stream numbers Status: RO Hi, I took my chances and tried your stream code on my PC: Intel P133, 512 KB PB cache, 64 MB EDO RAM, running Linux RedHat 4.0, kernel 2.0.18. Compilers used: GCC 2.7.2.f.1, G77 0.5.18 Here the compiler command line and the results for both the C and the F77 version of stream (best results out of 10 runs) come: C: gcc -O2 -fomit-frame-pointer -finline-functions -funroll-all-loops -fstrength-reduce -fexpensive-optimizations -malign-jumps=2 -malign-loops=2 -malign-functions=2 -o stream.LINUX.GCC.full_opt second_cpu.c stream_d.c -lm ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 0 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 9999 microseconds. Each test below will take on the order of 220000 microseconds. (= 22 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 88.8889 0.3610 0.3600 0.3700 Scale: 118.5185 0.2770 0.2700 0.2800 Add: 126.3158 0.3810 0.3800 0.3900 Triad: 117.0732 0.4170 0.4100 0.4200 F77: g77 -O1 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -finline-functions -fstrength-reduce -funroll-all-loops -o stream.LINUX.g77.opt etime.o second_cpu.f stream_d.f ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 10000 microseconds The tests below will each take a time on the order of 230000 microseconds (= 23 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 86.4865 0.3606 0.3700 0.4000 Scale: 118.5187 0.2625 0.2700 0.2900 Add: 123.0771 0.3732 0.3900 0.4000 Triad: 117.0732 0.3921 0.4100 0.4200 Sum of a is = 2.30660156E+18 Sum of b is = 4.61320312E+17 Sum of c is = 6.1509375E+17 Beside of Copy these numbers are a bit better than what's on your results table. Ciao, Ralf Loesche From loesche@math.tu-dresden.de Mon Apr 21 00:11:43 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id AAA10624; Mon, 21 Apr 1997 00:09:27 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id AAA11873; Mon, 21 Apr 1997 00:05:49 -0700 Received: from POP3.tu-dresden.de (RKS3f.urz.tu-dresden.de [141.30.2.83]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via SMTP id AAA14904 for ; Mon, 21 Apr 1997 00:05:47 -0700; e-from (loesche@math.tu-dresden.de) Received: from rmail.urz.tu-dresden.de (actually Rks4.urz.tu-dresden.de) by rks3 with SMTP (PP); Mon, 21 Apr 1997 09:05:33 +0200 Received: from NBTF01.math.tu-dresden.de by rmail with SMTP (PP); Mon, 21 Apr 1997 08:57:46 +0200 Received: from NWRW10.math.tu-dresden.de by NBTF01.math.tu-dresden.de (AIX 3.2/UCB 5.64/4.03) id AA18180; Mon, 21 Apr 1997 09:05:10 +0200 From: loesche@math.tu-dresden.de (Ralf Loesche) Received: by NWRW10.math.tu-dresden.de (SMI-8.6/SMI-SVR4) id JAA00454; Mon, 21 Apr 1997 09:05:07 +0200 Date: Mon, 21 Apr 1997 09:05:07 +0200 Message-Id: <199704210705.JAA00454@NWRW10.math.tu-dresden.de> To: mccalpin Subject: Re: Some stream numbers X-Sun-Charset: US-ASCII Status: RO Hi, sorry, no vendor name available. I assembled the machine myself taking motherbord etc. according to some hardware tests in a German computer mag. Thus, I just can give some more hardware/software information: mainboard: Gigabyte 586HX w/ 512KB PB cache RAM: 4x16 MB 60ns EDO processor: Intel P133 OS: Linux RedHat 4.0 standard libs compiler: GCC 2.7.2.f.1 & G77 0.5.18 I played around with the optimization options and found the ones I used 'most optimizing'. Sorry again, no vendor name. Ciao, Ralf From Ashok.Singhal@Eng.Sun.COM Mon Apr 21 09:04:00 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id JAA11402; Mon, 21 Apr 1997 09:03:59 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id JAA22168; Mon, 21 Apr 1997 09:03:47 -0700 Received: from venus.Sun.COM (venus.Sun.COM [192.9.25.5]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via ESMTP id JAA02779 for ; Mon, 21 Apr 1997 09:03:46 -0700; e-from (Ashok.Singhal@Eng.Sun.COM) Received: from Eng.Sun.COM ([129.146.1.25]) by venus.Sun.COM (SMI-8.6/mail.byaddr) with SMTP id JAA19369 for ; Mon, 21 Apr 1997 09:03:45 -0700 Received: from duckjibe.eng.sun.com by Eng.Sun.COM (SMI-8.6/SMI-5.3) id JAA19462; Mon, 21 Apr 1997 09:03:43 -0700 Received: by duckjibe.eng.sun.com (SMI-8.6/SMI-SVR4) id JAA00578; Mon, 21 Apr 1997 09:02:27 -0700 Date: Mon, 21 Apr 1997 09:02:27 -0700 From: Ashok.Singhal@Eng.Sun.COM (Ashok Singhal) Message-Id: <199704211602.JAA00578@duckjibe.eng.sun.com> To: mccalpin Subject: Re: STREAM results for UE6000 with 250 MHz UltraSPARC-2 (standard, no prefetch) Cc: Ashok.Singhal@Eng.Sun.COM X-Sun-Charset: US-ASCII Status: RO > From mccalpin@frakir.asd.sgi.com Sat Apr 19 15:25:28 1997 > > Is this the same machine as the one called a Ultra Enterprise 6001 Sorry, yes, technically it isn't the 6000 but the 6001. > and the Ultra HPC 6000? > I'll need to check on this, but I think this should also be the HPC 6001. But, it's the same hardware. Ashok From mccalpin Thu Apr 24 13:02:48 1997 Received: by frakir.asd.sgi.com (950413.SGI.8.6.12/940406.SGI.AUTO) for mccalpin id NAA01671; Thu, 24 Apr 1997 13:02:47 -0700 Date: Thu, 24 Apr 1997 13:02:47 -0700 From: mccalpin (John McCalpin) Message-Id: <199704242002.NAA01671@frakir.asd.sgi.com> To: mccalpin Subject: 175 MHz Indy results Status: RO frakir 33% ./stream.mips3 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 10000 microseconds The tests below will each take a time on the order of 280000 microseconds (= 28 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) Min time Max time Mean time RMS time Median Copy: 72.73 0.4400 0.4900 0.4660 0.4665 0.4450 Scale: 68.09 0.4700 0.5200 0.4920 0.4924 0.5100 Add: 71.64 0.6700 0.7100 0.6980 0.6982 0.6900 Triad: 70.59 0.6800 0.7300 0.7090 0.7093 0.7000 ----------------------------------------------------------------------------- Sum of a is = 115330078125.0000 Sum of b is = 23066015625.00000 Sum of c is = 30754687500.00000 frakir 34% !! ./stream.mips3 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 10000 microseconds The tests below will each take a time on the order of 280000 microseconds (= 28 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) Min time Max time Mean time RMS time Median Copy: 72.73 0.4400 0.4900 0.4640 0.4644 0.4500 Scale: 68.09 0.4700 0.5200 0.4930 0.4934 0.5100 Add: 71.64 0.6700 0.7200 0.7020 0.7022 0.6900 Triad: 70.59 0.6800 0.7200 0.7080 0.7082 0.7000 ----------------------------------------------------------------------------- Sum of a is = 115330078125.0000 Sum of b is = 23066015625.00000 Sum of c is = 30754687500.00000 -- John D. McCalpin, Ph.D. Supercomputing Performance Analyst Scalable Systems Group http://reality.sgi.com/mccalpin/ Silicon Graphics, Inc. mccalpin@sgi.com 415-933-7407 From mccalpin@grieg.udel.edu Fri May 2 13:18:17 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id NAA15985; Fri, 2 May 1997 13:18:09 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id NAA04026; Fri, 2 May 1997 13:18:04 -0700 Received: from grieg.udel.edu (grieg.udel.edu [128.175.13.66]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via SMTP id NAA07034 for ; Fri, 2 May 1997 13:18:02 -0700 env-from (mccalpin@grieg.udel.edu) Received: by grieg.udel.edu (AIX 3.2/UCB 5.64/4.03) id AA16370; Fri, 2 May 1997 16:18:25 -0400 Date: Fri, 2 May 1997 16:18:25 -0400 From: mccalpin@grieg.udel.edu (John McCalpin) Message-Id: <9705022018.AA16370@grieg.udel.edu> To: mccalpin@sgi.com Subject: stream 128 on IBM 990 Status: RO xlf -O3 -qarch=pwrx stream_128.f -o stream "stream_128.f", 1500-036 (I) Optimization level 3 has the potential to alter the semantics of a program. Please refer to documentation on -O3 and the STRICT option for more information. ** stream === End of Compilation 1 === ** realsize === End of Compilation 2 === ** confuse === End of Compilation 3 === ** checktick === End of Compilation 4 === ** second === End of Compilation 5 === 1501-51xlf -O3 -qarch=pwrx stream_128.f -o stream "stream_128.f", 1500-036 (I) Optimization level 3 has the potential to alter the semantics of a program. Please refer to documentation on -O3 and the STRICT option for more information. ** stream === End of Compilation 1 === ** realsize === End of Compilation 2 === ** confuse === End of Compilation 3 === ** checktick === End of Compilation 4 === ** second === End of Compilation 5 === 1501-510 Compilation successful for file stream_128.f. grieg 21% ./stream Hmmmm. I am unable to determine the size. Please enter the number of Bytes per DOUBLE PRECISION number : 16 You have manually entered a size of 16 bytes per DOUBLE PRECISION number ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 91 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 10000 microseconds The tests below will each take a time on the order of 440000 microseconds (= 44 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know tho be 10000 microseconds The tests below will each take a time on the order of 440000 microseconds (= 44 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) Min time Max time Mean time RMS time Median Copy: 800.00 .0800 .1300 .1050 .1059 .1100 Scale: 130.61 .4900 .5400 .5110 .5113 .5100 Add: 118.52 .8100 .9200 .8850 .8856 .8800 Triad: 68.57 1.4000 1.5700 1.4790 1.4800 1.4100 ----------------------------------------------------------------------------- All times are .1100 .5000 .9200 1.5400 .1000 .4900 .9000 1.4500 .1100 .5400 .8800 1.5300 .0900 .5100 .8700 1.5200 .1000 .5100 .9100 1.4000 .1200 .5100 .8500 1.4200 .1300 .5200 .9100 1.4500 .0800 .5400 .8800 1.4400 .1100 .5000 .8100 1.5700 .1000 .4900 .9200 1.4700 ----------------------------------------------------------------------------- Sum of a is = 115330078125.000000 Sum of b is = 23066015625.0000000 Sum of c is = 30754687500.0000000 From ce107@cfm.brown.edu Sat May 3 12:51:10 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id MAA18591; Sat, 3 May 1997 12:51:04 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id MAA00484; Sat, 3 May 1997 12:51:03 -0700 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by sgi.sgi.com (950413.SGI.8.6.12/950213.SGI.AUTOCF) via SMTP id MAA27598 for ; Sat, 3 May 1997 12:50:54 -0700 env-from (ce107@cfm.brown.edu) From: ce107@cfm.brown.edu Received: from archive.cs.virginia.edu by mail.virginia.edu id aa08138; 3 May 97 15:50 EDT Received: from cfm.brown.edu (cfm.brown.edu [128.148.128.7]) by archive.cs.Virginia.EDU (8.7.5/8.7.3) with SMTP id PAA05405 for ; Sat, 3 May 1997 15:50:44 -0400 (EDT) Received: from athene ([128.148.160.214]) by cfm.brown.edu (4.1/1.00) id AA12868; Sat, 3 May 97 15:50:30 EDT Received: by athene (940816.SGI.8.6.9/CFM-10^100) id PAA22954; Sat, 3 May 1997 15:50:41 -0400 Message-Id: <199705031950.PAA22954@athene> Subject: Results for IBM SP2/P2SC-thin node (120MHz) To: "John D. McCalpin" Date: Sat, 3 May 1997 15:50:41 -0400 (EDT) X-Mailer: ELM [version 2.4 PL25] Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Status: RO Fresh out of the Mauiu P2SC system. Unfortunately the memory is only 128MB per node and thus I cannot use a large enough problem size to get 20 clock ticks with the cpu timer. :-( Constantinos C version - cpu timer - xlc -O3 -qarch=pwr2 -qtune=pwr2 -Q offset 0 - repeated 4 times ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 4400000, Offset = 0 Total memory required = 100.7 MB. Each test is run 200 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 9999 microseconds. Each test below will take on the order of 80000 microseconds. (= 8 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 782.2222 0.1023 0.0900 0.1200 Scale: 782.2222 0.1049 0.0900 0.1500 Add: 880.0000 0.1351 0.1200 0.1500 Triad: 812.3077 0.1363 0.1300 0.1500 96.5u 0.1s 2:08 75% 8+102663k 0+0io 693pf+0w ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 4400000, Offset = 0 Total memory required = 100.7 MB. Each test is run 200 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 9999 microseconds. Each test below will take on the order of 69999 microseconds. (= 7 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 782.2222 0.1025 0.0900 0.1200 Scale: 782.2222 0.1052 0.0900 0.1200 Add: 960.0000 0.1355 0.1100 0.1400 Triad: 880.0000 0.1356 0.1200 0.1600 96.3u 0.1s 1:37 98% 7+102709k 0+0io 7pf+0w ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 4400000, Offset = 0 Total memory required = 100.7 MB. Each test is run 200 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 9999 microseconds. Each test below will take on the order of 69999 microseconds. (= 7 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 704.0000 0.1027 0.1000 0.1300 Scale: 782.2222 0.1059 0.0900 0.1100 Add: 880.0000 0.1358 0.1200 0.1500 Triad: 880.0000 0.1350 0.1200 0.1400 96.5u 0.1s 1:37 99% 7+102719k 0+0io 0pf+0w ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 4400000, Offset = 0 Total memory required = 100.7 MB. Each test is run 200 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 9999 microseconds. Each test below will take on the order of 69999 microseconds. (= 7 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 880.0000 0.1032 0.0800 0.1100 Scale: 782.2222 0.1048 0.0900 0.1100 Add: 880.0000 0.1360 0.1200 0.1400 Triad: 880.0000 0.1347 0.1200 0.1400 96.3u 0.1s 1:37 99% 15+102762k 0+0io 3pf+0w F77 version - cpu timer - xlf -O3 -qarch=pwr2 -qtune=pwr2 -Q offset 0 - repeated 4 times ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 4400000 Offset = 0 The total memory requirement is 100 MB You are running each test 200 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 10000 microseconds The tests below will each take a time on the order of 70000 microseconds (= 7 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 782.2222 .1022 .0900 .1100 Scale: 782.2222 .1045 .0900 .1100 Add: 880.0000 .1347 .1200 .1500 Triad: 960.0000 .1349 .1100 .1400 Sum of a is = 0.145456952139311120E+243 Sum of b is = 0.290913904286721377E+242 Sum of c is = 0.387885205746326088E+242 96.7u 0.2s 1:38 98% 19+102759k 0+0io 53pf+0w ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 4400000 Offset = 0 The total memory requirement is 100 MB You are running each test 200 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 10000 microseconds The tests below will each take a time on the order of 70000 microseconds (= 7 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 782.2222 .1030 .0900 .1100 Scale: 782.2222 .1049 .0900 .1200 Add: 880.0000 .1349 .1200 .1500 Triad: 880.0000 .1348 .1200 .1500 Sum of a is = 0.145456952139311120E+243 Sum of b is = 0.290913904286721377E+242 Sum of c is = 0.387885205746326088E+242 96.9u 0.2s 1:38 98% 19+102718k 0+0io 1pf+0w ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 4400000 Offset = 0 The total memory requirement is 100 MB You are running each test 200 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 10000 microseconds The tests below will each take a time on the order of 70000 microseconds (= 7 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 782.2222 .1021 .0900 .1100 Scale: 782.2222 .1051 .0900 .1100 Add: 880.0000 .1337 .1200 .1400 Triad: 880.0000 .1354 .1200 .1400 Sum of a is = 0.145456952139311120E+243 Sum of b is = 0.290913904286721377E+242 Sum of c is = 0.387885205746326088E+242 96.7u 0.0s 1:37 98% 19+102875k 0+0io 7pf+0w ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 4400000 Offset = 0 The total memory requirement is 100 MB You are running each test 200 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 10000 microseconds The tests below will each take a time on the order of 70000 microseconds (= 7 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 782.2222 .1027 .0900 .1100 Scale: 782.2222 .1042 .0900 .1100 Add: 880.0000 .1353 .1200 .1400 Triad: 880.0000 .1347 .1200 .1400 Sum of a is = 0.145456952139311120E+243 Sum of b is = 0.290913904286721377E+242 Sum of c is = 0.387885205746326088E+242 96.8u 0.2s 1:37 99% 19+102725k 0+0io 1pf+0w C version - hires real timer - xlc -O3 -qarch=pwr2 -qtune=pwr2 -Q offset 0 - repeated 4 times offset 1-16 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 0 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 16131 microseconds. (= 16131 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.1302 0.0241 0.0233 0.0292 Scale: 670.7533 0.0250 0.0239 0.0330 Add: 780.1330 0.0325 0.0308 0.0438 Triad: 783.6525 0.0310 0.0306 0.0335 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 0 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 16138 microseconds. (= 16138 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 690.0832 0.0235 0.0232 0.0257 Scale: 672.0261 0.0240 0.0238 0.0243 Add: 782.7780 0.0309 0.0307 0.0313 Triad: 786.8039 0.0306 0.0305 0.0311 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 0 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 16102 microseconds. (= 16102 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 689.9590 0.0234 0.0232 0.0239 Scale: 671.9050 0.0238 0.0238 0.0239 Add: 782.2488 0.0314 0.0307 0.0347 Triad: 785.9469 0.0308 0.0305 0.0314 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 0 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 16132 microseconds. (= 16132 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.1161 0.0234 0.0233 0.0238 Scale: 670.6661 0.0240 0.0239 0.0245 Add: 780.3145 0.0308 0.0308 0.0310 Triad: 783.6677 0.0312 0.0306 0.0346 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 1 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32740 microseconds. (= 32740 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.9214 0.0469 0.0464 0.0476 Scale: 670.9645 0.0479 0.0477 0.0485 Add: 780.5353 0.0622 0.0615 0.0655 Triad: 775.2992 0.0624 0.0619 0.0642 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 2 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32449 microseconds. (= 32449 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 690.3103 0.0465 0.0464 0.0466 Scale: 673.4406 0.0479 0.0475 0.0485 Add: 787.2485 0.0613 0.0610 0.0618 Triad: 779.3886 0.0624 0.0616 0.0658 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 3 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32280 microseconds. (= 32280 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 674.5270 0.0488 0.0474 0.0521 Scale: 668.4882 0.0482 0.0479 0.0500 Add: 768.3165 0.0628 0.0625 0.0639 Triad: 774.2720 0.0629 0.0620 0.0663 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 4 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32671 microseconds. (= 32671 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 675.4606 0.0481 0.0474 0.0513 Scale: 672.4554 0.0478 0.0476 0.0481 Add: 772.9818 0.0626 0.0621 0.0632 Triad: 777.6695 0.0619 0.0617 0.0625 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 5 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32250 microseconds. (= 32250 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 648.7552 0.0496 0.0493 0.0501 Scale: 684.4962 0.0475 0.0467 0.0515 Add: 749.0442 0.0647 0.0641 0.0663 Triad: 764.8315 0.0631 0.0628 0.0640 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 6 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32305 microseconds. (= 32305 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 647.9644 0.0498 0.0494 0.0513 Scale: 682.2763 0.0475 0.0469 0.0513 Add: 740.8318 0.0652 0.0648 0.0657 Triad: 767.2507 0.0629 0.0626 0.0634 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 7 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32466 microseconds. (= 32466 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 660.4391 0.0492 0.0485 0.0530 Scale: 681.8898 0.0473 0.0469 0.0480 Add: 728.4755 0.0663 0.0659 0.0669 Triad: 748.0311 0.0646 0.0642 0.0665 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 8 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32281 microseconds. (= 32281 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 658.0962 0.0494 0.0486 0.0527 Scale: 682.1688 0.0472 0.0469 0.0479 Add: 721.5580 0.0668 0.0665 0.0672 Triad: 752.2923 0.0642 0.0638 0.0649 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 9 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32281 microseconds. (= 32281 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 646.8652 0.0508 0.0495 0.0540 Scale: 678.8204 0.0476 0.0471 0.0486 Add: 718.5475 0.0681 0.0668 0.0749 Triad: 728.6878 0.0669 0.0659 0.0705 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 10 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 33030 microseconds. (= 33030 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 653.6668 0.0493 0.0490 0.0500 Scale: 682.6163 0.0472 0.0469 0.0479 Add: 731.7787 0.0666 0.0656 0.0706 Triad: 720.4116 0.0669 0.0666 0.0675 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 11 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32217 microseconds. (= 32217 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 675.2023 0.0485 0.0474 0.0522 Scale: 680.7277 0.0478 0.0470 0.0511 Add: 728.2990 0.0662 0.0659 0.0670 Triad: 741.4948 0.0657 0.0647 0.0711 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 12 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32305 microseconds. (= 32305 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 674.6694 0.0481 0.0474 0.0498 Scale: 680.4931 0.0473 0.0470 0.0478 Add: 752.6031 0.0640 0.0638 0.0646 Triad: 729.6041 0.0662 0.0658 0.0671 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 13 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32740 microseconds. (= 32740 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 687.8745 0.0467 0.0465 0.0473 Scale: 682.1965 0.0485 0.0469 0.0597 Add: 752.5581 0.0654 0.0638 0.0718 Triad: 740.2148 0.0732 0.0648 0.1239 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 14 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32240 microseconds. (= 32240 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.6510 0.0469 0.0465 0.0488 Scale: 684.5573 0.0471 0.0467 0.0478 Add: 754.0152 0.0643 0.0637 0.0677 Triad: 751.6632 0.0642 0.0639 0.0651 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 15 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32222 microseconds. (= 32222 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 690.6194 0.0465 0.0463 0.0471 Scale: 668.8463 0.0481 0.0478 0.0486 Add: 729.8779 0.0662 0.0658 0.0679 Triad: 764.2508 0.0634 0.0628 0.0646 ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 2000000, Offset = 16 Total memory required = 45.8 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds. Each test below will take on the order of 32242 microseconds. (= 32242 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 689.3194 0.0467 0.0464 0.0472 Scale: 670.3261 0.0480 0.0477 0.0488 Add: 752.5651 0.0647 0.0638 0.0683 Triad: 753.1634 0.0641 0.0637 0.0655 F77 version - hires real timer - xlf -O3 -qarch=pwr2 -qtune=pwr2 -Q offset 0 - repeated 4 times offset 1-16 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32223 microseconds (= 32223 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 687.9697 .0444 .0465 .0473 Scale: 672.6290 .0456 .0476 .0495 Add: 785.4287 .0583 .0611 .0621 Triad: 784.7292 .0583 .0612 .0620 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32263 microseconds (= 32263 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.0050 .0453 .0465 .0507 Scale: 672.1187 .0454 .0476 .0483 Add: 785.2449 .0657 .0611 .1097 Triad: 784.7950 .0584 .0612 .0620 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32459 microseconds (= 32459 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.5997 .0443 .0465 .0473 Scale: 672.6795 .0458 .0476 .0516 Add: 785.1791 .0584 .0611 .0621 Triad: 784.8439 .0582 .0612 .0619 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 0 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32357 microseconds (= 32357 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.8047 .0444 .0465 .0478 Scale: 672.6475 .0453 .0476 .0482 Add: 785.4226 .0587 .0611 .0652 Triad: 784.7231 .0584 .0612 .0624 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 1 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32224 microseconds (= 32224 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.2925 .0445 .0465 .0492 Scale: 673.7821 .0454 .0475 .0483 Add: 779.9728 .0592 .0615 .0655 Triad: 783.5320 .0582 .0613 .0621 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 2 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32224 microseconds (= 32224 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.7782 .0443 .0465 .0472 Scale: 673.8836 .0453 .0475 .0485 Add: 779.8913 .0589 .0615 .0635 Triad: 783.4604 .0585 .0613 .0623 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 3 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32256 microseconds (= 32256 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 674.9714 .0453 .0474 .0497 Scale: 645.9887 .0476 .0495 .0533 Add: 778.6651 .0588 .0616 .0624 Triad: 772.5013 .0592 .0621 .0629 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 4 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32223 microseconds (= 32223 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 675.2448 .0455 .0474 .0495 Scale: 648.3087 .0471 .0494 .0501 Add: 778.8880 .0587 .0616 .0625 Triad: 772.6066 .0594 .0621 .0640 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 5 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32223 microseconds (= 32223 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 675.2923 .0452 .0474 .0482 Scale: 648.3478 .0479 .0494 .0538 Add: 780.4839 .0588 .0615 .0629 Triad: 741.1045 .0621 .0648 .0688 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 6 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32223 microseconds (= 32223 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 675.4062 .0451 .0474 .0482 Scale: 648.2257 .0473 .0494 .0515 Add: 780.6064 .0587 .0615 .0627 Triad: 740.8781 .0620 .0648 .0671 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 7 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32441 microseconds (= 32441 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 659.9860 .0462 .0485 .0491 Scale: 647.2894 .0471 .0494 .0502 Add: 761.4758 .0601 .0630 .0639 Triad: 740.4885 .0622 .0648 .0691 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 8 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32224 microseconds (= 32224 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 659.8254 .0462 .0485 .0492 Scale: 647.2332 .0474 .0494 .0516 Add: 761.4902 .0603 .0630 .0653 Triad: 740.4803 .0620 .0648 .0661 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 9 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32254 microseconds (= 32254 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 648.9560 .0469 .0493 .0496 Scale: 649.8798 .0471 .0492 .0506 Add: 742.4094 .0617 .0647 .0659 Triad: 730.2141 .0631 .0657 .0699 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 10 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32670 microseconds (= 32670 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 648.6392 .0477 .0493 .0564 Scale: 649.9113 .0473 .0492 .0518 Add: 741.9361 .0621 .0647 .0671 Triad: 730.2313 .0633 .0657 .0714 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 11 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32225 microseconds (= 32225 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 675.7598 .0453 .0474 .0493 Scale: 648.0176 .0471 .0494 .0502 Add: 740.9367 .0628 .0648 .0689 Triad: 742.2712 .0617 .0647 .0654 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 12 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32432 microseconds (= 32432 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 675.4368 .0454 .0474 .0495 Scale: 648.4449 .0470 .0493 .0503 Add: 740.8849 .0618 .0648 .0656 Triad: 742.6902 .0616 .0646 .0657 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 13 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32226 microseconds (= 32226 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 690.0246 .0443 .0464 .0472 Scale: 672.9089 .0453 .0476 .0483 Add: 751.8625 .0611 .0638 .0662 Triad: 752.7916 .0612 .0638 .0678 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 14 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32224 microseconds (= 32224 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 690.1488 .0442 .0464 .0469 Scale: 673.2835 .0454 .0475 .0484 Add: 751.9889 .0610 .0638 .0657 Triad: 752.7790 .0608 .0638 .0647 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 15 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32266 microseconds (= 32266 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.8648 .0448 .0465 .0507 Scale: 671.0299 .0454 .0477 .0485 Add: 752.4554 .0609 .0638 .0651 Triad: 752.3176 .0609 .0638 .0648 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 2000000 Offset = 16 The total memory requirement is 45 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity appears to be less than one microsecond Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 32224 microseconds (= 32224 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 688.4461 .0445 .0465 .0487 Scale: 671.4731 .0454 .0477 .0485 Add: 752.1279 .0611 .0638 .0657 Triad: 752.2164 .0609 .0638 .0649 Sum of a is = 0.230660156259187354E+19 Sum of b is = 0.461320312485643840E+18 Sum of c is = 0.615093750014125568E+18 From lbarnes@hal.com Thu May 22 08:34:46 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id IAA07512; Thu, 22 May 1997 08:34:38 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id IAA23821; Thu, 22 May 1997 08:34:33 -0700 Received: from hal.com (hal.hal.COM [192.88.244.33]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via SMTP id IAA08675 for ; Thu, 22 May 1997 08:34:32 -0700 env-from (lbarnes@hal.com) Received: by hal.com (4.1/SMI-4.1.1) id AA00255; Thu, 22 May 97 08:34:32 PDT Received: from demox.hal.com(148.57.49.57) by hal.hal.com via smap (V1.3) id sma000252; Thu May 22 08:34:13 1997 Received: by demox.hal.com (SMI-8.6/SMI-4.1.2) id IAA24197; Thu, 22 May 1997 08:34:11 -0700 Date: Thu, 22 May 1997 08:34:11 -0700 Message-Id: <199705221534.IAA24197@demox.hal.com> From: "Leslie A. Barnes" To: mccalpin@sgi.com Subject: streams Status: RO John, I have some new results for Streams performance on our HAL 375 and 385 machines - but, I am not sure who to send them to. You? Also, there seems to be an error in the Streams benchmark, where you compute the RMS time. You divide by ntimes, but you sum the squares from 2 to ntimes (ntimes-1). So, if the times are all the same, or close for each repetition, the RMS time is less than the Min time (see results below). Thanks Les Barnes Fortran compiler options: -Kfast,V8PLUS,GREG,eval,gs,prefetch -Kunroll=10 -dn 1) HALStation Model 385 (161 Mhz), 768Mb memory Function Rate (MB/s) RMS time Min time Max time Assignment: 460.9474 0.1320 0.1388 0.1396 Scaling : 476.0017 0.1279 0.1345 0.1355 Summing : 521.7283 0.1751 0.1840 0.1864 SAXPYing : 523.2701 0.1745 0.1835 0.1849 2) HALStation Model 375 (141 Mhz), 768Mb memory Function Rate (MB/s) RMS time Min time Max time Assignment: 420.6846 0.1444 0.1521 0.1527 Scaling : 428.4301 0.1427 0.1494 0.1547 Summing : 467.8021 0.1953 0.2052 0.2078 SAXPYing : 473.8022 0.1925 0.2026 0.2036 From PTannenbaum@sx.nec.com Tue Jun 10 07:52:19 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id HAA11649; Tue, 10 Jun 1997 07:52:18 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id HAA03293; Tue, 10 Jun 1997 07:52:17 -0700 Received: from syseng.hstc.necsyl.com (syseng.hstc.necsyl.com [198.170.1.20]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via SMTP id HAA25745 for ; Tue, 10 Jun 1997 07:52:11 -0700 env-from (PTannenbaum@sx.nec.com) From: PTannenbaum@sx.nec.com Received: by syseng.hstc.necsyl.com (4.1/YDL1.7-940222.14) id AA10666(syseng.hstc.necsyl.com); Tue, 10 Jun 97 09:52:00 CDT Date: Wed, 11 Jun 97 09:46:08 -0 Subject: Re: STREAMS To: John McCalpin X-Mailer: Chameleon ATX 6.0, Standards Based IntraNet Solutions, NetManage Inc. X-Priority: 3 (Normal) References: <9705291222.ZM20621@frakir.asd.sgi.com> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Status: RO John, Here is the NEC SX-4 STREAMS output with runs from 1 to 32 CPUs Plz let me know when/where you "formally informally" post it so I can relay it back to NEC. A summary table is at the top followed by the output sections. Let me know if you see any anomalies. NEC made the summary tables to include the last known T90 results. Thanks, -------------------------------------------------------- Philip D.Tannenbaum Sr.Director, Marketing Group HNSX Supercomputers (an NEC Company) 4200 Research Forest Drive, Suite 400 The Woodlands, TX 77381-4257 ph: 281-465-1610 fx: 281-465-1699 Houston Metro Wide Area ph: 281-296-0912 ext 1610 ** Always Dial the Area Code in the Houston Metroplex ** -------------------------------------------------------- Representing the NEC SX-4, It's a Jolly Fast Machine! -------------------------------------------------------- >From NEC Supercomputer Marketing Division System Engineering Dpt. 10 June 1997. H/W: SX-4/32 8 GB main memory, 1024 banks (original SSRAM model; 8.0 ns clock) OS : SUPER-UX unix 7.1 Compiler: f77sx Rev170 +-------------------+---------------------------------------------------+ |COPY (MB/s) | 1 2 4 8 16 24 32 | +-------------------+---------------------------------------------------+ |SX-4/32 | 15983 31886 63536 126083 247440 349445 434783| | | | |Cray_T932_321024_3E| 10653 20326 40457 80929 160263 237415 310721| | | | |Cray_T94 | 11341 | +-------------------+---------------------------------------------------+ +-------------------+---------------------------------------------------+ |SCALE (MB/s) | 1 2 4 8 16 24 32 | +-------------------+---------------------------------------------------+ |SX-4/32 | 15983 31885 63536 126083 247343 347354 432855| | | | |Cray_T932_321024_3E| 10221 19622 39017 78131 154880 230100 302182| | | | |Cray_T94 | 10717 | +-------------------+---------------------------------------------------+ +-------------------+---------------------------------------------------+ |ADD (MB/s) | 1 2 4 8 16 24 32 | +-------------------+---------------------------------------------------+ |SX-4/32 | 15989 31924 63694 126725 250262 342246 437357| | | | |Cray_T932_321024_3E| 13014 25459 50203 98701 193335 281038 281038| | | | |Cray_T94 | 14783 | +-------------------+---------------------------------------------------+ +-------------------+---------------------------------------------------+ |TRAID (MB/s) | 1 2 4 8 16 24 32 | +-------------------+---------------------------------------------------+ |SX-4/32 | 15989 31924 63692 126724 250231 345825 436954| | | | |Cray_T932_321024_3E| 13682 26117 50718 99343 194562 282300 359270| | | | |Cray_T94 | 13920 | +-------------------+---------------------------------------------------+ [output files] (1)SX-4/1 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 80000000 Offset = 0 The total memory requirement is 1831 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 79 microseconds The tests below will each take a time on the order of 80123 microseconds (= 1014 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 15983.438486 0.075988 0.080083 0.080215 Scaling : 15983.628829 0.075976 0.080082 0.080109 Summing : 15989.071369 0.113948 0.120082 0.120213 SAXPYing : 15989.071369 0.113920 0.120082 0.120083 Sum of a is : 9.226406249984802D+19 Sum of b is : 1.845281249988019D+19 Sum of c is : 2.460375000016015D+19 (2)SX-4/2 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 80000000 Offset = 0 The total memory requirement is 1831 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 98 microseconds The tests below will each take a time on the order of 40168 microseconds (= 410 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 31886.849422 0.038112 0.040142 0.040284 Scaling : 31885.997197 0.038085 0.040143 0.040151 Summing : 31924.993627 0.057056 0.060141 0.060147 SAXPYing : 31924.993627 0.057070 0.060141 0.060277 Sum of a is : 9.226406249985602D+19 Sum of b is : 1.845281249991997D+19 Sum of c is : 2.460375000000000D+19 (3)SX-4/4 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 80000000 Offset = 0 The total memory requirement is 1831 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 98 microseconds The tests below will each take a time on the order of 20172 microseconds (= 206 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 63536.522995 0.019113 0.020146 0.020154 Scaling : 63536.147032 0.019113 0.020146 0.020150 Summing : 63694.317781 0.028598 0.030144 0.030150 SAXPYing : 63692.302728 0.028614 0.030145 0.030292 Sum of a is : 9.226406249987201D+19 Sum of b is : 1.845281249999994D+19 Sum of c is : 2.460375000000000D+19 (4)SX-4/8 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 80000000 Offset = 0 The total memory requirement is 1831 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 101 microseconds The tests below will each take a time on the order of 10388 microseconds (= 103 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment:126083.750073 0.009789 0.010152 0.010531 Scaling :126083.750073 0.009739 0.010152 0.010536 Summing :126725.106102 0.014535 0.015151 0.015493 SAXPYing :126724.109020 0.014509 0.015151 0.015355 Sum of a is : 9.226406249990398D+19 Sum of b is : 1.845281250000001D+19 Sum of c is : 2.460375000000000D+19 (5)SX-4/16 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 80000000 Offset = 0 The total memory requirement is 1831 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 105 microseconds The tests below will each take a time on the order of 5202 microseconds (= 50 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment:247440.158547 0.004909 0.005173 0.005177 Scaling :247343.259543 0.004910 0.005175 0.005177 Summing :250262.245910 0.007283 0.007672 0.007689 SAXPYing :250231.140527 0.007281 0.007673 0.007676 Sum of a is : 9.226406249996795D+19 Sum of b is : 1.845281250000001D+19 Sum of c is : 2.460374999999999D+19 (6)SX-4/24 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 80000000 Offset = 0 The total memory requirement is 1831 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 107 microseconds The tests below will each take a time on the order of 3724 microseconds (= 35 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment:349445.707033 0.003671 0.003663 0.004130 Scaling :347354.368530 0.003509 0.003685 0.003719 Summing :342246.650234 0.005347 0.005610 0.005677 SAXPYing :345825.421596 0.005487 0.005552 0.006201 Sum of a is : 9.226406250000000D+19 Sum of b is : 1.845281250000000D+19 Sum of c is : 2.460375000000001D+19 (7)SX-4/32 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 80000000 Offset = 0 The total memory requirement is 1831 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 110 microseconds The tests below will each take a time on the order of 2986 microseconds (= 27 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING: The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment:434783.699385 0.002874 0.002944 0.003609 Scaling :432855.689752 0.002890 0.002957 0.003656 Summing :437357.501765 0.004445 0.004390 0.005688 SAXPYing :436954.079219 0.004284 0.004394 0.004950 Sum of a is : 9.226406249999999D+19 Sum of b is : 1.845281249999998D+19 Sum of c is : 2.460374999999998D+19 From ccox@slip.net Mon May 26 22:45:06 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id WAA14504; Mon, 26 May 1997 22:45:03 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id WAA14436; Mon, 26 May 1997 22:44:54 -0700 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via SMTP id WAA11690 for ; Mon, 26 May 1997 22:44:47 -0700 env-from (ccox@slip.net) Received: from mail.cs.virginia.edu by mail.virginia.edu id aa28837; 27 May 97 1:44 EDT Received: from hamster.slip.net (hamster.slip.net [207.171.193.18]) by archive.cs.Virginia.EDU (8.7.5/8.7.3) with SMTP id BAA00615 for ; Tue, 27 May 1997 01:44:36 -0400 (EDT) Received: from [207.171.199.217] [207.171.199.217] by hamster.slip.net with esmtp (Exim 1.61 #4) id 0wWEIM-00025F-00; Mon, 26 May 1997 21:55:46 -0700 X-Sender: ccox@pop.slip.net Message-Id: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="============_-1347413483==_============" Date: Mon, 26 May 1997 21:56:39 -0700 To: mccalpin@cs.virginia.edu From: Chris Cox Subject: STREAM code and result for PowerMacintoshes Status: RO --============_-1347413483==_============ Content-Type: text/plain; charset="us-ascii" Here's some baseline and optimized STREAM code for PowerMacintosh, including binaries and MetroWerks project files. The results directory contains results for several machines and various binaries (all labeled in the filename). If you have any questions (or need the files transferred differently), let me know. Chris --============_-1347413483==_============ Content-Type: application/mac-binhex40; name="STREAM.sit" Content-Disposition: attachment; filename="STREAM.sit" (This file must be converted with BinHex 4.0) :#P088N9"65jcDA3!8dP84&0*9#%"!!!"lf)!!!!!MFP6593K!!%!!HpLFNaKG3) !!!!!&[rr)#!'8e4548&0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!0GY!!!!4J& M!E3$$J!!!!m!!!!!!!!!!!!!!!!!!!#'!!!#!2rrrrm""+mB2T+[Vl8p!!!!!!! %S,!!!!!!!!(Zh2r`rrJ!!!!!!!!0F3d0$A0PBfpZC&phB@aX,Q-!!!!!!!!!!!! !!!!!!!!!!!!EM!!!!!!!!!!!!!!!!!!!!!!!&J!!!m3!!!!@!!!!J&4&@&45+Q0 S!3#['"S@VaJkU`!!!CS!!!0r!!!!p3!!!GN3S3IL!!!!!!!!(hN4!!JFe"b#'!M cV(lTY!UZLT1Vjm(1@qa)IC&KP2H[V,fCQ65&Xh#I`53phCILdE%VHiDk9Ne*dce Je!Hkr6j8BX2L!$%MRGDh9$%9Vc"X+j0HVhI,,-*N9NCeR**'8`E+5-V!bP@Dc2A A$T8d-d"&$bl#fElY0$@5+DN`!CG8a`1cEHD3!"j[CJT**k)kPJjXcD#CQpAGBV2 N8(Yr8R#,*RRbB'F3&EaqcNJ+rf#Vq1-K&[T"%8phMjM&2h4+2kqcSH,JBLIK!E1 h`cNR*PJhjEcYiUH,RH3S&0S!mJH#A4e0m[GSeFVK[TJT5XfZHGaS3De0!J"4#LR 3!40%',P$FSml'(5R"hdJdiHa2mX(-lcZE)!JKrdK(m!3C2SM2Z$fH(cKF!N!q%6 #q%#8B-%6K*i!i+PaFJNqh'AmB4$QdZ2i!9%*I6i[6qf4Fq6eCrM*Q3IpQ3`1CZI iZCK(qjJr"[j3!%6pQ)Rh!c!%XL'(J!GQX4cQ49F9*8V8mQGiI4QJ9bpV*k1cA9U [AL9U!Ar)%q5m2Y$8P90)[hQ*@VjJf,FdbE2$#ViZ'3j*'epFkr*&,q6i5A#I"iD mBNQ*!5@51S6#rXb3!-rEbHre*ANJ&b*Ge%U85,,k23MQJVJBe)dP3F*Rb`U3!,8 iMK9L&X)B)M)"+`b8J)Y*34#'-X-PNT!!$h-S"-4!,"ERGP$-T9+I2T!!JJC+630 0SmC+6D2N&!QS$eC4!LJKQ%Ub6pk)lf"+kU84+'6cXi+"Ra!QI&,(B[CU'#213iD )JE%l#+5BPC'qmXah)0Rd+Zl25TV`#Xp@FLf3!,"0PQ@%!2)a4Hiq'3R@F!epR,- '"8Gk%E0D8SNNmRA))k1Fc*5!El3Hmh8UZ(q[,(q)I#Kie"I'a*2J@G)*jh4G5`+ $QL6a'e$mS0Rb"Ea1+RmpTq(&'V19*@abELf,kFN3&I0NHI5&H6+p*3!!$3d28e4 548&0)&"33b"#390&!!!!!!!!!!!!!!!!!!!!!)&*!!!!!!!!!!!!!!!!!!!!!!# '!!"4HJ!!!"Errrrr39"36$mr2cm"!+qZJ5Z[VbIQ!!!"Y!!!T6S!!!#p!!"-L9, re"N!!!!!!!"6B4%!#"cXGJKL!#"2NXMM+*!!GbEhcZ5C55)(3)&JU'Y5JKm(!Ue aUi4JNXGaeJ3#R9SiMi"5lkUSfqp$Tfa6$H$BaNlVZl3qBfDrQ60jrNaqaNa1Cr* C-lP[*TmpNmXcqCbC['!Q2h-QRcZ6Rc@6&mlN46-jE$jh($`'qj(Si'M+Z`k$T,0 @c,m1`bAfR!JR6J+$ipFQE(,X,88fe#1cbb-Tr8@USdR"pVedXJr-23(Nh15S560 [DC16H-`#!!!1!*80-RY,qG2HIZfbM[+RQAAf+cZ2'jeddI+lPCq@ef8AYCHGEQR DAM1ZGAKfUh43#q9Q&fh3,DbdTrbm,VVIf'D,CahEjX$-,VE`FhGXAcbfX$Uf(i" GlQGGE#FVhFQfClF#G9ePr,cbZV80pqI"pS%EY#-J`8%FJ4ejN!!m*!F56X$e!0+ *JlSmX#blbEGS8G25TPSKK2'&,jcp3hchr4+%JciMq+Q!1mbqFh#6F$VlBYIHj4* La&Q)Zeb)ZimkM&KXp*Gk#"q@%hReca!L-Fr1%mY(GApDa5HNijb$h2[9rAZrcE' l)Hpd6mHLQ00aMX@CMl-)jf8iUh$@iPb#FaR16Tbhil`6jm-i[i$c+cLIaIN[12I K2)6c*cMIF!JM%HF`R'IL()qc%'FacJUFFh%Z`2NaR!di3cM$1&IK4(h'JcLhi0b 'F`I1Vq0%IFCKR2rK%)iNR-0aMX&j0Xj*1#r&13XRqZEi+-k2il`4*qTbh)Eclh! qJ"0pFk"[MKG`SLE(Mh#LCijI1%5#JA-`cT%i*q#FJK0e*9b&diGc"FiZR'YahSp c-dld+H%aR&r$qDmi$q$m'8l-J"2e1-r!QB0c)XkT1'IL[!+R&bGklfc&LGPbBVD Fk,d6[AGZaBQDR*JY*fTbSLER6h'HF)M%C*`MF'*H%mr"L4iP6XH*[LGLRK,p1)- ifh(HJ4-e*D*ALEdidI[%Im5*Q8VmCjcSIb*Q0K(p5N4Y5CLVT%bFZ6J[`SPH*9f 0mb-i89G5%dld+`Rp5[SNcRY`BUD52SIc(h!qK40cN!!%2%Mk&Nld,HN9R*LYT,F F)KPiN!!m$LGQ0[PmR-#$C-aXmT8i&q+X`rN*R+JafF,CT4&Y$(eFrR#C8@+818T 5F#Eb(ChcV5r-6,6'P55-DR19*MaY298b$*Jd`rLDdG&fFFNmkl+5@i5Be4Mb"4G jDhecr$9LVMG86pqc'[fKbi,H4@*1S0EE8"@iV#&3ifd3FqCHjJZ9Y`4,Qkl`,[' *-YpLIq2mTMT[b#FmC4@q"Pr)0fpCBkfB'86ieB'@aVUVIE8KFB9[k3*rBeeJUCM 4kJp9"HE9qaSD4+@r`4rbcI8eYSJUAfYSCU#4-h'!A@L&2cJ[&!Mk"+lRe3Dp6H) DEi0I9984p(+b-Qq3!-+4V6N3&180rLB1Vr6AqFT48c$3)+TQc'TXpJ9$BKjk9"Z bQp(SV@R`c3VjPSLbKN$Y$A-$0rS%966EYdc3TCfH+Y9hc4L4eY+QTSEV!Sdq86Q rN4+VrQ'%8*rG"dr`bLCI)mDLXMcS`i$`A(L#j3f"CJb,qUi)e+)eTE8Kridd3P6 Q[&$3hlKBc2Bh0%3V9M%,r(@KHPf@5PcKEfkLDM!dGUG8QhQ%U"8U#L26JJRL%Di +m%66`&!@DMie6ebjD&'c,m5$-kmq%+h(%r6iDfIk'hJ!Cp8''RR5qXXUVrF'9@X `&El'1UlG%jV9b,9ibY#''9I1j1l2mprdcNKaiI1@0D-(Q&SDSaR)TND8kPa3j3q KFN64j&Gk'qY`LfEVQlj1B#6p5eU@S&[qaP#&Ej'hT3(`S+BM@V#[`EX-Si6"UJJ XE449+,JF#"95@&2P"jiT4,)cmSKUU2#8c@aSDDkr*Y$!RG5eH8,"f*MCA5LGi3N 'DRh0c336[KNhqP#M6JK)$2NEI4@qjYUJ[`R!4ZPeQ`PbDALD85`DBJr0(16$#*4 MG'PF8%J8Y+U#AZUKkKC5%S,1DP`8%!ZmrY!9b+CUjh*QPTG4U*T$2HL%LRl'h&r e"8(SERQ$$q#U--IMAH`$X+0'24-d`TF&!dXC&P#6*`#!T9%+""V3QUE5ZVSJTS$ a*$T'2&5+)b!NLXpS&U%$THFb!'iqVif,8A#Zm)Dm2#I8k@Dqd@LVjbYD*RAF%fM Q3K8ZAHeVCQLkqV+bQ5!8jB%'QMl8E1G8N!$-ADCDG4JeZ+rI!''qQMI6da+bB9& 21ieAF)Nhj-Fdc!Kk-H`-TJa[9GlQ'`45+JTc04#1ijX$,8'3!!EUSbUXQ@D5X'e @iihH"MfN5"S!AD+Q9!93F(2)#hJ$EfJ*"DlaqjBL-ZLEkd@G3FT2Xe3@D%9$ji8 D+[cHKX"L"F24JEM1&`bS6RKmM9G3diMC)32AfM6(elJBF-k!a`M5V#'b2jSMjS* k9IVmLqX"-X(,!c@k@KTHSS*%ITLY+#3$L!@DPY%RJceeA59X&K@cbVaeFaQ02@8 ,JJ"KR4%`"*T@TcNQ$E#Q"jk'J1)MD#%M"`DYc1GV3NjLEi5!U+IC0jmL2$3F0NC SpP!*(R5$jSe"0&P2-I@-CL8+PTlJM'!38%&`TDHI5*C#d,Pqc'Dc$hfSSp%VEk' je-hLc[ZDEbLYVD8bqr"B3DYSE&PbITf[9Z!m[aRhcCm!lX9rCSVMi@j$T+c2MQa hCiX5#hGQ5X,$9eM#4E(I14!jrTfR)dHIp%BH9hRHGRAXD$malF'9AG0fV'aY2pL qZFLa,UmSCqA#SV*eP88ekqSlfYYPai2YKm,2[0jD+8E-U%DGdkT&LPA6IRa&h6d 8-jPLG2`%ZLZf4",LMlNl4eRZ(L%30i6MUX9TlYSV,A2%b,d0`K,GKV'q@*3AiVY l9ePRkkjXI$XkYb(hd42CkANR$*'lca"C9K[1"i5V8Tcf,0@"q#0Z5k6LrX[krM$ Z2X1pXB4BdEQT&E8DlYTR2+Bri@(8YR9A6QF[DZXa2cTKLeQ-Fr5%,Hj1c-H(,Yb ALBLPCQAi,kPIP5+4HfSfMfl0(b'-8NYNSTrle'`0rjE+)G)4mb,Z19HP52S+I8H fTh6rZYrSY6NQG`[QjhacM1l$KblF8jr4Tq(8Ta2C4r-`Ha[3`cf4l5*i3K`GZ`m cEl8CkbY&qQZ8Sl'Dm@#eaS-Zp,"e&lk4FrF*NC*hBUc)23'0&ANYj1e%ATi"a1r #hHIeh8lF2G#(4qPhkVMYZ,Y9hcf1ZqAkEK[Z2K(,jk1l&hCdGJ2Ma)V`2De&6iX 5c1LXIQ`aTlqe4FhEaK+D0qTpG0ir91%1-pC9+CcFHh2X#CUr2(2X@eX3FcI&Z-F *6er2%RA2&%DBSc'[Bc'[@EUZ$efi9rL3!-#c6hdbacTera,4[i5AG&c2VrVRYVK rPf!1XKKccSh1aSF1a+"('p',ZAB[6[ES3Kehp,Fp+Y)eM48h4A(b3`GL9)mFc(f S&p5MDFh#+)U)&,YAi"@TTGCEaBaTYIHdZS&TGXp@V0c8kKE#D3j#[a*(CCKR1EH BShJ1EM*(JEG-4Fe*h2H5%JXeLC4ZFb6L+*Fl&YZQBc09Ap`2J51,b&EUKEY@T+J H4&B$FhXV4GTE86aGKalFXkN9Q0[e`X&1babeImX*ep(F5Y'qc#S9'HDdlfia-rG [@I(b9e[""GhQKIZhQ#0ahV@Ki-5Pi"++)lSS,h&%kfQqck-FeJ'4efD)I0`AYQA M,"968(XEeljH'1L0XqKQp#C$10'E,MF#,F-il-ifj![JbLq!+a0rIJamQ6LdBYQ ZdRCfJ54AL-5#*9jr)r0ZQeZ[1a!jXZlTb1&e$d31D5iZLX#"`drpZ*Ak#clK"Tp MlNIm$AFrBBjN(-dl)BkAS!p(L9m82D&Q1(q-b%$-(Z$+-(GY@3PU-F"p8c#c)fK Q`@dhZ"m3E[HB5+4+C,V0#CM*4)96-#5FVcL6f)Hjf*qI*!6Q0-hFIJ'i$YFJ6,K BD+jaRaQ0IdE(Sc(8"idc2CL0&-b'k*q0$[5l!rhZ3,rIQ4(8"6Y0QNJYU+hheGi 3JTJ6dbHfZVdd"pCbQR%,Gp!ULVZpBNja0I%r8B'l5T`Pk1rfAGQLFKF`CPG0jbl 5"ADeGqij)D!2*)LE6Z5+mj&l)I31Mkeef$d![0#[AL3A+28&PfeP(@)UqSVq&PZ T)*D)+@NAHGdI"hLY%QRGRaAThFq,M1jAK9L6+Tc,Dcr5ZZCFN8Pe6Ee"'&-[&eR jJkQib%jhG54LDbZBqa1fpY*aX-1*qPa@)M$CLN5ka`&AI#+PED9!A2JVh21RK-K $I%PlC$rk9dPkMCkR%e36c4lk,lLqmK'YGTe4I3Gp`jelGL6b%Xi$TRpdUeA6N@@ eGf5k(l5%YD-Mh6VBNGEQk%K"21X[h6@GqfC(I[jGjJViF,G4rTqrBYqMCeFa,il eJhZaBq8M&V""cdUDhAF,[K$V`3kAfiNH)lj+T%mcI8B"eG)r&m$$im$$BrEXQmZ j9e1+GUcXYB!6Q*HmI&8Em&RN@[F"PcV'YlUG`ZJHLlUUdkFY[em89)S9#Lm3Jel NB!EhK6IpQ,#+GDGq(+!j!LiG"biGqhd[1KlX+%3I(N%2A,-MEa-dd"cmVJI,IhQ U"aEF063ETHdL[HeHbVrm@j5M8TL*R1Yrp+@(CU6Si+SMe&rJ[9%T$1DEjSV4i'Z 4L$N@R%[2)[Te!RKJ8!akF)4aAGhPkIc8djp6IVS2lbDYBrPNe52aH0iB-Dbd$60 IXkTi33pQZ&B8%(qp`R+kLREF#Se%01$l5AcAiIYIm(dp[Rq%lbTm(m2hR+)GU`E MZ`,mTT6Uhi$j`(HUZ6aKVePVi$cXSI[`%`RrjNi3K4[(4L,!2SQDai82[BPq*$a Ykc$krZmCPfT@jHPleR@!,FEXb&Z+lc*I%r@BVHS2CLXIf!*mDJ+RbF5G#c`RR@I (f6FlP)GQfha@&2!hZ)qjdLJi0CXflKBG[#fhD$[28pk#lFJh6K6SfFrJqc"KK2" 6IiUq*i`mQN2#L*-B6hdkKHQ@Sh1raX&-QQGJT0Q0Q0Q4%maC6q(bEr%9'&(di'f j5Y-b'00k-)pQH(4VP8KU*Tbb9K!A'Df`RlM"@1(X(5XF9$q)8eE[#Z'S&$PV+*l Q#$P6LQ3N!Y`Ve2dZ4!f&d-C@[TH$idEI(UZYN!$U4qf6ND05FidmRVFa`"TaP1B aJqiTePaZd!bP3cF`mK,8r+KHMVEaZB,UfNSB-eCFK2V5p(HkrMj,IfISlh2eGbD qFr#G&AljcGErQbr3$1@"caAYZ#dA2CY$h,j)FNm+&dMdFf`8$l,iIS8S!2rk-Xd (mHbLRNJ%[0l)(mGphD2j5fm2DUS5cSF8,R%pkcZq6c-UUUaa)Shk&GljHU[jT2" 8LJPIMmjF'qC`R(!5PS&RTY%G[M2dplP89c8FUP[aM9T+`YmE4E&Tc!qX5+r1NkE VVf9X'!FZM"U3!)rUSEYc0GEqlr1bVLeb0$ScjZK@mrlae1I$9TKVbS$ZJ2U&LrS +[A+3!0e2c%L8dkLH*0j!Xa6ZH*Pi$$6rFBcpK(()N8*B$)aPlQ@D4ce&QiJVL3c +Kec-)CK[pYAY-F9KdV,5+,Fj*S&M`jd[YiBISPNFbjSlc3M9CBTA-fJq`KYIc@! qKAk"Ir`JKRNmDhVqD'BUZV)SEh),q%f'lZ%jP*[b8(l+JaUBcqJDl*kcjM)`Caf B+A[@RXU1kNXpjXEaVHB6jl@DhlZJ0AcLPAmcEalGfSFM4PBHqS&lUE$'5!-qT`( (l4R-90MUk-0a5cbZm*TRca@Zr8jVq!G[k[NE`hR-Qr6mP@$q4ZRjZhQ2TfJmcep +q*I!elik-A1le-`KRcN5-iIBF"hUQ[!#kKMMjCN$MP-YTRJqJc!pI22c'H&I([H J0ZBbi%&,BM16MRa1`RM#+F*Nc&ZHlK[0@bE&8el+JGcX8c'cAYN,cZBaUeqqUjm lIKAc0-$j#'[-Tc"Id!0S$X,2[FkF((V"-UjTA#Ec569(d4RqVhb[ZdeFhrf!U1j q@Y4e(a$eD`c4X#CE0+dT&5&S2`["rlVFlDXHKDkj%*VYpC8L4IPIhZH"GNh!2*l 2!DiBl5Rk5Ed%Tf)X-f[I)*hL24hU90k"IK%[SRkLCk[4Vq[4VfV&fe2B!k*a*Bf eLA%MYrbP9UUTRbmSEX#BjY4mT5iIl)DiSm,P0eLVa``HS[JQd8emeN&F9HI,CUb &-jVRe#S6&%IBDiVaVCSM-5I5@PH$ZcSG-@GH3R@"LiVZX(!L,KGDqdA!F5Ikii5 HBH!11YYaeQK3`a6&Zd3*eD4bT![+SIR@@6Br3dj$m`hQBISlbX&8(GA-hfC(IX( Fj!0mkIGi2H@0l0IqVLEL!X32V0%Lri8h-BI)hr'Q5#IZ3pa9D5)LU4[aa'%TMpB JFX0@FJKhL`PVpGePc#ZJ69!qR@X%DFD)'8%aP-HkQH0m@le'(A)ASdE5pfELcN2 eiQi'[U(aLa,F9H+10('AVM@6mZ%qUaIjDEDf'[JQ6FN`DJMVUAkk1q%khZhf'MA ZT`hNAh)9k9NkMj[Mf[$pJ*L+f,NFkk@lNIHbcU4lZ`(DmmRqlZq#VJVmFT[216* )1i1(M6K0EKFd6M-K1H41L1`aa6PlXak#[Z9dC*LGb20F*%,ae(ILUrVZ2+T0hdd %2pRHG`Fr4kIBNqq-R!!ZeY-XQC!!VM&,ee0rUEI8BiUMAL+AKh4@RJAZGi2h[r5 liD0prFjNIa$e'AfG#PacQGALV+VDF@q6[J)Xc53Gf(4QEN%Xp5irGPp!I@,2JBl C30S(p![-`lkHdF*G*C+R)NHP26r-eI9X)3ik%$JIpQi8I3rc-5i539aKDA[NU,k MqU,a-HaafE84[dD2#qbk591,e@V2l3b05c1dVm&(q@L1+5Ia6q)"M0[S1IHb-h- ,mK4ZZ&q)MH2BDd'e1DJqbN'jf4[4p[DK@*qYpfZR2YGhB9CaCq$ZHRJfL*p@aAU FE[HBI!If(2`rmm(F9pe4[B@a@FQ0p5'6qN#e4qF([9hh(AJTEqBBB0PV@bKh%r3 5j%a(,X,d+BM2J$lNSEN"TQFL*T2R8[-hMM'-$I##G*-AK2Nc1-FIGD"ZeS(8c#c N[KjFI4&V#!GAjqUi!-GYCcp+RSjT*8jJjbAqKRMS%+cpT1Zi1ZYajM1CV%1S'$r a3J[DKqjGL[Q3!0LM2"ISAeB8Dp,baiS8`K`cmI@l62(DAP2NHD!4`)-6L3"$+mf %9q#THIfZEY4#qSke%IcK@@J!l'%CaVTec-053[i9h*93IXU*Z`UZ!c94,G'HJ$F a9V4&YZSH61R*LXjbRUVpm"CS5G42i),)X(Y#f%@eZ-D)605B"8bVY%cJ`Z-Lbqa m&CT)"RXq%*0&[GBqRpcB[3Gj-kRH*K(jk9CmFfrYZ3!R8l&4E-K$ETUR+HKr*Z@ R@U#PHm+Ea&ANreVh11'#D!8[EIU$GP8D1D`aSG"mr,a@k!R(-$G@6dhR)@J)RB3 a43rq,A`CUbZ"$CkYAY'#I,d89paM#G,U0KJLK$N)Z4r#2$`Y@Z$GC-mMG+PPd%5 erMG#kAr3US$R0%-6'&pZ8PTEq#2rfTSrQZH`'22EfGB'I#FGd2FGj'iB6Kb+16p Lql`@$TVYAP0m1i0k3R@&0hk6CQ3#i46GDqf[#MA"k`CZU,`k26JhiYb!Fch1ETb V+ADV)EB5rcA(CRVB3`-233pLLMD#ZiM4V46I4CJ$IFRX6!l"krb3!+e(S-lGT$H LrR24S`V8I!cmaBQH(E-5@%Yj"2ek4-pd&YeKZG)HLU-D8BH6kU0Dd32LRY5V4h$ R,SBRPr+jDdNIbD6m,VURAQ49JrZL&mb&`B%T*p9![E#@XriC!NCXJHErCI4SQqj 4!H%cH6#3!'mcDZaFR38YA2A14EfM'NlfMr,BID%lZbqE6rCPFl`[Qrr3&q4deh4 +09I$@6qLZ5+XTCaU"LP@qH@!1erX!YF!pV3#Fe@rP+H[0+TKJ`2VH-3PX@E(FGC E*B3Kk08qB13HjNh!`[He,rBCQ*ZiMpm"$jpAfZEFl+jCAFri%22RG)d6dc!r$D` [`q$QhS6C`9BUD%iCeXV)#De0CCLhM#4IF+H&@2Cq2D6c8!l-i`Ed#KV"9+e2X`D !I&'pYF4b`VG"q1HXX'YQ(N8edlcLQqD9Y2G6-DK(k*cea%HKEG%F6U%iZSYL%hS '[@ALZcd6PG$!L"-p3GU#cR(Hb4bj1NH%G9q9`p@IJc4%kUfC",eQ-cJ(0,ECN9r 19hTG3X2rfe2b!*!![MLGiT!!,j0L&3pJ6Bqd2p)DE@ihaqillNV-RLM26GGha)r cG"m,hqNMaGMh$`rdp6Mlfm%peZXHcBRe0B9kZ#XKFMc@efM-2Y8R@b[p8)DCI*f e9ZK5qf,cjD)q)9pKG!CV)bHf!TH3!'GV$!0rRDGEjHRkA@`$i5,e)SU,LF"&5e" 2+'F'p8MejaICZMrZ@0dlhmH(p0LmNiI(jYATQ)Ad,UkECccGZPrNdcfi0((4rRM 5Lr04#meBZTkGG-3p(UXRJf,KDpDl)D$K8Ne2!F2CpcHB0@20D3KldmhU6(L)8&X BYB9&&ZjqeAr`!X6&m*pm@mbE+r3X6cJjlhR!VKE5Cmc0QLmKacYiK6`Iq&[Hpl4 ic'AJ2jq#EMfbEfiZh@j"`e,F[H-Pp,IQeSZXZm@8,Q`Al(&drY#X63k"blTl4JT hZ'j8"QE[CX,I[0(`Z@#ZLJk)XL,B"3LEb005+C*jhi2YkHVh8aBTcq5MACpLVMH 020D9BY#efNp%'N0D%Ebpb,'KLcdVM2ATT-q%HpM6P8,Id0()pa"#(c2)5f5L&k6 $%*F-Mhq"[BlG)pRhbVSdmecNSRcN4c,$d!rDa,4+NFUiD0G"1Hbk@4Hk$VVSGip kS#14RM6(VJeemFi@Yb(+f&1m6%b"$P@#Er)cT5[r9F)"bN'D#@Cc'fCckbP2c$Y q)pY6!*f3!2A#Hk!(B3F1DBR@9k%*e@9k%1-bIIMqUXLPHjT&a15CLCQHSKfhIl[ Si1hE`T[K"fJAVDa6YSQQm&GiEUVc4X+V5I093MYI-%I6AQM04km48i+DdpVZ33a k'jlaVmKAiirU0)KP2pCSD'2LQaR3+9PIeEV0iI#dAClmN6`I2FK"QJh99%%eS8m CA"Id(p4dqXQD-R@[8GHS8h9e4r94p,$M)b+6HcK+pp#PHhJYY#E8rNi2iHG6rLI [3lrT)Aa3lpDD'ljfMiGQ3IF`kjdHhJ0mara4EDL*r4!RHjMeQaiDZa&(rJZlKp5 crpl$kJ0rlD&4IE+(ZEVZ1G`rp&62Bbl94pi+e,Ebr9lQaRXT%+Imj+UAj#AjrrI be2c(HbR@prG5kr!h)emITMfQ-Hd[p41QFIerFqIr9Rp'IrfRr0!fIP-Gm%%r-KI mZ"-F(hT5bPc%NIFHr3UM[K6+Jhd&l(YLRSJllER+S$[`C'HhMrfSRGDcr*eL23I r8e)X*qkJaj'[p$$Z"20ke%#e8KcTBPB(HN'aj,-@14Qd0i!jDemGQG3Al"C!rFJ 2VcEh#[(FJd@S'Gq8LrV*pH$Hl-MKA(-3`a`+1MpL+CH`1SNRS9DkSaLRUS@jMI1 m[Ge'j+L&ddb%6efi2,JrCN'[4XbaEY3AcI8l6h$(MSj(i'R8QUbSFV1r@[F([*i i&cJMq4THY-"A55ZJhLLI@@3riZVHcpAl35lD68$e%@H2epM8RaGq"XaHC2qPm2% 82@("mhUFGlQ%h`,H+%mSldm`IH$"bKq4a6Rk[-LZ"8mFA`%Imkje$k%Zl,+!Ij9 p4BK*qiX[f2EddAa!$aK@"@dN9PmhH5L*8qYl#h`mKAS%Eh@+m[Dp[G*FK2l3MT+ q[!ZYKhQh"QU#$`Al8eKI)Ea5Z**[*Vl"'%-aeL)eblJ6G%Fq8-+%G6r!IA[()p6 AlThra9[Ahd2#j%TaaGGYR%C2h[0p8PlUI4jQ%hXi1Yd(Ek@HCd'V1,b9HV)BZJ9 KF%)LqGf2`4YQh%Tp@6@qG5UfQ1KCc,JE-4X3#mar'hPfQfR3#02JbB"(Jl4TdS5 ArbemjfRFPpbTjm!h2fMB8F4RGU85aUF8,erY+*K[15qPHS#2ZGdTb[H)HNc%CFq r2l%J,'Ff89qAKj0$#b+LB2jY5G2$2rj)krclR6rULbXTQ(p$0)lmiPQhB9F+k5I %!E!Ia5"2"[9[rQVR3r!b&HYj5ENEQ'6hdUccH1cCiKP"$MdM&lPhh%VqC4IQj&9 S21kY0+r)(CZ9ief*@'b!'UI#6da,!@)c84'GL9ZL-e(BPDbeIl'3!$LALrU8PmS cNP&P$6RaZrPBI@Sqc2[eI(4L$Jk0Mmk(LLXTU1U,3rr&P2QVNLl&GaVZTa0[SMc K9j0EPRrm)khKPkrD3RYP#$r36i2kLEQTC9r5)1TG*'m$HNelD1aj)6cZHSB@!b4 00j0iP`Ac0rDfBIEdAKPjDJp,[kq@[FbX$e8CK'&k(m+[F!qBbeVHFa"3LEFTE`[ Yr%LM'1`'-VV!3dMlf`!X4Z`4hD-XeM5e"QlhJRV8Y3Pam'LC$q&8[GV(YGET@UN QiM1k9V2@jBPlXhN2!'YHQ'0m1f)FBS2feP4pk@Pi*j9rj(,Pf9V`"2@FjL!XNbm Nhdb[)Dj!,(PYlN!ql'Abm&c%F["1(XS$EmSUbN2j8-ZY2$r)`4biTU-6Ge1)9qL mGMr!$mMlSABSIH!,IjpE@V5l`,`2rRliYGNV4RdHBrHCpBj@l*)`[[5!m+al@La #$r,CBdYk*R)4YmCGJZfT*@mTHPH(1pSaNU$[b0IRS$Xe(jFYiGjA*dr*&j'Ad-- MGSfS,qpNIA@k2[M6a46dS!VI(Ph(*ES1QS0LbJq-@@5+Rj%[Kr+3!-H0mNb-jFR 3HDVX2$T(GLc(p4p'd21CDYmBkZ-jEZrST2jh%`kTQY2J6eV80mHL#eKT$A"Hfhm 0hIK@j-`J,!51%bF(4J2ISYJB1F`HBp4M9ZGj0Ua8Gq4YBVa5'(B&IF1Id`ArdG@ UAr22q91r6Z)1qc8rf"d6a4SECk$A%er"0hPQLq'YBlqCVLXA1hR-fC&[+mdiZUr RY(r5rS-kcCZZKfq2jR2KZJ2+[m@cTR"i8E5[h-Xj[0ITMl0ArI[C1mA4CdIfmTk 3!0r[c0'jYN+2T[e*DQG4GHrp`!+IMIhZkJFqMr[jI*q!r@cYj$pVAZDZEEj4HD4 QXXkUqd6q1RHq5-CX`f-YKVeG6ejee2@"4[+R(9Rf22B!pj9I6Fbapm!3eK*(JXk CUMfq3cEJRVe(+Qk)pN5R8Kaa+[*a%+i!FhDTQPLVc1YG,KcDjqkB(AQ6GeVN*e# HU-kB56PB(mA1#'JrpKk+2qJqdEe'04eEJA[29iVb&V9cUTceA,8V%Ij0pPU8-ir #pphkqc2kQrHP+5`VIeE(k2eDj6r3hcrAARKMJf1Pmmmcca`BQYe4D'NTT0["fdk cAHJqa2efN9kJCiMfM+5B@)q-Z)hZ(m&cQ!`YdiT)jCfBYBCUKmq&0!V`qePYdIX 1-EdAHkI)'f5q6$SfH%!bqlU(X!p5e`,YpJMYJl1J2I@Z4$ldJfZq"CVQhlVBK`f 0DhTi*p9`1H1qU[hb-A`($2lp[T%"I#Nkf*d26f5U`V(,RQBF!jmQ,c0f$2'1`[" fiS!LJH*)ebCqKA[L"eQiU`6r*(p1BQQliF6#BH,pj0Yb+&q+!9r5'@Ur"HT%MHa cU"4CM"qdb`[ji(9RMbAbU4def2H,qZIDqmPf!f0C$kFi2DFCT&mJa`5GShI"GYC BHR6F%-jAdh'BH"Cd8q)ai))UVUUDFp%pkradVc80hN8BhNbDk%5e3eAeD)kZVi6 LVAXa-`pfBhr&A1BY1JIfJA'1,$Y(T6M[R&J0IpMYmr[G-pK0*i%*f-H9bhiPhEp ZfR@$f8YLrb((Rr94cF%D%$Y8Hqr)BdEBK$fK&Dalk2XHp1rcHRjbqh,-rIZ61G5 q3Y`$%lJqGAFfmlq6[Id$"NAj3)G`8%qVV*R6#8XS0qQ$e,FUklfH$AUh(h0irpk l2C[ceXQHUEelh+GFa309cbED2I[crTNHH*6JJC[,ZS$P@!P1PqN"PS`YY3`6FEa r!eaeIhI05N'F5rXAFTRAB,H+qI"jVFa[i#r[icHNMC8cRNAjMiTRhJ02GM(U1,1 d$AXjDZj31a9MIPr%Ailp4Mp&RD546!F[R+lhG+5MVq"[ahQhDLcf%m6PmAd9mp1 DMRh-NiJ,URbm5`bB04fi3[N5N!"RBeAeFh3hKh"'jf%0J,4jF2CLm-62i)imq,K lDaEZkYAGfkF6p`HQXpi+rBKj*2,crQ8G4eL2R5A8ppQId(14"hbIEPUh0#'HG)" -l-1Mh4&Za8GQUhNlZHr[6l[(`2%NX1BSFDU16@+MmMZ8IjGVH8,K3Zqcm2r$Ef$ Z6*j#2ME613SF*ab"6Vc4A@XCk--4%hj#Xbjj#ZeBC5l'[L3eaq3Vabk3!#R%rh" LEb4c[DL1UAJN2#A)3c'FKr@IJr$bZ6cKMC5[JR8%cN(D#2&'l*+NIRfT8q5!1le NarFq)iV0Cp!Vk+9UCpPPc)FCrp"(LM%lL+pHcRb,kU$qpqi8aAVf(fB20QUJR84 f(EL$Cq8bT@HU1@'qi+lT*RqUcG%`bbGH)[d-q`(CXrKIpjA"P`PraP2!NiZ*kjX ValG#[k`([P@I`MHhYCb`%hd!2UZlC0`9klY"Z#[%R30h#F3"p"hP`f$bA5*VHqS ZTDV$'JYY'R1Gm0i19IB&e5C2kA@b2iQdeA6FjHLG!TR!2A#i8YBGql5dGlR$qcX YZS%jKcYU1RChJCm9YGpqJRJ"pS`5$QhYdq85MQPI4*lYBF,Z#l8lT!1D4!*fd@+ R"qlRN!#H#YcHVlRX!-H!Vr95Q`q$Bec+r$R'-5Mq3K9rk3c008TS0iEL'`R9lTT 2pTbDah!jH5c(m)jLc6Xh+p`Z8MS%aaFTrF8V,NGYV*XcjZ!H-lD4jSaf#&H+kFc 6G"dZUkEcZ1fP)Ga%20I"Zar$iQ1iChe(e6Ap04[r&1HEV[D`UPk`VU5iU'1McXh k85cI2kRD(,5hT@4fj$pH8Ae`e1ZmGEVAV&ISf$QBN5Y3BaPaVLScD6Tke84cMCP aaRBGaIMAkqbpejLTG4$DGC@Qp*31mNEM[5AFLa&2D%l&qdS8VSk`GjZL*mBHQiI a(LC,$0'e%dFla&cJUk`cEHaeG*iJRDQh&Y`![P[5Q@RR#qhh8cJfrGSq($0DU3r !j,I8l%1[VrPNbDRC4ld*c"G3-hU8VrVl-mCmeY9pY!2[a0mVrD4[hk#H#GUhQUB e00*$41r0l-AEL*c,G8iAcbGi'AQiZ(IX!5PAr*hi$rT%1F'2AP%c-jBe&9eM&[T ,0BjMhlcL6Xa[Y#k"r@!mkjr4Q'2U1)d"[r$V1'M@(&HYGcI'H1YVhf$HUZ*XhJS XV@"G422@XT1mPA3fc9XV')Hd2K,GMA0UlmH[Z1[EY*YBGV4hl+1q&ZhScLHX*#k ,'Sm#@al@A'!M-!'q5qj0Yp,b,Z(pAeTh"4B@hDYa&,'6@"p3hJlHMAHphXPQD1r %(0a"ba-9a,AXr3&DQbp%V6B2C!qlQC!!d,T"l8@U2RR[SEjKPPPAl-2KFXCK(DY iUlTMrc$9d!eY@Zr-S"eif+e*R-X!ac6qX"2c!jf6p!lLBm5G51r8A1`SiEA'8Ve rNhYf*+C2C(4"5pCl!1&hI'dbq-S4Y62Y3TiRpZHLGq`C!mCDMSlYf,&pK2Z(%pm T1*epHLKajT3a#Mpc@(I4q00NDk$fIMhXkdU!pp'ijfhENh$K0fap&[I`3PbSp0U %Sk5(TK%r[1GPQcHiPFlRk(JFr6J1MDU3!2T,ISUBKq*rl-Sq#&klSi2dAHDcHRB HYIGIdjbJ[XhSa4650qaGCHKR)[T*Y90[RA5RCRkddJr!PEAQ`A%+*pbmIkP5M1+ G[jT2*HJji[h)QTI`l0,1NljjMK`&ap#B(cQ%qJSC9e!Ierl(hMrjG'4IG'IC8[J `0Q$A!H&)HiFN(%([$e1GK-NDMc9q1!mTM*fLp'HB3($(ZJhUGf`JA1#B8DbPK8F r3lY[VGXZaYeijQ1r4&e*dhi"IEdYB6ekrTlq"if(pK!0)Ie1hB(E!j1`ai2fHD6 JQrG)SUi8UT9QDAENT`EK+ID-T*!!hX5m%$Zac34iR@Q(TGSjLGP0H*&fQjNpf0Y 3"di'6Jlr3M%mHT5(ppK3MD5$dRNbpiEH*d952Ma1d2dc8#[R8YSCm[QJRkPpXm$ 5BeIepHEIIEhhL56H#jX`([lVE*bCRV$,4Ak,lDJM$6X5LBZjHBmQH#AhAZhHT&i SRl,H`4REadQDN!"*GEBrJelHU(UT-5Q,I!)VR[e5+qPaPD+BG6cLiABFBYM(JEP fVGK*pp0jc`6UXfY0SjUS2c`MY,Z&X9[YBDCp(1DSAH$I%A"&KrPq(`Ip(hed&2q eMdAX4hkhMd@fIfD3!1VM*3rm,hddJ-HUMq$cf`N6E'faYe0X*SddUSP'CrTRbkP (Rb[R(9fdJqB21&9d(HV6@+Ah&qa"V9@+[ebSI3P'"@21pfNq#UpLrm96i,U*KF4 j-Xe0d,j@`N2c8#'`BZT8hGF8i#Me6Xm3ha%@('I-kGFDb,29*L4TJ+3lN!"19LQ QXIjTia2Z@AG'rQfa'Cj#YGdcrX-(F'JDmiChjhFUkec%$p6m&M&2rQmip"i14qI ek0H,ESBA#I[[5Y[HY($r"(1U+%I4[KhQ-iAXN`NR2%-qSkL'm4KidJHlbiUYUKR ZcS99r#i*jN9Zj[R`A#dM68KjPi592fijld"d9lp0E`GS3KlHd`V1a,j4h20hIcf )iIR8Y@"hNAZNbR8Kmd9G'r3f0qZ3!+K&c3r(ZGRAprXG42dqP8TaXIBVAIaPpAf "IFrIk!&UZTMp-Y3MmR"9e6UR8krX1*e$qpkQX+rfYelVr[Fp9#mAl[D9d,)RcU+ Fm*K!ceQCi@l[,N--cdQa9A%eah4HFc9LP(q!lYP20e(VIG$0flZ[`Mh2!qU!4hP P1Q+Z3Bc5fHKHj@6p'$NGL,qR8Z3cRd"1k!XVda!$Eddqka"mccRc@CHekr[6hQR f-UPkJBZ6H4le2A6qbHbce,9"hjr-1V@qThbXAqYlc-CNlTHq6m)pij5q"bHGV2[ Ej`-Ml3aiaR9KGqIT-3eQAemI#PPhlUZc81P8dES+fBGSqip)[qqY%blf$YKkGV5 (KHcVqA-Zp,H3!2(KclR3km*51eG-#l4RL@TKhm,[I8krdKcINZ5AJGH*2C(NPb% pjR-Gf'Z+(F0DQi((XC!!p5r+!ChRXjV,l+4h%+`lB+bR10)l`2HfG(Z06r'q%Ur 4"HlBZlA0Z!rlLMG4$(D@I"CeiAd4KFT[UcbdTUhMNRq5mT*rS,[0k&hACMb#rFH 2SXCr3%l'4CA61-kpD61faMJXGSNDm#SBH#00(XqccV9EaDMjd$(SJA'%qmEkD5( l+Ld[pLQhGlr%21D!8HcQGcm8-Yr!RPhbDC(@m8L[BC44EZKAf2GCb$b%qSYGF*q Plki(M*QSH5BihKEbIPH+Fj9[%2k0lJF`,hSqm0D-,CJ(RKI-I#pkIGq'"ia2[cX VNeJrYEh5fU1r"h-$rq)NaLA-(,Md*1Epa%Y`rb*a%VbYC!(0NEYf&X8m3[2kT3- 'hQ*#mc#*G3%pJl4Ve8&cUQ),Z#iGZrU[meR!ZVI1ZI"AmiNhRN6Rmfc'Bjf,pPe 6cDbrk*K-RXd1J6ecNl3Z#-p@&)mQDGbhpHjmeJmi*c!)RJlPb9"HjYbq[!A+"dE cCf[A6RLM$%HH1pX"R2a2VIPG6Y1aQlJfG!AYFIJaqdFeYbL*BMTfAj!!alFh%CL 119$H%-9MX)qbMI,B(SC+-86YI2XM9d6YNV5kH(h`i%jQ(ShkX[r+cdlemY9qVAS +Y0EKHLjM2Xh*LQqmdlmdRVZrl2U2emhl1AAGaEqE)ILG#U-qeElk"pYHb2qF(qL kV!R3EP3V(,%HSRi@-[kJ"[A1T2rel4e[Eb@2!A[h9p`#2H-FaKGSrV`V5IA4Q+- meF[*3efY["I33GKlB@#2h(,XV5$IY(Jd$0qDpPU6VSkB61dG%%H*jj02@@NLjh+ G5RXq9rYNa'kG2jR`Kl35jG-@Mq+1GUk4ai2bE-EG)1@(&KZ!%6r!0rDI'#fk9Vb e+C(I+S'leTKAZk(I5iVBkh@p5BLYd2@54iVfKC!!4aapjAST4iUZ0`mkrCIaMEH h[$8ChjRirJ6e'Ym(m!fGkZeVBc@6a`Ue&LLrEp`6mQ[2X@0PP[BS`$Z4VreAqF` E0*Hb25$N"i0QNmmm!pS(2,2)VIJhhNLJiZ$YCPhIhPPLafNI85lPY1YMARb3!1l 2qmPrdhq`9kY8iaim11Ha,S,[ITk-Gf*a6GVAGTlD3r#Ah3I`U[*HQfIBTjV21r, (`8GLBBI@TZ-Hq#9*&p@Dd&R4I32X0IRM@eDHc)lXe&Kie'`&$Yk0(4CIa0XT[Se pEfm@YG+l%pTc1Z5dJpdr#AmAqb6f[pkkSR`Gll5JRHVS)pGVhNLkfAM@'C3[Ecc c5E@hFccVFHUp&H19[qL,[+GcQl85@QFLHbHhS`pi$pCijJ@pEH)al1lCeZX96iC P$[Vj"X9Xare1fYG$fLMdhhdVDK2fNXi*6XTjfcIJM8ThEX+pShV&-p"TH5E19IV (8[##-r''*,b4#$Z"@P'[LCJ8a1#p)*m#$aF@BMUY[i-hl8c'KJ6dT3XaUa'6LCJ Xh0-Hm2@iGq%q&rHd(h`Ml[0`RiplfKZq'IH&Z*q#qelHkIehS#TR3TGT%eYarbM m4+b,SNCiC(2Bck#`+)Gj2IUmJrS02JbpN!"bj#UqpJPEmcLEjdjaL(0Blb*2-0e $K`3ZIiApLrCHkpQ4EkQh`r!1T(-C6hXI%-paMBQ4)q348(@UqD-mf-R#Zh0Tcac A`E-dR[(VC(q')Blj&q+STKh3mIHCGDK*j@6p41�Z1H`S9XjA0M(-pQ[-$-dic [@&(b4XDdUdA'LSTed2N*,mGcrhQ(A+CkFiKj1Zr2bqJkAAQfThfCpR*&$TQKASq l!ci$Lh%aE8A(*[*UISEVZ[U0@%djV*HZH24cVIa1"ILVb4FHeHlkkm4EU!K2S%d T2IqGf,Ff+!`kLhQlcU0d9`0l!E+0G0EIJE9rHR-"qprK)3-[CMr2jcD44rq0(fK ZJAHcRDAh+Cc0HaBdYpM6Tk@-9ljljKTRXiiGp3&ANmkBSh4RpZq1Chd@X`hpHac A3hNT&KSPl@9MIa[d4'MB`J0r+A'P5YB4(q3m'hZr$rmcm[9'i"f'4N-FPhB0d0a 6,H3G0fr"Zi`1-'Ba6K9Ya-jGc#Bm*0[J9k$DQ5HKYi`6IhQ6`+RGkl`,QIXcJIF r%(BVR*c!Z+6MdI-*V,2rf8m3V3YcS[bCd$VS(VTS#YjfFB*f&e--lP2er64pR`C YN!$fp"IVqk(k(KT@V[Brj0VqhJ6PSFhPZ8@2dQPQ&+lRkVR)jAeE(r5-Y4$SNVa 2N[CrdPj$l)dNVmf[HEA@RMTHCRb"2q"XjG1'&`,k6#Cd'RK(4ql&A3Up&B(f%K# 1%KlbQf)BUp8FrdQVIQFRbYZSpclHFdflFRK(36Hi(rCqTR(Y+fP')NHa1h!SX#G 4k`GC2$pek)X6IF9q60SIZa9hV"Y"0qGC`6jdmKPc6lk[Cr4KH*pZJFFQ#EkMPI$ 3142fi[e"QbNHlbEDM0K-bQ%kX8-ddC'"rBlX[8'G3e%Ip2UcP3rJVcY5'#[8c)j QIUY`)qYfjM6hLp0kaiNcHV(RQpi&JM[XeJBZ[XaleiVGRC(Ah(KR%(42fjF2Mrc Bk*irh,(2#$-$lA%-kdA+jj2e@eciAAqB4kQk4NIe$G6&q`IJaBGZ0BCj$'-&lEh !RP,b81Nml0[51clI8M%'[f''FQ1'S-@0B6qVcUIm`kTf'pprfkpqh'#08HePfJL 0F62[@m,13XaZLMhAiCd*Ha&6M2Z2NCH4m)Vf4@*IU0VCiA0JPj[DiF6B#0m@md* kNaPaP1J1QM'fAe#3!,DKBj5rirrDe85l`041MPcQZm`Pe,hb'Gd(h8Ee3IYbU*r JR[!(m)j&l)AP24qF-d[j@rj2(bcYKF,m&V9MCa6aZ5b45(b0F*AZLfV@6#`U@c1 Y+'G05C&Mc9A6$Ula&KeFXrbccp#E2"aTbM1IbALNG*Z4M'Zpha0Rf$Y"@'Yi$YM e(q5E'Ffi31mRkq-[Sj5ZS@CIi3Xi@LbHq5RH!H,"EX"T1SEVj$F[h-9e-DlMI90 F0c5Iea$$Z)G(A3#V4V+["RHRiBjp9VJ$CaTTmbZRmZ'0BYj1ZX2Xb0IjIB#NDp# pQVp4c)0ShR3qY9G*Hj&)$`8I#G'H%DhadVi%HJm0cHj1VG9Z4!bp[kZ*Y)lCNGf mFiRVa,fZdpiVe%dlhj'$GdT`$YcV(*VhL3E5&C!!3lf9Jh,JAZIJ[K-ITlI@)3I V[j5$lR81pXA`rRc'kphmAM5Z)mU(4l+HS,M&51BV`'V-rTPD[rL0Ia"[eMR5rrB ak&SQi`hY+)-2L[$$hLAbZCfdBrd-T3FbRTh*Fimp$#EfFQ@TQ'cZ!hE9,i2QlR) [CrfFG82--$69-eQASMHTk(Y96r8Y6@%I-01*%lj3D&Q(m3D2[HEf!h[GGC(MT0h $*l,AI0,B5h@k`I[Jk8P4hU!cfAHLDY@k&(*!8lm%'RBLGZLP%ekk0d(F*EfCpMB mj-MS[9HF!8p+$r%fj19jjRchBKr0F[3)19QIh"4j2CUh*irf+r33[dG1a5[Za6h Y(Z2h'd4e8$IQ#[`[Qr8!D$q[`,paLCV*-a3[kpmCMMPmcam"Vcpa#rJL"-k0T2h MRR6m-r6ZL)cShNh`$Veh-`dc3IT1PSApbVeI!mIk02Kc-RM*`hKIbl1B)9A$kG4 6I*r*Eq*j$ZrLf(N"CZD0Rf-rajermPfmpmkXHmI6AVrGa288rQFS[BEIJh+kHJF 3lk,,9,S0lQMR2h`8Q*(4V-YS$Db([E1)IhH(65Ec%Uf"lFFHaD'8"rYK2Xqj0K- RSYf2ipkZap[K`,89Ap@mNfDcekHp+fT[G#'i#2BAr"Zr'8h[49%k"H+i(YCcaM# I!*DFJjQUdrXlf[5l5BTj*afrY92a$1`mZCBp8M@G#r(HTHhU$80M@4r91riiTp, F4bNpPARC@18M8,1MI($r[rGS`EHkjLlV`8lD)8!kNK0l%lC##kFhTla)hQ[Da9h di1dR%&1"Q%V%-&E42JA%c%%-l6ZN2GiC0-H)U8,-3Q"D*Q,SE58Pr(BU3e3MK[E @NfjHKrYkh1IKRR6c"Y`hiEi3pk5EKh$ILRXhlNNh0h'20dLHaVMB"GrcZhYIAZ! h51SidSk+86Fm`DFT2C!!hLK)HdJaBrMQ0m[Jqh(+!Cd3RTR6Q2qVA8bR-6qK[FH )V9!H3&9(&fC!HdZDm&d%rGNNAcIf[&E3rMEJ8JAi53(HeEH&FJ([!rhaH+ZF(GF 5Mm0HLAIMH&G@cCVlZ"FpBMMH[F+k$HVmGp`aEi)hRl8-[G[FhPR946c(r"Um(2q %mrN,b!Z`KhSd&A1$h+cMRFaCTAE[$@Iq"d`$AaR1ILAFJ@-2Crd*GjL9iECHK6G pRXCk&E5e&2J+rKPDqr2%MH%&f"AHG#km6hL2'630c*d(1P`+mU45[)l*4%`UpS& %G6r8PdTcB&DrXKIIDG"1mCj5VLqe2dCa`H'-Ne3lDCH)c86XhQMFiq+DhShL1RJ ,AQ3Y%2ZTLfSMKm1d4`#l`a#lX$G,A%rD((5A,'J-amJEaEaaZ4'Y&I84lk&CH34 h3r9G$qVDDpj0YH`LhBBmp036TFpMAjHk6eImPMMUb-L,c&'V[a(V96Vc"Fc,Lf( 5J0!,c%@L#Ad,qQBQFAES'Y`Rj0M,Ec3MIGBjY)RQeH`deTX2RjZKH'dkkfr-j4# ,I4e$XHZ$q"h&f[XND$EhBPCI9,a2aa'(UJ1@1mQAUMJ!CKPpLVb'2Re6hI&qjVf iHa&a2q2C3#lFiEe6BNpXMXR2X3Im6HQfZ+-Gm(L$'1h8%-[2RYfk2'qf`U3(9lU S$pLR$Va*9lSQHJ&2ESr#Sh6@Ml$Ei[RIp@I[lfZ2kXA)#bqjdMe`TrKDZ[,$UjS hdMI[-H*G9X2B[iBj5Y9q4E'e!hSNlRJh(lkaUqDcp)fp'VFUVMk8HCRHK46G)Il "Zp9LfQ%hF*lfpQbeGmcKIKZiMq*GY*ZM[C0fcNh(ERdRl8e$AmY)qdH-ZdGl$S! ppRZbX10l#-m0Y1H&d*d*1bk2BXHBS8hK*qK0Vd1ClkJhfJeP(J60qKVNZmiNE38 q(Xa5*HdTSed[m-GKaYlFDrEm6(ND`9Y3Xpe[3A2-R!0[R$3r$[`MhS,j9TaM#2- hUTAHDkGh-3&rKQ[qCG3TAMY%[3q-1FN3eFpUmYi1i6`Uja$Z'qU(Vf)ikf(X89! mL[T`e#h&aHLTmKR9V(Q5GPmc4f2-'klh*p$HP#'f(j!!kQ8HVI5)G1BldCTkX"0 4e68EGE%2'RAYj*SXNDfaP(e&XCbcGFkr38j9CmfD(qUFQ6SRq`eL1Ip'jfa'2j4 IY'C041FFTA2Dqc&S*c$f$JjMAjIHSh4%c9'kdNdB#`CV(qC[r$A[DhXZd[EF$ki G"Fa,SrH,ZQ[@jS#6XbC!1!9XfXa[I5,2I8IN12N&1qZJ$`#,eY2l(*!!"fm42BV l&-)Vh%16'DVf9$)r6fAFL1(6Ck2i0"ViG$2Kdf#eM`4k%Hk8rqaAq06,q)5hdM" [)Zl@Fc#$hUb(1V(MCLMcUcJqEHl$Te5eTk[[M6%mAmK[lb0FU(`0UDcE+,a)9Ie N(%RP2$U1qdEeBfE2TlfAlZf'%c100c'N-6p8HqfHC-qbDB)EBZpM&rDFJVFBCZG "e*[+[+5,GXT",f*1E1+G(E@T'IGX%L@8(hkrE06!Ec,8pE!fa6Yb+2i"e,qGhL) a92Qpb2Z`(@pl)@m@jN$0af$@0j3@1iaeB*SheYSiITM#Gp9,2hTj2QTi#,d%pJp QAC,Q)[aT[&Hc&qGRIYbkMM""c9DZjRDBr95eIafi!Vri'R$824Urm+DU0-C6VG9 YSrG1kEH4QF#[aj!!!rl30(ZI!Zqj4Q`hm'`R[b@M(ES1mL#(iSqidhL2pe%0Bak Nmp)1pS@)I`3Dp'0+Ka[@[jqr'$K'@UKGBcjUr#,V-HTYAl32R,3!LNeAQ[%V5bL RfLNG+G4cT2Cp-ekNXCkLG%d9KrU"IbR+Gf))['-@Zie1DVT2(V$IKSHh-f#h'E$ i&YV6T,(i$KZ,LpVA$3-@Em'Z-qc(Kbk(IY%lTk""(qp8HTecr5,J-GjP`RJ-[EN ('Kj`jQ2Gm013!2qTL,d-JpAq9#rYm8jLI3HDpX,H-Bc0MdDaH45`q6V#jK6@9pA HR"6PblJAf$cQ(@cqiUq`qBf-F!8m%9lDpc#BrG+%%H4[)%`+$hUQ0C`+V`0kfSI 0bFcA#$[`"P,elNl'jX&FYhl[e"`eHmPU[a$l-T-9Rf0m6PEqD"9Rqaqh!01Z!!j !)c&DJ'R`MDZj9(MkeC(UA@)DRrm41,Z8m2QE`1FNT8I#@qaZAm[[Yc*[d[J-2jl +raLrbdMIm@k''$C[8GLFD[-rkX@CUKIJQYb,C-ArX-m6[@BH`hiL`MBe2cbRX9f 2j#Z`HcS9GGb(1ZDL$[EMd(b%9q,GC-QBX45FQ,9ep)BqQV8S6LHTI5#NAkPDIUj U-3Te,Ec2aIhJZP&Fchr@SR4k["&*[c@#kL(IBUbH*,AhkDqpB6pFAfq-DEU@'h8 YbYG"-rIJZQbUb8a1D!@fYJ)hbIGpXTj%pEi-iM[XfrR",k&$N!"IPRJ*hKqGc2A SI4#V`8XHelb%r+[2)3IdT*4qIJ&HB03"dr(Z3,aGXael$j!!ajirbUPh3F!VT1D qMjFBqBMI"PlbR1)PLKmVAQ+NSkCYTT!!l22%fjKSYc(ZppMhMKJ'%+G!,0jaU@) 6J1r%DACVhV)6m8p@1F&TX,-9Edfi&MQcm!hr$Gi-N!#!0ibT0d8d%mj5V@VRlD' 9i9EbESY1a&k"(2RiEX4h,ViVG!hdMN5U3I%Nl)(806M8I"dUeEdSLI9V#[,`APl -er1d[jIZp0[`4K-2TaiUcp3KJr)[%$52Eeq[108JjZ2+Bck)phh&DNZR[)KMAU[ jJG+,Q*ZT1-`G1)q$pd53!#qXAlGl$$b-1&PEHpZ*EXU&GkTBFp3lR'R2)q)faZ- +Ia0RlBR(LAJGhEq*Ddq,jhXa(TFIMkZ+ecH3!'pp[(pemAa(ih(Aaq[)LmIYLYI 4%mmh%1H1ep%CMfZ+aaf1cmh!('b2pb-P(MF`Pk[Mq6,MG6I%mqA'meRaI2%kfLV LqAE'qjF4Vf0V2+ihAYm!lSELG3r%$H$"NAMG!lJEllG9(FrRLHFVLHHVMmFGLXG 0LGHh,ci(mEP[,ilA-4!hJ+0CmAbEirNUih&a(Y$H&FmAaf0V!&Gfaq2L2-"baZX HQ,-"2M%`6h'FD)rMK"A(dIBjmES(jZpB2'j$[1j(iRA(mD!pMS[YVRKF(-rD@Z2 p'-$&aq2jiRcALYIA&ZGYl3-i2F"VirQXH*rDihbV2Bj$lA%FY3CiQ"Q2'q!PF6j NaI85khLmMJ&GC)#h$I$D!Gi@ac-VhZrfZ$l4&ZpIHjar@h'pT#f1IpB!MiRcr[B "I@K!TiRRDi[MYc@J"fb,ecd`6h&pbaV38G,MIBVcXrDiRQ(&GEMf!IaH')mEi+m b(KIR-GEqH0`!2i[26IZ!2M6!-q,k8pY!r`CdZrKmY!hS5A'FD(Xd(KHIMlDi6Q- 0k)Ka(G3Dd%8'jRX!$`EdQi'qaR(GL[1jYJ%H2+!V$qL#FElH0S#[!caQ3)mCd$m 'm#c11kei2pVMr,[pehfPHiUMHiUMQ2*!dl*T,[k*HEAH"Tqk&+9eG6V-*DU#IUq q&42rjbp990AlQeh0bjT$[L@ZPQCIXfY#RDYQ@3JA6EkJUq,+q@9cCVJm9mmSRc9 [eT9AZ*B'JR8&UD)d'23ZFcAlEr+j,N('I0H9LaBeqd*mLCS#)@q$DiP[55#ic"A dID,&(r698@c"j%@ZZ@A)2m0E@qp#N5%AUJqf0&,9)Im5Ah1qUkBPj!Sd0La,&D& kRq[F'L3jPf0GL`*"Pim5)bGD4Afi0Y!5G08f"'T[F#d1HKYE'Va"IfMCT+DJVpE Il!mdZVa066j[X0N9#VKUI&6P%RpY-0$XU`ddeMArYS#6D4YmcELUpcDL-Elq#Yl TC)f[)E$8YG6Id1!+H@r`)4GbiM0BKd%+,(UrH)a[(Nf-EN$)AhY$mcQTBPCMEG$ REICaHTiaC+Fl,deGXmY2Yc5epB'Ph*G3UPJ@D%'icp8B#,N@qd)KIq0LPcH%cRR 4QI-,qb[N`DD1S3-,5UqqBYB9PlNQ6R498B%eJ4Yp0&idJ#k[+aKS@9c[@YcLVr- eq"Yp5$J6-dJMLE&ZEQN)B9kEU%BIM8Pc#aT!MELK%B1!KU@+[N&%#a%DY+''"MT )pE3deSBSRRpAHd-q9plFXNR0jp$Yh(PUm1NheipaLPjk@rNb98aSRM"jFX'845l AElla8$hD,b#5Vkq(AaPVDeZafLN[Nqp5m1TIJ3dXp"Z%1&'&jpR4RF4GUiT,lFE GDUa4a'm`kK!Ep0fMU10kG6I%JlLkG(@(1&'XFJmjfTGMf"cF&DSlf)A`0P5X'-" [q'(+34i`2(@l!VRa-R#qfdcp8(@-1)klA(@A36e`UclKLARB[D6[m)T4Sd6GR5' `3U!c$fqI%'*8Tb8FB!Nm"UJT)E13!1r'2Bi9p%,Pbm@GX9(ei+b&b,&GhCf(&r% D8e62mYHMePdUhm6VU3HU(i8d5X8UVT!!jQDrkYpNUQQhbRe"&q+`SBCq8r*apk, +F5(kC2Ie`PcFGHXiQU&p+MGq+mIQ*(De1iBPYUkqErA(4Z3P,Ka4ZIU5e80[qqj Y$pm@[1dMYieEpEe9pqD-U'p,'&,iShV[9q[&UT[%U[PLe39LeHRLeZq,@h[@IV* qlGV$iJj6V0kqpUkXa*`lc-6aDpFphTB!#pFMDpI2`9kNYHXVeX)TQRT%*"F#$m3 JYaKdN8JY&UPj)R@F5"dX"Kd6JhiN"[f,'25N',4YlITpf2)K8Km9LB9LF1lDp5q +4,G),"&TZ5,Y)M*aTRP%@VdBmQdaC0[D1h[AVMdLKT`3k(&LjGSlYiYK*@*BcpS lAa4$Um93XIE1EkkpmaYVlp`YdR2AhVN(qir@hVP9T,m%SjP)aa-fVa(T9iRd-T( q%c%L@i`B*8B-%kHG%+IG)8kl4Cb@)diE*BC(a2!ILZ%laI!Repkj9`cI*SC[&F2 [@h[RIM(m,T(S%HPCB[Kb-G`VKPmPKTH)iG1-h1%6b`XGf9E#ZG1h2[H,RLrrj2D 5h&XF!*,FdS*1+bfl*$RRdU1h1"*+#mX,5irQf8P5aYFhc"QFlA"NeaRf-56(b&$ hDH-R003PjCaGB)ahA$Nl)@H3!'ahT1+91B"*JML#X*Q9PPJd"h[$ADkUV5hY43f c9Jem1h*ZEF*TiZab6,KeIHR#Mkp--2#9@eTcTHANVq6XR!4AQmKaU&rk`#rPRCr $mHlp1r&F4c5b2j-ZNRl[CNNaA'eKbrk9d#pk'rdjhkdj*6[kd`%*r)X9f9FYriE cEk#leSFqM%"#6K,`4"UZMV!dT%-Q5+G-P%Nb@DE)36*9$TCTFSJF+SI*G$PFRLC (b!ajZMa$RLNcj8Jj5Sk@@A+-(#[(5CI-PMPb[-b9%q4CmQbC*mq4jmVcC,kF+![ N*&NS*m[cj39bLVa3AL3[PQij98k64E*BAL+RbdYPL5b9CE*F9XJCFUDm6&E+@I* b19[1NA2P&I*+kC&AbD[P2&NPjmYVj!+j8&iVVj-INGI,MmU2bEq4eG)VDf5YV*- qZ8JZP[A5,cmZEj!!$A+*E*3"f53r)B1b@BCNLla4,T@YFTQm5GiX6EPFVT!!B@R *0YNZ1f5RA#P[NAmVZq5YFT@m6Dk@YmXlj#GPYe`MemTeFVfm8piPrdjZN!"hbdr *Hq4'HDqm6pi[Hq3$mN'j5@k@$mQ(jDGPVrb-r+cmR(a%IPjZN9q3!&[PhmX[bLr *4q@Aj6r)Ij6Ej&INBr+VmR(jK(a52L@hbkIP$[Q-h#QIPFr*VmPGmTrNmr)&Z9Y qAIkcr"Hj4hj$IP2qUha4IN[ZPImQpmQAj,IPGq4qq9hj2IPp+H8"H9#q,!r*(mJ IbKr*`r)9qDVmX6`LIb,rAIj8(T@[bCr*eq8aqA2j(r)AmVMmTAa$[LP2b,INfc* L*13NAb5QddIa"1J+`C!!88MD5[d5(e3)PbmB$!50Lrf00hSEr(8ZAkZ[YLANV@R `Z@S$G6iMhpmB3SU@*Y)'M)[X0-fK30#l'$T&E5dN'H-#j&MLEr45%YDC)%`BHFh qaBf3!*r''i8NDd460#j16FT*kfah$%hV6'[!@BHc#ZIe1$[63[c9QC0Q'YP'@Nl U&pXGcY3[m[qq-h+F$N5PjU5q5P'[mRr['6NTL(+d*55[[A-Km6[kSN--cK'$Kil -539R5Ad8ja(4&LSXR(cq"9-Z[1KLpe4[6@fGEj%M&P&D9PiaBkCMJZZmLH-,Nl) 09#NF!XY)4,Sc*lHqhA&eV[8rrcNCk[c2IhEa"e(MMVRUFc,SRfZjkU-9lFNZ(Xr jaMICQ9djfF9DSIcY$eT%i4prMZa)BNlaSAC(@f*aII'KSN0mKSUhim4Gp'qpFhZ SH2@PDCGQ6$pfDFC[rY2h60q2Vjem+h"cq,dFrcer@A@CTkb,rdhkZkZX+RTckZm TU5V0+ppB@X*R4RNVcSfaIrilYa[,+blIHIQ,P9CPqTb-baIQA(D)D(C1hA)M'dF ((h`hhX![fh"N1ieXMj'GQ8JAJabZYXP$5fX#%&1KfmjI@*3hd6R6hq#Vb,[#Yl5 JS+!SlmSQAb0IP$G!NU5EHGiEIC2Q)914Kd"fRLr8dP6N#3++%6h*3i&AYIK$Nkj bcUMcKpajma[V!T1ZSl#mmTE3*04)f[@NFU5(aMIT'LS0+LSPQ1GVm0@'A+80$C0 +4e#GVVT!EFX5Af2)j@e'G96`0"FH2Xh0!Xj$#*aQ62$A0IJ+M%)SVhA3(aHld-k QPP#"-5NDi@rNJ#))YJhq@X8%kVe346AX3b8fh+H#QBiJ%NKVR'qNUjUVI+fK"Ak dG'N56GA45-3jJ5-09rBmra,)R+jC91bN+lN*V[R0N!"4I3YVdBV&2X0G"Y'qc"I d"Z[mM3(AM!*AQ6IS$B@maV62c2@&JS'P[L#N9dLl"Dl*8kGH-"%I&bDjaXmfKTB f+MEN#Y6@YJ4*+9pDMdPe0AY[T!kI,@DjVcAD+`)XV5le0d0Z$P#`$k(ARRmfP&F )iciA9(D@I5me,NkY#$5HMF&(MU4bEf1YVm&*GrmI$3d48e4548&0)&"33b"#390 &,VN!!!!!!!!!!!!!!!!!!-HL!!!!!!!!!!!!!!!!!!!!!!2%!!"G-!!!!"B!B3% Y68e38N0A588"#U`9e8+[VbIU!!!VN3!!"ZJ!!!Ka!!!#eI*("rX!!!!!!!#$TJh !H0GM+p01jR-hMA!hLfkfmB5GEFUINVeb,hUEE4EGK"1QiIY0CDG-0r8f2GQQ@k0 iLNrQ@@XD`9qhpIV)CNH1EE+2m!D%EA+E44MCC*0p,(,lb)4(1'&NNfeNHf5IK'j '10Q%%diifB54hdEfVBaXFUb1l'0(ET2EK"&1pN#b*9X+I0@!$9EqC%X*pchh'Z& N(ch#)VH9m-MY!GPN[`"N!a1!-rhX!T!!!1$'l3$YH$U#rQ"U(+$ZqhicD1)p(dS (8hMr4Emr%-6lXpG&Bi-"AeL14"5jeaF0H"pK@$mFMJ`U`k'!9(mKTdV[aXH9q0U UThX"A'F!1MlRILbNl&J2c2eN8NYY!A$r#ZpGH2ppl`jr2d#p+aVEZ!R[+i1$K,p qVC91b(LrHGrU-U*ppml-b0$`2Tll+18DIm"c2iFTJ&8HRRX'[Ja`r8pjlQH!GrR $KI)-A(LV"qFjNMD#5i+ldm8+"r)5"HA@fPF-+GS+-23HH(j!idqfSC6FVV#49MA MCGV,iB3ES9ikc[DAlTAJD0VXkd+X"!F@`V2%#m8KF#c@R`Z'+&$43S!J,NJIX%c e'VRXP8SpYN6X5q(q3HQ3!14Qpe5iSGJ-A0e&dEc1aSS#JK+HMl`'`De-Q%P,9Sb prj)"#KA"5Yf#!&N*2)+%)(l43%N,$+5f@`3`-QM"TK"RcG)Z4cHejJ2h!Ab'hUd K+d0@#q"M-brHR+Zj4j!!Z!QLMV+DM@cYmD0l!YGSM(9e(U)m'`Pp%eblMQ#&9Xb (1Vq00Geppq*Yf9''#*U"@a+fYHdXkkJlKCN4Qj3(eQ'p$)b1MV+ZlLl-I4k1(Mh +m9!pI2Z63YM[m$e'cq(i%B4fN!$U[i"F2[88'm'hTm"afkeiRqi$Tl2R!AH#GCl q0HXmdm+E31IT1XUVeKidZ)LYmh4m"J-JqLNfd[FZI1,!NqZ!GE8K2VSM*efGRb5 H`a&&)@GaIAGBe3DLFM5Ab4KQYVY29a1kDA@,966`pSS'qT0MTQSQGDYET++"048 0B,EB#J3T'X$"6aZiQQd4d,5U2jRHSq0-kf)i&bV8BSd[%X&4eApM&%pI*S1M0K% !MR#i(`GXe@M%PLL(TUJc%2@[e!K(qR(N*J6!-Dcia3#m$NB(C`'qJ5-@L-FFhV% *l@6V-4`pCX(cb(-6-lrVB5GETf(9L4j`(rq4TeG0T3`M,IITU3aeP`FR-rMq,,e R4hEbVN3iQ&HEaqX*$m[+,8T(ab9ef$LFAUfM3`L!`q(9jJPj(3I4,JEJ06-(j#S 1IHmm)Dq&VGH*rqLeZB5MbXB+a"&4,8e0A5E@jM@M@U)!(0SFXc9HD3C01&b%idS R@X,"[&8Ij4M8lrk,AUhj2Ze#'Rc@&1r69212I6UZ$#ciQ'BU%U`kQB5KjIlAJVM r-#fcDKS@F9J6UE&DRFC)i%qX)SjX6K#!Jm,T4CAmQpF)DG&fj*ZhE"Hh1(+NrT8 Deacj*4c#!%Fqd,Z0GpKj2X+4i4SISJpRrbUVejap&FG9Clq!Bp(C,r#kk1aV1-3 ,cRk@Mlmjqd[%[Z(XDcJ@RIdXM$HGI4@(1-$C1lf@2RkP6m2pl-&lcQ"IA[l,DI! F2(La6qZm6iXr(2QV`VrQb#ph@''!)ap1TMY[PIGZfI`24pl`9dH&31Flaj+MUZ+ ikS3@q&Kd3M8F5jeq&XHEREk+`q'YGX8ka)'0BGkkflbDZTAI0QehqSHrKCilc[, E6X#Ulf)&Khm&JG#Y3M2$elPGSbb2(3hI-rAV*m3"RDb-)j@FDkrR*bLA&8XiM,( *14`$Bj-e(1l`2pG15L)-+he#!&(mHHC4KfcacV'JH#dejhf[)a`TeD*0fUP--[8 Lqm81K)VAG`X"H(fVFj4R!p8C`a+1@UH[kDcFSE0c-PX+9fPh[!@FTHhfmaAUH38 mqDY'@-lAcAP9rZ*lX&`%3-0@$(Yb+qf2[l38rhFmT55YN!#c`JSj,Al6RKRLI+R S&R!A-TlbaTahBYEM&$45P)U(Vq&cRI"Rq3YI#VbX+Q&2h(QRP9A*+)SFJQ6F!Jj 'Id,J5F[(TD"H@@U-m$LiRK5#-#ke`$)K51X3%F5Me11E+TqL+"@TPTh0cFrC*he c%Cm@)FMfR!Hk56S*CpN,P"V,!ccd-#Dmh!ZabPFB9i*jX&D%If*4-)0LPfKT9`E mJADjhHq,qI!D#5QaGY'+"#jmQh2a+b(AKUqH@%REjDh5F@!C%dFjDf&0CSLQ2G* RX@@ZarXAR-Ii@)5qi)%2VBGhN!#X+#GrL6ja!$lED[i0h)6AqbQRr"!p1X"MP0Z j#@L2LArfXfN$$#!H2PDC2!biXbi4GYMjDGL$ZGp5l[D$J"-!aQF9B3BIaaRH!FU pl3iiM$[URk$Fq!h`&FcKCd%!kr,`$FapKh*$!i$M5[H21GC6m!6!1hRrQcS16f1 ZJA*0Ym%cQ%0H!G+2`l1B`mq,F)pX)r`"Fhb)N!$kSS36"RN&j@+'K0mBb5(+lHL 5X(A)1bNAH%Mb)[VhFLiITAp5eL'hq(h4-3Q9YHi1MZNqD3KJr3E+V@b5GZ'23EI c'SU%3mQfjbRhJC!!G"I!"[X6TLGSIlkGecJI0qbRGa,Ii@q+Q-DNVQ9Pe+L900+ HBMkFY$4A)*(-'UBcD+5cMAcZ@jVH0G"QJ')Np2IVkIVbPJ"r9S$390Ke+CBXjSG 9-je-Me[Z)3Ar+Y#cZ8a6e-LCQKj9GqYBA0rG@#3KX$GVUPD6NV1baT5mAGphPf% Q,)p2dh5F*%E8l)6PLURQZ*lep1D5U85KB!-Y%KE)DDDF2fRKk&'I'N-DkXYEKVa 1!@ZM24m[NP9)&lPb+F%`&QXJZeF%4VN,`-SI#LbR&'jVm(S&J"jlEa9C5qXT$kl -P,$q(`!!!!V!86[YmiX-'$P'RMfKN@H%54MjY8lC3-,)J+f-V1a@YKkj95BqYKi ME#86jZ&lBkZ-i(Y'm"ml`XJamZZa)q`N%dB'M&$bl-L8%4TKj1MCN4%M!dBB18S QM%a@FS`-'*Qa)c6#b)#5)52d)XH1M&EJ[U3G1GU[60P,D)6K#5)B338$*J"H@(f AVeBe!#$ilJC`hm6h!FiNI2[a(FHIKk!24S5cHV9fGIM`P2''&IlY94pl4la*0DI ,ZUSi2-lmai02lIGX4Pl0m%pM,jL2-dqII2@MeB+a9ZXK&S4TAbc#%GU(`h#8pNJ jeQS9Lqdf(+FpmXCT$biJ%4I!V6e"m@,dI+eLUQ8PT+QjEiBXT+p-NiBS*@0d!Rf 8HRXZH1TF1M%F$8P50)6fGUQMbahUk$+iQ0DGJA4LiN,f0a5TDUT$9923cl3q&d6 C,'hbH-fr[,Y%'NC*bp%*$$$UDhqLBLTk8FiV2I6ma'`%U@BY4bIJTQQk"`&$b9F VKFRVXUD&mYqTLlY1c*&kjN`f3bFJ4(#600lk46NI9q5#SKZK8PGVmp(L4dkP%r" `DQ#GLSRSTL(cl$l846%DCa0[""fkXb*N-+RkTNcZkllk%M#YE1+Me1QFB*J&YET &ECjFq-#TE$*S8@pFNl@HTGbKe2*M6Q862kHkbjMA,5Jd#qp1@eVT*'"T,@T9fIc Md+VYd#S%1G@MU@A9h,))@@XfG3f'H-TpKUNVFRQbm#2L01@,"l*@bR'#LeB#!HV idF1Z#EjmfF44BYH3!08(Q(X%JX`2!Kk@E3*qPJ8#2TBr!S-X833%YM%)A))TGVG Xk(IfP9eZUqrSpE,YX+i["R(A#[BEqT`YDYH!eIr8i9`CGR@i[h6m[6Zqh%EE1Ta ,a#km*ECe1,H*AI6Ll%64ipk"4Zp&F3HPQ'D`2rYRFErdaqQZNC+'q6N3H,[LTl4 b'@qi6Z%I![32pH-r!!d0%9088N9"65"38%-J98j56da-!!!!!!!!!!!!!!!!!!# QD3!!!!!!!!!!!!!!!!!!!!"4HJ!!V0S!!!!@rrrrrd&38%`r2cmr!3#[VS&&Vkm Rp3!!!E3!!+HD!!!!f3!!6Q'B"&4C!!!!!!!!E`i4!!JFl(B)BJ$!QmI"4Bi'N!" ,C'6+5!Be)RL3!*-e*4MUQT6Jai&!Dp`YZ@[R6TdmMV8Q%1M8`RRBC95,1-q-6V` 2RE*0%X$a"cZYl`,)N8lkdI5j"9N&cm-!HISDLl2I8%NcCpTa+fBAE`3SGk+a1$* )a*NY5Z22L$Nc2m!QQa[GNj*'8`E+5-V!GcAcQ4Qaj23MdF(4P(FG"NPRVIMJ1TK ,l$N46T`%"XH[6GMNQ-3L'cS+G5k2T23AUBiQ"G[hFLi%5S0c39K,U2"%dCQhY#R R*XHqBJ%!!!!1!*80-RYlqDrXlGFZkbJhQPPR[l,cZ0&*&bd(VIbd[#jlDLmlhDj -ff['Y3l2ET81+XVI,YUJ@pJql5Nr[qJfBjXZ21[BGQ4Q&pZHZf2liV'&mSiY(Tj GPRDaRDad*qXT[a@SkkVRjjAAV@fi2`qfMqcU#%M!"54,N3I*3h)Jf34F$b#G1+K ,!bXckVa,PpDYU+X53QKIqFTC2mGhlbp1f1JcJTm-D$Glcm&e`Ql[M9erKe1)N@F LlP)K0VYY@PpXp*Gm'"q'(AR96a-L2Y[+djH2k[k#M)p,a6N2Z3r)q`pq@r[ZKVc A24@,BNl$13jR$XjmR*IJ,-GCKA-jcT8i@h(HL[0fR2IMr!V1Vq0m"ZFriZc'H4M R6h#qC40D2-jK1-r!13&R(Xi#R+8ijq0FM2-612di3cM$1'r'LIUdqh"ZalN$jbk Fhm+*qV3M12r0*Q`*1)IM()[c,*a6F&k-F`j1p-hfFCbI`RNG6Y4PZ`ARhq#m&bI kCN2IE-rM4%ff9h#LClCIf%5FKR-`cP%i*q+FKK0ea9f1diYc0FifR1YahS0c+dl d+Hi4R0r!q8mi$q,m'8l-J"hef%r(QBPc-XlT1'IMA)$6Ja1pYcILa'cC-9Yfp0k 1hYZlF+)Q1fE,MTVXU-Rq8j`p0K'IL(-N6XaVr0NidD2iQ6M4phM-8l`2Ca"R-ml EF++QH23U[K-RHKrrpcJa8r(rJ"2pMmI-aU0ImDJY!A19i-#CKI-#R1K9`K8i2iB 6G5A8i85r%Y#[K-rL["-RCLVK5cMr$ZH61$%(#F#$K1rL40m5AX@*f8TiabB5J3H *ih&LCK22a3Nm5-6-*Pk'F`R1DTbIaSND%`fFE3V4aY,(TIFADi9DXDd`#@Fmhp' jb2M+l(KMI'(Fk#CR8Ga6aT1&`i"*Xl4[D#e0&aBZ0#iT[&')1E8KEh#TTmSlceF TjRY#0I3pTpBAZL6S@5VQ"DSmr[,!*Ij!TFF[jXfra"XUD3J@e5h`,2H+BZmbAqf LZQT2b#[FaD9H[cINAELbYNV-$L,mLN"$EI89hUU3!&MJAE(B9eXG@#&Q0IT#jB' &09krAj6jr,k3!(HqYlC"P(XE3l-$YCb*!ka#5hh"KD&!d#Y`[E!Uk+N69hVm2PP 9DG$$bBSp33T(Y[T!8*6iIA8FAZDVpTDJTQ$!,mTRcDQYp`C$BL&k9"@bQP(VUI4 lji5mbd@a2e"elIc!G9j"&FheVK4dDD@R5Y9G28DNXDLZcRpeS0BVbKE98Q,C2i` 3kV2ki!jH9ZHYa9L8P35p'"#H#hH`a"qSal$)lp*!&9T69"AbA8FM4'8Z$!9pYF[ %A*rI(keBaLcf9BGU9&NbFDQ[[SkU`G"BRC*YjK'L9XJSM%`$*SK(Z$c!%dd$3eQ SqG3mFGR5TIAH%!r1`TT!Y"jhd1fVQZhcm`$1U3V8mU6ePe95i`R+eQ!U[,A9A,X l0+H@Dh%AS`fc,T[0h9rSZrkpNH,#&kkX4`m`Y64'Xj!!6BiSeEQih"G#jBLLb5r ce&EM&Xe@0lfG`%MkPMFX4lGmYD&5le*2Jar`)+FM@V$AleQ*8F*JP3C@e)Tb&&` #K!T*V#Rh!FmN)PNCH8399,L,CrXEkQZZ$2LjNkSfGbMB0fC@&iTQZB1"+Qpp2F' %GpCeAY5S%J)53ljDEkQh[LVSU`1`8AV9CS*F'Tjk&)Z'@%-c$rN`!L8BA4SA&") &VI+JKhSSZi@8K+"cDTF'a'+2,l3!f@6YA-lXNQ)+PA1S"Te3dFHBqmZq)!MG,I& l!Di5FpbHC9i!1fT8-d%MI%N`X)*K!6@j!`"B'U9!`)r@e"999`Fa"B`Rd6(LSC) F!5&4I%Dc#"dS2CF"F20k,&b-JR1T*q6K1D&1er103PXeAp%bUH2Z3$dA+R(T#Qm p3p-9Pa62"U%S#IKTqP#cP90#-RHCDP9Ke1$HIJ1%q@VKE(G$b)*&0HddAX(PRT! !$p-`+qM"X$1B-Vb9HqU[&8JT+F`93$L1V`md"%%DU)qbX(UD5F+f1EAAHIaU5*% d!,T%65N2S1$kN!!(m!EHd"!+A1RcVN"Nd$[IJcU$P*pQU6M3L)BZ$2P,I4jrB*Q %iHK!A1d0"Q3Rh0lD"G3dBRE)`,A@cI2@,J1F-q!aJY3VL1b2jSMjS&jPAYqb'S" -m0*!TDU@KTHS)*%ICLX5b3"LJEU9p-PJ6efA#HY&kCaL6r9m4Q0hmH)J3&KP"!b "TP8VMNN$V1L"faq3!(`%,@6N`+!9Hleeb%RXM4!3pG4l&e'%QiE$`JM&(XV!Jkj 9[$')*UXTTTl4V%6"dKfF&3`#+JLZe236bC))1Yq(fDchSJr90(SP$65AUPRFH@r pY899994Q,aj,D"@e$F[2VIC@#CcReZ1qrY2![GK26l,Ghkk*T)dCNCfZ$&&Si%j 2LVYrJ5'F&2[pJj%6hhmUFZb*SXJ1QHGGCmZZjTiCpkeTQl&V6@2cSHDYqEB0fIQ CDjEN&fmSbkrF8025h'bfh0Gm12cd'iePiV5[9k$1'B8LbDKX2V'kG!2&E+-B&Im jZLX`4!,LMlYD4aZZ$L%3em4a&@+%UqSb3amaDVpI'+*GdcB@L*)mI,I[+@jYh*1 "Ee[V$Z3qeT14QYfMLDaZ6D3E66M[&8l8-ChU32a4Pb'5FAqfZMq#Zl&pI4M1I6+ %@0fkT4&eDkkUTpfk,qjqe0Qe*l1e%h9fk"qIZ&d[`$PQiRCA+fEPVblF&iZ)85D 5Z+GkF%aMcJLK&4R#JAjfbpP+Qd1aC8+N)ZB&h(1Z-M&S-Re(GLDerkV(k+mq0QX ljZGFIDbUrDmZh+[HVU%qp@3FbmDmE8)2pd9fLQ#21$DZ'c0[0'NEbm4),q@S,@3 m@+[`S!dpE0b$Eq6Ffb15XR['LD`HD+c)Db"[+r,b$#"q$qibe0eZh*h@L`-M"kQ iR@9La$[UlM(F[DlZGZ$ZjGjm)ekNZqF2YEE2`-AUm*f0q8q*3Z!GCLk4X@peqBE 'e58E'[@Clfc(A+ETBp1hcpJS0(h-f1fZ+T&%f%HiTkFj!F!L94mc1UeF*%3+Qb2 G+[BcqNDR'r1D80jkj&eA&H9b#2fQZ2Z[E('iN!#cA,pVG0SH50KlXM"AMq+Z9+6 ZU4D12Dh#Z@HVb0kc@q6Y15aFU,H`1al#m854e$e,T(ClKD0lMA"fEa2ChFq)[1k AK3Ycq$$95R@ZAZp`@rfK'1V$Kr9c6keq)[ra-T(`1'28Z"kDm@ap(28qiBX8iaS [h)a",9X`%r%d%`jpM*b*R[(!Jr6BA+4(jq+&rjL,N!"q*mm#c`AQ)aAci1Kj8Mb %fA$fr&!%%C[G%a(R)Mi2mDkHHl4cpFfMdhV#iQFm+e$VZhH,T*j2LSHk$f0H+2r &)YK0qG'VEZ6[4ZjZj%EI0rlRh($IqhZ1'Sk9LAMQ2M3RqMLlQKqDNhLILZXi16r TqN@B[h3e3jUBp#GXfIFI-l5*X%9r6-h44*c9Q+9iR+dLYDFiD4*L8[A[BfDUa#4 JM31aMTj@a1d'pNc%H4JcYJfam5,lQhD4er-XjmclCKEQl4@1Flf6P$5*jfff%1q F,5Ce,`8qhBKjZarip#c`k8FLqm8%NIILQ6aRGImjCp(jk*m0e('d60JCqfQQhTq e1-Cqa"hlB0EbqfCY[,KH(aZEYE(rFpB`Cc4,Hk#ImkaK$RM@CQ2@RK`dJfF0m`M XHJZaFYBL5BmJAXlDM5,lRI')aD`K2ZqGLa%l#pL'Z3'fcD"CkrPNkPX@YP(r#0m )fekd#mH,@CLe9Q"DD466rQ[@e(cdciDF0CZ&rmGSeQE8#bdr!Qa9-jFc8L3A'@r YB4j9G@HMLhL8iUUVefaTG!PKe`I&hDr(BdE1Y'rA4c0r[&iI$Aim2@ZlRX$c@iJ H*)(rYHZM%%HjA(fa65V@)6QRDaYd'4(TSPj3Rf32)Q["mcV,4!TM!2GJ2AU`B8[ MmlYDfm$e$(hdjZdpcQ0CCD*jT9%%rM2MVZfkBr2fe5mpfJMp`D@I[hQl2JVR(Hf ja"H8,Z'N[+4,'%raI6EP-!k+l#C0j1!qVbN$Cj'BKYUC!a$'c,K#f0'IT*`dB8G [fP`)0$6YL#Y$-jq(2[-mp"R5E"k"4N1kM94fR%A03qPld!i4Rl[FikYPVFI5FcB FM"cGm&6Nb)Cl)iH9rL2bSEZ%Rraa)r8A(0B&V([6dJa`pa2QjGUal"jaSK"p1%C m0[pa1F-jBd8DB[B"&iDjUSS,8BX'[58*-cZ5CKBDbLEA[H#IBb14FZ&`k4-aNr% 5Ef'#19IbG0'0Z6L3!*-J"1Bd4Gpj([Jeeb"d1+GSVSNV4Z1I9[&S$29"D3JGQ)d Nc)ESRid@p,X&r@j"[pqE%G3&#eH+5-kYU[&@A4Z#J0LRLA@j2$3(aLUDF30hd-F +fMeLAN%&D3kL&(GP1![4hjel-N6C(Q$-RXV@2D4&l@PZhGFMS%R&LHYlXX5jb,d %'T[EdYHX(J"Hk&FM%R1PiSI,TZ)@3F)0qPYJ*%2-3%aKXmKZra6!kfD4d[k!5'e r6U5e[bE%ZQ4KAeAeXFCeNi5$kTTqVG#QAbV5F`C6FC(GVST)a0,c-2FpPYlAFUM &M[UF"[3!Pa'*Y)m(VRK&8Y-DJEM`elRR6`U4MAK`Q!2SAaPTK'UHHUJQQMhdAh" p*5-EV6UMQL)jp)#(Fb14&h%He(eM'Sh+PR5M'@6K2N-BZeT5M8-Y+8ffPL6%$b' -DDpXlCiEH80bAAbiQLMr'`h@2ATf1Ghepi0lX@[0J`D`3Fe+LY9h!ec+Z+r&kE+ MaiJ[&kNcG+q@5lAdc`A`m!6`m,JeqrSUlY@dr&eV1JhJ"1BP1dI@"R`@@FEG`+@ @#BdZZp$Dak'ZLY3CUqi4Z@9LYF3,a+!AQCM"l[#@(a0@694pLq)!c4&`k34`kIM [HY&bAdXHq[!JHZ#F'hPADAUrkm'U0dre`)#MLfDMU&QN0Ye&q9GpPh+8#6fHFre AAcTS4[)2hAb8qJZmemU%GMlV2U[(J+p&)[SiF#ieLqKA$r"!SaMdi#MMZVc,9[Q TTcqRr(3IhN[kfUUTXNILXHbaBPK4%fDqmZD#a4fBi5U45pVP!X2Zc0pe%h3jiFI h%rLZa[Fri[XDI,q#lh*m3j-5mr*hh6`BhkAJ0d98rbE-"lk6p99aqr8U$HF40pf ((irlCeHFb0Xm,N,mh860im1(hdBriTkbY$perlH-5j8hCk[lHa91DA-MldLqbha 0e'#f+MkDV4aJ#r#T$Tc'J6XRD3Fm1rEHfD%m00[k-b+A[m&pp$9DlURCY(!hrp! Y@INlHCkb&qp%[[%L9meq'Yq(#5-%Bfcq$i5@6A0)'(%5ikP2Tc$GX,8H8$MSS(N '4ZVYL*NEk@(1HJUAIi1[`)Mmqfl*NMUUaTM@JAR8`f-DSC[8%diCUiQ,M(Q9jiL i`6KKla`RE&3rL&0kjfTK+a1CkbLHjJJjNr,05!5iPkIkRBFDmU#GXDlmAJk1'h0 VAfej9$pURiSFCBTVC21mM3A@L'-dMfPd6l(k+SeQ+"@kJCBG*qG(pR+-KFqP9&F ABF`iF3(U5e(IUHVl62@GTViRU@m([M2aR4jqkHh'riF[d!aPJmrPllSP#cfE4p` q(`jTp#4[XBPqMS[L36VIVaDji&pISrNJRThI%BQ!efXjilQ[qa4rkHa!6HA#[Nh L%YHcXH@(0+1Lh"J[8UKIiGe[01T2#(HCQ2LYk-`eB3l(#cYK'AKQ#YhK1dep6k+ k+Z#+lX)hDLN-rf!daDB`2c!LR5T2LUUrLV&K2,J`DN!qUSIZ*LQXrGrRC806j&K dC[3aMISp%kM24i``ej3'h3(e#bIe&9SKH`28M%3jMHa*r,8d5q'@PiM(`'FbRV' I-!ijNJL,JE(-[A6pQ$Yr#h%PN8EjN!#,136ccGkkhESi3PT@#ZA@amCaE,MeTFE `0TV&FGpPV-9-8&fkH#f0jL1mqE8djP2S&rJ(qa38j['XUIQMQ5PY5kHmL3hJ0fQ UKfG6EXT$q5N2DQ!qSfU`HXkDbm#FY@#QV&Pl-L1U,hASQbFdkSqIdkMri,c'F-q VrkcI-+Da&dHdp'cd!rHQa"SY"ILF!KbhCY!KXGA@Lq1'H%cL0FqH-ecerFE`bfq Vq4[,HI6VeIc"Mj%p@XhI$I[Fq40irT,#E`*IHq[%c1f4-iGmqLM-(',$eDKVi[1 SBkb(C`ii6VASiVNd`[6`$FqPKGmmi8CYc'A!JjEhc8`UmYN*i`QR#*-aEpQUEc4 [$SUR[*3$ZDGbhp*Ih3r1jYBVAVUMRcXqLRNDi(b%0IU6Q#rS!63(i@IIB%i1[@! Pec6H`Aa5cP&dK[mlhfY[%YHdhbXUfTm5eHd(4Fdk6IMACBLkG88L"1eR#IKIQk[ jjSHKDbk"CRX02$c2$2"!UbCJ(XrR!&H-pK6pT&k#8c'@k99[N8laJ3je+Zp![iJ A86r4XlASecAS9iANl8RXre+iNX,Da2K4frpF+pA8caFN0f"-XbZq8Td$GN2F8H, b@r-92ca-mA@LRILXMELUbTI"@!Xh2XqT85`SMV"A&a-D&8GL6U5d,VqV)K8aCea %GB',L[D`X#-Z#eVl"F"a1rTMKjkKi3ikf`R@D&$$0-Ql4#(9*(1N#XUKq0DC&Mp $6Nha$HCKkM[+`@3G&FcIjNCq`GcN)hcTpa8qkBNF8*l#1Z)#a!q--5,RqEFaKmM ImVC)*Hj$h&9U)L+K(I(%B5Q2dL#b`NCL#(I,#'[9h5A-+k"08$k9Db4TaSJC56' 8alL"ilaG(UdDZ3Y3)qPlXh(RTRTa0`[Id2K&)Hl+F%HDZ&29kU"mZ%r[4(kDV5i 0hk3TD9SPB6h96hFpcK2Y,Sp@kAT+3rlPPj1HTI+i1+i*hrH+kBLGcl%HZKYe&qY -UVHES$fIl1q"0ZLU`#qArU`YME3cq#D*df5e3H28ia*$VVM)2PfF[6pp'r3YZbe 0Ed@HCb-4LUHq%ep9GqG3EHTZ-[M*cYilq-PDaEiFHk3(Z&K$Xk4$ZXBXA82pTGj 5MbQ1HSPFEY*CH4Dihhl2IqZhrq1prACmQIT0I8CIT`2AR(U&1,1mDMam-U`V1NJ (eZf1lBLPhZAdhHG5RpKcS')fNIB"r3,cd0da4VM+4H*dj#LcjSHjZTSYa%%(!ZI $VTIm(f!qaNFLL-XVDSiF8hG8Ac5q$hZF9Qh%Vp(MA+YZdY6kDVAQGTE#T9R+eq# PI$6(P*2i*r%!aQhdR([CkYL12(QElX%'Qr(XYD$DE&3IjD$Fl)eSH[G`Ajq0$fZ R2YHdB9CaTq(Z'RJfL*q@pr8ieHSaq3kX1IKrji1jVlbMH[2kCL@VV`m1kJ29(Td Ip(E$pq(I[B&MJ'@[EkIFGG",N!!c&EN)dkFK2JhkN!#EjJDBlN#-JqG5m6H1dE4 0m)+dNaH%q6-iaapdS(E@JH6-,1'q(PTl!@X)KpCQUEJ!aqeN2dUfLQNN6Q$P*Ik 'H1J3V2fNUVKUic(Q-`l@)@5-MhLK!He$p5j*hbEf5Fm&qTFHaCU8R(%LL6"(Mhr M$Pfm[PmAf@jS"2$J4#,!d$)plP9iDYkiSafeN!#qBf`'IhJ''J"l@)DaEYhRB5N Nr`VZ#LNrjF4G+GH"QUL@D%r!QaJVQL*GUJI61Y+MXj`YDcqb(9S5p41i)0+XRK" f85h1XF+"'Y1"D@@'$Pai$$kaeYHJLD5aj`-akG4VjI2*kVYh)kq$kUd6NCpfiCY lDmd&1*Q-M@*$0R,62%e$raf8RfU"PZi1Ea'ANrpV`f1%#k)4[,6ZppT98H5)`S3 mrE&c'U%R(-IF'"f9VBHK)E35aZ6IpaRi-YD@!4[FA4l4J(bG&&I3B3M5kMCT)S3 j#,QfB4kH%JeP)TAplY#P9N)69IVI5+Rr3DX#RY--6@4mZ9jUEH'2r90McKLH``, -EfY6%r#GG%$[pj(E2j`i&(0qa2Ck,@`dfjfkq&iDpB6U#Qrq$Xh)4-)TZPIDAcP UJYF0h&"kG6T`EXDj#HG'R1diee*XPbDkL2rUiaaZpY$!3p#"Q2c0i#jL6#2&Ya( Q3&r5@a0$m%DccjpkJcVhNYk)qLHK4k@Sq6MiLadp1fl%XCEb)2VeS*VTG,V6KGK (F93MkV"6I93VHN$FNhVe)1jF"4A`%H(198AkL)2b1qQHHT&H!Hk,AM!A"JHQR&3 $pF*BaITR#"La(CVrep#M(DT(ZB62j-&![UfSXA9Y1V4`f6XRpBjU10NrbQ2eKHk X[Q`pfCHYXEjXrAeIN!$69GPUbVNDc[S4c49K,H@8-dLadLm(h(QS$9`$f0-)c*A pNTkqSUL'$3kXiK'A`*SGaaR[&"+'S&IG`-Kpc*Z!K4pUAq`cd,G`(lm2(Vk`U-Q qe9@jYSEaSFqIdcCHc-$mq&PIKX(0Y3@c!rmT0+FdBdfN4fP6DIU0Sq#aYEFDL'A [ecD9Kh*J(MHK9p!)TLYpQM8!j)[UVB@'(Ei0`MplU98cmbLUQHB9hc5[T,fILN% p3Z@X)6i+EB[QF"V&d9d8Qp!ck#f6hqqC+)-'4TcSFG)@9)jc6ZE)8MNLV2[+(-l q(+3K8Qre"1Je@m%jS,(0MEbj51TeFIlrVkIN!5"pF5E&)Cq$BL82B%f2Y$r5'Le Z0mrU1qi+pBiScde9Gm52Xe8ImplV)m9BprF2p2A%+YPAfdE9ShPpI8fL(Zk*Ljc SkfXdTP[fbG*+rbV$6,l"@LYdUHkqqA*5Rj!!,bmkJe@4RLlJ%[*dp@(JVr+dbca Y[ihe%bj5,k+i'!pF0!6eK(+Q8BpNIhl"qbf3!0299rIZ$r%KY@rHbF0MmHT8c%* U'pI0-jjUh#0bk"jFQVKSIccTa6QSK@BX9Fe1+Z)HkkXRM@,KDfDH`4SZeI3N-*a pIi0C-eDFKV!h9Dp``%1%fX+S,5c5FII,rS-A)+i2rmQhaEbj9-hba*2cRJhXDL" p4YqUq"*b[)GAb214[q9$6iYEA`RqmhRSeU0kjqELR3Bd,-RG@ej%IbY[ZX$iR*M @KSf@(EE@(qP9L5&`@9I(+1%+9p11J-3E#(qcam$RJVR+2bL+mf%A)'`L6`[fL2# q%m[6eHqRc*HHbBIE2XpFE`CjV,(Vj5VP*b+0)58IhPlNf06'RKA'qP65Cm)Gl1P +SQrSD14l#+'2DH3PdY%,dQ')5iBR2-pHarC4l(YPACTj,R*42[)Mk@(S"deL4TP )CPbdkU!F9YfX#ed0AI4IMVQK)j'H0-qU$AA0iVSd8FbHiT9L'R5S3Rb6RbP9qUr L$P)1dN``QcX`QefR2$([qBdX6`&d3YB,li3HK,e,T#8DMd)6URDi%H28[IKq9'6 42FdLBV,eH)FlIpHYhmXrG1Z1m&Ei!CT&)qZ86D)Zr(@HQiVX8I"UdR`9dTiKc0' -jaYcd'[%&+,QP+Bl%B2HKQIp%r*9qU)k$@,CMc8'fTMi6KTd5YCAP@jc*$aMMcY R&-p("h+3!'C$0C956HK6'YF&r3FeRADb*SIU0HSDIDUZpUJqLKkfI%`iZ)HM93q GUSGA3@Y#lHre%(iqkArbE2Ye$q'$HVr@V2"9qp`d#kU(kHrem%lJ1qD2DN00l)F ifF2dArG3fiXimPpB2D5Hr@F2+`lqTBGDaFNHCUQkjh(rd&-eMeP8(hNV80ZD$hZ C&HZP3*cdNmYHNTINrqlPUIQ2p9*Xl1qPdZ&[3,jH6(Y%BGUIkbG-irSrHIYre*r @ArmT2l5&he3(I0!2cJFrEJA(Kjk80"paj,e([m+S,iRbB&m"qjkB*q*1HDl5k!i mfGlZC6pUUr%-IbFCcm,rP0#A%hI3imKAHJ4hJRNpDU"D+Bjd-D-&[D"BmPQ,c$6 D'm#FYEF1"r8&Z`932r,$Umfp3MchB#PUaMIPSRjb2EMA@c)jecc%-)H#cSpBbL@ -9Z**U*AZ+-BZDf&ZBcpRIlX@1@EJe12K8aG10qk2'p#V%A1m(I9&Frh@%pbbUq9 "H"U9*L[+AHb[9[d"VbI1"Fj)[SBA$2"9dJUS0p*R&MQ!Z1S2Fh9qP)Yf%e"pa0P M0GEeji@I!E-A1A!aI$cjMa[`[*lJA5lKGi!hdK2+qa0d,hL`p%HNFijH,l*cmH- R9X2(['I$0Y5&A4E`Vl+[#$%TIrB&@jiqQJrS!F2+SBhdeGG1(NVLe1VH!"p2SKl "@jdN[Ah[VY'ASMqdSk3hla,MIYkYJCVJ3m(q&0CA#+mNVZ6Sm@maaP#-X961-Zi %hC%2P$"K`mZiEfjjN!$kfVll[hRVqRY)Q&`Q&Rc,`QRdj!2I*q@PhQGM0V'(Sp9 ek#EUH6UdLL0Ge*0Pd#d)Jq2LbHpq(0i`l5EUbmd6'UGMLiQDaE62)@B6BS(jlb, 2AMd&'Q%+2"R`D*!!0NfDm+V2`(HH`Rh*QRifI21$KKe$[+-YQ6!qU@$9@P[Z)X0 q-G8$I-aU6j+q4p5M)bjMd6haZ@&cGKheG98i-E3i)R)AhC)`-rcMMc8ZZXIq5Qp FBHkLDk0aj"G2[`@l8NJr)3k!r5JDH6+SIi[@fVI"be5JjLATFm!NUjGkYGYYc4E 2#(+S'ER!YHXQmLml-5H[3H0aGG'm)RIIV*aSLmGL!p3i(AjL@JV30a1PdCQi-6S 6H@f*5[XA5iKc1DP2fFNm)fRPaT!!RYr1apT6mk(ISqDM&A0`H%*d2Q4FB@jjEac k,kBYZMRKBRbRi(iQm5E+%hiYX@(9Tcl@'(lTmZfd9iE`!rh8U*qBQbVf*3fLhN@ b0k(AY)I'QKI#ilDRD6&!`N`pJAGC-(pMEaYQ6qf9-8rYBHRheE+AQI@KFSd`61e $q#AZ!A0CbhX@!LVa0ZPYSCdI+45$h8"D'hJ)DAqEJ-@)2DTkP-kDTY,!V9j3MpU f)!iH,AdE6YQVEUke@Y9+04'I8EAU98jhc*[0H`"Bmm)Fip[@ab%f+@p0q9HIJRG 5qNFZPCkYaBp6cfN1`QELqH5EkG6%!X55eqBfj-0H*MI249m1hXP$HH"0ZCRb8$l 8FK22$h)`"kjXDFAG01)9+Ur9$r!$mRl)(8SIqF)rj*B'l5l3liDr(hjYpST4RmG DI@DpSa'l*,5[hL[F'ji55p'$(2EBNTk*A-5YF4GRH@V*@iVH9H11GSc%U6[bpGR S6Xl(*FZjpa@*dh*%j%Adm+K9)qV,2PPIYDS2rR3a$6dSalGEeA'4US2QS)$b!f1 @kZ*Rj-ZK214aScb6qr+NU6cP9Kk9)k-[ac9rMD$RXq@q-G6(FpcFdNVpEbFFNM@ R`*qdY(H144Z`dKMJ[*Er'VVa6FLC4PJ)(#G1$S`'[N@a-A+%2FDS4kr)GQpD)qr )fm4i*6&X!Ah$Rp-'rp%9XPq,c[jM[dlL$[Xe2pSG%m8D#fHJea0I`6GjCJ[JV@1 rQDSV#cYjp,Q4ldR01,U[Cm3hPIqJ@['QDq$ESrPFXZ'Jp'raV%NFAKVY+rGb(Zp eqX2X9IaZpNjap,Q4rE`Rj(FlFe5Z,ZM4Y$p*lLbUk,`(@1#eX0p9FHqAFEq)lq1 `RkfCr'Ie+ee9pGG*Mp4XePP9RmKIjmS4LCKYH+c&X(GVb+Z1ZMl552ki)mZDa`l J[[5VLAR@(KM#@Z*)d$Q6PFGhb#EFXrG)aJe4RZKNLL0146i1`K9JcKjC%fZ9fCf VK%hjh'ec)frc6SZF1-S6e4NGP)2e8Hb-J2CMlD(i[Hi6h@Y8fG)&h(ZZ6*3db*e 6*DcRbMfjm'qbek+%H45q2kHq[kLqH9qDa,+5Ce5-fUp9mV,krVRb`QZEE'[XIjT jjX$3l)j"5dXLh3lHGTVY20GKlVH6p!)e3l4R*%R(5Ql%EADp!XpK)V4-)f*+lm5 FG93lI#kN8B$IcfQ+hVH)QChB1dAH)2dPdV("!a,Cecf%IC!!UKCSYdGT(j`"lDN 61f1T(eccMG!d2q0N(cBdVTRKh96$TBclX[C,ar)G-2KhqdB'm#Ar8(X12*(*%XF ZHBTa$(bD[-cB-F3l#X-lL31+1)SMAC[i&Hk*(k6MVJcmNr`jm8A0QKe,VSRhNfr ,*RdT'Ra*Tm[p&UJ60E,2S8bN-hl3,LrNJpHG2CE)*hI8B-FdkTp[l5IE#iaP2Cc Le*bQNAk"("09MXl&1ePMk9"a3cKICFX4iPR36BR(J![+Z2)+cNAhV226[G)dH"G KH#YTST2C6kak0%r99dMaaPfBQI[DXEpL2[-@P32l`$K(ZT@M6*c$1l&9r1phqra Zp`afdjR!"1cMbQ+rNZTI1qfk`H`PX2q3!122r,MLB(l%$PAH1r+B%6CY,K1PV(Z Sq`ldlmYUIV*kFmcrfj-jj,j#h!-6Z$jjGaEc[j1pr6d'4IP!Ll"46mZ0f6-*5bJ hkB28Yh,MJji0HVmImhMrh[XpQrI1bCl*[A[FTbc*!fA2H%mepHa2qfFki&'#"fi qk`+'E3diRF-0,"PAC'JkiRMr"VMUJIE+0B)iPr)[C$'[`@i9rIjc'TRI`&rHbfp )'bYK2)[b(aR2[!HHl!,8F8C4%rCb90iQGbVfqAd4IbRf'rd8GC*'-K1mF+EDdj' +[S+rRC!!Zl9lBcp0A"lIPc-rV@cTCTj%A&$QieeL`+bC`"A+&iFmQmXVRU@lHB3 c+JpV!+60Jl-AJ#Gq%AIN`FIG1h0`9b2[hMf0Z$m`RI9@k%I-)j(r*XU[iJMVXE1 %qMlhdfSZXS([-hAMaMV%N`lJ`$imfKhKNRaNVTbhNr[qrVKl$"c2"0BF)dl9XN9 XPRk(NRrK@KkAZ0$j$2crm"[SZa1RNBp0Yim'a`P(S"0[GP8C'[T`9)HI8+p1R%B l9TQ,X5p*cM(jbV%,C"Va2jcB'mPF,kTM5Ki*6`Rb8!cRBIhR%,am6RGi-q8VC4f "Fj!!0N+m%EXNU9pIE4@Ci%i[@['G6iX#r@Rd#RUTh&Pf#I0KaMrdN@,d&Z+VPc, ISMUSrjfl4B'DrI[CJidDD#H493IZi&Qj41UCFNkB,lJUfmQIDR%dc(,2Lk5IB6m JHaErqlibq$,KchJ5H()KFAepcB4'k*Fe`,H+8rMQ-PB4GU)2`'GjPiLl!R8h#(G jZ,2K,SiiJ,UMI"K-[SYRE8rH*C@h'11J6@1ZiclBSFUqS+V%DCefpLH4YTU+Zdb e8m!"h!1(+f,GX9G,HjmlI,M6SKfBFk5PXQ9['rKCI[1Y2F3,X'H8F+LV9jH,1kj m%GQ@K`Ql,q6ZN!!@D"*af%@,R4kiRdGk+R$lJ1+b!a`$[YD,,6i-MR%amqFqMN( ajm[iLfFTVP&)Zc%NhiLVF&9qYZ282)C,b'-jPRF8+pkj9H*f[Y3K1$jIkLmHF5P UBpfF-3IhQ,(00'Hd3lK-c'5HTZT`'T@Y*b`[$H%QiVN1h[dB&Tr!2HXlXUkCVe[ i*cRI6,Q(9ID#G5A*4@fE9@l@MrVbI92@CU1p,B9c)rrfUZb$V8EPV9DpCVe#aFl $M#a!MFA%ZFVeK*RS94h00@E'hVIVU)pr[F(HHi@C5JHKA9FT8NpT)@mdh[M#[4M *ZrbYIB859dGDZdh4%ffIaF0i$j-KKUMDLD-GCLl`+1Y-QcYYV6fN-h9@J4[!GdX k-qemSIeq%XGQAY@,BeSMp3'Br)kFIHMePCmY2$AlU$H1q3*U4SpbC(praTM2ZVU AGZ$er+h86hVh$DUCS(fV+8T$)ce%G0l!AVc0b,P+jA6bI)+ANBH,HmFHN!!5bGq *rk"2P"2mk&8j-q0B8e%eTU1r910ipXe,lX6m4ZN5f!r'Xrj&K6QkLP-Bm!ZILS0 QcA%9DRGM(fpprG[-@f@Fa9Z"TD@XLbMH@Rb5Yj,1TRKV+H13!0*(SVYa6Zhpq#9 hICGf%jXYc5hGe0ImAHdjK*A%C9(M-@$,rBS,E!BQ`(I*[@QA@Yj&[2p,kDl!`[b l&)iLGJVV!p,E`E[aVP%lf66PRCL(1fKjST5iPV8r3'RcHDM9iS(XBGIMiKShbEe )&5I[hG3hc$,VLVdiA-)iV')PEj9hl"qQ'YUK6DZG'E3$$lXeLA0Ti*MDlhGLIU4 cNYj"I)bi%qQGLSXG)la@@+VfEh,2M[ET%fPYd*,9(N$i(9qI#Vjb91j-1jrRLIf jk"elaS#aKUeP*hCX(qAqiF4h%NjlVaj+R$Q*hmB"lXbkLm+I1NX$YIEVB9pA(,b 2fTh[@Tk%mlpYkE1iKaILI+RAaKdM265&q1'G,eQm`59e2P[,BqM(#@K8HG4ImP2 dH5MqDeIf)I$DA5fNlc+I9E2cX,ArQZB%p@e&,kD4[Q(Y+N-rip&2UTekDkFl1I0 MT(i!VU`d$ik611(Lr8YPBM6[r&9m+Nl0%Hp(9Vb%CjGfR[61Fq3B1)E#r-KKe*I (Z),kZ2Brp2k*Tb,GdCeP+q$$f)4G"i3Mc5dQi3KkIi6U*%a@H+c``hjBBZ`dU6r $"))leQe3[fd6i3,(M*E[0"Rc01fq0@kj%(F6Q)qpLES5C[`#qRT6h%Edr!2p$aS 2l5%D3[UG[!1h"bCKM`IYmdM#0qq44&e*9#[0dYc)6cA#8q`C55+pLANKGQ,VFI! kd`j,ZA-5Xa[h!ZdfdcZ`Yk%DR!bF(2k&!RMd+!r[XD%D53HPmf6Z6Ce2L)3FH*b JqkHK9XiPY62Nmd)rNrYQJDA(,qrYcEpk1qm@#E`A0Qi#r0FC1"hZX00*ISZGU#- &1a+*LlPiMbCi*IGHlYkNANLIXYV"fEH2Nc3KRHTXIKUp[%lf8Q&51[N%9Mrce8E 5imT%!HYir)B3&BFBpR&JVTfVGp2p60icJIUX@P1S*ZS2c`MYEQ(XPRZBD4q(2RS 2q(F%A0'QIpM(3Ip((fd&IqPM2[Z4hqpM[Z@I'56lH0'preXI0H#al#2ir%l#"%Y El'`9@dNMM@ULdCRqf5VUdCG+H%FAlD$j28lPAihk&&DTr3Al8'Zjj#rR+eq#9XU Bmd1DMlc,fAra*,KZI"ja(SHq"GVA'RKSYZ8"+kC29he0!Sj5lp3-m4eK`3R'R(k YJ6aE6F)N$C!!G!I5bFV%$0Br,Ac#2H[1b,qMEiDR8@eh6[MV!cJdJhR$qr-lRA8 ZiJGbI[1C*rm2(2S!Kk2cHZaEq6I!Li6pGd90EaZiIj`j9C5M+0m1mjNmpXQ%iji QRe&8`hJ%21QMh@8&4[NX9qZ5FRkA"2-L&r0mH+j@NLBN[8[#b"QrLRFJZLVHTEF $e#%2lfN&Cf,I+1ljZlmHa2"mUPU`ZmJe5ZBkRrQLUJekQiYe503LjiIMA1cVqpd 1SRkI5TQi82Q9,[bDr$l2ZZG[p!!eAFKq'HS4HEM+Uq`cU9G@R-UKI'r6f&Il'kp errXH+PB*9r-DD0Q6je"1H%bJjka*Fc@h&b1'jk6!+,f#BeU[[!)adMp!pqbRQkc d2ZMQcHfAijlR!AA!Sl`Q&6&A)NEUE(3[Fl*qM*`fa0pC*R+B6b!Rp)8e+BL"YbD (G3Lqjj`jV-YDpIealc4lQ@5p`-@T2)rU(MVr92CCUYUJldpPR9VG8cl@Vp8pCQ- Upd[G*q#HF8VGJj019IhYpB'4GJBmilU`Zj2IU+)dQ1lH2Z5alYaECjl8UD*ejE% 2dI)INAlILAI,X(I!dV1M2FaMAmqIFU'rHB`2ImU&AZF9@ERkY%"VPUJ@pLhmcZI d5mha(C2m-[!kX5H5r$+NahbT"AY0X@0BD62`11DarN8jS2-mS,M-ERS(`BD$fND +)ld$I'plZdIl21mVm@KYi)kGA8hDhGKA[)9LX,2N!G5&pdAN5EqYp0$UPSj,rNR +5rk"pLDYFd16pL$f(cq-'[m114NAC8lY"2HQ5H[Uil$B*DV"Uk#ePBPXRQH9Dkq -NI1KBY!$l5MhMIA622C9'KlX8fjZIj&jc%'Y`-A[IXKM[S%pZq66)UhM`8j0+kE Fd+q`lc12H3Me&l[J(U$[YRZefDKj0MMHG[*qPiP*dMF)rdEl[CJA04piDmCfc!2 2#fDq%lfqHp1pfKIHRj8TV*pDAQRPdGq(ZB&rF3VM%QB1A(S+mhlL*EKrJ6J*hPD bQ1E)96@(BKkNHIhU33e[-D&jQ-+kJ*T"fV9UScQ9XEPFPiTGqjIjc'AG@q9FmX[ ja"Y2S[0j&Z1abNAlVUPQePp8M)0RXd9Jcp`8T3[#XaA&SbN+pbfp1iIe!mi*$)+ R3hSbT*FjUcG[V[5"dIaCfV8GhLM0PZh+X!%RreeVITr6Y1`PVJeG3ANFIXcq8F8 Y#U1BMYdAj2(YM!HQB`kN0d6b'1bME+)mPSHK6!b41prq`"94ZdPDAD`qH(#R-Sp 'I4Pri@HRH[PD[eBp$9VVF$@AI6l0UC*[[0Hr&*kl2qrkMpA0qcP9h3@rR5(iRI+ L2YAHqJGEAXKrRarSZU`*d'j8)a`aYP%rmaKr8!1r0HS[EqpiYiXm"ZcGAhdMp)b c'9qJqI1Z*0P(ECld9+mL$h@&p&j!"f([KBBpFUZ`Yi*mdq,K-(aVbQY0ZMTL(-S l))i4cbHIXY4%*R'G8RZHT(`bBUr+RdMi3eU*p'Q,Kh&(1pI)id&jYZ*ZN!$d3iY 0`)LAmBhp*aUr#`ChH0p92,p9!RH0I9jYIlqA&,(AU(S6%&ZUkL@2&1d,)BmiqXV e8SiN9@mfG2U[i4Y[EhPR+ViGq2idp4VI"r%0RHVGUrTU*Sm9DXf9IYqB*q4ARQ2 EQR6P8B"h)NIjVh+B0bJZCAP!b!m'c5D(H3Dd$hKQN9[bElb43-E"fmfk[V@ca)T 62U)XbQR9alci%0fImj2rSIpJVeD4`MeiF-jKA36Ir6`CEa2MQT5[l4bjKq$2Z`r J9H@p0Nqc6c@(Gq52Kir%`!kY,5IFm%Z5,USdS61Mq`EBDr+(Yk`mN4(CVE$`Q0i )(2`FGPJmK,G6I!rlhYl1Ek4h*c4RYTJc$VAr*2`[f#Gai!eq`aI[PX"1GI54kp@ [)peX!ZX-dTFhJIQNh0XjJI8iqGk+#G*Ip"$[kGaKV)(@'FrHbChS!piJ0S&j3@H 6H!5lHhCdHX36B6-6rAb,BRELIMIYkb&Y&2T[pqUUZ2fNFi+6FYlQ6ALMdZeEF'q V@2ddG&UHL8P5reJ"AR#'X0-ELE!6U"(ekSK*3JcH#r*jm("K)+E9q"YidmjJE)K $ApS3XaBa$X5NijlfJ'r%[42h@ELRrH#EFCq0qacFdpl`VEM2`rddh(Ib6Zqr!98 j!lT-NqM#rF2`%l%ZLKVKNFeN2i2%SNcQpHMc,ZShq$$d3XU4*IRDTbh0ibbH1mN KcQDpLcc"G!mG%VMmGIB[@RZYjdDq+pm1`cZ3!#BaRREH+jlP'Z-M4mNM)1Z8mdG jX*1&GqI5RMQZJfGT!Z2AbIi-3acc,m446EZJihIVeDK*jQ6p41*#"Z1Ha)8-kA0 M(-pJ[-$-dic[@Phi9KVHqj4'EhQM'P%$pjphb$RNQd2ddhKrAPVEDG+c2H0VY*F VFPJ2GETG,I!C')b,+I4Q,I)AF9eA[09A8bEVTDXIrP)M[e-"rQVbK8HeZrikm4B U`K0S8e,2IbrfR8d5JmjNhUlb50e9`ek!$#f9pAGJl4rIA-$qGhM)`)[Ccr1P,H6 4IqYPa5h`9VXce6k&XhM2JZ)@qhUeP!R5GmpFibc@XD-qi!V5'61PlXcqh3QXcf+ fSAq2jhSS,m9#Sk5pE1a[Jji)$9Zii5mPVP6'1Z*pR'Gcj`rKIdDqcJLm`p"SL12 5VJ'DHkU&[12kMALAd8(',-DTr-hBZB[CK)GN"r`+9$[c*25@FH,2Ea)iYAZGGb& cIbEbrJI#ESQ6%aQA9$ak2T&epMrj#D*eB8kN2a0D"pe$&dh#fbjkD(FaaH!q@Gh 282FTd!CT6hq"ZKqUlU&KC5Rr3jEPlif6(YSXRP[d+*9Q4Z*kPTU,,0khp9(2@!Z ",XRl*'Rr*qdea0j)mYVmLPFVlDRP*FBAq!21NMjYH#'JccLJdm!l1QSrlT,SV3L dPi"`P2#3!0m8`eJYjrL2@[9l1e(H4EehmjjVfTA$1`VD`If`pc1&Dep$-a)jKYf "3i%pm8Sr51Ij`I[YS+mQdAj-fKrEK6[@MD#EmkaJ(cVjM,NR2e3cHMqm6cI#Bj- !hp%DH1MXFI[arU#Y&)ph%fe&V)0bk(EX%)fhT@'r)hY[81G3e!HprLcT!rM,MK6 '#MQcBjMI5Ya)[j8jc6eL41GiFASRpRc6Zd"`KphD`-@AH1pDJDXemVS,l`b#lQR jmZ'4(aIGmiFlpKPKCU!pMQ@p52TmdRq$#lrY$r-S@GHBU,k"ZRMr!,cid+h'-Sp KV+#p&pK65KiUPBGp@fV(jcXb4Z-hc&"Zc"#dZ,(XCeAjT(pBeQlKqfrkeBmEV$( +[8bES6&ZjAe,f&Q)f8fbjMUm1firBJT`r`Rb-K*HdEj)l!Z91cZm0ZabNcZF'"[ Kff*H5'mb)ii5h8%ce[),#Y)f9)cdGrc2A8fd#dcZj-KL[XYF3Yj,Rp(Gd'eN(j3 [KrS*lJPr!1pBa&jBh[2"1G1P[qArp-(5ALM-EhicGNB4RdXAmF6A#&IT2VpbhH6 miR8cmM2A&HEEePdqip!k6rkKGDXHH*VHj'&,NCjj"q14e'e'-DjerN#FEZd%BDh K@@$A[j&[CJcM!VfIV*HrM*DkKTapL5rJD(hac%ra$K!hGJ218$&F*lpji3kZLh% Glj[LZU(j[)iBaMdmkJ*B0BTp0EJEJ6[f@H%1R'Q8aDrXdSFhQRNlk3jc)prLYd' 5VN(hF[j'-`qLH92jj&iPj88L244m*%4l4T6'5rX5k$dd0,ZlP9Dl'6(drUikdMV Q4[EbcL@Z%rHU6QZ[8$[YI%F1q6j%bS&lP82a2Z%RA3%jj&Xj+!IZ93lZ1r&aHQX GFV$q5cRSAZ9JA`c[cfHmhX[[4H-kSRai&1X*NPZ-BVi#V-EXRk(dLerl"r&QRD2 pEaq$VU8chY#1-[LJ#$qXA5*IfNdleNqAHL$Mf4NmppM$S'-[9lU-bH!qB&Ip5QM Z6YFUeXpC0m3-3e-pJh8THT1+ZTIe90aB&rB#-qdii3Z&PR8%Er$BVqmmZ0p9(6P "fMem)[[e*l6p9+F,[!qHRL6T$6U$I5Hb9U9,)3FdpBZJBFGMKeiUiD9V#m4GdTY TEm-f@eVRAH*dH&)kL,FK,mmcjlX,qfK@S8I)bIVNPXJEdE`GfE4ISB2i2A*+AR% AlQRh',rI)+U$ZM"Ai(mCV!G!qhN9rSf,j%bH,RPCrmj`c1%(rJKirBPE`"FKF'i Ql4rhT11IVRC(T%AhES*hU,fE+CJ*dRI5$HaAl[`'10BA`*m6`8[ZarYDRX%-b4T 1SjlLq`aq%mqcH"I(l[-`-frp(2XjE[qMlq+$GfEG0B(fqZdPVLIa2dhU0I`HP02 N1i"i&je$kMDiSjhrm&&J4XD`,U-dX!lfcL,qr4df$ZBP5J-lJ$f+3bN2pX0mQA0 Y*8j%Zar([eZ$Ym1"DdZqURJRc@DR9hPAj0lS2(!4l#riChicQYU,)R8+a(%pV1H -C6i",$NE-e@YpRFdUAH6&2"11RlIUH3Cf(Pb&AZN+PZAi,e,1q8EKXDa2UTfr(& 1UEQ2PRSUml*adNFJCdIki2k[pfM"YlVZ$Z1q9YSK3$U5(AX6ZU#&djY6AL$[0Hh LcVr[eKl%P#+Q$$'-9E42!6(c%%2l$QQ2GaV0-@,+%E-%Q1C!$,fYT*!!hdkPL3V %d0jkdXfVF9q$qfcFNflZahdGl[0`6lTj#2H0Z(IKRR4c(IGi&qN)aX8fq*lIhr[ b2,mr9-@4GP5!ZZRYSP)2T$F+dKj5c"LqqFdbq(k-FN!RK'GQ"20rZBYT"2-6fRZ -f&,T!C4eY'%'P,HN$Yrjd*pemR9McfXTl@m$,T@#Rq6LAAhE+4I`2Y!IMlI+@A% 0X6MXPAJrMRGP9DklQh[4)BEMh5ZXfk$1Im8GmbCimeR,8,[0VCe9EF4cp'r!br& 0R-qG4ek!IG5MkCJEj'BGlf61FVPlEcMc2f!Dq-T`pL[K$Kal11Y2Z-1X$,Id+V` MG36V9G$@NZ!Vq!GSlFm40iBAB%pibb4iRr!H-fJDQ$XhG,JNj%QQH"AM3%`bpS& %G6r8PdacS&HmZKrI+G"1mBCAVLqj2dCb`H'-Ne3lDCH)G5"fIc6Z-A&PjfCa0E` &,l!@L2h8q9@4)f(D)i$GBBKGdTNZVL&Y$VT,1M5'iq50BYki5S[@L[U)pp#X2)L lSHUZ!hAYecp(YH`KhBBmp036UFpMAjHm6jAmPMMUU-J,c&%V[YhAUe6Q#jLA&m+ N!D%AQ)Yi(IS@p%d(FAES'Y`Rj0M2Ec3MIGBqY)lQ9@r90ZVh6dU6[$D9p6IQFSM &[SkKf29"r)jLVAd50*[l-DX[50kRiSK$932,lH4,P4`!Xi`q49j(RliMlhJrmhl F[B#iRr&X)"IZm0iTXDp[MXR2X3rm6HUfZ+-Gm(L$'1h8%+[1QYZi+RZZa+6leML T$pLR$Va*PESQHJ&2ESI%Se6@Ml$EiVRIpQIrlfU2kXA)#bqje$e`*rPDU[6$bjS hdcI[-H*G9X2B[iBj5PCq4G(9!Md5GlbE$prB9I-!I@1[aNf5U`pPAUCf)89hL(r dEV8qlE!G1%plHlUX(A1ih`(Z)hNAlHCSEU@GFc1a@pp1Hp23ef,5rK(MkP#H!f# 2pCiXl2JH`R-$lAN*G'I#MNZMf$&fD&hiFAT(lP$Q1r+0GN1C"d'c[K,jVYC*@i' 2"l084R[+D0F,r('BXEIhkadrNjj'm"E8E29Ed"`cjm!E*r92!Iq)Yf#q*HFB`[b 0DUAhfUPG6-#IiBTrDG@5e`k4l`0M6M*%pV1#[,G$1)r-1B6lK[VKUaM1HKKl 2SMiFFjRL3[48qS`Uece"ZkqCSc(Q$9Il%fK[bK$,$dMe-Sq@HN3UmjeS64hBL5M VQSZkf!H0ZRCc6BE)8&M+[U+qR(09cNmLTkbcFYf29%k(bXPqJlkFRe3jkp%2k4H YA"G418HVR0Cq$0S*M,f$`pMATIBS(C9cP#Te%mD#`FU(q@YrcBIDRT1d2GGpkdF $me,SrD+Zb[@Ci15X#4"1!CZfmPZIb(2I%MP"IX&@[)Z@G)50p$i(j+'hh1)qLI! +pp"NKXSpPFc2NaNhq[$TJ5JqM3%qh8$i0&MZ)i&HK$[T2rXP2R8b2Z'Y0-bEL,Y e(%UM0qZK6Zbi'FVm+SC2@h[a+9RZkHTpB`c2&r*Eq`LA5&p$-ZXf%Lq5C6mC4j) jMiVM[P(pQ0PcDHqPDkGQadcM63`Tc!rPAVXRf,1Xkq#'f2[BKMfRi#fDhRS)p5B c,fQMRA,3LjJ6khKR4e9bfTeE4#(PKpm[!cA`Q`a92Da0mBiFLVmApHqNYdJ-PAi [mMlXa0YHb*Z&1C!!mc'Bp3fTa3jM(CMQME8fMKmQm9hfdSGHRSXDYU'A`2l"V%[ 5A)5rJ2GUGZ,miSmE0a!Qb0R+8Y`1XjmXpkm$9q!AA`H1ZNrK&pj8PF*iUV5k(I6 H+I8f-Khip3Kb`"qDBZe6i$hAL'd(RZhQYf3d3pG"(Z53!2`4G`V[m6kUBFb$9&l D`Ei%m3p#Jhj%kR$$q[Ic&`$(5!ZeDXa"M3qa(L2IpNAl`%N,S0K8U4QrZTabbTh 5N6`e4h,I0q0&#ZXT8YH8FDJIq*FNI5HD`$YQXG[ST+Ela%(VEAKi1`0fQ`',Ek3 p63U,El1`1,pj`c"JmAEX1X0qI1Kbk"HpF`SDp)P@UGIC0q)0[AKEKm4Mk-dGd2# !-jpSKjq'r%rjl'8B,2HRHQL2G`,V1p#dPh51C@aq1)V0Si(09a-f*l'q+[IQ*%P IaPh!jV([BI0$[m6QYp,#TI"%H'MI`f$f5a0'N!#rJ6!T21MTaR!b[!lSD5mf*c* I)qc!'dMPZcXCQ`GchHUp8r2Nl#A+r8,Xbdb8I)la19(kSf@FjArF$NaE!"b!4U) e!02J'jGc+I(dd9(bA@)+RrmH1,Z#m2Nl`1F%U8I#@qaUAXr[Yp+[9rJ-2jl-r`L rbdMGm@k'2QcH,V%jfH*re)XcC#r!0ENALC,rBCmRHXdmK[e%K'ebIRK1qhBpNUr !kZPde(%hkTL21YL23r-4AS0hNb9LaT*`BYBfd"[kD0DL1*dJpi'3!(iPDrQjV%A ,8lA`2KIAI4Y'FchrAS[8kI&'*2A@#+U(I)Ypp56)[8prk3hliATlSme3Y9bRDT' q$TUjqcCN8%ekBP`MX,84Z%Qqlj2ea-[hC4$IBGr1bfp#Kb#r,2%5[(NlNHY4qb$ @JTFmTRJ*q9HI43lS58Rpr!+m3+X'TZ2GJALlCM2f(L#20Aq88qf#J&G)cRd[,p& b%,m$[14Cb8XN2jDm4%Y&66YdBE,2%fpMSYh'Z0pRhG[k-)!i"@,aMNXC'`Gm*dk c9r'@hBKrSY`16S1GVAKV`PA)QBj[q'r`CS!i['&-[LQLRR#@DT8lE`q[#6H5GeZ d)RB"FZ6JZaEI@IJZ96A31a+T"XQ6X!G5e@#6mh@i52@LX+pIdj!!KrIbBVkHSrf pG+IHKMH'H$Me8(UQ$QZ8Il'JHAch'XQT"M%IPalc3Ec[Ukqf9-U,11DeLKp)[BL jQBc$h)(cf(K2"2R#qR@l4m$$L*-e06IeY&-Z[&2&Q#IIi8al(K'h14DApqXiBem X6X6UD2peA(0+,0m,XELF@&ajV,k"I"YMrDZ1j6X@LlXQ9NGf,'j2V)k1@,k"1&H XMYCBA&dXlNKXEJEQB'HX(dQaZ)'jA"[,jiM9lBrPbiVP-f,jBR8dPFEblBle,be @4eFXVM0@h`$ZKQ*e$m30i-(4@0d$Z"[VYe%4bqH1j5Z-jDZ*a4f1a8f,eGFGQi2 Bh$FAa1SBL"[!dI4B[UfaI'@aZ"J2D'k,jB[KX6'!+hYMF6%HB0KMG3r-f3#I'*L R'%idah$#L1&SmlaBh32cGc`@YbP@pi1aZQ0id"c$a@CR,#k'Cdf0XAi-i1*MXA` a[Q[%kQZ+mEEQ!C`Hi,@aI%DX6mda[Y8F`k(Q')iD!ca-Mm80m*)B(c*LHSPa)PE (J#ib`0X'H1d!Ei[KQ4(VGh0-RfL+pDmjaVq0Q&l5&--rBi$(a(Krmi!q0+$6a2) eaI$E'0!$GX6U(TLRQ,jP$1JSUE%qaIKCFdc2-')kA2-!ILq*a3h`9c-@&q-aaS& Bh!!rLme0mi!q0-!cB[T6dd$r"R5lf(`d$HK*-CaSHMJ@&jZ2TTK1B`cSL$%Ge"M 343EQH`!2"[5EJEl'F0f)mEQQ!4imS#X2k))a[YidJ+m$2'C!MaR32`E`,-BlM9J rQQ2mZrPAID9lLU0lLU1BNN$GbKQ$R%kR@&MPmA[P99&eYE`S$rSmkQVbrrSPLr) DAlfcIQ9pb,[Ff9$[VAG1V(C@VJcKSXiEG*CHYUKihLbRqiTC*A-@cVPXJA0&)&L GQbb+JN(25QHplhU[mb*Nc(&HYR4T[6I%PkJT%2,iRFZpb`2"PFkJpp-0[U#hQQ* cTbjecLp'rPQHUKSRLJ`j8Af`SCDU$[Q@HqYcR*80)@HJeVmb@B4U[-j*P8JbL@1 G5`0"TjF5)bGD4Afi+Y!3G&Ej!eAA1TF&2E80INr3&eSjT5lSVI,9q`+e6NpGRGF 6V(H'!Xj+,e@jh&F9$04lU`+eeI@r+H"N@Vqh(PFeRPSdaYYI`AZGV26k!bZF+ha q[c2NZGD,A-L*cf!e"LQ`p-2L-ElC0$'U!5&IeEAeCbH,1E993DqRhX[THFD3!*h Z2$4ep8iIhG,8eJ4@F&p#b@*PS!(KAQGY)14FjJf&I,A,R*i31ZG"Cml0kkq3!!H E1SB1,#kkBX'F"CFi*dpfPP1"PB(V[$4H0)"1Mc-BD&K@iec@i+[fqRfeAL5FM4Q NNF4BecIi3jMA1UV45f05hi!'8#1ZVF8JS'(*SRF3d8+%"LfSSB%18Md0Y98Ka!2 +V[#%[-lXqF96kXr'B&`aIb%R'H5Flm-Jb4Y2)pmNLiRe%kG1cCffe1Rmp6FHTNI l"-5JIAA`*f-&l9'XFXTfm0hJ0(aLi`VI)8k8icPfq+@8ikj4aJfaifiYeLE5A6[ Z0XQlSGQSiaTj0f`hiUT6q5i9FD*!jNkYlXda(+m+eI,NhBKMZ20MT3"qDGG3$[* mB8A0$Z6'5m$TGcUeU&c@FESIGeRUMRVJNRdkI3rZr2,ZM'QSSe$H18*B'G#DMEG 1S28R$'%$1D$IH038jmMMZm`mV*`A-YpCZ0-fbajNld@1RI*ZmJZ)QbCl0L8*YHk 4qDEXSal)ITblP[SYimkMZ6NJqcH0DYSVFjrIJcKXT+(I"AKCXAK"jVJ3IE,kHZ% Qh,A,1"I08$IRAM-Z-lkYf6BX[['cYYZH(jNG[f4Nf@d2h(E$ECIH0[,@(pkkjpD eYmkp06PcC%e6h*!![&GU2)r@L,@[L,@la0S1X4C,a1H*Y82@IlCQrISMSYd8Rme DIdGkI'Dl'6pKrBE(QZ*JehT`rFCjf)'dIQ2THVK#Niq+a$`aU&%-FSP"&iMN!T' F,C,(Lq6"BY"a-HJ9-HJIaD!Ra+!GkcGfBk1(5(jBa1H*`9RV0liJiPdL[P#NC)Q 8#mL`QH)@+69Lb2I%N!!Gkfr[A,rqU"M5)p$Iq,,eYqm8``V&X)leYlmJKPD)S@, plGpCIrZhepqq9k4QVEpp(hBGVEqp5k5q#&1C5-9c0Dm8UCH,e'+4qK-a-N1-(#e '$K-MHX5)fm5)'m@)6$&LY"JH%F0r*)E[&X1I@(rlIM&mKaMH*BEI[Ilf!f,i(5, H,9,6aI"9BVK($,pF$#m8`fGS@F-RPq6C-Sbi561lR[e&apGqFQYKeSdfJ%K@8@k VNC*4Q*KjmE%EEA&&H59j4FHbV54*%fVmm`CRf'`CeCTe$-R8dZ4pbS5*rZU%c,0 bY3QfbqE'CDD80pZ5$BC)JMH#Vl,(m",aRGJ4lR5@Gc8djr[Rh$c`EFZmj6$1ImA jTQhL@P[4NNqYLG2`P998HCPKjkr%M-`iCj2)Y-PIkX![kEfIcIEqrA[aA%FdXMq 6+T*qlfG*dTa0BF2k&G)[HK[pfGq[15NMqP-"FIcV+l+h@[i0jpp!GifrqM!#FCN *`"06FlD%6FfdQA'QhB`h%ma%-mNFC#DEJmd8FiJje"aQTTV$c4(Q5$202-dmh6c $G*LMc0(Q'$2G('Z1-mHE6M2$c$3RQ&RQ420-mb`cfccER'5HBqDBNmeFFiUCCdi eccA2-kHCjjXAQ"HD,R1k1F2-0`[-LmbCjX9QS9PN&TXPCUNjbjaYAQ+@QA2-5mf jjMac[VR![-adQjHE9jJ,cA*cNAQPZGKFBPjPAQeqc,c'r,Mj#I16CSAT-5[0+V2 Dp*T,c@9QMHNc2f9HDrV0j@DY'6$Vc%qE3E2H$*N0jRAQ#V24A'PHEpjJkZBUFl8 C0Jfcb@`f@ma@FiejSrNCXmfmbEcC[-9FDpjUhQCqeQ`hejRVc3hQ4[0fm`lcEma 0jZI-cjYhQT[0ZmblcA[-$[0HmcjcLlR9h'EHEhl"l$5rD$jJIXPmd2bbZGhmLYP PrUhjN!$j9I0Kmf[QhjPrEqi`[fiqBMjU2QBqEMjK2QRZ0*mbGjP2Ql[0CmaRc@q BHma[QXqCcjYlc@qCrf$qSlR2r,Ej(I1Ic"I-ljVlcAmfZmdAcHqChcF2Q2pLrX$ mS@QD"me$jN[QBI0PmdIQ+qB4meAc0I2(jP(c*qDrQMmeMjQ[Qcmchc#2Qcmhrmh mKAR#I00mbhcEl$(I-Gme)eTFCZ)&BLCp&%b%P"!-DANNTp3Xpd*iF(U$`8"3Zp" AHjh(lkYfHKZp93dK6kAIkk`+9(Ze(&pY##NDkNJ1d#k`dY5(!N(2-NJ69993BE6 cN!"MZDr@3dPB@S)@S@AAqjE93R'DS1@4NK&08EXX15&ck)PQfp#K*iDD1,YalX' j$qH*S8Iikd6Qd'0DKTD5QIa3XmfHr"$rlcipdfj$9(*QmQX8p4VrpjqHQB3S@e0 Fi[VEPa#rSbmka1"--AMSU-aNhCDCr$$1Sk)TP*FhpGccTTer`B@ZkCl+UQV[8PY I4&&a5HQXfED*cR-Q6mK,b0"3TE!*,"i4UIE--`mdfkiimrMrqQHebI2Ira1k2SV +V-NmN!$94RrF(E#L*TC1k*V)q5BHYM)l-bGd3Dcjr3mk40iIIVD-5(cQa8ZDE8h a-`pF['6Q%MTR(VPi'NlF@IqCarY[mFF,D)VDLQT`r[TI@Z6'Pi[[3ML[q5$$IqB [ID&dGfN2r`qVljl52G'E8rrGaAY+0Xp1,AQBcPPYXil1DTZGf[ZIeG&rLrXGmeh cbbipIQRVJVCjHc-[A8)d1l0kPCD"Si82[TZJiCHKf6,X@SCEbh$%dm8JQl0TkY# LbJ$d8dLeLjENCdqfcrEj[DAC#l`VFR0cml-[Ur2@mN@*(bSNh5cdA1HGXK#CmYd %XJZpSBDkI(F38)cS+@i+[,c"&jTbZAe@Y5rNbPj8@afBFM@&CCFdK+DJ4Y+TTj3 J2@5p+9G5D4"1+F&#VppE&A)@qIe6LNC5RFlU3&A$FQpYb1QT4h98m!`R(MR0c3, 13rkES8hd9IZpZ9SHa0CU5)l,R'KRA8-S9jX5MI$9FN!q0&UrVdSbJ4S2K&!&qa# '0GHTB+BML!65DZGUUE,QFQpMD,%2,9f43&0e,"+a6q4)cCQad,FFbUCc$K8lj6* ZJR042C46lj)UY'+C9h-9VjcK,2B'2F&UAfh!15[A@H`*HN)KMcEMLr1pS@"JK6F )Y49UEUjck[6Tjdh'arN*cJPcYD&&YC)0130993e"%XGAe'"5RI@HkkM$CiNjVUZ djY)!UkNVI293Q!-8l%AS9HHH"E%9@VMA#@'GPGk,Y3Z65`1eCf(`N51Ka&0EjIA EkHlr"`!0$4069&*&38dJ8&"$)&918Np-6#kj!!!!!!!!!!!!!!!!D18!!!!!!!! !!!!!!!!!!!!!A6!!!,LB!!!!&J!d!3"069"53eG*43%+V"A93Uq[*rN!!#Z4!!! 'k!!!#(%!!!,G1[KcbJ!!!!!!!1C`$F"ief-Vdd[QFcFp`Yed8fji`XifjDIEPCr 4fbchZSm4jZ2l6DpEMbQKa[ADG"q,iLNqfDeADaV"AlIeXXKQ4ijYXSr`"S4YFTY &'0RNpl()FE,*J%8ii@56E@3Ef5HKQj&00Z'%%difBC[F0V+24MMCV)lXBdGZNpZ %%8Ef3,)P@`TmeB$lG[ZPK(ZqHie`XSmHBC(E5RMNpS"XXJF!C!-6J!-#d1[X!T! !!1#@,3!YH$T#J9"U&d$9Y`0Qb-6l4%mkP-,l6m1"B!M[jpi5kqm,GNEND&54lpl DeaX1qjjJb#!5LIBT!ch"%L*jS*fiABT('TlY!R#G!@MpY2[*(QAVDQ$ZTj0DDJ1 !qqGiEmIlElUf"X)!(PHXrijeH&mHkL2qRT9@1LlMIHhH&59'HqqIR*5KqYdFqa" K0GrPf%pJ$+$"bl(RiI-!0rk)Bcm'[-[[ckGRi-+E"j`[Lh3(Z#5i,eh)F'"#SL" XTAh&N!"L63$EhJN[pQVmb@BX*EFVBU49cILplX9``LhJNBkcrFAl9(!fcICe2TD $!a2K@G5&iK!i&[,2"N-@(J%!Li+N9"q`428CZHa-TJkl41a,rRkhG%KbXhe6fP# X"elGKD*jABePH3C&2KpmMB*E5CK*5eD-2ImX!ba8*#[j"3&P*I!)+J6a5`d8Di' "e(bl!+B-kV%T$,)kDBI$6khj`!-!Rk4hM@4Pb'S"I(MbdXfjJRX%LCXJkLJVf0# QMJ#k*h!0pl2fYN1%Xk'H,i0Vaa(-d)4i6p[A-+Hlqhkm,6R+N!""(A",`MBeRf@ Y9DF3'E*&H@J9jX[!m2!`DrHh)rBC1(Vd+1G$qI$YFrQ`hq&lM)l$JdH3!0T"b[m 5D[R--f`)hji#al[Za2Yi0cLG(3qjikcYp#pBfjPkhJ6D6PF4VPUldH!LYlE6Jj- B!,'2Xk(ZYq-6"jkm$PKl-r+M1fV5h[BadMN5944b&MIk)kV@'j0MZ8c'-,2qEPf 0kkEP&k[8`&ZRDL#F($&9-kPEIT&+$641e3#LK9BJ5+N"(2`dJk[1,J+D9S@6kGd kcV3ZKR-q3b8D1k04(&Ap*iEal-aNF03Q!Z!4LB4a`&D1'Qb*FXmBG3D5rT8FN@J B4fj#!"i$5N!-S'YIV'qDi"XmqS1$r3lI5%)lfI3BMKkci(hLKF6NVc[BbDCaD$M 4!HlMhrGfUDQ8BD6PEMf9SHjbE$5$lmr5HhCN1qp+a)2jY$QqhXL!V0bZY,CHU3k EKp1RYEB+!AJiI0UF)+rc)0R&!,TQCSPFik([Q42NYE$V0I([HUdVmLLVX3aj4&9 ,8e0AKE9ecDL@+)#(0UYX49HD34-2&r'Bk85,2*L[l+-FIITpIkjADkj2Ze#'6QZ -pfR+qBFq2DMdc[ZB1NS5+MZCZ+(PrYZ#Z2m`,E0X'KCi@)R85#92666i4e@44cB R#1""iI4KPIa,ebM9SZh)efrB)Qjaj#Mp+cQZ1r)V2)3"MVbhDc2[X(0k4+)$&6e %(mlq99@[1rXbMf[1ITl(JV1IehA"f9GiL"HFrE3HIhAf9i4p`pPAH#`iqfNDEcV l-JpaJ,0hqLapedbIKJICXAeRX#m[rGNiH!mH[0LRGGkRa4q1r0A#[ql)VhCBBB! M(dLQfqk8pfaBrhG(A[dA4i9%jcV(SU-UmlMQK1Ee@("#&4k,RAkDajZG[Xc$i5Y ha5VNJBeKcVVEZTUk0E&jh1ldMhm&2IFJQpKm!KUqJ4NFJ@9%3VIbc3aIjhB-X`R XD2LHU9mm)3lSC#8HUH4XHcdr3EPDXF6$'"QGjG%l-PVKiBlmBqfN@)34T9X)8"4 rQRP8S9UmFmaA[*DDpEih%)q8DY%Ql9JQQEUNIU%$BFAV1i8!Z[k[Fj4Q!q8C`b+ 25UH[e&QT3fGRbf`aA-AGmAT`&VIEcfI`m!aimPFeX*5[Qr1Xr-@hB+N)3)C0'2E N9YSrH(NTrQpmLL#YN!#cr!Sj,Al6RKRb[*ad!lMcL,Hd-HG,6(ZFI)d85XA,er" jRI"R%aHq&2KG93PliTjlV+a+4P(N%&6'pH"Jp#F%RV4mA!cUPFA'#0m%ep0#%-@ PHPJL"'NG)S,i+[Ai'bjrLR)a5FRCV(h"2ZQELm&a%8,C[Zb"ET91`PRf%N%M%`# 22Sk!MhXK0[89aN``,qD+mNmXmQC3l",e,8T[)0JLY`3kqc[a'Ze4qPY%+b9`iGZ FLem*ZGBm(&K1fq90dR&J'40(15ZK-E10TMh5Tl"PVXElCjf2mE%)IF%$leX00e& C%5CrMMja!$lEU[XPh)VA"`P6[SFH(H"*`VD[!pTMiTrpV&X$[FL(Me9'$`2ZV%[ %(ECr!RBMpL[#0Ki%R!!`2UZ)-2J)c[!1%+Bp!SGa4rfMK!dr"`mMKTm&!Hcl$R` *XDm6pSjcJ10+p`m)@re$H!VJCYlr0Mi!cb*@6CLHK1F43ee4M`BiKaKqAS6k*H# hL2%K`Nh(**``b-X)DhK8`Qq-j"l#-MG,f$VNlB3eqL8I`+Ul#+Yp$rf6XJUe"3L k*DbX94mJl,B[50Y3L6@%$F@P(IKMd%E#p[SP(%Sf[dKBBUed,m#DfhKa2NAlmbd marPifhjk*r%GrYUSDBcU@PE''V@54YTE`#0*5h-&imQXB6T$4MTE`qHqaHPG0@d '+%CFIkqHpT5f"2Lc2)ADr+j,)@8"(e$0G$+pbh*[8r#[!MfEbp6'M*bTk6&eTil *pCde"4'#Hl+QDY8U15YVM-PEp,hh'QEFmRCUQSk6a+LD69LZIYAFT@HpAEPN+Tj 2@%f,K(PakJJ,*#dF2HTM)bL$Tl4Pb22NZGEBmr'#@(QiS*9,#88`@6AC[3)a`Li 3+hdSX*3Jh0EJqI)%[IEH+UU@eP0HA*NTF[dr#X"41khh)i`m)mI)XbFdFZ`)Nc$ bDjhA3-,)J+f-V1a@YND1bX66eQ1%55E-`rI'a$1#lf3%rl%MM"`M[pB4GT)*)mF ))j3m1c*P!m,)dB&N`!JM!dBB18SQM%c`j"JC-$*M4fL%N@1%NL%Mp#,(MS`SF&E 5MKcY2%+[Pp!)`a0%-))+"N`!&!#Vkr1'S3-!`hFl32!D[[G3Nr&Ya,F(Iqk("ZL 3!%kC4Z95qi&Kkbd9rPf["RSlQ[ZdR+QBQZVc"2-I$liXIL50[4iARlTH8SlMcjj mcm0aS-YalQ0"0qq,46M)qqjZ1-4lT"afR'*aF4'1m"jj2Eb(!,"i!1$kMQMkA1* -T@aV*6@QDlNIJ8aR,SkadE6FPq3+0($UMBRSmG1Ch[C%6*B6-BahPGSj@kGfcN+ !['k0C(Vlc`lqKL*9'kK6Y3&S*+m[T,4LMkca4%fqZMA$4Ud42FF9D#,UQh"[f9E 0ST*Aep'6rBrL5,8V1Dj!N!"2dff)@'VH+"H'VLLk(XZ[8'[EMNk`D[ENB*BV)-9 aNibq#kH9I%T9#UTTa8C@[8ipU(d@9+j!5&!M5e5FL09Tb$kr#p9d1T%LT6Q1#Gf FNl)iUHDD6C(VVZS-N!"A8PT%VPXXfe59dP"KU&)fMC9XDl@p+6GA9+#9Hah,5CC Gd)`0Ve2(TMm*Vk5%AHV9biUq2JJLei(Cai*+5N43Jb@FmJdS6"AHRh#pFLAUHLh UKQ,r5@MH5fJHfJ3eT'XPcGk)#&N,(R8"&kd-%P6aBiLZ#E&m5I(RbUX@Yip5$Jc Db"Q$%-dfJ`LPbU#9*SP"Q'D$J83EJm&j'+DlCGQr[kqm#VTph@mcEBFPIdP)"HD `ArEREe'[QYcqT`rrb[#Uc[hPiqrGmHdff[6KAb*Hi5fakF1r6EcL&fGp&(GrH)T "ld4cqq5NEY'I23r[)#6&GihFCpPI"`*[9rb885rJ$9F[r-1!rq&jr!F!!!d0%90 88N9"65"38%-f-$%J6e"8,VN!!!!!!!!!!!!!!!!%F`!!!!!!!!!!!!!!!!!!!!# XfJ!"#+i!!!!@rrrrrd&38%`r2cmr!3#[VS&JVkqCJJ!!!E3!!+L+!!!!S3!!6`8 HEr`!!!!!!!!!-X-4!!JFl(B)BX$M5h2SMpk8B+KV8S)I"`+YkpH+ajd$)BrMUJN %1V9`(RBCe5,15cIid#REp-e@b&QC+53GefrBmC1Z@P,28+`[5M+rh#26h`-(b-m pfMjGGX0F$3Hd(iN1MUDmkc")1Q[&"pI"A',2LA$L*$!iIQh1`DF1+E+KSe"S!bL P[dKe0#RB[PH5`hhJA"$@FJiq,6ccPMBj@Um&!!i!PEh-l1hP6h[lYFY5ET66V,0 IfAQE45HpjD#9RpCCCdrYCDGEQVEAM,Zb$XpZP3iUbLr@d`EG`NTlbXrVS[Z0EEV `V'2ENCPGE([ZC2YLQfe@arEMZEQIGE'GE2XPkfQY3&eA'6q[['jY`rejX(eN`dX ##EL!Ya4jN!$m3Jk56F$e!0+*JlVB[c+VdEYdDH1+aKSKK2D&,pcHLZqqAi+`d@F %2aQ`EQrI1EK4f1epXHY[F`SamNc%A5c%RF8f,4BErD8FaSGK4eledi4)c,Aba2* 4hCq@m3PT11FMpd&jrqj[DqaZb0[G8l%SjM5Fih$Qi5c%13GR*FiDR-YaVX6CM[- QR,IL["rR&h"q'HI61,q1m`$1`cKrL[-0Qp!5F3l$H3E1#6J,F"EK,-Hj!1F91$q #XajR%'FBjidi8Cpf,mjY1,IMh)RcDcK4RhB%jlrDK#d*jh#FBh&1`MN&jd8ijq* %hf`Ia[NaR0IJ4&ff6q,m1jchi%6IE1LEl6QFU-RfBjcSQHfA0T'Ji4b-Fa61L6L Ri84G#CILp1*FME-$jhUFGq2FLK0p5RJBjeG`rM21&h#qJK-cB%FppY0aCZ-m"qG dR,0a,X6T`BRHfd-i-9Yfc*BG[EHMprBHR+M*MYQbSbBlDV,r$'H[653Qiab*%r1 DH"C1p#Ka*Nld24(cP1M$'F$CL[0QR+JT%Ee+l-D*hLIq)dl-91)ri86r%c'cLHK A)QT,`P`PCH$-`AN"6[3Uk6+F(m+*ZT)DFD*I5HKAdLdilm#*Q8Vk(-jr`2N%6Xa "%[!Jk9XidEHNPh"LYT*1f%3bm#"j2%l-E2+j1)%(bCMCj%Y`,X&CLr2M1&&MXS' c3b(D@2Uiq2j5V9JVY48lF#Eb(Cf,M5r-6M6'&bH-ER'@*$aT2&%m$*Jd5rZ+eYC bBI%LBdlap8,-E3Kk!dXp0Glj[QUa`"1XSqqj$ElJR)"RUCM[Vr(89rVRe2ZV2I9 LrS)jhQ"CFk#NFD&RZ9H8HTIj'KBheRU#AZ%Z,II@Hi2H45XEDX6X!-)[mcFhe&l QV3Q+KGi99rJDD[dVa+b3!#pBk9p8jkf[&a@qHPr3Zm$Ed#`U[D(JE(m$Cq)!Up" bAf"4d"r`#P`[UJPi'XAPRRUIV+Smi1&NTCi!K50ENcmJbZTpM4aHiD[ePU'QJ,p H9-kDfp$N$36&)[5S*QJeSm&6AHqG'r3Z&kAerTUV&rL[m3UUD*jhTD",+ce9UZk D-#+KNXE'qJrk'lbLBR%$*CEp``LK2UX2lX!PMGi'M%9&@F#,!H'jF!I+k[e0'"E jAHk[3@Y+DS+qDfL%U-a&`B#[BCQBjkZ[MeBXBkl`e3EV9&NbFEQ[UC'U`G"BRC* YjK'L9XJSM%`c*SK(Z0,2%dd$3eQSqG3mFFR5T8hH)!r1SMTrY"jh`1fVQHfVj`' F@q0[i%RV,kZXcK13!+h"9(JEDVPfGh"Z!pIL,N8ECPdbQlZrb(IYfb2&K5pDfB3 HB'TTM'BKQaa4U[1+5Pm3P51+*Vr#de#,@c4EhI4e!L2T@pkm(0hb036,[8XpcI@ !"cNGdB+ppCk9'#8-9VPr4B1S4-&P3+LJa*T+(r"-)T+9N8G83B@lG(CpFe2GjIj klU5Uc4d-a-E-kN,*,(I!Aq0YDL+Bm-kkaSXD98*!BY$Ai#hh0Y8%I)d!0NU[fNb 3!%[$di4Ld4"VD1BM(dDJ$+0,ii*#SU"9'I"3$f@hN!#5%(4Z`e+rZ-,M#bj%0PN lPc1lV*4#j4bU35G8p$(QrUS[#%*hbqUp!&H*1@l2-Lq!(6@UQD!4RK2`Vf"B3%e Z2`#@4XR[VdGV'NYUD`1B!XD6k"Ma8%Q1J*!!+$kM@B31P*l,!,Kj24BZ4X'jh"2 dm*a3Tj[i4U'YQUpSQG4aYlq*#j@iG*QhLD(TXMQPXd%Sb[ce0(fSfFST)CQl6,@ U-'T`Alm"`RbeD,Dl1@M"STTf'Ur!FNr3KfQB&I"Jf"P-'GiU28eA#k58&1Bb)"c (0rQE!b!0e%GC@"20*'(Eh)CV229U5*(8$lT%6DRdSq#QS!I`"Yl3(24Il[1Z3'6 !Zm#$1J18RfDTe"p#3aF&kmYpRRVr-JR$dB(iS$IJPje`HaX@8Y1)f5%$epSihpZ `$($1J-F)dU3JXMqD)aD!HP9iIF[U!$+"Lrh9UPSDAU+#4(kBV8JN!iMj'eI5*i- pG9dQE",PFdXpY3XBMGfP9`3!`LSMB!JdV9Ca6"TJ43rFpAl*4p"#4Ji-@URAfiL Fa0i)!9&2NhFa4EKT1#b-81bK!McSDX8E!fLbQQ,U'Fe+&#cGJ9Q"!+##i%T02j% XLD!,I*M0*Lrk8%ZM9pC-FkQDaChh0PeG8P0$CIEKXB4@dG#mr0aDEih!H@i6lTX q$Yb,rh5(lIj166JfCN9fZ,*%XB%lhC&`rd*$1#RfZbp%MRrhbFLaadXLff@HYja Y1eYlCpblTQ2'cM@KeN1Y@`YY'h),XpFX+5cG8&&B[D'ZVEA9E,ZhpA$iU9G$&H, dce5KcKR&`Q&8YajIAEk"BQkP'"9r!pd9'5)*mDqjfNFEVLiK%2GaMUX5)e`ePaM kL&(lki8K1M9YBj%S+m"hjql5pY$Z,(cEfVFMpl(HV,6FANhN(0"%TY'#malK4"e R84f)2qSb4!VZ4kRl)lJE%ZZ$aRdbK&MG[L@%ZM9Ac90ZhCG`2qVXfChGhSdkZr3 26pbQ&q%F-h'EUafcmMFAlNY&a+J3JlLRHQ"-+'q%d%S-NB&q(T!!XhADG)UY%#) 0-IY`clNU4-TBqSlXF(6qZXISVcifCa[QjeapV+VpEblFUpif8jpkXilPBYifSBG l)cY%S&FF'hF!-fqdD"XV42TLbY&3c(L`9Z&""hSBfSe[j0c6+abj[H0%6Lmd9Z3 eN!#h(APj"K#r'hI$eGdZh#AfiF$)eeAF$Ycp90dpLVXAe0efh(dVPZqVG2IFSIE 1'EKB(EiM92LN+!EHBHBFM(fV+cH%9TGY#1Nc6fc$A+EVBc1hcGJS0(h-f'fZ'Z% Jl#2Fdp1G!'#4TYma1Vfb25P5h"SjF2QD$*FqGR+HIZING&F9-0Nq1NrPqi5qdHR '$#G9YKpjbe9$q61%IN2#rIU@Xd1SSe(rhZMdh8P#l$j61(E2&QQlPiS-rFh4kF$ ABMeTFTlV%kK(6$UkqhVKh(frb(AK@lHM9R(4dGh2L),G2a)Zp+Ii3$+%jNR#F@# 15$Z`6'3F30i$RaDj"liL#Jlm@,J`YjZS$p5$eHXch&Br+BCke0qEbpXbA1J0ci$ 9Iq4rV8)NVf*-'pG,Q*!!UiqM@8Rf8BcVEZ&Qc'VEJKQD5$18SBq4-p3l([L4'Cq McG%jfXGc0!Dp[H2rQD01QTRGbc"(Fc"(Nc"(b5+M0baHkIfSH&!r1$UppflJda2 LA*kVC-`9c4(0e56-9E,)lId"iL1)ThRMqEU3!'),%-[ceAZ4#"aB#Xa$,`r-aTa GMcQl(h2f$1EX4jLc-c&R56aRK0RrFmji6[TR"$8FUa"*M(fZmF+YMl1VH8[%A#8 bpQ(HZNl1@kEq!FaVTTSj68cq-hEYM@,A+X`FmFQ%l$`p%rIkj(5kqfrcYd1rFh3 kcGRZGXBbXAXVjM"*1(VE(C0hlm)m(XBmhLFQIp8ZR&r0%EPI,4F&Akd9VLM@dF` "laMAcN5q*14laM'jpmGL-RJ(ck5&I9&-A)VCR5ebNDm!q9`R("Q66jb90TRQpF6 &MXR!3((LDM%C11J!$UB""c1H6aE1jbH*h1IRL),RPr'm9[cl[%ERV(r'8-I4#Q( rX*VCVRGQeMj,cHbaGfHf-$Dcim@eqYMic'+qhTjC`XRVr[I-pSj1Ac8'-e[(Z#P fjf*QNc'c6k5p3E`%Q(LYKCHk3f&L(@B6(!1j-KKM)fP[R%$I,0adGF4QP@Dd!M0 +'0Z"13A1)Rr"LBXF$k1'!Y6JkVeEQd%Bfr[4Y$HBapc2'(XYF08"A%el(MM`r*R !f1Z"XE1M'2XI-k[QV(r'j-cDQ2pKCSr4c-jS%PTK"$1JCMG[T%JT-9ir`,bajSk 3!)YiSq,QUpGX#EQ%X1Z$-&1*`,mclG[ddFbAVp9(3`qBRV006f)F+%B2(1#lRIS Sa&%Z9bbf4F9Q5)lYZJmkP)Md8#qS6l)(NEAJYGd9)[9%9!0CMajXf"*kEQGl"lL YSBrH[+hAH5bR3V5Z0%V!hfEFZ8h2f,aYpBZ2K+#hZ26c0fr64q'mV61Iq)c5BCb 8Ph3BidQqck8FaJXLYd86HEJ[D-R#@5+QSIB@VKeB0H-bB8Gr((RT`SlHG)#[#82 6MVLb02-jk&(23BmLMHTKD&+N8dNPbeR51T5q8lT&B[jbMkq"Y5e,[pV`3Z6SKLF M4cEF%cQXp#j4#*dTr-423Y4IF(BA-*2j$fNNZ'2ZhkXGbqd9ai[4Kf2%h`XINc1 F0eDN)fB[F''BUkDd',9S`%X(CRBNc5`dSdfZHm$[aNBLP3+B1K%cQ5Ka'kDIFk8 Z)3jJ,JlQJD0M6P2e(HG"6q!DK!kR'-deFGeSr&-U(SfK2LM0T!ZciF"XL2lCD%1 rfp$[0[6ll4P"AE#XTBU8r*SkEmh933LQ-3f`aq@K16"@dB`EZ)-H@06T%I1,UNK M%H@iUm"CM2lZf*dP+RB$BhCAYqmQl@ehDr[HAJ%0,N&FfjXMcNAZ*G!8hCDHD28 !m%+r1T'F,a91A,D8YJN5VY$I)L-&iJeLLPY&EZI(!&ihLY61ciUdcQG&HZI,F2U P#2ZUQJq&eNd@'96Ap+Z&0[eLNCNhQ)U,l(*945+@ISQjllAdcEC$EAE8jc35JFP '*0)j(VML&Bk@03*ai5pccjm3)KIai%)(dEm+dN692295664lk,rJqXT'KU`kSaS UqSBlela)j(QF,qLq-5'MZLh6D!9CZ0F3aXkf0103@fU,VFf"H0BI1k[E$mb,[,+ 5Z3)qA#f8rj8eeMekGLRGpIH$Hl&cc3-'X%(05UV9G`2H+q2H0UI,MKiM[P+NcG# p@Ml9dMmA`-2M`-2AV0RA9h'[TKAZA00Y!#F`,lPjXMEJXmJalJ)ZY8d)ZHa#kab (ZUV5CUbk@q4AL085,a#$AQ4M"Jq%Yrb%X'ULkPX8"fL1J%[(J8Z[rEiAEIHf&D! 2$k!(cRQ4Yba0mhFp@2AkU4iBF,$4E*5dLV5@1bRrUQp4MJUK*h+ZrqK,&me)iD% EMe*rJIGDKG$1CpeUp4M`Y8K%(`I1T@B4rHS&(QJ8JaiFC9bAGlNU2rAd&j5IlX0 l5%pF09Af5$bD1eB-+fR"c&II@(4&&fDi4Z569V[3X$X,Gpi!(9,8irYaI0ILqq[ i[JVI2mCh*EkKUBRjK6Y[()c[F[#E%UTr%qB$hbRkUS6pHSf'miLElX12*AcEP5! +0Sq,N!!1B+,QmH($Ek)I#8pD@UHkrh['THSEFpAp23URY(Q4%j,[-Pm6GCLYU[G R+`rB!RaU"+I*`*f60!LH(A[Il&!HQQhpDC(2hq!qqKSYrp4X@VKEH1L61B8lH*j bVpL"I10&[TVpG,i2%dB)eK-,[bqdA*T$`SL6'%pp1SATKUhpS-,"$*TRB+6HLCK jN9lQV+G`qEIi#S`S[2H619)heKM6ZM#2HRK-U&)N04&1'DZ*LiajLHH)Z-%iBHm H*fa82iK6C[GUBDX3fHXSRZB)14f&CL3#h#Y3r5j!$3A3mTJr[*f$imEF&+ZYJ1T (l914Sd*aM9bHYl(!'R'-jM'GlLP@AkA4$+9"0p"b%q6mb&k1XI#jR1VU)B`C*bj !IDRU1depRkQqdpAhC2@GJHpXI'H'Ah`cp2rb"CUKA2#j`TfIc%(2jK1h,c5j*`9 AQ1MRZ#JHC2,pDT%2r[8PQJrLfB9GN3Ki[CBhR[Zk9r'AlLl89#RXpdPFiRSfY[f !CP48'Z0&+[8V[1[9N!$qZ("AL)PILmjF#qC`[,!6PS&RTY)G[Y29pf5UU`SZm"j mSjELm2G(8f`Um`-MdUhbT+VkDaJEaS-,S`ENShVSEV,#f[pcAMDd4)j&CdBI%p, [RN"p2Q+%Z5CSI&5rF&*IS5d1X[U*'BPb'YQ6a+YTPX*Y,a+2JDpQ2'-rB4ab1!L ,JE(-[A6pQ,Y`#h%PN8ljN!#,136ccEkkhESi3PT@+ZA@abC`E,Mpa9$i2TV&FHb jS"QKZR6aFMV04hMcbqR-Tp![m)mIaM#2Cdh0(me-H8FQj8eZ"Vp*9cdmLh*6(XT 2H9!$maP9Jp9ceP`'jU`0-fA0fK0C8AfT5pmm)D3rGRC)rrjjSA$[5pr@VaX6kX- 4,6-ArF#p+E&'5`8qT`,(V4R-N!$BDZ[$F8-m+['DCmmCV[PZ+2c$0pAmMH8mqV9 UrZ!rb4fYjZqk[Hl##6arM[$V`0Hq1M&cZqA-)Cmq#M1(f(!YkTVi(1SBkq'C!ij 6,ETi0Td`2AcGXqRKeiql84Yc'I#JjE'C58-q1f%mi44K-ZBY9r@0jLf$iLN[j8$ ZUGbhc*IfJl1jpDSAEq[RMSpJRJBi(f'0rJ6Q#hS!c8(iQ9HCNd-[B#e&(jr"I&, 18A5'rb[Ikf`49hAH)kSkRa5eR5q)ZR@DU&qA*4VAPBJJY*mPi(mGVYBE(i+ZZ35 Dl9A`q6`p`!1YQS"j2*m$A$(D8r56HJP1a9LQela"1X@l1Y5T[!2p)Pj%r862eU* I9k&I9C+h1pJ$SR!PPE@*mD1frD9@UUQI,dKZ`*KQ9hbP0JrXKVLMa18h&LKqH*M L'd8Rm9NEF9@9,iZa&YX(H%k08N&aK,fkQ""5()NjNG+kkPe9DBJji`08&lLSk!` ,1q*bS,9I!"bhScpfk"NDlU#c(@H0"M9-Nla,&&00-NHDS"b+EjeTm62NC$qJaF2 8Gj5$b6UUQ,r0Lrb5ZFRlq0,[Shc#%cQS2*50a!@)(aKM40jcEf)1NErY6C&'h)H iUp4%4&)RiSR$8KkP3H5%MH3JlTB4eUUl1F`VS%e32T9V*'R'L"P*-C6(Z)lM[$d HV4DjLe!MkAZcFHHQHR%h#pr3q%8alLT`4jUi8p@D3IP`RpQ0r$4E24Uq5925Y'V #HUUIlRUGacYG(UhDpD5'r-X[*6e,jA&aA!Zqla(6%EZ!Bced0qT1eTP8EcG"Hcl Chi-Gd&@"Ablp'4Yj8`6m)m4TFMUJFHS*b8&A3Q5[,XlDRhNIp#fl,9e[4jjR)K' +Tli6Ae9hCe0YkZiFm*-GIAI`*ED,[ARf5#p`XBjQ5BGdM9QkL[T,[D8H8ace%VR FT,2b,(#rkchrTGre(qlVGmERUGr8Cr4e1R$0U9H*-bYVaX02`lTL"ZR!ZMeM'f+ TGhQaqhcU%hX19-`QdMkJAf!H$R50%Dj+N6`G15UXq@'ZVQB,FG#"`2Q`fkE`qjL 2mC%)iJT+@L2(e"h9&if2BBr6UShi0AUFEp90QPUX9QYZCbPFQU9m$9l+4h0-1BP r%JpJh%E2ZCIY'GZ3!+GJdpe#E"l2AJZUc8Ee83l+cGk)PVF1arTX[&FlpEQZ!l1 +1`eh9m'c3Ibd-YEM0+[(j$Z`jZ$rQ`rQ[[+1kLf)c8T1V!mCe!HU26Srk1f'lm+ [I"h(!-Yq[Seb0d)[3Fidj#*-RiEiG1K$ETSEB(S'BM*i,K9riaK0f`3[5#Gj3CJ rJh2m83IUC"e)cX`5lZZKY4H`KR"SEBk+mh2F$[DMj+UB%(%#+bra0m4$Kf$Y*dh &e4U2-Tr*B"e#a[L)&aV32P6[(2TpBUrdA+"rQ9'X5FdE*ab%1AVLUlITiZIlGC( VKNB!$diN!JbYd"0HJUIQeGXk83[T1mCQm)HRS3'`Kf8BkpBa$dXaq9G`9dcj+5I ZbVN1e%5e4(X#hX4Bd4,T86fBeT8CRH9F@IZ4EG#5U*r!"C&ZpB5`LfTaMK8CU$% 6Q&CKk-#&4q%6DhmCQNJkHci3NdQp9MkIR0Lp'hNcU0j'%IPC$lkjYpCFJ*2*f#J fj#)hcG-dp$q$mP-Yd0,Gi5hL8[*rEAL8F%'%`%XErk"GP851+%`Sd"mp1`3pi6A -MG&9hAiB'N)lB8cK[Cq!,f0Y"E$"hH-4cFMA6A&&ABBJV@k6*S+BJk$V2Xc$Nk+ j3U6GVR5TPG"%PIih8ZTrd+U!jc4$%aPIVT9D@rK$rac+'m0c@)6jE@pT!Ek6$ZM p,R,A$bF1aC`IXAeH#a[0GVFZ[T012D'k`TZr56-bNA#+lTAf9iQDi(8$0j4HR5k FQh&Z`VN4CbI1Y46ESiNHiVrkZ!`hHfMJ)HK#61&QF"Fa*N6a(B3jd*IdpZ4JK4K aRk9(S-ipT$HLrXRS86PUIJhmaBkH[@BNX*Eb!2VeJ*VT6,V6KGK,F93MkV"6I93 VHN$FNhVe!1jF49A`%H(1982k5!EPGp)pp5+c#Y`A[@!Z$!j-1DN'kS@aL[A2)$" L'c6r,k&(fe@2mJQIbB1"I&Y4Br[D6'MKXRG1kKh9F,*rP-IU#peCIGPkXLpEihh CqSHq)+HVZYf8Fc@Fp51D+m*DbLPRN!"LT9m1Z20J"lJ'X#F%c*ApNTkqNUL'$3k XiK'Aa*SGaaNRLJP$d+X$`-Lpc*Z!KHpTAq`cd,G`(lm,(VkST-@qe9@pYSla)HE 2k4J[CQ"qkPPIKX(0Y3@cJme[d*c5M6@4AU90TH[AMb)2ElZ"@2CqhDIb8!l-ibE d#KV"G+92X`D!I&'pYGL``lG"q'F[YfTQ(N8edlcLQqD9Y2G6-DK(U*aea%HKEG% F6U-iZSYL%hS'[H@FGhSQ+U#"%5GkM,3&PH2XNcPb9)i)klibKl-r"fQ)e&Xp#AV 09R!1D'cc)UrcIJGiLqVrGdr*!d$kiNb+3li-LT8mJ$8pd[j)Dl5ihAbVllJVeVZ L2$G0h4%rcP9p,(LlMa4MhGmrd0IM[1-!h'1MkY(m@&mGe-2G#C(MXEj'B`l)2PP DkGpNQ-PA@@Z&,R8J0Pp1kK2b&84RX#E5f`0F3TkH'!Eq1NqRc02aZpKk`NAU443 A%i',KU#H8-jdkT(Xcbqc9(pFXETh[BF2DE&j*`q2aD[6-!YT(9`hchLDFEI)ShY `DH+LrI'N&qHK&TUa0$8lDBKl0&C21XA#em`mJc9FUZN*B$MlrJDcCU`i$@&[QPk 9!3m4DJZMYV$)a0f[qJpHJ,JBrT0[LhPcZCVPL5IR24IBe8ckM,j9m5ANH"Z[N!$ RIAr,Hji@Yli5r1G6d+e(pFh046X-D&L5ZlFpMrj@hh#"FEZBeS%0RPffpKrT0FP "F&PAebMK#YGLei")[Sl`0hF-I#kBUm)A4'NKl!+%6H4T`Gi2,qX$bY29lkFXP*l *KcSqa9a["RQXX62Q5Z8R)SdKY4$HAZ6Be-'H&FEk00*R`PhXkA,30h3dmMd%dFG dmK,Tk!AT--3P`a1HBkpMjbMf[E)Zc6`AZ5JIqC(d-25$&M%$Hh8B&kdk+)G90qY #(i3ZqVeMEZK)T#I0YfT$AA*[JbC+f91m8Nb$$P@-Er)cT8Rr93,[R#(0",1j(E2 CFmS6mlEIb2)83#GN[I!1k%(B-d9DS[%)0+(D$$GLR,SAhiq)(,UR@84-VTkBi5l FHG0h#JrGY$fm&Ak!9K&LRE*&0)Drc(06P6X+ANfDVf,DUi3jQ[&F+!qp4N`aDNj YZ3-ak'eieMmMAl8[UY-JP[eBBk#0L@qQ3kGNI9AT0NI#-hDlmdEaI(3K"fNf9&- jeB3qTA0Gd(p3dfNRDmT3[8CGSdr9e4R94p($YJq*$1lKD09$TqVKPG#D82[E2B5 I6rUI22IpTSI`3Ee6DdlibVeZQJA9`mbhHhJ(m"hc4l@K*[C$R1aKjQpkU1e"(2N [V"j5crkpKe8[r,@(@YA*(ZDSZZGcrp"60Bmj9"pj+e$EQ[GkQ42[T8#Fp*2,AT+ Aj2rZjDRjMrG5E1c[TG,KVd1q2Nal@'(DAqSR612k2hVVIkXr[Erq8hjS#lqT$[L J(eJ!IY`1MJmpbE%!FH5p4lr#U-p"HE#[J(e2c"0aTcaAkA3(RQc[p,)IYGeiQVm GaM2`2bA&FZ)1HKcj5SrJ6M#[4`e8+m@4,QDdS4F85cjVNCe1H`1BXrE9N8&p`@i "e)rmm'TcVa$229L+Q[&0ZDLIA!rZpECXcM8I-FbKS2-MPR)*!rYmZ&DkSaLlV)@ jMIhXrCeDj*L"8dq%6edihEKrcB"HMCMA1P&I00I[2-&Y1pXHJ+G4DE+LdXAqDY8 Im(VLA1#-j'[BCi#[NPC![C%qXmK"a0@qPk[lr9bdQi$U)miHVl'a2brm$*Lpb-' ,i1-TI-b!jr8ilh)*R`$H5%mSldr3[H$"dKq4b6Rk[-M1+ail[KSqjYdElN0Gf'8 "rbVlLK#6qKGIX1ATSrQ!(M#X%YT)V,j1mP!5TeEh"[LiJhS%El9$H[[H@U-[4Ap S4dPIhL8'GZeJY`CUJJm&qe0BAb'mNVL5TbHq`4K$-3CfAp%Xidl3(IP!#4-fr"$ hV@d28&mlGrdAEeer$`Q6+m6#VeNiMCkmkrZN[06lA-`QpR#dZ`lG3$h2K&CaT)G kJPeIAB6"#BRNGhm0hM$Y"ZV,M40#dl(&4-eLqZf)fB4BB2jEb,0(6i9'Q!T2"M` DT%f6*VcU%r#GTh*IFUDI"GrmS'((%*r4N8)BlbKDYGD@[pL`Ad6e!"pc1Kh5piK kG-4P,Eil-6pXcQkN[Ui+*`H[L)MmaCp-QKRqbBG#LqqfrlJ[VMKrmGA412+,Chi 5Ze*)2b%1J2dS'RNbU(q,epV[JjHT5-f,ihCJNY9,[GEYYQD,C`3je)aFi0Tj!rQ ARCL6Pk(aZ(TSAT%l0L[(1a+af!!e6SHIQ*B#a'DL2$S6edGRSU!$Zq8S6KG,L(- jU8qj+6`MkCA'N!$Hhmh(fP2cSGqYjU-GFh"i3R3qC&aa2RCF@A(S[jLfq-DNLr# GL[ZCa*XS6rMPj1C9(rY3+2cLTGYSV`cK"rUT86ma0cAX5aT%[B[NEN+[D3q005q %aae2d@+!T*Pk%ZqbB2l'hME-RYSVBjlD`p,[Uf8[-qY$P4TKQ0U(m#[F!qDbP[F -"&6LEG,E3MXr8LN'Zi'd$[!3d[if!BX4He6e+*-e6D@"@lfJ(R9X34`m@[Tp1'@ [$R#YYDT@USRiM+T9Vh'kipjXhJ2!QKIQ'0qf')IBT,`eP9pm%Yj*k4qj@(UfVRL -HNjc%$D6cbII6,FQ&L+@[$Bh)arf-VPj,Q)jH#F2jB%hj8E+3rP3b`dm2mM"(,L kV4ehdiKAU,a@2m!2b2XKGbLpl`YrMeXDY,Y![`[qI[Lef5Y'I4jVpCReMK"f5@K I[%Hi0c`TPU)(HHba*6d6ZBKEibl"mY55Ya5pUm8Gl4K*8(INkl24RCb21FZjpeA *dr*%j(Rdm+K9)qV,29PIVDS2rR3a$6fSa,GEeI%"93I034(P"mBXeF8Vj-ZK214 aSccRa2+NUcb99Kk9)bZ@ikUr4G$cfA,I'1VM1@jYDkIqGa)1bCT6i8pDfMI(SJ0 BD3a`AXYr$Ghi"Z4-*b`%MK-R"dB$hk,B'$R#(Q28SeIPZMHYNAINE@+mNKLfN!# qiFrTJ2rS-YQ[a@IpU9mRFBIpQZr[MSPLMB8cd1Z*Vq#E2,0&m0Dahdc9PB1G22U mb(HNCKcGec1#pj-5(LMHG"9mHc5I5cDm)2eE2'X5KjG'qmUpR-plRIiiHe@rRle 6((eHC$r[#IRpcKb9U`Gk01e2NMZ,UVV["KCi,Hah9GhcHG`[j[X%l'GV*IpCddT A6G-edL-eQh9@e5IbelRb4$*Q'ajV-H`YV#A8U+lh0C)rlFLbjV%,Z#rpDQ+qY3H 'X*Bi%R61&1Aa(E)*pq`pNR&$P#FkKH+)8j'2Jh!&Q,0EeX4DC@lh+Q&62RIE[-L E[0-L,i(b4(A'$-V"qLKf4N$lXIC3r%(hLHieUQlV!Hip@b(+QZA1U6,@Fq9HB2J hf@Y4aM`+hlHVlmqSEpkA*V'Xl'N9SrCVPIe3IIp#HH'e6EBepMr22(0JD(E(S+8 j5,H$YjeQZm"eQ2[Y*,e!c4$Y'A(S@%'1Z-fZ(m0cQ!`YdiLBdMXaGah9$Tm,D46 Jph0ES[GYBQBhpNk40dKrNA4Xm)"NpR82B4qNUJADl9(D"fG!HqTHJhcS"pGm266 06cMCK`f0DfCi&p9`-H1qV2hLXA`($2lp[T%"I#Nme*N(6f5+a,%j6c+1J8q6PaN lKRK(BAJ(F8#43('NDa1r`MhaJdcF9B"rNMmRXD49Xf1T0r&qmQhCT#p&Jbp*lVZ Q1P%Mqa`U4#EM"qhb3MjihGPMLAab4`efDU2q"GCqXMh!@0E$+8l0D6VT&mJa8HA S[Q)(DbaG+Qi)jkYZ1d)m#lSTm4K`34PA@F@jk*jeIVTAQJE[)Ja[*8hd(2B6Ual 09r898laa*fEQhNlXVeM![%AP`$i`cT&TjDJ3Cr01E"ArKpdq[pmpJped*M!"qlK bf+qNqYG*Zfi`HdRX2q6i-hPh+fUY4qa3jEdMMaPKdqB+8FkkKlV[3[mqVqBRTbr (JVmrQ82Z+m3p-)(VNhH6Q2qGl1dI-#M+"pU%MATDDFbH59K#Z8NIT,j9'ZrfE0! lrCM2qrIHkGRm%bGl*[IZFCpb*!q826[(kYQIpmpd`D-%$p`#eJ8-faT`ZJ`hX'4 FLD(TL12p'q#U"cZVe`MLA-UrN!$$[!Dl9I6lc`ia[i'r[)rIN!!f9XCi&Z8r-Tj j$ccC4DMMM*)@l1@S[PRZ9)cjI4&r-IBEr3aeNNBb%la`TYV6NBDqJVmGjpfUXGL 2%jI(pkA-6k[E$M"2)LiSmr%Z-@$@61!+j8Y!RXf99Fr3hAc#'C@(03$5jX(CLm! 62i-lmZ$MlX4Fh0A*ZlG1)qi26'Hp&IS4mdMNjrhl+Sk`(MY,U1rc2UlQ)KIi2P- hVQp%21N!'GL(4lXMA*+2c*2cGR,IhjpfMi(MQF#DBm5TfVD)cG,[82BpVZ8aL3[ G6m2r$lq"[LYj'[RBX,-E(#FFJ8kmf99MD1M$84eq3VdfH4VY@'8ZaViN1FIN+mF ZN!"Ta2p`BQmNFlfSMLPj*$`Pb%-aR)IeRd2`mMRGiFf8Vjae"-j"fJMa4Zb5T(j pX9eNJcXpEm9h2b@+p+I3+qLPFQIC(1E$M(rS)mASEF4A,fDq4A93rlYhL5)eqrH c"aXed%iLU`lF`E-b4qUCFNkB,lLU1mQIDR%dc(,[mk5IB6mJHaErklibq$,KchJ #H()KFAepcB33p-Xki&[9+Aac'DX)1p%(i,1m5mCGNESEK,X#h0P`Pd!F30e42J` Qhb@bYLI[(*9YaMKSdjMVK(GhU,)[U#Cj@MIfHG-H!@LVDEM,9MX&-S"li(!PV$[ fD@R[F)IhGPTd!R11Y&@hlHN!2bYX[DQAH!(fM")1pI6TFJQ[+9p%VZ9K`Zi,Z6Z N$CT%!RE4BUF(lZH6RJVF2ULil!$(J+re)SX2Jf0Fa2`jaM%SrR`CIp%Xa6@+D6H 'j"X*9DlU@lT1c@1iM$b@BhP(XH+G@b9Z&dSGJZ-,TIlL%4HM0YE0'A0`MaRE6(0 '1i3Va%cQDDS1Te(GIYcbdK"Z)TlVi0f2BI%4h,1q)qZDqA-,rb6RQbRhX-THX+i NZDKYXmV0qP%XheGPE6EDfe)m,r+[,mNqf1T8hPV9DpBV91amc-K#e&K+R+Y56jU *AMA5A'0Ql,&G4c(qp5Tlla9Q+Kf%GPfP5MfPMEc4H0--pf,NBiT6mEi5LDXMVGf Qk)Qfeq*K[)I*%%08lF64$M-AH)4eTXhGY[CHdTQkDm!0i,XPRCPf[Y"q2iPM-kr X`c%Y4(d!*Tq3!,-2[ElkPZ*6Xipk%jJ[S'Ed+%rfpaA'I0E9[E3$VrI[TAl5Yfp 3c36Y@de9'KVT)D,l1[ELE8E195URNqF6[)`mA0`lpS#85Ij1r!GpSTcJ4br*Q4R (QSUU-42pT4V(XfpHFLIQ0dUA`(i`R[A2+-c49Cc#J&rk9"`dDikV8VXEBlcejpp JhLVM,0i+,#eRA86aeY+6[*9d0X9EbaQ(P$i5hBecDZr(VlMV@l5Ef'aVE6Y!I5h FfCP(@%PF&M8H!lEFVlM!CQ!#I*IFQdkTjAf!phmTh49B@(LR`P(%6Q&p3(SlH$I H9@SRQkDm%r0a"be2P"2AX[B(+'fq!,9D2*!!2Hak3N*SNpb,9(AbhNep`bbcVYL (`f@-`bT@mPCjarjKUU%6fV6DQ8%lm,"ENcLA"SkTr@%Rj[Xk*qNGa-H)1j(HUEM B-F*VKD9UrbEhl'K-RdM[J*DXpJ$#lrMcUH!V4qA1Y20jRYLILpkaC``BDpMDGQ$ (pP(Z(djm1h$Dqr43iX`1IKX'Z$2V,JTr'Ld0e0U[KheG#I!qDRHmCAN5c[q'TFr L(Pk)mk9HQh#-p0"8iSGh['Ma"TI8q@aYMk)Iak&4&9"rb8m4me$maklX3q#e1pY )hf8qUfER)@[r0Fd*kYZ+AN`MIF2D9BCq*U+I9$[eeNjhFZE(52d!A&PT(K`RFF, &qjFUa'MHqD[i9)+D)pk2V(J*cblY21QEjmJaF!b&qC($U+q!F3AeFHerl2hM6dB 14(H@VB!2Ba0f(4#1Y,DCK#2Sr4'UNc"CiE(#$rYKLE(6T2i-%`MZ@,G"rEC0K!X F-jUeY2#BTfMhVI(*#h%hJIRBkkJVDFB[SDqh*'a%cpr9rk$ad"kL)D6Ib6Y`Hf! 5pRM32Jm([RQ2*1Tb8+dd5r-L2p-)6l&Ra%&k%r0#l-6@%q"eTKf@FZFNCMGK(qd fdlZ`Yk%@R!bF(2k&)RMd+!r[XD%D53HPmf6Z6Gf2Lk3mH*bJqkHM9XiPY62Nmd) rNrYQJD@[AGVAQhraGYmPNRJ[E-)%q+qcF'Di`diRq5efS)j8l%JN,ZEL2CVJPGa lZAZ6HL&pbQS(Cf`I*fP#1YACqK4kHBhXTF+N62)*V(lkLb(5ibT%%HYir'B5&BF BpR&JVTfVGp(p60icJIUX@P1T*ZS2c`MYEQ(XPRZBD4q(2RShq(F%A0'Q[pI(3Iq MMlDL[rDaN!$pb1rdXG$bc`b5IIc!2Ip((cAJXH`Mq2`1`J4,@qaZ&eY*)ieUSY' CIQ89pHKcCEbMLhE3r!'R#Mq)qK4@UId&He&VTH3[jbYIJPE1Q2-$QSq#5pPrm35 iEQ)"FCi-HJ1'D`dm02F9!#ZQ6eGpG3"(UAGUK[L1X1!iBdkreN#HV4CKNJC)ZJ2 TC"9L"ZZI&MlKRR9Rj0mHQq&T90XG%rlf!!l0B0l`c[a1Cjf,q)'Fhd,QbImGKpl &iHLm([YDiAA`)Q(rA8R,Q`EZ(f01&H8SbVI$I+D!I6,KK+I)Ca69-"i'6hTrGeQ 486R,eEkNNYmP`Ec)a6`IRUZ9T!P*lj)`mXD[iKf)VUUhk1d!MFM$HeV"QGJhLR[ qlUm(-6bIUKEX,R+0NVR1ClkSDS2HjQ)G%VA)qH%i&r[kIVq$U0qR8L%Z9(kP#lm N[mqcl[NE28"0&l*IKRT%(Ul+'[Y-kT89Th)ShpXdpYAqeQ[Grlk(UPA#eES'@[B jFbNR2#E3FpDNZeSl5a($Fe*NP&r'-HfAAiBBk4qJHrE6RD2d2ZMQVCfAiTlR!AA !Sl`Q$6'A)dEUE(3[Fl*qM*`fa0p4)I+B6b!Rp)8eUBL"YbD2G3LqjjajV-YDpIe Tlc4lQ@5p`-@T2)rU(MVr92CCUYUJldpPR9VG8cl@Vp8pCQ-Upd[G*q'HF8VGJj0 19IhYmi'4GJBmilU`Zr1dQ!CcS+m2"D`lpp9C)(@UD&d&l%1dr%HNhhIA#LGl"b` p1pV$![Eer$NAqP[!q2$RA1Ke3BQ9+kB&@V0%YE"[iIFqTepTMLG-mX[!km5H52, ,N!!HmlNfl$A&MQ'PcF$M@-$k&q@!c[0Ca@9fd6X)0VbJED3idM[!plCeHV42mEi 5MpB"lYMGdk,GKAh&@bJ'1dXqLlV`[SJ#kEH9(PVGdR(*2dPjb6r3fD*eEfM4(X$ qiiG3icmJ*q1Lc+NGjpkdD$da$SYGSKUm#PT(KFMPH9DjpXJB14mU"Mh3MR,I@$m YB&qPiF%qjGE1jjR([+!9ZIMG$`A-0l"RPhaDT(8md+eTTC3EqKAfI4B`$k(qBKI FCqQliajY0QUH$BkhMEcI&@+bp!h#[p&j$qC&c3IHQV%0mm$cJTR[4Ur[fR52pZP hCQ8+kkH@9eTjp2GLEZ"IR-+iK*N$Pjl#[*pi#Hlh%5I"fdUZS$PbeFbPQ!GSAVr iJSDhQ0!m6'&G3-dJl9UedCc+f(bZ5m@ZrHYmjV2ZVA)ZqG9miSdRdIQFa(LXFY' qDkUCp4F9Nm'cf5D`Cfk+dJAKfBVLd45&qjEHRFIk!HF%"X(6)6dCdXZFdjFhArV !D2iXlGS1Ej4Qbh9PfB#6rkBe[m0Tf[B3eiDZS$`12f(rU1)@a9&-aqi,m[Kf*`, 6-3I5'b*j$2C4YP!Hbm03)BE)R@prj)USh55Y,PiI2,K6Q8HM[UbrmV06[AbjAkZ H"UeeZ*V,Q%pcUZ3EErF[PHIZ,l[qihAcINj9Gp([CJKqTi+S6l@[rX'@&r,IjJH k,QX#Y"[9#%H-qkLI"B`rU1(,rq2Y(@reN!$(J,hlUkq(RR%@i`XdIpk9*2ZScCH HkPANSDk5hJ[S)1bpd,"(EKAf9T!!EeSm&)C[6AQY59G(6)Eb$SKMa22*Tb`eNFP FTp5H*bZIM0LMmLF6rT!!9L*pfZ)Kh0(10I*i8*kYZ"XNrG"L%c$LKrM'rK10hmH &1laR+j(I+S'l8-bVAGr[*8AX9DVH*-5@UhV*)dAl3XJMMVjb[C6$SHV0K8lr*Ac Ml5dRTZ)l!pmITelMq`9m3kGkkmTBcH5a3UhjdZmEpi6mfR0X@j1T2!V`6Z3Tre8 Hm`E&T5`2#2R"S0RN-Fq!pJ(2,(*,rSdh%XJiH,YCelGfPPKabNH83cQYqTJA(k, lXhrkhr8Il08U8EJ($mlCV)[JZjmRibeQA*2bYCdYpa$mCIF"[+UmeqBTpURQmBl mmI#4'0LKYH@i'hj*dN@9*R4QG0m!Hdhqq*D9al-LZa3@(Y0$`-(EXF2L3EbGiM[ BprCQBBMHRG#Dh@E1106jdr$hX%rLi+[mCM(H,B'GkZJMekYI3lVC"0BCT#p[![0 *ZEGc!ZYamVd9%k5rk%(HdlRG@!1Y-j'pNc[3"lbjE!,cJZi@m6"fpfc[pSM(`fB fq[N'aHc!r5lDed2D+26I!kYV%[D6cJP1bRPE0q'05VGZ`EfYD[96d'Pj*LC,r@- &H-%C`Nj[*-*1S"$Ue4(M3!cH#r)Tm("K)+EGq$YidmjJE%K!AcS3XaBa'BM*a$h Y!Gq)HbIZFh"2qm%hiciAphQiTlhK@h&IJ2YTZ1rQRGjr"kTb"R5C&Y'$qiIJ*f* G&$A#)j[0IJD*4GR-kp(RRG4[m'(SKC3M4r+eMeZDab5H1mNKcQ+pLcc"G!mG%VM mCIPQ,lAAHPlN@r,Y-,`$D6,MDIFpiKQZ-6&bP$`#XNijIj3(1ePiGblYQH-kH*B Q-(kGl-m`a$(r3Kc9Y"-krJ'p&MA*R+bI5&c)BYb6Z*!!*AeZM10CM"HBHCVaRDZ ,hdM(Hjr5kHeb9#0Ui2lc$VN-qHB3r66HRjIHFCVdE-ri%ZhPLKc@JpeZ9aYm"JE MBLUpIB[m49cAC@r%DXTQ[A6e3jm,m6X9i+mQAhK8ZqZ[%fqK)Mb"0LAer,GM6fb 5'(3QmhD94qUZ'[B#C'PTV,m$DrrdjJ,f[m0$"Pl-ITl2E5'2rKXr90`#Ep-l8qe 6Q-4l&K5hf0ZRT8b3!,jljKU6@-H1qS#V5'I-PVScqhFRX$k,fBEq2ClVSE`8#if 5pV+a[`ek)M4XiBDrP,K5"HZ)ph+HcGdrJ2mCqESMm!j$Sb'15lX'D1kT&[+1kpI MA8B[-'Ba6K9ZaXjGc#Bm*0[K9k$DQ5HKYi`6IhQ6`+RGkl`,QIXcNIFr%(C,R*c )Z+6LdI1*V,2rf8m3V3Yc)[fCd$VS(VUS!fqlk+AGa45$qa4e2d2GTd)ET$hp4HT qU,U(KT@Mr!mjPVmh3ATSFhKZdD-dQKQ*kcPU,R*ihpEl2@-Y",SNlj1NrCqdea" l)mPVmfYHVE5RYKFCAq!2Q#4pf["#3*r*J%i$lqLSrEKcd&X4D#m"i5MK)EmTKV& Dc['IY1UhGk+mKAV[iMhAY#Z(Ga4dJ[YKlfFUelk'CL4b$,X$K`*l%T9qN!$*me1 ,[YM49qc(T2fa2EKMh3Lk1Fm+pU'6cjKlmJ-eSrI$qh3p2$CibjQq"KikHm*q[$p S+mAMh84E%CY"1A3lGSJQfY+ahj'p0kKc+1U$AMp*qJ$qZL1&X8,1l"MQYa)h-Qp L6R1h'0%pATcHM6hIp#i3h''h0R$a4Gkl9Z4UMrcFKAF'3IHdI2R`b)q,l[R$(IZ --$23(XHbAL4p2TQraBAIpBGjP+aV6&6I3&fmI`"HI1K@BjR(-&E3hJ[X+582PFV $[Lfeir1%M0(NQl6NER4SF@2CckVb5Iq`V0h#pprfUamh@'18HjNf3f2Fb[Z@X,- 3XqZ`jMUm+f%rBST`ra(b-K*HdEj)l!Z91cZm0ZabNcZF'"[Kff*H5'mb)ii5h8% ce[),#Y)f9)cdGrb[A8fd#dcZj-KK[XYF3Yj,Rp&Gd'eN(j3[KrS*lJPr!1pBa&j Bh[2"161P[q9rqQ"T,a6QYl!91k1)cf@+41*VK+YdAeLplTc#dR8c#V2A&4IDePd kip!k6q'KGDXqqa5pbF1@+Mhc'Ba(8VFCaEM@rAeaZV86K,@'Ci"GrdUqQ6'-#r4 qXMlq-PVU'R,f*Ek!SmALQCrL(5"Zl!DFS@+i6Rlc`QeF&q-khMI&G82cq6PL'2I `U!YJe5MfeH"Z"1lBCi8lF+C4&Vqb5arHD1EYT$[-LhaYVU9Vd,fF[p(-JfMH9$k j9dPjN8J2"4m*dTi4TI(5[J4k$`h0lLkPe@j'$,frUj'dMRQ42EacLH[%[DV6fL[ 856[INB0h5R!1h+XFL[H*HY)9N!"$[T@$FZ"HjH#q%aqRYpBK"qZrP)2Z93lfaI$ qI-EV2IaH0+iMbSG(XCiJZF8SjL[!DXcq'8Urq)er%'r@1GVrpM(S@MVM$HdSJ`q +m-2D*I+jAE4MrA5T"c+HRF&cMcd-1[CbCFUB,1i$GY@[K1EZG+eLrCae3m``008 c@*HL0kQSHeP2eI@0B5m`dii6[P"S@8I`"SrpqSiApVYU)mG*ZiG2C,rqZ,DIkX3 E!62JkA&)Ep!Cl$Z4Y5TG#MQJUAm!'RBLGZLP%9kkYN$F*EfCpMEFCd[[[P1F$Np +&r%fj19jjRahBKr0+[3)19QIh"*j0CUh+jIf+h34[dG1b5[Za$hY(Z2h'd4e8"I Q#[`[Lr8!D$m[`Era!6Q6TdYHeVmc((2iVMm#ARrL&["&#*bE5I[(2HRiTk[G%HR 4[C[J(@V[CLTQJ[5G6!2lPEZr!SleDI"R[,G3[ar[DhND-b4V1)ekLZmcq%dmcq" G(,[1`mbmm3[XjlMe6lk,GpqCGHF%fZZhKlLHa2pdUGI`He"1Nqm!iPed'9+h`4h Yr)H2!M-bKR8CTB&eXAF@mHrXX-PJAU)dX)2BScL8mQ!rc1FjeeEL4,6lFIaEGAJ l(,Lfj+Z+Gp*XGRZ9GdAZM5i!&m(qJQrcQp(8AK5T8b#1kf%pCbcc#@$*@CLT@V@ rSd@pQk5)Gp,aHeBPcm$1Nb[C)eAG[J6[AGSKhc!dM[94YH12FdV0IE688jQAMC- q!MNldJIhIle(#ll9GEFCplE6$J(5NHcBQp!$,CcHR,+2[0HdLl[`hTYk%911Q!V %-&E42JA%c%F-l6ZN2GlT0-H)U86-%Q"D"Q,SE5A&r(BU693KK[E@NfjHLrXkh1I LRR6cHY`hiVi!pk5E"h%I`Vd,pk5EklM(1e"(-#jf`2ImcYkAjjlR[5mbMV5M)Y3 06r!)U3I5'`9T$bPQ$0rmCKPm2dSjS"2#-c1#qErFa65#q3RY28CXZI3!bMSk-!2 +@p+)ld,SccVjZV(RYCcfY`'AbX&2m['Z[Qf8#hM[lir(@q@XZ1Ci(2C+["2(Zl+ Ueph&[HJ5`r(Z&GCY81Hri)jj%lcjV'@ShHE@cUS1iMRk9q$Pq#V1CmmM,m"HkY& dc!ebXijh-QHPh,dhR2NI-!emC6MlPA!(MMfFp5IFB9D'@hS9RP`jJ[8UD'X1q!V q#9VlXm50i3AB(Gib'GiR[-F-QJEQcJdGcS%m+45[BM)3Ni*p)&(G$r@Pd"cS95r YahFUY&1m@CEV5qQ2N9a`11-Ne8lD*@)c%,Xr'[HSZ,alXrJJ[!Al@![%IZV#QXL 4-1d4`1i`a#lTcK4AN6B(h586'X0Vj)eLhVK+LpD+qSMhd+`mJ,ZKkUi,GHhAEkG DGT0Z3ajkkSR8jl'[5pkR5Aj,((98C"pce+T[a(U9aR`"ml)[6"S3HS'j505KEd( Ic#$1$Pf$qi3FqrQ0CU62fSFfdVcUlGT'rAkmcC0jE4VVEmcP%)Yp(81aki2i(F9 Dqb4S0[GM9[G*hUILL%29!X[Yj%Z9(!#cM$j&ISiqI92HmAlQrEMEKlKAH$D3!!Y hH1q8f"ZEBr*cl!9rNlSYlQJ(20iJ4MXea+T*md+VFZG*6,ThMC2kJ(hU`*XdU@Z L&r$NGNNm5Q2p#,XYR[eGIrEr[[DSASbmm**,h30hNUqP56qmV(NcII-H)pjP0Bc pDjLM&19A&$eYd#0aal[jm)eG0CqPEqc9Z%&bpD(-bp3ZT1J1mIIIV4E6$MZ"ml5 hTmID-BIllH!qNRI4ESl@GYSj0a1lpHfd0`ep,5AY(c'Z,Z8j!2CBlmR#MZmK2$I 3RTG!GbEXZ$L+(@1(0SBIShIc$Q@q)ppS0j4j%$6Vbj([JcTT+r$aB*BUD%mClAU "2`icpZCq[HX9k@N%Ed(09Vm&c6&c$Vaa8[mBm)pi#qCEFSiKc0qS9RU[RGV&"2` CV[LA9LYjl4$j2M$Q*%0N2k[)HcZ%mmLF3lK[U"qqLZ'XKl&(3I)SkX-aPbNZ4%q PckKkhH1dqjSj'Q2HF,8rJIDQ$,(mJ&3[mfLT4k3ahiR@e)@GL,+ZHDL,IG#SDaI AC)JXKDAX+iVPR+GbIK3jCCh9khkNFQDSR1`hL1AmU-VCK(j)[fMeZSM+19VPY2C Md%jJl"dFaViZY8ITU*bM0+QE-"B-9Ml-hrKVhY2fR+6YZHjG2aUBPdV[&h99Vmm '*fG0J(!+f,59hrT%R[Zfb((b#lEA3Km!&QfNpcNJ$ldY&rF1`L[F3j-C+[G8-Mp 2BGb)iG0RSrJd"[Kd(H(6B,Q2"(S4lU6rl&Iie-hiK,I5-'mLlYCe+*hHV)FkXH0 Q+21V1$jYlF1R&,QRUqq0-6aIb'rY)e`LI3dTV0Y)[%L4r@3F5H%m+Sll4[9MCZN G`(EA$Xf1QFDE'&+C(mUpGSqcCeRA`3fapl%$Hdl"@c5pr4$U6@&HdN%ljD!A-5I @mFk1QT6d1lD)BXS2[em@DZ!h'DTk@*[L(6N8I`rUhd&[N4JUr9lNIGL"Ylf3!$F ,Fb$RBc$V'e+,(FBk--dEDfdF2dcLZqbP$ldm&cAFKei#q`Hc,NPc%IidhU[CMI- c2`PY)%b3!,19SlJGCMp&lPm(VX![[JiFGDr#,lbT+TAa9'PefqQp8qTYC$V`kf( NJ$mdeGUR`(ZZ%GX*20[&EmPSKDk$2-JKq52Z&0lMI96$Q!HT[,5$I3RL(i!'rE$ 8iBEelqF[!Sk4&QV9Q)FD(f3p4VlYLrD"NaC!X@P5-hjT1H@81k8M"@U1j,j[aSY 8eP1NVLRM8$r`cb&p*jV!1fDafqLNT[[i#pEEm2"f"Z`f!aCI6hZD&"EIE'&aBHZ 'BF$LEGKeK[hid1A3,hVR&$6Siqe5Vl0[A!SmaVY-')qK0hG"``21I+36IKVb2a@ bPf'`h*rUS6hH5Dc[300HdMf@XIQK+$D2"MCrN!#`fF(kUYbEij!![S`lJFeMhmE Q"hq&c@qNKm[KLI$3[SI"l*FQM#"r!f&5H0"6SA!+[!lSD4mf*c0I)qc!'dMPZcX CQ`GchHUp8r2Pl#A,r8,Xbdb@I)la19RkSf@FjArF"NaE#"b!4U)e!p2J'jGc+I( d%AiEZ(kY`ZGr"-kZ)(cq*[!j5HU4m"Dl@YIcqkhdDa8q`imRmcr-lc*5GlbE)BE 0fb3fTeMmMhTaKZ`&Z#Eh)PRb2qcc4+qCal#IL,"0cJr2D@cA)rN+V*j14aehSBi &U)2p1$3Ii69i0eNbCXb"%l1fJGl34l-@aHNNZ3q%p#YCbbpN,9U"USAhZEMZh6# DkrQh@U41McFLUEG'8$hN@ic9Nb6h2[fe0qb(kqZ00N29FSfU4ISkD1EZhC!!46A Tb3NKB'X)Z%Qqlj2e*-VhC4$IBGr1$eq($N&q@H)PH10h-YHMpN'X"5pj92%5mUm qJac3Nacpr!+m3+X&TZ2GJALlCL[f(L#20Aq88qf#J&G)cRdI,p(b%,mG[13Cb8X N2jDm4%Y$6GYeBE,2%fpMSYh'Z0pVhGYL'%#F!V&iak@-63#q%kICShM,,X3rAQN (Tm(19V`ei8VNc-3hr$Gi-d!#hM!Qha644$K,YFUGYiIAK%2Nh4EYL&f)((RiEX" h$Vl,93hdMN5U3I)Nl)&80GMNI"dZ8EdSM[9V'[,`APl-el1d[jIZe0[`aK!2Taj +cp4KMI*I)@JHhlT+FUT"c-HPah`3lrZ+eCC'H4(([&Ea!kNA-6H6FCJlF"iEliN JAeLrE[F`H"KaXTE@PYj1bS9hUKMcj6ZFDFmMiME(i`Tq%fIXMFH*H"fG[iPV6Bh RfaH2bi[(9FEV'mLh-GkrfRLqBr'iUq*ej-EMGXIVk)VR'iKcaHYSMmFeaZ11a1G QB!jfa2[KL-F0c1ADH,k-H0hemA`jmAa'2&qmMTEbH,jGmIkPaq[SLFGeaqXE`0e J[1k"Z!%m1"U[H`"hirdfUZ,jh2&maI&mGI'i`r'iDI(k$X6R)$lhV8Aa1JEL"R! d-jj[DcaI46`ZcJ0D1q,jiRKX$1$+RRKFR!FBpRMG!h-f`#F'jLQ1%keaR$$L10S k2elh`2bp&SrE&+rlJAMGF6aSMH0LUc-H&mHcPP#m(`1iq'JmAjc['[(k@Z+mVA8 !T`GiE6bI%Hp6Dja[YFCaU$@1SmB!$p2MF31m*-k(M,KHBKb2ec'JL`c`YJ&H1m$ EiRKQa2[G'YFR@Z,pDihcEb1ZPl6%mFmBi$&ahYmkS!m0k$6aI#ear$B'p)$YmES (jLQZEaN$1NTD[%paIYBDec1-Z!lA1S$I5q*a!rc9M-I&HBaa-"ih`-rLFp-kS!m 0m)birY3bd,m"h5iq(bd$HP)F*eSHLXI&jk-PVY-B!cTLA!Fe"R54JINH`)-"r@D JVh&F0q*mVQ@!"`rSbJ1kB*b[Y`cJk`#2'G"M"[52!6b,mdiMhSr@12pZrA9IkCl Lk*lL++E-hlKbaL#RdbN@eAMU[I+UT,C@AP3'I"jeGFjrrP*%CCf[bGQdXLRSAHj XE[)f15I@1UYA"R(4k!dibbpCA$TrPY0pfDbbZB[QAV,3ZF)IU-e2%5@"J'HPXmP hVGIj!@6-FekbG'Q60mLAU-NIp03lPhZAq`-VR3([ajYp!@mYaHC2AHTF8)VmXc` eG8i8'A5LqN"c!e8Gp#hh0Z8jUjZ$6Rp$rFS8%Dcc1LGA)mPNMR8Zp3HFANU-R'J 9pH&+Ih2!@92[VlRDZ5cJD@LZp`4m`C96'J2H'Pq6cprJp$3fHMf"*QI3lkcf8TA ,I68"Ij1haYp3fr6E!NkQVIFfiDV1di$'H2XVH,Z6eGjkr`VR#Ppp[62SZGU,A-L *cd!Y"XQrp,hL-Ekj0$'U!8&IcG90Ck@)Z3de!DqRbF[THFD3!*hZ2$4e68iIhG, 8e[PAF&q#+@+P[aRKAQH$2qKFjJd'I3h,R*iJ1ZG"CmiYk+q3!!HE1SB1A&&bfF+ j#qFiccR(@8N&9[Z[mG*id3!k2Fk![hPCRA0CXkr@@qpVm#,KE-`JM56'ZUQj2SK jED3D[63Q6FeS!$ALkJB-!KU@)[S'%5e%D-##'KVS!0A6h&!64$bJl$*2d1[-A9! kTHNX$-CP#aCaNN(1"6i-NVcaK2JQ48aXQMKeD[kdT8lRElla-$hD*b"5GM6#R`b VdN'XFXV0i,Y81ckaFBA[%#FUm4`lr)D8ibiNiiDmKVZe@*Z)he!$Gj[Nh6#8S&d Plp)H3PaY'Ym0Tp++C1lKPAdj4[6JVN$HM64a9iq9![LG0TpbN!$R#fYZZT%E,`' RhaN1kSHXiibVF*HMlUJ(,YQR-lEMVPlHCH5JMQ*j0kS@+`2DFr(@#5('(M'%$H5 !INl8P*!!8F"h%jaB15pN[PcFDCYP$mjk&$Pfb,[mABLE*RXfj6KUh5hc&H#&T,a 1!,rcG1UhM*Y'Fh03pZpmUQQ2c(h"8F4K)`hp,Zc%h6kC`i8q@AeeGH#Z8mC0TaN k`,RAM-Y1l'Le$8X-hI,+,Bq-c%eF-V,LPNrGF[8Y-fj*Z2RV0fqr@Eqjm+BhXNI @Y53-+IKaRHH41R(6Ym90$iUE1X90!A&6N9KlB[dYGH[A(a(VpSV1p2@hC5CQVpZ E1'(pKNGE%Q$AHQ$pa[RBJE4qBrPkZ%*6MSVN!M%S*!Dja+!,4%U45-N9+H0&bQ! ak$8ak-GLd0I&S-I&S1hV0al!4Jq4mT!!5#`3Jh2@Ep`R%PdLX9LNjSM8#mL`QHS @UA9Lb(I%N!$YkfrYAVrqU"M5+p$Ia)VeYqi3`iV&X+leYqi63k[%8,(qeQqZ[r8 EkfrG)p*beYqk&lZ1eYrD)p+HKkP-T1'jQTH,Y%Y&@UP)qkNBQ59'MKBMKiN4[@, %c@,%p@*%YKJa@Jb2L1%r%X0hLH'2Vlpe[aLqA3c[%F2[@RrV36(m0T(S&QQCB[J U-G`MKPmUKKH,i61dR1(RP"ABXSb%b60lR[PPejGqHP0ac[8fJ%K15AklNCT9R*a pdE(VE3NP"@8&*FGbV551#AAem`GRf@aCYCTe$-R@dZ9pkS5*pE9*fC2bY3Qf5qB PC!mTEl@PB(X6)*,JMH"VlJ0`B[GJ4lM6@GR6h&TB2rI'J@pEpYTp1,q2mbAEa,@ [P#cjf*S%$9mj*G@A'(Eq5Xl+6R#fL'bEr+80r"a[rfbfGqlIMZFkST(pQ954p(X RLd0cYS30keG-[qKYp'GrTfC(9[5R!K,i&bZbVeVq$HII3(H0[rN`!JRC5F!68h1 fK8h0Y*N*TYe-0*2-C00K$M*6c-&QUMR%('S1-p2-iHB)Fk5CETjQRQkHB@DBSmc 4jKJcdaaVMM2(Qdicbm`f*jJjjN6c6(15Q@ZHC8ifccEcc(2-I(1+@@"10Fmecc1 RQHHE&jJAQLjcZMR$,$5,c!qB-mf,c'+ca#`ebmabFjBjfjaM9TKccB[0HHCmFi' jd,c%G*ZAQTHCLma+Fl&jZAQ&ZF5md[bJq5(c+[2$jNI-MjT9TXHX0Q[-@Y0V,M@ AQA@QcrbBHE9CEbih'dbrf@Kqh!bB6@E3E$D[-9HB)A1PHDejRDQEUmc9CYJdc"D ce@`cfmdej[AQ*m`1m`Ec4[16jPVc*[0QmaDcdeaRVMFhQ"[0@mhEc,mc0jQhQjm blc!hQhHDGjPhQehQ2HDpjKCcUhQIHErjDE2Er)cj@I0cjJ2QjmeYjKI-([2[c3I 0,jS2Q9mbrm(m4h1lq@AcBI-4me(c-I0am`PcKrQNZG0mbYaP2QdqBhl&h'eqeAc @I-lFBhl0r#IckqCHma[Q0mer0[HChc,hQpmf$jM2Qpma[fXH0,pRIYrmJ@QD,jL (c"I0`qB2c4qC2cD2Q#qC,jXr-BqD2cAraIbCHFcmZIQ+qDVjQ[N,mer0AjV(cGI 00m`hc9lcK2Q@'G%5XT-[%$2TSfJLT)4!8#XJ1D9ZZ4I#Jp-E#2J$fS@qKQXmpEj DTcINV@N1HUVV[FiDIkeAbr-e"*'LZC(N!1d#+de6d"r`,)-d89-$&8Bl$cQ@qaS mP)5P*@J4@Qk6EeN$&+F*@J%T'G%8$FY5NV+((@Qe$4efC0KHR,YaEXHj!qH4B3I ikdMf-&2,dP+c8ajXYGP6(Z6rADGRfff)5XP1HCQLAZErrY1c(BLbY53NVlpe#I% lqU*$$-i@JiH1bNl4EGNT$q%m+PU#"396cce[f[NAA1LDlUQZUI8ZYF8L5NV,bQI 0YNedRRh1K)+N,!e9#T[!iK'4CXqHY+I9GYQN`rrjRaL5jlrpFlVHMjU`C-+HL5( kifk2&AAQY*bZ-cRIQIZXc-lXR#k)0Ari3BFSq122PK9*c#kZD,@e*&kdTlMLSJS k,cT3R)-6GpErSX2pYlJr9YTB'LTGJ[-hrfQPaIM+jEYDR22IcI$[q@IYQ[A3V+2 mhkHqMmlD(VdjpAqSE([jfMQLI#ZGXd1c$mi1c4&prpQGrEHilekBZp!elr#mi#@ K"BpQckXJQTeGZdV,`Y('"pp0d2$,dQaCGLh,V@9P*0,&)*ZcCHV3NQSrp&0)YBZ A&1DHBjrYUrH@jbldVXM2cbr-[D64fm!ACI93)HPQNHFDlj4&b&6S*T!!AH300MF @ZJ1!BN42F92JTFfqi*4,lE0UI8&AlZ+'@[q8$e*BEPPcF!TU**ek5KR53pDEFMQ 9"Z'8%LcbeRYVJXk5q[ST*51T6QHY[kCjZEFKk23dS6SUH)B6MjcQCJ(R)Ir0d#E kDZZpq9S"a0CD5)l,R'KRBh-`AjX5MI!eF%!K00TkAieN!R8H#+%+pL%-Dkj6`8a (%!QNeFl9dQ60PGj3m!SI@VSLLDEU@#4LRmL4QM0VN@mjP%hRA#TfbLAF"1IL*LL RhL8eD-8bVqBUA6R$@HS0H!+e[JDrFeDqXp36m!5$(Qh'CaCiJ`(r#Qm!DL[8h(c Re1R6ccX((qFR15I-diD@0%Jfj26Ae$3(5"aI8BG*G6CjVU%16a*cA9GUVH9q9P0 Aq*UJ-2XTf)[3+mqG",%9@VMA#@'GPGk,Y!Y6b[d0Nc$ib*&8jQQSmGEEkHlr"`! !$3d68e4548&0)&"33cB`-5"28&3ZZ3!!!!!!!!!!!!!!!"ab!!!!!!!!!!!!!!! !!!!!!,LB!!%99!!!!"B!3`%268e38N0A588"#U`9e8+[Vl8k!!!ajJ!!"ZJ!!!P C!!!#h4JA-5J!!!!!!!!e[Jh!H0I,cN[QFcHpVEmTrj@`YiREP5ZRabPhdddfB4U qj23jP9-hp6EpcNfiiURKfBQRCaV"AcAT#II)88lfNHf4fia`XPQafq6hX5+rbHe MQh$#,h)mXMfb#5Gd5rC*11'%%dBBq@eN%aVC4hK'0RYbQa`RM'bb"ic`)mFTm,9 1Z'BAB9(#DEjlMH`c'Q&(EL[K%Gk!m!B-J'aJ!R#QRb@!"!$Zc`(FM+GPLpFAf3C 3F-4Vq!bmMc9(I4'm(fre0[V`rTZ2"%2YM4kr+a#3!'[A9lRD!L(h8``4q2f"GVQ cZ6'6N4`J5mAiG$+qAIC5!i$Y*%$9FIXccI*G+i$CAp$#N3d!pPIaAS2heaVZmVB #1'c"d2SU[#rfY40qaieQY-q&ph@lPQ33lEThI0`&KCrNZIXS9r4MR[X9$!'81AR Z&r!eJ1YIiEPI!YjGRdf@Cf$$Q`1XEj+d(Q`5l)kQ+Z`GNbJSGf2LLL%&b`%kES2 Afm,m53Y+b@lcke%PV,p&HbDXX!BFdV0X6rSq'4c0bX4e2KD$"3[KQHD&BKpB&ZV 2"N-8$J%!LK5PT!r)8pckF(bQ8Re#)SP,m[iCDCpNCrG-FN04#ecG+G&FB@04%N% DcrBr3E$,rBCQZQ4pjlpNJ%*&X&+G)%"@!SmJ)BKI0*!!eX*f-L"@pfiY*SS4a(4 XEJki@M`G(MU,r@VFd(HSaU$TDP'f+amSMi'dmKB"M+a+X4ehX4,TdjBk-N9l[`" `F"Hq@dBQNN`Z`2hMjfl@*GbG5Gaq8LpI`VSheR[4Yi+Y*m4UU[G4RR8hIaGXGar !#Z@BEklq2YDd0pf,Yla$$"'8!$H$E12+8kbbi'A-G#G)HA3jeSY"6dm2UkQV`Gb Ai0#K3a`2eF1h2dY'iKfqakMIhh8!SBe3r6H3!-XAAf6Gq2CPX(cL9Vb20S(9@[q S[Bp9RrJYUcjCbTY!pBN#bL[Q))i@%&[eLDja$)$JJkblD48qXH$*GF"U9L)qZL- R0G@I*jlp!9NQ6hGpR9m*Y`9G`H&B6$ILG8fUdUFDCTeB430,*cA3U[8DLU'TCTe )432,*M@!f93V%+4S!'$TFE#9*%5!Fd*AUaBG9('DH$EbjL[NBTNR%-!KiAqM"dp 2,)C$6K%!$Vqr&8HEf5M#PZKU(U,1305rAF-ID-9KTa!!4kIX&32`fKjXR`,i(Sj 3BeI)iZlY$amVIab([R&`2R@kIr`2pHaBq5L8(Dd(ql-rG6BSNBLZ4ee0DS6Q)Hc `3!cIRk,hl-!QhT8)"h1(jr!krCdZq4DjXR*D(3NF9RHiXP))J-2L$Xm4FJA(h"M S#Uqa@5#AFDJlVmfP%RVYripH5p)iXQ`X3K`"a3`VNB[%*RL0+DBS!%GiPYNFVc6 p*a`f`M(6L5lKB1kXMl+dUl[rSPGcVNrEN!!'McR%qc69[0#RZq5fH4p63N9m@5I 6TiH(rpH#Z2m`6#0V'KC`Q2f4hPbGSN$M(eP&(2&K33!1#UXE9I)KV`(5BX+4efk i8pcLb*(kYfYFGH661)3"MVbYSB9hf$Nqr)(1("qL$fIr$UYARAd@af9R2ipM`GR 2mlVJl(-ia![1ISU2[cRlD@,IFrBj(![1IJV'qmiqLd-Fi1bYEP2G0Y1Ri4&fq*k 6f*IcIcd+cT'4XheDjAeDr1()ha(q98GqXF-+!aajTaDY[Y@eFd2Y2aaji9mG&3+ GkabA(&8@af8R0-r(JK2+iEM8kDG`[0rTXcJXlQaA,%!Ff"MQV(Z#9d-eaeT'%jh qbHqKjqjLBbe(SH`(@-(LA83J9$2Cc2$em0dpE!`l'VjRbRH1LJ-k@3C(4*YYVfF Q+"F95cMdhS&C('fp!cNFG[mr[jfN4HLAQi3!SRKhjP'!E2(1-DriF'6@qej(1#+ +5AqBKf*Dj"clU3k%LPHh#J&i[GBj-V1"l)cK%SjFTmrT,01Kil-bHcF+kG[U[hY 3#Cqf([l4%FYc)rA!AMX0C3lqmiY(f40m#F+&`(T%*,!$"dI5deBK!!kjlD&"`!k %r@8D4cjk&djmmYr!@4`2mV`F-8da!!iqE48#m-URT%)!(+NTk9$N)Sjc8p),["+ 12(GrI"C(MSm-MJ&8d88FIpCCFMUPa@Ed5Y1T(!lkh`hd$rj$hG2qL-eDc(F0"`@ IFJN"G-qRA%)!("3f)8"IT1$l"N3!1'cT[51PB%e[4MP$SS0A`*1r+S*m[UU%9q8 [RS2m$pc24'c%52`pNICdR9qSmRFmk55Y(f(*p51d0)4qbL,1md8hJ$fCF@Eqr,V lTkBd5BfNT1,N+ebi6[LcXBPe0'qT5YJ6@lDBFB9'A5+()"QAJSA42L%mDAe#1UK ATKXMr""X,`K"'*G+)8m)dMT%"2%dpIMVcLr8fM44*10XeTe1R'4aZdC&#,*pd`1 YPBl"+IB'TAV(!"jl%K0ZlSABj"UPQ@"1V"AJ#j!!NQC3l"+PUq8fEq0UefU[*q6 "Dk"C$Ud@V8KJBZADf69dH6XH'ee-qc(+T52!BJB1Sfq#CE%1QT4+Am'@Z3,[hl! qcJHlY,i00Uq!'dK@P(0pPGE3!*r1Pr`1eZ,e%FV*2d'2$[!-j6C9!Ih%j,11UJT S3cam-$b`(h$VKN6BBG0$-)Ljhe219`Si!@"m9[(aRm-$1%(C5cR2+r!`,V0iRA) EEi1[iq5%plDPTI!%jTC5VRBji)H,r0XTYraT1)+chb$PE[Jb[!43m5R+PCI58VU +1bMAUX1VQ0[#1IXLi2D0#PaN"h#I"jIU3FApP)Yq5rSS`+TQbYh8,99J$MP"lJX PA+#hDMrPR!p)Z"4[$Cp89r9)L'd0(p`%RjHk-(H3!(+,1L3Fd+rPqj-Dia,b[Bj frd$&0k8G!*@FXi+(*C`A9QTFU-r60T!!QhQ0-r'a2I41iKY*LJ1'2U#'ibl8UkR T8@FUlpI-X+fa6i[VKY@R4q0&r"G,qLp#)IecN[8qp3iekXMmHH,2NK#+Ncrh8L9 6q8l&L'V4EDDp3mE0+fTm11ENdkY8fD!qE)69S,*9a5IUeU)8)idliiCL&X[$CP` IFYfTlYUK'hfQda-1UrK*)U$%qdeE5$'fUA&R`l!@k8X@,+3rdNQQ5LMRe8bFbUP $[FL*)r1"QYG*BLe+I2e*-CG-TiLcb6ir&LZNG5JTB*5E!*ECPC*2+Ib)aZXP!6S 6Ar+4YDJDFH+m0Bher`!!!!V!VGGT[4rKj0L4Bq6C%aUC-!NM[cE*5m,)J+f-V#c D'MNU%dpEMa%QQ6!2haX6c`Lqm*6JRbDKj"MjpGJ4GT)a)j3mNd`CB8FB16U3!"d C-$*JK*'MC-,)C#A(b)#4'6Y#)i`-+"Nb3Lpbl-L)!QFplFJa1`QpAN)M$%m3`3J U'$!"8!#XVXmEKJi!$0r$!+%Eq0j$6FDh$YpHr0N1!@L9cT['j%4,akMeKJVrlPD !hYD'!5eR+UDQqMc"r-Z$6a[[5@1[CX@RcKH8iqc64eYje'V3@D[0B8%AliY&1-R lVLlSjMe5HQUeBR&M!dla(RQp[)FJX%33i1D4@2TbmZ,NZ+f9e,LZjEi&XT5j0X- UDAQJMbX3i04Eml'c&c,p,FQi,#IM'1mfY@h&TEDY3*!!["k-C[S(,`hrJL*9'h+ TfK$8NGIR8PUaahCiSKCHhPPQ&@Y-ch%&kSRk1Y)rEUYQ8FQVZqL&`3F*T0U61Dj !L%r6h(688[2'H'&N5Y(eH2ilYAVSp$`VCrmIcR)&T!4ZNXVE5&V*Te5PS*T@I'c Ekq,pkNG"j3U%"6@k5F@*f*k'l,1l8%kRNbP5'K+Bd1e9+BZ6DZlB&,NH+bm$H5@ P8H6kRf@EUP)D+BcdY(FB%rC@YYAUm@iR9e5JLAZGb8Q@AG#-2Dq,CjBq#+qN4"c Up(9&had%NH[3bN0"*58UU+%56[NH&"B,lmijAVN5Fl`@G81aIbHdjL@d"Xf#'YD eNQE[4B5XGBqkMSY@"JR+q$&-e`6YjJ!TrPajeHMd-FU"36-jBa#Qf@B3T93C00% N-BM3E$#3!'KM-,J#Sh5hZ2j"q2IhP9FKThIp0Y"ff26A"kRJ+[CIrIPEe+YkTrr K`lmb[(+j2hhmZ6Zqh%El2[a,a#Zm*ICpq,H*9rcLG%GPkNN["Rd8cCf3!2Yd5ra jI!!K+EjVj!(,rM`3H,[LTiak&@miYr!2!rk(jr%2!!!!$3d48e4548&0)&"33cB `0#"28&3ZZ3!!!!!!!!!!!!!!!-Lr!!!!!!!!!!!!!!!!!!!!!3LZ!!&PBJ!!!"E rrrrr39"36$mr2cm"!+qZJd5[Vf30!!!"Y!!!TlN!!!$"!!"1hGY%*'J!!!!!!!# Rka%!#"cXGJKL`%(MEA*35qSCL[(e5dZj[p4Ti2&+b(IqY%,"80HN"$m1"&VAVe8 AG`k%2%j565$3UBAcX-ZS&R&HV-rSqp!Tfb8#((qqdrUZ15k[[`GZAE0eY@UiIX1 1(i3D$rG`q&+U9I[8rmXH[#mPCDDmBDi9"l3IL3k1cXSD5b%IC+hii$UB5q`j%8k F"!E(VidlmFamj4jh&1TF(NRT,e)G63UfljANF"mi&i5eZ"2I+MMcPMCj6RblPJ8 !!!!1!*@pc1`YjEqbYeql,19'1Fdkqj@GYePddNA,35XrjHI9f90lfHPfCGTH-kj YmHa@U9e&qF@kD)0ZBIZdTrcmS[Z0EEE01VD0p@Cf#phReE&pXFdfUl2(Fl11GE' GV(3RfakY&DMVUZIRPEHiYZ%H`ID4A8P!!Li4H*%(b80b)0N%T)F2H15J,JqZc'l d,9hDZ++a9JLKIIlcGF2`Zqm[5GMSC`ar-U(cD0phD+1`frYbeprK%Q,81FLl9SM 0e6DY2cIqPhBB2``lkUSr6BMN2+Y1IchUqe-b2bN$hrQSrCb-[rfhY6mf-,mN+aI 0R)R[H(ccm5h#pc*mUr#YaAFj[L[aEFIh9Ra[arGqI$q2ljIaI4,IImEh),k(mId *[UrCK*D-l`KmcmCh)Vk&q"EM@i([!R`AirX"I!2iK['0i(X,[ZK2Z`rIlIMZa(F 2[Pr(ph[i(X(hhfc#PS,[5(c(i6XChkRiASV[A(`a0p[lmId3[MIJLljX(m2hlr# p&pr2iSZjfCl'&c1cr3KIc-cf#jY)d[!GLZpSI#IK1aeIp*9d*EiqI&IMfi([HRc [`AFV[Pr!pb[irL1qri,[mrMq$&rXJ"hpf)IKQi2[qIM1`(F1[J[apH+,fGYEm-9 ZfE&EGXcHMYRE(m$hBAba@hEdC%G2pTrLffX6bDRiMX)AqjTm,VkB8I)XI$(hC1a 6XKrI%,j4I'r$&cdPBeE*hIKLCj2r!9rX92)riB[j*f0RNc'[C25@JVe+FH+ELqr &q'*@+9IKqcjmd9G+)lkB9`VQPI*aI1r%&cZ9JTe+qAYm(m-AHj!!!Ma)q4DqQ&[ +5rKLYe*1fN3Um#"e!VlBfG3,m!8HT'*R8kr!G`Qqf,(8$q1,(P-0I$X8SSfM(jI IAbC+Y$)0hbamE581I*2,LSc2cdNf*T3NM@PeP5BpEMa@-J+B0&[l4kfYpC+54FC P*6F*-EFKl!XYpGEkj[YVa!*[Z*jqcfh`Kbm,HCH+qF&DEk!UH&NJ@1-0L2N,,[1 &bjY$TBd,[FYpSXbhc0p`G@1G0q`6RV)+Am!ApLeDf9!VjS53!(j9X,QKlLTIE9J Xp+eBl'qS#ki3Xe[miDVJSRTI)#!Ur3&rf,I!ep!XUR`Yi6R""Ul%#9DM&Il3SR! `j"-),kS0H4[&0Gk!AhC9%I*bX6*[L0*4V5NB%Z8"Ib1R9rVVI1AS+43-L+VCFaZ DI+'`@)3CeBDYB64iD`+qZ@(IFP%@#0CH[b"iJdp34r0m+`8&VI,8UBSeB89D5KX E!qm00[K%jG809&M1$bZ%rU`jH%*A02SDX"D9j5%I&S6h`K-U$`5EX#cbGd@`&U- TV3hlEk!9SMBAK82qKQ9LRMm3L(FXFaElkm,eULeCZ-,Ie%MGB'QX59(r-S3pDIC KMfRX[&*bKDZ#[0'd-*4&`kIKL5Z@,QhbKAPa&Y8(irei3Kjrl4arJ"G`EQf`J6G YS-2bHQp)MJCEi@ZSieipiEN0h)ZR$"1CIF8FR[iLrdIHA#PZI0(+*X`!@dYV0"[ 9j)T5RiZVr'&dM[&@HK[U%%%qBB#+pNd#+qPIhV`Fdr)hK#Ym5lh0!F#$h)ji`lk !Gk@S3T[P`#Ad(FD+934A0%LXUI)$cb3L@49j4498H-VQ"*UEkUm*"RL5UMG2105 rFGB85QGl3X&DAe-6`B4[pJdqG+X+!K,$rJCIKDqT0Z4[","4H69QJPaDRLBdLi& B5c-Ip849b%YcXm#X((Y-Zi1ZiJL'NS5JFaZ@"X9LVcqm%!9Nlpc1R2)b5T9lU"D G80(2Q)Y"PJGm`&(%IM8ML6NHlc)IJ"dpUTfJ&EiX&&c"X)#H2%%!,+e5-"M!`"T ,kqT#f!,'NrJDm9**MS#8q%Ja,%)(+XpY!0amAJXAD8SdfkBqQ+l`KVfFTp"@l9H m6CUi*pM%M8TFZXVAa0"de@9PFd!SbS-"fMldE0@8N!$-8kB194S0Z'rH!'%1,CV MD3jEX+LfRGBVY0`EpQ-ECSHm@(B'8iDh+Qr6p3)P*B@j#JM(q8h"jK")!me40YC %1dRB0VIK"Qp!,5Q+"N'AD#K9366F&2B#hX!EQX2"Drbq&FJ-q4Cid@H)kY-ZP39 E-0"&i8#&haX),T-`(&q)prT#36N*MkpK)3f0Q"dUF+q0mhd0b`$R$(L-)%d+)JH b1@-"U&HPclqX(L!6ZMaBSlUPj58U515(fBT%-Z"@X"%32&Z#28eG&Q`5&A2,[(8 ,'*FpCBY$!'&9%AJ%QPDR1#BYX+)(RN"3mK'-N!#4!iY@j[-eSLDa0d*!p02NZjS b2,3F&NBSpP!*(R5piSdK$&PY-Ff-GL81PTl3l&!)8%&`TEDI5*9%d!9ql'D6$h1 SSp8VEkDp9-0#DhdBc'[JDlUqY,C@iDeSD&jq3Cf[9Z"l342L64m'lLAqG)IYrNj 01$CQahDlXd@*JCMZ5,TrS5&FP2[Gjf-R[[Yil0LMTE'GXXl*BfelfYTRhVHQBqD H05f4*ejYL4jUbbqbEFJVbPQcT+KX3f94cBEkYQKEIGYpEB&+FHD6e55`eE3C-dZ %`fd)"h+q3$P8'l&Yô!TUk1iZ)GcYB`cNhFTjeH+-BP&Hf&2@hZ+Z[F,SXEA [e0H22S"D,B&f3h5fDVXk0@eR6lDfXcFl)kpA%lN(0C&PY1*lVh#KMpQUrc"k6d2 m)K9[41cFrMQ-SpK-3iM9l9YDd,H'RRHiDjr`p15dGk2[,YfIG,rqrNREp@*madl DlQl(V[c0KALCL'%h($a6265f*Im-SC8D`SPj9UqZf)!jCPj0ZC9#C#$R1X5j9U8 B-S0qahBl1YqF-@C,-qECMX[GM[fj3"qRH[qE#h%efh8dTplXBhRBZ8fBiC,BEK( U&FI'(m5H'pMh5M(U`e5MSG`3M!djl5fGAZdKe+S#&ZcS`EGA12*kai[FAQLXU0Z 0ZJqJ,Zm!kRJ31er&jL1@hBF$Smj8HC@)$9'aLNTaaNN9+d(XPEjkCla)XDF2YAI 14'"ej-k@SXG&2E!11jI+f+I21VPpGG@'PYAPY*mL8aqAYAhQ4U(TBmGYGpF+"f% IBCkHk3)!L`cpcM'C9HdTXC*Sl#$PBNmTrk2Z@Y6Bk2,SQ8j4eAlNM@[DR'lpjU6 l8E-Df1E5(aQ6UAmAAh(*dCjNp*dbq@M2*'"ZV5MTQ5dbHRc#fE0'Z(UfLEbH*d9 Kci[#I6!&)[)j`R&`MXJiZ&3i$piNA!I[&hN(Ra+&"hmSh0M*"lKrp,jk[G0$-Ci AiR*Q6X%c`4aS(TJ&cpHD,HSIVa3TMr!HM1qPIFr6ajrFMTa28iil)Mb%4rUXFGY AYffKrA$UBq9qp%i!0Q3PGQ4cI%IfrmH1',`EZfJrTKlY`Galla%Am0iNBdrQU$d j"hZ5JMeC+PbpMiN(NCIAq`-43PjKEdaFJ&ahEd6mV2H$iX(H5dASi"VdJ6NGh)B GHK)lp#*fb)FGQSdGQS3G5ZBGk[M2(H)G'*JrHMK@+C+EH@FQ#)mqhUjf+4QlP2a qY8YGThBT5hq2`TSXp+1*+Ar'R(hrX8qlp1pKPhV(C+iD5cYefG%HD,ippc2(!hI %6Ne'2&8iHTi5'EhYMLNp2a61hQeLbPG6K1ZVjiLmVmi4K9pG+YcJI#9kbT4me+h @8h,b86F$GCdpbi"9Pf(rRN,YbGLr(iNTb(1IG$LRR$`hBmV*bae66Pk2QDC1bGG 6Fr)2GQ!(X--(Zl',2GM&)m,jV%1iRXd6HFp@LX*RkhNAjrrR,[)1RGiIp('d8L3 apQ-IZplDak5[Uhdmp[Bq&[A[i`6a%AeFBKr[kY[(DpCJjhEPEpHrQlqpIcIEhYV 0BirU@mjV8EYj(H-Fm+ihGZl$`(XApB-pG1N#HhN6Bjd,(-%"R-YJER!1G[-HE5C bR,dIc(MY)&`a0*q$i'8(+l",GZ(mAeb!jhekeR*hE",r*f"(QV!2f*qLQ("B1j3 r5U59'UrYBNj9HfH,QcL9iUfVefaTF3YKeiH!XbCMcQ0bYq[Rm2jp4"m$VM`$m45 1Pf!'$R$"6RddmUL@Zcqh9H8k*IpdEi0')f)lD"id*cQ$f&T`[X*+NFlmMfH`(M2 BX+APk6hY(H"pKMjQmrCHel(F5K&GDC5#rmbmDr[U&ll5SMXhEiF@iGB[fVaG(ih [(Cd&a"Q84Z'LZU44')pc2)pU'-q,[&C0j#0Hf*U0EkQBMYjEZAIJaXbVK"hcFH4 R#MYQdq&'SU(CR1jX@mE6d'UHKPC$qXh$d'Y)`j%UMkXd1Taq$pNVNJZ@Hrd0V2Y BfXk'jf0(0c`H1l,KhYKKT3@*)ZJ`NFGqh%,c"Cpe!lYqDHN(L2f%1ETf,+pAR#M "()i4abek4'Ld`rRM4#CbpJ%I4U!2l&*C#HNqd&-fB@p(ZHr&6Q"hhH0L-Ae5l[B U!Aa,P[J*3m`&NV1,JpL,jr,"dl#RkIVZ#`Nr(DJ[G,LSD+q*+mEcRe$j'!c03HN *ABDQ1GcCQKMBM6E-Z`hcEX1mhp`4p!8l9lT)+kLYpp9H(iDBf+q2lA"lD3q-9E6 Md*IFaGAPKG$,LMYEaAc8U-"mGhGk45@q*6del6dpfD+b"cM6%fhIapU8`$G*I+3 h9eb!ZNZJYhNXVFfD!H#&rZT&DS&8ra"X,@[V)1%#mbdfdL"X)+FN+[)k2`6`ZN@ NGhj'C(4q6@4f[Lc%ZM4KAeAl[TCe8i56qTTa[G"QA#kbmSG5Fl'plZTBc0,fX2H pP[EAGLLk'Ifj$1J'EL-@kj`!A2%*4qXDBDm8N5rcc"m6)Jrji#62BAk9T"HUIHU PRQMh-(["rC@2DV(kM1Z,j0B$(Xk,aCl&phRG2lE&U)NqC%5M1pchJD$[LABEKk* E@fh4,Z32)icTV'Nr1#rfUZ5hq1('hL(ZYq+BfC88'jJ(cf,2QJF-B)2DPA4VlJB iUR&IG+IEMKNM[dTNc04p@J(e-V!A`--6`-2MeZlVUhK@ca6Y@G0Y!#H`,chjXMI JXmJelJBZY8eXFGZ&eMNHI99Rc&aeMbLS&+XPAL!(XmM"$Kk-E2NaBG8N0EFi$Y! H!CG1!*H1rfi@EIG&Gf-1$f!'1qI&hQ"0k`mc@2A,dc-`i1kLh5L0LSc@ZkMqUQp 4M8UK*h1YrcQA,YU4SN1h(+Aj!Zqe5U'aeUU[(JZq"U`I$mkPGK(ckJ8HJ2H*%Xc J+11kM1@TqM66Re0pLNHH)DeYe63j)l%VEj`B8GU+RDqjTAKa&hDi9K53!)Djd,# lL[EF["-e![Mp+(lAiIFrirGeq2dMr+l#EfK5BRl4RPZ'iRF&q%dTpEm*qi(IDIU UT!0kVBE[%3r&)imNIGZG*!ShMim4(cI4mi6)iGFaMk6(,4e3a9RA4RkHLYqVF%U E&cXTq5lc09'2hDTqGlIbJ5h'I@dl`'QFL,P)#q$GXIIY$Y@KhGDI&!Am'pa(Ak- 9R0j0#hH,$RdXYfJhle2HiYfS0d%8U0h2j(L%-%)`TKCpAfKjY)H%%DF`RZCd'Y- 0@rYc#JHGY-rJbJpe)QGHV*FjkfPFrJfq!L1+l[YBVY480FDd,ZbM(KRE8L95QJL RM0A%4FDqa(Y%h'#mX(H2&cEU(m3TUhZeX&@+(0D2DBp3de&NaQ,![8)eld,d!#k I[1EY'T`hPMd(UVG#kKqp6d105X8emRMIaJ&Va$(Dadb+8kkq5U-GbS"ZS18PbIf 4XaaViA-&pE@$-'DmZ"MpTD[I'HVh1HThT[Sp4IefiRF1IQG&ARLpjIrK#l4$HH" c4AXqPSZCc5GZAf6b6!SAQjMRq$JHC(&mY5J!rrS5l3Ial++Z@!bmAXZI`(2GTrK ,GaGkUK,fE4+AZ*q0E6qJ(499aJ546[1+l(fe4Ap83'qIa*SBle`VpR##X"1@J@H Q8`br-pA[+G4A04c51r!E[C4%[Mq'FY1C(aLaEP8RAI9IbpJ`!9`B2D!Hp81a+3T VrmppfG!D1aEI'AeXLhl24*Vc%52#2@9#Gd$r`N9cV44fpJDS(BPc'MQ6j1YTPb* Y,a#2JHGN!Q-rB4aU1!L,JE(-[A6pQ+GS#h%PN8Re8)Xj"220[VipZMK#@PBkeGE (*A&ZT2f&PXJffXAahf+Xa8j3AlTi1C2f)l,jj8cQ8jJAq!GVP3VcH0I8rY(19(4 N8Gh8C[#E6$A$FkNfeD(k9!Fp-*p429JcCmePF-rDX&2@VMf@(GHAZ[60%e[d4k" AI[r#PNM[5pr@EacEdSFM@PBHjS'i+E&'5`FqT`2(V4ed5QbepH%ip'L*elalVNM YGeXL,lkZpQmFep%rS[B2hSbm-@VrEYcR+CV)qqH)r",ifYFRGUj(lKcUkD1aFmL 0e+'[58qMMh&HhMRJ12@LLkpP%UC(E[aDCZ5A*ccSMEN-H0$brTh*3$dlB6cK&'% bpLe2cBhfc8Rj9*GUS2BdRP[@5`I!f6akp3Yh$($(Vf#I"MNIBBhq'2B,HJ$Y3H5 T9jQ63bpBb6e0F$+IP(X8hq(rb[HJG9hAHDqSlRaFe(8q,qVAD5+`,PXdVLX9B@J r5m$rGVUMYc`%AA-*0&[iMac5rr81$l4k!ZEaIJjbaIK--8qD*6J9BjPHqaVT&'r V8+IV$Xk,H"(0%c2EKAPGKhP95plZ'0Q2+qQX68`B[Id[[9*2!ha"FJ2'0,[L+hA jB$I%(58Z[lC!mF2$P0mS1SR2fSLVURVCM,9`j[1H'Q@#mJKlG6'a4A%NjN4+k`U iUc13!(2fHkJ[F&(4'4&fj19#DlmB1'l(I1c3-c6%(20L*eLM33r6*Hm5*G56V*% KU)EL@qGBr!`e0F8hQ)HThh%1*[ZSC[if,rB,jLE[iXZ!ar!aEq`jZ80[0")A)(j JM"Aj6lq1286pYYG&"R%IiUj5%a%TRFJR$NYeP!D4'c&5`iJY)ka9XFZB9d#ES(U UeLM5M*%cLR+SMR%MjrPfH,8ke#j'MhQ)cd(-3rdL0KZrSI',%X3U%500h+9kG9) pa,1k8CpfDiH'hk3TD9S0B6he6l&HeiP1YeHVF6qZSIlb+dR28RAFR0H+hrH+'FK G`,PHLSfqLh8Q0GY0d+&2cIHj$ZLU`#qhrT3YNl3cH'U)dq4f3128Ne,$lU6B2Pf FHb"V'r3YZbe6EdHGTf)abUHj%ep9XI1S0a8l(raNGem-RVefX5rI(ZX&,YE6,ZQ 3!+ka5pI4I'Qf0'2+SeQLPSGd9Yi&RRI!qerQ(AKrhlbGRk0jdj`aeaR!0CGH,Fk TUTh`"ZNV`&)RkF#khENGZ65lr2ji!Ff*I3FUCa0T(p![X!m(ZmB+Gj9)RB%DPGE q-&GAZi8mk%$JI,Ml8[4pl-H%@!ajKDA4f$%9SrlLqIhBil*k)hk0'4GBIC1QeYq VYEHc&5l09Vi'(p@M2DDDa$q*"c"ZBqBmbhERGY3Th(32VYP-B+m&p@DMrUJ'e@C [41XEKr[RE,c61mfj[J1lLTL'f(A`E"!rVHUIFBBeBr)G@([`rqi(FemCShi,qhF PYhm16TS$p4lI(maf`hIKjEf4Fi"PVfbRfSh35e!c!l8)dkFM2a2kN!#(pJDBlN5 1NrG5m6I1dE40m)*dNKH%q6-iaapeS%l@JH61,1'j(PTl-@X)KpEQUV`JjqeQ2dU HbQNK6Q$9*Ik'I1J3V2eNU,`kBaIc'5IV%$,(6lc3J2DKCZI3YiPpdR1"q@A&X5B pIla`%1ESbDrHSBYA$ZJLc`10!"kF@!`B@UNR[35rdkYhG+)AdRH-cH!26d)$B!r ,#0DY$F6B[`+r#[PA%#ZKqP36X3VZ!ce4,r'CJ$Fa9V6'GUJC61r+LZpbRZcpb(C S5642i),)Y'C#f%@pZ-B**hV-!UC9'MT`B4GmBZd[3a2*C-m(FV*SeXVRNpXIpk# ZNrTY&,'IlX"[RUfe&q"N-MH1$AQS6IXd(I0h8RhU"9Uk*l*&A%RqV`fl#"G%#hK TiqqeUp,B%B8*KIUZmeUJ*ac(hKKG0Hf(S5'd%mB8hII4`U)pDbZ"$CiGAY'-HYf 89paP#0,U0QNLM$d)ZlGK(aiAcC8Lia0+PeS*696TIk1NrJHY#RK11c5*mH8M8QZ ,[1pI@[,(mKi@BhrE@eZ"lk3$qVk,fS'4a+'Bmb1hcfYKSphZeX9h-QNQe&GNmcG T4bB46P&FDAp9k+NEpCLMS9BA[T[ahB6[4R`lm9e,Z6XdXB2iVclHk@%2$6`%AFJ TfJcZ)XDf8(i(B3ld*Edp03bI02[mD6ESmaR5'p(r&-bS!MdI"hqaBfE(M56@8Kl !["j31je&-9f)IC4(2D)21r9([@)'a$eT9["hNbF,2L,%h,@NMcLT[S[L0)ZXDR" Ic)+j-$J`eD3HD"E'+YBr`m!)q0&5[S3Cl93c+L"m*Jm'kQe&MqeVXk#&bpQjD(E 8`kRj84eV,K5cjV,ee&bf*ZDbpIGc38eh6EXTpfSNkdHd9i5e9&2Z)19+[aa`jm% 1F!eJ6`X`9mj,H[T+iaSf1,$+4ei+DhDFCj`X)3c"V!i#)rFaE`)@[U0pXFp!hm* cr#jiq+,59[Y@GmhDHXD(IRp1a`3a%rX6B(dC"MIh&Z`1VU*"FmSdeX4kP6D9UGm d'PjDHlZ"A2CqE90eU!EfF40Q"BeJKY+R@30![EMH@Q,BiGXJr,0A@$dcMk+HD9r aQrD9Y2I61HK(U*Vea%HKEG%H6UFmLX@a#61$hR,q@c-6PG$!L"-p3YU#UR(HU4U jUND-G9pC`c93Jc4%QUfH!VeQ+cJ(0,CjX9qUq`j*JIp[TZ3")(ea&Z@KRT0b*3p J6Bqd2p)D,@ihhjSlBL9k9jcRCUJBmH-m0FI#0qG)19EmrX'jRPJPjfVEU'Bd[hq Z$TTK6e,X42pFicN(jC`XVI4[-ZcNUkbe3TFkf,pI,TS6kKA'Gl!feVX$Z)3k1rS am0rVG-Sk(Er0$4!ZdLcLZ*J-A$3%cB4UCY+-j(aq`IFY802GhrIHGr!KShrIbF0 MmHS-l%*'"rI01jjKh#2b+3iZ69ad)*rdiRcd3MZ@SABR!hQlq[[*T&ciQTPRX)C ,26d'$'IIhe$@M"@R)Hc0d+ZGm"#KY`KkLiJXa(ieIr!#j2AM2rQfQ$GAU&fHG'V Imi"GcD62k&X9Ad+00r%+GGleYlcMDI(S+m&r2JRGHR6IhPbkfi#'*EPlfl1BEmh 0&aZI%0-lF0fbbpEq3ldf03`ZkqiDMA-"GI$mLp3E#ArcaX,RJVdUHPk8&F%Z30K %RKEF&2'a2U!mA30qbL,TQAbSij2-p@D5caThAkj9IL,5'0+,i1e&M8dGl&PKV-m JI5E5aCiZ"rf'MNDqKc$QL,X1,fIUQ!AT--3P)a1ICUpMjfMf[E)Zc6`AYDJHqC( d#25$9M'c8U3a,PTp8!fVEpD&hJYGp([(20#45%qDEr@'[[KQM9X6CH`TALQQ3iF U`@rb-f9)reA5me5$0"2XjNlXjSl6RTJhr8D@T`!k)HZ&Gd)2`JdQdK+0Vd!6UR0 kN!$MdRhir4@45h(D4H6NkFP16p'H@lp6G1M@RC'Ym!0%43[VP+fL-I*PhT[U[0( `DY*qPG$0)Hc4c+GEmM&Vj*5Jjr6@1j'$f8CQr`[UeIMM1JebfBme&YUBq'BQG%V @9j9ZFb3bXmH62jVhS`Xe5,1KRLUS*m`TNrZ#rS1HcMc9Ne20'Rf01GeACe`Ia3c EhLHF2--aDSBZ0F0VS6@KpcGR#$qIp$pjYrekK[""[G9VEZ6DI4lD"6A$V$GRH#I `(IY([D%RpN1FQQ(@VfHS2B-mmPpB-k5CrHF-Ujrrk`bekP-cc&9pcqIjBDCU(h1 T2r*@S,Felm`b0c&,J6cbQeLc*#r*rjMPkIe2c&*X(*LPdZ&[4,dq6(YBBGTIqLG -irirH2Yrp*mjd2pT2l5&hp3(I2U(&i!IYi2M3dpb,%!HHHmaV`MkFe!Gh#YJha2 c4-58jbU6BZ$*pNiIqe(EM5IjYm0i#[kRP2kDL%'2)erT%F4`-`Qm(Me3Vj4(ZTM 4KPP3,[QX48iQh3eJcYVAKj2QJYX#k"reiGAQ@5'ICl!82H-heD*jFMq)kfdjA'X qFTK$3HG(,Y854M[a*24+-FUabekBfpM21p#TaBiCq1V*m+N,P`Iai`EdDZ3Fld4 rm9Urp35hlBNHKUG4DE+LbXhqDM8Im(VLA1#-j'[BEi#[NPC!Xj%qXpKcb+YlTeE hZlAS0J(e4j`pd@2M3&hi'E"lXHFZKBqRk"%$RYF6I-XPFK*i)cfKI$p"pi%(5hp %&YISmb+l&MpbBM9mc$dEYU%[h,+!Ij9p4FK*riX[f2,ddAj!$aK4"@fN[lp1mP! 5TeCa!hcF361#YpSK[Ae[V0'ABMjdSk5[lK,MIVkYJClJ3m(p&0CA#+mNVZ6VbDm aaP#1X96Z-Q+#BZ3$*8cBm#,LdHKKQQ[Rh[rLV4ZB)@&bT9MiG3ZR-C1hICp8PfD IKph%(BiMlN-hdmbcS&8Ff8%c@3EGJM!i+CRmlXIK$G0ZTVRF-V&P"UkBU&h-r!4 b0L%AQ2m'kMbMTd-M6)FR!ai0dUC*%ele8IM1dhNZZ621K@pqb)KMb(GfT"('1iT AVE89A'hB,k9qJ)qjR3lTHd3r1[+bVliRZ5"LcQQNZDk+T)BAad6"e4p,Q4AjmIY DVVl(rU1q[*+#Ukq2jj&I21YMZ*9#qJPa!0a(dFL63I1lHUep'la-a@TI(*m!*PQ ce1Xm(QZhH%G33qh)aHip0j0rfB8pH4NDMhX(l5YUpqr+LBjN($C!Mc2J*kDM!2d l84(ILC[L1e(BNDUdIl'%1*H,jT5AaMZ5@@8-krhYIU`p[4rk2@SrfV%(KbI'pd2 QP46JeT59KrQ,k9IINR)TIUFM2SYi%p@*[*cD[1T$lfZ*[($PGVSV3rL"H@Sd6qa 0,IZ5KY$XBRQE-'Zk3f2Y#q&aaa0d'#"PPTl#YbbB[l'h$EZRlXUBTqq`$2KUfF[ -qP#94KLQlL(m#[H!ZDcP238"PALEp,E3cBpdbX&Y)+d$2)5d[dh!BZ3H962+BNe 6DH$@,'K'(9Z3!!H2PVi0AcQVJpaVRHU9HL)qShV9DefHK$HEl`#`jS8paQpE2iH JqdMNVDRkiZ2`6NVrb1A5XlAi%CSjl8(%6,f)I$2GQPL)A2,Dh)CkZ-[NiEhSVm% hHDJ1[#Qh8"fUKejZj[e"$HE!0G%ML%dRAU(U@[-!2b$[KlbKp+i[r"eZDG$Y![e Zq2[KefD['-ejR$9ReMYDF%Y#qq+p`V2KFE%8-mKRMbhTQDK&h"Ua*-Y65pj5c+i 1-ESaNU4Lj1Zc88cZafA,HIE9UG2c4HaCc2#Se52kbc[9AjhU$rjd-4dcU-*[MqV M2DS2fS0LUJq-@DU,Rj%[KqU3!-H0kTcIAbG6eDQbkUJDfIdeV[YE"$1I)qq0S6r HifMd#-frNh")pT`1Ip,5[Md@(F"+Bj!!meVqDqM'0k0Q*Q%KF*`i16!Dq"E(aYJ 4pKLM(ldkcl-*0a!T4YiQaLZ*B3[T0r`j(I!IA5ARGI@jIjVA+GaK[qDlYf2L@'2 K$24kiL[i6ClCBRMVf'qQqXV&64jpAZ`l8M11hqXjik[+Ie#RH00em1h4ILlCm,c dEr'Z54aH'TmVch)qhhAkiqj9rflh6R2dHE%$I#INGcGc9+dGd+2TIT+m@96GI3q ``'GK[l[khXmKIMA(Nh#I,8VqXkD9lYUQ'k4(DJlVV'T1j+pcjiY8l$BmeQ,%'rA N98GIlfSNIlU4CHeM&h"IqYA%I1X1$'%YF56SR'R+icYX%q,X2C*j`j3R1ShbL&1 4Mi0`"CM6)hYLV6+[Hj@`+CqlE9lXGEjTNCp%GH)kSj0UX$k+Qa(3IU`l&,rAIH* hM@VDXS"lAkX8jFhbjP3jklPd-jIQ)AdUjFbMm2X6k[HRe@qqPbDaV2a*PD2ZDj@ rU(lrA(RKY8ff0IBrlcacB0aH2JiYc8'k(EcYY0Z&lX-mEaIT"@U(k-k)3mGjEZ4 YG[m)RX08D*P'c*6HLERVU(IiA%LM!,qIfaU2YiPChEJl4GiJr3A5XF%$8YRA2Ba pN!#U&fLh4qNHR!(YU4XhC@NHh200d$3rLKZ3!15epBPCNEh8`q@-ql,hbmGa$"M mZhXMJrK5G+Jc(jl)0)PMPch11!Bq69jQh"ML'i@4hF3"44,PNDj0r!TaiJGCL1' ZVdEqR165U'E(`@[LrH6EXNPILJCIdPRb[JAk4)rXFkJ8@B`IG-X,pH"eCimPkXN E0A32X&)XX1k6231-C6fFmY5HCT*qJ4U69)hZaEYCBqP5HF1iANdEmblSTX4M`!9 PAP8eek)ikr`89jT'*XdqXT8ddI2C6kaQ0&re9d,jaPhBQIXkFEpL!I-@932h`,K 'PP@M8Tc(0l&9rZp[qrcZpNcES6DkfB0lA,RX9e,ckk4E0pLp&2BIF[ijI0X2[3D 3!$YFHHr)BdEBK*Z%&DalU(JAj[FjY6qjI68@I1&8$AQ[%(&J![FRBj1CrjfDlHm a+-i(fS50CPTPc*P&@%+e54qNZ98CEmpXb&[cQ-rhppkDfIb6TfBQlqlaR()P$j3 cic[90,-rhjrTJNF*(VJ&V!XBYMAJG%i2X'4mUD(Tb12l'dDdcG&CXdB3je,qK9c Q0ELYSYpr(ZkXJpr!Apl(EdJE+fFmLr-IQFqm"jlXB[4aGQNVlR,8h#C[+[ElIC& r1HiEr44pNNBb#la`PVV6NB'jJVqGN!#hYIYb2daF(Vq[C(jDdfCRRN4F80EM@f, !V&R!&DUAK$UEUkUISYKm`KP9Kc8!dZE"fB["%cq0'(R`%6Xj&l&k'A[M61,q`(6 @@k%I-Bp%rCZT[XSMV-I0%TVl[!qV[FJ$[Xr5MCXDN8mkJ"2hm1KfK&[bNAPbhdl Gqr[6l6&`[(4JcA(L9'eEa'ETGbMr([IbL-5&lLIKriII30qE1TemE,Tp$$K1*!D GH,1leY!`Kk-kr)4kAHTdZUr+A)ap5A+2b9H1@b$6LIrKLlZ4c2AL1UENNI#8S!l PF"h@I`l"bqIb4$C6[3V@%EJ'D52%'h&,NZEeaAD4!qldV*AIrB3SeTr!V+#AbTY PPc%IC[c$(#P(Eb1qHMRc,HU$jYqp9a5VhEqI2GMSJ@i5@AdJ"Xr+C9,2P([#I-& GddRq9)ZMBCGlF3*DT1-q)(X@rqZp-[JbiFpi$(Kb#A&pIFh%&ZLApF#hkY2ijMC @%ACL$X"R'8Y&V&M&KL"@L*J0X56L!#T'pE#B(%YQE8r'(&9YaRKSdpMVT,G[U,) [U$CeHVHGr8QNV@BJPU0Z#ML"Hq"`TD`lpQPTEh'(GfjDG!*c-YYUfN3(q&P4p0C HiJ9i[`(K8&DI,TGdA2NLmL`2%fjIb0XKEG!NNR#,&MFp%-G0I@"p6CY$FGP"MJ& Ikk8@(`E(Z*6jFcr(S2b,C2kPXaAA++(E'**[*&@lDclHGASI)qANX4c(0iS9lp` UFEY)kK#FAb6e&kqi(,faEXkBJcKfE$2Y'Gd3VK5cQ+HT2Pa'6IX*bdY$Z)PmlS0 [2dE%"a"RI8If0HX9#rmNjjXPll$+@E#Z*,QSEE1UcIT4Ilf[bYjXG,HPC&lXhek 5Fl$9UlTeDYDX9kMFqGL4KHLaM$KAPCib#l0UT,h'cYMlEahemkpAfAZ[-&2T)(6 V+PhU+@hNMFClAhJ@SrL@[h@[81,U+1Zf+@DLlE0i'0pK-X3`e6YaY-2-"El#1Y2 QEPYl,qP-hEAJ"[$GNXj-0erS[Tr%X9RApZ'BeN*c!#DIP,X2[ElQib@RGarp*M& I3-qB8EkFlmmBmePApp%0[0i[52fNlpkJfJQkYjUZ0$653d6hMHc&fibDUe40&qm RH"PjZ(Kfl!%TPrbGq!rQ4$A"Mek51c0H[M0#pTL&q9+2%pJh,lN6maZP5q!q'1r kTaAQk#T2BF![r#S2QMAR9D[EMIfmpC9[-'q9H4C["CC@X#kLH'[C+Gj+1T[LV4@ -3dSILGr'1AhhieIFp3hF*JCRL,ECDDj&HcVc#5Z*bk,(Bm#@qa8Af!a-J1q5Cp- TYEchm2d[TEX##i[Z8ML+h+QX$dK["pr'ZdlGC018Gf)qBY$b"0lT3&j6H6p!DI1 &k0ALJHaKej15@ME*ZdM9Tq)HQKYfQAA&2K`ZCaa@ZC+hbKMlKkQ(6QM6kQB'hF$ $E8hLA"SiT[ElQjM[kTbNGa!I)qj%HUILBXF*Va@@U[ZE2,1MrIT%CJHdC(8(%(l (9kD"Vab90p-ZiReLIbjQajiaB+aKDc0aBrXSc`pIr(EJDqr63iNc1rKY(1$1V,X Sr'Qd0&$V[KlZG5A"qkMGqBEP5EMS'jBqLcLm%"G*[6ET'1QKkF32lhc"iJeZUI2 CSVfBa`Ri+AE6I-P2dHqKq*qhXJq"eqjTShNbRe@lmj!!GIqDpJ6pEDAEhU4[@,I +--pNc*0kTpRD+5ChIUc8$m#9PHE"H4)Rh(arU9+-iCZrLNmPU6hLqmL+Pr$ZdXf 6[Rf1(32(8*JI1iajb([Tk)plrq2X(hdmGM"qXf`&I"LEF1Z!F#6DPNiiJYPR8Tq %b3U2&AlB$dZ-R5leCjK!%'2G"[hE0K%ZF-iBeY)LBjqJflI'abj"E#,cX9qLVj5 C[i#qhTUd%60r@rq$aN0hL)D4ILGMi2E!*0caS(XH$[cQ1j,Sbd'pdLl0Lre8)cc &R4%(k8h-#h%6@dq#ejPZ@-UENpMGT2edfdc[`Yf'1R!bF(,i&iVKdD-kI-H'HL3 GP,kRDQrUIP5Nj-2M"0dr%leb,DQGSCi2qTQm0`XX2AjPhfcqeGGpYdMKZl"*%q' rcXEAkBQiA15hf)dqdR%MNELBQqpSJPIbl1AY6CU&p#QV'jcppcK*%p+TcqJ6Q18 0FTB+Nl,)*l$kb5qfN!!H9bQ+@FIMpi5S215`M`0ll9UpPq+cq-i%qV0k6DHHD$k m)h5lKE&EhQ'QHackQ"l`laLiSNerCij$r[XFEF9rR@-4qj(IQQ14jCmC)ZIiRR[ rMcPUceKc"*rI6CKJDB[Gl@)VDD4a665qdcpE462kE$RIk+)E0,r(UD,hSMq&9HT q`6ld@LAjbdA+Pk"9-1EmJ2DMm%VfAc`'VTYF5*c(5@qdF+q"KfCE)E"LaJ`e9`G `P'DRGSKMK!8R'(-'Y!EbE,8+Nc4!dKe)*kX8-eRrY2!*FGDG8ApRr`j2TplZR2L h"h"S*[1'YrCh"ZYFa!rNrKBa6rj[123f$XIhpGMALfk%&`RhldTEAcF3Ii3j9Cb M+0m1mjP#pXP%NTiJRe&F`hJB21RGffA&4Y9XGrZ5+VUC)hQ4QhNq2&FV5415hL9 Kj%pBa6F3hG9[d0X"m)BF0ppT"@GLhbMLr(ZJ(q6`IUTHF,[)29V@ZSMjSZS0HTZ EG8Md)[H(mpcXkr[G$D)"RdUPZ%6jP5ljN[apS4ARhjJ"HVU%r6)d)r*`9GADCp' XV$a93rRHTV1[pMGHki(h295[%ZlS'QMCjmqPQ[#B3-pCNqQ1GTBKKrHNf+LiLR2 DVlN+1G)r3((fdjf[p$lSjY(1+a(RI8!Im#L[b8$10FL41K[&C8h@Me(6K[`l+d8 qm`R8K,k`*Kdjm0ENX`l"FDkCclUXeGqIlNkcPdRf#ebFa[ZSiY$jTl(28[8'IAm Dkp3U6[9B[eCal-BdRTH+Tb$11+ALi+66e(clI'#NR3(2Z#rFlZ6hk5J0jQ$I(!T CGqlVXe$U92'q#YQ(D2Q25,r[VK-ZpJjBHRCmKSAXkrPc,FbhN!$aiFqe-1[#8UY @[aCSl4,e`Vk&hrQFIU8jRM6*,`1[%hXLb5p$HXaRfh$A&$H'P6B$Mf-Kkep8!cV 2Ca5Af8[[)0M`[,D4mNM[!0rEMVF%IC,[PALe$R$(lKfYfYfi9lb&FR#cj$2S#qq ,+*4q@qQKe5dGPrb69*Im!hLE8[F'[$X)pimI3SprMjU-Ll+QGS*RdkVYk1H`Z#@ U`DZJG95+20jR9HXCQ52h3q9J"YT4RK[VTiAXUc5mZ+FFlAb@HFcc@V'Ehre3b(` $GhE*Td9Da`2GQPC'YD&IiGjR)I-3QLpZ`Af'IRIFUme"ch2!mED6plY56*'q3IJ h1Zr&[UMp`&XcYQ-IH&q`mpfBpGfElY8qpGDZ6'Ape2*++irq2Z`0r)Y6'CH`Fq$ 58jRh%bp"I$pa%VbaC$(YNEYf,Z8m32[kaHFe[-@%pQ%Uk`*U"qR@UShf91B@F&m UGqeIpl1!G@p9FmQ[pP08p1hRC-CM9B[ZA922V,qS(#I[CT[!REQT5KH%CbZ14e- 9lPYkGclV"e`6'!42Kr4N5#pcEPrG!ZN$SrfcY'Xl[&'D,3p[J!&1rN&VIS[6Y"% (*ee"H4aqc2j4a5e+iTL1faINmHe1"UCM$k3h42)Bh+0XT6U@Kk&5$*-hhrl)&G& l1QPeLIlJ`Ch'2"VpCIq9RjfHjFX$@[9dD+dMe9lfqc5R5Elaj[c5HHrqFZXrd6I Ije4p&rpfKq"h+Scl92[k(fTj)Iq`2p"e@41JfkK'*'CXShN@-[kJKbrrplGh[,' $2!EXh9pp%r5-FaPIS2RcV53j4ffqp&5[)JpeYI4H3!GKli@'1h+VF,H#I02LS3K mDmTV6ESkFTc+1b#1%FmRRl,84+C`Re*lRU*m-Z)C96q9m)Hd%ZR6&JmK4MIAb10 "GEBL0N6kSF8QB-5,q)hl*aUrM`QaGVcaJpmUJ9K,[eFl-1!P4HjeUYm8j&DSIXN M4IG#b#11ZA+r9-1KqXf$6[mPr(E"3cS0[jhir@'D0AirMpr3UGkiYVpRmPLKe`, Tpdei3[lGFfaENk8m#["1j#[r96lc"X@P,!m)qF'JfH3cci$f!FmXDN[qM6F5b$a iZeRAYfk@@(R+4j4,0DhqQ"FIS[Kj2rP[qJrZDT8Uh)-(jcc@4I"lJ#IMR@,FNr+ eR5I[%2cPpJ'mURcAjJRfUHEcMI`*m*%BZ+'ejB3(INR54C8QG%lmhJ"l6IliPT9 (Xf0l&4BHdeZ!Jjr!$BX(mAD+lq$HfqY&,I6ZK'K1@rV-3jdrLA`2pb5HHjAImX@ h*A"6(A2NI[8E5$HEb$U$p190C$iTlhC1C$e1[VGLS[3A2FKh1RFDDk"e*V0hFMI QX"Ijc!Zk@mA$Z0fcXpXV(SfB1CMRDj5c'r'pG+q(Y&(S[`GAebBG)*d6R*6V4MI KM8UhdhZME0@VRi"1bcXa4HSI+m!,cKCfHL-4EJ+eS&mG13lNi,dJR`32&`CbfSf rJcIYE-D'*-bP!cPVNH0%6KELG!Gm)q)Za(-4Tr[JQa(23c`IFESE[KAa3X5R)pl 00lhr$P6PE(i[d3l%(i+IL(94p!L2E!ll'53@j6#[ajchd,c"Kk%A8SeFbGFqE'N HNhR[*)FiPr8ZmJ46($SNF2R,l&qdlPV2Lhe,[Kf'Eb"0B6cY[PFma6dQaik54d$ f+IH2kZ!Q#pr1T6Ych!I[dN6'Ve2c'B%mjPr)Sjlf3-FrU0HK*eQ6p41*#pQ-Ha) AXUA2MA%mQr%#1dml[QGeb@ZCH1p6*VhVMAT%$car[L(RP'm1dFrNqhQC(@G+crE -,p&GVYKK2GcYFEI"Cf!`,UE6ql2)Am4pAI9DIdmjV*HZIZLc,Ia1"ILVb4FHeqi 'qX4EU!K2S%e*2Ir0h*1E*!DG`laGeC'kUiDl!0PD"Z[[`0Sr[EQ!rHr`N!#"&l1 Ijl0Eb+2rfSZ+@aa"MqUH`Q5qXk#iaEiq,@@Lp0dcejM-1REF"ea01Q11e*hC[cZ 4p9RX0[6[#G`2eD9FD*4dPihpEG!6S@%,$rbPa*8U@8HmMqYXl[i"r-qSeaf$GaJ D$A&FZM9!HdqpN!"hA,m*lc*kRM',FDTS-flZBMIK)GN*[`,ecM`*Xf@Fq-ZE"%l IAZGEb$bI5AcrJE"EiZ3NaL@9MjP2BThpchk#H&rB%qR2K0C"FHLL$VcYSTGZ&e- 1iQNU2P2&dk%0dThqBK8IVZ,3X(+9rb(Am[FQ53pY,ZmYCT4"1b0a29IY45lIfhT hCUb&3*INHj*drj2Z'Z*Z*(PYrTeA+qfTl3A'&rJ$*NZI0V`3d'HFd'RJ(4ep!$% ([4@"lK)3MK)HmTYL'+[P([p*Uhlc*XSEk2GZ[R00Yh,i4N%RZ"rZIUCclfYS4f, (F$Y`1,!R@HN(@E`rGCL,RGpY"YrXQ-`GL,&Z"0fFG`Ahd-PRc$2jJGT4[-@YqbC iE2#H1Ad02(6fT!0iIp"@bXHlLEBLedNeG$YZL#EE-R(INEdhk(-iqS0H2eRk!2j k)i@a3ZlX@1Dh%MHbEQ91FimiShZ#1+XEGllTA5#)iEBfF2%&[VY@l'k2[H,'1i1 JHeUqI(MNamI[r#('2L2X$,6(FD`A5Cp2eQp`iEIcB4iPqaSEecI3&pmIJ"FIZY8 ijM'-&A6h!RG+b81PkV"[5phi2#Pc0(l$$0A'$N','mGq9P92qSGPlaDqrfCH!lM "'U1mbl3C'Z0@[VH%QiABABHeej'p53H3!&1-q!I)bdKi4IFLF5p8hZc`fH!PN6H F'"[Kff*H#&m)Fj6i$CTaPPp3N!#fSA+N[q0rh@UL@f$b*NFZmehQ%M)ZI8Ch3lH 4Fe#q(*SRZ#Im!AaM%AGKqFi(emb5rTErb`G,Gk'`[d94h)`L2TFPNSQ[%Dj5[+K QhIP&CHYQ&Z@X+bQbVEYbjU&ehU*$keCpjJPkNiFYAAVQRBa(8VFCcEM@rAeaPR8 6K,@'Ti"GrdDqQE'-#r4qXMlq-NEU'R,h*Ek!SrAR-cr&1d!mZ!di8q9`RrcQK6Z i,mCe['q+qiEQm`Tb'2I`U!YJe@Mfe5"f"Q,XXd)-R'QdaDrXdSFhKRNlk3lcBPq IDqND&*Il0iCj%1fEULI[+LN[%ZQKi#0KZM1L0&kkPd$[SD(GhDZdfXh)SIGh0C, @-5rf$0pFiMi49heDGi8kkHBlDXMh)9)0a&80aIY%J(3&e*!!Eq@J'SLV'MahiZ2 dhMV8B2fADP"Fe@"I$0r2ClaqKYq,aRh%qI"SeK-NYaM0I!9BMGdr@qNA[rB2iXd k4`IH2JCG5fHmS4YPm%%4IPLh4$klPfkXRbAe3-DcXhR[FBG"aefZ,*Q6cA2!VIU 9d0aGlP@XRl0ZL"f'TRSfke,d*K89Pre8hp3Bm3%clIM#&`SYk`MHi(&!hrhm!AG Gl!4Tpr#*(0!Ie3j3Rfl`2RKk(0)EG$El6Q5[5TG#$@MUli''RB`EHKQ%PqiY%(G *EkDl$GYXQGehLE2J5HNLhSDk[-pFlblFSeQ&'D%Qkj0EBUr'khEPdAf&,Z,hU#P ja9f)dqdaIVp"A!GeBkr!rl*C$i$fma,m'qq41hQ@j'8$0m1aKfrl)q$e*fi"Ai6 !Gc0TriL6MRq@ZKf4'Eql#GkKlQkQBbG)hmNbF&qjqar"X6i&rSbh+1VhihdY6f+ (C!pRdNcaqfaq%mp6H"I(hJZa-krp(2FjE[q6lq,YGfEG0C(ZqY'G$1)F`2p-UGI `He$1P1m!iPYd6URE)%Bhrq'M`)k-C9e'D@"Gl*e&rPXhE*c-5j3'pKcZ+!kR1VJ 2mcQZYC8i%GeqR2"'2Gi1"kiYqDVLRE5EhAM6*(YAj0hS3R!4h#ri0VmC6Ge&N6S &mVJIeR2'-Cm!PTb,RDT6pcYDeEY*L[NQ(A3ELfIJjXQel*'UDEm1lehD,Gm`0*l e8AAMMfY+cAf-e&1CPifA2J+j1p)(phqr4`ZqeA9h'2He9r&l+k"6i@j#&V4`HR2 +I[*HdbhZS[YZl891"A)UNF0B4IF8N!"$lrqMHiGdacZ6pKJjH)XSG0Sed-b6q@d P*Iaf+Ne8)iIZeT0ZASGi2H*jL*0Z(N#m%I&#a%Nh$b2HJVJEFG,0GF6a4Y)c'"F li(Yqkql,dmrbh4HC4pT4-IU'*rJ-U3IL6K2UGm$r!QqNI,--IZqL'Y!*iCNjJrQ r[-9d"[-6ZRZ-h!VT!C4pG'!(P,HN%Eq,S$rVj1['RGF+ZYm'A+S!2bR!ZrUf8bh JIA!J(fq9Xr+D%hQi+r&@(Yr+UPPh0mqL5ic%ZeGBYd'IriSBmbCimeR,8,I0VCY 9(F4cp(q%Pq1Vq(lY3[)#l+-CcF$HS$EVH+GU9XREHb1Cr`(6`&G'XPm*-A$XND` r)BCG'@RT96hB$pDVS+dji#[i*fMYAb0Z$#p!6f6,&(LIm"icD"VB1`pd1!IUT&' qbR%L*`hh31+k(rT,Sch3UemkJ0rTd%lhNmqHkJlN5#iiNR'5HLIY%VP1j"k)jqd 5eh4[&Zq&Yf!rDi'i6ee8'cX5S6X#Z"f'h#AG@AJh*V3jk#l3d@2(b4[&[('9&Zm 9r4([S9ej!,(K+YD&[JlSRk"HHNLh)3mpc86UmlMA*H-CNYm54adGfmmFYISErE2 +B,k!IGNI)3d)Xm"H*1[3Yk"[1SQc3pIJ1D('!AkM'HQcpZ'0Y+pkZlC4[hp+TZ5 e'Dbr-CG$,Zje$-HY$q*hP'[GNk$G2)"Gh5pjRmSM$P8(,,H6,e9b!1`bjK4l"A2 kTScaIHB$L1e(hXpi0e!,-Eah5ZcVhf2bFq`$Ij1k,@*d!aj[%+1E'Q,9j(NYUr, Q58bkEif,jS"lkX#E$+PVBKE`j(C*2-TJr3Lh,ElffrNFq&h[FEdBGH%PPlS(BT+ [C8Jr[1aj-rhQ1dCmbfS%qpH`4fR+VbKfY%'24)a[mq%hEY9mKRlMVXE0NUX2Cek QEL(&EiLrqfkeIZf`%cK2Gh[NZaY`B`laRH!qNRI4EBjS1m9QiEDqRHkQBDjPT2d MapfP2!I!(ZXp@EMa2Bch"YVc%ZM1K"fAal&Mh2$'b#2D4Xb+qBjmSpe`jN(3V+p "[IIUT+h!ai0GUU3lCA6V"Iiil0MV"r5ZRdP2)hJ,HVEQ,@L2QA2JMC2kKi"ra&Z `hj*c$'2q4Vh5Hqh8,5EJcdM&[l3kb@Z(bIH"-5FC*ZGC6GlEB9a(eKc'Fd2rm&@ -C$f-23U54p%FMVP0F3PQ+Re'0HXHTG[Ac0%BmdDUq`Pd0f@Bj3HNITP(5cdLJrP 1[+FZh%58IFe$Aqb$4PplZ5G$C#XXC9p4ImejUZB(892f@E2ZKkUQ8p9N[d&rc3q UQNfBKr5,eUb,UCTM9%hV2JEG"-EG`4(Xke*hP)l+2FU3!,S*Bm&3jF2mYErQ(@h 24GUHqlleBi"jkIaZdCVe1H$NV!N36J'EY[*ERmKchaBl3Al"pMVS!m#LMI3q"p5 KppXLlL#m3KbDc("jTj,jH4VM4MmqI5D16f1"6cF52Jf9pdLJ&b%Qr@Hr`UGZaLH mPBCj%h'hVN1Cp'Bpp)NE0m1CAbA`D@XI2UA*1eepEicKr8*pkalK%ZPV5'2G4Z* &QT`RidJDee&j2$IU(cYl!GfpG1r@l0KT[)NKRIQK['[h+(Z@G4hF%(FI1h$R&,a &dpX2SGmdjL8GG&11hJG0R&M(1cYUdc,[h#*+U$lmIYRSJGpNU2TKEBT[j&$q[HK r0le&BVMdHj(hB6IHpN,H,1b"h)qKV'p),AB%km#dEkbeFIi)LHpbPRl-mJ,dX!f c"2B2C9f5pL,b+EaAXa[I6rqiC30KJYbYA-AYX2YTm[ikF!9qmAAJU2X8IZ&09HQ -TdUVfdR[R9*[)p1"A`qM"[bKkGBp"EjcMGa1i0PHINY'&,S1kU#'j)q)+Ec(qkK '-!p5GHN'qa,N2`!0qQ'T`idBZ-pI$"`M,G6U-4mp2XKkM(cE&pd$*bf!FM1NC[c 5FUSTEdV(#Y8HbA[IM"ITV+G)A92QSArJRd2k6M4a"*KXRYCd(hhHHKXHhXk!ffE !iT[S6T2#iYXX,#k+EKJ",0k1@fGCV-YKA[61+@M3*pUPAQIIZ"4iM(HC-"j$Eqk #KJHFq8!Rr$6NIbTL,m03H6r95hHm8eMIJDDpT(XFBr0$F@`H!faq,f'cJr99H6I ()AdCG`'Ealf*c3rq#TYIbia8`"2KTAX23pN[64K"rJE#T-L3!#GD)QR`1Q#QIGL FbRb0X!0[)*A[lQ4X(XTpUrG1cCHlPbV[#l%[-eAb1FER91Q2PRQ@rh%l-'dKF!! DLGB-6)0[A1kPa01[M*E[%P2ir!r!f4@%cpm%2UG)24,HBRGd2ErI5[q)`QIim@6 pKrPG4LV'YaRkXAQla1BdLrr4,-k@X`$Aj&QN5[k(HjkB0I-BpK-4YXRpi6hY[r9 )[J*VTM23aphSB`(kB$m1l8GN$Gj0PSSGFq#,AGY!EqLMAB[MG)Um"d,kPHcPjl) AV9$e`[GFh2GY'-2pr+%AUG2MM8MUV4(8MrP@2bRblY0ICm0qZ,lCD$09,cHSAU5 [JhEZ[JhCe*1HQY3#E'd"ET,[qe3rbI*p'F4hf,IciLqK3j!!AjCi#GlFRFVpU(X 3Dm&,GLPH3[l9Te!$HT*MJ&q!&fKe`(5m1a"[eicLlJ(U@2Y(0G8Y#(L&j0lhm4) Y(rPikcIkBPiLqE(N*9S'HYUT#j0pRRJE%pdf4RbI&EIeB`"a#Z6L(CFb0`Ri6Tc Q'F9EpL,rd5Sl1!eZYZ+Y#GHLCKCq`hq$0`-Ni3eMmNd46B5ce+ZmHAYi6D5&[0Z L(EN,85-I[a[`1aHr+e32p)j%kN(b*0b"9$hBj(iG,P@c+1QIeh68iEZmf+q[dIe HLUQhiBdP(NicP*kT`aV9AbaS(pqi6R+U)Fc(TFGm#0rlkZmYJqSLMhQYiJG5,f* Z*[1`Gq!m0Vi63Ek`!GhZBI!`iQ5YdGEH6UU&GkSBmq8lR1R1)r)f*r)+IjeRl%[ NL83IDhqG&de2e0ZIb-Y2j&8PqKZXYc%a[lT%[@1*[#@*2[)5H6f*2VS5pEBQmYb *2YS6HBf*[#1*[4RFJpf*H6J5HB0lQF!$`jRS1j!!U*HEU'FNkLAkD+e)e0ZEQ&p QSSmGLEcZ4(q$Z"Y1p$fB0iJ(4a0p$q*ZBYj'GD+H*e'[*&'[2T&h1*%h2G(I`F3 H*2Bq@TcSBc"[%%Hc%[85q0eDQFK,m)$SB0m*2$B'FH@C4&k#"aMf40q$HcE)*a* lEb4`)MTB,i'MdIQ*[K-mUI9i)Qp6SZm(%Reh*2)5Z"Ke*I)5H0EDNTM()#lZ5Y4 ,m&dMd9pVJVG&"h&kN!$A*ZSCL6P&%h`VQX#KD!*(M8%HTLIb"RP5JJmC#Eh%1*( SBe!A'H4YJl`f`FZ0"*iCLAP(Vd[-+6'rD)*r'`QpT$@"IdB#,eXl%hd2jJhU0)P kV3Rm0JEeJ*f*[JIh+D&['3QH(Fe)c#R"ck)*2F0)k($43Ia1k&,43IjU*[)52-C i,T%hb-m'FAe3(aVN'3RpUA9`IS1kh5!Z$ZT*#CaSI5L4PpL2eN'p)6%2)k'$'S1 kb1"q$q,"S(ic10F%VKX*2YFkb)-(GH9"A6$"eeX(mA@3!-F-kM'$Z[8JRL9iTj' B4c6"[k2r2PH+8al&+BpbbS10+fF1FEPFBP'Y0q#6SG+k1KQS#[Qp+R6qrrj,%eA erLCAdmUQX'qjUlR*eq5D91HU@4P'S0%AFP9FFAACr0NZce@cbqFZQR[&3YH+B+L Z)%f8KN,HPDiQrdGmV[HJBVlVLU9,QhaK$U+RB0JEF#hh,3q'9VT#[Jmhqd1q1XS YQ,E8YD!-p@GlDqYGD$,X3[HKjJEU1ZaIlQ[+Gp8dKeh"KX$+0"'ZplQQe+$)&-j e,3f'A$iUM*SB&FhKfQ"cb&8E#0CHleS@mMBd"l`KIhMPe-D3!+r@hq320VLmMBd qEkM*&3kkDRc8jA*rE5MBj+X00Y3erDD"8f8$[LD%kVd0')a[S)-h*eRM#`4AZ&E i!`&Af(Zp$l93%cp$G9LNi0*hQXIkjY('U!'%rEAA0jfE*ZBfe)CmhLBIPqFG3h@ +H@RVQPaqLY,@eJGAm&c#D@*PX"RT2PG$-1aDjJZ(r3h,A0i`*ZI&C#iS(1L3!"H E*SB*,#kpDZ(FKCHjcMrI9880eJ4[m0&kd3+k[+j3X(PC[@YCXlr1&r!hq&"`$RD 3!&B5Dph8(!KMAaZT4aqY59-c"N#$Z,i"Li#"TBQq4F3)N4UbS)B@1N6p0$I8KT% 2+,[+'rDjmKD86@dk&iYaeB*&A'5)Di%ILb3MhKD1T)P*6C1Q65ZB[Y6Pq[9[2%b 2lJQ))Fme`Tq-%l3RF-STcmQaS5lma-89ML&291%jG[K,amY[4B[-'jD"f&UF6D6 BCX3fbGM`kHMM1KNEX3pjG4NFbd#H+*De-p#b9@2N-iJ9bYJC[BJ&F&)!IjRe9)- mAcK4XaHem4*`qMXVPqBKqcLV"E&F&D-CZ1@FcYU2@%$'cXBj(+e%aT`'6JDdjq' Y%d+-Xa[#"R*!Ia238j+cN!"M1F8i15pN[FQ)DC[P$2)1SJDrB`22acD40eh1E'S QHZf4pDBq4c13!21iB"20@qCG5([cR*cIG1VT'9RlBJIbF*''B`mJYPr@Z!4cXZC kb9E%1Q@HQhESS+b0[cAM*UjIIm5@dhR8P[2a3QhLqMZbeL6KBF0(*klIX+XeU8% N2l"qB`81'DhI1(mpV*eT4mA3A*(fN!"),44$,Pjr1r,fLb&Z-D3&4cM%X&kFfPp rqrleYhpcrHhI@(rl-b)MGrhYqh"ID2hkSb)$"mFk4(+,q2K`FGZhaDJmNEa%M+S 8YrfpZ1fMiVCVa'd6a+dr&VIZ&lGZ%VFZ&VHH*8E9&rkSh[Z9HV(f9E(fRm6D"m6 Dfm6D*@,Yk28IVaGTa5)Y6k40%'P$aC!!if,)Mm53!(m@3ai93hDZhhK3*"H+C,G ),K(TZ5,pB[*jTRY%HVdBpKdaE+I)%1Y[hbe'P)J4A@*iY4L1m!k4m5bXCL)$MpL m4Q4F+6,+4-C2a+KX-@U-'$8#d#,1Z%fFFC-i)dHF-8D-M)Q42a3MpiU4MkkrrB! BZ91-h#&'hVhqpZI%b$Y%XNH-A#9'HXA)+mA)%M&bTTBlm[cb3PZfN64PeSkRIY( eTCrF@T*lN`fiNPYDd'kNCjHNjPakl#CE8QPKH@(TX6bVL'0LI@$qd'bE,EY1Xcl $FV4-'8qI1#P3Pj)cZ8#ED,YLAP*1HRA8PQB`DK,L%D*9pZ"aiXrJE,M,9E@M19S 8Q([,i'pEcXH1iIZD,@GYXQh5fZ'P5ci%0-#[h0+D+``lrdV0cNPbYBSFQrc,'2a c[2PRXld9Ic1IqiKR$P456G,I@e8FQUXeBPKr*I3AMmErl'rel-L1rkQ%*2lVEl+ [@riEbAq$dcAqjX-+*1@N!%p-cG8@-6A6CLDCGM2C6$&66BFja%`cKjVTjM"cZ$R #c$"(QQHBSma-mdcc,20XdfQ10XHBBmdXFj`jhTaJZXaX-mHFD1DDNmacc-PQRRQ Z1F8mcm`hccF,c+PQS6R0[-#md*aZAQ4HE&jLZXdCjNbcb#`fhf21-Lme5ma5Xm` X0b[-fHBFmc+cdTaVAQl1-qHE#mb&jK@Qalc5[-TFC&DC9j[AQ)[0*HDejR[0pjR AQHmh2f"qd+`f[@D0@@[@Q6jcUER-V$IpjSI-kmf!ZGaX-)0QSrPK-f3fQ@'cfEc "A''fQ#[0MjJhQVUjbPaY4Nc$E$@MCT[CEUiaEc)rDRDB0jZhQ"mcejUhQVHC(cF lcAAQHR1$ZG'mhEc$r$YcNrN*mj2QRHCQmblcE[-HXmZmelc2h'*Z0EHCpjZI-V[ 06jZI-6pV2Q"qcYaZIYlFBAl"I0$mS[Q3!2NPmqr0Ic"hQPmf(cDrBZib(c%I04m cGjZ2Qh[-*mbpjT2Q8qBrQMhQ9mf[Q8qEcjKI0rr*r'GcRrN0mj[Q[jMlc@qC"ma [Q`I0Cmh[Q0meRc1rChlIr)&TQXqEKm`Ac-2QLqB2c4qC4mbAc*I0(jY(cCqBrfV qe$aQ[Q,qc(c92'lqh2`hmaIQ#I1AjQ[QkfD[HG*m`iaT56QT&iYCp+0i%Y5&8&J V*)@PIVN2@S6,&`S&3pSPrSBE[!&rRF[AiUYY$RYV!MjAEE$1TqAl'm)SdGa)#S& fX9@Q+4`-HCG"VDLYK6#MABJDbrd0ALV#DK2N#5f[bEqX!5,84+f3!-50H)Q'C@N T152X8G[`%IEK4r%pM1pqI*mEBFH[ir4VK$eRH+q@VDART$dBYGR6(Z6rZmr+XGZ 3!*@@NrBbCEh-r`I1bR%JbpDDP,VqpLA%1ZNAIF63($&dq1LF00f@NrB3[NG&DlL `F0S&&dkrk1*,h$1m0E9e[U@frSc5X[++fA0XNecRR6qa-#9E3jI#*R#,4'6BFmi j%V9G09RmlrrFMI,lKrq*Zpl0bJRR(-RG52q)(E'b*RNQlTV%p5BGXbUlFLEZJRl cqcp)%i9rr,0Paj*c,Uf,fPU6CafjY'j@(AeR(Eqd"&r%i[rLc@MGTHQPDdXhPSE arI@rTr3kr+VJQ)&[rGX9rV0qK9QaElD$rLZ1bGq)l,FLTrmVpTAY,qqHNe@qQlk c0miq-A[MR+bqrpN2$%34hlZJBN(92(&jjm+0m`rQA-id1kGZPCD06aYr1$C4`eq fCXZfDpNH,GZC6)%K0PIVY1'P08&)UP"[Vej5P(HqIBiri+[)@qKE89"38*4h4D1 [J32P!3L6&&RN[F%hG4%U&AN)C"Ij`Xf04Ci3S"MC8cf8H'@c2cce5[[X1RrBRAG e3ee`kRXT,Dqm16`92C*d2E8FjD(d6Ef'@S1@5J8@q3+qfV#V0"#B@MU+qR69"@Z EPrXD`Lj[%lUMKQHkm1jT(KC`(SVJ6'f5[blJ+p!+SEr@3B9FjX)i'j[$"GV8H)D rJ41+)0X'r,@5#G4lSBdUf)G@V,P2*c-G35D3!&Dl3-Z3!$eAq9V#LrdBkBS8fUT MXCKp%QGUVZa&rZ831eecUGQT9r!3A&Fh38ce,DR&+*Ej0(ICbTQZ-Pr)'kVc0`4 GX`YFCGk3!$FFpQSc2lh!&`i&9rK#%'!Km"DiTXfBFH(jq(&4LQ[L2'eiDB0N3kj JE@ecL26b&IAB9&H6p`DDm'3aehfY&Ud)XX#k`Ym%d6P)b6kNAR["C1L[N!$(I5j Sl5cqAUTGNPB4E*L-a8H0P(*[3kd[B+IBr`m!!!!0$4069&*&38dJ8&"$0M!d)%p 39#kj!!!!!!!!!!!!!!!!d,i!!!!!!!!!!!!!!!!!!!!"&93!!A(d!!!!&J"5!4j 069"53eG*43%+V"A93Uq[C$F!!$(Z!!!'k!!!#8d!!!,9b3d%+`!!!!!!!%V$$F" iem[15fCbSlH`Gp20@MIl&XVeYL[hSVGCR[X*dr$PTXqTI,e0[FfmcNdi26`e2$[ Y60[ikeKqEX+0(#@rhb1h'IRYaEENpl()lbG20q(CNH14E31Mr-Mf1X)*Ma'fbHd RR0$)IM[*pL5hb@D%l52lYBXFTm$ADXpMAVF*La+ZHHie`M-DBC(E5RL%pq6f4!# bJ3PHmF"qpJ!5!,Jr#R!eILfpAPpX*d$*BDrZdr%pd4EhaI$p9)HhaBI[AedH#RH fH2bZB&$HZ,l"&3L'hIFc41$h"c[PVVD@A%Cb3+Hd#RqGMXp9IVmC`(B-B-0aq`0 YmJeVJ0NIM8CLQ`$Xar(GJ1rRQQr`GJ!iE+(`qJhiAZEV*2b198Cm`)A[fMdVFSM fl*ZFG%(T1hRZJj3Vqal2r3a'!#UG22F6q"6!mTrbh*1!EpIlcI)-E2KbJ28&NYD $6B+pm8b&@bFN#XUY5MmaT&!e`0Ch`1m#%Ij,1dV*E[0VF5@LrB(fA&MK+R")$l( pfIGdF$4Vdmq&@!B@,)6I,#m8"m#b@(mZ'+*`#!"3C#JPI8#4iYC5bI19QY)556r -prZN!j+Gh6c0$F9'i1V1L1C90TDB#,*4JEr9-C!!DLbe-!E`i#4!j#2iAa9*LD3 1F![q-r@bVZ!F59b%NY3)+eM2PLB[UKGXI@(@8(q!mUbRl8YJZr%J9UM'I&[pel# Q[A8I[SS1-843$P`5E-[D%kbZj!R-p+4*ZAXeeNY!AemIDfKX`0c(i0#K3a`2eF0 rIfK'qMrmRc4d4rG"K$C+pCp(QKplM2AJ[dq!CI1eq"j["DZek@ll!+YrqYHXrPJ &-BLj%XSVaM!f@-4@rh6h*!C!k$E@drVrq)X&[e`(V'%YiU-hFY*3rb(Lf4q8CG3 !@plS9b+"N!!VP%SN0$hCf+SU!kTZ0)T90,"b@J-GdAjGdD1Ud5K5d8$9Y!B`QfN &JK30!+am#QcPD4'J@hCe412$+RVUU5KDU&#)+Nm`L&Ej2p'(AdmLJ9CI")$$lqp !Jjq2-Qb*VVB4kJa%rBXer-%1Y2a#!"aGXPF-`'YRU(-'i'Xi`LhGBBZlIc"bY2T H((dN`ARrbF(*CjVBdHTaU$c5"2D((RFf+l'BTX9GV@SX3GePE#L"rjqJrpR"EE` V%3lQMXcMGIUlA2)eFPhG1A@NF9MGNESk)3!1LcXb6mLV1)Kf-3#[L6NJ&h'SZqF *H6R5HKhmYel,XcMbE#a"(%(&L#La@@,6[#B83a5!)c,(E)&AQS%4$K[K10q*,Z" JlVb2XR5UHrqX9f1q6pZ3!!D2-F,l008mfkHljF##MbQR)VkmNaR3)URrYL$Z2h4 $cjZ'44c'B+br8+FXf2*(9K&(-L8)`%&KGD0+rXPVN!#dQ(EN'cGG,fjaj%MpLc8 Z1I*c1)3"MMc3h-ill$`IrQ"AJ3r4Kl0rLG9,cMk2ik+cAm#ak1`AH&edpJ8FiJ9 R2m2(Ajhp1@*IFrB&()[1IJE'kmiqMd-Fi1bYEN2GHEj2`jeXl1CMf*H,Ici1cY( 4U6kYmMiYrR$N,`RrNL1IlE$#!%IH&BhAAq[D[@RMhaejk9mF&3+Gla`A(&8Had8 RY-$(SK-Ui,M3k@G`[0lTmcJXlRaA,%%Ff"MQVAZD9ede*YV(djhq[LqMjqjQ%qe (S2*"V'$a,L%3UQ%f-r`lG@-IQm#1K[mcjBY(a!'G,)FM&TeVVlqIS-`UPR"Sr80 c1!,p3`8FG[mreNkb)[6,V8)!8E`bmbK"YRMR@&"m*$ERI5mM($(&-&bb0T+)aNk cRqP!U(KeKa#!ecFl4fifN!#I-9c!8HMd"ChP1R4b6QD[4'QlXN[j9`mUjp2@XBF 2@aiCE3,fh%QSG2$0,ak9Aq#V`'F$ka'4`!jqBM3lE48#i*!!!lF2!hBJl#rRF"5 MGq(%QhX$8cKZihNjCKKL!"amfLS%i*925B8!1$*6dT(B,)l68p+c["+1)[GJFJj (JBmFML&8d5b12qR-R%j&%qIe5Y1T!SlYE8%AZ2I1ibM`39[8fk-*hjXi+2L85`L JHclP%J,JS,!*!ISLK98)S!qL)l0pchDp[)KZP`Ie+(R2h@mB(N+)kri)&[I0"5p KlYb,BQ)&RDc)kQ)Uiq$p#EmmA`E&r&`%leRmMdHJ@!4!`"D-p1D6Y,rlc&',[q( **ZN%"$0230$K"YV64TaRLQi#ZjPajME1hB-c-d*6(4Qj12NC$Di6rY[%UC-JdmS 5q84[Vj&8D0!UFJJ5q5ikqm,pRr"'Vc52D2GXpG"hU9p0kYT0UMjXF&rm"U!+X$# kTS0I#pe4b!5jP+`PJ@q#l9%"!(FLL&iMr4mr,b5QLDq3!,qkl-a"UDNL19GCHc, pTH&@plJ)3EJ[q-pedP%i`CkR92m%`$hhBF,0I5JlI8CS0TJ6D`Ajk-BdiQ+AU+L 4!pk@'PH0ea2fi$2B*SGV"#X+N!$`f06DDm3[I3#R,N@R9)(Ih$Nk0[Ej!fqMb@Z eG"KB3XGeR#ZJ+V'9GN@NZp!kV-(hCkchmY8@lV1fVi'h8RZKR1Z6G)J,q(j5q@p J(6l[T*cm!j`6!6a!Z@dEJ(E4qE4h`j833$am0@ES$X#l3a*G*i*YYm-`jRj,ZHE (!DG3M-r,KRi%H#'-A8'jpak(Zc$hEXS09m"RNBjYP&[eDEJ(QH!$U+VVi+ZBme2 ZAGq!K`&@IiYbE`r#Gc(h*18DMp0aZY@rT0bbbq%A!'Zi4cBf`l1Bq`lP0Lq65[" #(*pdfAmX,FIF5XTjRk@$HeFq3cPIPi6V1c8IS&a0Zh3G[Mj-ZGMA*G4$cFFTYkp A#J&FeFYjVCD3!1peHbMARj!!m!KJ,GE%[G)a#HecEC4bkrC+Yb*E[!CmQqiKAAh ,D6QrC6rp*r'E6%Z$ZMDN4T)Ze+X4eH,160iI05+fPS&S8Y1Y2LfH,10lI0PYV&, Dp*5e!I8pDYb4frVN[jN3PTUlbjQ5QAbASXHMmCe'@3CUbqkNVKK,jC54e%CFekY lEY,d!F2TL848h2m++XP"`aC@p*eUdYQFLXB'c),fV6,HVP+6U83T(B)`b5LRR$G Ui1U"1Y+2X"fj+a'mMSQk,,hIQ#((6'HiXFNq2aCcmX8#Xf)T(B$+S+6F+C5jke$ &P-,9@el2V1e-(b&"-Z0Uc)NE*MP9K,58(P&$bJi9LkNlrJF!#X#YRhDG(f&Na)i F)ic3b)4*+2Q9QCp*'"Q`PC'9RDe(ET8G2VB@BC)*mr!8RmI%Nm0h8S*rfK&'MT& I)ib-f*%4)j3m1c*PK"eKj'KVNK%MM!`CSB3G1AB%6aLC-$*NK**MC-!'K*&RK&l Nf"(fj&EJVJ(Yb+hX2,,@Vi4'U!39M###!4-!$DXV*9hA!)$JZaXJI"RI'kJ*q)E `(F(*IJK!,hI#d'GRHJj-QLpBi@bc!J(D3'mdTdiCSU(+fc`(qSm(RqV[Q8DHccY $!ipCM[2hlcCBB0X`B0XhX@#3!2D+!N1d(ab%Jl4(bV"Y+dUp$SGSMl`4fN-35#S )m#L3!1$2TNr2PLfe*#FeGHTR))Y[(P`RFlb3!"ZP#J3SG5QE1(UbN!$Y55F&)Ch %H0HTKIh,,K89#$+[9q+&l+NcihqJ5&Ac(PA03iKjhFAaSMAGj,R8r,-8Q61Yf5Q U3)G$M@A,PQ`SSL4[SK[8-0dQk@VFP#@pA*bi+'TD8PUReRBHAL#9XH2MBe3",S8 rb9)NaSY54KD,XQ%QTcHm9Qr92MT8UN$%SFEAU,J4'`QpZlB2+MbIcM!PQX+%RYc QaR"6MDC09[If9Ki#mmU86LIA(DCPb'*TSMJah$qNceJrXUh9T#pZVUK!&rAkp#e R@N99EhQY(PRmi(KP5XbPAVSJDTZ,i'lHmKf(bT5i3`fAF-YE8+J@Aajc[9)PiAT 90&fdrLDdiLHd!Yd10D+T*G9U4B5X9CqkLKqY!"a8F$$#VJRf0`HBdYiV[cVG2X& b)0$0R"')X0dQ%'HT%ZKLQd3JaRD$!-Gq$!,RB*,G,CjrF2bhrbZr`Ql[qBfbhf( 0hbKNJUq`ErKVrk*qGEMp,arY+m-[Mr[EarEGmIdff[,4[N6m`PYLbdIl0[',AT` HHH(cD`ak$jVV%dBedjRjLMGI+%2r'L&R@Ym@!QpA(#V)jr''m`TR#0!CQXGr)#! 18e4548&0)&*PFh9XG(-!!!!!!!!!!!!!!!!!!!!!!18R!!!!Z!#D!Q)#e`!!!"3 !!@9L!!'SS!!!!"B!!A*N!!!#!!"S!!!"!+mB25U[Vl99!!!!!!!!Bb8!!!!!!!! f22r`rrJ!!!!!!!#a2!!0&Ne3EhGPFL!f-$4P,c)`-#!f-$&[F(3!!!!!!!!!!!" *fJ!!!!!!!!!!!!!!!!!!!!&ap!!"G1N!!A(d)C!!!4G849K83eG*43%!VkpSikq [D1-!!!!!!!!%S`!!!!!!!!)9!!#DA3!!!!!!!1G4#U)!J#!$L-cS%kS8IlfG-A+ 8r(Ue&PR*XI8C@Cm44KLC!D`'[$i!@8eA"M"J+m-cJRld!VFQZpA)-B*!4KLK%3T -$J!S`cS!d[JlBV&9&VDbM[E`PL`b,#[(l`-C[*pq(R`FiY0Xq$5DMkB6(,9C4H, IaAeMC!@VIK)HdBl$h'1kAPYb["#,KADb`*lffP3`p-dV3b[Hl%90M!H4'-Tm#bE N`15-,j(%F'T2pKj,lk$,SK*Z5lKEFXIGD49VE8#KPbZCmRm!'(l9hL![G,l$aXM 5&p)S9cdF$1A++Pe#(JiNMBA6@"*DEHa9EV5PA*FVHf@iT%)IF94&!5Gha2J3i,& Rl*pHSp2TTXQIGJ!hMdKkRGDCJ92jcYk+8CNENTC1&j`%i`0#*S0b&LUN3IHY2M+ DVA5LdTkh#D9ff*!!FkVF3$S8I)C$-llHGrS4!V0AHEldCj24j!-D$5`#R+Aq6N( -B#iNM2DE,6CHVDK3*8ALQH80,[0RB(hKf20$i%2",1XCAS#i+eNMCLdZ$M*mhM5 rIVI`%CKAGXqqc&dilM3ck3Jhim'$[3hTH2lbfi3C+aEj()lPMe-QR[5KH[G5(5C V4HeZfMfRF44hZeNGGUkE[8c-FeR3TClENk66UcZbq(T+(@Ca,2UV9AdkXM6UYYV 0hae*dNVVN!$9[i4T+KC'bEUIfl0Hj`+,feYeQ&`hfjPi!`!!!!!0&Ne3EhGPFL! f-$4P,c)`-#!f-$4[F(3!!!!!!!!!!!"-eJ!!!!!!!!!!!!!!!!!!!!&bC!!"Gfi !!A(d)C!!!4G849K83eG*43%!VkpSakq[D-F!!!!!!!!%S`!!!!!!!!)9!!$Z%J! !!!!!!(*(#U)!J#!$L-cS%hTiLVFVI0,)8I,dmb)V1ECf%ASb`JJM-i!HH$dPUqR +!$kf-M`Mk%F[F0',i$YbM##3!"&'D)3"N`-!!J!+ki$*fCm4LeSlZ0jjfU"cj*! !SqJp[lGNmIlammh(1hakZVZG2FmH(l!cYSV%hif[V98pR2j*Z-)N$R1+aqA5NHF 2X9JBVaTXD'0X$d[I1QfTiTqA8B,j656Z9&Q$#AN`1GZeN!!a[0k3!$Y&dAQBYZQ &V`NR"AHF$&qa0"B8HVQ5+Im$J1&AdeQ8M5RA@&R9GSfbf[IR@dZPGYUd80XY+H[ J$3T#+V(4T6@15Y0@lX#`S-EXX000!kr@a2J3i,&Rl*pC)TXQFIDl(F$4&4+C69m CH&fZhE'BYD8Pj@MBB"#-&`LC#XSjk*!!"YeVXf-dYI+L0ahr*V6'BdAHkhB&jG( `'Kj*I0K[Z!L"fCXmAkkI(QB2(h"fKN@!8jM[&-3-jN,"QQj9BpATLKVG8L6Z@Gl J-Km$ec@H2Gm'2K6-FKh$#a$A,@[%V-AS)-2RRrEAG3Z(`,kaZqrDdSIPKRP5RR! d[cPhab'G2lpFQc"cc5+rKR2eBmM%VGRflekU`q4T*,0B[UCa&%rcb6kFaQ1Bbd` mPkUKXClE*fQD(YS[pL%IKl%p[K$A9E9I(AN@*FRPZ+k8Na'%P(,F5mVm8LbX9[Y qESqcDEl[5!qK(%()4#EL2`!0&%e3EhGPFL!f-$4P,c)`-#"LBA0PF(3!!!!!!!! !!!"P2J!!!!!!!!!!!!!!!!!!!!&dk3!"HHX!!A(d)C!!!4G849K83eG*43%!Vkp SqDq[D2N!!!!!!!!%T!!!!!!!!!)0!!!L+`!!!!!!!05+#U)!J#!$L-cS%kS8hdN p+Ck4Sq6AUlA)5SkY9i5HM$$#b!bJ"ej2b@SD!rMib[#-S"qp`%8[2FNa`JRb''' %4KJ!13#J$1Z!bH$h%qY#@GM@1YUMX@4aJl4er+r*i2h$jpR(16ipcZm@6iZ(&3l Dj)(iXr(8'0R#UKq%@eb(rPhLBE1aj(JJ&'[YC)NplE9TBHKES`cP2*N%)baRJCM ,V!!6FQ"bTUN`$1(8RZ`PdXC"9f8VA%'i5,RMSK[&4KZ3!1rP5UEm&`#'Ah9MN!# 91YYKDf69P0)Seel9KM*PPDiJkjUNXA!D+5%DBDmbSbePZXTYcc#P8Kp`8'8**hI %q1$KX@IXRpjJ-NRqE`G`GSY4Q!aI'$L9lHbj@&5C)@QTfk!6M"I`QI6+@5LIHYd ,I@!dKA5Le3e2%bVYX#AR9,@&G#Kj$FFEp[Ye&m%cHj2Rbr4aY9Kp`'#!YBH6k[r )LqR0KB64cEE!YP%jPDUL30bc[0jP2JDf+4elARXqj-fb$F2c%(F9Dm5XaG&"KXq 6jZGemiI![,'lEkV-qH@kpbJGi@`jZl,R2Pdq29mErjD+4Ai0jIFZ&(HkEYmpGrX hLB)`MXB[D4J-3hEp'!llbI&)2'@bT'-pY`rM*1RE`lipkYXM-FhcdqU)`b#Hm1P mlBMLQe-iMSrKGCL)Y9(be-rYNp(0UH0AqiN+RhMa$`!0$4G3EhGPFNeKBb!h-6! `,cJ`)$B`-@p`G!!!!!!!!!!!'IS!!!!!!!!!!!!!!!!!!!!"Gfi!!Ae0!!&ap2r rrrp849K83eG*43%!Vkk%GUqZK(B!!!'D!!!%S`!!!1%!!!)4CfTpr`!!!!!!!,m h%3!)(03FJKM)T&LQ8C`C'8Balfqd9L()d%`FdHV@BX&3ek3%2fi3AkY@cBDeF2e Dm6`U26TqCFp3kakcq+SN"-Tjc$Mq2R6+pS-!BSpf@Yp5iiqAf51KDh,lj,Di4Jd FdZ0XjS-SMQ4LcY+(BS)&cdT0`kPCN6"0Mc$ULf[$"Hj(-b8@0$-VA@C@ap&d5Tb C0cXVla$1)#TirCb4&2l"9[((3bcdJPM2&Tk8@Ia$Tal8Dei%hK&,)9U`EJVU(0b d8++M8%FMrN#`Uk0*rKkY@MRF&c0PcTA`8id@e0SN!!!!#U)!J#!$L-cS%hTiLVr iHPj&MT+RRaGCbE'eLkc2##1-c!#kJ0G6XTV'!!CXCAK'd)pHi++bm"62##-)C)3 4'Q(!j!#!!)$1MPcm2V%UPB9YVD-p[#@,+I,@mEXKJlG2(frIhq2$i[jZYT`p2H+ Jc6S5Ia,I'#0E@2@GF)ea(1iF6jZ0*FFIBV(56PEBdekE&SDqH'9Sc6q[SK(QYj' iPd8**Z6!j)b[NF4`DNrf(,Phd(A9#PF5cR,f11ZqBU-0+2Lb*92q#`$$cpSE&*8 ZGYJD@IY+'ZADbmC3SDc50@66N!!d&NiM*k3Ml&9KY+9#efXl--bTdJFF9&A"b4d a2J4ih$2ZRpjJ1KNRierZ!%kZNIbAC8F'6K8lHbTQG@&)@ZS5G!AM!%'6SA)@+UL KlU8q-*T51Y&Uclm*YAEBNR1UhN)k9"c$B432qET&#-aHbr2TC[%iHhb(L`ZX!Ta FIk93c0"F5"MYYb@fAUfT8M9&iS(,'lV-Bf"pjEMR6H"$S9R@-l`!F9GcMCLek$[ )m2QRqE&ZB3M-+lX(AaFZK1YZ)4hKC(jlD8q$1PmqVdfiZH)L(m@jr0CTiNihlCY Rkh"C(+AT*$QUF44IaGNJTLpL%SYP)5[UlB2l0)X(`kY"R!cZBh'cAVp%4jT')ek 3!2mpN['NMmYLRbXCTiPB'59Ir0NpbDBr$IZi,2C-@Cb+I`!!!!dA8'phCA*0B@- J0c%`-#mi-#!f-$4[F(3!!!!!!!!!!"Af!!!!!!!!!!!!!!!!!!!!!ARV!!&rbJ! "FI6rrrrr9%9B9%0A588"!+qZK%+[VS4#!!!!!!!!"+-!!!!!!!!#$3!!#+!!!!! !!!"mL3UL!)!J!iM-k"0kH)TrY[SG)dI*dmq,V16BQSbXc`JMM-`!ZS$A8l+DVJc JBb[$-i*qp!)A[FMUN@0(d-F))c6#J-N"!'9B"d#ZrSaBPFV#YYE4(SdPLc(be[( l3!E[jTrZ2McJiq,KIVUFcTp`e'BGL,mAhaSM@eMeJh#$8HMR%[20aT,MK9#XY*- 9pV6ATS@KVidbY1E054"MGKH)"eQ8B%)16-id0D)36Zh*AL*[((4GYF+9K)ZF1bk k9@bd!IPHVQ6+r`"Jq%8h"N@PLaff4YC0*BeblIA"8+'XdMANi8$5@$L0R*!!TYL V`QK,KDlAGQ#B8k@21+UUJT-lBRc`m0JcpNp[-%k512R9$Z$X"P%m59iB1&AXl,Q BeS8KDDQlS"1-$r#Cp-TC+*pkh8YpC$5PG+,9$@m6DZf`*HG8[B9dU2J-KcJFlZY q"-rX9Cl2YiZRkG0lA&eKjH(NqKYj-EfjN!!`ZYQ@f$CU6C@U+4#2,+phQ6m$fe5 126pi2Z60XJh$ma"h0@[%V-A*3BE2QqERlqBr![2+lV'T#qH2kfBK(H&XGRGYchd k@clr0RjQLN9q#@IbHjH*HheShcjAqdR(`5K,dTFd$-,*Qr%3*RdiLX5bN!!9RHU j28bM5Gq4a%0Kf)IC40bZerhT5*-JLmHR`QL8CN-Bp@'@L*94XZrRpL606RaqYiq 'pNMm"`d0&9"[Gf9b6@&M)$Fa-$![1$!JBQ&cCA"d!!!!!!!!!!"NY3!!!!!!!!! !!!!!!!!!!!&p63!"Jc`!!A(drrrrre4&@&4$9dP&!3#[VS%CVkk"'3!!!CS!!!5 N!!!!m3!!!K%-[Vh&!!!!!!!!dXd4!!JFe"b#''!m)3PAEXfCT%0NP9UKa&EY@CJ 1k8T*Q!SFB8@#SDj*#AlF),j@VCS0Dq&q**0kG2M+RU(@2GSRc9%)+1IeRH1BNqp $Tfa6%L$f'+Ie,H9#A5RML6bP8b461ZeNSpG%SidEce*BiJ()PpG4ZLKZQa8*8dr [@J"&1c1+-hJ'C4)l6VC#LFrhX3N+YdhRr8KkGVMF*T*1-r-NC'BkM9YCLP02"Dq I-j,#jbmepRL)K@%3jdRaC-cL(cUeljAc)[#1@!V4JR96h)PRjL[IbP%SY!(N$`5 l1TVNlp&+Hh`a8j5DAI1idB*DQ`3!#U)!J#!$L-cS%hTiLKpNjc&bP$cp[-K+MUe GK(k%%8CQ!+X([*k5e631-'!V`c1#I[3#YhEF98U1%33b`JL0-!"b!%!CeJ'6Xpp 22$A+`Jl@d4EHNN@"jH$ihj2"qr[29ap[m1RKjRVq1,qr`dkE1K*r0Vid4Jk`kJI K!T-i[&2FVeD@(!r%iNNlf@*,@fd''2V2+d-e6jC4LX99*'jNeB!*16!jicXN-Cc DNMh&dM[SVKf%D`JR5qiifBpLT3dSp()P8ri,!-1[fKY8VDif@"[Cq9BDjBEchP# PV0)GC0q60"C1BdQBCYLUbQK,PHjUqmT`5DhHBDID&NjZL2%K`'22f$qp3T'RXq4 A1i#M#b4CRVd`F+VDf'-albT$dY*qJleJ[%$)C&$13S8dk0lS(D0TT"1$pMa0k,6 $QTa6h4V5SH8e(0,iGErp43M-hZ6jF[P`0lrlJ,-c2!8i5rf0JTM"A%JBlGF0ePl 9e+U1)R(,mJDAq4KBhcVf[!pm+*KP2F-,%$FGDm5XaF&"KXq6j[rV&Jk"H@0hkl[ +KHAfld%k`Y(LkY`HKh6aq(aY`PXS&[PR+,r[3h'Yqq(GFhGiNfP8aY2i*BfM*#Z b-Ca1$Q'HTZ+aNLdGkVNp,rQd(!V,X6#EMC0jA)V,ZKjA4jj%5Cb1K8@4Mq'X2)4 Pc&IC+$RfKrDX'$Z+9h,&E$D'j86m!`!0(9"[Gf9b6@&M)$Fa-$![1$!J4AK`CA* TE@9ZG'&X!!!h%!!!!!!!!!!!!!!!!!!!!!&rbJ!"KD8!!A(drrrrre4&@&4$9dP &!3#[Vb0bVkmMFJ!!!!!!!!5H!!!!!!!!!IN!!&["!!!!!!!!PK-+SJ#!)!1)c1J 6UK6re,aNj#KjDUe&9R*XI8E@C)344QB!2I"k5PE6'-#!V3c2#2V4#e`G-d)*1c* PK*%a)ibJJa&'D)3"%2`"C9J(6(TrRPL9bX+feY%1hT,&0E,@mAp$"LmAEmH[*hL cR0a0(kD,1IED&*(iZr'Y-E+&9Cm*0qM(iCeMX9jEFM`3Lj9fXX+1GYUd-26"+d- &6ikL&,0a*#Bb,m'%(*LFm6@5'%lYb*iMm`kkVPVK5X*CaKeRh5M@fS"#,eFbjAm !-(b[[8&HkAb,MC'eVk44VVeS$1A++Pe$0Je*Bq%d-X+JMjh+MED8klU`6``cU[3 HHe99F(*,M!m"(R['rZNeKZRhDJ!R0dL1fcZ9EqfTQ0Dj)@QTkql8iZU3!-NJQi8 +D4#pe(Z'8NSR@ZejQP"VK`djTqS0T%2&DcLNmG0qh5d)Y*keHAHlR%rRVp$VB4A JC2SM"5@$Xj!!-0T[5Qbm+UK508ALRV80&[-CX,jbE(J6q&"`bRU'&b"ZDaD)@BZ [pM&mRM4IlPSi!HDChEf[FaH@kpj51X,*E(aK6d-kHcMFQI"QLK9q$1@R,K4hZQP I(,V6lZC&r,dk$+!,iapK)Kjb@G'K2Sd(rDXN'L6Tm&Gl,'k,iVJk,Kph[rlG[M* +([X[ip&J1)ckbHKRiEIfr`!!$4G3EhGPFNeKBb!h-6!`,cJ`)(9ZFQpXE'ePER4 KE!!!"T8!!!!!!!!!!!!!!!!!!!!"Jc`!!BJL!!&ap2rrrrp849K83eG*43%!Vkk !VkqZJ+m!!!!!!!!%S`!!!!!!!!)0!!#$X3!!!!!!!(RR#U)!J#!$L-cS%kS8Ije AbXK4mQ[A@Q3PapCNK*k---,)$+!(ANr*DVTbJ)qY$-m)qY%,A&4'+,l)F6*M"&f --%)M$*JF!&#'G3"Nm([%UP3@YV@1GQJX@8b3!,@1hhXbH,rmI2YaKNq2Xl[jdhc jJ)-f45$qA$`e4VD`kJIK"R(Sja,,pGU5ii93V,56&ADddkD&SImDCDMJc63BBR% EL*R-5c!K"bCRQKT4#+GfC#q403kkVPVK5X*&aKdAh5V@fS"m,eFbjEm!-2bU'i1 md[N@'b2VTT*'ZICUEbKA9ZNDFVmRD5bF4NBB6l"6ZG'@FPdApX3`SdSIF&"9"5H ha2MJiE&Rl*pHBj+-K[qh!cLl364-iL-$Tr+Y24Ic1MFN,A8AG),a!6k6AMN,j91 [HkN2M+D86V5ki@e#V4dfj*bU0j!!$K@Ii6!-6rGe2i*RpLE2PqRM`rcK!`B$V$b F6(mM,kBh&a*'0jX5QdB99+QD!R(2mRUAq61`6HABmlhR3piXfc!m$h&EXdE-@V` ib2"jdrcmhIa(B0lBh6Gel[aah6a+4cKEh&lCFjmZRTjr'cm,a5)I`iAmhQAL6Zr EGmr9IZ,VB*51`Q-D"Y%S'Ch#eme%21@bSTGkESrMFIbV28j2QkQB&N9r1T)SZ)k M[Rdb6[S`kF-d6-A++0RhFhXbLITc*q2A-$U&Br%2!!!0$4K3EhGPFNeKBb!i06! `,c%i-#!f-$&[F(4PER4KE!!!5dB!!!!!!!!!!!!!!!!!!!!"KD8!!B[!!!&ap2r rrrp849K83eG*43%!VkpNK+q[C)3!!!'D!!!%S`!!!4d!!!)4$-2k13!!!!!!!#R #%3!)(03FJKK)kT(B2U&6jlD"K&$VGJ$*h3&UjLhRJi)9'H3Vak"i-03e+F'2'pD V9DYQI-0DZ(kYH"k9p6fk`-UH6JGNG6hD*b&3cPXebM%QhiG1$@m2%(ZddrU@FTA E9HS%1q*mU49aTl'48Z#`q9&26@M()%qjA,IY@a-P6e$$FDH#1FF1k2`#j+Z9Sp2 c*5DTbFQpNl2f#4#CNKC+Sk')6+IY#!ZR8i"bIA#IXC[i4Jh`Y$SJqGCbI3UAU9@ Q!dU02Ej0Amr4EAbMChRN2YVe2QF3&EaqcNJ+Rlr8f1-K&VT$M'F,6mSXcREF15m #liLP%#eB0m@GH'DSr!a(SG!'N!!r%1cUD*+r4kY@$[I&6&&UGXhM4JYUE4)!!!U L!)!J!iM-k"0kH)VrVX-r)dI*dmq,V16BfNASb3JMM-`!HZ$eP+bQ+`-BX*AK'8% rHS',AQ3eFS`JN!!44QL%!C!!!`$+Xb0RIjjB0-V#pYE4"Yk54BkbGrcINX(lamm h(qr`kHRZG[BmHhc!6TXk%Rm6AaXMHeMeNh#&D4cH+4kA5dZ1$f+ad%kff0"'Qak '[RPPU1E,)NSa[iR%RD`D-#%(*QGmKb5'8aZbTbLpJqlDAVL'F&+bamP`LU8fS1$ ,PNcj(`!-[fT[8,@k@Q0PC1GEDC6VclH'+Q@9lL#h@j,'`QQ8K,6!4P9'@kTd9pX $`j*D[F01Y5fFA"2M3i$(2H2qk5Abb560IVX$1,T#QQH69`C19@Yl,'CGC8KD'K) -"H-!3C1KFKBUU+(ZMGiaQNBkd@[2ei411kc)1G@Y)"eDMZ'3!-D(I--L"'C[jIP brI3`HrL!Xc-X!Ta5IkG3c0"F5"MY9`e@AYA8USiLFFrP$9hQ-E#qGGccEH"$S9R @-l`!FGeaMCLef(H3!1(cTIQeEQ%)c"ZlHpp9,S3EhT0dK+2jcENp$ZVmq@9Y`TX V,[+V1*Fr"NhFkQhrlX8k[#b1,T)mIPAM+#k5E"6MI"3RUALZC%YlqmXLQLBm!D2 ()8UDMZ)d&YGe28C(cYRME1q4T2&d,bE&i6)Ta-)S1ITR466*,JmH["9MP')8*aI L2`!!!!dB8'phCA*0B@-J1$8`-#ma1$!J0M!dEh"dC@jdB@`!!)GA!!!!!!!!!!! !!!!!!!!!!BJL!!'133!"FI6rrrrr9%9B9%0A588"!+q[C#D[Vf3Q!!!!!!!!"+- !!!!!!!!#%3!!jXX!!!!!!!$mk!UL!)!J!iM-k"0kH)VrHMe'MT*IZlc)5SkYAB4 kM$$#b!bJ"ej2b@SD!rMBb[#-S"qp`%9P"(q4B`5"M$"#)`b!(!$3`#)AIjjBPFV #GYE4$UdPL`4CjrMIN!$"qqI2GamIm1RPiAkqR$mrBDp0%BLrM@I'b!j@r56FiLV dlac2kl8PaiC3V,56&ADddkD$S@qY-P5`-`eL,1i#m5$c%Nc)JFQCYNB8`UNGfA0 NVB1ZUdkiNR#@FFCCEm9D'j!!cq9)T[`2!)CIG@Z3!&Fkhf*MC0e@dLMAA6D'FQ@ 9VL'EKU5aF"SC)8k`8lR4PR*G&rE)-+0+ll&A938RYm6ii1(acRKrHSeNFT1N[p- "R0`L6T2N`-#TI'Y2aEc1$8P,IB0qB&c!Dp*2cN*jeFqpe(Y'8dSR1YfbQe"VK`d jTqS0T%2&04cLm0L[[`LHfGYi[XaHRZC2(h"aJC@(NqR[j)ITP`X*SpY0L8fV#UT 86B&ij2(k,I-aX'hPH1H0jd0q@ECPH"lLYZBC-@XaE*!!iE26r,TZrK#B0hD2ECd lAkjr,p)46KChPrE8Ui[PklAaEk&ib!Ga)ArdQVMA6IIZ0GUrD44FAiI*33f$-!h M38c5Uk-c&FYF9M6%6m-JLLCMB"VG(-A*+-CABPB8Bh8N84#PmC!!(N9m68Eak%` RBQ@8(2-6,M80Sb%M$SIZ(*L1cQJLrJ-!!!d0&P"[Gf9b6@&M)$Je-$![-6J`)'* KFf9`G'9ZG'&X!!#0c!!!!!!!!!!!!!!!!!!!!!',`!!"NDF!!A(drrrrre4&@&4 $9dP&!3#[Ve-MVkp6)`!!!CS!!!5N!!!!j3!!!K'%aX-q!!!!!!!!cMN4!!JFe"b #'"L%Zd9aUiSpFJB%(C6)iM59%rPJTNfZJ#JD$(905[$MK[9UeDSChl!@lNFbD5f 2MPrC-p5kabbq+JQ"FYkU8Bieq6jdDV!m31`a6ZYEHZ4VaDAN'EJe6qFLcdb40Fe X,@Ji)M0aCJC*6jqYGK'45JXN4+2T&,I0LS3T6JLd,pUj)kD$+*10mF")HMU@2"T *@@KLJkMJpA0'8[MmTFBH$l%`$1)m+Ck-@Ia$TrDpC&i%hK&,)9U`ESSlmFamj9X j#S8fJ2b"B&G(Nr`p@QQ2,fD+8V0V(MGD8'Z6!!!!#U)!J#!$L-cS%hTiLVr1r"J j5TjqAQ3PapCNK*k---,)$'$eJ0G6XTUZ('$!9SCR"2hS"5jkA2'4C`4pM$"#)`b B(!"3T`G!,Rk2@0E+`RE@d3lHNN@"9HIi[5H$pi[20ar[m1RalREf0&Xmi+"0&BN rMDq0N4fXqN'i3KU(1FGL[EENH#%@5qeNJahYY1PJk$q[$&@m1Be'Q0p%iNk@0CL 3!!16-lj&%X1T(GPcV,b$ETY1Z*T`YZ)ECrdUeYU!`PdqbC6r!X$`UrB'CD2,,6C 'YVk44VRZFQqS9&ET&R+r*fNXR-D+-#U`8kA4PNVG9[E)F%@02Z#JQJC1ESRa)F" McpJr[8D4TY0Ie`'FA'%F*rN,!kI+V6d9XlBd*#he$AV"Z%$)C&$13S8dk&lV!k1 TT41GpVa0D,A$KTa6l3E5SH%D$U2if+rr%3+c0hQqA$mqc"iqi1)#b`"RTEp4%$1 B#`QMrDE'aUZ+'Y95*1jChZ!bI`E@0iiph`Fq&-bbRZ%&L0Z@0@,@iY9"KXqEj[r I,A`%jShG[@p,&mVembJGi@4qFfP23cTrH[jY`X`9Lr`cP0rl80cUIIIZqADB54k PNhcmNXC4NV$53jJ1i5JA6k9Xk2Am*)[L2$[H5)YMQ!cK*"IA96984eC%@6`CkUC apKU1Tp0K-aQ,T9&bZ*rPd6JT"R,TH!#4MSBUDCD)I`!!$4K3EhGPFNeKBb!j0M! `,c)`-#!f-$&[F(4PER4KE!!!JP)!!!!!!!!!!!!!!!!!!!!"MN%!!C3X!!&ap2r rrrp849K83eG*43%!VkpNLkq[C)X!!!!!!!!%S`!!!!!!!!)9!!#HM3!!!!!!!!9 P#U)!J#!$L-cS%hTi#Y"ek60bP$cp[-K+MUeGK(U---,)$'$eJ0G6XTV'!$kf-M` Mk%F[F'[AVG)))`KNK"%DBF$N!)!!e!-QChp',#VYi(VRDB[1N81'CHrjhC,&fiH 2eqp[mH(apQBkRclFBfGX'BQrMDqX96fFrNkia&L'1FA$DZA)m`FT&XDV'P[D'Y[ $dTG1@bVjCaiPQ&e(iPB9&CL3!!H6Xef$@-,V,EP6,$X2dp5pm"AKC-Nl6[CIX6) @&2Eb5UEm$`#'RdeR8G5Qf'"Y9G29bQVIRlH@#ZfdDD$DPT4em!C,3T*LU`YV("@ Q+Gd,`bA9CSHGVQYiY5('K`#22@2rc!UCM02iphB!4jG)mNRqc-$VBZ11aE3T,#P (q`Cl`EK!b&43cN'(01KHQ4fMUC3A[HRi0k%a(Q[bAMGV+)qDDhJNmUAIrL)%CUr bI,Tk[*rH[m2C'4B"cY*mT5"Q-"F+eR6V#ZY1Pe6VKL*aar)'PrNBZ+lfl(NEq&! `bh8-,d$F0+`4XaB("aNqrl3rVPXi"2D9h9hA&$k8fmqMmS5MfI@j1`lTE2jdEF, -0)[m(-l8YhdQENcE[hPD(5C0)jP2aXqTM'3fZRJ*j4"1T*JAUUE$qM5*aT-N(hC N[m,4%1DTZ#V,S6UbLbK1,q+I1q*iP!`KAka$1"k*KG9Uf*r&85,c3m-i(VTc1&4 *j%Mm"`!!!!dB8'phCA*0B@-J16B`-#mb-$!J0M!dEh"dC@jdB@`!!%j$!!!!!!! !!!!!!!!!!!!!!C'R!!'@X3!"FI6rrrrr9%9B9%0A588"!+q[C+1[Vf5M!!!!!!! !"+-!!!!!!!!#&3!!hDm!!!!!!!!IG`UL!)!J!iM-k"0kH)Uh,Ne'MT+RRaGCbE' eLp#6%8BBQ3&d!DqRC$9G'F#!V`c2#2V4#pcD4I"()i`JN!!44QL%!j-$!!)!#ZZ !bGQI%BYD1lM1HGSL1(+BSZ`m[hGNmIlKmrA(@hak[,fC2FdHlV%hGTQ)[aYI@DX k12f$F)Pa'ZF8$kZ9)mmI8V%`AMABdYEB$TDq"@eTb6q,*-2m1K'hUUV"K$bBR!d YC!U[Yq4183B2dcDGm$AKT151Nm0AV)`&a9kZC-Vr!'$ie35,UM(9"QZVfY!SUhe h[V08DDG0#lAENE)1hU!NC$QfZV,'8@ADTAYP@&*MpYMVTS&A'f*mL2$B-rE2V*! !&b-jrYd1i1J5@6(+AaKiA@hFXCLeP5APk,$"36"H)'BU+ZHJBaTeVmfHdG6+Lmi %rNeSMFHD[0IY'XUMi68mX[4e[m0&L-cHj2PbpAJrZrq!Xc-X)Tc5r%G4c'JZ&+` *kaVVS*I8k*B5FFIb4TIj',M3H2Cm&rP30-X&KKFKEPV@L&Q,hN''ccrYcqX@$i& pBhFAfXV(j3lcU$cKD(jplSjM1Rpk[MCajTT&IJRRk[XK%cGQelelVSk6jdQ4&q1 A0%h5+4q+)C4$H#(&8k8DkZ[c85,6Aqejm4TH$1&d*+k@bf&e6#q5I$,TfkA-qN) TCEq+P#-T&PDVSAqD*GPSR!iGq@3)*ce'+DHjq"m!$4C3EhGPFNeKBb!j0M!`,c) `-#"LBA0PF(4PER4KE!!!40J!!!!!!!!!!!!!!!!!!!!"P#`!!CNb!!&ap2rrrrp 849K83eG*43%!VkpN5Dq[C%S!!!!!!!!%T!!!!!!!!!)4!!$!AJ!!!!!!!+`6#U) !J#!$L-cS%kS8S%(fM"`P[ekY49CbE(e'eQH%%8CQ!&h!k`13!09dj3!$YM)m)qK (,m#Y(AFemSbJMa&'D)3"N`-!k[3!51IhX091'TM'@$V!'6,SSfLXIap*irhmmqM M'*m@ikI*FM+IiD6d1Q*r'Jqe&Jf-r%&i4-E$h'1qf4LbIS'cPE+L`S%15MI3p*q 6QYCqFa!PQ)iL0KEP$Tk3!)8RTef0Q-2+!jPl&-j#e9A$l)j`9rJEGqG9E*3'KE[ qT+Im&`#'AjA6+#Y9lV(9SRD9d0)f$dG0T645e4$()`PYB"8+3Y,$3CCD'5T9[6C AKJ99kS56V#TBX5H2$`'HpmclTcESalcrkcU!QdHNR+H[$+`XpqD@6HT5Nc"dER! @c"F)Q3M+'FL3!!EGGqVNdHb%CBebITY3+iXY@5[V,B4&j@YB*2cDlr`M"'C[mR` C,QD6f3Gd1PJ&1)Ak4N(-B#i%Y(,E(EC1VUQ508AXfFXEA2DIJA'9pCiI!am+CKR Ri3@)qpTVj&QcLi-H[Yr8rrpZi523EqbHA9hD81im#f%*0p24JlN0kA6jmYZ%Q8S [mXp3I$q(l%NGQhF[Ym2N2-VbY2ZDmLMQ2Gk'hAiE$R+f,%9&Pr2G21VQ@Abj%9q Va1Pe-d[CF,eZUk-A4ca*fiCTGh!0NcEXC@bPT@M[jldS(X6jj8D@TQfBY&@bG-$ q!3!0&e0dBA*0BAJJ-c!`-#mb-$!J0M!aEh"dG'9ZG'&X!!"rk3!!!!!!!!!!!!! !!!!!!!'@X3!"QlF!!A(drrrrre4&@&4$9dP&!3#[VfP5VkpT8J!!!!!!!!5M!!! !!!!!!K8!!&ii!!!!!!!!j&-+SJ#!)!1)c1J6UK4[6Bb4Sq6AUlA)5SkY9f4p4KK KC!E3!km23&E6'-#!V3c2#2V4#h"V-V)D18B3b!JM0-+!b3%!C9J(3$TrKUehdX! daY)"cT!!3BUXXIjGNmElPmq6Me0m@NkICU[Cb`*(TBZ)rEeiV,9SB142`L0kFCK l['`fKUaIL0PD@9(L3!HP'fMkjU5Q`Qq1SJ6c5F5Q)Yr"%l,`j,5V`'0BH5"cMma CU+TXQ0d4lM,IFAGDa8CT81MePClb2`!BIP91)bp9[XG@LmU93N[E205DFQQNUL$ UQS3fX!SCSFGaN!#j9SCb94AQbM#M8KeaP'8*+rENm5(!mjjjrp3'Jeih([aZ"h$ c#0iIT'F'9ZClFmYQ9Dj*'$TGF",-(a!b%C3cN!!K$EV[e0'Mf3R,'ZAm0U&5&PZ b9PCE#)[5Rf'4a0Il6Mp#B2BQcjIaFM&EI%#RJh@!NkR[&-3-jN*!+lIGBHYN3D@ X+',2AYlJX[m-M#ZYpl`1I#LBCCb(&b$Z+kq4CmdZ$RViIP2rqYh#4k$If$fl+VI KZ0-XK5AFc#F2jMDNmpAVEa0Q,Vh)jh!ZIT`bpU6UjYeVGCMK+%Ul`qijMD-iMG0 VQ,3K(l"9,NUke!q(8C+QeijZ[`f6kbRp,KXA4AXkdL6Upj0,1qG$hSD$#aA14jb YY44YIcU-ZR`dD$YDFM`HMGV0*'Er!3!!!!!0&e0dBA*0BAJJ-c!`-#mb-$!J0M! dEh"dG'9ZG'&X!!"cj3!!!!!!!!!!!!!!!!!!!!'C-J!"RM`!!A(d5P!"Ae4&@&4 $9dP&!3#[VfNrVkpT2`!!!!!!!!5M!!!!!!!!!K8!!(Ej!!!!!!!!&N!+SJ#!)!1 )c1J6HRL+rqam4Sk5AlZmb%U1V9f%RS```XJ-B2@!e`FJUfN-i'-V`c1#I[3#&le Z0I+-S)m44QL%!T-$0XmL&hp(,$E+`RE@d3kY*BX-bmlahT!!`IZ(cpFIEr(TmIC QpM4lZ-GHQc)3ra*2MC%GV2T*Z%)5qMR(`fTPbI&"+"EDb3SlfQR6`G#h9KNUq6) 2BXb[!h%VL`fBN!!$Nc0YM5L%8cZbjeLf$VUZ1Z%fK,-PHjceTeKT!r+qE-Q8r`2 !m+YZ$BT+&eZXMDcE5KVPZX['8+'XdM9Ndj!!0"C1BdP-'6Y9''fTd(9TM`bA91N ppUUUi15@'"mm21iCpdq[-%NQScrZ!%kZ%%fLm3X$TiUY24@cZM!N,I8*qS*a!+p *AcN,j99IpihH-jU0G+,6,9m6DZf`*ZG8[BCdU$L'3a`Hmr8I`60l,FqAkH2pl2i $,Lk`m(#@qM[jB[VQ3X,SGVh"ZP8P9DUQ30aaHAfAq4RBYR,FmmEc)GmXfc)m$h& EFifBY6KdN!$KmkAjpGhm)c#[l1lDZR!qA$q2dK&1jYHApY5VmkIREq0RVVM),q* FrZJeFD1ElYfcYCmd$l*N0(T4`b$-`XP4M!FaLX46)5Xkf+GT-)l#I2!B4B-B(k- NZCL@j4!G@45NNb6ll4&&fAJ3dq3JaQ%Z&NE*`6r0JLJIKi2(k"!hLZ-K9jbNiJd !!!!!$496G'&b6@&i)$-`-$![-M!`)'*KFf9`G(4PER4KE!!!!UB!!!!!!!!!!!! !!!!!!!!"QlF!!D#e!!&ap2rrrrp849K83eG*43%!VkpTDDq[D@N!!!!!!!!%T!! !!!!!!!)*!!"ieJ!!!!!!!%e[#U)!J#!$L-cS%kS8IkAAbFK4mZZ9&eR*XE@,8)m 44KLC!I6!kbPC6@-!(eXCRK(dSaHiD+q5B`5"M$"#)`b!(!"3KRA!C26RL8fT,'a R(4h3@V+B)HXFraXbH2[iFI(q$KqHlQkAkqAM!ilD&)(iZr(F'0R"UZq%'da#rbl aZ0eDFM`3LSefXX+"$YTd-25P9BB+RNb$-9D,30c*[!36FQ"bTUd4KA$U32B5@HZ JkkS6VL4FC0aadBpLU`h)ph)P8ri(!-22ZMA)+jh[X61bELYTP1ZZ'N1jXNVAN!" 03p*B1)f-F*hLS(+M,H@k,Zc!-+0+(h&8938Rpm6ii1'aCqbIhL+*Tl2NGcZ!XaY %#3mq-h!UhpYcXDac3p*5[d%['#rJ-qQ9Xe!qpEUAqXKS5ZP%TeZH*Y6DB8I1UAS (k9$a'JlMF0L[[`LHfDXmRqC2$mZ(GaL0X2&`-[f9[*MHA%JBhHj+l&T98+9U#X3 pbqYGjQ0JfmUajihR3piXfc)m$h&IXdE-@V`ib2"jd[bmE[i3Q&GfpffG1lpFrjk N)jbY&PIfh+HVpI1em@qP@14ISIc@Kq*@0pfEjflrNR%`$H2S4aS'86LH$H%`H4f ,G5iVHURRpPQ8*N2K%%ETd$i9mk)iVFk(*BM6SA!bRCc#j"6'i84XM*+RrL3*VT0 d+)b(F$,XPD6L2`!!!!dA8h4KFNeKH#!d-$!`,c)`-#!f-$&[F(4dC@jdB@`!!'Q 2!!!!!!!!!!!!!!!!!!!!!Cim!!'M-J!"FI4IK2r!9%9B9%0A588"!+q[D"'[VfJ 4!!!!!!!!"+-!!!!!!!!#$3!!Bji!!!!!!!$[6`UL!)!J!iM-k"1U&2r82'2N+(P UV89@FQap4UM(##1-c!"ki28"b'Uk-S!"@aQH%I5M&lLSNIA*-B)B4Y$"##-d`S$ *!3!"!)9e`+6cCm4LV5aXBaeYi5eCC-JEaqmG'EbII4jq(1(6mqKa2"r2TYKV8dE LlmB2aXJ'9[dNh+-EKlR'E,Qdj2K$,"EDb3TEfQV6`0!hV`b9r(-3TCJ-)c'5a4T -b)(*'9mMLH(8PZ`eFZqJkkS4ENfibVRMU[f+T6DJd-Z962NI!!brDQp39,VBB'9 Nl5YTP'YZGSB+CC@Z)AFlNXE#DH5%fa4E94KYUG"eDFm-FkVd(RY99A"b3i`2!4j la[lT*AThJkcrUah!a6h5Z*FH'$K9E1bP'0H&)@QThD!9M"F)Q3c+@DL3!!EGehV 2D0E5L8ClrNfSYF1+R&2e#Y+KiM8FEhMHVld)JGQE2&mHRUIMk3Gd1PJ%1,Rq6N( -B#iNM2DV09CHP95TQL,aa2)'PrNB@&mjpR`Aq&!`bhU'&b"ZDYD)@BZMJ`bIIjV AkaB1JAPMpq6V`SAPfRQ@MR!a'GlBbj!!6ZB[ebE-4,()Kh!LIl5CH05ljYe,GCL X'k@h@AT)ibMZpl*c'*r#38r-#eR4X6kdGhqhCq+K,%qV)qY(5F+#[hBN5G)pKI& aVb6TTf*KP$ceCleSN!$`96ZepmrYGqIf@r%I!!!0&e0dBA*0BAJJ0$!`-#mb-$! J0M!dEh"dG'9ZG'&X!!"PJ`!!!!!!!!!!!!!!!!!!!!'JY3!"TE-!!A(dAi6r`&4 &@&4$9dP&!3#[VfIbVkpRmJ!!!!!!!!5M!!!!!!!!!K%!!+GP!!!!!!!!SmX+SJ# !)!1)c1J6HRL+rrbZb&(bp2-L+cQfAK&k-X)))c1!(RJp*D[TbJ!'E'9i4Y#2AZ$ @,JmI18B3b!JM0-)!b!%!C9J(6-lq2,&SP)AYVD-0[#@,#FVHmAp,"Zr[2epr[-@ RKpZEkH2dISkG0R8NrQjmCBcXBG92`L@b1,a6h#qAPK`2a'+KR@baSBdf23apmmT 3cC-A8BVCG54ZCG@!#6N`1H-l*$'FfT!!28AT(A6ApX)eK*151dlfSeKU!`UpA-Q 8r`(!m+[f"P@VUc9@4RDqP8DjrRaVU&*@k3jbZb9T,*a'54LPf+M+D%Z9lQTlB&K 5UhIBUED&NfYLI!M`f$2f6bp4j*-Nrpd1i1J5DC`Ac`bFUYEf@%blbT!!Y,6IB#m B,a!b'C5c8#%0ZMGkafJDk85[28m61Zf`)ZG8Yi*dD(N0aaXHpYYIK-$X6Ci[9`r ckI`$cXk`#("+rCf#Q-&F5"MY9`e@AYA8USiLFFIb"TIj'&MI1[Cm'rK3--YkKKF JVM[@L&Q,9`FC2NqDApFY(!,caZl1Gj8,bqhIJh5%SpReZ6d1kHcakGU%0e-XmR- iNcrfQEM4frlG8h9iNbc+db*l6Z-S(KIT%1EM)4c(iV'5,Eh@FhY5a)H1BR3)id- i%9Ge2Db1b6JDCFRNT50*q)bqK2(&a6!jbX6#+$RdFhXkb[1K)bi1iE"+NQ6L2`! !$496G'&b6@&i)$3`-$![-M!`)'*KFf9`G(4PER4KE!!!&-!!!!!!!!!!!!!!!!! !!!!"Sc)!!DJ`!!&ap&q%rm"849K83eG*43%!VkpS+kq[D#X!!!!!!!!%T!!!!!! !!!)0!!$d'`!!!!!!!!dR#U)!J#!$L-cS%kS82qQXb&(bkp9DC#A(eLY#6dBBB@3 'd!1[$d"@dj8"I'aPH%E3MelJSTFq18T3`JK5'''%4KJ!13#J$1Z!5Hr2%iZeXV# YGE4&BmPLL,aer0q4`I[lcq12%hakQ0a1(kIhFqbe+32aGq14-E+&96m*0dK$rbj a[eaDFM`3LS9fXX+@YYUd-25Y8BC+RV`1BXc'JCM)BJdQj-$N6&-M#Z(8PZ`PmXC "ee8Vh*T`NA2(46H+T6BJhmZ962NI!!brkXDJU(5a`FV)ZUQN8DkpfKNUP&@kKYc Y5"S,Tj%6NJKE94KYUG"eD8m-FkVd(RY99A"b3i`2(Kjla[lT*3D$1%YHf`'Fh5# 1NZbCJ92&aTk,D9dBNTDk$6V"H!'I5DqFKI+TehfYpiaQ,CeSGF26K&SlV-Jj9Dm J(5TH`b%16rYe&m%cHj2RbqKK2Ter3+q(KBH6kqrNaI6Q3X,SCVA'UP%P9DUQ30b a[0jP2JDfU4al[[0mb*YP'iER)@jUeSKCLi1$$*mRcDrVjJq"H@0hep5&mmYeld% k`YPXI'A2I6TlI,SfrXd8Lr`5bKpG+'leVRhhe1hI)!hL*-ZHdc#)`M"k#F2Vkm& TXLmH#eR4SGkh$q2iGhZ8LP&C(PG(&J9FRKikN[63(L9m@`jK[bm@4XPM2lGRJq& apb3pKFR`0*Q*r`!!)5%'8e4548&0!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!4J&M!E3$$J!!!!%!!D@c!!!!!!!"FI3!!!#'!!!#!2rrrrm""+mB2T+[Vl8 p!!!!!!!$iVX!!!!!!!'R1[r`rrJ!!!!!!!#la`d0#R0dFQ9KE9pN,Q-`-#mb-$! JBQ&cCA"dG'9ZG'&X!!"'+!!!!!!!!!!!!!!!!!!!!!&ap!!"Y"B!!!!@!(F!Me4 &@&4$9dP&!3#['"S&VkmR@!!!!CS!!"IZ!!!!e3!!#M%4#ce0!!!!!!!!4*N4!!J Fe"b#'(!`p85)RD2e58&*4Tq`,i9iG1M+RU(@2GSR15dZJcee3YTK[3q9f$!(`!E 21ke[Z3HF$Sj,FlFdr&MZ9SCr-RFZ`cqFqaM$IbIh8BCr*2FN`qr-AFr`TPahDZl Ff9YFFmLIqbc$-h1IBlJhpaQ'Cq3qh(!Tpj1'Hh*McA(i3JG9m2Sj)bRmSqfMMhG 1B$eXiYR-XrdXrU&6+fhUP2KX0TTe@!V4JR963S9RkaECd&'SFer%(`Kfe@-dp'M 9bZ'qQ#P+cDjjh'K"V8d#!!!-6[%4P!"[bJREE,h1cbXjhFI-kZMCGA[GapEV#,8 )j4IGM$!#X(UZ,p9hCIJcq[)))qK(,&"pfIIF[-h)B"rCC,$*L*2EC,E*C*2"*R[ Y!(a(q'mS62`S$b3GC$S)9A2bA@@j%`XpH9JC48VSKjdSM%1GQD9`&-J4[ArIZc` jrp2JrAYXI,SXSdbZlQIcE&Z(XE6,54#1+TA+pZEr&[K9+Kd9cm*)T[X9VbGeULj P1XfSS`*j+G)d9#Qp9P&!l9DGHTI8fHjXEG(C@BIDcEh+3'SG*Z--YhP0h[PbTN1 9C(8kc,9UK%N8*V,LRDPEQH*QTY2Feb5LF*c%-Y&e'ZL8!G#j&%(M0)RQ[#*dk&- JY)!8k1+d8kpiH5ET9Hr`q*KqMIIJl9'G6L!ZZNL&,iI#Rp+&'%Bb`kR-RmJJMb5 0`0eHUedR"9,Lm%HlNFfN$1U%efbLF+9B6NNPZ$k1e&"%a4DB8!P&mNC'Y&[aMX% 5NaM1m$)XK8QS3r$T,[Q3!!dBd%a)aSMhGUGeQNL"JcaZYeZYeV45fGaQ)9GSNmj 508j&[-p+N!!LAUl%d#6p88NkEp+Ia9LN[(XZEm)-52GTYpPU(*eF(0ETe0GU#2j fGZ[8I[lm@ljcQSEM-!'4c!J&6+#DbB#'Fd#D*(6FT*lI%G%X6(#1,ej-`SaQ&MV &8Q4j+M--BTA15DFLb8E!Q!U0,FLbGl5G@6f&m3`bBJJqV#4RA5K'2T9T!NFc$!4 mXY-NS*43FT,()#bM&,cJNTj)qT!!3d9kcM$8b,)fPSN%AYE9%QLHq!)+Cl8[))U -EQ88m6ZEU&Xi#Z0J@,l+0!-b*SZpaNbCQ$KPc%'&b)dQVJQhKqc,,C0CddZM f"aIREcXAhG2qB0rZH1fD8b`!I-K$eSUJX9+3!"KX#BJ,j5K+m`6-(`EA1EJ!+3a TmEX483i6'Y(6rP1U$L(6faSI(6-PJTkb$59MmU'1SDAX+9pEBa!D&L8!EUG&IU6 mD32@0-f-h#$Ufa$5J,*[3SL+"8`b!ba@mKU'RJ!)p*2$lSH3!"q6#5E%81@D[Rd ##0)hjZ0diARmk&QHR3S#Gklk$-Mk0GULDV[&)raR"`4ee8$P%'qYKZZ``@rJ6L1 N"1TlZc$(9QZjFG(YR3bmpR,Pp0@V`FQ&eh,fk6fV)DUB!12N$ST[3cfK83l59bi 10I4%-MFQaAQ(ZII!ZR-C0KE)1B0e$D-j$@(d"Xa3`RXXZ$)Tk(!md6)T)1L*b6$ j$"Ll)h-,IT!!4aUHJ0YVB+`U**,%'3'I9aLP0"%*&ZpaaSb6YDL9SL`@U6C1'-Y I1@FUIKG3S#@@cB)&`$j95Y[mI*mDTaaIi&V[JkC2QI49`S-'d,NeDN3F3YEJf%6 `EjUS@r#Qk&DP8kD`N`V1DkqlGHSHpHS%"QQ3!#F8`k!KeX)rQHEG'Y3A@UX[Y-' 'km2BN!""IZpRcCX`4@3*442Tc5RM5",(%,lN3M(6kRQLjV+'d8dDh,,-BXJeFY( #8*'TN6DEL"R'YmcY)Hc91)@e!53$-6C#p[`DNLP-`bSB,JD!0%T9E1C`5`dEcL5 c#Nf)C*Sj'DjFl!p[Z[d6fQMmprHAC)-4KD1%5i0HYer#`l"k9jrAU&UpUae8jlA IiEf2G`dhE%93(MlmIRRim2[bm(GI$PGFTVAql)QVrTDefhI)aGl`IZbAiaH2Pp1 Bmi@mfRe(,qQ[VEVjqrMLi8SXl[je"A'Y[2*F2RpH[hrJBR(5KaGiQj&!LR,h+Yj '4mhQqpE)0ZUd-B$K5$[IU&I-mc!)h!&ci5)0K9[BU#c418+'FcK"!Bq2l#bL6C& X11pBE(rIjB6dlefcbSc)1cKIiKKa0PkYB4&LUF3L6+S)9rKCJV$NH4i#GU,cZ!k 95(r+!C%[P[Y(c1ZC6#p9'YLp9)l$M#f@$ecAD@VAR!l3XiK)T)JXq!H&XLDZE'* M4q",fjX%0b0ia0Xc-`NNi%$4XXb5aUN0*Bb#d`XIBNYP"$1d3hT80DEUf&Va"!h HUm5HF&Fh6(""LDCP6#L3!$*k`J8)cU2p5HRip1h4Qa-k1crTG!H)pKaVJLDm&rD f!XQkqXT&!I3`44+b$Fp,J%3P-aTP8TXK!&%GZRE4pC%LT9'!Z+jJND&aYpQ'J4m j1QbDa[me,l509QlhYprqCUrCHS"eJJ4Q%`X8J2k"Q6FLVG-3S8DKD'0N,Q%r(1H dXcR%F93SZ'NLTf4!`!)C'Bd8SS$%Ai0S9i1j0S-21YQC1U+jd$0[9UpIYPl3p8% IMkfY'TZdZ,TQ2fdh@bmU#"TQZ'1'[Kffc2$M&b&D$aX49DRU6!iAPbjASqq!V8B 9Vf$i"j@RPKT#hCANm$&d6pY,8jV0T%""KH#*p,e4i6"+'a"4(2UTXSDE'A&bFF@ 3!*f'6)Al6jaIdD'pa!Tb*H5*0&X#AHQ02DAdqe*5V"(SL3l)b@SK+ZMSK"XB(YZ ,M!&51pR$9V8!3`h5$dkhG"(65pNL5BXT`V(T,`JZ*&2`Ym'KqBXkUN##`%hdi$% B9GNGR6T-Ae9EAUcUl8*BMkHlLFppLZeNM1Hka)kk@Xc492#8M4p0S"'8Y[TCBCL Vh&3cLG)SJ%b*rDP&XkbBV-!L@-R`X`89f#i2cr[GrQ[N''ilZ3p$N`Fqf(64k+8 U(dpSR+1-ih,FS9S"H!9&Xrd@43R+DLD'ZbKEKc"lA-B`kjr1Pbi'AH$8`S[Cc00 2H&H"aRQkaaQXGpMYdj[68a[G8JR23ReCY##Cb`if9Ua$Q`f'-*PRl0S,MjUbl8m 2l&P-M%R"r'eiE,flQV*GPHEQr4`@V&@k8'!GlHYppV0b%@H+3qeIJ,SSBJRGC0J ,[)m`&RM0iK,[cRq)h@,X#l52)"CScH)5lE0Id,U!`%#h2P2mL'8"fLbD22ES'B1 h[GlKq3pV1rL(q&INl+l)`5irLbV*-,8FSPHfA&`ENQa5G9-QR@mAeC'jcF9CZ9" 8&[IhA#&Plk%[+aHqh2Zi9X$#[I'"J[PQ`Ic1Z9QZmXF50ClfV&qDe4iqL5L(iXi -5hIq@4NXLV8JXJqTVTBEfd80XSMeC44pNMeTYjZlL-PrHj[XCDXcd'd*aSpcBU2 &5G(fAJ#j90(L6-P"ZI2j6UNSal)98#TeMMi,D3%4[kJX[CkhJjiI+#V,-2rBDi9 e"RSX)bhUC*lVPNVMmaqpiq3l8RN5A2@iRN*[J3m(SNMbjdK`Z!qj6(b6*([Skd1 -V6C0SB%2ABS@f%DTKd)MY1Nl42VZiHQ8UY[h2R`l3Gq-MU+UGei@DmC688dF@+( YNA1r`S-YBb&VhF$41lB'XGm1(5rU0+B'Jc"'pi%U&erU'$U(8Yp+DE)kiQ22XHN +E'k'6-#dZ4lKNV0Lm@N)jr"eRUmCVYhR+cpe'Sc*5D+3!#1h$1D$MP8)C+QdIj* +FFpNrfTC6U`eJ)pDbQQMrDl'SPU#G3l[V)$pfijDjT!!kikXdbcZB"1,r`F!!!d 0%A0dFQ9KE9pNAcB`-@p`G#jMBQ&cCA"dG'9ZG'&X!!!3,`!!!!!!!!!!!!!!!!! !!!'SS!!"`hJ!!!!@rrrrre4&@&4$9dP&!3#[VS!cVkmR03!!!CS!!#c1!!!!e3! !$Kf8D`3,!!!!!!!!'ii4!!JFe"b#''MGShe5T(1V$Qml)R[Z!aar"Y+ZAT+9VU" 3TK58C23*pkPI+jj(T5r&Sk0ApJcT$1`bUN@FCpBBIHmjiY464Y8"U(k6drS@RG2 Rj$PQY[db3-[XYZKbcR3ph4*'cA%*-ehID$PV'A6&pRVRl,hkr)'ZHJqM`E&j,P` -AGm#SkMJpA0'8[MmVFBH$l(3%dlhE"C6F"Erd+PReh8fr'`fQRI%8SJ@V*Yb$Mj PBT%0(B9#'d$q3,#VSdRq(UeD1G`A-fA1PI"6M4E8fL3!!!!06[%4P!![E"2fkhA Q**1G$HVSbH`fhFI@k`Mp#1YLQa&'m"R!qV,9["MqM2Nm`JMk%3Y8JpA1VZ6QCf5 6fej'MT-YZ8eZNr%QJj8Xl"6!p`8qr1r)$ldJl3YkN!$)[Kp94Pm9jM869ij@*B- JFZ@U*[!R[Na8N6rSL`'pHY9jIR$bjp0AVe"ah9N%L9Md6bk6U[3R3KH(IAp3+"5 U'qX&rK8+l@Jbp3-4hbXi(5(Mk,Q)a`QeSljilXDa(mAd*!Vk9+q9UI1FfYAfjLB G(lHTAQN96S@8IMK-d*[,a)8RTY+2`U4-HkQ-Y[``m%04F)kMFa'MCb,Me*2N"[i `R)K3PZP8aM`!R3Lh[h88"TGFiNVISliVA9L"cSlDjB+6*S)HGrBH2D*Eq(hkE,p -"c!ARF@Z*hUZ0kBcYaH)"+d5Eb6kD5"S!1eDYAUC)SJbmEr9&FP8L(kCm'XkLY$ &&XF8KHJq$++H'pJU+"'&&)Lh)U"Q`AN%P9K%IiTI5L8rp+8228dR$lD"!T)&5AM L9R0FTT&`dC!!Rq[e@Udf,K3fUJA1K2!U&2!1`cL[A[@pRLbkj9l*FDSE&%Cb"*X 3fZBY"Mqhq2ER&[l(&LC`UKX&fU$M1"V'lZ3H'eDiNhR*"0&"IiS%R96S,ql3MER f4,ce%aML(M8VYDhpJl1p-Kej-ZV"CSeQQHUlZc[FjbMfKhi)[l&aU-mqLkDL6le ,M$3+k9'&1PlE$DCqL(EFm@cN*c69Sp0%Z%NDL`32NbLq*"QlB6,!M,%V8BAdk1a A%felIc+&fhN%$iQAXRdMRR`XiK$"Ua6SFmYfK6#P31#%k35#*44$&h55)d&[8TK GA[)Bd8#V0K5K`,aXrrQJDHLj##)1TGQ)EN,R)JMiGc++cQ%dRS2(mU*%mN#+"9# h0Bhm%"96-aPV%1$PV5!C@E9Gca0*)T++XFCKpr6Xj&Rll2#SHhT2ecMeNR%X"RL 6qZ`9PiC4")XK26'aG8j%F4T#qEhqka4D3"4Zla#pGB-8+6QJfphE91c"S1FPEMG N-9bkc6Q*a2$JLji@kcCh-peGLI4d-9#M4Pi3HH-YT1Bi84D$NFppf!&ZIZ[$5'a D%JN'B[HD!H3))m!Y+4LN"l1aG*MHl8@TT*fED#im&6A'"Bl$2cTD9D0jhl3VEX- Ph4*Y8V&HibImj9L'A-9qP-+UT4+kFcBMLcJJUHXdNGLefVcLl,"cF1V8jb9(Maq I(T`j041@cRB*r+5SbTJEiTllFN5$&()[d!)qk,MKTBSNKM#P1T(0&)i4Q$G"82@ #5qU"2Y3`2B'NdF0Pq#,pi8L+d)kJJMbKG)SC$`HU&pbI"K)*J0ljB1`UB&*SEBr f!!(-0(*$&#lRR2#Fl%8C4C4-h&LUh*Z)rl-1"*9C56ND@(V1)iIp6*j(@dF-83L P9rf+4iR`ST!!(lB`MLQMVB!C`dc$5B%ric!kKd34R8IaQ09UablciT2$-KhZGmS %XHJd$@Q#j)8[E6$b&-d5M1EV$,Ffi#6eN!"EJ)XrH%RPV4q$4Abh!RSd*YJAa(c "R3b8DahGNS%)CC'iImk1QX#CJ@%'*885$D5U"$qSL&+pHdK2&3VDmBKmGkM$cLZ "M*%2fU`),!a)JcLDU(G%SN6+*S*9K5IFF*`Bab'`XM$kip2$lJ(Gf2VI[lq'0hJ L!kLG`fif(Kk,&qA,%K@,&k8(aF[5lr(l(RkAd%-MBpCilqYjilf[XmCIIGqiB+" DCl(M[ZKZkQKp#6"hHXYR,hZqIp8jRM"&L"I0Pr53!2j@+k[rlqk[ZNcFLeqk!-5 b,VYLGlHmr)'1YU@(-(!f!KH8C2S9R"[YD(TjMp2N"Q5lFBV!%GRcAVqI2Cl&[QZ H#r1TM"#p5d6!E+c'M&dXZM$3B)SI#KPqILXX%%XJ,T!!FD'4`%4eXB6#G30V+)i `q+``FIf`@#Si%"M2!!E`GLM654R@%YkBfC'R0mAll)KM%6q2iMk+BM(d%ijNVRj GTM&UM(H`&()$0`E+i!rFc$jkS8Q1dk2!Z`rN(L&0RKfVPll!*2#qb!K6KEV5J@G JXZ&'N!$1Q@+**3G&&EdXcd)Bf(9T,Y5EIMF8f@$,*m@%X1&+k#D[2Y!EkkQB(Kd pfhpk3-FR"qh$8d!pFdqrJQ`Zdf*!GZ0l"Hb%Hc%B5HqH(Q)kE'%'Jd4)pBK*U)` %-2bD#a0*,$c-EQ"'d@KDU52@pl8)'UIa0eH$UYJ90ZrZh'P9DSZ4$J"P'Q+J1AB 0V,@bBTPki*`)ZcmePAEPSM26cdB2RE%V380&Qi+R`5"`ME,%"a-S9amL[ANrKed &@b&4IZ8*LUmIeZl6k`GGr0MF,('QJMKHFlc@+c@-$q"3V`hpkZRAQRTpTiGl!LH C$D$CNkJ0N!!fY&Th905mrS#S5%86CTKLRQBPqJS6P`JM@X'rLG*BYbHXZF)8bB@ G8h8H401TF,'B!TH#`f'NLHr&N8lR4*[6c-Sq8Q[PIdbhQJQV9$`"-Q&-S'dfhXa XR#%C$aK,X8(J*hT!aPDCU@#M!ekkm$2kFA[il+#&NU+GJlC),T`m$`feH0,l)ZQ 1JFGU@8&)(0lF$MkDS)JTJ0Y%LcJ"AK8jrS`(e$kU0'pAP&9VRVc[BHMabN5[A95 L'P)h`3+6BqHL9h[+1e*EC6E!CC5Ue3Z@V&M`U-hjpAj-kk(bRhArNQefUZGl*ph $lK1`#'mYHG1&[4aNi%$&ILk1dZ')KLN@E,b,0r2-ZMq'E6PDl9)%Lh(@JeG-H[A "S[(LKC9HpFlb#%C!ReRbF8V(UdPR`R&`1Ja1REh$,Mdp1Y+m&3[%$rD1GXZ4'"$ 3M$!M,Feab)jYPF-UGFBFj1-(ZKpHE*Vc"[9T%%96MQrm8@pShD@EG2Hq8khDC3h l@%hT3IX`RC*UT,*'A!J2DakSCQ9V(aer-j2$d6"CHrPLc"Nhcd0(Cb(hV@,KQk3 !&lA,e"5SPh!cppp9f+F2)d4I0qfP2RDH8!1*[0fB0q$,#E3i(r'#X3L#S9ZhX&9 *`d4eKhVKX&5maF"5`VP%lD,q'*6"MV!3Bc)B)QeZmZphHQ,B(+$0,C!!(rR)9T0 c,+l!"(b0`EF&ZJJjX)@p05r203UTc6Gah#6SB)iCU2Jfm[Zd8EV&djHTTX,eFc@ Q9qA+i$0-HdKhMC!!CL'"Y*RL-)9riXk$IcEdcfdPll`,MJlijilqfG)rlbbkE,K b-Lh6KSHIUSlrFJd-Se4449c0"@b6qi9U9@ehJ"6QhjeDj8jVZf9H!BZlpIVmXGC F91l`3%T#pL3'3j!!U#'9RVDQRY8dE%dMUpQf0GZkjXT3@Y9@8r[*(S9NIQ0"X3f C'9)0eE4$0E0"Gfc0cXG"EjQ'2`l,Xbi(EGQK@YQJGfc0RFabF!DUP&HbQVUYU@F e$9[6b'UfEBe1"D1iU@PQ06ZfCLHVDGQD9PCcapDSr$$KqCSj[U[I%J%%'h"DMPc 3',BSDSIFMfbL-4adYc5FV(B39aR0ihfN$+EPV&#KPB@8drBH0NFV5UQ[Tk!8AV* F8BTC['M@fp"*qa&@9+Fe"l$#dhq"&9fpRJ&@HJYBZ3B6GT%TB)m`UHM0mi*8@MX lGaG`XVYiA$,-JP3-Jq13!1SlC&N@VpKP@Eb#Q'Aa*jV4"2'&CPMdlfPQ1Gd+DjE &RrPQ4NSrM+p0HF8hbqP@S,-XCZ+ahVe#(P@c3Kj9Xd)H9E0#(Q1,((P8c3Tj9-d +H9600I,ma$%I8cc$Q5XFQH'-+XaaKZmq9c$6@-ZaFYR88E`HBqrb[TbPqp*F9kp e@0Umak(hLjXP$Vd(*J!5hq*NQaaUY5U09QYlKN(ejXlLXCR4%LTEk`P@1EpZB[k e5-N%JL-0Am`9XN9'SPqf520bEErIpMk0fF#jrVES%repAM(P8I36TAeHHGRKFkI CSYaUYLMhQLfbCPYcXEEk&H)qd%Z'F&F30N-i9CJMh0R*iGjlL0YH6`&aV289a*N E&RE!jMrA8UVG'SQee(S@PY1RP!Z@UpI[eKE%YV0iE#`HlbjBcT!!dXcehk'GiDD ma5H-qX"*rpjZDAmX-@T'8IRi+kJd6*@hq)aBRrMT2iZ`$05ZpR"Q[&b+&GSDhXT EV%MAd&IHBJ@qKXAb&KE0$+$RD'B!28Fc!qJjQKP!cp(-U*fMQ3(d(-d-S1GSCJ$ p[qZe(j%N!l3V`*S"QLTN-lcM1mBIcUM8DIRXBZ[d@DHcGj*G2rhpqQTaBpNd`QR Pl(@fdQrqL-mbD(&H+pAdYDGje5&LEl&9Clj%c`VXAHqLQlR[eYe`ITi9A(H$Cr" RIKL($hM`&aT`MAh#(f)SmTG%S##GG240QN-GI#c%[,JAkX@F[(f3!*k9ci92hX5 bQ&98lAR`l2jeIV*j-lPCVeHDZ#,pq&YG,qUcFfM,fN-S[UlF`KTr3jm8miacZjJ QQ3#fiVT(CKX@&bk*K8aa&)lFa"hX1S*$F2[*!+IM02"0$HK4Q0r,&YK+k[lE,l0 BMd3Jh6+TRpR"Yf3DC44PQ`qL01brk+Lm3pVKiaa")2Jl4-M&0kN)2AA+fF%h-A` mUjlkR"HIMV'IAp#RMIUF9rREelHZ2QjG1rKT25l9%F4mRk(@$5#MSQ`mY(8UKh( cqd#EY%9m*qY`YlPH[Q)#(NFbH5LVmDFI(XdZdeNA22J6h"6Mq`Rim)h5XLINZ4$ U2KBlKSk4dR`fJSq[eDQR[Qr%Q5FIEYU[V[!*E(j(@e*XS$m,FRddc$2"$pD&N!# +[fq%IcB%f56eDj2BEZVJYTMG!HIUidXafHY@r@9*f@NqU`%!%`!Fm2UTTMVaLEB 1UPN6P+dR#+`e'!2p2`!!$3d4Fh4bC@&YAf4I0M!dEh"d,Q0LBA0PF(4dC@jdB@` !!%AM!!!!!!!!!!!!!!!!!!!!!E3@!!(5[J!!!"Errrrr9%9B9%0A588"!+qZBEU [Vf2l!!!"QJ!!+C3!!!$Y!!!0kB*rl8N!!!!!!!$B)4%!#"c8())BF$$fQ((Gb5I IerHZr)P*rN%41MMH9mYA+&-+5M,kK2[8Ve@A4k8[aD1M9rB-YHl42NPh'G8LcK[ V%hdI1S9-!+LbVe2`&X'CM&#"ZfBjI"XpiId`,-5G2,Ei5B8k4Y,6F5[H$rZ*)$+ 0Xiqbr#e2hVM[KKXRK(NrLJ0TA2,-0"ip!GGaPL[(hD*K)UR*FJ$N(((53FmpkfJ UH2fFN46q`9EaacZ*&m(pRRiaM@Ia$jdD,JU`dB(CD%l&8SJ@V*[L6M`cAlNG(B8 kpdAmJ@"A4j2m29UeFVJ[CXUF+q'R'LfSY8N!!!e1m4'8!'qf#I[e1[-YQc5SSjr GT[[BHKfK(f(Ef'D%%RbHkmY@mf,i-qEc##2S4ba3$9D[bh+c6FRa**[XpcTbQq` RD0KN3-PQ*ekJcNRVcbQ-r5J2"$h,C"!QMG%hP4)cmH4S#4P%L5HAQ#LFK$*6S(! 3L!'GRhII(Tcmj[6m()MEb5,+a(aqGT8eC6J4'K`(iD"5DDlF,r#[8YP2*Y-`%ZQ 6LY-9-NhHLR5FdAi5L,GHQSC*5Uq5+##h9DIZ@pT[lUqZd[(a2VQ0cFUTN!!bM)F CCM0-A2TL+X-NcZUdQmYN,BbM-"B9jcLj%#PQCM,0I8PH&!lMLBKPR8jPbJ[3LI# #YD-iZQ+)*d1I!Npk8!+G(HhA+dkH#AVChAhaJKlKqr60ATd1S#dk5ceIp$er6'G H2a)C4QAq5!4j*'J!lMCER6SP)'85IUF4f95)S%liQSi56,(JP*)BdiG4d[FLL`) 658b4q#3LkP5F&f#*53bRq&)XKA%S3r"T*[Q3!!dBN!"-5-BEEhE'G4S*$`2jfA9 EVGDi8PPT9YJ5iKY2`$X%ijbI"hjI9Vek[qBic4@+%cQ#6!KM&b-'2ililXF4iGf )QGp8D)@1df5BHT-R,&MK68V)"0C"[di%R66SGpl35aPl)Mk&'36aK$U0eYVH`GP ZRBjmQI3KXcB8kHlXE2#FSc3FKM(daX+KJ(@@6%9!r5ZX0)VT4B1krViA6F-BihM Lf5M-D+TATiR`XM`9'4iQ5AT&-[ALE)!G8dm#"IISlM8c,IY`-SADH38IMTHcI"2 HI#c5',kV'!Kij(k$X+@!iF6j")4PP))A6*)M34pcL&eHm4V*3,-f&,(![LcrFY% mpMdB%C[5E%8[S`X44IbGMC),#)hhi,Am**1mN!#+!X#Y6C-`"Q*U0Q-1)Vam%L3 6blERqb,,40B`dMMXRCkG[0Nr1ccUR6l4'-HY'F9LJBpjb&VaD*JNN!!Bh"-E@q8 NP1BaQ0m02Z6J!U6`H)ISNaIPF-N"2HipTQSI!VfSmEJKNq(4BrC*1)B2AI3e@Bp jQTRZ5ELRKiAD,I+Ma"q[`6A(QC)BK(`43Jj3mkF33Q,4NXL`%+[A,#"(@!&UbC& "qK!E8iIY[Ak55pTiL1(#9eCM91!ir0(9V"V1!c1ZZJk9p'Ud5P@ha8riblB-ZUT "NN1UY4UQXcI$LpJJUHGdi0LY9SNi1q`HR$TZ#6PkqI,di-aT'E0deQ[)6bT9'A' $h)Y3MQL3!)2ZHE5!$VTHI+8XL81BBTh)HJVE#-5E`DMkd4AeN6l8-Rd"Tp(,&I& &KX14&,&G34Pj4[N81ai1e#bS2imN(!#c&iZaUK#6BLYlM%F3`%iM,`E`HXm*lmP DP%P#fF4,TI+pLILC95"5QD@8VB'TCcpb@-rNql4fa#%+TR3H0(c+K*r%r,#'G3b -eL,1''BEGJVm'FI*"5K+k#**amc@IZTaARae@+I$[@kG3"DGjM&0i,c3T69'hU* 6Jp"#lH&@"ZbN2R`,iH+AIYEi&+E))U(A3(Sd)YJ6a2Q#*jP-VRRdDLC%+)QN`38 VDJ*P4LBc+#UbC#!9%[P"@C5DhBGl+P23LSIPHd0YGRi0b4MqS-8+`m+#0%L6LAU (*8UiE#DB9@M#LmHC84`-Uc#MAldql"h3JlArrIYpr)!h-J'eHpJVeX0MpE*q9D0 UpE,fV(T9q`@qRq#lKKNk-KD$GhpE$YlpE6(iQcm0VTK3VEhBmGle9V@e[NF`GrV Achlar24QFMVK&#(HGGl6FrT$UklqIhkkR$,a,[ma"8'XQ,)MGREUeaqBD%Ik-!0 R*I+3!*,-[)VcB$qCAMeK0hN!fKkF`R"%mE`E"-AM@4TkjVP5EQ@)k&r"!QCVY@I Ca8BA$M6BiRXJKjrr!#[%&)K,H&aX+$"@ADd"H0p!$F8@"Te9*PiB9fX9"`6M'B% "H6Z@qD31D3Prc0Q4YcIJ29E%X8MI*QN!8#U'BFD@c1J2G4S$Bl5$8XL,["44"Rq JCYE41jhNf$dUh(h!p`KZmZCB[33#Qd$lSNLBbY39$l`$*aXH"1UF+8SX1DJUkf9 kjX4!VYIL!Yl-Hk#5$8Sq+5D%KLZMKeapB$EUUC4H(,hCHhe!abF(qiHR#2@FHi) '[,P1m`9CM9mBX"[ZTXK)ZRYkMZh3`J`'QC!!kK'E8"d1B2,VJTK%S[!`hF!X4@0 S`i@YlfN5G*c'h`8Ee%4Af0RHf0TXY1BV(5#8k4!$cY%e-0G+LRAU)qFNk2l89PU 9mmQFIPEkQ)bZ"!09fK5m$4D"DT3N[ST!UIS3lXhp(,S+PN+Qp-SE9$mmEcfP$mp kq&KGVE'R)R&mB(Ye'bfXMm#KAY[keGH[,IAk@5rh#NSb$D$T593$T!@YkSk'fMF F%&@TDX`-@j4Z9U0[X('0X+)Pr0XN6r9i3Xd9jh!ZG%l0dSLQ8q'KQ%)Z43k(N!! QSCmQfTdc,8kc+qY)YFTrffkj%kT82#&N3TL)YX9k-l'aKa4j`%L+"3)pd6-bXLT %"4NGF1R#cjM(ik'cJde!URB2@L-j9h*T'UTidRf4p-D)akUX)$J10lH$1a&8X3A L0Y(F6K#[UQar4J1UMkU9ikUbDF@cQ(XBqebCk0T&1DT*kXCB)(*d,VVD8pU4@LU c"Dk5A&8[+&P4m+MQr,BIdh`SrfIHrqaYGUZhZbHp`piVC"&Z,ERT3Lm('YK3dFq P56iFd6"(`FCG[0PR0[dPC-[@DNX4&12-"eG-Z[TJdVKiBDDAX`XrJK!`CqCml0, TFY-CF@bF$JHRlZjKMeiI(HQmP3VB$hT(fh*N*JMSM$",@MV(`6[@P3mVeaQcNBq IkAPiX@l1$HVV+%QQE0mQ`8,"`EQ(AMC`kq9MHrkic[2`4mh'UMek50Y2R@E6PMZ XHm@+$kh%qC68)190iP,iU)A!XU9jrqMifaPpMJkIVII[aZb*TAmkfMYjEK-&FCB Mk+MZ8a1R5lZC@fbVQ+J2+85JKrEc%"dTf)#$VlIe!09"%`Zr1,V!Y)X4Gj09K"p kp!L&6"jRDK%3'3pVe8HFG@UiY'KGZLm48&K-0[mBq`CIUk[mr9N[$iG!4ZF4X"k lrB+H#fBMjX"'I*B!N!!5VijJCNFM8RM)&1FQr!Q9mLIdbCp+QI-T1#AJc`hpZDN rYqC69M`jQGCTaFFRfbEb#&j!j+-CN`aP!01(%FfQDQ`3%mbr,EHajEDhc#X#i2E 1j[baA6cZY0UmNEQmS1UR*!aSTFBEeUQPiJ3mJ1PP+3%&+e#BZiN38M(5Y50G29, T`Q,D"@EGBYB,6-GL1J9Q`f)f#XbQa@`@Q#f,f6,#TpARm%1V($#)!BV6!Z0DM&Y JfKE6,M$V&U19V6#Ui9+N&CJ0LpNS-*X@XePJYLa'HB$aTJqFX([k,4-)4`-fSj' (R)4q3l@l3@,pL'fiYkCM`l)GZ,&!AZr1ccR(&N!9HQ`F10hI4DHcc!2Zr3Pji,m KJ1Z2Qa"J+K'G`PDdBGjP!6ATrSNXd,r*!YI@c`3E!02h&&&!el9&&'Je1QhFMK5 'lhEQlVp62VEGVmDZ+EL*!LE@iMETKdbJ4hr*"0HcPq(J'Va-#GIJC9bi"Lpc`c9 i'5#Z`FXNF3fqM44-mNfN8*KPT&#BCD43Q'@N8*KPT&#BCD43Q'@N8*ME52(hR($ RNN9FZ,(l@9a3`%9Fi)[(C9KShdm4&[lD'+aU2lf2ScEiNKLqY!IALH&,TQJfqF5 M+"0SfffdecFfCN("GEH,0J'24C[JZMYrLK!rYJPIki+I'SCl'0U%JMri[h(qNN! ,QM-S#`De4$FlKX%l1+UD1F&fT3A$&V5Jf))@(&[3JQ3,@V"X35EKh*!!ShhPHqi dI-DGc8IhB(3ZrdT)Ak0"NBpZ%XiX(bRJ)KqGR4cZINP)krG6*#6QqLBKQG-)9X$ U6jf+'[I[S!33+[SeR"6cAE1q8LN+i3`6bMEFd-!V&bJ1"*D3!2XhBTFqTLYL9k[ 4hYMH,X*9ZeA81%KDC3CVYh$UA`5V8L4@T+9#e1j,(C@aBDQP%RQ6ac6cme3hfm8 Yh1'2&Br*-iX4b`"RdXeLK!Nl+PV!pDh)EU+&LC!!LfKK-Z)L@TL-1)m@rd`#2eK J%3KZ$(d@#"53!-Rlc1GBheq$U![CfH(*kCYZGrHN1-Viba(*r&5XBiM6c0NM8m9 IqBMVFNh1"m@D2PScVeVFpU486HD$fJ*Jca2RdmbCUTk'+pS#F$X0QX'ImVi([d2 !KqBi+MhKHr)Urb!#'+56VMkYFDL,hc``,pkPHM'A1eqTCqBAa'FI8eNY%%elj6J libX[cajQ$efhdF%ah0fh1X,5el2JPVN(8A`NYYEL-c&p!)XG5lQB)38"&R%lSj! !$C-,PD4#jVKYKFrKR1mqJRY@HrRXG*dfIKS!I&6+Xlm+5dQGXBCe*ZZ&L+4A*r9 Ch+e+6P3FTeMQJb52JhGGjAG`1rc'3"3*rMN9q1,(A-5qZNMViV3ra,1DUDm5m3X BpSTFAfMTUd5Ple#Il)8ifH[LdfTFUQDjc-mUhL+Y9'AlZF8T(mETiM-Y8V39,$@ H9[)9UNc!kdK1#NTUI-(qBRCJblcJ)CcJ0"*Ri2Mp$X9PAmJ,)G5C(c*Yee"TVYr jKP4GV1Qc+ebVmIfCrI%)[Z4ER!2@9$E3[fj`Hr[)1d%29S@JLRqQ"IqX#E*)h&Z 4f'RUEV"DR$-Zf-F2AK5[DqllQT*6ZDX*!-B!f1$e8dY0iNY6E95c)B$G6f"Bpf! Xp(m!!!d0$R0dFQ9KE9pNAf9iF#jMG#jMBQ&cCA"dG'9ZG'&X!!!i,`!!!!!!!!! !!!!!!!!!!!($H!!"i1`!!!!@!'J!J&4&@&4$9dP&!3#['"S&VkmRP3!!!CS!!#& 6!!!!f3!!$1AHIl4X!!!!!!!!%$!4!!JFe"b#'(!`p85)RDePC8T"58DIF"mk*1T ,kH24`5YlKPVhD*rN00RbRMVd3CX2PGJ`"d$CS02kPR[!bAGFQVZPiFGbYc,mNlP c'IlKh-FBrMZjMc,m)lNR'AjRlRU'0q@k8h2RcYlLQN2qh'FCRTRl(-1pZFm`2#2 hiBC,ZCmdh*-EDil$&cUSJYI2'8RK(fdIIEac!K[J#Nprcefcq)G1VA3E3+iRXY& A3GGK+86hXQj+U2"-p5)E1JTelS[i!m'ZHSb'(UeD1G`A-d@Tf6@2'bfSY8N!$8l A)bJ"jT36YKQqcXq,8qiq0YT(*pfQ2,EfK(k%GE(0##-!U`'X$m"@hjAM"h5`Mc# #IX3#G9eje,lVBf5`MbaNX!NR[mP[-ZINH%FS@GB1VqBNmL@C*)b+NDBR@6ibYMY peUaRBT92EdE'N9Ajc8aNBT0R-Q6')cfQGqm'VrH1rh6blKdQ2L(V+00Aq0PPYTk E@,[KC'6'c@CcII@AAl2Cq1,kYlYem',[q'ES'QA[fk1pirh"hX(TeXYVP01Tb3M rKLV6)l)*j900YTJA1GNa+CUDb65k*(daebPS6()9dCN1FjZ5RB0BmeHG9PXN0UF a4ZI&-$)KT6V5f+[YCR5Df36`*X%cj'H`V8fLbfD$rlC9CN)94CGY`TI3F'l6'8d 9b0%k`6+a230(`d[(8E9pXa&I8QKMTLFMPHU+c38+MI5`Q%a--J'l1HKY0P3##(Q Mc"CTU!RU(1Y8*k(1QSe!KAN"ZM`%f*fRZM02,DCj1iDIUR4%Z38hDY4L)[UYDh) SdcVc)cS9cKe$QBRRNIC5`VD0m-eEHNVUcG[(H"c+BlD+)AjHc+jKN!!(m)3"2+i Y-$UGcV2&C*!!d5VMY@L0q#RJXE9UV-@)Z4FYf%R)j%`2D$diK8qFB"cr-YLB&[C -!JdijPLG)@M-9C+hH@2SS&5X5P0e#E#4J8JB*9I'@8UQB[d4PJG6R484c!C'!)h 1BC%C#eG")FN%#T(0+B!*k`L'"2)B[8B1E45THFBbXa8XV#3X)QFb`T!!jfCXSJM iJC!!(pSLJU&S9[BCc-1j#d1`6jM%j)BGLFj02X8@l1T`)@q#+LSd0T(Y`UP+a&Z BPhTeiF5abU6'&[V*J58m1SfT("0X,YC!'0"KaFVl)XYjlBSj0P'+V*d$'*CkE68 1PdfUC-"V9k603K"EC1M%bec)Nc8cf*!!JaXE0ZP5PP#p3BlK3GiELD%4$#&)(NM d"4#'Q8l2h(ic8-4qSR*(lXCR0a615`'cE)4KCbmF)3UKk@VhQ@FpJm5AAR0MUci N`,eVJF1cKfS)(GmUICj#Fl*rD4YZ+G%f0(Va&Pj$*GdeM6PV-8BdmXC9#Bj"*3P meH+G[(h@r"B*X`XVmGb#TGL1LNKMeG)6DcMiCBiN&EM4)L[a+h%X&Q"MC*J-E+L 8cK'F9'@jXYLC5Jf8!"(@BL'Q#b3lL0T29-*LG#LPXl'q,A5-[8B"L)B,1Ap$DM, BbbG)*fdmMbZXeA9%heqclipTH-I'Fa2Tp&'c-G"jDPrVG*E4MKhTej!!N3%r,b` mS0pVdq!elDc[V+h4dG%1pEX2QLFkCrPR`1BaI4&UX!r&Y'QVb'h(*!J#-2NMHkj 6B'Cj@S5`j-K-%Si"E6V*B5'6M)i4!$Z(X!)H%F@19+kJFMSph)%ZS9Pk2YMDhDA Ii2[NeADEpP!Xd'QU3Me8iBa14CH!bX+TCMP,D(l3ff`[*#N6f9cV84Y"3-qR&LL 9AQd#p%N%Vd0SG921PL0BAN5EcFBZ@')5cEcd&Cpa5U33XJ%$1415mFB20QGYQQS &3(lZphZphUcTT,bqfN5F2%VY*&Aa)jD#9R%p%N18p)h9G0bP2kZ*5RRf@*qC$+X qSXeZVl1pGlV9TN0Ni#%)h!$ArBF2[fDF`p3J8)&*TJ3@!`CKpH,DhpKT3VYG'S3 l+TUE"(#-+"d%V*jATaLp3`%6`J0#&aU$9#8CXMeab%AU6@L`[Cij3ENNcLZJ3d$ B&#PJmjP1%p3j`J!E0Zed#9YU5$NTBK#@`HE10*!!f2'q4eGJmNYH!kBRV%ed8LD [HY%L#48NcR*IV!LV2YH)&2M1T[BFPX*lL19DK$-X*!d6jMU5%kpL$dS@[,"$fj* Y&8T(NA@p02B26Nk2AqfFlKmHR$ab-pa81-9LJHm,`eT40,%@%S-[BH051@JhLJ6 -EidN+))8AQRaFeN*H2F2lP-`K%c2NISX6CJ54IICKj!!X"!Gc0"4GTr4PMXJ$h* 4P00'Mm,)KV-1['Q@LG`JkR0*[UNpim$$!LD0")B'#6A0e4S5,+%I(jq&61i%KJK ,p28pcRkKQ)rA"5)U2JD1Ckm#0!8#&hb&c3ki2`Rk2Al#IlC!8"H-,1SYh@S"(6l i*G`*Q9R63@-6lYMVe4-5XK[pHZ6`qI16[G0'cpXRad5IB,cF3E(8$H-#T&rC103 `8)N8A4*iQ2X'@2FZ`mB#1A2&*P%A6Lr,$$@mabeA4B@FSkY1bK83)MR%&(2XZ$p H"MJA@H[&@&@)*",c2,c&8iSZ,-(JpCiZ)N1,Z89SM&AUkX&BIq'GUIbG3S'1@$B ,&J$l9#9YqB8KG3ij[m#ehSfkSBq@H1KJ1cp'RBK$b()jAh60%RX1hU`V&N(K$Q) f!YZ,r6EYE`p32#)pRa6SD@$3%'[TRdccCJ[U-mlU5ff`iBB`0Q53!$q%@II-T)J X4R84hl`bYK(J%8-Bb6I#6#Y+RjE2'U+EG(61-N1+4dacd8+Sb1`iPdR%$2%Y`4k k8U@d!53$04%K0m+@P#1`+&IL5Qmj6QdXlh",G%YSJ*K9D%)PXmc,m-V&r[Kbrf# 29P!Rr[,l5l,#'jNaDS%a$IB2U[A`'&bd,eX8""HY*m&PkrIiIS6[&M"F2ei"Ehe E!fpp@`%rq`Ri[lekBeP#RIZLTEfSP&JP2M@l!0")BiiKqXdQ9kjrklAPlm2M'j4 BAI`,KCZS"FT$rI"KqrS$L#8NfXDdX4STK#f2efbXl0Mjj52RGbYY@MQ",fRh[Y* ZbZI@D13""1%89C!!(eKTeYYj3SDA-)ab23EC@#5J-J"a,(+lr@1@Jp4rCQ@8'8' rL)$X'9N854L%@*SaUQ@d5ScP#-*3Sp&!$Nrb)Qj$*6UFFBjNa'TqQhNpdZPVQil FA+SR*Q-RCS$hECSprTq4q!,Z"`2KGEfq'Ybh3I'XX6FZ++,(&i6e9B+*%R,LUb0 j'@R3!iH3!2V549KI1i0LhS*$%`1a4r%'8Qb1!r&bcri9lhaEX&5GJr#S+j+AF,L 5kjLVf)cZFHm#H+QIG`pIEErFSk2M[Chp%c3+R+C'A9JqfUHV*9QRRlNS&pf5YP@ DTDGB%Nh3H*cTA"ka%,AK%ciahe*NZB2h&F8LZJ1hfdGZf2CdZ"#2rdYHD"eYi1E [[[lYJfl[CUdp"$mAP+!!e"l-[)Ld,5d`GlfmQ3rf0q!FXPD(!%Gc!da*ZTSA`Ll X"%a++3T)r!@)p[@E,e%Bd-Y1@T!!VZMj6S"3ifi(&Th4)U",MGcQ9TjEMc-Y'HF (c6Vl("-&&(KrKGCUJfh4XkH%4URC+-A`(5jU()Z%3Lj"1CkL(9Z[r@Xqe`S9'U) aqS%9p1`F4+#hf)5TG9kILBkj@Z19[GcN`ZVrp[bm(3T@16rJZb2Nl@V4+fQbr94 4ifi!pA%HU!q!rLQrNS&qYlIhJ#ph5LUS3rQ0TGCf*EfE+mTb0F1brT!!+ahT&1b [F#R`NlB#E)*#JHM'c2!8X!elE8NIekS4JhbpP18Yp$jIbD"R%!E%h(dMi3-fM%5 Z&VMTG0FJ6ReA1ecDBR%0-R%YrDH@d,%LSB4&F#AL(`fXh1hee[("rX%,"#CZFjh df+2PNN04DS[*P#B&bNCZrre@9`XmKdqccjG&%0Ti*SDl0PIh-(YF0M(VRq!V$i3 Z!,8`I8i0kDGpVj+6$`pmlB9'C2q!AKiHZSbBiJU$lfV+PLFV6h`N[bc6)HH-B2D dpjKQ6a`)AYE@F-f")X&PdYlE0c-j3EYM`!KrYX$2&,!"9S-iB#Z"qRG"F(9,`B) V'DbjfVJ,JUYE#KCFb@$0e9Gh3A"e5m'#+aN%9amqZZ,*Um&JkrLlIaZH$,rRiIG 20[%KFkj9NXqbjA[24052Z!a`A,`ANPcSpkpmAmRBCDXRf&ap9J0Pqh10jlY#KiI 'XaVi#Hr$8J',I))6%e'Br)lj0L$JFjF@[`jF)T!!d3%ICbiHeB8m9[RM"f@`+*D #b,j2mk#D@#mET89$8NAeHpQpIVqlL4VKlpq5,PfV#ESG`IKa%Zld1!Zl5K*,eLT D`&3F9$-riP5+mL`l!D8k,e!epKih2e4PH'23f-#P"VCSeQA(EH9SfVcSVSjbe5E jG)[jSLr[3lSEAVjM@b5M0`0ZqP!"iI3MLR!"c2H(k,$im*Jci3$9SF'cdkCd3cK 9+RYm&aE[#1L'*UK3IllkqrASEq%P"SB"0c(dK!Eip(k5pjFKSh%qa9d$QUBJhhK DMSRcSf"kiZcJ!AQ2"PbY+m11*1[N'a)1r)hDlU)rCCV`B')d@0@e0i*lIXihjKK (M"picIP$#Di#h6@Xp#X)qCcCba-NlN1@[8T,Z2CR8KqE+Gl*5k)d$@jlj(!)jV1 85[qM9%Smk@##UL4DDJ$(8p9VTqqZ[HYPI3laKX8T`che"!LLUIa`JB0*$2ir!!! !$3d4Fh4bC@&YAf4IG@jbEfaX,Q0LBA0PF(4dC@jdB@`!!#HX!!!!!!!!!!!!!!! !!!!!!G+q!!(ZmJ!!!"B!$J!19%9B9%0A588"!+qZJ$1[VbG)!!!"QJ!!*P!!!!$ 0!!!-bHaZ5$m!!!!!!!"d%4%!#"c8())BD0fMI9+NFkX1EcXLHqi$((m'dUjHNT@ ZS&#Q&*4Np!Rhb@+#TkIl8M`kHQA2N!$1`#jM@TEcTGk(6KP9"k"L`'PpLmlTFr) F-pYq'D"PGPYd1@HkRQi*SqDiK*QZEl5FY3bkBRZpFrCHIIj!9lf(dH$B2"FZKUj [J9&8m2Sj)bRmJkhLMiGBk!QRHcD,+6L,IqM85KfF$6qEMHBGX45L"HZQK!T20#f bSD03D!2)(`KfG66*hk09+iIlBUBS0E[QFD-&Y6B*$8la%C3!EaCK[ejRjM9T9NI 2VY[V2VCH4qK(@"IEM$##c`$@PqUl-[`CmrF44Y#2@+!DG)@RPR@5iahCj2D4IH3 hZ8dQQi`h'9#bfDd+G$RSk(F8*N'8M`3pcp3SP+hTpl8&*[E9G!NC4p*A5d`8aU( +0#JFMm5B2RcS[cdir[h*K`p!h$+,+"0Ar0PPYUl#@"K`-JV(Y9TYIH9ZJAqe@PI 'mc!5kG1DeaFUP@p&1XZS+dILVCqQS8cTPBa'e'NhUIq@ZZ[Ge98k1ZT5Tl961a& +KFNN!cI$a%8JjLU85GDNh9c*Y6#*`N68[#0j,P*`CLV0!d9q&%k5@#5U55FUj3( S@2LMYF-NZQ5)Vm+!4VlbB38k2H`fDekH#AVChphIT`Ii2RQcek3$Q)Y18cm33cq BdDNrM%3'ULbBLP%H#4T$ZjefTdN5SX6KR``LQ`XaDK+qjP-*&JG155CJRd4bk%F 1"59N3T(i*#,DURRl8)P&$1IidLU&5DK#k'QC!YJ'#LJ@*11*GlCQ6CS+(i6mh1Q dfqeCVEDbcNDZd3SGTA+5q[&6GS,`i`8NKLITGe,3FB[qi%rmP,((iP1BBG+RY09 UVqdGR1ifk6"3FJMp0VDDe(RbC*Yj$Y0`%LB3NK@K%3XSjf*%`dZ-0%eS[dApS1Y (mc!"(61H6X1-jQCdLS@IjDR)m"$,p**8kLIC'$1Q[J)+YZc[V@I'6f%mKieiK!" 4NV-[*%mq%fQ#40-+M*Lbfb*-+H$N*)mK@%BTG!'6QJVkQ-0&kT,(N!"MSpT%*!, cXUm@JqC*i-2Kl2CL4$qMFa&&r*e0j6N5KHIJX3+C+4j)Kba`Dh-C*N$-l@5X3B5 A6i+8G'Vl35#b6'3YDihHi16dq%hhY(Fi1(PU-&kRB4f,!6lQ)A[&TiQ8X"KL#4- ljdK+m`6+lil1FQJ"8CMH)rVN4cRLCd`2"`qT2S4"caY-0f%aI(V)!C4-+)![KND XKmaQfAf&@2)ad%DEJNJ'XcA%d5c6&S14cd2B!@lq&-*)E&S5'3CLppS"e"3M`#d j`Rd)Xl&dQ0iIbPc4pRf3!)Y!4ieeJHIa4pqSDM8I@EVk*P`bD0!Ue6YYIX)[jah NUSpN$UXf'Q"(k(f(,"UM%p$!fd)8YYX,a'Q[Ih$LG4D3!-1A,dm16Vff$8Y[Xi& LSZZ+06I%23r9P-Bjj,l+E2LJlbHA1T+ih@M9L9bQF)c!["Q#DKKGdK#aVSFC#L5 0'DlX"5UF6*9)h!KUUKY,2XH-[E(QJ[[c5#%"`&d0aUj#rdLFl8%[mC65e%m![*i cjMRCLdT+bQ)r96VhB[%Vjd$8(5FT4`0,chRNXCmT#'MYN!$E#8,T`kJ98#B#QI$ $'XDa-&U,Z'2BD6JTm$0,j$NNNR3ZdaQVe8ep,Q+[HNhUlI@E",(S*%mS4[,#Pbi BHBUY"S`@QJah0Z!N$C!!@bJA[`QbeUF`44F*r4CUQ6A"RL$Z&maNfkl4d@rB%U% YNSl1f9%aR"RCcU#Pb14BD56kJiiSc6e%HZT3-)j(j2X6%hC"!j86q@$-LX$#J$4 1CDcI%BN++CX*9K@Hm*0CCKf(`#V$k,H[Hi-$ZVIf[hpr61la41%iiA9![cFSam0 MrD*jfD"krD,a[(lCq$@qRq+l!3j6rN[Lh4m@a,XrP-6IrdaFXfh9C,(R[aZXQQK pMmEV$DqIJr,jf3ec'R1,%1qfhY-,qR1lUIprIVCNLIf,Il'JL*8X6m56*mhV$c! kbJ"Ki+e%2PU5jDYjplTbI[Q8dq3HC,YhJX!4jI2ZD&3qRUDKEjpVLkQX%-0,4%! aeNE4A9aei8+$+Ai"F[Rj$l"',)'i3-BP9J)EeI8'J(F0l(Fi`Z#c@Zb(5Ee4mb! `RP%Bd,F6PFG0@%X%-qk12,d&ll%MMN6k9UBMJ&)a#611C%DI0@N'M281YLeqj+H S-[L"QpP(ldb6ir5SHHXVK0`MT-QE)rdb%TJ%hKGP`p5KVRAJ'EMC-"'NmqEB$UP aA8F[bh-P$1akE5lJ,Gmph@b`2P-L*Ub1-VV2U`p`Bqq6d[lKQlhA"h4dI0$YRD$ 8FqmCYC!!c8fk'T!!hIK&!6IKESU1C*Bk,c!GYM$MF5D8IX3Ne%3#f2jD#5-9&Kj f0e#dD*!!YMU)p6dMJUR6q+h8S(8XiEBHEcrDDE@[4MT!+6-P"TTMem"DDbXfDBL H)l&8de-C9eiaFrYC'B)CZa)3kVBTH"S-!YGS5raN!ZhU(Y+E&erB9E!9-ZeARU" qpU,pM-kH$r#aZYVJ6%AM110ilE6D'"q&3lpZQ0I![,EekfFch#XibDl@l*j%Ei# -SI@kSkAR$FG%GDVE---8Lc4Vd2HBZ%%Bd3RqSma63dpBFb8jNJXlTr9&%-hR`XG L#Vd824a'LX-JP5DG-f011b[l51pVrclGFLEX+2'%NJPMSYU@ia9Qi``Tqi#e&"X %IU,RC'e9QJSf1Z#P#cq$MqRKXi-G31TZ$PSMGHAN4@MSaC2C&bPrKRUXPa@%a1' 9k2LE#HUB!R@Ek#T18+rU((r@!hSIe9M3eG@k-dr&fdX#ATQBYBY190[8EE$!j0L jQ0@HpSib9LN'Z*5jAVdN8Q("SeI5YrXaSiI1IpEp,pRQTRUlHccS$9kKLr$@NMG Gf-Y""Jj8l1G5Q8qQ0-QaB1-PYjfRB(m*fh+dZU8)0XkX"kqBc1U$4H2&#bZpj#l c#%B!6j&mR0,TFY*#1!j1MiY6IlFhS0H(KkC[T3,aJlfMfh*NYJLBMP!d,G2MN!! GQcU(GHV-1-KRc`dIAPbDm`EeG56PR1-E2rS0e!1k6iqIHH[VEPR$2YC6"Y!qbHH NLA6@L!X4B-d$eCaXhF1M(`Xj2&-QfqrIc6MM&RRSQ5aNhR8XI,-Fa8A[-Nd,0%Z i`[f2GHdc&`GLC%L(HBLG*p4!)QpZ,!Mi*!%8je0H-0E4B1M"!fa9mL66l&![Q66 U$lL`0(#(d,lS[%6,B%Hi%Q-c'#+YV[,hCc-aE)kLc46)MfTNVBNf@e'CAY"M1j4 G$X$jFeaIm#H1'IKc`haZkP%A,$J!i-pYmlPM2KpGXDci+TihD5A!TmEa,f-JhS0 #28BcJ#A6!#d"k`XJ6&PJ1Jl6+6%E$V04BMBGCV2%E$R-9SRCGTMY%V2M-$XPjT( $2#S&Jbj!DD9+6-GK1L9Q`f%f5XbQ`aK2DBcH#'QP5Xbf`fbAQ"f(f5NaMaa'Zmr '`"NhdS&jb`6+a"KR#pKcSPGJ(k#hS52TmS"MEV"QBRECTQr5KXIlPTIFqdUJ,JN ZENqkZpL",21fFcG&h[+ki#C[l3V"Y*D9)UHqaUjQZJ-LGSGAXIYca$)$!eL[+R0 Y-m0jcGI`[3B[8rJD[)cMDr!bPkr"bi#q"Lq6qKUmM1aV-'Hh8riQ[$9Q'GiDX`a [M9Q'YmBX`eYMPZ'Y-F[`eTMEm2j()Rr,Sc+BEi+e#'B0V)+CMpb@XEaa*dF0ALf #l1k,,[`PQlrdi5rCI0G'35i&JU&XfLi8FU"+)JHU0(+J5L3(UP4bS%SQ"kTdFL! Re"dA9IlIGH#R(#c,`%fF&f9!!kXbF(VFfre5"cE[TUJ$V290(E!EDRE!kMqVZUD l3k39A08#'lU&#Ekf""["&F@b00K!VLL@(F,'Fd@aV"3fV#Z+CF1`d9e4,!Z($I+ +BYNrE+aA&#lPE8qU8YlfT#VPE8qU8YlfT#VPE8qU8YlfT#VPE8qU8YlfT2pfrVq Q@jRe0ePGC,d'XKNqmm(,,rYfIB0BV2C2h[6lZmIPQ[a[DrUVBj`Y+ja4cThaDId @MlMI0H+FDGA-@C!!IG8YScMDdmamXPJ#h!(B&CXp"$4XZ&-X!EGXm!aq&KF8Z26 Q8ekFl4hca@kG6mkK)"hhcI'#4heFPGXArd+rf0Z)Rk4Rj5[KXiqTUTH)GAG(9Ka +,@jllQIh1jh@&Xk0[RhV-aGcR`KY@AX)a@FiDfdqa$%RKTKaB4G,8JVJ%,FFT@e BA,JN&5V(p5"b%`G6Ga&F$,VE8Ur[EH$i'RV8&SG90ED52K3-Qbc@[SL8hb6p@9i '+QjLA-2BjQ1C*k0hICeh5$YFF8H4i,m%J9cmQ)XNd$FrI4a2KhM@R1EZ#hpM`0h TQKXBFrHPr4fDSkJ34e&pI$U2+ldAA94Mh9aa*9CA'bmF6ZF`MX1H'j2Z%"p8HFb fd#[8RB$(8G`mY0Ai4RLr1'&NAI!3aMJq`k%YrN+#eR)Se,N3qT!!#KFrI5ZP[5r Q+cep%f31BA!2a"FqlMbIEk@UJkZ'lJEQI[cfZSaRJKqF#rRf5jr9&cFmE*,1V8N FQll-UTF(BjAkq*-#jHYDjhe$ffNaUbd!0J!ii-e6@c2a,Cm*US)%X,X*!ZX1M)( q$`!K)3C69&*&38d!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"'!@-"Y!- 1!!!!!3!"i1`!!!!!!!!!&J!!!)B!!!)!rrrrr`%%VaJqNUq[Y6d!!!!!!!5JX!! !!!!!!HjXrr$rq!!!!!!!!$MdERm!!!: --============_-1347413483==_============-- From ashizawa@crj.cray.com Thu Jun 26 23:27:17 1997 Received: from giraffe.asd.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id XAA03727; Thu, 26 Jun 1997 23:27:12 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id XAA18425; Thu, 26 Jun 1997 23:27:04 -0700 Received: from palladium.corp.sgi.com ([198.29.75.13]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via ESMTP id XAA19384 for ; Thu, 26 Jun 1997 23:27:03 -0700 env-from (ashizawa@crj.cray.com) Received: from timbuk.cray.com by palladium.corp.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/911001.SGI) for id XAA12399; Thu, 26 Jun 1997 23:27:02 -0700 Received: from helios.crj.cray.com (root@helios.crj [134.15.8.1]) by timbuk.cray.com (8.8.5/CRI-gate-news-1.3) with ESMTP id BAA25457; Fri, 27 Jun 1997 01:26:55 -0500 (CDT) Received: from goryu (goryu.crj.cray.com [134.15.1.86]) by helios.crj.cray.com (8.7.5/8.7.3) with SMTP id PAA08625; Fri, 27 Jun 1997 15:26:51 +0900 (JST) Sender: ashizawa@crj.cray.com Message-ID: <33B35D91.794B@crj.cray.com> Date: Fri, 27 Jun 1997 16:28:33 +1000 From: Yoshio Ashizawa Organization: Nihon SiliconGraphics Cray K.K. X-Mailer: Mozilla 3.01SGoldC-SGI (X11; I; IRIX 6.3 IP32) MIME-Version: 1.0 To: mccalpin@sgi.com CC: ashizawa@crj.cray.com Subject: STREAM on Origin 128pe Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Status: RO Hi John, 128pe Origin system is up today in Eagan and I have a chance to run the STREAM for the HGC benchmark. As you instructed me, I modify the size to 80Mwords. We are not allowed to modify the source or add the parallel directives under this benchmark. I parallelized the loop with -pfa. If I specify larger size, the program will dump a core file. (The total memory usage is over 2 GB, then the program will fail. I do not know why.) Compile Flags: F77 = f77 FFLAGS = -64 -mips4 -c -O3 -pfa -i8 -listing CC = cc CFLAGS = -64 -mips4 -c LFLAGS = -64 -mips4 -mp LIBS = .. I set value to MP_SET_NUMTHREADS and _DSM_MUSTRUN. I think I will have better numbers if I specify more options. But only the COPY is the requirement in this benchmark. Thank you very much and just for your information. ashizawa + stream ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 80000000 Offset = 0 The total memory requirement is 1831 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 7 microseconds The tests below will each take a time on the order of 54419 microseconds (= 7774 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 20535.1874 0.0886 0.0623 0.1336 Scale: 19554.5058 0.0925 0.0655 0.1398 Add: 23020.1977 0.0950 0.0834 0.1348 Triad: 23174.9509 0.1020 0.0828 0.1630 Sum of a is = 9.2264047738619265E+19 Sum of b is = 1.8452812500180128E+19 Sum of c is = 2.4603745079650111E+19 -- ------------------------------------------------------------------ Yoshio Ashizawa Scalable Systems Technology Center, Nihon SiliconGraphics Cray K.K. E-mail: ashizawa@crj.cray.com PHONE : +81-3-3239-5101 FAX: +81-3-3239-1323 From ashizawa@crj.cray.com Mon Jun 30 02:22:29 1997 Received: from palladium.corp.sgi.com by frakir.asd.sgi.com via ESMTP (950413.SGI.8.6.12/940406.SGI.AUTO) for id CAA08549; Mon, 30 Jun 1997 02:22:24 -0700 Received: from timbuk.cray.com by palladium.corp.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/911001.SGI) for id CAA29635; Mon, 30 Jun 1997 02:22:23 -0700 Received: from helios.crj.cray.com (root@helios.crj [134.15.8.1]) by timbuk.cray.com (8.8.5/CRI-gate-news-1.3) with ESMTP id EAA25385; Mon, 30 Jun 1997 04:22:17 -0500 (CDT) Received: from goryu (goryu.crj.cray.com [134.15.1.86]) by helios.crj.cray.com (8.7.5/8.7.3) with SMTP id SAA12532; Mon, 30 Jun 1997 18:22:14 +0900 (JST) Sender: ashizawa@crj.cray.com Message-ID: <33B77B2A.7DE1@crj.cray.com> Date: Mon, 30 Jun 1997 18:23:54 +0900 From: Yoshio Ashizawa Organization: Nihon SiliconGraphics Cray K.K. X-Mailer: Mozilla 3.01SGoldC-SGI (X11; I; IRIX 6.3 IP32) MIME-Version: 1.0 To: John McCalpin CC: ashizawa@crj.cray.com Subject: Re: STREAM on Origin 128pe References: <33B35D91.794B@crj.cray.com> <9706270617.ZM4164@frakir.asd.sgi.com> Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit Status: RO Hi John, I have a time to rerun stream on flurry again. There are 126 pes today. So I can not get 128 pe number. I recompiled the source and run it again. I used -Ofast flag this time. John McCalpin wrote: > > Good morning! > > These STREAM results look pretty close to what I expect. I am > a bit surprised that you were able to do this well without one of > the following flags: > -TARG:processor=r10000 > -r10000 > -Ofast=ip27 > > These flags definitely turn on prefetching in the cpu, and I thought > that they were required to do so. If you have time, trying with the > -r10000 flag might help. > Here is the copy on the console. flurry 31% ./stream ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 80000000 Offset = 0 The total memory requirement is 1831 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 6 microseconds The tests below will each take a time on the order of 69352 microseconds (= 11559 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 21857.5624 0.0940 0.0586 0.2056 Scale: 23351.7065 0.0725 0.0548 0.1105 Add: 24459.5172 0.0887 0.0785 0.1430 Triad: 22913.5965 0.1236 0.0838 0.1625 Sum of a is = 9.2264062500933173E+19 Sum of b is = 1.8452812500184785E+19 Sum of c is = 2.4603750000403853E+19 The -Ofast flag increases the Scale, Add and Triad numbers. In the HGC benchmark, they only evaluate the Copy number. So I will used the last run for this benchmark. > Concerning the core dump problem, you have probably already had to > do an "unlimit stacksize" to run this -- it is absolutely required > for large sizes. There is a bug in some versions of IRIX 6.5 that > prevents you from growing the stack beyond 1 GB -- this should be > fixed in patch 2121. To see if this is installed, run > versions | grep -i patch | grep 2121 > > The results are looking quite good already! > john > I checked if the patch has already been installed or not. There is no pactch. Thank you and best regards, ashizawa -- ------------------------------------------------------------------ Yoshio Ashizawa Scalable Systems Technology Center, Nihon SiliconGraphics Cray K.K. E-mail: ashizawa@crj.cray.com PHONE : +81-3-3239-5101 FAX: +81-3-3239-1323 From mccalpin Thu Aug 28 11:36:41 1997 Received: (from mccalpin@localhost) by frakir.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) id LAA22116 for mccalpin; Thu, 28 Aug 1997 11:36:40 -0700 Date: Thu, 28 Aug 1997 11:36:40 -0700 From: mccalpin (John McCalpin) Message-Id: <199708281836.LAA22116@frakir.engr.sgi.com> To: mccalpin Subject: stream @ 225/225/90 Status: RO asthma 19# ./stream.2e7 ---------------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLE PRECISION word ---------------------------------------------- Array size = 20000000 Offset = 0 The total memory requirement is 457 MB You are running each test 10 times The *best* time for each test is used ---------------------------------------------------- Your clock granularity/precision appears to be 1 microseconds The tests below will each take a time on the order of 893190 microseconds (= 893190 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ---------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ---------------------------------------------------- Function Rate (MB/s) Min time Max time Mean time RMS time Median Copy: 303.54 1.0542 1.1836 1.1705 1.1711 1.1835 Scale: 316.07 1.0124 1.0967 1.0877 1.0880 1.0960 Add: 327.75 1.4645 1.4716 1.4696 1.4696 1.4699 Triad: 330.24 1.4535 1.4547 1.4538 1.4538 1.4536 ----------------------------------------------------------------------------- All times are 1.0542 1.0124 1.4645 1.4539 1.1833 1.0960 1.4699 1.4535 1.1835 1.0961 1.4703 1.4535 1.1834 1.0958 1.4699 1.4537 1.1834 1.0961 1.4700 1.4537 1.1836 1.0959 1.4698 1.4535 1.1831 1.0960 1.4701 1.4538 1.1832 1.0962 1.4699 1.4536 1.1834 1.0958 1.4700 1.4539 1.1834 1.0967 1.4716 1.4547 ----------------------------------------------------------------------------- Sum of a is = 115330078125.0000 Sum of b is = 23066015625.00000 Sum of c is = 30754687500.00000 -- John D. McCalpin, Ph.D. Supercomputing Performance Analyst Technical Computing Group http://reality.sgi.com/mccalpin/ Silicon Graphics, Inc. mccalpin@sgi.com 650-933-7407 From geremy@ee.gatech.edu Fri Aug 15 19:04:44 1997 Received: from giraffe.asd.sgi.com (giraffe.asd.sgi.com [192.26.72.158]) by frakir.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id TAA13286 for ; Fri, 15 Aug 1997 19:04:35 -0700 Received: from sgi.sgi.com by giraffe.asd.sgi.com via ESMTP (951211.SGI.8.6.12.PATCH1502/951211.SGI) for id TAA12375; Fri, 15 Aug 1997 19:04:22 -0700 Received: from mail.virginia.edu (mail.Virginia.EDU [128.143.2.9]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via SMTP id TAA27156 for ; Fri, 15 Aug 1997 19:04:20 -0700 env-from (geremy@ee.gatech.edu) Received: from mail.cs.virginia.edu by mail.virginia.edu id aa13154; 15 Aug 97 22:04 EDT Received: from bigdog.space.honeywell.com (bigdog.space.honeywell.com [130.181.32.207]) by ares.cs.Virginia.EDU (8.8.5/8.8.5) with ESMTP id WAA05997 for ; Fri, 15 Aug 1997 22:04:13 -0400 (EDT) Received: from ee.gatech.edu (localhost [127.0.0.1]) by bigdog.space.honeywell.com (8.8.5/8.8.5) with ESMTP id WAA01172 for ; Fri, 15 Aug 1997 22:01:39 -0400 Sender: geremy@bigdog.space.honeywell.com Message-ID: <33F50A01.7EECBBC0@ee.gatech.edu> Date: Fri, 15 Aug 1997 22:01:37 -0400 From: "Geremy F." Organization: Georgia Tech X-Mailer: Mozilla 4.02b7 [en] (X11; I; Linux 2.0.30 i686) MIME-Version: 1.0 To: mccalpin@cs.virginia.edu Subject: Stream Results Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Status: RO Hi, I downloaded Stream. Compiled with: gcc -O2 stream_d.c second_wall.c -o stream -lm and got the following results: ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size = 1000000, Offset = 0 Total memory required = 22.9 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 7 microseconds. Each test below will take on the order of 90700 microseconds. (= 12957 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 98.3925 0.1635 0.1626 0.1656 Scale: 97.3521 0.1651 0.1644 0.1667 Add: 106.4972 0.2271 0.2254 0.2351 Triad: 105.0415 0.2297 0.2285 0.2321 My system is a PPRO 200 (Micron Millenia Pro Plus) Linux Kernel 2.0.30 96 Megs RAM Any other info can be provided upon request. -- >>>-Geremy--> From torsop@ix.netcom.com Thu Sep 4 15:38:29 1997 Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by frakir.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id PAA06297 for ; Thu, 4 Sep 1997 15:38:24 -0700 Received: from sgi.sgi.com (sgi.engr.sgi.com [192.26.80.37]) by cthulhu.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id PAA28858 for ; Thu, 4 Sep 1997 15:38:23 -0700 Received: from dfw-ix11.ix.netcom.com (dfw-ix11.ix.netcom.com [206.214.98.11]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via ESMTP id PAA22303 for ; Thu, 4 Sep 1997 15:38:20 -0700 env-from (torsop@ix.netcom.com) Received: (from smap@localhost) by dfw-ix11.ix.netcom.com (8.8.4/8.8.4) id RAA13556 for ; Thu, 4 Sep 1997 17:38:17 -0500 (CDT) Received: from den-co34-07.ix.netcom.com(207.93.133.71) by dfw-ix11.ix.netcom.com via smap (V1.3) id sma013490; Thu Sep 4 17:37:33 1997 Received: by den-co34-07.ix.netcom.com with Microsoft Mail id <01BCB950.A52DB690@den-co34-07.ix.netcom.com>; Thu, 4 Sep 1997 16:36:07 -0600 Message-ID: <01BCB950.A52DB690@den-co34-07.ix.netcom.com> From: James Van Buskirk To: "'John McCalpin'" Subject: RE: STREAM benchmark & MSCV++ Date: Thu, 4 Sep 1997 16:33:42 -0600 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Status: RO ---------- From: John McCalpin Sent: Thursday, September 04, 1997 1:45 PM To: James Van Buskirk Subject: Re: STREAM benchmark & MSCV++ Sorry for the delay..... I don't know much about PC compilers -- the issue is with the timers. There is a binary of STREAM compiled for DOS that you can get from: http://www.ecf.utoronto.ca/~denlee/softbnch.htm Good Luck! Well, I don't think Dennis Lee's executable would have helped me much. I did get the timing stuff to work, though. Processor: 21164, 533 MHz (164LX motherboard) OS: Windows NT 4.0 Compiler: MSVC++ (RISC Edition) 5.0 Mem/cache: 128 MB SDRAM/2MB Compiler options: /nologo /ML /Gt0 /W3 /GX /Ox /Ot /Oa /Og /Oi /D "WIN32" /D "NDEBUG" /D = "_CONSOLE" /D "_MBCS" /Fp"AlphaRel/stream.pch" /YX /Fo"AlphaRel/" = /Fd"AlphaRel/" /FD /QA21164A /QAOu16 /c=20 Output: ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. ------------------------------------------------------------- Array size =3D 4000000, Offset =3D 0 Total memory required =3D 91.6 MB. Each test is run 10 times, but only the *best* time for each is used. ------------------------------------------------------------- Your clock granularity/precision appears to be 6999 microseconds. Each test below will take on the order of 171999 microseconds. (=3D 24 clock ticks) Increase the size of the arrays if this shows that you are not getting at least 20 clock ticks per test. ------------------------------------------------------------- WARNING -- The above is only a rough guideline. For best results, please be sure you know the precision of your system timer. ------------------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 241.5094 0.2733 0.2650 0.2820 Scale: 234.4322 0.2808 0.2730 0.3050 Add: 267.4095 0.3882 0.3590 0.4370 Triad: 256.0000 0.3879 0.3750 0.4220 Remark: This is slower than results for a similar system with no L3 cache from your list. I suppose that's why DEC chose to report results with no L3 cache. From hwstock@swcp.com Sat Nov 1 08:50:19 PST 1997 Article: 72417 of comp.arch Path: news.corp.sgi.com!enews.sgi.com!logbridge.uoregon.edu!europa.clark.net!205.252.116.205!howland.erols.net!news-peer.sprintlink.net!news-pull.sprintlink.net!news-in-east.sprintlink.net!news.sprintlink.net!Sprint!206.102.31.251!news.cmc.net!sloth.swcp.com!not-for-mail From: "H.W. Stockman" Newsgroups: comp.arch Subject: Re: Intel 80x86 Sustained Floating Point Performance? Date: Sat, 01 Nov 1997 09:17:51 -0700 Organization: Lentil Sorbet, Inc. Lines: 53 Message-ID: <345B562F.21ED@swcp.com> References: <34582C66.347B@erols.com> <63a54g$8i1$1@murrow.corp.sgi.com> Reply-To: hwstock@swcp.com NNTP-Posting-Host: pm2-06.swcp.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Mailer: Mozilla 3.0Gold (Win95; U) Xref: news.corp.sgi.com comp.arch:72417 Status: RO John McCalpin wrote: > > In article <34582C66.347B@erols.com>, wrote: > >What is the sustained floating point performance of the newer, or > >newest (300 MHz?), Pentium II processors for problems like the following > >performed using the 64-bit real variables a, b, c, and d: > > > > DO 10 i = 1,1000000 > > a(i) = b(i)*c(i) > >10 CONTINUE > > > >and... > > > > DO 20 i = 1,1000000 > > a(i) = b(i)*c(i) + d(i) > >20 CONTINUE > > These kernels are a lot like the STREAM benchmark. > > http://www.cs.virginia.edu/stream/ > > I don't have any Pentium II numbers, but would welcome any contributions! [ I pulled the numbers below from: http://www.tdl.com/~netex/mb/440lxdata.html ] gcc -O3 stream_d.c second_cpu.c -o stream_d -lm Define N 3000000 ASUS P2L97 440LX w/128MB SDRAM 10ns: [hws note: this is a 266 MHz system] [...] ------------------------------------------------------------- This system uses 8 bytes per DOUBLE PRECISION word. -------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Copy: 165.5172 0.2960 0.2900 0.3000 Scale: 165.5172 0.2960 0.2900 0.3000 Add: 189.4737 0.3860 0.3800 0.3900 Triad: 175.6098 0.4110 0.4100 0.4200 =========================== [hws note: it would also be interesting to test this with egcs -O6 ... ] From bill@math.ucdavis.edu Sat Nov 8 08:44:29 PST 1997 Article: 25681 of comp.benchmarks Path: news.corp.sgi.com!news.sgi.com!news.maxwell.syr.edu!awabi.library.ucla.edu!128.120.8.185!mark.ucdavis.edu!not-for-mail From: Bill Broadley Newsgroups: comp.benchmarks,comp.sys.sun.hardware Subject: Re: Benchmarking Ultras, compilers and scalability Date: 8 Nov 1997 06:41:14 GMT Organization: University of California, Davis Lines: 41 Message-ID: <6411ia$nod$1@mark.ucdavis.edu> References: NNTP-Posting-Host: proto.math.ucdavis.edu X-Newsreader: TIN [UNIX 1.3 unoff BETA 970820; i686 Linux 2.0.30] Xref: news.corp.sgi.com comp.benchmarks:25681 comp.sys.sun.hardware:59686 Status: RO In comp.benchmarks Achim Gratz wrote: : A factor of two is indeed a good rule of thumb, except if you're : memory bandwith limited. The 300MHz processor is actually an : UltraSPARC-II, which deals somewhat more intelligently with : outstanding requests to the system, so the scaling is a bit better as : the difference in the UPA clock (100MHz instead of 83Mhz) would : suggest. The new Ultra30 machines have an improved memory subsystem : that should boost performance in the memory limited case (STREAM : numbers, anyone?). Of course if you were previously trashing the I cheated a bit. Because I have "only" 128 MB's so far it's hard to accurately time the stream benchmark. Anyone have a line or two of asmembly to sample the Ultrasparc cycle counter? I have similiar code for intel, alpha, and parisc. So to make up for this I ran a stream with size= 3 million (68.7 MB) and had it do each loop 10 times. This made the timing much more accurate. Function Rate (MB/s) RMS time Min time Max time Copy: 289.1567 0.1676 0.1660 0.1690 Scale: 282.3528 0.1723 0.1700 0.1730 Add: 339.6234 0.2130 0.2120 0.2140 Triad: 346.1539 0.2084 0.2080 0.2090 Function Rate (MB/s) RMS time Min time Max time Copy: 289.1567 0.1665 0.1660 0.1670 Scale: 279.0699 0.1723 0.1720 0.1730 Add: 339.6228 0.2125 0.2120 0.2130 Triad: 349.5147 0.2075 0.2060 0.2080 One of the better scores I've seen btw. -- Bill Broadley Bill@math.ucdavis.edu UCD Math Sys-Admin Linux is great. http://math.ucdavis.edu/~bill PGP-ok From bill@proto.math.ucdavis.edu Sat Nov 8 12:58:17 1997 Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by frakir.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id MAA11931 for ; Sat, 8 Nov 1997 12:58:11 -0800 Received: from sgi.sgi.com (sgi.engr.sgi.com [192.26.80.37]) by cthulhu.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id MAA05289 for ; Sat, 8 Nov 1997 12:57:29 -0800 Received: from proto.math.ucdavis.edu (proto.math.ucdavis.edu [128.120.22.112]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via ESMTP id MAA23350 for ; Sat, 8 Nov 1997 12:57:29 -0800 env-from (bill@proto.math.ucdavis.edu) Received: (from bill@localhost) by proto.math.ucdavis.edu (8.8.5/8.8.6) id MAA19688; Sat, 8 Nov 1997 12:57:28 -0800 Date: Sat, 8 Nov 1997 12:57:28 -0800 From: Bill Broadley Message-Id: <199711082057.MAA19688@proto.math.ucdavis.edu> To: mccalpin@cthulhu, bill@math.UCDavis.edu Subject: Re: DEC/Intel deal and Alpha future... Newsgroups: comp.arch In-Reply-To: <63njvi$913$1@elektron.et.tudelft.nl> <63pdfn$95o@usenet.pa.dec.com> <64035e$8si$1@elektron.et.tudelft.nl> <3463E2E4.61FA@EasyInternet.net> <6424p7$n2f$1@murrow.corp.sgi.com> X-Newsreader: TIN [UNIX 1.3 unoff BETA 970820; i686 Linux 2.0.30] Status: RO In article <6424p7$n2f$1@murrow.corp.sgi.com> you wrote: : In article <3463E2E4.61FA@EasyInternet.net>, : -------------------------------------------------------------- : DEC ~1.05 21164 4100 500 4 MB : SGI 1.0 R10000 Origin 195 4 MB : HP ~0.8 PA-8000 K-460 180 1+1 MB : Sun ~0.7 Ultra2 UE5002 250 2(?) MB : IBM ~0.7 P2SC SP 120 ??? : Intel ~0.3 P6 various 200 512 kB ? : -------------------------------------------------------------- : I apologize in advance for any minor errors -- I am typing this : from memory at home on a Saturday morning.... : Very little data is available from the 625 MHz Alphas, the 236 MHz : PA-8200's, I have one on order (8200). Digital is shipping 533's, and specbench already has results on the 4100/600. (29 ish specfp95) > the 300 MHz Ultra2, or the 300 MHz PII --- but it is clear I had to cheat a little bit to get good timings, I put a for i=1 to 10 around each loop, and then ran the entire stream benchmark 10 times and took the best. This was because I only had 128 mb ram. The below is on 3 million numbers (68.7 mb ram) Function Rate (MB/s) RMS time Min time Max time Copy: 290.9095 0.1667 0.1650 0.1680 Scale: 280.7013 0.1722 0.1710 0.1730 Add: 341.2321 0.2126 0.2110 0.2130 Triad: 349.5147 0.2081 0.2060 0.2090 I'd be happy to run any benchmarks, in fact I rewrote stream in java applet with a mysql backend for results: Array size=1398101 10.66MB Per array Function Rate (MB/s) RMS time Min time Max time Error Copy= 143.3 156 156 157 0.6369% Scale= 127.8 175 175 176 0.5681% Add= 122.9 273 273 274 0.3649% Triad= 116.1 289 289 290 0.3448% Not bad, the sun jit's about 50% as fast as the maximally optimized c version. : from the SPEC results that we can expect relatively small changes in : performance here, and no change in the rankings. I *do* have : data for faster R10000's, but since we have not announced availability : yet.... Oh speaking of which SGI won the bid as you probably know (the NPACI project at UCDavis). : Of course, it seems likely that the 21264 will change the picture : for a while -- but *historically* the performance advantage of : Alpha has been minor and entirely over-hyped. While true, the price performance on the low end has become amazing. i.e. 533 Mhz alpha systems for $1800 (not including monitor). : "Computer performance is more than the cpu clock frequency" : "Computer performance is more than the cpu clock frequency"P : "Computer performance is more than the cpu clock frequency" *chuckle*, yes I expect our 236 Mhz HP to be the fastest machine we have while being slower clocked then all the alphas, the pc's, and the suns. -- Bill Broadley Bill@math.ucdavis.edu UCD Math Sys-Admin Linux is great. http://math.ucdavis.edu/~bill PGP-ok From bill@proto.math.ucdavis.edu Sun Nov 16 11:18:01 1997 Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by frakir.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id LAA07194 for ; Sun, 16 Nov 1997 11:18:00 -0800 Received: from sgi.sgi.com (sgi.engr.sgi.com [192.26.80.37]) by cthulhu.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id LAA06545 for ; Sun, 16 Nov 1997 11:17:59 -0800 Received: from proto.math.ucdavis.edu (proto.math.ucdavis.edu [128.120.22.112]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via ESMTP id LAA26134 for ; Sun, 16 Nov 1997 11:17:55 -0800 env-from (bill@proto.math.ucdavis.edu) Received: (from bill@localhost) by proto.math.ucdavis.edu (8.8.5/8.8.6) id LAA20859 for mccalpin@frakir.engr.sgi.com; Sun, 16 Nov 1997 11:17:53 -0800 From: Bill Broadley Message-Id: <199711161917.LAA20859@proto.math.ucdavis.edu> Subject: Re: DEC/Intel deal and Alpha future... To: mccalpin (John McCalpin) Date: Sun, 16 Nov 1997 11:17:53 -0800 (PST) In-Reply-To: <199711161806.KAA06989@frakir.engr.sgi.com> from "John McCalpin" at Nov 16, 97 10:06:20 am Content-Type: text Status: RO > > What is the model of the 300 MHz Sun that you sent the results for? > -- Sun Ultra 30 (300 Mhz.) > John D. McCalpin, Ph.D. Supercomputing Performance Analyst > Technical Computing Group http://reality.sgi.com/mccalpin/ > Silicon Graphics, Inc. mccalpin@sgi.com 650-933-7407 > -- Bill Broadley Bill@math.ucdavis.edu UCD Math Sys-Admin Linux is great. http://math.ucdavis.edu/~bill PGP-ok From henning@tle.ENET.dec.com Mon Dec 29 09:36:03 1997 Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by frakir.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id JAA15047 for ; Mon, 29 Dec 1997 09:35:43 -0800 Received: from sgi.sgi.com (sgi.engr.sgi.com [192.26.80.37]) by cthulhu.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id JAA15171 for ; Mon, 29 Dec 1997 09:35:39 -0800 Received: from mail13.digital.com (mail13.digital.com [192.208.46.30]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via ESMTP id JAA26570 for ; Mon, 29 Dec 1997 09:35:38 -0800 env-from (henning@tle.ENET.dec.com) Received: from us9rmc.zko.dec.com (us9rmc.zko.dec.com [16.33.16.29]) by mail13.digital.com (8.7.5/UNX 1.5/1.0/WV) with SMTP id MAA21283 for ; Mon, 29 Dec 1997 12:26:18 -0500 (EST) Received: from tle.enet by us9rmc.zko.dec.com (5.65/rmc-17Jan97) id AA17593; Mon, 29 Dec 97 12:26:15 -0500 Message-Id: <9712291726.AA17593@us9rmc.zko.dec.com> Received: from tle.enet; by us9rmc.enet; Mon, 29 Dec 97 12:26:16 EST Date: Mon, 29 Dec 97 12:26:16 EST From: "John Henning, dtn 264-0378 29-Dec-1997 1221 -0500" To: mccalpin Cc: me@tle.ENET.dec.com Apparently-To: mccalpin Subject: Re: Stream submission: Alpha PC164SX Status: RO hi john 1mb 533 mhz /john From: US9RMC::"mccalpin@frakir.engr.sgi.com" "John McCalpin" 24-DEC-1997 17:34:25.37 To: "John Henning, dtn 264-0378 18-Dec-1997 1343 -0500" CC: Subj: Re: Stream submission: Alpha PC164SX What is the clock speed and cache size on this box? -- -- John D. McCalpin, Ph.D. Supercomputing Performance Analyst Technical Computing Group http://reality.sgi.com/mccalpin/ Silicon Graphics, Inc. mccalpin@sgi.com 650-933-7407 % ====== Internet headers and postmarks ====== % Received: from mail13.digital.com by us9rmc.zko.dec.com (5.65/rmc-17Jan97) id AA26605; Wed, 24 Dec 97 17:29:29 -0500 % Received: from sgi.sgi.com (SGI.COM [192.48.153.1]) by mail13.digital.com (8.7.5/UNX 1.5/1.0/WV) with SMTP id RAA10248 for ; Wed, 24 Dec 1997 17:20:18 -0500 (EST) % Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via ESMTP id OAA14031 for <@sgi.engr.sgi.com:henning@tle.ENET.dec.com>; Wed, 24 Dec 1997 14:18:18 -0800 env-from (mccalpin@frakir.engr.sgi.com) % Received: from frakir.engr.sgi.com (frakir.engr.sgi.com [198.29.106.23]) by cthulhu.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id OAA14193 for <@cthulhu.engr.sgi.com:henning@tle.ENET.dec.com>; Wed, 24 Dec 1997 14:17:52 -0800 % Received: (from mccalpin@localhost) by frakir.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) id OAA09843 for henning@tle.ENET.dec.com; Wed, 24 Dec 1997 14:17:40 -0800 % From: "John McCalpin" % Message-Id: <9712241417.ZM9841@frakir.engr.sgi.com> % Date: Wed, 24 Dec 1997 14:17:40 -0800 % In-Reply-To: "John Henning, dtn 264-0378 18-Dec-1997 1343 -0500" "Stream submission: Alpha PC164SX" (Dec 18, 1:46pm) % References: <9712181846.AA10447@us1rmc.bb.dec.com> % X-Mailer: Z-Mail (3.2.3 08feb96 MediaMail) % To: "John Henning, dtn 264-0378 18-Dec-1997 1343 -0500" % Subject: Re: Stream submission: Alpha PC164SX % Mime-Version: 1.0 % Content-Type: text/plain; charset=us-ascii From henning@tle.ENET.dec.com Tue Jan 6 09:18:12 1998 Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by frakir.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id JAA09464 for ; Tue, 6 Jan 1998 09:18:08 -0800 Received: from sgi.sgi.com (sgi.engr.sgi.com [192.26.80.37]) by cthulhu.engr.sgi.com (950413.SGI.8.6.12/960327.SGI.AUTOCF) via ESMTP id JAA23302 for ; Tue, 6 Jan 1998 09:18:02 -0800 Received: from mail11.digital.com (mail11.digital.com [192.208.46.10]) by sgi.sgi.com (950413.SGI.8.6.12/970507) via ESMTP id JAA09465 for ; Tue, 6 Jan 1998 09:18:00 -0800 env-from (henning@tle.ENET.dec.com) Received: from us1rmc.bb.dec.com (us1rmc.bb.dec.com [16.57.16.6]) by mail11.digital.com (8.7.5/UNX 1.5/1.0/WV) with SMTP id MAA13214 for ; Tue, 6 Jan 1998 12:04:15 -0500 (EST) Received: from tle.enet by us1rmc.bb.dec.com (5.65/rmc-17Jan97) id AA28180; Tue, 6 Jan 98 12:04:12 -0500 Message-Id: <9801061704.AA28180@us1rmc.bb.dec.com> Received: from tle.enet; by us1rmc.enet; Tue, 6 Jan 98 12:04:14 EST Date: Tue, 6 Jan 98 12:04:14 EST From: "John Henning, dtn 264-0378 06-Jan-1998 1159 -0500" To: mccalpin@sgi.com Cc: me@tle.ENET.dec.com Apparently-To: mccalpin@sgi.com Subject: (re-send) Stream submission: Alpha PC164SX Status: RO From: TLE::HENNING "John Henning, dtn 264-0378 18-Dec-1997 1343 -0500" 18-DEC-1997 13:47:09.76 To: US1RMC::"mccalpin@sgi.com" CC: ME Subj: Stream submission: Alpha PC164SX Hi John, Here's a STREAM run for the Alpha PC164SX Hope your son still likes trains (so you have an excuse to buy them for Christmas!) /john C:\mccalpin\play>f77 -tune:ev5 -optimize:5 -fast tmp2.f DIGITAL Visual Fortran Optimizing Compiler Version: V5.0 Copyright (c) 1997 Digital Equipment Corp. All rights reserved. tmp2.f Microsoft (R) 32-Bit Executable Linker Version 5.01.7076 Copyright (C) Microsoft Corp 1992-1997. All rights reserved. /subsystem:console /entry:mainCRTStartup /ignore:505 /debugtype:cv /debug:minimal /pdb:none C:\TEMP\obj21.tmp dfor.lib libc.lib dfconsol.lib kernel32.lib /out:tmp2.exe C:\mccalpin\play>tmp2 -------------------------------------- Double precision appears to have 16 digits of accuracy Assuming 8 bytes per DOUBLEPRECISION word -------------------------------------- Timing calibration ; time = 29.6875000000000 hundredths of a second Increase the size of the arrays if this is <30 and your clock precision is =<1/100 second --------------------------------------------------- Function Rate (MB/s) RMS time Min time Max time Assignment: 273.0671 0.1242 0.1172 0.1250 Scaling : 256.0004 0.1266 0.1250 0.1328 Summing : 292.5719 0.1719 0.1641 0.1797 SAXPYing : 292.5719 0.1719 0.1641 0.1797 Sum of a is : 1.153302511199256E+018 Sum of b is : 2.306605022415484E+017 Sum of c is : 3.075473363245637E+017 So what is tmp2.f? It is a slight tweak to stream_d.f : ftp> cd [.sources_from_ftp_25aug95] 250 CWD command succesful. ftp> get stream_d.f 200 PORT command successful. 150 Opening data connection for stream_d.f (16.31.80.231,1296) 226 Transfer complete. 7509 bytes received in 0.09 seconds (88.34 Kbytes/sec) ftp> bye 221 Goodbye. C:\mccalpin\play>fc stream_d.f tmp2.f Comparing files stream_d.f and TMP2.F ***** stream_d.f INTEGER n,ntimes PARAMETER (n=2 000 000,ntimes=10) C .. ***** TMP2.F INTEGER n,ntimes PARAMETER (n = 2000003 ,ntimes=10) C .. ***** ***** stream_d.f C .. Local Scalars .. DOUBLE PRECISION t,t0 INTEGER j,k,nbpw ***** TMP2.F C .. Local Scalars .. DOUBLE PRECISION t INTEGER j,k,nbpw ***** ***** stream_d.f t = second(t0) t = second(t0) DO 10 j = 1,n ***** TMP2.F t = second(t0) DO 10 j = 1,n ***** ***** stream_d.f * This code works on Sun and Silicon Graphics machines. REAL function second(t0) double precision t0 real dummy(2) second = etime(dummy) end ***** TMP2.F * This code works on Sun and Silicon Graphics machines. REAL function second second = secnds(0.0) end *****