main/tutorial.php
author Grauw
Sun, 08 Mar 2009 17:56:36 +0100
changeset 5 0cfcc0bf3ed6
parent 0 e3eb05190400
permissions -rw-r--r--
Update tutorial to reflect current practices and be a little more ‘modern’.
     1 <?php include $_SERVER['DOCUMENT_ROOT'].'/scripts/functions.php'; addHTTPHeader(); ?>
     2 <!DOCTYPE html
     3      PUBLIC "-//W3C//DTD XHTML 1.1//EN"
     4      "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
     5 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
     6 <head>
     7   <title>MSX Assembly Page</title>
     8   <meta http-equiv="Content-type" content="text/html; charset=UTF-8" />
     9   <meta http-equiv="Content-Style-Type" content="text/css" />
    10   <?php addStyles(); ?>
    11 </head>
    12 <body id="msxasm">
    13 <?php addHeader(); ?>
    14 
    15 
    16 
    17 <h1>MSX Assembly Page article tutorial</h1>
    18 
    19 <p>On this page I’ll try to explain the structure of a document. Check <a href="http://hg.grauw.nl/map/file/d0d63d87ed2b/main/tutorial.php">the source on Mercurial</a> to see how everything is done in this (and other) pages’ source code.</p>
    20 
    21 <p>Let’s sum up some guidelines for working on the MAP. You can go ahead and get the source code from the <a href="http://hg.grauw.nl/map">MAP Mercurial repository</a>. From there, You can start a new article or add a new resource, or modify an existing one. But keep in mind the social aspect of editing documents, that every article is made and thus ‘owned’ by someone. So although corrections are fine, you probably shouldn’t push significant modifications onto the server without consulting with the author first. Also, if you want to make changes to the style sheet or site structure, drop me (Grauw) a line first :).</p>
    22 
    23 <p>If you have push rights to the server, keep in mind that everything you push will be live immediately. Generally speaking, it’s also always useful if someone reviews your changes before they are pushed to the server. Of course, this review can also happen after things are pushed, but because we use Mercurial, if you are unsure about whether something is correct or using the right tags or correctly spelled or whatever, you can easily draft some changes and send them to someone else for review.</p>
    24 
    25 <p>Once an article is more or less done, and fit for publishing, think of an appropriate section and category within the site structure, and if one isn’t there yet, add it. Try to keep the organization as logical as possible. Then upload your file into the directory of the section you’ve chosen, and add a link to it in the section overview file (the <i>index.php</i> file in each section directory). If you’ve written the article yourself, or put a large effort in it like translating or transscribing, don’t forget to put your name at the bottom and add a ‘MAP bullet’ by changing the <code>&lt;li&gt;</code> tag into <code>&lt;li class="map"&gt;</code>, so that people can see that it is authored by us and can exclusively be found on the MAP.</p>
    26 
    27 <p>Furthermore, if you publish or update a text (unless it’s a really minor update), please add it to the Last Updates section in <i>main/index.php</i> so that people can easily see what’s been done recently, and also to keep ourselves informed about what the rest has been doing. The updates block is present right after the document title, and if you take a short look at the code, the method of adding an entry should be self-explanatory. Don’t forget to change the date, by the way. If the list becomes too long, you can move a couple of the oldest updates to <i>main/updates-old.php</i> to make it a little shorter. You can also put update blocks in your texts, which can be quite useful aswell. A block inside your text can hold details about the more minor updates not mentioned of the mainpage, and gives a quick overview of the recent changes of that article only. The method of adding such a block is explained in the example updates block below.</p>
    28 
    29 
    30 <h2>Document syntax and formatting</h2>
    31 
    32 <p>Let’s get started with the layout tags you should use. Every page on this site is made from a combination of XHTML, CSS, and Unicode (UTF-8). Here are links to the <a href="http://www.w3.org/TR/html4">HTML documentation</a>, the <a href="http://www.w3.org/TR/xhtml1/">XHTML documentation</a>, and the <a href="http://www.w3.org/TR/CSS21/">CSS 2.1 documentation</a>. The HTML and CSS docs are quite easy to use once you know how they’re structured.</p>
    33 
    34 <p>XHTML Strict basically works as follows: it is largely the same as HTML Strict (meaning HTML without any of the tags marked Deprecated), but then written in XML, so every tag has to have an end-tag. If you write a <code>&lt;li&gt;</code>, always close it with a <code>&lt;/li&gt;</code>, and the same goes for <code>&lt;p&gt;</code>. Also, don’t write <code>&lt;img src="image.jpg"&gt;</code> and <code>&lt;br&gt;</code> but add a closing <code>/</code> at the end like so: <code>&lt;img src="image.jpg" /&gt;</code> and <code>&lt;br /&gt;</code>. The space before the / in singleton tags is important for HTML compatibility. Another requirement of XHTML is that all tags shoult be lowercase. And on a sidenote, don’t forget that <code>img</code> tags always need an <code>alt="description"</code> attribute. You can check the correctness of your text by running it through the <a href="http://validator.w3.org/">W3C MarkUp Validation Service</a>.</p>
    35 
    36 <p>As for a good editor, my preference is <a href="http://www.flos-freeware.ch/notepad2.html">Notepad2</a>.</p>
    37 
    38 <p>Well then, here goes the layout tags explanation:</p>
    39 
    40 
    41 <h1><code>&lt;h1&gt;</code>Main topic<code>&lt;/h1&gt;</code></h1>
    42 
    43 <div class="updates">
    44 <h1>Latest updates:</h1>
    45 
    46 <p><em>1900-01-04</em><br />
    47 If you update an article, you can add an ‘updates’ block to your code. Just use the same code as is used here, and place it right after your first heading. By the way, the time notation format is year-month-day (ISO 8601 time notation).</p>
    48 
    49 <p><em>1900-01-03</em><br />
    50 Also, when you update an article and it is an update worthwhile of mentioning on the front page, place a notification in the <i>main/index.php</i> file, so that people who visit the page can see that it has been changed.</p>
    51 
    52 <p><em>1900-01-02</em><br />
    53 You can put outdated updates between <code>&lt;!-- comments --&gt;</code>, so that they can still be viewed in the code for reference. Updates usually become ‘outdated’ when the updates list is getting too long :). On the main page, outdated updates should be moved into the <i>main/updates-old.php</i> file.</p>
    54 
    55 <!--
    56 <p><em>1/1/1900</em><br />
    57 outdated</p>
    58 -->
    59 </div>
    60 
    61 <p>You should put the main topic on the first line of your article, and you can also use it later on to indicate different chapters for example.</p>
    62 
    63 <h2><code>&lt;h2&gt;</code>Sub head<code>&lt;/h2&gt;</code></h2>
    64 
    65 <h3><code>&lt;h3&gt;</code>Sub sub head<code>&lt;/h3&gt;</code></h3>
    66 
    67 <p><code>&lt;p&gt;</code>Paragraph with something <code>&lt;em&gt;</code><em>that needs emphasis</em><code>&lt;/em&gt;</code>, or even <code>&lt;strong&gt;</code><strong>strong emphasis</strong><code>&lt;/strong&gt;</code>. Some abbreviation for <code>&lt;abbr title="Disk Operating System"&gt;</code><abbr title="Disk Operating System">DOS</abbr><code>&lt;/abbr&gt;</code>, and <code>&lt;dfn&gt;</code><dfn>defenestrate</dfn><code>&lt;/dfn&gt;</code> is a new term that needs to be defined. You can use <code>&lt;i&gt;</code><i>italics</i><code>&lt;/i&gt;</code> to highlight e.g. file names. And finally <code>&lt;a href=""&gt;</code><a href="">a link</a><code>&lt;/a&gt;</code> at the end of the paragraph.<code>&lt;/p&gt;</code></p>
    68 
    69 <h2>Some more tags (look at the code)</h2>
    70 
    71 <p>Let’s display an unordered list of items now...</p>
    72 
    73 <ul>
    74 <li>first item</li>
    75 <li>second item</li>
    76 </ul>
    77 
    78 <p>And an ordered list...</p>
    79 
    80 <ol>
    81 <li>first item</li>
    82 <li>second item</li>
    83 </ol>
    84 
    85 <p>And a differently ordered list (use CSS!)...</p>
    86 
    87 <ol style="list-style-type: upper-roman">
    88 <li>first item</li>
    89 <li>second item</li>
    90 </ol>
    91 
    92 <p>Some preformatted text/tables/code:</p>
    93 
    94 <pre>
    95                 MSB  7   6   5   4   3   2   1   0  LSB
    96                    +---+---+---+---+---+---+---+---+
    97    Port #1         |A7 |A6 |A5 |A4 |A3 |A2 |A1 |A0 | First byte
    98                    +---+---+---+---+---+---+---+---+
    99 
   100 	xor a
   101 Label:	cpl
   102 	jp Label
   103 </pre>
   104 
   105 <p>Put inline code fragments between <code>&lt;code&gt;</code> and <code>&lt;/code&gt;</code> tags.</p>
   106 
   107 
   108 <p>And tables must only be used if you want to display a table...</p>
   109 
   110 <table>
   111 <tr>
   112   <th colspan="2">Name of table</th>
   113 </tr>
   114 <tr>
   115   <td>row 1</td>
   116   <td>Dude, what does my tattoo say</td>
   117 </tr>
   118 <tr>
   119   <td>row 2</td>
   120   <td>Sweet, what does my tattoo say</td>
   121 </tr>
   122 </table>
   123 
   124 
   125 <p>If you want to render a matrix-like table, add a class="matrix" to the table tag:</p>
   126 
   127 <table class="matrix">
   128 <tr>
   129   <th colspan="2">Name of table</th>
   130 </tr>
   131 <tr>
   132   <td>row 1</td>
   133   <td>Dude, what does my tattoo say</td>
   134 </tr>
   135 <tr>
   136   <td>row 2</td>
   137   <td>Sweet, what does my tattoo say</td>
   138 </tr>
   139 </table>
   140 
   141 
   142 <p>Also, a list of definitions (if you ever need it); Japanese lesson no. 1:</p>
   143 <dl>
   144    <dt>Ittadakimasu</dt>
   145    <dd>Japese say this when they are about to start dinner. In English, it can be somewhat translated like ‘thank you for the food’ (they don’t really have a way of saying this, how impolite!). In Dutch it is simply ‘Smakelijk eten’.</dd>
   146 </dl>
   147 
   148 
   149 
   150 
   151 <h2>Use unicode!</h2>
   152 
   153 <p>If you save your documents as Unicode (UTF-8), then you don’t need to use HTML character entity tags (those <code>&amp;something;</code> tags, please don’t use them) for special characters like ë, ×, 日本語, ©, ½, etc. In notepad this can easily be done by selecting UTF-8 as the codepage in the Save As dialog. However, saving as ASCII is fine too, as long as you don’t use any special characters.</p>
   154 
   155 <p>However you’ll still need to use <code>&amp;amp;</code>, <code>&amp;lt;</code> and <code>&amp;gt;</code> for <code>&amp;</code>, <code>&lt;</code> and <code>&gt;</code>, because in HTML they are escape characters. They also need to be used inside preformatted (<code>&lt;pre&gt;</code>) tags.</p>
   156 
   157 
   158 <h2>Custom styles</h2>
   159 
   160 <p>You can also add custom styles to them to either block-level tags like <code>&lt;div&gt;</code> and <code>&lt;p&gt;</code> (<code>p</code> adds an empty line while <code>div</code> does not), or inline tags like <code>&lt;span&gt;</code> and <code>&lt;i&gt;</code> (generally you’ll want to use the span tag). This can be done with a <code>class=""</code> or a <code>style=""</code> identifier. The former refers to predefined classes in the style sheet, while you can specify any CSS2 style in the latter.</p>
   161 
   162 <ul>
   163 <li>Example 1: <code>&lt;span class="inv"&gt;</code><span class="inv">negative logic (invert)</span><code>&lt;/span&gt;</code> is an overline usually used for indicating negative logic.</li>
   164 <li>Example 2: <code>&lt;span style="color: rgb(255,0,0)"&gt;</code><span style="color: rgb(255,0,0)">red colour</span><code>&lt;/span&gt;</code>, if you must… you really shouldn't do colors, actually :), it is just an example of how to do a custom style. You can also use named colours like <code>color: red</code>.</li>
   165 </ul>
   166 
   167 <h3>XHTML Conformance</h3>
   168 
   169 <p>Finally, here is an extract of a <a href="http://www.mozilla.org/projects/mathml/authoring.html">Mozilla.org document about MathML</a>, which gives a pretty good explanation of the XHTML basics compared to HTML.</p>
   170 
   171 <p>Here are the main rules to produce XHTML compliant
   172 documents that will work with Mozilla:</p>
   173 
   174 <ul>
   175   <li><b>XHTML tags are all lowercase</b> 
   176     <table border="1" width="75%">
   177       <tr> 
   178         <td width="50%" align="center"> 
   179           <p><b>HTML</b></p>
   180         </td>
   181         <td width="50%" align="center"> 
   182           <p><b>XHTML</b></p>
   183         </td>
   184 
   185       </tr>
   186       <tr> 
   187         <td width="50%"> 
   188           <p><b><code>&lt;H1 Align=&quot;CENTER&quot;&gt;Cauchy<br />
   189             Integral&lt;/H1&gt;</code></b></p>
   190         </td>
   191         <td width="50%"> 
   192           <p><b><code>&lt;<font color="red">h1 a</font>lign=&quot;<font color="red">center</font>&quot;&gt;Cauchy<br />
   193 
   194             Integral&lt;/<font color="red">h1</font>&gt;</code></b></p>
   195         </td>
   196       </tr>
   197     </table>
   198     <br />
   199   </li>
   200   <li><b>All non-empty elements must be terminated</b> 
   201     <table border="1" width="75%">
   202 
   203       <tr> 
   204         <td width="50%" align="center"> 
   205           <p><b>HTML</b></p>
   206         </td>
   207         <td width="50%" align="center"> 
   208           <p><b>XHTML</b></p>
   209         </td>
   210       </tr>
   211       <tr> 
   212         <td width="50%" valign="top"> <b> 
   213           <pre>
   214 &lt;p&gt;MathML
   215   &lt;ul&gt;
   216     &lt;li&gt;Presentation markup
   217     &lt;li&gt;Content markup
   218   &lt;/ul&gt;
   219             </pre>
   220           </b> </td>
   221         <td width="50%" valign="top"> <b> 
   222           <pre>
   223 &lt;p&gt;MathML
   224   &lt;ul&gt;
   225     &lt;li&gt;Presentation markup<font color="red">&lt;/li&gt;</font>
   226     &lt;li&gt;Content markup<font color="red">&lt;/li&gt;</font>
   227   &lt;/ul&gt;
   228 <font color="red">&lt;/p&gt;</font>
   229             </pre>
   230           </b></td>
   231       </tr>
   232     </table>
   233     <br />
   234   </li>
   235   <li><b>Empty elements must include a trailing slash (/)</b> 
   236     <table border="1" width="75%">
   237       <tr> 
   238         <td width="50%" align="center"> 
   239           <p><b>HTML</b></p>
   240         </td>
   241         <td width="50%" align="center"> 
   242           <p><b>XHTML</b></p>
   243         </td>
   244       </tr>
   245       <tr> 
   246         <td width="50%"> 
   247           <p><b><code>&lt;img src=&quot;myimage.gif&quot;&gt;</code></b></p>
   248         </td>
   249 
   250         <td width="50%"> 
   251           <p><b><code>&lt;img src=&quot;myimage.gif&quot; <font color="red">/</font>&gt;</code></b></p>
   252         </td>
   253       </tr>
   254       <tr> 
   255         <td width="50%"> 
   256           <p><b><code>&lt;br&gt;</code></b></p>
   257         </td>
   258         <td width="50%"> 
   259           <p><b><code>&lt;br <font color="red">/</font>&gt;</code></b></p>
   260         </td>
   261       </tr>
   262       <tr> 
   263         <td width="50%"> 
   264           <p><b><code>&lt;hr&gt;</code></b></p>
   265         </td>
   266         <td width="50%"> 
   267           <p><b><code>&lt;hr <font color="red">/</font>&gt;</code></b></p>
   268         </td>
   269       </tr>
   270     </table>
   271     <br />
   272   </li>
   273   <li><b>All attribute values must be quoted</b></li>
   274   <table border="1" width="75%">
   275     <tr> 
   276       <td width="50%" align="center"> 
   277         <p><b>HTML</b></p>
   278       </td>
   279       <td width="50%" align="center"> 
   280         <p><b>XHTML</b></p>
   281       </td>
   282     </tr>
   283     <tr> 
   284       <td width="50%"> 
   285         <p><b><code>&lt;table border=0&gt;</code></b></p>
   286       </td>
   287       <td width="50%"> 
   288         <p><b><code>&lt;table border=<font color="red">&quot;</font>0<font color="red">&quot;</font>&gt;</code></b></p>
   289       </td>
   290     </tr>
   291   </table>
   292   <br />
   293   <li><b>Attribute-value pairs must be written in full</b></li>
   294   <table border="1" width="75%">
   295     <tr> 
   296       <td width="50%" align="center"> 
   297         <p><b>HTML</b></p>
   298       </td>
   299       <td width="50%" align="center"> 
   300         <p><b>XHTML</b></p>
   301       </td>
   302     </tr>
   303     <tr> 
   304       <td width="50%"> 
   305         <p><b><code>&lt;td nowrap&gt;</code></b></p>
   306       </td>
   307       <td width="50%"> 
   308         <p><b><code>&lt;td nowrap<font color="red">=&quot;nowrap&quot;</font>&gt;</code></b></p>
   309       </td>
   310     </tr>
   311   </table>
   312   <br />
   313   <li>The root element of the document must be <code>&lt;html&gt;</code> and must designate 
   314     the XHTML namespace<br />
   315     <code>&lt;html xmlns="http://www.w3.org/1999/xhtml"></code><br />
   316     <br />
   317   </li>
   318 
   319   
   320 <li>All documents must have a <code>DOCTYPE</code> declaration
   321 <pre>
   322 &lt;!DOCTYPE html 
   323      PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
   324      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
   325 
   326 &lt;!DOCTYPE html 
   327      PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   328      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
   329 
   330 &lt;!DOCTYPE html 
   331      PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
   332      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"&gt;
   333 </pre>
   334   </li>
   335 
   336 </ul>
   337 
   338 
   339 
   340 <p>Here is an example of a minimal XHTML document.</p>
   341 
   342   
   343 <pre><font color="#500000"><b>&lt;?xml</b> <font color="#0000A0"><b>version=&quot;</b></font><font color="#000080">1.0</font><font color="#0000A0"><b>&quot;</b></font><font color="#500000"></font><b>?&gt;</b></font>  
   344 <font color="#500000"><b>&lt;!DOCTYPE</b> <font color="#0000A0"><b>html PUBLIC</b></font><font color="#000080"> &quot;-//W3C//DTD XHTML 1.0 Strict//EN</font><font color="#0000A0">" &quot;DTD/xhtml1-strict.dtd"</font><b>&gt;</b></font>  <font color="#500000"><b>
   345 
   346 &lt;html</b> <font color="#0000A0"><b>xmlns=&quot;</b></font><font color="#000080">http://www.w3.org/1999/xhtml</font><font color="#0000A0"><b>&quot;</b></font><b>&gt;</b></font>  
   347   <font color="#500000"><b>&lt;head</b><b>&gt;</b></font>  
   348     <font color="#500000"><b>&lt;title</b><b>&gt;</b></font><font color="#005000">Minimum XHTML Document</font><font color="#500000"><b>&lt;/title&gt;</b></font>  
   349   <font color="#500000"><b>&lt;/head&gt;</b></font>  
   350   <font color="#500000"><b>&lt;body</b><b>&gt;</b></font>  
   351     <font color="#500000"><b>&lt;p</b><b>&gt;
   352 
   353       </b></font><font color="#005000">Accept all valid XHTML, including therefore</font> 
   354 <font color="#005000">      </font><font color="#500000"><b>&lt;a</b> <font color="#0000A0"><b>href=&quot;</b></font><font color="#000080">http://www.mozilla.org/</font><font color="#0000A0"><b>&quot;</b></font><b>&gt;</b></font><font color="#005000">links</font><font color="#500000"><b>&lt;/a&gt;</b></font>.<font color="#500000">
   355 <b>    &lt;/p&gt;</b></font>  
   356   <font color="#500000"><b>&lt;/body&gt;</b></font>  
   357 
   358 <font color="#500000"><b>&lt;/html&gt;</b></font>
   359 </pre>
   360 
   361 
   362 
   363 <p class="signed">~Grauw</p>
   364 
   365 
   366 <pre>
   367 
   368 
   369 
   370 
   371 
   372        .;;.a,      .,.        .,,.
   373      ,@;;;;.,a  ,@@a;a@@,   ,@@@@@@,
   374      @@`;;;;'@,@@@'@;@`@@@,@@@oooo@@
   375      @@,Ssss';@@@@aaaaa@@@@;@@oooo@@
   376       `SSSS;,@@@@@@@@@@@@@@@,@@@@@' ,;;,
   377      .sSSSS;@@@@@@@@@@@@@@@@@     ;,;;;;
   378      sSSSSS;`@@@@@@@@@@@@@@@'      ;;;;'
   379      SSSSSSSs;%%ssssssss%%,sSSs, .SsssS
   380      SSSSSSSS;%%sSSSSSSSs%%;SSSSSSSSSS'
   381      `SSSSSSS;%%sSSSSSSSSs%%;SSSSSSS'
   382        `SSSS;%%%%%%%%%%%%%%%% """""       ..,,,,..
   383          `SS;%%%%%%%%%%%%%%%%,     .,;;;;;;'''''';;;;;;,
   384            %%%%%%%%%%%%%%xx%%%.;;;;;;'                `;;;.
   385            %%%%%%%%%%%%%xx%%%%%                         `;;.
   386            %%%%%%%xxx%^%%%%%%%%%                         `;;
   387            %%%%%%%%%%' `%%%%%%%%.,                        ;'
   388            %%%%%%%%%'    `%%%%';;;'oOOo                  ;'
   389            %%%%%%%%%       `%';;'oOOOOO                 '
   390            `%%%%%%%'         `;'OOOOOO'
   391              ;;;;;             `OOOOO'
   392         ',,''oOOOo'',,'          """
   393             OOOOOOO
   394           ..,,,,,,,,.                      `;;.//
   395         ,'`;;;;;;;;;;;',                   .oOOoOOo.
   396        ;   ;;;;;;;;;;;  ;                  OOOOOOOOO
   397        ;  .;;;;;;;;;;;, ;,;;;;;;;,.        `OOOOOOO'
   398         `;;;;;;;;;;;;;;' ;;;;;;;;;;`,      ;`OOOOO',
   399          .%%%%%%%%%%,' ,;;;;;;;;;;  ;      ;;,,,,,;'
   400         .%%%%%%%%%%%%,%%%%%;;;;;;;, ;    .;;;;;;;;'       ;
   401        ,%%%%%%%%%%%%%,%%%%%%;;;;;;;'   .;;;;;;;;'        ;   .'
   402        %%%%%%%%%%%%%%,%%%%%%%        .;;;;;;;;;'        ;  .'
   403       ,%%%%%%%%%%%%%'%%%%%%%;,.     ;;;;;;;;;;    .a@~~a, '
   404       %%%%%%%%%%%%%'%%%%%%%,%%%%%%,,;;;;;;;;'  .a@@@@a@@@@a.
   405      ,%%%%%%%%%%%%'%%%%%%%,%%%%%%%%%,;;;;;;; .a@@oOOOo@@@@@@a.
   406      %%%%%%%%%%%%'%%%%%%%%%,'''',%%%%%%%%,;.a@@OOOOOOOO@""@ @@a.
   407     ,%%%%%%%%%%%'%%%%%%%,;;;,,,,,%%%%;;`%%.@@@OOOOOOOOO@@@a@@@@@.
   408     %%%%%%%%%%%%%%%%%%,;;;;;;;;,%%%,;;;;;.@@@@@OOOOOOO@@@@@@@@@@@
   409     ####%%%%%%%%%%%%%,;;;;;;;;,%%%%%%%%,;,@@@@@@@@@@@@@@@@@@@@@@@
   410     ####%%%%%%%%%%%%%;;;;;;;;;;;;;;;;;;%%,@@@@@@@@@@@@`aa.@@@@@@@
   411     `###%%%%%%%%%%%%%;;;;;;;;;;;;;;;;;;;;%%`@@@@@@@@@@`@@@.@@@@@'
   412       `%%%%%%%%%%%%"""`;;;;;;;;;;;;;;;;;;;;;''`@@@@@@@@`@@@.@@'@
   413        .;''''';.  .;;;;;,    ..,,,,,..    ,;;;;;.   ,;'''@@@a @@
   414        ;,,,,,,;; ;;;' `;;;,::;;;;;;;;;::,;;;' `;;; ;;,,,,@oo@a`@
   415        `;;;;;;;; ;;;,,,;;;;;:';;;;;;;;`;;;;;,,,;;; ;;;;;;@@oo@@a
   416         `;;;;;;;;,`;;;;;;;:,;;;;;;;;;;;;,;;;;;;;',;;;;;;;@@oooo@@a
   417          `;;;;;;'%%% .:::;;;;' ;;;;;' ;;;;:::, %%%`;;;;;'@@@ooooo@@a
   418            ;;'%%%%%%.::;;;;;a@@@. .@@@a;;;;;::.%%%%%%`;  `@@@oooooo@@a
   419           ,%%%%%%%%%.::;;;;@@@@@@;@@@@@@;;;;::.%%%%%%%%%, @@@oooooooo@@a
   420           `%%%%%%%%%%.::;;;@@@'@@;@@`@@@;;;::.%%%%%%%%%%' `@@ooooooooo@@a.
   421              `%%%%%%%%%`::;;@@@aaaaa@@@;;::'%%%%%%%%%'     @@oooooooooo@@@a
   422             .%%%%%%%%%%;!!,,,,,,,,,,,,,,,!!;%%%%%%%%%%%,  .@@@ooooooooo@@@@
   423            %%%%%%%%%%%;!!!!!!!!!!!!!!!!!!!!!;%%%%%%%%%%%  @;@@@oooooooo@@@'
   424            %%%%%%%%%%%;!!!!!!!!  "  !!!!!!!!;%%%%%%%%%%%  @a;@@@ooooo@@@@'
   425            `%%%%%%%%%;!!!!!!!!!!, .!!!!!!!!!!;%%%%%%%%%'  @@@a;@@@@@@@@'
   426               `%%%%%;!!;!!;!!;!!;!!;!!;!!;!!;!;%%%%%'     `@@@@aaaaaa'
   427                   .!!!!!!!!!!!!!!!!!!!!!!!!!!!!!.           `@@@@@@'
   428                  .!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!.
   429                 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   430                ,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!,
   431               ! !!! !!! !!! !!! !!! !!! !!! !!! !!! !
   432              .!!! !!! !!! !!! !!! !!! !!! !!! !!! !!!.
   433              !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
   434             !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!
   435             !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!',;'!!!!!   ';,
   436             `!!`!!`!!`!!`!!`!!`!!`!!`!!`!!`!!',;; !'!!'    ;;,
   437                       ;;;;;;;;;;;^;;;;;;.,,,,.;;;a@@@@@@@@a;;;  .,,.      ,
   438                       ;;;;;;;;;;' `;;',a@@a%%%%%%%%%@@@@@%%%%,@@@@@@@@%%;'
   439        _             .::;;;;;;,'   ; a@@@@@%%%%%%%''%@@%%``%%%%@@@@@%%;;'
   440      ('v')    ;    ,@a,`;;;,aa@,  , a@@@%%%^%%%%%,%%%%%%%%%,%%%%%%%;;;'
   441      (,_,)   ;;; ,' `@@ @@@@@@';  ; @@@%%'  %%%%%%% `%%% `%%%%%%%;;'
   442     .,;;;;.  `;' :.           ,'  `,`@'  ..,;%%a@@@@@@@@@@@@@a%%'
   443   .;;'|/ `;;;;'.aaaaaaaaaaaaaa%%%%%%%%%%%%%%%a@@@@@@@@@@@@@@@@@a
   444   ;;.      .a@@@@@@@@@@%%%%%%%%%%%%%%%%%%%%%%@@@@(`@@@@@@@')@@@@
   445   `;;.   ,a@@@@@@@@@@@@@a%%%%%%%%%%%%%%%%%%%::@@@@a@@@@@@@a@@@@:.
   446     `;;.a@@@@@@@@@@@@@@%%%%%%%%%%%%%%a@@@%%::%%`@@@@@@@@@@@@@'%%::  ,'',
   447       `@@@@@@@@@@@@@@@%%%%%%%@@a%a@@@@@@@%::%%%%%%%%%%%%%%%%%%%%%::'   ;
   448       @@@@@@@@@@@@@@@@@a%%%%@@@@@@@@@@@@@%;;|;,;|;,;|;,;|;.;|;,;|;;   / \
   449       @@@@@@@@@@@@@@@@%%%%%%%@@@@@@@@@@@@%`;;,|;,;|;,;|;,;|;,;|;,;'  | A |
   450       %%%%%%@@@@@%%%;%%%%%%@@@@@@@@@@@@@@@%`|;,;|;,;|;,;|;,;|;,;|'   | P |
   451       `@@%%%%%%%%;'%%%%%%%%%%@@@@%%@@%%%%%%%,`|;,;|;,;|;,;|;,;|'     | P |
   452        `@@a%%%%%%.%%% '''%%%%%%%%%%%%%%%'''''' %%%@@@%%.%%%%'        | L |
   453         @@@@%%%%.%%%'                          %%%@@@@.%%%a@         | E |
   454         @@@%%%%.@a%%                           %%%@@%%.%%@@@         | S |
   455  ~~~~~~ @%%%%%%.@@%% ~~   ~~~~~~~~~    ~~~~~~~ %%%%@@@.%%%@@ ~~~~    `~~~'
   456         `:::::'`:::'                           `:::::'`::::' Susie Oviatt
   457 </pre>
   458 
   459 
   460 
   461 
   462 <?php addFooter(); ?>
   463 </body>
   464 </html>