10 Commits

17 changed files with 1927 additions and 1407 deletions
+1 -1
View File
@@ -9,6 +9,7 @@ pyrcc5/
pyrcc5/*.*
pyrcc5/__pycache__
pyrcc5/__pycache__/*
src/passwordedit.py
src/*.*~
src/*.*-*
src/*.*+*
@@ -19,4 +20,3 @@ help/*.*-*
help/*.*+*
+128 -126
View File
@@ -2,7 +2,7 @@
# Resource object code
#
# Created by: The Resource Compiler for PyQt5 (Qt v5.15.3)
# Created by: The Resource Compiler for PyQt5 (Qt v5.9.7)
#
# WARNING! All changes made in this file will be lost!
@@ -14,32 +14,6 @@ qt_resource_data = b"\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
@@ -48,30 +22,7 @@ qt_resource_data = b"\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x1e\xfd\
\x00\x00\x1f\x1e\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x48\x49\x50\x41\x20\x50\x6f\x77\x65\x72\x20\x55\x73\x61\
@@ -524,109 +475,160 @@ qt_resource_data = b"\
\x6f\x6d\x70\x6c\x69\x73\x68\x65\x64\x20\x74\x68\x72\x6f\x75\x67\
\x68\x20\x74\x68\x65\x20\x22\x52\x65\x73\x65\x74\x20\x41\x63\x63\
\x6f\x75\x6e\x74\x22\x20\x62\x75\x74\x74\x6f\x6e\x2e\x0a\x20\x20\
\x54\x68\x69\x73\x20\x61\x63\x74\x69\x6f\x6e\x20\x61\x6c\x73\x6f\
\x20\x72\x65\x63\x6f\x72\x64\x73\x20\x74\x68\x65\x20\x65\x6e\x65\
\x72\x67\x79\x20\x73\x61\x76\x65\x64\x20\x76\x61\x6c\x75\x65\x20\
\x69\x6e\x20\x65\x6c\x6f\x67\x62\x6f\x6f\x6b\x2e\x0a\x0a\x20\x20\
\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x4c\x61\x73\x74\
\x20\x50\x6f\x77\x65\x72\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x54\
\x68\x69\x73\x20\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x61\x6c\
\x6c\x6f\x77\x73\x20\x74\x68\x65\x20\x65\x78\x70\x65\x72\x74\x20\
\x75\x73\x65\x72\x20\x74\x6f\x20\x72\x65\x73\x65\x74\x20\x74\x68\
\x65\x20\x49\x6e\x69\x74\x69\x61\x6c\x20\x50\x6f\x77\x65\x72\x20\
\x69\x6e\x20\x22\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\
\x76\x69\x65\x77\x22\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\
\x6e\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x69\x74\x73\
\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x2c\x20\
\x73\x68\x6f\x75\x6c\x64\x20\x73\x75\x63\x68\x20\x61\x20\x6e\x65\
\x65\x64\x20\x65\x76\x65\x72\x20\x68\x61\x70\x68\x61\x7a\x61\x72\
\x64\x6c\x79\x20\x61\x72\x69\x73\x65\x20\x77\x68\x69\x6c\x65\x20\
\x74\x68\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x69\
\x6e\x20\x45\x6e\x65\x72\x67\x79\x20\x53\x61\x76\x69\x6e\x67\x20\
\x6d\x6f\x64\x65\x2c\x20\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\x68\
\x69\x63\x68\x20\x74\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\x22\
\x20\x62\x75\x74\x74\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x4d\
\x61\x67\x6e\x65\x74\x20\x70\x61\x6e\x65\x6c\x20\x69\x73\x20\x64\
\x69\x73\x65\x6e\x61\x62\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\x3c\
\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\
\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x48\x55\x53\x48\x21\x20\
\x49\x6d\x61\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\
\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
\x74\x64\x3e\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\
\x22\x3a\x48\x75\x73\x68\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\
\x68\x3d\x39\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\
\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\
\x3e\x0a\x20\x20\x20\x49\x6e\x73\x70\x69\x72\x65\x64\x20\x62\x79\
\x20\x44\x61\x64\x61\x20\x41\x6e\x74\x65\x20\x50\x6f\x72\x74\x61\
\x73\x2c\x20\x61\x72\x67\x75\x61\x62\x6c\x79\x20\x53\x77\x69\x74\
\x7a\x65\x72\x6c\x61\x6e\x64\x27\x73\x20\x67\x72\x65\x61\x74\x65\
\x73\x74\x20\x50\x6f\x70\x2f\x52\x6f\x63\x6b\x20\x62\x61\x6e\x64\
\x21\x20\x44\x6f\x20\x67\x69\x76\x65\x20\x74\x68\x65\x6d\x20\x61\
\x20\x6c\x69\x73\x74\x65\x6e\x2e\x0a\x20\x20\x20\x54\x68\x65\x69\
\x72\x20\x6d\x75\x73\x69\x63\x20\x61\x6e\x64\x20\x6c\x79\x72\x69\
\x63\x73\x20\x61\x72\x65\x20\x61\x77\x65\x73\x6f\x6d\x65\x21\x3c\
\x2f\x74\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\
\x0a\x3c\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\
\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x54\x68\x69\x73\x20\x61\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x70\
\x61\x73\x73\x77\x6f\x72\x64\x20\x70\x72\x6f\x74\x65\x63\x74\x65\
\x64\x20\x28\x48\x55\x53\x48\x21\x29\x20\x54\x68\x65\x20\x65\x6e\
\x65\x72\x67\x79\x20\x73\x61\x76\x65\x64\x20\x69\x73\x20\x61\x6c\
\x73\x6f\x20\x72\x65\x63\x6f\x72\x64\x65\x64\x20\x69\x6e\x20\x74\
\x68\x65\x20\x65\x6c\x6f\x67\x62\x6f\x6f\x6b\x2e\x20\x0a\x0a\x20\
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x4c\x61\x73\
\x74\x20\x50\x6f\x77\x65\x72\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\
\x54\x68\x69\x73\x20\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x61\
\x6c\x6c\x6f\x77\x73\x20\x74\x68\x65\x20\x65\x78\x70\x65\x72\x74\
\x20\x75\x73\x65\x72\x20\x74\x6f\x20\x72\x65\x73\x65\x74\x20\x74\
\x68\x65\x20\x49\x6e\x69\x74\x69\x61\x6c\x20\x50\x6f\x77\x65\x72\
\x20\x69\x6e\x20\x22\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\
\x72\x76\x69\x65\x77\x22\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\
\x65\x6e\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x69\x74\
\x73\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x2c\
\x20\x73\x68\x6f\x75\x6c\x64\x20\x73\x75\x63\x68\x20\x61\x20\x6e\
\x65\x65\x64\x20\x65\x76\x65\x72\x20\x68\x61\x70\x68\x61\x7a\x61\
\x72\x64\x6c\x79\x20\x61\x72\x69\x73\x65\x20\x77\x68\x69\x6c\x65\
\x20\x74\x68\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\
\x69\x6e\x20\x45\x6e\x65\x72\x67\x79\x20\x53\x61\x76\x69\x6e\x67\
\x20\x6d\x6f\x64\x65\x2c\x20\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\
\x68\x69\x63\x68\x20\x74\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\
\x22\x20\x62\x75\x74\x74\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\
\x4d\x61\x67\x6e\x65\x74\x20\x70\x61\x6e\x65\x6c\x20\x69\x73\x20\
\x64\x69\x73\x65\x6e\x61\x62\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\
\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\
\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x48\x55\x53\x48\x21\
\x20\x49\x6d\x61\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\
\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\
\x3c\x74\x64\x3e\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\
\x3d\x22\x3a\x48\x75\x73\x68\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\
\x74\x68\x3d\x39\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\
\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\
\x64\x3e\x0a\x20\x20\x20\x49\x6e\x73\x70\x69\x72\x65\x64\x20\x62\
\x79\x20\x44\x61\x64\x61\x20\x41\x6e\x74\x65\x20\x50\x6f\x72\x74\
\x61\x73\x2c\x20\x61\x72\x67\x75\x61\x62\x6c\x79\x20\x53\x77\x69\
\x74\x7a\x65\x72\x6c\x61\x6e\x64\x27\x73\x20\x67\x72\x65\x61\x74\
\x65\x73\x74\x20\x50\x6f\x70\x2f\x52\x6f\x63\x6b\x20\x62\x61\x6e\
\x64\x21\x20\x44\x6f\x20\x67\x69\x76\x65\x20\x74\x68\x65\x6d\x20\
\x61\x20\x6c\x69\x73\x74\x65\x6e\x2e\x0a\x20\x20\x20\x54\x68\x65\
\x69\x72\x20\x6d\x75\x73\x69\x63\x20\x61\x6e\x64\x20\x6c\x79\x72\
\x69\x63\x73\x20\x61\x72\x65\x20\x61\x77\x65\x73\x6f\x6d\x65\x21\
\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\
\x3e\x0a\x3c\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\
\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
"
qt_resource_name = b"\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x7a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x5a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x4a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x8a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x08\x7a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x4a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
"
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\x01\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\xa7\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x20\xfc\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x51\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xcd\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x02\xac\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x03\x30\
"
qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\x01\
\x00\x00\x01\x8d\xc0\x76\x5e\xc2\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x01\x8d\xc0\x76\x5e\xc3\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\xa7\
\x00\x00\x01\x94\x2c\x78\xfe\xe6\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x8d\xc0\x76\x5e\xc5\
\x00\x00\x01\x94\x2c\x78\xfe\xe8\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x20\xfc\
\x00\x00\x01\x94\x2c\x78\xfe\xe9\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x51\
\x00\x00\x01\x94\x2c\x78\xfe\xeb\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xcd\
\x00\x00\x01\x94\x2c\x78\xfe\xec\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x01\x8d\xc0\x76\x5e\xc7\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x02\xac\
\x00\x00\x01\x8d\xc0\x76\x5e\xc8\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x03\x30\
\x00\x00\x01\x8d\xf0\x25\x74\x9c\
\x00\x00\x01\x94\x4f\xe6\xa4\xb9\
"
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
if qt_version < [5, 8, 0]:
qt_version = QtCore.qVersion().split('.')
if qt_version < ['5', '8', '0']:
rcc_version = 1
qt_resource_struct = qt_resource_struct_v1
else:
+1 -1
View File
@@ -88,7 +88,7 @@ Enumerated values for SEQ-STATE (not all states may have necessarily been implem
The accounting of the energy saved for a given is year is to be recorded.
At the end of the calendar year, the process variables holding the power
saved values are to be reset to zero. This is accomplished through the "Reset Account" button.
This action also records the energy saved value in elogbook.
This action is password protected (HUSH!) The energy saved is also recorded in the elogbook.
<h3 style="color:#7b68ee;">Last Power</h3>
This sub-panel allows the expert user to reset the Initial Power in "Savings Overview" for a given section to its default value, should such a need ever haphazardly arise while the section is in Energy Saving mode, and for which the "Update" button in the Magnet panel is disenabled.
+2 -1
View File
@@ -111,5 +111,6 @@
},
"IOC": {
"resultsTabTitle" : "IOC"
}
},
"Reset": "HUSH!"
}
+2 -2
View File
@@ -21,7 +21,7 @@ from pyrcc5 import hush_resources
_pymodule = os.path.basename(__file__)
_appname, _appext = _pymodule.split(".")
_appversion = "2.0.0"
_appversion = "2.3.0"
# _title = """HIPA Power Usage & Saving Hierarchy""" #, HUSH!"""
_title = """HUSH!"""
@@ -185,7 +185,7 @@ class StartMain(BaseWindow):
All rights reserved.</p>
<p>Author: J. Chrin, Spring 2023 </p>
<p>(EPICS db adapted from A. Kovach, 2016) <p>
<p>IOC Administrator: H. Lutz </p>
<p>IOC Administrator: P. Fernandez (prev. H. Lutz) </p>
<p>1st Responsible: A. Barchetti, Tel. 4779
or 3301 (Control Room) </p>
+10 -5
View File
@@ -1,11 +1,11 @@
#!/bin/bash
cd /hipa/bd/applications/hush/hla/2.1.0
cd /hipa/bd/applications/hush/hla/2.3.2
# For use if script is sourced rather than executed
appNameDefault="hush.sh"
module unload gcc
module load gcc/7.3.0
module load gcc/7.5.0
if [ -z "$PS1" ] # no prompt?
### if [ -v PS1 ] # On Bash 4.2+ ...
@@ -17,6 +17,9 @@ else
echo "Interactive/sourced script"
fi
_EPICS_HOST_ARCH=${RHREL}-x86_64
_EPICS_BASE=base-7.0.8
# Select Python Version here. Currently one of 3.5, 3.7, 3.8 and 3.10
PYTHON_VERSION=3.10
@@ -32,6 +35,7 @@ if [ "$1" ]; then
elif [ "$1" == "3.7" -o "$1" == "37" ]; then
PYTHON_VERSION=3.7
PYTHON_VERSION_DIR=37
export LD_PRELOAD=/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libca.so:/usr/local/epics/${_EPICS_BASE}/lib/${_EPICS_HOST_ARCH}/libCom.so
elif [ "$1" == "3.8" -o "$1" == "38" ]; then
PYTHON_VERSION=3.8
PYTHON_VERSION_DIR=38
@@ -50,13 +54,11 @@ fi
echo "PYTHON_VERSION $PYTHON_VERSION"
_EPICS_HOST_ARCH=${RHREL}-x86_64
#_EPICS_HOST_ARCH=${EPICS_HOST_ARCH}
. /opt/gfa/python $PYTHON_VERSION
#C_EXT version for Py 3.5, 3.7. 3.8, 3.10:
export PYTHONPATH=.:/opt/gfa/cafe/python/pycafe/cafe-1.19.3/lib/${_EPICS_HOST_ARCH}:/hipa/bd/applications/deps/apps4ops/v1.10.0
export PYTHONPATH=.:/opt/gfa/cafe/python/pycafe/cafe-1.21.0/lib/${_EPICS_HOST_ARCH}:/hipa/bd/applications/deps/apps4ops/v1.13.0
echo $PYTHONPATH
@@ -111,3 +113,6 @@ else
fi
if [ "${PYTHON_VERSION}" == "3.7" ] ; then
unset LD_PRELOAD
fi
Binary file not shown.
+128 -126
View File
@@ -2,7 +2,7 @@
# Resource object code
#
# Created by: The Resource Compiler for PyQt5 (Qt v5.15.3)
# Created by: The Resource Compiler for PyQt5 (Qt v5.9.7)
#
# WARNING! All changes made in this file will be lost!
@@ -14,32 +14,6 @@ qt_resource_data = b"\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
@@ -48,30 +22,7 @@ qt_resource_data = b"\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x1e\xfd\
\x00\x00\x1f\x1e\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x48\x49\x50\x41\x20\x50\x6f\x77\x65\x72\x20\x55\x73\x61\
@@ -524,109 +475,160 @@ qt_resource_data = b"\
\x6f\x6d\x70\x6c\x69\x73\x68\x65\x64\x20\x74\x68\x72\x6f\x75\x67\
\x68\x20\x74\x68\x65\x20\x22\x52\x65\x73\x65\x74\x20\x41\x63\x63\
\x6f\x75\x6e\x74\x22\x20\x62\x75\x74\x74\x6f\x6e\x2e\x0a\x20\x20\
\x54\x68\x69\x73\x20\x61\x63\x74\x69\x6f\x6e\x20\x61\x6c\x73\x6f\
\x20\x72\x65\x63\x6f\x72\x64\x73\x20\x74\x68\x65\x20\x65\x6e\x65\
\x72\x67\x79\x20\x73\x61\x76\x65\x64\x20\x76\x61\x6c\x75\x65\x20\
\x69\x6e\x20\x65\x6c\x6f\x67\x62\x6f\x6f\x6b\x2e\x0a\x0a\x20\x20\
\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x4c\x61\x73\x74\
\x20\x50\x6f\x77\x65\x72\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x54\
\x68\x69\x73\x20\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x61\x6c\
\x6c\x6f\x77\x73\x20\x74\x68\x65\x20\x65\x78\x70\x65\x72\x74\x20\
\x75\x73\x65\x72\x20\x74\x6f\x20\x72\x65\x73\x65\x74\x20\x74\x68\
\x65\x20\x49\x6e\x69\x74\x69\x61\x6c\x20\x50\x6f\x77\x65\x72\x20\
\x69\x6e\x20\x22\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\
\x76\x69\x65\x77\x22\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\
\x6e\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x69\x74\x73\
\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x2c\x20\
\x73\x68\x6f\x75\x6c\x64\x20\x73\x75\x63\x68\x20\x61\x20\x6e\x65\
\x65\x64\x20\x65\x76\x65\x72\x20\x68\x61\x70\x68\x61\x7a\x61\x72\
\x64\x6c\x79\x20\x61\x72\x69\x73\x65\x20\x77\x68\x69\x6c\x65\x20\
\x74\x68\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x69\
\x6e\x20\x45\x6e\x65\x72\x67\x79\x20\x53\x61\x76\x69\x6e\x67\x20\
\x6d\x6f\x64\x65\x2c\x20\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\x68\
\x69\x63\x68\x20\x74\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\x22\
\x20\x62\x75\x74\x74\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x4d\
\x61\x67\x6e\x65\x74\x20\x70\x61\x6e\x65\x6c\x20\x69\x73\x20\x64\
\x69\x73\x65\x6e\x61\x62\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\x3c\
\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\
\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x48\x55\x53\x48\x21\x20\
\x49\x6d\x61\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\
\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
\x74\x64\x3e\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\
\x22\x3a\x48\x75\x73\x68\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\
\x68\x3d\x39\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\
\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\
\x3e\x0a\x20\x20\x20\x49\x6e\x73\x70\x69\x72\x65\x64\x20\x62\x79\
\x20\x44\x61\x64\x61\x20\x41\x6e\x74\x65\x20\x50\x6f\x72\x74\x61\
\x73\x2c\x20\x61\x72\x67\x75\x61\x62\x6c\x79\x20\x53\x77\x69\x74\
\x7a\x65\x72\x6c\x61\x6e\x64\x27\x73\x20\x67\x72\x65\x61\x74\x65\
\x73\x74\x20\x50\x6f\x70\x2f\x52\x6f\x63\x6b\x20\x62\x61\x6e\x64\
\x21\x20\x44\x6f\x20\x67\x69\x76\x65\x20\x74\x68\x65\x6d\x20\x61\
\x20\x6c\x69\x73\x74\x65\x6e\x2e\x0a\x20\x20\x20\x54\x68\x65\x69\
\x72\x20\x6d\x75\x73\x69\x63\x20\x61\x6e\x64\x20\x6c\x79\x72\x69\
\x63\x73\x20\x61\x72\x65\x20\x61\x77\x65\x73\x6f\x6d\x65\x21\x3c\
\x2f\x74\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\
\x0a\x3c\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\
\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x54\x68\x69\x73\x20\x61\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x70\
\x61\x73\x73\x77\x6f\x72\x64\x20\x70\x72\x6f\x74\x65\x63\x74\x65\
\x64\x20\x28\x48\x55\x53\x48\x21\x29\x20\x54\x68\x65\x20\x65\x6e\
\x65\x72\x67\x79\x20\x73\x61\x76\x65\x64\x20\x69\x73\x20\x61\x6c\
\x73\x6f\x20\x72\x65\x63\x6f\x72\x64\x65\x64\x20\x69\x6e\x20\x74\
\x68\x65\x20\x65\x6c\x6f\x67\x62\x6f\x6f\x6b\x2e\x20\x0a\x0a\x20\
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x4c\x61\x73\
\x74\x20\x50\x6f\x77\x65\x72\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\
\x54\x68\x69\x73\x20\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x61\
\x6c\x6c\x6f\x77\x73\x20\x74\x68\x65\x20\x65\x78\x70\x65\x72\x74\
\x20\x75\x73\x65\x72\x20\x74\x6f\x20\x72\x65\x73\x65\x74\x20\x74\
\x68\x65\x20\x49\x6e\x69\x74\x69\x61\x6c\x20\x50\x6f\x77\x65\x72\
\x20\x69\x6e\x20\x22\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\
\x72\x76\x69\x65\x77\x22\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\
\x65\x6e\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x69\x74\
\x73\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x2c\
\x20\x73\x68\x6f\x75\x6c\x64\x20\x73\x75\x63\x68\x20\x61\x20\x6e\
\x65\x65\x64\x20\x65\x76\x65\x72\x20\x68\x61\x70\x68\x61\x7a\x61\
\x72\x64\x6c\x79\x20\x61\x72\x69\x73\x65\x20\x77\x68\x69\x6c\x65\
\x20\x74\x68\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\
\x69\x6e\x20\x45\x6e\x65\x72\x67\x79\x20\x53\x61\x76\x69\x6e\x67\
\x20\x6d\x6f\x64\x65\x2c\x20\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\
\x68\x69\x63\x68\x20\x74\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\
\x22\x20\x62\x75\x74\x74\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\
\x4d\x61\x67\x6e\x65\x74\x20\x70\x61\x6e\x65\x6c\x20\x69\x73\x20\
\x64\x69\x73\x65\x6e\x61\x62\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\
\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\
\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x48\x55\x53\x48\x21\
\x20\x49\x6d\x61\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\
\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\
\x3c\x74\x64\x3e\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\
\x3d\x22\x3a\x48\x75\x73\x68\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\
\x74\x68\x3d\x39\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\
\x3e\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\
\x64\x3e\x0a\x20\x20\x20\x49\x6e\x73\x70\x69\x72\x65\x64\x20\x62\
\x79\x20\x44\x61\x64\x61\x20\x41\x6e\x74\x65\x20\x50\x6f\x72\x74\
\x61\x73\x2c\x20\x61\x72\x67\x75\x61\x62\x6c\x79\x20\x53\x77\x69\
\x74\x7a\x65\x72\x6c\x61\x6e\x64\x27\x73\x20\x67\x72\x65\x61\x74\
\x65\x73\x74\x20\x50\x6f\x70\x2f\x52\x6f\x63\x6b\x20\x62\x61\x6e\
\x64\x21\x20\x44\x6f\x20\x67\x69\x76\x65\x20\x74\x68\x65\x6d\x20\
\x61\x20\x6c\x69\x73\x74\x65\x6e\x2e\x0a\x20\x20\x20\x54\x68\x65\
\x69\x72\x20\x6d\x75\x73\x69\x63\x20\x61\x6e\x64\x20\x6c\x79\x72\
\x69\x63\x73\x20\x61\x72\x65\x20\x61\x77\x65\x73\x6f\x6d\x65\x21\
\x3c\x2f\x74\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\
\x3e\x0a\x3c\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\
\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x32\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
"
qt_resource_name = b"\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x7a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x5a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x4a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x8a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x08\x7a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x4a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
"
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\x01\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\xa7\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x20\xfc\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x51\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xcd\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x02\xac\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x03\x30\
"
qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\x01\
\x00\x00\x01\x8d\xc0\x76\x5e\xc2\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x01\x8d\xc0\x76\x5e\xc3\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\xa7\
\x00\x00\x01\x94\x2c\x78\xfe\xe6\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x8d\xc0\x76\x5e\xc5\
\x00\x00\x01\x94\x2c\x78\xfe\xe8\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x20\xfc\
\x00\x00\x01\x94\x2c\x78\xfe\xe9\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x51\
\x00\x00\x01\x94\x2c\x78\xfe\xeb\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x1f\xcd\
\x00\x00\x01\x94\x2c\x78\xfe\xec\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x01\x8d\xc0\x76\x5e\xc7\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x02\xac\
\x00\x00\x01\x8d\xc0\x76\x5e\xc8\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x03\x30\
\x00\x00\x01\x8d\xf0\x25\x74\x9c\
\x00\x00\x01\x94\x4f\xe6\xa4\xb9\
"
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
if qt_version < [5, 8, 0]:
qt_version = QtCore.qVersion().split('.')
if qt_version < ['5', '8', '0']:
rcc_version = 1
qt_resource_struct = qt_resource_struct_v1
else:
+108 -108
View File
@@ -14,6 +14,19 @@ qt_resource_data = b"\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
@@ -40,19 +53,6 @@ qt_resource_data = b"\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x34\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x31\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
@@ -61,7 +61,17 @@ qt_resource_data = b"\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x1e\xf9\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x1e\xfd\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x48\x49\x50\x41\x20\x50\x6f\x77\x65\x72\x20\x55\x73\x61\
@@ -491,88 +501,82 @@ qt_resource_data = b"\
\x0a\x20\x20\x27\x43\x48\x41\x4e\x4e\x45\x4c\x53\x5f\x44\x49\x53\
\x43\x4f\x4e\x4e\x45\x43\x54\x45\x44\x27\x2c\x20\x27\x43\x48\x41\
\x4e\x4e\x45\x4c\x53\x5f\x43\x4f\x4e\x4e\x45\x43\x54\x45\x44\x27\
\x2c\x0a\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\
\x27\x41\x4c\x4c\x4f\x57\x5f\x45\x4e\x45\x52\x47\x59\x5f\x53\x41\
\x56\x49\x4e\x47\x27\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x0a\
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x48\x75\x73\
\x68\x20\x41\x63\x63\x6f\x75\x6e\x74\x69\x6e\x67\x3c\x2f\x68\x33\
\x3e\x0a\x20\x20\x54\x68\x65\x20\x61\x63\x63\x6f\x75\x6e\x74\x69\
\x6e\x67\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x6e\x65\x72\x67\x79\
\x20\x73\x61\x76\x65\x64\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\
\x65\x6e\x20\x69\x73\x20\x79\x65\x61\x72\x20\x69\x73\x20\x74\x6f\
\x20\x62\x65\x20\x72\x65\x63\x6f\x72\x64\x65\x64\x2e\x0a\x20\x20\
\x41\x74\x20\x74\x68\x65\x20\x65\x6e\x64\x20\x6f\x66\x20\x74\x68\
\x65\x20\x63\x61\x6c\x65\x6e\x64\x61\x72\x20\x79\x65\x61\x72\x2c\
\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\
\x69\x61\x62\x6c\x65\x73\x20\x68\x6f\x6c\x64\x69\x6e\x67\x20\x74\
\x68\x65\x20\x70\x6f\x77\x65\x72\x0a\x20\x20\x73\x61\x76\x65\x64\
\x20\x76\x61\x6c\x75\x65\x73\x20\x61\x72\x65\x20\x74\x6f\x20\x62\
\x65\x20\x72\x65\x73\x65\x74\x20\x74\x6f\x20\x7a\x65\x72\x6f\x2e\
\x20\x54\x68\x69\x73\x20\x69\x73\x20\x61\x63\x63\x6f\x6d\x70\x6c\
\x69\x73\x68\x65\x64\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x74\x68\
\x65\x20\x22\x52\x65\x73\x65\x74\x20\x41\x63\x63\x6f\x75\x6e\x74\
\x22\x20\x62\x75\x74\x74\x6f\x6e\x2e\x0a\x20\x20\x54\x68\x69\x73\
\x20\x61\x63\x74\x69\x6f\x6e\x20\x61\x6c\x73\x6f\x20\x72\x65\x63\
\x6f\x72\x64\x73\x20\x74\x68\x65\x20\x65\x6e\x65\x72\x67\x79\x20\
\x73\x61\x76\x65\x64\x20\x76\x61\x6c\x75\x65\x20\x69\x6e\x20\x65\
\x6c\x6f\x67\x62\x6f\x6f\x6b\x2e\x0a\x0a\x20\x20\x20\x3c\x68\x33\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\
\x62\x36\x38\x65\x65\x3b\x22\x3e\x4c\x61\x73\x74\x20\x50\x6f\x77\
\x65\x72\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x54\x68\x69\x73\x20\
\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x61\x6c\x6c\x6f\x77\x73\
\x20\x74\x68\x65\x20\x65\x78\x70\x65\x72\x74\x20\x75\x73\x65\x72\
\x20\x74\x6f\x20\x72\x65\x73\x65\x74\x20\x74\x68\x65\x20\x49\x6e\
\x69\x74\x69\x61\x6c\x20\x50\x6f\x77\x65\x72\x20\x69\x6e\x20\x22\
\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\x76\x69\x65\x77\
\x22\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\x6e\x20\x73\x65\
\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x69\x74\x73\x20\x64\x65\x66\
\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x2c\x20\x73\x68\x6f\x75\
\x6c\x64\x20\x73\x75\x63\x68\x20\x61\x20\x6e\x65\x65\x64\x20\x65\
\x76\x65\x72\x20\x68\x61\x70\x68\x61\x7a\x61\x72\x64\x6c\x79\x20\
\x61\x72\x69\x73\x65\x20\x77\x68\x69\x6c\x65\x20\x74\x68\x65\x20\
\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x69\x6e\x20\x45\x6e\
\x65\x72\x67\x79\x20\x53\x61\x76\x69\x6e\x67\x20\x6d\x6f\x64\x65\
\x2c\x20\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\x68\x69\x63\x68\x20\
\x74\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\x22\x20\x62\x75\x74\
\x74\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x4d\x61\x67\x6e\x65\
\x74\x20\x70\x61\x6e\x65\x6c\x20\x69\x73\x20\x64\x69\x73\x65\x6e\
\x61\x62\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\x3c\x68\x33\x20\x73\
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\
\x38\x65\x65\x3b\x22\x3e\x48\x55\x53\x48\x21\x20\x49\x6d\x61\x67\
\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\x65\
\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x0a\
\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x48\x75\
\x73\x68\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\x30\
\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\x62\
\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\x20\
\x20\x49\x6e\x73\x70\x69\x72\x65\x64\x20\x62\x79\x20\x44\x61\x64\
\x61\x20\x41\x6e\x74\x65\x20\x50\x6f\x72\x74\x61\x73\x2c\x20\x61\
\x72\x67\x75\x61\x62\x6c\x79\x20\x53\x77\x69\x74\x7a\x65\x72\x6c\
\x61\x6e\x64\x27\x73\x20\x67\x72\x65\x61\x74\x65\x73\x74\x20\x50\
\x6f\x70\x2f\x52\x6f\x63\x6b\x20\x62\x61\x6e\x64\x21\x20\x44\x6f\
\x20\x67\x69\x76\x65\x20\x74\x68\x65\x6d\x20\x61\x20\x6c\x69\x73\
\x74\x65\x6e\x2e\x0a\x20\x20\x20\x54\x68\x65\x69\x72\x20\x6d\x75\
\x73\x69\x63\x20\x61\x6e\x64\x20\x6c\x79\x72\x69\x63\x73\x20\x61\
\x72\x65\x20\x61\x77\x65\x73\x6f\x6d\x65\x21\x3c\x2f\x74\x64\x3e\
\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x70\x3e\
\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\
\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x35\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x2c\x3c\x62\x72\x3e\x0a\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\
\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\
\x6e\x3b\x22\x3e\x27\x41\x4c\x4c\x4f\x57\x5f\x45\x4e\x45\x52\x47\
\x59\x5f\x53\x41\x56\x49\x4e\x47\x27\x3c\x2f\x73\x70\x61\x6e\x3e\
\x0a\x20\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\
\x3e\x48\x75\x73\x68\x20\x41\x63\x63\x6f\x75\x6e\x74\x69\x6e\x67\
\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x54\x68\x65\x20\x61\x63\x63\x6f\
\x75\x6e\x74\x69\x6e\x67\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x6e\
\x65\x72\x67\x79\x20\x73\x61\x76\x65\x64\x20\x66\x6f\x72\x20\x61\
\x20\x67\x69\x76\x65\x6e\x20\x69\x73\x20\x79\x65\x61\x72\x20\x69\
\x73\x20\x74\x6f\x20\x62\x65\x20\x72\x65\x63\x6f\x72\x64\x65\x64\
\x2e\x0a\x20\x20\x41\x74\x20\x74\x68\x65\x20\x65\x6e\x64\x20\x6f\
\x66\x20\x74\x68\x65\x20\x63\x61\x6c\x65\x6e\x64\x61\x72\x20\x79\
\x65\x61\x72\x2c\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\
\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x68\x6f\x6c\x64\x69\
\x6e\x67\x20\x74\x68\x65\x20\x70\x6f\x77\x65\x72\x0a\x20\x20\x73\
\x61\x76\x65\x64\x20\x76\x61\x6c\x75\x65\x73\x20\x61\x72\x65\x20\
\x74\x6f\x20\x62\x65\x20\x72\x65\x73\x65\x74\x20\x74\x6f\x20\x7a\
\x65\x72\x6f\x2e\x20\x54\x68\x69\x73\x20\x69\x73\x20\x61\x63\x63\
\x6f\x6d\x70\x6c\x69\x73\x68\x65\x64\x20\x74\x68\x72\x6f\x75\x67\
\x68\x20\x74\x68\x65\x20\x22\x52\x65\x73\x65\x74\x20\x41\x63\x63\
\x6f\x75\x6e\x74\x22\x20\x62\x75\x74\x74\x6f\x6e\x2e\x0a\x20\x20\
\x54\x68\x69\x73\x20\x61\x63\x74\x69\x6f\x6e\x20\x61\x6c\x73\x6f\
\x20\x72\x65\x63\x6f\x72\x64\x73\x20\x74\x68\x65\x20\x65\x6e\x65\
\x72\x67\x79\x20\x73\x61\x76\x65\x64\x20\x76\x61\x6c\x75\x65\x20\
\x69\x6e\x20\x65\x6c\x6f\x67\x62\x6f\x6f\x6b\x2e\x0a\x0a\x20\x20\
\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\
\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x4c\x61\x73\x74\
\x20\x50\x6f\x77\x65\x72\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x54\
\x68\x69\x73\x20\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x61\x6c\
\x6c\x6f\x77\x73\x20\x74\x68\x65\x20\x65\x78\x70\x65\x72\x74\x20\
\x75\x73\x65\x72\x20\x74\x6f\x20\x72\x65\x73\x65\x74\x20\x74\x68\
\x65\x20\x49\x6e\x69\x74\x69\x61\x6c\x20\x50\x6f\x77\x65\x72\x20\
\x69\x6e\x20\x22\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\
\x76\x69\x65\x77\x22\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\
\x6e\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x69\x74\x73\
\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x2c\x20\
\x73\x68\x6f\x75\x6c\x64\x20\x73\x75\x63\x68\x20\x61\x20\x6e\x65\
\x65\x64\x20\x65\x76\x65\x72\x20\x68\x61\x70\x68\x61\x7a\x61\x72\
\x64\x6c\x79\x20\x61\x72\x69\x73\x65\x20\x77\x68\x69\x6c\x65\x20\
\x74\x68\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x69\
\x6e\x20\x45\x6e\x65\x72\x67\x79\x20\x53\x61\x76\x69\x6e\x67\x20\
\x6d\x6f\x64\x65\x2c\x20\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\x68\
\x69\x63\x68\x20\x74\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\x22\
\x20\x62\x75\x74\x74\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x4d\
\x61\x67\x6e\x65\x74\x20\x70\x61\x6e\x65\x6c\x20\x69\x73\x20\x64\
\x69\x73\x65\x6e\x61\x62\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\x3c\
\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\
\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x48\x55\x53\x48\x21\x20\
\x49\x6d\x61\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\
\x61\x62\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
\x74\x64\x3e\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\
\x22\x3a\x48\x75\x73\x68\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\
\x68\x3d\x39\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\
\x20\x26\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\
\x3e\x0a\x20\x20\x20\x49\x6e\x73\x70\x69\x72\x65\x64\x20\x62\x79\
\x20\x44\x61\x64\x61\x20\x41\x6e\x74\x65\x20\x50\x6f\x72\x74\x61\
\x73\x2c\x20\x61\x72\x67\x75\x61\x62\x6c\x79\x20\x53\x77\x69\x74\
\x7a\x65\x72\x6c\x61\x6e\x64\x27\x73\x20\x67\x72\x65\x61\x74\x65\
\x73\x74\x20\x50\x6f\x70\x2f\x52\x6f\x63\x6b\x20\x62\x61\x6e\x64\
\x21\x20\x44\x6f\x20\x67\x69\x76\x65\x20\x74\x68\x65\x6d\x20\x61\
\x20\x6c\x69\x73\x74\x65\x6e\x2e\x0a\x20\x20\x20\x54\x68\x65\x69\
\x72\x20\x6d\x75\x73\x69\x63\x20\x61\x6e\x64\x20\x6c\x79\x72\x69\
\x63\x73\x20\x61\x72\x65\x20\x61\x77\x65\x73\x6f\x6d\x65\x21\x3c\
\x2f\x74\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\
\x0a\x3c\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\
\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
"
qt_resource_name = b"\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x7a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -581,31 +585,27 @@ qt_resource_name = b"\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x4a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x31\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x8a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x0c\xba\xf2\x7c\
\x00\x69\
\x00\x6e\x00\x64\x00\x65\x00\x78\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
"
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\x01\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\xa9\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x02\xac\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x03\x30\
"
qt_resource_struct_v2 = b"\
@@ -613,16 +613,16 @@ qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\x01\
\x00\x00\x01\x8d\xc0\x76\x5e\xc2\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x01\x8d\xc0\x76\x5e\xc3\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x01\x8d\xc0\x76\x5e\xc5\
\x00\x00\x01\x8d\xc0\x76\x5e\xc3\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x8d\xc0\x76\x5e\xc5\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x01\x8d\xc0\x76\x5e\xc7\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\xa9\
\x00\x00\x01\x8d\xc0\x76\x5e\xc8\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x02\xac\
\x00\x00\x01\x8d\xf0\x21\x14\x0e\
\x00\x00\x01\x8d\xc0\x76\x5e\xc8\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x03\x30\
\x00\x00\x01\x8d\xf0\x25\x74\x9c\
"
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
+440 -440
View File
@@ -14,6 +14,32 @@ qt_resource_data = b"\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x33\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x33\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
@@ -35,7 +61,7 @@ qt_resource_data = b"\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x1e\xfb\
\x00\x00\x1e\xf9\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x48\x49\x50\x41\x20\x50\x6f\x77\x65\x72\x20\x55\x73\x61\
@@ -135,404 +161,404 @@ qt_resource_data = b"\
\x79\x3b\x22\x3e\x20\x2f\x68\x69\x70\x61\x2f\x62\x64\x2f\x61\x70\
\x70\x6c\x69\x63\x61\x74\x69\x6f\x6e\x73\x2f\x68\x75\x73\x68\x2f\
\x68\x6c\x61\x2f\x6c\x61\x74\x65\x73\x74\x2f\x68\x75\x73\x68\x2e\
\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x20\x0a\x20\x20\
\x20\x20\x3c\x2f\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\x0a\x20\x20\
\x3c\x68\x32\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\
\x3a\x62\x6c\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\x43\x6f\x6e\
\x74\x72\x6f\x6c\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\x0a\x20\x20\
\x4d\x61\x69\x6e\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\x20\x75\
\x73\x65\x20\x62\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\x72\x73\x20\
\x74\x6f\x20\x70\x6c\x61\x63\x65\x20\x74\x68\x65\x20\x71\x75\x61\
\x64\x72\x75\x70\x6c\x65\x73\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\
\x69\x72\x20\x73\x74\x61\x6e\x64\x62\x79\x20\x73\x74\x61\x74\x65\
\x20\x61\x6e\x64\x20\x74\x6f\x20\x72\x65\x73\x74\x6f\x72\x65\x20\
\x74\x68\x65\x6d\x20\x74\x6f\x20\x74\x68\x65\x69\x72\x20\x6e\x6f\
\x6d\x69\x6e\x61\x6c\x20\x6f\x70\x65\x72\x61\x74\x69\x6e\x67\x20\
\x76\x61\x6c\x75\x65\x73\x2e\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\
\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\
\x65\x65\x3b\x22\x3e\x4f\x70\x65\x72\x61\x74\x6f\x72\x20\x50\x61\
\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x52\x61\x6d\x70\x20\
\x44\x65\x6c\x61\x79\x3a\x20\x43\x61\x6e\x20\x74\x61\x6b\x65\x20\
\x6f\x6e\x20\x76\x61\x6c\x75\x65\x73\x20\x66\x72\x6f\x6d\x20\x30\
\x2e\x30\x73\x20\x74\x6f\x20\x30\x2e\x32\x73\x2e\x20\x3c\x62\x72\
\x3e\x0a\x20\x20\x44\x65\x66\x69\x6e\x65\x73\x20\x74\x68\x65\x20\
\x64\x65\x6c\x61\x79\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x73\x65\
\x74\x74\x69\x6e\x67\x20\x69\x6e\x64\x69\x76\x69\x64\x75\x61\x6c\
\x20\x71\x75\x61\x64\x72\x75\x70\x6c\x65\x73\x20\x77\x68\x65\x6e\
\x20\x69\x6e\x69\x74\x69\x61\x74\x69\x6e\x67\x20\x73\x74\x61\x6e\
\x64\x62\x79\x2f\x72\x65\x73\x74\x6f\x72\x65\x2e\x20\x3c\x62\x72\
\x3e\x0a\x20\x20\x41\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x30\
\x2e\x30\x73\x20\x6d\x65\x61\x6e\x73\x20\x74\x68\x61\x74\x20\x74\
\x68\x65\x20\x71\x75\x61\x64\x72\x75\x70\x6c\x65\x20\x63\x75\x72\
\x72\x65\x6e\x74\x73\x20\x61\x72\x65\x20\x73\x65\x74\x20\x73\x69\
\x6d\x75\x6c\x74\x61\x6e\x65\x6f\x75\x73\x6c\x79\x2e\x0a\x20\x20\
\x73\x68\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x20\x20\x3c\x2f\
\x6c\x69\x3e\x0a\x3c\x2f\x75\x6c\x3e\x0a\x20\x20\x3c\x68\x32\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\
\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\x43\x6f\x6e\x74\x72\x6f\x6c\
\x20\x54\x61\x62\x3c\x2f\x68\x32\x3e\x0a\x20\x20\x4d\x61\x69\x6e\
\x20\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\x20\x75\x73\x65\x20\x62\
\x79\x20\x6f\x70\x65\x72\x61\x74\x6f\x72\x73\x20\x74\x6f\x20\x70\
\x6c\x61\x63\x65\x20\x74\x68\x65\x20\x71\x75\x61\x64\x72\x75\x70\
\x6c\x65\x73\x20\x69\x6e\x74\x6f\x20\x74\x68\x65\x69\x72\x20\x73\
\x74\x61\x6e\x64\x62\x79\x20\x73\x74\x61\x74\x65\x20\x61\x6e\x64\
\x20\x74\x6f\x20\x72\x65\x73\x74\x6f\x72\x65\x20\x74\x68\x65\x6d\
\x20\x74\x6f\x20\x74\x68\x65\x69\x72\x20\x6e\x6f\x6d\x69\x6e\x61\
\x6c\x20\x6f\x70\x65\x72\x61\x74\x69\x6e\x67\x20\x76\x61\x6c\x75\
\x65\x73\x2e\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\
\x3e\x4f\x70\x65\x72\x61\x74\x6f\x72\x20\x50\x61\x6e\x65\x6c\x3c\
\x2f\x68\x33\x3e\x0a\x20\x20\x52\x61\x6d\x70\x20\x44\x65\x6c\x61\
\x79\x3a\x20\x43\x61\x6e\x20\x74\x61\x6b\x65\x20\x6f\x6e\x20\x76\
\x61\x6c\x75\x65\x73\x20\x66\x72\x6f\x6d\x20\x30\x2e\x30\x73\x20\
\x74\x6f\x20\x30\x2e\x32\x73\x2e\x20\x3c\x62\x72\x3e\x0a\x20\x20\
\x44\x65\x66\x69\x6e\x65\x73\x20\x74\x68\x65\x20\x64\x65\x6c\x61\
\x79\x20\x62\x65\x74\x77\x65\x65\x6e\x20\x73\x65\x74\x74\x69\x6e\
\x67\x20\x69\x6e\x64\x69\x76\x69\x64\x75\x61\x6c\x20\x71\x75\x61\
\x64\x72\x75\x70\x6c\x65\x73\x20\x77\x68\x65\x6e\x20\x69\x6e\x69\
\x74\x69\x61\x74\x69\x6e\x67\x20\x73\x74\x61\x6e\x64\x62\x79\x2f\
\x72\x65\x73\x74\x6f\x72\x65\x2e\x20\x3c\x62\x72\x3e\x0a\x20\x20\
\x41\x20\x76\x61\x6c\x75\x65\x20\x6f\x66\x20\x30\x2e\x30\x73\x20\
\x6d\x65\x61\x6e\x73\x20\x74\x68\x61\x74\x20\x74\x68\x65\x20\x71\
\x75\x61\x64\x72\x75\x70\x6c\x65\x20\x63\x75\x72\x72\x65\x6e\x74\
\x73\x20\x61\x72\x65\x20\x73\x65\x74\x20\x73\x69\x6d\x75\x6c\x74\
\x61\x6e\x65\x6f\x75\x73\x6c\x79\x2e\x0a\x20\x20\x3c\x68\x33\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\
\x36\x38\x65\x65\x3b\x22\x3e\x45\x78\x70\x65\x72\x74\x20\x50\x61\
\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x53\x65\x6c\x65\x63\
\x74\x69\x6e\x67\x20\x74\x68\x65\x20\x44\x72\x79\x20\x52\x75\x6e\
\x20\x6f\x70\x74\x69\x6f\x6e\x20\x64\x69\x73\x61\x62\x6c\x65\x73\
\x20\x73\x65\x74\x74\x69\x6e\x67\x20\x76\x61\x6c\x75\x65\x73\x20\
\x74\x6f\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\x63\x65\x73\x73\
\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x2e\x20\x55\x73\x65\x64\
\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\x2e\x0a\x20\x20\
\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\
\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x45\x78\x70\x65\x72\
\x74\x20\x50\x61\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x53\
\x65\x6c\x65\x63\x74\x69\x6e\x67\x20\x74\x68\x65\x20\x44\x72\x79\
\x20\x52\x75\x6e\x20\x6f\x70\x74\x69\x6f\x6e\x20\x64\x69\x73\x61\
\x62\x6c\x65\x73\x20\x73\x65\x74\x74\x69\x6e\x67\x20\x76\x61\x6c\
\x75\x65\x73\x20\x74\x6f\x20\x65\x70\x69\x63\x73\x20\x70\x72\x6f\
\x63\x65\x73\x73\x20\x76\x61\x72\x69\x61\x62\x6c\x65\x73\x2e\x20\
\x55\x73\x65\x64\x20\x66\x6f\x72\x20\x74\x65\x73\x74\x69\x6e\x67\
\x2e\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x53\
\x61\x76\x69\x6e\x67\x20\x4f\x76\x65\x72\x76\x69\x65\x77\x3c\x2f\
\x68\x33\x3e\x0a\x20\x20\x44\x69\x73\x70\x6c\x61\x79\x73\x20\x61\
\x20\x6e\x75\x6d\x62\x65\x72\x20\x6f\x66\x20\x70\x61\x72\x61\x6d\
\x65\x74\x65\x72\x73\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\
\x6e\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x72\x65\x6c\x61\x74\x65\
\x64\x20\x74\x6f\x20\x70\x6f\x77\x65\x72\x20\x73\x61\x76\x69\x6e\
\x67\x20\x61\x63\x63\x6f\x75\x6e\x74\x69\x6e\x67\x2e\x20\x3c\x62\
\x72\x3e\x0a\x20\x20\x3c\x62\x72\x3e\x0a\x20\x20\x3c\x74\x61\x62\
\x6c\x65\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\
\x20\x63\x6f\x6c\x73\x70\x61\x6e\x3d\x33\x3e\x20\x54\x61\x62\x6c\
\x65\x20\x64\x65\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3c\x2f\x74\
\x64\x3e\x20\x3c\x2f\x74\x72\x3e\x20\x0a\x20\x20\x20\x20\x3c\x74\
\x72\x3e\x3c\x74\x64\x3e\x49\x6e\x69\x74\x69\x61\x6c\x20\x50\x6f\
\x77\x65\x72\x20\x28\x6b\x77\x29\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\
\x74\x64\x3e\x54\x68\x65\x20\x6e\x6f\x6d\x69\x6e\x61\x6c\x20\x73\
\x75\x6d\x6d\x65\x64\x20\x70\x6f\x77\x65\x72\x20\x77\x68\x65\x6e\
\x20\x71\x75\x61\x64\x72\x75\x70\x6c\x65\x73\x20\x61\x72\x65\x20\
\x69\x6e\x20\x74\x68\x65\x20\x75\x73\x75\x61\x6c\x20\x70\x6f\x77\
\x65\x72\x65\x64\x2d\x6f\x6e\x20\x73\x74\x61\x74\x65\x2e\x3c\x2f\
\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\
\x3e\x3c\x74\x64\x3e\x50\x6f\x77\x65\x72\x20\x28\x6b\x77\x29\x3a\
\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x54\x68\x65\x20\x73\x75\
\x6d\x6d\x65\x64\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x6f\x77\
\x65\x72\x2c\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x53\x61\x76\x69\x6e\x67\
\x20\x28\x4d\x57\x68\x29\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\
\x3e\x54\x68\x65\x20\x72\x75\x6e\x6e\x69\x6e\x67\x20\x70\x6f\x77\
\x65\x72\x20\x69\x6e\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\
\x74\x20\x73\x61\x76\x69\x6e\x67\x20\x70\x65\x72\x69\x6f\x64\x2e\
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\
\x74\x72\x3e\x3c\x74\x64\x3e\x54\x69\x6d\x65\x20\x69\x6e\x20\x53\
\x61\x76\x69\x6e\x67\x20\x4d\x6f\x64\x65\x3a\x20\x26\x6e\x62\x73\
\x70\x3b\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x54\x69\x6d\x65\
\x20\x65\x6c\x61\x70\x73\x65\x64\x20\x69\x6e\x20\x63\x75\x72\x72\
\x65\x6e\x74\x20\x73\x61\x76\x69\x6e\x67\x20\x70\x65\x72\x69\x6f\
\x64\x20\x28\x64\x61\x79\x73\x20\x68\x6f\x75\x72\x73\x3a\x6d\x69\
\x6e\x75\x74\x65\x73\x3a\x73\x65\x63\x6f\x6e\x64\x73\x29\x2e\x3c\
\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x53\x61\x76\x69\x6e\
\x67\x20\x4f\x76\x65\x72\x76\x69\x65\x77\x3c\x2f\x68\x33\x3e\x0a\
\x20\x20\x44\x69\x73\x70\x6c\x61\x79\x73\x20\x61\x20\x6e\x75\x6d\
\x62\x65\x72\x20\x6f\x66\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\
\x73\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\x6e\x20\x73\x65\
\x63\x74\x69\x6f\x6e\x20\x72\x65\x6c\x61\x74\x65\x64\x20\x74\x6f\
\x20\x70\x6f\x77\x65\x72\x20\x73\x61\x76\x69\x6e\x67\x20\x61\x63\
\x63\x6f\x75\x6e\x74\x69\x6e\x67\x2e\x20\x3c\x62\x72\x3e\x0a\x20\
\x20\x3c\x62\x72\x3e\x0a\x20\x20\x3c\x74\x61\x62\x6c\x65\x3e\x0a\
\x20\x20\x20\x20\x3c\x74\x72\x3e\x20\x3c\x74\x64\x20\x63\x6f\x6c\
\x73\x70\x61\x6e\x3d\x33\x3e\x20\x54\x61\x62\x6c\x65\x20\x64\x65\
\x73\x63\x72\x69\x70\x74\x69\x6f\x6e\x3c\x2f\x74\x64\x3e\x20\x3c\
\x2f\x74\x72\x3e\x20\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\
\x64\x3e\x49\x6e\x69\x74\x69\x61\x6c\x20\x50\x6f\x77\x65\x72\x20\
\x28\x6b\x77\x29\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x54\
\x68\x65\x20\x6e\x6f\x6d\x69\x6e\x61\x6c\x20\x73\x75\x6d\x6d\x65\
\x64\x20\x70\x6f\x77\x65\x72\x20\x77\x68\x65\x6e\x20\x71\x75\x61\
\x64\x72\x75\x70\x6c\x65\x73\x20\x61\x72\x65\x20\x69\x6e\x20\x74\
\x68\x65\x20\x75\x73\x75\x61\x6c\x20\x70\x6f\x77\x65\x72\x65\x64\
\x2d\x6f\x6e\x20\x73\x74\x61\x74\x65\x2e\x3c\x2f\x74\x64\x3e\x3c\
\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
\x3e\x50\x6f\x77\x65\x72\x20\x28\x6b\x77\x29\x3a\x3c\x2f\x74\x64\
\x3e\x20\x3c\x74\x64\x3e\x54\x68\x65\x20\x73\x75\x6d\x6d\x65\x64\
\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x6f\x77\x65\x72\x2c\x3c\
\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\
\x72\x3e\x3c\x74\x64\x3e\x54\x6f\x74\x20\x53\x61\x76\x65\x64\x20\
\x28\x4d\x57\x68\x29\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\
\x54\x68\x65\x20\x61\x63\x63\x75\x6d\x75\x6c\x61\x74\x65\x64\x20\
\x70\x6f\x77\x65\x72\x20\x73\x61\x76\x65\x64\x20\x73\x6f\x20\x66\
\x61\x72\x20\x69\x6e\x20\x74\x68\x65\x20\x63\x61\x6c\x65\x6e\x64\
\x61\x72\x20\x79\x65\x61\x72\x2e\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\
\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\
\x72\x3e\x3c\x74\x64\x3e\x53\x61\x76\x69\x6e\x67\x20\x28\x4d\x57\
\x68\x29\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x54\x68\x65\
\x20\x72\x75\x6e\x6e\x69\x6e\x67\x20\x70\x6f\x77\x65\x72\x20\x69\
\x6e\x20\x74\x68\x65\x20\x63\x75\x72\x72\x65\x6e\x74\x20\x73\x61\
\x76\x69\x6e\x67\x20\x70\x65\x72\x69\x6f\x64\x2e\x3c\x2f\x74\x64\
\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\
\x74\x64\x3e\x54\x69\x6d\x65\x20\x69\x6e\x20\x53\x61\x76\x69\x6e\
\x67\x20\x4d\x6f\x64\x65\x3a\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\
\x74\x64\x3e\x20\x3c\x74\x64\x3e\x54\x69\x6d\x65\x20\x65\x6c\x61\
\x70\x73\x65\x64\x20\x69\x6e\x20\x63\x75\x72\x72\x65\x6e\x74\x20\
\x73\x61\x76\x69\x6e\x67\x20\x70\x65\x72\x69\x6f\x64\x20\x28\x64\
\x61\x79\x73\x20\x68\x6f\x75\x72\x73\x3a\x6d\x69\x6e\x75\x74\x65\
\x73\x3a\x73\x65\x63\x6f\x6e\x64\x73\x29\x2e\x3c\x2f\x74\x64\x3e\
\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\
\x64\x3e\x54\x6f\x74\x20\x53\x61\x76\x65\x64\x20\x28\x4d\x57\x68\
\x29\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x54\x68\x65\x20\
\x61\x63\x63\x75\x6d\x75\x6c\x61\x74\x65\x64\x20\x70\x6f\x77\x65\
\x72\x20\x73\x61\x76\x65\x64\x20\x73\x6f\x20\x66\x61\x72\x20\x69\
\x6e\x20\x74\x68\x65\x20\x63\x61\x6c\x65\x6e\x64\x61\x72\x20\x79\
\x65\x61\x72\x2e\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\x3c\x68\x33\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\
\x36\x38\x65\x65\x3b\x22\x3e\x4d\x61\x67\x6e\x65\x74\x20\x54\x61\
\x62\x20\x50\x61\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x54\
\x61\x62\x6c\x65\x20\x6f\x66\x20\x63\x75\x72\x72\x65\x6e\x74\x20\
\x61\x6e\x64\x20\x70\x6f\x77\x65\x72\x20\x76\x61\x6c\x75\x65\x73\
\x20\x66\x6f\x72\x20\x71\x75\x61\x64\x72\x75\x70\x6c\x65\x73\x20\
\x77\x69\x74\x68\x69\x6e\x20\x65\x61\x63\x68\x20\x73\x65\x63\x74\
\x69\x6f\x6e\x3a\x20\x49\x50\x32\x2c\x20\x49\x57\x32\x2c\x20\x50\
\x4b\x31\x2c\x20\x50\x4b\x32\x2c\x20\x53\x49\x4e\x51\x2c\x20\x55\
\x43\x4e\x2e\x0a\x20\x20\x28\x54\x68\x65\x20\x52\x46\x20\x74\x61\
\x62\x20\x68\x61\x73\x20\x6f\x6e\x6c\x79\x20\x72\x65\x61\x64\x62\
\x61\x63\x6b\x20\x63\x61\x70\x61\x62\x69\x6c\x69\x74\x69\x65\x73\
\x29\x2e\x0a\x20\x20\x3c\x62\x72\x3e\x0a\x20\x20\x51\x75\x61\x64\
\x72\x75\x70\x6c\x65\x73\x20\x6d\x61\x79\x20\x62\x65\x20\x73\x65\
\x74\x20\x74\x6f\x20\x74\x68\x65\x69\x72\x20\x73\x74\x61\x6e\x64\
\x62\x79\x20\x76\x61\x6c\x75\x65\x73\x20\x6f\x72\x20\x72\x65\x73\
\x74\x6f\x72\x65\x64\x20\x74\x6f\x20\x74\x68\x65\x69\x72\x20\x69\
\x6e\x69\x74\x69\x61\x6c\x20\x76\x61\x6c\x75\x65\x73\x2e\x0a\x20\
\x20\x3c\x65\x6d\x3e\x54\x68\x65\x73\x65\x20\x61\x63\x74\x69\x6f\
\x6e\x20\x62\x75\x74\x74\x6f\x6e\x73\x20\x61\x72\x65\x20\x6f\x6e\
\x6c\x79\x20\x65\x6e\x61\x62\x6c\x65\x64\x20\x69\x66\x20\x63\x65\
\x72\x74\x61\x6e\x20\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x73\x20\
\x61\x72\x65\x20\x6d\x65\x74\x2c\x20\x65\x2e\x67\x2e\x2c\x20\x53\
\x74\x61\x6e\x64\x62\x79\x2f\x52\x65\x73\x74\x6f\x72\x65\x20\x69\
\x73\x20\x6f\x6e\x6c\x79\x20\x65\x6e\x61\x62\x6c\x65\x64\x20\x77\
\x68\x65\x6e\x20\x74\x68\x65\x72\x65\x20\x69\x73\x20\x6e\x6f\x20\
\x62\x65\x61\x6d\x20\x69\x6e\x20\x74\x68\x65\x20\x62\x65\x61\x6d\
\x6c\x69\x6e\x65\x2e\x3c\x2f\x65\x6d\x3e\x3c\x62\x72\x3e\x0a\x20\
\x20\x42\x65\x73\x74\x20\x70\x72\x61\x63\x74\x69\x63\x65\x20\x64\
\x69\x63\x74\x61\x74\x65\x73\x20\x74\x68\x61\x74\x20\x22\x55\x70\
\x64\x61\x74\x65\x22\x20\x62\x65\x20\x70\x72\x65\x73\x73\x65\x64\
\x20\x62\x65\x66\x6f\x72\x65\x20\x22\x53\x74\x61\x6e\x64\x62\x79\
\x22\x20\x69\x73\x20\x69\x6e\x69\x74\x69\x61\x74\x65\x64\x2e\x20\
\x54\x68\x69\x73\x20\x75\x70\x64\x61\x74\x65\x73\x20\x74\x68\x65\
\x20\x6d\x61\x67\x6e\x65\x74\x20\x63\x75\x72\x72\x65\x6e\x74\x20\
\x76\x61\x6c\x75\x65\x73\x20\x69\x6e\x20\x74\x68\x65\x20\x22\x49\
\x6e\x69\x74\x2e\x20\x56\x61\x6c\x75\x65\x22\x20\x63\x6f\x6c\x75\
\x6d\x6e\x2c\x20\x77\x68\x69\x63\x68\x20\x70\x72\x6f\x76\x69\x64\
\x65\x73\x20\x74\x68\x65\x20\x27\x73\x65\x74\x27\x20\x76\x61\x6c\
\x75\x65\x73\x20\x66\x6f\x72\x20\x61\x6e\x20\x65\x76\x65\x6e\x74\
\x75\x61\x6c\x20\x22\x52\x65\x73\x74\x6f\x72\x65\x22\x20\x61\x63\
\x74\x69\x6f\x6e\x2e\x20\x0a\x20\x20\x54\x68\x65\x20\x22\x49\x6e\
\x69\x74\x20\x56\x61\x6c\x75\x65\x22\x20\x6f\x66\x20\x74\x68\x65\
\x20\x50\x6f\x77\x65\x72\x20\x74\x61\x62\x6c\x65\x20\x69\x73\x20\
\x6c\x69\x6b\x65\x77\x69\x73\x65\x20\x75\x70\x64\x61\x74\x65\x64\
\x2e\x20\x54\x68\x65\x20\x75\x70\x64\x61\x74\x65\x64\x20\x73\x75\
\x6d\x20\x6f\x66\x20\x69\x6e\x69\x74\x69\x61\x6c\x20\x70\x6f\x77\
\x65\x72\x20\x76\x61\x6c\x75\x65\x73\x20\x69\x73\x20\x74\x68\x65\
\x6e\x20\x70\x72\x6f\x70\x61\x67\x61\x74\x65\x64\x20\x74\x6f\x20\
\x74\x68\x65\x20\x22\x49\x6e\x69\x74\x69\x61\x6c\x22\x20\x63\x6f\
\x6c\x75\x6d\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x22\x53\x61\x76\
\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\x76\x69\x65\x77\x22\x20\x73\
\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\x20\x75\x73\x65\
\x20\x69\x6e\x20\x74\x68\x65\x20\x65\x6e\x65\x72\x67\x79\x20\x73\
\x61\x76\x69\x6e\x67\x20\x61\x63\x63\x6f\x75\x6e\x74\x69\x6e\x67\
\x2e\x20\x41\x6e\x20\x22\x55\x70\x64\x61\x74\x65\x22\x20\x69\x6e\
\x20\x65\x69\x74\x68\x65\x72\x20\x74\x68\x65\x20\x43\x75\x72\x72\
\x65\x6e\x74\x20\x6f\x72\x20\x50\x6f\x77\x65\x72\x20\x74\x61\x62\
\x6c\x65\x20\x77\x69\x6c\x6c\x20\x61\x75\x74\x6f\x6d\x61\x74\x69\
\x63\x61\x6c\x6c\x79\x20\x75\x70\x64\x61\x74\x65\x20\x74\x68\x65\
\x20\x6f\x74\x68\x65\x72\x2e\x20\x4e\x6f\x74\x65\x20\x74\x68\x61\
\x74\x20\x74\x68\x65\x0a\x20\x20\x22\x55\x70\x64\x61\x74\x65\x22\
\x20\x62\x75\x74\x74\x6f\x6e\x20\x69\x73\x20\x64\x69\x73\x65\x6e\
\x61\x62\x6c\x65\x64\x20\x77\x68\x65\x6e\x20\x74\x68\x65\x20\x73\
\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x69\x6e\x20\x22\x53\x74\
\x61\x6e\x64\x62\x79\x22\x20\x6d\x6f\x64\x65\x20\x61\x6e\x64\x20\
\x65\x6e\x65\x72\x67\x79\x20\x73\x61\x76\x69\x6e\x67\x20\x69\x73\
\x20\x61\x63\x74\x69\x76\x61\x74\x65\x64\x2e\x3c\x62\x72\x3e\x0a\
\x20\x20\x3c\x65\x6d\x3e\x49\x66\x20\x66\x6f\x72\x20\x73\x6f\x6d\
\x65\x20\x68\x61\x70\x68\x61\x7a\x61\x72\x64\x20\x72\x65\x61\x73\
\x6f\x6e\x20\x74\x68\x65\x20\x49\x6e\x69\x74\x69\x61\x6c\x20\x50\
\x6f\x77\x65\x72\x20\x56\x61\x6c\x75\x65\x20\x61\x70\x70\x65\x61\
\x72\x69\x6e\x67\x20\x69\x6e\x20\x74\x68\x65\x20\x22\x53\x61\x76\
\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\x76\x69\x65\x77\x22\x20\x0a\
\x20\x20\x20\x20\x69\x73\x20\x65\x76\x69\x64\x65\x6e\x74\x6c\x79\
\x20\x77\x72\x6f\x6e\x67\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\
\x65\x6e\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x64\x75\x72\x69\x6e\
\x67\x20\x65\x6e\x65\x72\x67\x79\x20\x73\x61\x76\x69\x6e\x67\x20\
\x28\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\x68\x69\x63\x68\x20\x74\
\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\x22\x20\x62\x75\x74\x74\
\x6f\x6e\x20\x69\x73\x20\x64\x69\x73\x65\x6e\x61\x62\x6c\x65\x64\
\x29\x2c\x20\x65\x2e\x67\x2e\x2c\x20\x69\x74\x20\x69\x73\x20\x6c\
\x65\x73\x73\x20\x74\x68\x61\x6e\x20\x74\x68\x65\x20\x63\x75\x72\
\x72\x65\x6e\x74\x20\x70\x6f\x77\x65\x72\x20\x75\x73\x61\x67\x65\
\x20\x61\x73\x20\x73\x68\x6f\x77\x6e\x20\x69\x6e\x20\x74\x68\x65\
\x20\x22\x50\x6f\x77\x65\x72\x22\x20\x63\x6f\x6c\x75\x6d\x6e\x2c\
\x20\x69\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x6f\x76\x65\x77\x72\
\x69\x74\x74\x65\x6e\x20\x74\x6f\x20\x69\x74\x73\x20\x64\x65\x66\
\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x20\x66\x72\x6f\x6d\x20\
\x74\x68\x65\x20\x22\x4c\x61\x73\x74\x20\x50\x6f\x77\x65\x72\x22\
\x20\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x77\x69\x74\x68\x69\
\x6e\x20\x74\x68\x65\x20\x22\x49\x4f\x43\x22\x20\x74\x61\x62\x20\
\x77\x69\x64\x67\x65\x74\x2e\x3c\x2f\x65\x6d\x3e\x3c\x62\x72\x3e\
\x0a\x20\x20\x54\x68\x65\x20\x74\x68\x72\x65\x65\x20\x6c\x69\x67\
\x68\x74\x20\x62\x6c\x75\x65\x20\x62\x61\x63\x6b\x67\x72\x6f\x75\
\x6e\x64\x20\x63\x6f\x6c\x6f\x75\x72\x65\x64\x20\x64\x65\x76\x69\
\x63\x65\x20\x65\x6e\x74\x72\x69\x65\x73\x20\x69\x6e\x20\x74\x68\
\x65\x20\x6d\x61\x67\x6e\x65\x74\x20\x74\x61\x62\x6c\x65\x20\x69\
\x6e\x64\x69\x63\x61\x74\x65\x20\x74\x68\x65\x20\x71\x75\x61\x64\
\x72\x75\x70\x6c\x65\x73\x20\x74\x68\x61\x74\x20\x61\x72\x65\x20\
\x6d\x6f\x6e\x69\x74\x6f\x72\x65\x64\x20\x77\x69\x74\x68\x69\x6e\
\x20\x74\x68\x65\x20\x49\x4f\x43\x20\x74\x6f\x20\x64\x65\x74\x65\
\x72\x6d\x69\x6e\x65\x20\x74\x68\x65\x20\x22\x53\x74\x61\x6e\x64\
\x62\x79\x2f\x52\x65\x73\x74\x6f\x72\x65\x22\x20\x73\x74\x61\x74\
\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\
\x2e\x20\x20\x0a\x0a\x20\x20\x0a\x20\x20\x3c\x68\x32\x20\x73\x74\
\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\x75\x65\x3b\
\x22\x3e\x47\x55\x49\x2c\x20\x49\x4f\x43\x20\x54\x61\x62\x20\x3c\
\x2f\x68\x32\x3e\x0a\x20\x20\x54\x68\x65\x20\x70\x61\x6e\x65\x6c\
\x20\x64\x69\x73\x70\x6c\x61\x79\x73\x20\x74\x68\x65\x20\x73\x74\
\x61\x74\x75\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x53\x74\x61\x74\
\x65\x20\x4d\x61\x63\x68\x69\x6e\x65\x20\x28\x53\x4d\x29\x20\x6f\
\x70\x65\x72\x61\x74\x69\x6e\x67\x20\x77\x69\x74\x68\x20\x74\x68\
\x65\x20\x49\x4f\x43\x2c\x20\x61\x6e\x64\x20\x66\x75\x72\x74\x68\
\x65\x72\x20\x61\x6c\x6c\x6f\x77\x73\x20\x63\x65\x72\x74\x61\x69\
\x6e\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x69\x6f\x6e\x73\x2e\x20\
\x54\x68\x65\x20\x53\x4d\x20\x69\x73\x20\x72\x65\x73\x70\x6f\x6e\
\x73\x69\x62\x6c\x65\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x50\x6f\
\x77\x65\x72\x20\x53\x61\x76\x69\x6e\x67\x20\x61\x63\x63\x6f\x75\
\x6e\x74\x69\x6e\x67\x2e\x20\x49\x74\x20\x69\x73\x20\x65\x73\x73\
\x65\x6e\x74\x69\x61\x6c\x6c\x79\x20\x64\x65\x63\x6f\x75\x70\x6c\
\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x48\x4c\x41\x2e\
\x20\x53\x68\x6f\x75\x6c\x64\x20\x71\x75\x61\x64\x72\x75\x70\x6c\
\x65\x73\x20\x62\x65\x20\x73\x65\x74\x20\x66\x72\x6f\x6d\x20\x6f\
\x75\x74\x73\x69\x64\x65\x20\x74\x68\x65\x20\x48\x4c\x41\x2c\x20\
\x74\x68\x65\x20\x53\x4d\x20\x77\x69\x6c\x6c\x20\x63\x61\x70\x74\
\x75\x72\x65\x20\x74\x68\x65\x20\x63\x68\x61\x6e\x67\x65\x20\x61\
\x6e\x64\x20\x61\x63\x74\x20\x61\x63\x63\x6f\x72\x64\x69\x6e\x67\
\x6c\x79\x2e\x20\x20\x0a\x20\x20\x0a\x20\x20\x20\x20\x0a\x20\x20\
\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\
\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x4d\x61\x67\x6e\x65\
\x74\x20\x54\x61\x62\x20\x50\x61\x6e\x65\x6c\x3c\x2f\x68\x33\x3e\
\x0a\x20\x20\x54\x61\x62\x6c\x65\x20\x6f\x66\x20\x63\x75\x72\x72\
\x65\x6e\x74\x20\x61\x6e\x64\x20\x70\x6f\x77\x65\x72\x20\x76\x61\
\x6c\x75\x65\x73\x20\x66\x6f\x72\x20\x71\x75\x61\x64\x72\x75\x70\
\x6c\x65\x73\x20\x77\x69\x74\x68\x69\x6e\x20\x65\x61\x63\x68\x20\
\x73\x65\x63\x74\x69\x6f\x6e\x3a\x20\x49\x50\x32\x2c\x20\x49\x57\
\x32\x2c\x20\x50\x4b\x31\x2c\x20\x50\x4b\x32\x2c\x20\x53\x49\x4e\
\x51\x2c\x20\x55\x43\x4e\x2e\x0a\x20\x20\x28\x54\x68\x65\x20\x52\
\x46\x20\x74\x61\x62\x20\x68\x61\x73\x20\x6f\x6e\x6c\x79\x20\x72\
\x65\x61\x64\x62\x61\x63\x6b\x20\x63\x61\x70\x61\x62\x69\x6c\x69\
\x74\x69\x65\x73\x29\x2e\x0a\x20\x20\x3c\x62\x72\x3e\x0a\x20\x20\
\x51\x75\x61\x64\x72\x75\x70\x6c\x65\x73\x20\x6d\x61\x79\x20\x62\
\x65\x20\x73\x65\x74\x20\x74\x6f\x20\x74\x68\x65\x69\x72\x20\x73\
\x74\x61\x6e\x64\x62\x79\x20\x76\x61\x6c\x75\x65\x73\x20\x6f\x72\
\x20\x72\x65\x73\x74\x6f\x72\x65\x64\x20\x74\x6f\x20\x74\x68\x65\
\x69\x72\x20\x69\x6e\x69\x74\x69\x61\x6c\x20\x76\x61\x6c\x75\x65\
\x73\x2e\x0a\x20\x20\x3c\x65\x6d\x3e\x54\x68\x65\x73\x65\x20\x61\
\x63\x74\x69\x6f\x6e\x20\x62\x75\x74\x74\x6f\x6e\x73\x20\x61\x72\
\x65\x20\x6f\x6e\x6c\x79\x20\x65\x6e\x61\x62\x6c\x65\x64\x20\x69\
\x66\x20\x63\x65\x72\x74\x61\x6e\x20\x63\x6f\x6e\x64\x69\x74\x69\
\x6f\x6e\x73\x20\x61\x72\x65\x20\x6d\x65\x74\x2c\x20\x65\x2e\x67\
\x2e\x2c\x20\x53\x74\x61\x6e\x64\x62\x79\x2f\x52\x65\x73\x74\x6f\
\x72\x65\x20\x69\x73\x20\x6f\x6e\x6c\x79\x20\x65\x6e\x61\x62\x6c\
\x65\x64\x20\x77\x68\x65\x6e\x20\x74\x68\x65\x72\x65\x20\x69\x73\
\x20\x6e\x6f\x20\x62\x65\x61\x6d\x20\x69\x6e\x20\x74\x68\x65\x20\
\x62\x65\x61\x6d\x6c\x69\x6e\x65\x2e\x3c\x2f\x65\x6d\x3e\x3c\x62\
\x72\x3e\x0a\x20\x20\x42\x65\x73\x74\x20\x70\x72\x61\x63\x74\x69\
\x63\x65\x20\x64\x69\x63\x74\x61\x74\x65\x73\x20\x74\x68\x61\x74\
\x20\x22\x55\x70\x64\x61\x74\x65\x22\x20\x62\x65\x20\x70\x72\x65\
\x73\x73\x65\x64\x20\x62\x65\x66\x6f\x72\x65\x20\x22\x53\x74\x61\
\x6e\x64\x62\x79\x22\x20\x69\x73\x20\x69\x6e\x69\x74\x69\x61\x74\
\x65\x64\x2e\x20\x54\x68\x69\x73\x20\x75\x70\x64\x61\x74\x65\x73\
\x20\x74\x68\x65\x20\x6d\x61\x67\x6e\x65\x74\x20\x63\x75\x72\x72\
\x65\x6e\x74\x20\x76\x61\x6c\x75\x65\x73\x20\x69\x6e\x20\x74\x68\
\x65\x20\x22\x49\x6e\x69\x74\x2e\x20\x56\x61\x6c\x75\x65\x22\x20\
\x63\x6f\x6c\x75\x6d\x6e\x2c\x20\x77\x68\x69\x63\x68\x20\x70\x72\
\x6f\x76\x69\x64\x65\x73\x20\x74\x68\x65\x20\x27\x73\x65\x74\x27\
\x20\x76\x61\x6c\x75\x65\x73\x20\x66\x6f\x72\x20\x61\x6e\x20\x65\
\x76\x65\x6e\x74\x75\x61\x6c\x20\x22\x52\x65\x73\x74\x6f\x72\x65\
\x22\x20\x61\x63\x74\x69\x6f\x6e\x2e\x20\x0a\x20\x20\x54\x68\x65\
\x20\x22\x49\x6e\x69\x74\x20\x56\x61\x6c\x75\x65\x22\x20\x6f\x66\
\x20\x74\x68\x65\x20\x50\x6f\x77\x65\x72\x20\x74\x61\x62\x6c\x65\
\x20\x69\x73\x20\x6c\x69\x6b\x65\x77\x69\x73\x65\x20\x75\x70\x64\
\x61\x74\x65\x64\x2e\x20\x54\x68\x65\x20\x75\x70\x64\x61\x74\x65\
\x64\x20\x73\x75\x6d\x20\x6f\x66\x20\x69\x6e\x69\x74\x69\x61\x6c\
\x20\x70\x6f\x77\x65\x72\x20\x76\x61\x6c\x75\x65\x73\x20\x69\x73\
\x20\x74\x68\x65\x6e\x20\x70\x72\x6f\x70\x61\x67\x61\x74\x65\x64\
\x20\x74\x6f\x20\x74\x68\x65\x20\x22\x49\x6e\x69\x74\x69\x61\x6c\
\x22\x20\x63\x6f\x6c\x75\x6d\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\
\x22\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\x76\x69\x65\
\x77\x22\x20\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x66\x6f\x72\
\x20\x75\x73\x65\x20\x69\x6e\x20\x74\x68\x65\x20\x65\x6e\x65\x72\
\x67\x79\x20\x73\x61\x76\x69\x6e\x67\x20\x61\x63\x63\x6f\x75\x74\
\x69\x6e\x67\x2e\x20\x41\x6e\x20\x22\x55\x70\x64\x61\x74\x65\x22\
\x20\x69\x6e\x20\x65\x69\x74\x68\x65\x72\x20\x74\x68\x65\x20\x43\
\x75\x72\x72\x65\x6e\x74\x20\x6f\x72\x20\x50\x6f\x77\x65\x72\x20\
\x74\x61\x62\x6c\x65\x20\x77\x69\x6c\x6c\x20\x61\x75\x74\x6f\x6d\
\x61\x74\x69\x63\x61\x6c\x6c\x79\x20\x75\x70\x64\x61\x74\x65\x20\
\x74\x68\x65\x20\x6f\x74\x68\x65\x72\x2e\x20\x4e\x6f\x74\x65\x20\
\x74\x68\x61\x74\x20\x74\x68\x65\x0a\x20\x20\x22\x55\x70\x64\x61\
\x74\x65\x22\x20\x62\x75\x74\x74\x6f\x6e\x20\x69\x73\x20\x64\x69\
\x73\x65\x6e\x61\x62\x6c\x65\x64\x20\x77\x68\x65\x6e\x20\x74\x68\
\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x69\x6e\x20\
\x22\x53\x74\x61\x6e\x64\x62\x79\x22\x20\x6d\x6f\x64\x65\x20\x61\
\x6e\x64\x20\x65\x6e\x65\x72\x67\x79\x20\x73\x61\x76\x69\x6e\x67\
\x20\x69\x73\x20\x61\x63\x74\x69\x76\x61\x74\x65\x64\x2e\x3c\x62\
\x72\x3e\x0a\x20\x20\x3c\x65\x6d\x3e\x49\x66\x20\x66\x6f\x72\x20\
\x73\x6f\x6d\x65\x20\x68\x61\x70\x68\x61\x7a\x61\x72\x64\x20\x72\
\x65\x61\x73\x6f\x6e\x20\x74\x68\x65\x20\x49\x6e\x69\x74\x69\x61\
\x6c\x20\x50\x6f\x77\x65\x72\x20\x56\x61\x6c\x75\x65\x20\x61\x70\
\x70\x65\x61\x72\x69\x6e\x67\x20\x69\x6e\x20\x74\x68\x65\x20\x22\
\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\x76\x69\x65\x77\
\x22\x20\x0a\x20\x20\x20\x20\x69\x73\x20\x65\x76\x69\x64\x65\x6e\
\x74\x6c\x79\x20\x77\x72\x6f\x6e\x67\x20\x66\x6f\x72\x20\x61\x20\
\x67\x69\x76\x65\x6e\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x64\x75\
\x72\x69\x6e\x67\x20\x65\x6e\x65\x72\x67\x79\x20\x73\x61\x76\x69\
\x6e\x67\x20\x28\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\x68\x69\x63\
\x68\x20\x74\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\x22\x20\x62\
\x75\x74\x74\x6f\x6e\x20\x69\x73\x20\x64\x69\x73\x65\x6e\x61\x62\
\x6c\x65\x64\x29\x2c\x20\x65\x2e\x67\x2e\x2c\x20\x69\x74\x20\x69\
\x73\x20\x6c\x65\x73\x73\x20\x74\x68\x61\x6e\x20\x74\x68\x65\x20\
\x63\x75\x72\x72\x65\x6e\x74\x20\x70\x6f\x77\x65\x72\x20\x75\x73\
\x61\x67\x65\x20\x61\x73\x20\x73\x68\x6f\x77\x6e\x20\x69\x6e\x20\
\x74\x68\x65\x20\x22\x50\x6f\x77\x65\x72\x22\x20\x63\x6f\x6c\x75\
\x6d\x6e\x2c\x20\x69\x74\x20\x63\x61\x6e\x20\x62\x65\x20\x6f\x76\
\x65\x77\x72\x69\x74\x74\x65\x6e\x20\x74\x6f\x20\x69\x74\x73\x20\
\x64\x65\x66\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x20\x66\x72\
\x6f\x6d\x20\x74\x68\x65\x20\x22\x4c\x61\x73\x74\x20\x50\x6f\x77\
\x65\x72\x22\x20\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x77\x69\
\x74\x68\x69\x6e\x20\x74\x68\x65\x20\x22\x49\x4f\x43\x22\x20\x74\
\x61\x62\x20\x77\x69\x64\x67\x65\x74\x2e\x3c\x2f\x65\x6d\x3e\x3c\
\x62\x72\x3e\x0a\x20\x20\x54\x68\x65\x20\x74\x68\x72\x65\x65\x20\
\x6c\x69\x67\x68\x74\x20\x62\x6c\x75\x65\x20\x62\x61\x63\x6b\x67\
\x72\x6f\x75\x6e\x64\x20\x63\x6f\x6c\x6f\x75\x72\x65\x64\x20\x64\
\x65\x76\x69\x63\x65\x20\x65\x6e\x74\x72\x69\x65\x73\x20\x69\x6e\
\x20\x74\x68\x65\x20\x6d\x61\x67\x6e\x65\x74\x20\x74\x61\x62\x6c\
\x65\x20\x69\x6e\x64\x69\x63\x61\x74\x65\x20\x74\x68\x65\x20\x71\
\x75\x61\x64\x72\x75\x70\x6c\x65\x73\x20\x74\x68\x61\x74\x20\x61\
\x72\x65\x20\x6d\x6f\x6e\x69\x74\x6f\x72\x65\x64\x20\x77\x69\x74\
\x68\x69\x6e\x20\x74\x68\x65\x20\x49\x4f\x43\x20\x74\x6f\x20\x64\
\x65\x74\x65\x72\x6d\x69\x6e\x65\x20\x74\x68\x65\x20\x22\x53\x74\
\x61\x6e\x64\x62\x79\x2f\x52\x65\x73\x74\x6f\x72\x65\x22\x20\x73\
\x74\x61\x74\x65\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x65\x63\x74\
\x69\x6f\x6e\x2e\x20\x20\x0a\x0a\x20\x20\x0a\x20\x20\x3c\x68\x32\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x62\x6c\
\x75\x65\x3b\x22\x3e\x47\x55\x49\x2c\x20\x49\x4f\x43\x20\x54\x61\
\x62\x20\x3c\x2f\x68\x32\x3e\x0a\x20\x20\x54\x68\x65\x20\x70\x61\
\x6e\x65\x6c\x20\x64\x69\x73\x70\x6c\x61\x79\x73\x20\x74\x68\x65\
\x20\x73\x74\x61\x74\x75\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x53\
\x74\x61\x74\x65\x20\x4d\x61\x63\x68\x69\x6e\x65\x20\x28\x53\x4d\
\x29\x20\x6f\x70\x65\x72\x61\x74\x69\x6e\x67\x20\x77\x69\x74\x68\
\x20\x74\x68\x65\x20\x49\x4f\x43\x2c\x20\x61\x6e\x64\x20\x66\x75\
\x72\x74\x68\x65\x72\x20\x61\x6c\x6c\x6f\x77\x73\x20\x63\x65\x72\
\x74\x61\x69\x6e\x20\x69\x6e\x74\x65\x72\x61\x63\x74\x69\x6f\x6e\
\x73\x2e\x20\x54\x68\x65\x20\x53\x4d\x20\x69\x73\x20\x72\x65\x73\
\x70\x6f\x6e\x73\x69\x62\x6c\x65\x20\x66\x6f\x72\x20\x74\x68\x65\
\x20\x50\x6f\x77\x65\x72\x20\x53\x61\x76\x69\x6e\x67\x20\x61\x63\
\x63\x6f\x75\x6e\x74\x69\x6e\x67\x2e\x20\x49\x74\x20\x69\x73\x20\
\x65\x73\x73\x65\x6e\x74\x69\x61\x6c\x6c\x79\x20\x64\x65\x63\x6f\
\x75\x70\x6c\x65\x64\x20\x66\x72\x6f\x6d\x20\x74\x68\x65\x20\x48\
\x4c\x41\x2e\x20\x53\x68\x6f\x75\x6c\x64\x20\x71\x75\x61\x64\x72\
\x75\x70\x6c\x65\x73\x20\x62\x65\x20\x73\x65\x74\x20\x66\x72\x6f\
\x6d\x20\x6f\x75\x74\x73\x69\x64\x65\x20\x74\x68\x65\x20\x48\x4c\
\x41\x2c\x20\x74\x68\x65\x20\x53\x4d\x20\x77\x69\x6c\x6c\x20\x63\
\x61\x70\x74\x75\x72\x65\x20\x74\x68\x65\x20\x63\x68\x61\x6e\x67\
\x65\x20\x61\x6e\x64\x20\x61\x63\x74\x20\x61\x63\x63\x6f\x72\x64\
\x69\x6e\x67\x6c\x79\x2e\x20\x20\x0a\x20\x20\x0a\x20\x20\x20\x20\
\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\
\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x53\x74\
\x61\x74\x65\x20\x4d\x61\x63\x68\x69\x6e\x65\x3c\x2f\x68\x33\x3e\
\x0a\x20\x20\x44\x69\x73\x70\x6c\x61\x79\x73\x20\x74\x68\x65\x20\
\x73\x74\x61\x74\x75\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x74\
\x61\x74\x65\x20\x6d\x61\x63\x68\x69\x6e\x65\x20\x73\x65\x71\x75\
\x65\x6e\x63\x65\x72\x2e\x0a\x20\x20\x3c\x74\x61\x62\x6c\x65\x3e\
\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x52\x65\
\x73\x65\x74\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x20\x53\
\x45\x51\x2d\x4f\x4e\x4f\x46\x46\x20\x26\x6e\x62\x73\x70\x3b\x3c\
\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x52\x65\x73\x74\x61\x72\x74\x73\
\x20\x74\x68\x65\x20\x53\x4d\x2e\x20\x3c\x65\x6d\x3e\x50\x72\x65\
\x73\x73\x20\x61\x6e\x64\x20\x68\x6f\x6c\x64\x20\x62\x75\x74\x74\
\x6f\x6e\x20\x66\x6f\x72\x20\x61\x74\x20\x6c\x65\x61\x73\x74\x20\
\x32\x20\x73\x65\x63\x6f\x6e\x64\x73\x20\x74\x6f\x20\x65\x6e\x73\
\x75\x72\x65\x20\x74\x68\x65\x20\x69\x6e\x69\x74\x69\x61\x6c\x20\
\x22\x4f\x46\x46\x22\x20\x69\x6e\x73\x74\x72\x75\x63\x74\x69\x6f\
\x6e\x20\x69\x73\x20\x63\x61\x70\x74\x75\x72\x65\x64\x20\x62\x79\
\x20\x74\x68\x65\x20\x53\x4d\x2e\x3c\x2f\x65\x6d\x3e\x20\x49\x66\
\x20\x74\x68\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\
\x69\x6e\x20\x45\x6e\x65\x72\x67\x79\x20\x53\x61\x76\x69\x6e\x67\
\x20\x6d\x6f\x64\x65\x2c\x20\x74\x68\x69\x73\x20\x61\x63\x74\x69\
\x6f\x6e\x20\x74\x72\x61\x6e\x73\x66\x65\x72\x73\x20\x74\x68\x65\
\x20\x63\x75\x72\x72\x65\x6e\x74\x6c\x79\x20\x73\x61\x76\x65\x64\
\x20\x61\x6d\x6f\x75\x6e\x74\x20\x66\x72\x6f\x6d\x20\x22\x53\x61\
\x76\x69\x6e\x67\x22\x20\x74\x6f\x20\x22\x54\x6f\x74\x20\x53\x61\
\x76\x69\x6e\x67\x22\x2c\x20\x61\x6e\x64\x20\x72\x65\x73\x74\x61\
\x72\x74\x73\x20\x74\x68\x65\x20\x22\x54\x69\x6d\x65\x20\x69\x6e\
\x20\x53\x61\x76\x69\x6e\x67\x20\x4d\x6f\x64\x65\x22\x20\x66\x72\
\x6f\x6d\x20\x7a\x65\x72\x6f\x2e\x20\x3c\x2f\x74\x64\x3e\x3c\x2f\
\x74\x72\x3e\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\
\x53\x4d\x3a\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x53\x45\x51\x2d\
\x4f\x4e\x4f\x46\x46\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\
\x20\x20\x53\x74\x61\x74\x75\x73\x20\x28\x22\x4f\x46\x46\x22\x2c\
\x20\x22\x4f\x4e\x22\x29\x20\x6f\x66\x20\x74\x68\x65\x20\x53\x74\
\x61\x74\x65\x20\x4d\x61\x63\x68\x69\x6e\x65\x2e\x20\x53\x68\x6f\
\x75\x6c\x64\x20\x61\x6c\x77\x61\x79\x73\x20\x62\x65\x20\x22\x4f\
\x4e\x22\x2e\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\
\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x53\x65\x71\x75\x65\
\x6e\x63\x65\x72\x20\x53\x74\x61\x74\x65\x20\x26\x6e\x62\x73\x70\
\x3b\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x53\x45\x51\x2d\x53\
\x54\x41\x54\x45\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x53\
\x65\x65\x20\x62\x65\x6c\x6f\x77\x20\x66\x6f\x72\x20\x74\x68\x65\
\x20\x65\x6e\x75\x6d\x65\x72\x61\x74\x65\x64\x20\x76\x61\x6c\x75\
\x65\x73\x2e\x20\x57\x68\x65\x6e\x20\x69\x6e\x20\x65\x6e\x65\x72\
\x67\x79\x20\x73\x61\x76\x69\x6e\x67\x20\x6d\x6f\x64\x65\x2c\x20\
\x74\x68\x69\x73\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x20\x77\
\x69\x6c\x6c\x20\x6f\x73\x63\x69\x6c\x6c\x61\x74\x65\x20\x62\x65\
\x74\x77\x65\x65\x6e\x20\x74\x68\x65\x0a\x09\x20\x3c\x73\x70\x61\
\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\
\x67\x72\x65\x65\x6e\x3b\x22\x3e\x22\x52\x45\x41\x44\x59\x5f\x46\
\x4f\x52\x5f\x45\x56\x45\x4e\x54\x22\x3c\x2f\x73\x70\x61\x6e\x3e\
\x20\x61\x6e\x64\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\
\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\
\x3e\x22\x41\x4c\x4c\x4f\x57\x5f\x45\x4e\x45\x52\x47\x59\x5f\x53\
\x41\x56\x49\x4e\x47\x22\x3c\x2f\x73\x70\x61\x6e\x3e\x20\x73\x74\
\x61\x74\x65\x73\x2e\x20\x4f\x74\x68\x65\x72\x77\x69\x73\x65\x20\
\x69\x74\x20\x77\x69\x6c\x6c\x20\x64\x69\x73\x70\x6c\x61\x79\x20\
\x6f\x6e\x65\x20\x6f\x66\x20\x61\x20\x6e\x75\x6d\x62\x65\x72\x20\
\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x73\x20\x66\x6f\x72\x20\x77\
\x68\x69\x63\x68\x20\x53\x74\x61\x6e\x64\x62\x79\x20\x69\x73\x20\
\x6e\x6f\x74\x20\x65\x6e\x61\x62\x6c\x65\x64\x2e\x20\x44\x75\x72\
\x69\x6e\x67\x20\x6e\x6f\x72\x6d\x61\x6c\x20\x6f\x70\x65\x72\x61\
\x74\x69\x6f\x6e\x20\x77\x68\x65\x72\x65\x20\x6d\x61\x67\x6e\x65\
\x74\x73\x20\x61\x72\x65\x20\x61\x74\x20\x74\x68\x65\x69\x72\x20\
\x6e\x6f\x6d\x69\x6e\x61\x6c\x20\x76\x61\x6c\x75\x65\x73\x2c\x20\
\x69\x2e\x65\x2e\x2c\x20\x61\x62\x6f\x76\x65\x20\x74\x68\x65\x69\
\x72\x20\x73\x74\x61\x6e\x64\x62\x79\x20\x72\x65\x66\x65\x72\x65\
\x6e\x63\x65\x20\x76\x61\x6c\x75\x65\x73\x2c\x20\x74\x68\x69\x73\
\x20\x77\x69\x6c\x6c\x20\x64\x69\x73\x70\x6c\x61\x79\x20\x22\x4d\
\x41\x47\x4e\x45\x54\x53\x5f\x41\x42\x4f\x56\x45\x5f\x52\x45\x46\
\x22\x2e\x20\x20\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\
\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x4f\x4e\x20\x6f\x72\x20\x53\
\x74\x61\x6e\x64\x62\x79\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\
\x53\x54\x41\x54\x45\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x44\
\x69\x73\x70\x6c\x61\x79\x73\x20\x22\x53\x54\x41\x4e\x44\x42\x59\
\x22\x20\x77\x68\x65\x6e\x20\x65\x6e\x65\x72\x67\x79\x20\x73\x61\
\x76\x69\x6e\x67\x20\x61\x63\x63\x6f\x75\x6e\x74\x69\x6e\x67\x20\
\x69\x73\x20\x65\x6e\x61\x62\x6c\x65\x64\x2c\x20\x65\x6c\x73\x65\
\x20\x4f\x4e\x20\x28\x65\x6e\x65\x72\x67\x79\x20\x73\x61\x76\x69\
\x6e\x67\x20\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x73\x20\x68\x61\
\x76\x65\x20\x6e\x6f\x74\x20\x62\x65\x65\x6e\x20\x6d\x65\x74\x29\
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\
\x61\x62\x6c\x65\x3e\x0a\x3c\x62\x72\x3e\x3c\x62\x72\x3e\x0a\x45\
\x6e\x75\x6d\x65\x72\x61\x74\x65\x64\x20\x76\x61\x6c\x75\x65\x73\
\x20\x66\x6f\x72\x20\x53\x45\x51\x2d\x53\x54\x41\x54\x45\x20\x28\
\x6e\x6f\x74\x20\x61\x6c\x6c\x20\x73\x74\x61\x74\x65\x73\x20\x6d\
\x61\x79\x20\x68\x61\x76\x65\x20\x6e\x65\x63\x65\x73\x73\x61\x72\
\x69\x6c\x79\x20\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\
\x6e\x74\x65\x64\x29\x3a\x3c\x62\x72\x3e\x0a\x27\x46\x45\x45\x44\
\x42\x41\x43\x4b\x5f\x4f\x46\x46\x27\x2c\x20\x27\x46\x45\x45\x44\
\x42\x41\x43\x4b\x5f\x4f\x4e\x27\x2c\x20\x3c\x73\x70\x61\x6e\x20\
\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\
\x65\x65\x6e\x3b\x22\x3e\x27\x52\x45\x41\x44\x59\x5f\x46\x4f\x52\
\x5f\x45\x56\x45\x4e\x54\x27\x3c\x2f\x73\x70\x61\x6e\x3e\x2c\x3c\
\x62\x72\x3e\x0a\x20\x20\x27\x53\x48\x49\x46\x54\x5f\x54\x59\x50\
\x45\x5f\x4f\x4b\x27\x2c\x20\x27\x53\x48\x49\x46\x54\x5f\x54\x59\
\x50\x45\x5f\x4e\x4f\x54\x5f\x41\x50\x50\x4c\x49\x43\x41\x42\x4c\
\x45\x27\x2c\x3c\x62\x72\x3e\x0a\x20\x20\x27\x49\x5f\x42\x45\x4c\
\x4f\x57\x5f\x54\x48\x52\x45\x53\x48\x4f\x4c\x44\x27\x2c\x20\x27\
\x49\x5f\x41\x42\x4f\x56\x45\x5f\x54\x48\x52\x45\x53\x48\x4f\x4c\
\x44\x27\x2c\x20\x3c\x62\x72\x3e\x0a\x20\x20\x27\x4d\x41\x47\x4e\
\x45\x54\x53\x5f\x42\x45\x4c\x4f\x57\x5f\x52\x45\x46\x27\x2c\x20\
\x27\x4d\x41\x47\x4e\x45\x54\x53\x5f\x41\x42\x4f\x56\x45\x5f\x52\
\x45\x46\x27\x2c\x20\x3c\x62\x72\x3e\x0a\x20\x20\x27\x53\x4f\x55\
\x52\x43\x45\x49\x5f\x42\x45\x4c\x4f\x57\x5f\x54\x48\x52\x45\x53\
\x48\x4f\x4c\x44\x27\x2c\x20\x27\x53\x4f\x55\x52\x43\x45\x49\x5f\
\x41\x42\x4f\x56\x45\x5f\x54\x48\x52\x45\x53\x48\x4f\x4c\x44\x27\
\x2c\x0a\x20\x20\x3c\x62\x72\x3e\x20\x27\x42\x45\x41\x4d\x5f\x50\
\x41\x54\x48\x5f\x4f\x50\x45\x4e\x27\x2c\x20\x27\x42\x45\x41\x4d\
\x5f\x50\x41\x54\x48\x5f\x43\x4c\x4f\x53\x45\x44\x27\x2c\x20\x3c\
\x62\x72\x3e\x0a\x20\x20\x27\x43\x48\x41\x4e\x4e\x45\x4c\x53\x5f\
\x44\x49\x53\x43\x4f\x4e\x4e\x45\x43\x54\x45\x44\x27\x2c\x20\x27\
\x43\x48\x41\x4e\x4e\x45\x4c\x53\x5f\x43\x4f\x4e\x4e\x45\x43\x54\
\x45\x44\x27\x2c\x0a\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\
\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\
\x3b\x22\x3e\x27\x41\x4c\x4c\x4f\x57\x5f\x45\x4e\x45\x52\x47\x59\
\x5f\x53\x41\x56\x49\x4e\x47\x27\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\
\x20\x20\x0a\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\
\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\
\x48\x75\x73\x68\x20\x41\x63\x63\x6f\x75\x74\x69\x6e\x67\x3c\x2f\
\x68\x33\x3e\x0a\x20\x20\x54\x68\x65\x20\x61\x63\x63\x6f\x75\x6e\
\x74\x69\x6e\x67\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x6e\x65\x72\
\x67\x79\x20\x73\x61\x76\x65\x64\x20\x66\x6f\x72\x20\x61\x20\x67\
\x69\x76\x65\x6e\x20\x69\x73\x20\x79\x65\x61\x72\x20\x69\x73\x20\
\x74\x6f\x20\x62\x65\x20\x72\x65\x63\x6f\x72\x64\x65\x64\x2e\x0a\
\x20\x20\x41\x74\x20\x74\x68\x65\x20\x65\x6e\x64\x20\x6f\x66\x20\
\x74\x68\x65\x20\x63\x61\x6c\x65\x6e\x64\x61\x72\x20\x79\x65\x61\
\x72\x2c\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\
\x61\x72\x69\x61\x62\x6c\x65\x73\x20\x68\x6f\x6c\x64\x69\x6e\x67\
\x20\x74\x68\x65\x20\x70\x6f\x77\x65\x72\x0a\x20\x20\x73\x61\x76\
\x65\x64\x20\x76\x61\x6c\x75\x65\x73\x20\x61\x72\x65\x20\x74\x6f\
\x20\x62\x65\x20\x72\x65\x73\x65\x74\x20\x74\x6f\x20\x7a\x65\x72\
\x6f\x2e\x20\x54\x68\x69\x73\x20\x69\x73\x20\x61\x63\x63\x6f\x6d\
\x70\x6c\x69\x73\x68\x65\x64\x20\x74\x68\x72\x6f\x75\x67\x68\x20\
\x74\x68\x65\x20\x22\x52\x65\x73\x65\x74\x20\x41\x63\x63\x6f\x75\
\x6e\x74\x22\x20\x62\x75\x74\x74\x6f\x6e\x2e\x0a\x20\x20\x54\x68\
\x69\x73\x20\x61\x63\x74\x69\x6f\x6e\x20\x61\x6c\x73\x6f\x20\x72\
\x65\x63\x6f\x72\x64\x73\x20\x74\x68\x65\x20\x65\x6e\x65\x72\x67\
\x79\x20\x73\x61\x76\x65\x64\x20\x76\x61\x6c\x75\x65\x20\x69\x6e\
\x20\x65\x6c\x6f\x67\x62\x6f\x6f\x6b\x2e\x0a\x0a\x20\x20\x20\x3c\
\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\
\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x4c\x61\x73\x74\x20\x50\
\x6f\x77\x65\x72\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x54\x68\x69\
\x73\x20\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x61\x6c\x6c\x6f\
\x77\x73\x20\x74\x68\x65\x20\x65\x78\x70\x65\x72\x74\x20\x75\x73\
\x65\x72\x20\x74\x6f\x20\x72\x65\x73\x65\x74\x20\x74\x68\x65\x20\
\x49\x6e\x69\x74\x69\x61\x6c\x20\x50\x6f\x77\x65\x72\x20\x69\x6e\
\x20\x22\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\x76\x69\
\x65\x77\x22\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\x6e\x20\
\x73\x65\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x69\x74\x73\x20\x64\
\x65\x66\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x2c\x20\x73\x68\
\x6f\x75\x6c\x64\x20\x73\x75\x63\x68\x20\x61\x20\x6e\x65\x65\x64\
\x20\x65\x76\x65\x72\x20\x68\x61\x70\x68\x61\x7a\x61\x72\x64\x6c\
\x79\x20\x61\x72\x69\x73\x65\x20\x77\x68\x69\x6c\x65\x20\x74\x68\
\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x53\x74\x61\x74\x65\
\x20\x4d\x61\x63\x68\x69\x6e\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\
\x44\x69\x73\x70\x6c\x61\x79\x73\x20\x74\x68\x65\x20\x73\x74\x61\
\x74\x75\x73\x20\x6f\x66\x20\x74\x68\x65\x20\x73\x74\x61\x74\x65\
\x20\x6d\x61\x63\x68\x69\x6e\x65\x20\x73\x65\x71\x75\x65\x6e\x63\
\x65\x72\x2e\x0a\x20\x20\x3c\x74\x61\x62\x6c\x65\x3e\x0a\x20\x20\
\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x52\x65\x73\x65\x74\
\x3a\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x20\x53\x45\x51\x2d\
\x4f\x4e\x4f\x46\x46\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\x74\x64\
\x3e\x3c\x74\x64\x3e\x52\x65\x73\x74\x61\x72\x74\x73\x20\x74\x68\
\x65\x20\x53\x4d\x2e\x20\x3c\x65\x6d\x3e\x50\x72\x65\x73\x73\x20\
\x61\x6e\x64\x20\x68\x6f\x6c\x64\x20\x62\x75\x74\x74\x6f\x6e\x20\
\x66\x6f\x72\x20\x61\x74\x20\x6c\x65\x61\x73\x74\x20\x32\x20\x73\
\x65\x63\x6f\x6e\x64\x73\x20\x74\x6f\x20\x65\x6e\x73\x75\x72\x65\
\x20\x74\x68\x65\x20\x69\x6e\x69\x74\x69\x61\x6c\x20\x22\x4f\x46\
\x46\x22\x20\x69\x6e\x73\x74\x72\x75\x63\x74\x69\x6f\x6e\x20\x69\
\x73\x20\x63\x61\x70\x74\x75\x72\x65\x64\x20\x62\x79\x20\x74\x68\
\x65\x20\x53\x4d\x2e\x3c\x2f\x65\x6d\x3e\x20\x49\x66\x20\x74\x68\
\x65\x20\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x69\x6e\x20\
\x45\x6e\x65\x72\x67\x79\x20\x53\x61\x76\x69\x6e\x67\x20\x6d\x6f\
\x64\x65\x2c\x20\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\x68\x69\x63\
\x68\x20\x74\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\x22\x20\x62\
\x75\x74\x74\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x4d\x61\x67\
\x6e\x65\x74\x20\x70\x61\x6e\x65\x6c\x20\x69\x73\x20\x64\x69\x73\
\x65\x6e\x61\x62\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\x3c\x68\x33\
\x64\x65\x2c\x20\x74\x68\x69\x73\x20\x61\x63\x74\x69\x6f\x6e\x20\
\x74\x72\x61\x6e\x73\x66\x65\x72\x73\x20\x74\x68\x65\x20\x63\x75\
\x72\x72\x65\x6e\x74\x6c\x79\x20\x73\x61\x76\x65\x64\x20\x61\x6d\
\x6f\x75\x6e\x74\x20\x66\x72\x6f\x6d\x20\x22\x53\x61\x76\x69\x6e\
\x67\x22\x20\x74\x6f\x20\x22\x54\x6f\x74\x20\x53\x61\x76\x69\x6e\
\x67\x22\x2c\x20\x61\x6e\x64\x20\x72\x65\x73\x74\x61\x72\x74\x73\
\x20\x74\x68\x65\x20\x22\x54\x69\x6d\x65\x20\x69\x6e\x20\x53\x61\
\x76\x69\x6e\x67\x20\x4d\x6f\x64\x65\x22\x20\x66\x72\x6f\x6d\x20\
\x7a\x65\x72\x6f\x2e\x20\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\
\x0a\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x53\x4d\x3a\
\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x53\x45\x51\x2d\x4f\x4e\x4f\
\x46\x46\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x20\x20\x53\
\x74\x61\x74\x75\x73\x20\x28\x22\x4f\x46\x46\x22\x2c\x20\x22\x4f\
\x4e\x22\x29\x20\x6f\x66\x20\x74\x68\x65\x20\x53\x74\x61\x74\x65\
\x20\x4d\x61\x63\x68\x69\x6e\x65\x2e\x20\x53\x68\x6f\x75\x6c\x64\
\x20\x61\x6c\x77\x61\x79\x73\x20\x62\x65\x20\x22\x4f\x4e\x22\x2e\
\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x20\x20\x20\
\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x53\x65\x71\x75\x65\x6e\x63\x65\
\x72\x20\x53\x74\x61\x74\x65\x20\x26\x6e\x62\x73\x70\x3b\x3c\x2f\
\x74\x64\x3e\x20\x3c\x74\x64\x3e\x53\x45\x51\x2d\x53\x54\x41\x54\
\x45\x20\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x53\x65\x65\x20\
\x62\x65\x6c\x6f\x77\x20\x66\x6f\x72\x20\x74\x68\x65\x20\x65\x6e\
\x75\x6d\x65\x72\x61\x74\x65\x64\x20\x76\x61\x6c\x75\x65\x73\x2e\
\x20\x57\x68\x65\x6e\x20\x69\x6e\x20\x65\x6e\x65\x72\x67\x79\x20\
\x73\x61\x76\x69\x6e\x67\x20\x6d\x6f\x64\x65\x2c\x20\x74\x68\x69\
\x73\x20\x70\x61\x72\x61\x6d\x65\x74\x65\x72\x20\x77\x69\x6c\x6c\
\x20\x6f\x73\x63\x69\x6c\x6c\x61\x74\x65\x20\x62\x65\x74\x77\x65\
\x65\x6e\x20\x74\x68\x65\x0a\x09\x20\x3c\x73\x70\x61\x6e\x20\x73\
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\
\x65\x6e\x3b\x22\x3e\x22\x52\x45\x41\x44\x59\x5f\x46\x4f\x52\x5f\
\x45\x56\x45\x4e\x54\x22\x3c\x2f\x73\x70\x61\x6e\x3e\x20\x61\x6e\
\x64\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\
\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\x22\x41\
\x4c\x4c\x4f\x57\x5f\x45\x4e\x45\x52\x47\x59\x5f\x53\x41\x56\x49\
\x4e\x47\x22\x3c\x2f\x73\x70\x61\x6e\x3e\x20\x73\x74\x61\x74\x65\
\x73\x2e\x20\x4f\x74\x68\x65\x72\x77\x69\x73\x65\x20\x69\x74\x20\
\x77\x69\x6c\x6c\x20\x64\x69\x73\x70\x6c\x61\x79\x20\x6f\x6e\x65\
\x20\x6f\x66\x20\x61\x20\x6e\x75\x6d\x62\x65\x72\x20\x63\x6f\x6e\
\x64\x69\x74\x69\x6f\x6e\x73\x20\x66\x6f\x72\x20\x77\x68\x69\x63\
\x68\x20\x53\x74\x61\x6e\x64\x62\x79\x20\x69\x73\x20\x6e\x6f\x74\
\x20\x65\x6e\x61\x62\x6c\x65\x64\x2e\x20\x44\x75\x72\x69\x6e\x67\
\x20\x6e\x6f\x72\x6d\x61\x6c\x20\x6f\x70\x65\x72\x61\x74\x69\x6f\
\x6e\x20\x77\x68\x65\x72\x65\x20\x6d\x61\x67\x6e\x65\x74\x73\x20\
\x61\x72\x65\x20\x61\x74\x20\x74\x68\x65\x69\x72\x20\x6e\x6f\x6d\
\x69\x6e\x61\x6c\x20\x76\x61\x6c\x75\x65\x73\x2c\x20\x69\x2e\x65\
\x2e\x2c\x20\x61\x62\x6f\x76\x65\x20\x74\x68\x65\x69\x72\x20\x73\
\x74\x61\x6e\x64\x62\x79\x20\x72\x65\x66\x65\x72\x65\x6e\x63\x65\
\x20\x76\x61\x6c\x75\x65\x73\x2c\x20\x74\x68\x69\x73\x20\x77\x69\
\x6c\x6c\x20\x64\x69\x73\x70\x6c\x61\x79\x20\x22\x4d\x41\x47\x4e\
\x45\x54\x53\x5f\x41\x42\x4f\x56\x45\x5f\x52\x45\x46\x22\x2e\x20\
\x20\x3c\x2f\x74\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x74\
\x72\x3e\x3c\x74\x64\x3e\x4f\x4e\x20\x6f\x72\x20\x53\x74\x61\x6e\
\x64\x62\x79\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x53\x54\x41\
\x54\x45\x3c\x2f\x74\x64\x3e\x20\x3c\x74\x64\x3e\x44\x69\x73\x70\
\x6c\x61\x79\x73\x20\x22\x53\x54\x41\x4e\x44\x42\x59\x22\x20\x77\
\x68\x65\x6e\x20\x65\x6e\x65\x72\x67\x79\x20\x73\x61\x76\x69\x6e\
\x67\x20\x61\x63\x63\x6f\x75\x6e\x74\x69\x6e\x67\x20\x69\x73\x20\
\x65\x6e\x61\x62\x6c\x65\x64\x2c\x20\x65\x6c\x73\x65\x20\x4f\x4e\
\x20\x28\x65\x6e\x65\x72\x67\x79\x20\x73\x61\x76\x69\x6e\x67\x20\
\x63\x6f\x6e\x64\x69\x74\x69\x6f\x6e\x73\x20\x68\x61\x76\x65\x20\
\x6e\x6f\x74\x20\x62\x65\x65\x6e\x20\x6d\x65\x74\x29\x3c\x2f\x74\
\x64\x3e\x3c\x2f\x74\x72\x3e\x0a\x20\x20\x3c\x2f\x74\x61\x62\x6c\
\x65\x3e\x0a\x3c\x62\x72\x3e\x3c\x62\x72\x3e\x0a\x45\x6e\x75\x6d\
\x65\x72\x61\x74\x65\x64\x20\x76\x61\x6c\x75\x65\x73\x20\x66\x6f\
\x72\x20\x53\x45\x51\x2d\x53\x54\x41\x54\x45\x20\x28\x6e\x6f\x74\
\x20\x61\x6c\x6c\x20\x73\x74\x61\x74\x65\x73\x20\x6d\x61\x79\x20\
\x68\x61\x76\x65\x20\x6e\x65\x63\x65\x73\x73\x61\x72\x69\x6c\x79\
\x20\x62\x65\x65\x6e\x20\x69\x6d\x70\x6c\x65\x6d\x65\x6e\x74\x65\
\x64\x29\x3a\x3c\x62\x72\x3e\x0a\x27\x46\x45\x45\x44\x42\x41\x43\
\x4b\x5f\x4f\x46\x46\x27\x2c\x20\x27\x46\x45\x45\x44\x42\x41\x43\
\x4b\x5f\x4f\x4e\x27\x2c\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\
\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\
\x3b\x22\x3e\x27\x52\x45\x41\x44\x59\x5f\x46\x4f\x52\x5f\x45\x56\
\x45\x4e\x54\x27\x3c\x2f\x73\x70\x61\x6e\x3e\x2c\x3c\x62\x72\x3e\
\x0a\x20\x20\x27\x53\x48\x49\x46\x54\x5f\x54\x59\x50\x45\x5f\x4f\
\x4b\x27\x2c\x20\x27\x53\x48\x49\x46\x54\x5f\x54\x59\x50\x45\x5f\
\x4e\x4f\x54\x5f\x41\x50\x50\x4c\x49\x43\x41\x42\x4c\x45\x27\x2c\
\x3c\x62\x72\x3e\x0a\x20\x20\x27\x49\x5f\x42\x45\x4c\x4f\x57\x5f\
\x54\x48\x52\x45\x53\x48\x4f\x4c\x44\x27\x2c\x20\x27\x49\x5f\x41\
\x42\x4f\x56\x45\x5f\x54\x48\x52\x45\x53\x48\x4f\x4c\x44\x27\x2c\
\x20\x3c\x62\x72\x3e\x0a\x20\x20\x27\x4d\x41\x47\x4e\x45\x54\x53\
\x5f\x42\x45\x4c\x4f\x57\x5f\x52\x45\x46\x27\x2c\x20\x27\x4d\x41\
\x47\x4e\x45\x54\x53\x5f\x41\x42\x4f\x56\x45\x5f\x52\x45\x46\x27\
\x2c\x20\x3c\x62\x72\x3e\x0a\x20\x20\x27\x53\x4f\x55\x52\x43\x45\
\x49\x5f\x42\x45\x4c\x4f\x57\x5f\x54\x48\x52\x45\x53\x48\x4f\x4c\
\x44\x27\x2c\x20\x27\x53\x4f\x55\x52\x43\x45\x49\x5f\x41\x42\x4f\
\x56\x45\x5f\x54\x48\x52\x45\x53\x48\x4f\x4c\x44\x27\x2c\x0a\x20\
\x20\x3c\x62\x72\x3e\x20\x27\x42\x45\x41\x4d\x5f\x50\x41\x54\x48\
\x5f\x4f\x50\x45\x4e\x27\x2c\x20\x27\x42\x45\x41\x4d\x5f\x50\x41\
\x54\x48\x5f\x43\x4c\x4f\x53\x45\x44\x27\x2c\x20\x3c\x62\x72\x3e\
\x0a\x20\x20\x27\x43\x48\x41\x4e\x4e\x45\x4c\x53\x5f\x44\x49\x53\
\x43\x4f\x4e\x4e\x45\x43\x54\x45\x44\x27\x2c\x20\x27\x43\x48\x41\
\x4e\x4e\x45\x4c\x53\x5f\x43\x4f\x4e\x4e\x45\x43\x54\x45\x44\x27\
\x2c\x0a\x20\x20\x3c\x73\x70\x61\x6e\x20\x73\x74\x79\x6c\x65\x3d\
\x22\x63\x6f\x6c\x6f\x72\x3a\x20\x67\x72\x65\x65\x6e\x3b\x22\x3e\
\x27\x41\x4c\x4c\x4f\x57\x5f\x45\x4e\x45\x52\x47\x59\x5f\x53\x41\
\x56\x49\x4e\x47\x27\x3c\x2f\x73\x70\x61\x6e\x3e\x0a\x20\x20\x0a\
\x20\x20\x3c\x68\x33\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\
\x6f\x72\x3a\x23\x37\x62\x36\x38\x65\x65\x3b\x22\x3e\x48\x75\x73\
\x68\x20\x41\x63\x63\x6f\x75\x6e\x74\x69\x6e\x67\x3c\x2f\x68\x33\
\x3e\x0a\x20\x20\x54\x68\x65\x20\x61\x63\x63\x6f\x75\x6e\x74\x69\
\x6e\x67\x20\x6f\x66\x20\x74\x68\x65\x20\x65\x6e\x65\x72\x67\x79\
\x20\x73\x61\x76\x65\x64\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\
\x65\x6e\x20\x69\x73\x20\x79\x65\x61\x72\x20\x69\x73\x20\x74\x6f\
\x20\x62\x65\x20\x72\x65\x63\x6f\x72\x64\x65\x64\x2e\x0a\x20\x20\
\x41\x74\x20\x74\x68\x65\x20\x65\x6e\x64\x20\x6f\x66\x20\x74\x68\
\x65\x20\x63\x61\x6c\x65\x6e\x64\x61\x72\x20\x79\x65\x61\x72\x2c\
\x20\x74\x68\x65\x20\x70\x72\x6f\x63\x65\x73\x73\x20\x76\x61\x72\
\x69\x61\x62\x6c\x65\x73\x20\x68\x6f\x6c\x64\x69\x6e\x67\x20\x74\
\x68\x65\x20\x70\x6f\x77\x65\x72\x0a\x20\x20\x73\x61\x76\x65\x64\
\x20\x76\x61\x6c\x75\x65\x73\x20\x61\x72\x65\x20\x74\x6f\x20\x62\
\x65\x20\x72\x65\x73\x65\x74\x20\x74\x6f\x20\x7a\x65\x72\x6f\x2e\
\x20\x54\x68\x69\x73\x20\x69\x73\x20\x61\x63\x63\x6f\x6d\x70\x6c\
\x69\x73\x68\x65\x64\x20\x74\x68\x72\x6f\x75\x67\x68\x20\x74\x68\
\x65\x20\x22\x52\x65\x73\x65\x74\x20\x41\x63\x63\x6f\x75\x6e\x74\
\x22\x20\x62\x75\x74\x74\x6f\x6e\x2e\x0a\x20\x20\x54\x68\x69\x73\
\x20\x61\x63\x74\x69\x6f\x6e\x20\x61\x6c\x73\x6f\x20\x72\x65\x63\
\x6f\x72\x64\x73\x20\x74\x68\x65\x20\x65\x6e\x65\x72\x67\x79\x20\
\x73\x61\x76\x65\x64\x20\x76\x61\x6c\x75\x65\x20\x69\x6e\x20\x65\
\x6c\x6f\x67\x62\x6f\x6f\x6b\x2e\x0a\x0a\x20\x20\x20\x3c\x68\x33\
\x20\x73\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\
\x62\x36\x38\x65\x65\x3b\x22\x3e\x48\x55\x53\x48\x21\x20\x49\x6d\
\x61\x67\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\
\x6c\x65\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\
\x3e\x0a\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\
\x48\x75\x73\x68\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\
\x39\x30\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\
\x6e\x62\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\
\x20\x20\x20\x49\x6e\x73\x70\x69\x72\x65\x64\x20\x62\x79\x20\x44\
\x61\x64\x61\x20\x41\x6e\x74\x65\x20\x50\x6f\x72\x74\x61\x73\x2c\
\x20\x61\x72\x67\x75\x61\x62\x6c\x79\x20\x53\x77\x69\x74\x7a\x65\
\x72\x6c\x61\x6e\x64\x27\x73\x20\x67\x72\x65\x61\x74\x65\x73\x74\
\x20\x50\x6f\x70\x2f\x52\x6f\x63\x6b\x20\x62\x61\x6e\x64\x21\x20\
\x44\x6f\x20\x67\x69\x76\x65\x20\x74\x68\x65\x6d\x20\x61\x20\x6c\
\x69\x73\x74\x65\x6e\x2e\x0a\x20\x20\x20\x54\x68\x65\x69\x72\x20\
\x6d\x75\x73\x69\x63\x20\x61\x6e\x64\x20\x6c\x79\x72\x69\x63\x73\
\x20\x61\x72\x65\x20\x61\x77\x65\x73\x6f\x6d\x65\x21\x3c\x2f\x74\
\x64\x3e\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\
\x70\x3e\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\
\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x62\x36\x38\x65\x65\x3b\x22\x3e\x4c\x61\x73\x74\x20\x50\x6f\x77\
\x65\x72\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x54\x68\x69\x73\x20\
\x73\x75\x62\x2d\x70\x61\x6e\x65\x6c\x20\x61\x6c\x6c\x6f\x77\x73\
\x20\x74\x68\x65\x20\x65\x78\x70\x65\x72\x74\x20\x75\x73\x65\x72\
\x20\x74\x6f\x20\x72\x65\x73\x65\x74\x20\x74\x68\x65\x20\x49\x6e\
\x69\x74\x69\x61\x6c\x20\x50\x6f\x77\x65\x72\x20\x69\x6e\x20\x22\
\x53\x61\x76\x69\x6e\x67\x73\x20\x4f\x76\x65\x72\x76\x69\x65\x77\
\x22\x20\x66\x6f\x72\x20\x61\x20\x67\x69\x76\x65\x6e\x20\x73\x65\
\x63\x74\x69\x6f\x6e\x20\x74\x6f\x20\x69\x74\x73\x20\x64\x65\x66\
\x61\x75\x6c\x74\x20\x76\x61\x6c\x75\x65\x2c\x20\x73\x68\x6f\x75\
\x6c\x64\x20\x73\x75\x63\x68\x20\x61\x20\x6e\x65\x65\x64\x20\x65\
\x76\x65\x72\x20\x68\x61\x70\x68\x61\x7a\x61\x72\x64\x6c\x79\x20\
\x61\x72\x69\x73\x65\x20\x77\x68\x69\x6c\x65\x20\x74\x68\x65\x20\
\x73\x65\x63\x74\x69\x6f\x6e\x20\x69\x73\x20\x69\x6e\x20\x45\x6e\
\x65\x72\x67\x79\x20\x53\x61\x76\x69\x6e\x67\x20\x6d\x6f\x64\x65\
\x2c\x20\x61\x6e\x64\x20\x66\x6f\x72\x20\x77\x68\x69\x63\x68\x20\
\x74\x68\x65\x20\x22\x55\x70\x64\x61\x74\x65\x22\x20\x62\x75\x74\
\x74\x6f\x6e\x20\x69\x6e\x20\x74\x68\x65\x20\x4d\x61\x67\x6e\x65\
\x74\x20\x70\x61\x6e\x65\x6c\x20\x69\x73\x20\x64\x69\x73\x65\x6e\
\x61\x62\x6c\x65\x64\x2e\x0a\x0a\x20\x20\x20\x3c\x68\x33\x20\x73\
\x74\x79\x6c\x65\x3d\x22\x63\x6f\x6c\x6f\x72\x3a\x23\x37\x62\x36\
\x38\x65\x65\x3b\x22\x3e\x48\x55\x53\x48\x21\x20\x49\x6d\x61\x67\
\x65\x3c\x2f\x68\x33\x3e\x0a\x20\x20\x20\x3c\x74\x61\x62\x6c\x65\
\x3e\x0a\x20\x20\x20\x20\x20\x3c\x74\x72\x3e\x3c\x74\x64\x3e\x0a\
\x20\x20\x20\x3c\x69\x6d\x67\x20\x73\x72\x63\x3d\x22\x3a\x48\x75\
\x73\x68\x2e\x6a\x70\x67\x22\x20\x77\x69\x64\x74\x68\x3d\x39\x30\
\x20\x68\x65\x69\x67\x68\x74\x3d\x39\x30\x2f\x3e\x20\x26\x6e\x62\
\x73\x70\x3b\x20\x3c\x2f\x74\x64\x3e\x3c\x74\x64\x3e\x0a\x20\x20\
\x20\x49\x6e\x73\x70\x69\x72\x65\x64\x20\x62\x79\x20\x44\x61\x64\
\x61\x20\x41\x6e\x74\x65\x20\x50\x6f\x72\x74\x61\x73\x2c\x20\x61\
\x72\x67\x75\x61\x62\x6c\x79\x20\x53\x77\x69\x74\x7a\x65\x72\x6c\
\x61\x6e\x64\x27\x73\x20\x67\x72\x65\x61\x74\x65\x73\x74\x20\x50\
\x6f\x70\x2f\x52\x6f\x63\x6b\x20\x62\x61\x6e\x64\x21\x20\x44\x6f\
\x20\x67\x69\x76\x65\x20\x74\x68\x65\x6d\x20\x61\x20\x6c\x69\x73\
\x74\x65\x6e\x2e\x0a\x20\x20\x20\x54\x68\x65\x69\x72\x20\x6d\x75\
\x73\x69\x63\x20\x61\x6e\x64\x20\x6c\x79\x72\x69\x63\x73\x20\x61\
\x72\x65\x20\x61\x77\x65\x73\x6f\x6d\x65\x21\x3c\x2f\x74\x64\x3e\
\x0a\x20\x20\x20\x3c\x2f\x74\x61\x62\x6c\x65\x3e\x0a\x3c\x70\x3e\
\x0a\x3c\x2f\x70\x3e\x0a\x20\x20\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\
\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\x80\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
@@ -543,36 +569,18 @@ qt_resource_data = b"\
\x70\x3e\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x65\x74\x63\x2e\x2e\x2e\
\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x70\x3e\x0a\
\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x34\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x35\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
\x00\x00\x00\xa7\
\x3c\
\x68\x74\x6d\x6c\x3e\x3c\x68\x65\x61\x64\x3e\x3c\x74\x69\x74\x6c\
\x65\x3e\x57\x65\x62\x20\x48\x65\x6c\x70\x3c\x2f\x74\x69\x74\x6c\
\x65\x3e\x3c\x2f\x68\x65\x61\x64\x3e\x0a\x3c\x62\x6f\x64\x79\x3e\
\x0a\x0a\x3c\x70\x3e\x3c\x62\x3e\x50\x61\x67\x65\x20\x32\x20\x6f\
\x66\x20\x77\x65\x62\x20\x68\x65\x6c\x70\x3c\x2f\x62\x3e\x3c\x2f\
\x70\x3e\x0a\x3c\x70\x3e\x20\x20\x3c\x61\x20\x68\x72\x65\x66\x3d\
\x22\x70\x61\x67\x65\x33\x2e\x68\x74\x6d\x6c\x22\x3e\x20\x4e\x65\
\x78\x74\x3c\x2f\x61\x3e\x3c\x2f\x70\x3e\x0a\x3c\x70\x3e\x3c\x62\
\x3e\x65\x74\x63\x2e\x2e\x2e\x3c\x2f\x62\x3e\x20\x65\x74\x63\x2e\
\x2e\x2e\x3c\x2f\x70\x3e\x0a\x3c\x2f\x62\x6f\x64\x79\x3e\x3c\x2f\
\x68\x74\x6d\x6c\x3e\x0a\
"
qt_resource_name = b"\
\x00\x0a\
\x08\x7a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x5a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x6a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x33\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
@@ -588,41 +596,33 @@ qt_resource_name = b"\
\x08\x8a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x35\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x7a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x34\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
\x00\x0a\
\x08\x5a\x34\x9c\
\x00\x70\
\x00\x61\x00\x67\x00\x65\x00\x32\x00\x2e\x00\x68\x00\x74\x00\x6d\x00\x6c\
"
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\x01\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\x84\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x20\xd9\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x55\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\xa9\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x02\xac\
"
qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x02\x01\
\x00\x00\x01\x8d\xc0\x76\x5e\xc2\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\x84\
\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x01\x00\x00\x00\xab\
\x00\x00\x01\x8d\xc0\x76\x5e\xc3\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x8d\xc0\x76\x5e\xc5\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x20\xd9\
\x00\x00\x01\x8d\xc0\x76\x5e\xc7\
\x00\x00\x00\x4e\x00\x00\x00\x00\x00\x01\x00\x00\x20\x55\
\x00\x00\x01\x8d\xc0\x76\x5e\xc8\
\x00\x00\x00\x34\x00\x00\x00\x00\x00\x01\x00\x00\x01\x56\
\x00\x00\x01\x8d\xf0\x0f\x52\x6d\
\x00\x00\x01\x8d\xc0\x76\x5e\xc5\
\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x8d\xc0\x76\x5e\xc7\
\x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00\x21\xa9\
\x00\x00\x01\x8d\xc0\x76\x5e\xc8\
\x00\x00\x00\x68\x00\x00\x00\x00\x00\x01\x00\x00\x02\xac\
\x00\x00\x01\x8d\xf0\x21\x14\x0e\
"
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
File diff suppressed because it is too large Load Diff
+495 -72
View File
@@ -13,13 +13,16 @@ from datetime import timedelta
#from qtpy import QtCore, QtGui
from qtpy.QtGui import QColor, QPixmap
from qtpy.QtCore import __version__ as QT_VERSION_STR
from qtpy.QtCore import QEventLoop, Qt, QTimer, Slot
from qtpy.QtCore import QEventLoop, QPoint, Qt, QTimer, Slot
from qtpy.QtWidgets import (
QApplication, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QMessageBox,
QPushButton, QTabBar, QTabWidget, QTableWidgetItem, QTextEdit, QVBoxLayout,
QWidget)
QApplication, QGridLayout, QGroupBox, QHBoxLayout, QInputDialog, QLabel,
QLineEdit, QMessageBox, QPushButton, QTabBar, QTabWidget, QTableWidgetItem,
QTextEdit, QVBoxLayout, QWidget)
from common.packages import elog
try:
import elog
except:
from common.packages import elog
from apps4ops.bdbase.utils import _line
@@ -28,6 +31,8 @@ from caqtwidgets.pvwidgets import (
CAQLabel, CAQLineEdit, CAQMessageButton, CAQTableWidget, CAQTextEntry,
QHLine)
#from src.passwordedit import PasswordDialog, PasswordMessage
_pymodule = os.path.basename(__file__)
@@ -49,9 +54,29 @@ class AppGui(QWidget):
self.send_to_log_window = self.parent.send_to_log_window
self.show_log_message = self.parent.show_log_message
self.statusbar = self.parent.statusbar
self.settings = self.parent.settings
self.gui_frame = self.parent.gui_frame
self.gui_header = self.parent.gui_header
self.simple_standby = None
self.simple_awake = None
self.simple_status = None
self.simple_groupbox = None
self.groupbox_awake_sss = self.settings.data[
'statusStyleSheet']['awake-qgroupbox']
self.groupbox_standby_sss = self.settings.data[
'statusStyleSheet']['standby-qgroupbox']
self.label_awake_sss = self.settings.data[
'statusStyleSheet']['awake-qlabel']
self.label_standby_sss = self.settings.data[
'statusStyleSheet']['standby-qlabel']
self.awake_text = self.settings.data[
'statusStyleSheet']['awake-text']
self.standby_text = self.settings.data[
'statusStyleSheet']['standby-text']
self.font_gui = self.parent.gui_frame.font_gui
self.input_parameters = self.parent.input_parameters
self.input_labels = self.parent.input_labels
@@ -69,19 +94,23 @@ class AppGui(QWidget):
self.gui_frame.central_tab_widget.tabBar().setTabText(1, "IOC")
self.expert_labels = self.parent.expert_labels
self.settings = self.parent.settings
self.lock = threading.Lock()
self.timer = QTimer()
self.timer.setSingleShot(True)
self.timer_blink = QTimer()
self.timer_blink.setSingleShot(True)
self.timer_blink.count = 0
self.obj_to_upper = bool(random.randint(1, 10) > 3)
self.table_sol_dict = {}
self.table_pwr_dict = {}
self.offtime_dict = {}
self.I_min = 1.0
self.I_min = 1.0 #0.09 for testing
self.with_rf = False
self.sec_state_list = ["ZIP2-HUSH:STATE", "ZIW2-HUSH:STATE",
@@ -92,16 +121,24 @@ class AppGui(QWidget):
self.cafe.open(["ZHIPA-HUSH:LASTPWR", "ZHIPA-HUSH:TOTPWR",
"ZHIPA-HUSH:LASTSAVE", "ZHIPA-HUSH:TOTSAVE"])
self.cafe.open(self.sec_state_list)
self.cafe.open("UCN:BEAMREQ:STATUS")
#self.cafe.open("UCNQ:BEAMREQ:STATUS")
self.cafe.openNowAndWait(0.1)
self.cafe.monitor("UCNQ:BEAMREQ:STATUS")
self.uncq_beam_req = self.cafe.getCache("UCNQ:BEAMREQ:STATUS")
if self.uncq_beam_req is None:
self.uncq_beam_req = "stopped"
self.beam_req_running = False \
if self.uncq_beam_req == "stopped" else True
#self.cafe.monitor("UCNQ:BEAMREQ:STATUS")
idx = self.settings.data["header"].index("IP2")
self.sectorI_dict = {}
for sector in self.settings.data["header"][idx:]:
self.sectorI_dict[sector] = 0
self.simple_sector_list = self.settings.data["header"][idx:]
self.sector_designated_magnet_standby_dict = {}
self.sector_designated_magnet_values_dict = {}
@@ -115,15 +152,35 @@ class AppGui(QWidget):
print(sector, self.sector_designated_magnet_standby_dict[sector])
status_wgt = self.group_sector_status()
self.gui_frame.measurement_layout.addWidget(
status_wgt, 2, 0, 2, 1, alignment=Qt.AlignTop) # | Qt.AlignHCenter)
wgt = self.group_sector_qtabwidget()
self.gui_frame.measurement_layout.addWidget(
wgt, 0, 1, 6, 3, alignment=Qt.AlignTop)
status_wgt = self.group_sector_status()
self.gui_frame.measurement_layout.addWidget(
status_wgt, 2, 0, 2, 1, alignment=Qt.AlignTop) # | Qt.AlignHCenter)
self.groupbox_simple_mode = self.group_simple_mode()
qgridlo = QGridLayout()
qgridlo.setContentsMargins(5, 30, 5, 10)
qgridlo.addWidget(self.groupbox_simple_mode, 0, 0, 1, 1, Qt.AlignCenter)
qgridlo.setAlignment(Qt.AlignTop | Qt.AlignHCenter)
qgridlo.setVerticalSpacing(10)
qwgt = QWidget()
qwgt.setLayout(qgridlo)
qwgt.setFixedWidth(1400)
qwgt.setFixedHeight(800)
self.gui_frame.central_tab_widget.insertTab(0, qwgt, "Skin")
self.gui_frame.central_tab_widget.setCurrentIndex(0)
self.gui_frame.results_wgt.setFixedWidth(1500)
self.gui_frame.results_wgt.setFixedHeight(860)
@@ -145,7 +202,7 @@ class AppGui(QWidget):
label.setFixedHeight(180)
label.setPixmap(pixmap)
label.setScaledContents(True)
self.gui_frame.results_layout.addWidget(
label, 0, 2, 1, 1, Qt.AlignLeft)
self.gui_frame.results_layout.setContentsMargins(10, 40, 10, 10)
@@ -158,8 +215,8 @@ class AppGui(QWidget):
ucn_line = ["PK1", "PK2", "UCN"]
sinq_line = ["PK1", "PK2", "SINQ"]
pk1_line = ["IW2"]
pk2_line = ["IW2"]
pk1_line = ["IW2", "PK1"]
pk2_line = ["IW2", "PK1", "PK2"]
for sector in self.settings.data["header"][idx:]:
gateway_indices = self.get_standby_index_list(sector)
@@ -172,22 +229,50 @@ class AppGui(QWidget):
idx].trigger_monitor_float.emit(
pvd.value[0], pvd.status, pvd.alarmSeverity)
def enable_disable_ucn(sect, sector_line, value):
def enable_disable_ucn(sect, sector_line, value):
self.sectorI_dict[sect] = value
'''
beam_req_running = True
beam_req_status = self.cafe.getCache("UCNQ:BEAMREQ:STATUS")
#print(" beam_req_status", beam_req_status, flush=True)
if beam_req_status is not None:
if beam_req_status == "stopped":
beam_req_running = False
def is_beam_req_running():
beam_req_running = True
beam_req_status = self.uncq_beam_req #self.cafe.getCache("UCNQ:BEAMREQ:STATUS")
if beam_req_status is not None:
if beam_req_status == "stopped":
beam_req_running = False
return beam_req_running
'''
for sector in sector_line:
beam_req_flag = True
beam_req_flag = False
idx = self.simple_sector_list.index(sector)
if sector == "UCN":
beam_req_flag = beam_req_running
beam_req_flag = self.beam_req_running #is_beam_req_running()
'''
with self.lock:
if not beam_req_flag:
if not self.table_sol_dict[
sector].init_value_button.isEnabled():
self.table_sol_dict[
sector].init_value_button.setEnabled(True)
if not self.table_pwr_dict[
sector].init_value_button.isEnabled():
self.table_pwr_dict[
sector].init_value_button.setEnabled(True)
else:
if self.table_sol_dict[
sector].init_value_button.isEnabled():
self.table_sol_dict[
sector].init_value_button.setEnabled(False)
if self.table_pwr_dict[
sector].init_value_button.isEnabled():
self.table_pwr_dict[
sector].init_value_button.setEnabled(False)
'''
# if self.sectorI_dict['UCN'] > self.I_min or self.sectorI_dict[
# 'SINQ'] > self.I_min:
if self.sectorI_dict[sector] > self.I_min or beam_req_flag:
@@ -195,16 +280,20 @@ class AppGui(QWidget):
sector].standby_value_button.isEnabled():
self.table_sol_dict[
sector].standby_value_button.setEnabled(False)
if self.simple_standby:
self.simple_standby[idx].setEnabled(False)
else:
if not self.table_sol_dict[
sector].standby_value_button.isEnabled():
self.table_sol_dict[
sector].standby_value_button.setEnabled(True)
if self.simple_standby:
self.simple_standby[idx].setEnabled(True)
def enable_disable_end(sect, sector_line, value):
self.sectorI_dict[sect] = value
for sector in sector_line:
idx = self.simple_sector_list.index(sector)
# if self.sectorI_dict['UCN'] > self.I_min or self.sectorI_dict[
# 'SINQ'] > self.I_min:
if self.sectorI_dict[sector] > self.I_min:
@@ -212,27 +301,55 @@ class AppGui(QWidget):
sector].standby_value_button.isEnabled():
self.table_sol_dict[
sector].standby_value_button.setEnabled(False)
if self.simple_standby:
self.simple_standby[idx].setEnabled(False)
else:
if not self.table_sol_dict[
sector].standby_value_button.isEnabled():
self.table_sol_dict[
sector].standby_value_button.setEnabled(True)
if self.simple_standby:
self.simple_standby[idx].setEnabled(True)
def enable_disable_pk(sect, sector_line, value):
self.sectorI_dict[sect] = value
self.sectorI_dict["IW2"] = self.cafe.getCache("MXC2:IST:2")
#print("==>sector firing", sect, "with value", value)
for sector in sector_line:
if self.sectorI_dict["PK1"] > self.I_min or self.sectorI_dict[
"PK2"] > self.I_min:
idx = self.simple_sector_list.index(sector)
#print("sector", sector, "in line", sector_line,
# "has value", self.sectorI_dict[sector]
#)
#if self.sectorI_dict["PK1"] > self.I_min or self.sectorI_dict[
# "PK2"] > self.I_min:
if self.sectorI_dict[sector] > self.I_min:
if self.table_sol_dict[
sector].standby_value_button.isEnabled():
self.table_sol_dict[
sector].standby_value_button.setEnabled(False)
if self.simple_standby:
self.simple_standby[idx].setEnabled(False)
else:
if not self.table_sol_dict[
sector].standby_value_button.isEnabled():
self.table_sol_dict[
sector].standby_value_button.setEnabled(True)
if self.simple_standby:
self.simple_standby[idx].setEnabled(True)
def receive_ucnq_update(value, status, alarm_severity):
del status, alarm_severity
self.uncq_beam_req = value
print("self.uncq_beam_req", self.uncq_beam_req)
self.beam_req_running = True
if self.uncq_beam_req is not None:
if self.uncq_beam_req == "stopped":
self.beam_req_running = False
enable_disable_ucn("UCN", ucn_line, self.sectorI_dict["UCN"])
def receive_ucn_update(value, status, alarm_severity):
del status, alarm_severity
enable_disable_ucn("UCN", ucn_line, value)
@@ -249,6 +366,9 @@ class AppGui(QWidget):
del status, alarm_severity
enable_disable_pk("PK2", pk2_line, value)
self.gui_header.beam_current_wgt_dict[
"UCNQ"].trigger_monitor_str.connect(receive_ucnq_update)
self.gui_header.beam_current_wgt_dict[
"UCN"].trigger_monitor_float.connect(receive_ucn_update)
self.gui_header.beam_current_wgt_dict[
@@ -258,6 +378,11 @@ class AppGui(QWidget):
self.gui_header.beam_current_wgt_dict[
"PK2"].trigger_monitor_float.connect(receive_pk2_update)
pvd = self.cafe.getPV("UCNQ:BEAMREQ:STATUS")
self.gui_header.beam_current_wgt_dict[
"UCNQ"].trigger_monitor_str.emit(
pvd.value[0], pvd.status, pvd.alarmSeverity)
# Not required any longer
@Slot(int, str, object)
@@ -350,17 +475,59 @@ class AppGui(QWidget):
pv_standby_dict[pv_magnet] = standby_value
return pv_standby_dict
def is_sector_standby(self, sector, pv_name, value):
self.sector_designated_magnet_values_dict[sector][pv_name] = value
def is_sector_standby(self, sector, pv_name=None, value=None):
idx = self.simple_sector_list.index(sector)
text_color = self.settings.data[sector]["color"]
text_color_str = f'color: {text_color};'
def paint_awake():
sss = ('QGroupBox {background-color:#ffe87c; font-weight: bold; ' +
text_color_str + '}')
self.simple_groupbox[idx].setStyleSheet(sss)
self.simple_status[idx].setStyleSheet(
'QLabel{color:black; font-weight: bold;}')
self.simple_groupbox[idx].setStyleSheet(sss) #self.groupbox_awake_sss)
self.simple_status[idx].setText('Status: AWAKE')
self.status_dict[sector].setStyleSheet(self.label_awake_sss)
self.status_dict[sector].setText(self.awake_text) #self.settings.data['statusStyleSheet']['awake-text'])
def paint_asleep():
sss = ('QGroupBox {background-color:#546bab; font-weight: bold; ' +
text_color_str + '}')
self.simple_groupbox[idx].setStyleSheet(sss)
self.simple_status[idx].setStyleSheet(
'QLabel{color:white; font-weight: bold;}')
self.simple_groupbox[idx].setStyleSheet(sss) #self.groupbox_standby_sss)
self.simple_status[idx].setText('Status: STANDBY')
self.status_dict[sector].setStyleSheet(self.label_standby_sss)
self.status_dict[sector].setText(self.standby_text) #self.settings.data['statusStyleSheet']['standby-text'])
if value and pv_name:
self.sector_designated_magnet_values_dict[sector][pv_name] = value
#print(self.sector_designated_magnet_values_dict[sector], flush=True)
is_standby = True
for pv in self.sector_designated_magnet_values_dict[sector]:
val_now = self.sector_designated_magnet_values_dict[sector][pv]
val_standby = self.sector_designated_magnet_standby_dict[sector][pv]
#print(sector, val_now, val_standby)
if abs(val_now) > (1.2 * abs(val_standby)):
if sector == "UCN":
is_standby = False
break
if not (abs(val_now) > (1.2 * abs(val_standby))):
is_standby = True
break
else:
if abs(val_now) > (1.2 * abs(val_standby)):
is_standby = False
break
with self.lock:
if not is_standby:
@@ -373,6 +540,8 @@ class AppGui(QWidget):
):
self.table_pwr_dict[sector].init_value_button.setEnabled(
True)
if self.simple_awake:
paint_awake()
else:
if self.table_sol_dict[sector].init_value_button.isEnabled():
self.table_sol_dict[sector].init_value_button.setEnabled(
@@ -380,7 +549,10 @@ class AppGui(QWidget):
if self.table_pwr_dict[sector].init_value_button.isEnabled():
self.table_pwr_dict[sector].init_value_button.setEnabled(
False)
if self.simple_standby:
paint_asleep()
return is_standby
@Slot(float, int, int)
def designated_magnet_cb(self, value, status, alarm_severity):
@@ -422,6 +594,12 @@ class AppGui(QWidget):
qsa.setFont(f)
qsa.setAlignment(Qt.AlignCenter)
qstat = QLabel("Status \n ")
f = qstat.font()
f.setPixelSize(13)
qstat.setFont(f)
qstat.setAlignment(Qt.AlignCenter)
qti = QLabel("Time in \nSaving Mode")
f = qti.font()
f.setPixelSize(13)
@@ -436,22 +614,29 @@ class AppGui(QWidget):
qgrid.addWidget(qlp, 0, 2, 1, 1)
qgrid.addWidget(qsa, 0, 3, 1, 1)
qgrid.addWidget(qti, 0, 4, 1, 1)
qgrid.addWidget(qtotsav, 0, 5, 1, 1)
qgrid.addWidget(qstat, 0, 4, 1, 1)
qgrid.addWidget(qti, 0, 5, 1, 1)
qgrid.addWidget(qtotsav, 0, 6, 1, 1)
self.status_dict = {}
for i, sector in enumerate(self.settings.data["header"][idx:]):
a, b, c, d, e, f = self.sector_status(sector)
self.status_dict[sector] = QLabel('')
a.setContentsMargins(2, 0, 0, 0)
qgrid.addWidget(a, i + 1, 0, 1, 1)
qgrid.addWidget(b, i + 1, 1, 1, 1)
qgrid.addWidget(c, i + 1, 2, 1, 1)
qgrid.addWidget(d, i + 1, 3, 1, 1)
qgrid.addWidget(e, i + 1, 4, 1, 1)
qgrid.addWidget(f, i + 1, 5, 1, 1)
qgrid.addWidget(self.status_dict[sector], i + 1, 4, 1, 1)
qgrid.addWidget(e, i + 1, 5, 1, 1)
qgrid.addWidget(f, i + 1, 6, 1, 1)
qh_line = QHLine()
qh_line.setFixedHeight(10)
row = qgrid.rowCount()
qgrid.addWidget(qh_line, row, 1, 1, 5)
qgrid.addWidget(qh_line, row, 1, 1, 7)
#qgrid.setRowMinimumHeight(row, 60)
qtot = QLabel("Total:")
@@ -466,11 +651,11 @@ class AppGui(QWidget):
CAQLineEdit(self, pv_name="ZHIPA-HUSH:TOTPWR", show_units=True),
row + 1, 2, 1, 1)
qgrid.addWidget(
CAQLineEdit(self, pv_name="ZHIPA-HUSH:LASTSAVE", show_units=False),
row + 1, 3, 1, 1)
CAQLineEdit(self, pv_name="ZHIPA-HUSH:LASTSAVE", show_units=True),
row + 1, 3, 1, 2)
qgrid.addWidget(
CAQLineEdit(self, pv_name="ZHIPA-HUSH:TOTSAVE", show_units=False),
row + 1, 5, 1, 1)
CAQLineEdit(self, pv_name="ZHIPA-HUSH:TOTSAVE", show_units=True),
row + 1, 6, 1, 2)
qgrid.setContentsMargins(9, 20, 9, 9)
@@ -478,7 +663,7 @@ class AppGui(QWidget):
qw.setContentsMargins(9, 9, 9, 9)
qw.setObjectName("OUTER")
qw.setLayout(qgrid)
qw.setFixedWidth(496) # 480
qw.setFixedWidth(596) # 496
qw.setFixedHeight(346) # 480
return qw
@@ -572,6 +757,7 @@ class AppGui(QWidget):
sector_wgt_dict = {}
sector_wgt_dict["INJ2"] = self.ca_table_rf_widget(sector="INJ2")
for sector in self.settings.data["header"][idx:]:
sector_wgt_dict[sector] = self.ca_table_sector_widget(
sector=sector)
@@ -717,7 +903,7 @@ class AppGui(QWidget):
if sector == "UCN":
write_to_restore_ucn()
QApplication.processEvents(QEventLoop.AllEvents, 1)
#QApplication.processEvents() #QEventLoop.AllEvents, 1)
# Do NOT do updates if in standby mode!
# Update button is disabled when in standby
@@ -726,28 +912,33 @@ class AppGui(QWidget):
# updates of SOL also update PWR, and vice-versa
# Do not click if already on standby!!
print(f'on_sector_standby: TARGET = {target} SECTOR = {sector}',
flush=True)
with self.lock:
update_enabled = is_update_enabled()
if update_enabled:
self.table_pwr_dict[sector].init_value_button.setEnabled(False)
table.init_value_button.click()
self.table_pwr_dict[sector].init_value_button.setEnabled(False)
table.init_value_button.click()
time.sleep(0.05)
self.table_pwr_dict[sector].init_value_button.setEnabled(True)
table.init_value_button.setEnabled(False)
self.table_pwr_dict[sector].init_value_button.click()
table.init_value_button.setEnabled(False)
self.table_pwr_dict[sector].init_value_button.click()
time.sleep(0.05)
self.table_sol_dict[sector].init_value_button.setEnabled(True)
QApplication.processEvents(QEventLoop.AllEvents, 1)
print(f'after self-lock TARGET = {target} SECTOR = {sector}', flush=True)
if not self.input_parameters["simulation"]:
if sector == "UCN":
write_to_restore_ucn()
status, status_list, pv_list = table.set_standby_values()
print(f'before table-set_standby_valkues(): TARGET = {target} SECTOR = {sector}')
status, status_list, pv_list = table.set_standby_values()
print(f'after table-set_standby_valkues(): TARGET = {target} SECTOR = {sector}')
if status != self.cyca.ICAFE_NORMAL:
#self.check_status_list(pv_list, status_list, _line())
self.check_status_list(
@@ -762,9 +953,16 @@ class AppGui(QWidget):
# Disable because table.set_standby_values() enables it
if not update_enabled:
with self.lock:
print(f'before FINAL self.lock TARGET = {target} SECTOR = {sector}')
self.table_pwr_dict[sector].init_value_button.setEnabled(False)
table.init_value_button.setEnabled(False)
self.timer_blink.singleShot(
250, lambda: self.blink_target_beamline(sector, standby=True))
print(f'END TARGET = {target} SECTOR = {sector}', flush=True)
def on_sector_restore(self):
target = self.sender()
sector = target.sector
@@ -784,6 +982,9 @@ class AppGui(QWidget):
#stat = self.cafe.set(pv, 1)
#self.check_status(pv, stat, _line())
self.timer_blink.singleShot(
250, lambda: self.blink_target_beamline(sector, standby=False))
table_pwr = self.table_pwr_dict[sector]
row_pwr_dict = table_pwr.get_init_values()
sum_pwr = sum(list(row_pwr_dict.values()))
@@ -981,6 +1182,7 @@ class AppGui(QWidget):
hbox.setSpacing(10)
hbox.setAlignment(Qt.AlignTop)
qw = QWidget()
qw.setLayout(hbox)
@@ -995,23 +1197,77 @@ class AppGui(QWidget):
def clear_saving(self, sector_prefix_list: list = None):
if not sector_prefix_list:
return
qm = QMessageBox()
mess = ("This action will reset the energy saving account to zero. \n" +
"This is typically undertaken at the end of the calendar " +
"year. \n\n" +
"Present accounting figures will be entered in the elogbook\n" +
"Are you sure you wish to continue with the reset?")
reply = qm.warning(self, "Reset Accounting", mess,
QMessageBox.Yes | QMessageBox.No)
#qm = QMessageBox()
#mess = ("This action will reset the energy saving account to zero. \n" +
# "This is typically undertaken at the end of the calendar " +
# "year. \n\n" +
# "Present accounting figures will be entered in the elogbook\n" +
# "Are you sure you wish to continue with the reset?")
#reply = qm.warning(self, "Reset Accounting", mess,
# QMessageBox.Yes | QMessageBox.No)
if reply == QMessageBox.No:
#if reply == QMessageBox.No:
# return
#Now prompt for password
mess = (#"This action will reset the energy\nsaving account to zero.\n" +
#"This is typically undertaken at\nthe end of the calendar " +
#"year.\n" +
#"The current accounting figures\nwill be entered into elog\n " +
"To execute the reset,\nplease enter the password:"
)
#pwedit.setObjectName("Write")
#pwedit.setFixedWidth(40)
#pwedit.setFixedHeight(25)
qd = QInputDialog(self)
#pwedit = QLineEdit(qd)
#qd.resize(500,100)
#qd.setObjectName('Password')
#qd.setWindowFlag(Qt.WindowType.WindowMinimizeButtonHint, False)
'''
rect = qd.geometry() #get current geometry of dialog window
parentRect = self.geometry() #get current geometry of this window
rect.moveTo(QWidget.mapToGlobal(self, QPoint(
parentRect.x() + parentRect.width() - \
rect.width(), parentRect.y())))
qd.setGeometry(rect)
print("HERE2", flush=True)
'''
text, ok = qd.getText(None, "Reset Account", mess,
QLineEdit.Password)
if ok and text:
#print(f'ok={ok}, password={text}', flush=True)
if text.upper()!= self.settings.data["Reset"]:
qmb = QMessageBox(self)
mess = "Incorrect password!\nTry Reset Account once again."
qmb.information(self, "Reset Account", mess)
#rect = qmb.geometry() #get current geometry of dialog window
#parentRect = self.geometry() #get current geometry of this window
#rect.moveTo(QWidget.mapToGlobal(self, QPoint(
# parentRect.x() + parentRect.width() - \
# rect.width(), parentRect.y())))
#qmb.setGeometry(rect)
return
else:
return
self.parent.prepare_elog_message()
print("message", self.parent.message, flush=True)
print("logbook", self.parent.logbook, flush=True)
#print("message", self.parent.message, flush=True)
#print("logbook", self.parent.logbook, flush=True)
url = self.settings.data["ElogBooks"][self.parent.logbook]["url"]
print("url", url, flush=True)
#print("url", url, flush=True)
logbook = elog.open(url, user="robot", password="robot")
# QApplication.processEvents()
@@ -1032,11 +1288,19 @@ class AppGui(QWidget):
pass
# HIPA Log Book
else:
attributes["Eintrag"] = self.elog_enum.eintrag.INFO.name
attributes["Effekt"] = self.elog_enum.effekt.NONE.name # keiner
required_dict = self.parent.settings.data['ElogBooks'][
self.parent.logbook]['Required']
optional_dict = self.parent.settings.data['ElogBooks'][
self.parent.logbook]['Optional']
attributes["Eintrag"] = required_dict['Eintrag'][
self.elog_enum.eintrag.INFO]
attributes["Effekt"] = optional_dict["Effekt"][
self.elog_enum.effekt.NONE] # NONE='', NO=keiner
# "Elektorversogung"
attributes["System"] = self.elog_enum.system.ELECTRICAL_SUPPLY.name
attributes["Ort"] = self.elog_enum.ort.GLOBAL.name
attributes["System"] = optional_dict["System"][
self.elog_enum.system.ELECTRICAL_SUPPLY]
attributes["Ort"] = optional_dict["Ort"][
self.elog_enum.ort.GLOBAL]
log_mess = self.parent.message.replace("<br>", "\n")
@@ -1048,8 +1312,10 @@ class AppGui(QWidget):
self.statusbar.showMessage("Reset Savings Account." +
"Last values sent to elog")
except Exception as ex:
print("Exception in sendelog.py", str(ex), flush=True)
mess = "Failed to write last saving values to elog:" + str(ex)
print("Exception in gui.py", str(ex), flush=True)
print(attributes)
mess = ("Failed to write last saving values to " +
"logbook {0}: {1}").format(self.parent.logbook, str(ex))
self.show_log_message(
MsgSeverity.ERROR, _pymodule, _line(), mess)
self.statusbar.showMessage(mess)
@@ -1260,3 +1526,160 @@ class AppGui(QWidget):
qw.setFixedHeight(280)
return qw
def group_simple_mode(self):
self.simple_status = [None] * len(self.simple_sector_list)
self.simple_standby = [None] * len(self.simple_sector_list)
self.simple_awake = [None] * len(self.simple_sector_list)
self.simple_groupbox = [None] * len(self.simple_sector_list)
qgrido = QGridLayout()
qwo = QGroupBox('Skin View')
hlength = 3
irow = 0
icolumn = 0
for i, sector in enumerate(self.simple_sector_list):
self.simple_status[i] = QLabel(' Status: ')
pv = 'Z' + sector + '-HUSH:TOTPWR'
print('pv=', pv, flush=True)
power = CAQLabel(self, pv, show_units=True, notify_freq_hz=1)
self.simple_standby[i] = QPushButton(' Standby ')
self.simple_standby[i].sector = sector
self.simple_standby[i].setObjectName('Controller')
self.simple_standby[i].setProperty('actOnBeam', True)
self.simple_standby[i].setToolTip(
('Restore devices to their standby values'))
self.simple_standby[i].clicked.connect(self.on_sector_standby)
self.simple_awake[i] = QPushButton(' Awake ')
self.simple_awake[i].sector = sector
self.simple_awake[i].setObjectName('Controller')
self.simple_awake[i].setProperty('actOnBeam', True)
self.simple_awake[i].setToolTip(
('Restore devices to their pre-standby values'))
self.simple_awake[i].clicked.connect(self.on_sector_restore)
qgrid = QGridLayout()
qgrid.addWidget(self.simple_status[i], 0, 0, 1, 1, Qt.AlignCenter)
qgrid.addWidget(power, 0, 1, 1, 1, Qt.AlignLeft)
qgrid.addWidget(self.simple_standby[i], 1, 0, 1, 1, Qt.AlignCenter)
qgrid.addWidget(self.simple_awake[i], 1, 1, 1, 1, Qt.AlignCenter)
qgrid.setContentsMargins(5, 20, 5, 0)
self.simple_groupbox[i] = QGroupBox(sector)
self.simple_groupbox[i].setContentsMargins(5, 0, 5, 0)
self.simple_groupbox[i].setAlignment(Qt.AlignCenter)
self.simple_groupbox[i].setObjectName("OUTER")
text_color = self.settings.data[sector]["color"]
text_color_str = f'color: {text_color}; '
sss = ("QGroupBox {" + text_color_str + "font-weight: bold;}")
self.simple_groupbox[i].setStyleSheet(sss)
self.simple_groupbox[i].setLayout(qgrid)
self.simple_groupbox[i].setFixedWidth(270) #280
self.simple_groupbox[i].setFixedHeight(140) #140
irow = 0 if i < (hlength) else 1
icolumn = i%hlength # if i < (hlength) else int(i - hlength)
qgrido.addWidget(self.simple_groupbox[i], irow, icolumn, 1, 1,
Qt.AlignCenter)
#message = ""
#ql = QLabel(message)
#ql.setStyleSheet('QLabel {color:black;}')
#ql.setAlignment(Qt.AlignHCenter|Qt.AlignBottom)
#cspan = qgrido.columnCount()
#qgrido.addWidget(ql, irow+1, 0, 2, cspan,
# Qt.AlignHCenter|Qt.AlignBottom)
qgrido.setContentsMargins(5, 15, 5, 15)
qgrido.setAlignment(Qt.AlignCenter)
qgrido.setVerticalSpacing(20)
qgrido.setHorizontalSpacing(25)
qwo.setContentsMargins(5, 15, 5, 10)
qwo.setAlignment(Qt.AlignCenter)
qwo.setObjectName("OUTER")
qwo.setLayout(qgrido)
wlength = len(self.simple_sector_list) if irow == 0 else int(hlength)
qwo.setFixedWidth(310 * wlength)
qwo.setFixedHeight(240 * (irow+1) - 80*irow)
return qwo
def blink_target_beamline(self, sector, standby=False):
idx = self.simple_sector_list.index(sector)
text_color = self.settings.data[sector]["color"]
text_color_str = f'color: {text_color};'
#Deactivate
standby_enabled = self.simple_standby[idx].isEnabled()
awake_enabled = self.simple_awake[idx].isEnabled()
self.simple_standby[idx].setEnabled(False)
self.simple_awake[idx].setEnabled(False)
is_standby = self.is_sector_standby(sector, None, None)
ready = False
if (standby and not is_standby) or (not standby and is_standby):
endpt = 0 if standby else 1
ramping = 'Ramping down \u21D3' if standby else 'Ramping up \u21D1'
self.simple_status[idx].setText(ramping)
end = 14 #must be even no
for i in range(0, end):
if i%2 == endpt:
sss = ('QGroupBox {background-color:#ffe87c; font-weight: bold; ' +
text_color_str + '}')
self.simple_status[idx].setStyleSheet(
'QLabel{color:black; font-weight: bold;}')
else:
sss = ('QGroupBox {background-color:#546bab;; font-weight: bold; ' +
text_color_str + '}')
self.simple_status[idx].setStyleSheet(
'QLabel{color:white; font-weight: bold;}')
self.simple_groupbox[idx].setStyleSheet(sss)
#self.simple_status[idx].setText('Status: AWAKE')
#self.simple_status[idx].setStyleSheet(
# 'QLabel{color:black; font-weight: bold;}')
self.simple_status[idx].setText(ramping)
QApplication.processEvents()
time.sleep(0.5)
is_standby = self.is_sector_standby(sector, None, None)
if standby and is_standby:
ready = True
break;
elif not standby and not is_standby:
ready = True
break;
#Activate
#if not ready:
self.simple_standby[idx].setEnabled(standby_enabled)
self.simple_awake[idx].setEnabled(awake_enabled)
pv = self.settings.data[sector]['device'][0] + ":SOL:2.PROC"
stat = self.cafe.set(pv, 1)
self.check_status(_pymodule, "set", pv, stat, _line())
QApplication.processEvents()
+5
View File
@@ -0,0 +1,5 @@
<?xml version="1.0" standalone="no"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" class="icon">
<defs><clipPath><path fill="none" d="M124-288l388-672 388 672H124z" clip-rule="evenodd"/></clipPath></defs><path d="M508 624a112 112 0 0 0 112-112c0-3.28-.15-6.53-.43-9.74L498.26 623.57c3.21.28 6.45.43 9.74.43zm370.72-458.44L836 122.88a8 8 0 0 0-11.31 0L715.37 232.23Q624.91 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 0 0 0 51.5q56.7 119.43 136.55 191.45L112.56 835a8 8 0 0 0 0 11.31L155.25 889a8 8 0 0 0 11.31 0l712.16-712.12a8 8 0 0 0 0-11.32zM332 512a176 176 0 0 1 258.88-155.28l-48.62 48.62a112.08 112.08 0 0 0-140.92 140.92l-48.62 48.62A175.09 175.09 0 0 1 332 512z"/><path d="M942.2 486.2Q889.4 375 816.51 304.85L672.37 449A176.08 176.08 0 0 1 445 676.37L322.74 798.63Q407.82 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 0 0 0-51.5z"/>
</svg>

After

Width:  |  Height:  |  Size: 979 B

+104
View File
@@ -0,0 +1,104 @@
import os
from qtpy import QtCore
from qtpy import QtGui
from qtpy.QtWidgets import QInputDialog, QLineEdit, QMessageBox, QWidget
class PasswordMessage(QMessageBox):
def __init__(self, parent):
self.parent = parent
super().__init__(self.parent)
#self.cursor_pos = QtGui.QCursor.pos()
#self.move(self.cursor_pos.x(),self.cursor_pos.y())
rect = self.geometry() #get current geometry of dialog window
parentRect = self.parent.geometry() #get current geometry of this window
rect.moveTo(QWidget.mapToGlobal(self, QtCore.QPoint(
parentRect.x() + 800 + parentRect.width() - \
rect.width(), parentRect.y())))
self.setGeometry(rect)
def showEvent(self, event):
print('showed password message box...............................', flush=True)
class PasswordDialog(QInputDialog):
def __init__(self, parent):
self.parent = parent
super().__init__(self.parent)
#self.cursor_pos = QtGui.QCursor.pos()
#self.move(self.cursor_pos.x()+200,self.cursor_pos.y())
def showEvent(self, event):
print('showed...............................', flush=True)
# super().showEvent(event) # ** not needed see below but better putting it anyway
self.cursor_pos = QtGui.QCursor.pos()
# self.move(0,0)
self.move(self.cursor_pos.x(),self.cursor_pos.y())
class PasswordEdit(QLineEdit):
"""
A LineEdit with icons to show/hide password entries
"""
CSS = '''QLineEdit {
border-radius: 0px;
height: 30px;
margin: 0px 0px 0px 0px;
}
'''
def __init__(self, parent):
self.parent = parent
super().__init__(self.parent)
# Set styles
self.setStyleSheet(self.CSS)
self.visibleIcon = QtGui.QIcon(':/eye-visible.svg') #QtGui.QIcon(':/eye-visible.svg') #self.load_icon("visible-eye.svg")
self.hiddenIcon = QtGui.QIcon(':/eye-invisible.svg') # QtGui.QIcon(':/eye-invisible.svg') #self.load_icon("invisible-eye.svg")
self.setEchoMode(QLineEdit.Password)
self.togglepasswordAction = self.addAction(
self.visibleIcon, QLineEdit.TrailingPosition)
self.togglepasswordAction.triggered.connect(
self.on_toggle_password_Action)
self.password_shown = False
print('PasswordEdit init complete')
print(f'on_init {self.visibleIcon} {self.hiddenIcon} {self.password_shown} ', flush=True)
def load_icon(self, fname_icon):
#path_this_file = os.path.abspath(__file__)
#path_this_dir = os.path.dirname(path_this_file)
#path_icons = os.path.join(path_this_dir, '..', 'media', 'icons')
#path_icon = os.path.join(path_icons, fname_icon)
#pixmap = QtGui.QPixmap(path_icon)
pixmap = QtGui.QPixmap(fname_icon)
pixmap.fill(QtGui.QColor('red'))
#pixmap.setMask(pixmap.createMaskFromColor(QtGui.QColor('black'), QtGui.Qt.MaskOutColor))
icon = QtGui.QIcon()
icon.addPixmap(pixmap, QtGui.QIcon.Normal)
icon.addPixmap(pixmap, QtGui.QIcon.Disabled)
return icon
def on_toggle_password_Action(self):
if not self.password_shown:
self.setEchoMode(QLineEdit.Normal)
self.password_shown = True
self.togglepasswordAction.setIcon(self.hiddenIcon)
else:
self.setEchoMode(QLineEdit.Password)
self.password_shown = False
self.togglepasswordAction.setIcon(self.visibleIcon)
print(f'on_toggle {self.visibleIcon} {self.hiddenIcon} {self.password_shown} {QLineEdit.Password}', flush=True)
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Generator: SVG Repo Mixer Tools -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg fill="#000000" version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
width="800px" height="800px" viewBox="0 0 121.025 121.025"
xml:space="preserve">
<g>
<path d="M1.35,64.212c7.9,9.9,31.4,36.3,59.2,36.3c27.8,0,51.3-26.399,59.2-36.3c1.699-2.2,1.699-5.3,0-7.399
c-7.9-9.9-31.4-36.3-59.2-36.3c-27.8-0.1-51.3,26.3-59.2,36.2C-0.45,58.913-0.45,62.012,1.35,64.212z M60.55,36.413
c13.3,0,24,10.7,24,24s-10.7,24-24,24c-13.3,0-24-10.7-24-24S47.25,36.413,60.55,36.413z"/>
<circle cx="60.55" cy="60.413" r="12"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 815 B

-11
View File
@@ -1,11 +0,0 @@
Summary for 2024
Power saved for the current year stands at 1516.412 MWh:
IP2: 314.258 MWh
IW2: 91.529 MWh
PK1: 86.399 MWh
PK2: 393.997 MWh
SNQ: 178.202 MWh
UCN: 452.027 MWh
------------------
Tot: 1516.412 MWh
-14
View File
@@ -1,14 +0,0 @@
caput ZIP2-HUSH:TOTSAVE 197.85
caput ZIW2-HUSH:TOTSAVE 73.92
caput ZPK1-HUSH:TOTSAVE 69.49
caput ZPK2-HUSH:TOTSAVE 374.06
caput ZSINQ-HUSH:TOTSAVE 131.20
caput ZUCN-HUSH:TOTSAVE 283.40
caput ZHIPA-HUSH:TOTSAVE 1129.92
caput ZIP2-HUSH:LASTPWR 67.503
caput ZIW2-HUSH:LASTPWR 353.041
caput ZPK1-HUSH:LASTPWR 337.081
caput ZPK2-HUSH:LASTPWR 400.857
caput ZSINQ-HUSH:LASTPWR 570.319
caput ZUCN-HUSH:LASTPWR 124.609