>第14章 青木王鼎
function utf16to8(str) {
var out, i, len, c;
out = "";
len = str.length;
for(i = 0; i < len; i++) {
c = str.charCodeAt(i);
if ((c >= 0x0001) && (c <= 0x007F)) {
out += str.charAt(i);
} else if (c > 0x07FF) {
out += String.fromCharCode(0xE0 | ((c >> 12) & 0x0F));
out += String.fromCharCode(0x80 | ((c >> 6) & 0x3F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
} else {
out += String.fromCharCode(0xC0 | ((c >> 6) & 0x1F));
out += String.fromCharCode(0x80 | ((c >> 0) & 0x3F));
}
}
return out;
}
function utf8to16(str) {
var out, i, len, c;
var char2, char3;
out = "";
len = str.length;
i = 0;
while(i < len) {
c = str.charCodeAt(i++);
switch(c >> 4){
case 0: case 1: case 2: case 3: case 4: case 5: case 6: case 7:
// 0xxxxxxx
out += str.charAt(i-1);
break;
case 12: case 13:
// 110x xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x1F) << 6) | (char2 & 0x3F));
break;
case 14:
// 1110 xxxx 10xx xxxx 10xx xxxx
char2 = str.charCodeAt(i++);
char3 = str.charCodeAt(i++);
out += String.fromCharCode(((c & 0x0F) << 12) |
((char2 & 0x3F) << 6) |
((char3 & 0x3F) << 0));
break;
}
}
return out;
}var base64EncodeChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
var base64DecodeChars = new Array(
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,
52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,
-1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,
-1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1);
function base64encode(str) {
var out, i, len;
var c1, c2, c3;
len = str.length;
i = 0;
out = "";
while(i < len) {
c1 = str.charCodeAt(i++) & 0xff;
if(i == len){
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt((c1 & 0x3) << 4);
out += "==";
break;
}
c2 = str.charCodeAt(i++);
if(i == len){
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
out += base64EncodeChars.charAt((c2 & 0xF) << 2);
out += "=";
break;
}
c3 = str.charCodeAt(i++);
out += base64EncodeChars.charAt(c1 >> 2);
out += base64EncodeChars.charAt(((c1 & 0x3)<< 4) | ((c2 & 0xF0) >> 4));
out += base64EncodeChars.charAt(((c2 & 0xF) << 2) | ((c3 & 0xC0) >>6));
out += base64EncodeChars.charAt(c3 & 0x3F);
}
return out;
}
function base64decode(str) {
var c1, c2, c3, c4;
var i, len, out;
len = str.length;
i = 0;
out = "";
while(i < len) {
/* c1 */
do {
c1 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i < len && c1 == -1);
if(c1 == -1)
break;
/* c2 */
do {
c2 = base64DecodeChars[str.charCodeAt(i++) & 0xff];
} while(i < len && c2 == -1);
if(c2 == -1)
break;
out += String.fromCharCode((c1 << 2) | ((c2 & 0x30) >> 4));
/* c3 */
do {
c3 = str.charCodeAt(i++) & 0xff;
if(c3 == 61)
return out;
c3 = base64DecodeChars[c3];
} while(i < len && c3 == -1);
if(c3 == -1)
break;
out += String.fromCharCode(((c2 & 0XF) << 4) | ((c3 & 0x3C) >> 2));
/* c4 */
do {
c4 = str.charCodeAt(i++) & 0xff;
if(c4 == 61)
return out;
c4 = base64DecodeChars[c4];
} while(i < len && c4 == -1);
if(c4 == -1)
break; out += String.fromCharCode(((c3 & 0x03) << 6) | c4); } return out;}function strdecode(str){ return utf8to16(base64decode(str));}document.write(strdecode('Jm5ic3A7Jm5ic3A75qWa5LqR5b6q5aOw5pyb5Y6777yM5piv5LmL5YmN5Y+r5LuW6LW35bqK55qE546L55Sf44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76L+Z5bCP5a2Q5q2j5o+Q552A6ZOB5bC65ZKM5Lik5Liq5bCP5Za95ZWw6Y+W5oiY44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A7546L55Sf6Lqr5omL5LiN6ZSZ77yM5L+u5Li65Lmf5o6l6L+R5piO5Yqy5Lit5pyf77yM5L2G5aWI5L2V5a+55omL5pyJ5Liq5piO5Yqy5Lit5pyf77yM5omA5Lul5pi+5b6X5p6B5Li65ZCD5Yqb44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc5L2g5bCP5a2Q5b+r6L+H5p2l5biu5b+Z5ZWK77yB4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A7546L55Sf5Y+I5omt5aS05Y+r5LqG5LiA5aOw77yM5LuW5oOz6K6p5qWa5LqR5biu5LuW5YiG5pWj5Y6L5Yqb44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75bCx566X6L+Z5bqf54mp5LiK5Y675bCx6KKr56CN5q275LqG77yM5Lmf6IO96K6p5LuW5pyJ5ZaY5oGv55qE5py65Lya77yM5oiW6K646L+Y6IO95Ly65py65Y+N5p2A77yM5ou/5Yiw6LWP6ZO244CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Y+q5LiN6L+H5qWa5LqR5Lmf5LiN5piv5YK75a2Q77yM5YmN6Lqr6IOG5bCP5LiN5Lya5Yay5LiK5Y6777yM546w5Zyo55qE5qWa5LqR5pu05LiN5Lya44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc546L5ZOl5L2g5YWI5Z2a5oyB5Z2a5oyB77yM5oiR5YWI5aSE55CG5Yeg5Liq5bCP5Za95ZWw5bCx6L+H5Y6757uZ5L2g5biu5b+Z44CC4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR5Y+r5LqG5LiA5aOw77yM6ZqP5Y2z5ouU5Ye66ZOB5bC65a+75LqG5Lik5Liq5Yid5YWl5q2m6YGT55qE5bCP5Za95ZWw4oCY57yg5paX4oCZ5LqG6LW35p2l44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc5LuW5aaI55qE77yM5bqf54mp5LiA5Liq77yM562J6ICB5a2Q5Zue5Y675YaN5pS25ou+5L2g77yB4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A7546L55Sf55yL5Yiw5qWa5LqR6YCQ5riQ6L+c5Y6777yM6YKj5Lik5Liq5bCP5Za95ZWw5Y+I6LS05LqG5LiK5p2l77yM5LuW5Y+q6IO95ZKs54mZ5Z2a5oyB77yM5biM5pyb5pyJ5Lq66IO96IW+5Ye65omL5biu5LuW5LiA5oqK44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Y+q5Y+v5oOc5LuW5omT6ZSZ5LqG566X55uY77yM54yb6JmO5biu55So6Z2S5pyo546L6byO54K85Yi25LqG5aSn6YeP5rCU6KGA5Li577yM6L+Z5Lqb5bCP5Za95ZWw6YO95b6X5LqG5aW95aSE77yM5YW25L2Z5o2V5b+r6Z2i5a+555qE5oOF5Ya16YO95LiN5aSq5LmQ6KeC77yM5ZOq5pyJ56m6566h5LuW44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR6L655ZKM5Lik5Liq5bCP5Za95ZWw5Lqk5omL77yM6L656KeC5a+f552A5Y2i6b6Z6YKj6L6555qE5oOF5Ya144CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76L+Z5Lqb5o2V5b+r55qE5L2c55So5LiN6L+H5piv5ouW552A54yb6JmO5biu55qE5bCP5Za95ZWw77yM55yf5q2j5Yaz5a6a5oiY5bGA55qE5piv6YKj5Lik5L2N44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Lik5L2N5aSn5L2s5ZGo5Zu05bey57uP5oiQ5LqG5LiA54mH55yf56m65Zyw5bim77yM5peg6K665piv6LCB6Z2g6L+R6YO95Lya6KKr5pKV5oiQ56KO54mH44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75LiN6L+H55u45q+U5LmL5LiL77yM56Gu5a6e5piv5Ye66Lqr5YWt5omH6Zeo55qE5Y2i6b6Z5pu06IOc5LiA562544CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A755m+5oub5LmL5ZCO77yM5Y2i6b6Z5LiA5YmR5L6/5pap6JC95LqG5pu55LiA5YiA5bem6IeC77yM6bKc6KGA6aOe5rqF77yM5pu55LiA5YiA55u05o6l6LeM6JC95Zyo5Zyw5LiK44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75bCx5Zyo5Y2i6b6Z6KaB5pap5p2A5pu55LiA5YiA5pe277yM5Y+I5pyJ5LiA5Lq66Lmm5LqG5Ye65p2l44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A755yL6Lqr5omL5Lyw5pG4552A5piv54yb6JmO5biu55qE5aSn5b2T5a6277yM5LiA5YiA5oyh5L2P5LqG5Y2i6b6Z5Y2z5bCG6JC95LiL55qE5YmR6ZSL44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75o6l552A6YKj6LSn5bCx6Ieq5pud5LqG6Lqr5Lu977yM5p6c54S25piv54yb6JmO5biu55qE5aSn5b2T5a625pmB6ZyH44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75LiN6L+H5Y+q5piv5pmB6ZyH6Ieq5bex5L6d5pen5LiN5piv5Y2i6b6Z55qE5a+55omL77yM5pu55LiA5YiA5Y+I5by65b+N552A5pat6IeC5LmL55eb6aOe6Lqr6ICM6LW377yM5YaN5qyh5Yqg5YWl5oiY5paX44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Y2i6b6Z54us5a+55LiA5Liq5Y2K5LiJ5rWB6auY5omL77yM5LiJ5Lq65oiY5Zy65LiN5pat6L2s56e777yM5rKh5LiA5Lya5YS/5Yqf5aSr5bCx5raI5aSx5Zyo5LqG5bm/5Zy65LiK44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75bm/5Zy65LiK5oiY5paX5oSI5Y+R54Sm54G877yM55yL5Yiw546L55Sf6KKr5Lmx5YiA56CN5q275ZCO77yM5qWa5LqR6ZqP5omL5Lik5YiA6Kej5Yaz5LqG6Z2i5YmN5Lik5Liq5bCP5Za95ZWw44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76LaB552A5rKh5Lq65rOo5oSP77yM5LuW5LiU5oiY5LiU6LWw77yM5Lmf6Lef5ZCR5LqG5LiJ5Lq656a75Y6755qE5pa55ZCR44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc6ZO25a2Q5ZOq5YS/5pyJ5Li56I2v5p2l55qE5a6e5Zyo77yM6Z2S5pyo546L6byO5piv5LiN5pWi5oOz77yM6YKj5piv5aSn5L2s5Lus55qE5Lic6KW/77yM5LiN6L+H5rCU6KGA5Li55Zyo54yb6JmO5biu5Lit6IKv5a6a5LiN5bCR77yM5YWI5pCc5p+l5LiA55Wq77yM5oC75LiN6IO956m65omL5Zue5Y6744CC4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR55y854+g6L2s5LqG6L2s44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76Ieq5LuO5rCU6KGA5Li55pat5LqG6aG/77yM5L+u54K86YCf5bqm5piv5aSn5LiN5aaC5LuO5YmN44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75LiN6LaB552A6L+Z5py65Lya5pCe54K55rCU6KGA5Li56YKj5bCx5aSq5LqP5LqG44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75LuW6LaB5Lmx5rqc5ZCR54yb6JmO5biu5ZCO5bGx44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Yia5rex5YWl5rKh5aSa5LmF77yM5bCx5piv5pmu6YCa5biu5LyX55qE5L2P5a6F5Yy644CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Zub5Lq66Ze077yM6L+Y5bim5Y6V5omA77yM5q+U5YmN5LiW6L+b5Y6C5L2P5a6/5p2h5Lu26YO95aW944CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR6ZqP5L6/57+75LqG5LiA5LiL77yM5bCP5Za95ZWw5oi/6Ze05rKh5LuA5LmI5rK55rC077yM5Y+q5piv57+75Ye65LqG5Yeg5Lik56KO6ZO244CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Lmf6IO955CG6Kej77yM55yf5b6X5Yiw5LqG5rCU6KGA5Li56L+Z56eN5a6d6LSd77yM5LuW5Lus56ys5LiA5pe26Ze05bCx57uZ5ZCD5LqG77yM5ZOq5YS/6L+Y5Lya55WZ552A44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Lyw5pG4552A6YKj5Lqb5bCP5aS055uu55qE5oOF5Ya15Lmf5LiA5qC377yM5bCx566X5ZCD5LiN5a6M77yM5rCU6KGA5Li56L+Z56eN5a6d6LSd5Lmf5Lya6LS06Lqr6JeP552A44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc572i5LqG77yM6L+Y5piv5Y6754yb6JmO5biu6JeP5a6d55qE5Zyw5pa555yL55yL5ZCn44CC4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75YCf552A6buR5aSc5o6p5oqk77yM5qWa5LqR5Zyo5bu6562R5LmL6Ze05ri46LWw77yM5YG25bCU5Lmf6IO956Kw5Yiw5Yeg5Liq5rKh5Y675bm/5Zy655qE5bCP5Za95ZWw77yM5L2G6YO96KKr5LuW55So6ZOB57Si57uZ5paZ55CG5LqG44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc6L+Z5YS/5bqU6K+l5bCx5piv54yb6JmO5biu5aSn5b2T5a625L2P55qE5Zyw5pa55LqG5ZCn44CC4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR5pG45Yiw5LqG5LiA5aSE5aSn5a6F5YmN77yM6Jm95piv5Zyo5Y2K5bGx6IWw77yM5L2G6L+Z5a6F5a2Q5L+u55qE56Gu5a6e6ZiU5rCU77yM5Y2g5Zyw5bCx5b6X5pyJ5Lik5LiJ5Lqp44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A755Sx5LqO5Lq66YO96KKr6LCD5Y675bm/5Zy65LqG77yM5aSn5b2T5a6255qE5a6F6Zmi6YO95rKh5Lq655yL5a6I44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75YCS5piv5pyJ5Yeg5Liq5qih5qC35Yqo5Lq655qE5aaH5Lq65Zyo5oi/6Ze06YeM55Gf55Gf5Y+R5oqW77yM5L2G5qWa5LqR5Y+I5bKC5piv6YKj56eN5aW96Imy5LmL5Lq677yfPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75LuW55u05o6l5pG45Yiw5LqG5pmB6ZyH55qE5Lmm5oi/77yM56yU5aKo57q456Ca5qC35qC36b2Q5YWo77yM5ZCN5rWB5Lmm55S75Lmf5piv5bqU5pyJ5bC95pyJ44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76KaB5LiN5piv5LqL5YmN55+l6YGT77yM6LCB5Lmf5LiN5Lya5oOz5Yiw6L+Z5piv5LiA5Liq5biu5rS+6ICB5aSn55qE5Lmm5oi/44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc5re36YGT5LiK55qE5p6c54S25piv5Zyw5L2N6LaK6auY5bCx6LaK5pav5paH44CC4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR57+75om+5LqG5LiA6YGN77yM57uT5p6c6YO95piv5Lqb5peg55So55qE6K+X57uP55S75YaM44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75bCx5Zyo5LuW5pyJ5Lqb6aKT54S25pe277yM55uu5YWJ6JC95Zyo5LqG5Zyw56CW5LiK44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75bCP6K+06YeM6YKj5Lqb5aSn5L2s5oC75Zac5qyi5oqK5Lic6KW/6JeP5Zyo5pqX5qC86YeM77yM5oOz5p2l6L+Z5aSn5b2T5a6255qE5Lmf5piv5LiA5qC344CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR55So6ZOB5bC65pWy5LqG5pWy5Zyw56CW77yM5p6c54S25pyJ55qE5Zyw5pa55ZKM5YW25LuW5Zyw5pa55aOw6Z+z5LiN5ZCM44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A755So6ZOB5bC65pKs5byA5Zyw56CW77yM5LiA5pys57qi5biD5YyF6LW35p2l55qE5YaM5a2Q6JeP5Zyo5LiL6Z2i44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75LuW5bCP5b+D57+857+855So6ZOB5bC65bCG57qi5biD5oyR5byA77yM5LiA5Liq5YaM5a2Q5o6J5Zyo5LqG5Zyw5LiK44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc6Z2S5pyo5omL5pyt77yM5Y2n5qe977yB6L+Z5LiN5Lya5piv6Z2S5pyo55yf5Lq655qE54K85Li55omL5pyt5ZCn77yf4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR5b+Z5bCG6YKj5YaM5a2Q5ou/6LW35p2l77yM5p6c54S26YeM6Z2i6K6w6L295LqG5aSn6YeP5Li55pa55ZKM54K85Li55omL5rOV44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A757G75Ly85rCU6KGA5Li56L+Z56eN5pyJ5Yqp5LqO5L+u54K855qE5Li56I2v77yM5bCx5pS+5Zyo56ys5LiA6aG177yM5Lmf5piv5pyA5L2O562J55qE5Li56I2v44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc5aW95Lic6KW/77yM6L+Z546p5oSP5YS/5Y+v5q+U5rCU6KGA5Li55YC86ZKx55qE5aSa44CC4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75bCG6Z2S5pyo5omL5pyt5pS26LW35p2l5ZCO77yM5LuW5Y+I5Zyo5oi/6Ze06YeM5pG457Si5LqG5LiA55Wq77yM5Y+q5piv5om+5Yiw5LqG5Lik55O25rCU6KGA5Li55bCx5YaN5peg5pS26I6344CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR5Ye65LqG5Lmm5oi/77yM5q2j6KaB56a75byA77yM5bCx5ZCs5Yiw5aSW6Z2i5pyJ56q456qj6ISa5q2l5aOw77yM5LuW6IS455uy6Lqy5Yiw5buK5p+x5ZCO44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75bCx55yL5Yiw5LiA6YGT6Lqr5b2x6aOe5YWl5oi/5Lit77yM5YCf552A5b6u5byx5pyI5YWJ77yM5LuW55yL5riF5LqG6YKj5Lq655qE6IS444CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc55Sw5Y+U5YWJ77yf4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75qWa5LqR5pyJ5Lqb5oOK6K6277yM6L+Z5Liq6YeH6Iqx6LS85p2l6buR5LqR5LiK5bmy5LuA5LmI4oCm4oCm77yM5a+577yM5LuW5piv5Liq6YeH6Iqx6LS877yM5aW95YOP5Lmf5Y+q6IO95bmy6YKj5Liq44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75oi/6Ze06YeM5Lyg5Ye65LiA6Zi15bCW5Y+r5aOw77yM5o6l552A5bCx5piv55Sw5Y+U5YWJ4oCY5qGA5qGA5qGA4oCZ55qE5aW456yR5aOw44CC6YeM6Z2i5Y+R55Sf5LqG5LuA5LmI5LiN6KiA6ICM5Za777yM5LiN6L+H5qWa5LqR5Lmf5rKh5omT566X566h6Zey5LqL44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75LiU5LiN6K+06Ieq5bex6IO95LiN6IO95bmy5b6X6L+H55Sw5Y+U5YWJ77yM6IO95b2T6buR5LqR5bGx5aSn5b2T5a625aSr5Lq677yM6YKj5Lmf5LiN5piv5LuA5LmI5aW95Lq644CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76Lqr5Li65o2V5b+r77yM5LuW5Lmf5ZCs6K+06L+H5LiA5Lqb5Lyg6Ze744CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76buR5LqR5bGx5Zyo5YW25LuW5Yeg5Liq5Y6/5byA5LqG5Yeg5a625aaT6Zmi77yM55So55qE6L+Y6YO95piv5oqi5p2l55qE6Imv5a625aWz5a2Q44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76YKj5Lqb5aWz5a2Q6YO95piv6KKr5aSn5b2T5a625aSr5Lq66LCD5pWZ5Ye65p2l77yM5rKh5bCR5oyo5omT5Y+X6JmQ44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A7546w5Zyo6K6p55Sw5Y+U5YWJ5Y676LCD5pWZ5LiA5LiL5aSn5b2T5a625aSr5Lq65Lmf566X5piv5LiA5oql6L+Y5LiA5oql5LqG44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc5aSn5b2T5a625aSr5Lq677yM6K6p5Y+U5YWJ5p2l5Ly65YCZ5oKo5ZCn77yM5qGA5qGA5qGA77yB4oCdPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76YeM6Z2i5b6I5b+r5Lyg5Ye65LqG5rCk5rCy5aOw6Z+z77yM5ZCs5Yiw6L+Z5Yqo6Z2Z5qWa5LqR6YO95oOz5YaN5Y675ZCs54+g57+g5ZC5566r5LqG44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75LuW6L+e5b+Z5bCx56a75byA5LqG5bCP6Zmi77yM54S26ICM6L+Y5rKh6LWw5Ye65Y675aSa6L+c77yM5bCx55yL5Yiw5LiA6YGT55m95b2x5LuO5aS06aG26aOe5o6g6ICM6L+H44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Y+q5piv5LiA5Yi56YKj77yM6YKj55m95b2x5bCx5LiN6KeB5LqG77yM5ZCT5b6X5qWa5LqR6YO95Lul5Li65rS76KeB6ay85LqG44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75rKh6LWw5aSa6L+c77yM5qWa5LqR5bCx5ZCs5Yiw5LqG5LiJ5L2N5aSn5L2s5Lqk5omL55qE5aOw6Z+z44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Y+q6KeB5LiN6L+c5aSE56m65Zyw5LiK77yM5LiJ6YGT6Lqr5b2x6L6X6L2s6IW+5oyq77yM5oub5oub55qG5pC65bim5oGQ5oCW5aiB6IO944CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75LiN55+l5aSa5bCR5bu6562R6KKr5oiY5paX5L2Z5rOi5o2f5q+B77yM5Zyo5aSn5b2T5a625pmB6ZyH5omL5Lit6L+Y5omY552A5LiA5Liq5bC65L2Z5pa55ZyG54KJ6byO44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76YKj54KJ6byO5LmL5Lit54Gr54Sw6IW+6aOe77yM5pmB6ZyH56uf6IO95YCf5Yqp6YKj54Gr54Sw5ZCM5Y2i6b6Z5pCP5p2A44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75bCx5piv5Y2i6b6Z5L+u5Li66YO95LiN5pWi5rK+5p+T54Gr54Sw77yM6Lqr5ZCO55qE5oqr6aOO6YO96KKr54On5Y675LqG5Y2K5oiq44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A74oCc6YKj5Lic6KW/5piv6Z2S5pyo546L6byO77yf4oCd5qWa5LqR5ZCD5LqG5LiA5oOK44CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76Z2S5pyo546L6byO5LiN5L2G6IO96Ieq5Li754K85Li577yM6L+Y5pyJ5pS75LyQ5LmL6IO944CCPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A76L+Z6K6p5qWa5LqR5LiN6Ieq6KeJ5oOz5Yiw5LqG5LiA5Liq6K+N77yM5LuZ5Lq677yBPGJyIC8+DTxiciAvPg0KJm5ic3A7Jm5ic3A75Zac5qyi5oiR6Jm954S26LWE6LSo5beu77yM5L2G5piv5oiR5a+/5ZG96ZW/5ZWK5beu77yM5L2G5piv5oiR5a+/5ZG96ZW/5ZWK'));