var UTF8_tool=function(){};UTF8_tool.encode=function(B){var B=B.replace(/\r\n/g,"\n");var A="";for(var D=0;D<B.length;D++){var C=B.charCodeAt(D);if(C<128){A+=String.fromCharCode(C);}else{if((C>127)&&(C<2048)){A+=String.fromCharCode((C>>6)|192);A+=String.fromCharCode((C&63)|128);}else{A+=String.fromCharCode((C>>12)|224);A+=String.fromCharCode(((C>>6)&63)|128);A+=String.fromCharCode((C&63)|128);}}}return A;};UTF8_tool.decode=function(A){utftext=A;var A="";var B=0;var C=c1=c2=0;while(B<utftext.length){C=utftext.charCodeAt(B);if(C<128){A+=String.fromCharCode(C);B++;}else{if((C>191)&&(C<224)){c2=utftext.charCodeAt(B+1);A+=String.fromCharCode(((C&31)<<6)|(c2&63));B+=2;}else{c2=utftext.charCodeAt(B+1);c3=utftext.charCodeAt(B+2);A+=String.fromCharCode(((C&15)<<12)|((c2&63)<<6)|(c3&63));B+=3;}}}return A;};
