perm filename MANUAL[2,VDS]1 blob sn#198042 filedate 1976-01-23 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00021 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00004 00002	                                    KEY CODES
C00008 00003	                              KEY FUNCTIONS
C00012 00004	                           KEY FUNCTIONS (continued)
C00016 00005	                           KEY FUNCTIONS (continued)
C00019 00006	                           KEY FUNCTIONS (continued)
C00024 00007	                           KEY FUNCTIONS (continued)
C00027 00008	                               ERROR CODES
C00031 00009	                               ERROR CODES (continued)
C00034 00010	                               ERROR CODES (continued)
C00036 00011	                             ERROR TYPES
C00038 00012	             STANDARD FIXUPS APPLIED AFTER ERRORS IF REQUESTED
C00041 00013	        STANDARD FIXUPS APPLIED AFTER ERRORS IF REQUESTED (continued)
C00043 00014	                                DISPLAY FORMATS
C00049 00015	                          DISPLAY FORMATS (continued)
C00053 00016	                          DISPLAY FORMATS (continued)
C00054 00017	                        ARITHMETIC AND LOGICAL OPERATORS
C00057 00018	                           OPERATION CODES
C00059 00019	                               ERROR CODES (continued)
C00061 00020	                          DISPLAY FORMATS (continued)
C00064 00021	SIMULATION TESTS                SUBJECT:                                PAGE:
C00069 ENDMK
C⊗;
                                    KEY CODES



        Function    Key     Code                 Function    Key     Code


           0         0        0                    DROP       V       29

           1         1        1                    LST ⊗      L       30

           2         2        2                    STORE      Z       31

           3         3        3                    FIX        J       32

           4         4        4                    SCI        N       33

           5         5        5                    I.X.       I       34

           6         6        6                    EXCH       H       35

           7         7        7                    ;          ;       36

           8         8        8                    ,          ,       37

           9         9        9                    LST x      X       38

           0         0       10                    LST y      Y       39

           .         .       11                    =?         ?       40

           E         E       12                    ≠          #       41

           -         -       13                    >          >       42

           +         -       14                    <          <       43

           no-op     <sp>    15                    MAG        M       44

           /         /       16                    ARG        G       45

           *         *       17                    abs        B       46

           (         (       18                    sqrt       T       47

           ↑         ↑       19                    ↑2         Q       48

           )         )       20                    MAX        W       49

                             21                    SCRatch    S       50

           =         =       22                    FLAG       F       51

           A         A       23                    KEYLOG     K       52

           π         P       24

           R         R       25

           CLEAR     C       26

           CLR D     D       27

           CORRECT   O       28
                              KEY FUNCTIONS




A.  ENTRY KEYS


    0  ...  9           Enter corresponding digit into expression/display;
                        Identify registers, flags, functions, etc.;
                        Select display mode;
                        Enter addresses for GOTO, JUMP, etc.


    .                   Enter a decimal point into the expression/display;
                        During exponent entry, revert to mantissa entry.


    E   or  x10↑        Enter an "E" into the display, and indicate the
                        following entries are to form an exponent.


    +       -           Enter the corresponding sign for the mantissa or
                        exponent that follows (see Arithemetic Keys below).


    COR                 Remove (i.e. correct) the last entry character
                        (e.g. sign, digit, decimal point, "E").




B.  ARITHMETIC KEYS


    +  -  X  /  ↑       Enter the corresponding operator into the expression
                        (the normal algebraic heirarchy will be observed);
                        Indicate the operation for register arithmetic.




C.  EXPRESSION CONTROL

    (       )           Enter the corresponding parentheses into the expression.

    =                   Complete the evaluation of the expression in progress.

    COR                 Clear the last entry (e.g. parenthesis, operator, etc.).

    CLR D               Clear the display contents.

    CLEAR               Clear the entire expression.

    I.X.                Execute the last operator entered.

                        Interchange the last two numeric entries in the expression.

    ,                   Indicate the end of a numeric entry, e.g. separate
                        arguments for a multiple argument function.

    ;                   Indicate the end of a numeric entry, e.g. separate
                        vectors for the summation functions.
                           KEY FUNCTIONS (continued)




