From 7c872951b1c4573fc94ba91808d4c0ab420318dd Mon Sep 17 00:00:00 2001 From: phk Date: Tue, 13 Jul 2004 17:44:17 +0000 Subject: [PATCH] Send the fla driver in the Attic --- sys/contrib/dev/fla/COPYRIGHT | 102 --- sys/contrib/dev/fla/README | 198 ------ sys/contrib/dev/fla/fla.c | 288 --------- sys/contrib/dev/fla/i386/msysosak.o.uu | 823 ------------------------- sys/contrib/dev/fla/msysosak.h | 135 ---- sys/contrib/dev/fla/patch.00 | 23 - sys/contrib/dev/fla/prep.fla.sh | 45 -- 7 files changed, 1614 deletions(-) delete mode 100644 sys/contrib/dev/fla/COPYRIGHT delete mode 100644 sys/contrib/dev/fla/README delete mode 100644 sys/contrib/dev/fla/fla.c delete mode 100644 sys/contrib/dev/fla/i386/msysosak.o.uu delete mode 100644 sys/contrib/dev/fla/msysosak.h delete mode 100644 sys/contrib/dev/fla/patch.00 delete mode 100644 sys/contrib/dev/fla/prep.fla.sh diff --git a/sys/contrib/dev/fla/COPYRIGHT b/sys/contrib/dev/fla/COPYRIGHT deleted file mode 100644 index 9618a6781813..000000000000 --- a/sys/contrib/dev/fla/COPYRIGHT +++ /dev/null @@ -1,102 +0,0 @@ - -SOFTWARE LICENSE AGREEMENT - -IMPORTANT! READ CAREFULLY: -THIS SOFTWARE LICENSE AGREEMENT (the ``Agreement'') is a legal -agreement between you (either an individual or a single entity) and -M-Systems Flash Disk Pioneers Ltd. ("M-Systems"). -This Agreement relates to the M-Systems' software accompanying this -Agreement, which includes computer software and may include associated -media, printed materials, and ``online'' or electronic documentation -(the ``Licensed Software''). -By downloading, installing, copying, or otherwise using the Licensed -Software, you agree to be bound by the terms of this Agreement. -If you do not agree to the terms of this Agreement, do not install, -copy or use the Licensed Software. - -The Licensed Software is protected by copyright laws and international -copyright treaties, as well as other intellectual property laws and -treaties. The Licensed Software is licensed, not sold. -The Licensed Software is being provided solely for use with M-Systems' -DiskOnChip® product lines. -1. License Grant. -(a) Grant of License. Subject to the terms and conditions of this - Agreement, M-Systems hereby grants you a nonexclusive, - royalty-free, worldwide license (including the right to - sublicense) to use, copy and distribute the Licensed Software - with M-Systems DiskOnChip® products. -(b) Restrictions on Use. The Licensed Software is licensed solely - for use with and to support M-Systems' DiskOnChip® products. - Use of this Licensed Software with, or to support, any other - flash disk, flash card, resident flash array or solid state - disk of any kind is expressly prohibited, and constitutes an - illegal infringement of M-Systems' patent, copyright and other - rights in and to the Licensed Software. -2. Limitations on Reverse Engineering, Decompilation, and - Disassembly. You may not reverse engineer, decompile, or - disassemble the Licensed Software, except and only to the - extent that such activity is expressly permitted by applicable - law notwithstanding this limitation. -3. Termination. Without prejudice to any other rights, M-Systems - may terminate this Agreement if you fail to comply with the - terms and conditions of this Agreement. In such event, you must - destroy all copies of the Licensed Software and all of its - component parts. -4. Intellectual Property Rights. Title to the Licensed Software, - and all rights with respect to the Software not specifically - granted under this Agreement, including without limitation - all rights of modification, disassembly and decompilation and - all copyright, patent, trademark, trade secret and other - proprietary rights and interests are reserved to M-Systems. - You may not remove or alter the "README" or "COPYRIGHT" files - or copyright notices in the Licensed Software. -5. DISCLAIMER OF WARRANTIES. To the maximum extent permitted by - applicable law, M-Systems and its suppliers provide the Product - and any (if any) support services related to the Product - ("Support Services") AS IS AND WITH ALL FAULTS, and hereby - disclaim all warranties and conditions, either express, - implied or statutory, including, but not limited to, any - (if any) implied warranties or conditions of merchantability, - of fitness for a particular purpose, of lack of viruses, of - accuracy or completeness of responses, of results, and of lack - of negligence or lack of workmanlike effort, all with regard - to the Product, and the provision of or failure to provide - Support Services. ALSO, THERE IS NO WARRANTY OR CONDITION OF - TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO - DESCRIPTION OR NON-INFRINGEMENT, WITH REGARD TO THE PRODUCT. - THE ENTIRE RISK AS TO THE QUALITY OF OR ARISING OUT OF USE OR - PERFORMANCE OF THE PRODUCT AND SUPPORT SERVICES, IF ANY, - REMAINS WITH YOU. -6. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER - DAMAGES. To the maximum extent permitted by applicable law, - in no event shall M-Systems or its suppliers be liable for - any special, incidental, indirect, or consequential damages - whatsoever (including, but not limited to, damages for loss - of profits or confidential or other information, for business - interruption, for personal injury, for loss of privacy, for - failure to meet any duty including of good faith or of - reasonable care, for negligence, and for any other pecuniary - or other loss whatsoever) arising out of or in any way related - to the use of or inability to use the Product, the provision - of or failure to provide Support Services, or otherwise under - or in connection with any provision of Agreement, even in the - event of the fault, tort (including negligence), strict - liability, breach of contract or breach of warranty of - M-Systems or any supplier, and even if M-Systems or any - supplier has been advised of the possibility of such damages. -7. LIMITATION OF LIABILITY AND REMEDIES. Notwithstanding any - damages that you might incur for any reason whatsoever - (including, without limitation, all damages referenced above - and all direct or general damages), the entire liability of - M-Systems and any of its suppliers under any provision of this - Agreement and your exclusive remedy for all of the foregoing - shall be limited to the greater of the amount actually paid by - you for the Product or U.S.$5.00. The foregoing limitations, - exclusions and disclaimers shall apply to the maximum extent - permitted by applicable law, even if any remedy fails its - essential purpose. -8. Miscellaneous - The laws of the State of California, United States of America, - exclusive of conflict-of-laws provisions, shall govern this - Agreement in all respects. - diff --git a/sys/contrib/dev/fla/README b/sys/contrib/dev/fla/README deleted file mode 100644 index 78433defa891..000000000000 --- a/sys/contrib/dev/fla/README +++ /dev/null @@ -1,198 +0,0 @@ - README and FAQ for the fla driver. - ================================== - - -[0] COPYRIGHT & LICENSE - - Please read the COPYRIGHT file carefully. If you cannot - agree to be bound by the terms of this license, please - contact M-systems and make arrangements with them. - -[1] What does this driver do ? - - This driver supports up to eight M-systems DiskOnChip - devices. - - The driver has been tested with the following devices: - - DiskOnChip2000 (8, 12, 24, 32, 40, 72, 144 MB) - DiskOnChipMillenium (8 MB) - DiskOnChipMillenium TSOP (8 MB) - - You can find full details, specs etc on M-systems homepage: - http://www.m-sys.com - -[2] Which firmware version ? - - The driver has only been tested with version 1.21. - -[3] How many devices ? - - The driver supports up to 8 devices but have been tested only - with 5 due to hardware limitations in my test setup. - -[4] Which FreeBSD versions ? - - The driver is tested for 4.0-CURRENT and 3.3-RELEASE. - - Porting to earlier versions of FreeBSD should be a simple - matter of modifying the fla.c file. [patches are welcome] - -[5] Can I install FreeBSD with sysinstall ? - - Yes, it has been tested in FreeBSD-4.0-CURRENT and it works. - You will need to build a kernel with the fla driver since - the default "GENERIC" kernel doesn't contain the fla driver. - -[6] How to boot from a fla device ? - - FreeBSD 4.0 and forward find their root device by reading - the /etc/fstab, so the DiskOnChip devices will work just - like any other device. - - Earlier FreeBSD kernels recognizes the root device using - various hacks. These hacks doesn't recognize the fla device - so some "real" hacks are needed to boot from your fla - device. - - In pre 4.0 versions specifying the boot device in the kernel - config file this way is the easiest way to do it: - - config kernel root on major 28 minor 65538 - -[7] How to disklabel a fla device ? - - Look at the script in prep.fla.sh, it will do the job for you. - -[8] Who to contact ? - - doc2k@phk.freebsd.dk will offer limited best-effort help - to the extent time permits. Further support for special - projects or configurations available at reasonable hourly - rates. - -[9] Getting detailed - - The DiskOnChip product gets out in some odd corners of the - PC-architecture, and chances are that things don't do what - you expect. Here are some hints and random observations - I've made during my work with these devices. - -[9a] Choosing an address for the DOC - - Each DOC needs a 8K memory window starting on an 8K boundary. - The lowest possible address is C000:0, the highest is DE00:0 - - If your hardware puts the DOC another place, you will need - to modify the doc2k_probe() call in fla.c. - - It is important that you set the BIOS to not do "fancy things" - with this window, in particular no kind of cache or shadowing - can be enabled. - - Be aware that some hardware will decode a 32k memory window - for the DOC device. - - If everything is OK, the DOC will print a message during - the BIOS startup. - - For large devices it can take some time to check the flash - data structures, but if it takes more than 3 minutes - something is wrong. - - If you boot a MSDOS floppy and run FDISK you should be able - to see the DOC device. - - If it doesnt work: - - If you machine never gets to the point where it will boot, - but just hangs it could be because you have a BIOS which - need the "slightly special" DOC firmware. Obviously you - will need to put the DOC in another machine to load this - firmware. You can download the firmware and utilities - from M-systems website http://www.m-sys.com - - If the machine boots, but the device isn't visible it can - be because some other device uses the same memory window, - or because the BIOS prevents it from being used. If you - boot MSDOS and enter DEBUG, you should be able to find a - BIOS extension signature at the address using the 'd' - command, for instance 'd d800:0'. - - A special case is when the DOC prints the BIOS message - but disappears afterwards, this can happen because another - card (NCR SCSI controllers for instance) steal the memory - window later in the boot process. In such a case the - above check with DEBUG will not show the BIOS signature. - -[9b] So just who is drive 'C' here anyway ? - - Using the DUPDATE program you can choose to have the DOC - add itself at the front or the back of the device list. - - This is, unfortunately not the only thing affecting the - drive order, the above mentioned NCR SCSI controllers also - have some builtin AI, and the result can be very confusing - because the DOC will come before even the floppy as a result. - - There is no simple solution for this case, only variuos - work-arounds. But chances are good that most users will - not use both a DOC and a SCSI in the same system, except - maybe for initial programming. - -[9c] MBR/fdisk - - The boot firmware in the DOC and/or the FreeBSD bootblocks - mandate that the first MBR slice/(partition in FDISK lingo) - start exactly at "sector #1, head #1, cylinder #0." You - will have problems booting from the fla if you don't get this - right. The prep.fla.sh script will do this for you. - - DO NOT WRITE JUNK IN THE MBR! The DOC firmware relies on - various fields and can get utterly confused if they don't - make sense. - -[9d] Getting the FreeBSD kernel to use the fla as root - - Please see above under item 6. - -[9e] I turned the machine off while it was running and now my - DOC hangs during boot/panics the machine/does weird things. - - If a write operation to the DOC gets interrupted by reset - or power-failure, it can happen that the flash data structures - are left in a state the sofware cannot cope with. - - Your best chance is to DUPDATE, DFORMAT the device again. - - If it hangs during boot, you can use this particular dirty - trick ENTIRELY AT YOUR OWN RISK! DO NOT COMPLAIN IF THIS - DOESN'T WORK FOR YOU OR IF YOU DESTROY YOUR COMPUTER OR - DOC DEVICE DOING IT! - - Jumper the DOC for an address which will not work, but which - will not interfere with the system either, C000:0 seems to - work pretty universally for this. - - Boot MSDOS and rejumper the DOC for its real (working) address. - - Run DUPDATE and use the /win:xxxx argument to point it at the - DOC device. - -[9f] Apart from that... - - ...the DOC is just like any other disk, but it is silent, - has better MTBF and doesn't take up a lot of space. - - -[10] History - - The fla driver was written by Poul-Henning Kamp - under contract for M-systems, and using their "OSAK" - development kit. - -Good Luck, - -Poul-Henning - -$FreeBSD$ diff --git a/sys/contrib/dev/fla/fla.c b/sys/contrib/dev/fla/fla.c deleted file mode 100644 index afd5a0a27633..000000000000 --- a/sys/contrib/dev/fla/fla.c +++ /dev/null @@ -1,288 +0,0 @@ -/* - * ---------------------------------------------------------------------------- - * "THE BEER-WARE LICENSE" (Revision 42): - * wrote this file. As long as you retain this notice you - * can do whatever you want with this stuff. If we meet some day, and you think - * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp - * ---------------------------------------------------------------------------- - * - * $FreeBSD$ - * - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#define LEAVE() -#define ENTER() - -#include - -static MALLOC_DEFINE(M_FLA, "fla driver", "fla driver storage"); - -void * -doc2k_malloc(int bytes) -{ - return malloc(bytes, M_FLA, M_WAITOK); -} - -void -doc2k_free(void *ptr) -{ - free(ptr, M_FLA); -} - -void -doc2k_delay(unsigned msec) -{ - DELAY(1000 * msec); -} - -void -doc2k_memcpy(void *dst, const void *src, unsigned len) -{ - bcopy(src, dst, len); -} - -int -doc2k_memcmp(const void *dst, const void *src, unsigned len) -{ - return (bcmp(src, dst, len)); -} - -void -doc2k_memset(void *dst, int c, unsigned len) -{ - u_char *p = dst; - while (len--) - *p++ = c; -} - -static struct fla_s { - int busy; - int unit; - unsigned nsect; - struct doc2k_stat ds; - struct bio_queue_head bio_queue; - struct disk *disk; - struct cdev *dev; -} softc[8]; - -static int -flaopen(struct disk *dp) -{ - struct fla_s *sc; - int error; - u_int spu, ncyl, nt, ns; - - sc = dp->d_drv1; - - error = doc2k_open(sc->unit); - - if (error) { - printf("doc2k_open(%d) -> err %d\n", sc->unit, error); - return (EIO); - } - - error = doc2k_size(sc->unit, &spu, &ncyl, &nt, &ns); - sc->disk->d_sectorsize = DEV_BSIZE; - sc->disk->d_mediasize = (off_t)spu * DEV_BSIZE; - sc->disk->d_fwsectors = ns; - sc->disk->d_fwheads = nt; - - return (0); -} - -static int -flaclose(struct disk *dp) -{ - int error; - struct fla_s *sc; - - sc = dp->d_drv1; - - error = doc2k_close(sc->unit); - if (error) { - printf("doc2k_close(%d) -> err %d\n", sc->unit, error); - return (EIO); - } - return (0); -} - -static void -flastrategy(struct bio *bp) -{ - int unit, error; - struct fla_s *sc; - enum doc2k_work what; - - sc = bp->bio_disk->d_drv1; - - - bioq_disksort(&sc->bio_queue, bp); - - if (sc->busy) { - return; - } - - sc->busy++; - - while (1) { - bp = bioq_first(&sc->bio_queue); - if (bp) - bioq_remove(&sc->bio_queue, bp); - if (!bp) - break; - - bp->bio_resid = bp->bio_bcount; - unit = sc->unit; - - if (bp->bio_cmd == BIO_DELETE) - what = DOC2K_ERASE; - else if (bp->bio_cmd == BIO_READ) - what = DOC2K_READ; - else - what = DOC2K_WRITE; - - LEAVE(); - - error = doc2k_rwe( unit, what, bp->bio_pblkno, - bp->bio_bcount / DEV_BSIZE, bp->bio_data); - - ENTER(); - - if (error) { - printf("fla%d: %d = rwe(%p, %d, %d, %jd, %ld, %p)\n", - unit, error, bp, unit, what, - (intmax_t)bp->bio_pblkno, - bp->bio_bcount / DEV_BSIZE, bp->bio_data); - } - if (error) { - bp->bio_error = EIO; - bp->bio_flags |= BIO_ERROR; - } else { - bp->bio_resid = 0; - } - biodone(bp); - - } - sc->busy = 0; - return; -} - -static int -flaprobe (device_t dev) -{ - int unit; - struct fla_s *sc; - int i; - - unit = device_get_unit(dev); - if (unit >= 8) - return (ENXIO); - sc = &softc[unit]; - - /* This is slightly ugly */ - i = doc2k_probe(unit, KERNBASE + 0xc0000, KERNBASE + 0xe0000); - if (i) - return (ENXIO); - - i = doc2k_info(unit, &sc->ds); - if (i) - return (ENXIO); - - bus_set_resource(dev, SYS_RES_MEMORY, 0, - sc->ds.window - KERNBASE, 8192); - - return (0); -} - -static int -flaattach (device_t dev) -{ - int unit; - int i, j, k, l, m, error; - struct fla_s *sc; - - unit = device_get_unit(dev); - sc = &softc[unit]; - - error = doc2k_open(unit); - if (error) { - printf("doc2k_open(%d) -> err %d\n", unit, error); - return (EIO); - } - - error = doc2k_size(unit, &sc->nsect, &i, &j, &k ); - if (error) { - printf("doc2k_size(%d) -> err %d\n", unit, error); - return (EIO); - } - - printf("fla%d: <%s %s>\n", unit, sc->ds.product, sc->ds.model); - - error = doc2k_close(unit); - if (error) { - printf("doc2k_close(%d) -> err %d\n", unit, error); - return (EIO); - } - - m = 1024L * 1024L / DEV_BSIZE; - l = (sc->nsect * 10 + m/2) / m; - printf("fla%d: %d.%01dMB (%u sectors)," - " %d cyls, %d heads, %d S/T, 512 B/S\n", - unit, l / 10, l % 10, sc->nsect, i, j, k); - - if (bootverbose) - printf("fla%d: JEDEC=0x%x unitsize=%ld mediasize=%ld" - " chipsize=%ld interleave=%d window=%lx\n", - unit, sc->ds.type, sc->ds.unitSize, sc->ds.mediaSize, - sc->ds.chipSize, sc->ds.interleaving, sc->ds.window); - - bioq_init(&sc->bio_queue); - - sc->disk = disk_alloc(); - sc->disk->d_open = flaopen; - sc->disk->d_close = flaclose; - sc->disk->d_strategy = flastrategy; - sc->disk->d_drv1 = sc; - sc->disk->d_name = "fla"; - sc->disk->d_maxsize = MAXPHYS; - sc->unit = unit; - sc->disk->d_unit = unit; - sc->disk->d_flags = DISKFLAG_CANDELETE | DISKFLAG_NEEDSGIANT; - disk_create(sc->disk, DISK_VERSION); - - return (0); -} - -static device_method_t fla_methods[] = { - /* Device interface */ - DEVMETHOD(device_probe, flaprobe), - DEVMETHOD(device_attach, flaattach), - {0, 0} -}; - -static driver_t fladriver = { - "fla", - fla_methods, - sizeof(struct fla_s), -}; - -static devclass_t fla_devclass; - -DRIVER_MODULE(fla, isa, fladriver, fla_devclass, 0, 0); diff --git a/sys/contrib/dev/fla/i386/msysosak.o.uu b/sys/contrib/dev/fla/i386/msysosak.o.uu deleted file mode 100644 index 0654caf76192..000000000000 --- a/sys/contrib/dev/fla/i386/msysosak.o.uu +++ /dev/null @@ -1,823 +0,0 @@ - -$FreeBSD$ - -SOFTWARE LICENSE AGREEMENT - -IMPORTANT! READ CAREFULLY: -THIS SOFTWARE LICENSE AGREEMENT (the ``Agreement'') is a legal -agreement between you (either an individual or a single entity) and -M-Systems Flash Disk Pioneers Ltd. ("M-Systems"). -This Agreement relates to the M-Systems' software accompanying this -Agreement, which includes computer software and may include associated -media, printed materials, and ``online'' or electronic documentation -(the ``Licensed Software''). -By downloading, installing, copying, or otherwise using the Licensed -Software, you agree to be bound by the terms of this Agreement. -If you do not agree to the terms of this Agreement, do not install, -copy or use the Licensed Software. - -The Licensed Software is protected by copyright laws and international -copyright treaties, as well as other intellectual property laws and -treaties. The Licensed Software is licensed, not sold. -The Licensed Software is being provided solely for use with M-Systems' -DiskOnChip® product lines. -1. License Grant. -(a) Grant of License. Subject to the terms and conditions of this - Agreement, M-Systems hereby grants you a nonexclusive, - royalty-free, worldwide license (including the right to - sublicense) to use, copy and distribute the Licensed Software - with M-Systems DiskOnChip® products. -(b) Restrictions on Use. The Licensed Software is licensed solely - for use with and to support M-Systems' DiskOnChip® products. - Use of this Licensed Software with, or to support, any other - flash disk, flash card, resident flash array or solid state - disk of any kind is expressly prohibited, and constitutes an - illegal infringement of M-Systems' patent, copyright and other - rights in and to the Licensed Software. -2. Limitations on Reverse Engineering, Decompilation, and - Disassembly. You may not reverse engineer, decompile, or - disassemble the Licensed Software, except and only to the - extent that such activity is expressly permitted by applicable - law notwithstanding this limitation. -3. Termination. Without prejudice to any other rights, M-Systems - may terminate this Agreement if you fail to comply with the - terms and conditions of this Agreement. In such event, you must - destroy all copies of the Licensed Software and all of its - component parts. -4. Intellectual Property Rights. Title to the Licensed Software, - and all rights with respect to the Software not specifically - granted under this Agreement, including without limitation - all rights of modification, disassembly and decompilation and - all copyright, patent, trademark, trade secret and other - proprietary rights and interests are reserved to M-Systems. - You may not remove or alter the "README" or "COPYRIGHT" files - or copyright notices in the Licensed Software. -5. DISCLAIMER OF WARRANTIES. To the maximum extent permitted by - applicable law, M-Systems and its suppliers provide the Product - and any (if any) support services related to the Product - ("Support Services") AS IS AND WITH ALL FAULTS, and hereby - disclaim all warranties and conditions, either express, - implied or statutory, including, but not limited to, any - (if any) implied warranties or conditions of merchantability, - of fitness for a particular purpose, of lack of viruses, of - accuracy or completeness of responses, of results, and of lack - of negligence or lack of workmanlike effort, all with regard - to the Product, and the provision of or failure to provide - Support Services. ALSO, THERE IS NO WARRANTY OR CONDITION OF - TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO - DESCRIPTION OR NON-INFRINGEMENT, WITH REGARD TO THE PRODUCT. - THE ENTIRE RISK AS TO THE QUALITY OF OR ARISING OUT OF USE OR - PERFORMANCE OF THE PRODUCT AND SUPPORT SERVICES, IF ANY, - REMAINS WITH YOU. -6. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER - DAMAGES. To the maximum extent permitted by applicable law, - in no event shall M-Systems or its suppliers be liable for - any special, incidental, indirect, or consequential damages - whatsoever (including, but not limited to, damages for loss - of profits or confidential or other information, for business - interruption, for personal injury, for loss of privacy, for - failure to meet any duty including of good faith or of - reasonable care, for negligence, and for any other pecuniary - or other loss whatsoever) arising out of or in any way related - to the use of or inability to use the Product, the provision - of or failure to provide Support Services, or otherwise under - or in connection with any provision of Agreement, even in the - event of the fault, tort (including negligence), strict - liability, breach of contract or breach of warranty of - M-Systems or any supplier, and even if M-Systems or any - supplier has been advised of the possibility of such damages. -7. LIMITATION OF LIABILITY AND REMEDIES. Notwithstanding any - damages that you might incur for any reason whatsoever - (including, without limitation, all damages referenced above - and all direct or general damages), the entire liability of - M-Systems and any of its suppliers under any provision of this - Agreement and your exclusive remedy for all of the foregoing - shall be limited to the greater of the amount actually paid by - you for the Product or U.S.$5.00. The foregoing limitations, - exclusions and disclaimers shall apply to the maximum extent - permitted by applicable law, even if any remedy fails its - essential purpose. -8. Miscellaneous - The laws of the State of California, United States of America, - exclusive of conflict-of-laws provisions, shall govern this - Agreement in all respects. - -begin 664 msysosak.o -M?T5,1@$!`0E&M1B=#W[L'Z!8G( -MP?@?*,*(T`0PB$<7\G#B?95 -MB>6#[#Q75E.+10B+70R+?12+=1B)1>B#Q/B-1>A0:@_H_/___XG!BT7XB0.+ -M11#'```$``#'!Q````"+$,'B!(E5W(L#B478,=+W==R)!HL3B=`QTO=UW(72 -M=$'_!HM5$(L"#Z\&B47+$XG0,=+W==R%TG09_P>+ -M/P^O/HE]W(L3B=`QTO?WB<.+51")&HG(C66X6UY?R<-5B>6#["B+10B)1>B# -MQ/B-1>A0:@3H_/___\G#58GE@^PHBT4(B47H@\3XC47H4&H!Z/S____)PU6) -MY8/L(%93BUT(BW4,BT40BU44BTT8B5WHB47XB57\B4WT@_X!=!QR"H/^`G0E -MZS.-=@"#Q/B-1>A0:@7H_/___^LE@\3XC47H4&H&Z/S____K%8/$^(U%Z%!J -M".C\____ZP6X$"<``(UEV%M>R<-5B>6#[`B#Q/3_=0CH_/___\G#D%6)Y6+10C'```````QP,G#58GER<.0 -MD)!5B>6+10@/MU4,BT@@T^*)T,G#D%6)Y8/L'%=64XMU"(M]#(-^-``/A(,` -M```/M]^+1C1F@3R8K=YU4F:!?)@"K=YU28/$]&H$:@B-1?A0@\3X4U;HI___ -M_X/$$(/`"%"-1EQ0BX:`````_]"+5C2-1?B+3?AF"T@$9HD,FHM6-`^W2`)F -M"T@&9HE,F@(/M]>+1C0/MP20BTT09HD!BT8T#[=$D`*+511FB0+K3(UV`(/$ -M]&H$:@B-1?A0@\3X#[?'4%;H./___X/$$(/`"%"-1EQ0BX:`````_]"-1?B+ -M5?AF"U`$BTT09HD1#[=0`F8+4`:+311FB1&-9=A;7E_)PXUV`%6)Y8/L'%=6 -M4XM="(MU#(M]$(M%%&:)1?!F.?!U"K@?````Z:(```!FB7WXC57X9HEZ!(M- -M\,'A$(M%^"7__P``B47X"4WXBT($)?__``")0@0)2@2#Q/1J!&H(4H/$^`^W -MQE!3Z)+^__^#Q!"#P`A0C4-<4(N#A````/_0@\0@AX'0```.L",<"-9=A;7E_)PXGV58GE@^P8BTT(#[=5#(M!+(`\`@!] -M%HU%_E"-1?Q04E'H%_[__P^W1?[K!I"X__\``,G#D%6)Y8M%"(M5#(G1P>D+ -MBT`X#[8$`<'J"(G1@^$'T_B#X`,/MH``````R<.058GE5U93BWT(BW4,BET0 -M@W\X``^$C````(GRP>H+BT#^`)T'7<'AH+BT7\G#B?95B>6#[!Q75E.+?0B+10PQTO=W&,'B"8E5_,=%^/____]F -MQT7V```/M]"+1S`/MQQ09H/[_W1:D(/$^`^WPU!7Z%O\__^+5?R--`*#Q/A6 -M5^@O____@\0@//]T-3P1=`['1?C_____A,!T`XEU^&;_1?:#Q/@/M\-05^CY -M_?__B<.#Q!!F@_O_=`=F@WWV)W:GBT7XC6786UY?R<-5B>6#[!13BUT(@\3T -M:@1J!(U%_%"#Q/@/MT4,4%/HX?O__X/$$`4(!```4(U#7%"+@X````#_T(M% -M_&8+1?XE__\``(M=Z,G#C78`58GE@^P<5U93BUT(BW40BWT4@\3T:@1J"(U% -M^%"#Q/@/MT4,4%/HC?O__X/$$`4(`@``4(U#7%"+@X````#_T(M%_&8+1?YF -MB0:+1?B)!XUEV%M>7\G#D%6)Y8/L'%=64XMU"(M-$(M]%(M=#(U5^&:)2@3! -MX1"+0@0E__\``(E"!`E*!(E]^(/$]&H$:@A2@\3X#[?;4U;H&_O__X/$$`4( -M`@``4(U&7%"+AH0```#_T(UEV%M>7\G#B?95B>6#[`Q75E.+10R[`0```(M5 -M"&;'@I0```#_`&;'@I8```#__X7`=`;V0!0"=0RX&@```.D#`0``B?:+?0B# -MQUR)QORY#0```/.EBT4(QT`L`````,=`,`````#'0#0`````QT`X`````,=` -M#``````[6&!]%HM5"(M"#(M28$`!VSG3?/F+30B)00R+=0B+3@R)3B"+1F@/ -MKT9DT_AFB48<#[=6'('"``(``+@!````T^`YPG8WOP$```")RP^W1AQFB47^ -MD$-FP6W^`0^W1?X%``(``(GZB=G3XCG0=^((M5"&:! -M>AS_+W8.@WH@#G<(_T(@9L%J'`&+30C'`0$```#'03S_____@\3T@\3T_W%X -MZ/S___]0Z/S___^+=0B)AI````!FQT8J```QP(UEZ%M>7\G#C78`58GE@^P4 -M4XM="(/$]`^W0QQ0Z/S___^)0RR#Q/0/MT,0`RP`=`2% -MP'4*N#\```#K!8UV`#'`BUWHR<.058GE@^P05E.+=0@/MUT,BT8LQ@0#:XU% -M_%"-1?I04U;HC_W___]U_&H`4U;HV_W__XUEZ%M>R<-5B>6#[!Q75E.+=0B+ -M?0P/M]>+1BR`/`+_="&*!`(D?SQ`=@RX'0```.D'`0``B?8/M]>+1BR`/`+_ -M=01F_TX(#[??BT8L@"0#@(M&+(`,`VJ-1?Q0C47Z4%-6Z!S]__^#Q!"#?C0` -M=!.+1C1FQP28K=Z+1C1FQT28`JW>#[??BTX@T^,/M\=`T^`YPW,N#[?'0(E% -M](UV`(/$_&C_````4U;HQ?K__X/$$('#``(``(M.((M%]-/@.<-RW(/$_(M& -M#(M.("G!N`$```#3X%`/M\>)1?#3X%"-1EQ0BX:(````_]")PX/$$(7;=!.# -MQ/B+1?!05NC._O__B=CK-XGV_X:8````_T7\=0?'1?P!````_W7\:&D\```/ -MM]]35NBP_/__A+@X0```#_T(E%^(/$((/X'74[ -M#[=%_K0`9HE%_H!-_Q'&1?X1@\3\:A%64^C9^?__@\3T:@1J`HU%_E"-1@90 -M5XN#A````/_0ZP^-=@"#Q/QJ5593Z+#Y__^+1?B-9=A;7E_)PY!5B>6#[!Q7 -M5E.+=0B_`@```(M&>,=`'`$```"#Q/1J`F@``@``_[:0````BT4,4(U>7%.+ -MAH````#_T(/$((/X&759@\3T:@1J"(U%^%"+10Q04XN&@````/_0@\0@@\3T -M:@1J"(U%^%"+11!04XN&A````/_0@\0@A7\G#C78`58GE -M@^P<5U93BW4(BWT,9L=%]@``C47^4(U%_%`/M\=05NBA]O__#[==_H/$$&8[ -M7AQS30^WTXM&+(`\`O]T"8H$`B1_/$!W.(U%^E"-1?A0#[?#4%;H;?;__XM% -M_(#,@(/$$&8Y1?AU%XG?#[==^F;_1?9F.UX<6#[!Q75E.+?0B+31"+10QFB47Z9HE-^`^W5?B+1S`/MQ109HE5]HG* -M9H-]]O]T`X#.@`^W=?J+1RS&!`8`9O]/"&C__P``#[?"4%97Z-CV__^)PX/$ -M$(7;=!.#Q/A65^A5_/__B=CI_P```(GV9H-]]O\/A.$````/MU7VBT7\G#C78`58GE@^P,5U93BWT(BW4,#[?6BT7\G#B?95B>6#[!!64XM="`^W@Y8```!F.T,0#E@``````#[>3E@```(M# -M,`^W%%!!9H/Z_W469CM+$'+(9H/Z_W4*,<#IC0```(UV``^WLY8```!F_X.6 -M````#[>#E@```&8[0Q!R"6;'@Y8```````^WRHM#+(`\`?]T&(H$`21_/$!V -M#X/$^`^WQE!3Z$X```#K0@^WTHM#+(`\`@!]$(/$^`^WQE!3Z#,```#K)Y"# -MQ/B-1?Y04^C+`P``@\00AR<.- -M=@!5B>6#["Q75E.+?0B+10QFB47R#[?0BT$````_]"+1RR`)`.` -MBT@` -M````@\00BT7L.T<8P(#`+K3Y"+1?!F.T7^=#C'1?01$1$1 -M@\3T:@1J!(U%]%"#Q/@/MT7P4%?H?_'__X/$$`4(!```4(U'7%"+AX0```#_ -MT(/$(`^W5?*+1S!FQP10__^#Q/@/MT7P4%?HG/S__XUER%M>7\G#58GE@^P, -M5U93BUT(#[=-#(M#,`^W!$AFB47^9H/X_W14#[=5_HM#+(`D`H")S@^O6#[!Q75E.+?0B+ -M1QA`B47\QT7X`````&;'1?8``&;'1?0```^W1?9F.T<0#X.I````BT7T9CE' -M*G<9@\3X#[=%]%!7Z#7___^+1?1`9HE'*H/$$`^W5?2+1S!F@SQ0_W1H#[<4 -M4(M'+(H$`HG#@^-_.5W\)]K@_````C6786UY?R<.-=@!5B>6#[!Q7 -M5E.+70B+=0P/MWLH9H-["`!T;(GV9O]#*`^W0RAF.T,<<@@/MT,>9HE#*`^W -M4RB+0RR`/`+_=4&-1?Q0C47Z4`^W0RA04^BF\___@\009H%]^FD\=!6#Q/@/ -MMT,H4%/H$?;__X/$$(7`=0X/MT,H9HD&,<#K$XUV`&8Y>RAUEH/$^%93Z%S^ -M__^-9=A;7E_)PU6)Y8/L#%=64XM="(MU#(M]$#MS/'4)BT-X@W@<`'1<.W,D -M,=`'`````"% -M_W0%BT-$B0>+0T"-9>A;7E_)PU6)Y8/L'%=64XMU$(M%#&:)1?@/M]B)WXM5 -M"`-Z+(U%_E"-1?Q04U+H;^[__U:-1?I04XM-"%'HE/+__X/$(&:#??S_=`AF -M@7WZ:3QT"L8'_^D/`0``B?:`)Q`/MT7^BW4(9CM&'',M@`^`#[=-_HM6+(`\ -M$?]T#XH$$21_/$!V!H`\$0!]#@^W5?Z+30B+02R`)`+O9H-]_``/C,4```"+ -M1?R+=0AF.T80#X.;````@\3X#[=U^%:+10A0Z,/Q__^)PP^W5?R+30B+03`/ -MMPQ0@\009H'[$1%U$8/$^%:+=0A6Z/#X___K>XGV9H/Y_W08#[?1BW4(BT8L -M@#P"_W1#B@0")'\\0'8Z#[=5_(MU"(M&,(MU^&:)-%"`)^]F@?M5574&@">` -M@`]J9H/Y_W0T@\3X#[?!4(M%"%#HE_C__^LBD&:!^U55=`FX%P```.L5B?:# -MQ/@/MT7X4(M5"%+H<_C__S'`C6786UY?R<.058GE@^P<5U93BT4,BUT(,=+W -M#Q!!&@_X#?P6#_QUTT(GXC67H6UY?R<.)]E6)Y8/L'%=64XM="(M]#(,[ -M`'0,N!<```#I'0$``(GVBU40C00Z.T,D=AFX&P```.D&`0``C78`N!\```#I -M^0```(GVQT7X`````.G=````@\3X5U/H>NW__XG&@\00@_[_#X2^````B?@Q -MTO=S&&:)1?8/M\B+0S`/MQ1(BT,L@#P"_W0MB@0")'\\0'8D@\3X45/H@_;_ -M_X/$$(7`#X67````@\3X5U/H)NW__XG&@\00#[=%_K0`9HE%_L9%_@"#Q/QJ -M`%93Z-_K__^#Q/1J!&H"C47^4(U&!E"-0UQ0BX.$````_]"+2R#3[HGQ#[?1 -MBT,L@\0P@#P"`'T+#[=5]HM#,`^W#%`/MU7V9CE3*G83#[?1BT,L]@0"?P^$ -M%?____X,`O]%^$?_0U"+11`Y1?@/@A?___\QP(UEV%M>7\G#D%6)Y3'`R<.0 -M58GEBT4(BT`DR<.058GE@^P44XM="(-[+`!T#H/$]/]S+.C\____@\00@WLP -M`'0.@\3T_W,PZ/S___^#Q!#'0RP`````QT,P`````(-[-`!T#H/$]/]S-.C\ -M____@\00@WLX`'0+@\3T_W,XZ/S____'0S0`````QT,X`````(M=Z,G#58GE -MBU4(C022P>`#*="-!(4@````R<.058GE4XM5"(M=#(M")(D##[="'HM*(-/@ -MB4,$BX*8````B4,(,6#[#Q75E.+50B+71"-!)+!X`,IT(TT -MA2````#'1=@`````@\3\:@YJ`(U%\%#H_/___X/$^%-6Z"7M__^#Q""%P`^% -ML00``(M%%(U67(D0QX:8`````````&;'1@0``(U=\.L%D&;_1@0/MT8$9CM& -M''-*@\3T:@!J#E.#Q/@/MT8$4%;HU.?__X/$$%"-1EQ0BX:`````_]"#Q""# -MQ/QJ!F@8````4^C\____@\00A#K!HGV9O]&!@^W1@9F.T8<H)B58D#[=&'F8!1AR[`0```(M.((G8T^!(B484@\'WB=C3X(E&&(U$ -M$/\QTO=V&&:)1A"+1B33Z(G!#[?)#[=&'`^W5AXIT(/$$#G!?GEF@WX&_W1H -M#[=%YF:)1AR+1>AFB48>@\3TC47J4.C\____B<+!Z@F)5B0/MT8>9@%&'(M. -M((G8T^!(B484@\'WB=C3X(E&&(U$$/\QTO=V&&:)1A"+5B33ZHG1#[?)#[=& -M'`^W5AXIT(/$$#G!?@JX%P```.G;`@``@\3T5NB#[/__@\00A<`/A<<"``#' -M!@````"#Q/1J`@^W1AQ0_W8L@\3X#[=&!%!6Z`OF__^#Q!`%``(``%"-7EQ3 -MBX:`````_]")QX/$((7_=$UF@WX&_W0_@\3T:@(/MT8<4/]V+(/$^`^W1@90 -M5NC+Y?__@\00!0`"``!04XN&@````/_0B<>#Q""%_W00@\3T5NB+_/__B?CI -M.P(``#';9CM>$',4#[?3BT8P9L<$4/__9D-F.UX0''-`B?8/M].+1BR*!`($ECP!=B>#Q/R- -M1=Q04E;HB_;__XG'@\00A?\/A5;___^+1=P!1=@!AI@```!F0V8[7AQRPF;' -M1@@```^W7AYF.UX<9CM>'',9BU8LD`^W -MPX`\$/]U!&;_1@AF0V8[7AQRZP^W1AYFB48HQT90`````,=&3`````#'1D@` -M````QT98`````,=&5`````"+70R),\=#!.`3``#'0PC8%P``QT,4A!@``,=# -M(-`9``#'0R1L&@``QT,8R!D``,=#'-P9``#'0PP`````QT,0`````(/$]`^W -M1AS!X`)0Z/S___^)1C2#Q!"%P'0H,=MF.UX<)T,'@""G0BU78*<*) -MT"7_````9HF&E`````^W5A"+1=B)TS'2]_-FB9:6````,<"-9;A;7E_)PY!5 -MB>575E.#/0`````"?@FX9@```.MIB?:A`````,'@`\>``````)@:``#'@`0` -M````````_P4`````,=*_3````+Y0````NU0```"Y6````(T$DL'@`RG0P>`" -MQP0X`````,<$,`````#'!!@`````QP0(`````$*#^@=VTS'`6UY?R<-5B>6X -M`0```,G#B?95B>7)PXUV`%6)Y7)PXUV`%6)Y3'` -MR<.058GER<.-=@!5B>7)PXUV`%6)Y3'`R<.058GE,<#)PY!5B>7)PXUV`%6) -MY8/L#%=64XM]#(,]``````=V"[AF````Z<8```"0,?:#/0`````'#X>G```` -MD(/$]/\U`````.C\____B<.A`````(D#@\3X:@)3Z/S___^#Q""#Q/Q7BT4( -M4/\SZ/S___^)0RB#Q!"%P'1HQT-`("```,=#1"P@``#'0T@T(```QT-,/"`` -M`,=#4$0@``#'0U1,(```QT-85"```,=#7%P@``#'0V!D(```QT-D;"```,=# -M:`````#'0VQT(```1O\%`````(,]``````A;7E_)PY"0D%6)Y8M5"(M"&(M`*,:`!A````"+0AB+0"C&@`80```* -MR<.)]E6)Y8M5"(M"&(M`*,:`!A````"+0AB+0"C&@`80```JR<.)]E6)Y8M% -M"(M`&(M`*,:`!A````+)PXUV`%6)Y8/L$%93BW4(QD7_`(M&&/9`'`AT+#') -MB<.+0RB*5?^*@`80````PHA5_T&#^0%^Z8M&&(M`*(J`!A```.LNC78`,575E.+70B+=0R+31"+?13V0Q4!=33WQP0```!T)(L1@>+_ -M`0``QP90````@_H'=PF!`0`!``#K:Y"#`?CK98UV`,<&`````.M:BT,8#[<1 -M9B-0"(G0#[?0*1'WQP0```!T!H'"``(``(M#&`^W0`HYPG,*QP8`````ZQR) -M]HM#&`^W0`8YPG,)QP8!````ZP>0QP90````BT,8#[=`"D@AP@$16UY?R<.0 -M58GE@^P05E.+=0C&1?\`,R<-5B>6#[!!64XMU"#';C78`@\3T5NA_____@\00AA;7LG#B?95B>6#[`Q75E.+?0B+30PQ -MV[IG9F9FB=#WZ8G0P?@"B7\G#D%6)Y8/L%%.+30B+50S&1?\`BT$8BT`HB)`$$```,=N+21B) -M]HM!*(I5_XJ`(!````#"B%7_0X/[`7[I6\G#B?95B>6+10B+50R+0!B+0"B( -MD`40``#)PY!5B>6+30B+01B+4"B*@@$0``"$P'4;QH("$```A8M!&(M`*,:` -M`A```(6+01C&0!4`R<.058GE@^P44XM%"(M=#(/$^&H`_W`C)PY!5B>6#[!B+50R*@@`0```\,'45BH(&$```B$7_BD7_ -MBI(&$```ZQ.0BH('$```B$7_BD7_BI('$```,-"(1?Z*1?ZH!'0&,<#K!XGV -MN`$```#)PY!5B>6#[`B+50S&@@(0``"$QH("$```A,:"`A```(7&@@(0``"% -MBH(`$```/"!T"HJ"`!```#PP=1>#Q/A2_W4(Z&?___^%P'4'N`$```#K`C'` -MR<-5B>6#[!Q75E.+=0R+?1#'1?@`````A?9U"KX`@`P`OP``#P`Y-00```!S -M.(DU!````#G^=RB)]HL=!````,:#`A```(3&@P(0``"$@04$`````"```#D] -M!````';:B34$````.3T$````#X?E````BQT$````Z:H```"0@WWX`'5"@\3X -M4XM%"%#HR?[__X/$$(7`=7J*@P`0``"$P'0,QH,;$```&NL*C78`QH,%$``` -M&L=%^`$```"+-00```#K3HGVBH,`$```/"!T"HJ#`!```#PP=7V#Q/A3BT4( -M4.AS_O__@\00A@,ZP2)]C'` -MC6786UY?R<.)]E6)Y8/L$%93BW4(BT8(#Z]&$$B+70PAP_9&%0%T#XG8P>@) -MP>`(#[;3B<,)TX/$^&H55NCX_/__BT88BU`HBT`DB!P0BT88BT@HBU`DB=C! -MZ`B(!`J+1AB+2"B+4"2)V,'H$(@$"H/$$/9&%01T$8M&&(M(*(M0)(G8P>@8 -MB`0*BT88]D`<"'0*BT`HQH`>$````(/$^&HQ5NB2_/__C67H6U[)PXUV`%6) -MY8/L%%.+70R#Q/AJ$XM%"%#HR<.-=@!5B>6#[`Q7 -M5E.+?0B+=1#&1?\`BT<8]D`<"'0XBT`HBE7_BH`=$````,*(5?].B?.!_@`! -M``!^!;L``0``4XM%#%"+1QC_<"17Z/S___^#Q!#K`Y`QVSG>?A>)\"G84(M% -M#`'84(M'&/]P)%?H_/___XM'&/9`'`AT#XM`*(J`'Q```(M5#(@$%HUEZ%M> -M7\G#C78`58GE@^P44XM="(/$_/]U$/]U#%/H_/___XM#&/9`'`AT"HM`*,:` -M'A````"+7>C)PXUV`%6)Y8/L%%.+70B#Q/P/MD4,4/]U$%/H_/___XM#&/9` -M'`AT"HM`*,:`'A````"+7>C)PY!5B>6#[!13BUT(QD7_`(M#&(M0*(M`),8$ -M$'"+0QCV0!P(=`J+0"C&@!X0``!P@\3X:AE3Z'?Z__^+2QB+42B*1?^*D@T0 -M````T(A%_XM1*(M!)(H$$"7_````BUWHR<-5B>6#[!!64XM="(MU$(/$^`^V -M10Q04^BL_?__@\3X5E/H^OS__X/$((/$]%/H;OG__XUEZ%M>R<.-=@!5B>6# -M[!!64XM="(MU#/9#%0)T0(/$^&C_````4^AJ_?__@\3T4^@Y^?__@\0@A?9T -M-HM#&(M0*(M`)(GQB`P0BT,8]D`<"'0?BT`HB(@>$```ZQ2#Q/B)\"7_```` -M4%/H)_W__X/$$(M#&(M0*(M`),8$$("+0QCV0!P(=`J+0"C&@!X0``"`@\3X -M_W404^A0_/__@\3T4^C'^/__C67H6U[)PU6)Y8/L%%.+70B#Q/AJ$%/HT_S_ -M_X/$]%/HHOC__X/$((/$]%/HEO[__Z@!=08QP.L'B?:X'0```(M=Z,G#B?95 -MB>6#[!Q75E.+=0B+?12+11")1?#'1?0`````@\3T_W87\G#D%6) -MY8/L'%=64XMU%(M]&(M%$(E%_,=%^``"``#WQP0```!T!\=%^`@````/MT4, -MBU7X2B'0BUWX*<.#Q/2+10A0Z/KV__^#Q!"%]GY"C78`.?-^`HGS@\3T@?L` -M`@``=`.#Y_V)^%!3BT7\4(M%#%"+10A0Z#_]__^#Q""%P'41*=X!70P!7?R+ -M7?B%]G_!,<"-9=A;7E_)PXUV`%6)Y8/L+%=64XMU",=%Y`````#'1>@````` -MBT4,B47L@\3XC47L4%;H&_K__XM%&%"-1>Q0C47H4%;H2?3__X/$((/$_/]U -M[/]UZ%;HJ_O__X/$$(M%&*@"=`R#Q/16Z$CS__^#Q!#V1A4!#X67````BT48 -MJ`1T&(M%[(/@!R7__P``N@@```")TRG#ZP^)]@^V5>RX``$``(G#*=,[711^ -M`XM=%(M]%"G?@\3\4XM%$%!6Z.CY__^#Q!"%_WY=BT48J`1T&8M5[('"`/__ -M_XM%[(/@!R7__P``*<*)5>R#Q/R)V`-%[%#_=>A6Z`O[__^#Q/Q7BT40`=A0 -M5NB?^?__@\0@ZQ:)]H/$_(M%%%"+11!05NB'^?__@\00BT48J`(/A)L```"# -MQ/QJ!HU%^%!6Z&KY__^#Q/16Z,WR__^#Q""%P'1P9H-]&`!\(X/$](M%&(#, -M@%"+1110BT404(M%#%!6Z)?^___IC````(GV:@:-7?!3:!`0``!6Z/S___^* -M5?"*1?2(1?"(5?2*5?&*1?6(1?&(5?6#Q/QJ`5.+11!0Z/S___^#Q""%P'0' -MQT7D&0```(/$]%;H-?+__X/$$(/$^&H85NA_]/__@\00BT48J`1T(`^W1>R+ -M5A@/MTH,C5'_(=`#110YR'4)@\3T5NBE\___BT7DC67(6UY?R<.)]E6)Y8/L -M'%=64XMU%(M]&(M%$(E%_,=%^``"``#WQP0```!T!\=%^`@```"#Q/2+10A0 -MZ>__\/MT4,BU7X2B'0BUWX*<.#Q!"%]GY"C78`.?-^`HGS@\3T@?L``@`` -M=`.#Y_V)^%!3BT7\4(M%#%"+10A0Z(/]__^#Q""%P'41*=X!70P!7?R+7?B% -M]G_!,<"-9=A;7E_)PXUV`%6)Y8/L'%=64XMU"(M]#,=%^`````")^P^O7@2) -M7?R#Q/3_=ASH_/___X/$$(7`=`NX$P```.G%`0``D(M%$(T4.(M&&`^W0`X/ -MKT8,.<)^"[@=````Z:4!``"0@\3T5NB?\___B=B+3A@QTO=Q&(G#B-H/MMI# -M#Z]9&(G8F?=^!(G#BU40C00Z@\00.=A^38/$_(G8*?@IPHG04%-6Z%W___^# -MQ!"%P'0NZ5$!``"0QT7X'0```(/$^&C_````5NA?]O__@\3T5N@N\O__@\0@ -MZ1P!``")]BG[B5T0@\3XC47\4%;HOO;__\=%]`````"#Q!"+31`Y3?0/C?(` -M``"+1A@/MT`2B?L/K]B#Q/AH_P```%;H"O;__X/$^&H15NB'\O__@\0@@\3T -M5NC+\?__@\3X:F!6Z.CU__^#Q""#Q/AJ%5;H8O+__XM&&(M0*(M`)(@<$(M& -M&(M(*(M0)(G8P>@(B`0*@\00]D85!'01BT88BT@HBU`DB=C!Z!"(!`J+1ACV -M0!P(=`J+0"C&@!X0````@\3X:A%6Z`WR__^#Q/AHT````%;H=_7__X/$((/$ -M^&H>5NA]\?__@\00A6+ -M10B-%("-%%"-!)4`!0``R<.-=@!5B>6#[!13BUT(@\3T:@#_=1"+0QC_<"#_ -M=0Q3Z"/]__^+0QS'0!P!````BT,8BT`@BUWHR<.)]E6)Y8/L%%.+30B*70R* -M11"(1?^+41B`>A4`#X5L`@``@WT4``^%8@(``&8/ML-FB0*+41AF#[9%_V:) -M0@*+01AFQT`2$``/ML,]F`````^$*`$``#WL````#X5-`@``#[9%_X/X=@^$ -MY````'\F@_AS#X2A````?PN#^&1T0.DI`@``D(/X=0^$IP```.D:`@``B?8] -MY0```'0]?P\]XP```'0TZ0,"``"-=@`]Y@```'1%/>H````/A>X!``!FQP%D -M[(M!&&;'0`0``<=!"```(`#IRP$``&;'`>7LBT$89L=`!``"QT$(``!``(!) -M%0'IK0$``(GV9LF-`0``B?9FQP%S -M[(M!&&;'0`0``L=!"`````&`214!ZS:09LR+01AFQT`$``+'00@````" -M@$D5`>L:D&;'`7;LBT$89L=`!``"QT$(````!(!)%06+01@/MU`2`=)FB5`2 -MZ2@!``"0#[9%_X/X=0^$NP```'\A@_AK=&!_"H/X9'0_Z1`!``"#^',/A(,` -M``#I`@$``(GV/>4```!T/7\/@_AV#X2B````Z>D```"0/>8```!T03WJ```` -M#X76````9L$````(/$^&H94^A& -M[O__@\3T:@KH_/___XM#&(M0*(I%_XJ2#1````#0B$7_,6#[!Q75E.+=0C'1?@`````QD7S`(/$]/]V'.C\ -M____B<*-!)*-!$*-!(4`!0``B488@\3T@\3T_W8!4#=T>0B="+ -M4"B*0!6(@@,0```QVSG[?2.#Q/@/ML-05NB;Z___@\3X:/\```!6Z,7N__^# -MQ"!#.?M\W8M&&/Y`%8M6&(!Z%0-VNHM&&,9`%0"+1AB+4"B*0!6(@@,0``"# -MQ/AJ&%;H%>O__\9%\@"#Q!")]C';.?M]=8GVBT7XB47T@\3XC47T4%;H[>[_ -M_X/$^%-6Z/S___^#Q""#^`%U)XI%\O[`B$7S@'WR`'4-BT88BU8(#Z]6$`%0 -M&(M&"`^O1A`!1?CK(H!]\@!U%HG?BU88B=@/KT8(#Z]&$(E"&.L(B?:)^\9% -M\@1#.?M\C?Y%\H!]\@,/AGC___^+1AC&0!4`BT88BU`HBD`5B((#$```@WX, -M`'1,QT7X`````(/$^(U%^%!6Z%#N__^+1AB*5?.(4!2#Q/16Z.KG___'1B@D -M+0``QT8L8#```,=&),0O``#'1B"`,@``@$X4`C'`ZP>)]K@:````C6786UY? -MR<.-=@!5B>6#/0`````$?QRA`````,'@`L>```````PW``#_!0`````QP.L% -MN&8```#)PY!5B>6#[!13BUT(]@,(=":#Q/3_LY@```#H_/___X/$$(7`=`/& -M`P"#Q/3_R<-5B>6#[`B+10B# -MQ/QJ`/]U#/]P;(M`6#["Q75E.+?0C'1>``````QT7<`0`` -M`(/$]%?H@?___X/$$(7`#X5;`@``QT7H`````,=%Y`````#I]P```(UV`,=% -MW`````"#Q/B+1>105^C\____B<.#Q!"%VP^$[P$``('[``````^$^P$``&:! -MN_X!``!5J@^%R````,=%[`````"#?>``#X6>````@WW<``^%E````(UU^(GV -MBU7LP>($BX0:O@$``(E%\(N$&L(!``")1?2+A!K&`0``B47XBX0:R@$``(E% -M_(I%]#P$=!-_"3P!=`WK.8UV`#P%=!P\!G4NQT7@`0```(/$]%;H_/___XE' -M$.L6C78`QT7<`0```(/$]%;H_/___XE%Y(/$$/]%[(-][`-W$(-]X`!U"H-] -MW``/A''_____1>B#?>@'=Q"#?>``=0J#?=P!#X3\_O__@\3X_W<05^C\____ -MB<.#Q!"%VW4+N!L```#I(@$``)"!^P````!U#+@9````Z0\!``")]H`[Z70; -MBP,E_P#_`#WK`)``=`VX"@```.GP````C78`@\3TC4,+4.C\____@\009CT` -M`@^%SP````^V0PV)1P0/MD,0B4<<#[=#%HE'(`^W2PX#3Q")3Q0/MT,6`@)0(E' -M*`-')(E'+(/$](U#$U#H_/___R7__P``A+1P3!X`F)1PS'1S`"````@`\",<#K-8/$]/]W;(N'B````/_0 -MN!L```#K((UV`(/$]/]W;(N'B````/_0N!D```#K"(UV`+@+````C67(6UY? -MR<.-=@!5B>6#[!!64XM="(MU#(/$]/]S;(N#C````/_0.T,0=@LK0Q")1A`Q -MP.L-D,=&$`````"X'P```(UEZ%M>R<.058GE@^P,5U93BWT,BW<,BT<0BU4( -MBUH0`<.+1Q2)1?S'1Q0`````.4<4#X.%````@\3X4XM5"%+H_/___X/$$(7` -M="0]`````'4)N!D```#K98GV@\3\:``"``!05NC\____ZS>-=@"#Q/2+10C_ -M<&R)PHN"C````/_0@\00.=AW"K@;````ZRZ-=@"#Q/QH``(``&H`5NC\____ -M@\00_T<40X'&``(``(M%_#E'%`^">____S'`C67H6UY?R<.058GE@^P,5U93 -MBWT(@\3XBT4,4%?H_/___XG"@\00A=)T"('Z`````'4&,<#K:(GVBT4,*T<4 -MP>`(C5C^#Z]?!`-?+#'VC78`BTT0#[<$#F:#/!8`=!YFA6#[!13BT4(BUT,@\3\C57\4O]S$/]P -M;(M`C)PXGV58GE@^P(BU4(BTT,BT$0`T(0@\3\_W$44/]R;(N"@````/_0R<.) -M]E6)Y8/L$%=6BU4(BT4,BW`,@\3X_W(04NC\____A)QORY"0```/.E,<#K!I"X&0```(UEZ%Y?R<-5B>6#[!!64XM="(/$ -M^(US.%;_LY@```#H_/___X/$$(7`=0Z#Q/16BT-H_]"`"P$QP(UEZ%M>R<.- -M=@!5B>6+10B`(/[)PY!5B>6+50B+10R+2`P/MT(X9HD!BT(\B4$$BT)`#Z]" -M1(E!"(M"0(E!#(M"2(E!$(I".CP!=!I_"(3`=`SK'HGV/`)T%.L6B?;&00(` -MZPZ)]L9!`@'K!HGVQD$"`C'`R<-5B>6#[!13BUT(BTT,BT$4`T$0BU-`#Z]3 -M1#G0?Q&+01"9]WL\BT,\*=`Y011^";@S````ZR")]H/$]/]Q!/]Q%/]Q#/]Q -M$(U#.%"+0US_T(7`=0(QP(M=Z,G#D%6)Y8/L%%.+70B+30R+010#01"+4T`/ -MKU-$.=!_$8M!$)GW>SR+0SPIT#E!%'X)N#,```#K((GV@\3T_W$$_W$4_W$, -M_W$0C4,X4(M#8/_0A1"+6+10B+50R+@)@```"+0"C!X`R)`C'`R<.058GE -M@^P,5U93BWT,BW40BUT4QP<`!```QP80````BP_!X02+10@QTO?QB=&)`X7) -M="C_`XL/#Z\+BT4(,=+W\8G1B0:%R702_P:+#@^O"XM%"#'2]_&)P8D/6UY? -MR<.058GE@^Q,5U93BW4(BT4,BU@,QD7'`8L`B47H]@8!=1B#Q/16Z*O]__^# -MQ!"%P`^%"0$``,9%QP"-1=2)1?2#Q/B-1>A05NC1_?__@\00A<`/A><```"+ -M1=1FB4,,BT789HE#%(M%W(E#$(I%UHA#%H/$_&H(:"0```"-0QA0Z/S___^# -MQ/QJ!&@L````C4,B4.C\____@\0@@\3XC4,(4%;HWO[__X/$$(7`#X6,```` -M@\3XC47(4/]V;(N&D````/_0@\00AC\____A<`/ -MA1L"``"+!SL%`````'(,N!0```#I!P(``(GVBQ>-!)+!X`,IT(TTA0````"# -MQ/AJ`5;H_/___X/$$(7`#X7>`0``@WT($'=WBT4(_R2%-````)#V!@$/A*\` -M``"#Q/16Z/S___^#Q!#IG@```(GV]@8(=`N['P```.F5`0``D/8&`708@\3T -M_[:8````Z/S___^)PX/$$(/[(G4.@\3T5NC*^___B<.#Q!"%VW1=@\3T5NC\ -M____@\00Z4$!``#V!@AT/(/$]/^VF````.C\____@\00A````)#V!@)U"[LW````Z0D!``"0@WT( -M$@^'Y@```(M%"/\DA<````"#Q/16Z)OU___IQ````(GV@\3T5NC\____Z;0` -M``")]H/$^/]W#(/$]/\WZ/S___^#Q!!0Z/S____IE````(GV@\3X5U;H[O?_ -M_^F#````D(/$]%;H[_3__^MWD(/$^%=6Z!+X___K:H/$^%=6Z&;Y___K7H/$ -M^%=6Z!+Z___K4H/$^%=6Z%+Z___K1H/$^%=6Z&[Z___K.H/$^%=6Z/;Z___K -M+H/$^%=6Z$K[___K(H/$^%=6Z)K[___K%H/$^%=6Z.K[___K"H/$^%=6Z*K\ -M__^)PX/$$.L(C78`NP$```"%VW4/@\3X:@!6Z/S___^)P^L+@\3X:@!6Z/S_ -M__^)V(UEZ%M>7\G#C78`58GE@^P05E.#/0``````#X61````O@`````QVX/$ -M]%/H_/___XF&F````(D8Q@8`@\000X'&G````(/[!W;=QP4``````0```.C\ -M____QP4``````````.C\____A6#[`Q75E.^`````#'_.ST`````-%/H_/___X/$((/$]%/H_/___X/$$$>!QIP````[/0````!RH<<%```` -M``````"-9>A;7E_)PY"0D%6)Y5.+30B+70QF#[81BD$!)`/!X`@)PF:)$P^^ -M40&!XOP```#!^@**00(D#V:8P>`&"=!FB4,"#[Y1`H'B\````,'Z!(I!`R0_ -M9IC!X`0)T&:)0P0/OE$#@>+`````P?H&9@^V003!X`()T&:)0P9;R<.058GE -M5E.+30B+70P/O\,!P`-%$(/`_C'29CG:?1F-=@")SH/F`6:),(/`_F;!^0%F -M0F8YVGSJ6U[)PXGV58GE5U93BU4,B=$/O\&-!$7^____BUT(`<,Q_[X!```` -M9DEFA=)^&`^W`X/#_F:%P'0""?7\G#58GE@^P( -M@\3T@\3T#[]%"%#HL@$``(G"N/\#```IT)A0Z&H!``"8R<.-=@!5B>6#[!!6 -M4XM%"(M5#(G!B=9FAR<.-=@!5 -MB>6#[!13BUT(@\3X@\3T#[]%#%#H6O___YA0#[_;4^A[____F(M=Z,G#D%6) -MY8/L'%=64V;'1?X``&;'1?C^`8UV`(M%"`^W.(/$]`^_1?A0Z*T```")PV:) -M7?R+1?@!P(/$$&8]_@-^!04!_/__9@'`9CW^`WX%!0'\__^#Q/284.A\```` -M9HE%^KX!````@\00@\3X#[_;4P^_QHM5"`^_!$)0Z/7^__\QQX/$^%,/OT7\ -M4.CE_O__B<.#Q"!F1F:#_@-^S(/$^`^_1?I0#[_'4.@G____B<(/OT7^BTT, -M9HD408/$$&;_1?YF_T7X9H-]_@,/CDC___^-9=A;7E_)PU6)Y8M-"#'2N`$` -M``!F.6#[!Q75E.+ -M11!FB47^9L=%_```9L=%\@``9CE%_`^-(@$``(GV#[]%_(M5#`^W%$)FB57T -MBTT(#[\$08T$@`'`@\#ZB<=FP?\#C13]`````"G09D=F@_@'=6,/OT7RB?I" -MBUT49HD40V;_1?*+3?3VP0%T#8M=&&;'!$.``.L+B?:+51AFQP1"``!FP7WT -M`0^_1?*+311FB3Q!BU7TM@"+71AFB11#9O]%\@^_1?*+5?1FP>H(9HD40^MT -MB?:Z"````"G"9HE5^K@*````*=`/OUWRBTT49HD\60^_\(M5]&8C%'44```` -M#[_2N`@```")P2GQT^*+11AFB1189O]%\@^_1?2)\=/X9HE%]`^_1?)/BUT4 -M9HD\0P^_5?J+7?1F(QQ5%````(M-&&:)'$%F_T7R9O]%_`^W1?YF.47\#XS@ -M_O__9L=%_```OO____\/MU7R9CE5_'U?C78`#[]-_(M=&&:#/$L`=$`/O]:+ -M710/MP1+9CL$4W429H7V?`V+11@/MPQ(9@D,4.L>1@^_W@^_5?R+310/MP11 -M9HD$68M-&`^W!%%FB0199O]%_`^W7?)F.5W\?*2-1@&86UY?R<.-=@!5B>6# -M[`B#Q/0/OT4(4.C5_?__,6#[#Q75E,QR3'2C78`#[_"BUT(9H,\0P!T`4%F0F:# -M^@-^ZF:%R74),<#I2`0``(GV9H/Y`P^.U@```(/$^(M5"`^_`E`/OT("4.@> -M_/__9HE%U(/$^(M-"`^_00)0#[]!!%#H!?S__XG&@\0@@\3XBUT(#[]#!%`/ -MOT,&4.CK^___@\009CEUU`^%@@```&8YQG5]@\3T#[_>4^@)_?__@\009CV> -M`7]HBU4,9HD"@\3T4^@I^___B<(QVX/$$(GV@\3X#[_"4%#H/_O__XG"@\00 -M0X/["'[H@\3XBTT(#[]!`E"#Q/@/OT744`^_PE#H&/O__X/$$)A0Z`[[__^+ -M71!FB0.X`0```.EH`P``B?:#Q/B+50@/OT($4`^_`E#HZ/K__XG#@\3XBTT( -M#[]!`E`/OT$"4.C1^O__B=XQQH/$(&:%]@^$T@(``(/$^(M="`^_0P90#[]# -M`E#HK/K__XG#@\3XBU4(#[]"!%`/OT($4.B5^O__B=HQPH/$(&:%T@^$E@(` -M`(/$^`^_QE`/O\)0Z-7Z__^)QX/$^(M-"`^_0010#[]!`E#H7OK__XG#@\0@ -M@\3XBU4(#[]"!E`/OP)0Z$7Z__^)VC'"@\009H72#X1&`@``@\3X#[_&4`^_ -MPE#HA?K__XG#@\3X@\3X#[_#4%#H$_K__YA0#[_'4.AH^O__B<*#Q#"#Q/R- -M1=A0:@H/O\)0Z$'Y__^#Q!!F@WW<``^%]`$```^W1>IFB47TBTW89C--VF:) -M3?:+1>1F,T7J9HE%^(M5X&8S5>IFB57R#[=%WC-%X#-%Y&:)1>Z+3=@QP6:) -M3>R+1>@QR&:)1?P/MT7F,=`S1?QFB47Z#[=%XF8S1?IF,T7V,Q0Z//X__^)QXGZ@\H!9HE5UH/$^`^_QU`/O]M3Z$SY__^) -MQX/$((/$^`^_1=904^@Y^?__9HE%UH/$]`^_QU#HQ?K__V:)1=*#Q""#Q/0/ -MOT764.BQ^O__9HE%T(/$$&:!?=*>`0^/$P$``&8]G@$/CPD!```/MTW6,?EF -MB4W4@\3T#[_?4^B6_/__B<:#Q/A34^C6^/__B<*#Q""#Q/@/O\)0#[_&4.@A -M^?__B<:#Q/@/OT744`^_QE#HKOC__XG#@\0@9H7;#X2Q````@\3X#[]%UE"+ -M50@/OP)0Z(SX__^)PHM-"&8S40*#Q!!FA=(/A(@```"#Q/@/O\-0#[_"4.C' -M^/__BUT09HD#@\3T#[]=UE/H"/S__XG&@\0@@\3X4U/H1?C__XG"@\3X#[_" -M4`^_QE#HD_C__XG&@\0@@\3X#[]%U%`/O\90Z!WX__^)PX/$$&:%VW0D@\3X -M#[_'4(M5"`^_`E#H`/C__XG"BTT(9C-1`H/$$&:%TG4'N/_____K4H/$^`^_ -MPU`/O\)0Z#CX__^+71!FB4,"BT709CE%TGXQ0C47H4(U%\%#H,/O__XG!@\009H7)=08QP.M[B?9F -MA`0``9BLT4&:)-%!".=I\[H/$](M%%%"+ -M71!3#[_!4(U%[%"-1>A0Z-KX__^(!S'`,=*`/P!^&@^^#XMU$&:!/%8``G\' -MBUT49C,$4T(YRGSI9CM%YG4'N`$```#K!;@"````C67(6UY?R<.-=@!5B>6# -M["Q75E.-1>A0C47T4(U%YU#_=0SH_/___X/X`74Z,<`?C"-1?2)1>"- -M=>@/OEWGD(T4"8M]X`^_!#HS11`]_P$``'\)BA0RBWT(,!0X03G9?-XQP(UE -MR%M>7\G#58GE@^Q,5U93QT7(`````(/$](M%"%#H_/___XG"OQH```"#Q/B- -M1#/-T$`````'0LC13=`````+D`````C47( -M4#'`A?9U`XU%S%"+10Q0BT4(4(L$"O_0B<>#Q!!#.QT`````?02%_W6]A?]U -M58-]R`!T#X/$](M%R%"+0##_T(/$$(-]$`!T.C';ZP.)]D,['0````!]*XT$ -MW0````"#N`0`````=>=J`&H`BU4,4HM5"%*+@`````#_T(/$$(7`=7\G#B?95B>4QP,G#D%6)Y8/L"(M%"(/$^/]U#/]P'.C\____R<.-=@!5 -MB>6#[!13BU4(BUT0BT44@\3\4(/$_%#_=0Q2BT(@_]"#Q!!04^C\____,<"+ -M7>C)PXGV58GEN!,```#)PXGV58GEN!,```#)PXGV58GE@^P(BT4(@\3\:@!J -M`/]P'.C\____R<.)]E6)Y8/L'%=64XM]",9%_`"#Q/B+11!0_W<B`0>A?9U!8H#B$7[@WT, -M`'084VB0````BT40`?!05XM%#/_0@\00ZP60Q@0>D(7V=0B*`XA%_.LMD(H$ -M'CI%_'4'B@,X1?MT'8I%_,'@"(H4'F8/MM()T&:)!XI%^H@$'NL/C78`BD7Z -MB`0>1H/^#GZ(C4;_A<9T"6;'!P``ZP6)]HEW$(UEV%M>7\G#D%6)Y8/L#%=6 -M4XM]",9%__^#?0P`=`3&1?_P@\3\:@"+11!05XM'(/_0B<:#Q!"#?0P`=!16 -M:)````!J`%>+10S_T(/$$.L$D,8&D,='#`````")]H/$_&H`BT<,#Z]'"`-% -M$%!7BT<@_]")QH/$$(-_#`!^&8H&B<+!X@B+1Q"*!#`E_P````G"9CL7='6# -M?PP`#Y3`#[;8.U\0?5.-=@"#?0P`=!Y6:)````"+1PP/KT<(`T40`=A05XM% -M#/_0@\00ZP3&!#.0B@0SB<+!X@B)V`-'$(H$,"7_````"<)F.Q=U'XI%_X@$ -M,T,[7Q!\L(M'$`%'#(%_#,\'```/CE'___^#Q/QJ`(M%$%!7BT<@_]")QHI% -M_X@&,<"#?PP`=06X&@```(UEZ%M>7\G#B?95B>6#[!13BT4(@\3X:@#_7\G#D)"058GEBTT(BU4,B=!FP>@(B$$! -MB!')PXGV58GEBT4(9@^V4`'!X@AF#[8``<(/M\+)PXUV`%6)Y8/L$%93BW4( -MBUT,@\3X#[?#4%;H_/___X/$^,'K$%.#Q@)6Z/S___^-9>A;7LG#B?95B>6# -M[!!64XM="(/$]%/H_/___XG&@\3T@\,"4^C\____#[?6P>`0`<*)T(UEZ%M> -MR<.058GE@^P(BT4(@\3\_W44BT`8BT`H`T4,4/]U$.C\____R<.058GE@^P( -MBT4(@\3\_W40_W4,BU`8BT(D`T(H4.C\____R<.058GE@^P(BU4(@\3\_W4, -M#[9%$%"+4AB+0B0#0BA0Z/S____)PY"0D%6)Y8M%"(L`R<.)]E6)Y8M%",'@ -M`RM%",'@!`5@!@``R<.)]E6)Y8M%",'@`HN`X`D``,G#C78`58GE@^P(BT4( -M@\3T4(M`9/_0R<-5B>6#[!13BUT(@WM@`'0)@\3T4XM#8/_0QT,(`````(M= -MZ,G#C78`58GE@^P44XM="(/$]%.+0T#_T(/$$(7`=0['0P@!````N!4```#K -M)X-[8`!T%(/$]%.+0V#_T(7`=`?'0P@!````,<"#>P@`=`6X(@```(M=Z,G# -M58GE@^P05E.[8`8``#'V.S4`````#X.B````D(/$^&CZ````4^C\____@\3X -M:A!3Z/S___^#Q""#Q/AJ`E/H_/___\=#"`````"#Q/1H$`(``.C\____B02U -MX`D``(/$((7`=0>X/P```.M3@\3T4XM#5/_0@\00AA;7LG#B?95B>6+10B+0"S)PY!5B>6#[`Q75E.+=0B+ -M?0R!?BS_?P``=0R#Q/16BT98_]"#Q!"+1C3WV(G[(6#[!13BUT(_T,0@WL8`'4-@\3T4XM#3/_0 -MA6+10B#>!``?@/_2!#)PXUV`%6)Y8M% -M"(M5#(M-$(E0((E(),G#58GE@^P44XM="(-[8`!U'8-["`!U%X/$]%.+0T#_ -MT(/$$(7`=0?'0P@!````@WL0`'57@WL8`G4+QT,8`0```.L;B?:#>Q@!=1/' -M0Q@`````@\3T4XM#4/_0@\00@WL,`'4G@WL4`G4+QT,4`0```.L8B?:#>Q0! -M=1#'0Q0`````@\3T4XM#2/_0BUWHR<.058GE@^P(BT4(@WAH`'0,@\3X_W4, -M4(M`:/_0,<#)PY!5B>6#[!13BUT(@\3X:@!3Z/S___^#Q/13Z/S___^#Q""# -MQ/AJ`%/H_/___X/$]%.+0VS_T(/$((/$](L#P>`"_[#@"0``Z/S___^+7>C) -MPTTM4WES=&5M$5$0P!F;%-O8VME=$]F`&9L26YI=`!F;$1O8U=I;F1O=T)A -M`!F;$)U:6QD1V5O;65T`!F;%-Y`!C:&5C:U=I -M;D9O0!D;V,R:U]I;F9O`&1O -M8S)K7W!R;V)E````"P````$F```1`````10``!8````".```(@````)&```G -M`````B,``#T````!%```0P````$F``!)`````08``$\````!!@``5P````(K -M``!D`````2T``)`````"4@``I`````(Z``##`````0,``((!```".@``'@(` -M``(Z```Z`@```CH``'X"```".@``C@(```(Z``">`@```CH``+T"```"7``` -M*04```$%```>"0```AH``"0)```"%0``5PD```)6``!I"0```E8``$(4```! -M00``,A@```)0``#S&0```E,```<:```"4P``*1H```)3```]&@```E,``&4: -M```!!@``LAH```$&``#)&@```E(``#T;```!`P``0QL```);``"Q&P```0,` -M`+<;```"6P``Z1L```(0``!='````A```*@>```!`0``KQX```$!``"V'@`` -M`0$``+T>```!`0``Q!X```$!``#+'@```0$``-(>```!`0``\!X```)6```W -M'P```E8``%P?```!`P``I!\```$B``"U'P```2(``+X?```!/P``PA\```$! -M``#('P```3\``,P?```!40``TA\```$B``#9'P```08``-X?```!!@``XQ\` -M``$&``#H'P```08``(H@```!+0``H"````$M``"Q(````2T``+8@```"*@`` -MO2````$M``#*(````CD``-P@```"+```[2````$!``#T(````0$``/L@```! -M`0```B$```$!```)(0```0$``!`A```!`0``%R$```$!```>(0```0$``"4A -M```!`0``+"$```$!```Z(0```0$``$$A```!+0``1R$```$M``#>(P```ED` -M`*XD```"#@``DB4```$%``":)0```04``*8E```!!0``NB4```$%``#$)0`` -M`04``,PE```!!0``TB4```$%``#>)0```04``"@F```!!0``?28```$%``"' -M)@```04``!\H```"#@``JB@```(S``#-*````C,```DI```"&```/RD```(3 -M``#_*@```@T``,PL```",P``\2P```$%```]+P```C,``&0O```"*0``AC`` -M``(-``!W,@```08``,PU```"7``````)<```J-P```AH``#DW```!!@`` -M2C<```(:``!0-P```A4``'8W```"'0``AC<```(O``#`-P```@X``"$Y```" -M-@``S3D```$!``#4.0```0$``-LY```!`0``XCD```$!```%.@```4\```TZ -M```!3P``%CH```$2```:.@```0$``"`Z```!3P``23H```))``"+.@```B$` -M`*PZ```"%P``NCH```(G````.P```B@``!`[```"%P``'SL```([``!7.P`` -M`BX``&X[```!0@``?3L```(<``#X.P```@\```L\```!00``F#P```(0``"P -M/````A```/0\```"#P``#CT```%!``!(/0```C(``)D]```",@``NST```(R -M``"Q/@```@\``+T^```!00``USX```)4```0/P```E(``$T_```"#P``7#\` -M``%!``"U/P```@\``"1````"&0``M$````%!```=00```@\``"U!```!00`` -M:4$```(^``#R0P```0,``/M#```"5```!40```$#```.1````E0``&%$```" -M/```D40```$#``"S1````AL``-)$```!%@``VD0```(K``#J1````2T```E% -M```!0@``%$4```)````O10```0,``$)%```"&P``;T4```))``"410```AL` -M`*]%```"20``OT4```(N``#710```0,``/Q%```!`P``%48```(N```L1@`` -M`BH``#5&```"#```[$8```)```#[1@```D```!9'```!%@``(D<```%"```M -M1P```BH``$U'```!%@``5D<```)%``!<1P```2(``&5'```"2@``;D<```(@ -M``"#1P```4(``(E'```!+0``F$<```)$``"L1P```2T``,9'```!0@``SD<` -M``$M``#;1P```D```.M'```"+@``]$<```(;```%2````B0``!%(```".P`` -M'4@```)-```M2````2T``#5(```!%@``/TP```$%``!_3````04``-E2```" -M0P``/%,```(J``!04P```CX``()3```!(@``CU,```$_``">4P```3\``,53 -M```!(@``]U,```$B```&5````3\``!M4```!/P``3U0```(.``!_5````E0` -M`+A4```"'P``VU0```(.``#/5@```@X``#17```"-P``/U<```))``!U5P`` -M`0$``'Q7```!`0``@U<```$!``"*5P```0$``)%7```!`0``F5<```%/``"K -M5P```1(``+E7```!3P``0U@```(]``!36````CT``'!8```",@``?E@```(R -M``"Q6````E0``-58```"5```^U@```)2```@60```08``#-9```!!@``U5D` -M``$&``#=60```2T``/)9```"+P``_5D```(=```+6@```CD``!]:```"5@`` -M)EH```$&``!_6@```2T``&1;```",0``Y5P```(.``#N7````B@``/Q<```" -M%P``%ET```$&```;70```E,``#0````!`0``.`````$!```\`````0$``$`` -M```!`0``1`````$!``!(`````0$``$P````!`0``4`````$!``!4`````0$` -M`%@````!`0``7`````$!``!@`````0$``&0````!`0``:`````$!``!L```` -M`0$``'`````!`0``=`````$!``!X`````0$``'P````!`0``@`````$!``"$ -M`````0$``(@````!`0``C`````$!``"0`````0$``)0````!`0``F`````$! -M``"<`````0$``*`````!`0``I`````$!``"H`````0$``*P````!`0``L``` -M``$!``"T`````0$``+@````!`0``O`````$!``#``````0$``,0````!`0`` -MR`````$!``#,`````0$``-`````!`0``U`````$!``#8`````0$``-P````! -M`0``X`````$!``#D`````0$``.@````!`0``[`````$!``#P`````0$``/0` -M```!`0``^`````$!``#\`````0$````!```!`0``!`$```$!```(`0```0$` -!```! -` -end diff --git a/sys/contrib/dev/fla/msysosak.h b/sys/contrib/dev/fla/msysosak.h deleted file mode 100644 index 11d4c5173cff..000000000000 --- a/sys/contrib/dev/fla/msysosak.h +++ /dev/null @@ -1,135 +0,0 @@ -/*- -SOFTWARE LICENSE AGREEMENT - -IMPORTANT! READ CAREFULLY: -THIS SOFTWARE LICENSE AGREEMENT (the ``Agreement'') is a legal -agreement between you (either an individual or a single entity) and -M-Systems Flash Disk Pioneers Ltd. ("M-Systems"). -This Agreement relates to the M-Systems' software accompanying this -Agreement, which includes computer software and may include associated -media, printed materials, and ``online'' or electronic documentation -(the ``Licensed Software''). -By downloading, installing, copying, or otherwise using the Licensed -Software, you agree to be bound by the terms of this Agreement. -If you do not agree to the terms of this Agreement, do not install, -copy or use the Licensed Software. - -The Licensed Software is protected by copyright laws and international -copyright treaties, as well as other intellectual property laws and -treaties. The Licensed Software is licensed, not sold. -The Licensed Software is being provided solely for use with M-Systems' -DiskOnChip® product lines. -1. License Grant. -(a) Grant of License. Subject to the terms and conditions of this - Agreement, M-Systems hereby grants you a nonexclusive, - royalty-free, worldwide license (including the right to - sublicense) to use, copy and distribute the Licensed Software - with M-Systems DiskOnChip® products. -(b) Restrictions on Use. The Licensed Software is licensed solely - for use with and to support M-Systems' DiskOnChip® products. - Use of this Licensed Software with, or to support, any other - flash disk, flash card, resident flash array or solid state - disk of any kind is expressly prohibited, and constitutes an - illegal infringement of M-Systems' patent, copyright and other - rights in and to the Licensed Software. -2. Limitations on Reverse Engineering, Decompilation, and - Disassembly. You may not reverse engineer, decompile, or - disassemble the Licensed Software, except and only to the - extent that such activity is expressly permitted by applicable - law notwithstanding this limitation. -3. Termination. Without prejudice to any other rights, M-Systems - may terminate this Agreement if you fail to comply with the - terms and conditions of this Agreement. In such event, you must - destroy all copies of the Licensed Software and all of its - component parts. -4. Intellectual Property Rights. Title to the Licensed Software, - and all rights with respect to the Software not specifically - granted under this Agreement, including without limitation - all rights of modification, disassembly and decompilation and - all copyright, patent, trademark, trade secret and other - proprietary rights and interests are reserved to M-Systems. - You may not remove or alter the "README" or "COPYRIGHT" files - or copyright notices in the Licensed Software. -5. DISCLAIMER OF WARRANTIES. To the maximum extent permitted by - applicable law, M-Systems and its suppliers provide the Product - and any (if any) support services related to the Product - ("Support Services") AS IS AND WITH ALL FAULTS, and hereby - disclaim all warranties and conditions, either express, - implied or statutory, including, but not limited to, any - (if any) implied warranties or conditions of merchantability, - of fitness for a particular purpose, of lack of viruses, of - accuracy or completeness of responses, of results, and of lack - of negligence or lack of workmanlike effort, all with regard - to the Product, and the provision of or failure to provide - Support Services. ALSO, THERE IS NO WARRANTY OR CONDITION OF - TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO - DESCRIPTION OR NON-INFRINGEMENT, WITH REGARD TO THE PRODUCT. - THE ENTIRE RISK AS TO THE QUALITY OF OR ARISING OUT OF USE OR - PERFORMANCE OF THE PRODUCT AND SUPPORT SERVICES, IF ANY, - REMAINS WITH YOU. -6. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER - DAMAGES. To the maximum extent permitted by applicable law, - in no event shall M-Systems or its suppliers be liable for - any special, incidental, indirect, or consequential damages - whatsoever (including, but not limited to, damages for loss - of profits or confidential or other information, for business - interruption, for personal injury, for loss of privacy, for - failure to meet any duty including of good faith or of - reasonable care, for negligence, and for any other pecuniary - or other loss whatsoever) arising out of or in any way related - to the use of or inability to use the Product, the provision - of or failure to provide Support Services, or otherwise under - or in connection with any provision of Agreement, even in the - event of the fault, tort (including negligence), strict - liability, breach of contract or breach of warranty of - M-Systems or any supplier, and even if M-Systems or any - supplier has been advised of the possibility of such damages. -7. LIMITATION OF LIABILITY AND REMEDIES. Notwithstanding any - damages that you might incur for any reason whatsoever - (including, without limitation, all damages referenced above - and all direct or general damages), the entire liability of - M-Systems and any of its suppliers under any provision of this - Agreement and your exclusive remedy for all of the foregoing - shall be limited to the greater of the amount actually paid by - you for the Product or U.S.$5.00. The foregoing limitations, - exclusions and disclaimers shall apply to the maximum extent - permitted by applicable law, even if any remedy fails its - essential purpose. -8. Miscellaneous - The laws of the State of California, United States of America, - exclusive of conflict-of-laws provisions, shall govern this - Agreement in all respects. -*/ - -#ifndef MSYSOSAK_H -#define MSYSOSAK_H 1 - -struct doc2k_stat { - unsigned short type; - long unitSize; - long mediaSize; - long chipSize; - int interleaving; - unsigned long window; - - /* Non-OSAK members Below this point */ - char *product; - char model[40]; -}; - -enum doc2k_work { DOC2K_READ, DOC2K_WRITE, DOC2K_ERASE }; - -int doc2k_probe(int drive, unsigned lowaddr, unsigned highaddr); -int doc2k_info(int drive, struct doc2k_stat *info); -int doc2k_size(int drive, unsigned *capacity, unsigned *ncyl, unsigned *nhead, unsigned *nsect); -int doc2k_open(int drive); -int doc2k_close(int drive); -int doc2k_rwe(int drive, enum doc2k_work what, unsigned block, unsigned len, void *ptr); -void doc2k_memcpy(void *dst, const void *src, unsigned len); -void doc2k_memset(void *dst, int c, unsigned len); -int doc2k_memcmp(const void *dst, const void *src, unsigned len); -void *doc2k_malloc(int bytes); -void doc2k_free(void *ptr); -void doc2k_delay(unsigned usec); - -#endif diff --git a/sys/contrib/dev/fla/patch.00 b/sys/contrib/dev/fla/patch.00 deleted file mode 100644 index 90841e6a13e8..000000000000 --- a/sys/contrib/dev/fla/patch.00 +++ /dev/null @@ -1,23 +0,0 @@ -Index: files.i386 -=================================================================== -RCS file: /home/ncvs/src/sys/i386/conf/files.i386,v -retrieving revision 1.220.2.8 -diff -u -r1.220.2.8 files.i386 ---- files.i386 1999/05/27 03:06:33 1.220.2.8 -+++ files.i386 1999/08/01 12:44:00 -@@ -34,6 +34,13 @@ - no-obj no-implicit-rule before-depend \ - clean "ukbdmap.h" - # -+contrib/dev/fla/fla.c optional fla -+msysosak.o optional fla \ -+ dependency "$S/contrib/dev/fla/i386/msysosak.o.uu" \ -+ compile-with "uudecode < $S/contrib/dev/fla/i386/msysosak.o.uu" \ -+ no-implicit-rule -+ -+# - dev/fb/fb.c optional fb device-driver - dev/fb/fb.c optional vga device-driver - dev/fb/splash.c optional splash - - diff --git a/sys/contrib/dev/fla/prep.fla.sh b/sys/contrib/dev/fla/prep.fla.sh deleted file mode 100644 index 5d27717e095f..000000000000 --- a/sys/contrib/dev/fla/prep.fla.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh -# $FreeBSD$ - -dev=fla0 - -grep "$dev.*sectors" /var/run/dmesg.boot | tr -d '(:)' | awk ' - { - v = $3 - c = $5 - h = $7 - s = $9 - ss = c * h * s - s - - print "#",$0 > "_" - print "g c"c" h"h" s"s > "_" - print "p 1 165",s,ss > "_" - print "a 1" > "_" - - print "#",$0 > "__" - print "type: ESDI" > "__" - print "disk:", $1 > "__" - print "label:" > "__" - print "flags:" > "__" - print "bytes/sector: 512" > "__" - print "sectors/track:", s > "__" - print "tracks/cylinder:", h > "__" - print "sectors/cylinder:", s * h > "__" - print "cylinders:", c > "__" - print "sectors/unit:", ss > "__" - print "rpm: 3600" > "__" - print "interleave: 1" > "__" - print "trackskew: 0" > "__" - print "cylinderskew: 0" > "__" - print "headswitch: 0 # milliseconds" > "__" - print "track-to-track seek: 0 # milliseconds" > "__" - print "drivedata: 0 " > "__" - print "8 partitions:" > "__" - print "# size offset fstype [fsize bsize bps/cpg]" > "__" - print "a:",ss,"0 4.2BSD 512 4096 " > "__" - print "c:",ss,"0 unused 0 0" > "__" - } -' -fdisk -f _ -i -v $dev -disklabel -BrR ${dev} __ -newfs /dev/r${dev}a