Compare commits
1734 Commits
Author | SHA1 | Date |
---|---|---|
Alexei Stukov | 835cc3134c | |
Jiiks | 02b30153ee | |
Alexei Stukov | d09dc5a2a5 | |
Mega-Mewthree | 98d9a30027 | |
Alexei Stukov | 5cb4bc15bd | |
Alexei Stukov | bb2aba04d5 | |
Samuel Elliott | 82e9b0bd6a | |
Samuel Elliott | 47575d3449 | |
Samuel Elliott | 32e2582ded | |
Samuel Elliott | d58dda6f50 | |
Samuel Elliott | 648954d533 | |
Samuel Elliott | 4aa38f4582 | |
Samuel Elliott | b3ba1aef13 | |
Samuel Elliott | 2a6cbd39b7 | |
Samuel Elliott | ce5bcb9b85 | |
Samuel Elliott | 5a3821ad3e | |
Samuel Elliott | fd0032b24c | |
Samuel Elliott | 226719b36e | |
Samuel Elliott | fcfee53928 | |
Samuel Elliott | 285ae34b50 | |
Alexei Stukov | a170a97688 | |
Samuel Elliott | a770f57b28 | |
Samuel Elliott | 5757fc20c9 | |
Samuel Elliott | 421289f63b | |
Samuel Elliott | ac85316578 | |
Samuel Elliott | 08af9be061 | |
Samuel Elliott | ead0fbbd1e | |
Samuel Elliott | dc85a808f8 | |
Samuel Elliott | aecfa814f9 | |
Samuel Elliott | 436f3d3c36 | |
Alexei Stukov | 68a8187964 | |
Alexei Stukov | f30e4c12fe | |
Alexei Stukov | 686514ed1d | |
Alexei Stukov | d795da1750 | |
Alexei Stukov | 3219ff7c6e | |
Alexei Stukov | 33567a2cfd | |
Jiiks | 85310bfbff | |
Jiiks | d1d79a37b7 | |
Jiiks | d95592acc9 | |
Jiiks | f6a3fb65da | |
Alexei Stukov | 6788cca363 | |
Lars van der Zande | 1fb442e096 | |
Jiiks | 6e64ff61c5 | |
Jiiks | dd8fe68a11 | |
Jiiks | a3829089f9 | |
Jiiks | 174c1ee791 | |
Jiiks | b8793fd2b6 | |
Jiiks | 31986ca3a0 | |
Jiiks | 10ff740f75 | |
Jiiks | 83fbab63c0 | |
Jiiks | c4670946e6 | |
Jiiks | e5239d952e | |
Jiiks | a57783a9d8 | |
Jiiks | 001a6e4fda | |
Jiiks | dd621038f9 | |
Jiiks | 288c233447 | |
Jiiks | 399c6e792b | |
Jiiks | 0be6facba4 | |
Jiiks | dc7247a12d | |
Jiiks | 377c4fd104 | |
Jiiks | 252d496dc2 | |
Jiiks | 83e334c3f8 | |
Jiiks | e72ad10dfc | |
Jiiks | 9ef392c575 | |
Jiiks | 76057efbb7 | |
Jiiks | dcb121750a | |
Jiiks | 13fa769e9e | |
Jiiks | 3143991239 | |
Jiiks | 1ae0c5aa4d | |
Jiiks | 5ea39f86f7 | |
Jiiks | d6a946e096 | |
Jiiks | b68c1fbd04 | |
Jiiks | 07d3629622 | |
Jiiks | 15daa9acef | |
Jiiks | 817a4a03b6 | |
Jiiks | e63386e9eb | |
Jiiks | 402acdfea9 | |
Jiiks | b440206d07 | |
Jiiks | c7bea4a743 | |
Jiiks | 2528d87b8f | |
Alexei Stukov | 405d74fada | |
Alexei Stukov | b311220132 | |
Alexei Stukov | 66b47457b1 | |
Alexei Stukov | 6e9f9f8bf8 | |
Alexei Stukov | 88a113dc8f | |
Alexei Stukov | a61f860466 | |
Jiiks | 729a4607bd | |
Jiiks | d81dcc9aa2 | |
Jiiks | 1e4f3fa82b | |
Alexei Stukov | 150a1d63c4 | |
Jiiks | 6b481733b9 | |
Jiiks | e07b9b1550 | |
Jiiks | 99c2b53ec6 | |
Jiiks | 2a93e5d2a3 | |
Jiiks | 3661207602 | |
Jiiks | 92845728cc | |
Jiiks | c99753fc8c | |
Jiiks | 688e6022a0 | |
Jiiks | 5408d994be | |
Zack Rauen | 003c9766bc | |
Zack Rauen | 82e9c257ce | |
Jiiks | 6167cc7c4b | |
Jiiks | 1bacecf8d4 | |
Jiiks | d102686379 | |
Jiiks | 1160955629 | |
Jiiks | e60f765a50 | |
Alexei Stukov | d3db696616 | |
Jiiks | b8d16c6e4d | |
Jiiks | b22923d12f | |
Jiiks | 1ea307efdd | |
Jiiks | d98cff878f | |
Jiiks | dd11708f9f | |
Jiiks | 665a7818c9 | |
Jiiks | d75b907ae4 | |
Alexei Stukov | f051bc4812 | |
Jiiks | 9773f78506 | |
Alexei Stukov | f4b7c99c31 | |
Jiiks | 97519b2307 | |
Jiiks | 806ca5028a | |
Jiiks | db89e3a1a0 | |
Jiiks | 6030a78b91 | |
Jiiks | 99ec82795c | |
Jiiks | b1e8b591ba | |
Jiiks | ac9e16632d | |
Jiiks | d8f977b57a | |
Jiiks | c3283c47f6 | |
Jiiks | 2b86f2d741 | |
Jiiks | 9f6389845a | |
Jiiks | 7489fd0aaf | |
Jiiks | 7e1c379fd3 | |
Jiiks | c0765120e8 | |
Jiiks | 7e10de32cb | |
Jiiks | 145d61fe5e | |
Jiiks | 72b278de6e | |
Jiiks | 5e977e8dc4 | |
Jiiks | 109eb31aa5 | |
Jiiks | 1b6f3005f5 | |
Jiiks | d02f894d4a | |
Jiiks | 20561e2938 | |
Jiiks | a3724d739b | |
Jiiks | cf1da34e16 | |
Jiiks | 5454950838 | |
Jiiks | ed7abe3571 | |
Jiiks | b14bf93ef9 | |
Jiiks | 3436bbe52b | |
Jiiks | 1a26e77dd9 | |
Jiiks | da1fc0a2f0 | |
Jiiks | d1fd5ae881 | |
Jiiks | 8c04e7d2d3 | |
Jiiks | 3fc1adc503 | |
Jiiks | 691c9f378a | |
Jiiks | a769385219 | |
Jiiks | f1f23fa220 | |
Jiiks | 99ef0d9f81 | |
Jiiks | 5597c485d1 | |
Jiiks | 7f08ba27e6 | |
Jiiks | 99614aecdc | |
Alexei Stukov | 726db7f0c9 | |
Zack Rauen | 67c39fd9d9 | |
Jiiks | 23d4eb77b2 | |
Jiiks | 124ec078aa | |
Jiiks | e6c9bc447e | |
Jiiks | 7bc4b652fa | |
Alexei Stukov | 6ab1f5c844 | |
Alexei Stukov | 816ff2ed08 | |
Jiiks | 6ca36ebbb5 | |
Jiiks | f511e4556e | |
Alexei Stukov | 36515432c7 | |
Alexei Stukov | 47782c0168 | |
Jiiks | 3a370f2827 | |
Jiiks | 90f5596cb2 | |
Jiiks | 75439a600e | |
Alexei Stukov | f46960fdd0 | |
Alexei Stukov | f684780842 | |
Jiiks | 6c8631f1cd | |
Jiiks | 0311602539 | |
Jiiks | b5e8098d20 | |
Jiiks | 111be57b59 | |
Jiiks | 76e19c8469 | |
Jiiks | ccff016820 | |
Jiiks | 021e282b1c | |
Jiiks | 6699fcc1e7 | |
Jiiks | f3ea192974 | |
Jiiks | 9c1a93f4c1 | |
Jiiks | 2c23f18e89 | |
Jiiks | c88d2cdae9 | |
Alexei Stukov | 8235e55357 | |
Alexei Stukov | 754e6bbd72 | |
Alexei Stukov | e27d8874ef | |
Alexei Stukov | c310cc52d5 | |
Jiiks | 073cce825d | |
Alexei Stukov | a04fb59db7 | |
Alexei Stukov | f8ed871f8e | |
Alexei Stukov | fae97613d1 | |
Jiiks | 27df24f369 | |
Jiiks | 5bb95f59c0 | |
Alexei Stukov | bcabaab14c | |
Alexei Stukov | 033f3472cb | |
Alexei Stukov | 8fbd75ce94 | |
Alexei Stukov | 3a38b59a4d | |
Alexei Stukov | c29b659afb | |
Alexei Stukov | ece161fac0 | |
Lilian Tedone | b57ab92269 | |
Alexei Stukov | 5a3aa553cd | |
Jiiks | a2f48dd007 | |
Jiiks | 4f10f38581 | |
Jiiks | ea0dc0c6f1 | |
Jiiks | 93f536bf21 | |
Jiiks | 497ab62ee6 | |
Jiiks | 784a14f853 | |
Jiiks | 95447dd3f0 | |
Jiiks | 2cff8edb59 | |
Jiiks | e4c0796e5e | |
Jiiks | e3010fcd43 | |
Jiiks | 08b66d5e5a | |
Jiiks | c618956639 | |
Jiiks | c6ddb75630 | |
Jiiks | 1fd7b97ce6 | |
Jiiks | fa5be193ad | |
Jiiks | 63874c8b4e | |
Jiiks | b4dbfcd808 | |
Jiiks | 7a9b72a33a | |
Jiiks | 6db34b9cee | |
Alexei Stukov | ead51ae676 | |
Jiiks | 9a77aae56b | |
Jiiks | 3182f28359 | |
Jiiks | a274b0c839 | |
Jiiks | 199b9249e4 | |
Jiiks | 08ba649a91 | |
Jiiks | a0eb43188f | |
Jiiks | b1bd5190c1 | |
Jiiks | 7fb5c8a378 | |
Jiiks | 26b1fad5a4 | |
Jiiks | f028aefab8 | |
Jiiks | f0d66300c4 | |
Jiiks | 12b291cf0b | |
Jiiks | a8f686eb61 | |
Jiiks | 98bf4d21ac | |
Jiiks | d5a82ab2b3 | |
Jiiks | d5d7709c9f | |
Jiiks | cfc197cdc0 | |
Jiiks | e8cfb840fe | |
Jiiks | f01f4926eb | |
Jiiks | 83a4e0a114 | |
Jiiks | 4b8a905d2a | |
Alexei Stukov | 08ae8dceb5 | |
Jiiks | ad28e7c638 | |
Jiiks | 9ba8047066 | |
Alexei Stukov | 9ba9ec1556 | |
Jiiks | ce2658b6e2 | |
Jiiks | f3cc033182 | |
Jiiks | 7b44d163ca | |
Alexei Stukov | 72d24a1cb0 | |
Alexei Stukov | c2c520fe27 | |
Samuel Elliott | ad55459649 | |
Samuel Elliott | dfac3f1825 | |
Samuel Elliott | adecbf8945 | |
Samuel Elliott | a371fabc70 | |
Samuel Elliott | c04ffdfc24 | |
Samuel Elliott | 572721c57f | |
Samuel Elliott | 4af09224d7 | |
Samuel Elliott | 7f1ac9bea0 | |
Samuel Elliott | ce93b2b4c6 | |
Samuel Elliott | d98ed6649e | |
Zack Rauen | 468422084a | |
Alexei Stukov | 395167aafa | |
Alexei Stukov | 803cf59f11 | |
Alexei Stukov | 133511aeec | |
Zack Rauen | be024c1bbe | |
Zack Rauen | 6f10c71623 | |
Zack Rauen | adb2430d71 | |
Alexei Stukov | 990453cdad | |
Jiiks | 7cf69f6993 | |
Jiiks | 5822110c87 | |
Jiiks | 669a88c1ff | |
Jiiks | 6a8c77b578 | |
Jiiks | a93d12df03 | |
Jiiks | 80096c5e71 | |
Jiiks | 307b084214 | |
Jiiks | 1e0f3b69fb | |
Jiiks | 550d0d3c40 | |
Jiiks | 96f8fe680f | |
Jiiks | b48adc7a62 | |
Jiiks | 6db016060b | |
Jiiks | ecb0b3e9d0 | |
Jiiks | 8c060314da | |
Jiiks | a040a605d4 | |
Jiiks | 09fb76d148 | |
Jiiks | ddda5b3cc1 | |
Jiiks | cff425f916 | |
Jiiks | 76d54f0a95 | |
Jiiks | 2093c472b5 | |
Jiiks | 1009c62ea0 | |
Jiiks | 2cd94fcd5f | |
Jiiks | cb35b14311 | |
Jiiks | 6b3cb712c7 | |
Jiiks | cfbafffe46 | |
Jiiks | 2913a85368 | |
Jiiks | 5c160d75a6 | |
Jiiks | f14b1b71e7 | |
Jiiks | 4e3a56e466 | |
Alexei Stukov | 30716b57e6 | |
Jiiks | b18559aa5e | |
Jiiks | 6d8ef35bd6 | |
Jiiks | 8146e0e7f2 | |
Jiiks | 23b8e2dd76 | |
Jiiks | e12dc28052 | |
Jiiks | 6538442b0b | |
Jiiks | 4a9cc603d2 | |
Jiiks | d4aa8fb377 | |
Jiiks | 977fd80d0c | |
Alexei Stukov | ad64743874 | |
Jiiks | 436c469b1d | |
Alexei Stukov | 7d05d0c884 | |
Jiiks | 1afbcacec3 | |
Jiiks | 9b5464b9a5 | |
Jiiks | da8e912a95 | |
Jiiks | a4cbfd9235 | |
Jiiks | 5e0c5e39f6 | |
Jiiks | e798e3d6e2 | |
Jiiks | 937ab55456 | |
Jiiks | aa0882c449 | |
Jiiks | f5b70d5a23 | |
Jiiks | 6d818f40d2 | |
Jiiks | 6a5f185c80 | |
Jiiks | 62b7679408 | |
Jiiks | c11aa205a3 | |
Jiiks | 47af7a5da6 | |
Jiiks | 89b645b334 | |
Alexei Stukov | 62c9fe6011 | |
Alexei Stukov | a45c39ed91 | |
Alexei Stukov | f35d206044 | |
Jiiks | f46694f2d0 | |
Jiiks | 5c493d413b | |
Jiiks | 32fc655326 | |
Jiiks | 9cf63c2cfa | |
Jiiks | b59c919733 | |
Jiiks | e66af1e1d2 | |
Jiiks | f1cf802746 | |
Jiiks | d1387f5183 | |
Jiiks | 9190b208eb | |
Jiiks | fdd934ae0c | |
Jiiks | b1c8070fc3 | |
Jiiks | 56753d3614 | |
Alexei Stukov | 66966e6729 | |
Aphypnise | 0f7639da6d | |
Samuel Elliott | 2a81054f64 | |
Alexei Stukov | 22ea3ff2ad | |
Jiiks | d3e76a1c2d | |
Jiiks | 72326d220e | |
Samuel Elliott | 52dfaf18c1 | |
Samuel Elliott | 40acb33bbd | |
Samuel Elliott | 74d5d3540f | |
Alexei Stukov | 3ba90705ff | |
Samuel Elliott | 6c14f80791 | |
Samuel Elliott | 5fa964ed50 | |
Alexei Stukov | da28828880 | |
Samuel Elliott | 21c8c6d267 | |
Samuel Elliott | 5868b4f0f9 | |
Samuel Elliott | d53afe2538 | |
Samuel Elliott | 96b7e8d859 | |
Samuel Elliott | 60e42cea07 | |
Samuel Elliott | 43ec860bfe | |
Samuel Elliott | 1f971c7490 | |
Samuel Elliott | 5e7de49999 | |
Samuel Elliott | 35c1ab93a0 | |
Samuel Elliott | a85107cc51 | |
Samuel Elliott | 46dae11085 | |
Samuel Elliott | c885e4ceda | |
Samuel Elliott | 26bce739d7 | |
Samuel Elliott | 3747417865 | |
Samuel Elliott | 4c0248ca00 | |
Samuel Elliott | fd9c03ac2f | |
Samuel Elliott | d11e8d4fe2 | |
Samuel Elliott | 56a807f294 | |
Samuel Elliott | cf71f89077 | |
Samuel Elliott | 3ff077ea04 | |
Samuel Elliott | 697df8a7fe | |
Samuel Elliott | c2ccfd02da | |
Alexei Stukov | 1e9b1618f1 | |
Jiiks | d92da4b6e4 | |
Samuel Elliott | 67debca9d9 | |
Samuel Elliott | a0bee1846e | |
Samuel Elliott | 73192f5762 | |
Alexei Stukov | a1e32f8b89 | |
Jiiks | 2002db7807 | |
Jiiks | 07374ceeee | |
Samuel Elliott | d02be1521d | |
Jiiks | 5c92f3e3e0 | |
Jiiks | 41a5a3a791 | |
Samuel Elliott | 42a89129d4 | |
Jiiks | 2617925cd8 | |
Jiiks | 7a0b6e9262 | |
Jiiks | 3f5c168ffc | |
Jiiks | 09d9f50160 | |
Jiiks | d274fda428 | |
Jiiks | 58a2b6714e | |
Jiiks | 4c3659f857 | |
Jiiks | b8dc9c0d25 | |
Jiiks | c4f28a6ac5 | |
Jiiks | 1ab52cb174 | |
Jiiks | f315c8b134 | |
Jiiks | 8bfac0f6ff | |
Samuel Elliott | 4bed9f726c | |
Jiiks | 0145492773 | |
Samuel Elliott | 2188c22425 | |
Jiiks | e9c419529d | |
Samuel Elliott | 6ee647b249 | |
Samuel Elliott | 5676435473 | |
Samuel Elliott | 8cf28fcaba | |
Samuel Elliott | 237899c91a | |
Samuel Elliott | 73e4e83ced | |
Alexei Stukov | 5b63667bc2 | |
Alexei Stukov | 00ce5d70c9 | |
Alexei Stukov | b3d14d853c | |
Alexei Stukov | c1af0c6115 | |
Alexei Stukov | f3bb7aac96 | |
Jiiks | cd84f6329a | |
Jiiks | b4fa9c2934 | |
Jiiks | 9db6ddaf98 | |
Jiiks | ed55e060aa | |
Jiiks | bb37b89d35 | |
Jiiks | 07fc98670c | |
Jiiks | 25aecf82a6 | |
Jiiks | 242fbfaaa7 | |
Jiiks | ef5a1c223c | |
Jiiks | 8637f176c1 | |
Jiiks | 4c5300be12 | |
Zack Rauen | 1ccd7766bc | |
Maks-s | 9711c99217 | |
Maks | 10f45b6b4c | |
Maks | 7c44b92bce | |
Zack Rauen | 4784b13c86 | |
Zack Rauen | a8c8c017f6 | |
Zack Rauen | c98e4430b1 | |
Zack Rauen | adf94990c2 | |
Maks-s | e78021a538 | |
Alexei Stukov | 3c38ecdd97 | |
Jiiks | 12021fcf15 | |
Jiiks | 1031ab3a18 | |
Jiiks | e75c575a32 | |
Jiiks | 9c91222fff | |
Jiiks | d0eb2a441a | |
Jiiks | 5c6d544562 | |
Jiiks | ceca53a75d | |
Jiiks | 6eaed063ec | |
Jiiks | bc5eb1b5f0 | |
Jiiks | 1a11eb6a6b | |
Jiiks | cff67a3b1d | |
Jiiks | 3518ac7cb2 | |
Jiiks | f2d7ef41da | |
Jiiks | 87e0f132d1 | |
Alexei Stukov | 9306018111 | |
Zack Rauen | 19d33a44ea | |
Alexei Stukov | e755b60807 | |
Jiiks | f50bcd0785 | |
Jiiks | fc6481acae | |
Jiiks | de0651bb47 | |
Alexei Stukov | 358b1e8bf3 | |
Jiiks | 84b94c614e | |
Jiiks | 3fa848bb5a | |
Jiiks | 533566fde8 | |
Jiiks | 6ab1adfe5b | |
Jiiks | 205dcf6ff1 | |
Jiiks | beaee8764c | |
Alexei Stukov | d22188ea2a | |
Jiiks | 53ef0be7b8 | |
Jiiks | e3edb09f38 | |
Jiiks | 316f3c1bb0 | |
Jiiks | 6948335ea7 | |
Jiiks | 25decd0514 | |
Jiiks | a35c75717e | |
Jiiks | 8d6d3c9e18 | |
Jiiks | 91df5350ad | |
Jiiks | 22740fb16c | |
Jiiks | 0316bbc1cd | |
Jiiks | 8bac53e9be | |
Alexei Stukov | 42e2569569 | |
Alexei Stukov | dd81201a95 | |
Jiiks | 805e1ce771 | |
Zack Rauen | 322badd209 | |
Alexei Stukov | 8438d32ce9 | |
Jiiks | 3446ed2d6b | |
Jiiks | 6a51834f82 | |
Jiiks | 89461244bd | |
Jiiks | b1847b8c41 | |
Jiiks | 11eed2c89d | |
Jiiks | b971b716bf | |
Jiiks | 9f8a1f08be | |
Jiiks | c1ac349211 | |
Jiiks | 1804fcfbe1 | |
Jiiks | 303addae42 | |
Jiiks | 9e80f7b051 | |
Jiiks | 0e32d835ef | |
Alexei Stukov | 462b198895 | |
Jiiks | 34e2833555 | |
Alexei Stukov | 8b180ea423 | |
Jiiks | a90400c280 | |
Jiiks | e49a1932f3 | |
Jiiks | abf83821d9 | |
Jiiks | 6ed50c4206 | |
Jiiks | edab8dd93b | |
Jiiks | ab03633431 | |
Jiiks | 67b554c68f | |
Jiiks | 68f3a280a5 | |
Jiiks | 5db4f8cf26 | |
Jiiks | 3e57d0092a | |
Jiiks | 36408d74ad | |
Jiiks | 9aa9305755 | |
Jiiks | 6f9cdb9dda | |
Jiiks | 0aa370aeb9 | |
Jiiks | 27fee8e10c | |
Jiiks | ac1e4ad9a2 | |
Jiiks | 73f2fe4fd0 | |
Jiiks | 8b4318c06e | |
Jiiks | 7636ea480d | |
Jiiks | 54e5f2149b | |
Jiiks | b1f0a4247a | |
Jiiks | 8d6cdafc23 | |
Jiiks | 5711576a0d | |
Jiiks | 6df9b1e019 | |
Jiiks | c2e7abcfca | |
Jiiks | b6c58f16e7 | |
Jiiks | b47a3c65aa | |
Alexei Stukov | 0315d610e0 | |
Zack Rauen | 3714e71297 | |
Mega-Mewthree | 9f4b0aec6b | |
Mega-Mewthree | 0ea5bc2dcc | |
Mega-Mewthree | 64608c7e62 | |
Mega-Mewthree | 2d8c0a5306 | |
Mega-Mewthree | 81c451d31f | |
Jiiks | d04aa313fc | |
Jiiks | 45ab822fba | |
Alexei Stukov | c893216874 | |
Alexei Stukov | a1a869181b | |
Alexei Stukov | f5cbd8d491 | |
Alexei Stukov | 17917f3257 | |
Jiiks | 19be33b17d | |
Jiiks | cfcca0d782 | |
Jiiks | 5592a8d376 | |
Jiiks | 0c0ebb2ebb | |
Jiiks | d6d78d1e99 | |
Jiiks | b6da7019d0 | |
Jiiks | a123e20b05 | |
Jiiks | 856334cf30 | |
Jiiks | 3f5b2afbd5 | |
Jiiks | ad35c89d7d | |
Jiiks | 71a0ce8fb0 | |
Jiiks | d53a3b4d64 | |
Jiiks | bd0c66466f | |
Jiiks | 0a751919aa | |
Jiiks | cae68947df | |
Jiiks | 2b833b5141 | |
Jiiks | b24c0ba2f3 | |
Jiiks | 3b8126781d | |
Jiiks | a1a63f2c35 | |
Jiiks | 334c9f852a | |
Jiiks | 17128a889b | |
Jiiks | d2b99f200b | |
Jiiks | 5f4a77f2d8 | |
Jiiks | 3614997fa9 | |
Jiiks | 5f76d304f6 | |
Jiiks | e8688c0ce4 | |
Jiiks | 641a12d640 | |
Jiiks | 169741d5a1 | |
Alexei Stukov | 4aec2a7ade | |
Mega-Mewthree | ee9cba328f | |
Mega-Mewthree | c421be9e91 | |
Mega-Mewthree | 7a1768ca87 | |
Mega-Mewthree | b9e9ab89f7 | |
Mega-Mewthree | b9f3c3f4e2 | |
Mega-Mewthree | dc842b479b | |
Mega-Mewthree | 02e6fb88aa | |
Mega-Mewthree | c10310af3a | |
Mega-Mewthree | 7e41fe73e7 | |
Mega-Mewthree | c122457565 | |
Mega-Mewthree | 0ea0acfaa5 | |
Jiiks | 866ad8b13b | |
Mega-Mewthree | c5d4e199fc | |
Mega-Mewthree | 1a8946b151 | |
Zack Rauen | 9c0e19e198 | |
Alexei Stukov | 816f809ca7 | |
Samuel Elliott | 32a995f678 | |
Samuel Elliott | dac3187866 | |
Jiiks | 60cdec3ae4 | |
Jiiks | ed4adf21f4 | |
Jiiks | a8f0e239cf | |
Jiiks | be1a183e62 | |
Jiiks | d88cedb614 | |
Jiiks | 9880152290 | |
Jiiks | 0a1bd46ca9 | |
Jiiks | 83ef17d302 | |
Mega-Mewthree | cb6473920f | |
Mega-Mewthree | d8c769433a | |
Mega-Mewthree | fd7a0f4051 | |
Mega-Mewthree | 7899312e73 | |
Samuel Elliott | 784d8223e8 | |
Samuel Elliott | 344a9e6fe5 | |
Samuel Elliott | 22e78c03e1 | |
Jiiks | b67ca5c42d | |
Jiiks | bdec8b842e | |
Jiiks | 3bc7c28a97 | |
Samuel Elliott | a4992e905c | |
Samuel Elliott | c8381eb808 | |
Samuel Elliott | 0aabc72652 | |
Jiiks | 3d4204f080 | |
Samuel Elliott | dc3fed3408 | |
Samuel Elliott | a12a3c74f4 | |
Jiiks | 3c83dbe0ff | |
Samuel Elliott | 4970214324 | |
Jiiks | a5ae5ad8e9 | |
Jiiks | 54808f32ea | |
Jiiks | 4e4c532813 | |
Jiiks | aac4dba641 | |
Jiiks | 17f1b60a9b | |
Jiiks | 2a10191926 | |
Alexei Stukov | 87ec7d8773 | |
Jiiks | e518d4c117 | |
Jiiks | c4dfc7b11d | |
Jiiks | 0c04c04590 | |
Alexei Stukov | 11b2b16233 | |
Alexei Stukov | 4c6805510d | |
Samuel Elliott | cb01d32e19 | |
Samuel Elliott | 89a5bfba20 | |
Alexei Stukov | 87a2db1745 | |
Samuel Elliott | 387227cc1f | |
Zack Rauen | fdb3b308e1 | |
Alexei Stukov | b33aff51c1 | |
Alexei Stukov | be09fbb5ac | |
Jiiks | 2b4a804934 | |
Jiiks | fcfba41805 | |
Jiiks | d14a06528c | |
Alexei Stukov | c336c8cb0d | |
Samuel Elliott | 755d870a10 | |
Jiiks | 4ed301f531 | |
Jiiks | 263fcbe001 | |
Samuel Elliott | 883f760292 | |
Zack Rauen | 5af8a2168d | |
Jiiks | 50badaef2b | |
Alexei Stukov | 4c20115705 | |
Jiiks | e21583eafd | |
Jiiks | 983763c48d | |
Jiiks | 75ceee5449 | |
Jiiks | 572c57d3a7 | |
Jiiks | 4f98eaf85b | |
Jiiks | 44a1c87484 | |
Jiiks | b18dd7c01a | |
Jiiks | 356e8f0934 | |
Alexei Stukov | 1288e0361a | |
Alexei Stukov | 8f95ba290a | |
Zack Rauen | 5a603a084f | |
Zack Rauen | f144934cd7 | |
Zack Rauen | 9473e419b4 | |
Zack Rauen | a081a8fdf9 | |
Zack Rauen | e660ce6a31 | |
Zack Rauen | 5c7b10299b | |
Jiiks | 42957dbb16 | |
Alexei Stukov | c3df892f1c | |
Jiiks | 26f386ad31 | |
Jiiks | b861280548 | |
Jiiks | 9d22293927 | |
Jiiks | c3d8f4090e | |
Jiiks | 3f00dba937 | |
Alexei Stukov | 9f00aed4fa | |
Jiiks | 685d0f4bac | |
Alexei Stukov | a805c8f75a | |
Alexei Stukov | ce23a39f83 | |
Samuel Elliott | c0a971a27b | |
Jiiks | 7f567f6e9d | |
Jiiks | 865fcee12d | |
Jiiks | 6b3fc39a1d | |
Jiiks | 7b1f36cb9c | |
Jiiks | f6f308baa2 | |
Jiiks | e170ed608e | |
Jiiks | a432d78953 | |
Jiiks | b369dc31f2 | |
Jiiks | 778eb0474f | |
Jiiks | 8c1f196675 | |
Jiiks | e25ac66abf | |
Alexei Stukov | a2a334bdac | |
Jiiks | 8331b30d73 | |
Jiiks | 7083577db2 | |
Jiiks | 1b91c97c24 | |
Alexei Stukov | cca6cdf95d | |
Jiiks | 7c02a51a46 | |
Samuel Elliott | 0e34fdaa8d | |
Samuel Elliott | e2f05d9a64 | |
Samuel Elliott | 13437c56d4 | |
Samuel Elliott | 4b4b3c341f | |
Samuel Elliott | c2f8f5cfab | |
Samuel Elliott | d4c883a5d7 | |
Zack | 520366c4ac | |
Samuel Elliott | 342b4cddc4 | |
Samuel Elliott | 6ea85341b9 | |
Samuel Elliott | 9af8a71e17 | |
Samuel Elliott | 33488d716d | |
Samuel Elliott | a5ff8bbdb6 | |
Samuel Elliott | 16bb32b86c | |
Samuel Elliott | 8826a7b984 | |
Samuel Elliott | 5b419cb8ab | |
Samuel Elliott | db21f4eb13 | |
Samuel Elliott | 3a7ac06ce3 | |
Samuel Elliott | 0c8279311e | |
Samuel Elliott | 331b2b396a | |
Samuel Elliott | a20473d718 | |
Samuel Elliott | 1a12430322 | |
Samuel Elliott | 7a416c0ff7 | |
Samuel Elliott | 81e392c0f6 | |
Samuel Elliott | 71c2d3aaad | |
Samuel Elliott | 19bbd4215c | |
Samuel Elliott | 5301498978 | |
Samuel Elliott | 1d887967d9 | |
Samuel Elliott | a95b97b3c0 | |
Samuel Elliott | 007637a557 | |
Samuel Elliott | 6ded1c62e5 | |
Samuel Elliott | 27f1eec967 | |
Samuel Elliott | 821f46481e | |
Samuel Elliott | 6b97505f66 | |
Samuel Elliott | df471161a7 | |
Samuel Elliott | da627f71e5 | |
Samuel Elliott | 78079588ea | |
Samuel Elliott | b4ebd6c08a | |
Samuel Elliott | e6f2f518e6 | |
Samuel Elliott | aff89371e6 | |
Samuel Elliott | 98a7a71b87 | |
Samuel Elliott | 98a0717bba | |
Samuel Elliott | 7c8c8a754f | |
Samuel Elliott | ab13e716ad | |
Samuel Elliott | f2c31d866d | |
Samuel Elliott | e169206821 | |
Samuel Elliott | cd77d659a5 | |
Samuel Elliott | b6f38a73dc | |
Samuel Elliott | c384920275 | |
Samuel Elliott | 097fc9b3e9 | |
Samuel Elliott | b8fbfdee55 | |
Samuel Elliott | 8c0b73625d | |
Samuel Elliott | 55cd75b5f4 | |
Samuel Elliott | f8f519e882 | |
Samuel Elliott | 799dca7e1b | |
Samuel Elliott | eae1bdf3a6 | |
Samuel Elliott | ea27259a67 | |
Samuel Elliott | ebe195f078 | |
Samuel Elliott | e2b68788bd | |
Samuel Elliott | c8ca4fcfce | |
Samuel Elliott | 2c38433a2b | |
Samuel Elliott | ee0b13dab2 | |
Samuel Elliott | 4d2347cf84 | |
Samuel Elliott | 7cf40a9ee4 | |
Samuel Elliott | 70f678119a | |
Samuel Elliott | 0a2b967e36 | |
Samuel Elliott | a2367299b7 | |
Samuel Elliott | bbcc36647d | |
Samuel Elliott | 906140686f | |
Samuel Elliott | cecaf314f9 | |
Samuel Elliott | 4a3bb89259 | |
Samuel Elliott | d7db836e30 | |
Samuel Elliott | 1eca4bcec7 | |
Samuel Elliott | c02052a982 | |
Samuel Elliott | be841f0426 | |
Zack Rauen | 6c4743d7ed | |
Zack Rauen | 726d6cf4b0 | |
Samuel Elliott | 35cedbdbb3 | |
Samuel Elliott | 17597e2c30 | |
Zack Rauen | 1bb705014f | |
Samuel Elliott | 204dd76e7b | |
Samuel Elliott | 3e41a11197 | |
Samuel Elliott | 68d4617e46 | |
Samuel Elliott | 4654025423 | |
Samuel Elliott | 231afa8ed6 | |
Samuel Elliott | c3ff71ff85 | |
Samuel Elliott | 0e99b219c1 | |
Samuel Elliott | 13508b449d | |
Samuel Elliott | e57e1f51ea | |
Samuel Elliott | c345ab1419 | |
Samuel Elliott | bee869340d | |
Samuel Elliott | 1de4680ded | |
Samuel Elliott | bba1165c77 | |
Samuel Elliott | a5c7aaab3b | |
Samuel Elliott | 93cd1fd07d | |
Samuel Elliott | cfaf581ae1 | |
Samuel Elliott | 665c1d5fe4 | |
Samuel Elliott | 8d8c1a8080 | |
Samuel Elliott | 8827bdb8b0 | |
Samuel Elliott | cd81f925cb | |
Samuel Elliott | d7f4c651b6 | |
Samuel Elliott | f2159f1031 | |
Samuel Elliott | 581c94f6b3 | |
Samuel Elliott | 9eb8eaa906 | |
Samuel Elliott | 9915ef8b19 | |
Zack Rauen | 2d784b48f4 | |
Samuel Elliott | cee2a6ec34 | |
Samuel Elliott | 64e855ab2d | |
Samuel Elliott | 5aa921ae4b | |
Samuel Elliott | 40a72458e2 | |
Samuel Elliott | dc2be5c410 | |
Samuel Elliott | 640ec66abc | |
Samuel Elliott | 3aedcfdd06 | |
Samuel Elliott | 71fe549ee6 | |
Samuel Elliott | cbe1de98a5 | |
Samuel Elliott | 5a58c1c6ce | |
Samuel Elliott | 591d44dee4 | |
Samuel Elliott | 6da58ef6bb | |
Samuel Elliott | 85d5de9791 | |
Samuel Elliott | 5ce78f4b32 | |
Samuel Elliott | 2499f8c0ab | |
Samuel Elliott | 3f2eb1047e | |
Samuel Elliott | ac79bbb99b | |
Samuel Elliott | 1c4fb0b5ea | |
Samuel Elliott | 2e2d0dd6f6 | |
Samuel Elliott | a6c91d5e27 | |
Samuel Elliott | 949206738b | |
Samuel Elliott | 4dc715a39a | |
Samuel Elliott | 36d7554b46 | |
Samuel Elliott | d42e8f66ca | |
Samuel Elliott | 244b7e5bd1 | |
Samuel Elliott | ca7a7c1f91 | |
Samuel Elliott | 504221ce28 | |
Samuel Elliott | 1e643b8164 | |
Samuel Elliott | 0944c0708f | |
Samuel Elliott | 17575fc6a1 | |
Samuel Elliott | 1354b884b4 | |
Samuel Elliott | 1ace26b67f | |
Samuel Elliott | 117336a6b4 | |
Samuel Elliott | d1cce95abe | |
Samuel Elliott | 22fbb7b5bd | |
Samuel Elliott | 34ebab7c21 | |
Samuel Elliott | 5e8579e4dc | |
Samuel Elliott | 4721f66dab | |
Samuel Elliott | 02b313f2e6 | |
Samuel Elliott | b0ae424adb | |
Samuel Elliott | 5a6fb990c7 | |
Samuel Elliott | c294df6b26 | |
Samuel Elliott | c3e4563aeb | |
Samuel Elliott | 525fd3145d | |
Samuel Elliott | 32452d918a | |
Samuel Elliott | e524c50b65 | |
Samuel Elliott | 96952c3fef | |
Samuel Elliott | ad710de008 | |
Samuel Elliott | 21ff9d200c | |
Samuel Elliott | a1c6f5d5fd | |
Samuel Elliott | 6d64d17b7d | |
Samuel Elliott | 695d088f60 | |
Samuel Elliott | bcb888100c | |
Samuel Elliott | 146e108874 | |
Samuel Elliott | 4837a01812 | |
Samuel Elliott | 48f4837a24 | |
Samuel Elliott | 8b320d2f09 | |
Samuel Elliott | ac22b14358 | |
Samuel Elliott | 4d5a403d6d | |
Samuel Elliott | 9dc424cc75 | |
Samuel Elliott | 1b75753a3d | |
Samuel Elliott | a7b300d233 | |
Samuel Elliott | 68e42b8b36 | |
Samuel Elliott | e061d95ae6 | |
Alexei Stukov | 6b517adbe8 | |
Samuel Elliott | 33c0732c08 | |
Samuel Elliott | f1e0350433 | |
Samuel Elliott | d5f486d1ad | |
Samuel Elliott | 7fb8337095 | |
Samuel Elliott | 7adf63dfa8 | |
Samuel Elliott | d2f7e6142f | |
Samuel Elliott | b62727b046 | |
Samuel Elliott | f0a337e0ed | |
Samuel Elliott | 5c755bc121 | |
Samuel Elliott | 4d0631ba38 | |
Samuel Elliott | d4962bb2ab | |
Samuel Elliott | cf319a2604 | |
Samuel Elliott | 256db71aa4 | |
Samuel Elliott | de8601ded4 | |
Samuel Elliott | a96f3b1eb7 | |
Samuel Elliott | a7aa1fa5ec | |
Alexei Stukov | bbd12a0381 | |
Samuel Elliott | 027ca8d639 | |
Samuel Elliott | a0f60dddb2 | |
Samuel Elliott | a3038c46fd | |
Samuel Elliott | d98f152009 | |
Samuel Elliott | 68beee12d3 | |
Samuel Elliott | 4b59b9f65d | |
Samuel Elliott | 85d390e18d | |
Samuel Elliott | 3f89286946 | |
Samuel Elliott | 554b8d195b | |
Samuel Elliott | 7f5fa44fd3 | |
Samuel Elliott | c95d60ab0f | |
Samuel Elliott | 60a82a3ad9 | |
Samuel Elliott | 2f9af2e2d0 | |
Samuel Elliott | 858fdcec59 | |
Samuel Elliott | 3eb1782a64 | |
Samuel Elliott | 0e14d167dc | |
Samuel Elliott | c701a2b5f9 | |
Samuel Elliott | b3442ee108 | |
Samuel Elliott | 1bde3b4ec9 | |
Samuel Elliott | e83c6f92cb | |
Samuel Elliott | 06cca44376 | |
Samuel Elliott | 3f3898c774 | |
Samuel Elliott | f8a380fd59 | |
Samuel Elliott | f28525129e | |
Samuel Elliott | d2cbbd309b | |
Samuel Elliott | 74d78f4bca | |
Samuel Elliott | 68af931128 | |
Samuel Elliott | 5331afb763 | |
Samuel Elliott | 069b1ff689 | |
Samuel Elliott | 009d6be057 | |
Samuel Elliott | da4b592e54 | |
Samuel Elliott | 81f3519408 | |
Samuel Elliott | 8c09112cff | |
Samuel Elliott | 8983256ade | |
Samuel Elliott | d323292162 | |
Samuel Elliott | 1714a0225e | |
Samuel Elliott | fd3b0a92ce | |
Samuel Elliott | 9b1dd771ad | |
Samuel Elliott | 441e80e0e8 | |
Samuel Elliott | 4634266e14 | |
Samuel Elliott | 10fd25607d | |
Samuel Elliott | 946f68e4ef | |
Alexei Stukov | a4ceb8bd2c | |
Samuel Elliott | 545b72cc3e | |
Samuel Elliott | 9e229a1c0f | |
Samuel Elliott | ddfd0653ac | |
Samuel Elliott | 6bb8c18857 | |
Samuel Elliott | 66eee86eb3 | |
Samuel Elliott | eaeae7ad98 | |
Samuel Elliott | a3eeee9b57 | |
Samuel Elliott | 6d46ac67de | |
Samuel Elliott | db6be20864 | |
Samuel Elliott | 5e8e9fa19f | |
Samuel Elliott | ebff286c31 | |
Samuel Elliott | 0f805d57e3 | |
Samuel Elliott | 33adb92902 | |
Samuel Elliott | a85422f29e | |
Samuel Elliott | aa933d9a09 | |
Samuel Elliott | 8a9c8edf39 | |
Samuel Elliott | 74e3605ec6 | |
Samuel Elliott | dc44af6968 | |
Samuel Elliott | a4a130bfc6 | |
Samuel Elliott | 2fb5d8fe11 | |
Samuel Elliott | 1772edd37c | |
Samuel Elliott | b4bd9e9c7b | |
Samuel Elliott | 994faf94d6 | |
Alexei Stukov | 048abaeeed | |
Jiiks | f3fa3c2ae2 | |
Jiiks | ee87cbc25c | |
Jiiks | 4ce32c415e | |
Jiiks | c60411c901 | |
Jiiks | 9f24d0d1ce | |
Jiiks | 684f85b45e | |
Jiiks | 83d9419131 | |
Alexei Stukov | 1fe233bc91 | |
Jiiks | 70ae8365fe | |
Jiiks | 038d15ecf3 | |
Alexei Stukov | 86fc492af4 | |
Jiiks | eed634217e | |
Alexei Stukov | 122036fd14 | |
Jiiks | a150c3cd4a | |
Jiiks | 01b7e81f44 | |
Alexei Stukov | e1456f530c | |
Jiiks | 5d86b6cf50 | |
Jiiks | 76a72c8341 | |
Alexei Stukov | 7b52b22c5f | |
Jiiks | c84a79d3f5 | |
Alexei Stukov | 0dd49b7c9b | |
Jiiks | f8b9cdaead | |
Jiiks | b83e3c967d | |
Jiiks | 5ed34c149a | |
Alexei Stukov | cf2b3485ad | |
Jiiks | 8740c286a0 | |
Alexei Stukov | ffea5bd3ae | |
Jiiks | 0820735fa2 | |
Jiiks | 549275e5dc | |
Jiiks | e268f769b7 | |
Jiiks | 0af356823a | |
Jiiks | b5fc88bc8e | |
Jiiks | 86528a3335 | |
Alexei Stukov | f6d994e6a4 | |
Samuel Elliott | 533d4aead1 | |
Samuel Elliott | 094ef7e173 | |
Samuel Elliott | 086b6253bc | |
Alexei Stukov | d3a5be365e | |
Jiiks | 87cc894512 | |
Alexei Stukov | c99eedd5c8 | |
Jiiks | 7643588b00 | |
Jiiks | ce457e4ad4 | |
Alexei Stukov | ae63213809 | |
Jiiks | c44a35a6c4 | |
Jiiks | cc8f10f971 | |
Jiiks | 13f7ce0cad | |
Jiiks | e1f3bd2f41 | |
Jiiks | 6bc2e0cca5 | |
Jiiks | a4e51dd4a7 | |
Jiiks | 0eaf63f5f7 | |
Jiiks | bd5ded7333 | |
Jiiks | 6d1dbfad1e | |
Alexei Stukov | 96059d156c | |
Jiiks | 30c57cf998 | |
Alexei Stukov | d1dc8140e4 | |
Jiiks | bf7919a877 | |
Jiiks | 25044beaef | |
Jiiks | 81941bb140 | |
Jiiks | d6794e6de8 | |
Jiiks | b3ed044408 | |
Jiiks | 1e438764a0 | |
Jiiks | 9e875f4039 | |
Jiiks | 5f7ddcb8ce | |
Jiiks | e73ac58ff3 | |
Jiiks | bcc856bc6b | |
Jiiks | 6473ddaf9f | |
Jiiks | ce9a4c6b3d | |
Jiiks | 006a67ee01 | |
Jiiks | ae6b745e68 | |
Jiiks | 7599271f31 | |
Jiiks | 2c2ef33565 | |
Jiiks | d965e29867 | |
Jiiks | 67dddf5391 | |
Jiiks | 7116efe207 | |
Jiiks | 6a854ab070 | |
Jiiks | 5083a80ba2 | |
Alexei Stukov | 37be465174 | |
Zack Rauen | fd68da9566 | |
Zack Rauen | 6917724700 | |
Alexei Stukov | 2c33d1f7f0 | |
Jiiks | f612fcbf00 | |
Jiiks | afc9f91dc3 | |
Jiiks | 2952331998 | |
Jiiks | da6aecc3f2 | |
Alexei Stukov | ad522dd745 | |
Jiiks | b0fcedd3f3 | |
Jiiks | fe319e58fe | |
Jiiks | 45545d86b4 | |
Jiiks | c59494f604 | |
Jiiks | 523d226b91 | |
Alexei Stukov | 27aa21a47a | |
Jiiks | 4984ae996e | |
Jiiks | f494cbbb7a | |
Alexei Stukov | ef19f4723e | |
Alexei Stukov | 1adf372de9 | |
Jiiks | fe884ae436 | |
Jiiks | ae651e08e9 | |
Samuel Elliott | b24e0ef178 | |
Samuel Elliott | 3578698a86 | |
Samuel Elliott | 1319793123 | |
Samuel Elliott | 47c786a98a | |
Samuel Elliott | bc1f93dd89 | |
Jiiks | 976ea796f8 | |
Jiiks | a746d6a03e | |
Jiiks | 393362c8fb | |
Jiiks | af8f7b0c9f | |
Jiiks | 1c63b8a05d | |
Jiiks | dfa7987756 | |
Jiiks | 7737dacd05 | |
Jiiks | b75c7716c9 | |
Jiiks | 7e2be8bb19 | |
Jiiks | 399f8a790d | |
Jiiks | fdfd0a6454 | |
Jiiks | 88b46bc359 | |
Jiiks | fcebb43f35 | |
Samuel Elliott | e7b0acb5a0 | |
Jiiks | e22e7f7af8 | |
Jiiks | 7a82d9e860 | |
Jiiks | 4804cd6ccb | |
Jiiks | 44f0effba5 | |
Jiiks | 5fd62c8050 | |
Jiiks | 8bda3e9b4d | |
Jiiks | 0154a7e97b | |
Jiiks | fdfd961390 | |
Jiiks | 43359d771c | |
Jiiks | ff71042bb0 | |
Samuel Elliott | 68c0133381 | |
Samuel Elliott | dfd0208394 | |
Samuel Elliott | 0229482be8 | |
Samuel Elliott | e78089a509 | |
Samuel Elliott | 5e259f50f8 | |
Samuel Elliott | 0bbd7b506a | |
Alexei Stukov | 1ddb93bd5d | |
Jiiks | 2e512e61b2 | |
Jiiks | 37ecd7ec4e | |
Alexei Stukov | 67747f85eb | |
Alexei Stukov | b5a5baa1bf | |
Jiiks | bca83da8c9 | |
Jiiks | ce0d9e826c | |
Jiiks | 8d33d80e1c | |
Jiiks | 30a886d84a | |
Jiiks | bb2c3e54a5 | |
Jiiks | aa3226ce43 | |
Alexei Stukov | f263cfac24 | |
Samuel Elliott | d122e27578 | |
Samuel Elliott | 7e82ae8a85 | |
Samuel Elliott | a8d60582d0 | |
Jiiks | 605e869413 | |
Samuel Elliott | a89d186730 | |
Samuel Elliott | 6647595a3a | |
Samuel Elliott | c9e681c242 | |
Samuel Elliott | c13884414d | |
Samuel Elliott | b7a769e883 | |
Samuel Elliott | 93f08b715b | |
Samuel Elliott | 07dde5b1fa | |
Samuel Elliott | e67c08ff02 | |
Samuel Elliott | 72dd93503a | |
Samuel Elliott | da5e0ac99c | |
Samuel Elliott | 3ab4fd8a9a | |
Alexei Stukov | 626b6cec64 | |
Samuel Elliott | e5078f4160 | |
Samuel Elliott | 5373512d9b | |
Samuel Elliott | 26404843c2 | |
Samuel Elliott | f236abdca9 | |
Alexei Stukov | 382ee68125 | |
Jiiks | 5908e39e52 | |
Jiiks | 17672e674b | |
Alexei Stukov | 6841594a9a | |
Jiiks | e7f5a2e118 | |
Jiiks | 064065cfe1 | |
Jiiks | da58d2e8b5 | |
Jiiks | 13364f1c9c | |
Alexei Stukov | ccb5a1ce56 | |
Samuel Elliott | e9f533d600 | |
Samuel Elliott | 05b3abd290 | |
Samuel Elliott | 6cac091c27 | |
Samuel Elliott | 0332027963 | |
Samuel Elliott | 9617890ab6 | |
Samuel Elliott | 47637eca75 | |
Samuel Elliott | d32959b8b9 | |
Alexei Stukov | 050118f26c | |
Jiiks | 43bc873bcb | |
Alexei Stukov | 1b6a846102 | |
Samuel Elliott | 88b063ca8e | |
Samuel Elliott | 2bf1709dba | |
Samuel Elliott | 1dffb1f40b | |
Samuel Elliott | 00d909f16c | |
Samuel Elliott | 91275f4332 | |
Samuel Elliott | 976aecd8f2 | |
Samuel Elliott | 9bc29cc66e | |
Samuel Elliott | a6db490f49 | |
Samuel Elliott | 2c6ae62c7e | |
Samuel Elliott | 05c08ca51f | |
Samuel Elliott | dc1acf140f | |
Samuel Elliott | 90c256ed76 | |
Samuel Elliott | 88e563501a | |
Samuel Elliott | bd72246715 | |
Samuel Elliott | 2060a41f5d | |
Samuel Elliott | fdc9330195 | |
Samuel Elliott | e94a7c50a4 | |
Samuel Elliott | f9e278cc75 | |
Samuel Elliott | 3168012fde | |
Samuel Elliott | 5e2b5975ed | |
Alexei Stukov | d6cb8f74fe | |
Samuel Elliott | 59bbc8d8ef | |
Samuel Elliott | 7954ebd764 | |
Samuel Elliott | 92612fc616 | |
Samuel Elliott | 3437c36b87 | |
Samuel Elliott | 3574d6a5ba | |
Samuel Elliott | 9a72a7425e | |
Samuel Elliott | 5707da5f72 | |
Samuel Elliott | bff6057e0c | |
Alexei Stukov | ecf7f872cb | |
Alexei Stukov | 22485bc26a | |
Jiiks | deaa680aae | |
Samuel Elliott | 1f5cf04eb6 | |
Samuel Elliott | cfdf3e0b4a | |
Alexei Stukov | 4f451e3822 | |
Jiiks | f4692c5e32 | |
Jiiks | 327fb09973 | |
Jiiks | 7046316d60 | |
Jiiks | 67142ca7db | |
Jiiks | 1e977fb407 | |
Jiiks | e418964819 | |
Alexei Stukov | fab7371d66 | |
Jiiks | e0de230ef2 | |
Alexei Stukov | f255c010cd | |
Jiiks | e7e79c9ac8 | |
Alexei Stukov | 963d9e61d8 | |
Jiiks | 779a59c87e | |
Jiiks | 160e6699e3 | |
Jiiks | 9b7b5d3b02 | |
Jiiks | ca9264a672 | |
Alexei Stukov | 43e95bbba8 | |
Alexei Stukov | 6380f9fc33 | |
Samuel Elliott | df0f823f1d | |
Samuel Elliott | ff3ef34784 | |
Samuel Elliott | 4cfa4ee466 | |
Samuel Elliott | b9145b5b85 | |
Samuel Elliott | 5be5002ea1 | |
Samuel Elliott | d88caab321 | |
Alexei Stukov | 99e9ce3852 | |
Samuel Elliott | eae9d67649 | |
Samuel Elliott | 2eaafdb1ac | |
Samuel Elliott | 0be09f6cf8 | |
Samuel Elliott | afacd9cfbb | |
Samuel Elliott | 7123f5f100 | |
Samuel Elliott | 522e798669 | |
Samuel Elliott | 201af9473e | |
Samuel Elliott | fae6fc8511 | |
Samuel Elliott | 847d88a628 | |
Samuel Elliott | 7cf1cf36fa | |
Samuel Elliott | bd19a633b0 | |
Samuel Elliott | 8419bc51c1 | |
Samuel Elliott | 9f6394eae3 | |
Samuel Elliott | 6b94437b89 | |
Samuel Elliott | fca89aaaa6 | |
Samuel Elliott | 5931bffca3 | |
Samuel Elliott | 5938e39d99 | |
Samuel Elliott | 36a2fb1ec5 | |
Samuel Elliott | c7db7fc2a7 | |
Alexei Stukov | d1d2610416 | |
Alexei Stukov | f528ef6bda | |
Samuel Elliott | fadd0574ac | |
Samuel Elliott | 01cacb3ef6 | |
Samuel Elliott | c9a20b7fcf | |
Samuel Elliott | 48ee29b621 | |
Samuel Elliott | 78a61dc60f | |
Alexei Stukov | fdb6ddd540 | |
Jiiks | 3a09dfb066 | |
Jiiks | 877b59d0d3 | |
Jiiks | 5df556f96e | |
Jiiks | cd936201b5 | |
Jiiks | 807cb9241b | |
Alexei Stukov | 5ba8c41850 | |
Jiiks | 7ba43f8763 | |
Jiiks | 666960a9bd | |
Alexei Stukov | 8c2f59ecf1 | |
Alexei Stukov | 1be6992da0 | |
Alexei Stukov | 050f8d40e0 | |
Alexei Stukov | 77f4b7f0ec | |
Jiiks | eb9e3dd4c6 | |
Jiiks | 2962d1fc9f | |
Alexei Stukov | b51e675291 | |
Samuel Elliott | 0373d81199 | |
Samuel Elliott | a9d488b748 | |
Samuel Elliott | c9d9feb63f | |
Samuel Elliott | bea87f5be8 | |
Samuel Elliott | 9fb914fb70 | |
Alexei Stukov | a49551f7bb | |
Samuel Elliott | 0cfb6d36ca | |
Samuel Elliott | dcb2704a28 | |
Samuel Elliott | 8c5796e4f6 | |
Samuel Elliott | 41b7906612 | |
Samuel Elliott | 1dd01e186b | |
Samuel Elliott | 0af22b21d4 | |
Jiiks | 16763c4a3e | |
Alexei Stukov | 12a5bd35d5 | |
Jiiks | 57e73050cd | |
Jiiks | df7d9fa0da | |
Jiiks | b1f4fb637e | |
Jiiks | a37bccfbb2 | |
Jiiks | 287e2c9cd2 | |
Alexei Stukov | 401f67382d | |
Jiiks | b23a5ba7ac | |
Jiiks | 4fba4049e1 | |
Jiiks | 4329517b0f | |
Alexei Stukov | dcd69d7b29 | |
Samuel Elliott | cebaba2de3 | |
Samuel Elliott | 8e71ee5a5c | |
Samuel Elliott | 145df5e7cc | |
Samuel Elliott | f13726d8e2 | |
Samuel Elliott | 4b9084bee4 | |
Samuel Elliott | 6b96bdbc3b | |
Samuel Elliott | 227b2cc0d8 | |
Samuel Elliott | 08271deea1 | |
Samuel Elliott | d3c3de5a79 | |
Samuel Elliott | 9b9162346b | |
Samuel Elliott | 210d085caf | |
Alexei Stukov | 058fd2f7b5 | |
Samuel Elliott | 8b85c829d6 | |
Samuel Elliott | 79af725f7f | |
Jiiks | 728aab8e95 | |
Samuel Elliott | 1bded3121e | |
Jiiks | e01567bd6a | |
Jiiks | 01b54a37bc | |
Jiiks | 44832fb11a | |
Jiiks | fca1d49506 | |
Jiiks | 842f0d6229 | |
Jiiks | 0ac1cf240d | |
Alexei Stukov | 13e9c53520 | |
Alexei Stukov | 91a658db44 | |
Samuel Elliott | c581ba1b75 | |
Samuel Elliott | a9a45e0f20 | |
Samuel Elliott | 6a11d3049a | |
Samuel Elliott | 729657f345 | |
Samuel Elliott | 5ca04f0652 | |
Samuel Elliott | a965dc9515 | |
Samuel Elliott | 98261a864d | |
Samuel Elliott | 2ec2df6efd | |
Samuel Elliott | 21c70124e5 | |
Samuel Elliott | 10abf0353f | |
Samuel Elliott | 1f85d4d2f4 | |
Samuel Elliott | 3b66d320e8 | |
Samuel Elliott | 21a8554d6f | |
Samuel Elliott | 8706e9ef0f | |
Samuel Elliott | 64ac3677b1 | |
Alexei Stukov | cbc727f951 | |
Jiiks | 66721d80b5 | |
Alexei Stukov | 0d660ac523 | |
Jiiks | 8984be5c3e | |
Jiiks | ebeae46991 | |
Jiiks | 9a652e3748 | |
Jiiks | 1f1d748687 | |
Jiiks | d406384dd0 | |
Alexei Stukov | 0994c1f94f | |
Samuel Elliott | 7664266dfe | |
Alexei Stukov | 663af3ca83 | |
Samuel Elliott | e793a8d380 | |
Samuel Elliott | 61c913b55b | |
Samuel Elliott | cc1aee6842 | |
Alexei Stukov | 80ce233e6d | |
Alexei Stukov | 9aeb5972cd | |
Samuel Elliott | f085364760 | |
Samuel Elliott | 1f4c2df3ae | |
Samuel Elliott | 32326471b1 | |
Samuel Elliott | 8d7261a24a | |
Samuel Elliott | 7e2fca9059 | |
Samuel Elliott | 26fbac6bbc | |
Samuel Elliott | eaa8d3a03a | |
Samuel Elliott | 4fa91563a5 | |
Samuel Elliott | 09cff282cb | |
Samuel Elliott | 52f8c1cf31 | |
Samuel Elliott | 15f683d4c9 | |
Samuel Elliott | 4dfe349802 | |
Alexei Stukov | 0eddaf86eb | |
Jiiks | cb2536437b | |
Jiiks | 194c1c1ff8 | |
Alexei Stukov | aae9653a4a | |
Jiiks | c52f1eb0b8 | |
Jiiks | f37058779a | |
Jiiks | 44b9450efa | |
Alexei Stukov | 06b3b70272 | |
Jiiks | 4e46675f94 | |
Jiiks | 4a7a9ae1db | |
Alexei Stukov | 35338dd104 | |
Samuel Elliott | 14822ab51a | |
Alexei Stukov | 0043292b25 | |
Jiiks | fad9a5336a | |
Jiiks | 2453797400 | |
Alexei Stukov | 0b1dabd80b | |
Jiiks | da702bd40a | |
Alexei Stukov | 600991fd50 | |
Samuel Elliott | 8d70e9cd54 | |
Alexei Stukov | c502ee8909 | |
Samuel Elliott | 9301ad627c | |
Alexei Stukov | 702b770058 | |
Alexei Stukov | 1db9ad3425 | |
Jiiks | 8bb388fb25 | |
Jiiks | fa9c0d2f94 | |
Samuel Elliott | 997ae3369d | |
Jiiks | 31655e558c | |
Alexei Stukov | 49103b1c49 | |
Jiiks | 45c372b71c | |
Jiiks | 00cc38ae33 | |
Jiiks | 34435465a3 | |
Jiiks | e25c3fe846 | |
Alexei Stukov | 224b51f1c3 | |
Samuel Elliott | 01655f0c04 | |
Alexei Stukov | aa7e6ab160 | |
Alexei Stukov | f05517a0a4 | |
Samuel Elliott | d4c71452bc | |
Samuel Elliott | 08b791e547 | |
Samuel Elliott | f3aef1d61d | |
Alexei Stukov | f71d79fd90 | |
Jiiks | 0ec190612b | |
Alexei Stukov | fc2a374344 | |
Jiiks | 39c83b7fa6 | |
Jiiks | 67f7111f66 | |
Jiiks | bf0c74b516 | |
Alexei Stukov | bcdd694ec9 | |
Jiiks | 208ca763ab | |
Jiiks | 51f5a93da2 | |
Jiiks | f69ea55967 | |
Jiiks | b395ed767d | |
Alexei Stukov | 18c71fe7da | |
Jiiks | 72b024c4f3 | |
Jiiks | e7b488316b | |
Alexei Stukov | 63b1e9d1e6 | |
Samuel Elliott | 6e4d6307e8 | |
Jiiks | 2472743660 | |
Jiiks | 83783a9ece | |
Alexei Stukov | 9fb51c57b3 | |
Jiiks | ca3ce86dc5 | |
Jiiks | c5a011012f | |
Alexei Stukov | 6a96ce1237 | |
Samuel Elliott | 5b87a928ba | |
Alexei Stukov | e314faf157 | |
Jiiks | 45448e23d3 | |
Alexei Stukov | fd8eaa363b | |
Alexei Stukov | 93607fde0c | |
Alexei Stukov | dc7805c835 | |
Samuel Elliott | 30121ecc9c | |
Samuel Elliott | 64dd9cd6fb | |
Samuel Elliott | 4c414e80d4 | |
Samuel Elliott | 7250ab6cf9 | |
Alexei Stukov | 61cbcd8bb5 | |
Jiiks | 5165094a1b | |
Alexei Stukov | 2da3fb95c2 | |
Samuel Elliott | 9245e921ce | |
Alexei Stukov | 17f9487225 | |
Jiiks | 4ba99b654e | |
Alexei Stukov | e09afda0f2 | |
Jiiks | a783072cca | |
Alexei Stukov | 848af986e6 | |
Samuel Elliott | 4ef24b8b85 | |
Samuel Elliott | ba4a02b501 | |
Jiiks | 41ff8e6445 | |
Alexei Stukov | 4caab690ac | |
Jiiks | c73346292e | |
Alexei Stukov | 634180a6e5 | |
Samuel Elliott | 1a95a7db4b | |
Alexei Stukov | a0fb11d591 | |
Jiiks | a706e6f2fc | |
Alexei Stukov | 6e4f90cdfb | |
samfun123 | 7cfd141260 | |
samfun123 | 5bcd43bb48 | |
samfun123 | 75410b4ce9 | |
Alexei Stukov | 4480458bd6 | |
Jiiks | 932d91876b | |
Alexei Stukov | 71df600173 | |
Samuel Elliott | ace7bab65e | |
Jiiks | 3034ea4934 | |
Jiiks | fc6bb75229 | |
Jiiks | 3edceebd89 | |
Alexei Stukov | e65e4d116e | |
Alexei Stukov | 996ab6a73f | |
Alexei Stukov | 2befa12cc4 | |
Jiiks | 267a545ea5 | |
Jiiks | 18926dd58a | |
Alexei Stukov | e2e2ab74ef | |
Jiiks | 230e9e6560 | |
Jiiks | 8a799f29f7 | |
Jiiks | bf648dce6c | |
Alexei Stukov | aac97dd7c4 | |
Samuel Elliott | 21025e759e | |
Samuel Elliott | 915db146e8 | |
Samuel Elliott | c5442f709d | |
Alexei Stukov | a97682b2a4 | |
Jiiks | 39da2ffdb8 | |
Alexei Stukov | 7ce0ecbf62 | |
Jiiks | e0ce4c00c1 | |
Jiiks | 889e4916ef | |
Jiiks | b1edcf5810 | |
Jiiks | b8116ddc58 | |
Jiiks | 071b60b986 | |
Alexei Stukov | 2f680a9a4e | |
Jiiks | 801235e50b | |
Alexei Stukov | 4d716439b6 | |
Alexei Stukov | 7ab6daf626 | |
Jiiks | e05b5c3377 | |
Jiiks | 2f463fad32 | |
Jiiks | f18c594744 | |
Samuel Elliott | 2d0ba0cc0e | |
Alexei Stukov | 64385a5631 | |
Jiiks | 20c9dacf71 | |
Alexei Stukov | af9f0e21aa | |
Jiiks | 853e2a03aa | |
Alexei Stukov | 5fe333c3d3 | |
Samuel Elliott | 67e6a22ca7 | |
Alexei Stukov | aefab7c677 | |
Jiiks | fe06db3d3c | |
Alexei Stukov | b75c8892f7 | |
Samuel Elliott | 26de9a3197 | |
Jiiks | eec595185c | |
Jiiks | 1647f8d8c2 | |
Jiiks | a7a2e6b08b | |
Jiiks | 27dac58dda | |
Alexei Stukov | dbc40a9850 | |
Jiiks | b6489cefaa | |
Alexei Stukov | aec27f2493 | |
Jiiks | c046f5f92f | |
Jiiks | 48a086c29d | |
Jiiks | cd87bd0e35 | |
Jiiks | 415d196954 | |
Jiiks | fce24e6a6a | |
Alexei Stukov | 1dae0a40b2 | |
Jiiks | 600eed9dbc | |
Jiiks | c92a293d31 | |
Jiiks | c078c7b686 | |
Jiiks | 2104770c9d | |
Jiiks | c01f022ede | |
Alexei Stukov | 0bb70aebde | |
Jiiks | a6bc800436 | |
Jiiks | eca427ce46 | |
Jiiks | 14de558305 | |
Jiiks | 92634a2f98 | |
Alexei Stukov | 60d9bf6ef6 | |
Jiiks | 6b800d94e3 | |
Jiiks | 76730d38d4 | |
Alexei Stukov | 2c8508fe32 | |
Jiiks | 7d09b38963 | |
Alexei Stukov | 363c7e9f7c | |
Jiiks | 9f094a08cc | |
Jiiks | 8621898558 | |
Jiiks | 235b373f1a | |
Jiiks | e0df52b6ab | |
Jiiks | 1896a0d558 | |
Jiiks | a19570c205 | |
Jiiks | 5ad5eeff64 | |
Jiiks | 2a8c6189e4 | |
Jiiks | 9d7bc8a058 | |
Jiiks | cb8b448da9 | |
Jiiks | ca8a421a9c | |
Jiiks | 85db5af655 | |
Jiiks | 6385c15236 | |
Jiiks | 031e93185a | |
Jiiks | 9c14b44d22 | |
Jiiks | 30b4a8a55d | |
Jiiks | 5cdd9948e8 | |
Jiiks | ca5467addb | |
Jiiks | 5791368a75 | |
Jiiks | 88ad25ecc7 | |
Jiiks | 4c5ff964e6 | |
Alexei Stukov | 28c573e5c5 | |
Alexei Stukov | c5083733be | |
Pierce | 981de1b9e2 | |
Pierce | bac4ce5323 | |
samogot | 4ab90e780f | |
samogot | e41b289eb5 | |
samogot | 46d67ae88a | |
samogot | 8e7c6b45b8 | |
samogot | 63c239f36f | |
samogot | d980a23dd3 | |
Samuel Elliott | a27d586d38 | |
Samuel Elliott | d11cfbcdaa | |
Alexei Stukov | 65cf800283 | |
Jiiks | 7bd1fc2eea | |
Jiiks | 366deb02fc | |
Jiiks | 271101ba0b | |
Jiiks | e66c1ce447 | |
Jiiks | 5faaaa0276 | |
Jiiks | a509495b9f | |
Alexei Stukov | 4345abad15 | |
Jiiks | 0a05c0d68a | |
Jiiks | 88a89bbe4f | |
Jiiks | a3f9b50c8c | |
Alexei Stukov | e548f75b68 | |
Jiiks | 9a8f2eddef | |
Alexei Stukov | 5157ad165d | |
Jiiks | 14a5331ecc | |
Alexei Stukov | b7aab16185 | |
Alexei Stukov | 25dac4d258 | |
Jiiks | cb542acbd0 | |
Jiiks | d934bc4aff | |
Alexei Stukov | 7372cf778d | |
Jiiks | 38783631c5 | |
Samuel Elliott | ecfc2ca7d6 | |
Jiiks | 17a8c2372b | |
Jiiks | 87b07d0a0e | |
Jiiks | 1d9e6037d9 | |
Jiiks | 71ac54911a | |
Jiiks | b3218d636a | |
Alexei Stukov | 31041f75dd | |
Zack Rauen | ff818d721d | |
Jiiks | 098ac8fb17 | |
Jiiks | 19b88b4be0 | |
Jiiks | e9b15a33b1 | |
Jiiks | a5cad6731c | |
Jiiks | 17d7e83590 | |
Jiiks | 4fc630cf0a | |
Jiiks | c195786ffc | |
Alexei Stukov | c44131e0dd | |
Jiiks | b908b2e42e | |
Jiiks | 7476d4d499 | |
Jiiks | 23cde9cb9f | |
Jiiks | 4ad2cc52dd | |
Jiiks | e11787c585 | |
Jiiks | 38776569ed | |
Jiiks | b90fda127d | |
Jiiks | fc49277e1d | |
Jiiks | db874b6218 | |
Jiiks | 90b9efe5ba | |
Jiiks | 13343283d5 | |
Jiiks | e8d4517606 | |
Jiiks | 79827b946d | |
Jiiks | 48fabda81f | |
Jiiks | 6cf4322127 | |
Jiiks | 2cc0e6c1aa | |
Jiiks | a666a52f72 | |
Jiiks | 47371b3a19 | |
Alexei Stukov | 9cdf200ae7 | |
Jiiks | e714a9267f | |
Jiiks | 8cf6d6f2e0 | |
Jiiks | 2618876e62 | |
Jiiks | dd9ec12b36 | |
Jiiks | 725c95d6d3 | |
Alexei Stukov | 43fb6eb2c9 | |
Samuel Elliott | 10ea33f270 | |
Samuel Elliott | 731d18e4da | |
Jiiks | 5d07d9b429 | |
Jiiks | 11e42a4ce9 | |
Jiiks | 111bc2da2f | |
Jiiks | d88556ccba | |
Jiiks | 2abbe56498 | |
Alexei Stukov | 8a7320baab | |
Jiiks | a323531dfc | |
Zack Rauen | 645bf81160 | |
Zack Rauen | 316f30196c | |
Jiiks | a288d2473f | |
Jiiks | 87fcff3ffb | |
Jiiks | 0fbe5f8ce7 | |
Alexei Stukov | cb091b594d | |
Jiiks | 6f9f005ed9 | |
Alexei Stukov | 7add5afc30 | |
Jiiks | 3500b2890b | |
Alexei Stukov | d57b394768 | |
Jiiks | e1e3e77e08 | |
Jiiks | 6816a2938a | |
Jiiks | 0e70eea85c | |
Jiiks | 1f618684b8 | |
Alexei Stukov | d1988f915f | |
Alexei Stukov | 623aaeb01a | |
samfun123 | 5251d42c2f | |
Zack Rauen | 7b578dcc56 | |
Zack Rauen | 0cd70e5da3 | |
Alexei Stukov | 906bda3489 | |
Zack Rauen | 10b843d53e | |
Jiiks | 4362d39624 | |
Jiiks | 6640fa1890 | |
Jiiks | fe29c78583 | |
Pierce | de5fd43b84 | |
Samuel Elliott | 7d1416da67 | |
Alexei Stukov | 5aed82573f | |
Jiiks | 8b9d923ae2 | |
Jiiks | 9f0eb844c2 | |
Jiiks | 1a9fbef1f5 | |
Jiiks | 5c3e7e780e | |
Jiiks | 497e989e76 | |
Jiiks | b3f5f46e74 | |
Jiiks | 2bcde666d8 | |
Jiiks | 48e1fda6cf | |
Alexei Stukov | 1f46323dc9 | |
Alexei Stukov | abda678167 | |
Samuel Elliott | f21aec5226 | |
Alexei Stukov | f9cd4e1a8a | |
Jiiks | da20f417c3 | |
Jiiks | e19f2ad8d7 | |
Jiiks | 357706f4c5 | |
Jiiks | 49bdd4b1fd | |
Jiiks | 461d3468a5 | |
Jiiks | 4575c3428a | |
Jiiks | 2d128eb0a4 | |
Jiiks | ac1b5ef38d | |
Jiiks | 5419484825 | |
Jiiks | ff1510dbcc | |
Jiiks | 9492bb0bc2 | |
Jiiks | b42f17437c | |
Alexei Stukov | 992aa63cd8 | |
Samuel Elliott | 4076da01c9 | |
Samuel Elliott | 708b4e5e63 | |
Alexei Stukov | 8b9ccf0e0d | |
Alexei Stukov | 146f64aa04 | |
Jiiks | 389738c278 | |
Jiiks | 5fe1bfed8f | |
Alexei Stukov | f002440899 | |
Pierce | 722af5cec6 | |
Jiiks | a375f9ed6e | |
Jiiks | ddaa663067 | |
Alexei Stukov | fb0326d371 | |
Jiiks | 4e1b5cfc89 | |
Alexei Stukov | e9c97b89ab | |
Jiiks | a544a42436 | |
Alexei Stukov | eac7f62911 | |
Jiiks | ec50f750aa | |
Jiiks | 2f1a268cc5 | |
Jiiks | e826079fc1 | |
Jiiks | 0f762c1e58 | |
Jiiks | 6b0423ebb0 | |
Jiiks | b7e0de3e41 | |
Jiiks | ef7009f5a1 | |
Alexei Stukov | 9fc2eb559a | |
Jiiks | 509f44bcb1 | |
Jiiks | 289533b755 | |
Jiiks | e3367768eb | |
Jiiks | 3ee59845de | |
Jiiks | 7c12617448 | |
Alexei Stukov | b4be857f70 | |
Jiiks | 626a83c8a7 | |
Jiiks | 006b7bed7a | |
Jiiks | 20abc525d3 | |
Alexei Stukov | 902119fbae | |
Jiiks | 2a8ebbe80c | |
Jiiks | 0faad8d654 | |
Alexei Stukov | 602258b6d8 | |
Jiiks | 9c488f996f | |
Jiiks | 48dbbb1ea3 | |
Jiiks | a9b253ebad | |
Jiiks | 98d58b1303 | |
Alexei Stukov | 7fd368f936 | |
Alexei Stukov | 4d44ba673b | |
Alexei Stukov | 02df356931 | |
Jiiks | 80170a5bbd | |
Jiiks | 2aa9b46c10 | |
Jiiks | 39fbae166f | |
Jiiks | a1261cab0a | |
Alexei Stukov | f160cb9c8b | |
Jiiks | 7aa7d9df10 | |
Alexei Stukov | 48d6098285 | |
Jiiks | 2e26f472ea | |
Jiiks | 50f0d4f91f | |
Jiiks | bc05138037 | |
Jiiks | e823b1c9d0 | |
Jiiks | cc55db87b7 | |
Jiiks | 1040650ae4 | |
Jiiks | 8c2692caba | |
Jiiks | 403ffc839d | |
Jiiks | c801b09e9c | |
Jiiks | 861d95bd06 | |
Jiiks | 6b96b191aa | |
Jiiks | c851d2e92c | |
Jiiks | 9ecb14ab23 | |
Jiiks | 8e5f007f5b | |
Jiiks | ba4ba87eec | |
Jiiks | e1932b7f74 | |
Jiiks | 7be0ab71fc | |
Jiiks | b57255487a | |
Jiiks | 8e308f2a65 | |
Jiiks | 662329c5e9 | |
Jiiks | 03505fcdb6 | |
Jiiks | 8863c20661 | |
Jiiks | b75177dadd | |
Jiiks | 71f785cdd1 | |
Jiiks | 38c61484c1 | |
Jiiks | 5ec53510be | |
Jiiks | 881b33f4b6 | |
Jiiks | 4cd0f4fb9b | |
Jiiks | 32e563effc | |
Jiiks | 69e10f69cd | |
Jiiks | f6047265e3 | |
Jiiks | c8ebe4bfad | |
Jiiks | e72fb0d525 | |
Jiiks | 149a4e0dec | |
Jiiks | 3ab286f81e | |
Jiiks | 78952f190c | |
Jiiks | 273a4ae50b | |
Jiiks | ba0ba4b2ce | |
Jiiks | a6d2e200f6 | |
Jiiks | 660729eaf7 | |
Jiiks | 8d9ba8fed9 | |
Jiiks | ea8ac32a1c | |
Jiiks | e9e3627339 | |
Jiiks | 8688a9ea7d | |
Jiiks | 2a29984950 | |
Jiiks | cf1a9ecb91 |
|
@ -0,0 +1,15 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
insert_final_newline = true
|
||||
trim_trailing_whitespace = true
|
||||
|
||||
indent_style = space
|
||||
indent_size = 4
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
|
||||
[package.json]
|
||||
indent_size = 2
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 8,
|
||||
"sourceType": "module"
|
||||
},
|
||||
"env": {
|
||||
"browser": true,
|
||||
"node": true
|
||||
},
|
||||
"plugins": [
|
||||
"vue"
|
||||
],
|
||||
"extends": [
|
||||
"eslint:recommended",
|
||||
"plugin:vue/recommended"
|
||||
],
|
||||
"rules": {
|
||||
"no-unused-vars": "off",
|
||||
"no-console": "off",
|
||||
"no-empty": "off",
|
||||
"quotes": [
|
||||
"error",
|
||||
"single",
|
||||
{ "allowTemplateLiterals": true }
|
||||
],
|
||||
"prefer-template": "warn",
|
||||
"no-return-await": "error",
|
||||
"indent": [ "warn", 4 ],
|
||||
"no-lonely-if": "error",
|
||||
"no-multiple-empty-lines": [
|
||||
"warn",
|
||||
{ "max": 1 }
|
||||
],
|
||||
"no-tabs": "warn",
|
||||
"no-trailing-spaces": "warn",
|
||||
"no-unneeded-ternary": "warn",
|
||||
"no-useless-constructor": "warn",
|
||||
"no-var": "error",
|
||||
"prefer-const": "error",
|
||||
"no-else-return": "error"
|
||||
}
|
||||
}
|
|
@ -0,0 +1,33 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Create a report to help us improve
|
||||
title: "[Bug]"
|
||||
labels: bug
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
- [ ] Used appropriate template for the issue type
|
||||
- [ ] Searched both open and closed issues for duplicates of this issue
|
||||
- [ ] Title adequately and _concisely_ reflects the feature or the bug
|
||||
|
||||
**Describe the bug**
|
||||
<!-- A clear and concise description of what the bug is. -->
|
||||
|
||||
**To Reproduce**
|
||||
<!-- Steps to reproduce the behavior -->
|
||||
|
||||
**Expected behavior**
|
||||
<!-- A clear and concise description of what you expected to happen. -->
|
||||
|
||||
**Screenshots**
|
||||
<!-- If applicable, add screenshots to help explain your problem. -->
|
||||
|
||||
**System information**
|
||||
<!-- os, discord branch etc -->
|
||||
|
||||
**Additional context**
|
||||
<!-- Add any other context about the problem here. -->
|
||||
|
||||
**Are you willing and able to fix this?**
|
||||
<!-- "Yes" or, if "no", what can current contributors do to help you create a PR? -->
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
name: Custom issue template
|
||||
about: Describe this issue template's purpose here.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
- [ ] Used appropriate template for the issue type
|
||||
- [ ] Searched both open and closed issues for duplicates of this issue
|
||||
- [ ] Title adequately and _concisely_ reflects the feature or the bug
|
|
@ -0,0 +1,27 @@
|
|||
---
|
||||
name: Feature request
|
||||
about: Suggest an idea for this project
|
||||
title: "[Feature]"
|
||||
labels: feature
|
||||
assignees: ''
|
||||
|
||||
---
|
||||
|
||||
- [ ] Used appropriate template for the issue type
|
||||
- [ ] Searched both open and closed issues for duplicates of this issue
|
||||
- [ ] Title adequately and _concisely_ reflects the feature or the bug
|
||||
|
||||
**Is your feature request related to a problem? Please describe.**
|
||||
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
|
||||
|
||||
**Describe the solution you'd like**
|
||||
<!-- A clear and concise description of what you want to happen. -->
|
||||
|
||||
**Describe alternatives you've considered**
|
||||
<!-- A clear and concise description of any alternative solutions or features you've considered. -->
|
||||
|
||||
**Additional context**
|
||||
<!-- Add any other context or screenshots about the feature request here. -->
|
||||
|
||||
**Are you willing and able to implement this?**
|
||||
<!-- "Yes" or, if "no", what can current contributors do to help you create a PR? -->
|
|
@ -1,17 +1,16 @@
|
|||
.idea/*
|
||||
*.name
|
||||
devjs/.idea/devjs.iml
|
||||
*.bak
|
||||
*.bak.*
|
||||
*.xpi
|
||||
Firefox/data/js/jquery-2.1.4.min.js
|
||||
*.dev.*
|
||||
/nbproject/private/
|
||||
# Generated files
|
||||
node_modules
|
||||
.sass-cache
|
||||
/*.jiiks
|
||||
Installers/dotNet/bin/
|
||||
Installers/dotNet/packages/
|
||||
Installers/dotNet/dlls/
|
||||
v2/dist/vendor/
|
||||
v2/lib/static.js
|
||||
dist
|
||||
etc
|
||||
release
|
||||
|
||||
tests/tmp
|
||||
tests/log.txt
|
||||
|
||||
# User data
|
||||
tests/data
|
||||
user.config.json
|
||||
/.vs
|
||||
/npm-debug.log
|
||||
/tests/ext/extensions
|
||||
/tests/userdata
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
"rules": {
|
||||
"no-transition-all": [ 0 ],
|
||||
"nesting-depth": [
|
||||
1,
|
||||
{ "max-depth": 5 }
|
||||
],
|
||||
"no-vendor-prefixes": [ 0 ],
|
||||
"property-sort-order": [ 0 ],
|
||||
"indentation": [
|
||||
1,
|
||||
{ "size": 4 }
|
||||
],
|
||||
"no-color-literals": [ 0 ],
|
||||
"class-name-format": [
|
||||
1,
|
||||
{
|
||||
"convention": "^bd-[a-z]"
|
||||
}
|
||||
],
|
||||
"variable-name-format": [
|
||||
2,
|
||||
{
|
||||
"convention": "camelcase"
|
||||
}
|
||||
],
|
||||
"url-quotes": [ 0 ]
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
language: node_js
|
||||
|
||||
node_js:
|
||||
- stable
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
addons:
|
||||
apt:
|
||||
packages:
|
||||
- libsecret-1-dev
|
|
@ -1,2 +0,0 @@
|
|||
#BetterDiscord
|
||||
BetterDiscord enhances Discord with several features
|
|
@ -1,3 +0,0 @@
|
|||
.guilds {
|
||||
background:red !important;
|
||||
}
|
|
@ -1,199 +0,0 @@
|
|||
var emotesTwitch = null, emotesTwitchSub = null, emotesFfz = null, emotesBttv = null, emotesBttv2 = null;
|
||||
|
||||
var twitchEmoteUrlStart = "https://static-cdn.jtvnw.net/emoticons/v1/";
|
||||
var twitchEmoteUrlEnd = "/1.0";
|
||||
var ffzEmoteUrlStart = "https://cdn.frankerfacez.com/emoticon/";
|
||||
var ffzEmoteUrlEnd = "/1";
|
||||
var bttvEmoteUrlStart = "https://cdn.betterttv.net/emote/";
|
||||
var bttvEmoteUrlEnd = "/1x";
|
||||
|
||||
var _emoteModule;
|
||||
function EmoteModule() {
|
||||
|
||||
}
|
||||
|
||||
EmoteModule.prototype.init = function() {
|
||||
_emoteModule.loadEmoteData();
|
||||
};
|
||||
|
||||
EmoteModule.prototype.obsCallback = function(mutation) {
|
||||
var self = this;
|
||||
for(var i = 0 ; i < mutation.addedNodes.length ; ++i) {
|
||||
var next = mutation.addedNodes.item(i);
|
||||
if (next) {
|
||||
var nodes = self.getNodes(next);
|
||||
for(var node in nodes) {
|
||||
if (nodes.hasOwnProperty(node)) {
|
||||
self.injectEmote(nodes[node]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
EmoteModule.prototype.getNodes = function(node) {
|
||||
var next;
|
||||
var nodes = [];
|
||||
var treeWalker = document.createTreeWalker(node, NodeFilter.SHOW_TEXT, null, false);
|
||||
|
||||
while((next = treeWalker.nextNode()) != null) {
|
||||
nodes.push(next);
|
||||
}
|
||||
return nodes;
|
||||
};
|
||||
|
||||
EmoteModule.prototype.injectEmote = function(node) {
|
||||
|
||||
if (!node.parentElement) {
|
||||
return;
|
||||
}
|
||||
|
||||
var parent = node.parentElement;
|
||||
if (parent.tagName != "SPAN") {
|
||||
return;
|
||||
}
|
||||
if(!$(parent.parentElement).hasClass("markup") && !$(parent.parentElement).hasClass("message-content")) { return; }
|
||||
|
||||
var parentInnerHTML = parent.innerHTML;
|
||||
var words = parentInnerHTML.split(/\s+/g);
|
||||
if (!words) {
|
||||
return;
|
||||
}
|
||||
|
||||
words.some(function(word) {
|
||||
if (word.length < 4) {
|
||||
return;
|
||||
}
|
||||
if(emotesTwitch != null) {
|
||||
if (emotesTwitch.emotes.hasOwnProperty(word)) {
|
||||
var len = Math.round(word.length / 4);
|
||||
parentInnerHTML = parentInnerHTML.replace(word, '<img class="emote" alt="' + word.substr(0, len) + "\uFDD9" + word.substr(len, len) + "\uFDD9" + word.substr(len * 2, len) + "\uFDD9" + word.substr(len * 3) + '" src="' + twitchEmoteUrlStart + emotesTwitch.emotes[word].image_id + twitchEmoteUrlEnd + '" />');
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(emotesTwitchSub != null) {
|
||||
if (emotesTwitchSub.hasOwnProperty(word)) {
|
||||
var len = Math.round(word.length / 4);
|
||||
parentInnerHTML = parentInnerHTML.replace(word, '<img class="emote" alt="' + word.substr(0, len) + "\uFDD9" + word.substr(len, len) + "\uFDD9" + word.substr(len * 2, len) + "\uFDD9" + word.substr(len * 3) + '" src="' + twitchEmoteUrlStart + emotesTwitchSub[word] + twitchEmoteUrlEnd + '" />');
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(emotesFfz != null) {
|
||||
if(emotesFfz.hasOwnProperty(word)) {
|
||||
var len = Math.round(word.length / 4);
|
||||
parentInnerHTML = parentInnerHTML.replace(word, '<img class="emote" alt="' + word.substr(0, len) + "\uFDD9" + word.substr(len, len) + "\uFDD9" + word.substr(len * 2, len) + "\uFDD9" + word.substr(len * 3) + '" src="' + ffzEmoteUrlStart + emotesFfz[word] + ffzEmoteUrlEnd + '" />');
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(emotesBttv != null) {
|
||||
if(emotesBttv.hasOwnProperty(word)) {
|
||||
var len = Math.round(word.length / 4);
|
||||
parentInnerHTML = parentInnerHTML.replace(word, '<img class="emote" alt="' + word.substr(0, len) + "\uFDD9" + word.substr(len, len) + "\uFDD9" + word.substr(len * 2, len) + "\uFDD9" + word.substr(len * 3) + '" src="' + bttvEmoteUrlStart + emotesBttv[word] + bttvEmoteUrlEnd + '" />');
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(emotesBttv2 != null) {
|
||||
if(emotesBttv2.hasOwnProperty(word)) {
|
||||
var len = Math.round(word.length / 4);
|
||||
parentInnerHTML = parentInnerHTML.replace(word, '<img class="emote" alt="' + word.substr(0, len) + "\uFDD9" + word.substr(len, len) + "\uFDD9" + word.substr(len * 2, len) + "\uFDD9" + word.substr(len * 3) + '" src="' + bttvEmoteUrlStart + emotesBttv2[word] + bttvEmoteUrlEnd + '" />');
|
||||
return;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
parent.innerHTML = parentInnerHTML.replace(new RegExp("\uFDD9", "g"), "");
|
||||
};
|
||||
|
||||
EmoteModule.prototype.loadEmoteData = function(type) {
|
||||
if(_hash == null) {
|
||||
_utils.getHash(this.loadEmoteData);
|
||||
return;
|
||||
}
|
||||
|
||||
switch(type) {
|
||||
default:
|
||||
_emoteModule.loadEmoteData("twitch");
|
||||
break;
|
||||
case "twitch":
|
||||
_utils.log("Loading twitch global emotes");
|
||||
$.getJSON('https://twitchemotes.com/api_cache/v2/global.json', function(data) {
|
||||
_utils.log("Loaded twitch global emotes");
|
||||
emotesTwitch = data;
|
||||
_emoteModule.loadEmoteData("twitch-sub");
|
||||
});
|
||||
break;
|
||||
case "twitch-sub":
|
||||
emotesTwitchSub = {};
|
||||
_utils.log("Loading twitch subscriber emotes");
|
||||
$.getJSON('https://twitchemotes.com/api_cache/v2/subscriber.json', function(data) {
|
||||
$.each(data.channels, function(key, val){
|
||||
$.each(val.emotes, function(key, val) {
|
||||
emotesTwitchSub[val.code] = val.image_id;
|
||||
});
|
||||
});
|
||||
|
||||
_emoteModule.loadEmoteData("ffz");
|
||||
});
|
||||
break;
|
||||
case "ffz":
|
||||
emotesFfz = {};
|
||||
_utils.log("Loading FFZ emotes");
|
||||
$.getJSON('https://cdn.rawgit.com/Jiiks/BetterDiscordApp/'+_hash+'/data/emotedata_ffz.json', function(data) {
|
||||
emotesFfz = data;
|
||||
_emoteModule.loadEmoteData("bttv");
|
||||
});
|
||||
break;
|
||||
case "bttv":
|
||||
emotesBttv = {};
|
||||
_utils.log("Loading Basic BTTV emotes");
|
||||
$.getJSON('https://api.betterttv.net/2/emotes', function(data) {
|
||||
$.each(data.emotes, function(key, val) {
|
||||
emotesBttv[val.code] = val.id;
|
||||
});
|
||||
_emoteModule.loadEmoteData("bttv2");
|
||||
});
|
||||
break;
|
||||
case "bttv2":
|
||||
emotesBttv2 = {};
|
||||
_utils.log("Loading BTTV emotes");
|
||||
$.getJSON('https://cdn.rawgit.com/Jiiks/BetterDiscordApp/'+_hash+'/data/emotedata_bttv.json', function(data) {
|
||||
emotesBttv2 = data;
|
||||
});
|
||||
break;
|
||||
}
|
||||
};
|
||||
|
||||
var _utils;
|
||||
|
||||
var _hash = null;
|
||||
function Utils() {}
|
||||
|
||||
Utils.prototype.getHash = function(callback) {
|
||||
_utils.log("Getting HASH");
|
||||
$.getJSON("https://api.github.com/repos/Jiiks/BetterDiscordApp/commits/master", function(data){
|
||||
_hash = data.sha;
|
||||
_utils.log("HASH = " + _hash);
|
||||
callback();
|
||||
});
|
||||
};
|
||||
|
||||
Utils.prototype.log = function(message) {
|
||||
console.log("[BetterDiscord] - " + message);
|
||||
};
|
||||
|
||||
(function() {
|
||||
|
||||
_utils = new Utils();
|
||||
|
||||
_emoteModule = new EmoteModule();
|
||||
_emoteModule.init();
|
||||
|
||||
var mainObserver = new MutationObserver(function(mutations) {
|
||||
mutations.forEach(function(mutation) {
|
||||
_emoteModule.obsCallback(mutation);
|
||||
});
|
||||
});
|
||||
|
||||
mainObserver.observe(document, { childList: true, subtree: true });
|
||||
|
||||
})();
|
BIN
Firefox/icon.png
Before Width: | Height: | Size: 16 KiB |
|
@ -1,14 +0,0 @@
|
|||
"use sctrict"
|
||||
|
||||
var pageMod = require('sdk/page-mod');
|
||||
var data = require("sdk/self").data;
|
||||
|
||||
function BdPageMod(options, callbacks) {
|
||||
pageMod.PageMod({
|
||||
include: '*.discordapp.com',
|
||||
contentScriptFile: [data.url('../data/js/jquery-2.1.4.min.js'), data.url('../data/js/main.js')],
|
||||
contentStyleFile: []
|
||||
});
|
||||
}
|
||||
|
||||
exports.BdPageMod = BdPageMod;
|
|
@ -1,9 +0,0 @@
|
|||
"use strict"
|
||||
|
||||
var _bdPagemod = require('./BdPageMod.js');
|
||||
|
||||
function BetterDiscord(args) {
|
||||
_bdPagemod = new _bdPagemod.BdPageMod();
|
||||
}
|
||||
|
||||
exports.BetterDiscord = BetterDiscord;
|
|
@ -1,9 +0,0 @@
|
|||
"use strict";
|
||||
|
||||
var _betterDiscord = require("./BetterDiscord.js");
|
||||
|
||||
function main(options, callbacks) {
|
||||
_betterDiscord = new _betterDiscord.BetterDiscord();
|
||||
}
|
||||
|
||||
exports.main = main;
|
|
@ -1,18 +0,0 @@
|
|||
{
|
||||
"title": "BetterDiscord",
|
||||
"name": "betterdiscord",
|
||||
"version": "0.0.3",
|
||||
"description": "BetterDiscord enhances Discord with several features",
|
||||
"main": "lib/main",
|
||||
"author": "JiCode",
|
||||
"engines": {
|
||||
"firefox": ">=40.*"
|
||||
},
|
||||
"license": "MIT",
|
||||
"keywords": [
|
||||
"jetpack"
|
||||
],
|
||||
"installs_allowed_from": [
|
||||
"https://betterdiscord.net"
|
||||
]
|
||||
}
|
|
@ -1,19 +0,0 @@
|
|||
var main = require("../");
|
||||
|
||||
exports["test main"] = function(assert) {
|
||||
assert.pass("Unit test running!");
|
||||
};
|
||||
|
||||
exports["test main async"] = function(assert, done) {
|
||||
assert.pass("async Unit test running!");
|
||||
done();
|
||||
};
|
||||
|
||||
exports["test dummy"] = function(assert, done) {
|
||||
main.dummy("foo", function(text) {
|
||||
assert.ok((text === "foo"), "Is the text actually 'foo'");
|
||||
done();
|
||||
});
|
||||
};
|
||||
|
||||
require("sdk/test").run(exports);
|
46
Gruntfile.js
|
@ -1,46 +0,0 @@
|
|||
module.exports = function(grunt) {
|
||||
|
||||
grunt.initConfig({
|
||||
sass: {
|
||||
dist: {
|
||||
options: {
|
||||
style: 'expanded'
|
||||
},
|
||||
files: {
|
||||
'dev/css/main.css': 'dev/css/main.sass'
|
||||
}
|
||||
}
|
||||
},
|
||||
concat: {
|
||||
js: {
|
||||
src: 'dev/js/*.js',
|
||||
dest: 'js/main.js'
|
||||
},
|
||||
css: {
|
||||
src: 'dev/css/*.css',
|
||||
dest: 'css/main.css'
|
||||
}
|
||||
},
|
||||
uglify: {
|
||||
options: {
|
||||
screwIE8: true
|
||||
},
|
||||
js: {
|
||||
files: {
|
||||
'js/main.min.js': ['js/main.js']
|
||||
}
|
||||
}
|
||||
},
|
||||
cssmin: {
|
||||
css: {
|
||||
src: 'css/main.css',
|
||||
dest: 'css/main.min.css'
|
||||
}
|
||||
}
|
||||
});
|
||||
grunt.loadNpmTasks('grunt-contrib-concat');
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||
grunt.loadNpmTasks('grunt-contrib-sass');
|
||||
grunt.loadNpmTasks('grunt-css');
|
||||
grunt.registerTask('default', ['sass', 'concat', 'uglify', 'cssmin']);
|
||||
};
|
|
@ -1,3 +0,0 @@
|
|||
dist/
|
||||
pack.bat
|
||||
run.bat
|
|
@ -1,20 +0,0 @@
|
|||
{
|
||||
"name": "betterdiscordinstaller",
|
||||
"description": "Better Discord installer.",
|
||||
"version": "0.1.1",
|
||||
"homepage": "https://github.com/Jiiks/BetterDiscordApp",
|
||||
"license": "MIT",
|
||||
"main": "index.js",
|
||||
"dependencies": {
|
||||
"fs-extra": "^0.30.0",
|
||||
"readline": "^1.3.0",
|
||||
"open": "^0.0.5",
|
||||
"request": "^2.72.0",
|
||||
"path": "^0.12.7",
|
||||
"walk": "^2.3.9",
|
||||
"unzip": "^0.1.11"
|
||||
},
|
||||
"devDependencies": {
|
||||
"electron-prebuilt": "~1.2.8"
|
||||
}
|
||||
}
|
|
@ -1,71 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const
|
||||
fs = require('fs'),
|
||||
path = require('path'),
|
||||
walk = require('walk'),
|
||||
p = require('path');
|
||||
|
||||
fs.mkdirPSync = function(dirPath) {
|
||||
try {
|
||||
fs.mkdirSync(dirPath);
|
||||
} catch(err) {
|
||||
if(err.errno === -4058 || err.errno === -2) {
|
||||
fs.mkdirPSync(path.dirname(dirPath));
|
||||
fs.mkdirPSync(dirPath);
|
||||
} else if(err.errno === -4075) {
|
||||
return "EXIST";
|
||||
} else {
|
||||
return "NOT OK";
|
||||
}
|
||||
}
|
||||
return "OK";
|
||||
}
|
||||
|
||||
class Asar {
|
||||
|
||||
constructor(filePath) {
|
||||
this.path = filePath;
|
||||
this.files = [];
|
||||
}
|
||||
|
||||
extract(statusCb, progressCb, cb) {
|
||||
this.walker = walk.walk(this.path, { followLinks: false });
|
||||
statusCb("Creating Directories");
|
||||
this.walker.on('file', (root, stat, next) => {
|
||||
this.files.push(`${root}/${stat.name}`);
|
||||
try {
|
||||
fs.statSync(root.replace("app.asar", "app"));
|
||||
} catch(err) {
|
||||
fs.mkdirPSync(root.replace("app.asar", "app"));
|
||||
}
|
||||
next();
|
||||
});
|
||||
|
||||
this.walker.on('end', () => {
|
||||
var self = this;
|
||||
statusCb("Copying files");
|
||||
var p = 1;
|
||||
var filecount = this.files.length;
|
||||
|
||||
function copy(files, index) {
|
||||
if(index >= filecount) {
|
||||
statusCb("Finished extracting app package");
|
||||
cb(null);
|
||||
return;
|
||||
}
|
||||
setTimeout(() => { self.copyfile(files, index, copy) }, 1);
|
||||
progressCb(index, filecount);
|
||||
}
|
||||
|
||||
copy(this.files, 0);
|
||||
});
|
||||
}
|
||||
|
||||
copyfile(files, index, cb) {
|
||||
fs.writeFileSync(files[index].replace("app.asar", "app"), fs.readFileSync(files[index]));
|
||||
cb(files, index+1);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Asar;
|
|
@ -1,650 +0,0 @@
|
|||
@font-face {
|
||||
font-family: 'Open Sans';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src:local('Open Sans'), local('OpenSans'), url('../font/OpenSans-Regular.ttf') format('TrueType');
|
||||
}
|
||||
|
||||
/* latin-ext */
|
||||
@font-face {
|
||||
font-family: 'Inconsolata';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Inconsolata'), url('../font/Inconsolata.woff2') format('woff2');
|
||||
unicode-range: U+0100-024F, U+1E00-1EFF, U+20A0-20AB, U+20AD-20CF, U+2C60-2C7F, U+A720-A7FF;
|
||||
}
|
||||
/* latin */
|
||||
@font-face {
|
||||
font-family: 'Inconsolata';
|
||||
font-style: normal;
|
||||
font-weight: 400;
|
||||
src: local('Inconsolata'), url('../font/Inconsolata.woff2') format('woff2');
|
||||
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
|
||||
}
|
||||
|
||||
html, body {
|
||||
margin:0;
|
||||
padding:0;
|
||||
background: rgba(34, 35, 42, 1);
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
html, body {
|
||||
width:800px;
|
||||
height:400px;
|
||||
}
|
||||
|
||||
* {
|
||||
font-family: "Open Sans";
|
||||
color:#E8E8E8;
|
||||
outline:none;
|
||||
user-select: none;
|
||||
-webkit-user-select: none;
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
a {
|
||||
cursor: pointer;
|
||||
color: dodgerblue;
|
||||
}
|
||||
|
||||
#titleBar {
|
||||
display:flex;
|
||||
-webkit-app-region: drag;
|
||||
pointer-events: none;
|
||||
width:100%;
|
||||
height:40px;
|
||||
background:rgba(34, 35, 42, 0.6);
|
||||
border-bottom:1px solid #000;
|
||||
box-shadow:0 1px 0 0 #303030;
|
||||
background: rgba(23, 23, 23, 0.6);
|
||||
border:none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
#titleBar h3 {
|
||||
color:#FFF;
|
||||
}
|
||||
|
||||
.icon {
|
||||
display:inline-block;
|
||||
width:40px;
|
||||
height:40px;
|
||||
padding:5px;
|
||||
}
|
||||
|
||||
.icon-image {
|
||||
background:blue;
|
||||
height:30px;
|
||||
width:30px;
|
||||
}
|
||||
|
||||
.title {
|
||||
display:inline-block;
|
||||
height:40px;
|
||||
line-height:40px;
|
||||
color:#FFF;
|
||||
}
|
||||
|
||||
.main-container {
|
||||
display:flex;
|
||||
width:100%;
|
||||
height:calc(100% - 40px);
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
width:200px;
|
||||
height:358px;
|
||||
border-right:1px solid #000;
|
||||
box-shadow:1px 0 0 0 #303030;
|
||||
background:rgba(44, 45, 56, 0.6);
|
||||
z-index:90001;
|
||||
margin-top: 1px;
|
||||
border:none;
|
||||
margin:0;
|
||||
box-shadow: none;
|
||||
margin-left:1px;
|
||||
}
|
||||
|
||||
.sidebar-inner {
|
||||
width:100%;
|
||||
height:100%;
|
||||
padding:5px;
|
||||
}
|
||||
|
||||
.main {
|
||||
flex-grow:1;
|
||||
padding:5px;
|
||||
transform:translateX(0);
|
||||
}
|
||||
|
||||
.panel-container {
|
||||
position:absolute;
|
||||
left:10px;
|
||||
transition: all 0.5s ease-in-out;
|
||||
}
|
||||
|
||||
.panel {
|
||||
display:inline-block;
|
||||
width:580px;
|
||||
position:absolute;
|
||||
transition: all 0.5s ease-in-out;
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.main-container.panel-0 #uninstall {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-0 #back {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-container.panel-0 #next {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-0 #cancel {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-1 #uninstall {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-container.panel-1 #back {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-1 #next {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-1 #cancel {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-2 #uninstall {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-container.panel-2 #back {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-2 #next {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-2 #cancel {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-3 #uninstall {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-container.panel-3 #back {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-container.panel-3 #next {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-container.panel-3 #cancel {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.main-container.panel-0 #li-0:before {
|
||||
background:dodgerblue;
|
||||
}
|
||||
.main-container.panel-0 #li-1:before {
|
||||
background:gray;
|
||||
}
|
||||
.main-container.panel-0 #li-2:before {
|
||||
background:gray;
|
||||
}
|
||||
.main-container.panel-0 #li-3:before {
|
||||
background:gray;
|
||||
}
|
||||
|
||||
.main-container.panel-1 #li-0:before {
|
||||
background:#00D443;
|
||||
}
|
||||
.main-container.panel-1 #li-1:before {
|
||||
background:dodgerblue;
|
||||
}
|
||||
.main-container.panel-1 #li-2:before {
|
||||
background:gray;
|
||||
}
|
||||
.main-container.panel-1 #li-3:before {
|
||||
background:gray;
|
||||
}
|
||||
|
||||
.main-container.panel-2 #li-0:before,
|
||||
.main-container.panel-advanced #li-0:before {
|
||||
background:#00D443;
|
||||
}
|
||||
.main-container.panel-2 #li-1:before,
|
||||
.main-container.panel-advanced #li-1:before {
|
||||
background:#00D443;
|
||||
}
|
||||
.main-container.panel-2 #li-2:before,
|
||||
.main-container.panel-advanced #li-2:before {
|
||||
background:dodgerblue;
|
||||
}
|
||||
.main-container.panel-2 #li-3:before,
|
||||
.main-container.panel-advanced #li-3:before {
|
||||
background:gray;
|
||||
}
|
||||
.main-container.panel-2 #panel-advanced {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.main-container.panel-3 #li-0:before {
|
||||
background:#00D443;
|
||||
}
|
||||
.main-container.panel-3 #li-1:before {
|
||||
background:#00D443;
|
||||
}
|
||||
.main-container.panel-3 #li-2:before {
|
||||
background:#00D443;
|
||||
}
|
||||
.main-container.panel-3 #li-3:before {
|
||||
background:dodgerblue;
|
||||
}
|
||||
|
||||
|
||||
.main-container.panel-0 .panel-container {
|
||||
left: 10px;
|
||||
}
|
||||
.main-container.panel-1 .panel-container {
|
||||
left: -590px;
|
||||
}
|
||||
.main-container.panel-2 .panel-container,
|
||||
.main-container.panel-advanced .panel-container {
|
||||
left: -1180px;
|
||||
}
|
||||
.main-container.panel-3 .panel-container {
|
||||
left: -1770px;
|
||||
}
|
||||
|
||||
.main-container.panel-0 .panel-container #panel-0 {
|
||||
opacity: 1;
|
||||
}
|
||||
.main-container.panel-0 .panel-container #panel-1 {
|
||||
opacity: 0;
|
||||
}
|
||||
.main-container.panel-0 .panel-container #panel-2 {
|
||||
opacity: 0;
|
||||
}
|
||||
.main-container.panel-0 .panel-container #panel-3 {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.main-container.panel-1 .panel-container #panel-0 {
|
||||
opacity: 0;
|
||||
}
|
||||
.main-container.panel-1 .panel-container #panel-1 {
|
||||
opacity: 1;
|
||||
}
|
||||
.main-container.panel-1 .panel-container #panel-2 {
|
||||
opacity: 0;
|
||||
}
|
||||
.main-container.panel-1 .panel-container #panel-3 {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.main-container.panel-2 .panel-container #panel-0 {
|
||||
opacity: 0;
|
||||
}
|
||||
.main-container.panel-2 .panel-container #panel-1 {
|
||||
opacity: 0;
|
||||
}
|
||||
.main-container.panel-2 .panel-container #panel-2 {
|
||||
opacity: 1;
|
||||
}
|
||||
.main-container.panel-2 .panel-container #panel-3 {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.main-container.panel-3 .panel-container #panel-0 {
|
||||
opacity: 0;
|
||||
}
|
||||
.main-container.panel-3 .panel-container #panel-1 {
|
||||
opacity: 0;
|
||||
}
|
||||
.main-container.panel-3 .panel-container #panel-2 {
|
||||
opacity: 0;
|
||||
}
|
||||
.main-container.panel-3 .panel-container #panel-3 {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.main-container.panel-advanced .controls button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.main-container.panel-advanced #panel-advanced {
|
||||
pointer-events: initial;
|
||||
}
|
||||
|
||||
.main-container.panel-advanced .panel-container #panel-0 {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.main-container.panel-advanced .panel-container #panel-1 {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.main-container.panel-advanced .panel-container #panel-2 {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.main-container.panel-advanced .panel-container #panel-3 {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.main-container.panel-advanced .panel-container #panel-advanced {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.main-container .panel-container #panel-advanced textarea {
|
||||
background: rgba(33, 34, 41, 0.98);
|
||||
width: 570px;
|
||||
height: 140px;
|
||||
resize: none;
|
||||
border: 1px solid #000;
|
||||
outline: 1px solid #303030;
|
||||
}
|
||||
|
||||
.main-container .panel-container #panel-advanced button {
|
||||
float: right;
|
||||
margin-right: 10px;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
.visible {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
#panel-1 {
|
||||
left:600px;
|
||||
}
|
||||
|
||||
#panel-2 {
|
||||
left:1200px;
|
||||
}
|
||||
|
||||
#panel-advanced {
|
||||
left:1200px;
|
||||
}
|
||||
|
||||
#panel-3 {
|
||||
left:1775px;
|
||||
}
|
||||
|
||||
#licensetext {
|
||||
width: 100%;
|
||||
overflow-y: scroll;
|
||||
white-space: pre-line;
|
||||
height:280px;
|
||||
}
|
||||
|
||||
#licenseform {
|
||||
float:right;
|
||||
margin-top:5px;
|
||||
margin-right:10px;
|
||||
}
|
||||
|
||||
input[type='radio'] {
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
label {
|
||||
cursor:pointer;
|
||||
}
|
||||
|
||||
label, input[type='radio']{
|
||||
font-size: 16px;
|
||||
display: inline-block;
|
||||
margin: 0;
|
||||
margin-left: 3px;
|
||||
line-height: 25px;
|
||||
height: 28px;
|
||||
vertical-align: top;
|
||||
}
|
||||
|
||||
|
||||
ul {
|
||||
margin:0;
|
||||
padding:0;
|
||||
list-style:none;
|
||||
}
|
||||
|
||||
li {
|
||||
list-style:none;
|
||||
color:gray;
|
||||
}
|
||||
|
||||
li.active {
|
||||
color:#FFF;
|
||||
}
|
||||
|
||||
li.visited {
|
||||
color:#EBEBEB;
|
||||
}
|
||||
|
||||
.sidebar-inner li:before {
|
||||
content: "";
|
||||
display:inline-block;
|
||||
background:gray;
|
||||
border-radius: 50%;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
margin-right:3px;
|
||||
}
|
||||
|
||||
.sidebar-inner li.active:before {
|
||||
background:dodgerblue;
|
||||
}
|
||||
|
||||
.sidebar-inner li.visited:before {
|
||||
background:#00D443;
|
||||
}
|
||||
|
||||
.controls {
|
||||
position:absolute;
|
||||
bottom:5px;
|
||||
right:5px;
|
||||
}
|
||||
|
||||
button {
|
||||
color:gray;
|
||||
width:60px;
|
||||
background:#1b1c23;
|
||||
border-style:solid;
|
||||
border-color:#000;
|
||||
border-width:0 1px 1px 0;
|
||||
padding:5px;
|
||||
box-shadow:1px 1px 0 0 #303030 inset;
|
||||
cursor:pointer;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
button:hover {
|
||||
color:#FFF;
|
||||
background:#24262f;
|
||||
}
|
||||
|
||||
button:disabled {
|
||||
background:#292929;
|
||||
border-color:#191919;
|
||||
color:gray;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
button:active {
|
||||
background: #232b2e;
|
||||
}
|
||||
button#advanced-settings {
|
||||
width: 100px;
|
||||
display: block;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar-thumb {
|
||||
background:#282828 !important;
|
||||
}
|
||||
|
||||
::-webkit-scrollbar, ::-webkit-scrollbar-track-piece {
|
||||
background:#383838 !important;
|
||||
}
|
||||
|
||||
input.path {
|
||||
width: 450px;
|
||||
height: 23px;
|
||||
background: rgb(27, 28, 35) none repeat scroll 0% 0%;
|
||||
border: 1px solid rgb(17, 17, 17);
|
||||
box-shadow: -1px -1px 0px 0px rgb(50, 49, 49) inset;
|
||||
border-width: 1px 0px 0px 1px;
|
||||
border-style: solid;
|
||||
border-color: #111;
|
||||
}
|
||||
|
||||
.modal {
|
||||
position: absolute;
|
||||
background: rgba(29, 29, 29, 0.71);
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
z-index: 900000;
|
||||
}
|
||||
|
||||
.modal-container {
|
||||
background: #212229;
|
||||
width: 600px;
|
||||
height: 200px;
|
||||
position: relative;
|
||||
margin: auto;
|
||||
top: 100px;
|
||||
box-shadow: 0px 0px 5px 5px rgba(0, 0, 0, 0.39);
|
||||
}
|
||||
|
||||
.modal-header {
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
background: #212229;
|
||||
padding-left: 10px;
|
||||
border-bottom: 1px solid #000;
|
||||
box-shadow: 0 1px 0 0 #303030;
|
||||
}
|
||||
|
||||
.modal-body {
|
||||
padding:30px;
|
||||
}
|
||||
|
||||
.modal-footer {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left:0;
|
||||
right: 0;
|
||||
height: 35px;
|
||||
padding-top:10px;
|
||||
background:#212229;
|
||||
box-shadow: 0 1px 0 0 #303030 inset;
|
||||
border-top: 1px solid #000;
|
||||
}
|
||||
|
||||
.modal-footer button {
|
||||
margin-right:5px;
|
||||
float: right;
|
||||
}
|
||||
|
||||
.splash {
|
||||
width:300px !important;
|
||||
height:100px !important;
|
||||
}
|
||||
.splash .wrapper {
|
||||
top:20px;
|
||||
width:40px;
|
||||
margin:auto;
|
||||
position:relative;
|
||||
}
|
||||
.splash .wrapper .spinner {
|
||||
width:30px;
|
||||
height:30px;
|
||||
border-radius:30px;
|
||||
border-width:5px;
|
||||
border-color:#121212 #404040 #404040 #404040;
|
||||
border-style:solid;
|
||||
animation: spin 0.7s linear infinite;
|
||||
}
|
||||
.splash .spinnertext {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
width: 100%;
|
||||
display: block;
|
||||
text-align: center;
|
||||
bottom: 10px;
|
||||
color: rgb(171, 171, 171);
|
||||
-webkit-animation: spinnertext-opacity 2s linear 0s infinite;
|
||||
}
|
||||
|
||||
@-webkit-keyframes spin {
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
@-webkit-keyframes spinnertext-opacity {
|
||||
0% {opacity: 0}
|
||||
20% {opacity: 0}
|
||||
50% {opacity: 1}
|
||||
100%{opacity: 0}
|
||||
}
|
||||
|
||||
#log {
|
||||
padding: 10px;
|
||||
height:294px;
|
||||
resize: none;
|
||||
width: 570px;
|
||||
background: rgba(42, 44, 55, 0.6);
|
||||
border: none;
|
||||
-webkit-user-select: text;
|
||||
word-wrap: break-word;
|
||||
white-space: pre-line;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
progress {
|
||||
position: absolute;
|
||||
bottom: -36px;
|
||||
left:0;
|
||||
width:525px;
|
||||
height: 27px;
|
||||
-webkit-appearance:none;
|
||||
}
|
||||
|
||||
progress::-webkit-progress-bar {
|
||||
background:rgba(42, 44, 55, 0.6);
|
||||
}
|
||||
|
||||
progress[value]::-webkit-progress-value {
|
||||
background-image: -webkit-linear-gradient(left, rgba(73,155,234,1) 0%, rgba(32,124,229,1) 100%);
|
||||
}
|
||||
|
||||
.border {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
border:1px solid #55BBF7;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.warning {
|
||||
color: red;
|
||||
font-weight: 700;
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<head>
|
||||
<link rel="stylesheet" href="css/main.css">
|
||||
<script type="text/javascript" src="js/jquery-2.0.0.min.js"></script>
|
||||
</head>
|
||||
</head>
|
||||
<body>
|
||||
<div class="border"></div>
|
||||
<div id="titleBar">
|
||||
<div class="icon">
|
||||
<div class="icon-image"></div>
|
||||
</div>
|
||||
<div class="title">
|
||||
Error!
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div id="log" style="width:680px"></div>
|
||||
</div>
|
||||
<div>
|
||||
<button style="position: absolute;right: 10px;bottom: 6px;">OK</button>
|
||||
</div>
|
||||
</body>
|
||||
<script>
|
||||
const ipcRenderer = require('electron').ipcRenderer;
|
||||
$(function() {
|
||||
ipcRenderer.send('async', '{ "arg": "geterror" }');
|
||||
});
|
||||
ipcRenderer.on('async-reply', (event, arg) => {
|
||||
console.log(event);
|
||||
console.log(arg);
|
||||
$("#log").text(arg);
|
||||
});
|
||||
</script>
|
||||
</html>
|
|
@ -1,153 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="css/main.css">
|
||||
</head>
|
||||
<body>
|
||||
<div class="border"></div>
|
||||
<div id="titleBar">
|
||||
<div class="icon">
|
||||
<div class="icon-image"></div>
|
||||
</div>
|
||||
<div class="title">
|
||||
BetterDiscord Installer - v0.1.1
|
||||
</div>
|
||||
</div>
|
||||
<div class="main-container panel-0">
|
||||
<div class="sidebar">
|
||||
<div class="sidebar-inner">
|
||||
<ul>
|
||||
<li id="li-0" class="navli">Introduction</li>
|
||||
<li id="li-1" class="navli">License</li>
|
||||
<li id="li-2" class="navli">Destination</li>
|
||||
<li id="li-3" class="navli">Installation</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="main">
|
||||
<div class="panel-container">
|
||||
<div class="panel" id="panel-0">
|
||||
<h2>Welcome to the BetterDiscord setup</h2>
|
||||
<p style="white-space:pre-line">
|
||||
The setup will install BetterDiscord on your computer.
|
||||
Click "Next" to continue or "Cancel" to exit the setup.
|
||||
BetterDiscord is not in any way affiliated with Discord
|
||||
For support join the <a href="https://betterdiscord.net/discord" target="_blank">official BetterDiscord support channel</a> in Discord
|
||||
</p>
|
||||
<p>
|
||||
<strong class="warning" style="font-size:12px">
|
||||
Do not contact Discord support about BetterDiscord issues!
|
||||
<br>
|
||||
If Discord breaks, ask in the BetterDiscord support channel!
|
||||
</strong>
|
||||
</p>
|
||||
<input name="cd" id="cd" type="checkbox">
|
||||
<label style="margin:0; line-height: 18px;" for="cd">I will not contact Discord support about BetterDiscord issues</label>
|
||||
</div>
|
||||
|
||||
<div class="panel" id="panel-1">
|
||||
<div id="licensetext">
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-2016 Jiiks | Jiiks.net
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
</div>
|
||||
<form action="" id="licenseform">
|
||||
<input type="radio" name="licensegroup" value="Accept" id="accept" disabled="true"><label for="accept">Accept</label>
|
||||
<input type="radio" name="licensegroup" value="Decline" id="decline" checked="true"><label for="decline">Decline</label>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="panel" id="panel-2">
|
||||
<p style="font-size: 12px;">Setup will install BetterDiscord to the following location:</p>
|
||||
<input class="path" id="libpath" type="text" style="height:26px;" disabled="true" />
|
||||
<button id="libpathbtn" style="height:26px;">Browse</button>
|
||||
<p style="font-size:12px">
|
||||
*If you wish to install somewhere else then click "Browse" and select your path
|
||||
</p>
|
||||
<label for="discordPath" style="display:block; margin-top: 10px; font-size: 12px;">Discord Path:</label>
|
||||
<input class="path" id="discordPath" type="text" style="height:26px;" disabled="true" />
|
||||
<button id="path" style="height:26px;">Browse</button>
|
||||
<p style="font-size:12px">
|
||||
*If the path is not pointing to the latest version of Discord then click "Browse" and select it
|
||||
<br>
|
||||
*If you want to install to ptb/canary then click "Browse" and select it
|
||||
<br>
|
||||
*Installer will kill Discord process
|
||||
</p>
|
||||
<div class="checkboxGroup">
|
||||
<input type="checkbox" name="demotes" id="demotes">
|
||||
<label for="demotes" style="margin:0; line-height: 18px;">Disable emotes completely</label>
|
||||
</div>
|
||||
<div class="checkboxGroup">
|
||||
<input type="checkbox" name="restart" id="restart" checked="true">
|
||||
<label for="restart" style="margin:0; line-height: 18px;">Restart Discord after installation</label>
|
||||
</div>
|
||||
<button id="advanced-settings">Advanced</button>
|
||||
</div>
|
||||
|
||||
<div class="panel" id="panel-advanced">
|
||||
<span>Advanced settings</span> - <span class="warning">For advanced users only!</span>
|
||||
<ul>
|
||||
<li><input type="checkbox" name="aaot" id="aaot"><label for="aaot">Discord window always on top</label></li>
|
||||
<li><input type="checkbox" name="aframeless" id="aframeless" checked><label for="aframeless">Frameless Discord window</label></li>
|
||||
<li><input type="checkbox" name="atransparent" id="atransparent"><label for="atransparent">Transparent Discord window</label></li>
|
||||
<li><input type="checkbox" name="athickframe" id="athickframe"><label for="athickframe">Thick Frame</label></li>
|
||||
<li><input type="checkbox" name="aprefs" id="aprefs"><label for="aprefs">Use custom Web Preferences:</label></li>
|
||||
</ul>
|
||||
<textarea name="" id="" cols="30" rows="10"></textarea>
|
||||
<button id="advanced-close">Save</button>
|
||||
</div>
|
||||
|
||||
<div class="panel" id="panel-3">
|
||||
<div name="log" id="log"></div>
|
||||
<progress id="logpbar" value="0" max="100"></progress>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="controls">
|
||||
<button id="uninstall">Uninstall</button>
|
||||
<button id="back">Back</button>
|
||||
<button id="next" >Next</button>
|
||||
<button id="cancel">Cancel</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal" id="quit" style="display: none;">
|
||||
<div class="modal-container">
|
||||
<div class="modal-header">
|
||||
<span>Exit Setup?</span>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
Setup is not complete. If you exit now, BetterDiscord will not be installed.
|
||||
<br>
|
||||
Exit Setup?
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button id="modal-exit">
|
||||
Yes
|
||||
</button>
|
||||
<button id="modal-cancel">
|
||||
No
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
<script type="text/javascript" src="js/jquery-2.0.0.min.js"></script>
|
||||
<script type="text/javascript" src="js/main.js"></script>
|
||||
|
||||
<script type="text/javascript">
|
||||
$(window).blur(function(){
|
||||
$(".border").css("border-color", "#F76455");
|
||||
});
|
||||
$(window).focus(function(){
|
||||
$(".border").css("border-color", "#55BBF7");
|
||||
});
|
||||
</script>
|
||||
</html>
|
|
@ -1,202 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const ipcRenderer = require('electron').ipcRenderer;
|
||||
|
||||
var config = {
|
||||
urls: {
|
||||
package: "https://github.com/Jiiks/BetterDiscordApp/archive/stable16.zip",
|
||||
finish: "https://betterdiscord.net/installed"
|
||||
},
|
||||
discord: {
|
||||
lastKnownVersion: "0.0.291"
|
||||
},
|
||||
import: "BetterDiscordApp-stable16",
|
||||
cache: [
|
||||
"emotes_bttv.json",
|
||||
"emotes_bttv_2.json",
|
||||
"emotes_ffz.json",
|
||||
"emotes_twitch_global.json",
|
||||
"emotes_twitch_subscriber.json",
|
||||
"user.json"
|
||||
]
|
||||
};
|
||||
|
||||
(function() {
|
||||
//Pass latest config to core application
|
||||
ipcSendAsync("config", config);
|
||||
//Get Discord installation path
|
||||
ipcSendAsync("get", "discordpath" );
|
||||
//Get BetterDiscord installation path
|
||||
ipcSendAsync("get", "libpath");
|
||||
})();
|
||||
|
||||
|
||||
//Listeners
|
||||
(function() {
|
||||
|
||||
$("#cd").on("change", () => {
|
||||
$("#next").prop("disabled", !$("#cd").prop("checked"));
|
||||
});
|
||||
|
||||
var currentPanel = 0;
|
||||
|
||||
function switchPanel() {
|
||||
var container = $(".panel-container");
|
||||
var main = $(".main-container");
|
||||
main.removeClass();
|
||||
main.addClass(`main-container panel-${currentPanel}`)
|
||||
switch(currentPanel) {
|
||||
case 0:
|
||||
$("#next").text("Next");
|
||||
//$("#next").prop("disabled", !$("#cd").prop("checked"));
|
||||
break;
|
||||
case 1:
|
||||
$("#next").text("Next");
|
||||
//$("#next").prop("disabled", !$("#accept").prop("checked"));
|
||||
break;
|
||||
case 2:
|
||||
$("#next").text("Install");
|
||||
$("#cancel").text("Cancel");
|
||||
break;
|
||||
case 3:
|
||||
$("#cancel").text("Abort");
|
||||
ipcSendAsync("install");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$("#next").on("click", function() {
|
||||
currentPanel++;
|
||||
switchPanel();
|
||||
});
|
||||
|
||||
$("#back").on("click", function() {
|
||||
currentPanel--;
|
||||
switchPanel();
|
||||
});
|
||||
|
||||
$("#cancel").on("click", function() {
|
||||
$("#quit").show();
|
||||
});
|
||||
|
||||
$("#uninstall").on("click", function() {
|
||||
|
||||
});
|
||||
|
||||
$("#accept").on("change", function() {
|
||||
// $("#next").prop("disabled", !$(this).prop("checked"));
|
||||
});
|
||||
|
||||
$("#decline").on("change", function() {
|
||||
// $("#next").prop("disabled", $(this).prop("checked"));
|
||||
});
|
||||
|
||||
$("#licensetext").on("scroll", function() {
|
||||
var e = $(this);
|
||||
if(e.height() + e.scrollTop() >= e[0].scrollHeight) {
|
||||
$("#accept").prop("disabled", false);
|
||||
} else {
|
||||
$("#accept").prop("disabled", true);
|
||||
$("#decline").prop("checked", true)
|
||||
// $("#next").prop("disabled", true);
|
||||
}
|
||||
});
|
||||
|
||||
$(".modal").on("click", function(e) {
|
||||
if(e.target.className !== "modal") return;
|
||||
$(this).hide();
|
||||
});
|
||||
|
||||
$("#modal-cancel").on("click", function() {
|
||||
$(".modal").hide();
|
||||
});
|
||||
|
||||
$("#modal-exit").on("click", function() {
|
||||
ipcRenderer.send("async", {arg: "quit", data: []});
|
||||
});
|
||||
|
||||
$("#path").on("click", () => {
|
||||
ipcRenderer.send("async", { arg: "browsedialog", data: "discordpath" });
|
||||
});
|
||||
|
||||
$("#libpathbtn").on("click", () => {
|
||||
ipcRenderer.send("async", { arg: "browsedialog", data: "libpath" });
|
||||
});
|
||||
|
||||
$("#advanced-settings").on("click", function() {
|
||||
currentPanel = "advanced";
|
||||
switchPanel();
|
||||
});
|
||||
|
||||
$("#advanced-close").on("click", function() {
|
||||
var main = $(".main-container");
|
||||
currentPanel = 2;
|
||||
switchPanel();
|
||||
});
|
||||
|
||||
})();
|
||||
|
||||
ipcRenderer.on("async-reply", (event, arg) => {
|
||||
|
||||
var data = arg.data;
|
||||
arg = arg.arg;
|
||||
|
||||
switch(arg) {
|
||||
case "discordpath":
|
||||
$("#discordPath").val(data);
|
||||
break;
|
||||
case "libpath":
|
||||
$("#libpath").val(data);
|
||||
break;
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
/*ipcRenderer.on('async-reply', (event, arg) => {
|
||||
switch(arg.arg) {
|
||||
case "exists":
|
||||
switch(arg.file) {
|
||||
case "install":
|
||||
if(arg.exists) {
|
||||
appendLog("Located app package");
|
||||
appendLog("Downloading latest BetterDiscord package");
|
||||
ipcRenderer.send('async', '{"arg": "download", "package": "https://github.com/Jiiks/BetterDiscordApp/archive/stable16.zip" }');
|
||||
} else {
|
||||
appendLog("Unable to locate app.asar. Check your install path.");
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "discordpath":
|
||||
$("#discordPath").val(arg.path);
|
||||
break;
|
||||
case "locate-app.asar":
|
||||
appendLog(arg.data);
|
||||
break;
|
||||
}
|
||||
});*/
|
||||
|
||||
function ipcSendAsync(arg, data) {
|
||||
ipcRenderer.send("async", { arg: arg, data: data });
|
||||
}
|
||||
|
||||
function install() {
|
||||
appendLog("Initiating installation");
|
||||
appendLog("Locating Discord package");
|
||||
ipcRenderer.send('async', { "arg": "install" });
|
||||
}
|
||||
|
||||
function appendLog(text) {
|
||||
var log = $("#log");
|
||||
log.append(text+"\n");
|
||||
var sh = log[0].scrollHeight - 40;
|
||||
if(log.height() + log.scrollTop() >= sh) {
|
||||
log.scrollTop(sh);
|
||||
}
|
||||
}
|
||||
|
||||
function updatePbar(cur, max) {
|
||||
var pbar = $("#logpbar");
|
||||
pbar.val(cur);
|
||||
pbar.prop("max", max);
|
||||
}
|
|
@ -1,15 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const ipcRenderer = require('electron').ipcRenderer;
|
||||
|
||||
ipcRenderer.on('async-reply', (event, arg) => {
|
||||
switch(arg) {
|
||||
case "update":
|
||||
$(".spinnertext").text("Downloading Update");
|
||||
break;
|
||||
}
|
||||
});
|
||||
|
||||
$(function() {
|
||||
ipcRenderer.send('async', '{ "arg": "update" }');
|
||||
});
|
|
@ -1,16 +0,0 @@
|
|||
<html>
|
||||
<head>
|
||||
<head>
|
||||
<link rel="stylesheet" href="css/main.css">
|
||||
<script type="text/javascript" src="js/jquery-2.0.0.min.js"></script>
|
||||
<script type="text/javascript" src="js/splash.js"></script>
|
||||
</head>
|
||||
</head>
|
||||
<body class="splash">
|
||||
<div class="border"></div>
|
||||
<div class="wrapper">
|
||||
<div class="spinner"></div>
|
||||
</div>
|
||||
<span class="spinnertext">Checking for updates...</span>
|
||||
</body>
|
||||
</html>
|
|
@ -1,8 +0,0 @@
|
|||
{
|
||||
"windows": {
|
||||
"version": "0.1.0"
|
||||
},
|
||||
"osx": {
|
||||
"version": "0.1.1"
|
||||
}
|
||||
}
|
|
@ -1,45 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
var devMode = false;
|
||||
|
||||
const
|
||||
electron = require('electron'),
|
||||
app = electron.app,
|
||||
BrowserWindow = electron.BrowserWindow,
|
||||
ipcMain = electron.ipcMain,
|
||||
utils = require('./utils'),
|
||||
_utils = new utils();
|
||||
|
||||
var
|
||||
mainWindow,
|
||||
windowOptions = {
|
||||
width: 300,
|
||||
height: 100,
|
||||
fullscreenable: false,
|
||||
maximizable: false,
|
||||
frame: false,
|
||||
resizable: devMode ? true : false,
|
||||
alwaysOnTop: devMode ? true : false,
|
||||
transparent: false
|
||||
};
|
||||
|
||||
|
||||
class Index {
|
||||
|
||||
constructor() {
|
||||
app.on("ready", () => this.appReady());
|
||||
}
|
||||
|
||||
appReady() {
|
||||
mainWindow = new BrowserWindow(windowOptions);
|
||||
this.loadInstaller();
|
||||
}
|
||||
|
||||
loadInstaller() {
|
||||
this.installer = require('./installer_index');
|
||||
this.installerInstance = new this.installer(app, mainWindow, ipcMain, _utils);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = new Index();
|
|
@ -1,269 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
//Imports
|
||||
const
|
||||
path = require('path'),
|
||||
dialog = require('electron').dialog,
|
||||
fs = require("fs"),
|
||||
fse = require("fs-extra"),
|
||||
request = require('request'),
|
||||
unzip = require('unzip'),
|
||||
readline = require('readline'),
|
||||
asar = require('./asar');
|
||||
|
||||
const platform = (process.platform !== "win32" && process.platform !== "darwin") ? "linux" : process.platform;
|
||||
|
||||
|
||||
var
|
||||
config = {
|
||||
urls: {
|
||||
package: "https://github.com/Jiiks/BetterDiscordApp/archive/stable16.zip",
|
||||
finish: "https://betterdiscord.net/installed"
|
||||
},
|
||||
discord: {
|
||||
lastKnownVersion: "0.0.292"
|
||||
},
|
||||
import: "BetterDiscordApp-stable16",
|
||||
cache: [
|
||||
"emotes_bttv.json",
|
||||
"emotes_bttv_2.json",
|
||||
"emotes_ffz.json",
|
||||
"emotes_twitch_global.json",
|
||||
"emotes_twitch_subscriber.json",
|
||||
"user.json"
|
||||
],
|
||||
paths: {
|
||||
installPath: "",
|
||||
libPath: ""
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
class Installer {
|
||||
|
||||
constructor(app, mainWindow, ipc, utils) {
|
||||
this.app = app;
|
||||
this.utils = utils;
|
||||
this.initConfig();
|
||||
mainWindow.setSize(800, 400);
|
||||
mainWindow.center();
|
||||
mainWindow.loadURL(`file://${__dirname}/data/index.html`);
|
||||
this.webContents = mainWindow.webContents;
|
||||
ipc.on('async', (event, arg) => this.receiveAsync(event, arg));
|
||||
}
|
||||
|
||||
initConfig() {
|
||||
config.paths.installPath = path.normalize(this.utils.installPath(config.discord.lastKnownVersion));
|
||||
config.paths.libPath = path.normalize(this.utils.libPath());
|
||||
}
|
||||
|
||||
install() {
|
||||
this.utils.log("Config: " + JSON.stringify(config));
|
||||
this.appendLog("Initializing");
|
||||
this.locateAppPackage();
|
||||
}
|
||||
|
||||
locateAppPackage() {
|
||||
var p = path.normalize(`${config.paths.installPath}/resources`);
|
||||
var pkg = fs.readdirSync(p).filter(file => {
|
||||
if(file === "app.asar") {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
if(pkg.length <= 0) {
|
||||
//App package not found
|
||||
this.appendLog("Unable to locate app package, check the logs for errors");
|
||||
return;
|
||||
}
|
||||
|
||||
this.appendLog("Located app package");
|
||||
this.downloadBd();
|
||||
//this.extractAppPackage();
|
||||
}
|
||||
|
||||
downloadBd() {
|
||||
|
||||
var self = this;
|
||||
this.appendLog("Downloading BetterDiscord");
|
||||
|
||||
var error = false;
|
||||
var size = 0;
|
||||
var downloaded = 0;
|
||||
|
||||
var req = request({
|
||||
method: 'GET',
|
||||
uri: config.urls.package
|
||||
});
|
||||
|
||||
req.pipe(unzip.Extract({ path: path.normalize(config.paths.libPath) }));
|
||||
|
||||
req.on('data', chunk => {
|
||||
downloaded += chunk.length;
|
||||
this.updatePb(downloaded, size);
|
||||
});
|
||||
|
||||
req.on('response', data => {
|
||||
size = data.headers['content-length'];
|
||||
});
|
||||
|
||||
req.on('error', err => {
|
||||
error = true;
|
||||
self.utils.log(err);
|
||||
self.appendLog("Failed to download BetterDiscord package, check the logs for errors");
|
||||
});
|
||||
|
||||
req.on('end', () => {
|
||||
console.log("got here?");
|
||||
if(error) {
|
||||
self.appendLog("Failed to download BetterDiscord package, check the logs for errors");
|
||||
} else {
|
||||
self.extractAppPackage();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
extractAppPackage() {
|
||||
var self = this;
|
||||
|
||||
try {
|
||||
if(fs.existsSync(`${config.paths.installPath}/resources/app`)) {
|
||||
self.appendLog("Deleting old app directory");
|
||||
setTimeout(() => {
|
||||
fse.removeSync(`${config.paths.installPath}/resources/app`);
|
||||
extract();
|
||||
}, 500);
|
||||
} else {
|
||||
extract();
|
||||
}
|
||||
} catch(err) {
|
||||
self.appendLog("Could not delete old app directory, check the logs for errors");
|
||||
return;
|
||||
}
|
||||
|
||||
function extract() {
|
||||
try {
|
||||
self.appendLog("Extracting app package");
|
||||
var a = new asar(`${config.paths.installPath}/resources/app.asar`);
|
||||
a.extract(msg => {
|
||||
self.appendLog(msg);
|
||||
}, (curIndex, total) => {
|
||||
self.updatePb(curIndex, total);
|
||||
}, err => {
|
||||
if(err === null) {
|
||||
self.inject();
|
||||
} else {
|
||||
self.log(err);
|
||||
self.appendLog("Failed to extract app package, check the logs for errors");
|
||||
self.clean();
|
||||
}
|
||||
});
|
||||
}catch(err) {
|
||||
console.log(err);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inject() {
|
||||
var self = this;
|
||||
this.updatePb(0, 5);
|
||||
this.appendLog("Injecting loader");
|
||||
|
||||
var lines = [];
|
||||
var lr = readline.createInterface({
|
||||
input: fs.createReadStream(`${config.paths.installPath}/resources/app/index.js`)
|
||||
});
|
||||
|
||||
lr.on('line', line => {
|
||||
lines.push(line);
|
||||
|
||||
if(line.indexOf("'use strict';") > -1) {
|
||||
lines.push(path.normalize(`var _betterDiscord = require('${config.paths.libPath}/${config.import}');`).replace(/\\/g,"/"));
|
||||
lines.push("var _betterDiscord2;");
|
||||
}
|
||||
|
||||
if(line.indexOf("mainWindow = new BrowserWindow(mainWindowOptions);") > -1) {
|
||||
lines.push(` _betterDiscord2 = new _betterDiscord.BetterDiscord(mainWindow, false);`);
|
||||
}
|
||||
});
|
||||
|
||||
lr.on('close', () => {
|
||||
fs.writeFileSync(`${config.paths.installPath}/resources/app/index.js`, lines.join('\n'));
|
||||
self.appendLog("Finished installing BetterDiscord");
|
||||
self.updatePb(5, 5);
|
||||
});
|
||||
}
|
||||
|
||||
clean() {
|
||||
this.appendLog("Cleaning installation");
|
||||
try {
|
||||
if(fs.existsSync(`${config.paths.installPath}/resources/app`)) {
|
||||
self.appendLog("Deleting app directory");
|
||||
setTimeout(() => {
|
||||
fse.removeSync(`${config.paths.installPath}/resources/app`);
|
||||
}, 500);
|
||||
}
|
||||
} catch(err) {
|
||||
self.appendLog("Could not delete old app directory, check the logs for errors");
|
||||
}
|
||||
}
|
||||
|
||||
appendLog(msg) {
|
||||
this.utils.log(msg);
|
||||
this.webContents.executeJavaScript(`appendLog("${msg}");`);
|
||||
}
|
||||
|
||||
updatePb(cur, max) {
|
||||
this.webContents.executeJavaScript(`updatePbar(${cur}, ${max});`);
|
||||
}
|
||||
|
||||
getData(e) {
|
||||
switch(e) {
|
||||
case "discordpath":
|
||||
return config.paths.installPath;
|
||||
case "libpath":
|
||||
return config.paths.libPath;
|
||||
}
|
||||
}
|
||||
|
||||
receiveAsync(event, arg) {
|
||||
|
||||
var data = arg.data || '';
|
||||
arg = arg.arg;
|
||||
|
||||
switch(arg) {
|
||||
case "get":
|
||||
this.replyAsync(event, data, this.getData(data));
|
||||
break;
|
||||
case "browsedialog":
|
||||
var path = dialog.showOpenDialog({ properties: ['openDirectory'] });
|
||||
|
||||
switch(data) {
|
||||
case "discordpath":
|
||||
path = path === undefined ? config.paths.installPath : path[0];
|
||||
config.paths.installPath = path;
|
||||
break;
|
||||
case "libpath":
|
||||
path = path === undefined ? config.paths.libPath : path[0];
|
||||
config.paths.libPath = path;
|
||||
break;
|
||||
}
|
||||
|
||||
this.replyAsync(event, data, path);
|
||||
break;
|
||||
case "install":
|
||||
this.install();
|
||||
break;
|
||||
case "quit":
|
||||
this.app.quit();
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
replyAsync(event, arg, data) {
|
||||
event.sender.send('async-reply', { "arg": arg, "data": data });
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
module.exports = Installer;
|
|
@ -1,10 +0,0 @@
|
|||
{
|
||||
"name": "Install",
|
||||
"description": "Better Discord enhances Discord.",
|
||||
"version": "0.1.1",
|
||||
"homepage": "https://github.com/Jiiks/BetterDiscordApp",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"electron-prebuilt": "^1.0.0"
|
||||
}
|
||||
}
|
|
@ -1,75 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
class Updater {
|
||||
|
||||
constructor(utils) {
|
||||
this.utils = utils;
|
||||
}
|
||||
|
||||
update() {
|
||||
var self = this;
|
||||
var promises = [
|
||||
new Promise((resolve, reject) => {
|
||||
downloadResource("/Jiiks/BetterDiscordApp/master/Installers/Electron/src/data/index.html", (error, data)
|
||||
if(error) {
|
||||
error(data, true);
|
||||
reject();
|
||||
return;
|
||||
}
|
||||
self.utils.log("Succesfully loaded index.html");
|
||||
resolve();
|
||||
});
|
||||
}),
|
||||
new Promise((resolve, reject) => {
|
||||
downloadResource("/Jiiks/BetterDiscordApp/master/Installers/Electron/src/data/js/main.js", (error, data)
|
||||
if(error) {
|
||||
error(data, true);
|
||||
reject();
|
||||
return;
|
||||
}
|
||||
self.utils.log("Succesfully loaded main.js");
|
||||
resolve();
|
||||
});
|
||||
}),
|
||||
new Promise((resolve, reject) => {
|
||||
downloadResource("/Jiiks/BetterDiscordApp/master/Installers/Electron/src/data/css/main.css", (error, dat
|
||||
if(error) {
|
||||
error(data, true);
|
||||
reject();
|
||||
return;
|
||||
}
|
||||
self.utils.log("Succesfully loaded main.css");
|
||||
resolve();
|
||||
});
|
||||
})
|
||||
];
|
||||
return Promise.all(promises);
|
||||
}
|
||||
|
||||
checkForUpdates(okCb, errorCb) {
|
||||
_utils.downloadResource("/Jiiks/BetterDiscordApp/master/Installers/Electron/src/data/vi.json", (error, data) => {
|
||||
if(error) {
|
||||
errorCb(data);
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
data = JSON.parse(data);
|
||||
}catch(err) {
|
||||
errorCb(err);
|
||||
return;
|
||||
}
|
||||
|
||||
switch(platform) {
|
||||
case "win32":
|
||||
okCb(data.windows.version > vi.windows.version);
|
||||
break;
|
||||
case "darwin":
|
||||
okCb(data.osx.version > vi.osx.version);
|
||||
break;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Updater;
|
|
@ -1,98 +0,0 @@
|
|||
'use strict';
|
||||
|
||||
const
|
||||
https = require('https'),
|
||||
fs = require('fs'),
|
||||
eol = require('os').EOL,
|
||||
platform = (process.platform !== "win32" && process.platform !== "darwin") ? "linux" : process.platform;
|
||||
|
||||
class Utils {
|
||||
|
||||
constructor() {
|
||||
this.logs = "";
|
||||
}
|
||||
|
||||
log(message) {
|
||||
var d = new Date();
|
||||
var ds = ("00" + (d.getDate() + 1)).slice(-2) + "/" +
|
||||
("00" + d.getMonth()).slice(-2) + "/" +
|
||||
d.getFullYear() + " " +
|
||||
("00" + d.getHours()).slice(-2) + ":" +
|
||||
("00" + d.getMinutes()).slice(-2) + ":" +
|
||||
("00" + d.getSeconds()).slice(-2);
|
||||
console.log(`[${ds}] ${message}`);
|
||||
this.logs += `[${ds}] ${message}${eol}`;
|
||||
this.saveLogs();
|
||||
}
|
||||
|
||||
printLogs() {
|
||||
console.log(this.logs);
|
||||
}
|
||||
|
||||
saveLogs() {
|
||||
fs.writeFileSync("logs.log", this.logs);
|
||||
}
|
||||
|
||||
downloadResource(resource, callback, host) {
|
||||
https.get({
|
||||
host: host || "raw.githubusercontent.com",
|
||||
path: resource,
|
||||
headers: { 'user-agent': 'Mozilla/5.0' }
|
||||
},
|
||||
(response) => {
|
||||
var data = "";
|
||||
response.on("data", (chunk) => {
|
||||
data += chunk;
|
||||
});
|
||||
response.on("end", () => {
|
||||
callback(false, data);
|
||||
});
|
||||
response.on("error", (e) => {
|
||||
callback(true, e);
|
||||
});
|
||||
}).on('error', (e) => {
|
||||
callback(true, e);
|
||||
});
|
||||
}
|
||||
|
||||
installPath(lastKnownVersion) {
|
||||
|
||||
return {
|
||||
"win32": () => {
|
||||
var hver = lastKnownVersion;
|
||||
var path = `${process.env.LOCALAPPDATA}/Discord/app-${lastKnownVersion}\\`;
|
||||
fs.readdirSync(`${process.env.LOCALAPPDATA}/Discord/`).filter(function(file) {
|
||||
var tpath = `${process.env.LOCALAPPDATA}/Discord/${file}`;
|
||||
if(!fs.statSync(tpath).isDirectory()) return;
|
||||
|
||||
if(!file.startsWith("app-")) return;
|
||||
var ver = file.replace("app-", "");
|
||||
if(ver < hver) return;
|
||||
hver = ver;
|
||||
path = tpath;
|
||||
});
|
||||
return path;
|
||||
},
|
||||
"darwin": () => "/Applications/Discord.app/Contents",
|
||||
"linux": () => "/usr/share/discord"
|
||||
}[platform]();
|
||||
|
||||
}
|
||||
|
||||
libPath() {
|
||||
return {
|
||||
"win32": () => {
|
||||
return `${process.env.APPDATA}/BetterDiscord/lib`;
|
||||
},
|
||||
"darwin": () => {
|
||||
return `${process.env.HOME}/.local/share/BetterDiscord`;
|
||||
},
|
||||
"linux": () => {
|
||||
// FIXME: for a non-root user, a path like OSX's makes more sense
|
||||
return "/usr/local/share/BetterDiscord";
|
||||
}
|
||||
}[platform]();
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = Utils;
|
|
@ -1,3 +0,0 @@
|
|||
{
|
||||
"init": "init"
|
||||
}
|
|
@ -1,261 +0,0 @@
|
|||
/*
|
||||
* BetterDiscordApp Installer v0.3.2
|
||||
*/
|
||||
|
||||
var dver = "0.0.284";
|
||||
|
||||
var asar = require('asar');
|
||||
var wrench = require('wrench');
|
||||
var fs = require('fs');
|
||||
var readline = require('readline');
|
||||
var util = require('util');
|
||||
|
||||
var _importSplice;
|
||||
var _functionSplice;
|
||||
var _functionCallSplice;
|
||||
|
||||
var _discordPath;
|
||||
var _appFolder = "/app";
|
||||
var _appArchive = "/app.asar";
|
||||
var _packageJson = _appFolder + "/package.json";
|
||||
var _index = _appFolder + "/index.js";
|
||||
|
||||
var _force = false;
|
||||
|
||||
// Get Arguments
|
||||
process.argv.forEach(function (val, index, array) {
|
||||
if (val == "--force") {
|
||||
_force = true;
|
||||
}
|
||||
|
||||
if (val == "-d" || val == "--directory") {
|
||||
_discordPath = array[(index+1)]
|
||||
}
|
||||
});
|
||||
|
||||
function install() {
|
||||
|
||||
if (typeof _discordPath == 'undefined') {
|
||||
var _os = process.platform;
|
||||
if (_os == "win32") {
|
||||
_importSplice = 89;
|
||||
_functionCallSplice = 497;
|
||||
_functionSplice = 601;
|
||||
_discordPath = process.env.LOCALAPPDATA + "/Discord/app-"+dver+"/resources";
|
||||
} else if (_os == "darwin") {
|
||||
_importSplice = 67;
|
||||
_functionCallSplice = 446;
|
||||
_functionSplice = 547;
|
||||
_discordPath = "/Applications/Discord.app/Contents/Resources" // Defaults to Applications directory
|
||||
} else if (_os == "linux") {
|
||||
_discordPath = "/opt/DiscordCanary/resources";
|
||||
_index = "/app/index.js";
|
||||
}
|
||||
}
|
||||
console.log("Looking for discord resources at: " + _discordPath);
|
||||
|
||||
fs.exists(_discordPath, function(exists) {
|
||||
|
||||
if(exists) {
|
||||
console.log("Discord resources found at: " + _discordPath + "\nLooking for app folder");
|
||||
|
||||
if(fs.existsSync(_discordPath + _appFolder)) {
|
||||
console.log("Deleting " + _discordPath + _appFolder + " folder.");
|
||||
wrench.rmdirSyncRecursive(_discordPath + _appFolder);
|
||||
console.log("Deleted " + _discordPath + _appFolder + " folder.");
|
||||
}
|
||||
|
||||
if(fs.existsSync(_discordPath + "/node_modules/BetterDiscord")) {
|
||||
console.log("Deleting " + _discordPath + "/node_modules/BetterDiscord" + " folder.");
|
||||
wrench.rmdirSyncRecursive(_discordPath + "/node_modules/BetterDiscord");
|
||||
console.log("Deleted " + _discordPath + "/node_modules/BetterDiscord" + " folder.");
|
||||
}
|
||||
|
||||
console.log("Looking for app archive");
|
||||
if(fs.existsSync(_discordPath + _appArchive)) {
|
||||
console.log("App archive found at: " + _discordPath + _appArchive);
|
||||
} else {
|
||||
console.log("Failed to locate app archive at: " + _discordPath + _appArchive);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
console.log("Extracting app archive");
|
||||
asar.extractAll(_discordPath + _appArchive, _discordPath + _appFolder);
|
||||
|
||||
console.log("Copying BetterDiscord");
|
||||
if(_os == "linux") {
|
||||
fs.mkdirSync(_discordPath + _appFolder + "/node_modules/BetterDiscord");
|
||||
}
|
||||
else {
|
||||
fs.mkdirSync(_discordPath + "/node_modules/BetterDiscord");
|
||||
}
|
||||
|
||||
wrench.copyDirSyncRecursive(__dirname + "/BetterDiscord/", _discordPath + _appFolder + "/node_modules/BetterDiscord/", {forceDelete: true});
|
||||
|
||||
if(!fs.existsSync("splice")) {
|
||||
console.log("Missing splice file");
|
||||
process.exit();
|
||||
}
|
||||
|
||||
var splice = fs.readFileSync("splice");
|
||||
|
||||
|
||||
fs.exists(_discordPath + _appFolder, function(exists) {
|
||||
if(exists) {
|
||||
console.log("Extracted to: " + _discordPath + _appFolder);
|
||||
console.log("Injecting index.js");
|
||||
|
||||
var data = fs.readFileSync(_discordPath + _index).toString().split("\n");
|
||||
|
||||
if(_os == "linux") {
|
||||
data = data.join("\n");
|
||||
data = data.replace('var _GPUSettings2 = _interopRequireDefault(_GPUSettings);','var _GPUSettings2 = _interopRequireDefault(_GPUSettings);\n\nvar _betterDiscord = require(\'BetterDiscord\');\n');
|
||||
|
||||
data = data.replace('mainWindow.setMenuBarVisibility(false);','mainWindow.setMenuBarVisibility(false);\n' + splice + '\n');
|
||||
data = data.split("\n");
|
||||
|
||||
} else {
|
||||
data.splice(_importSplice, 0, 'var _betterDiscord = require(\'betterdiscord\');\n');
|
||||
data.splice(_functionCallSplice, 0, splice);
|
||||
}
|
||||
|
||||
fs.writeFile(_discordPath + _index, data.join("\n"), function(err) {
|
||||
if(err) return console.log(err);
|
||||
console.log("Injected index.js");
|
||||
|
||||
console.log("Deleting old cache files");
|
||||
|
||||
var counter = 0;
|
||||
var _prefsPath = '/Library/Preferences/BetterDiscord/';
|
||||
|
||||
var emotes_twitch_global = 'emotes_twitch_global.json';
|
||||
fs.exists(process.env.HOME + _prefsPath + emotes_twitch_global, (exists) => {
|
||||
if (exists) {
|
||||
console.log("Deleting " + emotes_twitch_global);
|
||||
fs.unlinkSync(process.env.HOME + _prefsPath + emotes_twitch_global, (err) => {
|
||||
if(err) throw err;
|
||||
});
|
||||
console.log("Deleted " + emotes_twitch_global);
|
||||
}
|
||||
counter++;
|
||||
finished();
|
||||
|
||||
});
|
||||
|
||||
var emotes_twitch_subscriber = 'emotes_twitch_subscriber.json';
|
||||
fs.exists(process.env.HOME + _prefsPath + emotes_twitch_subscriber, (exists) => {
|
||||
if (exists) {
|
||||
console.log("Deleting " + emotes_twitch_subscriber);
|
||||
fs.unlinkSync(process.env.HOME + _prefsPath + emotes_twitch_subscriber, (err) => {
|
||||
if(err) throw err;
|
||||
});
|
||||
console.log("Deleted " + emotes_twitch_subscriber);
|
||||
}
|
||||
counter++;
|
||||
finished();
|
||||
});
|
||||
|
||||
var emotes_bttv = 'emotes_bttv.json';
|
||||
fs.exists(process.env.HOME + _prefsPath + emotes_bttv, (exists) => {
|
||||
if (exists) {
|
||||
console.log("Deleting " + emotes_bttv);
|
||||
fs.unlinkSync(process.env.HOME + _prefsPath + emotes_bttv, (err) => {
|
||||
if(err) throw err;
|
||||
});
|
||||
console.log("Deleted " + emotes_bttv);
|
||||
}
|
||||
counter++;
|
||||
finished();
|
||||
});
|
||||
|
||||
var emotes_bttv_2 = "emotes_bttv_2.json";
|
||||
fs.exists(process.env.HOME + _prefsPath + emotes_bttv_2, (exists) => {
|
||||
if (exists) {
|
||||
console.log("Deleting " + emotes_bttv_2);
|
||||
fs.unlinkSync(process.env.HOME + _prefsPath + emotes_bttv_2, (err) => {
|
||||
if(err) throw err;
|
||||
});
|
||||
console.log("Deleted " + emotes_bttv_2);
|
||||
}
|
||||
counter++;
|
||||
finished();
|
||||
});
|
||||
|
||||
var emotes_ffz = "emotes_ffz.json";
|
||||
fs.exists(process.env.HOME + _prefsPath + emotes_ffz, (exists) => {
|
||||
if (exists) {
|
||||
console.log("Deleting " + emotes_ffz);
|
||||
fs.unlinkSync(process.env.HOME + _prefsPath + emotes_ffz, (err) => {
|
||||
if(err) throw err;
|
||||
});
|
||||
console.log("Deleted " + emotes_ffz);
|
||||
}
|
||||
counter++;
|
||||
finished();
|
||||
|
||||
});
|
||||
var user_pref = "user.json";
|
||||
fs.exists(process.env.HOME + _prefsPath + user_pref, (exists) => {
|
||||
if (exists) {
|
||||
console.log("Deleting " + user_pref);
|
||||
fs.unlinkSync(process.env.HOME + _prefsPath + user_pref, (err) => {
|
||||
if(err) throw err;
|
||||
});
|
||||
console.log("Deleted " + user_pref);
|
||||
}
|
||||
counter++;
|
||||
finished();
|
||||
});
|
||||
|
||||
function finished() {
|
||||
if(counter => 6) {
|
||||
console.log("Looks like we're done here");
|
||||
process.exit();
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
console.log("Something went wrong. Please try again.");
|
||||
process.exit();
|
||||
}
|
||||
});
|
||||
|
||||
} else {
|
||||
console.log("Discord resources not found at: " + _discordPath);
|
||||
process.exit();
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
function init() {
|
||||
|
||||
console.log("BetterDiscord Simple Installer v0.3 for Discord "+dver+" by Jiiks.");
|
||||
console.log("If Discord has updated then download the latest installer.");
|
||||
|
||||
var rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
||||
|
||||
if (_force == false) {
|
||||
rl.question("The following directories will be deleted if they exists: discorpath/app, discordpath/node_modules/BetterDiscord, is this ok? Y/N", function(answer) {
|
||||
|
||||
var alc = answer.toLowerCase();
|
||||
|
||||
switch(alc) {
|
||||
case "y":
|
||||
case "yes":
|
||||
install();
|
||||
break;
|
||||
case "n":
|
||||
case "no":
|
||||
process.exit();
|
||||
break;
|
||||
}
|
||||
});
|
||||
} else {
|
||||
install();
|
||||
}
|
||||
}
|
||||
|
||||
init();
|
|
@ -1,11 +0,0 @@
|
|||
@echo off
|
||||
where node.exe >nul 2>nul
|
||||
if %errorlevel%==1 (
|
||||
echo "Node.exe not found, opening your browser..."
|
||||
start "" "https://nodejs.org/dist/latest/win-x86/node.exe"
|
||||
pause
|
||||
) else (
|
||||
taskkill /f /im "Discord.exe" >nul 2>nul
|
||||
cmd /k node.exe index.js
|
||||
)
|
||||
exit
|
|
@ -1,7 +0,0 @@
|
|||
#!/bin/bash
|
||||
# As there is no Linux support, this script assumes OS X as the host system.
|
||||
|
||||
command -v node > /dev/null || (echo 'Node not found, please download it!' && open 'https://nodejs.org/en/' && sleep 5 && exit)
|
||||
|
||||
node index.js
|
||||
exit
|
|
@ -1,63 +0,0 @@
|
|||
###############################################################################
|
||||
# Set default behavior to automatically normalize line endings.
|
||||
###############################################################################
|
||||
* text=auto
|
||||
|
||||
###############################################################################
|
||||
# Set default behavior for command prompt diff.
|
||||
#
|
||||
# This is need for earlier builds of msysgit that does not have it on by
|
||||
# default for csharp files.
|
||||
# Note: This is only used by command line
|
||||
###############################################################################
|
||||
#*.cs diff=csharp
|
||||
|
||||
###############################################################################
|
||||
# Set the merge driver for project and solution files
|
||||
#
|
||||
# Merging from the command prompt will add diff markers to the files if there
|
||||
# are conflicts (Merging from VS is not affected by the settings below, in VS
|
||||
# the diff markers are never inserted). Diff markers may cause the following
|
||||
# file extensions to fail to load in VS. An alternative would be to treat
|
||||
# these files as binary and thus will always conflict and require user
|
||||
# intervention with every merge. To do so, just uncomment the entries below
|
||||
###############################################################################
|
||||
#*.sln merge=binary
|
||||
#*.csproj merge=binary
|
||||
#*.vbproj merge=binary
|
||||
#*.vcxproj merge=binary
|
||||
#*.vcproj merge=binary
|
||||
#*.dbproj merge=binary
|
||||
#*.fsproj merge=binary
|
||||
#*.lsproj merge=binary
|
||||
#*.wixproj merge=binary
|
||||
#*.modelproj merge=binary
|
||||
#*.sqlproj merge=binary
|
||||
#*.wwaproj merge=binary
|
||||
|
||||
###############################################################################
|
||||
# behavior for image files
|
||||
#
|
||||
# image files are treated as binary by default.
|
||||
###############################################################################
|
||||
#*.jpg binary
|
||||
#*.png binary
|
||||
#*.gif binary
|
||||
|
||||
###############################################################################
|
||||
# diff behavior for common document formats
|
||||
#
|
||||
# Convert binary document formats to text before diffing them. This feature
|
||||
# is only available from the command line. Turn it on by uncommenting the
|
||||
# entries below.
|
||||
###############################################################################
|
||||
#*.doc diff=astextplain
|
||||
#*.DOC diff=astextplain
|
||||
#*.docx diff=astextplain
|
||||
#*.DOCX diff=astextplain
|
||||
#*.dot diff=astextplain
|
||||
#*.DOT diff=astextplain
|
||||
#*.pdf diff=astextplain
|
||||
#*.PDF diff=astextplain
|
||||
#*.rtf diff=astextplain
|
||||
#*.RTF diff=astextplain
|
|
@ -1,156 +0,0 @@
|
|||
## Ignore Visual Studio temporary files, build results, and
|
||||
## files generated by popular Visual Studio add-ons.
|
||||
|
||||
# User-specific files
|
||||
*.suo
|
||||
*.user
|
||||
*.sln.docstates
|
||||
|
||||
# Build results
|
||||
|
||||
[Dd]ebug/
|
||||
[Rr]elease/
|
||||
x64/
|
||||
build/
|
||||
[Bb]in/
|
||||
[Oo]bj/
|
||||
|
||||
# Enable "build/" folder in the NuGet Packages folder since NuGet packages use it for MSBuild targets
|
||||
!packages/*/build/
|
||||
|
||||
# MSTest test Results
|
||||
[Tt]est[Rr]esult*/
|
||||
[Bb]uild[Ll]og.*
|
||||
|
||||
*_i.c
|
||||
*_p.c
|
||||
*.ilk
|
||||
*.meta
|
||||
*.obj
|
||||
*.pch
|
||||
*.pdb
|
||||
*.pgc
|
||||
*.pgd
|
||||
*.rsp
|
||||
*.sbr
|
||||
*.tlb
|
||||
*.tli
|
||||
*.tlh
|
||||
*.tmp
|
||||
*.tmp_proj
|
||||
*.log
|
||||
*.vspscc
|
||||
*.vssscc
|
||||
.builds
|
||||
*.pidb
|
||||
*.log
|
||||
*.scc
|
||||
|
||||
# Visual C++ cache files
|
||||
ipch/
|
||||
*.aps
|
||||
*.ncb
|
||||
*.opensdf
|
||||
*.sdf
|
||||
*.cachefile
|
||||
|
||||
# Visual Studio profiler
|
||||
*.psess
|
||||
*.vsp
|
||||
*.vspx
|
||||
|
||||
# Guidance Automation Toolkit
|
||||
*.gpState
|
||||
|
||||
# ReSharper is a .NET coding add-in
|
||||
_ReSharper*/
|
||||
*.[Rr]e[Ss]harper
|
||||
|
||||
# TeamCity is a build add-in
|
||||
_TeamCity*
|
||||
|
||||
# DotCover is a Code Coverage Tool
|
||||
*.dotCover
|
||||
|
||||
# NCrunch
|
||||
*.ncrunch*
|
||||
.*crunch*.local.xml
|
||||
|
||||
# Installshield output folder
|
||||
[Ee]xpress/
|
||||
|
||||
# DocProject is a documentation generator add-in
|
||||
DocProject/buildhelp/
|
||||
DocProject/Help/*.HxT
|
||||
DocProject/Help/*.HxC
|
||||
DocProject/Help/*.hhc
|
||||
DocProject/Help/*.hhk
|
||||
DocProject/Help/*.hhp
|
||||
DocProject/Help/Html2
|
||||
DocProject/Help/html
|
||||
|
||||
# Click-Once directory
|
||||
publish/
|
||||
|
||||
# Publish Web Output
|
||||
*.Publish.xml
|
||||
|
||||
# NuGet Packages Directory
|
||||
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
|
||||
#packages/
|
||||
|
||||
# Windows Azure Build Output
|
||||
csx
|
||||
*.build.csdef
|
||||
|
||||
# Windows Store app package directory
|
||||
AppPackages/
|
||||
|
||||
# Others
|
||||
sql/
|
||||
*.Cache
|
||||
ClientBin/
|
||||
[Ss]tyle[Cc]op.*
|
||||
~$*
|
||||
*~
|
||||
*.dbmdl
|
||||
*.[Pp]ublish.xml
|
||||
*.pfx
|
||||
*.publishsettings
|
||||
|
||||
# RIA/Silverlight projects
|
||||
Generated_Code/
|
||||
|
||||
# Backup & report files from converting an old project file to a newer
|
||||
# Visual Studio version. Backup files are not needed, because we have git ;-)
|
||||
_UpgradeReport_Files/
|
||||
Backup*/
|
||||
UpgradeLog*.XML
|
||||
UpgradeLog*.htm
|
||||
|
||||
# SQL Server files
|
||||
App_Data/*.mdf
|
||||
App_Data/*.ldf
|
||||
|
||||
|
||||
#LightSwitch generated files
|
||||
GeneratedArtifacts/
|
||||
_Pvt_Extensions/
|
||||
ModelManifest.xml
|
||||
|
||||
# =========================
|
||||
# Windows detritus
|
||||
# =========================
|
||||
|
||||
# Windows image file caches
|
||||
Thumbs.db
|
||||
ehthumbs.db
|
||||
|
||||
# Folder config file
|
||||
Desktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Mac desktop service store files
|
||||
.DS_Store
|
|
@ -1,22 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 2013
|
||||
VisualStudioVersion = 12.0.21005.1
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BetterDiscordWI", "BetterDiscordWI\BetterDiscordWI.csproj", "{469F7547-7664-4DE8-A568-E89525981539}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{469F7547-7664-4DE8-A568-E89525981539}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{469F7547-7664-4DE8-A568-E89525981539}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{469F7547-7664-4DE8-A568-E89525981539}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{469F7547-7664-4DE8-A568-E89525981539}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.1"/>
|
||||
</startup>
|
||||
</configuration>
|
|
@ -1,12 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
|
||||
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
|
||||
<assemblyIdentity version="1.0.0.0" name="BetterDiscord Installer"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false"/>
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
</assembly>
|
Before Width: | Height: | Size: 170 KiB |
|
@ -1,158 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{469F7547-7664-4DE8-A568-E89525981539}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||
<RootNamespace>BetterDiscordWI</RootNamespace>
|
||||
<AssemblyName>BetterDiscordWI</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<TargetFrameworkProfile />
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>Resources\BetterDiscord-icon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup />
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>App.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="asardotnet">
|
||||
<HintPath>..\..\..\..\WindowsInstaller\asardotnet.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.IO.Compression.FileSystem" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="components\CTextBox.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormMain.Designer.cs">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="panels\IPanel.cs" />
|
||||
<Compile Include="panels\Panel0.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="panels\Panel0.Designer.cs">
|
||||
<DependentUpon>Panel0.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="panels\Panel1.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="panels\Panel1.Designer.cs">
|
||||
<DependentUpon>Panel1.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="panels\Panel2.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="panels\Panel2.Designer.cs">
|
||||
<DependentUpon>Panel2.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="panels\Panel3.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="panels\Panel3.Designer.cs">
|
||||
<DependentUpon>Panel3.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
<EmbeddedResource Include="FormMain.resx">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="panels\Panel0.resx">
|
||||
<DependentUpon>Panel0.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="panels\Panel1.resx">
|
||||
<DependentUpon>Panel1.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="panels\Panel2.resx">
|
||||
<DependentUpon>Panel2.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="App.manifest" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\bd_logo2.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\bd_logo_64x64.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\bd_logo_64x64_nobg.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\bd_logo_large_nobg.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="BetterDiscord-icon.ico" />
|
||||
<Content Include="Resources\BetterDiscord-icon.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
<Target Name="BeforeBuild">
|
||||
</Target>
|
||||
<Target Name="AfterBuild">
|
||||
</Target>
|
||||
-->
|
||||
</Project>
|
|
@ -1,137 +0,0 @@
|
|||
namespace BetterDiscordWI
|
||||
{
|
||||
partial class FormMain
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain));
|
||||
this.btnCancel = new System.Windows.Forms.Button();
|
||||
this.panelContainer = new System.Windows.Forms.Panel();
|
||||
this.btnNext = new System.Windows.Forms.Button();
|
||||
this.btnBack = new System.Windows.Forms.Button();
|
||||
this.lblPanelTitle = new System.Windows.Forms.Label();
|
||||
this.panel1 = new System.Windows.Forms.Panel();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.Location = new System.Drawing.Point(438, 328);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnCancel.TabIndex = 0;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// panelContainer
|
||||
//
|
||||
this.panelContainer.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.panelContainer.Location = new System.Drawing.Point(0, 52);
|
||||
this.panelContainer.Name = "panelContainer";
|
||||
this.panelContainer.Size = new System.Drawing.Size(524, 258);
|
||||
this.panelContainer.TabIndex = 0;
|
||||
//
|
||||
// btnNext
|
||||
//
|
||||
this.btnNext.Enabled = false;
|
||||
this.btnNext.Location = new System.Drawing.Point(357, 328);
|
||||
this.btnNext.Name = "btnNext";
|
||||
this.btnNext.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnNext.TabIndex = 4;
|
||||
this.btnNext.Text = "Next >";
|
||||
this.btnNext.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// btnBack
|
||||
//
|
||||
this.btnBack.Enabled = false;
|
||||
this.btnBack.Location = new System.Drawing.Point(276, 328);
|
||||
this.btnBack.Name = "btnBack";
|
||||
this.btnBack.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnBack.TabIndex = 5;
|
||||
this.btnBack.Text = "< Back";
|
||||
this.btnBack.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// lblPanelTitle
|
||||
//
|
||||
this.lblPanelTitle.AutoSize = true;
|
||||
this.lblPanelTitle.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.lblPanelTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.lblPanelTitle.Location = new System.Drawing.Point(61, 16);
|
||||
this.lblPanelTitle.Name = "lblPanelTitle";
|
||||
this.lblPanelTitle.Size = new System.Drawing.Size(103, 16);
|
||||
this.lblPanelTitle.TabIndex = 6;
|
||||
this.lblPanelTitle.Text = "BetterDiscord";
|
||||
//
|
||||
// panel1
|
||||
//
|
||||
this.panel1.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.panel1.BackgroundImage = global::BetterDiscordWI.Properties.Resources.bd_logo_large_nobg;
|
||||
this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
|
||||
this.panel1.Location = new System.Drawing.Point(0, 0);
|
||||
this.panel1.Name = "panel1";
|
||||
this.panel1.Size = new System.Drawing.Size(64, 46);
|
||||
this.panel1.TabIndex = 0;
|
||||
//
|
||||
// FormMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.ClientSize = new System.Drawing.Size(524, 361);
|
||||
this.Controls.Add(this.panel1);
|
||||
this.Controls.Add(this.lblPanelTitle);
|
||||
this.Controls.Add(this.btnBack);
|
||||
this.Controls.Add(this.panelContainer);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnNext);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.Name = "FormMain";
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
|
||||
this.Text = "Setup - BetterDiscord ";
|
||||
this.TransparencyKey = System.Drawing.Color.LimeGreen;
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panelContainer;
|
||||
public System.Windows.Forms.Button btnNext;
|
||||
public System.Windows.Forms.Button btnBack;
|
||||
public System.Windows.Forms.Label lblPanelTitle;
|
||||
private System.Windows.Forms.Panel panel1;
|
||||
public System.Windows.Forms.Button btnCancel;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using System.Xml;
|
||||
using BetterDiscordWI.panels;
|
||||
|
||||
namespace BetterDiscordWI {
|
||||
public partial class FormMain : Form {
|
||||
|
||||
private readonly IPanel[] _panels = { new Panel0(), new Panel1(), new Panel2() };
|
||||
private int _index;
|
||||
|
||||
public string DiscordPath;
|
||||
public bool RestartDiscord = false;
|
||||
public string Sha;
|
||||
public bool Finished = false;
|
||||
|
||||
public XmlNodeList ResourceList;
|
||||
|
||||
public FormMain() {
|
||||
InitializeComponent();
|
||||
|
||||
Sha = Utils.GetHash();
|
||||
|
||||
if (Sha.Length < 1) {
|
||||
MessageBox.Show(@"Failed to get sha", @"Error", MessageBoxButtons.OK);
|
||||
Environment.Exit(0);
|
||||
}
|
||||
|
||||
foreach (IPanel ipanel in _panels) {
|
||||
panelContainer.Controls.Add((UserControl)ipanel);
|
||||
((UserControl)ipanel).Dock = DockStyle.Fill;
|
||||
((UserControl)ipanel).Hide();
|
||||
}
|
||||
((UserControl)_panels[_index]).Show();
|
||||
_panels[_index].SetVisible();
|
||||
|
||||
btnCancel.Click += (sender, args) => Close();
|
||||
btnNext.Click += (sender, args) => _panels[_index].BtnNext();
|
||||
btnBack.Click += (sender, args) => _panels[_index].BtnPrev();
|
||||
}
|
||||
|
||||
public void SwitchPanel(int index) {
|
||||
((UserControl)_panels[_index]).Hide();
|
||||
_index = index;
|
||||
((UserControl)_panels[_index]).Show();
|
||||
_panels[_index].SetVisible();
|
||||
}
|
||||
|
||||
protected override void OnFormClosing(FormClosingEventArgs e) {
|
||||
if (Finished) return;
|
||||
DialogResult dr = MessageBox.Show(@"Setup is not complete. If you exit now, BetterDiscord will not be installed. Exit Setup?", @"Exit Setup?", MessageBoxButtons.YesNo);
|
||||
if (dr == DialogResult.No) {
|
||||
e.Cancel = true;
|
||||
}
|
||||
}
|
||||
|
||||
readonly Pen _borderPen = new Pen(Color.FromArgb(160, 160, 160));
|
||||
protected override void OnPaint(PaintEventArgs e) {
|
||||
Graphics g = e.Graphics;
|
||||
g.FillRectangle(SystemBrushes.Window, new Rectangle(0, 0, Width, 50));
|
||||
g.DrawLine(_borderPen, 0, 50, Width, 50);
|
||||
g.DrawLine(SystemPens.Window, 0, 51, Width, 51);
|
||||
|
||||
g.DrawLine(_borderPen, 0, 310, Width, 310);
|
||||
g.DrawLine(SystemPens.Window, 0, 311, Width, 311);
|
||||
|
||||
base.OnPaint(e);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,659 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAQAEBAAAAAAIABoBAAARgAAACAgAAAAACAAqBAAAK4EAAAwMAAAAAAgAKglAABWFQAAQEAAAAAA
|
||||
IAAoQgAA/joAACgAAAAQAAAAIAAAAAEAIAAAAAAAQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAD5AAAA+wAA
|
||||
APsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD5AAAA+wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAA
|
||||
APsAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
APsAAAD7AAAA/wEBCf8NClr/FBCI/wMCGP8AAAD/AAAA/wAAAP8AAAD/AwIW/xQQif8NClv/AQEK/wAA
|
||||
AP8AAAD7AAAA+wQDH/8cFr7/HhjN/xkTqf8QDW7/EQ1z/xURkf8VEZH/EQ10/xANbf8YE6j/HhjN/xwW
|
||||
v/8EAyH/AAAA+wAAAPsPDGn/HhjL/x0Xxv8aFbT/HxnV/x4Y0P8eGMz/HhjM/x4Y0P8fGdT/GhW1/x0X
|
||||
xf8eGMv/EAxs/wAAAPsAAAD7DQpb/x4YzP8eGMz/HRfK/wcFMP8JB0D/HhjP/x4Yz/8JB0P/BgUu/x0X
|
||||
yf8eGMz/HhjM/w0LXf8AAAD7AAAA+wgGN/8eGM//HhjM/xoVtf8AAAD/AAAC/x0XyP8dF8r/AAAD/wAA
|
||||
AP8aFbL/HhjM/x4Yz/8IBzv/AAAA+wAAAPsBAQn/HhjP/x4YzP8eGM7/FBCK/xYRlv8eGM3/HhjN/xYR
|
||||
l/8UEIn/HhjO/x4YzP8eGND/AQEL/wAAAPsAAAD7AAAA/xcSnP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/FxKf/wAAAP8AAAD7AAAA+wAAAP8LCU3/HhjP/x4Yy/8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMv/HhjP/wsJUP8AAAD/AAAA+wAAAPsAAAD/AAAD/xYRlP8XEp3/GhSw/x4Y
|
||||
0f8fGdX/HxnV/x4Y0f8aFLH/FxKd/xYRlv8AAAT/AAAA/wAAAPsAAAD7AAAA/wAAAP8AAAD/CQc8/wwK
|
||||
Uf8EAxn/AwMa/wMDGv8EAxj/DApR/wkHPf8AAAD/AAAA/wAAAP8AAAD7AAAA+wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+wAAAPsAAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPsAAAD5AAAA+wAA
|
||||
APsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD7AAAA+wAAAPsAAAD5AAD//wAA
|
||||
//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//wAA//8AAP//AAD//ygA
|
||||
AAAgAAAAQAAAAAEAIAAAAAAAgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAD1AAAA+QAAAPkAAAD5AAAA+QAA
|
||||
APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAA
|
||||
APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA9QAAAPkAAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAA+QAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
APkAAAD5AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA+QAAAPkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD5AAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAAD5AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQAG/wYE
|
||||
J/8IBjj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/CAY3/wYE
|
||||
KP8BAAb/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAAPkAAAD/AAAA/wAAAP8AAAD/BgQn/xYR
|
||||
lf8eGM3/IBnc/yIb5v8OC2L/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w0L
|
||||
W/8iG+j/IBnc/x4Yzv8WEpn/BgQq/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAA+QAAAP8AAAD/AAAA/xEN
|
||||
df8gGt//HhjO/x4Yy/8eGMv/IBna/xwWwf8BAQr/AAAE/wUEI/8JBz//CwlO/wsJTv8JB0D/BQQk/wAA
|
||||
Bf8BAQj/HBa8/yAa2/8eGMv/HhjL/x4Yzv8hGt//Eg56/wAAAP8AAAD/AAAA/wAAAPkAAAD5AAAA/wAA
|
||||
AP8SDn7/IBra/x4Yy/8eGMz/HhjP/x0Xxf8IBzv/CghK/xgTov8dGMv/IBnb/yAa3v8gGdr/IBna/yAa
|
||||
3v8gGdz/HhjM/xgTpf8LCUz/CAY5/xwWwv8eGM//HhjM/x4Yy/8fGdn/Ew+E/wAAAP8AAAD/AAAA+QAA
|
||||
APkAAAD/AQAF/x8Z1P8eGMv/HhjM/x4Yzf8bFbj/Dgxk/x4Yzv8gGtv/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/yAZ2v8eGM//Dwxm/xoVtP8eGM3/HhjM/x4Yy/8fGdb/AQEK/wAA
|
||||
AP8AAAD5AAAA+QAAAP8AAAD/HRjK/x4YzP8eGMz/HhjM/x0XyP8fGdX/HhjL/x4Y0P8gGdz/IBnc/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/yAZ3P8gGdz/HhjQ/x4Yy/8fGdX/HRfI/x4YzP8eGMz/HhjM/x4Y
|
||||
zf8AAAP/AAAA/wAAAPkAAAD5AAAA/wAAAP8cFsH/HhjM/x4YzP8eGMz/HhjM/x4YzP8fGNP/FhGW/wYF
|
||||
Kv8HBjX/GxW4/x4Yzv8eGMz/HhjM/x4Yzf8bFrz/CAY3/wYFKf8VEZH/HxnU/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HBfF/wAAAP8AAAD/AAAA+QAAAPkAAAD/AAAA/xkUrf8eGMz/HhjM/x4YzP8eGMz/HhjM/xwW
|
||||
v/8AAAD/AAAA/wAAAP8DAhX/HxnW/x4YzP8eGMz/HxnX/wMDGf8AAAD/AAAA/wAAAP8bFrr/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8aFLL/AAAA/wAAAP8AAAD5AAAA+QAAAP8AAAD/FBCK/x4Yzv8eGMz/HhjM/x4Y
|
||||
zP8eGM3/FBCJ/wAAAP8AAAD/AAAA/wAAAP8aFbj/HhjM/x4YzP8cFr3/AAAA/wAAAP8AAAD/AAAA/xIP
|
||||
gP8eGM//HhjM/x4YzP8eGMz/HhjN/xURkv8AAAD/AAAA/wAAAPkAAAD5AAAA/wAAAP8MCVT/IBnZ/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8aFbP/AAAA/wAAAP8AAAD/AQEK/x4Y0P8eGMz/HhjM/x8Z0/8CAQ3/AAAA/wAA
|
||||
AP8AAAD/GRSt/x4YzP8eGMz/HhjM/x4YzP8fGdf/DQpb/wAAAP8AAAD/AAAA+QAAAPkAAAD/AAAA/wUE
|
||||
Jf8gGtz/HhjM/x4YzP8eGMz/HhjM/x8Z1v8RDnb/AgEN/wMCFv8XEp3/HhjR/x4YzP8eGMz/HhjQ/xgT
|
||||
ov8DAhj/AQEM/xANcf8gGdf/HhjM/x4YzP8eGMz/HhjM/yAa3v8GBSv/AAAA/wAAAP8AAAD5AAAA+QAA
|
||||
AP8AAAD/AAAC/x0Xyf8eGMv/HhjM/x4YzP8eGMz/HhjL/x8Z1f8fGNL/HxnV/x4Y0P8eGMv/HhjM/x4Y
|
||||
zP8eGMz/HhjP/x8Z1v8eGNH/HxnV/x4Yy/8eGMz/HhjM/x4YzP8eGMv/HhjM/wAAA/8AAAD/AAAA/wAA
|
||||
APkAAAD5AAAA/wAAAP8AAAD/FBCJ/x4Yz/8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Yzv8VEZL/AAAA/wAA
|
||||
AP8AAAD/AAAA+QAAAPkAAAD/AAAA/wAAAP8IBzv/IBre/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/IRrd/wkH
|
||||
Qf8AAAD/AAAA/wAAAP8AAAD5AAAA+QAAAP8AAAD/AAAA/wAAAf8dF8f/HhjL/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
y/8dGMr/AAAD/wAAAP8AAAD/AAAA/wAAAPkAAAD5AAAA/wAAAP8AAAD/AAAA/w8Ma/8fGNT/HxjT/x4Y
|
||||
y/8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
y/8fGNP/HxjT/xENc/8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAAPkAAAD/AAAA/wAAAP8AAAD/AQEM/yAa
|
||||
2f8WEZT/GRSu/yAa3P8eGNH/HhjL/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjL/x4Y
|
||||
0P8gGtz/GhSw/xURkv8hGt3/AgIQ/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAA+QAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/BQQk/xwWvf8ZFKb/CghG/xANcP8bFbb/HhjR/yAZ2v8gGt7/IBre/yAa3v8gGt7/IBnb/x4Y
|
||||
0f8bFrj/EA1y/woIRv8ZE6L/HBfA/wYEJ/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAAD5AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wkHQf8aFa7/GRSn/w0LXP8EBBz/BAQg/wcFL/8IBjn/CAY5/wcF
|
||||
MP8EBCH/BAMb/w0LWv8ZFKX/GxWw/woIRP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAA
|
||||
APkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQj/CQg6/wcGKP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8HBiX/Cgg8/wICCf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD5AAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAPkAAAD5AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAAPkAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD5AAAA+QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPkAAAD5AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA+QAAAPUAAAD5AAAA+QAA
|
||||
APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAA
|
||||
APkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD5AAAA+QAAAPkAAAD1AAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAoAAAAMAAAAGAAAAABACAAAAAAAIAlAAAAAAAAAAAAAAAAAAAAAAAAAAAA7wAAAPcAAAD3AAAA9wAA
|
||||
APcAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AAAA9wAA
|
||||
APcAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AAAA9wAA
|
||||
APcAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAAD3AAAA9wAAAPcAAADvAAAA+wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD7AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAT/AgIR/wQDG/8EAxr/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AwMZ/wQDHP8CAhL/AAAF/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AwIY/woIRP8PDGv/FhKY/xoUsf8bFbP/BQQj/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EAx7/GhWx/xoU
|
||||
s/8WEpn/EAxt/woIRv8EAxr/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEBCP8LCU//GhSz/x8Z1v8fGdb/HxjU/x8Z1f8hGt//GBOk/wMC
|
||||
Ff8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIC
|
||||
Ef8XEpz/IRrh/x8Z1f8fGNT/HxnW/x8Z1/8aFbb/CwlT/wEBC/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/CAY4/xkUrf8iG+j/HxjS/x4Yyv8eGMv/HhjL/x4Y
|
||||
zv8fGNL/IRrk/xEOev8BAAf/AAAB/wEBCf8CAhT/BAMe/wUEJP8FBCf/BQQn/wUEJP8EAx7/AgIU/wEB
|
||||
Cf8AAAH/AAAG/xENcv8iG+H/HxnS/x4Yzv8eGMv/HhjL/x0Xyv8fGNH/Ihvp/xoUsv8IBzz/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8HBjP/HhjK/yAa3f8eGMz/HhfM/x4Y
|
||||
zP8dF8r/HxjU/x8Z1v8XEp7/CwhL/wUEJf8HBjT/DApX/xIPfP8XEp7/GhW1/xwWvv8cF8P/HBbD/xwW
|
||||
vv8bFbb/FxKf/xIOfv8NCln/BwY1/wUEJf8LCEn/FhKa/x8Z1f8fGdX/HRfK/x4XzP8dF8z/HhjM/yAa
|
||||
3f8eGM7/CAY4/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wUEKf8cFr7/HxnX/x4Y
|
||||
y/8eGMv/HhjM/x0Yyv8fGdb/HRfM/w0KV/8EAxv/Dgth/xcTpP8eGM7/HxnW/x8Z1f8fGNT/HxnV/x8Z
|
||||
1P8fGNP/HxjT/x8Z1P8fGdX/HxjV/x8Z1f8fGdb/HhjP/xgTpv8OC2T/BAMc/wwJUv8dF8j/HxnX/x0X
|
||||
yv8eGMz/HhjL/x4Yy/8fGdb/HBfC/wYFLv8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAC/xAM
|
||||
bP8gGdr/HhjK/x4YzP8eGMz/HhjM/x8Y0/8bFrv/CQc//xIOev8fGNL/IRvm/x8Z1f8eGMv/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x0XzP8eGMz/HhjM/x0XzP8eGMz/HhjL/x8Y1P8hG+b/HxjU/xIO
|
||||
f/8JBz3/GhW3/x8Y0/8eGMz/HhjM/x0XzP8eGMv/IBnZ/xEOdv8AAAX/AAAA/wAAAP8AAAD3AAAA9QAA
|
||||
AP8AAAD/AAAB/w4LYv8fGdX/HhfM/x4YzP8dF8z/HhfN/x4XzP8XE6D/GhW3/yAa3P8eGNL/HhfL/x4Y
|
||||
zP8eF83/HhfM/x4YzP8eF8z/HhfM/x4YzP8eF8z/HhfM/x4XzP8dF8z/HhfM/x4XzP8dF8z/HhfN/x4X
|
||||
zP8dF8v/HxjS/yAa3P8bFbr/FxKe/x0Xyv8eGM3/HhfM/x4XzP8dF8z/HxnU/xAMbP8AAAT/AAAA/wAA
|
||||
AP8AAAD3AAAA9QAAAP8AAAD/AAAA/w0KWP8fGdX/HhjM/x0YzP8eGMz/HhjM/x4Xy/8eGM7/HxjS/x4Y
|
||||
zP8eGMv/HhjO/yAa4P8hGuH/IRrj/yAZ2/8dGMv/HhjM/x0Xy/8eGMz/HhjM/x4YzP8eGMz/HhjL/yAZ
|
||||
2v8hGuL/IRrh/yEa4f8eGM7/HhjL/x4YzP8fGNL/HhjO/x4Yy/8eGMv/HhjM/x4YzP8eGMz/HxnV/w4L
|
||||
YP8AAAH/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wsJTf8fGdb/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x0Xy/8eGNH/HRfI/xAMb/8IBjf/CQhD/xURkf8fGdb/HRfL/x4Yy/8eGMz/HhjM/x0X
|
||||
y/8dF8v/HxnW/xURlf8KCEX/BwY2/w8Ma/8dF8X/HhjS/x0Xy/8eGMz/HhjM/x0XzP8eGMz/HhjM/x0X
|
||||
zP8eGMz/HxnW/wwJU/8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wkHQP8fGNT/HhfM/x4Y
|
||||
zP8dF8z/HhfM/x4YzP8dF8z/HhfM/x4Y0P8fGdn/CQc+/wAAAv8AAAD/AAAA/wICEP8SDnv/IRrf/x4Y
|
||||
y/8eF8z/HhfM/x4Xy/8gGt//Ew+D/wICEv8AAAD/AAAA/wAAAP8IBjr/HxnW/x4Y0f8dF8z/HhfM/x4X
|
||||
zP8dF8z/HhfM/x4XzP8dF8z/HxnV/woIRv8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wcF
|
||||
Mf8dF83/HhjM/x0YzP8eGMz/HhjM/x0YzP8eGMz/HhjM/yAa3f8WEpj/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8CAQ//HhjM/x8Y0/8eGMz/HhjM/x4Y0f8eGNH/AgIT/wAAAP8AAAD/AAAA/wAAAP8AAAD/FRGP/yAZ
|
||||
3f8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjQ/wgGNv8AAAD/AAAA/wAAAP8AAAD3AAAA9QAA
|
||||
AP8AAAD/AAAA/wQDHf8bFrr/HhjO/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x8Z2f8NC17/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/FhKd/yAa3v8eGMz/HhjM/yAZ3P8YE6b/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/DApU/x8Z1/8eGM3/HhjM/x0XzP8eGMz/HhjM/x0XzP8eGM3/HBbA/wUEIv8AAAD/AAAA/wAA
|
||||
AP8AAAD3AAAA9QAAAP8AAAD/AAAA/wEBCf8XEpv/HxnV/x4YzP8dF8z/HhfM/x4YzP8dF8z/HhfM/yAZ
|
||||
2/8ODGj/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/GBOm/yAZ3P8eF8z/HhfM/yAZ2v8aFK7/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/Dgtf/yAZ2f8eGM3/HhfM/x4XzP8dF8z/HhfM/x4XzP8fGdP/GBOk/wIB
|
||||
Dv8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8RDXb/IRri/x0YzP8eGMz/HhjM/x0Y
|
||||
zP8eGMz/HhjM/yAZ2/8YE6X/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAhb/HxjW/x4Y0f8eGMz/HhjM/x4Y
|
||||
0P8gGdr/BAMd/wAAAP8AAAD/AAAA/wAAAP8AAAD/FxKc/yAa3P8eGMv/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8hGt//Eg9//wAAAf8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8JB0H/Ihvn/x4Y
|
||||
zP8eGMv/HhjL/x4YzP8eGMv/HhjM/x4Yy/8hGuH/EA1v/wMCFf8AAAT/AQAH/wUEJP8YE6X/IBnb/x4Y
|
||||
y/8eGMz/HhjM/x4Yy/8gGdn/GRSr/wUEKP8BAAj/AAAE/wICFP8PDGf/IRrh/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4Yy/8iG+j/CwlK/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAA
|
||||
AP8DAhX/HxnV/x4Y0f8eGMz/HhjM/x4YzP8eGMz/HhjM/x0Xy/8eGM7/HxnV/xcSnP8QDGz/EQ12/xoU
|
||||
s/8fGdj/HRfK/x0Xy/8eGMz/HRfL/x4YzP8dF8r/HxnX/xoVtv8RDnn/Dwxr/xYRmf8fGdT/HhjO/x4Y
|
||||
y/8eGMz/HRfL/x4YzP8eGMz/HRfL/x4Yz/8fGdn/BAMc/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAH/GhWz/yAZ2/8eGMv/HhjM/x4YzP8eGMz/HRfM/x4YzP8eGMv/HhjO/x8Z
|
||||
1P8fGdX/HxnV/x4Y0/8eGMz/HRfL/x4YzP8eGMz/HhjM/x4XzP8eGMz/HhfM/x4Y0v8fGdT/HxnV/x8Y
|
||||
1P8eGM7/HhjL/x4XzP8eGMz/HhjM/x4XzP8eGMz/HhjL/yAZ2f8bFrr/AAAC/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/EAxs/yAZ3P8eGMz/HhjL/x4YzP8eGMv/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/yAa3v8RDXb/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/BwYz/x4Yzf8eGNH/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x0Xy/8eGMz/HhjM/x0Xy/8eGMz/HhjM/x0Xy/8eGMz/HhjM/x0Xy/8eGMz/HRfL/x4Y
|
||||
zP8eGMz/HRfL/x4YzP8eGMz/HRfL/x4YzP8eGMz/HRfL/x4YzP8eGMz/HRfL/x4YzP8eGMz/HhjQ/x4Y
|
||||
z/8IBjn/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AwMZ/xkU
|
||||
rP8fGdX/HhjM/x4YzP8eGMz/HRfM/x4YzP8eGMz/HRfM/x4YzP8eGMz/HRfM/x4YzP8eGMz/HRfM/x4Y
|
||||
zP8eGMz/HhjM/x4XzP8eGMz/HhjM/x4XzP8eGMz/HhjM/x4XzP8eGMz/HhjM/x4XzP8eGMz/HhjM/x4X
|
||||
zP8eGMz/HxnU/xoUsv8EAxz/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAB/w4LXf8gGdj/HhjL/x4YzP8eGMv/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMv/HxnX/w4LZf8AAAL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wYFKv8dF8n/HhjN/x4YzP8eGMz/HhjM/x0Xy/8eGMz/HhjM/x0X
|
||||
y/8eGMz/HhjM/x0Xy/8eGMz/HhjM/x0Xy/8eGMz/HRfL/x4YzP8eGMz/HRfL/x4YzP8eGMz/HRfL/x4Y
|
||||
zP8eGMz/HRfL/x4YzP8eGMz/HRfL/x4YzP8eGMz/HhjN/wcGMP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAABf8TD4X/IBrg/x4Yzf8fGdf/HRfL/x4Y
|
||||
y/8eGMz/HRfM/x4YzP8eGMz/HRfM/x4YzP8eGMz/HRfM/x4YzP8eGMz/HhjM/x4XzP8eGMz/HhjM/x4X
|
||||
zP8eGMz/HhjM/x4XzP8eGMz/HhjM/x4Xy/8eGMr/HxnX/x4Xzv8gGt3/FRCP/wAABv8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8DAxz/IBrg/xwW
|
||||
vf8VEZP/HRfI/x8Y0/8fGdT/HhjP/x4YzP8eGMv/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjL/x4YzP8eGM7/HxnU/x8Y0/8dF8r/FRGU/xsWuv8hG+T/BQQj/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/EA1u/x8Z0f8cFrz/Dgtj/xANcf8YFKf/HhjS/yAZ3P8gGtz/HxjT/x4Yz/8eGM3/HhjM/x0X
|
||||
y/8eGMz/HRfL/x4YzP8eGMz/HhfN/x4Yz/8fGNP/IBrc/yAa3P8eGNL/GRSp/xENdP8OC2H/Gxa5/yAZ
|
||||
0v8RDnb/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AQEJ/woISf8aFbL/IRvX/xURkv8HBjT/CAY3/w8Maf8YE6T/HRjK/x8Z
|
||||
2f8gGuH/IRvm/yIb6P8hG+f/IRvn/yIb6P8hG+b/IBri/x8Z2v8dGMr/GBOm/w8MbP8IBjj/BwUz/xQQ
|
||||
jf8hGtX/GxW3/wsJTf8BAQv/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/CwlQ/xkUqf8hGtv/FhKb/wsJ
|
||||
TP8GBSr/AwIV/wQDH/8HBjT/CghE/wsJT/8MClb/DApW/wsJT/8KCEX/BwY1/wQDIP8DAhT/BgUp/wsJ
|
||||
Sf8WEZb/IRrc/xoVrP8MClT/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wIB
|
||||
Df8IBjn/Eg9z/xcTk/8XEpX/Dw1X/wEBBf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wEB
|
||||
BP8ODFH/FxKV/xcTlP8SD3T/CAc7/wIBDv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAC/wICEP8FBCD/BQQb/wAAAv8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAv8EBBn/BQQh/wMCEP8AAAL/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA9QAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD3AAAA+wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD7AAAA7wAAAPUAAAD1AAAA9QAAAPUAAAD1AAAA9QAAAPUAAAD1AAAA9QAAAPUAAAD1AAAA9QAA
|
||||
APUAAAD1AAAA9QAAAPUAAAD1AAAA9QAAAPUAAAD1AAAA9QAAAPUAAAD1AAAA9QAAAPUAAAD1AAAA9QAA
|
||||
APUAAAD1AAAA9QAAAPUAAAD1AAAA9QAAAPUAAAD1AAAA9QAAAPUAAAD1AAAA9QAAAPUAAAD1AAAA9QAA
|
||||
APUAAAD1AAAA9QAAAPUAAADvAAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA
|
||||
AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA
|
||||
//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA
|
||||
AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA
|
||||
//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAA
|
||||
AAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//AAAAAAAA
|
||||
//8AAAAAAAD//wAAAAAAAP//AAAAAAAA//8AAAAAAAD//wAAAAAAAP//KAAAAEAAAACAAAAAAQAgAAAA
|
||||
AAAAQgAAAAAAAAAAAAAAAAAAAAAAAAAAAOUAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAA
|
||||
APMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAA
|
||||
APMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAA
|
||||
APMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAA
|
||||
APMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAOUAAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA
|
||||
APMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
APMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8EAxj/CghA/w4L
|
||||
Xf8TD4D/Dwxj/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/w4LXP8TEIP/Dgtf/woI
|
||||
Qv8EAxv/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/BAMc/xAN
|
||||
bf8YE6X/HhjP/yIb6P8jHPD/JR35/yce//8OC1//AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wwK
|
||||
Uv8mHv//JR37/yMc8f8iG+j/HxnR/xkUqP8RDXH/BQQh/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8EAxj/FBCF/yAZ1/8kHff/Ihzr/yAZ2P8eGM7/HhjM/x4Yyf8gGtn/JBzx/wkHOf8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wcGLv8jHOz/IRrd/x4Yyf8eGMz/HhjO/yAZ1/8iG+n/JB33/yAa2/8UEIv/BAMe/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8NClf/IBrZ/yUd+v8gGdn/HhjK/x4Yy/8eGMz/HhjM/x4YzP8eGMr/HhjJ/yYe
|
||||
//8lHvz/BgUq/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wUEIv8kHfL/Jx///x4Yyv8eGMr/HhjM/x4YzP8eGMz/HhjL/x4Y
|
||||
yv8gGdf/JR35/yEa3v8OC2D/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UEIT/JR36/yEb4f8dGMj/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
y/8eGMn/Ihvp/yMc7/8ZFKr/Dgth/wAAAP8AAAD/AAAA/wMCEv8IBzb/DQtZ/xEOdf8UEIn/FxKY/xgT
|
||||
oP8YE6D/FxKY/xQQiv8SDnf/DQtb/wgHOP8DAhT/AAAA/wAAAP8AAAD/Dgtc/xkUpv8jHO3/Ihzr/x4Y
|
||||
yv8eGMv/HhjM/x4YzP8eGMz/HhjM/x0YyP8hGt7/JR78/xURj/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8UEIr/Jh7+/x8Z0v8eGMr/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x0YyP8fGdX/JR35/xoVsP8HBi//AAAA/wAAAP8IBjX/Eg55/xgTov8dGMj/IRvj/yMc
|
||||
8P8kHPL/Ixzu/yMc6/8iG+j/Ihvo/yMc6/8jHO7/JBzy/yMc8P8iG+T/HhjK/xgTpf8SD3v/CQc6/wAA
|
||||
AP8AAAD/BgUo/xkUqf8lHfn/IBnX/x0YyP8eGMz/HhjM/x4YzP8eGMz/HhjK/x4Y0P8lHv7/FhKX/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8QDW//Jh7//x4Z
|
||||
z/8eGMr/HhjM/x4YzP8eGMz/HhjM/x0YyP8hG+H/Ihvr/w4LW/8AAAD/AgEO/xANbv8bFrz/Ihzp/yQd
|
||||
9P8iG+n/IBra/x8Y0P8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjQ/yAa
|
||||
2f8iG+j/JB30/yMc6/8cF7//EQ1z/wMCE/8AAAD/DApR/yIb5/8iG+T/HRfH/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMv/HhjN/yYe//8SD3v/AAAB/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAA
|
||||
AP8CAQr/HxnT/yEa4P8eGMr/HhjM/x4YzP8eGMz/HhjM/x4Yy/8hGt7/HhjL/wcFLf8DAxf/FhGS/yIb
|
||||
5P8kHfX/IRvi/x4Yzv8eGMv/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Yy/8eGM7/IRrg/yQd9f8iG+b/FxKZ/wQDHP8GBST/HRfE/yEa
|
||||
4P8eGMr/HhjM/x4YzP8eGMz/HhjM/x4Yy/8gGtv/IRrc/wMDFP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA
|
||||
APMAAAD/AAAA/wAAAP8AAAD/AgEK/xwXw/8gGtv/HhjM/x4YzP8eGMz/HhjM/x4YzP8fGNH/HxnT/w8M
|
||||
Zf8PDWj/Ihvn/yMc8P8fGdL/HhjK/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMr/HxjR/yMc
|
||||
7/8iHOr/EQ1x/w4MYP8eGM//HxnS/x4YzP8eGMz/HhjM/x4YzP8eGMz/IBrY/x4Yy/8DAxb/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAAA/8bFrn/IRrf/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HxjQ/xwWvf8cF8H/Ixzu/x8Z0f8eGMr/HhjM/x4YzP8eGMz/HhjN/x4Yz/8eGM7/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGM7/HhjP/x4Y
|
||||
zf8eGMz/HhjM/x4YzP8eGMr/HxjP/yMc7v8dF8P/Gxa6/x8Z0P8eGMz/HhjM/x4YzP8eGMz/HhjM/yAa
|
||||
2/8dF8P/AgEM/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/GhWu/yEb
|
||||
4/8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Yy/8fGND/HxnU/x4Yy/8eGMz/HhjM/x4Yy/8eGMn/IRrg/yMc
|
||||
7/8iG+b/Ihvp/yMc7v8fGdP/HRjI/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjJ/x8Z
|
||||
0f8jHO3/Ihvp/yIb5v8jHO7/IRvi/x4Yyf8eGMv/HhjM/x4YzP8eGMv/HxnU/x8Z0P8eGMr/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8hGt//Gxa5/wAAA/8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/xgToP8iG+n/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
y/8eGMr/Ixzt/xwWv/8PDGn/CghA/wsJSf8UEIv/Ihvj/yEa4P8dF8f/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HRfI/yAa3f8iG+b/FRGQ/wsJTP8JCED/Dwxk/xsWuf8jHO7/HhjM/x4Yy/8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/IRvl/xkUq/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
APMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8VEY3/Ixzu/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8dF8j/Ixzw/xgUpf8BAQj/AAAA/wAAAP8AAAD/AAAA/woIQP8hGuD/IBrb/x4Y
|
||||
yv8eGMz/HhjM/x4YzP8eGMz/HhjL/yAZ2P8iG+T/CwlJ/wAAAP8AAAD/AAAA/wAAAP8AAAP/FxKa/yMc
|
||||
8P8dGMn/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/yMc6/8WEpn/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/EQ51/yMc8v8eGMz/HhjM/x4Y
|
||||
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
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjL/yQd9f8RDnH/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8HBjL/Ihvk/x8Y0P8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Yyv8fGdX/Ixzu/xQQhP8GBSn/AgEL/wMCEf8LCEf/HBa+/yMc
|
||||
7f8dF8j/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HRfH/yMc6/8dF8X/CwlM/wMCFP8CAQv/BQQm/xIO
|
||||
fP8jHOz/IBnY/x4Yyf8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Yzv8iHOr/CQc9/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AQEI/x0X
|
||||
xv8gGtz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjJ/x8Y0P8jHO7/IBnX/x0X
|
||||
wv8dF8b/Ihvn/yEb5P8dF8j/HhjL/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8dF8f/IRrh/yIb
|
||||
6f8dGMj/HBfB/x8Z1f8jHO//HxnS/x4Yyf8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8gGdj/HhjO/wICD/8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8WEpT/Ixzw/x4Yy/8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjL/x8Z1P8gGtz/IBra/x4Yz/8eGMv/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4Yy/8eGM7/IBrZ/yAa3P8fGdX/HhjL/x4Yy/8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMv/Ixzs/xgToP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA
|
||||
APMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/DApT/yQc8/8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjL/yQd9v8OC2D/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wMCEP8fGdH/IBnY/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x8Z1f8gGtn/BAMa/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/FxKc/yMc7/8eGMv/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
y/8jHOv/GRSm/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wwKUv8kHfX/HhjL/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMr/JR33/w4LYP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
APMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQf/HhjI/yEa3f8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/IBrY/x8Y0v8CAg//AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xMP
|
||||
gf8lHfj/HhjK/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjK/yQd9f8UEYz/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8GBSn/Ihzp/x8Y0f8eGMz/HhjN/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zv8jHO//CAc1/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/xcSnP8jHPH/HRfF/yAZ1/8gGt3/HhjL/x4Y
|
||||
y/8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjL/x4Y
|
||||
yv8gGtz/IBnZ/x0Xxf8jHO3/GRSp/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8HBjP/JB35/x8Z
|
||||
0v8WEZT/FxOe/yMc7f8iG+f/HhjO/x4Yyv8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMr/HhjN/yIb5f8jHO//GBOj/xURkf8eGM7/JR79/woIQP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/xcTnf8oIP//HBa+/w8MY/8LCU3/FhKX/yIb5v8kHfP/IBrd/x4Yz/8eGMv/HhjM/x4Y
|
||||
zP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zP8eGMz/HhjL/x4Yzv8gGtv/JB3y/yIb6f8XEp3/DAlP/w4LX/8bFrf/KCD//xkUqv8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8BAQX/FRGM/yYf//8mHv//Eg9+/wUEJf8GBCb/EQ5y/x0X
|
||||
wv8iG+b/JB3z/yMc7P8hGt7/HxnV/x8Y0P8eGM7/HhjN/x4YzP8eGMz/HhjM/x4YzP8eGMz/HhjM/x4Y
|
||||
zf8eGM7/HxjQ/x8Z1P8hGt3/Ixzr/yQd8/8iG+f/HRfF/xIOeP8GBSn/BQQj/xEOdv8lHv7/Jx///xYR
|
||||
lf8CAQr/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8JCEH/Gxa3/ykh
|
||||
//8lHfj/EQ51/wIBDf8AAAD/BAMZ/w4LYv8XEpr/HBe//x8Z1f8hG+P/Ihvq/yMc7v8kHPL/JBzy/yMc
|
||||
8P8jHPD/Ixzy/yQd8v8jHO7/Ihzq/yEb5P8fGdb/HBfA/xcTnf8PDGb/BAMd/wAAAP8BAQr/EA1t/yQc
|
||||
8v8qIf//HBa+/wsJSP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8MClP/GhW0/ygg//8mHv//FxOh/wcFMf8AAAD/AAAA/wAAAP8EAxz/CAc4/wsJ
|
||||
S/8NC1n/Dwxl/xANb/8RDnX/EQ51/xANb/8PDGb/DQta/wsJTP8IBzn/BAMf/wAAAP8AAAD/AAAA/wYF
|
||||
K/8WEZr/Jh7//ykg//8bFrr/DQtY/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8IBzb/FBCG/yEc1f8mH/f/IBrX/xcS
|
||||
mf8ODFb/AAEA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8OC1D/FhKW/yAa1P8mH/f/IhzY/xURi/8JBzr/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAQD/BwYj/xAOXf8XE47/GRWL/wUFFf8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8EBBD/GBSF/xcTkf8RDmH/CAcm/wEBAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAA
|
||||
APMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
APMAAADzAAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAADzAAAA8wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA8wAAAPMAAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAPMAAADzAAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADzAAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAA
|
||||
AP8AAAD/AAAA/wAAAOUAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAA
|
||||
APMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAA
|
||||
APMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAA
|
||||
APMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAAAPMAAADzAAAA8wAA
|
||||
APMAAADzAAAA8wAAAPMAAADzAAAA8wAAAOUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,19 +0,0 @@
|
|||
using System;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace BetterDiscordWI
|
||||
{
|
||||
static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new FormMain());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("BetterDiscordWI")]
|
||||
[assembly: AssemblyDescription("Better Discord Windows Installer")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("Jiiks")]
|
||||
[assembly: AssemblyProduct("BetterDiscordWI")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2015-2016")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("17adafc9-c3e6-49c2-b2c9-d6866e7f4f23")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("0.2.8.0")]
|
||||
[assembly: AssemblyFileVersion("0.2.8.0")]
|
|
@ -1,103 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace BetterDiscordWI.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BetterDiscordWI.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap bd_logo_64x64 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("bd_logo_64x64", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap bd_logo_64x64_nobg {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("bd_logo_64x64_nobg", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap bd_logo_large_nobg {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("bd_logo_large_nobg", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap bd_logo2 {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("bd_logo2", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,133 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="bd_logo2" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\bd_logo2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="bd_logo_64x64" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\bd_logo_64x64.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="bd_logo_64x64_nobg" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\bd_logo_64x64_nobg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="bd_logo_large_nobg" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\bd_logo_large_nobg.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,26 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace BetterDiscordWI.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
Before Width: | Height: | Size: 170 KiB |
Before Width: | Height: | Size: 64 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 4.4 MiB |
|
@ -1,46 +0,0 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Net;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace BetterDiscordWI
|
||||
{
|
||||
class Utils
|
||||
{
|
||||
public void StartDownload(ProgressBar pb, string url, string name)
|
||||
{
|
||||
Thread t = new Thread(() =>
|
||||
{
|
||||
WebClient webClient = new WebClient {Headers = {["User-Agent"] = "Mozilla/5.0"}};
|
||||
webClient.DownloadProgressChanged += delegate(object sender, DownloadProgressChangedEventArgs args)
|
||||
{
|
||||
double percentage = (double.Parse(args.BytesReceived.ToString()) /double.Parse(args.TotalBytesToReceive.ToString())) * 100;
|
||||
Debug.Print(percentage.ToString());
|
||||
pb.Invoke((MethodInvoker) delegate
|
||||
{
|
||||
pb.Value = (int)Math.Truncate(percentage);
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
|
||||
webClient.DownloadFile(new Uri(url), Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + "\\BetterDiscord\\temp\\" + name);
|
||||
|
||||
});
|
||||
|
||||
t.Start();
|
||||
}
|
||||
|
||||
public static string GetHash()
|
||||
{
|
||||
WebClient wc = new WebClient {Headers = {["User-Agent"] = "Mozilla/5.0"}};
|
||||
string result = wc.DownloadString(@"https://api.github.com/repos/Jiiks/BetterDiscordApp/commits/master");
|
||||
|
||||
int start = result.IndexOf("{\"sha\":");
|
||||
int end = result.IndexOf("\",\"");
|
||||
|
||||
return result.Substring(start + 8, end - 8);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace BetterDiscordWI.components
|
||||
{
|
||||
class CTextBox : TextBox
|
||||
{
|
||||
|
||||
public bool CAutoSize
|
||||
{
|
||||
get { return AutoSize; }
|
||||
set { AutoSize = value; }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Newtonsoft.Json" version="7.0.1" targetFramework="net451" />
|
||||
</packages>
|
|
@ -1,8 +0,0 @@
|
|||
namespace BetterDiscordWI.panels {
|
||||
interface IPanel {
|
||||
void SetVisible();
|
||||
FormMain GetParent();
|
||||
void BtnNext();
|
||||
void BtnPrev();
|
||||
}
|
||||
}
|
|
@ -1,100 +0,0 @@
|
|||
namespace BetterDiscordWI.panels
|
||||
{
|
||||
partial class Panel0
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Panel0));
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.richTextBox1 = new System.Windows.Forms.RichTextBox();
|
||||
this.radioDeclineLicense = new System.Windows.Forms.RadioButton();
|
||||
this.radioAcceptLicense = new System.Windows.Forms.RadioButton();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(35, 18);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(455, 31);
|
||||
this.label2.TabIndex = 5;
|
||||
this.label2.Text = "Please read the following License Agreement and accept the terms before continuin" +
|
||||
"g the installation.";
|
||||
//
|
||||
// richTextBox1
|
||||
//
|
||||
this.richTextBox1.Location = new System.Drawing.Point(38, 54);
|
||||
this.richTextBox1.Name = "richTextBox1";
|
||||
this.richTextBox1.ReadOnly = true;
|
||||
this.richTextBox1.Size = new System.Drawing.Size(452, 169);
|
||||
this.richTextBox1.TabIndex = 4;
|
||||
this.richTextBox1.Text = resources.GetString("richTextBox1.Text");
|
||||
//
|
||||
// radioDeclineLicense
|
||||
//
|
||||
this.radioDeclineLicense.AutoSize = true;
|
||||
this.radioDeclineLicense.Checked = true;
|
||||
this.radioDeclineLicense.Location = new System.Drawing.Point(108, 229);
|
||||
this.radioDeclineLicense.Name = "radioDeclineLicense";
|
||||
this.radioDeclineLicense.Size = new System.Drawing.Size(61, 17);
|
||||
this.radioDeclineLicense.TabIndex = 8;
|
||||
this.radioDeclineLicense.TabStop = true;
|
||||
this.radioDeclineLicense.Text = "Decline";
|
||||
this.radioDeclineLicense.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// radioAcceptLicense
|
||||
//
|
||||
this.radioAcceptLicense.AutoSize = true;
|
||||
this.radioAcceptLicense.Location = new System.Drawing.Point(38, 229);
|
||||
this.radioAcceptLicense.Name = "radioAcceptLicense";
|
||||
this.radioAcceptLicense.Size = new System.Drawing.Size(59, 17);
|
||||
this.radioAcceptLicense.TabIndex = 7;
|
||||
this.radioAcceptLicense.Text = "Accept";
|
||||
this.radioAcceptLicense.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// Panel0
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.radioDeclineLicense);
|
||||
this.Controls.Add(this.radioAcceptLicense);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.richTextBox1);
|
||||
this.Name = "Panel0";
|
||||
this.Size = new System.Drawing.Size(524, 258);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.RichTextBox richTextBox1;
|
||||
private System.Windows.Forms.RadioButton radioDeclineLicense;
|
||||
private System.Windows.Forms.RadioButton radioAcceptLicense;
|
||||
}
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
using System.Windows.Forms;
|
||||
|
||||
namespace BetterDiscordWI.panels {
|
||||
public partial class Panel0 : UserControl, IPanel {
|
||||
public Panel0() {
|
||||
InitializeComponent();
|
||||
|
||||
radioAcceptLicense.CheckedChanged += (sender, args) => {
|
||||
GetParent().btnNext.Enabled = radioAcceptLicense.Checked;
|
||||
};
|
||||
}
|
||||
|
||||
public void SetVisible() {
|
||||
GetParent().btnBack.Visible = false;
|
||||
GetParent().btnNext.Enabled = false;
|
||||
GetParent().btnNext.Text = @"Next >";
|
||||
GetParent().lblPanelTitle.Text = @"BetterDiscord License Agreement";
|
||||
GetParent().btnNext.Enabled = radioAcceptLicense.Checked;
|
||||
}
|
||||
|
||||
public FormMain GetParent() {
|
||||
return (FormMain)ParentForm;
|
||||
}
|
||||
|
||||
public void BtnNext() {
|
||||
GetParent().SwitchPanel(1);
|
||||
}
|
||||
|
||||
public void BtnPrev() {}
|
||||
}
|
||||
}
|
|
@ -1,131 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<data name="richTextBox1.Text" xml:space="preserve">
|
||||
<value>Copyright (c) 2015 Jiiks
|
||||
|
||||
http://jiiks.net
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,152 +0,0 @@
|
|||
namespace BetterDiscordWI.panels
|
||||
{
|
||||
partial class Panel1
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.label1 = new System.Windows.Forms.Label();
|
||||
this.btnBrowser = new System.Windows.Forms.Button();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
this.label3 = new System.Windows.Forms.Label();
|
||||
this.cbRestart = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox1 = new System.Windows.Forms.CheckBox();
|
||||
this.checkBox2 = new System.Windows.Forms.CheckBox();
|
||||
this.tbPath = new BetterDiscordWI.components.CTextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.AutoSize = true;
|
||||
this.label1.Location = new System.Drawing.Point(20, 17);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(380, 13);
|
||||
this.label1.TabIndex = 0;
|
||||
this.label1.Text = "Setup will install BetterDiscord to the following location. Click Install to cont" +
|
||||
"inue.";
|
||||
//
|
||||
// btnBrowser
|
||||
//
|
||||
this.btnBrowser.Location = new System.Drawing.Point(406, 46);
|
||||
this.btnBrowser.Name = "btnBrowser";
|
||||
this.btnBrowser.Size = new System.Drawing.Size(75, 26);
|
||||
this.btnBrowser.TabIndex = 2;
|
||||
this.btnBrowser.Text = "Browse";
|
||||
this.btnBrowser.UseVisualStyleBackColor = true;
|
||||
this.btnBrowser.Click += new System.EventHandler(this.btnBrowser_Click);
|
||||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.AutoSize = true;
|
||||
this.label2.Location = new System.Drawing.Point(20, 75);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(422, 13);
|
||||
this.label2.TabIndex = 3;
|
||||
this.label2.Text = "*If the path is not pointing to the latest version of Discord then click browse a" +
|
||||
"nd select it.";
|
||||
//
|
||||
// label3
|
||||
//
|
||||
this.label3.AutoSize = true;
|
||||
this.label3.Location = new System.Drawing.Point(20, 91);
|
||||
this.label3.Name = "label3";
|
||||
this.label3.Size = new System.Drawing.Size(161, 13);
|
||||
this.label3.TabIndex = 5;
|
||||
this.label3.Text = "*Installer will kill Discord process.";
|
||||
//
|
||||
// cbRestart
|
||||
//
|
||||
this.cbRestart.AutoSize = true;
|
||||
this.cbRestart.Location = new System.Drawing.Point(23, 117);
|
||||
this.cbRestart.Name = "cbRestart";
|
||||
this.cbRestart.Size = new System.Drawing.Size(175, 17);
|
||||
this.cbRestart.TabIndex = 6;
|
||||
this.cbRestart.Text = "Restart Discord after installation";
|
||||
this.cbRestart.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// checkBox1
|
||||
//
|
||||
this.checkBox1.AutoSize = true;
|
||||
this.checkBox1.Location = new System.Drawing.Point(23, 140);
|
||||
this.checkBox1.Name = "checkBox1";
|
||||
this.checkBox1.Size = new System.Drawing.Size(137, 17);
|
||||
this.checkBox1.TabIndex = 7;
|
||||
this.checkBox1.Text = "Install to DiscordCanary";
|
||||
this.checkBox1.UseVisualStyleBackColor = true;
|
||||
this.checkBox1.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged);
|
||||
//
|
||||
// checkBox2
|
||||
//
|
||||
this.checkBox2.AutoSize = true;
|
||||
this.checkBox2.Location = new System.Drawing.Point(23, 163);
|
||||
this.checkBox2.Name = "checkBox2";
|
||||
this.checkBox2.Size = new System.Drawing.Size(436, 17);
|
||||
this.checkBox2.TabIndex = 8;
|
||||
this.checkBox2.Text = "Install to DiscordPTB (Can break at any time)(Installer will be updated frequentl" +
|
||||
"y for this)";
|
||||
this.checkBox2.UseVisualStyleBackColor = true;
|
||||
this.checkBox2.CheckedChanged += new System.EventHandler(this.checkBox2_CheckedChanged);
|
||||
//
|
||||
// tbPath
|
||||
//
|
||||
this.tbPath.CAutoSize = false;
|
||||
this.tbPath.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.tbPath.Location = new System.Drawing.Point(23, 46);
|
||||
this.tbPath.Name = "tbPath";
|
||||
this.tbPath.Size = new System.Drawing.Size(377, 26);
|
||||
this.tbPath.TabIndex = 4;
|
||||
//
|
||||
// Panel1
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.checkBox2);
|
||||
this.Controls.Add(this.checkBox1);
|
||||
this.Controls.Add(this.cbRestart);
|
||||
this.Controls.Add(this.label3);
|
||||
this.Controls.Add(this.tbPath);
|
||||
this.Controls.Add(this.label2);
|
||||
this.Controls.Add(this.btnBrowser);
|
||||
this.Controls.Add(this.label1);
|
||||
this.Name = "Panel1";
|
||||
this.Size = new System.Drawing.Size(524, 258);
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Label label1;
|
||||
private System.Windows.Forms.Button btnBrowser;
|
||||
private System.Windows.Forms.Label label2;
|
||||
private System.Windows.Forms.Label label3;
|
||||
private System.Windows.Forms.CheckBox cbRestart;
|
||||
internal components.CTextBox tbPath;
|
||||
private System.Windows.Forms.CheckBox checkBox1;
|
||||
private System.Windows.Forms.CheckBox checkBox2;
|
||||
}
|
||||
}
|
|
@ -1,90 +0,0 @@
|
|||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace BetterDiscordWI.panels {
|
||||
public partial class Panel1: UserControl, IPanel {
|
||||
public Panel1() {
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetVisible() {
|
||||
|
||||
GetParent().btnBack.Visible = true;
|
||||
GetParent().btnNext.Enabled = true;
|
||||
GetParent().btnBack.Enabled = true;
|
||||
GetParent().btnNext.Text = @"Install";
|
||||
GetParent().lblPanelTitle.Text = @"BetterDiscord Installation";
|
||||
|
||||
PickVersion();
|
||||
}
|
||||
|
||||
public FormMain GetParent() {
|
||||
return (FormMain)ParentForm;
|
||||
}
|
||||
|
||||
public void BtnNext() {
|
||||
GetParent().DiscordPath = tbPath.Text;
|
||||
GetParent().RestartDiscord = cbRestart.Checked;
|
||||
GetParent().SwitchPanel(2);
|
||||
}
|
||||
|
||||
public void BtnPrev() {
|
||||
GetParent().SwitchPanel(0);
|
||||
}
|
||||
|
||||
private void btnBrowser_Click(object sender, EventArgs e) {
|
||||
FolderBrowserDialog fbd = new FolderBrowserDialog { SelectedPath = tbPath.Text };
|
||||
fbd.ShowDialog(GetParent());
|
||||
|
||||
tbPath.Text = fbd.SelectedPath;
|
||||
}
|
||||
|
||||
private void checkBox1_CheckedChanged(object sender, EventArgs e) {
|
||||
PickVersion();
|
||||
}
|
||||
|
||||
private void checkBox2_CheckedChanged(object sender, EventArgs e) {
|
||||
PickVersion();
|
||||
}
|
||||
|
||||
private void PickVersion() {
|
||||
string dirPath;
|
||||
if(checkBox1.Checked) {
|
||||
dirPath = $"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\\DiscordCanary";
|
||||
if(!Directory.Exists(dirPath)) checkBox1.Checked = false;
|
||||
|
||||
checkBox2.Checked = false;
|
||||
} else if(checkBox2.Checked) {
|
||||
dirPath = $"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\\DiscordPTB";
|
||||
if(!Directory.Exists(dirPath)) checkBox2.Checked = false;
|
||||
|
||||
checkBox1.Checked = false;
|
||||
} else {
|
||||
dirPath = $"{Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)}\\Discord";
|
||||
}
|
||||
|
||||
if (!Directory.Exists(dirPath)) return;
|
||||
string[] directories = Directory.GetDirectories(dirPath);
|
||||
|
||||
string highestVersion = null;
|
||||
|
||||
foreach(string s in directories) {
|
||||
Debug.Print(s);
|
||||
if(!s.Contains("app-"))
|
||||
continue;
|
||||
if(string.IsNullOrEmpty(highestVersion)) {
|
||||
highestVersion = s;
|
||||
continue;
|
||||
}
|
||||
|
||||
if(string.CompareOrdinal(s, highestVersion) > 0) {
|
||||
highestVersion = s;
|
||||
}
|
||||
}
|
||||
|
||||
tbPath.Text = highestVersion;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,120 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -1,67 +0,0 @@
|
|||
namespace BetterDiscordWI.panels
|
||||
{
|
||||
partial class Panel2
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
this.pbMain = new System.Windows.Forms.ProgressBar();
|
||||
this.rtLog = new System.Windows.Forms.RichTextBox();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// pbMain
|
||||
//
|
||||
this.pbMain.Location = new System.Drawing.Point(3, 267);
|
||||
this.pbMain.Name = "pbMain";
|
||||
this.pbMain.Size = new System.Drawing.Size(518, 16);
|
||||
this.pbMain.TabIndex = 0;
|
||||
//
|
||||
// rtLog
|
||||
//
|
||||
this.rtLog.Location = new System.Drawing.Point(3, 3);
|
||||
this.rtLog.Name = "rtLog";
|
||||
this.rtLog.Size = new System.Drawing.Size(518, 252);
|
||||
this.rtLog.TabIndex = 1;
|
||||
this.rtLog.Text = "";
|
||||
//
|
||||
// Panel2
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.Controls.Add(this.rtLog);
|
||||
this.Controls.Add(this.pbMain);
|
||||
this.Name = "Panel2";
|
||||
this.Size = new System.Drawing.Size(524, 258);
|
||||
this.ResumeLayout(false);
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.ProgressBar pbMain;
|
||||
private System.Windows.Forms.RichTextBox rtLog;
|
||||
}
|
||||
}
|
|
@ -1,310 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics;
|
||||
using System.IO;
|
||||
using System.IO.Compression;
|
||||
using System.Linq;
|
||||
using System.Net;
|
||||
using System.Threading;
|
||||
using System.Windows.Forms;
|
||||
using asardotnet;
|
||||
|
||||
namespace BetterDiscordWI.panels {
|
||||
public partial class Panel2: UserControl, IPanel {
|
||||
private string _dataPath, _tempPath;
|
||||
private Utils _utils;
|
||||
|
||||
public Panel2() {
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
public void SetVisible() {
|
||||
GetParent().btnBack.Enabled = false;
|
||||
GetParent().btnNext.Enabled = false;
|
||||
GetParent().btnBack.Visible = false;
|
||||
GetParent().btnNext.Visible = false;
|
||||
GetParent().btnCancel.Enabled = false;
|
||||
|
||||
_utils = new Utils();
|
||||
|
||||
KillProcessIfInstalling("Discord");
|
||||
KillProcessIfInstalling("DiscordCanary");
|
||||
KillProcessIfInstalling("DiscordPTB");
|
||||
|
||||
CreateDirectories();
|
||||
}
|
||||
|
||||
private void KillProcessIfInstalling(string app) {
|
||||
if (!GetParent().DiscordPath.Contains(app + "\\")) return;
|
||||
AppendLog("Killing " + app);
|
||||
foreach(var process in Process.GetProcessesByName(app)) {
|
||||
process.Kill();
|
||||
}
|
||||
}
|
||||
|
||||
private void CreateDirectories() {
|
||||
Thread t = new Thread(() => {
|
||||
_dataPath = $"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\\BetterDiscord";
|
||||
_tempPath = $"{_dataPath}\\temp";
|
||||
AppendLog("Deleting old cached files");
|
||||
try {
|
||||
if(File.Exists($"{_dataPath}\\emotes_bttv.json")) {
|
||||
File.Delete($"{_dataPath}\\emotes_bttv.json");
|
||||
}
|
||||
if(File.Exists($"{_dataPath}\\emotes_bttv_2.json")) {
|
||||
File.Delete($"{_dataPath}\\emotes_bttv_2.json");
|
||||
}
|
||||
if(File.Exists($"{_dataPath}\\emotes_ffz.json")) {
|
||||
File.Delete($"{_dataPath}\\emotes_ffz.json");
|
||||
}
|
||||
if(File.Exists($"{_dataPath}\\emotes_twitch_global.json")) {
|
||||
File.Delete($"{_dataPath}\\emotes_twitch_global.json");
|
||||
}
|
||||
if(File.Exists($"{_dataPath}\\emotes_twitch_subscriber.json")) {
|
||||
File.Delete($"{_dataPath}\\emotes_twitch_subscriber.json");
|
||||
}
|
||||
if(File.Exists($"{_dataPath}\\user.json")) {
|
||||
File.Delete($"{_dataPath}\\user.json");
|
||||
}
|
||||
} catch(Exception e) { AppendLog("Failed to delete one or more cached files"); }
|
||||
|
||||
if(Directory.Exists(_tempPath)) {
|
||||
AppendLog("Deleting temp path");
|
||||
Directory.Delete(_tempPath, true);
|
||||
}
|
||||
|
||||
while(Directory.Exists(_tempPath)) {
|
||||
Debug.Print("Waiting for dirdel");
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
|
||||
Directory.CreateDirectory(_tempPath);
|
||||
|
||||
DownloadResource("BetterDiscord.zip", "https://github.com/Jiiks/BetterDiscordApp/archive/stable16.zip");
|
||||
|
||||
while(!File.Exists($"{_tempPath}\\BetterDiscord.zip")) {
|
||||
Debug.Print("Waiting for download");
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
|
||||
AppendLog("Extracting BetterDiscord");
|
||||
|
||||
ZipArchive zar =
|
||||
ZipFile.OpenRead($"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\\BetterDiscord\\temp\\BetterDiscord.zip");
|
||||
zar.ExtractToDirectory($"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\\BetterDiscord\\temp\\");
|
||||
|
||||
DeleteDirs();
|
||||
});
|
||||
t.Start();
|
||||
|
||||
}
|
||||
|
||||
|
||||
private void DeleteDirs() {
|
||||
int errors = 0;
|
||||
Thread t = new Thread(() => {
|
||||
string dir = $"{GetParent().DiscordPath}\\resources\\app";
|
||||
|
||||
if(Directory.Exists(dir)) {
|
||||
try {
|
||||
AppendLog("Deleting " + dir);
|
||||
Directory.Delete(dir, true);
|
||||
} catch {
|
||||
AppendLog($"Error: Failed to Delete the '{dir}\\resources\\app' Directory.");
|
||||
errors = 1;
|
||||
Finalize(errors);
|
||||
}
|
||||
}
|
||||
|
||||
while(Directory.Exists(dir)) {
|
||||
Debug.Print("Waiting for direl");
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
|
||||
if (!Directory.Exists($"{GetParent().DiscordPath}\\resources\\node_modules\\")) {
|
||||
Debug.Print("node_modules doesn't exist, creating");
|
||||
AppendLog("node_modules doesn't exist, creating");
|
||||
Directory.CreateDirectory($"{GetParent().DiscordPath}\\resources\\node_modules\\");
|
||||
}
|
||||
|
||||
dir = $"{GetParent().DiscordPath}\\resources\\node_modules\\BetterDiscord";
|
||||
|
||||
|
||||
if(Directory.Exists(dir)) {
|
||||
AppendLog($"Deleting {dir}");
|
||||
Directory.Delete(dir, true);
|
||||
}
|
||||
|
||||
while(Directory.Exists(dir)) {
|
||||
Debug.Print("Waiting for direl");
|
||||
Thread.Sleep(100);
|
||||
}
|
||||
|
||||
AppendLog("Extracting app.asar");
|
||||
string appAsarPath = $"{GetParent().DiscordPath}\\resources\\app.asar";
|
||||
|
||||
if(File.Exists(appAsarPath)) {
|
||||
AsarArchive archive = new AsarArchive(appAsarPath);
|
||||
AsarExtractor extractor = new AsarExtractor();
|
||||
extractor.ExtractAll(archive, $"{GetParent().DiscordPath}\\resources\\app\\");
|
||||
} else {
|
||||
AppendLog("Error: app.asar file couldn't be found in 'resources' folder. Installation cannot Continue.");
|
||||
errors = 1;
|
||||
Finalize(errors);
|
||||
}
|
||||
|
||||
if(errors == 0) {
|
||||
AppendLog("Moving BetterDiscord to resources\\node_modules\\");
|
||||
Directory.Move($"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\\BetterDiscord\\temp\\BetterDiscordApp-stable16", $"{GetParent().DiscordPath}\\resources\\node_modules\\BetterDiscord");
|
||||
|
||||
try {
|
||||
Splice();
|
||||
} catch {
|
||||
AppendLog("Error: Extracting app.asar: Newtonsoft.Json.dll might not be present in the Installer Folder. Installation cannot Continue.");
|
||||
errors = 1;
|
||||
Finalize(errors);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
t.Start();
|
||||
}
|
||||
|
||||
private void DownloadResource(string resource, string url) {
|
||||
AppendLog("Downloading Resource: " + resource);
|
||||
|
||||
WebClient webClient = new WebClient {Headers = {["User-Agent"] = "Mozilla/5.0"}};
|
||||
|
||||
webClient.DownloadFile(new Uri(url), $"{Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)}\\BetterDiscord\\temp\\{resource}");
|
||||
}
|
||||
|
||||
private void Splice() {
|
||||
|
||||
string indexloc = null;
|
||||
if(File.Exists($"{GetParent().DiscordPath}\\resources\\app\\app\\index.js"))
|
||||
{
|
||||
//Normal path
|
||||
indexloc = $"{GetParent().DiscordPath}\\resources\\app\\app\\index.js";
|
||||
} else if (File.Exists($"{GetParent().DiscordPath}\\resources\\app\\index.js"))
|
||||
{
|
||||
//Canary 0.0.138 changed path to app\\index.js
|
||||
indexloc = $"{GetParent().DiscordPath}\\resources\\app\\index.js";
|
||||
}
|
||||
|
||||
if(indexloc == null)
|
||||
{
|
||||
AppendLog($"Error: index.js not found");
|
||||
Finalize(1);
|
||||
return;
|
||||
}
|
||||
|
||||
if(!File.Exists(@"splice"))
|
||||
{
|
||||
AppendLog($"Error: splice install file not found, this should be included with the installer.");
|
||||
Finalize(1);
|
||||
return;
|
||||
}
|
||||
|
||||
Thread t = new Thread(() => {
|
||||
List<string> lines = new List<string>();
|
||||
AppendLog("Spicing index");
|
||||
using(FileStream fs = new FileStream(indexloc, FileMode.Open)) {
|
||||
using(StreamReader reader = new StreamReader(fs)) {
|
||||
string line = "";
|
||||
while((line = reader.ReadLine()) != null) {
|
||||
//if(GetParent().DiscordPath.Contains("Discord\\")) {
|
||||
//if(GetParent().DiscordPath.Contains("DiscordCanary\\")) {
|
||||
//if(GetParent().DiscordPath.Contains("DiscordPTB\\")) {
|
||||
if(line.Replace(" ", "").Contains("var_fs=")) {
|
||||
lines.Add(line);
|
||||
lines.Add("var _betterDiscord = require('betterdiscord');");
|
||||
lines.Add("var _betterDiscord2;");
|
||||
} else if(line.Replace(" ", "").Contains("mainWindow=new")) {
|
||||
lines.Add(line);
|
||||
lines.Add(File.ReadAllText(@"splice"));
|
||||
} else {
|
||||
lines.Add(line);
|
||||
}
|
||||
//}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
AppendLog("Writing index");
|
||||
|
||||
File.WriteAllLines(indexloc, lines.ToArray());
|
||||
|
||||
AppendLog("Finished installation, verifying installation...");
|
||||
|
||||
int errors = 0;
|
||||
|
||||
string curPath = $"{GetParent().DiscordPath}\\resources\\app\\app\\index.js";
|
||||
string curPath2 = $"{GetParent().DiscordPath}\\resources\\app\\index.js";
|
||||
if (!File.Exists(curPath) && !File.Exists(curPath2))
|
||||
{
|
||||
AppendLog($"ERROR: index.js not found in {curPath} or {curPath2}");
|
||||
errors++;
|
||||
}
|
||||
|
||||
curPath = $"{GetParent().DiscordPath}\\resources\\node_modules\\BetterDiscord";
|
||||
|
||||
if(!Directory.Exists(curPath)) {
|
||||
AppendLog($"ERROR: DIRECTORY: {curPath} DOES NOT EXIST!");
|
||||
errors++;
|
||||
}
|
||||
|
||||
|
||||
string basePath = $"{GetParent().DiscordPath}\\resources\\node_modules\\BetterDiscord";
|
||||
string[] bdFiles = { "\\package.json", "\\betterdiscord.js", "\\lib\\BetterDiscord.js", "\\lib\\config.json", "\\lib\\Utils.js" };
|
||||
|
||||
foreach(string s in bdFiles.Where(s => !File.Exists(basePath + s))) {
|
||||
AppendLog($"ERROR: FILE: {basePath}{s} DOES NOT EXIST");
|
||||
errors++;
|
||||
}
|
||||
Finalize(errors);
|
||||
});
|
||||
|
||||
t.Start();
|
||||
}
|
||||
|
||||
private void Finalize(int errors) {
|
||||
AppendLog($"Finished installing BetterDiscord with {errors} errors");
|
||||
|
||||
Invoke((MethodInvoker)delegate {
|
||||
GetParent().Finished = true;
|
||||
GetParent().btnCancel.Text = @"OK";
|
||||
GetParent().btnCancel.Enabled = true;
|
||||
});
|
||||
|
||||
if(GetParent().RestartDiscord) {
|
||||
if(GetParent().DiscordPath.Contains("\\Discord\\")) {
|
||||
Process.Start($"{GetParent().DiscordPath}\\Discord.exe");
|
||||
}
|
||||
if(GetParent().DiscordPath.Contains("\\DiscordCanary\\")) {
|
||||
Process.Start($"{GetParent().DiscordPath}\\DiscordCanary.exe");
|
||||
}
|
||||
if(GetParent().DiscordPath.Contains("\\DiscordPTB\\")) {
|
||||
Process.Start($"{GetParent().DiscordPath}\\DiscordPTB.exe");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public FormMain GetParent() {
|
||||
return (FormMain)ParentForm;
|
||||
}
|
||||
|
||||
public void BtnNext() { }
|
||||
|
||||
public void BtnPrev() { }
|
||||
|
||||
private void AppendLog(string message) {
|
||||
Invoke((MethodInvoker)delegate {
|
||||
rtLog.AppendText(message + "\n");
|
||||
rtLog.SelectionStart = rtLog.Text.Length;
|
||||
rtLog.ScrollToCaret();
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,120 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
</root>
|
|
@ -1,37 +0,0 @@
|
|||
namespace BetterDiscordWI.panels
|
||||
{
|
||||
partial class Panel3
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && (components != null))
|
||||
{
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Component Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
components = new System.ComponentModel.Container();
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
|
@ -1,12 +0,0 @@
|
|||
using System.Windows.Forms;
|
||||
|
||||
namespace BetterDiscordWI.panels
|
||||
{
|
||||
public partial class Panel3 : UserControl
|
||||
{
|
||||
public Panel3()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,2 +0,0 @@
|
|||
## To Compile Move the DLL's folder to ``BetterDiscordWI\bin``
|
||||
## Enjoy Building the Installer.
|
|
@ -1,22 +0,0 @@
|
|||
|
||||
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||
# Visual Studio 15
|
||||
VisualStudioVersion = 15.0.26430.16
|
||||
MinimumVisualStudioVersion = 10.0.40219.1
|
||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BetterDiscordWI", "BetterDiscordWI\BetterDiscordWI.csproj", "{390615F1-CE33-4173-9E8C-4E4F3EB1758D}"
|
||||
EndProject
|
||||
Global
|
||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||
Debug|Any CPU = Debug|Any CPU
|
||||
Release|Any CPU = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||
{390615F1-CE33-4173-9E8C-4E4F3EB1758D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||
{390615F1-CE33-4173-9E8C-4E4F3EB1758D}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||
{390615F1-CE33-4173-9E8C-4E4F3EB1758D}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||
{390615F1-CE33-4173-9E8C-4E4F3EB1758D}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||
EndGlobalSection
|
||||
GlobalSection(SolutionProperties) = preSolution
|
||||
HideSolutionNode = FALSE
|
||||
EndGlobalSection
|
||||
EndGlobal
|
|
@ -1,6 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<configuration>
|
||||
<startup>
|
||||
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2"/>
|
||||
</startup>
|
||||
</configuration>
|
|
@ -1,162 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProjectGuid>{390615F1-CE33-4173-9E8C-4E4F3EB1758D}</ProjectGuid>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<RootNamespace>BetterDiscordWI</RootNamespace>
|
||||
<AssemblyName>BetterDiscordWI</AssemblyName>
|
||||
<TargetFrameworkVersion>v4.6.2</TargetFrameworkVersion>
|
||||
<FileAlignment>512</FileAlignment>
|
||||
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
|
||||
<TargetFrameworkProfile />
|
||||
<NuGetPackageImportStamp>
|
||||
</NuGetPackageImportStamp>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugSymbols>true</DebugSymbols>
|
||||
<DebugType>full</DebugType>
|
||||
<Optimize>false</Optimize>
|
||||
<OutputPath>bin\Debug\</OutputPath>
|
||||
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<DebugType>pdbonly</DebugType>
|
||||
<Optimize>true</Optimize>
|
||||
<OutputPath>bin\Release\</OutputPath>
|
||||
<DefineConstants>TRACE</DefineConstants>
|
||||
<ErrorReport>prompt</ErrorReport>
|
||||
<WarningLevel>4</WarningLevel>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationIcon>betterdiscord_small_white_blue_icO_icon.ico</ApplicationIcon>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<ApplicationManifest>app.manifest</ApplicationManifest>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="asardotnetasync">
|
||||
<HintPath>..\..\..\..\..\..\Projects\C#\asardotnetasync\asardotnetasync\bin\Release\asardotnetasync.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Costura, Version=1.6.2.0, Culture=neutral, PublicKeyToken=9919ef960d84173d, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Costura.Fody.1.6.2\lib\dotnet\Costura.dll</HintPath>
|
||||
<Private>False</Private>
|
||||
</Reference>
|
||||
<Reference Include="Newtonsoft.Json">
|
||||
<HintPath>..\..\..\..\..\..\libs\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="System" />
|
||||
<Reference Include="System.Core" />
|
||||
<Reference Include="System.IO.Compression" />
|
||||
<Reference Include="System.IO.Compression.FileSystem" />
|
||||
<Reference Include="System.Xml.Linq" />
|
||||
<Reference Include="System.Data.DataSetExtensions" />
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
<Reference Include="System.Data" />
|
||||
<Reference Include="System.Deployment" />
|
||||
<Reference Include="System.Drawing" />
|
||||
<Reference Include="System.Net.Http" />
|
||||
<Reference Include="System.Windows.Forms" />
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="controls\Button.cs">
|
||||
<SubType>Component</SubType>
|
||||
</Compile>
|
||||
<Compile Include="controls\Button.Designer.cs">
|
||||
<DependentUpon>Button.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="FormMain.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="FormMain.Designer.cs">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="panels\ConfigPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="panels\ConfigPanel.Designer.cs">
|
||||
<DependentUpon>ConfigPanel.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="panels\InstallPanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="panels\InstallPanel.Designer.cs">
|
||||
<DependentUpon>InstallPanel.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="panels\IPanel.cs" />
|
||||
<Compile Include="panels\LicensePanel.cs">
|
||||
<SubType>UserControl</SubType>
|
||||
</Compile>
|
||||
<Compile Include="panels\LicensePanel.Designer.cs">
|
||||
<DependentUpon>LicensePanel.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="Program.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
<EmbeddedResource Include="FormMain.resx">
|
||||
<DependentUpon>FormMain.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="panels\ConfigPanel.resx">
|
||||
<DependentUpon>ConfigPanel.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="panels\InstallPanel.resx">
|
||||
<DependentUpon>InstallPanel.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="panels\LicensePanel.resx">
|
||||
<DependentUpon>LicensePanel.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="Properties\Resources.resx">
|
||||
<Generator>ResXFileCodeGenerator</Generator>
|
||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<Compile Include="Properties\Resources.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Resources.resx</DependentUpon>
|
||||
<DesignTime>True</DesignTime>
|
||||
</Compile>
|
||||
<None Include="app.manifest" />
|
||||
<None Include="packages.config" />
|
||||
<None Include="Properties\Settings.settings">
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<Compile Include="Properties\Settings.Designer.cs">
|
||||
<AutoGen>True</AutoGen>
|
||||
<DependentUpon>Settings.settings</DependentUpon>
|
||||
<DesignTimeSharedInput>True</DesignTimeSharedInput>
|
||||
</Compile>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="App.config" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Betterdiscord small black+blue.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\Betterdiscord small white+blue.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="FodyWeavers.xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Content Include="betterdiscord_small_white_blue_icO_icon.ico" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="..\packages\Fody.2.0.0\build\netstandard1.4\Fody.targets" Condition="Exists('..\packages\Fody.2.0.0\build\netstandard1.4\Fody.targets')" />
|
||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||
<PropertyGroup>
|
||||
<ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
|
||||
</PropertyGroup>
|
||||
<Error Condition="!Exists('..\packages\Fody.2.0.0\build\netstandard1.4\Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Fody.2.0.0\build\netstandard1.4\Fody.targets'))" />
|
||||
<Error Condition="!Exists('..\packages\Costura.Fody.1.6.2\build\dotnet\Costura.Fody.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Costura.Fody.1.6.2\build\dotnet\Costura.Fody.targets'))" />
|
||||
</Target>
|
||||
<Import Project="..\packages\Costura.Fody.1.6.2\build\dotnet\Costura.Fody.targets" Condition="Exists('..\packages\Costura.Fody.1.6.2\build\dotnet\Costura.Fody.targets')" />
|
||||
</Project>
|
|
@ -1,4 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Weavers>
|
||||
<Costura />
|
||||
</Weavers>
|
|
@ -1,128 +0,0 @@
|
|||
namespace BetterDiscordWI {
|
||||
partial class FormMain {
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
/// </summary>
|
||||
private System.ComponentModel.IContainer components = null;
|
||||
|
||||
/// <summary>
|
||||
/// Clean up any resources being used.
|
||||
/// </summary>
|
||||
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
|
||||
protected override void Dispose(bool disposing) {
|
||||
if (disposing && (components != null)) {
|
||||
components.Dispose();
|
||||
}
|
||||
base.Dispose(disposing);
|
||||
}
|
||||
|
||||
#region Windows Form Designer generated code
|
||||
|
||||
/// <summary>
|
||||
/// Required method for Designer support - do not modify
|
||||
/// the contents of this method with the code editor.
|
||||
/// </summary>
|
||||
private void InitializeComponent() {
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FormMain));
|
||||
this.panelDock = new System.Windows.Forms.Panel();
|
||||
this.lblTitle = new System.Windows.Forms.Label();
|
||||
this.panel2 = new System.Windows.Forms.Panel();
|
||||
this.btnBack = new BetterDiscordWI.controls.Button();
|
||||
this.btnNext = new BetterDiscordWI.controls.Button();
|
||||
this.btnCancel = new BetterDiscordWI.controls.Button();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// panelDock
|
||||
//
|
||||
this.panelDock.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
this.panelDock.Location = new System.Drawing.Point(12, 96);
|
||||
this.panelDock.Name = "panelDock";
|
||||
this.panelDock.Size = new System.Drawing.Size(752, 339);
|
||||
this.panelDock.TabIndex = 0;
|
||||
//
|
||||
// lblTitle
|
||||
//
|
||||
this.lblTitle.AutoSize = true;
|
||||
this.lblTitle.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.lblTitle.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Bold);
|
||||
this.lblTitle.ForeColor = System.Drawing.Color.Black;
|
||||
this.lblTitle.Location = new System.Drawing.Point(82, 37);
|
||||
this.lblTitle.Name = "lblTitle";
|
||||
this.lblTitle.Size = new System.Drawing.Size(147, 16);
|
||||
this.lblTitle.TabIndex = 5;
|
||||
this.lblTitle.Text = "BetterDiscord Setup";
|
||||
//
|
||||
// panel2
|
||||
//
|
||||
this.panel2.BackColor = System.Drawing.SystemColors.Window;
|
||||
this.panel2.BackgroundImage = global::BetterDiscordWI.Properties.Resources.Betterdiscord_small_black_blue;
|
||||
this.panel2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
|
||||
this.panel2.Location = new System.Drawing.Point(12, 12);
|
||||
this.panel2.Name = "panel2";
|
||||
this.panel2.Size = new System.Drawing.Size(64, 64);
|
||||
this.panel2.TabIndex = 4;
|
||||
//
|
||||
// btnBack
|
||||
//
|
||||
this.btnBack.Location = new System.Drawing.Point(527, 466);
|
||||
this.btnBack.Name = "btnBack";
|
||||
this.btnBack.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnBack.TabIndex = 6;
|
||||
this.btnBack.Text = "< Back";
|
||||
this.btnBack.UseVisualStyleBackColor = true;
|
||||
this.btnBack.Click += new System.EventHandler(this.btnBack_Click);
|
||||
//
|
||||
// btnNext
|
||||
//
|
||||
this.btnNext.Location = new System.Drawing.Point(608, 466);
|
||||
this.btnNext.Name = "btnNext";
|
||||
this.btnNext.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnNext.TabIndex = 7;
|
||||
this.btnNext.Text = "Next >";
|
||||
this.btnNext.UseVisualStyleBackColor = true;
|
||||
this.btnNext.Click += new System.EventHandler(this.btnNext_Click);
|
||||
//
|
||||
// btnCancel
|
||||
//
|
||||
this.btnCancel.Location = new System.Drawing.Point(689, 466);
|
||||
this.btnCancel.Name = "btnCancel";
|
||||
this.btnCancel.Size = new System.Drawing.Size(75, 23);
|
||||
this.btnCancel.TabIndex = 8;
|
||||
this.btnCancel.Text = "Cancel";
|
||||
this.btnCancel.UseVisualStyleBackColor = true;
|
||||
this.btnCancel.Click += new System.EventHandler(this.btnCancel_Click);
|
||||
//
|
||||
// FormMain
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.ClientSize = new System.Drawing.Size(776, 501);
|
||||
this.Controls.Add(this.btnCancel);
|
||||
this.Controls.Add(this.btnNext);
|
||||
this.Controls.Add(this.btnBack);
|
||||
this.Controls.Add(this.lblTitle);
|
||||
this.Controls.Add(this.panel2);
|
||||
this.Controls.Add(this.panelDock);
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Fixed3D;
|
||||
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
|
||||
this.MaximizeBox = false;
|
||||
this.Name = "FormMain";
|
||||
this.Text = "Setup - BetterDiscord";
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
private System.Windows.Forms.Panel panelDock;
|
||||
private System.Windows.Forms.Panel panel2;
|
||||
private System.Windows.Forms.Label lblTitle;
|
||||
public controls.Button btnNext;
|
||||
public controls.Button btnCancel;
|
||||
public controls.Button btnBack;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,71 +0,0 @@
|
|||
using System;
|
||||
using System.Drawing;
|
||||
using System.Windows.Forms;
|
||||
using BetterDiscordWI.panels;
|
||||
|
||||
namespace BetterDiscordWI {
|
||||
|
||||
public partial class FormMain : Form {
|
||||
|
||||
private readonly IPanel[] _panels = { new LicensePanel(), new ConfigPanel(), new InstallPanel() };
|
||||
private int _currentPanel;
|
||||
|
||||
public string DiscordPath = null;
|
||||
public bool RestartDiscord = true;
|
||||
public bool Stable = true, Canary, Ptb;
|
||||
|
||||
public FormMain() {
|
||||
InitializeComponent();
|
||||
|
||||
foreach (var panel in _panels) {
|
||||
panel.SetForm(this);
|
||||
panel.Control.Dock = DockStyle.Fill;
|
||||
panelDock.Controls.Add(panel.Control);
|
||||
}
|
||||
SwitchPanel(0);
|
||||
}
|
||||
|
||||
|
||||
public void SetTitle(string title) => lblTitle.Text = title;
|
||||
|
||||
public void SwitchPanel(int index) {
|
||||
_currentPanel = index;
|
||||
foreach (var panel in _panels) { panel.HidePanel(); }
|
||||
SetTitle($"BetterDiscord {_panels[index].Title}");
|
||||
_panels[index].ShowPanel();
|
||||
}
|
||||
|
||||
private readonly Pen _borderPen = new Pen(Color.FromArgb(160, 160, 160));
|
||||
protected override void OnPaint(PaintEventArgs e) {
|
||||
base.OnPaint(e);
|
||||
|
||||
var g = e.Graphics;
|
||||
g.FillRectangle(SystemBrushes.Window, new Rectangle(0, 0, Width, 85));
|
||||
g.DrawLine(_borderPen, 0, 85, Width, 85);
|
||||
g.DrawLine(SystemPens.Window, 0, 86, Width, 86);
|
||||
|
||||
g.DrawLine(_borderPen, 0, 445, Width, 445);
|
||||
g.DrawLine(SystemPens.Window, 0, 446, Width, 446);
|
||||
}
|
||||
|
||||
private void btnNext_Click(object sender, EventArgs e) {
|
||||
_currentPanel++;
|
||||
SwitchPanel(_currentPanel);
|
||||
}
|
||||
|
||||
private void btnCancel_Click(object sender, EventArgs e) {
|
||||
Application.Exit();
|
||||
}
|
||||
|
||||
private void btnBack_Click(object sender, EventArgs e) {
|
||||
_currentPanel--;
|
||||
SwitchPanel(_currentPanel);
|
||||
}
|
||||
|
||||
public void Fail() {
|
||||
btnCancel.ShowEnable();
|
||||
btnNext.ShowDisable();
|
||||
btnBack.ShowEnable();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,541 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
AAABAAUAEBAAAAEAIABoBAAAVgAAABgYAAABACAAiAkAAL4EAAAgIAAAAQAgAKgQAABGDgAAMDAAAAEA
|
||||
IACoJQAA7h4AAAAAAAABACAA4BwAAJZEAAAoAAAAEAAAACAAAAABACAAAAAAAAAEAAATCwAAEwsAAAAA
|
||||
AAAAAAAA5YI+geWCPoHlgj6B5YI+geWCPoHlgj6B5YI+fOWCPmHlgDsv99jDE////2D///9r////OP//
|
||||
/wr///8A////AOWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj765YI+5eWDQJj32sZi////2///
|
||||
/+3///+p////MP///wDlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5H85pvzy
|
||||
6nX////7/////////9H///8z5YI+meWCPprlgj6a5YI+muWCPprlgj6Z5YI+rOWCPu3lgj7/5YI+/+WB
|
||||
PPPtqXtl////2v//////////////qwAAAAAAAAAAAAAAAAAAAADlgj4A5YI+AOWCPgLlgj5y5YI+/uWC
|
||||
Pv/lgj3/6I5Ref///8D//////////////+4AAAAA5YI+AOWCPgDlgj4J5YI+AuWCPgDlgj4A5YI+X+WC
|
||||
Pv3lgj7/5YI+/+eMTXT///+7///////////////+5YI+AOWCPgDlgj4t5YI+feWCPj3lgj5u5YI+geWC
|
||||
Ptvlgj7/5YI+/+WCPvTokVVN////u////////////////+WCPgDlgj425YI+0OWCPrzlgj5/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj218LaOFv///77////////////////lgj5O5YI+1+WCPv/lgj675YI+f+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI9tvC1jhb///++////////////////5YI+7OWCPv/lgj7/5YI+veWC
|
||||
Pjvlgj5s5YI+gOWCPtvlgj7/5YI+/+WCPvTokVVN////u////////////////+WCPv/lgj7/5YI+/+WC
|
||||
Pr/lgj4J5YI+AOWCPgDlgj5f5YI+/eWCPv/lgj7/54xNdf///7v///////////////7lgj7/5YI+/+WC
|
||||
Pv/lgj6/5YI+CeWCPgDlgj4C5YI+c+WCPv7lgj7/5YI9/+iOUXn////A///////////////r5YI+/+WC
|
||||
Pv/lgj7/5YI+5uWCPp7lgj6a5YI+reWCPu3lgj7/5YI+/+WBPPPtqntl////2///////////////puWC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/kfzml/PLrdf////v/////////zv//
|
||||
/y7lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI++uWCPuTlhECX+NvHYv///9v////s////pv//
|
||||
/y3///8A5YI+gOWCPoDlgj6A5YI+gOWCPoDlgj6A5YI+e+WCPmDlgDou+NvHFP///2H///9q////N///
|
||||
/wn///8A////AAADAAAAAQAAAAAAAAAAAAD8AAAA5gAAAMAAAACAAAAAAAAAAAAAAAAGAAAABAAAAAAA
|
||||
AAAAAAAAAAEAAAADAAAoAAAAGAAAADAAAAABACAAAAAAAAAJAAATCwAAEwsAAAAAAAAAAAAA5YI+P+WC
|
||||
Pj/lgj4/5YI+P+WCPj/lgj4/5YI+P+WCPj/lgj4/5YI+PeWCPjDlgj4Z5YI+Bfrm2AD///8S////PP//
|
||||
/zb///8f////CP///wD///8AAAAAAAAAAAAAAAAA5YI+8OWCPvDlgj7w5YI+8OWCPvDlgj7w5YI+8OWC
|
||||
PvDlgj7w5YI+7+WCPuflgj7T5YI+p+WBPFnxupQe////dP///+D////b////tP///23///8e////AP//
|
||||
/wAAAAAA5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
PvrlgT235ohIMv///3P////4//////////3////T////Vv///wP///8A5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YE9yOqcZyv///+n////////
|
||||
////////////7////2D///8A5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+R/OYf///5H////9P///////////////////97///805YI+buWC
|
||||
Pm/lgj5v5YI+b+WCPm/lgj5v5YI+b+WCPm/lgj5u5YI+euWCPrzlgj775YI+/+WCPv/lgj7/5YI+/+WB
|
||||
PdLyv50t////0v////////////////////////+ZAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AADlgj4A5YI+AOWCPhLlgj6u5YI+/+WCPv/lgj7/5YI+/+WCPu3okFQ3////s///////////////////
|
||||
///////dAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5YI+AOWCPgDlgj5m5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPvPmiEc9////qP/////////////////////////5AAAAAAAAAAAAAAAA5YI+AOWC
|
||||
PgHlgj4N5YI+AeWCPgAAAAAA5YI+AOWCPgLlgj6P5YI+/+WCPv/lgj7/5YI+/+WCPuvmiUkw////qP//
|
||||
////////////////////////AAAAAAAAAADlgj4A5YI+AOWCPkTlgj5/5YI+EOWCPjHlgj4z5YI+POWC
|
||||
PoPlgj7v5YI+/+WCPv/lgj7/5YI+/+WCPtDokVQX////qf//////////////////////////AAAAAOWC
|
||||
PgDlgj4B5YI+TuWCPuPlgj6p5YI+POWCPuXlgj7w5YI+9OWCPv7lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pov//f0D////q///////////////////////////5YI+AOWCPgPlgj5f5YI+6OWCPv/lgj6n5YI+P+WC
|
||||
PvTlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+2eWBPSf///8B////q///////////////////
|
||||
////////5YI+B+WCPm/lgj7w5YI+/+WCPv/lgj6n5YI+P+WCPvTlgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+2eWBPSf///8B////q///////////////////////////5YI+keWCPvTlgj7/5YI+/+WC
|
||||
Pv/lgj6n5YI+O+WCPuTlgj7v5YI+8+WCPv7lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPoz++vcD////q///
|
||||
////////////////////////5YI+/OWCPv/lgj7/5YI+/+WCPv/lgj6q5YI+DuWCPi/lgj4x5YI+OuWC
|
||||
PoHlgj7v5YI+/+WCPv/lgj7/5YI+/+WCPtDokFQY////qf//////////////////////////5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj6r5YI+A+WCPgAAAAAA5YI+AOWCPgLlgj6O5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
PuvmiUkx////qP//////////////////////////5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj6r5YI+A+WC
|
||||
PgAAAAAA5YI+AOWCPgDlgj5n5YI+/+WCPv/lgj7/5YI+/+WCPvPmiEc9////qP//////////////////
|
||||
///////45YI+/+WCPv/lgj7/5YI+/+WCPv/lgj6q5YI+A+WCPgDlgj4A5YI+AOWCPhLlgj6v5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPu3okFQ3////s//////////////////////////Y5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7Q5YI+cuWCPnDlgj5w5YI+fOWCPr3lgj775YI+/+WCPv/lgj7/5YI+/+WBPdHywJ4t////0v//
|
||||
//////////////////////+R5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+R/OYb///9I////9P///////////////////9n///8u5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YE9x+ud
|
||||
aCv///+o////////////////////7P///1j///8A5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPvrlgTy15olJMf///3T////5//////////3////P////UP//
|
||||
/wL///8A5YI+7+WCPvDlgj7w5YI+8OWCPvDlgj7w5YI+8OWCPvDlgj7w5YI+7uWCPublgj7S5YI+peWB
|
||||
PFfxvZof////d////+H////b////sv///2r///8b////AP///wAAAAAA5YI+PuWCPj7lgj4+5YI+PuWC
|
||||
Pj7lgj4+5YI+PuWCPj7lgj4+5YI+O+WCPi7lgj4Y5YI+BPrn2gD///8T////Pf///zf///8f////CP//
|
||||
/wD///8AAAAAAAAAAAAAAAAAAAQfAAAABwAAAAEAAAABAAAAAAAAAAAA/8AAAP/gAADxwAAA8AAAAMAA
|
||||
AACAAAAAAAAAAAAAAAAAAAAAAcAAAAHgAAABwAAAAAAAAAAAAAAAAAEAAAABAAAABwAABB8AKAAAACAA
|
||||
AABAAAAAAQAgAAAAAAAAEAAAEwsAABMLAAAAAAAAAAAAAOWCPhLlgj4S5YI+EuWCPhLlgj4S5YI+EuWC
|
||||
PhLlgj4S5YI+EuWCPhLlgj4S5YI+EuWCPhHlgj4N5YI+BOWCPgDlgj4A////AP///wD///8L////FP//
|
||||
/w////8H////Af///wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5YI+y+WCPszlgj7M5YI+zOWC
|
||||
Pszlgj7M5YI+zOWCPszlgj7M5YI+zOWCPszlgj7M5YI+yuWCPsHlgj6r5YI+h+WCPlTlgj4ewgAAAf//
|
||||
/yT///+V////x////7X///+V////Zf///y3///8G////AP///wAAAAAAAAAAAAAAAADlgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI++uWC
|
||||
Ptrlgj6I5H02If///x7///+p/////v/////////+////6P///6f///9A////BP///wAAAAAAAAAAAOWC
|
||||
Pv7lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7R5H44RP///xT///+u/////////////////////////+3///+C////D///
|
||||
/wAAAAAA5YI+/uWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7g5H02O////yr////d////////////////////////
|
||||
//z///+W////DP///wDlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj685HszEf///3//////////////
|
||||
//////////////////r///9y////AOWCPvflgj745YI++OWCPvjlgj745YI++OWCPvjlgj745YI++OWC
|
||||
Pvjlgj745YI++OWCPvrlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPvnkfjdS////L///
|
||||
/+v//////////////////////////////9z///8t5YI+RuWCPkblgj5G5YI+RuWCPkblgj5G5YI+RuWC
|
||||
Pkblgj5G5YI+RuWCPkblgj5G5YI+TeWCPn7lgj7b5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WB
|
||||
PZj//fwP////x////////////////////////////////v///4MAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlgj4A5YI+AOWCPjnlgj7e5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+wOqaYw3///+n////////////////////////////////////yQAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlgj4A5YI+AOWCPpDlgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7Q5Hs0Ef///5b////////////////////////////////////vAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWCPgDlgj4A5YI+gOWC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPs3jdy4P////lP//////////////////////////////////
|
||||
//0AAAAAAAAAAAAAAAAAAAAAAAAAAOWCPgDlgj4D5YI+EeWCPgHlgj4AAAAAAAAAAAAAAAAA5YI+AOWC
|
||||
PhPlgj6+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+uuBrGwf///+U////////////////////////
|
||||
/////////////wAAAAAAAAAAAAAAAAAAAADlgj4A5YI+AuWCPl3lgj575YI+AeWCPgvlgj4N5YI+DeWC
|
||||
PhDlgj4w5YI+n+WCPvzlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj6T9dG4AP///5X/////////////
|
||||
///////////////////////+AAAAAAAAAAAAAAAA5YI+AOWCPgXlgj5q5YI+8eWCPpXlgj4O5YI+pOWC
|
||||
Psnlgj7G5YI+zeWCPunlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI++eWCPlLsom8A////lf//
|
||||
//////////////////////////////////4AAAAAAAAAAOWCPgDlgj4J5YI+e+WCPvPlgj7/5YI+lOWC
|
||||
PhPlgj7T5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7B5YI+E/LC
|
||||
oQD///+V/////////////////////////////////////gAAAADlgj4A5YI+D+WCPo3lgj745YI+/+WC
|
||||
Pv/lgj6U5YI+E+WCPtPlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+7+WC
|
||||
PknlhEEA//79AP///5X////////////////////////////////////+5YI+AOWCPhblgj6e5YI+/OWC
|
||||
Pv/lgj7/5YI+/+WCPpTlgj4T5YI+0+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7v5YI+S+WEQQD//f0A////lf////////////////////////////////////7lgj4k5YI+reWC
|
||||
Pv7lgj7/5YI+/+WCPv/lgj7/5YI+lOWCPhPlgj7T5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7C5YI+E/LBoAD///+V/////////////////////////////////////uWC
|
||||
Pszlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj6U5YI+DuWCPqLlgj7G5YI+xOWCPsvlgj7o5YI+/uWC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPvnlgj5T7KJvAP///5X/////////////////////////////
|
||||
///////+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPpXlgj4A5YI+CuWCPgzlgj4M5YI+D+WC
|
||||
Pi7lgj6e5YI+++WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPpP21LwA////lf//////////////////
|
||||
//////////////////7lgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+leWCPgDlgj4AAAAAAAAA
|
||||
AAAAAAAA5YI+AOWCPhLlgj695YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+u+BrGwf///+U////////
|
||||
/////////////////////////////+WCPv7lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj6V5YI+AOWC
|
||||
PgAAAAAAAAAAAAAAAADlgj4A5YI+AOWCPoDlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7N43cuEP//
|
||||
/5T////////////////////////////////////85YI+/uWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
PpXlgj4A5YI+AAAAAAAAAAAAAAAAAOWCPgDlgj4A5YI+keWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
PtDkfDQR////lv///////////////////////////////////+vlgj7+5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+lOWCPgDlgj4AAAAAAAAAAADlgj4A5YI+AOWCPjrlgj7f5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+wOqaZA3///+n////////////////////////////////////wuWCPv7lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj6z5YI+R+WCPkjlgj5I5YI+SOWCPk/lgj6A5YI+3OWCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgT2X//79D////8j///////////////////////////////z///955YI+/uWC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPvzlgj745YI++OWCPvjlgj745YI+++WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI++OR9N1H///8w////7P//////////////////////////////1f//
|
||||
/yblgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj675Hw0EP///4D/////////////////////////////
|
||||
//j///9n////AOWCPv7lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+3+R9Njr///8r////3f//////////////////
|
||||
///////6////i////wn///8A5YI+/uWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPtDkfjhC////Ff///7D/////////////
|
||||
////////////6f///3j///8L////AAAAAADlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI++uWCPtnlgj6G5H02IP///x////+r/////v//
|
||||
///////9////5v///6H///86////A////wAAAAAAAAAAAOWCPsrlgj7K5YI+yuWCPsrlgj7K5YI+yuWC
|
||||
Psrlgj7K5YI+yuWCPsrlgj7K5YI+yuWCPsjlgj6/5YI+qeWCPoXlgj5S5YI+HbwAAAH///8n////mP//
|
||||
/8j///+1////lP///2P///8q////Bf///wD///8AAAAAAAAAAAAAAAAA5YI+EeWCPhHlgj4R5YI+EeWC
|
||||
PhHlgj4R5YI+EeWCPhHlgj4R5YI+EeWCPhHlgj4R5YI+EOWCPgzlgj4E5YI+AOWCPgD///8A////AP//
|
||||
/wz///8V////EP///wj///8B////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeD/AAAAHwAA
|
||||
AAcAAAADAAAAAQAAAAEAAAAAAAAAAP/8AAD//gAA//4AAPx8AAD4AAEA8AABAOAAAQDAAAMAgAADAAAA
|
||||
AQAAAAEAAIABAAD8AAAA/gAAAP4AAAD8AAAAAAAAAAAAAAAAAAEAAAABAAAAAwAAAAcAAAAfAAHg/ygA
|
||||
AAAwAAAAYAAAAAEAIAAAAAAAACQAABMLAAATCwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlgj5V5YI+VeWC
|
||||
PlXlgj5V5YI+VeWCPlXlgj5V5YI+VeWCPlXlgj5V5YI+VeWCPlXlgj5V5YI+VeWCPlXlgj5V5YI+VeWC
|
||||
PlXlgj5U5YI+TuWCPkHlgj4t5YI+GeWCPgjlgj4A5YI+AAAAAAD///8A////BP///zX///9V////Uv//
|
||||
/0r///85////JP///xD///8C////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AADlgj785YI+/eWCPv3lgj795YI+/eWCPv3lgj795YI+/eWCPv3lgj795YI+/eWCPv3lgj795YI+/eWC
|
||||
Pv3lgj795YI+/eWCPv3lgj795YI+++WCPvXlgj7q5YI+1+WCPrflgj6F5YI+R+WCPhPSJwAA////Af//
|
||||
/yz///+h////9v////v////y////4////8n///+e////Y////yf///8F////AAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+9uWC
|
||||
Psrlgj5z5YI+HPjgywD///8L////cf///+3//////////////////////////f///+P///+e////QP//
|
||||
/wb///8AAAAAAAAAAAAAAAAAAAAAAAAAAADlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj795YI+zeWCPlXkezMF////Av///1/////t////////////////////////
|
||||
////////////7v///5j///8l////AP///wAAAAAAAAAAAAAAAADlgj7+5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPvHlgj595H44Cf///wH///9y////+P//
|
||||
///////////////////////////////////////R////Rv///wH///8AAAAAAAAAAADlgj7+5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj745YI+fd9n
|
||||
FAT///8L////p///////////////////////////////////////////////5P///1D///8A////AAAA
|
||||
AADlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+8OWCPlPzx6gA////Nv///+f/////////////////////////////////////////////
|
||||
/9////87////AP///wDlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPsflgDsX////Av///5v/////////////////////////////
|
||||
//////////////////////+9////Ff///wDlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPvvlgj5h88SjAP///0v////2////////
|
||||
///////////////////////////////////////8////bf///wDlgj7H5YI+yOWCPsjlgj7I5YI+yOWC
|
||||
Psjlgj7I5YI+yOWCPsjlgj7I5YI+yOWCPsjlgj7I5YI+yOWCPsjlgj7I5YI+yOWCPsjlgj7M5YI+4OWC
|
||||
Pvnlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj6u3FUABf//
|
||||
/xr////W////////////////////////////////////////////////////yf///xnlgj4O5YI+DuWC
|
||||
Pg7lgj4O5YI+DuWCPg7lgj4O5YI+DuWCPg7lgj4O5YI+DuWCPg7lgj4O5YI+DuWCPg7lgj4O5YI+DuWC
|
||||
Pg7lgj4R5YI+IeWCPlnlgj7D5YI+/uWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7d5YE8H////wP///+u////////////////////////////////////////////////////9f//
|
||||
/1cAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAA5YI+AOWCPgDlgj4c5YI+s+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7z5YI+Pe6vhAD///+L////////////////////////////////////////
|
||||
/////////////////5wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWCPgDlgj4A5YI+N+WCPunlgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj775YI+VPG9mQD///90////////////////////////
|
||||
/////////////////////////////////84AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlgj4A5YI+CuWC
|
||||
Prvlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7+5YI+X/LAngD///9p////////
|
||||
/////////////////////////////////////////////////+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AADlgj4A5YI+BOWCPq3lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj795YI+W/LA
|
||||
ngD///9o//////////////////////////////////////////////////////////sAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADlgj4A5YI+FOWCPs3lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj755YI+TPLCoAD///9o////////////////////////////////////////////////////////
|
||||
//4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlgj4A5YI+DeWCPhflgj4A5YI+AAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWCPgDlgj4A5YI+YuWCPvjlgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7v5YI+NfTJrAD///9o////////////////////////////////////////
|
||||
//////////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA5YI+AOWCPgDlgj4R5YI+keWC
|
||||
PmHlgj4A5YI+AAAAAAAAAAAAAAAAAAAAAADlgj4A5YI+AOWCPgjlgj5W5YI+4eWCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7X5YI+GvjcyQD///9o////////////////////////
|
||||
//////////////////////////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlgj4A5YI+AOWC
|
||||
Phjlgj6i5YI+/OWCPmjlgj4A5YI+HeWCPkzlgj5M5YI+TOWCPkzlgj5Q5YI+beWCPq/lgj7x5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj6n5YI+BP328AD///9o////////
|
||||
//////////////////////////////////////////////////4AAAAAAAAAAAAAAAAAAAAAAAAAAOWC
|
||||
PgDlgj4A5YI+IuWCPrLlgj7+5YI+/+WCPmjlgj4A5YI+YOWCPvnlgj755YI++eWCPvnlgj775YI+/uWC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPvvlgj5e5YI+AP//
|
||||
/wD///9o//////////////////////////////////////////////////////////4AAAAAAAAAAAAA
|
||||
AAAAAAAA5YI+AOWCPgDlgj4t5YI+weWCPv/lgj7/5YI+/+WCPmjlgj4A5YI+YuWCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pszlgj4Z5YI+AP///wD///9o////////////////////////////////////////////////////////
|
||||
//4AAAAAAAAAAAAAAADlgj4A5YI+AOWCPjvlgj7P5YI+/+WCPv/lgj7/5YI+/+WCPmjlgj4A5YI+YuWC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+9uWCPl/lgj4A5YNAAP///wD///9o////////////////////////////////////////
|
||||
//////////////////4AAAAAAAAAAOWCPgDlgj4B5YI+SeWCPtrlgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pmjlgj4A5YI+YuWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+meWCPgjlgj4A////AP///wD///9o////////////////////////
|
||||
//////////////////////////////////4AAAAA5YI+AOWCPgLlgj5Z5YI+5OWCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPmjlgj4A5YI+YuWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+m+WCPgnlgj4A////AP///wD///9o////////
|
||||
//////////////////////////////////////////////////7lgj4A5YI+BeWCPmrlgj7t5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPmjlgj4A5YI+YuWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+9+WCPmHlgj4A5YNAAP//
|
||||
/wD///9o//////////////////////////////////////////////////////////7lgj4L5YI+e+WC
|
||||
PvPlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPmjlgj4A5YI+YuWCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Ps3lgj4a5YI+AP///wD///9o////////////////////////////////////////////////////////
|
||||
//7lgj6c5YI+9uWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPmjlgj4A5YI+X+WC
|
||||
Pvjlgj745YI++OWCPvjlgj765YI+/uWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPvvlgj5g5YI+AP///wD///9o////////////////////////////////////////
|
||||
//////////////////7lgj795YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pmjlgj4A5YI+HOWCPkjlgj5I5YI+SOWCPkjlgj5N5YI+auWCPqzlgj7w5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj6o5YI+Bf318AD///9o////////////////////////
|
||||
//////////////////////////////////7lgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPmjlgj4A5YI+AAAAAAAAAAAAAAAAAAAAAADlgj4A5YI+AOWCPgflgj5U5YI+4OWC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7X5YI+GvjbyAD///9o////////
|
||||
//////////////////////////////////////////////////7lgj7+5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPmjlgj4A5YI+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWC
|
||||
PgDlgj4A5YI+YOWCPvjlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7v5YI+NfTJ
|
||||
rAD///9o//////////////////////////////////////////////////////////7lgj7+5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPmjlgj4A5YI+AAAAAAAAAAAAAAAAAAAA
|
||||
AAAAAAAAAAAAAAAAAADlgj4A5YI+FOWCPszlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj755YI+TPLCoAD///9o////////////////////////////////////////////////////////
|
||||
//7lgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPmjlgj4A5YI+AAAA
|
||||
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlgj4A5YI+BOWCPq3lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj795YI+W/LAngD///9o////////////////////////////////////////
|
||||
//////////////////nlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pmjlgj4A5YI+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlgj4A5YI+CuWCPrzlgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7+5YI+X/LAngD///9p////////////////////////
|
||||
/////////////////////////////////+jlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPmjlgj4A5YI+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOWCPgDlgj4A5YI+OOWC
|
||||
Purlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj775YI+VPG9mQD///90////////
|
||||
/////////////////////////////////////////////////8blgj7+5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPmflgj4A5YI+AAAAAAAAAAAAAAAAAAAAAAAAAAAA5YI+AOWC
|
||||
PgDlgj4d5YI+teWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7z5YI+Pe6v
|
||||
gwD///+L/////////////////////////////////////////////////////////5Dlgj7+5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPnHlgj4M5YI+EOWCPhDlgj4Q5YI+EOWC
|
||||
PhDlgj4S5YI+I+WCPlzlgj7F5YI+/uWCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7c5YE8Hv///wP///+v////////////////////////////////////////////////////8f//
|
||||
/0vlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPuDlgj7K5YI+yuWC
|
||||
Psrlgj7K5YI+yuWCPsrlgj7P5YI+4uWCPvrlgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj6t21EABP///xr////X////////////////////////////////////////
|
||||
////////////vv///xLlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPvvlgj5f88OjAP///0z////3////////////////////////
|
||||
///////////////////////5////X////wDlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPsblgDsW////Av///53/////////////
|
||||
//////////////////////////////////////+v////Dv///wDlgj7+5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+7+WCPlHzxqgA////N///
|
||||
/+j//////////////////////////////////////////////9X///8v////AP///wDlgj7+5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj735YI+et5h
|
||||
CwP///8M////qf//////////////////////////////////////////////2////0L///8A////AAAA
|
||||
AADlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
PvDlgj565H43CP///wL///90////+f////////////////////////////////////7////G////Ov//
|
||||
/wD///8AAAAAAAAAAADlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj785YI+y+WCPlLjeTAE////Av///2L////u////////////////////////////////////6v//
|
||||
/43///8d////AP///wAAAAAAAAAAAAAAAADlgj7+5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WCPv/lgj7/5YI+/+WC
|
||||
Pv/lgj7/5YI+9OWCPsflgj5w5YI+GvbVvgD///8M////dP///+7//////////////////////////P//
|
||||
/9////+X////OP///wT///8AAAAAAAAAAAAAAAAAAAAAAAAAAADlgj775YI+/OWCPvzlgj785YI+/OWC
|
||||
Pvzlgj785YI+/OWCPvzlgj785YI+/OWCPvzlgj785YI+/OWCPvzlgj785YI+/OWCPvzlgj785YI++uWC
|
||||
PvTlgj7p5YI+1eWCPrTlgj6B5YI+ROWCPhL///8A////Af///zD///+l////9/////v////y////4///
|
||||
/8j///+b////X////yT///8D////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADlgj5S5YI+U+WC
|
||||
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
|
||||
</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,19 +0,0 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows.Forms;
|
||||
|
||||
namespace BetterDiscordWI {
|
||||
static class Program {
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main() {
|
||||
Application.EnableVisualStyles();
|
||||
Application.SetCompatibleTextRenderingDefault(false);
|
||||
Application.Run(new FormMain());
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
using System.Reflection;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
|
||||
// General Information about an assembly is controlled through the following
|
||||
// set of attributes. Change these attribute values to modify the information
|
||||
// associated with an assembly.
|
||||
[assembly: AssemblyTitle("BetterDiscordWI")]
|
||||
[assembly: AssemblyDescription("BetterDiscord Windows Installer")]
|
||||
[assembly: AssemblyConfiguration("")]
|
||||
[assembly: AssemblyCompany("CSharpForLife")]
|
||||
[assembly: AssemblyProduct("BetterDiscordWI")]
|
||||
[assembly: AssemblyCopyright("Copyright © 2018")]
|
||||
[assembly: AssemblyTrademark("")]
|
||||
[assembly: AssemblyCulture("")]
|
||||
|
||||
// Setting ComVisible to false makes the types in this assembly not visible
|
||||
// to COM components. If you need to access a type in this assembly from
|
||||
// COM, set the ComVisible attribute to true on that type.
|
||||
[assembly: ComVisible(false)]
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("390615f1-ce33-4173-9e8c-4e4f3eb1758d")]
|
||||
|
||||
// Version information for an assembly consists of the following four values:
|
||||
//
|
||||
// Major Version
|
||||
// Minor Version
|
||||
// Build Number
|
||||
// Revision
|
||||
//
|
||||
// You can specify all the values or you can default the Build and Revision Numbers
|
||||
// by using the '*' as shown below:
|
||||
// [assembly: AssemblyVersion("1.0.*")]
|
||||
[assembly: AssemblyVersion("0.3.0.0")]
|
||||
[assembly: AssemblyFileVersion("0.3.0.0")]
|
|
@ -1,83 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace BetterDiscordWI.Properties {
|
||||
using System;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||
/// </summary>
|
||||
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||
// class via a tool like ResGen or Visual Studio.
|
||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||
// with the /str option, or rebuild your VS project.
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
internal class Resources {
|
||||
|
||||
private static global::System.Resources.ResourceManager resourceMan;
|
||||
|
||||
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||
|
||||
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||
internal Resources() {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Returns the cached ResourceManager instance used by this class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||
get {
|
||||
if (object.ReferenceEquals(resourceMan, null)) {
|
||||
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("BetterDiscordWI.Properties.Resources", typeof(Resources).Assembly);
|
||||
resourceMan = temp;
|
||||
}
|
||||
return resourceMan;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the current thread's CurrentUICulture property for all
|
||||
/// resource lookups using this strongly typed resource class.
|
||||
/// </summary>
|
||||
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||
internal static global::System.Globalization.CultureInfo Culture {
|
||||
get {
|
||||
return resourceCulture;
|
||||
}
|
||||
set {
|
||||
resourceCulture = value;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Betterdiscord_small_black_blue {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Betterdiscord_small_black_blue", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized resource of type System.Drawing.Bitmap.
|
||||
/// </summary>
|
||||
internal static System.Drawing.Bitmap Betterdiscord_small_white_blue {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("Betterdiscord_small_white_blue", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,127 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<root>
|
||||
<!--
|
||||
Microsoft ResX Schema
|
||||
|
||||
Version 2.0
|
||||
|
||||
The primary goals of this format is to allow a simple XML format
|
||||
that is mostly human readable. The generation and parsing of the
|
||||
various data types are done through the TypeConverter classes
|
||||
associated with the data types.
|
||||
|
||||
Example:
|
||||
|
||||
... ado.net/XML headers & schema ...
|
||||
<resheader name="resmimetype">text/microsoft-resx</resheader>
|
||||
<resheader name="version">2.0</resheader>
|
||||
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
|
||||
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
|
||||
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
|
||||
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
|
||||
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
|
||||
<value>[base64 mime encoded serialized .NET Framework object]</value>
|
||||
</data>
|
||||
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
|
||||
<comment>This is a comment</comment>
|
||||
</data>
|
||||
|
||||
There are any number of "resheader" rows that contain simple
|
||||
name/value pairs.
|
||||
|
||||
Each data row contains a name, and value. The row also contains a
|
||||
type or mimetype. Type corresponds to a .NET class that support
|
||||
text/value conversion through the TypeConverter architecture.
|
||||
Classes that don't support this are serialized and stored with the
|
||||
mimetype set.
|
||||
|
||||
The mimetype is used for serialized objects, and tells the
|
||||
ResXResourceReader how to depersist the object. This is currently not
|
||||
extensible. For a given mimetype the value must be set accordingly:
|
||||
|
||||
Note - application/x-microsoft.net.object.binary.base64 is the format
|
||||
that the ResXResourceWriter will generate, however the reader can
|
||||
read any of the formats listed below.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.binary.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.soap.base64
|
||||
value : The object must be serialized with
|
||||
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
|
||||
: and then encoded with base64 encoding.
|
||||
|
||||
mimetype: application/x-microsoft.net.object.bytearray.base64
|
||||
value : The object must be serialized into a byte array
|
||||
: using a System.ComponentModel.TypeConverter
|
||||
: and then encoded with base64 encoding.
|
||||
-->
|
||||
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||
<xsd:element name="root" msdata:IsDataSet="true">
|
||||
<xsd:complexType>
|
||||
<xsd:choice maxOccurs="unbounded">
|
||||
<xsd:element name="metadata">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||
<xsd:attribute name="type" type="xsd:string" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="assembly">
|
||||
<xsd:complexType>
|
||||
<xsd:attribute name="alias" type="xsd:string" />
|
||||
<xsd:attribute name="name" type="xsd:string" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="data">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||
<xsd:attribute ref="xml:space" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
<xsd:element name="resheader">
|
||||
<xsd:complexType>
|
||||
<xsd:sequence>
|
||||
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||
</xsd:sequence>
|
||||
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:choice>
|
||||
</xsd:complexType>
|
||||
</xsd:element>
|
||||
</xsd:schema>
|
||||
<resheader name="resmimetype">
|
||||
<value>text/microsoft-resx</value>
|
||||
</resheader>
|
||||
<resheader name="version">
|
||||
<value>2.0</value>
|
||||
</resheader>
|
||||
<resheader name="reader">
|
||||
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="Betterdiscord_small_black_blue" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Betterdiscord small black+blue.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="Betterdiscord_small_white_blue" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\Betterdiscord small white+blue.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
|
@ -1,26 +0,0 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
namespace BetterDiscordWI.Properties {
|
||||
|
||||
|
||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "15.1.0.0")]
|
||||
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
|
||||
|
||||
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
|
||||
|
||||
public static Settings Default {
|
||||
get {
|
||||
return defaultInstance;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
|
||||
<Profiles>
|
||||
<Profile Name="(Default)" />
|
||||
</Profiles>
|
||||
<Settings />
|
||||
</SettingsFile>
|
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 43 KiB |
|
@ -1,22 +0,0 @@
|
|||
using System;
|
||||
using System.Net;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace BetterDiscordWI {
|
||||
public static class Utils {
|
||||
|
||||
public static WebHeaderCollection Headers = new WebHeaderCollection { ["User-Agent"] = "Mozilla/5.0" };
|
||||
|
||||
public static async Task<string> GetHash() {
|
||||
using (var wc = new WebClient { Headers = Headers }) {
|
||||
var result = await wc.DownloadStringTaskAsync(@"https://api.github.com/repos/Jiiks/BetterDiscordApp/commits/master");
|
||||
|
||||
var start = result.IndexOf("{\"sha\":") + 8;
|
||||
var end = result.IndexOf("\",\"") - 8;
|
||||
|
||||
return result.Substring(start, end);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -1,76 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1">
|
||||
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
|
||||
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
|
||||
<security>
|
||||
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<!-- UAC Manifest Options
|
||||
If you want to change the Windows User Account Control level replace the
|
||||
requestedExecutionLevel node with one of the following.
|
||||
|
||||
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
<requestedExecutionLevel level="highestAvailable" uiAccess="false" />
|
||||
|
||||
Specifying requestedExecutionLevel element will disable file and registry virtualization.
|
||||
Remove this element if your application requires this virtualization for backwards
|
||||
compatibility.
|
||||
-->
|
||||
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
|
||||
</requestedPrivileges>
|
||||
</security>
|
||||
</trustInfo>
|
||||
|
||||
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
|
||||
<application>
|
||||
<!-- A list of the Windows versions that this application has been tested on and is
|
||||
is designed to work with. Uncomment the appropriate elements and Windows will
|
||||
automatically selected the most compatible environment. -->
|
||||
|
||||
<!-- Windows Vista -->
|
||||
<!--<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />-->
|
||||
|
||||
<!-- Windows 7 -->
|
||||
<!--<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />-->
|
||||
|
||||
<!-- Windows 8 -->
|
||||
<!--<supportedOS Id="{4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />-->
|
||||
|
||||
<!-- Windows 8.1 -->
|
||||
<!--<supportedOS Id="{1f676c76-80e1-4239-95bb-83d0f6d0da78}" />-->
|
||||
|
||||
<!-- Windows 10 -->
|
||||
<!--<supportedOS Id="{8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />-->
|
||||
|
||||
</application>
|
||||
</compatibility>
|
||||
|
||||
<!-- Indicates that the application is DPI-aware and will not be automatically scaled by Windows at higher
|
||||
DPIs. Windows Presentation Foundation (WPF) applications are automatically DPI-aware and do not need
|
||||
to opt in. Windows Forms applications targeting .NET Framework 4.6 that opt into this setting, should
|
||||
also set the 'EnableWindowsFormsHighDpiAutoResizing' setting to 'true' in their app.config. -->
|
||||
<!--
|
||||
<application xmlns="urn:schemas-microsoft-com:asm.v3">
|
||||
<windowsSettings>
|
||||
<dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
|
||||
</windowsSettings>
|
||||
</application>
|
||||
-->
|
||||
|
||||
<!-- Enable themes for Windows common controls and dialogs (Windows XP and later) -->
|
||||
<!--
|
||||
<dependency>
|
||||
<dependentAssembly>
|
||||
<assemblyIdentity
|
||||
type="win32"
|
||||
name="Microsoft.Windows.Common-Controls"
|
||||
version="6.0.0.0"
|
||||
processorArchitecture="*"
|
||||
publicKeyToken="6595b64144ccf1df"
|
||||
language="*"
|
||||
/>
|
||||
</dependentAssembly>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
</assembly>
|
Before Width: | Height: | Size: 24 KiB |