diff --git a/HISTORY.md b/HISTORY.md
index f5c3aca81c..027cf863a5 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -1,5 +1,76 @@
# Keyman Version History
+## 19.0.285 alpha 2026-09-11
+
+* fix(web): handle 'unload' message while attempting model 'load' (#16548)
+* fix(android): load KMP files from app-external sources (#16392)
+
+## 19.0.284 alpha 2026-09-10
+
+* maint(developer): remove unused ajv dependency from kmc-convert (#16539)
+* fix(web): remove scroll-to-top on page load (#16531)
+
+## 19.0.283 alpha 2026-09-09
+
+* change(web): allow autocorrection on input of basic whitespaces (#16541)
+
+## 19.0.282 alpha 2026-09-08
+
+* refactor(web): clarify function scope and update some function comments (#16532)
+
+## 19.0.281 alpha 2026-09-07
+
+* chore(deps): bump fast-uri from 3.1.5 to 3.1.7 (#16511)
+* chore(deps): bump nanoid from 3.3.11 to 3.3.18 (#16512)
+* chore(deps): bump qs and express (#16513)
+* chore(web): adjust types in guide-examples tests (#16523)
+
+## 19.0.280 alpha 2026-09-05
+
+* fix(windows): open chm external links in user's browser (#16515)
+
+## 19.0.279 alpha 2026-09-03
+
+* chore(web): tweak error message (#16495)
+* change(web): stage construction of CorrectionPredictionTuple instances (#16429)
+* change(web): narrow the range of suggestions examined to determine autocompletion (#16436)
+* fix(web): remove deprecated `onunload` handler (#16504)
+* docs(developer): add comment to test fixtures to clarify expectations (#16505)
+* fix(developer): hide keyboard uninstall confirmation (#16506)
+* fix(developer): remember presentation and layer when switching platforms in touch layout editor (#16509)
+* fix(developer): ensure JSON regenerated after undo in touch layout editor (#16516)
+* fix(developer): improve validation of minDeviceWidth to match spec (#16501)
+* chore(developer): improve kmc-ldml test messages (#16502)
+* chore(web): add const for cookie name (#16519)
+* refactor(web): clarify scope of PageContextAttachment functions (#16521)
+
+## 19.0.278 alpha 2026-09-02
+
+* feat(developer): support output folder and `--continue-on-error` (#16453)
+* fix(developer): validate the number of hardware layers only in Layr compiler (#16455)
+* fix(developer): validate id and modifiers attributes in Layr compiler (#16456)
+* fix(developer): disable Copy Link in Model Editor if no link to copy (#16475)
+* fix(developer): open context help when F1 pressed in Project window (#16481)
+* chore(web): update file headers (#16497)
+
+## 19.0.277 alpha 2026-09-01
+
+* fix(developer): handle comment without trailing whitespace (#16479)
+* fix(developer): improve scroll wheel behavior in Character Map (#16474)
+* fix(developer): call 'Show Console' twice to make the console actually show on first use (#16483)
+* fix(developer): use path not dependent on pwd for starting Server (#16476)
+* chore(developer): remove duplicated versioning information from Server (#16478)
+* fix(developer): handle leading delimiters correctly in `u16tok()` (#16446)
+* chore(android): upload webview source map during android and ios build (#16449)
+* refactor(windows): rename `GetCapsAndNumlockState()` to `RefreshModifierState()` (#16444)
+* chore(developer): strip out defunct printing support (#16480)
+* fix(developer): make tool windows non-topmost when TIKE is deactivated (#16482)
+* fix(windows): simplify keyboard refresh and make it more on-demand (#16435)
+* refactor(windows): cleanup unused wm_keyman_control values (#16439)
+* maint(windows): remove `koSwitchLanguageForAllApplications`, `koAutoSwitchOSKPages`, osVista, osWin7, osWin8, cleanup (#16443)
+* change(developer): deprecate `fix`, `clearcontext`, bump max .kmx version to 19.0 (#16445)
+* fix(developer): add missing message parameters and cleanup kmc-kmn messages further (#16493)
+
## 19.0.276 alpha 2026-08-28
* fix(windows): add manifest to insthelper and set trustinfo to asInvoker (#16430)
diff --git a/VERSION.md b/VERSION.md
index 414f9e906a..81bfc4e5ab 100644
--- a/VERSION.md
+++ b/VERSION.md
@@ -1 +1 @@
-19.0.277
\ No newline at end of file
+19.0.286
\ No newline at end of file
diff --git a/android/KMAPro/kMAPro/src/main/AndroidManifest.xml b/android/KMAPro/kMAPro/src/main/AndroidManifest.xml
index 563690c031..2de584e7a0 100644
--- a/android/KMAPro/kMAPro/src/main/AndroidManifest.xml
+++ b/android/KMAPro/kMAPro/src/main/AndroidManifest.xml
@@ -85,42 +85,33 @@
+ Capture content by MIME type, which is how Gmail broadcasts
+ attachment open requests. pathPattern and file extensions
+ are ignored, so the MIME type *MUST* be explicit, otherwise
+ we will match absolutely every file opened.
+
+ See https://developer.android.com/guide/components/intents-filters#DataTest, item 3.
+ -->
-
-
+
+
+
-
-
-
-
+
+
+ Capture open requests (pathPattern is honoured) where MIME
+ type is provided in the Intent and a URI is provided.
+
+ See https://developer.android.com/guide/components/intents-filters#DataTest, item 4.
+ -->
@@ -128,19 +119,28 @@
+
+
-
+
+
+
+
+
+ Capture file open requests (pathPattern is honoured) where no
+ MIME type is provided in the Intent. An Intent with a null
+ MIME type will never be matched by a filter with a set MIME
+ type, so we need a second intent-filter if we wish to also
+ match files with this extension and a non-null MIME type
+ (even if it is non-null but zero length).
+
+ See https://developer.android.com/guide/components/intents-filters#DataTest, item 2.
+ -->
@@ -148,25 +148,10 @@
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
@@ -192,35 +177,14 @@
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
diff --git a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/CheckPermissions.java b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/CheckPermissions.java
index 431d97e353..78ba9eeffc 100644
--- a/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/CheckPermissions.java
+++ b/android/KMAPro/kMAPro/src/main/java/com/tavultesoft/kmapro/CheckPermissions.java
@@ -33,13 +33,8 @@ public class CheckPermissions {
// API 30-32
permissionsOK = Environment.isExternalStorageManager() ||
checkPermission(activity, Manifest.permission.READ_EXTERNAL_STORAGE);
- } else {
- // API 33+
- // We had to remove these MEDIA permissions from AndroidManifest.xml so these will end up failing
- // https://support.google.com/googleplay/android-developer/answer/14115180?hl=en
- permissionsOK = permissionsOK && checkPermission(activity, Manifest.permission.READ_MEDIA_IMAGES);
- permissionsOK = permissionsOK && checkPermission(activity, Manifest.permission.READ_MEDIA_VIDEO);
}
+ // API 33+ does not need any special permissions.
return permissionsOK;
}
diff --git a/android/KMEA/build.sh b/android/KMEA/build.sh
index 85a1894672..66471c0bbb 100755
--- a/android/KMEA/build.sh
+++ b/android/KMEA/build.sh
@@ -9,6 +9,7 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${THIS_SCRIPT%/*}/../../resources/build/builder-full.inc.sh"
## END STANDARD BUILD SCRIPT INCLUDE
+. "${KEYMAN_ROOT}/resources/build/ci/sentry-control.inc.sh"
# ################################ Main script ################################
@@ -19,6 +20,7 @@ builder_describe "Builds Keyman Engine for Android." \
"configure" \
"build" \
"test Runs lint and unit tests." \
+ "publish-symbols Publishes symbols to Sentry." \
":engine Builds Engine"
builder_parse "$@"
@@ -79,6 +81,13 @@ do_test() {
./gradlew $GRADLE_DAEMON $TEST_FLAGS
}
-builder_run_action clean:engine rm -rf build app/build
-builder_run_action build:engine do_build
-builder_run_action test:engine do_test
+do_publish_symbols() {
+ if builder_is_ci_build && builder_is_ci_build_level_release; then
+ sentry_upload_web "${KEYMAN_ROOT}/web/build/app/webview/release/"
+ fi
+}
+
+builder_run_action clean:engine rm -rf build app/build
+builder_run_action build:engine do_build
+builder_run_action test:engine do_test
+builder_run_action publish-symbols do_publish_symbols
diff --git a/common/cpp/km_u16.cpp b/common/cpp/km_u16.cpp
index 78077202fc..c378946156 100644
--- a/common/cpp/km_u16.cpp
+++ b/common/cpp/km_u16.cpp
@@ -326,10 +326,20 @@ int u16ncmp(const KMX_WCHAR* p, const KMX_WCHAR* q, size_t count) {
* @return Pointer to the first token in p
*/
KMX_WCHAR* u16tok(KMX_WCHAR* p, const KMX_WCHAR ch, KMX_WCHAR** ctx) {
+ if(ch == 0 || !ctx) {
+ return NULL;
+ }
+
if (!p) {
p = *ctx;
- if (!p)
+ if (!p) {
return NULL;
+ }
+ }
+
+ // skip initial delimiter
+ while (*p == ch) {
+ p++;
}
KMX_WCHAR* q = p;
@@ -356,10 +366,20 @@ KMX_WCHAR* u16tok(KMX_WCHAR* p, const KMX_WCHAR ch, KMX_WCHAR** ctx) {
* @return Pointer to the first token in p
*/
KMX_WCHAR* u16tok(KMX_WCHAR* p, const KMX_WCHAR* delimiters, KMX_WCHAR** ctx) {
+ if(!ctx || !delimiters || !(*delimiters)) {
+ return NULL;
+ }
+
if (!p) {
p = *ctx;
- if (!p)
+ if (!p) {
return NULL;
+ }
+ }
+
+ // skip initial delimiters
+ while (*p && u16chr(delimiters, *p)) {
+ p++;
}
KMX_WCHAR* q = p;
diff --git a/common/include/kmx_file.h b/common/include/kmx_file.h
index 748ba32d92..7b763c6700 100644
--- a/common/include/kmx_file.h
+++ b/common/include/kmx_file.h
@@ -51,9 +51,10 @@ namespace kmx {
#define VERSION_160 0x00001000
#define VERSION_170 0x00001100
+#define VERSION_190 0x00001300
#define VERSION_MIN VERSION_50
-#define VERSION_MAX VERSION_170
+#define VERSION_MAX VERSION_190
//
// Backspace types
@@ -201,7 +202,7 @@ namespace kmx {
//#define CODE_EXTENDEDEND 0x0B deprecated
#define CODE_SWITCH 0x0C
#define CODE_KEY 0x0D
-#define CODE_CLEARCONTEXT 0x0E
+#define CODE_CLEARCONTEXT 0x0E // deprecated in 19.0
#define CODE_CALL 0x0F
// UC_SENTINEL_EXTENDEDEND 0x10
#define CODE_CONTEXTEX 0x11
@@ -234,7 +235,7 @@ namespace kmx {
#define U_CODE_DEADKEY u"\u0008"
#define U_CODE_EXTENDED u"\u000A"
#define U_CODE_SWITCH u"\u000C"
-#define U_CODE_CLEARCONTEXT u"\u000E"
+#define U_CODE_CLEARCONTEXT u"\u000E" // deprecated in 19.0
#define U_CODE_CALL u"\u000F"
#define U_CODE_EXTENDEDEND u"\u0010"
#define U_CODE_CONTEXTEX u"\u0011"
@@ -256,7 +257,7 @@ namespace kmx {
#define C_CODE_DEADKEY(deadkey) U_UC_SENTINEL U_CODE_DEADKEY deadkey
#define C_CODE_EXTENDED(varargs) U_UC_SENTINEL U_CODE_EXTENDED varargs
#define C_CODE_SWITCH(val) U_UC_SENTINEL U_CODE_SWITCH val
-#define C_CODE_CLEARCONTEXT() U_UC_SENTINEL U_CODE_CLEARCONTEXT
+#define C_CODE_CLEARCONTEXT() U_UC_SENTINEL U_CODE_CLEARCONTEXT // deprecated in 19.0
#define C_CODE_CALL(val) U_UC_SENTINEL U_CODE_CALL val
#define C_CODE_CONTEXTEX(val) U_UC_SENTINEL U_CODE_CONTEXTEX val
#define C_CODE_NOTANY(val) U_UC_SENTINEL U_CODE_NOTANY val
diff --git a/common/web/types/src/kmx/kmx.ts b/common/web/types/src/kmx/kmx.ts
index 651a6db0d1..66a11398a6 100644
--- a/common/web/types/src/kmx/kmx.ts
+++ b/common/web/types/src/kmx/kmx.ts
@@ -24,7 +24,8 @@ export enum KMX_Version {
VERSION_140 = 0x00000E00,
VERSION_150 = 0x00000F00,
VERSION_160 = 0x00001000,
- VERSION_170 = 0x00001100
+ VERSION_170 = 0x00001100,
+ VERSION_190 = 0x00001300,
};
@@ -165,9 +166,10 @@ export class KMXFile {
public static readonly VERSION_150 = KMX_Version.VERSION_150;
public static readonly VERSION_160 = KMX_Version.VERSION_160;
public static readonly VERSION_170 = KMX_Version.VERSION_170;
+ public static readonly VERSION_190 = KMX_Version.VERSION_190;
public static readonly VERSION_MIN = this.VERSION_50;
- public static readonly VERSION_MAX = this.VERSION_170;
+ public static readonly VERSION_MAX = this.VERSION_190;
//
// Backspace types
@@ -308,7 +310,7 @@ export class KMXFile {
//public static readonly CODE_EXTENDEDEND = 0x0B; deprecated
public static readonly CODE_SWITCH = 0x0C;
public static readonly CODE_KEY = 0x0D;
- public static readonly CODE_CLEARCONTEXT = 0x0E;
+ public static readonly CODE_CLEARCONTEXT = 0x0E; // deprecated in 19.0
public static readonly CODE_CALL = 0x0F;
// UC_SENTINEL_EXTENDEDEND 0x10
public static readonly CODE_CONTEXTEX = 0x11;
diff --git a/common/windows/cpp/include/legacy_kmx_file.h b/common/windows/cpp/include/legacy_kmx_file.h
index d3bc3aed0f..fcfde269e1 100644
--- a/common/windows/cpp/include/legacy_kmx_file.h
+++ b/common/windows/cpp/include/legacy_kmx_file.h
@@ -75,8 +75,9 @@
#define VERSION_150 0x00000F00
#define VERSION_160 0x00001000
#define VERSION_170 0x00001100
+#define VERSION_190 0x00001300
#define VERSION_MIN VERSION_50
-#define VERSION_MAX VERSION_170
+#define VERSION_MAX VERSION_190
/*
Special flag for WM_CHAR/WM_KEY???/WM_SYSKEY???: says that key has been
@@ -257,7 +258,7 @@
//#define CODE_EXTENDEDEND 0x0B deprecated
#define CODE_SWITCH 0x0C
#define CODE_KEY 0x0D
-#define CODE_CLEARCONTEXT 0x0E
+#define CODE_CLEARCONTEXT 0x0E // deprecated in 19.0
#define CODE_CALL 0x0F
// UC_SENTINEL_EXTENDEDEND 0x10
#define CODE_CONTEXTEX 0x11
diff --git a/common/windows/delphi/charmap/UfrmCharacterMapNew.pas b/common/windows/delphi/charmap/UfrmCharacterMapNew.pas
index 2e807ede94..a99212761f 100644
--- a/common/windows/delphi/charmap/UfrmCharacterMapNew.pas
+++ b/common/windows/delphi/charmap/UfrmCharacterMapNew.pas
@@ -896,22 +896,36 @@ end;
procedure TfrmCharacterMapNew.gridMouseWheelDown(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
+ Handled := True;
if ssCtrl in Shift then
begin
- Handled := True;
+ // Zoom
if tbSize.Position < tbSize.Max then
tbSize.Position := tbSize.Position + tbSize.PageSize;
+ end
+ else
+ begin
+ // Scroll
+ if grid.TopRow < grid.RowCount - grid.VisibleRowCount then
+ grid.TopRow := grid.TopRow + 1;
end;
end;
procedure TfrmCharacterMapNew.gridMouseWheelUp(Sender: TObject;
Shift: TShiftState; MousePos: TPoint; var Handled: Boolean);
begin
+ Handled := True;
if ssCtrl in Shift then
begin
- Handled := True;
+ // Zoom
if tbSize.Position > tbSize.Min then
tbSize.Position := tbSize.Position - tbSize.PageSize;
+ end
+ else
+ begin
+ // Scroll
+ if grid.TopRow > 0 then
+ grid.TopRow := grid.TopRow - 1;
end;
end;
diff --git a/common/windows/delphi/general/GetOsVersion.pas b/common/windows/delphi/general/GetOsVersion.pas
index e3c7293f2b..b4b85edda7 100644
--- a/common/windows/delphi/general/GetOsVersion.pas
+++ b/common/windows/delphi/general/GetOsVersion.pas
@@ -1,18 +1,18 @@
(*
Name: GetOsVersion
Copyright: Copyright (C) SIL International.
- Documentation:
- Description:
+ Documentation:
+ Description:
Create Date: 4 Dec 2006
Modified Date: 28 May 2014
Authors: mcdurdin
- Related Files:
- Dependencies:
+ Related Files:
+ Dependencies:
- Bugs:
- Todo:
- Notes:
+ Bugs:
+ Todo:
+ Notes:
History: 04 Dec 2006 - mcdurdin - Add osVista
04 May 2012 - mcdurdin - I3306 - V9.0 - Remove TntControls + Win9x support
24 Oct 2012 - mcdurdin - I3487 - V9.0 - Add detection of Win8
@@ -27,7 +27,7 @@ uses
Winapi.Windows;
type
- TOS = (osLegacy, osVista, osWin7, osWin8, osWin10, osOther); // I3669 // I4222
+ TOS = (osLegacy, osWin10, osOther); // I3669 // I4222
function GetOs: TOS;
@@ -46,12 +46,7 @@ begin
begin
case osv.dwMajorVersion of
5: Result := osLegacy;
- 6: case osv.dwMinorVersion of
- 0: Result := osVista;
- 1: Result := osWin7;
- 2: Result := osWin8; // I3487
- else Result := osWin8; // I3669
- end;
+ 6: Result := osLegacy;
10: Result := osWin10;
else
Result := osWin10;
diff --git a/common/windows/delphi/general/Keyman.System.CanonicalLanguageCodeUtils.pas b/common/windows/delphi/general/Keyman.System.CanonicalLanguageCodeUtils.pas
index 4da9557054..a792d34fe1 100644
--- a/common/windows/delphi/general/Keyman.System.CanonicalLanguageCodeUtils.pas
+++ b/common/windows/delphi/general/Keyman.System.CanonicalLanguageCodeUtils.pas
@@ -35,12 +35,6 @@ var
t: TBCP47Tag;
LangTag: TLangTag;
begin
- // We do not try and canonicalize language tags on Windows 7, because it does
- // not follow the same patterns as for later versions of Windows. For example,
- // zh-CN is not canonicalized to zh-Hans-CN
- if GetOs = osWin7 then
- Exit(Tag);
-
if Tag = '' then
Exit('');
diff --git a/common/windows/delphi/general/RegistryKeys.pas b/common/windows/delphi/general/RegistryKeys.pas
index b40c309ddd..0f627c7329 100644
--- a/common/windows/delphi/general/RegistryKeys.pas
+++ b/common/windows/delphi/general/RegistryKeys.pas
@@ -127,9 +127,6 @@ const
SRegValue_ProxyLogin = 'proxy login';
SRegValue_AutoOpenOSK = 'auto open osk'; // CU, default true
- SRegValue_AutoSwitchOSKPages = 'auto switch osk pages'; // CU, default true
- SRegValue_SwitchLanguageWithKeyboard = 'switch language with keyboard'; // CU, default true
- SRegValue_SwitchLanguageForAllApplications = 'switch language for all applications'; // CU, default true
SRegValue_DeepTSFIntegration = 'deep tsf integration'; // LM, 0=disable, 1=enable, 2=default
SRegKey_AppIntegration = SRegKey_KeymanEngine_LM + '\App Integration'; //KM
diff --git a/common/windows/delphi/keyboards/kmxfileconsts.pas b/common/windows/delphi/keyboards/kmxfileconsts.pas
index 8e1955aaa6..4af524d8b7 100644
--- a/common/windows/delphi/keyboards/kmxfileconsts.pas
+++ b/common/windows/delphi/keyboards/kmxfileconsts.pas
@@ -56,7 +56,7 @@ const
//#define CODE_EXTENDEDEND = $0B deprecated
CODE_SWITCH = $0C;
CODE_KEY = $0D;
- CODE_CLEARCONTEXT = $0E;
+ CODE_CLEARCONTEXT = $0E; // deprecated in 19.0
CODE_CALL = $0F;
// UC_SENTINEL_EXTENDEDEND 0x10
CODE_CONTEXTEX = $11;
@@ -99,9 +99,10 @@ const
VERSION_150 = $00000F00;
VERSION_160 = $00001000;
VERSION_170 = $00001100;
+ VERSION_190 = $00001300;
VERSION_MIN = VERSION_50;
- VERSION_MAX = VERSION_170;
+ VERSION_MAX = VERSION_190;
VERSION_MASK_MINOR = $00FF;
VERSION_MASK_MAJOR = $FF00;
diff --git a/common/windows/delphi/keyboards/kmxfileutils.pas b/common/windows/delphi/keyboards/kmxfileutils.pas
index 1b3168b1f2..16f5e7424f 100644
--- a/common/windows/delphi/keyboards/kmxfileutils.pas
+++ b/common/windows/delphi/keyboards/kmxfileutils.pas
@@ -163,7 +163,7 @@ begin
CODE_CONTEXTEX: Inc(Result, 2);
CODE_NOTANY: Inc(Result, 2);
- CODE_CLEARCONTEXT: Inc(Result, 2); // I3442
+ CODE_CLEARCONTEXT: Inc(Result, 2); // I3442 // deprecated in 19.0
CODE_IFOPT: Inc(Result, 4); // I3442
CODE_IFSYSTEMSTORE: Inc(Result, 4); // I3442
CODE_SETOPT: Inc(Result, 3); // I3442
diff --git a/core/src/kmx/kmx_file.cpp b/core/src/kmx/kmx_file.cpp
index ab90df7d52..6133adfe11 100644
--- a/core/src/kmx/kmx_file.cpp
+++ b/core/src/kmx/kmx_file.cpp
@@ -35,7 +35,7 @@ const int km::core::kmx::CODE__SIZE[] = {
-1, // CODE_EXTENDEDEND 0x0B (unused)
1, // CODE_SWITCH 0x0C
-1, // CODE_KEY 0x0D (never used)
- 0, // CODE_CLEARCONTEXT 0x0E
+ 0, // CODE_CLEARCONTEXT 0x0E (deprecated in 19.0)
1, // CODE_CALL 0x0F
-1, // UC_SENTINEL_EXTENDEDEND 0x10 (not valid with UC_SENTINEL)
1, // CODE_CONTEXTEX 0x11
diff --git a/core/src/kmx/kmx_processevent.cpp b/core/src/kmx/kmx_processevent.cpp
index 09ebcdd4cd..94e74b4af0 100644
--- a/core/src/kmx/kmx_processevent.cpp
+++ b/core/src/kmx/kmx_processevent.cpp
@@ -495,6 +495,7 @@ int KMX_ProcessEvent::PostString(PKMX_WCHAR str, LPKEYBOARD lpkb, PKMX_WCHAR end
FoundUse = TRUE;
break;
case CODE_CLEARCONTEXT:
+ // statement deprecated in 19.0
// no longer supported, no-op
break;
case CODE_INDEX:
diff --git a/core/src/ldml/C7532_ldml_updating.md b/core/src/ldml/C7532_ldml_updating.md
index 10d7708ada..2e812e4f8d 100644
--- a/core/src/ldml/C7532_ldml_updating.md
+++ b/core/src/ldml/C7532_ldml_updating.md
@@ -71,7 +71,7 @@ working on ‘layr’, using ‘disp’ as a model from https://github.com/keyma
- update basic.xml and basic.txt
- Tweak `eveloper/src/kmc-ldml/test/fixtures/basic.xml` as needed
- - You can use `developer/src/kmc-ldml/build.sh build-fixtures` which will generate these. The two .kmx files are supposed to match: if not, fix `basic.txt` or fix other bugs.
+ - You can use `developer/src/kmc-ldml/build.sh fixtures-build` which will generate these. The two .kmx files are supposed to match: if not, fix `basic.txt` or fix other bugs.
- `developer/src/kmc-ldml/build/test/fixtures/basic-txt.kmx` - KMX generated from basic.txt.
- `developer/src/kmc-ldml/build/test/fixtures/basic-xml.kmx` - KMX generated from basic.xml.
- `developer/src/kmc-ldml/build/test/fixtures/basic-xml.kvk` - KVK generated from basic.xml.
diff --git a/core/tests/unit/ldml/invalid-keyboards/ik_001_bad_key.xml b/core/tests/unit/ldml/invalid-keyboards/ik_001_bad_key.xml
index ce64bc97d5..35859d8bad 100644
--- a/core/tests/unit/ldml/invalid-keyboards/ik_001_bad_key.xml
+++ b/core/tests/unit/ldml/invalid-keyboards/ik_001_bad_key.xml
@@ -14,7 +14,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_000_minimal_keyboard.xml b/core/tests/unit/ldml/keyboards/k_000_minimal_keyboard.xml
index 44c043f891..3e53bde1a5 100644
--- a/core/tests/unit/ldml/keyboards/k_000_minimal_keyboard.xml
+++ b/core/tests/unit/ldml/keyboards/k_000_minimal_keyboard.xml
@@ -15,7 +15,7 @@ Keys that don't show up in a row don't generate an output
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_001_tiny.xml b/core/tests/unit/ldml/keyboards/k_001_tiny.xml
index b8a543cd2d..f4bd7c99c9 100644
--- a/core/tests/unit/ldml/keyboards/k_001_tiny.xml
+++ b/core/tests/unit/ldml/keyboards/k_001_tiny.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_002_tinyu32.xml b/core/tests/unit/ldml/keyboards/k_002_tinyu32.xml
index 078e8aec3c..e675175a35 100644
--- a/core/tests/unit/ldml/keyboards/k_002_tinyu32.xml
+++ b/core/tests/unit/ldml/keyboards/k_002_tinyu32.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_003_transform.xml b/core/tests/unit/ldml/keyboards/k_003_transform.xml
index 2fc8d61e3d..6ebed8b425 100644
--- a/core/tests/unit/ldml/keyboards/k_003_transform.xml
+++ b/core/tests/unit/ldml/keyboards/k_003_transform.xml
@@ -18,14 +18,14 @@ from https://github.com/unicode-org/cldr/blob/keyboard-preview/docs/ldml/tr35-ke
-
+
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_004_tinyshift.xml b/core/tests/unit/ldml/keyboards/k_004_tinyshift.xml
index 2d152867a7..1b0e35052f 100644
--- a/core/tests/unit/ldml/keyboards/k_004_tinyshift.xml
+++ b/core/tests/unit/ldml/keyboards/k_004_tinyshift.xml
@@ -18,16 +18,16 @@
-
+
-
+
-
+
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_005_modbittest.xml b/core/tests/unit/ldml/keyboards/k_005_modbittest.xml
index 054c81d8c0..9ec4062bf8 100644
--- a/core/tests/unit/ldml/keyboards/k_005_modbittest.xml
+++ b/core/tests/unit/ldml/keyboards/k_005_modbittest.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_006_backspace.xml b/core/tests/unit/ldml/keyboards/k_006_backspace.xml
index 763d90bc7f..b98356664c 100644
--- a/core/tests/unit/ldml/keyboards/k_006_backspace.xml
+++ b/core/tests/unit/ldml/keyboards/k_006_backspace.xml
@@ -11,14 +11,14 @@
-
+
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_007_transform_rgx.xml b/core/tests/unit/ldml/keyboards/k_007_transform_rgx.xml
index cc79b826de..05f70cf14b 100644
--- a/core/tests/unit/ldml/keyboards/k_007_transform_rgx.xml
+++ b/core/tests/unit/ldml/keyboards/k_007_transform_rgx.xml
@@ -18,14 +18,14 @@ from https://github.com/unicode-org/cldr/blob/keyboard-preview/docs/ldml/tr35-ke
-
+
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_008_transform_norm.xml b/core/tests/unit/ldml/keyboards/k_008_transform_norm.xml
index cc1a7ab43d..8b3e544555 100644
--- a/core/tests/unit/ldml/keyboards/k_008_transform_norm.xml
+++ b/core/tests/unit/ldml/keyboards/k_008_transform_norm.xml
@@ -21,14 +21,14 @@ https://github.com/unicode-org/cldr/blob/keyboard-preview/docs/ldml/tr35-keyboar
-
+
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_009_transform_nfc.xml b/core/tests/unit/ldml/keyboards/k_009_transform_nfc.xml
index e975260dcb..084fdd99fd 100644
--- a/core/tests/unit/ldml/keyboards/k_009_transform_nfc.xml
+++ b/core/tests/unit/ldml/keyboards/k_009_transform_nfc.xml
@@ -21,14 +21,14 @@ like k_008 but in NFC (and other normalizations)
-
+
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_012_other.xml b/core/tests/unit/ldml/keyboards/k_012_other.xml
index 186cfd8869..f62377d4c0 100644
--- a/core/tests/unit/ldml/keyboards/k_012_other.xml
+++ b/core/tests/unit/ldml/keyboards/k_012_other.xml
@@ -14,13 +14,13 @@ will match the default layer
-
+
-
+
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_100_keytest.xml b/core/tests/unit/ldml/keyboards/k_100_keytest.xml
index 6c2d693447..050e476436 100644
--- a/core/tests/unit/ldml/keyboards/k_100_keytest.xml
+++ b/core/tests/unit/ldml/keyboards/k_100_keytest.xml
@@ -14,7 +14,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_101_keytest.xml b/core/tests/unit/ldml/keyboards/k_101_keytest.xml
index 2af4ee26c9..27b2bc7733 100644
--- a/core/tests/unit/ldml/keyboards/k_101_keytest.xml
+++ b/core/tests/unit/ldml/keyboards/k_101_keytest.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_102_keytest.xml b/core/tests/unit/ldml/keyboards/k_102_keytest.xml
index ad0f1131fa..b094736422 100644
--- a/core/tests/unit/ldml/keyboards/k_102_keytest.xml
+++ b/core/tests/unit/ldml/keyboards/k_102_keytest.xml
@@ -33,7 +33,7 @@ Comment: enter=not mappable, causes ctx reset.
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_200_reorder_nod_Lana.xml b/core/tests/unit/ldml/keyboards/k_200_reorder_nod_Lana.xml
index b6e6cc2e92..43203b6ed1 100644
--- a/core/tests/unit/ldml/keyboards/k_200_reorder_nod_Lana.xml
+++ b/core/tests/unit/ldml/keyboards/k_200_reorder_nod_Lana.xml
@@ -21,7 +21,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_201_reorder_esk.xml b/core/tests/unit/ldml/keyboards/k_201_reorder_esk.xml
index 419d4d1794..eaccebfe2c 100644
--- a/core/tests/unit/ldml/keyboards/k_201_reorder_esk.xml
+++ b/core/tests/unit/ldml/keyboards/k_201_reorder_esk.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_210_marker.xml b/core/tests/unit/ldml/keyboards/k_210_marker.xml
index 6f2eb9021a..e65e76ad1c 100644
--- a/core/tests/unit/ldml/keyboards/k_210_marker.xml
+++ b/core/tests/unit/ldml/keyboards/k_210_marker.xml
@@ -21,7 +21,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_211_marker_escape.xml b/core/tests/unit/ldml/keyboards/k_211_marker_escape.xml
index 4130e22850..a33e99fb4f 100644
--- a/core/tests/unit/ldml/keyboards/k_211_marker_escape.xml
+++ b/core/tests/unit/ldml/keyboards/k_211_marker_escape.xml
@@ -18,7 +18,7 @@
-
+
diff --git a/core/tests/unit/ldml/keyboards/k_212_marker_11057.xml b/core/tests/unit/ldml/keyboards/k_212_marker_11057.xml
index 7bbd2bb94a..80748e8584 100644
--- a/core/tests/unit/ldml/keyboards/k_212_marker_11057.xml
+++ b/core/tests/unit/ldml/keyboards/k_212_marker_11057.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/developer/docs/help/reference/kmc/cli/reference.md b/developer/docs/help/reference/kmc/cli/reference.md
index 662d85a0a3..943e181ba5 100644
--- a/developer/docs/help/reference/kmc/cli/reference.md
+++ b/developer/docs/help/reference/kmc/cli/reference.md
@@ -185,9 +185,24 @@ The following parameters are available:
`-o `, `--out-file `
-: Overrides the default path and filename for the output file(s). Note that
- some compilers emit multiple files, in which case, the output filenames
- will vary by file extension.
+: Overrides the default path and filename for the output file(s). Note that some
+ compilers emit multiple files, in which case, the output filenames will vary
+ by file extension.
+
+ If the output filename ends in a forward slash (`/`) or backslash (`\\`), or
+ if multiple input files are specified, or if the output filename exists and is
+ already a folder, then the filename will be treated as a folder, and all
+ output files will be written within that.
+
+ An error will be raised if an output file is specified and already exists, and
+ is a regular file, but is expected to be a folder.
+
+`--continue-on-error`
+
+: When building multiple input files, continue building subsequent files even if
+ a file fails to build. Note that `kmc` will still abort if an internal error
+ is encountered.
+
## `kmc build file` additional options
diff --git a/developer/src/common/delphi/components/KMDActionInterfaces.pas b/developer/src/common/delphi/components/KMDActionInterfaces.pas
index 6c58fca2dc..9de6a4b90c 100644
--- a/developer/src/common/delphi/components/KMDActionInterfaces.pas
+++ b/developer/src/common/delphi/components/KMDActionInterfaces.pas
@@ -45,17 +45,6 @@ type
function CanClearSelection: Boolean;
end;
- IKMDPrintActions = interface
- ['{C6F05AD6-42A3-404F-944C-904393A51837}']
- //function PageSetup: Boolean;
- function PrintFile: Boolean;
- end;
-
- IKMDPrintPreviewActions = interface(IKMDPrintActions)
- ['{B5879BC4-7A0C-4E00-AAE3-E2D48489152A}']
- function PrintPreview: Boolean;
- end;
-
IKMDViewExpandEditorActions = interface
['{680A172E-A221-4CDA-B68C-1E2AF8487510}']
procedure ExpandContractEditor;
diff --git a/developer/src/common/include/kmn_compiler_errors.h b/developer/src/common/include/kmn_compiler_errors.h
index f5d623ae28..1e423b9358 100644
--- a/developer/src/common/include/kmn_compiler_errors.h
+++ b/developer/src/common/include/kmn_compiler_errors.h
@@ -285,6 +285,8 @@ namespace KmnCompilerMessages {
ERROR_NameMustNotContainParentheses = SevError | 0x0B9,
ERROR_NameMustNotContainSquareBrackets = SevError | 0x0BA,
+ WARN_DeprecatedStatement = SevWarn | 0x0BB,
+
FATAL_BufferOverflow = SevFatal | 0x0C0
// FATAL_Break = SevFatal | 0x0C1, unused
};
diff --git a/developer/src/common/web/utils/src/compiler-interfaces.ts b/developer/src/common/web/utils/src/compiler-interfaces.ts
index d7081b815a..c79862842a 100644
--- a/developer/src/common/web/utils/src/compiler-interfaces.ts
+++ b/developer/src/common/web/utils/src/compiler-interfaces.ts
@@ -59,7 +59,7 @@ export enum CompilerErrorMask {
Severity = 0x00F00000, // includes reserved bits, 16 possible severity levels
Error = 0x000FFFFF, // error | namespace
Namespace = 0x000FF000, // 256 possible namespaces
- BaseError = 0x00000FFF, // error code, 2,048 possible error codes per namespace
+ BaseError = 0x00000FFF, // error code, 4,096 possible error codes per namespace
Reserved = 0xFF000000, // do not use these error values at this time
};
diff --git a/developer/src/common/web/utils/src/types/keylayout/keylayout-xml.ts b/developer/src/common/web/utils/src/types/keylayout/keylayout-xml.ts
index 386da39fe6..75b8cf4e29 100644
--- a/developer/src/common/web/utils/src/types/keylayout/keylayout-xml.ts
+++ b/developer/src/common/web/utils/src/types/keylayout/keylayout-xml.ts
@@ -192,7 +192,7 @@ export interface KL_Key {
* Ether the action attribute or the output attribute must be specified for a key, but not both.
* kmc-convert does not use the concept of 'anonymous actions' at present.
*/
- action?: string; //TODO-KMC-CONVERT: Support sub-element 'anonymous actions' in the future
+ action?: string;
/**
* The output attribute specifies the character that is produced when a key is pressed.
* Ether the action attribute or the output attribute must be specified for a key, but not both.
diff --git a/developer/src/common/web/utils/test/fixtures/xml/strs_invalid-illegal.xml b/developer/src/common/web/utils/test/fixtures/xml/strs_invalid-illegal.xml
index 3eddaffdee..270843453d 100644
--- a/developer/src/common/web/utils/test/fixtures/xml/strs_invalid-illegal.xml
+++ b/developer/src/common/web/utils/test/fixtures/xml/strs_invalid-illegal.xml
@@ -21,7 +21,7 @@
-
+
diff --git a/developer/src/common/web/utils/test/fixtures/xml/strs_invalid-illegal.xml.json b/developer/src/common/web/utils/test/fixtures/xml/strs_invalid-illegal.xml.json
index e26bf18696..91c14cb129 100644
--- a/developer/src/common/web/utils/test/fixtures/xml/strs_invalid-illegal.xml.json
+++ b/developer/src/common/web/utils/test/fixtures/xml/strs_invalid-illegal.xml.json
@@ -41,7 +41,7 @@
]
},
"layers": {
- "formId": "us",
+ "formId": "touch",
"minDeviceWidth": "123",
"layer": {
"id": "",
diff --git a/developer/src/kmc-convert/package.json b/developer/src/kmc-convert/package.json
index 1adf9f42c1..bde307ed50 100644
--- a/developer/src/kmc-convert/package.json
+++ b/developer/src/kmc-convert/package.json
@@ -38,9 +38,6 @@
"@keymanapp/resources-gosh": "*",
"@types/node": "^20.4.1",
"@types/semver": "^7.3.12",
- "ajv": "^8.12.0",
- "ajv-cli": "^5.0.0",
- "ajv-formats": "^2.1.1",
"c8": "^7.12.0",
"chalk": "^2.4.2",
"typescript": "^5.4.5"
diff --git a/developer/src/kmc-kmn/src/compiler/kmn-compiler-messages.ts b/developer/src/kmc-kmn/src/compiler/kmn-compiler-messages.ts
index 06f74ae59f..c90c80c4a6 100644
--- a/developer/src/kmc-kmn/src/compiler/kmn-compiler-messages.ts
+++ b/developer/src/kmc-kmn/src/compiler/kmn-compiler-messages.ts
@@ -1,6 +1,6 @@
import { KeyAddress } from "../kmw-compiler/compile-layout-file.js";
import { kmnfile } from "../kmw-compiler/compiler-globals.js";
-import { CompilerErrorNamespace, CompilerErrorSeverity, CompilerEvent, CompilerMessageSpec as m, CompilerMessageObjectSpec as mx, CompilerMessageDef as def, CompilerMessageSpecWithException, KeymanUrls } from "@keymanapp/developer-utils";
+import { CompilerErrorNamespace, CompilerErrorSeverity, CompilerEvent, CompilerMessageSpec, CompilerMessageObjectSpec, CompilerMessageDef as def, CompilerMessageSpecWithException, KeymanUrls } from "@keymanapp/developer-utils";
import { ObjectWithCompileContext } from "@keymanapp/common-types";
const Namespace = CompilerErrorNamespace.KmnCompiler;
const SevInfo = CompilerErrorSeverity.Info | Namespace;
@@ -9,18 +9,58 @@ const SevWarn = CompilerErrorSeverity.Warn | Namespace;
const SevError = CompilerErrorSeverity.Error | Namespace;
const SevFatal = CompilerErrorSeverity.Fatal | Namespace;
+// Because we have several overlapping components generating messages here, we
+// wrap the message generation functions with a source property, in order to
+// verify that we use the correct pattern as far as possible
+
// For messages from the KeymanWeb compiler, we need to construct our messages
// slightly differently. This could be refactored in the future, as it is not
// obvious which messages should use which function.
// Specifically, this could perhaps use CompilerFileCallbacks which provides a
// default filename.
// Then, there could be a CompilerMessageSpecWithLine
-const mw = (code: number, message: string, o?: {filename?: string, line?: number}) : CompilerEvent => ({
- ...m(code, message),
+
+// messages from kmw compiler component (mw)
+
+export type KmcKmnMessageSource = 'kmw-compiler' | 'kmcmplib' | 'kmc-kmn';
+
+export interface KmcKmnCompilerEvent extends CompilerEvent {
+ kmcKmnSource: KmcKmnMessageSource;
+}
+
+const mw = (code: number, message: string, o?: {filename?: string, line?: number}) : KmcKmnCompilerEvent => ({
+ ...CompilerMessageSpec(code, message),
filename: o?.filename ?? kmnfile,
line: o?.line,
+ kmcKmnSource: "kmw-compiler",
});
+// messages from kmcmplib component (mc)
+
+const mc = (code: number, message: string, detail?: string) : KmcKmnCompilerEvent => ({
+ ...CompilerMessageSpec(code, message, detail),
+ kmcKmnSource: "kmcmplib",
+});
+
+// messages from kmc-kmn component (m, mx)
+
+const m = (code: number, message: string, detail?: string) : KmcKmnCompilerEvent => ({
+ ...CompilerMessageSpec(code, message, detail),
+ kmcKmnSource: "kmc-kmn",
+});
+
+const mx = (code: number, context: ObjectWithCompileContext, message: string, detail?: string) : KmcKmnCompilerEvent => ({
+ ...CompilerMessageObjectSpec(code, context, message, detail),
+ kmcKmnSource: "kmc-kmn",
+});
+
+const kmcKmnCompilerMessageSpecWithException = (code: number, message: string, exceptionVar: any, detail?: string): KmcKmnCompilerEvent => ({
+ ...CompilerMessageSpecWithException(code, message, exceptionVar, detail),
+ kmcKmnSource: "kmc-kmn",
+});
+
+//
+
export const enum KmnCompilerMessageRanges {
RANGE_KMN_COMPILER_MIN = 0x001, // from kmn_compiler_errors.h
RANGE_KMN_COMPILER_MAX = 0x7FF, // from kmn_compiler_errors.h
@@ -41,7 +81,7 @@ export function keyAddress(address: KeyAddress): string {
'')));
}
-type KmcmpLibMessageParameters = {p:string[]};
+export type KmcmpLibMessageParameters = {p:string[]};
/**
* @internal
@@ -49,31 +89,33 @@ type KmcmpLibMessageParameters = {p:string[]};
* Error messages reported by the .kmn compiler. The error codes in this class
* share an address space with messages from kmn_compiler_errors.h, which are
* generated by kmcmplib, so codes below 0x900 are reserved for kmcmplib
- * messages.
+ * messages. These messages should use `m()`, `mx()`, or
+ * `kmcKmnCompilerMessageSpecWithException()` calls.
*
- * The second half of this class defines the messages from kmcmplib. These
- * messages should correspond to codes in kmn_compiler_errors.h, exclusive
- * severity bits. Message text is defined by kmcmplib and passed through a
- * callback at this time. The message text presented here is currently unused
- * during the compilation process, but is used in the `kmc messages` tool and
- * for documentation.
+ * The second half of this class defines messages from kmcmplib or the kmw
+ * compiler. For historical reasons, these messages are not in separate numeric
+ * ranges. These messages should correspond to codes in kmn_compiler_errors.h,
+ * exclusive severity bits. For messages generated by kmcmplib, any parameters
+ * must use the KmcmpLibMessageParameters type, not named parameters. kmcmplib
+ * messages must use `mc()` and kmw compiler messages must use `mw()` calls.
*
* `CERR_` messages that are actually fatals have been renamed to `FATAL_`.
*
* @example
*
- * ```
- * kmcmplib.CERR_BadCallParams = CERR_FATAL | 0x002 = 0x8002
- * ERROR_BadCallParams = SevError | 0x0002 = 0x300000 | 0x2000 | 0x002 = 0x302002
- * ```
+ *```
+ * kmcmplib.CERR_BadCallParams = CERR_FATAL | 0x002 = 0x8002
+ * ERROR_BadCallParams = SevError | 0x0002 = 0x300000 | 0x2000 | 0x002 = 0x302002
+ *```
*/
export class KmnCompilerMessages {
- // TODO: v18.0 we should consider moving error message generation in kmcmplib to
- // kmc-kmn, which would avoid a number of legacy issues. Questions about
- // parameterisation.
+
+ // ------------------------------------------------------------------------------------------------
+ // kmc-kmn compiler messages - 0x900-0xFFF (RANGE_CompilerMessage_Min..RANGE_CompilerMessage_Max)
+ // ------------------------------------------------------------------------------------------------
static FATAL_UnexpectedException = SevFatal | 0x900;
- static Fatal_UnexpectedException = (o:{e: any}) => CompilerMessageSpecWithException(
+ static Fatal_UnexpectedException = (o:{e: any}) => kmcKmnCompilerMessageSpecWithException(
this.FATAL_UnexpectedException,
null,
o.e ?? 'unknown error',
@@ -83,7 +125,7 @@ export class KmnCompilerMessages {
);
static FATAL_MissingWasmModule = SevFatal | 0x901;
- static Fatal_MissingWasmModule = (o:{e?: any}) => CompilerMessageSpecWithException(
+ static Fatal_MissingWasmModule = (o:{e?: any}) => kmcKmnCompilerMessageSpecWithException(
this.FATAL_MissingWasmModule,
`Could not instantiate WASM compiler module or initialization failed`,
o.e ?? 'unknown error',
@@ -97,7 +139,7 @@ export class KmnCompilerMessages {
// static Fatal_UnableToSetCompilerOptions = () => m(this.FATAL_UnableToSetCompilerOptions, null, `Unable to set compiler options`);
static FATAL_CallbacksNotSet = SevFatal | 0x903;
- static Fatal_CallbacksNotSet = () => CompilerMessageSpecWithException(
+ static Fatal_CallbacksNotSet = () => kmcKmnCompilerMessageSpecWithException(
this.FATAL_CallbacksNotSet,
null,
`Callbacks were not set with init`,
@@ -202,560 +244,607 @@ export class KmnCompilerMessages {
to the file.`
);
+ //
+ // ------------------------------------------------------------------------------------------------
+ // kmcmplib messages - 0x000-0x8FF
+ //
+ // All parameters must be KmcmpLibMessageParameters type
+ // ------------------------------------------------------------------------------------------------
+ //
+
// static STATUS_None = 0x000; // This is not a real error
// static STATUS_EndOfFile = 0x001; // This is not a real error
static FATAL_BadCallParams = SevFatal | 0x002;
- static Fatal_BadCallParams = () => m(this.FATAL_BadCallParams, `CompileKeyboardFile was called with bad parameters`);
+ static Fatal_BadCallParams = () => mc(this.FATAL_BadCallParams, `CompileKeyboardFile was called with bad parameters`);
static FATAL_CannotAllocateMemory = SevFatal | 0x004;
- static Fatal_CannotAllocateMemory = () => m(this.FATAL_CannotAllocateMemory, `Out of memory`);
+ static Fatal_CannotAllocateMemory = () => mc(this.FATAL_CannotAllocateMemory, `Out of memory`);
static ERROR_InfileNotExist = SevError | 0x005; // #10678: reduced from fatal to error in 17.0
- static Error_InfileNotExist = () => m(this.ERROR_InfileNotExist, `Cannot find the input file`);
+ static Error_InfileNotExist = () => mc(this.ERROR_InfileNotExist, `Cannot find the input file`);
// static ERROR_CannotCreateOutfile = SevError | 0x006; // #10678: reduced from fatal to error in 17.0, but unused
- // static Error_CannotCreateOutfile = () => m(this.ERROR_CannotCreateOutfile, `Cannot open output file for writing`); unused
+ // static Error_CannotCreateOutfile = () => mc(this.ERROR_CannotCreateOutfile, `Cannot open output file for writing`); unused
// static FATAL_UnableToWriteFully = SevFatal | 0x007;
- // static Fatal_UnableToWriteFully = () => m(this.FATAL_UnableToWriteFully, `Unable to write the file completely`);
+ // static Fatal_UnableToWriteFully = () => mc(this.FATAL_UnableToWriteFully, `Unable to write the file completely`);
static ERROR_CannotReadInfile = SevError | 0x008; // #10678: reduced from fatal to error in 17.0
- static Error_CannotReadInfile = () => m(this.ERROR_CannotReadInfile, `Cannot read the input file`);
+ static Error_CannotReadInfile = () => mc(this.ERROR_CannotReadInfile, `Cannot read the input file`);
static FATAL_SomewhereIGotItWrong = SevFatal | 0x009;
- static Fatal_SomewhereIGotItWrong = () => m(this.FATAL_SomewhereIGotItWrong, `Internal error: contact Keyman`);
+ static Fatal_SomewhereIGotItWrong = () => mc(this.FATAL_SomewhereIGotItWrong, `Internal error: contact Keyman`);
static ERROR_InvalidToken = SevError | 0x00A;
- static Error_InvalidToken = () => m(this.ERROR_InvalidToken, `Invalid token found`);
+ static Error_InvalidToken = () => mc(this.ERROR_InvalidToken, `Invalid token found`);
- // kmcmplib: static Error_InvalidBegin = () => m(this.ERROR_InvalidBegin, `Invalid 'begin' statement`);
static ERROR_InvalidBegin = SevError | 0x00B;
- static Error_InvalidBegin = () => mw(this.ERROR_InvalidBegin,
- `A "begin unicode" statement is required to compile a KeymanWeb keyboard`);
+ static Error_InvalidBegin = () => mc(
+ this.ERROR_InvalidBegin,
+ `A "begin unicode" statement is required to compile a KeymanWeb keyboard`,
+ );
static ERROR_InvalidName = SevError | 0x00C;
- static Error_InvalidName = () => m(this.ERROR_InvalidName, `Invalid 'name' statement`);
+ static Error_InvalidName = () => mc(this.ERROR_InvalidName, `Invalid 'name' statement`);
static ERROR_InvalidVersion = SevError | 0x00D;
- static Error_InvalidVersion = () => m(this.ERROR_InvalidVersion, `Invalid 'version' statement`);
+ static Error_InvalidVersion = () => mc(this.ERROR_InvalidVersion, `Invalid 'version' statement`);
static ERROR_InvalidLanguageLine = SevError | 0x00E;
- static Error_InvalidLanguageLine = () => m(this.ERROR_InvalidLanguageLine, `Invalid 'language' statement`);
+ static Error_InvalidLanguageLine = () => mc(this.ERROR_InvalidLanguageLine, `Invalid 'language' statement`);
static ERROR_LayoutButNoLanguage = SevError | 0x00F;
- static Error_LayoutButNoLanguage = () => m(this.ERROR_LayoutButNoLanguage, `Layout statement found but no language statement`);
+ static Error_LayoutButNoLanguage = () => mc(this.ERROR_LayoutButNoLanguage, `Layout statement found but no language statement`);
static ERROR_InvalidLayoutLine = SevError | 0x010;
- static Error_InvalidLayoutLine = () => m(this.ERROR_InvalidLayoutLine, `Invalid 'layout' statement`);
+ static Error_InvalidLayoutLine = () => mc(this.ERROR_InvalidLayoutLine, `Invalid 'layout' statement`);
static ERROR_NoVersionLine = SevError | 0x011;
- static Error_NoVersionLine = () => m(this.ERROR_NoVersionLine, `No version line found for file`);
+ static Error_NoVersionLine = () => mc(this.ERROR_NoVersionLine, `No version line found for file`);
static ERROR_InvalidGroupLine = SevError | 0x012;
- static Error_InvalidGroupLine = () => m(this.ERROR_InvalidGroupLine, `Invalid 'group' statement`);
+ static Error_InvalidGroupLine = () => mc(this.ERROR_InvalidGroupLine, `Invalid 'group' statement`);
static ERROR_InvalidStoreLine = SevError | 0x013;
- static Error_InvalidStoreLine = () => m(this.ERROR_InvalidStoreLine, `Invalid 'store' statement`);
+ static Error_InvalidStoreLine = () => mc(this.ERROR_InvalidStoreLine, `Invalid 'store' statement`);
static ERROR_InvalidCodeInKeyPartOfRule = SevError | 0x014;
- static Error_InvalidCodeInKeyPartOfRule = () => m(this.ERROR_InvalidCodeInKeyPartOfRule, `Invalid statement or code found in key part of rule`);
+ static Error_InvalidCodeInKeyPartOfRule = () => mc(this.ERROR_InvalidCodeInKeyPartOfRule, `Invalid statement or code found in key part of rule`);
static ERROR_InvalidDeadkey = SevError | 0x015;
- static Error_InvalidDeadkey = () => m(this.ERROR_InvalidDeadkey, `Invalid 'deadkey' or 'dk' statement`);
+ static Error_InvalidDeadkey = () => mc(this.ERROR_InvalidDeadkey, `Invalid 'deadkey' or 'dk' statement`);
static ERROR_InvalidValue = SevError | 0x016;
- static Error_InvalidValue = () => m(this.ERROR_InvalidValue, `Invalid value in extended string`);
+ static Error_InvalidValue = () => mc(this.ERROR_InvalidValue, `Invalid value in extended string`);
static ERROR_ZeroLengthString = SevError | 0x017;
- static Error_ZeroLengthString = () => m(this.ERROR_ZeroLengthString, `A string of zero characters was found`);
+ static Error_ZeroLengthString = () => mc(this.ERROR_ZeroLengthString, `A string of zero characters was found`);
static ERROR_TooManyIndexToKeyRefs = SevError | 0x018;
- static Error_TooManyIndexToKeyRefs = () => m(this.ERROR_TooManyIndexToKeyRefs, `Too many index statements refering to key string`);
+ static Error_TooManyIndexToKeyRefs = () => mc(this.ERROR_TooManyIndexToKeyRefs, `Too many index statements refering to key string`);
static ERROR_UnterminatedString = SevError | 0x019;
- static Error_UnterminatedString = () => m(this.ERROR_UnterminatedString, `Unterminated string in line`);
+ static Error_UnterminatedString = () => mc(this.ERROR_UnterminatedString, `Unterminated string in line`);
// static ERROR_StringInVirtualKeySection = SevError | 0x01A; // no longer used, see #12612
- // static Error_StringInVirtualKeySection = () => m(this.ERROR_StringInVirtualKeySection, `extend string illegal in virtual key section`);
+ // static Error_StringInVirtualKeySection = () => mc(this.ERROR_StringInVirtualKeySection, `extend string illegal in virtual key section`);
// static ERROR_AnyInVirtualKeySection = SevError | 0x01B; // no longer used, see #12612
- // static Error_AnyInVirtualKeySection = () => m(this.ERROR_AnyInVirtualKeySection, `'any' statement is illegal in virtual key section`);
+ // static Error_AnyInVirtualKeySection = () => mc(this.ERROR_AnyInVirtualKeySection, `'any' statement is illegal in virtual key section`);
static ERROR_InvalidAny = SevError | 0x01C;
- static Error_InvalidAny = () => m(this.ERROR_InvalidAny, `Invalid 'any' statement`);
+ static Error_InvalidAny = () => mc(this.ERROR_InvalidAny, `Invalid 'any' statement`);
static ERROR_StoreDoesNotExist = SevError | 0x01D;
- static Error_StoreDoesNotExist = () => m(this.ERROR_StoreDoesNotExist, `Store referenced does not exist`);
+ static Error_StoreDoesNotExist = () => mc(this.ERROR_StoreDoesNotExist, `Store referenced does not exist`);
// static ERROR_BeepInVirtualKeySection = SevError | 0x01E; // no longer used, see #12612
- // static Error_BeepInVirtualKeySection = () => m(this.ERROR_BeepInVirtualKeySection, `'beep' statement is illegal in virtual key section`);
+ // static Error_BeepInVirtualKeySection = () => mc(this.ERROR_BeepInVirtualKeySection, `'beep' statement is illegal in virtual key section`);
// static ERROR_IndexInVirtualKeySection = SevError | 0x01F; // no longer used, see #12612
- // static Error_IndexInVirtualKeySection = () => m(this.ERROR_IndexInVirtualKeySection, `'index' statement is illegal in virtual key section`);
+ // static Error_IndexInVirtualKeySection = () => mc(this.ERROR_IndexInVirtualKeySection, `'index' statement is illegal in virtual key section`);
static ERROR_InvalidIndex = SevError | 0x020;
- static Error_InvalidIndex = () => m(this.ERROR_InvalidIndex, `Invalid 'index' statement`);
+ static Error_InvalidIndex = () => mc(this.ERROR_InvalidIndex, `Invalid 'index' statement`);
// static ERROR_OutsInVirtualKeySection = SevError | 0x021; // no longer used, see #12612
- // static Error_OutsInVirtualKeySection = () => m(this.ERROR_OutsInVirtualKeySection, `'outs' statement is illegal in virtual key section`);
+ // static Error_OutsInVirtualKeySection = () => mc(this.ERROR_OutsInVirtualKeySection, `'outs' statement is illegal in virtual key section`);
static ERROR_InvalidOuts = SevError | 0x022;
- static Error_InvalidOuts = () => m(this.ERROR_InvalidOuts, `Invalid 'outs' statement`);
+ static Error_InvalidOuts = () => mc(this.ERROR_InvalidOuts, `Invalid 'outs' statement`);
// static ERROR_ContextInVirtualKeySection = SevError | 0x024; // no longer used, see #12612
- // static Error_ContextInVirtualKeySection = () => m(this.ERROR_ContextInVirtualKeySection, `'context' statement is illegal in virtual key section`);
+ // static Error_ContextInVirtualKeySection = () => mc(this.ERROR_ContextInVirtualKeySection, `'context' statement is illegal in virtual key section`);
static ERROR_InvalidUse = SevError | 0x025;
- static Error_InvalidUse = () => m(this.ERROR_InvalidUse, `Invalid 'use' statement`);
+ static Error_InvalidUse = () => mc(this.ERROR_InvalidUse, `Invalid 'use' statement`);
static ERROR_GroupDoesNotExist = SevError | 0x026;
- static Error_GroupDoesNotExist = () => m(this.ERROR_GroupDoesNotExist, `Group does not exist`);
+ static Error_GroupDoesNotExist = () => mc(this.ERROR_GroupDoesNotExist, `Group does not exist`);
static ERROR_VirtualKeyNotAllowedHere = SevError | 0x027;
- static Error_VirtualKeyNotAllowedHere = () => m(this.ERROR_VirtualKeyNotAllowedHere, `Virtual key is not allowed here`);
+ static Error_VirtualKeyNotAllowedHere = () => mc(this.ERROR_VirtualKeyNotAllowedHere, `Virtual key is not allowed here`);
static ERROR_InvalidSwitch = SevError | 0x028;
- static Error_InvalidSwitch = () => m(this.ERROR_InvalidSwitch, `Invalid 'switch' statement`);
+ static Error_InvalidSwitch = () => mc(this.ERROR_InvalidSwitch, `Invalid 'switch' statement`);
static ERROR_NoTokensFound = SevError | 0x029;
- static Error_NoTokensFound = () => m(this.ERROR_NoTokensFound, `No tokens found in line`);
+ static Error_NoTokensFound = () => mc(this.ERROR_NoTokensFound, `No tokens found in line`);
static ERROR_InvalidLineContinuation = SevError | 0x02A;
- static Error_InvalidLineContinuation = () => m(this.ERROR_InvalidLineContinuation, `Invalid line continuation`);
+ static Error_InvalidLineContinuation = () => mc(this.ERROR_InvalidLineContinuation, `Invalid line continuation`);
static ERROR_LineTooLong = SevError | 0x02B;
- static Error_LineTooLong = () => m(this.ERROR_LineTooLong, `Line too long`);
+ static Error_LineTooLong = () => mc(this.ERROR_LineTooLong, `Line too long`);
static ERROR_InvalidCopyright = SevError | 0x02C;
- static Error_InvalidCopyright = () => m(this.ERROR_InvalidCopyright, `Invalid 'copyright' statement`);
+ static Error_InvalidCopyright = () => mc(this.ERROR_InvalidCopyright, `Invalid 'copyright' statement`);
static ERROR_CodeInvalidInThisSection = SevError | 0x02D;
- static Error_CodeInvalidInThisSection = () => m(this.ERROR_CodeInvalidInThisSection, `This line is invalid in this section of the file`);
+ static Error_CodeInvalidInThisSection = () => mc(this.ERROR_CodeInvalidInThisSection, `This line is invalid in this section of the file`);
static ERROR_InvalidMessage = SevError | 0x02E;
- static Error_InvalidMessage = () => m(this.ERROR_InvalidMessage, `Invalid 'message' statement`);
+ static Error_InvalidMessage = () => mc(this.ERROR_InvalidMessage, `Invalid 'message' statement`);
static ERROR_InvalidLanguageName = SevError | 0x02F;
- static Error_InvalidLanguageName = () => m(this.ERROR_InvalidLanguageName, `Invalid 'languagename' statement`);
+ static Error_InvalidLanguageName = () => mc(this.ERROR_InvalidLanguageName, `Invalid 'languagename' statement`);
static ERROR_InvalidBitmapLine = SevError | 0x030;
- static Error_InvalidBitmapLine = () => m(this.ERROR_InvalidBitmapLine, `Invalid 'bitmaps' statement`);
+ static Error_InvalidBitmapLine = () => mc(this.ERROR_InvalidBitmapLine, `Invalid 'bitmaps' statement`);
static ERROR_CannotReadBitmapFile = SevError | 0x031;
- static Error_CannotReadBitmapFile = () => m(this.ERROR_CannotReadBitmapFile, `Cannot open the bitmap or icon file for reading`);
+ static Error_CannotReadBitmapFile = () => mc(this.ERROR_CannotReadBitmapFile, `Cannot open the bitmap or icon file for reading`);
static ERROR_IndexDoesNotPointToAny = SevError | 0x032;
- static Error_IndexDoesNotPointToAny = () => m(this.ERROR_IndexDoesNotPointToAny, `An index() in the output does not have a corresponding any() statement`);
+ static Error_IndexDoesNotPointToAny = () => mc(this.ERROR_IndexDoesNotPointToAny, `An index() in the output does not have a corresponding any() statement`);
static ERROR_ReservedCharacter = SevError | 0x033;
- static Error_ReservedCharacter = () => m(this.ERROR_ReservedCharacter, `A reserved character was found`);
+ static Error_ReservedCharacter = () => mc(this.ERROR_ReservedCharacter, `A reserved character was found`);
static ERROR_InvalidCharacter = SevError | 0x034;
- static Error_InvalidCharacter = () => m(this.ERROR_InvalidCharacter, `A character was found that is outside the valid Unicode range (U+0000 - U+10FFFF)`);
+ static Error_InvalidCharacter = () => mc(this.ERROR_InvalidCharacter, `A character was found that is outside the valid Unicode range (U+0000 - U+10FFFF)`);
static ERROR_InvalidCall = SevError | 0x035;
- static Error_InvalidCall = () => m(this.ERROR_InvalidCall, `The 'call' statement is invalid`);
+ static Error_InvalidCall = () => mc(this.ERROR_InvalidCall, `The 'call' statement is invalid`);
// static ERROR_CallInVirtualKeySection = SevError | 0x036; // no longer used, see #12612
- // static Error_CallInVirtualKeySection = () => m(this.ERROR_CallInVirtualKeySection, `'call' statement is illegal in virtual key section`);
+ // static Error_CallInVirtualKeySection = () => mc(this.ERROR_CallInVirtualKeySection, `'call' statement is illegal in virtual key section`);
static ERROR_CodeInvalidInKeyStore = SevError | 0x037;
- static Error_CodeInvalidInKeyStore = () => m(this.ERROR_CodeInvalidInKeyStore, `The statement is invalid inside a store that is used in a key part of the rule`);
+ static Error_CodeInvalidInKeyStore = () => mc(this.ERROR_CodeInvalidInKeyStore, `The statement is invalid inside a store that is used in a key part of the rule`);
static ERROR_CannotLoadIncludeFile = SevError | 0x038;
- static Error_CannotLoadIncludeFile = () => m(this.ERROR_CannotLoadIncludeFile, `Cannot load the included file: it is either invalid or does not exist`);
+ static Error_CannotLoadIncludeFile = () => mc(this.ERROR_CannotLoadIncludeFile, `Cannot load the included file: it is either invalid or does not exist`);
static ERROR_60FeatureOnly_EthnologueCode = SevError | 0x039;
- static Error_60FeatureOnly_EthnologueCode = () => m(this.ERROR_60FeatureOnly_EthnologueCode, `EthnologueCode system store requires VERSION 6.0 or higher`);
+ static Error_60FeatureOnly_EthnologueCode = () => mc(this.ERROR_60FeatureOnly_EthnologueCode, `EthnologueCode system store requires VERSION 6.0 or higher`);
static ERROR_60FeatureOnly_MnemonicLayout = SevError | 0x03A;
- static Error_60FeatureOnly_MnemonicLayout = () => m(this.ERROR_60FeatureOnly_MnemonicLayout, `MnemonicLayout functionality requires VERSION 6.0 or higher`);
+ static Error_60FeatureOnly_MnemonicLayout = () => mc(this.ERROR_60FeatureOnly_MnemonicLayout, `MnemonicLayout functionality requires VERSION 6.0 or higher`);
static ERROR_60FeatureOnly_OldCharPosMatching = SevError | 0x03B;
- static Error_60FeatureOnly_OldCharPosMatching = () => m(this.ERROR_60FeatureOnly_OldCharPosMatching, `OldCharPosMatching system store requires VERSION 6.0 or higher`);
+ static Error_60FeatureOnly_OldCharPosMatching = () => mc(this.ERROR_60FeatureOnly_OldCharPosMatching, `OldCharPosMatching system store requires VERSION 6.0 or higher`);
static ERROR_60FeatureOnly_NamedCodes = SevError | 0x03C;
- static Error_60FeatureOnly_NamedCodes = () => m(this.ERROR_60FeatureOnly_NamedCodes, `Named character constants requires VERSION 6.0 or higher`);
+ static Error_60FeatureOnly_NamedCodes = () => mc(this.ERROR_60FeatureOnly_NamedCodes, `Named character constants requires VERSION 6.0 or higher`);
static ERROR_60FeatureOnly_Contextn = SevError | 0x03D;
- static Error_60FeatureOnly_Contextn = () => m(this.ERROR_60FeatureOnly_Contextn, `Context(n) requires VERSION 6.0 or higher`);
+ static Error_60FeatureOnly_Contextn = () => mc(this.ERROR_60FeatureOnly_Contextn, `Context(n) requires VERSION 6.0 or higher`);
static ERROR_501FeatureOnly_Call = SevError | 0x03E;
- static Error_501FeatureOnly_Call = () => m(this.ERROR_501FeatureOnly_Call, `Call() requires VERSION 5.01 or higher`);
+ static Error_501FeatureOnly_Call = () => mc(this.ERROR_501FeatureOnly_Call, `Call() requires VERSION 5.01 or higher`);
static ERROR_InvalidNamedCode = SevError | 0x03F;
- static Error_InvalidNamedCode = () => m(this.ERROR_InvalidNamedCode, `Invalid named code constant`);
+ static Error_InvalidNamedCode = () => mc(this.ERROR_InvalidNamedCode, `Invalid named code constant`);
static ERROR_InvalidSystemStore = SevError | 0x040;
- static Error_InvalidSystemStore = () => m(this.ERROR_InvalidSystemStore, `Invalid system store name found`);
+ static Error_InvalidSystemStore = () => mc(this.ERROR_InvalidSystemStore, `Invalid system store name found`);
static ERROR_60FeatureOnly_VirtualCharKey = SevError | 0x044;
- static Error_60FeatureOnly_VirtualCharKey = () => m(this.ERROR_60FeatureOnly_VirtualCharKey, `Virtual character keys require VERSION 6.0 or higher`);
+ static Error_60FeatureOnly_VirtualCharKey = () => mc(this.ERROR_60FeatureOnly_VirtualCharKey, `Virtual character keys require VERSION 6.0 or higher`);
static ERROR_VersionAlreadyIncluded = SevError | 0x045;
- static Error_VersionAlreadyIncluded = () => m(this.ERROR_VersionAlreadyIncluded, `Only one VERSION or store(version) line allowed in a source file.`);
+ static Error_VersionAlreadyIncluded = () => mc(this.ERROR_VersionAlreadyIncluded, `Only one VERSION or store(version) line allowed in a source file.`);
static ERROR_70FeatureOnly = SevError | 0x046;
- static Error_70FeatureOnly = () => m(this.ERROR_70FeatureOnly, `This feature requires store(version) '7.0' or higher`);
+ static Error_70FeatureOnly = () => mc(this.ERROR_70FeatureOnly, `This feature requires store(version) '7.0' or higher`);
static ERROR_80FeatureOnly = SevError | 0x047;
- static Error_80FeatureOnly = () => m(this.ERROR_80FeatureOnly, `This feature requires store(version) '8.0' or higher`);
+ static Error_80FeatureOnly = () => mc(this.ERROR_80FeatureOnly, `This feature requires store(version) '8.0' or higher`);
// static ERROR_InvalidInVirtualKeySection = SevError | 0x048; // no longer used, see #12612
- // static Error_InvalidInVirtualKeySection = () => m(this.ERROR_InvalidInVirtualKeySection, `This statement is not valid in a virtual key section`);
+ // static Error_InvalidInVirtualKeySection = () => mc(this.ERROR_InvalidInVirtualKeySection, `This statement is not valid in a virtual key section`);
static ERROR_InvalidIf = SevError | 0x049;
- static Error_InvalidIf = () => m(this.ERROR_InvalidIf, `The if() statement is not valid`);
+ static Error_InvalidIf = () => mc(this.ERROR_InvalidIf, `The if() statement is not valid`);
static ERROR_InvalidReset = SevError | 0x04A;
- static Error_InvalidReset = () => m(this.ERROR_InvalidReset, `The reset() statement is not valid`);
+ static Error_InvalidReset = () => mc(this.ERROR_InvalidReset, `The reset() statement is not valid`);
static ERROR_InvalidSet = SevError | 0x04B;
- static Error_InvalidSet = () => m(this.ERROR_InvalidSet, `The set() statement is not valid`);
+ static Error_InvalidSet = () => mc(this.ERROR_InvalidSet, `The set() statement is not valid`);
static ERROR_InvalidSave = SevError | 0x04C;
- static Error_InvalidSave = () => m(this.ERROR_InvalidSave, `The save() statement is not valid`);
+ static Error_InvalidSave = () => mc(this.ERROR_InvalidSave, `The save() statement is not valid`);
static ERROR_InvalidEthnologueCode = SevError | 0x04D;
- static Error_InvalidEthnologueCode = () => m(this.ERROR_InvalidEthnologueCode, `Invalid ethnologuecode format`);
+ static Error_InvalidEthnologueCode = () => mc(this.ERROR_InvalidEthnologueCode, `Invalid ethnologuecode format`);
static FATAL_CannotCreateTempfile = SevFatal | 0x04E;
- static Fatal_CannotCreateTempfile = () => m(this.FATAL_CannotCreateTempfile, `Cannot create temp file`);
+ static Fatal_CannotCreateTempfile = () => mc(this.FATAL_CannotCreateTempfile, `Cannot create temp file`);
static ERROR_90FeatureOnly_IfSystemStores = SevError | 0x04F;
- static Error_90FeatureOnly_IfSystemStores = () => m(this.ERROR_90FeatureOnly_IfSystemStores, `if(store) requires store(version) '9.0' or higher`);
+ static Error_90FeatureOnly_IfSystemStores = () => mc(this.ERROR_90FeatureOnly_IfSystemStores, `if(store) requires store(version) '9.0' or higher`);
static ERROR_IfSystemStore_NotFound = SevError | 0x050;
- static Error_IfSystemStore_NotFound = () => m(this.ERROR_IfSystemStore_NotFound, `System store in if() not found`);
+ static Error_IfSystemStore_NotFound = () => mc(this.ERROR_IfSystemStore_NotFound, `System store in if() not found`);
static ERROR_90FeatureOnly_SetSystemStores = SevError | 0x051;
- static Error_90FeatureOnly_SetSystemStores = () => m(this.ERROR_90FeatureOnly_SetSystemStores, `set(store) requires store(version) '9.0' or higher`);
+ static Error_90FeatureOnly_SetSystemStores = () => mc(this.ERROR_90FeatureOnly_SetSystemStores, `set(store) requires store(version) '9.0' or higher`);
static ERROR_SetSystemStore_NotFound = SevError | 0x052;
- static Error_SetSystemStore_NotFound = () => m(this.ERROR_SetSystemStore_NotFound, `System store in set() not found`);
+ static Error_SetSystemStore_NotFound = () => mc(this.ERROR_SetSystemStore_NotFound, `System store in set() not found`);
static ERROR_90FeatureOnlyVirtualKeyDictionary = SevError | 0x053;
- static Error_90FeatureOnlyVirtualKeyDictionary = () => m(this.ERROR_90FeatureOnlyVirtualKeyDictionary, `Custom virtual key names require store(version) '9.0'`);
+ static Error_90FeatureOnlyVirtualKeyDictionary = () => mc(this.ERROR_90FeatureOnlyVirtualKeyDictionary, `Custom virtual key names require store(version) '9.0'`);
static ERROR_NotSupportedInKeymanWebContext = SevError | 0x054;
- static Error_NotSupportedInKeymanWebContext = (o:{line:number, code:String}) => mw(this.ERROR_NotSupportedInKeymanWebContext,
- `Statement '${def(o.code)}' is not currently supported in context for web and touch targets`, o);
+ static Error_NotSupportedInKeymanWebContext = (o:{line:number, code:String}) => mw(
+ this.ERROR_NotSupportedInKeymanWebContext,
+ `Statement '${def(o.code)}' is not currently supported in context for web and touch targets`, o,
+ );
static ERROR_NotSupportedInKeymanWebOutput = SevError | 0x055;
- static Error_NotSupportedInKeymanWebOutput = (o:{line:number, code:string}) => mw(this.ERROR_NotSupportedInKeymanWebOutput,
- `Statement '${def(o.code)}' is not currently supported in output for web and touch targets`, o);
+ static Error_NotSupportedInKeymanWebOutput = (o:{line:number, code:string}) => mw(
+ this.ERROR_NotSupportedInKeymanWebOutput,
+ `Statement '${def(o.code)}' is not currently supported in output for web and touch targets`, o,
+ );
static ERROR_NotSupportedInKeymanWebStore = SevError | 0x056;
- static Error_NotSupportedInKeymanWebStore = (o:{code:string,store:string}) => mw(this.ERROR_NotSupportedInKeymanWebStore,
- `'${def(o.code)}' is not currently supported in store '${def(o.store)}' when used by any or index for web and touch targets`);
+ static Error_NotSupportedInKeymanWebStore = (o:{code:string,store:string}) => mw(
+ this.ERROR_NotSupportedInKeymanWebStore,
+ `'${def(o.code)}' is not currently supported in store '${def(o.store)}' when used by any or index for web and touch targets`,
+ );
static ERROR_VirtualCharacterKeysNotSupportedInKeymanWeb = SevError | 0x057;
- static Error_VirtualCharacterKeysNotSupportedInKeymanWeb = (o:{line:number}) => mw(this.ERROR_VirtualCharacterKeysNotSupportedInKeymanWeb,
- `Virtual character keys not currently supported in KeymanWeb`, o);
+ static Error_VirtualCharacterKeysNotSupportedInKeymanWeb = (o:{line:number}) => mw(
+ this.ERROR_VirtualCharacterKeysNotSupportedInKeymanWeb,
+ `Virtual character keys not currently supported in KeymanWeb`, o,
+ );
static ERROR_VirtualKeysNotValidForMnemonicLayouts = SevError | 0x058;
- static Error_VirtualKeysNotValidForMnemonicLayouts = (o:{line:number}) => mw(this.ERROR_VirtualKeysNotValidForMnemonicLayouts,
- `Virtual keys are not valid for mnemonic layouts`, o);
+ static Error_VirtualKeysNotValidForMnemonicLayouts = (o:{line:number}) => mw(
+ this.ERROR_VirtualKeysNotValidForMnemonicLayouts,
+ `Virtual keys are not valid for mnemonic layouts`, o,
+ );
static ERROR_InvalidTouchLayoutFile = SevError | 0x059;
- static Error_InvalidTouchLayoutFile = (o:{filename:string}) => mw(this.ERROR_InvalidTouchLayoutFile,
- `Touch layout file ${def(o.filename)} is not valid`);
+ static Error_InvalidTouchLayoutFile = (o:{filename:string}) => mw(
+ this.ERROR_InvalidTouchLayoutFile,
+ `Touch layout file ${def(o.filename)} is not valid`,
+ );
static ERROR_TouchLayoutInvalidIdentifier = SevError | 0x05A;
- static Error_TouchLayoutInvalidIdentifier = (o:{keyId:string, platformName: string, layerId:string, address:KeyAddress}) => mw(this.ERROR_TouchLayoutInvalidIdentifier,
- `Key "${def(o.keyId)}" on "${def(o.platformName)}", layer "${def(o.layerId)}" (${keyAddress(o.address)}) has an invalid identifier.`);
+ static Error_TouchLayoutInvalidIdentifier = (o:{keyId:string, platformName: string, layerId:string, address:KeyAddress}) => mw(
+ this.ERROR_TouchLayoutInvalidIdentifier,
+ `Key "${def(o.keyId)}" on "${def(o.platformName)}", layer "${def(o.layerId)}" (${keyAddress(o.address)}) has an invalid identifier.`,
+ );
static ERROR_InvalidKeyCode = SevError | 0x05B;
- static Error_InvalidKeyCode = (o:{keyId: string}) => mw(this.ERROR_InvalidKeyCode,
- `Invalid key identifier "${def(o.keyId)}"`);
+ static Error_InvalidKeyCode = (o:{keyId: string}) => mw(this.ERROR_InvalidKeyCode,
+ `Invalid key identifier "${def(o.keyId)}"`,
+ );
static ERROR_90FeatureOnlyLayoutFile = SevError | 0x05C;
- static Error_90FeatureOnlyLayoutFile = () => m(this.ERROR_90FeatureOnlyLayoutFile, `Touch layout file reference requires store(version) '9.0' or higher`);
+ static Error_90FeatureOnlyLayoutFile = () => mc(this.ERROR_90FeatureOnlyLayoutFile, `Touch layout file reference requires store(version) '9.0' or higher`);
static ERROR_90FeatureOnlyKeyboardVersion = SevError | 0x05D;
- static Error_90FeatureOnlyKeyboardVersion = () => m(this.ERROR_90FeatureOnlyKeyboardVersion, `KeyboardVersion system store requires store(version) '9.0' or higher`);
+ static Error_90FeatureOnlyKeyboardVersion = () => mc(this.ERROR_90FeatureOnlyKeyboardVersion, `KeyboardVersion system store requires store(version) '9.0' or higher`);
static ERROR_KeyboardVersionFormatInvalid = SevError | 0x05E;
- static Error_KeyboardVersionFormatInvalid = () => m(this.ERROR_KeyboardVersionFormatInvalid, `KeyboardVersion format is invalid, expecting dot-separated integers`);
+ static Error_KeyboardVersionFormatInvalid = () => mc(this.ERROR_KeyboardVersionFormatInvalid, `KeyboardVersion format is invalid, expecting dot-separated integers`);
static ERROR_ContextExHasInvalidOffset = SevError | 0x05F;
- static Error_ContextExHasInvalidOffset = () => m(this.ERROR_ContextExHasInvalidOffset, `context() statement has offset out of range`);
+ static Error_ContextExHasInvalidOffset = () => mc(this.ERROR_ContextExHasInvalidOffset, `context() statement has offset out of range`);
static ERROR_90FeatureOnlyEmbedCSS = SevError | 0x060;
- static Error_90FeatureOnlyEmbedCSS = () => m(this.ERROR_90FeatureOnlyEmbedCSS, `Embedding CSS requires store(version) '9.0' or higher`);
+ static Error_90FeatureOnlyEmbedCSS = () => mc(this.ERROR_90FeatureOnlyEmbedCSS, `Embedding CSS requires store(version) '9.0' or higher`);
static ERROR_90FeatureOnlyTargets = SevError | 0x061;
- static Error_90FeatureOnlyTargets = () => m(this.ERROR_90FeatureOnlyTargets, `TARGETS system store requires store(version) '9.0' or higher`);
+ static Error_90FeatureOnlyTargets = () => mc(this.ERROR_90FeatureOnlyTargets, `TARGETS system store requires store(version) '9.0' or higher`);
static ERROR_ContextAndIndexInvalidInMatchNomatch = SevError | 0x062;
- static Error_ContextAndIndexInvalidInMatchNomatch = () => m(this.ERROR_ContextAndIndexInvalidInMatchNomatch, `context and index statements cannot be used in a match or nomatch statement`);
+ static Error_ContextAndIndexInvalidInMatchNomatch = () => mc(this.ERROR_ContextAndIndexInvalidInMatchNomatch, `context and index statements cannot be used in a match or nomatch statement`);
static ERROR_140FeatureOnlyContextAndNotAnyWeb = SevError | 0x063;
- static Error_140FeatureOnlyContextAndNotAnyWeb = () => m(this.ERROR_140FeatureOnlyContextAndNotAnyWeb, `For web and touch platforms, context() statement referring to notany() requires store(version) '14.0' or higher`);
+ static Error_140FeatureOnlyContextAndNotAnyWeb = () => mc(this.ERROR_140FeatureOnlyContextAndNotAnyWeb, `For web and touch platforms, context() statement referring to notany() requires store(version) '14.0' or higher`);
static ERROR_ExpansionMustFollowCharacterOrVKey = SevError | 0x064;
- static Error_ExpansionMustFollowCharacterOrVKey = () => m(this.ERROR_ExpansionMustFollowCharacterOrVKey, `An expansion must follow a character or a virtual key`);
+ static Error_ExpansionMustFollowCharacterOrVKey = () => mc(this.ERROR_ExpansionMustFollowCharacterOrVKey, `An expansion must follow a character or a virtual key`);
static ERROR_VKeyExpansionMustBeFollowedByVKey = SevError | 0x065;
- static Error_VKeyExpansionMustBeFollowedByVKey = () => m(this.ERROR_VKeyExpansionMustBeFollowedByVKey, `A virtual key expansion must be terminated by a virtual key`);
+ static Error_VKeyExpansionMustBeFollowedByVKey = () => mc(this.ERROR_VKeyExpansionMustBeFollowedByVKey, `A virtual key expansion must be terminated by a virtual key`);
static ERROR_CharacterExpansionMustBeFollowedByCharacter = SevError | 0x066;
- static Error_CharacterExpansionMustBeFollowedByCharacter = () => m(this.ERROR_CharacterExpansionMustBeFollowedByCharacter, `A character expansion must be terminated by a character key`);
+ static Error_CharacterExpansionMustBeFollowedByCharacter = () => mc(this.ERROR_CharacterExpansionMustBeFollowedByCharacter, `A character expansion must be terminated by a character key`);
static ERROR_VKeyExpansionMustUseConsistentShift = SevError | 0x067;
- static Error_VKeyExpansionMustUseConsistentShift = () => m(this.ERROR_VKeyExpansionMustUseConsistentShift, `A virtual key expansion must use the same shift state for both terminators`);
+ static Error_VKeyExpansionMustUseConsistentShift = () => mc(this.ERROR_VKeyExpansionMustUseConsistentShift, `A virtual key expansion must use the same shift state for both terminators`);
static ERROR_ExpansionMustBePositive = SevError | 0x068;
- static Error_ExpansionMustBePositive = () => m(this.ERROR_ExpansionMustBePositive, `An expansion must have positive difference (i.e. A-Z, not Z-A)`);
+ static Error_ExpansionMustBePositive = () => mc(this.ERROR_ExpansionMustBePositive, `An expansion must have positive difference (i.e. A-Z, not Z-A)`);
static ERROR_CasedKeysMustContainOnlyVirtualKeys = SevError | 0x069;
- static Error_CasedKeysMustContainOnlyVirtualKeys = () => m(this.ERROR_CasedKeysMustContainOnlyVirtualKeys, `The &CasedKeys system store must contain only virtual keys or characters found on a US English keyboard`);
+ static Error_CasedKeysMustContainOnlyVirtualKeys = () => mc(this.ERROR_CasedKeysMustContainOnlyVirtualKeys, `The &CasedKeys system store must contain only virtual keys or characters found on a US English keyboard`);
static ERROR_CasedKeysMustNotIncludeShiftStates = SevError | 0x06A;
- static Error_CasedKeysMustNotIncludeShiftStates = () => m(this.ERROR_CasedKeysMustNotIncludeShiftStates, `The &CasedKeys system store must not include shift states`);
+ static Error_CasedKeysMustNotIncludeShiftStates = () => mc(this.ERROR_CasedKeysMustNotIncludeShiftStates, `The &CasedKeys system store must not include shift states`);
static ERROR_CasedKeysNotSupportedWithMnemonicLayout = SevError | 0x06B;
- static Error_CasedKeysNotSupportedWithMnemonicLayout = () => m(this.ERROR_CasedKeysNotSupportedWithMnemonicLayout, `The &CasedKeys system store is not supported with mnemonic layouts`);
+ static Error_CasedKeysNotSupportedWithMnemonicLayout = () => mc(this.ERROR_CasedKeysNotSupportedWithMnemonicLayout, `The &CasedKeys system store is not supported with mnemonic layouts`);
static ERROR_CannotUseReadWriteGroupFromReadonlyGroup = SevError | 0x06C;
- static Error_CannotUseReadWriteGroupFromReadonlyGroup = () => m(this.ERROR_CannotUseReadWriteGroupFromReadonlyGroup, `Group used from a readonly group must also be readonly`);
+ static Error_CannotUseReadWriteGroupFromReadonlyGroup = () => mc(this.ERROR_CannotUseReadWriteGroupFromReadonlyGroup, `Group used from a readonly group must also be readonly`);
static ERROR_StatementNotPermittedInReadonlyGroup = SevError | 0x06D;
- static Error_StatementNotPermittedInReadonlyGroup = () => m(this.ERROR_StatementNotPermittedInReadonlyGroup, `Statement is not permitted in output of readonly group`);
+ static Error_StatementNotPermittedInReadonlyGroup = () => mc(this.ERROR_StatementNotPermittedInReadonlyGroup, `Statement is not permitted in output of readonly group`);
static ERROR_OutputInReadonlyGroup = SevError | 0x06E;
- static Error_OutputInReadonlyGroup = () => m(this.ERROR_OutputInReadonlyGroup, `Output is not permitted in a readonly group`);
+ static Error_OutputInReadonlyGroup = () => mc(this.ERROR_OutputInReadonlyGroup, `Output is not permitted in a readonly group`);
static ERROR_NewContextGroupMustBeReadonly = SevError | 0x06F;
- static Error_NewContextGroupMustBeReadonly = () => m(this.ERROR_NewContextGroupMustBeReadonly, `Group used in begin newContext must be readonly`);
+ static Error_NewContextGroupMustBeReadonly = () => mc(this.ERROR_NewContextGroupMustBeReadonly, `Group used in begin newContext must be readonly`);
static ERROR_PostKeystrokeGroupMustBeReadonly = SevError | 0x070;
- static Error_PostKeystrokeGroupMustBeReadonly = () => m(this.ERROR_PostKeystrokeGroupMustBeReadonly, `Group used in begin postKeystroke must be readonly`);
+ static Error_PostKeystrokeGroupMustBeReadonly = () => mc(this.ERROR_PostKeystrokeGroupMustBeReadonly, `Group used in begin postKeystroke must be readonly`);
static ERROR_DuplicateGroup = SevError | 0x071;
- static Error_DuplicateGroup = (o:KmcmpLibMessageParameters) => m(
+ static Error_DuplicateGroup = (o:KmcmpLibMessageParameters) => mc(
this.ERROR_DuplicateGroup,
`A group with the name '${o.p?.[0]}' has already been defined on line ${o.p?.[1]}.`
);
static ERROR_DuplicateStore = SevError | 0x072;
- static Error_DuplicateStore = (o:KmcmpLibMessageParameters) => m(
+ static Error_DuplicateStore = (o:KmcmpLibMessageParameters) => mc(
this.ERROR_DuplicateStore,
`A store with the name '${o.p?.[0]}' has already been defined on line ${o.p?.[1]}.`
);
static ERROR_RepeatedBegin = SevError | 0x073;
- static Error_RepeatedBegin = () => m(this.ERROR_RepeatedBegin, `Begin has already been set`);
+ static Error_RepeatedBegin = () => mc(this.ERROR_RepeatedBegin, `Begin has already been set`);
static ERROR_VirtualKeyInContext = SevError | 0x074;
- static Error_VirtualKeyInContext = () => m(this.ERROR_VirtualKeyInContext, `Virtual keys are not permitted in context`);
+ static Error_VirtualKeyInContext = () => mc(this.ERROR_VirtualKeyInContext, `Virtual keys are not permitted in context`);
static ERROR_OutsTooLong = SevError | 0x075;
- static Error_OutsTooLong = () => m(this.ERROR_OutsTooLong, `Store cannot be inserted with outs() as it makes the extended string too long`);
+ static Error_OutsTooLong = () => mc(this.ERROR_OutsTooLong, `Store cannot be inserted with outs() as it makes the extended string too long`);
static ERROR_ExtendedStringTooLong = SevError | 0x076;
- static Error_ExtendedStringTooLong = () => m(this.ERROR_ExtendedStringTooLong, `Extended string is too long`);
+ static Error_ExtendedStringTooLong = () => mc(this.ERROR_ExtendedStringTooLong, `Extended string is too long`);
static ERROR_VirtualKeyExpansionTooLong = SevError | 0x077;
- static Error_VirtualKeyExpansionTooLong = () => m(this.ERROR_VirtualKeyExpansionTooLong, `Virtual key expansion is too large`);
+ static Error_VirtualKeyExpansionTooLong = () => mc(this.ERROR_VirtualKeyExpansionTooLong, `Virtual key expansion is too large`);
static ERROR_CharacterRangeTooLong = SevError | 0x078;
- static Error_CharacterRangeTooLong = () => m(this.ERROR_CharacterRangeTooLong, `Character range is too large and cannot be expanded`);
+ static Error_CharacterRangeTooLong = () => mc(this.ERROR_CharacterRangeTooLong, `Character range is too large and cannot be expanded`);
static ERROR_NonBMPCharactersNotSupportedInKeySection = SevError | 0x079;
- static Error_NonBMPCharactersNotSupportedInKeySection = () => m(this.ERROR_NonBMPCharactersNotSupportedInKeySection, `Characters with codepoints over U+FFFF are not supported in the key part of the rule`);
+ static Error_NonBMPCharactersNotSupportedInKeySection = () => mc(this.ERROR_NonBMPCharactersNotSupportedInKeySection, `Characters with codepoints over U+FFFF are not supported in the key part of the rule`);
static ERROR_InvalidTarget = SevError | 0x07A;
- static Error_InvalidTarget = (o:KmcmpLibMessageParameters) => m(
+ static Error_InvalidTarget = (o:KmcmpLibMessageParameters) => mc(
this.ERROR_InvalidTarget,
`Unrecognized compile target '${o.p?.[0]}'`
);
static ERROR_NoTargetsSpecified = SevError | 0x07B;
- static Error_NoTargetsSpecified = () => m(this.ERROR_NoTargetsSpecified, `At least one compile target must be specified`);
+ static Error_NoTargetsSpecified = () => mc(this.ERROR_NoTargetsSpecified, `At least one compile target must be specified`);
static WARN_TooManyWarnings = SevWarn | 0x080;
- static Warn_TooManyWarnings = () => m(this.WARN_TooManyWarnings, `Too many warnings or errors`);
+ static Warn_TooManyWarnings = () => mc(this.WARN_TooManyWarnings, `Too many warnings or errors`);
static WARN_OldVersion = SevWarn | 0x081;
- static Warn_OldVersion = () => m(this.WARN_OldVersion, `The keyboard file is an old version`);
+ static Warn_OldVersion = () => mc(this.WARN_OldVersion, `The keyboard file is an old version`);
static WARN_BitmapNotUsed = SevWarn | 0x082;
- static Warn_BitmapNotUsed = () => m(this.WARN_BitmapNotUsed, `The 'bitmaps' statement is obsolete and only the first bitmap referred to will be used, you should use 'bitmap'.`);
+ static Warn_BitmapNotUsed = () => mc(this.WARN_BitmapNotUsed, `The 'bitmaps' statement is obsolete and only the first bitmap referred to will be used, you should use 'bitmap'.`);
static WARN_CustomLanguagesNotSupported = SevWarn | 0x083;
- static Warn_CustomLanguagesNotSupported = () => m(this.WARN_CustomLanguagesNotSupported, `Languages over 0x1FF, 0x1F are not supported correctly by Windows. You should use no LANGUAGE line instead.`);
+ static Warn_CustomLanguagesNotSupported = () => mc(this.WARN_CustomLanguagesNotSupported, `Languages over 0x1FF, 0x1F are not supported correctly by Windows. You should use no LANGUAGE line instead.`);
static WARN_KeyBadLength = SevWarn | 0x084;
- static Warn_KeyBadLength = () => m(this.WARN_KeyBadLength, `There are too many characters in the keystroke part of the rule.`);
+ static Warn_KeyBadLength = () => mc(this.WARN_KeyBadLength, `There are too many characters in the keystroke part of the rule.`);
static WARN_IndexStoreShort = SevWarn | 0x085;
- static Warn_IndexStoreShort = () => m(this.WARN_IndexStoreShort, `The store referenced in index() is shorter than the store referenced in any()`);
+ static Warn_IndexStoreShort = () => mc(this.WARN_IndexStoreShort, `The store referenced in index() is shorter than the store referenced in any()`);
static WARN_UnicodeInANSIGroup = SevWarn | 0x086;
- static Warn_UnicodeInANSIGroup = () => m(this.WARN_UnicodeInANSIGroup, `A Unicode character was found in an ANSI group`);
+ static Warn_UnicodeInANSIGroup = () => mc(this.WARN_UnicodeInANSIGroup, `A Unicode character was found in an ANSI group`);
static WARN_ANSIInUnicodeGroup = SevWarn | 0x087;
- static Warn_ANSIInUnicodeGroup = () => m(this.WARN_ANSIInUnicodeGroup, `An ANSI character was found in a Unicode group`);
+ static Warn_ANSIInUnicodeGroup = () => mc(this.WARN_ANSIInUnicodeGroup, `An ANSI character was found in a Unicode group`);
static WARN_UnicodeSurrogateUsed = SevWarn | 0x088;
- static Warn_UnicodeSurrogateUsed = () => m(this.WARN_UnicodeSurrogateUsed, `A Unicode surrogate character was found. You should use Unicode scalar values to represent values > U+FFFF`);
+ static Warn_UnicodeSurrogateUsed = () => mc(this.WARN_UnicodeSurrogateUsed, `A Unicode surrogate character was found. You should use Unicode scalar values to represent values > U+FFFF`);
static WARN_ReservedCharacter = SevWarn | 0x089;
- static Warn_ReservedCharacter = () => m(this.WARN_ReservedCharacter, `A Unicode character was found that should not be used`);
+ static Warn_ReservedCharacter = () => mc(this.WARN_ReservedCharacter, `A Unicode character was found that should not be used`);
- static INFO_MinimumCoreEngineVersion = SevInfo | 0x08A;
- static Info_MinimumCoreEngineVersion = (o:KmcmpLibMessageParameters) => m(
+ static INFO_MinimumCoreEngineVersion = SevInfo | 0x08A;
+ static Info_MinimumCoreEngineVersion = (o:KmcmpLibMessageParameters) => mc(
this.INFO_MinimumCoreEngineVersion,
- `The compiler has assigned a minimum engine version of ${o.p?.[0]}.${o.p?.[1]} based on features used in this keyboard`
+ `The compiler has assigned a minimum engine version of ${o.p?.[0]}.${o.p?.[1]} based on features used in this keyboard`,
);
static WARN_VirtualKeyWithMnemonicLayout = SevWarn | 0x08B;
- static Warn_VirtualKeyWithMnemonicLayout = () => m(this.WARN_VirtualKeyWithMnemonicLayout, `Virtual key used instead of virtual character key with a mnemonic layout`);
+ static Warn_VirtualKeyWithMnemonicLayout = () => mc(this.WARN_VirtualKeyWithMnemonicLayout, `Virtual key used instead of virtual character key with a mnemonic layout`);
static WARN_VirtualCharKeyWithPositionalLayout = SevWarn | 0x08C;
- static Warn_VirtualCharKeyWithPositionalLayout = () => m(this.WARN_VirtualCharKeyWithPositionalLayout, `Virtual character key used with a positional layout instead of mnemonic layout`);
+ static Warn_VirtualCharKeyWithPositionalLayout = () => mc(this.WARN_VirtualCharKeyWithPositionalLayout, `Virtual character key used with a positional layout instead of mnemonic layout`);
static WARN_StoreAlreadyUsedAsOptionOrCall = SevWarn | 0x08D;
- static Warn_StoreAlreadyUsedAsOptionOrCall = () => m(this.WARN_StoreAlreadyUsedAsOptionOrCall, `Store already used as an option or in a call statement and should not be used as a normal store`);
+ static Warn_StoreAlreadyUsedAsOptionOrCall = () => mc(this.WARN_StoreAlreadyUsedAsOptionOrCall, `Store already used as an option or in a call statement and should not be used as a normal store`);
static WARN_StoreAlreadyUsedAsStoreOrCall = SevWarn | 0x08E;
- static Warn_StoreAlreadyUsedAsStoreOrCall = () => m(this.WARN_StoreAlreadyUsedAsStoreOrCall, `Store already used as a normal store or in a call statement and should not be used as an option`);
+ static Warn_StoreAlreadyUsedAsStoreOrCall = () => mc(this.WARN_StoreAlreadyUsedAsStoreOrCall, `Store already used as a normal store or in a call statement and should not be used as an option`);
static WARN_StoreAlreadyUsedAsStoreOrOption = SevWarn | 0x08F;
- static Warn_StoreAlreadyUsedAsStoreOrOption = () => m(this.WARN_StoreAlreadyUsedAsStoreOrOption, `Store already used as a normal store or as an option and should not be used in a call statement`);
+ static Warn_StoreAlreadyUsedAsStoreOrOption = () => mc(this.WARN_StoreAlreadyUsedAsStoreOrOption, `Store already used as a normal store or as an option and should not be used in a call statement`);
static WARN_PunctuationInEthnologueCode = SevWarn | 0x090;
- static Warn_PunctuationInEthnologueCode = () => m(this.WARN_PunctuationInEthnologueCode, `Punctuation should not be used to separate Ethnologue codes; instead use spaces`);
+ static Warn_PunctuationInEthnologueCode = () => mc(this.WARN_PunctuationInEthnologueCode, `Punctuation should not be used to separate Ethnologue codes; instead use spaces`);
static WARN_TouchLayoutMissingLayer = SevWarn | 0x091;
- static Warn_TouchLayoutMissingLayer = (o:{keyId:string, platformName:string, layerId:string, nextLayer:string, address:KeyAddress}) => mw(this.WARN_TouchLayoutMissingLayer,
- `Key "${def(o.keyId)}" on platform "${def(o.platformName)}", layer "${def(o.layerId)}" (${keyAddress(o.address)}), references a missing layer "${def(o.nextLayer)}"`);
+ static Warn_TouchLayoutMissingLayer = (o:{keyId:string, platformName:string, layerId:string, nextLayer:string, address:KeyAddress}) => mw(
+ this.WARN_TouchLayoutMissingLayer,
+ `Key "${def(o.keyId)}" on platform "${def(o.platformName)}", layer "${def(o.layerId)}" (${keyAddress(o.address)}), references a missing layer "${def(o.nextLayer)}"`,
+ );
static WARN_TouchLayoutCustomKeyNotDefined = SevWarn | 0x092;
- static Warn_TouchLayoutCustomKeyNotDefined = (o:{keyId:string, platformName:string, layerId:string, address:KeyAddress}) => mw(this.WARN_TouchLayoutCustomKeyNotDefined,
- `Key "${def(o.keyId)}" on platform "${def(o.platformName)}", layer "${def(o.layerId)}" (${keyAddress(o.address)}), is a custom key but has no corresponding rule in the source.`);
+ static Warn_TouchLayoutCustomKeyNotDefined = (o:{keyId:string, platformName:string, layerId:string, address:KeyAddress}) => mw(
+ this.WARN_TouchLayoutCustomKeyNotDefined,
+ `Key "${def(o.keyId)}" on platform "${def(o.platformName)}", layer "${def(o.layerId)}" (${keyAddress(o.address)}), is a custom key but has no corresponding rule in the source.`,
+ );
static WARN_TouchLayoutMissingRequiredKeys = SevWarn | 0x093;
- static Warn_TouchLayoutMissingRequiredKeys = (o:{layerId:string, platformName:string, missingKeys:string}) => mw(this.WARN_TouchLayoutMissingRequiredKeys,
- `Layer "${def(o.layerId)}" on platform "${def(o.platformName)}" is missing the required key(s) '${def(o.missingKeys)}'.`);
+ static Warn_TouchLayoutMissingRequiredKeys = (o:{layerId:string, platformName:string, missingKeys:string}) => mw(
+ this.WARN_TouchLayoutMissingRequiredKeys,
+ `Layer "${def(o.layerId)}" on platform "${def(o.platformName)}" is missing the required key(s) '${def(o.missingKeys)}'.`,
+ );
static WARN_HelpFileMissing = SevWarn | 0x094;
- static Warn_HelpFileMissing = (o:{line:number, helpFilename:string, e:any}) => mw(this.WARN_HelpFileMissing,
- `File ${def(o.helpFilename)} could not be loaded: ${(o.e??'').toString()}`,o);
+ static Warn_HelpFileMissing = (o:{line:number, helpFilename:string, e:any}) => mw(
+ this.WARN_HelpFileMissing,
+ `File ${def(o.helpFilename)} could not be loaded: ${(o.e??'').toString()}`, o,
+ );
static WARN_EmbedJsFileMissing = SevWarn | 0x095;
- static Warn_EmbedJsFileMissing = (o:{line:number, jsFilename: string, e:any}) => mw(this.WARN_EmbedJsFileMissing,
- `File ${def(o.jsFilename)} could not be loaded: ${(o.e??'').toString()}`, o);
+ static Warn_EmbedJsFileMissing = (o:{line:number, jsFilename: string, e:any}) => mw(
+ this.WARN_EmbedJsFileMissing,
+ `File ${def(o.jsFilename)} could not be loaded: ${(o.e??'').toString()}`, o,
+ );
// static WARN_TouchLayoutFileMissing = SevWarn | 0x096;
// static WARN_VisualKeyboardFileMissing = SevWarn | 0x097;
static WARN_ExtendedShiftFlagsNotSupportedInKeymanWeb = SevWarn | 0x098;
- static Warn_ExtendedShiftFlagsNotSupportedInKeymanWeb = (o:{line:number,flags:string}) => mw(this.WARN_ExtendedShiftFlagsNotSupportedInKeymanWeb,
- `Extended shift flags ${def(o.flags)} are not supported in KeymanWeb`, o);
+ static Warn_ExtendedShiftFlagsNotSupportedInKeymanWeb = (o:{line:number,flags:string}) => mw(
+ this.WARN_ExtendedShiftFlagsNotSupportedInKeymanWeb,
+ `Extended shift flags ${def(o.flags)} are not supported in KeymanWeb`, o,
+ );
static WARN_TouchLayoutUnidentifiedKey = SevWarn | 0x099;
- static Warn_TouchLayoutUnidentifiedKey = (o:{layerId:string, address:KeyAddress}) => mw(this.WARN_TouchLayoutUnidentifiedKey,
- `A key (${keyAddress(o.address)}) on layer "${def(o.layerId)}" has no identifier.`);
+ static Warn_TouchLayoutUnidentifiedKey = (o:{layerId:string, address:KeyAddress}) => mw(
+ this.WARN_TouchLayoutUnidentifiedKey,
+ `A key (${keyAddress(o.address)}) on layer "${def(o.layerId)}" has no identifier.`,
+ );
static HINT_UnreachableKeyCode = SevHint | 0x09A;
- static Hint_UnreachableKeyCode = (o:{line:number,key:string}) => mw(this.HINT_UnreachableKeyCode,
- `The rule will never be matched for key ${def(o.key)} because its key code is never fired.`, o);
+ static Hint_UnreachableKeyCode = (o:{line:number,key:string}) => mw(
+ this.HINT_UnreachableKeyCode,
+ `The rule will never be matched for key ${def(o.key)} because its key code is never fired.`, o,
+ );
// static WARN_CouldNotCopyJsonFile = SevWarn | 0x09B;
static WARN_PlatformNotInTargets = SevWarn | 0x09C;
- static Warn_PlatformNotInTargets = () => m(this.WARN_PlatformNotInTargets, `The specified platform is not a target platform`);
+ static Warn_PlatformNotInTargets = () => mc(this.WARN_PlatformNotInTargets, `The specified platform is not a target platform`);
static WARN_HeaderStatementIsDeprecated = SevWarn | 0x09D;
- static Warn_HeaderStatementIsDeprecated = () => m(this.WARN_HeaderStatementIsDeprecated, `Header statements are deprecated; use instead the equivalent system store`);
+ static Warn_HeaderStatementIsDeprecated = () => mc(this.WARN_HeaderStatementIsDeprecated, `Header statements are deprecated; use instead the equivalent system store`);
static WARN_UseNotLastStatementInRule = SevWarn | 0x09E;
- static Warn_UseNotLastStatementInRule = () => m(this.WARN_UseNotLastStatementInRule, `A rule with use() statements in the output should not have other content following the use() statements`);
+ static Warn_UseNotLastStatementInRule = () => mc(this.WARN_UseNotLastStatementInRule, `A rule with use() statements in the output should not have other content following the use() statements`);
static WARN_TouchLayoutFontShouldBeSameForAllPlatforms = SevWarn | 0x09F;
- static Warn_TouchLayoutFontShouldBeSameForAllPlatforms = () => mw(this.WARN_TouchLayoutFontShouldBeSameForAllPlatforms,
- `The touch layout font should be the same for all platforms.`);
+ static Warn_TouchLayoutFontShouldBeSameForAllPlatforms = () => mw(
+ this.WARN_TouchLayoutFontShouldBeSameForAllPlatforms,
+ `The touch layout font should be the same for all platforms.`,
+ );
// static WARN_InvalidJSONMetadataFile = SevWarn | 0x0A0;
// static WARN_JSONMetadataOSKFontShouldMatchTouchFont = SevWarn | 0x0A1;
static WARN_KVKFileIsInSourceFormat = SevWarn | 0x0A2;
- static Warn_KVKFileIsInSourceFormat = () => m(this.WARN_KVKFileIsInSourceFormat, `.kvk file should be binary but is an XML file`);
+ static Warn_KVKFileIsInSourceFormat = () => mc(this.WARN_KVKFileIsInSourceFormat, `.kvk file should be binary but is an XML file`);
// kmcmplib: static Warn_DontMixChiralAndNonChiralModifiers = () => m(this.WARN_DontMixChiralAndNonChiralModifiers, `Don't mix the use of left/right modifiers with non-left/right modifiers in the same platform`);
static WARN_DontMixChiralAndNonChiralModifiers = SevWarn | 0x0A3;
- static Warn_DontMixChiralAndNonChiralModifiers = () => mw(this.WARN_DontMixChiralAndNonChiralModifiers,
- `This keyboard contains Ctrl,Alt and LCtrl,LAlt,RCtrl,RAlt sets of modifiers. Use only one or the other set for web target.`);
+ static Warn_DontMixChiralAndNonChiralModifiers = () => mw(
+ this.WARN_DontMixChiralAndNonChiralModifiers,
+ `This keyboard contains Ctrl,Alt and LCtrl,LAlt,RCtrl,RAlt sets of modifiers. Use only one or the other set for web target.`,
+ );
static WARN_MixingLeftAndRightModifiers = SevWarn | 0x0A4;
- static Warn_MixingLeftAndRightModifiers = () => m(this.WARN_MixingLeftAndRightModifiers, `Left and right modifiers should not both be used in the same rule`);
+ static Warn_MixingLeftAndRightModifiers = () => mc(this.WARN_MixingLeftAndRightModifiers, `Left and right modifiers should not both be used in the same rule`);
static WARN_LanguageHeadersDeprecatedInKeyman10 = SevWarn | 0x0A5;
- static Warn_LanguageHeadersDeprecatedInKeyman10 = () => m(this.WARN_LanguageHeadersDeprecatedInKeyman10, `This language header has been deprecated in Keyman 10. Instead, add language metadata in the package file`);
+ static Warn_LanguageHeadersDeprecatedInKeyman10 = () => mc(this.WARN_LanguageHeadersDeprecatedInKeyman10, `This language header has been deprecated in Keyman 10. Instead, add language metadata in the package file`);
static HINT_NonUnicodeFile = SevHint | 0x0A6;
- static Hint_NonUnicodeFile = () => m(this.HINT_NonUnicodeFile, `Keyman Developer has detected that the file has ANSI encoding. Consider converting this file to UTF-8`);
+ static Hint_NonUnicodeFile = () => mc(this.HINT_NonUnicodeFile, `Keyman Developer has detected that the file has ANSI encoding. Consider converting this file to UTF-8`);
// static WARN_TooManyErrorsOrWarnings = SevWarn | 0x0A7;
static WARN_HotkeyHasInvalidModifier = SevWarn | 0x0A8;
- static Warn_HotkeyHasInvalidModifier = () => m(this.WARN_HotkeyHasInvalidModifier, `Hotkey has modifiers that are not supported. Use only SHIFT, CTRL and ALT`);
+ static Warn_HotkeyHasInvalidModifier = () => mc(this.WARN_HotkeyHasInvalidModifier, `Hotkey has modifiers that are not supported. Use only SHIFT, CTRL and ALT`);
static WARN_TouchLayoutSpecialLabelOnNormalKey = SevWarn | 0x0A9;
- static Warn_TouchLayoutSpecialLabelOnNormalKey = (o:{keyId:string, platformName:string, layerId:string, label:string, address:KeyAddress}) =>
- mw(this.WARN_TouchLayoutSpecialLabelOnNormalKey,
+ static Warn_TouchLayoutSpecialLabelOnNormalKey = (o:{keyId:string, platformName:string, layerId:string, label:string, address:KeyAddress}) => mw(
+ this.WARN_TouchLayoutSpecialLabelOnNormalKey,
`Key "${def(o.keyId)}" on platform "${def(o.platformName)}", layer "${def(o.layerId)}" (${keyAddress(o.address)}) does not have `+
- `the key type "Special" or "Special (active)" but has the label "${def(o.label)}". This feature is only supported in Keyman 14 or later`);
+ `the key type "Special" or "Special (active)" but has the label "${def(o.label)}". This feature is only supported in Keyman 14 or later`,
+ );
static WARN_OptionStoreNameInvalid = SevWarn | 0x0AA;
- static Warn_OptionStoreNameInvalid = (o:{name:string}) => mw(this.WARN_OptionStoreNameInvalid,
- `The option store ${def(o.name)} should be named with characters in the range A-Z, a-z, 0-9 and _ only.`);
+ static Warn_OptionStoreNameInvalid = (o:{name:string}) => mw(
+ this.WARN_OptionStoreNameInvalid,
+ `The option store ${def(o.name)} should be named with characters in the range A-Z, a-z, 0-9 and _ only.`,
+ );
static WARN_NulNotFirstStatementInContext = SevWarn | 0x0AB;
- static Warn_NulNotFirstStatementInContext = () => m(this.WARN_NulNotFirstStatementInContext, `nul must be the first statement in the context`);
+ static Warn_NulNotFirstStatementInContext = () => mc(this.WARN_NulNotFirstStatementInContext, `nul must be the first statement in the context`);
static WARN_IfShouldBeAtStartOfContext = SevWarn | 0x0AC;
- static Warn_IfShouldBeAtStartOfContext = () => m(this.WARN_IfShouldBeAtStartOfContext, `if, platform and baselayout should be at start of context (after nul, if present)`);
+ static Warn_IfShouldBeAtStartOfContext = () => mc(this.WARN_IfShouldBeAtStartOfContext, `if, platform and baselayout should be at start of context (after nul, if present)`);
static WARN_KeyShouldIncludeNCaps = SevWarn | 0x0AD;
- static Warn_KeyShouldIncludeNCaps = () => m(this.WARN_KeyShouldIncludeNCaps, `Other rules which reference this key include CAPS or NCAPS modifiers, so this rule must include NCAPS modifier to avoid inconsistent matches`);
+ static Warn_KeyShouldIncludeNCaps = () => mc(this.WARN_KeyShouldIncludeNCaps, `Other rules which reference this key include CAPS or NCAPS modifiers, so this rule must include NCAPS modifier to avoid inconsistent matches`);
static HINT_UnreachableRule = SevHint | 0x0AE;
- static Hint_UnreachableRule = (o:KmcmpLibMessageParameters) => m(
+ static Hint_UnreachableRule = (o:KmcmpLibMessageParameters) => mc(
this.HINT_UnreachableRule,
`This rule will never be matched as the rule on line ${o.p?.[0]} takes precedence`
);
static WARN_VirtualKeyInOutput = SevWarn | 0x0AF;
- static Warn_VirtualKeyInOutput = () => m(this.WARN_VirtualKeyInOutput, `Virtual keys are not supported in output`);
+ static Warn_VirtualKeyInOutput = () => mc(this.WARN_VirtualKeyInOutput, `Virtual keys are not supported in output`);
static HINT_IndexStoreLong = SevHint | 0x0B0;
- static Hint_IndexStoreLong = () => m(
+ static Hint_IndexStoreLong = () => mc(
this.HINT_IndexStoreLong,
`The store referenced in index() is longer than the store referenced in any()`,
);
static ERROR_ContextExCannotReferenceIf = SevError | 0x0B1;
- static Error_ContextExCannotReferenceIf = () => m(
+ static Error_ContextExCannotReferenceIf = () => mc(
this.ERROR_ContextExCannotReferenceIf,
`The offset in context() points to a non-character if() statement in the context`,
);
static ERROR_ContextExCannotReferenceNul = SevError | 0x0B2;
- static Error_ContextExCannotReferenceNul = () => m(
+ static Error_ContextExCannotReferenceNul = () => mc(
this.ERROR_ContextExCannotReferenceNul,
`The offset in context() points to a non-character nul statement in the context`,
);
static ERROR_TextBeforeOrAfterNulInOutput = SevError | 0x0B3;
- static Error_TextBeforeOrAfterNulInOutput = () => m(
+ static Error_TextBeforeOrAfterNulInOutput = () => mc(
this.ERROR_TextBeforeOrAfterNulInOutput,
`A rule with a nul statement in the output cannot also output text or text-emitting statements`,
`If a rule has [\`nul\`](https://help.keyman.com/developer/language/reference/nul)
@@ -774,60 +863,70 @@ export class KmnCompilerMessages {
);
static ERROR_NameMustBeAtLeastOneCharLong = SevError | 0x0B4;
- static Error_NameMustBeAtLeastOneCharLong = () => m(
+ static Error_NameMustBeAtLeastOneCharLong = () => mc(
this.ERROR_NameMustBeAtLeastOneCharLong,
`The name parameter is required`,
);
static ERROR_NameMustBeAtMostNCharsLong = SevError | 0x0B5;
- static Error_NameMustBeAtMostNCharsLong = (o:{name:string,length:string}) => m(
+ static Error_NameMustBeAtMostNCharsLong = (o: KmcmpLibMessageParameters) => mc(
this.ERROR_NameMustBeAtMostNCharsLong,
- `The referenced name '${def(o.name)}' must be at most ${def(o.length)} characters long`,
+ `The referenced name '${def(o.p?.[0])}' must be at most ${def(o.p?.[1])} characters long`,
);
static ERROR_NameContainsInvalidCharacter = SevError | 0x0B6;
- static Error_NameContainsInvalidCharacter = (o:{name:string}) => m(
+ static Error_NameContainsInvalidCharacter = (o: KmcmpLibMessageParameters) => mc(
this.ERROR_NameContainsInvalidCharacter,
- `The referenced name '${def(o.name)}' contains an invalid character`,
+ `The referenced name '${def(o.p?.[0])}' contains an invalid character`,
`Names (or identifiers) must not contain spaces, commas, parentheses,
square brackets, control characters, or Unicode non-characters.`
);
static ERROR_NameMustNotContainSpaces = SevError | 0x0B7;
- static Error_NameMustNotContainSpaces = (o:{name:string}) => m(
+ static Error_NameMustNotContainSpaces = (o: KmcmpLibMessageParameters) => mc(
this.ERROR_NameMustNotContainSpaces,
- `The referenced name '${def(o.name)}' must not contain spaces`,
+ `The referenced name '${def(o.p?.[0])}' must not contain spaces`,
`Names (or identifiers) must not contain spaces, commas, parentheses,
square brackets, control characters, or Unicode non-characters.`
);
static ERROR_NameMustNotContainComma = SevError | 0x0B8;
- static Error_NameMustNotContainComma = (o:{name:string}) => m(
+ static Error_NameMustNotContainComma = (o: KmcmpLibMessageParameters) => mc(
this.ERROR_NameMustNotContainComma,
- `The referenced name '${def(o.name)}' must not contain commas`,
+ `The referenced name '${def(o.p?.[0])}' must not contain commas`,
`Names (or identifiers) must not contain spaces, commas, parentheses,
square brackets, control characters, or Unicode non-characters.`
);
static ERROR_NameMustNotContainParentheses = SevError | 0x0B9;
- static Error_NameMustNotContainParentheses = (o:{name:string}) => m(
+ static Error_NameMustNotContainParentheses = (o: KmcmpLibMessageParameters) => mc(
this.ERROR_NameMustNotContainParentheses,
- `The referenced name '${def(o.name)}' must not contain opening or closing parentheses`,
+ `The referenced name '${def(o.p?.[0])}' must not contain opening or closing parentheses`,
`Names (or identifiers) must not contain spaces, commas, parentheses,
square brackets, control characters, or Unicode non-characters.`
);
static ERROR_NameMustNotContainSquareBrackets = SevError | 0x0BA;
- static Error_NameMustNotContainSquareBrackets = (o:{name:string}) => m(
+ static Error_NameMustNotContainSquareBrackets = (o: KmcmpLibMessageParameters) => mc(
this.ERROR_NameMustNotContainSquareBrackets,
- `The referenced name '${def(o.name)}' must not contain opening or closing square brackets`,
+ `The referenced name '${def(o.p?.[0])}' must not contain opening or closing square brackets`,
`Names (or identifiers) must not contain spaces, commas, parentheses,
square brackets, control characters, or Unicode non-characters.`
);
+ static WARN_DeprecatedStatement = SevWarn | 0x0BB;
+ static Warn_DeprecatedStatement = (o: KmcmpLibMessageParameters) => mc(
+ this.WARN_DeprecatedStatement,
+ `The statement '${def(o.p?.[0])}' has been deprecated in Keyman ${def(o.p?.[1])}`,
+ );
+
static FATAL_BufferOverflow = SevFatal | 0x0C0;
- static Fatal_BufferOverflow = () => m(this.FATAL_BufferOverflow, `The compiler memory buffer overflowed`);
+ static Fatal_BufferOverflow = () => mc(this.FATAL_BufferOverflow, `The compiler memory buffer overflowed`);
// static FATAL_Break = SevFatal | 0x0C1;
- // static Fatal_Break = () => m(this.FATAL_Break, `Compiler interrupted by user`);
+ // static Fatal_Break = () => mc(this.FATAL_Break, `Compiler interrupted by user`);
+
+ // ------------------------------------------------------------------------------------------------
+ // end of kmcmplib messages
+ // ------------------------------------------------------------------------------------------------
};
diff --git a/developer/src/kmc-kmn/src/kmw-compiler/util.ts b/developer/src/kmc-kmn/src/kmw-compiler/util.ts
index 4c775e6c83..487d2f5a94 100644
--- a/developer/src/kmc-kmn/src/kmw-compiler/util.ts
+++ b/developer/src/kmc-kmn/src/kmw-compiler/util.ts
@@ -248,7 +248,7 @@ export function incxstr(p: string, x: number): number {
case KMX.KMXFile.CODE_CONTEXTEX: x += 2; break;
case KMX.KMXFile.CODE_NOTANY: x += 2; break;
- case KMX.KMXFile.CODE_CLEARCONTEXT: x += 2; break;
+ case KMX.KMXFile.CODE_CLEARCONTEXT: x += 2; break; // deprecated in 19.0
case KMX.KMXFile.CODE_IFOPT: x += 4; break;
case KMX.KMXFile.CODE_IFSYSTEMSTORE: x += 4; break;
case KMX.KMXFile.CODE_SETOPT: x += 3; break;
diff --git a/developer/src/kmc-kmn/test/compiler.tests.ts b/developer/src/kmc-kmn/test/compiler.tests.ts
index db5ea60b06..ce27552585 100644
--- a/developer/src/kmc-kmn/test/compiler.tests.ts
+++ b/developer/src/kmc-kmn/test/compiler.tests.ts
@@ -1,10 +1,15 @@
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ */
+import { dirname } from 'node:path';
+import { fileURLToPath } from 'node:url';
+import fs from 'node:fs';
import 'mocha';
import { assert } from 'chai';
-import { KmnCompiler } from '../src/main.js';
-import { dirname } from 'path';
-import { fileURLToPath } from 'url';
-import fs from 'fs';
import { TestCompilerCallbacks } from '@keymanapp/developer-test-helpers';
+import { KmxFileReader } from '@keymanapp/common-types';
+import { compileTestKeyboard } from './helpers/index.js';
+import { KmnCompiler } from '../src/main.js';
const __dirname = dirname(fileURLToPath(import.meta.url)).replace(/\\/g, '/');
const keyboardsDir = __dirname + '/../../../../../common/test/keyboards/';
@@ -13,6 +18,16 @@ const baselineDir = keyboardsDir + 'baseline/';
describe('Compiler class', function() {
const callbacks = new TestCompilerCallbacks(this);
+ this.beforeEach(function() {
+ callbacks.clear();
+ });
+
+ this.afterEach(function() {
+ if(this.currentTest?.isFailed()) {
+ callbacks.printMessages();
+ }
+ });
+
it('should throw on failure', async function() {
const compiler = new KmnCompiler();
const callbacks : any = null; // ERROR
@@ -129,4 +144,20 @@ describe('Compiler class', function() {
assert.deepEqual(kvkData, kvkFixtureData);
});
+ it('should trim all whitespace for `&targets` store', async function() {
+ const result = await compileTestKeyboard(callbacks, ['keyboards', 'targets-with-whitespace.kmn']);
+ assert.isNotNull(result);
+
+ // Verify implictly that `&targets` store was interpreted correctly as 'any'
+ // because the compiler generated both JS and KMX targets (#13721)
+ assert.isNotNull(result.artifacts.js);
+ assert.isNotNull(result.artifacts.kmx);
+
+ // Then verify directly that the `&targets` store was trimmed by looking at
+ // the final value in the kmx data
+ const reader = new KmxFileReader();
+ const keyboard = reader.read(result.artifacts.kmx.data);
+ assert.equal(keyboard.targets, 'any');
+ });
+
});
diff --git a/developer/src/kmc-kmn/test/fixtures/keyboards/targets-with-whitespace.kmn b/developer/src/kmc-kmn/test/fixtures/keyboards/targets-with-whitespace.kmn
new file mode 100644
index 0000000000..4afe77ecd5
--- /dev/null
+++ b/developer/src/kmc-kmn/test/fixtures/keyboards/targets-with-whitespace.kmn
@@ -0,0 +1,11 @@
+store(&NAME) 'targets_with_whitespace'
+store(&VERSION) '10.0'
+
+c this used to generate KM0207B: At least one compile target must be specified
+store(&TARGETS) ' any'
+
+begin unicode > use(main)
+
+group(main) using keys
+
++ 'x' > 'y'
diff --git a/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-clearcontext-17.kmn b/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-clearcontext-17.kmn
new file mode 100644
index 0000000000..6e108a7852
--- /dev/null
+++ b/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-clearcontext-17.kmn
@@ -0,0 +1,9 @@
+store(&NAME) 'warn_deprecated_statement-clearcontext-17'
+store(&VERSION) '17.0'
+
+begin unicode > use(main)
+
+group(main) using keys
+
+c NOTE: using `clearcontext` should not generate a warning in v17 target version compile (unlike v19 target version)
++ 'x' > clearcontext
diff --git a/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-clearcontext-19.kmn b/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-clearcontext-19.kmn
new file mode 100644
index 0000000000..0c2a68f8e2
--- /dev/null
+++ b/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-clearcontext-19.kmn
@@ -0,0 +1,9 @@
+store(&NAME) 'warn_deprecated_statement-clearcontext-19'
+store(&VERSION) '19.0'
+
+begin unicode > use(main)
+
+group(main) using keys
+
+c NOTE: using `clearcontext` SHOULD generate a warning in v19 target version compile (unlike v17 target version)
++ 'x' > clearcontext
diff --git a/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-fix-17.kmn b/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-fix-17.kmn
new file mode 100644
index 0000000000..7d2d9f5df8
--- /dev/null
+++ b/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-fix-17.kmn
@@ -0,0 +1,9 @@
+store(&NAME) 'warn_deprecated_statement-fix-17'
+store(&VERSION) '17.0'
+
+begin unicode > use(main)
+
+group(main) using keys
+
+c NOTE: using `fix` should not generate a warning in v17 target version compile (unlike v19 target version)
++ 'x' > fix
diff --git a/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-fix-19.kmn b/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-fix-19.kmn
new file mode 100644
index 0000000000..c575136604
--- /dev/null
+++ b/developer/src/kmc-kmn/test/fixtures/keyboards/warn_deprecated_statement-fix-19.kmn
@@ -0,0 +1,9 @@
+store(&NAME) 'warn_deprecated_statement-fix-19'
+store(&VERSION) '19.0'
+
+begin unicode > use(main)
+
+group(main) using keys
+
+c NOTE: using `fix` SHOULD generate a warning in v19 target version compile (unlike v17 target version)
++ 'x' > fix
diff --git a/developer/src/kmc-kmn/test/helpers/index.ts b/developer/src/kmc-kmn/test/helpers/index.ts
index 8250dfd101..ae0ad21268 100644
--- a/developer/src/kmc-kmn/test/helpers/index.ts
+++ b/developer/src/kmc-kmn/test/helpers/index.ts
@@ -1,8 +1,13 @@
-/**
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ *
* Helpers and utilities for the Mocha tests.
*/
-import * as path from 'path';
-import { fileURLToPath } from 'url';
+import * as path from 'node:path';
+import { fileURLToPath } from 'node:url';
+import { assert } from 'chai';
+import { CompilerCallbacks } from '@keymanapp/developer-utils';
+import { KmnCompiler } from '../../src/compiler/compiler.js';
/**
* Builds a path to the fixture with the given path components.
@@ -15,3 +20,13 @@ import { fileURLToPath } from 'url';
export function makePathToFixture(...components: string[]): string {
return fileURLToPath(new URL(path.join('..', '..', '..', 'test', 'fixtures', ...components), import.meta.url));
}
+
+export async function compileTestKeyboard(callbacks: CompilerCallbacks, fixture: string[]) {
+ const compiler = new KmnCompiler();
+ assert(await compiler.init(callbacks, {saveDebug: true, shouldAddCompilerVersion: false}));
+ assert(compiler.verifyInitialized());
+
+ const kmnPath = makePathToFixture(...fixture);
+
+ return await compiler.run(kmnPath, null);
+}
\ No newline at end of file
diff --git a/developer/src/kmc-kmn/test/kmn-compiler-messages.tests.ts b/developer/src/kmc-kmn/test/kmn-compiler-messages.tests.ts
index f241c02606..d34c791f48 100644
--- a/developer/src/kmc-kmn/test/kmn-compiler-messages.tests.ts
+++ b/developer/src/kmc-kmn/test/kmn-compiler-messages.tests.ts
@@ -3,9 +3,24 @@ import { assert } from 'chai';
import { CompilerErrorMask, CompilerErrorNamespace } from '@keymanapp/developer-utils';
import { TestCompilerCallbacks, verifyCompilerMessagesObject } from '@keymanapp/developer-test-helpers';
import { KmnCompiler } from '../src/main.js';
-import { KmnCompilerMessageRanges, KmnCompilerMessages } from '../src/compiler/kmn-compiler-messages.js';
+import { KmcKmnCompilerEvent, KmnCompilerMessageRanges, KmnCompilerMessages } from '../src/compiler/kmn-compiler-messages.js';
import { makePathToFixture } from './helpers/index.js';
+
+// Source - https://stackoverflow.com/a/9924463
+// Posted by Jack Allan, modified by community. See post 'Timeline' for change history
+// Retrieved 2026-09-01, License - CC BY-SA 3.0
+function getParamNames(func: any) {
+ const STRIP_COMMENTS = /(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,\)]*(('(?:\\'|[^'\r\n])*')|("(?:\\"|[^"\r\n])*"))|(\s*=[^,\)]*))/mg;
+ const ARGUMENT_NAMES = /([^\s,]+)/g;
+ const fnStr = func.toString().replace(STRIP_COMMENTS, '');
+ let result = fnStr.slice(fnStr.indexOf('(')+1, fnStr.indexOf(')')).match(ARGUMENT_NAMES);
+ if(result === null)
+ result = [];
+ return result;
+}
+
+
describe('KmnCompilerMessages', function () {
const callbacks = new TestCompilerCallbacks(this);
@@ -13,6 +28,53 @@ describe('KmnCompilerMessages', function () {
return verifyCompilerMessagesObject(KmnCompilerMessages, CompilerErrorNamespace.KmnCompiler);
});
+ it('should have correct parameter types and numeric ranges for kmcmplib vs kmw vs kmc-kmn messages', function() {
+ // See comment in kmn-compiler-messages.ts for logic.
+ // This function follows the same pattern as `verifyCompilerMessagesObject` but with specific tests for
+ // this more constrained object
+ const toTitleCase = (s: string) => s.substring(0, 1).toUpperCase() + s.substring(1).toLowerCase();
+ const keys = Object.keys(KmnCompilerMessages);
+ const m = KmnCompilerMessages as Record;
+
+ for(const key of keys) {
+ if(typeof m[key] == 'number') {
+ const o = /^(DEBUG|VERBOSE|INFO|HINT|WARN|ERROR|FATAL)_([A-Za-z0-9_]+)$/.exec(key);
+ const f = toTitleCase(o[1]) + '_' + o[2];
+ // note: validation done in verifyCompilerMessagesObject, don't repeat it here
+
+ const v: KmcKmnCompilerEvent = m[f]('','','','','','','','','','','','' /* ignore arguments*/);
+
+ const code = m[key] & CompilerErrorMask.BaseError;
+ const hex = code.toString(16).padStart(3, '0');
+
+ if(code >= KmnCompilerMessageRanges.RANGE_CompilerMessage_Min &&code <= KmnCompilerMessageRanges.RANGE_CompilerMessage_Max) {
+ // kmc-kmn messages, should not be using mw() function or mc() function
+ //
+ assert.equal(v.kmcKmnSource, 'kmc-kmn', `expected ${v.kmcKmnSource} to equal 'kmc-kmn' for ${hex}, '${key}'.`);
+ } else if(code >= KmnCompilerMessageRanges.RANGE_KMN_COMPILER_MIN && code <= KmnCompilerMessageRanges.RANGE_KMN_COMPILER_MAX) {
+ // kmcmplib or kmw compiler messages, should not be using m() function or mx() function
+ assert.oneOf(v.kmcKmnSource, ['kmcmplib', 'kmw-compiler'], `expected ${v.kmcKmnSource} to equal 'kmcmplib' or 'kmw-compiler for ${hex}, '${key}'.`);
+ if(v.kmcKmnSource == 'kmcmplib') {
+ // The only allowed param is an object o with property p. We
+ // cannot test parameter shape directly, so we will compare
+ // outputs of calling if o.p is set, which should not match what
+ // we get when o.p is not set.
+ const params = getParamNames(m[f]);
+ if(params.length) {
+ const v2: KmcKmnCompilerEvent = m[f]({p:['1','2','3','4','5','6','7','8','9']});
+ assert.notEqual(v.message, v2.message, `Message '${key}' (${hex}) must use KmcmpLibMessageParameters pattern`);
+ }
+ }
+ } else if(code >= KmnCompilerMessageRanges.RANGE_LEXICAL_MODEL_MIN && code <= KmnCompilerMessageRanges.RANGE_LEXICAL_MODEL_MAX) {
+ assert.fail(`Message identifier ${hex} for '${key}' is reserved and should not be used (LEXICAL_MODEL range)`);
+ } else {
+ assert.fail(`Message identifier ${hex} for '${key}' is out of range`);
+ }
+ }
+ }
+
+ });
+
it('should have a 1:1 correspondence with kmn_compiler_errors.h', function() {
const headerFilename = 'kmn_compiler_errors.h';
@@ -285,4 +347,13 @@ describe('KmnCompilerMessages', function () {
await testForMessage(this, ['invalid-keyboards', 'error_name_must_not_contain_square_brackets-deadkey.kmn'], [KmnCompilerMessages.ERROR_NameMustNotContainSquareBrackets, KmnCompilerMessages.ERROR_InvalidDeadkey]);
});
+ // WARN_DeprecatedStatement
+
+ it('should generate WARN_DeprecatedStatement if the file has `clearcontext` or `fix` statements and is 19.0', async function() {
+ await testForMessage(this, ['keyboards', 'warn_deprecated_statement-clearcontext-19.kmn'], KmnCompilerMessages.WARN_DeprecatedStatement);
+ await testForMessage(this, ['keyboards', 'warn_deprecated_statement-fix-19.kmn'], KmnCompilerMessages.WARN_DeprecatedStatement);
+ await testForMessage(this, ['keyboards', 'warn_deprecated_statement-clearcontext-17.kmn']);
+ await testForMessage(this, ['keyboards', 'warn_deprecated_statement-fix-17.kmn']);
+ });
+
});
diff --git a/developer/src/kmc-ldml/build.sh b/developer/src/kmc-ldml/build.sh
index b9e259e8df..bfbbfd70b0 100755
--- a/developer/src/kmc-ldml/build.sh
+++ b/developer/src/kmc-ldml/build.sh
@@ -23,7 +23,7 @@ builder_describe "Keyman kmc Keyboard Compiler module" \
"api analyze API and prepare API documentation" \
"clean" \
"test" \
- "build-fixtures builds test fixtures for manual examination"
+ "fixtures-build builds test fixtures for manual examination"
builder_describe_outputs \
configure /developer/src/kmc-ldml/src/util/abnf/46/transform-from-required.js \
@@ -84,6 +84,6 @@ function do_build_fixtures() {
builder_run_action clean do_clean
builder_run_action configure do_configure
builder_run_action build do_build
-builder_run_action build-fixtures do_build_fixtures
+builder_run_action fixtures-build do_build_fixtures
builder_run_action api typescript_run_api_extractor developer/src/kmc-ldml main.d.ts
-builder_run_action test typescript_run_eslint_mocha_tests 90
+builder_run_action test typescript_run_eslint_mocha_tests
diff --git a/developer/src/kmc-ldml/src/compiler/keys.ts b/developer/src/kmc-ldml/src/compiler/keys.ts
index 8656e7fbf2..9740616bc0 100644
--- a/developer/src/kmc-ldml/src/compiler/keys.ts
+++ b/developer/src/kmc-ldml/src/compiler/keys.ts
@@ -9,7 +9,7 @@ import Keys = KMXPlus.Keys;
import KeysKeys = KMXPlus.KeysKeys;
import ListItem = KMXPlus.ListItem;
import KeysFlicks = KMXPlus.KeysFlicks;
-import { allUsedKeyIdsInFlick, allUsedKeyIdsInKey, allUsedKeyIdsInLayers, calculateUniqueKeys, hashFlicks, hashKeys, translateLayerAttrToModifier, validModifier } from '../util/util.js';
+import { allUsedKeyIdsInFlick, allUsedKeyIdsInKey, allUsedKeyIdsInLayers, calculateUniqueKeys, hashFlicks, hashKeys, translateLayerAttrToModifier } from '../util/util.js';
import { SubstitutionUse, Substitutions } from './substitution-tracker.js';
/** reserved name for the special gap key. space is not allowed in key ids. */
@@ -225,13 +225,9 @@ export class KeysCompiler extends SectionCompiler {
// Finally, kmap
// Use LayerMap + keys to generate compiled keys for hardware
const hardwareLayers = this.hardwareLayers();
- /* c8 ignore next 3 */
- if (hardwareLayers.length > 1) {
- // validation should have already caught this
- throw Error(
- `Internal error: Expected 0 or 1 hardware layer, not ${hardwareLayers.length}`
- );
- } else if (hardwareLayers.length === 1) {
+ if (hardwareLayers.length >= 1) {
+ // Only 1 hardware layer is supported; however, `LayrCompiler` will report
+ // on this error, so we can just process the first one here
const theLayers = hardwareLayers[0];
const { formId } = theLayers;
for (const layer of theLayers.layer) {
@@ -461,12 +457,6 @@ export class KeysCompiler extends SectionCompiler {
let valid = true;
const { modifiers } = layer;
- if (!validModifier(modifiers)) {
- this.callbacks.reportMessage(
- LdmlCompilerMessages.Error_InvalidModifier({ modifiers }, layer)
- );
- valid = false;
- }
if (layer.row.length > keymap.length) {
this.callbacks.reportMessage(
@@ -484,7 +474,7 @@ export class KeysCompiler extends SectionCompiler {
LdmlCompilerMessages.Error_RowOnHardwareLayerHasTooManyKeys({
row: y + 1,
hardware: layers.formId,
- modifiers: modifiers || 'none',
+ modifiers,
}, row)
);
valid = false;
@@ -501,7 +491,7 @@ export class KeysCompiler extends SectionCompiler {
keyId: key,
col: x + 1,
row: y + 1,
- layer: layer.id,
+ layer: layer.id ?? layer.modifiers, // just to give a useful reference point in the error message
form: "hardware",
}, row)
);
diff --git a/developer/src/kmc-ldml/src/compiler/layr.ts b/developer/src/kmc-ldml/src/compiler/layr.ts
index baaf9282b5..822ea961b2 100644
--- a/developer/src/kmc-ldml/src/compiler/layr.ts
+++ b/developer/src/kmc-ldml/src/compiler/layr.ts
@@ -20,18 +20,26 @@ export class LayrCompiler extends SectionCompiler {
let valid = true;
let totalLayerCount = 0;
let hardwareLayers = 0;
- let touchLayers = 0;
+ let touchLayerCount = 0;
+ let hasNullDeviceWidth = false;
const deviceWidths = new Set();
this.keyboard3.layers?.forEach((layers) => {
const { formId } = layers;
if (formId === 'touch') {
- touchLayers++;
+ touchLayerCount++;
totalLayerCount += layers.layer?.length;
const { minDeviceWidth } = layers;
- if (!minDeviceWidth ||
+ if (minDeviceWidth === undefined || minDeviceWidth === null) {
+ if(hasNullDeviceWidth) {
+ this.callbacks.reportMessage(LdmlCompilerMessages.Hint_MultipleTouchFormsWithoutMinDeviceWidth(layers));
+ }
+ hasNullDeviceWidth = true;
+ } else if (
+ (typeof minDeviceWidth === 'string' && (minDeviceWidth).trim() === '') ||
+ Number.isNaN(Number(minDeviceWidth)) ||
minDeviceWidth < constants.layr_min_minDeviceWidth ||
- minDeviceWidth > constants.layr_max_minDeviceWidth ||
- Number.isNaN(Number(minDeviceWidth))) {
+ minDeviceWidth > constants.layr_max_minDeviceWidth
+ ) {
valid = false;
this.callbacks.reportMessage(LdmlCompilerMessages.Error_InvalidLayerWidth({minDeviceWidth}, layers));
} else if (deviceWidths.has(minDeviceWidth)) {
@@ -40,6 +48,17 @@ export class LayrCompiler extends SectionCompiler {
} else {
deviceWidths.add(minDeviceWidth);
}
+ // For touch layers, id attr must exist, and modifiers attribute should not
+ layers.layer.forEach(layer => {
+ if(typeof layer.id === 'undefined') {
+ this.callbacks.reportMessage(LdmlCompilerMessages.Error_TouchLayerRequiresId({minDeviceWidth}, layer));
+ valid = false;
+ }
+ if(typeof layer.modifiers !== 'undefined') {
+ this.callbacks.reportMessage(LdmlCompilerMessages.Hint_TouchLayerHasModifiers({minDeviceWidth, id: layer.id}, layer));
+ }
+ totalLayerCount++;
+ });
} else {
// hardware
hardwareLayers++;
@@ -47,15 +66,22 @@ export class LayrCompiler extends SectionCompiler {
valid = false;
this.callbacks.reportMessage(LdmlCompilerMessages.Error_ExcessHardware({formId}, layers));
}
+ layers.layer.forEach(layer => {
+ const { modifiers } = layer;
+ if(typeof modifiers === 'undefined' || modifiers == '') {
+ this.callbacks.reportMessage(LdmlCompilerMessages.Error_HardwareLayerRequiresModifiers({ formId }, layer));
+ valid = false;
+ }
+ else if (!validModifier(modifiers)) {
+ this.callbacks.reportMessage(LdmlCompilerMessages.Error_InvalidModifier({ modifiers }, layer));
+ valid = false;
+ }
+ if(typeof layer.id !== 'undefined') {
+ this.callbacks.reportMessage(LdmlCompilerMessages.Hint_HardwareLayerHasId({formId, id: layer.id}, layer));
+ }
+ totalLayerCount++;
+ });
}
- layers.layer.forEach((layer) => {
- const { modifiers } = layer;
- totalLayerCount++;
- if (!validModifier(modifiers)) {
- this.callbacks.reportMessage(LdmlCompilerMessages.Error_InvalidModifier({ modifiers }, layer));
- valid = false;
- }
- });
});
if (totalLayerCount === 0) { // TODO-LDML: does not validate touch layers yet
// no layers seen anywhere
diff --git a/developer/src/kmc-ldml/src/compiler/ldml-compiler-messages.ts b/developer/src/kmc-ldml/src/compiler/ldml-compiler-messages.ts
index 1f879f475b..88c92f7e21 100644
--- a/developer/src/kmc-ldml/src/compiler/ldml-compiler-messages.ts
+++ b/developer/src/kmc-ldml/src/compiler/ldml-compiler-messages.ts
@@ -40,7 +40,7 @@ export class LdmlCompilerMessages {
static ERROR_KeyNotFoundInKeyBag = SevError | 0x0005;
static Error_KeyNotFoundInKeyBag = (o: { keyId: string, col: number, row: number, layer: string, form: string }, compileContext?: ObjectWithCompileContext) => mx(
this.ERROR_KeyNotFoundInKeyBag, compileContext,
- `Key '${def(o.keyId)}' in position #${def(o.col)} on row #${def(o.row)} of layer ${def(o.layer)}, form '${def(o.form)}' not found in key bag`,
+ `Key '${def(o.keyId)}' in position #${def(o.col)} on row #${def(o.row)} of layer '${def(o.layer)}', form '${def(o.form)}' not found in key bag`,
);
static HINT_OneOrMoreRepeatedLocales = SevHint | 0x0006;
@@ -277,7 +277,7 @@ export class LdmlCompilerMessages {
);
static ERROR_InvalidLayerWidth = SevError | 0x002D;
- static Error_InvalidLayerWidth = (o: { minDeviceWidth: number }, compileContext?: ObjectWithCompileContext) => mx(
+ static Error_InvalidLayerWidth = (o: { minDeviceWidth: number | string }, compileContext?: ObjectWithCompileContext) => mx(
this.ERROR_InvalidLayerWidth, compileContext,
`Invalid Layers minDeviceWidth=${def(o.minDeviceWidth)}`,
`Width must be between 1-999 (millimeters), inclusive.` // sync with layr_max_minDeviceWidth / layr_max_maxDeviceWidth (from spec)
@@ -292,6 +292,50 @@ export class LdmlCompilerMessages {
`**Hint**: Use "${def(o.recommended)}"`,
);
+ static ERROR_TouchLayerRequiresId = SevError | 0x0031;
+ static Error_TouchLayerRequiresId = (o: { minDeviceWidth: number }, compileContext?: ObjectWithCompileContext) => mx(
+ this.ERROR_TouchLayerRequiresId, compileContext,
+ `Layer for touch form with minDeviceWidth=${def(o.minDeviceWidth)} requires an "id" attribute`, `
+ Touch layers must have an \`id\` attribute, but should not have a \`modifiers\`
+ attribute, and conversely, hardware layers must have a \`modifiers\` attribute
+ and should not have an \`id\` attribute.
+ `);
+
+ static HINT_TouchLayerHasModifiers = SevHint | 0x0032;
+ static Hint_TouchLayerHasModifiers = (o: { minDeviceWidth: number, id: string }, compileContext?: ObjectWithCompileContext) => mx(
+ this.HINT_TouchLayerHasModifiers, compileContext,
+ `Touch layer with id "${def(o.id)}" for touch form with minDeviceWidth=${def(o.minDeviceWidth)} should not have a "modifiers" attribute`, `
+ Touch layers must have an \`id\` attribute, but should not have a \`modifiers\`
+ attribute, and conversely, hardware layers must have a \`modifiers\` attribute
+ and should not have an \`id\` attribute.
+ `);
+
+ static HINT_HardwareLayerHasId = SevHint | 0x0033;
+ static Hint_HardwareLayerHasId = (o: { formId: string, id: string }, compileContext?: ObjectWithCompileContext) => mx(
+ this.HINT_HardwareLayerHasId, compileContext,
+ `Layer for hardware form "${def(o.formId)}" should not have an "id" attribute (currently "${def(o.id)}")`, `
+ Touch layers must have an \`id\` attribute, but should not have a \`modifiers\`
+ attribute, and conversely, hardware layers must have a \`modifiers\` attribute
+ and should not have an \`id\` attribute.
+ `);
+
+ static ERROR_HardwareLayerRequiresModifiers = SevError | 0x0034;
+ static Error_HardwareLayerRequiresModifiers = (o: { formId: string }, compileContext?: ObjectWithCompileContext) => mx(
+ this.ERROR_HardwareLayerRequiresModifiers, compileContext,
+ `Layers for hardware form "${def(o.formId)}" require a "modifiers" attribute`, `
+ Touch layers must have an \`id\` attribute, but should not have a \`modifiers\`
+ attribute, and conversely, hardware layers must have a \`modifiers\` attribute
+ and should not have an \`id\` attribute.
+ `);
+
+ static HINT_MultipleTouchFormsWithoutMinDeviceWidth = SevHint | 0x0035;
+ static Hint_MultipleTouchFormsWithoutMinDeviceWidth = (compileContext?: ObjectWithCompileContext) => mx(
+ this.HINT_MultipleTouchFormsWithoutMinDeviceWidth, compileContext,
+ `When multiple touch forms are present, 'minDeviceWidth' is required to differentiate them`, `
+ Touch forms are differentiated by their minimum device width, so when there is
+ more than one, at most one form may omit the \`minDeviceWidth\` attribute.
+ `);
+
//
// Transform syntax errors begin at ...F00 (SevErrorTransform)
diff --git a/developer/src/kmc-ldml/src/compiler/visual-keyboard-compiler.ts b/developer/src/kmc-ldml/src/compiler/visual-keyboard-compiler.ts
index 480ac5add5..c299939886 100644
--- a/developer/src/kmc-ldml/src/compiler/visual-keyboard-compiler.ts
+++ b/developer/src/kmc-ldml/src/compiler/visual-keyboard-compiler.ts
@@ -8,6 +8,7 @@
import { ModifierKeyConstants, KMXPlus, VisualKeyboard } from "@keymanapp/common-types";
import { CompilerCallbacks } from "@keymanapp/developer-utils";
import { LdmlCompilerMessages } from "./ldml-compiler-messages.js";
+import { modifiersToString } from "../util/util.js";
// This is a partial polyfill for findLast, so not polluting Array.prototype
// https://medium.com/@stheodorejohn/findlast-method-polyfill-in-javascript-bridging-browser-gaps-c3baf6aabae1
@@ -93,7 +94,7 @@ export class LdmlKeyboardVisualKeyboardCompiler {
layer: KMXPlus.LayrEntry,
hardware: string,
) {
- const layerId = layer.id.value;
+ const layerId = layer.id.value ?? modifiersToString(layer.mod); // used only for reference in error messages
hardware = 'us'; // TODO-LDML: US Only. We need to clean this up for other hardware forms
diff --git a/developer/src/kmc-ldml/src/util/serialize.ts b/developer/src/kmc-ldml/src/util/serialize.ts
index 2a7391d0c6..663304a0ae 100644
--- a/developer/src/kmc-ldml/src/util/serialize.ts
+++ b/developer/src/kmc-ldml/src/util/serialize.ts
@@ -183,7 +183,7 @@ export function kmxToXml(kmx: KMXPlus.KMXPlusFile): string {
return {
layers: layr.lists.map(({ hardware, minDeviceWidth, layers }) => ({
...stringToAttr('formId', hardware),
- ...numberToAttr('minDeviceWidth', minDeviceWidth),
+ ...numberToAttr('minDeviceWidth', minDeviceWidth === 0 ? undefined : minDeviceWidth),
layer: layers.map(({ id, mod, rows }) => ({
...stringToAttr('id', id),
...asAttr('modifiers', modToString(mod)),
diff --git a/developer/src/kmc-ldml/src/util/util.ts b/developer/src/kmc-ldml/src/util/util.ts
index 316e8bd5d7..6bb977bde0 100644
--- a/developer/src/kmc-ldml/src/util/util.ts
+++ b/developer/src/kmc-ldml/src/util/util.ts
@@ -164,6 +164,15 @@ export function translateLayerAttrToModifier(layer: LDMLKeyboard.LKLayer) : numb
return modifiers.split(',').map(m => translateModifierSubsetToLayer(m)).sort();
}
+export function modifiersToString(modifiers: number) : string {
+ if (!modifiers) return 'none';
+ const result: string[] = [];
+ for(const mod of constants.keys_mod_map) {
+ if(mod[1] != constants.keys_mod_none && modifiers & mod[1]) result.push(mod[0]);
+ }
+ return result.join(' ');
+}
+
function translateModifierSubsetToLayer(modifiers: string) : number {
// TODO-LDML: Default #11072
if (modifiers) {
@@ -186,7 +195,7 @@ function translateModifierSubsetToLayer(modifiers: string) : number {
* @returns true if valid
*/
export function validModifier(modifier?: string) : boolean {
- if (!modifier) return true; // valid to have no modifier, == none
+ if (!modifier) return false; // hardware layer must have a modifier
// TODO-LDML: enforce illegal combinations per spec.
for (const sub of modifier.trim().split(',')) {
for (const str of sub.trim().split(' ')) {
diff --git a/developer/src/kmc-ldml/test/fixtures/basic-serialized.xml b/developer/src/kmc-ldml/test/fixtures/basic-serialized.xml
index aa570fd6f0..67ab074ba1 100644
--- a/developer/src/kmc-ldml/test/fixtures/basic-serialized.xml
+++ b/developer/src/kmc-ldml/test/fixtures/basic-serialized.xml
@@ -11,7 +11,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/basic.txt b/developer/src/kmc-ldml/test/fixtures/basic.txt
index 81748b400e..f8b75a2082 100644
--- a/developer/src/kmc-ldml/test/fixtures/basic.txt
+++ b/developer/src/kmc-ldml/test/fixtures/basic.txt
@@ -12,7 +12,7 @@
#
# cd developer/src/kmc
# ./build.sh configure build # if needed
-# ./build.sh build-fixtures
+# ./build.sh fixtures-build
#
# This will compile both the .xml and the .txt to build/test/fixtures and also emit the
# checksum for basic-xml.kmx so you can patch that into this file.
@@ -408,7 +408,7 @@ block(layr) # struct COMP_KMXPLUS_LAYR {
index(strNull,strUs,2) # KMXPLUS_STR hardware = 'us'
00 00 00 00 # KMX_DWORD layer;
01 00 00 00 # count
- 7B 00 00 00 # KMX_DWORD minDeviceWidth; // 123
+ 00 00 00 00 # KMX_DWORD minDeviceWidth; // 0
# layers 0
00 00 00 00 # KMXPLUS_STR id;
00 00 00 00 # KMX_DWORD mod
diff --git a/developer/src/kmc-ldml/test/fixtures/basic.xml b/developer/src/kmc-ldml/test/fixtures/basic.xml
index 168ee0ef9a..0fa7dc77a8 100644
--- a/developer/src/kmc-ldml/test/fixtures/basic.xml
+++ b/developer/src/kmc-ldml/test/fixtures/basic.xml
@@ -23,8 +23,7 @@
-
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/escaped.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/escaped.xml
index 99f9609d21..a3f5dd423c 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/escaped.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/escaped.xml
@@ -30,11 +30,11 @@
-
+
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/escaped2.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/escaped2.xml
index 20991504b7..e4451484fe 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/escaped2.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/escaped2.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/gap-switch.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/gap-switch.xml
index a22eb6dc8e..d76717f50b 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/gap-switch.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/gap-switch.xml
@@ -11,11 +11,11 @@
-
+
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware.xml
index c793eefa4e..8e5ebdbd7e 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware.xml
@@ -11,11 +11,11 @@
-
+
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware_iso.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware_iso.xml
index 1d2d53aa13..227bfbca35 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware_iso.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware_iso.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware_us.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware_us.xml
index 0c4a0ee78a..77fa794f4f 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware_us.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/hardware_us.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/import-local.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/import-local.xml
index c3ef2b3ef6..10050d36c0 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/import-local.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/import-local.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-hardware-too-many-keys.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-hardware-too-many-keys.xml
index 6255e04d55..202da83207 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-hardware-too-many-keys.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-hardware-too-many-keys.xml
@@ -22,7 +22,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-hardware-too-many-rows.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-hardware-too-many-rows.xml
index a80f26e39c..767de7acad 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-hardware-too-many-rows.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-hardware-too-many-rows.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-key-missing-attrs.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-key-missing-attrs.xml
index 0dec7a50fc..71e2446bf3 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-key-missing-attrs.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-key-missing-attrs.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-missing-flick.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-missing-flick.xml
index d5ea11be31..8d474f5f69 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-missing-flick.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-missing-flick.xml
@@ -12,7 +12,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-key.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-key.xml
index 6417058b5c..71c9fdb7df 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-key.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-key.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-var-1.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-var-1.xml
index d679a35421..a0466969bc 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-var-1.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-var-1.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-var-1b.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-var-1b.xml
index 384babd70c..fb329cc738 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-var-1b.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-undefined-var-1b.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/many-modifiers.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/many-modifiers.xml
index 5c380cd737..85e84d3a1f 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/many-modifiers.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/many-modifiers.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/markers.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/markers.xml
index 2f5183600e..09c06cd9f6 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/markers.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/markers.xml
@@ -17,7 +17,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/maximal-nfc.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/maximal-nfc.xml
index c7c6dccd71..ea7507cddc 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/maximal-nfc.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/maximal-nfc.xml
@@ -38,11 +38,11 @@
-
+
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/maximal.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/maximal.xml
index b7c5ade4bc..deceff6a21 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/maximal.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/maximal.xml
@@ -36,11 +36,11 @@
-
+
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/minimal.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/minimal.xml
index f670d95d4f..7227fcf8a9 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/minimal.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/minimal.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/warn-no-keycap.xml b/developer/src/kmc-ldml/test/fixtures/sections/keys/warn-no-keycap.xml
index 6d0cf23f5b..f28da4fd57 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/warn-no-keycap.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/keys/warn-no-keycap.xml
@@ -20,7 +20,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-.xml
new file mode 100644
index 0000000000..ede584dc28
--- /dev/null
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-0.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-0.xml
index 3054afceb7..bd3a58112a 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-0.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-0.xml
@@ -8,7 +8,7 @@
-
+
@@ -19,7 +19,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-1024.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-1024.xml
index d1d34b598f..08796be62d 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-1024.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-1024.xml
@@ -8,7 +8,7 @@
-
+
@@ -19,7 +19,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-1500.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-1500.xml
index 5000e27304..2e101fdd03 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-1500.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-1500.xml
@@ -8,11 +8,11 @@
-
+
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-x.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-x.xml
index fec6f8d26f..6106e9ab42 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-x.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-bad-width-x.xml
@@ -8,11 +8,11 @@
-
+
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-custom-us-form.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-custom-us-form.xml
index 3a242dddfd..9195dd6d98 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-custom-us-form.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-custom-us-form.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-custom-zzz-form.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-custom-zzz-form.xml
index b1ca16c5a1..cd5a044a10 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-custom-zzz-form.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-custom-zzz-form.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-dup-width.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-dup-width.xml
index 695e2dbde0..af69e2b205 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-dup-width.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-dup-width.xml
@@ -8,7 +8,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-hardware-layer-requires-modifiers.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-hardware-layer-requires-modifiers.xml
new file mode 100644
index 0000000000..9b77333ca8
--- /dev/null
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-hardware-layer-requires-modifiers.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/error-touch-layer-requires-id.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-touch-layer-requires-id.xml
new file mode 100644
index 0000000000..3030c58eaa
--- /dev/null
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/error-touch-layer-requires-id.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/hint-hardware-layer-has-id.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/hint-hardware-layer-has-id.xml
new file mode 100644
index 0000000000..1065e04c94
--- /dev/null
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/hint-hardware-layer-has-id.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/hint-multiple-touch-forms-without-min-device-width.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/hint-multiple-touch-forms-without-min-device-width.xml
new file mode 100644
index 0000000000..dbf66bece9
--- /dev/null
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/hint-multiple-touch-forms-without-min-device-width.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/hint-touch-layer-has-modifiers.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/hint-touch-layer-has-modifiers.xml
new file mode 100644
index 0000000000..1f38e43df6
--- /dev/null
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/hint-touch-layer-has-modifiers.xml
@@ -0,0 +1,22 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-bad-modifier.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-bad-modifier.xml
similarity index 75%
rename from developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-bad-modifier.xml
rename to developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-bad-modifier.xml
index 29a2ba7b73..fcb72da392 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/keys/invalid-bad-modifier.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-bad-modifier.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-invalid-form.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-invalid-form.xml
index c15dac8c26..8d8e91f83f 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-invalid-form.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-invalid-form.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-multi-hardware.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-multi-hardware.xml
index 7d3df0cb34..2a358ffdd8 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-multi-hardware.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/invalid-multi-hardware.xml
@@ -1,6 +1,6 @@
-
+
@@ -9,14 +9,14 @@
-
+
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/multiple-forms-one-without-min-device-width.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/multiple-forms-one-without-min-device-width.xml
new file mode 100644
index 0000000000..e89c59610b
--- /dev/null
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/multiple-forms-one-without-min-device-width.xml
@@ -0,0 +1,29 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/row-keys-whitespace.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/row-keys-whitespace.xml
index f8d1a629d5..c69c74085c 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/row-keys-whitespace.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/row-keys-whitespace.xml
@@ -9,7 +9,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/warn-custom-us-form.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/warn-custom-us-form.xml
index ace1485521..e80e0624b6 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/warn-custom-us-form.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/warn-custom-us-form.xml
@@ -16,7 +16,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/layr/warn-custom-zzz-form.xml b/developer/src/kmc-ldml/test/fixtures/sections/layr/warn-custom-zzz-form.xml
index 52c6e3a2e9..869db7789c 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/layr/warn-custom-zzz-form.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/layr/warn-custom-zzz-form.xml
@@ -14,7 +14,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/strs/hint-pua.xml b/developer/src/kmc-ldml/test/fixtures/sections/strs/hint-pua.xml
index 9ce063580b..c4cb6c80e3 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/strs/hint-pua.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/strs/hint-pua.xml
@@ -20,8 +20,8 @@
-
-
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/strs/invalid-illegal.xml b/developer/src/kmc-ldml/test/fixtures/sections/strs/invalid-illegal.xml
index 3eddaffdee..270843453d 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/strs/invalid-illegal.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/strs/invalid-illegal.xml
@@ -21,7 +21,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-1.xml b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-1.xml
index 49cd61d358..6fa23ddd0d 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-1.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-1.xml
@@ -9,8 +9,8 @@
-
-
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-2.xml b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-2.xml
index ec001db768..4a49747916 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-2.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-2.xml
@@ -13,8 +13,8 @@
-
-
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-3.xml b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-3.xml
index a40c119099..1cd994d26d 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-3.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-3.xml
@@ -17,8 +17,8 @@
-
-
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-4.xml b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-4.xml
index cf443c61fe..f4aec7ea42 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-4.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-denorm-4.xml
@@ -11,8 +11,8 @@
-
-
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-unassigned.xml b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-unassigned.xml
index fa21ebe28c..f009aeb1aa 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-unassigned.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/strs/warn-unassigned.xml
@@ -20,8 +20,8 @@
-
-
+
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/tran/fail-bad-tran-2.xml b/developer/src/kmc-ldml/test/fixtures/sections/tran/fail-bad-tran-2.xml
index 24d904f7f2..51d579f2f0 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/tran/fail-bad-tran-2.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/tran/fail-bad-tran-2.xml
@@ -7,7 +7,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/fixtures/sections/tran/tran-escape.xml b/developer/src/kmc-ldml/test/fixtures/sections/tran/tran-escape.xml
index c4f7872587..6fc85562c1 100644
--- a/developer/src/kmc-ldml/test/fixtures/sections/tran/tran-escape.xml
+++ b/developer/src/kmc-ldml/test/fixtures/sections/tran/tran-escape.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/developer/src/kmc-ldml/test/helpers/index.ts b/developer/src/kmc-ldml/test/helpers/index.ts
index be6216f9c1..2b424fb1c1 100644
--- a/developer/src/kmc-ldml/test/helpers/index.ts
+++ b/developer/src/kmc-ldml/test/helpers/index.ts
@@ -9,7 +9,7 @@ import { fileURLToPath } from 'url';
import { SectionCompiler, SectionCompilerNew } from '../../src/compiler/section-compiler.js';
import { util, KMXPlus, LdmlKeyboardTypes } from '@keymanapp/common-types';
import { CompilerEvent, compilerEventFormat, CompilerCallbacks, LDMLKeyboardXMLSourceFileReader, LDMLKeyboardTestDataXMLSourceFile, LDMLKeyboard, CompilerError } from "@keymanapp/developer-utils";
-import { LdmlKeyboardCompiler } from '../../src/main.js'; // make sure main.js compiles
+import { LdmlCompilerMessages, LdmlKeyboardCompiler } from '../../src/main.js'; // make sure main.js compiles
import { assert } from 'chai';
import { KMXPlusMetadataCompiler } from '../../src/compiler/metadata-compiler.js';
import { LdmlCompilerOptions } from '../../src/compiler/ldml-compiler-options.js';
@@ -20,7 +20,7 @@ import LDMLKeyboardXMLSourceFile = LDMLKeyboard.LDMLKeyboardXMLSourceFile;
import DependencySections = KMXPlus.DependencySections;
import Section = KMXPlus.Section;
import { ElemCompiler, ListCompiler, StrsCompiler } from '../../src/compiler/empty-compiler.js';
-import { KmnCompiler } from '@keymanapp/kmc-kmn';
+import { KmnCompiler, KmnCompilerMessages } from '@keymanapp/kmc-kmn';
import { VarsCompiler } from '../../src/compiler/vars.js';
/**
@@ -279,6 +279,18 @@ export function scrubContextFromMessages(messages: CompilerEvent[]): CompilerEve
});
}
+function messagesToString(messages?: CompilerEventOrMatch[]) {
+ return messages?.length
+ ? messages
+ .map(message =>
+ Object.keys(LdmlCompilerMessages).find(key => (LdmlCompilerMessages)[key] === message.code) ??
+ Object.keys(KmnCompilerMessages).find(key => (KmnCompilerMessages)[key] === message.code) ??
+ 'unknown message'
+ )
+ .join(', ')
+ : 'unknown';
+}
+
/**
* Run a bunch of cases
* @param cases cases to run
@@ -290,8 +302,14 @@ export function testCompilationCases(compiler: SectionCompilerNew, cases : Compi
const callbacks = new TestCompilerCallbacks();
for (const testcase of cases) {
const expectFailure = testcase.throws || !!(testcase.errors); // if true, we expect this to fail
- const testHeading = expectFailure ? `should fail to compile: ${testcase.subpath}`:
- `should compile: ${testcase.subpath}`;
+ const testHeading = `${testcase.subpath}: ` + (
+ testcase.throws ? `should fail to compile with an exception` :
+ typeof testcase.errors === 'boolean' ? `should fail to compile with errors` :
+ testcase.errors?.length ? `should fail to compile with errors: ${messagesToString(testcase.errors)}` :
+ testcase.warnings?.length ? `should compile with hints or warnings: ${messagesToString(testcase.warnings)}` :
+ 'should compile without hints, warnings, or errors'
+ );
+
it(testHeading, async function () {
callbacks.clear();
// special case for an expected exception
diff --git a/developer/src/kmc-ldml/test/keys.tests.ts b/developer/src/kmc-ldml/test/keys.tests.ts
index 97171cf6fc..ef8138bd26 100644
--- a/developer/src/kmc-ldml/test/keys.tests.ts
+++ b/developer/src/kmc-ldml/test/keys.tests.ts
@@ -309,12 +309,6 @@ describe('keys.kmap', function () {
]);
},
},
- {
- subpath: 'sections/keys/invalid-bad-modifier.xml',
- errors: [
- LdmlCompilerMessages.Error_InvalidModifier({ modifiers: 'altR-shift' }),
- ]
- },
{
subpath: 'sections/keys/invalid-missing-flick.xml',
errors: [
@@ -458,7 +452,7 @@ describe('keys.kmap', function () {
assert.isNull(keys);
assert.equal(compilerTestCallbacks.messages.length, 1);
- assert.deepEqual(compilerTestCallbacks.messages[0], LdmlCompilerMessages.Error_RowOnHardwareLayerHasTooManyKeys({ row: 1, hardware: 'us', modifiers: 'none' }, withOffset(785) as LDMLKeyboard.LKRow));
+ assert.deepEqual(compilerTestCallbacks.messages[0], LdmlCompilerMessages.Error_RowOnHardwareLayerHasTooManyKeys({ row: 1, hardware: 'us', modifiers: 'none' }, withOffset(792) as LDMLKeyboard.LKRow));
});
it('should reject layouts with undefined keys', async function() {
@@ -466,7 +460,7 @@ describe('keys.kmap', function () {
assert.isNull(keys);
assert.equal(compilerTestCallbacks.messages.length, 1);
- assert.deepEqual(compilerTestCallbacks.messages[0], LdmlCompilerMessages.Error_KeyNotFoundInKeyBag({col: 1, form: 'hardware', keyId: 'foo', layer: 'base', row: 1}, withOffset(271) as LDMLKeyboard.LKRow));
+ assert.deepEqual(compilerTestCallbacks.messages[0], LdmlCompilerMessages.Error_KeyNotFoundInKeyBag({col: 1, form: 'hardware', keyId: 'foo', layer: 'none', row: 1}, withOffset(278) as LDMLKeyboard.LKRow));
});
it('should reject layouts with invalid keys', async function() {
const keys = await loadSectionFixture(KeysCompiler, 'sections/keys/invalid-key-missing-attrs.xml', compilerTestCallbacks, keysDependencies) as Keys;
diff --git a/developer/src/kmc-ldml/test/layr.tests.ts b/developer/src/kmc-ldml/test/layr.tests.ts
index 64e4a3d373..6d8918089c 100644
--- a/developer/src/kmc-ldml/test/layr.tests.ts
+++ b/developer/src/kmc-ldml/test/layr.tests.ts
@@ -41,7 +41,7 @@ describe('layr', function () {
assert.ok(row0);
assert.equal(row0.keys.length, 2);
- assert.equal(layer0.id.value, 'base');
+ assert.equal(layer0.id.value, '');
assert.equal(layer0.mod, constants.keys_mod_none);
assert.equal(row0.keys[0]?.value, 'grave');
},
@@ -58,7 +58,7 @@ describe('layr', function () {
assert.equal(listHardware.layers.length, 2);
const hardware0 = listHardware.layers[0];
assert.ok(hardware0);
- assert.equal(hardware0.id.value, 'base');
+ assert.equal(hardware0.id.value, '');
assert.equal(hardware0.mod, constants.keys_mod_none);
const hardware0row0 = hardware0.rows[0];
assert.ok(hardware0row0);
@@ -67,7 +67,7 @@ describe('layr', function () {
const hardware1 = listHardware.layers[1];
assert.ok(hardware1);
assert.equal(hardware1.rows.length, 1);
- assert.equal(hardware1.id.value, 'shift');
+ assert.equal(hardware1.id.value, '');
assert.equal(hardware1.mod, constants.keys_mod_shift);
const hardware1row0 = hardware1.rows[0];
assert.ok(hardware1row0);
@@ -94,7 +94,7 @@ describe('layr', function () {
errors: [],
},
{
- subpath: 'sections/keys/invalid-bad-modifier.xml',
+ subpath: 'sections/layr/invalid-bad-modifier.xml',
errors: [
LdmlCompilerMessages.Error_InvalidModifier({
modifiers: 'altR-shift',
@@ -130,7 +130,7 @@ describe('layr', function () {
]));
assert.sameDeepMembers(bymod, [
// flatten the layers for comparison, assume a single key
- ['base', constants.keys_mod_none, 'a'],
+ ['', constants.keys_mod_none, 'a'],
['', constants.keys_mod_altR, 'c'],
['', constants.keys_mod_ctrl | constants.keys_mod_shift, 'c'],
]);
@@ -157,7 +157,7 @@ describe('layr', function () {
const layer0 = list0.layers[0];
assert.ok(layer0);
assert.equal(layer0.rows.length, 2);
- assert.equal(layer0.id.value, 'base');
+ assert.equal(layer0.id.value, '');
assert.equal(layer0.mod, constants.keys_mod_none);
for(const row of layer0.rows) {
assert.ok(row);
@@ -173,12 +173,45 @@ describe('layr', function () {
LdmlCompilerMessages.Error_DuplicateLayerWidth({ minDeviceWidth: 120}),
]
},
- ...[0, 1024, 1500, `x` as unknown as number].map(minDeviceWidth => ({
+ {
+ subpath: 'sections/layr/hint-multiple-touch-forms-without-min-device-width.xml',
+ warnings: [
+ LdmlCompilerMessages.Hint_MultipleTouchFormsWithoutMinDeviceWidth(),
+ ]
+ },
+ {
+ subpath: 'sections/layr/multiple-forms-one-without-min-device-width.xml',
+ },
+ ...[0, 1024, 1500, `x`, ``].map(minDeviceWidth => ({
subpath: `sections/layr/error-bad-width-${minDeviceWidth}.xml`,
errors: [
//
LdmlCompilerMessages.Error_InvalidLayerWidth({ minDeviceWidth }),
]
})),
+ {
+ subpath: 'sections/layr/error-touch-layer-requires-id.xml',
+ errors: [
+ LdmlCompilerMessages.Error_TouchLayerRequiresId({ minDeviceWidth: 120}),
+ ]
+ },
+ {
+ subpath: 'sections/layr/error-hardware-layer-requires-modifiers.xml',
+ errors: [
+ LdmlCompilerMessages.Error_HardwareLayerRequiresModifiers({ formId: 'us' }),
+ ]
+ },
+ {
+ subpath: 'sections/layr/hint-touch-layer-has-modifiers.xml',
+ warnings: [ // hints grouped under warnings
+ LdmlCompilerMessages.Hint_TouchLayerHasModifiers({id: 'base', minDeviceWidth: 120}),
+ ]
+ },
+ {
+ subpath: 'sections/layr/hint-hardware-layer-has-id.xml',
+ warnings: [ // hints grouped under warnings
+ LdmlCompilerMessages.Hint_HardwareLayerHasId({formId: 'iso', id: 'base'}),
+ ]
+ },
]);
});
diff --git a/developer/src/kmc-ldml/test/linter.tests.ts b/developer/src/kmc-ldml/test/linter.tests.ts
index cd122840e8..21d5c723ad 100644
--- a/developer/src/kmc-ldml/test/linter.tests.ts
+++ b/developer/src/kmc-ldml/test/linter.tests.ts
@@ -7,10 +7,16 @@ import { LdmlCompilerMessages } from '../src/compiler/ldml-compiler-messages.js'
describe('linter-tests', function() {
this.slow(500); // 0.5 sec -- json schema validation takes a while
- before(function() {
+ this.beforeEach(function() {
compilerTestCallbacks.clear();
});
+ this.afterEach(function() {
+ if(this.currentTest.isFailed()) {
+ compilerTestCallbacks.printMessages();
+ }
+ });
+
it('should warn on mark keys with no display', async function () {
// unassigned not implemented yet
const inputFilename = makePathToFixture('sections/keys/warn-no-keycap.xml');
diff --git a/developer/src/kmc-ldml/test/utils.tests.ts b/developer/src/kmc-ldml/test/utils.tests.ts
index 5b5a102f43..d59ceffd87 100644
--- a/developer/src/kmc-ldml/test/utils.tests.ts
+++ b/developer/src/kmc-ldml/test/utils.tests.ts
@@ -224,11 +224,11 @@ describe('test of util/util.ts', () => {
});
});
describe('isValidModifier()', () => {
- it('should treat falsy values as valid', () => {
+ it('should treat falsy values as invalid', () => {
for(const str of [
- null, undefined, '', 'none'
+ null, undefined, ''
]) {
- assert.ok(validModifier(str), `validModifier(${JSON.stringify(str)})`);
+ assert.notOk(validModifier(str), `validModifier(${JSON.stringify(str)})`);
}
});
it('should treat bad values as invalid', () => {
diff --git a/developer/src/kmc-ldml/test/visual-keyboard-compiler.tests.ts b/developer/src/kmc-ldml/test/visual-keyboard-compiler.tests.ts
index a6f0de9250..9155685618 100644
--- a/developer/src/kmc-ldml/test/visual-keyboard-compiler.tests.ts
+++ b/developer/src/kmc-ldml/test/visual-keyboard-compiler.tests.ts
@@ -18,6 +18,16 @@ import { LdmlKeyboardCompiler } from '../src/main.js';
describe('visual-keyboard-compiler', function() {
this.slow(500); // 0.5 sec -- json schema validation takes a while
+ this.beforeEach(function() {
+ compilerTestCallbacks.clear();
+ });
+
+ this.afterEach(function() {
+ if(this.currentTest.isFailed()) {
+ compilerTestCallbacks.printMessages();
+ }
+ });
+
it('should build fixtures', async function() {
// Let's build basic.xml
diff --git a/developer/src/kmc/src/commands/build.ts b/developer/src/kmc/src/commands/build.ts
index 7e21f99f9c..4dc92ecc16 100644
--- a/developer/src/kmc/src/commands/build.ts
+++ b/developer/src/kmc/src/commands/build.ts
@@ -1,3 +1,8 @@
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ *
+ * Implementation of the `kmc build` command
+ */
import * as fs from 'fs';
import * as path from 'path';
import { Command } from 'commander';
@@ -13,7 +18,12 @@ import { isProject } from '../util/projectLoader.js';
import { buildTestData } from './buildTestData/index.js';
import { buildWindowsPackageInstaller } from './buildWindowsPackageInstaller/index.js';
import { commanderOptionsToCompilerOptions } from '../util/extendedCompilerOptions.js';
-import { exitProcess } from '../util/sysexits.js';
+import { exitProcess, SysExits } from '../util/sysexits.js';
+
+interface OutFileSpecification {
+ isFolder?: boolean;
+ path?: string;
+};
export function declareBuild(program: Command) {
// TODO: localization?
@@ -28,7 +38,8 @@ export function declareBuild(program: Command) {
.option('-m, --message ', 'Adjust severity of info, hint or warning message to Disable (default), Info, Hint, Warn or Error (option can be repeated)',
(value, previous) => previous.concat([value]), [])
.option('--no-compiler-version', 'Exclude compiler version metadata from output')
- .option('--no-warn-deprecated-code', 'Turn off warnings for deprecated code styles');
+ .option('--no-warn-deprecated-code', 'Turn off warnings for deprecated code styles')
+ .option('--continue-on-error', 'Continue build of subsequent files even if earlier files have errors');
BuildBaseOptions.addAll(buildCommand);
@@ -92,27 +103,43 @@ async function buildFile(filenames: string[], _options: any, commander: any): Pr
filenames.push('.');
}
- /* c8 ignore next 6 */
- // full test on console log of error message not justified; check with user test recommended
- if(filenames.length > 1 && commanderOptions.outFile) {
- // -o can only be specified with a single input file
- callbacks.reportMessage(InfrastructureMessages.Error_OutFileCanOnlyBeSpecifiedWithSingleInfile());
- return await exitProcess(1);
- }
-
if(!expandFileLists(filenames, callbacks)) {
return await exitProcess(1);
}
+ const spec = interpretOutFile(commanderOptions.outFile, filenames.length, fs.statSync);
+ if(!spec) {
+ callbacks.reportMessage(InfrastructureMessages.Error_OutFileMustBeAFolder());
+ return await exitProcess(1);
+ }
+
+ let result = true;
for(const filename of filenames) {
- if(!await build(filename, commanderOptions.outFile, callbacks, options)) {
- // Once a file fails to build, we bail on subsequent builds
- return await exitProcess(1);
+ const buildResult = await build(filename, spec, callbacks, options);
+ if(!buildResult) {
+ result = false;
+ if(buildResult === null) {
+ // We always die on fatal exceptions
+ return await exitProcess(SysExits.EX_SOFTWARE);
+ }
+ if(!commanderOptions.continueOnError) {
+ // Once a file fails to build, we bail on subsequent builds
+ return await exitProcess(1);
+ }
}
}
+
+ if(!result) {
+ // If any file failed to build, then we return failure,
+ return await exitProcess(1);
+ }
}
-async function build(filename: string, outfile: string, parentCallbacks: NodeCompilerCallbacks, options: CompilerOptions): Promise {
+/**
+ * Build a single file
+ * @returns true on success, false on build failure, null on internal errors
+ */
+async function build(filename: string, outfileSpec: OutFileSpecification, parentCallbacks: NodeCompilerCallbacks, options: CompilerOptions): Promise {
try {
// TEST: allow command-line simulation of infrastructure fatal errors, and
// also for unit tests
@@ -158,6 +185,21 @@ async function build(filename: string, outfile: string, parentCallbacks: NodeCom
const callbacks = new CompilerFileCallbacks(buildFilename, options, parentCallbacks);
callbacks.reportMessage(InfrastructureMessages.Info_BuildingFile({filename:buildFilename, relativeFilename}));
+ let outfile = outfileSpec?.path;
+
+ // Special case for directory outfile - create folder if required
+ if(outfileSpec?.isFolder) {
+ if(!fs.existsSync(outfileSpec.path)) {
+ fs.mkdirSync(outfileSpec.path, { recursive: true });
+ }
+
+ let base = path.basename(filename);
+ if(base.endsWith(builder.sourceExtension)) {
+ base = base.substring(0, base.length - builder.sourceExtension.length) + builder.compiledExtension;
+ }
+ outfile = path.join(outfile, base);
+ }
+
let result = await builder.build(filename, outfile, callbacks, options);
result = result && !callbacks.hasFailureMessage();
if(result) {
@@ -178,13 +220,61 @@ async function build(filename: string, outfile: string, parentCallbacks: NodeCom
return result;
} catch(e) {
parentCallbacks.reportMessage(InfrastructureMessages.Fatal_UnexpectedException({e}));
- return false;
+ return null;
}
}
+/**
+ * Interpret the output filename based on shape of input and filesystem status.
+ *
+ * The output path is treated as a folder if:
+ * (a) more than one input file is specified, or
+ * (b) it ends with a trailing slash or backslash, or
+ * (c) it already exists and is a folder
+ *
+ * @param path
+ * @param inputFilenameCount
+ * @returns null if a regular file is in the way of a folder, otherwise a specification
+ */
+function interpretOutFile(path: string|undefined, inputFilenameCount: number, statSync: (path: fs.PathLike, options?: fs.StatSyncOptions) => {isDirectory?: ()=>boolean}): OutFileSpecification {
+ if(path === null || !inputFilenameCount || inputFilenameCount < 1) {
+ throw new Error('Invalid parameters');
+ }
+
+ const spec: OutFileSpecification = {
+ isFolder: false,
+ path
+ };
+
+ if(!path) {
+ return spec;
+ }
+
+ if(inputFilenameCount > 1 ||
+ (path.endsWith('/') || path.endsWith('\\')) ||
+ statSync(path, {throwIfNoEntry: false})?.isDirectory()) {
+
+ spec.isFolder = true;
+
+ if(path.endsWith('/') || path.endsWith('\\')) {
+ // remove trailing delimiter
+ spec.path = path.substring(0, path.length-1);
+ }
+
+ const stats = statSync(spec.path, {throwIfNoEntry: false});
+ if(stats && !stats.isDirectory()) {
+ // existing file is in the way
+ return null;
+ }
+ }
+
+ return spec;
+}
+
/**
* these are exported only for unit tests, do not use
*/
export const unitTestEndpoints = {
build,
+ interpretOutFile,
};
diff --git a/developer/src/kmc/src/messages/infrastructureMessages.ts b/developer/src/kmc/src/messages/infrastructureMessages.ts
index 338af89073..7a7e8f00bd 100644
--- a/developer/src/kmc/src/messages/infrastructureMessages.ts
+++ b/developer/src/kmc/src/messages/infrastructureMessages.ts
@@ -1,3 +1,6 @@
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ */
import { CompilerError, CompilerErrorNamespace, CompilerErrorSeverity, CompilerMessageSpec as m, CompilerMessageDef as def, CompilerMessageSpecWithException } from "@keymanapp/developer-utils";
const Namespace = CompilerErrorNamespace.Infrastructure;
@@ -88,10 +91,6 @@ export class InfrastructureMessages {
static Hint_ProjectIsVersion10 = () => m(this.HINT_ProjectIsVersion10,
`The project file is an older version and can be upgraded to version 17.0`);
- static ERROR_OutFileCanOnlyBeSpecifiedWithSingleInfile = SevError | 0x0015;
- static Error_OutFileCanOnlyBeSpecifiedWithSingleInfile = () => m(this.ERROR_OutFileCanOnlyBeSpecifiedWithSingleInfile,
- `Parameter --out-file can only be used with a single input file.`);
-
static ERROR_InvalidMessageFormat = SevError | 0x0016;
static Error_InvalidMessageFormat = (o:{message:string}) => m(this.ERROR_InvalidMessageFormat,
`Invalid parameter: --message ${def(o.message)} must match format '[KM]#####[:Disable|Info|Hint|Warn|Error]'`);
@@ -218,5 +217,15 @@ export class InfrastructureMessages {
`${def(o.relativeFilename)} failed to validate.`
)});
+ static ERROR_OutFileMustBeAFolder = SevError | 0x002C;
+ static Error_OutFileMustBeAFolder = () => m(
+ this.ERROR_OutFileMustBeAFolder,
+ `Parameter --out-file must refer to a folder.`, `
+ If multiple input files are specified, or if the parameter --out-file ends
+ with a slash (/) or backslash (\\), or if the folder referenced by the
+ parameter already exists, then kmc will treat the parameter as a folder.
+ However, as a file already exists with the same name, kmc cannot continue.
+ `);
+
}
diff --git a/developer/src/kmc/src/util/baseOptions.ts b/developer/src/kmc/src/util/baseOptions.ts
index f3223238ec..2f5d461744 100644
--- a/developer/src/kmc/src/util/baseOptions.ts
+++ b/developer/src/kmc/src/util/baseOptions.ts
@@ -1,3 +1,9 @@
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ *
+ * Basic options for kmc - shared across commands
+ */
+import * as path from 'node:path';
import { ALL_COMPILER_LOG_FORMATS, ALL_COMPILER_LOG_LEVELS, CompilerLogFormat, CompilerLogLevel } from "@keymanapp/developer-utils";
import { Command, Option } from "commander";
@@ -45,7 +51,7 @@ export class BaseOptions {
export class BuildBaseOptions extends BaseOptions {
public static addOutFile(program: Command) {
- return program.option('-o, --out-file ', 'Override the default path and filename for the output file')
+ return program.option('-o, --out-file ', 'Override default folder and/or filename for the output file; terminate with '+path.sep+' for folder')
}
public static addAll(program: Command) {
diff --git a/developer/src/kmc/src/util/sysexits.ts b/developer/src/kmc/src/util/sysexits.ts
index 7256dd4e77..27a90f4b7c 100644
--- a/developer/src/kmc/src/util/sysexits.ts
+++ b/developer/src/kmc/src/util/sysexits.ts
@@ -7,6 +7,7 @@ import { KeymanSentry } from './KeymanSentry.js';
export const enum SysExits {
EX_USAGE = 64,
EX_DATAERR = 65,
+ EX_SOFTWARE = 70,
};
export async function exitProcess(exitCode?: number): Promise {
diff --git a/developer/src/kmc/test/build.tests.ts b/developer/src/kmc/test/build.tests.ts
index b615c97f49..0abe1446f6 100644
--- a/developer/src/kmc/test/build.tests.ts
+++ b/developer/src/kmc/test/build.tests.ts
@@ -1,12 +1,14 @@
/*
* Keyman is copyright (C) SIL Global. MIT License.
*/
-import { TestCompilerCallbacks } from '@keymanapp/developer-test-helpers';
-import { clearOptions } from '../src/util/options.js';
+import * as fs from 'node:fs';
import { assert } from 'chai';
import 'mocha';
-import { BuildProject } from '../src/commands/buildClasses/BuildProject.js';
+import { TestCompilerCallbacks } from '@keymanapp/developer-test-helpers';
import { makePathToFixture } from './helpers/index.js';
+import { clearOptions } from '../src/util/options.js';
+import { BuildProject } from '../src/commands/buildClasses/BuildProject.js';
+import { unitTestEndpoints } from '../src/commands/build.js';
interface CompilerWarningsAsErrorsTruthTable {
cli: boolean;
@@ -54,3 +56,99 @@ describe('compilerWarningsAsErrors', function () {
});
}
});
+
+describe('interpretOutFile()', function() {
+
+ function statSyncStub(path: fs.PathLike, options?: fs.StatSyncOptions): fs.Stats {
+ if(path === 'does_not_exist') return null;
+ return {
+ isFile: () => !path.toString().startsWith('existing_folder'),
+ isDirectory: () => path.toString().startsWith('existing_folder'),
+ isBlockDevice: () => false,
+ isCharacterDevice: () => false,
+ isSymbolicLink: () => false,
+ isFIFO: () => false,
+ isSocket: () => false,
+ dev: null,
+ ino: null,
+ mode: null,
+ nlink: null,
+ uid: null,
+ gid: null,
+ rdev: null,
+ size: null,
+ blksize: null,
+ blocks: null,
+ atimeMs: null,
+ mtimeMs: null,
+ ctimeMs: null,
+ birthtimeMs: null,
+ atime: null,
+ mtime: null,
+ ctime: null,
+ birthtime: null
+ }
+ }
+
+ it(`should throw with invalid parameters`, function() {
+ assert.throws(() => unitTestEndpoints.interpretOutFile(null, 1, statSyncStub));
+ assert.throws(() => unitTestEndpoints.interpretOutFile(undefined, null, statSyncStub));
+ assert.throws(() => unitTestEndpoints.interpretOutFile(undefined, -1, statSyncStub));
+ assert.throws(() => unitTestEndpoints.interpretOutFile(undefined, 0, statSyncStub));
+ assert.doesNotThrow(() => unitTestEndpoints.interpretOutFile(undefined, 1, statSyncStub));
+ assert.doesNotThrow(() => unitTestEndpoints.interpretOutFile(undefined, 2, statSyncStub));
+ });
+
+ it(`should return undefined path if no path is specified`, function() {
+ const spec1 = unitTestEndpoints.interpretOutFile(undefined, 1, statSyncStub);
+ assert.isFalse(spec1.isFolder);
+ assert.isUndefined(spec1.path);
+
+ const spec2 = unitTestEndpoints.interpretOutFile(undefined, 2, statSyncStub);
+ assert.isFalse(spec2.isFolder);
+ assert.isUndefined(spec2.path);
+ });
+
+ it(`should return isFolder=true if path is specified and more than 1 input filename is given`, function() {
+ const spec1 = unitTestEndpoints.interpretOutFile('does_not_exist', 2, statSyncStub);
+ assert.isNotNull(spec1);
+ assert.isTrue(spec1.isFolder);
+ assert.equal(spec1.path, 'does_not_exist');
+ });
+
+ it(`should return path without trailing delimiter if trailing delimiter is specified`, function() {
+ const spec1 = unitTestEndpoints.interpretOutFile('does_not_exist/', 1, statSyncStub);
+ assert.isNotNull(spec1);
+ assert.isTrue(spec1.isFolder);
+ assert.equal(spec1.path, 'does_not_exist');
+
+ // existing folder test for trimming delimiter is covered in next test
+ });
+
+ it(`should return path as a folder if target path is a folder`, function() {
+ const spec1 = unitTestEndpoints.interpretOutFile('existing_folder', 1, statSyncStub);
+ assert.isNotNull(spec1);
+ assert.isTrue(spec1.isFolder);
+ assert.equal(spec1.path, 'existing_folder');
+
+ const spec2 = unitTestEndpoints.interpretOutFile('existing_folder/', 1, statSyncStub);
+ assert.isNotNull(spec2);
+ assert.isTrue(spec2.isFolder);
+ assert.equal(spec2.path, 'existing_folder');
+ });
+
+ it(`should return null if a file exists in the target folder location`, function() {
+ const spec1 = unitTestEndpoints.interpretOutFile('existing_file', 2, statSyncStub);
+ assert.isNull(spec1);
+
+ const spec2 = unitTestEndpoints.interpretOutFile('existing_file/', 1, statSyncStub);
+ assert.isNull(spec2);
+ });
+
+ it(`should return isFolder = false if a single input file and no trailing delimiter and no folder exists`, function() {
+ const spec1 = unitTestEndpoints.interpretOutFile('anything', 1, statSyncStub);
+ assert.isNotNull(spec1);
+ assert.isFalse(spec1.isFolder);
+ assert.equal(spec1.path, 'anything');
+ });
+});
\ No newline at end of file
diff --git a/developer/src/kmc/test/infrastructureMessages.tests.ts b/developer/src/kmc/test/infrastructureMessages.tests.ts
index 68edaa7a10..d44cc8e972 100644
--- a/developer/src/kmc/test/infrastructureMessages.tests.ts
+++ b/developer/src/kmc/test/infrastructureMessages.tests.ts
@@ -1,3 +1,6 @@
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ */
import 'mocha';
import * as fs from 'fs';
import { assert } from 'chai';
@@ -66,7 +69,7 @@ describe('InfrastructureMessages', function () {
const projectPath = makePathToFixture('kpj-2.0/khmer_angkor', 'khmer_angkor.kpj');
const outFilePath = makePathToFixture('kpj-2.0/khmer_angkor', 'khmer_angkor.kmx');
const options: CompilerOptions = {...defaultCompilerOptions};
- await unitTestEndpoints.build(projectPath, outFilePath, ncb, options);
+ await unitTestEndpoints.build(projectPath, {path: outFilePath, isFolder: false}, ncb, options);
assert.isTrue(ncb.hasMessage(InfrastructureMessages.ERROR_OutFileNotValidForProjects),
'ERROR_OutFileNotValidForProjects not generated, instead got: '+JSON.stringify(ncb.messages,null,2));
});
diff --git a/developer/src/kmcmplib/src/Compiler.cpp b/developer/src/kmcmplib/src/Compiler.cpp
index d9f3c5c9cb..512aef4f61 100644
--- a/developer/src/kmcmplib/src/Compiler.cpp
+++ b/developer/src/kmcmplib/src/Compiler.cpp
@@ -138,7 +138,7 @@ KMX_BOOL IsSameToken(PKMX_WCHAR *p, KMX_WCHAR const * token);
KMX_DWORD GetRHS(PFILE_KEYBOARD fk, PKMX_WCHAR p, PKMX_WCHAR buf, int bufsize, int offset, int IsUnicode);
PKMX_WCHAR GetDelimitedString(PKMX_WCHAR *p, KMX_WCHAR const * Delimiters, KMX_WORD Flags);
KMX_DWORD GetXString(PFILE_KEYBOARD fk, PKMX_WCHAR str, KMX_WCHAR const * token, PKMX_WCHAR output, int max, int offset, PKMX_WCHAR *newp, int isVKey, int isUnicode);
-KMX_BOOL GetCompileTargetsFromTargetsStore(const KMX_WCHAR* store, int &targets);
+KMX_BOOL GetCompileTargetsFromTargetsStore(KMX_WCHAR *store, int &targets);
int GetGroupNum(PFILE_KEYBOARD fk, PKMX_WCHAR p);
@@ -1155,6 +1155,7 @@ KMX_BOOL ProcessSystemStore(PFILE_KEYBOARD fk, KMX_DWORD SystemID, PFILE_STORE s
else if (u16ncmp(p, u"15.0", 4) == 0) fk->version = VERSION_150; // Adds support for U_xxxx_yyyy #2858
else if (u16ncmp(p, u"16.0", 4) == 0) fk->version = VERSION_160; // KMXPlus
else if (u16ncmp(p, u"17.0", 4) == 0) fk->version = VERSION_170; // Flicks and gestures
+ else if (u16ncmp(p, u"19.0", 4) == 0) fk->version = VERSION_190; // Deprecations - fix, clearcontext
else {
ReportCompilerMessage(KmnCompilerMessages::ERROR_InvalidVersion);
@@ -1331,7 +1332,16 @@ KMX_BOOL ProcessSystemStore(PFILE_KEYBOARD fk, KMX_DWORD SystemID, PFILE_STORE s
return TRUE;
}
-KMX_BOOL GetCompileTargetsFromTargetsStore(const KMX_WCHAR* store, int &targets) {
+/**
+ * Extract the compile targets from the &targets store, and rewrite the
+ * &targets dpString value to remove unnecessary whitespace. Does not
+ * reallocate sp->dpString, but overwrites its value with a string the
+ * same length or shorter.
+ * @param store store value to rewrite
+ * @param targets (output)
+ * @return FALSE if no targets found or invalid targets found
+ */
+KMX_BOOL GetCompileTargetsFromTargetsStore(KMX_WCHAR *store, int &targets) {
// Compile to .kmx
const std::vector KMXKeymanTargets{
u"windows", u"macosx", u"linux", u"desktop"
@@ -1347,10 +1357,17 @@ KMX_BOOL GetCompileTargetsFromTargetsStore(const KMX_WCHAR* store, int &targets)
targets = 0;
auto p = new KMX_WCHAR[u16len(store)+1];
- u16cpy(p, store);
+ auto q = p;
+ *p = 0;
KMX_WCHAR* ctx;
- auto token = u16tok(p, u" ", &ctx);
+ auto token = u16tok(store, u" ", &ctx);
while(token) {
+ if(q > p) {
+ // Insert a delimiter between tokens, if
+ // more than one token
+ *q++ = ' ';
+ *q = 0;
+ }
bool found = false;
if(*token) {
if(AnyTarget == token) {
@@ -1378,9 +1395,16 @@ KMX_BOOL GetCompileTargetsFromTargetsStore(const KMX_WCHAR* store, int &targets)
targets = 0;
return FALSE;
}
+
+ // Append the token to the output, we know it is long enough
+ // because the buffer is the same length as the input
+ u16cpy(q, token);
+ q = const_cast(u16chr(q, 0));
+ *q = 0;
}
token = u16tok(nullptr, u" ", &ctx);
}
+ u16cpy(store, p);
delete[] p;
if(targets == 0) {
@@ -1582,7 +1606,7 @@ const KMX_BOOL CODE__IS_TEXTUAL[] = {
-1, // CODE_EXTENDEDEND 0x0B (unused)
FALSE, // CODE_SWITCH 0x0C
-1, // CODE_KEY 0x0D (never used)
- FALSE, // CODE_CLEARCONTEXT 0x0E
+ FALSE, // CODE_CLEARCONTEXT 0x0E (deprecated in 19.0)
FALSE, // CODE_CALL 0x0F // may trigger text effects but indirectly
-1, // UC_SENTINEL_EXTENDEDEND 0x10 (not valid with UC_SENTINEL)
TRUE, // CODE_CONTEXTEX 0x11
@@ -2079,7 +2103,7 @@ int LineTokenType(PKMX_WCHAR *str)
switch (towupper(*p))
{
case 'C':
- if (iswspace(*(p + 1))) return T_COMMENT;
+ if (iswspace(*(p + 1)) || *(p + 1) == 0) return T_COMMENT;
break;
case 0:
return T_BLANK;
@@ -2376,6 +2400,10 @@ KMX_DWORD GetXStringImpl(PKMX_WCHAR tstr, PFILE_KEYBOARD fk, PKMX_WCHAR str, KMX
}
else if (u16nicmp(p, u"clearcontext", 12) == 0)
{
+ // deprecated in 19.0
+ if(fk->version >= VERSION_190) {
+ ReportCompilerMessage(KmnCompilerMessages::WARN_DeprecatedStatement, {"clearcontext", "19.0"}); // I3438
+ }
p += 12;
tstr[mx++] = UC_SENTINEL;
tstr[mx++] = CODE_CLEARCONTEXT;
@@ -2699,6 +2727,10 @@ KMX_DWORD GetXStringImpl(PKMX_WCHAR tstr, PFILE_KEYBOARD fk, PKMX_WCHAR str, KMX
case 15:
if (u16nicmp(p, u"fix", 3) == 0)
{
+ if(fk->version >= VERSION_190) {
+ // deprecated in 19.0
+ ReportCompilerMessage(KmnCompilerMessages::WARN_DeprecatedStatement, {"fix", "19.0"}); // I3438
+ }
p += 3;
tstr[mx++] = UC_SENTINEL;
tstr[mx++] = CODE_CLEARCONTEXT;
diff --git a/developer/src/kmcmplib/src/xstring.cpp b/developer/src/kmcmplib/src/xstring.cpp
index 60bbddc8eb..073daae0f0 100644
--- a/developer/src/kmcmplib/src/xstring.cpp
+++ b/developer/src/kmcmplib/src/xstring.cpp
@@ -127,7 +127,7 @@ const int CODE__SIZE[] = {
-1, // CODE_EXTENDEDEND 0x0B (unused)
1, // CODE_SWITCH 0x0C
-1, // CODE_KEY 0x0D (never used)
- 0, // CODE_CLEARCONTEXT 0x0E
+ 0, // CODE_CLEARCONTEXT 0x0E (deprecated in 19.0)
1, // CODE_CALL 0x0F
-1, // UC_SENTINEL_EXTENDEDEND 0x10 (not valid with UC_SENTINEL)
1, // CODE_CONTEXTEX 0x11
diff --git a/developer/src/kmcmplib/tests/api.tests.cpp b/developer/src/kmcmplib/tests/api.tests.cpp
index ea44e3fade..445c69928b 100644
--- a/developer/src/kmcmplib/tests/api.tests.cpp
+++ b/developer/src/kmcmplib/tests/api.tests.cpp
@@ -71,66 +71,90 @@ void test_kmcmp_CompileKeyboard(char *kmn_file) {
unlink(kmn_file);
}
-extern KMX_BOOL GetCompileTargetsFromTargetsStore(const KMX_WCHAR* store, int &targets);
+extern KMX_BOOL GetCompileTargetsFromTargetsStore(KMX_WCHAR* buf, int &targets);
+
+KMX_BOOL do_GetCompileTargetsFromTargetsStore(const KMX_WCHAR* store, int &targets, const KMX_WCHAR* expected = nullptr) {
+ KMX_WCHAR* buf;
+ buf = new KMX_WCHAR[u16len(store)+1];
+ u16cpy(buf, store);
+ KMX_BOOL result = GetCompileTargetsFromTargetsStore(buf, targets);
+
+ if(expected) {
+ test_assert(u16cmp(expected, buf) == 0);
+ }
+
+ delete[] buf;
+ return result;
+}
void test_GetCompileTargetsFromTargetsStore() {
int targets = 0;
setup();
- test_assert(GetCompileTargetsFromTargetsStore(u"any", targets));
+ test_assert(do_GetCompileTargetsFromTargetsStore(u"any", targets, u"any"));
test_assert(error_vec.size() == 0);
test_assert(targets == (COMPILETARGETS_KMX | COMPILETARGETS_JS));
setup();
- test_assert(GetCompileTargetsFromTargetsStore(u"windows", targets));
+ test_assert(do_GetCompileTargetsFromTargetsStore(u"windows", targets, u"windows"));
test_assert(error_vec.size() == 0);
test_assert(targets == COMPILETARGETS_KMX);
setup();
- test_assert(GetCompileTargetsFromTargetsStore(u"desktop", targets));
+ test_assert(do_GetCompileTargetsFromTargetsStore(u"desktop", targets, u"desktop"));
test_assert(error_vec.size() == 0);
test_assert(targets == COMPILETARGETS_KMX);
setup();
- test_assert(GetCompileTargetsFromTargetsStore(u"mobile", targets));
+ test_assert(do_GetCompileTargetsFromTargetsStore(u"mobile", targets, u"mobile"));
test_assert(error_vec.size() == 0);
test_assert(targets == COMPILETARGETS_JS);
setup();
- test_assert(GetCompileTargetsFromTargetsStore(u"web", targets));
+ test_assert(do_GetCompileTargetsFromTargetsStore(u"web", targets, u"web"));
test_assert(error_vec.size() == 0);
test_assert(targets == COMPILETARGETS_JS);
setup();
- test_assert(GetCompileTargetsFromTargetsStore(u"desktop mobile", targets));
+ test_assert(do_GetCompileTargetsFromTargetsStore(u"desktop mobile", targets, u"desktop mobile"));
test_assert(error_vec.size() == 0);
test_assert(targets == (COMPILETARGETS_KMX | COMPILETARGETS_JS));
setup();
- test_assert(GetCompileTargetsFromTargetsStore(u"desktop tablet", targets));
+ test_assert(do_GetCompileTargetsFromTargetsStore(u"desktop tablet", targets, u"desktop tablet"));
test_assert(error_vec.size() == 0);
test_assert(targets == (COMPILETARGETS_KMX | COMPILETARGETS_JS));
setup();
- test_assert(!GetCompileTargetsFromTargetsStore(u"foo bar baz", targets));
+ test_assert(do_GetCompileTargetsFromTargetsStore(u" desktop tablet", targets, u"desktop tablet"));
+ test_assert(error_vec.size() == 0);
+ test_assert(targets == (COMPILETARGETS_KMX | COMPILETARGETS_JS));
+
+ setup();
+ test_assert(do_GetCompileTargetsFromTargetsStore(u" windows androidphone ", targets, u"windows androidphone"));
+ test_assert(error_vec.size() == 0);
+ test_assert(targets == (COMPILETARGETS_KMX | COMPILETARGETS_JS));
+
+ setup();
+ test_assert(!do_GetCompileTargetsFromTargetsStore(u"foo bar baz", targets));
test_assert(error_vec.size() == 1);
test_assert(error_vec[0] == KmnCompilerMessages::ERROR_InvalidTarget);
test_assert(targets == 0);
setup();
- test_assert(!GetCompileTargetsFromTargetsStore(u"windows chromeos", targets));
+ test_assert(!do_GetCompileTargetsFromTargetsStore(u"windows chromeos", targets));
test_assert(error_vec.size() == 1);
test_assert(error_vec[0] == KmnCompilerMessages::ERROR_InvalidTarget);
test_assert(targets == 0);
setup();
- test_assert(!GetCompileTargetsFromTargetsStore(u" ", targets));
+ test_assert(!do_GetCompileTargetsFromTargetsStore(u" ", targets));
test_assert(error_vec.size() == 1);
test_assert(error_vec[0] == KmnCompilerMessages::ERROR_NoTargetsSpecified);
test_assert(targets == 0);
setup();
- test_assert(!GetCompileTargetsFromTargetsStore(u"", targets));
+ test_assert(!do_GetCompileTargetsFromTargetsStore(u"", targets));
test_assert(error_vec.size() == 1);
test_assert(error_vec[0] == KmnCompilerMessages::ERROR_NoTargetsSpecified);
test_assert(targets == 0);
diff --git a/developer/src/kmcmplib/tests/gtest-compiler.tests.cpp b/developer/src/kmcmplib/tests/gtest-compiler.tests.cpp
index 7e65bfdd55..3862eca44b 100644
--- a/developer/src/kmcmplib/tests/gtest-compiler.tests.cpp
+++ b/developer/src/kmcmplib/tests/gtest-compiler.tests.cpp
@@ -663,7 +663,7 @@ TEST_F(CompilerTest, LineTokenType_test) {
// comment without following space ... potential bug, but ReadLine() currently ensures following space
u16cpy(str, u"c");
p = str;
- EXPECT_EQ(T_UNKNOWN, LineTokenType(&p));
+ EXPECT_EQ(T_COMMENT, LineTokenType(&p));
EXPECT_EQ(0, p - str);
// T_KEYTOKEY
diff --git a/developer/src/kmcmplib/tests/gtest-km_u16.tests.cpp b/developer/src/kmcmplib/tests/gtest-km_u16.tests.cpp
index 75d74607cd..db40baf12d 100644
--- a/developer/src/kmcmplib/tests/gtest-km_u16.tests.cpp
+++ b/developer/src/kmcmplib/tests/gtest-km_u16.tests.cpp
@@ -32,6 +32,11 @@ TEST(km_u16_Test, u16tok_char_delim) {
KMX_WCHAR str[LINESIZE];
KMX_WCHAR *ctx = nullptr;
+ // invalid parameters
+ EXPECT_EQ(nullptr, u16tok(str, ' ', nullptr));
+ EXPECT_EQ(nullptr, u16tok(str, (KMX_WCHAR)0, &ctx));
+ EXPECT_EQ(nullptr, u16tok(nullptr, ' ', nullptr));
+
// sequence of tokens
u16cpy(str, u"test a space and two");
ctx = nullptr;
@@ -55,6 +60,13 @@ TEST(km_u16_Test, u16tok_char_delim) {
EXPECT_TRUE(!u16cmp(u"b", u16tok(nullptr, ' ', &ctx)));
EXPECT_EQ(nullptr, u16tok(nullptr, ' ', &ctx));
+ // delimiters at start
+ u16cpy(str, u" a b");
+ ctx = nullptr;
+ EXPECT_TRUE(!u16cmp(u"a", u16tok(str, ' ', &ctx)));
+ EXPECT_TRUE(!u16cmp(u"b", u16tok(nullptr, ' ', &ctx)));
+ EXPECT_EQ(nullptr, u16tok(nullptr, ' ', &ctx));
+
// no string, no context
ctx = nullptr;
EXPECT_EQ(nullptr, u16tok(nullptr, ' ', &ctx));
@@ -73,6 +85,12 @@ TEST(km_u16_Test, u16tok_str_delim) {
KMX_WCHAR str[LINESIZE];
KMX_WCHAR *ctx = nullptr;
+ // invalid parameters
+ EXPECT_EQ(nullptr, u16tok(str, u" ", nullptr));
+ EXPECT_EQ(nullptr, u16tok(str, nullptr, &ctx));
+ EXPECT_EQ(nullptr, u16tok(str, u"", &ctx));
+ EXPECT_EQ(nullptr, u16tok(nullptr, u" ", nullptr));
+
// sequence of tokens
u16cpy(str, u"test a space and two");
ctx = nullptr;
@@ -96,6 +114,13 @@ TEST(km_u16_Test, u16tok_str_delim) {
EXPECT_TRUE(!u16cmp(u"b", u16tok(nullptr, u" ", &ctx)));
EXPECT_EQ(nullptr, u16tok(nullptr, u" ", &ctx));
+ // delimiters at start
+ u16cpy(str, u" a b");
+ ctx = nullptr;
+ EXPECT_TRUE(!u16cmp(u"a", u16tok(str, u" ", &ctx)));
+ EXPECT_TRUE(!u16cmp(u"b", u16tok(nullptr, u" ", &ctx)));
+ EXPECT_EQ(nullptr, u16tok(nullptr, ' ', &ctx));
+
// no string, no context
ctx = nullptr;
EXPECT_EQ(nullptr, u16tok(nullptr, u"", &ctx));
@@ -130,6 +155,9 @@ TEST(km_u16_Test, u16tok_str_compare_to_strtok) {
// Compare behaviour of strtok:
char str[LINESIZE];
+ // Note: strtok behavior is undefined with invalid parameters so we don't do a reference test
+ // of invalid parameters
+
// sequence of tokens
strcpy(str, "test a space and two");
EXPECT_TRUE(!strcmp("test", strtok(str, " ")));
@@ -150,6 +178,12 @@ TEST(km_u16_Test, u16tok_str_compare_to_strtok) {
EXPECT_TRUE(!strcmp("b", strtok(nullptr, " ")));
EXPECT_EQ(nullptr, strtok(nullptr, " "));
+ // delimiters at start
+ strcpy(str, " a b");
+ EXPECT_TRUE(!strcmp("a", strtok(str, " ")));
+ EXPECT_TRUE(!strcmp("b", strtok(nullptr, " ")));
+ EXPECT_EQ(nullptr, strtok(nullptr, " "));
+
// multiple delimiters
strcpy(str, "abcghi");
const char *delim = "<>";
diff --git a/developer/src/kmdecomp/savekeyboard.cpp b/developer/src/kmdecomp/savekeyboard.cpp
index bfe66e5bc6..8201c0a916 100644
--- a/developer/src/kmdecomp/savekeyboard.cpp
+++ b/developer/src/kmdecomp/savekeyboard.cpp
@@ -273,6 +273,7 @@ PWCHAR ExtString(PWCHAR str)
p = wcscat2(q, BUFSIZE, L"key ");
break;
case CODE_CLEARCONTEXT:
+ // deprecated in 19.0
p = wcscat2(q, BUFSIZE, L"clearcontext ");
break;
case CODE_CALL:
diff --git a/developer/src/server/package.json b/developer/src/server/package.json
index 826cdba0c1..dcc2b75eeb 100644
--- a/developer/src/server/package.json
+++ b/developer/src/server/package.json
@@ -13,7 +13,7 @@
"@ngrok/ngrok": "^1.7.0",
"@sentry/node": "^7.57.0",
"chalk": "^4.1.2",
- "express": "^4.22.2",
+ "express": "^5.2.1",
"multer": "^2.2.0",
"open": "^8.4.0",
"restructure": "^3.0.1",
diff --git a/developer/src/server/src/environment.ts b/developer/src/server/src/environment.ts
index f3e0566024..8c5a26881d 100644
--- a/developer/src/server/src/environment.ts
+++ b/developer/src/server/src/environment.ts
@@ -1,5 +1,20 @@
-import { extractVersionData } from './version-data.js';
-// TODO: environment should be just KEYMAN_VERSION
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ *
+ * Environmental variables and paths
+ */
+import path from 'node:path';
-import KEYMAN_VERSION from "@keymanapp/keyman-version";
-export const environment = extractVersionData(KEYMAN_VERSION.VERSION_WITH_TAG);
+/**
+ * @returns base path for the running server -- where index.js is stored
+ */
+export function serverBasePath() {
+ return path.join(import.meta.dirname, '../../build/src');
+}
+
+/**
+ * @returns path where the site public files can be found -- index.html
+ */
+export function serverSitePath() {
+ return path.join(serverBasePath(), 'site');
+}
diff --git a/developer/src/server/src/handlers/inc/packages-json.ts b/developer/src/server/src/handlers/inc/packages-json.ts
index 377e4b9856..12dfd1ba57 100644
--- a/developer/src/server/src/handlers/inc/packages-json.ts
+++ b/developer/src/server/src/handlers/inc/packages-json.ts
@@ -1,15 +1,21 @@
-import { KeymanUrls } from '@keymanapp/developer-utils';
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ *
+ * API: return list of packages under testing and urls for installing in mobile
+ * apps
+ */
import * as express from 'express';
+import { KeymanUrls } from '@keymanapp/developer-utils';
+import KEYMAN_VERSION from '@keymanapp/keyman-version';
import { data } from "../../data.js";
-import { environment } from '../../environment.js';
export default function handleIncPackagesJson (req: express.Request, res: express.Response) {
const packages = Object.keys(data.packages).map(id => { return { id: id, filename: id+'.kmp', name: data.packages[id].name} });
res.send({
packages: packages,
urls: {
- installLinkAndroid: KeymanUrls.KeymanDeveloper_KeymanForAndroidDownload(environment.versionRelease),
- installLinkIos: KeymanUrls.KeymanDeveloper_KeymanForIosDownload(environment.versionRelease),
+ installLinkAndroid: KeymanUrls.KeymanDeveloper_KeymanForAndroidDownload(KEYMAN_VERSION.VERSION_RELEASE),
+ installLinkIos: KeymanUrls.KeymanDeveloper_KeymanForIosDownload(KEYMAN_VERSION.VERSION_RELEASE),
}
});
}
diff --git a/developer/src/server/src/index.ts b/developer/src/server/src/index.ts
index e248b19625..68b2cf7a9e 100644
--- a/developer/src/server/src/index.ts
+++ b/developer/src/server/src/index.ts
@@ -1,12 +1,17 @@
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ *
+ * Keyman Developer Server main program
+ */
import * as fs from 'node:fs';
import * as path from 'node:path';
import chalk from 'chalk';
import express from 'express';
import multer from 'multer';
import * as ws from 'ws';
+import KEYMAN_VERSION from '@keymanapp/keyman-version';
import { KeymanSentry } from './KeymanSentry.js';
import { standardPaths } from './standardPaths.js';
-import { environment } from './environment.js';
import setupRoutes from './routes.js';
import { shutdown } from './shutdown.js';
import { initTray } from './tray.js';
@@ -23,7 +28,7 @@ const options = {
// set of options if an error occurs.
await loadOptions();
-console.log(`Starting Keyman Developer Server ${environment.versionWithTag}, listening on port ${getOption('web host port')}.`);
+console.log(`Starting Keyman Developer Server ${KEYMAN_VERSION.VERSION_WITH_TAG}, listening on port ${getOption('web host port')}.`);
KeymanSentry.init();
try {
@@ -74,7 +79,7 @@ export async function run() {
/* Setup routes */
- setupRoutes(app, upload, wsServer, environment);
+ setupRoutes(app, upload, wsServer);
/* Start the web server */
diff --git a/developer/src/server/src/routes.ts b/developer/src/server/src/routes.ts
index acccf23402..fc07968b5a 100644
--- a/developer/src/server/src/routes.ts
+++ b/developer/src/server/src/routes.ts
@@ -1,6 +1,12 @@
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ *
+ * Setup URL routes for Keyman Developer Server
+ */
import * as express from 'express';
import * as ws from 'ws';
import * as multer from 'multer';
+import KEYMAN_VERSION from '@keymanapp/keyman-version';
import handleIncKeyboardsJs from './handlers/inc/keyboards-js.js';
import { data, DebugFont, DebugKeyboard, DebugModel, DebugObject, DebugPackage, isValidId } from './data.js';
import apiGet from './handlers/api/debugobject/get.js';
@@ -11,22 +17,20 @@ import apiUnregister from './handlers/api/debugobject/unregister.js';
import handleIncPackagesJson from './handlers/inc/packages-json.js';
import apiPackageRegister from './handlers/api/package/register.js';
import handleIncKeyboardsCss from './handlers/inc/keyboards-css.js';
-import { Environment } from './version-data.js';
import { standardPaths } from './standardPaths.js';
import chalk from 'chalk';
import { shutdown } from './shutdown.js';
import { getOption } from './options.js';
+import { serverSitePath } from './environment.js';
-export default function setupRoutes(app: express.Express, upload: multer.Multer, wsServer: ws.WebSocketServer, environment: Environment ) {
+export default function setupRoutes(app: express.Express, upload: multer.Multer, wsServer: ws.WebSocketServer ) {
/* Middleware - JSON and logging */
app.use(express.json()); // for parsing application/json
app.use(function (req, _res, next) {
- // if(environment.environment == 'local') {
- console.log(req.method + ' ' + req.path);
- // }
+ console.log(req.method + ' ' + req.path);
next();
});
@@ -51,7 +55,7 @@ export default function setupRoutes(app: express.Express, upload: multer.Multer,
/* All routes */
- app.use('/', express.static('build/src/site'));
+ app.use('/', express.static(serverSitePath()));
app.post('/upload', localhostOnly, upload.single('file'), (req, res, next) => {
const name = req.file.originalname;
@@ -93,7 +97,7 @@ export default function setupRoutes(app: express.Express, upload: multer.Multer,
app.get('/inc/packages.json', handleIncPackagesJson);
app.get('/api-public/version', (req,res,next)=>{
- res.json({version: environment.versionWithTag, isApiAvailable: isLocalhost(req)});
+ res.json({version: KEYMAN_VERSION.VERSION_WITH_TAG, isApiAvailable: isLocalhost(req)});
next();
});
diff --git a/developer/src/server/src/version-data.ts b/developer/src/server/src/version-data.ts
deleted file mode 100644
index a082a65170..0000000000
--- a/developer/src/server/src/version-data.ts
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- Version information from builder-basic.inc.sh:
-
- # KEYMAN_VERSION: Full current build version, e.g. "14.0.1"
- # [KEYMAN_VERSION_WIN: Full current build version for Windows, e.g. "14.0.1.0"]
- # KEYMAN_VERSION_RELEASE: Current release version, e.g. "14.0"
- # KEYMAN_VERSION_MAJOR: Major version, e.g. "14"
- # KEYMAN_VERSION_MINOR: Minor version, e.g. "0"
- # KEYMAN_VERSION_PATCH: Patch version, e.g. "1"
- # KEYMAN_TIER: Current tier, one of "alpha", "beta" or "stable"
- # KEYMAN_VERSION_TAG: Tier + Pull Request + Location of build [-alpha|-beta][-test[-1234]][-local]
- # KEYMAN_VERSION_WITH_TAG: e.g. "14.0.1-alpha-test-1234" or "14.0.5-beta-local" or "14.0.1-alpha-test"
- # [KEYMAN_ROOT: fully resolved root path of Keyman repository]
- # KEYMAN_VERSION_ENVIRONMENT: One of: local, test, alpha, beta, stable
- # KEYMAN_VERSION_GIT_TAG: Git tag for the release, "release@$KEYMAN_VERSION_WITH_TAG", e.g. "release@14.0.1-alpha-test-1234"
-*/
-
-export interface Environment {
- version: string;
- versionRelease: string;
- versionMajor: string;
- versionMinor: string;
- versionPatch: string;
- tier: string;
- versionTag: string;
- versionWithTag: string;
- versionEnvironment: string;
- versionGitTag: string;
- // Pull Request Data
- pr: string;
-}
-
-export function extractVersionData(version: string): Environment {
- const versionData = /^(\d+)\.(\d+)\.(\d+)((?:-(alpha|beta))?(?:-(test|local))?(?:-(\d+))?)$/.exec(version);
- if(!versionData) return null;
-
- return {
- version: `${versionData[1]}.${versionData[2]}.${versionData[3]}`,
- versionRelease: `${versionData[1]}.${versionData[2]}`,
- versionMajor: versionData[1],
- versionMinor: versionData[2],
- versionPatch: versionData[3],
- tier: versionData[5] || 'stable',
- versionTag: versionData[4],
- versionWithTag: version,
- versionEnvironment: versionData[6] || versionData[5] || 'stable',
- versionGitTag: 'release@'+version,
-
- pr: versionData[7] || ''
- };
-};
-
diff --git a/developer/src/server/src/win32-tray.ts b/developer/src/server/src/win32-tray.ts
index a71771f3de..a248f9b669 100644
--- a/developer/src/server/src/win32-tray.ts
+++ b/developer/src/server/src/win32-tray.ts
@@ -71,6 +71,11 @@ export class Win32Tray {
open(ngrokAddress);
break;
case 'item-id-show-console':
+ // #9694 - the first time, this has to be called twice for the console
+ // window to appear. This could probably be fixed in the source
+ // node-hide-console-window component, but this works well enough and
+ // has little in the way of side-effects.
+ WindowsConsole.showConsole();
WindowsConsole.showConsole();
break;
case 'item-id-hide-console':
diff --git a/developer/src/server/test/environment.tests.ts b/developer/src/server/test/environment.tests.ts
new file mode 100644
index 0000000000..352cdc3d32
--- /dev/null
+++ b/developer/src/server/test/environment.tests.ts
@@ -0,0 +1,20 @@
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ */
+import * as fs from 'node:fs';
+import * as path from 'node:path';
+import {assert} from 'chai';
+import 'mocha';
+import { serverBasePath, serverSitePath } from '../src/environment.js';
+
+describe('serverBasePath', function() {
+ it('should find index.js in the base path', function() {
+ assert.isTrue(fs.existsSync(path.join(serverBasePath(), 'index.js')));
+ });
+});
+
+describe('serverSitePath', function() {
+ it('should find index.html in the base path', function() {
+ assert.isTrue(fs.existsSync(path.join(serverSitePath(), 'index.html')));
+ });
+});
diff --git a/developer/src/server/test/version-data.tests.ts b/developer/src/server/test/version-data.tests.ts
deleted file mode 100644
index 74762b7d7f..0000000000
--- a/developer/src/server/test/version-data.tests.ts
+++ /dev/null
@@ -1,55 +0,0 @@
-import {assert} from 'chai';
-import 'mocha';
-import { extractVersionData } from '../src/version-data.js';
-
-describe('extractVersionData', function() {
- it('should parse version strings', function() {
- let v = extractVersionData('14.0.283');
- assert.equal(v.version, '14.0.283');
- assert.equal(v.versionRelease, '14.0');
- assert.equal(v.versionMajor, '14');
- assert.equal(v.versionMinor, '0');
- assert.equal(v.versionPatch, '283');
- assert.equal(v.tier, 'stable');
- assert.equal(v.versionTag, '');
- assert.equal(v.versionWithTag, '14.0.283');
- assert.equal(v.versionEnvironment, 'stable');
- assert.equal(v.pr, '');
-
- v = extractVersionData('14.0.283-beta');
- assert.equal(v.version, '14.0.283');
- assert.equal(v.versionRelease, '14.0');
- assert.equal(v.versionMajor, '14');
- assert.equal(v.versionMinor, '0');
- assert.equal(v.versionPatch, '283');
- assert.equal(v.tier, 'beta');
- assert.equal(v.versionTag, '-beta');
- assert.equal(v.versionWithTag, '14.0.283-beta');
- assert.equal(v.versionEnvironment, 'beta');
- assert.equal(v.pr, '');
-
- v = extractVersionData('14.0.283-alpha-local');
- assert.equal(v.version, '14.0.283');
- assert.equal(v.versionRelease, '14.0');
- assert.equal(v.versionMajor, '14');
- assert.equal(v.versionMinor, '0');
- assert.equal(v.versionPatch, '283');
- assert.equal(v.tier, 'alpha');
- assert.equal(v.versionTag, '-alpha-local');
- assert.equal(v.versionWithTag, '14.0.283-alpha-local');
- assert.equal(v.versionEnvironment, 'local');
- assert.equal(v.pr, '');
-
- v = extractVersionData('14.0.283-alpha-test-1234');
- assert.equal(v.version, '14.0.283');
- assert.equal(v.versionRelease, '14.0');
- assert.equal(v.versionMajor, '14');
- assert.equal(v.versionMinor, '0');
- assert.equal(v.versionPatch, '283');
- assert.equal(v.tier, 'alpha');
- assert.equal(v.versionTag, '-alpha-test-1234');
- assert.equal(v.versionWithTag, '14.0.283-alpha-test-1234');
- assert.equal(v.versionEnvironment, 'test');
- assert.equal(v.pr, '1234');
- });
-});
\ No newline at end of file
diff --git a/developer/src/tike/actions/dmActionsMain.dfm b/developer/src/tike/actions/dmActionsMain.dfm
index 5321f76e79..6b6aa7a1c8 100644
--- a/developer/src/tike/actions/dmActionsMain.dfm
+++ b/developer/src/tike/actions/dmActionsMain.dfm
@@ -1,3568 +1,3538 @@
-object modActionsMain: TmodActionsMain
- OldCreateOrder = False
- OnCreate = DataModuleCreate
- Height = 414
- Width = 557
- object actionsMain: TActionList
- Images = frmKeymanDeveloper.lstImages
- Left = 32
- Top = 28
- object actViewCharacterMap: TAction
- Category = 'View'
- Caption = '&Character Map'
- Hint = 'Character Map|Display the character map window'
- ShortCut = 24643
- OnExecute = actViewCharacterMapExecute
- OnUpdate = actViewCharacterMapUpdate
- end
- object actFileNew: TAction
- Category = 'File'
- Caption = '&New...'
- Hint = 'New|Creates a new file'
- ImageIndex = 0
- ShortCut = 16462
- OnExecute = actFileNewExecute
- OnUpdate = actFileNewUpdate
- end
- object actViewCharacterIdentifier: TAction
- Category = 'View'
- Caption = 'Character &Identifier'
- Hint = 'Character Identifier|Display the character identifier window'
- ShortCut = 24649
- OnExecute = actViewCharacterIdentifierExecute
- OnUpdate = actViewCharacterIdentifierUpdate
- end
- object actFileOpen: TFileOpen
- Category = 'File'
- Caption = '&Open...'
- Dialog.Options = [ofHideReadOnly, ofAllowMultiSelect, ofFileMustExist, ofEnableSizing]
- Hint = 'Open|Opens an existing file'
- ImageIndex = 1
- ShortCut = 16463
- OnAccept = actFileOpenAccept
- OnUpdate = actFileOpenUpdate
- end
- object actFileSave: TAction
- Category = 'File'
- Caption = '&Save'
- Hint = 'Save|Saves the active file'
- ImageIndex = 2
- ShortCut = 16467
- OnExecute = actFileSaveExecute
- OnUpdate = actFileSaveUpdate
- end
- object actFileSaveAs: TFileSaveAs
- Category = 'File'
- Caption = 'Save &As...'
- Dialog.Title = 'Save As'
- Dialog.OnCanClose = actFileSaveAsSaveDialogCanClose
- Hint = 'Save As|Saves the active file with a new name'
- BeforeExecute = actFileSaveAsBeforeExecute
- OnAccept = actFileSaveAsAccept
- OnUpdate = actFileSaveAsUpdate
- end
- object actFileSaveCopyAs: TAction
- Category = 'File'
- Caption = 'Save cop&y as...'
- ImageIndex = 17
- OnExecute = actFileSaveCopyAsExecute
- OnUpdate = actFileSaveCopyAsUpdate
- end
- object actFileRevert: TAction
- Category = 'File'
- Caption = '&Revert'
- Hint = 'Revert|Reload last saved version of active file'
- ImageIndex = 18
- OnExecute = actFileRevertExecute
- OnUpdate = actFileRevertUpdate
- end
- object actFilePageSetup: TFilePageSetup
- Category = 'File'
- Caption = 'Page Set&up...'
- Dialog.MinMarginLeft = 0
- Dialog.MinMarginTop = 0
- Dialog.MinMarginRight = 0
- Dialog.MinMarginBottom = 0
- Dialog.MarginLeft = 2500
- Dialog.MarginTop = 2500
- Dialog.MarginRight = 2500
- Dialog.MarginBottom = 2500
- Dialog.PageWidth = 21000
- Dialog.PageHeight = 29700
- OnUpdate = actFilePageSetupUpdate
- end
- object actFilePrint: TAction
- Category = 'File'
- Caption = '&Print...'
- ImageIndex = 20
- ShortCut = 16464
- OnExecute = actFilePrintExecute
- OnUpdate = actFilePrintUpdate
- end
- object actFilePrintPreview: TAction
- Category = 'File'
- Caption = 'Print Pre&view'
- ImageIndex = 19
- OnExecute = actFilePrintPreviewExecute
- OnUpdate = actFilePrintPreviewUpdate
- end
- object actFileExit: TFileExit
- Category = 'File'
- Caption = 'E&xit'
- Hint = 'Exit|Quits the application'
- end
- object actEditUndo: TKMDEditUndo
- Category = 'Edit'
- Caption = '&Undo'
- Hint = 'Undo|Reverts the last action'
- ImageIndex = 7
- ShortCut = 16474
- end
- object actEditRedo: TKMDEditRedo
- Category = 'Edit'
- Caption = '&Redo'
- Enabled = False
- Hint = 'Redo|Revert the last undo'
- ImageIndex = 8
- ShortCut = 24666
- end
- object actEditCut: TKMDEditCut
- Category = 'Edit'
- Caption = 'Cu&t'
- Enabled = False
- Hint = 'Cut|Cuts the selection and puts it on the Clipboard'
- ImageIndex = 4
- ShortCut = 16472
- end
- object actEditCopy: TKMDEditCopy
- Category = 'Edit'
- Caption = '&Copy'
- Enabled = False
- Hint = 'Copy|Copies the selection and puts it on the Clipboard'
- ImageIndex = 5
- ShortCut = 16451
- end
- object actEditPaste: TKMDEditPaste
- Category = 'Edit'
- Caption = '&Paste'
- Enabled = False
- Hint = 'Paste|Inserts Clipboard contents'
- ImageIndex = 6
- ShortCut = 16470
- end
- object actEditSelectAll: TKMDEditSelectAll
- Category = 'Edit'
- Caption = 'Select &All'
- Hint = 'Select All|Selects the entire document'
- ShortCut = 16449
- end
- object actEditDelete: TKMDEditDelete
- Category = 'Edit'
- Caption = 'Clear selection'
- Hint = 'Clear selection|Erases the selection'
- ImageIndex = 21
- end
- object actSearchFind: TKMDSearchFind
- Category = 'Search'
- Caption = '&Find...'
- Hint = 'Find|Finds the specified text'
- ImageIndex = 22
- ShortCut = 16454
- BeforeExecute = actSearchFindBeforeExecute
- OnUpdate = actSearchFindUpdate
- end
- object actSearchFindNext: TKMDSearchFindNext
- Category = 'Search'
- Caption = 'Find &Next'
- Hint = 'Find Next|Repeats the last find'
- SearchFind = actSearchFind
- ShortCut = 114
- end
- object actSearchReplace: TKMDSearchReplace
- Category = 'Search'
- Caption = '&Replace'
- Hint = 'Replace|Replaces specific text with different text'
- ImageIndex = 23
- ShortCut = 16456
- end
- object actHelpContents: THelpContents
- Category = 'Help'
- Caption = '&Contents'
- Enabled = False
- Hint = 'Help Contents'
- ImageIndex = 12
- OnExecute = actHelpContentsExecute
- end
- object actHelpTopicSearch: THelpTopicSearch
- Category = 'Help'
- Caption = '&Topic Search'
- Enabled = False
- Hint = 'Topic Search'
- end
- object actHelpContextAction: THelpContextAction
- Category = 'Help'
- Caption = 'Context &Help...'
- Enabled = False
- end
- object actViewMessages: TAction
- Category = 'View'
- Caption = '&Messages'
- Hint = 'Messages|View the messages window'
- ShortCut = 24653
- OnExecute = actViewMessagesExecute
- OnUpdate = actViewMessagesUpdate
- end
- object actViewProject: TAction
- Category = 'View'
- Caption = '&Project'
- Hint = 'Project|View the current project'
- ShortCut = 24656
- OnExecute = actViewProjectExecute
- OnUpdate = actViewProjectUpdate
- end
- object actViewToolbar: TAction
- Category = 'View'
- Caption = '&Toolbar'
- Hint = 'Toolbar|Show or hide the toolbar'
- OnExecute = actViewToolbarExecute
- OnUpdate = actViewToolbarUpdate
- end
- object actViewStatusBar: TAction
- Category = 'View'
- Caption = '&Status Bar'
- Hint = 'Status Bar|Show or hide the status bar'
- OnExecute = actViewStatusBarExecute
- OnUpdate = actViewStatusBarUpdate
- end
- object actProjectNew: TAction
- Category = 'Project'
- Caption = '&New Project...'
- ImageIndex = 27
- OnExecute = actProjectNewExecute
- end
- object actProjectOpen: TFileOpen
- Category = 'Project'
- Caption = '&Open Project...'
- Dialog.DefaultExt = 'kpj'
- Dialog.Filter = 'Keyman Developer Project Files (*.kpj)|*.kpj|All Files (*.*)|*.*'
- Dialog.Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing]
- Hint = 'Open Project|Opens an existing project'
- ImageIndex = 28
- ShortCut = 24655
- OnAccept = actProjectOpenAccept
- end
- object actProjectAddCurrentEditorFile: TAction
- Category = 'Project'
- Caption = '&Current Editor File'
- Hint =
- 'Add Current Editor File|Adds the current editor file to the proj' +
- 'ect'
- OnExecute = actProjectAddCurrentEditorFileExecute
- OnUpdate = actProjectAddCurrentEditorFileUpdate
- end
- object actProjectAddFiles: TFileOpen
- Category = 'Project'
- Caption = '&Other Files...'
- Dialog.Options = [ofHideReadOnly, ofAllowMultiSelect, ofPathMustExist, ofFileMustExist, ofEnableSizing]
- Hint = 'Add Other Files|Adds files from disk to the project'
- ImageIndex = 30
- ShortCut = 16463
- OnAccept = actProjectAddFilesAccept
- OnUpdate = actProjectAddFilesUpdate
- end
- object actProjectSettings: TAction
- Category = 'Project'
- Caption = 'Pro&ject Settings...'
- Hint = 'Project Settings|Edit settings for this project'
- ImageIndex = 31
- OnExecute = actProjectSettingsExecute
- OnUpdate = actProjectSettingsUpdate
- end
- object actToolsOptions: TAction
- Category = 'Tools'
- Caption = '&Options...'
- ImageIndex = 33
- OnExecute = actToolsOptionsExecute
- end
- object actToolsVirtualKeyIdentifier: TAction
- Category = 'Tools'
- Caption = '&Virtual Key Identifier...'
- ShortCut = 16459
- OnExecute = actToolsVirtualKeyIdentifierExecute
- end
- object actHelpAbout: TAction
- Category = 'Help'
- Caption = '&About...'
- ImageIndex = 56
- OnExecute = actHelpAboutExecute
- end
- object actViewCodeFont: TFontEdit
- Category = 'View'
- Caption = 'Code F&ont...'
- Dialog.OnShow = actViewCodeFontFontDialogShow
- Dialog.Font.Charset = DEFAULT_CHARSET
- Dialog.Font.Color = clWindowText
- Dialog.Font.Height = -11
- Dialog.Font.Name = 'Tahoma'
- Dialog.Font.Style = []
- Dialog.Options = [fdApplyButton]
- Dialog.OnApply = actViewCodeFontFontDialogApply
- Hint = 'Code Font|Set the font for the code editor'
- ImageIndex = 26
- BeforeExecute = actViewCodeFontBeforeExecute
- OnAccept = actViewCodeFontAccept
- OnUpdate = actViewCodeFontUpdate
- end
- object actViewCharFont: TFontEdit
- Category = 'View'
- Caption = 'Character &Font...'
- Dialog.OnShow = actViewCharFontFontDialogShow
- Dialog.Font.Charset = DEFAULT_CHARSET
- Dialog.Font.Color = clWindowText
- Dialog.Font.Height = -11
- Dialog.Font.Name = 'Tahoma'
- Dialog.Font.Style = []
- Dialog.Options = [fdApplyButton]
- Dialog.OnApply = actViewCharFontFontDialogApply
- Hint =
- 'Character Font|Set the font for text in quotes and comments and ' +
- 'keyboard views'
- ImageIndex = 25
- ShortCut = 24646
- BeforeExecute = actViewCharFontBeforeExecute
- OnAccept = actViewCharFontAccept
- OnUpdate = actViewCharFontUpdate
- end
- object actViewExpandEditor: TAction
- Category = 'View'
- Caption = '&Expand Editor'
- ImageIndex = 55
- ShortCut = 122
- OnExecute = actViewExpandEditorExecute
- OnUpdate = actViewExpandEditorUpdate
- end
- object actViewHelp: TAction
- Category = 'View'
- Caption = 'Context &Help'
- ShortCut = 24648
- OnExecute = actViewHelpExecute
- OnUpdate = actViewHelpUpdate
- end
- object actWindowNext: TAction
- Category = 'Window'
- Caption = '&Next Window'
- ShortCut = 16393
- OnExecute = actWindowNextExecute
- OnUpdate = actWindowNextUpdate
- end
- object actWindowPrev: TAction
- Category = 'Window'
- Caption = '&Previous Window'
- ShortCut = 24585
- OnExecute = actWindowPrevExecute
- OnUpdate = actWindowPrevUpdate
- end
- object actWindowClose: TAction
- Category = 'Window'
- Caption = '&Close'
- Hint = 'Close Tab|Closes the active tab'
- ImageIndex = 14
- ShortCut = 16499
- OnExecute = actWindowCloseExecute
- OnUpdate = actWindowCloseUpdate
- end
- object actToolsFileFormat: TAction
- Category = 'Tools'
- Caption = 'File &Format...'
- Hint = 'File Format|Set the file format of the current editor file'
- OnExecute = actToolsFileFormatExecute
- OnUpdate = actToolsFileFormatUpdate
- end
- object actViewMessageNext: TAction
- Category = 'View'
- Caption = '&Next Message'
- ShortCut = 115
- OnExecute = actViewMessageNextExecute
- OnUpdate = actViewMessageNextUpdate
- end
- object actViewMessagePrevious: TAction
- Category = 'View'
- Caption = '&Previous Message'
- ShortCut = 8307
- OnExecute = actViewMessagePreviousExecute
- OnUpdate = actViewMessagePreviousUpdate
- end
- object actViewTabNext: TAction
- Category = 'View'
- Caption = '&Next Tab'
- SecondaryShortCuts.Strings = (
- 'Alt+PgDn')
- ShortCut = 16418
- OnExecute = actViewTabNextExecute
- OnUpdate = actViewTabNextUpdate
- end
- object actViewTabPrevious: TAction
- Category = 'View'
- Caption = '&Previous Tab'
- SecondaryShortCuts.Strings = (
- 'Alt+PgUp')
- ShortCut = 16417
- OnExecute = actViewTabPreviousExecute
- OnUpdate = actViewTabPreviousUpdate
- end
- object actHelpCheckForUpdates: TAction
- Category = 'Help'
- Caption = 'Check for &Updates...'
- OnExecute = actHelpCheckForUpdatesExecute
- end
- object actToolsReloadANSI: TAction
- Category = 'Tools'
- Caption = 'Reload as ANSI'
- OnExecute = actToolsReloadANSIExecute
- OnUpdate = actToolsReloadANSIUpdate
- end
- object actToolsReloadUTF8: TAction
- Category = 'Tools'
- Caption = 'Reload as UTF-8'
- OnExecute = actToolsReloadUTF8Execute
- OnUpdate = actToolsReloadUTF8Update
- end
- object actToolsReloadUTF16: TAction
- Category = 'Tools'
- Caption = 'Reload as UTF-16'
- OnExecute = actToolsReloadUTF16Execute
- OnUpdate = actToolsReloadUTF16Update
- end
- object actToolsReload: TAction
- Category = 'Tools'
- Caption = 'Reload as format'
- end
- object actViewDesign: TAction
- Category = 'View'
- Caption = '&Design view'
- ShortCut = 32805
- OnExecute = actViewDesignExecute
- OnUpdate = actViewDesignUpdate
- end
- object actViewCode: TAction
- Category = 'View'
- Caption = '&Code view'
- ShortCut = 32807
- OnExecute = actViewCodeExecute
- OnUpdate = actViewCodeUpdate
- end
- object actProjectClose: TAction
- Category = 'Project'
- Caption = '&Close Project'
- OnExecute = actProjectCloseExecute
- OnUpdate = actProjectCloseUpdate
- end
- object actToolsWebCopyPublicUrl: TAction
- Category = 'Tools'
- Caption = '&Copy URL to clipboard'
- OnExecute = actToolsWebCopyPublicUrlExecute
- OnUpdate = actToolsWebCopyPublicUrlUpdate
- end
- object actToolsWebOpenPublicUrl: TAction
- Category = 'Tools'
- Caption = '&Open in browser'
- OnExecute = actToolsWebOpenPublicUrlExecute
- OnUpdate = actToolsWebOpenPublicUrlUpdate
- end
- object actToolsWebConfigure: TAction
- Category = 'Tools'
- Caption = 'Co&nfigure...'
- OnExecute = actToolsWebConfigureExecute
- end
- object actToolsWebStartServer: TAction
- Category = 'Tools'
- Caption = '&Start server'
- OnExecute = actToolsWebStartServerExecute
- OnUpdate = actToolsWebStartServerUpdate
- end
- object actToolsWebStopServer: TAction
- Category = 'Tools'
- Caption = '&Stop server'
- OnExecute = actToolsWebStopServerExecute
- OnUpdate = actToolsWebStopServerUpdate
- end
- object actWindowNew: TAction
- Category = 'Window'
- Caption = '&New window'
- OnExecute = actWindowNewExecute
- end
- end
- object ActionManager1: TActionManager
- ActionBars = <
- item
- end>
- LinkedActionLists = <
- item
- ActionList = actionsMain
- Caption = 'actionsMain'
- end>
- Left = 180
- Top = 164
- StyleName = 'XP Style'
- end
- object ilMain: TImageList
- Left = 304
- Top = 236
- Bitmap = {
- 494C01010A000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000003000000001002000000000000030
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000B5CEC600C6DED600C6DED600C6DED600C6DED600C6DED600C6E7DE000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000B5CEC600BDD6C600C6DECE00CEDED600CEDED600C6DECE00BDD6C600BDD6
- C600000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0084B58400107310001873
- 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
- 0800007B0000007300007BB57B00FFFFFF00000000000000000000000000BDD6
- CE00CEDECE00DEE7E700E7EFEF00EFF7F700EFF7EF00E7EFE700CEDED600B5CE
- C60000000000000000000000000000000000000000000000000000000000BDCE
- C600D6E7DE00EFF7EF00F7F7F700F7F7F700EFF7F700EFF7F700E7EFEF00D6DE
- D600BDCEC6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0010841000218C21002994
- 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
- 100008A5080000940000006B0000FFFFFF000000000000000000BDD6C600DEE7
- E700F7FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF
- EF00C6D6CE000000000000000000000000000000000000000000BDCEC600E7EF
- E700F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFF700F7F7F700EFF7
- F700DEE7DE00BDD6C60000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00188C180029942900399C
- 3900399C3900399C3900FFFFFF00A5D6A5004AA54A004AA54A004AA54A0029A5
- 290018A51800009C0000007B0000FFFFFF0000000000BDD6C600DEE7E700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7F7F700C6D6CE00000000000000000000000000BDCEC600E7EFE700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00F7FF
- F700EFF7F700DEE7DE00BDCEC600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0021942100399C390042A5
- 420042A5420042A54200FFFFFF00FFFFFF00A5D6A5004AA54A004AA54A0039A5
- 390021A5210008A50800087B0800FFFFFF00C6DED600D6DEDE00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00EFF7EF00BDCEC60000000000BDD6CE00D6E7DE00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
- FF00F7FFF700EFF7F700CEDED600BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0029942900429C42004AA5
- 4A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00A5D6A5004AA54A0039A5
- 390021A5210010A5100008840800FFFFFF00BDD6CE00EFF7EF00FFFFFF00FFFF
- FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
- FF00FFFFFF00FFFFFF00D6DED600BDDECE00BDD6C600EFF7F700FFFFFF00FFFF
- FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
- FF00FFFFFF00F7FFF700DEEFE700BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00319C31004AA54A0052A5
- 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A50039A5
- 390021A5210018A5180010841000FFFFFF00C6DECE00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00E7EFEF00BDD6CE00C6D6CE00FFFFFF00FFFFFF00FFFF
- FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
- FF00FFFFFF00F7FFFF00E7EFEF00BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00429C420052A552004AA5
- 4A004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
- A500219C2100219C210018841800FFFFFF00CEDED600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE00CEDED600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0042A5420052A5520052A5
- 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
- A500219C2100219C2100217B2100FFFFFF00CEDED600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE00CEDED600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0052A552005AAD5A005AAD
- 5A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A5003194
- 31002994290029942900217B2100FFFFFF00C6D6CE00FFFFFF00FFFFFF00FFFF
- FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
- FF00FFFFFF00F7FFFF00E7EFEF00BDD6CE00C6DECE00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00E7EFEF00BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0052A552006BB56B006BB5
- 6B005AAD5A0052AD5200FFFFFF00FFFFFF00FFFFFF00A5D6A500399C39003194
- 31002994290029942900217B2100FFFFFF00BDD6C600EFF7F700FFFFFF00FFFF
- FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
- FF00FFFFFF00F7FFF700DEEFE700BDD6CE00BDD6CE00EFF7EF00FFFFFF00FFFF
- FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
- FF00FFFFFF00FFFFFF00D6DED600BDDECE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF005AAD5A007BBD7B0073BD
- 730063AD63005AAD5A00FFFFFF00FFFFFF00A5D6A500429C4200429C4200399C
- 39003194310031943100217B2100FFFFFF00BDD6CE00D6E7DE00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
- FF00F7FFF700EFF7F700CEDED600BDD6CE00C6DED600D6DEDE00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00EFF7EF00BDCEC600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF006BB56B008CC68C007BBD
- 7B006BB56B0063B56300FFFFFF00A5D6A5005AAD5A0052A552004AA54A0042A5
- 4200399C390031943100217B2100FFFFFF0000000000BDCEC600E7EFE700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00F7FF
- F700EFF7F700DEE7DE00BDCEC6000000000000000000BDD6C600DEE7E700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7F7F700C6D6CE0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0073BD73009CCE9C008CC6
- 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
- 4A0042A542003194310018731800FFFFFF000000000000000000BDCEC600E7EF
- E700F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFF700F7F7F700EFF7
- F700DEE7DE00BDD6C60000000000000000000000000000000000BDD6C600DEE7
- E700F7FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF
- EF00C6D6CE000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00B5DEB50073BD730063B5
- 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
- 390031943100218C21008CBD8C00FFFFFF00000000000000000000000000BDCE
- C600D6E7DE00EFF7EF00F7F7F700F7F7F700EFF7F700EFF7F700E7EFEF00D6DE
- D600BDCEC600000000000000000000000000000000000000000000000000BDD6
- CE00CEDECE00DEE7E700E7EFEF00EFF7F700EFF7EF00E7EFE700CEDED600B5CE
- C600000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000B5CEC600BDD6C600C6DECE00CEDED600CEDED600C6DECE00BDD6C600BDD6
- C600000000000000000000000000000000000000000000000000000000000000
- 0000B5CEC600C6DED600C6DED600C6DED600C6DED600C6DED600C6E7DE000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000BDBDBD000000840000007300100000006363630000000000000000000000
- 000000000000000000000000000000000000FFFFFF0084B58400107310001873
- 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
- 0800007B0000007300007BB57B00FFFFFF00FFFFFF0052ADFF0018529400185A
- 9C00185A9C00185A9C00185AA500185AA500185A9C00185A9C00185294001852
- 940018528C00184A84004AADFF00FFFFFF00FFFFFF0084B58400107310001873
- 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
- 0800007B0000007300007BB57B00FFFFFF000000000000000000BDBDBD003131
- 31000000AD000000FF000000DE00000042005252520000000000000000000000
- 000000000000000000000000000000000000FFFFFF0010841000218C21002994
- 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
- 100008A5080000940000006B0000FFFFFF00FFFFFF00185AA500186BBD001873
- CE001873CE001873CE001873CE001873CE001873CE001873CE001873CE00186B
- C600186BBD00185AA500104A7B00FFFFFF00FFFFFF0010841000218C21002994
- 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
- 100008A5080000940000006B0000FFFFFF000000000000000000737373000000
- 42000000FF000000FF000000840000319C002121210000000000000000000000
- 000000000000000000000000000000000000FFFFFF00188C180029942900399C
- 3900399C3900399C390039A53900A5D6A500FFFFFF0021AD210018AD180010B5
- 100008AD0800009C0000007B0000FFFFFF00FFFFFF001863AD001873CE00187B
- DE00187BDE00187BE7001884E700188CF700188CF700188CF700188CF700187B
- DE00186BC6001863AD0018528C00FFFFFF00FFFFFF00188C180029942900399C
- 3900399C3900399C390039A539004AA54A00A5D6A500FFFFFF004AA54A0031A5
- 310018A51800009C0000007B0000FFFFFF00000000008C8C8C00BDBDBD000000
- 4200000084000000EF000000FF000000CE000000310073737300000000000000
- 000000000000000000000000000000000000FFFFFF0021942100399C390042A5
- 42004AA54A0042A5420042A54200FFFFFF00FFFFFF00FFFFFF0021B5210018B5
- 180010AD100008A50800087B0800FFFFFF00FFFFFF00186BC600187BDE001884
- EF00FFFFFF0084C6FF00188CF700188CF700188CF700188CF70084C6FF00FFFF
- FF001873CE00186BBD0018529400FFFFFF00FFFFFF0021942100399C390042A5
- 420042A5420042A542004AA54A00A5D6A500FFFFFF00FFFFFF004AA54A0039A5
- 390021A5210008A50800087B0800FFFFFF000000000000000000001000000000
- AD000000FF000000FF000000FF000000DE001010100000002100525252007373
- 730031009C0000313100A5A5A50000000000FFFFFF0029942900429C42004AA5
- 4A0052A552004AA54A0042A5420042AD4200FFFFFF00FFFFFF00FFFFFF0018B5
- 180010AD100010A5100008840800FFFFFF00FFFFFF001873CE001884E700188C
- F700188CFF00FFFFFF0084C6FF00188CF700188CF70084C6FF00FFFFFF001884
- E7001873D600186BC600185A9C00FFFFFF00FFFFFF0029942900429C42004AA5
- 4A0052A552004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
- 390021A5210010A5100008840800FFFFFF0000000000BDBDBD00100000000000
- 84000000FF000000CE000000EF0000008400000084000000FF000000BD000000
- 840000006300737373000021000063636300FFFFFF00319C31004AA54A0052A5
- 520052A552004AA54A004AA54A0042A5420039AD3900FFFFFF00FFFFFF00FFFF
- FF0018AD180018A5180010841000FFFFFF00FFFFFF00187BDE00188CF700188C
- FF00188CF700188CF700FFFFFF0084C6FF0084C6FF00FFFFFF00188CF7001884
- E7001873D6001873CE00185AA500FFFFFF00FFFFFF00319C31004AA54A0052A5
- 52004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
- 390021A5210018A5180010841000FFFFFF000000000021212100000021000000
- AD000000FF0000004200000084000000FF000000FF0000007300000042000000
- 420073737300313163000000AD0000006300FFFFFF00429C420052A55200FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00219C210018841800FFFFFF00FFFFFF001884E700188CFF00188C
- F700188CF700188CF700188CF700FFFFFF0084C6FF00188CF7001884EF00187B
- DE001873CE001873CE001863AD00FFFFFF00FFFFFF00429C420052A552004AA5
- 4A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042A5420031A5
- 3100219C2100219C210018841800FFFFFF00000000008C8C8C0000009C000000
- FF000000EF00000073000000EF000000FF000000EF0000003100100000005252
- 52000000EF000000FF000000DE0031316300FFFFFF0042A542005AAD5A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00219C2100217B2100FFFFFF00FFFFFF001884EF00188CFF00188C
- FF00188CF700188CF70084C6FF00FFFFFF00FFFFFF0084C6FF001884E7001873
- D6001873CE001873CE001863AD00FFFFFF00FFFFFF0042A5420052A5520052A5
- 5200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C3900299C
- 2900219C2100219C2100217B2100FFFFFF000000000010000000000042000031
- CE000000FF0000009C000000FF000000FF000000EF00000073000000AD000000
- CE000000FF000000FF000000AD0021212100FFFFFF0052A5520063AD630063AD
- 63005AAD5A0052A552004AA54A00429C4200399C3900FFFFFF00FFFFFF00FFFF
- FF00299C290029942900217B2100FFFFFF00FFFFFF00188CFF002194FF002194
- FF00188CFF0084C6FF00FFFFFF001884F7001884EF00FFFFFF0084C6FF001873
- CE001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552005AAD5A005AAD
- 5A0052A55200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C39003194
- 31002994290029942900217B2100FFFFFF00000000008C8C8C00000000000000
- AD000000FF000000EF0000007300000052000031CE000000AD000000EF000000
- EF000000BD0000006300BDBDBD0000000000FFFFFF0052A552006BB56B006BB5
- 6B005AAD5A0052A552004AA54A00429C4200FFFFFF00FFFFFF00FFFFFF002994
- 29002994290029942900217B2100FFFFFF00FFFFFF00188CFF0039A5FF0039A5
- FF0084C6FF00FFFFFF00188CFF00188CFF001884EF001884E700FFFFFF0084C6
- FF001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552006BB56B006BB5
- 6B005AAD5A0052AD5200A5D6A500FFFFFF00FFFFFF00FFFFFF00399C39003194
- 31002994290029942900217B2100FFFFFF000000000000000000000000000000
- 52000000FF000000BD000031CE000000AD00000073003100CE00525252002121
- 21000000AD00000000000000000000000000FFFFFF005AAD5A007BBD7B0073BD
- 730063AD63005AAD5A0052A55200FFFFFF00FFFFFF00FFFFFF00319C3100319C
- 31003194310031943100217B2100FFFFFF00FFFFFF002194FF0052ADFF004AAD
- FF00FFFFFF002194FF002194FF001894FF00188CF7001884EF001884E700FFFF
- FF001873CE001873CE001863AD00FFFFFF00FFFFFF005AAD5A007BBD7B0073BD
- 730063AD63005AAD5A005AAD5A00A5D6A500FFFFFF00FFFFFF00429C4200399C
- 39003194310031943100217B2100FFFFFF0000000000A5A5A500000000000000
- 52000000AD0000005200000073000031FF000000730000005200212121000000
- 100000000000000000000000000000000000FFFFFF006BB56B008CC68C007BBD
- 7B006BB56B0063B5630063AD6300B5DEB500FFFFFF004AA54A004AA54A0042A5
- 4200399C390031943100217B2100FFFFFF00FFFFFF0039A5FF006BBDFF0052AD
- FF0039A5FF00319CFF00299CFF00299CFF002194FF00188CFF001884F7001884
- EF00187BDE001873CE001863AD00FFFFFF00FFFFFF006BB56B008CC68C007BBD
- 7B006BB56B0063B5630063AD630063AD6300A5D6A500FFFFFF004AA54A0042A5
- 4200399C390031943100217B2100FFFFFF000000000000000000000000003131
- 3100000042000000CE000000AD000000DE00000063000000420000004200BDBD
- BD0000000000000000000000000000000000FFFFFF0073BD73009CCE9C008CC6
- 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
- 4A0042A542003194310018731800FFFFFF00FFFFFF004AADFF0084C6FF006BBD
- FF0052ADFF004AADFF0039A5FF00319CFF00299CFF002194FF001894FF00188C
- F7001884EF001873CE00185A9C00FFFFFF00FFFFFF0073BD73009CCE9C008CC6
- 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
- 4A0042A542003194310018731800FFFFFF000000000000000000000000000000
- 00008C8C8C002121210000004200313131008C8C8C00BDC6C600000000000000
- 000000000000000000000000000000000000FFFFFF00B5DEB50073BD730063B5
- 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
- 390031943100218C21008CBD8C00FFFFFF00FFFFFF00ADDEFF004AADFF00319C
- FF002194FF00188CFF00188CFF00188CF700188CF7001884EF001884E700187B
- DE001873CE00186BBD0063B5FF00FFFFFF00FFFFFF00B5DEB50073BD730063B5
- 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
- 390031943100218C21008CBD8C00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0000000000424D3E000000000000003E000000
- 2800000040000000300000000100010000000000800100000000000000000000
- 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFFF00000000
- FFFFFFFF00000000F00FF03F00000000F7EFF7BF00000000F7EFF7BF00000000
- F7EFF78F00000000F7EFF02F00000000F7EFF02F00000000F00FFDEF00000000
- F00FFC0F00000000FFFFFC0F00000000FFFFFFFF00000000FFFFFFFF00000000
- FFFFFFFF00000000FFFFFFFF000000008001F01FF00FFFFF0000E00FE007FFFF
- 0000C007C003FFFF000080038001FFFF000000010000F81F000000000000F81F
- 000000000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF
- 000000000000FFFF000000000001FFFF000080018003FFFF0000C003C007FFFF
- 0000E007E00FFFFF8001F00FF01FFFFFFFFF800180018001F07F000000000000
- C07F000000000000C07F000000000000003F0000000000008001000000000000
- 0000000000000000800000000000000000000000000000008000000000000000
- 00010000000000008007000000000000800F000000000000E00F000000000000
- F03F000000000000FFFF80018001800100000000000000000000000000000000
- 000000000000}
- end
- object ilEditorPages: TImageList
- Height = 32
- Width = 32
- Left = 124
- Top = 116
- Bitmap = {
- 494C010112004801040020002000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 000000000000360000002800000080000000A000000001002000000000000040
- 0100000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF000000000000000000000000000000000000000000000000000000
- 000000000000A8CAFF00A8CAFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 000000000000000000000000000000000000186BBE003783CC003783CC003783
- CC003783CC003783CC003783CC001267BC003783CC003783CC003783CC003783
- CC003783CC003783CC003783CC003783CC003783CC003783CC003783CC003783
- CC003783CC003783CC003783CC003783CC002071C2003581CB003783CC003783
- CC003783CC003783CC003783CC001267BC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 000000000000000000000000000000000000156ABD00317EC900317EC900317E
- C900317EC900317EC900317EC9001066BB00317EC900317EC900317EC900317E
- C900317EC900317EC900317EC900317EC900317EC900317EC900317EC900317E
- C900317EC900317EC900317EC900317EC9001C6FC000307DC800317EC900317E
- C900317EC900317EC900317EC9001066BB000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000003682CB007DB6EA007DB6EA007DB6
- EA007DB6EA007DB6EA007DB6EA002878C5007DB6EA007DB6EA007DB6EA007DB6
- EA007DB6EA007DB6EA007DB6EA007DB6EA007DB6EA007DB6EA007DB6EA007DB6
- EA007DB6EA007DB6EA007DB6EA007DB6EA00488FD30079B3E8007DB6EA007DB6
- EA007DB6EA007DB6EA007DB6EA002878C5000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000003E88CF0091C5F20091C5F20091C5
- F20091C5F20091C5F20091C5F2002F7CC80091C5F20091C5F20091C5F20091C5
- F20091C5F20091C5F20091C5F20091C5F20091C5F20091C5F20091C5F20091C5
- F20091C5F20091C5F20091C5F20091C5F2005397D8008CC1F00091C5F20091C5
- F20091C5F20091C5F20091C5F2002F7CC8000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE0000000000A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
- FF00A8CAFF00A8CAFF00A8CAFF0000000000CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00D6D6D6003883CC0082BAEC0082BAEC0082BA
- EC0082BAEC0082BAEC0082BAEC002A79C60082BAEC0082BAEC0082BAEC0082BA
- EC0082BAEC0082BAEC0082BAEC0082BAEC0082BAEC0082BAEC0082BAEC0082BA
- EC0082BAEC0082BAEC0082BAEC0082BAEC004A91D4007EB7EA0082BAEC0082BA
- EC0082BAEC0082BAEC0082BAEC002A79C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000007394DE000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C60000000000A8CAFF00A8CA
- FF00A8CAFF000000000000000000000000000000000000000000000000000000
- 0000A8CAFF00A8CAFF00A8CAFF00000000000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6007394DE003D87CE008DC2F1008DC2F1008DC2
- F1008DC2F1008DC2F1008DC2F1002D7CC7008DC2F1008DC2F1008DC2F1008DC2
- F1008DC2F1008DC2F1008DC2F1008DC2F1008DC2F1008DC2F1008DC2F1008DC2
- F1008DC2F1008DC2F1008DC2F1008DC2F1005196D70088BFEE008DC2F1008DC2
- F1008DC2F1008DC2F1008DC2F1002D7CC7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF0000000000A8CAFF00A8CA
- FF00000000007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
- C10000000000A8CAFF00A8CAFF0000000000FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF0000000000A8CAFF000000
- 00007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
- C1007F9AC10000000000A8CAFF0000000000FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A50000000000A8CAFF000000
- 00007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
- C1007F9AC10000000000A8CAFF0000000000A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A5000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF0000000000A8CAFF000000
- 00007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
- C1007F9AC10000000000A8CAFF0000000000A5A5A500FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000042C600166ABD003380CA003380CA003380
- CA003380CA003380CA003380CA001066BB003380CA003380CA003380CA003380
- CA003380CA003380CA003380CA003380CA003380CA003380CA003380CA003380
- CA003380CA003380CA003380CA003380CA001D6FC000317EC9003380CA003380
- CA003380CA003380CA003380CA001066BB000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A6A2A600000000007F9A
- C1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
- C1007F9AC1007F9AC10000000000FFF0FF00A5A5A500FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A79FA7000E0E0E007F9A
- C1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
- C1007F9AC1007F9AC10000000000AD94AD00A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A5000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFF2FF00101010007F9A
- C1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
- C1007F9AC1007F9AC1003A3A3A00A5A3A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFEEFF000A0A
- 0A007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
- C1007F9AC10000000000FFF8FF00A8A8A800FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000042C600166ABE003480CA003480CA003480
- CA003480CA003480CA003480CA001166BB003480CA003480CA003480CA003480
- CA003480CA003480CA003480CA003480CA003480CA003480CA003480CA003480
- CA003480CA003480CA003480CA003480CA001E70C100327FCA003480CA003480
- CA003480CA003480CA003480CA001166BB000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500ACAC
- AC001D1D1D00000000007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1000000
- 000000000000AD94AD00ADADAD00A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00AEAEAE001F1F1F0000000000000000000000000000000000AC96
- AC00FFF8FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A5000042C600478ED300A6D4FB00A6D4FB00A6D4
- FB00A6D4FB00A6D4FB00A6D4FB003581CB00A6D4FB00A6D4FB00A6D4FB00A6D4
- FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB00A6D4
- FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB005FA0DD00A0D0F900A6D4FB00A6D4
- FB00A6D4FB00A6D4FB00A6D4FB003581CB000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00FFFFFF000042C6002D7BC70068A7E10068A7E10068A7
- E10068A7E10068A7E10068A7E1002273C20068A7E10068A7E10068A7E10068A7
- E10068A7E10068A7E10068A7E10068A7E10068A7E10068A7E10068A7E10068A7
- E10068A7E10068A7E10068A7E10068A7E1003C86CE0065A4DF0068A7E10068A7
- E10068A7E10068A7E10068A7E1002273C2000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000007394DE000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6007394DE004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
- FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000002072C2004A91D4004A91D4004A91
- D4004A91D4004A91D4004A91D400186CBE004A91D4004A91D4004A91D4004A91
- D4004A91D4004A91D4004A91D4004A91D4004A91D4004A91D4004A91D4004A91
- D4004A91D4004A91D4004A91D4004A91D4002B79C600488FD3004A91D4004A91
- D4004A91D4004A91D4004A91D400186CBE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00D6D6D6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000004242420042424200424242004242
- 4200424242004242420063636300848484004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600ADADAD00D6D6D600CECECE00C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600ADADAD00D6D6D600CECECE00C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000D6D6
- D600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00D6D6D6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600A5A5A500D6D6D600C6C6C600C6C6C600C6C6C6008484
- 8400848484008484840084848400848484008484840084848400C6C6C600C6C6
- C600C6C6C600C6C6C6008484840084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000D6D6D600D6D6
- D600848484006363630063636300424242004242420063636300636363008484
- 8400D6D6D600D6D6D60000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600BDBDBD00B5B5B500B5B5
- B500B5B5B500B5B5B5009C9C9C00C6C6C600BDBDBD00B5B5B500B5B5B5008484
- 8400B5B5B500B5B5B500B5B5B500B5B5B500B5B5B50084848400B5B5B500B5B5
- B500B5B5B50084848400C6C6BD00BDBDBD008484840084848400C6C6C600CECE
- CE00CECECE00CECECE0084848400848484000000000000000000000000000000
- 0000FFFFFF00FFFFFF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00F7F7F700FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000D6D6D600636363006363
- 6300A5A5A500C6C6C600D6D6D600D6D6D600D6D6D600D6D6D600C6C6C600A5A5
- A5006363630063636300D6D6D600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000315AC6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C600315AC600E7E7E700C6C6C600C6C6C60084848400CECE
- CE00CECECE00CECECE00CECECE0084848400FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00EFEFEF00DEDEDE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600E7E7E700F7F7F700FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000D6D6D600CECECE0063636300C6C6C600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600C6C6C60063636300CECECE00D6D6D60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600B5B5B500F7F7F700C6C6C60084848400CECE
- CE00CECECE00CECECE00CECECE00CECECE00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00E7E7E700DEDEDE0000000000000000000000000000000000000000000000
- 0000D6D6D600E7E7E700F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000C6C6C60042424200C6C6C600DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00637BD600DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00C6C6C60042424200C6C6C60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E700F7F7F70084848400C6C6C600D6D6
- D600D6D6D600D6D6D60084848400D6D6D600DEDEDE00D6D6D600D6D6D600D6D6
- D600CECECE00CECECE00000000000031A5000031A5000031A5000031A5000031
- A50000000000D6D6D600E7E7E700E7E7E700EFEFEF00EFEFEF00F7F7F700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000D6D6D60063636300C6C6C600DEDEDE00DEDEDE00E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700315AC600637BD600E7E7E700E7E7
- E700E7E7E700DEDEDE00DEDEDE00C6C6C60063636300D6D6D600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF004242
- 42004242420042424200424242004242420042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E700C6C6C60084848400D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600848484000000000000000000000000000000
- 00000000000000000000000000000031A5000031A5000031A5000031A5000031
- A5000031A50000000000CECECE00CECECE00D6D6D600D6D6D600E7E7E700E7E7
- E700EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00F7F7F700FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 000000000000D6D6D60063636300C6C6C600DEDEDE00DEDEDE00DEDEDE00E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700315AC600315AC600637BD600E7E7
- E700E7E7E700DEDEDE00DEDEDE00DEDEDE00C6C6C60063636300D6D6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C6009C9C9C00A5A5A500C6C6C600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D60000000000E7E7E700D6D6D600C6C6
- C600B5B5B500A5A5A500000000000042C6000042C6000042C6000042C6000042
- C6000042C6000031A50000000000000000000000000000000000CECECE00CECE
- CE00CECECE00CECECE00D6D6D600D6D6D600D6D6D600E7E7E700EFEFEF00F7F7
- F700FFFFFF000000000000000000000000000000000000000000000000000000
- 000000000000D6D6D60063636300DEDEDE00DEDEDE00DEDEDE00637BD600315A
- C600315AC600315AC600315AC600315AC600315AC6000042C600315AC600637B
- D600E7E7E700DEDEDE00DEDEDE00DEDEDE00DEDEDE0063636300D6D6D6000000
- 000000000000000000000000000000000000000000000000000000000000CECE
- CE0000000000000000000000000000000000000000000000000000000000CECE
- CE000000000000000000000000000000000000000000CECECE00000000000000
- 00000000000000000000000000000000000000000000CECECE00000000000000
- 00000000000000000000CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600C6C6C600D6D6D600DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
- 00000000000000000000000000000031A5000031A5000031A5000031A5000031
- A5000031A5000031A5000031A5000031A5000031A50000000000000000000000
- 00000000000000000000000000000000000000000000CECECE00D6D6D600E7E7
- E700F7F7F700FFFFFF0000000000000000000000000000000000000000000000
- 00000000000084848400A5A5A500E7E7E700E7E7E700E7E7E700315AC6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C600315A
- C600637BD600E7E7E700E7E7E700E7E7E700E7E7E700A5A5A500848484000000
- 00000000000000000000000000000000000000000000000000000042C600CECE
- CE000000000000000000000000000000000000000000000000000042C600CECE
- CE00000000000000000000000000000000000042C600CECECE00000000000000
- 0000000000000000000000000000B1C3ED000042C600B1C3ED00CECECE000000
- 0000000000000042C600CECECE00000000000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C600C6C6C600D6D6D600DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
- 00000000000000000000000000000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C60000000000E7E7E700DEDE
- DE00DEDEDE00CECECE00CECECE00CECECE00C6C6C6000000000000000000D6D6
- D600E7E7E700F7F7F700FFFFFF00000000000000000000000000000000000000
- 00000000000063636300C6C6C600E7E7E700E7E7E700E7E7E700315AC6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C600315AC600637BD600E7E7E700E7E7E700E7E7E700C6C6C600636363000000
- 00000000000000000000000000000000000000000000000000004576DB00B1C3
- ED00CECECE0000000000000000000000000000000000B1C3ED004576DB000000
- 00000000000000000000CECECE00CECECE000042C600CECECE00000000000000
- 0000CECECE0000000000000000000042C600CECECE000042C600000000000000
- 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C6004A4A4A004242420042424200424242004242
- 42004242420042424200424242004242420000000000D6D6D600D6D6D600CECE
- CE00CECECE00CECECE00000000000031A5000031A5000031A5000031A5000042
- C6000042C600315AC600315AC600315AC600315AC60000000000FFFFFF00FFFF
- FF00FFFFFF00F7F7F700F7F7F700EFEFEF00E7E7E700DEDEDE00CECECE000000
- 0000D6D6D600E7E7E700F7F7F700FFFFFF000000000000000000000000000000
- 00000000000063636300E7E7E700E7E7E700E7E7E700E7E7E700315AC6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C600315AC600637BD600E7E7E700E7E7E700E7E7E700636363000000
- 0000000000000000000000000000000000000000000000000000B1C3ED000042
- C600CECECE00CECECE00CECECE00CECECE00CECECE000042C600B1C3ED000000
- 0000B1C3ED004576DB004576DB00B1C3ED000042C600CECECE00000000004576
- DB00CECECE0000000000000000000042C6000042C600B1C3ED00000000000000
- 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000315AC600315AC600315AC600315AC600315A
- C6007394DE00EFEFEF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
- 00000000000000000000000000005A5A5A00FFFFFF00FFFFFF00EFEFEF00DEDE
- DE0000000000D6D6D600E7E7E700F7F7F7000000000000000000000000000000
- 00000000000042424200EFEFEF00EFEFEF00EFEFEF00EFEFEF00315AC6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C600315AC600637BD600EFEFEF00EFEFEF00424242000000
- 0000000000000000000000000000000000000000000000000000000000004576
- DB000042C6000042C6000042C6000042C6000042C6004576DB00000000000000
- 00004576DB00CECECE007394DE004576DB000042C600CECECE00B1C3ED004576
- DB000000000000000000000000000042C600CECECE0000000000000000000000
- 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 00000000000000000000000000000000000000000000E7E7E700D6D6D600C6C6
- C600B5B5B500A5A5A50000000000EFEFEF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00EFEFEF007394DE0000000000000000000000000000000000000000000000
- 0000000000000000000000000000DEDEDE00000000005A5A5A00FFFFFF00F7F7
- F700E7E7E70000000000D6D6D600EFEFEF000000000000000000000000000000
- 00000000000042424200EFEFEF00EFEFEF00EFEFEF00EFEFEF00315AC6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C600315AC600637BD600EFEFEF00EFEFEF00424242000000
- 000000000000000000000000000000000000000000000000000000000000B1C3
- ED000042C600CECECE0000000000000000000042C600B1C3ED00000000000000
- 00000042C600CECECE0000000000000000000042C6000042C6004576DB00B1C3
- ED000000000000000000000000004576DB007394DE00CECECE00000000000000
- 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000007394DE007394DE007394DE007394DE007394
- DE00315AC6000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000DEDEDE005A5A5A00FFFF
- FF00FFFFFF00EFEFEF0000000000E7E7E7000000000000000000000000000000
- 00000000000063636300EFEFEF00EFEFEF00EFEFEF00EFEFEF00315AC6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C600315AC600637BD600EFEFEF00EFEFEF00EFEFEF00636363000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00004576DB00B1C3ED0000000000B1C3ED004576DB0000000000000000000000
- 00004576DB00000000007394DE004576DB000042C600CECECE00000000000000
- 0000000000000000000000000000000000000042C6007394DE00000000000000
- 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000315AC600315AC600315AC600315AC600315A
- C600000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000DEDEDE000000
- 0000FFFFFF00FFFFFF0000000000D6D6D6000000000000000000000000000000
- 00000000000063636300C6C6C600EFEFEF00EFEFEF00EFEFEF00315AC6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C600315AC600637BD600EFEFEF00EFEFEF00EFEFEF00C6C6C600636363000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000B1C3ED000042C600CECECE000042C600B1C3ED0000000000000000000000
- 0000B1C3ED004576DB004576DB00B1C3ED000042C600CECECE00000000000000
- 00000000000000000000000000000042C600B1C3ED00CECECE00000000000000
- 0000000000004576DB0000000000000000000042C600FFFFFF00FFFFFF004242
- 420042424200424242004242420042424200FFFFFF0042424200424242004242
- 4200424242004242420042424200FFFFFF004242420042424200424242004242
- 4200FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000005A5A
- 5A00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 00000000000084848400A5A5A500F7F7F700F7F7F700F7F7F700315AC6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C600315A
- C600637BD600F7F7F700F7F7F700F7F7F700F7F7F700A5A5A500848484000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000004576DB00000000004576DB000000000000000000000000000000
- 0000CECECE00CECECE00CECECE00CECECE000042C600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00B1C3ED000042C60000000000CECECE00CECE
- CE004576DB00B1C3ED0000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000DEDE
- DE0000000000FFFFFF00FFFFFF00000000000000000000000000000000000000
- 000000000000D6D6D60063636300F7F7F700F7F7F700F7F7F700637BD600315A
- C600315AC600315AC600315AC600315AC600315AC6000042C600315AC600637B
- D600E7E7E700F7F7F700F7F7F700F7F7F700F7F7F70063636300D6D6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000B1C3ED000042C600B1C3ED000000000000000000000000000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000000000000000000B1C3ED004576DB000042C6004576
- DB00B1C3ED000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00005A5A5A00FFFFFF00FFFFFF00525252000000000000000000000000000000
- 0000000000000000000063636300D6D6D600F7F7F700F7F7F700F7F7F700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700315AC600315AC600637BD600E7E7
- E700E7E7E700F7F7F700F7F7F700F7F7F700D6D6D60063636300000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF004242
- 420042424200424242004242420042424200424242004242420042424200FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000084848400FFFFFF00FFFFFF00848484000000000000000000000000000000
- 000000000000000000000000000063636300D6D6D600FFFFFF00FFFFFF00E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700315AC600637BD600E7E7E700E7E7
- E700E7E7E700FFFFFF00FFFFFF00D6D6D6006363630000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000A5A5A500F7F7F700F7F7F700A5A5A5000000000000000000000000000000
- 00000000000000000000000000000000000042424200D6D6D600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00637BD600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00D6D6D600424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000C6C6C600F7F7F700F7F7F700BDBDBD000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C60063636300D6D6D600FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00D6D6D60063636300C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF004242
- 42004242420042424200424242004242420042424200FFFFFF00424242004242
- 4200424242004242420042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000DEDEDE00FFFFFF00FFFFFF00DEDEDE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000636363006363
- 6300A5A5A500C6C6C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600A5A5
- A500636363006363630000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000D6D6
- D600848484006363630063636300424242004242420063636300636363008484
- 8400D6D6D6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF004242
- 4200424242004242420042424200424242004242420042424200FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000315AC6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C600315AC600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000D6D6
- D600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00D6D6D60000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000BDBDBD00B5B5B500C6C6
- C600D6D6D600DEDEDE0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C60000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000637BD600315AC6000042C6000042
- C600315AC600637BD6008494C6008494C600ADADAD00BDBDBD00CECECE00D6D6
- D600DEDEDE000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000002963
- CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000042C60000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000315AC600EFDED600F7F7E700F7F7E700F7F7
- E700D6D6CE00CECEC600A5A59C00637BD600315AC6000042C6000042C600315A
- C600637BD6008494C6009C9C9C00ADADAD00BDBDBD00D6D6D600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000002963
- CE00FFFFFF00FFFFFF00FFFFFF000042C600FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000042C60084848400ADADAD00D6D6D600EFEFEF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFDED600F7F7E700F7F7E700F7F7
- E700F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00CECE
- C600C6C6BD00637BD600315AC6000042C6000042C6008494C600DEDEDE000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000002963
- CE00FFFFFF00FFFFFF000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000042C60063636300636363007373730094949400B5B5B500D6D6
- D600000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFDED600F7F7E7007B7B73006B6B
- 63007B7B73007B7B73006B6B6B00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7F7
- F700F7FFF700FFFFF700FFFFF700FFFFF700FFFFF700315AC600D6D6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000002963
- CE00FFFFFF00FFFFFF000042C6000042C600FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000042C6006B6B6B006363630063636300636363006B6B6B007B7B
- 7B0094949400C6C6C600EFEFEF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7D600F7F7E700F7F7E700F7F7
- EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7FF
- F700FFFFF700FFFFF700FFFFF700FFFFF700FFFFFF000042C600D6D6D6000000
- 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00D6D6D6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000002963
- CE00FFFFFF00FFFFFF000042C6000042C6000042C600FFFFFF000042C600FFFF
- FF00FFFFFF000042C600CECECE00ADADAD00848484006B6B6B00636363006363
- 63006363630063636300737373009C9C9C00C6C6C600EFEFEF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7D600F7F7E7007B7B73007B7B
- 73007B7B73006B6B6B009C9C9400F7F7EF00F7F7EF00F7F7F700F7FFF700F7FF
- F700FFFFF700FFFFF700FFFFF700FFFFFF00FFFFFF000042C600D6D6D6000000
- 0000000000000000000000000000000000004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 420042424200424242004242420042424200D6D6D600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00D6D6D6000000000000000000000000002963
- CE00FFFFFF00FFFFFF00FFFFFF000042C6000042C6000042C6000042C600FFFF
- FF00FFFFFF000042C600E7E7E700E7E7E700D6D6D600BDBDBD009C9C9C008484
- 84006B6B6B006363630063636300636363006B6B6B0084848400ADADAD00DEDE
- DE00000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7D600F7F7EF00F7F7EF00F7F7
- EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7FFF700F7FFF700FFFF
- F700FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00D6D6D600D6D6D600424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242000000000000000000000000002963
- CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C6000042C6000042C600FFFF
- FF00FFFFFF000042C600E7E7E700E7E7E700E7E7E700E7E7E700DEDEDE00CECE
- CE00B5B5B500949494007B7B7B00636363006363630063636300636363008484
- 8400DEDEDE000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7F7EF00F7F7EF00F7F7
- EF00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7F7F700F7FFF700FFFFF700FFFF
- F700FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 8400424242004242420042424200424242004242420042424200424242008484
- 8400CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6
- D600D6D6D600D6D6D600D6D6D60042424200C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000002963
- CE00FFFFFF00FFFFFF00FFFFFF000042C6000042C6000042C6000042C600FFFF
- FF00FFFFFF000042C600F7F7F700EFEFEF00E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700DEDEDE00C6C6C6009C9C9C006B6B6B0063636300636363006363
- 6300ADADAD000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7F7EF00F7F7EF00F7F7
- EF00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7FFF700FFFFF700FFFFF700FFFF
- F700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 4200DEDEDE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600C6C6C6004242
- 4200CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D60042424200C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000002963
- CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000042C600FFFFFF00FFFFFF00EFEFEF00E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700DEDEDE009494940063636300636363006363
- 6300949494000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00E7E7DE00B5BDB500D6D6
- CE00F7F7EF00F7F7EF00F7F7F700F7FFF700F7FFF700FFFFF700FFFFF700FFFF
- F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600CECECE004242
- 4200DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE004242
- 4200CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600424242008484840084848400848484008484
- 84008484840084848400C6C6C600C6C6C600C6C6C600C6C6C600849CCE001852
- D6004A73D6009CADD600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000002963
- CE002963CE002963CE002963CE002963CE002963CE002963CE002963CE002963
- CE002963CE000042C600FFFFFF00FFFFFF00FFFFFF00F7F7F700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700B5B5B50063636300636363006363
- 6300BDBDBD000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00E7E7DE00B5BDB5008C8C
- 84007B7B7B006B6B6B007B7B7B007B7B7B006B6B6B007B7B7B009C9C9C00BDBD
- BD00BDBDBD00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600CECECE00CECECE00CECECE008484
- 8400424242004242420042424200424242004242420042424200424242008484
- 8400CECECE00CECECE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D60042424200C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C6001852E700294A
- C6004263CE001039D6002152E7006B8CDE00ADBDD600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 000000000000BDBDBD008C8C8C0094949400D6D6D600F7F7F700CECECE00F7F7
- F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7F700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700ADADAD0063636300636363007373
- 7300DEDEDE000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7F7EF00F7F7EF00F7F7
- EF00F7F7F700F7F7F700F7FFF700FFFFF700FFFFF700FFFFF700CECECE00BDBD
- BD00ADADAD0084847B00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600424242008484840084848400CECECE00CECE
- CE00CECECE0084848400CECECE00CECECE00CECECE009CB5D6001842D600E7EF
- CE00FFF7CE00E7E7CE0094A5CE003152CE001042DE004273E7009CADCE00CECE
- CE00CECECE00CECECE0042424200424242004242420042424200CECECE00CECE
- CE00CECECE00CECECE00CECECE00424242000000000000000000000000000000
- 0000E7E7E700A5A5A5008C8C8C009C9C9C00EFEFEF00D6D6D6009C9C9C00EFEF
- EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFEF
- EF00E7E7E700E7E7E700E7E7E700DEDEDE008C8C8C0063636300636363009494
- 9400000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7F7EF007B7B7B006B6B
- 6B007B7B7B007B7B7B006B6B6B007B7B7B008C8C8C00BDBDBD00BDBDBD00EFEF
- EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C600C6C6C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D60042424200CECECE00CECECE0084848400CECE
- CE00CECECE0084848400CECECE00CECECE00CECECE00849CE7007394E700FFFF
- FF00FFFFF700FFF7DE00FFEFCE00FFF7CE00BDC6CE000839C600316BDE00CECE
- CE00CECECE00CECECE0042424200CECECE00CECECE00CECECE00CECECE004242
- 4200CECECE00CECECE0042424200CECECE000000000000000000000000000000
- 0000CECECE00949494008C8C8C00BDBDBD00F7F7F700B5B5B500ADADAD00F7F7
- F700FFFFFF00E7E7E700ADADAD00ADADAD00FFFFFF00FFFFFF00FFFFFF00F7F7
- F700E7E7E700E7E7E700E7E7E700CECECE0073737300636363006B6B6B00BDBD
- BD00000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7F7EF00F7F7EF00F7F7
- F700F7FFF700F7FFF700FFFFF700FFFFF700DEDEDE00BDBDBD00BDBDBD008484
- 7B008484840073737300DEDEDE00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C600D6D6D600D6D6D600D6D6D60042424200CECECE00CECECE00CECECE008484
- 8400CECECE0084848400CECECE00CECECE00CECECE00527BEF00BDCEF700DEDE
- F700FFFFFF00FFFFFF00FFF7E700FFEFCE00FFF7CE00294AC6004A7BD600CECE
- CE00CECECE00CECECE00CECECE0042424200CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE000000000000000000000000000000
- 0000B5B5B5008C8C8C008C8C8C00DEDEDE00EFEFEF0094949400ADADAD00EFEF
- EF00CECECE009C9C9C00A5A5A500DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00EFEFEF00E7E7E700E7E7E700A5A5A500636363006363630084848400DEDE
- DE00000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7F7EF009C9C94007B7B
- 7B006B6B6B007B7B7B007B7B7B00ADADAD00BDBDBD00BDBDBD00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200C6C6C600CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600DEDEDE00424242008484840084848400CECECE008484
- 8400CECECE0084848400CECECE00CECECE00B5C6DE004A73E700B5BDEF00BDC6
- EF00ADB5E700C6CEEF00FFFFFF00FFEFCE00D6DECE000031CE009CB5DE00CECE
- CE00CECECE00CECECE00CECECE00CECECE0042424200CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE0042424200000000000000000000000000E7E7
- E7009C9C9C008C8C8C00A5A5A500F7F7F700D6D6D6008C8C8C008C8C8C00ADAD
- AD009C9C9C00BDBDBD00EFEFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00EFEFEF00E7E7E700D6D6D6008C8C8C006363630063636300A5A5A5000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7F7F700F7F7F700F7FF
- F700FFFFF700FFFFF700FFFFF700BDBDBD00BDBDBD00ADADAD0084847B008484
- 8400737373009C9C9C00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600DEDEDE00DEDEDE004242420084848400D6D6D600D6D6D6008484
- 8400D6D6D60084848400D6D6D600D6D6D6007B94E700849CE700848CDE005273
- D600B5BDEF00FFFFFF00FFFFFF00FFF7DE007B8CC6001852E700CECED600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D60042424200D6D6D6004242
- 4200D6D6D600D6D6D600D6D6D600D6D6D600000000000000000000000000CECE
- CE008C8C8C008C8C8C00C6C6C600F7F7F700B5B5B500ADADAD00ADADAD008C8C
- 8C00DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7F7F700E7E7E700BDBDBD00737373006363630073737300C6C6C6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7F7F700F7FFF700FFFF
- F700FFFFF700FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
- CE000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C600DEDEDE00DEDEDE00DEDEDE0042424200D6D6D600D6D6D60084848400D6D6
- D600D6D6D60084848400D6D6D600D6D6D6006B8CEF00B5C6F70094A5E7008CA5
- E700EFF7FF00FFFFFF00FFFFFF00F7FFE700294AC600638CDE00D6D6D600D6D6
- D600D6D6D600D6D6D60042424200D6D6D600D6D6D60042424200D6D6D600D6D6
- D600D6D6D600D6D6D60042424200D6D6D600000000000000000000000000ADAD
- AD008C8C8C0094949400D6D6D600EFEFEF009C9C9C00CECECE00DEDEDE008C8C
- 8C00EFEFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7F7F700E7E7E7009C9C9C00636363006363630084848400E7E7E7000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7FFF700F7FFF700FFFF
- F700FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00424242008484840084848400D6D6D600D6D6
- D600D6D6D60084848400D6D6D600D6D6D600B5BDDE0094ADF700D6E7FF00D6DE
- F700D6DEF700FFFFFF00FFFFFF00CECEE7000031D600A5BDDE00D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D6004242420042424200D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D60042424200000000000000000000000000BDBD
- BD008C8C8C0094949400CECECE00E7E7E700BDBDBD00EFEFEF00FFFFFF00ADAD
- AD00B5B5B500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7F7F700CECECE00848484006363630063636300ADADAD00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00F7FFF700BDBDB500BDBD
- B500CECECE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE0042424200D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D60084848400D6D6D600D6D6D600D6D6D600D6D6D600BDC6D600A5B5
- E700B5CEFF00E7EFFF00F7FFFF00637BD600215AE700D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600000000000000000000000000E7E7
- E700A5A5A5008C8C8C00ADADAD00EFEFEF00F7F7F700FFFFFF00FFFFFF00DEDE
- DE009C9C9C00E7E7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7F7F700B5B5B5006B6B6B00636363006B6B6B00DEDEDE00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7DE00FFFFF700BDBDB500BDBD
- BD009C9C9C007B7B7B007B847B00DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00424242008484840084848400848484008484
- 84008484840084848400DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00D6D6D600ADBDDE008C9CE7002952DE008CA5DE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
- 0000E7E7E700C6C6C600A5A5A500B5B5B500D6D6D600EFEFEF00FFFFFF00FFFF
- FF00D6D6D600EFEFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00EFEFEF009494940063636300636363008484840000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600EFE7E700FFFFF700DEDED600FFFF
- F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E752000042424200DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
- 0000000000000000000000000000D6D6D600BDBDBD00ADADAD00BDBDBD00DEDE
- DE00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00E7E7E700737373006363630063636300B5B5B50000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600F7E7E700FFFFF7008C8C8C007B7B
- 7B007B7B7B0084847B008C8C8C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 00000000000000000000000000000000000042424200E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E752000042424200DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000D6D6D600B5B5
- B500ADADAD00C6C6C600DEDEDE00EFEFEF00FFFFFF00FFFFFF00FFFFFF00F7F7
- F700ADADAD00636363006363630073737300E7E7E70000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600F7E7E700FFFFF700FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 000000000000000000000000000000000000C6C6C60042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200C6C6C6004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000E7E7E700CECECE00BDBDBD00BDBDBD00CECECE00DEDEDE00DEDEDE00C6C6
- C6007B7B7B006363630063636300949494000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600F7E7E7008C8C8C00BDBDBD00FFFF
- FF00D6D6D600C6C6C600FFF7F700FFF7F700EFD6D600FFFFFF00FFFFFF00F7EF
- EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000E7E7E700C6C6C600B5B5B500A5A5A5009494
- 94006B6B6B006363630073737300CECECE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C600E7CECE00636363006B6B6B00EFCE
- CE00636363007B7B7B00B5ADB500EFDEDE006363630084848400FFFFFF007373
- 730073737300F7DEDE006363630084848400EFE7EF000042C600D6D6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000EFEFEF00DEDEDE00B5B5
- B5007B7B7B0084848400C6C6C600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000637BD600637BD600315AC60063636300315A
- C600315AC6007B7B7B008494C600315AC600315AC6006B6B6B008494C6008494
- C600737373008494C6008494C600848484009C9C9C00637BD600EFEFEF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000006B6B6B008C8C8C00848484008C8C
- 8C008C8C8C007B7B7B0094949400848484008C8C8C007B7B7B00315AC600637B
- D6006B6B6B00315AC600315AC6007B7B7B007B7B7B008494C600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000CECECE00EFEFEF00F7F7
- F700B5B5B500C6C6C600F7F7F700A5A5A50094949400CECECE00BDBDBD007B7B
- 7B009C9C9C00BDBDBD006B6B6B006B6B6B00D6D6D60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000042
- C600D6D6D600D6D6D60000000000000000000000000000000000000000000042
- C600D6D6D6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000E7E7E700DEDEDE00DEDEDE00DEDEDE00DEDEDE00E7E7E7000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000042
- C6000042C600CECECE00000000000000000000000000000000000042C6000042
- C600CECECE000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000E7E7E700D6D6
- D600C6C6CE009CADCE006384CE004A73C600527BC6006B8CC60094A5CE00C6CE
- CE00D6D6D600DEDEDE0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000DEDEDE00D6D6D6000042
- C6000042C600C6C6C600D6D6D6000000000000000000000000000042C6000042
- C600C6C6C600CECECE00D6D6D600DEDEDE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000E7E7E700CECECE008C9CCE00295A
- C6000042C600104AC600295AC6002963CE00215AC600215AC600104AC6000042
- C6001852C6008494C600CECECE00DEDEDE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C6000042C6000042C6000042
- C6000042C6000042C600CECECE0000000000000000000042C6007394DE000042
- C6000042C6000042C6000042C600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000D6D6D600CECE
- CE00D6D6D6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000DEDEDE009CADC6001052C600084AC600527B
- CE00CED6DE00E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700D6DE
- E7006B8CD600084AC600084AC6007B94C600D6D6D60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000042C6007394DE000042
- C6000042C6000042C600C6C6C600D6D6D600000000000042C6007394DE007394
- DE000042C6000042C60000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000042C6002963CE00ADB5
- EF00CECECE000000000000000000000000000000000000000000000000000000
- 00000000000000000000DEDEDE005A7BC6000042C6004273CE00DEDEE700E7E7
- E700E7E7E700E7E7E700DEDEDE00D6D6D600E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E7006B8CD6000042C600396BC600CECED600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000000042C6007394
- DE000042C6000042C6000042C600C6C6C6000042C6007394DE007394DE000042
- C6000042C600E7E7E70000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000042C6000042C6000042C6002963
- CE00D6D6D6000000000000000000000000000000000000000000000000000000
- 000000000000DEDEDE005A7BC600084AC600ADBDDE00E7E7E700E7E7E700E7E7
- E700E7E7E700BDBDBD006B6B6B0063636300A5A5A500E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700B5C6DE00104AC600295AC600CED6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE000042
- C6007394DE000042C6000042C600ADADAD000042C6007394DE000042C6000042
- C600C6C6C600CECECE00CECECE00D6D6D6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000042C6000042C6000042C600ADB5EF002963
- CE00000000000000000000000000000000000000000000000000000000000000
- 0000E7E7E7006B8CC6000842C600BDC6DE00E7E7E700E7E7E700E7E7E700E7E7
- E700DEDEDE006B6B6B00636363006363630063636300C6C6C600BDBDBD00DEDE
- DE00E7E7E700E7E7E700E7E7E700E7E7E700CED6DE00104AC600396BC600DEDE
- DE0000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00D6D6D6008484840042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 42000042C6007394DE000042C6000042C6007394DE000042C6000042C6004A4A
- 4A00424242004242420042424200848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000042C6000042C6000042C600ADB5EF002963CE000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000ADB5CE000042C60094A5D600E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700C6C6C6006363630063636300636363006363630094949400ADADAD00B5B5
- B500E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700BDCEDE00084AC600849C
- C600000000000000000000000000000000007394DE000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6007394DE0042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000042C6000042C6000042C6000042C6000042C600C6C6C600D6D6
- D600EFEFEF00FFFFFF00FFFFFF00424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000042C6000042C6000042C600ADB5EF002963CE00000000000000
- 000000000000000000000000000000000000000000000000000000000000E7E7
- E7002152C6004273CE00E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700B5B5B5006363630063636300636363006363630084848400D6D6D600B5B5
- B500E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E7007B94CE00084A
- C600D6D6DE000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7F7F7000042C6000042C6000042C6000042C6000042C6000042C600C6C6
- C600D6D6D600F7F7F700FFFFFF00424242000000000000000000000000000000
- 00000000000000000000000000000000000000000000D6D6D600CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6D600000000000000
- 00000042C6000042C6000042C600ADB5EF002963CE0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000009CAD
- CE000042C600E7E7EF00E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700A5A5A500636363006363630063636300636363007B7B7B00E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700DEDEDE001852
- C6006384C6000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C600CECECE00F7F7F700FFFFFF00424242000000000000000000000000000000
- 00000000000000000000E7E7E700CECECE00ADB5EF007394DE00315AC6000042
- C6000042C6000042C600315AC6007394DE00ADB5EF00BDBDBD00C6C6C6000042
- C6000042C6000042C600ADB5EF002963CE00E7E7E70000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000003163
- C6004273CE00FFFFFF00E7E7E700E7E7E700E7E7E700C6C6C6008C8C8C009494
- 94006B6B6B006363630063636300636363006363630063636300DEDEDE00E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700638C
- CE001852C600E7E7E70000000000000000000042C600A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A5000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF000042C6007394DE000042C6000042C6000042C6000042C6000042C6000042
- C600CECECE00F7F7F700FFFFFF0042424200D6D6D600CECECE00CECECE00CECE
- CE00CECECE00C6C6C600ADB5EF000042C600315AC600BDC6CE00F7EFCE00F7EF
- CE0084848400F7EFCE00F7EFCE00BDC6CE00315AC6000042C600315AC600ADB5
- EF002963CE00ADB5EF002963CE00C6C6C600CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00D6D6D6000000000000000000E7E7E7000842
- C600A5BDDE00FFFFFF00F7F7F700E7E7E700ADADAD0063636300636363006363
- 630063636300636363006363630063636300636363006363630094949400E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700CED6
- D6000042C600ADBDD60000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF000042C6007394DE000042C6000042C6000042C6000042C6000042C6000042
- C600D6D6D600F7F7F700FFFFFF0042424200A5A5A50042424200424242004242
- 420042424200848484000042C600BDC6CE00F7EFCE00F7EFCE00F7EFCE00F7EF
- CE0084848400F7EFCE00F7EFCE00F7EFCE00F7EFCE00BDC6CE000042C6002963
- CE00ADB5EF002963CE004A4A4A00424242004242420042424200424242004242
- 4200424242004242420042424200A5A5A5000000000000000000ADBDD6000042
- C600F7F7F700FFFFFF00FFFFFF00C6C6C6006363630063636300636363006363
- 630063636300636363006363630063636300636363006363630063636300CECE
- CE00E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700DEDE
- DE001852C6007394CE0000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF000042C6007394DE007394DE000042C6000042C6000042C6000042C6000042
- C600EFEFEF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF009C9C
- 9C00ADB5EF000042C60084848400848484008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484000042
- C600315AC600CECECE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00424242000000000000000000849CCE001852
- C600F7F7F700FFFFFF00FFFFFF009C9C9C006363630063636300636363006363
- 630063636300636363006363630063636300636363006363630063636300A5A5
- A500E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700DEDE
- DE003163C6004A73C60000000000000000000042C600A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A5000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000042C6007394DE007394DE007394DE000042C6000042C600EFEF
- EF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF009C9C
- 9C000042C600ADB5EF00FFFFFF00F7EFCE00F7EFCE0084848400F7EFCE00F7EF
- CE00F7EFCE00F7EFCE00F7EFCE0084848400F7EFCE00F7EFCE00F7EFCE00BDC6
- CE000042C600C6C6C60094949400F7F7F700FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF004242420000000000000000006B8CCE001852
- C600F7F7F700FFFFFF00FFFFFF00A5A5A5006363630063636300636363006363
- 63006363630063636300636363006363630073737300CECECE00D6D6D600CECE
- CE00E7E7E700E7E7E700E7E7E7008C8C8C00C6C6C600E7E7E700E7E7E700DEDE
- DE00426BC6003163C60000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF000042C6000042C6000042C6000042C600F7F7F700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200A5A5A500A5A5A5008484
- 8400315AC600FFFFFF00FFFFFF00F7EFCE00F7EFCE0084848400F7EFCE00F7EF
- CE00F7EFCE00F7EFCE00F7EFCE0084848400F7EFCE00F7EFCE00F7EFCE00F7EF
- CE00315AC600A5A5A500949494009C9C9C00A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A5004242420000000000000000006B8CCE002963
- C600F7F7F700FFFFFF00FFFFFF00B5B5B5007B7B7B0063636300636363006363
- 630063636300636363006363630063636300ADADAD00848484006B6B6B00ADAD
- AD00E7E7E700E7E7E700C6C6C60063636300A5A5A500E7E7E700E7E7E700DEDE
- DE004273C6004273C60000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF007394
- DE00ADB5EF0084848400C6C6C600FFFFFF00F7EFCE0084848400F7EFCE008484
- 8400C6C6C600F7EFCE00F7EFCE0084848400F7EFCE0084848400F7EFCE00F7EF
- CE00BDC6CE007394DE00CECECE00F7F7F700A5A5A500FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00424242000000000000000000849CD6001852
- C600EFEFEF00FFFFFF00FFFFFF00DEDEDE008C8C8C0073737300636363006363
- 6300636363006363630063636300636363007373730063636300636363006B6B
- 6B00D6D6D600E7E7E7008C8C8C006363630094949400E7E7E700E7E7E700DEDE
- DE003163BD004A73CE0000000000000000000042C600A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF00315A
- C600FFFFFF0084848400C6C6C600FFFFFF00F7EFCE0084848400F7EFCE00C6C6
- C60084848400F7EFCE00F7EFCE0084848400F7EFCE0084848400C6C6C600F7EF
- CE00F7EFCE00315AC600CECECE00F7F7F700A5A5A500FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00424242000000000000000000B5C6E7000842
- C600E7E7E700FFFFFF00FFFFFF00FFFFFF00ADADAD008C8C8C006B6B6B00BDBD
- BD00D6D6D600BDBDBD00C6C6C600848484006363630063636300A5A5A500ADAD
- AD00A5A5A500A5A5A50063636300636363006B6B6B00C6C6C600CECECE009494
- 9400104ABD007394D60000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400FFFFFF00FFFFFF00FFFFFF004242420042424200A5A5A500A5A5A5000042
- C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0084848400F7EFCE00F7EF
- CE00F7EFCE00F7EFCE00F7EFCE0084848400F7EFCE00F7EFCE00F7EFCE00F7EF
- CE00F7EFCE000042C600949494009C9C9C00A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500424242000000000000000000EFEFF7000042
- C6009CADCE00F7F7F700FFFFFF00E7E7E700ADADAD00F7F7F700F7F7F700BDBD
- BD00DEDEDE00C6C6C600949494006B6B6B006363630063636300636363006363
- 6300636363006363630063636300636363006363630063636300636363006B6B
- 6B000042C600CED6EF0000000000000000000042C600FFFFFF00FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF000042
- C600848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400848484000042C600CECECE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00424242000000000000000000000000003163
- C600426BC600E7E7E700FFFFFF00DEDEDE00A5A5A500ADADAD00CECECE00ADAD
- AD008C8C8C0073737300ADADAD00737373006363630063636300636363006363
- 630063636300636363006363630063636300636363006363630063636300425A
- 9400104AC6000000000000000000000000000042C600A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A5000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF000042
- C600FFFFFF00FFFFFF0084848400FFFFFF00FFFFFF00FFFFFF00F7EFCE00F7EF
- CE0084848400F7EFCE00F7EFCE00F7EFCE00F7EFCE00F7EFCE0084848400F7EF
- CE00F7EFCE000042C600CECECE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00424242000000000000000000000000009CB5
- DE000842C600C6C6D600F7F7F700FFFFFF00FFFFFF009C9C9C008C8C8C008C8C
- 8C008C8C8C0073737300B5B5B500CECECE007B7B7B0063636300636363006363
- 63006363630063636300636363006363630063636300636363006B6B6B00084A
- BD006B8CD6000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400FFFFFF00FFFFFF00FFFFFF004242420042424200A5A5A500A5A5A500315A
- C600FFFFFF00FFFFFF0084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7EF
- CE0084848400F7EFCE00F7EFCE00F7EFCE00F7EFCE00F7EFCE0084848400F7EF
- CE00BDC6CE00315AC600949494009C9C9C00A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500FFFFFF00FFFFFF00424242000000000000000000000000000000
- 0000215AC600426BC600DEDEDE00F7F7F700CECECE00D6D6D600C6C6C600C6C6
- C600B5B5B5008C8C8C00848484006B6B6B006363630063636300636363006363
- 630063636300636363006363630063636300636363006B6B6B00426394000842
- C600000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
- FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF007394
- DE00ADB5EF00FFFFFF0084848400FFFFFF0084848400FFFFFF00FFFFFF00FFFF
- FF0084848400F7EFCE0084848400C6C6C600F7EFCE00F7EFCE0084848400F7EF
- CE00BDC6CE007394DE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00424242000000000000000000000000000000
- 0000C6CEEF000042C6009CADCE00D6D6D600ADADAD00E7E7E700FFFFFF00A5A5
- A500E7E7E7009C9C9C008C8C8C008C8C8C007B7B7B006B6B6B00636363006363
- 6300636363006363630063636300636363006B6B6B00636B7B000042C60084A5
- DE00000000000000000000000000000000007394DE000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6007394DE0042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF00ADB5
- EF00315AC600FFFFFF0084848400FFFFFF0084848400C6C6C600FFFFFF00FFFF
- FF0084848400FFFFFF0084848400C6C6C600F7EFCE00F7EFCE0084848400F7EF
- CE00315AC600CECECE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
- FF00A5A5A500FFFFFF00FFFFFF00424242000000000000000000000000000000
- 0000000000005A84D6000042C600ADB5CE00C6C6C600EFEFEF00FFFFFF00C6C6
- C600949494008C8C8C00949494008C8C8C008C8C8C008C8C8C00848484007373
- 73006363630063636300636363006B6B6B00636B7B00104ABD003163CE000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200A5A5A500A5A5A500A5A5
- A5000042C600ADB5EF0084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7EFCE0084848400BDC6
- CE000042C600949494009C9C9C00A5A5A500A5A5A500A5A5A500A5A5A500A5A5
- A500A5A5A500A5A5A500A5A5A500424242000000000000000000000000000000
- 00000000000000000000527BD600084AC6009CADCE00D6D6D600EFEFEF00F7F7
- F700C6C6C600BDBDBD00F7F7F7009C9C9C008C8C8C008C8C8C008C8C8C008C8C
- 8C008C8C8C00848484007B7B7B006B738400084AC6002963CE00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF00A5A5
- A500ADB5EF000042C60084848400848484008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484000042
- C600ADB5EF009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00FFFFFF00424242000000000000000000000000000000
- 00000000000000000000000000007394DE000042C600527BC600C6C6CE00DEDE
- DE00E7E7E700EFEFEF00F7F7F700DEDEDE00949494008C8C8C008C8C8C008C8C
- 8C008C8C8C00848484004A6BA5000042C600396BCE0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008484840042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 42004242420042424200424242008484840042424200FFFFFF00FFFFFF00A5A5
- A500FFFFFF00ADB5EF000042C600ADB5EF00FFFFFF0084848400FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084848400FFFFFF00ADB5EF000042C600ADB5
- EF00F7F7F7009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
- A500FFFFFF00FFFFFF00FFFFFF00424242000000000000000000000000000000
- 000000000000000000000000000000000000CED6F700215ACE000042C6005A7B
- C600A5ADC600CECECE00CECECE00D6D6D600C6C6C6008C8C8C0084848400737B
- 8C004263AD00084AC600084AC6009CB5E7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000A5A5A50042424200424242004242
- 42004242420042424200636363000042C600315AC60084848400FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084848400315AC6000042C600636363004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200A5A5A5000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000ADC6EF002963
- CE000042C6000042C600215AC6002963C6002963C6001852C6000842C6000042
- C6001852C6006B94DE0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000ADB5EF007394DE00315AC6000042
- C6000042C6000042C600315AC6007394DE00ADB5EF0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000B5CEEF006B94DE00638CDE00638CDE00739CDE00ADBDEF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000DEDE
- DE00DEDEDE000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000DEDEDE00CECE
- CE00CECECE00DEDEDE0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6
- D600000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00FFFFFF0000000000C6C6
- C600CECECE00DEDEDE0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00FFFFFF0000000000C6C6
- C600D6D6D6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000D6D6D600CECECE0042424200DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE004242
- 4200000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF0000000000C6C6C600CECE
- CE00DEDEDE000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000D6D6D600CECECE00CECECE00D6D6D600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000D6D6
- D600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00D6D6D6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200DEDEDE004242
- 4200000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000D6D6
- D600D6D6D600DEDEDE0000000000FFFFFF00FFFFFF0000000000BDBDBD00CECE
- CE00DEDEDE000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000002963CE004273D6004273D6002963CE00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000D6D6D600D6D6
- D600848484006363630063636300424242004242420063636300636363008484
- 8400D6D6D600D6D6D60000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000D6D6D600CECECE0042424200DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE0042424200DEDEDE004242
- 420000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE000000000000000000C6C6C600B5B5
- B500ADADAD0000000000FFFFFF00FFFFFF0000000000ADADAD00ADADAD00B5B5
- B500C6C6C600CECECE00CECECE00D6D6D6000000000000000000000000000000
- 000000000000000000000000000000000000D6D6D600CECECE00D6D6D6000000
- 000000000000D6D6D6002963CE00CECECE00CECECE002963CE00D6D6D6000000
- 000000000000D6D6D600CECECE00D6D6D6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000D6D6D600636363006363
- 6300A5A5A500C6C6C600D6D6D600D6D6D600D6D6D600D6D6D600C6C6C600A5A5
- A5006363630063636300D6D6D600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000315AC6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C600315AC600DEDEDE0042424200E7E7E7004242
- 4200000000000000000000000000000000004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 42004242420042424200424242004242420000000000FFFFFF00000000005252
- 52005A5A5A0000000000FFFFFF00FFFFFF00000000005A5A5A005A5A5A004A4A
- 4A00424242004242420042424200424242000000000000000000000000000000
- 0000000000000000000000000000D6D6D600A5BDF7002963CE00A5BDF700CECE
- CE00CECECE00A5BDF7004273D600CECECE00CECECE004273D600A5BDF700CECE
- CE00CECECE00A5BDF7002963CE00A5BDF700D6D6D60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000D6D6D600CECECE0063636300C6C6C600D6D6
- D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
- D600D6D6D600C6C6C60063636300CECECE00D6D6D60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE000042C600DEDEDE0042424200E7E7E7004242
- 42000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
- 000000000000FFFFFF00FFFFFF0000000000A5A5A500A5A5A500A5A5A500ADAD
- AD00B5B5B500B5B5B500BDBDBD00424242000000000000000000000000000000
- 0000000000000000000000000000A5BDF7000042C600CECECE000042C600A5BD
- F7002963CE000042C600CECECE00CECECE00CECECE00CECECE000042C6002963
- CE00A5BDF7000042C600CECECE000042C600A5BDF70000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000C6C6C60042424200C6C6C600DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00C6C6C60042424200C6C6C60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE000042C600E7E7E70042424200E7E7E7004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF0000000000FFFFFF00FFFFFF0000000000BDBDBD00C6C6C600C6C6C600CECE
- CE00D6D6D600DEDEDE00B5B5B500424242000000000000000000000000000000
- 00000000000000000000000000002963CE00CECECE00CECECE00CECECE000042
- C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE000042C600CECECE00CECECE00CECECE002963CE0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000D6D6D60063636300C6C6C600DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00315AC6000042C6000042C6000042C6000042C600315AC600DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00C6C6C60063636300D6D6D600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE000042C600E7E7E70042424200E7E7E7004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000CECECE00DEDEDE00B5B5B500424242000000000000000000000000000000
- 0000000000000000000000000000A5BDF7000042C600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE000042C600A5BDF70000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000D6D6D60063636300C6C6C600DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00315AC6000042C6000042C600315AC600DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00C6C6C60063636300D6D6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E7000042C600E7E7E70042424200E7E7E7004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000CECE
- CE00D6D6D600EFEFEF00BDBDBD00424242000000000000000000000000000000
- 000000000000000000000000000000000000A5BDF7000042C600CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE000042C600A5BDF7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000D6D6D60063636300DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00315AC6000042C6000042C600315AC600DEDEDE00DEDE
- DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE0063636300D6D6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E7000042C600E7E7E70042424200EFEFEF004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000CECECE00D6D6
- D600EFEFEF00F7F7F700BDBDBD00424242000000000000000000000000000000
- 0000000000000000000000000000D6D6D6002963CE00CECECE00CECECE00CECE
- CE00CECECE00CECECE000042C6000042C6000042C6000042C600CECECE00CECE
- CE00CECECE00CECECE00CECECE002963CE00D6D6D60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000084848400A5A5A500E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700315AC6000042C6000042C600315AC600E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700A5A5A500848484000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E7000042C600E7E7E70042424200EFEFEF004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000CECECE00D6D6D600EFEF
- EF00F7F7F700FFFFFF00C6C6C600424242000000000000000000000000000000
- 000000000000D6D6D600CECECE00A5BDF7000042C600CECECE00CECECE00CECE
- CE00CECECE000042C600000000000000000000000000000000000042C600CECE
- CE00CECECE00CECECE00CECECE000042C600A5BDF700CECECE00D6D6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000063636300C6C6C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700315AC6000042C6000042C600315AC600E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700C6C6C600636363000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E7000042C600EFEFEF0042424200EFEFEF004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0000000000CECECE00D6D6D600EFEFEF00F7F7
- F700FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000002963CE004273D6004273D600CECECE00CECECE00CECECE00CECE
- CE000042C6000000000000000000000000000000000000000000000000000042
- C600CECECE00CECECE00CECECE00CECECE004273D6004273D6002963CE000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000063636300E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700315AC6000042C6000042C600315AC600E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700636363000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
- E700E7E7E700E7E7E700E7E7E7000042C600EFEFEF0042424200EFEFEF004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0000000000CECECE00D6D6D600EFEFEF00F7F7F700FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000004273D600CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE000042C6000000000000000000000000000000000000000000000000000042
- C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE004273D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000042424200EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00315AC6000042C6000042C600315AC600EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00424242000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF000042C600EFEFEF0042424200EFEFEF004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0000000000CECECE00D6D6D600EFEFEF00F7F7F700FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000004273D600CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE000042C6000000000000000000000000000000000000000000000000000042
- C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE004273D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000042424200EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00637BD6000042C6000042C6000042C600315AC600EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00424242000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF000042C600EFEFEF0042424200EFEFEF004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF0000000000CECECE00D6D6D600EFEFEF00F7F7F700FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000004273D6004273D6004273D600CECECE00CECECE00CECECE00CECE
- CE000042C600D6D6D60000000000000000000000000000000000D6D6D6000042
- C600CECECE00CECECE00CECECE00CECECE004273D6004273D6004273D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000063636300EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00636363000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF000042C600EFEFEF0042424200F7F7F7004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF000000
- 0000CECECE00D6D6D600EFEFEF00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000000000000000000000A5BDF7000042C600CECECE00CECECE00CECE
- CE00CECECE000042C600CECECE00CECECE00CECECE00CECECE000042C600CECE
- CE00CECECE00CECECE00CECECE000042C600A5BDF70000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000063636300C6C6C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00C6C6C600636363000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF000042C600EFEFEF0042424200F7F7F7004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF0000000000DEDE
- DE00DEDEDE00EFEFEF00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000000000000000000000000000002963CE00CECECE00CECECE00CECE
- CE00CECECE00CECECE000042C6000042C6000042C6000042C600CECECE00CECE
- CE00CECECE00CECECE00CECECE002963CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000084848400A5A5A500F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700ADB5EF00315AC600315AC600ADB5EF00F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700A5A5A500848484000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF000042C600F7F7F70042424200F7F7F7004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000F7F7F700EFEF
- EF00EFEFEF00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000000000000000000000D6D6D600A5BDF7000042C600CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE000042C600A5BDF700D6D6D60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000D6D6D60063636300F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F7000042C6000042C6000042C6000042C600F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F70063636300D6D6D6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
- EF00EFEFEF00EFEFEF00EFEFEF000042C600F7F7F70042424200F7F7F7004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00F7F7
- F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000000000000000000000A5BDF7000042C600CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE00CECECE00CECECE00CECECE000042C600A5BDF70000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000063636300D6D6D600F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F7000042C6000042C6000042C6000042C600F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F700F7F7F700D6D6D60063636300000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F7000042C600F7F7F70042424200F7F7F7004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 00000000000000000000000000002963CE00CECECE00CECECE00CECECE000042
- C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
- CE000042C600CECECE00CECECE00CECECE002963CE0000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000063636300D6D6D600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00ADB5EF00315AC600315AC600ADB5EF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00D6D6D6006363630000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F7000042C600F7F7F70042424200FFFFFF004242
- 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000000000000000000000A5BDF7000042C600CECECE000042C600A5BD
- F7002963CE000042C600CECECE00CECECE00CECECE00CECECE000042C6002963
- CE00A5BDF7000042C600CECECE000042C600A5BDF70000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000042424200D6D6D600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00D6D6D600424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F7000042C600F7F7F70042424200424242000000
- 00000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 000000000000000000000000000000000000A5BDF7002963CE00A5BDF7000000
- 000000000000A5BDF7004273D600CECECE00CECECE004273D600A5BDF7000000
- 000000000000A5BDF7002963CE00A5BDF7000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C60063636300D6D6D600FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00D6D6D60063636300C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F7000042C600FFFFFF0042424200000000000000
- 00000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000004273D600CECECE00CECECE004273D600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000636363006363
- 6300A5A5A500C6C6C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600A5A5
- A500636363006363630000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
- F700F7F7F700F7F7F700F7F7F7000042C6004242420000000000000000000000
- 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000004273D6004273D6004273D6004273D600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000D6D6
- D600848484006363630063636300424242004242420063636300636363008484
- 8400D6D6D6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00315AC6000042
- C6000042C6000042C6000042C6000042C6000000000000000000000000000000
- 00000000000000000000000000000000000042424200E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600FFFF
- FF00FFFFFF00FFFFFF000042C600000000000000000000000000000000000000
- 00000000000000000000000000000000000042424200E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
- 0000E7520000E7520000E7520000424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600FFFF
- FF00FFFFFF000042C60000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C60042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200424242004242420042424200C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600FFFF
- FF000042C6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C6000042
- C600000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000315AC6000042C6000042C6000042C6000042C6000042C6000042C6000042
- C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000424D3E000000000000003E000000
- 2800000080000000A00000000100010000000000000A00000000000000000000
- 000000000000000000000000FFFFFF00FF8000FFFFFFFFFF0000000000000000
- FF8000FFFFFFFFFF0000000000000000FF8000FFFFFFFFFF0000000000000000
- FF8000FF000000000000000000000000FF8000FF000000000000000000000000
- FF8000FF000000000000000000000000FF8000FF000000000000000000000000
- FF8000FF000000000000000000000000FF8000FF000000000000000000000000
- FF8000FF000000000000000000000000FF8000FF000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000FFFFFFFF000000000000000000000000
- FFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000
- FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- 00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFF
- 00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFE007FFFFFFFFFF
- 00000000F807FFFFFFC003FFFFFFFFFF00000000F003FFFFFF8001FFFFFFFFFF
- 000000000001FFFFFE00007FFFFFFFFF0000000000001FFFFE00007FFFFFFFFF
- 000000000000003FFC00003FFFFFFFFF000000000000000FF800001FFFFFFFFF
- 0000000000000007F800001FEFEFBFBD0000000000000003F800001FCFCF3E19
- 00000000FC000001F800001FC79C36390000000080000000F800001FC0102639
- 000000FF00000000F800001FE0300E79000000FF00003E00F800001FE3330E39
- 000000FF0003FF80F800001FF2743F39000000FFFC07FFC0F800001FF0703E3B
- 000000FFFC0FFFE0F800001FFAF00043000000FFFFFFFFE0F800001FF8E00307
- 000000FFFFFFFFF0FC00003FFFFFFFFF000000FFFFFFFFF0FE00007FFFFFFFFF
- 000000FFFFFFFFF0FF0000FFFFFFFFFF000000FFFFFFFFF0FF0000FFFFFFFFFF
- 000000FFFFFFFFF0FFC003FFFFFFFFFF000000FFFFFFFFFFFFE007FFFFFFFFFF
- 000000FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFF
- 000000FFFFFFFFFFFFFFFFFFFFFFFFFF000001FFFFFFFFFFFFFFFFFFFFFFFFFF
- 000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- E003FFFFFF83FFFFFFFFFFFFFFFFFFFFE003FFFFFF0007FFFFFFFFFFFFFFFFFF
- E003FFFFFE00003FFFFFFFFFFFFFFFFFE0003FFFFE00001FFFFFFFFFFFFFFFFF
- E0000FFFFE00001FFFFFFFFFFFFFFFFFE00001FFFE00001F00000000FFFFFFFF
- E000003FFE00001F0000000000000000E000000FFE00001F0000000000000000
- E0000007FE00001F0000000000000000E0000007FE00001F0000000000000000
- E0000007FE00001F0000000000000000E0000007FE00001F0000000000000000
- F8000007FE00001F0000000000000000F000000FFE00001F0000000000000000
- F000000FFE00001F0000000000000000F000000FFE00001F0000000000000000
- E000001FFE00001F0000000000000000E000001FFE00001F0000000000000000
- E000001FFE00001F0000000000000000E000003FFE00001F0000000000000000
- E000003FFE00001F0000000000000000F000007FFE00001F0000000000000000
- FE00007FFE00001F0000000000000000FFC0007FFE00001F0000000000000000
- FFF000FFFE00001FFFFFFFFFFFFFFFFFFFFE00FFFE00001FFFFFFFFFFFFFFFFF
- FFFF81FFFE00001FFFFFFFFFFFFFFFFFFFFFFFFFFF00003FFFFFFFFFFFFFFFFF
- FFFFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3E7FFFFFFFF
- FFF81FFFFFFFFFFFFFFFE3C7FFFFFFFFFFC003FFFFFFFFFFFFFF81C0FFFFFFFF
- FF0000FFFFFFFFFFFFFF0181FFFFFFC7FE00007FFFFFFFFFFFFF8083FFFFFF87
- FC00003FFFFFFFFFFFFFC003FFFFFF07F800001FFFFFFFFF00000000FFFFFE0F
- F000000F0000000000000000FFFFFC1FF000000F0000000000000000FFFFF83F
- E00000070000000000000000FF80307FE00000070000000000000000FC00007F
- E0000003000000000000000000000000C0000003000000000000000000000000
- C0000003000000000000000000000000C0000003000000000000000000000000
- C0000003000000000000000000000000C0000003000000000000000000000000
- C0000003000000000000000000000000C0000003000000000000000000000000
- C0000003000000000000000000000000E0000007000000000000000000000000
- E0000007000000000000000000000000F000000F000000000000000000000000
- F000000F000000000000000000000000F800001FFFFFFFFF0000000000000000
- FC00003FFFFFFFFF0000000000000000FE00007FFFFFFFFF0000000000000000
- FF0000FFFFFFFFFFFFFFFFFF00000000FFC003FFFFFFFFFFFFFFFFFFFF007FFF
- FFF81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7FFFFFFFFFFFFFFFFFFFFFFFF
- FFFFFF03FFFFFFFFFFFFFFFFFF00000FFFFFFE03FFFFFFFFFFFFFFFFFF00000F
- FFFFFE07FFFFFFFFFFFFFFFFFC00000FFFFFFC07FFFC3FFFFFE007FFFC00000F
- FFFF6007FFFC3FFFFFC003FFF000000F00000000FF1818FFFF8001FFF000000F
- 00000000FE00007FFE00007FF000000F00000000FE00007FFE00007FF000000F
- 00000000FE00007FFC00003FF000000F00000000FE00007FF800001FF000000F
- 00000000FF0000FFF800001FF000000F00000000FE00007FF800001FF000000F
- 00000000F803C01FF800001FF000000F00000000F807E01FF800001FF000000F
- 00000000F807E01FF800001FF000000F00000000F807E01FF800001FF000000F
- 00000000F803C01FF800001FF000000F00000000FE00007FF800001FF000000F
- 00000000FF0000FFF800001FF000000F00000000FE00007FF800001FF000000F
- 00000000FE00007FFC00003FF000000F00000000FE00007FFE00007FF000000F
- 00000000FE00007FFF0000FFF000001F00000000FF1818FFFF0000FFF000003F
- 00000000FFFC3FFFFFC003FFF000007F00000000FFFC3FFFFFE007FFF00000FF
- 00000000FFFFFFFFFFFFFFFFF00001FF00000000FFFFFFFFFFFFFFFFF00003FF
- 00000000FFFFFFFFFFFFFFFFF00007FFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFF
- FFFFFFFFFFFFFFFFFFFFFFFFF0001FFF00000000000000000000000000000000
- 000000000000}
- end
-end
+object modActionsMain: TmodActionsMain
+ OldCreateOrder = False
+ OnCreate = DataModuleCreate
+ Height = 414
+ Width = 557
+ object actionsMain: TActionList
+ Images = frmKeymanDeveloper.lstImages
+ Left = 32
+ Top = 28
+ object actViewCharacterMap: TAction
+ Category = 'View'
+ Caption = '&Character Map'
+ Hint = 'Character Map|Display the character map window'
+ ShortCut = 24643
+ OnExecute = actViewCharacterMapExecute
+ OnUpdate = actViewCharacterMapUpdate
+ end
+ object actFileNew: TAction
+ Category = 'File'
+ Caption = '&New...'
+ Hint = 'New|Creates a new file'
+ ImageIndex = 0
+ ShortCut = 16462
+ OnExecute = actFileNewExecute
+ OnUpdate = actFileNewUpdate
+ end
+ object actViewCharacterIdentifier: TAction
+ Category = 'View'
+ Caption = 'Character &Identifier'
+ Hint = 'Character Identifier|Display the character identifier window'
+ ShortCut = 24649
+ OnExecute = actViewCharacterIdentifierExecute
+ OnUpdate = actViewCharacterIdentifierUpdate
+ end
+ object actFileOpen: TFileOpen
+ Category = 'File'
+ Caption = '&Open...'
+ Dialog.Options = [ofHideReadOnly, ofAllowMultiSelect, ofFileMustExist, ofEnableSizing]
+ Hint = 'Open|Opens an existing file'
+ ImageIndex = 1
+ ShortCut = 16463
+ OnAccept = actFileOpenAccept
+ OnUpdate = actFileOpenUpdate
+ end
+ object actFileSave: TAction
+ Category = 'File'
+ Caption = '&Save'
+ Hint = 'Save|Saves the active file'
+ ImageIndex = 2
+ ShortCut = 16467
+ OnExecute = actFileSaveExecute
+ OnUpdate = actFileSaveUpdate
+ end
+ object actFileSaveAs: TFileSaveAs
+ Category = 'File'
+ Caption = 'Save &As...'
+ Dialog.Title = 'Save As'
+ Dialog.OnCanClose = actFileSaveAsSaveDialogCanClose
+ Hint = 'Save As|Saves the active file with a new name'
+ BeforeExecute = actFileSaveAsBeforeExecute
+ OnAccept = actFileSaveAsAccept
+ OnUpdate = actFileSaveAsUpdate
+ end
+ object actFileSaveCopyAs: TAction
+ Category = 'File'
+ Caption = 'Save cop&y as...'
+ ImageIndex = 17
+ OnExecute = actFileSaveCopyAsExecute
+ OnUpdate = actFileSaveCopyAsUpdate
+ end
+ object actFileRevert: TAction
+ Category = 'File'
+ Caption = '&Revert'
+ Hint = 'Revert|Reload last saved version of active file'
+ ImageIndex = 18
+ OnExecute = actFileRevertExecute
+ OnUpdate = actFileRevertUpdate
+ end
+ object actFileExit: TFileExit
+ Category = 'File'
+ Caption = 'E&xit'
+ Hint = 'Exit|Quits the application'
+ end
+ object actEditUndo: TKMDEditUndo
+ Category = 'Edit'
+ Caption = '&Undo'
+ Hint = 'Undo|Reverts the last action'
+ ImageIndex = 7
+ ShortCut = 16474
+ end
+ object actEditRedo: TKMDEditRedo
+ Category = 'Edit'
+ Caption = '&Redo'
+ Enabled = False
+ Hint = 'Redo|Revert the last undo'
+ ImageIndex = 8
+ ShortCut = 24666
+ end
+ object actEditCut: TKMDEditCut
+ Category = 'Edit'
+ Caption = 'Cu&t'
+ Enabled = False
+ Hint = 'Cut|Cuts the selection and puts it on the Clipboard'
+ ImageIndex = 4
+ ShortCut = 16472
+ end
+ object actEditCopy: TKMDEditCopy
+ Category = 'Edit'
+ Caption = '&Copy'
+ Enabled = False
+ Hint = 'Copy|Copies the selection and puts it on the Clipboard'
+ ImageIndex = 5
+ ShortCut = 16451
+ end
+ object actEditPaste: TKMDEditPaste
+ Category = 'Edit'
+ Caption = '&Paste'
+ Enabled = False
+ Hint = 'Paste|Inserts Clipboard contents'
+ ImageIndex = 6
+ ShortCut = 16470
+ end
+ object actEditSelectAll: TKMDEditSelectAll
+ Category = 'Edit'
+ Caption = 'Select &All'
+ Hint = 'Select All|Selects the entire document'
+ ShortCut = 16449
+ end
+ object actEditDelete: TKMDEditDelete
+ Category = 'Edit'
+ Caption = 'Clear selection'
+ Hint = 'Clear selection|Erases the selection'
+ ImageIndex = 21
+ end
+ object actSearchFind: TKMDSearchFind
+ Category = 'Search'
+ Caption = '&Find...'
+ Hint = 'Find|Finds the specified text'
+ ImageIndex = 22
+ ShortCut = 16454
+ BeforeExecute = actSearchFindBeforeExecute
+ OnUpdate = actSearchFindUpdate
+ end
+ object actSearchFindNext: TKMDSearchFindNext
+ Category = 'Search'
+ Caption = 'Find &Next'
+ Hint = 'Find Next|Repeats the last find'
+ SearchFind = actSearchFind
+ ShortCut = 114
+ end
+ object actSearchReplace: TKMDSearchReplace
+ Category = 'Search'
+ Caption = '&Replace'
+ Hint = 'Replace|Replaces specific text with different text'
+ ImageIndex = 23
+ ShortCut = 16456
+ end
+ object actHelpContents: THelpContents
+ Category = 'Help'
+ Caption = '&Contents'
+ Enabled = False
+ Hint = 'Help Contents'
+ ImageIndex = 12
+ OnExecute = actHelpContentsExecute
+ end
+ object actHelpTopicSearch: THelpTopicSearch
+ Category = 'Help'
+ Caption = '&Topic Search'
+ Enabled = False
+ Hint = 'Topic Search'
+ end
+ object actHelpContextAction: THelpContextAction
+ Category = 'Help'
+ Caption = 'Context &Help...'
+ Enabled = False
+ end
+ object actViewMessages: TAction
+ Category = 'View'
+ Caption = '&Messages'
+ Hint = 'Messages|View the messages window'
+ ShortCut = 24653
+ OnExecute = actViewMessagesExecute
+ OnUpdate = actViewMessagesUpdate
+ end
+ object actViewProject: TAction
+ Category = 'View'
+ Caption = '&Project'
+ Hint = 'Project|View the current project'
+ ShortCut = 24656
+ OnExecute = actViewProjectExecute
+ OnUpdate = actViewProjectUpdate
+ end
+ object actViewToolbar: TAction
+ Category = 'View'
+ Caption = '&Toolbar'
+ Hint = 'Toolbar|Show or hide the toolbar'
+ OnExecute = actViewToolbarExecute
+ OnUpdate = actViewToolbarUpdate
+ end
+ object actViewStatusBar: TAction
+ Category = 'View'
+ Caption = '&Status Bar'
+ Hint = 'Status Bar|Show or hide the status bar'
+ OnExecute = actViewStatusBarExecute
+ OnUpdate = actViewStatusBarUpdate
+ end
+ object actProjectNew: TAction
+ Category = 'Project'
+ Caption = '&New Project...'
+ ImageIndex = 27
+ OnExecute = actProjectNewExecute
+ end
+ object actProjectOpen: TFileOpen
+ Category = 'Project'
+ Caption = '&Open Project...'
+ Dialog.DefaultExt = 'kpj'
+ Dialog.Filter = 'Keyman Developer Project Files (*.kpj)|*.kpj|All Files (*.*)|*.*'
+ Dialog.Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing]
+ Hint = 'Open Project|Opens an existing project'
+ ImageIndex = 28
+ ShortCut = 24655
+ OnAccept = actProjectOpenAccept
+ end
+ object actProjectAddCurrentEditorFile: TAction
+ Category = 'Project'
+ Caption = '&Current Editor File'
+ Hint =
+ 'Add Current Editor File|Adds the current editor file to the proj' +
+ 'ect'
+ OnExecute = actProjectAddCurrentEditorFileExecute
+ OnUpdate = actProjectAddCurrentEditorFileUpdate
+ end
+ object actProjectAddFiles: TFileOpen
+ Category = 'Project'
+ Caption = '&Other Files...'
+ Dialog.Options = [ofHideReadOnly, ofAllowMultiSelect, ofPathMustExist, ofFileMustExist, ofEnableSizing]
+ Hint = 'Add Other Files|Adds files from disk to the project'
+ ImageIndex = 30
+ ShortCut = 16463
+ OnAccept = actProjectAddFilesAccept
+ OnUpdate = actProjectAddFilesUpdate
+ end
+ object actProjectSettings: TAction
+ Category = 'Project'
+ Caption = 'Pro&ject Settings...'
+ Hint = 'Project Settings|Edit settings for this project'
+ ImageIndex = 31
+ OnExecute = actProjectSettingsExecute
+ OnUpdate = actProjectSettingsUpdate
+ end
+ object actToolsOptions: TAction
+ Category = 'Tools'
+ Caption = '&Options...'
+ ImageIndex = 33
+ OnExecute = actToolsOptionsExecute
+ end
+ object actToolsVirtualKeyIdentifier: TAction
+ Category = 'Tools'
+ Caption = '&Virtual Key Identifier...'
+ ShortCut = 16459
+ OnExecute = actToolsVirtualKeyIdentifierExecute
+ end
+ object actHelpAbout: TAction
+ Category = 'Help'
+ Caption = '&About...'
+ ImageIndex = 56
+ OnExecute = actHelpAboutExecute
+ end
+ object actViewCodeFont: TFontEdit
+ Category = 'View'
+ Caption = 'Code F&ont...'
+ Dialog.OnShow = actViewCodeFontFontDialogShow
+ Dialog.Font.Charset = DEFAULT_CHARSET
+ Dialog.Font.Color = clWindowText
+ Dialog.Font.Height = -11
+ Dialog.Font.Name = 'Tahoma'
+ Dialog.Font.Style = []
+ Dialog.Options = [fdApplyButton]
+ Dialog.OnApply = actViewCodeFontFontDialogApply
+ Hint = 'Code Font|Set the font for the code editor'
+ ImageIndex = 26
+ BeforeExecute = actViewCodeFontBeforeExecute
+ OnAccept = actViewCodeFontAccept
+ OnUpdate = actViewCodeFontUpdate
+ end
+ object actViewCharFont: TFontEdit
+ Category = 'View'
+ Caption = 'Character &Font...'
+ Dialog.OnShow = actViewCharFontFontDialogShow
+ Dialog.Font.Charset = DEFAULT_CHARSET
+ Dialog.Font.Color = clWindowText
+ Dialog.Font.Height = -11
+ Dialog.Font.Name = 'Tahoma'
+ Dialog.Font.Style = []
+ Dialog.Options = [fdApplyButton]
+ Dialog.OnApply = actViewCharFontFontDialogApply
+ Hint =
+ 'Character Font|Set the font for text in quotes and comments and ' +
+ 'keyboard views'
+ ImageIndex = 25
+ ShortCut = 24646
+ BeforeExecute = actViewCharFontBeforeExecute
+ OnAccept = actViewCharFontAccept
+ OnUpdate = actViewCharFontUpdate
+ end
+ object actViewExpandEditor: TAction
+ Category = 'View'
+ Caption = '&Expand Editor'
+ ImageIndex = 55
+ ShortCut = 122
+ OnExecute = actViewExpandEditorExecute
+ OnUpdate = actViewExpandEditorUpdate
+ end
+ object actViewHelp: TAction
+ Category = 'View'
+ Caption = 'Context &Help'
+ ShortCut = 24648
+ OnExecute = actViewHelpExecute
+ OnUpdate = actViewHelpUpdate
+ end
+ object actWindowNext: TAction
+ Category = 'Window'
+ Caption = '&Next Window'
+ ShortCut = 16393
+ OnExecute = actWindowNextExecute
+ OnUpdate = actWindowNextUpdate
+ end
+ object actWindowPrev: TAction
+ Category = 'Window'
+ Caption = '&Previous Window'
+ ShortCut = 24585
+ OnExecute = actWindowPrevExecute
+ OnUpdate = actWindowPrevUpdate
+ end
+ object actWindowClose: TAction
+ Category = 'Window'
+ Caption = '&Close'
+ Hint = 'Close Tab|Closes the active tab'
+ ImageIndex = 14
+ ShortCut = 16499
+ OnExecute = actWindowCloseExecute
+ OnUpdate = actWindowCloseUpdate
+ end
+ object actToolsFileFormat: TAction
+ Category = 'Tools'
+ Caption = 'File &Format...'
+ Hint = 'File Format|Set the file format of the current editor file'
+ OnExecute = actToolsFileFormatExecute
+ OnUpdate = actToolsFileFormatUpdate
+ end
+ object actViewMessageNext: TAction
+ Category = 'View'
+ Caption = '&Next Message'
+ ShortCut = 115
+ OnExecute = actViewMessageNextExecute
+ OnUpdate = actViewMessageNextUpdate
+ end
+ object actViewMessagePrevious: TAction
+ Category = 'View'
+ Caption = '&Previous Message'
+ ShortCut = 8307
+ OnExecute = actViewMessagePreviousExecute
+ OnUpdate = actViewMessagePreviousUpdate
+ end
+ object actViewTabNext: TAction
+ Category = 'View'
+ Caption = '&Next Tab'
+ SecondaryShortCuts.Strings = (
+ 'Alt+PgDn')
+ ShortCut = 16418
+ OnExecute = actViewTabNextExecute
+ OnUpdate = actViewTabNextUpdate
+ end
+ object actViewTabPrevious: TAction
+ Category = 'View'
+ Caption = '&Previous Tab'
+ SecondaryShortCuts.Strings = (
+ 'Alt+PgUp')
+ ShortCut = 16417
+ OnExecute = actViewTabPreviousExecute
+ OnUpdate = actViewTabPreviousUpdate
+ end
+ object actHelpCheckForUpdates: TAction
+ Category = 'Help'
+ Caption = 'Check for &Updates...'
+ OnExecute = actHelpCheckForUpdatesExecute
+ end
+ object actToolsReloadANSI: TAction
+ Category = 'Tools'
+ Caption = 'Reload as ANSI'
+ OnExecute = actToolsReloadANSIExecute
+ OnUpdate = actToolsReloadANSIUpdate
+ end
+ object actToolsReloadUTF8: TAction
+ Category = 'Tools'
+ Caption = 'Reload as UTF-8'
+ OnExecute = actToolsReloadUTF8Execute
+ OnUpdate = actToolsReloadUTF8Update
+ end
+ object actToolsReloadUTF16: TAction
+ Category = 'Tools'
+ Caption = 'Reload as UTF-16'
+ OnExecute = actToolsReloadUTF16Execute
+ OnUpdate = actToolsReloadUTF16Update
+ end
+ object actToolsReload: TAction
+ Category = 'Tools'
+ Caption = 'Reload as format'
+ end
+ object actViewDesign: TAction
+ Category = 'View'
+ Caption = '&Design view'
+ ShortCut = 32805
+ OnExecute = actViewDesignExecute
+ OnUpdate = actViewDesignUpdate
+ end
+ object actViewCode: TAction
+ Category = 'View'
+ Caption = '&Code view'
+ ShortCut = 32807
+ OnExecute = actViewCodeExecute
+ OnUpdate = actViewCodeUpdate
+ end
+ object actProjectClose: TAction
+ Category = 'Project'
+ Caption = '&Close Project'
+ OnExecute = actProjectCloseExecute
+ OnUpdate = actProjectCloseUpdate
+ end
+ object actToolsWebCopyPublicUrl: TAction
+ Category = 'Tools'
+ Caption = '&Copy URL to clipboard'
+ OnExecute = actToolsWebCopyPublicUrlExecute
+ OnUpdate = actToolsWebCopyPublicUrlUpdate
+ end
+ object actToolsWebOpenPublicUrl: TAction
+ Category = 'Tools'
+ Caption = '&Open in browser'
+ OnExecute = actToolsWebOpenPublicUrlExecute
+ OnUpdate = actToolsWebOpenPublicUrlUpdate
+ end
+ object actToolsWebConfigure: TAction
+ Category = 'Tools'
+ Caption = 'Co&nfigure...'
+ OnExecute = actToolsWebConfigureExecute
+ end
+ object actToolsWebStartServer: TAction
+ Category = 'Tools'
+ Caption = '&Start server'
+ OnExecute = actToolsWebStartServerExecute
+ OnUpdate = actToolsWebStartServerUpdate
+ end
+ object actToolsWebStopServer: TAction
+ Category = 'Tools'
+ Caption = '&Stop server'
+ OnExecute = actToolsWebStopServerExecute
+ OnUpdate = actToolsWebStopServerUpdate
+ end
+ object actWindowNew: TAction
+ Category = 'Window'
+ Caption = '&New window'
+ OnExecute = actWindowNewExecute
+ end
+ end
+ object ActionManager1: TActionManager
+ ActionBars = <
+ item
+ end>
+ LinkedActionLists = <
+ item
+ ActionList = actionsMain
+ Caption = 'actionsMain'
+ end>
+ Left = 180
+ Top = 164
+ StyleName = 'XP Style'
+ end
+ object ilMain: TImageList
+ Left = 304
+ Top = 236
+ Bitmap = {
+ 494C01010A000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000003000000001002000000000000030
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000B5CEC600C6DED600C6DED600C6DED600C6DED600C6DED600C6E7DE000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000B5CEC600BDD6C600C6DECE00CEDED600CEDED600C6DECE00BDD6C600BDD6
+ C600000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0084B58400107310001873
+ 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
+ 0800007B0000007300007BB57B00FFFFFF00000000000000000000000000BDD6
+ CE00CEDECE00DEE7E700E7EFEF00EFF7F700EFF7EF00E7EFE700CEDED600B5CE
+ C60000000000000000000000000000000000000000000000000000000000BDCE
+ C600D6E7DE00EFF7EF00F7F7F700F7F7F700EFF7F700EFF7F700E7EFEF00D6DE
+ D600BDCEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0010841000218C21002994
+ 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
+ 100008A5080000940000006B0000FFFFFF000000000000000000BDD6C600DEE7
+ E700F7FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF
+ EF00C6D6CE000000000000000000000000000000000000000000BDCEC600E7EF
+ E700F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFF700F7F7F700EFF7
+ F700DEE7DE00BDD6C60000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00188C180029942900399C
+ 3900399C3900399C3900FFFFFF00A5D6A5004AA54A004AA54A004AA54A0029A5
+ 290018A51800009C0000007B0000FFFFFF0000000000BDD6C600DEE7E700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7F7F700C6D6CE00000000000000000000000000BDCEC600E7EFE700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00F7FF
+ F700EFF7F700DEE7DE00BDCEC600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0021942100399C390042A5
+ 420042A5420042A54200FFFFFF00FFFFFF00A5D6A5004AA54A004AA54A0039A5
+ 390021A5210008A50800087B0800FFFFFF00C6DED600D6DEDE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00EFF7EF00BDCEC60000000000BDD6CE00D6E7DE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
+ FF00F7FFF700EFF7F700CEDED600BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0029942900429C42004AA5
+ 4A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00A5D6A5004AA54A0039A5
+ 390021A5210010A5100008840800FFFFFF00BDD6CE00EFF7EF00FFFFFF00FFFF
+ FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
+ FF00FFFFFF00FFFFFF00D6DED600BDDECE00BDD6C600EFF7F700FFFFFF00FFFF
+ FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
+ FF00FFFFFF00F7FFF700DEEFE700BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00319C31004AA54A0052A5
+ 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A50039A5
+ 390021A5210018A5180010841000FFFFFF00C6DECE00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E7EFEF00BDD6CE00C6D6CE00FFFFFF00FFFFFF00FFFF
+ FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
+ FF00FFFFFF00F7FFFF00E7EFEF00BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00429C420052A552004AA5
+ 4A004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
+ A500219C2100219C210018841800FFFFFF00CEDED600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE00CEDED600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0042A5420052A5520052A5
+ 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
+ A500219C2100219C2100217B2100FFFFFF00CEDED600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE00CEDED600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0052A552005AAD5A005AAD
+ 5A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A5003194
+ 31002994290029942900217B2100FFFFFF00C6D6CE00FFFFFF00FFFFFF00FFFF
+ FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
+ FF00FFFFFF00F7FFFF00E7EFEF00BDD6CE00C6DECE00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E7EFEF00BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0052A552006BB56B006BB5
+ 6B005AAD5A0052AD5200FFFFFF00FFFFFF00FFFFFF00A5D6A500399C39003194
+ 31002994290029942900217B2100FFFFFF00BDD6C600EFF7F700FFFFFF00FFFF
+ FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
+ FF00FFFFFF00F7FFF700DEEFE700BDD6CE00BDD6CE00EFF7EF00FFFFFF00FFFF
+ FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
+ FF00FFFFFF00FFFFFF00D6DED600BDDECE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF005AAD5A007BBD7B0073BD
+ 730063AD63005AAD5A00FFFFFF00FFFFFF00A5D6A500429C4200429C4200399C
+ 39003194310031943100217B2100FFFFFF00BDD6CE00D6E7DE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
+ FF00F7FFF700EFF7F700CEDED600BDD6CE00C6DED600D6DEDE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00EFF7EF00BDCEC600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF006BB56B008CC68C007BBD
+ 7B006BB56B0063B56300FFFFFF00A5D6A5005AAD5A0052A552004AA54A0042A5
+ 4200399C390031943100217B2100FFFFFF0000000000BDCEC600E7EFE700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00F7FF
+ F700EFF7F700DEE7DE00BDCEC6000000000000000000BDD6C600DEE7E700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7F7F700C6D6CE0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0073BD73009CCE9C008CC6
+ 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
+ 4A0042A542003194310018731800FFFFFF000000000000000000BDCEC600E7EF
+ E700F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFF700F7F7F700EFF7
+ F700DEE7DE00BDD6C60000000000000000000000000000000000BDD6C600DEE7
+ E700F7FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF
+ EF00C6D6CE000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00B5DEB50073BD730063B5
+ 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
+ 390031943100218C21008CBD8C00FFFFFF00000000000000000000000000BDCE
+ C600D6E7DE00EFF7EF00F7F7F700F7F7F700EFF7F700EFF7F700E7EFEF00D6DE
+ D600BDCEC600000000000000000000000000000000000000000000000000BDD6
+ CE00CEDECE00DEE7E700E7EFEF00EFF7F700EFF7EF00E7EFE700CEDED600B5CE
+ C600000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000B5CEC600BDD6C600C6DECE00CEDED600CEDED600C6DECE00BDD6C600BDD6
+ C600000000000000000000000000000000000000000000000000000000000000
+ 0000B5CEC600C6DED600C6DED600C6DED600C6DED600C6DED600C6E7DE000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000BDBDBD000000840000007300100000006363630000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0084B58400107310001873
+ 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
+ 0800007B0000007300007BB57B00FFFFFF00FFFFFF0052ADFF0018529400185A
+ 9C00185A9C00185A9C00185AA500185AA500185A9C00185A9C00185294001852
+ 940018528C00184A84004AADFF00FFFFFF00FFFFFF0084B58400107310001873
+ 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
+ 0800007B0000007300007BB57B00FFFFFF000000000000000000BDBDBD003131
+ 31000000AD000000FF000000DE00000042005252520000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0010841000218C21002994
+ 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
+ 100008A5080000940000006B0000FFFFFF00FFFFFF00185AA500186BBD001873
+ CE001873CE001873CE001873CE001873CE001873CE001873CE001873CE00186B
+ C600186BBD00185AA500104A7B00FFFFFF00FFFFFF0010841000218C21002994
+ 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
+ 100008A5080000940000006B0000FFFFFF000000000000000000737373000000
+ 42000000FF000000FF000000840000319C002121210000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00188C180029942900399C
+ 3900399C3900399C390039A53900A5D6A500FFFFFF0021AD210018AD180010B5
+ 100008AD0800009C0000007B0000FFFFFF00FFFFFF001863AD001873CE00187B
+ DE00187BDE00187BE7001884E700188CF700188CF700188CF700188CF700187B
+ DE00186BC6001863AD0018528C00FFFFFF00FFFFFF00188C180029942900399C
+ 3900399C3900399C390039A539004AA54A00A5D6A500FFFFFF004AA54A0031A5
+ 310018A51800009C0000007B0000FFFFFF00000000008C8C8C00BDBDBD000000
+ 4200000084000000EF000000FF000000CE000000310073737300000000000000
+ 000000000000000000000000000000000000FFFFFF0021942100399C390042A5
+ 42004AA54A0042A5420042A54200FFFFFF00FFFFFF00FFFFFF0021B5210018B5
+ 180010AD100008A50800087B0800FFFFFF00FFFFFF00186BC600187BDE001884
+ EF00FFFFFF0084C6FF00188CF700188CF700188CF700188CF70084C6FF00FFFF
+ FF001873CE00186BBD0018529400FFFFFF00FFFFFF0021942100399C390042A5
+ 420042A5420042A542004AA54A00A5D6A500FFFFFF00FFFFFF004AA54A0039A5
+ 390021A5210008A50800087B0800FFFFFF000000000000000000001000000000
+ AD000000FF000000FF000000FF000000DE001010100000002100525252007373
+ 730031009C0000313100A5A5A50000000000FFFFFF0029942900429C42004AA5
+ 4A0052A552004AA54A0042A5420042AD4200FFFFFF00FFFFFF00FFFFFF0018B5
+ 180010AD100010A5100008840800FFFFFF00FFFFFF001873CE001884E700188C
+ F700188CFF00FFFFFF0084C6FF00188CF700188CF70084C6FF00FFFFFF001884
+ E7001873D600186BC600185A9C00FFFFFF00FFFFFF0029942900429C42004AA5
+ 4A0052A552004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
+ 390021A5210010A5100008840800FFFFFF0000000000BDBDBD00100000000000
+ 84000000FF000000CE000000EF0000008400000084000000FF000000BD000000
+ 840000006300737373000021000063636300FFFFFF00319C31004AA54A0052A5
+ 520052A552004AA54A004AA54A0042A5420039AD3900FFFFFF00FFFFFF00FFFF
+ FF0018AD180018A5180010841000FFFFFF00FFFFFF00187BDE00188CF700188C
+ FF00188CF700188CF700FFFFFF0084C6FF0084C6FF00FFFFFF00188CF7001884
+ E7001873D6001873CE00185AA500FFFFFF00FFFFFF00319C31004AA54A0052A5
+ 52004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
+ 390021A5210018A5180010841000FFFFFF000000000021212100000021000000
+ AD000000FF0000004200000084000000FF000000FF0000007300000042000000
+ 420073737300313163000000AD0000006300FFFFFF00429C420052A55200FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00219C210018841800FFFFFF00FFFFFF001884E700188CFF00188C
+ F700188CF700188CF700188CF700FFFFFF0084C6FF00188CF7001884EF00187B
+ DE001873CE001873CE001863AD00FFFFFF00FFFFFF00429C420052A552004AA5
+ 4A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042A5420031A5
+ 3100219C2100219C210018841800FFFFFF00000000008C8C8C0000009C000000
+ FF000000EF00000073000000EF000000FF000000EF0000003100100000005252
+ 52000000EF000000FF000000DE0031316300FFFFFF0042A542005AAD5A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00219C2100217B2100FFFFFF00FFFFFF001884EF00188CFF00188C
+ FF00188CF700188CF70084C6FF00FFFFFF00FFFFFF0084C6FF001884E7001873
+ D6001873CE001873CE001863AD00FFFFFF00FFFFFF0042A5420052A5520052A5
+ 5200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C3900299C
+ 2900219C2100219C2100217B2100FFFFFF000000000010000000000042000031
+ CE000000FF0000009C000000FF000000FF000000EF00000073000000AD000000
+ CE000000FF000000FF000000AD0021212100FFFFFF0052A5520063AD630063AD
+ 63005AAD5A0052A552004AA54A00429C4200399C3900FFFFFF00FFFFFF00FFFF
+ FF00299C290029942900217B2100FFFFFF00FFFFFF00188CFF002194FF002194
+ FF00188CFF0084C6FF00FFFFFF001884F7001884EF00FFFFFF0084C6FF001873
+ CE001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552005AAD5A005AAD
+ 5A0052A55200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C39003194
+ 31002994290029942900217B2100FFFFFF00000000008C8C8C00000000000000
+ AD000000FF000000EF0000007300000052000031CE000000AD000000EF000000
+ EF000000BD0000006300BDBDBD0000000000FFFFFF0052A552006BB56B006BB5
+ 6B005AAD5A0052A552004AA54A00429C4200FFFFFF00FFFFFF00FFFFFF002994
+ 29002994290029942900217B2100FFFFFF00FFFFFF00188CFF0039A5FF0039A5
+ FF0084C6FF00FFFFFF00188CFF00188CFF001884EF001884E700FFFFFF0084C6
+ FF001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552006BB56B006BB5
+ 6B005AAD5A0052AD5200A5D6A500FFFFFF00FFFFFF00FFFFFF00399C39003194
+ 31002994290029942900217B2100FFFFFF000000000000000000000000000000
+ 52000000FF000000BD000031CE000000AD00000073003100CE00525252002121
+ 21000000AD00000000000000000000000000FFFFFF005AAD5A007BBD7B0073BD
+ 730063AD63005AAD5A0052A55200FFFFFF00FFFFFF00FFFFFF00319C3100319C
+ 31003194310031943100217B2100FFFFFF00FFFFFF002194FF0052ADFF004AAD
+ FF00FFFFFF002194FF002194FF001894FF00188CF7001884EF001884E700FFFF
+ FF001873CE001873CE001863AD00FFFFFF00FFFFFF005AAD5A007BBD7B0073BD
+ 730063AD63005AAD5A005AAD5A00A5D6A500FFFFFF00FFFFFF00429C4200399C
+ 39003194310031943100217B2100FFFFFF0000000000A5A5A500000000000000
+ 52000000AD0000005200000073000031FF000000730000005200212121000000
+ 100000000000000000000000000000000000FFFFFF006BB56B008CC68C007BBD
+ 7B006BB56B0063B5630063AD6300B5DEB500FFFFFF004AA54A004AA54A0042A5
+ 4200399C390031943100217B2100FFFFFF00FFFFFF0039A5FF006BBDFF0052AD
+ FF0039A5FF00319CFF00299CFF00299CFF002194FF00188CFF001884F7001884
+ EF00187BDE001873CE001863AD00FFFFFF00FFFFFF006BB56B008CC68C007BBD
+ 7B006BB56B0063B5630063AD630063AD6300A5D6A500FFFFFF004AA54A0042A5
+ 4200399C390031943100217B2100FFFFFF000000000000000000000000003131
+ 3100000042000000CE000000AD000000DE00000063000000420000004200BDBD
+ BD0000000000000000000000000000000000FFFFFF0073BD73009CCE9C008CC6
+ 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
+ 4A0042A542003194310018731800FFFFFF00FFFFFF004AADFF0084C6FF006BBD
+ FF0052ADFF004AADFF0039A5FF00319CFF00299CFF002194FF001894FF00188C
+ F7001884EF001873CE00185A9C00FFFFFF00FFFFFF0073BD73009CCE9C008CC6
+ 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
+ 4A0042A542003194310018731800FFFFFF000000000000000000000000000000
+ 00008C8C8C002121210000004200313131008C8C8C00BDC6C600000000000000
+ 000000000000000000000000000000000000FFFFFF00B5DEB50073BD730063B5
+ 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
+ 390031943100218C21008CBD8C00FFFFFF00FFFFFF00ADDEFF004AADFF00319C
+ FF002194FF00188CFF00188CFF00188CF700188CF7001884EF001884E700187B
+ DE001873CE00186BBD0063B5FF00FFFFFF00FFFFFF00B5DEB50073BD730063B5
+ 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
+ 390031943100218C21008CBD8C00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0000000000424D3E000000000000003E000000
+ 2800000040000000300000000100010000000000800100000000000000000000
+ 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFFF00000000
+ FFFFFFFF00000000F00FF03F00000000F7EFF7BF00000000F7EFF7BF00000000
+ F7EFF78F00000000F7EFF02F00000000F7EFF02F00000000F00FFDEF00000000
+ F00FFC0F00000000FFFFFC0F00000000FFFFFFFF00000000FFFFFFFF00000000
+ FFFFFFFF00000000FFFFFFFF000000008001F01FF00FFFFF0000E00FE007FFFF
+ 0000C007C003FFFF000080038001FFFF000000010000F81F000000000000F81F
+ 000000000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF
+ 000000000000FFFF000000000001FFFF000080018003FFFF0000C003C007FFFF
+ 0000E007E00FFFFF8001F00FF01FFFFFFFFF800180018001F07F000000000000
+ C07F000000000000C07F000000000000003F0000000000008001000000000000
+ 0000000000000000800000000000000000000000000000008000000000000000
+ 00010000000000008007000000000000800F000000000000E00F000000000000
+ F03F000000000000FFFF80018001800100000000000000000000000000000000
+ 000000000000}
+ end
+ object ilEditorPages: TImageList
+ Height = 32
+ Width = 32
+ Left = 124
+ Top = 116
+ Bitmap = {
+ 494C010112004801040020002000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 000000000000360000002800000080000000A000000001002000000000000040
+ 0100000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF000000000000000000000000000000000000000000000000000000
+ 000000000000A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 000000000000000000000000000000000000186BBE003783CC003783CC003783
+ CC003783CC003783CC003783CC001267BC003783CC003783CC003783CC003783
+ CC003783CC003783CC003783CC003783CC003783CC003783CC003783CC003783
+ CC003783CC003783CC003783CC003783CC002071C2003581CB003783CC003783
+ CC003783CC003783CC003783CC001267BC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 000000000000000000000000000000000000156ABD00317EC900317EC900317E
+ C900317EC900317EC900317EC9001066BB00317EC900317EC900317EC900317E
+ C900317EC900317EC900317EC900317EC900317EC900317EC900317EC900317E
+ C900317EC900317EC900317EC900317EC9001C6FC000307DC800317EC900317E
+ C900317EC900317EC900317EC9001066BB000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000003682CB007DB6EA007DB6EA007DB6
+ EA007DB6EA007DB6EA007DB6EA002878C5007DB6EA007DB6EA007DB6EA007DB6
+ EA007DB6EA007DB6EA007DB6EA007DB6EA007DB6EA007DB6EA007DB6EA007DB6
+ EA007DB6EA007DB6EA007DB6EA007DB6EA00488FD30079B3E8007DB6EA007DB6
+ EA007DB6EA007DB6EA007DB6EA002878C5000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000003E88CF0091C5F20091C5F20091C5
+ F20091C5F20091C5F20091C5F2002F7CC80091C5F20091C5F20091C5F20091C5
+ F20091C5F20091C5F20091C5F20091C5F20091C5F20091C5F20091C5F20091C5
+ F20091C5F20091C5F20091C5F20091C5F2005397D8008CC1F00091C5F20091C5
+ F20091C5F20091C5F20091C5F2002F7CC8000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE0000000000A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CAFF00A8CA
+ FF00A8CAFF00A8CAFF00A8CAFF0000000000CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00D6D6D6003883CC0082BAEC0082BAEC0082BA
+ EC0082BAEC0082BAEC0082BAEC002A79C60082BAEC0082BAEC0082BAEC0082BA
+ EC0082BAEC0082BAEC0082BAEC0082BAEC0082BAEC0082BAEC0082BAEC0082BA
+ EC0082BAEC0082BAEC0082BAEC0082BAEC004A91D4007EB7EA0082BAEC0082BA
+ EC0082BAEC0082BAEC0082BAEC002A79C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000007394DE000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C60000000000A8CAFF00A8CA
+ FF00A8CAFF000000000000000000000000000000000000000000000000000000
+ 0000A8CAFF00A8CAFF00A8CAFF00000000000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6007394DE003D87CE008DC2F1008DC2F1008DC2
+ F1008DC2F1008DC2F1008DC2F1002D7CC7008DC2F1008DC2F1008DC2F1008DC2
+ F1008DC2F1008DC2F1008DC2F1008DC2F1008DC2F1008DC2F1008DC2F1008DC2
+ F1008DC2F1008DC2F1008DC2F1008DC2F1005196D70088BFEE008DC2F1008DC2
+ F1008DC2F1008DC2F1008DC2F1002D7CC7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF0000000000A8CAFF00A8CA
+ FF00000000007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
+ C10000000000A8CAFF00A8CAFF0000000000FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF0000000000A8CAFF000000
+ 00007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
+ C1007F9AC10000000000A8CAFF0000000000FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A50000000000A8CAFF000000
+ 00007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
+ C1007F9AC10000000000A8CAFF0000000000A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A5000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF0000000000A8CAFF000000
+ 00007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
+ C1007F9AC10000000000A8CAFF0000000000A5A5A500FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000042C600166ABD003380CA003380CA003380
+ CA003380CA003380CA003380CA001066BB003380CA003380CA003380CA003380
+ CA003380CA003380CA003380CA003380CA003380CA003380CA003380CA003380
+ CA003380CA003380CA003380CA003380CA001D6FC000317EC9003380CA003380
+ CA003380CA003380CA003380CA001066BB000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A6A2A600000000007F9A
+ C1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
+ C1007F9AC1007F9AC10000000000FFF0FF00A5A5A500FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A79FA7000E0E0E007F9A
+ C1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
+ C1007F9AC1007F9AC10000000000AD94AD00A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A5000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFF2FF00101010007F9A
+ C1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
+ C1007F9AC1007F9AC1003A3A3A00A5A3A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFEEFF000A0A
+ 0A007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1007F9A
+ C1007F9AC10000000000FFF8FF00A8A8A800FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000042C600166ABE003480CA003480CA003480
+ CA003480CA003480CA003480CA001166BB003480CA003480CA003480CA003480
+ CA003480CA003480CA003480CA003480CA003480CA003480CA003480CA003480
+ CA003480CA003480CA003480CA003480CA001E70C100327FCA003480CA003480
+ CA003480CA003480CA003480CA001166BB000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500ACAC
+ AC001D1D1D00000000007F9AC1007F9AC1007F9AC1007F9AC1007F9AC1000000
+ 000000000000AD94AD00ADADAD00A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00AEAEAE001F1F1F0000000000000000000000000000000000AC96
+ AC00FFF8FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A5000042C600478ED300A6D4FB00A6D4FB00A6D4
+ FB00A6D4FB00A6D4FB00A6D4FB003581CB00A6D4FB00A6D4FB00A6D4FB00A6D4
+ FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB00A6D4
+ FB00A6D4FB00A6D4FB00A6D4FB00A6D4FB005FA0DD00A0D0F900A6D4FB00A6D4
+ FB00A6D4FB00A6D4FB00A6D4FB003581CB000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00FFFFFF000042C6002D7BC70068A7E10068A7E10068A7
+ E10068A7E10068A7E10068A7E1002273C20068A7E10068A7E10068A7E10068A7
+ E10068A7E10068A7E10068A7E10068A7E10068A7E10068A7E10068A7E10068A7
+ E10068A7E10068A7E10068A7E10068A7E1003C86CE0065A4DF0068A7E10068A7
+ E10068A7E10068A7E10068A7E1002273C2000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00FFFFFF000042C6004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000007394DE000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6007394DE004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000004B91D400AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF00AFDBFF0064A4DF00A9D6FC00AFDBFF00AFDB
+ FF00AFDBFF00AFDBFF00AFDBFF003883CC000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000002072C2004A91D4004A91D4004A91
+ D4004A91D4004A91D4004A91D400186CBE004A91D4004A91D4004A91D4004A91
+ D4004A91D4004A91D4004A91D4004A91D4004A91D4004A91D4004A91D4004A91
+ D4004A91D4004A91D4004A91D4004A91D4002B79C600488FD3004A91D4004A91
+ D4004A91D4004A91D4004A91D400186CBE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00D6D6D6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000004242420042424200424242004242
+ 4200424242004242420063636300848484004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600ADADAD00D6D6D600CECECE00C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600ADADAD00D6D6D600CECECE00C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000D6D6
+ D600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00D6D6D6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600A5A5A500D6D6D600C6C6C600C6C6C600C6C6C6008484
+ 8400848484008484840084848400848484008484840084848400C6C6C600C6C6
+ C600C6C6C600C6C6C6008484840084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000D6D6D600D6D6
+ D600848484006363630063636300424242004242420063636300636363008484
+ 8400D6D6D600D6D6D60000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600BDBDBD00B5B5B500B5B5
+ B500B5B5B500B5B5B5009C9C9C00C6C6C600BDBDBD00B5B5B500B5B5B5008484
+ 8400B5B5B500B5B5B500B5B5B500B5B5B500B5B5B50084848400B5B5B500B5B5
+ B500B5B5B50084848400C6C6BD00BDBDBD008484840084848400C6C6C600CECE
+ CE00CECECE00CECECE0084848400848484000000000000000000000000000000
+ 0000FFFFFF00FFFFFF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00F7F7F700FFFFFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000D6D6D600636363006363
+ 6300A5A5A500C6C6C600D6D6D600D6D6D600D6D6D600D6D6D600C6C6C600A5A5
+ A5006363630063636300D6D6D600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000315AC6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C600315AC600E7E7E700C6C6C600C6C6C60084848400CECE
+ CE00CECECE00CECECE00CECECE0084848400FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00EFEFEF00DEDEDE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600E7E7E700F7F7F700FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000D6D6D600CECECE0063636300C6C6C600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600C6C6C60063636300CECECE00D6D6D60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600B5B5B500F7F7F700C6C6C60084848400CECE
+ CE00CECECE00CECECE00CECECE00CECECE00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00E7E7E700DEDEDE0000000000000000000000000000000000000000000000
+ 0000D6D6D600E7E7E700F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6C6C60042424200C6C6C600DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00637BD600DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00C6C6C60042424200C6C6C60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E700F7F7F70084848400C6C6C600D6D6
+ D600D6D6D600D6D6D60084848400D6D6D600DEDEDE00D6D6D600D6D6D600D6D6
+ D600CECECE00CECECE00000000000031A5000031A5000031A5000031A5000031
+ A50000000000D6D6D600E7E7E700E7E7E700EFEFEF00EFEFEF00F7F7F700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000D6D6D60063636300C6C6C600DEDEDE00DEDEDE00E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700315AC600637BD600E7E7E700E7E7
+ E700E7E7E700DEDEDE00DEDEDE00C6C6C60063636300D6D6D600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF004242
+ 42004242420042424200424242004242420042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E700C6C6C60084848400D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600848484000000000000000000000000000000
+ 00000000000000000000000000000031A5000031A5000031A5000031A5000031
+ A5000031A50000000000CECECE00CECECE00D6D6D600D6D6D600E7E7E700E7E7
+ E700EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00F7F7F700FFFFFF00FFFF
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 000000000000D6D6D60063636300C6C6C600DEDEDE00DEDEDE00DEDEDE00E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700315AC600315AC600637BD600E7E7
+ E700E7E7E700DEDEDE00DEDEDE00DEDEDE00C6C6C60063636300D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C6009C9C9C00A5A5A500C6C6C600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D60000000000E7E7E700D6D6D600C6C6
+ C600B5B5B500A5A5A500000000000042C6000042C6000042C6000042C6000042
+ C6000042C6000031A50000000000000000000000000000000000CECECE00CECE
+ CE00CECECE00CECECE00D6D6D600D6D6D600D6D6D600E7E7E700EFEFEF00F7F7
+ F700FFFFFF000000000000000000000000000000000000000000000000000000
+ 000000000000D6D6D60063636300DEDEDE00DEDEDE00DEDEDE00637BD600315A
+ C600315AC600315AC600315AC600315AC600315AC6000042C600315AC600637B
+ D600E7E7E700DEDEDE00DEDEDE00DEDEDE00DEDEDE0063636300D6D6D6000000
+ 000000000000000000000000000000000000000000000000000000000000CECE
+ CE0000000000000000000000000000000000000000000000000000000000CECE
+ CE000000000000000000000000000000000000000000CECECE00000000000000
+ 00000000000000000000000000000000000000000000CECECE00000000000000
+ 00000000000000000000CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600C6C6C600D6D6D600DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
+ 00000000000000000000000000000031A5000031A5000031A5000031A5000031
+ A5000031A5000031A5000031A5000031A5000031A50000000000000000000000
+ 00000000000000000000000000000000000000000000CECECE00D6D6D600E7E7
+ E700F7F7F700FFFFFF0000000000000000000000000000000000000000000000
+ 00000000000084848400A5A5A500E7E7E700E7E7E700E7E7E700315AC6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C600315A
+ C600637BD600E7E7E700E7E7E700E7E7E700E7E7E700A5A5A500848484000000
+ 00000000000000000000000000000000000000000000000000000042C600CECE
+ CE000000000000000000000000000000000000000000000000000042C600CECE
+ CE00000000000000000000000000000000000042C600CECECE00000000000000
+ 0000000000000000000000000000B1C3ED000042C600B1C3ED00CECECE000000
+ 0000000000000042C600CECECE00000000000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C600C6C6C600D6D6D600DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
+ 00000000000000000000000000000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C60000000000E7E7E700DEDE
+ DE00DEDEDE00CECECE00CECECE00CECECE00C6C6C6000000000000000000D6D6
+ D600E7E7E700F7F7F700FFFFFF00000000000000000000000000000000000000
+ 00000000000063636300C6C6C600E7E7E700E7E7E700E7E7E700315AC6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C600315AC600637BD600E7E7E700E7E7E700E7E7E700C6C6C600636363000000
+ 00000000000000000000000000000000000000000000000000004576DB00B1C3
+ ED00CECECE0000000000000000000000000000000000B1C3ED004576DB000000
+ 00000000000000000000CECECE00CECECE000042C600CECECE00000000000000
+ 0000CECECE0000000000000000000042C600CECECE000042C600000000000000
+ 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C6004A4A4A004242420042424200424242004242
+ 42004242420042424200424242004242420000000000D6D6D600D6D6D600CECE
+ CE00CECECE00CECECE00000000000031A5000031A5000031A5000031A5000042
+ C6000042C600315AC600315AC600315AC600315AC60000000000FFFFFF00FFFF
+ FF00FFFFFF00F7F7F700F7F7F700EFEFEF00E7E7E700DEDEDE00CECECE000000
+ 0000D6D6D600E7E7E700F7F7F700FFFFFF000000000000000000000000000000
+ 00000000000063636300E7E7E700E7E7E700E7E7E700E7E7E700315AC6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C600315AC600637BD600E7E7E700E7E7E700E7E7E700636363000000
+ 0000000000000000000000000000000000000000000000000000B1C3ED000042
+ C600CECECE00CECECE00CECECE00CECECE00CECECE000042C600B1C3ED000000
+ 0000B1C3ED004576DB004576DB00B1C3ED000042C600CECECE00000000004576
+ DB00CECECE0000000000000000000042C6000042C600B1C3ED00000000000000
+ 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000315AC600315AC600315AC600315AC600315A
+ C6007394DE00EFEFEF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
+ 00000000000000000000000000005A5A5A00FFFFFF00FFFFFF00EFEFEF00DEDE
+ DE0000000000D6D6D600E7E7E700F7F7F7000000000000000000000000000000
+ 00000000000042424200EFEFEF00EFEFEF00EFEFEF00EFEFEF00315AC6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C600315AC600637BD600EFEFEF00EFEFEF00424242000000
+ 0000000000000000000000000000000000000000000000000000000000004576
+ DB000042C6000042C6000042C6000042C6000042C6004576DB00000000000000
+ 00004576DB00CECECE007394DE004576DB000042C600CECECE00B1C3ED004576
+ DB000000000000000000000000000042C600CECECE0000000000000000000000
+ 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 00000000000000000000000000000000000000000000E7E7E700D6D6D600C6C6
+ C600B5B5B500A5A5A50000000000EFEFEF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00EFEFEF007394DE0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000DEDEDE00000000005A5A5A00FFFFFF00F7F7
+ F700E7E7E70000000000D6D6D600EFEFEF000000000000000000000000000000
+ 00000000000042424200EFEFEF00EFEFEF00EFEFEF00EFEFEF00315AC6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C600315AC600637BD600EFEFEF00EFEFEF00424242000000
+ 000000000000000000000000000000000000000000000000000000000000B1C3
+ ED000042C600CECECE0000000000000000000042C600B1C3ED00000000000000
+ 00000042C600CECECE0000000000000000000042C6000042C6004576DB00B1C3
+ ED000000000000000000000000004576DB007394DE00CECECE00000000000000
+ 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000007394DE007394DE007394DE007394DE007394
+ DE00315AC6000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000DEDEDE005A5A5A00FFFF
+ FF00FFFFFF00EFEFEF0000000000E7E7E7000000000000000000000000000000
+ 00000000000063636300EFEFEF00EFEFEF00EFEFEF00EFEFEF00315AC6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C600315AC600637BD600EFEFEF00EFEFEF00EFEFEF00636363000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00004576DB00B1C3ED0000000000B1C3ED004576DB0000000000000000000000
+ 00004576DB00000000007394DE004576DB000042C600CECECE00000000000000
+ 0000000000000000000000000000000000000042C6007394DE00000000000000
+ 0000000000000042C600CECECE00000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000315AC600315AC600315AC600315AC600315A
+ C600000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000DEDEDE000000
+ 0000FFFFFF00FFFFFF0000000000D6D6D6000000000000000000000000000000
+ 00000000000063636300C6C6C600EFEFEF00EFEFEF00EFEFEF00315AC6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C600315AC600637BD600EFEFEF00EFEFEF00EFEFEF00C6C6C600636363000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000B1C3ED000042C600CECECE000042C600B1C3ED0000000000000000000000
+ 0000B1C3ED004576DB004576DB00B1C3ED000042C600CECECE00000000000000
+ 00000000000000000000000000000042C600B1C3ED00CECECE00000000000000
+ 0000000000004576DB0000000000000000000042C600FFFFFF00FFFFFF004242
+ 420042424200424242004242420042424200FFFFFF0042424200424242004242
+ 4200424242004242420042424200FFFFFF004242420042424200424242004242
+ 4200FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000005A5A
+ 5A00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 00000000000084848400A5A5A500F7F7F700F7F7F700F7F7F700315AC6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C600315A
+ C600637BD600F7F7F700F7F7F700F7F7F700F7F7F700A5A5A500848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000004576DB00000000004576DB000000000000000000000000000000
+ 0000CECECE00CECECE00CECECE00CECECE000042C600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00B1C3ED000042C60000000000CECECE00CECE
+ CE004576DB00B1C3ED0000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000DEDE
+ DE0000000000FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 000000000000D6D6D60063636300F7F7F700F7F7F700F7F7F700637BD600315A
+ C600315AC600315AC600315AC600315AC600315AC6000042C600315AC600637B
+ D600E7E7E700F7F7F700F7F7F700F7F7F700F7F7F70063636300D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000B1C3ED000042C600B1C3ED000000000000000000000000000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000000000000000000B1C3ED004576DB000042C6004576
+ DB00B1C3ED000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00005A5A5A00FFFFFF00FFFFFF00525252000000000000000000000000000000
+ 0000000000000000000063636300D6D6D600F7F7F700F7F7F700F7F7F700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700315AC600315AC600637BD600E7E7
+ E700E7E7E700F7F7F700F7F7F700F7F7F700D6D6D60063636300000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF004242
+ 420042424200424242004242420042424200424242004242420042424200FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000084848400FFFFFF00FFFFFF00848484000000000000000000000000000000
+ 000000000000000000000000000063636300D6D6D600FFFFFF00FFFFFF00E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700315AC600637BD600E7E7E700E7E7
+ E700E7E7E700FFFFFF00FFFFFF00D6D6D6006363630000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000A5A5A500F7F7F700F7F7F700A5A5A5000000000000000000000000000000
+ 00000000000000000000000000000000000042424200D6D6D600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00637BD600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00D6D6D600424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000C6C6C600F7F7F700F7F7F700BDBDBD000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C60063636300D6D6D600FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D6D6D60063636300C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF004242
+ 42004242420042424200424242004242420042424200FFFFFF00424242004242
+ 4200424242004242420042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000DEDEDE00FFFFFF00FFFFFF00DEDEDE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000636363006363
+ 6300A5A5A500C6C6C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600A5A5
+ A500636363006363630000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000D6D6
+ D600848484006363630063636300424242004242420063636300636363008484
+ 8400D6D6D6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF004242
+ 4200424242004242420042424200424242004242420042424200FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600E7E7E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000315AC6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C600315AC600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000D6D6
+ D600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00D6D6D60000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000BDBDBD00B5B5B500C6C6
+ C600D6D6D600DEDEDE0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C60000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000637BD600315AC6000042C6000042
+ C600315AC600637BD6008494C6008494C600ADADAD00BDBDBD00CECECE00D6D6
+ D600DEDEDE000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000002963
+ CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000042C60000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000315AC600EFDED600F7F7E700F7F7E700F7F7
+ E700D6D6CE00CECEC600A5A59C00637BD600315AC6000042C6000042C600315A
+ C600637BD6008494C6009C9C9C00ADADAD00BDBDBD00D6D6D600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000002963
+ CE00FFFFFF00FFFFFF00FFFFFF000042C600FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000042C60084848400ADADAD00D6D6D600EFEFEF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFDED600F7F7E700F7F7E700F7F7
+ E700F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00CECE
+ C600C6C6BD00637BD600315AC6000042C6000042C6008494C600DEDEDE000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000002963
+ CE00FFFFFF00FFFFFF000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000042C60063636300636363007373730094949400B5B5B500D6D6
+ D600000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFDED600F7F7E7007B7B73006B6B
+ 63007B7B73007B7B73006B6B6B00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7F7
+ F700F7FFF700FFFFF700FFFFF700FFFFF700FFFFF700315AC600D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000002963
+ CE00FFFFFF00FFFFFF000042C6000042C600FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000042C6006B6B6B006363630063636300636363006B6B6B007B7B
+ 7B0094949400C6C6C600EFEFEF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7D600F7F7E700F7F7E700F7F7
+ EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7FF
+ F700FFFFF700FFFFF700FFFFF700FFFFF700FFFFFF000042C600D6D6D6000000
+ 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00D6D6D6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000002963
+ CE00FFFFFF00FFFFFF000042C6000042C6000042C600FFFFFF000042C600FFFF
+ FF00FFFFFF000042C600CECECE00ADADAD00848484006B6B6B00636363006363
+ 63006363630063636300737373009C9C9C00C6C6C600EFEFEF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7D600F7F7E7007B7B73007B7B
+ 73007B7B73006B6B6B009C9C9400F7F7EF00F7F7EF00F7F7F700F7FFF700F7FF
+ F700FFFFF700FFFFF700FFFFF700FFFFFF00FFFFFF000042C600D6D6D6000000
+ 0000000000000000000000000000000000004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 420042424200424242004242420042424200D6D6D600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00D6D6D6000000000000000000000000002963
+ CE00FFFFFF00FFFFFF00FFFFFF000042C6000042C6000042C6000042C600FFFF
+ FF00FFFFFF000042C600E7E7E700E7E7E700D6D6D600BDBDBD009C9C9C008484
+ 84006B6B6B006363630063636300636363006B6B6B0084848400ADADAD00DEDE
+ DE00000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7D600F7F7EF00F7F7EF00F7F7
+ EF00F7F7EF00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7FFF700F7FFF700FFFF
+ F700FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00D6D6D600D6D6D600424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242000000000000000000000000002963
+ CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C6000042C6000042C600FFFF
+ FF00FFFFFF000042C600E7E7E700E7E7E700E7E7E700E7E7E700DEDEDE00CECE
+ CE00B5B5B500949494007B7B7B00636363006363630063636300636363008484
+ 8400DEDEDE000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7F7EF00F7F7EF00F7F7
+ EF00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7F7F700F7FFF700FFFFF700FFFF
+ F700FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 8400424242004242420042424200424242004242420042424200424242008484
+ 8400CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6
+ D600D6D6D600D6D6D600D6D6D60042424200C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000002963
+ CE00FFFFFF00FFFFFF00FFFFFF000042C6000042C6000042C6000042C600FFFF
+ FF00FFFFFF000042C600F7F7F700EFEFEF00E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700DEDEDE00C6C6C6009C9C9C006B6B6B0063636300636363006363
+ 6300ADADAD000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7F7EF00F7F7EF00F7F7
+ EF00F7F7EF00F7F7EF00F7F7EF00F7F7F700F7FFF700FFFFF700FFFFF700FFFF
+ F700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 4200DEDEDE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600C6C6C6004242
+ 4200CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D60042424200C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000002963
+ CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000042C600FFFFFF00FFFFFF00EFEFEF00E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700DEDEDE009494940063636300636363006363
+ 6300949494000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00E7E7DE00B5BDB500D6D6
+ CE00F7F7EF00F7F7EF00F7F7F700F7FFF700F7FFF700FFFFF700FFFFF700FFFF
+ F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600CECECE004242
+ 4200DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE004242
+ 4200CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600424242008484840084848400848484008484
+ 84008484840084848400C6C6C600C6C6C600C6C6C600C6C6C600849CCE001852
+ D6004A73D6009CADD600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000002963
+ CE002963CE002963CE002963CE002963CE002963CE002963CE002963CE002963
+ CE002963CE000042C600FFFFFF00FFFFFF00FFFFFF00F7F7F700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700B5B5B50063636300636363006363
+ 6300BDBDBD000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00E7E7DE00B5BDB5008C8C
+ 84007B7B7B006B6B6B007B7B7B007B7B7B006B6B6B007B7B7B009C9C9C00BDBD
+ BD00BDBDBD00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600CECECE00CECECE00CECECE008484
+ 8400424242004242420042424200424242004242420042424200424242008484
+ 8400CECECE00CECECE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D60042424200C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C6001852E700294A
+ C6004263CE001039D6002152E7006B8CDE00ADBDD600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 000000000000BDBDBD008C8C8C0094949400D6D6D600F7F7F700CECECE00F7F7
+ F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7F7F700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700ADADAD0063636300636363007373
+ 7300DEDEDE000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7F7EF00F7F7EF00F7F7
+ EF00F7F7F700F7F7F700F7FFF700FFFFF700FFFFF700FFFFF700CECECE00BDBD
+ BD00ADADAD0084847B00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600424242008484840084848400CECECE00CECE
+ CE00CECECE0084848400CECECE00CECECE00CECECE009CB5D6001842D600E7EF
+ CE00FFF7CE00E7E7CE0094A5CE003152CE001042DE004273E7009CADCE00CECE
+ CE00CECECE00CECECE0042424200424242004242420042424200CECECE00CECE
+ CE00CECECE00CECECE00CECECE00424242000000000000000000000000000000
+ 0000E7E7E700A5A5A5008C8C8C009C9C9C00EFEFEF00D6D6D6009C9C9C00EFEF
+ EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00EFEF
+ EF00E7E7E700E7E7E700E7E7E700DEDEDE008C8C8C0063636300636363009494
+ 9400000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7F7EF007B7B7B006B6B
+ 6B007B7B7B007B7B7B006B6B6B007B7B7B008C8C8C00BDBDBD00BDBDBD00EFEF
+ EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D60042424200CECECE00CECECE0084848400CECE
+ CE00CECECE0084848400CECECE00CECECE00CECECE00849CE7007394E700FFFF
+ FF00FFFFF700FFF7DE00FFEFCE00FFF7CE00BDC6CE000839C600316BDE00CECE
+ CE00CECECE00CECECE0042424200CECECE00CECECE00CECECE00CECECE004242
+ 4200CECECE00CECECE0042424200CECECE000000000000000000000000000000
+ 0000CECECE00949494008C8C8C00BDBDBD00F7F7F700B5B5B500ADADAD00F7F7
+ F700FFFFFF00E7E7E700ADADAD00ADADAD00FFFFFF00FFFFFF00FFFFFF00F7F7
+ F700E7E7E700E7E7E700E7E7E700CECECE0073737300636363006B6B6B00BDBD
+ BD00000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7F7EF00F7F7EF00F7F7
+ F700F7FFF700F7FFF700FFFFF700FFFFF700DEDEDE00BDBDBD00BDBDBD008484
+ 7B008484840073737300DEDEDE00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C600D6D6D600D6D6D600D6D6D60042424200CECECE00CECECE00CECECE008484
+ 8400CECECE0084848400CECECE00CECECE00CECECE00527BEF00BDCEF700DEDE
+ F700FFFFFF00FFFFFF00FFF7E700FFEFCE00FFF7CE00294AC6004A7BD600CECE
+ CE00CECECE00CECECE00CECECE0042424200CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE000000000000000000000000000000
+ 0000B5B5B5008C8C8C008C8C8C00DEDEDE00EFEFEF0094949400ADADAD00EFEF
+ EF00CECECE009C9C9C00A5A5A500DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00EFEFEF00E7E7E700E7E7E700A5A5A500636363006363630084848400DEDE
+ DE00000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7F7EF009C9C94007B7B
+ 7B006B6B6B007B7B7B007B7B7B00ADADAD00BDBDBD00BDBDBD00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200C6C6C600CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600DEDEDE00424242008484840084848400CECECE008484
+ 8400CECECE0084848400CECECE00CECECE00B5C6DE004A73E700B5BDEF00BDC6
+ EF00ADB5E700C6CEEF00FFFFFF00FFEFCE00D6DECE000031CE009CB5DE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE0042424200CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE0042424200000000000000000000000000E7E7
+ E7009C9C9C008C8C8C00A5A5A500F7F7F700D6D6D6008C8C8C008C8C8C00ADAD
+ AD009C9C9C00BDBDBD00EFEFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00EFEFEF00E7E7E700D6D6D6008C8C8C006363630063636300A5A5A5000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7F7F700F7F7F700F7FF
+ F700FFFFF700FFFFF700FFFFF700BDBDBD00BDBDBD00ADADAD0084847B008484
+ 8400737373009C9C9C00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600DEDEDE00DEDEDE004242420084848400D6D6D600D6D6D6008484
+ 8400D6D6D60084848400D6D6D600D6D6D6007B94E700849CE700848CDE005273
+ D600B5BDEF00FFFFFF00FFFFFF00FFF7DE007B8CC6001852E700CECED600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D60042424200D6D6D6004242
+ 4200D6D6D600D6D6D600D6D6D600D6D6D600000000000000000000000000CECE
+ CE008C8C8C008C8C8C00C6C6C600F7F7F700B5B5B500ADADAD00ADADAD008C8C
+ 8C00DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7F7F700E7E7E700BDBDBD00737373006363630073737300C6C6C6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7F7F700F7FFF700FFFF
+ F700FFFFF700FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
+ CE000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C600DEDEDE00DEDEDE00DEDEDE0042424200D6D6D600D6D6D60084848400D6D6
+ D600D6D6D60084848400D6D6D600D6D6D6006B8CEF00B5C6F70094A5E7008CA5
+ E700EFF7FF00FFFFFF00FFFFFF00F7FFE700294AC600638CDE00D6D6D600D6D6
+ D600D6D6D600D6D6D60042424200D6D6D600D6D6D60042424200D6D6D600D6D6
+ D600D6D6D600D6D6D60042424200D6D6D600000000000000000000000000ADAD
+ AD008C8C8C0094949400D6D6D600EFEFEF009C9C9C00CECECE00DEDEDE008C8C
+ 8C00EFEFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7F7F700E7E7E7009C9C9C00636363006363630084848400E7E7E7000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7FFF700F7FFF700FFFF
+ F700FFFFF700FFFFF700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00424242008484840084848400D6D6D600D6D6
+ D600D6D6D60084848400D6D6D600D6D6D600B5BDDE0094ADF700D6E7FF00D6DE
+ F700D6DEF700FFFFFF00FFFFFF00CECEE7000031D600A5BDDE00D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D6004242420042424200D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D60042424200000000000000000000000000BDBD
+ BD008C8C8C0094949400CECECE00E7E7E700BDBDBD00EFEFEF00FFFFFF00ADAD
+ AD00B5B5B500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7F7F700CECECE00848484006363630063636300ADADAD00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00F7FFF700BDBDB500BDBD
+ B500CECECE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE0042424200D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D60084848400D6D6D600D6D6D600D6D6D600D6D6D600BDC6D600A5B5
+ E700B5CEFF00E7EFFF00F7FFFF00637BD600215AE700D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600000000000000000000000000E7E7
+ E700A5A5A5008C8C8C00ADADAD00EFEFEF00F7F7F700FFFFFF00FFFFFF00DEDE
+ DE009C9C9C00E7E7E700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7F7F700B5B5B5006B6B6B00636363006B6B6B00DEDEDE00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7DE00FFFFF700BDBDB500BDBD
+ BD009C9C9C007B7B7B007B847B00DEDEDE00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600D6D6D600D6D6D600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00424242008484840084848400848484008484
+ 84008484840084848400DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00D6D6D600ADBDDE008C9CE7002952DE008CA5DE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
+ 0000E7E7E700C6C6C600A5A5A500B5B5B500D6D6D600EFEFEF00FFFFFF00FFFF
+ FF00D6D6D600EFEFEF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00EFEFEF009494940063636300636363008484840000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600EFE7E700FFFFF700DEDED600FFFF
+ F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E752000042424200DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
+ 0000000000000000000000000000D6D6D600BDBDBD00ADADAD00BDBDBD00DEDE
+ DE00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00E7E7E700737373006363630063636300B5B5B50000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600F7E7E700FFFFF7008C8C8C007B7B
+ 7B007B7B7B0084847B008C8C8C00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 00000000000000000000000000000000000042424200E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E752000042424200DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000D6D6D600B5B5
+ B500ADADAD00C6C6C600DEDEDE00EFEFEF00FFFFFF00FFFFFF00FFFFFF00F7F7
+ F700ADADAD00636363006363630073737300E7E7E70000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600F7E7E700FFFFF700FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 000000000000000000000000000000000000C6C6C60042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200C6C6C6004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000E7E7E700CECECE00BDBDBD00BDBDBD00CECECE00DEDEDE00DEDEDE00C6C6
+ C6007B7B7B006363630063636300949494000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600F7E7E7008C8C8C00BDBDBD00FFFF
+ FF00D6D6D600C6C6C600FFF7F700FFF7F700EFD6D600FFFFFF00FFFFFF00F7EF
+ EF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000E7E7E700C6C6C600B5B5B500A5A5A5009494
+ 94006B6B6B006363630073737300CECECE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C600E7CECE00636363006B6B6B00EFCE
+ CE00636363007B7B7B00B5ADB500EFDEDE006363630084848400FFFFFF007373
+ 730073737300F7DEDE006363630084848400EFE7EF000042C600D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000EFEFEF00DEDEDE00B5B5
+ B5007B7B7B0084848400C6C6C600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000637BD600637BD600315AC60063636300315A
+ C600315AC6007B7B7B008494C600315AC600315AC6006B6B6B008494C6008494
+ C600737373008494C6008494C600848484009C9C9C00637BD600EFEFEF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000006B6B6B008C8C8C00848484008C8C
+ 8C008C8C8C007B7B7B0094949400848484008C8C8C007B7B7B00315AC600637B
+ D6006B6B6B00315AC600315AC6007B7B7B007B7B7B008494C600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000CECECE00EFEFEF00F7F7
+ F700B5B5B500C6C6C600F7F7F700A5A5A50094949400CECECE00BDBDBD007B7B
+ 7B009C9C9C00BDBDBD006B6B6B006B6B6B00D6D6D60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000042
+ C600D6D6D600D6D6D60000000000000000000000000000000000000000000042
+ C600D6D6D6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000E7E7E700DEDEDE00DEDEDE00DEDEDE00DEDEDE00E7E7E7000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000042
+ C6000042C600CECECE00000000000000000000000000000000000042C6000042
+ C600CECECE000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000E7E7E700D6D6
+ D600C6C6CE009CADCE006384CE004A73C600527BC6006B8CC60094A5CE00C6CE
+ CE00D6D6D600DEDEDE0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000DEDEDE00D6D6D6000042
+ C6000042C600C6C6C600D6D6D6000000000000000000000000000042C6000042
+ C600C6C6C600CECECE00D6D6D600DEDEDE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000E7E7E700CECECE008C9CCE00295A
+ C6000042C600104AC600295AC6002963CE00215AC600215AC600104AC6000042
+ C6001852C6008494C600CECECE00DEDEDE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C6000042C6000042C6000042
+ C6000042C6000042C600CECECE0000000000000000000042C6007394DE000042
+ C6000042C6000042C6000042C600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000D6D6D600CECE
+ CE00D6D6D6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000DEDEDE009CADC6001052C600084AC600527B
+ CE00CED6DE00E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700D6DE
+ E7006B8CD600084AC600084AC6007B94C600D6D6D60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000042C6007394DE000042
+ C6000042C6000042C600C6C6C600D6D6D600000000000042C6007394DE007394
+ DE000042C6000042C60000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000042C6002963CE00ADB5
+ EF00CECECE000000000000000000000000000000000000000000000000000000
+ 00000000000000000000DEDEDE005A7BC6000042C6004273CE00DEDEE700E7E7
+ E700E7E7E700E7E7E700DEDEDE00D6D6D600E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E7006B8CD6000042C600396BC600CECED600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000000042C6007394
+ DE000042C6000042C6000042C600C6C6C6000042C6007394DE007394DE000042
+ C6000042C600E7E7E70000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000042C6000042C6000042C6002963
+ CE00D6D6D6000000000000000000000000000000000000000000000000000000
+ 000000000000DEDEDE005A7BC600084AC600ADBDDE00E7E7E700E7E7E700E7E7
+ E700E7E7E700BDBDBD006B6B6B0063636300A5A5A500E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700B5C6DE00104AC600295AC600CED6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE000042
+ C6007394DE000042C6000042C600ADADAD000042C6007394DE000042C6000042
+ C600C6C6C600CECECE00CECECE00D6D6D6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000042C6000042C6000042C600ADB5EF002963
+ CE00000000000000000000000000000000000000000000000000000000000000
+ 0000E7E7E7006B8CC6000842C600BDC6DE00E7E7E700E7E7E700E7E7E700E7E7
+ E700DEDEDE006B6B6B00636363006363630063636300C6C6C600BDBDBD00DEDE
+ DE00E7E7E700E7E7E700E7E7E700E7E7E700CED6DE00104AC600396BC600DEDE
+ DE0000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00D6D6D6008484840042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 42000042C6007394DE000042C6000042C6007394DE000042C6000042C6004A4A
+ 4A00424242004242420042424200848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000042C6000042C6000042C600ADB5EF002963CE000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000ADB5CE000042C60094A5D600E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700C6C6C6006363630063636300636363006363630094949400ADADAD00B5B5
+ B500E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700BDCEDE00084AC600849C
+ C600000000000000000000000000000000007394DE000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6007394DE0042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000042C6000042C6000042C6000042C6000042C600C6C6C600D6D6
+ D600EFEFEF00FFFFFF00FFFFFF00424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000042C6000042C6000042C600ADB5EF002963CE00000000000000
+ 000000000000000000000000000000000000000000000000000000000000E7E7
+ E7002152C6004273CE00E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700B5B5B5006363630063636300636363006363630084848400D6D6D600B5B5
+ B500E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E7007B94CE00084A
+ C600D6D6DE000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7F7F7000042C6000042C6000042C6000042C6000042C6000042C600C6C6
+ C600D6D6D600F7F7F700FFFFFF00424242000000000000000000000000000000
+ 00000000000000000000000000000000000000000000D6D6D600CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6D600000000000000
+ 00000042C6000042C6000042C600ADB5EF002963CE0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000009CAD
+ CE000042C600E7E7EF00E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700A5A5A500636363006363630063636300636363007B7B7B00E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700DEDEDE001852
+ C6006384C6000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C600CECECE00F7F7F700FFFFFF00424242000000000000000000000000000000
+ 00000000000000000000E7E7E700CECECE00ADB5EF007394DE00315AC6000042
+ C6000042C6000042C600315AC6007394DE00ADB5EF00BDBDBD00C6C6C6000042
+ C6000042C6000042C600ADB5EF002963CE00E7E7E70000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000003163
+ C6004273CE00FFFFFF00E7E7E700E7E7E700E7E7E700C6C6C6008C8C8C009494
+ 94006B6B6B006363630063636300636363006363630063636300DEDEDE00E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700638C
+ CE001852C600E7E7E70000000000000000000042C600A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A5000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF000042C6007394DE000042C6000042C6000042C6000042C6000042C6000042
+ C600CECECE00F7F7F700FFFFFF0042424200D6D6D600CECECE00CECECE00CECE
+ CE00CECECE00C6C6C600ADB5EF000042C600315AC600BDC6CE00F7EFCE00F7EF
+ CE0084848400F7EFCE00F7EFCE00BDC6CE00315AC6000042C600315AC600ADB5
+ EF002963CE00ADB5EF002963CE00C6C6C600CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00D6D6D6000000000000000000E7E7E7000842
+ C600A5BDDE00FFFFFF00F7F7F700E7E7E700ADADAD0063636300636363006363
+ 630063636300636363006363630063636300636363006363630094949400E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700CED6
+ D6000042C600ADBDD60000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF000042C6007394DE000042C6000042C6000042C6000042C6000042C6000042
+ C600D6D6D600F7F7F700FFFFFF0042424200A5A5A50042424200424242004242
+ 420042424200848484000042C600BDC6CE00F7EFCE00F7EFCE00F7EFCE00F7EF
+ CE0084848400F7EFCE00F7EFCE00F7EFCE00F7EFCE00BDC6CE000042C6002963
+ CE00ADB5EF002963CE004A4A4A00424242004242420042424200424242004242
+ 4200424242004242420042424200A5A5A5000000000000000000ADBDD6000042
+ C600F7F7F700FFFFFF00FFFFFF00C6C6C6006363630063636300636363006363
+ 630063636300636363006363630063636300636363006363630063636300CECE
+ CE00E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700DEDE
+ DE001852C6007394CE0000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF000042C6007394DE007394DE000042C6000042C6000042C6000042C6000042
+ C600EFEFEF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF009C9C
+ 9C00ADB5EF000042C60084848400848484008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484000042
+ C600315AC600CECECE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00424242000000000000000000849CCE001852
+ C600F7F7F700FFFFFF00FFFFFF009C9C9C006363630063636300636363006363
+ 630063636300636363006363630063636300636363006363630063636300A5A5
+ A500E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700DEDE
+ DE003163C6004A73C60000000000000000000042C600A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A5000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000042C6007394DE007394DE007394DE000042C6000042C600EFEF
+ EF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF009C9C
+ 9C000042C600ADB5EF00FFFFFF00F7EFCE00F7EFCE0084848400F7EFCE00F7EF
+ CE00F7EFCE00F7EFCE00F7EFCE0084848400F7EFCE00F7EFCE00F7EFCE00BDC6
+ CE000042C600C6C6C60094949400F7F7F700FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF004242420000000000000000006B8CCE001852
+ C600F7F7F700FFFFFF00FFFFFF00A5A5A5006363630063636300636363006363
+ 63006363630063636300636363006363630073737300CECECE00D6D6D600CECE
+ CE00E7E7E700E7E7E700E7E7E7008C8C8C00C6C6C600E7E7E700E7E7E700DEDE
+ DE00426BC6003163C60000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF000042C6000042C6000042C6000042C600F7F7F700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200A5A5A500A5A5A5008484
+ 8400315AC600FFFFFF00FFFFFF00F7EFCE00F7EFCE0084848400F7EFCE00F7EF
+ CE00F7EFCE00F7EFCE00F7EFCE0084848400F7EFCE00F7EFCE00F7EFCE00F7EF
+ CE00315AC600A5A5A500949494009C9C9C00A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A5004242420000000000000000006B8CCE002963
+ C600F7F7F700FFFFFF00FFFFFF00B5B5B5007B7B7B0063636300636363006363
+ 630063636300636363006363630063636300ADADAD00848484006B6B6B00ADAD
+ AD00E7E7E700E7E7E700C6C6C60063636300A5A5A500E7E7E700E7E7E700DEDE
+ DE004273C6004273C60000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF007394
+ DE00ADB5EF0084848400C6C6C600FFFFFF00F7EFCE0084848400F7EFCE008484
+ 8400C6C6C600F7EFCE00F7EFCE0084848400F7EFCE0084848400F7EFCE00F7EF
+ CE00BDC6CE007394DE00CECECE00F7F7F700A5A5A500FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00424242000000000000000000849CD6001852
+ C600EFEFEF00FFFFFF00FFFFFF00DEDEDE008C8C8C0073737300636363006363
+ 6300636363006363630063636300636363007373730063636300636363006B6B
+ 6B00D6D6D600E7E7E7008C8C8C006363630094949400E7E7E700E7E7E700DEDE
+ DE003163BD004A73CE0000000000000000000042C600A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF00315A
+ C600FFFFFF0084848400C6C6C600FFFFFF00F7EFCE0084848400F7EFCE00C6C6
+ C60084848400F7EFCE00F7EFCE0084848400F7EFCE0084848400C6C6C600F7EF
+ CE00F7EFCE00315AC600CECECE00F7F7F700A5A5A500FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00424242000000000000000000B5C6E7000842
+ C600E7E7E700FFFFFF00FFFFFF00FFFFFF00ADADAD008C8C8C006B6B6B00BDBD
+ BD00D6D6D600BDBDBD00C6C6C600848484006363630063636300A5A5A500ADAD
+ AD00A5A5A500A5A5A50063636300636363006B6B6B00C6C6C600CECECE009494
+ 9400104ABD007394D60000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400FFFFFF00FFFFFF00FFFFFF004242420042424200A5A5A500A5A5A5000042
+ C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0084848400F7EFCE00F7EF
+ CE00F7EFCE00F7EFCE00F7EFCE0084848400F7EFCE00F7EFCE00F7EFCE00F7EF
+ CE00F7EFCE000042C600949494009C9C9C00A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500424242000000000000000000EFEFF7000042
+ C6009CADCE00F7F7F700FFFFFF00E7E7E700ADADAD00F7F7F700F7F7F700BDBD
+ BD00DEDEDE00C6C6C600949494006B6B6B006363630063636300636363006363
+ 6300636363006363630063636300636363006363630063636300636363006B6B
+ 6B000042C600CED6EF0000000000000000000042C600FFFFFF00FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF000042
+ C600848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484000042C600CECECE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00424242000000000000000000000000003163
+ C600426BC600E7E7E700FFFFFF00DEDEDE00A5A5A500ADADAD00CECECE00ADAD
+ AD008C8C8C0073737300ADADAD00737373006363630063636300636363006363
+ 630063636300636363006363630063636300636363006363630063636300425A
+ 9400104AC6000000000000000000000000000042C600A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A5000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF000042
+ C600FFFFFF00FFFFFF0084848400FFFFFF00FFFFFF00FFFFFF00F7EFCE00F7EF
+ CE0084848400F7EFCE00F7EFCE00F7EFCE00F7EFCE00F7EFCE0084848400F7EF
+ CE00F7EFCE000042C600CECECE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00424242000000000000000000000000009CB5
+ DE000842C600C6C6D600F7F7F700FFFFFF00FFFFFF009C9C9C008C8C8C008C8C
+ 8C008C8C8C0073737300B5B5B500CECECE007B7B7B0063636300636363006363
+ 63006363630063636300636363006363630063636300636363006B6B6B00084A
+ BD006B8CD6000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400FFFFFF00FFFFFF00FFFFFF004242420042424200A5A5A500A5A5A500315A
+ C600FFFFFF00FFFFFF0084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7EF
+ CE0084848400F7EFCE00F7EFCE00F7EFCE00F7EFCE00F7EFCE0084848400F7EF
+ CE00BDC6CE00315AC600949494009C9C9C00A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500FFFFFF00FFFFFF00424242000000000000000000000000000000
+ 0000215AC600426BC600DEDEDE00F7F7F700CECECE00D6D6D600C6C6C600C6C6
+ C600B5B5B5008C8C8C00848484006B6B6B006363630063636300636363006363
+ 630063636300636363006363630063636300636363006B6B6B00426394000842
+ C600000000000000000000000000000000000042C600FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFF
+ FF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00FFFFFF000042C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF007394
+ DE00ADB5EF00FFFFFF0084848400FFFFFF0084848400FFFFFF00FFFFFF00FFFF
+ FF0084848400F7EFCE0084848400C6C6C600F7EFCE00F7EFCE0084848400F7EF
+ CE00BDC6CE007394DE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00424242000000000000000000000000000000
+ 0000C6CEEF000042C6009CADCE00D6D6D600ADADAD00E7E7E700FFFFFF00A5A5
+ A500E7E7E7009C9C9C008C8C8C008C8C8C007B7B7B006B6B6B00636363006363
+ 6300636363006363630063636300636363006B6B6B00636B7B000042C60084A5
+ DE00000000000000000000000000000000007394DE000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6007394DE0042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF00ADB5
+ EF00315AC600FFFFFF0084848400FFFFFF0084848400C6C6C600FFFFFF00FFFF
+ FF0084848400FFFFFF0084848400C6C6C600F7EFCE00F7EFCE0084848400F7EF
+ CE00315AC600CECECE009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFF
+ FF00A5A5A500FFFFFF00FFFFFF00424242000000000000000000000000000000
+ 0000000000005A84D6000042C600ADB5CE00C6C6C600EFEFEF00FFFFFF00C6C6
+ C600949494008C8C8C00949494008C8C8C008C8C8C008C8C8C00848484007373
+ 73006363630063636300636363006B6B6B00636B7B00104ABD003163CE000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200A5A5A500A5A5A500A5A5
+ A5000042C600ADB5EF0084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7EFCE0084848400BDC6
+ CE000042C600949494009C9C9C00A5A5A500A5A5A500A5A5A500A5A5A500A5A5
+ A500A5A5A500A5A5A500A5A5A500424242000000000000000000000000000000
+ 00000000000000000000527BD600084AC6009CADCE00D6D6D600EFEFEF00F7F7
+ F700C6C6C600BDBDBD00F7F7F7009C9C9C008C8C8C008C8C8C008C8C8C008C8C
+ 8C008C8C8C00848484007B7B7B006B738400084AC6002963CE00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200FFFFFF00FFFFFF00A5A5
+ A500ADB5EF000042C60084848400848484008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484000042
+ C600ADB5EF009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00FFFFFF00424242000000000000000000000000000000
+ 00000000000000000000000000007394DE000042C600527BC600C6C6CE00DEDE
+ DE00E7E7E700EFEFEF00F7F7F700DEDEDE00949494008C8C8C008C8C8C008C8C
+ 8C008C8C8C00848484004A6BA5000042C600396BCE0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000008484840042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 42004242420042424200424242008484840042424200FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00ADB5EF000042C600ADB5EF00FFFFFF0084848400FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0084848400FFFFFF00ADB5EF000042C600ADB5
+ EF00F7F7F7009C9C9C00FFFFFF00FFFFFF00A5A5A500FFFFFF00FFFFFF00A5A5
+ A500FFFFFF00FFFFFF00FFFFFF00424242000000000000000000000000000000
+ 000000000000000000000000000000000000CED6F700215ACE000042C6005A7B
+ C600A5ADC600CECECE00CECECE00D6D6D600C6C6C6008C8C8C0084848400737B
+ 8C004263AD00084AC600084AC6009CB5E7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000A5A5A50042424200424242004242
+ 42004242420042424200636363000042C600315AC60084848400FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0084848400315AC6000042C600636363004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200A5A5A5000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000ADC6EF002963
+ CE000042C6000042C600215AC6002963C6002963C6001852C6000842C6000042
+ C6001852C6006B94DE0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000ADB5EF007394DE00315AC6000042
+ C6000042C6000042C600315AC6007394DE00ADB5EF0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000B5CEEF006B94DE00638CDE00638CDE00739CDE00ADBDEF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000DEDE
+ DE00DEDEDE000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000DEDEDE00CECE
+ CE00CECECE00DEDEDE0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00D6D6
+ D600000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF0000000000C6C6
+ C600CECECE00DEDEDE0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00FFFFFF0000000000C6C6
+ C600D6D6D6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000D6D6D600CECECE0042424200DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE004242
+ 4200000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFF00FFFFFF0000000000C6C6C600CECE
+ CE00DEDEDE000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000D6D6D600CECECE00CECECE00D6D6D600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000D6D6
+ D600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00D6D6D6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200DEDEDE004242
+ 4200000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000D6D6
+ D600D6D6D600DEDEDE0000000000FFFFFF00FFFFFF0000000000BDBDBD00CECE
+ CE00DEDEDE000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000002963CE004273D6004273D6002963CE00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000D6D6D600D6D6
+ D600848484006363630063636300424242004242420063636300636363008484
+ 8400D6D6D600D6D6D60000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000D6D6D600CECECE0042424200DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE0042424200DEDEDE004242
+ 420000000000000000000000000000000000D6D6D600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE000000000000000000C6C6C600B5B5
+ B500ADADAD0000000000FFFFFF00FFFFFF0000000000ADADAD00ADADAD00B5B5
+ B500C6C6C600CECECE00CECECE00D6D6D6000000000000000000000000000000
+ 000000000000000000000000000000000000D6D6D600CECECE00D6D6D6000000
+ 000000000000D6D6D6002963CE00CECECE00CECECE002963CE00D6D6D6000000
+ 000000000000D6D6D600CECECE00D6D6D6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000D6D6D600636363006363
+ 6300A5A5A500C6C6C600D6D6D600D6D6D600D6D6D600D6D6D600C6C6C600A5A5
+ A5006363630063636300D6D6D600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000315AC6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C600315AC600DEDEDE0042424200E7E7E7004242
+ 4200000000000000000000000000000000004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 42004242420042424200424242004242420000000000FFFFFF00000000005252
+ 52005A5A5A0000000000FFFFFF00FFFFFF00000000005A5A5A005A5A5A004A4A
+ 4A00424242004242420042424200424242000000000000000000000000000000
+ 0000000000000000000000000000D6D6D600A5BDF7002963CE00A5BDF700CECE
+ CE00CECECE00A5BDF7004273D600CECECE00CECECE004273D600A5BDF700CECE
+ CE00CECECE00A5BDF7002963CE00A5BDF700D6D6D60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000D6D6D600CECECE0063636300C6C6C600D6D6
+ D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6D600D6D6
+ D600D6D6D600C6C6C60063636300CECECE00D6D6D60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE000042C600DEDEDE0042424200E7E7E7004242
+ 42000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
+ 000000000000FFFFFF00FFFFFF0000000000A5A5A500A5A5A500A5A5A500ADAD
+ AD00B5B5B500B5B5B500BDBDBD00424242000000000000000000000000000000
+ 0000000000000000000000000000A5BDF7000042C600CECECE000042C600A5BD
+ F7002963CE000042C600CECECE00CECECE00CECECE00CECECE000042C6002963
+ CE00A5BDF7000042C600CECECE000042C600A5BDF70000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6C6C60042424200C6C6C600DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00C6C6C60042424200C6C6C60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE000042C600E7E7E70042424200E7E7E7004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF0000000000FFFFFF00FFFFFF0000000000BDBDBD00C6C6C600C6C6C600CECE
+ CE00D6D6D600DEDEDE00B5B5B500424242000000000000000000000000000000
+ 00000000000000000000000000002963CE00CECECE00CECECE00CECECE000042
+ C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE000042C600CECECE00CECECE00CECECE002963CE0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000D6D6D60063636300C6C6C600DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00315AC6000042C6000042C6000042C6000042C600315AC600DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00C6C6C60063636300D6D6D600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE000042C600E7E7E70042424200E7E7E7004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000CECECE00DEDEDE00B5B5B500424242000000000000000000000000000000
+ 0000000000000000000000000000A5BDF7000042C600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE000042C600A5BDF70000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000D6D6D60063636300C6C6C600DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00315AC6000042C6000042C600315AC600DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00C6C6C60063636300D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E7000042C600E7E7E70042424200E7E7E7004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000CECE
+ CE00D6D6D600EFEFEF00BDBDBD00424242000000000000000000000000000000
+ 000000000000000000000000000000000000A5BDF7000042C600CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE000042C600A5BDF7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000D6D6D60063636300DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00315AC6000042C6000042C600315AC600DEDEDE00DEDE
+ DE00DEDEDE00DEDEDE00DEDEDE00DEDEDE00DEDEDE0063636300D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E7000042C600E7E7E70042424200EFEFEF004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000CECECE00D6D6
+ D600EFEFEF00F7F7F700BDBDBD00424242000000000000000000000000000000
+ 0000000000000000000000000000D6D6D6002963CE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE000042C6000042C6000042C6000042C600CECECE00CECE
+ CE00CECECE00CECECE00CECECE002963CE00D6D6D60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000084848400A5A5A500E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700315AC6000042C6000042C600315AC600E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700A5A5A500848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E7000042C600E7E7E70042424200EFEFEF004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000CECECE00D6D6D600EFEF
+ EF00F7F7F700FFFFFF00C6C6C600424242000000000000000000000000000000
+ 000000000000D6D6D600CECECE00A5BDF7000042C600CECECE00CECECE00CECE
+ CE00CECECE000042C600000000000000000000000000000000000042C600CECE
+ CE00CECECE00CECECE00CECECE000042C600A5BDF700CECECE00D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000063636300C6C6C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700315AC6000042C6000042C600315AC600E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700C6C6C600636363000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E7000042C600EFEFEF0042424200EFEFEF004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0000000000CECECE00D6D6D600EFEFEF00F7F7
+ F700FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000002963CE004273D6004273D600CECECE00CECECE00CECECE00CECE
+ CE000042C6000000000000000000000000000000000000000000000000000042
+ C600CECECE00CECECE00CECECE00CECECE004273D6004273D6002963CE000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000063636300E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700315AC6000042C6000042C600315AC600E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700636363000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7E700E7E7
+ E700E7E7E700E7E7E700E7E7E7000042C600EFEFEF0042424200EFEFEF004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0000000000CECECE00D6D6D600EFEFEF00F7F7F700FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000004273D600CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE000042C6000000000000000000000000000000000000000000000000000042
+ C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE004273D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000042424200EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00315AC6000042C6000042C600315AC600EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00424242000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF000042C600EFEFEF0042424200EFEFEF004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0000000000CECECE00D6D6D600EFEFEF00F7F7F700FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000004273D600CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE000042C6000000000000000000000000000000000000000000000000000042
+ C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE004273D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000042424200EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00637BD6000042C6000042C6000042C600315AC600EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00424242000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF000042C600EFEFEF0042424200EFEFEF004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF0000000000CECECE00D6D6D600EFEFEF00F7F7F700FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000004273D6004273D6004273D600CECECE00CECECE00CECECE00CECE
+ CE000042C600D6D6D60000000000000000000000000000000000D6D6D6000042
+ C600CECECE00CECECE00CECECE00CECECE004273D6004273D6004273D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000063636300EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00636363000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF000042C600EFEFEF0042424200F7F7F7004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF000000
+ 0000CECECE00D6D6D600EFEFEF00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000000000000000000000A5BDF7000042C600CECECE00CECECE00CECE
+ CE00CECECE000042C600CECECE00CECECE00CECECE00CECECE000042C600CECE
+ CE00CECECE00CECECE00CECECE000042C600A5BDF70000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000063636300C6C6C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00C6C6C600636363000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF000042C600EFEFEF0042424200F7F7F7004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF0000000000DEDE
+ DE00DEDEDE00EFEFEF00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000000000000000000000000000002963CE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE000042C6000042C6000042C6000042C600CECECE00CECE
+ CE00CECECE00CECECE00CECECE002963CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000084848400A5A5A500F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700ADB5EF00315AC600315AC600ADB5EF00F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700A5A5A500848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF000042C600F7F7F70042424200F7F7F7004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000F7F7F700EFEF
+ EF00EFEFEF00F7F7F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000000000000000000000D6D6D600A5BDF7000042C600CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE000042C600A5BDF700D6D6D60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000D6D6D60063636300F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F7000042C6000042C6000042C6000042C600F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F70063636300D6D6D6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEFEF00EFEF
+ EF00EFEFEF00EFEFEF00EFEFEF000042C600F7F7F70042424200F7F7F7004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF00F7F7
+ F700FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000000000000000000000A5BDF7000042C600CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE00CECECE00CECECE00CECECE000042C600A5BDF70000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000063636300D6D6D600F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F7000042C6000042C6000042C6000042C600F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700D6D6D60063636300000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F7000042C600F7F7F70042424200F7F7F7004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 00000000000000000000000000002963CE00CECECE00CECECE00CECECE000042
+ C600CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECECE00CECE
+ CE000042C600CECECE00CECECE00CECECE002963CE0000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000063636300D6D6D600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00ADB5EF00315AC600315AC600ADB5EF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00D6D6D6006363630000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F7000042C600F7F7F70042424200FFFFFF004242
+ 42000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000000000000000000000A5BDF7000042C600CECECE000042C600A5BD
+ F7002963CE000042C600CECECE00CECECE00CECECE00CECECE000042C6002963
+ CE00A5BDF7000042C600CECECE000042C600A5BDF70000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000042424200D6D6D600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00D6D6D600424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F7000042C600F7F7F70042424200424242000000
+ 00000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 000000000000000000000000000000000000A5BDF7002963CE00A5BDF7000000
+ 000000000000A5BDF7004273D600CECECE00CECECE004273D600A5BDF7000000
+ 000000000000A5BDF7002963CE00A5BDF7000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C60063636300D6D6D600FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00D6D6D60063636300C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F7000042C600FFFFFF0042424200000000000000
+ 00000000000000000000000000000000000042424200C6C6C600FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00C6C6C600424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000004273D600CECECE00CECECE004273D600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000636363006363
+ 6300A5A5A500C6C6C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600A5A5
+ A500636363006363630000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7F700F7F7
+ F700F7F7F700F7F7F700F7F7F7000042C6004242420000000000000000000000
+ 00000000000000000000000000000000000042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000004273D6004273D6004273D6004273D600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000D6D6
+ D600848484006363630063636300424242004242420063636300636363008484
+ 8400D6D6D6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00315AC6000042
+ C6000042C6000042C6000042C6000042C6000000000000000000000000000000
+ 00000000000000000000000000000000000042424200E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600FFFF
+ FF00FFFFFF00FFFFFF000042C600000000000000000000000000000000000000
+ 00000000000000000000000000000000000042424200E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000E7520000E7520000E7520000E7520000E752
+ 0000E7520000E7520000E7520000424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600FFFF
+ FF00FFFFFF000042C60000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C60042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200424242004242420042424200C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C600FFFF
+ FF000042C6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000042C600FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000042C6000042
+ C600000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000315AC6000042C6000042C6000042C6000042C6000042C6000042C6000042
+ C6000042C6000042C6000042C6000042C6000042C6000042C6000042C6000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000080000000A00000000100010000000000000A00000000000000000000
+ 000000000000000000000000FFFFFF00FF8000FFFFFFFFFF0000000000000000
+ FF8000FFFFFFFFFF0000000000000000FF8000FFFFFFFFFF0000000000000000
+ FF8000FF000000000000000000000000FF8000FF000000000000000000000000
+ FF8000FF000000000000000000000000FF8000FF000000000000000000000000
+ FF8000FF000000000000000000000000FF8000FF000000000000000000000000
+ FF8000FF000000000000000000000000FF8000FF000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000FFFFFFFF000000000000000000000000
+ FFFFFFFF000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000
+ FFFFFFFFFFFFFFFF0000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ 00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFFFFFFFFFFFFFFF
+ 00000000FFFFFFFFFFFFFFFFFFFFFFFF00000000FFFFFFFFFFE007FFFFFFFFFF
+ 00000000F807FFFFFFC003FFFFFFFFFF00000000F003FFFFFF8001FFFFFFFFFF
+ 000000000001FFFFFE00007FFFFFFFFF0000000000001FFFFE00007FFFFFFFFF
+ 000000000000003FFC00003FFFFFFFFF000000000000000FF800001FFFFFFFFF
+ 0000000000000007F800001FEFEFBFBD0000000000000003F800001FCFCF3E19
+ 00000000FC000001F800001FC79C36390000000080000000F800001FC0102639
+ 000000FF00000000F800001FE0300E79000000FF00003E00F800001FE3330E39
+ 000000FF0003FF80F800001FF2743F39000000FFFC07FFC0F800001FF0703E3B
+ 000000FFFC0FFFE0F800001FFAF00043000000FFFFFFFFE0F800001FF8E00307
+ 000000FFFFFFFFF0FC00003FFFFFFFFF000000FFFFFFFFF0FE00007FFFFFFFFF
+ 000000FFFFFFFFF0FF0000FFFFFFFFFF000000FFFFFFFFF0FF0000FFFFFFFFFF
+ 000000FFFFFFFFF0FFC003FFFFFFFFFF000000FFFFFFFFFFFFE007FFFFFFFFFF
+ 000000FFFFFFFFFFFFFFFFFFFFFFFFFF000000FFFFFFFFFFFFFFFFFFFFFFFFFF
+ 000000FFFFFFFFFFFFFFFFFFFFFFFFFF000001FFFFFFFFFFFFFFFFFFFFFFFFFF
+ 000001FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ E003FFFFFF83FFFFFFFFFFFFFFFFFFFFE003FFFFFF0007FFFFFFFFFFFFFFFFFF
+ E003FFFFFE00003FFFFFFFFFFFFFFFFFE0003FFFFE00001FFFFFFFFFFFFFFFFF
+ E0000FFFFE00001FFFFFFFFFFFFFFFFFE00001FFFE00001F00000000FFFFFFFF
+ E000003FFE00001F0000000000000000E000000FFE00001F0000000000000000
+ E0000007FE00001F0000000000000000E0000007FE00001F0000000000000000
+ E0000007FE00001F0000000000000000E0000007FE00001F0000000000000000
+ F8000007FE00001F0000000000000000F000000FFE00001F0000000000000000
+ F000000FFE00001F0000000000000000F000000FFE00001F0000000000000000
+ E000001FFE00001F0000000000000000E000001FFE00001F0000000000000000
+ E000001FFE00001F0000000000000000E000003FFE00001F0000000000000000
+ E000003FFE00001F0000000000000000F000007FFE00001F0000000000000000
+ FE00007FFE00001F0000000000000000FFC0007FFE00001F0000000000000000
+ FFF000FFFE00001FFFFFFFFFFFFFFFFFFFFE00FFFE00001FFFFFFFFFFFFFFFFF
+ FFFF81FFFE00001FFFFFFFFFFFFFFFFFFFFFFFFFFF00003FFFFFFFFFFFFFFFFF
+ FFFFFFFFFF80007FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE3E7FFFFFFFF
+ FFF81FFFFFFFFFFFFFFFE3C7FFFFFFFFFFC003FFFFFFFFFFFFFF81C0FFFFFFFF
+ FF0000FFFFFFFFFFFFFF0181FFFFFFC7FE00007FFFFFFFFFFFFF8083FFFFFF87
+ FC00003FFFFFFFFFFFFFC003FFFFFF07F800001FFFFFFFFF00000000FFFFFE0F
+ F000000F0000000000000000FFFFFC1FF000000F0000000000000000FFFFF83F
+ E00000070000000000000000FF80307FE00000070000000000000000FC00007F
+ E0000003000000000000000000000000C0000003000000000000000000000000
+ C0000003000000000000000000000000C0000003000000000000000000000000
+ C0000003000000000000000000000000C0000003000000000000000000000000
+ C0000003000000000000000000000000C0000003000000000000000000000000
+ C0000003000000000000000000000000E0000007000000000000000000000000
+ E0000007000000000000000000000000F000000F000000000000000000000000
+ F000000F000000000000000000000000F800001FFFFFFFFF0000000000000000
+ FC00003FFFFFFFFF0000000000000000FE00007FFFFFFFFF0000000000000000
+ FF0000FFFFFFFFFFFFFFFFFF00000000FFC003FFFFFFFFFFFFFFFFFFFF007FFF
+ FFF81FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE7FFFFFFFFFFFFFFFFFFFFFFFF
+ FFFFFF03FFFFFFFFFFFFFFFFFF00000FFFFFFE03FFFFFFFFFFFFFFFFFF00000F
+ FFFFFE07FFFFFFFFFFFFFFFFFC00000FFFFFFC07FFFC3FFFFFE007FFFC00000F
+ FFFF6007FFFC3FFFFFC003FFF000000F00000000FF1818FFFF8001FFF000000F
+ 00000000FE00007FFE00007FF000000F00000000FE00007FFE00007FF000000F
+ 00000000FE00007FFC00003FF000000F00000000FE00007FF800001FF000000F
+ 00000000FF0000FFF800001FF000000F00000000FE00007FF800001FF000000F
+ 00000000F803C01FF800001FF000000F00000000F807E01FF800001FF000000F
+ 00000000F807E01FF800001FF000000F00000000F807E01FF800001FF000000F
+ 00000000F803C01FF800001FF000000F00000000FE00007FF800001FF000000F
+ 00000000FF0000FFF800001FF000000F00000000FE00007FF800001FF000000F
+ 00000000FE00007FFC00003FF000000F00000000FE00007FFE00007FF000000F
+ 00000000FE00007FFF0000FFF000001F00000000FF1818FFFF0000FFF000003F
+ 00000000FFFC3FFFFFC003FFF000007F00000000FFFC3FFFFFE007FFF00000FF
+ 00000000FFFFFFFFFFFFFFFFF00001FF00000000FFFFFFFFFFFFFFFFF00003FF
+ 00000000FFFFFFFFFFFFFFFFF00007FFFFFFFFFFFFFFFFFFFFFFFFFFF0000FFF
+ FFFFFFFFFFFFFFFFFFFFFFFFF0001FFF00000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/developer/src/tike/actions/dmActionsMain.pas b/developer/src/tike/actions/dmActionsMain.pas
index 8bf5a3a299..c5338dfea4 100644
--- a/developer/src/tike/actions/dmActionsMain.pas
+++ b/developer/src/tike/actions/dmActionsMain.pas
@@ -78,9 +78,6 @@ type
actFileSaveAs: TFileSaveAs;
actFileSaveCopyAs: TAction;
actFileRevert: TAction;
- actFilePageSetup: TFilePageSetup;
- actFilePrint: TAction;
- actFilePrintPreview: TAction;
actFileExit: TFileExit;
actEditCut: TKMDEditCut;
actEditCopy: TKMDEditCopy;
@@ -144,15 +141,10 @@ type
procedure actFileSaveExecute(Sender: TObject);
procedure actFileSaveCopyAsExecute(Sender: TObject);
procedure actFileRevertExecute(Sender: TObject);
- procedure actFilePrintPreviewExecute(Sender: TObject);
- procedure actFilePrintExecute(Sender: TObject);
- procedure actFilePrintPreviewUpdate(Sender: TObject);
- procedure actFilePrintUpdate(Sender: TObject);
procedure actFileSaveAsAccept(Sender: TObject);
procedure actFileSaveCopyAsUpdate(Sender: TObject);
procedure actFileSaveAsUpdate(Sender: TObject);
procedure actFileRevertUpdate(Sender: TObject);
- procedure actFilePageSetupUpdate(Sender: TObject);
procedure actFileSaveUpdate(Sender: TObject);
procedure actFileSaveAsBeforeExecute(Sender: TObject);
procedure actViewCharacterMapExecute(Sender: TObject);
@@ -256,7 +248,6 @@ uses
Graphics,
Messages,
Keyman.Developer.UI.TikeOnlineUpdateCheck,
- Printers,
Vcl.Clipbrd,
Keyman.System.KeyboardUtils,
Keyman.Developer.System.Project.Project,
@@ -348,34 +339,6 @@ begin
actFileOpen.Enabled := IsGlobalProjectUIReady;
end;
-procedure TmodActionsMain.actFilePageSetupUpdate(Sender: TObject);
-begin
- with frmKeymanDeveloper do
- actFilePageSetup.Enabled := IsGlobalProjectUIReady and Assigned(ActiveChild) and Supports(ActiveChild, IKMDPrintActions) and (Printer.Printers.Count > 0);
-end;
-
-procedure TmodActionsMain.actFilePrintExecute(Sender: TObject);
-begin
- (frmKeymanDeveloper.ActiveChild as IKMDPrintActions).PrintFile;
-end;
-
-procedure TmodActionsMain.actFilePrintUpdate(Sender: TObject);
-begin
- with frmKeymanDeveloper do
- actFilePrint.Enabled := IsGlobalProjectUIReady and Assigned(ActiveChild) and Supports(ActiveChild, IKMDPrintActions) and (Printer.Printers.Count > 0);
-end;
-
-procedure TmodActionsMain.actFilePrintPreviewExecute(Sender: TObject);
-begin
- (frmKeymanDeveloper.ActiveChild as IKMDPrintPreviewActions).PrintPreview;
-end;
-
-procedure TmodActionsMain.actFilePrintPreviewUpdate(Sender: TObject);
-begin
- with frmKeymanDeveloper do
- actFilePrintPreview.Enabled := IsGlobalProjectUIReady and Assigned(ActiveChild) and Supports(ActiveChild, IKMDPrintPreviewActions) and (Printer.Printers.Count > 0);
-end;
-
procedure TmodActionsMain.actFileRevertExecute(Sender: TObject);
begin
if MessageDlg('Are you sure you want to revert to the last saved version?',
diff --git a/developer/src/tike/child/Keyman.Developer.UI.UfrmModelEditor.dfm b/developer/src/tike/child/Keyman.Developer.UI.UfrmModelEditor.dfm
index 12a46b043c..ad25a6a710 100644
--- a/developer/src/tike/child/Keyman.Developer.UI.UfrmModelEditor.dfm
+++ b/developer/src/tike/child/Keyman.Developer.UI.UfrmModelEditor.dfm
@@ -1,587 +1,587 @@
-inherited frmModelEditor: TfrmModelEditor
- Left = 0
- Top = 0
- Caption = 'frmModelEditor'
- ClientHeight = 708
- ClientWidth = 712
- Font.Name = 'Tahoma'
- Position = poDesigned
- ExplicitWidth = 712
- ExplicitHeight = 708
- PixelsPerInch = 96
- TextHeight = 13
- object pages: TLeftTabbedPageControl
- Left = 0
- Top = 0
- Width = 712
- Height = 708
- ActivePage = pageDetails
- Align = alClient
- Font.Charset = ANSI_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'Segoe UI'
- Font.Style = []
- Images = modActionsMain.ilEditorPages
- MultiLine = True
- OwnerDraw = True
- ParentFont = False
- TabHeight = 90
- TabOrder = 0
- TabPosition = tpLeft
- TabWidth = 60
- OnChanging = pagesChanging
- object pageDetails: TTabSheet
- Caption = 'Details'
- ImageIndex = 2
- object sbDetails: TScrollBox
- Left = 0
- Top = 0
- Width = 619
- Height = 708
- Align = alClient
- BevelInner = bvNone
- BevelOuter = bvNone
- BorderStyle = bsNone
- Color = 14211288
- ParentColor = False
- TabOrder = 0
- OnMouseWheel = sbDetailsMouseWheel
- object panWordlists: TPanel
- AlignWithMargins = True
- Left = 4
- Top = 279
- Width = 611
- Height = 232
- Margins.Left = 4
- Margins.Top = 4
- Margins.Right = 4
- Margins.Bottom = 4
- Align = alTop
- BevelOuter = bvNone
- TabOrder = 1
- ExplicitTop = 261
- DesignSize = (
- 611
- 232)
- object lblWordlists: TLabel
- AlignWithMargins = True
- Left = 12
- Top = 4
- Width = 64
- Height = 17
- Caption = 'Wordlists'
- Font.Charset = ANSI_CHARSET
- Font.Color = clWindowText
- Font.Height = -14
- Font.Name = 'Tahoma'
- Font.Style = [fsBold]
- ParentFont = False
- end
- object lblReadOnly: TLabel
- Left = 15
- Top = 200
- Width = 415
- Height = 13
- Caption =
- 'The editor was unable to parse the source file. Details shown he' +
- 're are read-only.'
- end
- object gridWordlists: TStringGrid
- Left = 12
- Top = 27
- Width = 485
- Height = 160
- Anchors = [akLeft, akTop, akRight]
- ColCount = 1
- FixedCols = 0
- FixedRows = 0
- Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRowSelect]
- TabOrder = 0
- OnDblClick = gridWordlistsDblClick
- ColWidths = (
- 271)
- RowHeights = (
- 24
- 24
- 24
- 24
- 24)
- end
- object cmdAddWordlist: TButton
- Left = 503
- Top = 27
- Width = 101
- Height = 25
- Anchors = [akTop, akRight]
- Caption = '&Add...'
- TabOrder = 1
- OnClick = cmdAddWordlistClick
- end
- object cmdRemoveWordlist: TButton
- Left = 503
- Top = 58
- Width = 100
- Height = 25
- Anchors = [akTop, akRight]
- Caption = 'Remove'
- TabOrder = 2
- OnClick = cmdRemoveWordlistClick
- end
- end
- object panBasicInformation: TPanel
- AlignWithMargins = True
- Left = 4
- Top = 6
- Width = 611
- Height = 265
- Margins.Left = 4
- Margins.Top = 6
- Margins.Right = 4
- Margins.Bottom = 4
- Align = alTop
- AutoSize = True
- BevelOuter = bvNone
- ParentColor = True
- TabOrder = 0
- DesignSize = (
- 611
- 265)
- object lblFormat: TLabel
- Left = 12
- Top = 30
- Width = 36
- Height = 13
- Caption = '&Format'
- FocusControl = cbFormat
- end
- object lblBasicInformation: TLabel
- AlignWithMargins = True
- Left = 12
- Top = 3
- Width = 123
- Height = 17
- Caption = 'Basic Information'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -14
- Font.Name = 'Tahoma'
- Font.Style = [fsBold]
- ParentFont = False
- end
- object lblWordBreaker: TLabel
- Left = 12
- Top = 56
- Width = 71
- Height = 13
- Caption = '&Word breaker'
- end
- object lblComments: TLabel
- Left = 12
- Top = 181
- Width = 50
- Height = 13
- Caption = 'Comme&nts'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'Tahoma'
- Font.Style = []
- ParentFont = False
- end
- object lblInsertAfterWord: TLabel
- Left = 12
- Top = 83
- Width = 86
- Height = 13
- Caption = '&Insert after word'
- FocusControl = cbInsertAfterWord
- end
- object lblQuotationMarks: TLabel
- Left = 12
- Top = 110
- Width = 86
- Height = 13
- Caption = '&Quotation marks'
- FocusControl = cbOpenQuote
- end
- object lblOpenQuote: TLabel
- Left = 106
- Top = 110
- Width = 27
- Height = 13
- Caption = 'open'
- FocusControl = cbOpenQuote
- end
- object lblCloseQuote: TLabel
- Left = 220
- Top = 110
- Width = 26
- Height = 13
- Caption = 'close'
- FocusControl = cbCloseQuote
- end
- object cbFormat: TComboBox
- Left = 106
- Top = 26
- Width = 145
- Height = 21
- Style = csDropDownList
- TabOrder = 0
- OnClick = cbFormatClick
- Items.Strings = (
- 'Wordlist (trie-1.0)'
- 'Custom (custom-1.0)')
- end
- object cbWordBreaker: TComboBox
- Left = 106
- Top = 53
- Width = 145
- Height = 21
- Style = csDropDownList
- TabOrder = 1
- OnClick = cbWordBreakerClick
- Items.Strings = (
- 'default'
- 'ascii'
- 'custom')
- end
- object memoComments: TMemo
- Left = 106
- Top = 178
- Width = 498
- Height = 87
- Anchors = [akLeft, akTop, akRight]
- BevelOuter = bvNone
- TabOrder = 7
- OnChange = memoCommentsChange
- end
- object cbInsertAfterWord: TComboBox
- Left = 106
- Top = 80
- Width = 145
- Height = 21
- TabOrder = 2
- OnChange = cbInsertAfterWordClick
- OnClick = cbInsertAfterWordClick
- OnKeyUp = cbInsertAfterWordKeyUp
- end
- object cbOpenQuote: TComboBox
- Left = 139
- Top = 107
- Width = 63
- Height = 21
- TabOrder = 3
- OnChange = cbOpenQuoteClick
- OnClick = cbOpenQuoteClick
- OnKeyUp = cbOpenQuoteKeyUp
- end
- object chkIsRTL: TCheckBox
- Left = 106
- Top = 134
- Width = 111
- Height = 17
- Caption = 'Right-to-left script'
- TabOrder = 5
- OnClick = chkIsRTLClick
- end
- object cbCloseQuote: TComboBox
- Left = 252
- Top = 107
- Width = 63
- Height = 21
- TabOrder = 4
- OnChange = cbCloseQuoteClick
- OnClick = cbCloseQuoteClick
- OnKeyUp = cbCloseQuoteKeyUp
- end
- object chkLanguageUsesCasing: TCheckBox
- Left = 106
- Top = 155
- Width = 145
- Height = 17
- Caption = 'Language uses casing'
- TabOrder = 6
- OnClick = chkLanguageUsesCasingClick
- end
- end
- end
- end
- object pageSource: TTabSheet
- Caption = 'Source'
- ImageIndex = 9
- end
- object pageCompile: TTabSheet
- Caption = 'Build'
- ImageIndex = 1
- object sbCompile: TScrollBox
- Left = 0
- Top = 0
- Width = 619
- Height = 708
- Align = alClient
- BevelInner = bvNone
- BevelOuter = bvNone
- BorderStyle = bsNone
- Color = 14211288
- ParentColor = False
- TabOrder = 0
- OnMouseWheel = sbDetailsMouseWheel
- object lblCongrats: TLabel
- Left = 10
- Top = 13
- Width = 333
- Height = 13
- Caption =
- 'The model must be compiled in order to distribute or install ' +
- 'it'
- end
- object panBuildLexicalModel: TPanel
- Left = 10
- Top = 235
- Width = 471
- Height = 353
- BevelOuter = bvNone
- Color = 15921906
- ParentBackground = False
- TabOrder = 2
- object lblDebugHostCaption: TLabel
- Left = 12
- Top = 158
- Width = 222
- Height = 13
- Caption = 'Server is active at following web addresses:'
- end
- object lblCrossPlatform: TLabel
- Left = 12
- Top = 14
- Width = 237
- Height = 17
- Caption = 'Test Lexical Model in Web Browser'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -14
- Font.Name = 'Tahoma'
- Font.Style = [fsBold]
- ParentFont = False
- end
- object Label1: TLabel
- Left = 12
- Top = 48
- Width = 105
- Height = 13
- Caption = 'Keyboard for testing'
- end
- object Label2: TLabel
- Left = 12
- Top = 72
- Width = 389
- Height = 26
- Caption =
- 'Optionally, select a compiled keyboard with which to test this l' +
- 'exical model. Any keyboards already loaded in the web debugger w' +
- 'ill also be available.'
- WordWrap = True
- end
- object imgQRCode: TImage
- Left = 309
- Top = 152
- Width = 128
- Height = 128
- Proportional = True
- Stretch = True
- end
- object cmdTestLexicalModel: TButton
- Left = 12
- Top = 122
- Width = 150
- Height = 25
- Action = modActionsModelEditor.actModelTest
- TabOrder = 2
- end
- object cmdOpenDebugHost: TButton
- Left = 12
- Top = 286
- Width = 109
- Height = 25
- Caption = 'Open in browser'
- TabOrder = 5
- OnClick = cmdOpenDebugHostClick
- end
- object lbDebugHosts: TListBox
- Left = 12
- Top = 183
- Width = 289
- Height = 97
- ItemHeight = 13
- TabOrder = 4
- OnClick = lbDebugHostsClick
- end
- object cmdSendURLsToEmail: TButton
- Left = 127
- Top = 286
- Width = 109
- Height = 25
- Caption = 'Send to &email...'
- TabOrder = 6
- OnClick = cmdSendURLsToEmailClick
- end
- object editTestKeyboard: TEdit
- Left = 123
- Top = 45
- Width = 158
- Height = 21
- TabOrder = 0
- OnChange = editTestKeyboardChange
- end
- object cmdBrowseTestKeyboard: TButton
- Left = 287
- Top = 43
- Width = 75
- Height = 25
- Caption = '&Browse...'
- TabOrder = 1
- OnClick = cmdBrowseTestKeyboardClick
- end
- object cmdCopyDebuggerLink: TButton
- Left = 242
- Top = 286
- Width = 109
- Height = 25
- Caption = 'Copy &link'
- TabOrder = 7
- OnClick = cmdCopyDebuggerLinkClick
- end
- object cmdConfigureWebDebugger: TButton
- Left = 168
- Top = 122
- Width = 153
- Height = 25
- Action = modActionsMain.actToolsWebConfigure
- TabOrder = 3
- end
- end
- object panOpenInExplorer: TPanel
- Left = 10
- Top = 148
- Width = 471
- Height = 67
- BevelOuter = bvNone
- Color = 15921906
- ParentBackground = False
- TabOrder = 1
- object lblOpenInExplorer: TLabel
- Left = 9
- Top = 6
- Width = 115
- Height = 17
- Caption = 'Open in Explorer'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -14
- Font.Name = 'Tahoma'
- Font.Style = [fsBold]
- ParentFont = False
- end
- object cmdOpenSourceFolder: TButton
- Left = 9
- Top = 33
- Width = 138
- Height = 25
- Caption = '&Open source folder'
- TabOrder = 0
- OnClick = cmdOpenSourceFolderClick
- end
- object cmdOpenBuildFolder: TButton
- Left = 153
- Top = 33
- Width = 138
- Height = 25
- Caption = 'Open &build folder'
- TabOrder = 1
- OnClick = cmdOpenBuildFolderClick
- end
- object cmdOpenProjectFolder: TButton
- Left = 297
- Top = 33
- Width = 138
- Height = 25
- Caption = 'Open pro&ject folder'
- TabOrder = 2
- OnClick = cmdOpenProjectFolderClick
- end
- end
- object panFileActions: TPanel
- Left = 10
- Top = 32
- Width = 471
- Height = 97
- BevelOuter = bvNone
- Color = 15921906
- ParentBackground = False
- TabOrder = 0
- object lblFileActions: TLabel
- Left = 9
- Top = 6
- Width = 75
- Height = 17
- Caption = 'File actions'
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -14
- Font.Name = 'Tahoma'
- Font.Style = [fsBold]
- ParentFont = False
- end
- object Label5: TLabel
- Left = 10
- Top = 71
- Width = 82
- Height = 13
- Caption = 'Target filename:'
- end
- object cmdAddToProject: TButton
- Left = 153
- Top = 32
- Width = 137
- Height = 25
- Action = modActionsMain.actProjectAddCurrentEditorFile
- TabOrder = 1
- end
- object cmdCompile: TButton
- Left = 10
- Top = 32
- Width = 137
- Height = 25
- Action = modActionsModelEditor.actModelCompile
- TabOrder = 0
- end
- object editOutPath: TEdit
- Left = 98
- Top = 68
- Width = 359
- Height = 21
- TabStop = False
- ParentColor = True
- ReadOnly = True
- TabOrder = 2
- end
- end
- end
- end
- end
- object dlgAddWordlist: TOpenDialog
- Options = [ofHideReadOnly, ofPathMustExist, ofEnableSizing]
- Title = 'Create or Add Wordlist'
- Left = 32
- Top = 216
- end
- object dlgBrowseTestKeyboard: TOpenDialog
- DefaultExt = 'js'
- Filter = 'Compiled keyboard files (*.js)|*.js|All files (*.*)|*.*'
- Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing]
- Title = 'Select compiled keyboard to test with'
- Left = 32
- Top = 280
- end
-end
+inherited frmModelEditor: TfrmModelEditor
+ Left = 0
+ Top = 0
+ Caption = 'frmModelEditor'
+ ClientHeight = 708
+ ClientWidth = 712
+ Font.Name = 'Tahoma'
+ Position = poDesigned
+ ExplicitWidth = 712
+ ExplicitHeight = 708
+ PixelsPerInch = 96
+ TextHeight = 13
+ object pages: TLeftTabbedPageControl
+ Left = 0
+ Top = 0
+ Width = 712
+ Height = 708
+ ActivePage = pageDetails
+ Align = alClient
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Segoe UI'
+ Font.Style = []
+ Images = modActionsMain.ilEditorPages
+ MultiLine = True
+ OwnerDraw = True
+ ParentFont = False
+ TabHeight = 90
+ TabOrder = 0
+ TabPosition = tpLeft
+ TabWidth = 60
+ OnChanging = pagesChanging
+ object pageDetails: TTabSheet
+ Caption = 'Details'
+ ImageIndex = 2
+ object sbDetails: TScrollBox
+ Left = 0
+ Top = 0
+ Width = 619
+ Height = 708
+ Align = alClient
+ BevelInner = bvNone
+ BevelOuter = bvNone
+ BorderStyle = bsNone
+ Color = 14211288
+ ParentColor = False
+ TabOrder = 0
+ OnMouseWheel = sbDetailsMouseWheel
+ object panWordlists: TPanel
+ AlignWithMargins = True
+ Left = 4
+ Top = 279
+ Width = 611
+ Height = 232
+ Margins.Left = 4
+ Margins.Top = 4
+ Margins.Right = 4
+ Margins.Bottom = 4
+ Align = alTop
+ BevelOuter = bvNone
+ TabOrder = 1
+ ExplicitTop = 261
+ DesignSize = (
+ 611
+ 232)
+ object lblWordlists: TLabel
+ AlignWithMargins = True
+ Left = 12
+ Top = 4
+ Width = 64
+ Height = 17
+ Caption = 'Wordlists'
+ Font.Charset = ANSI_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -14
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object lblReadOnly: TLabel
+ Left = 15
+ Top = 200
+ Width = 415
+ Height = 13
+ Caption =
+ 'The editor was unable to parse the source file. Details shown he' +
+ 're are read-only.'
+ end
+ object gridWordlists: TStringGrid
+ Left = 12
+ Top = 27
+ Width = 485
+ Height = 160
+ Anchors = [akLeft, akTop, akRight]
+ ColCount = 1
+ FixedCols = 0
+ FixedRows = 0
+ Options = [goFixedVertLine, goFixedHorzLine, goVertLine, goHorzLine, goRowSelect]
+ TabOrder = 0
+ OnDblClick = gridWordlistsDblClick
+ ColWidths = (
+ 271)
+ RowHeights = (
+ 24
+ 24
+ 24
+ 24
+ 24)
+ end
+ object cmdAddWordlist: TButton
+ Left = 503
+ Top = 27
+ Width = 101
+ Height = 25
+ Anchors = [akTop, akRight]
+ Caption = '&Add...'
+ TabOrder = 1
+ OnClick = cmdAddWordlistClick
+ end
+ object cmdRemoveWordlist: TButton
+ Left = 503
+ Top = 58
+ Width = 100
+ Height = 25
+ Anchors = [akTop, akRight]
+ Caption = 'Remove'
+ TabOrder = 2
+ OnClick = cmdRemoveWordlistClick
+ end
+ end
+ object panBasicInformation: TPanel
+ AlignWithMargins = True
+ Left = 4
+ Top = 6
+ Width = 611
+ Height = 265
+ Margins.Left = 4
+ Margins.Top = 6
+ Margins.Right = 4
+ Margins.Bottom = 4
+ Align = alTop
+ AutoSize = True
+ BevelOuter = bvNone
+ ParentColor = True
+ TabOrder = 0
+ DesignSize = (
+ 611
+ 265)
+ object lblFormat: TLabel
+ Left = 12
+ Top = 30
+ Width = 36
+ Height = 13
+ Caption = '&Format'
+ FocusControl = cbFormat
+ end
+ object lblBasicInformation: TLabel
+ AlignWithMargins = True
+ Left = 12
+ Top = 3
+ Width = 123
+ Height = 17
+ Caption = 'Basic Information'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -14
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object lblWordBreaker: TLabel
+ Left = 12
+ Top = 56
+ Width = 71
+ Height = 13
+ Caption = '&Word breaker'
+ end
+ object lblComments: TLabel
+ Left = 12
+ Top = 181
+ Width = 50
+ Height = 13
+ Caption = 'Comme&nts'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'Tahoma'
+ Font.Style = []
+ ParentFont = False
+ end
+ object lblInsertAfterWord: TLabel
+ Left = 12
+ Top = 83
+ Width = 86
+ Height = 13
+ Caption = '&Insert after word'
+ FocusControl = cbInsertAfterWord
+ end
+ object lblQuotationMarks: TLabel
+ Left = 12
+ Top = 110
+ Width = 86
+ Height = 13
+ Caption = '&Quotation marks'
+ FocusControl = cbOpenQuote
+ end
+ object lblOpenQuote: TLabel
+ Left = 106
+ Top = 110
+ Width = 27
+ Height = 13
+ Caption = 'open'
+ FocusControl = cbOpenQuote
+ end
+ object lblCloseQuote: TLabel
+ Left = 220
+ Top = 110
+ Width = 26
+ Height = 13
+ Caption = 'close'
+ FocusControl = cbCloseQuote
+ end
+ object cbFormat: TComboBox
+ Left = 106
+ Top = 26
+ Width = 145
+ Height = 21
+ Style = csDropDownList
+ TabOrder = 0
+ OnClick = cbFormatClick
+ Items.Strings = (
+ 'Wordlist (trie-1.0)'
+ 'Custom (custom-1.0)')
+ end
+ object cbWordBreaker: TComboBox
+ Left = 106
+ Top = 53
+ Width = 145
+ Height = 21
+ Style = csDropDownList
+ TabOrder = 1
+ OnClick = cbWordBreakerClick
+ Items.Strings = (
+ 'default'
+ 'ascii'
+ 'custom')
+ end
+ object memoComments: TMemo
+ Left = 106
+ Top = 178
+ Width = 498
+ Height = 87
+ Anchors = [akLeft, akTop, akRight]
+ BevelOuter = bvNone
+ TabOrder = 7
+ OnChange = memoCommentsChange
+ end
+ object cbInsertAfterWord: TComboBox
+ Left = 106
+ Top = 80
+ Width = 145
+ Height = 21
+ TabOrder = 2
+ OnChange = cbInsertAfterWordClick
+ OnClick = cbInsertAfterWordClick
+ OnKeyUp = cbInsertAfterWordKeyUp
+ end
+ object cbOpenQuote: TComboBox
+ Left = 139
+ Top = 107
+ Width = 63
+ Height = 21
+ TabOrder = 3
+ OnChange = cbOpenQuoteClick
+ OnClick = cbOpenQuoteClick
+ OnKeyUp = cbOpenQuoteKeyUp
+ end
+ object chkIsRTL: TCheckBox
+ Left = 106
+ Top = 134
+ Width = 111
+ Height = 17
+ Caption = 'Right-to-left script'
+ TabOrder = 5
+ OnClick = chkIsRTLClick
+ end
+ object cbCloseQuote: TComboBox
+ Left = 252
+ Top = 107
+ Width = 63
+ Height = 21
+ TabOrder = 4
+ OnChange = cbCloseQuoteClick
+ OnClick = cbCloseQuoteClick
+ OnKeyUp = cbCloseQuoteKeyUp
+ end
+ object chkLanguageUsesCasing: TCheckBox
+ Left = 106
+ Top = 155
+ Width = 145
+ Height = 17
+ Caption = 'Language uses casing'
+ TabOrder = 6
+ OnClick = chkLanguageUsesCasingClick
+ end
+ end
+ end
+ end
+ object pageSource: TTabSheet
+ Caption = 'Source'
+ ImageIndex = 9
+ end
+ object pageCompile: TTabSheet
+ Caption = 'Build'
+ ImageIndex = 1
+ object sbCompile: TScrollBox
+ Left = 0
+ Top = 0
+ Width = 619
+ Height = 708
+ Align = alClient
+ BevelInner = bvNone
+ BevelOuter = bvNone
+ BorderStyle = bsNone
+ Color = 14211288
+ ParentColor = False
+ TabOrder = 0
+ OnMouseWheel = sbDetailsMouseWheel
+ object lblCongrats: TLabel
+ Left = 10
+ Top = 13
+ Width = 333
+ Height = 13
+ Caption =
+ 'The model must be compiled in order to distribute or install ' +
+ 'it'
+ end
+ object panBuildLexicalModel: TPanel
+ Left = 10
+ Top = 235
+ Width = 471
+ Height = 353
+ BevelOuter = bvNone
+ Color = 15921906
+ ParentBackground = False
+ TabOrder = 2
+ object lblDebugHostCaption: TLabel
+ Left = 12
+ Top = 158
+ Width = 222
+ Height = 13
+ Caption = 'Server is active at following web addresses:'
+ end
+ object lblCrossPlatform: TLabel
+ Left = 12
+ Top = 14
+ Width = 237
+ Height = 17
+ Caption = 'Test Lexical Model in Web Browser'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -14
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Label1: TLabel
+ Left = 12
+ Top = 48
+ Width = 105
+ Height = 13
+ Caption = 'Keyboard for testing'
+ end
+ object Label2: TLabel
+ Left = 12
+ Top = 72
+ Width = 389
+ Height = 26
+ Caption =
+ 'Optionally, select a compiled keyboard with which to test this l' +
+ 'exical model. Any keyboards already loaded in the web debugger w' +
+ 'ill also be available.'
+ WordWrap = True
+ end
+ object imgQRCode: TImage
+ Left = 309
+ Top = 152
+ Width = 128
+ Height = 128
+ Proportional = True
+ Stretch = True
+ end
+ object cmdTestLexicalModel: TButton
+ Left = 12
+ Top = 122
+ Width = 150
+ Height = 25
+ Action = modActionsModelEditor.actModelTest
+ TabOrder = 2
+ end
+ object cmdOpenDebugHost: TButton
+ Left = 12
+ Top = 286
+ Width = 109
+ Height = 25
+ Caption = 'Open in browser'
+ TabOrder = 5
+ OnClick = cmdOpenDebugHostClick
+ end
+ object lbDebugHosts: TListBox
+ Left = 12
+ Top = 183
+ Width = 289
+ Height = 97
+ ItemHeight = 13
+ TabOrder = 4
+ OnClick = lbDebugHostsClick
+ end
+ object cmdSendURLsToEmail: TButton
+ Left = 253
+ Top = 286
+ Width = 109
+ Height = 25
+ Caption = 'Send to &email...'
+ TabOrder = 7
+ OnClick = cmdSendURLsToEmailClick
+ end
+ object editTestKeyboard: TEdit
+ Left = 123
+ Top = 45
+ Width = 158
+ Height = 21
+ TabOrder = 0
+ OnChange = editTestKeyboardChange
+ end
+ object cmdBrowseTestKeyboard: TButton
+ Left = 287
+ Top = 43
+ Width = 75
+ Height = 25
+ Caption = '&Browse...'
+ TabOrder = 1
+ OnClick = cmdBrowseTestKeyboardClick
+ end
+ object cmdCopyDebuggerLink: TButton
+ Left = 127
+ Top = 286
+ Width = 109
+ Height = 25
+ Caption = 'Copy &link'
+ TabOrder = 6
+ OnClick = cmdCopyDebuggerLinkClick
+ end
+ object cmdConfigureWebDebugger: TButton
+ Left = 168
+ Top = 122
+ Width = 153
+ Height = 25
+ Action = modActionsMain.actToolsWebConfigure
+ TabOrder = 3
+ end
+ end
+ object panOpenInExplorer: TPanel
+ Left = 10
+ Top = 148
+ Width = 471
+ Height = 67
+ BevelOuter = bvNone
+ Color = 15921906
+ ParentBackground = False
+ TabOrder = 1
+ object lblOpenInExplorer: TLabel
+ Left = 9
+ Top = 6
+ Width = 115
+ Height = 17
+ Caption = 'Open in Explorer'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -14
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object cmdOpenSourceFolder: TButton
+ Left = 9
+ Top = 33
+ Width = 138
+ Height = 25
+ Caption = '&Open source folder'
+ TabOrder = 0
+ OnClick = cmdOpenSourceFolderClick
+ end
+ object cmdOpenBuildFolder: TButton
+ Left = 153
+ Top = 33
+ Width = 138
+ Height = 25
+ Caption = 'Open &build folder'
+ TabOrder = 1
+ OnClick = cmdOpenBuildFolderClick
+ end
+ object cmdOpenProjectFolder: TButton
+ Left = 297
+ Top = 33
+ Width = 138
+ Height = 25
+ Caption = 'Open pro&ject folder'
+ TabOrder = 2
+ OnClick = cmdOpenProjectFolderClick
+ end
+ end
+ object panFileActions: TPanel
+ Left = 10
+ Top = 32
+ Width = 471
+ Height = 97
+ BevelOuter = bvNone
+ Color = 15921906
+ ParentBackground = False
+ TabOrder = 0
+ object lblFileActions: TLabel
+ Left = 9
+ Top = 6
+ Width = 75
+ Height = 17
+ Caption = 'File actions'
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -14
+ Font.Name = 'Tahoma'
+ Font.Style = [fsBold]
+ ParentFont = False
+ end
+ object Label5: TLabel
+ Left = 10
+ Top = 71
+ Width = 82
+ Height = 13
+ Caption = 'Target filename:'
+ end
+ object cmdAddToProject: TButton
+ Left = 153
+ Top = 32
+ Width = 137
+ Height = 25
+ Action = modActionsMain.actProjectAddCurrentEditorFile
+ TabOrder = 1
+ end
+ object cmdCompile: TButton
+ Left = 10
+ Top = 32
+ Width = 137
+ Height = 25
+ Action = modActionsModelEditor.actModelCompile
+ TabOrder = 0
+ end
+ object editOutPath: TEdit
+ Left = 98
+ Top = 68
+ Width = 359
+ Height = 21
+ TabStop = False
+ ParentColor = True
+ ReadOnly = True
+ TabOrder = 2
+ end
+ end
+ end
+ end
+ end
+ object dlgAddWordlist: TOpenDialog
+ Options = [ofHideReadOnly, ofPathMustExist, ofEnableSizing]
+ Title = 'Create or Add Wordlist'
+ Left = 32
+ Top = 216
+ end
+ object dlgBrowseTestKeyboard: TOpenDialog
+ DefaultExt = 'js'
+ Filter = 'Compiled keyboard files (*.js)|*.js|All files (*.*)|*.*'
+ Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing]
+ Title = 'Select compiled keyboard to test with'
+ Left = 32
+ Top = 280
+ end
+end
diff --git a/developer/src/tike/child/Keyman.Developer.UI.UfrmModelEditor.pas b/developer/src/tike/child/Keyman.Developer.UI.UfrmModelEditor.pas
index bc02e65bd7..baaa0a44aa 100644
--- a/developer/src/tike/child/Keyman.Developer.UI.UfrmModelEditor.pas
+++ b/developer/src/tike/child/Keyman.Developer.UI.UfrmModelEditor.pas
@@ -418,6 +418,7 @@ begin
{ Build tab }
cmdOpenDebugHost.Enabled := lbDebugHosts.ItemIndex >= 0;
+ cmdCopyDebuggerLink.Enabled := lbDebugHosts.ItemIndex >= 0;
cmdSendURLsToEmail.Enabled := lbDebugHosts.Items.Count > 0; // I4506
// We use FProjectFile because we don't want to accidentally create a standalone
diff --git a/developer/src/tike/child/UfrmEditor.dfm b/developer/src/tike/child/UfrmEditor.dfm
index 0af3d38484..3ab284045d 100644
--- a/developer/src/tike/child/UfrmEditor.dfm
+++ b/developer/src/tike/child/UfrmEditor.dfm
@@ -1,743 +1,735 @@
-inherited frmEditor: TfrmEditor
- Left = 96
- Top = 288
- Caption = 'frmEditor'
- ClientHeight = 228
- Icon.Data = {
- 0000010004001010100000000000280100004600000010100000000000006803
- 00006E0100002020100000000000E8020000D60400002020000000000000A80C
- 0000BE0700002800000010000000200000000100040000000000C00000000000
- 0000000000001000000000000000000000000000800000800000008080008000
- 00008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF00
- 0000FF00FF00FFFF0000FFFFFF00000000000000000000007000000000000000
- 7880000000000007788880000000000778777880000000778877777880000077
- 80777777F88007780780777FF78007780087777F78007780707777FF78007F87
- 807777F7800077FF77777FF780000077FF777F770000000077FFFF7800000000
- 0077F7800000000000007F800000FFFFFFFFF1FFFFFFF07FFFFFE01FFFFFE007
- FFFFC001FFFFC001FFFF8001FFFF8003FFFF0003FFFF0007FFFF0007FFFFC00F
- FFFFF00FFFFFFC1FFFFFFF1FFFFF280000001000000020000000010018000000
- 0000400300000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008494A5636B7B515D690000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00008494A5636B7B637384637384515D69000000000000000000000000000000
- 0000000000000000000000000000008C9CAD8C9CAD6B7B8C7384946373846B73
- 846B7B8C515D6900000000000000000000000000000000000000000000000094
- A5B58C9CAD7384947B8C9C8494A594A5AD6B7B8C737B94738494515D69000000
- 0000000000000000000000009CADB594A5B56B7B9473849C8C94A58C9CAD9CAD
- B5ADB5BDB5C6CE7384947384947B8C9C515D690000000000000000009CADB59C
- ADB57384940000008C9CAD9CA5B5A5ADBDB5BDC6BDC6CEC6D6D6D6DEE77B8C9C
- 6B7B8C000000000000ADB5BDA5B5BD6B84940000008C94A594A5AD000000ADBD
- C6B5C6CEC6CED6D6DEDEDEE7E77B8C9C6B7B8C000000000000ADB5C6ADBDC673
- 849C000000000000737B94ADB5BDB5C6CEBDCED6CED6DEDEE7E78494A57B8C9C
- 000000000000B5C6CEB5BDC67384940000008C9CAD000000A5B5BDB5BDC6BDC6
- CECED6DED6DEE7E7E7EF8C94A56B7B8C000000000000BDC6CEE7EFEF7B8C9C8C
- 9CA594A5AD000000ADBDC6BDC6CEC6CED6D6DEDEDEE7E7949CAD8C9CAD000000
- 000000000000BDC6CEE7EFEFE7E7EFDEE7E79CADB5A5B5BDB5C6CEBDCED6D6DE
- DEDEDEE7E7EFEF94A5AD6B7B8C000000000000000000000000000000BDC6CEDE
- E7E7DEDEE7D6DEE7BDC6CECED6DED6DEE7E7E7EF9CADB59CA5B5000000000000
- 000000000000000000000000000000000000BDC6CED6DEE7D6DEE7D6DEDEE7E7
- EFEFEFEFA5B5BD6B7B8C00000000000000000000000000000000000000000000
- 0000000000000000BDC6CED6DEDED6DEDEADBDC6ADB5C6000000000000000000
- 000000000000000000000000000000000000000000000000000000000000BDC6
- CECED6DE6B7B8C000000000000000000000000000000FFFFFFFFF1FFFFFFF07F
- FFFFE01FFFFFE007FFFFC001FFFFC001FFFF8001FFFF8003FFFF0003FFFF0007
- FFFF0007FFFFC00FFFFFF00FFFFFFC1FFFFFFF1FFFFF28000000200000004000
- 0000010004000000000080020000000000000000000000000000000000000000
- 0000000080000080000000808000800000008000800080800000C0C0C0008080
- 80000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000078800000000000000000000000000000778880000000000000000000000
- 0000777888880000000000000000000000007777888888000000000000000000
- 0007777887888888000000000000000000077788787788888800000000000000
- 0077778887787788888800000000000000777888777777778888880000000000
- 07777887878777777788888800000000077788787777777777F7888888800000
- 77778800787777777777F7888780000077788800777777777F7F7FF778000007
- 77788007870077777777FF77780000077788800700087777F77FFF7780000077
- 778800000877777777FFF77780000077788800008777777F7F7FF77800000777
- 788007807777777777FF77780000077788700770877777F77FFF77800000777F
- F887787007777777FFF7778000007FFFFFF7777007777F7F7FF778000000077F
- FFFFF77777777777FF777800000000077FFFFFF77777F77FFF77800000000000
- 077FFFFFF77777FFF77780000000000000077FFFFFF77F7FF778000000000000
- 0000077FFFFFF7FF7778000000000000000000077FFFFFFF7780000000000000
- 00000000077FFFF777800000000000000000000000077FFF7800000000000000
- 000000000000077FF8000000000000000000000000000007700000000000FFFF
- FFFFFFCFFFFFFF83FFFFFF80FFFFFF003FFFFF000FFFFE0003FFFE0000FFFC00
- 003FFC00000FF8000003F8000001F0000001F0000003E0000003E0000007C000
- 0007C000000F8000000F8000001F0000001F0000003F8000003FE000007FF800
- 007FFE0000FFFF8000FFFFE001FFFFF801FFFFFE03FFFFFF83FFFFFFE7FF2800
- 000020000000400000000100180000000000800C000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000515D69515D6900000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 008494A55A6B7B636B7B515D69515D6900000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 008494A57B8C9C637384636B7B637384515D69515D6900000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008494
- A58494A58494A5636B7B637384637384637384637384515D69515D6900000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008C9C
- A58494A58494A58494A56373846373846373846B73846373846B7B8C515D6951
- 5D69000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000008C9CAD8C9C
- A58C9CAD8494A56B7B8C6B7B947384946B73846373846B7B8C6B73846B7B8C6B
- 7B8C515D69515D69000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000008C9CAD94A5
- AD8C9CA56B7B8C6B7B9473849473849C7B8C9C8C94A56B7B8C6B7B8C6B7B8C6B
- 7B8C6B7B8C6B7B8C515D69515D69000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000094A5AD94A5B58C9C
- AD8C9CAD6B7B8C7384947384947B8C9C8494A58494A58C9CAD94A5AD6B7B8C6B
- 7B8C6B7B8C737B946B7B8C738494515D69515D69000000000000000000000000
- 00000000000000000000000000000000000000000000000094A5B594A5AD94A5
- AD6B7B8C6B7B947384947B8C9C8494A58494A58C9CAD949CAD9CA5B59CADB5A5
- B5BD6B7B8C7384946B7B8C738494737B94738494515D69515D69000000000000
- 0000000000000000000000000000000000000000009CADB59CA5B594A5B594A5
- AD6B7B9473849473849C7B8C9C8C94A58C9CA58C9CAD94A5B59CADB5A5ADBDAD
- B5BDADBDC6B5C6CE737B947384947384947384947384947B8C9C515D69515D69
- 0000000000000000000000000000000000000000009CADB59CA5B59CADB56B7B
- 8C6B7B947B8C9C7B8C9C8494A58494A58C9CAD94A5AD9CA5B59CADBDA5B5BDAD
- BDC6B5BDC6B5C6CEC6CED6C6CED67384947384947B8C9C7384947B8C9C73849C
- 6B7B8C000000000000000000000000000000A5ADBD9CADB59CADB59CADB56B7B
- 947384940000000000008494A58C9CAD94A5AD9CA5B59CADB5A5ADBDADB5C6B5
- BDC6B5C6CEBDC6CEC6CED6C6D6D6CED6DED6DEE77384947B8C9C7B8C9C6B7B8C
- 6B7B8C000000000000000000000000000000A5B5BDA5ADBD9CADB5737B947384
- 947B8C9C0000000000008C9CA5949CAD94A5B59CADB5A5ADBDA5B5BDADBDC6B5
- C6CEBDC6CEBDCED6C6CED6D6DEDED6DEE7DEDEE7E7E7EF7384947384946B7B8C
- 000000000000000000000000000000ADB5BDA5B5BDA5B5BDA5ADBD6B84947384
- 940000000000008C94A58C9CAD94A5AD000000000000A5B5BDADBDC6B5BDC6B5
- C6CEC6CED6C6CED6CED6DED6DEDED6DEE7DEE7E77B8C9C7B8C9C7384946B7B8C
- 000000000000000000000000000000ADB5BDADB5C6A5B5BD6B84947384947B8C
- 9C0000000000008C9CAD000000000000000000737B94ADB5C6B5BDC6B5C6CEBD
- C6CEC6CED6CED6DECED6DED6DEE7DEE7E7E7E7EF7B8C9C7B8C9C6B7B8C000000
- 000000000000000000000000ADBDC6ADB5C6ADB5BDADBDC673849473849C0000
- 00000000000000000000000000737B94A5ADBDADB5BDADBDC6B5C6CEBDC6CEBD
- CED6C6CED6CED6DED6DEE7DEE7E7E7E7EF8494A57B8C9C7B8C9C6B7B8C000000
- 000000000000000000000000B5BDC6ADBDC6ADBDC66B7B947384947B8C9C0000
- 00000000000000000000737B949CADBDA5B5BDADBDC6B5BDC6BDC6CEBDCED6C6
- CED6CED6DED6DEDEDEDEE7DEE7E7E7EFEF8494A58494A56B7B8C000000000000
- 000000000000000000B5C6CEB5BDC6B5BDC6ADBDC67384947B8C9C0000000000
- 008C9CAD737B940000009CADBDA5B5BDADB5C6B5BDC6B5C6CEBDC6CEC6CED6CE
- D6DED6DEDED6DEE7DEE7E7E7E7EF8C9CA58C94A58494A56B7B8C000000000000
- 000000000000000000B5C6CEB5BDC6B5BDC67384947B8C9C7B8C9C0000000000
- 00949CAD94A5B5000000737B94ADB5BDADBDC6B5C6CEBDC6CEBDCED6C6CED6CE
- D6DED6DEE7DEE7E7E7E7EFE7EFEF8C9CAD8C9CA56B7B8C000000000000000000
- 000000000000BDC6CEBDC6CEB5C6CEE7EFEFE7E7EF7B8C9C8494A58C9CA58C9C
- AD94A5AD9CA5B5000000000000ADBDC6B5BDC6BDC6CEBDCED6C6CED6CED6DED6
- DEDEDEDEE7DEE7E7E7EFEF949CAD8C9CAD8C9CAD6B7B8C000000000000000000
- 000000000000BDC6CEE7EFEFE7EFEFE7E7EFE7E7EFDEE7E7E7E7EF8C9CA594A5
- B59CA5B59CADB5000000000000B5BDC6B5C6CEBDC6CEC6CED6CED6DED6DEDED6
- DEE7DEE7E7E7E7EFEFF7F7949CAD94A5AD6B7B8C000000000000000000000000
- 000000000000000000BDC6CEBDC6CEE7EFEFE7E7EFE7E7EFDEE7E7DEE7E7DEE7
- E79CADB5A5ADBDA5B5BDADBDC6B5C6CEBDC6CEBDCED6C6CED6D6DEDED6DEE7DE
- DEE7E7E7EFE7EFEF9CA5B594A5AD94A5AD6B7B8C000000000000000000000000
- 000000000000000000000000000000BDC6CEBDC6CEDEE7E7E7E7EFDEE7E7DEE7
- E7DEDEE7DEDEE7ADBDC6B5BDC6BDC6CEBDCED6C6CED6CED6DED6DEDED6DEE7DE
- E7E7E7EFEFEFEFF79CADB59CA5B56B7B8C000000000000000000000000000000
- 000000000000000000000000000000000000000000BDC6CEBDC6CEDEE7E7DEE7
- E7DEDEE7DEE7E7D6DEE7DEDEE7BDC6CEC6CED6CED6DED6DEDED6DEE7DEE7E7E7
- E7EFEFF7F79CADB5A5ADBD9CA5B56B7B8C000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000BDC6CEBDC6
- CEDEE7E7D6DEE7DEDEE7D6DEDED6DEE7D6DEDECED6DED6DEE7DEE7E7E7E7EFE7
- EFEFEFEFF7A5ADBD9CADB56B7B94000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00BDC6CEBDC6CED6DEE7D6DEDED6DEE7D6DEDED6DEDED6DEDEE7E7EFE7EFEFEF
- EFEFA5B5BDA5B5BDA5ADBD6B7B8C000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000BDC6CEBDC6CED6DEDED6DEDED6DEDECED6DECED6DECED6DECE
- D6DEADB5BDA5B5BD6B7B8C000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000BDC6CEBDC6CED6DEDECED6DED6DEDECED6DEAD
- BDC6ADB5BDADB5C66B7B8C000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000BDC6CEBDC6CECED6DECED6DECE
- D6DEADBDC66B7B8C000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000BDC6CEBDC6CECE
- D6DEC6D6D66B7B8C000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000000000000000000000BD
- C6CEBDC6CE000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFFFFFFCFFFFFFF83FFFFFF80FFFFFF003FFFFF000FFFFE00
- 03FFFE0000FFFC00003FFC00000FF8000003F8000001F0000001F0000003E000
- 0003E0000007C0000007C000000F8000000F8000001F0000001F0000003F8000
- 003FE000007FF800007FFE0000FFFF8000FFFFE001FFFFF801FFFFFE03FFFFFF
- 83FFFFFFE7FF}
- KeyPreview = True
- ExplicitHeight = 228
- PixelsPerInch = 96
- TextHeight = 13
- object lstImages: TMenuImgList
- BkColor = clSilver
- DrawingStyle = dsTransparent
- DisabledImages = lstImagesDisabled
- Left = 394
- Top = 58
- Bitmap = {
- 494C010106000900180010001000C0C0C000FE00FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000002000000001002000000000000020
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF0000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C6008400
- 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600848484008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000840000008400
- 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C6000000000000000000FFFFFF00FFFFFF00FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF
- FF0000000000FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 00008400000084000000C6C6C600C6C6C600C6C6C60000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF000000
- 0000FFFFFF0000000000FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
- C6008400000084000000C6C6C600C6C6C6000000000000848400008484000000
- 0000FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFF
- FF0000000000FFFFFF0000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600848484008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
- 0000FFFFFF000000000000848400008484000000000000000000FFFFFF000000
- 0000FFFFFF000000000000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C6008484
- 840084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000084840000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
- 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
- 8400FFFFFF000084840000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000084840000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
- 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
- 8400FFFFFF00FFFFFF0000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
- 000084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C60084000000C6C6C600C6C6C6008400000084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
- 0000840000008400000084000000C6C6C600C6C6C60000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
- 8400008484008484840084000000FFFFFF008400000084000000840000008400
- 00008400000084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000FFFFFF000000000000000000000000000000
- 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
- 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600840000008400000084000000C6C6C60084000000C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
- 8400008484008484840084000000FFFFFF00840000008400000084000000FFFF
- FF0084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 840084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000C6C6C600840000008400000084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000000000000000
- 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
- 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600840000008400
- 0000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600840000000000000084000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
- 8400008484008484840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000FFFFFF008400
- 0000840000008400000084000000C6C6C6000000000000848400848484000084
- 8400848484000084840084000000840000008400000084000000840000008400
- 00008400000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600000000000000000000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
- 0000FFFFFF0084000000C6C6C600C6C6C6000000000084848400008484008484
- 8400008484008484840000848400848484000084840084848400008484008484
- 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 0000C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
- 000084000000C6C6C600C6C6C600C6C6C6000000000000848400848484000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000C6C6C6000000000000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000FFFFFF000000000084000000840000008400000084000000840000008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400848484000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008484
- 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000840000008400
- 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0000000000FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000848400848484000084
- 84000000000000FFFF00000000000000000000FFFF0000000000848484000084
- 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000000FFFF0000FFFF000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000000000000000000000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600}
- end
- object dlgFonts: TFontDialog
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- Options = []
- Left = 450
- Top = 30
- end
- object dlgPrint: TPrintDialog
- Left = 450
- Top = 58
- end
- object dlgPrintSetup: TPrinterSetupDialog
- Left = 478
- Top = 30
- end
- object dlgFind: TFindDialog
- Left = 478
- Top = 58
- end
- object dlgReplace: TReplaceDialog
- Left = 506
- Top = 30
- end
- object lstImagesDisabled: TImageList
- Left = 506
- Top = 58
- Bitmap = {
- 494C010106000900180010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000002000000001002000000000000020
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000084848400000000000000
- 0000FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008484840000000000000000008484
- 8400000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000084848400FFFFFF00FFFFFF00848484000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400848484000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000848484008484840084848400000000000000
- 0000FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000848484008484
- 8400000000000000000000000000000000000000000084848400848484008484
- 84008484840084848400FFFFFF00000000000000000000000000000000000000
- 0000000000000000000084848400848484000000000000000000000000008484
- 840000000000FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000084848400FFFF
- FF00000000000000000000000000000000000000000000000000848484008484
- 84008484840084848400FFFFFF00000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF0084848400000000000000000000000000FFFFFF00848484000000
- 00008484840000000000FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000084848400FFFF
- FF00000000000000000000000000000000000000000000000000000000008484
- 84008484840084848400FFFFFF00000000000000000084848400848484008484
- 8400848484000000000000000000FFFFFF008484840084848400000000008484
- 8400000000008484840000000000848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000084848400FFFF
- FF00FFFFFF0000000000000000000000000000000000FFFFFF00848484000000
- 00008484840084848400FFFFFF00000000008484840084848400848484008484
- 8400FFFFFF00000000008484840084848400FFFFFF00FFFFFF00848484000000
- 0000848484000000000084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000848484008484
- 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF008484840084848400000000000000
- 00000000000084848400000000000000000084848400FFFFFF00000000008484
- 8400FFFFFF008484840084848400848484008484840084848400FFFFFF008484
- 8400FFFFFF008484840084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400848484008484840084848400848484000000000000000000000000000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000084848400FFFFFF00000000008484
- 8400FFFFFF0084848400FFFFFF0084848400FFFFFF0084848400FFFFFF008484
- 8400FFFFFF008484840084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008484840000000000FFFFFF008484
- 8400FFFFFF0084848400FFFFFF0084848400FFFFFF0084848400FFFFFF008484
- 8400FFFFFF00FFFFFF0084848400000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000848484008484840000000000FFFFFF000000000000000000FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084848400848484008484840084848400848484008484
- 8400848484008484840084848400848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400FFFFFF000000000084848400FFFFFF000000000084848400848484000000
- 0000FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000084848400848484008484840084848400848484008484
- 8400848484008484840084848400FFFFFF000000000084848400848484008484
- 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400FFFFFF000000000084848400FFFFFF0084848400FFFFFF00000000008484
- 8400FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF008484840084848400848484008484
- 8400848484008484840000000000848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 840000000000FFFFFF0084848400FFFFFF0084848400FFFFFF00000000008484
- 8400FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484000000000084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF0000000000FFFFFF00FFFFFF00848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000848484008484840084848400FFFFFF0084848400FFFFFF00FFFFFF008484
- 8400000000000000000000000000000000008484840084848400848484008484
- 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF008484840084848400848484000000
- 000084848400848484008484840084848400000000000000000000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000008484
- 840084848400FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000084848400FFFFFF008484840084848400848484000000
- 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484000000000084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF000000000000000000000000000000
- 000084848400FFFFFF0084848400000000000000000000000000848484008484
- 8400848484008484840084848400000000000000000000000000000000000000
- 00008484840084848400FFFFFF00000000000000000000000000000000000000
- 0000000000000000000084848400848484008484840000000000000000000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF000000
- 0000FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF008484840084848400FFFFFF00000000000000000000000000848484008484
- 8400848484008484840000000000000000000000000000000000000000000000
- 00000000000084848400FFFFFF00000000000000000000000000000000000000
- 000000000000000000000000000084848400FFFFFF00FFFFFF00000000000000
- 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400000000008484
- 8400848484008484840084848400000000008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 84008484840084848400FFFFFF00000000000000000000000000848484008484
- 84008484840000000000FFFFFF00000000000000000000000000000000000000
- 00000000000084848400FFFFFF00000000000000000000000000000000000000
- 00000000000000000000848484008484840084848400FFFFFF00000000000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400848484008484840084848400FFFFFF000000000000000000000000008484
- 8400FFFFFF008484840000000000000000008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 84008484840084848400FFFFFF00000000000000000000000000848484008484
- 8400000000008484840000000000FFFFFF00FFFFFF0000000000000000000000
- 00000000000084848400FFFFFF00000000000000000000000000000000000000
- 0000000000000000000084848400FFFFFF0084848400FFFFFF00FFFFFF000000
- 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
- FF00FFFFFF000000000084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF008484
- 8400848484000000000000000000000000008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 84008484840084848400FFFFFF00000000000000000000000000848484000000
- 00000000000000000000848484008484840000000000FFFFFF00FFFFFF00FFFF
- FF00848484008484840000000000000000000000000000000000000000000000
- 0000000000008484840084848400000000008484840084848400FFFFFF000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400000000008484840084848400848484008484840084848400848484008484
- 8400000000000000000000000000000000008484840084848400848484008484
- 8400FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF0000000000848484008484
- 84008484840084848400FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000008484840084848400848484008484
- 8400848484000000000000000000000000000000000000000000000000000000
- 00000000000084848400FFFFFF00000000000000000084848400FFFFFF000000
- 00000000000000000000000000000000000084848400FFFFFF00000000000000
- 00000000000084848400FFFFFF00848484000000000000000000000000000000
- 0000000000000000000000000000000000008484840084848400848484008484
- 840084848400FFFFFF0084848400848484000000000084848400848484008484
- 8400848484008484840000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000084848400FFFFFF00000000000000000084848400FFFFFF000000
- 00000000000000000000000000000000000084848400FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008484840084848400000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000084848400848484008484
- 84008484840084848400FFFFFF00FFFFFF008484840084848400848484008484
- 8400848484000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000008484840000000000000000000000000084848400000000000000
- 0000000000000000000000000000000000008484840084848400848484008484
- 8400848484008484840000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000008484840084848400848484008484840000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000424D3E000000000000003E000000
- 2800000040000000200000000100010000000000000100000000000000000000
- 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFDF00000000
- FFFFFFB700000000FFFFFF6F00000000F3FFFE1F00000000E7C1FE3700000000
- CF81FCEB00000000CFC1C39500000000CFE1862A00000000C791041400000000
- C03B200000000000E0FF000000000000FFFF200000000000FFFF000000000000
- FFFF400100000000FFFF800300000000F9FFFFFFFE00FFFFF2CFFE00C000FFFF
- E497FC008080FFFFE427FC800002FFFFE82780040088FFF3F00F00800010E0E1
- FC1F200400F1C1F1FC7F00900001C3F9FE3F20210001C5F9FC3F00E30001CA79
- FC1F24070001DC83F91F080F0241FF07F99F38FF0083FFFFF99F01FF8007FFFF
- FBBF03FFF87FFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
- 000000000000}
- end
-end
+inherited frmEditor: TfrmEditor
+ Left = 96
+ Top = 288
+ Caption = 'frmEditor'
+ ClientHeight = 228
+ Icon.Data = {
+ 0000010004001010100000000000280100004600000010100000000000006803
+ 00006E0100002020100000000000E8020000D60400002020000000000000A80C
+ 0000BE0700002800000010000000200000000100040000000000C00000000000
+ 0000000000001000000000000000000000000000800000800000008080008000
+ 00008000800080800000C0C0C000808080000000FF0000FF000000FFFF00FF00
+ 0000FF00FF00FFFF0000FFFFFF00000000000000000000007000000000000000
+ 7880000000000007788880000000000778777880000000778877777880000077
+ 80777777F88007780780777FF78007780087777F78007780707777FF78007F87
+ 807777F7800077FF77777FF780000077FF777F770000000077FFFF7800000000
+ 0077F7800000000000007F800000FFFFFFFFF1FFFFFFF07FFFFFE01FFFFFE007
+ FFFFC001FFFFC001FFFF8001FFFF8003FFFF0003FFFF0007FFFF0007FFFFC00F
+ FFFFF00FFFFFFC1FFFFFFF1FFFFF280000001000000020000000010018000000
+ 0000400300000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000008494A5636B7B515D690000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00008494A5636B7B637384637384515D69000000000000000000000000000000
+ 0000000000000000000000000000008C9CAD8C9CAD6B7B8C7384946373846B73
+ 846B7B8C515D6900000000000000000000000000000000000000000000000094
+ A5B58C9CAD7384947B8C9C8494A594A5AD6B7B8C737B94738494515D69000000
+ 0000000000000000000000009CADB594A5B56B7B9473849C8C94A58C9CAD9CAD
+ B5ADB5BDB5C6CE7384947384947B8C9C515D690000000000000000009CADB59C
+ ADB57384940000008C9CAD9CA5B5A5ADBDB5BDC6BDC6CEC6D6D6D6DEE77B8C9C
+ 6B7B8C000000000000ADB5BDA5B5BD6B84940000008C94A594A5AD000000ADBD
+ C6B5C6CEC6CED6D6DEDEDEE7E77B8C9C6B7B8C000000000000ADB5C6ADBDC673
+ 849C000000000000737B94ADB5BDB5C6CEBDCED6CED6DEDEE7E78494A57B8C9C
+ 000000000000B5C6CEB5BDC67384940000008C9CAD000000A5B5BDB5BDC6BDC6
+ CECED6DED6DEE7E7E7EF8C94A56B7B8C000000000000BDC6CEE7EFEF7B8C9C8C
+ 9CA594A5AD000000ADBDC6BDC6CEC6CED6D6DEDEDEE7E7949CAD8C9CAD000000
+ 000000000000BDC6CEE7EFEFE7E7EFDEE7E79CADB5A5B5BDB5C6CEBDCED6D6DE
+ DEDEDEE7E7EFEF94A5AD6B7B8C000000000000000000000000000000BDC6CEDE
+ E7E7DEDEE7D6DEE7BDC6CECED6DED6DEE7E7E7EF9CADB59CA5B5000000000000
+ 000000000000000000000000000000000000BDC6CED6DEE7D6DEE7D6DEDEE7E7
+ EFEFEFEFA5B5BD6B7B8C00000000000000000000000000000000000000000000
+ 0000000000000000BDC6CED6DEDED6DEDEADBDC6ADB5C6000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000BDC6
+ CECED6DE6B7B8C000000000000000000000000000000FFFFFFFFF1FFFFFFF07F
+ FFFFE01FFFFFE007FFFFC001FFFFC001FFFF8001FFFF8003FFFF0003FFFF0007
+ FFFF0007FFFFC00FFFFFF00FFFFFFC1FFFFFFF1FFFFF28000000200000004000
+ 0000010004000000000080020000000000000000000000000000000000000000
+ 0000000080000080000000808000800000008000800080800000C0C0C0008080
+ 80000000FF0000FF000000FFFF00FF000000FF00FF00FFFF0000FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000078800000000000000000000000000000778880000000000000000000000
+ 0000777888880000000000000000000000007777888888000000000000000000
+ 0007777887888888000000000000000000077788787788888800000000000000
+ 0077778887787788888800000000000000777888777777778888880000000000
+ 07777887878777777788888800000000077788787777777777F7888888800000
+ 77778800787777777777F7888780000077788800777777777F7F7FF778000007
+ 77788007870077777777FF77780000077788800700087777F77FFF7780000077
+ 778800000877777777FFF77780000077788800008777777F7F7FF77800000777
+ 788007807777777777FF77780000077788700770877777F77FFF77800000777F
+ F887787007777777FFF7778000007FFFFFF7777007777F7F7FF778000000077F
+ FFFFF77777777777FF777800000000077FFFFFF77777F77FFF77800000000000
+ 077FFFFFF77777FFF77780000000000000077FFFFFF77F7FF778000000000000
+ 0000077FFFFFF7FF7778000000000000000000077FFFFFFF7780000000000000
+ 00000000077FFFF777800000000000000000000000077FFF7800000000000000
+ 000000000000077FF8000000000000000000000000000007700000000000FFFF
+ FFFFFFCFFFFFFF83FFFFFF80FFFFFF003FFFFF000FFFFE0003FFFE0000FFFC00
+ 003FFC00000FF8000003F8000001F0000001F0000003E0000003E0000007C000
+ 0007C000000F8000000F8000001F0000001F0000003F8000003FE000007FF800
+ 007FFE0000FFFF8000FFFFE001FFFFF801FFFFFE03FFFFFF83FFFFFFE7FF2800
+ 000020000000400000000100180000000000800C000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000515D69515D6900000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 008494A55A6B7B636B7B515D69515D6900000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 008494A57B8C9C637384636B7B637384515D69515D6900000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008494
+ A58494A58494A5636B7B637384637384637384637384515D69515D6900000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008C9C
+ A58494A58494A58494A56373846373846373846B73846373846B7B8C515D6951
+ 5D69000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000008C9CAD8C9C
+ A58C9CAD8494A56B7B8C6B7B947384946B73846373846B7B8C6B73846B7B8C6B
+ 7B8C515D69515D69000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000008C9CAD94A5
+ AD8C9CA56B7B8C6B7B9473849473849C7B8C9C8C94A56B7B8C6B7B8C6B7B8C6B
+ 7B8C6B7B8C6B7B8C515D69515D69000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000094A5AD94A5B58C9C
+ AD8C9CAD6B7B8C7384947384947B8C9C8494A58494A58C9CAD94A5AD6B7B8C6B
+ 7B8C6B7B8C737B946B7B8C738494515D69515D69000000000000000000000000
+ 00000000000000000000000000000000000000000000000094A5B594A5AD94A5
+ AD6B7B8C6B7B947384947B8C9C8494A58494A58C9CAD949CAD9CA5B59CADB5A5
+ B5BD6B7B8C7384946B7B8C738494737B94738494515D69515D69000000000000
+ 0000000000000000000000000000000000000000009CADB59CA5B594A5B594A5
+ AD6B7B9473849473849C7B8C9C8C94A58C9CA58C9CAD94A5B59CADB5A5ADBDAD
+ B5BDADBDC6B5C6CE737B947384947384947384947384947B8C9C515D69515D69
+ 0000000000000000000000000000000000000000009CADB59CA5B59CADB56B7B
+ 8C6B7B947B8C9C7B8C9C8494A58494A58C9CAD94A5AD9CA5B59CADBDA5B5BDAD
+ BDC6B5BDC6B5C6CEC6CED6C6CED67384947384947B8C9C7384947B8C9C73849C
+ 6B7B8C000000000000000000000000000000A5ADBD9CADB59CADB59CADB56B7B
+ 947384940000000000008494A58C9CAD94A5AD9CA5B59CADB5A5ADBDADB5C6B5
+ BDC6B5C6CEBDC6CEC6CED6C6D6D6CED6DED6DEE77384947B8C9C7B8C9C6B7B8C
+ 6B7B8C000000000000000000000000000000A5B5BDA5ADBD9CADB5737B947384
+ 947B8C9C0000000000008C9CA5949CAD94A5B59CADB5A5ADBDA5B5BDADBDC6B5
+ C6CEBDC6CEBDCED6C6CED6D6DEDED6DEE7DEDEE7E7E7EF7384947384946B7B8C
+ 000000000000000000000000000000ADB5BDA5B5BDA5B5BDA5ADBD6B84947384
+ 940000000000008C94A58C9CAD94A5AD000000000000A5B5BDADBDC6B5BDC6B5
+ C6CEC6CED6C6CED6CED6DED6DEDED6DEE7DEE7E77B8C9C7B8C9C7384946B7B8C
+ 000000000000000000000000000000ADB5BDADB5C6A5B5BD6B84947384947B8C
+ 9C0000000000008C9CAD000000000000000000737B94ADB5C6B5BDC6B5C6CEBD
+ C6CEC6CED6CED6DECED6DED6DEE7DEE7E7E7E7EF7B8C9C7B8C9C6B7B8C000000
+ 000000000000000000000000ADBDC6ADB5C6ADB5BDADBDC673849473849C0000
+ 00000000000000000000000000737B94A5ADBDADB5BDADBDC6B5C6CEBDC6CEBD
+ CED6C6CED6CED6DED6DEE7DEE7E7E7E7EF8494A57B8C9C7B8C9C6B7B8C000000
+ 000000000000000000000000B5BDC6ADBDC6ADBDC66B7B947384947B8C9C0000
+ 00000000000000000000737B949CADBDA5B5BDADBDC6B5BDC6BDC6CEBDCED6C6
+ CED6CED6DED6DEDEDEDEE7DEE7E7E7EFEF8494A58494A56B7B8C000000000000
+ 000000000000000000B5C6CEB5BDC6B5BDC6ADBDC67384947B8C9C0000000000
+ 008C9CAD737B940000009CADBDA5B5BDADB5C6B5BDC6B5C6CEBDC6CEC6CED6CE
+ D6DED6DEDED6DEE7DEE7E7E7E7EF8C9CA58C94A58494A56B7B8C000000000000
+ 000000000000000000B5C6CEB5BDC6B5BDC67384947B8C9C7B8C9C0000000000
+ 00949CAD94A5B5000000737B94ADB5BDADBDC6B5C6CEBDC6CEBDCED6C6CED6CE
+ D6DED6DEE7DEE7E7E7E7EFE7EFEF8C9CAD8C9CA56B7B8C000000000000000000
+ 000000000000BDC6CEBDC6CEB5C6CEE7EFEFE7E7EF7B8C9C8494A58C9CA58C9C
+ AD94A5AD9CA5B5000000000000ADBDC6B5BDC6BDC6CEBDCED6C6CED6CED6DED6
+ DEDEDEDEE7DEE7E7E7EFEF949CAD8C9CAD8C9CAD6B7B8C000000000000000000
+ 000000000000BDC6CEE7EFEFE7EFEFE7E7EFE7E7EFDEE7E7E7E7EF8C9CA594A5
+ B59CA5B59CADB5000000000000B5BDC6B5C6CEBDC6CEC6CED6CED6DED6DEDED6
+ DEE7DEE7E7E7E7EFEFF7F7949CAD94A5AD6B7B8C000000000000000000000000
+ 000000000000000000BDC6CEBDC6CEE7EFEFE7E7EFE7E7EFDEE7E7DEE7E7DEE7
+ E79CADB5A5ADBDA5B5BDADBDC6B5C6CEBDC6CEBDCED6C6CED6D6DEDED6DEE7DE
+ DEE7E7E7EFE7EFEF9CA5B594A5AD94A5AD6B7B8C000000000000000000000000
+ 000000000000000000000000000000BDC6CEBDC6CEDEE7E7E7E7EFDEE7E7DEE7
+ E7DEDEE7DEDEE7ADBDC6B5BDC6BDC6CEBDCED6C6CED6CED6DED6DEDED6DEE7DE
+ E7E7E7EFEFEFEFF79CADB59CA5B56B7B8C000000000000000000000000000000
+ 000000000000000000000000000000000000000000BDC6CEBDC6CEDEE7E7DEE7
+ E7DEDEE7DEE7E7D6DEE7DEDEE7BDC6CEC6CED6CED6DED6DEDED6DEE7DEE7E7E7
+ E7EFEFF7F79CADB5A5ADBD9CA5B56B7B8C000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000BDC6CEBDC6
+ CEDEE7E7D6DEE7DEDEE7D6DEDED6DEE7D6DEDECED6DED6DEE7DEE7E7E7E7EFE7
+ EFEFEFEFF7A5ADBD9CADB56B7B94000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00BDC6CEBDC6CED6DEE7D6DEDED6DEE7D6DEDED6DEDED6DEDEE7E7EFE7EFEFEF
+ EFEFA5B5BDA5B5BDA5ADBD6B7B8C000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000BDC6CEBDC6CED6DEDED6DEDED6DEDECED6DECED6DECED6DECE
+ D6DEADB5BDA5B5BD6B7B8C000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000BDC6CEBDC6CED6DEDECED6DED6DEDECED6DEAD
+ BDC6ADB5BDADB5C66B7B8C000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000BDC6CEBDC6CECED6DECED6DECE
+ D6DEADBDC66B7B8C000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000BDC6CEBDC6CECE
+ D6DEC6D6D66B7B8C000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000000000000000000000BD
+ C6CEBDC6CE000000000000000000000000000000000000000000000000000000
+ 000000000000FFFFFFFFFFCFFFFFFF83FFFFFF80FFFFFF003FFFFF000FFFFE00
+ 03FFFE0000FFFC00003FFC00000FF8000003F8000001F0000001F0000003E000
+ 0003E0000007C0000007C000000F8000000F8000001F0000001F0000003F8000
+ 003FE000007FF800007FFE0000FFFF8000FFFFE001FFFFF801FFFFFE03FFFFFF
+ 83FFFFFFE7FF}
+ KeyPreview = True
+ ExplicitHeight = 228
+ PixelsPerInch = 96
+ TextHeight = 13
+ object lstImages: TMenuImgList
+ BkColor = clSilver
+ DrawingStyle = dsTransparent
+ DisabledImages = lstImagesDisabled
+ Left = 394
+ Top = 58
+ Bitmap = {
+ 494C010106000900180010001000C0C0C000FE00FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000002000000001002000000000000020
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF0000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C6008400
+ 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600848484008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000840000008400
+ 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C6000000000000000000FFFFFF00FFFFFF00FFFFFF000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF
+ FF0000000000FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 00008400000084000000C6C6C600C6C6C600C6C6C60000000000000000000000
+ 000000000000FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF000000
+ 0000FFFFFF0000000000FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
+ C6008400000084000000C6C6C600C6C6C6000000000000848400008484000000
+ 0000FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFF
+ FF0000000000FFFFFF0000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600848484008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
+ 0000FFFFFF000000000000848400008484000000000000000000FFFFFF000000
+ 0000FFFFFF000000000000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C6008484
+ 840084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000084840000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
+ 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
+ 8400FFFFFF000084840000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000084840000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
+ 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
+ 8400FFFFFF00FFFFFF0000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
+ 000084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C60084000000C6C6C600C6C6C6008400000084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
+ 0000840000008400000084000000C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
+ 8400008484008484840084000000FFFFFF008400000084000000840000008400
+ 00008400000084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000FFFFFF000000000000000000000000000000
+ 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
+ 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600840000008400000084000000C6C6C60084000000C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
+ 8400008484008484840084000000FFFFFF00840000008400000084000000FFFF
+ FF0084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 840084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000C6C6C600840000008400000084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000000000000000
+ 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
+ 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600840000008400
+ 0000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600840000000000000084000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
+ 8400008484008484840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000FFFFFF008400
+ 0000840000008400000084000000C6C6C6000000000000848400848484000084
+ 8400848484000084840084000000840000008400000084000000840000008400
+ 00008400000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600000000000000000000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
+ 0000FFFFFF0084000000C6C6C600C6C6C6000000000084848400008484008484
+ 8400008484008484840000848400848484000084840084848400008484008484
+ 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 0000C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
+ 000084000000C6C6C600C6C6C600C6C6C6000000000000848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000C6C6C6000000000000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000FFFFFF000000000084000000840000008400000084000000840000008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400848484000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008484
+ 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000840000008400
+ 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0000000000FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000848400848484000084
+ 84000000000000FFFF00000000000000000000FFFF0000000000848484000084
+ 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000000FFFF0000FFFF000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000000000000000000000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600}
+ end
+ object dlgFonts: TFontDialog
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Options = []
+ Left = 450
+ Top = 30
+ end
+ object dlgFind: TFindDialog
+ Left = 478
+ Top = 58
+ end
+ object dlgReplace: TReplaceDialog
+ Left = 506
+ Top = 30
+ end
+ object lstImagesDisabled: TImageList
+ Left = 506
+ Top = 58
+ Bitmap = {
+ 494C010106000900180010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000002000000001002000000000000020
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400000000000000
+ 0000FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000008484840000000000000000008484
+ 8400000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000084848400FFFFFF00FFFFFF00848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 8400848484000000000000000000000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000848484008484840084848400000000000000
+ 0000FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000848484008484
+ 8400000000000000000000000000000000000000000084848400848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000084848400848484000000000000000000000000008484
+ 840000000000FFFFFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000084848400FFFF
+ FF00000000000000000000000000000000000000000000000000848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF0084848400000000000000000000000000FFFFFF00848484000000
+ 00008484840000000000FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000084848400FFFF
+ FF00000000000000000000000000000000000000000000000000000000008484
+ 84008484840084848400FFFFFF00000000000000000084848400848484008484
+ 8400848484000000000000000000FFFFFF008484840084848400000000008484
+ 8400000000008484840000000000848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000084848400FFFF
+ FF00FFFFFF0000000000000000000000000000000000FFFFFF00848484000000
+ 00008484840084848400FFFFFF00000000008484840084848400848484008484
+ 8400FFFFFF00000000008484840084848400FFFFFF00FFFFFF00848484000000
+ 0000848484000000000084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000848484008484
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF008484840084848400000000000000
+ 00000000000084848400000000000000000084848400FFFFFF00000000008484
+ 8400FFFFFF008484840084848400848484008484840084848400FFFFFF008484
+ 8400FFFFFF008484840084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 8400848484008484840084848400848484000000000000000000000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00000000008484
+ 8400FFFFFF0084848400FFFFFF0084848400FFFFFF0084848400FFFFFF008484
+ 8400FFFFFF008484840084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000008484840000000000FFFFFF008484
+ 8400FFFFFF0084848400FFFFFF0084848400FFFFFF0084848400FFFFFF008484
+ 8400FFFFFF00FFFFFF0084848400000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000848484008484840000000000FFFFFF000000000000000000FFFFFF00FFFF
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084848400848484008484840084848400848484008484
+ 8400848484008484840084848400848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 8400FFFFFF000000000084848400FFFFFF000000000084848400848484000000
+ 0000FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000084848400848484008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF000000000084848400848484008484
+ 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 8400FFFFFF000000000084848400FFFFFF0084848400FFFFFF00000000008484
+ 8400FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840000000000848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 840000000000FFFFFF0084848400FFFFFF0084848400FFFFFF00000000008484
+ 8400FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484000000000084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF0000000000FFFFFF00FFFFFF00848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
+ 0000848484008484840084848400FFFFFF0084848400FFFFFF00FFFFFF008484
+ 8400000000000000000000000000000000008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF008484840084848400848484000000
+ 000084848400848484008484840084848400000000000000000000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000008484
+ 840084848400FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000084848400FFFFFF008484840084848400848484000000
+ 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484000000000084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF000000000000000000000000000000
+ 000084848400FFFFFF0084848400000000000000000000000000848484008484
+ 8400848484008484840084848400000000000000000000000000000000000000
+ 00008484840084848400FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000084848400848484008484840000000000000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF000000
+ 0000FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF008484840084848400FFFFFF00000000000000000000000000848484008484
+ 8400848484008484840000000000000000000000000000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000000000000000000000000
+ 000000000000000000000000000084848400FFFFFF00FFFFFF00000000000000
+ 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400000000008484
+ 8400848484008484840084848400000000008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000848484008484
+ 84008484840000000000FFFFFF00000000000000000000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000000000000000000000000
+ 00000000000000000000848484008484840084848400FFFFFF00000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400848484008484840084848400FFFFFF000000000000000000000000008484
+ 8400FFFFFF008484840000000000000000008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000848484008484
+ 8400000000008484840000000000FFFFFF00FFFFFF0000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000084848400FFFFFF0084848400FFFFFF00FFFFFF000000
+ 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
+ FF00FFFFFF000000000084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF008484
+ 8400848484000000000000000000000000008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000848484000000
+ 00000000000000000000848484008484840000000000FFFFFF00FFFFFF00FFFF
+ FF00848484008484840000000000000000000000000000000000000000000000
+ 0000000000008484840084848400000000008484840084848400FFFFFF000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400000000008484840084848400848484008484840084848400848484008484
+ 8400000000000000000000000000000000008484840084848400848484008484
+ 8400FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF0000000000848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000008484840084848400848484008484
+ 8400848484000000000000000000000000000000000000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000084848400FFFFFF000000
+ 00000000000000000000000000000000000084848400FFFFFF00000000000000
+ 00000000000084848400FFFFFF00848484000000000000000000000000000000
+ 0000000000000000000000000000000000008484840084848400848484008484
+ 840084848400FFFFFF0084848400848484000000000084848400848484008484
+ 8400848484008484840000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000084848400FFFFFF000000
+ 00000000000000000000000000000000000084848400FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF008484840084848400000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484008484
+ 84008484840084848400FFFFFF00FFFFFF008484840084848400848484008484
+ 8400848484000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000008484840000000000000000000000000084848400000000000000
+ 0000000000000000000000000000000000008484840084848400848484008484
+ 8400848484008484840000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000008484840084848400848484008484840000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000040000000200000000100010000000000000100000000000000000000
+ 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFDF00000000
+ FFFFFFB700000000FFFFFF6F00000000F3FFFE1F00000000E7C1FE3700000000
+ CF81FCEB00000000CFC1C39500000000CFE1862A00000000C791041400000000
+ C03B200000000000E0FF000000000000FFFF200000000000FFFF000000000000
+ FFFF400100000000FFFF800300000000F9FFFFFFFE00FFFFF2CFFE00C000FFFF
+ E497FC008080FFFFE427FC800002FFFFE82780040088FFF3F00F00800010E0E1
+ FC1F200400F1C1F1FC7F00900001C3F9FE3F20210001C5F9FC3F00E30001CA79
+ FC1F24070001DC83F91F080F0241FF07F99F38FF0083FFFFF99F01FF8007FFFF
+ FBBF03FFF87FFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/developer/src/tike/child/UfrmEditor.pas b/developer/src/tike/child/UfrmEditor.pas
index 0bf0f96c61..255a61c210 100644
--- a/developer/src/tike/child/UfrmEditor.pas
+++ b/developer/src/tike/child/UfrmEditor.pas
@@ -41,7 +41,7 @@ uses
System.UITypes,
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ExtCtrls, Menus, ToolWin, ComCtrls, ImgList, ErrorControlledRegistry,
- RegistryKeys, UfrmMDIChild, MenuImgList, Printers,
+ RegistryKeys, UfrmMDIChild, MenuImgList,
UfrmKeyTest,
Keyman.Developer.System.Project.ProjectFile, UfrmMDIEditor,
@@ -54,11 +54,9 @@ type
TUPCOptions = set of (upcSetError, upcClearError, upcSetBreakPoint, upcClearBreakPoint,
upcSetExecutionPoint, upcClearExecutionPoint);
- TfrmEditor = class(TfrmTikeEditor, IKMDPrintActions {TODO:, IKMDPrintPreviewActions})
+ TfrmEditor = class(TfrmTikeEditor)
lstImages: TMenuImgList;
dlgFonts: TFontDialog;
- dlgPrint: TPrintDialog;
- dlgPrintSetup: TPrinterSetupDialog;
dlgFind: TFindDialog;
dlgReplace: TReplaceDialog;
lstImagesDisabled: TImageList;
@@ -73,10 +71,6 @@ type
procedure SetTextFileFormat(const Value: TTextFileFormat);
procedure UpdateEditorFormat;
- { IKMDPrintActions }
- function PrintFile: Boolean;
- { IKMDPrintPreviewActions }
- //TODO: function PrintPreview: Boolean;
procedure EditorChanged(Sender: TObject);
function GetEditorFormat: TEditorFormat;
function GetTextFileFormat: TTextFileFormat;
@@ -300,11 +294,6 @@ begin
Modified := False;
end;
-function TfrmEditor.PrintFile: Boolean;
-begin
- Result := FEditorFrame.PrintFile(FileName);
-end;
-
{-------------------------------------------------------------------------------
- Interface functions -
-------------------------------------------------------------------------------}
diff --git a/developer/src/tike/child/UfrmKeymanWizard.pas b/developer/src/tike/child/UfrmKeymanWizard.pas
index b88f014810..81b1bb7c6a 100644
--- a/developer/src/tike/child/UfrmKeymanWizard.pas
+++ b/developer/src/tike/child/UfrmKeymanWizard.pas
@@ -159,7 +159,7 @@ type
Filename: string;
end;
- TfrmKeymanWizard = class(TfrmTikeEditor, IKMDPrintActions {TODO:, IKMDPrintPreviewActions})
+ TfrmKeymanWizard = class(TfrmTikeEditor)
dlgBrowseBitmap: TOpenPictureDialog;
dlgSaveExport: TSaveDialog;
dlgSaveBitmap: TSavePictureDialog;
@@ -524,11 +524,6 @@ type
function CanChangeView(FView: TCodeDesignView): Boolean; override; // I4678
procedure ChangeView(FView: TCodeDesignView); override; // I4678
- { IKMDPrintActions }
- function PrintFile: Boolean;
- { IKMDPrintPreviewActions }
- //TODO: function PrintPreview: Boolean;
-
function CanReloadAsTextFileFormatClick: Boolean; override; // I3637
procedure ReloadAsTextFileFormatClick(TextFileFormat: TTextFileFormat); // I3637
override;
@@ -1508,16 +1503,6 @@ begin
Result := True;
end;
-function TfrmKeymanWizard.PrintFile: Boolean;
-begin
- Result := frameSource.PrintFile(FileName);
-end;
-
-{TODO: function TfrmKeymanWizard.PrintPreview: Boolean;
-begin
- Result := frameSource.PrintPreview(FileName);
-end;}
-
function TfrmKeymanWizard.GetCurrentRule: TKeyboardParser_LayoutRule;
var
i: Integer;
diff --git a/developer/src/tike/debug/XString.pas b/developer/src/tike/debug/XString.pas
index 1f76654dba..7682061258 100644
--- a/developer/src/tike/debug/XString.pas
+++ b/developer/src/tike/debug/XString.pas
@@ -1,18 +1,18 @@
(*
Name: XString
Copyright: Copyright (C) SIL International.
- Documentation:
- Description:
+ Documentation:
+ Description:
Create Date: 14 Jun 2008
Modified Date: 13 Dec 2012
Authors: mcdurdin
- Related Files:
- Dependencies:
+ Related Files:
+ Dependencies:
- Bugs:
- Todo:
- Notes:
+ Bugs:
+ Todo:
+ Notes:
History: 14 Jun 2008 - mcdurdin - I1365 - Add CODE_NOTANY support
13 Dec 2012 - mcdurdin - I3661 - V9.0 - XString unit needs updating to support 8 and 9 stores
*)
@@ -150,7 +150,7 @@ begin
CODE_USE: Result := 1;
CODE_DEADKEY: Result := 1;
CODE_EXTENDED: Result := 3;
- CODE_CLEARCONTEXT: Result := 1;
+ CODE_CLEARCONTEXT: Result := 1; // deprecated in 19.0
CODE_CALL: Result := 1;
CODE_CONTEXTEX: Result := 1;
CODE_NOTANY: Result := 1;
@@ -198,7 +198,7 @@ begin
CODE_EXTENDED: Result := FormatVirtualKey(Ord(FString[Index+2]), Ord(FString[Index+3]));
CODE_SWITCH: Result := '??switch';
CODE_KEY: Result := '??key';
- CODE_CLEARCONTEXT: Result := 'clearcontext';
+ CODE_CLEARCONTEXT: Result := 'clearcontext'; // deprecated in 19.0
CODE_CALL: Result := 'call(func)';
CODE_CONTEXTEX: Result := Format('context(%d)', [Ord(FString[Index+2])]);
CODE_NOTANY: begin storeindex := Ord(FString[Index+2])-1; Result := Format('notany(%s)', [Fkbd.Stores[storeindex].Name]); end;
@@ -300,7 +300,7 @@ var
storeindex: Integer;
begin
Element.Name := IntFormatChar(pos, Options + [xfoQuoteChar], storeindex);
-
+
Element.StoreIndex := storeindex;
if storeindex > -1
then Element.Store := Fkbd.Stores[storeindex].AString
@@ -340,7 +340,7 @@ function TXString.SubString(StartIndex, Len: Integer): WideString;
var
i, p, n1, n2: Integer;
begin
- n2 := -1; n1 := 0;
+ n2 := -1; n1 := 0;
i := 1; p := 1;
while (i <= Length(FString)) and (n2 < 0) do
begin
diff --git a/developer/src/tike/main/KeymanDeveloperUtils.pas b/developer/src/tike/main/KeymanDeveloperUtils.pas
index fe2e60f939..9eed5efd45 100644
--- a/developer/src/tike/main/KeymanDeveloperUtils.pas
+++ b/developer/src/tike/main/KeymanDeveloperUtils.pas
@@ -285,7 +285,7 @@ begin
if not GetKmshellPath(kmshell) then
Exit(False);
- Result := TUtilExecute.WaitForProcess('"'+kmshell+'" -uk "'+nm+'"', ExtractFilePath(kmshell)); // I3475
+ Result := TUtilExecute.WaitForProcess('"'+kmshell+'" -uk "'+nm+'" -s', ExtractFilePath(kmshell)); // I3475
end;
function UninstallPackage(const nm: string): Boolean;
diff --git a/developer/src/tike/main/UframeTextEditor.dfm b/developer/src/tike/main/UframeTextEditor.dfm
index d1e8e0f657..eb31914912 100644
--- a/developer/src/tike/main/UframeTextEditor.dfm
+++ b/developer/src/tike/main/UframeTextEditor.dfm
@@ -1,569 +1,565 @@
-inherited frameTextEditor: TframeTextEditor
- BorderIcons = []
- BorderStyle = bsNone
- ClientHeight = 610
- ClientWidth = 751
- KeyPreview = True
- OnDestroy = TntFormDestroy
- OnKeyDown = FormKeyDown
- ExplicitWidth = 751
- ExplicitHeight = 610
- PixelsPerInch = 96
- TextHeight = 13
- object lstImages: TMenuImgList
- BkColor = clSilver
- DrawingStyle = dsTransparent
- DisabledImages = lstImagesDisabled
- Left = 394
- Top = 58
- Bitmap = {
- 494C010106000900900010001000C0C0C000FE00FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000002000000001002000000000000020
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF0000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C6008400
- 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600848484008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000840000008400
- 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C6000000000000000000FFFFFF00FFFFFF00FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF
- FF0000000000FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 00008400000084000000C6C6C600C6C6C600C6C6C60000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF000000
- 0000FFFFFF0000000000FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
- C6008400000084000000C6C6C600C6C6C6000000000000848400008484000000
- 0000FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFF
- FF0000000000FFFFFF0000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600848484008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
- 0000FFFFFF000000000000848400008484000000000000000000FFFFFF000000
- 0000FFFFFF000000000000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C6008484
- 840084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000084840000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
- 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
- 8400FFFFFF000084840000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000084840000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
- 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
- 8400FFFFFF00FFFFFF0000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
- 000084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C60084000000C6C6C600C6C6C6008400000084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
- 0000840000008400000084000000C6C6C600C6C6C60000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
- 8400008484008484840084000000FFFFFF008400000084000000840000008400
- 00008400000084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000FFFFFF000000000000000000000000000000
- 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
- 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600840000008400000084000000C6C6C60084000000C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
- 8400008484008484840084000000FFFFFF00840000008400000084000000FFFF
- FF0084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 840084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000C6C6C600840000008400000084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000000000000000
- 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
- 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600840000008400
- 0000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600840000000000000084000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
- 8400008484008484840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000FFFFFF008400
- 0000840000008400000084000000C6C6C6000000000000848400848484000084
- 8400848484000084840084000000840000008400000084000000840000008400
- 00008400000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600000000000000000000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
- 0000FFFFFF0084000000C6C6C600C6C6C6000000000084848400008484008484
- 8400008484008484840000848400848484000084840084848400008484008484
- 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 0000C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
- 000084000000C6C6C600C6C6C600C6C6C6000000000000848400848484000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000C6C6C6000000000000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000FFFFFF000000000084000000840000008400000084000000840000008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400848484000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008484
- 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000840000008400
- 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0000000000FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000848400848484000084
- 84000000000000FFFF00000000000000000000FFFF0000000000848484000084
- 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000000FFFF0000FFFF000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000000000000000000000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600}
- end
- object dlgFonts: TFontDialog
- Font.Charset = DEFAULT_CHARSET
- Font.Color = clWindowText
- Font.Height = -11
- Font.Name = 'MS Sans Serif'
- Font.Style = []
- Options = []
- Left = 450
- Top = 30
- end
- object dlgPrintSetup: TPrinterSetupDialog
- Left = 526
- Top = 30
- end
- object lstImagesDisabled: TImageList
- Left = 618
- Top = 26
- Bitmap = {
- 494C010106000900900010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000002000000001002000000000000020
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000FFFFFF000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000084848400000000000000
- 0000FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008484840000000000000000008484
- 8400000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000084848400FFFFFF00FFFFFF00848484000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400848484000000000000000000000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000848484008484840084848400000000000000
- 0000FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000848484008484
- 8400000000000000000000000000000000000000000084848400848484008484
- 84008484840084848400FFFFFF00000000000000000000000000000000000000
- 0000000000000000000084848400848484000000000000000000000000008484
- 840000000000FFFFFF0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000084848400FFFF
- FF00000000000000000000000000000000000000000000000000848484008484
- 84008484840084848400FFFFFF00000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF0084848400000000000000000000000000FFFFFF00848484000000
- 00008484840000000000FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000084848400FFFF
- FF00000000000000000000000000000000000000000000000000000000008484
- 84008484840084848400FFFFFF00000000000000000084848400848484008484
- 8400848484000000000000000000FFFFFF008484840084848400000000008484
- 8400000000008484840000000000848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000084848400FFFF
- FF00FFFFFF0000000000000000000000000000000000FFFFFF00848484000000
- 00008484840084848400FFFFFF00000000008484840084848400848484008484
- 8400FFFFFF00000000008484840084848400FFFFFF00FFFFFF00848484000000
- 0000848484000000000084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000848484008484
- 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF008484840084848400000000000000
- 00000000000084848400000000000000000084848400FFFFFF00000000008484
- 8400FFFFFF008484840084848400848484008484840084848400FFFFFF008484
- 8400FFFFFF008484840084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400848484008484840084848400848484000000000000000000000000000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000084848400FFFFFF00000000008484
- 8400FFFFFF0084848400FFFFFF0084848400FFFFFF0084848400FFFFFF008484
- 8400FFFFFF008484840084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840084848400FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000008484840000000000FFFFFF008484
- 8400FFFFFF0084848400FFFFFF0084848400FFFFFF0084848400FFFFFF008484
- 8400FFFFFF00FFFFFF0084848400000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 8400848484008484840000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000848484008484840000000000FFFFFF000000000000000000FFFFFF00FFFF
- FF00000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084848400848484008484840084848400848484008484
- 8400848484008484840084848400848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400FFFFFF000000000084848400FFFFFF000000000084848400848484000000
- 0000FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000084848400848484008484840084848400848484008484
- 8400848484008484840084848400FFFFFF000000000084848400848484008484
- 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 8400FFFFFF000000000084848400FFFFFF0084848400FFFFFF00000000008484
- 8400FFFFFF000000000000000000000000000000000000000000000000000000
- 0000000000000000000084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF008484840084848400848484008484
- 8400848484008484840000000000848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 840000000000FFFFFF0084848400FFFFFF0084848400FFFFFF00000000008484
- 8400FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484000000000084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF0000000000FFFFFF00FFFFFF00848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
- 0000848484008484840084848400FFFFFF0084848400FFFFFF00FFFFFF008484
- 8400000000000000000000000000000000008484840084848400848484008484
- 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF008484840084848400848484000000
- 000084848400848484008484840084848400000000000000000000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000008484
- 840084848400FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000000000000000000084848400FFFFFF008484840084848400848484000000
- 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484000000000084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF000000000000000000000000000000
- 000084848400FFFFFF0084848400000000000000000000000000848484008484
- 8400848484008484840084848400000000000000000000000000000000000000
- 00008484840084848400FFFFFF00000000000000000000000000000000000000
- 0000000000000000000084848400848484008484840000000000000000000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF000000
- 0000FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
- 8400848484008484840084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF008484840084848400FFFFFF00000000000000000000000000848484008484
- 8400848484008484840000000000000000000000000000000000000000000000
- 00000000000084848400FFFFFF00000000000000000000000000000000000000
- 000000000000000000000000000084848400FFFFFF00FFFFFF00000000000000
- 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
- FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400000000008484
- 8400848484008484840084848400000000008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 84008484840084848400FFFFFF00000000000000000000000000848484008484
- 84008484840000000000FFFFFF00000000000000000000000000000000000000
- 00000000000084848400FFFFFF00000000000000000000000000000000000000
- 00000000000000000000848484008484840084848400FFFFFF00000000000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400848484008484840084848400FFFFFF000000000000000000000000008484
- 8400FFFFFF008484840000000000000000008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 84008484840084848400FFFFFF00000000000000000000000000848484008484
- 8400000000008484840000000000FFFFFF00FFFFFF0000000000000000000000
- 00000000000084848400FFFFFF00000000000000000000000000000000000000
- 0000000000000000000084848400FFFFFF0084848400FFFFFF00FFFFFF000000
- 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
- FF00FFFFFF000000000084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF008484
- 8400848484000000000000000000000000008484840084848400848484008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 84008484840084848400FFFFFF00000000000000000000000000848484000000
- 00000000000000000000848484008484840000000000FFFFFF00FFFFFF00FFFF
- FF00848484008484840000000000000000000000000000000000000000000000
- 0000000000008484840084848400000000008484840084848400FFFFFF000000
- 00000000000000000000000000000000000084848400FFFFFF00848484008484
- 8400000000008484840084848400848484008484840084848400848484008484
- 8400000000000000000000000000000000008484840084848400848484008484
- 8400FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF0000000000848484008484
- 84008484840084848400FFFFFF00000000000000000000000000000000000000
- 0000000000000000000000000000000000008484840084848400848484008484
- 8400848484000000000000000000000000000000000000000000000000000000
- 00000000000084848400FFFFFF00000000000000000084848400FFFFFF000000
- 00000000000000000000000000000000000084848400FFFFFF00000000000000
- 00000000000084848400FFFFFF00848484000000000000000000000000000000
- 0000000000000000000000000000000000008484840084848400848484008484
- 840084848400FFFFFF0084848400848484000000000084848400848484008484
- 8400848484008484840000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000084848400FFFFFF00000000000000000084848400FFFFFF000000
- 00000000000000000000000000000000000084848400FFFFFF00FFFFFF00FFFF
- FF00FFFFFF008484840084848400000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000084848400848484008484
- 84008484840084848400FFFFFF00FFFFFF008484840084848400848484008484
- 8400848484000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000008484840000000000000000000000000084848400000000000000
- 0000000000000000000000000000000000008484840084848400848484008484
- 8400848484008484840000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000008484840084848400848484008484840000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000424D3E000000000000003E000000
- 2800000040000000200000000100010000000000000100000000000000000000
- 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFDF00000000
- FFFFFFB700000000FFFFFF6F00000000F3FFFE1F00000000E7C1FE3700000000
- CF81FCEB00000000CFC1C39500000000CFE1862A00000000C791041400000000
- C03B200000000000E0FF000000000000FFFF200000000000FFFF000000000000
- FFFF400100000000FFFF800300000000F9FFFFFFFE00FFFFF2CFFE00C000FFFF
- E497FC008080FFFFE427FC800002FFFFE82780040088FFF3F00F00800010E0E1
- FC1F200400F1C1F1FC7F00900001C3F9FE3F20210001C5F9FC3F00E30001CA79
- FC1F24070001DC83F91F080F0241FF07F99F38FF0083FFFFF99F01FF8007FFFF
- FBBF03FFF87FFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
- 000000000000}
- end
-end
+inherited frameTextEditor: TframeTextEditor
+ BorderIcons = []
+ BorderStyle = bsNone
+ ClientHeight = 610
+ ClientWidth = 751
+ KeyPreview = True
+ OnDestroy = TntFormDestroy
+ OnKeyDown = FormKeyDown
+ ExplicitWidth = 751
+ ExplicitHeight = 610
+ PixelsPerInch = 96
+ TextHeight = 13
+ object lstImages: TMenuImgList
+ BkColor = clSilver
+ DrawingStyle = dsTransparent
+ DisabledImages = lstImagesDisabled
+ Left = 394
+ Top = 58
+ Bitmap = {
+ 494C010106000900900010001000C0C0C000FE00FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000002000000001002000000000000020
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF0000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C6008400
+ 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600848484008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000840000008400
+ 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C6000000000000000000FFFFFF00FFFFFF00FFFFFF000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFF
+ FF0000000000FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 00008400000084000000C6C6C600C6C6C600C6C6C60000000000000000000000
+ 000000000000FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF000000
+ 0000FFFFFF0000000000FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
+ C6008400000084000000C6C6C600C6C6C6000000000000848400008484000000
+ 0000FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFF
+ FF0000000000FFFFFF0000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600848484008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
+ 0000FFFFFF000000000000848400008484000000000000000000FFFFFF000000
+ 0000FFFFFF000000000000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C6008484
+ 840084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000084840000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
+ 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
+ 8400FFFFFF000084840000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000084840000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
+ 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
+ 8400FFFFFF00FFFFFF0000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
+ 000084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C60084000000C6C6C600C6C6C6008400000084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
+ 0000840000008400000084000000C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
+ 8400008484008484840084000000FFFFFF008400000084000000840000008400
+ 00008400000084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000FFFFFF000000000000000000000000000000
+ 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
+ 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600840000008400000084000000C6C6C60084000000C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
+ 8400008484008484840084000000FFFFFF00840000008400000084000000FFFF
+ FF0084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 840084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000C6C6C600840000008400000084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000000000000000
+ 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
+ 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600840000008400
+ 0000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600840000000000000084000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
+ 8400008484008484840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000FFFFFF008400
+ 0000840000008400000084000000C6C6C6000000000000848400848484000084
+ 8400848484000084840084000000840000008400000084000000840000008400
+ 00008400000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600000000000000000000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
+ 0000FFFFFF0084000000C6C6C600C6C6C6000000000084848400008484008484
+ 8400008484008484840000848400848484000084840084848400008484008484
+ 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 0000C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
+ 000084000000C6C6C600C6C6C600C6C6C6000000000000848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000C6C6C6000000000000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000FFFFFF000000000084000000840000008400000084000000840000008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400848484000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008484
+ 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000840000008400
+ 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0000000000FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000848400848484000084
+ 84000000000000FFFF00000000000000000000FFFF0000000000848484000084
+ 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000000FFFF0000FFFF000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000000000000000000000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600}
+ end
+ object dlgFonts: TFontDialog
+ Font.Charset = DEFAULT_CHARSET
+ Font.Color = clWindowText
+ Font.Height = -11
+ Font.Name = 'MS Sans Serif'
+ Font.Style = []
+ Options = []
+ Left = 450
+ Top = 30
+ end
+ object lstImagesDisabled: TImageList
+ Left = 618
+ Top = 26
+ Bitmap = {
+ 494C010106000900900010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000002000000001002000000000000020
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000FFFFFF000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400000000000000
+ 0000FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000008484840000000000000000008484
+ 8400000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000084848400FFFFFF00FFFFFF00848484000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 8400848484000000000000000000000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000848484008484840084848400000000000000
+ 0000FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000848484008484
+ 8400000000000000000000000000000000000000000084848400848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000084848400848484000000000000000000000000008484
+ 840000000000FFFFFF0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000084848400FFFF
+ FF00000000000000000000000000000000000000000000000000848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF0084848400000000000000000000000000FFFFFF00848484000000
+ 00008484840000000000FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000084848400FFFF
+ FF00000000000000000000000000000000000000000000000000000000008484
+ 84008484840084848400FFFFFF00000000000000000084848400848484008484
+ 8400848484000000000000000000FFFFFF008484840084848400000000008484
+ 8400000000008484840000000000848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000084848400FFFF
+ FF00FFFFFF0000000000000000000000000000000000FFFFFF00848484000000
+ 00008484840084848400FFFFFF00000000008484840084848400848484008484
+ 8400FFFFFF00000000008484840084848400FFFFFF00FFFFFF00848484000000
+ 0000848484000000000084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000848484008484
+ 8400FFFFFF00FFFFFF00FFFFFF00FFFFFF008484840084848400000000000000
+ 00000000000084848400000000000000000084848400FFFFFF00000000008484
+ 8400FFFFFF008484840084848400848484008484840084848400FFFFFF008484
+ 8400FFFFFF008484840084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 8400848484008484840084848400848484000000000000000000000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00000000008484
+ 8400FFFFFF0084848400FFFFFF0084848400FFFFFF0084848400FFFFFF008484
+ 8400FFFFFF008484840084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000008484840000000000FFFFFF008484
+ 8400FFFFFF0084848400FFFFFF0084848400FFFFFF0084848400FFFFFF008484
+ 8400FFFFFF00FFFFFF0084848400000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 8400848484008484840000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000848484008484840000000000FFFFFF000000000000000000FFFFFF00FFFF
+ FF00000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084848400848484008484840084848400848484008484
+ 8400848484008484840084848400848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 8400FFFFFF000000000084848400FFFFFF000000000084848400848484000000
+ 0000FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000084848400848484008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF000000000084848400848484008484
+ 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 8400FFFFFF000000000084848400FFFFFF0084848400FFFFFF00000000008484
+ 8400FFFFFF000000000000000000000000000000000000000000000000000000
+ 0000000000000000000084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840000000000848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 840000000000FFFFFF0084848400FFFFFF0084848400FFFFFF00000000008484
+ 8400FFFFFF0000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484000000000084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF0000000000FFFFFF00FFFFFF00848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000FFFFFF00FFFFFF0000000000000000000000000000000000000000000000
+ 0000848484008484840084848400FFFFFF0084848400FFFFFF00FFFFFF008484
+ 8400000000000000000000000000000000008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF008484840084848400848484000000
+ 000084848400848484008484840084848400000000000000000000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000000000008484
+ 840084848400FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000084848400FFFFFF008484840084848400848484000000
+ 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484000000000084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF000000000000000000000000000000
+ 000084848400FFFFFF0084848400000000000000000000000000848484008484
+ 8400848484008484840084848400000000000000000000000000000000000000
+ 00008484840084848400FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000084848400848484008484840000000000000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400848484008484840084848400FFFFFF0000000000FFFFFF00FFFFFF000000
+ 0000FFFFFF00FFFFFF0084848400FFFFFF008484840084848400848484008484
+ 8400848484008484840084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF008484840084848400FFFFFF00000000000000000000000000848484008484
+ 8400848484008484840000000000000000000000000000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000000000000000000000000
+ 000000000000000000000000000084848400FFFFFF00FFFFFF00000000000000
+ 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
+ FF00FFFFFF00FFFFFF0084848400FFFFFF008484840084848400000000008484
+ 8400848484008484840084848400000000008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000848484008484
+ 84008484840000000000FFFFFF00000000000000000000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000000000000000000000000
+ 00000000000000000000848484008484840084848400FFFFFF00000000000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400848484008484840084848400FFFFFF000000000000000000000000008484
+ 8400FFFFFF008484840000000000000000008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000848484008484
+ 8400000000008484840000000000FFFFFF00FFFFFF0000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000084848400FFFFFF0084848400FFFFFF00FFFFFF000000
+ 00000000000000000000000000000000000084848400FFFFFF0000000000FFFF
+ FF00FFFFFF000000000084848400FFFFFF00FFFFFF00FFFFFF00FFFFFF008484
+ 8400848484000000000000000000000000008484840084848400848484008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000848484000000
+ 00000000000000000000848484008484840000000000FFFFFF00FFFFFF00FFFF
+ FF00848484008484840000000000000000000000000000000000000000000000
+ 0000000000008484840084848400000000008484840084848400FFFFFF000000
+ 00000000000000000000000000000000000084848400FFFFFF00848484008484
+ 8400000000008484840084848400848484008484840084848400848484008484
+ 8400000000000000000000000000000000008484840084848400848484008484
+ 8400FFFFFF00FFFFFF0000000000FFFFFF00FFFFFF0000000000848484008484
+ 84008484840084848400FFFFFF00000000000000000000000000000000000000
+ 0000000000000000000000000000000000008484840084848400848484008484
+ 8400848484000000000000000000000000000000000000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000084848400FFFFFF000000
+ 00000000000000000000000000000000000084848400FFFFFF00000000000000
+ 00000000000084848400FFFFFF00848484000000000000000000000000000000
+ 0000000000000000000000000000000000008484840084848400848484008484
+ 840084848400FFFFFF0084848400848484000000000084848400848484008484
+ 8400848484008484840000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000084848400FFFFFF00000000000000000084848400FFFFFF000000
+ 00000000000000000000000000000000000084848400FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF008484840084848400000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000084848400848484008484
+ 84008484840084848400FFFFFF00FFFFFF008484840084848400848484008484
+ 8400848484000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000008484840000000000000000000000000084848400000000000000
+ 0000000000000000000000000000000000008484840084848400848484008484
+ 8400848484008484840000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000008484840084848400848484008484840000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000424D3E000000000000003E000000
+ 2800000040000000200000000100010000000000000100000000000000000000
+ 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFDF00000000
+ FFFFFFB700000000FFFFFF6F00000000F3FFFE1F00000000E7C1FE3700000000
+ CF81FCEB00000000CFC1C39500000000CFE1862A00000000C791041400000000
+ C03B200000000000E0FF000000000000FFFF200000000000FFFF000000000000
+ FFFF400100000000FFFF800300000000F9FFFFFFFE00FFFFF2CFFE00C000FFFF
+ E497FC008080FFFFE427FC800002FFFFE82780040088FFF3F00F00800010E0E1
+ FC1F200400F1C1F1FC7F00900001C3F9FE3F20210001C5F9FC3F00E30001CA79
+ FC1F24070001DC83F91F080F0241FF07F99F38FF0083FFFFF99F01FF8007FFFF
+ FBBF03FFF87FFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000
+ 000000000000}
+ end
+end
diff --git a/developer/src/tike/main/UframeTextEditor.pas b/developer/src/tike/main/UframeTextEditor.pas
index b9f5f8ce22..50d0dbbedf 100644
--- a/developer/src/tike/main/UframeTextEditor.pas
+++ b/developer/src/tike/main/UframeTextEditor.pas
@@ -37,7 +37,6 @@ type
TframeTextEditor = class(TTIKEForm, IKMDEditActions, IKMDSearchActions, IKMDTextEditorActions)
lstImages: TMenuImgList;
dlgFonts: TFontDialog;
- dlgPrintSetup: TPrinterSetupDialog;
lstImagesDisabled: TImageList;
procedure FormCreate(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
@@ -162,9 +161,6 @@ type
procedure SyntaxColourChange;
- function PrintFile(Header: WideString = ''): Boolean;
- function PrintPreview(Header: WideString = ''): Boolean;
-
procedure LoadFromFile(AFileName: WideString); overload; // I4034
procedure LoadFromStream(AStream: TStream); overload; // I2964
procedure SaveToFile(AFileName: WideString);
@@ -658,18 +654,6 @@ begin
frmKeymanDeveloper.barStatus.Panels[1].Text := AMode;
end;
-function TframeTextEditor.PrintFile(Header: WideString): Boolean;
-begin
- ExecuteCommand('print');
- Result := True;
-end;
-
-function TframeTextEditor.PrintPreview(Header: WideString): Boolean;
-begin
- // TODO: print preview
- Result := True;
-end;
-
procedure TframeTextEditor.SetCharFont(const Value: TFont);
begin
FCharFont.Assign(Value);
diff --git a/developer/src/tike/main/UfrmMain.dfm b/developer/src/tike/main/UfrmMain.dfm
index 5f3c017127..862c455d02 100644
--- a/developer/src/tike/main/UfrmMain.dfm
+++ b/developer/src/tike/main/UfrmMain.dfm
@@ -1,3169 +1,3144 @@
-inherited frmKeymanDeveloper: TfrmKeymanDeveloper
- Left = 484
- Top = 327
- Caption = 'Keyman Developer'
- ClientHeight = 760
- ClientWidth = 1087
- DoubleBuffered = True
- Font.Name = 'MS Sans Serif'
- KeyPreview = True
- Menu = MainMenu1
- Position = poDefault
- WindowState = wsMaximized
- OnClose = FormClose
- OnCloseQuery = FormCloseQuery
- OnDestroy = FormDestroy
- ExplicitWidth = 1103
- ExplicitHeight = 819
- PixelsPerInch = 96
- TextHeight = 13
- object barStatus: TStatusBar
- Left = 0
- Top = 741
- Width = 1087
- Height = 19
- Constraints.MaxHeight = 19
- Constraints.MinHeight = 19
- Panels = <
- item
- Alignment = taCenter
- Text = 'Line 1, Col 1'
- Width = 100
- end
- item
- Alignment = taCenter
- Text = 'Insert'
- Width = 120
- end
- item
- Width = 50
- end>
- end
- object pages: TCloseButtonPageControl
- Left = 0
- Top = 24
- Width = 1087
- Height = 717
- Align = alClient
- OwnerDraw = True
- TabOrder = 1
- OnChange = pagesChange
- OnCloseTab = pagesCloseTab
- end
- object barTools: TControlBar
- Left = 0
- Top = 0
- Width = 1087
- Height = 24
- Align = alTop
- AutoDock = False
- AutoDrag = False
- BevelInner = bvNone
- BevelOuter = bvNone
- DockSite = False
- TabOrder = 2
- object panDebugToolbar: TPanel
- Left = 481
- Top = 2
- Width = 512
- Height = 23
- AutoSize = True
- BevelOuter = bvNone
- TabOrder = 0
- object SpeedButton1: TSpeedButton
- Left = 0
- Top = 0
- Width = 82
- Height = 22
- Action = modActionsDebugger.actDebugTestMode
- AllowAllUp = True
- GroupIndex = 1
- end
- object SpeedButton2: TSpeedButton
- Left = 83
- Top = 0
- Width = 98
- Height = 22
- Action = modActionsDebugger.actDebugDebuggerMode
- AllowAllUp = True
- GroupIndex = 2
- end
- object cbDebugSystemKeyboard: TComboBox
- Left = 367
- Top = 1
- Width = 145
- Height = 21
- Style = csDropDownList
- TabOrder = 0
- Visible = False
- OnClick = cbDebugSystemKeyboardItemClick
- OnDropDown = cbDebugSystemKeyboard_DropDown
- end
- object ToolBar2: TToolBar
- Left = 187
- Top = 1
- Width = 174
- Height = 22
- Align = alNone
- ButtonHeight = 23
- Caption = 'ToolBar2'
- Images = lstImages
- TabOrder = 1
- object ToolButton20: TToolButton
- Left = 0
- Top = 0
- Width = 8
- Caption = 'ToolButton20'
- ImageIndex = 0
- Style = tbsSeparator
- end
- object ToolButton21: TToolButton
- Left = 8
- Top = 0
- Action = modActionsDebugger.actDebugStopDebugger
- end
- object ToolButton23: TToolButton
- Left = 31
- Top = 0
- Width = 8
- Caption = 'ToolButton23'
- ImageIndex = 47
- Style = tbsSeparator
- end
- object ToolButton22: TToolButton
- Left = 39
- Top = 0
- Action = modActionsDebugger.actDebugSingleStepMode
- end
- object ToolButton24: TToolButton
- Left = 62
- Top = 0
- Width = 8
- Caption = 'ToolButton24'
- ImageIndex = 47
- Style = tbsSeparator
- end
- object ToolButton25: TToolButton
- Left = 70
- Top = 0
- Action = modActionsDebugger.actDebugStepForward
- end
- object ToolButton26: TToolButton
- Left = 93
- Top = 0
- Action = modActionsDebugger.actDebugRun
- end
- object ToolButton27: TToolButton
- Left = 116
- Top = 0
- Action = modActionsDebugger.actDebugPause
- end
- object ToolButton28: TToolButton
- Left = 139
- Top = 0
- Width = 8
- Caption = 'ToolButton28'
- ImageIndex = 58
- Style = tbsSeparator
- end
- object ToolButton29: TToolButton
- Left = 147
- Top = 0
- Action = modActionsDebugger.actDebugSetClearBreakpoint
- end
- end
- end
- object panToolbar: TPanel
- Left = 11
- Top = 2
- Width = 448
- Height = 23
- AutoSize = True
- BevelOuter = bvNone
- TabOrder = 1
- object ToolBar1: TToolBar
- Left = 0
- Top = 0
- Width = 301
- Height = 23
- Align = alNone
- AutoSize = True
- ButtonHeight = 23
- Caption = 'ToolBar1'
- Images = lstImages
- TabOrder = 0
- Wrapable = False
- object ToolButton1: TToolButton
- Left = 0
- Top = 0
- Action = modActionsMain.actFileNew
- end
- object ToolButton2: TToolButton
- Left = 23
- Top = 0
- Action = modActionsMain.actFileOpen
- end
- object ToolButton3: TToolButton
- Left = 46
- Top = 0
- Action = modActionsMain.actFileSave
- end
- object ToolButton4: TToolButton
- Left = 69
- Top = 0
- Width = 8
- Caption = 'ToolButton4'
- ImageIndex = 3
- Style = tbsSeparator
- end
- object ToolButton5: TToolButton
- Left = 77
- Top = 0
- Action = modActionsMain.actFilePrint
- end
- object ToolButton6: TToolButton
- Left = 100
- Top = 0
- Width = 8
- Caption = 'ToolButton6'
- ImageIndex = 4
- Style = tbsSeparator
- end
- object ToolButton7: TToolButton
- Left = 108
- Top = 0
- Action = modActionsMain.actEditCut
- end
- object ToolButton8: TToolButton
- Left = 131
- Top = 0
- Action = modActionsMain.actEditCopy
- end
- object ToolButton9: TToolButton
- Left = 154
- Top = 0
- Action = modActionsMain.actEditPaste
- end
- object ToolButton10: TToolButton
- Left = 177
- Top = 0
- Width = 8
- Caption = 'ToolButton10'
- ImageIndex = 7
- Style = tbsSeparator
- end
- object ToolButton11: TToolButton
- Left = 185
- Top = 0
- Action = modActionsMain.actEditUndo
- end
- object ToolButton12: TToolButton
- Left = 208
- Top = 0
- Action = modActionsMain.actEditRedo
- end
- object ToolButton19: TToolButton
- Left = 231
- Top = 0
- Width = 8
- Caption = 'ToolButton19'
- ImageIndex = 57
- Style = tbsSeparator
- end
- object ToolButton14: TToolButton
- Left = 239
- Top = 0
- Action = modActionsMain.actViewExpandEditor
- end
- object ToolButton15: TToolButton
- Left = 262
- Top = 0
- Width = 8
- Caption = 'ToolButton15'
- ImageIndex = 56
- Style = tbsSeparator
- end
- object ToolButton16: TToolButton
- Left = 270
- Top = 0
- Action = modActionsKeyboardEditor.actKeyboardCompile
- end
- object ToolButton13: TToolButton
- Left = 293
- Top = 0
- Width = 8
- Caption = 'ToolButton13'
- ImageIndex = 57
- Style = tbsSeparator
- end
- end
- object cbTextFileFormat: TComboBox
- Left = 303
- Top = 1
- Width = 145
- Height = 21
- Style = csDropDownList
- TabOrder = 1
- OnClick = cbTextFileFormatItemClick
- Items.Strings = (
- 'ANSI'
- 'UTF-8'
- 'UTF-16')
- end
- end
- end
- object ilPages: TImageList
- Left = 304
- Top = 236
- Bitmap = {
- 494C01010A000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
- 0000000000003600000028000000400000003000000001002000000000000030
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000B5CEC600C6DED600C6DED600C6DED600C6DED600C6DED600C6E7DE000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000B5CEC600BDD6C600C6DECE00CEDED600CEDED600C6DECE00BDD6C600BDD6
- C600000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0084B58400107310001873
- 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
- 0800007B0000007300007BB57B00FFFFFF00000000000000000000000000BDD6
- CE00CEDECE00DEE7E700E7EFEF00EFF7F700EFF7EF00E7EFE700CEDED600B5CE
- C60000000000000000000000000000000000000000000000000000000000BDCE
- C600D6E7DE00EFF7EF00F7F7F700F7F7F700EFF7F700EFF7F700E7EFEF00D6DE
- D600BDCEC6000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0010841000218C21002994
- 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
- 100008A5080000940000006B0000FFFFFF000000000000000000BDD6C600DEE7
- E700F7FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF
- EF00C6D6CE000000000000000000000000000000000000000000BDCEC600E7EF
- E700F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFF700F7F7F700EFF7
- F700DEE7DE00BDD6C60000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00188C180029942900399C
- 3900399C3900399C3900FFFFFF00A5D6A5004AA54A004AA54A004AA54A0029A5
- 290018A51800009C0000007B0000FFFFFF0000000000BDD6C600DEE7E700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7F7F700C6D6CE00000000000000000000000000BDCEC600E7EFE700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00F7FF
- F700EFF7F700DEE7DE00BDCEC600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0021942100399C390042A5
- 420042A5420042A54200FFFFFF00FFFFFF00A5D6A5004AA54A004AA54A0039A5
- 390021A5210008A50800087B0800FFFFFF00C6DED600D6DEDE00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00EFF7EF00BDCEC60000000000BDD6CE00D6E7DE00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
- FF00F7FFF700EFF7F700CEDED600BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0029942900429C42004AA5
- 4A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00A5D6A5004AA54A0039A5
- 390021A5210010A5100008840800FFFFFF00BDD6CE00EFF7EF00FFFFFF00FFFF
- FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
- FF00FFFFFF00FFFFFF00D6DED600BDDECE00BDD6C600EFF7F700FFFFFF00FFFF
- FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
- FF00FFFFFF00F7FFF700DEEFE700BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00319C31004AA54A0052A5
- 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A50039A5
- 390021A5210018A5180010841000FFFFFF00C6DECE00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00E7EFEF00BDD6CE00C6D6CE00FFFFFF00FFFFFF00FFFF
- FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
- FF00FFFFFF00F7FFFF00E7EFEF00BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00429C420052A552004AA5
- 4A004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
- A500219C2100219C210018841800FFFFFF00CEDED600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE00CEDED600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0042A5420052A5520052A5
- 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
- A500219C2100219C2100217B2100FFFFFF00CEDED600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE00CEDED600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0052A552005AAD5A005AAD
- 5A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A5003194
- 31002994290029942900217B2100FFFFFF00C6D6CE00FFFFFF00FFFFFF00FFFF
- FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
- FF00FFFFFF00F7FFFF00E7EFEF00BDD6CE00C6DECE00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00E7EFEF00BDD6CE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0052A552006BB56B006BB5
- 6B005AAD5A0052AD5200FFFFFF00FFFFFF00FFFFFF00A5D6A500399C39003194
- 31002994290029942900217B2100FFFFFF00BDD6C600EFF7F700FFFFFF00FFFF
- FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
- FF00FFFFFF00F7FFF700DEEFE700BDD6CE00BDD6CE00EFF7EF00FFFFFF00FFFF
- FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
- FF00FFFFFF00FFFFFF00D6DED600BDDECE000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF005AAD5A007BBD7B0073BD
- 730063AD63005AAD5A00FFFFFF00FFFFFF00A5D6A500429C4200429C4200399C
- 39003194310031943100217B2100FFFFFF00BDD6CE00D6E7DE00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
- FF00F7FFF700EFF7F700CEDED600BDD6CE00C6DED600D6DEDE00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00EFF7EF00BDCEC600000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF006BB56B008CC68C007BBD
- 7B006BB56B0063B56300FFFFFF00A5D6A5005AAD5A0052A552004AA54A0042A5
- 4200399C390031943100217B2100FFFFFF0000000000BDCEC600E7EFE700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00F7FF
- F700EFF7F700DEE7DE00BDCEC6000000000000000000BDD6C600DEE7E700FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7F7F700C6D6CE0000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF0073BD73009CCE9C008CC6
- 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
- 4A0042A542003194310018731800FFFFFF000000000000000000BDCEC600E7EF
- E700F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFF700F7F7F700EFF7
- F700DEE7DE00BDD6C60000000000000000000000000000000000BDD6C600DEE7
- E700F7FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF
- EF00C6D6CE000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000FFFFFF00B5DEB50073BD730063B5
- 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
- 390031943100218C21008CBD8C00FFFFFF00000000000000000000000000BDCE
- C600D6E7DE00EFF7EF00F7F7F700F7F7F700EFF7F700EFF7F700E7EFEF00D6DE
- D600BDCEC600000000000000000000000000000000000000000000000000BDD6
- CE00CEDECE00DEE7E700E7EFEF00EFF7F700EFF7EF00E7EFE700CEDED600B5CE
- C600000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000B5CEC600BDD6C600C6DECE00CEDED600CEDED600C6DECE00BDD6C600BDD6
- C600000000000000000000000000000000000000000000000000000000000000
- 0000B5CEC600C6DED600C6DED600C6DED600C6DED600C6DED600C6E7DE000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
- 0000BDBDBD000000840000007300100000006363630000000000000000000000
- 000000000000000000000000000000000000FFFFFF0084B58400107310001873
- 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
- 0800007B0000007300007BB57B00FFFFFF00FFFFFF0052ADFF0018529400185A
- 9C00185A9C00185A9C00185AA500185AA500185A9C00185A9C00185294001852
- 940018528C00184A84004AADFF00FFFFFF00FFFFFF0084B58400107310001873
- 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
- 0800007B0000007300007BB57B00FFFFFF000000000000000000BDBDBD003131
- 31000000AD000000FF000000DE00000042005252520000000000000000000000
- 000000000000000000000000000000000000FFFFFF0010841000218C21002994
- 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
- 100008A5080000940000006B0000FFFFFF00FFFFFF00185AA500186BBD001873
- CE001873CE001873CE001873CE001873CE001873CE001873CE001873CE00186B
- C600186BBD00185AA500104A7B00FFFFFF00FFFFFF0010841000218C21002994
- 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
- 100008A5080000940000006B0000FFFFFF000000000000000000737373000000
- 42000000FF000000FF000000840000319C002121210000000000000000000000
- 000000000000000000000000000000000000FFFFFF00188C180029942900399C
- 3900399C3900399C390039A53900A5D6A500FFFFFF0021AD210018AD180010B5
- 100008AD0800009C0000007B0000FFFFFF00FFFFFF001863AD001873CE00187B
- DE00187BDE00187BE7001884E700188CF700188CF700188CF700188CF700187B
- DE00186BC6001863AD0018528C00FFFFFF00FFFFFF00188C180029942900399C
- 3900399C3900399C390039A539004AA54A00A5D6A500FFFFFF004AA54A0031A5
- 310018A51800009C0000007B0000FFFFFF00000000008C8C8C00BDBDBD000000
- 4200000084000000EF000000FF000000CE000000310073737300000000000000
- 000000000000000000000000000000000000FFFFFF0021942100399C390042A5
- 42004AA54A0042A5420042A54200FFFFFF00FFFFFF00FFFFFF0021B5210018B5
- 180010AD100008A50800087B0800FFFFFF00FFFFFF00186BC600187BDE001884
- EF00FFFFFF0084C6FF00188CF700188CF700188CF700188CF70084C6FF00FFFF
- FF001873CE00186BBD0018529400FFFFFF00FFFFFF0021942100399C390042A5
- 420042A5420042A542004AA54A00A5D6A500FFFFFF00FFFFFF004AA54A0039A5
- 390021A5210008A50800087B0800FFFFFF000000000000000000001000000000
- AD000000FF000000FF000000FF000000DE001010100000002100525252007373
- 730031009C0000313100A5A5A50000000000FFFFFF0029942900429C42004AA5
- 4A0052A552004AA54A0042A5420042AD4200FFFFFF00FFFFFF00FFFFFF0018B5
- 180010AD100010A5100008840800FFFFFF00FFFFFF001873CE001884E700188C
- F700188CFF00FFFFFF0084C6FF00188CF700188CF70084C6FF00FFFFFF001884
- E7001873D600186BC600185A9C00FFFFFF00FFFFFF0029942900429C42004AA5
- 4A0052A552004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
- 390021A5210010A5100008840800FFFFFF0000000000BDBDBD00100000000000
- 84000000FF000000CE000000EF0000008400000084000000FF000000BD000000
- 840000006300737373000021000063636300FFFFFF00319C31004AA54A0052A5
- 520052A552004AA54A004AA54A0042A5420039AD3900FFFFFF00FFFFFF00FFFF
- FF0018AD180018A5180010841000FFFFFF00FFFFFF00187BDE00188CF700188C
- FF00188CF700188CF700FFFFFF0084C6FF0084C6FF00FFFFFF00188CF7001884
- E7001873D6001873CE00185AA500FFFFFF00FFFFFF00319C31004AA54A0052A5
- 52004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
- 390021A5210018A5180010841000FFFFFF000000000021212100000021000000
- AD000000FF0000004200000084000000FF000000FF0000007300000042000000
- 420073737300313163000000AD0000006300FFFFFF00429C420052A55200FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00219C210018841800FFFFFF00FFFFFF001884E700188CFF00188C
- F700188CF700188CF700188CF700FFFFFF0084C6FF00188CF7001884EF00187B
- DE001873CE001873CE001863AD00FFFFFF00FFFFFF00429C420052A552004AA5
- 4A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042A5420031A5
- 3100219C2100219C210018841800FFFFFF00000000008C8C8C0000009C000000
- FF000000EF00000073000000EF000000FF000000EF0000003100100000005252
- 52000000EF000000FF000000DE0031316300FFFFFF0042A542005AAD5A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00219C2100217B2100FFFFFF00FFFFFF001884EF00188CFF00188C
- FF00188CF700188CF70084C6FF00FFFFFF00FFFFFF0084C6FF001884E7001873
- D6001873CE001873CE001863AD00FFFFFF00FFFFFF0042A5420052A5520052A5
- 5200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C3900299C
- 2900219C2100219C2100217B2100FFFFFF000000000010000000000042000031
- CE000000FF0000009C000000FF000000FF000000EF00000073000000AD000000
- CE000000FF000000FF000000AD0021212100FFFFFF0052A5520063AD630063AD
- 63005AAD5A0052A552004AA54A00429C4200399C3900FFFFFF00FFFFFF00FFFF
- FF00299C290029942900217B2100FFFFFF00FFFFFF00188CFF002194FF002194
- FF00188CFF0084C6FF00FFFFFF001884F7001884EF00FFFFFF0084C6FF001873
- CE001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552005AAD5A005AAD
- 5A0052A55200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C39003194
- 31002994290029942900217B2100FFFFFF00000000008C8C8C00000000000000
- AD000000FF000000EF0000007300000052000031CE000000AD000000EF000000
- EF000000BD0000006300BDBDBD0000000000FFFFFF0052A552006BB56B006BB5
- 6B005AAD5A0052A552004AA54A00429C4200FFFFFF00FFFFFF00FFFFFF002994
- 29002994290029942900217B2100FFFFFF00FFFFFF00188CFF0039A5FF0039A5
- FF0084C6FF00FFFFFF00188CFF00188CFF001884EF001884E700FFFFFF0084C6
- FF001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552006BB56B006BB5
- 6B005AAD5A0052AD5200A5D6A500FFFFFF00FFFFFF00FFFFFF00399C39003194
- 31002994290029942900217B2100FFFFFF000000000000000000000000000000
- 52000000FF000000BD000031CE000000AD00000073003100CE00525252002121
- 21000000AD00000000000000000000000000FFFFFF005AAD5A007BBD7B0073BD
- 730063AD63005AAD5A0052A55200FFFFFF00FFFFFF00FFFFFF00319C3100319C
- 31003194310031943100217B2100FFFFFF00FFFFFF002194FF0052ADFF004AAD
- FF00FFFFFF002194FF002194FF001894FF00188CF7001884EF001884E700FFFF
- FF001873CE001873CE001863AD00FFFFFF00FFFFFF005AAD5A007BBD7B0073BD
- 730063AD63005AAD5A005AAD5A00A5D6A500FFFFFF00FFFFFF00429C4200399C
- 39003194310031943100217B2100FFFFFF0000000000A5A5A500000000000000
- 52000000AD0000005200000073000031FF000000730000005200212121000000
- 100000000000000000000000000000000000FFFFFF006BB56B008CC68C007BBD
- 7B006BB56B0063B5630063AD6300B5DEB500FFFFFF004AA54A004AA54A0042A5
- 4200399C390031943100217B2100FFFFFF00FFFFFF0039A5FF006BBDFF0052AD
- FF0039A5FF00319CFF00299CFF00299CFF002194FF00188CFF001884F7001884
- EF00187BDE001873CE001863AD00FFFFFF00FFFFFF006BB56B008CC68C007BBD
- 7B006BB56B0063B5630063AD630063AD6300A5D6A500FFFFFF004AA54A0042A5
- 4200399C390031943100217B2100FFFFFF000000000000000000000000003131
- 3100000042000000CE000000AD000000DE00000063000000420000004200BDBD
- BD0000000000000000000000000000000000FFFFFF0073BD73009CCE9C008CC6
- 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
- 4A0042A542003194310018731800FFFFFF00FFFFFF004AADFF0084C6FF006BBD
- FF0052ADFF004AADFF0039A5FF00319CFF00299CFF002194FF001894FF00188C
- F7001884EF001873CE00185A9C00FFFFFF00FFFFFF0073BD73009CCE9C008CC6
- 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
- 4A0042A542003194310018731800FFFFFF000000000000000000000000000000
- 00008C8C8C002121210000004200313131008C8C8C00BDC6C600000000000000
- 000000000000000000000000000000000000FFFFFF00B5DEB50073BD730063B5
- 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
- 390031943100218C21008CBD8C00FFFFFF00FFFFFF00ADDEFF004AADFF00319C
- FF002194FF00188CFF00188CFF00188CF700188CF7001884EF001884E700187B
- DE001873CE00186BBD0063B5FF00FFFFFF00FFFFFF00B5DEB50073BD730063B5
- 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
- 390031943100218C21008CBD8C00FFFFFF000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0000000000424D3E000000000000003E000000
- 2800000040000000300000000100010000000000800100000000000000000000
- 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFFF00000000
- FFFFFFFF00000000F00FF03F00000000F7EFF7BF00000000F7EFF7BF00000000
- F7EFF78F00000000F7EFF02F00000000F7EFF02F00000000F00FFDEF00000000
- F00FFC0F00000000FFFFFC0F00000000FFFFFFFF00000000FFFFFFFF00000000
- FFFFFFFF00000000FFFFFFFF000000008001F01FF00FFFFF0000E00FE007FFFF
- 0000C007C003FFFF000080038001FFFF000000010000F81F000000000000F81F
- 000000000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF
- 000000000000FFFF000000000001FFFF000080018003FFFF0000C003C007FFFF
- 0000E007E00FFFFF8001F00FF01FFFFFFFFF800180018001F07F000000000000
- C07F000000000000C07F000000000000003F0000000000008001000000000000
- 0000000000000000800000000000000000000000000000008000000000000000
- 00010000000000008007000000000000800F000000000000E00F000000000000
- F03F000000000000FFFF80018001800100000000000000000000000000000000
- 000000000000}
- end
- object lstImages: TMenuImgList
- BkColor = clSilver
- DrawingStyle = dsTransparent
- Left = 236
- Top = 236
- Bitmap = {
- 494C01013B004000040010001000C0C0C000FF10FFFFFFFFFFFFFFFF424D3600
- 000000000000360000002800000040000000F0000000010020000000000000F0
- 000000000000000000000000000000000000C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C6C6C600F7730000CE5A0000CE5A0000F7730000C6C6C600C0C0
- C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C0C0C000C0C0C000C0C0C000C6C6
- C600CE5A0000F7730000F7C69400F7C69400F7C69400F7A55A00F7730000CE5A
- 0000C6C6C600C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600BDC6F700637B
- D6000042C6000042C6000042C600637BD600BDC6F700C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C0C0C000C0C0C000C6C6C600CE5A
- 0000F7A55A00FFE7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFE7CE00F7A5
- 5A00CE5A0000C6C6C600C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600BDC6F700637BD6000042C600ADBD
- E700A5B5DE009CADD6009CA5CE00949CC6000042C600637BD600BDC6F700C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C0C0C000C6C6C600CE5A0000F7A5
- 5A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7A55A00CE5A0000C6C6C600C0C0C000C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600637BD600BDCEFF00B5C6F700B5BD
- EF00A5B5DE00A5ADD6009CA5CE00949CC600949CC600949CC600637BD600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C0C0C000CE5A0000F7A55A00FFFF
- FF00FFFFFF00F7A55A00F7A55A00F7730000F7730000F7A55A00F7A55A00FFFF
- FF00FFFFFF00F7A55A00CE5A0000C0C0C000C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000042C600C6D6FF00BDCEFF00B5C6
- F700ADBDEF00A5B5DE009CADD6009CA5CE00949CC600949CC6000042C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600F7730000FFE7CE00FFFF
- FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
- FF00FFFFFF00FFE7CE00F7730000C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000042C600CEDEFF00C6D6FF00BDCE
- FF00B5C6F700ADBDE700A5B5DE009CADD60094A5CE0094A5CE000042C6004242
- 42004242420084848400C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000F7730000F7A55A00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00F7A55A00F7730000C6C6C600C6C6C600C6C6C6006363
- 6300FFBD730000630000006300000063000000630000E7A56B00006300000063
- 00000063000000630000C6C6C600C6C6C600BDC6F7000042C600CEDEFF00C6D6
- FF00BDCEFF00B5C6F700ADBDE700A5ADDE009CADD6000042C60084848400B5B5
- B500B5B5B500ADADAD0084848400848484000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000CE5A0000F7C69400FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00F7C69400CE5A0000C6C6C60063636300424242006363
- 6300FFC67B0000630000008400000084000000630000EFAD6B00006300000084
- 00000084000000630000C6C6C600C6C6C600C6C6C600BDC6F7000042C600CEDE
- FF00637BD6000042C600637BD600ADB5E7000042C60042424200BDBDBD00BDBD
- BD00B5B5B500ADADAD00ADADAD00424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000CE5A0000F7C69400FFFFFF00FFFF
- FF00FFFFFF00F7A55A00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00F7C69400CE5A000084848400C6C6C600C6C6C6006363
- 6300FFC67B000063000000840000008400000063000042424200006300000084
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600BDC6F700315A
- C600CEDEFF00C6D6FF00BDC6F700315AC600BDC6F70042424200C6C6C600BDBD
- BD00BDBDBD00B5B5B500ADADAD00424242000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000F7730000F7A55A00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00F7A55A00F7730000C6C6C600C6C6C60042424200D694
- 4A008484840000630000008400000084000000630000C6C6C600006300000084
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600637BD600D6E7
- FF00D6DEFF00CED6FF00BDCEFF00B5C6F700637BD600C6C6C60084848400C6C6
- C600BDBDBD00BDBDBD0084848400C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600F7730000FFE7CE00FFFF
- FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
- FF00FFFFFF00FFE7CE00F7730000C6C6C600848484006363630063636300D6AD
- 6B00D6944A000063000000840000008400000063000063636300006300000084
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C6000042C600DEEF
- FF00D6E7FF00CEDEFF00C6D6FF00BDCEFF000042C600C6C6C600C6C6C6006363
- 63004242420063636300C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C0C0C000CE5A0000F7A55A00FFFF
- FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
- FF00FFFFFF00F7A55A00CE5A0000C0C0C000C6C6C600C6C6C600C6C6C6006363
- 63004242420000630000008400000084000000630000C6C6C600006300000084
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600637BD600DEEF
- FF00D6E7FF00CEDEFF00CED6FF00C6CEFF00637BD600C6C6C60063636300CECE
- CE00CECECE00C6C6C60063636300C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C0C0C000C6C6C600CE5A0000F7A5
- 5A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7A55A00CE5A0000C6C6C600C0C0C000C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60000630000008400000084000000630000C6C6C600006300000084
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600BDC6F700315A
- C600D6E7FF00D6DEFF00CEDEFF00315AC600BDC6F700C6C6C60042424200D6D6
- D600CECECE00C6C6C60042424200C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C0C0C000C0C0C000C6C6C600CE5A
- 0000F7A55A00FFE7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFE7CE00F7A5
- 5A00CE5A0000C6C6C600C0C0C000C0C0C000C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60000630000008400000084000000630000C6C6C600006300000084
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600BDC6
- F700637BD6000042C600637BD600BDC6F700C6C6C600C6C6C60084848400D6D6
- D600CECECE00CECECE0084848400C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C0C0C000C0C0C000C0C0C000C6C6
- C600CE5A0000F7730000F7A55A00F7C69400F7C69400F7A55A00F7730000CE5A
- 0000C6C6C600C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000630000008400000084000000630000C6C6C600006300000084
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 84004242420084848400C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C6C6C600F7730000CE5A0000CE5A0000F7730000C6C6C600C0C0
- C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000630000006300000063000000630000C6C6C600006300000063
- 00000063000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEEFEF0000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFEF0000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFEF00000000009CA59C009CA5
- 9C009CA59C009CA59C009CA59C009CA59C00C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFEF0000000000E7EFEF00FFFF
- FF00FFFFFF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B000000FF0063636300C6C6
- C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
- C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
- C600C6C6C60084848400C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFEF0000000000E7EFEF00FFFF
- FF00FFFFFF00E7EFEF00FFFFFF009CA59C00C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B008484FF008484FF000000
- FF0063636300C6C6C600C6C6C600C6C6C600C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B00EFAD6B00636363004242
- 420063636300C6C6C600C6C6C600C6C6C600C6C6C60063636300424242006363
- 6300FFC67B00BD8C94000000FF00CE948C00EFAD6B00EFAD6B0052527B000000
- FF004A4A8400C6C6C600C6C6C600C6C6C6000000000084848400848484008484
- 8400848484008484840084848400848484008484840000000000E7EFEF00FFFF
- FF00FFFFFF00E7EFEF00FFFFFF009CA59C0084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD7300F7B573000000FF0042424200C6C6C600C6C6
- C600C6C6FF000000FF00C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD73005A42CE00F7B57300424242000000FF00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B001810EF00946BAD00F7B57300424242007373DE001818
- FF00C6C6C600C6C6C600C6C6C600C6C6C6008484840000000000000000000000
- 0000000000000000000000000000000000000000000084848400E7EFEF00FFFF
- FF00FFFFFF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B00FFBD73008484FF00C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6FF000000FF00C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B00FFBD730042424200C6C6C6000000FF00C6C6
- C600C6C6C600525AFF00B5BDF700C6C6C600C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00634AC6000000FF000000FF000000FF000000FF005A63
- FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6009CA59C00E7EF
- EF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EF
- EF00E7EFEF00E7EFEF00FFFFFF009CA59C00848484006363630063636300D6AD
- 6B00D6944A0063636300636363000000FF004242420063636300C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6FF00C6C6C600848484006363630063636300D6AD
- 6B00D6944A006363630039399C000000F7000000FF002121C6000000FF00C6C6
- C600C6C6C600737BF7003131FF00C6C6C600848484006363630063636300D6AD
- 6B00D6944A006363630042428C000000F70042424200636363000808FF00A5AD
- F700C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6009CA59C00E7EF
- EF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EF
- EF00E7EFEF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C60042424200C6C6FF00C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C6000000FF00C6C6C600C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C6000000F7009C9CCE00D6E7EF00737BF7000000FF00C6C6
- C600C6C6C600DEEFEF000000FF00C6C6C600C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C600393942000808FF00B5C6F700B5BDF7000808F700DEEF
- EF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6009CA59C00E7EF
- EF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EF
- EF00E7EFEF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C6000000FF00C6C6FF00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C6000000F700B5BDF700D6E7EF00C6C6C6000000FF00ADBD
- F700C6C6C6008494F7002121FF00C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300DEEFEF00DEEFEF00636363005252FF007B84F700737BF7005252FF00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6009CA59C00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400C6C6C600C6C6C6000000FF00C6C6FF00C6C6C600C6C6
- C600C6C6C6000000FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C600848484009CA5F7001818FF000000FF00C6C6C6000000FF002121
- FF000000FF002129FF00ADB5F700C6C6C600C6C6C600C6C6C600424AFF008484
- 8400424AFF0084848400C6C6C6009CA5F7003942FF003942FF009CA5F700C6C6
- C600C6C6C600424AFF00C6C6C600424AFF00C6C6C600C6C6C6009CA59C008484
- 8400848484008484840084848400848484008484840084848400848484008484
- 84008484840084848400848484009CA59C00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000FF00C6C6
- FF00C6C6FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000FF00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6003139FF00C6C6
- C6003139FF00C6C6C600C6C6C600D6E7EF001010FF001010FF00D6E7EF00C6C6
- C600C6C6C6003139FF00C6C6C6003139FF00C6C6C600C6C6C600C6C6C6009CA5
- 9C009CA59C009CA59C009CA59C009CA59C009CA59C009CA59C009CA59C009CA5
- 9C009CA59C009CA59C009CA59C00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6000000FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C6000000FF000000FF000000FF000000FF000000FF000000
- FF000000FF000000FF000000FF000000FF00C6C6C600C6C6C6000000FF00C6C6
- C6000000FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000FF00C6C6C6000000FF00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60063636300636363005A5A5A005A5A
- 5A005A5A5A0052525200525252004A4A4A004A4A4A004A4A4A00424242004242
- 420039393900393939003939390031313100C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6006B6B6B00FFFFFF00FFFFFF005A5A
- 5A00FFFFFF0052525200FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF0042424200FFFFFF00FFFFFF0039393900C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C6000000
- FF000000FF000000FF000000FF000000FF00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6006B6B6B0063636300636363005A5A
- 5A005A5A5A005A5A5A005252520052525200525252004A4A4A004A4A4A004A4A
- 4A0042424200424242004242420039393900C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C6000000
- FF00FFFFFF00FFFFFF00FFFFFF000000FF00C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60073737300FFFFFF00FFFFFF00FFFF
- FF005A5A5A00FFFFFF005A5A5A00FFFFFF0052525200FFFFFF004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0039393900C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C6000000
- FF000000FF000000FF000000FF000000FF00C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600737373006B6B6B00636363006363
- 6300636363005A5A5A005A5A5A005A5A5A005252520052525200525252004A4A
- 4A004A4A4A004A4A4A004242420042424200C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C6000000C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60073737300FFFFFF00FFFFFF006363
- 6300FFFFFF0063636300FFFFFF005A5A5A00FFFFFF0052525200FFFFFF005252
- 5200FFFFFF00FFFFFF00FFFFFF0042424200C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B000000FF000000FF000000FF000000FF000000
- FF00C6C6C600C6C6C6000000C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B000063000000630000C6C6
- C600C6C6C60084848400C6C6C600C6C6C6007B7B7B006B6B6B006B6B6B006B6B
- 6B006363630063636300636363005A5A5A005A5A5A005A5A5A00525252005252
- 5200525252004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
- C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B573000000FF00FFFFFF00FFFFFF00FFFFFF000000
- FF000000C6000000C6000000C600C6C6C600C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B0000630000008400000063
- 000063636300C6C6C600C6C6C600C6C6C6007B7B7B00FFFFFF006B6B6B00FFFF
- FF006B6B6B00FFFFFF0063636300FFFFFF005A5A5A00FFFFFF005A5A5A00FFFF
- FF0052525200FFFFFF00FFFFFF004A4A4A00C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD9463000000E7000000DE000000DE000000D6000000
- D6000000CE000000CE000000C6000000C600C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD9463000000FF000000FF000000FF000000FF000000
- FF0063636300C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD7300F7B57300F7B5730000630000008400000084
- 000000630000C6C6C600C6C6C600C6C6C600848484007B7B7B007B7B7B007373
- 730073737300737373006B6B6B006B6B6B0063636300636363005A5A5A005A5A
- 5A005A5A5A0052525200525252004A4A4A0084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD73000000E700FFFFFF000000DE00FFFFFF000000
- D600FFFFFF000000CE00FFFFFF000000C60084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD7300F7B573000000C60042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B00FFBD73004242420000630000008400000084
- 00000084000000630000C6C6C600C6C6C600C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B00EFAD6B00636363004242
- 420063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B000000E7000000E7000000E7000000DE000000
- DE000000D6000000D6000000CE000000CE00C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B00FFBD73000000C600C6C6C600C6C6C6000000
- FF000000FF000000FF000000FF000000FF00848484006363630063636300D6AD
- 6B00D6944A006363630063636300636363004242420000630000008400000084
- 0000008400000084000000630000C6C6C60084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD7300F7B57300F7B5730042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600848484006363630063636300D6AD
- 6B00D6944A0063636300636363000000EF00FFFFFF000000E700FFFFFF000000
- DE00FFFFFF000000D600FFFFFF000000CE00848484006363630063636300D6AD
- 6B00D6944A006363630063636300636363000000C6000000C6000000C6000000
- FF00FFFFFF00FFFFFF00FFFFFF000000FF00C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C60042424200C6C6C600C6C6C60000630000008400000084
- 0000008400000084000000630000C6C6C600C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B00FFBD730042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C600424242000000EF000000EF000000E7000000E7000000
- E7000000DE000000DE000000D6000000D600C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C60042424200C6C6C600C6C6C600C6C6C600848484000000
- FF000000FF000000FF000000FF000000FF00C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300C6C6C600C6C6C60000630000008400000084
- 00000084000000630000C6C6C600C6C6C600848484006363630063636300D6AD
- 6B00D6944A006363630063636300636363004242420063636300C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C600636363000000F700FFFFFF000000EF00FFFFFF000000
- E700FFFFFF000000DE00FFFFFF000000D600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C6000000C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400C6C6C600C6C6C600C6C6C60000630000008400000084
- 000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C60042424200C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400C6C6C6000000F7000000F7000000EF000000EF000000
- E7000000E7000000E7000000DE000000DE00C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400C6C6C6000000FF000000FF000000FF000000FF000000
- FF00C6C6C600C6C6C6000000C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000630000008400000063
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000000FF00FFFFFF000000F700FFFFFF000000
- EF00FFFFFF000000E700FFFFFF000000DE00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000000FF00FFFFFF00FFFFFF00FFFFFF000000
- FF000000C6000000C6000000C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000063000000630000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000000FF000000FF000000F7000000F7000000
- EF000000EF000000E7000000E7000000E700C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000000FF000000FF000000FF000000FF000000
- FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B000000000000000000C6C6
- C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
- C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300FFBD73000084000000630000A57B5200EFAD6B000084000000630000C6C6
- C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B000084000000630000C6C6
- C600C6C6C60084848400C6C6C600C6C6C600C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B0000000000424242000000
- 000063636300C6C6C600C6C6C600C6C6C600C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD946300000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C60063636300424242006363
- 6300FFC67B00636363000084000000630000EFAD6B0063636300008400000063
- 000063636300C6C6C600C6C6C600C6C6C600C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B0063636300008400000063
- 000063636300C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD7300F7B57300F7B5730000000000424242004242
- 420000000000C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD7300000000004242420042424200424242004242
- 42004242420042424200424242000000000084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B0000630000008400000063000042424200006300000084
- 000000630000C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD7300F7B57300F7B5730042424200006300000084
- 000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B00FFBD73004242420000000000424242004242
- 42004242420000000000C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B00000000004242420042424200424242004242
- 420042424200424242004242420000000000C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B00006300000084000000630000C6C6C6000063
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B00FFBD730042424200C6C6C600C6C6C6000063
- 00000084000000630000C6C6C600C6C6C600848484006363630063636300D6AD
- 6B00D6944A006363630063636300636363004242420000000000424242004242
- 4200424242004242420000000000C6C6C600848484006363630063636300D6AD
- 6B00D6944A006363630063636300000000004242420042424200424242004242
- 420042424200424242004242420000000000848484006363630063636300D6AD
- 6B00D6944A00636363006363630063636300006300000084000000630000C6C6
- C600006300000084000000630000C6C6C600848484006363630063636300D6AD
- 6B00D6944A006363630063636300636363004242420063636300C6C6C600C6C6
- C600006300000084000000630000C6C6C600C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C60042424200C6C6C600C6C6C60000000000424242004242
- 4200424242004242420000000000C6C6C600C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C60042424200000000004242420042424200424242004242
- 420042424200424242004242420000000000C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C60042424200C6C6C600006300000084000000630000C6C6
- C600006300000084000000630000C6C6C600C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C60042424200C6C6C600C6C6C600C6C6C60084848400C6C6
- C600006300000084000000630000C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300C6C6C600C6C6C60000000000424242004242
- 42004242420000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300000000004242420042424200424242004242
- 420042424200424242004242420000000000C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300006300000084000000630000C6C6C6000063
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C6000063
- 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400C6C6C600C6C6C600C6C6C60000000000424242004242
- 420000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400C6C6C600000000004242420042424200424242004242
- 420042424200424242004242420000000000C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400006300000084000000630000C6C6C600006300000084
- 000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600006300000084
- 000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000424242000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600000000004242420042424200424242004242
- 420042424200424242004242420000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600848484000084000000630000C6C6C60084848400008400000063
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400008400000063
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000084000000630000C6C6C600C6C6C6000084000000630000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000084000000630000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600ADC6FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600B5BDF7004A73DE000042C6000042C6004A73
- DE00B5BDF700C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600B5BDF7000042C6000042C6000042C6000042
- C6000042C600B5BDF700C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600ADC6
- FF000042DE004A73E7005273E7004A73E7007394FF00C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C6004A73DE004A73DE00B5BDF700FFFFFF00FFFFFF00B5BD
- F7004A73DE004A73DE00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000042C600B5BDF700B5BDF700B5BDF7008C9C
- EF008C9CEF000042C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000852
- E7000039C6005273DE005273DE005273DE004A6BDE005273E7005273EF0084A5
- FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6004A73DE00B5BDF700F7CEAD00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00CED6FF00B5BDF7004A73DE00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000042C600B5BDF700FFFFFF008C9CEF00FFFF
- FF004A73DE000042C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6007B9CFF005273
- DE00295ACE005273DE005273DE005273DE005273DE005273DE004A73DE004A6B
- DE005273E700638CFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600B5BDF7004A73DE00F7CEAD00FFFFFF00F7CEAD00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00CED6FF004A73DE00B5BDF700C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000042C600B5BDF700FFFFFF008C9CEF00FFFF
- FF004A73DE000042C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
- C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600527BEF005273
- DE002152D600215AC6000039C600184AD600426BDE005273DE005273DE005273
- DE004A6BDE006B8CFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6004A73DE00B5BDF700F7CEAD00F7CEAD00FFFFFF000042C6000042C600FFFF
- FF00FFFFFF00FFFFFF00B5BDF7004A73DE00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000042C600B5BDF700FFFFFF008C9CEF00FFFF
- FF004A73DE000042C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600ADC6FF004A73E7005273
- DE000039C600FFFFCE00FFF7CE00ADB5CE004273C6000039C6000842CE003163
- D6005273DE007B9CFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6000042C600FFFFFF00FFFFFF00FFFFFF000042C600FFFFFF00FFFFFF000042
- C600FFFFFF00FFFFFF00FFFFFF000042C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000042C6008C9CEF008C9CEF004A73DE004A73
- DE004A73DE000042C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600638CFF005273DE003963
- D600ADB5CE00FFF7CE00FFEFCE00FFF7CE00FFFFCE00FFFFCE00C6D6E700638C
- DE00084AC6004A7BEF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6000042C600FFFFFF00FFFFFF00FFFFFF000042C600FFFFFF00FFFFFF000042
- C600FFFFFF00FFFFFF00FFFFFF000042C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C6000031A5000031A5000031A5000031A5000031A5000031
- A5000031A5000031A5000031A500C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
- C600C6C6C60084848400C6C6C600C6C6C600C6C6C6005273E7005273DE000042
- CE00FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFEFC600FFFFFF00FFFF
- FF0094B5E7002152D600ADC6FF00C6C6C60063636300636363005A5A5A005A5A
- 5A004A73DE00B5BDF700FFFFFF00FFFFFF00FFFFFF000042C6000042C600FFFF
- FF00F7CEAD00F7CEAD00B5BDF7004A73DE0063636300636363005A5A5A005A5A
- 5A005A5A5A00525252000042C600B5BDF700FFFFFF00FFFFFF00B5BDF7008C9C
- EF00B5BDF7004A73DE000042C60031313100C6C6C60063636300424242006363
- 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B0084848400000084000000
- 8400000084008484FF00C6C6C600C6C6C6004A73E7004A73E7005273DE001852
- C600FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFF7D600FFFFFF00FFFF
- FF000042C6005273DE005273EF00C6C6C6006B6B6B00FFFFFF00FFFFFF005A5A
- 5A00B5BDF7004A73DE00CED6FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7CE
- AD00FFFFFF00F7CEAD004A73DE00393939006B6B6B00FFFFFF00FFFFFF005A5A
- 5A00FFFFFF0052525200B5BDF7000042C6000042C6000042C600B5BDF7000042
- C6000042C6000042C600B5BDF7003939390084848400C6C6C600C6C6C6006363
- 6300FFC67B00FFC67B00FFBD7300F7B5730063636300000084000000FF000000
- FF000000FF00000084000000C600C6C6C600ADC6FF00527BEF00315AD6009CAD
- C600FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFF7E700FFFFFF00D6DE
- F7000042C6005273DE005273EF00C6C6C6006B6B6B0063636300636363005A5A
- 5A005A5A5A004A73DE00B5BDF700CED6FF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00F7CEAD00B5BDF7004A73DE00393939006B6B6B0063636300636363005A5A
- 5A005A5A5A005A5A5A005252520052525200525252000042C6000042C6000042
- C60042424200424242004242420039393900C6C6C600C6C6C60042424200D694
- 4A0084848400FFC67B00FFC67B0084848400000084000000FF000000FF000000
- FF000000FF000000FF00000084008484FF00C6C6C600ADC6FF00215ADE00396B
- C600ADB5CE00FFEFCE00FFEFCE00FFF7CE00FFEFCE00FFEFD600FFFFFF00527B
- D6003963D6004A6BDE00ADC6FF00C6C6C60073737300FFFFFF00FFFFFF00FFFF
- FF005A5A5A00FFFFFF004A73DE004A73DE00B5BDF700FFFFFF00FFFFFF00B5BD
- F7004A73DE004A73DE00FFFFFF003939390073737300FFFFFF00FFFFFF00FFFF
- FF005A5A5A00FFFFFF005A5A5A00FFFFFF0052525200FFFFFF004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0039393900848484006363630063636300D6AD
- 6B00D6944A006363630063636300000084000000FF000000FF000000FF000000
- FF000000FF000000FF000000FF0000008400C6C6C600C6C6C600ADC6FF003963
- D600104ACE000031C600396BC600A5ADCE00FFF7CE00FFFFCE00FFFFFF000039
- C6005273DE005273E700C6C6C600C6C6C600737373006B6B6B00636363006363
- 6300636363005A5A5A005A5A5A005A5A5A004A73DE000042C6000042C6004A73
- DE004A4A4A004A4A4A004242420042424200737373006B6B6B00636363006363
- 6300636363005A5A5A005A5A5A005A5A5A005252520052525200525252004A4A
- 4A004A4A4A004A4A4A004242420042424200C6C6C600C6C6C600C6C6C6006363
- 630042424200C6C6C60042424200000084000000FF000000FF000000FF000000
- FF000000FF000000FF000000FF0000008400C6C6C600C6C6C6007B9CFF004A73
- E7005273DE005A73DE004263D600104ACE000031C6002963C6005A84CE00215A
- D6005273DE006B8CFF00C6C6C600C6C6C60073737300FFFFFF00FFFFFF006363
- 6300FFFFFF0063636300FFFFFF005A5A5A00FFFFFF0052525200FFFFFF005252
- 5200FFFFFF00FFFFFF00FFFFFF004242420073737300FFFFFF00FFFFFF006363
- 6300FFFFFF0063636300FFFFFF005A5A5A00FFFFFF0052525200FFFFFF005252
- 5200FFFFFF00FFFFFF00FFFFFF0042424200C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300000084000000FF000000FF000000FF000000
- FF000000FF000000FF000000FF0000008400C6C6C600C6C6C600C6C6C600ADC6
- FF006B8CFF004A73E7005273E7005273DE005A73DE004263D6002963DE006384
- F7004A6BDE00ADC6FF00C6C6C600C6C6C6007B7B7B006B6B6B006B6B6B006B6B
- 6B006363630063636300636363005A5A5A005A5A5A005A5A5A00525252005252
- 5200525252004A4A4A004A4A4A004A4A4A007B7B7B006B6B6B006B6B6B006B6B
- 6B006363630063636300636363005A5A5A005A5A5A005A5A5A00525252005252
- 5200525252004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C60084848400C6C6C6008484FF00000084000000FF000000FF000000
- FF000000FF000000FF00000084008484FF00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C6007B9CFF00638CFF004A73E7005273E700C6C6C600C6C6
- C600ADC6FF00C6C6C600C6C6C600C6C6C6007B7B7B00FFFFFF006B6B6B00FFFF
- FF006B6B6B00FFFFFF0063636300FFFFFF005A5A5A00FFFFFF005A5A5A00FFFF
- FF0052525200FFFFFF00FFFFFF004A4A4A007B7B7B00FFFFFF006B6B6B00FFFF
- FF006B6B6B00FFFFFF0063636300FFFFFF005A5A5A00FFFFFF005A5A5A00FFFF
- FF0052525200FFFFFF00FFFFFF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000C600000084000000FF000000
- FF000000FF00000084000000C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600ADC6FF00ADC6FF00C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600848484007B7B7B007B7B7B007373
- 730073737300737373006B6B6B006B6B6B0063636300636363005A5A5A005A5A
- 5A005A5A5A0052525200525252004A4A4A00848484007B7B7B007B7B7B007373
- 730073737300737373006B6B6B006B6B6B0063636300636363005A5A5A005A5A
- 5A005A5A5A0052525200525252004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484FF00000084000000
- 8400000084008484FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200000000000000000042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6005A5A5A005A5A5A00525252005252
- 5200525252004A4A4A004A4A4A004A4A4A004242420042424200424242003939
- 390039393900393939003131310031313100C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6008CDE8C0029B52900089400000894000029B5
- 29008CDE8C00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60000000000424242005252A5007373C6007373BD005252A500424242000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C6005A5A5A00FFFFFF00FFFFFF005252
- 5200FFFFFF0052525200FFFFFF00FFFFFF00FFFFFF00FFFFFF0042424200FFFF
- FF0039393900FFFFFF00FFFFFF0031313100C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60029B5290008940000FFFFFF0008940000089400000894
- 00000894000029B52900C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00005252A5007B7BD6007B7BCE0042424200000000006B6BB5006B6BB5005252
- A50000000000C6C6C600C6C6C600C6C6C6005A5A5A005A5A5A005A5A5A005A5A
- 5A005252520052525200525252004A4A4A004A4A4A004A4A4A00424242004242
- 420042424200393939003939390039393900C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60029B529008CDE8C00FFFFFF008CDE8C0008940000089400000894
- 00008CDE8C008CDE8C0029B52900C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000006B6B
- B5008484DE007B7BD60000000000FFFFFF00FFFFFF00424242006B6BB5006B6B
- B5005252A50000000000C6C6C600C6C6C60063636300FFFFFF00FFFFFF00FFFF
- FF005A5A5A00FFFFFF0052525200FFFFFF004A4A4A00FFFFFF004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0039393900C6C6C600C6C6C600C6C6C600C6C6
- C6008CDE8C0008940000FFFFFF00089400000894000008940000089400000894
- 000008940000FFFFFF00089400008CDE8C00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484D6008C8C
- EF008484E7008484DE0042424200FFFFFF00FFFFFF00000000006B6BB5006B6B
- B5006B6BB5005252A50000000000C6C6C60063636300636363005A5A5A005A5A
- 5A005A5A5A005A5A5A005252520052525200525252004A4A4A004A4A4A004A4A
- 4A0042424200424242004242420039393900C6C6C600C6C6C600C6C6C600C6C6
- C60029B52900FFFFFF00FFFFFF00089400000894000008940000089400000894
- 000008940000FFFFFF00FFFFFF0029B52900C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C600C6C6C600C6C6C60063636300636363006363630042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600424242009494F7008C8C
- EF008C8CEF008484E7008484DE0000000000424242007373C6006B6BBD006B6B
- B5006B6BB5006B6BB50042424200C6C6C60063636300FFFFFF00FFFFFF005A5A
- 5A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60052525200FFFFFF004A4A
- 4A00FFFFFF00FFFFFF00FFFFFF0042424200C6C6C600C6C6C600C6C6C600C6C6
- C60008940000FFFFFF00FFFFFF00FFFFFF000894000008940000089400000894
- 00008CDE8C00089400008CDE8C0008940000C6C6C600C6C6C600C6C6C600C6C6
- C60063636300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B52004242
- 4200C6C6C600C6C6C600C6C6C600C6C6C600424242008484D6009494FF009494
- F7009494F7008C8CEF0000000000FFFFFF00FFFFFF00000000007373C6007373
- BD006B6BB5006B6BB5005252A500424242006B6B6B0063636300636363006363
- 6300C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60052525200525252004A4A
- 4A004A4A4A004A4A4A004242420042424200C6C6C600C6C6C600C6C6C600C6C6
- C60008940000FFFFFF008CDE8C008CDE8C008CDE8C00FFFFFF00FFFFFF00FFFF
- FF0008940000089400000894000008940000C6C6C600C6C6C600C6C6C600C6C6
- C6004242420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B006363
- 6300C6C6C600C6C6C600C6C6C600C6C6C600000000009C9CFF009C9CFF009C9C
- FF009494FF009494F70042424200FFFFFF00FFFFFF00000000007373C6007373
- C6007373BD007373BD007373BD0000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6005A5A5A005A5A5A0052525200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60063636300636363005A5A5A005A5A
- 5A0029B52900FFFFFF00FFFFFF000894000008940000FFFFFF00089400008CDE
- 8C0008940000089400000894000029B52900C6C6C600C6C6C600C6C6C600C6C6
- C60063636300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B006363
- 6300C6C6C600C6C6C60084848400C6C6C600000000009C9CFF009C9CFF009C9C
- FF009C9CFF009C9CFF009494F70000000000FFFFFF00FFFFFF00000000007B7B
- CE007373C6007373C6007373C60000000000C6C6C600C6C6C600C6C6C6006363
- 63006363630063636300C6C6C6005A5A5A00FFFFFF005A5A5A00C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6006B6B6B00FFFFFF00FFFFFF005A5A
- 5A008CDE8C0008940000FFFFFF00FFFFFF000894000008940000089400000894
- 00000894000008940000089400008CDE8C00C6C6C600C6C6C600636363004242
- 420063636300FFC67B00FFBD7300BD946300F7B57300EFAD6B00EFAD6B006363
- 63004242420063636300C6C6C600C6C6C600424242008484D600A5A5FF00A5A5
- FF00A5A5FF0000000000424242009494F70042424200FFFFFF00FFFFFF004242
- 42007B7BCE007B7BCE005252A50042424200C6C6C600C6C6C600C6C6C6006B6B
- 6B00FFFFFF0063636300C6C6C6005A5A5A005A5A5A005A5A5A00C6C6C600C6C6
- C60052525200525252004A4A4A004A4A4A006B6B6B0063636300636363005A5A
- 5A005A5A5A0029B529008CDE8C0008940000FFFFFF0008940000089400000894
- 0000089400000894000029B5290039393900C6C6C60084848400C6C6C600C6C6
- C60063636300FFC67B00FFC67B00FFBD7300F7B57300F7B5730042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200A5A5FF00A5A5
- FF0000000000FFFFFF00FFFFFF008484840042424200FFFFFF00FFFFFF000000
- 00007B7BD6007B7BD60042424200C6C6C60073737300737373006B6B6B006B6B
- 6B006B6B6B0063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60052525200FFFFFF00FFFFFF004A4A4A0073737300FFFFFF00FFFFFF00FFFF
- FF005A5A5A00FFFFFF0029B5290008940000FFFFFF00FFFFFF008CDE8C000894
- 00000894000029B52900FFFFFF0039393900C6C6C600C6C6C600C6C6C6004242
- 4200D6944A0084848400FFC67B00FFC67B00FFBD730042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484D600A5A5
- FF0042424200FFFFFF00FFFFFF008484840084848400FFFFFF00FFFFFF004242
- 42008484DE005252A50000000000C6C6C60073737300FFFFFF0073737300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600636363005A5A5A005A5A5A00C6C6
- C6005A5A5A00525252005252520052525200737373006B6B6B00636363006363
- 6300636363005A5A5A005A5A5A008CDE8C0029B52900089400000894000029B5
- 29008CDE8C004A4A4A004242420042424200C6C6C60084848400636363006363
- 6300D6AD6B00D6944A006363630063636300636363004242420063636300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484
- D600A5A5FF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008C8C
- EF006B6BB50000000000C6C6C600C6C6C6007B7B7B007373730073737300C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60063636300FFFFFF005A5A5A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60073737300FFFFFF00FFFFFF006363
- 6300FFFFFF0063636300FFFFFF005A5A5A00FFFFFF0052525200FFFFFF005252
- 5200FFFFFF00FFFFFF00FFFFFF0042424200C6C6C600C6C6C600C6C6C600C6C6
- C6006363630042424200C6C6C60042424200C6C6C600C6C6C600C6C6C6008484
- 8400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00008484D600A5A5FF00424242000000000000000000424242009494F7008484
- D60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600737373006B6B6B006B6B6B00C6C6C600636363006363630063636300C6C6
- C6005A5A5A005A5A5A005A5A5A00C6C6C6007B7B7B006B6B6B006B6B6B006B6B
- 6B006363630063636300636363005A5A5A005A5A5A005A5A5A00525252005252
- 5200525252004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C60063636300C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60000000000424242008484D6009C9CFF009C9CFF008484D600424242000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60073737300FFFFFF006B6B6B00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6005A5A5A00FFFFFF005A5A5A00C6C6C6007B7B7B00FFFFFF006B6B6B00FFFF
- FF006B6B6B00FFFFFF0063636300FFFFFF005A5A5A00FFFFFF005A5A5A00FFFF
- FF0052525200FFFFFF00FFFFFF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C60084848400C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200000000000000000042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600737373007373730073737300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600636363005A5A5A005A5A5A00C6C6C600848484007B7B7B007B7B7B007373
- 730073737300737373006B6B6B006B6B6B0063636300636363005A5A5A005A5A
- 5A005A5A5A0052525200525252004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600848484004242420021212100212121002121
- 210021212100212121002121210042424200C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C0C0C0000000000000000000C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600086B7B0008E7FF0008DEFF0008D6FF0008CE
- EF0008BDE70008B5D60008ADCE0021212100C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300A59484009C94840063636300C6C6C600C6C6
- C60063636300A5A5A500C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600000000000000000000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C00000000000C6C6C60000000000C0C0C000C0C0C000000000000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600086B7B0008E7FF0008DEFF0008D6FF0008CE
- EF0008BDE70008B5D60008ADCE0021212100C6C6C600C6C6C600424242009C8C
- 7B002121210000000000A59C8C00A59C8C00A59484009C948400000000002121
- 21009C8C7B0042424200A5A5A500C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600000000008400840000000000848484000000000000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
- C0000000000031B5D600C6C6C60000000000C0C0C00000000000FFFFFF000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600086B7B0008E7FF0008DEFF0008D6FF0008CE
- EF0008BDE70008B5D60008ADCE0021212100C6C6C600636363009C8C7B00ADA5
- 9400ADA59400AD9C8C00A59C8C00A59C8C00A59C8C00A59484009C9484009C94
- 84009C9484009C8C7B0063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60000000000840084008400840000000000FFFFFF00C6C6C600FFFFFF000000
- 000000000000C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C00000000000C6C6C600000000000000000084848400FFFFFF000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600F7D6
- 9400D6941000A56B0800A56B0800086B7B0008E7FF0008DEFF0008D6FF0008CE
- EF0008BDE70008B5D60008ADCE0021212100C6C6C600C6C6C60021212100B5A5
- 9400ADA59400ADA5940042424200424242004242420042424200A59484009C94
- 84009C94840021212100C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00008400840084008400840084000000000084848400FFFFFF00C6C6C600FFFF
- FF00C6C6C6000000000000000000C6C6C600C0C0C000C0C0C000C0C0C000C0C0
- C0000000000031B5D600C6C6C60000000000C0C0C00000000000FFFFFF000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600D6941000A56B
- 0800FFFFFF00D6941000A56B0800086B7B0008E7FF0008DEFF0008D6FF0008CE
- EF0008BDE70008B5D60008ADCE0042424200C6C6C600C6C6C60000000000B5AD
- 9C00B5A5940021212100C6C6C600C6C6C600C6C6C600C6C6C60021212100A594
- 84009C94840000000000C6C6C600C6C6C600C6C6C600C6C6C600000000008400
- 8400840084008400840084008400C6C6C600000000000000000084848400C6C6
- C600FFFFFF00C6C6C6000000000000000000C0C0C000C0C0C000C0C0C000C0C0
- C0000000000021EFFF00C6C6C600000000000000000084848400FFFFFF000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600D6941000F7D69400FFFF
- FF00F7D69400D6941000A56B0800086B7B00086B7B00086B7B00086B7B00086B
- 7B00086B7B00086B7B00086B7B00086B7B004242420063636300B5AD9C00B5AD
- 9C0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 4200A59484009C9484006363630042424200C6C6C60000000000840084008400
- 84008400840084008400C6C6C600840084008400840084008400000000000000
- 000084848400FFFFFF0084848400FFFFFF00C0C0C000C0C0C000C0C0C0000000
- 000031B5D60021EFFF00C6C6C6000000000000000000C6C6C600FFFFFF000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000F7D69400A56B0800FFFFFF00D694
- 1000D6941000A56B0800A56B0800A56B080042424200CECECE0042424200F7D6
- 940042424200B5B5B50042424200C6C6C60063636300BDB5A500BDAD9C00B5AD
- 9C0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 4200A59C8C00A59484009C948400636363000000000084008400840084008400
- 840084008400C6C6C60084008400840084008400840084008400840084008400
- 8400000000000000000084848400FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
- C00000000000C6C6C60021EFFF000000000084848400C6C6C600FFFFFF000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000D6941000FFFFFF00FFFFFF00A56B
- 0800A56B0800A56B0800A56B0800A56B080042424200CECECE0042424200D694
- 100042424200B5B5B50042424200C6C6C60063636300BDB5A500BDB5A500BDAD
- 9C0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 4200A59C8C00A59C8C00A5948400636363000000000084008400840084008400
- 8400C6C6C60084008400840084008400840084008400FF42FF00FFFFFF008400
- 840084008400840084000000000000000000C0C0C000C0C0C000C0C0C0000000
- 0000C6C6C60021EFFF0021EFFF00C6C6C60000000000FFFFFF00C6C6C6000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000A56B0800FFFFFF00FFFFFF00FFFF
- FF00A56B0800A56B0800A56B0800A56B080042424200CECECE0042424200A56B
- 080042424200B5B5B50042424200C6C6C6004242420063636300BDB5A500BDB5
- A50042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 4200A59C8C00A59C8C006363630042424200000000008400840084008400C6C6
- C60084008400840084008400840084008400FFFFFF0084008400840084008400
- 8400840084008400840000000000C6C6C600C0C0C000C0C0C0000000000021EF
- FF0021EFFF0021EFFF0021EFFF0021EFFF00C6C6C60000000000C6C6C600FFFF
- FF0000000000C0C0C000C0C0C000C0C0C000A56B0800FFFFFF00F7D69400F7D6
- 9400F7D69400FFFFFF00F7D69400FFFFFF0084848400C6C6C600848484004242
- 420084848400B5B5B50084848400C6C6C600C6C6C600C6C6C60000000000BDB5
- A500BDB5A50021212100C6C6C600C6C6C600C6C6C600C6C6C60021212100ADA5
- 9400AD9C8C0000000000C6C6C600C6C6C6000000000084008400C6C6C6008400
- 840084008400840084008400840084008400FFFFFF0084008400840084008400
- 84008400840000000000C6C6C600C6C6C600C0C0C000C0C0C0000000000021EF
- FF0021EFFF0021EFFF0021EFFF0021EFFF00C6C6C60000000000C6C6C600C6C6
- C600FFFFFF0000000000C0C0C000C0C0C000D6941000FFFFFF00FFFFFF00A56B
- 0800A56B0800F7D69400A56B0800F7D69400A56B080084848400BDBDBD00BDBD
- BD00B5B5B50042424200C6C6C600C6C6C600C6C6C600C6C6C60021212100BDB5
- A500BDB5A500BDB5A50042424200424242004242420042424200B5A59400ADA5
- 9400ADA5940021212100C6C6C600C6C6C60000000000C6C6C600840084008400
- 840084008400FFFFFF008400840084008400FFFFFF0084008400840084008400
- 840000000000C6C6C600C6C6C600C6C6C600C0C0C000C0C0C0000000000021EF
- FF00C6C6C600000000000000000021EFFF00C6C6C60000000000C6C6C600C6C6
- C600FFFFFF0000000000C0C0C000C0C0C000F7D69400A56B0800FFFFFF00FFFF
- FF00A56B0800A56B0800A56B0800A56B0800A56B0800A56B0800424242004242
- 420042424200C6C6C600C6C6C600C6C6C600C6C6C600636363009C8C7B00C6B5
- A500BDB5A500BDB5A500BDB5A500BDAD9C00B5AD9C00B5AD9C00B5AD9C00B5A5
- 9400ADA594009C8C7B0063636300C6C6C600C6C6C60000000000000000008400
- 84008400840084008400FFFFFF00FFFFFF008400840084008400840084000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C0000000000021EF
- FF00C6C6C60031B5D60031B5D60021EFFF00C6C6C6000000000000000000C6C6
- C600FFFFFF0000000000C0C0C000C0C0C000C6C6C600D6941000F7D69400A56B
- 0800FFFFFF00A56B0800A56B0800A56B0800A56B0800A56B0800D6941000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600424242009C8C
- 7B002121210000000000BDB5A500BDB5A500BDAD9C00B5AD9C00000000002121
- 21009C8C7B0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 000000000000840084008400840084008400840084008400840000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C0000000
- 000021EFFF0021EFFF0021EFFF0021EFFF00000000008484840084848400C6C6
- C600FFFFFF0000000000C0C0C000C0C0C000C6C6C600C6C6C600D6941000A56B
- 0800FFFFFF00FFFFFF00F7D69400A56B0800A56B0800D6941000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
- 6300C6C6C600C6C6C60063636300BDB5A500BDB5A50063636300C6C6C600C6C6
- C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000840084008400840000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
- C00000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C60000000000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600F7D6
- 9400D6941000A56B0800A56B0800D6941000F7D69400C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200636363006363630042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6000000000000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C0C0C000C0C0C000C0C0C0000000000000000000000000000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6C600C6C6C6004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A00FFFFFF004A4A4A00C6C6C6004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A0000848400008484004A4A
- 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A0000848400008484004A4A
- 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A0000848400008484004A4A
- 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A0000848400008484004A4A
- 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF004A4A
- 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004AADAD004AAD
- AD004AADAD004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A0000848400008484000084
- 8400008484004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004A4A4A004A4A
- 4A00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004AFFFF004A4A4A004AAD
- AD004AADAD004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A004A4A4A00C6C6C6004A4A4A0000848400008484004A4A
- 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A004A4A4A00C6C6C6004A4A4A00FFFFFF00FFFFFF004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004A4A4A00FFFF
- FF00FFFFFF00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004AFFFF004A4A
- 4A004AADAD004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
- 4A004A4A4A004A4A4A00C6C6C600C6C6C6004A4A4A00008484004A4A4A00DEEF
- EF00DEEFEF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
- 4A004A4A4A004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004AFFFF00FFFFFF004AFF
- FF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A004AADAD004A4A4A00C6C6C6004A4A4A00008484004A4A4A00DEEF
- EF00DEEFEF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
- 4A004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A
- 4A004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004AFFFF00FFFF
- FF004AFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00008484004A4A4A00DEEF
- EF00DEEFEF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
- 4A00008484004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
- 4A00C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
- 4A00C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004AFFFF00FFFFFF004AFF
- FF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00008484004A4A4A00DEEF
- EF00DEEFEF004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A00008484004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004AFFFF00FFFF
- FF004AFFFF00FFFFFF004AFFFF00FFFFFF004AFFFF00FFFFFF004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00008484004A4A4A00DEEF
- EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF004A4A
- 4A00008484004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004AFFFF00FFFFFF004AFF
- FF004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00008484004A4A4A00DEEF
- EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF004A4A
- 4A00DEEFEF004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A
- 4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A00C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600FF000000C6C6C600C6C6C600C6C6C600FFA5A500FF636300C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600FF000000C6C6C600C6C6C600FFD6D600FF424200FFFFFF00C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF0000840000FFFFFF0000840000FFFFFF00FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600FF000000C6C6C600FFF7F700FF393900FFE7E700C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6004242420042424200C6C6C6004242420042424200CECECE00C6C6
- C60073737300424242004A4A4A008C8C8C004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF0000840000FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600FF000000FFEFEF00FF5A5A00FFC6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200C6C6
- C600C6C6C600C6C6C60042424200C6C6C600ADADAD009C9C9C00C6C6C6007373
- 7300ADADAD00C6C6C600FFFFFF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF0000840000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000840000FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600FF000000FF636300FF9C9C00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200C6C6
- C600C6C6C600C6C6C60042424200A5A5A5007B7B7B00C6C6C600C6C6C6004242
- 4200424242004242420042424200424242004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF0000840000FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600FF000000FFF7F700FFADAD00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004242420042424200424242004242
- 420042424200C6C6C60042424200C6C6C600CECECE00A5A5A500E7E7E7006363
- 6300BDBDBD00C6C6C600BDBDBD007B7B7B004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF0000840000FFFFFF0000840000FFFFFF00FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600FF525200C6C6C600FF525200C6C6
- C600FF000000C6C6C600FFEFEF00FF949400C6C6C600C6C6C600C6C6C600C6C6
- C600FF525200C6C6C600FF525200C6C6C600C6C6C600C6C6C60042424200C6C6
- C600C6C6C600C6C6C60042424200C6C6C600424242004242420042424200E7E7
- E70063636300424242006B6B6B00EFEFEF004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF004A4A4A00C6C6C600C6C6C600C6C6C600FF424200C6C6C600FF424200C6C6
- C600FF000000C6C6C600C6C6C600FFE7E700FF8C8C00C6C6C600C6C6C600C6C6
- C600FF424200C6C6C600FF424200C6C6C600C6C6C600C6C6C60042424200C6C6
- C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
- 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A
- 4A004A4A4A00C6C6C600C6C6C600C6C6C600FF313100C6C6C600FF313100C6C6
- C600FF000000C6C6C600C6C6C600C6C6C600FFD6D600FF848400C6C6C600C6C6
- C600FF313100C6C6C600FF313100C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6004242420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
- 4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A
- 4A00C6C6C600C6C6C600C6C6C600C6C6C600FF000000C6C6C600FF000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600FF000000C6C6C600FF000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200424242004242420042424200424242004242
- 420042424200424242004242420042424200C6C6C600C6C6C600424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0042424200C6C6C60042424200DEEFEF00DEEF
- EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF004242
- 4200DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 0000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60042424200FFFFFF004242420042424200424242004242
- 42004242420042424200FFFFFF00424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 420042424200DEEFEF0042424200C6C6C600C6C6C600C6C6C600000000000000
- 000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60000000000FFFFFF00C6C6C600C6C6C60000000000DEEFEF00000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000DEEF
- EF00000000000000000000000000C6C6C6000000000000000000000000000000
- 000000000000C6C6C60042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004242420042424200DEEFEF00DEEFEF00DEEF
- EF00DEEFEF00DEEFEF00DEEFEF0000FFFF0000FFFF0000FFFF00DEEFEF00DEEF
- EF00424242004242420042424200C6C6C600C6C6C600C6C6C600000000000000
- 000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 0000FFFFFF00C6C6C600C6C6C600C6C6C60000000000DEEFEF00000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000DEEF
- EF00000000000000000000000000C6C6C60000000000DEEFEF00000000000000
- 000000000000C6C6C60042424200FFFFFF004242420042424200424242004242
- 42004242420042424200FFFFFF004242420042424200DEEFEF00DEEFEF00DEEF
- EF00DEEFEF00DEEFEF00DEEFEF009CADAD009CADAD009CADAD00DEEFEF00DEEF
- EF0042424200DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00000000000000000000FFFFFF00C6C6C600C6C6C600C6C6C600000000000000
- 0000FFFFFF00C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000C6C6C60000000000DEEFEF00000000000000
- 000000000000C6C6C60042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00424242004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 420042424200DEEFEF00DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6
- C600000000000000000000000000FFFFFF00C6C6C6000000000000000000FFFF
- FF00C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000DEEFEF000000
- 00000000000000000000000000000000000000000000DEEFEF00000000000000
- 0000000000000000000000000000C6C6C6000000000000000000000000000000
- 0000000000000000000042424200FFFFFF004242420042424200424242004242
- 42004242420042424200FFFFFF004242420042424200DEEFEF00DEEFEF00DEEF
- EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF004242
- 4200DEEFEF0042424200DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000000000000000000000000000FFFFFF00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000DEEFEF000000
- 00000000000000000000DEEFEF000000000000000000DEEFEF00000000000000
- 0000000000000000000000000000C6C6C6000000000000000000DEEFEF000000
- 0000000000000000000042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0042424200C6C6C60042424200424242004242
- 420042424200424242004242420042424200424242004242420042424200DEEF
- EF0042424200DEEFEF004242420042424200C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600000000000000000000000000FFFFFF00C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000DEEFEF000000
- 00000000000000000000DEEFEF000000000000000000DEEFEF00000000000000
- 0000000000000000000000000000C6C6C6000000000000000000DEEFEF000000
- 0000000000000000000042424200FFFFFF00424242004242420042424200FFFF
- FF0042424200424242004242420042424200C6C6C600C6C6C60042424200FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242
- 4200DEEFEF0042424200DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000000000000000000000000000FFFFFF00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C6000000000000000000DEEFEF000000
- 0000000000000000000042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0042424200FFFFFF0042424200C6C6C600C6C6C600C6C6C600C6C6C6004242
- 4200FFFFFF004242420042424200424242004242420042424200FFFFFF004242
- 4200424242004242420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600000000000000000000000000FFFFFF00C6C6C60000000000FFFFFF00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000DEEF
- EF00000000000000000000000000C6C6C60000000000DEEFEF00000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF004242
- 42004242420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
- 4200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 00000000000000000000FFFFFF00C6C6C600C6C6C600C6C6C600000000000000
- 0000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 0000000000000000000000000000C6C6C6000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000DEEF
- EF00000000000000000042424200424242004242420042424200424242004242
- 420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60042424200FFFFFF004242420042424200424242004242420042424200FFFF
- FF0042424200C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 0000000000000000000000000000C6C6C6000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0042424200C6C6C600C6C6C600C6C6C6000000000000000000FFFF
- FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6000000000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C6000000
- 0000DEEFEF0000000000C6C6C600C6C6C600C6C6C60000000000DEEFEF000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6004242420042424200424242004242420042424200424242004242
- 42004242420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 0000DEEFEF0000000000C6C6C600C6C6C600C6C6C60000000000DEEFEF000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF0084B58400107310001873
- 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
- 0800007B0000007300007BB57B00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004242420042424200424242004242
- 4200424242004242420042424200424242004242420042424200424242004242
- 4200C6C6C600C6C6C6004242420042424200FFFFFF0010841000218C21002994
- 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
- 100008A5080000940000006B0000FFFFFF00C6C6C60000000000000000000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242
- 4200C6C6C600424242004242420042424200FFFFFF00188C180029942900399C
- 3900399C3900399C3900FFFFFF00A5D6A5004AA54A004AA54A004AA54A0029A5
- 290018A51800009C0000007B0000FFFFFF000000000000848400008484000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242420042424200424242004242
- 4200424242004242420042424200C6C6C600FFFFFF0021942100399C390042A5
- 420042A5420042A54200FFFFFF00FFFFFF00A5D6A5004AA54A004AA54A0039A5
- 390021A5210008A50800087B0800FFFFFF000000000000848400008484000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6
- C600C6C6C600C6C6C60000000000C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00424242009CADAD00DEEFEF00DEEFEF009CAD
- AD004242420042424200C6C6C600C6C6C600FFFFFF0029942900429C42004AA5
- 4A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00A5D6A5004AA54A0039A5
- 390021A5210010A5100008840800FFFFFF000000000000848400008484000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
- FF000000000000000000000000000000000000000000FFFFFF004A4A4A00C6C6
- C600C6C6C600C6C6C60000000000C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00424242009CADAD00DEEFEF00DEEFEF00FFFF00009CAD
- AD00FFFFFF0042424200C6C6C600C6C6C600FFFFFF00319C31004AA54A0052A5
- 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A50039A5
- 390021A5210018A5180010841000FFFFFF000000000000848400008484000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
- FF0000000000000000000000000000000000FFFFFF00FFFFFF004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C6000000000042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0042424200DEEFEF00DEEFEF00DEEFEF00DEEFEF009CAD
- AD00DEEFEF0042424200C6C6C600C6C6C600FFFFFF00429C420052A552004AA5
- 4A004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
- A500219C2100219C210018841800FFFFFF000000000000848400008484000084
- 8400008484000084840000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C6000000000042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0042424200DEEFEF00FFFF0000DEEFEF00DEEFEF009CAD
- AD00DEEFEF0042424200C6C6C600C6C6C600FFFFFF0042A5420052A5520052A5
- 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
- A500219C2100219C2100217B2100FFFFFF000000000000848400008484000000
- 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00000000000000000000000000000000004A4A4A00FFFFFF00FFFFFF00FFFF
- FF000000000000000000FFFFFF0000000000FFFFFF00FFFFFF004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C6000000000042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00424242009CADAD00FFFF0000FFFF0000DEEFEF009CAD
- AD00FFFFFF0042424200C6C6C600C6C6C600FFFFFF0052A552005AAD5A005AAD
- 5A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A5003194
- 31002994290029942900217B2100FFFFFF00000000000084840000000000DEEF
- EF00DEEFEF00DEEFEF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000FFFFFF0000000000C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF0000000000FFFFFF00FFFFFF00FFFFFF0000000000000000004A4A4A00C6C6
- C600C6C6C600C6C6C60000000000C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00424242009CADAD00DEEFEF00DEEFEF009CAD
- AD0042424200C6C6C600C6C6C600C6C6C600FFFFFF0052A552006BB56B006BB5
- 6B005AAD5A0052AD5200FFFFFF00FFFFFF00FFFFFF00A5D6A500399C39003194
- 31002994290029942900217B2100FFFFFF00000000000084840000000000DEEF
- EF00DEEFEF00DEEFEF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF000000000000000000C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
- 00000000000000000000C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242420042424200424242004242
- 4200C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF005AAD5A007BBD7B0073BD
- 730063AD63005AAD5A00FFFFFF00FFFFFF00A5D6A500429C4200429C4200399C
- 39003194310031943100217B2100FFFFFF00000000000084840000000000DEEF
- EF00DEEFEF00DEEFEF0000000000000000000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242
- 4200C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF006BB56B008CC68C007BBD
- 7B006BB56B0063B56300FFFFFF00A5D6A5005AAD5A0052A552004AA54A0042A5
- 4200399C390031943100217B2100FFFFFF00000000000084840000000000DEEF
- EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF000000
- 00000084840000000000C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242420042424200424242004242
- 4200C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF0073BD73009CCE9C008CC6
- 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
- 4A0042A542003194310018731800FFFFFF00000000000084840000000000DEEF
- EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF000000
- 00000084840000000000C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042424200DEEFEF0042424200C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00B5DEB50073BD730063B5
- 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
- 390031943100218C21008CBD8C00FFFFFF00000000000084840000000000DEEF
- EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF000000
- 0000DEEFEF0000000000C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
- 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242420042424200C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6004242420042424200424242004242
- 42004242420042424200424242004242420042424200C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C0C0C000C0C0C000000000000000000000000000C0C0C000C0C0
- C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF0052ADFF0018529400185A
- 9C00185A9C00185A9C00185AA500185AA500185A9C00185A9C00185294001852
- 940018528C00184A84004AADFF00FFFFFF00FFFFFF0084B58400107310001873
- 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
- 0800007B0000007300007BB57B00FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000000000000000000084008400840084008484840000000000C0C0
- C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00185AA500186BBD001873
- CE001873CE001873CE001873CE001873CE001873CE001873CE001873CE00186B
- C600186BBD00185AA500104A7B00FFFFFF00FFFFFF0010841000218C21002994
- 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
- 100008A5080000940000006B0000FFFFFF00C0C0C000C0C0C000C0C0C0000000
- 0000000000008400840084008400FFFFFF00FFFFFF00C6C6C600848484000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C6000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 000084000000C6C6C600C6C6C600C6C6C600FFFFFF001863AD001873CE00187B
- DE00187BDE00187BE7001884E700188CF700188CF700188CF700188CF700187B
- DE00186BC6001863AD0018528C00FFFFFF00FFFFFF00188C180029942900399C
- 3900399C3900399C390039A539004AA54A00A5D6A500FFFFFF004AA54A0031A5
- 310018A51800009C0000007B0000FFFFFF00C0C0C00000000000000000008400
- 840084008400FFFFFF00FFFFFF000000000000000000C6C6C600C6C6C6008484
- 840000000000C0C0C000C0C0C000C0C0C00000000000C6C6C600C6C6C600C6C6
- C6000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 000084000000C6C6C600C6C6C600C6C6C600FFFFFF00186BC600187BDE001884
- EF00FFFFFF0084C6FF00188CF700188CF700188CF700188CF70084C6FF00FFFF
- FF001873CE00186BBD0018529400FFFFFF00FFFFFF0021942100399C390042A5
- 420042A5420042A542004AA54A00A5D6A500FFFFFF00FFFFFF004AA54A0039A5
- 390021A5210008A50800087B0800FFFFFF00000000008400840084008400FFFF
- FF00FFFFFF000000000000000000840084008400840000000000C6C6C600C6C6
- C6008484840000000000C0C0C000C0C0C0000000000000000000C6C6C6000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF001873CE001884E700188C
- F700188CFF00FFFFFF0084C6FF00188CF700188CF70084C6FF00FFFFFF001884
- E7001873D600186BC600185A9C00FFFFFF00FFFFFF0029942900429C42004AA5
- 4A0052A552004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
- 390021A5210010A5100008840800FFFFFF000000000084008400FFFFFF000000
- 000000000000840084008400840084008400840084008400840000000000C6C6
- C600C6C6C6008484840000000000C0C0C0000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 000084848400C6C6C600C6C6C600C6C6C600FFFFFF00187BDE00188CF700188C
- FF00188CF700188CF700FFFFFF0084C6FF0084C6FF00FFFFFF00188CF7001884
- E7001873D6001873CE00185AA500FFFFFF00FFFFFF00319C31004AA54A0052A5
- 52004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
- 390021A5210018A5180010841000FFFFFF000000000000000000000000008400
- 840084008400840084000084840000FFFF008400840084008400840084000000
- 0000C6C6C600C6C6C60084848400000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C600C6C6C600840000008400
- 000084848400C6C6C600C6C6C600C6C6C600FFFFFF001884E700188CFF00188C
- F700188CF700188CF700188CF700FFFFFF0084C6FF00188CF7001884EF00187B
- DE001873CE001873CE001863AD00FFFFFF00FFFFFF00429C420052A552004AA5
- 4A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042A5420031A5
- 3100219C2100219C210018841800FFFFFF000000000084008400840084008400
- 8400840084008400840084008400008484008400840084008400840084008400
- 840000000000C6C6C60000000000C0C0C0000000000000000000000000000000
- 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C6008400
- 000084000000C6C6C600C6C6C600C6C6C600FFFFFF001884EF00188CFF00188C
- FF00188CF700188CF70084C6FF00FFFFFF00FFFFFF0084C6FF001884E7001873
- D6001873CE001873CE001863AD00FFFFFF00FFFFFF0042A5420052A5520052A5
- 5200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C3900299C
- 2900219C2100219C2100217B2100FFFFFF00C0C0C00084008400FFFFFF008400
- 84008400840084008400840084008400840000FFFF0000FFFF00840084008400
- 8400840084000000000000000000C0C0C0000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600840000008400000084848400C6C6C600FFFFFF00188CFF002194FF002194
- FF00188CFF0084C6FF00FFFFFF001884F7001884EF00FFFFFF0084C6FF001873
- CE001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552005AAD5A005AAD
- 5A0052A55200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C39003194
- 31002994290029942900217B2100FFFFFF00C0C0C000C0C0C00084008400FFFF
- FF0084008400840084008400840084008400840084000084840000FFFF0000FF
- FF00840084008400840000000000C0C0C0000000000000000000000000000000
- 000000000000C6C6C600C6C6C600848484008400000084000000C6C6C600C6C6
- C60084848400840000008400000084848400FFFFFF00188CFF0039A5FF0039A5
- FF0084C6FF00FFFFFF00188CFF00188CFF001884EF001884E700FFFFFF0084C6
- FF001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552006BB56B006BB5
- 6B005AAD5A0052AD5200A5D6A500FFFFFF00FFFFFF00FFFFFF00399C39003194
- 31002994290029942900217B2100FFFFFF00C0C0C000C0C0C000C0C0C0008400
- 8400FFFFFF00840084008400840084008400008484008400840000FFFF0000FF
- FF00840084008400840084008400000000000000000000000000000000000000
- 0000C6C6C600C6C6C600C6C6C600840000008400000084848400C6C6C600C6C6
- C600C6C6C600840000008400000084000000FFFFFF002194FF0052ADFF004AAD
- FF00FFFFFF002194FF002194FF001894FF00188CF7001884EF001884E700FFFF
- FF001873CE001873CE001863AD00FFFFFF00FFFFFF005AAD5A007BBD7B0073BD
- 730063AD63005AAD5A005AAD5A00A5D6A500FFFFFF00FFFFFF00429C4200399C
- 39003194310031943100217B2100FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
- C00084008400FFFFFF00840084008400840000FFFF0000FFFF0000FFFF008400
- 840084008400840084000000000000000000000000000000000000000000C6C6
- C600C6C6C600C6C6C600C6C6C600840000008400000084848400C6C6C600C6C6
- C600C6C6C600840000008400000084000000FFFFFF0039A5FF006BBDFF0052AD
- FF0039A5FF00319CFF00299CFF00299CFF002194FF00188CFF001884F7001884
- EF00187BDE001873CE001863AD00FFFFFF00FFFFFF006BB56B008CC68C007BBD
- 7B006BB56B0063B5630063AD630063AD6300A5D6A500FFFFFF004AA54A0042A5
- 4200399C390031943100217B2100FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C00084008400FFFFFF00840084008400840084008400840084008400
- 84000000000000000000C0C0C000C0C0C0000000000000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6
- C60084848400840000008400000084848400FFFFFF004AADFF0084C6FF006BBD
- FF0052ADFF004AADFF0039A5FF00319CFF00299CFF002194FF001894FF00188C
- F7001884EF001873CE00185A9C00FFFFFF00FFFFFF0073BD73009CCE9C008CC6
- 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
- 4A0042A542003194310018731800FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C0C0C00084008400FFFFFF008400840084008400000000000000
- 0000C0C0C000C0C0C000C0C0C000C0C0C00000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000840000008400
- 0000840000008400000084848400C6C6C600FFFFFF00ADDEFF004AADFF00319C
- FF002194FF00188CFF00188CFF00188CF700188CF7001884EF001884E700187B
- DE001873CE00186BBD0063B5FF00FFFFFF00FFFFFF00B5DEB50073BD730063B5
- 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
- 390031943100218C21008CBD8C00FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
- C000C0C0C000C0C0C000C0C0C000840084008400840000000000C0C0C000C0C0
- C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
- C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000C6C6C600C6C6
- C60084848400C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60000000000C6C6C60000000000C6C6C600000000000000000000000000C6C6
- C60084848400C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00000000000000000000000000C6C6C600C6C6C600C6C6C60000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000C6C6C600C6C6
- C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF0000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C6008400
- 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
- C60084848400C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600000000000000000000000000FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600848484008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000840000008400
- 00008400000084000000C6C6C600C6C6C6000000000000000000FFFFFF000000
- 00000000000000000000000000000000000000000000FFFFFF00000000000000
- 0000000000000000000000000000C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60084848400C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C6000000000000000000C6C6C600FFFFFF00FFFFFF000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 00008400000084000000C6C6C600C6C6C6000000000000000000FFFFFF000000
- 00000000000000000000C6C6C6000000000000000000FFFFFF00000000000000
- 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6
- C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600FFFFFF00FFFFFF00FFFFFF0000000000FFFF
- FF0000000000FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 00008400000084000000C6C6C600C6C6C6000000000000000000FFFFFF000000
- 00000000000000000000C6C6C6000000000000000000FFFFFF00000000000000
- 0000000000000000000000000000C6C6C600C6C6C600C6C6C60000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 000000000000FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF000000
- 0000FFFFFF0000000000FFFFFF0000000000C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
- C6008400000084000000C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000848400008484000000
- 0000FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFF
- FF0000000000FFFFFF0000000000C6C6C600C6C6C600C6C6C600848484008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00000000000000000000000000C6C6C60000000000FFFFFF00000000000000
- 000000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
- C60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
- 0000FFFFFF000000000000848400008484000000000000000000FFFFFF000000
- 0000FFFFFF000000000000000000C6C6C600C6C6C600C6C6C600C6C6C6008484
- 840084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 0000000000000000000000000000C6C6C6000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
- C60000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C6008484840000000000000000000000
- 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
- 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
- 8400FFFFFF000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 0000FFFFFF0000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C6000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6
- C60000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400000000008484
- 8400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 000000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
- 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
- 8400FFFFFF00C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
- 000084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C60084000000C6C6C600C6C6C6008400000084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
- 0000840000008400000084000000C6C6C600C6C6C60000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
- 8400008484008484840084000000FFFFFF008400000084000000840000008400
- 00008400000084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000FFFFFF000000000000000000000000000000
- 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
- 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600840000008400000084000000C6C6C60084000000C6C6C600C6C6C6008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
- 8400008484008484840084000000FFFFFF00840000008400000084000000FFFF
- FF0084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
- 840084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60084000000C6C6C600840000008400000084000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000000000000000
- 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
- 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600840000008400
- 0000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600840000000000000084000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
- 8400008484008484840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000FFFFFF008400
- 0000840000008400000084000000C6C6C6000000000000848400848484000084
- 8400848484000084840084000000840000008400000084000000840000008400
- 00008400000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600000000000000000000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
- 0000FFFFFF0084000000C6C6C600C6C6C6000000000084848400008484008484
- 8400008484008484840000848400848484000084840084848400008484008484
- 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
- 0000C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
- 000084000000C6C6C600C6C6C600C6C6C6000000000000848400848484000000
- 0000000000000000000000000000000000000000000000000000000000008484
- 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
- C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6
- C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000C6C6C6000000000000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
- 0000FFFFFF000000000084000000840000008400000084000000840000008400
- 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400848484000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484
- 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000840000008400
- 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0000000000FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000848400848484000084
- 84000000000000FFFF00000000000000000000FFFF0000000000848484000084
- 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
- FF00FFFFFF000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000000FFFF0000FFFF000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C60000000000000000000000000000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000C6C6C600C6C6C600C6C6C600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C6000000000000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000084
- 8400000000000000000000000000000000000000000000000000C6C6C600C6C6
- C600000000000084840000000000C6C6C600C6C6C60000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 0000C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000C6C6C600C6C6C600C6C6C6000000000000000000008484000084
- 8400008484000084840000848400008484000084840000848400008484000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000084
- 8400000000000000000000000000000000000000000000000000C6C6C600C6C6
- C600000000000084840000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000C6C6C600C6C6C600C6C6C6000000000000FFFF00000000000084
- 8400008484000084840000848400008484000084840000848400008484000084
- 840000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000084
- 8400000000000000000000000000000000000000000000000000C6C6C600C6C6
- C600000000000084840000000000C6C6C60000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C60000FFFF0000FFFF0000FFFF00C6C6C600C6C6
- C600000000000000000000000000C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF0000FFFF000000
- 0000008484000084840000848400008484000084840000848400008484000084
- 84000084840000000000C6C6C600C6C6C600C6C6C60000000000008484000084
- 8400000000000000000000000000000000000000000000000000000000000000
- 0000000000000084840000000000C6C6C60000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600848484008484840084848400C6C6C600C6C6
- C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000C6C6C600C6C6C600C6C6C6000000000000FFFF00FFFFFF0000FF
- FF00000000000084840000848400008484000084840000848400008484000084
- 8400008484000084840000000000C6C6C600C6C6C60000000000008484000084
- 8400008484000084840000848400008484000084840000848400008484000084
- 8400008484000084840000000000C6C6C6000000000000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 000000000000C6C6C600C6C6C60000000000C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF0000FFFF00FFFF
- FF0000FFFF000000000000000000000000000000000000000000000000000000
- 000000000000000000000000000000000000C6C6C60000000000008484000084
- 8400000000000000000000000000000000000000000000000000000000000000
- 0000008484000084840000000000C6C6C60000000000C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
- 0000C6C6C60000000000C6C6C60000000000C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000C6C6C600C6C6C600C6C6C6000000000000FFFF00FFFFFF0000FF
- FF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF0000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600000000000084840000000000C6C6C600C6C6C60000000000000000000000
- 000000000000000000000000000000000000000000000000000000000000C6C6
- C60000000000C6C6C6000000000000000000C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF0000FFFF00FFFF
- FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600000000000084840000000000C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
- 0000C6C6C60000000000C6C6C60000000000C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000C6C6C600C6C6C600C6C6C6000000000000FFFF00FFFFFF0000FF
- FF0000000000000000000000000000000000000000000000000000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600000000000084840000000000C6C6C600C6C6C600C6C6C600C6C6C6000000
- 0000FFFFFF000000000000000000000000000000000000000000FFFFFF000000
- 0000000000000000000000000000C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
- 000000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600000000000000000000000000C6C6C600C6C6C60000000000008484000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600000000000084840000000000C6C6C600C6C6C600C6C6C600C6C6C6000000
- 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF0000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000C6C6C600C6C6C60000000000008484000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60000000000FFFFFF000000000000000000000000000000000000000000FFFF
- FF0000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
- FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
- C60000000000C6C6C60000000000C6C6C600C6C6C60000000000008484000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C60000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
- FF00FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6C600000000000000
- 0000000000000000000000000000000000000000000000000000C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
- 0000000000000000000000000000000000000000000000000000000000000000
- 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C6000000000000000000000000000000000000000000000000000000
- 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
- C600C6C6C600C6C6C600C6C6C600C6C6C600424D3E000000000000003E000000
- 2800000040000000F00000000100010000000000800700000000000000000000
- 000000000000000000000000FFFFFF00F81FFEFFFFFF0000E007FDFFC07F0000
- C003FCFF001F00008001D81F001F00008001E01F001F00000000E01F00000000
- 0000C00300000000000080038000000000004003C00000000000C003C0000000
- 00000003C04100008001C043C04100008001E843C0410000C003E843E0C10000
- E007F843FFC10000F81FF843FFFF0000FEFFFEFFFEFFFFFFFDFFFDFFFDFF003F
- FCFFFCFFFCFF003FD81FD81FD81F003FE01FE01FE01F0000E01FE01FE01F0000
- C00BC00BC00B000080078007800700004013401F400F0000C03CC019C00FC000
- 003D0019000FC000C0DDC019C00FC000ECFBEC49E01FC000EB3BE841C21AC000
- FFC7FFDFD61AC000FFF7FC00D7FAFFFFFEFF0000FEFFFEFFFDFF0000FDFFFDE0
- FCFF0000FCFFFCE0D81F0000D81FD800E01F0000E01FE01DE01F0000E01FE00D
- C00B0000C00BC0018007000080008007400700004000401FC0038007C000C020
- 0001401F00000000C081C03FC000C0C0ED83003FEC00EDFDEB87C0DFEA00EA0D
- FF8FEDFFFE00FE01FF9FEBFFFE00FE0FFEFFFEFFFEFFFEFFFDFFFDFFFDFFFDFF
- FCFFFCFFFCFFFCFFD81FD81FD81FD81FE01FE01FE01FE01FE01FE01FE01FE01F
- C00BC00BC00BC00B80078000800780074007400040074007C003C000C023C023
- 0001000000110031C081C000C011C0D1ED83EC00EC23EDE3EB87EA00E847EBC7
- FF8FFE00F88FFF8FFF9FFE00F99FFF9FFDFFFE07FE03FEFFE07FFC03FE03FDFF
- E00FF801FE03FCFFC003F000FE03D81FC003F000FE03E01F8003F000FE03E01F
- 8003F000FC01C00B80010000000080030001000000004001000100000000C000
- 8001000000000000C00300000000C000C00300000000EC00E00300000000EA00
- FC3700000000FF01FF3F00000000FF83F81F0000FE07FFFFE0070000FC03FF7F
- C0030000F801FEFF80010000F000FE7F80010000F000EC0F00000F80F000F00F
- 00000F80F000F00F0000FE3F0000E0050000E23F0000C0030000E2300000A00F
- 000003F00000E01F80011F100000801F80011F1F0000E06FC003F1110000F6FF
- E007F1F10000F5FFF81FF1F10000FFFFFE00FC3FFFFFFCFFFE00C003FC7FF8CF
- FE008001F81FF08FFE008001F007F80FE0008001E001F08FC00083C1C000F00F
- 800007E08000E00F000107E00000F00F000107E00000E00F000107E00001C007
- 000183C10003C003000180010007C00300038001800FC003801F8001E01FE003
- C03FC003F83FF007E07FFC3FFE7FFF0FFE00FE00FFFFFFFFFE00FE00C007C007
- F8008000C007C007F800000000070007F800000000070007F800000000070007
- 0000000000070007000000000007000700010001000700070003000300070007
- 000100030007000700000003000F000F001F0003001F001F001F0003003F003F
- 001F0003007F007F8FFF000300FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC007
- C007FFFFFFFFC007C007F73FFFFF0007C007F63FFFFF0007C007F47FF9100007
- C007F0FFDD240007C007F1FFDC600007C007F1FF05040007C00754F5DD000007
- C0075675DDFF0007C0075735F9FF000FC00F5FF5FFFF001FC01FFFFFFFFF003F
- C03FFFFFFFFF007FFFFFFFFFFFFF00FFFFFFFFFFFFFFFC00C007FFF9FFFFFC00
- 8003E7FF07C1FC000001C3F307C104000001C3E707C104000001E1C701010400
- 0000F08F000100000000F81F000100008000FC3F00010000C000F81F80030001
- E001F09FC1078003E007C1C7C107C007F00783E3E38FC107F0038FF1E38FE38F
- F803FFFFE38FE38FFFFFFFFFFFFFE38F8001FC00FFFFFFFF0000FC00FFFF000C
- 00008000001F000800000000001F000100000000001D000300000000001D0003
- 00000000001E000300000000001E000300000000001E000300000001001D0007
- 000000030003000F00000003001F000F00000003003F000F00000003007F001F
- 0000000300FF003F80010003FFFF007FFFFFFFFF80018001FE3FF9FF00000000
- F81FF9FF00000000E00FF3C700000000800773C700000000000327FF00000000
- 000107C700000000000000C700000000000101E700000000800103F100000000
- C001063000000000E0000E3800000000F0001E3800000000F8033F3000000000
- FC0F7F8100000000FE3FFFFF80018001FFFFFFFFFFFFFFFFFFFFFFFFFF71FFFF
- FFFF07C1FF36FF81FFFF07C1F516FF00FFFF07C1DF31FE00E7FF0101FF76FE00
- CF830001BFF6FC00DFC30001FFD1F800DFE30001DFFF8000DFD38003FFBF0001
- CF3BC10777FF0001E0FFC10777BF0001FFFFE38F07FF0001FFFFE38FAFD70001
- FFFFE38F8FE70001FFFFFFFFDFC78003FFFFFFFFFFFFFFFFF3FFFFFFFC00FFFF
- ED9FFC018000FFFFED6FFC010000FFFFED6FFC010000FFFFF16F00010000FFE7
- FD1F00010001C1F3FC7F00010003C3FBFEFF00010003C7FBFC7F00030003CBFB
- FD7F00070003DCF3F93F000F0003FF07FBBF00FF0003FFFFFBBF01FF8007FFFF
- FBBF03FFF87FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC001C007
- C007001F80018003C007000F80010001C007000780010001C007000380010001
- C007000180010000C007000080010000C007001F80018000C007001F8001C000
- C007001F8001E001C0078FF18001E007C00FFFF98001F007C01FFF758001F003
- C03FFF8F8001F803FFFFFFFFFFFFFFFF00000000000000000000000000000000
- 000000000000}
- end
- object ApplicationEvents1: TApplicationEvents
- OnHelp = ApplicationEvents1Help
- OnMessage = ApplicationEvents1Message
- Left = 484
- Top = 176
- end
- object dockServer: TJvDockServer
- LeftSplitterStyle.Cursor = crHSplit
- LeftSplitterStyle.ParentColor = False
- RightSplitterStyle.Cursor = crHSplit
- RightSplitterStyle.ParentColor = False
- TopSplitterStyle.Cursor = crVSplit
- TopSplitterStyle.ParentColor = False
- BottomSplitterStyle.Cursor = crVSplit
- BottomSplitterStyle.ParentColor = False
- DockStyle = JvDockVSNetStyle1
- Left = 616
- Top = 304
- end
- object JvDockVSNetStyle1: TJvDockVSNetStyle
- AlwaysShowGrabber = False
- TabServerOption.ActiveFont.Charset = DEFAULT_CHARSET
- TabServerOption.ActiveFont.Color = clWindowText
- TabServerOption.ActiveFont.Height = -11
- TabServerOption.ActiveFont.Name = 'Tahoma'
- TabServerOption.ActiveFont.Style = []
- TabServerOption.InactiveFont.Charset = DEFAULT_CHARSET
- TabServerOption.InactiveFont.Color = 5395794
- TabServerOption.InactiveFont.Height = -11
- TabServerOption.InactiveFont.Name = 'Tahoma'
- TabServerOption.InactiveFont.Style = []
- TabServerOption.ShowCloseButtonOnTabs = False
- Left = 528
- Top = 312
- end
- object mnuReloadAsFormat: TPopupMenu
- Left = 296
- Top = 80
- object ANSI1: TMenuItem
- Caption = 'ANSI'
- end
- object UTF81: TMenuItem
- Caption = 'UTF-8'
- end
- object UTF161: TMenuItem
- Caption = 'UTF-16'
- end
- end
- object MainMenu1: TMainMenu
- Images = lstImages
- Left = 448
- Top = 376
- object File1: TMenuItem
- Caption = '&File'
- OnClick = mnuFileClick
- object New1: TMenuItem
- Action = modActionsMain.actFileNew
- end
- object Open1: TMenuItem
- Action = modActionsMain.actFileOpen
- end
- object Save1: TMenuItem
- Action = modActionsMain.actFileSave
- end
- object SaveAs1: TMenuItem
- Action = modActionsMain.actFileSaveAs
- end
- object Savecopyas1: TMenuItem
- Action = modActionsMain.actFileSaveCopyAs
- end
- object Revert1: TMenuItem
- Action = modActionsMain.actFileRevert
- end
- object N5: TMenuItem
- Caption = '-'
- end
- object Close1: TMenuItem
- Action = modActionsMain.actWindowClose
- end
- object N6: TMenuItem
- Caption = '-'
- end
- object PageSetup1: TMenuItem
- Action = modActionsMain.actFilePageSetup
- end
- object PrintPreview1: TMenuItem
- Action = modActionsMain.actFilePrintPreview
- end
- object Print1: TMenuItem
- Action = modActionsMain.actFilePrint
- end
- object N9: TMenuItem
- Caption = '-'
- end
- object mnuFileRecent: TMenuItem
- Caption = 'Recent &Files'
- object TMenuItem
- end
- end
- object N8: TMenuItem
- Caption = '-'
- end
- object Exit1: TMenuItem
- Action = modActionsMain.actFileExit
- end
- end
- object Edit1: TMenuItem
- Caption = '&Edit'
- object Undo1: TMenuItem
- Action = modActionsMain.actEditUndo
- end
- object Redo1: TMenuItem
- Action = modActionsMain.actEditRedo
- end
- object N10: TMenuItem
- Caption = '-'
- end
- object Cut1: TMenuItem
- Action = modActionsMain.actEditCut
- end
- object Copy1: TMenuItem
- Action = modActionsMain.actEditCopy
- end
- object Paste1: TMenuItem
- Action = modActionsMain.actEditPaste
- end
- object N18: TMenuItem
- Caption = '-'
- end
- object Delete1: TMenuItem
- Action = modActionsMain.actEditDelete
- end
- object N19: TMenuItem
- Caption = '-'
- end
- object SelectAll1: TMenuItem
- Action = modActionsMain.actEditSelectAll
- end
- object N20: TMenuItem
- Caption = '-'
- end
- object Find1: TMenuItem
- Action = modActionsMain.actSearchFind
- end
- object FindNext1: TMenuItem
- Action = modActionsMain.actSearchFindNext
- end
- object Replace1: TMenuItem
- Action = modActionsMain.actSearchReplace
- end
- object N21: TMenuItem
- Caption = '-'
- end
- object ReformatXMLDocument1: TMenuItem
- Action = modActionsTextEditor.actTextEditor_ReformatXML
- end
- object N1: TMenuItem
- Caption = '-'
- end
- object Reloadwithencoding1: TMenuItem
- Caption = 'Reload with &encoding'
- object ReloadasANSI1: TMenuItem
- Action = modActionsMain.actToolsReloadANSI
- end
- object ReloadasUTF81: TMenuItem
- Action = modActionsMain.actToolsReloadUTF8
- end
- object ReloadasUTF161: TMenuItem
- Action = modActionsMain.actToolsReloadUTF16
- end
- end
- end
- object View1: TMenuItem
- Caption = '&View'
- object Project2: TMenuItem
- Action = modActionsMain.actViewProject
- end
- object N22: TMenuItem
- Caption = '-'
- end
- object CharacterIdentifier1: TMenuItem
- Action = modActionsMain.actViewCharacterIdentifier
- end
- object CharacterMap1: TMenuItem
- Action = modActionsMain.actViewCharacterMap
- end
- object Messages1: TMenuItem
- Action = modActionsMain.actViewMessages
- end
- object ContextHelp1: TMenuItem
- Action = modActionsMain.actViewHelp
- end
- object oolbar1: TMenuItem
- Action = modActionsMain.actViewToolbar
- end
- object StatusBar1: TMenuItem
- Action = modActionsMain.actViewStatusBar
- end
- object N23: TMenuItem
- Caption = '-'
- end
- object ExpandEditor1: TMenuItem
- Action = modActionsMain.actViewExpandEditor
- end
- object N24: TMenuItem
- Caption = '-'
- end
- object CharacterFont1: TMenuItem
- Action = modActionsMain.actViewCharFont
- end
- object CodeFont1: TMenuItem
- Action = modActionsMain.actViewCodeFont
- end
- end
- object Project1: TMenuItem
- Caption = '&Project'
- OnClick = mnuProjectClick
- object NewProject1: TMenuItem
- Action = modActionsMain.actProjectNew
- end
- object OpenProject1: TMenuItem
- Action = modActionsMain.actProjectOpen
- end
- object CloseProject1: TMenuItem
- Action = modActionsMain.actProjectClose
- end
- object N25: TMenuItem
- Caption = '-'
- end
- object mnuProjectsRecent: TMenuItem
- Caption = '&Recent Projects'
- end
- object N26: TMenuItem
- Caption = '-'
- end
- object mnuProjectAddToProject: TMenuItem
- Caption = 'A&dd to project'
- object CurrentEditorFile1: TMenuItem
- Action = modActionsMain.actProjectAddCurrentEditorFile
- end
- object OtherFiles1: TMenuItem
- Action = modActionsMain.actProjectAddFiles
- end
- end
- object N27: TMenuItem
- Caption = '-'
- end
- object ProjectSettings1: TMenuItem
- Action = modActionsMain.actProjectSettings
- end
- end
- object mnuModel: TMenuItem
- Caption = '&Model'
- object CompileModel1: TMenuItem
- Action = modActionsModelEditor.actModelCompile
- end
- object N2: TMenuItem
- Caption = '-'
- end
- object estLexicalModel1: TMenuItem
- Action = modActionsModelEditor.actModelTest
- end
- end
- object mnuKeyboard: TMenuItem
- Caption = '&Keyboard'
- object CompileKeyboard1: TMenuItem
- Action = modActionsKeyboardEditor.actKeyboardCompile
- end
- object N28: TMenuItem
- Caption = '-'
- end
- object IncludeDebugInformation1: TMenuItem
- Action = modActionsKeyboardEditor.actKeyboardIncludeDebugInformation
- end
- object estKeyboard1: TMenuItem
- Action = modActionsKeyboardEditor.actKeyboardTest
- end
- object N29: TMenuItem
- Caption = '-'
- end
- object Install1: TMenuItem
- Action = modActionsKeyboardEditor.actKeyboardInstall
- end
- object Uninstall1: TMenuItem
- Action = modActionsKeyboardEditor.actKeyboardUninstall
- end
- object N31: TMenuItem
- Caption = '-'
- end
- object Fonts1: TMenuItem
- Action = modActionsKeyboardEditor.actKeyboardFonts
- end
- object FontHelper1: TMenuItem
- Action = modActionsKeyboardEditor.actKeyboardFontHelper
- end
- end
- object mnuDebug: TMenuItem
- Caption = '&Debug'
- object SetBreakpoint1: TMenuItem
- Action = modActionsDebugger.actDebugSetClearBreakpoint
- end
- object N32: TMenuItem
- Caption = '-'
- end
- object StartDebugging1: TMenuItem
- Action = modActionsDebugger.actDebugStartDebugger
- end
- object StopDebugger1: TMenuItem
- Action = modActionsDebugger.actDebugStopDebugger
- end
- object N33: TMenuItem
- Caption = '-'
- end
- object ANSITestMode1: TMenuItem
- Action = modActionsDebugger.actDebugANSITestMode
- end
- object N34: TMenuItem
- Caption = '-'
- end
- object SingleStepMode1: TMenuItem
- Action = modActionsDebugger.actDebugSingleStepMode
- end
- object N35: TMenuItem
- Caption = '-'
- end
- object StepForward1: TMenuItem
- Action = modActionsDebugger.actDebugStepForward
- end
- object Run1: TMenuItem
- Action = modActionsDebugger.actDebugRun
- end
- object Pause1: TMenuItem
- Action = modActionsDebugger.actDebugPause
- end
- object N36: TMenuItem
- Caption = '-'
- end
- object View2: TMenuItem
- Caption = '&View'
- object State1: TMenuItem
- Action = modActionsDebugger.actDebugViewState
- end
- object Elements1: TMenuItem
- Action = modActionsDebugger.actDebugViewElements
- end
- object CallStack1: TMenuItem
- Action = modActionsDebugger.actDebugViewCallStack
- end
- object Deadkeys1: TMenuItem
- Action = modActionsDebugger.actDebugViewDeadkeys
- end
- object RegressionTesting1: TMenuItem
- Action = modActionsDebugger.actDebugViewRegressionTesting
- end
- object N38: TMenuItem
- Caption = '-'
- end
- object Font1: TMenuItem
- Action = modActionsDebugger.actDebugViewFont
- end
- object UseEditorCharacterFont1: TMenuItem
- Action = modActionsDebugger.actDebugViewDefaultFont
- end
- end
- object N37: TMenuItem
- Caption = '-'
- end
- object SelectSystemKeyboard1: TMenuItem
- Action = modActionsDebugger.actDebugSelectSystemKeyboard
- end
- end
- object mnuTools: TMenuItem
- Caption = '&Tools'
- OnClick = mnuToolsClick
- object VirtualKeyIdentifier1: TMenuItem
- Action = modActionsMain.actToolsVirtualKeyIdentifier
- end
- object N39: TMenuItem
- Caption = '-'
- end
- object mnuToolsWebDebugger: TMenuItem
- Caption = '&Server'
- object mnuToolsWebDebuggerOpenInBrowser: TMenuItem
- Action = modActionsMain.actToolsWebOpenPublicUrl
- end
- object mnuToolsWebDebuggerCopyToClipboard: TMenuItem
- Action = modActionsMain.actToolsWebCopyPublicUrl
- end
- object N11: TMenuItem
- Caption = '-'
- end
- object Startserver1: TMenuItem
- Action = modActionsMain.actToolsWebStartServer
- end
- object Stopserver1: TMenuItem
- Action = modActionsMain.actToolsWebStopServer
- end
- object N7: TMenuItem
- Caption = '-'
- end
- object mnuToolsWebDebuggerConfigure: TMenuItem
- Action = modActionsMain.actToolsWebConfigure
- end
- end
- object N4: TMenuItem
- Caption = '-'
- end
- object Options1: TMenuItem
- Action = modActionsMain.actToolsOptions
- end
- object mnuToolsDebugTests: TMenuItem
- Caption = 'Debug Tests'
- object mnuToolsDebugTestsShowDebuggerEventsPanel: TMenuItem
- Caption = 'Show Debugger Events panel'
- OnClick = mnuToolsDebugTestsShowDebuggerEventsPanelClick
- end
- object N3: TMenuItem
- Caption = '-'
- end
- object mnuToolsDebugTestsExceptionTest: TMenuItem
- Caption = '&Exception Test'
- OnClick = mnuToolsDebugTestsExceptionTestClick
- end
- end
- end
- object mnuWindow: TMenuItem
- Caption = '&Window'
- OnClick = mnuWindowClick
- object Newwindow1: TMenuItem
- Action = modActionsMain.actWindowNew
- end
- object N12: TMenuItem
- Caption = '-'
- end
- end
- object Help1: TMenuItem
- Caption = '&Help'
- object Contents1: TMenuItem
- Action = modActionsMain.actHelpContents
- end
- object N40: TMenuItem
- Caption = '-'
- end
- object CheckforUpdates1: TMenuItem
- Action = modActionsMain.actHelpCheckForUpdates
- end
- object N41: TMenuItem
- Caption = '-'
- end
- object About1: TMenuItem
- Action = modActionsMain.actHelpAbout
- end
- end
- end
-end
+inherited frmKeymanDeveloper: TfrmKeymanDeveloper
+ Left = 484
+ Top = 327
+ Caption = 'Keyman Developer'
+ ClientHeight = 760
+ ClientWidth = 1087
+ DoubleBuffered = True
+ Font.Name = 'MS Sans Serif'
+ KeyPreview = True
+ Menu = MainMenu1
+ Position = poDefault
+ WindowState = wsMaximized
+ OnClose = FormClose
+ OnCloseQuery = FormCloseQuery
+ OnDestroy = FormDestroy
+ ExplicitWidth = 1103
+ ExplicitHeight = 819
+ PixelsPerInch = 96
+ TextHeight = 13
+ object barStatus: TStatusBar
+ Left = 0
+ Top = 741
+ Width = 1087
+ Height = 19
+ Constraints.MaxHeight = 19
+ Constraints.MinHeight = 19
+ Panels = <
+ item
+ Alignment = taCenter
+ Text = 'Line 1, Col 1'
+ Width = 100
+ end
+ item
+ Alignment = taCenter
+ Text = 'Insert'
+ Width = 120
+ end
+ item
+ Width = 50
+ end>
+ end
+ object pages: TCloseButtonPageControl
+ Left = 0
+ Top = 24
+ Width = 1087
+ Height = 717
+ Align = alClient
+ OwnerDraw = True
+ TabOrder = 1
+ OnChange = pagesChange
+ OnCloseTab = pagesCloseTab
+ end
+ object barTools: TControlBar
+ Left = 0
+ Top = 0
+ Width = 1087
+ Height = 24
+ Align = alTop
+ AutoDock = False
+ AutoDrag = False
+ BevelInner = bvNone
+ BevelOuter = bvNone
+ DockSite = False
+ TabOrder = 2
+ object panDebugToolbar: TPanel
+ Left = 481
+ Top = 2
+ Width = 512
+ Height = 23
+ AutoSize = True
+ BevelOuter = bvNone
+ TabOrder = 0
+ object SpeedButton1: TSpeedButton
+ Left = 0
+ Top = 0
+ Width = 82
+ Height = 22
+ Action = modActionsDebugger.actDebugTestMode
+ AllowAllUp = True
+ GroupIndex = 1
+ end
+ object SpeedButton2: TSpeedButton
+ Left = 83
+ Top = 0
+ Width = 98
+ Height = 22
+ Action = modActionsDebugger.actDebugDebuggerMode
+ AllowAllUp = True
+ GroupIndex = 2
+ end
+ object cbDebugSystemKeyboard: TComboBox
+ Left = 367
+ Top = 1
+ Width = 145
+ Height = 21
+ Style = csDropDownList
+ TabOrder = 0
+ Visible = False
+ OnClick = cbDebugSystemKeyboardItemClick
+ OnDropDown = cbDebugSystemKeyboard_DropDown
+ end
+ object ToolBar2: TToolBar
+ Left = 187
+ Top = 1
+ Width = 174
+ Height = 22
+ Align = alNone
+ ButtonHeight = 23
+ Caption = 'ToolBar2'
+ Images = lstImages
+ TabOrder = 1
+ object ToolButton20: TToolButton
+ Left = 0
+ Top = 0
+ Width = 8
+ Caption = 'ToolButton20'
+ ImageIndex = 0
+ Style = tbsSeparator
+ end
+ object ToolButton21: TToolButton
+ Left = 8
+ Top = 0
+ Action = modActionsDebugger.actDebugStopDebugger
+ end
+ object ToolButton23: TToolButton
+ Left = 31
+ Top = 0
+ Width = 8
+ Caption = 'ToolButton23'
+ ImageIndex = 47
+ Style = tbsSeparator
+ end
+ object ToolButton22: TToolButton
+ Left = 39
+ Top = 0
+ Action = modActionsDebugger.actDebugSingleStepMode
+ end
+ object ToolButton24: TToolButton
+ Left = 62
+ Top = 0
+ Width = 8
+ Caption = 'ToolButton24'
+ ImageIndex = 47
+ Style = tbsSeparator
+ end
+ object ToolButton25: TToolButton
+ Left = 70
+ Top = 0
+ Action = modActionsDebugger.actDebugStepForward
+ end
+ object ToolButton26: TToolButton
+ Left = 93
+ Top = 0
+ Action = modActionsDebugger.actDebugRun
+ end
+ object ToolButton27: TToolButton
+ Left = 116
+ Top = 0
+ Action = modActionsDebugger.actDebugPause
+ end
+ object ToolButton28: TToolButton
+ Left = 139
+ Top = 0
+ Width = 8
+ Caption = 'ToolButton28'
+ ImageIndex = 58
+ Style = tbsSeparator
+ end
+ object ToolButton29: TToolButton
+ Left = 147
+ Top = 0
+ Action = modActionsDebugger.actDebugSetClearBreakpoint
+ end
+ end
+ end
+ object panToolbar: TPanel
+ Left = 11
+ Top = 2
+ Width = 448
+ Height = 23
+ AutoSize = True
+ BevelOuter = bvNone
+ TabOrder = 1
+ object ToolBar1: TToolBar
+ Left = 0
+ Top = 0
+ Width = 270
+ Height = 23
+ Align = alNone
+ AutoSize = True
+ ButtonHeight = 23
+ Caption = 'ToolBar1'
+ Images = lstImages
+ TabOrder = 0
+ Wrapable = False
+ object ToolButton1: TToolButton
+ Left = 0
+ Top = 0
+ Action = modActionsMain.actFileNew
+ end
+ object ToolButton2: TToolButton
+ Left = 23
+ Top = 0
+ Action = modActionsMain.actFileOpen
+ end
+ object ToolButton3: TToolButton
+ Left = 46
+ Top = 0
+ Action = modActionsMain.actFileSave
+ end
+ object ToolButton4: TToolButton
+ Left = 69
+ Top = 0
+ Width = 8
+ Caption = 'ToolButton4'
+ ImageIndex = 3
+ Style = tbsSeparator
+ end
+ object ToolButton7: TToolButton
+ Left = 77
+ Top = 0
+ Action = modActionsMain.actEditCut
+ end
+ object ToolButton8: TToolButton
+ Left = 100
+ Top = 0
+ Action = modActionsMain.actEditCopy
+ end
+ object ToolButton9: TToolButton
+ Left = 123
+ Top = 0
+ Action = modActionsMain.actEditPaste
+ end
+ object ToolButton10: TToolButton
+ Left = 146
+ Top = 0
+ Width = 8
+ Caption = 'ToolButton10'
+ ImageIndex = 7
+ Style = tbsSeparator
+ end
+ object ToolButton11: TToolButton
+ Left = 154
+ Top = 0
+ Action = modActionsMain.actEditUndo
+ end
+ object ToolButton12: TToolButton
+ Left = 177
+ Top = 0
+ Action = modActionsMain.actEditRedo
+ end
+ object ToolButton19: TToolButton
+ Left = 200
+ Top = 0
+ Width = 8
+ Caption = 'ToolButton19'
+ ImageIndex = 57
+ Style = tbsSeparator
+ end
+ object ToolButton14: TToolButton
+ Left = 208
+ Top = 0
+ Action = modActionsMain.actViewExpandEditor
+ end
+ object ToolButton15: TToolButton
+ Left = 231
+ Top = 0
+ Width = 8
+ Caption = 'ToolButton15'
+ ImageIndex = 56
+ Style = tbsSeparator
+ end
+ object ToolButton16: TToolButton
+ Left = 239
+ Top = 0
+ Action = modActionsKeyboardEditor.actKeyboardCompile
+ end
+ object ToolButton13: TToolButton
+ Left = 262
+ Top = 0
+ Width = 8
+ Caption = 'ToolButton13'
+ ImageIndex = 57
+ Style = tbsSeparator
+ end
+ end
+ object cbTextFileFormat: TComboBox
+ Left = 303
+ Top = 1
+ Width = 145
+ Height = 21
+ Style = csDropDownList
+ TabOrder = 1
+ OnClick = cbTextFileFormatItemClick
+ Items.Strings = (
+ 'ANSI'
+ 'UTF-8'
+ 'UTF-16')
+ end
+ end
+ end
+ object ilPages: TImageList
+ Left = 304
+ Top = 236
+ Bitmap = {
+ 494C01010A000E00040010001000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600
+ 0000000000003600000028000000400000003000000001002000000000000030
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000B5CEC600C6DED600C6DED600C6DED600C6DED600C6DED600C6E7DE000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000B5CEC600BDD6C600C6DECE00CEDED600CEDED600C6DECE00BDD6C600BDD6
+ C600000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0084B58400107310001873
+ 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
+ 0800007B0000007300007BB57B00FFFFFF00000000000000000000000000BDD6
+ CE00CEDECE00DEE7E700E7EFEF00EFF7F700EFF7EF00E7EFE700CEDED600B5CE
+ C60000000000000000000000000000000000000000000000000000000000BDCE
+ C600D6E7DE00EFF7EF00F7F7F700F7F7F700EFF7F700EFF7F700E7EFEF00D6DE
+ D600BDCEC6000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0010841000218C21002994
+ 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
+ 100008A5080000940000006B0000FFFFFF000000000000000000BDD6C600DEE7
+ E700F7FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF
+ EF00C6D6CE000000000000000000000000000000000000000000BDCEC600E7EF
+ E700F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFF700F7F7F700EFF7
+ F700DEE7DE00BDD6C60000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00188C180029942900399C
+ 3900399C3900399C3900FFFFFF00A5D6A5004AA54A004AA54A004AA54A0029A5
+ 290018A51800009C0000007B0000FFFFFF0000000000BDD6C600DEE7E700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7F7F700C6D6CE00000000000000000000000000BDCEC600E7EFE700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00F7FF
+ F700EFF7F700DEE7DE00BDCEC600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0021942100399C390042A5
+ 420042A5420042A54200FFFFFF00FFFFFF00A5D6A5004AA54A004AA54A0039A5
+ 390021A5210008A50800087B0800FFFFFF00C6DED600D6DEDE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00EFF7EF00BDCEC60000000000BDD6CE00D6E7DE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
+ FF00F7FFF700EFF7F700CEDED600BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0029942900429C42004AA5
+ 4A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00A5D6A5004AA54A0039A5
+ 390021A5210010A5100008840800FFFFFF00BDD6CE00EFF7EF00FFFFFF00FFFF
+ FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
+ FF00FFFFFF00FFFFFF00D6DED600BDDECE00BDD6C600EFF7F700FFFFFF00FFFF
+ FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
+ FF00FFFFFF00F7FFF700DEEFE700BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00319C31004AA54A0052A5
+ 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A50039A5
+ 390021A5210018A5180010841000FFFFFF00C6DECE00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E7EFEF00BDD6CE00C6D6CE00FFFFFF00FFFFFF00FFFF
+ FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
+ FF00FFFFFF00F7FFFF00E7EFEF00BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00429C420052A552004AA5
+ 4A004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
+ A500219C2100219C210018841800FFFFFF00CEDED600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE00CEDED600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0042A5420052A5520052A5
+ 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
+ A500219C2100219C2100217B2100FFFFFF00CEDED600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE00CEDED600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00EFF7EF00BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0052A552005AAD5A005AAD
+ 5A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A5003194
+ 31002994290029942900217B2100FFFFFF00C6D6CE00FFFFFF00FFFFFF00FFFF
+ FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
+ FF00FFFFFF00F7FFFF00E7EFEF00BDD6CE00C6DECE00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00E7EFEF00BDD6CE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0052A552006BB56B006BB5
+ 6B005AAD5A0052AD5200FFFFFF00FFFFFF00FFFFFF00A5D6A500399C39003194
+ 31002994290029942900217B2100FFFFFF00BDD6C600EFF7F700FFFFFF00FFFF
+ FF00FFFFFF0018634A0018634A00FFFFFF0018634A0018634A00FFFFFF00FFFF
+ FF00FFFFFF00F7FFF700DEEFE700BDD6CE00BDD6CE00EFF7EF00FFFFFF00FFFF
+ FF0018634A0018634A00FFFFFF00FFFFFF00FFFFFF0018634A0018634A00FFFF
+ FF00FFFFFF00FFFFFF00D6DED600BDDECE000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF005AAD5A007BBD7B0073BD
+ 730063AD63005AAD5A00FFFFFF00FFFFFF00A5D6A500429C4200429C4200399C
+ 39003194310031943100217B2100FFFFFF00BDD6CE00D6E7DE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0018634A0018634A0018634A00FFFFFF00FFFFFF00FFFF
+ FF00F7FFF700EFF7F700CEDED600BDD6CE00C6DED600D6DEDE00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00EFF7EF00BDCEC600000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF006BB56B008CC68C007BBD
+ 7B006BB56B0063B56300FFFFFF00A5D6A5005AAD5A0052A552004AA54A0042A5
+ 4200399C390031943100217B2100FFFFFF0000000000BDCEC600E7EFE700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0018634A00FFFFFF00FFFFFF00FFFFFF00F7FF
+ F700EFF7F700DEE7DE00BDCEC6000000000000000000BDD6C600DEE7E700FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7F7F700C6D6CE0000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0073BD73009CCE9C008CC6
+ 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
+ 4A0042A542003194310018731800FFFFFF000000000000000000BDCEC600E7EF
+ E700F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFFF00F7FFF700F7F7F700EFF7
+ F700DEE7DE00BDD6C60000000000000000000000000000000000BDD6C600DEE7
+ E700F7FFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EF
+ EF00C6D6CE000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00B5DEB50073BD730063B5
+ 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
+ 390031943100218C21008CBD8C00FFFFFF00000000000000000000000000BDCE
+ C600D6E7DE00EFF7EF00F7F7F700F7F7F700EFF7F700EFF7F700E7EFEF00D6DE
+ D600BDCEC600000000000000000000000000000000000000000000000000BDD6
+ CE00CEDECE00DEE7E700E7EFEF00EFF7F700EFF7EF00E7EFE700CEDED600B5CE
+ C600000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000B5CEC600BDD6C600C6DECE00CEDED600CEDED600C6DECE00BDD6C600BDD6
+ C600000000000000000000000000000000000000000000000000000000000000
+ 0000B5CEC600C6DED600C6DED600C6DED600C6DED600C6DED600C6E7DE000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000000000000000000000000000000000
+ 0000BDBDBD000000840000007300100000006363630000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0084B58400107310001873
+ 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
+ 0800007B0000007300007BB57B00FFFFFF00FFFFFF0052ADFF0018529400185A
+ 9C00185A9C00185A9C00185AA500185AA500185A9C00185A9C00185294001852
+ 940018528C00184A84004AADFF00FFFFFF00FFFFFF0084B58400107310001873
+ 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
+ 0800007B0000007300007BB57B00FFFFFF000000000000000000BDBDBD003131
+ 31000000AD000000FF000000DE00000042005252520000000000000000000000
+ 000000000000000000000000000000000000FFFFFF0010841000218C21002994
+ 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
+ 100008A5080000940000006B0000FFFFFF00FFFFFF00185AA500186BBD001873
+ CE001873CE001873CE001873CE001873CE001873CE001873CE001873CE00186B
+ C600186BBD00185AA500104A7B00FFFFFF00FFFFFF0010841000218C21002994
+ 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
+ 100008A5080000940000006B0000FFFFFF000000000000000000737373000000
+ 42000000FF000000FF000000840000319C002121210000000000000000000000
+ 000000000000000000000000000000000000FFFFFF00188C180029942900399C
+ 3900399C3900399C390039A53900A5D6A500FFFFFF0021AD210018AD180010B5
+ 100008AD0800009C0000007B0000FFFFFF00FFFFFF001863AD001873CE00187B
+ DE00187BDE00187BE7001884E700188CF700188CF700188CF700188CF700187B
+ DE00186BC6001863AD0018528C00FFFFFF00FFFFFF00188C180029942900399C
+ 3900399C3900399C390039A539004AA54A00A5D6A500FFFFFF004AA54A0031A5
+ 310018A51800009C0000007B0000FFFFFF00000000008C8C8C00BDBDBD000000
+ 4200000084000000EF000000FF000000CE000000310073737300000000000000
+ 000000000000000000000000000000000000FFFFFF0021942100399C390042A5
+ 42004AA54A0042A5420042A54200FFFFFF00FFFFFF00FFFFFF0021B5210018B5
+ 180010AD100008A50800087B0800FFFFFF00FFFFFF00186BC600187BDE001884
+ EF00FFFFFF0084C6FF00188CF700188CF700188CF700188CF70084C6FF00FFFF
+ FF001873CE00186BBD0018529400FFFFFF00FFFFFF0021942100399C390042A5
+ 420042A5420042A542004AA54A00A5D6A500FFFFFF00FFFFFF004AA54A0039A5
+ 390021A5210008A50800087B0800FFFFFF000000000000000000001000000000
+ AD000000FF000000FF000000FF000000DE001010100000002100525252007373
+ 730031009C0000313100A5A5A50000000000FFFFFF0029942900429C42004AA5
+ 4A0052A552004AA54A0042A5420042AD4200FFFFFF00FFFFFF00FFFFFF0018B5
+ 180010AD100010A5100008840800FFFFFF00FFFFFF001873CE001884E700188C
+ F700188CFF00FFFFFF0084C6FF00188CF700188CF70084C6FF00FFFFFF001884
+ E7001873D600186BC600185A9C00FFFFFF00FFFFFF0029942900429C42004AA5
+ 4A0052A552004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
+ 390021A5210010A5100008840800FFFFFF0000000000BDBDBD00100000000000
+ 84000000FF000000CE000000EF0000008400000084000000FF000000BD000000
+ 840000006300737373000021000063636300FFFFFF00319C31004AA54A0052A5
+ 520052A552004AA54A004AA54A0042A5420039AD3900FFFFFF00FFFFFF00FFFF
+ FF0018AD180018A5180010841000FFFFFF00FFFFFF00187BDE00188CF700188C
+ FF00188CF700188CF700FFFFFF0084C6FF0084C6FF00FFFFFF00188CF7001884
+ E7001873D6001873CE00185AA500FFFFFF00FFFFFF00319C31004AA54A0052A5
+ 52004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
+ 390021A5210018A5180010841000FFFFFF000000000021212100000021000000
+ AD000000FF0000004200000084000000FF000000FF0000007300000042000000
+ 420073737300313163000000AD0000006300FFFFFF00429C420052A55200FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00219C210018841800FFFFFF00FFFFFF001884E700188CFF00188C
+ F700188CF700188CF700188CF700FFFFFF0084C6FF00188CF7001884EF00187B
+ DE001873CE001873CE001863AD00FFFFFF00FFFFFF00429C420052A552004AA5
+ 4A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042A5420031A5
+ 3100219C2100219C210018841800FFFFFF00000000008C8C8C0000009C000000
+ FF000000EF00000073000000EF000000FF000000EF0000003100100000005252
+ 52000000EF000000FF000000DE0031316300FFFFFF0042A542005AAD5A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00219C2100217B2100FFFFFF00FFFFFF001884EF00188CFF00188C
+ FF00188CF700188CF70084C6FF00FFFFFF00FFFFFF0084C6FF001884E7001873
+ D6001873CE001873CE001863AD00FFFFFF00FFFFFF0042A5420052A5520052A5
+ 5200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C3900299C
+ 2900219C2100219C2100217B2100FFFFFF000000000010000000000042000031
+ CE000000FF0000009C000000FF000000FF000000EF00000073000000AD000000
+ CE000000FF000000FF000000AD0021212100FFFFFF0052A5520063AD630063AD
+ 63005AAD5A0052A552004AA54A00429C4200399C3900FFFFFF00FFFFFF00FFFF
+ FF00299C290029942900217B2100FFFFFF00FFFFFF00188CFF002194FF002194
+ FF00188CFF0084C6FF00FFFFFF001884F7001884EF00FFFFFF0084C6FF001873
+ CE001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552005AAD5A005AAD
+ 5A0052A55200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C39003194
+ 31002994290029942900217B2100FFFFFF00000000008C8C8C00000000000000
+ AD000000FF000000EF0000007300000052000031CE000000AD000000EF000000
+ EF000000BD0000006300BDBDBD0000000000FFFFFF0052A552006BB56B006BB5
+ 6B005AAD5A0052A552004AA54A00429C4200FFFFFF00FFFFFF00FFFFFF002994
+ 29002994290029942900217B2100FFFFFF00FFFFFF00188CFF0039A5FF0039A5
+ FF0084C6FF00FFFFFF00188CFF00188CFF001884EF001884E700FFFFFF0084C6
+ FF001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552006BB56B006BB5
+ 6B005AAD5A0052AD5200A5D6A500FFFFFF00FFFFFF00FFFFFF00399C39003194
+ 31002994290029942900217B2100FFFFFF000000000000000000000000000000
+ 52000000FF000000BD000031CE000000AD00000073003100CE00525252002121
+ 21000000AD00000000000000000000000000FFFFFF005AAD5A007BBD7B0073BD
+ 730063AD63005AAD5A0052A55200FFFFFF00FFFFFF00FFFFFF00319C3100319C
+ 31003194310031943100217B2100FFFFFF00FFFFFF002194FF0052ADFF004AAD
+ FF00FFFFFF002194FF002194FF001894FF00188CF7001884EF001884E700FFFF
+ FF001873CE001873CE001863AD00FFFFFF00FFFFFF005AAD5A007BBD7B0073BD
+ 730063AD63005AAD5A005AAD5A00A5D6A500FFFFFF00FFFFFF00429C4200399C
+ 39003194310031943100217B2100FFFFFF0000000000A5A5A500000000000000
+ 52000000AD0000005200000073000031FF000000730000005200212121000000
+ 100000000000000000000000000000000000FFFFFF006BB56B008CC68C007BBD
+ 7B006BB56B0063B5630063AD6300B5DEB500FFFFFF004AA54A004AA54A0042A5
+ 4200399C390031943100217B2100FFFFFF00FFFFFF0039A5FF006BBDFF0052AD
+ FF0039A5FF00319CFF00299CFF00299CFF002194FF00188CFF001884F7001884
+ EF00187BDE001873CE001863AD00FFFFFF00FFFFFF006BB56B008CC68C007BBD
+ 7B006BB56B0063B5630063AD630063AD6300A5D6A500FFFFFF004AA54A0042A5
+ 4200399C390031943100217B2100FFFFFF000000000000000000000000003131
+ 3100000042000000CE000000AD000000DE00000063000000420000004200BDBD
+ BD0000000000000000000000000000000000FFFFFF0073BD73009CCE9C008CC6
+ 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
+ 4A0042A542003194310018731800FFFFFF00FFFFFF004AADFF0084C6FF006BBD
+ FF0052ADFF004AADFF0039A5FF00319CFF00299CFF002194FF001894FF00188C
+ F7001884EF001873CE00185A9C00FFFFFF00FFFFFF0073BD73009CCE9C008CC6
+ 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
+ 4A0042A542003194310018731800FFFFFF000000000000000000000000000000
+ 00008C8C8C002121210000004200313131008C8C8C00BDC6C600000000000000
+ 000000000000000000000000000000000000FFFFFF00B5DEB50073BD730063B5
+ 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
+ 390031943100218C21008CBD8C00FFFFFF00FFFFFF00ADDEFF004AADFF00319C
+ FF002194FF00188CFF00188CFF00188CF700188CF7001884EF001884E700187B
+ DE001873CE00186BBD0063B5FF00FFFFFF00FFFFFF00B5DEB50073BD730063B5
+ 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
+ 390031943100218C21008CBD8C00FFFFFF000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000000000000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0000000000424D3E000000000000003E000000
+ 2800000040000000300000000100010000000000800100000000000000000000
+ 000000000000000000000000FFFFFF00FFFFFFFF00000000FFFFFFFF00000000
+ FFFFFFFF00000000F00FF03F00000000F7EFF7BF00000000F7EFF7BF00000000
+ F7EFF78F00000000F7EFF02F00000000F7EFF02F00000000F00FFDEF00000000
+ F00FFC0F00000000FFFFFC0F00000000FFFFFFFF00000000FFFFFFFF00000000
+ FFFFFFFF00000000FFFFFFFF000000008001F01FF00FFFFF0000E00FE007FFFF
+ 0000C007C003FFFF000080038001FFFF000000010000F81F000000000000F81F
+ 000000000000FFFF000000000000FFFF000000000000FFFF000000000000FFFF
+ 000000000000FFFF000000000001FFFF000080018003FFFF0000C003C007FFFF
+ 0000E007E00FFFFF8001F00FF01FFFFFFFFF800180018001F07F000000000000
+ C07F000000000000C07F000000000000003F0000000000008001000000000000
+ 0000000000000000800000000000000000000000000000008000000000000000
+ 00010000000000008007000000000000800F000000000000E00F000000000000
+ F03F000000000000FFFF80018001800100000000000000000000000000000000
+ 000000000000}
+ end
+ object lstImages: TMenuImgList
+ BkColor = clSilver
+ DrawingStyle = dsTransparent
+ Left = 236
+ Top = 236
+ Bitmap = {
+ 494C01013B004000040010001000C0C0C000FF10FFFFFFFFFFFFFFFF424D3600
+ 000000000000360000002800000040000000F0000000010020000000000000F0
+ 000000000000000000000000000000000000C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C6C6C600F7730000CE5A0000CE5A0000F7730000C6C6C600C0C0
+ C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C0C0C000C0C0C000C0C0C000C6C6
+ C600CE5A0000F7730000F7C69400F7C69400F7C69400F7A55A00F7730000CE5A
+ 0000C6C6C600C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600BDC6F700637B
+ D6000042C6000042C6000042C600637BD600BDC6F700C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C0C0C000C0C0C000C6C6C600CE5A
+ 0000F7A55A00FFE7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFE7CE00F7A5
+ 5A00CE5A0000C6C6C600C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600BDC6F700637BD6000042C600ADBD
+ E700A5B5DE009CADD6009CA5CE00949CC6000042C600637BD600BDC6F700C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C0C0C000C6C6C600CE5A0000F7A5
+ 5A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7A55A00CE5A0000C6C6C600C0C0C000C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600637BD600BDCEFF00B5C6F700B5BD
+ EF00A5B5DE00A5ADD6009CA5CE00949CC600949CC600949CC600637BD600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C0C0C000CE5A0000F7A55A00FFFF
+ FF00FFFFFF00F7A55A00F7A55A00F7730000F7730000F7A55A00F7A55A00FFFF
+ FF00FFFFFF00F7A55A00CE5A0000C0C0C000C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000042C600C6D6FF00BDCEFF00B5C6
+ F700ADBDEF00A5B5DE009CADD6009CA5CE00949CC600949CC6000042C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600F7730000FFE7CE00FFFF
+ FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
+ FF00FFFFFF00FFE7CE00F7730000C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000042C600CEDEFF00C6D6FF00BDCE
+ FF00B5C6F700ADBDE700A5B5DE009CADD60094A5CE0094A5CE000042C6004242
+ 42004242420084848400C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000F7730000F7A55A00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00F7A55A00F7730000C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD730000630000006300000063000000630000E7A56B00006300000063
+ 00000063000000630000C6C6C600C6C6C600BDC6F7000042C600CEDEFF00C6D6
+ FF00BDCEFF00B5C6F700ADBDE700A5ADDE009CADD6000042C60084848400B5B5
+ B500B5B5B500ADADAD0084848400848484000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000CE5A0000F7C69400FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00F7C69400CE5A0000C6C6C60063636300424242006363
+ 6300FFC67B0000630000008400000084000000630000EFAD6B00006300000084
+ 00000084000000630000C6C6C600C6C6C600C6C6C600BDC6F7000042C600CEDE
+ FF00637BD6000042C600637BD600ADB5E7000042C60042424200BDBDBD00BDBD
+ BD00B5B5B500ADADAD00ADADAD00424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000CE5A0000F7C69400FFFFFF00FFFF
+ FF00FFFFFF00F7A55A00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00F7C69400CE5A000084848400C6C6C600C6C6C6006363
+ 6300FFC67B000063000000840000008400000063000042424200006300000084
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600BDC6F700315A
+ C600CEDEFF00C6D6FF00BDC6F700315AC600BDC6F70042424200C6C6C600BDBD
+ BD00BDBDBD00B5B5B500ADADAD00424242000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000F7730000F7A55A00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00F7A55A00F7730000C6C6C600C6C6C60042424200D694
+ 4A008484840000630000008400000084000000630000C6C6C600006300000084
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600637BD600D6E7
+ FF00D6DEFF00CED6FF00BDCEFF00B5C6F700637BD600C6C6C60084848400C6C6
+ C600BDBDBD00BDBDBD0084848400C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600F7730000FFE7CE00FFFF
+ FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
+ FF00FFFFFF00FFE7CE00F7730000C6C6C600848484006363630063636300D6AD
+ 6B00D6944A000063000000840000008400000063000063636300006300000084
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C6000042C600DEEF
+ FF00D6E7FF00CEDEFF00C6D6FF00BDCEFF000042C600C6C6C600C6C6C6006363
+ 63004242420063636300C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C0C0C000CE5A0000F7A55A00FFFF
+ FF00FFFFFF00FFFFFF00F7A55A00F7730000F7730000F7A55A00FFFFFF00FFFF
+ FF00FFFFFF00F7A55A00CE5A0000C0C0C000C6C6C600C6C6C600C6C6C6006363
+ 63004242420000630000008400000084000000630000C6C6C600006300000084
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600637BD600DEEF
+ FF00D6E7FF00CEDEFF00CED6FF00C6CEFF00637BD600C6C6C60063636300CECE
+ CE00CECECE00C6C6C60063636300C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C0C0C000C6C6C600CE5A0000F7A5
+ 5A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7A55A00CE5A0000C6C6C600C0C0C000C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60000630000008400000084000000630000C6C6C600006300000084
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600BDC6F700315A
+ C600D6E7FF00D6DEFF00CEDEFF00315AC600BDC6F700C6C6C60042424200D6D6
+ D600CECECE00C6C6C60042424200C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C0C0C000C0C0C000C6C6C600CE5A
+ 0000F7A55A00FFE7CE00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFE7CE00F7A5
+ 5A00CE5A0000C6C6C600C0C0C000C0C0C000C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60000630000008400000084000000630000C6C6C600006300000084
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600BDC6
+ F700637BD6000042C600637BD600BDC6F700C6C6C600C6C6C60084848400D6D6
+ D600CECECE00CECECE0084848400C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C0C0C000C0C0C000C0C0C000C6C6
+ C600CE5A0000F7730000F7A55A00F7C69400F7C69400F7A55A00F7730000CE5A
+ 0000C6C6C600C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000630000008400000084000000630000C6C6C600006300000084
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 84004242420084848400C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C6C6C600F7730000CE5A0000CE5A0000F7730000C6C6C600C0C0
+ C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000630000006300000063000000630000C6C6C600006300000063
+ 00000063000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00DEEFEF0000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFEF0000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFEF00000000009CA59C009CA5
+ 9C009CA59C009CA59C009CA59C009CA59C00C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFEF0000000000E7EFEF00FFFF
+ FF00FFFFFF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B000000FF0063636300C6C6
+ C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
+ C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
+ C600C6C6C60084848400C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00E7EFEF0000000000E7EFEF00FFFF
+ FF00FFFFFF00E7EFEF00FFFFFF009CA59C00C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B008484FF008484FF000000
+ FF0063636300C6C6C600C6C6C600C6C6C600C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B00EFAD6B00636363004242
+ 420063636300C6C6C600C6C6C600C6C6C600C6C6C60063636300424242006363
+ 6300FFC67B00BD8C94000000FF00CE948C00EFAD6B00EFAD6B0052527B000000
+ FF004A4A8400C6C6C600C6C6C600C6C6C6000000000084848400848484008484
+ 8400848484008484840084848400848484008484840000000000E7EFEF00FFFF
+ FF00FFFFFF00E7EFEF00FFFFFF009CA59C0084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD7300F7B573000000FF0042424200C6C6C600C6C6
+ C600C6C6FF000000FF00C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD73005A42CE00F7B57300424242000000FF00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B001810EF00946BAD00F7B57300424242007373DE001818
+ FF00C6C6C600C6C6C600C6C6C600C6C6C6008484840000000000000000000000
+ 0000000000000000000000000000000000000000000084848400E7EFEF00FFFF
+ FF00FFFFFF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B00FFBD73008484FF00C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6FF000000FF00C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B00FFBD730042424200C6C6C6000000FF00C6C6
+ C600C6C6C600525AFF00B5BDF700C6C6C600C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00634AC6000000FF000000FF000000FF000000FF005A63
+ FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6009CA59C00E7EF
+ EF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EF
+ EF00E7EFEF00E7EFEF00FFFFFF009CA59C00848484006363630063636300D6AD
+ 6B00D6944A0063636300636363000000FF004242420063636300C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6FF00C6C6C600848484006363630063636300D6AD
+ 6B00D6944A006363630039399C000000F7000000FF002121C6000000FF00C6C6
+ C600C6C6C600737BF7003131FF00C6C6C600848484006363630063636300D6AD
+ 6B00D6944A006363630042428C000000F70042424200636363000808FF00A5AD
+ F700C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6009CA59C00E7EF
+ EF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EF
+ EF00E7EFEF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C60042424200C6C6FF00C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C6000000FF00C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C6000000F7009C9CCE00D6E7EF00737BF7000000FF00C6C6
+ C600C6C6C600DEEFEF000000FF00C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C600393942000808FF00B5C6F700B5BDF7000808F700DEEF
+ EF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6009CA59C00E7EF
+ EF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EFEF00E7EF
+ EF00E7EFEF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C6000000FF00C6C6FF00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C6000000F700B5BDF700D6E7EF00C6C6C6000000FF00ADBD
+ F700C6C6C6008494F7002121FF00C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300DEEFEF00DEEFEF00636363005252FF007B84F700737BF7005252FF00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6009CA59C00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00E7EFEF00FFFFFF009CA59C00C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400C6C6C600C6C6C6000000FF00C6C6FF00C6C6C600C6C6
+ C600C6C6C6000000FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C600848484009CA5F7001818FF000000FF00C6C6C6000000FF002121
+ FF000000FF002129FF00ADB5F700C6C6C600C6C6C600C6C6C600424AFF008484
+ 8400424AFF0084848400C6C6C6009CA5F7003942FF003942FF009CA5F700C6C6
+ C600C6C6C600424AFF00C6C6C600424AFF00C6C6C600C6C6C6009CA59C008484
+ 8400848484008484840084848400848484008484840084848400848484008484
+ 84008484840084848400848484009CA59C00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000FF00C6C6
+ FF00C6C6FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000FF00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6003139FF00C6C6
+ C6003139FF00C6C6C600C6C6C600D6E7EF001010FF001010FF00D6E7EF00C6C6
+ C600C6C6C6003139FF00C6C6C6003139FF00C6C6C600C6C6C600C6C6C6009CA5
+ 9C009CA59C009CA59C009CA59C009CA59C009CA59C009CA59C009CA59C009CA5
+ 9C009CA59C009CA59C009CA59C00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6000000FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C6000000FF000000FF000000FF000000FF000000FF000000
+ FF000000FF000000FF000000FF000000FF00C6C6C600C6C6C6000000FF00C6C6
+ C6000000FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000FF00C6C6C6000000FF00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60063636300636363005A5A5A005A5A
+ 5A005A5A5A0052525200525252004A4A4A004A4A4A004A4A4A00424242004242
+ 420039393900393939003939390031313100C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6006B6B6B00FFFFFF00FFFFFF005A5A
+ 5A00FFFFFF0052525200FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF0042424200FFFFFF00FFFFFF0039393900C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C6000000
+ FF000000FF000000FF000000FF000000FF00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6006B6B6B0063636300636363005A5A
+ 5A005A5A5A005A5A5A005252520052525200525252004A4A4A004A4A4A004A4A
+ 4A0042424200424242004242420039393900C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C6000000
+ FF00FFFFFF00FFFFFF00FFFFFF000000FF00C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60073737300FFFFFF00FFFFFF00FFFF
+ FF005A5A5A00FFFFFF005A5A5A00FFFFFF0052525200FFFFFF004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0039393900C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C6000000
+ FF000000FF000000FF000000FF000000FF00C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600737373006B6B6B00636363006363
+ 6300636363005A5A5A005A5A5A005A5A5A005252520052525200525252004A4A
+ 4A004A4A4A004A4A4A004242420042424200C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C6000000C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60073737300FFFFFF00FFFFFF006363
+ 6300FFFFFF0063636300FFFFFF005A5A5A00FFFFFF0052525200FFFFFF005252
+ 5200FFFFFF00FFFFFF00FFFFFF0042424200C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B000000FF000000FF000000FF000000FF000000
+ FF00C6C6C600C6C6C6000000C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B000063000000630000C6C6
+ C600C6C6C60084848400C6C6C600C6C6C6007B7B7B006B6B6B006B6B6B006B6B
+ 6B006363630063636300636363005A5A5A005A5A5A005A5A5A00525252005252
+ 5200525252004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
+ C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B573000000FF00FFFFFF00FFFFFF00FFFFFF000000
+ FF000000C6000000C6000000C600C6C6C600C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B0000630000008400000063
+ 000063636300C6C6C600C6C6C600C6C6C6007B7B7B00FFFFFF006B6B6B00FFFF
+ FF006B6B6B00FFFFFF0063636300FFFFFF005A5A5A00FFFFFF005A5A5A00FFFF
+ FF0052525200FFFFFF00FFFFFF004A4A4A00C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD9463000000E7000000DE000000DE000000D6000000
+ D6000000CE000000CE000000C6000000C600C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD9463000000FF000000FF000000FF000000FF000000
+ FF0063636300C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD7300F7B57300F7B5730000630000008400000084
+ 000000630000C6C6C600C6C6C600C6C6C600848484007B7B7B007B7B7B007373
+ 730073737300737373006B6B6B006B6B6B0063636300636363005A5A5A005A5A
+ 5A005A5A5A0052525200525252004A4A4A0084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD73000000E700FFFFFF000000DE00FFFFFF000000
+ D600FFFFFF000000CE00FFFFFF000000C60084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD7300F7B573000000C60042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B00FFBD73004242420000630000008400000084
+ 00000084000000630000C6C6C600C6C6C600C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B00EFAD6B00636363004242
+ 420063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B000000E7000000E7000000E7000000DE000000
+ DE000000D6000000D6000000CE000000CE00C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B00FFBD73000000C600C6C6C600C6C6C6000000
+ FF000000FF000000FF000000FF000000FF00848484006363630063636300D6AD
+ 6B00D6944A006363630063636300636363004242420000630000008400000084
+ 0000008400000084000000630000C6C6C60084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD7300F7B57300F7B5730042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600848484006363630063636300D6AD
+ 6B00D6944A0063636300636363000000EF00FFFFFF000000E700FFFFFF000000
+ DE00FFFFFF000000D600FFFFFF000000CE00848484006363630063636300D6AD
+ 6B00D6944A006363630063636300636363000000C6000000C6000000C6000000
+ FF00FFFFFF00FFFFFF00FFFFFF000000FF00C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C60042424200C6C6C600C6C6C60000630000008400000084
+ 0000008400000084000000630000C6C6C600C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B00FFBD730042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C600424242000000EF000000EF000000E7000000E7000000
+ E7000000DE000000DE000000D6000000D600C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C60042424200C6C6C600C6C6C600C6C6C600848484000000
+ FF000000FF000000FF000000FF000000FF00C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300C6C6C600C6C6C60000630000008400000084
+ 00000084000000630000C6C6C600C6C6C600848484006363630063636300D6AD
+ 6B00D6944A006363630063636300636363004242420063636300C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C600636363000000F700FFFFFF000000EF00FFFFFF000000
+ E700FFFFFF000000DE00FFFFFF000000D600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C6000000C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400C6C6C600C6C6C600C6C6C60000630000008400000084
+ 000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C60042424200C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400C6C6C6000000F7000000F7000000EF000000EF000000
+ E7000000E7000000E7000000DE000000DE00C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400C6C6C6000000FF000000FF000000FF000000FF000000
+ FF00C6C6C600C6C6C6000000C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000630000008400000063
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000000FF00FFFFFF000000F700FFFFFF000000
+ EF00FFFFFF000000E700FFFFFF000000DE00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000000FF00FFFFFF00FFFFFF00FFFFFF000000
+ FF000000C6000000C6000000C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000063000000630000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000000FF000000FF000000F7000000F7000000
+ EF000000EF000000E7000000E7000000E700C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000000FF000000FF000000FF000000FF000000
+ FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B000000000000000000C6C6
+ C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
+ C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD73000084000000630000A57B5200EFAD6B000084000000630000C6C6
+ C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B000084000000630000C6C6
+ C600C6C6C60084848400C6C6C600C6C6C600C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B0000000000424242000000
+ 000063636300C6C6C600C6C6C600C6C6C600C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD946300000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C60063636300424242006363
+ 6300FFC67B00636363000084000000630000EFAD6B0063636300008400000063
+ 000063636300C6C6C600C6C6C600C6C6C600C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B0063636300008400000063
+ 000063636300C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD7300F7B57300F7B5730000000000424242004242
+ 420000000000C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD7300000000004242420042424200424242004242
+ 42004242420042424200424242000000000084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B0000630000008400000063000042424200006300000084
+ 000000630000C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD7300F7B57300F7B5730042424200006300000084
+ 000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B00FFBD73004242420000000000424242004242
+ 42004242420000000000C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B00000000004242420042424200424242004242
+ 420042424200424242004242420000000000C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B00006300000084000000630000C6C6C6000063
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B00FFBD730042424200C6C6C600C6C6C6000063
+ 00000084000000630000C6C6C600C6C6C600848484006363630063636300D6AD
+ 6B00D6944A006363630063636300636363004242420000000000424242004242
+ 4200424242004242420000000000C6C6C600848484006363630063636300D6AD
+ 6B00D6944A006363630063636300000000004242420042424200424242004242
+ 420042424200424242004242420000000000848484006363630063636300D6AD
+ 6B00D6944A00636363006363630063636300006300000084000000630000C6C6
+ C600006300000084000000630000C6C6C600848484006363630063636300D6AD
+ 6B00D6944A006363630063636300636363004242420063636300C6C6C600C6C6
+ C600006300000084000000630000C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C60042424200C6C6C600C6C6C60000000000424242004242
+ 4200424242004242420000000000C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C60042424200000000004242420042424200424242004242
+ 420042424200424242004242420000000000C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C60042424200C6C6C600006300000084000000630000C6C6
+ C600006300000084000000630000C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C60042424200C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600006300000084000000630000C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300C6C6C600C6C6C60000000000424242004242
+ 42004242420000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300000000004242420042424200424242004242
+ 420042424200424242004242420000000000C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300006300000084000000630000C6C6C6000063
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C6000063
+ 00000084000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400C6C6C600C6C6C600C6C6C60000000000424242004242
+ 420000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400C6C6C600000000004242420042424200424242004242
+ 420042424200424242004242420000000000C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400006300000084000000630000C6C6C600006300000084
+ 000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600006300000084
+ 000000630000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000424242000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600000000004242420042424200424242004242
+ 420042424200424242004242420000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600848484000084000000630000C6C6C60084848400008400000063
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400008400000063
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000084000000630000C6C6C600C6C6C6000084000000630000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000084000000630000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600ADC6FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600B5BDF7004A73DE000042C6000042C6004A73
+ DE00B5BDF700C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600B5BDF7000042C6000042C6000042C6000042
+ C6000042C600B5BDF700C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600ADC6
+ FF000042DE004A73E7005273E7004A73E7007394FF00C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C6004A73DE004A73DE00B5BDF700FFFFFF00FFFFFF00B5BD
+ F7004A73DE004A73DE00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000042C600B5BDF700B5BDF700B5BDF7008C9C
+ EF008C9CEF000042C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000852
+ E7000039C6005273DE005273DE005273DE004A6BDE005273E7005273EF0084A5
+ FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6004A73DE00B5BDF700F7CEAD00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00CED6FF00B5BDF7004A73DE00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000042C600B5BDF700FFFFFF008C9CEF00FFFF
+ FF004A73DE000042C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6007B9CFF005273
+ DE00295ACE005273DE005273DE005273DE005273DE005273DE004A73DE004A6B
+ DE005273E700638CFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600B5BDF7004A73DE00F7CEAD00FFFFFF00F7CEAD00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00CED6FF004A73DE00B5BDF700C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000042C600B5BDF700FFFFFF008C9CEF00FFFF
+ FF004A73DE000042C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6
+ C600C6C6C600C6C6C60063636300636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600527BEF005273
+ DE002152D600215AC6000039C600184AD600426BDE005273DE005273DE005273
+ DE004A6BDE006B8CFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6004A73DE00B5BDF700F7CEAD00F7CEAD00FFFFFF000042C6000042C600FFFF
+ FF00FFFFFF00FFFFFF00B5BDF7004A73DE00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000042C600B5BDF700FFFFFF008C9CEF00FFFF
+ FF004A73DE000042C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B520042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600ADC6FF004A73E7005273
+ DE000039C600FFFFCE00FFF7CE00ADB5CE004273C6000039C6000842CE003163
+ D6005273DE007B9CFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6000042C600FFFFFF00FFFFFF00FFFFFF000042C600FFFFFF00FFFFFF000042
+ C600FFFFFF00FFFFFF00FFFFFF000042C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000042C6008C9CEF008C9CEF004A73DE004A73
+ DE004A73DE000042C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B0063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600638CFF005273DE003963
+ D600ADB5CE00FFF7CE00FFEFCE00FFF7CE00FFFFCE00FFFFCE00C6D6E700638C
+ DE00084AC6004A7BEF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6000042C600FFFFFF00FFFFFF00FFFFFF000042C600FFFFFF00FFFFFF000042
+ C600FFFFFF00FFFFFF00FFFFFF000042C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C6000031A5000031A5000031A5000031A5000031A5000031
+ A5000031A5000031A5000031A500C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B0063636300C6C6
+ C600C6C6C60084848400C6C6C600C6C6C600C6C6C6005273E7005273DE000042
+ CE00FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFEFC600FFFFFF00FFFF
+ FF0094B5E7002152D600ADC6FF00C6C6C60063636300636363005A5A5A005A5A
+ 5A004A73DE00B5BDF700FFFFFF00FFFFFF00FFFFFF000042C6000042C600FFFF
+ FF00F7CEAD00F7CEAD00B5BDF7004A73DE0063636300636363005A5A5A005A5A
+ 5A005A5A5A00525252000042C600B5BDF700FFFFFF00FFFFFF00B5BDF7008C9C
+ EF00B5BDF7004A73DE000042C60031313100C6C6C60063636300424242006363
+ 6300FFC67B00FFBD7300BD946300F7B57300EFAD6B0084848400000084000000
+ 8400000084008484FF00C6C6C600C6C6C6004A73E7004A73E7005273DE001852
+ C600FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFF7D600FFFFFF00FFFF
+ FF000042C6005273DE005273EF00C6C6C6006B6B6B00FFFFFF00FFFFFF005A5A
+ 5A00B5BDF7004A73DE00CED6FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00F7CE
+ AD00FFFFFF00F7CEAD004A73DE00393939006B6B6B00FFFFFF00FFFFFF005A5A
+ 5A00FFFFFF0052525200B5BDF7000042C6000042C6000042C600B5BDF7000042
+ C6000042C6000042C600B5BDF7003939390084848400C6C6C600C6C6C6006363
+ 6300FFC67B00FFC67B00FFBD7300F7B5730063636300000084000000FF000000
+ FF000000FF00000084000000C600C6C6C600ADC6FF00527BEF00315AD6009CAD
+ C600FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFEFCE00FFF7E700FFFFFF00D6DE
+ F7000042C6005273DE005273EF00C6C6C6006B6B6B0063636300636363005A5A
+ 5A005A5A5A004A73DE00B5BDF700CED6FF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00F7CEAD00B5BDF7004A73DE00393939006B6B6B0063636300636363005A5A
+ 5A005A5A5A005A5A5A005252520052525200525252000042C6000042C6000042
+ C60042424200424242004242420039393900C6C6C600C6C6C60042424200D694
+ 4A0084848400FFC67B00FFC67B0084848400000084000000FF000000FF000000
+ FF000000FF000000FF00000084008484FF00C6C6C600ADC6FF00215ADE00396B
+ C600ADB5CE00FFEFCE00FFEFCE00FFF7CE00FFEFCE00FFEFD600FFFFFF00527B
+ D6003963D6004A6BDE00ADC6FF00C6C6C60073737300FFFFFF00FFFFFF00FFFF
+ FF005A5A5A00FFFFFF004A73DE004A73DE00B5BDF700FFFFFF00FFFFFF00B5BD
+ F7004A73DE004A73DE00FFFFFF003939390073737300FFFFFF00FFFFFF00FFFF
+ FF005A5A5A00FFFFFF005A5A5A00FFFFFF0052525200FFFFFF004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0039393900848484006363630063636300D6AD
+ 6B00D6944A006363630063636300000084000000FF000000FF000000FF000000
+ FF000000FF000000FF000000FF0000008400C6C6C600C6C6C600ADC6FF003963
+ D600104ACE000031C600396BC600A5ADCE00FFF7CE00FFFFCE00FFFFFF000039
+ C6005273DE005273E700C6C6C600C6C6C600737373006B6B6B00636363006363
+ 6300636363005A5A5A005A5A5A005A5A5A004A73DE000042C6000042C6004A73
+ DE004A4A4A004A4A4A004242420042424200737373006B6B6B00636363006363
+ 6300636363005A5A5A005A5A5A005A5A5A005252520052525200525252004A4A
+ 4A004A4A4A004A4A4A004242420042424200C6C6C600C6C6C600C6C6C6006363
+ 630042424200C6C6C60042424200000084000000FF000000FF000000FF000000
+ FF000000FF000000FF000000FF0000008400C6C6C600C6C6C6007B9CFF004A73
+ E7005273DE005A73DE004263D600104ACE000031C6002963C6005A84CE00215A
+ D6005273DE006B8CFF00C6C6C600C6C6C60073737300FFFFFF00FFFFFF006363
+ 6300FFFFFF0063636300FFFFFF005A5A5A00FFFFFF0052525200FFFFFF005252
+ 5200FFFFFF00FFFFFF00FFFFFF004242420073737300FFFFFF00FFFFFF006363
+ 6300FFFFFF0063636300FFFFFF005A5A5A00FFFFFF0052525200FFFFFF005252
+ 5200FFFFFF00FFFFFF00FFFFFF0042424200C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300000084000000FF000000FF000000FF000000
+ FF000000FF000000FF000000FF0000008400C6C6C600C6C6C600C6C6C600ADC6
+ FF006B8CFF004A73E7005273E7005273DE005A73DE004263D6002963DE006384
+ F7004A6BDE00ADC6FF00C6C6C600C6C6C6007B7B7B006B6B6B006B6B6B006B6B
+ 6B006363630063636300636363005A5A5A005A5A5A005A5A5A00525252005252
+ 5200525252004A4A4A004A4A4A004A4A4A007B7B7B006B6B6B006B6B6B006B6B
+ 6B006363630063636300636363005A5A5A005A5A5A005A5A5A00525252005252
+ 5200525252004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C60084848400C6C6C6008484FF00000084000000FF000000FF000000
+ FF000000FF000000FF00000084008484FF00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C6007B9CFF00638CFF004A73E7005273E700C6C6C600C6C6
+ C600ADC6FF00C6C6C600C6C6C600C6C6C6007B7B7B00FFFFFF006B6B6B00FFFF
+ FF006B6B6B00FFFFFF0063636300FFFFFF005A5A5A00FFFFFF005A5A5A00FFFF
+ FF0052525200FFFFFF00FFFFFF004A4A4A007B7B7B00FFFFFF006B6B6B00FFFF
+ FF006B6B6B00FFFFFF0063636300FFFFFF005A5A5A00FFFFFF005A5A5A00FFFF
+ FF0052525200FFFFFF00FFFFFF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000C600000084000000FF000000
+ FF000000FF00000084000000C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600ADC6FF00ADC6FF00C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600848484007B7B7B007B7B7B007373
+ 730073737300737373006B6B6B006B6B6B0063636300636363005A5A5A005A5A
+ 5A005A5A5A0052525200525252004A4A4A00848484007B7B7B007B7B7B007373
+ 730073737300737373006B6B6B006B6B6B0063636300636363005A5A5A005A5A
+ 5A005A5A5A0052525200525252004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484FF00000084000000
+ 8400000084008484FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200000000000000000042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6005A5A5A005A5A5A00525252005252
+ 5200525252004A4A4A004A4A4A004A4A4A004242420042424200424242003939
+ 390039393900393939003131310031313100C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6008CDE8C0029B52900089400000894000029B5
+ 29008CDE8C00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60000000000424242005252A5007373C6007373BD005252A500424242000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6005A5A5A00FFFFFF00FFFFFF005252
+ 5200FFFFFF0052525200FFFFFF00FFFFFF00FFFFFF00FFFFFF0042424200FFFF
+ FF0039393900FFFFFF00FFFFFF0031313100C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60029B5290008940000FFFFFF0008940000089400000894
+ 00000894000029B52900C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00005252A5007B7BD6007B7BCE0042424200000000006B6BB5006B6BB5005252
+ A50000000000C6C6C600C6C6C600C6C6C6005A5A5A005A5A5A005A5A5A005A5A
+ 5A005252520052525200525252004A4A4A004A4A4A004A4A4A00424242004242
+ 420042424200393939003939390039393900C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60029B529008CDE8C00FFFFFF008CDE8C0008940000089400000894
+ 00008CDE8C008CDE8C0029B52900C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000006B6B
+ B5008484DE007B7BD60000000000FFFFFF00FFFFFF00424242006B6BB5006B6B
+ B5005252A50000000000C6C6C600C6C6C60063636300FFFFFF00FFFFFF00FFFF
+ FF005A5A5A00FFFFFF0052525200FFFFFF004A4A4A00FFFFFF004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0039393900C6C6C600C6C6C600C6C6C600C6C6
+ C6008CDE8C0008940000FFFFFF00089400000894000008940000089400000894
+ 000008940000FFFFFF00089400008CDE8C00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484D6008C8C
+ EF008484E7008484DE0042424200FFFFFF00FFFFFF00000000006B6BB5006B6B
+ B5006B6BB5005252A50000000000C6C6C60063636300636363005A5A5A005A5A
+ 5A005A5A5A005A5A5A005252520052525200525252004A4A4A004A4A4A004A4A
+ 4A0042424200424242004242420039393900C6C6C600C6C6C600C6C6C600C6C6
+ C60029B52900FFFFFF00FFFFFF00089400000894000008940000089400000894
+ 000008940000FFFFFF00FFFFFF0029B52900C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C600C6C6C600C6C6C60063636300636363006363630042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600424242009494F7008C8C
+ EF008C8CEF008484E7008484DE0000000000424242007373C6006B6BBD006B6B
+ B5006B6BB5006B6BB50042424200C6C6C60063636300FFFFFF00FFFFFF005A5A
+ 5A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60052525200FFFFFF004A4A
+ 4A00FFFFFF00FFFFFF00FFFFFF0042424200C6C6C600C6C6C600C6C6C600C6C6
+ C60008940000FFFFFF00FFFFFF00FFFFFF000894000008940000089400000894
+ 00008CDE8C00089400008CDE8C0008940000C6C6C600C6C6C600C6C6C600C6C6
+ C60063636300C6C6C60042424200EFAD6B00E7A56B00E79C6B00846B52004242
+ 4200C6C6C600C6C6C600C6C6C600C6C6C600424242008484D6009494FF009494
+ F7009494F7008C8CEF0000000000FFFFFF00FFFFFF00000000007373C6007373
+ BD006B6BB5006B6BB5005252A500424242006B6B6B0063636300636363006363
+ 6300C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60052525200525252004A4A
+ 4A004A4A4A004A4A4A004242420042424200C6C6C600C6C6C600C6C6C600C6C6
+ C60008940000FFFFFF008CDE8C008CDE8C008CDE8C00FFFFFF00FFFFFF00FFFF
+ FF0008940000089400000894000008940000C6C6C600C6C6C600C6C6C600C6C6
+ C6004242420042424200F7B57300EFAD6B00EFAD6B00A57B5200E79C6B006363
+ 6300C6C6C600C6C6C600C6C6C600C6C6C600000000009C9CFF009C9CFF009C9C
+ FF009494FF009494F70042424200FFFFFF00FFFFFF00000000007373C6007373
+ C6007373BD007373BD007373BD0000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6005A5A5A005A5A5A0052525200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60063636300636363005A5A5A005A5A
+ 5A0029B52900FFFFFF00FFFFFF000894000008940000FFFFFF00089400008CDE
+ 8C0008940000089400000894000029B52900C6C6C600C6C6C600C6C6C600C6C6
+ C60063636300FFBD7300F7B57300F7B57300A57B5200EFAD6B00E7A56B006363
+ 6300C6C6C600C6C6C60084848400C6C6C600000000009C9CFF009C9CFF009C9C
+ FF009C9CFF009C9CFF009494F70000000000FFFFFF00FFFFFF00000000007B7B
+ CE007373C6007373C6007373C60000000000C6C6C600C6C6C600C6C6C6006363
+ 63006363630063636300C6C6C6005A5A5A00FFFFFF005A5A5A00C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6006B6B6B00FFFFFF00FFFFFF005A5A
+ 5A008CDE8C0008940000FFFFFF00FFFFFF000894000008940000089400000894
+ 00000894000008940000089400008CDE8C00C6C6C600C6C6C600636363004242
+ 420063636300FFC67B00FFBD7300BD946300F7B57300EFAD6B00EFAD6B006363
+ 63004242420063636300C6C6C600C6C6C600424242008484D600A5A5FF00A5A5
+ FF00A5A5FF0000000000424242009494F70042424200FFFFFF00FFFFFF004242
+ 42007B7BCE007B7BCE005252A50042424200C6C6C600C6C6C600C6C6C6006B6B
+ 6B00FFFFFF0063636300C6C6C6005A5A5A005A5A5A005A5A5A00C6C6C600C6C6
+ C60052525200525252004A4A4A004A4A4A006B6B6B0063636300636363005A5A
+ 5A005A5A5A0029B529008CDE8C0008940000FFFFFF0008940000089400000894
+ 0000089400000894000029B5290039393900C6C6C60084848400C6C6C600C6C6
+ C60063636300FFC67B00FFC67B00FFBD7300F7B57300F7B5730042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200A5A5FF00A5A5
+ FF0000000000FFFFFF00FFFFFF008484840042424200FFFFFF00FFFFFF000000
+ 00007B7BD6007B7BD60042424200C6C6C60073737300737373006B6B6B006B6B
+ 6B006B6B6B0063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60052525200FFFFFF00FFFFFF004A4A4A0073737300FFFFFF00FFFFFF00FFFF
+ FF005A5A5A00FFFFFF0029B5290008940000FFFFFF00FFFFFF008CDE8C000894
+ 00000894000029B52900FFFFFF0039393900C6C6C600C6C6C600C6C6C6004242
+ 4200D6944A0084848400FFC67B00FFC67B00FFBD730042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484D600A5A5
+ FF0042424200FFFFFF00FFFFFF008484840084848400FFFFFF00FFFFFF004242
+ 42008484DE005252A50000000000C6C6C60073737300FFFFFF0073737300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600636363005A5A5A005A5A5A00C6C6
+ C6005A5A5A00525252005252520052525200737373006B6B6B00636363006363
+ 6300636363005A5A5A005A5A5A008CDE8C0029B52900089400000894000029B5
+ 29008CDE8C004A4A4A004242420042424200C6C6C60084848400636363006363
+ 6300D6AD6B00D6944A006363630063636300636363004242420063636300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484
+ D600A5A5FF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000008C8C
+ EF006B6BB50000000000C6C6C600C6C6C6007B7B7B007373730073737300C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60063636300FFFFFF005A5A5A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60073737300FFFFFF00FFFFFF006363
+ 6300FFFFFF0063636300FFFFFF005A5A5A00FFFFFF0052525200FFFFFF005252
+ 5200FFFFFF00FFFFFF00FFFFFF0042424200C6C6C600C6C6C600C6C6C600C6C6
+ C6006363630042424200C6C6C60042424200C6C6C600C6C6C600C6C6C6008484
+ 8400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00008484D600A5A5FF00424242000000000000000000424242009494F7008484
+ D60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600737373006B6B6B006B6B6B00C6C6C600636363006363630063636300C6C6
+ C6005A5A5A005A5A5A005A5A5A00C6C6C6007B7B7B006B6B6B006B6B6B006B6B
+ 6B006363630063636300636363005A5A5A005A5A5A005A5A5A00525252005252
+ 5200525252004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C60063636300C6C6C600C6C6C60063636300C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60000000000424242008484D6009C9CFF009C9CFF008484D600424242000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60073737300FFFFFF006B6B6B00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6005A5A5A00FFFFFF005A5A5A00C6C6C6007B7B7B00FFFFFF006B6B6B00FFFF
+ FF006B6B6B00FFFFFF0063636300FFFFFF005A5A5A00FFFFFF005A5A5A00FFFF
+ FF0052525200FFFFFF00FFFFFF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C60084848400C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200000000000000000042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600737373007373730073737300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600636363005A5A5A005A5A5A00C6C6C600848484007B7B7B007B7B7B007373
+ 730073737300737373006B6B6B006B6B6B0063636300636363005A5A5A005A5A
+ 5A005A5A5A0052525200525252004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600848484004242420021212100212121002121
+ 210021212100212121002121210042424200C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C0C0C0000000000000000000C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600086B7B0008E7FF0008DEFF0008D6FF0008CE
+ EF0008BDE70008B5D60008ADCE0021212100C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300A59484009C94840063636300C6C6C600C6C6
+ C60063636300A5A5A500C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600000000000000000000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C00000000000C6C6C60000000000C0C0C000C0C0C000000000000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600086B7B0008E7FF0008DEFF0008D6FF0008CE
+ EF0008BDE70008B5D60008ADCE0021212100C6C6C600C6C6C600424242009C8C
+ 7B002121210000000000A59C8C00A59C8C00A59484009C948400000000002121
+ 21009C8C7B0042424200A5A5A500C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600000000008400840000000000848484000000000000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
+ C0000000000031B5D600C6C6C60000000000C0C0C00000000000FFFFFF000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600086B7B0008E7FF0008DEFF0008D6FF0008CE
+ EF0008BDE70008B5D60008ADCE0021212100C6C6C600636363009C8C7B00ADA5
+ 9400ADA59400AD9C8C00A59C8C00A59C8C00A59C8C00A59484009C9484009C94
+ 84009C9484009C8C7B0063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60000000000840084008400840000000000FFFFFF00C6C6C600FFFFFF000000
+ 000000000000C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C00000000000C6C6C600000000000000000084848400FFFFFF000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600F7D6
+ 9400D6941000A56B0800A56B0800086B7B0008E7FF0008DEFF0008D6FF0008CE
+ EF0008BDE70008B5D60008ADCE0021212100C6C6C600C6C6C60021212100B5A5
+ 9400ADA59400ADA5940042424200424242004242420042424200A59484009C94
+ 84009C94840021212100C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00008400840084008400840084000000000084848400FFFFFF00C6C6C600FFFF
+ FF00C6C6C6000000000000000000C6C6C600C0C0C000C0C0C000C0C0C000C0C0
+ C0000000000031B5D600C6C6C60000000000C0C0C00000000000FFFFFF000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600D6941000A56B
+ 0800FFFFFF00D6941000A56B0800086B7B0008E7FF0008DEFF0008D6FF0008CE
+ EF0008BDE70008B5D60008ADCE0042424200C6C6C600C6C6C60000000000B5AD
+ 9C00B5A5940021212100C6C6C600C6C6C600C6C6C600C6C6C60021212100A594
+ 84009C94840000000000C6C6C600C6C6C600C6C6C600C6C6C600000000008400
+ 8400840084008400840084008400C6C6C600000000000000000084848400C6C6
+ C600FFFFFF00C6C6C6000000000000000000C0C0C000C0C0C000C0C0C000C0C0
+ C0000000000021EFFF00C6C6C600000000000000000084848400FFFFFF000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600D6941000F7D69400FFFF
+ FF00F7D69400D6941000A56B0800086B7B00086B7B00086B7B00086B7B00086B
+ 7B00086B7B00086B7B00086B7B00086B7B004242420063636300B5AD9C00B5AD
+ 9C0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 4200A59484009C9484006363630042424200C6C6C60000000000840084008400
+ 84008400840084008400C6C6C600840084008400840084008400000000000000
+ 000084848400FFFFFF0084848400FFFFFF00C0C0C000C0C0C000C0C0C0000000
+ 000031B5D60021EFFF00C6C6C6000000000000000000C6C6C600FFFFFF000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000F7D69400A56B0800FFFFFF00D694
+ 1000D6941000A56B0800A56B0800A56B080042424200CECECE0042424200F7D6
+ 940042424200B5B5B50042424200C6C6C60063636300BDB5A500BDAD9C00B5AD
+ 9C0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 4200A59C8C00A59484009C948400636363000000000084008400840084008400
+ 840084008400C6C6C60084008400840084008400840084008400840084008400
+ 8400000000000000000084848400FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
+ C00000000000C6C6C60021EFFF000000000084848400C6C6C600FFFFFF000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000D6941000FFFFFF00FFFFFF00A56B
+ 0800A56B0800A56B0800A56B0800A56B080042424200CECECE0042424200D694
+ 100042424200B5B5B50042424200C6C6C60063636300BDB5A500BDB5A500BDAD
+ 9C0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 4200A59C8C00A59C8C00A5948400636363000000000084008400840084008400
+ 8400C6C6C60084008400840084008400840084008400FF42FF00FFFFFF008400
+ 840084008400840084000000000000000000C0C0C000C0C0C000C0C0C0000000
+ 0000C6C6C60021EFFF0021EFFF00C6C6C60000000000FFFFFF00C6C6C6000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000A56B0800FFFFFF00FFFFFF00FFFF
+ FF00A56B0800A56B0800A56B0800A56B080042424200CECECE0042424200A56B
+ 080042424200B5B5B50042424200C6C6C6004242420063636300BDB5A500BDB5
+ A50042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 4200A59C8C00A59C8C006363630042424200000000008400840084008400C6C6
+ C60084008400840084008400840084008400FFFFFF0084008400840084008400
+ 8400840084008400840000000000C6C6C600C0C0C000C0C0C0000000000021EF
+ FF0021EFFF0021EFFF0021EFFF0021EFFF00C6C6C60000000000C6C6C600FFFF
+ FF0000000000C0C0C000C0C0C000C0C0C000A56B0800FFFFFF00F7D69400F7D6
+ 9400F7D69400FFFFFF00F7D69400FFFFFF0084848400C6C6C600848484004242
+ 420084848400B5B5B50084848400C6C6C600C6C6C600C6C6C60000000000BDB5
+ A500BDB5A50021212100C6C6C600C6C6C600C6C6C600C6C6C60021212100ADA5
+ 9400AD9C8C0000000000C6C6C600C6C6C6000000000084008400C6C6C6008400
+ 840084008400840084008400840084008400FFFFFF0084008400840084008400
+ 84008400840000000000C6C6C600C6C6C600C0C0C000C0C0C0000000000021EF
+ FF0021EFFF0021EFFF0021EFFF0021EFFF00C6C6C60000000000C6C6C600C6C6
+ C600FFFFFF0000000000C0C0C000C0C0C000D6941000FFFFFF00FFFFFF00A56B
+ 0800A56B0800F7D69400A56B0800F7D69400A56B080084848400BDBDBD00BDBD
+ BD00B5B5B50042424200C6C6C600C6C6C600C6C6C600C6C6C60021212100BDB5
+ A500BDB5A500BDB5A50042424200424242004242420042424200B5A59400ADA5
+ 9400ADA5940021212100C6C6C600C6C6C60000000000C6C6C600840084008400
+ 840084008400FFFFFF008400840084008400FFFFFF0084008400840084008400
+ 840000000000C6C6C600C6C6C600C6C6C600C0C0C000C0C0C0000000000021EF
+ FF00C6C6C600000000000000000021EFFF00C6C6C60000000000C6C6C600C6C6
+ C600FFFFFF0000000000C0C0C000C0C0C000F7D69400A56B0800FFFFFF00FFFF
+ FF00A56B0800A56B0800A56B0800A56B0800A56B0800A56B0800424242004242
+ 420042424200C6C6C600C6C6C600C6C6C600C6C6C600636363009C8C7B00C6B5
+ A500BDB5A500BDB5A500BDB5A500BDAD9C00B5AD9C00B5AD9C00B5AD9C00B5A5
+ 9400ADA594009C8C7B0063636300C6C6C600C6C6C60000000000000000008400
+ 84008400840084008400FFFFFF00FFFFFF008400840084008400840084000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C0000000000021EF
+ FF00C6C6C60031B5D60031B5D60021EFFF00C6C6C6000000000000000000C6C6
+ C600FFFFFF0000000000C0C0C000C0C0C000C6C6C600D6941000F7D69400A56B
+ 0800FFFFFF00A56B0800A56B0800A56B0800A56B0800A56B0800D6941000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600424242009C8C
+ 7B002121210000000000BDB5A500BDB5A500BDAD9C00B5AD9C00000000002121
+ 21009C8C7B0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 000000000000840084008400840084008400840084008400840000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C0000000
+ 000021EFFF0021EFFF0021EFFF0021EFFF00000000008484840084848400C6C6
+ C600FFFFFF0000000000C0C0C000C0C0C000C6C6C600C6C6C600D6941000A56B
+ 0800FFFFFF00FFFFFF00F7D69400A56B0800A56B0800D6941000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6006363
+ 6300C6C6C600C6C6C60063636300BDB5A500BDB5A50063636300C6C6C600C6C6
+ C60063636300C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000840084008400840000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
+ C00000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C60000000000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600F7D6
+ 9400D6941000A56B0800A56B0800D6941000F7D69400C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200636363006363630042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6000000000000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C0C0C000C0C0C000C0C0C0000000000000000000000000000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6C600C6C6C6004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A00FFFFFF004A4A4A00C6C6C6004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A0000848400008484004A4A
+ 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A0000848400008484004A4A
+ 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A0000848400008484004A4A
+ 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A0000848400008484004A4A
+ 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF004A4A
+ 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004AADAD004AAD
+ AD004AADAD004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A0000848400008484000084
+ 8400008484004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004A4A4A004A4A
+ 4A00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004AFFFF004A4A4A004AAD
+ AD004AADAD004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A004A4A4A00C6C6C6004A4A4A0000848400008484004A4A
+ 4A004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A004A4A4A00C6C6C6004A4A4A00FFFFFF00FFFFFF004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF004A4A4A004A4A4A00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004AFFFF004A4A
+ 4A004AADAD004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
+ 4A004A4A4A004A4A4A00C6C6C600C6C6C6004A4A4A00008484004A4A4A00DEEF
+ EF00DEEFEF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
+ 4A004A4A4A004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A004AFFFF00FFFFFF004AFF
+ FF004A4A4A004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A004AADAD004A4A4A00C6C6C6004A4A4A00008484004A4A4A00DEEF
+ EF00DEEFEF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
+ 4A004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A004A4A
+ 4A004A4A4A00C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004AFFFF00FFFF
+ FF004AFFFF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00008484004A4A4A00DEEF
+ EF00DEEFEF004A4A4A00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
+ 4A00008484004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
+ 4A00C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
+ 4A00C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004AFFFF00FFFFFF004AFF
+ FF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00008484004A4A4A00DEEF
+ EF00DEEFEF004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A00008484004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF004AFFFF00FFFF
+ FF004AFFFF00FFFFFF004AFFFF00FFFFFF004AFFFF00FFFFFF004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00008484004A4A4A00DEEF
+ EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF004A4A
+ 4A00008484004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004AFFFF00FFFFFF004AFF
+ FF004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00008484004A4A4A00DEEF
+ EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF004A4A
+ 4A00DEEFEF004A4A4A00C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A
+ 4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A00C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600FF000000C6C6C600C6C6C600C6C6C600FFA5A500FF636300C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600FF000000C6C6C600C6C6C600FFD6D600FF424200FFFFFF00C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF0000840000FFFFFF0000840000FFFFFF00FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600FF000000C6C6C600FFF7F700FF393900FFE7E700C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6004242420042424200C6C6C6004242420042424200CECECE00C6C6
+ C60073737300424242004A4A4A008C8C8C004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF0000840000FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600FF000000FFEFEF00FF5A5A00FFC6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600ADADAD009C9C9C00C6C6C6007373
+ 7300ADADAD00C6C6C600FFFFFF00FFFFFF004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF0000840000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000840000FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600FF000000FF636300FF9C9C00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60042424200C6C6
+ C600C6C6C600C6C6C60042424200A5A5A5007B7B7B00C6C6C600C6C6C6004242
+ 4200424242004242420042424200424242004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF0000840000FFFFFF00FFFFFF00FFFFFF0000840000FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600FF000000FFF7F700FFADAD00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004242420042424200424242004242
+ 420042424200C6C6C60042424200C6C6C600CECECE00A5A5A500E7E7E7006363
+ 6300BDBDBD00C6C6C600BDBDBD007B7B7B004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF0000840000FFFFFF0000840000FFFFFF00FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600FF525200C6C6C600FF525200C6C6
+ C600FF000000C6C6C600FFEFEF00FF949400C6C6C600C6C6C600C6C6C600C6C6
+ C600FF525200C6C6C600FF525200C6C6C600C6C6C600C6C6C60042424200C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600424242004242420042424200E7E7
+ E70063636300424242006B6B6B00EFEFEF004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF004A4A4A00C6C6C600C6C6C600C6C6C600FF424200C6C6C600FF424200C6C6
+ C600FF000000C6C6C600C6C6C600FFE7E700FF8C8C00C6C6C600C6C6C600C6C6
+ C600FF424200C6C6C600FF424200C6C6C600C6C6C600C6C6C60042424200C6C6
+ C600C6C6C600C6C6C60042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
+ 4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A
+ 4A004A4A4A00C6C6C600C6C6C600C6C6C600FF313100C6C6C600FF313100C6C6
+ C600FF000000C6C6C600C6C6C600C6C6C600FFD6D600FF848400C6C6C600C6C6
+ C600FF313100C6C6C600FF313100C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6004242420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A
+ 4A00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A
+ 4A00C6C6C600C6C6C600C6C6C600C6C6C600FF000000C6C6C600FF000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600FF000000C6C6C600FF000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200424242004242420042424200424242004242
+ 420042424200424242004242420042424200C6C6C600C6C6C600424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0042424200C6C6C60042424200DEEFEF00DEEF
+ EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF004242
+ 4200DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 0000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60042424200FFFFFF004242420042424200424242004242
+ 42004242420042424200FFFFFF00424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 420042424200DEEFEF0042424200C6C6C600C6C6C600C6C6C600000000000000
+ 000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60000000000FFFFFF00C6C6C600C6C6C60000000000DEEFEF00000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000DEEF
+ EF00000000000000000000000000C6C6C6000000000000000000000000000000
+ 000000000000C6C6C60042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004242420042424200DEEFEF00DEEFEF00DEEF
+ EF00DEEFEF00DEEFEF00DEEFEF0000FFFF0000FFFF0000FFFF00DEEFEF00DEEF
+ EF00424242004242420042424200C6C6C600C6C6C600C6C6C600000000000000
+ 000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 0000FFFFFF00C6C6C600C6C6C600C6C6C60000000000DEEFEF00000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000DEEF
+ EF00000000000000000000000000C6C6C60000000000DEEFEF00000000000000
+ 000000000000C6C6C60042424200FFFFFF004242420042424200424242004242
+ 42004242420042424200FFFFFF004242420042424200DEEFEF00DEEFEF00DEEF
+ EF00DEEFEF00DEEFEF00DEEFEF009CADAD009CADAD009CADAD00DEEFEF00DEEF
+ EF0042424200DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00000000000000000000FFFFFF00C6C6C600C6C6C600C6C6C600000000000000
+ 0000FFFFFF00C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000C6C6C60000000000DEEFEF00000000000000
+ 000000000000C6C6C60042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00424242004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 420042424200DEEFEF00DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6
+ C600000000000000000000000000FFFFFF00C6C6C6000000000000000000FFFF
+ FF00C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000DEEFEF000000
+ 00000000000000000000000000000000000000000000DEEFEF00000000000000
+ 0000000000000000000000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000042424200FFFFFF004242420042424200424242004242
+ 42004242420042424200FFFFFF004242420042424200DEEFEF00DEEFEF00DEEF
+ EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF004242
+ 4200DEEFEF0042424200DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000000000000000000000000000FFFFFF00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000DEEFEF000000
+ 00000000000000000000DEEFEF000000000000000000DEEFEF00000000000000
+ 0000000000000000000000000000C6C6C6000000000000000000DEEFEF000000
+ 0000000000000000000042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0042424200C6C6C60042424200424242004242
+ 420042424200424242004242420042424200424242004242420042424200DEEF
+ EF0042424200DEEFEF004242420042424200C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600000000000000000000000000FFFFFF00C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000DEEFEF000000
+ 00000000000000000000DEEFEF000000000000000000DEEFEF00000000000000
+ 0000000000000000000000000000C6C6C6000000000000000000DEEFEF000000
+ 0000000000000000000042424200FFFFFF00424242004242420042424200FFFF
+ FF0042424200424242004242420042424200C6C6C600C6C6C60042424200FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242
+ 4200DEEFEF0042424200DEEFEF0042424200C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000000000000000000000000000FFFFFF00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C6000000000000000000DEEFEF000000
+ 0000000000000000000042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0042424200FFFFFF0042424200C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 4200FFFFFF004242420042424200424242004242420042424200FFFFFF004242
+ 4200424242004242420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600000000000000000000000000FFFFFF00C6C6C60000000000FFFFFF00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000DEEF
+ EF00000000000000000000000000C6C6C60000000000DEEFEF00000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF004242
+ 42004242420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6004242
+ 4200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 00000000000000000000FFFFFF00C6C6C600C6C6C600C6C6C600000000000000
+ 0000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 0000000000000000000000000000C6C6C6000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000DEEF
+ EF00000000000000000042424200424242004242420042424200424242004242
+ 420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60042424200FFFFFF004242420042424200424242004242420042424200FFFF
+ FF0042424200C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 0000000000000000000000000000C6C6C6000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60042424200FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0042424200C6C6C600C6C6C600C6C6C6000000000000000000FFFF
+ FF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6000000000000000000FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 0000DEEFEF0000000000C6C6C600C6C6C600C6C6C60000000000DEEFEF000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6004242420042424200424242004242420042424200424242004242
+ 42004242420042424200C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 0000DEEFEF0000000000C6C6C600C6C6C600C6C6C60000000000DEEFEF000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF0084B58400107310001873
+ 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
+ 0800007B0000007300007BB57B00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004242420042424200424242004242
+ 4200424242004242420042424200424242004242420042424200424242004242
+ 4200C6C6C600C6C6C6004242420042424200FFFFFF0010841000218C21002994
+ 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
+ 100008A5080000940000006B0000FFFFFF00C6C6C60000000000000000000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242
+ 4200C6C6C600424242004242420042424200FFFFFF00188C180029942900399C
+ 3900399C3900399C3900FFFFFF00A5D6A5004AA54A004AA54A004AA54A0029A5
+ 290018A51800009C0000007B0000FFFFFF000000000000848400008484000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242420042424200424242004242
+ 4200424242004242420042424200C6C6C600FFFFFF0021942100399C390042A5
+ 420042A5420042A54200FFFFFF00FFFFFF00A5D6A5004AA54A004AA54A0039A5
+ 390021A5210008A50800087B0800FFFFFF000000000000848400008484000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6
+ C600C6C6C600C6C6C60000000000C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00424242009CADAD00DEEFEF00DEEFEF009CAD
+ AD004242420042424200C6C6C600C6C6C600FFFFFF0029942900429C42004AA5
+ 4A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00A5D6A5004AA54A0039A5
+ 390021A5210010A5100008840800FFFFFF000000000000848400008484000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF000000000000000000000000000000000000000000FFFFFF004A4A4A00C6C6
+ C600C6C6C600C6C6C60000000000C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00424242009CADAD00DEEFEF00DEEFEF00FFFF00009CAD
+ AD00FFFFFF0042424200C6C6C600C6C6C600FFFFFF00319C31004AA54A0052A5
+ 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A50039A5
+ 390021A5210018A5180010841000FFFFFF000000000000848400008484000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF0000000000000000000000000000000000FFFFFF00FFFFFF004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C6000000000042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0042424200DEEFEF00DEEFEF00DEEFEF00DEEFEF009CAD
+ AD00DEEFEF0042424200C6C6C600C6C6C600FFFFFF00429C420052A552004AA5
+ 4A004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
+ A500219C2100219C210018841800FFFFFF000000000000848400008484000084
+ 8400008484000084840000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00000000004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00000000000000000000000000FFFFFF00FFFFFF00FFFFFF004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C6000000000042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0042424200DEEFEF00FFFF0000DEEFEF00DEEFEF009CAD
+ AD00DEEFEF0042424200C6C6C600C6C6C600FFFFFF0042A5420052A5520052A5
+ 52004AA54A004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6
+ A500219C2100219C2100217B2100FFFFFF000000000000848400008484000000
+ 0000000000000000000000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00000000000000000000000000000000004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF000000000000000000FFFFFF0000000000FFFFFF00FFFFFF004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C6000000000042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00424242009CADAD00FFFF0000FFFF0000DEEFEF009CAD
+ AD00FFFFFF0042424200C6C6C600C6C6C600FFFFFF0052A552005AAD5A005AAD
+ 5A0052A552004AA54A00FFFFFF00FFFFFF00FFFFFF00FFFFFF00A5D6A5003194
+ 31002994290029942900217B2100FFFFFF00000000000084840000000000DEEF
+ EF00DEEFEF00DEEFEF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000FFFFFF0000000000C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF0000000000FFFFFF00FFFFFF00FFFFFF0000000000000000004A4A4A00C6C6
+ C600C6C6C600C6C6C60000000000C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00424242009CADAD00DEEFEF00DEEFEF009CAD
+ AD0042424200C6C6C600C6C6C600C6C6C600FFFFFF0052A552006BB56B006BB5
+ 6B005AAD5A0052AD5200FFFFFF00FFFFFF00FFFFFF00A5D6A500399C39003194
+ 31002994290029942900217B2100FFFFFF00000000000084840000000000DEEF
+ EF00DEEFEF00DEEFEF0000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF000000000000000000C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00000000000000
+ 00000000000000000000C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242420042424200424242004242
+ 4200C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF005AAD5A007BBD7B0073BD
+ 730063AD63005AAD5A00FFFFFF00FFFFFF00A5D6A500429C4200429C4200399C
+ 39003194310031943100217B2100FFFFFF00000000000084840000000000DEEF
+ EF00DEEFEF00DEEFEF0000000000000000000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A004A4A4A004A4A4A00C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242
+ 4200C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF006BB56B008CC68C007BBD
+ 7B006BB56B0063B56300FFFFFF00A5D6A5005AAD5A0052A552004AA54A0042A5
+ 4200399C390031943100217B2100FFFFFF00000000000084840000000000DEEF
+ EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF000000
+ 00000084840000000000C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A00FFFFFF004A4A4A00C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242420042424200424242004242
+ 4200C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF0073BD73009CCE9C008CC6
+ 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
+ 4A0042A542003194310018731800FFFFFF00000000000084840000000000DEEF
+ EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF000000
+ 00000084840000000000C6C6C600C6C6C6004A4A4A00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF004A4A4A004A4A4A00C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042424200DEEFEF0042424200C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00B5DEB50073BD730063B5
+ 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
+ 390031943100218C21008CBD8C00FFFFFF00000000000084840000000000DEEF
+ EF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF00DEEFEF000000
+ 0000DEEFEF0000000000C6C6C600C6C6C6004A4A4A004A4A4A004A4A4A004A4A
+ 4A004A4A4A004A4A4A004A4A4A004A4A4A00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60042424200FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF004242420042424200C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6004242420042424200424242004242
+ 42004242420042424200424242004242420042424200C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C0C0C000C0C0C000000000000000000000000000C0C0C000C0C0
+ C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF0052ADFF0018529400185A
+ 9C00185A9C00185A9C00185AA500185AA500185A9C00185A9C00185294001852
+ 940018528C00184A84004AADFF00FFFFFF00FFFFFF0084B58400107310001873
+ 18001873180018731800187B1800187B1800107B1000107B1000087B0800087B
+ 0800007B0000007300007BB57B00FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000000000000000000084008400840084008484840000000000C0C0
+ C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00185AA500186BBD001873
+ CE001873CE001873CE001873CE001873CE001873CE001873CE001873CE00186B
+ C600186BBD00185AA500104A7B00FFFFFF00FFFFFF0010841000218C21002994
+ 2900319431003194310029942900299C2900219C210018A5180018A5180010A5
+ 100008A5080000940000006B0000FFFFFF00C0C0C000C0C0C000C0C0C0000000
+ 0000000000008400840084008400FFFFFF00FFFFFF00C6C6C600848484000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C6000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 000084000000C6C6C600C6C6C600C6C6C600FFFFFF001863AD001873CE00187B
+ DE00187BDE00187BE7001884E700188CF700188CF700188CF700188CF700187B
+ DE00186BC6001863AD0018528C00FFFFFF00FFFFFF00188C180029942900399C
+ 3900399C3900399C390039A539004AA54A00A5D6A500FFFFFF004AA54A0031A5
+ 310018A51800009C0000007B0000FFFFFF00C0C0C00000000000000000008400
+ 840084008400FFFFFF00FFFFFF000000000000000000C6C6C600C6C6C6008484
+ 840000000000C0C0C000C0C0C000C0C0C00000000000C6C6C600C6C6C600C6C6
+ C6000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 000084000000C6C6C600C6C6C600C6C6C600FFFFFF00186BC600187BDE001884
+ EF00FFFFFF0084C6FF00188CF700188CF700188CF700188CF70084C6FF00FFFF
+ FF001873CE00186BBD0018529400FFFFFF00FFFFFF0021942100399C390042A5
+ 420042A5420042A542004AA54A00A5D6A500FFFFFF00FFFFFF004AA54A0039A5
+ 390021A5210008A50800087B0800FFFFFF00000000008400840084008400FFFF
+ FF00FFFFFF000000000000000000840084008400840000000000C6C6C600C6C6
+ C6008484840000000000C0C0C000C0C0C0000000000000000000C6C6C6000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF001873CE001884E700188C
+ F700188CFF00FFFFFF0084C6FF00188CF700188CF70084C6FF00FFFFFF001884
+ E7001873D600186BC600185A9C00FFFFFF00FFFFFF0029942900429C42004AA5
+ 4A0052A552004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
+ 390021A5210010A5100008840800FFFFFF000000000084008400FFFFFF000000
+ 000000000000840084008400840084008400840084008400840000000000C6C6
+ C600C6C6C6008484840000000000C0C0C0000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 000084848400C6C6C600C6C6C600C6C6C600FFFFFF00187BDE00188CF700188C
+ FF00188CF700188CF700FFFFFF0084C6FF0084C6FF00FFFFFF00188CF7001884
+ E7001873D6001873CE00185AA500FFFFFF00FFFFFF00319C31004AA54A0052A5
+ 52004AA54A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF004AA54A0039A5
+ 390021A5210018A5180010841000FFFFFF000000000000000000000000008400
+ 840084008400840084000084840000FFFF008400840084008400840084000000
+ 0000C6C6C600C6C6C60084848400000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C600C6C6C600840000008400
+ 000084848400C6C6C600C6C6C600C6C6C600FFFFFF001884E700188CFF00188C
+ F700188CF700188CF700188CF700FFFFFF0084C6FF00188CF7001884EF00187B
+ DE001873CE001873CE001863AD00FFFFFF00FFFFFF00429C420052A552004AA5
+ 4A00A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0042A5420031A5
+ 3100219C2100219C210018841800FFFFFF000000000084008400840084008400
+ 8400840084008400840084008400008484008400840084008400840084008400
+ 840000000000C6C6C60000000000C0C0C0000000000000000000000000000000
+ 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 000084000000C6C6C600C6C6C600C6C6C600FFFFFF001884EF00188CFF00188C
+ FF00188CF700188CF70084C6FF00FFFFFF00FFFFFF0084C6FF001884E7001873
+ D6001873CE001873CE001863AD00FFFFFF00FFFFFF0042A5420052A5520052A5
+ 5200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C3900299C
+ 2900219C2100219C2100217B2100FFFFFF00C0C0C00084008400FFFFFF008400
+ 84008400840084008400840084008400840000FFFF0000FFFF00840084008400
+ 8400840084000000000000000000C0C0C0000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600840000008400000084848400C6C6C600FFFFFF00188CFF002194FF002194
+ FF00188CFF0084C6FF00FFFFFF001884F7001884EF00FFFFFF0084C6FF001873
+ CE001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552005AAD5A005AAD
+ 5A0052A55200A5D6A500FFFFFF00FFFFFF00FFFFFF00FFFFFF00399C39003194
+ 31002994290029942900217B2100FFFFFF00C0C0C000C0C0C00084008400FFFF
+ FF0084008400840084008400840084008400840084000084840000FFFF0000FF
+ FF00840084008400840000000000C0C0C0000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600848484008400000084000000C6C6C600C6C6
+ C60084848400840000008400000084848400FFFFFF00188CFF0039A5FF0039A5
+ FF0084C6FF00FFFFFF00188CFF00188CFF001884EF001884E700FFFFFF0084C6
+ FF001873CE001873CE001863AD00FFFFFF00FFFFFF0052A552006BB56B006BB5
+ 6B005AAD5A0052AD5200A5D6A500FFFFFF00FFFFFF00FFFFFF00399C39003194
+ 31002994290029942900217B2100FFFFFF00C0C0C000C0C0C000C0C0C0008400
+ 8400FFFFFF00840084008400840084008400008484008400840000FFFF0000FF
+ FF00840084008400840084008400000000000000000000000000000000000000
+ 0000C6C6C600C6C6C600C6C6C600840000008400000084848400C6C6C600C6C6
+ C600C6C6C600840000008400000084000000FFFFFF002194FF0052ADFF004AAD
+ FF00FFFFFF002194FF002194FF001894FF00188CF7001884EF001884E700FFFF
+ FF001873CE001873CE001863AD00FFFFFF00FFFFFF005AAD5A007BBD7B0073BD
+ 730063AD63005AAD5A005AAD5A00A5D6A500FFFFFF00FFFFFF00429C4200399C
+ 39003194310031943100217B2100FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
+ C00084008400FFFFFF00840084008400840000FFFF0000FFFF0000FFFF008400
+ 840084008400840084000000000000000000000000000000000000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600840000008400000084848400C6C6C600C6C6
+ C600C6C6C600840000008400000084000000FFFFFF0039A5FF006BBDFF0052AD
+ FF0039A5FF00319CFF00299CFF00299CFF002194FF00188CFF001884F7001884
+ EF00187BDE001873CE001863AD00FFFFFF00FFFFFF006BB56B008CC68C007BBD
+ 7B006BB56B0063B5630063AD630063AD6300A5D6A500FFFFFF004AA54A0042A5
+ 4200399C390031943100217B2100FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C00084008400FFFFFF00840084008400840084008400840084008400
+ 84000000000000000000C0C0C000C0C0C0000000000000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6
+ C60084848400840000008400000084848400FFFFFF004AADFF0084C6FF006BBD
+ FF0052ADFF004AADFF0039A5FF00319CFF00299CFF002194FF001894FF00188C
+ F7001884EF001873CE00185A9C00FFFFFF00FFFFFF0073BD73009CCE9C008CC6
+ 8C007BBD7B0073BD73006BB56B0063B5630063AD63005AAD5A0052AD52004AA5
+ 4A0042A542003194310018731800FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C0C0C00084008400FFFFFF008400840084008400000000000000
+ 0000C0C0C000C0C0C000C0C0C000C0C0C00000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000840000008400
+ 0000840000008400000084848400C6C6C600FFFFFF00ADDEFF004AADFF00319C
+ FF002194FF00188CFF00188CFF00188CF700188CF7001884EF001884E700187B
+ DE001873CE00186BBD0063B5FF00FFFFFF00FFFFFF00B5DEB50073BD730063B5
+ 63005AAD5A0052A5520052A552004AA54A004AA54A0042A54200429C4200399C
+ 390031943100218C21008CBD8C00FFFFFF00C0C0C000C0C0C000C0C0C000C0C0
+ C000C0C0C000C0C0C000C0C0C000840084008400840000000000C0C0C000C0C0
+ C000C0C0C000C0C0C000C0C0C000C0C0C000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
+ C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000C6C6C600C6C6
+ C60084848400C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60000000000C6C6C60000000000C6C6C600000000000000000000000000C6C6
+ C60084848400C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00000000000000000000000000C6C6C600C6C6C600C6C6C60000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000C6C6C600C6C6
+ C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF0000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600C6C6C6008400
+ 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
+ C60084848400C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600000000000000000000000000FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C600848484008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000840000008400
+ 00008400000084000000C6C6C600C6C6C6000000000000000000FFFFFF000000
+ 00000000000000000000000000000000000000000000FFFFFF00000000000000
+ 0000000000000000000000000000C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60084848400C6C6C600C6C6C60084848400C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C6000000000000000000C6C6C600FFFFFF00FFFFFF000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 00008400000084000000C6C6C600C6C6C6000000000000000000FFFFFF000000
+ 00000000000000000000C6C6C6000000000000000000FFFFFF00000000000000
+ 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6
+ C600848484008484840084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600FFFFFF00FFFFFF00FFFFFF0000000000FFFF
+ FF0000000000FFFFFF00FFFFFF00FFFFFF00C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 00008400000084000000C6C6C600C6C6C6000000000000000000FFFFFF000000
+ 00000000000000000000C6C6C6000000000000000000FFFFFF00000000000000
+ 0000000000000000000000000000C6C6C600C6C6C600C6C6C60000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 000000000000FFFFFF00FFFFFF00FFFFFF000000000000000000FFFFFF000000
+ 0000FFFFFF0000000000FFFFFF0000000000C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
+ C6008400000084000000C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000848400008484000000
+ 0000FFFFFF00FFFFFF000000000000000000FFFFFF00FFFFFF0000000000FFFF
+ FF0000000000FFFFFF0000000000C6C6C600C6C6C600C6C6C600848484008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00000000000000000000000000C6C6C60000000000FFFFFF00000000000000
+ 000000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
+ C60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000000
+ 0000FFFFFF000000000000848400008484000000000000000000FFFFFF000000
+ 0000FFFFFF000000000000000000C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 840084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 0000000000000000000000000000C6C6C6000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
+ C60000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6008484840000000000000000000000
+ 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
+ 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
+ 8400FFFFFF000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 0000FFFFFF0000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C6000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6
+ C60000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60084848400000000008484
+ 8400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 000000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF000084
+ 8400FFFFFF0000848400FFFFFF0000848400FFFFFF0000848400FFFFFF000084
+ 8400FFFFFF00C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
+ 000084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C60084000000C6C6C600C6C6C6008400000084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000840000008400000084000000840000008400
+ 0000840000008400000084000000C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
+ 8400008484008484840084000000FFFFFF008400000084000000840000008400
+ 00008400000084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C60084000000C6C6C60084000000C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000FFFFFF000000000000000000000000000000
+ 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
+ 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF0084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600840000008400000084000000C6C6C60084000000C6C6C600C6C6C6008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
+ 8400008484008484840084000000FFFFFF00840000008400000084000000FFFF
+ FF0084000000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6008484
+ 840084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60084000000C6C6C600840000008400000084000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000000000000000
+ 000000000000FFFFFF0084000000C6C6C6000000000000848400848484000084
+ 8400848484000084840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0084000000FFFFFF0084000000C6C6C600C6C6C600C6C6C600840000008400
+ 0000840000008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600840000000000000084000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000C6C6C6000000000084848400008484008484
+ 8400008484008484840084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 00008400000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000FFFFFF000000000000000000FFFFFF008400
+ 0000840000008400000084000000C6C6C6000000000000848400848484000084
+ 8400848484000084840084000000840000008400000084000000840000008400
+ 00008400000000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 000084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600000000000000000000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000000000000000000084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
+ 0000FFFFFF0084000000C6C6C600C6C6C6000000000084848400008484008484
+ 8400008484008484840000848400848484000084840084848400008484008484
+ 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600840000008400
+ 0000C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60084000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF00FFFFFF0084000000FFFFFF00FFFFFF00FFFFFF00FFFFFF008400
+ 000084000000C6C6C600C6C6C600C6C6C6000000000000848400848484000000
+ 0000000000000000000000000000000000000000000000000000000000008484
+ 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C60084000000C6C6
+ C600C6C6C600C6C6C6008400000084000000C6C6C600C6C6C600C6C6C600C6C6
+ C6008400000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000C6C6C6000000000000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00000000000000
+ 0000FFFFFF000000000084000000840000008400000084000000840000008400
+ 0000C6C6C600C6C6C600C6C6C600C6C6C6000000000084848400848484000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000008484
+ 84000084840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6008400000084000000840000008400
+ 000084848400C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0000000000FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000848400848484000084
+ 84000000000000FFFF00000000000000000000FFFF0000000000848484000084
+ 84008484840000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000000FFFF0000FFFF000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C60000000000000000000000000000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6C6C600C6C6C600C6C6C600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C6000000000000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000084
+ 8400000000000000000000000000000000000000000000000000C6C6C600C6C6
+ C600000000000084840000000000C6C6C600C6C6C60000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 0000C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C6000000000000000000008484000084
+ 8400008484000084840000848400008484000084840000848400008484000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000084
+ 8400000000000000000000000000000000000000000000000000C6C6C600C6C6
+ C600000000000084840000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C6000000000000FFFF00000000000084
+ 8400008484000084840000848400008484000084840000848400008484000084
+ 840000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000084
+ 8400000000000000000000000000000000000000000000000000C6C6C600C6C6
+ C600000000000084840000000000C6C6C60000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C60000FFFF0000FFFF0000FFFF00C6C6C600C6C6
+ C600000000000000000000000000C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF0000FFFF000000
+ 0000008484000084840000848400008484000084840000848400008484000084
+ 84000084840000000000C6C6C600C6C6C600C6C6C60000000000008484000084
+ 8400000000000000000000000000000000000000000000000000000000000000
+ 0000000000000084840000000000C6C6C60000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600848484008484840084848400C6C6C600C6C6
+ C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C6000000000000FFFF00FFFFFF0000FF
+ FF00000000000084840000848400008484000084840000848400008484000084
+ 8400008484000084840000000000C6C6C600C6C6C60000000000008484000084
+ 8400008484000084840000848400008484000084840000848400008484000084
+ 8400008484000084840000000000C6C6C6000000000000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 000000000000C6C6C600C6C6C60000000000C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF0000FFFF00FFFF
+ FF0000FFFF000000000000000000000000000000000000000000000000000000
+ 000000000000000000000000000000000000C6C6C60000000000008484000084
+ 8400000000000000000000000000000000000000000000000000000000000000
+ 0000008484000084840000000000C6C6C60000000000C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 0000C6C6C60000000000C6C6C60000000000C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C6000000000000FFFF00FFFFFF0000FF
+ FF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF0000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600000000000084840000000000C6C6C600C6C6C60000000000000000000000
+ 000000000000000000000000000000000000000000000000000000000000C6C6
+ C60000000000C6C6C6000000000000000000C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C60000000000FFFFFF0000FFFF00FFFF
+ FF0000FFFF00FFFFFF0000FFFF00FFFFFF0000FFFF00FFFFFF0000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600000000000084840000000000C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000
+ 0000C6C6C60000000000C6C6C60000000000C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C6000000000000FFFF00FFFFFF0000FF
+ FF0000000000000000000000000000000000000000000000000000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000008484000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600000000000084840000000000C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 0000FFFFFF000000000000000000000000000000000000000000FFFFFF000000
+ 0000000000000000000000000000C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000000000000000
+ 000000000000C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600000000000000000000000000C6C6C600C6C6C60000000000008484000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600000000000084840000000000C6C6C600C6C6C600C6C6C600C6C6C6000000
+ 0000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF0000000000FFFFFF000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000C6C6C600C6C6C60000000000008484000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60000000000FFFFFF000000000000000000000000000000000000000000FFFF
+ FF0000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000FFFF
+ FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF000000000000000000C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C60000000000C6C6C600C6C6C600C6C6
+ C60000000000C6C6C60000000000C6C6C600C6C6C60000000000008484000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60000000000C6C6C60000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C60000000000FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF
+ FF00FFFFFF0000000000C6C6C600C6C6C600C6C6C600C6C6C600000000000000
+ 0000000000000000000000000000000000000000000000000000C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C60000000000000000000000
+ 0000000000000000000000000000000000000000000000000000000000000000
+ 0000000000000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C6000000000000000000000000000000000000000000000000000000
+ 00000000000000000000C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6C600C6C6
+ C600C6C6C600C6C6C600C6C6C600C6C6C600424D3E000000000000003E000000
+ 2800000040000000F00000000100010000000000800700000000000000000000
+ 000000000000000000000000FFFFFF00F81FFEFFFFFF0000E007FDFFC07F0000
+ C003FCFF001F00008001D81F001F00008001E01F001F00000000E01F00000000
+ 0000C00300000000000080038000000000004003C00000000000C003C0000000
+ 00000003C04100008001C043C04100008001E843C0410000C003E843E0C10000
+ E007F843FFC10000F81FF843FFFF0000FEFFFEFFFEFFFFFFFDFFFDFFFDFF003F
+ FCFFFCFFFCFF003FD81FD81FD81F003FE01FE01FE01F0000E01FE01FE01F0000
+ C00BC00BC00B000080078007800700004013401F400F0000C03CC019C00FC000
+ 003D0019000FC000C0DDC019C00FC000ECFBEC49E01FC000EB3BE841C21AC000
+ FFC7FFDFD61AC000FFF7FC00D7FAFFFFFEFF0000FEFFFEFFFDFF0000FDFFFDE0
+ FCFF0000FCFFFCE0D81F0000D81FD800E01F0000E01FE01DE01F0000E01FE00D
+ C00B0000C00BC0018007000080008007400700004000401FC0038007C000C020
+ 0001401F00000000C081C03FC000C0C0ED83003FEC00EDFDEB87C0DFEA00EA0D
+ FF8FEDFFFE00FE01FF9FEBFFFE00FE0FFEFFFEFFFEFFFEFFFDFFFDFFFDFFFDFF
+ FCFFFCFFFCFFFCFFD81FD81FD81FD81FE01FE01FE01FE01FE01FE01FE01FE01F
+ C00BC00BC00BC00B80078000800780074007400040074007C003C000C023C023
+ 0001000000110031C081C000C011C0D1ED83EC00EC23EDE3EB87EA00E847EBC7
+ FF8FFE00F88FFF8FFF9FFE00F99FFF9FFDFFFE07FE03FEFFE07FFC03FE03FDFF
+ E00FF801FE03FCFFC003F000FE03D81FC003F000FE03E01F8003F000FE03E01F
+ 8003F000FC01C00B80010000000080030001000000004001000100000000C000
+ 8001000000000000C00300000000C000C00300000000EC00E00300000000EA00
+ FC3700000000FF01FF3F00000000FF83F81F0000FE07FFFFE0070000FC03FF7F
+ C0030000F801FEFF80010000F000FE7F80010000F000EC0F00000F80F000F00F
+ 00000F80F000F00F0000FE3F0000E0050000E23F0000C0030000E2300000A00F
+ 000003F00000E01F80011F100000801F80011F1F0000E06FC003F1110000F6FF
+ E007F1F10000F5FFF81FF1F10000FFFFFE00FC3FFFFFFCFFFE00C003FC7FF8CF
+ FE008001F81FF08FFE008001F007F80FE0008001E001F08FC00083C1C000F00F
+ 800007E08000E00F000107E00000F00F000107E00000E00F000107E00001C007
+ 000183C10003C003000180010007C00300038001800FC003801F8001E01FE003
+ C03FC003F83FF007E07FFC3FFE7FFF0FFE00FE00FFFFFFFFFE00FE00C007C007
+ F8008000C007C007F800000000070007F800000000070007F800000000070007
+ 0000000000070007000000000007000700010001000700070003000300070007
+ 000100030007000700000003000F000F001F0003001F001F001F0003003F003F
+ 001F0003007F007F8FFF000300FF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC007
+ C007FFFFFFFFC007C007F73FFFFF0007C007F63FFFFF0007C007F47FF9100007
+ C007F0FFDD240007C007F1FFDC600007C007F1FF05040007C00754F5DD000007
+ C0075675DDFF0007C0075735F9FF000FC00F5FF5FFFF001FC01FFFFFFFFF003F
+ C03FFFFFFFFF007FFFFFFFFFFFFF00FFFFFFFFFFFFFFFC00C007FFF9FFFFFC00
+ 8003E7FF07C1FC000001C3F307C104000001C3E707C104000001E1C701010400
+ 0000F08F000100000000F81F000100008000FC3F00010000C000F81F80030001
+ E001F09FC1078003E007C1C7C107C007F00783E3E38FC107F0038FF1E38FE38F
+ F803FFFFE38FE38FFFFFFFFFFFFFE38F8001FC00FFFFFFFF0000FC00FFFF000C
+ 00008000001F000800000000001F000100000000001D000300000000001D0003
+ 00000000001E000300000000001E000300000000001E000300000001001D0007
+ 000000030003000F00000003001F000F00000003003F000F00000003007F001F
+ 0000000300FF003F80010003FFFF007FFFFFFFFF80018001FE3FF9FF00000000
+ F81FF9FF00000000E00FF3C700000000800773C700000000000327FF00000000
+ 000107C700000000000000C700000000000101E700000000800103F100000000
+ C001063000000000E0000E3800000000F0001E3800000000F8033F3000000000
+ FC0F7F8100000000FE3FFFFF80018001FFFFFFFFFFFFFFFFFFFFFFFFFF71FFFF
+ FFFF07C1FF36FF81FFFF07C1F516FF00FFFF07C1DF31FE00E7FF0101FF76FE00
+ CF830001BFF6FC00DFC30001FFD1F800DFE30001DFFF8000DFD38003FFBF0001
+ CF3BC10777FF0001E0FFC10777BF0001FFFFE38F07FF0001FFFFE38FAFD70001
+ FFFFE38F8FE70001FFFFFFFFDFC78003FFFFFFFFFFFFFFFFF3FFFFFFFC00FFFF
+ ED9FFC018000FFFFED6FFC010000FFFFED6FFC010000FFFFF16F00010000FFE7
+ FD1F00010001C1F3FC7F00010003C3FBFEFF00010003C7FBFC7F00030003CBFB
+ FD7F00070003DCF3F93F000F0003FF07FBBF00FF0003FFFFFBBF01FF8007FFFF
+ FBBF03FFF87FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFC001C007
+ C007001F80018003C007000F80010001C007000780010001C007000380010001
+ C007000180010000C007000080010000C007001F80018000C007001F8001C000
+ C007001F8001E001C0078FF18001E007C00FFFF98001F007C01FFF758001F003
+ C03FFF8F8001F803FFFFFFFFFFFFFFFF00000000000000000000000000000000
+ 000000000000}
+ end
+ object ApplicationEvents1: TApplicationEvents
+ OnHelp = ApplicationEvents1Help
+ OnMessage = ApplicationEvents1Message
+ Left = 484
+ Top = 176
+ end
+ object dockServer: TJvDockServer
+ LeftSplitterStyle.Cursor = crHSplit
+ LeftSplitterStyle.ParentColor = False
+ RightSplitterStyle.Cursor = crHSplit
+ RightSplitterStyle.ParentColor = False
+ TopSplitterStyle.Cursor = crVSplit
+ TopSplitterStyle.ParentColor = False
+ BottomSplitterStyle.Cursor = crVSplit
+ BottomSplitterStyle.ParentColor = False
+ DockStyle = JvDockVSNetStyle1
+ Left = 616
+ Top = 304
+ end
+ object JvDockVSNetStyle1: TJvDockVSNetStyle
+ AlwaysShowGrabber = False
+ TabServerOption.ActiveFont.Charset = DEFAULT_CHARSET
+ TabServerOption.ActiveFont.Color = clWindowText
+ TabServerOption.ActiveFont.Height = -11
+ TabServerOption.ActiveFont.Name = 'Tahoma'
+ TabServerOption.ActiveFont.Style = []
+ TabServerOption.InactiveFont.Charset = DEFAULT_CHARSET
+ TabServerOption.InactiveFont.Color = 5395794
+ TabServerOption.InactiveFont.Height = -11
+ TabServerOption.InactiveFont.Name = 'Tahoma'
+ TabServerOption.InactiveFont.Style = []
+ TabServerOption.ShowCloseButtonOnTabs = False
+ Left = 528
+ Top = 312
+ end
+ object mnuReloadAsFormat: TPopupMenu
+ Left = 296
+ Top = 80
+ object ANSI1: TMenuItem
+ Caption = 'ANSI'
+ end
+ object UTF81: TMenuItem
+ Caption = 'UTF-8'
+ end
+ object UTF161: TMenuItem
+ Caption = 'UTF-16'
+ end
+ end
+ object MainMenu1: TMainMenu
+ Images = lstImages
+ Left = 448
+ Top = 376
+ object File1: TMenuItem
+ Caption = '&File'
+ OnClick = mnuFileClick
+ object New1: TMenuItem
+ Action = modActionsMain.actFileNew
+ end
+ object Open1: TMenuItem
+ Action = modActionsMain.actFileOpen
+ end
+ object Save1: TMenuItem
+ Action = modActionsMain.actFileSave
+ end
+ object SaveAs1: TMenuItem
+ Action = modActionsMain.actFileSaveAs
+ end
+ object Savecopyas1: TMenuItem
+ Action = modActionsMain.actFileSaveCopyAs
+ end
+ object Revert1: TMenuItem
+ Action = modActionsMain.actFileRevert
+ end
+ object N5: TMenuItem
+ Caption = '-'
+ end
+ object Close1: TMenuItem
+ Action = modActionsMain.actWindowClose
+ end
+ object N6: TMenuItem
+ Caption = '-'
+ end
+ object mnuFileRecent: TMenuItem
+ Caption = 'Recent &Files'
+ object TMenuItem
+ end
+ end
+ object N8: TMenuItem
+ Caption = '-'
+ end
+ object Exit1: TMenuItem
+ Action = modActionsMain.actFileExit
+ end
+ end
+ object Edit1: TMenuItem
+ Caption = '&Edit'
+ object Undo1: TMenuItem
+ Action = modActionsMain.actEditUndo
+ end
+ object Redo1: TMenuItem
+ Action = modActionsMain.actEditRedo
+ end
+ object N10: TMenuItem
+ Caption = '-'
+ end
+ object Cut1: TMenuItem
+ Action = modActionsMain.actEditCut
+ end
+ object Copy1: TMenuItem
+ Action = modActionsMain.actEditCopy
+ end
+ object Paste1: TMenuItem
+ Action = modActionsMain.actEditPaste
+ end
+ object N18: TMenuItem
+ Caption = '-'
+ end
+ object Delete1: TMenuItem
+ Action = modActionsMain.actEditDelete
+ end
+ object N19: TMenuItem
+ Caption = '-'
+ end
+ object SelectAll1: TMenuItem
+ Action = modActionsMain.actEditSelectAll
+ end
+ object N20: TMenuItem
+ Caption = '-'
+ end
+ object Find1: TMenuItem
+ Action = modActionsMain.actSearchFind
+ end
+ object FindNext1: TMenuItem
+ Action = modActionsMain.actSearchFindNext
+ end
+ object Replace1: TMenuItem
+ Action = modActionsMain.actSearchReplace
+ end
+ object N21: TMenuItem
+ Caption = '-'
+ end
+ object ReformatXMLDocument1: TMenuItem
+ Action = modActionsTextEditor.actTextEditor_ReformatXML
+ end
+ object N1: TMenuItem
+ Caption = '-'
+ end
+ object Reloadwithencoding1: TMenuItem
+ Caption = 'Reload with &encoding'
+ object ReloadasANSI1: TMenuItem
+ Action = modActionsMain.actToolsReloadANSI
+ end
+ object ReloadasUTF81: TMenuItem
+ Action = modActionsMain.actToolsReloadUTF8
+ end
+ object ReloadasUTF161: TMenuItem
+ Action = modActionsMain.actToolsReloadUTF16
+ end
+ end
+ end
+ object View1: TMenuItem
+ Caption = '&View'
+ object Project2: TMenuItem
+ Action = modActionsMain.actViewProject
+ end
+ object N22: TMenuItem
+ Caption = '-'
+ end
+ object CharacterIdentifier1: TMenuItem
+ Action = modActionsMain.actViewCharacterIdentifier
+ end
+ object CharacterMap1: TMenuItem
+ Action = modActionsMain.actViewCharacterMap
+ end
+ object Messages1: TMenuItem
+ Action = modActionsMain.actViewMessages
+ end
+ object ContextHelp1: TMenuItem
+ Action = modActionsMain.actViewHelp
+ end
+ object oolbar1: TMenuItem
+ Action = modActionsMain.actViewToolbar
+ end
+ object StatusBar1: TMenuItem
+ Action = modActionsMain.actViewStatusBar
+ end
+ object N23: TMenuItem
+ Caption = '-'
+ end
+ object ExpandEditor1: TMenuItem
+ Action = modActionsMain.actViewExpandEditor
+ end
+ object N24: TMenuItem
+ Caption = '-'
+ end
+ object CharacterFont1: TMenuItem
+ Action = modActionsMain.actViewCharFont
+ end
+ object CodeFont1: TMenuItem
+ Action = modActionsMain.actViewCodeFont
+ end
+ end
+ object Project1: TMenuItem
+ Caption = '&Project'
+ OnClick = mnuProjectClick
+ object NewProject1: TMenuItem
+ Action = modActionsMain.actProjectNew
+ end
+ object OpenProject1: TMenuItem
+ Action = modActionsMain.actProjectOpen
+ end
+ object CloseProject1: TMenuItem
+ Action = modActionsMain.actProjectClose
+ end
+ object N25: TMenuItem
+ Caption = '-'
+ end
+ object mnuProjectsRecent: TMenuItem
+ Caption = '&Recent Projects'
+ end
+ object N26: TMenuItem
+ Caption = '-'
+ end
+ object mnuProjectAddToProject: TMenuItem
+ Caption = 'A&dd to project'
+ object CurrentEditorFile1: TMenuItem
+ Action = modActionsMain.actProjectAddCurrentEditorFile
+ end
+ object OtherFiles1: TMenuItem
+ Action = modActionsMain.actProjectAddFiles
+ end
+ end
+ object N27: TMenuItem
+ Caption = '-'
+ end
+ object ProjectSettings1: TMenuItem
+ Action = modActionsMain.actProjectSettings
+ end
+ end
+ object mnuModel: TMenuItem
+ Caption = '&Model'
+ object CompileModel1: TMenuItem
+ Action = modActionsModelEditor.actModelCompile
+ end
+ object N2: TMenuItem
+ Caption = '-'
+ end
+ object estLexicalModel1: TMenuItem
+ Action = modActionsModelEditor.actModelTest
+ end
+ end
+ object mnuKeyboard: TMenuItem
+ Caption = '&Keyboard'
+ object CompileKeyboard1: TMenuItem
+ Action = modActionsKeyboardEditor.actKeyboardCompile
+ end
+ object N28: TMenuItem
+ Caption = '-'
+ end
+ object IncludeDebugInformation1: TMenuItem
+ Action = modActionsKeyboardEditor.actKeyboardIncludeDebugInformation
+ end
+ object estKeyboard1: TMenuItem
+ Action = modActionsKeyboardEditor.actKeyboardTest
+ end
+ object N29: TMenuItem
+ Caption = '-'
+ end
+ object Install1: TMenuItem
+ Action = modActionsKeyboardEditor.actKeyboardInstall
+ end
+ object Uninstall1: TMenuItem
+ Action = modActionsKeyboardEditor.actKeyboardUninstall
+ end
+ object N31: TMenuItem
+ Caption = '-'
+ end
+ object Fonts1: TMenuItem
+ Action = modActionsKeyboardEditor.actKeyboardFonts
+ end
+ object FontHelper1: TMenuItem
+ Action = modActionsKeyboardEditor.actKeyboardFontHelper
+ end
+ end
+ object mnuDebug: TMenuItem
+ Caption = '&Debug'
+ object SetBreakpoint1: TMenuItem
+ Action = modActionsDebugger.actDebugSetClearBreakpoint
+ end
+ object N32: TMenuItem
+ Caption = '-'
+ end
+ object StartDebugging1: TMenuItem
+ Action = modActionsDebugger.actDebugStartDebugger
+ end
+ object StopDebugger1: TMenuItem
+ Action = modActionsDebugger.actDebugStopDebugger
+ end
+ object N33: TMenuItem
+ Caption = '-'
+ end
+ object ANSITestMode1: TMenuItem
+ Action = modActionsDebugger.actDebugANSITestMode
+ end
+ object N34: TMenuItem
+ Caption = '-'
+ end
+ object SingleStepMode1: TMenuItem
+ Action = modActionsDebugger.actDebugSingleStepMode
+ end
+ object N35: TMenuItem
+ Caption = '-'
+ end
+ object StepForward1: TMenuItem
+ Action = modActionsDebugger.actDebugStepForward
+ end
+ object Run1: TMenuItem
+ Action = modActionsDebugger.actDebugRun
+ end
+ object Pause1: TMenuItem
+ Action = modActionsDebugger.actDebugPause
+ end
+ object N36: TMenuItem
+ Caption = '-'
+ end
+ object View2: TMenuItem
+ Caption = '&View'
+ object State1: TMenuItem
+ Action = modActionsDebugger.actDebugViewState
+ end
+ object Elements1: TMenuItem
+ Action = modActionsDebugger.actDebugViewElements
+ end
+ object CallStack1: TMenuItem
+ Action = modActionsDebugger.actDebugViewCallStack
+ end
+ object Deadkeys1: TMenuItem
+ Action = modActionsDebugger.actDebugViewDeadkeys
+ end
+ object RegressionTesting1: TMenuItem
+ Action = modActionsDebugger.actDebugViewRegressionTesting
+ end
+ object N38: TMenuItem
+ Caption = '-'
+ end
+ object Font1: TMenuItem
+ Action = modActionsDebugger.actDebugViewFont
+ end
+ object UseEditorCharacterFont1: TMenuItem
+ Action = modActionsDebugger.actDebugViewDefaultFont
+ end
+ end
+ object N37: TMenuItem
+ Caption = '-'
+ end
+ object SelectSystemKeyboard1: TMenuItem
+ Action = modActionsDebugger.actDebugSelectSystemKeyboard
+ end
+ end
+ object mnuTools: TMenuItem
+ Caption = '&Tools'
+ OnClick = mnuToolsClick
+ object VirtualKeyIdentifier1: TMenuItem
+ Action = modActionsMain.actToolsVirtualKeyIdentifier
+ end
+ object N39: TMenuItem
+ Caption = '-'
+ end
+ object mnuToolsWebDebugger: TMenuItem
+ Caption = '&Server'
+ object mnuToolsWebDebuggerOpenInBrowser: TMenuItem
+ Action = modActionsMain.actToolsWebOpenPublicUrl
+ end
+ object mnuToolsWebDebuggerCopyToClipboard: TMenuItem
+ Action = modActionsMain.actToolsWebCopyPublicUrl
+ end
+ object N11: TMenuItem
+ Caption = '-'
+ end
+ object Startserver1: TMenuItem
+ Action = modActionsMain.actToolsWebStartServer
+ end
+ object Stopserver1: TMenuItem
+ Action = modActionsMain.actToolsWebStopServer
+ end
+ object N7: TMenuItem
+ Caption = '-'
+ end
+ object mnuToolsWebDebuggerConfigure: TMenuItem
+ Action = modActionsMain.actToolsWebConfigure
+ end
+ end
+ object N4: TMenuItem
+ Caption = '-'
+ end
+ object Options1: TMenuItem
+ Action = modActionsMain.actToolsOptions
+ end
+ object mnuToolsDebugTests: TMenuItem
+ Caption = 'Debug Tests'
+ object mnuToolsDebugTestsShowDebuggerEventsPanel: TMenuItem
+ Caption = 'Show Debugger Events panel'
+ OnClick = mnuToolsDebugTestsShowDebuggerEventsPanelClick
+ end
+ object N3: TMenuItem
+ Caption = '-'
+ end
+ object mnuToolsDebugTestsExceptionTest: TMenuItem
+ Caption = '&Exception Test'
+ OnClick = mnuToolsDebugTestsExceptionTestClick
+ end
+ end
+ end
+ object mnuWindow: TMenuItem
+ Caption = '&Window'
+ OnClick = mnuWindowClick
+ object Newwindow1: TMenuItem
+ Action = modActionsMain.actWindowNew
+ end
+ object N12: TMenuItem
+ Caption = '-'
+ end
+ end
+ object Help1: TMenuItem
+ Caption = '&Help'
+ object Contents1: TMenuItem
+ Action = modActionsMain.actHelpContents
+ end
+ object N40: TMenuItem
+ Caption = '-'
+ end
+ object CheckforUpdates1: TMenuItem
+ Action = modActionsMain.actHelpCheckForUpdates
+ end
+ object N41: TMenuItem
+ Caption = '-'
+ end
+ object About1: TMenuItem
+ Action = modActionsMain.actHelpAbout
+ end
+ end
+ end
+end
diff --git a/developer/src/tike/main/UfrmMain.pas b/developer/src/tike/main/UfrmMain.pas
index 20990fb02f..4cab1e36bd 100644
--- a/developer/src/tike/main/UfrmMain.pas
+++ b/developer/src/tike/main/UfrmMain.pas
@@ -171,8 +171,6 @@ type
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
- ToolButton5: TToolButton;
- ToolButton6: TToolButton;
ToolButton7: TToolButton;
ToolButton8: TToolButton;
ToolButton9: TToolButton;
@@ -202,12 +200,8 @@ type
N5: TMenuItem;
Close1: TMenuItem;
N6: TMenuItem;
- PageSetup1: TMenuItem;
- PrintPreview1: TMenuItem;
- Print1: TMenuItem;
N8: TMenuItem;
Exit1: TMenuItem;
- N9: TMenuItem;
mnuFileRecent: TMenuItem;
Undo1: TMenuItem;
Redo1: TMenuItem;
@@ -406,6 +400,8 @@ type
procedure RefreshProjectMRU;
procedure mnuWindowSelectClick(Sender: TObject);
+ procedure MakeToolWindowsTopMost(TopMost: Boolean);
+ function ActivateHook(var Message: TMessage): Boolean;
protected
procedure WndProc(var Message: TMessage); override;
@@ -546,12 +542,26 @@ begin
end;
+function TfrmKeymanDeveloper.ActivateHook(var Message: TMessage): Boolean;
+begin
+ // We process WM_ACTIVATEAPP here because App.OnActivate is posted after the
+ // activation has happened, whereas here we can capture it in the activation/
+ // deactivation process.
+ if Message.Msg = WM_ACTIVATEAPP then
+ begin
+ MakeToolWindowsTopMost(Message.wParam <> 0);
+ end;
+ Result := False;
+end;
+
procedure TfrmKeymanDeveloper.FormCreate(Sender: TObject);
var
newProject: TProjectUI;
begin
inherited;
+ Application.HookMainWindow(ActivateHook);
+
FFilesToOpen := TStringList.Create;
try
@@ -755,6 +765,7 @@ begin
FreeAndNil(FCharMapSettings);
Application.OnActivate := nil;
+ Application.UnhookMainWindow(ActivateHook);
FreeGlobalProjectUI;
FreeAndNil(FChildWindows);
@@ -937,6 +948,27 @@ begin
end;
end;
+procedure TfrmKeymanDeveloper.MakeToolWindowsTopMost(TopMost: Boolean);
+var
+ hwTarget: THandle;
+
+ procedure MakeTopmost(Form: TForm);
+ begin
+ // If exists and is not docked
+ if Assigned(Form) and ((GetWindowLong(Form.Handle, GWL_STYLE) and WS_CHILD) = 0) then
+ SetWindowPos(Form.Handle, hwTarget, 0, 0, 0, 0, SWP_NOSIZE or SWP_NOMOVE or SWP_NOREDRAW or SWP_NOACTIVATE or SWP_NOSENDCHANGING)
+ end;
+begin
+ if TopMost
+ then hwTarget := HWND_TOPMOST
+ else hwTarget := Application.Handle;
+
+ MakeTopmost(frmMessages);
+ MakeTopmost(frmCharacterMapDock);
+ MakeTopmost(frmCharacterIdentifier);
+ MakeTopmost(frmHelp);
+end;
+
procedure TfrmKeymanDeveloper.AppOnActivate(Sender: TObject);
var
i: Integer;
diff --git a/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmProject.pas b/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmProject.pas
index aad4e9e57b..f609001c21 100644
--- a/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmProject.pas
+++ b/developer/src/tike/project/Keyman.Developer.UI.Project.UfrmProject.pas
@@ -76,6 +76,7 @@ type
procedure cefBeforeBrowse(Sender: TObject; const Url: string; isPopup, wasHandled: Boolean);
procedure cefBeforeBrowseSync(Sender: TObject; const Url: string; isPopup: Boolean; out Handled: Boolean);
procedure cefCommand(Sender: TObject; const command: string; params: TStringList);
+ procedure cefHelpTopic(Sender: TObject);
procedure ProjectRefresh(Sender: TObject);
procedure ProjectRefreshCaption(Sender: TObject);
@@ -189,6 +190,7 @@ begin
cef.OnBeforeBrowseSync := cefBeforeBrowseSync;
cef.OnCommand := cefCommand;
cef.OnLoadEnd := cefLoadEnd;
+ cef.OnHelpTopic := cefHelpTopic;
RefreshHTML;
end;
@@ -288,6 +290,11 @@ begin
WebCommand(LowerCase(command), params);
end;
+procedure TfrmProject.cefHelpTopic(Sender: TObject);
+begin
+ frmKeymanDeveloper.HelpTopic(Self);
+end;
+
procedure TfrmProject.CompileAll;
var
i: Integer;
diff --git a/developer/src/tike/xml/layoutbuilder/builder.js b/developer/src/tike/xml/layoutbuilder/builder.js
index 8915308d6f..b81707fa3c 100644
--- a/developer/src/tike/xml/layoutbuilder/builder.js
+++ b/developer/src/tike/xml/layoutbuilder/builder.js
@@ -10,6 +10,8 @@ $(function() {
this.yscale = 1;
this.uniqId = 1;
+ this.lastPresentations = {...this.defaultPresentations};
+ this.lastLayers = {};
this.getPresentation = function () {
return $('#selPlatformPresentation').val();
@@ -41,6 +43,7 @@ $(function() {
}
builder.selPlatformPresentationChange = function () {
+ builder.lastPresentations[builder.lastPlatform] = builder.getPresentation();
let lastSelection = builder.saveSelection();
builder.selectKey(null, false);
builder.selectSubKey(null);
@@ -493,11 +496,14 @@ $(function() {
}
var option = $(document.createElement('option'));
option.attr('value', i).text(this.presentations[i].name);
+ if(builder.lastPresentations[builder.lastPlatform] == i) {
+ option.attr('selected', true);
+ }
listContainer.append(option);
}
builder.prepareLayers();
- builder.selectLayer(0);
+ builder.selectLayer(builder.lastLayers[builder.lastPlatform] ?? 0);
}
this.selectLayer = function (val) {
@@ -1079,7 +1085,9 @@ $(function() {
var state = {
platform: builder.lastPlatform,
layer: builder.lastLayerIndex,
- presentation: $('#selPlatformPresentation').val()
+ presentation: $('#selPlatformPresentation').val(),
+ lastPresentations: builder.lastPresentations,
+ lastLayers: builder.lastLayers,
};
var key = builder.selectedKey();
@@ -1119,6 +1127,9 @@ $(function() {
$('#selPlatformPresentation').val($('#selPlatformPresentation option:first').val());
}
+ builder.lastPresentations = {...(data.lastPresentations ?? this.defaultPresentations)};
+ builder.lastLayers = {...(data.lastLayers ?? {})};
+
let selection = builder.saveSelection();
builder.prepareLayer();
builder.restoreSelection(selection);
diff --git a/developer/src/tike/xml/layoutbuilder/constants.js b/developer/src/tike/xml/layoutbuilder/constants.js
index 117020e5d5..d3fd02667e 100644
--- a/developer/src/tike/xml/layoutbuilder/constants.js
+++ b/developer/src/tike/xml/layoutbuilder/constants.js
@@ -631,6 +631,8 @@ $(function() {
"desktop": { "x": 640, "y": 300, "name": "Desktop" },
};
+ this.defaultPresentations = { "tablet": "tablet-ipad-landscape", "phone": "phone-iphone5-landscape", "desktop": "desktop" };
+
this.keyMargin = 15;
// from kmwosk.js:
diff --git a/developer/src/tike/xml/layoutbuilder/layer-controls.js b/developer/src/tike/xml/layoutbuilder/layer-controls.js
index 0f1797d413..765aa5c2bd 100644
--- a/developer/src/tike/xml/layoutbuilder/layer-controls.js
+++ b/developer/src/tike/xml/layoutbuilder/layer-controls.js
@@ -174,6 +174,7 @@ $(function() {
});
$('#selLayer').change(function () {
+ builder.lastLayers[builder.lastPlatform] = $('#selLayer').val();
if (builder.lastPlatform) builder.generate(false,false);
let selection = builder.saveSelection();
builder.selectLayer();
diff --git a/developer/src/tike/xml/layoutbuilder/undo.js b/developer/src/tike/xml/layoutbuilder/undo.js
index 81d8a2f130..025874c4f3 100644
--- a/developer/src/tike/xml/layoutbuilder/undo.js
+++ b/developer/src/tike/xml/layoutbuilder/undo.js
@@ -45,6 +45,9 @@ $(function() {
$('#selPlatformPresentation').val(lastPresentation);
builder.selPlatformPresentationChange();
}
+
+ var json = JSON.stringify(KVKL, null, ' ');
+ builder.saveJSON(json, true);
}
this.saveUndo = function (saveToRedo) {
diff --git a/docs/file-formats/kmx-file-format.md b/docs/file-formats/kmx-file-format.md
index e13575ae4a..4a9c73b6ce 100644
--- a/docs/file-formats/kmx-file-format.md
+++ b/docs/file-formats/kmx-file-format.md
@@ -79,6 +79,7 @@ the `KMX_Version` enum:
| `0x00000F00` | `VERSION_150` | Keyman 15.0 |
| `0x00001000` | `VERSION_160` | Keyman 16.0 |
| `0x00001100` | `VERSION_170` | Keyman 17.0 |
+| `0x00001300` | `VERSION_190` | Keyman 19.0 |
### `StartGroup`
diff --git a/ios/build.sh b/ios/build.sh
index 81b477932c..e59f10a0dd 100755
--- a/ios/build.sh
+++ b/ios/build.sh
@@ -32,6 +32,7 @@ builder_describe "Builds Keyman Engine and the Keyman app for use on iOS devices
"configure" \
"build" \
"test" \
+ "publish-symbols Publishes symbols to Sentry" \
":engine Builds KeymanEngine.xcframework, usable by our main app and by third-party apps" \
":app=keyman Builds the Keyman app for iOS platforms" \
":help Online documentation" \
@@ -50,3 +51,4 @@ function do_test_help() {
}
builder_run_action test:help do_test_help
+builder_run_child_actions publish-symbols
diff --git a/ios/engine/build.sh b/ios/engine/build.sh
index f341e13983..2fa7add082 100755
--- a/ios/engine/build.sh
+++ b/ios/engine/build.sh
@@ -9,6 +9,7 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "$KEYMAN_ROOT/resources/build/utils.inc.sh"
. "$KEYMAN_ROOT/resources/build/mac/mac.inc.sh"
. "$KEYMAN_ROOT/resources/build/build-download-resources.sh"
+. "${KEYMAN_ROOT}/resources/build/ci/sentry-control.inc.sh"
builder_describe "Builds Keyman Engine for use on iOS devices - iPhone and iPad." \
"@/web/src/app/webview build" \
@@ -16,7 +17,8 @@ builder_describe "Builds Keyman Engine for use on iOS devices - iPhone and iPad.
"clean" \
"configure" \
"build" \
- "--sim-artifact Also outputs a simulator-friendly test artifact corresponding to the build"
+ "publish-symbols Publishes symbols to Sentry." \
+ "--sim-artifact Also outputs a simulator-friendly test artifact corresponding to the build"
builder_parse "$@"
@@ -138,6 +140,13 @@ function build_engine() {
fi
}
-builder_run_action clean do_clean
-builder_run_action configure do_configure
-builder_run_action build build_engine
+do_publish_symbols() {
+ if builder_is_ci_build && builder_is_ci_build_level_release; then
+ sentry_upload_web "${KEYMAN_ROOT}/web/build/app/webview/release/"
+ fi
+}
+
+builder_run_action clean do_clean
+builder_run_action configure do_configure
+builder_run_action build build_engine
+builder_run_action publish-symbols do_publish_symbols
diff --git a/linux/mcompile/keymap/mc_kmxfile.cpp b/linux/mcompile/keymap/mc_kmxfile.cpp
index 039ae075f1..917bd1f7a3 100644
--- a/linux/mcompile/keymap/mc_kmxfile.cpp
+++ b/linux/mcompile/keymap/mc_kmxfile.cpp
@@ -28,7 +28,7 @@ const int CODE__SIZE[] = {
-1, // CODE_EXTENDEDEND 0x0B (unused)
1, // CODE_SWITCH 0x0C
-1, // CODE_KEY 0x0D (never used)
- 0, // CODE_CLEARCONTEXT 0x0E
+ 0, // CODE_CLEARCONTEXT 0x0E (deprecated in 19.0)
1, // CODE_CALL 0x0F
-1, // UC_SENTINEL_EXTENDEDEND 0x10 (not valid with UC_SENTINEL)
1, // CODE_CONTEXTEX 0x11
diff --git a/mac/Keyman4Mac/Keyman4Mac/WindowsVKCodes.h b/mac/Keyman4Mac/Keyman4Mac/WindowsVKCodes.h
deleted file mode 100644
index b7a15b2ca9..0000000000
--- a/mac/Keyman4Mac/Keyman4Mac/WindowsVKCodes.h
+++ /dev/null
@@ -1,79 +0,0 @@
-//
-// WindowsVKCodes.h
-// Keyman4Mac
-//
-// Created by Serkan Kurt on 2/12/2014.
-// Copyright (c) 2017 SIL International. All rights reserved.
-//
-
-#define VK_BACKSPACE 0x08
-#define VK_TAB 0x09
-#define VK_ENTER 0x0D
-#define VK_SPACE 0x20
-
-#define VK_KEY_0 0x30
-#define VK_KEY_1 0x31
-#define VK_KEY_2 0x32
-#define VK_KEY_3 0x33
-#define VK_KEY_4 0x34
-#define VK_KEY_5 0x35
-#define VK_KEY_6 0x36
-#define VK_KEY_7 0x37
-#define VK_KEY_8 0x38
-#define VK_KEY_9 0x39
-#define VK_KEY_A 0x41
-#define VK_KEY_B 0x42
-#define VK_KEY_C 0x43
-#define VK_KEY_D 0x44
-#define VK_KEY_E 0x45
-#define VK_KEY_F 0x46
-#define VK_KEY_G 0x47
-#define VK_KEY_H 0x48
-#define VK_KEY_I 0x49
-#define VK_KEY_J 0x4A
-#define VK_KEY_K 0x4B
-#define VK_KEY_L 0x4C
-#define VK_KEY_M 0x4D
-#define VK_KEY_N 0x4E
-#define VK_KEY_O 0x4F
-#define VK_KEY_P 0x50
-#define VK_KEY_Q 0x51
-#define VK_KEY_R 0x52
-#define VK_KEY_S 0x53
-#define VK_KEY_T 0x54
-#define VK_KEY_U 0x55
-#define VK_KEY_V 0x56
-#define VK_KEY_W 0x57
-#define VK_KEY_X 0x58
-#define VK_KEY_Y 0x59
-#define VK_KEY_Z 0x5A
-
-#define VK_NUMPAD0 0x60
-#define VK_NUMPAD1 0x61
-#define VK_NUMPAD2 0x62
-#define VK_NUMPAD3 0x63
-#define VK_NUMPAD4 0x64
-#define VK_NUMPAD5 0x65
-#define VK_NUMPAD6 0x66
-#define VK_NUMPAD7 0x67
-#define VK_NUMPAD8 0x68
-#define VK_NUMPAD9 0x69
-
-#define VK_NUMPAD_MULTIPLY 0x6A
-#define VK_NUMPAD_ADD 0x6B
-#define VK_NUMPAD_SUBTRACT 0x6D
-#define VK_NUMPAD_DECIMAL 0x6E
-#define VK_NUMPAD_DIVIDE 0x6F
-#define VK_NUMLOCK 0x90
-
-#define VK_COMMA 0xBC
-#define VK_MINUS 0xBD
-#define VK_PERIOD 0xBE
-#define VK_EQUAL 0xBB
-#define VK_SEMICOLON 0xBA
-#define VK_SLASH 0xBF
-#define VK_GRAVE 0xC0
-#define VK_LEFT_BRACKET 0xDB
-#define VK_BACKSLASH 0xDC
-#define VK_RIGHT_BRACKET 0xDD
-#define VK_QUOTE 0xDE
diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/CoreWrapper/CoreHelper.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/CoreWrapper/CoreHelper.m
index c7858e7b0d..ad2b88121a 100644
--- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/CoreWrapper/CoreHelper.m
+++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/CoreWrapper/CoreHelper.m
@@ -18,7 +18,7 @@
#import "CoreAction.h"
#import "keyman_core_api.h"
#import "MacVKCodes.h"
-#import "WindowsVKCodes.h"
+#import "km_vkey.h"
#import "KMELogs.h"
const int VIRTUAL_KEY_ARRAY_SIZE = 0x80;
diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMBinaryFileFormat.h b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMBinaryFileFormat.h
index 3951d5831d..633a7a17b5 100644
--- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMBinaryFileFormat.h
+++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMBinaryFileFormat.h
@@ -52,8 +52,9 @@ struct COMP_KEYBOARD {
#define VERSION_150 0x00000F00
#define VERSION_160 0x00001000
#define VERSION_170 0x00001100
+#define VERSION_190 0x00001300
#define VERSION_MIN VERSION_50
-#define VERSION_MAX VERSION_170
+#define VERSION_MAX VERSION_190
struct COMP_STORE {
DWORD dwSystemID;
diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMEngine.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMEngine.m
index fd59c48b62..01f59f0a97 100644
--- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMEngine.m
+++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/KMEngine.m
@@ -8,7 +8,7 @@
#import "KMEngine.h"
#import "KMBinaryFileFormat.h"
-#import "WindowsVKCodes.h"
+#import "km_vkey.h"
#import "MacVKCodes.h"
#import "CoreWrapper.h"
#import "KMELogs.h"
diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m
index e576d000b8..f133609a86 100644
--- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m
+++ b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/OnScreenKeyboard/OSKView.m
@@ -10,7 +10,7 @@
#import "OSKKey.h"
#import "KeyView.h"
#import "MacVKCodes.h"
-#import "WindowsVKCodes.h"
+#import "km_vkey.h"
#import "NKey.h"
#import "CoreHelper.h"
diff --git a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/WindowsVKCodes.h b/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/WindowsVKCodes.h
deleted file mode 100644
index 2fc5ba7f79..0000000000
--- a/mac/KeymanEngine4Mac/KeymanEngine4Mac/KME/WindowsVKCodes.h
+++ /dev/null
@@ -1,86 +0,0 @@
-//
-// WindowsVKCodes.h
-// KeymanEngine4Mac
-//
-// Created by Serkan Kurt on 2/12/2014.
-// Copyright (c) 2017 SIL International. All rights reserved.
-//
-
-#ifndef WindowsVKCodes_h
-#define WindowsVKCodes_h
-
-#define VK_BACKSPACE 0x08
-#define VK_TAB 0x09
-#define VK_ENTER 0x0D
-#define VK_SPACE 0x20
-
-#define VK_KEY_0 0x30
-#define VK_KEY_1 0x31
-#define VK_KEY_2 0x32
-#define VK_KEY_3 0x33
-#define VK_KEY_4 0x34
-#define VK_KEY_5 0x35
-#define VK_KEY_6 0x36
-#define VK_KEY_7 0x37
-#define VK_KEY_8 0x38
-#define VK_KEY_9 0x39
-#define VK_KEY_A 0x41
-#define VK_KEY_B 0x42
-#define VK_KEY_C 0x43
-#define VK_KEY_D 0x44
-#define VK_KEY_E 0x45
-#define VK_KEY_F 0x46
-#define VK_KEY_G 0x47
-#define VK_KEY_H 0x48
-#define VK_KEY_I 0x49
-#define VK_KEY_J 0x4A
-#define VK_KEY_K 0x4B
-#define VK_KEY_L 0x4C
-#define VK_KEY_M 0x4D
-#define VK_KEY_N 0x4E
-#define VK_KEY_O 0x4F
-#define VK_KEY_P 0x50
-#define VK_KEY_Q 0x51
-#define VK_KEY_R 0x52
-#define VK_KEY_S 0x53
-#define VK_KEY_T 0x54
-#define VK_KEY_U 0x55
-#define VK_KEY_V 0x56
-#define VK_KEY_W 0x57
-#define VK_KEY_X 0x58
-#define VK_KEY_Y 0x59
-#define VK_KEY_Z 0x5A
-
-#define VK_NUMPAD0 0x60
-#define VK_NUMPAD1 0x61
-#define VK_NUMPAD2 0x62
-#define VK_NUMPAD3 0x63
-#define VK_NUMPAD4 0x64
-#define VK_NUMPAD5 0x65
-#define VK_NUMPAD6 0x66
-#define VK_NUMPAD7 0x67
-#define VK_NUMPAD8 0x68
-#define VK_NUMPAD9 0x69
-
-#define VK_NUMPAD_MULTIPLY 0x6A
-#define VK_NUMPAD_ADD 0x6B
-#define VK_NUMPAD_SUBTRACT 0x6D
-#define VK_NUMPAD_DECIMAL 0x6E
-#define VK_NUMPAD_DIVIDE 0x6F
-#define VK_NUMLOCK 0x90
-
-#define VK_COMMA 0xBC
-#define VK_MINUS 0xBD
-#define VK_PERIOD 0xBE
-#define VK_EQUAL 0xBB
-#define VK_SEMICOLON 0xBA
-#define VK_SLASH 0xBF
-#define VK_GRAVE 0xC0
-#define VK_LEFT_BRACKET 0xDB
-#define VK_BACKSLASH 0xDC
-#define VK_RIGHT_BRACKET 0xDD
-#define VK_QUOTE 0xDE
-
-#define VK_OEM_102 0xE2
-
-#endif /* WindowsVKCodes_h */
diff --git a/mac/mcompile/mc_kmxfile.cpp b/mac/mcompile/mc_kmxfile.cpp
index 78aa40615c..994ecf3be9 100644
--- a/mac/mcompile/mc_kmxfile.cpp
+++ b/mac/mcompile/mc_kmxfile.cpp
@@ -27,7 +27,7 @@ const int CODE__SIZE[] = {
-1, // CODE_EXTENDEDEND 0x0B (unused)
1, // CODE_SWITCH 0x0C
-1, // CODE_KEY 0x0D (never used)
- 0, // CODE_CLEARCONTEXT 0x0E
+ 0, // CODE_CLEARCONTEXT 0x0E (deprecated in 19.0)
1, // CODE_CALL 0x0F
-1, // UC_SENTINEL_EXTENDEDEND 0x10 (not valid with UC_SENTINEL)
1, // CODE_CONTEXTEX 0x11
@@ -332,7 +332,7 @@ LPKMX_KEYBOARD KMX_CopyKeyboard(PKMX_BYTE bufp, PKMX_BYTE base) {
}
// else KMX_FixupKeyboard
-#else
+#else
/**
* @brief Fixup the keyboard by expanding pointers. On disk the pointers are stored relative to the
diff --git a/oem/firstvoices/windows/src/xml/keyman_options.xsl b/oem/firstvoices/windows/src/xml/keyman_options.xsl
index 0d8fee607b..561ddc70f6 100644
--- a/oem/firstvoices/windows/src/xml/keyman_options.xsl
+++ b/oem/firstvoices/windows/src/xml/keyman_options.xsl
@@ -14,7 +14,7 @@
-
+
diff --git a/oem/firstvoices/windows/src/xml/strings.xml b/oem/firstvoices/windows/src/xml/strings.xml
index e476f1daf8..0348833eb1 100644
--- a/oem/firstvoices/windows/src/xml/strings.xml
+++ b/oem/firstvoices/windows/src/xml/strings.xml
@@ -408,11 +408,6 @@
Always show On Screen Keyboard Window when a FirstVoices keyboard is selected
-
-
-
- Switch to appropriate On Screen Keyboard/Help automatically when a keyboard is selected
-
diff --git a/package-lock.json b/package-lock.json
index 4056482cd0..88b8c7f08b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -428,9 +428,6 @@
"@keymanapp/resources-gosh": "*",
"@types/node": "^20.4.1",
"@types/semver": "^7.3.12",
- "ajv": "^8.12.0",
- "ajv-cli": "^5.0.0",
- "ajv-formats": "^2.1.1",
"c8": "^7.12.0",
"chalk": "^2.4.2",
"typescript": "^5.4.5"
@@ -1199,7 +1196,7 @@
"@ngrok/ngrok": "^1.7.0",
"@sentry/node": "^7.57.0",
"chalk": "^4.1.2",
- "express": "^4.22.2",
+ "express": "^5.2.1",
"multer": "^2.2.0",
"open": "^8.4.0",
"restructure": "^3.0.1",
@@ -1939,23 +1936,6 @@
"url": "https://github.com/sponsors/epoberezkin"
}
},
- "node_modules/@eslint/eslintrc/node_modules/debug": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/@eslint/eslintrc/node_modules/json-schema-traverse": {
"version": "0.4.1",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
@@ -3152,24 +3132,6 @@
"node": ">=12"
}
},
- "node_modules/@puppeteer/browsers/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/@puppeteer/browsers/node_modules/is-fullwidth-code-point": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
@@ -3180,13 +3142,6 @@
"node": ">=8"
}
},
- "node_modules/@puppeteer/browsers/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/@puppeteer/browsers/node_modules/semver": {
"version": "7.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz",
@@ -4372,23 +4327,6 @@
}
}
},
- "node_modules/@typescript-eslint/parser/node_modules/debug": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/@typescript-eslint/scope-manager": {
"version": "7.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.13.1.tgz",
@@ -4433,23 +4371,6 @@
}
}
},
- "node_modules/@typescript-eslint/type-utils/node_modules/debug": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/@typescript-eslint/types": {
"version": "7.13.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.13.1.tgz",
@@ -4500,23 +4421,6 @@
"balanced-match": "^1.0.0"
}
},
- "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": {
- "version": "4.3.5",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
- "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": {
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
@@ -5508,25 +5412,6 @@
"integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
"dev": true
},
- "node_modules/@web/test-runner-core/node_modules/nanoid": {
- "version": "3.3.11",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
- "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
"node_modules/@web/test-runner-core/node_modules/readdirp": {
"version": "4.1.2",
"resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz",
@@ -5667,6 +5552,7 @@
},
"node_modules/accepts": {
"version": "1.3.8",
+ "dev": true,
"license": "MIT",
"dependencies": {
"mime-types": "~2.1.34",
@@ -5904,10 +5790,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "license": "MIT"
- },
"node_modules/array-includes": {
"version": "3.1.6",
"resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.6.tgz",
@@ -6157,36 +6039,40 @@
"license": "Apache-2.0"
},
"node_modules/body-parser": {
- "version": "1.20.6",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.6.tgz",
- "integrity": "sha512-p5tAzS57i5MV9fZFDj9LeIiTZEufbSe2eDozP+ElheSUq1m74CRq1jI4mYNDdVs9vQztXFLuk/Gd6BWTdwRJ5g==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz",
+ "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==",
"license": "MIT",
"dependencies": {
- "bytes": "~3.1.2",
- "content-type": "~1.0.5",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "~1.2.0",
- "http-errors": "~2.0.1",
- "iconv-lite": "~0.4.24",
- "on-finished": "~2.4.1",
- "qs": "~6.15.1",
- "raw-body": "~2.5.3",
- "type-is": "~1.6.18",
- "unpipe": "~1.0.0"
+ "bytes": "^3.1.2",
+ "content-type": "^2.0.0",
+ "debug": "^4.4.3",
+ "http-errors": "^2.0.1",
+ "iconv-lite": "^0.7.2",
+ "on-finished": "^2.4.1",
+ "qs": "^6.15.2",
+ "raw-body": "^3.0.2",
+ "type-is": "^2.1.0"
},
"engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/body-parser/node_modules/content-type": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
"license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/body-parser/node_modules/depd": {
@@ -6218,25 +6104,73 @@
"url": "https://opencollective.com/express"
}
},
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "license": "MIT"
+ "node_modules/body-parser/node_modules/iconv-lite": {
+ "version": "0.7.3",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz",
+ "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==",
+ "license": "MIT",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/body-parser/node_modules/media-typer": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz",
+ "integrity": "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/body-parser/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/body-parser/node_modules/mime-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
},
"node_modules/body-parser/node_modules/raw-body": {
- "version": "2.5.3",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
- "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz",
+ "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==",
"license": "MIT",
"dependencies": {
"bytes": "~3.1.2",
"http-errors": "~2.0.1",
- "iconv-lite": "~0.4.24",
+ "iconv-lite": "~0.7.0",
"unpipe": "~1.0.0"
},
"engines": {
- "node": ">= 0.8"
+ "node": ">= 0.10"
}
},
"node_modules/body-parser/node_modules/statuses": {
@@ -6248,6 +6182,24 @@
"node": ">= 0.8"
}
},
+ "node_modules/body-parser/node_modules/type-is": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
+ "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==",
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^2.0.0",
+ "media-typer": "^1.1.0",
+ "mime-types": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
"node_modules/brace-expansion": {
"version": "1.1.12",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
@@ -6966,6 +6918,7 @@
},
"node_modules/content-disposition": {
"version": "0.5.4",
+ "dev": true,
"license": "MIT",
"dependencies": {
"safe-buffer": "5.2.1"
@@ -6997,8 +6950,13 @@
}
},
"node_modules/cookie-signature": {
- "version": "1.0.6",
- "license": "MIT"
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
+ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=6.6.0"
+ }
},
"node_modules/cookies": {
"version": "0.9.1",
@@ -7155,11 +7113,12 @@
"dev": true
},
"node_modules/debug": {
- "version": "4.3.1",
- "dev": true,
+ "version": "4.4.3",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
"license": "MIT",
"dependencies": {
- "ms": "2.1.2"
+ "ms": "^2.1.3"
},
"engines": {
"node": ">=6.0"
@@ -7170,6 +7129,12 @@
}
}
},
+ "node_modules/debug/node_modules/ms": {
+ "version": "2.1.3",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
+ },
"node_modules/decimal.js": {
"version": "10.4.3",
"resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz",
@@ -7369,6 +7334,7 @@
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
+ "dev": true,
"engines": {
"node": ">= 0.8",
"npm": "1.2.8000 || >= 1.4.16"
@@ -7447,6 +7413,7 @@
},
"node_modules/encodeurl": {
"version": "1.0.2",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -8144,23 +8111,6 @@
"node": ">=8"
}
},
- "node_modules/eslint/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/eslint/node_modules/escape-string-regexp": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
@@ -8331,58 +8281,72 @@
"dev": true
},
"node_modules/express": {
- "version": "4.22.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz",
- "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==",
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
+ "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
"license": "MIT",
"dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "~1.20.5",
- "content-disposition": "~0.5.4",
- "content-type": "~1.0.4",
- "cookie": "~0.7.1",
- "cookie-signature": "~1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "~1.3.1",
- "fresh": "~0.5.2",
- "http-errors": "~2.0.0",
- "merge-descriptors": "1.0.3",
- "methods": "~1.1.2",
- "on-finished": "~2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "~0.1.12",
- "proxy-addr": "~2.0.7",
- "qs": "~6.15.1",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "~0.19.0",
- "serve-static": "~1.16.2",
- "setprototypeof": "1.2.0",
- "statuses": "~2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
+ "accepts": "^2.0.0",
+ "body-parser": "^2.2.1",
+ "content-disposition": "^1.0.0",
+ "content-type": "^1.0.5",
+ "cookie": "^0.7.1",
+ "cookie-signature": "^1.2.1",
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "finalhandler": "^2.1.0",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.0",
+ "merge-descriptors": "^2.0.0",
+ "mime-types": "^3.0.0",
+ "on-finished": "^2.4.1",
+ "once": "^1.4.0",
+ "parseurl": "^1.3.3",
+ "proxy-addr": "^2.0.7",
+ "qs": "^6.14.0",
+ "range-parser": "^1.2.1",
+ "router": "^2.2.0",
+ "send": "^1.1.0",
+ "serve-static": "^2.2.0",
+ "statuses": "^2.0.1",
+ "type-is": "^2.0.1",
+ "vary": "^1.1.2"
},
"engines": {
- "node": ">= 0.10.0"
+ "node": ">= 18"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/express"
}
},
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/express/node_modules/accepts": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
+ "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
"license": "MIT",
"dependencies": {
- "ms": "2.0.0"
+ "mime-types": "^3.0.0",
+ "negotiator": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/content-disposition": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz",
+ "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/express/node_modules/depd": {
@@ -8401,11 +8365,81 @@
"node": ">= 0.8"
}
},
- "node_modules/express/node_modules/ms": {
+ "node_modules/express/node_modules/fresh": {
"version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "license": "MIT"
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/express/node_modules/media-typer": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz",
+ "integrity": "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/express/node_modules/mime-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express/node_modules/negotiator": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.1.0.tgz",
+ "integrity": "sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==",
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express/node_modules/negotiator/node_modules/content-type": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
},
"node_modules/express/node_modules/statuses": {
"version": "2.0.1",
@@ -8416,6 +8450,37 @@
"node": ">= 0.8"
}
},
+ "node_modules/express/node_modules/type-is": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
+ "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==",
+ "license": "MIT",
+ "dependencies": {
+ "content-type": "^2.0.0",
+ "media-typer": "^1.1.0",
+ "mime-types": "^3.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/express/node_modules/type-is/node_modules/content-type": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
"node_modules/extract-zip": {
"version": "2.0.1",
"dev": true,
@@ -8483,9 +8548,9 @@
"dev": true
},
"node_modules/fast-uri": {
- "version": "3.1.5",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.5.tgz",
- "integrity": "sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==",
+ "version": "3.1.7",
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.7.tgz",
+ "integrity": "sha512-dOvZVzjdZdz7phd9v6jCbwxrBW3fK6n8Rc0CtdmM4bumzMnxywBYhuph6J819RRw/ku+rLbelwfMunktuzVVHg==",
"dev": true,
"funding": [
{
@@ -8541,30 +8606,24 @@
}
},
"node_modules/finalhandler": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
- "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
+ "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==",
"license": "MIT",
"dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
+ "debug": "^4.4.0",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "on-finished": "^2.4.1",
+ "parseurl": "^1.3.3",
+ "statuses": "^2.0.1"
},
"engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
+ "node": ">= 18.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/finalhandler/node_modules/encodeurl": {
@@ -8576,16 +8635,10 @@
"node": ">= 0.8"
}
},
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "license": "MIT"
- },
"node_modules/finalhandler/node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
"license": "MIT",
"engines": {
"node": ">= 0.8"
@@ -8708,6 +8761,7 @@
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
+ "dev": true,
"engines": {
"node": ">= 0.6"
}
@@ -8907,31 +8961,6 @@
"node": ">= 14"
}
},
- "node_modules/get-uri/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/get-uri/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/git-diff": {
"version": "2.0.6",
"dev": true,
@@ -9331,23 +9360,6 @@
"node": ">= 14"
}
},
- "node_modules/http-proxy-agent/node_modules/debug": {
- "version": "4.3.6",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz",
- "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/https-proxy-agent": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
@@ -9375,6 +9387,7 @@
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dev": true,
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
@@ -9790,6 +9803,12 @@
"integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==",
"dev": true
},
+ "node_modules/is-promise": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
+ "license": "MIT"
+ },
"node_modules/is-regex": {
"version": "1.1.4",
"resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz",
@@ -10047,23 +10066,6 @@
"node": ">= 14"
}
},
- "node_modules/jsdom/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/jsdom/node_modules/https-proxy-agent": {
"version": "7.0.2",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz",
@@ -10298,23 +10300,6 @@
"ms": "^2.1.1"
}
},
- "node_modules/koa/node_modules/debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "dev": true,
- "dependencies": {
- "ms": "2.1.2"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/koa/node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
@@ -10621,9 +10606,13 @@
}
},
"node_modules/merge-descriptors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
+ "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
@@ -10644,13 +10633,6 @@
"node": ">= 8"
}
},
- "node_modules/methods": {
- "version": "1.1.2",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
"node_modules/micromatch": {
"version": "4.0.8",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
@@ -10665,17 +10647,6 @@
"node": ">=8.6"
}
},
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
"node_modules/mime-db": {
"version": "1.52.0",
"license": "MIT",
@@ -10958,24 +10929,6 @@
"node": ">=12"
}
},
- "node_modules/mocha/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/mocha/node_modules/diff": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/diff/-/diff-5.2.0.tgz",
@@ -11239,6 +11192,25 @@
"integrity": "sha512-0n3mSAQLPpGLV9ORXT5+C/D4mwew7Ebws69Hx4E2sgz2ZA5+32Q80B9tL8PbL7XHnRDiAxH/pnrUJ9a4fkTNTA==",
"dev": true
},
+ "node_modules/nanoid": {
+ "version": "3.3.18",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.18.tgz",
+ "integrity": "sha512-DTg4MJbGMWkfi6VZFdNt2/caMbQy4Ou+Op/hJQvGEWcnVfoA1QA+xzRKAzw9jD6+GVOOeYr/mIcuDSdug6F6+w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
"node_modules/natural-compare": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -11247,6 +11219,7 @@
},
"node_modules/negotiator": {
"version": "0.6.3",
+ "dev": true,
"license": "MIT",
"engines": {
"node": ">= 0.6"
@@ -11748,24 +11721,6 @@
"node": ">= 14"
}
},
- "node_modules/pac-proxy-agent/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/pac-proxy-agent/node_modules/https-proxy-agent": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
@@ -11780,13 +11735,6 @@
"node": ">= 14"
}
},
- "node_modules/pac-proxy-agent/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/pac-resolver": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/pac-resolver/-/pac-resolver-7.0.1.tgz",
@@ -11927,10 +11875,14 @@
"dev": true
},
"node_modules/path-to-regexp": {
- "version": "0.1.12",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
- "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
- "license": "MIT"
+ "version": "8.4.2",
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz",
+ "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==",
+ "license": "MIT",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
},
"node_modules/path-type": {
"version": "4.0.0",
@@ -12149,24 +12101,6 @@
"node": ">= 14"
}
},
- "node_modules/proxy-agent/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
"node_modules/proxy-agent/node_modules/https-proxy-agent": {
"version": "7.0.6",
"resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz",
@@ -12191,13 +12125,6 @@
"node": ">=12"
}
},
- "node_modules/proxy-agent/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/proxy-from-env": {
"version": "1.1.0",
"dev": true,
@@ -12258,38 +12185,14 @@
"node": ">=18"
}
},
- "node_modules/puppeteer-core/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/puppeteer-core/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/qs": {
- "version": "6.15.2",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz",
- "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==",
+ "version": "6.16.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz",
+ "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==",
"license": "BSD-3-Clause",
"dependencies": {
- "side-channel": "^1.1.0"
+ "es-define-property": "^1.0.1",
+ "side-channel": "^1.1.1"
},
"engines": {
"node": ">=0.6"
@@ -12594,6 +12497,31 @@
"fsevents": "~2.3.2"
}
},
+ "node_modules/router": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
+ "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
+ "license": "MIT",
+ "dependencies": {
+ "debug": "^4.4.0",
+ "depd": "^2.0.0",
+ "is-promise": "^4.0.0",
+ "parseurl": "^1.3.3",
+ "path-to-regexp": "^8.0.0"
+ },
+ "engines": {
+ "node": ">= 18"
+ }
+ },
+ "node_modules/router/node_modules/depd": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
"node_modules/rrweb-cssom": {
"version": "0.6.0",
"resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz",
@@ -12625,6 +12553,7 @@
},
"node_modules/safe-buffer": {
"version": "5.2.1",
+ "dev": true,
"funding": [
{
"type": "github",
@@ -12690,75 +12619,135 @@
}
},
"node_modules/send": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
- "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz",
+ "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==",
+ "license": "MIT",
"dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
+ "debug": "^4.4.3",
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "etag": "^1.8.1",
+ "fresh": "^2.0.0",
+ "http-errors": "^2.0.1",
+ "mime-types": "^3.0.2",
+ "ms": "^2.1.3",
+ "on-finished": "^2.4.1",
+ "range-parser": "^1.2.1",
+ "statuses": "^2.0.2"
},
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
"node_modules/send/node_modules/depd": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
+ "node_modules/send/node_modules/encodeurl": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/send/node_modules/fresh": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/send/node_modules/http-errors": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
+ "license": "MIT",
+ "dependencies": {
+ "depd": "~2.0.0",
+ "inherits": "~2.0.4",
+ "setprototypeof": "~1.2.0",
+ "statuses": "~2.0.2",
+ "toidentifier": "~1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
+ "node_modules/send/node_modules/mime-db": {
+ "version": "1.54.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/send/node_modules/mime-types": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
+ "license": "MIT",
+ "dependencies": {
+ "mime-db": "^1.54.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
+ }
+ },
"node_modules/send/node_modules/ms": {
"version": "2.1.3",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+ "license": "MIT"
},
"node_modules/send/node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
+ "license": "MIT",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/serve-static": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
- "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz",
+ "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==",
"license": "MIT",
"dependencies": {
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.19.0"
+ "encodeurl": "^2.0.0",
+ "escape-html": "^1.0.3",
+ "parseurl": "^1.3.3",
+ "send": "^1.2.0"
},
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 18"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/express"
}
},
"node_modules/serve-static/node_modules/encodeurl": {
@@ -12842,14 +12831,14 @@
}
},
"node_modules/side-channel": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
- "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz",
+ "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==",
"license": "MIT",
"dependencies": {
"es-errors": "^1.3.0",
- "object-inspect": "^1.13.3",
- "side-channel-list": "^1.0.0",
+ "object-inspect": "^1.13.4",
+ "side-channel-list": "^1.0.1",
"side-channel-map": "^1.0.1",
"side-channel-weakmap": "^1.0.2"
},
@@ -13078,31 +13067,6 @@
"node": ">= 14"
}
},
- "node_modules/socks-proxy-agent/node_modules/debug": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
- "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/socks-proxy-agent/node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/source-map": {
"version": "0.6.1",
"dev": true,
@@ -14501,13 +14465,6 @@
"version": "1.0.2",
"license": "MIT"
},
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "license": "MIT",
- "engines": {
- "node": ">= 0.4.0"
- }
- },
"node_modules/v8-to-istanbul": {
"version": "9.0.1",
"dev": true,
@@ -15245,7 +15202,7 @@
"@sentry/cli": "^2.31.0",
"@zip.js/zip.js": "^2.7.32",
"c8": "^7.12.0",
- "express": "^4.22.2",
+ "express": "^5.2.1",
"jsdom": "^23.0.1",
"promise-status-async": "^1.2.10",
"tsx": "^4.19.0"
diff --git a/resources/build/ci/sentry-control.inc.sh b/resources/build/ci/sentry-control.inc.sh
index 9331152eed..aae674f8c9 100644
--- a/resources/build/ci/sentry-control.inc.sh
+++ b/resources/build/ci/sentry-control.inc.sh
@@ -12,7 +12,7 @@
function isSentryConfigured() {
if [ -z "${SENTRY_AUTH_TOKEN-}" ] || [ -z "${SENTRY_ORG-}" ] || [ -z "${SENTRY_URL-}" ]; then
- echo "WARNING: Sentry environment variables SENTRY_AUTH_TOKEN, SENTRY_ORG and SENTRY_URL must be configured."
+ builder_warn "WARNING: Sentry environment variables SENTRY_AUTH_TOKEN, SENTRY_ORG and SENTRY_URL must be configured."
return 1
fi
return 0
@@ -20,7 +20,7 @@ function isSentryConfigured() {
function isSentryCliAvailable() {
which sentry-cli > /dev/null && return 0
- echo "WARNING: sentry-cli could not be found. Skipping all sentry integration."
+ builder_warn "WARNING: sentry-cli could not be found. Skipping all sentry integration."
return 1
}
@@ -28,15 +28,35 @@ function makeSentryRelease() {
if isSentryConfigured; then
if isSentryCliAvailable; then
# This version tag matches the repository version tag release@x.y.z
- echo "Making a Sentry release for tag $KEYMAN_VERSION_GIT_TAG"
+ builder_echo "Making a Sentry release for tag $KEYMAN_VERSION_GIT_TAG"
sentry-cli releases new -p keyman-android -p keyman-developer -p keyman-ios -p keyman-linux -p keyman-mac -p keyman-web -p keyman-windows $KEYMAN_VERSION_GIT_TAG
- echo "Setting commits for release tag $KEYMAN_VERSION_GIT_TAG"
+ builder_echo "Setting commits for release tag $KEYMAN_VERSION_GIT_TAG"
sentry-cli releases set-commits --auto $KEYMAN_VERSION_GIT_TAG
- echo "Finalizing release tag $KEYMAN_VERSION_GIT_TAG"
+ builder_echo "Finalizing release tag $KEYMAN_VERSION_GIT_TAG"
sentry-cli releases finalize "$KEYMAN_VERSION_GIT_TAG"
fi
fi
}
+#
+# Upload sourcemaps to Sentry
+#
+# Parameters:
+# 1: Directory containing sourcemaps to upload
+#
+function sentry_upload_web () {
+ local SOURCEMAP_DIR="$1"
+ if ! isSentryConfigured; then
+ builder_warn "Skipping Sentry upload: SENTRY_ORG and/or SENTRY_PROJECT are unset."
+ return
+ fi
+
+ builder_echo "Uploading ${SOURCEMAP_DIR} to Sentry..."
+
+ sentry-cli releases files "${KEYMAN_VERSION_GIT_TAG}" upload-sourcemaps --strip-common-prefix \
+ "${SOURCEMAP_DIR}" --rewrite --ext js --ext map --ext ts
+
+ builder_echo "Upload successful."
+}
diff --git a/resources/build/htm-link.lua b/resources/build/htm-link.lua
index b2ed4fc45b..9a516da94e 100644
--- a/resources/build/htm-link.lua
+++ b/resources/build/htm-link.lua
@@ -8,7 +8,9 @@ function Link(elem)
return pandoc.Link(elem.content, elem.target .. '.htm', elem.title, elem.attr)
end
end
- return elem
+ -- target=_blank opens external links in browser
+ table.insert(elem.content, ' ↗️')
+ return pandoc.Link(elem.content, elem.target, 'This link opens in your web browser', { target = '_blank' })
end
function isLocalLink(elem)
diff --git a/resources/teamcity/ios/ios-actions.inc.sh b/resources/teamcity/ios/ios-actions.inc.sh
index acf904fe0f..fb803aae89 100755
--- a/resources/teamcity/ios/ios-actions.inc.sh
+++ b/resources/teamcity/ios/ios-actions.inc.sh
@@ -3,13 +3,18 @@
ios_build() {
builder_echo start "build" "Building KeymanEngine + Keyman for iOS"
- # shellcheck disable=SC2154
- "${KEYMAN_ROOT}/ios/ci.sh" build
+ builder_launch /ios/ci.sh build
builder_echo end "build" success "Finished building KeymanEngine + Keyman for iOS"
}
ios_capture_build_artifacts() {
builder_echo start "prep-release" "Using prep-release script to capture build artifacts"
- "${KEYMAN_ROOT}/ios/tools/prepRelease.sh"
+ builder_launch /ios/tools/prepRelease.sh
builder_echo end "prep-release" success "Finished capturing build artifacts"
}
+
+ios_publish_symbols() {
+ builder_echo start "publish to Sentry" "Publishing source map to Sentry"
+ builder_launch /ios/build.sh "publish-symbols"
+ builder_echo end "publish to Sentry" success "Finished publishing source map to Sentry"
+}
diff --git a/resources/teamcity/ios/keyman-ios-release.sh b/resources/teamcity/ios/keyman-ios-release.sh
index 8942a9f135..15d09e5ef7 100755
--- a/resources/teamcity/ios/keyman-ios-release.sh
+++ b/resources/teamcity/ios/keyman-ios-release.sh
@@ -243,6 +243,7 @@ function do_build() {
function do_publish() {
_publish_to_downloads_keyman_com
+ ios_publish_symbols
tc_upload_help "Keyman for iOS" ios
if [[ "${KEYMAN_TIER}" == "stable" ]]; then
diff --git a/web/ci.sh b/web/ci.sh
index f9c4e4263d..30a9200cd7 100755
--- a/web/ci.sh
+++ b/web/ci.sh
@@ -15,6 +15,7 @@ THIS_SCRIPT="$(readlink -f "${BASH_SOURCE[0]}")"
. "${KEYMAN_ROOT}/resources/build/utils.inc.sh"
. "${KEYMAN_ROOT}/resources/build/zip.inc.sh"
. "${KEYMAN_ROOT}/resources/build/ci/pull-requests.inc.sh"
+. "${KEYMAN_ROOT}/resources/build/ci/sentry-control.inc.sh"
# This script runs from its own folder
cd "${THIS_SCRIPT_PATH}"
@@ -42,21 +43,6 @@ builder_parse "$@"
KEYMAN_TIER=$(cat ../TIER.md)
BUILD_NUMBER=$(cat ../VERSION.md)
-function web_sentry_upload () {
- if [[ -z "${SENTRY_ORG:-}" ]] || [[ -z "${SENTRY_PROJECT:-}" ]]; then
- echo "Skipping Sentry upload: SENTRY_ORG and/or SENTRY_PROJECT are unset."
- return
- fi
-
- echo "Uploading $1 to Sentry..."
-
- # --strip-common-prefix does not take an argument, unlike --strip-prefix. It auto-detects
- # the most common prefix instead.
- sentry-cli releases files "${KEYMAN_VERSION_GIT_TAG}" upload-sourcemaps --strip-common-prefix "$1" \
- --rewrite --ext js --ext map --ext ts
- echo "Upload successful."
-}
-
function build_action() {
# Build step: since CI builds start (and should start) from scratch, run the following
# three actions:
@@ -73,11 +59,10 @@ function build_action() {
for sourcemap in "${KEYMAN_ROOT}/common/web/sentry-manager/build/lib/"*.map; do
node "${KEYMAN_ROOT}/web/build/tools/building/sourcemap-root/index.js" null "${sourcemap}" --clean
done
- web_sentry_upload "${KEYMAN_ROOT}/common/web/sentry-manager/build/lib/"
+ sentry_upload_web "${KEYMAN_ROOT}/common/web/sentry-manager/build/lib/"
# And, of course, the main build-products too
- web_sentry_upload "${KEYMAN_ROOT}/web/build/app/webview/release/"
- web_sentry_upload "${KEYMAN_ROOT}/web/build/publish/release/"
+ sentry_upload_web "${KEYMAN_ROOT}/web/build/publish/release/"
fi
}
diff --git a/web/package.json b/web/package.json
index 5ec0135add..ed8c3505b4 100644
--- a/web/package.json
+++ b/web/package.json
@@ -107,7 +107,7 @@
"@sentry/cli": "^2.31.0",
"@zip.js/zip.js": "^2.7.32",
"c8": "^7.12.0",
- "express": "^4.22.2",
+ "express": "^5.2.1",
"jsdom": "^23.0.1",
"promise-status-async": "^1.2.10",
"tsx": "^4.19.0"
diff --git a/web/src/app/browser/src/context/pageIntegrationHandlers.ts b/web/src/app/browser/src/context/pageIntegrationHandlers.ts
index eebf0ebde5..a17755d9ea 100644
--- a/web/src/app/browser/src/context/pageIntegrationHandlers.ts
+++ b/web/src/app/browser/src/context/pageIntegrationHandlers.ts
@@ -159,26 +159,6 @@ export class PageIntegrationHandlers {
return false;
};
-
- private _WindowLoad: (e: Event) => void = () => {
- // Always return to top of page after a page reload
- document.body.scrollTop=0;
- if(typeof document.documentElement != 'undefined') {
- document.documentElement.scrollTop=0;
- }
- }
-
- /**
- * Function _WindowUnload
- * Scope Private
- * Description Remove handlers before detaching KMW window
- */
- private _WindowUnload: () => void = () => {
- // Future note: should restrict this to anything for the corresponding document if on a
- // child iframe, not the whole engine.
- this.engine.shutdown();
- }
-
private attachHandlers() {
const eventTracker = this.domEventTracker;
const device = this.engine.config.hostDevice;
@@ -202,9 +182,6 @@ export class PageIntegrationHandlers {
eventTracker.attachDOMEvent(docBody, 'touchend', this.touchEndActivationHandler, false);
}
- eventTracker.attachDOMEvent(window, 'load', this._WindowLoad, false);
- eventTracker.attachDOMEvent(window, 'unload', this._WindowUnload,false);
-
eventTracker.attachDOMEvent(document, 'keyup', this.engine.hotkeyManager._Process, false);
}
@@ -229,9 +206,6 @@ export class PageIntegrationHandlers {
this.mobilePageTrailer?.parentElement.removeChild(this.mobilePageTrailer);
}
- eventTracker.detachDOMEvent(window, 'load', this._WindowLoad, false);
- eventTracker.detachDOMEvent(window, 'unload', this._WindowUnload,false);
-
eventTracker.detachDOMEvent(document, 'keyup', this.engine.hotkeyManager._Process, false);
}
}
\ No newline at end of file
diff --git a/web/src/app/browser/src/contextManager.ts b/web/src/app/browser/src/contextManager.ts
index 9598227110..d1d428c1ae 100644
--- a/web/src/app/browser/src/contextManager.ts
+++ b/web/src/app/browser/src/contextManager.ts
@@ -13,6 +13,7 @@ import {
import { BrowserConfiguration } from './configuration.js';
import { FocusAssistant } from './context/focusAssistant.js';
+export const KeyboardCookieName = 'KeymanWeb_Keyboard';
export interface KeyboardCookie {
current: string;
}
@@ -46,7 +47,7 @@ function setTargetTextDirection(elem: HTMLElement, activeKeyboard: Keyboard): vo
export class ContextManager extends ContextManagerBase {
private _activeKeyboard: KeyboardInfoPair;
- private cookieManager = new CookieSerializer('KeymanWeb_Keyboard');
+ private cookieManager = new CookieSerializer(KeyboardCookieName);
readonly focusAssistant = new FocusAssistant(() => this.activeTextStore?.isForcingScroll());
readonly page: PageContextAttachment;
private mostRecentTextStore: AbstractElementTextStore;
@@ -231,7 +232,7 @@ export class ContextManager extends ContextManagerBase {
}
}
- public setActiveTextStore(textStore: AbstractElementTextStore, sendEvents?: boolean) {
+ public setActiveTextStore(textStore: AbstractElementTextStore, sendEvents?: boolean): void {
const previousTextStore = this.mostRecentTextStore;
const originalTextStore = this.activeTextStore; // may differ, depending on focus state.
@@ -409,6 +410,11 @@ export class ContextManager extends ContextManagerBase {
* activates the keyboard if the specified control represents the
* currently-active context.
*
+ * If kbdId and langId are both null, the control will use the global
+ * keyboard. If both are the empty string, the control will use the
+ * system keyboard (on desktop), or the first installed keyboard (on
+ * touch devices).
+ *
* This is the core method that backs
* https://help.keyman.com/developer/engine/web/current-version/reference/core/setKeyboardForControl.
* @param textStore
@@ -531,8 +537,8 @@ export class ContextManager extends ContextManagerBase {
this.engineConfig.alertHost?.wait(); // clear the wait message box, either way.
- const message = (err as Error)?.message ||
- 'Sorry, the ' + keyboardId + ' keyboard for ' + languageCode + ' is not currently available.';
+
+ const message = `Activation of '${keyboardId}' failed: ${(err as Error)?.message ?? err?.toString() ?? 'unknown error'}`;
if(err instanceof KeyboardScriptError) {
// We get signaled about error log messages if the site is connected to our Sentry error reporting
@@ -748,8 +754,8 @@ export class ContextManager extends ContextManagerBase {
* Gets the 'saved keyboard' cookie value for the last keyboard used in the
* iser's previous session.
**/
- public getSavedKeyboardRaw(): string {
- const cookie = new CookieSerializer('KeymanWeb_Keyboard');
+ public getSavedKeyboardRaw(): string | null {
+ const cookie = new CookieSerializer(KeyboardCookieName);
const v = cookie.load(decodeURIComponent);
if(typeof(v.current) != 'string') {
diff --git a/web/src/app/browser/src/index.ts b/web/src/app/browser/src/index.ts
index 786f004de5..d41c76358c 100644
--- a/web/src/app/browser/src/index.ts
+++ b/web/src/app/browser/src/index.ts
@@ -2,7 +2,7 @@
* Keyman is copyright (C) SIL Global. MIT License.
*/
-export { ContextManager, KeyboardCookie } from "./contextManager.js";
+export { ContextManager, KeyboardCookie, KeyboardCookieName } from "./contextManager.js";
export { KeyboardDetails } from './keyboardDetails.js';
export { KeymanEngine } from './keymanEngine.js';
export { UIModule } from './uiModuleInterface.js';
diff --git a/web/src/app/browser/src/keymanEngine.ts b/web/src/app/browser/src/keymanEngine.ts
index 8f1f7ac54c..9b56247cdd 100644
--- a/web/src/app/browser/src/keymanEngine.ts
+++ b/web/src/app/browser/src/keymanEngine.ts
@@ -315,14 +315,14 @@ export class KeymanEngine extends KeymanEngineBase('KeymanWeb_Keyboard');
+ const v1=util.loadCookie(KeyboardCookieName);
let kbdEnabledOnLoad=false;
if(typeof(v1.current) != 'undefined') {
kbdEnabledOnLoad = (v1.current.indexOf('---') < 0);
@@ -483,12 +480,10 @@ if(!keyman) {
}
/**
- * Function updateKeyboardList
- * Scope Private
- * Description Rebuild the UI and keyboard list
+ * Rebuild the UI and keyboard list
**/
- readonly updateKeyboardList = () => {
- if(!(keyman.initialized || this.initialized)) {
+ public readonly updateKeyboardList = () => {
+ if (!(keyman.initialized || this.initialized)) {
return; //TODO: may want to restart the timer??
}
@@ -563,10 +558,9 @@ if(!keyman) {
// var _SelectedMenuItem;
/**
- * Function selecKbd
- * Scope Private
+ * Select a keyboard from the drop down menu
+ *
* @param {number} kbdIndex
- * Description Select a keyboard from the drop down menu
**/
private async selectKbd(kbdIndex: number): Promise {
let name: string, languageCode: string;
@@ -589,13 +583,12 @@ if(!keyman) {
};
/**
- * Function updateMenu
- * Scope Private
+ * Updates the menu selection when a change is required
+ *
* @param {string} kbdName
* @param {?string=} lgCode
- * Description Updates the menu selection when a change is required
**/
- updateMenu(kbdName: string, lgCode: string) {
+ public updateMenu(kbdName: string, lgCode: string) {
let _k=document.getElementById('KMWSel_$');
for(let i=0; i < this.keyboards.length; i++) {
@@ -630,7 +623,7 @@ if(!keyman) {
}
}
- get stylingCSS() {
+ private get stylingCSS() {
return `
#KeymanWeb_KbdList {
display: block;
@@ -714,11 +707,9 @@ if(!keyman) {
}
/**
- * Function createMenu
- * Scope Private
- * Description Create the drop down menu and populate with loaded KeymanWeb keyboards
+ * Create the drop down menu and populate with loaded KeymanWeb keyboards
**/
- createMenu() {
+ private createMenu() {
if(typeof(this.keyboardMenu) == 'undefined') { // I2403 - Allow toggle design to be loaded twice
this.keyboardMenu = util.createElement('ul');
this.keyboardMenu.id='KeymanWeb_KbdList';
diff --git a/web/src/app/ui/kmwuitoolbar.ts b/web/src/app/ui/kmwuitoolbar.ts
index f121bb66cd..709f02a155 100644
--- a/web/src/app/ui/kmwuitoolbar.ts
+++ b/web/src/app/ui/kmwuitoolbar.ts
@@ -1,7 +1,6 @@
-/***
- KeymanWeb 17.0
- Copyright 2019-2023 SIL International
-***/
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ */
import type { KeymanEngine, KeyboardCookie, KeyboardDetails, UIModule } from 'keyman/app/browser';
@@ -1441,4 +1440,4 @@ if(!keyman) {
// (may happen in unit testing)
ui.initialize(); // equivalent to ui.Initialize() from the other UI modules
} catch(ex){}
-}
\ No newline at end of file
+}
diff --git a/web/src/app/webview/src/contextManager.ts b/web/src/app/webview/src/contextManager.ts
index 034f34a456..982c693e62 100644
--- a/web/src/app/webview/src/contextManager.ts
+++ b/web/src/app/webview/src/contextManager.ts
@@ -136,7 +136,7 @@ export class ContextManager extends ContextManagerBase {
return this._activeKeyboard;
}
- activateKeyboardForTextStore(kbd: { keyboard: Keyboard, metadata: KeyboardStub }, textStore: TextStore) {
+ protected activateKeyboardForTextStore(kbd: { keyboard: Keyboard, metadata: KeyboardStub }, textStore: TextStore) {
// `textStore` is irrelevant for `app/webview`, as it'll only ever use 'global' keyboard settings.
// Clone the object to prevent accidental by-reference changes.
diff --git a/web/src/engine/predictive-text/worker-thread/src/main/index.ts b/web/src/engine/predictive-text/worker-thread/src/main/index.ts
index f23c7645a3..318256ba54 100644
--- a/web/src/engine/predictive-text/worker-thread/src/main/index.ts
+++ b/web/src/engine/predictive-text/worker-thread/src/main/index.ts
@@ -245,7 +245,7 @@ export class LMLayerWorker {
// it serves as a wordbreaking token.
if(autoInsert != '') {
configuration.appendsWordbreaks = {
- breakingMarks: [autoInsert, '.', ',', ';', ':', '?', '!']
+ breakingMarks: [autoInsert, '.', ',', ';', ':', '?', '!', ' ', '\t', '\n']
};
} // else leave undefined (falsy) - it has unusual wordbreaking patterns,
// so avoid further assumptions.
@@ -267,7 +267,11 @@ export class LMLayerWorker {
try {
this._importScripts(url);
} catch (err) {
+ // Does not catch errors thrown within the imported script.
+ // Does catch errors with the model script's file-path.
this.error("Error occurred when attempting to load dictionary", err);
+
+ // Remain in the model-unloaded state; the load attempt was unsuccessful.
}
}
@@ -312,7 +316,14 @@ export class LMLayerWorker {
this.state = {
name: 'modelless',
handleMessage: (payload) => {
- // ...that message must have been 'load'!
+ // It is possible to remain in this state after a model loading error.
+ // In such cases, the hosting engine may signal a model-unload.
+ if (payload.message === 'unload') {
+ // We are already in a "model unloaded" state; no work needed!
+ return;
+ }
+
+ // ...otherwise, that message must have been 'load'!
if (payload.message !== 'load') {
throw new Error(`invalid message; expected 'load' but got ${payload.message}`);
}
diff --git a/web/src/engine/predictive-text/worker-thread/src/main/predict-helpers.ts b/web/src/engine/predictive-text/worker-thread/src/main/predict-helpers.ts
index 92691c8d20..5d58c5336a 100644
--- a/web/src/engine/predictive-text/worker-thread/src/main/predict-helpers.ts
+++ b/web/src/engine/predictive-text/worker-thread/src/main/predict-helpers.ts
@@ -1,3 +1,12 @@
+/*
+ * Keyman is copyright (C) SIL Global. MIT License.
+ *
+ * Created by jahorton on 2024-07-08.
+ *
+ * This file defines the many predictive-text engine's helper methods used for the
+ * overall process of text prediction.
+ */
+
import * as models from '@keymanapp/models-templates';
import { KMWString } from 'keyman/common/web-utils';
import { LexicalModelTypes } from '@keymanapp/common-types';
@@ -72,11 +81,41 @@ export const CORRECTION_SEARCH_THRESHOLDS = {
REPLACEMENT_SEARCH_THRESHOLD: 4 as const // e^-4 = 0.0183156388. Allows "80%" of an extra edit.
}
+/**
+ * Tracks common intermediate prediction data, such as its underlying probabilities and its similarity to the actual context.
+ */
+export interface PredictionMetadata {
+ /**
+ * How directly the prediction matches the current token in the context.
+ *
+ * This is determined later in the suggestion-analysis project and is not
+ * available upon initial construction of this type.
+ */
+ matchLevel: SuggestionSimilarity;
+
+ /**
+ * Text from the triggering input that should _not_ be affected by the
+ * prediction.
+ */
+ preservationTransform: Transform;
+ /**
+ * Indicates the number of raw Damerau-Levenshtein edits represented by
+ * the correction, not including the substitution of sufficiently-likely
+ * neighbor fat-finger keys at each step.
+ */
+ rawEditCount: number;
+ /**
+ * Indicates the codepoint length by which the current token will be
+ * extended when the Suggestion is applied.
+ */
+ predictionLength: number;
+}
+
/**
* Collates information related to suggestions during the suggestion generation
* process.
*/
-export type CorrectionPredictionTuple = {
+export interface CorrectionPredictionTupleCore {
/**
* The potential Suggestion (or Keep)
*/
@@ -90,20 +129,19 @@ export type CorrectionPredictionTuple = {
* by the keystroke-sequence + correction likelihood.
*/
totalProb: number;
- /**
- * How directly the prediction matches the current token in the context.
- *
- * This is determined later in the suggestion-analysis project and is not
- * available upon initial construction of this type.
- */
- matchLevel?: SuggestionSimilarity;
- /**
- * Text from the triggering input that should _not_ be affected by the
- * prediction.
- */
- preservationTransform?: Transform;
};
+export interface CorrectionPredictionTuple extends CorrectionPredictionTupleCore {
+ /**
+ * Contains additional metadata about the prediction and its properties.
+ *
+ * This object will generally remain unset by the `predictFromCorrections`
+ * method, with its values set afterward a layer or two removed from that
+ * specific call.
+ */
+ metadata: PredictionMetadata;
+}
+
/**
* An enum to be used when categorizing the level of similarity between
* generated Suggestions and the actual text upon which a Suggestion is
@@ -140,14 +178,20 @@ export enum SuggestionSimilarity {
exact = 3
}
-export function tupleDisplayOrderSort(a: CorrectionPredictionTuple, b: CorrectionPredictionTuple) {
+export function tupleDisplayOrderSort(
+ a: CorrectionPredictionTuple,
+ b: CorrectionPredictionTuple
+) {
+ const matchLevelA = a.metadata.matchLevel ?? 0;
+ const matchLevelB = b.metadata.matchLevel ?? 0;
+
// Similarity distance
- const simDist = (b.matchLevel ?? 0) - (a.matchLevel ?? 0);
- if(simDist != 0) {
- return simDist;
+ const similarityDelta = matchLevelB - matchLevelA;
+ if(similarityDelta != 0) {
+ return similarityDelta;
}
- // Probability distance
+ // Probability delta - larger is better
return b.totalProb - a.totalProb;
}
@@ -177,7 +221,7 @@ export async function correctAndEnumerateWithoutTraversals(
revertableTransitionId?: number
}> {
const inputTransform = transformDistribution[0].sample;
- let rawPredictions: CorrectionPredictionTuple[] = [];
+ let rawPredictions: CorrectionPredictionTupleCore[] = [];
let predictionRoots: ProbabilityMass[];
@@ -212,13 +256,24 @@ export async function correctAndEnumerateWithoutTraversals(
// Running in bulk over all suggestions, duplicate entries may be possible.
rawPredictions = predictFromCorrections(lexicalModel, predictionRoots, context);
- if(allowSpace) {
- rawPredictions.forEach((entry) => entry.preservationTransform = inputTransform);
- }
+
+ const keyer = (text: string) => lexicalModel.toKey ? lexicalModel.toKey(text) : text;
+ const predictions: CorrectionPredictionTuple[] = rawPredictions.map((entry) => {
+ const preservationTransform = allowSpace ? inputTransform : null;
+ return {
+ ...entry,
+ metadata: {
+ preservationTransform,
+ matchLevel: SuggestionSimilarity.none, // will be overwritten later,
+ rawEditCount: 0,
+ predictionLength: KMWString.length(keyer(entry.prediction.sample.transform.insert)) - KMWString.length(keyer(entry.correction.sample))
+ }
+ };
+ });
return {
postContextState: null,
- rawPredictions: rawPredictions
+ rawPredictions: predictions
};
}
@@ -471,17 +526,19 @@ export function determineSuggestionRange(
export function buildAndMapPredictions(
transition: ContextTransition,
tokenization: ContextTokenization,
- // Originally, Readonly - but we only need these two components here.
- match: Readonly<{matchString: string, totalCost: number}>,
+ // Originally, Readonly - but we only need these three components here.
+ match: Readonly<{matchString: string, totalCost: number, editCount: number}>,
costFactor: number
): CorrectionPredictionTuple[] {
const model = transition.final.model;
+ const keyer = (text: string) => model.toKey ? model.toKey(text) : text;
// No matter the prediction, once we know the root of the prediction, we'll
// always 'replace' the same amount of text. We can handle this before the
// big 'prediction root' loop.
const { predictionContext, correctionDeleteLeft, committedDeleteLeft } = determineSuggestionAlignment(transition, tokenization, model);
+ // --- to move into predictFromCorrections ---
let correction = match.matchString;
let rootCost = match.totalCost;
@@ -496,13 +553,23 @@ export function buildAndMapPredictions(
sample: correctionTransform,
p: Math.exp(-rootCost * costFactor)
};
+ // -- end: "to move" --
// Worth considering: extend Traversal to allow direct prediction lookups?
// let traversal = match.finalTraversal; // ...
- let predictions = predictFromCorrections(model, [predictionRoot], predictionContext);
- predictions.forEach((entry) => {
- entry.preservationTransform = tokenization.taillessTrueKeystroke;
+ const rawPredictions = predictFromCorrections(model, [predictionRoot], predictionContext);
+ const predictions: CorrectionPredictionTuple[] = rawPredictions.map((entry) => {
entry.prediction.sample.transform.deleteLeft += committedDeleteLeft;
+
+ return {
+ ...entry,
+ metadata: {
+ preservationTransform: tokenization.taillessTrueKeystroke,
+ matchLevel: SuggestionSimilarity.none, // will be overwritten later
+ rawEditCount: match.editCount,
+ predictionLength: KMWString.length(keyer(entry.prediction.sample.transform.insert)) - KMWString.length(match.matchString)
+ }
+ };
});
return predictions;
@@ -614,6 +681,7 @@ export async function correctAndEnumerate(
*/
const costFactor = (tokenization.tail.inputCount <= 1) ? ModelCompositor.SINGLE_CHAR_KEY_PROB_EXPONENT : 1;
+ // if costFactor > 1, penalize with bonus edit cost if we're not using the most likely transform!
const predictions = buildAndMapPredictions(transition, tokenization, match, costFactor);
// Only set 'best correction' cost when a correction ACTUALLY YIELDS predictions.
@@ -649,7 +717,7 @@ export async function correctAndEnumerate(
export function shouldStopSearchingEarly(
bestCorrectionCost: number,
currentCorrectionCost: number,
- rawPredictions: CorrectionPredictionTuple[]
+ rawPredictions: CorrectionPredictionTupleCore[]
) {
if(currentCorrectionCost >= bestCorrectionCost + CORRECTION_SEARCH_THRESHOLDS.MAX_SEARCH_THRESHOLD) {
return true;
@@ -659,10 +727,11 @@ export function shouldStopSearchingEarly(
// Very useful for stopping 'sooner' when words reach a sufficient length.
return true;
} else {
- // Sort the prediction list; we need them in descending order for the next check.
- rawPredictions.sort(tupleDisplayOrderSort);
+ // Sort the prediction list; we need them in descending probability order
+ // for the next check.
+ rawPredictions.sort((a, b) => b.totalProb - a.totalProb);
- // If the best suggestion from the search's current tier fails to beat the worst
+ // If the best result at the current state of the search fails to beat the worst
// pending suggestion from previous tiers, assume all further corrections will
// similarly fail to win; terminate the search-loop.
if(rawPredictions[ModelCompositor.MAX_SUGGESTIONS-1].totalProb > Math.exp(-currentCorrectionCost)) {
@@ -690,8 +759,8 @@ export function predictFromCorrections(
lexicalModel: LexicalModel,
corrections: ProbabilityMass[],
context: Context
-): CorrectionPredictionTuple[] {
- let returnedPredictions: CorrectionPredictionTuple[] = [];
+): CorrectionPredictionTupleCore[] {
+ let returnedPredictions: CorrectionPredictionTupleCore[] = [];
const wordbreak = determineModelWordbreaker(lexicalModel);
for(let correction of corrections) {
@@ -707,14 +776,13 @@ export function predictFromCorrections(
pair.sample.transform.id = correctionTransform.id;
}
- let tuple: CorrectionPredictionTuple = {
+ let tuple: CorrectionPredictionTupleCore = {
prediction: pair,
correction: {
sample: correctionRoot,
p: correctionProb
},
- totalProb: pair.p * correctionProb,
- matchLevel: SuggestionSimilarity.none
+ totalProb: pair.p * correctionProb
};
return tuple;
});
@@ -847,7 +915,7 @@ export function processSimilarity(
if(keyed(tuple.correction.sample) == keyedPrefix) {
if(predictedWord == truePrefix) {
// Exact match: it's a perfect 'keep' suggestion.
- tuple.matchLevel = SuggestionSimilarity.exact;
+ tuple.metadata.matchLevel = SuggestionSimilarity.exact;
keepOption = toAnnotatedSuggestion(lexicalModel, tuple.prediction.sample, 'keep', models.QuoteBehavior.noQuotes);
// Indicates that this suggestion exists directly within the lexical
@@ -859,15 +927,15 @@ export function processSimilarity(
keepOption = tuple.prediction.sample as Outcome;
} else if(keyCased(predictedWord) == lowercasedPrefix) {
// Case-insensitive match. No diacritic differences; the ONLY difference is casing.
- tuple.matchLevel = SuggestionSimilarity.sameText;
+ tuple.metadata.matchLevel = SuggestionSimilarity.sameText;
} else if(keyed(predictedWord) == keyedPrefix) {
// Diacritic-insensitive / exact-key match.
- tuple.matchLevel = SuggestionSimilarity.sameKey;
+ tuple.metadata.matchLevel = SuggestionSimilarity.sameKey;
} else {
- tuple.matchLevel = SuggestionSimilarity.none;
+ tuple.metadata.matchLevel = SuggestionSimilarity.none;
}
} else {
- tuple.matchLevel = SuggestionSimilarity.none;
+ tuple.metadata.matchLevel = SuggestionSimilarity.none;
}
}
@@ -932,7 +1000,12 @@ export function createDefaultKeep(
sample: truePrefix,
p: inputTransformProb * MAX_PROB
},
- matchLevel: SuggestionSimilarity.exact
+ metadata: {
+ preservationTransform: null,
+ matchLevel: SuggestionSimilarity.exact,
+ rawEditCount: KMWString.length(truePrefix),
+ predictionLength: 0
+ }
};
}
@@ -1007,7 +1080,10 @@ export function predictionAutoSelect(suggestionDistribution: CorrectionPredictio
// Find the highest probability for any correction that led to a valid prediction.
// No need to full-on re-sort everything, though.
- const bestCorrection = suggestionDistribution.reduce((prev, current) => prev?.correction.p > current.correction.p ? prev : current, null).correction;
+ const bestCorrection = suggestionDistribution.reduce(
+ (prev, current) => prev?.correction.p > current.correction.p ? prev : current,
+ null
+ ).correction;
if(bestCorrection.p > bestSuggestion.correction.p) {
// Here, the best suggestion didn't come from the best correction.
// Is it actually reasonable to auto-correct? We're probably just very
@@ -1019,14 +1095,17 @@ export function predictionAutoSelect(suggestionDistribution: CorrectionPredictio
// - such as replacing `cant` with `can't` if the latter is much more frequent -
// we may wish to group matchLevel values below by 'mapping' them with an appropriate
// function. (Both on the next line and within the reduce functor.)
- const bestSuggestionTier = bestSuggestion.matchLevel;
+ const bestSuggestionTier = bestSuggestion.metadata.matchLevel;
// compare best vs other probabilities of compatible tier.
- const probSum = suggestionDistribution.reduce((accum, current) => {
+ const probSum = suggestionDistribution
+ .filter((s) => (s.metadata.predictionLength ?? 0) <= (bestSuggestion.metadata.predictionLength ?? 0))
+ .filter((s) => (s.metadata.rawEditCount ?? 0) <= (bestSuggestion.metadata.rawEditCount ?? 0))
+ .reduce((accum, current) => {
// If the suggestion is from a different similarity tier, do not count it against
// the required auto-select probability ratio threshold. That threshold should
// only apply within the suggestion's tier.
- return accum + (current.matchLevel == bestSuggestionTier ? current.totalProb : 0)
+ return accum + (current.metadata.matchLevel == bestSuggestionTier ? current.totalProb : 0)
}, 0);
const proportionOfBest = bestSuggestion.totalProb / probSum;
if(proportionOfBest < AUTOSELECT_PROPORTION_THRESHOLD) {
@@ -1076,9 +1155,9 @@ export function finalizeSuggestions(
// from prior tokens!
//
// Note: may need adjustment if/when supporting phrase-level correction.
- if(tuple.preservationTransform) {
- const presDL = tuple.preservationTransform.deleteLeft;
- const mergedTransform = models.buildMergedTransform(tuple.preservationTransform, prediction.sample.transform);
+ if(tuple.metadata.preservationTransform) {
+ const presDL = tuple.metadata.preservationTransform.deleteLeft;
+ const mergedTransform = models.buildMergedTransform(tuple.metadata.preservationTransform, prediction.sample.transform);
// Any preserved delete-left is applied early because it directly affects the suggestion
// root; we need to remove that preserved delete-left here.
if(presDL > 0) {
diff --git a/web/src/engine/src/attachment/pageContextAttachment.ts b/web/src/engine/src/attachment/pageContextAttachment.ts
index 45c403c861..05f0759ae1 100644
--- a/web/src/engine/src/attachment/pageContextAttachment.ts
+++ b/web/src/engine/src/attachment/pageContextAttachment.ts
@@ -163,7 +163,7 @@ export class PageContextAttachment extends EventEmitter {
* Call this method **once**, when the page is fully loaded, to attach to all page elements
* eligible to serve as context for Keyman keyboard input.
*/
- install(manualAttach: boolean) {
+ public install(manualAttach: boolean) {
// This field gets referenced by any non-design iframes detected during _SetupDocument.
// Thus, we must initialize it now.
this.manualAttach = manualAttach;
@@ -186,15 +186,15 @@ export class PageContextAttachment extends EventEmitter {
}
/**
- * Function setupElementAttachment
- * Scope Private
- * @param {Element} x An element from the page valid for KMW attachment
- * Description Establishes the base KeymanWeb data for newly-attached elements.
- * Does not establish input hooks, which are instead handled during enablement.
+ * Establishes the base KeymanWeb data for newly-attached elements.
+ * Does not establish input hooks, which are instead handled during enablement.
+ *
+ * @param {Element} x An element from the page valid for KMW attachment
*/
- setupElementAttachment(x: HTMLElement) {
- // The `_kmwAttachment` property tag maintains all relevant KMW-maintained data regarding the element.
- // It is disgarded upon de-attachment.
+ private setupElementAttachment(x: HTMLElement) {
+ // The `_kmwAttachment` property tag maintains all relevant
+ // KMW-maintained data regarding the element. It is disgarded upon
+ // de-attachment.
if(x._kmwAttachment) {
return;
} else {
@@ -214,26 +214,24 @@ export class PageContextAttachment extends EventEmitter {
}
/**
- * Function clearElementAttachment
- * Scope Private
+ * Clear element attachment
+ *
* @param {Element} x An element from the page valid for KMW attachment
- * Description Establishes the base KeymanWeb data for newly-attached elements.
- * Does not establish input hooks, which are instead handled during enablement.
*/
- clearElementAttachment(x: HTMLElement) {
+ private clearElementAttachment(x: HTMLElement) {
// We need to clear the object when de-attaching; helps prevent memory leaks.
x._kmwAttachment = null;
}
/**
- * Function isKMWInput
- * Scope Private
- * @param {Element} x An element from the page.
- * @return {boolean} true if the element is viable for KMW attachment.
- * Description Examines potential input elements to determine whether or not they are viable for KMW attachment.
- * Also filters elements not supported for touch devices when device.touchable == true.
+ * Examines potential input elements to determine whether or not they
+ * are viable for KMW attachment. Also filters elements not supported
+ * for touch devices when device.touchable == true.
+ *
+ * @param {Element} x An element from the page.
+ * @return {boolean} true if the element is viable for KMW attachment.
*/
- isKMWInput(x: HTMLElement): boolean {
+ private isKMWInput(x: HTMLElement): boolean {
if(x instanceof x.ownerDocument.defaultView.HTMLTextAreaElement) {
return true;
} else if(x instanceof x.ownerDocument.defaultView.HTMLInputElement) {
@@ -270,12 +268,13 @@ export class PageContextAttachment extends EventEmitter {
}
/**
- * Function isAttached
- * Scope Private
- * @param {Element} x An element from the page.
- * @return {boolean} true if KMW is attached to the element, otherwise false.
+ * Determines if KMW is attached to the specified element.
+ *
+ * @param {Element} x An element from the page.
+ * @return {boolean} true if KMW is attached to the element,
+ * otherwise false.
*/
- isAttached(x: HTMLElement) {
+ public isAttached(x: HTMLElement) {
if(x._kmwAttachment) {
return true;
}
@@ -300,13 +299,14 @@ export class PageContextAttachment extends EventEmitter {
}
/**
- * Function isKMWDisabled
- * Scope Private
- * @param {Element} x An element from the page.
- * @return {boolean} true if the element's properties indicate a 'disabled' state.
- * Description Examines attachable elements to determine their default enablement state.
+ * Examines attachable elements to determine their default enablement
+ * state.
+ *
+ * @param {Element} x An element from the page.
+ * @return {boolean} true if the element's properties indicate a
+ * 'disabled' state.
*/
- isKMWDisabled(x: HTMLElement): boolean {
+ private isKMWDisabled(x: HTMLElement): boolean {
const c = x.className;
// Exists for some HTMLElements, such as HTMLInputElement.
@@ -321,75 +321,82 @@ export class PageContextAttachment extends EventEmitter {
}
/**
- * Function enableInputElement
- * Scope Private
- * @param {Element} Pelem An element from the document to be enabled with full KMW handling.
- * @param {boolean=} isAlias A flag that indicates if the element is a simulated input element for touch.
- * Description Performs the basic enabling setup for one element and adds it to the inputList if it is an input element.
- * Note that this method is called for both desktop and touch control routes; the touch route calls it from within
- * enableTouchElement as it must first establish the simulated touch element to serve as the alias "input element" here.
- * Note that the 'kmw-disabled' property is managed by the MutationObserver and by the surface API calls.
+ * Performs the basic enabling setup for the specified element and
+ * adds it to the inputList if it is an input element.
+ *
+ * @param {Element} elem An element from the document to be
+ * enabled with full KMW handling.
+ *
+ * Note that this method is called for both desktop and touch control
+ * routes; the touch route calls it from within enableTouchElement as
+ * it must first establish the simulated touch element to serve as the
+ * alias "input element" here.
+ *
+ * Note that the 'kmw-disabled' property is managed by the
+ * MutationObserver and by the surface API calls.
*/
- enableInputElement(Pelem: HTMLElement) {
- if(!this.isKMWDisabled(Pelem)) {
- if(Pelem instanceof Pelem.ownerDocument.defaultView.HTMLIFrameElement) {
- this._AttachToIframe(Pelem);
+ private enableInputElement(elem: HTMLElement) {
+ if(!this.isKMWDisabled(elem)) {
+ if(elem instanceof elem.ownerDocument.defaultView.HTMLIFrameElement) {
+ this._AttachToIframe(elem);
} else {
- this.setupElementAttachment(Pelem);
+ this.setupElementAttachment(elem);
- Pelem._kmwAttachment.inputMode = Pelem.inputMode ?? 'text';
+ elem._kmwAttachment.inputMode = elem.inputMode ?? 'text';
this.disableInputModeObserver();
// ensures that the system keyboard doesn't show on mobile devices.
- Pelem.inputMode = 'none';
+ elem.inputMode = 'none';
this.enableInputModeObserver();
- Pelem.classList.add('keymanweb-font');
- this._inputList.push(Pelem);
+ elem.classList.add('keymanweb-font');
+ this._inputList.push(elem);
- this.emit('enabled', Pelem);
+ this.emit('enabled', elem);
}
}
};
/**
- * Function disableInputElement
- * Scope Private
- * @param {Element} Pelem An element from the document to be enabled with full KMW handling.
- * @param {boolean=} isAlias A flag that indicates if the element is a simulated input element for touch.
- * Description Inverts the process of enableInputElement, removing all event-handling from the element.
- * Note that the 'kmw-disabled' property is managed by the MutationObserver and by the surface API calls.
+ * Inverts the process of enableInputElement, removing all event-handling
+ * from the element.
+ *
+ * @param {Element} elem An element from the document to be enabled
+ * with full KMW handling.
+ *
+ * Note that the 'kmw-disabled' property is managed by the
+ * MutationObserver and by the surface API calls.
*/
- disableInputElement(Pelem: HTMLElement) {
- if(!Pelem) {
+ private disableInputElement(elem: HTMLElement) {
+ if(!elem) {
return;
}
// Do NOT test for pre-disabledness - we also use this to fully detach without officially 'disabling' via kmw-disabled.
- if((Pelem.ownerDocument.defaultView && Pelem instanceof Pelem.ownerDocument.defaultView.HTMLIFrameElement) ||
- Pelem instanceof HTMLIFrameElement) {
- this._DetachFromIframe(Pelem);
+ if((elem.ownerDocument.defaultView && elem instanceof elem.ownerDocument.defaultView.HTMLIFrameElement) ||
+ elem instanceof HTMLIFrameElement) {
+ this._DetachFromIframe(elem);
} else {
- if(this.isAttached(Pelem)) {
- const intendedInputMode = Pelem._kmwAttachment?.inputMode;
+ if(this.isAttached(elem)) {
+ const intendedInputMode = elem._kmwAttachment?.inputMode;
this.disableInputModeObserver();
// restores the last-known setting before KMW forced it to 'none'.
// Refer to enableInputElement.
- Pelem.inputMode = intendedInputMode;
+ elem.inputMode = intendedInputMode;
this.enableInputModeObserver();
}
- const cnIndex = Pelem.className.indexOf('keymanweb-font');
+ const cnIndex = elem.className.indexOf('keymanweb-font');
if(cnIndex >= 0) { // See note about the alias below.
- Pelem.className = Pelem.className.replace('keymanweb-font', '').trim();
+ elem.className = elem.className.replace('keymanweb-font', '').trim();
}
// Remove the element from our internal input tracking.
- const index = this.inputList.indexOf(Pelem);
+ const index = this.inputList.indexOf(elem);
if(index > -1) {
this._inputList.splice(index, 1);
}
- this.emit('disabled', Pelem);
+ this.emit('disabled', elem);
}
return;
@@ -404,49 +411,52 @@ export class PageContextAttachment extends EventEmitter {
// said flag unnecessary.
/**
- * Function enableTouchElement
- * Scope Private
- * @param {Element} Pelem An input or textarea element from the page.
- * @return {boolean} Returns true if it creates a simulated input element for Pelem; false if not.
- * Description Creates a simulated input element for the specified INPUT or TEXTAREA, comprising:
- * an outer DIV, matching the position, size and style of the base element
- * a scrollable DIV within that outer element
- * two SPAN elements within the scrollable DIV, to hold the text before and after the caret
+ * Creates a simulated input element for the specified INPUT or TEXTAREA,
+ * comprising:
+ * - an outer DIV, matching the position, size and style of the base element
+ * - a scrollable DIV within that outer element
+ * - two SPAN elements within the scrollable DIV, to hold the text
+ * before and after the caret
*
- * The left border of the second SPAN is flashed on and off as a visible caret
+ * The left border of the second SPAN is flashed on and off as a
+ * visible caret
*
- * Also ensures the element is registered on keymanweb's internal input list.
+ * Also ensures the element is registered on keymanweb's internal
+ * input list.
+ *
+ * @param {Element} elem An input or textarea element from the page.
+ * @return {boolean} Returns true if it creates a simulated input
+ * element for elem; false if not.
*/
- enableTouchElement(Pelem: HTMLElement) {
- if(this.isKMWDisabled(Pelem)) {
- this.emit('disabled', Pelem);
+ private enableTouchElement(elem: HTMLElement) {
+ if(this.isKMWDisabled(elem)) {
+ this.emit('disabled', elem);
return false;
}
- if(!this.isAttached(Pelem)) {
- this.setupElementAttachment(Pelem);
+ if(!this.isAttached(elem)) {
+ this.setupElementAttachment(elem);
}
// Set font for base element
- this.enableInputElement(Pelem);
+ this.enableInputElement(elem);
return true;
}
/**
- * Function disableTouchElement
- * Scope Private
- * @param {Element} Pelem An input or textarea element from the page.
- * Description Destroys the simulated input element for the specified INPUT or TEXTAREA and reverts
- * back to desktop-style 'enablement' for the base control.
+ * Destroys the simulated input element for the specified INPUT or
+ * TEXTAREA and reverts back to desktop-style 'enablement' for the
+ * base control.
+ * @param {Element} elem An input or textarea element from the page.
*/
- disableTouchElement(Pelem: HTMLElement) {
+ private disableTouchElement(elem: HTMLElement) {
// Do not check for the element being officially disabled - it's also used for detachment.
- if(this.isAttached(Pelem)) {
- const intendedInputMode = Pelem._kmwAttachment.inputMode;
+ if(this.isAttached(elem)) {
+ const intendedInputMode = elem._kmwAttachment.inputMode;
this.disableInputModeObserver();
- Pelem.inputMode = intendedInputMode;
+ elem.inputMode = intendedInputMode;
this.enableInputModeObserver();
}
}
@@ -484,30 +494,29 @@ export class PageContextAttachment extends EventEmitter {
};
/**
- * Function _AttachToIframe
- * Scope Private
- * @param {Element} Pelem IFrame to which KMW will be attached
- * Description Attaches KeymanWeb to IFrame
+ * Attaches KeymanWeb to IFrame
+ *
+ * @param {Element} elem IFrame to which KMW will be attached
*/
- _AttachToIframe(Pelem: HTMLIFrameElement) {
+ private _AttachToIframe(elem: HTMLIFrameElement) {
try {
- const Lelem=Pelem.contentWindow.document;
+ const Lelem=elem.contentWindow.document;
/* editable Iframe */
if(Lelem) {
if(Lelem.designMode.toLowerCase() == 'on') {
// Set up a reference alias; the internal document will need the same attachment info!
- this.setupElementAttachment(Pelem);
- Lelem.body._kmwAttachment = Pelem._kmwAttachment;
+ this.setupElementAttachment(elem);
+ Lelem.body._kmwAttachment = elem._kmwAttachment;
- this._inputList.push(Pelem);
- this.emit('enabled', Pelem);
+ this._inputList.push(elem);
+ this.emit('enabled', elem);
} else {
// If already attached, do not attempt to attach again.
if(this.embeddedPageContexts.filter((context) => context.document == Lelem).length == 0) {
// Lelem is the IFrame's internal document; set 'er up!
const embeddedPageAttachment = new PageContextAttachment(Lelem, {
...this.options,
- owner: Pelem
+ owner: elem
});
this.embeddedPageContexts.push(embeddedPageAttachment);
@@ -525,24 +534,23 @@ export class PageContextAttachment extends EventEmitter {
}
/**
- * Function _DetachFromIframe
- * Scope Private
- * @param {Element} Pelem IFrame to which KMW will be attached
- * Description Detaches KeymanWeb from an IFrame
+ * Detaches KeymanWeb from an IFrame
+ *
+ * @param {Element} elem IFrame to which KMW will be attached
*/
- _DetachFromIframe(Pelem: HTMLIFrameElement) {
+ private _DetachFromIframe(elem: HTMLIFrameElement) {
const detachFromDesignIframe = () => {
- this.clearElementAttachment(Pelem);
+ this.clearElementAttachment(elem);
- const index = this._inputList.indexOf(Pelem);
+ const index = this._inputList.indexOf(elem);
if(index != -1) {
this._inputList.splice(index, 1);
}
- this.emit('disabled', Pelem);
+ this.emit('disabled', elem);
}
try {
- const Lelem=Pelem.contentWindow.document;
+ const Lelem=elem.contentWindow.document;
/* editable Iframe */
if(Lelem) {
if(Lelem.designMode.toLowerCase() == 'on') {
@@ -571,7 +579,7 @@ export class PageContextAttachment extends EventEmitter {
} catch(err) {
// If we were previously attached but the content doc/window have been unloaded,
// we can at least address attachment via the attachment object.
- if(Pelem._kmwAttachment) {
+ if(elem._kmwAttachment) {
detachFromDesignIframe();
}
@@ -581,122 +589,117 @@ export class PageContextAttachment extends EventEmitter {
}
/**
- * Function attachToControl
- * Scope Public
- * @param {Element} Pelem Element to which KMW will be attached
- * Description Attaches KMW to control (or IFrame)
+ * Attaches KMW to control (or IFrame)
+ *
+ * @param {Element} elem Element to which KMW will be attached
*/
- attachToControl(Pelem: HTMLElement) {
+ public attachToControl(elem: HTMLElement) {
const touchable = this.device.touchable;
// Exception for IFrame elements, in case of async loading issues. (Fixes fun iframe loading bug with Chrome.)
- if(this.isAttached(Pelem) && !(Pelem instanceof Pelem.ownerDocument.defaultView.HTMLIFrameElement)) {
+ if(this.isAttached(elem) && !(elem instanceof elem.ownerDocument.defaultView.HTMLIFrameElement)) {
return; // We're already attached.
}
- if(this.isKMWInput(Pelem)) {
- if(this.isKMWDisabled(Pelem)) {
+ if(this.isKMWInput(elem)) {
+ if(this.isKMWDisabled(elem)) {
// Future improvement - go ahead and attach, but in disabled state?
// Can't use `enableControl` later without that... or without the page
// directly manipulating `kmw-disabled`, anyway.
// Note: this idea may require some shuffling of iframe-related handling
// to handle everything cleanly.
- this.emit('disabled', Pelem);
+ this.emit('disabled', elem);
} else {
if(touchable) {
- this.enableTouchElement(Pelem);
+ this.enableTouchElement(elem);
} else {
- this.enableInputElement(Pelem);
+ this.enableInputElement(elem);
}
}
} else if(touchable) {
// Maybe an 'invalid' instead?
- this.emit('disabled', Pelem);
+ this.emit('disabled', elem);
}
}
/**
- * Function detachFromControl
- * Scope Public
- * @param {Element} Pelem Element from which KMW will detach
- * Description Detaches KMW from a control (or IFrame)
+ * Detaches KMW from a control (or IFrame)
+ *
+ * @param {Element} elem Element from which KMW will detach
*/
- detachFromControl(Pelem: HTMLElement) {
- if(!(this.isAttached(Pelem) || Pelem instanceof Pelem.ownerDocument.defaultView.HTMLIFrameElement)) {
+ public detachFromControl(elem: HTMLElement) {
+ if(!(this.isAttached(elem) || elem instanceof elem.ownerDocument.defaultView.HTMLIFrameElement)) {
return; // We never were attached.
}
// #1 - if element is enabled, disable it. But don't manipulate the 'kmw-disabled' tag.
- if(this.isKMWInput(Pelem)) {
+ if(this.isKMWInput(elem)) {
// Is it already disabled?
- if(!this.isKMWDisabled(Pelem)) {
- this._DisableControl(Pelem);
+ if(!this.isKMWDisabled(elem)) {
+ this._DisableControl(elem);
}
}
// #2 - clear attachment data.
- this.clearElementAttachment(Pelem);
+ this.clearElementAttachment(elem);
}
/**
- * Function _DisableControl
- * Scope Private
- * @param {Element} Pelem Element to be disabled
- * Description Disable KMW control element
+ * Disable KMW control element
+ *
+ * @param {Element} elem Element to be disabled
*/
- _DisableControl(Pelem: HTMLElement) {
+ private _DisableControl(elem: HTMLElement) {
// Only operate on attached elements! Non-design-mode IFrames don't get attachment markers, so we check them specifically instead.
- if(this.isAttached(Pelem) || Pelem instanceof Pelem.ownerDocument.defaultView.HTMLIFrameElement) {
+ if(this.isAttached(elem) || elem instanceof elem.ownerDocument.defaultView.HTMLIFrameElement) {
if(this.device.touchable) {
- this.disableTouchElement(Pelem);
+ this.disableTouchElement(elem);
}
this.listInputs(); // Fix up our internal input ordering scheme.
- this.disableInputElement(Pelem);
+ this.disableInputElement(elem);
}
}
/**
- * Function _EnableControl
- * Scope Private
- * @param {Element} Pelem Element to be enabled
- * Description Enable KMW control element
+ * Enable KMW control element
+ *
+ * @param {Element} elem Element to be enabled
*/
- _EnableControl(Pelem: HTMLElement) {
- if(this.isAttached(Pelem)) { // Only operate on attached elements!
+ private _EnableControl(elem: HTMLElement) {
+ if(this.isAttached(elem)) { // Only operate on attached elements!
if(this.device.touchable) {
- this.enableTouchElement(Pelem);
+ this.enableTouchElement(elem);
} else {
- this.enableInputElement(Pelem);
+ this.enableInputElement(elem);
}
this.listInputs();
- } else if(nestedInstanceOf(Pelem, "HTMLIFrameElement")) {
+ } else if(nestedInstanceOf(elem, "HTMLIFrameElement")) {
// Future fix idea for this case: when disabling a normal-iframe, keep the child instance.
// Just call 'shutdown' on it. Then, re-'install' here.
// Current architecture unfortunately conflates 'enable' and 'detach' for iframes, though. :(
// Should be 'easy enough' to address if and when the time comes.
// But for now, this'll keep things smoothed over.
- this._AttachToIframe(Pelem as HTMLIFrameElement);
+ this._AttachToIframe(elem as HTMLIFrameElement);
}
}
/**
- * Function disableControl
- * Scope Public
- * @param {Element} Pelem Element to be disabled
- * Description Disables a KMW control element
+ * Disables a KMW control element
+ *
+ * @param {Element} elem Element to be disabled
*/
- disableControl(Pelem: HTMLElement) {
- if(!this.isAttached(Pelem)) {
- console.warn("KeymanWeb is not attached to element " + Pelem);
+ public disableControl(elem: HTMLElement) {
+ if(!this.isAttached(elem)) {
+ console.warn("KeymanWeb is not attached to element " + elem);
}
- const cn = Pelem.className;
+ const cn = elem.className;
if(cn.indexOf('kmw-disabled') < 0) { // if not already explicitly disabled...
- Pelem.className = cn ? cn + ' kmw-disabled' : 'kmw-disabled';
+ elem.className = cn ? cn + ' kmw-disabled' : 'kmw-disabled';
}
// The rest is triggered within MutationObserver code.
@@ -704,22 +707,20 @@ export class PageContextAttachment extends EventEmitter {
}
/**
- * Function enableControl
- * Scope Public
- * @param {Element} Pelem Element to be disabled
- * Description Disables a KMW control element
+ * Enables a KMW control element
+ * @param {Element} elem Element to be enabled
*/
- enableControl(Pelem: HTMLElement) {
+ public enableControl(elem: HTMLElement) {
// Current architecture unfortunately conflates 'enable' and 'detach' for iframes, so a
// disabled iframe appears detached.
- if(!this.isAttached(Pelem) && !nestedInstanceOf(Pelem, "HTMLIFrameElement")) {
- console.warn("KeymanWeb is not attached to element " + Pelem);
+ if(!this.isAttached(elem) && !nestedInstanceOf(elem, "HTMLIFrameElement")) {
+ console.warn("KeymanWeb is not attached to element " + elem);
}
- const cn = Pelem.className;
+ const cn = elem.className;
const tagIndex = cn.indexOf('kmw-disabled');
if(tagIndex >= 0) { // if already explicitly disabled...
- Pelem.className = cn.replace('kmw-disabled', '').trim();
+ elem.className = cn.replace('kmw-disabled', '').trim();
}
// The rest is triggered within MutationObserver code.
@@ -729,7 +730,7 @@ export class PageContextAttachment extends EventEmitter {
// Create an ordered list of all text and search input elements and textarea elements
// except any tagged with class 'kmw-disabled'
// TODO: email and url types should perhaps use default keyboard only
- listInputs() {
+ private listInputs() {
const eList: SortableInput[]=[];
const t1=document.getElementsByTagName('input');
const t2=document.getElementsByTagName('textarea');
@@ -773,7 +774,7 @@ export class PageContextAttachment extends EventEmitter {
*
* @param {number|boolean} bBack Direction to move (0 or 1)
*/
- findNeighboringInput(activeBase: HTMLElement, bBack: number|boolean) {
+ public findNeighboringInput(activeBase: HTMLElement, bBack: number|boolean) {
let i: number;
const t=this.sortedInputs;
@@ -805,28 +806,30 @@ export class PageContextAttachment extends EventEmitter {
/**
- * Function _GetDocumentEditables
- * Scope Private
- * @param {Element} Pelem HTML element
- * @return {Array} A list of potentially-editable controls. Further filtering [as with isKMWInput() and
- * isKMWDisabled()] is required.
+ * Get a list of all potentially-editable controls within the
+ * specified element.
+ *
+ * @param {Element} elem HTML element
+ * @return {Array} A list of potentially-editable controls.
+ * Further filtering [as with isKMWInput()
+ * and isKMWDisabled()] is required.
*/
- private _GetDocumentEditables(Pelem: HTMLElement): (HTMLElement)[] {
+ private _GetDocumentEditables(elem: HTMLElement): (HTMLElement)[] {
let possibleInputs: (HTMLElement)[] = [];
// Document.ownerDocument === null, so we better check that it's not null before proceeding.
- if(Pelem.ownerDocument && Pelem instanceof Pelem.ownerDocument.defaultView.HTMLElement) {
- const dv = Pelem.ownerDocument.defaultView;
+ if(elem.ownerDocument && elem instanceof elem.ownerDocument.defaultView.HTMLElement) {
+ const dv = elem.ownerDocument.defaultView;
- if(Pelem instanceof dv.HTMLInputElement || Pelem instanceof dv.HTMLTextAreaElement) {
- possibleInputs.push(Pelem);
- } else if(Pelem instanceof dv.HTMLIFrameElement) {
- possibleInputs.push(Pelem);
+ if(elem instanceof dv.HTMLInputElement || elem instanceof dv.HTMLTextAreaElement) {
+ possibleInputs.push(elem);
+ } else if(elem instanceof dv.HTMLIFrameElement) {
+ possibleInputs.push(elem);
}
}
// Constructing it like this also allows for individual element filtering for the auto-attach MutationObserver without errors.
- if(Pelem.getElementsByTagName) {
+ if(elem.getElementsByTagName) {
/**
* Function LiTmp
* Scope Private
@@ -835,7 +838,7 @@ export class PageContextAttachment extends EventEmitter {
* Description Local function to get list of editable controls
*/
const LiTmp = function(_colon: string): HTMLElement[] {
- return arrayFromNodeList(Pelem.getElementsByTagName(_colon));
+ return arrayFromNodeList(elem.getElementsByTagName(_colon));
};
// Note that isKMWInput() will block IFRAME elements as necessary for touch-based devices.
@@ -843,25 +846,26 @@ export class PageContextAttachment extends EventEmitter {
}
// Not all active browsers may support the method, but only those that do would work with contenteditables anyway.
- if(Pelem.querySelectorAll) {
- possibleInputs = possibleInputs.concat(arrayFromNodeList(Pelem.querySelectorAll('[contenteditable]')));
+ if(elem.querySelectorAll) {
+ possibleInputs = possibleInputs.concat(arrayFromNodeList(elem.querySelectorAll('[contenteditable]')));
}
- if(Pelem.ownerDocument && Pelem instanceof Pelem.ownerDocument.defaultView.HTMLElement && Pelem.isContentEditable) {
- possibleInputs.push(Pelem);
+ if(elem.ownerDocument && elem instanceof elem.ownerDocument.defaultView.HTMLElement && elem.isContentEditable) {
+ possibleInputs.push(elem);
}
return possibleInputs;
}
/**
- * Function _SetupDocument
- * Scope Private
- * @param {Element} Pelem - the root element of a document, including IFrame documents.
- * Description Used to automatically attach KMW to editable controls, regardless of control path.
+ * Automatically attach KMW to editable controls, regardless of
+ * control path.
+ *
+ * @param {Element} elem the root element of a document, including
+ * IFrame documents.
*/
- private _SetupDocument(Pelem: HTMLElement) { // I1961
- const possibleInputs = this._GetDocumentEditables(Pelem);
+ private _SetupDocument(elem: HTMLElement) { // I1961
+ const possibleInputs = this._GetDocumentEditables(elem);
for(let Li = 0; Li < possibleInputs.length; Li++) {
// It knows how to handle pre-loaded iframes appropriately.
@@ -870,14 +874,15 @@ export class PageContextAttachment extends EventEmitter {
}
/**
- * Function _ClearDocument
- * Scope Private
- * @param {Element} Pelem - the root element of a document, including IFrame documents.
- * Description Used to automatically detach KMW from editable controls, regardless of control path.
- * Mostly used to clear out all controls of a detached IFrame.
+ * Automatically detach KMW from editable controls, regardless of
+ * control path. Mostly used to clear out all controls of a detached
+ * IFrame.
+ *
+ * @param {Element} elem the root element of a document, including
+ * IFrame documents.
*/
- private _ClearDocument(Pelem: HTMLElement) { // I1961
- const possibleInputs = this._GetDocumentEditables(Pelem);
+ private _ClearDocument(elem: HTMLElement) { // I1961
+ const possibleInputs = this._GetDocumentEditables(elem);
for(let Li = 0; Li < possibleInputs.length; Li++) {
// It knows how to handle pre-loaded iframes appropriately.
@@ -886,7 +891,13 @@ export class PageContextAttachment extends EventEmitter {
}
- _EnablementMutationObserverCore = (mutations: MutationRecord[]) => {
+ /**
+ * Callback function for the MutationObserver that enables or disables
+ * the control if a change is detected controls.
+ *
+ * @param mutations
+ */
+ private _EnablementMutationObserverCore = (mutations: MutationRecord[]) => {
for(let i=0; i < mutations.length; i++) {
const mutation = mutations[i];
@@ -919,7 +930,14 @@ export class PageContextAttachment extends EventEmitter {
}
};
- _AutoAttachObserverCore = (mutations: MutationRecord[]) => {
+ /**
+ * Callback handler for the MutationObserver which handles the
+ * auto-attach lifecycle - when elements appear in the DOM, KMW attaches
+ * to them; when they are removed, KMW detaches from them.
+ *
+ * @param mutations
+ */
+ private _AutoAttachObserverCore = (mutations: MutationRecord[]) => {
let inputElementAdditions: HTMLElement[] = [];
let inputElementRemovals: HTMLElement[] = [];
@@ -999,24 +1017,23 @@ export class PageContextAttachment extends EventEmitter {
};
/**
- * Function _MutationAdditionObserved
- * Scope Private
- * @param {Element} Pelem A page input, textarea, or iframe element.
- * Description Used by the MutationObserver event handler to properly setup any elements dynamically added to the document post-initialization.
+ * Properly setup any elements dynamically added to the document
+ * post-initialization. Used by the MutationObserver event handler.
*
+ * @param {Element} elem A page input, textarea, or iframe element.
*/
- _MutationAdditionObserved = (Pelem: HTMLElement) => {
- if(Pelem instanceof Pelem.ownerDocument.defaultView.HTMLIFrameElement) {
+ private _MutationAdditionObserved = (elem: HTMLElement) => {
+ if(elem instanceof elem.ownerDocument.defaultView.HTMLIFrameElement) {
//Problem: the iframe is loaded asynchronously, and we must wait for it to load fully before hooking in.
const attachFunctor = () => { // Triggers at the same time as iframe's onload property, after its internal document loads.
// Provide a minor delay to allow 'load' event handlers to set the design-mode property.
window.setTimeout(() => {
- this.attachToControl(Pelem);
+ this.attachToControl(elem);
}, 1);
};
- Pelem.addEventListener('load', attachFunctor);
+ elem.addEventListener('load', attachFunctor);
// The following block breaks for design-mode iframes, at least in Chrome; a blank document may exist
// before the load of the desired actual document.
@@ -1031,7 +1048,7 @@ export class PageContextAttachment extends EventEmitter {
// window.setTimeout(attachFunctor, 1);
// }
} else {
- this.attachToControl(Pelem);
+ this.attachToControl(elem);
}
}
@@ -1041,7 +1058,7 @@ export class PageContextAttachment extends EventEmitter {
}
// To be called by the object responsible for webpage-integration.
- initMutationObservers(document: Document, manualAttach: boolean) {
+ private initMutationObservers(document: Document, manualAttach: boolean) {
if(typeof MutationObserver == 'function') {
const observationTarget = document.querySelector('body');
let observationConfig: MutationObserverInit;
@@ -1066,13 +1083,13 @@ export class PageContextAttachment extends EventEmitter {
}
}
- enableInputModeObserver() {
+ private enableInputModeObserver() {
const observationTarget = document.querySelector('body');
const observationConfig = { subtree: true, attributes: true, attributeFilter: ['inputmode'] };
this.inputModeObserver?.observe(observationTarget, observationConfig);
}
- disableInputModeObserver() {
+ private disableInputModeObserver() {
this.inputModeObserver?.disconnect();
}
@@ -1082,7 +1099,7 @@ export class PageContextAttachment extends EventEmitter {
*
* @return {string}
*/
- getBaseFont() {
+ private getBaseFont() {
const ipInput = document.getElementsByTagName('input');
const ipTextArea = document.getElementsByTagName('textarea');
let n=0, fs: string;
@@ -1135,8 +1152,8 @@ export class PageContextAttachment extends EventEmitter {
* @param {Object} kfd KFont font descriptor
* @return {string}
*
- **/
- buildAttachmentFontStyle(keyboardFontDescriptor: InternalKeyboardFont): string {
+ */
+ private buildAttachmentFontStyle(keyboardFontDescriptor: InternalKeyboardFont): string {
const kfd = keyboardFontDescriptor;
// Get name of font to be applied
@@ -1177,7 +1194,7 @@ export class PageContextAttachment extends EventEmitter {
return s;
}
- setAttachmentFont(
+ public setAttachmentFont(
keyboardFontDescriptor: InternalKeyboardFont,
fontRoot: string,
os: DeviceSpec.OperatingSystem
@@ -1190,7 +1207,7 @@ export class PageContextAttachment extends EventEmitter {
// our child instances of this class. (via `this.embeddedPageContexts`)
}
- shutdown() {
+ public shutdown() {
try {
this.enablementObserver?.disconnect();
this.attachmentObserver?.disconnect();
diff --git a/web/src/engine/src/main/contextManagerBase.ts b/web/src/engine/src/main/contextManagerBase.ts
index e9ddd9a18a..931c18c039 100644
--- a/web/src/engine/src/main/contextManagerBase.ts
+++ b/web/src/engine/src/main/contextManagerBase.ts
@@ -248,7 +248,7 @@ export abstract class ContextManagerBase
const wasNull = !this.activeKeyboard;
// If there was a previous activation attempt set and still active for the specified keyboard textStore,
- // cancel it. For exmaple, if the user selects a preloaded keyboard after having tried to select one
+ // cancel it. For example, if the user selects a preloaded keyboard after having tried to select one
// still async-loading, we should go with the later setting - the preloaded one.
this.findAndPopActivation(this.currentKeyboardSrcTextStore());
@@ -314,31 +314,25 @@ export abstract class ContextManagerBase
keyboardId: string,
languageCode?: string
): {keyboard: Promise, metadata: KeyboardStub} {
+ if (!keyboardId) {
+ return {
+ keyboard: Promise.resolve(null),
+ metadata: null
+ }
+ }
+
// Set default language code
languageCode ||= '';
// Check that the saved keyboard is currently registered
- let requestedStub: KeyboardStub = null;
- if(keyboardId) {
- requestedStub = this.keyboardCache.getStub(keyboardId, languageCode);
- } else {
- languageCode == '';
- }
-
+ const requestedStub: KeyboardStub = this.keyboardCache.getStub(keyboardId, languageCode);
if(!requestedStub) {
- if(keyboardId) {
- const availableStubList = this.keyboardCache.getStubList().map(stub => `${stub.KI}@${stub.KLC}`);
- throw new Error(`No matching stub has been registered for keyboard ${keyboardId}. Available stubs: ${JSON.stringify(availableStubList)}`);
- } else {
- return {
- keyboard: Promise.resolve(null),
- metadata: null
- }
- }
+ const availableStubList = this.keyboardCache.getStubList().map(stub => `${stub.KI}@${stub.KLC}`);
+ throw new Error(`No matching stub has been registered for keyboard ${keyboardId}. Available stubs: ${JSON.stringify(availableStubList)}`);
}
// Check if current keyboard matches requested keyboard, but not (necessarily) stub
- if (this.activeKeyboard?.metadata && keyboardId == this.activeKeyboard.metadata.id) {
+ if (keyboardId == this.activeKeyboard?.metadata?.id) {
const {keyboard} = this.activeKeyboard;
// In this case, the keyboard is loaded; just update the stub.
@@ -349,61 +343,61 @@ export abstract class ContextManagerBase
}
// Determine if the keyboard was previously loaded but is not active; use the cached, pre-loaded version if so.
- let keyboard: Keyboard;
- if(keyboard = this.keyboardCache.getKeyboardForStub(requestedStub)) {
+ const keyboard: Keyboard = this.keyboardCache.getKeyboardForStub(requestedStub);
+ if (keyboard) {
return {
keyboard: Promise.resolve(keyboard),
metadata: requestedStub
};
- } else {
- // It's async time - the keyboard is not preloaded within the cache. Use the stub's data to load it.
+ }
- // `beforeKeyboardChange` - first call
- this.emit('beforekeyboardchange', requestedStub);
+ // It's async time - the keyboard is not preloaded within the cache. Use the stub's data to load it.
- const defermentPromise = this.engineConfig.deferForInitialization.then(() => {
- // Provide a Promise for completion of the async load process.
- const completionPromise = new ManagedPromise();
- this.emit('keyboardasyncload', requestedStub, completionPromise.corePromise);
+ // `beforeKeyboardChange` - first call
+ this.emit('beforekeyboardchange', requestedStub);
- const keyboardPromise = this.keyboardCache.fetchKeyboard(requestedStub.KI);
- const timeoutPromise = new Promise((resolve, reject) => {
- const timeoutMsg = `Sorry, the ${requestedStub.name} keyboard for ${requestedStub.langName} is not currently available.`;
- window.setTimeout(() => reject(new Error(timeoutMsg)), ContextManagerBase.TIMEOUT_THRESHOLD);
- });
+ const defermentPromise = this.engineConfig.deferForInitialization.then(() => {
+ // Provide a Promise for completion of the async load process.
+ const completionPromise = new ManagedPromise();
+ this.emit('keyboardasyncload', requestedStub, completionPromise.corePromise);
- const combinedPromise = Promise.race([keyboardPromise, timeoutPromise]);
-
- // Ensure the async-load Promise completes properly.
- combinedPromise.then(() => {
- completionPromise.resolve(null);
- // Prevent any 'unhandled Promise rejection' events that may otherwise occur from the timeout promise.
- timeoutPromise.catch(() => {});
- });
- combinedPromise.catch((err) => {
- completionPromise.resolve(err);
- throw err;
- });
-
- return combinedPromise;
+ const keyboardPromise = this.keyboardCache.fetchKeyboard(requestedStub.KI);
+ const timeoutPromise = new Promise((resolve, reject) => {
+ const timeoutMsg = `Download of ${requestedStub.KI} for language ${requestedStub.langId} timed out.`;
+ window.setTimeout(() => reject(new Error(timeoutMsg)), ContextManagerBase.TIMEOUT_THRESHOLD);
});
- // Now the fun part: note the original call's parameters as a pending activation.
- const promise = this.deferredKeyboardActivation(defermentPromise, requestedStub, this.currentKeyboardSrcTextStore());
- return {
- keyboard: promise.then(async (activation) => {
- // Is the activation we requested still pending, or was it cancelled in favor of a
- // different activation in some manner?
- if(!activation) {
- // If the user chose to load a different keyboard afterward that would affect the same
- // textStore, the activation is no longer valid.
- return Promise.resolve(null);
- } else {
- return defermentPromise;
- }
- }),
- metadata: requestedStub
- }
+ const combinedPromise = Promise.race([keyboardPromise, timeoutPromise]);
+
+ // Ensure the async-load Promise completes properly.
+ combinedPromise.then(() => {
+ completionPromise.resolve(null);
+ // Prevent any 'unhandled Promise rejection' events that may otherwise occur from the timeout promise.
+ timeoutPromise.catch(() => {});
+ });
+ combinedPromise.catch((err) => {
+ completionPromise.resolve(err);
+ throw err;
+ });
+
+ return combinedPromise;
+ });
+
+ // Now the fun part: note the original call's parameters as a pending activation.
+ const promise = this.deferredKeyboardActivation(defermentPromise, requestedStub, this.currentKeyboardSrcTextStore());
+ return {
+ keyboard: promise.then(async (activation) => {
+ // Is the activation we requested still pending, or was it cancelled in favor of a
+ // different activation in some manner?
+ if(!activation) {
+ // If the user chose to load a different keyboard afterward that would affect the same
+ // textStore, the activation is no longer valid.
+ return Promise.resolve(null);
+ } else {
+ return defermentPromise;
+ }
+ }),
+ metadata: requestedStub
}
}
}
diff --git a/web/src/engine/src/main/keymanEngineBase.ts b/web/src/engine/src/main/keymanEngineBase.ts
index 793f1bcc77..2ee22a2b37 100644
--- a/web/src/engine/src/main/keymanEngineBase.ts
+++ b/web/src/engine/src/main/keymanEngineBase.ts
@@ -543,8 +543,8 @@ export class KeymanEngineBase<
/**
* Allow to change active keyboard by (internal) keyboard name
*
- * @param {string} PInternalName Internal name
- * @param {string} PLgCode Language code
+ * @param {string} keyboardId Keyboard name
+ * @param {string} languageCode Language code
*
* See https://help.keyman.com/developer/engine/web/current-version/reference/core/setActiveKeyboard
*/
@@ -632,4 +632,4 @@ export class KeymanEngineBase<
};
}
-// Intent: define common behaviors for both primary app types; each then subclasses & extends where needed.
\ No newline at end of file
+// Intent: define common behaviors for both primary app types; each then subclasses & extends where needed.
diff --git a/web/src/test/auto/e2e/guide-examples.tests.ts b/web/src/test/auto/e2e/guide-examples.tests.ts
index 13deb44472..574ddf6276 100644
--- a/web/src/test/auto/e2e/guide-examples.tests.ts
+++ b/web/src/test/auto/e2e/guide-examples.tests.ts
@@ -14,7 +14,7 @@ test.describe.skip('First example from the guide', function () {
await setTimeoutAndLoadPage(page, 'http://localhost:3000/build/docs/engine/guide/examples/__first-example.html');
}
- test('Input field shows US keyboard', async ({ page }) => {
+ test('Input field shows US keyboard', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
const oskTitleBar = await clickFieldAndWaitForOSK(page, page.getByPlaceholder('Hello World'));
@@ -29,7 +29,7 @@ test.describe.skip('First example from the guide', function () {
await expect(await getSelectedKeyboardMenuText(page)).toBe('English - US');
});
- test('Keyman menu has expected keyboards', async ({ page }) => {
+ test('Keyman menu has expected keyboards', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
await clickFieldAndWaitForOSK(page, page.getByPlaceholder('Hello World'));
@@ -46,7 +46,7 @@ test.describe.skip('Auto-control example from the guide', function () {
await setTimeoutAndLoadPage(page, 'http://localhost:3000/build/docs/engine/guide/examples/__auto-control.html');
}
- test('Input field shows Lao keyboard', async ({ page }) => {
+ test('Input field shows Lao keyboard', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
await page.getByTestId('multilingual' ).click();
@@ -57,7 +57,7 @@ test.describe.skip('Auto-control example from the guide', function () {
await expect(page.locator('#keymanweb_title_bar')).toContainText('Lao (Phonetic)');
});
- test('Textarea shows Lao keyboard', async ({ page }) => {
+ test('Textarea shows Lao keyboard', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
await page.getByTestId('textarea').click();
@@ -74,7 +74,7 @@ test.describe.skip('Control-by-control example from the guide', function () {
await setTimeoutAndLoadPage(page, 'http://localhost:3000/build/docs/engine/guide/examples/__control-by-control.html');
}
- test('address field does not have KeymanWeb enabled', async ({ page }) => {
+ test('address field does not have KeymanWeb enabled', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
await page.getByPlaceholder('id = address').click();
@@ -87,7 +87,7 @@ test.describe.skip('Control-by-control example from the guide', function () {
});
// TODO: #16080
- test.skip('subject field does not show keyboard and defaults to system keyboard', async ({ page }) => {
+ test.skip('subject field does not show keyboard and defaults to system keyboard', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
await page.getByPlaceholder('id = subject').click();
@@ -101,7 +101,7 @@ test.describe.skip('Control-by-control example from the guide', function () {
await expect(await getSelectedKeyboardMenuText(page)).toBe('(System keyboard)');
});
- test('message body field shows Lao keyboard', async ({ page }) => {
+ test('message body field shows Lao keyboard', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
await page.getByPlaceholder('id = text').click();
@@ -124,7 +124,7 @@ test.describe.skip('Full manual control example from the guide', function () {
await setTimeoutAndLoadPage(page, 'http://localhost:3000/build/docs/engine/guide/examples/__full-manual-control.html');
}
- test('Shows English and no OSK after loading page', async ({ page }) => {
+ test('Shows English and no OSK after loading page', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
@@ -134,7 +134,7 @@ test.describe.skip('Full manual control example from the guide', function () {
await expect(await page.evaluate(() => keyman.osk.isVisible())).not.toBeTruthy();
});
- test('Selecting English keyboard shows no OSK', async ({ page }) => {
+ test('Selecting English keyboard shows no OSK', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
// first switch to Hebrew
@@ -164,7 +164,7 @@ test.describe.skip('Full manual control example from the guide', function () {
await expect(await page.evaluate(() => keyman.osk.isVisible())).not.toBeTruthy();
});
- test('Selecting Devanagari keyboard shows Devanagari OSK', async ({ page }) => {
+ test('Selecting Devanagari keyboard shows Devanagari OSK', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
const keyboardchangePromise = page.evaluate(async () => {
@@ -183,7 +183,7 @@ test.describe.skip('Full manual control example from the guide', function () {
await expect(page.locator('#keymanweb_title_bar')).toContainText('Devanagari (INSCRIPT)');
});
- test('Selecting Hebrew shows Hebrew OSK', async ({ page }) => {
+ test('Selecting Hebrew shows Hebrew OSK', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
const keyboardchangePromise = page.evaluate(async () => {
@@ -208,7 +208,7 @@ test.describe.skip('Manual control example from the guide', function () {
await setTimeoutAndLoadPage(page, 'http://localhost:3000/build/docs/engine/guide/examples/__manual-control.html');
}
- test('Does not show OSK after loading', async ({ page }) => {
+ test('Does not show OSK after loading', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
await page.getByTestId('multilingual').click();
@@ -218,7 +218,7 @@ test.describe.skip('Manual control example from the guide', function () {
await expect(await page.evaluate(() => keyman.osk.isVisible())).not.toBeTruthy();
});
- test('Shows Lao OSK after clicking button', async ({ page }) => {
+ test('Shows Lao OSK after clicking button', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
await page.getByAltText('KeymanWeb').click();
@@ -230,7 +230,7 @@ test.describe.skip('Manual control example from the guide', function () {
await expect(page.locator('#keymanweb_title_bar')).toContainText('Lao');
});
- test('Hides Lao OSK after clicking button', async ({ page }) => {
+ test('Hides Lao OSK after clicking button', async ({ page } : { page: Page }) => {
// Setup
await beforeEach(page);
diff --git a/web/src/test/auto/headless/engine/attachment/pageContextAttachment.tests.ts b/web/src/test/auto/headless/engine/attachment/pageContextAttachment.tests.ts
index 79833e2a99..9b873d38a1 100644
--- a/web/src/test/auto/headless/engine/attachment/pageContextAttachment.tests.ts
+++ b/web/src/test/auto/headless/engine/attachment/pageContextAttachment.tests.ts
@@ -33,7 +33,7 @@ describe('PageContextAttachment', () => {
it('empty doc has no elements', () => {
const doc = createDocument('');
const sut = new PageContextAttachment(doc, null);
- sut.listInputs();
+ sut['listInputs']();
assert.isEmpty(sut.sortedInputs);
});
@@ -66,7 +66,7 @@ describe('PageContextAttachment', () => {