D.  REGISTER/FLAG CONTROL


    A  B  C  D  E       Reference the corresponding register or flag (when
                        preceeded by FLAG) for recall, storage, or scratching.


    R                   Indicate a data register is to be involved in recall,
                        storage, or scratching (to be followed by up to 3 digits,
                        or "R" for indirect referencing, or "(" for computed
                        referencing).


    FLAG                Indicate a flag is to be involved in recall, storage,
                        or scratching (to be followed by a digit, a letter,
                        or an expression enclosed in parentheses).


    →   or   STO        Indicate the current value in the display is to be
                        stored in the location to be given [register(s) or
                        flag(s)]; if followed by an arithmetic operator the
                        transfer is to be done as:
                        <reg. contents> <operator> <display contents> → <register>


    SCR                 Indicate that the following register(s)/flag(s) is (are)
                        to be scratched (i.e. cleared).


    LST x    LST y      Recall the contents of the corresponding register to the
                        expression and display.


    LST ⊗               Display the keycode of the last key executed (follow by
                        CLR D to restore the previous display, or by any other
                        key to continue).


    π                   Enter the value of pi (3.14159...) into the expression.


    P                   Used in user definable functions and subroutines to
                        indicate a parameter that will be passed to the routine
                        when it is invoked; followed by one digit to identify
                        the parameter.



E.  MATHEMATICAL FUNCTIONS WITH ONE ARGUMENT


         abs  sin       Enter the corresponding function reference into the
                        expression, with its argument to follow (can be applied
    exp  log  ...       to a preceeding argument with the I.X. key).


    ↑2         !        Execute the indicated function using the currently 
                        displayed value as its argument.
                           KEY FUNCTIONS (continued)




F.  MATHEMATICAL FUNCTIONS WITH MULTIPLE ARGUMENTS


    MAG   ARG   MAX     Enter the corresponding function reference into the
                        expression, with arguments to follow (can be applied
    ABSC  ORD   ...     to preceeding arguments by using the I.X. key).


                        Sum the numbers (or vectors) which follow, i.e.
                                (X1, X2, X3, ...) or
                                (X1, Y1; X2, Y2; X3, Y3; ...) or
                                (X1, Y1, Z1; X2, Y2, Z2; X3, Y3, Z3; ...)


    ELIM                Eliminate the following number (or vector) from the
                        summation in progress.




G.  RELATIONAL OPERATORS


    <   =?   ≠   >      Enter the corresponding operator into the expression
                        (to provide for the evaluation of Boolean expressions).




H.  OVERALL OPERATIONAL CONTROL


    RUN     KEYLOG      Initiate the
                        corresponding
    EDIT    CLOCK       operating mode.
 
 
    FIX      SCI        Establish corresponding display mode, using the previously
                        selected number of digits unless a digit follows.
 

    DEG      RAD        Establish the corresponding units for arguments for
                        all trigonometric functions.




I.  USER DEFINABLE FUNCTIONS


    F       G           Invoke the user definable function indicated by the
                        following identification keystroke.


    DEFINE              Initiate the definition of the function indicated by
                        the following identification keystrokes (i.e. "F" or
                        "G" followed by an identification keystroke).
                           KEY FUNCTIONS (continued)




J.  PROGRAM STATEMENTS


    GO TO               Transfer control to the instruction located at the address
                        referenced by the argument which follows.

    CALL                Transfer control to the instruction located at the address
                        referenced by the argument which follows, and return to
                        this point upon encountering a RETURN.

    JUMP                Skip over the number of instructions indicated by the
                        argument which follows (may be negative).

    LOOP                Initiate the repetitive execution of a group of
                        instructions.

    IF                  Initiate the conditional execution of a sequence of
                        instructions.  If the <value> which follows (which may
                        be a FLAG or an expression inclosed in parentheses) is
                        less than one (<1), skip over the following instructions
                        up to the corresponding ELSE, otherwise resume execution
                        with the next instruction.

    ELSE                Separate instruction sequences for the IF instruction.

    RESET               Execute a STOP, clear the user flags (only 0-9?), and set
                        the program pointer to the start of the current program
                        in preparation for program execution.

    LABEL               For administering labeled transfers within a program,
                        e.g. "GO TO  LABEL  <key>" where the occurance of
                        "LABEL  <key>" elsewhere in the program indicates where
                        control is to be directed.

    SUB                 Indicate that the user subroutine identified by the
                        argument which follows is to be the destination for
                        a GO TO or CALL instruction.

    RETURN              Indicate the end of a subroutine, or a program LOOP.

    ENTER               Stop execution and indicate to the user that the entry
                        indicated by the following argument is needed (the user
                        presses EXEC when the entry is completed).

    PAUSE               Stop execution briefly and display the current value of X.
                        If any key is depressed at the time, execute a STOP.

    STOP                Stop execution, leaving the program pointer where it is
                        (i.e. execution can be resumed by pressing EXEC) and
                        return control to the keyboard.

    INPUT   OUTPUT      Initiate an interaction with a peripheral device
                        (e.g. data transfer, or control) as defined by the
                        code argument which follows.
                           KEY FUNCTIONS (continued)




