<!-- 
//cd11.js
var maxLineLength=64;var hexSentinel="?HX?",hexEndSentinel="?H";
function armour_hex(b){var h=hexSentinel+byteArrayToHex(b)+hexEndSentinel;
var t="";while(h.length>maxLineLength){t+=h.substring(0,maxLineLength)+"\n";
h=h.substring(maxLineLength,h.length);}t+=h+"\n";return t;}
function disarm_hex(s){var hexDigits="0123456789abcdefABCDEF";var hs="",i;
if((i=s.indexOf(hexSentinel))>=0){s=s.substring(i+hexSentinel.length,s.length);}
if((i=s.indexOf(hexEndSentinel))>=0){s=s.substring(0,i);}for(i=0;i<s.length;i++)
{var c=s.charAt(i);if(hexDigits.indexOf(c)>=0){hs+=c;}}return hexToByteArray(hs);
}var acgcl,acgt,acgg;function armour_cg_outgroup(){if(acgcl.length>maxLineLength)
{acgt+=acgcl+"\n";acgcl="";}if(acgcl.length>0){acgcl+=" ";}acgcl+=acgg;
acgg="";}function armour_cg_outletter(l){if(acgg.length>=5)
{armour_cg_outgroup();}acgg+=l;}var codegroupSentinel="ZZZZZ";
function armour_codegroup(b){var charBase=("A").charCodeAt(0);
acgcl=codegroupSentinel;acgt="";acgg="";var cgrng=new LEcuyer(0xbadf00d);
for(i=0;i<b.length;i++){var r=cgrng.nextInt(23);
armour_cg_outletter(String.fromCharCode(charBase+((((b[i]>>4)&0xF))+r)%24));
r=cgrng.nextInt(23);
armour_cg_outletter(String.fromCharCode(charBase+((((b[i]&0xF))+r)%24)));}
delete cgrng;while(acgg.length<5){armour_cg_outletter("Z");}
armour_cg_outgroup();acgg="YYYYY";armour_cg_outgroup();acgt+=acgcl+"\n";
return acgt;}var dcgs,dcgi;function disarm_cg_insig(){while(dcgi<dcgs.length)
{var c=dcgs.charAt(dcgi++).toUpperCase();if((c>="A")&&(c<="Z")){return c;}}
return "";}function disarm_codegroup(s){var b=new Array();var nz=0,ba,bal=0,
c;dcgs=s;dcgi=0;while(nz<5){c=disarm_cg_insig();if(c=="Z"){nz++;}
else if(c==""){nz=0;break;}else{nz=0;}}if(nz==0){alert("No codegroup starting symbol found in message.");return "";
}var charBase=("A").charCodeAt(0);var cgrng=new LEcuyer(0xbadf00d);for(nz=0;
nz<2;){c=disarm_cg_insig();if((c=="Y")||(c=="")){break;}else if(c!="Z")
{var r=cgrng.nextInt(23);var n=c.charCodeAt(0)-charBase;n=(n+(24-r))%24;if(nz==0)
{ba=(n<<4);nz++;}else{ba|=n;b[bal++]=ba;nz=0;}}}delete cgrng;var kbo="  Attempting decoding with data received.";
if(nz!=0){alert("Codegroup data truncated."+kbo);}else{if(c=="Y"){nz=1;while(nz<5)
{c=disarm_cg_insig();if(c!="Y"){break;}nz++;}if(nz!=5){alert("Codegroup end group incomplete."+kbo);}}
else{alert("Codegroup end group missing."+kbo);}}return b;}var base64code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",base64sent="?b64",
base64esent="?64b",base64addsent=true;function armour_base64(b){var b64t="";
var b64l=base64addsent?base64sent:"";var i;for(i=0;i<=b.length-3;i+=3)
{if((b64l.length+4)>maxLineLength){b64t+=b64l+"\n";b64l="";}
b64l+=base64code.charAt(b[i]>>2);b64l+=base64code.charAt(((b[i]&3)<<4)
|(b[i+1]>>4));b64l+=base64code.charAt(((b[i+1]&0xF)<<2)|(b[i+2]>>6));
b64l+=base64code.charAt(b[i+2]&0x3F);}if((b.length-i)==1)
{b64l+=base64code.charAt(b[i]>>2);b64l+=base64code.charAt(((b[i]&3)<<4));
b64l+="==";}else if((b.length-i)==2){b64l+=base64code.charAt(b[i]>>2);
b64l+=base64code.charAt(((b[i]&3)<<4)|(b[i+1]>>4));
b64l+=base64code.charAt(((b[i+1]&0xF)<<2));b64l+="=";}if((b64l.length+4)
>maxLineLength){b64t+=b64l+"\n";b64l="";}if(base64addsent)
{b64l+=base64esent;}b64t+=b64l+"\n";return b64t;}function disarm_base64(s)
{var b=new Array();var i=0,j,c,shortgroup=0,n=0;var d=new Array();
if((j=s.indexOf(base64sent))>=0){s=s.substring(j+base64sent.length,s.length);}
if((j=s.indexOf(base64esent))>=0){s=s.substring(0,j);}while(i<s.length)
{if(base64code.indexOf(s.charAt(i))!=-1){break;}i++;}while(i<s.length){for(j=0;
j<4;){if(i>=s.length){if(j>0){alert("Base64 cipher text truncated.");return b;}break;}
c=base64code.indexOf(s.charAt(i));if(c>=0){d[j++]=c;}else if(s.charAt(i)=="=")
{d[j++]=0;shortgroup++;}else if(s.substring(i,i+base64esent.length)==base64esent)
{i=s.length;continue;}else{}i++;}if(j==4){b[n++]=((d[0]<<2)|(d[1]>>4))&0xFF;
if(shortgroup<2){b[n++]=((d[1]<<4)|(d[2]>>2))&0xFF;if(shortgroup<1)
{b[n++]=((d[2]<<6)|d[3])&0xFF;}}}}return b;}
// -->
