static Buf()
{
// base64
for (int i=0; i<hexInv.Length; ++i) hexInv[i] = -1;
for (int i=0; i<10; ++i) hexInv['0'+i] = i;
for (int i=10; i<16; ++i) hexInv['a'+i-10] = hexInv['A'+i-10] = i;
// hex
for (int i=0; i<base64inv.Length; ++i) base64inv[i] = -1;
for (int i=0; i<base64chars.Length; ++i) base64inv[base64chars[i]] = i;
base64inv['='] = 0;
}