PDA

View Full Version : [SPS] Project GetProbableAreas



marpis
11-30-2011, 09:52 AM
Ok, so I want SPS to have a fully working world walker before summer.
In order to do this, we need SPS_GetMyPos() to actually find you where ever you are, even if you don't know what area you're in. This means SPS must recognize the area you are in. Actually, it's enough to find 1-5 most probable areas you are in, and one of those must always be the correct one.

Currently, I have 2 methods to filter out areas that we are not at:
1. Color themes in areas, which I call profiles.
2. Static objects, such as rocks and trees.

Note that I am yet to write a function that actually tells me what static objects there are in the minimap, but this is not a priority right now.

These two methods now filter out about 90-95% of areas, giving anywhere between 1 and 20 most probable areas. This somehow needs to be improved to only give 1-5 areas. Note that this does not need to be "super fast", because I'm planning SPS to use an AI and load a couple areas at a time and predict places where you will probably go. 1-3 seconds to perfectly find our location anywhere in the RuneScape map will do.

All ideas of new filters are welcome. Road colors maybe? What else?
Contributing to this project is very easy. Just create a function that returns a TStringArray, which contains somehow filtered, most probable SPS areas.

Here's a test script in it's current form:

{ =========================== SPS Area profile================================ ]

This script demonstrates the technique I will adapt to SPS to find our current
area. It uses minimap colors and objects found in minimap to see what are the
most probable areas we are in.

It currently filters out about 90-95% of areas, so it can return anywhere
between 1 and 25 areas. All ideas on how to improve the system and filter
even more areas are welcome.

- marpis, 30/11/2011

[ ================================================== ========================== }

program SPS_Area_Profiler;
{.include srl/srl.scar}
{.include sps/sps.simba}

const
AreasPath = AppPath + '/Includes/sps/img/runescape_surface/';

var
// SPS_ProfiledAreas[555] returns all areas with the profile '555'.
SPS_ProfiledAreas: Array [0..999] of TStringArray;

// Get a profile for a view. Returns an integer between 0 and 999.
function GetProfile(View: T3DIntegerArray): Integer;
var
x, y, i, ii: integer;
ColorSum: Array [0..2] of integer;
ProfileAsArray: Array [0..2] of integer;
begin
for x := 0 to 19 do
for y := 0 to 19 do
for i := 0 to 2 do
ColorSum[i] := ColorSum[i] + View[x][y][i];

for i := 0 to 2 do
ColorSum[i] := ColorSum[i] div 400 div 16; // this is to get an averegage of all the pixels

for i := 0 to 2 do
for ii := 1 to 10 do
if (ColorSum[i]) <= (25.5*ii) then
begin
ProfileAsArray[i] := ii - 1;
// Writeln('ColorSum['+ToStr(i)+'] = '+ToStr(ColorSum[i])+' -> ProfileAsArray['+ToStr(i)+'] = '+ToStr(ProfileAsArray[i]));
Break;
end;

Result := ProfileAsArray[0] + ProfileAsArray[1]*10 + ProfileAsArray[2]*100;
end;

// Crops a view from the area, (x, y) being the top-left-corner
function CropArea(x, y: integer; Area: T3DIntegerArray): T3DIntegerArray;
var
xx, yy, i: integer;
begin
SetLength(Result, 20);

for xx := 0 to 19 do
begin

SetLength(Result[xx], 20);
for yy := 0 to 19 do
begin
SetLength(Result[xx][yy], 3);
for i := 0 to 2 do
try
Result[xx][yy][i] := Area[x + xx][y + yy][i];
except
Writeln(ExceptionToString(ExceptionType, ExceptionParam));
end;
end;
end;
end;

// Returns all profiles in that area
function GetAreaProfiles(Area: T3DIntegerArray): Array of integer;
var
x, y, n: integer;
View: T3DIntegerArray;

begin
SetLength(Result, 9999999);

for x := 0 to 80 do
for y := 0 to 80 do
begin
View := CropArea(x, y, Area);
Result[n] := GetProfile(View);
Inc(n);
end;

SetLength(Result, n);
ClearSameIntegers(Result);
end;

// Profiles one area
procedure ProfileArea(Area: string);
var
i, L: integer;
Profiles: TIntegerArray;
begin
SPS_Setup(RUNESCAPE_SURFACE, [Area]);
SPS_Load;
Profiles := GetAreaProfiles(SPS_WorldMap[0]);

for i := high(Profiles) downto 0 do
begin
L := Length(SPS_ProfiledAreas[Profiles[i]]);
SetLength(SPS_ProfiledAreas[Profiles[i]], L + 1);
SPS_ProfiledAreas[Profiles[i]][L] := Area;
end;

Writeln(Area + ' == ' +ToStr(Profiles));
end;


// Profiles all areas and debugs. This is used to get the array when the map changes.
procedure ProfileAllAreas;
var
x, y, i: integer;
s: string;
begin
ClearDebug;
Writeln('*** PROFILING ALL SPS AREAS, THIS MAY TAKE UP TO OR MORE THAN AN HOUR ***');
for x := 0 to 17 do
for y := 0 to 13 do
begin
s := IntToStr(x) + '_' + IntToStr(y);
if not FileExists(AreasPath + s + '.png') then
Continue;
ProfileArea(s);
end;

ClearDebug;
Writeln('PROFILING DONE! Printing results...');
Writeln('');
for i := 0 to 999 do
Writeln('SPS_ProfiledAreas['+ToStr(i)+'] := '+ToStr(SPS_ProfiledAreas[i])+';');

end;



{================================================= =============================]
[================================================== ============================]
[================================================== ============================]
[================================================== ============================]
[================================================== ============================]
[================================================== ============================]


O B J E C T R E C O G N I Z I O N


{================================================= =============================]
[================================================== ============================]
[================================================== ============================]
[================================================== ============================]
[================================================== ============================]
[================================================== ============================}


const
ImgPath = AppPath + '/Includes/sps/img/static_objects/';
TotalObjects = 9;
// ObjectTolerance = 10; If we someday need to use FindBitmapTolerance

var
MapObjects: Array [1..TotalObjects] of integer;
SPS_AreaObjectInfo: Array [0..17] of Array [0..13] of TIntegerArray;
// the object content of area '2_4' is stored as an array in SPS_AreaObjectInfo[2][4]
// value 1 being true and value 0 being false.


procedure LoadMapObjects;
var
i: integer;
begin
MapObjects[1] := LoadBitmap(ImgPath + 'deadtree.png');
MapObjects[2] := LoadBitmap(ImgPath + 'palmtree.png');
MapObjects[3] := LoadBitmap(ImgPath + 'rock1.png');
MapObjects[4] := LoadBitmap(ImgPath + 'rock2.png');
MapObjects[5] := LoadBitmap(ImgPath + 'tree1.png');
MapObjects[6] := LoadBitmap(ImgPath + 'tree2.png');
MapObjects[7] := LoadBitmap(ImgPath + 'tree3.png');
MapObjects[8] := LoadBitmap(ImgPath + 'tree4.png');
MapObjects[9] := LoadBitmap(ImgPath + 'bush1.png');

for i := high(MapObjects) downto 1 do
SetTransparentColor(MapObjects[i], clRed);

end;

procedure FreeMapObjects;
var
i: integer;
begin
for i := high(MapObjects) downto 1 do
FreeBitmap(MapObjects[i]);
end;

procedure GetObjectsInArea(areaX, areaY: integer);
var
TBA: Array [1..TotalObjects] of Boolean;
bmp, i, x, y: integer;
s: string;
begin
s := ToStr(areaX)+'_'+ToStr(areaY);
bmp := LoadBitmap(AppPath + '/Includes/sps/img/runescape_surface/' + s + '.png');
bmp := SetTargetBitmap(bmp);
{
GetBitmapSize(bmp, x, y);
Writeln(ToStr(x)+', '+ToStr(y));
GetClientDimensions(x, y);
Writeln(ToStr(x)+', '+ToStr(y));
}

for i := high(MapObjects) downto 1 do
begin
try
if FindBitmapToleranceIn(MapObjects[i], x, y, 0, 0, 499, 499, 25) then
TBA[i] := True
else
TBA[i] := False;
except
Writeln(ExceptionToString(ExceptionType, ExceptionParam));
end;
end;

//FreeBitmap(bmp);
writeln('SPS_AreaObjectInfo['+ToStr(areax)+']['+ToStr(areay)+'] := '+ToStr(TBA)+';');
end;


// This is used to print the array SPS_AreaObjectInfo
procedure CreateAllAreaObjectInfo;
var
x, y: integer;
s: string;
begin
LoadMapObjects;

for x := 0 to 17 do
for y := 0 to 13 do
begin
s := ToStr(x)+'_'+ToStr(y);

if not FileExists(AppPath + '/Includes/sps/img/runescape_surface/' + s +'.png') then
Continue;

GetObjectsInArea(x, y);
end;

FreeMapObjects;
end;

function SPS_GetAllAreasWithObjects(ObjectsToFind: TIntegerArray): TStringArray;
var
x, y, i, L: integer;
b: boolean;
s: string;
begin
SetLength(Result, 999);

for x := 0 to 17 do
for y := 0 to 13 do
begin
s := ToStr(x)+'_'+ToStr(y);

if not FileExists(AppPath + '/Includes/sps/img/runescape_surface/' + s +'.png') then
Continue;

//Writeln('Scanning area: '+s);
b := true;
for i := TotalObjects downto 1 do
{for now, 1=true and 0=false. Not using booleans, we might find use for other values too. -marpis}
if (ObjectsToFind[i - 1] = 1) and (SPS_AreaObjectInfo[x][y][i - 1] = 0) then
begin
b := false;
Break;
end;

if b then
begin
Result[L] := s;
Inc(L);
end;
end;

SetLength(Result, L);
end;

// This function combines profile matching and object matching, returning only
// areas that have both the same profile and the same objects. Too bad it still
// often returns too many areas.
function SPS_GetProbableAreas(Profile: integer; Objects: TIntegerArray): TStringArray;
var
SameProfile, SameObjects: TStringArray;
i, H1, H2, L: integer;
begin
SameProfile := SPS_ProfiledAreas[Profile];
SameObjects := SPS_GetAllAreasWithObjects(Objects);
SetLength(Result, 999);

H1 := High(SameProfile);
H2 := High(SameObjects);

case Max(H1, H2) of
H1:
for i := 0 to H1 do
if InStrArr(SameProfile[i], SameObjects, false) then
begin
Result[L] := SameProfile[i];
Inc(L);
end;

H2:
for i := 0 to H2 do
if InStrArr(SameObjects[i], SameProfile, false) then
begin
Result[L] := SameProfile[i];
Inc(L);
end;
end;

SetLength(Result, L);
end;