K.  PROGRAM EDITING


    INS                 Initiate the insertion of instructions into the
                        program at the currently displayed location.  (The
                        insertion is terminated by pressing any edit key.)


    DEL                 Delete the instruction currently displayed.


    STEP                Move the program "through the display" one step.


    BACK                Reverse of STEP.


    SCR                 Delete the program segment indicated by the arguments
                        which follow.




L.  PROGRAM CONTROL (initiated from the keyboard in RUN mode)


    EXEC                Begin (or resume) program execution at the instruction
                        "pointed at" by the program pointer.


    STEP                Display the step number of the next program step to be
                        executed, execute the instruction, display the result,
                        and move to the next step.


    BACK                Decrement the step number and display it along with the
                        corresponding program step (follow by CLR D to restore
                        the previous display, or by any other key to continue).


    GO TO               Shift control to the instruction located at the address
                        referenced by the argument which follows.


    STOP                Stop program execution and return control to the keyboard.


    RESET               Execute a STOP, clear the user flags (only 0-9?), and
                        set the program pointer to zero (the start of the user
                        program area)in preparation for program execution.
                               ERROR CODES




1.  SYNTAX                                                                   Type

    1.1  ")" or "=" after an operator, or when X(0) is empty                   2

    1.2  Operator at beginning of expression, or after another operater        2

    1.3  Attempt to STORE a function reference or null contents of X(0)        2

    1.4  Attempt to apply "COR" to a terminated number                         2

    1.5  "I.X." attempted without proper setup                                 2

    1.6  "DROP" attempted without S(0) being empty                             2



2.  PARENTHESES

    2.1  Extra ")" or missing "("                                              2

    2.2  Extra "(" or missing ")"                                              2

    2.3  Empty parentheses [i.e. ( )]                                          6



3.  MATHEMATICAL

    3.1  Division by zero                                                       6

    3.2  Invalid argument for a function or operation                           6

    3.3  Exponent underflow                                                     6

    3.4  Exponent overflow                                                      6

    3.5  Exponent underflow during register arithemic                           6

    3.6  Exponent overflow during register arithemic                            6

    3.7  Attempt to enter a number out of the maximum dynamic range             7

    3.8  Attempt to execute "m;n"                                               2



4.  REGISTERS/FLAGS

    4.1  Subscript too large                                                    2

    4.2  Subscript negative                                                     5

    4.3  Undefined register contents on recall                                  5

    4.4  Undefined register contents in indirect referencing                    5

    4.5  Undefined register contents in storage with register arithmetic        5

    4.6  Attempt to use more than 15 levels of indirect register referencing    4
                               ERROR CODES (continued)




5.  MULTIPLE KEYSTROKE SEQUENCE

    5.1  Invalid instruction parameter entered                                  4

    5.2  Multiple argument function not followed by "("                         1

    5.3  Too few arguments provided for multiple argument function              2

    5.4  Attempt to provide too many arguments for multiple argument function   2

    5.5  Attempt to apply a general argument to an instruction not allowing     4



6.  EDITING

    6.1  Edit key entered while not in EDIT mode                                2

    6.2  STEP or BACK entered while in KEYLOG mode                              2

    6.3  Attempt to redefine existing subprogram                                5

    6.4  Program area full                                                      2



