echo Legend:
echo +   => Shared region
echo x   => Exclusive region
echo ' ' => Unlocked region
echo .   => Clearing region
echo []  => Start/End of a region
echo After each lock command, the proposed region is shown followed
echo by the result of applying it.
echo * Established region wraps new region
echo ** Both boundaries align
echo [
exec lock 0 1 10 1
echo   [+++++++++++++]
echo [ [+++++++++++++]
exec lock 0 1 10 1
echo   [+++++++++++++]
echo [ [+++++++++++++]
exec lock 0 1 10 2
echo   [xxxxxxxxxxxxx]
echo [ [xxxxxxxxxxxxx]
exec lock 0 1 10 1
echo   [+++++++++++++]
echo [ [xxxxxxxxxxxxx]
exec lock 0 1 10 2
echo   [xxxxxxxxxxxxx]
echo [ [xxxxxxxxxxxxx]
exec lock 0 1 10 0
echo   [.............]
echo [
exec lock 0 10 0 1
echo         [++++++++
echo [       [++++++++
exec lock 0 10 0 1
echo         [++++++++
echo [       [++++++++
exec lock 0 10 0 2
echo         [xxxxxxxx
echo [       [xxxxxxxx
exec lock 0 10 0 2
echo         [xxxxxxxx
echo [       [xxxxxxxx
exec lock 0 10 0 1
echo         [++++++++
echo [       [xxxxxxxx
exec lock 0 10 0 0
echo         [........
echo [
echo ** Left boundaries align
exec lock 0 1 10 1
echo   [+++++++++++]
echo [ [+++++++++++]
exec lock 0 1 5 1
echo   [+++++]
echo [ [+++++++++++]
exec lock 0 1 5 2
echo   [xxxxx]
echo [ [xxxxx][++++]
exec lock 0 1 3 1
echo   [++]
echo [ [xxxxx][++++]
exec lock 0 1 10 0
echo   [............
echo [
exec lock 0 1 10 1
echo   [+++++++++++]
echo [ [+++++++++++]
exec lock 0 1 9 2
echo   [xxxxxxxx]
echo [ [xxxxxxxx][+]
exec lock 0 1 5 0
echo   [...]
echo [      [***][+]
exec lock 0 6 3 0
echo        [.]
echo [         [*][+]
exec lock 0 9 1 0
echo          [.]
echo [           [+]
exec lock 0 10 1 0
echo             [.]
echo [
exec lock 0 1 0 1
echo   [++++++++++++
echo [ [++++++++++++
exec lock 0 1 5 1
echo   [++++]
echo [ [++++++++++++
exec lock 0 1 5 2
echo   [xxxx]
echo [ [xxxx][++++++
exec lock 0 1 0 0
echo   [............
echo [
exec lock 0 5 0 2
echo     [xxxxxxxxxx
echo [   [xxxxxxxxxx
exec lock 0 5 5 1
echo     [++++]
echo [   [xxxxxxxxxx
exec lock 0 5 0 1
echo     [++++++++++
echo [   [xxxxxxxxxx
exec lock 0 0 0 0
echo [..............
echo [
echo ** Common right side
exec lock 0 5 5 1
echo       [+++++]
echo [     [+++++]
exec lock 0 9 1 1
echo           [+]
echo [     [+++++]
exec lock 0 9 1 2
echo           [x]
echo [     [++][x]
exec lock 0 5 4 2
echo       [xx]
echo [     [xxxxx]
exec lock 0 8 2 2
echo           [x]
echo [     [xxxxx]
exec lock 0 9 1 0
echo           [.]
echo [     [xxx]
exec lock 0 5 4 0
echo       [...]
echo [
exec lock 0 5 0 1
echo     [++++++++++
echo [   [++++++++++
exec lock 0 10 0 1
echo          [+++++
echo [   [++++++++++
exec lock 0 10 0 2
echo          [xxxxx
echo [   [+++][xxxxx
exec lock 0 5 0 0
echo     [..........
echo [
echo ** Completely interior
exec lock 0 5 10 1
echo      [++++++++]
echo [    [++++++++]
exec lock 0 6 8 1
echo       [++++++]
echo [    [++++++++]
exec lock 0 8 3 1
echo         [+]
echo [    [++++++++]
exec lock 0 8 3 2
echo         [x]
echo [    [+][x][++]
exec lock 0 12 1 2
echo             x
echo [    [++xxx+x+]
exec lock 0 6 8 0
echo       [......]
echo [    [+]    [+]
exec lock 0 0 0 0
echo [..............
echo [
exec lock 0 5 0 1
echo      [+++++++++
echo [    [+++++++++
exec lock 0 10 0 1
echo           [++++
echo [    [+++++++++
exec lock 0 10 0 2
echo           [xxxx
echo [    [+++][xxxx
exec lock 0 11 0 0
echo             [..
echo [    [+++][x]
exec lock 0 6 0 0
echo        [.......
echo [    [+]
exec lock 0 5 0 0
echo      [.........
echo [
exec lock 0 10 0 1
echo          [+++++
echo [        [+++++
exec lock 0 11 0 1
echo           [+]
echo [        [+++++
exec lock 0 11 0 1
echo           [+]
echo [        [+++++
exec lock 0 11 1 2
echo           [x]
echo [        [+x+++
exec lock 0 13 0 1
echo             [+]
echo [        [+x+++
exec lock 0 10 0 0
echo          [.....
echo [
echo * We wrap the locked region
echo ** Left boundaries align
exec lock 0 1 10 1
echo  [++++]
echo [[++++]
exec lock 0 1 15 1
echo  [++++++++]
echo [[++++++++]
exec lock 0 1 16 1
echo  [+++++++++]
echo [[+++++++++]
exec lock 0 1 20 2
echo  [xxxxxxxxxxxxx]
echo [[xxxxxxxxxxxxx]
exec lock 0 1 30 1
echo  [+++++++++++++++++++]
echo [[xxxxxxxxxxxxx][++++]
exec lock 0 22 11 2
echo                   [xxx]
echo [[xxxxxxxxxxxxx][+][xx]
exec lock 0 1 40 0
echo  [.........................]
echo [
exec lock 0 1 0 1
echo  [++++++++++
echo [[++++++++++
exec lock 0 1 0 1
echo  [++++++++++
echo [[++++++++++
exec lock 0 1 0 2
echo  [xxxxxxxxxx
echo [[xxxxxxxxxx
exec lock 0 0 0 0
echo [...........
echo [
exec lock 0 1 0 1
echo  [++++++++++
echo [[++++++++++
exec lock 0 10 0 1
echo       [+++++
echo [[++++++++++
exec lock 0 10 0 2
echo       [xxxxx
echo [[+++][xxxxx
exec lock 0 0 0 0
echo [...........
echo [
echo ** Right boundaries align
exec lock 0 5 10 1
echo     [++++++++]
echo [   [++++++++]
exec lock 0 4 11 1
echo    [+++++++++]
echo [  [+++++++++]
exec lock 0 3 12 2
echo   [xxxxxxxxxx]
echo [ [xxxxxxxxxx]
exec lock 0 0 15 2
echo [xxxxxxxxxxxx]
echo [xxxxxxxxxxxx]
exec lock 0 0 0 0
echo [.............
echo [
exec lock 0 5 0 1
echo      [++++++++
echo [    [++++++++
exec lock 0 4 0 1
echo     [+++++++++
echo [   [+++++++++
exec lock 0 3 0 2
echo    [xxxxxxxxxx
echo [  [xxxxxxxxxx
exec lock 0 2 0 2
echo   [xxxxxxxxxxx
echo [ [xxxxxxxxxxx
exec lock 0 0 0 2
echo [xxxxxxxxxxxxx
echo [xxxxxxxxxxxxx
exec lock 0 0 0 0
echo [.............
echo [
echo ** Consume locked region
exec lock 0 5 10 1
echo      [++++++++]
echo [    [++++++++]
exec lock 0 4 12 1
echo     [++++++++++]
echo [   [++++++++++]
exec lock 0 2 16 1
echo   [++++++++++++++]
echo [ [++++++++++++++]
exec lock 0 1 18 2
echo  [xxxxxxxxxxxxxxxx]
echo [[xxxxxxxxxxxxxxxx]
exec lock 0 0 24 2
echo [xxxxxxxxxxxxxxxxxxxxx]
echo [xxxxxxxxxxxxxxxxxxxxx]
exec lock 0 0 30 0
echo [.........................]
echo [
exec lock 0 5 3 1
echo      [++]
echo [    [++]
exec lock 0 10 5 1
echo            [++++]
echo [    [++]  [++++]
exec lock 0 20 5 2
echo                      [xxxx]
echo [    [++]  [++++]    [xxxx]
exec lock 0 4 30 2
echo     [xxxxxxxxxxxxxxxxxxxxxxxxxx]
echo [   [xxxxxxxxxxxxxxxxxxxxxxxxxx]
exec lock 0 1 35 1
echo   [++++++++++++++++++++++++++++++]
echo [ [+[xxxxxxxxxxxxxxxxxxxxxxxxxx]+]
exec lock 0 0 40 1
echo [+++++++++++++++++++++++++++++++++++]
echo [++][xxxxxxxxxxxxxxxxxxxxxxxxxx][+++]
exec lock 0 0 0 0
echo [....................................
echo [
exec lock 0 5 5 1
echo      [+++]
echo [    [+++]
exec lock 0 4 0 1
echo     [++++++]
echo [   [++++++]
exec lock 0 4 0 0
echo     [..........
echo [
exec lock 0 5 3 1
echo      [++]
echo [    [++]
exec lock 0 10 5 1
echo              [++++]
echo [    [++]    [++++]
exec lock 0 0 0 1
echo [++++++++++++++++++++
echo [++++++++++++++++++++
exec lock 0 0 0 0
echo [....................
echo [
exec lock 0 5 3 1
echo      [++]
echo [    [++]
exec lock 0 10 3 1
echo             [++]
echo [    [++]   [++]
exec lock 0 4 0 1
echo     [++++++++++++++
echo [   [++++++++++++++
exec lock 0 10 3 2
echo             [**]
echo [   [++++++][**][++
exec lock 0 0 0 2
echo [xxxxxxxxxxxxxxxxxx
echo [xxxxxxxxxxxxxxxxxx
exec lock 0 0 0 0
echo [..................
echo [
echo * Our start is within the locked region or one byte after and our
echo   end is after the end of the locked region.
echo ** The regions are the same type: Merge into a single large region
exec lock 0 5 5 1
echo      [+++]
echo [    [+++]
exec lock 0 6 5 1
echo       [+++]
echo [    [++++]
exec lock 0 8 8 1
echo         [++++++]
echo [    [+++++++++]
exec lock 0 16 4 1
echo                 [++]
echo [    [+++++++++++++]
exec lock 0 20 0 1
echo                     [+++
echo [    [++++++++++++++++++
exec lock 0 5 16 0
echo      [..............]
echo [                    [+++
exec lock 0 20 0 0
echo                      [...
echo [
exec lock 0 6 6 2
echo       [xxxx]
echo [     [xxxx]
exec lock 0 7 7 2
echo        [xxxxx]
echo [     [xxxxxx]
exec lock 0 14 7 2
echo               [xxxxx]
echo [     [xxxxxxxxxxxxx]
exec lock 0 21 0 2
echo                      [xx
echo [     [xxxxxxxxxxxxxxxxx
exec lock 0 6 0 0
echo       [.................
echo [
echo ** Different types just after the end of the locked region
exec lock 0 1 3 1
echo  [++]
echo [[++]
exec lock 0 4 3 2
echo      [xx]
echo [[++][xx]
exec lock 0 7 3 1
echo          [++]
echo [[++][xx][++]
exec lock 0 10 0 2
echo              [xxx
echo [[++][xx][++][xxx
exec lock 0 5 0 0
echo       [.........
echo [[++]x
exec lock 0 5 0 1
echo       [+++
echo [[++]x[+++
exec lock 0 1 0 0
echo  [...
echo [
echo ** New region consumes the intersection.
exec lock 0 5 5 1
echo      [+++]
echo [    [+++]
exec lock 0 8 6 2
echo          [xxx]
echo [    [++][xxx]
exec lock 0 6 0 2
echo         [xxxxxx
echo [    [+][xxxxxx
exec lock 0 5 0 0
echo      [.........
echo [
echo ** New region is dominated
exec lock 0 5 5 2
echo      [xxx]
echo [    [xxx]
exec lock 0 8 6 1
echo         [++++]
echo [    [xxx][++]
exec lock 0 6 0 1
echo        [++++++
echo [    [xxx][+++
exec lock 0 5 0 0
echo      [........
echo [
echo * Our start falls before the locked region.  Our end falls just
echo   before or with in the region (although we do not consume it)
echo ** The regions are the same type: Merge into a single large region
exec lock 0 10 5 1
echo           [+++]
echo [         [+++]
exec lock 0 5 5 1
echo      [+++]
echo [    [++++++++]
exec lock 0 4 4 1
echo     [++]
echo [   [+++++++++]
exec lock 0 0 10 1
echo [+++++++++]
echo [+++++++++++++]
exec lock 0 0 15 0
echo [...............]
echo [
exec lock 0 10 0 1
echo           [++++
echo [         [++++
exec lock 0 5 5 1
echo      [+++]
echo [    [+++++++++
exec lock 0 4 1 1
echo     +
echo [   [++++++++++
exec lock 0 0 0 1
echo [++++++++++++++
echo [++++++++++++++
exec lock 0 0 0 0
echo [....
echo [
exec lock 0 10 5 2
echo           [xxx]
echo [         [xxx]
exec lock 0 5 5 2
echo      [xxx]
echo [    [xxxxxxxx]
exec lock 0 4 4 2
echo     [xx]
echo [   [xxxxxxxxx]
exec lock 0 0 10 2
echo [xxxxxxxxx]
echo [xxxxxxxxxxxxx]
exec lock 0 0 15 0
echo [...............]
echo [
exec lock 0 10 0 2
echo           [xxxx
echo [         [xxxx
exec lock 0 5 5 2
echo      [xxx]
echo [    [xxxxxxxxx
exec lock 0 4 1 2
echo     x
echo [   [xxxxxxxxxx
exec lock 0 0 0 2
echo [xxxxxxxxxxxxxx
echo [xxxxxxxxxxxxxx
exec lock 0 0 0 0
echo [....
echo [
echo ** Different types just before the start of the locked region
exec lock 0 5 5 1
echo       [+++]
echo [     [+++]
exec lock 0 3 2 2
echo    [x]
echo [  [x][+++]
exec lock 0 2 1 1
echo   +
echo [ +[x][+++]
exec lock 0 1 0 2
echo  [xxxx
echo [[xxxx
exec lock 0 0 1 1
echo +
echo +[xxxx
exec lock 0 0 0 0
echo [....
echo [....
exec lock 0 5 0 1
echo      [++++
echo [    [++++
exec lock 0 0 5 2
echo [xxxxxxxxx
echo [xxxxxxxxx
exec lock 0 0 0 0
echo [....
echo [
echo ** New region consumes the intersection.
exec lock 0 5 5 1
echo      [+++]
echo [    [+++]
exec lock 0 4 3 2
echo     [x]
echo [   [x][+]
exec lock 0 2 0 2
echo    [xxxxxx
echo [  [xxxxxx
exec lock 0 0 0 0
echo [....
echo [
exec lock 0 5 0 1
echo      [++++++
echo [    [++++++
exec lock 0 4 5 2
echo     [xxx]
echo [   [xxx][++
exec lock 0 4 0 0
echo     [....
echo [
exec lock 0 5 0 1
echo      [++++
echo [    [++++
exec lock 0 0 0 2
echo [xxxxxxxxxx
echo [xxxxxxxxxx
exec lock 0 0 0 0
echo [....
echo [
echo ** New region is dominated
exec lock 0 5 5 2
echo      [xxx]
echo [    [xxx]
exec lock 0 4 5 1
echo     [+++]
echo [   +[xxx]
exec lock 0 0 0 0
echo [...
echo [
exec lock 0 5 0 2
echo     [xxxx
echo [   [xxxx
exec lock 0 0 0 1
echo [++++++++
echo [+++[xxxx
exec lock 0 0 0 0
echo [....
echo [
