function doLogo();

%*********************************************************************
% $Id: doLogo.m,v 1.5 2007/01/30 20:17:17 vnadkar Exp $
%
% Creates the png file "logo.png". The following steps were taken to
% create this .m file:
%
% 1. xxd logo.png > logo.txt
% 2. Perl doDec.pl logo.txt > logo.out  [perl script included below]
% 3. Pulled the logo.out data into this file as the logo data array
% 4. Manipulated the end of the array to account for it not being
%    aligned on a 16-bit boundary (the Perl script assumes it is).
% 5. Wrote the simple code at the end that creates a binary file and
%    outputs the data.
% 6. Modified the last write because the file has an odd number of bytes
%    [Note necessary with an updated version of the .png data which is
%     an even number of bytes]
%
%*********************************************************************
% ------ Cut Here ------
% # doDec.pl
% use strict;
%
% while(<>)
% {
%   my @Data = split(" ",$_);
%   for(my $i=1;$i<=8;$i++)
%   {
%     print hex(@Data[$i])," ";
%   }
%   print "...\n";
% 
% }
%
% ------ Cut Here ------

logo = [ ...
35152 20039 3338 6666 0 13 18760 17490 ...
0 400 0 114 2051 0 74 39543 ...
49920 0 16208 19540 17919 65535 0 32 ...
8192 32 32768 16512 16448 16416 16512 8288 ...
32864 24640 16480 32832 32896 24704 32896 32896 ...
41120 32864 33023 32896 65408 41215 41120 65440 ...
49407 49344 65472 65535 50974 7148 0 1 ...
29778 20051 64 59096 26112 13 44617 17473 ...
21624 56045 40411 25252 8204 16403 51829 32793 ...
13566 65463 60931 43176 41016 40374 54190 48236 ...
46933 11833 36996 4117 57386 22457 51797 44658 ...
38315 64697 53855 8824 44962 54405 58557 32880 ...
32289 31027 8348 7098 1265 22080 14391 49957 ...
35511 706 42429 25841 22080 14423 57746 50779 ...
441 37052 7568 3017 56065 39196 44673 64174 ...
60346 44711 10012 12298 56793 45655 56672 22181 ...
31725 54904 54677 65244 59394 32045 4302 11653 ...
23550 23401 61149 47430 61215 64620 55659 32854 ...
55166 48246 6555 62868 15544 65206 47870 63141 ...
16548 2308 30251 12403 26146 56569 38658 57695 ...
3044 18624 27625 55343 1186 27866 36572 25985 ...
18815 505 24096 2955 28197 38763 10922 48000 ...
31779 37052 58017 46034 34477 32105 35761 23616 ...
24064 9359 12434 57631 64582 25782 33427 57602 ...
61997 16620 55989 60161 186 60698 57738 11808 ...
24334 17494 60789 24384 53855 16574 6280 44169 ...
33566 55024 53383 56121 33116 16446 2404 39666 ...
8580 36975 515 65416 48853 61528 29883 48000 ...
31777 37081 40103 34208 54957 51982 122 54060 ...
37387 51303 32972 64202 38086 19306 62145 17067 ...
19502 8351 59726 49006 18630 57167 23310 15289 ...
50596 55988 38653 47232 15391 60380 3291 16986 ...
3446 45604 41919 19378 18820 32088 5723 55502 ...
44234 28280 21806 52127 1586 39920 56258 43861 ...
63846 45463 40051 5114 34073 12781 36108 56093 ...
65307 7488 48151 36969 39751 35753 57135 6987 ...
64324 6382 20265 3802 60974 12064 46542 53434 ...
6409 47613 24295 27661 46809 63933 32828 41392 ...
14375 6394 17808 28937 42192 39997 11733 3016 ...
35165 8577 60694 27230 25920 42189 6088 16477 ...
2230 39715 23777 754 23072 7655 40008 11671 ...
50364 17060 7434 7505 144 755 60011 33104 ...
57221 59314 23721 23429 7366 10709 30497 33966 ...
7962 32848 57197 11837 356 41006 46661 10215 ...
1757 54442 38177 6773 27047 43618 42758 38171 ...
32121 49802 60417 59799 26098 12602 9017 59167 ...
46704 19767 38126 40144 30054 15985 41797 1147 ...
5885 44351 50 22370 47841 13456 15935 19090 ...
52679 57149 59228 34392 41305 1651 1913 39722 ...
59757 39476 26903 53761 240 18320 52702 60174 ...
37054 59407 54061 8045 31075 47294 21414 19859 ...
43756 8535 29340 29543 2880 38549 44238 32782 ...
33156 21218 18571 40034 40042 804 0 19477 ...
17539 37139 2304 82 732 9503 48644 34909 ...
36598 1168 60777 33229 46674 58707 33805 37101 ...
49564 14593 42112 33651 52767 3442 51755 13541 ...
54915 23732 56013 16504 0 29695 544 33762 ...
52994 59658 37384 45066 50093 38612 1672 10789 ...
30772 953 54658 17258 26833 22748 39629 42140 ...
33570 63950 64574 30118 36686 39169 232 47831 ...
817 64601 8229 7772 21037 56057 10243 10518 ...
54024 25767 45763 41942 15335 40055 9738 59313 ...
28000 46450 17266 38117 58527 256 13605 1949 ...
626 58319 745 52098 45253 62913 14743 17211 ...
37004 51230 4277 22469 53530 20892 29497 39001 ...
49788 15099 10314 45455 49053 5716 38726 29596 ...
35186 1608 53151 1186 43042 3539 55076 54429 ...
50 47879 29984 33642 24166 13709 29955 37882 ...
9527 63348 17697 50845 33116 10471 8996 26496 ...
39015 33264 39476 42156 2504 40449 8937 4296 ...
24909 47995 51216 34726 37497 12507 15290 27253 ...
65012 24426 55731 40704 8953 54080 52759 21269 ...
41906 54996 38472 5448 14446 45375 29306 1872 ...
47531 39372 23711 29208 55294 24503 38922 9943 ...
39611 53041 39936 49855 5000 43520 35097 39531 ...
5528 19534 5576 45145 35270 43027 4362 5119 ...
44690 65351 62236 2227 60503 20021 58707 24885 ...
40093 5306 61187 41556 17727 51666 8036 6600 ...
44498 47024 4036 38454 33636 39695 15189 40164 ...
27324 51852 19186 46776 45979 8013 6227 45353 ...
6122 44321 62967 48000 39102 29344 44802 38066 ...
65226 16460 52518 43101 8276 53616 63318 48046 ...
57948 20563 62598 38589 30820 37273 39729 46905 ...
8211 62138 28035 44029 19776 37476 7733 65462 ...
28419 29315 39505 41021 8353 42652 21603 62080 ...
35957 44306 58674 50521 63389 25814 37205 63468 ...
61539 16460 46517 48802 21646 32916 30038 1416 ...
43736 56277 62902 1480 31829 57204 29640 47799 ...
54800 62206 544 53848 27533 19153 56902 8387 ...
29374 13496 16711 16552 35004 3108 54394 45994 ...
17717 281 38856 56017 23838 20481 16568 52734 ...
17503 51649 55870 61822 3784 7220 42974 57039 ...
18043 63360 29855 1042 62861 28121 52632 60150 ...
40282 32804 57750 42667 45475 28953 33365 26921 ...
57063 14688 51990 62585 8358 12591 60187 32876 ...
27146 29984 45806 19865 13887 19309 21782 54780 ...
29971 5576 9391 32278 40061 45514 21232 50752 ...
27669 18639 23425 55302 47063 54394 23693 59816 ...
51538 48858 43255 48915 51299 26392 46902 51159 ...
19520 58368 10102 65329 60478 54635 38503 15263 ...
3741 49211 817 21792 30419 17690 52064 55980 ...
64045 63080 13323 54453 4641 128 10591 19229 ...
58104 17216 21525 18531 33970 12994 22999 4264 ...
46083 13513 29678 25683 51346 13949 56841 63998 ...
1856 21627 1197 16264 63178 2319 58793 3213 ...
20989 65064 27890 42880 51242 4313 3684 14272 ...
42048 52643 19279 6670 59076 39603 18305 50443 ...
2279 36337 17859 14823 29899 11585 46922 27960 ...
44625 52711 60927 272 19989 8388 24320 9450 ...
11354 39154 29937 61544 21634 54400 58114 45612 ...
36701 12713 24953 46130 40374 21649 36030 21564 ...
49661 26697 507 15168 34327 177 47873 30798 ...
43918 52751 36056 37421 39390 21877 36705 33879 ...
42753 64850 6962 48132 18456 33068 47924 43808 ...
47663 52768 38329 53195 41243 250 50884 61387 ...
43111 58819 61131 35254 862 47280 17175 61142 ...
23067 13849 50020 63999 1700 32031 25196 44508 ...
49790 40451 38178 22779 44894 42116 9103 47612 ...
8000 19699 20221 51655 10274 36962 57963 5577 ...
24804 6220 46064 40705 47413 889 62133 37046 ...
2692 29525 23643 49480 44742 25620 64223 32984 ...
5057 50535 38664 60676 56741 45473 51998 30897 ...
18034 15975 5978 63715 16390 56956 16405 24067 ...
1026 42941 5370 55405 26004 39443 40460 34243 ...
35990 16130 58564 4462 49023 60985 13375 55414 ...
60367 50474 19775 36224 65083 8315 18702 27255 ...
7297 39751 58307 19924 5345 52723 5992 48477 ...
63923 16570 41502 27210 29272 47449 34547 59111 ...
55968 39240 31274 55198 21592 48909 34986 40607 ...
63015 53888 35433 60394 29132 17497 10341 5847 ...
47100 12783 18189 32534 51260 47563 27304 11601 ...
11991 59641 29759 64668 37146 7554 32203 16070 ...
5331 24969 8952 47936 19685 61959 40008 9677 ...
21704 62025 21627 2212 22115 10692 39710 26173 ...
63778 34399 1572 40262 28446 56485 65004 30553 ...
61567 24821 49822 40227 62805 31446 44762 37547 ...
58456 13820 27936 40091 4266 2983 1636 15265 ...
54653 23437 27905 13015 22962 60755 24683 31832 ...
58612 10180 32287 37053 29625 62983 30282 29563 ...
26626 12991 55136 62424 64276 54426 22687 32729 ...
51871 114 33539 8429 27014 3392 45664 25199 ...
45825 51697 8503 15229 15596 35248 55727 370 ...
56193 17287 16458 40953 14507 45106 28461 21316 ...
32136 62095 38074 34645 26474 64709 16634 47834 ...
59872 6344 57698 27537 40618 17628 43279 51844 ...
31626 10038 40339 64634 8370 61034 23144 370 ...
16548 26931 24061 19035 57621 11471 34352 32523 ...
36944 30206 61392 1636 38728 23408 25449 50405 ...
30826 48833 8559 53119 12791 38656 20816 56446 ...
44109 61950 52071 60022 42033 63671 32052 62942 ...
5037 46829 51838 60099 26815 1224 7626 39323 ...
43991 47388 48286 43319 47963 60403 16632 1807 ...
5230 10942 37186 19043 48079 32295 63383 89 ...
48419 44054 31802 31873 23009 4895 10046 51389 ...
62454 13090 31441 10123 64446 63038 48874 35834 ...
30318 16248 50655 59122 11383 43380 2837 39590 ...
24725 37970 55746 19231 43435 21919 47529 2980 ...
63283 55902 54640 23781 21285 48751 46076 6861 ...
4928 44559 44031 30801 30187 30101 40709 29309 ...
39160 44416 51451 9611 14082 8941 28809 57997 ...
32984 19214 61188 58486 47446 61188 17501 14558 ...
43644 35751 60340 54874 60178 31463 39466 14399 ...
27496 44696 46096 65267 41760 19963 17268 45329 ...
38837 46520 50621 52188 63368 35889 50762 64865 ...
44197 1652 59175 459 39447 3269 49653 25263 ...
2351 192 41951 7970 8739 96 29523 46312 ...
63507 41976 10784 58769 4219 48775 36601 17952 ...
33873 39431 28065 57081 41926 41941 33562 168 ...
28026 48401 4167 9442 21540 8500 54020 56835 ...
14351 16964 31160 62567 8225 13313 33011 9244 ...
14338 53476 37862 61762 2204 37889 59768 43383 ...
41187 15840 33952 2440 17922 16 6251 5380 ...
222 37710 11626 8476 9 25730 49169 2311 ...
24067 104 8043 61952 39585 53321 26041 54357 ...
15629 25862 4863 28990 56843 57027 57878 18315 ...
11968 55429 7940 49668 25356 7424 8467 34820 ...
8196 99 35889 54272 41041 34868 41369 24648 ...
76 2260 49180 4106 9752 31232 34636 8398 ...
38195 8592 360 9880 16534 27233 54116 50680 ...
33615 44338 9216 49412 35597 45528 41575 35020 ...
33744 3189 23567 33818 16547 24808 16416 12829 ...
34721 12765 34874 3365 1794 513 38918 34385 ...
17681 14848 33201 33712 6328 26252 2556 6434 ...
34010 14823 32 2356 18825 35076 1053 32835 ...
647 16106 56744 26116 840 25203 16520 5197 ...
3722 23555 12545 132 7924 63611 36622 49191 ...
3753 43716 17956 43941 58149 1054 448 13130 ...
10827 42089 37188 60625 50453 42545 52523 8069 ...
10752 4221 23158 14608 36096 19524 30238 54104 ...
7168 12575 33124 24016 64358 59723 33072 50840 ...
6309 59185 3423 45937 34048 160 20287 2052 ...
36158 18720 3737 47412 25741 59783 31854 4369 ...
47780 39622 2318 39565 11080 12119 43591 40750 ...
6405 15579 37080 55812 9469 30466 17065 22145 ...
18866 31243 33920 35160 39702 55780 19014 56611 ...
9603 5739 64153 9618 43308 40198 50776 6852 ...
4616 12868 34312 6681 8930 50216 1970 23073 ...
40977 6467 14090 22951 23516 30341 14468 46234 ...
50392 8712 17620 32276 19828 36882 4103 54189 ...
5008 22711 18050 31021 5462 18500 38486 34630 ...
17633 9104 45323 31468 49851 33 17542 3158 ...
16454 13619 43906 4624 14302 39726 30201 49880 ...
25 7531 61322 16576 27526 59487 1348 9248 ...
7881 57832 63122 5000 61117 33072 57827 65193 ...
41138 26319 43020 33897 16367 48530 49049 857 ...
43564 28873 52066 39370 51840 35957 44161 30836 ...
64298 43780 34000 42314 38931 8927 34608 23721 ...
44279 578 21319 5696 29748 39290 13546 22530 ...
45788 27729 54013 39370 62161 18328 63265 3072 ...
56514 41550 16546 32985 4744 17154 24744 41875 ...
41361 58052 36430 49252 54283 16444 57944 35270 ...
30885 35733 35898 27859 34079 642 11514 35027 ...
2577 34952 51304 2340 47805 36002 27595 53399 ...
22280 8738 2586 6035 53324 58411 9402 48514 ...
11639 53562 30630 10016 50256 50271 26900 14849 ...
8516 49460 54016 8890 48608 37129 23227 48441 ...
37069 20029 20099 47202 20676 45452 13797 24056 ...
6591 55099 59292 29444 40448 60 30964 17630 ...
13062 56835 63672 36130 240 15086 43392 40054 ...
27135 38142 5815 21774 13347 62078 30366 48342 ...
7740 485 46392 8863 34229 62042 352 31085 ...
64533 14573 21247 92 44050 49319 2204 55194 ...
49217 54979 45371 63760 25379 27024 13405 58741 ...
6667 28090 61486 57773 13491 56371 37254 5162 ...
4610 44786 16933 50844 30714 43269 60240 14575 ...
50383 27817 65132 8481 33808 53189 5821 24802 ...
9713 62635 23781 10943 41724 845 2688 4593 ...
2924 11264 0 73 17742 17582 16992 130];


flogo = fopen('logo.png','w');
for i=1:length(logo);
  num     = floor(logo(i) / 256);
  byte(1) = logo(i) - num*256;
  byte(2) = (logo(i) - byte(1)) / 256;
  
  % Endian - byte(2) output first
  if(i<1824) % deal with the last odd byte
    fwrite(flogo, byte(2));
  end
  fwrite(flogo, byte(1));
end
fclose(flogo);
    