7.  PROGRAM

    7.1  Attempt to EXECute program while not in RUN mode                       2

    7.2  LABEL not found                                                        4

    7.3  Address beyond the end of the current routine                          3

    7.4  Address negative                                                       5

    7.5  Attempt to execute certain program instructions in keyboard mode       2
         [e.g. ENTER, IF, JUMP, LOOP, RETURN]

    7.6  Attempt to nest ENTER instructions.                                    2



8.  SUBPROGRAM

    8.1  Routine referenced is undefined                                        3

    8.2  Attempt to nest subprograms too deeply                                 3

    8.3  Improper use of RETURN                                                 2
                               ERROR CODES (continued)




9.  EXPRESSION LIMITATION

    9.1  Attempt to make an entry into the stack when it's full                 2

    9.2  Attempt to enter more than 15 adjacent "("                             2

    9.3  Attempt to enter a function when there isn't space for its
         (minimum number of) argument(s)                                        2



0.  INPUT/OUTPUT

    0.1  Attempt to read from an unavailable device                             2

    0.2  Attempt to write on an unavailable device                              2

    0.3  Data error occurred on transfer                                        2

    0.4  Insufficient space at destination for transfer                         2
                             ERROR TYPES




TYPE 1 --  Response:  CLR D & COR → ignore last key and continue

           Error codes:  5.2




TYPE 2 --  Response:  CLR D & COR → ignore last key and continue

           Error codes:  1.1-1.6, 2.1, 2.2, 3.8, 5.3, 5.4, 6.1, 6.2, 6.4




TYPE 3 --  Response:  CLR D & COR → ignore last sequence and continue

           Error codes:  4.1, 7.3, 8.1, 8.2, 0.1-0.4




TYPE 4 --  Response:  COR   → ignore last key and continue sequence
                      CLR D → ignore entire extended sequence

           Error codes:  4.6, 5.1, 5.5, 7.2




TYPE 5 --  Response:  COR   → reject "standard fixup" and ignore entire sequence
                      CLR D → accept "standard fixup" and process last key

           Error codes:  4.2-4.5, 6.3, 7.4




TYPE 6 --  Response:  COR   → reject "standard fixup" and ignore last key
                      CLR D → accept "standard fixup" and process last key

           Error codes:  2.3, 3.1-3.6




TYPE 7 --  Response:  COR   → reject "standard fixup" and ignore last key
                      CLR D → accept "standard fixup" and process last key

           Error codes:  3.7
             STANDARD FIXUPS APPLIED AFTER ERRORS IF REQUESTED




Error 2.3 - EMPTY PARENTHESES

        Remove the last left parenthesis from the expression.




Error 3.1 - DIVISION BY ZERO

        Assume the largest representable magnitude, with the sign of the
        numerator.




Error 3.2 - INVALID ARGUMENT FOR A FUNCTION OR OPERATION

        Operation/Funct.    Valid Argument(s)    Fixup For Invalid Argument

        a↑b                    a≥0, all b            use |a|
                           [a<0, b an integer]

        sqrt x                 x > 0                 use |x|


                --------------- Future Functions ---------------    


        arcsin x               |x| ≤ 1                use sgn(x)

        arccos x               |x| ≤ 1                use sgn(x)

        x!                     x ≥ 0 & integer        use int|x|

        log x                  x > 0                  x = 0  →  -(largest magnitude)
                                                      x < 0  →  use |x|

        ln x                   x > 0                  x = 0  →  -(largest magnitude)
                                                      x < 0  →  use |x|



 
Errors 3.3 & 3.5 - EXPONENT UNDERFLOW

        Assume zero.




Errors 3.4 & 3.6 - EXPONENT OVERFLOW

        Assume the largest representable magnitude, with the appropriate sign.
        STANDARD FIXUPS APPLIED AFTER ERRORS IF REQUESTED (continued)




Error 3.7 - ATTEMPT TO ENTER A NUMBER OUT OF THE MAXIMUM DYMANIC RANGE

        Make the same assumptions as for error 3.3 or 3.4 as appropriate.




Error 4.2 - SUBSCRIPT NEGATIVE

        Assume the subscript is positive with the same magnitude.




Errors 4.3-4.5 - UNDEFINED REGISTER CONTENTS

        Assume the register contains zero.




Error 6.3 - ATTEMPT TO REDEFINE AN EXISTING SUBPROGRAM

        Allow the redefinition.