procedure SPS_LoadAreaObjectInfo;
begin
SPS_AreaObjectInfo[0][1] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[0][2] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[0][3] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[0][9] := [1, 0, 0, 0, 0, 0, 0, 0, 1];
SPS_AreaObjectInfo[0][10] := [1, 0, 1, 0, 0, 0, 0, 0, 1];
SPS_AreaObjectInfo[0][11] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[0][12] := [0, 0, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[0][13] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[1][1] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[1][2] := [1, 0, 1, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[1][3] := [0, 0, 1, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[1][5] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[1][7] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[1][8] := [1, 0, 1, 0, 0, 0, 0, 0, 1];
SPS_AreaObjectInfo[1][9] := [1, 0, 1, 0, 0, 1, 0, 0, 1];
SPS_AreaObjectInfo[1][10] := [1, 0, 1, 0, 0, 1, 0, 0, 1];
SPS_AreaObjectInfo[1][11] := [0, 0, 0, 0, 1, 0, 0, 0, 0];
SPS_AreaObjectInfo[1][12] := [1, 0, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[1][13] := [1, 0, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[2][2] := [0, 0, 0, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[2][3] := [0, 0, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[2][4] := [1, 0, 0, 0, 1, 0, 0, 0, 0];
SPS_AreaObjectInfo[2][5] := [1, 1, 0, 0, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[2][6] := [1, 1, 0, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[2][7] := [1, 0, 1, 1, 1, 0, 1, 0, 1];
SPS_AreaObjectInfo[2][8] := [1, 0, 1, 1, 0, 0, 0, 0, 1];
SPS_AreaObjectInfo[2][9] := [1, 1, 1, 1, 0, 0, 1, 0, 1];
SPS_AreaObjectInfo[2][10] := [1, 1, 1, 0, 1, 0, 1, 0, 1];
SPS_AreaObjectInfo[2][11] := [0, 1, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[2][12] := [1, 0, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[2][13] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[3][2] := [0, 0, 0, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[3][3] := [0, 0, 0, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[3][4] := [0, 0, 0, 0, 1, 0, 0, 0, 0];
SPS_AreaObjectInfo[3][5] := [0, 1, 0, 0, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[3][6] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[3][7] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[3][8] := [1, 1, 0, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[3][9] := [1, 1, 1, 1, 1, 0, 1, 0, 1];
SPS_AreaObjectInfo[3][10] := [1, 1, 1, 0, 1, 1, 1, 0, 1];
SPS_AreaObjectInfo[3][11] := [0, 1, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[3][12] := [0, 1, 0, 0, 0, 0, 1, 1, 0];
SPS_AreaObjectInfo[3][13] := [0, 0, 0, 0, 0, 0, 1, 1, 0];
SPS_AreaObjectInfo[4][2] := [1, 0, 0, 1, 1, 0, 1, 1, 0];
SPS_AreaObjectInfo[4][3] := [0, 0, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[4][4] := [0, 0, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[4][5] := [1, 1, 1, 0, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[4][6] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[4][7] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[4][8] := [1, 1, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[4][9] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[4][10] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[4][11] := [1, 1, 0, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[4][12] := [0, 1, 0, 1, 1, 0, 1, 1, 0];
SPS_AreaObjectInfo[4][13] := [0, 0, 0, 0, 0, 0, 1, 1, 0];
SPS_AreaObjectInfo[5][0] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[5][1] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[5][2] := [0, 0, 0, 0, 1, 0, 1, 1, 0];
SPS_AreaObjectInfo[5][3] := [0, 0, 1, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[5][4] := [1, 0, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[5][5] := [1, 0, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[5][6] := [1, 1, 1, 1, 1, 1, 1, 1, 0];
SPS_AreaObjectInfo[5][7] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[5][8] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[5][9] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[5][10] := [1, 1, 1, 1, 1, 1, 1, 1, 0];
SPS_AreaObjectInfo[5][11] := [1, 1, 0, 1, 1, 1, 1, 1, 0];
SPS_AreaObjectInfo[5][12] := [1, 1, 0, 1, 1, 1, 1, 1, 0];
SPS_AreaObjectInfo[5][13] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[6][0] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[6][1] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[6][2] := [0, 0, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[6][3] := [1, 0, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[6][4] := [1, 0, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[6][5] := [1, 1, 1, 1, 1, 1, 1, 1, 0];
SPS_AreaObjectInfo[6][6] := [1, 1, 1, 1, 1, 1, 1, 1, 0];
SPS_AreaObjectInfo[6][7] := [1, 1, 1, 1, 1, 1, 1, 1, 0];
SPS_AreaObjectInfo[6][8] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[6][9] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[6][10] := [1, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[6][11] := [1, 1, 0, 0, 0, 1, 0, 0, 0];
SPS_AreaObjectInfo[6][12] := [0, 1, 0, 0, 0, 1, 1, 0, 0];
SPS_AreaObjectInfo[6][13] := [1, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[7][1] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[7][2] := [1, 0, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[7][3] := [1, 0, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[7][4] := [1, 0, 0, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[7][5] := [1, 0, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[7][6] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[7][7] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[7][8] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[7][9] := [1, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[7][10] := [1, 1, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[7][11] := [1, 1, 0, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[7][12] := [0, 1, 0, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[7][13] := [1, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][1] := [1, 0, 0, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][2] := [1, 0, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][3] := [1, 0, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][4] := [1, 0, 0, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[8][5] := [1, 0, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][6] := [1, 0, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][7] := [1, 0, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[8][8] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[8][9] := [1, 1, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][10] := [1, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][11] := [0, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][12] := [1, 1, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[8][13] := [0, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[9][1] := [1, 0, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[9][2] := [1, 0, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[9][3] := [1, 0, 1, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[9][4] := [1, 0, 0, 0, 0, 1, 0, 0, 0];
SPS_AreaObjectInfo[9][5] := [1, 0, 0, 1, 1, 0, 1, 1, 0];
SPS_AreaObjectInfo[9][6] := [1, 0, 0, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[9][7] := [0, 0, 1, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[9][8] := [1, 1, 0, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[9][9] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[9][10] := [0, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[9][11] := [0, 1, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[9][12] := [0, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[10][1] := [1, 0, 0, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[10][2] := [1, 0, 0, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[10][3] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[10][4] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[10][5] := [1, 0, 0, 0, 1, 0, 0, 1, 0];
SPS_AreaObjectInfo[10][6] := [1, 1, 0, 1, 1, 1, 1, 1, 0];
SPS_AreaObjectInfo[10][7] := [1, 1, 0, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[10][8] := [1, 1, 0, 0, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[10][9] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[10][10] := [1, 1, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[10][11] := [1, 1, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[10][12] := [1, 0, 1, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[11][1] := [1, 0, 0, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[11][2] := [1, 0, 0, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[11][3] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[11][4] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[11][5] := [1, 0, 0, 0, 0, 0, 0, 1, 0];
SPS_AreaObjectInfo[11][6] := [1, 1, 0, 0, 1, 0, 1, 1, 0];
SPS_AreaObjectInfo[11][7] := [1, 1, 0, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[11][8] := [1, 1, 0, 0, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[11][9] := [1, 1, 0, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[11][10] := [1, 1, 1, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[11][11] := [1, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[11][12] := [1, 1, 1, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[11][13] := [0, 1, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[12][1] := [1, 0, 0, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[12][2] := [1, 0, 0, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[12][3] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[12][4] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[12][5] := [1, 0, 0, 0, 1, 0, 0, 1, 0];
SPS_AreaObjectInfo[12][6] := [1, 1, 0, 1, 1, 0, 1, 1, 0];
SPS_AreaObjectInfo[12][7] := [1, 1, 1, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[12][8] := [1, 1, 0, 1, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[12][9] := [1, 1, 0, 1, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[12][10] := [1, 1, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[12][11] := [1, 0, 0, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[12][12] := [1, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[12][13] := [1, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[13][1] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[13][2] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[13][3] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[13][4] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[13][5] := [1, 1, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[13][6] := [1, 1, 1, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[13][7] := [1, 0, 0, 0, 1, 1, 1, 0, 0];
SPS_AreaObjectInfo[13][8] := [1, 0, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[13][9] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[13][10] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[13][11] := [1, 0, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[13][12] := [1, 1, 1, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[13][13] := [0, 0, 1, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[14][3] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[14][4] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[14][5] := [1, 1, 0, 0, 0, 1, 1, 0, 0];
SPS_AreaObjectInfo[14][6] := [1, 1, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[14][7] := [1, 1, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[14][8] := [1, 1, 0, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[14][9] := [1, 0, 1, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[14][10] := [1, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[14][11] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[14][12] := [0, 1, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[14][13] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[15][5] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[15][6] := [1, 0, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[15][7] := [1, 1, 0, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[15][8] := [1, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[15][9] := [1, 1, 1, 1, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[15][10] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[15][11] := [0, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[15][12] := [0, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[16][5] := [1, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[16][6] := [1, 0, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[16][7] := [1, 0, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[16][8] := [1, 0, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[16][9] := [0, 0, 0, 0, 0, 0, 0, 0, 0];
SPS_AreaObjectInfo[16][10] := [0, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[16][11] := [0, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[16][12] := [0, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[17][5] := [0, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[17][6] := [0, 1, 1, 1, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[17][10] := [0, 1, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[17][11] := [0, 1, 0, 0, 1, 0, 1, 0, 0];
SPS_AreaObjectInfo[17][12] := [0, 1, 0, 0, 0, 0, 1, 0, 0];
SPS_AreaObjectInfo[17][13] := [0, 1, 0, 0, 0, 0, 1, 0, 0];
end;

procedure SPS_LoadProfiledAreas;
begin
SPS_ProfiledAreas[0] := ['0_2', '0_10', '0_11', '0_13', '1_5', '1_7', '1_8', '1_10', '1_11', '2_5', '2_6', '2_7', '2_10', '2_11', '3_13', '4_13', '5_0', '5_1', '6_0', '6_1', '6_2', '6_3', '6_4', '7_2', '7_3', '7_4', '8_1', '8_2', '8_3', '8_4', '9_1', '9_2', '10_12', '11_12', '11_13', '14_3', '14_11', '14_12', '14_13', '15_6', '15_7', '15_8', '15_9', '15_11', '15_12', '16_6', '16_7', '16_10', '17_10'];
SPS_ProfiledAreas[1] := ['2_6', '2_7', '3_13', '4_13', '11_13', '14_11', '15_7', '15_9'];
SPS_ProfiledAreas[9] := ['0_2', '5_0', '5_1', '6_0', '6_1', '6_2', '6_3', '6_4', '7_2', '7_3', '7_4', '8_1', '8_2', '8_3', '8_4', '9_1', '9_2'];
SPS_ProfiledAreas[10] := ['0_10', '1_7', '1_8', '1_10', '2_5', '2_6', '2_7', '2_10', '3_13', '10_12', '15_6', '15_7', '15_8', '16_6'];
SPS_ProfiledAreas[11] := ['0_10', '1_7', '1_8', '1_10', '2_5', '2_6', '2_7', '2_10', '3_13', '4_13', '10_12', '11_12', '11_13', '14_11', '14_12', '15_6', '15_7', '15_8', '15_9', '16_6'];
SPS_ProfiledAreas[12] := ['2_6', '2_7', '3_13', '4_13', '15_7'];
SPS_ProfiledAreas[21] := ['1_7', '1_8', '2_5', '2_6', '2_7', '3_13', '15_7'];
SPS_ProfiledAreas[22] := ['1_8', '2_5', '2_6', '2_7', '3_13', '15_7'];
SPS_ProfiledAreas[23] := ['2_7', '12_2', '13_2'];
SPS_ProfiledAreas[32] := ['1_7', '1_8', '2_6', '2_7'];
SPS_ProfiledAreas[34] := ['13_2'];
SPS_ProfiledAreas[90] := ['6_3'];
SPS_ProfiledAreas[99] := ['0_2', '1_2', '3_2', '5_0', '5_1', '6_0', '6_1', '6_2', '6_3', '6_4', '7_2', '7_3', '7_4', '8_1', '8_2', '8_3', '8_4', '9_1', '9_2', '13_4', '14_4'];
SPS_ProfiledAreas[100] := ['0_11', '0_13', '1_5', '1_11', '2_10', '2_11', '3_13', '10_12', '14_3', '14_12', '15_9', '16_6', '16_7', '16_10'];
SPS_ProfiledAreas[110] := ['0_13', '1_5', '2_5', '2_10', '2_11', '3_13', '4_13', '10_12', '14_3', '14_12', '15_6', '15_7', '15_9', '15_11', '15_12', '16_6', '16_7'];
SPS_ProfiledAreas[111] := ['0_10', '0_11', '0_13', '1_5', '1_7', '1_8', '1_10', '1_11', '2_5', '2_6', '2_7', '2_10', '2_11', '3_13', '4_13', '10_4', '10_12', '11_12', '11_13', '12_4', '14_3', '14_11', '14_12', '14_13', '15_6', '15_7', '15_8', '15_9', '15_10', '15_11', '15_12', '16_6', '16_7', '16_10', '17_6', '17_10'];
SPS_ProfiledAreas[112] := ['2_6', '2_7', '4_13', '10_4', '10_12', '11_3', '11_12', '11_13', '12_2', '12_4', '12_13', '14_11', '14_12', '15_7', '15_8', '15_9'];
SPS_ProfiledAreas[121] := ['0_10', '1_7', '1_8', '1_10', '2_5', '2_6', '2_7', '2_10', '3_13', '15_6', '15_7', '15_8', '16_6'];
SPS_ProfiledAreas[122] := ['0_10', '1_7', '1_8', '1_10', '2_5', '2_6', '2_7', '2_10', '3_13', '4_13', '9_2', '9_3', '10_1', '10_2', '10_3', '10_4', '10_12', '11_1', '11_2', '11_3', '11_12', '11_13', '12_2', '12_3', '12_4', '12_13', '13_2', '14_11', '14_12', '15_6', '15_7', '15_8', '15_9', '16_6'];
SPS_ProfiledAreas[123] := ['2_6', '2_7', '3_9', '4_13', '9_2', '9_3', '9_4', '10_1', '10_2', '10_3', '10_12', '11_1', '11_2', '11_3', '11_12', '11_13', '12_1', '12_2', '12_3', '12_4', '12_13', '13_1', '13_2', '14_11', '14_12', '15_7'];
SPS_ProfiledAreas[131] := ['15_7'];
SPS_ProfiledAreas[132] := ['0_10', '1_7', '1_8', '1_10', '2_5', '2_6', '2_7', '2_12', '3_13', '15_6', '15_7', '16_6'];
SPS_ProfiledAreas[133] := ['1_7', '1_8', '1_10', '1_12', '2_5', '2_6', '2_7', '2_12', '3_9', '3_13', '4_11', '4_13', '9_2', '9_3', '9_4', '10_1', '10_2', '10_3', '10_12', '11_2', '11_3', '11_12', '11_13', '12_2', '12_3', '12_4', '12_13', '13_1', '13_2', '14_11', '14_12', '15_6', '15_7'];
SPS_ProfiledAreas[134] := ['1_12', '2_6', '2_7', '2_8', '2_9', '2_10', '2_12', '3_8', '3_9', '3_10', '3_11', '3_13', '4_8', '4_10', '4_11', '4_13', '5_11', '7_9', '9_2', '9_3', '9_4', '9_5', '10_2', '10_3', '10_4', '10_5', '10_6', '11_2', '11_3', '11_4', '11_5', '12_2', '12_3', '12_4', '12_5', '12_6', '13_2', '15_7'];
SPS_ProfiledAreas[135] := ['2_7', '2_8', '2_9', '3_7', '3_8', '3_9', '4_8', '4_11', '7_9', '10_2', '10_3', '10_5', '11_2', '11_3', '11_5', '12_2', '12_3', '12_4', '12_5'];
SPS_ProfiledAreas[142] := ['1_7', '1_8', '2_7'];
SPS_ProfiledAreas[143] := ['0_12', '1_7', '1_8', '1_10', '1_12', '2_5', '2_6', '2_7', '2_12', '3_13', '4_13', '13_6', '15_6', '15_7'];
SPS_ProfiledAreas[144] := ['0_12', '1_12', '1_13', '2_6', '2_7', '2_8', '2_9', '2_10', '2_12', '3_7', '3_8', '3_9', '3_10', '3_11', '3_13', '4_6', '4_9', '4_10', '4_11', '4_12', '4_13', '5_5', '5_7', '5_9', '5_11', '5_12', '6_4', '6_5', '7_9', '7_12', '8_12', '9_5', '9_6', '10_5', '10_6', '11_5', '11_6', '12_5', '12_6', '15_6', '15_7'];
SPS_ProfiledAreas[145] := ['0_12', '1_12', '2_4', '2_5', '2_7', '2_8', '2_9', '2_10', '2_12', '3_7', '3_8', '3_9', '3_10', '4_6', '4_8', '4_10', '4_11', '5_5', '5_7', '5_11', '5_12', '6_4', '6_5', '6_13', '7_9', '7_12', '8_9', '8_12', '9_5', '9_6', '9_8', '10_5', '10_6', '11_2', '11_3', '11_5', '11_6', '12_2', '12_3', '12_4', '12_5', '12_6', '12_7', '13_7'];
SPS_ProfiledAreas[146] := ['3_8', '3_9', '4_8', '4_9', '4_11', '7_9', '8_9', '9_8', '9_9', '11_2', '11_3', '12_7', '13_7'];
SPS_ProfiledAreas[153] := ['0_12', '1_7', '1_8', '2_5', '2_7', '2_8', '15_6'];
SPS_ProfiledAreas[154] := ['0_12', '1_11', '1_12', '1_13', '2_5', '2_6', '2_7', '2_8', '2_9', '2_10', '2_11', '2_12', '3_5', '3_6', '3_7', '3_8', '3_10', '3_11', '3_12', '3_13', '4_6', '4_7', '4_9', '4_10', '4_11', '4_12', '4_13', '5_6', '5_7', '5_9', '5_10', '5_11', '5_12', '6_6', '6_7', '6_8', '6_13', '7_12', '8_11', '8_12', '9_6', '9_7', '10_6', '10_7', '15_6'];
SPS_ProfiledAreas[155] := ['0_12', '2_5', '2_6', '2_7', '2_8', '2_9', '2_10', '2_11', '2_12', '3_5', '3_6', '3_7', '3_8', '3_9', '3_10', '3_12', '3_13', '4_5', '4_6', '4_7', '4_8', '4_9', '4_10', '4_11', '5_5', '5_6', '5_7', '5_9', '5_11', '5_12', '6_4', '6_5', '6_6', '6_7', '6_8', '6_13', '7_6', '7_9', '7_10', '7_11', '7_12', '8_9', '8_10', '8_11', '8_12', '9_5', '9_6', '9_7', '9_8', '9_9', '10_6', '11_6', '13_7'];
SPS_ProfiledAreas[156] := ['3_9', '4_8', '4_9', '7_9', '9_8', '9_9', '11_2', '12_7', '13_7'];
SPS_ProfiledAreas[157] := ['4_9', '12_7'];
SPS_ProfiledAreas[163] := ['1_7', '1_8', '2_8'];
SPS_ProfiledAreas[164] := ['1_7', '1_8', '2_5', '2_8', '3_5', '3_6', '3_7', '3_8', '3_12', '3_13', '4_6', '4_7', '4_8', '4_9', '4_10', '4_12', '4_13', '5_9', '5_10', '5_12', '6_7', '16_11'];
SPS_ProfiledAreas[165] := ['2_5', '3_5', '3_6', '3_7', '3_8', '3_12', '4_6', '4_7', '4_8', '4_9', '4_10', '5_6', '5_9', '6_6', '6_7', '6_8', '7_6', '7_10', '8_10', '16_11'];
SPS_ProfiledAreas[166] := ['8_10'];
SPS_ProfiledAreas[211] := ['0_10', '0_13', '1_5', '1_8', '2_11', '2_13', '3_13', '10_12', '14_3', '14_11', '14_12', '15_9', '15_10', '15_11', '16_6', '16_10', '17_10'];
SPS_ProfiledAreas[221] := ['0_10', '0_11', '0_13', '1_5', '1_11', '2_5', '2_10', '2_11', '2_13', '3_13', '4_13', '7_1', '8_1', '9_1', '10_12', '14_3', '14_12', '15_9', '15_10', '15_11', '15_12', '16_6', '16_10'];
SPS_ProfiledAreas[222] := ['0_10', '0_11', '0_13', '1_5', '1_8', '1_10', '1_11', '1_13', '2_5', '2_10', '2_11', '2_13', '3_13', '4_13', '7_1', '8_1', '9_1', '9_2', '9_3', '10_1', '10_2', '10_3', '10_4', '10_12', '11_1', '11_2', '11_3', '11_4', '12_2', '12_3', '12_4', '13_2', '13_4', '13_5', '14_3', '14_11', '14_12', '14_13', '15_7', '15_8', '15_9', '15_10', '15_11', '15_12', '16_6', '16_10', '17_6', '17_10', '17_13'];
SPS_ProfiledAreas[223] := ['2_10', '4_13', '9_2', '9_3', '9_4', '10_1', '10_2', '10_3', '10_4', '10_12', '11_1', '11_2', '11_3', '11_4', '12_2', '12_3', '12_4', '12_5', '12_13', '13_2', '13_4', '14_11', '14_12', '15_7', '15_8', '15_9'];
SPS_ProfiledAreas[232] := ['0_10', '1_8', '1_10', '2_5', '2_10', '3_13', '13_5', '13_6', '14_5', '14_6', '15_6', '15_7', '15_8', '15_9', '16_6'];
SPS_ProfiledAreas[233] := ['0_10', '1_7', '1_8', '1_10', '1_12', '2_5', '2_6', '2_7', '2_10', '2_12', '3_13', '4_13', '5_6', '8_3', '8_4', '9_2', '9_3', '9_4', '9_5', '10_1', '10_2', '10_3', '10_4', '10_5', '10_12', '11_1', '11_2', '11_3', '11_4', '11_5', '11_12', '11_13', '12_1', '12_2', '12_3', '12_4', '12_5', '12_6', '12_13', '13_1', '13_2', '13_4', '13_5', '13_6', '13_9', '13_12', '14_5', '14_6', '14_7', '14_8', '14_9', '14_11', '14_12', '15_6', '15_7', '15_8', '15_9', '16_6'];
SPS_ProfiledAreas[234] := ['1_10', '1_12', '2_6', '2_7', '2_8', '2_9', '2_10', '3_8', '3_9', '3_11', '4_5', '4_10', '4_11', '4_13', '5_6', '8_3', '8_4', '9_3', '9_4', '9_5', '9_6', '10_1', '10_2', '10_3', '10_4', '10_5', '10_8', '10_12', '11_3', '11_4', '11_5', '11_12', '11_13', '12_1', '12_2', '12_3', '12_4', '12_5', '12_6', '12_13', '13_2', '13_5', '13_6', '13_11', '13_12', '14_8', '14_9', '14_11', '14_12', '15_7', '15_8', '15_9'];
SPS_ProfiledAreas[235] := ['2_8', '2_9', '3_8', '4_10', '4_11', '10_5', '11_5', '12_3', '12_5'];
SPS_ProfiledAreas[242] := ['13_6', '14_6', '15_6', '15_7'];
SPS_ProfiledAreas[243] := ['0_10', '0_12', '1_7', '1_8', '1_10', '1_12', '1_13', '2_5', '2_6', '2_7', '2_10', '2_12', '3_13', '13_6', '13_7', '13_8', '14_5', '14_6', '14_7', '14_8', '14_9', '15_6', '15_7', '15_8', '15_9', '16_6'];
SPS_ProfiledAreas[244] := ['0_10', '0_12', '1_7', '1_8', '1_10', '1_12', '1_13', '2_5', '2_6', '2_7', '2_8', '2_9', '2_10', '2_12', '3_8', '3_9', '3_10', '3_11', '3_13', '4_5', '4_6', '4_7', '4_8', '4_9', '4_10', '4_11', '4_12', '4_13', '5_6', '5_7', '5_9', '5_10', '5_11', '5_12', '6_4', '6_5', '6_7', '6_8', '7_13', '8_5', '8_6', '8_8', '8_9', '9_4', '9_5', '9_6', '9_7', '9_8', '10_3', '10_5', '10_6', '10_7', '10_8', '10_9', '10_12', '11_3', '11_4', '11_5', '11_6', '11_7', '11_8', '11_9', '11_12', '11_13', '12_2', '12_3', '12_4', '12_5', '12_6', '12_7', '12_8', '12_13', '13_6', '13_11', '13_12', '14_6', '14_7', '14_8', '14_9', '14_11', '14_12', '15_6', '15_7', '15_8', '15_9'];
SPS_ProfiledAreas[245] := ['0_12', '1_12', '1_13', '2_4', '2_5', '2_6', '2_7', '2_8', '2_9', '2_10', '3_7', '3_8', '3_9', '3_10', '3_11', '3_13', '4_5', '4_6', '4_7', '4_8', '4_9', '4_10', '4_11', '4_12', '4_13', '5_4', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_4', '6_5', '6_13', '7_5', '7_9', '7_13', '8_5', '8_6', '8_7', '8_8', '8_9', '9_5', '9_6', '9_7', '9_8', '9_9', '10_3', '10_5', '10_6', '10_7', '10_8', '10_12', '11_3', '11_4', '11_5', '11_6', '11_8', '11_12', '11_13', '12_2', '12_3', '12_4', '12_5', '12_6', '12_7', '12_8', '12_13', '13_7', '13_11', '13_12', '14_8', '14_11', '15_8', '16_11', '17_11'];
SPS_ProfiledAreas[246] := ['3_9', '4_8', '4_9', '4_11', '7_9', '8_9', '9_8', '9_9', '12_7', '12_8', '13_7', '17_11'];
SPS_ProfiledAreas[252] := ['13_6', '13_7', '14_6', '14_7', '15_6'];
SPS_ProfiledAreas[253] := ['0_12', '1_7', '1_8', '1_9', '1_10', '1_12', '2_7', '2_8', '2_9', '2_12', '4_12', '7_11', '13_6', '13_7', '13_8', '14_5', '14_6', '14_7', '14_8', '15_6', '15_7'];
SPS_ProfiledAreas[254] := ['0_10', '0_11', '0_12', '1_7', '1_8', '1_9', '1_10', '1_11', '1_12', '1_13', '2_5', '2_6', '2_7', '2_8', '2_9', '2_10', '2_11', '2_12', '3_5', '3_6', '3_7', '3_9', '3_10', '3_11', '3_12', '3_13', '4_2', '4_6', '4_7', '4_9', '4_10', '4_11', '4_12', '4_13', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_5', '6_6', '6_7', '6_8', '6_9', '6_13', '7_6', '7_10', '7_11', '7_12', '7_13', '8_6', '8_7', '8_8', '8_9', '8_10', '8_11', '8_12', '9_6', '9_7', '9_8', '10_6', '10_7', '10_8', '10_9', '11_6', '11_7', '11_8', '11_9', '12_6', '12_7', '12_8', '12_9', '13_6', '13_7', '13_8', '14_6', '14_7', '14_8', '15_6', '15_7', '15_8'];
SPS_ProfiledAreas[255] := ['0_10', '0_11', '0_12', '1_8', '1_10', '1_11', '1_12', '1_13', '2_4', '2_5', '2_6', '2_7', '2_8', '2_9', '2_10', '2_11', '2_12', '3_5', '3_6', '3_7', '3_8', '3_9', '3_10', '3_11', '3_12', '3_13', '4_2', '4_5', '4_6', '4_7', '4_8', '4_9', '4_10', '4_11', '4_12', '4_13', '5_2', '5_4', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_4', '6_5', '6_6', '6_7', '6_8', '6_9', '6_13', '7_5', '7_6', '7_7', '7_9', '7_10', '7_11', '7_12', '7_13', '8_6', '8_7', '8_8', '8_9', '8_10', '8_11', '8_12', '9_6', '9_7', '9_8', '9_9', '10_3', '10_6', '10_7', '10_8', '10_9', '11_6', '11_7', '11_8', '11_9', '11_13', '12_6', '12_7', '12_8', '12_9', '13_7', '14_8', '15_8', '16_11', '17_11'];
SPS_ProfiledAreas[256] := ['3_9', '3_10', '3_12', '3_13', '4_2', '4_5', '4_7', '4_8', '4_9', '4_11', '4_12', '4_13', '5_6', '5_7', '5_12', '6_5', '6_7', '6_8', '7_9', '7_10', '7_11', '8_7', '8_8', '8_9', '8_11', '9_8', '9_9', '10_7', '10_8', '10_9', '11_7', '11_8', '12_6', '12_7', '12_8', '13_6', '13_7', '16_11', '17_11'];
SPS_ProfiledAreas[257] := ['3_9', '4_9', '4_11', '5_8', '10_8', '11_7', '11_8', '12_7'];
SPS_ProfiledAreas[258] := ['10_8'];
SPS_ProfiledAreas[263] := ['1_8', '1_9', '1_10', '2_8'];
SPS_ProfiledAreas[264] := ['0_10', '1_7', '1_8', '1_9', '1_10', '2_5', '2_7', '2_8', '2_9', '2_10', '3_5', '3_6', '3_7', '3_12', '3_13', '4_6', '4_7', '4_10', '4_12', '4_13', '5_6', '5_8', '5_10', '5_12', '6_8', '6_13', '7_10', '7_11', '7_12', '8_10', '8_11', '8_12', '13_8'];
SPS_ProfiledAreas[265] := ['0_10', '0_11', '0_12', '1_9', '1_10', '1_11', '1_12', '1_13', '2_5', '2_6', '2_9', '2_10', '2_11', '2_12', '3_5', '3_6', '3_7', '3_10', '3_12', '3_13', '4_2', '4_5', '4_6', '4_7', '4_8', '4_9', '4_10', '4_12', '4_13', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_5', '6_6', '6_7', '6_8', '6_9', '6_13', '7_6', '7_7', '7_9', '7_10', '7_11', '7_12', '7_13', '8_7', '8_8', '8_9', '8_10', '8_11', '8_12', '9_6', '9_7', '9_8', '9_9', '10_3', '10_6', '10_7', '10_8', '11_8', '12_7', '13_7', '13_8', '16_11', '17_5', '17_11'];
SPS_ProfiledAreas[266] := ['0_12', '1_11', '2_11', '2_12', '3_10', '3_13', '4_5', '4_12', '4_13', '5_7', '5_8', '5_12', '6_6', '6_7', '6_8', '6_9', '7_6', '7_10', '7_11', '7_12', '7_13', '8_7', '8_9', '8_10', '8_11', '9_8', '9_9', '10_3', '10_7', '10_8', '10_9', '12_7', '16_11', '17_11'];
SPS_ProfiledAreas[267] := ['5_7', '5_8', '7_10', '7_11', '10_8', '11_7', '11_8', '12_7', '17_11'];
SPS_ProfiledAreas[268] := ['10_8'];
SPS_ProfiledAreas[275] := ['3_13', '4_13', '5_12', '6_9', '7_10', '8_10', '16_10', '16_11', '17_11'];
SPS_ProfiledAreas[276] := ['2_11', '3_13', '4_13', '5_12', '6_9', '7_10', '8_9', '8_10', '8_11', '16_10', '16_11', '17_11'];
SPS_ProfiledAreas[277] := ['7_11', '8_9', '16_11', '17_11'];
SPS_ProfiledAreas[287] := ['16_11', '17_11'];
SPS_ProfiledAreas[322] := ['0_10', '0_11', '0_13', '1_5', '1_11', '2_5', '2_10', '2_11', '2_13', '3_13', '4_13', '7_1', '8_1', '9_1', '10_12', '12_2', '14_3', '14_12', '14_13', '15_9', '15_10', '15_11', '15_12', '16_6', '16_10', '17_6'];
SPS_ProfiledAreas[323] := ['10_1', '12_2', '13_4'];
SPS_ProfiledAreas[332] := ['0_10', '0_11', '0_13', '1_5', '1_8', '1_11', '1_13', '2_10', '2_11', '2_13', '3_13', '7_1', '9_1', '10_12', '13_1', '13_5', '13_8', '13_9', '14_3', '14_6', '14_8', '14_9', '14_11', '14_12', '15_5', '15_6', '15_9', '15_10', '15_11', '16_6', '16_10', '17_10', '17_13'];
SPS_ProfiledAreas[333] := ['0_10', '0_11', '0_13', '1_5', '1_8', '1_11', '1_13', '2_5', '2_10', '2_11', '2_13', '3_13', '4_13', '7_1', '7_8', '8_1', '8_3', '9_1', '9_2', '9_3', '9_4', '9_5', '10_1', '10_2', '10_3', '10_4', '10_5', '10_12', '11_1', '11_2', '11_3', '11_4', '11_5', '12_1', '12_2', '12_3', '12_4', '12_5', '12_6', '13_1', '13_2', '13_3', '13_4', '13_5', '13_6', '13_8', '13_9', '14_3', '14_5', '14_6', '14_7', '14_8', '14_9', '14_11', '14_12', '14_13', '15_5', '15_6', '15_7', '15_8', '15_9', '15_10', '15_11', '15_12', '16_6', '16_10', '17_6', '17_10', '17_13'];
SPS_ProfiledAreas[334] := ['2_10', '7_8', '8_3', '8_4', '9_1', '9_2', '9_3', '9_4', '9_5', '10_1', '10_3', '10_4', '10_5', '10_12', '11_1', '11_2', '11_3', '11_4', '11_5', '12_1', '12_2', '12_3', '12_4', '12_5', '12_6', '12_13', '13_1', '13_2', '13_3', '13_4', '13_5', '13_6', '14_11', '14_12', '15_8', '15_9'];
SPS_ProfiledAreas[342] := ['13_8', '14_6', '14_8', '14_9', '15_6'];
SPS_ProfiledAreas[343] := ['0_10', '0_12', '1_8', '2_5', '3_13', '9_5', '10_4', '10_12', '11_9', '13_5', '13_6', '13_8', '13_9', '14_5', '14_6', '14_7', '14_8', '14_9', '15_5', '15_6', '15_8', '15_9', '16_6'];
SPS_ProfiledAreas[344] := ['0_2', '0_10', '1_8', '1_12', '1_13', '2_4', '2_5', '2_6', '2_10', '3_9', '3_10', '3_11', '3_13', '4_6', '4_7', '4_8', '4_11', '4_13', '5_6', '6_4', '7_8', '8_3', '8_4', '8_5', '8_6', '8_8', '8_9', '9_1', '9_2', '9_3', '9_4', '9_5', '9_8', '10_1', '10_3', '10_4', '10_5', '10_6', '10_9', '10_12', '11_1', '11_2', '11_3', '11_4', '11_5', '11_6', '11_7', '11_8', '11_9', '12_1', '12_2', '12_4', '12_5', '12_6', '12_7', '12_8', '12_9', '12_13', '13_1', '13_2', '13_5', '13_6', '13_8', '13_9', '13_12', '14_5', '14_6', '14_8', '14_9', '14_11', '14_12', '15_6', '15_8', '15_9', '16_6'];
SPS_ProfiledAreas[345] := ['0_2', '1_12', '1_13', '2_4', '2_5', '2_6', '2_10', '3_9', '3_10', '3_11', '4_2', '4_5', '4_6', '4_8', '4_9', '4_11', '4_13', '5_4', '5_6', '5_7', '5_8', '5_9', '5_11', '6_4', '6_5', '7_4', '7_5', '7_6', '7_8', '7_9', '7_13', '8_4', '8_5', '8_6', '8_8', '8_9', '9_1', '9_4', '9_5', '9_7', '9_8', '9_9', '10_3', '10_5', '10_6', '10_7', '10_8', '10_12', '11_3', '11_4', '11_5', '11_6', '11_7', '11_8', '11_13', '12_3', '12_4', '12_5', '12_6', '12_7', '12_8', '12_13', '13_6', '13_12', '14_11', '14_12'];
SPS_ProfiledAreas[346] := ['4_2', '4_11', '4_13', '7_4', '7_5', '8_4', '8_5', '10_7'];
SPS_ProfiledAreas[352] := ['14_6'];
SPS_ProfiledAreas[353] := ['0_12', '1_9', '2_9', '13_6', '13_7', '13_8', '14_5', '14_6', '14_7', '14_8', '15_6', '15_7'];
SPS_ProfiledAreas[354] := ['0_10', '0_11', '0_12', '1_7', '1_8', '1_9', '1_10', '1_12', '1_13', '2_5', '2_6', '2_7', '2_8', '2_9', '2_10', '2_12', '3_9', '3_10', '3_11', '3_13', '4_6', '4_7', '4_9', '4_10', '4_12', '5_7', '6_7', '6_8', '7_11', '8_6', '8_8', '8_9', '8_11', '9_8', '10_6', '10_9', '11_6', '11_7', '11_8', '11_9', '12_6', '12_7', '12_8', '12_9', '13_6', '13_7', '13_8', '13_13', '14_5', '14_6', '14_7', '14_8', '14_9', '15_6', '15_7', '15_9'];
SPS_ProfiledAreas[355] := ['0_2', '0_10', '0_11', '0_12', '1_8', '1_9', '1_10', '1_12', '1_13', '2_3', '2_4', '2_5', '2_6', '2_8', '2_9', '2_10', '2_11', '2_12', '3_5', '3_6', '3_7', '3_9', '3_10', '3_11', '3_12', '3_13', '4_2', '4_5', '4_6', '4_7', '4_8', '4_9', '4_10', '4_11', '4_12', '4_13', '5_2', '5_4', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_4', '6_5', '6_6', '6_7', '6_8', '6_9', '6_13', '7_4', '7_5', '7_6', '7_7', '7_8', '7_9', '7_11', '7_13', '8_4', '8_5', '8_6', '8_7', '8_8', '8_9', '8_11', '8_12', '9_6', '9_7', '9_8', '9_9', '10_3', '10_6', '10_7', '10_8', '10_9', '10_12', '11_3', '11_6', '11_7', '11_8', '11_9', '11_10', '11_12', '11_13', '12_6', '12_7', '12_8', '12_9', '12_13', '13_6', '13_7', '13_8', '13_11', '13_12', '14_8', '14_11', '14_12', '15_6', '16_11'];
SPS_ProfiledAreas[356] := ['0_2', '2_3', '2_4', '2_5', '2_10', '3_6', '3_10', '3_12', '3_13', '4_2', '4_3', '4_5', '4_6', '4_8', '4_10', '4_11', '4_12', '4_13', '5_2', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_12', '5_13', '6_4', '6_5', '6_6', '6_7', '6_9', '7_4', '7_5', '7_6', '7_7', '7_8', '7_9', '7_11', '7_13', '8_4', '8_5', '8_6', '8_7', '8_8', '8_9', '8_11', '8_12', '9_6', '9_8', '9_9', '10_6', '10_7', '10_8', '10_9', '10_12', '11_7', '11_8', '11_12', '11_13', '12_6', '12_7', '12_8', '12_13', '13_6', '13_7', '13_11', '13_12', '14_8', '14_11', '16_11', '17_11'];
SPS_ProfiledAreas[357] := ['4_12', '4_13', '5_7', '5_8', '5_12', '5_13', '12_7', '12_8'];
SPS_ProfiledAreas[363] := ['1_9', '1_10', '2_9', '14_7', '14_8'];
SPS_ProfiledAreas[364] := ['0_10', '0_12', '1_8', '1_9', '1_10', '2_8', '2_9', '2_10', '4_12', '5_10', '5_11', '7_11', '8_11', '8_12', '13_7', '13_8', '13_13', '14_8', '16_11'];
SPS_ProfiledAreas[365] := ['0_10', '0_11', '0_12', '0_13', '1_8', '1_9', '1_10', '1_11', '1_12', '1_13', '2_5', '2_6', '2_8', '2_9', '2_10', '2_11', '2_12', '3_5', '3_6', '3_7', '3_10', '3_11', '3_12', '3_13', '4_2', '4_5', '4_6', '4_7', '4_10', '4_12', '4_13', '5_2', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_5', '6_6', '6_7', '6_8', '6_9', '6_13', '7_6', '7_7', '7_8', '7_9', '7_10', '7_11', '7_12', '7_13', '8_6', '8_7', '8_8', '8_11', '8_12', '9_6', '9_7', '9_8', '9_9', '10_6', '10_7', '10_8', '10_9', '10_10', '11_6', '11_7', '11_8', '11_9', '12_6', '12_7', '12_8', '12_9', '13_7', '13_8', '13_13', '14_8', '16_11', '17_5', '17_6'];
SPS_ProfiledAreas[366] := ['0_11', '0_12', '0_13', '1_11', '1_12', '1_13', '2_5', '2_11', '2_12', '3_5', '3_6', '3_10', '3_12', '3_13', '4_2', '4_3', '4_5', '4_6', '4_10', '4_12', '4_13', '5_2', '5_6', '5_7', '5_8', '5_10', '5_12', '6_5', '6_6', '6_7', '6_8', '6_9', '7_6', '7_7', '7_8', '7_9', '7_10', '7_11', '7_12', '7_13', '8_6', '8_7', '8_8', '8_9', '8_10', '8_11', '8_12', '9_6', '9_7', '9_8', '9_9', '10_6', '10_7', '10_8', '10_9', '10_10', '10_12', '11_7', '11_8', '11_12', '11_13', '12_6', '12_7', '12_8', '12_9', '12_13', '13_7', '13_8', '13_11', '13_12', '13_13', '14_11', '15_11', '16_11', '17_11', '17_13'];
SPS_ProfiledAreas[367] := ['4_12', '4_13', '5_7', '5_8', '5_12', '5_13', '7_9', '7_10', '7_11', '7_12', '10_12', '11_7', '11_8', '11_12', '11_13', '12_7', '12_8', '12_9', '12_13', '13_11', '13_12', '13_13', '14_11', '15_11', '16_11', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[368] := ['12_8'];
SPS_ProfiledAreas[374] := ['1_9', '1_10'];
SPS_ProfiledAreas[375] := ['1_9', '1_10', '5_12', '7_10', '7_12', '8_10', '8_11', '8_12', '12_8', '13_8', '16_10', '16_11'];
SPS_ProfiledAreas[376] := ['0_11', '0_12', '1_11', '1_12', '1_13', '2_5', '2_11', '2_12', '4_5', '4_13', '5_12', '6_9', '7_9', '7_10', '7_11', '7_12', '8_7', '8_9', '8_10', '8_11', '8_12', '9_9', '10_10', '12_8', '13_8', '15_11', '16_10', '16_11', '17_10', '17_11'];
SPS_ProfiledAreas[377] := ['0_11', '0_12', '0_13', '1_11', '1_12', '1_13', '2_11', '2_12', '2_13', '4_13', '5_12', '6_9', '7_9', '7_10', '7_11', '7_12', '8_9', '8_10', '8_11', '8_12', '9_9', '11_13', '12_8', '12_9', '13_8', '16_10', '16_11', '17_10', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[378] := ['2_11', '5_12', '7_10', '7_11', '11_13', '12_8', '17_11', '17_12'];
SPS_ProfiledAreas[386] := ['8_10', '16_11'];
SPS_ProfiledAreas[387] := ['2_11', '5_12', '6_9', '7_10', '8_10', '12_8', '16_11', '17_11'];
SPS_ProfiledAreas[388] := ['2_11', '2_12', '6_9', '7_10', '12_8', '16_11', '17_11'];
SPS_ProfiledAreas[433] := ['0_10', '0_11', '0_13', '1_5', '1_11', '1_13', '2_5', '2_10', '2_11', '2_13', '3_13', '4_13', '7_1', '8_1', '9_1', '10_1', '10_12', '11_1', '12_1', '12_2', '12_3', '12_5', '13_1', '13_2', '13_4', '13_5', '14_3', '14_11', '14_12', '14_13', '15_5', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '17_5', '17_6', '17_10', '17_13'];
SPS_ProfiledAreas[434] := ['10_1', '11_1', '12_2', '12_3', '12_5', '13_3', '13_4'];
SPS_ProfiledAreas[443] := ['0_10', '0_13', '1_5', '1_8', '1_13', '2_5', '2_10', '2_11', '2_13', '3_13', '4_13', '7_1', '9_1', '10_1', '10_12', '11_1', '12_1', '12_2', '12_3', '13_1', '13_2', '13_3', '13_5', '13_9', '14_3', '14_5', '14_6', '14_11', '14_12', '14_13', '15_5', '15_6', '15_9', '15_10', '15_11', '16_6', '16_10', '17_6', '17_10', '17_13'];
SPS_ProfiledAreas[444] := ['0_2', '0_10', '0_11', '0_13', '1_5', '1_8', '1_11', '1_13', '2_5', '2_10', '2_11', '2_13', '3_3', '3_13', '4_3', '4_5', '4_13', '7_1', '7_8', '8_1', '8_3', '8_4', '9_1', '9_2', '9_3', '9_4', '9_5', '10_1', '10_3', '10_4', '10_5', '10_12', '11_1', '11_2', '11_3', '11_4', '11_5', '11_8', '11_9', '12_1', '12_2', '12_3', '12_5', '12_6', '13_1', '13_2', '13_3', '13_4', '13_5', '13_6', '13_8', '13_9', '14_3', '14_4', '14_5', '14_9', '14_11', '14_12', '14_13', '15_5', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '17_5', '17_6', '17_10', '17_13'];
SPS_ProfiledAreas[445] := ['0_2', '2_4', '2_6', '3_3', '3_10', '4_3', '4_5', '4_6', '4_11', '5_6', '7_5', '7_6', '7_8', '7_9', '8_3', '8_4', '8_6', '9_1', '9_2', '9_3', '10_3', '10_4', '11_1', '11_2', '11_3', '11_4', '11_8', '11_9', '12_5', '12_6', '13_3', '13_4', '13_5', '13_6', '13_8', '13_9', '14_3', '14_4', '14_11', '14_12'];
SPS_ProfiledAreas[453] := ['14_5', '14_6', '14_8', '15_6'];
SPS_ProfiledAreas[454] := ['0_10', '1_8', '2_5', '2_10', '3_13', '4_3', '4_13', '9_2', '9_4', '10_4', '11_9', '13_1', '13_7', '13_8', '13_9', '14_5', '14_8', '14_9', '14_11', '15_5', '15_6', '15_9', '16_6'];
SPS_ProfiledAreas[455] := ['0_1', '0_2', '0_10', '1_8', '1_9', '2_3', '2_4', '2_5', '2_6', '2_8', '2_9', '2_10', '2_11', '3_3', '3_6', '3_7', '3_10', '3_11', '3_12', '3_13', '4_3', '4_4', '4_5', '4_6', '4_7', '4_8', '4_10', '4_11', '4_12', '4_13', '5_2', '5_4', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_4', '6_5', '6_6', '6_7', '6_8', '6_9', '6_13', '7_5', '7_6', '7_7', '7_8', '7_9', '7_13', '8_3', '8_4', '8_5', '8_6', '8_7', '8_8', '8_9', '9_1', '9_2', '9_3', '9_6', '9_8', '9_9', '10_3', '10_4', '10_6', '10_7', '10_8', '10_9', '10_10', '10_12', '11_1', '11_3', '11_4', '11_6', '11_7', '11_8', '11_9', '11_10', '12_5', '12_6', '12_7', '12_9', '12_13', '13_2', '13_3', '13_4', '13_5', '13_6', '13_7', '13_8', '13_9', '13_12', '14_3', '14_4', '14_9', '14_11', '14_12', '15_6', '15_9', '16_6'];
SPS_ProfiledAreas[456] := ['0_1', '0_2', '2_3', '2_4', '2_5', '2_6', '2_10', '3_10', '3_12', '3_13', '4_2', '4_3', '4_5', '4_6', '4_8', '4_10', '4_13', '5_2', '5_3', '5_4', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_4', '6_5', '6_6', '6_7', '6_8', '6_9', '6_13', '7_4', '7_5', '7_6', '7_7', '7_8', '7_9', '7_13', '8_4', '8_5', '8_6', '8_7', '8_8', '8_9', '9_1', '9_6', '9_7', '9_8', '9_9', '10_6', '10_7', '10_8', '10_9', '10_12', '11_6', '11_7', '11_8', '11_9', '12_6', '12_7', '12_13', '13_6', '13_7', '13_8', '13_9', '13_12', '14_11', '14_12', '17_11'];
SPS_ProfiledAreas[457] := ['4_13'];
SPS_ProfiledAreas[458] := ['13_12', '13_13'];
SPS_ProfiledAreas[463] := ['1_9', '14_8'];
SPS_ProfiledAreas[464] := ['0_12', '1_8', '1_9', '2_8', '2_9', '7_11', '13_7', '13_8', '13_13', '14_5', '14_8'];
SPS_ProfiledAreas[465] := ['0_9', '0_10', '1_8', '1_9', '1_10', '2_3', '2_5', '2_6', '2_8', '2_9', '2_10', '2_11', '3_5', '3_6', '3_7', '3_11', '3_12', '3_13', '4_5', '4_6', '4_7', '4_10', '4_12', '5_2', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '6_5', '6_6', '6_7', '6_8', '6_9', '6_10', '6_11', '6_13', '7_5', '7_6', '7_7', '7_8', '7_10', '7_11', '7_13', '8_7', '8_8', '8_9', '8_11', '9_6', '9_7', '9_8', '9_9', '10_6', '10_9', '11_6', '11_8', '11_9', '11_10', '12_6', '12_7', '12_8', '12_9', '13_7', '13_8', '13_13', '17_5', '17_6'];
SPS_ProfiledAreas[466] := ['0_2', '0_10', '0_12', '0_13', '1_9', '1_13', '2_3', '2_4', '2_5', '2_6', '2_10', '3_5', '3_6', '3_7', '3_10', '3_12', '3_13', '4_2', '4_3', '4_5', '4_6', '4_8', '4_10', '4_12', '4_13', '5_2', '5_3', '5_4', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_3', '6_4', '6_5', '6_6', '6_7', '6_8', '6_9', '6_10', '6_11', '6_13', '7_4', '7_6', '7_7', '7_8', '7_9', '7_10', '7_11', '7_12', '7_13', '8_4', '8_6', '8_7', '8_8', '8_9', '8_10', '8_11', '9_6', '9_7', '9_8', '9_9', '10_6', '10_7', '10_8', '10_9', '10_10', '10_12', '11_6', '11_7', '11_8', '11_9', '11_10', '12_6', '12_7', '12_8', '12_9', '12_13', '13_7', '13_8', '13_9', '13_12', '13_13', '14_11', '15_11', '16_11', '17_5', '17_6', '17_11', '17_13'];
SPS_ProfiledAreas[467] := ['0_2', '2_5', '4_2', '4_3', '4_13', '5_12', '5_13', '6_3', '6_4', '6_11', '7_4', '7_7', '7_9', '7_10', '7_11', '7_12', '7_13', '8_4', '8_7', '8_8', '8_9', '8_11', '9_7', '9_8', '10_7', '10_10', '10_12', '11_12', '11_13', '12_8', '12_9', '12_13', '13_8', '13_9', '13_11', '13_12', '13_13', '14_11', '15_11', '16_11', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[468] := ['5_12', '5_13', '13_12', '13_13'];
SPS_ProfiledAreas[475] := ['8_11', '12_8', '13_8', '16_10'];
SPS_ProfiledAreas[476] := ['0_11', '0_12', '0_13', '1_13', '2_5', '4_2', '4_5', '4_13', '5_6', '5_10', '5_12', '6_3', '6_9', '6_11', '7_9', '7_10', '7_11', '7_12', '8_7', '8_8', '8_9', '8_10', '8_11', '8_12', '9_6', '9_7', '9_8', '9_9', '9_12', '10_10', '12_8', '13_8', '13_13', '15_11', '16_10', '16_11'];
SPS_ProfiledAreas[477] := ['0_11', '0_12', '0_13', '1_11', '1_13', '2_5', '2_11', '2_12', '2_13', '4_5', '4_13', '5_12', '5_13', '6_3', '6_9', '6_10', '7_7', '7_9', '7_10', '7_11', '7_12', '8_7', '8_8', '8_9', '8_10', '8_11', '8_12', '9_7', '9_8', '9_9', '9_11', '9_12', '10_7', '10_10', '10_12', '11_12', '11_13', '12_8', '12_9', '12_12', '12_13', '13_8', '13_11', '13_12', '13_13', '14_11', '15_11', '16_10', '16_11', '17_10', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[478] := ['0_11', '0_12', '0_13', '1_11', '1_13', '2_12', '5_12', '5_13', '7_9', '7_10', '7_11', '9_9', '10_12', '11_11', '11_12', '11_13', '12_8', '12_9', '12_12', '12_13', '13_8', '13_9', '13_11', '13_12', '13_13', '14_11', '16_10', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[479] := ['11_11', '13_8', '13_9'];
SPS_ProfiledAreas[486] := ['8_10'];
SPS_ProfiledAreas[487] := ['2_12', '5_12', '6_9', '6_10', '7_9', '7_10', '7_11', '7_12', '8_10', '8_11', '8_12', '9_11', '9_12', '12_8', '13_8', '16_10', '16_11', '17_10', '17_11'];
SPS_ProfiledAreas[488] := ['0_11', '0_12', '0_13', '1_11', '1_13', '2_11', '2_12', '2_13', '5_12', '6_9', '6_10', '7_9', '7_10', '7_11', '7_12', '8_10', '8_11', '9_9', '9_10', '9_11', '10_12', '11_11', '11_12', '11_13', '12_8', '12_9', '12_12', '12_13', '13_8', '13_11', '13_12', '14_11', '16_10', '16_11', '17_10', '17_11', '17_12'];
SPS_ProfiledAreas[489] := ['0_12', '0_13', '1_13', '2_11', '2_12', '2_13', '7_10', '10_12', '11_11', '11_12', '11_13', '12_8', '12_9', '12_12', '12_13', '13_8', '13_9', '13_11', '14_11', '16_11', '17_11', '17_12'];
SPS_ProfiledAreas[499] := ['7_10', '16_11', '17_11'];
SPS_ProfiledAreas[500] := ['11_10', '12_10'];
SPS_ProfiledAreas[544] := ['0_10', '0_11', '0_13', '1_5', '1_11', '1_13', '2_5', '2_10', '2_11', '2_13', '3_3', '3_13', '4_13', '7_1', '8_1', '9_1', '10_1', '10_12', '11_1', '12_1', '12_2', '12_3', '12_5', '13_1', '13_2', '13_3', '13_4', '13_5', '13_9', '14_3', '14_4', '14_5', '14_11', '14_12', '14_13', '15_5', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '17_5', '17_6', '17_10', '17_13'];
SPS_ProfiledAreas[545] := ['3_3', '10_1', '11_1', '13_3', '13_4', '13_5', '14_3', '14_4'];
SPS_ProfiledAreas[553] := ['14_5'];
SPS_ProfiledAreas[554] := ['0_10', '0_11', '0_13', '1_5', '1_8', '1_11', '1_13', '2_5', '2_10', '2_11', '2_13', '3_3', '3_13', '4_13', '7_1', '8_1', '9_1', '9_2', '10_1', '10_12', '11_1', '12_1', '12_2', '12_3', '12_5', '13_1', '13_2', '13_3', '13_4', '13_5', '13_9', '14_3', '14_5', '14_9', '14_11', '14_12', '14_13', '15_5', '15_6', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '17_5', '17_6', '17_10', '17_13'];
SPS_ProfiledAreas[555] := ['0_1', '0_2', '0_3', '0_10', '0_11', '0_13', '1_3', '1_5', '1_8', '1_11', '2_3', '2_4', '2_5', '2_6', '2_10', '2_11', '2_13', '3_3', '3_4', '3_10', '3_11', '3_13', '4_3', '4_4', '4_5', '4_6', '4_7', '4_11', '4_13', '5_4', '5_5', '5_6', '5_11', '7_1', '7_2', '7_5', '7_6', '7_8', '7_9', '8_1', '8_3', '8_4', '8_5', '8_6', '8_8', '9_1', '9_2', '9_3', '9_9', '10_1', '10_4', '10_9', '10_10', '10_12', '11_1', '11_2', '11_3', '11_4', '11_6', '11_7', '11_9', '11_10', '12_1', '12_2', '12_3', '12_5', '12_6', '12_7', '12_13', '13_1', '13_2', '13_3', '13_4', '13_5', '13_6', '13_7', '13_9', '14_3', '14_4', '14_5', '14_9', '14_11', '14_12', '15_5', '15_6', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '17_5'];
SPS_ProfiledAreas[556] := ['0_1', '0_2', '1_3', '2_4', '2_6', '3_10', '3_11', '4_2', '4_3', '4_4', '4_6', '4_7', '4_8', '4_11', '5_2', '5_4', '5_5', '5_6', '5_8', '5_11', '6_4', '6_5', '6_8', '7_2', '7_4', '7_5', '7_6', '7_7', '7_8', '7_9', '8_3', '8_4', '8_5', '8_6', '8_7', '8_8', '9_1', '9_8', '9_9', '10_9', '10_10', '11_6', '11_7', '11_9', '12_6', '12_7', '13_3', '13_4', '13_6', '13_7', '13_9', '14_3', '14_4', '14_11'];
SPS_ProfiledAreas[558] := ['13_12', '13_13'];
SPS_ProfiledAreas[564] := ['1_9', '14_5'];
SPS_ProfiledAreas[565] := ['0_2', '0_3', '0_9', '0_10', '1_8', '1_9', '2_3', '2_4', '2_5', '2_6', '2_8', '2_10', '2_11', '3_3', '3_4', '3_5', '3_6', '3_11', '3_12', '3_13', '4_3', '4_4', '4_5', '4_6', '4_7', '4_11', '4_12', '4_13', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '6_5', '6_6', '6_8', '6_9', '6_10', '6_11', '6_13', '7_5', '7_6', '7_7', '7_8', '7_11', '7_13', '8_3', '8_7', '9_1', '9_2', '10_9', '10_12', '11_9', '11_10', '12_8', '13_7', '13_8', '13_13', '14_5', '14_9', '15_5', '15_6', '15_9', '16_5', '16_6', '17_5', '17_6'];
SPS_ProfiledAreas[566] := ['0_1', '0_2', '0_3', '0_9', '0_10', '1_2', '1_3', '1_8', '1_9', '2_3', '2_4', '2_5', '2_6', '2_10', '2_11', '3_3', '3_4', '3_5', '3_6', '3_10', '3_11', '3_12', '3_13', '4_2', '4_3', '4_4', '4_5', '4_6', '4_7', '4_8', '4_11', '4_12', '4_13', '5_2', '5_3', '5_4', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_3', '6_4', '6_5', '6_6', '6_7', '6_8', '6_9', '6_10', '6_11', '6_13', '7_4', '7_5', '7_6', '7_7', '7_8', '7_9', '7_10', '7_11', '7_13', '8_3', '8_4', '8_6', '8_7', '8_8', '8_9', '9_1', '9_3', '9_6', '9_7', '9_8', '9_9', '10_6', '10_8', '10_9', '10_10', '10_12', '11_6', '11_7', '11_9', '11_10', '12_6', '12_7', '12_8', '12_9', '12_13', '13_3', '13_4', '13_7', '13_8', '13_9', '13_12', '13_13', '14_3', '14_4', '14_9', '14_11', '14_12', '15_11', '16_11', '17_5', '17_6', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[567] := ['0_1', '0_2', '1_2', '2_5', '3_10', '4_2', '4_3', '4_13', '5_9', '5_12', '5_13', '6_3', '6_4', '6_9', '6_11', '7_4', '7_6', '7_7', '7_9', '7_11', '8_4', '8_7', '8_8', '8_9', '9_6', '9_7', '9_8', '10_10', '10_12', '11_9', '12_9', '12_13', '13_8', '13_9', '13_12', '14_11', '15_11', '16_11', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[568] := ['13_12', '13_13'];
SPS_ProfiledAreas[569] := ['13_12', '13_13'];
SPS_ProfiledAreas[575] := ['1_9'];
SPS_ProfiledAreas[576] := ['2_5', '4_2', '4_5', '4_6', '5_2', '5_5', '5_6', '5_9', '5_10', '6_3', '6_9', '6_10', '6_11', '6_12', '7_9', '7_10', '7_12', '8_7', '8_8', '8_9', '8_10', '8_12', '9_6', '9_7', '9_9', '9_10', '10_9', '10_10', '11_10', '12_8', '13_8', '13_13', '16_10', '17_5', '17_12'];
SPS_ProfiledAreas[577] := ['0_2', '0_11', '0_12', '1_11', '2_5', '2_12', '3_10', '4_2', '4_5', '4_6', '4_13', '5_6', '5_9', '5_10', '5_12', '5_13', '6_3', '6_4', '6_9', '6_10', '6_11', '6_12', '7_4', '7_6', '7_7', '7_9', '7_10', '7_11', '7_12', '8_4', '8_7', '8_8', '8_9', '8_10', '8_11', '8_12', '9_6', '9_7', '9_8', '9_9', '9_10', '9_11', '10_7', '10_10', '10_11', '10_12', '11_9', '11_13', '12_9', '12_11', '12_12', '12_13', '13_8', '13_9', '13_10', '13_11', '13_12', '13_13', '14_10', '14_11', '15_11', '16_10', '16_11', '17_10', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[578] := ['0_2', '0_11', '0_12', '1_11', '2_5', '5_12', '5_13', '6_10', '7_10', '7_11', '9_8', '9_9', '9_10', '10_10', '10_11', '10_12', '11_9', '11_10', '11_11', '11_12', '11_13', '12_9', '12_10', '12_11', '12_12', '12_13', '13_8', '13_9', '13_10', '13_11', '13_12', '13_13', '14_10', '14_11', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[579] := ['7_10', '12_9', '13_8', '13_9', '13_12', '13_13', '14_11'];
SPS_ProfiledAreas[580] := ['12_8', '12_9', '12_10', '13_8', '13_9', '13_10', '13_12', '14_10', '14_11'];
SPS_ProfiledAreas[587] := ['2_12', '5_12', '6_9', '6_10', '7_7', '7_9', '7_12', '8_10', '8_11', '8_12', '9_11', '9_12', '14_10', '15_11', '16_10', '16_11', '16_12', '17_10', '17_11', '17_12'];
SPS_ProfiledAreas[588] := ['0_11', '0_12', '0_13', '1_11', '1_13', '2_11', '2_12', '2_13', '5_12', '6_9', '6_10', '7_9', '7_10', '7_11', '7_12', '8_10', '8_11', '8_12', '9_9', '9_10', '9_11', '9_12', '10_10', '10_11', '10_12', '11_10', '11_11', '11_12', '11_13', '12_8', '12_9', '12_10', '12_11', '12_12', '12_13', '13_9', '13_10', '13_11', '13_12', '13_13', '14_10', '14_11', '15_11', '16_10', '16_11', '16_12', '17_10', '17_11', '17_12'];
SPS_ProfiledAreas[589] := ['0_11', '0_12', '0_13', '1_11', '1_13', '2_11', '2_12', '2_13', '5_12', '7_10', '10_11', '10_12', '11_10', '11_11', '11_12', '11_13', '12_8', '12_9', '12_10', '12_11', '12_12', '12_13', '13_8', '13_9', '13_10', '13_11', '13_12', '13_13', '14_10', '14_11', '16_11', '17_11', '17_12'];
SPS_ProfiledAreas[590] := ['0_12', '0_13', '11_10', '11_11', '11_12', '11_13', '12_8', '12_9', '12_10', '12_11', '12_12', '12_13', '13_8', '13_9', '13_10', '13_11', '13_12', '13_13', '14_10', '14_11'];
SPS_ProfiledAreas[598] := ['9_10'];
SPS_ProfiledAreas[599] := ['0_12', '0_13', '1_13', '2_11', '2_12', '2_13', '5_12', '7_10', '9_10', '11_10', '11_11', '11_12', '11_13', '12_8', '12_9', '12_10', '12_11', '12_12', '12_13', '13_9', '13_10', '13_11', '13_12', '13_13', '14_10', '14_11', '16_11', '17_11'];
SPS_ProfiledAreas[600] := ['11_10', '12_8', '12_9', '12_10'];
SPS_ProfiledAreas[655] := ['0_3', '0_10', '0_11', '0_13', '1_5', '1_8', '1_11', '1_13', '2_5', '2_10', '2_11', '2_13', '3_3', '3_13', '4_3', '4_4', '4_5', '4_13', '6_0', '7_1', '8_1', '8_3', '9_1', '9_2', '10_1', '10_12', '11_1', '12_1', '12_2', '12_3', '12_5', '13_1', '13_2', '13_3', '13_4', '13_5', '13_9', '14_3', '14_4', '14_5', '14_9', '14_11', '14_12', '14_13', '15_5', '15_6', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '17_5', '17_6', '17_10', '17_13'];
SPS_ProfiledAreas[656] := ['7_2', '9_1'];
SPS_ProfiledAreas[664] := ['14_5'];
SPS_ProfiledAreas[665] := ['0_2', '0_3', '0_9', '0_10', '0_11', '0_13', '1_5', '1_8', '1_9', '1_11', '1_13', '2_5', '2_10', '2_11', '2_13', '3_3', '3_13', '4_3', '4_4', '4_5', '4_13', '6_0', '6_1', '6_11', '7_1', '7_6', '8_1', '9_1', '9_2', '10_1', '10_12', '11_1', '12_1', '12_2', '12_3', '12_5', '13_1', '13_2', '13_3', '13_4', '13_5', '13_7', '13_8', '13_9', '13_13', '14_3', '14_4', '14_5', '14_9', '14_11', '14_12', '14_13', '15_5', '15_6', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '17_5', '17_6', '17_10', '17_13'];
SPS_ProfiledAreas[666] := ['0_1', '0_2', '0_3', '0_9', '0_10', '1_1', '1_2', '1_3', '1_5', '1_8', '1_9', '2_3', '2_4', '2_5', '2_6', '2_10', '2_11', '3_3', '3_4', '3_5', '3_6', '3_11', '3_12', '3_13', '4_2', '4_3', '4_4', '4_5', '4_6', '4_7', '4_11', '4_12', '4_13', '5_2', '5_3', '5_4', '5_5', '5_6', '5_7', '5_8', '5_9', '5_10', '5_11', '5_12', '6_3', '6_4', '6_6', '6_7', '6_8', '6_9', '6_10', '6_11', '6_13', '7_1', '7_2', '7_4', '7_5', '7_6', '7_7', '7_8', '7_9', '7_13', '8_3', '8_4', '8_6', '8_7', '8_8', '8_9', '9_1', '9_2', '9_3', '9_9', '10_1', '10_9', '10_10', '10_11', '10_12', '11_1', '11_6', '11_9', '11_10', '12_1', '12_2', '12_3', '12_5', '12_13', '13_1', '13_2', '13_3', '13_4', '13_5', '13_7', '13_8', '13_9', '13_12', '13_13', '14_3', '14_4', '14_5', '14_9', '14_11', '14_12', '15_5', '15_6', '15_9', '15_10', '15_11', '16_5', '16_6', '16_11', '16_12', '17_5', '17_6', '17_12', '17_13'];
SPS_ProfiledAreas[667] := ['0_1', '0_2', '1_2', '4_2', '4_13', '5_3', '5_9', '6_4', '6_9', '6_11', '7_2', '7_4', '7_6', '7_7', '7_8', '7_9', '8_4', '8_6', '8_7', '8_8', '9_6', '11_6', '13_3', '13_9', '13_12', '13_13', '14_3', '14_11', '16_11', '17_12'];
SPS_ProfiledAreas[668] := ['13_12', '13_13'];
SPS_ProfiledAreas[676] := ['0_1', '0_2', '0_3', '0_9', '0_10', '1_1', '1_2', '1_3', '1_8', '2_3', '2_4', '2_5', '3_3', '3_4', '3_5', '3_11', '4_2', '4_5', '4_6', '4_13', '5_2', '5_3', '5_5', '5_6', '5_7', '5_9', '5_10', '5_11', '5_12', '6_3', '6_4', '6_7', '6_8', '6_9', '6_10', '6_11', '6_13', '7_2', '7_7', '7_8', '7_9', '7_13', '8_4', '8_7', '8_8', '8_9', '8_13', '9_1', '9_9', '9_10', '10_9', '10_10', '10_11', '10_12', '11_9', '11_10', '13_7', '13_8', '13_9', '13_13', '14_10', '16_10', '16_11', '16_12', '17_5', '17_6', '17_12', '17_13'];
SPS_ProfiledAreas[677] := ['0_1', '0_2', '0_3', '1_1', '1_2', '2_3', '2_5', '3_10', '4_2', '4_5', '4_6', '4_13', '5_2', '5_3', '5_5', '5_6', '5_9', '5_10', '5_12', '5_13', '6_3', '6_4', '6_8', '6_9', '6_10', '6_11', '6_12', '7_2', '7_4', '7_6', '7_7', '7_8', '7_9', '7_10', '7_11', '7_12', '8_4', '8_6', '8_7', '8_8', '8_9', '8_10', '8_12', '9_1', '9_6', '9_7', '9_8', '9_9', '9_10', '9_11', '9_12', '10_9', '10_10', '10_11', '10_12', '11_6', '11_9', '11_10', '12_10', '12_12', '12_13', '13_9', '13_10', '13_11', '13_12', '13_13', '14_9', '14_10', '14_11', '14_12', '15_10', '15_11', '15_12', '16_10', '16_11', '16_12', '17_10', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[678] := ['0_1', '0_2', '2_5', '5_12', '5_13', '6_3', '6_4', '6_10', '7_4', '7_10', '7_11', '8_4', '9_7', '9_8', '9_9', '9_10', '10_10', '10_11', '10_12', '11_9', '11_10', '12_9', '12_10', '12_13', '13_9', '13_10', '13_12', '13_13', '14_9', '14_10', '14_11', '17_11', '17_12'];
SPS_ProfiledAreas[680] := ['13_9'];
SPS_ProfiledAreas[687] := ['1_13', '4_2', '6_3', '6_9', '6_10', '6_12', '7_7', '7_9', '7_10', '7_12', '8_8', '8_10', '8_11', '8_12', '9_6', '9_9', '9_10', '9_11', '9_12', '14_10', '15_10', '15_11', '16_10', '16_11', '16_12', '17_10', '17_11', '17_12'];
SPS_ProfiledAreas[688] := ['0_2', '0_11', '0_12', '0_13', '1_11', '1_13', '2_11', '2_12', '2_13', '5_12', '5_13', '6_3', '6_9', '6_10', '7_9', '7_10', '7_12', '8_4', '8_10', '8_11', '8_12', '9_6', '9_8', '9_9', '9_10', '9_11', '9_12', '10_11', '10_12', '11_10', '12_9', '12_10', '12_13', '13_9', '13_10', '13_13', '14_10', '14_11', '15_10', '15_11', '16_10', '16_11', '16_12', '17_10', '17_11', '17_12'];
SPS_ProfiledAreas[689] := ['0_11', '0_12', '0_13', '1_11', '1_13', '2_11', '2_12', '2_13', '5_12', '6_10', '7_10', '9_11', '11_10', '12_9', '12_10', '12_13', '13_8', '13_10', '13_13', '14_10', '14_11', '16_11', '16_12', '17_11', '17_12'];
SPS_ProfiledAreas[690] := ['0_12', '0_13', '11_10', '12_8', '12_9', '12_10', '13_8', '13_9', '14_11'];
SPS_ProfiledAreas[698] := ['8_10', '9_10'];
SPS_ProfiledAreas[699] := ['0_11', '0_12', '0_13', '1_11', '1_13', '2_11', '2_12', '2_13', '5_12', '6_10', '7_10', '9_10', '11_10', '12_9', '12_10', '12_13', '13_13', '16_11', '17_11', '17_12'];
SPS_ProfiledAreas[765] := ['14_5', '15_5'];
SPS_ProfiledAreas[766] := ['0_1', '0_2', '0_3', '0_10', '0_11', '0_13', '1_1', '1_2', '1_3', '1_5', '1_11', '1_13', '2_3', '2_4', '2_5', '2_10', '2_11', '2_13', '3_2', '3_3', '3_4', '3_5', '3_6', '3_11', '3_12', '3_13', '4_2', '4_3', '4_4', '4_5', '4_6', '4_7', '4_11', '4_12', '4_13', '5_2', '5_3', '5_4', '5_5', '5_6', '5_7', '5_11', '6_0', '6_1', '6_4', '6_8', '6_9', '6_10', '7_1', '7_5', '7_6', '7_7', '7_8', '7_9', '7_13', '8_1', '8_3', '8_8', '8_9', '9_1', '9_2', '9_9', '9_11', '10_1', '10_9', '10_11', '10_12', '11_1', '11_10', '12_1', '12_2', '12_5', '13_1', '13_2', '13_3', '13_4', '13_5', '13_7', '13_9', '14_3', '14_4', '14_5', '14_9', '14_11', '14_12', '14_13', '15_5', '15_6', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '16_12', '17_5', '17_6', '17_10', '17_12', '17_13'];
SPS_ProfiledAreas[767] := ['7_2', '13_3', '13_4', '13_13', '14_3', '14_4'];
SPS_ProfiledAreas[776] := ['0_1', '0_2', '0_3', '0_9', '0_10', '0_11', '0_13', '1_1', '1_2', '1_3', '1_5', '1_8', '1_11', '1_13', '2_2', '2_3', '2_4', '2_5', '2_10', '2_11', '2_13', '3_2', '3_3', '3_4', '3_5', '3_6', '3_11', '3_12', '3_13', '4_2', '4_3', '4_4', '4_5', '4_6', '4_11', '4_12', '4_13', '5_1', '5_2', '5_3', '5_4', '5_5', '5_6', '5_7', '5_9', '5_10', '5_11', '5_12', '5_13', '6_0', '6_1', '6_3', '6_4', '6_7', '6_8', '6_9', '6_10', '6_11', '6_12', '6_13', '7_1', '7_5', '7_6', '7_7', '7_8', '7_9', '7_13', '8_1', '8_3', '8_7', '8_8', '8_9', '8_12', '8_13', '9_1', '9_2', '9_9', '9_10', '9_11', '10_1', '10_9', '10_10', '10_11', '10_12', '11_1', '11_9', '11_10', '12_1', '13_1', '13_2', '13_3', '13_4', '13_5', '13_7', '13_8', '13_9', '13_13', '14_3', '14_4', '14_5', '14_9', '14_10', '14_11', '14_12', '14_13', '15_5', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '16_12', '17_5', '17_6', '17_10', '17_12', '17_13'];
SPS_ProfiledAreas[777] := ['0_1', '0_2', '0_3', '0_11', '0_12', '0_13', '1_1', '1_5', '1_11', '1_13', '2_2', '2_3', '2_4', '2_5', '2_11', '2_12', '2_13', '3_2', '3_3', '4_2', '4_5', '4_13', '5_2', '5_3', '5_5', '5_9', '5_10', '5_12', '5_13', '6_3', '6_4', '6_8', '6_9', '6_10', '6_11', '6_12', '7_2', '7_4', '7_6', '7_7', '7_8', '7_9', '7_10', '7_12', '8_2', '8_3', '8_4', '8_6', '8_7', '8_8', '8_9', '8_10', '8_12', '8_13', '9_1', '9_2', '9_3', '9_6', '9_9', '9_10', '9_11', '9_12', '10_9', '10_10', '10_11', '10_12', '11_9', '11_10', '12_9', '12_10', '12_13', '13_3', '13_4', '13_9', '13_12', '13_13', '14_3', '14_4', '14_9', '14_10', '14_11', '14_12', '14_13', '15_10', '15_11', '15_12', '16_10', '16_11', '16_12', '17_10', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[778] := ['0_1', '0_2', '2_5', '5_12', '5_13', '6_4', '7_4', '7_6', '7_10', '8_4', '8_6', '8_10', '9_11', '11_9', '11_10', '12_9', '12_10', '13_13'];
SPS_ProfiledAreas[787] := ['0_2', '0_3', '0_11', '0_12', '0_13', '1_11', '1_13', '2_11', '2_12', '2_13', '4_2', '5_2', '5_12', '5_13', '6_3', '6_9', '6_10', '6_12', '7_2', '7_9', '7_10', '7_12', '8_4', '8_8', '8_10', '8_12', '9_6', '9_9', '9_10', '9_11', '9_12', '11_10', '12_9', '12_10', '12_13', '15_10', '15_11', '16_10', '16_11', '16_12', '17_10', '17_11', '17_12'];
SPS_ProfiledAreas[788] := ['0_1', '0_2', '0_11', '0_12', '0_13', '1_11', '1_13', '2_11', '2_12', '2_13', '4_2', '5_12', '5_13', '6_3', '6_4', '6_9', '6_10', '7_2', '7_4', '7_6', '7_9', '7_10', '7_12', '8_4', '8_6', '8_8', '8_10', '8_12', '9_6', '9_9', '9_10', '9_11', '9_12', '11_10', '12_9', '12_10', '12_13', '13_13', '15_10', '15_11', '16_10', '16_12', '17_10', '17_11', '17_12'];
SPS_ProfiledAreas[789] := ['0_11', '0_12', '0_13', '1_11', '1_13', '2_11', '2_13', '6_4', '6_10', '7_4', '7_10', '8_4', '17_11'];
SPS_ProfiledAreas[798] := ['6_3'];
SPS_ProfiledAreas[799] := ['0_13', '6_3'];
SPS_ProfiledAreas[876] := ['0_1', '0_2', '0_3', '0_9', '0_10', '0_11', '0_12', '0_13', '1_1', '1_2', '1_3', '1_5', '1_11', '1_13', '2_2', '2_3', '2_4', '2_5', '2_11', '2_12', '2_13', '3_2', '3_3', '3_4', '3_5', '3_11', '3_12', '3_13', '4_2', '4_3', '4_4', '4_5', '4_11', '4_13', '5_0', '5_1', '5_2', '5_3', '5_4', '5_5', '5_6', '5_7', '5_10', '5_11', '5_12', '5_13', '6_0', '6_1', '6_2', '6_3', '6_4', '6_8', '6_9', '6_10', '6_11', '6_12', '6_13', '7_1', '7_2', '7_5', '7_6', '7_7', '7_8', '7_9', '7_12', '7_13', '8_1', '8_8', '8_9', '8_12', '8_13', '9_1', '9_11', '9_12', '10_1', '10_11', '10_12', '11_1', '12_1', '13_1', '13_2', '13_3', '13_5', '13_9', '13_13', '14_3', '14_4', '14_5', '14_9', '14_10', '14_11', '14_12', '14_13', '15_5', '15_9', '15_10', '15_11', '15_12', '16_5', '16_6', '16_10', '16_12', '17_5', '17_6', '17_10', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[877] := ['0_2', '0_3', '0_11', '0_12', '0_13', '1_2', '1_3', '1_5', '1_11', '1_13', '2_2', '2_5', '2_11', '2_12', '2_13', '3_2', '3_3', '4_2', '4_13', '5_0', '5_1', '5_2', '5_10', '5_12', '5_13', '6_0', '6_1', '6_2', '6_3', '6_4', '6_9', '6_10', '6_11', '6_12', '7_1', '7_2', '7_3', '7_7', '7_8', '7_9', '7_12', '8_1', '8_2', '8_3', '8_4', '8_8', '8_9', '8_10', '8_12', '9_1', '9_2', '9_9', '9_10', '9_11', '9_12', '10_9', '10_10', '10_11', '11_10', '13_3', '13_4', '13_13', '14_3', '14_4', '14_12', '14_13', '15_10', '15_11', '15_12', '16_10', '16_12', '17_10', '17_11', '17_12', '17_13'];
SPS_ProfiledAreas[878] := ['7_2', '7_3'];
SPS_ProfiledAreas[887] := ['0_2', '0_3', '1_2', '1_3', '2_2', '3_2', '3_3', '4_2', '5_0', '5_1', '5_2', '6_0', '6_1', '6_2', '6_3', '6_4', '7_1', '7_2', '8_1', '8_2', '8_3', '8_4', '8_10', '9_1', '9_2', '13_3', '13_4', '14_3', '14_4'];
SPS_ProfiledAreas[888] := ['0_2', '0_3', '1_2', '2_2', '3_2', '3_3', '4_2', '5_0', '5_1', '5_2', '6_0', '6_1', '6_2', '6_3', '6_4', '7_2', '7_3', '7_4', '7_6', '8_1', '8_2', '8_3', '8_4', '8_6', '9_1', '9_2', '9_6', '13_3', '13_4', '14_3', '14_4'];
SPS_ProfiledAreas[889] := ['6_4', '7_4', '7_6', '8_4'];
SPS_ProfiledAreas[898] := ['0_2', '6_3', '7_2', '7_3', '7_4'];
SPS_ProfiledAreas[899] := ['0_2', '6_3', '6_4', '7_2', '7_4', '7_6', '8_4'];
SPS_ProfiledAreas[900] := ['6_3', '6_4', '7_4', '8_4'];
SPS_ProfiledAreas[909] := ['0_2', '6_3', '6_4', '7_2', '7_3', '7_4', '8_2', '8_4'];
SPS_ProfiledAreas[988] := ['0_2', '0_3', '1_2', '2_2', '3_2', '3_3', '5_0', '5_1', '5_2', '6_0', '6_1', '6_2', '6_3', '6_4', '7_2', '7_3', '8_1', '8_2', '8_3', '8_4', '9_1', '9_2', '13_3', '13_4', '14_4'];
SPS_ProfiledAreas[990] := ['7_4', '8_4'];
SPS_ProfiledAreas[998] := ['0_2', '1_2', '2_2', '3_2', '3_3', '5_0', '5_1', '5_2', '6_0', '6_1', '6_2', '6_3', '6_4', '7_2', '7_3', '7_4', '8_1', '8_2', '8_3', '8_4', '9_1', '9_2', '13_3', '13_4', '14_4'];
SPS_ProfiledAreas[999] := ['0_2', '1_2', '2_2', '3_2', '5_0', '5_1', '6_0', '6_1', '6_2', '6_3', '6_4', '7_2', '7_3', '7_4', '7_6', '8_1', '8_2', '8_3', '8_4', '9_1', '9_2', '13_3', '13_4', '14_4'];
end;


begin
SPS_LoadAreaObjectInfo;
SPS_LoadProfiledAreas;

// Feel free to change the profile and swap 0's and 1's around and see how many
// areas the script finds.
writeln(SPS_GetProbableAreas(555, [1, 0, 0, 0, 1, 1, 1, 0, 0]));
end.

Harry
11-30-2011, 10:13 AM
Looks neat. euphemism's ObjectDTMs (http://villavu.com/forum/showthread.php?t=68112) incorporated with SPS sounds like something that could be useful for your goal.

Zyt3x
11-30-2011, 10:42 AM
Reminds me a lot of Boreas' world walking project :p

marpis
11-30-2011, 11:11 AM
Reminds me a lot of Boreas' world walking project :p

Yep, the idea is basically the same. Although I don't know all of his methods, only that he was going to use symbols which alone don't help at all. I hope Boreas reads this and provides some epic code. :)