home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / UEDIT204.ZIP / UEDIT.DOC < prev    next >
Encoding:
Text File  |  1993-01-25  |  21.6 KB  |  502 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.        █████    █████   ██████████   ████████     ███████   ███████████
  9.         ███░░    ███░░   ███░░░░██░  ███░░░████    ░███░░░   ░░░███░░░░░
  10.         ███░     ███░    ███░    ░░  ███░   ░███    ███░        ███░
  11.         ███░     ███░    ██████      ███░     ██░   ███░        ███░
  12.         ███░     ███░    ███░░░░     ███░    ███░   ███░        ███░
  13.          ████  ████░░    ███    ██   ███░  ████░░   ███░        ███░
  14.           ░██████░░░    ██████████░  ████████░░░  ███████       ███░
  15.             ░░░░░░       ░░░░░░░░░░   ░░░░░░░░     ░░░░░░░       ░░░
  16.  
  17.                  UEDIT v2.04 for WWIV version 4.22 or greater
  18.                    Copyright (C) 1990-1992 by Jon R. Rickher
  19.                              All Rights Reserved
  20.  
  21.  
  22.  
  23.  
  24.  
  25. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  26.  
  27.  
  28.                               Table of Contents
  29.                               ═-═-═-═-═-═-═-═-═
  30.  
  31.  
  32.                 1) What UEDIT Does . . . . . . . . . . . . . .
  33.  
  34.                 2) Files Included with UEDIT . . . . . . . . .
  35.  
  36.                 3) System Requirements . . . . . . . . . . . .
  37.  
  38.                 4) Setting Up UEDIT. . . . . . . . . . . . . .
  39.  
  40.                 5) Starting UEDIT. . . . . . . . . . . . . . .
  41.  
  42.                 6) Commandline Parameters. . . . . . . . . . .
  43.  
  44.                 7) Using UEDIT from within WWIV. . . . . . . .
  45.  
  46.                 8) Modifying WWIV to Run UEDIT Easily. . . . .
  47.  
  48.                 9) Using UEDIT . . . . . . . . . . . . . . . .
  49.  
  50.                10) Registration. . . . . . . . . . . . . . . .
  51.  
  52.                11) Dedication. . . . . . . . . . . . . . . . .
  53.  
  54.                12) Suggestions?. . . . . . . . . . . . . . . .
  55.  
  56.                13) Last Word . . . . . . . . . . . . . . . . .
  57.  
  58.  
  59. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  60.  
  61. 1) What UEDIT Does
  62. ══════════════════
  63.  
  64.  
  65. UEDIT is a standalone executable file for WWIV that makes some tasks related
  66. to the maintenance of the USER.LST file easier, more efficient, and more
  67. pleasant. There are four primary uses for it: viewing, searching, printing,
  68. and editing. It will work with any WWIV, version 4.21A or greater.
  69.  
  70. It is possible to completely strip out the built-in user editor and replace
  71. that capability with UEDIT.EXE and save considerable code space, if you
  72. do not have remote sysops. Even if you do have remote sysops, using UEDIT is
  73. definitely worthwhile, as it offers ease-of-use and features far beyond the
  74. internal user editor.
  75.  
  76. For those who multitask their systems, UEDIT is even more useful as you
  77. can edit user entries while someone is online, without them being able to
  78. see a thing. Not to mention being able to search for that suddenly-needed
  79. phone number, etc.
  80.  
  81. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  82.  
  83. 2) Files Included with UEDIT
  84. ════════════════════════════
  85.  
  86.  
  87.    There are at present five files included with this package, as follows:
  88.  
  89. UEDIT   .DOC : This documentation file.
  90. UEDIT   .EXE : The executable editor itself
  91. DU      .C   : Source for small program you compile with your VARDEC.H if you
  92.                   have the FROM modification installed
  93. DU32    .EXE : Use if you have stock 4.21A userrec with 32 msg bases
  94. DU64    .EXE : Use if you have stock 4.21A userrec with 64 msg bases
  95.  
  96. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  97.  
  98. 3) System Requirements
  99. ══════════════════════
  100.  
  101.  
  102. To run UEDIT you need the same basic system requirements as you do to
  103. run WWIV, but a color monitor is highly desirable. 640k is necessary to
  104. run it without shrink from the main menu prompt or from the WFC screen,
  105. with the appropriate source code modifications installed of course. In DOS,
  106. UEDIT requires about 300K. UEDIT supports a mouse if you have one, but is
  107. just as easy to use without one.
  108.  
  109. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  110.  
  111. 4) Setting Up UEDIT
  112. ═══════════════════
  113.  
  114.  
  115. Place UEDIT.EXE in your main WWIV directory (it needs to find and read the
  116. WWIV file CONFIG.DAT). In addition, place DU.EXE there as well. This will
  117. either be a DU.EXE that you compiled yourself using the DU.C source file or
  118. the DU.EXE that comes with UEDIT. I suggest that you do compile DU.C into
  119. DU.EXE yourself, using your own VARDEC.H, especially if you have done many
  120. modifications.
  121.  
  122. If you compile DU.C to DU.EXE yourself, you should use the large memory model.
  123. You may get a warning. Ignore it; it isn't a problem or anything to worry
  124. about.
  125.  
  126. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  127.  
  128. 5) Starting UEDIT
  129. ═════════════════
  130.  
  131. Execute the program by going to the directory containing UEDIT.EXE and type
  132. UEDIT followed by an [Enter]. If UEDIT determines that your userrec structure
  133. is supported then it will load properly, else it will abort and tell you that
  134. it isn't a supported userrec. The size of your userrec is located in the file
  135. CONFIG.DAT. This is how UEDIT determines which structure to use.
  136.  
  137. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  138.  
  139. 6) Commandline Parameters
  140. ═════════════════════════
  141.  
  142.  
  143. UEDIT supports the following optional commandline parameters:
  144.  
  145. /A<int>       Where <int> is a number from 0 to 255. This will be used as
  146.                 the attribute for the backgrond character. Default is 57.
  147. /C<int>       Where <int> is a number from 0 to 255. This is the ordinal
  148.                 value of the background character you wish to use. (3 is
  149.                 a heart, 32 is a space, 177 is a medium shaded block, etc).
  150.                 Default is 177.
  151. /D<int>       Where <int> is a number from 0 to 65535. This value determines
  152.                 the cutoff point in days since last called, for users that
  153.                 will be shown in subdued cyan (rather than red for deleted
  154.                 users, or bright cyan for "normal" users). Default is 90
  155.                 days.
  156. /E<char>      Where <char> is a letter from A to P, representing an AR that
  157.                 exempts callers from being purged, no matter how long it's
  158.                 been since they called.
  159. /S            Sound effects for exploding windows. Default is no sound
  160.                 effects.
  161. /U<usernum>   Start UEDIT with user # <usernum> loaded. Default is user #1.
  162. /V##-##       Where ##-## is a range of security levels to purge (this
  163.                 parameter is intended for use with the /Z parameter,
  164.                 obviously).
  165. /X            Enable exploding windows. Default is no exploding windows.
  166. /Z            Purge userlist based on the number of days since they called
  167.                 (either 90 days or the value defined with the /D option),
  168.                 and will not exempt users with the AR specified with the
  169.                 /R option (if any). This feature only works in the
  170.                 registered version. If using the unregistered version,
  171.                 then UEDIT will load completely, as normal.
  172.  
  173.  
  174. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  175.  
  176. 7) Using UEDIT from within WWIV
  177. ═══════════════════════════════
  178.  
  179.  
  180. While UEDIT may run fine from 'F' at WFC, or SHift-F10, or //DOS, it is
  181. primarily designed to run from WWIV's shrink or as a standalone utility.
  182. If you wish to use it remotely you will need to use a utility such as
  183. DOORWAY or PC Anywhere, that allows intercepting direct screen writes.
  184.  
  185. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  186.  
  187. 8) Modifying WWIV to Run UEDIT Easily
  188. ═════════════════════════════════════
  189.  
  190.  
  191. If you have a registered copy of the WWIV source code, you may install
  192. the following modifications (or modifications of THESE modifications) to run
  193. UEDIT from WFC.
  194.  
  195. Search for the following lines in BBS.C (with ^Q^F using the TC editor):
  196.  
  197.   case 'Z':
  198.     if (ok_local()) {
  199.       zlog();
  200.       nl();
  201.       getkey();
  202.     }
  203.     break;
  204.  
  205. Add the following lines after the above lines:
  206.  
  207.   case '=':
  208.     if (ok_local()) {
  209.       holdphone(1);
  210.       shrink_out("UE",0,0,0,1);
  211.     }
  212.  
  213. If you are using the Borland C++/Turbo C++ Integrated Environment, then you can
  214. now hit F2 (to save your BBS.C file) and F9 (to recompile a new BBS.EXE file).
  215. After this is accomplished, you will be able to run UEDIT.EXE from the WFC
  216. screen by hitting the '=' key. To add it to the main menu prompt, do the
  217. following modification:
  218.  
  219. Find the following lines in BBS.C:
  220.  
  221.   if (strcmp(s,"CLS")==0)
  222.     outstr("\x0c");
  223.  
  224. Add the following lines after the above:
  225.  
  226.   if ((strcmp(s,"UE")==0) && (so())) {
  227.     shrink_out("UE",0,0,0,1);
  228.   }
  229.  
  230. Hit F2 to save and F9 to recompile and you will be in business. Once this
  231. small modification, you will need to create a UE.BAT file (this is what both
  232. of the above shrink calls will execute). Inside this file, do something like
  233. this:
  234.  
  235. @Echo Off
  236. C:
  237. Cd\WWIV
  238. UEDIT /X /S /A56 /C176 /D120 /U%1
  239. ^Z
  240.  
  241. The above example would use exploding windows which "squeak" when opened or
  242. closed, would use a "heavy" block character as the background character,
  243. the background character would be shown in green on cyan, all callers who
  244. haven't called in over 120 days would be shown in muted cyan, and the user
  245. entered on the commandline would be loaded. (For instance UE 3 would start
  246. on user #3, etc.)
  247.  
  248. Of course, you can remove any of the commandline parameters if you do wish to
  249. use the default features. This batch file will allow you to type in
  250. "UE usernumber" at any DOS prompt to start and load that user number's
  251. account (or default to the #1 account if there is no parameter). This file
  252. should be placed somewhere in your PATH.
  253.  
  254. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  255.  
  256. 9) Using UEDIT
  257. ══════════════
  258.  
  259.  
  260. Immediately after executing UEDIT.EXE, you will be shown a screen that contains
  261. two windows. On the left window will be a series of user handles and account
  262. numbers. These may be different colors, depending on that user's account.
  263. The colors mean the following:
  264.  
  265. BRIGHT CYAN on BLUE = Normal account.
  266. DULL CYAN on BLUE   = Has not called in over 90 days (or the number specified
  267.                         by the /D (or -D) commandline parameter.
  268. YELLOW on BLUE      = Security Level of 100 or greater.
  269. BRIGHT RED on BLUE  = Deleted account.
  270.  
  271. On the right side of the window will be a window showing you some of the more
  272. vital statistics about the user on which the scroll bar is located. At the
  273. bottom is a copyright notice and an indicator that F1 gets you help. Most
  274. of the commands are fairly self-explanatory, but I will detail them.
  275.  
  276. IMPORTANT! One thing you NEED to remember is that Control-ENTER saves edit
  277. changes, ESC aborts them. Options with an asterisk next to them are only
  278. available with the registered version.
  279.  
  280. BROWSE MODE Commands:
  281.  
  282.   F1     : Help screen showing commands available at this level.
  283.   ESC    : Quit (with prompt).
  284.   ENTER  : Go into EDIT MODE.
  285. * Alt-   : Search downwards for any account that fits the current search
  286.            specification.
  287. * Alt=   : Search upwards looking for any account that fits the current
  288.            search specification.
  289.   Alt1   : Go straight to the #1 account and go into EDIT MODE.
  290. * AltA   : Add a specified number of new user accounts.
  291.   AltB   : Brings in (imports) saved Search Spec. Of course, this will
  292.            produce an error message if you have not previously saved one
  293.            with the AltW command. This is handy, allowing you to save your
  294.            most commonly used search specification.
  295. * AltC   : Redefine colors for all users who match the current search
  296.            specification so that they match the colors of the #1 account.
  297.   AltD   : Delete the current account. Note: DU.EXE *must* be in the main
  298.            WWIV directory for this to allow the mail and voting records to
  299.            also be deleted.
  300. * AltE   : Exchange the current account with another one you select.
  301.   AltF   : Fix (restore) a deleted user account.
  302.   AltG   : Go directly to a specified user account number.
  303. * AltM   : Calculate number of users that match current search specification.
  304.   AltO   : Shell to the operating system, leaving only a small kernel in
  305.            memory (about 7-10K).
  306. * AltP   : Print some information about all users who match the current search
  307.            specification, to a file called UINFO.TXT, which will be in the main
  308.            WWIV directory (or the directory where you first executed UEDIT.EXE,
  309.            actually). You may specify long or short information; long
  310.            (obviously) has more detailed information. Short info contains
  311.            minimal information, primarily for use in validations. If you have
  312.            the FROM modification installed, then you may also specify [M]
  313.            for mailing list - this will print out the mailing address infor-
  314.            mation for the users who match the search spec.
  315.   AltR   : Perform the equivalent of WWIV's //RESETF function. Rebuild the
  316.            file NAMES.LST based on the current status of the USER.LST file.
  317.            Because of the in-memory sorting technique used, this function
  318.            boosts memory requirements somewhat (but if you've shrunk out to
  319.            UEDIT, it doesn't much matter).
  320.   AltS   : Define a search specification. This is *quite* a powerful tool,
  321.            and quite fast as well. The default search specification will find
  322.            *everyone*.
  323.   AltW   : Write out (export, save) the current search specification. This is
  324.            saved to a file called UEDIT.SCH, and will be located in the dir
  325.            from which UEDIT was originally executed (generally the main WWIV
  326.            directory).
  327.   AltX   : Quick exit, no prompt.
  328. * AltZ   : Zap (purge) user accounts (registered version only). This function
  329.            goes through the entire user file, deleting anyone who matches
  330.            the currently defined search specification.
  331.  
  332. If you have a mouse then you may click on the scroll bars to move through
  333. the user list. Double-clicking on a handle in the right window will put
  334. you into EDIT MODE with that user's account. The right mouse button serves
  335. as an ESC key, and pressing the right mouse button twice will quit you out
  336. of UEDIT.
  337.  
  338.  
  339.  
  340. EDIT MODE Commands:
  341.  
  342.   F1           : Help screen showing available EDIT MODE commands.
  343. * Alt-         : As above, but you remain in EDIT MODE.
  344. * Alt=         : As above, but you remain in EDIT MODE.
  345. * AltA         : As above, but you remain in EDIT MODE.
  346.   AltB         : As above, but you remain in EDIT MODE.
  347. * AltC         : As above, but you remain in EDIT MODE.
  348.   AltD         : As above, but you remain in EDIT MODE.
  349. * AltE         : As above, but you remain in EDIT MODE.
  350.   AltF         : As above, but you remain in EDIT MODE.
  351.   AltG         : As above, but you remain in EDIT MODE.
  352. * AltM         : As above, but you remain in EDIT MODE.
  353.   AltO         : As above, but you remain in EDIT MODE.
  354. * AltP         : As above, but you remain in EDIT MODE.
  355.   AltR         : As above, but you remain in EDIT MODE.
  356.   AltS         : As above, but you remain in EDIT MODE.
  357.   AltW         : As above, but you remain in EDIT MODE.
  358.   AltX         : As above - quits you out with no prompting.
  359. * AltZ         : As above, but you remain in EDIT MODE.
  360.   TAB          : Move to the next field.
  361.   ENTER        : Move to the next field.
  362.   ^HOME        : Move to the first field (user handle).
  363.   ^END         : Move to the last field.
  364.   ^LeftCursor  : Move down one user, remain in EDIT MODE.
  365.   ^RightCursor : Move up one user, remain in EDIT MODE.
  366.  
  367. The last two commands listed above allow you to use EDIT MODE itself as a
  368. form of user list browser, if you're more comfortable staying in EDIT MODE.
  369.  
  370. In EDIT MODE you may click on any field to edit. There are so many fields to
  371. edit that may not fit on the entry screen at one time. But that's okay,
  372. since it scrolls for you automatically, as needed. You may use the cursor
  373. keys to move around the various fields as well. In 50-line mode, using
  374. an unmodified 32- or 64-msg base userrec, all editable fields *do* fit on
  375. the screen simultaneously.
  376.  
  377. In general, trailing and beginning spaces are trimmed from each field. The
  378. exceptions are the handle, real name, password, callsign, macro fields: with
  379. these fields, the trailing spaces are trimmed, but leading spaces are not.
  380. However, when using macros it is preferable to use TABs (^P^I will embed a
  381. TAB) to do spacing.
  382.  
  383. One field, age, is protected. You may not edit this field directly. It is
  384. altered by changing the user's birthday; when you edit the birthday, the
  385. age field is automatically updated for you.
  386.  
  387. When editing any of the string fields (macros, whatever), you may use the
  388. standard ^P sequence to get keys that you couldn't normally type (such as
  389. ^P itself, TAB, ENTER, ESC, etc.).
  390.  
  391. The bottom of the screen when in EDIT MODE shows you a short description of
  392. the field the cursor is currently on. The bottom if the edit window shows
  393. you the handle of the current user and how many days it's been since he/she
  394. was last on the BBS.
  395.  
  396. When editing colors, the space bar or + key will cycle the color up by a
  397. value of 1. Using the - (minus) key will cycle the background colors.
  398.  
  399. The sex and status (deleted, inactive, normal) are toggled with the space
  400. bar.
  401.  
  402. Note: while UEDIT's AltR command does indeed rewrite NAMES.LST for you (which
  403. is what WWIV's own //RESETF command does), WWIV will not have updated
  404. information when returning from a shrink since it does not reread NAMES.LST,
  405. so it is best to do WWIV's own //RESETF if you have A) deleted anyone,
  406. B) changed anyone's handle or C) exchanged one or more user accounts.
  407.  
  408. Also, while UEDIT will handle up to 65,535 user accounts, I suggest you not
  409. exceed 10,000. (And this really should not be a problem - I don't know of
  410. *any* WWIV board with even a third that many user accounts, and many boards
  411. have been up for several years.) I also don't think WWIV itself would deal
  412. with more than 10,000 user accounts very adequately. If this ever becomes a
  413. problem for anyone, let me know, and I will expand a bit.
  414.  
  415.  
  416.  
  417. SEARCH SPEC DEFINITION
  418.  
  419. This is the area where you define the search specification you wish to use.
  420. Other than the obvious data entry commands for defining the search spec,
  421. ESC to abort the search specification edit, and CONTROL-ENTER to save it,
  422. two other commands are available at this level:
  423.  
  424. AltB : Retrieve (bring in) a saved search specification. This will get you
  425.          an error beep if you haven't saved one to disk with...
  426. ALTW : Save (write) the current search specification to disk. This is so
  427.          that if you use a specific search specification a great deal of the
  428.          time you don't have to redefine it each time. The search spec is
  429.          written to disk as UEDIT.SCH in the directory that you first started
  430.          UEDIT from.
  431.  
  432. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  433.  
  434. 10) Registration
  435. ════════════════
  436.  
  437.  
  438. This program is ShareWare. Use beyond a two-week trial period requires that
  439. you register it - hey, it's taken me literally YEARS to get it this way; my
  440. time is surely worth a little something and it pays to support ShareWare
  441. authors. If no one ever registers, then why should I release upgrades and
  442. improvements? Show me that it's worthwhile to do so. Besides, considering
  443. the amount of time I have invested here, the cost is pretty minimal.
  444.  
  445. What does registration get you? It gets you my undying gratitude - okay, $20
  446. worth of undying gratitude anyway <grin>. And, of course, it gets rid of the
  447. irritating reminder beeps and enables all disabled features, several of which
  448. are pretty nice things to have. AND you can brag to your friends about how
  449. you actually registered something (but don't give 'em a heart attack or
  450. anything). And, as if all that weren't enough, it'll keep me writing and
  451. releasing other quality WWIV utilities.
  452.  
  453. To register, send $20 to the following address:
  454.  
  455.                               Jon R. Rickher
  456.                               c/o The Fellowship
  457.                               7035 Ethel
  458.                               St. Louis, MO 63117
  459.  
  460. If you wish UEDIT to be mailed to you, specify what format (360k or 720k),
  461. and include an addition $5 US ($10 US if you're not in the United States).
  462. This also applies to upgrades. In other words, it is my strong preference
  463. that you get an account on The Fellowship (314-644-5777 USR Dual Standard)
  464. and get your updates whenever it's convenient for you. This will be easier
  465. on me and cheaper for you.
  466.  
  467. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  468.  
  469. 11) Dedication
  470. ══════════════
  471.  
  472.  
  473. This program is dedicated to £ady Sƒ, for her many good suggestions, and her
  474. help in running our board. I never could've done half this without her
  475. help, patience, and devotion. She believed in me before I believed in myself.
  476.  
  477. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  478.  
  479. 12) Suggestions?
  480. ════════════════
  481.  
  482.  
  483. Any questions, or suggestions for enhancements may be directed to WWIVNet
  484. address 1@3456. I'd be quite happy to hear from you - no kidding! I've added
  485. many things at peoples' request. I don't add things that are only applicable
  486. to a small minority of people, but additions that are useful to most people,
  487. or even many people, are generally added.
  488.  
  489. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  490.  
  491. 13) Last Word
  492. ═════════════
  493.  
  494.  
  495. My thanks to the many, many people who have made WWIVNet an enjoyable experi-
  496. ence for us here. Let us continue to make this a fun thing to do!
  497.  
  498.                        Tolkien, 1@3456, January 15, 1993
  499.  
  500. ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
  501.  
  502.