Error 7.4 - ADDRESS NEGATIVE

        Assume the address is positive with the same magnitude.
                                DISPLAY FORMATS



A.  RUN mode


        1.  Data                When the "visible" register of the expression
                                stack is empty the display is blank.

                                On entry up to 13 digits can be displayed, plus
                                sign and decimal point.  When an exponent is
                                entered only ten mantissa digits are shown.

                                On output either fixed or scientific notation
                                can be selected, with the number of digits to
                                the right of the decimal point prescribed (0-9).
                                A maximum of ten mantissa digits are displayed.

                                When space allows, digits are grouped by threes
                                with a blank between groups.  The sign is always
                                adjacent to the leftmost digit, and in scientific
                                notation the mantissa is right justified with one
                                blank between it and the exponent if space allows.
                                When the exponent is less than ten only one digit
                                is displayed.

                                Examples:       -1234567890123.
                                                -1 234.567 89
                                                 -12 345.67 E-3
                                                -12345.67890E-12
                                                       -1.3 E 27

        2.  Error                When an error occurs, or is predicted, the word
                                "Error" is displayed along with a two digit code
                                (of the form <category>.<member>) identifying
                                the error.  If the error is one to which the user
                                can give different responses for different results
                                (e.g. request application of a standard fixup) an
                                "r" is appended to the code.

                                Examples:          Error 1.2 
                                                   Error 5.1 r  

        3.  Parentheses         When the last entry made in the expression is a
                                left parenthesis the display shows the number of
                                adjacent left parentheses that have been entered.

                                Example:         2-

        4.  LAST KEY            Entering this command causes the keycode of the
                                preceeding key to be displayed.

                                Example:        ......018......

        5.  Function reference  When a function reference is entered into an
                                expression the display indicates the keycode
                                of the function and shows how many arguments are
                                required/allowed.  If the function reference is
                                preceeded by a unary minus the sign is shown.

                                Examples:          - .047.1
                                                     .044.2
                                                     .049.2-6
                          DISPLAY FORMATS (continued)




A.  RUN mode (continued)


        6.  Extended sequence   When an extended sequence is being entered
                                (e.g. →*R23) the keycode of the last key
                                entered is displayed set off by -'s to
                                distinguish it from the LAST KEY display.

                                Example:         ------031------




B.  EDIT mode                   The same display features as in RUN mode apply in
                                this mode except that the program step number is
                                shown in the leftmost four digits.  Thus the
                                effective display size is twelve characters
                                instead of sixteen.


        1.  Data                Examples:       0027-1234567890.
                                                1094-1234.56789
                                                0011 1 234. E-3
                                                0123-12345.6E-12
                                                0076   -1.3 E 27


        2.  Error               Examples:       0436 Error 1.2
                                                0059 Error 5.1 r  


        3.  Parentheses         Example:        1234  2-


        4.  LAST KEY            Example:        7426...018......


        5.  Function reference  Examples:       0852    - .047.1
                                                0002  - .049.2-6


        6.  Extended sequence   Example:        0075---031------


        7.  ENTER               The reference number (0-9) for the entry is 
                                displayed along with the program step number.

                                Example:        0530...E7.......


        8.  Program viewing     The program is displayed three steps at a time
                                with the center code corresponding to the program
                                step number shown.  When the program step number
                                corresponds to the first or last instruction in
                                the memory only two steps are displayed.

                                Examples:       1023-047.018.013
                                                1024-018.013.
                                                0000-   .001.002.
                          DISPLAY FORMATS (continued)




C.  PROGRAM execution


        1.  Data                Same as in RUN mode 


        2.  Error               Same as in EDIT mode


        3.  ENTER               Same as in EDIT mode with the omission of the
                                program step number.

                                Example:        .......E7.......
                        ARITHMETIC AND LOGICAL OPERATORS




NAME                  SYMBOL      MEANING                  EXAMPLES

Unary plus              +         Indicate positiveness    +A, +3, +sqrt(30)

Unary minus             -         Indicate the negative    -A, -3, -sqrt(30)
                                  of a quantity


Up-arrow ("to the")     ↑         Exponentiation           4↑5, 2↑sqrt(30), R5↑A


Implied multiply       none       Multiplication           2 sqrt(30), A R5


Times                   *         Multiplication           4*5, 2*sqrt(30), R5*A

Slash                   /         Division                 4/5, 2/sqrt(30), R5/A


Plus                    +         Addition                 4+5, 2+sqrt(30), R5+A

Minus                   -         Subtraction              4-5, 2-sqrt(30), R5-A


Equal?                  =         Test for equality        4=5, 2=sqrt(30), R5=A

Not equal?              ≠         Test for inequality      4≠5, 2≠sqrt(30), R5≠A

Less than?              <         Test for less than       4<5, 2<sqrt(30), R5<A

Greater than?           >         Test for greater than    4>5, 2>sqrt(30), R5>A








                                FUNCTIONS




NAME             SYMBOL       MEANING             COMMENTS

Absolute value    abs      abs(X)  ≡ |X|

Square            ↑2       X↑2     ≡ X*X

Square root       sqrt     sqrt(X) ≡ X↑0.5        X≥0 (Standard fixup applied if re-
                                                  quested after error 3.2:  use |X|)


Argument          ARG      ARG(X,Y)≡ arctan(Y/X)  Gives principal value (-90≤α≤90)

Magnitude         MAG      MAG(X,Y)≡ sqrt(X*X+Y*Y)

Maximum           MAX      MAX(X,Y,...)           Two to six arguments allowed
                           OPERATION CODES




                        73     maf lang. funct.
                        72     maf
                        71     saf lang. funct.
                        70     saf

                        60     ↑

                        51     implied * in "-("
                        50     implied *

                        41     *
                        40     /

                        31     +
                        30     -

                        23     <
                        22     >
                        21     ≠
                        20     =?

                        10     , or ;

                        01     =
                        00     0


                        (First digit gives the heirarchy level)











                           LANGUAGE FUNCTION RETURN CODES




                 0 - No argument expression(s) allowed (e.g. FIX, SCI)

                 1 - Recall R     [(n)]

                 2 - STOre R      [(n) or (m,n)]

                 3 - SCRATCH R    [(n) or (m,n)]

                 4 - SCRATCH FLAG [(n) or (m,n)]

                 5 - STOre FLAG   [(n) or (m,n)]

                 6 - Recall FLAG  [(n)]
                               ERROR CODES (continued)




5.  MULTIPLE KEYSTROKE SEQUENCE

    5.1  Invalid instruction parameter entered                                  4

    5.2  Multiple argument function not followed by "("                         1

    5.3  Too few arguments provided for multiple argument function              2

    5.4  Attempt to provide too many arguments for multiple argument function   2

    5.5  Attempt to apply a general argument to an instruction not allowing     4



9.  EXPRESSION LIMITATION

    9.1  Attempt to make an entry into the stack when it's full                 2

    9.2  Attempt to enter more than 15 adjacent "("                             2

    9.3  Attempt to enter a function when there isn't space for its
         (minimum number of) argument(s)                                        2


0.  SIMULATION ERROR

    0.1  Invalid keycode entered                                                2
                          DISPLAY FORMATS (continued)




A.  RUN mode (continued)


        6.  Extended sequence   When an extended sequence is being entered
                                (e.g. →*R23) the keycode of the last key
                                entered is displayed, set off by -'s to
                                distinguish it from the LAST KEY display.

                                Example:         ------031------






B.  EDIT mode                   The same display features as in RUN mode apply in
                                this mode except that the program step number is
                                shown in the leftmost four digits.  Thus the
                                effective display size is twelve characters
                                instead of sixteen.


        1.  Data                Examples:       0027-1234567890.
                                                1094-1234.56789
                                                0011 1 234. E-3
                                                0123-12345.6E-12
                                                0076   -1.3 E 27


        2.  Error               Examples:       0436 Error 1.2
                                                0059 Error 5.1 r  


        3.  Parentheses         Example:        1234  2-


        4.  LAST KEY            Example:        7426...018......


        5.  Function reference  Examples:       0852    - .047.1
                                                0002  - .049.2-6


        6.  Extended sequence   Example:        0075---031------
SIMULATION TESTS                SUBJECT:                                PAGE:
****************


               TEST               |                REMARKS                |  DATE
___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________

___________________________________________________________________________________
                                  |                                       |
___________________________________________________________________________________