You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2736 lines
74 KiB
2736 lines
74 KiB
(function() {
|
|
var m, aa = function(a) {
|
|
var b = 0;
|
|
return function() {
|
|
return b < a.length ? {
|
|
done: !1,
|
|
value: a[b++]
|
|
} : {
|
|
done: !0
|
|
}
|
|
}
|
|
},
|
|
ba = "function" == typeof Object.defineProperties ? Object.defineProperty : function(a, b, c) {
|
|
if (a == Array.prototype || a == Object.prototype) return a;
|
|
a[b] = c.value;
|
|
return a
|
|
},
|
|
ca = function(a) {
|
|
a = ["object" == typeof globalThis && globalThis, a, "object" == typeof window && window, "object" ==
|
|
typeof self && self, "object" == typeof global && global
|
|
];
|
|
for (var b = 0; b < a.length; ++b) {
|
|
var c = a[b];
|
|
if (c && c.Math == Math) return c
|
|
}
|
|
throw Error("Cannot find global object");
|
|
},
|
|
da = ca(this),
|
|
r = function(a, b) {
|
|
if (b) a: {
|
|
var c = da;a = a.split(".");
|
|
for (var d = 0; d < a.length - 1; d++) {
|
|
var e = a[d];
|
|
if (!(e in c)) break a;
|
|
c = c[e]
|
|
}
|
|
a = a[a.length - 1];d = c[a];b = b(d);b != d && null != b && ba(c, a, {
|
|
configurable: !0,
|
|
writable: !0,
|
|
value: b
|
|
})
|
|
}
|
|
};
|
|
r("Symbol", function(a) {
|
|
if (a) return a;
|
|
var b = function(f, g) {
|
|
this.ia = f;
|
|
ba(this, "description", {
|
|
configurable: !0,
|
|
writable: !0,
|
|
value: g
|
|
})
|
|
};
|
|
b.prototype.toString = function() {
|
|
return this.ia
|
|
};
|
|
var c = "jscomp_symbol_" + (1E9 * Math.random() >>> 0) + "_",
|
|
d = 0,
|
|
e = function(f) {
|
|
if (this instanceof e) throw new TypeError("Symbol is not a constructor");
|
|
return new b(c + (f || "") + "_" + d++, f)
|
|
};
|
|
return e
|
|
});
|
|
r("Symbol.iterator", function(a) {
|
|
if (a) return a;
|
|
a = Symbol("Symbol.iterator");
|
|
for (var b =
|
|
"Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array"
|
|
.split(" "), c = 0; c < b.length; c++) {
|
|
var d = da[b[c]];
|
|
"function" === typeof d && "function" != typeof d.prototype[a] && ba(d.prototype, a, {
|
|
configurable: !0,
|
|
writable: !0,
|
|
value: function() {
|
|
return ea(aa(this))
|
|
}
|
|
})
|
|
}
|
|
return a
|
|
});
|
|
var ea = function(a) {
|
|
a = {
|
|
next: a
|
|
};
|
|
a[Symbol.iterator] = function() {
|
|
return this
|
|
};
|
|
return a
|
|
},
|
|
fa = function(a, b, c) {
|
|
if (null == a) throw new TypeError("The 'this' value for String.prototype." + c +
|
|
" must not be null or undefined");
|
|
if (b instanceof RegExp) throw new TypeError("First argument to String.prototype." + c +
|
|
" must not be a regular expression");
|
|
return a + ""
|
|
};
|
|
r("String.prototype.endsWith", function(a) {
|
|
return a ? a : function(b, c) {
|
|
var d = fa(this, b, "endsWith");
|
|
b += "";
|
|
void 0 === c && (c = d.length);
|
|
c = Math.max(0, Math.min(c | 0, d.length));
|
|
for (var e = b.length; 0 < e && 0 < c;)
|
|
if (d[--c] != b[--e]) return !1;
|
|
return 0 >= e
|
|
}
|
|
});
|
|
var ha = function(a, b) {
|
|
a instanceof String && (a += "");
|
|
var c = 0,
|
|
d = !1,
|
|
e = {
|
|
next: function() {
|
|
if (!d && c < a.length) {
|
|
var f = c++;
|
|
return {
|
|
value: b(f, a[f]),
|
|
done: !1
|
|
}
|
|
}
|
|
d = !0;
|
|
return {
|
|
done: !0,
|
|
value: void 0
|
|
}
|
|
}
|
|
};
|
|
e[Symbol.iterator] = function() {
|
|
return e
|
|
};
|
|
return e
|
|
};
|
|
r("Array.prototype.entries", function(a) {
|
|
return a ? a : function() {
|
|
return ha(this, function(b, c) {
|
|
return [b, c]
|
|
})
|
|
}
|
|
});
|
|
r("Array.prototype.keys", function(a) {
|
|
return a ? a : function() {
|
|
return ha(this, function(b) {
|
|
return b
|
|
})
|
|
}
|
|
});
|
|
r("Object.is", function(a) {
|
|
return a ? a : function(b, c) {
|
|
return b === c ? 0 !== b || 1 / b === 1 / c : b !== b && c !== c
|
|
}
|
|
});
|
|
r("Array.prototype.includes", function(a) {
|
|
return a ? a : function(b, c) {
|
|
var d = this;
|
|
d instanceof String && (d = String(d));
|
|
var e = d.length;
|
|
c = c || 0;
|
|
for (0 > c && (c = Math.max(c + e, 0)); c < e; c++) {
|
|
var f = d[c];
|
|
if (f === b || Object.is(f, b)) return !0
|
|
}
|
|
return !1
|
|
}
|
|
});
|
|
r("String.prototype.includes", function(a) {
|
|
return a ? a : function(b, c) {
|
|
return -1 !== fa(this, b, "includes").indexOf(b, c || 0)
|
|
}
|
|
});
|
|
window.gapi = window.gapi || {};
|
|
window.gapi.ua = (new Date).getTime();
|
|
/*
|
|
|
|
Copyright The Closure Library Authors.
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
var t = this || self,
|
|
ia = function(a) {
|
|
var b = typeof a;
|
|
return "object" != b ? b : a ? Array.isArray(a) ? "array" : b : "null"
|
|
},
|
|
la = function(a) {
|
|
var b = ia(a);
|
|
return "array" == b || "object" == b && "number" == typeof a.length
|
|
},
|
|
u = function(a) {
|
|
var b = typeof a;
|
|
return "object" == b && null != a || "function" == b
|
|
},
|
|
ma = "closure_uid_" + (1E9 * Math.random() >>> 0),
|
|
na = 0,
|
|
oa = function(a, b, c) {
|
|
return a.call.apply(a.bind, arguments)
|
|
},
|
|
pa = function(a, b, c) {
|
|
if (!a) throw Error();
|
|
if (2 < arguments.length) {
|
|
var d = Array.prototype.slice.call(arguments, 2);
|
|
return function() {
|
|
var e = Array.prototype.slice.call(arguments);
|
|
Array.prototype.unshift.apply(e, d);
|
|
return a.apply(b, e)
|
|
}
|
|
}
|
|
return function() {
|
|
return a.apply(b, arguments)
|
|
}
|
|
},
|
|
qa = function(a, b, c) {
|
|
qa = Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? oa :
|
|
pa;
|
|
return qa.apply(null, arguments)
|
|
},
|
|
ra = function(a, b) {
|
|
function c() {}
|
|
c.prototype = b.prototype;
|
|
a.ya = b.prototype;
|
|
a.prototype = new c;
|
|
a.prototype.constructor = a;
|
|
a.B = function(d, e, f) {
|
|
for (var g = Array(arguments.length - 2), k = 2; k < arguments.length; k++) g[k - 2] =
|
|
arguments[k];
|
|
return b.prototype[e].apply(d,
|
|
g)
|
|
}
|
|
},
|
|
sa = function(a) {
|
|
return a
|
|
},
|
|
ta = function(a) {
|
|
var b = null,
|
|
c = t.trustedTypes;
|
|
if (!c || !c.createPolicy) return b;
|
|
try {
|
|
b = c.createPolicy(a, {
|
|
createHTML: sa,
|
|
createScript: sa,
|
|
createScriptURL: sa
|
|
})
|
|
} catch (d) {
|
|
t.console && t.console.error(d.message)
|
|
}
|
|
return b
|
|
};
|
|
|
|
function ua(a, b) {
|
|
if (Error.captureStackTrace) Error.captureStackTrace(this, ua);
|
|
else {
|
|
var c = Error().stack;
|
|
c && (this.stack = c)
|
|
}
|
|
a && (this.message = String(a));
|
|
void 0 !== b && (this.cause = b)
|
|
}
|
|
ra(ua, Error);
|
|
ua.prototype.name = "CustomError";
|
|
var va;
|
|
|
|
function wa(a, b) {
|
|
a = a.split("%s");
|
|
for (var c = "", d = a.length - 1, e = 0; e < d; e++) c += a[e] + (e < b.length ? b[e] : "%s");
|
|
ua.call(this, c + a[d])
|
|
}
|
|
ra(wa, ua);
|
|
wa.prototype.name = "AssertionError";
|
|
|
|
function xa(a, b, c, d) {
|
|
var e = "Assertion failed";
|
|
if (c) {
|
|
e += ": " + c;
|
|
var f = d
|
|
} else a && (e += ": " + a, f = b);
|
|
throw new wa("" + e, f || []);
|
|
}
|
|
var ya = function(a, b, c) {
|
|
a || xa("", null, b, Array.prototype.slice.call(arguments, 2));
|
|
return a
|
|
},
|
|
za = function(a, b) {
|
|
throw new wa("Failure" + (a ? ": " + a : ""), Array.prototype.slice.call(arguments, 1));
|
|
},
|
|
Aa = function(a, b, c) {
|
|
"string" !== typeof a && xa("Expected string but got %s: %s.", [ia(a), a], b, Array.prototype.slice
|
|
.call(arguments, 2))
|
|
};
|
|
var Ba = Array.prototype.forEach ? function(a, b) {
|
|
ya(null != a.length);
|
|
Array.prototype.forEach.call(a, b, void 0)
|
|
} : function(a, b) {
|
|
for (var c = a.length, d = "string" === typeof a ? a.split("") : a, e = 0; e < c; e++) e in d && b.call(
|
|
void 0, d[e], e, a)
|
|
};
|
|
|
|
function Ca(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 []
|
|
};
|
|
|
|
function Da(a, b) {
|
|
for (var c in a) b.call(void 0, a[c], c, a)
|
|
};
|
|
var Ea;
|
|
var v = function(a, b) {
|
|
this.U = a === Fa && b || "";
|
|
this.ja = Ga
|
|
};
|
|
v.prototype.G = !0;
|
|
v.prototype.F = function() {
|
|
return this.U
|
|
};
|
|
v.prototype.toString = function() {
|
|
return "Const{" + this.U + "}"
|
|
};
|
|
var Ia = function(a) {
|
|
if (a instanceof v && a.constructor === v && a.ja === Ga) return a.U;
|
|
za("expected object of type Const, got '" + a + "'");
|
|
return "type_error:Const"
|
|
},
|
|
Ga = {},
|
|
Fa = {};
|
|
var x = function(a, b) {
|
|
this.S = b === Ja ? a : ""
|
|
};
|
|
x.prototype.toString = function() {
|
|
return this.S.toString()
|
|
};
|
|
x.prototype.G = !0;
|
|
x.prototype.F = function() {
|
|
return this.S.toString()
|
|
};
|
|
var Ka = function(a) {
|
|
if (a instanceof x && a.constructor === x) return a.S;
|
|
za("expected object of type SafeUrl, got '" + a + "' of type " + ia(a));
|
|
return "type_error:SafeUrl"
|
|
},
|
|
La = /^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i,
|
|
Ma = function(a) {
|
|
if (a instanceof x) return a;
|
|
a = "object" == typeof a && a.G ? a.F() : String(a);
|
|
ya(La.test(a), "%s does not match the safe URL pattern", a) || (a = "about:invalid#zClosurez");
|
|
return new x(a, Ja)
|
|
},
|
|
Ja = {};
|
|
var Na = {},
|
|
Oa = function(a, b) {
|
|
this.R = b === Na ? a : "";
|
|
this.G = !0
|
|
};
|
|
Oa.prototype.F = function() {
|
|
return this.R.toString()
|
|
};
|
|
Oa.prototype.toString = function() {
|
|
return this.R.toString()
|
|
};
|
|
var Pa = function(a, b) {
|
|
this.name = a;
|
|
this.value = b
|
|
};
|
|
Pa.prototype.toString = function() {
|
|
return this.name
|
|
};
|
|
var Qa = new Pa("OFF", Infinity),
|
|
Ra = new Pa("WARNING", 900),
|
|
Sa = new Pa("CONFIG", 700),
|
|
Ta = function() {
|
|
this.C = 0;
|
|
this.clear()
|
|
},
|
|
Ua;
|
|
Ta.prototype.clear = function() {
|
|
this.X = Array(this.C);
|
|
this.Z = -1;
|
|
this.ba = !1
|
|
};
|
|
var Va = function(a, b, c) {
|
|
this.reset(a || Qa, b, c, void 0, void 0)
|
|
};
|
|
Va.prototype.reset = function() {};
|
|
var Wa = function(a, b) {
|
|
this.level = null;
|
|
this.na = [];
|
|
this.parent = (void 0 === b ? null : b) || null;
|
|
this.children = [];
|
|
this.pa = {
|
|
N: function() {
|
|
return a
|
|
}
|
|
}
|
|
},
|
|
Xa = function(a) {
|
|
if (a.level) return a.level;
|
|
if (a.parent) return Xa(a.parent);
|
|
za("Root logger has no level set.");
|
|
return Qa
|
|
},
|
|
Ya = function(a, b) {
|
|
for (; a;) a.na.forEach(function(c) {
|
|
c(b)
|
|
}), a = a.parent
|
|
},
|
|
Za = function() {
|
|
this.entries = {};
|
|
var a = new Wa("");
|
|
a.level = Sa;
|
|
this.entries[""] = a
|
|
},
|
|
$a, ab = function(a, b) {
|
|
var c = a.entries[b];
|
|
if (c) return c;
|
|
c = ab(a, b.slice(0, Math.max(b.lastIndexOf("."),
|
|
0)));
|
|
var d = new Wa(b, c);
|
|
a.entries[b] = d;
|
|
c.children.push(d);
|
|
return d
|
|
},
|
|
bb = function() {
|
|
$a || ($a = new Za);
|
|
return $a
|
|
};
|
|
/*
|
|
|
|
SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
var cb = [],
|
|
db = function(a) {
|
|
var b;
|
|
if (b = ab(bb(), "safevalues").pa) {
|
|
var c = "A URL with content '" + a + "' was sanitized away.",
|
|
d = Ra;
|
|
if (a = b)
|
|
if (a = b && d) {
|
|
a = d.value;
|
|
var e = b ? Xa(ab(bb(), b.N())) : Qa;
|
|
a = a >= e.value
|
|
} if (a) {
|
|
d = d || Qa;
|
|
a = ab(bb(), b.N());
|
|
"function" === typeof c && (c = c());
|
|
Ua || (Ua = new Ta);
|
|
e = Ua;
|
|
b = b.N();
|
|
if (0 < e.C) {
|
|
var f = (e.Z + 1) % e.C;
|
|
e.Z = f;
|
|
e.ba ? (e = e.X[f], e.reset(d, c, b), b = e) : (e.ba = f == e.C - 1, b = e.X[f] = new Va(d,
|
|
c, b))
|
|
} else b = new Va(d, c, b);
|
|
Ya(a, b)
|
|
}
|
|
}
|
|
}; - 1 === cb.indexOf(db) && cb.push(db);
|
|
var eb = function(a, b) {
|
|
if (!u(a) || !u(a) || !u(a) || 1 !== a.nodeType || a.namespaceURI && "http://www.w3.org/1999/xhtml" !==
|
|
a.namespaceURI || a.tagName.toUpperCase() !== b.toString()) {
|
|
b = b.toString() + "; got: ";
|
|
if (u(a)) try {
|
|
var c = a.constructor.displayName || a.constructor.name || Object.prototype.toString.call(a)
|
|
} catch (d) {
|
|
c = "<object could not be stringified>"
|
|
} else c = void 0 === a ? "undefined" : null === a ? "null" : typeof a;
|
|
za("Argument is not an HTML Element with tag name " + (b + c))
|
|
}
|
|
return a
|
|
};
|
|
var hb = function(a, b) {
|
|
Da(b, function(c, d) {
|
|
c && "object" == typeof c && c.G && (c = c.F());
|
|
"style" == d ? a.style.cssText = c : "class" == d ? a.className = c : "for" == d ? a
|
|
.htmlFor = c : fb.hasOwnProperty(d) ? a.setAttribute(fb[d], c) : 0 == d.lastIndexOf(
|
|
"aria-", 0) || 0 == d.lastIndexOf("data-", 0) ? a.setAttribute(d, c) : a[d] = c
|
|
})
|
|
},
|
|
fb = {
|
|
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"
|
|
},
|
|
ib = function(a, b, c, d) {
|
|
function e(k) {
|
|
k && b.appendChild("string" === typeof k ? a.createTextNode(k) : k)
|
|
}
|
|
for (; d < c.length; d++) {
|
|
var f = c[d];
|
|
if (!la(f) || u(f) && 0 < f.nodeType) e(f);
|
|
else {
|
|
a: {
|
|
if (f && "number" == typeof f.length) {
|
|
if (u(f)) {
|
|
var g = "function" == typeof f.item || "string" == typeof f.item;
|
|
break a
|
|
}
|
|
if ("function" === typeof f) {
|
|
g = "function" == typeof f.item;
|
|
break a
|
|
}
|
|
}
|
|
g = !1
|
|
}
|
|
Ba(g ? Ca(f) : f, e)
|
|
}
|
|
}
|
|
},
|
|
jb = function(a, b) {
|
|
b = String(b);
|
|
"application/xhtml+xml" === a.contentType && (b = b.toLowerCase());
|
|
return a.createElement(b)
|
|
},
|
|
kb = function(a) {
|
|
ya(a,
|
|
"Node cannot be null or undefined.");
|
|
return 9 == a.nodeType ? a : a.ownerDocument || a.document
|
|
},
|
|
lb = function(a) {
|
|
this.D = a || t.document || document
|
|
};
|
|
m = lb.prototype;
|
|
m.getElementsByTagName = function(a, b) {
|
|
return (b || this.D).getElementsByTagName(String(a))
|
|
};
|
|
m.ma = function(a, b, c) {
|
|
var d = this.D,
|
|
e = arguments,
|
|
f = e[1],
|
|
g = jb(d, String(e[0]));
|
|
f && ("string" === typeof f ? g.className = f : Array.isArray(f) ? g.className = f.join(" ") : hb(g,
|
|
f));
|
|
2 < e.length && ib(d, g, e, 2);
|
|
return g
|
|
};
|
|
m.createElement = function(a) {
|
|
return jb(this.D, a)
|
|
};
|
|
m.createTextNode = function(a) {
|
|
return this.D.createTextNode(String(a))
|
|
};
|
|
m.appendChild = function(a, b) {
|
|
ya(null != a && null != b, "goog.dom.appendChild expects non-null arguments");
|
|
a.appendChild(b)
|
|
};
|
|
m.append = function(a, b) {
|
|
ib(kb(a), a, arguments, 1)
|
|
};
|
|
m.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
|
|
};
|
|
m.removeNode = function(a) {
|
|
return a && a.parentNode ? a.parentNode.removeChild(a) : null
|
|
};
|
|
m.contains = 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
|
|
};
|
|
/*
|
|
gapi.loader.OBJECT_CREATE_TEST_OVERRIDE &&*/
|
|
var y = window,
|
|
A = document,
|
|
mb = y.location,
|
|
nb = function() {},
|
|
ob = /\[native code\]/,
|
|
B = function(a, b, c) {
|
|
return a[b] = a[b] || c
|
|
},
|
|
pb = function(a) {
|
|
for (var b = 0; b < this.length; b++)
|
|
if (this[b] === a) return b;
|
|
return -1
|
|
},
|
|
qb = function(a) {
|
|
a = a.sort();
|
|
for (var b = [], c = void 0, d = 0; d < a.length; d++) {
|
|
var e = a[d];
|
|
e != c && b.push(e);
|
|
c = e
|
|
}
|
|
return b
|
|
},
|
|
rb = /&/g,
|
|
sb = /</g,
|
|
tb = />/g,
|
|
ub = /"/g,
|
|
vb = /'/g,
|
|
wb = function(a) {
|
|
return String(a).replace(rb, "&").replace(sb, "<").replace(tb, ">").replace(ub, """)
|
|
.replace(vb, "'")
|
|
},
|
|
C = function() {
|
|
var a;
|
|
if ((a = Object.create) &&
|
|
ob.test(a)) a = a(null);
|
|
else {
|
|
a = {};
|
|
for (var b in a) a[b] = void 0
|
|
}
|
|
return a
|
|
},
|
|
D = function(a, b) {
|
|
return Object.prototype.hasOwnProperty.call(a, b)
|
|
},
|
|
xb = function(a) {
|
|
if (ob.test(Object.keys)) return Object.keys(a);
|
|
var b = [],
|
|
c;
|
|
for (c in a) D(a, c) && b.push(c);
|
|
return b
|
|
},
|
|
E = function(a, b) {
|
|
a = a || {};
|
|
for (var c in a) D(a, c) && (b[c] = a[c])
|
|
},
|
|
yb = function(a) {
|
|
return function() {
|
|
y.setTimeout(a, 0)
|
|
}
|
|
},
|
|
F = function(a, b) {
|
|
if (!a) throw Error(b || "");
|
|
},
|
|
H = B(y, "gapi", {});
|
|
var I = function(a, b, c) {
|
|
var d = new RegExp("([#].*&|[#])" + b + "=([^&#]*)", "g");
|
|
b = new RegExp("([?#].*&|[?#])" + b + "=([^&#]*)", "g");
|
|
if (a = a && (d.exec(a) || b.exec(a))) try {
|
|
c = decodeURIComponent(a[2])
|
|
} catch (e) {}
|
|
return c
|
|
},
|
|
zb = new RegExp(/^/.source + /([a-zA-Z][-+.a-zA-Z0-9]*:)?/.source + /(\/\/[^\/?#]*)?/.source + /([^?#]*)?/
|
|
.source + /(\?([^#]*))?/.source + /(#((#|[^#])*))?/.source + /$/.source),
|
|
Ab = /[\ud800-\udbff][\udc00-\udfff]|[^!-~]/g,
|
|
Bb = new RegExp(/(%([^0-9a-fA-F%]|[0-9a-fA-F]([^0-9a-fA-F%])?)?)*/.source +
|
|
/%($|[^0-9a-fA-F]|[0-9a-fA-F]($|[^0-9a-fA-F]))/.source,
|
|
"g"),
|
|
Cb = /%([a-f]|[0-9a-fA-F][a-f])/g,
|
|
Db = /^(https?|ftp|file|chrome-extension):$/i,
|
|
Eb = function(a) {
|
|
a = String(a);
|
|
a = a.replace(Ab, function(e) {
|
|
try {
|
|
return encodeURIComponent(e)
|
|
} catch (f) {
|
|
return encodeURIComponent(e.replace(/^[^%]+$/g, "\ufffd"))
|
|
}
|
|
}).replace(Bb, function(e) {
|
|
return e.replace(/%/g, "%25")
|
|
}).replace(Cb, function(e) {
|
|
return e.toUpperCase()
|
|
});
|
|
a = a.match(zb) || [];
|
|
var b = C(),
|
|
c = function(e) {
|
|
return e.replace(/\\/g, "%5C").replace(/\^/g, "%5E").replace(/`/g, "%60").replace(/\{/g, "%7B")
|
|
.replace(/\|/g, "%7C").replace(/\}/g,
|
|
"%7D")
|
|
},
|
|
d = !!(a[1] || "").match(Db);
|
|
b.B = c((a[1] || "") + (a[2] || "") + (a[3] || (a[2] && d ? "/" : "")));
|
|
d = function(e) {
|
|
return c(e.replace(/\?/g, "%3F").replace(/#/g, "%23"))
|
|
};
|
|
b.query = a[5] ? [d(a[5])] : [];
|
|
b.j = a[7] ? [d(a[7])] : [];
|
|
return b
|
|
},
|
|
Fb = function(a) {
|
|
return a.B + (0 < a.query.length ? "?" + a.query.join("&") : "") + (0 < a.j.length ? "#" + a.j.join(
|
|
"&") : "")
|
|
},
|
|
Gb = function(a, b) {
|
|
var c = [];
|
|
if (a)
|
|
for (var d in a)
|
|
if (D(a, d) && null != a[d]) {
|
|
var e = b ? b(a[d]) : a[d];
|
|
c.push(encodeURIComponent(d) + "=" + encodeURIComponent(e))
|
|
} return c
|
|
},
|
|
Hb = function(a, b, c, d) {
|
|
a = Eb(a);
|
|
a.query.push.apply(a.query, Gb(b, d));
|
|
a.j.push.apply(a.j, Gb(c, d));
|
|
return Fb(a)
|
|
},
|
|
Ib = new RegExp(/\/?\??#?/.source + "(" + /[\/?#]/i.source + "|" + /[\uD800-\uDBFF]/i.source + "|" +
|
|
/%[c-f][0-9a-f](%[89ab][0-9a-f]){0,2}(%[89ab]?)?/i.source + "|" + /%[0-9a-f]?/i.source + ")$", "i"),
|
|
Jb = function(a, b) {
|
|
var c = Eb(b);
|
|
b = c.B;
|
|
c.query.length && (b += "?" + c.query.join(""));
|
|
c.j.length && (b += "#" + c.j.join(""));
|
|
var d = "";
|
|
2E3 < b.length && (d = b, b = b.substr(0, 2E3), b = b.replace(Ib, ""), d = d.substr(b.length));
|
|
var e = a.createElement("div");
|
|
a = a.createElement("a");
|
|
c = Eb(b);
|
|
b = c.B;
|
|
c.query.length && (b += "?" + c.query.join(""));
|
|
c.j.length && (b += "#" + c.j.join(""));
|
|
b = new x(b, Ja);
|
|
eb(a, "A");
|
|
b = b instanceof x ? b : Ma(b);
|
|
a.href = Ka(b);
|
|
e.appendChild(a);
|
|
b = e.innerHTML;
|
|
c = new v(Fa, "Assignment to self.");
|
|
Aa(Ia(c), "must provide justification");
|
|
ya(!/^[\s\xa0]*$/.test(Ia(c)), "must provide non-empty justification");
|
|
void 0 === Ea && (Ea = ta("gapi#html"));
|
|
b = (c = Ea) ? c.createHTML(b) : b;
|
|
b = new Oa(b, Na);
|
|
if (void 0 !== e.tagName) {
|
|
if ("script" === e.tagName.toLowerCase()) throw Error("Use setTextContent with a SafeScript.");
|
|
if ("style" === e.tagName.toLowerCase()) throw Error("Use setTextContent with a SafeStyleSheet.");
|
|
}
|
|
b instanceof Oa && b.constructor === Oa ? b = b.R : (za("expected object of type SafeHtml, got '" + b +
|
|
"' of type " + ia(b)), b = "type_error:SafeHtml");
|
|
e.innerHTML = b;
|
|
b = String(e.firstChild.href);
|
|
e.parentNode && e.parentNode.removeChild(e);
|
|
c = Eb(b + d);
|
|
d = c.B;
|
|
c.query.length && (d += "?" + c.query.join(""));
|
|
c.j.length && (d += "#" + c.j.join(""));
|
|
return d
|
|
},
|
|
Kb = /^https?:\/\/[^\/%\\?#\s]+\/[^\s]*$/i;
|
|
var Lb;
|
|
var Mb = function(a, b, c, d) {
|
|
if (y[c + "EventListener"]) y[c + "EventListener"](a, b, !1);
|
|
else if (y[d + "tachEvent"]) y[d + "tachEvent"]("on" + a, b)
|
|
},
|
|
Nb = function() {
|
|
var a = A.readyState;
|
|
return "complete" === a || "interactive" === a && -1 == navigator.userAgent.indexOf("MSIE")
|
|
},
|
|
Qb = function(a) {
|
|
var b = Ob;
|
|
if (!Nb()) try {
|
|
b()
|
|
} catch (c) {}
|
|
Pb(a)
|
|
},
|
|
Pb = function(a) {
|
|
if (Nb()) a();
|
|
else {
|
|
var b = !1,
|
|
c = function() {
|
|
if (!b) return b = !0, a.apply(this, arguments)
|
|
};
|
|
y.addEventListener ? (y.addEventListener("load", c, !1), y.addEventListener("DOMContentLoaded", c, !
|
|
1)) : y.attachEvent &&
|
|
(y.attachEvent("onreadystatechange", function() {
|
|
Nb() && c.apply(this, arguments)
|
|
}), y.attachEvent("onload", c))
|
|
}
|
|
},
|
|
Rb = function(a) {
|
|
for (; a.firstChild;) a.removeChild(a.firstChild)
|
|
},
|
|
Sb = {
|
|
button: !0,
|
|
div: !0,
|
|
span: !0
|
|
};
|
|
var M = {};
|
|
M = B(y, "___jsl", C());
|
|
B(M, "I", 0);
|
|
B(M, "hel", 10);
|
|
var Tb = function(a) {
|
|
return M.dpo ? M.h : I(a, "jsh", M.h)
|
|
},
|
|
Ub = function(a) {
|
|
var b = B(M, "sws", []);
|
|
b.push.apply(b, a)
|
|
},
|
|
Vb = function(a) {
|
|
return B(M, "watt", C())[a]
|
|
},
|
|
Wb = function(a) {
|
|
var b = B(M, "PQ", []);
|
|
M.PQ = [];
|
|
var c = b.length;
|
|
if (0 === c) a();
|
|
else
|
|
for (var d = 0, e = function() {
|
|
++d === c && a()
|
|
}, f = 0; f < c; f++) b[f](e)
|
|
},
|
|
Xb = function(a) {
|
|
return B(B(M, "H", C()), a, C())
|
|
};
|
|
var Yb = B(M, "perf", C()),
|
|
Zb = B(Yb, "g", C()),
|
|
$b = B(Yb, "i", C());
|
|
B(Yb, "r", []);
|
|
C();
|
|
C();
|
|
var ac = function(a, b, c) {
|
|
var d = Yb.r;
|
|
"function" === typeof d ? d(a, b, c) : d.push([a, b, c])
|
|
},
|
|
N = function(a, b, c) {
|
|
Zb[a] = !b && Zb[a] || c || (new Date).getTime();
|
|
ac(a)
|
|
},
|
|
cc = function(a, b, c) {
|
|
b && 0 < b.length && (b = bc(b), c && 0 < c.length && (b += "___" + bc(c)), 28 < b.length && (b = b
|
|
.substr(0, 28) + (b.length - 28)), c = b, b = B($b, "_p", C()), B(b, c, C())[a] = (new Date)
|
|
.getTime(), ac(a, "_p", c))
|
|
},
|
|
bc = function(a) {
|
|
return a.join("__").replace(/\./g, "_").replace(/\-/g, "_").replace(/,/g, "_")
|
|
};
|
|
var dc = C(),
|
|
O = [],
|
|
P = function(a) {
|
|
throw Error("Bad hint: " + a);
|
|
};
|
|
O.push(["jsl", function(a) {
|
|
for (var b in a)
|
|
if (D(a, b)) {
|
|
var c = a[b];
|
|
"object" == typeof c ? M[b] = B(M, b, []).concat(c) : B(M, b, c)
|
|
} if (b = a.u) a = B(M, "us", []), a.push(b), (b = /^https:(.*)$/.exec(b)) && a.push(
|
|
"http:" + b[1])
|
|
}]);
|
|
var ec = /^(\/[a-zA-Z0-9_\-]+)+$/,
|
|
fc = [/\/amp\//, /\/amp$/, /^\/amp$/],
|
|
gc = /^[a-zA-Z0-9\-_\.,!]+$/,
|
|
hc = /^gapi\.loaded_[0-9]+$/,
|
|
ic = /^[a-zA-Z0-9,._-]+$/,
|
|
mc = function(a, b, c, d, e) {
|
|
var f = a.split(";"),
|
|
g = f.shift(),
|
|
k = dc[g],
|
|
h = null;
|
|
k ? h = k(f, b, c, d) : P("no hint processor for: " + g);
|
|
h || P("failed to generate load url");
|
|
b = h;
|
|
c = b.match(jc);
|
|
(d = b.match(kc)) && 1 === d.length && lc.test(b) && c && 1 === c.length || P("failed sanity: " + a);
|
|
try {
|
|
a = "?";
|
|
if (e && 0 < e.length) {
|
|
c = b = 0;
|
|
for (d = {}; c < e.length;) {
|
|
var l = e[c++];
|
|
f = void 0;
|
|
f = u(l) ? "o" + (Object.prototype.hasOwnProperty.call(l,
|
|
ma) && l[ma] || (l[ma] = ++na)) : (typeof l).charAt(0) + l;
|
|
Object.prototype.hasOwnProperty.call(d, f) || (d[f] = !0, e[b++] = l)
|
|
}
|
|
e.length = b;
|
|
h = h + "?le=" + e.join(",");
|
|
a = "&"
|
|
}
|
|
if (M.rol) {
|
|
var n = M.ol;
|
|
n && n.length && (h = "" + h + a + "ol=" + n.length)
|
|
}
|
|
} catch (q) {}
|
|
return h
|
|
},
|
|
pc = function(a, b, c, d) {
|
|
a = nc(a);
|
|
hc.test(c) || P("invalid_callback");
|
|
b = oc(b);
|
|
d = d && d.length ? oc(d) : null;
|
|
var e = function(f) {
|
|
return encodeURIComponent(f).replace(/%2C/g, ",")
|
|
};
|
|
return [encodeURIComponent(a.pathPrefix).replace(/%2C/g, ",").replace(/%2F/g, "/"), "/k=", e(a.version),
|
|
"/m=",
|
|
e(b), d ? "/exm=" + e(d) : "", "/rt=j/sv=1/d=1/ed=1", a.W ? "/am=" + e(a.W) : "", a.fa ?
|
|
"/rs=" + e(a.fa) : "", a.ha ? "/t=" + e(a.ha) : "", "/cb=", e(c)
|
|
].join("")
|
|
},
|
|
nc = function(a) {
|
|
"/" !== a.charAt(0) && P("relative path");
|
|
for (var b = a.substring(1).split("/"), c = []; b.length;) {
|
|
a = b.shift();
|
|
if (!a.length || 0 == a.indexOf(".")) P("empty/relative directory");
|
|
else if (0 < a.indexOf("=")) {
|
|
b.unshift(a);
|
|
break
|
|
}
|
|
c.push(a)
|
|
}
|
|
a = {};
|
|
for (var d = 0, e = b.length; d < e; ++d) {
|
|
var f = b[d].split("="),
|
|
g = decodeURIComponent(f[0]),
|
|
k = decodeURIComponent(f[1]);
|
|
2 == f.length && g && k && (a[g] =
|
|
a[g] || k)
|
|
}
|
|
b = "/" + c.join("/");
|
|
ec.test(b) || P("invalid_prefix");
|
|
c = 0;
|
|
for (d = fc.length; c < d; ++c) fc[c].test(b) && P("invalid_prefix");
|
|
c = qc(a, "k", !0);
|
|
d = qc(a, "am");
|
|
e = qc(a, "rs");
|
|
a = qc(a, "t");
|
|
return {
|
|
pathPrefix: b,
|
|
version: c,
|
|
W: d,
|
|
fa: e,
|
|
ha: a
|
|
}
|
|
},
|
|
oc = function(a) {
|
|
for (var b = [], c = 0, d = a.length; c < d; ++c) {
|
|
var e = a[c].replace(/\./g, "_").replace(/-/g, "_");
|
|
ic.test(e) && b.push(e)
|
|
}
|
|
return b.join(",")
|
|
},
|
|
qc = function(a, b, c) {
|
|
a = a[b];
|
|
!a && c && P("missing: " + b);
|
|
if (a) {
|
|
if (gc.test(a)) return a;
|
|
P("invalid: " + b)
|
|
}
|
|
return null
|
|
},
|
|
lc = /^https?:\/\/[a-z0-9_.-]+\.google(rs)?\.com(:\d+)?\/[a-zA-Z0-9_.,!=\-\/]+$/,
|
|
kc = /\/cb=/g,
|
|
jc = /\/\//g;
|
|
dc.m = function(a, b, c, d) {
|
|
(a = a[0]) || P("missing_hint");
|
|
return "https://apis.google.com" + pc(a, b, c, d)
|
|
};
|
|
var rc = decodeURI("%73cript"),
|
|
sc = /^[-+_0-9\/A-Za-z]+={0,2}$/,
|
|
tc = function(a, b) {
|
|
for (var c = [], d = 0; d < a.length; ++d) {
|
|
var e = a[d];
|
|
e && 0 > pb.call(b, e) && c.push(e)
|
|
}
|
|
return c
|
|
},
|
|
uc = function() {
|
|
var a = M.nonce;
|
|
return void 0 !== a ? a && a === String(a) && a.match(sc) ? a : M.nonce = null : A.querySelector ? (a =
|
|
A.querySelector("script[nonce]")) ? (a = a.nonce || a.getAttribute("nonce") || "", a && a ===
|
|
String(a) && a.match(sc) ? M.nonce = a : M.nonce = null) : null : null
|
|
},
|
|
xc = function(a) {
|
|
if ("loading" != A.readyState) vc(a);
|
|
else {
|
|
var b = uc(),
|
|
c = "";
|
|
null !== b && (c = ' nonce="' +
|
|
b + '"');
|
|
a = "<" + rc + ' src="' + encodeURI(a) + '"' + c + "></" + rc + ">";
|
|
A.write(wc ? wc.createHTML(a) : a)
|
|
}
|
|
},
|
|
vc = function(a) {
|
|
var b = A.createElement(rc);
|
|
b.setAttribute("src", wc ? wc.createScriptURL(a) : a);
|
|
a = uc();
|
|
null !== a && b.setAttribute("nonce", a);
|
|
b.async = "true";
|
|
(a = A.getElementsByTagName(rc)[0]) ? a.parentNode.insertBefore(b, a): (A.head || A.body || A
|
|
.documentElement).appendChild(b)
|
|
},
|
|
zc = function(a, b, c) {
|
|
yc(function() {
|
|
var d = b === Tb(mb.href) ? B(H, "_", C()) : C();
|
|
d = B(Xb(b), "_", d);
|
|
a(d)
|
|
}, c)
|
|
},
|
|
Bc = function(a, b) {
|
|
var c = b || {};
|
|
"function" == typeof b &&
|
|
(c = {}, c.callback = b);
|
|
var d = (b = c) && b._c;
|
|
if (d)
|
|
for (var e = 0; e < O.length; e++) {
|
|
var f = O[e][0],
|
|
g = O[e][1];
|
|
g && D(d, f) && g(d[f], a, b)
|
|
}
|
|
b = [];
|
|
a ? b = a.split(":") : c.features && (b = c.features);
|
|
if (!(a = c.h) && (a = Tb(mb.href), !a)) throw Error("Bad hint: !hint");
|
|
Ac(b || [], c, a)
|
|
},
|
|
Ac = function(a, b, c) {
|
|
var d = !!M.glrp;
|
|
a = qb(a) || [];
|
|
var e = b.callback,
|
|
f = b.config,
|
|
g = b.timeout,
|
|
k = b.ontimeout,
|
|
h = b.onerror,
|
|
l = void 0;
|
|
"function" == typeof h && (l = h);
|
|
var n = null,
|
|
q = !1;
|
|
if (g && !k || !g && k)
|
|
throw "Timeout requires both the timeout parameter and ontimeout parameter to be set";
|
|
h = B(Xb(c), "r", []).sort();
|
|
var p = B(Xb(c), "L", []).sort(),
|
|
J = M.le || [],
|
|
z = [].concat(h),
|
|
w = function(R, ja) {
|
|
if (q) return 0;
|
|
y.clearTimeout(n);
|
|
p.push.apply(p, G);
|
|
var ka = ((H || {}).config || {}).update;
|
|
ka ? ka(f) : f && B(M, "cu", []).push(f);
|
|
if (ja) {
|
|
cc("me0", R, z);
|
|
try {
|
|
zc(ja, c, l)
|
|
} finally {
|
|
cc("me1", R, z)
|
|
}
|
|
}
|
|
return 1
|
|
};
|
|
0 < g && (n = y.setTimeout(function() {
|
|
q = !0;
|
|
k()
|
|
}, g));
|
|
var G = tc(a, p);
|
|
if (G.length) {
|
|
G = tc(a, h);
|
|
var K = B(M, "CP", []),
|
|
L = K.length;
|
|
K[L] = function(R) {
|
|
if (!R) return 0;
|
|
cc("ml1", G, z);
|
|
var ja = function(Ha) {
|
|
d || (K[L] = null);
|
|
w(G, R) && (d && (K[L] = null),
|
|
Wb(function() {
|
|
e && e();
|
|
Ha()
|
|
}))
|
|
},
|
|
ka = function() {
|
|
var Ha = K[L + 1];
|
|
Ha && Ha()
|
|
};
|
|
0 < L && K[L - 1] ? K[L] = function() {
|
|
ja(ka)
|
|
} : ja(ka)
|
|
};
|
|
if (G.length) {
|
|
var gb = "loaded_" + M.I++;
|
|
H[gb] = function(R) {
|
|
K[L](R);
|
|
H[gb] = null
|
|
};
|
|
a = mc(c, G, "gapi." + gb, h, J);
|
|
h.push.apply(h, G);
|
|
cc("ml0", G, z);
|
|
b.sync || y.___gapisync ? xc(a) : vc(a)
|
|
} else K[L](nb)
|
|
} else w(G) && e && e()
|
|
},
|
|
wc = ta("gapi#gapi");
|
|
var yc = function(a, b) {
|
|
if (M.hee && 0 < M.hel) try {
|
|
return a()
|
|
} catch (c) {
|
|
b && b(c), M.hel--, Bc("debug_error", function() {
|
|
try {
|
|
window.___jsl.hefn(c)
|
|
} catch (d) {
|
|
throw c;
|
|
}
|
|
})
|
|
} else try {
|
|
return a()
|
|
} catch (c) {
|
|
throw b && b(c), c;
|
|
}
|
|
};
|
|
var Cc = H.load;
|
|
Cc && B(M, "ol", []).push(Cc);
|
|
H.load = function(a, b) {
|
|
return yc(function() {
|
|
return Bc(a, b)
|
|
})
|
|
};
|
|
var Dc = function(a) {
|
|
var b = window.___jsl = window.___jsl || {};
|
|
b[a] = b[a] || [];
|
|
return b[a]
|
|
},
|
|
Ec = function(a) {
|
|
var b = window.___jsl = window.___jsl || {};
|
|
b.cfg = !a && b.cfg || {};
|
|
return b.cfg
|
|
},
|
|
Fc = function(a) {
|
|
return "object" === typeof a && /\[native code\]/.test(a.push)
|
|
},
|
|
Q = function(a, b, c) {
|
|
if (b && "object" === typeof b)
|
|
for (var d in b) !Object.prototype.hasOwnProperty.call(b, d) || c && "___goc" === d &&
|
|
"undefined" === typeof b[d] || (a[d] && b[d] && "object" === typeof a[d] && "object" ===
|
|
typeof b[d] && !Fc(a[d]) && !Fc(b[d]) ? Q(a[d], b[d]) : b[d] && "object" ===
|
|
typeof b[d] ? (a[d] = Fc(b[d]) ? [] : {}, Q(a[d], b[d])) : a[d] = b[d])
|
|
},
|
|
Gc = function(a) {
|
|
if (a && !/^\s+$/.test(a)) {
|
|
for (; 0 == a.charCodeAt(a.length - 1);) a = a.substring(0, a.length - 1);
|
|
try {
|
|
var b = window.JSON.parse(a)
|
|
} catch (c) {}
|
|
if ("object" === typeof b) return b;
|
|
try {
|
|
b = (new Function("return (" + a + "\n)"))()
|
|
} catch (c) {}
|
|
if ("object" === typeof b) return b;
|
|
try {
|
|
b = (new Function("return ({" + a + "\n})"))()
|
|
} catch (c) {}
|
|
return "object" === typeof b ? b : {}
|
|
}
|
|
},
|
|
Hc = function(a, b) {
|
|
var c = {
|
|
___goc: void 0
|
|
};
|
|
a.length && a[a.length - 1] && Object.hasOwnProperty.call(a[a.length -
|
|
1], "___goc") && "undefined" === typeof a[a.length - 1].___goc && (c = a.pop());
|
|
Q(c, b);
|
|
a.push(c)
|
|
},
|
|
Ic = function(a) {
|
|
Ec(!0);
|
|
var b = window.___gcfg,
|
|
c = Dc("cu"),
|
|
d = window.___gu;
|
|
b && b !== d && (Hc(c, b), window.___gu = b);
|
|
b = Dc("cu");
|
|
var e = document.scripts || document.getElementsByTagName("script") || [];
|
|
d = [];
|
|
var f = [];
|
|
f.push.apply(f, Dc("us"));
|
|
for (var g = 0; g < e.length; ++g)
|
|
for (var k = e[g], h = 0; h < f.length; ++h) k.src && 0 == k.src.indexOf(f[h]) && d.push(k);
|
|
0 == d.length && 0 < e.length && e[e.length - 1].src && d.push(e[e.length - 1]);
|
|
for (e = 0; e < d.length; ++e) d[e].getAttribute("gapi_processed") ||
|
|
(d[e].setAttribute("gapi_processed", !0), (f = d[e]) ? (g = f.nodeType, f = 3 == g || 4 == g ? f
|
|
.nodeValue : f.textContent || "") : f = void 0, (f = Gc(f)) && b.push(f));
|
|
a && Hc(c, a);
|
|
d = Dc("cd");
|
|
a = 0;
|
|
for (b = d.length; a < b; ++a) Q(Ec(), d[a], !0);
|
|
d = Dc("ci");
|
|
a = 0;
|
|
for (b = d.length; a < b; ++a) Q(Ec(), d[a], !0);
|
|
a = 0;
|
|
for (b = c.length; a < b; ++a) Q(Ec(), c[a], !0)
|
|
},
|
|
S = function(a) {
|
|
var b = Ec();
|
|
if (!a) return b;
|
|
a = a.split("/");
|
|
for (var c = 0, d = a.length; b && "object" === typeof b && c < d; ++c) b = b[a[c]];
|
|
return c === a.length && void 0 !== b ? b : void 0
|
|
},
|
|
Jc = function(a, b) {
|
|
var c;
|
|
if ("string" === typeof a) {
|
|
var d =
|
|
c = {};
|
|
a = a.split("/");
|
|
for (var e = 0, f = a.length; e < f - 1; ++e) {
|
|
var g = {};
|
|
d = d[a[e]] = g
|
|
}
|
|
d[a[e]] = b
|
|
} else c = a;
|
|
Ic(c)
|
|
};
|
|
var Kc = function() {
|
|
var a = window.__GOOGLEAPIS;
|
|
a && (a.googleapis && !a["googleapis.config"] && (a["googleapis.config"] = a.googleapis), B(M, "ci", [])
|
|
.push(a), window.__GOOGLEAPIS = void 0)
|
|
};
|
|
var Lc = {
|
|
callback: 1,
|
|
clientid: 1,
|
|
cookiepolicy: 1,
|
|
openidrealm: -1,
|
|
includegrantedscopes: -1,
|
|
requestvisibleactions: 1,
|
|
scope: 1
|
|
},
|
|
Mc = !1,
|
|
Nc = C(),
|
|
Oc = function() {
|
|
if (!Mc) {
|
|
for (var a = document.getElementsByTagName("meta"), b = 0; b < a.length; ++b) {
|
|
var c = a[b].name.toLowerCase();
|
|
if (0 == c.lastIndexOf("google-signin-", 0)) {
|
|
c = c.substring(14);
|
|
var d = a[b].content;
|
|
Lc[c] && d && (Nc[c] = d)
|
|
}
|
|
}
|
|
if (window.self !== window.top) {
|
|
a = document.location.toString();
|
|
for (var e in Lc) 0 < Lc[e] && (b = I(a, e, "")) && (Nc[e] = b)
|
|
}
|
|
Mc = !0
|
|
}
|
|
e = C();
|
|
E(Nc, e);
|
|
return e
|
|
},
|
|
Pc = function(a) {
|
|
return !!(a.clientid &&
|
|
a.scope && a.callback)
|
|
};
|
|
var Qc = function() {
|
|
this.i = window.console
|
|
};
|
|
Qc.prototype.log = function(a) {
|
|
this.i && this.i.log && this.i.log(a)
|
|
};
|
|
Qc.prototype.error = function(a) {
|
|
this.i && (this.i.error ? this.i.error(a) : this.i.log && this.i.log(a))
|
|
};
|
|
Qc.prototype.warn = function(a) {
|
|
this.i && (this.i.warn ? this.i.warn(a) : this.i.log && this.i.log(a))
|
|
};
|
|
Qc.prototype.debug = function() {};
|
|
var Rc = new Qc;
|
|
var Sc = function() {
|
|
return !!M.oa
|
|
},
|
|
Tc = function() {};
|
|
var T = B(M, "rw", C()),
|
|
Uc = function(a) {
|
|
for (var b in T) a(T[b])
|
|
},
|
|
Vc = function(a, b) {
|
|
(a = T[a]) && a.state < b && (a.state = b)
|
|
};
|
|
var U = function(a) {
|
|
var b = window.___jsl = window.___jsl || {};
|
|
b.cfg = b.cfg || {};
|
|
b = b.cfg;
|
|
if (!a) return b;
|
|
a = a.split("/");
|
|
for (var c = 0, d = a.length; b && "object" === typeof b && c < d; ++c) b = b[a[c]];
|
|
return c === a.length && void 0 !== b ? b : void 0
|
|
};
|
|
var Wc = /^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?#]*)?\/u\/(\d)\//,
|
|
Xc = /^https?:\/\/(?:\w|[\-\.])+\.google\.(?:\w|[\-:\.])+(?:\/[^\?#]*)?\/b\/(\d{10,21})\//,
|
|
Yc = function() {
|
|
var a = U("googleapis.config/sessionIndex");
|
|
"string" === typeof a && 254 < a.length && (a = null);
|
|
null == a && (a = window.__X_GOOG_AUTHUSER);
|
|
"string" === typeof a && 254 < a.length && (a = null);
|
|
if (null == a) {
|
|
var b = window.google;
|
|
b && (a = b.authuser)
|
|
}
|
|
"string" === typeof a && 254 < a.length && (a = null);
|
|
null == a && (b = window.location.href, a = I(b, "authuser") ||
|
|
null, null == a && (a = (a = b.match(Wc)) ? a[1] : null));
|
|
if (null == a) return null;
|
|
a = String(a);
|
|
254 < a.length && (a = null);
|
|
return a
|
|
},
|
|
Zc = function() {
|
|
var a = U("googleapis.config/sessionDelegate");
|
|
"string" === typeof a && 21 < a.length && (a = null);
|
|
null == a && (a = (a = window.location.href.match(Xc)) ? a[1] : null);
|
|
if (null == a) return null;
|
|
a = String(a);
|
|
21 < a.length && (a = null);
|
|
return a
|
|
};
|
|
var $c, V, W = void 0,
|
|
X = function(a) {
|
|
try {
|
|
return t.JSON.parse.call(t.JSON, a)
|
|
} catch (b) {
|
|
return !1
|
|
}
|
|
},
|
|
Y = function(a) {
|
|
return Object.prototype.toString.call(a)
|
|
},
|
|
ad = Y(0),
|
|
bd = Y(new Date(0)),
|
|
cd = Y(!0),
|
|
dd = Y(""),
|
|
ed = Y({}),
|
|
fd = Y([]),
|
|
gd = function(a, b) {
|
|
if (b)
|
|
for (var c = 0, d = b.length; c < d; ++c)
|
|
if (a === b[c]) throw new TypeError("Converting circular structure to JSON");
|
|
d = typeof a;
|
|
if ("undefined" !== d) {
|
|
c = Array.prototype.slice.call(b || [], 0);
|
|
c[c.length] = a;
|
|
b = [];
|
|
var e = Y(a);
|
|
if (null != a && "function" === typeof a.toJSON && (Object.prototype.hasOwnProperty.call(a,
|
|
"toJSON") || (e !== fd || a.constructor !== Array && a.constructor !== Object) && (e !==
|
|
ed || a.constructor !== Array && a.constructor !== Object) && e !== dd && e !== ad &&
|
|
e !== cd && e !== bd)) return gd(a.toJSON.call(a), c);
|
|
if (null == a) b[b.length] = "null";
|
|
else if (e === ad) a = Number(a), isNaN(a) || isNaN(a - a) ? a = "null" : -0 === a && 0 > 1 / a && (
|
|
a = "-0"), b[b.length] = String(a);
|
|
else if (e === cd) b[b.length] = String(!!Number(a));
|
|
else {
|
|
if (e === bd) return gd(a.toISOString.call(a), c);
|
|
if (e === fd && Y(a.length) === ad) {
|
|
b[b.length] = "[";
|
|
var f = 0;
|
|
for (d = Number(a.length) >> 0; f < d; ++f) f &&
|
|
(b[b.length] = ","), b[b.length] = gd(a[f], c) || "null";
|
|
b[b.length] = "]"
|
|
} else if (e == dd && Y(a.length) === ad) {
|
|
b[b.length] = '"';
|
|
f = 0;
|
|
for (c = Number(a.length) >> 0; f < c; ++f) d = String.prototype.charAt.call(a, f), e =
|
|
String.prototype.charCodeAt.call(a, f), b[b.length] = "\b" === d ? "\\b" : "\f" === d ?
|
|
"\\f" : "\n" === d ? "\\n" : "\r" === d ? "\\r" : "\t" === d ? "\\t" : "\\" === d ||
|
|
'"' === d ? "\\" + d : 31 >= e ? "\\u" + (e + 65536).toString(16).substr(1) : 32 <= e &&
|
|
65535 >= e ? d : "\ufffd";
|
|
b[b.length] = '"'
|
|
} else if ("object" === d) {
|
|
b[b.length] = "{";
|
|
d = 0;
|
|
for (f in a) Object.prototype.hasOwnProperty.call(a,
|
|
f) && (e = gd(a[f], c), void 0 !== e && (d++ && (b[b.length] = ","), b[b.length] =
|
|
gd(f), b[b.length] = ":", b[b.length] = e));
|
|
b[b.length] = "}"
|
|
} else return
|
|
}
|
|
return b.join("")
|
|
}
|
|
},
|
|
hd = /[\0-\x07\x0b\x0e-\x1f]/,
|
|
id = /^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*[\0-\x1f]/,
|
|
jd = /^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\[^\\\/"bfnrtu]/,
|
|
kd = /^([^"]*"([^\\"]|\\.)*")*[^"]*"([^"\\]|\\.)*\\u([0-9a-fA-F]{0,3}[^0-9a-fA-F])/,
|
|
ld = /"([^\0-\x1f\\"]|\\[\\\/"bfnrt]|\\u[0-9a-fA-F]{4})*"/g,
|
|
md = /-?(0|[1-9][0-9]*)(\.[0-9]+)?([eE][-+]?[0-9]+)?/g,
|
|
nd = /[ \t\n\r]+/g,
|
|
od = /[^"]:/,
|
|
pd = /""/g,
|
|
qd = /true|false|null/g,
|
|
rd = /00/,
|
|
sd = /[\{]([^0\}]|0[^:])/,
|
|
td = /(^|\[)[,:]|[,:](\]|\}|[,:]|$)/,
|
|
ud = /[^\[,:][\[\{]/,
|
|
vd = /^(\{|\}|\[|\]|,|:|0)+/,
|
|
wd = /\u2028/g,
|
|
xd = /\u2029/g,
|
|
yd = function(a) {
|
|
a = String(a);
|
|
if (hd.test(a) || id.test(a) || jd.test(a) || kd.test(a)) return !1;
|
|
var b = a.replace(ld, '""');
|
|
b = b.replace(md, "0");
|
|
b = b.replace(nd, "");
|
|
if (od.test(b)) return !1;
|
|
b = b.replace(pd, "0");
|
|
b = b.replace(qd, "0");
|
|
if (rd.test(b) || sd.test(b) || td.test(b) || ud.test(b) || !b || (b = b.replace(vd, ""))) return !1;
|
|
a = a.replace(wd, "\\u2028").replace(xd,
|
|
"\\u2029");
|
|
b = void 0;
|
|
try {
|
|
b = W ? [X(a)] : eval(
|
|
"(function (var_args) {\n return Array.prototype.slice.call(arguments, 0);\n})(\n" + a +
|
|
"\n)")
|
|
} catch (c) {
|
|
return !1
|
|
}
|
|
return b && 1 === b.length ? b[0] : !1
|
|
},
|
|
zd = function() {
|
|
var a = ((t.document || {}).scripts || []).length;
|
|
if ((void 0 === $c || void 0 === W || V !== a) && -1 !== V) {
|
|
$c = W = !1;
|
|
V = -1;
|
|
try {
|
|
try {
|
|
W = !!t.JSON && '{"a":[3,true,"1970-01-01T00:00:00.000Z"]}' === t.JSON.stringify.call(t
|
|
.JSON, {
|
|
a: [3, !0, new Date(0)],
|
|
c: function() {}
|
|
}) && !0 === X("true") && 3 === X('[{"a":3}]')[0].a
|
|
} catch (b) {}
|
|
$c = W && !X("[00]") &&
|
|
!X('"\u0007"') && !X('"\\0"') && !X('"\\v"')
|
|
} finally {
|
|
V = a
|
|
}
|
|
}
|
|
},
|
|
Ad = function(a) {
|
|
if (-1 === V) return !1;
|
|
zd();
|
|
return ($c ? X : yd)(a)
|
|
},
|
|
Bd = function(a) {
|
|
if (-1 !== V) return zd(), W ? t.JSON.stringify.call(t.JSON, a) : gd(a)
|
|
},
|
|
Cd = !Date.prototype.toISOString || "function" !== typeof Date.prototype.toISOString ||
|
|
"1970-01-01T00:00:00.000Z" !== (new Date(0)).toISOString(),
|
|
Dd = function() {
|
|
var a = Date.prototype.getUTCFullYear.call(this);
|
|
return [0 > a ? "-" + String(1E6 - a).substr(1) : 9999 >= a ? String(1E4 + a).substr(1) : "+" + String(
|
|
1E6 + a).substr(1), "-", String(101 +
|
|
Date.prototype.getUTCMonth.call(this)).substr(1), "-", String(100 + Date.prototype
|
|
.getUTCDate.call(this)).substr(1), "T", String(100 + Date.prototype.getUTCHours.call(this))
|
|
.substr(1), ":", String(100 + Date.prototype.getUTCMinutes.call(this)).substr(1), ":", String(
|
|
100 + Date.prototype.getUTCSeconds.call(this)).substr(1), ".", String(1E3 + Date.prototype
|
|
.getUTCMilliseconds.call(this)).substr(1), "Z"
|
|
].join("")
|
|
};
|
|
Date.prototype.toISOString = Cd ? Dd : Date.prototype.toISOString;
|
|
var Ed = function() {
|
|
this.blockSize = -1
|
|
};
|
|
var Fd = function() {
|
|
this.blockSize = -1;
|
|
this.blockSize = 64;
|
|
this.g = [];
|
|
this.M = [];
|
|
this.ka = [];
|
|
this.J = [];
|
|
this.J[0] = 128;
|
|
for (var a = 1; a < this.blockSize; ++a) this.J[a] = 0;
|
|
this.K = this.v = 0;
|
|
this.reset()
|
|
};
|
|
ra(Fd, Ed);
|
|
Fd.prototype.reset = function() {
|
|
this.g[0] = 1732584193;
|
|
this.g[1] = 4023233417;
|
|
this.g[2] = 2562383102;
|
|
this.g[3] = 271733878;
|
|
this.g[4] = 3285377520;
|
|
this.K = this.v = 0
|
|
};
|
|
var Gd = function(a, b, c) {
|
|
c || (c = 0);
|
|
var d = a.ka;
|
|
if ("string" === typeof b)
|
|
for (var e = 0; 16 > e; e++) d[e] = b.charCodeAt(c) << 24 | b.charCodeAt(c + 1) << 16 | b
|
|
.charCodeAt(c + 2) << 8 | b.charCodeAt(c + 3), c += 4;
|
|
else
|
|
for (e = 0; 16 > e; e++) d[e] = b[c] << 24 | b[c + 1] << 16 | b[c + 2] << 8 | b[c + 3], c += 4;
|
|
for (e = 16; 80 > e; e++) {
|
|
var f = d[e - 3] ^ d[e - 8] ^ d[e - 14] ^ d[e - 16];
|
|
d[e] = (f << 1 | f >>> 31) & 4294967295
|
|
}
|
|
b = a.g[0];
|
|
c = a.g[1];
|
|
var g = a.g[2],
|
|
k = a.g[3],
|
|
h = a.g[4];
|
|
for (e = 0; 80 > e; e++) {
|
|
if (40 > e)
|
|
if (20 > e) {
|
|
f = k ^ c & (g ^ k);
|
|
var l = 1518500249
|
|
} else f = c ^ g ^ k, l = 1859775393;
|
|
else 60 > e ? (f = c & g | k & (c | g), l = 2400959708) :
|
|
(f = c ^ g ^ k, l = 3395469782);
|
|
f = (b << 5 | b >>> 27) + f + h + l + d[e] & 4294967295;
|
|
h = k;
|
|
k = g;
|
|
g = (c << 30 | c >>> 2) & 4294967295;
|
|
c = b;
|
|
b = f
|
|
}
|
|
a.g[0] = a.g[0] + b & 4294967295;
|
|
a.g[1] = a.g[1] + c & 4294967295;
|
|
a.g[2] = a.g[2] + g & 4294967295;
|
|
a.g[3] = a.g[3] + k & 4294967295;
|
|
a.g[4] = a.g[4] + h & 4294967295
|
|
};
|
|
Fd.prototype.update = function(a, b) {
|
|
if (null != a) {
|
|
void 0 === b && (b = a.length);
|
|
for (var c = b - this.blockSize, d = 0, e = this.M, f = this.v; d < b;) {
|
|
if (0 == f)
|
|
for (; d <= c;) Gd(this, a, d), d += this.blockSize;
|
|
if ("string" === typeof a)
|
|
for (; d < b;) {
|
|
if (e[f] = a.charCodeAt(d), ++f, ++d, f == this.blockSize) {
|
|
Gd(this, e);
|
|
f = 0;
|
|
break
|
|
}
|
|
} else
|
|
for (; d < b;)
|
|
if (e[f] = a[d], ++f, ++d, f == this.blockSize) {
|
|
Gd(this, e);
|
|
f = 0;
|
|
break
|
|
}
|
|
}
|
|
this.v = f;
|
|
this.K += b
|
|
}
|
|
};
|
|
Fd.prototype.digest = function() {
|
|
var a = [],
|
|
b = 8 * this.K;
|
|
56 > this.v ? this.update(this.J, 56 - this.v) : this.update(this.J, this.blockSize - (this.v - 56));
|
|
for (var c = this.blockSize - 1; 56 <= c; c--) this.M[c] = b & 255, b /= 256;
|
|
Gd(this, this.M);
|
|
for (c = b = 0; 5 > c; c++)
|
|
for (var d = 24; 0 <= d; d -= 8) a[b] = this.g[c] >> d & 255, ++b;
|
|
return a
|
|
};
|
|
var Hd = function() {
|
|
this.T = new Fd
|
|
};
|
|
Hd.prototype.reset = function() {
|
|
this.T.reset()
|
|
};
|
|
var Id = y.crypto,
|
|
Jd = !1,
|
|
Kd = 0,
|
|
Ld = 0,
|
|
Md = 1,
|
|
Nd = 0,
|
|
Od = "",
|
|
Pd = function(a) {
|
|
a = a || y.event;
|
|
var b = a.screenX + a.clientX << 16;
|
|
b += a.screenY + a.clientY;
|
|
b *= (new Date).getTime() % 1E6;
|
|
Md = Md * b % Nd;
|
|
0 < Kd && ++Ld == Kd && Mb("mousemove", Pd, "remove", "de")
|
|
},
|
|
Qd = function(a) {
|
|
var b = new Hd;
|
|
a = unescape(encodeURIComponent(a));
|
|
for (var c = [], d = 0, e = a.length; d < e; ++d) c.push(a.charCodeAt(d));
|
|
b.T.update(c);
|
|
b = b.T.digest();
|
|
a = "";
|
|
for (c = 0; c < b.length; c++) a += "0123456789ABCDEF".charAt(Math.floor(b[c] / 16)) +
|
|
"0123456789ABCDEF".charAt(b[c] % 16);
|
|
return a
|
|
};
|
|
Jd = !!Id && "function" == typeof Id.getRandomValues;
|
|
Jd || (Nd = 1E6 * (screen.width * screen.width + screen.height), Od = Qd(A.cookie + "|" + A.location + "|" + (
|
|
new Date).getTime() + "|" + Math.random()), Kd = U("random/maxObserveMousemove") || 0, 0 != Kd &&
|
|
Mb("mousemove", Pd, "add", "at"));
|
|
var Rd = function() {
|
|
var a = M.onl;
|
|
if (!a) {
|
|
a = C();
|
|
M.onl = a;
|
|
var b = C();
|
|
a.e = function(c) {
|
|
var d = b[c];
|
|
d && (delete b[c], d())
|
|
};
|
|
a.a = function(c, d) {
|
|
b[c] = d
|
|
};
|
|
a.r = function(c) {
|
|
delete b[c]
|
|
}
|
|
}
|
|
return a
|
|
},
|
|
Sd = function(a, b) {
|
|
b = b.onload;
|
|
return "function" === typeof b ? (Rd().a(a, b), b) : null
|
|
},
|
|
Td = function(a) {
|
|
F(/^\w+$/.test(a), "Unsupported id - " + a);
|
|
return 'onload="window.___jsl.onl.e("' + a + '")"'
|
|
},
|
|
Ud = function(a) {
|
|
Rd().r(a)
|
|
};
|
|
var Vd = {
|
|
allowtransparency: "true",
|
|
frameborder: "0",
|
|
hspace: "0",
|
|
marginheight: "0",
|
|
marginwidth: "0",
|
|
scrolling: "no",
|
|
style: "",
|
|
tabindex: "0",
|
|
vspace: "0",
|
|
width: "100%"
|
|
},
|
|
Wd = {
|
|
allowtransparency: !0,
|
|
onload: !0
|
|
},
|
|
Xd = 0,
|
|
Yd = function(a) {
|
|
F(!a || Kb.test(a), "Illegal url for new iframe - " + a)
|
|
},
|
|
Zd = function(a, b, c, d, e) {
|
|
Yd(c.src);
|
|
var f, g = Sd(d, c),
|
|
k = g ? Td(d) : "";
|
|
try {
|
|
document.all && (f = a.createElement('<iframe frameborder="' + wb(String(c.frameborder)) +
|
|
'" scrolling="' + wb(String(c.scrolling)) + '" ' + k + ' name="' + wb(String(c.name)) +
|
|
'"/>'))
|
|
} catch (l) {} finally {
|
|
f ||
|
|
(f = (a ? new lb(kb(a)) : va || (va = new lb)).ma("IFRAME"), g && (f.onload = function() {
|
|
f.onload = null;
|
|
g.call(this)
|
|
}, Ud(d)))
|
|
}
|
|
f.setAttribute("ng-non-bindable", "");
|
|
for (var h in c) a = c[h], "style" === h && "object" === typeof a ? E(a, f.style) : Wd[h] || f
|
|
.setAttribute(h, String(a));
|
|
(h = e && e.beforeNode || null) || e && e.dontclear || Rb(b);
|
|
b.insertBefore(f, h);
|
|
f = h ? h.previousSibling : b.lastChild;
|
|
c.allowtransparency && (f.allowTransparency = !0);
|
|
return f
|
|
};
|
|
var $d = /^:[\w]+$/,
|
|
ae = /:([a-zA-Z_]+):/g,
|
|
be = function() {
|
|
var a = Yc() || "0",
|
|
b = Zc();
|
|
var c = Yc() || a;
|
|
var d = Zc(),
|
|
e = "";
|
|
c && (e += "u/" + encodeURIComponent(String(c)) + "/");
|
|
d && (e += "b/" + encodeURIComponent(String(d)) + "/");
|
|
c = e || null;
|
|
(e = (d = !1 === U("isLoggedIn")) ? "_/im/" : "") && (c = "");
|
|
var f = U("iframes/:socialhost:"),
|
|
g = U("iframes/:im_socialhost:");
|
|
return Lb = {
|
|
socialhost: f,
|
|
ctx_socialhost: d ? g : f,
|
|
session_index: a,
|
|
session_delegate: b,
|
|
session_prefix: c,
|
|
im_prefix: e
|
|
}
|
|
},
|
|
ce = function(a, b) {
|
|
return be()[b] || ""
|
|
},
|
|
de = function(a) {
|
|
return function(b,
|
|
c) {
|
|
return a ? be()[c] || a[c] || "" : be()[c] || ""
|
|
}
|
|
};
|
|
var ee = function(a) {
|
|
var b;
|
|
a.match(/^https?%3A/i) && (b = decodeURIComponent(a));
|
|
a = b ? b : a;
|
|
return Jb(document, a)
|
|
},
|
|
fe = function(a) {
|
|
a = a || "canonical";
|
|
for (var b = document.getElementsByTagName("link"), c = 0, d = b.length; c < d; c++) {
|
|
var e = b[c],
|
|
f = e.getAttribute("rel");
|
|
if (f && f.toLowerCase() == a && (e = e.getAttribute("href")) && (e = ee(e)) && null != e.match(
|
|
/^https?:\/\/[\w\-_\.]+/i)) return e
|
|
}
|
|
return window.location.href
|
|
};
|
|
var ge = {
|
|
se: "0"
|
|
},
|
|
he = {
|
|
post: !0
|
|
},
|
|
ie = {
|
|
style: "position:absolute;top:-10000px;width:450px;margin:0px;border-style:none"
|
|
},
|
|
je = "onPlusOne _ready _close _open _resizeMe _renderstart oncircled drefresh erefresh".split(" "),
|
|
ke = B(M, "WI", C()),
|
|
le = function(a, b, c) {
|
|
var d;
|
|
var e = {};
|
|
var f = d = a;
|
|
"plus" == a && b.action && (d = a + "_" + b.action, f = a + "/" + b.action);
|
|
(d = S("iframes/" + d + "/url")) || (d = ":im_socialhost:/:session_prefix::im_prefix:_/widget/render/" +
|
|
f + "?usegapi=1");
|
|
for (var g in ge) e[g] = g + "/" + (b[g] || ge[g]) + "/";
|
|
e = Jb(A, d.replace(ae,
|
|
de(e)));
|
|
g = "iframes/" + a + "/params/";
|
|
f = {};
|
|
E(b, f);
|
|
(d = S("lang") || S("gwidget/lang")) && (f.hl = d);
|
|
he[a] || (f.origin = window.location.origin || window.location.protocol + "//" + window.location.host);
|
|
f.exp = S(g + "exp");
|
|
if (g = S(g + "location"))
|
|
for (d = 0; d < g.length; d++) {
|
|
var k = g[d];
|
|
f[k] = y.location[k]
|
|
}
|
|
switch (a) {
|
|
case "plus":
|
|
case "follow":
|
|
g = f.href;
|
|
d = b.action ? void 0 : "publisher";
|
|
g = (g = "string" == typeof g ? g : void 0) ? ee(g) : fe(d);
|
|
f.url = g;
|
|
delete f.href;
|
|
break;
|
|
case "plusone":
|
|
g = (g = b.href) ? ee(g) : fe();
|
|
f.url = g;
|
|
g = b.db;
|
|
d = S();
|
|
null == g && d && (g = d.db,
|
|
null == g && (g = d.gwidget && d.gwidget.db));
|
|
f.db = g || void 0;
|
|
g = b.ecp;
|
|
d = S();
|
|
null == g && d && (g = d.ecp, null == g && (g = d.gwidget && d.gwidget.ecp));
|
|
f.ecp = g || void 0;
|
|
delete f.href;
|
|
break;
|
|
case "signin":
|
|
f.url = fe()
|
|
}
|
|
M.ILI && (f.iloader = "1");
|
|
delete f["data-onload"];
|
|
delete f.rd;
|
|
for (var h in ge) f[h] && delete f[h];
|
|
f.gsrc = S("iframes/:source:");
|
|
h = S("inline/css");
|
|
"undefined" !== typeof h && 0 < c && h >= c && (f.ic = "1");
|
|
h = /^#|^fr-/;
|
|
c = {};
|
|
for (var l in f) D(f, l) && h.test(l) && (c[l.replace(h, "")] = f[l], delete f[l]);
|
|
l = "q" == S("iframes/" + a + "/params/si") ? f :
|
|
c;
|
|
h = Oc();
|
|
for (var n in h) !D(h, n) || D(f, n) || D(c, n) || (l[n] = h[n]);
|
|
n = [].concat(je);
|
|
(l = S("iframes/" + a + "/methods")) && "object" === typeof l && ob.test(l.push) && (n = n.concat(l));
|
|
for (var q in b) D(b, q) && /^on/.test(q) && ("plus" != a || "onconnect" != q) && (n.push(q), delete f[
|
|
q]);
|
|
delete f.callback;
|
|
c._methods = n.join(",");
|
|
return Hb(e, f, c)
|
|
},
|
|
me = ["style", "data-gapiscan"],
|
|
oe = function(a) {
|
|
for (var b = C(), c = 0 != a.nodeName.toLowerCase().indexOf("g:"), d = a.attributes.length, e = 0; e <
|
|
d; e++) {
|
|
var f = a.attributes[e],
|
|
g = f.name,
|
|
k = f.value;
|
|
0 <= pb.call(me,
|
|
g) || c && 0 != g.indexOf("data-") || "null" === k || "specified" in f && !f.specified || (
|
|
c && (g = g.substr(5)), b[g.toLowerCase()] = k)
|
|
}
|
|
a = a.style;
|
|
(c = ne(a && a.height)) && (b.height = String(c));
|
|
(a = ne(a && a.width)) && (b.width = String(a));
|
|
return b
|
|
},
|
|
ne = function(a) {
|
|
var b = void 0;
|
|
"number" === typeof a ? b = a : "string" === typeof a && (b = parseInt(a, 10));
|
|
return b
|
|
},
|
|
re = function() {
|
|
var a = M.drw;
|
|
Uc(function(b) {
|
|
if (a !== b.id && 4 != b.state && "share" != b.type) {
|
|
var c = b.id,
|
|
d = b.type,
|
|
e = b.url;
|
|
b = b.userParams;
|
|
var f = A.getElementById(c);
|
|
if (f) {
|
|
var g = le(d, b, 0);
|
|
g ? (f = f.parentNode,
|
|
pe(e) !== pe(g) && (b.dontclear = !0, b.rd = !0, b.ri = !0, b.type = d, qe(
|
|
f, b), (d = T[f.lastChild.id]) && (d.oid = c), Vc(c, 4))) : delete T[c]
|
|
} else delete T[c]
|
|
}
|
|
})
|
|
},
|
|
pe = function(a) {
|
|
var b = RegExp("(\\?|&)ic=1");
|
|
return a.replace(/#.*/, "").replace(b, "")
|
|
};
|
|
var se, te, ue, ve, we, xe = /(?:^|\s)g-((\S)*)(?:$|\s)/,
|
|
ye = {
|
|
plusone: !0,
|
|
autocomplete: !0,
|
|
profile: !0,
|
|
signin: !0,
|
|
signin2: !0
|
|
};
|
|
se = B(M, "SW", C());
|
|
te = B(M, "SA", C());
|
|
ue = B(M, "SM", C());
|
|
ve = B(M, "FW", []);
|
|
we = null;
|
|
var ze = function(a, b) {
|
|
return ("string" === typeof a ? document.getElementById(a) : a) || b
|
|
},
|
|
Be = function(a, b) {
|
|
Ae(void 0, !1, a, b)
|
|
},
|
|
Ae = function(a, b, c, d) {
|
|
N("ps0", !0);
|
|
c = ze(c, A);
|
|
var e = A.documentMode;
|
|
if (c.querySelectorAll && (!e || 8 < e)) {
|
|
e = d ? [d] : xb(se).concat(xb(te)).concat(xb(ue));
|
|
for (var f = [], g = 0; g < e.length; g++) {
|
|
var k = e[g];
|
|
f.push(".g-" + k, "g\\:" + k)
|
|
}
|
|
e = c.querySelectorAll(f.join(","))
|
|
} else e = c.getElementsByTagName("*");
|
|
c = C();
|
|
for (f = 0; f < e.length; f++) {
|
|
g = e[f];
|
|
k = d;
|
|
var h = g.nodeName.toLowerCase(),
|
|
l = void 0;
|
|
if (g.getAttribute("data-gapiscan")) k =
|
|
null;
|
|
else {
|
|
var n = h.indexOf("g:");
|
|
0 == n ? l = h.substr(2) : (n = (n = String(g.className || g.getAttribute("class"))) && xe.exec(
|
|
n)) && (l = n[1]);
|
|
k = !l || !(se[l] || te[l] || ue[l]) || k && l !== k ? null : l
|
|
}
|
|
k && (ye[k] || 0 == g.nodeName.toLowerCase().indexOf("g:") || 0 != xb(oe(g)).length) && (g
|
|
.setAttribute("data-gapiscan", !0), B(c, k, []).push(g))
|
|
}
|
|
if (b)
|
|
for (var q in c)
|
|
for (b = c[q], d = 0; d < b.length; d++) b[d].setAttribute("data-onload", !0);
|
|
for (var p in c) ve.push(p);
|
|
N("ps1", !0);
|
|
if ((q = ve.join(":")) || a) try {
|
|
H.load(q, a)
|
|
} catch (z) {
|
|
Rc.log(z);
|
|
return
|
|
}
|
|
if (Ce(we || {}))
|
|
for (var J in c) {
|
|
a = c[J];
|
|
p = 0;
|
|
for (b = a.length; p < b; p++) a[p].removeAttribute("data-gapiscan");
|
|
De(J)
|
|
} else {
|
|
d = [];
|
|
for (J in c)
|
|
for (a = c[J], p = 0, b = a.length; p < b; p++) e = a[p], Ee(J, e, oe(e), d, b);
|
|
Fe(q, d)
|
|
}
|
|
},
|
|
Ge = function(a) {
|
|
var b = B(H, a, {});
|
|
b.go || (b.go = function(c) {
|
|
return Be(c, a)
|
|
}, b.render = function(c, d) {
|
|
d = d || {};
|
|
d.type = a;
|
|
return qe(c, d)
|
|
})
|
|
},
|
|
He = function(a) {
|
|
se[a] = !0
|
|
},
|
|
Ie = function(a) {
|
|
te[a] = !0
|
|
},
|
|
Je = function(a) {
|
|
ue[a] = !0
|
|
};
|
|
var De = function(a, b) {
|
|
var c = Vb(a);
|
|
b && c ? (c(b), (c = b.iframeNode) && c.setAttribute("data-gapiattached", !0)) : H.load(a, function() {
|
|
var d = Vb(a),
|
|
e = b && b.iframeNode,
|
|
f = b && b.userParams;
|
|
e && d ? (d(b), e.setAttribute("data-gapiattached", !0)) : (d = H[a].go, "signin2" == a ? d(
|
|
e, f) : d(e && e.parentNode, f))
|
|
})
|
|
},
|
|
Ce = function() {
|
|
return !1
|
|
},
|
|
Fe = function() {},
|
|
Ee = function(a, b, c, d, e, f) {
|
|
switch (Ke(b, a, f)) {
|
|
case 0:
|
|
a = ue[a] ? a + "_annotation" : a;
|
|
d = {};
|
|
d.iframeNode = b;
|
|
d.userParams = c;
|
|
De(a, d);
|
|
break;
|
|
case 1:
|
|
if (b.parentNode) {
|
|
for (var g in c) {
|
|
if (f = D(c, g)) f = c[g],
|
|
f = !!f && "object" === typeof f && (!f.toString || f.toString === Object.prototype
|
|
.toString || f.toString === Array.prototype.toString);
|
|
if (f) try {
|
|
c[g] = Bd(c[g])
|
|
} catch (G) {
|
|
delete c[g]
|
|
}
|
|
}
|
|
var k = !0;
|
|
c.dontclear && (k = !1);
|
|
delete c.dontclear;
|
|
Tc();
|
|
f = le(a, c, e);
|
|
g = {
|
|
allowPost: 1,
|
|
attributes: ie
|
|
};
|
|
g.dontclear = !k;
|
|
e = {};
|
|
e.userParams = c;
|
|
e.url = f;
|
|
e.type = a;
|
|
if (c.rd) var h = b;
|
|
else h = document.createElement("div"), b.setAttribute("data-gapistub", !0), h.style
|
|
.cssText = "position:absolute;width:450px;left:-10000px;", b.parentNode.insertBefore(h,
|
|
b);
|
|
e.siteElement =
|
|
h;
|
|
h.id || (b = h, B(ke, a, 0), k = "___" + a + "_" + ke[a]++, b.id = k);
|
|
b = C();
|
|
b[">type"] = a;
|
|
E(c, b);
|
|
k = f;
|
|
c = h;
|
|
f = g || {};
|
|
b = f.attributes || {};
|
|
F(!(f.allowPost || f.forcePost) || !b.onload,
|
|
"onload is not supported by post iframe (allowPost or forcePost)");
|
|
g = b = k;
|
|
$d.test(b) && (g = U("iframes/" + g.substring(1) + "/url"), F(!!g,
|
|
"Unknown iframe url config for - " + b));
|
|
k = Jb(A, g.replace(ae, ce));
|
|
b = c.ownerDocument || A;
|
|
h = 0;
|
|
do g = f.id || ["I", Xd++, "_", (new Date).getTime()].join(""); while (b.getElementById(
|
|
g) && 5 > ++h);
|
|
F(5 > h, "Error creating iframe id");
|
|
h = {};
|
|
var l = {};
|
|
b.documentMode && 9 > b.documentMode && (h.hostiemode = b.documentMode);
|
|
E(f.queryParams || {}, h);
|
|
E(f.fragmentParams || {}, l);
|
|
var n = f.pfname;
|
|
var q = C();
|
|
U("iframes/dropLegacyIdParam") || (q.id = g);
|
|
q._gfid = g;
|
|
q.parent = b.location.protocol + "//" + b.location.host;
|
|
var p = I(b.location.href, "parent");
|
|
n = n || "";
|
|
!n && p && (p = I(b.location.href, "_gfid", "") || I(b.location.href, "id", ""), n = I(b
|
|
.location.href, "pfname", ""), n = p ? n + "/" + p : "");
|
|
n || (p = Ad(I(b.location.href, "jcp", ""))) && "object" == typeof p && (n = (n = p.id) ? p
|
|
.pfname + "/" + n : "");
|
|
q.pfname =
|
|
n;
|
|
f.connectWithJsonParam && (p = {}, p.jcp = Bd(q), q = p);
|
|
p = I(k, "rpctoken") || h.rpctoken || l.rpctoken;
|
|
if (!p) {
|
|
if (!(p = f.rpctoken)) {
|
|
p = String;
|
|
n = Math;
|
|
var J = n.round;
|
|
if (Jd) {
|
|
var z = new y.Uint32Array(1);
|
|
Id.getRandomValues(z);
|
|
z = Number("0." + z[0])
|
|
} else z = Md, z += parseInt(Od.substr(0, 20), 16), Od = Qd(Od), z /= Nd + Math.pow(
|
|
16, 20);
|
|
p = p(J.call(n, 1E8 * z))
|
|
}
|
|
q.rpctoken = p
|
|
}
|
|
f.rpctoken = p;
|
|
E(q, f.connectWithQueryParams ? h : l);
|
|
p = b.location.href;
|
|
q = C();
|
|
(n = I(p, "_bsh", M.bsh)) && (q._bsh = n);
|
|
(p = Tb(p)) && (q.jsh = p);
|
|
f.hintInFragment ? E(q, l) : E(q, h);
|
|
k = Hb(k, h, l, f.paramsSerializer);
|
|
l = C();
|
|
E(Vd, l);
|
|
E(f.attributes, l);
|
|
l.name = l.id = g;
|
|
l.src = k;
|
|
f.eurl = k;
|
|
h = f || {};
|
|
q = !!h.allowPost;
|
|
if (h.forcePost || q && 2E3 < k.length) {
|
|
h = Eb(k);
|
|
l.src = "";
|
|
f.dropDataPostorigin || (l["data-postorigin"] = k);
|
|
k = Zd(b, c, l, g);
|
|
if (-1 != navigator.userAgent.indexOf("WebKit")) {
|
|
var w = k.contentWindow.document;
|
|
w.open();
|
|
l = w.createElement("div");
|
|
q = {};
|
|
p = g + "_inner";
|
|
q.name = p;
|
|
q.src = "";
|
|
q.style = "display:none";
|
|
Zd(b, l, q, p, f)
|
|
}
|
|
l = (f = h.query[0]) ? f.split("&") : [];
|
|
f = [];
|
|
for (q = 0; q < l.length; q++) p = l[q].split("=", 2), f.push([decodeURIComponent(p[0]),
|
|
decodeURIComponent(p[1])
|
|
]);
|
|
h.query = [];
|
|
l = Fb(h);
|
|
F(Kb.test(l), "Invalid URL: " + l);
|
|
h = b.createElement("form");
|
|
h.method = "POST";
|
|
h.target = g;
|
|
h.style.display = "none";
|
|
g = l instanceof x ? l : Ma(l);
|
|
eb(h, "FORM").action = Ka(g);
|
|
for (g = 0; g < f.length; g++) l = b.createElement("input"), l.type = "hidden", l.name =
|
|
f[g][0], l.value = f[g][1], h.appendChild(l);
|
|
c.appendChild(h);
|
|
h.submit();
|
|
h.parentNode.removeChild(h);
|
|
w && w.close();
|
|
w = k
|
|
} else w = Zd(b, c, l, g, f);
|
|
e.iframeNode = w;
|
|
e.id = w.getAttribute("id");
|
|
w = e.id;
|
|
c = C();
|
|
c.id = w;
|
|
c.userParams = e.userParams;
|
|
c.url = e.url;
|
|
c.type = e.type;
|
|
c.state =
|
|
1;
|
|
T[w] = c;
|
|
w = e
|
|
} else w = null;
|
|
w && ((e = w.id) && d.push(e), De(a, w))
|
|
}
|
|
},
|
|
Ke = function(a, b, c) {
|
|
if (a && 1 === a.nodeType && b) {
|
|
if (c) return 1;
|
|
if (ue[b]) {
|
|
if (Sb[a.nodeName.toLowerCase()]) return (a = a.innerHTML) && a.replace(
|
|
/^[\s\xa0]+|[\s\xa0]+$/g, "") ? 0 : 1
|
|
} else {
|
|
if (te[b]) return 0;
|
|
if (se[b]) return 1
|
|
}
|
|
}
|
|
return null
|
|
},
|
|
qe = function(a, b) {
|
|
var c = b.type;
|
|
delete b.type;
|
|
var d = ze(a);
|
|
if (d) {
|
|
a = {};
|
|
for (var e in b) D(b, e) && (a[e.toLowerCase()] = b[e]);
|
|
a.rd = 1;
|
|
(b = !!a.ri) && delete a.ri;
|
|
e = [];
|
|
Ee(c, d, a, e, 0, b);
|
|
Fe(c, e)
|
|
} else Rc.log("string" === "gapi." + c + ".render: missing element " +
|
|
typeof a ? a : "")
|
|
};
|
|
B(H, "platform", {}).go = Be;
|
|
Ce = function(a) {
|
|
for (var b = ["_c", "jsl", "h"], c = 0; c < b.length && a; c++) a = a[b[c]];
|
|
b = Tb(mb.href);
|
|
return !a || 0 != a.indexOf("n;") && 0 != b.indexOf("n;") && a !== b
|
|
};
|
|
Fe = function(a, b) {
|
|
Le(a, b)
|
|
};
|
|
var Ob = function(a) {
|
|
Ae(a, !0)
|
|
},
|
|
Me = function(a, b) {
|
|
b = b || [];
|
|
for (var c = 0; c < b.length; ++c) a(b[c]);
|
|
for (a = 0; a < b.length; a++) Ge(b[a])
|
|
};
|
|
O.push(["platform", function(a, b, c) {
|
|
we = c;
|
|
(b || c.features) && ve.push(b || c.features.join(":"));
|
|
Me(He, a);
|
|
Me(Ie, c._c.annotation);
|
|
Me(Je, c._c.bimodal);
|
|
Kc();
|
|
Ic();
|
|
if ("explicit" != S("parsetags")) {
|
|
Ub(a);
|
|
Pc(Oc()) && !S("disableRealtimeCallback") && Tc();
|
|
if (c && (a = c.callback)) {
|
|
var d = yb(a);
|
|
delete c.callback
|
|
}
|
|
Qb(function() {
|
|
Ob(d)
|
|
})
|
|
}
|
|
}]);
|
|
H._pl = !0;
|
|
var Ne = function(a) {
|
|
a = (a = T[a]) ? a.oid : void 0;
|
|
if (a) {
|
|
var b = A.getElementById(a);
|
|
b && b.parentNode.removeChild(b);
|
|
delete T[a];
|
|
Ne(a)
|
|
}
|
|
};
|
|
var Oe = /^\{h:'/,
|
|
Pe = /^!_/,
|
|
Qe = "",
|
|
Le = function(a, b) {
|
|
function c() {
|
|
Mb("message", d, "remove", "de")
|
|
}
|
|
|
|
function d(f) {
|
|
var g = f.data,
|
|
k = f.origin;
|
|
if (Re(g, b)) {
|
|
var h = e;
|
|
e = !1;
|
|
h && N("rqe");
|
|
Se(a, function() {
|
|
h && N("rqd");
|
|
c();
|
|
for (var l = B(M, "RPMQ", []), n = 0; n < l.length; n++) l[n]({
|
|
data: g,
|
|
origin: k
|
|
})
|
|
})
|
|
}
|
|
}
|
|
if (0 !== b.length) {
|
|
Qe = I(mb.href, "pfname", "");
|
|
var e = !0;
|
|
Mb("message", d, "add", "at");
|
|
Bc(a, c)
|
|
}
|
|
},
|
|
Re = function(a, b) {
|
|
a = String(a);
|
|
if (Oe.test(a)) return !0;
|
|
var c = !1;
|
|
Pe.test(a) && (c = !0, a = a.substr(2));
|
|
if (!/^\{/.test(a)) return !1;
|
|
var d = Ad(a);
|
|
if (!d) return !1;
|
|
a = d.f;
|
|
if (d.s && a && -1 != pb.call(b, a)) {
|
|
if ("_renderstart" === d.s || d.s === Qe + "/" + a + "::_renderstart")
|
|
if (d = d.a && d.a[c ? 0 : 1], b = A.getElementById(a), Vc(a, 2), d && b && d.width && d
|
|
.height) {
|
|
a: {
|
|
c = b.parentNode;a = d || {};
|
|
if (Sc()) {
|
|
var e = b.id;
|
|
if (e) {
|
|
d = (d = T[e]) ? d.state : void 0;
|
|
if (1 === d || 4 === d) break a;
|
|
Ne(e)
|
|
}
|
|
}(d = c.nextSibling) && d.getAttribute && d.getAttribute("data-gapistub") && (c
|
|
.parentNode.removeChild(d), c.style.cssText = "");d = a.width;
|
|
var f = a.height,
|
|
g = c.style;g.textIndent = "0";g.margin = "0";g.padding = "0";g.background =
|
|
"transparent";g.borderStyle =
|
|
"none";g.cssFloat = "none";g.styleFloat = "none";g.lineHeight = "normal";g.fontSize =
|
|
"1px";g.verticalAlign = "baseline";c = c.style;c.display = "inline-block";g = b.style;g
|
|
.position = "static";g.left = "0";g.top = "0";g.visibility = "visible";d && (c.width = g
|
|
.width = d + "px");f && (c.height = g.height = f + "px");a.verticalAlign && (c
|
|
.verticalAlign = a.verticalAlign);e && Vc(e, 3)
|
|
}
|
|
b["data-csi-wdt"] = (new Date).getTime()
|
|
} return !0
|
|
}
|
|
return !1
|
|
},
|
|
Se = function(a, b) {
|
|
Bc(a, b)
|
|
};
|
|
var Te = function(a, b) {
|
|
this.P = a;
|
|
a = b || {};
|
|
this.qa = Number(a.maxAge) || 0;
|
|
this.aa = a.domain;
|
|
this.da = a.path;
|
|
this.ra = !!a.secure
|
|
};
|
|
Te.prototype.read = function() {
|
|
for (var a = this.P + "=", b = document.cookie.split(/;\s*/), c = 0; c < b.length; ++c) {
|
|
var d = b[c];
|
|
if (0 == d.indexOf(a)) return d.substr(a.length)
|
|
}
|
|
};
|
|
Te.prototype.write = function(a, b) {
|
|
if (!Ue.test(this.P)) throw "Invalid cookie name";
|
|
if (!Ve.test(a)) throw "Invalid cookie value";
|
|
a = this.P + "=" + a;
|
|
this.aa && (a += ";domain=" + this.aa);
|
|
this.da && (a += ";path=" + this.da);
|
|
b = "number" === typeof b ? b : this.qa;
|
|
if (0 <= b) {
|
|
var c = new Date;
|
|
c.setSeconds(c.getSeconds() + b);
|
|
a += ";expires=" + c.toUTCString()
|
|
}
|
|
this.ra && (a += ";secure");
|
|
document.cookie = a;
|
|
return !0
|
|
};
|
|
Te.prototype.clear = function() {
|
|
this.write("", 0)
|
|
};
|
|
var Ve = /^[-+/_=.:|%&a-zA-Z0-9@]*$/,
|
|
Ue = /^[A-Z_][A-Z0-9_]{0,63}$/;
|
|
Te.iterate = function(a) {
|
|
for (var b = document.cookie.split(/;\s*/), c = 0; c < b.length; ++c) {
|
|
var d = b[c].split("="),
|
|
e = d.shift();
|
|
a(e, d.join("="))
|
|
}
|
|
};
|
|
var We = function(a) {
|
|
this.H = a
|
|
};
|
|
We.prototype.read = function() {
|
|
if (Z.hasOwnProperty(this.H)) return Z[this.H]
|
|
};
|
|
We.prototype.write = function(a) {
|
|
Z[this.H] = a;
|
|
return !0
|
|
};
|
|
We.prototype.clear = function() {
|
|
delete Z[this.H]
|
|
};
|
|
var Z = {};
|
|
We.iterate = function(a) {
|
|
for (var b in Z) Z.hasOwnProperty(b) && a(b, Z[b])
|
|
};
|
|
var Xe = "https:" === window.location.protocol,
|
|
Ye = Xe || "http:" === window.location.protocol ? Te : We,
|
|
Ze = function(a) {
|
|
var b = a.substr(1),
|
|
c = "",
|
|
d = window.location.hostname;
|
|
if ("" !== b) {
|
|
c = parseInt(b, 10);
|
|
if (isNaN(c)) return null;
|
|
b = d.split(".");
|
|
if (b.length < c - 1) return null;
|
|
b.length == c - 1 && (d = "." + d)
|
|
} else d = "";
|
|
return {
|
|
l: "S" == a.charAt(0),
|
|
domain: d,
|
|
o: c
|
|
}
|
|
},
|
|
$e = function() {
|
|
var a, b = null;
|
|
Ye.iterate(function(c, d) {
|
|
0 === c.indexOf("G_AUTHUSER_") && (c = Ze(c.substring(11)), !a || c.l && !a.l || c.l == a
|
|
.l && c.o > a.o) && (a = c, b = d)
|
|
});
|
|
return {
|
|
la: a,
|
|
L: b
|
|
}
|
|
};
|
|
|
|
function af(a) {
|
|
if (0 !== a.indexOf("GCSC")) return null;
|
|
var b = {
|
|
ca: !1
|
|
};
|
|
a = a.substr(4);
|
|
if (!a) return b;
|
|
var c = a.charAt(0);
|
|
a = a.substr(1);
|
|
var d = a.lastIndexOf("_");
|
|
if (-1 == d) return b;
|
|
var e = Ze(a.substr(d + 1));
|
|
if (null == e) return b;
|
|
a = a.substring(0, d);
|
|
if ("_" !== a.charAt(0)) return b;
|
|
d = "E" === c && e.l;
|
|
return !d && ("U" !== c || e.l) || d && !Xe ? b : {
|
|
ca: !0,
|
|
l: d,
|
|
va: a.substr(1),
|
|
domain: e.domain,
|
|
o: e.o
|
|
}
|
|
}
|
|
var bf = function(a) {
|
|
if (!a) return [];
|
|
a = a.split("=");
|
|
return a[1] ? a[1].split("|") : []
|
|
},
|
|
cf = function(a) {
|
|
a = a.split(":");
|
|
return {
|
|
clientId: a[0].split("=")[1],
|
|
ta: bf(a[1]),
|
|
xa: bf(a[2]),
|
|
wa: bf(a[3])
|
|
}
|
|
},
|
|
df = function() {
|
|
var a = $e(),
|
|
b = a.la;
|
|
a = a.L;
|
|
if (null !== a) {
|
|
var c;
|
|
Ye.iterate(function(f, g) {
|
|
(f = af(f)) && f.ca && f.l == b.l && f.o == b.o && (c = g)
|
|
});
|
|
if (c) {
|
|
var d = cf(c),
|
|
e = d && d.ta[Number(a)];
|
|
d = d && d.clientId;
|
|
if (e) return {
|
|
L: a,
|
|
sa: e,
|
|
clientId: d
|
|
}
|
|
}
|
|
}
|
|
return null
|
|
};
|
|
var ff = function() {
|
|
this.Y = ef
|
|
};
|
|
m = ff.prototype;
|
|
m.ga = function() {
|
|
this.O || (this.A = 0, this.O = !0, this.ea())
|
|
};
|
|
m.ea = function() {
|
|
this.O && (this.Y() ? this.A = this.V : this.A = Math.min(2 * (this.A || this.V), 120), window
|
|
.setTimeout(qa(this.ea, this), 1E3 * this.A))
|
|
};
|
|
m.A = 0;
|
|
m.V = 2;
|
|
m.Y = null;
|
|
m.O = !1;
|
|
var gf = null;
|
|
Sc = function() {
|
|
return M.oa = !0
|
|
};
|
|
Tc = function() {
|
|
M.oa = !0;
|
|
var a = df();
|
|
(a = a && a.L) && Jc("googleapis.config/sessionIndex", a);
|
|
gf || (gf = B(M, "ss", new ff));
|
|
a = gf;
|
|
a.ga && a.ga()
|
|
};
|
|
var ef = function() {
|
|
var a = df(),
|
|
b = a && a.sa || null,
|
|
c = a && a.clientId;
|
|
Bc("auth", {
|
|
callback: function() {
|
|
var d = y.gapi.auth,
|
|
e = {
|
|
client_id: c,
|
|
session_state: b
|
|
};
|
|
d.checkSessionState(e, function(f) {
|
|
var g = e.session_state,
|
|
k = !!S("isLoggedIn");
|
|
f = S("debug/forceIm") ? !1 : g && f || !g && !f;
|
|
if (k = k !== f) Jc("isLoggedIn", f), Tc(), re(), f || ((f = d
|
|
.signOut) ? f() : (f = d.setToken) && f(null));
|
|
f = Oc();
|
|
var h = S("savedUserState");
|
|
g = d._guss(f.cookiepolicy);
|
|
h = h != g && "undefined" != typeof h;
|
|
Jc("savedUserState", g);
|
|
(k || h) && Pc(f) && !S("disableRealtimeCallback") && d._pimf(f,
|
|
!0)
|
|
})
|
|
}
|
|
});
|
|
return !0
|
|
};
|
|
O.unshift(["url", function(a, b, c) {
|
|
!a || b && "" !== b || !a.endsWith(".js") || (a = a.substring(0, a.length - 3), b = a
|
|
.lastIndexOf("/") + 1, b >= a.length || (a = a.substr(b).split(":").filter(function(d) {
|
|
return !["api", "platform"].includes(d)
|
|
}), c.features = a))
|
|
}]);
|
|
N("bs0", !0, window.gapi._bs);
|
|
N("bs1", !0);
|
|
delete window.gapi._bs;
|
|
window.gapi.load("", {
|
|
callback: window["gapi_onload"],
|
|
_c: {
|
|
url: "https://apis.google.com/js/platform.js",
|
|
jsl: {
|
|
ci: {
|
|
"oauth-flow": {
|
|
authUrl: "https://accounts.google.com/o/oauth2/auth",
|
|
proxyUrl: "https://accounts.google.com/o/oauth2/postmessageRelay",
|
|
disableOpt: !0,
|
|
idpIframeUrl: "https://accounts.google.com/o/oauth2/iframe",
|
|
usegapi: !1
|
|
},
|
|
debug: {
|
|
reportExceptionRate: 1,
|
|
forceIm: !1,
|
|
rethrowException: !0,
|
|
host: "https://apis.google.com"
|
|
},
|
|
enableMultilogin: !0,
|
|
"googleapis.config": {
|
|
auth: {
|
|
useFirstPartyAuthV2: !0
|
|
},
|
|
root: "https://content.googleapis.com",
|
|
"root-1p": "https://clients6.google.com"
|
|
},
|
|
inline: {
|
|
css: 1
|
|
},
|
|
disableRealtimeCallback: !1,
|
|
drive_share: {
|
|
skipInitCommand: !0
|
|
},
|
|
csi: {
|
|
rate: .01
|
|
},
|
|
client: {
|
|
cors: !1
|
|
},
|
|
signInDeprecation: {
|
|
rate: 0
|
|
},
|
|
include_granted_scopes: !0,
|
|
llang: "zh",
|
|
iframes: {
|
|
youtube: {
|
|
params: {
|
|
location: ["search", "hash"]
|
|
},
|
|
url: ":socialhost:/:session_prefix:_/widget/render/youtube?usegapi=1",
|
|
methods: ["scroll", "openwindow"]
|
|
},
|
|
ytsubscribe: {
|
|
url: "https://www.youtube.com/subscribe_embed?usegapi=1"
|
|
},
|
|
plus_circle: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix::se:_/widget/plus/circle?usegapi=1"
|
|
},
|
|
plus_share: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix::se:_/+1/sharebutton?plusShare=true&usegapi=1"
|
|
},
|
|
rbr_s: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix::se:_/widget/render/recobarsimplescroller"
|
|
},
|
|
":source:": "3p",
|
|
playemm: {
|
|
url: "https://play.google.com/work/embedded/search?usegapi=1&usegapi=1"
|
|
},
|
|
savetoandroidpay: {
|
|
url: "https://pay.google.com/gp/v/widget/save"
|
|
},
|
|
blogger: {
|
|
params: {
|
|
location: ["search", "hash"]
|
|
},
|
|
url: ":socialhost:/:session_prefix:_/widget/render/blogger?usegapi=1",
|
|
methods: ["scroll", "openwindow"]
|
|
},
|
|
evwidget: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix:_/events/widget?usegapi=1"
|
|
},
|
|
partnersbadge: {
|
|
url: "https://www.gstatic.com/partners/badge/templates/badge.html?usegapi=1"
|
|
},
|
|
dataconnector: {
|
|
url: "https://dataconnector.corp.google.com/:session_prefix:ui/widgetview?usegapi=1"
|
|
},
|
|
surveyoptin: {
|
|
url: "https://www.google.com/shopping/customerreviews/optin?usegapi=1"
|
|
},
|
|
":socialhost:": "https://apis.google.com",
|
|
shortlists: {
|
|
url: ""
|
|
},
|
|
hangout: {
|
|
url: "https://talkgadget.google.com/:session_prefix:talkgadget/_/widget"
|
|
},
|
|
plus_followers: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/_/im/_/widget/render/plus/followers?usegapi=1"
|
|
},
|
|
post: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix::im_prefix:_/widget/render/post?usegapi=1"
|
|
},
|
|
signin: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix:_/widget/render/signin?usegapi=1",
|
|
methods: ["onauth"]
|
|
},
|
|
rbr_i: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix::se:_/widget/render/recobarinvitation"
|
|
},
|
|
share: {
|
|
url: ":socialhost:/:session_prefix::im_prefix:_/widget/render/share?usegapi=1"
|
|
},
|
|
plusone: {
|
|
params: {
|
|
count: "",
|
|
size: "",
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix::se:_/+1/fastbutton?usegapi=1"
|
|
},
|
|
comments: {
|
|
params: {
|
|
location: ["search", "hash"]
|
|
},
|
|
url: ":socialhost:/:session_prefix:_/widget/render/comments?usegapi=1",
|
|
methods: ["scroll", "openwindow"]
|
|
},
|
|
":im_socialhost:": "https://plus.googleapis.com",
|
|
backdrop: {
|
|
url: "https://clients3.google.com/cast/chromecast/home/widget/backdrop?usegapi=1"
|
|
},
|
|
visibility: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix:_/widget/render/visibility?usegapi=1"
|
|
},
|
|
autocomplete: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix:_/widget/render/autocomplete"
|
|
},
|
|
":signuphost:": "https://plus.google.com",
|
|
ratingbadge: {
|
|
url: "https://www.google.com/shopping/customerreviews/badge?usegapi=1"
|
|
},
|
|
appcirclepicker: {
|
|
url: ":socialhost:/:session_prefix:_/widget/render/appcirclepicker"
|
|
},
|
|
follow: {
|
|
url: ":socialhost:/:session_prefix:_/widget/render/follow?usegapi=1"
|
|
},
|
|
community: {
|
|
url: ":ctx_socialhost:/:session_prefix::im_prefix:_/widget/render/community?usegapi=1"
|
|
},
|
|
sharetoclassroom: {
|
|
url: "https://classroom.google.com/sharewidget?usegapi=1"
|
|
},
|
|
ytshare: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: ":socialhost:/:session_prefix:_/widget/render/ytshare?usegapi=1"
|
|
},
|
|
plus: {
|
|
url: ":socialhost:/:session_prefix:_/widget/render/badge?usegapi=1"
|
|
},
|
|
family_creation: {
|
|
params: {
|
|
url: ""
|
|
},
|
|
url: "https://families.google.com/webcreation?usegapi=1&usegapi=1"
|
|
},
|
|
commentcount: {
|
|
url: ":socialhost:/:session_prefix:_/widget/render/commentcount?usegapi=1"
|
|
},
|
|
configurator: {
|
|
url: ":socialhost:/:session_prefix:_/plusbuttonconfigurator?usegapi=1"
|
|
},
|
|
zoomableimage: {
|
|
url: "https://ssl.gstatic.com/microscope/embed/"
|
|
},
|
|
appfinder: {
|
|
url: "https://workspace.google.com/:session_prefix:marketplace/appfinder?usegapi=1"
|
|
},
|
|
savetowallet: {
|
|
url: "https://pay.google.com/gp/v/widget/save"
|
|
},
|
|
person: {
|
|
url: ":socialhost:/:session_prefix:_/widget/render/person?usegapi=1"
|
|
},
|
|
savetodrive: {
|
|
url: "https://drive.google.com/savetodrivebutton?usegapi=1",
|
|
methods: ["save"]
|
|
},
|
|
page: {
|
|
url: ":socialhost:/:session_prefix:_/widget/render/page?usegapi=1"
|
|
},
|
|
card: {
|
|
url: ":socialhost:/:session_prefix:_/hovercard/card"
|
|
}
|
|
}
|
|
},
|
|
h: "m;/_/scs/abc-static/_/js/k=gapi.lb.zh_CN.CLrTvSiSvdE.O/d=1/rs=AHpOoo-0VQGNrUBkM5xSUKV-ao2rz2H44A/m=__features__",
|
|
u: "https://apis.google.com/js/platform.js",
|
|
hee: !0,
|
|
dpo: !1,
|
|
le: ["scs"],
|
|
glrp: false
|
|
},
|
|
platform: "backdrop blogger comments commentcount community donation family_creation follow hangout health page partnersbadge person playemm playreview plus plusone post ratingbadge savetoandroidpay savetodrive savetowallet sharetoclassroom shortlists signin2 surveyoptin visibility youtube ytsubscribe zoomableimage"
|
|
.split(" "),
|
|
annotation: ["interactivepost", "recobar", "signin2", "autocomplete"]
|
|
}
|
|
});
|
|
}).call(this);
|
|
|