يEيCfأçü       Initializing Media      ch of information about the upcoming AdamCon.        Please reserve those dates at work.  Please reprint this in any       newsletters, or on ANN.                        Dale      PS. I have the AdamCon logo, and I can send it as a PowerPaint       picture on request.  It was done in PostScript by Neil Wick, and       looks pretty sharp. ---------------------                 AdamCon       007 logo goes here!                        July 20-23, 1995      You are invited to attend the 7th Annual IANN9503a   پUھے BOOT       گDIRECTORY  طAC007H    €ADAMCONSH €CPM-CC10H 		CPM-CC12H 

DRAGONH   "€EZRAMH    &€GOGODOS4H )GRAPHICSH 1		€HEART HH  :LOGO29H   =

€MITCHELLH GPSPCT003H MREADME1H  PSEBELISTH VTDOS-1H   YTDOS-2H   \THINGSH   _       Awards Banquet. See the end of the flyer for registration details.       For the utmost enjoyment we recommend that you stay in the hotel,       but there are also daily prices for those delegates who wish to       commute.      AdamCon 007: "The Year to Bond"      As in previous years, although there are information packed       sessions and keynote addresses scheduled in, delegates always find       time to socialize, to greet old friends and to make new ones. So       this year we've pi‚Jےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      Message #125 (131 is last):      Date: Sat Mar 11 22:16:49 1995      From: dmwick@undergrad.math.uwaterloo.ca (Dale Wick)      Subject: FOR IMMEDIATE RELEASE AdamCon007      To: coladam-list@calum.csclub.uwaterloo.ca      Here is a whole bunnternational Adam       Computer Convention in Waterloo, Ontario, Canada. We are very       excited about all of the activities that we have planned for this       event. On Thursday, July 20, 1995, the event will start with a       cocktail reception, and will be packed with seminars, handson       tutorials, and demos. We even have an Adam Store lined up for       Saturday where you can buy those much needed supplies, or pickup       some software. Finally on Sunday, July 23, 1995, there will be anTHINGS2H  b€CROSSFIREAeWEZRam_PGMAgBLOCKS LEFTj6BLOCKS LEFTj6cked as our theme "The Year to Bond", and we are       encouraging socialization during the meals, breaks, and after       hours in our hospitality suite.      The Hosts      There are two chairmen heading up this year's AdamCon, Dale Wick,       and Jillian Arnott.  Dale Wick is one of only a few Adamites who       have been to all 6 previous AdamCons, and hopes to include all of       the best features of previous conventions in this one.  Jillian       Arnott is an event planner, and recently cinue your exploration of the tutorial topics.       With that in mind we have lined up many interesting topics       including:      Care and Maintenance of the Coleco Adam: Learn basic care tips and       tricks Spreadsheets and their applications: Learn how to use tools       like AdamCalc      The Adam and the Information SuperHighway: Learn the terminology,       techniques, possibilities of using your Adam to communicate with         others.      How does the Adam work?: An overview of how  sharing of Adam       information. You can expect to see everything from beginners       information to advanced tips. As is the tradition, there will be a       special emphasis on information for the absolute beginner, but we       will be providing something for everybody.  Our presenters will       come from all areas of the Adam Community, and we expect to see:       Ron Collins, Frances Clee, Howard Pines, Neil Wick, Patricia       Herrington,  Michael Hurst, Herman Mason, George Koczwara, Ricrepairs that you       can do with a minimum of equipment.      And that  isn't all! We are working hard on more topics. If you       have a favourite one that you would like to either present or see,       be sure and contact us.  Plus we have Keynote addresses each day,       including The History of the Adam", The State of the Adam",       and The Future of the Adam". These should be both interesting       and informative.      What about the Awards Banquet?      At the Banquet you will see t unveiling of a new product? Well, there are several under       development - See them first at AdamCon 007!      Session Topics      We've scheduled 3 hour sessions at five different times during the       convention, Friday morning and afternoon, Saturday morning, and       Sunday morning and afternoon. During these times you will be able       to attend any one of 3 different sessions. In the evening on       Friday and Saturday, there will be free access to the labs to       allow you to contoordinated the       successful MTAG MiniCon in spring of 1993.      Supporting them in their planning, is a long list of active       Adamites including MTAG (Metro-Toronto Adam Group) members Neil       Wick, Harvey Powis, Doug Chapell, and others.  Also helping are       local Adamites like Richard Clee, and Michael Hurst.  Of course       other help is welcome.  Contact Dale or Jillian to volunteer.      AdamCon 007 Sessions, Tutorials and Demos      The essential core of every AdamCon is thethe major parts of the       Coleco Adam work.      How to use graphics on the Adam: Learn about clip art, fonts and       how easy it is to make pleasing output without being an       expert artist.      Music on the Adam: How to use the Adam to listen to and sequence       music with a MIDI adapter.      Programming on the Adam: How to make the Adam do what you want       when you want, and how to make programming less       frustrating.      Simple Adam Repairs: Learn about simple low cost hard       Clee, Ron Mitchell, and many others. We will mail more information       to registrants as the date approaches.  Continuing the success of       last years convention, every seminar room will be equipped with       between half a dozen and a dozen Coleco Adams, so you can practice       while you learn. To facilitate this we've made the sessions long       enough that you can solve real problems, and take home real       experience.  And what convention would be complete without the      he latest inductees to the Adam       Gallery of Honour, and there will be many, many door prizes       donated by members from all around the Adam community. After a       fine meal, be ready for the traditional group picture.      Spouses and Children      Children under 12 stay in their parent's room, free. A special       family rate is available for children over 12. Please phone for       details. Jillian Arnott, one of the chairmen, hopes to plan side       trips to many local attractions isessions, & Banquet):      $245($175)      Day pass for Fri, Sat, or Sun, (lunch, & sessions):      $50($35)      Banquet only:      $60($42)      Payment plans accepted (make 3 or 4 easy payments). Prices are in       Canadian dollars.      Payment includes free shuttle to and from the Toronto       International Airport on Thursday and on Monday, if you need a       ride be sure to mail your airline, flight and arrival and       departure times, when they are confirmed.      Phone, write,suggest it       to Jillian. As well the Waterloo Inn has an indoor pool and movies       will be available.  To allow the families of delegates more       freedom in choosing their activities,the non-delegate package does       not include lunch, but still includes breakfast, reception, hotel,       and the Banquet. Contact Addresses:      To contact the chairmen, mail to      AdamCon 007      c/o Jillian Arnott      25 Hebel Place Unit 8      Kitchener, ON, CANADA      N2G 3J3      or phone City:      State/Province:      Zip/Postal Code:      Do you wish to have a single room?      If not, list the person whom you would prefer to share with:      (We will help with matches, if none listed.)      Do you wish to have a non-smoking room?      Do you want an AdamCon t-shirt? $12CDN S M L XL XXL XXXL      (free if registered before Apr. 22)      Do you want an AdamCon hat? $8CDN      (free if registered between Apr. 22 and May. 20)       Do you want a set of AdamCon mugs? $8Cand get a free mug. Please register as early as       possible to reduce stress in the chairmens lives.      The Prices:      Package:Price (Approx US$ equivalance)      Full delegate, (double occupancy, breakfast, lunch, sessions, &       Banquet):      $340($242)      Non-delegate, (double occupancy, breakfast, & Banquet):      $220($157)      Full delegate, (single occupancy, breakfast, lunch, sessions, &       Banquet):       $435($310)      Full delegate, (no hotel, breakfast, lunch, ncluding: the village of St.       Jacobs, Bingemans Amusement Park & Water Slides, the Farmer's       Market, Seagram's Wine Museum, The Canadian Clay and Glass       Gallery, and many others. There is lots of shopping in the area,       including a factory outlet mall in the village of Elmira. We will       have a van available for providing transportation to and from       these areas. If you have something special in mind, or something       that you think other non-delegates would enjoy, please  or email if you need more information. Schedules and       other news will be mailed to out as it becomes available.  For       more information, please ask us for more.      The Form:      Please send this page to      Adam Con 007 c/o Jillian Arnott 25 Hebel Place Unit 8 Kitchener,       ON CANADA N2G 3J3      Payment is accepted in cheques and international money orders,       Canadian dollars only please.      Name:      Spouse:      Children(ages):      Address:      Phone:      Dale Wick (519)884-8138, and expect a collect call back.       For fastest response email either:       dmwick@napier.uwaterloo.ca or jarnott@napier.uwaterloo.ca      For Toronto and area, contact Richard Clee (416)783-0316 or Neil       Wick  (905)655-4065 or the MTAG hotline (416)424-1352.      Remember Early Registration means Bonuses!      If you register before April 22, 1995 you get a free T-shirt.        Register between then and May 20 and get a free hat.  Register       before June 17 DN each      (one free if registered between May. 20 and June. 17) âںب¢ˆ„rval Am  LLAC         4ZN       TER         1,)0+yi(        DL         )0+yi(,7       TI-------------------------- stay in the hotel,       but there are also daily prices for those delegates who wish to       commute.      AdamCon 007: "The Year to Bond"      As in previous years, although there are information packed       sessions and keynote addresses scheduled in, delegates always find       time to socialize, to greet old friends and to make new ones. So       this year we've pi‚JےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےThe following is from the EmeraldCoast ADAM User's Group, submittedfrom their Feb 1995 Newsletter.  -RHM---------------------------------         ---ADAMCONS------------------------------------   ADAMCONS, or ADAM Conventions,began with ADAMCON  by                               Computer Currents                    Ted Silveira                           2550 9th Street              (copyright and all rights reserved)          Berkeley, CA  94710                                     August 27, 1985                            SOMETHING NEW FOR CP/M      I'm going to depart from my charter this week and review an       interesting new piece of low-priced commercial CP/M software.        Write-Hand-Man is a RAM-resident program that brings som  There's only  one problem thatI can see with later ADAMCONS; itseems, more and more, to have be-come  an  annual reunion  of  ourold-time  ADAMites.  What we needto do is to get some of our newerADAM users there to participate.These are  the people  who reallystand to benefit from all the de-monstrations.  They can ask theirquestions and satisfy  their cur-iosity  concerning  ADAM.   Let'smake  an effort  to get our newerADAMites to attend ADAMCON 07.                          -Editor-------B         4-$,Z        RJ         )0+yi(,A        DL         H08        PC         TER         :)lamiced 50972( H10D6 ot - gnola thgir gnivoM/CB      HSUP         ED      HSUP         A,C        DL         )08846 lamiced( ;    )H07DF0(,yi        DL         4)3+yi(,A        DL         A,B        DL         A        RO         H10D6 ta enituor rehtona sllac eno taht dna ,)05972(= fo hcae gnilbmesessiD .ria rof pu emoc yllautneve yeht erofeb> roF .daeh ym revo ni em teg tub elttil yr‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      ================================================================      THE KAY*FOG RBBS  |  CPM-CC10.ART  |  posted 01/18/86  |  150       lines  9k  ]          The CP/M Connection                   Originally published in                     01, in OrlandoFlorida in 1989.  It was followedby  02  in Toronto, Canada; 03 inSouth Bend, Indiana; 04 in Cleve-land, Ohio; 05 in Salt Lake City,Utah; and 06 in Sarasota, Florida   Six ADAMCONS in six years.  Itseems impossible  for a  computerthat was orphaned  over ten yearsago, by its originator!   And now, we have an ADAMCON 07scheduled for the Toronto, Canadaarea in 1995; and hosted  by Neiland Dale Wick of MTAG.  Can noth-ing stop the little computer thatCAN?  That's ADAM, of course! e (but not       all) of the features of the MS-DOS favorite, Sidekick, to CP/M.      [RAM-RESIDENT PROGRAMS]  Once loaded, a RAM-resident program       stays in the upper section of your computer's RAM (Random Access       Memory) while you run other programs like WordStar or dBase II.        The RAM-resident program is transparent until you call it; then it       does its job and disappears again, leaving your main program none       the wiser.  Key-definition programs like XtraKey and SmartKey IIry or other fancy features.  It can calculate       either in the normal decimal form or in hexadecimal, but it does       only integer arithmetic--no fractions or decimals.      The phone book is much like the notepad, except that each       page is labeled with a pair of letters (A-B, C-D, etc.).  When       you've entered your phone numbers on appropriate pages, you can       locate them again by jumping directly to a particular page.      The calendar is also like the notepad except that the pa when you're done.      Unfortunately, these programs eat up large chunks of RAM, 70K       or more.  If you have an IBM clone with 512K RAM, you can set       aside 70K, but if you have a CP/M machine limited to 64K RAM, you       obviously can't.  Because of this limited RAM, few people expected       to see Sidekick running on a CP/M machine.      [ENTER WRITE-HAND-MAN]  Write-Hand-Man is not Sidekick, but       in a limited way, it brings some of Sidekick's functions to CP/M.        Once loadehe window is small.      Write-Hand-Man has a communications module that comes in       source code only because it must be adapted to the hardware of       your computer.  To make it workable, you'll need to know a little       assembly language and have an assembler that can produce Microsoft-       compatible REL files.  What you get is a dumb terminal program--no       file transfers or capture buffer.      Write-Hand-Man can also be expanded.  With Microsoft's M80 or       a compatible assemb2       columns wide and from 8 to 12 columns long.      Write-Hand-Man's notepad lets you write and save notes in the       middle of any other program.  Recently, I had to write a review of       four disk editing programs.  Using the notepad, I jotted down       comments while I was actually using the programs.  Then, while       writing the review, I popped up the notepad again and reread my       notes.      The calculator is a simple one (add, subtract, multiply,       divide), with no memo       work this way and have become very popular among CP/M users.      Recently, another kind of RAM-resident program has become       popular in the world of IBM clones.  Programs like Sidekick and       Spotlight give instant access to several useful tools:  a       calculator, a notepad, an appointment calendar, a list of phone       numbers, and so on.  If you need to make notes while working on a       spreadsheet, you can jump to the notepad and then jump right back       to the spreadsheetges are       labeled with days of the week.  The calendar handles two weeks at       a time, and the pages carry no date, only the day of the week       (Monday, Tuesday, etc.) and a number signifying whether this is       the current week or the coming one.      The file directory function shows files but doesn't show file       sizes or free space remaining on the disk.  The file viewing       function lets you scan forward and back through a file, but       viewing is a little awkward because td, it gives you quick access to a notepad, a calculator,       a phone book, and an appointment calendar, and it lets you view       the disk directory or a text file.  In addition, if you know       assembly language, you can add new functions to Write-Hand-Man or       modify the present ones.      When you call Write-Hand-Man, it opens a window in the upper-       left corner of your screen and shows a menu.  Everything takes       place in this part of the screen, in windows ranging from 16 to 3ler, you can enhance the existing functions or       produce your own that will run through Write-Hand-Man.  Write-Hand-       Man comes with the source code for all its functions and a brief       set of rules for building new ones.      [DRAWBACKS]  Write-Hand-Man takes up space--about 5K of your       computer's working memory.  Since CP/M itself already takes 8K or       9K, loading Write-Hand-Man will leave 50-51K for other programs,       like WordStar or dBase II, to run in.  That's enough fout because I don't have any need to.       People who do need such things may find these functions useful,       though people who have heavy schedules will certainly find the       calendar too limited.      I don't often use the file directory and file viewing functions       because I can do both in WordStar, my workhorse program.  However,       when you use programs that don't have such functions, these can be       useful.      Write-Hand-Man sells for $49.95 and should run on any CP/M     am must be       loaded first.)      The standard version of Write-Hand-Man (WHM.COM) doesn't       restore your screen after it's done but leaves a blank hole where       its window was.  Along with WHM.COM, you also get WHMT.COM, an       enhanced version that will restore your screen but takes up an       extra 2K of memory.  Do you sacrifice the extra memory, or do       without the screen-restore?  It's a tough choice because while       some programs, like WordStar, can rewrite the screen theations.  He appreciates       suggestions or feedback    and can be reached through the KAY*FOG       RBBS (415)285-2687 and CompuServe (72135,1447) or by mail to 2756       Mattison Lane, Santa Cruz, CA 95065.yment includes free shuttle to and from the Toronto       International Airport on Thursday and on Monday, if you need a       ride be sure to mail your airline, flight and arrival and       departure times, when they are confirmed.      Phone, write,he notepad function very useful.       If you're the kind of person who's constantly jotting down notes       or thinking of two things at once, you probably will too.  I also       find the calculator useful, mainly because it can calculate and       convert hexadecimal numbers.  If you don't program or write about       computers, you'll probably find a cheap pocket calculator more       useful.      I find I don't use Write-Hand-Man's phone book and calendar,       not because they don't work, br most       programs; if you run into a problem, you can easily remove Write-       Hand-Man.      If you want to use Write-Hand-Man together with a key-       redefinition program like XtraKey or SmartKey II, you'll lose even       more space, of course, though not as much as you'd think.  I found       that Write-Hand-Man and SmartKey II together take up only 7.5K,       about 2K more either one alone.  (Write-Hand-Man works with both       XtraKey and SmartKey, though the key-redefinition progr  computer.  Contact:          Poor Person Software          3721 Starr King Circle          Palo Alto, CA  94306          415/493-3735      Poor Person Software also sells a number of other low-cost       products, including a spelling checker, spreadsheet, print       spooler, and windowing system (programmers only).      --------------------------------------------------------------      Ted Silveira is a freelance writer and contributing editor to         several    computer-oriented publicmselves,       others can't.  In addition, WHMT.COM won't work on all terminals.      Finally, Write-Hand-Man's functions are limited (mainly by CP/M's       scanty memory); you need to realize you're not getting a full-       blown Sidekick clone here.  On the other hand, because WriteHand-       Man is open-ended, new functions can be added and old ones       expanded.  If the program catches on with public domain       programmers, who knows what might happen?      [HOW USEFUL IS IT?]  I find t‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      ================================================================      [   THE KAY*FOG RBBS  |  CPM-CC12.ART  |  posted 01/18/86  |  159       lines  9k  ]          The CP/M Connection                   Originally published in                 s ran very       solidly at 2400 bps but made only tenuous connections at 1200 bps.       This problem was supposed to be especially bad when the caller was       using the U. S. Robotics Password modem, which I have.  I did have       many problems calling these high speed systems when they were       first setting up and got dumped many times.  Now, however, these       problems seem to have been fixed, at least on the systems I call.      [ENHANCED XMODEM PROTOCOL]      The Xmodem (or Christen   hands off them, so they put out a steady stream of updates.  Some       programs I've written about are now available in newer versions,       and new programs have come out in areas I've already covered, so       from time to time, I'll devote a column to update news.      Communications programs get updated more frequently than any other       kind, almost weekly it seems.  Most of these updates are       relatively minor--adding support for new computers and modems,       making adjustments toecause the various       housekeeping and error-checking functions don't have to be done as       often, so the computers spend more time actually transmitting the       file and less time talking about it.  With short files at slow       speeds (300bps) the savings are marginal at best, but with longer       files at higher speeds, they're significant.  Of course, it takes       longer to transmit a 1K block than a 128 byte block, so if you're       using a noisy phone line and have to retransmit mahave them, too.      You can tell when you reach an RCP/M that has a 2400 bps       modem because it answers the phone with a special whistle that an       ordinary 300 bps or 1200/300 bps modem won't respond to at all.        If the RCP/M's modem doesn't get a 2400 bps answer after a few       seconds, it then tries 1200 bps and 300 bps, and everything       proceeds normally.      When these 2400 bps modems first showed up on RCP/Ms, there       were some problems.  Apparently, some of the modem     by                            Computer Currents                    Ted Silveira                       2550 9th Street              (copyright and all rights reserved)       Berkeley, CA  94710                                     October 8, 1985                            COMMUNICATIONS UPDATE      One problem I have writing about public domain software is       that my information can be outdated even before it gets into       print.  People who write these programs just can't keep their    sen) protocol that public domain       communications programs and RCP/M systems use for transferring       files has been enhanced.  The original protocol transfers a file       in a series of blocks, each containing 128 bytes.  Each block is       checked for errors after it's received and retransmitted if any       are found.  Recently, this protocol has been expanded to include       the option of using 1024 byte (1K) blocks instead of 128 byte       blocks.      You save time using 1K blocks b handle oddball remote systems used by       practically no one.  But recently, there have been some bigger       changes.      [HIGH SPEED MODEMS]      More and more people are using high speed 2400 bps (bits per       second) modems.  Many of the large RCP/M (Remote CP/M) bulletin       board systems have them now, encouraged by support from U. S.       Robotics and Racal-Vadic, two of the major modem manufacturers.        And now that the price is drifting down toward $500, more callers       ny blocks,       you'll lose instead of gain.      Newer versions of the XMODEM program, used by RCP/Ms to       transfer files to you, can now handle transfers with either 1K or       128 byte blocks.  In addition, Irv Hoff has created a new program,       KMD, that can take the place of XMODEM.  KMD also handles       transfers using either 1K or 128 byte blocks and has a batch mode       that allows you to up- or download a series of files with a single       command, using wildcards.      Jushat the phone isn't going to be answered.  IMP now       allows you to abort the current attempt without cancelling the       whole dialing list.  Instead, IMP just moves on to the next number.      One caution--though IMP looks much like MDM740 from the       outside, you can't use the MDM740 overlay files to adapt it to       your computer.  You must use the special IMP overlay files.  There       are many of these available already, adapted from the MDM740       overlays, but you may find some buransfers using either 1K or 128 byte blocks.  In fact,       IMP goes one step further by automatically using 1K blocks when       transferring with KMD or XMODEM versions 112 and beyond.  IMP also       monitors the number of errors during a file transfer and       automatically switches from 1K to 128 byte blocks if the error       rate gets too high.      IMP also adds support for 2400 bps modems.  Most of these       modems have an "automatic step-down" feature, which means that if       they c      MEX114.  First, this version fixes a few bugs.  These were not too       serious--I use MEX far more than my checkbook really allows and       have never run into any of them.  One involved problems with the       printer buffer, another with full capture buffers (only if the       buffer was more than 32K), and a third with garbage created in a       capture buffer left open during an Xmodem transfer.      Second, MEX114 can now handle the 1K protocol.  It will       automatically adjust to ue in all such programs.  Most sophisticated communications       programs will let you set up a list of numbers that they will dial       in turn until they get a connection.  Unfortunately, most modems       don't recognize when they've reached a busy signal or a phone that       isn't being answered, so the programs just hold on to the line for       about 30 seconds before they "timeout" and move to the next       number.  I find this frustrating because I usually know in 10 or       15 seconds tt to confuse you, some systems have renamed KMD to XMODEM       while others call it KMD.  So, if you try to download something       using the familiar [XMODEM S filename.typ] command, and the system       tells you there's no such program as XMODEM, try using [KMD S       filename.typ] instead.      [A NEW COMMUNICATIONS PROGRAM--IMP]           Irv Hoff has done a major overhaul of his reliable MDM740 and       brought out IMP243 (Improved Modem Program version 2.43).  IMP can       make file tgs, since the program is still       young.  I know, for example, that the Morrow Micro-Decision       overlay won't work with Revision 1 Morrow, though I assume it will       work with the Revision 2 (Morrow owners--it's the same old       printer/modem port problem).  I doubt that these bugs will last       long, but you should always test any new program before you use it       for anything crucial.      [A NEW VERSION OF MEX]       Ron Fowler has recently updated his MEX (Modem EXecutive) to an't make a connection at 2400 bps, they will automatically       try at 1200 bps or even 300 bps (on some).  IMP takes full       advantage of this, waiting for the modem to make its connection,       finding out what speed it has connected at, and then setting the       computer's modem port to that speed, all automatically.  The       operator doesn't need to think about setting the speed at all       (2400 bps modems only).      Finally, IMP has added a feature that I think was long       overdeither 1K or 128 byte blocks when       receiving a file, but it will only send with 1K blocks if you       specifically instruct it to.  Like IMP243, MEX114 will switch from       1K to 128 byte blocks if the error rate gets too high.      Through a special overlay (MXM-2403), MEX114 now supports two       2400 bps modems, the Hayes 2400 and the U. S. Robotics Courier.        This overlay does use the automatic step-down feature of these two       modems but in a less sophisticated way, so MEX114 cubert, at age 17, was the first President and       Founder of the ADAM User Friendly Group of Ottawa Canada. -RHM      If you have a copy of Dragon's Lair, or have seen one, then you       must admit that the graphics, compared to any other game, are       super. The 9 screens of great cartoon action make this game a must       for any game collection, even if you are not that much of a video       game player. One ]good idea that Coleco used in this version is to       allow the player to pass to  blocks--but life is easier if you stay current.      ---------------------------------------------------------------      Ted Silveira is a freelance writer and contributing editor to       several    computer-oriented publications.  He appreciates       suggestions or feedback    and can be reached through the KAY*FOG       RBBS (415)285-2687 and CompuServe    (72135,1447) or by mail to       2756 Mattison Lane, Santa Cruz, CA 95065.      put together make this version more challenging. However, after       mastering the game, it soon becomes boring and repititious, as       with the original video machine. But I am sure that this will take       a while to do, and you will easily get your moneys worth from this       game.      Dragon's Lair is too large to be transferred directly to a disk,       but Coleco says that they did release a disk version which has all       the screens. I, personally, have not seen this, but this p‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      Game Review - Dragon's Lair      DDP or disk from Coleco      by Lou Hubert      Editor's note: This article, containing two short game reviews,        was originally published in the AUFG Newsletter, issue 1.1 in       January 1986. Lou Han't yet take       full advantage of this equipment, as IMP243 does.       If you have a 1200 bps or 2400 bps modem, and you spend much       time upand downloading software, you should upgrade to IMP243 or       MEX114.  It's not just that the 1K protocol will save you some       time but also that I suspect the RCP/Ms will eventually adopt this       protocol as their primary standard.  You won't be locked out if       you don't have it--all the RCP/Ms will still allow you to use 128       bytethe next screen after dying twice on       one screen. The one major problem I found was the repitition of       the screen which shows Dirk (the main character) dying. This,       however, can be avoided by not dying!!      Coleco has also decided that it should add new elements to the       game, since the original laser disk video game relied too much on       graphics, and, once completed, became boring. The wind clouds in       the falling disk screens, and all three burning rope scenes being  City:      State/Province:      Zip/Postal Code:      Do you wish to have a single room?      If not, list the person whom you would prefer to share with:      (We will help with matches, if none listed.)      Do you wish to have a non-smoking room?      Do you want an AdamCon t-shirt? $12CDN S M L XL XXL XXXL      (free if registered before Apr. 22)      Do you want an AdamCon hat? $8CDN      (free if registered between Apr. 22 and May. 20)       Do you want a set of AdamCon mugs? $8Crobably       concerns very few of us ADAM owners at the present time. If anyone       has a disk copy, please phone me.      A quick run through of the screens are:      1. The Falling Disk              2. The Skeleton's Hall      3. The Burning Ropes             4. The Weapons Room      5. Ramps and Giddy Goons         6. Snakes      7. The Falling Disk (#2)         8. Electric Checkerboard      9. The Dragon's Lair (Slaying the Dragon)      For more information on each screen, consult the gui memory as another drive in SmartBASIC 1.0.\\\\10 REM * QuikDISk by DIGITAL EXPRESS\\20 REM * Does NOT require 64K expander\\30 REM * Will disable turbodisk\\50 ONERR GOTO 5030\\200 POKE 16149,255:POKE 16150,255\\210 POKE 10950,208:POKE 10951,107:\\\     LOMEM:27600\\220 POKE 58348,255:POKE 58401,255\\500 TEXT:PRINT:PRINT " This program\\\     creates a"\\510 PRINT " ramdisk within standard\\\     RAM."\\520 PRINT " It will cancel turbodisk."\\530 PRINT:PRINT " What size ramdisk?"ground castle.        Collecting keys to open different coloured doors, and swords to       kill spiders and skeletons, Montezuma is on a quest to discover       the secret rooms filled with jewells. And accompanied by fantastic       graphics and sound effects, and great game play, the player can       spend a good part of the day on this game alone, and is most       likely to return to this game the next day too.      If you can get your hands on a copy of this game, go for it.       Unlike Drag229,33,0,0,83,30,0,25,25,\\\      25,25,84,93,225\\2020 DATA 62,108,130,87,66,75,84,93,96,\\\      105\\2030 DATA 1,0,4,237,176,225,209,6,5,62,\\\      5,144,193,62,128,201\\2100 FOR x=58343 TO 58395:READ mc:\\\      POKE x,mc:NEXT\\2200 POKE 61819,195:POKE 61820,231:\\\      POKE 61821,227\\3000 DATA 197,253,229,245,254,26,40,\\\      4,241,195,233,241\\3010 DATA 241,229,33,0,0,83,30,0,25,\\\      25,25,25,84,93,225\\3020 DATA 62,108,130,87\\3030 DATA 1,0,4,237,176,253,225,6,5,\\\   ‚MےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےEditor's Note. The following programis submitted by the Emerald CoastADAM Users Group, and is formattedfor Showoff II  -RHM`11~03,37\N\C\\EZRAM\\\A\\\    This program allows you to create a RAMDisk that will allow you to utilize your availablede that comes       with the cassette (or maybe the disk).      Rating: excellent graphics              good game play              excellent remake of laser disk game considering RAM and ROM              restrictions            Game Review: Montezuma's Revenge                   Parker Bros. Cartridge      Not a very well known game, Montezuma's Revenge is an excellent       graphics adventure. In this cartridge, Montezuma is an "Indiana       Jones" character searching for jewels in an under\\540 INPUT " (3 - 20): ";sz$: sz%=VAL\\\     (sz$):POKE 0,sz%:PRINT\\550 IF sz%<3 OR sz%>20 THEN PRINT\\\     " Aborted!":GOTO 5030\\1000 REM * INIT blocks fix\\1010 DATA 195,92,228\\1020 FOR x=62245 TO 62247:READ mc:\\\      POKE x,mc:NEXT\\1030 DATA 254,7,48,4,30,159,24,10,254,\\\      25,48,4,30,255,24,2\\1040 DATA 30,10,197,213,229,195,40,243\\1050 FOR x=58460 TO 58483:READ mc:\\\      POKE x,mc:NEXT\\2000 DATA 197,213,229,245,254,26,40,4,\\\      241,195,126,241\\2010 DATA 241,on's Lair, every new level has new and unique screens.       There are a total of 10 screens, and the player can choose to       start from one of the first three, having to earn passage into the       higher levels.      Rating: Amazing graphics for a cartridge              Fun adventure game concept              Uses ADAM spectrum of colours to its fullest     longer to transmit a 1K block than a 128 byte block, so if you're       using a noisy phone line and have to retransmit ma   62,5,144,193,175,201\\3100 FOR x=58396 TO 58441:READ mc:\\\      POKE x,mc:NEXT\\3200 POKE 61926,195:POKE 61927,28:\\\      POKE 61928,228\\4000 LOMEM:(27+sz%)*1024:sz%=PEEK(0)\\4010 POKE 10950,PEEK(16095):POKE \\\      10951,PEEK(16096)\\4020 POKE 58477,sz%\\4100 PRINT CHR$(4); " Init QuikDISK,d7"\\5000 PRINT " QuikDISK initialized!!!"\\5010 PRINT " Minimum LOMEM: "; (27+sz%)*\\\      1024:PRINT:PRINT\\5020 PRINT:PRINT " To get a CATALOG\\\      of QuikDISK, type CATALOG,d7."\\50oduce the corresponding Z-80 code. Z8E's  disassemble  'Z' command does it quite nicely. If you hit CNTL-P before you go into Z8E, you can even have a faithfully printed  record of    everything you do. That program is a story for another article.To return to the point, if you like me and you know just enough  Z-80        assembler to be dangerous, there are more than enough bogs to wade into. Disassembling and understanding an embedded routine  is a      fairly straight forward matter if it's doing an‚MےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےGoing for GODOSby Ron MitchellHaving left readers sufficiently confused at the end of the previous session, we're now going to press onward with our consideration of the program DSconfig, by Sol Swift. This program  was       provided as part of tre is too it.In the case of Sol's routine, I suspect - without having followed  the       interdependent calls into the depths of who knows where - that he was transferring data from memory to the GODOS system disk, and more specifically to a particular block on that disk  that held    the configuration data for the system. There was an error check to make sure that everything went well during the write operation. The only thing that troubled me in the disassembled code I saw  was the use  of the ixing here in front of 4 separate monitors, run by 4 individual computers, two of which are ADAM's,  I fired   up the debug utility Z8E (Rick Surwillo - CP/M Public Domain), on my PMC 101 Micromate and entered in the values by hand using the E or Examine Memory feature of that program. It  was simply a case of converting the decimal values given in the program   to hexidecimal using a calculator, and then entering  them into    Z8E's workspace starting at 0100H. That being done, it was an easy task to pr30 END\\\\         excellent remake of laser disk game considering RAM and ROM              restrictions            Game Review: Montezuma's Revenge                   Parker Bros. Cartridge      Not a very well known game, Montezuma's Revenge is an excellent       graphics adventure. In this cartridge, Montezuma is an "Indiana       Jones" character searching for jewels in an under identifiable job such as transferring a block of memory into video ram or something equally simple. Usually an operating system routine requires some setup. One or more values must be poked into strategic locations in the routine, because one or more of the Z-  80        registers require specific values before the routine is called. When the routine is called, it may return one or more resultant values to be stored in a known location. Those results  are then   processed. That's really about all thehe distribution package, and provides more than enough meat for the exploration of GODOS.First a slight digression.There are various techniques available for use in disassembling  embedded    Z-80 code in a BASIC program.         - Hand disassembly        - Using a disassembler that runs in GODOS (or SmartBASIC            as the case may be. - Not too plentiful for GODOS.)        - Use of a debug utility.Because I love making things difficult for myself, I used the latter method. Since I'm sitt and iy registers, and the frequent relative jumps that turned up in the listing. This sort of thing always  causes me to wonder if I'm really looking at what I think I'm looking at. The simple process of writing data to a disk, even to  a         specific place on the disk as part of a certain record, shouldn't require this kind of complex programming. But then who  am I to    know?The problem is, a disassembler really has no idea whether it's  looking at   Z-80 instructions or at data. There might beREM statement would have been useful here. As it was, the purpose was fairly easy to guess, and the guess was confirmable  from the    direct mode. The value at address 219 determines the colour of the topmost message line on the screen, where the words  "Current  Drive A:" appear. Just as an experiment, try the following:Re write line 1000 to change the POKE 219,245 to POKE 219,31.Now run the program again.Note the change in colour of the top line. It's now black foreground on a white background.ocessor. At any rate, we're wandering off the point. Let's go back to the beginning of the program. There are some initialization steps there before the machine code that are worth  noting.I do not know for the life of me what the command RESETHAND does.  According to Sol's docs, it's supposed to turn on the hand pointer. STARTHAND does that. RESETHAND produces no result that I  can see.GM2COLOR and OUTERCOLOR work as advertised. Remember you must be  in the     GRAPHICS mode to see the results. Ayou'll note that it does. So there's no point in 'hardwiring' a drive  letter here. Instead, the program looks at the memory location where the currently logged drive letter is stored and picks up  the ASCII    value from there. There then follows a rather neat little trick which the programmer uses to ensure that the complete line appears in lower case. Since the drive designation  is stored  at address 185 in upper case, it must be converted. Adding the value 32 to the upper case letter will do it. Temory address table for the various menu items begins at 56320:. The program jumps to the subroutine at line 50000 where it defines all entries in each of the menus by writing them to a table using the PR#7 command. This is the sort  of thing   that would have to be set up with a rather extensive array under SmartBASIC. Note the format of lines 50100 through  50130,       enclosed within quotes and with the items separated by a "\".Moving on to line 1000, there's a poke to be noted. POKE 219,245.A  text messages embedded in the code, and the disassembler can't tell  the          difference. It will interpret them as Z-80 nmemonics whether they are or not. It's up to the human supervising the process to  take a     best guess as to what it all means. Some disassemblers such as DASM and Dazzlestar will allow you to convert all output  to ASCII   if you really think that's what it is. If the result is readable English, they it's a fairly safe bet that these are not             instructions to the pr The composition of this number  is similar to screen colour changes poked into address 17115 in SmartBASIC. Foreground * 16 plus background.So Dark Blue on white would be:5 * 16 + 15 = 95Having cleared off the top line, and set a colour scheme for itself, the program now branches to a subroutine at line 52000  where it     throws GOBASIC into 60 column mode and prints the CURRENT DRIVE. Now the current drive can change while the program  is being  used. In fact, as various drives are logged in, lso note that you can assign any character you like to your cursor simple by typing,  CURSOR = x,  where x is a number between 0 and 255. The best way to check some of these commands out is to try them from direct  mode. That   way you can decide what you like and don't like in your own programs.Line 120 is significant. Here's where you set up the table that  determines  the content of your pulldown menu's. Obviously it requires a fair amount of thought. There are 6 pulldowns (nm%=6)  and that   the mry that  with      another letter in direct mode.PRINT CHR$(70)FPRINT CHR$(70+32)fThat's about as far as we'll go this time. The next part of the  program is  one that will take some figuring out, and I want to think about it some. The overall effect is central to GODOS operation in that it's here where the real GUI begins. The menu  is setup,   and there's a hand pointer at the leftmost menu. Now in response to the user's arrow key presses, or mouse movement, the  arrow is   going to move. If ree-by-line       explanation of the program so that you can use the information       provided to learn more about writing your own programs. this       issue's programs will demonstrate some of the graphics       capabilities of the ADAM.      Program 1 - Graphics Demo       5 HGR2      10 For i = 1 to 42      20 HCOLOR = 1 + INT(i/3)      30 SCALE = i      40 ROT =0      50 DRAW 1 at 125,100      60 FOR J=1 to 1000      70 NEXT J      75 NEXT i      80 TEXT      Line 5 sets high resoluti‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      Programs - Programs - Programs      Copyright 1984 - Sage Enterprises      Editor's note. Even though this article was published more than 10       years ago, it presents a valid lesson in the basic use of ADAM's       graphics commands. Thenteger value of i (from line 10)       divided by 3. This means that the color value will range from 1 to       15.      Line 30 sets the scale value to the value of i which will range       from 1 to 42. The scale value determines the size of the line or       object that will be drawn. Line 40 determines the angle at which       the line or object will be drawn. A line or object can be rotated       over 64 different positions.      Line 50 instructs the computer to draw shape 1, a square, startlike some magazines       we will thoroughly proofread ourprogram listings before they go       into print.      If you have programs that you have written and would like to share       them with others, just send them in. Include a little information       about yourself and we will test your programs and print the best       ones here. Please, do not send us any programs written by someone       else or taken from a magazine or book.      In addition to our program listings we will provide a linturn is pressed, the program has to know where that handpointer is in order to know whether the user  has        selected something legitimate or not. How the program does that will be the subject of the next article.l capture buffers (only if the       buffer was more than 32K), and a third with garbage created in a       capture buffer left open during an Xmodem transfer.      Second, MEX114 can now handle the 1K protocol.  It will       automatically adjust to on graphics mode. Sounds complex but it       simply means that each dot on the screen can be controlled to draw       pictures or whatever you want. Line 10 is the start of a loop that       will be carried out 42 times. The program will run from line 10       down through line 75 at which point the program will return to       line 10 and begin again until it has done that 42 times. Line 20       sets the color of the dots that will be drawn using the formula.       The value of 1 is added to the i article was originally published in issue       #1 of the EXPANDABLE COMPUTER NEWS from March-April, 1984.       The article is reprinted here as it originally appeared. Remember       that requests to submit material referred to then, not now -       although we still need programs. Plus que ca change! -RHM      each issue of this newsletter will provide you with a number of       program listings of fully tested and debugged programs ready for       you to enter and run on your ADAM computer. Uning       at column 125 and row 100. Line 60 starts a delay loop that ends       at line 70.      Delay loops are used to slow down graphics so that you can see the       changes as they occur.  Line 75 is the end of the loop started at       line 10. Line 80 turns off the high resolution graphics screen and       returns to text format.      As this program executes a series of       ever increasing squares will be drawn      on the screen.  In       addition the color of the new squares will chan150 DRAW 1 AT 125, 100      160 NEXT i      170 NEXT J      175 GOTO 30      180 TEXT      This program is a variation of program #2 only there is a lot more       going on in this one.  I hope you will be able to follow the       discussion because      This program contains a lot of tricks that will be helpful in       writing your own programs.      Line 10 turns on high resolution graphics.  Line 20 sets T equal       to 0. Line 30 adds i to T.  Line 40 sets L equal to 0.  Line 50       oop is started that will be executed 64 times.  This loop will       start over everytime the loop at line 10 repeats.  Line 20 sets       the value of K to the integer value of i divided by four.  Since K       is used to set the color value and color values must range from 0       to 15 then line 25 is necessary to prevent K from becoming larger       than 15.  Line 30 is used to change K when it equals four because       4 is black and will erase the picture we are trying to draw.  Any       colorqual to 8;       if it is tben 1 is subtracted from M.  In line 120 i is checked to       see if it is greater tban 8; if it is tben 1 is added to M.  In       line 130 tbe scale value is made equal to M.  What we are doing in       lines 110 to 130 is adjusting the size of the object being drawn       depending on the rotation of the object.  In program #2 you will       recall that the square we drew became bigger as it was rotated; in       this program we are attempting to keep the square approxi of the squares change       gradually.  Once a rotation is completed the process is started       all over and repeated for a total of 1000 times.     Program 3 - Graphics Demo      10 HGR2      20 T = 0      30 T = T + 1      40 L=0      50 IF T > 15 THEN 180      60 FOR J + 1 TO 4      70 M + 31 - T      80 FOR i + 1 TO 16      90 K =  T      100 HCOLOR = K      110 IF i <= 8 THEN M=M-1      120 IF i >8 THEN M=M+1      130 SCALE = M      135 L = L + 1      140 ROT = 0 + L - 1      ge.     Program 2 - Graphics Demo         5 HGR2                10 FOR J=1 TO 1000        15 FOR i=1 TO 64        20 K=INT(i/4) + 1        25 IF K > 15 THEN K=15        30 IF K = 4 THEN K=15        35 HCOLOR = K        40 SCALE = 20        50 ROT = 0 + i-1        60 DRAW 1 AT 125, 100        70 NEXT I        75 NEXT J        80 TEXT      In line 5 the high resolution graphics mode is turned on.  In line       10 a loop is started that will be repeated 1000 times.  In line 15       a lchecks to see if T is greater than 15.  Of course right now T is       only 1 but it will increase as the program runs.  When T gets       bigger than 15 the program skips to line 180.  At line 60 a loop       is started.  In line 70 M is made equal to 31 minus T.  On the       first pass this would be a value of 30.  In line 80 another loop       is started.  At line 90 K is made equal to T.  In line 100 tbe       color value is set to K.      In line 110 i is checked to see if it is less tban or e other than 15 could have been chosen.  Line 35  sets the       color value to K and line 40 sets the scale value to 20.      In line 50 the object will be rotated as the value of i changes       from 1 to 64.  Line 60 draws the square just like in the first       program.  Lines 70  and 75 are the end of the loops which started       at lines 15 and 10.  Line 80 restores text mode.      This program draws a square of one color then draws adaitional       squares at different rotations.  The colorsmately       the same size throughout its rotation.      In line 135 one is added to L which will be used to control tbe       rotation.      In line 135, one is added to L which will be used to control the       rotation in line 140.  L will actually vary from one to sixty-four       for each of the fifteen colors we will cycle the program through.        In addition since M is being reduced at line 70 by the value of T       the square will be made smaller each time a new color is selected.    ew members out therethat have come into the club since it wasfirst submitted. It is almost Valentine'sday, after all, and this will probablyexpresse your sentiments to a loved oneperfectly.  If you have a favorite littleValentine program of your own, why don'tyou send it to us? -Editor 1 REM * NIAD PDOMAIN VOLUME #BNDV155 REM * Modified by Faye Deere, 1/948 ONERR  GOTO 200010 TEXT:VTAB 4:HTAB 7:FLASH:PRINT   " *COMPUTER GREETINGS*":NORMAL20 FOR t = 1 TO 2000:NEXT t:VTAB 1630 INPUT " Who iss rotated through a cycle in the center of       the larger one.  This will go on until all of the 15 colors have       been used.  The color that has a value of 0 ls not used since that       is the same color as the screen, black.      Next month we will have more programs for you to try out.        Experiment a little with these three and see what happens.    This overlay does use the automatic step-down feature of these two       modems but in a less sophisticated way, so MEX114 cT co,ro:NEXT co,x:FOR x = 1 TO 4150 READ ro,y:FOR co=y TO y+2:COLOR=    co-y+7160 PLOT co,ro:NEXT co,x:d$="*"170 FOR x=1 TO 15:d$=d$+"-*":NEXT x180 m$=", you turn my heart upside    down!  Will you be mine forever?    Love, "190 m$=d$+"   "+n$+m$+f$+"   "+d$: HOME200 FOR x=1 TO LEN(m$)-31:VTAB 22210 PRINT MID$(m$,x,31)220 FOR d=1 TO 100:NEXT d:NEXT x1000 DATA 19,27,17,29,15,31,13,31,12,33,     111010 DATA 34,10,35,9,35,8,35,7,34,6,33,51020 DATA 32,4,31,3,30,32,36,16,2,17,16,     4,41‚MےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےEditor's Note: The following programwas submitted by the Emerald Coast ADAM User Group from their February1995 Newsletter.                   HEART   I know we must have printed this cutelittle graphic before, but I'm sure thereare a number of n   Lines 160 and i70 end loops starting at lines 80 and 60.  Line 175       acts like a loop sending the program back to line 30 where the       value of T will be increased by one again.  This will go on until       T is bigger than 15 (line 50).  The program will then terminate at       line 180 with the text mode being restored.      This program draws a square of one color rotates it while changing       its size.   When one rotation is completed the color is changed       and a smaller square i this wish for? ";n$40 PRINT:HTAB 5:INPUT " Who is it   from? ";f$50 TEXT:VTAB 8:HTAB 9:PRINT " Press   any key":PRINT60 HTAB 9:PRINT " to start the ":   PRINT70 HTAB 9:PRINT " **GREETING** ":   PRINT80 HTAB 4:PRINT " This is for you, ";   n$;"."90 POKE 18607,2:GET r$:TEXT:GR:COLOR   =15100 FOR ro=0 TO 39:HLIN 0,39 AT ro:    NEXT ro:COLOR=9110 FOR co=7 TO 20:READ a,b:VLIN a,b AT    co120 VLIN a,b AT 40-co:NEXT co:COLOR=0130 FOR x=1 TO 6:READ a,b,ro:FOR co = b    TO a STEP -1140 PLOan't yet take       full advantage of this equipment, as IMP243 does.       If you have a 1200 bps or 2400 bps modem, and you spend much       time upand downloading software, you should upgrade to IMP243 or       MEX114.  It's not just that the 1K protocol will save you some       time but also that I suspect the RCP/Ms will eventually adopt this       protocol as their primary standard.  You won't be locked out if       you don't have it--all the RCP/Ms will still allow you to use 128       byte030 DATA 14,3,4,15,3,4,17,4,4,18,14,35,     151040 DATA 34,17,34,18,35   1050 PRINT " I LOVE YOU!!"1060 FOR t = 1 TO 10000:NEXT t2000 POKE 18607,1:TEXT:END10       down through line 75 at which point the program will return to       line 10 and begin again until it has done that 42 times. Line 20       sets the color of the dots that will be drawn using the formula.       The value of 1 is added to the i before, but never gave it any real attention.      EDFILE looks for the filename you give it on the currently logged       media. If it finds the file, it loads it into the editor. If it       does not, it creates it. Once your file is set up (either loaded       or initiated) you'll notice that the normal '?' prompt disappears,       and you're left with the blinking square type cursor.  Go ahead       and type something. Press return, and type another line.  Now       press Smartkey VI. Note the ‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      The LOGO Notebook      by Ron Mitchell      The business of editing procedures within the LOGO workspace can       be done in a couple of ways. Last time the reader will recall that       we encountered something of a problem in that the pro     Editing a procedure within the LOGO workspace poses a limitation.        You can only work on one procedure at a time. Despite any planning       you might have done about various elements of your overall task       being part of this procedure or that, you might end up realizing       as you type the procedure in that what you are typing really       should be a separate function. Inside the workspace, there is       nothing to do under such circumstances but to close the procedure       and stnclusion that what we really needed was a way of       tagging a group of existing objects in the workspace (procedures,       properties, reporters, or whatever) so as to be able to chase them       out if we wanted to. I still don't have an answer for that, but       there is always more than one way to skin a cat.      EDFILE "FILENAME      will take you into LOGO's online editor and there you can prepare       your new procedure in isolation from the LOGO workspace. We've       used the editornteger value of i (from line 10)       divided by 3. This means that the color value will range from 1 to       15.      Line 30 sets the scale value to the value of i which will range       from 1 to 42. The scale value determines the size of the line or       object that will be drawn. Line 40 determines the angle at which       the line or object will be drawn. A line or object can be rotated       over 64 different positions.      Line 50 instructs the computer to draw shape 1, a square, startmedia activity. You're file is being       saved. It's about the easiest way of creating a disk file that I       know of. If you consult pages R210 and pages 8, 9 and 10 of the       ADAM LOGO manual, you can familiarize yourself with the functions       of the various special keys.      We'll not go into that. Suffice it to say that inside the LOGO       editor, you have a means of editing or preparing several       procedures at once. There are at least two major advantages in so       doing. cedure being       prepared to drive the 'clock' demon eneded up in the workspace       along with the startup file that had been previously loaded.       Editing a new procedure seemed to require that we first erase       everything else so as to provide a 'clean' environment for the new       job at hand. In doing that, we ended up killing all previous work       including some that would have been nice to have on hand (for me,       the CLS command that I invented for myself.)      It was our coart again.      In the editor, however, you can add, delete, move and re-arrange       various items in whatever order you want. You can edit two or more       procedures simultaneously and you can re-arrange your logic       completely if you so wish. You can even include a set of       variables, values and properties in the file.      The other advantage is that your work is saved directly to disk       and not to the workspace. Now it exists in isolation from anything       else you might haveADS      IF EQUALP CHAR :V :C [SEARCH.2] [MAKE "ADS :ADS + 1 SEARCH.1]      END      TO CHOP :ST      IF EMPTYP :ST [OP []] [OP BUTFIRST :ST]      END      TO CLS      CS      HT      SETCURSOR [1 1]      CHANGE.COLOR 15 1      END      This LOGO program will find a string of 4 characters anywhere in       memory. The string must be 4 characters in length, no longer, no       shorter, and there is no error checking (yet). As you can see I'm       still trying to develop some tools for wandort a       Smartwriter file into EDFILE. So there are these limitations.        However for the purpose it's intended for it's powerful enough and       very very handy.      Now let's move onto something else. Consider the following LOGO       program:      LOGO Program "SG" (for SEARCH GROUP)      March 10, 1995, by Ron Mitchell      TO SG      CLS      PR [INPUT SEARCH STRING]      PR [4 CHARACTERS ONLY]      PR []      MAKE "ST FIRST RL      MAKE "C FIRST :ST      MAKE "ST CHOP :ST   space available       seems to be reduced each time the program goes through an       iteration. That may not actually be true, but that's the apparent       effect that I see. I've been able to extend the area of memory       that can be searched by introducing RECYCLES at several spots.       Even with this step, eventually the program siezes up. If you       restart it, you can carry on from where you left off, but it makes       continuous memory searches unattended more or less impossible.    :ADS      IF EQUALP CHAR :V2 :C2 [SEARCH.3] [MAKE "ADS :ADS + 1 SEARCH.1]      END      TO SEARCH.4      PR [4TH CHARACTER]      PR :ADS      CLS      MAKE "ST CHOP :ST      MAKE "V4 FIRST :ST      MAKE "ADS :ADS + 1      MAKE "C4 .EXAMINE :ADS      IF :V4 = CHAR :C4 [PR [STRING FOUND AT] PR :ADS - 4] [MAKE "ADS       :ADS + 1 SEARCH.1]      END      TO SEARCH.1      SETCURSOR [1 1]      RECYCLE      PR [SEARCHING 1ST LETTER]      SETCURSOR [12 12]      PR :ADS      MAKE "V .EXAMINE : in your workspace at the time, such as STARTUP       files, or other procedures you've been working on. It presents an       easy way of keeping things separate.      These are the advantages of the editor. It's there for your use       any time you load LOGO. It is not a wordprocessor. You cannot       centre text with it, or do block deletes or moves. It does not       provide line wrapping, and it's output is all in upper case.        While you can read your file with SmartWriter, you cannot impering around inside       ADAM's memory when with LOGO loaded to see how things are laid       out.       This program is excruciatingly slow. I'd entertain any suggestions       to improve that. If your going to embark on a long search, you       might as well leave your ADAM on all night and check it after a       good night's sleep. That might be possible, but unfortunately even       if you adopt that approach there will be another problem.       Because of LOGO's way of allocating memory, the    PR [START ADDRESS FOR]      PR [SEARCH?]      PR []      MAKE "ADS FIRST RL      CLS      SEARCH.1      END      TO SEARCH.3      PR [THIRD CHARACTER]      PR :ADS      CLS      MAKE "ST CHOP :ST      MAKE "V3 FIRST :ST      MAKE "ADS :ADS + 1      MAKE "C3 .EXAMINE :ADS      IF EQUALP CHAR :C3 :V3 [SEARCH.4] [MAKE "ADS :ADS + 1 SEARCH.1]      END      TO SEARCH.2      PR [SECOND LETTER]      PR :ADS      CLS      MAKE "C2 FIRST :ST      MAKE "ADS :ADS + 1      MAKE "V2 .EXAMINE   Nonetheless, it's a start.      If you type SG, you will be prompted for a search string, and a       memory location at which to start. If you want a quick example of       the program's output, try searching for the word LOGO starting at       memory location 185. The program will start searching there, and       provide you with a continuous readout of what location it is       searching. When it finds your string at four contiguous memory       locations, it will flash and let you know what a City:      State/Province:      Zip/Postal Code:      Do you wish to have a single room?      If not, list the person whom you would prefer to share with:      (We will help with matches, if none listed.)      Do you wish to have a non-smoking room?      Do you want an AdamCon t-shirt? $12CDN S M L XL XXL XXXL      (free if registered before Apr. 22)      Do you want an AdamCon hat? $8CDN      (free if registered between Apr. 22 and May. 20)       Do you want a set of AdamCon mugs? $8Cng the entire LOGO interpreter over to the CP/M side of the       house where I can use all sorts of nifty stuff such as SuperZAP       and Rich Surwillo's Z8E. The result hasn't been much better...yet.      The only notable discovery to date has been that LOGO primitives       are stored backwards, for whatever that's worth.      It's not clear just yet how much use all this hacking can be put       to. So far what we've got two rather crude utilities both of which       can no doubt be improved upinciteful and annoying statement usually meant to lance barbs into       my semi-comatose being. Seldom is the onslaught ever completely       effective.      If the Lord had wanted me to pay attention to reality, He would          have lit a brighter fire under my backside! As it is I was born       with a complete dislike for that aspect of human existance. I       avoid it whenever I can.      It's been my experience that generally I'm awake enough to both       smell and taste coffee. What haprpenter never blames his tools!d Silveira is a freelance writer and contributing editor to       several    computer-oriented publications.  He appreciates       suggestions or feedback    and can be reached through the KAY*FOG       RBBS (415)285-2687 and CompuServe    (72135,1447) or by mail to       2756 Mattison Lane, Santa Cruz, CA 95065.ddress the string       starts at.      What are we looking for? Well, as previously in other       installments, a couple of needles in the haystack.       1) Where does LOGO store a table of current objects in the          workspace?      2) Where are the values that set screen size?      There are probably easier ways to search for this kind of       information, but I'm just playing around, really. I have also       mounted a more serious attempt to find what I'm looking for by       porti‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      Here's my RESPONSE to Bob Sebelist's RESPONSE to Bart Lynch's      RESPONSE.      by Ron Mitchell      Normally I don't make any response to people who tell me to wake       up and smell the smog, roses, coffee or whatever. It's an       on. There are two things beginning to       emerge that can be somewhat annoying, depending on the       application, and it's becomming more and more obvious why LOGO       isn't the language of choice amongst programmers despite the fact       that it has a more complete command set and greater control       over ADAM than SmartBASIC does. The lack of memory and speed of       processing are surfacing as real drawbacks for all except the most       rudimentary of tasks.       Of course, a good capens beyond that usually gets me       into trouble. On those rare occasions where I do achieve some       unusually high degree of 'bright and bushy', I return to bed       without delay. On the question at hand; I'm hearing a number of       things being said.      1)   We should try to be a little more realistic about some of our            ideas for ADAM development, software hardware, whatever.      2)   Those who want to push ADAM's performance a little closer to            the edge of its culd make life more           of a breeze.      4)   Realism: I'm not much on realism. If dreamers can't dream,           what's the point. If the guys in Cleveland come up with            a bigger faster widget, I'll buy it. I'm the guy that paid           $500. for a 40 MEG hard drive, remember?      5)   Pushing ADAM to the edge. We haven't even started. ADAM           can do more than we're giving it to do. Anyone with the           knowledge and skill to wrestle out a few more clock cycles   e            hurricane. It would be a useless attempt at best. But that           doesn't alter the fact that there is           still much that our friendly little machine can teach us.           That doesn't alter the fact that there is still a rather           sizeable market of confused individuals out there who aren't           into the 'high end product' yet and who stumble across the           ADAM at garage sales and flea markets. These people still           need to be served. Speaking persow who we are. It's the other people, the ones with           lives, we want to hear from.           As I see it, we're falling victim to a general malaise           that is now inflicting the North American continent. I           see it as a member of the 'other' computer club where I          spend some time - the Big Blue outfit. They're hurting          too because users no longer want to contribute. They          expect to receive, and if they don't they leave. It's a           sad, sad attitu not a good idea. Sorry, I do not buy.           I'm already using  my IBM 3270 for storage, and it IS MOST           DEFINATELY a good idea. It puts Big Blue into an appropriate           subservient role, and gives me a spare 30 MEG plus a 1.2 MEG           floppy and a 720K 3-1/2 for storage of my ADAM stuff. That's           in addition to the two 40 MEG hard drives already available           to my main ADAM, which by the way is now 10 years old.           Having an open connection to the 286 woapabilities deserve our encouragement            and support.      3)   Overpriced ADAM hardware not sell.      4)   ADAM will eventually die.      5)   The IBM server is/is not a good idea.      6)   We don't hear nearly enough from ADAM owners.      Comment? Well, let's see....completely out of order:      1)   ADAM will indeed eventually die. There is too           much happening on the 32 bit scene, the information highway           and with Chicago/Warp for us to start blowing against th        with a few less bytes, or who knows enough about the ADAMnet          to really make it fly deserves and has my undying respect          and support.      6)   We don't hear nearly enough from ADAM owners. Right on            brothers! I would most certainly like to echo as loudly           as I can the sentiment that this whole effort will be a            heck of a lot more fun if we keep in touch with eachother.           There are some of us who do precisely that, and we all           knonally, I've taken a shine           to the people I've met, the ones who want to think and learn           for themselves. So surely ADAM is on its way out, but just           as surely, we're here to slow up the process.      2)   Overpriced ADAM hardware will not sell. I sort of got the            idea something was wrong when I checked my newly purchased           IDE through customs after ADAMCON V. "You paid what? For a            40 MEG hard drive?"  Point taken.      3)   The IBM Server isde, but we've got it big time.      So there, that's my dollar's worth (Canadian). Messrs.  Sebelist       and Lynch, much as I hate to admit it, you're both right.      IF :V4 = CHAR :C4 [PR [STRING FOUND AT] PR :ADS - 4] [MAKE "ADS       :ADS + 1 SEARCH.1]      END      TO SEARCH.1      SETCURSOR [1 1]      RECYCLE      PR [SEARCHING 1ST LETTER]      SETCURSOR [12 12]      PR :ADS      MAKE "V .EXAMINE :rs.      9.   Computer! Take a memo. Put it back when you're finished.      10.  A good carpenter never blames his tools. A good user........           well, there is no such thing as a good user. There are           only adequate users, most of whom blame everything.      11.  Wives and computers generally do not mix. Each tends to           struggle with the other for control of the relationship.      12.  Ist verboten mixen das computenwherfer mit das schnapps. Nix           drunkenwabblin un‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے      A Computer's Perspective.      By Ron Mitchell      1.   I made him what he is today. It has me worried.      2.   I would enjoy word processing if I was given some more           intelligent words to process.      3.   Question: Why did onally, I've taken a shine           to the people I've met, the ones who want to think and learn           for themselves. So surely ADAM is on its way out, but just           as surely, we're here to slow up the process.      2)   Overpriced ADAM hardware will not sell. I sort of got the            idea something was wrong when I checked my newly purchased           IDE through customs after ADAMCON V. "You paid what? For a            40 MEG hard drive?"  Point taken.      3)   The IBM Server is     7.   Speed is relative, but there are some whizzbang humans           claiming that the speed of light is just a tad too slow           and should be improved.      8.   There's an old adage that you should sell the sizzle and           not the steak. If sizzle is to steak as 'look and feel' is           to computers, perhaps we should only be selling computers           that can look and feel. But everyone knows that compters           cannot look and feel, so perhaps we should not sell compteADS      IF EQUALP CHAR :V :C [SEARCH.2] [MAKE "ADS :ADS + 1 SEARCH.1]      END      TO CHOP :ST      IF EMPTYP :ST [OP []] [OP BUTFIRST :ST]      END      TO CLS      CS      HT      SETCURSOR [1 1]      CHANGE.COLOR 15 1      END      This LOGO program will find a string of 4 characters anywhere in       memory. The string must be 4 characters in length, no longer, no       shorter, and there is no error checking (yet). As you can see I'm       still trying to develop some tools for wandd playenfoolin mit das keyboardthingie.      13.  Only a human would attempt politically incorrect humor by           distorting the German language.      14.  If it is true that computers tend to assume the personality           of their owners, then I am in real trouble.      15.  I am not human and everything human is alien to me. His           fingers are like so many slithering snakes writhing against           my skin.the user cross the road? Answer: To get           a byte at the restaurant on the other side. (Ohhhhh!)      4.   A cagy old hacker named Jack           Found our copy protection quite slack           He dumped out our code,           In non-document mode.           Changed the passwords, and sent disk back.      5.   Definition of a Power User. A human who thinks he knows           something about computers.      6.   Definition of a Power Computer. Eats Power users for           breakfast. ‚MےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےThe ADAM News NetworkMonthly Disk - March 1995.The bulk of contributions on this disk come from two sources. We  have the   bimonthly contribution from Keith Marner (United Kingdom ADAM Subscribers) which turns this into a truly international editensive  article for  the PD world, and well worth reading by anyone who has an interest in finding out more about being online.CROSFIRE.IMGThose who receive the EOS version will have a SmartBASIC program.  Those who receive the TDOS version of this ANN disk will have an image file which will have to be converted with CLONE.COM. The  program is a cute but challenging shoot-em-up distributed early in 1986 by Reedy Software. It's called CROSSFIRE. Study the listing.  See what  you can do in a page of BAary and March 1995 newsletter. Faye and Norman Deere cover a pretty fair variety of topics in  their        contributions, and we're happy to have their particular point of view on the ADAM. Featured particularly are a pair of  articles by  Faye on her initial encounters with TDOS. To her credit she devised solutions to the difficulties that she encountered, and has now taken the time to tell us all about the             experience. These are the kinds of experiences we need to hear  about from   all ADeate a RAM disk that will use available expander memory as another drive.GOGODOS4.TXTA followup to the last article, continuing our analysis of the  GOBASIC      program DSconfig. We're going to milk this one for all it's worth.GRAPHICS.TXTAn article from the first edition of the Expandable Computer News  produced  by the late Darryl Sage. Published in March/April, 1984, this article still provided some good basic information about graphics programming.HEART.TXTFaye Deere of the Emerauld ADAece in August 1985. It deals with a program called Write-  Hand-Man.  Those who have used Borland's Sidekick in the MS-DOS environment might want to investigate this program, because it  does many of the same things. If anyone knows whether or not Write-Hand-Man is still available, I wouldn't mind hearing about  it.CPM-CC12.ARTAnother article from October 1985 written by Ted Silveira describing most all of the terminology used in the wierd and wonderful word of modems. This is a surprisingly comprehion. Keith has undertaken the monumental task of listing everything he has ever published. It's a formidable list indeed.  Keith is   no novice, particularly when it comes to CP/M. On this disk he'll take you into some DBASE II programming and a phone  list. While  it's designed for the UK, DBASE enthusiasts will soon see how to adapt the principles contained in the program to any  geographic  locality.The Emerald Coast ADAM Users' Group is back with a full lineup of  articles  published in their FebruSIC code. This program was originally published in issue 1.1 of the ADAM User Friendly Group            Newsletter.DRAGON.TXTGame reviews that originally appeared in the AUFG Newsletter, issue 1.1. One deals with Dragon's Lair and the other with Montezuma's Revenge. These are both written by AUFG's founder and  first     President, Lou Hubert.EZRAM.PGMEZRAM.TXTA PD Digital Express contribution from the ECAUG newsletter. This  program,  originally distributed by Digital Express, allows you to crAMites.AC007.TXTNo, that's not an error. It's really double-0-7. The word is out,  the plans are on, and we're going to do it. Read on about ADAMCON 007, the time to BOND.ADAMCONS.TXTA capsule history of ADAMCON's, where they were held and who were  the       leaders. Interesting and most appropriate as a sidebar for the  previous     article.CPM-CC10.ARTThis is an article made available from the InfoCentre RCPM here in  Ottawa,  courtesy of Ian Cottrell. The author, Ted Silveira wrote this piM Users Goup provided this type in  program to get you all set for Valentines Day. Well, if the February disk had been out on time, we might have made it. As it  is, you    can hang onto it for next year.LOGO29.103Ron Mitchell's (who?) LOGO Notebook. In this installment we cover  the use   of EDFILE and also present a LOGO procedure designed to search for strings in memory.MITCHELL.TXTDon't look now, but we've got a debate going. Lynch and Sebelist  have been  going at it for a couple of issues. N                    1-(207) 583-4923                                                8 February 1995      AN OPEN LETTER TO ALL!      I  wish to  personally thank Mr. Lynch  for  his  "Response" to my       commentary on  the ADAM Convention Meeting! And for the record, I       never will,  nor would I even think of, discouraging any developer,       of either software  or  hardware,  to  NOT engage  in  development       for the  ADAM!  As each day passes,  I  try my best  to encourage all       ere's articles in the ECAUG Newsletter entitled, "Things I  Thought   You'd Like To Know". These two installments appeared in the Feb and Mar 1995 editions respectively.      IF :V4 = CHAR :C4 [PR [STRING FOUND AT] PR :ADS - 4] [MAKE "ADS       :ADS + 1 SEARCH.1]      END      TO SEARCH.1      SETCURSOR [1 1]      RECYCLE      PR [SEARCHING 1ST LETTER]      SETCURSOR [12 12]      PR :ADS      MAKE "V .EXAMINE :e exchange of       opinions.  be it either  in  the  form of  an article response,  or       club meeting,  or  on the Compuserv Forum!      I wrote a rather lengthy article giving an honest opinion,  be it       with a slight twist.  AND WOULDN'T YOU GUESS! The ONLY comments  in       return are  from  one  of  ADAM's  most  ardent fans.  This  was        just a  bit  of disappointment  concerning the  rest  of  you.  (I        really  do appmreciate Zonkers comments  and  his  opinions.  I  have ‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے                   Maine  ADAM Library                                                P.  0. Box 85                                                Waterford, Maine                                                04088-0085                            ow Mitchell is going to throw in his 2 cents worth.PSPCT003.102A Computer's Perspective by Ron Mitchell. Never let it be said  that your    ADAM has no chance to speak for itself.SEBELIST.TXTBob Sebelist replies to Bart Lynch's reply to Bob Sebelist. Taken  from the  latest issue of the 463ADAM Newsletter.TDOS-1.TXTTDOS-2.TXTFaye Deere discusses some of here first experiences with TDOS.  She was not  a happy camper for a while. Taken from the ECAUG Newsletter.THINGS.TXTTHINGS2.TXTFaye Dewho would attempt to develop software and/or  hardware to make  our       ADAM more productive. I suspect it  will  be  some  years  yet before       ADAM  bites  the dust.  And until  then,  I  will  continue to        support  all  that  has been,  and  that which will be,  done for the       ADAM!      And I do totally agree with Mr. (Zonker) Lynch about the "emulation"       portion  of  his  "Talking  Back".  And something  else that Zonker       said. I'm speaking of the comments concerning thADS      IF EQUALP CHAR :V :C [SEARCH.2] [MAKE "ADS :ADS + 1 SEARCH.1]      END      TO CHOP :ST      IF EMPTYP :ST [OP []] [OP BUTFIRST :ST]      END      TO CLS      CS      HT      SETCURSOR [1 1]      CHANGE.COLOR 15 1      END      This LOGO program will find a string of 4 characters anywhere in       memory. The string must be 4 characters in length, no longer, no       shorter, and there is no error checking (yet). As you can see I'm       still trying to develop some tools for wand      qreat  respect for  the gentleman!)  People,  if  you don't get        involved  in  what  is going on around the ADAM couunity, how can we       continue to exist?!  I opened the door to discussion on a subiect so       dear to us all that  it should have brought  on an  avalanche of        comments.  Be  it  either  nay or yah!  But comments  just the  same.       What  is  it  folks,  you  just don't  care anymore ?!      It  also  goes  without  saying,  that  if  your  opinion  is         make it a bootable disk.You must first use the 40TDOS45.COM program to put the T-DOS system on the disk(SysGen), and THEN format it.  If you don't do this, you will be able to read and write to the disk; but you will not be able to BOOT the system with it. Also, you will get an error message when the system returns you to the drive that you BOOTed from, if you have that disk in the BOOT drive.  When nothing happened after pullingthe re-set button to BOOT the system, Ire-BOOTed with the back-u‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے          MY STRUGGLES WITH T-DOS    I've been trying to get familiar withthe T-DOS environment; but find it is notas easy as you might think.  I'll relatesome of the things I have discovered tosave you some grief when you try T-DOSfor the first SAVE the format program, Iagain ran FORMAT34.COM and then SAVEd theformat program on the new disk.More next month.                     -Faye B. DeereE YOUR VOICE HEARD!  EVERYBODY HAS AN OPINION       Don't leave it up to the other guy, because five to one he'll do the       same!      AGAIN, THANK YOU ZONKER for your RESPONSE!      Respectfully,      Bob Sebelist I didn't want to store it on the diskcontaining the T-DOS program.  Therefore,when the program asked me where I wantedthe FORMAT program stored, I indicatedthe disk in Drive B:.  It then went on toask which disk I wanted to format.  Ofcourse, I indicated Drive B:, so the pro-gram proceeded to format the disk in thatdrive.   After the program finished formattingthe disk, it returned me to drive A:.  Ithen tried to BOOT the T-DOS system withthe newly formatted disk.  Formatting thedisk does NOT       sincere  and honest,  it  is  never  considered  to  be  an insult.        You  say what  you think! Tell me how WRONG I am.  Call me names,        but never call me late for a meal!(:)).  But really,  whatever you       do,  do it OUT LOUD! MAKE YOUR VOICE HEARD!  EVERYBODY HAS AN OPINION       Don't leave it up to the other guy, because five to one he'll do the       same!      AGAIN, THANK YOU ZONKER for your RESPONSE!      Respectfully,      Bob Sebelistp T-DOS disk.  Iagain used 40TDOS45.COM to SysGen thedisk; and then formatted the disk, aftersaving the FORMAT.COM program to the diskas I had before.  This time, I noticedthe line "INITIALIZING DISK" after theformatting was finished.  If you do NOTsee this message, the disk has not beenproperly formatted and will not work.   This time, when I BOOTed the disk, itworked; but when I asked for a DIR, theFORMAT.COM program I had stored on thedisk was not there.  Formatting had wipedit out.  To re-time.   I ran into difficulty right away.  After you have installed TDOS for thefirst time, you then naturally try toformat some disks.  The format programthat comes with T-DOS must first be setup with the correct parameters for yourparticular system (the size of your diskdrives, etc.).  It then stores the re-sulting FORMAT.COM program on one of yourdisks for future use.   This was fine, but all I had was aback-up copy of the T-DOS program.  I hadnot been able to format any disks to use,and‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے          MY STRUGGLES WITH T-DOS                 Part Two   Difficulty continued to plague me as Itried to make sense out of the T-DOS thathad been sent to me.  My system consistsof the basic ADAM with a 64K memory ex-pansion board, a dot matrixr, if I want to use 160K disks inboth of my double-sided drives, I first indicate that I want to patch Drive A: and then Drive B: before I type Z to quit the utility.  More next time.                    -Faye B. DeereE YOUR VOICE HEARD!  EVERYBODY HAS AN OPINION       Don't leave it up to the other guy, because five to one he'll do the       same!      AGAIN, THANK YOU ZONKER for your RESPONSE!      Respectfully,      Bob SebelistWhen I tried to TYPE a .DOC file, Igot gibberish most of the time.  Once ina LONG while, the .DOC file would listcorrectly; but even when that happened,it would usually appear on the screen in an incomplete form.  When I would COPY a .COM file to another disk, that file would not work when I tried using it from the disk that I copied it to. Sometimes,it would not work from theoriginal disk.  I finally figured outthe solution to all of these problems.If you look at the directory listing ofvoluly be called "burn-out".  This is what happens when you areresponsible for putting out a newsletterfor an extended period of time.  However,they will continue to be a structuredgroup, holding regular meetings.   David Sands will continue writing his"Gleanings" column; which we will receivethrough ANN (the ADAM News Network).  RonMitchell (Canada), the ANN co-ordinator,has talked David into continuing his ar-ticles for at least another year.   As most of you know, you can easilyhook up a dot-mle-sided disk drives.  Thismeans I can only use disks that are alsoformatted for a double-sided disk drive.If I am working with a 160K disk, I putmy double-sided disk of T-DOS, #C78, indrive A:, with the single-sided disk inDrive B:. I then type DSKSZ24. The utilitywill ask which drive I want to patch(change).  I then type B:, and T-DOS appearsto change the B: drive to 160K.The utility again asks me which driveI want to patch.  I type Z for quit.  Ican now use the 160K disk in B: drive. Howeve printer, twotape drives, and two Micro-InnovationsADAMnet 320K double-sided Disk Drives.The system has served me well until Itried to work with T-DOS.I finally discovered that most of myproblems stemmed from the fact that I wasusing 320K drives, and all the disks Ihad received were 160K disks, intendedfor use with the ADAM single-sided diskdrive.  I was getting DIR listings thatwere inaccurate as to how many blocksthere were on the disk, how many wereused, and how many free blocks were left.‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے             THINGS I THOUGHT          YOU MIGHT LIKE TO KNOW   I was sorry to hear that the VancouverIsland Senior ADAMphiles would no longerbe publishing their V.I.S.A. Advisa News-letter.  Why?  I suspect that the correctdiagnosis would probabme #C78, you will see a file namedDSKSZ24.COM.  It is accompanied by a filenamed DSKSZ.DOC.  Read this DOC file. Ifyou have a double-sided disk drive as I do,the DSKSZ24 utility makes it appear to T-DOS that you have changed your drive to a single-sided drive.  It temporarily changes your disk drive's size, andwhen you use T-DOS the next time, itwill BOOT up the way youhave formatted T-DOS to your system.Let me explain: when I BOOT my version ofT-DOS, it is formatted for a systemwith two doubatrix printer to your ADAMin place of the daisy wheel printer thatcomes with the ADAM computer.  I haveheard that you can also hook up a laseror ink jet printer to your ADAM.  All youneed is the right patch and a printerinterface card.  I am going to see if Ican find out if this is correct; since acouple of our club members have this typeof printer and would like to use themwith the ADAM.I will check around and see if I cancome up with some answers and find thenecessary software patches.  If yd to makesense out of it.  Since my knowledge ofCP/M is extremely limited, I couldn'tseem to make heads nor tales of what wasexpected of me.  My attention span wasquite short that day, so I very quicklypacked it in and went on to somethingelse.  However, David Sands (Gleanings,ANN) may have come up with an answer tothe problem.David tells us that Lee Bradley sellsMY-Z-Demo, a package for running CP/M orthe Z-System on a PC.  It comes on ahigh-density 3.5 inch disk with SimeonCran's Z80 emulatall fan andplace it where it will blow across thetop of the console.  Also make sure yourADAM is sitting in a position that allowsit to "breathe" when in use.  A room thatis too hot also speeds overheating.If your disk drives seem to be givingyou intermittent problems reading and/orwriting to a disk, get a disk cleaningkit and clean the heads on the drive.They DO get dirty, and the drive can giveyou fits when this happens.  Mine workedwell with BASIC and SmarttWRITER, but itacted up when in T in Expansion slot #2,and were intended to be used with properdaisy wheels.Gene Welch recently opened a new ADAMsoftware company; L & G Enterprises, 756Southgate Avenue, Daly City, CA 94015. Their first software release, POWERSIGNS,is a high-resolution banner printing pro-gram, and sells for $10.00.  The packageis SmartKEY driven and prints lettersthat measure 8 inches high by 4.75 incheswide.The POWERSIGNS package comes completewith "System Set 1" which is a ROMAN FontSet, with System Set 2‚Mےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےقےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےےے             THINGS I THOUGHT          YOU MIGHT LIKE TO KNOWGuy Cousineau sent me a program calledMYZ80, that allows you to run CP/M and/orT-DOS programs on an IBM compatible.  Ihad a few minutes to spare one day, so Iloaded the program and trieou arealready using this type of printer withyour ADAM, let me know what you needed toset it up, and where to find the patches. One of our members complained aboutproblems he was having with the ADAM. Itsounded a lot like he was having a problemwith overheating.  Remember that theADAM will overheat if it is in use for anextended period.  The length of time thatpasses before it overheats will depend onyour ADAM and where it sits.To help alleviate these problems, thebest thing to do is get a smor My-Z80, version 1.11,and contains the shareware version of22Disk, 170 utilities, and copious docu-mentation files.  To order the Demo pack-age, send $10.00 to Lee R. Bradley, 24East Cedar Street, Newington, CT 06111-2514.  This information was contained inthe Z-Letter, Sept/Oct 94.Another interesting comment from Davidis that ADAM computers that were exportedoverseas to countries in Europe includedlanguage cards for English, French orGerman, as appropriate.  These were PCboards that mounted-DOS. I couldn't findthe problem until someone suggested thatI clean the drive heads.                                        -Faye B. DeereE YOUR VOICE HEARD!  EVERYBODY HAS AN OPINION       Don't leave it up to the other guy, because five to one he'll do the       same!      AGAIN, THANK YOU ZONKER for your RESPONSE!      Respectfully,      Bob Sebelist - Outline (to befilled in with felt pen or paint) andSystem Set 3 - Filled, also available.To use the POWERSIGNS package, you need abase ADAM with a double-sided disk driveand a dot-matrix printer.  If you requirea special configuration, let them know,and they will try to set it up for you.L & G Enterprises is running a specialright now, that allows you to order themain POWERSIGNS package AND System Set 2for only $13.00.  Prices include shippingand handling.  It is requested that yousend the, 37 AT h:RETURNme; SPC(16); b270 time=time-1280COLOR =0:GOSUB 650290 c=c-2: r=r-2300IF RND(1)>.5 THEN  c=c+4310IF RND(1)>.5 THEN  r=r+4320IF r>36 THEN  r=36330IF r<3 THEN  r=3340IF c>36 THEN  c=36350IF c<3 THEN  c=3360COLOR =4:GOSUB 650370COLOR =2:GOSUB 660380 p=PDL(5)390IF p=1 THEN  v=v-2400IF p=2 THEN  h=h+2410IF p=4 THEN  v=v+2420IF p=8 THEN  h=h-2430IF v>37 THEN  v=37440IF h>37 THEN  h=37450IF v<2 THEN  v=2460IF h<2 THEN  h=2470COLOR =13:GOSUB 660480 p=PDL(7)+PDL(9):IF p>0 THEN G100REM  CROSSFIRE by REEDY Software110POKE 17115, 244:TEXT:VTAB 7120HTAB 11:? "CROSSFIRE"130VTAB 10:HTAB 7:? "BY REEDY SOFTWARE"140VTAB 18:? " SHOOT THE GREEN MEANIE BEFRORE":?150HTAB 5:? "TIME AND AMMO RUN OUT":?:?160HTAB 9:? "PRESS TRIGGER"; : k=0170 p=PDL(7)+PDL(9):IF p=0 THEN 170180 r=10: c=10190 v=20: h=20200 b=10: time=99210GR:COLOR =2220HLIN 1, 38 AT 1:HLIN 1, 38 AT 38230VLIN 1, 38 AT 1:VLIN 1, 38 AT 38240VTAB 20:HTAB 11:? "CROSSFIRE"250VTAB 22:HTAB 4:? "TIME: "; SPC(13); "AMMO:"260VT      turbodisk.":?530? " What size ramdisk?"540INPUT " (3 - 20): "; sz$:     sz%=VAL(sz$):POKE 0, sz%:?550IF sz%<3 OR sz%>20 THEN ? "   aborted!":GOTO 50201000REM INIT blocks fix1010DATA 195,92,2281020FOR x=62245 TO 62247:READ    mc:POKE x, mc:NEXT1030DATA                         254,7,48,4,30,159,24,10,254,25,48,4,30,255,24,21040DATA                         30,10,197,213,229,195,40,2431050FOR x=58460 TO 58483:READ    mc:POKE x, mc:NEXT2000DATA                         197,213,229,245,254,26,40,4,OSUB 510490IF time<1 THEN 580500GOTO 260510 b=b-1:? CHR$(7); 520IF SCRN(h, v)=4 THEN  k=1530GOSUB 670540COLOR =0:GOSUB 670550IF  NOT b THEN 580560IF k THEN 580570RETURN580?:?:?590IF  NOT k THEN 630600COLOR =3:VLIN r+1, r-1 AT c:HLIN c+1, c-1 AT r610HTAB 10:? "GOOD JOB"620?:HTAB 10:? "SCORE: "; (time*10)+(b*100)630HTAB 11:? "GAME OVER":?640FOR t=1 TO 2000:NEXT t:GOTO 160650HLIN c, c+1 AT r:HLIN c, c+1 AT r-1:RETURN660PLOT 1, v:PLOT 38, v:PLOT h, 1:PLOT h, 38:RETURN670HLIN 2, 37 AT v:VLIN 2 amount of your order in the formof a money order only.                     -Faye B. Deere -Faye B. DeereE YOUR VOICE HEARD!  EVERYBODY HAS AN OPINION       Don't leave it up to the other guy, because five to one he'll do the       same!      AGAIN, THANK YOU ZONKER for your RESPONSE!      Respectfully,      Bob Sebelist5REM *** QuikDISK ***6REM standard RAM ramdisk (user  sets size: 3K - 20K)7REM written by DIGITAL EXPRESS8REM presented by Nibbles & Bits9REM July, 198720REM does NOT require 64K       expander30REM will disable turbodisk40REM requires SmartBASIC V1.050ONERR  GOTO 5020200POKE 16149, 255:POKE 16150,   255210POKE 10950, 208:POKE 10951,   107:LOMEM :27600220POKE 58348, 255:POKE 58401,   255500TEXT:?:? " This program       creates a"510? " ramdisk within standard   RAM."520? " It will cancel      AB 23:HTAB 5:? time; SPC(16); b270 time=time-1280COLOR =0:GOSUB 650290 c=c-2: r=r-2300IF RND(1)>.5 THEN  c=c+4310IF RND(1)>.5 THEN  r=r+4320IF r>36 THEN  r=36330IF r<3 THEN  r=3340IF c>36 THEN  c=36350IF c<3 THEN  c=3360COLOR =4:GOSUB 650370COLOR =2:GOSUB 660380 p=PDL(5)390IF p=1 THEN  v=v-2400IF p=2 THEN  h=h+2410IF p=4 THEN  v=v+2420IF p=8 THEN  h=h-2430IF v>37 THEN  v=37440IF h>37 THEN  h=37450IF v<2 THEN  v=2460IF h<2 THEN  h=2470COLOR =13:GOSUB 660480 p=PDL(7)+PDL(9):IF p>0 THEN G241,195,126,2412010DATA                         241,229,33,0,0,83,30,0,25,25,25,25,84,93,2252020DATA                         62,108,130,87,66,75,84,93,96,1052030DATA                         1,0,4,237,176,225,209,6,5,62,5,144,193,62,128,2012100FOR x=58343 TO 58395:READ    mc:POKE x, mc:NEXT2200POKE 61819, 195:POKE 61820,  231:POKE 61821, 2273000DATA                         197,253,229,245,254,26,40,4,241,195,233,2413010DATA                         241,229,33,0,0,83,30,0,25,25,25,25,84,93,2253020DATA ههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههATALOG,d7."5030ENDTA                         241,229,33,0,0,83,30,0,25,25,25,25,84,93,2252020DATA                         62,108,130,87,66,75,84,93,96,1052030DATA                         1,0,4,237,176,225,209,6,5,62,5,144,193,62,128,2012100FOR x=58343 TO 58395:READ    mc:POKE x, mc:NEXT2200POKE 61819, 195:POKE 61820,  231:POKE 61821, 2273000DATA                         197,253,229,245,254,26,40,4,241,195,233,2413010DATA                         241,229,33,0,0,83,30,0,25,25,25,25,84,93,2253020DATA هههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه62,108,130,873030DATA                         1,0,4,237,176,253,225,6,5,62,5,144,193,175,2013100FOR x=58396 TO 58441:READ    mc:POKE x, mc:NEXT3200POKE 61926, 195:POKE 61927,  28:POKE 61928, 2284000LOMEM :(27+sz%)*1024:        sz%=PEEK(0)4010POKE 10950, PEEK(16095):POKE 10951, PEEK(16096)4020POKE 58477, sz%4100? CHR$(4); " init            QuikDISK,d7"5000? " QuikDISK initialized!!!"5010? " Minimum LOMEM: ";        (27+sz%)*1024:?:?5020?:? " To get a CATALOG       listing of    QuikDISK, type     Cهههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه62,108,130,873030DATA                         1,0,4,237,176,253,225,6,5,62,5,144,193,175,2013100FOR x=58396 TO 58441:READ    mc:POKE x, mc:NEXT3200POKE 61926, 195:POKE 61927,  28:POKE 61928, 2284000LOMEM :(27+sz%)*1024:        sz%=PEEK(0)4010POKE 10950, PEEK(16095):POKE 10951, PEEK(16096)4020POKE 58477, sz%4100? CHR$(4); " init            QuikDISK,d7"5000? " QuikDISK initialized!!!"5010? " Minimum LOMEM: ";        (27+sz%)*1024:?:?5020?:? " To get a CATALOG       listing of    QuikDISK, type     Cهههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههههه