var s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/~!@#¥%……&"
, u = String.fromCharCode
, f = function(n) {
if (n.length < 2) {
var e = n.charCodeAt(0);
return 128 > e ? n : 2048 > e ? u(192 | e >>> 6) + u(128 | 63 & e) : u(224 | e >>> 12 & 15) + u(128 | e >>> 6 & 63) + u(128 | 63 & e)
}
var e = 65536 + 1024 * (n.charCodeAt(0) - 55296) + (n.charCodeAt(1) - 56320);
return u(240 | e >>> 18 & 7) + u(128 | e >>> 12 & 63) + u(128 | e >>> 6 & 63) + u(128 | 63 & e)
}
, l = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g
, d = function(n) {
return (n + "" + Math.random()).replace(l, f)
}
, g = function(n) {
var e = [0, 2, 1][n.length % 3]
, o = n.charCodeAt(0) << 16 | (n.length > 1 ? n.charCodeAt(1) : 0) << 8 | (n.length > 2 ? n.charCodeAt(2) : 0)
, t = [s.charAt(o >>> 18), s.charAt(o >>> 12 & 63), e >= 2 ? "=" : s.charAt(o >>> 6 & 63), e >= 1 ? "=" : s.charAt(63 & o)];
return t.join("")
}
, m = function(n) {
return n.replace(/[\s\S]{1,3}/g, g)
}
, h = function() {
return m(d((new Date).getTime()))
}