home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 24 DOS / 24-DOS.zip / commo60.zip / COMMO.MAC < prev    next >
Text File  |  1994-04-09  |  18KB  |  429 lines

  1.                                  ┌────────────┐
  2.   PgDn for more macros           │ Macro File │           PgDn for more macros
  3.                                  └────────────┘
  4.  
  5.   1)  A program indicated to the right of a macro must be in your DOS path.
  6.  
  7.   2)  Move Selector Bar to desired entry, press [Enter].
  8.  
  9.  
  10.   ASCII Upload macro, press Alt-A
  11.   ────────────────────────────────────────────────────────────────────────────
  12.   {:ala} {ascii %uldir\} {}             ASCII Upload with upload path
  13.  
  14.  
  15.   Macro to review capture file, press Shift-F8                Program required
  16.   ────────────────────────────────────────────────────────────────────────────
  17.   {:sf8} {exec LIST %_cap /e} {}  (aka Scrollback using no RAM)       LIST.COM
  18.  
  19.  
  20.   Simple login macro, press F2
  21.   ────────────────────────────────────────────────────────────────────────────
  22.   {:nf2} {send First|~~Last|~~~~%_pas|} {}       RBBS, PCBoard, Auntie, etc.
  23.  
  24.  
  25.   Macro to list download directory, press Alt-F10
  26.   ────────────────────────────────────────────────────────────────────────────
  27.   {:af0} {exec-w dir %dldir /w} {}                 Download directory
  28.  
  29.  
  30.   Macros to load VT102/VT220 keyboard files
  31.   ────────────────────────────────────────────────────────────────────────────
  32.   {:vt102} {goto ,vt102.mac}        See Appendix E for instructions
  33.   {:vt220} {goto ,vt220.mac}        See Appendix E for instructions
  34.  
  35.  
  36.   Macro to login to a PCBoard (put "pcb" in Dialing Directory macro field)
  37.   ────────────────────────────────────────────────────────────────────────────
  38.   {:pcb} {capture y,c:\commo\pcb.cap} {asci ,}
  39.          {setlook 60,hng}
  40.          {lookfor graphics} {send y|}
  41.          {setlook 60,hng,6,n|}
  42.          {lookfor first name?}
  43.          {send First Last|~%_pas|}  <= your name here
  44.          {lookfor Main Board Command?} {}
  45.   {:hng} {hangup y} {stop}
  46.  
  47.  
  48.   CompuServe login macro
  49.   ────────────────────────────────────────────────────────────────────────────
  50.   {:cis} {setlook 45,hng,2,^c} {send ^c}
  51.          {capt y,c:\commo\cis.%_day} {asci ,:}
  52.          {lookfor User ID:} {send XXXXX,XXX|}  <= Change to your user ID
  53.          {setl 20,hng} {lookfor Password:} {send %_pas|}
  54.          {goto ,vt102.mac}
  55.  
  56.  
  57.   GEnie login macro
  58.   ────────────────────────────────────────────────────────────────────────────
  59.   {:genie}
  60.          {setlook 90,hng} {capt y,c:\commo\genie.%_day}
  61.          {asci ,>} {local y} {send ~H~H~H}
  62.          {lookfor u#} {send XXXXXXXX,%_pas|} {}  <= Change to your user #
  63.  
  64.  
  65.   Doorway Mode macro (key is definable)
  66.   ────────────────────────────────────────────────────────────────────────────
  67.   {:al=} {doorway} {}                   Toggle Doorway Mode
  68.  
  69.  
  70.   DOWNLOAD (receive) menu macro
  71.   ────────────────────────────────────────────────────────────────────────────
  72.   {:pgd} {:mpd}  ** Download menu
  73.    {setv _menu1,               [F1] for HELP}
  74.    {setv _menu3, Y ■ Ymodem batch                 Internal}
  75.    {setv _menu4, G ■ Ymodem-G batch               Internal}
  76.    {setv _menu5, X ■ Xmodem-CRC  (or old Ymodem)  Internal}
  77.    {setv _menu6, O ■ Xmodem-G                     Internal}
  78.    {setv _menu7, S ■ Xmodem csum                  Internal}
  79.    {setv _menu9,   IMPORTANT:  The following external}
  80.   {setv _menu10,    protocols require that the indicated}
  81.   {setv _menu11,    program be installed on your system.}
  82.   {setv _menu13, Z ■ Zmodem batch       using DSZ/GSZ/TXZM}
  83.   {setv _menu14, H ■ HS/Link              using HSLINK.EXE}
  84.   {setv _menu15, K ■ Kermit               using KERMIT.EXE}
  85.   {setv _menu16, B ■ CompuServe B, B+     using OZBEXT.EXE}
  86.    {setv _mlabel,phld,pcbr,,,,,pygr,phbr,,,pckr,,,,pxgr,,,,px2r,,,,,px1r,pybr,pzbr}
  87.    {setv _mcolor,%menu_clr}
  88.    {menu 20,47,DOWNLOAD Protocol Menu} {return}
  89.  
  90.   Help        {:phld} {help z} {goto mpd}
  91.   Y batch     {:pybr} {setv pr_alarm} {setv pr_down,%dldir} {call yb_recv} {}
  92.   Y-G batch   {:pygr} {setv pr_alarm} {setv pr_down,%dldir} {call yg_recv} {}
  93.   X CRC       {:px1r} {setv pr_alarm} {call gfnd} {call xc_recv} {}
  94.   X-G         {:pxgr} {setv pr_alarm} {call gfnd} {call xg_recv} {}
  95.   X csum      {:px2r} {setv pr_alarm} {call gfnd} {call xs_recv} {}
  96.   Zmodem      {:pzbr} {setv pr_alarm} {setv pr_down,%dldir} {call z_recv} {}
  97.   HSLink      {:phbr} {setv pr_alarm} {setv pr_down,%dldir} {setv pr_file}
  98.                       {info-q0s0 Any files to upload?}
  99.                       {ifco ,phbr_1} {call gfnu}
  100.               {:phbr_1} {call h_recv} {}
  101.   Kermit      {:pckr} {setv pr_alarm} {setv pr_down,%dldir} {call k_recv} {}
  102.   CIS BPlus   {:pcbr} {setv pr_alarm} {setv pr_down,%dldir} {call b_recv} {}
  103.  
  104.   {:gfnd} {setv pr_file,%dldir\} {input pr_file,Enter a filename to DOWNLOAD}
  105.           {ifex %pr_file,,gf_y} {info-q0 File exists, overwrite?}
  106.           {ifco gf_y} {send ^X^X^X^X^X^X^X^X^X^X} {}
  107.   {:gf_y} {return}
  108.  
  109.  
  110.   UPLOAD (send) menu macro
  111.   ────────────────────────────────────────────────────────────────────────────
  112.   {:pgu} {:mpu}  ** Upload menu
  113.    {setv _menu1,               [F1] for HELP}
  114.    {setv _menu3, Y ■ Ymodem batch                 Internal}
  115.    {setv _menu4, G ■ Ymodem-G batch               Internal}
  116.    {setv _menu5, X ■ Xmodem-1K  (old Ymodem)      Internal}
  117.    {setv _menu6, O ■ Xmodem-G                     Internal}
  118.    {setv _menu7, S ■ Xmodem                       Internal}
  119.    {setv _menu9,   IMPORTANT:  The following external}
  120.   {setv _menu10,    protocols require that the indicated}
  121.   {setv _menu11,    program be installed on your system.}
  122.   {setv _menu13, Z ■ Zmodem batch       using DSZ/GSZ/TXZM}
  123.   {setv _menu14, H ■ HS/Link              using HSLINK.EXE}
  124.   {setv _menu15, K ■ Kermit               using KERMIT.EXE}
  125.   {setv _menu16, B ■ CompuServe B, B+     using OZBEXT.EXE}
  126.    {setv _mlabel,phlu,pcbs,,,,,pybs,phbs,,,pcks,,,,px1s,,,,px2s,,,,,px1s,pybs,pzbs}
  127.    {setv _mcolor,%menu_clr}
  128.    {menu 20,47,UPLOAD Protocol Menu} {return}
  129.  
  130.   Help        {:phlu} {help z} {goto mpu}
  131.   Y batch     {:pybs} {setv pr_alarm} {call gfnu} {call yb_send} {}
  132.   X-1K        {:px1s} {setv pr_alarm} {call gfnu_x} {call xk_send} {}
  133.   X           {:px2s} {setv pr_alarm} {call gfnu_x} {call x_send} {retu}
  134.   Zmodem      {:pzbs} {setv pr_alarm} {call gfnu} {call z_send} {}
  135.   HS/Link     {:phbs} {setv pr_alarm} {call gfnu} {call h_send} {}
  136.   Kermit      {:pcks} {setv pr_alarm} {call gfnu_x} {call k_send} {}
  137.   CIS BPlus   {:pcbs} {setv pr_alarm} {setv pr_up,%uldir} {call b_send} {}
  138.  
  139.   {:gfnu}   {call sel_delsend}
  140.             {inst sel_up,y} {comp _pos,1} {ifco gfnu_s}
  141.             {setv pr_file,%uldir\}
  142.             {input pr_file,Filename to UPLOAD (Press Enter for picklist)}
  143.             {comp pr_file} {ifco gfnu_s}
  144.             {comp pr_file,%uldir\} {ifco gfnu_s}
  145.             {ifex %pr_file,,gfnu_n} {return}
  146.   {:gfnu_n} {info-d2 File not found}
  147.   {:gfnu_s} {call select}
  148.             {comp pr_file} {ifco gfnu_c}
  149.             {ifexist %_hom^(send^).lst,,gfnu_c} {return}
  150.   {:gfnu_c} {send ^X^X^X^X^X^X^X^X^X^X}
  151.             {inform-s0d1 No files to send} {}
  152.  
  153.   {:gfnu_x} {call gfnu} {ifex %_hom^(send^).lst,,gfnu_r}
  154.             {ropen %_hom^(send^).lst,gfnu_c}
  155.   {:gfnu_a} {read pr_file} {comp pr_file} {ifco gfnu_a} {rclose}
  156.   {:gfnu_r} {return}
  157.  
  158.  
  159.   Protocol macros used for DOWNLOADING (receiving)
  160.   ────────────────────────────────────────────────────────────────────────────
  161.    These are the basic download protocol macros and may be CALLed
  162.    from anywhere. The following variables must be set (if applicable):
  163.      pr_down    download directory
  164.      pr_file    filespec (files to download)
  165.      pr_alarm   set to: 0    - alarm off
  166.                         1+   - number of rings
  167.                         null - default rings (from setup)
  168.  
  169.   Internals
  170.    {:yb_recv} {rymo %pr_down} {alarm %pr_alarm} {retu}         Ymodem batch
  171.    {:yg_recv} {rymo-g %pr_down} {alarm %pr_alarm} {retu}       Ymodem-G batch
  172.    {:xc_recv} {rxmo-y %pr_file} {alarm %pr_alarm} {retu}       Xmodem-CRC
  173.    {:xg_recv} {rxmo-gy %pr_file} {alarm %pr_alarm} {retu}      Xmodem-G
  174.    {:xs_recv} {rxmo-c0y %pr_file} {alarm %pr_alarm} {retu}     Xmodem-Csum
  175.  
  176.   Zmodem
  177.    {:z_recv} {comp z_prog} {ifco dszc#r} {goto %z_prog#r}
  178.    {:dszc#r} {setv progdsz,DSZ.COM} {goto omen#r}
  179.    {:dsze#r} {setv progdsz,DSZ.EXE} {goto omen#r}
  180.    {:gsz#r}  {setv progdsz,GSZ.EXE}
  181.    {:omen#r} {exec-d %protodir\%progdsz portx %_pad,%_irq ha both rz -mr %pr_down}
  182.              {alarm %pr_alarm} {retu}
  183.    {:txzm#r} {exec-d %protodir\TXZM.EXE -c%_pad,%_irq -l%_spe -b%_mod -h -q -r %pr_down}
  184.              {alarm %pr_alarm} {retu}
  185.  
  186.   HS/Link
  187.    {:h_recv} {exec-d %protodir\HSLINK.EXE -pb0x%_pad -pi%_irq -nv %pr_file -u%pr_down}
  188.              {alarm %pr_alarm} {retu}
  189.  
  190.   Kermit
  191.    {:k_recv} {exec-d %protodir\KERMIT.EXE set file type binary, log transaction %_uselog, set port %_por, cd %pr_down, receive}
  192.              {alarm %pr_alarm} {retu}
  193.  
  194.   CIS BPlus
  195.    {:b_recv} {exec-d %protodir\OZBEXT.EXE /c%_por /f%pr_down /n /x}
  196.              {alarm %pr_alarm} {retu}
  197.  
  198.  
  199.   Protocol macros used for UPLOADING (sending)
  200.   ────────────────────────────────────────────────────────────────────────────
  201.    These are the basic upload protocol macros and may be CALLed
  202.    from anywhere. The following variables must be set (if applicable):
  203.      pr_up      upload directory (B+ only)
  204.      pr_file    filespec (files to upload)
  205.      pr_alarm   set to: 0    - alarm off
  206.                         1+   - number of rings
  207.                         null - default rings (from setup)
  208.  
  209.   Internals
  210.    {:yb_send} {symo-k %pr_file} {alarm %pr_alarm} {retu}     Ymodem batch
  211.    {:xk_send} {sxmo-k %pr_file} {alarm %pr_alarm} {retu}     Xmodem 1k
  212.    {:x_send}  {sxmo %pr_file} {alarm %pr_alarm} {retu}       Xmodem
  213.  
  214.   Zmodem
  215.    {:z_send}   {comp z_prog} {ifco dszc#s} {goto %z_prog#s}
  216.    {:dszc#s}   {setv progdsz,DSZ.COM} {goto omen#s}
  217.    {:dsze#s}   {setv progdsz,DSZ.EXE} {goto omen#s}
  218.    {:gsz#s}    {setv progdsz,GSZ.EXE}
  219.    {:omen#s}   {exec-d %protodir\%progdsz portx %_pad,%_irq ha both sz -mr %pr_file}
  220.                {alarm %pr_alarm} {retu}
  221.    {:txzm#s}   {exec-d %protodir\TXZM.EXE -c%_pad,%_irq -l%_spe -b%_mod -h -q -s %pr_file}
  222.                {alarm %pr_alarm} {retu}
  223.  
  224.   HS/Link
  225.    {:h_send} {exec-d %protodir\HSLINK.EXE -pb0x%_pad -pi%_irq -nv %pr_file -u%pr_down}
  226.              {alarm %pr_alarm} {retu}
  227.  
  228.   Kermit
  229.    {:k_send} {exec-d %protodir\KERMIT.EXE set file type binary, log transaction %_uselog, set port %_por, send %pr_file}
  230.              {alarm %pr_alarm} {retu}
  231.  
  232.   CIS BPlus
  233.    {:b_send} {exec-d %protodir\OZBEXT.EXE /c%_por /f%pr_up /n /x}
  234.              {alarm %pr_alarm} {retu}
  235.  
  236.  
  237.   File select macro used for uploading files
  238.   ────────────────────────────────────────────────────────────────────────────
  239.  
  240.   {:select}
  241.         {setv dsksav,%_dsk} {setv dirsav,%_dir}
  242.   {:sel_curdir}
  243.         {setv drive,%_dsk} {setv path,%_dir}
  244.         {comp uldir} {ifco sel_nouldir}
  245.         {setv path,%uldir} {inst %uldir,:}
  246.         {comp _pos,2} {ifco ,sel_nodrive}
  247.         {subs drive,1,2,%uldir} {subs path,3,66,%uldir}
  248.   {:sel_nouldir}
  249.         {call sel_chkpath}
  250.   {:sel_nodrive}
  251.         {file %drive%%path\*.*}
  252.         {ifco sel_dirok}
  253.         {info-q ULDIR is not a valid directory.  Change it?}
  254.         {ifco ,sel_exit}
  255.         {input uldir,Enter new upload directory (no "\" at end)}
  256.         {goto sel_curdir}
  257.   {:sel_dirok}
  258.         {exec-n %drive}
  259.         {comp path} {ifco sel_root}
  260.         {exec-n cd %path} {goto sel_topm}
  261.   {:sel_root}
  262.         {exec-n cd \}
  263.   {:sel_topm}
  264.         {file %drive%%path\*.*} {setv x,1} {setv endflag,0}
  265.   {:sel_floop}
  266.         {leng %_ffn} {setv padlen,12} {decr padlen,%_len}
  267.         {subs pad,1,%padlen,             }
  268.         {setv temp,%_ffn%%pad} {leng %_ffs}
  269.         {setv padlen,9} {decr padlen,%_len}
  270.         {subs pad,1,%padlen,             }
  271.         {setv temp,%temp%%pad%%_ffs}
  272.         {setv temp,%temp  %_ffd  %_fft}
  273.         {setv menu%x,%temp} {setv xl,%x} {incr x} {file-x}
  274.         {ifco ,sel_nomore}
  275.         {comp x,10} {ifco ,sel_floop}
  276.   {:sel_msetup}
  277.         {setv menu11,   [N]  Next page             [Enter] to start upload}
  278.   {:sel_lsetup}
  279.         {setv x,1}
  280.   {:sel_mloop}
  281.         {comp menu%x} {ifco sel_dispm}
  282.         {setv-s temp,menu%x}
  283.         {setv _menu%x,     %x% ■  %temp} {incr x}
  284.         {comp x,11} {ifco ,sel_mloop}
  285.   {:sel_dispm}
  286.         {setv _menu11,%menu11}
  287.         {setv _menu12,   [T]  Top of directory      [M]  Manual entry}
  288.         {setv _menu13,   [W]  vieW/edit send list   [V]  change driVe}
  289.         {setv _menu15,   "\.." = parent directory   "\xxxxx" = subdirectory}
  290.         {setv _menter,sel_done}
  291.         {setv _mlabel,sel_sel,sel_sel,sel_sel,sel_sel,sel_sel,sel_sel,sel_sel,sel_sel,sel_sel,,,,sel_manual,sel_next,,,,,,sel_topm,,sel_drive,sel_view,sel_done}
  292.         {setv _mcolor,%menu_clr}
  293.         {window-k}
  294.         {menu 19,60,Selecting files from: %drive%%path\}
  295.         {setv pr_file}
  296.         {call sel_delsend} {goto sel_exit}
  297.   {:sel_next}
  298.         {comp endflag,1} {ifco sel_enddisp}
  299.         {setv x,1} {goto sel_floop}
  300.   {:sel_nomore}
  301.         {call sel_clrmenu}
  302.         {setv menu11,   ** LAST PAGE **            [Enter] to start upload}
  303.         {setv endflag,1} {goto sel_lsetup}
  304.   {:sel_enddisp}
  305.         {setv endflag,0} {goto sel_topm}
  306.   {:sel_sel}
  307.         {comp _msn,%xl} {ifco-g sel_lsetup}
  308.         {setv-s temp,menu%_msn} {inst temp,\}
  309.         {comp _pos,1} {ifco ,sel_isfile}
  310.         {subs temp,2,8,%temp} {exec-n cd %temp} {setv path,%_dir}
  311.         {call sel_chkpath} {goto sel_topm}
  312.   {:sel_isfile}
  313.         {comp temp} {ifco sel_msetup}
  314.         {inst temp, } {setv x,%_pos} {decr x}
  315.         {subs temp,1,%x,%temp}
  316.         {wopen-a %_hom%^(send^).lst} {write %drive%%path%\%temp}
  317.         {wclose} {goto sel_lsetup}
  318.   {:sel_done}
  319.         {setv pr_file,@%_hom%^(send^).lst}
  320.   {:sel_exit}
  321.         {call sel_cleanup} {return}
  322.   {:sel_cleanup}
  323.         {exec-n %dsksav} {exec-n cd %dirsav}
  324.         {setv x,1} {call sel_clrmenu}
  325.         {setv endflag} {setv dsksav} {setv dirsav} {setv temp} {setv drive}
  326.         {setv path} {setv x} {setv xl} {setv pad} {setv padlen}
  327.         {wind-k0} {return}
  328.   {:sel_clrmenu}
  329.         {setv menu%x,} {incr x}
  330.         {comp x,12} {ifco ,sel_clrmenu} {return}
  331.   {:sel_chkpath}
  332.         {leng %path}
  333.         {comp _len,1} {ifco ,sel_notroot} {setv path}
  334.   {:sel_notroot}
  335.         {return}
  336.   {:sel_delsend}
  337.         {ifex %_hom%^(send^).lst,,sel_nolst}
  338.         {exec-n del %_hom%^(send^).lst}
  339.   {:sel_nolst}
  340.         {return}
  341.   {:sel_view}
  342.         {edit %_hom%^(send^).lst} {goto sel_lsetup}
  343.   {:sel_drive}
  344.         {wind-k0} {setv temp,%drive}
  345.         {sete-p0 sel_escoff}
  346.         {input temp,Enter new drive letter}
  347.         {setesc}
  348.         {comp temp} {ifco sel_lsetup}
  349.         {subs temp,1,1,%temp} {setv drive,%temp:}
  350.         {exec-n %drive} {setv path,%_dir}
  351.         {call sel_chkpath} {goto sel_topm}
  352.   {:sel_manual}
  353.         {wind-k0} {sete-p0 sel_escoff}
  354.         {setv temp,%uldir\}
  355.         {input temp,Enter a filename to UPLOAD}
  356.         {comp temp} {ifco sel_escoff}
  357.         {wopen-a %_hom%^(send^).lst}
  358.         {write %temp} {wclose}
  359.   {:sel_escoff}
  360.         {setesc} {goto sel_lsetup}
  361.  
  362.  
  363.   Macros for Utility Menu
  364.   ────────────────────────────────────────────────────────────────────────────
  365.   {:alu}
  366.    {setv _menu1, A ≡ Edit an External File}
  367.    {setv _menu3, B ≡ Run a Macro}
  368.    {setv _menu5, C ≡ Load a Macro File}
  369.    {setv _menu7, D ≡ Run MOSTHOST host mode}
  370.    {setv _menu8,     (use E to install)}
  371.    {setv _menu10, E ≡ View/Edit MOSTHOST}
  372.    {setv _mlabel,uext,urun,uload,uhost,vhost}
  373.    {setv _mcolor,%menu_clr}
  374.    {menu 14,32,Macro Utility Menu} {}
  375.  
  376.   {:urun}  {setv temp} {input temp,Macro to run} {goto %temp} {}
  377.  
  378.   {:uload}  {setv temp} {input temp,Macro File to load} {goto-f ,%temp}
  379.  
  380.   {:uext}  {setv temp} {input temp,Filename to edit}
  381.            {:uedit} {edit %temp} {goto alu} {}
  382.  
  383.   {:uhost} {call bbs,mosthost.mac}
  384.  
  385.   {:vhost} {setv temp,%_hom%mosthost.mac} {goto uedit}
  386.  
  387.  
  388.                     ──────────────────────────────
  389.                     Full Screen Editor Key Support
  390.                     ──────────────────────────────
  391.  
  392.   The following keys are used by full screen editors such as Visual Editor in
  393.   ProDoor, PCBoard's full screen editor, ANSIED in RBBS and others.  They may
  394.   be changed to suit your own needs (all keys do not work with all editors --
  395.   capture the editor help info on the BBS).  See Appendix D in COMMO.DOC for
  396.   details on character representation.
  397.  
  398.   Note that the left arrow function (^S) is also the XOFF character. This may
  399.   cause a problem on some systems.  If pressing the left arrow seems to hang
  400.   the remote, press Ctrl-Q and change the "lfa" macro to:
  401.  
  402.          {send ^[[D} {}  or  {send ^@K} {}
  403.  
  404.   PgUp and PgDn are normally used for uploading and downloading.  To use them
  405.   for editing, change the key-labels in the menus above.
  406.  
  407.   Macro                   Key             Function
  408.   ────────────────────────────────────────────────────────────────────────────
  409.   {:hom} {send ^W} {}     Home            Start of line
  410.   {:end} {send ^P} {}     End             End of line
  411.   {:pgu} {send ^R} {}     PgUp            Page up
  412.   {:pgd} {send ^C} {}     PgDn            Page down
  413.  
  414.   {:upa} {send ^E} {}     Up Arrow        Cursor up
  415.   {:dna} {send ^X} {}     Down Arrow      Cursor down
  416.   {:lfa} {send ^S} {}     Left Arrow      Cursor left
  417.   {:rta} {send ^D} {}     Right Arrow     Cursor right
  418.  
  419.   {:cla} {send ^A} {}     ^Left Arrow     Word left
  420.   {:cra} {send ^F} {}     ^Right Arrow    Word right
  421.  
  422.   {:ins} {send ^V} {}     Insert          Toggle insert mode
  423.   {:del} {send ^G} {}     Delete          Delete character
  424.   {:cnd} {send ^K} {}     ^End            Delete to end of line
  425.  
  426.  
  427.                                 - end -
  428.  
  429.