private static string unescape(string s)
{
StringBuilder buf = new StringBuilder(s.Length);
for (int i=0; i<s.Length; ++i)
{
int c = s[i];
if (c != '\\') buf.Append((char)c);
else if (s[i+1] == '\\') { buf.Append('\\'); i++; }
}
return buf.ToString();
}