javascript screenshot.js
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript screenshot.js相关的知识,希望对你有一定的参考价值。
(function() {
var k, aa = "function" == typeof Object.defineProperties ? Object.defineProperty : function(a, b, c) {
if (c.get || c.set) throw new TypeError("ES3 does not support getters and setters.");
a != Array.prototype && a != Object.prototype && (a[b] = c.value)
},
ba = "undefined" != typeof window && window === this ? this : "undefined" != typeof global && null != global ? global : this,
ca = function(a, b) {
if (b) {
for (var c = ba, d = a.split("."), e = 0; e < d.length - 1; e++) {
var f = d[e];
f in c || (c[f] = {});
c = c[f]
}
d = d[d.length - 1];
e = c[d];
f = b(e);
f != e && null != f && aa(c, d, {
configurable: !0,
writable: !0,
value: f
})
}
},
da = function(a, b) {
return Object.prototype.hasOwnProperty.call(a, b)
};
ca("Object.assign", function(a) {
return a ? a : function(a, c) {
for (var b = 1; b < arguments.length; b++) {
var e = arguments[b];
if (e)
for (var f in e) da(e, f) && (a[f] = e[f])
}
return a
}
});
var ea = function() {
ea = function() {};
ba.Symbol || (ba.Symbol = fa)
},
ga = 0,
fa = function(a) {
return "jscomp_symbol_" + (a || "") + ga++
},
ja = function() {
ea();
var a = ba.Symbol.iterator;
a || (a = ba.Symbol.iterator = ba.Symbol("iterator"));
"function" != typeof Array.prototype[a] && aa(Array.prototype, a, {
configurable: !0,
writable: !0,
value: function() {
return ia(this)
}
});
ja = function() {}
},
ia = function(a) {
var b = 0;
return la(function() {
return b < a.length ? {
done: !1,
value: a[b++]
} : {
done: !0
}
})
},
la = function(a) {
ja();
a = {
next: a
};
a[ba.Symbol.iterator] =
function() {
return this
};
return a
},
ma = function(a) {
ja();
var b = a[Symbol.iterator];
return b ? b.call(a) : ia(a)
};
ca("WeakMap", function(a) {
function b(a) {
da(a, d) || aa(a, d, {
value: {}
})
}
function c(a) {
var c = Object[a];
c && (Object[a] = function(a) {
b(a);
return c(a)
})
}
if (function() {
if (!a || !Object.seal) return !1;
try {
var b = Object.seal({}),
c = Object.seal({}),
d = new a([
[b, 2],
[c, 3]
]);
if (2 != d.get(b) || 3 != d.get(c)) return !1;
d["delete"](b);
d.set(c, 4);
return !d.has(b) && 4 == d.get(c)
} catch (m) {
return !1
}
}()) return a;
var d = "$jscomp_hidden_" + Math.random().toString().substring(2);
c("freeze");
c("preventExtensions");
c("seal");
var e = 0,
f = function(a) {
this.ta =
(e += Math.random() + 1).toString();
if (a) {
ea();
ja();
a = ma(a);
for (var b; !(b = a.next()).done;) b = b.value, this.set(b[0], b[1])
}
};
f.prototype.set = function(a, c) {
b(a);
if (!da(a, d)) throw Error("WeakMap key fail: " + a);
a[d][this.ta] = c;
return this
};
f.prototype.get = function(a) {
return da(a, d) ? a[d][this.ta] : void 0
};
f.prototype.has = function(a) {
return da(a, d) && da(a[d], this.ta)
};
f.prototype["delete"] = function(a) {
return da(a, d) && da(a[d], this.ta) ? delete a[d][this.ta] : !1
};
return f
});
ca("Map", function(a) {
if (function() {
if (!a || !a.prototype.entries || "function" != typeof Object.seal) return !1;
try {
var b = Object.seal({
x: 4
}),
c = new a(ma([
[b, "s"]
]));
if ("s" != c.get(b) || 1 != c.size || c.get({
x: 4
}) || c.set({
x: 4
}, "t") != c || 2 != c.size) return !1;
var d = c.entries(),
e = d.next();
if (e.done || e.value[0] != b || "s" != e.value[1]) return !1;
e = d.next();
return e.done || 4 != e.value[0].x || "t" != e.value[1] || !d.next().done ? !1 : !0
} catch (p) {
return !1
}
}()) return a;
ea();
ja();
var b = new WeakMap,
c = function(a) {
this.nc = {};
this.xa = f();
this.size =
0;
if (a) {
a = ma(a);
for (var b; !(b = a.next()).done;) b = b.value, this.set(b[0], b[1])
}
};
c.prototype.set = function(a, b) {
var c = d(this, a);
c.list || (c.list = this.nc[c.id] = []);
c.qa ? c.qa.value = b : (c.qa = {
next: this.xa,
Mb: this.xa.Mb,
head: this.xa,
key: a,
value: b
}, c.list.push(c.qa), this.xa.Mb.next = c.qa, this.xa.Mb = c.qa, this.size++);
return this
};
c.prototype["delete"] = function(a) {
a = d(this, a);
return a.qa && a.list ? (a.list.splice(a.index, 1), a.list.length || delete this.nc[a.id], a.qa.Mb.next = a.qa.next, a.qa.next.Mb = a.qa.Mb, a.qa.head =
null, this.size--, !0) : !1
};
c.prototype.clear = function() {
this.nc = {};
this.xa = this.xa.Mb = f();
this.size = 0
};
c.prototype.has = function(a) {
return !!d(this, a).qa
};
c.prototype.get = function(a) {
return (a = d(this, a).qa) && a.value
};
c.prototype.entries = function() {
return e(this, function(a) {
return [a.key, a.value]
})
};
c.prototype.keys = function() {
return e(this, function(a) {
return a.key
})
};
c.prototype.values = function() {
return e(this, function(a) {
return a.value
})
};
c.prototype.forEach = function(a, b) {
for (var c = this.entries(), d; !(d =
c.next()).done;) d = d.value, a.call(b, d[1], d[0], this)
};
c.prototype[Symbol.iterator] = c.prototype.entries;
var d = function(a, c) {
var d;
d = c && typeof c;
"object" == d || "function" == d ? b.has(c) ? d = b.get(c) : (d = "" + ++g, b.set(c, d)) : d = "p_" + c;
var e = a.nc[d];
if (e && da(a.nc, d))
for (var f = 0; f < e.length; f++) {
var h = e[f];
if (c !== c && h.key !== h.key || c === h.key) return {
id: d,
list: e,
index: f,
qa: h
}
}
return {
id: d,
list: e,
index: -1,
qa: void 0
}
},
e = function(a, b) {
var c = a.xa;
return la(function() {
if (c) {
for (; c.head != a.xa;) c = c.Mb;
for (; c.next != c.head;) return c =
c.next, {
done: !1,
value: b(c)
};
c = null
}
return {
done: !0,
value: void 0
}
})
},
f = function() {
var a = {};
return a.Mb = a.next = a.head = a
},
g = 0;
return c
});
ca("Array.prototype.fill", function(a) {
return a ? a : function(a, c, d) {
var b = this.length || 0;
0 > c && (c = Math.max(0, b + c));
if (null == d || d > b) d = b;
d = Number(d);
0 > d && (d = Math.max(0, b + d));
for (c = Number(c || 0); c < d; c++) this[c] = a;
return this
}
});
var na = function(a, b) {
ja();
a instanceof String && (a += "");
var c = 0,
d = {
next: function() {
if (c < a.length) {
var e = c++;
return {
value: b(e, a[e]),
done: !1
}
}
d.next = function() {
return {
done: !0,
value: void 0
}
};
return d.next()
}
};
d[Symbol.iterator] = function() {
return d
};
return d
};
ca("Array.prototype.values", function(a) {
return a ? a : function() {
return na(this, function(a, c) {
return c
})
}
});
ca("Set", function(a) {
if (function() {
if (!a || !a.prototype.entries || "function" != typeof Object.seal) return !1;
try {
var b = Object.seal({
x: 4
}),
d = new a(ma([b]));
if (!d.has(b) || 1 != d.size || d.add(b) != d || 1 != d.size || d.add({
x: 4
}) != d || 2 != d.size) return !1;
var e = d.entries(),
f = e.next();
if (f.done || f.value[0] != b || f.value[1] != b) return !1;
f = e.next();
return f.done || f.value[0] == b || 4 != f.value[0].x || f.value[1] != f.value[0] ? !1 : e.next().done
} catch (g) {
return !1
}
}()) return a;
ea();
ja();
var b = function(a) {
this.R = new Map;
if (a) {
a = ma(a);
for (var b; !(b =
a.next()).done;) this.add(b.value)
}
this.size = this.R.size
};
b.prototype.add = function(a) {
this.R.set(a, a);
this.size = this.R.size;
return this
};
b.prototype["delete"] = function(a) {
a = this.R["delete"](a);
this.size = this.R.size;
return a
};
b.prototype.clear = function() {
this.R.clear();
this.size = 0
};
b.prototype.has = function(a) {
return this.R.has(a)
};
b.prototype.entries = function() {
return this.R.entries()
};
b.prototype.values = function() {
return this.R.values()
};
b.prototype.keys = b.prototype.values;
b.prototype[Symbol.iterator] =
b.prototype.values;
b.prototype.forEach = function(a, b) {
var c = this;
this.R.forEach(function(d) {
return a.call(b, d, d, c)
})
};
return b
});
var oa = oa || {},
r = this,
t = function(a) {
return void 0 !== a
},
pa = function(a, b) {
var c = a.split("."),
d = r;
c[0] in d || !d.execScript || d.execScript("var " + c[0]);
for (var e; c.length && (e = c.shift());) !c.length && t(b) ? d[e] = b : d = d[e] && Object.prototype.hasOwnProperty.call(d, e) ? d[e] : d[e] = {}
},
qa = function(a, b) {
for (var c = a.split("."), d = b || r, e; e = c.shift();)
if (null != d[e]) d = d[e];
else return null;
return d
},
ra = function() {},
sa = function(a) {
var b = typeof a;
if ("object" == b)
if (a) {
if (a instanceof Array) return "array";
if (a instanceof Object) return b;
var c = Object.prototype.toString.call(a);
if ("[object Window]" == c) return "object";
if ("[object Array]" == c || "number" == typeof a.length && "undefined" != typeof a.splice && "undefined" != typeof a.propertyIsEnumerable && !a.propertyIsEnumerable("splice")) return "array";
if ("[object Function]" == c || "undefined" != typeof a.call && "undefined" != typeof a.propertyIsEnumerable && !a.propertyIsEnumerable("call")) return "function"
} else return "null";
else if ("function" == b && "undefined" == typeof a.call) return "object";
return b
},
ta = function(a) {
return "array" ==
sa(a)
},
ua = function(a) {
var b = sa(a);
return "array" == b || "object" == b && "number" == typeof a.length
},
u = function(a) {
return "string" == typeof a
},
va = function(a) {
return "number" == typeof a
},
wa = function(a) {
return "function" == sa(a)
},
xa = function(a) {
var b = typeof a;
return "object" == b && null != a || "function" == b
},
ya = "closure_uid_" + (1E9 * Math.random() >>> 0),
za = 0,
Ba = function(a, b, c) {
return a.call.apply(a.bind, arguments)
},
Ca = function(a, b, c) {
if (!a) throw Error();
if (2 < arguments.length) {
var d = Array.prototype.slice.call(arguments, 2);
return function() {
var c =
Array.prototype.slice.call(arguments);
Array.prototype.unshift.apply(c, d);
return a.apply(b, c)
}
}
return function() {
return a.apply(b, arguments)
}
},
w = function(a, b, c) {
w = Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? Ba : Ca;
return w.apply(null, arguments)
},
Da = function(a, b) {
var c = Array.prototype.slice.call(arguments, 1);
return function() {
var b = c.slice();
b.push.apply(b, arguments);
return a.apply(this, b)
}
},
Ea = Date.now || function() {
return +new Date
},
x = function(a, b) {
function c() {}
c.prototype = b.prototype;
a.s = b.prototype;
a.prototype = new c;
a.prototype.constructor = a;
a.i = function(a, c, f) {
for (var d = Array(arguments.length - 2), e = 2; e < arguments.length; e++) d[e - 2] = arguments[e];
return b.prototype[c].apply(a, d)
}
};
var Fa = function(a) {
if (Error.captureStackTrace) Error.captureStackTrace(this, Fa);
else {
var b = Error().stack;
b && (this.stack = b)
}
a && (this.message = String(a))
};
x(Fa, Error);
Fa.prototype.name = "CustomError";
var Ga;
var Ha = function(a, b) {
return 0 == a.lastIndexOf(b, 0)
},
Ia = function(a) {
a = String(a.substr(a.length - 4, 4)).toLowerCase();
return 0 == (".svg" < a ? -1 : ".svg" == a ? 0 : 1)
},
Ja = function(a) {
return a.replace(/[\s\xa0]+/g, " ").replace(/^\s+|\s+$/g, "")
},
Ka = function(a) {
return /^[\s\xa0]*$/.test(a)
},
La = String.prototype.trim ? function(a) {
return a.trim()
} : function(a) {
return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g, "")
},
Ta = function(a) {
if (!Ma.test(a)) return a; - 1 != a.indexOf("&") && (a = a.replace(Na, "&")); - 1 != a.indexOf("<") && (a = a.replace(Oa,
"<")); - 1 != a.indexOf(">") && (a = a.replace(Pa, ">")); - 1 != a.indexOf('"') && (a = a.replace(Qa, """)); - 1 != a.indexOf("'") && (a = a.replace(Ra, "'")); - 1 != a.indexOf("\x00") && (a = a.replace(Sa, "�"));
return a
},
Na = /&/g,
Oa = /</g,
Pa = />/g,
Qa = /"/g,
Ra = /'/g,
Sa = /\x00/g,
Ma = /[\x00&<>"']/,
y = function(a, b) {
return -1 != a.indexOf(b)
},
Ua = String.prototype.repeat ? function(a, b) {
return a.repeat(b)
} : function(a, b) {
return Array(b + 1).join(a)
},
Wa = function(a, b) {
for (var c = 0, d = La(String(a)).split("."), e = La(String(b)).split("."), f = Math.max(d.length,
e.length), g = 0; 0 == c && g < f; g++) {
var h = d[g] || "",
l = e[g] || "";
do {
h = /(\d*)(\D*)(.*)/.exec(h) || ["", "", "", ""];
l = /(\d*)(\D*)(.*)/.exec(l) || ["", "", "", ""];
if (0 == h[0].length && 0 == l[0].length) break;
c = Va(0 == h[1].length ? 0 : parseInt(h[1], 10), 0 == l[1].length ? 0 : parseInt(l[1], 10)) || Va(0 == h[2].length, 0 == l[2].length) || Va(h[2], l[2]);
h = h[3];
l = l[3]
} while (0 == c)
}
return c
},
Va = function(a, b) {
return a < b ? -1 : a > b ? 1 : 0
},
Xa = function(a) {
return String(a).replace(/\-([a-z])/g, function(a, c) {
return c.toUpperCase()
})
},
Ya = function(a) {
var b = u(void 0) ?
"undefined".replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08") : "\\s";
return a.replace(new RegExp("(^" + (b ? "|[" + b + "]+" : "") + ")([a-z])", "g"), function(a, b, e) {
return b + e.toUpperCase()
})
};
var Za = Array.prototype.indexOf ? function(a, b, c) {
return Array.prototype.indexOf.call(a, b, c)
} : function(a, b, c) {
c = null == c ? 0 : 0 > c ? Math.max(0, a.length + c) : c;
if (u(a)) return u(b) && 1 == b.length ? a.indexOf(b, c) : -1;
for (; c < a.length; c++)
if (c in a && a[c] === b) return c;
return -1
},
B = Array.prototype.forEach ? function(a, b, c) {
Array.prototype.forEach.call(a, b, c)
} : function(a, b, c) {
for (var d = a.length, e = u(a) ? a.split("") : a, f = 0; f < d; f++) f in e && b.call(c, e[f], f, a)
},
$a = Array.prototype.filter ? function(a, b, c) {
return Array.prototype.filter.call(a,
b, c)
} : function(a, b, c) {
for (var d = a.length, e = [], f = 0, g = u(a) ? a.split("") : a, h = 0; h < d; h++)
if (h in g) {
var l = g[h];
b.call(c, l, h, a) && (e[f++] = l)
}
return e
},
ab = Array.prototype.map ? function(a, b, c) {
return Array.prototype.map.call(a, b, c)
} : function(a, b, c) {
for (var d = a.length, e = Array(d), f = u(a) ? a.split("") : a, g = 0; g < d; g++) g in f && (e[g] = b.call(c, f[g], g, a));
return e
},
bb = Array.prototype.some ? function(a, b, c) {
return Array.prototype.some.call(a, b, c)
} : function(a, b, c) {
for (var d = a.length, e = u(a) ? a.split("") : a, f = 0; f < d; f++)
if (f in
e && b.call(c, e[f], f, a)) return !0;
return !1
},
cb = function(a, b) {
var c;
a: {
c = a.length;
for (var d = u(a) ? a.split("") : a, e = 0; e < c; e++)
if (e in d && b.call(void 0, d[e], e, a)) {
c = e;
break a
}
c = -1
}
return 0 > c ? null : u(a) ? a.charAt(c) : a[c]
},
db = function(a, b) {
var c = Za(a, b),
d;
(d = 0 <= c) && Array.prototype.splice.call(a, c, 1);
return d
},
eb = function(a) {
return Array.prototype.concat.apply(Array.prototype, arguments)
},
fb = function(a) {
var b = a.length;
if (0 < b) {
for (var c = Array(b), d = 0; d < b; d++) c[d] = a[d];
return c
}
return []
},
gb = function(a, b) {
for (var c =
1; c < arguments.length; c++) {
var d = arguments[c];
if (ua(d)) {
var e = a.length || 0,
f = d.length || 0;
a.length = e + f;
for (var g = 0; g < f; g++) a[e + g] = d[g]
} else a.push(d)
}
},
ib = function(a, b, c, d) {
Array.prototype.splice.apply(a, hb(arguments, 1))
},
hb = function(a, b, c) {
return 2 >= arguments.length ? Array.prototype.slice.call(a, b) : Array.prototype.slice.call(a, b, c)
},
kb = function(a, b) {
a.sort(b || jb)
},
lb = function(a, b) {
for (var c = Array(a.length), d = 0; d < a.length; d++) c[d] = {
index: d,
value: a[d]
};
var e = b || jb;
kb(c, function(a, b) {
return e(a.value, b.value) ||
a.index - b.index
});
for (d = 0; d < a.length; d++) a[d] = c[d].value
},
jb = function(a, b) {
return a > b ? 1 : a < b ? -1 : 0
};
var mb = function(a, b, c) {
for (var d in a) b.call(c, a[d], d, a)
},
nb = function(a, b) {
for (var c in a)
if (b.call(void 0, a[c], c, a)) return !0;
return !1
},
ob = function(a) {
var b = [],
c = 0,
d;
for (d in a) b[c++] = a[d];
return b
},
pb = function(a) {
var b = [],
c = 0,
d;
for (d in a) b[c++] = d;
return b
},
qb = function(a) {
for (var b in a) return !1;
return !0
},
rb = function(a, b) {
return null !== a && b in a ? a[b] : void 0
},
sb = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),
tb = function(a, b) {
for (var c, d,
e = 1; e < arguments.length; e++) {
d = arguments[e];
for (c in d) a[c] = d[c];
for (var f = 0; f < sb.length; f++) c = sb[f], Object.prototype.hasOwnProperty.call(d, c) && (a[c] = d[c])
}
};
var ub = {
area: !0,
base: !0,
br: !0,
col: !0,
command: !0,
embed: !0,
hr: !0,
img: !0,
input: !0,
keygen: !0,
link: !0,
meta: !0,
param: !0,
source: !0,
track: !0,
wbr: !0
};
var vb;
a: {
var wb = r.navigator;
if (wb) {
var xb = wb.userAgent;
if (xb) {
vb = xb;
break a
}
}
vb = ""
}
var C = function(a) {
return y(vb, a)
};
var yb = function() {
return (C("Chrome") || C("CriOS")) && !C("Edge")
};
var Ab = function() {
this.Oe = "";
this.aj = zb
};
Ab.prototype.rc = !0;
Ab.prototype.ec = function() {
return this.Oe
};
Ab.prototype.toString = function() {
return "Const{" + this.Oe + "}"
};
var Bb = function(a) {
return a instanceof Ab && a.constructor === Ab && a.aj === zb ? a.Oe : "type_error:Const"
},
zb = {},
D = function(a) {
var b = new Ab;
b.Oe = a;
return b
};
D("");
var Db = function() {
this.jg = "";
this.Zi = Cb
};
Db.prototype.rc = !0;
var Cb = {};
Db.prototype.ec = function() {
return this.jg
};
Db.prototype.ue = function(a) {
this.jg = a;
return this
};
var Fb = (new Db).ue(""),
Gb = /^([-,."'%_!# a-zA-Z0-9]+|(?:rgb|hsl)a?\([0-9.%, ]+\))$/;
var Ib = function() {
this.kg = "";
this.bj = Hb
};
Ib.prototype.rc = !0;
Ib.prototype.ec = function() {
return this.kg
};
Ib.prototype.Nf = !0;
Ib.prototype.Pc = function() {
return 1
};
var Jb = function(a) {
if (a instanceof Ib && a.constructor === Ib && a.bj === Hb) return a.kg;
sa(a);
return "type_error:TrustedResourceUrl"
},
Kb = function(a) {
var b = new Ib;
b.kg = Bb(a);
return b
},
Hb = {};
var Mb = function() {
this.vc = "";
this.$i = Lb
};
Mb.prototype.rc = !0;
Mb.prototype.ec = function() {
return this.vc
};
Mb.prototype.Nf = !0;
Mb.prototype.Pc = function() {
return 1
};
var Nb = function(a) {
if (a instanceof Mb && a.constructor === Mb && a.$i === Lb) return a.vc;
sa(a);
return "type_error:SafeUrl"
},
Ob = /^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/i,
Qb = function(a) {
if (a instanceof Mb) return a;
a = a.rc ? a.ec() : String(a);
Ob.test(a) || (a = "about:invalid#zClosurez");
return Pb(a)
},
Lb = {},
Pb = function(a) {
var b = new Mb;
b.vc = a;
return b
};
Pb("about:blank");
var Sb = function() {
this.vc = "";
this.Yi = Rb;
this.qh = null
};
Sb.prototype.Nf = !0;
Sb.prototype.Pc = function() {
return this.qh
};
Sb.prototype.rc = !0;
Sb.prototype.ec = function() {
return this.vc
};
var Tb = function(a) {
if (a instanceof Sb && a.constructor === Sb && a.Yi === Rb) return a.vc;
sa(a);
return "type_error:SafeHtml"
},
Vb = function(a) {
if (a instanceof Sb) return a;
var b = null;
a.Nf && (b = a.Pc());
return Ub(Ta(a.rc ? a.ec() : String(a)), b)
},
Wb = function(a) {
if (a instanceof Sb) return a;
a = Vb(a);
var b;
b = Tb(a).replace(/ /g, "  ").replace(/(\r\n|\r|\n)/g, "<br>");
return Ub(b, a.Pc())
},
Xb = /^[a-zA-Z0-9-]+$/,
Yb = {
action: !0,
cite: !0,
data: !0,
formaction: !0,
href: !0,
manifest: !0,
poster: !0,
src: !0
},
Zb = {
APPLET: !0,
BASE: !0,
EMBED: !0,
IFRAME: !0,
LINK: !0,
MATH: !0,
META: !0,
OBJECT: !0,
SCRIPT: !0,
STYLE: !0,
SVG: !0,
TEMPLATE: !0
},
$b = function(a) {
var b = 0,
c = "",
d = function(a) {
ta(a) ? B(a, d) : (a = Vb(a), c += Tb(a), a = a.Pc(), 0 == b ? b = a : 0 != a && b != a && (b = null))
};
B(arguments, d);
return Ub(c, b)
},
Rb = {},
Ub = function(a, b) {
return (new Sb).ue(a, b)
};
Sb.prototype.ue = function(a, b) {
this.vc = a;
this.qh = b;
return this
};
var ac = Ub("<!DOCTYPE html>", 0);
Ub("", 0);
Ub("<br>", 0);
var E = function(a, b) {
this.x = t(a) ? a : 0;
this.y = t(b) ? b : 0
};
k = E.prototype;
k.clone = function() {
return new E(this.x, this.y)
};
k.ceil = function() {
this.x = Math.ceil(this.x);
this.y = Math.ceil(this.y);
return this
};
k.floor = function() {
this.x = Math.floor(this.x);
this.y = Math.floor(this.y);
return this
};
k.round = function() {
this.x = Math.round(this.x);
this.y = Math.round(this.y);
return this
};
k.translate = function(a, b) {
a instanceof E ? (this.x += a.x, this.y += a.y) : (this.x += Number(a), va(b) && (this.y += b));
return this
};
k.scale = function(a, b) {
var c = va(b) ? b : a;
this.x *= a;
this.y *= c;
return this
};
var bc = function(a, b) {
this.width = a;
this.height = b
};
k = bc.prototype;
k.clone = function() {
return new bc(this.width, this.height)
};
k.ceil = function() {
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
return this
};
k.floor = function() {
this.width = Math.floor(this.width);
this.height = Math.floor(this.height);
return this
};
k.round = function() {
this.width = Math.round(this.width);
this.height = Math.round(this.height);
return this
};
k.scale = function(a, b) {
var c = va(b) ? b : a;
this.width *= a;
this.height *= c;
return this
};
var cc = function() {
return C("iPhone") && !C("iPod") && !C("iPad")
};
var dc = function(a) {
dc[" "](a);
return a
};
dc[" "] = ra;
var gc = function(a, b) {
var c = ec;
return Object.prototype.hasOwnProperty.call(c, a) ? c[a] : c[a] = b(a)
};
var hc = C("Opera"),
F = C("Trident") || C("MSIE"),
ic = C("Edge"),
jc = C("Gecko") && !(y(vb.toLowerCase(), "webkit") && !C("Edge")) && !(C("Trident") || C("MSIE")) && !C("Edge"),
kc = y(vb.toLowerCase(), "webkit") && !C("Edge"),
lc = kc && C("Mobile"),
mc = C("Macintosh"),
nc = C("Linux") || C("CrOS"),
oc = cc(),
pc = function() {
var a = r.document;
return a ? a.documentMode : void 0
},
qc;
a: {
var rc = "",
sc = function() {
var a = vb;
if (jc) return /rv\:([^\);]+)(\)|;)/.exec(a);
if (ic) return /Edge\/([\d\.]+)/.exec(a);
if (F) return /\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);
if (kc) return /WebKit\/(\S+)/.exec(a);
if (hc) return /(?:Version)[ \/]?(\S+)/.exec(a)
}();sc && (rc = sc ? sc[1] : "");
if (F) {
var tc = pc();
if (null != tc && tc > parseFloat(rc)) {
qc = String(tc);
break a
}
}
qc = rc
}
var uc = qc,
ec = {},
G = function(a) {
return gc(a, function() {
return 0 <= Wa(uc, a)
})
},
vc;
var wc = r.document;
vc = wc && F ? pc() || ("CSS1Compat" == wc.compatMode ? parseInt(uc, 10) : 5) : void 0;
var xc = !F || 9 <= Number(vc);
!jc && !F || F && 9 <= Number(vc) || jc && G("1.9.1");
F && G("9");
var yc = F || hc || kc;
var Ac = function(a) {
return a ? new zc(H(a)) : Ga || (Ga = new zc)
},
Cc = function(a, b) {
mb(b, function(b, d) {
"style" == d ? a.style.cssText = b : "class" == d ? a.className = b : "for" == d ? a.htmlFor = b : Bc.hasOwnProperty(d) ? a.setAttribute(Bc[d], b) : Ha(d, "aria-") || Ha(d, "data-") ? a.setAttribute(d, b) : a[d] = b
})
},
Bc = {
cellpadding: "cellPadding",
cellspacing: "cellSpacing",
colspan: "colSpan",
frameborder: "frameBorder",
height: "height",
maxlength: "maxLength",
nonce: "nonce",
role: "role",
rowspan: "rowSpan",
type: "type",
usemap: "useMap",
valign: "vAlign",
width: "width"
},
Ec = function(a) {
return Dc(a || window)
},
Dc = function(a) {
a = a.document;
a = Fc(a) ? a.documentElement : a.body;
return new bc(a.clientWidth, a.clientHeight)
},
Gc = function(a) {
var b = a.document,
c = 0;
if (b) {
var c = b.body,
d = b.documentElement;
if (!d || !c) return 0;
a = Dc(a).height;
if (Fc(b) && d.scrollHeight) c = d.scrollHeight != a ? d.scrollHeight : d.offsetHeight;
else {
var b = d.scrollHeight,
e = d.offsetHeight;
d.clientHeight != e && (b = c.scrollHeight, e = c.offsetHeight);
c = b > a ? b > e ? b : e : b < e ? b : e
}
}
return c
},
Ic = function(a) {
var b = Hc(a);
a = a.parentWindow ||
a.defaultView;
return F && G("10") && a.pageYOffset != b.scrollTop ? new E(b.scrollLeft, b.scrollTop) : new E(a.pageXOffset || b.scrollLeft, a.pageYOffset || b.scrollTop)
},
Hc = function(a) {
return a.scrollingElement ? a.scrollingElement : !kc && Fc(a) ? a.documentElement : a.body || a.documentElement
},
Jc = function(a) {
return a ? a.parentWindow || a.defaultView : window
},
Lc = function(a, b, c) {
return Kc(document, arguments)
},
Kc = function(a, b) {
var c = String(b[0]),
d = b[1];
if (!xc && d && (d.name || d.type)) {
c = ["<", c];
d.name && c.push(' name="', Ta(d.name),
'"');
if (d.type) {
c.push(' type="', Ta(d.type), '"');
var e = {};
tb(e, d);
delete e.type;
d = e
}
c.push(">");
c = c.join("")
}
c = a.createElement(c);
d && (u(d) ? c.className = d : ta(d) ? c.className = d.join(" ") : Cc(c, d));
2 < b.length && Mc(a, c, b, 2);
return c
},
Mc = function(a, b, c, d) {
function e(c) {
c && b.appendChild(u(c) ? a.createTextNode(c) : c)
}
for (; d < c.length; d++) {
var f = c[d];
!ua(f) || xa(f) && 0 < f.nodeType ? e(f) : B(Nc(f) ? fb(f) : f, e)
}
},
Fc = function(a) {
return "CSS1Compat" == a.compatMode
},
Oc = function(a) {
for (var b; b = a.firstChild;) a.removeChild(b)
},
Pc =
function(a) {
return a && a.parentNode ? a.parentNode.removeChild(a) : null
},
Qc = function(a, b) {
var c = b.parentNode;
c && c.replaceChild(a, b)
},
Sc = function(a) {
return t(a.firstElementChild) ? a.firstElementChild : Rc(a.firstChild)
},
Rc = function(a) {
for (; a && 1 != a.nodeType;) a = a.nextSibling;
return a
},
Tc = function(a) {
var b;
if (yc && !(F && G("9") && !G("10") && r.SVGElement && a instanceof r.SVGElement) && (b = a.parentElement)) return b;
b = a.parentNode;
return xa(b) && 1 == b.nodeType ? b : null
},
Uc = function(a, b) {
if (!a || !b) return !1;
if (a.contains && 1 ==
b.nodeType) return a == b || a.contains(b);
if ("undefined" != typeof a.compareDocumentPosition) return a == b || !!(a.compareDocumentPosition(b) & 16);
for (; b && a != b;) b = b.parentNode;
return b == a
},
H = function(a) {
return 9 == a.nodeType ? a : a.ownerDocument || a.document
},
Vc = function(a) {
return a.contentDocument || a.contentWindow.document
},
Wc = function(a) {
try {
return a.contentWindow || (a.contentDocument ? Jc(a.contentDocument) : null)
} catch (b) {}
return null
},
Nc = function(a) {
if (a && "number" == typeof a.length) {
if (xa(a)) return "function" == typeof a.item ||
"string" == typeof a.item;
if (wa(a)) return "function" == typeof a.item
}
return !1
},
zc = function(a) {
this.J = a || r.document || document
};
k = zc.prototype;
k.Z = Ac;
k.Di = function(a) {
this.J = a
};
k.sb = function() {
return this.J
};
k.F = function(a) {
return u(a) ? this.J.getElementById(a) : a
};
k.getElementsByTagName = function(a, b) {
return (b || this.J).getElementsByTagName(String(a))
};
k.Yb = function(a, b, c) {
return Kc(this.J, arguments)
};
k.createElement = function(a) {
return this.J.createElement(String(a))
};
k.createTextNode = function(a) {
return this.J.createTextNode(String(a))
};
k.getWindow = function() {
var a = this.J;
return a.parentWindow || a.defaultView
};
k.appendChild = function(a, b) {
a.appendChild(b)
};
k.append = function(a, b) {
Mc(H(a), a, arguments, 1)
};
k.canHaveChildren = function(a) {
if (1 != a.nodeType) return !1;
switch (a.tagName) {
case "APPLET":
case "AREA":
case "BASE":
case "BR":
case "COL":
case "COMMAND":
case "EMBED":
case "FRAME":
case "HR":
case "IMG":
case "INPUT":
case "IFRAME":
case "ISINDEX":
case "KEYGEN":
case "LINK":
case "NOFRAMES":
case "NOSCRIPT":
case "META":
case "OBJECT":
case "PARAM":
case "SCRIPT":
case "SOURCE":
case "STYLE":
case "TRACK":
case "WBR":
return !1
}
return !0
};
k.removeNode = Pc;
k.contains = Uc;
var Xc = function(a, b, c) {
this.Qj = c;
this.tj = a;
this.xk = b;
this.ye = 0;
this.xa = null
};
Xc.prototype.get = function() {
var a;
0 < this.ye ? (this.ye--, a = this.xa, this.xa = a.next, a.next = null) : a = this.tj();
return a
};
Xc.prototype.put = function(a) {
this.xk(a);
this.ye < this.Qj && (this.ye++, a.next = this.xa, this.xa = a)
};
var Yc = function(a) {
r.setTimeout(function() {
throw a;
}, 0)
},
Zc, $c = function() {
var a = r.MessageChannel;
"undefined" === typeof a && "undefined" !== typeof window && window.postMessage && window.addEventListener && !C("Presto") && (a = function() {
var a = document.createElement("IFRAME");
a.style.display = "none";
a.src = "";
document.documentElement.appendChild(a);
var b = a.contentWindow,
a = b.document;
a.open();
a.write("");
a.close();
var c = "callImmediate" + Math.random(),
d = "file:" == b.location.protocol ? "*" : b.location.protocol + "//" + b.location.host,
a = w(function(a) {
if (("*" == d || a.origin == d) && a.data == c) this.port1.onmessage()
}, this);
b.addEventListener("message", a, !1);
this.port1 = {};
this.port2 = {
postMessage: function() {
b.postMessage(c, d)
}
}
});
if ("undefined" !== typeof a && !C("Trident") && !C("MSIE")) {
var b = new a,
c = {},
d = c;
b.port1.onmessage = function() {
if (t(c.next)) {
c = c.next;
var a = c.fh;
c.fh = null;
a()
}
};
return function(a) {
d.next = {
fh: a
};
d = d.next;
b.port2.postMessage(0)
}
}
return "undefined" !== typeof document && "onreadystatechange" in document.createElement("SCRIPT") ?
function(a) {
var b = document.createElement("SCRIPT");
b.onreadystatechange = function() {
b.onreadystatechange = null;
b.parentNode.removeChild(b);
b = null;
a();
a = null
};
document.documentElement.appendChild(b)
} : function(a) {
r.setTimeout(a, 0)
}
};
var ad = function() {
this.Ze = this.cd = null
},
cd = new Xc(function() {
return new bd
}, function(a) {
a.reset()
}, 100);
ad.prototype.add = function(a, b) {
var c = cd.get();
c.set(a, b);
this.Ze ? this.Ze.next = c : this.cd = c;
this.Ze = c
};
ad.prototype.remove = function() {
var a = null;
this.cd && (a = this.cd, this.cd = this.cd.next, this.cd || (this.Ze = null), a.next = null);
return a
};
var bd = function() {
this.next = this.scope = this.zf = null
};
bd.prototype.set = function(a, b) {
this.zf = a;
this.scope = b;
this.next = null
};
bd.prototype.reset = function() {
this.next = this.scope = this.zf = null
};
var hd = function(a, b) {
dd || ed();
fd || (dd(), fd = !0);
gd.add(a, b)
},
dd, ed = function() {
if (-1 != String(r.Promise).indexOf("[native code]")) {
var a = r.Promise.resolve(void 0);
dd = function() {
a.then(id)
}
} else dd = function() {
var a = id;
!wa(r.setImmediate) || r.Window && r.Window.prototype && !C("Edge") && r.Window.prototype.setImmediate == r.setImmediate ? (Zc || (Zc = $c()), Zc(a)) : r.setImmediate(a)
}
},
fd = !1,
gd = new ad,
id = function() {
for (var a; a = gd.remove();) {
try {
a.zf.call(a.scope)
} catch (b) {
Yc(b)
}
cd.put(a)
}
fd = !1
};
var jd = function(a) {
a.prototype.then = a.prototype.then;
a.prototype.$goog_Thenable = !0
},
kd = function(a) {
if (!a) return !1;
try {
return !!a.$goog_Thenable
} catch (b) {
return !1
}
};
var md = function(a, b) {
this.ib = 0;
this.Pb = void 0;
this.Jc = this.Vb = this.K = null;
this.qe = this.yf = !1;
if (a != ra) try {
var c = this;
a.call(b, function(a) {
ld(c, 2, a)
}, function(a) {
ld(c, 3, a)
})
} catch (d) {
ld(this, 3, d)
}
},
nd = function() {
this.next = this.context = this.Vc = this.zd = this.mc = null;
this.Ud = !1
};
nd.prototype.reset = function() {
this.context = this.Vc = this.zd = this.mc = null;
this.Ud = !1
};
var od = new Xc(function() {
return new nd
}, function(a) {
a.reset()
}, 100),
pd = function(a, b, c) {
var d = od.get();
d.zd = a;
d.Vc = b;
d.context = c;
return d
},
qd = function(a) {
if (a instanceof md) return a;
var b = new md(ra);
ld(b, 2, a);
return b
},
sd = function() {
var a, b, c = new md(function(c, e) {
a = c;
b = e
});
return new rd(c, a, b)
};
md.prototype.then = function(a, b, c) {
return td(this, wa(a) ? a : null, wa(b) ? b : null, c)
};
jd(md);
md.prototype.cancel = function(a) {
0 == this.ib && hd(function() {
var b = new ud(a);
vd(this, b)
}, this)
};
var vd = function(a, b) {
if (0 == a.ib)
if (a.K) {
var c = a.K;
if (c.Vb) {
for (var d = 0, e = null, f = null, g = c.Vb; g && (g.Ud || (d++, g.mc == a && (e = g), !(e && 1 < d))); g = g.next) e || (f = g);
e && (0 == c.ib && 1 == d ? vd(c, b) : (f ? (d = f, d.next == c.Jc && (c.Jc = d), d.next = d.next.next) : wd(c), xd(c, e, 3, b)))
}
a.K = null
} else ld(a, 3, b)
},
zd = function(a, b) {
a.Vb || 2 != a.ib && 3 != a.ib || yd(a);
a.Jc ? a.Jc.next = b : a.Vb = b;
a.Jc = b
},
td = function(a, b, c, d) {
var e = pd(null, null, null);
e.mc = new md(function(a, g) {
e.zd = b ? function(c) {
try {
var e = b.call(d, c);
a(e)
} catch (m) {
g(m)
}
} : a;
e.Vc = c ? function(b) {
try {
var e =
c.call(d, b);
!t(e) && b instanceof ud ? g(b) : a(e)
} catch (m) {
g(m)
}
} : g
});
e.mc.K = a;
zd(a, e);
return e.mc
};
md.prototype.Ik = function(a) {
this.ib = 0;
ld(this, 2, a)
};
md.prototype.Jk = function(a) {
this.ib = 0;
ld(this, 3, a)
};
var ld = function(a, b, c) {
if (0 == a.ib) {
a === c && (b = 3, c = new TypeError("Promise cannot resolve to itself"));
a.ib = 1;
var d;
a: {
var e = c,
f = a.Ik,
g = a.Jk;
if (e instanceof md) zd(e, pd(f || ra, g || null, a)),
d = !0;
else if (kd(e)) e.then(f, g, a),
d = !0;
else {
if (xa(e)) try {
var h = e.then;
if (wa(h)) {
Ad(e, h, f, g, a);
d = !0;
break a
}
} catch (l) {
g.call(a, l);
d = !0;
break a
}
d = !1
}
}
d || (a.Pb = c, a.ib = b, a.K = null, yd(a), 3 != b || c instanceof ud || Bd(a, c))
}
},
Ad = function(a, b, c, d, e) {
var f = !1,
g = function(a) {
f || (f = !0, c.call(e, a))
},
h = function(a) {
f || (f = !0, d.call(e, a))
};
try {
b.call(a, g, h)
} catch (l) {
h(l)
}
},
yd = function(a) {
a.yf || (a.yf = !0, hd(a.Aj, a))
},
wd = function(a) {
var b = null;
a.Vb && (b = a.Vb, a.Vb = b.next, b.next = null);
a.Vb || (a.Jc = null);
return b
};
md.prototype.Aj = function() {
for (var a; a = wd(this);) xd(this, a, this.ib, this.Pb);
this.yf = !1
};
var xd = function(a, b, c, d) {
if (3 == c && b.Vc && !b.Ud)
for (; a && a.qe; a = a.K) a.qe = !1;
if (b.mc) b.mc.K = null, Cd(b, c, d);
else try {
b.Ud ? b.zd.call(b.context) : Cd(b, c, d)
} catch (e) {
Dd.call(null, e)
}
od.put(b)
},
Cd = function(a, b, c) {
2 == b ? a.zd.call(a.context, c) : a.Vc && a.Vc.call(a.context, c)
},
Bd = function(a, b) {
a.qe = !0;
hd(function() {
a.qe && Dd.call(null, b)
})
},
Dd = Yc,
ud = function(a) {
Fa.call(this, a)
};
x(ud, Fa);
ud.prototype.name = "cancel";
var rd = function(a, b, c) {
this.tk = a;
this.resolve = b;
this.reject = c
};
var Ed = "StopIteration" in r ? r.StopIteration : {
message: "StopIteration",
stack: ""
},
Jd = function() {};
Jd.prototype.next = function() {
throw Ed;
};
Jd.prototype.Rd = function() {
return this
};
var Kd = function(a) {
if (a instanceof Jd) return a;
if ("function" == typeof a.Rd) return a.Rd(!1);
if (ua(a)) {
var b = 0,
c = new Jd;
c.next = function() {
for (;;) {
if (b >= a.length) throw Ed;
if (b in a) return a[b++];
b++
}
};
return c
}
throw Error("Not implemented");
},
Ld = function(a, b, c) {
if (ua(a)) try {
B(a, b, c)
} catch (d) {
if (d !== Ed) throw d;
} else {
a = Kd(a);
try {
for (;;) b.call(c, a.next(), void 0, a)
} catch (d) {
if (d !== Ed) throw d;
}
}
},
Md = function(a, b) {
var c = Kd(a),
d = new Jd;
d.next = function() {
for (;;) {
var a = c.next();
if (b.call(void 0, a, void 0, c)) return a
}
};
return d
},
Nd = function(a, b) {
var c = Kd(a),
d = new Jd;
d.next = function() {
var a = c.next();
return b.call(void 0, a, void 0, c)
};
return d
},
Od = function(a) {
if (ua(a)) return fb(a);
a = Kd(a);
var b = [];
Ld(a, function(a) {
b.push(a)
});
return b
};
var Pd = function(a, b) {
this.R = {};
this.L = [];
this.Nd = this.P = 0;
var c = arguments.length;
if (1 < c) {
if (c % 2) throw Error("Uneven number of arguments");
for (var d = 0; d < c; d += 2) this.set(arguments[d], arguments[d + 1])
} else a && this.addAll(a)
};
k = Pd.prototype;
k.qc = function() {
return this.P
};
k.La = function() {
Qd(this);
for (var a = [], b = 0; b < this.L.length; b++) a.push(this.R[this.L[b]]);
return a
};
k.Eb = function() {
Qd(this);
return this.L.concat()
};
k.jd = function(a) {
return Rd(this.R, a)
};
k.clear = function() {
this.R = {};
this.Nd = this.P = this.L.length = 0
};
k.remove = function(a) {
return Rd(this.R, a) ? (delete this.R[a], this.P--, this.Nd++, this.L.length > 2 * this.P && Qd(this), !0) : !1
};
var Qd = function(a) {
if (a.P != a.L.length) {
for (var b = 0, c = 0; b < a.L.length;) {
var d = a.L[b];
Rd(a.R, d) && (a.L[c++] = d);
b++
}
a.L.length = c
}
if (a.P != a.L.length) {
for (var e = {}, c = b = 0; b < a.L.length;) d = a.L[b], Rd(e, d) || (a.L[c++] = d, e[d] = 1), b++;
a.L.length = c
}
};
k = Pd.prototype;
k.get = function(a, b) {
return Rd(this.R, a) ? this.R[a] : b
};
k.set = function(a, b) {
Rd(this.R, a) || (this.P++, this.L.push(a), this.Nd++);
this.R[a] = b
};
k.addAll = function(a) {
var b;
a instanceof Pd ? (b = a.Eb(), a = a.La()) : (b = pb(a), a = ob(a));
for (var c = 0; c < b.length; c++) this.set(b[c], a[c])
};
k.forEach = function(a, b) {
for (var c = this.Eb(), d = 0; d < c.length; d++) {
var e = c[d],
f = this.get(e);
a.call(b, f, e, this)
}
};
k.clone = function() {
return new Pd(this)
};
var Sd = function(a) {
Qd(a);
for (var b = {}, c = 0; c < a.L.length; c++) {
var d = a.L[c];
b[d] = a.R[d]
}
return b
};
Pd.prototype.Rd = function(a) {
Qd(this);
var b = 0,
c = this.Nd,
d = this,
e = new Jd;
e.next = function() {
if (c != d.Nd) throw Error("The map has changed since the iterator was created");
if (b >= d.L.length) throw Ed;
var e = d.L[b++];
return a ? e : d.R[e]
};
return e
};
var Rd = function(a, b) {
return Object.prototype.hasOwnProperty.call(a, b)
};
var Td = function(a) {
if (a.La && "function" == typeof a.La) return a.La();
if (u(a)) return a.split("");
if (ua(a)) {
for (var b = [], c = a.length, d = 0; d < c; d++) b.push(a[d]);
return b
}
return ob(a)
},
Ud = function(a, b, c) {
if (a.forEach && "function" == typeof a.forEach) a.forEach(b, c);
else if (ua(a) || u(a)) B(a, b, c);
else {
var d;
if (a.Eb && "function" == typeof a.Eb) d = a.Eb();
else if (a.La && "function" == typeof a.La) d = void 0;
else if (ua(a) || u(a)) {
d = [];
for (var e = a.length, f = 0; f < e; f++) d.push(f)
} else d = pb(a);
for (var e = Td(a), f = e.length, g = 0; g < f; g++) b.call(c,
e[g], d && d[g], a)
}
};
var Vd = /^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#([\s\S]*))?$/,
Wd = function(a, b) {
if (a)
for (var c = a.split("&"), d = 0; d < c.length; d++) {
var e = c[d].indexOf("="),
f, g = null;
0 <= e ? (f = c[d].substring(0, e), g = c[d].substring(e + 1)) : f = c[d];
b(f, g ? decodeURIComponent(g.replace(/\+/g, " ")) : "")
}
};
var Xd = function(a, b) {
this.ob = this.Bc = this.hc = "";
this.Xc = null;
this.qd = this.tb = "";
this.Sa = this.Pj = !1;
var c;
if (a instanceof Xd) this.Sa = t(b) ? b : a.Sa, Yd(this, a.hc), c = a.Bc, I(this), this.Bc = c, c = a.ob, I(this), this.ob = c, Zd(this, a.Xc), c = a.tb, I(this), this.tb = c, $d(this, a.fb.clone()), ae(this, a.qd);
else if (a && (c = String(a).match(Vd))) {
this.Sa = !!b;
Yd(this, c[1] || "", !0);
var d = c[2] || "";
I(this);
this.Bc = be(d);
d = c[3] || "";
I(this);
this.ob = be(d, !0);
Zd(this, c[4]);
d = c[5] || "";
I(this);
this.tb = be(d, !0);
$d(this, c[6] || "", !0);
ae(this,
c[7] || "", !0)
} else this.Sa = !!b, this.fb = new ce(null, 0, this.Sa)
};
Xd.prototype.toString = function() {
var a = [],
b = this.hc;
b && a.push(de(b, ee, !0), ":");
var c = this.ob;
if (c || "file" == b) a.push("//"), (b = this.Bc) && a.push(de(b, ee, !0), "@"), a.push(encodeURIComponent(String(c)).replace(/%25([0-9a-fA-F]{2})/g, "%$1")), c = this.Xc, null != c && a.push(":", String(c));
if (c = this.tb) this.ob && "/" != c.charAt(0) && a.push("/"), a.push(de(c, "/" == c.charAt(0) ? fe : ge, !0));
(c = this.fb.toString()) && a.push("?", c);
(c = this.qd) && a.push("#", de(c, he));
return a.join("")
};
Xd.prototype.resolve = function(a) {
var b = this.clone(),
c = !!a.hc;
c ? Yd(b, a.hc) : c = !!a.Bc;
if (c) {
var d = a.Bc;
I(b);
b.Bc = d
} else c = !!a.ob;
c ? (d = a.ob, I(b), b.ob = d) : c = null != a.Xc;
d = a.tb;
if (c) Zd(b, a.Xc);
else if (c = !!a.tb) {
if ("/" != d.charAt(0))
if (this.ob && !this.tb) d = "/" + d;
else {
var e = b.tb.lastIndexOf("/"); - 1 != e && (d = b.tb.substr(0, e + 1) + d)
}
e = d;
if (".." == e || "." == e) d = "";
else if (y(e, "./") || y(e, "/.")) {
for (var d = Ha(e, "/"), e = e.split("/"), f = [], g = 0; g < e.length;) {
var h = e[g++];
"." == h ? d && g == e.length && f.push("") : ".." == h ? ((1 < f.length ||
1 == f.length && "" != f[0]) && f.pop(), d && g == e.length && f.push("")) : (f.push(h), d = !0)
}
d = f.join("/")
} else d = e
}
c ? (I(b), b.tb = d) : c = "" !== a.fb.toString();
c ? $d(b, a.fb.clone()) : c = !!a.qd;
c && ae(b, a.qd);
return b
};
Xd.prototype.clone = function() {
return new Xd(this)
};
var Yd = function(a, b, c) {
I(a);
a.hc = c ? be(b, !0) : b;
a.hc && (a.hc = a.hc.replace(/:$/, ""))
},
Zd = function(a, b) {
I(a);
if (b) {
b = Number(b);
if (isNaN(b) || 0 > b) throw Error("Bad port number " + b);
a.Xc = b
} else a.Xc = null
},
$d = function(a, b, c) {
I(a);
b instanceof ce ? (a.fb = b, a.fb.vg(a.Sa)) : (c || (b = de(b, ie)), a.fb = new ce(b, 0, a.Sa))
},
ae = function(a, b, c) {
I(a);
a.qd = c ? be(b) : b
},
I = function(a) {
if (a.Pj) throw Error("Tried to modify a read-only Uri");
};
Xd.prototype.vg = function(a) {
this.Sa = a;
this.fb && this.fb.vg(a);
return this
};
var je = function(a) {
return a instanceof Xd ? a.clone() : new Xd(a, void 0)
},
be = function(a, b) {
return a ? b ? decodeURI(a.replace(/%25/g, "%2525")) : decodeURIComponent(a) : ""
},
de = function(a, b, c) {
return u(a) ? (a = encodeURI(a).replace(b, ke), c && (a = a.replace(/%25([0-9a-fA-F]{2})/g, "%$1")), a) : null
},
ke = function(a) {
a = a.charCodeAt(0);
return "%" + (a >> 4 & 15).toString(16) + (a & 15).toString(16)
},
ee = /[#\/\?@]/g,
ge = /[\#\?:]/g,
fe = /[\#\?]/g,
ie = /[\#\?@]/g,
he = /#/g,
ce = function(a, b, c) {
this.P = this.U = null;
this.Ja = a || null;
this.Sa = !!c
},
le = function(a) {
a.U ||
(a.U = new Pd, a.P = 0, a.Ja && Wd(a.Ja, function(b, c) {
a.add(decodeURIComponent(b.replace(/\+/g, " ")), c)
}))
};
k = ce.prototype;
k.qc = function() {
le(this);
return this.P
};
k.add = function(a, b) {
le(this);
this.Ja = null;
a = me(this, a);
var c = this.U.get(a);
c || this.U.set(a, c = []);
c.push(b);
this.P += 1;
return this
};
k.remove = function(a) {
le(this);
a = me(this, a);
return this.U.jd(a) ? (this.Ja = null, this.P -= this.U.get(a).length, this.U.remove(a)) : !1
};
k.clear = function() {
this.U = this.Ja = null;
this.P = 0
};
k.jd = function(a) {
le(this);
a = me(this, a);
return this.U.jd(a)
};
k.Eb = function() {
le(this);
for (var a = this.U.La(), b = this.U.Eb(), c = [], d = 0; d < b.length; d++)
for (var e = a[d], f = 0; f < e.length; f++) c.push(b[d]);
return c
};
k.La = function(a) {
le(this);
var b = [];
if (u(a)) this.jd(a) && (b = eb(b, this.U.get(me(this, a))));
else {
a = this.U.La();
for (var c = 0; c < a.length; c++) b = eb(b, a[c])
}
return b
};
k.set = function(a, b) {
le(this);
this.Ja = null;
a = me(this, a);
this.jd(a) && (this.P -= this.U.get(a).length);
this.U.set(a, [b]);
this.P += 1;
return this
};
k.get = function(a, b) {
var c = a ? this.La(a) : [];
return 0 < c.length ? String(c[0]) : b
};
k.toString = function() {
if (this.Ja) return this.Ja;
if (!this.U) return "";
for (var a = [], b = this.U.Eb(), c = 0; c < b.length; c++)
for (var d = b[c], e = encodeURIComponent(String(d)), d = this.La(d), f = 0; f < d.length; f++) {
var g = e;
"" !== d[f] && (g += "=" + encodeURIComponent(String(d[f])));
a.push(g)
}
return this.Ja = a.join("&")
};
k.clone = function() {
var a = new ce;
a.Ja = this.Ja;
this.U && (a.U = this.U.clone(), a.P = this.P);
return a
};
var me = function(a, b) {
var c = String(b);
a.Sa && (c = c.toLowerCase());
return c
};
ce.prototype.vg = function(a) {
a && !this.Sa && (le(this), this.Ja = null, this.U.forEach(function(a, c) {
var b = c.toLowerCase();
c != b && (this.remove(c), this.remove(b), 0 < a.length && (this.Ja = null, this.U.set(me(this, b), fb(a)), this.P += a.length))
}, this));
this.Sa = a
};
ce.prototype.extend = function(a) {
for (var b = 0; b < arguments.length; b++) Ud(arguments[b], function(a, b) {
this.add(b, a)
}, this)
};
var ne = function(a) {
var b;
b = Error();
if (Error.captureStackTrace) Error.captureStackTrace(b, a || ne), b = String(b.stack);
else {
try {
throw b;
} catch (c) {
b = c
}
b = (b = b.stack) ? String(b) : null
}
b || (b = oe(a || arguments.callee.caller, []));
return b
},
oe = function(a, b) {
var c = [];
if (0 <= Za(b, a)) c.push("[...circular reference...]");
else if (a && 50 > b.length) {
c.push(pe(a) + "(");
for (var d = a.arguments, e = 0; d && e < d.length; e++) {
0 < e && c.push(", ");
var f;
f = d[e];
switch (typeof f) {
case "object":
f = f ? "object" : "null";
break;
case "string":
break;
case "number":
f =
String(f);
break;
case "boolean":
f = f ? "true" : "false";
break;
case "function":
f = (f = pe(f)) ? f : "[fn]";
break;
default:
f = typeof f
}
40 < f.length && (f = f.substr(0, 40) + "...");
c.push(f)
}
b.push(a);
c.push(")\n");
try {
c.push(oe(a.caller, b))
} catch (g) {
c.push("[exception trying to get caller]\n")
}
} else a ? c.push("[...long stack...]") : c.push("[end]");
return c.join("")
},
pe = function(a) {
if (qe[a]) return qe[a];
a = String(a);
if (!qe[a]) {
var b = /function ([^\(]+)/.exec(a);
qe[a] = b ? b[1] : "[Anonymous]"
}
return qe[a]
},
qe = {};
var re = /^[\w+/]+[=]{0,2}$/;
pa("userfeedback.api.startFeedback", function(a, b, c) {
a.timeOfStartCall = (new Date).getTime();
var d = c || r,
e = d.document,
f;
a: {
if ((f = (d || r).document.querySelector("script[nonce]")) && (f = f.nonce || f.getAttribute("nonce")) && re.test(f)) break a;f = void 0
}
f && (a.nonce = f);
if ("help" == a.flow) {
var g = qa("document.location.href", d);
!a.helpCenterContext && g && (a.helpCenterContext = g.substring(0, 1200));
g = !0;
if (b && JSON && JSON.stringify) {
var h = JSON.stringify(b);
(g = 1200 >= h.length) && (a.psdJson = h)
}
g || (b = {
invalidPsd: !0
})
}
b = [a, b, c];
d.GOOGLE_FEEDBACK_START_ARGUMENTS = b;
c = a.serverUri || "//www.google.com/tools/feedback";
if (g = d.GOOGLE_FEEDBACK_START) g.apply(d, b);
else {
var d = c + "/load.js?",
l;
for (l in a) b = a[l], null != b && !xa(b) && (d += encodeURIComponent(l) + "=" + encodeURIComponent(b) + "&");
a = e.createElement("script");
f && a.setAttribute("nonce", f);
a.src = d;
e.body.appendChild(a)
}
});
var te = function(a) {
this.Ia = {};
if (a)
for (var b = 0; b < a.length; b++) this.Ia[se(a[b])] = null
},
ue = {},
se = function(a) {
return a in ue || 32 == String(a).charCodeAt(0) ? " " + a : a
},
ve = function(a) {
return 32 == a.charCodeAt(0) ? a.substr(1) : a
};
k = te.prototype;
k.add = function(a) {
this.Ia[se(a)] = null
};
k.clear = function() {
this.Ia = {}
};
k.clone = function() {
var a = new te,
b;
for (b in this.Ia) a.Ia[b] = null;
return a
};
k.contains = function(a) {
return se(a) in this.Ia
};
k.forEach = function(a, b) {
for (var c in this.Ia) a.call(b, ve(c), void 0, this)
};
k.qc = Object.keys ? function() {
return Object.keys(this.Ia).length
} : function() {
var a = 0,
b;
for (b in this.Ia) a++;
return a
};
k.La = Object.keys ? function() {
return Object.keys(this.Ia).map(ve, this)
} : function() {
var a = [],
b;
for (b in this.Ia) a.push(ve(b));
return a
};
k.remove = function(a) {
a = se(a);
return a in this.Ia ? (delete this.Ia[a], !0) : !1
};
k.Rd = function() {
return Kd(this.La())
};
var we, xe = /^(https?:)|(data:image\/)/,
ye = new te("head HEAD link LINK style STYLE meta META defs DEFS script SCRIPT html HTML base BASE colgroup COLGROUP wbr WBR".split(" ")),
ze = new te("svg SVG g G br BR".split(" ")),
Ae = function(a) {
return a.replace(/(\W*)([a-zA-Z])/g, function(a, c, d, e) {
return c.length || !e ? c + d.toUpperCase() : a
})
},
Be = function(a, b) {
if ("none" == b) return a;
switch (b.toLowerCase()) {
case "lowercase":
return a.toLowerCase();
case "uppercase":
return a.toUpperCase();
case "capitalize":
return Ae(a)
}
return a
},
Ce = function(a) {
return !!a && xe.test(a.toString())
},
De = function(a, b) {
var c = Jc(H(a));
return c && c.getComputedStyle ? c.getComputedStyle(a, b || "") : b ? null : a.currentStyle
},
J = function(a, b, c) {
try {
var d = De(a, c);
if (d) return d[b] || d.getPropertyValue(b) || ""
} catch (e) {}
return ""
},
Ee = function(a) {
var b = a.document,
c = 0;
if (b) {
a = Ec(a).width;
var c = b.body,
d = b.documentElement;
if (Fc(Ac(b).J) && d.scrollWidth) c = d.scrollWidth != a ? d.scrollWidth : d.offsetWidth;
else {
var b = d.scrollWidth,
e = d.offsetWidth;
if (d.clientWidth != e || jc) b = c.scrollWidth,
e = c.offsetWidth;
c = b > a ? b > e ? b : e : b < e ? b : e
}
}
return c
},
Fe = function(a) {
try {
var b = Vc(a);
return b && b.body ? b : null
} catch (c) {
return null
}
},
Ge = function(a) {
return a && Ha(a, "url(") ? (a = a.substr(4, a.length - 5), '"' == a.charAt(0) && (a = a.substr(1, a.length - 2)), a) : ""
},
He = function(a) {
if (a) {
for (var b = [], c = /url\(['"]?(.*?)['"]?\)/gi, d; d = c.exec(a);) d = d[1], "%22" == d.substr(0, 3) && (d = d.substr(3, d.length - 6)), b.push(d);
return b
}
return []
},
Ie = function(a) {
return y(a.parentNode.namespaceURI || "", "svg") ? !0 : !1
},
Je = function(a, b) {
for (var c = [], d = a.querySelectorAll('link[rel="import"]'), e = 0; e < d.length; e++) {
var f = d[e]["import"];
f && !b[d[e].href] && (b[d[e].href] = !0, c.push(f), c = c.concat(Je(f, b)))
}
return c
},
Ke = function(a) {
var b = a.tagName;
if (ye.contains(b) || 0 < a.offsetWidth || 0 < a.offsetHeight) return !0;
if ("none" == a.style.display) return !1;
if (a.style.clear && "none" != a.style.clear) return !0;
if ("OPTION" == a.tagName || "option" == a.tagName) {
for (a = a.parentElement; a;) {
if ("SELECT" == a.tagName || "select" == a.tagName) {
if (0 < a.offsetWidth && 0 < a.offsetHeight) return !0;
break
}
a = a.parentElement
}
return !1
}
if (ze.contains(b)) {
var c = a.getBoundingClientRect();
if (("br" == b || "BR" == b) && 0 < c.height || 0 < c.width && 0 < c.height) return !0
}
for (b = a.firstElementChild; b; b = b.nextElementSibling)
if (Ke(b)) return !0;
for (a = a.shadowRoot; a; a = a.olderShadowRoot)
for (b = a.firstElementChild; b; b = b.nextElementSibling)
if (Ke(b)) return !0;
return !1
};
var Le = function() {
this.ze = {}
};
Kb(D("https://www.google.com"));
var Me = Kb(D("//www.google.com/tools/feedback")),
Ne = [Me, Kb(D("https://www.google.com/tools/feedback")), Kb(D("https://support.google.com/inapp")), Kb(D("https://sandbox.google.com/inapp")), Kb(D("https://sandbox.google.com/tools/feedback"))],
Oe = function(a) {
var b = a.getParam("serverUri");
a = Ne.filter(function(a) {
return Jb(a) == b
})[0];
return Jb(a || Me)
};
Kb(D("https://clients6.google.com"));
Kb(D("https://content-googleapis-staging.sandbox.google.com"));
Kb(D("https://content-googleapis-test.sandbox.google.com"));
Kb(D("https://support.google.com"));
Kb(D("https://support-content-gkmsstaging.sandbox.google.com"));
Kb(D("https://support-content-staging.sandbox.google.com"));
Kb(D("https://support-content-test.sandbox.google.com"));
Le.prototype.getParam = function(a) {
return this.ze[a]
};
var Pe = function(a, b) {
this.Kk = a;
this.Re = b || 5E3
};
Pe.prototype.send = function(a) {
return new md(w(function(b, c) {
var d = Qe + "__" + (Re++).toString(36) + Date.now().toString(36),
e = this.Kk.clone(),
f;
for (f in a)
if (a.hasOwnProperty(f)) {
var g = e,
h = f,
l = a[f];
I(g);
g.fb.set(h, l)
}
I(e);
e.fb.set("callback", d);
f = document.createElement("script");
f.src = e;
r[d] = b;
f.onerror = c;
(document.head || document.documentElement).appendChild(f);
r.setTimeout(c, this.Re)
}, this))
};
var Qe = "_callbacks_",
Re = 0;
var Se = function(a) {
this.Ga = a;
this.ri = "";
this.Tc = {}
};
Se.prototype.oe = function() {
return this.ri
};
var Te = function(a) {
var b = a.ri;
a = a.Tc.renderFrame2Url;
b instanceof Xd || (b = je(b));
a instanceof Xd || (a = je(a));
return b.resolve(a).toString()
};
var Ue = function(a, b) {
this.Ga = a;
this.Wc = b;
this.ci = "";
this.wk = Object.create(null)
},
Ve = function(a, b) {
b.gfSessionId = (a.Wc.Tc.timestamp || "0") + "-" + (a.Wc.Ck || "0");
b.at = a.Wc.Ok || "";
b.productId = a.Ga.getParam("productId");
b.bucket = a.Ga.getParam("bucket");
b.locale = a.Ga.getParam("hl") || "en";
b.flow = a.ci;
b.productSpecificContext = a.Ga.getParam("helpCenterContext") || window.top.location.href;
b.useAnonymousMetrics = !!a.Ga.getParam("enableAnonymousFeedback");
(new Pe(new Xd(Oe(a.Ga) + "/metric/report"), 15E3)).send(b).then(function() {})
},
We = function(a, b, c, d) {
d = d || {};
Object.assign(d, {
subUserAction: c
});
a.wk[b] = !0;
c = {
elapsedMillis: Date.now() - parseInt(a.Ga.getParam("timeOfStartCall"), 10)
};
Object.assign(c, d || {}, {
userAction: b
});
Ve(a, c)
},
Xe = function(a, b) {
We(a, b, "action_request")
},
Ye = function(a, b, c) {
We(a, b, "action_success", {
elapsedMillis: c
})
},
Ze = function(a, b, c) {
We(a, b, "action_error", {
elapsedMillis: c
})
},
$e = function(a, b) {
We(a, "latency_measured", b, {
elapsedMillis: Date.now() - parseInt(a.Ga.getParam("timeOfStartCall"), 10)
})
};
var K = function() {
this.Mc = this.Mc;
this.uc = this.uc
};
K.prototype.Mc = !1;
K.prototype.isDisposed = function() {
return this.Mc
};
K.prototype.Db = function() {
this.Mc || (this.Mc = !0, this.X())
};
var bf = function(a, b) {
var c = Da(af, b);
a.Mc ? t(void 0) ? c.call(void 0) : c() : (a.uc || (a.uc = []), a.uc.push(t(void 0) ? w(c, void 0) : c))
};
K.prototype.X = function() {
if (this.uc)
for (; this.uc.length;) this.uc.shift()()
};
var af = function(a) {
a && "function" == typeof a.Db && a.Db()
};
var ff = function() {
K.call(this);
this.Ih = []
};
x(ff, K);
var gf = "width height overflow overflowX overflowY position".split(" ");
k = ff.prototype;
k.X = function() {
ff.s.X.call(this);
hf(this);
jf(this);
this.Tj && (this.Tj.content = this.Sk)
};
k.getWindow = function() {
return Jc(this.Ra)
};
k.oe = function() {
return this.getWindow().location.href
};
k.sb = function() {
return this.Ra
};
k.Di = function(a) {
this.Ra = a
};
k.Z = function() {
return Ac(this.Ra)
};
var jf = function(a) {
a.Ih.forEach(function(a) {
a.element.style.visibility = a.visibility
});
a.Ih = []
},
lf = function(a) {
if (!a.Kf) {
var b = a.sb().documentElement,
c = Ic(a.Z().J),
d = Ec(a.getWindow());
a.Kf = kf(b);
b.style.overflow = "hidden";
b.style.position = "relative";
b.style.width = d.width + "px";
b.style.height = d.height + "px";
b.scrollLeft = c.x;
b.scrollTop = c.y
}
},
hf = function(a) {
mf(a.sb().documentElement, a.Kf);
a.Kf = null
},
kf = function(a) {
var b = {
style: {}
};
gf.forEach(function(c) {
b.style[c] = a.style[c]
});
b.scrollLeft = a.scrollLeft;
b.scrollTop = a.scrollTop;
return b
},
mf = function(a, b) {
b && (gf.forEach(function(c) {
a.style[c] = b.style[c]
}), a.scrollLeft = b.scrollLeft, a.scrollTop = b.scrollTop)
};
var nf = function(a, b) {
this.type = a;
this.currentTarget = this.target = b;
this.defaultPrevented = this.wc = !1;
this.zi = !0
};
nf.prototype.stopPropagation = function() {
this.wc = !0
};
nf.prototype.preventDefault = function() {
this.defaultPrevented = !0;
this.zi = !1
};
var of = function(a) {
a.preventDefault()
};
var pf = !F || 9 <= Number(vc),
qf = !F || 9 <= Number(vc),
rf = F && !G("9");
!kc || G("528");
jc && G("1.9b") || F && G("8") || hc && G("9.5") || kc && G("528");
jc && !G("8") || F && G("9");
var sf = function(a, b) {
nf.call(this, a ? a.type : "");
this.relatedTarget = this.currentTarget = this.target = null;
this.charCode = this.keyCode = this.button = this.screenY = this.screenX = this.clientY = this.clientX = this.offsetY = this.offsetX = 0;
this.metaKey = this.shiftKey = this.altKey = this.ctrlKey = !1;
this.$b = this.state = null;
a && this.init(a, b)
};
x(sf, nf);
var tf = [1, 4, 2];
sf.prototype.init = function(a, b) {
var c = this.type = a.type,
d = a.changedTouches ? a.changedTouches[0] : null;
this.target = a.target || a.srcElement;
this.currentTarget = b;
var e = a.relatedTarget;
if (e) {
if (jc) {
var f;
a: {
try {
dc(e.nodeName);
f = !0;
break a
} catch (g) {}
f = !1
}
f || (e = null)
}
} else "mouseover" == c ? e = a.fromElement : "mouseout" == c && (e = a.toElement);
this.relatedTarget = e;
null === d ? (this.offsetX = kc || void 0 !== a.offsetX ? a.offsetX : a.layerX, this.offsetY = kc || void 0 !== a.offsetY ? a.offsetY : a.layerY, this.clientX = void 0 !== a.clientX ? a.clientX :
a.pageX, this.clientY = void 0 !== a.clientY ? a.clientY : a.pageY, this.screenX = a.screenX || 0, this.screenY = a.screenY || 0) : (this.clientX = void 0 !== d.clientX ? d.clientX : d.pageX, this.clientY = void 0 !== d.clientY ? d.clientY : d.pageY, this.screenX = d.screenX || 0, this.screenY = d.screenY || 0);
this.button = a.button;
this.keyCode = a.keyCode || 0;
this.charCode = a.charCode || ("keypress" == c ? a.keyCode : 0);
this.ctrlKey = a.ctrlKey;
this.altKey = a.altKey;
this.shiftKey = a.shiftKey;
this.metaKey = a.metaKey;
this.state = a.state;
this.$b = a;
a.defaultPrevented &&
this.preventDefault()
};
sf.prototype.stopPropagation = function() {
sf.s.stopPropagation.call(this);
this.$b.stopPropagation ? this.$b.stopPropagation() : this.$b.cancelBubble = !0
};
sf.prototype.preventDefault = function() {
sf.s.preventDefault.call(this);
var a = this.$b;
if (a.preventDefault) a.preventDefault();
else if (a.returnValue = !1, rf) try {
if (a.ctrlKey || 112 <= a.keyCode && 123 >= a.keyCode) a.keyCode = -1
} catch (b) {}
};
var uf = "closure_listenable_" + (1E6 * Math.random() | 0),
vf = function(a) {
return !(!a || !a[uf])
},
wf = 0;
var xf = function(a, b, c, d, e) {
this.listener = a;
this.Ee = null;
this.src = b;
this.type = c;
this.capture = !!d;
this.re = e;
this.key = ++wf;
this.Nb = this.$d = !1
},
yf = function(a) {
a.Nb = !0;
a.listener = null;
a.Ee = null;
a.src = null;
a.re = null
};
var zf = function(a) {
this.src = a;
this.ma = {};
this.Kd = 0
};
zf.prototype.add = function(a, b, c, d, e) {
var f = a.toString();
a = this.ma[f];
a || (a = this.ma[f] = [], this.Kd++);
var g = Af(a, b, d, e); - 1 < g ? (b = a[g], c || (b.$d = !1)) : (b = new xf(b, this.src, f, !!d, e), b.$d = c, a.push(b));
return b
};
zf.prototype.remove = function(a, b, c, d) {
a = a.toString();
if (!(a in this.ma)) return !1;
var e = this.ma[a];
b = Af(e, b, c, d);
return -1 < b ? (yf(e[b]), Array.prototype.splice.call(e, b, 1), 0 == e.length && (delete this.ma[a], this.Kd--), !0) : !1
};
var Bf = function(a, b) {
var c = b.type;
c in a.ma && db(a.ma[c], b) && (yf(b), 0 == a.ma[c].length && (delete a.ma[c], a.Kd--))
};
zf.prototype.Yc = function(a) {
a = a && a.toString();
var b = 0,
c;
for (c in this.ma)
if (!a || c == a) {
for (var d = this.ma[c], e = 0; e < d.length; e++) ++b, yf(d[e]);
delete this.ma[c];
this.Kd--
}
return b
};
zf.prototype.rd = function(a, b, c, d) {
a = this.ma[a.toString()];
var e = -1;
a && (e = Af(a, b, c, d));
return -1 < e ? a[e] : null
};
zf.prototype.hasListener = function(a, b) {
var c = t(a),
d = c ? a.toString() : "",
e = t(b);
return nb(this.ma, function(a) {
for (var f = 0; f < a.length; ++f)
if (!(c && a[f].type != d || e && a[f].capture != b)) return !0;
return !1
})
};
var Af = function(a, b, c, d) {
for (var e = 0; e < a.length; ++e) {
var f = a[e];
if (!f.Nb && f.listener == b && f.capture == !!c && f.re == d) return e
}
return -1
};
var Cf = "closure_lm_" + (1E6 * Math.random() | 0),
Df = {},
Ef = 0,
L = function(a, b, c, d, e) {
if (ta(b)) {
for (var f = 0; f < b.length; f++) L(a, b[f], c, d, e);
return null
}
c = Ff(c);
return vf(a) ? a.listen(b, c, d, e) : Gf(a, b, c, !1, d, e)
},
Gf = function(a, b, c, d, e, f) {
if (!b) throw Error("Invalid event type");
var g = !!e,
h = Hf(a);
h || (a[Cf] = h = new zf(a));
c = h.add(b, c, d, e, f);
if (c.Ee) return c;
d = If();
c.Ee = d;
d.src = a;
d.listener = c;
if (a.addEventListener) a.addEventListener(b.toString(), d, g);
else if (a.attachEvent) a.attachEvent(Jf(b.toString()), d);
else throw Error("addEventListener and attachEvent are unavailable.");
Ef++;
return c
},
If = function() {
var a = Kf,
b = qf ? function(c) {
return a.call(b.src, b.listener, c)
} : function(c) {
c = a.call(b.src, b.listener, c);
if (!c) return c
};
return b
},
Lf = function(a, b, c, d, e) {
if (ta(b)) {
for (var f = 0; f < b.length; f++) Lf(a, b[f], c, d, e);
return null
}
c = Ff(c);
return vf(a) ? a.Xf(b, c, d, e) : Gf(a, b, c, !0, d, e)
},
Mf = function(a, b, c, d, e) {
if (ta(b))
for (var f = 0; f < b.length; f++) Mf(a, b[f], c, d, e);
else c = Ff(c), vf(a) ? a.We(b, c, d, e) : a && (a = Hf(a)) && (b = a.rd(b, c, !!d, e)) && Nf(b)
},
Nf = function(a) {
if (!va(a) && a && !a.Nb) {
var b = a.src;
if (vf(b)) Bf(b.pb,
a);
else {
var c = a.type,
d = a.Ee;
b.removeEventListener ? b.removeEventListener(c, d, a.capture) : b.detachEvent && b.detachEvent(Jf(c), d);
Ef--;
(c = Hf(b)) ? (Bf(c, a), 0 == c.Kd && (c.src = null, b[Cf] = null)) : yf(a)
}
}
},
Jf = function(a) {
return a in Df ? Df[a] : Df[a] = "on" + a
},
Pf = function(a, b, c, d) {
var e = !0;
if (a = Hf(a))
if (b = a.ma[b.toString()])
for (b = b.concat(), a = 0; a < b.length; a++) {
var f = b[a];
f && f.capture == c && !f.Nb && (f = Of(f, d), e = e && !1 !== f)
}
return e
},
Of = function(a, b) {
var c = a.listener,
d = a.re || a.src;
a.$d && Nf(a);
return c.call(d, b)
},
Kf = function(a,
b) {
if (a.Nb) return !0;
if (!qf) {
var c = b || qa("window.event"),
d = new sf(c, this),
e = !0;
if (!(0 > c.keyCode || void 0 != c.returnValue)) {
a: {
var f = !1;
if (0 == c.keyCode) try {
c.keyCode = -1;
break a
} catch (l) {
f = !0
}
if (f || void 0 == c.returnValue) c.returnValue = !0
}
c = [];
for (f = d.currentTarget; f; f = f.parentNode) c.push(f);
for (var f = a.type, g = c.length - 1; !d.wc && 0 <= g; g--) {
d.currentTarget = c[g];
var h = Pf(c[g], f, !0, d),
e = e && h
}
for (g = 0; !d.wc && g < c.length; g++) d.currentTarget = c[g],
h = Pf(c[g], f, !1, d),
e = e && h
}
return e
}
return Of(a, new sf(b, this))
},
Hf = function(a) {
a =
a[Cf];
return a instanceof zf ? a : null
},
Qf = "__closure_events_fn_" + (1E9 * Math.random() >>> 0),
Ff = function(a) {
if (wa(a)) return a;
a[Qf] || (a[Qf] = function(b) {
return a.handleEvent(b)
});
return a[Qf]
};
var M = function() {
K.call(this);
this.pb = new zf(this);
this.fj = this;
this.Ae = null
};
x(M, K);
M.prototype[uf] = !0;
k = M.prototype;
k.Ke = function(a) {
this.Ae = a
};
k.addEventListener = function(a, b, c, d) {
L(this, a, b, c, d)
};
k.removeEventListener = function(a, b, c, d) {
Mf(this, a, b, c, d)
};
k.dispatchEvent = function(a) {
var b, c = this.Ae;
if (c) {
b = [];
for (var d = 1; c; c = c.Ae) b.push(c), ++d
}
c = this.fj;
d = a.type || a;
if (u(a)) a = new nf(a, c);
else if (a instanceof nf) a.target = a.target || c;
else {
var e = a;
a = new nf(d, c);
tb(a, e)
}
var e = !0,
f;
if (b)
for (var g = b.length - 1; !a.wc && 0 <= g; g--) f = a.currentTarget = b[g], e = Rf(f, d, !0, a) && e;
a.wc || (f = a.currentTarget = c, e = Rf(f, d, !0, a) && e, a.wc || (e = Rf(f, d, !1, a) && e));
if (b)
for (g = 0; !a.wc && g < b.length; g++) f = a.currentTarget = b[g], e = Rf(f, d, !1, a) && e;
return e
};
k.X = function() {
M.s.X.call(this);
this.pb && this.pb.Yc(void 0);
this.Ae = null
};
k.listen = function(a, b, c, d) {
return this.pb.add(String(a), b, !1, c, d)
};
k.Xf = function(a, b, c, d) {
return this.pb.add(String(a), b, !0, c, d)
};
k.We = function(a, b, c, d) {
return this.pb.remove(String(a), b, c, d)
};
var Rf = function(a, b, c, d) {
b = a.pb.ma[String(b)];
if (!b) return !0;
b = b.concat();
for (var e = !0, f = 0; f < b.length; ++f) {
var g = b[f];
if (g && !g.Nb && g.capture == c) {
var h = g.listener,
l = g.re || g.src;
g.$d && Bf(a.pb, g);
e = !1 !== h.call(l, d) && e
}
}
return e && 0 != d.zi
};
M.prototype.rd = function(a, b, c, d) {
return this.pb.rd(String(a), b, c, d)
};
M.prototype.hasListener = function(a, b) {
return this.pb.hasListener(t(a) ? String(a) : void 0, b)
};
var N = function(a, b, c, d) {
this.top = a;
this.right = b;
this.bottom = c;
this.left = d
};
k = N.prototype;
k.Fh = function() {
return this.right - this.left
};
k.Ah = function() {
return this.bottom - this.top
};
k.clone = function() {
return new N(this.top, this.right, this.bottom, this.left)
};
k.contains = function(a) {
return this && a ? a instanceof N ? a.left >= this.left && a.right <= this.right && a.top >= this.top && a.bottom <= this.bottom : a.x >= this.left && a.x <= this.right && a.y >= this.top && a.y <= this.bottom : !1
};
k.expand = function(a, b, c, d) {
xa(a) ? (this.top -= a.top, this.right += a.right, this.bottom += a.bottom, this.left -= a.left) : (this.top -= a, this.right += Number(b), this.bottom += Number(c), this.left -= Number(d));
return this
};
k.ceil = function() {
this.top = Math.ceil(this.top);
this.right = Math.ceil(this.right);
this.bottom = Math.ceil(this.bottom);
this.left = Math.ceil(this.left);
return this
};
k.floor = function() {
this.top = Math.floor(this.top);
this.right = Math.floor(this.right);
this.bottom = Math.floor(this.bottom);
this.left = Math.floor(this.left);
return this
};
k.round = function() {
this.top = Math.round(this.top);
this.right = Math.round(this.right);
this.bottom = Math.round(this.bottom);
this.left = Math.round(this.left);
return this
};
k.translate = function(a, b) {
a instanceof E ? (this.left += a.x, this.right += a.x, this.top += a.y, this.bottom += a.y) : (this.left += a, this.right += a, va(b) && (this.top += b, this.bottom += b));
return this
};
k.scale = function(a, b) {
var c = va(b) ? b : a;
this.left *= a;
this.right *= a;
this.top *= c;
this.bottom *= c;
return this
};
var O = function(a, b, c, d) {
this.left = a;
this.top = b;
this.width = c;
this.height = d
};
O.prototype.clone = function() {
return new O(this.left, this.top, this.width, this.height)
};
var Sf = function(a) {
return new N(a.top, a.left + a.width, a.top + a.height, a.left)
},
Tf = function(a, b) {
return a.left <= b.left + b.width && b.left <= a.left + a.width && a.top <= b.top + b.height && b.top <= a.top + a.height
};
k = O.prototype;
k.contains = function(a) {
return a instanceof E ? a.x >= this.left && a.x <= this.left + this.width && a.y >= this.top && a.y <= this.top + this.height : this.left <= a.left && this.left + this.width >= a.left + a.width && this.top <= a.top && this.top + this.height >= a.top + a.height
};
k.ceil = function() {
this.left = Math.ceil(this.left);
this.top = Math.ceil(this.top);
this.width = Math.ceil(this.width);
this.height = Math.ceil(this.height);
return this
};
k.floor = function() {
this.left = Math.floor(this.left);
this.top = Math.floor(this.top);
this.width = Math.floor(this.width);
this.height = Math.floor(this.height);
return this
};
k.round = function() {
this.left = Math.round(this.left);
this.top = Math.round(this.top);
this.width = Math.round(this.width);
this.height = Math.round(this.height);
return this
};
k.translate = function(a, b) {
a instanceof E ? (this.left += a.x, this.top += a.y) : (this.left += a, va(b) && (this.top += b));
return this
};
k.scale = function(a, b) {
var c = va(b) ? b : a;
this.left *= a;
this.width *= a;
this.top *= c;
this.height *= c;
return this
};
var Uf = function(a, b) {
null != a && this.append.apply(this, arguments)
};
k = Uf.prototype;
k.lc = "";
k.set = function(a) {
this.lc = "" + a
};
k.append = function(a, b, c) {
this.lc += String(a);
if (null != b)
for (var d = 1; d < arguments.length; d++) this.lc += arguments[d];
return this
};
k.clear = function() {
this.lc = ""
};
k.toString = function() {
return this.lc
};
var Wf = function(a, b, c) {
if (u(b))(b = Vf(a, b)) && (a.style[b] = c);
else
for (var d in b) {
c = a;
var e = b[d],
f = Vf(c, d);
f && (c.style[f] = e)
}
},
Xf = {},
Vf = function(a, b) {
var c = Xf[b];
if (!c) {
var d = Xa(b),
c = d;
void 0 === a.style[d] && (d = (kc ? "Webkit" : jc ? "Moz" : F ? "ms" : hc ? "O" : null) + Ya(d), void 0 !== a.style[d] && (c = d));
Xf[b] = c
}
return c
},
Yf = function(a, b) {
var c = H(a);
return c.defaultView && c.defaultView.getComputedStyle && (c = c.defaultView.getComputedStyle(a, null)) ? c[b] || c.getPropertyValue(b) || "" : ""
},
Zf = function(a, b) {
return Yf(a, b) || (a.currentStyle ?
a.currentStyle[b] : null) || a.style && a.style[b]
},
ag = function(a, b, c) {
var d;
b instanceof E ? (d = b.x, b = b.y) : (d = b, b = c);
a.style.left = $f(d, !1);
a.style.top = $f(b, !1)
},
bg = function(a) {
var b;
try {
b = a.getBoundingClientRect()
} catch (c) {
return {
left: 0,
top: 0,
right: 0,
bottom: 0
}
}
F && a.ownerDocument.body && (a = a.ownerDocument, b.left -= a.documentElement.clientLeft + a.body.clientLeft, b.top -= a.documentElement.clientTop + a.body.clientTop);
return b
},
cg = function(a, b, c) {
if (b instanceof bc) c = b.height, b = b.width;
else if (void 0 == c) throw Error("missing height argument");
a.style.width = $f(b, !0);
a.style.height = $f(c, !0)
},
$f = function(a, b) {
"number" == typeof a && (a = (b ? Math.round(a) : a) + "px");
return a
},
eg = function(a) {
var b = dg;
if ("none" != Zf(a, "display")) return b(a);
var c = a.style,
d = c.display,
e = c.visibility,
f = c.position;
c.visibility = "hidden";
c.position = "absolute";
c.display = "inline";
a = b(a);
c.display = d;
c.position = f;
c.visibility = e;
return a
},
dg = function(a) {
var b = a.offsetWidth,
c = a.offsetHeight,
d = kc && !b && !c;
return t(b) && !d || !a.getBoundingClientRect ? new bc(b, c) : (a = bg(a), new bc(a.right -
a.left, a.bottom - a.top))
},
fg = function(a, b) {
var c = a.style;
"opacity" in c ? c.opacity = b : "MozOpacity" in c ? c.MozOpacity = b : "filter" in c && (c.filter = "" === b ? "" : "alpha(opacity=" + 100 * Number(b) + ")")
},
gg = function(a, b) {
a.style.display = b ? "" : "none"
},
hg = function(a, b) {
if (/^\d+px?$/.test(b)) return parseInt(b, 10);
var c = a.style.left,
d = a.runtimeStyle.left;
a.runtimeStyle.left = a.currentStyle.left;
a.style.left = b;
var e = a.style.pixelLeft;
a.style.left = c;
a.runtimeStyle.left = d;
return +e
},
ig = {
thin: 2,
medium: 4,
thick: 6
},
jg = function(a,
b) {
if ("none" == (a.currentStyle ? a.currentStyle[b + "Style"] : null)) return 0;
var c = a.currentStyle ? a.currentStyle[b + "Width"] : null;
return c in ig ? ig[c] : hg(a, c)
},
kg = function(a) {
if (F && !(9 <= Number(vc))) {
var b = jg(a, "borderLeft"),
c = jg(a, "borderRight"),
d = jg(a, "borderTop");
a = jg(a, "borderBottom");
return new N(d, c, a, b)
}
b = Yf(a, "borderLeftWidth");
c = Yf(a, "borderRightWidth");
d = Yf(a, "borderTopWidth");
a = Yf(a, "borderBottomWidth");
return new N(parseFloat(d), parseFloat(c), parseFloat(a), parseFloat(b))
},
lg = /[^\d]+$/,
mg = {
cm: 1,
"in": 1,
mm: 1,
pc: 1,
pt: 1
},
ng = {
em: 1,
ex: 1
},
og = function(a) {
var b = Zf(a, "fontSize"),
c;
c = (c = b.match(lg)) && c[0] || null;
if (b && "px" == c) return parseInt(b, 10);
if (F) {
if (String(c) in mg) return hg(a, b);
if (a.parentNode && 1 == a.parentNode.nodeType && String(c) in ng) return a = a.parentNode, c = Zf(a, "fontSize"), hg(a, b == c ? "1em" : b)
}
c = Lc("SPAN", {
style: "visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"
});
a.appendChild(c);
b = c.offsetHeight;
Pc(c);
return b
};
var pg = function(a) {
return [a.left, a.top, a.width, a.height]
};
var qg = function() {};
qg.prototype.url = null;
qg.prototype.title = null;
qg.prototype.documentElement = null;
var sg = function(a, b) {
var c = new qg,
d = Ec(Jc(a)),
d = new O(0, 0, d.width, d.height);
a.URL && (c.url = a.URL);
a.title && (c.title = a.title);
a.documentElement && (c.documentElement = rg(a.documentElement, d, b));
return c
},
ug = function(a) {
var b = [];
a.url && (b[0] = a.url);
a.title && (b[1] = a.title);
a.documentElement && (b[2] = tg(a.documentElement));
return b
},
vg = function(a) {
this.tagName = a;
this.children = []
};
k = vg.prototype;
k.id = null;
k.className = null;
k.rect = new O(0, 0, 0, 0);
k.display = "block";
k.position = "static";
k.visibility = "visible";
k.overflowX = "visible";
k.overflowY = "visible";
k.zIndex = "auto";
k.td = !1;
k.bc = null;
k.appendChild = function(a) {
a.tagName && (a.parentElement = this);
this.children.push(a)
};
var wg = function(a) {
return a.getAttribute("google-feedback-data")
},
rg = function(a, b, c) {
var d = c || wg,
e = new vg(a.tagName);
e.id = a.getAttribute("id");
e.className = a.getAttribute("class");
e.Wd = d(a);
var f = De(a);
null !== f && (e.display = f.display, e.position = f.position, e.visibility = f.visibility, e.overflowX = f.overflowX, e.overflowY = f.overflowY, e.zIndex = f.zIndex, d = f.backgroundColor, f = f.backgroundImage, e.td = "transparent" != d && "rgba(0, 0, 0, 0)" != d || "none" != f);
d = a.tagName.toLowerCase();
if ("script" != d && "style" != d && "none" !=
e.display && "hidden" != e.visibility) {
var g;
try {
var h = H(a),
l = new E(0, 0),
m, n;
n = h ? H(h) : document;
m = !F || 9 <= Number(vc) || Fc(Ac(n).J) ? n.documentElement : n.body;
if (a != m) {
var p = bg(a),
v = Ic(Ac(h).J);
l.x = p.left + v.x;
l.y = p.top + v.y
}
g = l
} catch (A) {
g = new E(0, 0)
}
h = new bc(a.offsetWidth, a.offsetHeight);
e.rect = new O(g.x, g.y, h.width, h.height);
if ("textarea" == d || "input" == d && "text" == a.getAttribute("type")) e.appendChild(a.value);
else
for (g = a.firstChild; g;) 1 == g.nodeType ? e.appendChild(rg(g, b, c)) : 3 == g.nodeType && e.appendChild(g.nodeValue),
g = g.nextSibling;
if (("frame" == d || "iframe" == d) && 1 < e.rect.width && 1 < e.rect.height) try {
var q = Vc(a);
q && (e.bc = sg(q, c))
} catch (A) {}
}
return e
};
vg.prototype.Eh = function() {
var a = new Uf;
xg(this, a);
a = a.toString();
a = Ja(a);
return Ka(a) ? null : a
};
var xg = function(a, b) {
a.children.forEach(function(a) {
"string" == typeof a ? b.append(a) : (!yg(a) || yg(this) && this.rect.contains(a.rect)) && xg(a, b)
}, a)
},
zg = function(a) {
return "string" != typeof a
},
yg = function(a) {
return "html" == a.tagName || "static" != a.position && !!a.zIndex && "auto" != a.zIndex
},
Ag = function(a, b, c) {
a.children.filter(zg).forEach(function(a) {
b.call(c, a)
})
},
Bg = function(a, b, c, d) {
b.has(a) && c.set(a, d.slice(0));
d.push(0);
Ag(a, function(a) {
Bg(a, b, c, d);
d[d.length - 1]++
}, a);
d.pop();
a.bc && a.bc.documentElement && (d.push(-1),
Bg(a.bc.documentElement, b, c, d), d.pop())
},
tg = function(a) {
var b = vg.prototype,
c = [];
c[0] = a.tagName;
a.id != b.id && (c[2] = a.id);
a.className != b.className && (c[3] = a.className);
a.display != b.display && (c[5] = a.display);
a.position != b.position && (c[4] = a.position);
a.visibility != b.visibility && (c[6] = a.visibility);
a.overflowX != b.overflowX && (c[7] = a.overflowX);
a.overflowY != b.overflowY && (c[8] = a.overflowY);
a.zIndex != b.zIndex && (c[9] = a.zIndex);
a.td != b.td && (c[10] = a.td);
a.rect.toString() != b.rect.toString() && (c[11] = pg(a.rect));
if (0 != a.children.length) {
var d = [];
a.children.forEach(function(a) {
d || (d = []);
"string" === typeof a ? d.push(a) : d.push(tg(a))
});
c[1] = d
}
a.bc && (c[12] = ug(a.bc));
return c
};
var Cg = function(a, b) {
M.call(this);
this.Ca = a;
this.Ab = b || new O(0, 0, 100, 100)
};
x(Cg, M);
Cg.prototype.V = function() {
return this.Ab
};
Cg.prototype.Hd = function(a) {
this.Ab = a;
this.dispatchEvent("boundsChanged")
};
Cg.prototype.F = function() {
return this.v
};
Cg.prototype.clone = function() {
return new Cg(this.Ca, this.Ab.clone())
};
var Dg = function(a, b, c, d) {
this.$ = a;
this.Fi = b;
this.wj = c;
this.hj = d
};
Dg.prototype.Eh = function() {
return this.Fi
};
var Eg = function() {},
Fg = function(a) {
var b = new Eg;
b.appCodeName = a.appCodeName;
b.appMinorVersion = a.appMinorVersion;
b.appName = a.appName;
b.appVersion = a.appVersion;
b.browserLanguage = a.browserLanguage;
b.cookieEnabled = a.cookieEnabled;
b.cpuClass = a.cpuClass;
b.onLine = a.onLine;
b.platform = a.platform;
b.systemLanguage = a.systemLanguage;
b.userAgent = a.userAgent;
b.userLanguage = a.userLanguage;
"function" == typeof a.javaEnabled && (b.javaEnabled = a.javaEnabled());
"function" == typeof a.taintEnabled && (b.taintEnabled = a.taintEnabled());
a.plugins && (b.plugins = a.plugins, b.gg = [], Array.prototype.forEach.call(a.plugins, function(a) {
b.gg.push(a.name)
}));
return b
},
Gg = function(a) {
var b = [];
a.appCodeName && (b[0] = a.appCodeName);
a.appMinorVersion && (b[1] = a.appMinorVersion);
a.appName && (b[2] = a.appName);
a.appVersion && (b[3] = a.appVersion);
a.browserLanguage && (b[4] = a.browserLanguage);
null != a.cookieEnabled && (b[5] = a.cookieEnabled);
a.cpuClass && (b[6] = a.cpuClass);
null != a.onLine && (b[7] = a.onLine);
a.platform && (b[8] = a.platform);
a.systemLanguage && (b[9] = a.systemLanguage);
a.userAgent && (b[10] = a.userAgent);
a.userLanguage && (b[11] = a.userLanguage);
null != a.javaEnabled && (b[12] = a.javaEnabled);
null != a.taintEnabled && (b[13] = a.taintEnabled);
a.gg && (b[14] = a.gg);
a.plugins && (b[15] = [], Array.prototype.forEach.call(a.plugins, function(a) {
b[15].push({
name: a.name,
description: a.description,
filename: a.filename
})
}));
return b
};
var Hg = function() {};
k = Hg.prototype;
k.Yf = null;
k.document = null;
k.Ig = null;
k.navigator = null;
k.Ci = null;
k.Ak = null;
var Ig = function(a) {
var b = [];
a.Yf && (b[0] = a.Yf);
a.navigator && (b[3] = Gg(a.navigator));
a.document && (b[1] = ug(a.document));
if (a.Ig) {
var c = a.Ig;
b[2] = [c.width, c.height]
}
a.Ak && (a = a.Ci, b[4] = [a.left, a.top, a.width, a.height]);
return b
},
Jg = function() {};
Jg.prototype.Zf = null;
Jg.prototype.$f = null;
Jg.prototype.J = null;
Jg.prototype.Ha = function() {
var a = new Hg;
a.Yf = this.Zf;
a.navigator = this.$f;
a.document = this.J;
return a
};
var Kg = F ? 'javascript:""' : "about:blank";
var Lg = function(a, b, c) {
if (wa(a)) c && (a = w(a, c));
else if (a && "function" == typeof a.handleEvent) a = w(a.handleEvent, a);
else throw Error("Invalid listener argument");
return 2147483647 < Number(b) ? -1 : r.setTimeout(a, b || 0)
};
var Mg = function(a) {
K.call(this);
this.Gf = a;
this.L = {}
};
x(Mg, K);
var Ng = [];
Mg.prototype.listen = function(a, b, c, d) {
ta(b) || (b && (Ng[0] = b.toString()), b = Ng);
for (var e = 0; e < b.length; e++) {
var f = L(a, b[e], c || this.handleEvent, d || !1, this.Gf || this);
if (!f) break;
this.L[f.key] = f
}
return this
};
Mg.prototype.Xf = function(a, b, c, d) {
return Og(this, a, b, c, d)
};
var Og = function(a, b, c, d, e, f) {
if (ta(c))
for (var g = 0; g < c.length; g++) Og(a, b, c[g], d, e, f);
else {
b = Lf(b, c, d || a.handleEvent, e, f || a.Gf || a);
if (!b) return a;
a.L[b.key] = b
}
return a
};
Mg.prototype.We = function(a, b, c, d, e) {
if (ta(b))
for (var f = 0; f < b.length; f++) this.We(a, b[f], c, d, e);
else c = c || this.handleEvent, e = e || this.Gf || this, c = Ff(c), d = !!d, b = vf(a) ? a.rd(b, c, d, e) : a ? (a = Hf(a)) ? a.rd(b, c, d, e) : null : null, b && (Nf(b), delete this.L[b.key]);
return this
};
Mg.prototype.Yc = function() {
mb(this.L, function(a, b) {
this.L.hasOwnProperty(b) && Nf(a)
}, this);
this.L = {}
};
Mg.prototype.X = function() {
Mg.s.X.call(this);
this.Yc()
};
Mg.prototype.handleEvent = function() {
throw Error("EventHandler.handleEvent not implemented");
};
var Pg = function() {};
Pg.Rf = void 0;
Pg.Ej = function() {
return Pg.Rf ? Pg.Rf : Pg.Rf = new Pg
};
Pg.prototype.Xj = 0;
var P = function(a) {
M.call(this);
this.G = a || Ac();
this.sg = Qg;
this.ta = null;
this.T = !1;
this.v = null;
this.fc = void 0;
this.kb = this.ea = this.K = null;
this.Ui = !1
};
x(P, M);
P.prototype.Lj = Pg.Ej();
var Qg = null;
P.prototype.getId = function() {
return this.ta || (this.ta = ":" + (this.Lj.Xj++).toString(36))
};
P.prototype.F = function() {
return this.v
};
P.prototype.zh = function() {
this.fc || (this.fc = new Mg(this));
return this.fc
};
var Rg = function(a, b) {
if (a == b) throw Error("Unable to set parent component");
var c;
if (c = b && a.K && a.ta) {
c = a.K;
var d = a.ta;
c = c.kb && d ? rb(c.kb, d) || null : null
}
if (c && a.K != b) throw Error("Unable to set parent component");
a.K = b;
P.s.Ke.call(a, b)
};
k = P.prototype;
k.getParent = function() {
return this.K
};
k.Ke = function(a) {
if (this.K && this.K != a) throw Error("Method not supported");
P.s.Ke.call(this, a)
};
k.Z = function() {
return this.G
};
k.Yb = function() {
this.v = this.G.createElement("DIV")
};
k.render = function(a) {
Sg(this, a)
};
var Sg = function(a, b, c) {
if (a.T) throw Error("Component already rendered");
a.v || a.Yb();
b ? b.insertBefore(a.v, c || null) : a.G.sb().body.appendChild(a.v);
a.K && !a.K.T || a.Zb()
},
Tg = function(a, b) {
if (a.T) throw Error("Component already rendered");
if (b) {
a.Ui = !0;
var c = H(b);
a.G && a.G.sb() == c || (a.G = Ac(b));
a.nb(b);
a.Zb()
} else throw Error("Invalid element to decorate");
};
k = P.prototype;
k.nb = function(a) {
this.v = a
};
k.Zb = function() {
this.T = !0;
Ug(this, function(a) {
!a.T && a.F() && a.Zb()
})
};
k.od = function() {
Ug(this, function(a) {
a.T && a.od()
});
this.fc && this.fc.Yc();
this.T = !1
};
k.X = function() {
this.T && this.od();
this.fc && (this.fc.Db(), delete this.fc);
Ug(this, function(a) {
a.Db()
});
!this.Ui && this.v && Pc(this.v);
this.K = this.v = this.kb = this.ea = null;
P.s.X.call(this)
};
k.Sb = function(a, b) {
var c = this.ea ? this.ea.length : 0;
if (a.T && (b || !this.T)) throw Error("Component already rendered");
if (0 > c || c > (this.ea ? this.ea.length : 0)) throw Error("Child component index out of bounds");
this.kb && this.ea || (this.kb = {}, this.ea = []);
if (a.getParent() == this) {
var d = a.getId();
this.kb[d] = a;
db(this.ea, a)
} else {
var d = this.kb,
e = a.getId();
if (null !== d && e in d) throw Error('The object already contains the key "' + e + '"');
d[e] = a
}
Rg(a, this);
ib(this.ea, c, 0, a);
a.T && this.T && a.getParent() == this ? (d = this.v, c =
d.childNodes[c] || null, c != a.F() && d.insertBefore(a.F(), c)) : b ? (this.v || this.Yb(), c = this.ea ? this.ea[c + 1] || null : null, Sg(a, this.v, c ? c.v : null)) : this.T && !a.T && a.v && a.v.parentNode && 1 == a.v.parentNode.nodeType && a.Zb()
};
var Ug = function(a, b) {
a.ea && B(a.ea, b, void 0)
};
P.prototype.removeChild = function(a, b) {
if (a) {
var c = u(a) ? a : a.getId();
a = this.kb && c ? rb(this.kb, c) || null : null;
if (c && a) {
var d = this.kb;
c in d && delete d[c];
db(this.ea, a);
b && (a.od(), a.v && Pc(a.v));
Rg(a, null)
}
}
if (!a) throw Error("Child is not in parent component");
return a
};
/*
Portions of this code are from MochiKit, received by
The Closure Authors under the MIT license. All other code is Copyright
2005-2009 The Closure Authors. All Rights Reserved.
*/
var Q = function(a, b) {
this.Ie = [];
this.gi = a;
this.nh = b || null;
this.sd = this.Ka = !1;
this.Pb = void 0;
this.wg = this.mj = this.qf = !1;
this.Te = 0;
this.K = null;
this.Yd = 0
};
Q.prototype.cancel = function(a) {
if (this.Ka) this.Pb instanceof Q && this.Pb.cancel();
else {
if (this.K) {
var b = this.K;
delete this.K;
a ? b.cancel(a) : (b.Yd--, 0 >= b.Yd && b.cancel())
}
this.gi ? this.gi.call(this.nh, this) : this.wg = !0;
this.Ka || this.Y(new Vg)
}
};
Q.prototype.jh = function(a, b) {
this.qf = !1;
Wg(this, a, b)
};
var Wg = function(a, b, c) {
a.Ka = !0;
a.Pb = c;
a.sd = !b;
Xg(a)
},
Zg = function(a) {
if (a.Ka) {
if (!a.wg) throw new Yg;
a.wg = !1
}
};
Q.prototype.callback = function(a) {
Zg(this);
Wg(this, !0, a)
};
Q.prototype.Y = function(a) {
Zg(this);
Wg(this, !1, a)
};
var R = function(a, b, c) {
return $g(a, b, null, c)
},
S = function(a, b, c) {
return $g(a, null, b, c)
},
ah = function(a, b, c) {
$g(a, b, b, c)
},
$g = function(a, b, c, d) {
a.Ie.push([b, c, d]);
a.Ka && Xg(a);
return a
};
Q.prototype.then = function(a, b, c) {
var d, e, f = new md(function(a, b) {
d = a;
e = b
});
$g(this, d, function(a) {
a instanceof Vg ? f.cancel() : e(a)
});
return f.then(a, b, c)
};
jd(Q);
var bh = function(a, b) {
$g(a, b.callback, b.Y, b)
},
ch = function(a, b) {
b instanceof Q ? R(a, w(b.rf, b)) : R(a, function() {
return b
})
};
Q.prototype.rf = function(a) {
var b = new Q;
bh(this, b);
a && (b.K = this, this.Yd++);
return b
};
var dh = function(a) {
return bb(a.Ie, function(a) {
return wa(a[1])
})
},
Xg = function(a) {
if (a.Te && a.Ka && dh(a)) {
var b = a.Te,
c = eh[b];
c && (r.clearTimeout(c.ta), delete eh[b]);
a.Te = 0
}
a.K && (a.K.Yd--, delete a.K);
for (var b = a.Pb, d = c = !1; a.Ie.length && !a.qf;) {
var e = a.Ie.shift(),
f = e[0],
g = e[1],
e = e[2];
if (f = a.sd ? g : f) try {
var h = f.call(e || a.nh, b);
t(h) && (a.sd = a.sd && (h == b || h instanceof Error), a.Pb = b = h);
if (kd(b) || "function" === typeof r.Promise && b instanceof r.Promise) d = !0, a.qf = !0
} catch (l) {
b = l, a.sd = !0, dh(a) || (c = !0)
}
}
a.Pb = b;
d && (h = w(a.jh,
a, !0), d = w(a.jh, a, !1), b instanceof Q ? ($g(b, h, d), b.mj = !0) : b.then(h, d));
c && (b = new fh(b), eh[b.ta] = b, a.Te = b.ta)
},
gh = function(a) {
var b = new Q;
b.callback();
R(b, function() {
return a
});
return b
},
Yg = function() {
Fa.call(this)
};
x(Yg, Fa);
Yg.prototype.message = "Deferred has already fired";
Yg.prototype.name = "AlreadyCalledError";
var Vg = function() {
Fa.call(this)
};
x(Vg, Fa);
Vg.prototype.message = "Deferred was canceled";
Vg.prototype.name = "CanceledError";
var fh = function(a) {
this.ta = r.setTimeout(w(this.Gk, this), 0);
this.je = a
};
fh.prototype.Gk = function() {
delete eh[this.ta];
throw this.je;
};
var eh = {};
var hh = function(a, b) {
if ("isOnce" in a) return a;
var c = !1,
d = function() {
if (c) {
if (b) return;
throw Error("already called: " + a);
}
c = !0;
a.apply(r, arguments)
};
d.isOnce = !0;
return d
},
ih = function(a) {
if ("isAsyncOnce" in a) return a;
var b = hh(function() {
var b = arguments;
window.setTimeout(function() {
a.apply(r, b)
}, 0)
});
b.isAsyncOnce = !0;
return b
},
jh = function(a, b) {
var c = Ea() + 2E3,
d = function() {
var e;
try {
e = a()
} catch (f) {
return b(!1, f)
}
if (e) return b(!0);
if (c && Ea() + 16 > c) return b(!1);
r.setTimeout(d, 16)
};
r.setTimeout(d, 0)
};
var kh = function(a) {
this.fi = a || ""
};
k = kh.prototype;
k.getName = function() {
return this.fi
};
k.start = function() {
this.reset()
};
k.tick = function(a, b) {
this.Se.tick(a, null, (b || new Date).getTime())
};
k.reset = function() {
this.Se = new window.jstiming.Timer(this.getStartTime());
this.Se.name = this.fi
};
k.getStartTime = function() {
return (new Date).getTime()
};
k.report = function(a) {
window.jstiming.sn = this.Tk || "userfeedback_web_client";
window.jstiming.report(this.Se, a || {}, "https://www.google.com/csi");
this.Se = null
};
var lh = function(a) {
this.qg = a || 0
};
k = lh.prototype;
k.onError = function(a) {
throw a;
};
k.Zj = ra;
k.qg = 0;
k.nd = function(a) {
a instanceof Q ? (R(a, this.nd, this), S(a, this.onError, this)) : wa(a) && Lg(w(this.zk, this, a))
};
k.forEach = function(a, b, c) {
function d() {
if (f >= a.length) e.callback(null);
else try {
return b.call(c, a[f], f), ++f, d
} catch (g) {
e.Y(g)
}
}
var e = new Q,
f = 0;
this.nd(d);
return e
};
k.zk = function(a) {
try {
for (var b = Ea() + this.qg, c = a(); wa(c) && Ea() < b;) c = c();
if (wa(c) || c instanceof Q) this.Zj(), this.nd(c)
} catch (d) {
this.onError(d)
}
};
var mh = function(a, b) {
Q.call(this, a, b);
this.Dd = 0;
this.Ki = 1;
this.sk = [];
R(this, this.Dj, this)
};
x(mh, Q);
var nh = function(a, b) {
a.Ki = 100 / b;
return a
};
mh.prototype.za = function() {
this.Ka || (this.Dd += this.Ki, oh(this))
};
var oh = function(a) {
B(a.sk, function(a) {
a.callback.call(a.context, this.Dd)
}, a)
};
mh.prototype.Dj = function() {
100 <= this.Dd || (this.Dd = 100, oh(this))
};
var ph = function(a) {
K.call(this);
this.Sh = 1;
this.Be = [];
this.Fe = 0;
this.Aa = [];
this.vb = {};
this.gj = !!a
};
x(ph, K);
ph.prototype.subscribe = function(a, b, c) {
var d = this.vb[a];
d || (d = this.vb[a] = []);
var e = this.Sh;
this.Aa[e] = a;
this.Aa[e + 1] = b;
this.Aa[e + 2] = c;
this.Sh = e + 3;
d.push(e);
return e
};
ph.prototype.unsubscribe = function(a, b, c) {
if (a = this.vb[a]) {
var d = this.Aa;
if (a = cb(a, function(a) {
return d[a + 1] == b && d[a + 2] == c
})) return this.Eg(a)
}
return !1
};
ph.prototype.Eg = function(a) {
var b = this.Aa[a];
if (b) {
var c = this.vb[b];
0 != this.Fe ? (this.Be.push(a), this.Aa[a + 1] = ra) : (c && db(c, a), delete this.Aa[a], delete this.Aa[a + 1], delete this.Aa[a + 2])
}
return !!b
};
ph.prototype.uk = function(a, b) {
var c = this.vb[a];
if (c) {
for (var d = Array(arguments.length - 1), e = 1, f = arguments.length; e < f; e++) d[e - 1] = arguments[e];
if (this.gj)
for (e = 0; e < c.length; e++) {
var g = c[e];
qh(this.Aa[g + 1], this.Aa[g + 2], d)
} else {
this.Fe++;
try {
for (e = 0, f = c.length; e < f; e++) g = c[e], this.Aa[g + 1].apply(this.Aa[g + 2], d)
} finally {
if (this.Fe--, 0 < this.Be.length && 0 == this.Fe)
for (; c = this.Be.pop();) this.Eg(c)
}
}
}
};
var qh = function(a, b, c) {
hd(function() {
a.apply(b, c)
})
};
ph.prototype.clear = function(a) {
if (a) {
var b = this.vb[a];
b && (B(b, this.Eg, this), delete this.vb[a])
} else this.Aa.length = 0, this.vb = {}
};
ph.prototype.qc = function(a) {
if (a) {
var b = this.vb[a];
return b ? b.length : 0
}
a = 0;
for (b in this.vb) a += this.qc(b);
return a
};
ph.prototype.X = function() {
ph.s.X.call(this);
this.clear();
this.Be.length = 0
};
var rh = C("Firefox"),
sh = cc() || C("iPod"),
th = C("iPad"),
uh = C("Android") && !(yb() || C("Firefox") || C("Opera") || C("Silk")),
vh = yb(),
wh = C("Safari") && !(yb() || C("Coast") || C("Opera") || C("Edge") || C("Silk") || C("Android")) && !(cc() || C("iPad") || C("iPod"));
var xh = function(a) {
return (a = a.exec(vb)) ? a[1] : ""
},
zh = function() {
if (rh) return xh(/Firefox\/([0-9.]+)/);
if (F || ic || hc) return uc;
if (vh) return xh(/Chrome\/([0-9.]+)/);
if (wh && !(cc() || C("iPad") || C("iPod"))) return xh(/Version\/([0-9.]+)/);
if (sh || th) {
var a = /Version\/(\S+).*Mobile\/(\S+)/.exec(vb);
if (a) return a[1] + "." + a[2]
} else if (uh) return (a = xh(/Android\s+([0-9.]+)/)) ? a : xh(/Version\/([0-9.]+)/);
return ""
}(),
Ah = function(a) {
return 0 <= Wa(zh, a)
};
var T = function(a, b, c) {
this.Dg = a;
this.we = b;
this.sourceId = c
},
Bh = {},
Ch = function(a) {
var b;
b = a[0];
b = Bh.hasOwnProperty(b) ? Bh[b] : null;
if (!b) return null;
b = new b;
b.ba(a);
return b
};
T.prototype.ja = function() {
return [this.Dg, this.we, this.sourceId]
};
T.prototype.ba = function(a) {
this.Dg = a[0];
this.we = a[1];
this.sourceId = a[2];
return 3
};
var Dh = function(a) {
T.call(this, "e");
this.message = "" + (a || "")
};
x(Dh, T);
Bh.e = Dh;
Dh.prototype.ja = function() {
return Dh.s.ja.call(this).concat([this.message])
};
Dh.prototype.ba = function(a) {
var b = Dh.s.ba.call(this, a);
this.message = a[b++];
return b
};
var Eh = function(a) {
this.Nk = a
};
Eh.prototype.postMessage = function(a, b) {
this.Nk.postMessage(a, b)
};
var Fh = function(a, b) {
K.call(this);
this.eg = a || "*";
this.Fk = b ? qd(b) : b;
this.Ge = new ph;
bf(this, this.Ge);
this.va = new Mg(this);
bf(this, this.va);
this.Ad = !1;
this.Ce = {}
};
x(Fh, K);
var Gh = F && Ah("10") || rh && Ah("6") || wh && Ah("5") || vh && Ah("12");
k = Fh.prototype;
k.subscribe = function(a, b, c) {
this.Ge.subscribe(a, b, c)
};
k.unsubscribe = function(a, b, c) {
this.Ge.unsubscribe(a, b, c)
};
k.open = function(a) {
this.Ad || (this.va.listen(a || r, "message", this.Hh, !0), this.Ad = !0)
};
k.close = function(a) {
this.Ad && (this.va.We(a || r, "message", this.Hh, !0), this.Ad = !1)
};
k.Db = function() {
Fh.s.Db.call(this);
this.close()
};
k.send = function(a, b, c, d) {
var e = sd(),
f = a.ja();
f.unshift("google-feedback-message|");
Gh || (f = JSON.stringify(f));
c = c ? qd(new Eh(c)) : this.Fk;
var g = d || this.eg;
if (!c) throw Error("No target for message");
var h = a.we;
null != h && this.Ad && (this.Ce[h] = e);
var l, m = this.Ce;
r.setTimeout(function() {
null != h && m[h] && (delete m[h], l = !0, e.reject("timeout"))
}, b || 500);
c.then(function(a) {
l || a.postMessage(f, g)
});
return e.tk
};
k.Hh = function(a) {
a = a.$b;
var b = Hh(a.data),
c = a.source,
d = a.origin;
if ((d == this.eg || "*" == this.eg) && "google-feedback-message|" == b.shift()) {
var e = Ch(b);
if (e) {
e.Sj = d;
e.sourceId && (a = this.Ce[e.sourceId], delete this.Ce[e.sourceId], a && (e instanceof Dh ? a.reject(e.message) : a.resolve(e)));
var f = !1;
a = w(function(a, b) {
if (!f && a) return f = !0, a.sourceId = e.we, this.send(a, b, c, d)
}, this);
try {
this.Ge.uk(e.Dg, e, d, a, c)
} catch (g) {
a(new Dh(g))
}
}
}
};
var Hh = function(a) {
if (ta(a)) return a.slice(0);
if (u(a) && Ha(a, "[")) try {
var b = JSON.parse(a);
return ta(b) ? b : []
} catch (c) {}
return []
};
var Ih = {
aliceblue: "#f0f8ff",
antiquewhite: "#faebd7",
aqua: "#00ffff",
aquamarine: "#7fffd4",
azure: "#f0ffff",
beige: "#f5f5dc",
bisque: "#ffe4c4",
black: "#000000",
blanchedalmond: "#ffebcd",
blue: "#0000ff",
blueviolet: "#8a2be2",
brown: "#a52a2a",
burlywood: "#deb887",
cadetblue: "#5f9ea0",
chartreuse: "#7fff00",
chocolate: "#d2691e",
coral: "#ff7f50",
cornflowerblue: "#6495ed",
cornsilk: "#fff8dc",
crimson: "#dc143c",
cyan: "#00ffff",
darkblue: "#00008b",
darkcyan: "#008b8b",
darkgoldenrod: "#b8860b",
darkgray: "#a9a9a9",
darkgreen: "#006400",
darkgrey: "#a9a9a9",
darkkhaki: "#bdb76b",
darkmagenta: "#8b008b",
darkolivegreen: "#556b2f",
darkorange: "#ff8c00",
darkorchid: "#9932cc",
darkred: "#8b0000",
darksalmon: "#e9967a",
darkseagreen: "#8fbc8f",
darkslateblue: "#483d8b",
darkslategray: "#2f4f4f",
darkslategrey: "#2f4f4f",
darkturquoise: "#00ced1",
darkviolet: "#9400d3",
deeppink: "#ff1493",
deepskyblue: "#00bfff",
dimgray: "#696969",
dimgrey: "#696969",
dodgerblue: "#1e90ff",
firebrick: "#b22222",
floralwhite: "#fffaf0",
forestgreen: "#228b22",
fuchsia: "#ff00ff",
gainsboro: "#dcdcdc",
ghostwhite: "#f8f8ff",
gold: "#ffd700",
goldenrod: "#daa520",
gray: "#808080",
green: "#008000",
greenyellow: "#adff2f",
grey: "#808080",
honeydew: "#f0fff0",
hotpink: "#ff69b4",
indianred: "#cd5c5c",
indigo: "#4b0082",
ivory: "#fffff0",
khaki: "#f0e68c",
lavender: "#e6e6fa",
lavenderblush: "#fff0f5",
lawngreen: "#7cfc00",
lemonchiffon: "#fffacd",
lightblue: "#add8e6",
lightcoral: "#f08080",
lightcyan: "#e0ffff",
lightgoldenrodyellow: "#fafad2",
lightgray: "#d3d3d3",
lightgreen: "#90ee90",
lightgrey: "#d3d3d3",
lightpink: "#ffb6c1",
lightsalmon: "#ffa07a",
lightseagreen: "#20b2aa",
lightskyblue: "#87cefa",
lightslategray: "#778899",
lightslategrey: "#778899",
lightsteelblue: "#b0c4de",
lightyellow: "#ffffe0",
lime: "#00ff00",
limegreen: "#32cd32",
linen: "#faf0e6",
magenta: "#ff00ff",
maroon: "#800000",
mediumaquamarine: "#66cdaa",
mediumblue: "#0000cd",
mediumorchid: "#ba55d3",
mediumpurple: "#9370db",
mediumseagreen: "#3cb371",
mediumslateblue: "#7b68ee",
mediumspringgreen: "#00fa9a",
mediumturquoise: "#48d1cc",
mediumvioletred: "#c71585",
midnightblue: "#191970",
mintcream: "#f5fffa",
mistyrose: "#ffe4e1",
moccasin: "#ffe4b5",
navajowhite: "#ffdead",
navy: "#000080",
oldlace: "#fdf5e6",
olive: "#808000",
olivedrab: "#6b8e23",
orange: "#ffa500",
orangered: "#ff4500",
orchid: "#da70d6",
palegoldenrod: "#eee8aa",
palegreen: "#98fb98",
paleturquoise: "#afeeee",
palevioletred: "#db7093",
papayawhip: "#ffefd5",
peachpuff: "#ffdab9",
peru: "#cd853f",
pink: "#ffc0cb",
plum: "#dda0dd",
powderblue: "#b0e0e6",
purple: "#800080",
red: "#ff0000",
rosybrown: "#bc8f8f",
royalblue: "#4169e1",
saddlebrown: "#8b4513",
salmon: "#fa8072",
sandybrown: "#f4a460",
seagreen: "#2e8b57",
seashell: "#fff5ee",
sienna: "#a0522d",
silver: "#c0c0c0",
skyblue: "#87ceeb",
slateblue: "#6a5acd",
slategray: "#708090",
slategrey: "#708090",
snow: "#fffafa",
springgreen: "#00ff7f",
steelblue: "#4682b4",
tan: "#d2b48c",
teal: "#008080",
thistle: "#d8bfd8",
tomato: "#ff6347",
turquoise: "#40e0d0",
violet: "#ee82ee",
wheat: "#f5deb3",
white: "#ffffff",
whitesmoke: "#f5f5f5",
yellow: "#ffff00",
yellowgreen: "#9acd32"
};
var Nh = function(a) {
var b = {};
a = String(a);
var c = "#" == a.charAt(0) ? a : "#" + a;
if (Jh.test(c)) return b.ud = Kh(c), b.type = "hex", b;
a: {
var d = a.match(Lh);
if (d) {
var c = Number(d[1]),
e = Number(d[2]),
d = Number(d[3]);
if (0 <= c && 255 >= c && 0 <= e && 255 >= e && 0 <= d && 255 >= d) {
c = [c, e, d];
break a
}
}
c = []
}
if (c.length) {
e = c[0];
a = c[1];
c = c[2];
e = Number(e);
a = Number(a);
c = Number(c);
if (e != (e & 255) || a != (a & 255) || c != (c & 255)) throw Error('"(' + e + "," + a + "," + c + '") is not a valid RGB color');
e = Mh(e.toString(16));
a = Mh(a.toString(16));
c = Mh(c.toString(16));
b.ud =
"#" + e + a + c;
b.type = "rgb";
return b
}
if (Ih && (c = Ih[a.toLowerCase()])) return b.ud = c, b.type = "named", b;
throw Error(a + " is not a valid color string");
},
Oh = /#(.)(.)(.)/,
Kh = function(a) {
if (!Jh.test(a)) throw Error("'" + a + "' is not a valid hex color");
4 == a.length && (a = a.replace(Oh, "#$1$1$2$2$3$3"));
return a.toLowerCase()
},
Ph = function(a) {
a = Kh(a);
return [parseInt(a.substr(1, 2), 16), parseInt(a.substr(3, 2), 16), parseInt(a.substr(5, 2), 16)]
},
Jh = /^#(?:[0-9a-f]{3}){1,2}$/i,
Lh = /^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i,
Mh = function(a) {
return 1 == a.length ? "0" + a : a
};
var Yh = function(a, b, c, d, e, f, g) {
g = g || {
ignoreMouse: !0,
ignoreAnimation: !0,
ignoreClear: !0
};
g.offsetX = c;
g.offsetY = d;
t(e) && (g.scaleWidth = e);
t(f) && (g.scaleHeight = f);
Xh(a, b, g)
},
Xh = function(a, b, c) {
if (null == a && null == b && null == c) {
b = document.getElementsByTagName("svg");
for (var d = 0; d < b.length; d++) {
a = b[d];
c = document.createElement("canvas");
c.width = a.clientWidth;
c.height = a.clientHeight;
a.parentNode.insertBefore(c, a);
a.parentNode.removeChild(a);
var e = document.createElement("div");
e.appendChild(a);
Xh(c, e.innerHTML, {})
}
} else {
c = c || {};
"string" == typeof a && (a = document.getElementById(a));
null != a.Qb && a.Qb.stop();
d = Zh();
if (1 != a.childNodes.length || "OBJECT" != a.childNodes[0].nodeName) a.Qb = d;
d.O = c;
a = a.getContext("2d");
"undefined" != typeof b.documentElement ? d.Yh(a, b) : "<" == b.substr(0, 1) ? d.Xh(a, b) : d.load(a, b)
}
},
Zh = function() {
var a = {
Og: 30,
Qd: 3E4,
init: function(b) {
var c = 0;
a.cj = function() {
c++;
return "canvg" + c
};
a.dd = {};
a.ic = {};
a.cf = [];
a.Pd = [];
a.mb = b;
a.oa = new function() {
this.bd = [];
this.Wi = function() {
this.bd = []
};
this.fd = function(a,
b) {
this.bd.push({
width: a,
height: b
})
};
this.Rg = function() {
this.bd.pop()
};
this.Mg = function() {
return this.bd[this.bd.length - 1]
};
this.width = function() {
return this.Mg().width
};
this.height = function() {
return this.Mg().height
};
this.Jg = function(a) {
return null != a && "number" == typeof a ? a : "x" == a ? this.width() : "y" == a ? this.height() : Math.sqrt(Math.pow(this.width(), 2) + Math.pow(this.height(), 2)) / Math.sqrt(2)
}
}
}
};
a.init();
var b = function(a) {
return window.console && window.console.log ? (window.console.log(a), !0) : !1
};
a.Pg = function() {
for (var b =
0; b < a.Pd.length; b++)
if (!a.Pd[b].loaded) return !1;
return !0
};
a.trim = function(a) {
return a.replace(/^\s+|\s+$/g, "")
};
a.Wa = function(a) {
return a.replace(/[\s\r\t\n]+/gm, " ")
};
a.mf = function(a) {
var b;
b = window.XMLHttpRequest ? new XMLHttpRequest : new ActiveXObject("Microsoft.XMLHTTP");
b.open("GET", a, !1);
b.send(null);
return b.responseText
};
a.ji = function(a) {
if (window.DOMParser) return (new DOMParser).parseFromString(a, "text/xml");
a = a.replace(/<!DOCTYPE svg[^>]*>/, "");
var b = new ActiveXObject("Microsoft.XMLDOM");
b.async =
"false";
b.loadXML(a);
return b
};
a.o = function(a, b) {
this.name = a;
this.value = b
};
a.o.prototype.j = function() {
return null != this.value && "" !== this.value
};
a.o.prototype.D = function() {
if (!this.j()) return 0;
var a = parseFloat(this.value);
(this.value + "").match(/%$/) && (a /= 100);
return a
};
a.o.prototype.wb = function(a) {
return this.j() ? this.value : a
};
a.o.prototype.ag = function(a) {
return this.j() ? this.D() : a
};
a.o.prototype.Td = function(b) {
var c = this.value;
if (null != b && "" != b && "string" == typeof this.value) try {
var e = Ph(Nh(this.value).ud),
c = "rgba(" + e[0] + ", " + e[1] + ", " + e[2] + ", " + b + ")"
} catch (f) {}
return new a.o(this.name, c)
};
a.o.prototype.fa = function() {
var b = this.value.match(/#([^\)'"]+)/);
b && (b = b[1]);
b || (b = this.value);
return a.dd[b]
};
a.o.prototype.xd = function() {
return 0 == this.value.indexOf("url(")
};
a.o.prototype.xh = function(b, d) {
var c = this.fa();
if (null != c && c.kh) return c.kh(a.mb, b, d);
if (null != c && c.createPattern) {
if (c.dc().j()) {
var f = c.h("patternTransform"),
c = c.dc().fa();
f.j() && (c.h("patternTransform", !0).value = f.value)
}
return c.createPattern(a.mb,
b)
}
return null
};
a.o.prototype.wh = function(b) {
var c = 12,
e = new a.o("fontSize", a.Dc.Fc(a.mb.font).fontSize);
e.j() && (c = e.l(b));
return c
};
a.o.prototype.Hj = function() {
return (this.value + "").replace(/[0-9\.\-]/g, "")
};
a.o.prototype.l = function(b, d) {
if (!this.j()) return 0;
var c = this.value + "";
if (c.match(/em$/)) return this.D() * this.wh(b);
if (c.match(/ex$/)) return this.D() * this.wh(b) / 2;
if (c.match(/px$/)) return this.D();
if (c.match(/pt$/)) return 96 * this.D() * (1 / 72);
if (c.match(/pc$/)) return 15 * this.D();
if (c.match(/cm$/)) return 96 *
this.D() / 2.54;
if (c.match(/mm$/)) return 96 * this.D() / 25.4;
if (c.match(/in$/)) return 96 * this.D();
if (c.match(/%$/)) return this.D() * a.oa.Jg(b);
c = this.D();
return d && 1 > c ? c * a.oa.Jg(b) : c
};
a.o.prototype.Ni = function() {
if (!this.j()) return 0;
var a = this.value + "";
if (a.match(/s$/)) return 1E3 * this.D();
a.match(/ms$/);
return this.D()
};
a.o.prototype.Jd = function() {
if (!this.j()) return 0;
var a = this.value + "";
return a.match(/deg$/) ? this.D() * (Math.PI / 180) : a.match(/grad$/) ? this.D() * (Math.PI / 200) : a.match(/rad$/) ? this.D() : this.D() *
(Math.PI / 180)
};
a.Dc = new function() {
this.ic = "normal|italic|oblique|inherit";
this.dj = "normal|small-caps|inherit";
this.ej = "normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit";
this.Kg = function(b, c, f, g, h, l) {
l = null != l ? this.Fc(l) : this.Kg("", "", "", "", "", a.mb.font);
return {
fontFamily: h || l.fontFamily,
fontSize: g || l.fontSize,
fontStyle: b || l.fontStyle,
fontWeight: f || l.fontWeight,
fontVariant: c || l.fontVariant,
toString: function() {
return [this.fontStyle, this.fontVariant, this.fontWeight, this.fontSize,
this.fontFamily
].join(" ")
}
}
};
var b = this;
this.Fc = function(c) {
var d = {};
c = a.trim(a.Wa(c || "")).split(" ");
for (var f = !1, g = !1, h = !1, l = !1, m = "", n = 0; n < c.length; n++) g || -1 == b.ic.indexOf(c[n]) ? l || -1 == b.dj.indexOf(c[n]) ? h || -1 == b.ej.indexOf(c[n]) ? f ? "inherit" != c[n] && (m += c[n]) : ("inherit" != c[n] && (d.fontSize = c[n].split("/")[0]), g = l = h = f = !0) : ("inherit" != c[n] && (d.fontWeight = c[n]), g = l = h = !0) : ("inherit" != c[n] && (d.fontVariant = c[n]), g = l = !0) : ("inherit" != c[n] && (d.fontStyle = c[n]), g = !0);
"" != m && (d.fontFamily = m);
return d
}
};
a.Pa =
function(b) {
b = a.trim(a.Wa((b || "").replace(/,/g, " "))).split(" ");
for (var c = 0; c < b.length; c++) b[c] = parseFloat(b[c]);
return b
};
a.W = function(a, b) {
this.x = a;
this.y = b
};
a.W.prototype.Vd = function(a) {
return Math.atan2(a.y - this.y, a.x - this.x)
};
a.W.prototype.Hc = function(a) {
var b = this.x * a[1] + this.y * a[3] + a[5];
this.x = this.x * a[0] + this.y * a[2] + a[4];
this.y = b
};
a.Lg = function(b) {
b = a.Pa(b);
return new a.W(b[0], b[1])
};
a.Xi = function(b) {
b = a.Pa(b);
for (var c = [], e = 0; e < b.length; e += 2) c.push(new a.W(b[e], b[e + 1]));
return c
};
a.Oa = function(a,
b, e, f) {
this.y2 = this.x2 = this.y1 = this.x1 = Number.NaN;
this.x = function() {
return this.x1
};
this.y = function() {
return this.y1
};
this.width = function() {
return this.x2 - this.x1
};
this.height = function() {
return this.y2 - this.y1
};
this.pa = function(a, b) {
if (null != a) {
if (isNaN(this.x1) || isNaN(this.x2)) this.x2 = this.x1 = a;
a < this.x1 && (this.x1 = a);
a > this.x2 && (this.x2 = a)
}
if (null != b) {
if (isNaN(this.y1) || isNaN(this.y2)) this.y2 = this.y1 = b;
b < this.y1 && (this.y1 = b);
b > this.y2 && (this.y2 = b)
}
};
this.kf = function(a) {
this.pa(a, null)
};
this.lf = function(a) {
this.pa(null,
a)
};
this.Tg = function(a) {
this.pa(a.x1, a.y1);
this.pa(a.x2, a.y2)
};
this.Ug = function(a, b, c, d, e, f) {
c = a + 2 / 3 * (c - a);
d = b + 2 / 3 * (d - b);
this.hf(a, b, c, c + 1 / 3 * (e - a), d, d + 1 / 3 * (f - b), e, f)
};
this.hf = function(a, b, c, d, e, f, v, q) {
var g = [a, b],
h = [c, d],
l = [e, f],
m = [v, q];
this.pa(g[0], g[1]);
this.pa(m[0], m[1]);
for (var n = 0; 1 >= n; n++) a = function(a) {
return Math.pow(1 - a, 3) * g[n] + 3 * Math.pow(1 - a, 2) * a * h[n] + 3 * (1 - a) * Math.pow(a, 2) * l[n] + Math.pow(a, 3) * m[n]
}, b = 6 * g[n] - 12 * h[n] + 6 * l[n], c = -3 * g[n] + 9 * h[n] - 9 * l[n] + 3 * m[n], d = 3 * h[n] - 3 * g[n], 0 == c ? 0 != b && (b = -d / b, 0 <
b && 1 > b && (0 == n && this.kf(a(b)), 1 == n && this.lf(a(b)))) : (d = Math.pow(b, 2) - 4 * d * c, 0 > d || (e = (-b + Math.sqrt(d)) / (2 * c), 0 < e && 1 > e && (0 == n && this.kf(a(e)), 1 == n && this.lf(a(e))), b = (-b - Math.sqrt(d)) / (2 * c), 0 < b && 1 > b && (0 == n && this.kf(a(b)), 1 == n && this.lf(a(b)))))
};
this.Oj = function(a, b) {
return this.x1 <= a && a <= this.x2 && this.y1 <= b && b <= this.y2
};
this.pa(a, b);
this.pa(e, f)
};
a.Sg = function(b) {
var c = this;
this.M = {};
this.M.translate = function(b) {
this.p = a.Lg(b);
this.apply = function(a) {
a.translate(this.p.x || 0, this.p.y || 0)
};
this.Ld = function(a) {
a.translate(-1 *
this.p.x || 0, -1 * this.p.y || 0)
};
this.gd = function(a) {
a.Hc([1, 0, 0, 1, this.p.x || 0, this.p.y || 0])
}
};
this.M.rotate = function(b) {
b = a.Pa(b);
this.angle = new a.o("angle", b[0]);
this.cx = b[1] || 0;
this.cy = b[2] || 0;
this.apply = function(a) {
a.translate(this.cx, this.cy);
a.rotate(this.angle.Jd());
a.translate(-this.cx, -this.cy)
};
this.Ld = function(a) {
a.translate(this.cx, this.cy);
a.rotate(-1 * this.angle.Jd());
a.translate(-this.cx, -this.cy)
};
this.gd = function(a) {
var b = this.angle.Jd();
a.Hc([1, 0, 0, 1, this.p.x || 0, this.p.y || 0]);
a.Hc([Math.cos(b),
Math.sin(b), -Math.sin(b), Math.cos(b), 0, 0
]);
a.Hc([1, 0, 0, 1, 0, 0])
}
};
this.M.scale = function(b) {
this.p = a.Lg(b);
this.apply = function(a) {
a.scale(this.p.x || 1, this.p.y || this.p.x || 1)
};
this.Ld = function(a) {
a.scale(1 / this.p.x || 1, 1 / this.p.y || this.p.x || 1)
};
this.gd = function(a) {
a.Hc([this.p.x || 0, 0, 0, this.p.y || 0, 0, 0])
}
};
this.M.matrix = function(b) {
this.Jb = a.Pa(b);
this.apply = function(a) {
a.transform(this.Jb[0], this.Jb[1], this.Jb[2], this.Jb[3], this.Jb[4], this.Jb[5])
};
this.gd = function(a) {
a.Hc(this.Jb)
}
};
this.M.Gc = function(b) {
this.i =
c.M.matrix;
this.i(b);
this.angle = new a.o("angle", b)
};
this.M.Gc.prototype = new this.M.matrix;
this.M.skewX = function(a) {
this.i = c.M.Gc;
this.i(a);
this.Jb = [1, 0, Math.tan(this.angle.Jd()), 1, 0, 0]
};
this.M.skewX.prototype = new this.M.Gc;
this.M.skewY = function(a) {
this.i = c.M.Gc;
this.i(a);
this.Jb = [1, Math.tan(this.angle.Jd()), 0, 1, 0, 0]
};
this.M.skewY.prototype = new this.M.Gc;
this.M.Hk = {
translate: this.M.translate,
rotate: this.M.rotate,
scale: this.M.scale,
matrix: this.M.matrix,
SkewBase: this.M.Gc,
skewX: this.M.skewX,
skewY: this.M.skewY
};
this.Ac = [];
this.apply = function(a) {
for (var b = 0; b < this.Ac.length; b++) this.Ac[b].apply(a)
};
this.Ld = function(a) {
for (var b = this.Ac.length - 1; 0 <= b; b--) this.Ac[b].Ld(a)
};
this.gd = function(a) {
for (var b = 0; b < this.Ac.length; b++) this.Ac[b].gd(a)
};
b = a.trim(a.Wa(b)).replace(/\)(\s?,\s?)/g, ") ").split(/\s(?=[a-z])/);
for (var e = 0; e < b.length; e++) {
var f = a.trim(b[e].split("(")[0]),
g = b[e].split("(")[1].replace(")", ""),
g = new this.M.Hk[f](g);
g.type = f;
this.Ac.push(g)
}
};
a.df = function(b, d, e, f, g, h, l, m, n, p) {
d = a.Wa(d);
d = d.replace(/^defer\s/,
"");
var c = d.split(" ")[0] || "xMidYMid";
d = d.split(" ")[1] || "meet";
var q = e / f,
A = g / h,
z = Math.min(q, A),
ka = Math.max(q, A);
"meet" == d && (f *= z, h *= z);
"slice" == d && (f *= ka, h *= ka);
n = new a.o("refX", n);
p = new a.o("refY", p);
n.j() && p.j() ? b.translate(-z * n.l("x"), -z * p.l("y")) : (c.match(/^xMid/) && ("meet" == d && z == A || "slice" == d && ka == A) && b.translate(e / 2 - f / 2, 0), c.match(/YMid$/) && ("meet" == d && z == q || "slice" == d && ka == q) && b.translate(0, g / 2 - h / 2), c.match(/^xMax/) && ("meet" == d && z == A || "slice" == d && ka == A) && b.translate(e - f, 0), c.match(/YMax$/) &&
("meet" == d && z == q || "slice" == d && ka == q) && b.translate(0, g - h));
"none" == c ? b.scale(q, A) : "meet" == d ? b.scale(z, z) : "slice" == d && b.scale(ka, ka);
b.translate(null == l ? 0 : -l, null == m ? 0 : -m)
};
a.Element = {};
a.ff = new a.o("EMPTY", "");
a.Element.C = function(b) {
this.attributes = {};
this.Na = {};
this.children = [];
this.h = function(b, c) {
var d = this.attributes[b];
if (null != d) return d;
1 == c && (d = new a.o(b, ""), this.attributes[b] = d);
return d || a.ff
};
this.dc = function() {
for (var b in this.attributes)
if (b.match(/:href$/)) return this.attributes[b];
return a.ff
};
this.style = function(b, c) {
var d = this.Na[b];
if (null != d) return d;
var e = this.h(b);
if (null != e && e.j()) return this.Na[b] = e;
e = this.parent;
if (null != e && (e = e.style(b), null != e && e.j())) return e;
1 == c && (d = new a.o(b, ""), this.Na[b] = d);
return d || a.ff
};
this.render = function(a) {
if ("none" != this.style("display").value && "hidden" != this.h("visibility").value) {
a.save();
if (this.h("mask").j()) {
var b = this.h("mask").fa();
null != b && b.apply(a, this)
} else this.style("filter").j() ? (b = this.style("filter").fa(), null != b && b.apply(a,
this)) : (this.hb(a), this.Ma(a), this.uf(a));
a.restore()
}
};
this.hb = function() {};
this.uf = function() {};
this.Ma = function(a) {
for (var b = 0; b < this.children.length; b++) this.children[b].render(a)
};
this.Sb = function(b, c) {
var d = b;
c && (d = a.ef(b));
d.parent = this;
this.children.push(d)
};
if (null != b && 1 == b.nodeType) {
for (var c = 0; c < b.childNodes.length; c++) {
var e = b.childNodes[c];
1 == e.nodeType && this.Sb(e, !0);
this.eh && 3 == e.nodeType && "" != a.trim(a.Wa(e.nodeValue || e.text || "")) && this.Sb(new a.Element.Cg(e), !1)
}
for (c = 0; c < b.attributes.length; c++) e =
b.attributes[c], this.attributes[e.nodeName] = new a.o(e.nodeName, e.nodeValue);
c = a.ic[b.nodeName];
if (null != c)
for (var f in c) this.Na[f] = c[f];
if (this.h("class").j())
for (var e = a.Wa(this.h("class").value).split(" "), g = 0; g < e.length; g++) {
c = a.ic["." + e[g]];
if (null != c)
for (f in c) this.Na[f] = c[f];
c = a.ic[b.nodeName + "." + e[g]];
if (null != c)
for (f in c) this.Na[f] = c[f]
}
if (this.h("id").j() && (b = a.ic["#" + this.h("id").value], null != b))
for (f in b) this.Na[f] = b[f];
if (this.h("style").j())
for (b = this.h("style").value.split(";"),
c = 0; c < b.length; c++) "" != a.trim(b[c]) && (e = b[c].split(":"), f = a.trim(e[0]), e = a.trim(e[1]), this.Na[f] = new a.o(f, e));
this.h("id").j() && null == a.dd[this.h("id").value] && (a.dd[this.h("id").value] = this)
}
};
a.Element.ca = function(b) {
this.i = a.Element.C;
this.i(b);
this.hb = function(b) {
if (this.style("fill").xd()) {
var c = this.style("fill").xh(this, this.style("fill-opacity"));
null != c && (b.fillStyle = c)
} else this.style("fill").j() && (c = this.style("fill"), "currentColor" == c.value && (c.value = this.style("color").value), b.fillStyle =
"none" == c.value ? "rgba(0,0,0,0)" : c.value);
this.style("fill-opacity").j() && (c = new a.o("fill", b.fillStyle), c = c.Td(this.style("fill-opacity").value), b.fillStyle = c.value);
this.style("stroke").xd() ? (c = this.style("stroke").xh(this, this.style("stroke-opacity")), null != c && (b.strokeStyle = c)) : this.style("stroke").j() && (c = this.style("stroke"), "currentColor" == c.value && (c.value = this.style("color").value), b.strokeStyle = "none" == c.value ? "rgba(0,0,0,0)" : c.value);
this.style("stroke-opacity").j() && (c = new a.o("stroke",
b.strokeStyle), c = c.Td(this.style("stroke-opacity").value), b.strokeStyle = c.value);
this.style("stroke-width").j() && (c = this.style("stroke-width").l(), b.lineWidth = 0 == c ? .001 : c);
this.style("stroke-linecap").j() && (b.lineCap = this.style("stroke-linecap").value);
this.style("stroke-linejoin").j() && (b.lineJoin = this.style("stroke-linejoin").value);
this.style("stroke-miterlimit").j() && (b.miterLimit = this.style("stroke-miterlimit").value);
this.style("stroke-dasharray").j() && (c = a.Pa(this.style("stroke-dasharray").value),
"undefined" != typeof b.setLineDash ? b.setLineDash(c) : "undefined" != typeof b.Lk ? b.Lk = c : "undefined" != typeof b.Uj && (b.Uj = c), c = this.style("stroke-dashoffset").ag(1), "undefined" != typeof b.lineDashOffset ? b.lineDashOffset = c : "undefined" != typeof b.Mk ? b.Mk = c : "undefined" != typeof b.Vj && (b.Vj = c));
"undefined" != typeof b.font && (b.font = a.Dc.Kg(this.style("font-style").value, this.style("font-variant").value, this.style("font-weight").value, this.style("font-size").j() ? this.style("font-size").l() + "px" : "", this.style("font-family").value).toString());
this.h("transform").j() && (new a.Sg(this.h("transform").value)).apply(b);
this.style("clip-path").j() && (c = this.style("clip-path").fa(), null != c && c.apply(b));
this.style("opacity").j() && (b.globalAlpha = this.style("opacity").D())
}
};
a.Element.ca.prototype = new a.Element.C;
a.Element.Ea = function(b) {
this.i = a.Element.ca;
this.i(b);
this.path = function(b) {
b = b || null;
null != b && b.beginPath();
return new a.Oa
};
this.Ma = function(b) {
this.path(b);
a.Ec.pj(this, b);
"" != b.fillStyle && (this.h("fill-rule").j() ? b.fill(this.h("fill-rule").value) :
b.fill());
"" != b.strokeStyle && b.stroke();
var c = this.ne();
if (null != c) {
if (this.style("marker-start").xd()) {
var d = this.style("marker-start").fa();
d.render(b, c[0][0], c[0][1])
}
if (this.style("marker-mid").xd())
for (var d = this.style("marker-mid").fa(), g = 1; g < c.length - 1; g++) d.render(b, c[g][0], c[g][1]);
this.style("marker-end").xd() && (d = this.style("marker-end").fa(), d.render(b, c[c.length - 1][0], c[c.length - 1][1]))
}
};
this.rb = function() {
return this.path()
};
this.ne = function() {
return null
}
};
a.Element.Ea.prototype = new a.Element.ca;
a.Element.Qb = function(b) {
this.i = a.Element.ca;
this.i(b || null);
this.jj = this.uf;
this.uf = function(b) {
this.jj(b);
a.oa.Rg()
};
this.kc = this.hb;
this.hb = function(b) {
b.strokeStyle = "rgba(0,0,0,0)";
b.lineCap = "butt";
b.lineJoin = "miter";
b.miterLimit = 4;
this.kc(b);
this.h("x").j() || (this.h("x", !0).value = 0);
this.h("y").j() || (this.h("y", !0).value = 0);
b.translate(this.h("x").l("x"), this.h("y").l("y"));
var c = a.oa.width(),
d = a.oa.height();
this.h("width").j() || (this.h("width", !0).value = "100%");
this.h("height").j() || (this.h("height", !0).value = "100%");
if ("undefined" == typeof this.root) {
var c = this.h("width").l("x"),
d = this.h("height").l("y"),
g = 0,
h = 0;
this.h("refX").j() && this.h("refY").j() && (g = -this.h("refX").l("x"), h = -this.h("refY").l("y"));
b.beginPath();
b.moveTo(g, h);
b.lineTo(c, h);
b.lineTo(c, d);
b.lineTo(g, d);
b.closePath();
b.clip()
}
a.oa.fd(c, d);
if (this.h("viewBox").j()) {
var g = a.Pa(this.h("viewBox").value),
h = g[0],
l = g[1],
c = g[2],
d = g[3];
a.df(b, this.h("preserveAspectRatio").value, a.oa.width(), c, a.oa.height(), d, h, l, this.h("refX").value,
this.h("refY").value);
a.oa.Rg();
a.oa.fd(g[2], g[3])
}
}
};
a.Element.Qb.prototype = new a.Element.ca;
a.Element.rect = function(b) {
this.i = a.Element.Ea;
this.i(b);
this.path = function(b) {
var c = this.h("x").l("x"),
d = this.h("y").l("y"),
g = this.h("width").l("x"),
h = this.h("height").l("y"),
l = this.h("rx").l("x"),
m = this.h("ry").l("y");
this.h("rx").j() && !this.h("ry").j() && (m = l);
this.h("ry").j() && !this.h("rx").j() && (l = m);
l = Math.min(l, g / 2);
m = Math.min(m, h / 2);
null != b && (b.beginPath(), b.moveTo(c + l, d), b.lineTo(c + g - l, d), b.quadraticCurveTo(c +
g, d, c + g, d + m), b.lineTo(c + g, d + h - m), b.quadraticCurveTo(c + g, d + h, c + g - l, d + h), b.lineTo(c + l, d + h), b.quadraticCurveTo(c, d + h, c, d + h - m), b.lineTo(c, d + m), b.quadraticCurveTo(c, d, c + l, d), b.closePath());
return new a.Oa(c, d, c + g, d + h)
}
};
a.Element.rect.prototype = new a.Element.Ea;
a.Element.gh = function(b) {
this.i = a.Element.Ea;
this.i(b);
this.path = function(b) {
var c = this.h("cx").l("x"),
d = this.h("cy").l("y"),
g = this.h("r").l();
null != b && (b.beginPath(), b.arc(c, d, g, 0, 2 * Math.PI, !0), b.closePath());
return new a.Oa(c - g, d - g, c + g, d + g)
}
};
a.Element.gh.prototype = new a.Element.Ea;
a.Element.ellipse = function(b) {
this.i = a.Element.Ea;
this.i(b);
this.path = function(b) {
var c = (Math.sqrt(2) - 1) / 3 * 4,
d = this.h("rx").l("x"),
g = this.h("ry").l("y"),
h = this.h("cx").l("x"),
l = this.h("cy").l("y");
null != b && (b.beginPath(), b.moveTo(h, l - g), b.bezierCurveTo(h + c * d, l - g, h + d, l - c * g, h + d, l), b.bezierCurveTo(h + d, l + c * g, h + c * d, l + g, h, l + g), b.bezierCurveTo(h - c * d, l + g, h - d, l + c * g, h - d, l), b.bezierCurveTo(h - d, l - c * g, h - c * d, l - g, h, l - g), b.closePath());
return new a.Oa(h - d, l - g, h + d, l + g)
}
};
a.Element.ellipse.prototype =
new a.Element.Ea;
a.Element.Wf = function(b) {
this.i = a.Element.Ea;
this.i(b);
this.Bh = function() {
return [new a.W(this.h("x1").l("x"), this.h("y1").l("y")), new a.W(this.h("x2").l("x"), this.h("y2").l("y"))]
};
this.path = function(b) {
var c = this.Bh();
null != b && (b.beginPath(), b.moveTo(c[0].x, c[0].y), b.lineTo(c[1].x, c[1].y));
return new a.Oa(c[0].x, c[0].y, c[1].x, c[1].y)
};
this.ne = function() {
var a = this.Bh(),
b = a[0].Vd(a[1]);
return [
[a[0], b],
[a[1], b]
]
}
};
a.Element.Wf.prototype = new a.Element.Ea;
a.Element.De = function(b) {
this.i =
a.Element.Ea;
this.i(b);
this.points = a.Xi(this.h("points").value);
this.path = function(b) {
var c = new a.Oa(this.points[0].x, this.points[0].y);
null != b && (b.beginPath(), b.moveTo(this.points[0].x, this.points[0].y));
for (var d = 1; d < this.points.length; d++) c.pa(this.points[d].x, this.points[d].y), null != b && b.lineTo(this.points[d].x, this.points[d].y);
return c
};
this.ne = function() {
for (var a = [], b = 0; b < this.points.length - 1; b++) a.push([this.points[b], this.points[b].Vd(this.points[b + 1])]);
a.push([this.points[this.points.length -
1], a[a.length - 1][1]]);
return a
}
};
a.Element.De.prototype = new a.Element.Ea;
a.Element.ki = function(b) {
this.i = a.Element.De;
this.i(b);
this.kj = this.path;
this.path = function(a) {
var b = this.kj(a);
null != a && (a.lineTo(this.points[0].x, this.points[0].y), a.closePath());
return b
}
};
a.Element.ki.prototype = new a.Element.De;
a.Element.path = function(b) {
this.i = a.Element.Ea;
this.i(b);
b = this.h("d").value;
b = b.replace(/,/gm, " ");
b = b.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm, "$1 $2");
b = b.replace(/([MmZzLlHhVvCcSsQqTtAa])([MmZzLlHhVvCcSsQqTtAa])/gm,
"$1 $2");
b = b.replace(/([MmZzLlHhVvCcSsQqTtAa])([^\s])/gm, "$1 $2");
b = b.replace(/([^\s])([MmZzLlHhVvCcSsQqTtAa])/gm, "$1 $2");
b = b.replace(/([0-9])([+\-])/gm, "$1 $2");
b = b.replace(/(\.[0-9]*)(\.)/gm, "$1 $2");
b = b.replace(/([Aa](\s+[0-9]+){3})\s+([01])\s*([01])/gm, "$1 $3 $4 ");
b = a.Wa(b);
b = a.trim(b);
this.gf = new function(b) {
this.Bg = b.split(" ");
this.reset = function() {
this.se = -1;
this.Bd = this.be = "";
this.start = new a.W(0, 0);
this.control = new a.W(0, 0);
this.current = new a.W(0, 0);
this.points = [];
this.Fa = []
};
this.Rh =
function() {
return this.se >= this.Bg.length - 1
};
this.Hb = function() {
return this.Rh() ? !0 : null != this.Bg[this.se + 1].match(/^[A-Za-z]$/)
};
this.Tf = function() {
switch (this.be) {
case "m":
case "l":
case "h":
case "v":
case "c":
case "s":
case "q":
case "t":
case "a":
case "z":
return !0
}
return !1
};
this.getToken = function() {
this.se++;
return this.Bg[this.se]
};
this.Fb = function() {
return parseFloat(this.getToken())
};
this.Wj = function() {
this.Bd = this.be;
this.be = this.getToken()
};
this.Ef = function() {
var b = new a.W(this.Fb(), this.Fb());
return this.Rj(b)
};
this.Af = function() {
var a = this.Ef();
return this.control = a
};
this.cc = function() {
var a = this.Ef();
return this.current = a
};
this.Ch = function() {
return "c" != this.Bd.toLowerCase() && "s" != this.Bd.toLowerCase() && "q" != this.Bd.toLowerCase() && "t" != this.Bd.toLowerCase() ? this.current : new a.W(2 * this.current.x - this.control.x, 2 * this.current.y - this.control.y)
};
this.Rj = function(a) {
this.Tf() && (a.x += this.current.x, a.y += this.current.y);
return a
};
this.xb = function(a, b, c) {
null != c && 0 < this.Fa.length && null == this.Fa[this.Fa.length -
1] && (this.Fa[this.Fa.length - 1] = this.points[this.points.length - 1].Vd(c));
this.jf(a, null == b ? null : b.Vd(a))
};
this.jf = function(a, b) {
this.points.push(a);
this.Fa.push(b)
};
this.Fj = function() {
for (var a = 0; a < this.Fa.length; a++)
if (null == this.Fa[a])
for (var b = a + 1; b < this.Fa.length; b++)
if (null != this.Fa[b]) {
this.Fa[a] = this.Fa[b];
break
}
return this.Fa
}
}(b);
this.path = function(b) {
var c = this.gf;
c.reset();
var d = new a.Oa;
for (null != b && b.beginPath(); !c.Rh();) switch (c.Wj(), c.be) {
case "M":
case "m":
var g = c.cc();
c.xb(g);
d.pa(g.x,
g.y);
null != b && b.moveTo(g.x, g.y);
for (c.start = c.current; !c.Hb();) g = c.cc(), c.xb(g, c.start), d.pa(g.x, g.y), null != b && b.lineTo(g.x, g.y);
break;
case "L":
case "l":
for (; !c.Hb();) {
var h = c.current,
g = c.cc();
c.xb(g, h);
d.pa(g.x, g.y);
null != b && b.lineTo(g.x, g.y)
}
break;
case "H":
case "h":
for (; !c.Hb();) g = new a.W((c.Tf() ? c.current.x : 0) + c.Fb(), c.current.y), c.xb(g, c.current), c.current = g, d.pa(c.current.x, c.current.y), null != b && b.lineTo(c.current.x, c.current.y);
break;
case "V":
case "v":
for (; !c.Hb();) g = new a.W(c.current.x, (c.Tf() ?
c.current.y : 0) + c.Fb()), c.xb(g, c.current), c.current = g, d.pa(c.current.x, c.current.y), null != b && b.lineTo(c.current.x, c.current.y);
break;
case "C":
case "c":
for (; !c.Hb();) {
var l = c.current,
g = c.Ef(),
h = c.Af(),
m = c.cc();
c.xb(m, h, g);
d.hf(l.x, l.y, g.x, g.y, h.x, h.y, m.x, m.y);
null != b && b.bezierCurveTo(g.x, g.y, h.x, h.y, m.x, m.y)
}
break;
case "S":
case "s":
for (; !c.Hb();) l = c.current, g = c.Ch(), h = c.Af(), m = c.cc(), c.xb(m, h, g), d.hf(l.x, l.y, g.x, g.y, h.x, h.y, m.x, m.y), null != b && b.bezierCurveTo(g.x, g.y, h.x, h.y, m.x, m.y);
break;
case "Q":
case "q":
for (; !c.Hb();) l =
c.current, h = c.Af(), m = c.cc(), c.xb(m, h, h), d.Ug(l.x, l.y, h.x, h.y, m.x, m.y), null != b && b.quadraticCurveTo(h.x, h.y, m.x, m.y);
break;
case "T":
case "t":
for (; !c.Hb();) l = c.current, h = c.Ch(), c.control = h, m = c.cc(), c.xb(m, h, h), d.Ug(l.x, l.y, h.x, h.y, m.x, m.y), null != b && b.quadraticCurveTo(h.x, h.y, m.x, m.y);
break;
case "A":
case "a":
for (; !c.Hb();) {
var l = c.current,
n = c.Fb(),
p = c.Fb(),
g = c.Fb() * (Math.PI / 180),
v = c.Fb(),
h = c.Fb(),
m = c.cc(),
q = new a.W(Math.cos(g) * (l.x - m.x) / 2 + Math.sin(g) * (l.y - m.y) / 2, -Math.sin(g) * (l.x - m.x) / 2 + Math.cos(g) * (l.y -
m.y) / 2),
A = Math.pow(q.x, 2) / Math.pow(n, 2) + Math.pow(q.y, 2) / Math.pow(p, 2);
1 < A && (n *= Math.sqrt(A), p *= Math.sqrt(A));
v = (v == h ? -1 : 1) * Math.sqrt((Math.pow(n, 2) * Math.pow(p, 2) - Math.pow(n, 2) * Math.pow(q.y, 2) - Math.pow(p, 2) * Math.pow(q.x, 2)) / (Math.pow(n, 2) * Math.pow(q.y, 2) + Math.pow(p, 2) * Math.pow(q.x, 2)));
isNaN(v) && (v = 0);
var z = new a.W(v * n * q.y / p, v * -p * q.x / n),
l = new a.W((l.x + m.x) / 2 + Math.cos(g) * z.x - Math.sin(g) * z.y, (l.y + m.y) / 2 + Math.sin(g) * z.x + Math.cos(g) * z.y),
ka = function(a, b) {
return (a[0] * b[0] + a[1] * b[1]) / (Math.sqrt(Math.pow(a[0],
2) + Math.pow(a[1], 2)) * Math.sqrt(Math.pow(b[0], 2) + Math.pow(b[1], 2)))
},
yh = function(a, b) {
return (a[0] * b[1] < a[1] * b[0] ? -1 : 1) * Math.acos(ka(a, b))
},
v = yh([1, 0], [(q.x - z.x) / n, (q.y - z.y) / p]),
A = [(q.x - z.x) / n, (q.y - z.y) / p],
z = [(-q.x - z.x) / n, (-q.y - z.y) / p],
q = yh(A, z); - 1 >= ka(A, z) && (q = Math.PI);
1 <= ka(A, z) && (q = 0);
A = 1 - h ? 1 : -1;
z = v + q / 2 * A;
c.jf(new a.W(l.x + n * Math.cos(z), l.y + p * Math.sin(z)), z - A * Math.PI / 2);
c.jf(m, z - A * Math.PI);
d.pa(m.x, m.y);
null != b && (m = n > p ? n : p, A = n > p ? 1 : n / p, n = n > p ? p / n : 1, b.translate(l.x, l.y), b.rotate(g), b.scale(A, n), b.arc(0,
0, m, v, v + q, 1 - h), b.scale(1 / A, 1 / n), b.rotate(-g), b.translate(-l.x, -l.y))
}
break;
case "Z":
case "z":
null != b && b.closePath(), c.current = c.start
}
return d
};
this.ne = function() {
for (var a = this.gf.points, b = this.gf.Fj(), c = [], g = 0; g < a.length; g++) c.push([a[g], b[g]]);
return c
}
};
a.Element.path.prototype = new a.Element.Ea;
a.Element.pattern = function(b) {
this.i = a.Element.C;
this.i(b);
this.createPattern = function(b) {
var c = this.h("width").l("x", !0),
d = this.h("height").l("y", !0),
g = new a.Element.Qb;
g.attributes.viewBox = new a.o("viewBox",
this.h("viewBox").value);
g.attributes.width = new a.o("width", c + "px");
g.attributes.height = new a.o("height", d + "px");
g.attributes.transform = new a.o("transform", this.h("patternTransform").value);
g.children = this.children;
var h = document.createElement("canvas");
h.width = c;
h.height = d;
c = h.getContext("2d");
this.h("x").j() && this.h("y").j() && c.translate(this.h("x").l("x", !0), this.h("y").l("y", !0));
for (d = -1; 1 >= d; d++)
for (var l = -1; 1 >= l; l++) c.save(), c.translate(d * h.width, l * h.height), g.render(c), c.restore();
return b.createPattern(h,
"repeat")
}
};
a.Element.pattern.prototype = new a.Element.C;
a.Element.Zh = function(b) {
this.i = a.Element.C;
this.i(b);
this.render = function(b, c, f) {
b.translate(c.x, c.y);
"auto" == this.h("orient").wb("auto") && b.rotate(f);
"strokeWidth" == this.h("markerUnits").wb("strokeWidth") && b.scale(b.lineWidth, b.lineWidth);
b.save();
var d = new a.Element.Qb;
d.attributes.viewBox = new a.o("viewBox", this.h("viewBox").value);
d.attributes.refX = new a.o("refX", this.h("refX").value);
d.attributes.refY = new a.o("refY", this.h("refY").value);
d.attributes.width = new a.o("width", this.h("markerWidth").value);
d.attributes.height = new a.o("height", this.h("markerHeight").value);
d.attributes.fill = new a.o("fill", this.h("fill").wb("black"));
d.attributes.stroke = new a.o("stroke", this.h("stroke").wb("none"));
d.children = this.children;
d.render(b);
b.restore();
"strokeWidth" == this.h("markerUnits").wb("strokeWidth") && b.scale(1 / b.lineWidth, 1 / b.lineWidth);
"auto" == this.h("orient").wb("auto") && b.rotate(-f);
b.translate(-c.x, -c.y)
}
};
a.Element.Zh.prototype = new a.Element.C;
a.Element.oh = function(b) {
this.i = a.Element.C;
this.i(b);
this.render = function() {}
};
a.Element.oh.prototype = new a.Element.C;
a.Element.ed = function(b) {
this.i = a.Element.C;
this.i(b);
this.gradientUnits = this.h("gradientUnits").wb("objectBoundingBox");
this.$c = [];
for (b = 0; b < this.children.length; b++) {
var c = this.children[b];
"stop" == c.type && this.$c.push(c)
}
this.Df = function() {};
this.kh = function(b, c, d) {
var e = this;
this.dc().j() && (e = this.dc().fa());
var f = function(b) {
return d.j() ? (new a.o("color", b)).Td(d.value).value :
b
};
b = this.Df(b, c);
if (null == b) return f(e.$c[e.$c.length - 1].color);
for (c = 0; c < e.$c.length; c++) b.addColorStop(e.$c[c].offset, f(e.$c[c].color));
return this.h("gradientTransform").j() ? (e = a.oa.bd[0], f = new a.Element.rect, f.attributes.x = new a.o("x", -a.Qd / 3), f.attributes.y = new a.o("y", -a.Qd / 3), f.attributes.width = new a.o("width", a.Qd), f.attributes.height = new a.o("height", a.Qd), c = new a.Element.me, c.attributes.transform = new a.o("transform", this.h("gradientTransform").value), c.children = [f], f = new a.Element.Qb, f.attributes.x =
new a.o("x", 0), f.attributes.y = new a.o("y", 0), f.attributes.width = new a.o("width", e.width), f.attributes.height = new a.o("height", e.height), f.children = [c], c = document.createElement("canvas"), c.width = e.width, c.height = e.height, e = c.getContext("2d"), e.fillStyle = b, f.render(e), e.createPattern(c, "no-repeat")) : b
}
};
a.Element.ed.prototype = new a.Element.C;
a.Element.Wh = function(b) {
this.i = a.Element.ed;
this.i(b);
this.Df = function(a, b) {
var c = b.rb();
this.h("x1").j() || this.h("y1").j() || this.h("x2").j() || this.h("y2").j() ||
(this.h("x1", !0).value = 0, this.h("y1", !0).value = 0, this.h("x2", !0).value = 1, this.h("y2", !0).value = 0);
var d = "objectBoundingBox" == this.gradientUnits ? c.x() + c.width() * this.h("x1").D() : this.h("x1").l("x"),
e = "objectBoundingBox" == this.gradientUnits ? c.y() + c.height() * this.h("y1").D() : this.h("y1").l("y"),
l = "objectBoundingBox" == this.gradientUnits ? c.x() + c.width() * this.h("x2").D() : this.h("x2").l("x"),
c = "objectBoundingBox" == this.gradientUnits ? c.y() + c.height() * this.h("y2").D() : this.h("y2").l("y");
return d == l && e == c ?
null : a.createLinearGradient(d, e, l, c)
}
};
a.Element.Wh.prototype = new a.Element.ed;
a.Element.si = function(b) {
this.i = a.Element.ed;
this.i(b);
this.Df = function(a, b) {
var c = b.rb();
this.h("cx").j() || (this.h("cx", !0).value = "50%");
this.h("cy").j() || (this.h("cy", !0).value = "50%");
this.h("r").j() || (this.h("r", !0).value = "50%");
var d = "objectBoundingBox" == this.gradientUnits ? c.x() + c.width() * this.h("cx").D() : this.h("cx").l("x"),
e = "objectBoundingBox" == this.gradientUnits ? c.y() + c.height() * this.h("cy").D() : this.h("cy").l("y"),
l = d,
m = e;
this.h("fx").j() && (l = "objectBoundingBox" == this.gradientUnits ? c.x() + c.width() * this.h("fx").D() : this.h("fx").l("x"));
this.h("fy").j() && (m = "objectBoundingBox" == this.gradientUnits ? c.y() + c.height() * this.h("fy").D() : this.h("fy").l("y"));
c = "objectBoundingBox" == this.gradientUnits ? (c.width() + c.height()) / 2 * this.h("r").D() : this.h("r").l();
return a.createRadialGradient(l, m, 0, d, e, c)
}
};
a.Element.si.prototype = new a.Element.ed;
a.Element.stop = function(b) {
this.i = a.Element.C;
this.i(b);
this.offset = this.h("offset").D();
0 > this.offset && (this.offset = 0);
1 < this.offset && (this.offset = 1);
b = this.style("stop-color");
this.style("stop-opacity").j() && (b = b.Td(this.style("stop-opacity").value));
this.color = b.value
};
a.Element.stop.prototype = new a.Element.C;
a.Element.Cc = function(b) {
this.i = a.Element.C;
this.i(b);
a.cf.push(this);
this.duration = 0;
this.Xd = this.h("begin").Ni();
this.ai = this.Xd + this.h("dur").Ni();
this.pe = function() {
var a = this.h("attributeType").value,
b = this.h("attributeName").value;
return "CSS" == a ? this.parent.style(b, !0) :
this.parent.h(b, !0)
};
this.Pf = null;
this.Oh = "";
this.Nb = !1;
this.Zd = function() {
return ""
};
this.update = function(a) {
null == this.Pf && (this.Pf = this.pe().value, this.Oh = this.pe().Hj());
if (this.duration > this.ai)
if ("indefinite" == this.h("repeatCount").value || "indefinite" == this.h("repeatDur").value) this.duration = 0;
else {
if ("remove" != this.h("fill").wb("remove") || this.Nb) return !1;
this.Nb = !0;
this.pe().value = this.Pf;
return !0
}
this.duration += a;
a = !1;
this.Xd < this.duration && (a = this.Zd(), this.h("type").j() && (a = this.h("type").value +
"(" + a + ")"), this.pe().value = a, a = !0);
return a
};
this.from = this.h("from");
this.ad = this.h("to");
this.values = this.h("values");
this.values.j() && (this.values.value = this.values.value.split(";"));
this.za = function() {
var b = {
za: (this.duration - this.Xd) / (this.ai - this.Xd)
};
if (this.values.j()) {
var c = b.za * (this.values.value.length - 1),
f = Math.floor(c),
g = Math.ceil(c);
b.from = new a.o("from", parseFloat(this.values.value[f]));
b.ad = new a.o("to", parseFloat(this.values.value[g]));
b.za = (c - f) / (g - f)
} else b.from = this.from, b.ad =
this.ad;
return b
}
};
a.Element.Cc.prototype = new a.Element.C;
a.Element.nf = function(b) {
this.i = a.Element.Cc;
this.i(b);
this.Zd = function() {
var a = this.za();
return a.from.D() + (a.ad.D() - a.from.D()) * a.za + this.Oh
}
};
a.Element.nf.prototype = new a.Element.Cc;
a.Element.Vg = function(b) {
this.i = a.Element.Cc;
this.i(b);
this.Zd = function() {
var a = this.za();
try {
var b = Ph(Nh(a.from.value).ud),
c = Ph(Nh(a.ad.value).ud);
return "rgb(" + Math.floor(b[0] + (c[0] - b[0]) * a.za) + "," + Math.floor(b[1] + (c[1] - b[1]) * a.za) + "," + Math.floor(b[2] + (c[2] -
b[2]) * a.za) + ")"
} catch (g) {}
return this.h("from").value
}
};
a.Element.Vg.prototype = new a.Element.Cc;
a.Element.Wg = function(b) {
this.i = a.Element.Cc;
this.i(b);
this.Zd = function() {
for (var b = this.za(), c = a.Pa(b.from.value), f = a.Pa(b.ad.value), g = "", h = 0; h < c.length; h++) g += c[h] + (f[h] - c[h]) * b.za + " ";
return g
}
};
a.Element.Wg.prototype = new a.Element.nf;
a.Element.font = function(b) {
this.i = a.Element.C;
this.i(b);
this.Rc = this.h("horiz-adv-x").D();
this.Qh = this.Sf = !1;
this.di = this.pd = null;
this.Gb = [];
for (b = 0; b < this.children.length; b++) {
var c =
this.children[b];
"font-face" == c.type ? (this.pd = c, c.style("font-family").j() && (a.dd[c.style("font-family").value] = this)) : "missing-glyph" == c.type ? this.di = c : "glyph" == c.type && ("" != c.Xg ? (this.Qh = this.Sf = !0, "undefined" == typeof this.Gb[c.Ue] && (this.Gb[c.Ue] = []), this.Gb[c.Ue][c.Xg] = c) : this.Gb[c.Ue] = c)
}
};
a.Element.font.prototype = new a.Element.C;
a.Element.uh = function(b) {
this.i = a.Element.C;
this.i(b);
this.h("ascent");
this.h("descent");
this.Ve = this.h("units-per-em").D()
};
a.Element.uh.prototype = new a.Element.C;
a.Element.ei = function(b) {
this.i = a.Element.path;
this.i(b);
this.Rc = 0
};
a.Element.ei.prototype = new a.Element.path;
a.Element.Gh = function(b) {
this.i = a.Element.path;
this.i(b);
this.Rc = this.h("horiz-adv-x").D();
this.Ue = this.h("unicode").value;
this.Xg = this.h("arabic-form").value
};
a.Element.Gh.prototype = new a.Element.path;
a.Element.text = function(b) {
this.eh = !0;
this.i = a.Element.ca;
this.i(b);
this.kc = this.hb;
this.hb = function(a) {
this.kc(a);
this.style("dominant-baseline").j() && (a.textBaseline = this.style("dominant-baseline").value);
this.style("alignment-baseline").j() && (a.textBaseline = this.style("alignment-baseline").value)
};
this.rb = function() {
return new a.Oa(this.h("x").l("x"), this.h("y").l("y"), 0, 0)
};
this.Ma = function(a) {
this.x = this.h("x").l("x");
this.y = this.h("y").l("y");
this.x += this.vh(a, this, 0);
for (var b = 0; b < this.children.length; b++) this.vi(a, this, b)
};
this.vh = function(a, b, c) {
var d = this.style("text-anchor").wb("start");
if ("start" != d) {
for (var e = 0, f = c; f < b.children.length; f++) {
var m = b.children[f];
if (f > c && m.h("x").j()) break;
e += m.bi(a)
}
return -1 * ("end" == d ? e : e / 2)
}
return 0
};
this.vi = function(a, b, c) {
var d = b.children[c];
d.h("x").j() ? d.x = d.h("x").l("x") + this.vh(a, b, c) : (this.h("dx").j() && (this.x += this.h("dx").l("x")), d.h("dx").j() && (this.x += d.h("dx").l("x")), d.x = this.x);
this.x = d.x + d.measureText(a);
d.h("y").j() ? d.y = d.h("y").l("y") : (this.h("dy").j() && (this.y += this.h("dy").l("y")), d.h("dy").j() && (this.y += d.h("dy").l("y")), d.y = this.y);
this.y = d.y;
d.render(a);
for (b = 0; b < d.children.length; b++) this.vi(a, d, b)
}
};
a.Element.text.prototype =
new a.Element.ca;
a.Element.jc = function(b) {
this.i = a.Element.ca;
this.i(b);
this.yh = function(a, b, c) {
var d = b[c],
e = null;
if (a.Qh) {
var f = "isolated";
(0 == c || " " == b[c - 1]) && c < b.length - 2 && " " != b[c + 1] && (f = "terminal");
0 < c && " " != b[c - 1] && c < b.length - 2 && " " != b[c + 1] && (f = "medial");
0 < c && " " != b[c - 1] && (c == b.length - 1 || " " == b[c + 1]) && (f = "initial");
"undefined" != typeof a.Gb[d] && (e = a.Gb[d][f], null == e && "glyph" == a.Gb[d].type && (e = a.Gb[d]))
} else e = a.Gb[d];
null == e && (e = a.di);
return e
};
this.Ma = function(b) {
var c = this.parent.style("font-family").fa();
if (null != c) {
var d = this.parent.style("font-size").ag(a.Dc.Fc(a.mb.font).fontSize),
g = this.parent.style("font-style").wb(a.Dc.Fc(a.mb.font).fontStyle),
h = this.sa();
c.Sf && (h = h.split("").reverse().join(""));
for (var l = a.Pa(this.parent.h("dx").value), m = 0; m < h.length; m++) {
var n = this.yh(c, h, m),
p = d / c.pd.Ve;
b.translate(this.x, this.y);
b.scale(p, -p);
var v = b.lineWidth;
b.lineWidth = b.lineWidth * c.pd.Ve / d;
"italic" == g && b.transform(1, 0, .4, 1, 0, 0);
n.render(b);
"italic" == g && b.transform(1, 0, -.4, 1, 0, 0);
b.lineWidth = v;
b.scale(1 /
p, -1 / p);
b.translate(-this.x, -this.y);
this.x += d * (n.Rc || c.Rc) / c.pd.Ve;
"undefined" == typeof l[m] || isNaN(l[m]) || (this.x += l[m])
}
} else "" != b.fillStyle && b.fillText(a.Wa(this.sa()), this.x, this.y), "" != b.strokeStyle && b.strokeText(a.Wa(this.sa()), this.x, this.y)
};
this.sa = function() {};
this.bi = function(a) {
for (var b = this.measureText(a), c = 0; c < this.children.length; c++) b += this.children[c].bi(a);
return b
};
this.measureText = function(b) {
var c = this.parent.style("font-family").fa();
if (null != c) {
b = this.parent.style("font-size").ag(a.Dc.Fc(a.mb.font).fontSize);
var d = 0,
g = this.sa();
c.Sf && (g = g.split("").reverse().join(""));
for (var h = a.Pa(this.parent.h("dx").value), l = 0; l < g.length; l++) d += (this.yh(c, g, l).Rc || c.Rc) * b / c.pd.Ve, "undefined" == typeof h[l] || isNaN(h[l]) || (d += h[l]);
return d
}
c = a.Wa(this.sa());
if (!b.measureText) return 10 * c.length;
b.save();
this.hb(b);
c = b.measureText(c).width;
b.restore();
return c
}
};
a.Element.jc.prototype = new a.Element.ca;
a.Element.Cg = function(b) {
this.eh = !0;
this.i = a.Element.jc;
this.i(b);
this.text = b.nodeValue || b.text || "";
this.sa = function() {
return this.text
}
};
a.Element.Cg.prototype = new a.Element.jc;
a.Element.Ri = function(b) {
this.i = a.Element.jc;
this.i(b);
this.sa = function() {
var a = this.dc().fa();
if (null != a) return a.children[0].sa()
}
};
a.Element.Ri.prototype = new a.Element.jc;
a.Element.a = function(b) {
this.i = a.Element.jc;
this.i(b);
this.Hf = !0;
for (var c = 0; c < b.childNodes.length; c++) 3 != b.childNodes[c].nodeType && (this.Hf = !1);
this.text = this.Hf ? b.childNodes[0].nodeValue : "";
this.sa = function() {
return this.text
};
this.lj = this.Ma;
this.Ma = function(b) {
if (this.Hf) {
this.lj(b);
var c = new a.o("fontSize", a.Dc.Fc(a.mb.font).fontSize);
a.Ec.nj(this, new a.Oa(this.x, this.y - c.l("y"), this.x + this.measureText(b), this.y))
} else c = new a.Element.me, c.children = this.children, c.parent = this, c.render(b)
};
this.onclick = function() {
window.open(this.dc().value)
};
this.onmousemove = function() {
a.mb.canvas.style.cursor = "pointer"
}
};
a.Element.a.prototype = new a.Element.jc;
a.Element.Lh = function(c) {
this.i = a.Element.ca;
this.i(c);
var d = this.dc().value,
e = d.match(/\.svg$/);
a.Pd.push(this);
this.loaded = !1;
if (e) this.Ta =
a.mf(d), this.loaded = !0;
else {
this.Ta = document.createElement("img");
this.Ta.crossOrigin = "Anonymous";
var f = this;
this.Ta.onload = function() {
f.loaded = !0
};
this.Ta.onerror = function() {
b('ERROR: image "' + d + '" not found') && (f.loaded = !0)
};
this.Ta.src = d
}
this.Ma = function(b) {
var c = this.h("x").l("x"),
d = this.h("y").l("y"),
f = this.h("width").l("x"),
g = this.h("height").l("y");
0 != f && 0 != g && (b.save(), e ? Yh(b.canvas, this.Ta, c, d, f, g, {
ignoreMouse: a.O.Rk,
ignoreAnimation: a.O.Qk,
ignoreClear: !0,
ignoreDimensions: !0
}) : (b.translate(c,
d), a.df(b, this.h("preserveAspectRatio").value, f, this.Ta.width, g, this.Ta.height, 0, 0), b.drawImage(this.Ta, 0, 0)), b.restore())
};
this.rb = function() {
var b = this.h("x").l("x"),
c = this.h("y").l("y"),
d = this.h("width").l("x"),
e = this.h("height").l("y");
return new a.Oa(b, c, b + d, c + e)
}
};
a.Element.Lh.prototype = new a.Element.ca;
a.Element.me = function(b) {
this.i = a.Element.ca;
this.i(b);
this.rb = function() {
for (var b = new a.Oa, c = 0; c < this.children.length; c++) b.Tg(this.children[c].rb());
return b
}
};
a.Element.me.prototype = new a.Element.ca;
a.Element.symbol = function(b) {
this.i = a.Element.ca;
this.i(b);
this.kc = this.hb;
this.hb = function(b) {
this.kc(b);
if (this.h("viewBox").j()) {
var c = a.Pa(this.h("viewBox").value),
d = c[0],
g = c[1],
h = c[2],
l = c[3];
a.df(b, this.h("preserveAspectRatio").value, this.h("width").l("x"), h, this.h("height").l("y"), l, d, g);
a.oa.fd(c[2], c[3])
}
}
};
a.Element.symbol.prototype = new a.Element.ca;
a.Element.style = function(b) {
this.i = a.Element.C;
this.i(b);
for (var c = "", e = 0; e < b.childNodes.length; e++) c += b.childNodes[e].nodeValue;
c = c.replace(/(\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\/)|(^[\s]*\/\/.*)/gm,
"");
c = a.Wa(c);
b = c.split("}");
for (e = 0; e < b.length; e++)
if ("" != a.trim(b[e]))
for (var f = b[e].split("{"), c = f[0].split(","), f = f[1].split(";"), g = 0; g < c.length; g++) {
var h = a.trim(c[g]);
if ("" != h) {
for (var l = {}, m = 0; m < f.length; m++) {
var n = f[m].indexOf(":"),
p = f[m].substr(0, n),
n = f[m].substr(n + 1, f[m].length - n);
null != p && null != n && (l[a.trim(p)] = new a.o(a.trim(p), a.trim(n)))
}
a.ic[h] = l;
if ("@font-face" == h)
for (h = l["font-family"].value.replace(/"/g, ""), l = l.src.value.split(","), m = 0; m < l.length; m++)
if (0 < l[m].indexOf('format("svg")'))
for (p =
l[m].indexOf("url"), p = a.ji(a.mf(l[m].substr(p + 5, l[m].indexOf(")", p) - p - 6))).getElementsByTagName("font"), n = 0; n < p.length; n++) {
var v = a.ef(p[n]);
a.dd[h] = v
}
}
}
};
a.Element.style.prototype = new a.Element.C;
a.Element.use = function(b) {
this.i = a.Element.ca;
this.i(b);
this.kc = this.hb;
this.hb = function(a) {
this.kc(a);
this.h("x").j() && a.translate(this.h("x").l("x"), 0);
this.h("y").j() && a.translate(0, this.h("y").l("y"))
};
this.fa = function() {
var a = this.dc().fa();
this.h("width").j() && (a.h("width", !0).value = this.h("width").value);
this.h("height").j() && (a.h("height", !0).value = this.h("height").value);
return a
};
this.path = function(a) {
var b = this.fa();
null != b && b.path(a)
};
this.rb = function() {
var a = this.fa();
if (null != a) return a.rb()
};
this.Ma = function(a) {
var b = this.fa();
if (null != b) {
var c = b.parent;
b.parent = null;
b.render(a);
b.parent = c
}
}
};
a.Element.use.prototype = new a.Element.ca;
a.Element.$h = function(b) {
this.i = a.Element.C;
this.i(b);
this.apply = function(b, c) {
var d = this.h("x").l("x"),
e = this.h("y").l("y"),
h = this.h("width").l("x"),
l = this.h("height").l("y");
if (0 == h && 0 == l) {
l = new a.Oa;
for (d = 0; d < this.children.length; d++) l.Tg(this.children[d].rb());
d = Math.floor(l.x1);
e = Math.floor(l.y1);
h = Math.floor(l.width());
l = Math.floor(l.height())
}
var m = c.h("mask").value;
c.h("mask").value = "";
var n = document.createElement("canvas");
n.width = d + h;
n.height = e + l;
var p = n.getContext("2d");
this.Ma(p);
var v = document.createElement("canvas");
v.width = d + h;
v.height = e + l;
var q = v.getContext("2d");
c.render(q);
q.globalCompositeOperation = "destination-in";
q.fillStyle = p.createPattern(n, "no-repeat");
q.fillRect(0, 0, d + h, e + l);
b.fillStyle = q.createPattern(v, "no-repeat");
b.fillRect(0, 0, d + h, e + l);
c.h("mask").value = m
};
this.render = function() {}
};
a.Element.$h.prototype = new a.Element.C;
a.Element.hh = function(b) {
this.i = a.Element.C;
this.i(b);
this.apply = function(b) {
for (var c = 0; c < this.children.length; c++) {
var d = this.children[c];
if ("undefined" != typeof d.path) {
var g = null;
d.h("transform").j() && (g = new a.Sg(d.h("transform").value), g.apply(b));
d.path(b);
b.clip();
g && g.Ld(b)
}
}
};
this.render = function() {}
};
a.Element.hh.prototype =
new a.Element.C;
a.Element.filter = function(b) {
this.i = a.Element.C;
this.i(b);
this.apply = function(a, b) {
var c = b.rb(),
d = Math.floor(c.x1),
e = Math.floor(c.y1),
l = Math.floor(c.width()),
c = Math.floor(c.height()),
m = b.style("filter").value;
b.style("filter").value = "";
for (var n = 0, p = 0, v = 0; v < this.children.length; v++) var q = this.children[v].Bj || 0,
n = Math.max(n, q),
p = Math.max(p, q);
q = document.createElement("canvas");
q.width = l + 2 * n;
q.height = c + 2 * p;
var A = q.getContext("2d");
A.translate(-d + n, -e + p);
b.render(A);
for (v = 0; v < this.children.length; v++) this.children[v].apply(A,
0, 0, l + 2 * n, c + 2 * p);
a.drawImage(q, 0, 0, l + 2 * n, c + 2 * p, d - n, e - p, l + 2 * n, c + 2 * p);
b.style("filter", !0).value = m
};
this.render = function() {}
};
a.Element.filter.prototype = new a.Element.C;
a.Element.th = function(b) {
this.i = a.Element.C;
this.i(b);
this.apply = function() {}
};
a.Element.th.prototype = new a.Element.C;
a.Element.rh = function(b) {
this.i = a.Element.C;
this.i(b);
this.apply = function(a, b, c, g, h) {
b = a.getImageData(0, 0, g, h);
for (c = 0; c < h; c++)
for (var d = 0; d < g; d++) {
var e = (b.data[c * g * 4 + 4 * d + 0] + b.data[c * g * 4 + 4 * d + 1] + b.data[c * g * 4 + 4 * d + 2]) /
3;
b.data[c * g * 4 + 4 * d + 0] = e;
b.data[c * g * 4 + 4 * d + 1] = e;
b.data[c * g * 4 + 4 * d + 2] = e
}
a.clearRect(0, 0, g, h);
a.putImageData(b, 0, 0)
}
};
a.Element.rh.prototype = new a.Element.C;
a.Element.sh = function(c) {
this.i = a.Element.C;
this.i(c);
this.Bj = this.$g = Math.floor(this.h("stdDeviation").D());
this.apply = function(c, e, f, g, h) {
var d = window.stackBlurCanvasRGBA;
"undefined" == typeof d ? b("ERROR: StackBlur.js must be included for blur to work") : (c.canvas.id = a.cj(), c.canvas.style.display = "none", document.body.appendChild(c.canvas), d(c.canvas.id,
e, f, g, h, this.$g), document.body.removeChild(c.canvas))
}
};
a.Element.sh.prototype = new a.Element.C;
a.Element.title = function() {};
a.Element.title.prototype = new a.Element.C;
a.Element.ph = function() {};
a.Element.ph.prototype = new a.Element.C;
a.Element.Qg = function(a) {
b("ERROR: Element '" + a.nodeName + "' not yet implemented.")
};
a.Element.Qg.prototype = new a.Element.C;
a.Ng = {
svg: a.Element.Qb,
rect: a.Element.rect,
circle: a.Element.gh,
ellipse: a.Element.ellipse,
line: a.Element.Wf,
polyline: a.Element.De,
polygon: a.Element.ki,
path: a.Element.path,
pattern: a.Element.pattern,
marker: a.Element.Zh,
defs: a.Element.oh,
linearGradient: a.Element.Wh,
radialGradient: a.Element.si,
stop: a.Element.stop,
animate: a.Element.nf,
animateColor: a.Element.Vg,
animateTransform: a.Element.Wg,
font: a.Element.font,
fontface: a.Element.uh,
missingglyph: a.Element.ei,
glyph: a.Element.Gh,
text: a.Element.text,
tspan: a.Element.Cg,
tref: a.Element.Ri,
a: a.Element.a,
image: a.Element.Lh,
g: a.Element.me,
symbol: a.Element.symbol,
style: a.Element.style,
use: a.Element.use,
mask: a.Element.$h,
clipPath: a.Element.hh,
filter: a.Element.filter,
feMorphology: a.Element.th,
feColorMatrix: a.Element.rh,
feGaussianBlur: a.Element.sh,
title: a.Element.title,
desc: a.Element.ph
};
a.ef = function(b) {
var c = b.nodeName.replace(/^[^:]+:/, ""),
c = c.replace(/\-/g, ""),
c = "undefined" != typeof a.Ng[c] ? new a.Ng[c](b) : new a.Element.Qg(b);
c.type = b.nodeName;
return c
};
a.load = function(b, d) {
a.Xh(b, a.mf(d))
};
a.Xh = function(b, d) {
a.Yh(b, a.ji(d))
};
a.Yh = function(b, d) {
a.init(b);
var c = function(a) {
for (var c = b.canvas; c;) a.x -= c.offsetLeft, a.y -=
c.offsetTop, c = c.offsetParent;
window.scrollX && (a.x += window.scrollX);
window.scrollY && (a.y += window.scrollY);
return a
};
1 != a.O.ignoreMouse && (b.canvas.onclick = function(b) {
b = b || window.event;
b = c(new a.W(b.clientX, b.clientY));
a.Ec.onclick(b.x, b.y)
}, b.canvas.onmousemove = function(b) {
b = b || window.event;
b = c(new a.W(b.clientX, b.clientY));
a.Ec.onmousemove(b.x, b.y)
});
var f = a.ef(d.documentElement),
g = f.root = !0,
h = function() {
a.oa.Wi();
b.canvas.parentNode && a.oa.fd(b.canvas.parentNode.clientWidth, b.canvas.parentNode.clientHeight);
1 != a.O.ignoreDimensions && (f.style("width").j() && (b.canvas.width = f.style("width").l("x"), b.canvas.style.width = b.canvas.width + "px"), f.style("height").j() && (b.canvas.height = f.style("height").l("y"), b.canvas.style.height = b.canvas.height + "px"));
var c = b.canvas.clientWidth || b.canvas.width,
e = b.canvas.clientHeight || b.canvas.height;
1 == a.O.ignoreDimensions && f.style("width").j() && f.style("height").j() && (c = f.style("width").l("x"), e = f.style("height").l("y"));
a.oa.fd(c, e);
null != a.O.offsetX && (f.h("x", !0).value = a.O.offsetX);
null != a.O.offsetY && (f.h("y", !0).value = a.O.offsetY);
if (null != a.O.scaleWidth && null != a.O.scaleHeight) {
var h = 1,
l = 1,
q = a.Pa(f.h("viewBox").value);
f.h("width").j() ? h = f.h("width").l("x") / a.O.scaleWidth : isNaN(q[2]) || (h = q[2] / a.O.scaleWidth);
f.h("height").j() ? l = f.h("height").l("y") / a.O.scaleHeight : isNaN(q[3]) || (l = q[3] / a.O.scaleHeight);
f.h("width", !0).value = a.O.scaleWidth;
f.h("height", !0).value = a.O.scaleHeight;
f.h("viewBox", !0).value = "0 0 " + c * h + " " + e * l;
f.h("preserveAspectRatio", !0).value = "none"
}
1 != a.O.ignoreClear &&
b.clearRect(0, 0, c, e);
f.render(b);
g && (g = !1, "function" == typeof a.O.renderCallback && a.O.renderCallback(d))
},
l = !0;
a.Pg() && (l = !1, h());
a.Ph = setInterval(function() {
var b = !1;
l && a.Pg() && (l = !1, b = !0);
1 != a.O.ignoreMouse && (b |= a.Ec.Kj());
if (1 != a.O.ignoreAnimation)
for (var c = 0; c < a.cf.length; c++) b |= a.cf[c].update(1E3 / a.Og);
"function" == typeof a.O.forceRedraw && 1 == a.O.forceRedraw() && (b = !0);
b && (h(), a.Ec.yk())
}, 1E3 / a.Og)
};
a.stop = function() {
a.Ph && clearInterval(a.Ph)
};
a.Ec = new function() {
this.qb = [];
this.Kj = function() {
return 0 !=
this.qb.length
};
this.onclick = function(a, b) {
this.qb.push({
type: "onclick",
x: a,
y: b,
Ai: function(a) {
if (a.onclick) a.onclick()
}
})
};
this.onmousemove = function(a, b) {
this.qb.push({
type: "onmousemove",
x: a,
y: b,
Ai: function(a) {
if (a.onmousemove) a.onmousemove()
}
})
};
this.ke = [];
this.pj = function(a, b) {
for (var c = 0; c < this.qb.length; c++) {
var d = this.qb[c];
b.isPointInPath && b.isPointInPath(d.x, d.y) && (this.ke[c] = a)
}
};
this.nj = function(a, b) {
for (var c = 0; c < this.qb.length; c++) {
var d = this.qb[c];
b.Oj(d.x, d.y) && (this.ke[c] = a)
}
};
this.yk =
function() {
a.mb.canvas.style.cursor = "";
for (var b = 0; b < this.qb.length; b++)
for (var d = this.qb[b], e = this.ke[b]; e;) d.Ai(e), e = e.parent;
this.qb = [];
this.ke = []
}
};
return a
};
var $h = function(a, b) {
return a.getAttribute("data-google-feedback-" + b) || ""
},
ai = function(a, b, c) {
a.setAttribute("data-google-feedback-" + b, c)
};
var bi = function(a) {
Q.call(this);
this.wd = new Image;
this.wd.onload = w(this.callback, this);
this.wd.onerror = w(this.Y, this);
this.wd.src = a
};
x(bi, Q);
bi.prototype.Fh = function() {
return this.wd.width
};
bi.prototype.Ah = function() {
return this.wd.height
};
var ci = rh && Ah("3.6") || rh && Ah("3.5") && !nc || F && Ah("9") || kc;
var di = function(a, b) {
var c = new Image;
c.onload = function() {
var a;
try {
if (!c.width) return;
var e = document.createElement("canvas");
e.width = c.width;
e.height = c.height;
e.getContext("2d").drawImage(c, 0, 0);
a = e.toDataURL()
} catch (f) {
return
}
b(a)
};
c.src = a
},
ei = function(a) {
var b = window.location.href,
c;
if (c = ci) a = a.match(Vd), b = b.match(Vd), c = a[3] == b[3] && a[1] == b[1] && a[4] == b[4];
return c
};
var fi = function() {
this.rg = new O(0, 0, 0, 0)
};
fi.prototype.resize = function(a) {
this.rg.width = a.width;
this.rg.height = a.height
};
fi.prototype.Qc = function() {
return this.rg
};
fi.prototype.Cb = ra;
var gi = function(a) {
fi.call(this);
this.Si = a;
this.S = [
[]
]
};
x(gi, fi);
var hi = function(a, b, c) {
a.S[0].push([2, [a.Si[b], c.left, c.top, c.width, c.height]])
};
gi.prototype.fillRect = function(a, b) {
this.S[0].push([4, [a.left, a.top, a.width, a.height, b]])
};
gi.prototype.yc = function(a, b, c, d) {
this.S.unshift([]);
this.S[0].push([20, [a, b, c, d]])
};
var ji = function(a) {
a.S[0].push([21]);
ii(a)
};
gi.prototype.pg = function(a) {
this.S.unshift([]);
this.S[0].push([23, [a]])
};
gi.prototype.hg = function() {
this.S[0].push([24]);
ii(this)
};
gi.prototype.toDataURL = function() {
return ""
};
var ii = function(a) {
var b = a.S.shift();
bb(b, function(a) {
return 20 > a[0]
}) && gb(a.S[0], b)
};
var ki = function(a) {
T.call(this, "rf.cs");
this.cssRules = a
};
x(ki, T);
Bh["rf.cs"] = ki;
ki.prototype.ja = function() {
return ki.s.ja.call(this).concat([this.cssRules])
};
ki.prototype.ba = function(a) {
var b = ki.s.ba.call(this, a);
this.cssRules = a[b++];
return b
};
var li = function(a) {
T.call(this, "rf.ip");
this.Md = a || {}
};
x(li, T);
Bh["rf.ip"] = li;
li.prototype.ja = function() {
return li.s.ja.call(this).concat([this.Md])
};
li.prototype.ba = function(a) {
var b = li.s.ba.call(this, a);
this.Md = a[b++];
return b
};
var mi = function(a) {
T.call(this, "rf.lp");
this.links = a
};
x(mi, T);
Bh["rf.lp"] = mi;
mi.prototype.ja = function() {
return mi.s.ja.call(this).concat([this.links])
};
mi.prototype.ba = function(a) {
var b = mi.s.ba.call(this, a);
this.links = a[b++];
return b
};
var ni = function(a, b, c, d, e, f) {
T.call(this, "rf.r", (this[ya] || (this[ya] = ++za)) + "");
this.ih = a || [];
this.size = b || new bc(0, 0);
this.ya = c || [];
this.Zg = d || [];
this.scrollLeft = e || 0;
this.scrollTop = f || 0
};
x(ni, T);
Bh["rf.r"] = ni;
ni.prototype.ja = function() {
return ni.s.ja.call(this).concat([this.ih, this.size, oi(this.ya), oi(this.Zg), this.scrollLeft, this.scrollTop])
};
ni.prototype.ba = function(a) {
var b = ni.s.ba.call(this, a);
this.ih = a[b++];
this.size = a[b++];
this.ya = pi(a[b++]);
this.Zg = pi(a[b++]);
this.scrollLeft = a[b++];
this.scrollTop = a[b++];
return b
};
var oi = function(a) {
var b = [];
B(a, function(a) {
b.push([a.left, a.top, a.width, a.height])
});
return b
},
pi = function(a) {
var b = [];
B(a, function(a) {
b.push(new O(a[0], a[1], a[2], a[3]))
});
return b
};
var qi = function() {
T.call(this, "rf.s")
};
x(qi, T);
Bh["rf.s"] = qi;
qi.prototype.ja = function() {
return qi.s.ja.call(this).concat([this.tg, this.mi, this.zj])
};
qi.prototype.ba = function(a) {
var b = qi.s.ba.call(this, a);
this.tg = a[b++];
this.mi = a[b++];
this.zj = a[b++];
return b
};
var ri = function(a) {
T.call(this, "rf.sp");
this.Md = a || {}
};
x(ri, T);
Bh["rf.sp"] = ri;
ri.prototype.ja = function() {
return ri.s.ja.call(this).concat([this.Md])
};
ri.prototype.ba = function(a) {
var b = ri.s.ba.call(this, a);
this.Md = a[b++];
return b
};
var si = function(a, b) {
this.url = a;
this.size = b
};
var ti = function(a) {
this.Mi = a
},
ui = function(a) {
return Ea() > a.Mi
};
var vi = function(a, b, c) {
var d = "border-" + b + "-radius",
e = J(a, d);
e || (e = J(a, "-webkit-" + d));
e || (e = J(a, "-ms-" + d));
e || (d = "-moz-border-radius-" + b.replace("-", ""), e = J(a, d));
if (!e) return [0, 0];
a = e.match(/(\d+)(\%|px)/gi);
return ab(a, function(a) {
return -1 < a.indexOf("%") ? parseInt(a, 10) * c.width / 100 : -1 != a.indexOf("px") ? parseInt(a, 10) : 0
})
},
wi = function(a, b) {
var c;
a: {
c = Math.max(a.left, b.left);
var d = Math.min(a.left + a.width, b.left + b.width);
if (c <= d) {
var e = Math.max(a.top, b.top),
f = Math.min(a.top + a.height, b.top + b.height);
if (e <=
f) {
c = new O(c, e, d - c, f - e);
break a
}
}
c = null
}
return c || new O(0, 0, 0, 0)
},
xi = function(a) {
var b;
try {
b = a.getBoundingClientRect()
} catch (d) {
return new O(0, 0, 0, 0)
}
if (t(b.width)) return new O(b.left, b.top, b.width, b.height);
var c;
try {
c = eg(a)
} catch (d) {
c = null
}
return c ? new O(b.left, b.top, c.width, c.height) : new O(0, 0, 0, 0)
},
yi = function(a) {
a = J(a, "fontWeight");
return "401" == a ? "900" : a
},
zi = function(a) {
try {
var b = H(a),
c = "";
if (b.body.createTextRange && Uc(b, a)) {
var d = b.body.createTextRange();
d.moveToElementText(a);
try {
c = d.queryCommandValue("FontName")
} catch (h) {
c =
""
}
}
c || (c = Zf(a, "fontFamily"));
var e = c.split(",");
1 < e.length && (c = e[0]);
var f;
a: {
for (a = 0; 2 > a; a++) {
var g = "\"'".charAt(a);
if (c.charAt(0) == g && c.charAt(c.length - 1) == g) {
f = c.substring(1, c.length - 1);
break a
}
}
f = c
}
return f
} catch (h) {
return "Arial"
}
},
Ai = function(a) {
try {
return og(a)
} catch (b) {
return 13
}
},
Bi = function(a, b) {
var c = La(a).split(" ");
return new E(b.left + .01 * parseInt(c[0], 10) * b.width, b.top + .01 * parseInt(c[1], 10) * b.height)
};
var Ci = function(a, b, c) {
this.rj = c;
this.Dk = a;
this.xj = b
};
var Di = /^(rgba?\([^\)]+\)|#[a-f0-9]+|[a-z]+)$/i,
Ei = /rgba?\([^\)]+\)|#[a-f0-9]+|[a-z]+/ig,
Fi = /^((from|to|color-stop)\(\s*([^,]+\s*,\s*)?\s*(rgba?\([^)]+\)|#[a-z0-9]+|[a-z]+?)\))$/i,
Gi = /(from|to|color-stop)\(\s*([^,]+\s*,\s*)?\s*(rgba?\([^)]+\)|#[a-z0-9]+|[a-z]+?)\)/ig,
Hi = /linear,([^,]+,[^,]+),/i,
Ii = /startcolorstr=([^,]+),/i,
Ji = /endcolorstr=([^,|^\)]+)/i,
Li = function(a, b) {
a = a.substring(a.indexOf("(") + 1, a.lastIndexOf(")"));
var c = a.match(Ei);
if (!c) return null;
c = $a(c, function(a) {
return y(a, "(") || y(a, "#") ?
!0 : a in Ih || "transparent" == a
});
if (!c.length) return null;
var d, e, f = a.substring(0, a.indexOf(","));
if (!Ih[f] && !Di.test(f)) {
var g = new E(b.left + b.width / 2, b.top + b.height / 2);
if (y(f, "%")) d = Bi(f, b), e = Ki(d, g, Math.PI);
else {
var h = parseFloat(f);
isNaN(h) || (d = new E(b.left, g.top), e = new E(b.left + b.width, g.top), y(f, "deg") && (h = h * Math.PI / 180), d = Ki(d, g, -h), e = Ki(e, g, -h))
}
}
d && e || (d = new E(b.left, b.top), e = new E(b.left, b.top + b.height));
return new Ci(d, e, c)
},
Ni = function(a, b) {
a = a.substring(a.indexOf("(") + 1, a.lastIndexOf(")"));
var c = [],
d, e = a.match(Hi),
f = a.match(Gi);
if (!f || !e) return null;
for (var g = 0; g < f.length; ++g) {
var h = f[g].match(Fi);
"from" == h[2] ? c.unshift(h[4]) : "to" == h[2] ? d = h[4] : "color-stop" == h[2] && c.push(h[4])
}
d && c.push(d);
if (!c.length) return null;
h = e[1].split(",");
return new Ci(Mi(h[0] || "", b), Mi(h[1] || "", b), c)
},
Oi = function(a, b) {
var c = a.match(Ii),
d = a.match(Ji);
return c && d ? new Ci(new E(b.left, b.top), new E(b.left + b.width, b.top), ["#" + c[1].substring(3), "#" + d[1].substring(3)]) : null
},
Ki = function(a, b, c) {
return new E(Math.cos(c) *
(a.x - b.x) - Math.sin(c) * (a.y - b.y) + b.x, Math.sin(c) * (a.x - b.x) + Math.cos(c) * (a.y - b.y) + b.y)
},
Mi = function(a, b) {
if (y(a, "%")) return Bi(a, b);
var c = La(a).split(" ");
return new E(b.left + (parseInt(c[0], 10) || 0), b.top + (parseInt(c[1], 10) || 0))
};
var Pi = function(a, b, c, d) {
this.Oi = a;
this.Pi = b;
this.bh = c;
this.ah = d
},
Qi = function(a) {
return [a.Oi, a.Pi, a.bh, a.ah]
};
var U = function(a, b, c, d) {
this.parent = a;
this.element = b;
this.canvas = c;
this.ra = d;
this.children = []
},
Ri = RegExp("(-moz-|-webkit-|-ms-)?linear-gradient\\(([^()]*|\\([^()]*\\))*\\)|-webkit-gradient\\(linear,.*?\\(.*\\).*\\)|url\\(.*?\\)", "gi"),
Si = new te("APPLET AREA BASE EMBED HEAD LEGEND LINK MAP META NOFRAMES NOSCRIPT OBJECT OPTION OPTGROUP PARAM SCRIPT STYLE TITLE".split(" ")),
Ti = {},
Ui = function(a, b) {
B(b, function(b) {
Ti[String(b).toUpperCase()] = a
})
},
Wi = function(a, b, c) {
function d() {
var a = e[f++];
return !a ||
ui(b) ? c : a.render(b, d)
}
var e = fb(a);
lb(e, function(a, b) {
return Vi(a) - Vi(b)
});
var f = 0;
return d
};
k = U.prototype;
k.Ha = function(a, b, c) {
function d(f, l, m) {
if (!f || ui(b)) return c;
var h = l ? l[m + 1] : t(f.nextElementSibling) ? f.nextElementSibling : Rc(f.nextSibling);
return 3 === f.nodeType || "none" == J(f, "display") || e.contains(f.tagName) || Xi(f) ? Da(d, h) : (new(Ti[f.tagName.toUpperCase()] || U)(g, f, g.canvas, g.ra)).Ha(a, b, function() {
return d(h, l, m + 1)
})
}
var e = Si;
if (.02 >= Yi(this) || .02 >= Zi(this)) return c;
this.ve() ? (a.push(this), a = this.children) : $i(this) ? a.push(this) : this.parent.children.push(this);
if (J(this.element, "content", ":before")) {
var f =
Ti[":BEFORE"];
f && (f = new f(this, this.element, this.canvas, this.ra), this.children.push(f))
}
var g = this;
return this.element.shadowRoot ? Da(d, Sc(this.element.shadowRoot), null, 0) : (f = this.element.getDistributedNodes && this.element.getDistributedNodes()) && f.length ? (f = $a(f, function(a) {
a = a.getDestinationInsertionPoints();
return a[a.length - 1] == g.element
}), Da(d, f[0], f, 0)) : Da(d, Sc(this.element), null, 0)
};
k.render = function(a, b) {
if (ui(a) || Ie(this.element) || this.gc() && !Tf(aj(this), this.canvas.Qc())) return b;
(1 > Yi(this) || 1 > Zi(this)) && this.pg();
($i(this) || 1 > Yi(this)) && this.yc(this.Cf(!0));
if (this.Uf() && Tf(aj(this), this.canvas.Qc())) {
if (bj(this)) {
var c = this.canvas,
d = aj(this).clone(),
e = this.Od,
f = this.bf;
c.S.unshift([]);
c.S[0].push([25, [d.left, d.top, d.width, d.height, Qi(e), Qi(f)]])
}
this.ti();
this.ui();
this.He();
bj(this) && ji(this.canvas)
}
this.gc() && this.yc(V(this));
return this.Ma(a, b)
};
k.Ma = function(a, b) {
var c = this;
return Wi(this.children, a, function() {
($i(c) || 1 > Yi(c)) && ji(c.canvas);
c.gc() && ji(c.canvas);
(1 > Yi(c) || 1 > Zi(c)) && c.hg();
return b
})
};
k.ti = function() {
var a = cj(this),
b = He(this.getStyle("backgroundImage")),
c = dj(this);
a && this.canvas.fillRect(aj(this), a);
if (0 < b.length || 0 < c.length) {
var d = ej(this),
e = fj(this),
f = gj(this),
a = hj(this).reverse();
b.reverse();
c.reverse();
f.reverse();
var g = 0,
h = 0;
B(a, function(a, m) {
if ("g" === a) {
if (c[h]) {
var l = V(this),
p = c[h].Dk,
v = c[h].xj;
this.canvas.S[0].push([7, [l.left, l.top, l.width, l.height, p.x, p.y, v.x, v.y, c[h].rj]])
}
h += 1
} else "i" === a && (b[g] && (l = this.canvas, p = V(this), l.S[0].push([1, [l.Si[b[g]], p.left, p.top, p.width,
p.height, f[m], d.x, d.y, e
]])), g += 1)
}, this)
}
};
k.ui = function() {
var a = this.Bf(),
b = V(this),
c = [this.getStyle("borderTopColor"), this.getStyle("borderRightColor"), this.getStyle("borderBottomColor"), this.getStyle("borderLeftColor")];
this.canvas.S[0].push([8, [b.left, b.top, b.width, b.height, Qi(this.Od), Qi(this.bf), a.top, a.right, a.bottom, a.left, c]])
};
k.He = function() {};
var V = function(a) {
if (!a.lb) {
var b = a.Bf();
a.lb = aj(a).clone();
a.lb.top += b.top;
a.lb.left += b.left;
a.lb.width -= b.left + b.right;
a.lb.height -= b.top + b.bottom
}
return a.lb
},
jj = function(a) {
var b = V(a).clone();
a = new N(ij(a, "paddingTop"), ij(a, "paddingRight"), ij(a, "paddingBottom"), ij(a, "paddingLeft"));
b.top += a.top;
b.left += a.left;
b.width -= a.left + a.right;
b.height -= a.top + a.bottom;
return b
},
aj = function(a) {
a.Uc || (a.Uc = a.Qc(), a.Uc.top += a.ra.top, a.Uc.left += a.ra.left);
return a.Uc
};
U.prototype.Qc = function() {
return xi(this.element)
};
U.prototype.Bf = function() {
this.Ic || (this.Ic = new N(0, 0, 0, 0), "none" != this.getStyle("borderTopStyle") && (this.Ic.top = ij(this, "borderTopWidth")), "none" != this.getStyle("borderRightStyle") && (this.Ic.right = ij(this, "borderRightWidth")), "none" != this.getStyle("borderBottomStyle") && (this.Ic.bottom = ij(this, "borderBottomWidth")), "none" != this.getStyle("borderLeftStyle") && (this.Ic.left = ij(this, "borderLeftWidth")));
return this.Ic
};
var Vi = function(a) {
if (!$i(a)) return 1 > Yi(a) ? 1 : 0;
a = ij(a, "zIndex");
return 0 <= a ? a + 1 : a
},
$i = function(a) {
return "static" != a.getStyle("position")
};
U.prototype.Cf = function(a) {
if (this.vf && !a) return this.vf;
var b;
b = this.parent;
switch (this.getStyle("position")) {
case "relative":
for (; b && !b.gc() && !$i(b);) b = b.parent;
break;
case "fixed":
case "absolute":
for (; b && !$i(b);) b = b.parent
}
b = b ? b.Cf() : this.ra;
this.vf = wi(b, this.gc() ? V(this) : this.ra);
return a && this.gc() ? wi(b, aj(this)) : this.vf
};
U.prototype.Uf = function() {
return "hidden" != this.getStyle("visibility")
};
var Xi = function(a) {
a = J(a, "transform") || J(a, "-ms-transform") || J(a, "-webkit-transform");
if (!Ha(a, "matrix3d")) return !1;
a = a.split(",");
return !!a[10] && "-1" == a[10].trim()
};
U.prototype.gc = function() {
return "visible" != this.getStyle("overflow") && "inline" != this.getStyle("display")
};
var bj = function(a) {
if (!a.Od || !a.bf)
if (!a.Od || !a.bf) {
var b = a.element,
c = vi(b, "top-left", V(a)),
d = vi(b, "top-right", V(a)),
e = vi(b, "bottom-right", V(a)),
b = vi(b, "bottom-left", V(a));
a.Od = new Pi(c[0], d[0], e[0], b[0]);
a.bf = new Pi(c[1] ? c[1] : c[0], d[1] ? d[1] : d[0], e[1] ? e[1] : e[0], b[1] ? b[1] : b[0])
}
a = a.Od;
return !!(a.Oi || a.Pi || a.bh || a.ah)
};
U.prototype.yc = function(a) {
this.canvas.yc(a.left, a.top, a.width, a.height)
};
var ej = function(a) {
var b = {
x: !1,
y: !1
};
a = a.getStyle("backgroundRepeat");
if ("repeat" == a || "repeat-x" == a || "repeat no-repeat" == a) b.x = !0;
if ("repeat" == a || "repeat-y" == a || "no-repeat repeat" == a) b.y = !0;
return b
},
fj = function(a) {
a = a.getStyle("backgroundSize");
return "auto" == a ? "" : a
},
cj = function(a) {
a = a.getStyle("backgroundColor");
return "rgba(0, 0, 0, 0)" != a && "transparent" != a ? a : ""
},
dj = function(a) {
for (var b = a.getStyle("backgroundImage"), c = aj(a), d = [], e; e = Ri.exec(b);) 0 === e[0].indexOf("-moz-linear-gradient") || 0 === e[0].indexOf("-webkit-linear-gradient") ||
0 === e[0].indexOf("-ms-linear-gradient") || 0 === e[0].indexOf("linear-gradient") ? d.push(Li(e[0], c)) : 0 === e[0].indexOf("-webkit-gradient(linear,") && d.push(Ni(e[0], c));
F && (a = a.getStyle("filter") || a.getStyle("-ms-filter"), y(a, "gradient") && d.push(Oi(a, c)));
return d
},
hj = function(a) {
for (var b = J(a.element, "backgroundImage"), c, d = []; c = Ri.exec(b);) c = c[0], 0 === c.indexOf("-moz-") || 0 == c.indexOf("-webkit-") || 0 == c.indexOf("-ms-") || 0 == c.indexOf("linear-gradient") || 0 == c.indexOf("-webkit-gradient-") ? d.push("g") : d.push("i");
F && (a = a.getStyle("filter") || a.getStyle("-ms-filter"), y(a, "gradient") && d.push("g"));
return d
},
gj = function(a) {
var b = a.getStyle("backgroundPosition");
b || (b = a.getStyle("backgroundPositionX") + " " + a.getStyle("backgroundPositionY"));
return b.replace(/top|left/g, "0").replace(/right|bottom/g, "100%").replace(/center/g, "50%").split(", ")
};
U.prototype.getStyle = function(a) {
return J(this.element, a)
};
var ij = function(a, b) {
return parseInt(a.getStyle(b), 10) || 0
},
Yi = function(a) {
if (F && !G("9")) return 1;
a = parseFloat(a.getStyle("opacity"));
return isNaN(a) ? 1 : a
},
Zi = function(a) {
return F ? (a = (a.getStyle("filter").match(/alpha\(opacity=([\d.]+)\)/) || [])[1] / 100, isNaN(a) ? 1 : a) : 1
};
U.prototype.ve = function() {
return $i(this) && "auto" != this.getStyle("zIndex") || 1 > Yi(this)
};
U.prototype.pg = function() {
var a = Math.min(Yi(this), Zi(this));
this.canvas.pg(a)
};
U.prototype.hg = function() {
this.canvas.hg()
};
var kj = function(a, b, c, d) {
U.call(this, a, b, c, d);
this.Ti = Ge(this.getStyle("content"))
};
x(kj, U);
Ui(kj, [":before"]);
k = kj.prototype;
k.Ha = function() {
throw Error("Not Supported");
};
k.render = function(a, b) {
var c = lj(this);
return !(0 < c.width && 0 < c.height && "inline" == this.getStyle("display")) || ij(this, "marginLeft") || ij(this, "marginRight") || $i(this) || this.ve() ? b : kj.s.render.call(this, a, b)
};
k.He = function() {
this.Ti && hi(this.canvas, this.Ti, jj(this))
};
k.Qc = function() {
var a = lj(this),
b = document.createElement("gft");
b.style.display = "inline-block";
b.style.width = a.width + "px";
b.style.height = a.height + "px";
var c = this.element;
c.insertBefore(b, c.childNodes[0] || null);
var c = jj(this.parent),
d = xi(b);
this.element.removeChild(b);
d.left >= c.left + a.width ? d.left -= a.width : d.top = c.top;
return d
};
k.getStyle = function(a) {
return J(this.element, a, ":before")
};
var lj = function(a) {
a.Nh || (a.Nh = new bc(parseInt($h(a.element, "before-width"), 10), parseInt($h(a.element, "before-height"), 10)));
return a.Nh
};
var mj = function(a, b, c) {
U.call(this, null, a, b, c)
};
x(mj, U);
mj.prototype.Cf = function() {
return this.ra
};
mj.prototype.ve = function() {
return !0
};
mj.prototype.gc = function() {
return !1
};
var nj = function(a, b, c) {
this.Ra = a;
this.ka = b;
this.ra = c
};
nj.prototype.Ha = function(a, b) {
this.Zc = new mj(this.Ra.documentElement, this.ka, this.ra);
return this.Zc.Ha([], a, b)
};
nj.prototype.render = function(a, b) {
this.ka.yc(this.ra.left, this.ra.top, this.ra.width, this.ra.height);
return this.Zc.render(a, w(function() {
ji(this.ka);
return b
}, this))
};
var oj = function(a, b, c, d) {
U.call(this, a, b, c, d);
this.hd = new O(0, 0, 0, 0)
};
x(oj, U);
Ui(oj, ["IFRAME", "FRAME"]);
oj.prototype.Ha = function(a, b, c) {
this.ve() || $i(this) ? a.push(this) : this.parent.children.push(this);
a = Fe(this.element);
if (!a) return c;
this.Zc = new nj(a, this.canvas, this.hd);
return this.Zc.Ha(b, c)
};
oj.prototype.Ma = function(a, b) {
function c() {
return oj.s.Ma.call(d, a, b)
}
var d = this;
if (!this.Zc) return this.canvas.fillRect(V(this), "#ffe5e5"), c;
pj(this);
return this.Zc.render(a, c)
};
oj.prototype.gc = function() {
return !1
};
var pj = function(a) {
var b = V(a);
a.hd.top = b.top;
a.hd.left = b.left;
a.hd.width = b.width;
a.hd.height = b.height
};
var qj = function(a, b, c, d) {
U.call(this, a, b, c, d)
};
x(qj, U);
Ui(qj, ["CANVAS", "IMG", "SVG"]);
qj.prototype.He = function() {
var a = $h(this.element, "src");
if (a) hi(this.canvas, a, jj(this));
else if (this.element.src) hi(this.canvas, this.element.src, jj(this));
else if (this.element.toDataURL) try {
var b = this.element.toDataURL("image/png");
hi(this.canvas, b, V(this))
} catch (c) {} else -1 < this.element.tagName.search(/svg/i) && !Ie(this.element) && (a = this.element.getAttribute("google-feedback-svg-id"), b = jj(this), this.canvas.S[0].push([9, [a, b.left, b.top, b.width, b.height]]))
};
var sj = function(a, b, c, d) {
U.call(this, a, b, c, d);
a = rj;
this.Qf = this.element.type.toLowerCase();
this.tc = a[this.Qf] || 0
};
x(sj, U);
Ui(sj, ["INPUT"]);
var rj = {
text: 0,
button: 1,
reset: 1,
submit: 1,
radio: 2,
checkbox: 2,
image: 3
};
k = sj.prototype;
k.He = function() {
switch (this.tc) {
case 2:
var a = aj(this).left,
b = aj(this).top;
F ? (a += 5, b += 5) : jc && (b += 2);
this.canvas.S[0].push([6, [("radio" == this.Qf ? 0 : 4) + (this.element.disabled ? 2 : 0) + (this.element.checked ? 1 : 0), a, b]]);
break;
case 3:
this.element.src && hi(this.canvas, this.element.src, jj(this));
break;
default:
this.wi()
}
};
k.Bf = function() {
return 2 == this.tc || 3 == this.tc ? new N(0, 0, 0, 0) : new N(1, 1, 1, 1)
};
k.ui = function() {
if (2 != this.tc && 3 != this.tc) {
var a = aj(this);
this.canvas.S[0].push([3, [a.left, a.top, a.width, a.height, "#aaa"]])
}
};
k.ti = function() {
if (2 != this.tc) {
var a = "#fff";
1 == this.tc ? a = this.element.disabled ? "#eee" : "#ddd" : this.element.disabled && (a = "#ddd");
this.canvas.fillRect(aj(this), a)
}
};
k.sa = function() {
return Be(this.element.value || "", this.getStyle("textTransform"))
};
k.wi = function() {
var a = this.sa(),
b = "#000",
c = zi(this.element),
d = aj(this).clone(),
e = Ai(this.element),
f = yi(this.element);
"password" == this.Qf && (a = Ua("*", a.length));
this.element.disabled && (b = "#808080");
var g = Math.round((d.height - e - 4) / 2);
d.top += g;
d.height -= g;
d.left += 4;
d.width -= 4;
this.yc(d);
this.canvas.S[0].push([5, [a, d.left, d.top, c, e, d.width, b, f, !1, !1]]);
ji(this.canvas)
};
var tj = function(a, b, c, d) {
sj.call(this, a, b, c, d)
};
x(tj, sj);
Ui(tj, ["SELECT"]);
tj.prototype.sa = function() {
var a = this.element.options[this.element.selectedIndex];
return !this.element.multiple && a ? Be(a.text || "", this.getStyle("textTransform")) : ""
};
var uj = {
APPLET: !0,
AREA: !0,
BUTTON: !0,
EMBED: !0,
HEAD: !0,
INPUT: !0,
MAP: !0,
NOFRAMES: !0,
NOSCRIPT: !0,
OBJECT: !0,
OPTGROUP: !0,
OPTION: !0,
PARAM: !0,
SCRIPT: !0,
SELECT: !0,
STYLE: !0,
TEXTAREA: !0,
TITLE: !0,
TEXT: !0
};
Math.floor(2147483648 * Math.random()).toString(36);
Math.abs(Math.floor(2147483648 * Math.random()) ^ Ea()).toString(36);
var vj = function(a) {
var b = a.ownerDocument,
c = b.createElement("GFT"),
d = a.nodeValue,
e = d.match(/^([\s\xa0]+)/);
e && a.parentNode.insertBefore(b.createTextNode(e[1]), a);
(e = d.match(/([\s\xa0]+)$/)) && a.parentNode.insertBefore(b.createTextNode(e[1]), a.nextSibling);
a.parentNode.replaceChild(c, a);
a.nodeValue = La(d);
c.appendChild(a)
},
wj = function(a, b) {
if (!u(a.tagName)) return !1;
var c = a.getAttribute("class");
return c && -1 < c.indexOf("material-icons") ? !1 : !(a.tagName.toUpperCase() in uj) && 3 == b.nodeType && !Ka(b.nodeValue)
};
var xj = function(a, b, c, d) {
U.call(this, a, b, c, d)
};
x(xj, U);
Ui(xj, ["GFT"]);
var yj = document.createElement("canvas"),
zj = yj.getContext && yj.getContext("2d").measureText,
Aj = t(document.createElement("body").createTextRange);
xj.prototype.render = function(a, b) {
if (Tf(aj(this), this.canvas.Qc()) && !ui(a) && this.Uf())
if (zj) {
var c = document.createElement("canvas").getContext("2d");
c.font = Bj(this);
for (var d = this.ce(), e = this.element.getClientRects(), f = this.sa(), g = "", h = 0, l = e.length; h < l && f.length; ++h, g = "") {
for (var m = Math.floor(e[h].width), n = Math.floor(e[h].left), p = Math.floor(e[h].top), f = La(f); f.length && c.measureText(g).width < m;) g += f.charAt(0), f = f.substr(1);
d(g, n, p, m)
}
} else if (Aj) a: {
c = this.ce();d = Ai(this.element);e = H(this.element).body.createTextRange();
try {
e.moveToElementText(this.element)
} catch (v) {
break a
}
e.moveStart("character");e.moveStart("character", -1);f = e.duplicate();e.collapse();
for (e.moveEnd("word"); - 1 == e.compareEndPoints("StartToEnd", f);) {
1 == e.compareEndPoints("EndToEnd", f) && e.setEndPoint("EndToEnd", f);
Ka(e.text) || (g = e.boundingTop, e.boundingHeight > 2 * d && (g += e.boundingHeight - d - 10), c(e.text, e.boundingLeft, g, e.boundingWidth));
if (0 == e.moveEnd("word")) break;
e.moveStart("word")
}
}
return b
};
var Bj = function(a) {
return [yi(a.element), a.getStyle("fontStyle"), Ai(a.element) + "px", zi(a.element)].join(" ")
};
xj.prototype.ce = function() {
var a = this,
b = Ai(this.element),
c = zi(this.element),
d = this.getStyle("color"),
e = yi(this.element),
f = "italic" == this.getStyle("fontStyle"),
g = this.getStyle("textTransform"),
h = y(J(this.element.parentNode, "textDecoration"), "underline");
return function(l, m, n, p) {
m += a.ra.left;
n += a.ra.top;
l = Be(l, g);
a.canvas.S[0].push([5, [l, m, n, c, b, p, d, e, f, h]])
}
};
xj.prototype.sa = function() {
return this.element.firstChild ? Ja(this.element.firstChild.nodeValue || "") : ""
};
var Cj = function(a, b, c, d) {
sj.call(this, a, b, c, d)
};
x(Cj, sj);
Ui(Cj, ["TEXTAREA"]);
Cj.prototype.wi = function() {
if (Dj(this, "test")) {
var a = this.ce(),
b = V(this),
c = b.top - this.element.scrollTop,
d = b.left,
e = Ai(this.element),
f = this.sa() + "\n",
g = "";
this.yc(V(this));
for (var h = 0; h < f.length; ++h)
if ("\n" == f.charAt(h)) a(g, d, c, Dj(this, g)), c += e, g = "";
else {
var g = g + f.charAt(h),
l = Dj(this, g);
if (l > b.width) {
for (var m = g.length - 1; 0 < m && !/\s/.test(g.charAt(m)); --m);
m = m || g.length - 1;
a(g.substring(0, m), d, c, l);
c += e;
g = La(g.substring(m))
}
}
ji(this.canvas)
}
};
Cj.prototype.ce = function() {
var a = this,
b = this.element,
c = Ai(b),
d = zi(b),
e = "#000",
f = yi(b),
g = "italic" == this.getStyle("fontStyle");
this.element.disabled && (e = "#808080");
return function(b, l, m, n) {
a.canvas.S[0].push([5, [b, l, m, d, c, n, e, f, g, !1]])
}
};
var Dj = function(a, b) {
var c = document.body,
d = document.createElement("SPAN");
d.setAttribute("style", "font: " + Bj(a));
if ("textContent" in d) d.textContent = b;
else if (3 == d.nodeType) d.data = b;
else if (d.firstChild && 3 == d.firstChild.nodeType) {
for (; d.lastChild != d.firstChild;) d.removeChild(d.lastChild);
d.firstChild.data = b
} else Oc(d), d.appendChild(H(d).createTextNode(String(b)));
c.appendChild(d);
c = d.getClientRects()[0];
Pc(d);
return c ? c.width ? c.width : c.right - c.left : 0
};
var Ej = function(a, b, c, d, e, f, g) {
var h = new O(0, 0, b, c),
l = new nj(a, g, h),
m = function(a, b) {
g.Cb();
var c;
if (u(a)) c = a;
else {
try {
var d;
var e = qa("window.location.href");
if (u(a)) d = {
message: a,
name: "Unknown error",
lineNumber: "Not available",
fileName: e,
stack: "Not available"
};
else {
var f, h, l = !1;
try {
f = a.lineNumber || a.Wf || "Not available"
} catch (cf) {
f = "Not available", l = !0
}
try {
h = a.fileName || a.filename || a.sourceURL || r.$googDebugFname || e
} catch (cf) {
h = "Not available", l = !0
}
d = !l && a.lineNumber && a.fileName && a.stack && a.message &&
a.name ? a : {
message: a.message || "Not available",
name: a.name || "UnknownError",
lineNumber: f,
fileName: h,
stack: a.stack || "Not available"
}
}
var m;
var n = d.fileName;
null != n || (n = "");
if (/^https?:\/\//i.test(n)) {
var p = Qb(n);
D("view-source scheme plus HTTP/HTTPS URL");
var Eb = "view-source:" + Nb(p);
m = Pb(Eb)
} else {
var ha = D("sanitizedviewsrc");
m = Pb(Bb(ha))
}
var sl = Wb("Message: " + d.message + "\nUrl: "),
Qh, e = {
href: m,
target: "_new"
},
fc = d.fileName;
if (!Xb.test("a")) throw Error("Invalid tag name <a>.");
if ("A" in Zb) throw Error("Tag name <a> is not allowed for SafeHtml.");
f = null;
var Fd;
h = "";
if (e)
for (var Gd in e) {
if (!Xb.test(Gd)) throw Error('Invalid attribute name "' + Gd + '".');
var Rh = e[Gd];
if (null != Rh) {
var l = h,
Sh;
m = Gd;
n = Rh;
if (n instanceof Ab) n = Bb(n);
else if ("style" == m.toLowerCase()) {
Eb = p = void 0;
ha = n;
if (!xa(ha)) throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, ' + typeof ha + " given: " + ha);
if (!(ha instanceof Db)) {
var Th = ha,
df = "";
for (Eb in Th) {
if (!/^[-_a-zA-Z0-9]+$/.test(Eb)) throw Error("Name allows only [-_a-zA-Z0-9], got: " + Eb);
var Aa = Th[Eb];
if (null != Aa) {
if (Aa instanceof Ab) Aa = Bb(Aa);
else if (Gb.test(Aa)) {
for (var Hd = !0, Id = !0, ef = 0; ef < Aa.length; ef++) {
var Uh = Aa.charAt(ef);
"'" == Uh && Id ? Hd = !Hd : '"' == Uh && Hd && (Id = !Id)
}
Hd && Id || (Aa = "zClosurez")
} else Aa = "zClosurez";
df += Eb + ":" + Aa + ";"
}
}
ha = df ? (new Db).ue(df) : Fb
}
ha instanceof Db && ha.constructor === Db && ha.Zi === Cb ? p = ha.jg : (sa(ha), p = "type_error:SafeStyle");
n = p
} else {
if (/^on/i.test(m)) throw Error('Attribute "' + m + '" requires goog.string.Const value, "' + n + '" given.');
if (m.toLowerCase() in Yb)
if (n instanceof Ib) n = Jb(n);
else if (n instanceof Mb) n = Nb(n);
else if (u(n)) n = Qb(n).ec();
else throw Error('Attribute "' + m + '" on tag "a" requires goog.html.SafeUrl, goog.string.Const, or string, value "' + n + '" given.');
}
n.rc && (n = n.ec());
Sh = m + '="' + Ta(String(n)) + '"';
h = l + (" " + Sh)
}
}
Fd = "<a" + h;
null != fc ? ta(fc) || (fc = [fc]) : fc = [];
if (!0 === ub.a) Fd += ">";
else {
var Vh = $b(fc);
Fd += ">" + Tb(Vh) + "</a>";
f = Vh.Pc()
}
var Wh = e && e.dir;
Wh && (f = /^(ltr|rtl|auto)$/i.test(Wh) ? 0 : null);
Qh = Ub(Fd, f);
c = $b(sl, Qh, Wb("\nLine: " + d.lineNumber + "\n\nBrowser stack:\n" +
d.stack + "-> [end]\n\nJS stack traversal:\n" + ne(void 0) + "-> "))
} catch (cf) {
c = Wb("Exception trying to expose exception! You win, we lose. " + cf)
}
c = Tb(c)
}
b(!1, "error in createRenderer: " + c)
};
d.onError = function(a) {
m(a, f)
};
f = ih(f);
d.nd(l.Ha(e, function() {
f(!0)
}));
return function(a, b, c, d) {
h.top = b.top;
h.left = b.left;
h.width = b.width;
h.height = b.height;
var f = ih(d);
a.onError = function(a) {
m(a, f)
};
a.nd(l.render(c, function() {
var a = g.toDataURL();
g.Cb();
e.Mi = 0;
f(!0, a)
}))
}
};
var Fj = function(a, b) {
K.call(this);
this.Mf = {};
this.Nj = 0;
this.Li = {};
this.Ya = new Q;
this.ua = new Fh("*", qd(this.Ya));
bf(this, this.ua);
this.ua.open();
this.la = b;
this.Ua = a
};
x(Fj, K);
Fj.prototype.initialize = function(a, b) {
this.Ya.Ka || (this.wa = b.createElement("iframe"), this.wa.setAttribute("frameborder", "0"), this.wa.style.top = "-3px", this.wa.style.left = "-3px", this.wa.style.width = "4px", this.wa.style.height = "4px", this.wa.style.zIndex = "3000000", this.wa.style.border = 0, this.wa.style.position = "absolute", this.wa.style.verticalAlign = "bottom", this.wa.id = "google-feedback-render-frame", this.wa.src = a.toString(), Lf(this.wa, "load", function() {
var a = Wc(this.wa);
a ? this.Ya.callback(new Eh(a)) : this.Ya.Y()
}, !1, this), b.sb().body.appendChild(this.wa))
};
var Gj = function(a, b) {
b.qc();
var c = {};
Ud(b, function(a) {
if (!(a in this.Mf)) {
var b = this.Nj++;
this.Mf[a] = b;
c[b] = Ha(a, "data:") ? a : "/gadgets/proxy?container=fbk&rewriteMime=image/*&url=" + encodeURIComponent(a);
ei(a) && di(a, w(function(a) {
var c = {};
c[b] = a;
this.ua.send(new li(c))
}, this))
}
}, a);
qb(c) || a.ua.send(new li(c))
},
Hj = function(a, b) {
b.qc();
Ud(b, function(a, b) {
if (!(b in this.Li)) {
this.Li[b] = a;
var c = {};
c[b] = a;
this.ua.send(new ri(c))
}
}, a)
},
Ij = function(a, b) {
a.ua.send(new ki(b))
},
Jj = function(a, b) {
a.ua.send(new mi(b))
};
Fj.prototype.render = function(a, b, c, d) {
function e() {
f.Ka || (f.za(), Lg(e))
}
var f = nh(new mh(void 0, this), 10),
g = Ic(document),
h = Kj(a),
l = Lj(b || [], g, "blackout"),
m = Lj(b || [], g, "highlight"),
n = new gi(this.Mf),
p = new O(-g.x, -g.y, h.width + g.x, h.height + g.y);
n.resize(h);
e();
a = Mj(this, a, n, h);
R(a, function(a) {
return R(Nj(this, a, p), function() {
return Oj(this, n.S[0], h, m, l, c || 0, d || 0)
}, this)
}, this);
R(a, f.callback, f);
S(a, f.Y, f);
return f
};
var Mj = function(a, b, c, d) {
a.la.reset();
Xe(a.Ua, "create_screenshot_renderer");
var e = Date.now(),
f = new Q(void 0, a),
g = new lh(500),
h = new ti(Ea() + 6E4),
l = Ej(b, d.width, d.height, g, h, function(a, b) {
a ? f.callback(l) : f.Y(b)
}, c);
R(f, function() {
this.la.tick("rer");
Ye(this.Ua, "create_screenshot_renderer", Date.now() - e)
}, a);
S(f, function() {
Ze(this.Ua, "create_screenshot_renderer", Date.now() - e)
}, a);
return f
},
Nj = function(a, b, c) {
var d = new Q(void 0, a);
a = new lh(500);
var e = new ti(Ea() + 3E4);
b(a, c, e, function(a, b) {
a ? d.callback(b) :
d.Y(b)
});
return d
},
Oj = function(a, b, c, d, e, f, g) {
Xe(a.Ua, "render_screenshot");
var h = Date.now();
b = gh(qd(a.ua.send(new ni(b, c, d, e, f, g), 3E4)));
R(b, function(a) {
this.la.tick("rs");
this.la.report();
Ye(this.Ua, "render_screenshot", Date.now() - h);
this.Ek = a.tg;
return new si(a.mi, c)
}, a);
S(b, function() {
this.la.tick("rf");
this.la.report();
Ze(this.Ua, "render_screenshot", Date.now() - h)
}, a);
return b
},
Lj = function(a, b, c) {
a = $a(a, function(a) {
return a.Ca == c
});
return ab(a, function(a) {
a = a.V();
return new O(a.left - b.x, a.top - b.y,
a.width, a.height)
})
},
Kj = function(a) {
a = Ec(Jc(a));
var b = Ec();
a = new bc(Math.min(a.width, b.width), Math.min(a.height, b.height));
b = a.width * a.height;
1E7 < b && (a.height -= Math.ceil((b - 1E7) / a.width));
return a
};
if (F && F) try {
new ActiveXObject("MSXML2.DOMDocument")
} catch (a) {};
var Pj = ["https://ssl.gstatic.com", "https://www.gstatic.com", "https://fonts.googleapis.com"];
var Qj = function(a) {
this.Ab = a || new O(0, 0, 0, 0);
this.ee = this.de = !1;
this.Qi = !0;
this.Id = this.ld = null;
this.Pe = []
};
Qj.prototype.V = function() {
return this.Ab
};
Qj.prototype.Hd = function(a) {
Rj(this);
this.Ab = a
};
var Sj = function(a, b) {
Rj(a);
a.de = b
},
Tj = function(a, b) {
Rj(a);
a.ee = b
};
Qj.prototype.getData = function() {
return this.nc
};
Qj.prototype.setData = function(a) {
this.nc = a
};
var Uj = function(a, b) {
if (b.Id) throw Error("Layer already has superlayer.");
b.Id = a;
a.Pe.push(b);
Rj(a)
},
Vj = function(a) {
if (!a.ld) {
var b = a.V(),
c = b.clone();
a.de && a.ee || Ld(a.Pe, function(a) {
a = Vj(a);
a = new O(b.left + a.left, b.top + a.top, a.width, a.height);
var d = !this.ee;
if (!this.de) {
var f = Math.max(c.left + c.width, a.left + a.width);
c.left = Math.min(c.left, a.left);
c.width = f - c.left
}
d && (d = Math.max(c.top + c.height, a.top + a.height), c.top = Math.min(c.top, a.top), c.height = d - c.top)
}, a);
a.ld = c
}
return a.ld
},
Rj = function(a) {
for (; a &&
a.ld;) a.ld = null, a = a.Id
};
Qj.prototype.toString = function() {
return this.Ab.toString()
};
Qj.prototype.If = function(a) {
if (!Vj(this).contains(a)) return null;
for (var b = null, c = this.Pe, d = c.length - 1, e = this.V(); !b && 0 <= d;) b = c[d--].If(new E(a.x - e.left, a.y - e.top));
b || this.Qi || !this.V().contains(a) || (b = this);
return b
};
var Wj = function(a, b, c) {
var d = [],
e = Vj(a);
if (!Tf(e, b)) return d;
if (b.contains(e) && !bb(c, function(a) {
return Tf(a, e)
})) return d.push(a), d;
var f = a.V();
B(a.Pe, function(a) {
var e = new O(b.left - f.left, b.top - f.top, b.width, b.height),
g = ab(c, function(a) {
return new O(a.left - f.left, a.top - f.top, a.width, a.height)
});
d = eb(d, Wj(a, e, g))
}, a);
return d
};
var Xj = function() {};
Xj.prototype.Ha = function(a) {
return Yj(this, a.documentElement, null)
};
var Yj = function(a, b, c) {
if ("none" == b.display) return null;
var d = b.tagName.toLowerCase(),
e = !c || "static" != b.position && b.zIndex && "auto" != b.zIndex,
f = Zj(b),
g = new Qj;
g.setData(b);
"body" != d && "html" != d ? (Sj(g, "visible" != b.overflowX), Tj(g, "visible" != b.overflowY)) : (Sj(g, !1), Tj(g, !1));
g.Qi = "hidden" == b.visibility || !f && !b.td;
var h = new ak;
h.element = b;
h.Th = g;
h.origin = new E(b.rect.left, b.rect.top);
h.xg = e ? h : c.xg;
f = null;
e ? (e = b.zIndex || "auto" == b.zIndex ? 0 : parseInt(b.zIndex, 10), h.dg = 0 <= e ? e + 1 : e, c && (f = c.xg)) : f = c;
(h.ik = f) ?
(g.Hd(new O(b.rect.left - f.origin.x, b.rect.top - f.origin.y, b.rect.width, b.rect.height)), f.tf.push(h)) : g.Hd(b.rect);
if ("hidden" == b.visibility || "select" == d || "button" == d || "textarea" == d || "input" == d) return g;
Ld(b.children, function(a) {
"string" != typeof a && Yj(this, a, h)
}, a);
b.bc && (Sj(g, !0), Tj(g, !0), (b = a.Ha(b.bc)) && Uj(g, b));
lb(h.tf, bk);
Ld(h.tf, function(a) {
Uj(g, a.Th)
}, a);
return g
},
Zj = function(a) {
var b = a.tagName.toLowerCase();
if ("img" == b || "embed" == b || "object" == b || "button" == b || "input" == b || "select" == b || "textarea" ==
b || "video" == b) return !0;
var c = !1;
Ld(a.children, function(a) {
if ("string" == typeof a && !Ka(a)) throw c = !0, Ed;
});
return c
},
ak = function() {
this.ik = null;
this.tf = [];
this.dg = 0;
this.xg = this.origin = this.Th = this.element = null
},
bk = function(a) {
return jb(a.dg, a.dg)
};
var ck = function(a, b) {
this.contentType = a;
this.ij = b
};
ck.prototype.toDataUrl = function() {
return "data:" + this.contentType + ";base64," + this.ij
};
var gk = function(a, b, c, d) {
var e = [],
f = new Set,
g = fb(dk(c)),
h = new Map,
l = [];
B(g, function(a) {
var b = a.Ca;
"blackout" == b ? e.push(a.V()) : "highlight" == b && ((b = a.F()) ? (h.set(a, b), f.add(b)) : l.push(a))
});
B(l, function(a) {
B(ek(b, a, h, e), function(a) {
g.push(a);
a = h.get(a);
f.add(a)
})
});
var m = new Map;
Bg(d.document.documentElement, f, m, []);
var n = [];
B(g, function(a) {
if ("highlight" == a.Ca) {
var b = null,
c = null,
d = [],
f = h.get(a);
if (f) {
fk(e, a.V()) || (b = f.Eh(), f.Wd && d.push(f.Wd));
for (c = f.parentElement; c && !fk(e, c.rect);) c.Wd && d.push(c.Wd),
c = c.parentElement;
c = m.get(f) || null
}
a = new Dg(a.clone(), b, c, d);
n.push(a)
}
});
B(n, function(b) {
b = b.$.V();
b.left -= a.x;
b.top -= a.y
});
return n
},
fk = function(a, b) {
return bb(a, function(a) {
return Tf(b, a)
})
},
ek = function(a, b, c, d) {
b = b.V();
a = Wj(a, b, d);
var e = [];
B(a, function(a) {
var b = a.getData();
if (b) {
var d;
a: for (d = a.V().clone(), a = a.Id; a;) {
var f = a.V();
d.left += f.left;
d.top += f.top;
var m = d,
n = a.de,
p = a.ee,
v = 0,
q = 0;
n && (v = Math.max(m.left, f.left), q = Math.min(m.left + m.width, f.left + f.width));
var A = 0,
z = 0;
p && (A = Math.max(m.top, f.top),
z = Math.min(m.top + m.height, f.top + f.height));
if (f = (!n || v <= q) && (!p || A <= z)) n && (m.left = v, m.width = q - v), p && (m.top = A, m.height = z - A);
if (!f) {
d = null;
break a
}
a = a.Id
}
d = new Cg("highlight", d);
e.push(d);
c.set(d, b)
}
});
return e
};
var hk = function(a, b, c) {
M.call(this);
this.target = a;
this.handle = b || a;
this.Vh = c || new O(NaN, NaN, NaN, NaN);
this.J = H(a);
this.va = new Mg(this);
bf(this, this.va);
this.deltaY = this.deltaX = this.Ji = this.Ii = this.screenY = this.screenX = this.clientY = this.clientX = 0;
this.$a = !0;
this.oc = !1;
this.li = !0;
this.Jh = 0;
this.Gg = this.Mj = !1;
L(this.handle, ["touchstart", "mousedown"], this.Hi, !1, this)
};
x(hk, M);
var ik = r.document && r.document.documentElement && !!r.document.documentElement.setCapture && !!r.document.releaseCapture;
hk.prototype.zh = function() {
return this.va
};
hk.prototype.Je = function(a) {
this.$a = a
};
hk.prototype.X = function() {
hk.s.X.call(this);
Mf(this.handle, ["touchstart", "mousedown"], this.Hi, !1, this);
this.va.Yc();
ik && this.J.releaseCapture();
this.handle = this.target = null
};
var jk = function(a) {
t(a.sg) || (a.sg = "rtl" == Zf(a.target, "direction"));
return a.sg
};
hk.prototype.Hi = function(a) {
var b = "mousedown" == a.type;
if (!this.$a || this.oc || b && (!(pf ? 0 == a.$b.button : "click" == a.type || a.$b.button & tf[0]) || kc && mc && a.ctrlKey)) this.dispatchEvent("earlycancel");
else {
if (0 == this.Jh)
if (this.dispatchEvent(new kk("start", this, a.clientX, a.clientY, a))) this.oc = !0, this.li && b && a.preventDefault();
else return;
else this.li && b && a.preventDefault();
var b = this.J,
c = b.documentElement,
d = !ik;
this.va.listen(b, ["touchmove", "mousemove"], this.Jj, d);
this.va.listen(b, ["touchend", "mouseup"], this.ie,
d);
ik ? (c.setCapture(!1), this.va.listen(c, "losecapture", this.ie)) : this.va.listen(Jc(b), "blur", this.ie);
F && this.Mj && this.va.listen(b, "dragstart", of );
this.Bk && this.va.listen(this.Bk, "scroll", this.ak, d);
this.clientX = this.Ii = a.clientX;
this.clientY = this.Ji = a.clientY;
this.screenX = a.screenX;
this.screenY = a.screenY;
this.Gg ? (a = this.target, b = a.offsetLeft, c = a.offsetParent, c || "fixed" != Zf(a, "position") || (c = H(a).documentElement), c ? (jc ? (d = kg(c), b += d.left) : 8 <= Number(vc) && !(9 <= Number(vc)) && (d = kg(c), b -= d.left), a = "rtl" ==
Zf(c, "direction") ? c.clientWidth - (b + a.offsetWidth) : b) : a = b) : a = this.target.offsetLeft;
this.deltaX = a;
this.deltaY = this.target.offsetTop;
this.fg = Ic(Ac(this.J).J)
}
};
hk.prototype.ie = function(a) {
this.va.Yc();
ik && this.J.releaseCapture();
this.oc ? (this.oc = !1, this.dispatchEvent(new kk("end", this, a.clientX, a.clientY, a, lk(this, this.deltaX), mk(this, this.deltaY)))) : this.dispatchEvent("earlycancel")
};
hk.prototype.Jj = function(a) {
if (this.$a) {
var b = (this.Gg && jk(this) ? -1 : 1) * (a.clientX - this.clientX),
c = a.clientY - this.clientY;
this.clientX = a.clientX;
this.clientY = a.clientY;
this.screenX = a.screenX;
this.screenY = a.screenY;
if (!this.oc) {
var d = this.Ii - this.clientX,
e = this.Ji - this.clientY;
if (d * d + e * e > this.Jh)
if (this.dispatchEvent(new kk("start", this, a.clientX, a.clientY, a))) this.oc = !0;
else {
this.isDisposed() || this.ie(a);
return
}
}
c = nk(this, b, c);
b = c.x;
c = c.y;
this.oc && this.dispatchEvent(new kk("beforedrag", this, a.clientX,
a.clientY, a, b, c)) && (ok(this, a, b, c), a.preventDefault())
}
};
var nk = function(a, b, c) {
var d = Ic(Ac(a.J).J);
b += d.x - a.fg.x;
c += d.y - a.fg.y;
a.fg = d;
a.deltaX += b;
a.deltaY += c;
return new E(lk(a, a.deltaX), mk(a, a.deltaY))
};
hk.prototype.ak = function(a) {
var b = nk(this, 0, 0);
a.clientX = this.clientX;
a.clientY = this.clientY;
ok(this, a, b.x, b.y)
};
var ok = function(a, b, c, d) {
a.mh(c, d);
a.dispatchEvent(new kk("drag", a, b.clientX, b.clientY, b, c, d))
},
lk = function(a, b) {
var c = a.Vh,
d = isNaN(c.left) ? null : c.left,
c = isNaN(c.width) ? 0 : c.width;
return Math.min(null != d ? d + c : Infinity, Math.max(null != d ? d : -Infinity, b))
},
mk = function(a, b) {
var c = a.Vh,
d = isNaN(c.top) ? null : c.top,
c = isNaN(c.height) ? 0 : c.height;
return Math.min(null != d ? d + c : Infinity, Math.max(null != d ? d : -Infinity, b))
};
hk.prototype.mh = function(a, b) {
this.Gg && jk(this) ? this.target.style.right = a + "px" : this.target.style.left = a + "px";
this.target.style.top = b + "px"
};
var kk = function(a, b, c, d, e, f, g) {
nf.call(this, a);
this.clientX = c;
this.clientY = d;
this.sf = e;
this.left = t(f) ? f : b.deltaX;
this.top = t(g) ? g : b.deltaY
};
x(kk, nf);
var pk = function(a, b, c) {
this.N = a;
this.$ = b;
this.xc = c;
this.le = !1;
L(this.$, "boundsChanged", function() {
this.N.T && this.Da()
}, !1, this)
};
pk.prototype.Ib = null;
pk.prototype.Le = function(a) {
this.xc = a;
this.N.T && this.Da()
};
var rk = function(a, b) {
(a.le = b) && a.N.T && (qk(a, a.ga), qk(a, a.gb), qk(a, a.na));
a.N.T && a.Da()
};
k = pk.prototype;
k.Yb = function() {
var a = this.N.Z(),
b = this.$.Ca;
"highlight" == b ? (this.bb = a.createElement("div"), this.bb.style.position = "absolute", this.bb.style.backgroundColor = "white", this.bb.className = "gfeedback-annotation-indicator", fg(this.bb, .1), this.N.ac.appendChild(this.bb)) : "blackout" == b && (this.jb = a.createElement("div"), this.jb.style.position = "absolute", this.jb.style.backgroundColor = "black", this.jb.className = "gfeedback-annotation-indicator", this.N.Ub.appendChild(this.jb));
this.ga = a.createElement("div");
this.ga.style.position =
"absolute";
this.N.yb.appendChild(this.ga);
this.gb = a.createElement("div");
this.gb.style.position = "absolute";
this.N.yb.appendChild(this.gb);
this.na = a.createElement("div");
this.na.style.position = "absolute";
this.na.style.width = "24px";
this.na.style.height = "24px";
this.na.style.cursor = "pointer";
a = this.na.style;
F && !G("8") ? a.filter = 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23FFFFFF%22%3E%3Cpath%20d%3D%22M12%202C6.47%202%202%206.47%202%2012s4.47%2010%2010%2010%2010-4.47%2010-10S17.53%202%2012%202zm5%2013.59L15.59%2017%2012%2013.41%208.41%2017%207%2015.59%2010.59%2012%207%208.41%208.41%207%2012%2010.59%2015.59%207%2017%208.41%2013.41%2012%2017%2015.59z%22%2F%3E%3Cpath%20d%3D%22M12%202m5%2013.59L15.59%2017%2012%2013.41%208.41%2017%207%2015.59%2010.59%2012%207%208.41%208.41%207%2012%2010.59%2015.59%207%2017%208.41%2013.41%2012%2017%2015.59z%22%20fill%3D%22%23757575%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E", sizingMethod="crop")' :
(a.backgroundImage = "url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224px%22%20height%3D%2224px%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23FFFFFF%22%3E%3Cpath%20d%3D%22M12%202C6.47%202%202%206.47%202%2012s4.47%2010%2010%2010%2010-4.47%2010-10S17.53%202%2012%202zm5%2013.59L15.59%2017%2012%2013.41%208.41%2017%207%2015.59%2010.59%2012%207%208.41%208.41%207%2012%2010.59%2015.59%207%2017%208.41%2013.41%2012%2017%2015.59z%22%2F%3E%3Cpath%20d%3D%22M12%202m5%2013.59L15.59%2017%2012%2013.41%208.41%2017%207%2015.59%2010.59%2012%207%208.41%208.41%207%2012%2010.59%2015.59%207%2017%208.41%2013.41%2012%2017%2015.59z%22%20fill%3D%22%23757575%22%2F%3E%3Cpath%20d%3D%22M0%200h24v24H0z%22%20fill%3D%22none%22%2F%3E%3C%2Fsvg%3E)",
a.backgroundPosition = "top left", a.backgroundRepeat = "no-repeat");
this.N.Wb.appendChild(this.na);
L(this.ga, "mouseover", this.cg, !1, this);
L(this.ga, "mouseout", this.bg, !1, this);
L(this.gb, "mouseover", this.cg, !1, this);
L(this.gb, "mouseout", this.bg, !1, this);
L(this.na, "mouseover", this.cg, !1, this);
L(this.na, "mouseout", this.bg, !1, this);
L(this.na, "click", this.Yj, !1, this);
this.Da()
};
k.V = function() {
var a = this.$.V().clone(),
b = a.left + a.width,
c = a.top + a.height;
a.left = Math.round(a.left);
a.top = Math.round(a.top);
a.width = Math.round(b) - a.left;
a.height = Math.round(c) - a.top;
a.width = Math.max(a.width, 2);
a.height = Math.max(a.height, 2);
return a
};
k.Da = function() {
var a = this.V();
this.bb && (ag(this.bb, a.left, a.top), cg(this.bb, a.width, a.height), this.bb.style.backgroundColor = this.le ? "#0044FF" : "white");
this.jb && (ag(this.jb, a.left, a.top), cg(this.jb, a.width, a.height), fg(this.jb, this.xc ? .5 : this.le ? .8 : 1));
ag(this.ga, a.left, a.top);
cg(this.ga, a.width, a.height);
var b = eg(this.na),
c = eg(this.N.F()),
d = this.N.Z().sb().body.getAttribute("dir"),
a = new E("rtl" == d ? a.left - b.width / 2 : a.left + a.width - b.width / 2, a.top - b.height / 2);
a.x = Math.max(-7, a.x);
a.y = Math.max(-7, a.y);
a.x = Math.min(c.width - 23, a.x);
a.y = Math.min(c.height - 23, a.y);
ag(this.na, a.x, a.y);
ag(this.gb, a.x, a.y);
cg(this.gb, b.width, b.height);
this.xc ? (this.ga.style.display = "none", this.gb.style.visibility = "hidden") : (this.ga.style.display = "block", this.gb.style.visibility = "visible");
this.na.style.visibility = this.le && this.N.isEnabled() ? "visible" : "hidden"
};
k.Ed = function() {
var a = this.N.Z();
this.bb && a.removeNode(this.bb);
this.jb && a.removeNode(this.jb);
a.removeNode(this.ga);
a.removeNode(this.gb);
a.removeNode(this.na)
};
k.cg = function(a) {
this.N.isEnabled() && rk(this, (a.target == this.gb || a.target == this.na || a.target == this.ga) && !this.N.Za)
};
k.bg = function() {
this.N.isEnabled() && rk(this, !1)
};
k.Yj = function(a) {
this.N.isEnabled() && a.target == this.na && sk(this.N, this)
};
var qk = function(a, b) {
F || a.N.Z().appendChild(b.parentNode, b)
};
var tk = function() {};
tk.prototype.If = function(a) {
return uk(this, a)
};
var W = function(a) {
P.call(this, a);
this.Tb = [];
this.fe = "default"
};
x(W, P);
k = W.prototype;
k.Ib = null;
k.tg = null;
k.Bi = !1;
k.eb = null;
k.Za = null;
k.Lc = null;
k.Oc = null;
k.pf = "highlight";
k.Jf = null;
k.$a = !0;
k.Yb = function() {
this.nb(this.G.createElement("div"))
};
k.nb = function(a) {
W.s.nb.call(this, a);
var b = this.Z();
this.rootElement = b.createElement("div");
this.rootElement.style.position = "relative";
this.rootElement.style.overflow = "hidden";
this.rootElement.style.width = "100%";
this.rootElement.style.height = "100%";
a.appendChild(this.rootElement);
this.Xa = b.createElement("div");
this.Xa.style.backgroundRepeat = "no-repeat";
this.Xa.style.position = "absolute";
this.Xa.style.left = "0px";
this.Xa.style.top = "0px";
this.Xa.style.width = "100%";
this.Xa.style.height = "100%";
b.appendChild(this.rootElement,
this.Xa);
this.ya = b.createElement("div");
this.ya.style.position = "absolute";
this.ya.style.left = "0px";
this.ya.style.top = "0px";
this.ya.style.width = "100%";
this.ya.style.height = "100%";
b.appendChild(this.rootElement, this.ya);
this.ac = b.createElement("div");
this.ac.style.position = "absolute";
this.ac.style.left = "0px";
this.ac.style.top = "0px";
this.ac.style.width = "0px";
this.ac.style.height = "0px";
b.appendChild(this.rootElement, this.ac);
this.Ub = b.createElement("div");
this.Ub.style.position = "absolute";
this.Ub.style.left =
"0px";
this.Ub.style.top = "0px";
this.Ub.style.width = "100%";
this.Ub.style.height = "100%";
b.appendChild(this.rootElement, this.Ub);
this.cb = b.createElement("div");
this.cb.style.position = "absolute";
this.cb.style.left = "0px";
this.cb.style.top = "0px";
this.cb.style.width = "100%";
this.cb.style.height = "100%";
b.appendChild(this.rootElement, this.cb);
this.yb = b.createElement("div");
this.yb.style.position = "absolute";
this.yb.style.left = "0px";
this.yb.style.top = "0px";
this.yb.style.width = "0px";
this.yb.style.height = "0px";
b.appendChild(this.rootElement, this.yb);
this.Wb = b.createElement("div");
this.Wb.style.position = "absolute";
this.Wb.style.left = "0px";
this.Wb.style.top = "0px";
this.Wb.style.width = "0px";
this.Wb.style.height = "0px";
b.appendChild(this.rootElement, this.Wb)
};
k.Zb = function() {
W.s.Zb.call(this);
var a = F ? this.rootElement : this.cb;
L(a, "mouseover", this.hk, !1, this);
L(a, "mousemove", this.fk, !1, this);
L(a, "mouseout", this.gk, !1, this);
L(a, "click", this.bk, !1, this);
this.md = new hk(a);
this.md.mh = function() {};
L(this.md, "start", this.ek, !1, this);
L(this.md, "drag", this.ck, !1, this);
L(this.md, "end", this.dk, !1, this);
this.Da()
};
k.od = function() {
W.s.od.call(this);
this.md.Db()
};
k.X = function() {
W.s.X.call(this);
Pc(this.rootElement);
Pc(this.Xa);
Pc(this.ya);
Pc(this.ac);
Pc(this.Ub);
Pc(this.cb);
Pc(this.yb);
Pc(this.Wb)
};
k.Da = function() {
B(this.Tb, function(a) {
a.Da()
});
vk(this);
this.Bi = !1
};
var vk = function(a) {
a.Bi && window.setTimeout(w(function() {
this.dispatchEvent("screenshotdisplayed")
}, a), 0)
};
W.prototype.Ei = function() {
this.rootElement.style.display = "block"
};
W.prototype.Je = function(a) {
this.$a = a;
this.T && this.Da();
this.fe = a ? "crosshair" : "default";
this.cb.style.cursor = this.fe
};
W.prototype.isEnabled = function() {
return this.$a
};
var wk = function(a, b) {
return cb(a.Tb, function(a) {
return a.$ == b
})
},
xk = function(a, b) {
if (wk(a, b)) return null;
var c = a.lh(b, !0);
a.Tb.push(c);
a.T && c.Yb();
return c
},
sk = function(a, b) {
0 <= Za(a.Tb, b) && (db(a.Tb, b), a.T && b.Ed())
};
W.prototype.Gd = function(a) {
this.pf = a
};
var dk = function(a) {
a = Md(a.Tb, function(a) {
return !a.xc
});
a = Nd(a, function(a) {
return a.$
});
return Od(a)
};
W.prototype.Kc = function() {
var a = dk(this);
B(a, function(a) {
(a = wk(this, a)) && sk(this, a)
}, this)
};
var zk = function(a, b) {
var c = a.Jf ? a.Jf.If(b) : null;
if (!c || "gfeedback-annotation-indicator" != c.className) {
var d = dk(a);
if (c)
for (var e = 0; e < d.length; e++) {
var f = d[e];
if ((f = f.F()) && c.rect.contains(f.rect)) {
c = null;
break
}
}
c ? (a.eb || (f = new Cg(a.pf), a.eb = xk(a, f)), d = a.eb.$, e = c, d.v = e, e = e.rect.clone(), e.left -= 3, e.top -= 3, e.width += 6, e.height += 6, d.Hd(e), a.eb.Pk = c) : yk(a);
a.cb.style.cursor = c ? "pointer" : a.fe
}
},
yk = function(a) {
a.eb && (sk(a, a.eb), a.eb = null, a.cb.style.cursor = a.fe)
},
Ak = function(a, b) {
a.Za && a.Za.$.Hd(new O(Math.min(a.Oc.x,
b.x), Math.min(a.Oc.y, b.y), Math.abs(a.Oc.x - b.x), Math.abs(a.Oc.y - b.y)))
},
Bk = function(a) {
a.Za && (a.Za.Le(!1), a.Za = null, a.Oc = null)
};
k = W.prototype;
k.bk = function() {
this.isEnabled() && this.eb && this.eb && (this.eb.Le(!1), this.eb = null)
};
k.hk = function(a) {
this.isEnabled() && (a = Ck(this, a), this.Za || zk(this, a))
};
k.gk = function() {
this.isEnabled() && yk(this)
};
k.fk = function(a) {
this.isEnabled() && (a = Ck(this, a), this.Za || zk(this, a))
};
k.ek = function(a) {
this.isEnabled() && (this.Lc = Ck(this, a.sf))
};
k.ck = function(a) {
if (this.isEnabled())
if (a = Ck(this, a.sf), this.Lc) {
if (10 < Math.abs(a.x - this.Lc.x) || 10 < Math.abs(a.y - this.Lc.y)) {
yk(this);
var b = this.Lc;
Bk(this);
var c = new Cg(this.pf, new O(b.x, b.y, 0, 0));
this.Za = xk(this, c);
this.Oc = b;
Ak(this, a);
this.Lc = null
}
} else this.Za && Ak(this, a)
};
k.dk = function(a) {
this.isEnabled() && this.Za && Bk(this, Ck(this, a.sf))
};
var Ck = function(a, b) {
var c;
c = a.Xa;
1 == c.nodeType ? (c = bg(c), c = new E(c.left, c.top)) : (c = c.changedTouches ? c.changedTouches[0] : c, c = new E(c.clientX, c.clientY));
return new E(b.clientX - c.x, b.clientY - c.y)
};
var Dk = function(a, b, c) {
pk.call(this, a, b, c)
};
x(Dk, pk);
Dk.prototype.Ed = function() {
Dk.s.Ed.call(this);
"highlight" == this.$.Ca && Ek(this.N)
};
Dk.prototype.Da = function() {
Dk.s.Da.call(this);
"highlight" == this.$.Ca && Ek(this.N)
};
var Fk = function(a) {
W.call(this, a)
};
x(Fk, W);
var Gk = {
background: "none",
margin: 0,
padding: 0,
display: "block"
};
Fk.prototype.Fg = !1;
Fk.prototype.ka = null;
Fk.prototype.nb = function(a) {
Fk.s.nb.call(this, a);
this.ka = this.Z().createElement("CANVAS");
Wf(this.ka, Gk);
this.ya.appendChild(this.ka)
};
Fk.prototype.Da = function() {
this.Fg = !0;
try {
Fk.s.Da.call(this)
} finally {
this.Fg = !1
}
Ek(this)
};
var Ek = function(a) {
if (!a.Fg) {
var b = a.ka.getContext("2d");
try {
var c = eg(a.Xa);
a.ka.width = c.width;
a.ka.height = c.height;
b.save();
b.clearRect(0, 0, c.width, c.height);
b.fillStyle = "rgba(102, 102, 102, 0.5)";
b.fillRect(0, 0, c.width, c.height);
B(a.Tb, function(a) {
if ("highlight" == a.$.Ca) {
a = a.V();
b.save();
try {
b.lineJoin = "bevel", b.lineWidth = 4, b.strokeStyle = "#FFEB3B", b.strokeRect(a.left - .5, a.top - .5, a.width + 1, a.height + 1)
} finally {
b.restore()
}
}
});
B(a.Tb, function(a) {
"highlight" == a.$.Ca && (a = a.V(), b.clearRect(a.left, a.top,
a.width, a.height))
})
} catch (d) {} finally {
b.restore()
}
}
};
Fk.prototype.lh = function(a, b) {
return new Dk(this, a, b)
};
var Hk = function(a, b, c, d) {
this.Ra = b;
this.he = c || null;
this.Cj = d || null
};
x(Hk, tk);
var Ik = {
IMG: !0,
OBJECT: !0,
BUTTON: !0,
INPUT: !0,
SELECT: !0,
TEXTAREA: !0,
EMBED: !0,
VIDEO: !0
},
Jk = {
A: !0,
ABBR: !0,
ACRONYM: !0,
B: !0,
BDO: !0,
BIG: !0,
CITE: !0,
CODE: !0,
DFN: !0,
EM: !0,
GFT: !0,
KBD: !0,
I: !0,
MAP: !0,
Q: !0,
SAMP: !0,
SMALL: !0,
SPAN: !0,
STRONG: !0,
SUB: !0,
SUP: !0,
TT: !0,
VAR: !0
},
uk = function(a, b) {
b = b.clone();
F && (b.x += a.Ra.documentElement.clientLeft + a.Ra.body.clientLeft, b.y += a.Ra.documentElement.clientTop + a.Ra.body.clientTop, a.he && gg(a.he, !1));
var c = Hc(Ac(a.Ra).J);
b.x -= c.scrollLeft;
b.y -= c.scrollTop;
c = [];
try {
var d = a.Ra,
e = !1,
f = null,
g;
do {
g = f;
f = d.elementFromPoint(b.x, b.y);
f = d.elementFromPoint(b.x, b.y);
if (!f || f == g) return null;
if ("gfeedback-annotation-indicator" == f.className) {
e = !0;
break
}
var h = f.tagName.toUpperCase();
if ("HTML" == h) return null;
"FRAME" == h || "IFRAME" == h ? d = Vc(f) : !Kk(f) && Lk(f) ? (c.push({
element: f,
visibility: f.style.visibility
}), f.style.visibility = "hidden") : e = !0
} while (!e);
if (!f || !Kk(f)) return null;
var f = Mk(f),
l = Ec(Jc(H(f)));
return rg(f, new O(0, 0, l.width, l.height), a.Cj)
} finally {
B(c, function(a) {
a.element.style.visibility =
a.visibility
}), F && a.he && gg(a.he, !0)
}
},
Kk = function(a) {
return "gfeedback-annotation-indicator" == a.className || a.tagName.toUpperCase() in Ik || a.getAttribute("google-feedback-data") ? !0 : bb(a.childNodes, function(a) {
return 3 == a.nodeType && !Ka(a.nodeValue)
})
},
Mk = function(a) {
var b = Tc(a),
c = !0;
B(b.childNodes, function(a) {
c &= 3 == a.nodeType || a.tagName && a.tagName.toUpperCase() in Jk
});
return c ? b : a
},
Lk = function(a) {
var b = Zf(a, "backgroundColor");
a = J(a, "backgroundImage");
return ("transparent" == b || "rgba(0, 0, 0, 0)" == b) && "none" ==
a
};
var Nk = function(a, b, c, d, e) {
pk.call(this, a, b, c);
this.Kb = d;
this.Ne = e;
this.ni = Sf(this.V())
};
x(Nk, pk);
Nk.prototype.Ib = null;
Nk.prototype.Le = function(a) {
var b = this.xc;
Nk.s.Le.call(this, a);
"highlight" == this.$.Ca && (b && !a ? Ok(this.Ne) : !b && a && Pk(this.N))
};
Nk.prototype.Ed = function() {
Nk.s.Ed.call(this);
"highlight" == this.$.Ca && (this.xc ? Qk(this.Ne) : Pk(this.N))
};
Nk.prototype.Da = function() {
Nk.s.Da.call(this);
var a = Sf(this.V()),
b = this.ni;
a == b || a && b && a.top == b.top && a.right == b.right && a.bottom == b.bottom && a.left == b.left || ("highlight" == this.$.Ca && (this.xc ? (Qk(this.Ne), this.Kb.split(Sf(this.V()), this.Ne)) : Pk(this.N)), this.ni = a)
};
var X = function(a, b, c, d) {
this.G = a;
this.ub = b;
this.aa = c;
this.u = d;
a = this.aa;
0 == a.aa.length && (b = a.G.createElement("div"), b.style.position = "absolute", a.ub.appendChild(b), c = a.G.createElement("div"), b.appendChild(c), ag(c, 0, 0), cg(c, "100%", "100%"), c.className = "userfeedback-annotator-glass-pane", a.aa[0] = b);
a.aa[a.aa.length - 1].style.display = "block";
this.v = a.aa.pop();
this.m = [];
this.H = [];
this.Sc = !1;
this.u = this.u;
ag(this.v, this.u.left, this.u.top);
cg(this.v, this.u.right - this.u.left, this.u.bottom - this.u.top)
};
X.prototype.F = function() {
return this.v
};
X.prototype.clear = function() {
B(this.m, function(a) {
a.Cb()
});
this.m = [];
B(this.H, function(a) {
a.Cb()
});
this.H = [];
this.Sc = !1;
this.v.style.display = "block"
};
var Rk = function(a, b) {
return $a(a.m, function(a) {
a = a.u;
return b.left <= a.right && a.left <= b.right && b.top <= a.bottom && a.top <= b.bottom
})
};
X.prototype.split = function(a, b) {
this.Sc ? B(Rk(this, a), function(c) {
c.split(a, b)
}) : Sk(this, a, b)
};
var Sk = function(a, b, c) {
if (a.Sc) throw Error("Can't split panes that are already split");
var d = b.top > a.u.top,
e = d ? b.top : a.u.top,
f = b.bottom < a.u.bottom,
g = f ? b.bottom : a.u.bottom,
h = b.left > a.u.left,
l = h ? b.left : a.u.left,
m = b.right < a.u.right,
n = m ? b.right : a.u.right;
d && (a.m[0] = new X(a.G, a.ub, a.aa, new N(a.u.top, n, b.top, l)), Tk(a.m[0]));
f && (a.m[1] = new X(a.G, a.ub, a.aa, new N(b.bottom, n, a.u.bottom, l)), Uk(a.m[1]));
m && (a.m[2] = new X(a.G, a.ub, a.aa, new N(e, a.u.right, g, b.right)), Vk(a.m[2]));
h && (a.m[3] = new X(a.G, a.ub, a.aa, new N(e,
b.left, g, a.u.left)), Wk(a.m[3]));
d && h && (a.m[5] = new X(a.G, a.ub, a.aa, new N(a.u.top, l, b.top, a.u.left)), Xk(a.m[5]));
d && m && (a.m[4] = new X(a.G, a.ub, a.aa, new N(a.u.top, a.u.right, b.top, n)), Yk(a.m[4]));
f && h && (a.m[7] = new X(a.G, a.ub, a.aa, new N(b.bottom, l, a.u.bottom, a.u.left)), Zk(a.m[7]));
f && m && (a.m[6] = new X(a.G, a.ub, a.aa, new N(b.bottom, a.u.right, a.u.bottom, n)), $k(a.m[6]));
a.H[0] && (f ? (Tk(a.m[1]), m && Tk(a.m[6]), h && Tk(a.m[7])) : m || h ? (m && Tk(a.m[2]), h && Tk(a.m[3])) : d && Tk(a.m[0]));
a.H[1] && (d ? (Uk(a.m[0]), m && Uk(a.m[4]),
h && Uk(a.m[5])) : m || h ? (m && Uk(a.m[2]), h && Uk(a.m[3])) : f && Uk(a.m[1]));
a.H[2] && (h ? (Vk(a.m[3]), d && Vk(a.m[5]), f && Vk(a.m[7])) : d || f ? (d && Vk(a.m[0]), f && Vk(a.m[1])) : m && Vk(a.m[2]));
a.H[3] && (m ? (Wk(a.m[2]), d && Wk(a.m[4]), f && Wk(a.m[6])) : d || f ? (d && Wk(a.m[0]), f && Wk(a.m[1])) : h && Wk(a.m[3]));
a.H[4] && (f ? h ? Yk(a.m[7]) : Yk(a.m[1]) : h && Yk(a.m[3]));
a.H[5] && (f ? m ? Xk(a.m[6]) : Xk(a.m[1]) : m && Xk(a.m[2]));
a.H[6] && (d ? h ? $k(a.m[5]) : $k(a.m[0]) : h && $k(a.m[3]));
a.H[7] && (d ? m ? Zk(a.m[4]) : Zk(a.m[0]) : m && Zk(a.m[2]));
B(a.H, function(a) {
a.vd()
});
c ? c.yd.push(a) :
al(a);
a.v.style.display = "none";
a.Sc = !0
},
al = function(a) {
B(a.H, function(a) {
a.Cb()
});
a.H = []
},
bl = function(a) {
if (!a.Sc) throw Error("Cannot undo a split for a tile thats not split");
B(a.m, function(a) {
a.Cb()
});
a.m = [];
B(a.H, function(a) {
a.show()
});
a.v.style.display = "block";
a.Sc = !1
};
X.prototype.show = function() {
B(this.m, function(a) {
a.show()
});
this.v.style.display = "block"
};
X.prototype.vd = function() {
B(this.m, function(a) {
a.vd()
});
this.v.style.display = "none"
};
X.prototype.Cb = function() {
this.clear();
this.v.style.display = "none";
var a = this.aa;
a.aa[a.aa.length] = this.v
};
var Vk = function(a) {
if (!a.H[2]) {
var b = new cl(a.G);
dl(b, "userfeedback-annotator-border-east", -15, 0);
a.F().appendChild(b.F());
a.H[2] = b
}
},
Wk = function(a) {
if (!a.H[3]) {
var b = new cl(a.G);
dl(b, "userfeedback-annotator-border-west", a.u.right - a.u.left - 15, 0);
a.F().appendChild(b.F());
a.H[3] = b
}
},
Uk = function(a) {
if (!a.H[1]) {
var b = new cl(a.G);
dl(b, "userfeedback-annotator-border-south", 0, -15);
a.F().appendChild(b.F());
a.H[1] = b
}
},
Tk = function(a) {
if (!a.H[0]) {
var b = new cl(a.G);
dl(b, "userfeedback-annotator-border-north",
0, a.u.bottom - a.u.top - 15);
a.F().appendChild(b.F());
a.H[0] = b
}
},
Xk = function(a) {
if (!a.H[5]) {
var b = new cl(a.G);
dl(b, "userfeedback-annotator-border-northwest", a.u.right - a.u.left - 15, a.u.bottom - a.u.top - 15);
a.F().appendChild(b.F());
a.H[5] = b
}
},
Yk = function(a) {
if (!a.H[4]) {
var b = new cl(a.G);
dl(b, "userfeedback-annotator-border-northeast", -15, a.u.bottom - a.u.top - 15);
a.F().appendChild(b.F());
a.H[4] = b
}
},
Zk = function(a) {
if (!a.H[7]) {
var b = new cl(a.G);
dl(b, "userfeedback-annotator-border-southwest", a.u.right - a.u.left - 15, -15);
a.F().appendChild(b.F());
a.H[7] = b
}
},
$k = function(a) {
if (!a.H[6]) {
var b = new cl(a.G);
dl(b, "userfeedback-annotator-border-southeast", -15, -15);
a.F().appendChild(b.F());
a.H[6] = b
}
},
cl = function(a) {
this.G = a;
this.v = this.G.createElement("div");
this.v.style.position = "absolute";
ag(this.v, 0, 0);
cg(this.v, "100%", "100%")
};
cl.prototype.F = function() {
return this.v
};
cl.prototype.vd = function() {
this.v.style.display = "none"
};
cl.prototype.show = function() {
this.v.style.display = "block"
};
cl.prototype.Cb = function() {
this.G.removeNode(this.v)
};
var dl = function(a, b, c, d) {
a.v.className = b;
Wf(a.v, "background-position", c + "px " + d + "px")
},
el = function() {
this.yd = []
},
Qk = function(a) {
B(a.yd, function(a) {
bl(a)
});
a.yd = []
},
Ok = function(a) {
B(a.yd, function(a) {
al(a)
});
a.yd = []
},
fl = function(a, b) {
this.G = a;
this.ub = b;
this.aa = []
};
var gl = function(a) {
W.call(this, a);
this.vj = new el
};
x(gl, W);
gl.prototype.Ib = null;
gl.prototype.Kb = null;
gl.prototype.nb = function(a) {
gl.s.nb.call(this, a);
var b = this.Z();
this.ya.style.backgroundImage = 'url("//feedback.googleusercontent.com/transparent.gif")';
a = eg(this.Xa);
b = b.Yb("DIV", {
style: "position:absolute;left:0;top:0;width:100%;height:100%"
});
this.ya.appendChild(b);
this.Kb = new X(this.G, b, new fl(this.G, b), new N(0, a.width, a.height, 0));
a = this.Kb.F();
this.ya.appendChild(a)
};
gl.prototype.X = function() {
this.Kb.Cb();
this.Kb = null;
Oc(this.F());
gl.s.X.call(this)
};
var Pk = function(a) {
a.Kb.clear();
B(dk(a), w(function(a) {
"highlight" == a.Ca && this.Kb.split(Sf(a.V()))
}, a))
};
gl.prototype.lh = function(a, b) {
return new Nk(this, a, b, this.Kb, this.vj)
};
var hl = function() {
M.call(this);
this.ge = new Q;
this.ig = [];
this.ug = [];
this.ea = [];
this.Gi = !0;
this.Lf = new te;
this.zg = new Pd;
this.Mh = {};
this.Ib = null
};
x(hl, M);
hl.prototype.display = function(a) {
var b = new Q;
this.Gi && (a.open("text/html", "replace"), a.write(Tb(ac)), a.close());
var c = a.createElement("GFT");
a.body.appendChild(c);
Pc(c);
Qc(this.Nc, a.documentElement);
var d = il(this);
jh(function() {
return a.styleSheets.length >= d
}, function(a, c) {
a || !c ? b.callback(null) : b.Y(c)
});
R(b, function() {
jl(this)
}, this);
R(b, function() {
this.ge.callback(null);
return this.ge
}, this);
R(b, function() {
this.wf(a)
}, this);
S(b, function() {}, this);
return b
};
var il = function(a) {
var b = a.Nc.querySelectorAll("style").length;
B(a.Nc.querySelectorAll("link"), function(a) {
y(a.rel, "stylesheet") && b++
});
return b
},
kl = function(a, b) {
a.Gi = b
},
ll = function(a) {
a.ug.length && B(a.ug, function(a) {
a()
});
B(a.ea, function(a) {
ll(a)
})
},
ml = function(a, b, c, d) {
a.ug.push(function() {
b.scrollLeft = c;
b.scrollTop = d
})
},
nl = function(a, b, c) {
a.ig.push(c ? w(b, c) : b)
};
hl.prototype.Sb = function(a) {
this.ea.push(a);
a.Ke(this);
return this.ge
};
var ol = function(a) {
var b = new Q;
ch(a.ge, b);
return b
},
pl = function(a, b) {
a.Lf.add(b)
},
ql = function(a, b, c) {
if (b) {
var d = a.Mh[b];
d || (d = new bi(b), a.Mh[b] = d);
R(d, function() {
c(d.Fh(), d.Ah())
})
}
};
hl.prototype.wf = function() {
this.dispatchEvent("b")
};
var jl = function(a) {
a.ig.length && B(a.ig, function(a) {
a()
})
};
var rl = function() {
K.call(this);
this.ka = document.createElement("canvas");
this.Ya = new Q;
document.createElement("div").appendChild(this.ka)
};
x(rl, K);
var ul = function(a, b) {
a.ka.toDataURL || a.Ya.Y("No support");
try {
Yh(a.ka, b, 0, 0, void 0, void 0, {
renderCallback: w(a.vk, a),
ignoreAnimation: !0,
ignoreMouse: !0
}), F && tl(a)
} catch (c) {
a.Ya.Y(c)
}
Lg(a.yj, 8E3, a);
return a.Ya
};
rl.prototype.yj = function() {
this.Ya.Ka || this.Ya.Y("timeout")
};
rl.prototype.vk = function() {
try {
this.Ya.callback(this.ka.toDataURL())
} catch (a) {}
};
var tl = function(a) {
B(a.ka.Qb.Pd, function(a) {
var b = a.Ta,
d = hh(b.onload, !0);
b.src = b.src;
var e = Lg(function() {
d.call(b, {})
}, 1E3);
b.onload = function(c) {
var f;
var h = we;
h || (h = document.createElement("canvas"), h.width = 1, h.height = 1, we = h);
try {
var l = h.getContext("2d");
l.drawImage(b, 0, 0);
l.getImageData(0, 0, 1, 1);
f = !0
} catch (m) {
we = null, f = !1
}
f || (a.Ta = new Image);
r.clearTimeout(e);
d.call(b, c)
};
b.onerror = function(c) {
a.Ta = new Image;
r.clearTimeout(e);
d.call(b, c)
}
})
};
var vl = function(a) {
return /^\s*$/.test(a) ? !1 : /^[\],:{}\s\u2028\u2029]*$/.test(a.replace(/\\["\\\/bfnrtu]/g, "@").replace(/(?:"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?)[\s\u2028\u2029]*(?=:|,|]|}|$)/g, "]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g, ""))
},
wl = function(a) {
a = String(a);
if (vl(a)) try {
return eval("(" + a + ")")
} catch (b) {}
throw Error("Invalid JSON string: " + a);
};
var xl = function() {};
xl.prototype.dh = null;
var zl = function(a) {
var b;
(b = a.dh) || (b = {}, yl(a) && (b[0] = !0, b[1] = !0), b = a.dh = b);
return b
};
var Al, Bl = function() {};
x(Bl, xl);
var Cl = function(a) {
return (a = yl(a)) ? new ActiveXObject(a) : new XMLHttpRequest
},
yl = function(a) {
if (!a.Kh && "undefined" == typeof XMLHttpRequest && "undefined" != typeof ActiveXObject) {
for (var b = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"], c = 0; c < b.length; c++) {
var d = b[c];
try {
return new ActiveXObject(d), a.Kh = d
} catch (e) {}
}
throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");
}
return a.Kh
};
Al = new Bl;
var Y = function(a) {
M.call(this);
this.headers = new Pd;
this.af = a || null;
this.Rb = !1;
this.$e = this.w = null;
this.Vf = "";
this.sc = this.Of = this.te = this.xf = !1;
this.Ag = 0;
this.Qe = null;
this.yi = "";
this.Hg = this.rk = this.Vi = !1
};
x(Y, M);
var Dl = /^https?$/i,
El = ["POST", "PUT"],
Fl = [],
Gl = function(a, b, c, d) {
var e = new Y;
Fl.push(e);
b && e.listen("complete", b);
e.Xf("ready", e.qj);
e.send(a, c, d, void 0)
};
Y.prototype.qj = function() {
this.Db();
db(Fl, this)
};
Y.prototype.send = function(a, b, c, d) {
if (this.w) throw Error("[goog.net.XhrIo] Object is active with another request=" + this.Vf + "; newUri=" + a);
b = b ? b.toUpperCase() : "GET";
this.Vf = a;
this.xf = !1;
this.Rb = !0;
this.w = this.af ? Cl(this.af) : Cl(Al);
this.$e = this.af ? zl(this.af) : zl(Al);
this.w.onreadystatechange = w(this.ii, this);
this.rk && "onprogress" in this.w && (this.w.onprogress = w(function(a) {
this.hi(a, !0)
}, this), this.w.upload && (this.w.upload.onprogress = w(this.hi, this)));
try {
this.Of = !0, this.w.open(b, String(a), !0), this.Of = !1
} catch (f) {
this.je(5, f);
return
}
a = c || "";
var e = this.headers.clone();
d && Ud(d, function(a, b) {
e.set(b, a)
});
d = cb(e.Eb(), Hl);
c = r.FormData && a instanceof r.FormData;
!(0 <= Za(El, b)) || d || c || e.set("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
e.forEach(function(a, b) {
this.w.setRequestHeader(b, a)
}, this);
this.yi && (this.w.responseType = this.yi);
"withCredentials" in this.w && this.w.withCredentials !== this.Vi && (this.w.withCredentials = this.Vi);
try {
Il(this), 0 < this.Ag && ((this.Hg = Jl(this.w)) ? (this.w.timeout =
this.Ag, this.w.ontimeout = w(this.Re, this)) : this.Qe = Lg(this.Re, this.Ag, this)), this.te = !0, this.w.send(a), this.te = !1
} catch (f) {
this.je(5, f)
}
};
var Jl = function(a) {
return F && G(9) && va(a.timeout) && t(a.ontimeout)
},
Hl = function(a) {
return "content-type" == a.toLowerCase()
};
Y.prototype.Re = function() {
"undefined" != typeof oa && this.w && (this.dispatchEvent("timeout"), this.abort(8))
};
Y.prototype.je = function() {
this.Rb = !1;
this.w && (this.sc = !0, this.w.abort(), this.sc = !1);
Kl(this);
Ll(this)
};
var Kl = function(a) {
a.xf || (a.xf = !0, a.dispatchEvent("complete"), a.dispatchEvent("error"))
};
Y.prototype.abort = function() {
this.w && this.Rb && (this.Rb = !1, this.sc = !0, this.w.abort(), this.sc = !1, this.dispatchEvent("complete"), this.dispatchEvent("abort"), Ll(this))
};
Y.prototype.X = function() {
this.w && (this.Rb && (this.Rb = !1, this.sc = !0, this.w.abort(), this.sc = !1), Ll(this, !0));
Y.s.X.call(this)
};
Y.prototype.ii = function() {
this.isDisposed() || (this.Of || this.te || this.sc ? Ml(this) : this.$j())
};
Y.prototype.$j = function() {
Ml(this)
};
var Ml = function(a) {
if (a.Rb && "undefined" != typeof oa && (!a.$e[1] || 4 != Nl(a) || 2 != Ol(a)))
if (a.te && 4 == Nl(a)) Lg(a.ii, 0, a);
else if (a.dispatchEvent("readystatechange"), 4 == Nl(a)) {
a.Rb = !1;
try {
Pl(a) ? (a.dispatchEvent("complete"), a.dispatchEvent("success")) : Kl(a)
} finally {
Ll(a)
}
}
};
Y.prototype.hi = function(a, b) {
this.dispatchEvent(Ql(a, "progress"));
this.dispatchEvent(Ql(a, b ? "downloadprogress" : "uploadprogress"))
};
var Ql = function(a, b) {
return {
type: b,
lengthComputable: a.lengthComputable,
loaded: a.loaded,
total: a.total
}
},
Ll = function(a, b) {
if (a.w) {
Il(a);
var c = a.w,
d = a.$e[0] ? ra : null;
a.w = null;
a.$e = null;
b || a.dispatchEvent("ready");
try {
c.onreadystatechange = d
} catch (e) {}
}
},
Il = function(a) {
a.w && a.Hg && (a.w.ontimeout = null);
va(a.Qe) && (r.clearTimeout(a.Qe), a.Qe = null)
},
Pl = function(a) {
var b = Ol(a),
c;
a: switch (b) {
case 200:
case 201:
case 202:
case 204:
case 206:
case 304:
case 1223:
c = !0;
break a;
default:
c = !1
}
if (!c) {
if (b = 0 === b) a = String(a.Vf).match(Vd)[1] ||
null, !a && r.self && r.self.location && (a = r.self.location.protocol, a = a.substr(0, a.length - 1)), b = !Dl.test(a ? a.toLowerCase() : "");
c = b
}
return c
},
Nl = function(a) {
return a.w ? a.w.readyState : 0
},
Ol = function(a) {
try {
return 2 < Nl(a) ? a.w.status : -1
} catch (b) {
return -1
}
};
Y.prototype.Dh = function() {
try {
return this.w ? this.w.responseText : ""
} catch (a) {
return ""
}
};
Y.prototype.Ff = function(a) {
if (this.w) {
var b = this.w.responseText;
a && 0 == b.indexOf(a) && (b = b.substring(a.length));
return wl(b)
}
};
Y.prototype.getResponseHeader = function(a) {
if (this.w && 4 == Nl(this)) return a = this.w.getResponseHeader(a), null === a ? void 0 : a
};
Y.prototype.getAllResponseHeaders = function() {
return this.w && 4 == Nl(this) ? this.w.getAllResponseHeaders() : ""
};
var Rl = function() {},
Sl = {};
Rl.prototype.send = function(a, b, c) {
var d = new Q;
if ("undefined" != typeof XDomainRequest) {
var e = new XDomainRequest,
f = (e[ya] || (e[ya] = ++za)).toString();
Sl[f] = e;
e.onprogress = ra;
e.onload = function() {
d.callback(e.responseText)
};
e.onerror = function() {
d.Ka || d.Y("xhr failed")
};
e.ontimeout = function() {
d.Ka || d.Y("xhr timeout")
};
ah(d, function() {
delete Sl[f]
});
e.open(b, a);
e.send(c)
} else Gl(a, function(a) {
a = a.target;
Pl(a) ? d.callback(a.Dh()) : d.Y(Ol(a))
}, b, c);
R(d, function(a) {
this.xi = a
}, this);
return d
};
Rl.prototype.Dh = function() {
return this.xi
};
Rl.prototype.Ff = function() {
var a = this.xi;
Ha(a, ")]}'\n") && (a = a.substring(5));
return JSON.parse(a)
};
var Tl = function() {
T.call(this, "uf.xd.cr", (this[ya] || (this[ya] = ++za)) + "")
};
x(Tl, T);
Bh["uf.xd.cr"] = Tl;
var Ul = function(a, b, c) {
T.call(this, "ss.xd");
this.Yg = a || "";
this.xe = b || [];
this.Na = c || null
};
x(Ul, T);
Bh["ss.xd"] = Ul;
Ul.prototype.ja = function() {
return Ul.s.ja.call(this).concat([this.Yg, this.xe, this.Na])
};
Ul.prototype.ba = function(a) {
var b = Ul.s.ba.call(this, a);
this.Yg = a[b++] || "";
this.xe = a[b++] || [];
this.Na = a[b++];
return b
};
var Vl = function(a) {
var b = {};
B(a.split(","), function(a) {
b[a] = !0;
b[a.toLowerCase()] = !0
});
return b
};
Vl("A,ABBR,ACRONYM,ADDRESS,AREA,ARTICLE,ASIDE,B,BASE,BDI,BDO,BIG,BLOCKQUOTE,BODY,BR,BUTTON,CAPTION,CENTER,CITE,CODE,COL,COLGROUP,DD,DEL,DFN,DIR,DIV,DL,DT,EM,EMBED,FIGCAPTION,FIGURE,FOOTER,FONT,FORM,H1,H2,H3,H4,H5,H6,HEAD,HEADER,HGROUP,HR,HTML,I,IFRAME,IMG,INPUT,INS,KBD,LABEL,LI,LINK,MAP,MARK,MENU,META,NAV,NOBR,OBJECT,OL,OPTION,OPTGROUP,P,PARAM,PRE,Q,RP,RT,RUBY,S,SAMP,SECTION,SELECT,SMALL,SPAN,STRIKE,STRONG,SUB,SUP,TABLE,TBODY,TD,TEXTAREA,TFOOT,TH,THEAD,TIME,TITLE,TR,TT,U,UL,VAR,WBR");
Vl("SCRIPT,STYLE");
var Wl = Vl("ABBR,ALIGN,ALT,AXIS,BGCOLOR,BORDER,CELLPADDING,CELLSPACING,CLASS,CLEAR,COLOR,COLS,COLSPAN,COMPACT,COORDS,DIR,FACE,HEADERS,HEIGHT,HREFLANG,HSPACE,ID,ISMAP,LANG,LANGUAGE,NAME,NOHREF,NOWRAP,REL,REV,ROWS,ROWSPAN,RULES,SCOPE,SCROLLING,SHAPE,SPAN,START,SUMMARY,TARGET,TITLE,TYPE,VALIGN,VSPACE,WIDTH,VALUE"),
Xl = Vl("selected,checked");
var Yl = function(a) {
hl.call(this);
this.ab = a;
this.yg = {};
this.Xe = new Q;
this.Lb = {
A: this.oi,
BASE: this.oi,
FRAME: this.Cd,
HTML: this.lg,
IFRAME: this.Cd,
IMG: this.mg,
LINK: this.ng,
STYLE: this.og,
TEXTAREA: this.pk
};
for (var b in this.Lb) this.Lb[b.toLowerCase()] = this.Lb[b];
this.Ib = null
};
x(Yl, hl);
Yl.prototype.wf = function(a) {
var b = this.ab.forEach(a.querySelectorAll("html, body, body *"), function(a) {
var b = Ge(J(a, "backgroundImage"));
b && pl(this, b);
if (b = Ge(J(a, "content", ":before"))) pl(this, b), ql(this, b, function(b, c) {
ai(a, "before-width", b);
ai(a, "before-height", c)
})
}, this);
R(b, function() {
Yl.s.wf.call(this, a)
}, this);
S(b, function() {}, this)
};
var am = function(a, b) {
var c = Array(b.xe.length),
d = a.ab.forEach(b.xe, function(a, b) {
var d = Zl(this, a, b);
c[b] = d;
var e = c[a[1]];
e && d && (e.appendChild(d), wj(e, d) && vj(d))
}, a);
R(d, function() {
b.Na && $l(this, b.Na);
this.Xe.callback(null);
return this.Xe
}, a);
S(d, function() {}, a);
return d
},
Zl = function(a, b, c) {
var d = b[0];
if ("#text" == d) return document.createTextNode(b[2]);
var e = document.createElement(d),
f = b[2] || {},
g;
for (g in f)(g in Wl || g in Xl) && e.setAttribute(g, f[g]);
(d = a.Lb[d]) && d.call(a, e, b, c);
(b = b[3]) && ml(a, e, b[0],
b[1]);
nl(a, function() {
var a = this.yg[c];
a && Ha(a, "_ {") && (a = a.substring(3, a.length - 2), e.setAttribute("style", a))
}, a);
return e
},
$l = function(a, b) {
var c = "";
mb(b, function(a, b) {
c += "<style id=" + b + ">" + a + "</style>"
});
var d = document.createElement("div");
d.innerHTML = c;
B(d.querySelectorAll("style"), function(a) {
this.yg[a.id] = a.innerHTML
}, a)
};
k = Yl.prototype;
k.mg = function(a, b) {
var c = b[2].src;
c && (c = bm(a.tagName, "image/*", c), a.src = c, pl(this, a.src))
};
k.ng = function(a, b) {
var c = b[2].href;
if (c) {
var d = je(c).ob,
e = new Rl,
d = e.send("//www.google.com/tools/feedback/check_capture_domain?domain=" + encodeURIComponent(d), "GET");
R(d, function() {
e.Ff() ? a.href = c : a.href = bm(a.tagName, "text/css", c)
}, this);
S(d, function() {
a.href = bm(a.tagName, "text/css", c)
}, this);
ch(this.Xe, d)
}
};
k.og = function(a, b, c) {
nl(this, function() {
var b = this.yg[c];
b && (a.styleSheet ? a.styleSheet.cssText = b : a.innerHTML = b)
}, this)
};
k.lg = function(a) {
this.Nc = a
};
k.oi = function(a, b) {
var c = b[2].href;
Ce(c) && (a.href = c)
};
k.pk = function(a, b) {
nl(this, function() {
a.value = b[2].value
})
};
k.Cd = function(a, b) {
if (b[4]) {
var c = new Ul;
c.ba(b[4]);
var d = new Yl(this.ab),
c = am(d, c);
ch(this.Xe, c);
R(this.Sb(d), function() {
return d.display(Vc(a))
})
}
};
var bm = function(a, b, c) {
return "//www-fbk-opensocial.googleusercontent.com/gadgets/proxy/container=fbk&gadget=feedback&debug=0&nocache=0&rewriteMime={mime}&sanitize=1&html_tag_context={tagName}/{url}".replace("{mime}", encodeURIComponent(b)).replace("{tagName}", a.toLowerCase()).replace("{url}", c)
};
var cm = function(a, b) {
Yl.call(this, a);
this.ua = new Fh;
bf(this, this.ua);
this.Ib = null;
this.Fd = b
};
x(cm, Yl);
cm.prototype.kd = function(a) {
var b = new Tl;
this.ua.open();
a = gh(qd(this.ua.send(b, 3E4, a)));
this.Ye = new Q;
R(a, this.oj, this);
S(a, function() {
this.ua.close();
this.Ye.Y()
}, this);
return this.Ye
};
cm.prototype.oj = function(a) {
var b = new Rl,
c = b.send(this.Fd + "/check_capture_domain?domain=" + encodeURIComponent(a.Sj), "GET");
R(c, function() {
b.Ff() && R(am(this, a), function() {
this.Ye.callback()
}, this)
}, this);
S(c, function() {
this.Ye.Y()
}, this);
this.ua.close()
};
var dm = function(a, b, c, d) {
hl.call(this);
this.Ba = a;
this.ab = b;
this.Qa = new Q;
this.Fd = c;
this.ae = d || {};
this.Lb = {
CANVAS: this.jk,
EMBED: this.pi,
FRAME: this.Cd,
IFRAME: this.Cd,
META: this.lk,
HEAD: this.kk,
HTML: this.lg,
IMG: this.mg,
NOSCRIPT: this.mk,
LINK: this.ng,
OBJECT: this.pi,
STYLE: this.og,
SVG: this.nk,
VIDEO: this.qk
};
for (var e in this.Lb) this.Lb[e.toLowerCase()] = this.Lb[e];
this.Ib = null
};
x(dm, hl);
var em = "onblur onchange onerror onload onmouseout onmouseover onscroll onunload".split(" "),
fm = "import" in HTMLLinkElement.prototype;
dm.prototype.kd = function(a) {
kl(this, Fc(Ac(a).J));
var b = fb(a.querySelectorAll("*"));
a = [];
for (var c = 0; c < b.length; c++) {
var d = b[c];
Ke(d) && !Ha(d.getAttribute("id") || "", "google-feedback-") && a.push(b[c])
}
var b = a,
e = Array(b.length),
f = -1;
a = this.ab.forEach(b, function(a) {
f += 1;
a["google-feedback-id"] = f;
var c = gm(this, a);
e[f] = c;
var d = e[(a.parentNode || {})["google-feedback-id"]];
d && d.appendChild(c);
c.selected = a.selected;
c.checked = a.checked;
c.value = a.value;
c.parentNode && hm(c.parentNode, a.nextSibling);
if (d = this.Lb[c.tagName]) try {
d.call(this,
a, c)
} catch (m) {}
for (a = a.shadowRoot; a; a = a.olderShadowRoot) f += 1, a["google-feedback-id"] = f, e[f] = c.createShadowRoot(), gb(b, a.querySelectorAll("*"))
}, this);
R(a, function() {
this.Qa.callback(null);
return this.Qa
}, this);
S(a, function() {}, this);
return a
};
var im = function(a) {
a = De(a);
if (!a) return "";
if (a.cssText) return a.cssText;
for (var b = "", c = 0; c < a.length; c++) var d = a[c],
e = a.getPropertyValue(d),
b = b + (d + ": " + e + "; ");
return b
},
jm = function(a, b) {
return ic || !b.shadowRoot && !y(b.tagName, "-") ? b.cloneNode(!1) : a.Ba.importNode(b, !1)
},
gm = function(a, b) {
for (var c = jm(a, b), d = 0; d < em.length; ++d) c.removeAttribute(em[d]);
if ("SCRIPT" == c.tagName || "script" == c.tagName) return c = b.ownerDocument.createElement("script"), c.id = b.id, c;
hm(c, b.firstChild);
d = He(J(b, "backgroundImage"));
B(d, function(a) {
Ce(a) && pl(this, a)
}, a);
d = Ge(J(b, "content", ":before"));
Ce(d) && (pl(a, d), ql(a, d, function(a, b) {
ai(c, "before-width", a);
ai(c, "before-height", b)
}));
(b.scrollLeft || b.scrollTop) && ml(a, c, b.scrollLeft, b.scrollTop);
b.disabled && (c.disabled = !0, c.setAttribute("disabled", "disabled"));
return c
},
hm = function(a, b) {
for (; b && (!xa(b) || 1 != b.nodeType);) {
if (3 == b.nodeType) {
var c = b.cloneNode(!1);
a.appendChild(c);
wj(a, c) && vj(c)
}
b = b.nextSibling
}
};
dm.prototype.og = function(a, b) {
if (a.disabled) nl(this, function() {
b.disabled = !0
});
else if (F && a.styleSheet) {
var c = this.Ba;
nl(this, function() {
var d = c.createElement("style");
d.id = a.id;
Qc(d, b);
d.styleSheet.cssText = a.styleSheet.cssText
})
}
};
dm.prototype.Cd = function(a, b) {
b.removeAttribute("src");
b.removeAttribute("srcdoc");
var c = Fe(a);
if (c) {
var d = new dm(this.Ba, this.ab, this.Fd);
ch(this.Qa, d.kd(c));
ah(R(this.Sb(d), function() {
b.style.visibility = "hidden";
return d.display(Vc(b))
}), function() {
b.style.visibility = a.style.visibility
})
} else km(this, a, b)
};
var km = function(a, b, c) {
var d = new cm(a.ab, a.Fd),
e = a.Sb(d),
f = d.kd(Wc(b));
ch(f, e.rf());
ch(f, a.Qa.rf());
R(f, function() {
c.style.visibility = "hidden";
return d.display(Vc(c))
}, a);
R(f, function() {
c.style.visibility = b.style.visibility
});
S(f, function() {}, a)
},
lm = function(a, b) {
var c = b.getBoundingClientRect(),
d = a.Ba.createElement("canvas"),
e = d.getContext("2d"),
f = (window.devicePixelRatio || 1) / (e.webkitBackingStorePixelRatio || e.mozBackingStorePixelRatio || e.msBackingStorePixelRatio || e.oBackingStorePixelRatio || e.backingStorePixelRatio ||
1);
d.width = c.width * f;
d.height = c.height * f;
e.scale(f, f);
e.drawImage(b, 0, 0, c.width, c.height);
d.style.cssText = im(b);
return d
};
k = dm.prototype;
k.mg = function(a, b) {
if (Ha(a.src, "data:image/svg+xml;base64,")) window.atob && nl(this, function() {
try {
var c = atob(a.src.substring(26))
} catch (g) {
this.Ib.info("SVG data URL base64 conversion failure", g);
return
}
var d = ol(this),
c = ul(new rl, c);
R(c, function(a) {
pl(this, a);
ai(b, "src", a)
}, this);
S(c, function(a) {
this.Ib.info("Failed to render svg", a)
}, this);
ah(c, d.callback, d)
}, this);
else if (Ha(a.src, "blob:")) {
var c = lm(this, a);
pl(this, c.toDataURL());
Qc(c, b)
} else if (Ce(a.src))
if (Ia(a.src)) {
var c = this.Ba.createElement("canvas"),
d = w(function() {
try {
pl(this, c.toDataURL()), c.style.cssText = im(a), Qc(c, b)
} catch (e) {}
}, this);
a.getBoundingClientRect();
Yh(c, a.src, 0, 0, void 0, void 0, {
renderCallback: d
})
} else pl(this, a.src)
};
k.jk = function(a, b) {
if (a.getContext) {
b.getContext("2d").drawImage(a, 0, 0);
try {
pl(this, b.toDataURL())
} catch (c) {}
}
};
k.nk = function(a, b) {
if (!Ie(a)) {
var c = fb(a.querySelectorAll("*"));
c.push(a);
var d = a.cloneNode(!0),
e = fb(d.querySelectorAll("*"));
e.push(d);
for (var f = 0; f < c.length; f++) {
var g = e[f],
h = window.getComputedStyle(c[f]),
l = h.cssText || "";
if (!(l || mc && jc))
for (var m = 0; m < h.length; m++) var n = h[m],
p = h.getPropertyValue(n),
l = l + (n + ": " + p + "; ");
g.style.cssText = l;
h = eg(c[f]);
g.setAttribute("height", h.height);
g.style.height = h.height + "px";
g.setAttribute("width", h.width);
g.style.width = h.width + "px"
}
c = this.zg.qc();
d.setAttribute("google-feedback-svg-id",
c);
e = d.querySelectorAll("image");
for (f = 0; f < e.length; f++) g = e[f], h = new Image, m = "xlink:href", l = g.getAttribute(m), l || (m = "href", l = g.getAttribute(m)), h.src = l, g.setAttribute(m, h.src);
e = this.Ba.createElement("div");
e.appendChild(d);
e = e.innerHTML.replace(/\ \;/g, " ");
this.zg.set(c.toString(), e);
Qc(d, b)
}
};
k.qk = function(a, b) {
var c = this.Ba.createElement("canvas"),
d = c.getContext("2d");
c.width = a.offsetWidth;
c.height = a.offsetWidth;
d.drawImage(a, 0, 0, a.offsetWidth, a.offsetHeight);
d = this.Ba.createElement("gfv");
d.style.width = a.offsetWidth + "px";
d.style.height = a.offsetHeight + "px";
var e = J(a, "display");
d.style.display = "inline" === e ? "inline-block" : e;
d.style.backgroundRepeat = "no-repeat";
var f;
try {
f = c.toDataURL()
} catch (g) {}
f && (d.style.backgroundImage = "url(" + f + ")", pl(this, f));
Qc(d, b)
};
k.lg = function(a, b) {
this.Nc = b
};
k.kk = function(a, b) {
var c = H(a),
d = c.location && c.location.href || c.baseURI;
d && "about:blank" != d && !a.querySelector("base") && (c = this.Ba.createElement("base"), d = new Xd(d), $d(d, null), ae(d, ""), c.href = d.toString(), b.insertBefore(c, b.childNodes[0] || null))
};
k.lk = function(a, b) {
"x-frame-options" === a.httpEquiv.toLowerCase() && "deny" === a.content.toLowerCase() && Qc(this.Ba.createElement(a.tagName), b)
};
k.pi = function(a, b) {
var c = this.Ba.createElement(a.tagName),
d;
a.toDataUrl && (d = a.toDataUrl(), Ce(d) && (c = this.Ba.createElement("img"), c.src = d, pl(this, d)));
c.id = a.id;
c.className = a.className;
c.width = a.width;
c.height = a.height;
d || c.setAttribute("style", a.getAttribute("style"));
Qc(c, b)
};
k.mk = function(a, b) {
b.style.display = "none"
};
k.ng = function(a, b) {
if (fm && a["import"] && (b.href = "//ssl.gstatic.com/support/content/feedback/blank.html?" + encodeURIComponent(a.href), !this.ae[b.href])) {
this.ae[b.href] = b;
var c = new dm(this.Ba, this.ab, this.Fd, this.ae),
d = this.Ba.createElement("link");
b.parentNode && b.parentNode.insertBefore(d, b);
var e = new Q;
Lf(b, ["load", "error"], function() {
var a = b["import"] && b["import"].documentElement;
a && (Qc(c.Nc, a), d.parentNode.replaceChild(b, d));
e.callback(null)
});
var f = c.kd(a["import"]);
R(f, function() {
for (var a = c.Nc.querySelectorAll('link[rel="import"]'),
d = 0; d < a.length; d++) a[d] === this.ae[a[d].href] && b.parentNode && b.parentNode.insertBefore(a[d], b)
}, this);
ch(this.Qa, f);
ch(this.Sb(c), e)
}
};
var mm = function(a, b, c, d, e) {
P.call(this, e);
this.Ga = a;
this.Va = c;
this.Wc = b;
this.Ua = d;
b = this.Va.getWindow();
c = Ec(b);
a = Math.max(Ee(b), c.width);
b = Math.max(Gc(Ac(b).getWindow()), c.height);
this.Me = new bc(a, b);
this.ab = new lh(16);
this.Xb = null;
this.Bb = "u";
this.Ob = new Fj(d, new kh("render"));
bf(this, this.Ob);
this.la = new kh("snapshot")
};
x(mm, P);
mm.prototype.nb = function(a) {
mm.s.nb.call(this, a);
var b = this.Z();
this.ga = b.F("glass");
this.ha = b.Yb("IFRAME", {
frameborder: 0,
style: "border:0;vertical-align:bottom;",
src: Kg
});
this.ha.style.visibility = "hidden";
this.ha.id = "snapshot-frame";
a.appendChild(this.ha);
lc ? (cg(this.ga, "100%", "100%"), cg(a, "100%", "100%"), cg(this.ha, "100%", "100%"), oc && (this.ha.style.top = "-100%", this.ha.style.left = "-100%")) : (lf(this.Va), a = this.Va.Z(), a = Ec(a.getWindow()), cg(this.ha, a.width, a.height), hf(this.Va), cg(this.ga, this.Me.width,
this.Me.height));
gg(this.ha, !1);
this.Xb = nm(this);
this.Ob.initialize(Te(this.Wc), b)
};
mm.prototype.Zb = function() {
mm.s.Zb.call(this);
this.zh().listen(this.Xb, "b", this.Ij)
};
var nm = function(a) {
var b = new dm(Vc(a.ha), a.ab, Oe(a.Ga));
bf(a, b);
return b
};
mm.prototype.Kc = function() {
this.da && this.da.Kc()
};
mm.prototype.getImageData = function() {
var a = this.Ob.Ek;
if (a) {
if (!Ha(a, "data:")) throw Error("data scheme expected");
var b = a.indexOf(",", 5);
if (-1 == b) throw Error("comma expected");
var c = a.indexOf(";base64", 5);
if (-1 == c || c != b - 7) throw Error("base64 content expected");
a = new ck(5 < c ? a.slice(5, c) : null, a.slice(b + 1))
} else a = null;
return a
};
var om = function(a) {
if (a.da && a.zc && a.Uh) {
var b = Ic(document);
return gk(b, a.Uh, a.da, a.zc)
}
return []
};
k = mm.prototype;
k.Sd = function() {
var a = this,
b = nh(new mh, 5);
if ("f" == this.Bb) return b.Y("snapshot failed"), this.dispatchEvent("activate"), b;
if ("s" == this.Bb) return b.callback(null), this.dispatchEvent("activate"), b;
this.ab.qg = 500;
if (!this.Qa) {
var c = function() {
b.Ka || (b.za(), Lg(c))
};
c();
pm(this)
}
bh(S(R(R(R(this.Qa, function() {
return qm(a)
}), function() {
var b = Vc(a.ha),
c = a.Ga.ze.extractMetadataFunction,
f = Fg(a.Va.getWindow().navigator),
b = sg(b, c),
c = new Jg,
g = a.Va.oe();
c.Zf = g;
c.$f = f;
c.J = b;
a.zc = c.Ha();
a.zc.document.url = a.Va.oe();
a.Uh = (new Xj).Ha(a.zc.document)
}), function() {
gg(a.ha, !0);
a.Bb = "s";
a.dispatchEvent("activate");
a.la.report()
}), function() {
a.Bb = "f";
a.dispatchEvent("activate");
a.la.report()
}), b);
return b
};
k.enable = function() {
this.dispatchEvent("enable") && !this.$a && (this.$a = !0, this.da && this.da.Je(!0))
};
k.disable = function() {
this.dispatchEvent("disable") && this.$a && (this.$a = !1, this.da && this.da.Je(!1))
};
k.Ei = function() {
gg(this.F(), !0);
gg(this.ga, !0);
this.Z().sb().body.style.overflow = "hidden"
};
k.show = function() {
gg(this.F(), !0);
gg(this.ga, !0);
gg(this.ha, !0);
if ("u" != this.Bb) {
lf(this.Va);
var a = Ic(this.Va.Z().J),
b = Hc(this.Z().J);
b.style.overflow = "visible";
b.scrollTop = a.y;
b.scrollLeft = a.x;
this.ha.style.visibility = "visible";
a = this.Z().sb().body;
a.style.backgroundColor = "#555";
a.style.overflow = "hidden";
ll(this.Xb);
this.dispatchEvent("show")
}
};
k.Uf = function() {
return "none" != this.F().style.display
};
k.vd = function() {
gg(this.F(), !1);
"u" != this.Bb && (hf(this.Va), this.Z().sb().body.style.backgroundColor = "", Hc(this.Z().J).style.overflow = "hidden", this.dispatchEvent("hide"))
};
k.Gd = function(a) {
this.da && this.da.Gd(a)
};
var pm = function(a) {
if (a.Qa)(new Q).Y("document already loaded");
else {
var b = a.Va.getWindow().document;
Ij(a.Ob, rm(b));
Jj(a.Ob, sm(b));
a.la.start();
a.Bb = "p";
Xe(a.Ua, "snapshot_captured");
var c = Date.now();
a.Qa = S(R(R(R(a.Xb.kd(b), function() {
Gj(a.Ob, a.Xb.Lf);
Hj(a.Ob, a.Xb.zg);
a.la.tick("sc");
Ye(a.Ua, "snapshot_captured", Date.now() - c)
}), function() {
return a.Xb.display(Vc(a.ha))
}), function() {
a.la.tick("sd");
a.la.tick("ss");
$e(a.Ua, "feedback_snapshot_displayed")
}), function() {
a.Bb = "f";
a.la.tick("sf");
Ze(a.Ua, "snapshot_captured",
Date.now() - c)
})
}
},
rm = function(a) {
var b = [];
if (a.styleSheets)
for (var c = 0; c < a.styleSheets.length; c++) try {
if (a.styleSheets[c].cssRules)
for (var d = 0; d < a.styleSheets[c].cssRules.length; d++) 5 === a.styleSheets[c].cssRules[d].type && b.push(a.styleSheets[c].cssRules[d].cssText)
} catch (e) {}
return b
},
sm = function(a) {
a = [a].concat(Je(a, {}));
for (var b = [], c = 0; c < a.length; c++) b = b.concat([].filter.call(a[c].querySelectorAll('link[rel="stylesheet"]'), function(a) {
a: {
a = a.href;
for (var b = 0; b < Pj.length; b++) {
var c = Pj[b],
d = a.match(Vd),
c = c.match(Vd);
if (d[3] == c[3] && d[4] == c[4]) {
a = !0;
break a
}
}
a = !1
}
return a
}).map(function(a) {
return a.href
}));
return b
},
qm = function(a) {
var b = new Q(void 0, a);
tm(a);
a.show();
gg(a.ga, !1);
Lg(b.callback, 0, b);
R(b, function() {
this.la.tick("ar");
$e(this.Ua, "feedback_annotator_ready")
}, a);
return b
},
tm = function(a) {
var b = a.Z();
a.da = "getContext" in document.createElement("CANVAS") ? new Fk(b) : new gl(b);
var b = Vc(a.ha),
c = b.getElementsByTagName("head")[0];
c || (c = b.createElement("head"), b.appendChild(c));
var d = b.createElement("link");
d.rel = "stylesheet";
d.href = a.Wc.Tc.annotatorCss;
c.appendChild(d);
a.zb = b.createElement("div");
cg(a.zb, a.Me.width, a.Me.height);
a.zb.style.zIndex = "100000000000";
a.zb.style.position = "absolute";
a.zb.style.top = "0";
a.zb.style.left = "0";
a.zb.id = "feedback-annotator";
b.body.appendChild(a.zb);
a.da.Jf = new Hk(0, b, a.zb, a.Ga.ze.extractMetadataFunction);
Tg(a.da, a.zb);
a.da.Je(a.$a)
};
mm.prototype.Ij = function(a) {
a = a.target;
Gj(this.Ob, a.Lf);
ll(a)
};
var Z = function(a, b) {
this.K = a;
this.ia = b
};
pa("help.service.Screenshot", Z);
Z.create = function(a, b, c, d, e, f, g, h) {
f = {};
f.timeOfStartCall = Date.now();
h && (f.productId = h.productId);
e = new Le;
e.ze = f || {};
f = new Se(e);
c = {
annotatorCss: d,
renderFrame2Url: c
};
h && (c.xsrfToken = h.xsrfToken, c.sessionId = h.sessionId);
f.Tc = c || {};
f.Ck = f.Tc.sessionId;
f.Ok = f.Tc.xsrfToken;
h = new ff;
h.Di(a);
a = new Ue(e, f);
a.ci = g || "help";
g = new mm(e, f, h, a, Ac(b));
return new Z(b, g)
};
Z.prototype.Sd = function() {
return new md(function(a, b) {
this.ia.T || Tg(this.ia, this.K);
this.ia.Ei();
S(R(R(this.ia.Sd(), this.ia.enable, this.ia), a), b)
}, this)
};
Z.prototype.activate = Z.prototype.Sd;
Z.prototype.uj = function() {
this.ia.vd();
var a = this.ia;
a.Qa && a.Qa.cancel(!0);
a.la = new kh("snapshot");
a.Qa = null;
a.Bb = "u";
a.Xb = nm(a);
a.da && (a.Kc(), a.da.Db(), a.da = null)
};
Z.prototype.deactivate = Z.prototype.uj;
Z.prototype.Gj = function() {
var a = new Jg,
b = this.ia.Va.oe();
a.Zf = b;
b = Fg(window.navigator);
a.$f = b;
a = (a = a.Ha()) ? Ig(a) : [];
return qd(a)
};
Z.prototype.getSystemInfo = Z.prototype.Gj;
Z.prototype.sj = function() {
return this.ia.Sd().then(function() {
this.ia.disable();
var a = this.ia;
a.zc.Ig = Ec();
var b = Hc(Ac(a.ha.contentDocument).J);
a.zc.Ci = new O(b.scrollLeft, b.scrollTop, b.scrollWidth, b.scrollHeight);
return a.Ob.render(Vc(a.ha), dk(a.da), b.scrollLeft, b.scrollTop)
}, null, this).then(function(a) {
return um(this, a.url)
}, null, this)
};
Z.prototype.createScreenshot = Z.prototype.sj;
Z.prototype.Gd = function(a) {
this.ia.Gd(a)
};
Z.prototype.setAnnotationType = Z.prototype.Gd;
Z.prototype.Kc = function() {
this.ia.Kc()
};
Z.prototype.clearAnnotations = Z.prototype.Kc;
var um = function(a, b) {
var c = a.ia.getImageData().toDataUrl(),
d = a.ia.zc || null,
d = d ? Ig(d) : null,
e = ab(om(a.ia), function(a) {
var b = [];
if (a.$) {
var c = a.$,
d = [];
d[0] = c.Ca;
c.Ab && (c = c.Ab, d[1] = [c.left, c.top, c.width, c.height]);
b[0] = d
}
b[1] = a.Fi;
b[2] = a.wj;
b[3] = a.hj;
return b
});
return Sd(new Pd("imageData", c, "previewImageData", b, "annotationData", e, "snapshot", d))
};
}).call(this);
以上是关于javascript screenshot.js的主要内容,如果未能解决你的问题,请参考以下文章
javascript JavaScript isset()等效: - JavaScript
JavaScript 使用JavaScript更改CSS(JavaScript)