@ -0,0 +1,37 @@ |
|||||||
|
Bag Attributes |
||||||
|
friendlyName: Developer ID Application: BITCOIN FOUNDATION, INC., THE |
||||||
|
localKeyID: 6B 9C 6C A8 A5 73 70 70 E2 57 A3 49 D8 62 FB 97 C7 A5 5D 5E |
||||||
|
subject=/UID=PBV4GLS9J4/CN=Developer ID Application: BITCOIN FOUNDATION, INC., THE/OU=PBV4GLS9J4/O=BITCOIN FOUNDATION, INC., THE/C=US |
||||||
|
issuer=/CN=Developer ID Certification Authority/OU=Apple Certification Authority/O=Apple Inc./C=US |
||||||
|
-----BEGIN CERTIFICATE----- |
||||||
|
MIIFhzCCBG+gAwIBAgIIJ0r1rumyfZAwDQYJKoZIhvcNAQELBQAweTEtMCsGA1UE |
||||||
|
AwwkRGV2ZWxvcGVyIElEIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MSYwJAYDVQQL |
||||||
|
DB1BcHBsZSBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTETMBEGA1UECgwKQXBwbGUg |
||||||
|
SW5jLjELMAkGA1UEBhMCVVMwHhcNMTMwMTEwMjIzOTAxWhcNMTgwMTExMjIzOTAx |
||||||
|
WjCBqDEaMBgGCgmSJomT8ixkAQEMClBCVjRHTFM5SjQxQDA+BgNVBAMMN0RldmVs |
||||||
|
b3BlciBJRCBBcHBsaWNhdGlvbjogQklUQ09JTiBGT1VOREFUSU9OLCBJTkMuLCBU |
||||||
|
SEUxEzARBgNVBAsMClBCVjRHTFM5SjQxJjAkBgNVBAoMHUJJVENPSU4gRk9VTkRB |
||||||
|
VElPTiwgSU5DLiwgVEhFMQswCQYDVQQGEwJVUzCCASIwDQYJKoZIhvcNAQEBBQAD |
||||||
|
ggEPADCCAQoCggEBALTd5zURuZVoJviusr119aktXksenb9IN9vq6kBbq38vxEk7 |
||||||
|
9wkKMES2XfBRh0HxcEizGzhMNy5OCXuTLMaNMihYdfwYSoBoR2foEU+6kjPUnyJ4 |
||||||
|
dQBFLJZJr5/QeQmALmYHEgZ6lwXFD2lU8t92340zeJ4y5LZw5pcEHtH9IummYDut |
||||||
|
OGCkCGXDcjL+5nHhNScJiXHhswM+62o6XXsQiP6EWbM1CsgrGTNLtaa0U/UvVDwE |
||||||
|
79YKklSC5Bog2LD0jBcTuveI66mFzqu++L9X9u+ZArtebwCl7BPNQ+uboYy5uV2d |
||||||
|
zf8lpNNZLfXCFjoLe9bLICKfZ7ub9V5aC8+GhckCAwEAAaOCAeEwggHdMD4GCCsG |
||||||
|
AQUFBwEBBDIwMDAuBggrBgEFBQcwAYYiaHR0cDovL29jc3AuYXBwbGUuY29tL29j |
||||||
|
c3AtZGV2aWQwMTAdBgNVHQ4EFgQUa5xsqKVzcHDiV6NJ2GL7l8elXV4wDAYDVR0T |
||||||
|
AQH/BAIwADAfBgNVHSMEGDAWgBRXF+2iz9x8mKEQ4Py+hy0s8uMXVDCCAQ4GA1Ud |
||||||
|
IASCAQUwggEBMIH+BgkqhkiG92NkBQEwgfAwKAYIKwYBBQUHAgEWHGh0dHA6Ly93 |
||||||
|
d3cuYXBwbGUuY29tL2FwcGxlY2EwgcMGCCsGAQUFBwICMIG2DIGzUmVsaWFuY2Ug |
||||||
|
b24gdGhpcyBjZXJ0aWZpY2F0ZSBieSBhbnkgcGFydHkgYXNzdW1lcyBhY2NlcHRh |
||||||
|
bmNlIG9mIHRoZSB0aGVuIGFwcGxpY2FibGUgc3RhbmRhcmQgdGVybXMgYW5kIGNv |
||||||
|
bmRpdGlvbnMgb2YgdXNlLCBjZXJ0aWZpY2F0ZSBwb2xpY3kgYW5kIGNlcnRpZmlj |
||||||
|
YXRpb24gcHJhY3RpY2Ugc3RhdGVtZW50cy4wDgYDVR0PAQH/BAQDAgeAMBYGA1Ud |
||||||
|
JQEB/wQMMAoGCCsGAQUFBwMDMBMGCiqGSIb3Y2QGAQ0BAf8EAgUAMA0GCSqGSIb3 |
||||||
|
DQEBCwUAA4IBAQAfJ0BjID/1dS2aEeVyhAzPzCBjG8vm0gDf+/qfwRn3+yWeL9vS |
||||||
|
nMdbilwM48IyQWTagjGGcojbsAd/vE4N7NhQyHInoCllNoeor1I5xx+blTaGRBK+ |
||||||
|
dDhJbbdlGCjsLnH/BczGZi5fyEJds9lUIrp1hJidRcUKO76qb/9gc6qNZpl1vH5k |
||||||
|
lDUuJYt7YhAs+L6rTXDyqcK9maeQr0gaOPsRRAQLLwiQCorPeMTUNsbVMdMwZYJs |
||||||
|
R+PxiAnk+nyi7rfiFvPoASAYUuI6OzYL/Fa6QU4/gYyPgic944QYVkaQBnc0vEP1 |
||||||
|
nXq6LGKwgVGcqJnkr/E2kui5gJoV5C3qll3e |
||||||
|
-----END CERTIFICATE----- |
@ -0,0 +1,37 @@ |
|||||||
|
Bag Attributes |
||||||
|
friendlyName: The Bitcoin Foundation, Inc.'s COMODO CA Limited ID |
||||||
|
localKeyID: 8C 94 64 E3 B5 B0 41 89 5B 89 B0 57 CC 74 B9 44 E5 B2 92 66 |
||||||
|
subject=/C=US/postalCode=98104-1444/ST=WA/L=Seattle/street=Suite 300/street=71 Columbia St/O=The Bitcoin Foundation, Inc./CN=The Bitcoin Foundation, Inc. |
||||||
|
issuer=/C=GB/ST=Greater Manchester/L=Salford/O=COMODO CA Limited/CN=COMODO Code Signing CA 2 |
||||||
|
-----BEGIN CERTIFICATE----- |
||||||
|
MIIFeDCCBGCgAwIBAgIRAJVYMd+waOER7lUqtiz3M2IwDQYJKoZIhvcNAQEFBQAw |
||||||
|
ezELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G |
||||||
|
A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxITAfBgNV |
||||||
|
BAMTGENPTU9ETyBDb2RlIFNpZ25pbmcgQ0EgMjAeFw0xMzAxMTYwMDAwMDBaFw0x |
||||||
|
NDAxMTYyMzU5NTlaMIG8MQswCQYDVQQGEwJVUzETMBEGA1UEEQwKOTgxMDQtMTQ0 |
||||||
|
NDELMAkGA1UECAwCV0ExEDAOBgNVBAcMB1NlYXR0bGUxEjAQBgNVBAkMCVN1aXRl |
||||||
|
IDMwMDEXMBUGA1UECQwONzEgQ29sdW1iaWEgU3QxJTAjBgNVBAoMHFRoZSBCaXRj |
||||||
|
b2luIEZvdW5kYXRpb24sIEluYy4xJTAjBgNVBAMMHFRoZSBCaXRjb2luIEZvdW5k |
||||||
|
YXRpb24sIEluYy4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQChUwLD |
||||||
|
u/hu5aFZ/n11B27awONaaDrmHm0pamiWHb01yL4JmTBtaLCrSftF8RhCscQ8jpI0 |
||||||
|
UG1Cchmay0e3zH5o5XRs0H9C3x+SM5ozms0TWDmAYiB8aQEghsGovDk0D2nyTQeK |
||||||
|
Q0xqyCh0m8ZPOnMnYrakHEmF6WvhLdJvI6Od4KIwbKxgN17cPFIfLVsZ7GrzmmbU |
||||||
|
Gdi4wSQCHy5rxzvBxho8Qq/SfBl93uOMUrqOHjOUAPhNuTJG3t/MdhU8Zp24s29M |
||||||
|
abHtYkT9W86hMjIiI8RTAR+WHKVglx9SB0cjDabXN8SZ3gME0+H++LyzlySHT8sI |
||||||
|
ykepojZ7UBRgp9w3AgMBAAGjggGzMIIBrzAfBgNVHSMEGDAWgBQexbEsfYfaAmh8 |
||||||
|
JbwMB4Q/ts/e8TAdBgNVHQ4EFgQUfPf+ZyDWl/4LH0Y5BuJTelkRd/EwDgYDVR0P |
||||||
|
AQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwEwYDVR0lBAwwCgYIKwYBBQUHAwMwEQYJ |
||||||
|
YIZIAYb4QgEBBAQDAgQQMEYGA1UdIAQ/MD0wOwYMKwYBBAGyMQECAQMCMCswKQYI |
||||||
|
KwYBBQUHAgEWHWh0dHBzOi8vc2VjdXJlLmNvbW9kby5uZXQvQ1BTMEEGA1UdHwQ6 |
||||||
|
MDgwNqA0oDKGMGh0dHA6Ly9jcmwuY29tb2RvY2EuY29tL0NPTU9ET0NvZGVTaWdu |
||||||
|
aW5nQ0EyLmNybDByBggrBgEFBQcBAQRmMGQwPAYIKwYBBQUHMAKGMGh0dHA6Ly9j |
||||||
|
cnQuY29tb2RvY2EuY29tL0NPTU9ET0NvZGVTaWduaW5nQ0EyLmNydDAkBggrBgEF |
||||||
|
BQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMCgGA1UdEQQhMB+BHWxpbmRz |
||||||
|
YXlAYml0Y29pbmZvdW5kYXRpb24ub3JnMA0GCSqGSIb3DQEBBQUAA4IBAQAqibjo |
||||||
|
D4HG5XSIIMCmYE5RgQBSEAJfI+EZERk1G9F83ZUWr0yNRZCw4O+RaM7xQhvJhEoD |
||||||
|
G2kpk/q2bNOc71/VyZ6SrE1JRVUON41/Flhz4M6cP0BclTicXvh+efVwqZhIz+ws |
||||||
|
UxF2hvC/1Xx6rqI7NYAlOYXk2MSUq3HREo+gWUPKM8em4MZZV/7XCH4QbsfxOl1J |
||||||
|
xS6EOQmV8hfUN4KRXI5WfGUmedBxq7dM0RSJOSQl8fq2f+JjRLfjQwQucy7LDY+y |
||||||
|
pRTsL2TdQV/DuDuI3s0NHRGznQNddoX5jqpXhSQFAAdgrhN1gGkWaaTPzr9IF2TG |
||||||
|
qgr6PEp9tIYC+MbM |
||||||
|
-----END CERTIFICATE----- |
@ -0,0 +1,46 @@ |
|||||||
|
Code-signing private key notes |
||||||
|
== |
||||||
|
|
||||||
|
The private keys for these certificates were generated on Gavin's main work machine, |
||||||
|
following the certificate authoritys' recommendations for generating certificate |
||||||
|
signing requests. |
||||||
|
|
||||||
|
For OSX, the private key was generated by Keychain.app on Gavin's main work machine. |
||||||
|
The key and certificate is in a separate, passphrase-protected keychain file that is |
||||||
|
unlocked to sign the Bitcoin-Qt.app bundle. |
||||||
|
|
||||||
|
For Windows, the private key was generated by Firefox running on Gavin's main work machine. |
||||||
|
The key and certificate were exported into a separate, passphrase-protected PKCS#12 file, and |
||||||
|
then deleted from Firefox's keystore. The exported file is used to sign the Windows setup.exe. |
||||||
|
|
||||||
|
Threat analysis |
||||||
|
-- |
||||||
|
|
||||||
|
Gavin is a single point of failure. He could be coerced to divulge the secret signing keys, |
||||||
|
allowing somebody to distribute a Bitcoin-Qt.app or bitcoin-qt-setup.exe with a valid |
||||||
|
signature but containing a malicious binary. |
||||||
|
|
||||||
|
Or the machine Gavin uses to sign the binaries could be compromised, either remotely or |
||||||
|
by breaking in to his office, allowing the attacker to get the private key files and then |
||||||
|
install a keylogger to get the passphrase that protects them. |
||||||
|
|
||||||
|
Threat Mitigation |
||||||
|
-- |
||||||
|
|
||||||
|
"Air gapping" the machine used to do the signing will not work, because the signing |
||||||
|
process needs to access a timestamp server over the network. And it would not |
||||||
|
prevent the "rubber hose cryptography" threat (coercing Gavin to sign a bad binary |
||||||
|
or divulge the private keys). |
||||||
|
|
||||||
|
Windows binaries are reproducibly 'gitian-built', and the setup.exe file created |
||||||
|
by the NSIS installer system is a 7zip archive, so you could check to make sure |
||||||
|
that the bitcoin-qt.exe file inside the installer had not been tampered with. |
||||||
|
However, an attacker could modify the installer's code, so when the setup.exe |
||||||
|
was run it compromised users' systems. A volunteer to write an auditing tool |
||||||
|
that checks the setup.exe for tampering, and checks the files in it against |
||||||
|
the list of gitian signatures, is needed. |
||||||
|
|
||||||
|
The long-term solution is something like the 'gitian downloader' system, which |
||||||
|
uses signatures from multiple developers to determine whether or not a binary |
||||||
|
should be trusted. However, that just pushes the problem to "how will |
||||||
|
non-technical users securely get the gitian downloader code to start?" |
@ -0,0 +1,35 @@ |
|||||||
|
#!/bin/sh |
||||||
|
|
||||||
|
if [ $# -gt 0 ]; then |
||||||
|
FILE="$1" |
||||||
|
shift |
||||||
|
if [ -f "$FILE" ]; then |
||||||
|
INFO="$(head -n 1 "$FILE")" |
||||||
|
fi |
||||||
|
else |
||||||
|
echo "Usage: $0 <filename>" |
||||||
|
exit 1 |
||||||
|
fi |
||||||
|
|
||||||
|
if [ -e "$(which git)" ]; then |
||||||
|
# clean 'dirty' status of touched files that haven't been modified |
||||||
|
git diff >/dev/null 2>/dev/null |
||||||
|
|
||||||
|
# get a string like "v0.6.0-66-g59887e8-dirty" |
||||||
|
DESC="$(git describe --dirty 2>/dev/null)" |
||||||
|
|
||||||
|
# get a string like "2012-04-10 16:27:19 +0200" |
||||||
|
TIME="$(git log -n 1 --format="%ci")" |
||||||
|
fi |
||||||
|
|
||||||
|
if [ -n "$DESC" ]; then |
||||||
|
NEWINFO="#define BUILD_DESC \"$DESC\"" |
||||||
|
else |
||||||
|
NEWINFO="// No build information available" |
||||||
|
fi |
||||||
|
|
||||||
|
# only update build.h if necessary |
||||||
|
if [ "$INFO" != "$NEWINFO" ]; then |
||||||
|
echo "$NEWINFO" >"$FILE" |
||||||
|
echo "#define BUILD_DATE \"$TIME\"" >>"$FILE" |
||||||
|
fi |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 126 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 142 B |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 88 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 871 B |
@ -0,0 +1,167 @@ |
|||||||
|
/* XPM */ |
||||||
|
static char *graphic[] = { |
||||||
|
/* width height num_colors chars_per_pixel */ |
||||||
|
"16 16 144 2", |
||||||
|
/* colors */ |
||||||
|
" c None", |
||||||
|
". c #888888", |
||||||
|
"X c #AAAAAA", |
||||||
|
"o c #CCCCCC", |
||||||
|
"O c #979797", |
||||||
|
"+ c #B9B9B9", |
||||||
|
"@ c #DBDBDB", |
||||||
|
"# c None", |
||||||
|
"$ c #848484", |
||||||
|
"% c #A6A6A6", |
||||||
|
"& c #C8C8C8", |
||||||
|
"* c #8F8F8F", |
||||||
|
"= c #747474", |
||||||
|
"- c #939393", |
||||||
|
"; c #B5B5B5", |
||||||
|
": c None", |
||||||
|
"> c #F9F9F9", |
||||||
|
", c None", |
||||||
|
"< c None", |
||||||
|
"1 c #A2A2A2", |
||||||
|
"2 c #C4C4C4", |
||||||
|
"3 c #707070", |
||||||
|
"4 c #707070", |
||||||
|
"5 c #9E9E9E", |
||||||
|
"6 c #8F8F8F", |
||||||
|
"7 c #B1B1B1", |
||||||
|
"8 c #D3D3D3", |
||||||
|
"9 c #686868", |
||||||
|
"0 c #686868", |
||||||
|
"q c #6C6C6C", |
||||||
|
"w c #C0C0C0", |
||||||
|
"e c #9E9E9E", |
||||||
|
"r c #C0C0C0", |
||||||
|
"t c #9A9A9A", |
||||||
|
"y c None", |
||||||
|
"u c #5C5C5C", |
||||||
|
"i c #8B8B8B", |
||||||
|
"p c #ADADAD", |
||||||
|
"a c #CFCFCF", |
||||||
|
"s c #9A9A9A", |
||||||
|
"d c #BCBCBC", |
||||||
|
"f c None", |
||||||
|
"g c #969696", |
||||||
|
"h c #878787", |
||||||
|
"j c #A9A9A9", |
||||||
|
"k c #CBCBCB", |
||||||
|
"l c #969696", |
||||||
|
"z c #B8B8B8", |
||||||
|
"x c #B8B8B8", |
||||||
|
"c c #DADADA", |
||||||
|
"v c #C7C7C7", |
||||||
|
"b c #E9E9E9", |
||||||
|
"n c #A1A1A1", |
||||||
|
"m c #929292", |
||||||
|
"M c None", |
||||||
|
"N c #B4B4B4", |
||||||
|
"B c None", |
||||||
|
"V c None", |
||||||
|
"C c #7F7F7F", |
||||||
|
"Z c #A1A1A1", |
||||||
|
"A c None", |
||||||
|
"S c #8A8A8A", |
||||||
|
"D c #C3C3C3", |
||||||
|
"F c #8A8A8A", |
||||||
|
"G c None", |
||||||
|
"H c #9D9D9D", |
||||||
|
"J c #8E8E8E", |
||||||
|
"K c None", |
||||||
|
"L c #B0B0B0", |
||||||
|
"P c #5F5F5F", |
||||||
|
"I c #5F5F5F", |
||||||
|
"U c #BFBFBF", |
||||||
|
"Y c #BFBFBF", |
||||||
|
"T c None", |
||||||
|
"R c #5B5B5B", |
||||||
|
"E c #CECECE", |
||||||
|
"W c #999999", |
||||||
|
"Q c #DDDDDD", |
||||||
|
"! c None", |
||||||
|
"~ c #868686", |
||||||
|
"^ c #A8A8A8", |
||||||
|
"/ c #CACACA", |
||||||
|
"( c #737373", |
||||||
|
") c #959595", |
||||||
|
"_ c #B7B7B7", |
||||||
|
"` c #B7B7B7", |
||||||
|
"' c None", |
||||||
|
"] c #828282", |
||||||
|
"[ c #A4A4A4", |
||||||
|
"{ c #C6C6C6", |
||||||
|
"} c #A0A0A0", |
||||||
|
"| c #919191", |
||||||
|
" . c None", |
||||||
|
".. c #B3B3B3", |
||||||
|
"X. c None", |
||||||
|
"o. c #6A6A6A", |
||||||
|
"O. c #A0A0A0", |
||||||
|
"+. c #6E6E6E", |
||||||
|
"@. c #C2C2C2", |
||||||
|
"#. c #6E6E6E", |
||||||
|
"$. c #898989", |
||||||
|
"%. c None", |
||||||
|
"&. c #8D8D8D", |
||||||
|
"*. c #AFAFAF", |
||||||
|
"=. c #D1D1D1", |
||||||
|
"-. c #F3F3F3", |
||||||
|
";. c #5E5E5E", |
||||||
|
":. c #5E5E5E", |
||||||
|
">. c #BEBEBE", |
||||||
|
",. c #9C9C9C", |
||||||
|
"<. c #858585", |
||||||
|
"1. c #989898", |
||||||
|
"2. c #898989", |
||||||
|
"3. c #EFEFEF", |
||||||
|
"4. c #989898", |
||||||
|
"5. c #A7A7A7", |
||||||
|
"6. c None", |
||||||
|
"7. c #C9C9C9", |
||||||
|
"8. c #EBEBEB", |
||||||
|
"9. c #909090", |
||||||
|
"0. c #949494", |
||||||
|
"q. c #B6B6B6", |
||||||
|
"w. c #B6B6B6", |
||||||
|
"e. c #D8D8D8", |
||||||
|
"r. c #818181", |
||||||
|
"t. c #A3A3A3", |
||||||
|
"y. c #C5C5C5", |
||||||
|
"u. c #B2B2B2", |
||||||
|
"i. c None", |
||||||
|
"p. c #D4D4D4", |
||||||
|
"a. c None", |
||||||
|
"s. c None", |
||||||
|
"d. c #7D7D7D", |
||||||
|
"f. c #9F9F9F", |
||||||
|
"g. c #C1C1C1", |
||||||
|
"h. c #E3E3E3", |
||||||
|
"j. c None", |
||||||
|
"k. c #656565", |
||||||
|
"l. c None", |
||||||
|
"z. c #AEAEAE", |
||||||
|
"x. c #656565", |
||||||
|
"c. c #BDBDBD", |
||||||
|
"v. c #9B9B9B", |
||||||
|
"b. c #BDBDBD", |
||||||
|
/* pixels */ |
||||||
|
" G y A I o.0 :.< # G ", |
||||||
|
" 6.V = n w / 7.>.5 4 X.6. ", |
||||||
|
" 6.s.9.o 7.j | 6 ..8 / F K 6. ", |
||||||
|
"G V * p.d 1 ~ | l s u.^ o F X.G ", |
||||||
|
"' = o r z.t.e 7.@.] C C ; & #.f ", |
||||||
|
", } & f.t.s N e.x $ 5.@.v E t X.", |
||||||
|
"P U N ^ 7 ,.a b b.0.w.5.. O.z u ", |
||||||
|
"9 / v { X Z 8.-.g.2.. r.&.p 2 x.", |
||||||
|
"9 / ` 1 ) @ > Q h J 4.*.2 2 2 k.", |
||||||
|
";.c.L 1 4.7.3.y.~ - ,.W i % q.R ", |
||||||
|
"V H =.{ X p.h.c o 7.v - d.r g a.", |
||||||
|
"# 3 7.u.( 0.t.t.e W v.s g.2 q %.", |
||||||
|
"G : S k j ..+ [ | m 1 Y E <. .! ", |
||||||
|
" M l.$.& 8 x ) O z.7.2 <.j.i. ", |
||||||
|
" i.a.+.1.z D D _ g q .i. ", |
||||||
|
" G T B u x.x.R a.T G " |
||||||
|
}; |
After Width: | Height: | Size: 49 KiB |
After Width: | Height: | Size: 2.2 KiB |
@ -0,0 +1,348 @@ |
|||||||
|
/* XPM */ |
||||||
|
static char *graphic[] = { |
||||||
|
/* width height num_colors chars_per_pixel */ |
||||||
|
"32 32 309 2", |
||||||
|
/* colors */ |
||||||
|
" c None", |
||||||
|
". c #444444", |
||||||
|
"X c #474747", |
||||||
|
"o c #666666", |
||||||
|
"O c #888888", |
||||||
|
"+ c None", |
||||||
|
"@ c #AAAAAA", |
||||||
|
"# c None", |
||||||
|
"$ c #CCCCCC", |
||||||
|
"% c #474747", |
||||||
|
"& c #EEEEEE", |
||||||
|
"* c #535353", |
||||||
|
"= c None", |
||||||
|
"- c #757575", |
||||||
|
"; c #979797", |
||||||
|
": c #B9B9B9", |
||||||
|
"> c #DBDBDB", |
||||||
|
", c #FDFDFD", |
||||||
|
"< c #626262", |
||||||
|
"1 c #848484", |
||||||
|
"2 c #A6A6A6", |
||||||
|
"3 c #C8C8C8", |
||||||
|
"4 c #EAEAEA", |
||||||
|
"5 c #686868", |
||||||
|
"6 c #737373", |
||||||
|
"7 c #717171", |
||||||
|
"8 c #939393", |
||||||
|
"9 c #B5B5B5", |
||||||
|
"0 c #D7D7D7", |
||||||
|
"q c #F9F9F9", |
||||||
|
"w c #3C3C3C", |
||||||
|
"e c #5E5E5E", |
||||||
|
"r c #808080", |
||||||
|
"t c #4E4E4E", |
||||||
|
"y c None", |
||||||
|
"u c #A2A2A2", |
||||||
|
"i c None", |
||||||
|
"p c #C4C4C4", |
||||||
|
"a c #E6E6E6", |
||||||
|
"s c #4B4B4B", |
||||||
|
"d c None", |
||||||
|
"f c None", |
||||||
|
"g c #6D6D6D", |
||||||
|
"h c #8F8F8F", |
||||||
|
"j c #B1B1B1", |
||||||
|
"k c #D3D3D3", |
||||||
|
"l c #F5F5F5", |
||||||
|
"z c None", |
||||||
|
"x c None", |
||||||
|
"c c #434343", |
||||||
|
"v c None", |
||||||
|
"b c #5A5A5A", |
||||||
|
"n c None", |
||||||
|
"m c #7C7C7C", |
||||||
|
"M c None", |
||||||
|
"N c #9E9E9E", |
||||||
|
"B c #C0C0C0", |
||||||
|
"V c None", |
||||||
|
"C c #E2E2E2", |
||||||
|
"Z c None", |
||||||
|
"A c #5C5C5C", |
||||||
|
"S c #474747", |
||||||
|
"D c None", |
||||||
|
"F c #696969", |
||||||
|
"G c #8B8B8B", |
||||||
|
"H c None", |
||||||
|
"J c #ADADAD", |
||||||
|
"K c #CFCFCF", |
||||||
|
"L c #4A4A4A", |
||||||
|
"P c #F1F1F1", |
||||||
|
"I c None", |
||||||
|
"U c #565656", |
||||||
|
"Y c #787878", |
||||||
|
"T c #9A9A9A", |
||||||
|
"R c #BCBCBC", |
||||||
|
"E c #3F3F3F", |
||||||
|
"W c #DEDEDE", |
||||||
|
"Q c #6F6F6F", |
||||||
|
"! c None", |
||||||
|
"~ c #434343", |
||||||
|
"^ c #656565", |
||||||
|
"/ c None", |
||||||
|
"( c #878787", |
||||||
|
") c #A9A9A9", |
||||||
|
"_ c #CBCBCB", |
||||||
|
"` c #EDEDED", |
||||||
|
"' c None", |
||||||
|
"] c #525252", |
||||||
|
"[ c None", |
||||||
|
"{ c None", |
||||||
|
"} c #747474", |
||||||
|
"| c #6B6B6B", |
||||||
|
" . c #969696", |
||||||
|
".. c #B8B8B8", |
||||||
|
"X. c None", |
||||||
|
"o. c #DADADA", |
||||||
|
"O. c #515151", |
||||||
|
"+. c None", |
||||||
|
"@. c #FCFCFC", |
||||||
|
"#. c None", |
||||||
|
"$. c #3F3F3F", |
||||||
|
"%. c #464646", |
||||||
|
"&. c #616161", |
||||||
|
"*. c #838383", |
||||||
|
"=. c #A5A5A5", |
||||||
|
"-. c #C7C7C7", |
||||||
|
";. c #3B3B3B", |
||||||
|
":. c None", |
||||||
|
">. c #E9E9E9", |
||||||
|
",. c #464646", |
||||||
|
"<. c None", |
||||||
|
"1. c #3B3B3B", |
||||||
|
"2. c None", |
||||||
|
"3. c #4E4E4E", |
||||||
|
"4. c #707070", |
||||||
|
"5. c #929292", |
||||||
|
"6. c #676767", |
||||||
|
"7. c #B4B4B4", |
||||||
|
"8. c #424242", |
||||||
|
"9. c #D6D6D6", |
||||||
|
"0. c #F8F8F8", |
||||||
|
"q. c #3B3B3B", |
||||||
|
"w. c None", |
||||||
|
"e. c None", |
||||||
|
"r. c #5D5D5D", |
||||||
|
"t. c None", |
||||||
|
"y. c #7F7F7F", |
||||||
|
"u. c None", |
||||||
|
"i. c #A1A1A1", |
||||||
|
"p. c #C3C3C3", |
||||||
|
"a. c #E5E5E5", |
||||||
|
"s. c None", |
||||||
|
"d. c None", |
||||||
|
"f. c None", |
||||||
|
"g. c #373737", |
||||||
|
"h. c None", |
||||||
|
"j. c #4D4D4D", |
||||||
|
"k. c #4A4A4A", |
||||||
|
"l. c #6C6C6C", |
||||||
|
"z. c #8E8E8E", |
||||||
|
"x. c #424242", |
||||||
|
"c. c None", |
||||||
|
"v. c #B0B0B0", |
||||||
|
"b. c #4D4D4D", |
||||||
|
"n. c #D2D2D2", |
||||||
|
"m. c None", |
||||||
|
"M. c #F4F4F4", |
||||||
|
"N. c #424242", |
||||||
|
"B. c None", |
||||||
|
"V. c #4D4D4D", |
||||||
|
"C. c None", |
||||||
|
"Z. c #7B7B7B", |
||||||
|
"A. c #9D9D9D", |
||||||
|
"S. c None", |
||||||
|
"D. c #BFBFBF", |
||||||
|
"F. c #E1E1E1", |
||||||
|
"G. c None", |
||||||
|
"H. c #636363", |
||||||
|
"J. c None", |
||||||
|
"K. c #424242", |
||||||
|
"L. c #464646", |
||||||
|
"P. c None", |
||||||
|
"I. c None", |
||||||
|
"U. c #686868", |
||||||
|
"Y. c #8A8A8A", |
||||||
|
"T. c #424242", |
||||||
|
"R. c None", |
||||||
|
"E. c #ACACAC", |
||||||
|
"W. c #CECECE", |
||||||
|
"Q. c None", |
||||||
|
"!. c #424242", |
||||||
|
"~. c #F0F0F0", |
||||||
|
"^. c #555555", |
||||||
|
"/. c #777777", |
||||||
|
"(. c None", |
||||||
|
"). c #999999", |
||||||
|
"_. c None", |
||||||
|
"`. c #BBBBBB", |
||||||
|
"'. c #DDDDDD", |
||||||
|
"]. c None", |
||||||
|
"[. c #FFFFFF", |
||||||
|
"{. c #424242", |
||||||
|
"}. c None", |
||||||
|
"|. c #868686", |
||||||
|
" X c #A8A8A8", |
||||||
|
".X c #CACACA", |
||||||
|
"XX c #3E3E3E", |
||||||
|
"oX c #ECECEC", |
||||||
|
"OX c #454545", |
||||||
|
"+X c #515151", |
||||||
|
"@X c #737373", |
||||||
|
"#X c #959595", |
||||||
|
"$X c #B7B7B7", |
||||||
|
"%X c #D9D9D9", |
||||||
|
"&X c #454545", |
||||||
|
"*X c #FBFBFB", |
||||||
|
"=X c None", |
||||||
|
"-X c None", |
||||||
|
";X c #454545", |
||||||
|
":X c #606060", |
||||||
|
">X c #A4A4A4", |
||||||
|
",X c #3A3A3A", |
||||||
|
"<X c #C6C6C6", |
||||||
|
"1X c #717171", |
||||||
|
"2X c #E8E8E8", |
||||||
|
"3X c #3A3A3A", |
||||||
|
"4X c None", |
||||||
|
"5X c None", |
||||||
|
"6X c #4D4D4D", |
||||||
|
"7X c #6F6F6F", |
||||||
|
"8X c #919191", |
||||||
|
"9X c #B3B3B3", |
||||||
|
"0X c #4C4C4C", |
||||||
|
"qX c None", |
||||||
|
"wX c #D5D5D5", |
||||||
|
"eX c #F7F7F7", |
||||||
|
"rX c #4C4C4C", |
||||||
|
"tX c #5C5C5C", |
||||||
|
"yX c #A0A0A0", |
||||||
|
"uX c #5E5E5E", |
||||||
|
"iX c #C2C2C2", |
||||||
|
"pX c #E4E4E4", |
||||||
|
"aX c None", |
||||||
|
"sX c #6D6D6D", |
||||||
|
"dX c #494949", |
||||||
|
"fX c None", |
||||||
|
"gX c #6B6B6B", |
||||||
|
"hX c #6D6D6D", |
||||||
|
"jX c #8D8D8D", |
||||||
|
"kX c #AFAFAF", |
||||||
|
"lX c #D1D1D1", |
||||||
|
"zX c None", |
||||||
|
"xX c #F3F3F3", |
||||||
|
"cX c None", |
||||||
|
"vX c #454545", |
||||||
|
"bX c #6D6D6D", |
||||||
|
"nX c #585858", |
||||||
|
"mX c #7A7A7A", |
||||||
|
"MX c #414141", |
||||||
|
"NX c #9C9C9C", |
||||||
|
"BX c None", |
||||||
|
"VX c #BEBEBE", |
||||||
|
"CX c #E0E0E0", |
||||||
|
"ZX c #414141", |
||||||
|
"AX c #414141", |
||||||
|
"SX c #676767", |
||||||
|
"DX c #414141", |
||||||
|
"FX c #898989", |
||||||
|
"GX c #ABABAB", |
||||||
|
"HX c #CDCDCD", |
||||||
|
"JX c #EFEFEF", |
||||||
|
"KX c None", |
||||||
|
"LX c #545454", |
||||||
|
"PX c #767676", |
||||||
|
"IX c None", |
||||||
|
"UX c #989898", |
||||||
|
"YX c #BABABA", |
||||||
|
"TX c #DCDCDC", |
||||||
|
"RX c #FEFEFE", |
||||||
|
"EX c #636363", |
||||||
|
"WX c #858585", |
||||||
|
"QX c #A7A7A7", |
||||||
|
"!X c #C9C9C9", |
||||||
|
"~X c #EBEBEB", |
||||||
|
"^X c #3D3D3D", |
||||||
|
"/X c #505050", |
||||||
|
"(X c #727272", |
||||||
|
")X c #696969", |
||||||
|
"_X c #949494", |
||||||
|
"`X c #B6B6B6", |
||||||
|
"'X c None", |
||||||
|
"]X c #D8D8D8", |
||||||
|
"[X c #FAFAFA", |
||||||
|
"{X c None", |
||||||
|
"}X c #5F5F5F", |
||||||
|
"|X c #818181", |
||||||
|
" o c None", |
||||||
|
".o c #A3A3A3", |
||||||
|
"Xo c #C5C5C5", |
||||||
|
"oo c #E7E7E7", |
||||||
|
"Oo c #6E6E6E", |
||||||
|
"+o c #909090", |
||||||
|
"@o c #B2B2B2", |
||||||
|
"#o c #D4D4D4", |
||||||
|
"$o c #F6F6F6", |
||||||
|
"%o c #5B5B5B", |
||||||
|
"&o c #7D7D7D", |
||||||
|
"*o c #9F9F9F", |
||||||
|
"=o c #C1C1C1", |
||||||
|
"-o c #E3E3E3", |
||||||
|
";o c #656565", |
||||||
|
":o c None", |
||||||
|
">o c #484848", |
||||||
|
",o c #6A6A6A", |
||||||
|
"<o c #8C8C8C", |
||||||
|
"1o c None", |
||||||
|
"2o c #AEAEAE", |
||||||
|
"3o c #353535", |
||||||
|
"4o c #D0D0D0", |
||||||
|
"5o c None", |
||||||
|
"6o c #F2F2F2", |
||||||
|
"7o c #444444", |
||||||
|
"8o c #444444", |
||||||
|
"9o c #575757", |
||||||
|
"0o c #797979", |
||||||
|
"qo c #707070", |
||||||
|
"wo c #9B9B9B", |
||||||
|
"eo c #BDBDBD", |
||||||
|
"ro c #DFDFDF", |
||||||
|
/* pixels */ |
||||||
|
" h.:o5ohXH.;osXc.:.]. ", |
||||||
|
" V fX% vX6XU e r.^.s 8oX 4XB. ", |
||||||
|
" P.A AXU |XQXB $ lXlX_ VX>X&o+XE uX+. ", |
||||||
|
" m.;X* _X3 C P 0.*X[X[X@.0.& roXoh 6X8.v ", |
||||||
|
" { ^XPX=oa.eXM.%X..u 8 8XwokX0 6oxXC VXg XX/ ", |
||||||
|
" d ~ G 9.~.eX<X5.|Xy.mXPXOo4.<oE.v.$ l ` lX|Xq.D ", |
||||||
|
" H 1.Y.o.$oooA.h A. .r.+X+XnXF - YXTXiX@ >.6owX|Xg.s. ", |
||||||
|
" I.,.- wXl ro; @ 2o=.mXm _ Xo-.K r =.XoyXg g a.P 4o,o%.KX ", |
||||||
|
" bX+XB ~.oo*oeo9 2 GX@XkX$ p -.W (Xy.Y g 7Xr.F 4 4 YXS 1X ", |
||||||
|
" <.DX8 pX$oGX..2o.o XJ gX_ !X$ k W.] Z.0o7 g r N j xXW O MXu. ", |
||||||
|
" 'XLX<X$o-.jXyXN >X@ ).} W W.#opXGXU y.&o_X..9.a D.n.JXB >ow. ", |
||||||
|
"h.b.y.rol 8X8XwoN yXQXZ.8 a ]XTX~.*.7 ) =ok 9.]XCX0 2 P o.(Xt d.", |
||||||
|
"IX7o=.& o.&o#XUX.oE.7.7XYXooC oo>.L.F =.HXlX#o-.=.m :XW 2X).T._.", |
||||||
|
"M s eoeX: O v.eoB eo@ogX'.>.~X6opX=.: /.3 @o5.PX,o,o9o..6o9X. Z ", |
||||||
|
"Q.9o!X$o..3 k .XXop .} $oJXM.0.[.[.).l.z.Z./.PX7XF gXGXl B dX+ ", |
||||||
|
"Q tXW.M...wXwX.X7.Y +Xv.[.q , [.kX< tX|XWXr 0oPX( kXW.: ~.-.* 6.", |
||||||
|
"qo%oHXM.: $ 7..o} &ooX[.RX, RXJX* &o_X<o*.1 .7.K o.wX..~.<X] 5 ", |
||||||
|
"R.U 3 0.2oG 5.T U.-.W *X*XeX@.3 :XA.8X+oA.7.p.3 W.0 Xo..P D.>oJ.", |
||||||
|
"! >o`.$o`.r _X_XFXEX,oRXxX~.*X_X&.8X8 yX) J @oeo$XUXEX: P j {.# ", |
||||||
|
"e.!.i.oXTXy.i.`X.X( QX*XoX>.$o|X%o4.(X@X} /.PX%oF F }Xrooo .AXy ", |
||||||
|
"= j.mX'.6oGX0 0 #oy.HXJXa -oa.oo-oroW TXo.]XF.tXo ^ O $o0 l.O.}.", |
||||||
|
" 2.3.iX6o4oeoC iXY & 4 oopXCXW TX]X9.k 4olX$ dXy.Z.K & `.. f ", |
||||||
|
" X.K.<oCXM.2o; ^ SX4op =oB =o=oB D.VXVXR iXY.mX_ YXxX> r c z ", |
||||||
|
" 6 dX`.~X4 F U dX$.k.}Xg g F SX^ :Xb e F mXB @o>.a 7.{.#. ", |
||||||
|
" =X&XgXK 6oa 7 (XJ 3 4o!XiXVX@ou UXN J eo$X2 pX4 _ e V.n ", |
||||||
|
" o3Xy.wX~.~X@op 0 wXW.YXwo( |.5.A.*o .@ 4 ~X4o@X;.I ", |
||||||
|
" G.w y.4o~Xl K @o Xr < EXOo/.&o*.NX4oxXa _ @X3of. ", |
||||||
|
" aX,XU.: CX~.6oo.7.*o .T XD.W xX& TX7.e DXcX ", |
||||||
|
" i OX>o( D.> 4 xX0.0.eX$oP 2X%X`.r . L 5X ", |
||||||
|
" S.[ N.dX4.UX9X=o-.-.B j #Xl.L.x.' C. ", |
||||||
|
" (.BXrXK.~ >o/X/X>o~ ZX0X{Xx ", |
||||||
|
" zXqXt.)X| w.-X1o " |
||||||
|
}; |
After Width: | Height: | Size: 5.8 KiB |
@ -0,0 +1,612 @@ |
|||||||
|
/* XPM */ |
||||||
|
static char *graphic[] = { |
||||||
|
/* width height num_colors chars_per_pixel */ |
||||||
|
"64 64 541 2", |
||||||
|
/* colors */ |
||||||
|
" c None", |
||||||
|
". c None", |
||||||
|
"X c #444444", |
||||||
|
"o c None", |
||||||
|
"O c #404040", |
||||||
|
"+ c #666666", |
||||||
|
"@ c #565656", |
||||||
|
"# c #474747", |
||||||
|
"$ c #888888", |
||||||
|
"% c #4A4A4A", |
||||||
|
"& c None", |
||||||
|
"* c #404040", |
||||||
|
"= c #AAAAAA", |
||||||
|
"- c #CCCCCC", |
||||||
|
"; c None", |
||||||
|
": c #EEEEEE", |
||||||
|
"> c #474747", |
||||||
|
", c #4A4A4A", |
||||||
|
"< c None", |
||||||
|
"1 c #404040", |
||||||
|
"2 c #434343", |
||||||
|
"3 c #404040", |
||||||
|
"4 c None", |
||||||
|
"5 c None", |
||||||
|
"6 c None", |
||||||
|
"7 c #535353", |
||||||
|
"8 c #404040", |
||||||
|
"9 c #404040", |
||||||
|
"0 c #757575", |
||||||
|
"q c #404040", |
||||||
|
"w c #979797", |
||||||
|
"e c #B9B9B9", |
||||||
|
"r c #404040", |
||||||
|
"t c None", |
||||||
|
"y c #DBDBDB", |
||||||
|
"u c #404040", |
||||||
|
"i c None", |
||||||
|
"p c #404040", |
||||||
|
"a c #FDFDFD", |
||||||
|
"s c #404040", |
||||||
|
"d c #474747", |
||||||
|
"f c #4A4A4A", |
||||||
|
"g c #404040", |
||||||
|
"h c #626262", |
||||||
|
"j c #848484", |
||||||
|
"k c None", |
||||||
|
"l c #515151", |
||||||
|
"z c None", |
||||||
|
"x c #A6A6A6", |
||||||
|
"c c #C8C8C8", |
||||||
|
"v c None", |
||||||
|
"b c None", |
||||||
|
"n c #EAEAEA", |
||||||
|
"m c #515151", |
||||||
|
"M c None", |
||||||
|
"N c #4F4F4F", |
||||||
|
"B c #434343", |
||||||
|
"V c None", |
||||||
|
"C c None", |
||||||
|
"Z c #717171", |
||||||
|
"A c None", |
||||||
|
"S c #939393", |
||||||
|
"D c None", |
||||||
|
"F c #B5B5B5", |
||||||
|
"G c #4A4A4A", |
||||||
|
"H c #474747", |
||||||
|
"J c #D7D7D7", |
||||||
|
"K c #434343", |
||||||
|
"L c #525252", |
||||||
|
"P c #474747", |
||||||
|
"I c #F9F9F9", |
||||||
|
"U c None", |
||||||
|
"Y c #3C3C3C", |
||||||
|
"T c #5E5E5E", |
||||||
|
"R c #808080", |
||||||
|
"E c #4D4D4D", |
||||||
|
"W c #555555", |
||||||
|
"Q c None", |
||||||
|
"! c #A2A2A2", |
||||||
|
"~ c None", |
||||||
|
"^ c #525252", |
||||||
|
"/ c #C4C4C4", |
||||||
|
"( c None", |
||||||
|
") c #E6E6E6", |
||||||
|
"_ c None", |
||||||
|
"` c None", |
||||||
|
"' c None", |
||||||
|
"] c None", |
||||||
|
"[ c #4B4B4B", |
||||||
|
"{ c #4D4D4D", |
||||||
|
"} c #6D6D6D", |
||||||
|
"| c #8F8F8F", |
||||||
|
" . c #464646", |
||||||
|
".. c None", |
||||||
|
"X. c None", |
||||||
|
"o. c #B1B1B1", |
||||||
|
"O. c None", |
||||||
|
"+. c #D3D3D3", |
||||||
|
"@. c #F5F5F5", |
||||||
|
"#. c None", |
||||||
|
"$. c None", |
||||||
|
"%. c None", |
||||||
|
"&. c None", |
||||||
|
"*. c #383838", |
||||||
|
"=. c #434343", |
||||||
|
"-. c #5A5A5A", |
||||||
|
";. c #434343", |
||||||
|
":. c #7C7C7C", |
||||||
|
">. c None", |
||||||
|
",. c None", |
||||||
|
"<. c #9E9E9E", |
||||||
|
"1. c #464646", |
||||||
|
"2. c #515151", |
||||||
|
"3. c #4E4E4E", |
||||||
|
"4. c #C0C0C0", |
||||||
|
"5. c None", |
||||||
|
"6. c #E2E2E2", |
||||||
|
"7. c #474747", |
||||||
|
"8. c #3F3F3F", |
||||||
|
"9. c #474747", |
||||||
|
"0. c #464646", |
||||||
|
"q. c #474747", |
||||||
|
"w. c #696969", |
||||||
|
"e. c None", |
||||||
|
"r. c #4A4A4A", |
||||||
|
"t. c None", |
||||||
|
"y. c None", |
||||||
|
"u. c #464646", |
||||||
|
"i. c #8B8B8B", |
||||||
|
"p. c None", |
||||||
|
"a. c #ADADAD", |
||||||
|
"s. c None", |
||||||
|
"d. c #CFCFCF", |
||||||
|
"f. c #494949", |
||||||
|
"g. c #464646", |
||||||
|
"h. c #515151", |
||||||
|
"j. c #F1F1F1", |
||||||
|
"k. c None", |
||||||
|
"l. c #434343", |
||||||
|
"z. c None", |
||||||
|
"x. c #515151", |
||||||
|
"c. c None", |
||||||
|
"v. c #343434", |
||||||
|
"b. c #565656", |
||||||
|
"n. c #787878", |
||||||
|
"m. c None", |
||||||
|
"M. c None", |
||||||
|
"N. c #9A9A9A", |
||||||
|
"B. c #4A4A4A", |
||||||
|
"V. c #434343", |
||||||
|
"C. c #BCBCBC", |
||||||
|
"Z. c #3F3F3F", |
||||||
|
"A. c #DEDEDE", |
||||||
|
"S. c #3F3F3F", |
||||||
|
"D. c #434343", |
||||||
|
"F. c #3F3F3F", |
||||||
|
"G. c None", |
||||||
|
"H. c #4D4D4D", |
||||||
|
"J. c #434343", |
||||||
|
"K. c None", |
||||||
|
"L. c #3F3F3F", |
||||||
|
"P. c None", |
||||||
|
"I. c #434343", |
||||||
|
"U. c #3F3F3F", |
||||||
|
"Y. c #656565", |
||||||
|
"T. c None", |
||||||
|
"R. c #3F3F3F", |
||||||
|
"E. c #878787", |
||||||
|
"W. c #424242", |
||||||
|
"Q. c None", |
||||||
|
"!. c #A9A9A9", |
||||||
|
"~. c #464646", |
||||||
|
"^. c #CBCBCB", |
||||||
|
"/. c #3F3F3F", |
||||||
|
"(. c #4D4D4D", |
||||||
|
"). c #EDEDED", |
||||||
|
"_. c None", |
||||||
|
"`. c #464646", |
||||||
|
"'. c None", |
||||||
|
"]. c #3F3F3F", |
||||||
|
"[. c #525252", |
||||||
|
"{. c #464646", |
||||||
|
"}. c None", |
||||||
|
"|. c #747474", |
||||||
|
" X c #3F3F3F", |
||||||
|
".X c #969696", |
||||||
|
"XX c #3F3F3F", |
||||||
|
"oX c #4D4D4D", |
||||||
|
"OX c #B8B8B8", |
||||||
|
"+X c #555555", |
||||||
|
"@X c #DADADA", |
||||||
|
"#X c #545454", |
||||||
|
"$X c #3F3F3F", |
||||||
|
"%X c #3F3F3F", |
||||||
|
"&X c #FCFCFC", |
||||||
|
"*X c None", |
||||||
|
"=X c None", |
||||||
|
"-X c #464646", |
||||||
|
";X c #3F3F3F", |
||||||
|
":X c #616161", |
||||||
|
">X c #545454", |
||||||
|
",X c None", |
||||||
|
"<X c #838383", |
||||||
|
"1X c #494949", |
||||||
|
"2X c #464646", |
||||||
|
"3X c #A5A5A5", |
||||||
|
"4X c None", |
||||||
|
"5X c #C7C7C7", |
||||||
|
"6X c #E9E9E9", |
||||||
|
"7X c None", |
||||||
|
"8X c None", |
||||||
|
"9X c None", |
||||||
|
"0X c #4E4E4E", |
||||||
|
"qX c #707070", |
||||||
|
"wX c #494949", |
||||||
|
"eX c #494949", |
||||||
|
"rX c #929292", |
||||||
|
"tX c #424242", |
||||||
|
"yX c #B4B4B4", |
||||||
|
"uX c #D6D6D6", |
||||||
|
"iX c None", |
||||||
|
"pX c #F8F8F8", |
||||||
|
"aX c #3B3B3B", |
||||||
|
"sX c #424242", |
||||||
|
"dX c #5D5D5D", |
||||||
|
"fX c #545454", |
||||||
|
"gX c #424242", |
||||||
|
"hX c #7F7F7F", |
||||||
|
"jX c #A1A1A1", |
||||||
|
"kX c #545454", |
||||||
|
"lX c None", |
||||||
|
"zX c #C3C3C3", |
||||||
|
"xX c #E5E5E5", |
||||||
|
"cX c None", |
||||||
|
"vX c #4D4D4D", |
||||||
|
"bX c #545454", |
||||||
|
"nX c None", |
||||||
|
"mX c #4A4A4A", |
||||||
|
"MX c None", |
||||||
|
"NX c None", |
||||||
|
"BX c None", |
||||||
|
"VX c #6C6C6C", |
||||||
|
"CX c None", |
||||||
|
"ZX c #4D4D4D", |
||||||
|
"AX c None", |
||||||
|
"SX c #4C4C4C", |
||||||
|
"DX c #8E8E8E", |
||||||
|
"FX c #B0B0B0", |
||||||
|
"GX c #D2D2D2", |
||||||
|
"HX c None", |
||||||
|
"JX c None", |
||||||
|
"KX c #F4F4F4", |
||||||
|
"LX c #454545", |
||||||
|
"PX c None", |
||||||
|
"IX c None", |
||||||
|
"UX c #595959", |
||||||
|
"YX c #424242", |
||||||
|
"TX c #454545", |
||||||
|
"RX c #7B7B7B", |
||||||
|
"EX c #9D9D9D", |
||||||
|
"WX c None", |
||||||
|
"QX c #BFBFBF", |
||||||
|
"!X c #E1E1E1", |
||||||
|
"~X c #464646", |
||||||
|
"^X c #505050", |
||||||
|
"/X c None", |
||||||
|
"(X c #464646", |
||||||
|
")X c #464646", |
||||||
|
"_X c None", |
||||||
|
"`X c #464646", |
||||||
|
"'X c #686868", |
||||||
|
"]X c #424242", |
||||||
|
"[X c #8A8A8A", |
||||||
|
"{X c #ACACAC", |
||||||
|
"}X c #505050", |
||||||
|
"|X c #424242", |
||||||
|
" o c #484848", |
||||||
|
".o c #CECECE", |
||||||
|
"Xo c #F0F0F0", |
||||||
|
"oo c #494949", |
||||||
|
"Oo c #424242", |
||||||
|
"+o c #424242", |
||||||
|
"@o c #555555", |
||||||
|
"#o c #777777", |
||||||
|
"$o c None", |
||||||
|
"%o c #454545", |
||||||
|
"&o c #999999", |
||||||
|
"*o c #3E3E3E", |
||||||
|
"=o c #4C4C4C", |
||||||
|
"-o c #BBBBBB", |
||||||
|
";o c None", |
||||||
|
":o c #424242", |
||||||
|
">o c #DDDDDD", |
||||||
|
",o c #424242", |
||||||
|
"<o c None", |
||||||
|
"1o c #424242", |
||||||
|
"2o c None", |
||||||
|
"3o c #3E3E3E", |
||||||
|
"4o c #4C4C4C", |
||||||
|
"5o c #424242", |
||||||
|
"6o c #494949", |
||||||
|
"7o c #3E3E3E", |
||||||
|
"8o c #424242", |
||||||
|
"9o c None", |
||||||
|
"0o c #646464", |
||||||
|
"qo c None", |
||||||
|
"wo c #868686", |
||||||
|
"eo c None", |
||||||
|
"ro c #A8A8A8", |
||||||
|
"to c #CACACA", |
||||||
|
"yo c #414141", |
||||||
|
"uo c #ECECEC", |
||||||
|
"io c #4C4C4C", |
||||||
|
"po c #454545", |
||||||
|
"ao c None", |
||||||
|
"so c #3E3E3E", |
||||||
|
"do c #454545", |
||||||
|
"fo c #515151", |
||||||
|
"go c #3E3E3E", |
||||||
|
"ho c #737373", |
||||||
|
"jo c #3E3E3E", |
||||||
|
"ko c #959595", |
||||||
|
"lo c None", |
||||||
|
"zo c #B7B7B7", |
||||||
|
"xo c #3E3E3E", |
||||||
|
"co c #505050", |
||||||
|
"vo c #454545", |
||||||
|
"bo c #D9D9D9", |
||||||
|
"no c #3E3E3E", |
||||||
|
"mo c #FBFBFB", |
||||||
|
"Mo c None", |
||||||
|
"No c #3E3E3E", |
||||||
|
"Bo c None", |
||||||
|
"Vo c None", |
||||||
|
"Co c None", |
||||||
|
"Zo c #414141", |
||||||
|
"Ao c #606060", |
||||||
|
"So c #828282", |
||||||
|
"Do c #575757", |
||||||
|
"Fo c #A4A4A4", |
||||||
|
"Go c #454545", |
||||||
|
"Ho c #C6C6C6", |
||||||
|
"Jo c #E8E8E8", |
||||||
|
"Ko c None", |
||||||
|
"Lo c #484848", |
||||||
|
"Po c #4F4F4F", |
||||||
|
"Io c None", |
||||||
|
"Uo c None", |
||||||
|
"Yo c None", |
||||||
|
"To c #4D4D4D", |
||||||
|
"Ro c #6F6F6F", |
||||||
|
"Eo c None", |
||||||
|
"Wo c #919191", |
||||||
|
"Qo c None", |
||||||
|
"!o c #B3B3B3", |
||||||
|
"~o c #D5D5D5", |
||||||
|
"^o c #484848", |
||||||
|
"/o c None", |
||||||
|
"(o c #F7F7F7", |
||||||
|
")o c #454545", |
||||||
|
"_o c #535353", |
||||||
|
"`o c #5C5C5C", |
||||||
|
"'o c None", |
||||||
|
"]o c #7E7E7E", |
||||||
|
"[o c None", |
||||||
|
"{o c #414141", |
||||||
|
"}o c #535353", |
||||||
|
"|o c #A0A0A0", |
||||||
|
" O c None", |
||||||
|
".O c #484848", |
||||||
|
"XO c #C2C2C2", |
||||||
|
"oO c #454545", |
||||||
|
"OO c #414141", |
||||||
|
"+O c #E4E4E4", |
||||||
|
"@O c None", |
||||||
|
"#O c #414141", |
||||||
|
"$O c #4C4C4C", |
||||||
|
"%O c #494949", |
||||||
|
"&O c #494949", |
||||||
|
"*O c #414141", |
||||||
|
"=O c #6B6B6B", |
||||||
|
"-O c #8D8D8D", |
||||||
|
";O c None", |
||||||
|
":O c #4C4C4C", |
||||||
|
">O c #AFAFAF", |
||||||
|
",O c #535353", |
||||||
|
"<O c #D1D1D1", |
||||||
|
"1O c None", |
||||||
|
"2O c #F3F3F3", |
||||||
|
"3O c #444444", |
||||||
|
"4O c None", |
||||||
|
"5O c None", |
||||||
|
"6O c None", |
||||||
|
"7O c #585858", |
||||||
|
"8O c #7A7A7A", |
||||||
|
"9O c #414141", |
||||||
|
"0O c None", |
||||||
|
"qO c #9C9C9C", |
||||||
|
"wO c #4C4C4C", |
||||||
|
"eO c #BEBEBE", |
||||||
|
"rO c #E0E0E0", |
||||||
|
"tO c #454545", |
||||||
|
"yO c #575757", |
||||||
|
"uO c #454545", |
||||||
|
"iO c #454545", |
||||||
|
"pO c #676767", |
||||||
|
"aO c None", |
||||||
|
"sO c #898989", |
||||||
|
"dO c #4F4F4F", |
||||||
|
"fO c None", |
||||||
|
"gO c #ABABAB", |
||||||
|
"hO c #5A5A5A", |
||||||
|
"jO c #CDCDCD", |
||||||
|
"kO c #444444", |
||||||
|
"lO c #EFEFEF", |
||||||
|
"zO c #414141", |
||||||
|
"xO c None", |
||||||
|
"cO c #414141", |
||||||
|
"vO c #545454", |
||||||
|
"bO c #767676", |
||||||
|
"nO c #414141", |
||||||
|
"mO c #414141", |
||||||
|
"MO c #989898", |
||||||
|
"NO c None", |
||||||
|
"BO c #414141", |
||||||
|
"VO c #BABABA", |
||||||
|
"CO c #575757", |
||||||
|
"ZO c #DCDCDC", |
||||||
|
"AO c #414141", |
||||||
|
"SO c #414141", |
||||||
|
"DO c #FEFEFE", |
||||||
|
"FO c #535353", |
||||||
|
"GO c #4B4B4B", |
||||||
|
"HO c None", |
||||||
|
"JO c #484848", |
||||||
|
"KO c #414141", |
||||||
|
"LO c None", |
||||||
|
"PO c None", |
||||||
|
"IO c #565656", |
||||||
|
"UO c None", |
||||||
|
"YO c #636363", |
||||||
|
"TO c #535353", |
||||||
|
"RO c None", |
||||||
|
"EO c #858585", |
||||||
|
"WO c #A7A7A7", |
||||||
|
"QO c None", |
||||||
|
"!O c #C9C9C9", |
||||||
|
"~O c #4B4B4B", |
||||||
|
"^O c None", |
||||||
|
"/O c #EBEBEB", |
||||||
|
"(O c #505050", |
||||||
|
")O c #444444", |
||||||
|
"_O c #727272", |
||||||
|
"`O c #949494", |
||||||
|
"'O c #B6B6B6", |
||||||
|
"]O c None", |
||||||
|
"[O c #535353", |
||||||
|
"{O c #484848", |
||||||
|
"}O c #D8D8D8", |
||||||
|
"|O c #484848", |
||||||
|
" + c #FAFAFA", |
||||||
|
".+ c None", |
||||||
|
"X+ c #484848", |
||||||
|
"o+ c None", |
||||||
|
"O+ c #404040", |
||||||
|
"++ c #3D3D3D", |
||||||
|
"@+ c #5F5F5F", |
||||||
|
"#+ c None", |
||||||
|
"$+ c #818181", |
||||||
|
"%+ c #444444", |
||||||
|
"&+ c #535353", |
||||||
|
"*+ c #A3A3A3", |
||||||
|
"=+ c None", |
||||||
|
"-+ c None", |
||||||
|
";+ c #C5C5C5", |
||||||
|
":+ c #E7E7E7", |
||||||
|
">+ c None", |
||||||
|
",+ c #4E4E4E", |
||||||
|
"<+ c None", |
||||||
|
"1+ c #4C4C4C", |
||||||
|
"2+ c None", |
||||||
|
"3+ c #6E6E6E", |
||||||
|
"4+ c None", |
||||||
|
"5+ c #909090", |
||||||
|
"6+ c None", |
||||||
|
"7+ c #B2B2B2", |
||||||
|
"8+ c None", |
||||||
|
"9+ c #D4D4D4", |
||||||
|
"0+ c #F6F6F6", |
||||||
|
"q+ c None", |
||||||
|
"w+ c #404040", |
||||||
|
"e+ c None", |
||||||
|
"r+ c #474747", |
||||||
|
"t+ c #404040", |
||||||
|
"y+ c #444444", |
||||||
|
"u+ c #5B5B5B", |
||||||
|
"i+ c #444444", |
||||||
|
"p+ c #7D7D7D", |
||||||
|
"a+ c #4F4F4F", |
||||||
|
"s+ c #474747", |
||||||
|
"d+ c None", |
||||||
|
"f+ c #9F9F9F", |
||||||
|
"g+ c #4F4F4F", |
||||||
|
"h+ c None", |
||||||
|
"j+ c #C1C1C1", |
||||||
|
"k+ c #444444", |
||||||
|
"l+ c None", |
||||||
|
"z+ c #E3E3E3", |
||||||
|
"x+ c #474747", |
||||||
|
"c+ c #404040", |
||||||
|
"v+ c None", |
||||||
|
"b+ c #484848", |
||||||
|
"n+ c None", |
||||||
|
"m+ c #484848", |
||||||
|
"M+ c #404040", |
||||||
|
"N+ c #6A6A6A", |
||||||
|
"B+ c None", |
||||||
|
"V+ c #444444", |
||||||
|
"C+ c #8C8C8C", |
||||||
|
"Z+ c None", |
||||||
|
"A+ c #AEAEAE", |
||||||
|
"S+ c #525252", |
||||||
|
"D+ c None", |
||||||
|
"F+ c #D0D0D0", |
||||||
|
"G+ c #F2F2F2", |
||||||
|
"H+ c #474747", |
||||||
|
"J+ c #525252", |
||||||
|
"K+ c #353535", |
||||||
|
"L+ c #434343", |
||||||
|
"P+ c #575757", |
||||||
|
"I+ c #797979", |
||||||
|
"U+ c #9B9B9B", |
||||||
|
"Y+ c #4B4B4B", |
||||||
|
"T+ c #BDBDBD", |
||||||
|
"R+ c #444444", |
||||||
|
"E+ c #DFDFDF", |
||||||
|
"W+ c None", |
||||||
|
"Q+ c #404040", |
||||||
|
"!+ c #444444", |
||||||
|
"~+ c None", |
||||||
|
"^+ c #404040", |
||||||
|
/* pixels */ |
||||||
|
" o <o>.loD+4+l+T.t.lXC D+y.>.cX ", |
||||||
|
" cXi ,XEoO.{ GO0.~.d Go2XJO# x+=o,+9X_ o+( 9o ", |
||||||
|
" AXc.K.SXu.OOO mOD.q.mX1+ToTo1+&OiO1oq L.gX.Ol h+t 4 ", |
||||||
|
" >.s.HOr+M+9 )XN 7O:X'XqX|.n.]op+n.hoRo+ @+@o[ J.so*OeXq+UOAX ", |
||||||
|
" MXP.RO2 U.uOfo@+} p+| jXa.zoT+QXzXXOQXT+zogOf+-ORXw.-.1+SOF.0.,.@O5 ", |
||||||
|
" o >+D L+7o)XP+w.]ow o.XO- +.uX}O@Xy ZOZOy boJ ~o<O^.j+A+`OI+YO(O1oF.^oQ.z o ", |
||||||
|
" MX; o8.R+b.N+<XFo4.d.uXy E+6.xX:+6Xn /O/O6XJo) +O!X>obo9+- T+jXhX0o0XBOgXPoP.<o ", |
||||||
|
" 6+$o3O/.0XY.hX3X/ GXboE+xX6X: G+KX0+(o(o(o(o(o0+@.KXXo/O:+z+>oJ F+j+jXI+`o`XR.wXBXAX ", |
||||||
|
" Uo1OO+V.7OqX.XT+<O@X!X:+).2O0+@.: z+~o5XeOzozoeO5XuX+OlO@.0+j./OxXA.J .oe Wow.0Xjo%o'.( ", |
||||||
|
" y.z.t+~X@+p+!.^.J E+JolO@.@.6X.oa.rXR bOZ } N+'XpOpO=ObOC+A++.uo@.2OuoxX>o~o5XFobOvOp B Q . ", |
||||||
|
" Uoz.c+%O0oEOzo<Oy +O).@.0+6.OX5+:.RXR <X<XSohX:.I+0 Z } } n.DX&o! j+) 0+G+n !X}OjOo.hXUXp K -+( ", |
||||||
|
" 6+#.t+%OY.-OT+9+E+Joj.0+:+e -O<Xi.rXWo-O$ j $+p+8O#o0 n.sO*+VO5Xc -o3X|oXOn KX: xXy F+zoj -.SO)O6 AX ", |
||||||
|
" <o$oZo7.YOC+j+uX!X/OKXKXd..XwokoEXqOMO| RXw.YOAoT dXT w.I+E.DXMO!o- +.<Oj+*+FouXKXj.:+ZO<OVOj 7O%X%o;O<o ", |
||||||
|
" o v LXV.AoEOT+~o!Xuo0+lO-oi.koFo3X! <.&owoP+X `X`XiOq.1+(Ofo[.fovO| ;++.~oJ <OA+i.C.XoG+:+ZO<Ozo]ovOjoioP.o ", |
||||||
|
" _.f.* UXp+zo9+rO/O0+uo>O-O*+A+gOroFo|oMOI+1+<.5XHoHo5X5X5X5X!O7+-.DXHo<O<OHoA+DXVX+ gO).2O:+ZOd.FX|.1+U.m y. ", |
||||||
|
" MXQo8.N qX!.F+A./O@.uoa.rXA+F o.a.!.3X|o`O=Ou++.+.jO.od.<OGX+.+OQXdX<.XOOXf+wobORo} Y.YOro: j.xXbo- ! + X %+v+cX ", |
||||||
|
" _X3OtO0o`Otoy JoKXlOFXkoF VOzo!oA+WO! jX&oY.n.>oXOQXj+zX/ Ho!O!X&ou+DXWo$+n.0 hoqXRo=O0oYO>Oj.lOz+uX/ -O7Oxo~O'o ", |
||||||
|
" AXHO3oP+p+-oJ +Oj.@.eOkoe j+T+'Oa.x Fo!.{X.XUXU+>ozXzX;+5X!OtoF+!XZ fo0 RX8On.bO|.Z Ro} N+YO'XXOKXuoE+GXF 0 mX9OIoMX ", |
||||||
|
" B+kO9.N+*+d.E+).0++.w OX;+T+FXWOFoWO= {X!.E.@oT+J Ho5X!O^.jO.obo<O[.u+8Op+RXI+#o|._OqX3+3+n.wokoZO2O:+@XtoqOT %XG 'o ", |
||||||
|
" 4 p.S.UXSoXObo:+@.6X|o{XeOFX3X! Fox ro!.gOFo|.h J <Oto- jOd.<O+.z+!o`X'Xp+]o:.8On.0 |.bOEO! 4.GXF = ).lO6.9+-o8OmXYXQO5 ", |
||||||
|
" iX .(Xw.! <OrO: @.C.-Ox |o<.|o! Fox WO!.!.U+h ]o6.d..oF+GX+.~oboJoC+&O_OR hXp+8OI+R S >O5X9+boy +.*+!OKX6X@X^.U+`o%XdOV ", |
||||||
|
" 9om.#O7 p+eO}O) KX+Oi.C+N.qO<.f+! *+3XWOroWO| @o*+z+<OGX9+uXJ boE+6.pOvO8O$+hXR [X|oe toGX~oJ bo@Xy zXFo6XlO!X+.zo_O`X-XYoo ", |
||||||
|
" HXE 3 AokojOA.uo@.VOp+ko&oqO<.f+jX! Fox x f+n.[.HorO~ouX}O@XZOA.:+.o(Oh hXE.`OgOQX^.d.F+GX9+uX}O@XZOJ 3Xc 2O:+}OHoi.fo/.Z+eo ", |
||||||
|
" iXTXb+} a.9+z+G+/OWowow &oU+EX<.|ojXjX|o|o&o=OpOE+>oboy >oA.rO6.).a.q._O.XA+4.c ^.jOd.F+<O+.~oJ }OJ toN.w : uoA..o3XAo%X(.xO ", |
||||||
|
" ~ w+fo:.4.boJo@.GX:.| w MON.qOEXEX|ox gOa.U+T E.6X>o>oE+!Xz+xXJo: <X&ORXWo3XC.5Xto- .od.<OGX+..oC.f+$+=O} }OXo6.+.OXqXI.> M. ", |
||||||
|
"cX[oQ+-.C+to>ouo0+7+RXrX.Xw &oEX3Xa.yX'OyXA+5+b.{X/OrO6.+OxX:+6X).6.P+v.fo} |.*+zX!O^.jO.o- XO{X5+8ORo=O'X@+zo2O) J zXSomX;.4O9o", |
||||||
|
"AX#+nOYOEXF+rOXoXo.X$+rXMO! A+OXeOT+-oOXF gO$+UXjOn +O) Jon /O).2OF+u+n.'O!o@+w j+c !O/ yXqOEOn.hoqX3+VXN+@+.Xj.n @XtoS [.1 e.MX", |
||||||
|
". , !+w.!.9+6.2O) E.Wo= -o;+5X;+XOQXC.e 'OWOqX} xXn 6X/O).lOXoG+pX).ZO2O +WOu+|oQXe x Wo$+8O#o0 |.Z Ro} =OYOp+6X).>o.of+-.r >X( ", |
||||||
|
"fO1.m+qX!ouXxXKX@X`O4.d.F+jO!OHozX4.T+VO'O<.@+DXlOuo).lOj.2O@.(omoa a DOKX$+YOMOMOsO$+]o:.8On.bO|._OqX3+VXpOqXA.XorOF+gO:Xs x.%.", |
||||||
|
"<+yo1+|.-o}O) 0+F+*+<O+.F+.o^.5X/ j+eOzo= <X(OyX2OXoG+KX@.(oI mo&XDOmo).QXUXAoR j <XSohXp+RXI+#o0 hoZ Z I+i.E.~oj.!XGXFX+ KOTO2o", |
||||||
|
"/o{.0XbOT+boJo(o!Ox 9+~o<Od.- c / -o!.Wo#o@ovO~o@.KX0+pX +&Xa DO@.9+*+qX(O[.hoEOwoEO<X$+]o:.8On.bO#oj f+eO.of+d.G+6.+.yX=O8oL n+", |
||||||
|
"l+d N 8OeOboJo0+/ WO~ouX+.F+^.4.>O`ORo@o[.VX= G+(opX +&Xa DOa moa.(OmXUXVX:.wo$ E.EO<X$+hX:.RXhX5+= / +.bo9+jXtoG+6.+.zoqX8og+` ", |
||||||
|
"lXd N I+eOboJo0+;+WOuXJ d.4.A+|ow bO[.$ zX6XpXmo&Xa a DOa &XmoXo|.[ 0 woC+-OC+[X$ woj So$+E.&oo./ .o<O~o}OGXjXtoG+6.+.zoRo8oa+Ko", |
||||||
|
"]O`.To0 C.bo:+0+to3XjOT+roU+MON.rX0o3+:+momo&Xa DODO&X&X +I I ZOUXY.DXS rX5+-Oi.$ wowo| jXyXj+5Xto.oF++.J +.|oF+G+!X+.!oN+8o[O7X", |
||||||
|
"< W.mXhoVOJ ) 0+F+-OEX.X.Xw MO&o[X7OrX(o&XmoDOa &XmoI pX0+0+(oC.1+bO`OkoS 5+DXi.i.ko3XyXC.4.XOHo!O- d.GX~oGX|ouXj.rO<O>OY.KOFO;o", |
||||||
|
"fOs+q.3+7+~o+OKXy p+C+S ko.XMOMOE.dXzo) T+4.I +I pX0+@.2OG+KX`ON j w .XrXDX| MOx FXF e -oeOj+/ 5X^..oF+- 'O| rOlOA.d.= @+s }X_.", |
||||||
|
"Uo% ,o+ ro+.6.j.:+woE.S `O.Xw w i.Z -O0o*.&o(o(o0+@.2OG+XoXon Ro`o-O`OWorXN.Fo= A+o.yXzoe C.QXXO;+HoQX= -O3+$+6XuoZOjOEXP+q #XHX", |
||||||
|
"AXBo8 AoU+d.A.: j.&oR rXS kow MOko$ 0 P+I.4.pXKXG+j.Xo: ).Xo9+foAo<XsO| .XN.EXf+! 3XWO= a.>O7+yXa.N.So_ON+T &oXoJoboc 5+N zO] 5 ", |
||||||
|
"cX.+Z.b.[Xc y n @.F 8O5+S .XEX!.zoT+FXRX+ E+KXj.lO: )./On XoFXK+`Xu+:X0oY.+ pOw.=OVX3+RoZ qXVX=OZ _OqX} w.Ao-oG++O~o4.]oq.)o..9o", |
||||||
|
" VotXToI+T+J ) KXuXp+5+*+F / - jO!OF _Oj : Xo: uo/On JoJo2OOXqX|.n.I+I+8O8ORX8ORXRXRX:.RXn.UXKOYOZ Z 3++ Roy lOrO<OF VXKOr.$. ", |
||||||
|
" 8+^oJ.w.= GX!XlO).qOgO<O~o+.<O.o!O= 0oroG+uo/O6XJo:+xXxXXo).:+:+) ) xXxXxX+O+Oz+6.6.6.6.:+E.8opOhoZ 3+:XkolOn y - jX-.$X^X_. ", |
||||||
|
" >.*X].u+5+toy n @.Hox 9+}O~oGXd.5XU+h tolOJo:+) xXz+6.!XrOrOA.>oZOy @X}OJ uX~o+.GX<OF++.!X'XmX3+|._OVXpO5XG++OuXzXwo[ ]X=+4 ", |
||||||
|
" 9oJX{oTo#oVOuXz+G+Jo*+XO}OuX+.F+zX$ qXz+n xX+Oz+6.rOE+A.ZOy @X}OJ uX9++.GXF+d..ojO^.to~ojOToP+hobO0 =ODX/OuoA.F+7+=O8oB.T.o ", |
||||||
|
" CX1XAOYOEX.oZO/O@.5X! <OJ 9+^.{X0oE.).+O6.!XrOA.>oZO@Xbo}OuX~o9++.<OF+d.jO- ^.toc 5Xy {X8oYO:.C+qO[X- G+xXJ c kovOBOW _. ", |
||||||
|
" MXnXZ.fop+T+uXz+j.uoWO!o^.F `OVXiO!.2Ouo/On 6XJo:+:+) xX+O+O6.6.!XrOE+E+A.>oZOy @Xy xXwomX$ 'O^.>OA+: uoA.F+zo_OiOH d+<o ", |
||||||
|
" @Ox+1oYOEX- y JoKXbo| p+_ON+P+;XsOgOgOgOgO= = gOgOgO{X{X{X{X{XgOgOgOgOgOgO= = = gOFodXbOj+@XXOjXE+Xoz+uX5X.Xb.$X}XiX ", |
||||||
|
" eo5O*o0Xn.'O+.rO).@.4.+ YOpOUX;XaXY Y ++++;X8om+To(O(ON 0XTo1+[ mX&Om+q.`XiOiO&ON 7 Y.f+- c jXd.G+:+y .oFX} I.P G.MX ", |
||||||
|
" 0OLor `oDX;+J z+Xoj.>O0oYOY.dXu+`o@+YO3+R 5+MOMOkoS 5+DXi.sOwoj $+]o8On.:.EODX`O&oWOeO4.f+zXXo/OA.GX4.woN 9 }oD+ ", |
||||||
|
" <o~+sX`X'XjX^.@X) j.lOgOY.YO=ORoI+DXroC.Ho;+j+eOVOzoyXFXa.= x jXN.`O`OqOFo= FXF -oQXzoN.T+lO).!X~oHoN.`os Y+MocX ", |
||||||
|
" A Bo3o0X|.>OF+ZO:+G+lO7+N+Z U+T+F+9+<O.o^.5XXOQXC.e F FXroqOS 5+koU+jXx gOo.F OX!..Xj+lO).6.J torow.X k+e+Uo ", |
||||||
|
" o W+f XvO:.F <OZO) j.G+Ho`OFX+.@XJ +.F+- c / j+T+'O!.w [XE.i.5+koN.f+Fo!.a.gOw w jOXo).6.}O- A+hom+cO_oo+ ", |
||||||
|
" cX_ g.u 7OSoe <Oy xXlO@.>ogO! 4.GX+.<OjOto/ e 3XDXhXp+R EOsODXrXw qOjXjX.Xi.roE+G+/O!XJ - 7+n.1+$XcoLOcX ", |
||||||
|
" 4 k pop UXSoF d.boz+uo2O: !O*+! zoHo5XOXqO$+ho_O0 8O]oSoE.i.5+S Wo[Xj N.- : j.6XE+uX^.>On.To$X$O O4 ", |
||||||
|
" 6+=Xvop b.:.>O^.uXE+:+lOKXn !Ox w j } 0oY.w.} Z bOI+p+hXhXp+8OSof+^./O2Ouo+OZOGX5Xro_O[ $X:Ok.>. ", |
||||||
|
" 6OCodo$Xfo_O|o/ GXy 6.6XXoKXlOy e w p+Ro+ Y.Y.'X=O_ORXsOf+T+ZOlOG+).) A.J d.4.N.w.m+$XvXk.^O ", |
||||||
|
" 6+& H+gomX0oC+F - 9+y !X:+).G+KXG+n E++.^.;+Ho- 9+rO/OG+2OXo/OxXE+bo<Oc o.wou+I.+oco OAX ", |
||||||
|
" qoM 4o^+5ob.hoU+C.- 9+boA.z+Jo/O: Xo2O2O2O2OG+j.Xo).n ) !X>oJ <O!OOX.XVX0Xs oOfXLOMX ", |
||||||
|
" cX5.NOvoXXq.u+#oN.zo5Xd.9+}Oy A.!X6.z++Oz+z+6.rO>o@XJ +.jO/ !o`OZ 7 I.nOwOe+o+cX ", |
||||||
|
" o . WXH.=.Nom+7ORo[X3XOX/ ^.d.GX+.9+~o9+9++.<O.otoXO'OjXEOw.[.I.no|OkXU Uo ", |
||||||
|
" <o&.b oXy+$XX 0XdX3+R S f+gOFXyXOXzo!oFX= EXWop+w.P+&OKOBO{Oh.G.t cX ", |
||||||
|
" MX'oPO2.6o|X%X8oq.N b.T h 'X} VXpO:X`ovO1+iOg $XV+3.Dod+iX8X ", |
||||||
|
" <o>+M X.S+ooi+Oor s g KOKOKOg g s :ol.X+ZXbX4XaO_.<o ", |
||||||
|
" o 4 xO}.PXNXIOJ+@ +X^ &+COyO,OhO2+..$._.4 ", |
||||||
|
" 9oMX( %./XaoKoKo' ;o_.IXMX9o " |
||||||
|
}; |
After Width: | Height: | Size: 766 B |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 25 KiB |
After Width: | Height: | Size: 151 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 126 B |
After Width: | Height: | Size: 126 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 142 B |
@ -0,0 +1,37 @@ |
|||||||
|
<?xml version="1.0" encoding="UTF-8"?> |
||||||
|
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd"> |
||||||
|
<plist version="0.9"> |
||||||
|
<dict> |
||||||
|
<key>CFBundleIconFile</key> |
||||||
|
<string>anoncoin.icns</string> |
||||||
|
<key>CFBundlePackageType</key> |
||||||
|
<string>APPL</string> |
||||||
|
<key>CFBundleGetInfoString</key> |
||||||
|
<string>$VERSION, Copyright © 2009-$YEAR The Bitcoin developers</string> |
||||||
|
<key>CFBundleShortVersionString</key> |
||||||
|
<string>$VERSION</string> |
||||||
|
<key>CFBundleVersion</key> |
||||||
|
<string>$VERSION</string> |
||||||
|
<key>CFBundleSignature</key> |
||||||
|
<string>????</string> |
||||||
|
<key>CFBundleExecutable</key> |
||||||
|
<string>Anoncoin-Qt</string> |
||||||
|
<key>CFBundleIdentifier</key> |
||||||
|
<string>net.anoncoin.Anoncoin-Qt</string> |
||||||
|
<key>CFBundleURLTypes</key> |
||||||
|
<array> |
||||||
|
<dict> |
||||||
|
<key>CFBundleTypeRole</key> |
||||||
|
<string>Editor</string> |
||||||
|
<key>CFBundleURLName</key> |
||||||
|
<string>net.anoncoin.AnoncoinPayment</string> |
||||||
|
<key>CFBundleURLSchemes</key> |
||||||
|
<array> |
||||||
|
<string>anoncoin</string> |
||||||
|
</array> |
||||||
|
</dict> |
||||||
|
</array> |
||||||
|
<key>NSHighResolutionCapable</key> |
||||||
|
<true/> |
||||||
|
</dict> |
||||||
|
</plist> |
@ -0,0 +1,29 @@ |
|||||||
|
#!/usr/bin/env python |
||||||
|
# Jonas Schnelli, 2013 |
||||||
|
# make sure the Bitcoin-Qt.app contains the right plist (including the right version) |
||||||
|
# fix made because of serval bugs in Qt mac deployment (https://bugreports.qt-project.org/browse/QTBUG-21267) |
||||||
|
|
||||||
|
from string import Template |
||||||
|
from datetime import date |
||||||
|
|
||||||
|
bitcoinDir = "./"; |
||||||
|
|
||||||
|
inFile = bitcoinDir+"/share/qt/Info.plist" |
||||||
|
outFile = "Bitcoin-Qt.app/Contents/Info.plist" |
||||||
|
version = "unknown"; |
||||||
|
|
||||||
|
fileForGrabbingVersion = bitcoinDir+"bitcoin-qt.pro" |
||||||
|
for line in open(fileForGrabbingVersion): |
||||||
|
lineArr = line.replace(" ", "").split("="); |
||||||
|
if lineArr[0].startswith("VERSION"): |
||||||
|
version = lineArr[1].replace("\n", ""); |
||||||
|
|
||||||
|
fIn = open(inFile, "r") |
||||||
|
fileContent = fIn.read() |
||||||
|
s = Template(fileContent) |
||||||
|
newFileContent = s.substitute(VERSION=version,YEAR=date.today().year) |
||||||
|
|
||||||
|
fOut = open(outFile, "w"); |
||||||
|
fOut.write(newFileContent); |
||||||
|
|
||||||
|
print "Info.plist fresh created" |
@ -0,0 +1,72 @@ |
|||||||
|
#!/usr/bin/python |
||||||
|
''' |
||||||
|
Extract _("...") strings for translation and convert to Qt4 stringdefs so that |
||||||
|
they can be picked up by Qt linguist. |
||||||
|
''' |
||||||
|
from subprocess import Popen, PIPE |
||||||
|
import glob |
||||||
|
import operator |
||||||
|
|
||||||
|
OUT_CPP="src/qt/bitcoinstrings.cpp" |
||||||
|
EMPTY=['""'] |
||||||
|
|
||||||
|
def parse_po(text): |
||||||
|
""" |
||||||
|
Parse 'po' format produced by xgettext. |
||||||
|
Return a list of (msgid,msgstr) tuples. |
||||||
|
""" |
||||||
|
messages = [] |
||||||
|
msgid = [] |
||||||
|
msgstr = [] |
||||||
|
in_msgid = False |
||||||
|
in_msgstr = False |
||||||
|
|
||||||
|
for line in text.split('\n'): |
||||||
|
line = line.rstrip('\r') |
||||||
|
if line.startswith('msgid '): |
||||||
|
if in_msgstr: |
||||||
|
messages.append((msgid, msgstr)) |
||||||
|
in_msgstr = False |
||||||
|
# message start |
||||||
|
in_msgid = True |
||||||
|
|
||||||
|
msgid = [line[6:]] |
||||||
|
elif line.startswith('msgstr '): |
||||||
|
in_msgid = False |
||||||
|
in_msgstr = True |
||||||
|
msgstr = [line[7:]] |
||||||
|
elif line.startswith('"'): |
||||||
|
if in_msgid: |
||||||
|
msgid.append(line) |
||||||
|
if in_msgstr: |
||||||
|
msgstr.append(line) |
||||||
|
|
||||||
|
if in_msgstr: |
||||||
|
messages.append((msgid, msgstr)) |
||||||
|
|
||||||
|
return messages |
||||||
|
|
||||||
|
files = glob.glob('src/*.cpp') + glob.glob('src/*.h') |
||||||
|
|
||||||
|
# xgettext -n --keyword=_ $FILES |
||||||
|
child = Popen(['xgettext','--output=-','-n','--keyword=_'] + files, stdout=PIPE) |
||||||
|
(out, err) = child.communicate() |
||||||
|
|
||||||
|
messages = parse_po(out) |
||||||
|
|
||||||
|
f = open(OUT_CPP, 'w') |
||||||
|
f.write("""#include <QtGlobal> |
||||||
|
// Automatically generated by extract_strings.py |
||||||
|
#ifdef __GNUC__ |
||||||
|
#define UNUSED __attribute__((unused)) |
||||||
|
#else |
||||||
|
#define UNUSED |
||||||
|
#endif |
||||||
|
""") |
||||||
|
f.write('static const char UNUSED *bitcoin_strings[] = {\n') |
||||||
|
messages.sort(key=operator.itemgetter(0)) |
||||||
|
for (msgid, msgstr) in messages: |
||||||
|
if msgid != EMPTY: |
||||||
|
f.write('QT_TRANSLATE_NOOP("bitcoin-core", %s),\n' % ('\n'.join(msgid))) |
||||||
|
f.write('};') |
||||||
|
f.close() |
@ -0,0 +1,43 @@ |
|||||||
|
#!/usr/bin/env python |
||||||
|
# W.J. van der Laan, 2011 |
||||||
|
# Make spinning .mng animation from a .png |
||||||
|
# Requires imagemagick 6.7+ |
||||||
|
from __future__ import division |
||||||
|
from os import path |
||||||
|
from PIL import Image |
||||||
|
from subprocess import Popen |
||||||
|
|
||||||
|
SRC='img/reload_scaled.png' |
||||||
|
DST='../../src/qt/res/movies/update_spinner.mng' |
||||||
|
TMPDIR='/tmp' |
||||||
|
TMPNAME='tmp-%03i.png' |
||||||
|
NUMFRAMES=35 |
||||||
|
FRAMERATE=10.0 |
||||||
|
CONVERT='convert' |
||||||
|
CLOCKWISE=True |
||||||
|
DSIZE=(16,16) |
||||||
|
|
||||||
|
im_src = Image.open(SRC) |
||||||
|
|
||||||
|
if CLOCKWISE: |
||||||
|
im_src = im_src.transpose(Image.FLIP_LEFT_RIGHT) |
||||||
|
|
||||||
|
def frame_to_filename(frame): |
||||||
|
return path.join(TMPDIR, TMPNAME % frame) |
||||||
|
|
||||||
|
frame_files = [] |
||||||
|
for frame in xrange(NUMFRAMES): |
||||||
|
rotation = (frame + 0.5) / NUMFRAMES * 360.0 |
||||||
|
if CLOCKWISE: |
||||||
|
rotation = -rotation |
||||||
|
im_new = im_src.rotate(rotation, Image.BICUBIC) |
||||||
|
im_new.thumbnail(DSIZE, Image.ANTIALIAS) |
||||||
|
outfile = frame_to_filename(frame) |
||||||
|
im_new.save(outfile, 'png') |
||||||
|
frame_files.append(outfile) |
||||||
|
|
||||||
|
p = Popen([CONVERT, "-delay", str(FRAMERATE), "-dispose", "2"] + frame_files + [DST]) |
||||||
|
p.communicate() |
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,9 @@ |
|||||||
|
#!/bin/bash |
||||||
|
# create multiresolution windows icon |
||||||
|
ICON_SRC=../../src/qt/res/icons/bitcoin.png |
||||||
|
ICON_DST=../../src/qt/res/icons/bitcoin.ico |
||||||
|
convert ${ICON_SRC} -resize 16x16 bitcoin-16.png |
||||||
|
convert ${ICON_SRC} -resize 32x32 bitcoin-32.png |
||||||
|
convert ${ICON_SRC} -resize 48x48 bitcoin-48.png |
||||||
|
convert bitcoin-16.png bitcoin-32.png bitcoin-48.png ${ICON_DST} |
||||||
|
|
@ -0,0 +1,162 @@ |
|||||||
|
Name Anoncoin |
||||||
|
|
||||||
|
RequestExecutionLevel highest |
||||||
|
SetCompressor /SOLID lzma |
||||||
|
|
||||||
|
# General Symbol Definitions |
||||||
|
!define REGKEY "SOFTWARE\$(^Name)" |
||||||
|
!define VERSION 0.8.5.1 |
||||||
|
!define COMPANY "Anoncoin project" |
||||||
|
!define URL https://anoncoin/ |
||||||
|
|
||||||
|
# MUI Symbol Definitions |
||||||
|
!define MUI_ICON "../share/pixmaps/bitcoin.ico" |
||||||
|
!define MUI_WELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp" |
||||||
|
!define MUI_HEADERIMAGE |
||||||
|
!define MUI_HEADERIMAGE_RIGHT |
||||||
|
!define MUI_HEADERIMAGE_BITMAP "../share/pixmaps/nsis-header.bmp" |
||||||
|
!define MUI_FINISHPAGE_NOAUTOCLOSE |
||||||
|
!define MUI_STARTMENUPAGE_REGISTRY_ROOT HKLM |
||||||
|
!define MUI_STARTMENUPAGE_REGISTRY_KEY ${REGKEY} |
||||||
|
!define MUI_STARTMENUPAGE_REGISTRY_VALUENAME StartMenuGroup |
||||||
|
!define MUI_STARTMENUPAGE_DEFAULTFOLDER Anoncoin |
||||||
|
!define MUI_FINISHPAGE_RUN $INSTDIR\anoncoin-qt.exe |
||||||
|
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" |
||||||
|
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "../share/pixmaps/nsis-wizard.bmp" |
||||||
|
!define MUI_UNFINISHPAGE_NOAUTOCLOSE |
||||||
|
|
||||||
|
# Included files |
||||||
|
!include Sections.nsh |
||||||
|
!include MUI2.nsh |
||||||
|
|
||||||
|
# Variables |
||||||
|
Var StartMenuGroup |
||||||
|
|
||||||
|
# Installer pages |
||||||
|
!insertmacro MUI_PAGE_WELCOME |
||||||
|
!insertmacro MUI_PAGE_DIRECTORY |
||||||
|
!insertmacro MUI_PAGE_STARTMENU Application $StartMenuGroup |
||||||
|
!insertmacro MUI_PAGE_INSTFILES |
||||||
|
!insertmacro MUI_PAGE_FINISH |
||||||
|
!insertmacro MUI_UNPAGE_CONFIRM |
||||||
|
!insertmacro MUI_UNPAGE_INSTFILES |
||||||
|
|
||||||
|
# Installer languages |
||||||
|
!insertmacro MUI_LANGUAGE English |
||||||
|
|
||||||
|
# Installer attributes |
||||||
|
OutFile anoncoin-0.8.5.1-win32-setup.exe |
||||||
|
InstallDir $PROGRAMFILES\Anoncoin |
||||||
|
CRCCheck on |
||||||
|
XPStyle on |
||||||
|
BrandingText " " |
||||||
|
ShowInstDetails show |
||||||
|
VIProductVersion 0.8.5.1 |
||||||
|
VIAddVersionKey ProductName Anoncoin |
||||||
|
VIAddVersionKey ProductVersion "${VERSION}" |
||||||
|
VIAddVersionKey CompanyName "${COMPANY}" |
||||||
|
VIAddVersionKey CompanyWebsite "${URL}" |
||||||
|
VIAddVersionKey FileVersion "${VERSION}" |
||||||
|
VIAddVersionKey FileDescription "" |
||||||
|
VIAddVersionKey LegalCopyright "" |
||||||
|
InstallDirRegKey HKCU "${REGKEY}" Path |
||||||
|
ShowUninstDetails show |
||||||
|
|
||||||
|
# Installer sections |
||||||
|
Section -Main SEC0000 |
||||||
|
SetOutPath $INSTDIR |
||||||
|
SetOverwrite on |
||||||
|
File ../release/anoncoin-qt.exe |
||||||
|
File /oname=COPYING.txt ../COPYING |
||||||
|
File /oname=readme.txt ../doc/README_windows.txt |
||||||
|
SetOutPath $INSTDIR\daemon |
||||||
|
File ../src/anoncoind.exe |
||||||
|
SetOutPath $INSTDIR\src |
||||||
|
File /r /x *.exe /x *.o ../src\*.* |
||||||
|
SetOutPath $INSTDIR |
||||||
|
WriteRegStr HKCU "${REGKEY}\Components" Main 1 |
||||||
|
|
||||||
|
# Remove old wxwidgets-based-bitcoin executable and locales: |
||||||
|
Delete /REBOOTOK $INSTDIR\anoncoin.exe |
||||||
|
RMDir /r /REBOOTOK $INSTDIR\locale |
||||||
|
SectionEnd |
||||||
|
|
||||||
|
Section -post SEC0001 |
||||||
|
WriteRegStr HKCU "${REGKEY}" Path $INSTDIR |
||||||
|
SetOutPath $INSTDIR |
||||||
|
WriteUninstaller $INSTDIR\uninstall.exe |
||||||
|
!insertmacro MUI_STARTMENU_WRITE_BEGIN Application |
||||||
|
CreateDirectory $SMPROGRAMS\$StartMenuGroup |
||||||
|
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Anoncoin.lnk" $INSTDIR\anoncoin-qt.exe |
||||||
|
CreateShortcut "$SMPROGRAMS\$StartMenuGroup\Uninstall Anoncoin.lnk" $INSTDIR\uninstall.exe |
||||||
|
!insertmacro MUI_STARTMENU_WRITE_END |
||||||
|
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayName "$(^Name)" |
||||||
|
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayVersion "${VERSION}" |
||||||
|
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" Publisher "${COMPANY}" |
||||||
|
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" URLInfoAbout "${URL}" |
||||||
|
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" DisplayIcon $INSTDIR\uninstall.exe |
||||||
|
WriteRegStr HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" UninstallString $INSTDIR\uninstall.exe |
||||||
|
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoModify 1 |
||||||
|
WriteRegDWORD HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" NoRepair 1 |
||||||
|
WriteRegStr HKCR "anoncoin" "URL Protocol" "" |
||||||
|
WriteRegStr HKCR "anoncoin" "" "URL:Anoncoin" |
||||||
|
WriteRegStr HKCR "anoncoin\DefaultIcon" "" $INSTDIR\anoncoin-qt.exe |
||||||
|
WriteRegStr HKCR "anoncoin\shell\open\command" "" '"$INSTDIR\anoncoin-qt.exe" "%1"' |
||||||
|
SectionEnd |
||||||
|
|
||||||
|
# Macro for selecting uninstaller sections |
||||||
|
!macro SELECT_UNSECTION SECTION_NAME UNSECTION_ID |
||||||
|
Push $R0 |
||||||
|
ReadRegStr $R0 HKCU "${REGKEY}\Components" "${SECTION_NAME}" |
||||||
|
StrCmp $R0 1 0 next${UNSECTION_ID} |
||||||
|
!insertmacro SelectSection "${UNSECTION_ID}" |
||||||
|
GoTo done${UNSECTION_ID} |
||||||
|
next${UNSECTION_ID}: |
||||||
|
!insertmacro UnselectSection "${UNSECTION_ID}" |
||||||
|
done${UNSECTION_ID}: |
||||||
|
Pop $R0 |
||||||
|
!macroend |
||||||
|
|
||||||
|
# Uninstaller sections |
||||||
|
Section /o -un.Main UNSEC0000 |
||||||
|
Delete /REBOOTOK $INSTDIR\anoncoin-qt.exe |
||||||
|
Delete /REBOOTOK $INSTDIR\COPYING.txt |
||||||
|
Delete /REBOOTOK $INSTDIR\readme.txt |
||||||
|
RMDir /r /REBOOTOK $INSTDIR\daemon |
||||||
|
RMDir /r /REBOOTOK $INSTDIR\src |
||||||
|
DeleteRegValue HKCU "${REGKEY}\Components" Main |
||||||
|
SectionEnd |
||||||
|
|
||||||
|
Section -un.post UNSEC0001 |
||||||
|
DeleteRegKey HKCU "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(^Name)" |
||||||
|
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Uninstall Anoncoin.lnk" |
||||||
|
Delete /REBOOTOK "$SMPROGRAMS\$StartMenuGroup\Anoncoin.lnk" |
||||||
|
Delete /REBOOTOK "$SMSTARTUP\Anoncoin.lnk" |
||||||
|
Delete /REBOOTOK $INSTDIR\uninstall.exe |
||||||
|
Delete /REBOOTOK $INSTDIR\debug.log |
||||||
|
Delete /REBOOTOK $INSTDIR\db.log |
||||||
|
DeleteRegValue HKCU "${REGKEY}" StartMenuGroup |
||||||
|
DeleteRegValue HKCU "${REGKEY}" Path |
||||||
|
DeleteRegKey /IfEmpty HKCU "${REGKEY}\Components" |
||||||
|
DeleteRegKey /IfEmpty HKCU "${REGKEY}" |
||||||
|
DeleteRegKey HKCR "anoncoin" |
||||||
|
RmDir /REBOOTOK $SMPROGRAMS\$StartMenuGroup |
||||||
|
RmDir /REBOOTOK $INSTDIR |
||||||
|
Push $R0 |
||||||
|
StrCpy $R0 $StartMenuGroup 1 |
||||||
|
StrCmp $R0 ">" no_smgroup |
||||||
|
no_smgroup: |
||||||
|
Pop $R0 |
||||||
|
SectionEnd |
||||||
|
|
||||||
|
# Installer functions |
||||||
|
Function .onInit |
||||||
|
InitPluginsDir |
||||||
|
FunctionEnd |
||||||
|
|
||||||
|
# Uninstaller functions |
||||||
|
Function un.onInit |
||||||
|
ReadRegStr $INSTDIR HKCU "${REGKEY}" Path |
||||||
|
!insertmacro MUI_STARTMENU_GETFOLDER Application $StartMenuGroup |
||||||
|
!insertmacro SELECT_UNSECTION Main ${UNSEC0000} |
||||||
|
FunctionEnd |
@ -0,0 +1,15 @@ |
|||||||
|
bitcoin ICON "pixmaps/bitcoin.ico" |
||||||
|
|
||||||
|
#include "wx/msw/wx.rc" |
||||||
|
|
||||||
|
check ICON "pixmaps/check.ico" |
||||||
|
send16 BITMAP "pixmaps/send16.bmp" |
||||||
|
send16mask BITMAP "pixmaps/send16mask.bmp" |
||||||
|
send16masknoshadow BITMAP "pixmaps/send16masknoshadow.bmp" |
||||||
|
send20 BITMAP "pixmaps/send20.bmp" |
||||||
|
send20mask BITMAP "pixmaps/send20mask.bmp" |
||||||
|
addressbook16 BITMAP "pixmaps/addressbook16.bmp" |
||||||
|
addressbook16mask BITMAP "pixmaps/addressbook16mask.bmp" |
||||||
|
addressbook20 BITMAP "pixmaps/addressbook20.bmp" |
||||||
|
addressbook20mask BITMAP "pixmaps/addressbook20mask.bmp" |
||||||
|
favicon ICON "pixmaps/favicon.ico" |