Skip to content

Instantly share code, notes, and snippets.

@extensionsapp
Created June 8, 2019 18:51
Show Gist options
  • Save extensionsapp/f9d1061cc13ea9408ecf790d0ccb24f1 to your computer and use it in GitHub Desktop.
Save extensionsapp/f9d1061cc13ea9408ecf790d0ccb24f1 to your computer and use it in GitHub Desktop.
'use strict';
window.jstiming.load.tick("jbl");
/** @type {string} */
var aa = "%1$s";
/** @type {string} */
var ba = "-caption";
/** @type {string} */
var ca = "-content";
/** @type {string} */
var da = "-disabled";
/** @type {string} */
var ea = "-dropdown";
/** @type {string} */
var fa = "//translate.google.com/toolkit/upload?";
/** @type {string} */
var ga = "/gen204?";
/** @type {string} */
var ha = "/translate/uc?ua=dcp&uav=";
/** @type {string} */
var ia = "/translate_a/sg?client=t&";
/** @type {string} */
var ka = "/translate_a/single";
/** @type {string} */
var la = "</div>";
/** @type {string} */
var ma = '<div class="gt-pb-lbl">';
/** @type {string} */
var na = "Android";
/** @type {string} */
var oa = "BUTTON";
/** @type {string} */
var pa = "Component already rendered";
/** @type {string} */
var qa = "Cyrl";
/** @type {string} */
var k = "DIV";
/** @type {string} */
var ra = "Edge";
/** @type {string} */
var sa = "IMG";
/** @type {string} */
var ta = "INPUT";
/** @type {string} */
var ua = "Noto Naskh Arabic";
/** @type {string} */
var va = "Opera";
/** @type {string} */
var wa = "POST";
/** @type {string} */
var xa = "SCRIPT";
/** @type {string} */
var ya = "SELECT";
/** @type {string} */
var za = "SPAN";
/** @type {string} */
var Ca = "StartToEnd";
/** @type {string} */
var Da = "TEXTAREA";
/** @type {string} */
var Ea = "Unable to set parent component";
/** @type {string} */
var Fa = "Uneven number of arguments";
/** @type {string} */
var Ga = "absolute";
/** @type {string} */
var Ha = "accumulate";
/** @type {string} */
var p = "action";
/** @type {string} */
var Ia = "activedescendant";
/** @type {string} */
var Ja = "all";
/** @type {string} */
var Ka = "all|all";
/** @type {string} */
var La = "alt-edited";
/** @type {string} */
var Ma = "application/x-www-form-urlencoded";
/** @type {string} */
var Na = "aria-activedescendant";
/** @type {string} */
var Oa = "array";
/** @type {string} */
var Pa = "authuser";
/** @type {string} */
var Qa = "auto";
/** @type {string} */
var Ra = "beforedragstart";
/** @type {string} */
var Sa = "beforehide";
/** @type {string} */
var Ta = "beforeshow";
/** @type {string} */
var Ua = "beforeunload";
/** @type {string} */
var Va = "blur";
/** @type {string} */
var Wa = "border-box";
/** @type {string} */
var Xa = "button";
/** @type {string} */
var Ya = "change";
/** @type {string} */
var Za = "character";
/** @type {string} */
var $a = "checked";
/** @type {string} */
var r = "click";
/** @type {string} */
var ab = "client";
/** @type {string} */
var bb = "collapse";
/** @type {string} */
var cb = "community-promo";
/** @type {string} */
var db = "complete";
/** @type {string} */
var eb = "contextmenu";
/** @type {string} */
var fb = "data-tooltip";
/** @type {string} */
var hb = "data-tooltip-align";
/** @type {string} */
var ib = "data-tooltip-contained";
/** @type {string} */
var jb = "data-tooltip-suspended";
/** @type {string} */
var kb = "default";
/** @type {string} */
var lb = "detectSrcUpdated";
/** @type {string} */
var nb = "direction";
/** @type {string} */
var ob = "direction: %s";
/** @type {string} */
var pb = "display:none";
/** @type {string} */
var qb = "div";
/** @type {string} */
var rb = "dragstart";
/** @type {string} */
var sb = "earlycancel";
/** @type {string} */
var t = "en";
/** @type {string} */
var tb = "en-us-t-k0-intl";
/** @type {string} */
var ub = "end";
/** @type {string} */
var vb = "finish";
/** @type {string} */
var wb = "focus";
/** @type {string} */
var xb = "focusin";
/** @type {string} */
var yb = "focusout";
/** @type {string} */
var zb = "formality";
/** @type {string} */
var Ab = "fr-t-k0-und";
/** @type {string} */
var Bb = "function";
/** @type {string} */
var Cb = "goog-buttonset-default";
/** @type {string} */
var Db = "goog-flat-button";
/** @type {string} */
var Eb = "goog-flat-menu-button";
/** @type {string} */
var Fb = "goog-groupmenu-separator";
/** @type {string} */
var Gb = "goog-inline-block";
/** @type {string} */
var Hb = "goog-inline-block ";
/** @type {string} */
var Ib = "goog-menu";
/** @type {string} */
var Jb = "goog-menu-button";
/** @type {string} */
var Kb = "goog-menuheader";
/** @type {string} */
var Lb = "goog-menuitem-emphasize-highlight";
/** @type {string} */
var Mb = "goog-menuitem-group";
/** @type {string} */
var Nb = "goog-menuseparator";
/** @type {string} */
var Ob = "goog-option";
/** @type {string} */
var Pb = "goog-option-selected";
/** @type {string} */
var Qb = "gt-baf-back";
/** @type {string} */
var Rb = "gt-baf-cell";
/** @type {string} */
var Sb = "gt-baf-entry-clickable";
/** @type {string} */
var Tb = "gt-baf-hl";
/** @type {string} */
var Ub = "gt-baf-word-clickable";
/** @type {string} */
var Vb = "gt-card-expand-wrapper";
/** @type {string} */
var Wb = "gt-card-fadein-wrapper";
/** @type {string} */
var Xb = "gt-card-widen-wrapper";
/** @type {string} */
var Yb = "gt-cd-cl";
/** @type {string} */
var Zb = "gt-cd-pos";
/** @type {string} */
var $b = "gt-input-tool";
/** @type {string} */
var ac = "gt-related-suggest-message";
/** @type {string} */
var bc = "gt-res-copy";
/** @type {string} */
var cc = "gt-res-edit";
/** @type {string} */
var dc = "gt-res-formality";
/** @type {string} */
var ec = "gt-res-tools-r";
/** @type {string} */
var fc = "gt-res-undo";
/** @type {string} */
var gc = "gt-spell-correct-message";
/** @type {string} */
var ic = "gt-src-tools";
/** @type {string} */
var jc = "gt-src-tools-l";
/** @type {string} */
var kc = "gt-syn-row";
/** @type {string} */
var lc = "gt-syn-summary-row";
/** @type {string} */
var mc = "haspopup";
/** @type {string} */
var nc = "hi-t-k0-qwerty";
/** @type {string} */
var oc = "hidden";
/** @type {string} */
var pc = "hide";
/** @type {string} */
var qc = "highlight";
/** @type {string} */
var rc = "horizontal";
/** @type {string} */
var sc = "https://chekhov.withgoogle.com/?utm_source=other&utm_medium=gtranslate&utm_campaign=";
/** @type {string} */
var tc = "iPad";
/** @type {string} */
var uc = "iPod";
/** @type {string} */
var vc = "init";
/** @type {string} */
var wc = "input";
/** @type {string} */
var xc = "inputm";
/** @type {string} */
var yc = "javascript:void(0)";
/** @type {string} */
var zc = "jfk-butterBar-shown";
/** @type {string} */
var Ac = "jfk-button-action";
/** @type {string} */
var Bc = "jfk-button-img";
/** @type {string} */
var Cc = "jfk-button-label";
/** @type {string} */
var Dc = "jfk-button-narrow";
/** @type {string} */
var Ec = "jfk-button-standard";
/** @type {string} */
var Fc = "jfk-checkbox-checkmark";
/** @type {string} */
var Gc = "jfk-tooltip-hide";
/** @type {string} */
var Hc = "key";
/** @type {string} */
var Ic = "keydown";
/** @type {string} */
var Jc = "keypress";
/** @type {string} */
var Kc = "keyup";
/** @type {string} */
var Lc = "label";
/** @type {string} */
var Mc = "labelledby";
/** @type {string} */
var Nc = "languageSelected";
/** @type {string} */
var Oc = "latn-002-t-k0-und";
/** @type {string} */
var Pc = "left";
/** @type {string} */
var Qc = "ltr";
/** @type {string} */
var Rc = "margin";
/** @type {string} */
var Sc = "margin-right";
/** @type {string} */
var Tc = "margin-top";
/** @type {string} */
var Uc = "max-width";
/** @type {string} */
var Vc = "mousedown";
/** @type {string} */
var Wc = "mousemove";
/** @type {string} */
var Xc = "mouseout";
/** @type {string} */
var Yc = "mouseover";
/** @type {string} */
var Zc = "mouseup";
/** @type {string} */
var $c = "move_offscreen";
/** @type {string} */
var ad = "none";
/** @type {string} */
var bd = "number";
/** @type {string} */
var cd = "object";
/** @type {string} */
var dd = "opacity 1s linear";
/** @type {string} */
var ed = "overflow";
/** @type {string} */
var fd = "paddingLeft";
/** @type {string} */
var gd = "paddingRight";
/** @type {string} */
var hd = "paste";
/** @type {string} */
var id = "pbmUpdated";
/** @type {string} */
var kd = "play";
/** @type {string} */
var ld = "position";
/** @type {string} */
var md = "px";
/** @type {string} */
var nd = "res-translit";
/** @type {string} */
var od = "resize";
/** @type {string} */
var pd = "result_box";
/** @type {string} */
var qd = "right";
/** @type {string} */
var rd = "role";
/** @type {string} */
var sd = "rtl";
/** @type {string} */
var v = "ru";
/** @type {string} */
var td = "scroll";
/** @type {string} */
var ud = "select";
/** @type {string} */
var vd = "select_document";
/** @type {string} */
var wd = "selected";
/** @type {string} */
var xd = "separator";
/** @type {string} */
var yd = "short_text";
/** @type {string} */
var zd = "shortcut";
/** @type {string} */
var Ad = "show";
/** @type {string} */
var Bd = "sound_error";
/** @type {string} */
var Cd = "sound_finished";
/** @type {string} */
var Dd = "sound_interrupted";
/** @type {string} */
var Ed = "sound_play_start";
/** @type {string} */
var Fd = "source";
/** @type {string} */
var Gd = "source_changed";
/** @type {string} */
var Hd = "span";
/** @type {string} */
var Id = "spelling-correction";
/** @type {string} */
var Jd = "src-translit";
/** @type {string} */
var Kd = "srcEmphasizeUpdated";
/** @type {string} */
var Ld = "srcLanguageUpdated";
/** @type {string} */
var Md = "srcSuggestionUpdated";
/** @type {string} */
var Nd = "start";
/** @type {string} */
var Od = "staticSrcSuggestionUpdated";
/** @type {string} */
var Pd = "staticTgtSuggestionUpdated";
/** @type {string} */
var Qd = "stop_playlist";
/** @type {string} */
var Rd = "string";
/** @type {string} */
var Sd = "text/javascript";
/** @type {string} */
var Td = "textarea";
/** @type {string} */
var Ud = "textarea-placeholder-input";
/** @type {string} */
var Vd = "tgtEmphasizeUpdated";
/** @type {string} */
var Wd = "tgtLanguageUpdated";
/** @type {string} */
var Xd = "title";
/** @type {string} */
var Yd = "toggle_display";
/** @type {string} */
var Zd = "touchend";
/** @type {string} */
var $d = "touchmove";
/** @type {string} */
var ae = "touchstart";
/** @type {string} */
var be = "trans-listen-button";
/** @type {string} */
var ce = "trans-pb-button-saved";
/** @type {string} */
var de = "trans-target-empty";
/** @type {string} */
var ee = "trans-target-highlight";
/** @type {string} */
var fe = "transition";
/** @type {string} */
var ge = "translate";
/** @type {string} */
var he = "translation_changed";
/** @type {string} */
var ie = "true";
/** @type {string} */
var je = "unhighlight";
/** @type {string} */
var ke = "vertical";
/** @type {string} */
var le = "visibility";
/** @type {string} */
var me = "visible";
/** @type {string} */
var ne = "webkitvisibilitychange";
/** @type {string} */
var oe = "yue-hant-t-i0-und";
/** @type {string} */
var pe = "zh-CN";
/** @type {string} */
var qe = "zh-TW";
/** @type {string} */
var re = "zh-hant-t-i0-cangjie-1982";
/** @type {string} */
var se = "zh-hant-t-i0-pinyin";
/** @type {string} */
var te = "zh-hant-t-i0-und";
/**
* @return {?}
*/
function ue() {
return function() {
};
}
/**
* @param {string} key
* @return {?}
*/
function ve(key) {
return function(knownModel) {
this[key] = knownModel;
};
}
/**
* @param {string} name
* @return {?}
*/
function w(name) {
return function() {
return this[name];
};
}
/**
* @param {string} obj
* @return {?}
*/
function x(obj) {
return function() {
return obj;
};
}
var y;
var we = we || {};
/** @type {!global this} */
var z = this;
/**
* @param {?} num
* @return {?}
*/
var xe = function(num) {
return void 0 !== num;
};
/**
* @param {string} name
* @param {(!Function|string)} val
* @return {undefined}
*/
var ye = function(name, val) {
var parts = name.split(".");
var cur = z;
if (!(parts[0] in cur || !cur.execScript)) {
cur.execScript("var " + parts[0]);
}
var part;
for (; parts.length && (part = parts.shift());) {
if (!parts.length && xe(val)) {
/** @type {(!Function|string)} */
cur[part] = val;
} else {
if (cur[part]) {
cur = cur[part];
} else {
cur = cur[part] = {};
}
}
}
};
/**
* @param {string} dimension
* @param {string} axis
* @return {?}
*/
var ze = function(dimension, axis) {
var _sizeAnimateTimeStamps = dimension.split(".");
var at = axis || z;
var part;
for (; part = _sizeAnimateTimeStamps.shift();) {
if (null != at[part]) {
at = at[part];
} else {
return null;
}
}
return at;
};
var Ae = ue();
/**
* @param {!Function} x
* @return {undefined}
*/
var Be = function(x) {
/**
* @return {?}
*/
x.M = function() {
return x.Og ? x.Og : x.Og = new x;
};
};
/**
* @param {!Object} value
* @return {?}
*/
var Ce = function(value) {
/** @type {string} */
var t = typeof value;
if (t == cd) {
if (value) {
if (value instanceof Array) {
return Oa;
}
if (value instanceof Object) {
return t;
}
/** @type {string} */
var oldCondition = Object.prototype.toString.call(value);
if ("[object Window]" == oldCondition) {
return cd;
}
if ("[object Array]" == oldCondition || typeof value.length == bd && "undefined" != typeof value.splice && "undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("splice")) {
return Oa;
}
if ("[object Function]" == oldCondition || "undefined" != typeof value.call && "undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("call")) {
return Bb;
}
} else {
return "null";
}
} else {
if (t == Bb && "undefined" == typeof value.call) {
return cd;
}
}
return t;
};
/**
* @param {string} obj
* @return {?}
*/
var De = function(obj) {
return Ce(obj) == Oa;
};
/**
* @param {!Object} task
* @return {?}
*/
var Ee = function(task) {
var cmd = Ce(task);
return cmd == Oa || cmd == cd && typeof task.length == bd;
};
/**
* @param {!Object} val
* @return {?}
*/
var Fe = function(val) {
return typeof val == Rd;
};
/**
* @param {?} num
* @return {?}
*/
var Ge = function(num) {
return typeof num == bd;
};
/**
* @param {string} e
* @return {?}
*/
var He = function(e) {
return Ce(e) == Bb;
};
/**
* @param {!Object} type
* @return {?}
*/
var Ie = function(type) {
/** @type {string} */
var typeOfType = typeof type;
return typeOfType == cd && null != type || typeOfType == Bb;
};
/**
* @param {!Function} val
* @return {?}
*/
var Le = function(val) {
return val[Je] || (val[Je] = ++Ke);
};
/** @type {string} */
var Je = "closure_uid_" + (1E9 * Math.random() >>> 0);
/** @type {number} */
var Ke = 0;
/**
* @param {!Function} a
* @param {!Function} item
* @param {string} name
* @return {?}
*/
var Me = function(a, item, name) {
return a.call.apply(a.bind, arguments);
};
/**
* @param {!Function} b
* @param {!Function} a
* @param {string} name
* @return {?}
*/
var Ne = function(b, a, name) {
if (!b) {
throw Error();
}
if (2 < arguments.length) {
/** @type {!Array<?>} */
var cmd_args = Array.prototype.slice.call(arguments, 2);
return function() {
/** @type {!Array<?>} */
var c = Array.prototype.slice.call(arguments);
Array.prototype.unshift.apply(c, cmd_args);
return b.apply(a, c);
};
}
return function() {
return b.apply(a, arguments);
};
};
/**
* @param {!Function} a
* @param {!Function} b
* @param {string} name
* @return {?}
*/
var A = function(a, b, name) {
/** @type {function(!Function, !Function, string): ?} */
A = Function.prototype.bind && -1 != Function.prototype.bind.toString().indexOf("native code") ? Me : Ne;
return A.apply(null, arguments);
};
/**
* @param {!Function} q
* @param {?} expected
* @return {?}
*/
var Oe = function(q, expected) {
/** @type {!Array<?>} */
var c = Array.prototype.slice.call(arguments, 1);
return function() {
/** @type {!Array<?>} */
var all = c.slice();
all.push.apply(all, arguments);
return q.apply(this, all);
};
};
/** @type {function(): number} */
var Pe = Date.now || function() {
return +new Date;
};
/**
* @param {!Object} x
* @param {!Function} str
* @return {undefined}
*/
var C = function(x, str) {
/**
* @return {undefined}
*/
function B() {
}
B.prototype = str.prototype;
x.v = str.prototype;
x.prototype = new B;
/** @type {!Object} */
x.prototype.constructor = x;
/**
* @param {?} clss
* @param {?} item
* @param {?} changeMeta
* @return {?}
*/
x.gk = function(clss, item, changeMeta) {
/** @type {!Array} */
var args = Array(arguments.length - 2);
/** @type {number} */
var i = 2;
for (; i < arguments.length; i++) {
args[i - 2] = arguments[i];
}
return str.prototype[item].apply(clss, args);
};
};
/**
* @param {?} opt_msg
* @return {undefined}
*/
var Qe = function(opt_msg) {
if (Error.captureStackTrace) {
Error.captureStackTrace(this, Qe);
} else {
/** @type {string} */
var stack = Error().stack;
if (stack) {
/** @type {string} */
this.stack = stack;
}
}
if (opt_msg) {
/** @type {string} */
this.message = String(opt_msg);
}
};
C(Qe, Error);
/** @type {string} */
Qe.prototype.name = "CustomError";
var Re;
/**
* @param {!Object} attr
* @param {string} val
* @return {?}
*/
var Se = function(attr, val) {
/** @type {number} */
var key = attr.length - val.length;
return 0 <= key && attr.indexOf(val, key) == key;
};
/**
* @param {string} obj
* @return {?}
*/
var Te = function(obj) {
return /^[\s\xa0]*$/.test(obj);
};
/**
* @param {string} a
* @return {?}
*/
var Ue = function(a) {
return a.replace(/(\r\n|\r|\n)/g, "\n");
};
/**
* @param {string} value1
* @return {?}
*/
var Ve = function(value1) {
return value1.replace(/[\t\r\n ]+/g, " ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g, "");
};
/** @type {function(string): ?} */
var We = String.prototype.trim ? function(a) {
return a.trim();
} : function(a) {
return a.replace(/^[\s\xa0]+|[\s\xa0]+$/g, "");
};
/**
* @param {string} obj
* @return {?}
*/
var Xe = function(obj) {
return encodeURIComponent(String(obj));
};
/**
* @param {string} replacement
* @return {?}
*/
var Ye = function(replacement) {
return decodeURIComponent(replacement.replace(/\+/g, " "));
};
/**
* @param {string} commaParam
* @return {?}
*/
var Ze = function(commaParam) {
return commaParam.replace(/(\r\n|\r|\n)/g, "<br>");
};
/**
* @param {string} type
* @return {?}
*/
var hf = function(type) {
if (!$e.test(type)) {
return type;
}
if (-1 != type.indexOf("&")) {
type = type.replace(af, "&amp;");
}
if (-1 != type.indexOf("<")) {
type = type.replace(bf, "&lt;");
}
if (-1 != type.indexOf(">")) {
type = type.replace(cf, "&gt;");
}
if (-1 != type.indexOf('"')) {
type = type.replace(df, "&quot;");
}
if (-1 != type.indexOf("'")) {
type = type.replace(ef, "&#39;");
}
if (-1 != type.indexOf("\x00")) {
type = type.replace(ff, "&#0;");
}
return type;
};
/** @type {!RegExp} */
var af = /&/g;
/** @type {!RegExp} */
var bf = /</g;
/** @type {!RegExp} */
var cf = />/g;
/** @type {!RegExp} */
var df = /"/g;
/** @type {!RegExp} */
var ef = /'/g;
/** @type {!RegExp} */
var ff = /\x00/g;
/** @type {!RegExp} */
var $e = /[\x00&<>"']/;
/**
* @param {string} key
* @return {?}
*/
var lf = function(key) {
return -1 != key.indexOf("&") ? "document" in z ? jf(key) : kf(key) : key;
};
/**
* @param {string} path
* @return {?}
*/
var jf = function(path) {
var props = {
"&amp;" : "&",
"&lt;" : "<",
"&gt;" : ">",
"&quot;" : '"'
};
var div;
div = z.document.createElement(qb);
return path.replace(mf, function(i, CardNo18) {
var prop = props[i];
if (prop) {
return prop;
}
if ("#" == CardNo18.charAt(0)) {
/** @type {number} */
var n = Number("0" + CardNo18.substr(1));
if (!isNaN(n)) {
/** @type {string} */
prop = String.fromCharCode(n);
}
}
if (!prop) {
/** @type {string} */
div.innerHTML = i + " ";
prop = div.firstChild.nodeValue.slice(0, -1);
}
return props[i] = prop;
});
};
/**
* @param {string} arg
* @return {?}
*/
var kf = function(arg) {
return arg.replace(/&([^;]+);/g, function(a, entity) {
switch(entity) {
case "amp":
return "&";
case "lt":
return "<";
case "gt":
return ">";
case "quot":
return '"';
default:
if ("#" == entity.charAt(0)) {
/** @type {number} */
var numeric = Number("0" + entity.substr(1));
if (!isNaN(numeric)) {
return String.fromCharCode(numeric);
}
}
return a;
}
});
};
/** @type {!RegExp} */
var mf = /&([^;\s<&]+);?/g;
/**
* @param {!Object} value
* @return {?}
*/
var nf = function(value) {
return String(value).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g, "\\$1").replace(/\x08/g, "\\x08");
};
/** @type {function(string, number): ?} */
var of = String.prototype.repeat ? function(indentPerLevel, level) {
return indentPerLevel.repeat(level);
} : function(inputHrStr, startIndex) {
return Array(startIndex + 1).join(inputHrStr);
};
/**
* @param {!Object} value
* @return {?}
*/
var pf = function(value) {
return null == value ? "" : String(value);
};
/**
* @param {!Object} string
* @return {?}
*/
var qf = function(string) {
return Array.prototype.join.call(arguments, "");
};
/**
* @param {?} t
* @param {!Object} x
* @return {?}
*/
var sf = function(t, x) {
/** @type {number} */
var center = 0;
var xN = We(String(t)).split(".");
var yN = We(String(x)).split(".");
/** @type {number} */
var numlabels = Math.max(xN.length, yN.length);
/** @type {number} */
var i = 0;
for (; 0 == center && i < numlabels; i++) {
var v2Sub = xN[i] || "";
var v1Sub = yN[i] || "";
/** @type {!RegExp} */
var reg_exp = RegExp("(\\d*)(\\D*)", "g");
/** @type {!RegExp} */
var matcher = RegExp("(\\d*)(\\D*)", "g");
do {
/** @type {!Array} */
var combatant = reg_exp.exec(v2Sub) || ["", "", ""];
/** @type {!Array} */
var regex_splitter = matcher.exec(v1Sub) || ["", "", ""];
if (0 == combatant[0].length && 0 == regex_splitter[0].length) {
break;
}
center = rf(0 == combatant[1].length ? 0 : parseInt(combatant[1], 10), 0 == regex_splitter[1].length ? 0 : parseInt(regex_splitter[1], 10)) || rf(0 == combatant[2].length, 0 == regex_splitter[2].length) || rf(combatant[2], regex_splitter[2]);
} while (0 == center);
}
return center;
};
/**
* @param {number} min
* @param {number} max
* @return {?}
*/
var rf = function(min, max) {
return min < max ? -1 : min > max ? 1 : 0;
};
/**
* @param {string} text
* @return {?}
*/
var tf = function(text) {
return String(text).replace(/\-([a-z])/g, function(a, shortMonthName) {
return shortMonthName.toUpperCase();
});
};
/**
* @param {string} b
* @return {?}
*/
var uf = function(b) {
var enable_keys = Fe(void 0) ? nf(void 0) : "\\s";
return b.replace(new RegExp("(^" + (enable_keys ? "|[" + enable_keys + "]+" : "") + ")([a-z])", "g"), function(a, b, shortMonthName) {
return b + shortMonthName.toUpperCase();
});
};
/**
* @param {!Object} value
* @return {?}
*/
var vf = function(value) {
return value[value.length - 1];
};
/** @type {function(!Object, !Object, ?): ?} */
var wf = Array.prototype.indexOf ? function(obj, b, refC) {
return Array.prototype.indexOf.call(obj, b, refC);
} : function(array, value, i) {
i = null == i ? 0 : 0 > i ? Math.max(0, array.length + i) : i;
if (Fe(array)) {
return Fe(value) && 1 == value.length ? array.indexOf(value, i) : -1;
}
for (; i < array.length; i++) {
if (i in array && array[i] === value) {
return i;
}
}
return -1;
};
/** @type {function(!Object, !Function, !Object): undefined} */
var xf = Array.prototype.forEach ? function(data, head, b) {
Array.prototype.forEach.call(data, head, b);
} : function(data, t, b) {
var nbElts = data.length;
var results = Fe(data) ? data.split("") : data;
/** @type {number} */
var i = 0;
for (; i < nbElts; i++) {
if (i in results) {
t.call(b, results[i], i, data);
}
}
};
/** @type {function(string, !Function, ?): ?} */
var yf = Array.prototype.filter ? function(obj, p1__3354_SHARP_, refC) {
return Array.prototype.filter.call(obj, p1__3354_SHARP_, refC);
} : function(path, util, repo) {
var length = path.length;
/** @type {!Array} */
var resp = [];
/** @type {number} */
var offset = 0;
var value = Fe(path) ? path.split("") : path;
/** @type {number} */
var key = 0;
for (; key < length; key++) {
if (key in value) {
var val = value[key];
if (util.call(repo, val, key, path)) {
resp[offset++] = val;
}
}
}
return resp;
};
/** @type {function(string, !Function, ?): ?} */
var zf = Array.prototype.map ? function(a, p1__3354_SHARP_, c) {
return Array.prototype.map.call(a, p1__3354_SHARP_, c);
} : function(obj, fn, array) {
var length = obj.length;
/** @type {!Array} */
var result = Array(length);
var a = Fe(obj) ? obj.split("") : obj;
/** @type {number} */
var i = 0;
for (; i < length; i++) {
if (i in a) {
result[i] = fn.call(array, a[i], i, obj);
}
}
return result;
};
/** @type {function(?, !Function, ?): ?} */
var Af = Array.prototype.some ? function(gen34_options, p1__3354_SHARP_, refC) {
return Array.prototype.some.call(gen34_options, p1__3354_SHARP_, refC);
} : function(arr, f, opt_obj) {
var arrSize = arr.length;
var arr2 = Fe(arr) ? arr.split("") : arr;
/** @type {number} */
var i = 0;
for (; i < arrSize; i++) {
if (i in arr2 && f.call(opt_obj, arr2[i], i, arr)) {
return true;
}
}
return false;
};
/** @type {function(!Array, ?, ?): ?} */
var Bf = Array.prototype.every ? function(result, p1__3354_SHARP_, refC) {
return Array.prototype.every.call(result, p1__3354_SHARP_, refC);
} : function(path, util, c) {
var length = path.length;
var keys = Fe(path) ? path.split("") : path;
/** @type {number} */
var i = 0;
for (; i < length; i++) {
if (i in keys && !util.call(c, keys[i], i, path)) {
return false;
}
}
return true;
};
/**
* @param {!Object} code
* @param {!Function} content
* @return {?}
*/
var Cf = function(code, content) {
/** @type {number} */
var c = 0;
xf(code, function(newContent, linear, f) {
if (content.call(void 0, newContent, linear, f)) {
++c;
}
}, void 0);
return c;
};
/**
* @param {!Object} arr
* @param {!Function} f
* @return {?}
*/
var Df = function(arr, f) {
var index;
a: {
index = arr.length;
var arr2 = Fe(arr) ? arr.split("") : arr;
/** @type {number} */
var i = 0;
for (; i < index; i++) {
if (i in arr2 && f.call(void 0, arr2[i], i, arr)) {
/** @type {number} */
index = i;
break a;
}
}
/** @type {number} */
index = -1;
}
return 0 > index ? null : Fe(arr) ? arr.charAt(index) : arr[index];
};
/**
* @param {!Array} arr
* @param {!Object} msg
* @return {?}
*/
var Ef = function(arr, msg) {
return 0 <= wf(arr, msg);
};
/**
* @param {!Array} a
* @param {string} b
* @return {undefined}
*/
var Gf = function(a, b) {
if (!Ef(a, b)) {
a.push(b);
}
};
/**
* @param {!Object} fn
* @param {!Object} a
* @return {?}
*/
var Hf = function(fn, a) {
var time = wf(fn, a);
var dateOpen;
if (dateOpen = 0 <= time) {
Array.prototype.splice.call(fn, time, 1);
}
return dateOpen;
};
/**
* @param {!Array} _ref
* @return {?}
*/
var If = function(_ref) {
return Array.prototype.concat.apply(Array.prototype, arguments);
};
/**
* @param {!Object} obj
* @return {?}
*/
var Jf = function(obj) {
var length = obj.length;
if (0 < length) {
/** @type {!Array} */
var values = Array(length);
/** @type {number} */
var i = 0;
for (; i < length; i++) {
values[i] = obj[i];
}
return values;
}
return [];
};
/**
* @param {!Array} data
* @param {!Object} fn
* @return {undefined}
*/
var Kf = function(data, fn) {
/** @type {number} */
var i = 1;
for (; i < arguments.length; i++) {
var model = arguments[i];
if (Ee(model)) {
var i = data.length || 0;
var n = model.length || 0;
data.length = i + n;
/** @type {number} */
var j = 0;
for (; j < n; j++) {
data[i + j] = model[j];
}
} else {
data.push(model);
}
}
};
/**
* @param {?} a
* @param {number} b
* @param {number} status
* @param {!Function} f
* @return {undefined}
*/
var Mf = function(a, b, status, f) {
Array.prototype.splice.apply(a, Lf(arguments, 1));
};
/**
* @param {!Object} obj
* @param {number} indent
* @param {?} settings
* @return {?}
*/
var Lf = function(obj, indent, settings) {
return 2 >= arguments.length ? Array.prototype.slice.call(obj, indent) : Array.prototype.slice.call(obj, indent, settings);
};
/**
* @param {!Object} c
* @param {!Function} b
* @param {!Object} input
* @return {undefined}
*/
var Nf = function(c, b, input) {
var id;
for (id in c) {
b.call(input, c[id], id, c);
}
};
/**
* @param {!Object} item
* @return {?}
*/
var Of = function(item) {
/** @type {!Array} */
var result = [];
/** @type {number} */
var j = 0;
var i;
for (i in item) {
result[j++] = item[i];
}
return result;
};
/**
* @param {!Object} pool
* @return {?}
*/
var Pf = function(pool) {
/** @type {!Array} */
var bBag = [];
/** @type {number} */
var callbackCount = 0;
var i;
for (i in pool) {
/** @type {string} */
bBag[callbackCount++] = i;
}
return bBag;
};
/**
* @param {!Object} menu
* @param {string} items
* @return {?}
*/
var Qf = function(menu, items) {
return null !== menu && items in menu;
};
/**
* @return {?}
*/
var Sf = function() {
var a = Rf;
var j;
for (j in a) {
return false;
}
return true;
};
/**
* @param {!Object} tags
* @param {string} name
* @param {!Object} ctor
* @return {undefined}
*/
var Tf = function(tags, name, ctor) {
if (null !== tags && name in tags) {
throw Error('The object already contains the key "' + name + '"');
}
/** @type {!Object} */
tags[name] = ctor;
};
/**
* @param {!Object} options
* @return {?}
*/
var Uf = function(options) {
var processedOptions = {};
var name;
for (name in options) {
processedOptions[name] = options[name];
}
return processedOptions;
};
/** @type {!Array<string>} */
var Vf = "constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
/**
* @param {string} obj
* @param {string} source
* @return {undefined}
*/
var Wf = function(obj, source) {
var j;
var a;
/** @type {number} */
var i = 1;
for (; i < arguments.length; i++) {
a = arguments[i];
for (j in a) {
obj[j] = a[j];
}
/** @type {number} */
var jX = 0;
for (; jX < Vf.length; jX++) {
j = Vf[jX];
if (Object.prototype.hasOwnProperty.call(a, j)) {
obj[j] = a[j];
}
}
}
};
/**
* @param {?} init
* @return {?}
*/
var Xf = function(init) {
/** @type {number} */
var argl = arguments.length;
if (1 == argl && De(arguments[0])) {
return Xf.apply(null, arguments[0]);
}
if (argl % 2) {
throw Error(Fa);
}
var rv = {};
/** @type {number} */
var i = 0;
for (; i < argl; i = i + 2) {
rv[arguments[i]] = arguments[i + 1];
}
return rv;
};
/**
* @param {!Array} i
* @return {?}
*/
var Yf = function(i) {
/** @type {number} */
var argl = arguments.length;
if (1 == argl && De(arguments[0])) {
return Yf.apply(null, arguments[0]);
}
var LANGUAGES = {};
/** @type {number} */
var i = 0;
for (; i < argl; i++) {
/** @type {boolean} */
LANGUAGES[arguments[i]] = true;
}
return LANGUAGES;
};
var Zf = {
area : true,
base : true,
br : true,
col : true,
command : true,
embed : true,
hr : true,
img : true,
input : true,
keygen : true,
link : true,
meta : true,
param : true,
source : true,
track : true,
wbr : true
};
/** @type {!RegExp} */
var $f = /^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;
/**
* @param {number} id
* @return {?}
*/
var ag = function(id) {
return $f.test(id);
};
var bg;
a: {
/** @type {!Navigator} */
var cg = z.navigator;
if (cg) {
/** @type {string} */
var dg = cg.userAgent;
if (dg) {
/** @type {string} */
bg = dg;
break a;
}
}
/** @type {string} */
bg = "";
}
/**
* @param {string} str
* @return {?}
*/
var D = function(str) {
return -1 != bg.indexOf(str);
};
/**
* @param {?} a
* @return {?}
*/
var eg = function(a) {
/** @type {!RegExp} */
var matcher = RegExp("(\\w[\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?", "g");
/** @type {!Array} */
var newNodeLists = [];
var dayEle;
for (; dayEle = matcher.exec(a);) {
newNodeLists.push([dayEle[1], dayEle[2], dayEle[3] || void 0]);
}
return newNodeLists;
};
/**
* @return {?}
*/
var fg = function() {
return D("Trident") || D("MSIE");
};
/**
* @return {?}
*/
var gg = function() {
return (D("Chrome") || D("CriOS")) && !D(ra);
};
/**
* @return {?}
*/
var ig = function() {
/**
* @param {!Array} code
* @return {?}
*/
function lookUpValueWithKeys(code) {
code = Df(code, m);
return params[code] || "";
}
var type = bg;
if (fg()) {
return hg(type);
}
type = eg(type);
var params = {};
xf(type, function(data) {
params[data[0]] = data[1];
});
var m = Oe(Qf, params);
return D(va) ? lookUpValueWithKeys(["Version", va]) : D(ra) ? lookUpValueWithKeys([ra]) : gg() ? lookUpValueWithKeys(["Chrome", "CriOS"]) : (type = type[2]) && type[1] || "";
};
/**
* @param {string} c
* @return {?}
*/
var hg = function(c) {
/** @type {(Array<string>|null)} */
var s = /rv: *([\d\.]*)/.exec(c);
if (s && s[1]) {
return s[1];
}
/** @type {string} */
s = "";
/** @type {(Array<string>|null)} */
var a = /MSIE +([\d\.]+)/.exec(c);
if (a && a[1]) {
if (c = /Trident\/(\d.\d)/.exec(c), "7.0" == a[1]) {
if (c && c[1]) {
switch(c[1]) {
case "4.0":
/** @type {string} */
s = "8.0";
break;
case "5.0":
/** @type {string} */
s = "9.0";
break;
case "6.0":
/** @type {string} */
s = "10.0";
break;
case "7.0":
/** @type {string} */
s = "11.0";
}
} else {
/** @type {string} */
s = "7.0";
}
} else {
/** @type {string} */
s = a[1];
}
}
return s;
};
/**
* @return {undefined}
*/
var kg = function() {
/** @type {string} */
this.a = "";
this.b = jg;
};
/** @type {boolean} */
kg.prototype.dc = true;
kg.prototype.Lb = w("a");
/**
* @return {?}
*/
kg.prototype.toString = function() {
return "Const{" + this.a + "}";
};
/**
* @param {!Object} x
* @return {?}
*/
var lg = function(x) {
return x instanceof kg && x.constructor === kg && x.b === jg ? x.a : "type_error:Const";
};
var jg = {};
/**
* @param {string} v
* @return {?}
*/
var mg = function(v) {
var value = new kg;
/** @type {string} */
value.a = v;
return value;
};
/**
* @return {undefined}
*/
var og = function() {
/** @type {string} */
this.a = "";
this.b = ng;
};
/** @type {boolean} */
og.prototype.dc = true;
var ng = {};
og.prototype.Lb = w("a");
/**
* @param {string} i
* @return {?}
*/
var pg = function(i) {
var b = new og;
/** @type {string} */
b.a = i;
return b;
};
var qg = pg("");
/** @type {!RegExp} */
var rg = /^([-,."'%_!# a-zA-Z0-9]+|(?:rgb|hsl)a?\([0-9.%, ]+\))$/;
/**
* @return {undefined}
*/
var tg = function() {
/** @type {string} */
this.a = "";
this.b = sg;
};
/** @type {boolean} */
tg.prototype.dc = true;
var sg = {};
tg.prototype.Lb = w("a");
/**
* @param {string} a
* @return {?}
*/
var ug = function(a) {
var exportsB = new tg;
/** @type {string} */
exportsB.a = a;
return exportsB;
};
ug("");
/**
* @return {undefined}
*/
var wg = function() {
/** @type {string} */
this.a = "";
this.b = vg;
};
/** @type {boolean} */
wg.prototype.dc = true;
wg.prototype.Lb = w("a");
/** @type {boolean} */
wg.prototype.uf = true;
wg.prototype.oc = x(1);
/** @type {!RegExp} */
var xg = /^(?:(?:https?|mailto|ftp):|[^&:/?#]*(?:[/?#]|$))/i;
var vg = {};
/**
* @param {string} a
* @return {?}
*/
var yg = function(a) {
var exportsB = new wg;
/** @type {string} */
exportsB.a = a;
return exportsB;
};
yg("about:blank");
/**
* @return {undefined}
*/
var Ag = function() {
/** @type {string} */
this.a = "";
this.b = zg;
};
/** @type {boolean} */
Ag.prototype.dc = true;
Ag.prototype.Lb = w("a");
/** @type {boolean} */
Ag.prototype.uf = true;
Ag.prototype.oc = x(1);
/**
* @param {!Object} x
* @return {?}
*/
var Bg = function(x) {
if (x instanceof Ag && x.constructor === Ag && x.b === zg) {
return x.a;
}
Ce(x);
return "type_error:TrustedResourceUrl";
};
var zg = {};
/**
* @param {number} a
* @return {?}
*/
var Dg = function(a) {
var exportsB = new Ag;
/** @type {number} */
exportsB.a = a;
return exportsB;
};
/**
* @return {undefined}
*/
var Fg = function() {
/** @type {string} */
this.a = "";
this.c = Eg;
/** @type {null} */
this.b = null;
};
/** @type {boolean} */
Fg.prototype.uf = true;
Fg.prototype.oc = w("b");
/** @type {boolean} */
Fg.prototype.dc = true;
Fg.prototype.Lb = w("a");
/**
* @param {!Object} a
* @return {?}
*/
var Gg = function(a) {
if (a instanceof Fg && a.constructor === Fg && a.c === Eg) {
return a.a;
}
Ce(a);
return "type_error:SafeHtml";
};
/**
* @param {!Object} obj
* @return {?}
*/
var Ig = function(obj) {
if (obj instanceof Fg) {
return obj;
}
/** @type {null} */
var bCreateNode = null;
if (obj.uf) {
bCreateNode = obj.oc();
}
obj = hf(obj.dc ? obj.Lb() : String(obj));
return Hg(obj, bCreateNode);
};
/**
* @param {!Object} item
* @return {?}
*/
var Jg = function(item) {
if (item instanceof Fg) {
return item;
}
item = Ig(item);
var valueProgess = Ze(Gg(item));
return Hg(valueProgess, item.oc());
};
/** @type {!RegExp} */
var Kg = /^[a-zA-Z0-9-]+$/;
var Lg = {
action : true,
cite : true,
data : true,
formaction : true,
href : true,
manifest : true,
poster : true,
src : true
};
var Mg = {
APPLET : true,
BASE : true,
EMBED : true,
IFRAME : true,
LINK : true,
MATH : true,
META : true,
OBJECT : true,
SCRIPT : true,
STYLE : true,
SVG : true,
TEMPLATE : true
};
/**
* @param {string} key
* @param {!Object} n
* @param {string} c
* @return {?}
*/
var Og = function(key, n, c) {
if (!Kg.test(key)) {
throw Error("Invalid tag name <" + key + ">.");
}
if (key.toUpperCase() in Mg) {
throw Error("Tag name <" + key + "> is not allowed for SafeHtml.");
}
return Ng(key, n, c);
};
/**
* @param {!Object} var_args
* @return {?}
*/
var Pg = function(var_args) {
/** @type {number} */
var object = 0;
/** @type {string} */
var is = "";
/**
* @param {string} type
* @return {undefined}
*/
var i = function(type) {
if (De(type)) {
xf(type, i);
} else {
type = Ig(type);
is = is + Gg(type);
type = type.oc();
if (0 == object) {
/** @type {string} */
object = type;
} else {
if (0 != type && object != type) {
/** @type {null} */
object = null;
}
}
}
};
xf(arguments, i);
return Hg(is, object);
};
var Eg = {};
/**
* @param {string} a
* @param {number} b
* @return {?}
*/
var Hg = function(a, b) {
var xform = new Fg;
/** @type {string} */
xform.a = a;
/** @type {number} */
xform.b = b;
return xform;
};
/**
* @param {string} name
* @param {!Object} options
* @param {string} config
* @return {?}
*/
var Ng = function(name, options, config) {
/** @type {null} */
var item = null;
var o;
/** @type {string} */
var s = "";
if (options) {
for (o in options) {
if (!Kg.test(o)) {
throw Error('Invalid attribute name "' + o + '".');
}
var obj = options[o];
if (null != obj) {
var val;
/** @type {string} */
var str = name;
/** @type {string} */
val = o;
if (obj instanceof kg) {
obj = lg(obj);
} else {
if ("style" == val.toLowerCase()) {
if (!Ie(obj)) {
throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, ' + typeof obj + " given: " + obj);
}
if (!(obj instanceof og)) {
/** @type {string} */
str = "";
var name = void 0;
for (name in obj) {
if (!/^[-_a-zA-Z0-9]+$/.test(name)) {
throw Error("Name allows only [-_a-zA-Z0-9], got: " + name);
}
var i = obj[name];
if (null != i) {
if (i instanceof kg) {
i = lg(i);
} else {
if (rg.test(i)) {
/** @type {boolean} */
var add = true;
/** @type {boolean} */
var test = true;
/** @type {number} */
var level = 0;
for (; level < i.length; level++) {
var adjustedLevel = i.charAt(level);
if ("'" == adjustedLevel && test) {
/** @type {boolean} */
add = !add;
} else {
if ('"' == adjustedLevel && add) {
/** @type {boolean} */
test = !test;
}
}
}
if (!(add && test)) {
/** @type {string} */
i = "zClosurez";
}
} else {
/** @type {string} */
i = "zClosurez";
}
}
/** @type {string} */
str = str + (name + ":" + i + ";");
}
}
obj = str ? pg(str) : qg;
}
if (obj instanceof og && obj.constructor === og && obj.b === ng) {
obj = obj.a;
} else {
Ce(obj);
/** @type {string} */
obj = "type_error:SafeStyle";
}
} else {
if (/^on/i.test(val)) {
throw Error('Attribute "' + val + '" requires goog.string.Const value, "' + obj + '" given.');
}
if (val.toLowerCase() in Lg) {
if (obj instanceof Ag) {
obj = Bg(obj);
} else {
if (obj instanceof wg) {
if (obj instanceof wg && obj.constructor === wg && obj.b === vg) {
obj = obj.a;
} else {
Ce(obj);
/** @type {string} */
obj = "type_error:SafeUrl";
}
} else {
if (Fe(obj)) {
if (!(obj instanceof wg)) {
obj = obj.dc ? obj.Lb() : String(obj);
if (!xg.test(obj)) {
/** @type {string} */
obj = "about:invalid#zClosurez";
}
obj = yg(obj);
}
obj = obj.Lb();
} else {
throw Error('Attribute "' + val + '" on tag "' + str + '" requires goog.html.SafeUrl, goog.string.Const, or string, value "' + obj + '" given.');
}
}
}
}
}
}
if (obj.dc) {
obj = obj.Lb();
}
/** @type {string} */
val = val + '="' + hf(String(obj)) + '"';
/** @type {string} */
s = s + (" " + val);
}
}
}
/** @type {string} */
o = "<" + name + s;
if (null != config) {
if (!De(config)) {
/** @type {!Array} */
config = [config];
}
} else {
/** @type {!Array} */
config = [];
}
if (true === Zf[name.toLowerCase()]) {
/** @type {string} */
o = o + ">";
} else {
item = Pg(config);
/** @type {string} */
o = o + (">" + Gg(item) + "</" + name + ">");
item = item.oc();
}
if (name = options && options.dir) {
if (/^(ltr|rtl|auto)$/i.test(name)) {
/** @type {number} */
item = 0;
} else {
/** @type {null} */
item = null;
}
}
return Hg(o, item);
};
Hg("<!DOCTYPE html>", 0);
var Qg = Hg("", 0);
var Rg = Hg("<br>", 0);
var Sg = "StopIteration" in z ? z.StopIteration : {
message : "StopIteration",
stack : ""
};
var Tg = ue();
/**
* @return {?}
*/
Tg.prototype.next = function() {
throw Sg;
};
/**
* @return {?}
*/
Tg.prototype.mb = function() {
return this;
};
/**
* @param {!Object} model
* @return {?}
*/
var Ug = function(model) {
if (model instanceof Tg) {
return model;
}
if (typeof model.mb == Bb) {
return model.mb(false);
}
if (Ee(model)) {
/** @type {number} */
var x0 = 0;
var deletedChar = new Tg;
/**
* @return {?}
*/
deletedChar.next = function() {
for (;;) {
if (x0 >= model.length) {
throw Sg;
}
if (x0 in model) {
return model[x0++];
}
x0++;
}
};
return deletedChar;
}
throw Error("Not implemented");
};
/**
* @param {!Object} m
* @param {!Function} f
* @param {!Object} data
* @return {undefined}
*/
var Vg = function(m, f, data) {
m = Ug(m);
try {
for (; f.call(data, m.next(), void 0, m);) {
}
} catch (d) {
if (d !== Sg) {
throw d;
}
}
};
/**
* @param {!Object} self
* @param {?} ncls
* @return {undefined}
*/
var Wg = function(self, ncls) {
this.b = {};
/** @type {!Array} */
this.a = [];
/** @type {number} */
this.g = this.c = 0;
/** @type {number} */
var m = arguments.length;
if (1 < m) {
if (m % 2) {
throw Error(Fa);
}
/** @type {number} */
var k = 0;
for (; k < m; k = k + 2) {
this.set(arguments[k], arguments[k + 1]);
}
} else {
if (self) {
if (self instanceof Wg) {
m = self.tb();
k = self.Va();
} else {
m = Pf(self);
k = Of(self);
}
/** @type {number} */
var i = 0;
for (; i < m.length; i++) {
this.set(m[i], k[i]);
}
}
}
};
/**
* @return {?}
*/
Wg.prototype.Va = function() {
Xg(this);
/** @type {!Array} */
var newNodeLists = [];
/** @type {number} */
var i = 0;
for (; i < this.a.length; i++) {
newNodeLists.push(this.b[this.a[i]]);
}
return newNodeLists;
};
/**
* @return {?}
*/
Wg.prototype.tb = function() {
Xg(this);
return this.a.concat();
};
/**
* @param {!Object} a
* @param {string} b
* @return {?}
*/
var Zg = function(a, b) {
return Yg(a.b, b);
};
/**
* @return {undefined}
*/
Wg.prototype.clear = function() {
this.b = {};
/** @type {number} */
this.g = this.c = this.a.length = 0;
};
/**
* @param {!Object} m
* @param {!Object} b
* @return {undefined}
*/
var $g = function(m, b) {
if (Yg(m.b, b)) {
delete m.b[b];
m.c--;
m.g++;
if (m.a.length > 2 * m.c) {
Xg(m);
}
}
};
/**
* @param {!Object} arr
* @return {undefined}
*/
var Xg = function(arr) {
if (arr.c != arr.a.length) {
/** @type {number} */
var i = 0;
/** @type {number} */
var offset = 0;
for (; i < arr.a.length;) {
var key = arr.a[i];
if (Yg(arr.b, key)) {
arr.a[offset++] = key;
}
i++;
}
/** @type {number} */
arr.a.length = offset;
}
if (arr.c != arr.a.length) {
var vertexSet = {};
/** @type {number} */
offset = i = 0;
for (; i < arr.a.length;) {
key = arr.a[i];
if (!Yg(vertexSet, key)) {
arr.a[offset++] = key;
/** @type {number} */
vertexSet[key] = 1;
}
i++;
}
/** @type {number} */
arr.a.length = offset;
}
};
y = Wg.prototype;
/**
* @param {string} prop
* @param {?} dft
* @return {?}
*/
y.get = function(prop, dft) {
return Yg(this.b, prop) ? this.b[prop] : dft;
};
/**
* @param {string} name
* @param {!Object} obj
* @return {undefined}
*/
y.set = function(name, obj) {
if (!Yg(this.b, name)) {
this.c++;
this.a.push(name);
this.g++;
}
/** @type {!Object} */
this.b[name] = obj;
};
/**
* @param {!Function} g
* @param {!Object} f
* @return {undefined}
*/
y.forEach = function(g, f) {
var colorChunks = this.tb();
/** @type {number} */
var i = 0;
for (; i < colorChunks.length; i++) {
var c = colorChunks[i];
var m = this.get(c);
g.call(f, m, c, this);
}
};
/**
* @return {?}
*/
y.clone = function() {
return new Wg(this);
};
/**
* @param {boolean} bool
* @return {?}
*/
y.mb = function(bool) {
Xg(this);
/** @type {number} */
var offset = 0;
var g = this.g;
var res = this;
var deletedChar = new Tg;
/**
* @return {?}
*/
deletedChar.next = function() {
if (g != res.g) {
throw Error("The map has changed since the iterator was created");
}
if (offset >= res.a.length) {
throw Sg;
}
var i = res.a[offset++];
return bool ? i : res.b[i];
};
return deletedChar;
};
/**
* @param {?} vertexSet
* @param {!Object} args
* @return {?}
*/
var Yg = function(vertexSet, args) {
return Object.prototype.hasOwnProperty.call(vertexSet, args);
};
/**
* @param {!Object} a
* @return {?}
*/
var ah = function(a) {
if (a.Va && typeof a.Va == Bb) {
return a.Va();
}
if (Fe(a)) {
return a.split("");
}
if (Ee(a)) {
/** @type {!Array} */
var reorderMap = [];
var startLen = a.length;
/** @type {number} */
var j = 0;
for (; j < startLen; j++) {
reorderMap.push(a[j]);
}
return reorderMap;
}
return Of(a);
};
/**
* @param {!Object} self
* @param {!Function} i
* @param {!Object} c
* @return {undefined}
*/
var bh = function(self, i, c) {
if (self.forEach && typeof self.forEach == Bb) {
self.forEach(i, c);
} else {
if (Ee(self) || Fe(self)) {
xf(self, i, c);
} else {
var data;
if (self.tb && typeof self.tb == Bb) {
data = self.tb();
} else {
if (self.Va && typeof self.Va == Bb) {
data = void 0;
} else {
if (Ee(self) || Fe(self)) {
/** @type {!Array} */
data = [];
var item = self.length;
/** @type {number} */
var i = 0;
for (; i < item; i++) {
data.push(i);
}
} else {
data = Pf(self);
}
}
}
item = ah(self);
i = item.length;
/** @type {number} */
var g = 0;
for (; g < i; g++) {
i.call(c, item[g], data && data[g], self);
}
}
}
};
/**
* @param {!Array} n
* @return {undefined}
*/
var dh = function(n) {
this.a = new Wg;
if (n) {
n = ah(n);
var argl = n.length;
/** @type {number} */
var i = 0;
for (; i < argl; i++) {
var b = n[i];
this.a.set(ch(b), b);
}
}
};
/**
* @param {!Object} value
* @return {?}
*/
var ch = function(value) {
/** @type {string} */
var key = typeof value;
return key == cd && value || key == Bb ? "o" + Le(value) : key.substr(0, 1) + value;
};
y = dh.prototype;
/**
* @return {undefined}
*/
y.clear = function() {
this.a.clear();
};
/**
* @param {!Object} parent
* @return {?}
*/
y.contains = function(parent) {
return Zg(this.a, ch(parent));
};
/**
* @return {?}
*/
y.Va = function() {
return this.a.Va();
};
/**
* @return {?}
*/
y.clone = function() {
return new dh(this);
};
/**
* @return {?}
*/
y.mb = function() {
return this.a.mb(false);
};
/**
* @return {?}
*/
var eh = function() {
return D("iPhone") && !D(uc) && !D(tc);
};
var fh = D(va);
var E = fg();
var gh = D(ra);
var hh = gh || E;
var ih = D("Gecko") && !(-1 != bg.toLowerCase().indexOf("webkit") && !D(ra)) && !(D("Trident") || D("MSIE")) && !D(ra);
/** @type {boolean} */
var G = -1 != bg.toLowerCase().indexOf("webkit") && !D(ra);
var jh = G && D("Mobile");
var kh = D("Macintosh");
var lh = D("Windows");
var mh = D(na);
var nh = eh();
var oh = D(tc);
var ph = D(uc);
/**
* @return {?}
*/
var qh = function() {
var document = z.document;
return document ? document.documentMode : void 0;
};
var rh;
a: {
/** @type {string} */
var sh = "";
var th = function() {
var colour = bg;
if (ih) {
return /rv:([^\);]+)(\)|;)/.exec(colour);
}
if (gh) {
return /Edge\/([\d\.]+)/.exec(colour);
}
if (E) {
return /\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(colour);
}
if (G) {
return /WebKit\/(\S+)/.exec(colour);
}
if (fh) {
return /(?:Version)[ \/]?(\S+)/.exec(colour);
}
}();
if (th) {
sh = th ? th[1] : "";
}
if (E) {
var uh = qh();
if (null != uh && uh > parseFloat(sh)) {
/** @type {string} */
rh = String(uh);
break a;
}
}
rh = sh;
}
var vh = rh;
var wh = {};
/**
* @param {!Object} i
* @return {?}
*/
var I = function(i) {
return wh[i] || (wh[i] = 0 <= sf(vh, i));
};
/**
* @param {number} documentMode
* @return {?}
*/
var yh = function(documentMode) {
return Number(xh) >= documentMode;
};
/** @type {!HTMLDocument} */
var zh = z.document;
var xh = zh && E ? qh() || ("CSS1Compat" == zh.compatMode ? parseInt(vh, 10) : 5) : void 0;
/**
* @param {!Object} val
* @return {?}
*/
var Ah = function(val) {
if (val.classList) {
return val.classList;
}
val = val.className;
return Fe(val) && val.match(/\S+/g) || [];
};
/**
* @param {!Object} a
* @param {string} c
* @return {?}
*/
var Bh = function(a, c) {
return a.classList ? a.classList.contains(c) : Ef(Ah(a), c);
};
/**
* @param {!Object} a
* @param {string} x
* @return {undefined}
*/
var J = function(a, x) {
if (a.classList) {
a.classList.add(x);
} else {
if (!Bh(a, x)) {
a.className += 0 < a.className.length ? " " + x : x;
}
}
};
/**
* @param {!Object} t
* @param {!Array} code
* @return {undefined}
*/
var Ch = function(t, code) {
if (t.classList) {
xf(code, function(b) {
J(t, b);
});
} else {
var aggregates = {};
xf(Ah(t), function(summaryIndex) {
/** @type {boolean} */
aggregates[summaryIndex] = true;
});
xf(code, function(summaryIndex) {
/** @type {boolean} */
aggregates[summaryIndex] = true;
});
/** @type {string} */
t.className = "";
var className;
for (className in aggregates) {
t.className += 0 < t.className.length ? " " + className : className;
}
}
};
/**
* @param {!Object} a
* @param {string} x
* @return {undefined}
*/
var K = function(a, x) {
if (a.classList) {
a.classList.remove(x);
} else {
if (Bh(a, x)) {
a.className = yf(Ah(a), function(z) {
return z != x;
}).join(" ");
}
}
};
/**
* @param {!Object} a
* @param {!Array} v
* @return {undefined}
*/
var Dh = function(a, v) {
if (a.classList) {
xf(v, function(h) {
K(a, h);
});
} else {
a.className = yf(Ah(a), function(Ignored) {
return !Ef(v, Ignored);
}).join(" ");
}
};
/**
* @param {!Object} a
* @param {string} b
* @param {boolean} num
* @return {undefined}
*/
var Eh = function(a, b, num) {
if (num) {
J(a, b);
} else {
K(a, b);
}
};
/**
* @param {number} a
* @param {number} b
* @return {undefined}
*/
var L = function(a, b) {
this.x = xe(a) ? a : 0;
this.y = xe(b) ? b : 0;
};
/**
* @return {?}
*/
L.prototype.clone = function() {
return new L(this.x, this.y);
};
/**
* @param {number} c
* @param {number} a
* @return {?}
*/
var Fh = function(c, a) {
return new L(c.x - a.x, c.y - a.y);
};
/**
* @return {?}
*/
L.prototype.ceil = function() {
/** @type {number} */
this.x = Math.ceil(this.x);
/** @type {number} */
this.y = Math.ceil(this.y);
return this;
};
/**
* @return {?}
*/
L.prototype.floor = function() {
/** @type {number} */
this.x = Math.floor(this.x);
/** @type {number} */
this.y = Math.floor(this.y);
return this;
};
/**
* @return {?}
*/
L.prototype.round = function() {
/** @type {number} */
this.x = Math.round(this.x);
/** @type {number} */
this.y = Math.round(this.y);
return this;
};
/**
* @param {number} width
* @param {number} height
* @return {undefined}
*/
var Gh = function(width, height) {
/** @type {number} */
this.width = width;
/** @type {number} */
this.height = height;
};
/**
* @param {!Object} src
* @param {!Object} dst
* @return {?}
*/
var Hh = function(src, dst) {
return src == dst ? true : src && dst ? src.width == dst.width && src.height == dst.height : false;
};
/**
* @return {?}
*/
Gh.prototype.clone = function() {
return new Gh(this.width, this.height);
};
/**
* @return {?}
*/
Gh.prototype.ceil = function() {
/** @type {number} */
this.width = Math.ceil(this.width);
/** @type {number} */
this.height = Math.ceil(this.height);
return this;
};
/**
* @return {?}
*/
Gh.prototype.floor = function() {
/** @type {number} */
this.width = Math.floor(this.width);
/** @type {number} */
this.height = Math.floor(this.height);
return this;
};
/**
* @return {?}
*/
Gh.prototype.round = function() {
/** @type {number} */
this.width = Math.round(this.width);
/** @type {number} */
this.height = Math.round(this.height);
return this;
};
var Ih = !E || yh(9);
var Jh = !ih && !E || E && yh(9) || ih && I("1.9.1");
var Kh = E && !I("9");
var Lh = E || fh || G;
var Mh = E && !yh(9);
/**
* @param {!Element} obj
* @param {!Object} v
* @return {undefined}
*/
var Nh = function(obj, v) {
obj.innerHTML = Gg(v);
};
/**
* @param {!Object} obj
* @return {?}
*/
var Qh = function(obj) {
return obj ? new Oh(Ph(obj)) : Re || (Re = new Oh);
};
/**
* @param {string} node
* @return {?}
*/
var M = function(node) {
return Fe(node) ? document.getElementById(node) : node;
};
/**
* @param {string} type
* @param {string} value
* @param {!Object} name
* @return {?}
*/
var Sh = function(type, value, name) {
return Rh(document, type, value, name);
};
/**
* @param {string} id
* @param {!Object} text
* @return {?}
*/
var Th = function(id, text) {
var parent = text || document;
return parent.querySelectorAll && parent.querySelector ? parent.querySelectorAll("." + id) : Rh(document, "*", id, text);
};
/**
* @param {string} s
* @param {!Object} a
* @return {?}
*/
var O = function(s, a) {
var parent = a || document;
/** @type {null} */
var d = null;
if (parent.getElementsByClassName) {
d = parent.getElementsByClassName(s)[0];
} else {
if (parent.querySelectorAll && parent.querySelector) {
d = parent.querySelector("." + s);
} else {
d = Rh(document, "*", s, a)[0];
}
}
return d || null;
};
/**
* @param {!Object} element
* @param {string} name
* @param {string} type
* @param {!Object} target
* @return {?}
*/
var Rh = function(element, name, type, target) {
element = target || element;
name = name && "*" != name ? name.toUpperCase() : "";
if (element.querySelectorAll && element.querySelector && (name || type)) {
return element.querySelectorAll(name + (type ? "." + type : ""));
}
if (type && element.getElementsByClassName) {
element = element.getElementsByClassName(type);
if (name) {
target = {};
/** @type {number} */
var l = 0;
/** @type {number} */
var j = 0;
var data;
for (; data = element[j]; j++) {
if (name == data.nodeName) {
target[l++] = data;
}
}
/** @type {number} */
target.length = l;
return target;
}
return element;
}
element = element.getElementsByTagName(name || "*");
if (type) {
target = {};
/** @type {number} */
j = l = 0;
for (; data = element[j]; j++) {
name = data.className;
if (typeof name.split == Bb && Ef(name.split(/\s+/), type)) {
target[l++] = data;
}
}
/** @type {number} */
target.length = l;
return target;
}
return element;
};
/**
* @param {!Element} a
* @param {!Object} b
* @return {undefined}
*/
var Vh = function(a, b) {
Nf(b, function(value, key) {
if ("style" == key) {
/** @type {string} */
a.style.cssText = value;
} else {
if ("class" == key) {
/** @type {string} */
a.className = value;
} else {
if ("for" == key) {
/** @type {string} */
a.htmlFor = value;
} else {
if (Uh.hasOwnProperty(key)) {
a.setAttribute(Uh[key], value);
} else {
if (0 == key.lastIndexOf("aria-", 0) || 0 == key.lastIndexOf("data-", 0)) {
a.setAttribute(key, value);
} else {
/** @type {string} */
a[key] = value;
}
}
}
}
}
});
};
var Uh = {
cellpadding : "cellPadding",
cellspacing : "cellSpacing",
colspan : "colSpan",
frameborder : "frameBorder",
height : "height",
maxlength : "maxLength",
nonce : "nonce",
role : rd,
rowspan : "rowSpan",
type : "type",
usemap : "useMap",
valign : "vAlign",
width : "width"
};
/**
* @param {!Object} doc
* @return {?}
*/
var Xh = function(doc) {
doc = doc.document;
doc = Wh(doc) ? doc.documentElement : doc.body;
return new Gh(doc.clientWidth, doc.clientHeight);
};
/**
* @param {!Document} doc
* @return {?}
*/
var Zh = function(doc) {
var a = Yh(doc);
doc = doc.parentWindow || doc.defaultView;
return E && I("10") && doc.pageYOffset != a.scrollTop ? new L(a.scrollLeft, a.scrollTop) : new L(doc.pageXOffset || a.scrollLeft, doc.pageYOffset || a.scrollTop);
};
/**
* @param {!Document} doc
* @return {?}
*/
var Yh = function(doc) {
return doc.scrollingElement ? doc.scrollingElement : !G && Wh(doc) ? doc.documentElement : doc.body || doc.documentElement;
};
/**
* @param {!Object} node
* @return {?}
*/
var $h = function(node) {
return node ? node.parentWindow || node.defaultView : window;
};
/**
* @param {string} tag
* @param {string} pos
* @param {!Object} value
* @return {?}
*/
var P = function(tag, pos, value) {
return ai(document, arguments);
};
/**
* @param {!HTMLDocument} d
* @param {!Object} args
* @return {?}
*/
var ai = function(d, args) {
/** @type {string} */
var result = String(args[0]);
var t = args[1];
if (!Ih && t && (t.name || t.type)) {
/** @type {!Array} */
result = ["<", result];
if (t.name) {
result.push(' name="', hf(t.name), '"');
}
if (t.type) {
result.push(' type="', hf(t.type), '"');
var e = {};
Wf(e, t);
delete e.type;
t = e;
}
result.push(">");
/** @type {string} */
result = result.join("");
}
result = d.createElement(result);
if (t) {
if (Fe(t)) {
result.className = t;
} else {
if (De(t)) {
result.className = t.join(" ");
} else {
Vh(result, t);
}
}
}
if (2 < args.length) {
bi(d, result, args, 2);
}
return result;
};
/**
* @param {!Document} d
* @param {!Object} a
* @param {!Object} item
* @param {number} i
* @return {undefined}
*/
var bi = function(d, a, item, i) {
/**
* @param {!Object} b
* @return {undefined}
*/
function e(b) {
if (b) {
a.appendChild(Fe(b) ? d.createTextNode(b) : b);
}
}
for (; i < item.length; i++) {
var value = item[i];
if (!Ee(value) || Ie(value) && 0 < value.nodeType) {
e(value);
} else {
xf(ci(value) ? Jf(value) : value, e);
}
}
};
/**
* @param {string} name
* @return {?}
*/
var di = function(name) {
return document.createElement(String(name));
};
/**
* @param {string} text
* @return {?}
*/
var ei = function(text) {
return document.createTextNode(String(text));
};
/**
* @return {?}
*/
var gi = function() {
var wbr = Og("WBR");
return fi(document, wbr);
};
/**
* @param {!Document} document
* @param {!Object} name
* @return {?}
*/
var fi = function(document, name) {
var node = document.createElement(k);
if (E) {
Nh(node, Pg(Rg, name));
node.removeChild(node.firstChild);
} else {
Nh(node, name);
}
if (1 == node.childNodes.length) {
node = node.removeChild(node.firstChild);
} else {
var parent = document.createDocumentFragment();
for (; node.firstChild;) {
parent.appendChild(node.firstChild);
}
node = parent;
}
return node;
};
/**
* @param {!Document} doc
* @return {?}
*/
var Wh = function(doc) {
return "CSS1Compat" == doc.compatMode;
};
/**
* @param {!Object} value
* @return {?}
*/
var hi = function(value) {
if (1 != value.nodeType) {
return false;
}
switch(value.tagName) {
case "APPLET":
case "AREA":
case "BASE":
case "BR":
case "COL":
case "COMMAND":
case "EMBED":
case "FRAME":
case "HR":
case sa:
case ta:
case "IFRAME":
case "ISINDEX":
case "KEYGEN":
case "LINK":
case "NOFRAMES":
case "NOSCRIPT":
case "META":
case "OBJECT":
case "PARAM":
case xa:
case "SOURCE":
case "STYLE":
case "TRACK":
case "WBR":
return false;
}
return true;
};
/**
* @param {!Object} key
* @param {string} v
* @return {undefined}
*/
var ii = function(key, v) {
bi(Ph(key), key, arguments, 1);
};
/**
* @param {!Object} d
* @return {undefined}
*/
var ji = function(d) {
var b;
for (; b = d.firstChild;) {
d.removeChild(b);
}
};
/**
* @param {!Object} b
* @param {!Node} a
* @return {undefined}
*/
var ki = function(b, a) {
if (a.parentNode) {
a.parentNode.insertBefore(b, a);
}
};
/**
* @param {?} tag
* @param {!Node} node
* @return {undefined}
*/
var li = function(tag, node) {
if (node.parentNode) {
node.parentNode.insertBefore(tag, node.nextSibling);
}
};
/**
* @param {!Object} value
* @return {?}
*/
var mi = function(value) {
return value && value.parentNode ? value.parentNode.removeChild(value) : null;
};
/**
* @param {!Object} a
* @return {?}
*/
var ni = function(a) {
return Jh && void 0 != a.children ? a.children : yf(a.childNodes, function(nodeToInspect) {
return 1 == nodeToInspect.nodeType;
});
};
/**
* @param {!HTMLElement} a
* @return {?}
*/
var pi = function(a) {
return xe(a.firstElementChild) ? a.firstElementChild : oi(a.firstChild, true);
};
/**
* @param {!Node} a
* @return {?}
*/
var qi = function(a) {
return xe(a.nextElementSibling) ? a.nextElementSibling : oi(a.nextSibling, true);
};
/**
* @param {!Object} c
* @param {boolean} dir
* @return {?}
*/
var oi = function(c, dir) {
for (; c && 1 != c.nodeType;) {
c = dir ? c.nextSibling : c.previousSibling;
}
return c;
};
/**
* @param {!Object} context
* @return {?}
*/
var ri = function(context) {
return Ie(context) && 1 == context.nodeType;
};
/**
* @param {!Object} el
* @return {?}
*/
var si = function(el) {
var parent;
if (Lh && !(E && I("9") && !I("10") && z.SVGElement && el instanceof z.SVGElement) && (parent = el.parentElement)) {
return parent;
}
parent = el.parentNode;
return ri(parent) ? parent : null;
};
/**
* @param {string} a
* @param {string} b
* @return {?}
*/
var ti = function(a, b) {
if (!a || !b) {
return false;
}
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;
};
/**
* @param {!Node} node1
* @param {!HTMLElement} node2
* @return {?}
*/
var wi = function(node1, node2) {
if (node1 == node2) {
return 0;
}
if (node1.compareDocumentPosition) {
return node1.compareDocumentPosition(node2) & 2 ? 1 : -1;
}
if (E && !yh(9)) {
if (9 == node1.nodeType) {
return -1;
}
if (9 == node2.nodeType) {
return 1;
}
}
if ("sourceIndex" in node1 || node1.parentNode && "sourceIndex" in node1.parentNode) {
/** @type {boolean} */
var isElement1 = 1 == node1.nodeType;
/** @type {boolean} */
var isElement2 = 1 == node2.nodeType;
if (isElement1 && isElement2) {
return node1.sourceIndex - node2.sourceIndex;
}
var parent1 = node1.parentNode;
var parent2 = node2.parentNode;
return parent1 == parent2 ? ui(node1, node2) : !isElement1 && ti(parent1, node2) ? -1 * vi(node1, node2) : !isElement2 && ti(parent2, node1) ? vi(node2, node1) : (isElement1 ? node1.sourceIndex : parent1.sourceIndex) - (isElement2 ? node2.sourceIndex : parent2.sourceIndex);
}
isElement2 = Ph(node1);
isElement1 = isElement2.createRange();
isElement1.selectNode(node1);
isElement1.collapse(true);
isElement2 = isElement2.createRange();
isElement2.selectNode(node2);
isElement2.collapse(true);
return isElement1.compareBoundaryPoints(z.Range.START_TO_END, isElement2);
};
/**
* @param {!HTMLElement} result
* @param {!HTMLElement} id
* @return {?}
*/
var vi = function(result, id) {
var body = result.parentNode;
if (body == id) {
return -1;
}
/** @type {!HTMLElement} */
var container = id;
for (; container.parentNode != body;) {
container = container.parentNode;
}
return ui(container, result);
};
/**
* @param {!Node} node
* @param {!HTMLElement} target
* @return {?}
*/
var ui = function(node, target) {
/** @type {!HTMLElement} */
var currentNode = target;
for (; currentNode = currentNode.previousSibling;) {
if (currentNode == node) {
return -1;
}
}
return 1;
};
/**
* @param {?} row
* @return {?}
*/
var xi = function(row) {
var i;
/** @type {number} */
var length = arguments.length;
if (!length) {
return null;
}
if (1 == length) {
return arguments[0];
}
/** @type {!Array} */
var d = [];
/** @type {number} */
var minlen = Infinity;
/** @type {number} */
i = 0;
for (; i < length; i++) {
/** @type {!Array} */
var value = [];
var n = arguments[i];
for (; n;) {
value.unshift(n);
n = n.parentNode;
}
d.push(value);
/** @type {number} */
minlen = Math.min(minlen, value.length);
}
/** @type {null} */
value = null;
/** @type {number} */
i = 0;
for (; i < minlen; i++) {
n = d[0][i];
/** @type {number} */
var s = 1;
for (; s < length; s++) {
if (n != d[s][i]) {
return value;
}
}
value = n;
}
return value;
};
/**
* @param {!Object} node
* @return {?}
*/
var Ph = function(node) {
return 9 == node.nodeType ? node : node.ownerDocument || node.document;
};
/**
* @param {!Element} d
* @return {?}
*/
var yi = function(d) {
return d.contentDocument || d.contentWindow.document;
};
/**
* @param {!Object} node
* @param {string} value
* @return {undefined}
*/
var Q = function(node, value) {
if ("textContent" in node) {
/** @type {string} */
node.textContent = value;
} else {
if (3 == node.nodeType) {
/** @type {string} */
node.data = value;
} else {
if (node.firstChild && 3 == node.firstChild.nodeType) {
for (; node.lastChild != node.firstChild;) {
node.removeChild(node.lastChild);
}
/** @type {string} */
node.firstChild.data = value;
} else {
ji(node);
var document = Ph(node);
node.appendChild(document.createTextNode(String(value)));
}
}
}
};
var zi = {
SCRIPT : 1,
STYLE : 1,
HEAD : 1,
IFRAME : 1,
OBJECT : 1
};
var Ai = {
IMG : " ",
BR : "\n"
};
/**
* @param {!Element} elem
* @param {string} types
* @return {undefined}
*/
var Bi = function(elem, types) {
if (types) {
/** @type {number} */
elem.tabIndex = 0;
} else {
/** @type {number} */
elem.tabIndex = -1;
elem.removeAttribute("tabIndex");
}
};
/**
* @param {!Object} target
* @return {?}
*/
var Ci = function(target) {
target = target.getAttributeNode("tabindex");
return null != target && target.specified;
};
/**
* @param {number} name
* @return {?}
*/
var Di = function(name) {
name = name.tabIndex;
return Ge(name) && 0 <= name && 32768 > name;
};
/**
* @param {!Object} item
* @return {?}
*/
var Fi = function(item) {
if (Kh && null !== item && "innerText" in item) {
item = Ue(item.innerText);
} else {
/** @type {!Array} */
var out = [];
Ei(item, out, true);
/** @type {string} */
item = out.join("");
}
item = item.replace(/ \xAD /g, " ").replace(/\xAD/g, "");
item = item.replace(/\u200B/g, "");
if (!Kh) {
item = item.replace(/ +/g, " ");
}
if (" " != item) {
item = item.replace(/^\s*/, "");
}
return item;
};
/**
* @param {!Object} ast
* @return {?}
*/
var Gi = function(ast) {
/** @type {!Array} */
var out = [];
Ei(ast, out, false);
return out.join("");
};
/**
* @param {!Object} node
* @param {!Array} buf
* @param {string} normalizeWhitespace
* @return {undefined}
*/
var Ei = function(node, buf, normalizeWhitespace) {
if (!(node.nodeName in zi)) {
if (3 == node.nodeType) {
if (normalizeWhitespace) {
buf.push(String(node.nodeValue).replace(/(\r\n|\r|\n)/g, ""));
} else {
buf.push(node.nodeValue);
}
} else {
if (node.nodeName in Ai) {
buf.push(Ai[node.nodeName]);
} else {
node = node.firstChild;
for (; node;) {
Ei(node, buf, normalizeWhitespace);
node = node.nextSibling;
}
}
}
}
};
/**
* @param {!Object} s
* @return {?}
*/
var ci = function(s) {
if (s && typeof s.length == bd) {
if (Ie(s)) {
return typeof s.item == Bb || typeof s.item == Rd;
}
if (He(s)) {
return typeof s.item == Bb;
}
}
return false;
};
/**
* @param {!Object} cX1
* @return {?}
*/
var Ii = function(cX1) {
return Hi(cX1, function(a) {
return Fe(a.className) && Ef(a.className.split(/\s+/), Sb);
}, void 0);
};
/**
* @param {!Object} a
* @param {!Function} item
* @param {number} scrollLeft
* @return {?}
*/
var Hi = function(a, item, scrollLeft) {
/** @type {number} */
var firstColLeft = 0;
for (; a && (null == scrollLeft || firstColLeft <= scrollLeft);) {
if (item(a)) {
return a;
}
a = a.parentNode;
firstColLeft++;
}
return null;
};
/**
* @param {string} opt_document
* @return {undefined}
*/
var Oh = function(opt_document) {
this.a = opt_document || z.document || document;
};
/**
* @param {!Object} obj
* @return {?}
*/
Oh.prototype.l = function(obj) {
return Fe(obj) ? this.a.getElementById(obj) : obj;
};
/**
* @param {string} name
* @param {string} type
* @param {!Function} str
* @return {?}
*/
Oh.prototype.b = function(name, type, str) {
return ai(this.a, arguments);
};
/**
* @param {(number|string)} elem
* @param {string} name
* @return {?}
*/
var Ji = function(elem, name) {
return elem.a.createElement(String(name));
};
/**
* @param {!Object} node
* @return {?}
*/
var Ki = function(node) {
node = node.a;
return node.parentWindow || node.defaultView;
};
y = Oh.prototype;
/**
* @param {!Object} obj
* @param {!Object} val
* @return {undefined}
*/
y.appendChild = function(obj, val) {
obj.appendChild(val);
};
/** @type {function(!Object, string): undefined} */
y.rg = ii;
/** @type {function(!Object): undefined} */
y.Rd = ji;
/** @type {function(!Object): ?} */
y.wg = mi;
/** @type {function(!Object): ?} */
y.sg = ni;
/** @type {function(!HTMLElement): ?} */
y.pg = pi;
/** @type {function(!Object): ?} */
y.Ji = ri;
/** @type {function(string, string): ?} */
y.contains = ti;
/** @type {function(!Object, string): undefined} */
y.Sd = Q;
/** @type {function(!Object): ?} */
y.vg = Fi;
/**
* @param {string} elements
* @return {?}
*/
var Mi = function(elements) {
Li();
return ug(elements);
};
var Li = Ae;
/**
* @param {number} left1
* @param {number} right1
* @param {number} b
* @param {number} margin
* @return {undefined}
*/
var Ni = function(left1, right1, b, margin) {
/** @type {number} */
this.top = left1;
/** @type {number} */
this.right = right1;
/** @type {number} */
this.bottom = b;
/** @type {number} */
this.left = margin;
};
y = Ni.prototype;
/**
* @return {?}
*/
y.clone = function() {
return new Ni(this.top, this.right, this.bottom, this.left);
};
/**
* @param {!Object} other
* @return {?}
*/
y.contains = function(other) {
return this && other ? other instanceof Ni ? other.left >= this.left && other.right <= this.right && other.top >= this.top && other.bottom <= this.bottom : other.x >= this.left && other.x <= this.right && other.y >= this.top && other.y <= this.bottom : false;
};
/**
* @return {?}
*/
y.ceil = function() {
/** @type {number} */
this.top = Math.ceil(this.top);
/** @type {number} */
this.right = Math.ceil(this.right);
/** @type {number} */
this.bottom = Math.ceil(this.bottom);
/** @type {number} */
this.left = Math.ceil(this.left);
return this;
};
/**
* @return {?}
*/
y.floor = function() {
/** @type {number} */
this.top = Math.floor(this.top);
/** @type {number} */
this.right = Math.floor(this.right);
/** @type {number} */
this.bottom = Math.floor(this.bottom);
/** @type {number} */
this.left = Math.floor(this.left);
return this;
};
/**
* @return {?}
*/
y.round = function() {
/** @type {number} */
this.top = Math.round(this.top);
/** @type {number} */
this.right = Math.round(this.right);
/** @type {number} */
this.bottom = Math.round(this.bottom);
/** @type {number} */
this.left = Math.round(this.left);
return this;
};
/**
* @param {number} left
* @param {number} top
* @param {number} width
* @param {number} height
* @return {undefined}
*/
var Oi = function(left, top, width, height) {
/** @type {number} */
this.left = left;
/** @type {number} */
this.top = top;
/** @type {number} */
this.width = width;
/** @type {number} */
this.height = height;
};
y = Oi.prototype;
/**
* @return {?}
*/
y.clone = function() {
return new Oi(this.left, this.top, this.width, this.height);
};
/**
* @param {!Object} rect
* @return {?}
*/
y.contains = function(rect) {
return rect instanceof L ? rect.x >= this.left && rect.x <= this.left + this.width && rect.y >= this.top && rect.y <= this.top + this.height : this.left <= rect.left && this.left + this.width >= rect.left + rect.width && this.top <= rect.top && this.top + this.height >= rect.top + rect.height;
};
/**
* @return {?}
*/
y.ceil = function() {
/** @type {number} */
this.left = Math.ceil(this.left);
/** @type {number} */
this.top = Math.ceil(this.top);
/** @type {number} */
this.width = Math.ceil(this.width);
/** @type {number} */
this.height = Math.ceil(this.height);
return this;
};
/**
* @return {?}
*/
y.floor = function() {
/** @type {number} */
this.left = Math.floor(this.left);
/** @type {number} */
this.top = Math.floor(this.top);
/** @type {number} */
this.width = Math.floor(this.width);
/** @type {number} */
this.height = Math.floor(this.height);
return this;
};
/**
* @return {?}
*/
y.round = function() {
/** @type {number} */
this.left = Math.round(this.left);
/** @type {number} */
this.top = Math.round(this.top);
/** @type {number} */
this.width = Math.round(this.width);
/** @type {number} */
this.height = Math.round(this.height);
return this;
};
/**
* @param {?} low
* @return {?}
*/
var Pi = function(low) {
Pi[" "](low);
return low;
};
Pi[" "] = Ae;
/**
* @param {!Object} morph
* @param {string} key
* @return {?}
*/
var Qi = function(morph, key) {
try {
return Pi(morph[key]), true;
} catch (c) {
}
return false;
};
/**
* @param {!Object} x
* @param {string} key
* @param {!Object} obj
* @return {undefined}
*/
var R = function(x, key, obj) {
if (Fe(key)) {
if (key = Ri(x, key)) {
/** @type {!Object} */
x.style[key] = obj;
}
} else {
var t;
for (t in key) {
/** @type {!Object} */
obj = x;
var color = key[t];
var i = Ri(obj, t);
if (i) {
obj.style[i] = color;
}
}
}
};
var Si = {};
/**
* @param {!Object} data
* @param {string} tag
* @return {?}
*/
var Ri = function(data, tag) {
var version = Si[tag];
if (!version) {
var v2 = tf(tag);
version = v2;
if (void 0 === data.style[v2]) {
v2 = (G ? "Webkit" : ih ? "Moz" : E ? "ms" : fh ? "O" : null) + uf(v2);
if (void 0 !== data.style[v2]) {
version = v2;
}
}
Si[tag] = version;
}
return version;
};
/**
* @param {string} a
* @param {string} p
* @return {?}
*/
var Ti = function(a, p) {
var d = Ph(a);
return d.defaultView && d.defaultView.getComputedStyle && (d = d.defaultView.getComputedStyle(a, null)) ? d[p] || d.getPropertyValue(p) || "" : "";
};
/**
* @param {!Object} element
* @param {string} style
* @return {?}
*/
var Ui = function(element, style) {
return Ti(element, style) || (element.currentStyle ? element.currentStyle[style] : null) || element.style && element.style[style];
};
/**
* @param {!Object} c
* @param {!Object} t
* @param {number} i
* @return {undefined}
*/
var Wi = function(c, t, i) {
var left;
if (t instanceof L) {
left = t.x;
t = t.y;
} else {
/** @type {!Object} */
left = t;
/** @type {number} */
t = i;
}
c.style.left = Vi(left, false);
c.style.top = Vi(t, false);
};
/**
* @param {!Object} parent
* @return {?}
*/
var Xi = function(parent) {
parent = parent ? Ph(parent) : document;
return !E || yh(9) || Wh(Qh(parent).a) ? parent.documentElement : parent.body;
};
/**
* @param {!Object} element
* @return {?}
*/
var Yi = function(element) {
var anchorBoundingBoxViewport;
try {
anchorBoundingBoxViewport = element.getBoundingClientRect();
} catch (c) {
return {
left : 0,
top : 0,
right : 0,
bottom : 0
};
}
if (E && element.ownerDocument.body) {
element = element.ownerDocument;
anchorBoundingBoxViewport.left -= element.documentElement.clientLeft + element.body.clientLeft;
anchorBoundingBoxViewport.top -= element.documentElement.clientTop + element.body.clientTop;
}
return anchorBoundingBoxViewport;
};
/**
* @param {!Object} node
* @return {?}
*/
var Zi = function(node) {
if (E && !yh(8)) {
return node.offsetParent;
}
var document = Ph(node);
var target = Ui(node, ld);
/** @type {boolean} */
var _cur_ctx = "fixed" == target || target == Ga;
node = node.parentNode;
for (; node && node != document; node = node.parentNode) {
if (11 == node.nodeType && node.host && (node = node.host), target = Ui(node, ld), _cur_ctx = _cur_ctx && "static" == target && node != document.documentElement && node != document.body, !_cur_ctx && (node.scrollWidth > node.clientWidth || node.scrollHeight > node.clientHeight || "fixed" == target || target == Ga || "relative" == target)) {
return node;
}
}
return null;
};
/**
* @param {string} a
* @return {?}
*/
var aj = function(a) {
var visibleRect = new Ni(0, Infinity, Infinity, 0);
var data = Qh(a);
var x = data.a.body;
var b = data.a.documentElement;
var offset = Yh(data.a);
for (; a = Zi(a);) {
if (!(E && 0 == a.clientWidth || G && 0 == a.clientHeight && a == x) && a != x && a != b && Ui(a, ed) != me) {
var offset = $i(a);
var options = new L(a.clientLeft, a.clientTop);
offset.x += options.x;
offset.y += options.y;
/** @type {number} */
visibleRect.top = Math.max(visibleRect.top, offset.y);
/** @type {number} */
visibleRect.right = Math.min(visibleRect.right, offset.x + a.clientWidth);
/** @type {number} */
visibleRect.bottom = Math.min(visibleRect.bottom, offset.y + a.clientHeight);
/** @type {number} */
visibleRect.left = Math.max(visibleRect.left, offset.x);
}
}
x = offset.scrollLeft;
offset = offset.scrollTop;
/** @type {number} */
visibleRect.left = Math.max(visibleRect.left, x);
/** @type {number} */
visibleRect.top = Math.max(visibleRect.top, offset);
data = Xh(Ki(data) || window);
/** @type {number} */
visibleRect.right = Math.min(visibleRect.right, x + data.width);
/** @type {number} */
visibleRect.bottom = Math.min(visibleRect.bottom, offset + data.height);
return 0 <= visibleRect.top && 0 <= visibleRect.left && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;
};
/**
* @param {!Object} el
* @return {?}
*/
var $i = function(el) {
var options = Ph(el);
var xhair = new L(0, 0);
var win = Xi(options);
if (el == win) {
return xhair;
}
el = Yi(el);
options = Zh(Qh(options).a);
xhair.x = el.left + options.x;
xhair.y = el.top + options.y;
return xhair;
};
/**
* @param {!Object} a
* @param {!Object} b
* @return {?}
*/
var cj = function(a, b) {
var dialogGeometry = bj(a);
var containerGeometry = bj(b);
return new L(dialogGeometry.x - containerGeometry.x, dialogGeometry.y - containerGeometry.y);
};
/**
* @param {!Object} a
* @return {?}
*/
var dj = function(a) {
a = Yi(a);
return new L(a.left, a.top);
};
/**
* @param {!Object} a
* @return {?}
*/
var bj = function(a) {
if (1 == a.nodeType) {
return dj(a);
}
a = a.changedTouches ? a.changedTouches[0] : a;
return new L(a.clientX, a.clientY);
};
/**
* @param {!Object} d
* @param {number} s
* @param {!Audio} v
* @return {undefined}
*/
var ej = function(d, s, v) {
var pt = $i(d);
if (s instanceof L) {
v = s.y;
s = s.x;
}
Wi(d, d.offsetLeft + (s - pt.x), d.offsetTop + (Number(v) - pt.y));
};
/**
* @param {!Element} text
* @param {!Object} a
* @param {number} value
* @return {undefined}
*/
var fj = function(text, a, value) {
if (a instanceof Gh) {
value = a.height;
a = a.width;
} else {
if (void 0 == value) {
throw Error("missing height argument");
}
}
text.style.width = Vi(a, true);
text.style.height = Vi(value, true);
};
/**
* @param {!Object} a
* @param {string} b
* @return {?}
*/
var Vi = function(a, b) {
if (typeof a == bd) {
a = (b ? Math.round(a) : a) + md;
}
return a;
};
/**
* @param {!Object} a
* @return {?}
*/
var hj = function(a) {
/** @type {function(!Object): ?} */
var multInv = gj;
if (Ui(a, "display") != ad) {
return multInv(a);
}
var style = a.style;
var oldDisplay = style.display;
var oldVis = style.visibility;
var oPos = style.position;
style.visibility = oc;
style.position = Ga;
/** @type {string} */
style.display = "inline";
a = multInv(a);
style.display = oldDisplay;
style.position = oPos;
style.visibility = oldVis;
return a;
};
/**
* @param {!Object} a
* @return {?}
*/
var gj = function(a) {
var b = a.offsetWidth;
var liHeight = a.offsetHeight;
var matched = G && !b && !liHeight;
return xe(b) && !matched || !a.getBoundingClientRect ? new Gh(b, liHeight) : (a = Yi(a), new Gh(a.right - a.left, a.bottom - a.top));
};
/**
* @param {?} b
* @return {?}
*/
var ij = function(b) {
var a = $i(b);
b = hj(b);
return new Oi(a.x, a.y, b.width, b.height);
};
/**
* @param {!Element} a
* @param {(number|string)} c
* @return {undefined}
*/
var jj = function(a, c) {
var style = a.style;
if ("opacity" in style) {
/** @type {(number|string)} */
style.opacity = c;
} else {
if ("MozOpacity" in style) {
/** @type {(number|string)} */
style.MozOpacity = c;
} else {
if ("filter" in style) {
/** @type {string} */
style.filter = "" === c ? "" : "alpha(opacity=" + 100 * Number(c) + ")";
}
}
}
};
/**
* @param {?} a
* @param {boolean} b
* @return {undefined}
*/
var S = function(a, b) {
a.style.display = b ? "" : ad;
};
/**
* @param {!Element} a
* @return {?}
*/
var kj = function(a) {
return a.style.display != ad;
};
/**
* @param {string} args
* @return {?}
*/
var mj = function(args) {
args = Mi(args);
var d = Qh(void 0);
var c;
var node = d.a;
if (E && node.createStyleSheet) {
c = node.createStyleSheet();
lj(c, args);
} else {
node = Rh(d.a, "HEAD", void 0, void 0)[0];
if (!node) {
c = Rh(d.a, "BODY", void 0, void 0)[0];
node = d.b("HEAD");
c.parentNode.insertBefore(node, c);
}
c = d.b("STYLE");
lj(c, args);
d.appendChild(node, c);
}
return c;
};
/**
* @param {!Node} d
* @param {!Object} obj
* @return {undefined}
*/
var lj = function(d, obj) {
var a;
if (obj instanceof tg && obj.constructor === tg && obj.b === sg) {
a = obj.a;
} else {
Ce(obj);
/** @type {string} */
a = "type_error:SafeStyleSheet";
}
if (E && xe(d.cssText)) {
d.cssText = a;
} else {
d.innerHTML = a;
}
};
/**
* @param {!Object} cell
* @return {?}
*/
var nj = function(cell) {
return sd == Ui(cell, nb);
};
/** @type {(null|string)} */
var oj = ih ? "MozUserSelect" : G || gh ? "WebkitUserSelect" : null;
/**
* @param {!Object} i
* @param {string} value
* @param {!Function} x
* @return {undefined}
*/
var pj = function(i, value, x) {
x = x ? null : i.getElementsByTagName("*");
if (oj) {
if (value = value ? ad : "", i.style && (i.style[oj] = value), x) {
/** @type {number} */
i = 0;
var descendant;
for (; descendant = x[i]; i++) {
if (descendant.style) {
/** @type {string} */
descendant.style[oj] = value;
}
}
}
} else {
if (E || fh) {
if (value = value ? "on" : "", i.setAttribute("unselectable", value), x) {
/** @type {number} */
i = 0;
for (; descendant = x[i]; i++) {
descendant.setAttribute("unselectable", value);
}
}
}
}
};
/**
* @param {!Object} style
* @param {!Object} size
* @param {string} boxSizing
* @return {undefined}
*/
var qj = function(style, size, boxSizing) {
style = style.style;
if (ih) {
/** @type {string} */
style.MozBoxSizing = boxSizing;
} else {
if (G) {
/** @type {string} */
style.WebkitBoxSizing = boxSizing;
} else {
/** @type {string} */
style.boxSizing = boxSizing;
}
}
style.width = Math.max(size.width, 0) + md;
style.height = Math.max(size.height, 0) + md;
};
/**
* @param {!HTMLElement} element
* @param {string} value
* @param {string} propertyName
* @param {string} prop
* @return {?}
*/
var rj = function(element, value, propertyName, prop) {
if (/^\d+px?$/.test(value)) {
return parseInt(value, 10);
}
var propertyMethodPostfix = element.style[propertyName];
var componentPropertyValue = element.runtimeStyle[propertyName];
element.runtimeStyle[propertyName] = element.currentStyle[propertyName];
/** @type {string} */
element.style[propertyName] = value;
value = element.style[prop];
element.style[propertyName] = propertyMethodPostfix;
element.runtimeStyle[propertyName] = componentPropertyValue;
return value;
};
/**
* @param {!HTMLElement} el
* @param {string} property
* @return {?}
*/
var sj = function(el, property) {
var value = el.currentStyle ? el.currentStyle[property] : null;
return value ? rj(el, value, Pc, "pixelLeft") : 0;
};
/**
* @param {!Object} name
* @param {string} property
* @return {?}
*/
var tj = function(name, property) {
if (E) {
var c = sj(name, property + "Left");
var d = sj(name, property + "Right");
var e = sj(name, property + "Top");
var f = sj(name, property + "Bottom");
return new Ni(e, d, f, c);
}
c = Ti(name, property + "Left");
d = Ti(name, property + "Right");
e = Ti(name, property + "Top");
f = Ti(name, property + "Bottom");
return new Ni(parseFloat(e), parseFloat(d), parseFloat(f), parseFloat(c));
};
/**
* @param {!Object} name
* @return {?}
*/
var uj = function(name) {
return tj(name, "padding");
};
var vj = {
thin : 2,
medium : 4,
thick : 6
};
/**
* @param {!HTMLElement} elem
* @param {string} prop
* @return {?}
*/
var wj = function(elem, prop) {
if ((elem.currentStyle ? elem.currentStyle[prop + "Style"] : null) == ad) {
return 0;
}
var type = elem.currentStyle ? elem.currentStyle[prop + "Width"] : null;
return type in vj ? vj[type] : rj(elem, type, Pc, "pixelLeft");
};
/**
* @param {string} element
* @return {?}
*/
var xj = function(element) {
if (E && !yh(9)) {
var left = wj(element, "borderLeft");
var right = wj(element, "borderRight");
var top = wj(element, "borderTop");
element = wj(element, "borderBottom");
return new Ni(top, right, element, left);
}
left = Ti(element, "borderLeftWidth");
right = Ti(element, "borderRightWidth");
top = Ti(element, "borderTopWidth");
element = Ti(element, "borderBottomWidth");
return new Ni(parseFloat(top), parseFloat(right), parseFloat(element), parseFloat(left));
};
var yj = ue();
/**
* @param {!Object} name
* @return {undefined}
*/
yj.prototype.a = function(name) {
/** @type {!HTMLBodyElement} */
var body = document.body;
switch(name.mo) {
case "sm":
J(body, "e_sm");
K(body, "e_md");
K(body, "e_lg");
break;
case "lg":
J(body, "e_lg");
K(body, "e_sm");
K(body, "e_md");
break;
default:
J(body, "e_md");
K(body, "e_sm");
K(body, "e_lg");
}
if (body = document.getElementById("contentframe")) {
/** @type {number} */
var fullName = 0;
/** @type {(Element|null)} */
var d = document.getElementById("wtgbr");
var fhTop = tj(d, Rc).top;
name = name.es.h;
var e = M("gt-logo");
if (null != e) {
name = name + hj(e).height;
}
if (0 == fhTop) {
fullName = fullName + name;
} else {
if (name != -fhTop) {
R(d, Tc, -name + md);
}
}
if (d = document.getElementById("gt-appbar")) {
fullName = fullName + hj(d).height;
}
Wi(body, 0, fullName);
}
};
/**
* @return {undefined}
*/
var zj = function() {
/** @type {null} */
this.j = null;
/** @type {string} */
this.w = this.C = this.g = this.c = this.H = this.W = this.Ca = this.U = this.Ra = this.K = "";
/** @type {null} */
this.b = this.A = this.a = this.O = this.wa = this.P = this.L = this.I = this.N = null;
/** @type {number} */
this.G = 0;
/** @type {boolean} */
this.m = false;
/** @type {number} */
this.F = -1;
/** @type {boolean} */
this.B = false;
};
/**
* @return {undefined}
*/
var Aj = function() {
this.Ca = this.Ca;
this.Ra = this.Ra;
};
/** @type {boolean} */
Aj.prototype.Ca = false;
/**
* @return {undefined}
*/
Aj.prototype.za = function() {
if (!this.Ca) {
/** @type {boolean} */
this.Ca = true;
this.J();
}
};
/**
* @param {!Object} item
* @param {?} min
* @return {undefined}
*/
var Cj = function(item, min) {
var v = Oe(Bj, min);
if (item.Ca) {
v.call(void 0);
} else {
if (!item.Ra) {
/** @type {!Array} */
item.Ra = [];
}
item.Ra.push(xe(void 0) ? A(v, void 0) : v);
}
};
/**
* @return {undefined}
*/
Aj.prototype.J = function() {
if (this.Ra) {
for (; this.Ra.length;) {
this.Ra.shift()();
}
}
};
/**
* @param {boolean} a
* @return {undefined}
*/
var Bj = function(a) {
if (a && typeof a.za == Bb) {
a.za();
}
};
/**
* @param {!Object} type
* @param {string} path
* @return {undefined}
*/
var T = function(type, path) {
/** @type {!Object} */
this.type = type;
this.a = this.target = path;
/** @type {boolean} */
this.g = false;
/** @type {boolean} */
this.ah = true;
};
/**
* @return {undefined}
*/
T.prototype.stopPropagation = function() {
/** @type {boolean} */
this.g = true;
};
/**
* @return {undefined}
*/
T.prototype.preventDefault = function() {
/** @type {boolean} */
this.ah = false;
};
var Dj = !E || yh(9);
var Ej = !E || yh(9);
var Fj = E && !I("9");
if (!!G) {
I("528");
}
if (!(ih && I("1.9b") || E && I("8") || fh && I("9.5"))) {
if (G) {
I("528");
}
}
if (!(ih && !I("8"))) {
if (E) {
I("9");
}
}
/** @type {string} */
var Gj = E ? xb : "DOMFocusIn";
/** @type {string} */
var Hj = E ? yb : "DOMFocusOut";
/**
* @param {!Object} event
* @param {number} prop
* @return {undefined}
*/
var Ij = function(event, prop) {
T.call(this, event ? event.type : "");
/** @type {null} */
this.c = this.a = this.target = null;
/** @type {number} */
this.keyCode = this.screenY = this.screenX = this.clientY = this.clientX = 0;
/** @type {boolean} */
this.m = this.metaKey = this.shiftKey = this.altKey = this.ctrlKey = false;
/** @type {null} */
this.b = null;
if (event) {
var type = this.type = event.type;
var relevantTouch = event.changedTouches ? event.changedTouches[0] : null;
this.target = event.target || event.srcElement;
/** @type {number} */
this.a = prop;
var node = event.relatedTarget;
if (node) {
if (ih) {
if (!Qi(node, "nodeName")) {
/** @type {null} */
node = null;
}
}
} else {
if (type == Yc) {
node = event.fromElement;
} else {
if (type == Xc) {
node = event.toElement;
}
}
}
this.c = node;
if (null === relevantTouch) {
this.clientX = void 0 !== event.clientX ? event.clientX : event.pageX;
this.clientY = void 0 !== event.clientY ? event.clientY : event.pageY;
this.screenX = event.screenX || 0;
this.screenY = event.screenY || 0;
} else {
this.clientX = void 0 !== relevantTouch.clientX ? relevantTouch.clientX : relevantTouch.pageX;
this.clientY = void 0 !== relevantTouch.clientY ? relevantTouch.clientY : relevantTouch.pageY;
this.screenX = relevantTouch.screenX || 0;
this.screenY = relevantTouch.screenY || 0;
}
this.keyCode = event.keyCode || 0;
this.ctrlKey = event.ctrlKey;
this.altKey = event.altKey;
this.shiftKey = event.shiftKey;
this.metaKey = event.metaKey;
this.m = kh ? event.metaKey : event.ctrlKey;
/** @type {!Object} */
this.b = event;
if (event.defaultPrevented) {
this.preventDefault();
}
}
};
C(Ij, T);
/** @type {!Array} */
var Jj = [1, 4, 2];
/**
* @param {!Object} item
* @return {?}
*/
var Kj = function(item) {
return (Dj ? 0 == item.b.button : item.type == r ? true : !!(item.b.button & Jj[0])) && !(G && kh && item.ctrlKey);
};
/**
* @return {undefined}
*/
Ij.prototype.stopPropagation = function() {
Ij.v.stopPropagation.call(this);
if (this.b.stopPropagation) {
this.b.stopPropagation();
} else {
/** @type {boolean} */
this.b.cancelBubble = true;
}
};
/**
* @return {undefined}
*/
Ij.prototype.preventDefault = function() {
Ij.v.preventDefault.call(this);
var e = this.b;
if (e.preventDefault) {
e.preventDefault();
} else {
if (e.returnValue = false, Fj) {
try {
if (e.ctrlKey || 112 <= e.keyCode && 123 >= e.keyCode) {
/** @type {number} */
e.keyCode = -1;
}
} catch (b) {
}
}
}
};
/** @type {string} */
var Lj = "closure_listenable_" + (1E6 * Math.random() | 0);
/**
* @param {!Object} object
* @return {?}
*/
var Mj = function(object) {
return !(!object || !object[Lj]);
};
/** @type {number} */
var Nj = 0;
/**
* @param {!Object} callback
* @param {string} link
* @param {!Object} src
* @param {?} bandages
* @param {?} REPLACED
* @return {undefined}
*/
var Oj = function(callback, link, src, bandages, REPLACED) {
/** @type {!Object} */
this.listener = callback;
/** @type {null} */
this.a = null;
/** @type {string} */
this.src = link;
/** @type {!Object} */
this.type = src;
/** @type {boolean} */
this.Gd = !!bandages;
this.ke = REPLACED;
/** @type {number} */
this.key = ++Nj;
/** @type {boolean} */
this.Sc = this.Fd = false;
};
/**
* @param {!Object} d
* @return {undefined}
*/
var Pj = function(d) {
/** @type {boolean} */
d.Sc = true;
/** @type {null} */
d.listener = null;
/** @type {null} */
d.a = null;
/** @type {null} */
d.src = null;
/** @type {null} */
d.ke = null;
};
/**
* @param {string} src
* @return {undefined}
*/
var Qj = function(src) {
/** @type {string} */
this.src = src;
this.a = {};
/** @type {number} */
this.b = 0;
};
/**
* @param {string} obj
* @param {string} array
* @param {!Function} d
* @param {boolean} h
* @param {string} e
* @param {!Object} key
* @return {?}
*/
var Sj = function(obj, array, d, h, e, key) {
var type = array.toString();
array = obj.a[type];
if (!array) {
/** @type {!Array} */
array = obj.a[type] = [];
obj.b++;
}
var t = Rj(array, d, e, key);
if (-1 < t) {
obj = array[t];
if (!h) {
/** @type {boolean} */
obj.Fd = false;
}
} else {
obj = new Oj(d, obj.src, type, !!e, key);
/** @type {boolean} */
obj.Fd = h;
array.push(obj);
}
return obj;
};
/**
* @param {!Object} event
* @param {!Object} data
* @return {?}
*/
var Tj = function(event, data) {
var type = data.type;
if (!(type in event.a)) {
return false;
}
var renderedHtml = Hf(event.a[type], data);
if (renderedHtml) {
Pj(data);
if (0 == event.a[type].length) {
delete event.a[type];
event.b--;
}
}
return renderedHtml;
};
/**
* @param {!Object} m
* @param {string} b
* @return {?}
*/
var Uj = function(m, b) {
var cur = b && b.toString();
/** @type {number} */
var d = 0;
var i;
for (i in m.a) {
if (!cur || i == cur) {
var month_name = m.a[i];
/** @type {number} */
var month_full_i = 0;
for (; month_full_i < month_name.length; month_full_i++) {
++d;
Pj(month_name[month_full_i]);
}
delete m.a[i];
m.b--;
}
}
return d;
};
/**
* @param {!Object} a
* @param {number} b
* @param {!Function} prop
* @param {string} d
* @param {!Object} e
* @return {?}
*/
var Vj = function(a, b, prop, d, e) {
a = a.a[b.toString()];
/** @type {number} */
b = -1;
if (a) {
b = Rj(a, prop, d, e);
}
return -1 < b ? a[b] : null;
};
/**
* @param {!Object} input
* @param {!Function} name
* @param {string} reason
* @param {!Object} a
* @return {?}
*/
var Rj = function(input, name, reason, a) {
/** @type {number} */
var i = 0;
for (; i < input.length; ++i) {
var d = input[i];
if (!d.Sc && d.listener == name && d.Gd == !!reason && d.ke == a) {
return i;
}
}
return -1;
};
/** @type {string} */
var Wj = "closure_lm_" + (1E6 * Math.random() | 0);
var Xj = {};
/** @type {number} */
var Yj = 0;
/**
* @param {!Object} a
* @param {string} name
* @param {!Function} b
* @param {string} c
* @param {!Object} d
* @return {?}
*/
var U = function(a, name, b, c, d) {
if (De(name)) {
/** @type {number} */
var curPos = 0;
for (; curPos < name.length; curPos++) {
U(a, name[curPos], b, c, d);
}
return null;
}
b = Zj(b);
return Mj(a) ? Sj(a.eb, String(name), b, false, c, d) : ak(a, name, b, false, c, d);
};
/**
* @param {!Object} b
* @param {string} input
* @param {!Object} e
* @param {!Object} d
* @param {string} t
* @param {!Object} f
* @return {?}
*/
var ak = function(b, input, e, d, t, f) {
if (!input) {
throw Error("Invalid event type");
}
/** @type {boolean} */
var cb = !!t;
var c = bk(b);
if (!c) {
b[Wj] = c = new Qj(b);
}
e = Sj(c, input, e, d, t, f);
if (e.a) {
return e;
}
d = ck();
/** @type {!Object} */
e.a = d;
/** @type {!Object} */
d.src = b;
/** @type {!Object} */
d.listener = e;
if (b.addEventListener) {
b.addEventListener(input.toString(), d, cb);
} else {
if (b.attachEvent) {
b.attachEvent(dk(input.toString()), d);
} else {
throw Error("addEventListener and attachEvent are unavailable.");
}
}
Yj++;
return e;
};
/**
* @return {?}
*/
var ck = function() {
/** @type {function(!Object, string): ?} */
var proxyCallbackFunction = ek;
/** @type {function(?): ?} */
var f = Ej ? function(eventObject) {
return proxyCallbackFunction.call(f.src, f.listener, eventObject);
} : function(ch) {
ch = proxyCallbackFunction.call(f.src, f.listener, ch);
if (!ch) {
return ch;
}
};
return f;
};
/**
* @param {!Object} model
* @param {string} value
* @param {!Object} status
* @param {string} files
* @param {!Object} folder
* @return {undefined}
*/
var gk = function(model, value, status, files, folder) {
if (De(value)) {
/** @type {number} */
var i = 0;
for (; i < value.length; i++) {
gk(model, value[i], status, files, folder);
}
} else {
status = Zj(status);
if (Mj(model)) {
Sj(model.eb, String(value), status, true, files, folder);
} else {
ak(model, value, status, true, files, folder);
}
}
};
/**
* @param {!Object} value
* @param {string} name
* @param {number} p
* @param {boolean} v
* @param {!Object} j
* @return {undefined}
*/
var hk = function(value, name, p, v, j) {
if (De(name)) {
/** @type {number} */
var i = 0;
for (; i < name.length; i++) {
hk(value, name[i], p, v, j);
}
} else {
p = Zj(p);
if (Mj(value)) {
value = value.eb;
/** @type {string} */
name = String(name).toString();
if (name in value.a) {
i = value.a[name];
p = Rj(i, p, v, j);
if (-1 < p) {
Pj(i[p]);
Array.prototype.splice.call(i, p, 1);
if (0 == i.length) {
delete value.a[name];
value.b--;
}
}
}
} else {
if (value && (value = bk(value)) && (p = Vj(value, name, p, !!v, j))) {
ik(p);
}
}
}
};
/**
* @param {!Object} data
* @return {?}
*/
var ik = function(data) {
if (Ge(data) || !data || data.Sc) {
return false;
}
var node = data.src;
if (Mj(node)) {
return Tj(node.eb, data);
}
var type = data.type;
var action = data.a;
if (node.removeEventListener) {
node.removeEventListener(type, action, data.Gd);
} else {
if (node.detachEvent) {
node.detachEvent(dk(type), action);
}
}
Yj--;
if (type = bk(node)) {
Tj(type, data);
if (0 == type.b) {
/** @type {null} */
type.src = null;
/** @type {null} */
node[Wj] = null;
}
} else {
Pj(data);
}
return true;
};
/**
* @param {!Object} width
* @param {string} frame
* @return {?}
*/
var jk = function(width, frame) {
if (!width) {
return 0;
}
if (Mj(width)) {
return width.eb ? Uj(width.eb, frame) : 0;
}
var c = bk(width);
if (!c) {
return 0;
}
/** @type {number} */
var d = 0;
var name = frame && frame.toString();
var i;
for (i in c.a) {
if (!name || i == name) {
var crossfilterable_layers = c.a[i].concat();
/** @type {number} */
var layer_i = 0;
for (; layer_i < crossfilterable_layers.length; ++layer_i) {
if (ik(crossfilterable_layers[layer_i])) {
++d;
}
}
}
}
return d;
};
/**
* @param {string} k
* @return {?}
*/
var dk = function(k) {
return k in Xj ? Xj[k] : Xj[k] = "on" + k;
};
/**
* @param {number} a
* @param {string} b
* @param {boolean} directory
* @param {?} value
* @return {?}
*/
var lk = function(a, b, directory, value) {
/** @type {boolean} */
var params = true;
if (a = bk(a)) {
if (b = a.a[b.toString()]) {
b = b.concat();
/** @type {number} */
a = 0;
for (; a < b.length; a++) {
var f = b[a];
if (f && f.Gd == directory && !f.Sc) {
f = kk(f, value);
/** @type {boolean} */
params = params && false !== f;
}
}
}
}
return params;
};
/**
* @param {!Object} listener
* @param {?} e
* @return {?}
*/
var kk = function(listener, e) {
var listenerFn = listener.listener;
var listenerHandler = listener.ke || listener.src;
if (listener.Fd) {
ik(listener);
}
return listenerFn.call(listenerHandler, e);
};
/**
* @param {!Object} e
* @param {string} comments
* @return {?}
*/
var ek = function(e, comments) {
if (e.Sc) {
return true;
}
if (!Ej) {
var data = comments || ze("window.event");
var d = new Ij(data, this);
/** @type {boolean} */
var result = true;
if (!(0 > data.keyCode || void 0 != data.returnValue)) {
a: {
/** @type {boolean} */
var a = false;
if (0 == data.keyCode) {
try {
/** @type {number} */
data.keyCode = -1;
break a;
} catch (m) {
/** @type {boolean} */
a = true;
}
}
if (a || void 0 == data.returnValue) {
/** @type {boolean} */
data.returnValue = true;
}
}
/** @type {!Array} */
data = [];
a = d.a;
for (; a; a = a.parentNode) {
data.push(a);
}
a = e.type;
/** @type {number} */
var i = data.length - 1;
for (; !d.g && 0 <= i; i--) {
d.a = data[i];
var r = lk(data[i], a, true, d);
result = result && r;
}
/** @type {number} */
i = 0;
for (; !d.g && i < data.length; i++) {
d.a = data[i];
r = lk(data[i], a, false, d);
result = result && r;
}
}
return result;
}
return kk(e, new Ij(comments, this));
};
/**
* @param {!Object} value
* @return {?}
*/
var bk = function(value) {
value = value[Wj];
return value instanceof Qj ? value : null;
};
/** @type {string} */
var mk = "__closure_events_fn_" + (1E9 * Math.random() >>> 0);
/**
* @param {!Function} result
* @return {?}
*/
var Zj = function(result) {
if (He(result)) {
return result;
}
if (!result[mk]) {
/**
* @param {!Object} event
* @return {?}
*/
result[mk] = function(event) {
return result.handleEvent(event);
};
}
return result[mk];
};
/**
* @param {string} i_f
* @return {undefined}
*/
var nk = function(i_f) {
Aj.call(this);
/** @type {string} */
this.F = i_f;
this.o = {};
};
C(nk, Aj);
/** @type {!Array} */
var ok = [];
/**
* @param {string} name
* @param {string} type
* @param {!Object} data
* @param {string} input
* @return {?}
*/
nk.prototype.a = function(name, type, data, input) {
if (!De(type)) {
if (type) {
ok[0] = type.toString();
}
type = ok;
}
/** @type {number} */
var j = 0;
for (; j < type.length; j++) {
var val = U(name, type[j], data || this.handleEvent, input || false, this.F || this);
if (!val) {
break;
}
this.o[val.key] = val;
}
return this;
};
/**
* @param {string} name
* @param {string} type
* @param {!Object} data
* @param {string} e
* @param {number} x
* @return {?}
*/
nk.prototype.b = function(name, type, data, e, x) {
if (De(type)) {
/** @type {number} */
var j = 0;
for (; j < type.length; j++) {
this.b(name, type[j], data, e, x);
}
} else {
data = data || this.handleEvent;
x = x || this.F || this;
data = Zj(data);
/** @type {boolean} */
e = !!e;
type = Mj(name) ? Vj(name.eb, String(type), data, e, x) : name ? (name = bk(name)) ? Vj(name, type, data, e, x) : null : null;
if (type) {
ik(type);
delete this.o[type.key];
}
}
return this;
};
/**
* @param {!Object} selector
* @return {undefined}
*/
var pk = function(selector) {
Nf(selector.o, function(testItemData, e) {
if (this.o.hasOwnProperty(e)) {
ik(testItemData);
}
}, selector);
selector.o = {};
};
/**
* @return {undefined}
*/
nk.prototype.J = function() {
nk.v.J.call(this);
pk(this);
};
/**
* @return {?}
*/
nk.prototype.handleEvent = function() {
throw Error("EventHandler.handleEvent not implemented");
};
/**
* @return {undefined}
*/
var V = function() {
Aj.call(this);
this.eb = new Qj(this);
this.Ni = this;
/** @type {null} */
this.Ce = null;
};
C(V, Aj);
/** @type {boolean} */
V.prototype[Lj] = true;
y = V.prototype;
y.Md = w("Ce");
y.Uc = ve("Ce");
/**
* @param {string} type
* @param {!Array} action
* @param {boolean} el
* @param {!Object} callback
* @return {undefined}
*/
y.removeEventListener = function(type, action, el, callback) {
hk(this, type, action, el, callback);
};
/**
* @param {string} value
* @return {?}
*/
y.dispatchEvent = function(value) {
var obj;
var key = this.Md();
if (key) {
/** @type {!Array} */
obj = [];
/** @type {number} */
var data = 1;
for (; key; key = key.Md()) {
obj.push(key);
++data;
}
}
key = this.Ni;
data = value.type || value;
if (Fe(value)) {
value = new T(value, key);
} else {
if (value instanceof T) {
value.target = value.target || key;
} else {
/** @type {string} */
var result = value;
value = new T(data, key);
Wf(value, result);
}
}
/** @type {boolean} */
result = true;
var time;
if (obj) {
/** @type {number} */
var i = obj.length - 1;
for (; !value.g && 0 <= i; i--) {
time = value.a = obj[i];
result = qk(time, data, true, value) && result;
}
}
if (!value.g) {
time = value.a = key;
result = qk(time, data, true, value) && result;
if (!value.g) {
result = qk(time, data, false, value) && result;
}
}
if (obj) {
/** @type {number} */
i = 0;
for (; !value.g && i < obj.length; i++) {
time = value.a = obj[i];
result = qk(time, data, false, value) && result;
}
}
return result;
};
/**
* @return {undefined}
*/
y.J = function() {
V.v.J.call(this);
if (this.eb) {
Uj(this.eb, void 0);
}
/** @type {null} */
this.Ce = null;
};
/**
* @param {!Object} model
* @param {string} event
* @param {boolean} capture
* @param {string} char
* @return {?}
*/
var qk = function(model, event, capture, char) {
event = model.eb.a[String(event)];
if (!event) {
return true;
}
event = event.concat();
/** @type {boolean} */
var b = true;
/** @type {number} */
var k = 0;
for (; k < event.length; ++k) {
var listener = event[k];
if (listener && !listener.Sc && listener.Gd == capture) {
var listenerFn = listener.listener;
var listenerHandler = listener.ke || listener.src;
if (listener.Fd) {
Tj(model.eb, listener);
}
/** @type {boolean} */
b = false !== listenerFn.call(listenerHandler, char) && b;
}
}
return b && 0 != char.ah;
};
/**
* @return {?}
*/
var rk = function() {
return !(D(tc) || D(na) && !D("Mobile") || D("Silk")) && (D(uc) || D("iPhone") || D(na) || D("IEMobile"));
};
/**
* @param {?} handler
* @param {!Array} value
* @return {?}
*/
var sk = function(handler, value) {
/** @type {!Array} */
var section = [handler];
/** @type {number} */
var i = value.length - 1;
for (; 0 <= i; --i) {
section.push(typeof value[i], value[i]);
}
return section.join("\x0B");
};
/**
* @param {number} compiler
* @param {string} reflectorHost
* @param {number} metadataResolver
* @return {undefined}
*/
var tk = function(compiler, reflectorHost, metadataResolver) {
/** @type {number} */
this.j = metadataResolver;
/** @type {number} */
this.c = compiler;
/** @type {string} */
this.g = reflectorHost;
/** @type {number} */
this.b = 0;
/** @type {null} */
this.a = null;
};
/**
* @return {?}
*/
tk.prototype.get = function() {
var a;
if (0 < this.b) {
this.b--;
a = this.a;
this.a = a.next;
/** @type {null} */
a.next = null;
} else {
a = this.c();
}
return a;
};
/**
* @param {!Object} t
* @param {!Object} n
* @return {undefined}
*/
var uk = function(t, n) {
t.g(n);
if (t.b < t.j) {
t.b++;
n.next = t.a;
/** @type {!Object} */
t.a = n;
}
};
/**
* @param {?} callback
* @return {undefined}
*/
var vk = function(callback) {
z.setTimeout(function() {
throw callback;
}, 0);
};
var wk;
/**
* @return {?}
*/
var xk = function() {
var Channel = z.MessageChannel;
if ("undefined" === typeof Channel && "undefined" !== typeof window && window.postMessage && window.addEventListener && !D("Presto")) {
/**
* @return {undefined}
*/
Channel = function() {
/** @type {!Element} */
var a = document.createElement("IFRAME");
a.style.display = ad;
/** @type {string} */
a.src = "";
document.documentElement.appendChild(a);
var window = a.contentWindow;
a = window.document;
a.open();
a.write("");
a.close();
/** @type {string} */
var asyncMsg = "callImmediate" + Math.random();
/** @type {string} */
var origin = "file:" == window.location.protocol ? "*" : window.location.protocol + "//" + window.location.host;
a = A(function(event) {
if (("*" == origin || event.origin == origin) && event.data == asyncMsg) {
this.port1.onmessage();
}
}, this);
window.addEventListener("message", a, false);
this.port1 = {};
this.port2 = {
postMessage : function() {
window.postMessage(asyncMsg, origin);
}
};
};
}
if ("undefined" !== typeof Channel && !fg()) {
var channel = new Channel;
var stack = {};
var previous = stack;
/**
* @return {undefined}
*/
channel.port1.onmessage = function() {
if (xe(stack.next)) {
stack = stack.next;
var length = stack.cg;
/** @type {null} */
stack.cg = null;
length();
}
};
return function(changes) {
previous.next = {
cg : changes
};
previous = previous.next;
channel.port2.postMessage(0);
};
}
return "undefined" !== typeof document && "onreadystatechange" in document.createElement(xa) ? function(notify_success) {
/** @type {!Element} */
var v = document.createElement(xa);
/**
* @return {undefined}
*/
v.onreadystatechange = function() {
/** @type {null} */
v.onreadystatechange = null;
v.parentNode.removeChild(v);
/** @type {null} */
v = null;
notify_success();
/** @type {null} */
notify_success = null;
};
document.documentElement.appendChild(v);
} : function(name) {
z.setTimeout(name, 0);
};
};
var zk = new tk(function() {
return new yk;
}, function(applyViewModelsSpy) {
applyViewModelsSpy.reset();
}, 100);
/**
* @return {?}
*/
var Bk = function() {
var face = Ak;
/** @type {null} */
var a = null;
if (face.a) {
a = face.a;
face.a = face.a.next;
if (!face.a) {
/** @type {null} */
face.b = null;
}
/** @type {null} */
a.next = null;
}
return a;
};
/**
* @return {undefined}
*/
var yk = function() {
/** @type {null} */
this.next = this.b = this.a = null;
};
/**
* @param {string} value
* @param {string} obj
* @return {undefined}
*/
yk.prototype.set = function(value, obj) {
/** @type {string} */
this.a = value;
/** @type {string} */
this.b = obj;
/** @type {null} */
this.next = null;
};
/**
* @return {undefined}
*/
yk.prototype.reset = function() {
/** @type {null} */
this.next = this.b = this.a = null;
};
/**
* @param {boolean} m
* @param {!Object} b
* @return {undefined}
*/
var Fk = function(m, b) {
if (!Ck) {
Dk();
}
if (!Ek) {
Ck();
/** @type {boolean} */
Ek = true;
}
var _ = Ak;
var a = zk.get();
a.set(m, b);
if (_.b) {
_.b.next = a;
} else {
_.a = a;
}
_.b = a;
};
var Ck;
/**
* @return {undefined}
*/
var Dk = function() {
if (z.Promise && z.Promise.resolve) {
var loadPropPromise = z.Promise.resolve(void 0);
/**
* @return {undefined}
*/
Ck = function() {
loadPropPromise.then(Gk);
};
} else {
/**
* @return {undefined}
*/
Ck = function() {
/** @type {function(): undefined} */
var f = Gk;
if (!He(z.setImmediate) || z.Window && z.Window.prototype && !D(ra) && z.Window.prototype.setImmediate == z.setImmediate) {
if (!wk) {
wk = xk();
}
wk(f);
} else {
z.setImmediate(f);
}
};
}
};
/** @type {boolean} */
var Ek = false;
var Ak = new function() {
/** @type {null} */
this.b = this.a = null;
};
/**
* @return {undefined}
*/
var Gk = function() {
var a;
for (; a = Bk();) {
try {
a.a.call(a.b);
} catch (setTrailViewOffset) {
vk(setTrailViewOffset);
}
uk(zk, a);
}
/** @type {boolean} */
Ek = false;
};
/**
* @param {!Function} ctor
* @return {undefined}
*/
var Hk = function(ctor) {
ctor.prototype.then = ctor.prototype.then;
/** @type {boolean} */
ctor.prototype.$goog_Thenable = true;
};
/**
* @param {?} object
* @return {?}
*/
var Ik = function(object) {
if (!object) {
return false;
}
try {
return !!object.$goog_Thenable;
} catch (b) {
return false;
}
};
/**
* @param {?} a
* @param {?} b
* @return {undefined}
*/
var Kk = function(a, b) {
/** @type {number} */
this.a = 0;
this.o = void 0;
/** @type {null} */
this.g = this.b = this.c = null;
/** @type {boolean} */
this.j = this.m = false;
if (a != Ae) {
try {
var valueProgess = this;
a.call(b, function(mercatorX) {
Jk(valueProgess, 2, mercatorX);
}, function(mercatorX) {
Jk(valueProgess, 3, mercatorX);
});
} catch (isCreditCard_1) {
Jk(this, 3, isCreditCard_1);
}
}
};
/**
* @return {undefined}
*/
var Lk = function() {
/** @type {null} */
this.next = this.c = this.b = this.g = this.a = null;
/** @type {boolean} */
this.j = false;
};
/**
* @return {undefined}
*/
Lk.prototype.reset = function() {
/** @type {null} */
this.c = this.b = this.g = this.a = null;
/** @type {boolean} */
this.j = false;
};
var Mk = new tk(function() {
return new Lk;
}, function(applyViewModelsSpy) {
applyViewModelsSpy.reset();
}, 100);
/**
* @param {string} g
* @param {string} b
* @param {string} c
* @return {?}
*/
var Nk = function(g, b, c) {
var state = Mk.get();
/** @type {string} */
state.g = g;
/** @type {string} */
state.b = b;
/** @type {string} */
state.c = c;
return state;
};
/**
* @param {string} f
* @param {boolean} a
* @param {!Object} func
* @return {?}
*/
Kk.prototype.then = function(f, a, func) {
return Ok(this, He(f) ? f : null, He(a) ? a : null, func);
};
Hk(Kk);
/**
* @param {string} el
* @return {undefined}
*/
Kk.prototype.cancel = function(el) {
if (0 == this.a) {
Fk(function() {
var childIterator = new Pk(el);
Qk(this, childIterator);
}, this);
}
};
/**
* @param {!Object} a
* @param {!Object} tension
* @return {undefined}
*/
var Qk = function(a, tension) {
if (0 == a.a) {
if (a.c) {
var c = a.c;
if (c.b) {
/** @type {number} */
var p = 0;
/** @type {null} */
var value = null;
/** @type {null} */
var paths = null;
var b = c.b;
for (; b && (b.j || (p++, b.a == a && (value = b), !(value && 1 < p))); b = b.next) {
if (!value) {
paths = b;
}
}
if (value) {
if (0 == c.a && 1 == p) {
Qk(c, tension);
} else {
if (paths) {
p = paths;
if (p.next == c.g) {
c.g = p;
}
p.next = p.next.next;
} else {
Rk(c);
}
Sk(c, value, 3, tension);
}
}
}
/** @type {null} */
a.c = null;
} else {
Jk(a, 3, tension);
}
}
};
/**
* @param {!Object} a
* @param {string} b
* @return {undefined}
*/
var Uk = function(a, b) {
if (!(a.b || 2 != a.a && 3 != a.a)) {
Tk(a);
}
if (a.g) {
/** @type {string} */
a.g.next = b;
} else {
/** @type {string} */
a.b = b;
}
/** @type {string} */
a.g = b;
};
/**
* @param {string} f
* @param {!Function} p
* @param {!Function} i
* @param {!Object} v
* @return {?}
*/
var Ok = function(f, p, i, v) {
var e = Nk(null, null, null);
e.a = new Kk(function(f, block) {
e.g = p ? function(name) {
try {
var foo = p.call(v, name);
f(foo);
} catch (n) {
block(n);
}
} : f;
e.b = i ? function(name) {
try {
var foo = i.call(v, name);
if (!xe(foo) && name instanceof Pk) {
block(name);
} else {
f(foo);
}
} catch (n) {
block(n);
}
} : block;
});
/** @type {string} */
e.a.c = f;
Uk(f, e);
return e.a;
};
/**
* @param {string} name
* @return {undefined}
*/
Kk.prototype.C = function(name) {
/** @type {number} */
this.a = 0;
Jk(this, 2, name);
};
/**
* @param {string} name
* @return {undefined}
*/
Kk.prototype.w = function(name) {
/** @type {number} */
this.a = 0;
Jk(this, 3, name);
};
/**
* @param {!Object} a
* @param {number} action
* @param {!Object} x
* @return {undefined}
*/
var Jk = function(a, action, x) {
if (0 == a.a) {
if (a === x) {
/** @type {number} */
action = 3;
/** @type {!TypeError} */
x = new TypeError("Promise cannot resolve to itself");
}
/** @type {number} */
a.a = 1;
var d;
a: {
/** @type {!Object} */
var e = x;
var f = a.C;
var c = a.w;
if (e instanceof Kk) {
Uk(e, Nk(f || Ae, c || null, a));
/** @type {boolean} */
d = true;
} else {
if (Ik(e)) {
e.then(f, c, a);
/** @type {boolean} */
d = true;
} else {
if (Ie(e)) {
try {
var h = e.then;
if (He(h)) {
Vk(e, h, f, c, a);
/** @type {boolean} */
d = true;
break a;
}
} catch (gotMessage) {
c.call(a, gotMessage);
/** @type {boolean} */
d = true;
break a;
}
}
/** @type {boolean} */
d = false;
}
}
}
if (!d) {
/** @type {!Object} */
a.o = x;
/** @type {number} */
a.a = action;
/** @type {null} */
a.c = null;
Tk(a);
if (!(3 != action || x instanceof Pk)) {
Wk(a, x);
}
}
}
};
/**
* @param {?} obj
* @param {!Function} h
* @param {!Function} f
* @param {!Function} c
* @param {!Object} t
* @return {undefined}
*/
var Vk = function(obj, h, f, c, t) {
/** @type {boolean} */
var d = false;
/**
* @param {?} name
* @return {undefined}
*/
var opcode = function(name) {
if (!d) {
/** @type {boolean} */
d = true;
f.call(t, name);
}
};
/**
* @param {?} cb
* @return {undefined}
*/
var local = function(cb) {
if (!d) {
/** @type {boolean} */
d = true;
c.call(t, cb);
}
};
try {
h.call(obj, opcode, local);
} catch (done) {
local(done);
}
};
/**
* @param {!Object} a
* @return {undefined}
*/
var Tk = function(a) {
if (!a.m) {
/** @type {boolean} */
a.m = true;
Fk(a.B, a);
}
};
/**
* @param {!Object} b
* @return {?}
*/
var Rk = function(b) {
/** @type {null} */
var a = null;
if (b.b) {
a = b.b;
b.b = a.next;
/** @type {null} */
a.next = null;
}
if (!b.b) {
/** @type {null} */
b.g = null;
}
return a;
};
/**
* @return {undefined}
*/
Kk.prototype.B = function() {
var QueryLanguageComponent;
for (; QueryLanguageComponent = Rk(this);) {
Sk(this, QueryLanguageComponent, this.a, this.o);
}
/** @type {boolean} */
this.m = false;
};
/**
* @param {!Object} a
* @param {!Object} b
* @param {number} c
* @param {!Object} t
* @return {undefined}
*/
var Sk = function(a, b, c, t) {
if (3 == c && b.b && !b.j) {
for (; a && a.j; a = a.c) {
/** @type {boolean} */
a.j = false;
}
}
if (b.a) {
/** @type {null} */
b.a.c = null;
Xk(b, c, t);
} else {
try {
if (b.j) {
b.g.call(b.c);
} else {
Xk(b, c, t);
}
} catch (bubbled_sets__3355) {
Yk.call(null, bubbled_sets__3355);
}
}
uk(Mk, b);
};
/**
* @param {!Object} a
* @param {number} result
* @param {!Object} b
* @return {undefined}
*/
var Xk = function(a, result, b) {
if (2 == result) {
a.g.call(a.c, b);
} else {
if (a.b) {
a.b.call(a.c, b);
}
}
};
/**
* @param {!Object} val
* @param {!Object} dim
* @return {undefined}
*/
var Wk = function(val, dim) {
/** @type {boolean} */
val.j = true;
Fk(function() {
if (val.j) {
Yk.call(null, dim);
}
});
};
/** @type {function(?): undefined} */
var Yk = vk;
/**
* @param {?} p1__3354_SHARP_
* @return {undefined}
*/
var Pk = function(p1__3354_SHARP_) {
Qe.call(this, p1__3354_SHARP_);
};
C(Pk, Qe);
/** @type {string} */
Pk.prototype.name = "cancel";
/**
* @param {number} s
* @param {string} axe
* @return {undefined}
*/
var Zk = function(s, axe) {
V.call(this);
this.g = s || 1;
this.c = axe || z;
this.j = A(this.o, this);
this.m = Pe();
};
C(Zk, V);
/** @type {boolean} */
Zk.prototype.b = false;
/** @type {null} */
Zk.prototype.a = null;
/**
* @param {!Object} o
* @param {number} c
* @return {undefined}
*/
var bl = function(o, c) {
/** @type {number} */
o.g = c;
if (o.a && o.b) {
$k(o);
al(o);
} else {
if (o.a) {
$k(o);
}
}
};
/**
* @return {undefined}
*/
Zk.prototype.o = function() {
if (this.b) {
/** @type {number} */
var now = Pe() - this.m;
if (0 < now && now < .8 * this.g) {
this.a = this.c.setTimeout(this.j, this.g - now);
} else {
if (this.a) {
this.c.clearTimeout(this.a);
/** @type {null} */
this.a = null;
}
this.dispatchEvent("tick");
if (this.b) {
this.a = this.c.setTimeout(this.j, this.g);
this.m = Pe();
}
}
}
};
/**
* @param {!Object} self
* @return {undefined}
*/
var al = function(self) {
/** @type {boolean} */
self.b = true;
if (!self.a) {
self.a = self.c.setTimeout(self.j, self.g);
self.m = Pe();
}
};
/**
* @param {!Object} self
* @return {undefined}
*/
var $k = function(self) {
/** @type {boolean} */
self.b = false;
if (self.a) {
self.c.clearTimeout(self.a);
/** @type {null} */
self.a = null;
}
};
/**
* @return {undefined}
*/
Zk.prototype.J = function() {
Zk.v.J.call(this);
$k(this);
delete this.c;
};
/**
* @param {!Function} f
* @param {number} val
* @param {!Object} data
* @return {?}
*/
var cl = function(f, val, data) {
if (He(f)) {
if (data) {
f = A(f, data);
}
} else {
if (f && typeof f.handleEvent == Bb) {
f = A(f.handleEvent, f);
} else {
throw Error("Invalid listener argument");
}
}
return 2147483647 < Number(val) ? -1 : z.setTimeout(f, val || 0);
};
/**
* @param {?} name
* @return {undefined}
*/
var dl = function(name) {
z.clearTimeout(name);
};
/**
* @param {?} fn
* @param {?} selector
* @return {undefined}
*/
var el = function(fn, selector) {
T.call(this, "navigate");
this.F = fn;
this.C = selector;
};
C(el, T);
/**
* @param {string} id
* @param {!Object} options
* @param {!Object} e
* @param {!Object} d
* @return {undefined}
*/
var kl = function(id, options, e, d) {
V.call(this);
if (id && !options) {
throw Error("Can't use invisible history without providing a blank page.");
}
var x;
if (e) {
/** @type {!Object} */
x = e;
} else {
x = "history_state" + fl;
var n = Og(wc, {
type : "text",
name : x,
id : x,
style : mg(pb)
});
document.write(Gg(n));
x = M(x);
}
this.o = x;
this.b = e ? $h(Ph(e)) : window;
/** @type {!Object} */
this.F = options;
if (E && !options) {
this.F = "https" == window.location.protocol ? Dg(lg(mg("https:///"))) : Dg(lg(mg('javascript:""')));
}
this.c = new Zk(150);
Cj(this, this.c);
/** @type {boolean} */
this.g = !id;
this.a = new nk(this);
if (id || gl) {
var i;
if (d) {
/** @type {!Object} */
i = d;
} else {
id = "history_iframe" + fl;
d = this.F;
options = {
id : id,
style : mg(pb),
sandbox : void 0
};
if (d) {
Bg(d);
}
e = {};
e.src = d || null;
/** @type {null} */
e.srcdoc = null;
d = {
sandbox : ""
};
x = {};
for (i in e) {
x[i] = e[i];
}
for (i in d) {
x[i] = d[i];
}
for (i in options) {
/** @type {string} */
n = i.toLowerCase();
if (n in e) {
throw Error('Cannot override "' + n + '" attribute, got "' + i + '" with value "' + options[i] + '"');
}
if (n in d) {
delete x[n];
}
x[i] = options[i];
}
i = Ng("iframe", x, void 0);
document.write(Gg(i));
i = M(id);
}
this.C = i;
/** @type {boolean} */
this.K = true;
}
if (gl) {
this.a.a(this.b, "load", this.Vi);
/** @type {boolean} */
this.A = this.w = false;
}
if (this.g) {
hl(this, il(this), true);
} else {
jl(this, this.o.value);
}
fl++;
};
C(kl, V);
/** @type {boolean} */
kl.prototype.B = false;
/** @type {boolean} */
kl.prototype.m = false;
/** @type {null} */
kl.prototype.j = null;
var ll = function(f, boardManager) {
var print = boardManager || sk;
return function() {
var freq = this || z;
freq = freq.closure_memoize_cache_ || (freq.closure_memoize_cache_ = {});
var id = print(Le(f), arguments);
return freq.hasOwnProperty(id) ? freq[id] : freq[id] = f.apply(this, arguments);
};
}(function() {
return E ? yh(8) : "onhashchange" in z;
});
var gl = E && !yh(8);
y = kl.prototype;
/** @type {null} */
y.Qc = null;
/**
* @return {undefined}
*/
y.J = function() {
kl.v.J.call(this);
this.a.za();
this.ba(false);
};
/**
* @param {string} a
* @return {undefined}
*/
y.ba = function(a) {
if (a != this.B) {
if (gl && !this.w) {
/** @type {string} */
this.A = a;
} else {
if (a) {
if (fh ? this.a.a(this.b.document, ml, this.O) : ih && this.a.a(this.b, "pageshow", this.Zi), ll() && this.g) {
this.a.a(this.b, "hashchange", this.Xi);
/** @type {boolean} */
this.B = true;
this.dispatchEvent(new el(il(this), false));
} else {
if (!E || rk() || this.w) {
this.a.a(this.c, "tick", A(this.G, this, true));
/** @type {boolean} */
this.B = true;
if (!gl) {
this.j = il(this);
this.dispatchEvent(new el(il(this), false));
}
al(this.c);
}
}
} else {
/** @type {boolean} */
this.B = false;
pk(this.a);
$k(this.c);
}
}
}
};
/**
* @return {undefined}
*/
y.Vi = function() {
/** @type {boolean} */
this.w = true;
if (this.o.value) {
jl(this, this.o.value, true);
}
this.ba(this.A);
};
/**
* @param {!Object} settings
* @return {undefined}
*/
y.Zi = function(settings) {
if (settings.b.persisted) {
this.ba(false);
this.ba(true);
}
};
/**
* @return {undefined}
*/
y.Xi = function() {
var b = nl(this.b);
if (b != this.j) {
ol(this, b, true);
}
};
/**
* @param {!Object} val
* @return {?}
*/
var il = function(val) {
return null != val.Qc ? val.Qc : val.g ? nl(val.b) : pl(val) || "";
};
/**
* @param {string} value
* @return {?}
*/
var nl = function(value) {
value = value.location.href;
var end = value.indexOf("#");
return 0 > end ? "" : value.substring(end + 1);
};
/**
* @param {!Object} node
* @param {string} name
* @param {string} values
* @return {undefined}
*/
var ql = function(node, name, values) {
if (il(node) != name) {
if (node.g) {
hl(node, name, values);
if (!ll()) {
if (E && !rk()) {
jl(node, name, values, void 0);
}
}
if (node.B) {
node.G(false);
}
} else {
jl(node, name, values);
node.Qc = node.j = node.o.value = name;
node.dispatchEvent(new el(name, false));
}
}
};
/**
* @param {string} loc
* @param {string} id
* @param {string} options
* @return {undefined}
*/
var hl = function(loc, id, options) {
loc = loc.b.location;
var url = loc.href.split("#")[0];
/** @type {boolean} */
var dependencies = -1 != loc.href.indexOf("#");
if (gl || dependencies || id) {
/** @type {string} */
url = url + ("#" + id);
}
if (url != loc.href) {
if (options) {
loc.replace(url);
} else {
loc.href = url;
}
}
};
/**
* @param {!Object} t
* @param {string} c
* @param {string} data
* @param {string} ttl
* @return {undefined}
*/
var jl = function(t, c, data, ttl) {
if (t.K || c != pl(t)) {
if (t.K = false, c = Xe(c), E) {
var x = yi(t.C);
x.open("text/html", data ? "replace" : void 0);
data = Pg(Og(Xd, {}, ttl || t.b.document.title), Og("body", {}, c));
x.write(Gg(data));
x.close();
} else {
if (x = Bg(t.F) + "#" + c, t = t.C.contentWindow) {
if (data) {
t.location.replace(x);
} else {
/** @type {string} */
t.location.href = x;
}
}
}
}
};
/**
* @param {!Object} options
* @return {?}
*/
var pl = function(options) {
if (E) {
return options = yi(options.C), options.body ? Ye(options.body.innerHTML) : null;
}
var context = options.C.contentWindow;
if (context) {
var n;
try {
n = Ye(nl(context));
} catch (d) {
return options.m || (1 != options.m && bl(options.c, 1E4), options.m = true), null;
}
if (options.m) {
if (0 != options.m) {
bl(options.c, 150);
}
/** @type {boolean} */
options.m = false;
}
return n || null;
}
return null;
};
/**
* @param {string} name
* @return {undefined}
*/
kl.prototype.G = function(name) {
if (this.g) {
var v2 = nl(this.b);
if (v2 != this.j) {
ol(this, v2, name);
}
}
if (!this.g || gl) {
if (v2 = pl(this) || "", null == this.Qc || v2 == this.Qc) {
/** @type {null} */
this.Qc = null;
if (v2 != this.j) {
ol(this, v2, name);
}
}
}
};
/**
* @param {!Object} p
* @param {string} d
* @param {string} e
* @return {undefined}
*/
var ol = function(p, d, e) {
p.j = p.o.value = d;
if (p.g) {
if (gl) {
jl(p, d);
}
hl(p, d);
} else {
jl(p, d);
}
p.dispatchEvent(new el(il(p), e));
};
/**
* @return {undefined}
*/
kl.prototype.O = function() {
$k(this.c);
al(this.c);
};
/** @type {!Array} */
var ml = [Vc, Ic, Wc];
/** @type {number} */
var fl = 0;
/**
* @return {undefined}
*/
var rl = function() {
this.me = new kl;
/** @type {null} */
this.Rf = null;
/** @type {number} */
this.a = 0;
U(this.me, "navigate", this.b, false, this);
};
/**
* @param {string} key
* @return {undefined}
*/
rl.prototype.b = function(key) {
if (key.C) {
sl(this, key.F);
}
};
/**
* @param {?} g
* @param {string} f
* @return {undefined}
*/
var sl = function(g, f) {
var str = Ye(f);
var cur_geocells = str.split(/[|\/]/, 2);
if (2 == cur_geocells.length && (cur_geocells.push(str.substring(cur_geocells[0].length + cur_geocells[1].length + 2)), !Te(pf(cur_geocells[0])) && !Te(pf(cur_geocells[1])))) {
tl(g.Rf, cur_geocells[0], cur_geocells[1], cur_geocells[2], "bh");
return;
}
tl(g.Rf, "", "", "", "bh");
};
/**
* @param {!Object} context
* @param {string} tagName
* @param {number} status
* @param {string} e
* @param {string} options
* @return {undefined}
*/
var ul = function(context, tagName, status, e, options) {
/** @type {string} */
e = (null != tagName ? tagName : Qa) + "/" + (null != status ? status : t) + "/" + Xe(e);
/** @type {number} */
status = (new Date).getTime();
if (2E3 < status - context.a) {
ql(context.me, e, false);
} else {
ql(context.me, e, true);
}
/** @type {number} */
context.a = options ? status : 0;
};
var vl = D("Firefox");
var wl = eh() || D(uc);
var xl = D(tc);
var yl = D(na) && !(gg() || D("Firefox") || D(va) || D("Silk"));
var zl = gg();
var Al = D("Safari") && !(gg() || D("Coast") || D(va) || D(ra) || D("Silk") || D(na)) && !(eh() || D(tc) || D(uc));
/**
* @param {string} a
* @param {number} b
* @return {?}
*/
var Cl = function(a, b) {
/** @type {!Array<?>} */
var keysToSend = Array.prototype.slice.call(arguments);
var module = keysToSend.shift();
if ("undefined" == typeof module) {
throw Error("[goog.string.format] Template required");
}
return module.replace(/%([0\- \+]*)(\d+)?(\.(\d+))?([%sfdiu])/g, function(a, b, canCreateDiscussions, isSlidingUp, dontForceConstraints, modelFunctionName, forceExecution, mmCoreSecondsYear) {
if ("%" == modelFunctionName) {
return "%";
}
var s = keysToSend.shift();
if ("undefined" == typeof s) {
throw Error("[goog.string.format] Not enough arguments");
}
arguments[0] = s;
return Bl[modelFunctionName].apply(null, arguments);
});
};
var Bl = {
s : function(replacement, str, width) {
return isNaN(width) || "" == width || replacement.length >= Number(width) ? replacement : replacement = -1 < str.indexOf("-", 0) ? replacement + of(" ", Number(width) - replacement.length) : of(" ", Number(width) - replacement.length) + replacement;
},
f : function(i, name, min, val, c) {
val = i.toString();
if (!(isNaN(c) || "" == c)) {
/** @type {string} */
val = parseFloat(i).toFixed(c);
}
var value;
/** @type {string} */
value = 0 > Number(i) ? "-" : 0 <= name.indexOf("+") ? "+" : 0 <= name.indexOf(" ") ? " " : "";
if (0 <= Number(i)) {
/** @type {string} */
val = value + val;
}
if (isNaN(min) || val.length >= Number(min)) {
return val;
}
/** @type {string} */
val = isNaN(c) ? Math.abs(Number(i)).toString() : Math.abs(Number(i)).toFixed(c);
/** @type {number} */
i = Number(min) - val.length - value.length;
return val = 0 <= name.indexOf("-", 0) ? value + val + of(" ", i) : value + of(0 <= name.indexOf("0", 0) ? "0" : " ", i) + val;
},
d : function(item, key, opts, d, cb, n, v, s) {
return Bl.f(parseInt(item, 10), key, opts, d, 0, n, v, s);
}
};
/** @type {function(?, string, ?, string, ?, ?, ?, ?): ?} */
Bl.i = Bl.d;
/** @type {function(?, string, ?, string, ?, ?, ?, ?): ?} */
Bl.u = Bl.d;
var Dl = ue();
Be(Dl);
/** @type {number} */
Dl.prototype.a = 0;
/**
* @param {string} a
* @return {undefined}
*/
var W = function(a) {
V.call(this);
this.a = a || Qh();
this.Ma = El;
/** @type {null} */
this.Ga = null;
/** @type {boolean} */
this.sa = false;
/** @type {null} */
this.D = null;
this.O = void 0;
/** @type {null} */
this.G = this.B = this.C = this.wa = null;
/** @type {boolean} */
this.Gb = false;
};
C(W, V);
W.prototype.Yc = Dl.M();
/** @type {null} */
var El = null;
/**
* @param {number} name
* @param {boolean} value
* @return {?}
*/
var Fl = function(name, value) {
switch(name) {
case 1:
return value ? "disable" : "enable";
case 2:
return value ? qc : je;
case 4:
return value ? "activate" : "deactivate";
case 8:
return value ? ud : "unselect";
case 16:
return value ? "check" : "uncheck";
case 32:
return value ? wb : Va;
case 64:
return value ? "open" : "close";
}
throw Error("Invalid component state");
};
/**
* @return {?}
*/
W.prototype.F = function() {
return this.Ga || (this.Ga = ":" + (this.Yc.a++).toString(36));
};
/**
* @param {!Object} a
* @param {string} b
* @return {undefined}
*/
var Gl = function(a, b) {
if (a.C && a.C.G) {
var mkDirCache = a.C.G;
var d = a.Ga;
if (d in mkDirCache) {
delete mkDirCache[d];
}
Tf(a.C.G, b, a);
}
/** @type {string} */
a.Ga = b;
};
W.prototype.l = w("D");
/**
* @param {(number|string)} args
* @param {string} array
* @return {?}
*/
var Hl = function(args, array) {
return args.D ? O(array, args.D || args.a.a) : null;
};
/**
* @param {!Object} elem
* @return {?}
*/
var X = function(elem) {
if (!elem.O) {
elem.O = new nk(elem);
}
return elem.O;
};
/**
* @param {string} node
* @param {string} parent
* @return {undefined}
*/
var Jl = function(node, parent) {
if (node == parent) {
throw Error(Ea);
}
if (parent && node.C && node.Ga && Il(node.C, node.Ga) && node.C != parent) {
throw Error(Ea);
}
/** @type {string} */
node.C = parent;
W.v.Uc.call(node, parent);
};
W.prototype.K = w("C");
/**
* @param {?} selector
* @return {undefined}
*/
W.prototype.Uc = function(selector) {
if (this.C && this.C != selector) {
throw Error("Method not supported");
}
W.v.Uc.call(this, selector);
};
/**
* @return {undefined}
*/
W.prototype.ra = function() {
this.D = Ji(this.a, k);
};
/**
* @param {!Object} key
* @return {undefined}
*/
W.prototype.aa = function(key) {
Kl(this, key);
};
/**
* @param {!Object} options
* @param {!Object} input
* @param {string} type
* @return {undefined}
*/
var Kl = function(options, input, type) {
if (options.sa) {
throw Error(pa);
}
if (!options.D) {
options.ra();
}
if (input) {
input.insertBefore(options.D, type || null);
} else {
options.a.a.body.appendChild(options.D);
}
if (!(options.C && !options.C.sa)) {
options.V();
}
};
y = W.prototype;
/**
* @param {string} a
* @return {undefined}
*/
y.R = function(a) {
if (this.sa) {
throw Error(pa);
}
if (a && this.Wd(a)) {
/** @type {boolean} */
this.Gb = true;
var i = Ph(a);
if (!(this.a && this.a.a == i)) {
this.a = Qh(a);
}
this.Y(a);
this.V();
} else {
throw Error("Invalid element to decorate");
}
};
y.Wd = x(true);
y.Y = ve("D");
/**
* @return {undefined}
*/
y.V = function() {
/** @type {boolean} */
this.sa = true;
Ll(this, function(options) {
if (!options.sa && options.l()) {
options.V();
}
});
};
/**
* @return {undefined}
*/
y.Ya = function() {
Ll(this, function(v) {
if (v.sa) {
v.Ya();
}
});
if (this.O) {
pk(this.O);
}
/** @type {boolean} */
this.sa = false;
};
/**
* @return {undefined}
*/
y.J = function() {
if (this.sa) {
this.Ya();
}
if (this.O) {
this.O.za();
delete this.O;
}
Ll(this, function(a) {
a.za();
});
if (!this.Gb && this.D) {
mi(this.D);
}
/** @type {null} */
this.C = this.wa = this.D = this.G = this.B = null;
W.v.J.call(this);
};
/**
* @param {number} val
* @param {boolean} r
* @return {undefined}
*/
y.Ia = function(val, r) {
this.Zc(val, Ml(this), r);
};
/**
* @param {!Object} o
* @param {number} c
* @param {!Object} g
* @return {undefined}
*/
y.Zc = function(o, c, g) {
if (o.sa && (g || !this.sa)) {
throw Error(pa);
}
if (0 > c || c > Ml(this)) {
throw Error("Child component index out of bounds");
}
if (!(this.G && this.B)) {
this.G = {};
/** @type {!Array} */
this.B = [];
}
if (o.K() == this) {
var i = o.F();
/** @type {!Object} */
this.G[i] = o;
Hf(this.B, o);
} else {
Tf(this.G, o.F(), o);
}
Jl(o, this);
Mf(this.B, c, 0, o);
if (o.sa && this.sa && o.K() == this) {
g = this.yb();
c = g.childNodes[c] || null;
if (c != o.l()) {
g.insertBefore(o.l(), c);
}
} else {
if (g) {
if (!this.D) {
this.ra();
}
c = Nl(this, c + 1);
Kl(o, this.yb(), c ? c.D : null);
} else {
if (this.sa && !o.sa && o.D && o.D.parentNode && 1 == o.D.parentNode.nodeType) {
o.V();
}
}
}
};
y.yb = w("D");
/**
* @param {!Object} options
* @return {?}
*/
var Ol = function(options) {
if (null == options.Ma) {
options.Ma = nj(options.sa ? options.D : options.a.a.body);
}
return options.Ma;
};
/**
* @param {!Object} obj
* @return {?}
*/
var Ml = function(obj) {
return obj.B ? obj.B.length : 0;
};
/**
* @param {!Window} color
* @param {string} b
* @return {?}
*/
var Il = function(color, b) {
var x;
if (color.G && b) {
x = color.G;
x = (null !== x && b in x ? x[b] : void 0) || null;
} else {
/** @type {null} */
x = null;
}
return x;
};
/**
* @param {!Object} obj
* @param {number} i
* @return {?}
*/
var Nl = function(obj, i) {
return obj.B ? obj.B[i] || null : null;
};
/**
* @param {!Object} a
* @param {!Function} i
* @param {!Object} tensor2
* @return {undefined}
*/
var Ll = function(a, i, tensor2) {
if (a.B) {
xf(a.B, i, tensor2);
}
};
/**
* @param {!Object} a
* @param {string} s
* @return {?}
*/
var Pl = function(a, s) {
return a.B && s ? wf(a.B, s) : -1;
};
/**
* @param {!Object} element
* @param {boolean} options
* @return {?}
*/
W.prototype.removeChild = function(element, options) {
if (element) {
var target = Fe(element) ? element : element.F();
element = Il(this, target);
if (target && element) {
var translation = this.G;
if (target in translation) {
delete translation[target];
}
Hf(this.B, element);
if (options) {
element.Ya();
if (element.D) {
mi(element.D);
}
}
Jl(element, null);
}
}
if (!element) {
throw Error("Child is not in parent component");
}
return element;
};
/**
* @param {!Object} m
* @return {undefined}
*/
var Ql = function(m) {
/** @type {!Array} */
var newNodeLists = [];
for (; m.B && 0 != m.B.length;) {
newNodeLists.push(m.removeChild(Nl(m, 0), true));
}
};
/**
* @param {!Object} data
* @return {?}
*/
var Sl = function(data) {
/** @type {!Object} */
var files = data;
if (data instanceof Array) {
/** @type {!Array} */
files = Array(data.length);
Rl(files, data);
} else {
if (data instanceof Object) {
var nonDuplicateIds = files = {};
var j;
for (j in data) {
if (data.hasOwnProperty(j)) {
nonDuplicateIds[j] = Sl(data[j]);
}
}
}
}
return files;
};
/**
* @param {!NodeList} set
* @param {!Object} array
* @return {undefined}
*/
var Rl = function(set, array) {
/** @type {number} */
var i = 0;
for (; i < array.length; ++i) {
if (array.hasOwnProperty(i)) {
set[i] = Sl(array[i]);
}
}
};
/**
* @param {!NodeList} rawPads
* @param {number} i
* @return {?}
*/
var Tl = function(rawPads, i) {
if (!rawPads[i]) {
/** @type {!Array} */
rawPads[i] = [];
}
return rawPads[i];
};
/**
* @param {!NodeList} v
* @param {number} i
* @return {?}
*/
var Y = function(v, i) {
return v[i] ? v[i].length : 0;
};
/**
* @param {!Object} actual
* @param {!Object} expected
* @return {?}
*/
var Vl = function(actual, expected) {
if (null == actual || null == expected) {
return null == actual == (null == expected);
}
if (actual.constructor != Array && actual.constructor != Object) {
throw Error("Invalid object type passed into JsProto.areObjectsEqual()");
}
if (actual === expected) {
return true;
}
if (actual.constructor != expected.constructor) {
return false;
}
var p;
for (p in actual) {
if (!(p in expected && Ul(actual[p], expected[p]))) {
return false;
}
}
var x;
for (x in expected) {
if (!(x in actual)) {
return false;
}
}
return true;
};
/**
* @param {number} a
* @param {number} b
* @return {?}
*/
var Ul = function(a, b) {
if (a === b || !(true !== a && 1 !== a || true !== b && 1 !== b) || !(false !== a && 0 !== a || false !== b && 0 !== b)) {
return true;
}
if (a instanceof Object && b instanceof Object) {
if (!Vl(a, b)) {
return false;
}
} else {
return false;
}
return true;
};
/**
* @param {!Object} tokType
* @param {string} v
* @return {undefined}
*/
var Wl = function(tokType, v) {
/** @type {!Object} */
this.type = tokType;
/** @type {string} */
this.label = v;
};
/**
* @param {string} key
* @return {undefined}
*/
var Xl = function(key) {
new Wl(key, 1);
};
/**
* @param {string} key
* @return {undefined}
*/
var Yl = function(key) {
new Wl(key, 2);
};
/**
* @param {string} key
* @return {undefined}
*/
var Zl = function(key) {
new Wl(key, 3);
};
Xl("d");
Yl("d");
Zl("d");
Xl("f");
Yl("f");
Zl("f");
Xl("i");
Yl("i");
Zl("i");
Xl("j");
Yl("j");
Zl("j");
Xl("u");
Yl("u");
Zl("u");
Xl("v");
Yl("v");
Zl("v");
Xl("b");
Yl("b");
Zl("b");
Xl("e");
Yl("e");
Zl("e");
Xl("s");
Yl("s");
Zl("s");
Xl("B");
Yl("B");
Zl("B");
Xl("x");
Yl("x");
Zl("x");
Xl("y");
Yl("y");
Zl("y");
Xl("g");
Yl("g");
Zl("g");
Xl("h");
Yl("h");
Zl("h");
Xl("n");
Yl("n");
Zl("n");
Xl("o");
Yl("o");
Zl("o");
/**
* @param {string} a
* @return {undefined}
*/
var $l = function(a) {
this.a = a || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var am = function(a) {
this.a = a || [];
};
$l.prototype.b = w("a");
am.prototype.b = w("a");
/**
* @param {string} a
* @return {undefined}
*/
var bm = function(a) {
this.a = a || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var cm = function(a) {
this.a = a || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var dm = function(a) {
this.a = a || [];
};
/**
* @param {!Array} text
* @return {undefined}
*/
var em = function(text) {
this.kb = text || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var fm = function(a) {
this.a = a || [];
};
/**
* @param {string} height
* @return {undefined}
*/
var gm = function(height) {
this.g = height || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var hm = function(a) {
this.a = a || [];
};
/**
* @param {string} callback
* @return {undefined}
*/
var im = function(callback) {
this.g = callback || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var jm = function(a) {
this.a = a || [];
};
/**
* @param {string} g
* @return {undefined}
*/
var km = function(g) {
this.g = g || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var lm = function(a) {
this.a = a || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var mm = function(a) {
this.a = a || [];
};
/**
* @param {number} ast
* @return {undefined}
*/
var nm = function(ast) {
this.Sf = ast || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var om = function(a) {
this.a = a || [];
};
/**
* @param {string} a
* @return {undefined}
*/
var pm = function(a) {
this.a = a || [];
};
bm.prototype.b = w("a");
/**
* @param {string} v
* @return {?}
*/
var qm = function(v) {
v = v.a[0];
return null != v ? v : "";
};
/**
* @param {string} e
* @return {?}
*/
var rm = function(e) {
e = e.a[4];
return null != e ? e : "";
};
/**
* @param {number} e
* @return {?}
*/
var sm = function(e) {
e = e.a[5];
return null != e ? e : 0;
};
/**
* @param {!Object} v
* @return {?}
*/
var tm = function(v) {
return Y(v.a, 2);
};
/**
* @param {!Object} v
* @param {number} direction
* @return {?}
*/
var um = function(v, direction) {
return new cm(Tl(v.a, 2)[direction]);
};
/**
* @param {(number|string)} obj
* @param {number} name
* @return {?}
*/
var vm = function(obj, name) {
return new dm(Tl(obj.a, 3)[name]);
};
cm.prototype.b = w("a");
/**
* @param {string} v
* @return {?}
*/
var wm = function(v) {
v = v.a[0];
return null != v ? v : "";
};
/**
* @param {number} val
* @return {?}
*/
var xm = function(val) {
val = val.a[1];
return null != val ? val : 0;
};
/**
* @param {string} defaultTagAttributes
* @return {?}
*/
var ym = function(defaultTagAttributes) {
defaultTagAttributes = defaultTagAttributes.a[2];
return null != defaultTagAttributes ? defaultTagAttributes : false;
};
dm.prototype.b = w("a");
/**
* @param {number} b
* @return {?}
*/
var zm = function(b) {
b = b.a[0];
return null != b ? b : 0;
};
/**
* @param {number} b
* @return {?}
*/
var Am = function(b) {
b = b.a[1];
return null != b ? b : 0;
};
em.prototype.b = w("kb");
/**
* @return {?}
*/
em.prototype.Ta = function() {
var city = this.kb[0];
return null != city ? city : "";
};
/**
* @param {string} descr
* @return {?}
*/
var Bm = function(descr) {
descr = descr.kb[1];
return null != descr ? descr : "";
};
/**
* @param {!Object} v
* @return {?}
*/
var Cm = function(v) {
v = v.kb[3];
return null != v ? v : "";
};
/**
* @param {number} c
* @return {?}
*/
var Dm = function(c) {
c = c.kb[4];
return null != c ? c : 0;
};
fm.prototype.b = w("a");
/**
* @param {(number|string)} m
* @param {number} x
* @return {?}
*/
var Em = function(m, x) {
return Tl(m.a, 1)[x];
};
gm.prototype.b = w("g");
/**
* @return {?}
*/
gm.prototype.a = function() {
return Y(this.g, 2);
};
/**
* @param {string} name
* @return {?}
*/
gm.prototype.c = function(name) {
return new fm(Tl(this.g, 2)[name]);
};
hm.prototype.b = w("a");
im.prototype.b = w("g");
/**
* @return {?}
*/
im.prototype.a = function() {
return Y(this.g, 1);
};
/**
* @param {string} name
* @return {?}
*/
im.prototype.c = function(name) {
return new hm(Tl(this.g, 1)[name]);
};
jm.prototype.b = w("a");
/**
* @param {(number|string)} dir
* @param {number} origin
* @return {?}
*/
var Fm = function(dir, origin) {
return Tl(dir.a, 0)[origin];
};
km.prototype.b = w("g");
/**
* @return {?}
*/
km.prototype.a = function() {
return Y(this.g, 1);
};
/**
* @param {string} name
* @return {?}
*/
km.prototype.c = function(name) {
return new jm(Tl(this.g, 1)[name]);
};
lm.prototype.b = w("a");
mm.prototype.b = w("a");
nm.prototype.b = w("Sf");
om.prototype.b = w("a");
pm.prototype.b = w("a");
/**
* @param {string} v
* @return {?}
*/
var Gm = function(v) {
v = v.a[2];
return null != v ? v : "";
};
var Hm = new mm;
/**
* @param {number} a
* @return {?}
*/
var Im = function(a) {
return (a = a.a[7]) ? new mm(a) : Hm;
};
var Jm = new nm;
var Km = new am;
var Lm = new lm;
/**
* @param {number} key
* @return {?}
*/
var Mm = function(key) {
return (key = key.a[14]) ? new lm(key) : Lm;
};
/**
* @param {!Object} v
* @return {?}
*/
var Nm = function(v) {
return Y(v.a, 0);
};
/**
* @param {!Object} v
* @param {?} str
* @return {?}
*/
var Om = function(v, str) {
return new em(Tl(v.a, 0)[str]);
};
/**
* @param {(number|string)} to
* @param {number} text
* @return {?}
*/
var Pm = function(to, text) {
return new gm(Tl(to.a, 1)[text]);
};
/**
* @param {!Object} v
* @return {?}
*/
var Qm = function(v) {
return Y(v.a, 5);
};
/**
* @param {!Object} v
* @param {number} name
* @return {?}
*/
var Rm = function(v, name) {
return new bm(Tl(v.a, 5)[name]);
};
/**
* @param {string} a
* @param {?} b
* @return {?}
*/
var Sm = function(a, b) {
return new km(Tl(a.a, 11)[b]);
};
/**
* @param {!Object} p
* @param {number} area
* @return {?}
*/
var Tm = function(p, area) {
return new im(Tl(p.a, 12)[area]);
};
/**
* @param {(number|string)} key
* @return {undefined}
*/
var Xm = function(key) {
/** @type {boolean} */
this.b = false;
/** @type {!Array} */
this.a = [];
this.c = {};
/** @type {number} */
var obj = 0;
for (; obj < Y(key.a, 1); obj++) {
var v = Pm(key, obj);
var name;
name = v.g[0];
name = null != name ? name : "";
/** @type {string} */
var i = "";
if (null != v.g[3]) {
v = v.g[3];
i = null != v ? v : "";
}
if (name in this.c) {
name = this.c[name];
} else {
v = new Um(name, i);
this.c[name] = v;
this.a.push(v);
name = v;
}
/** @type {number} */
v = 0;
for (; v < Pm(key, obj).a(); v++) {
var result = Pm(key, obj).c(v);
i = result;
i = 0 == Y(i.a, 2) ? -Le(i) : Tl(i.a, 2)[0];
var value = name;
if (i in value.b) {
i = value.b[i];
} else {
var data = new Vm;
value.b[i] = data;
value.a.push(data);
i = data;
}
value = result.a[0];
value = null != value ? value : "";
data = result.a[4];
data = null != data ? data : "";
var length;
if (null != result.a[3]) {
length = result.a[3];
length = null != length ? length : 0;
} else {
/** @type {number} */
length = -1;
}
var res;
/** @type {!Array} */
res = [];
/** @type {number} */
var s2 = 0;
for (; s2 < Y(result.a, 1); s2++) {
res.push(Em(result, s2));
}
result = i;
if (!(value in result.b)) {
data = new Wm(value, data, length, res);
result.b[value] = data;
result.a.push(data);
}
this.b |= 1 < i.a.length;
}
}
};
/**
* @param {(number|string)} a
* @return {?}
*/
var Ym = function(a) {
/** @type {number} */
var b = 0;
/** @type {number} */
var x = 0;
for (; x < a.a.length; x++) {
var i = a.a[x];
/** @type {number} */
var data = 0;
/** @type {number} */
var j = 0;
for (; j < i.a.length; j++) {
data = data + i.a[j].a.length;
}
b = b + data;
}
/** @type {number} */
i = x = 0;
for (; i < a.a.length; i++) {
data = a.a[i];
/** @type {number} */
var f = j = 0;
for (; f < data.a.length; f++) {
var face = data.a[f];
/** @type {number} */
var dups = 0;
/** @type {number} */
var i = 0;
for (; i < face.a.length; i++) {
/** @type {number} */
dups = dups + (face.a[i].visible ? 1 : 0);
}
/** @type {number} */
j = j + dups;
}
/** @type {number} */
x = x + j;
}
return b - x;
};
/**
* @param {!Object} item
* @return {?}
*/
var Zm = function(item) {
/** @type {!Array} */
var _whitespaceCharClass = [];
/** @type {number} */
var j = 0;
for (; j < item.a.length; j++) {
/** @type {number} */
var i = 0;
for (; i < item.a[j].a.length; i++) {
Array.prototype.push.apply(_whitespaceCharClass, item.a[j].a[i].a);
}
}
return _whitespaceCharClass;
};
/**
* @param {!Object} item
* @return {undefined}
*/
var $m = function(item) {
/** @type {number} */
var j = 0;
for (; j < item.a.length; j++) {
/** @type {number} */
var i = 0;
for (; i < item.a[j].a.length; i++) {
item.a[j].a[i].a.sort(function(a, b) {
return b.a - a.a;
});
}
}
};
/**
* @param {string} q
* @param {number} value
* @return {undefined}
*/
var Um = function(q, value) {
/** @type {string} */
this.g = q;
/** @type {number} */
this.c = value;
/** @type {!Array} */
this.a = [];
this.b = {};
};
/**
* @return {?}
*/
Um.prototype.visible = function() {
/** @type {number} */
var i = 0;
for (; i < this.a.length; i++) {
if (this.a[i].visible()) {
return true;
}
}
return false;
};
/**
* @return {undefined}
*/
var Vm = function() {
/** @type {!Array} */
this.a = [];
this.b = {};
};
/**
* @return {?}
*/
Vm.prototype.visible = function() {
/** @type {number} */
var i = 0;
for (; i < this.a.length; i++) {
if (this.a[i].visible) {
return true;
}
}
return false;
};
/**
* @param {string} t
* @param {number} c
* @param {number} a
* @param {string} scalar
* @return {undefined}
*/
var Wm = function(t, c, a, scalar) {
/** @type {string} */
this.text = t;
/** @type {number} */
this.c = c;
/** @type {number} */
this.a = a;
/** @type {string} */
this.g = scalar;
/** @type {boolean} */
this.visible = false;
/** @type {number} */
this.b = 0;
};
var an;
/** @type {!Array<string>} */
var bn = "combobox grid group listbox menu menubar radiogroup row rowgroup tablist textbox toolbar tree treegrid".split(" ");
/**
* @param {!Object} path
* @param {string} node
* @return {undefined}
*/
var cn = function(path, node) {
if (node) {
path.setAttribute(rd, node);
} else {
path.removeAttribute(rd);
}
};
/**
* @param {?} _
* @param {string} name
* @param {string} value
* @return {undefined}
*/
var dn = function(_, name, value) {
if (De(value)) {
value = value.join(" ");
}
/** @type {string} */
var attributeName = "aria-" + name;
if ("" === value || void 0 == value) {
if (!an) {
an = {
atomic : false,
autocomplete : ad,
dropeffect : ad,
haspopup : false,
live : "off",
multiline : false,
multiselectable : false,
orientation : ke,
readonly : false,
relevant : "additions text",
required : false,
sort : ad,
busy : false,
disabled : false,
hidden : false,
invalid : "false"
};
}
value = an;
if (name in value) {
_.setAttribute(attributeName, value[name]);
} else {
_.removeAttribute(attributeName);
}
} else {
_.setAttribute(attributeName, value);
}
};
/**
* @param {!Object} element
* @param {string} state
* @return {?}
*/
var en = function(element, state) {
var c = element.getAttribute("aria-" + state);
return null == c || void 0 == c ? "" : String(c);
};
/**
* @param {!Object} node
* @return {?}
*/
var fn = function(node) {
var mainDivID = en(node, Ia);
return Ph(node).getElementById(mainDivID);
};
/**
* @param {?} name
* @param {string} a
* @return {undefined}
*/
var gn = function(name, a) {
/** @type {string} */
var result = "";
if (a) {
result = a.id;
}
dn(name, Ia, result);
};
var hn = ue();
var jn;
Be(hn);
/**
* @return {?}
*/
var ln = function() {
var CSS = new kn;
CSS.S = x("jfk-checkbox");
return CSS;
};
var mn = {
button : "pressed",
checkbox : $a,
menuitem : wd,
menuitemcheckbox : $a,
menuitemradio : $a,
radio : $a,
tab : wd,
treeitem : wd
};
hn.prototype.Rb = ue();
/**
* @param {!Object} x
* @return {?}
*/
hn.prototype.Pa = function(x) {
return x.a.b(k, nn(this, x).join(" "), x.Aa());
};
/**
* @param {!Object} callback
* @return {?}
*/
hn.prototype.hb = function(callback) {
return callback;
};
/**
* @param {!Object} arg
* @param {string} name
* @param {string} alt
* @return {undefined}
*/
var pn = function(arg, name, alt) {
if (arg = arg.l ? arg.l() : arg) {
/** @type {!Array} */
var h = [name];
if (E && !I("7")) {
h = on(Ah(arg), name);
h.push(name);
}
(alt ? Ch : Dh)(arg, h);
}
};
hn.prototype.Kc = x(true);
/**
* @param {!Object} f
* @param {!Object} val
* @return {?}
*/
hn.prototype.R = function(f, val) {
if (val.id) {
Gl(f, val.id);
}
var xml = this.hb(val);
if (xml && xml.firstChild) {
qn(f, xml.firstChild.nextSibling ? Jf(xml.childNodes) : xml.firstChild);
} else {
/** @type {null} */
f.sc = null;
}
/** @type {number} */
var notified = 0;
var name = this.S();
var target = this.S();
/** @type {boolean} */
var isCopyAction = false;
/** @type {boolean} */
var doAll = false;
/** @type {boolean} */
var imgCenterW = false;
var v = Jf(Ah(val));
xf(v, function(key) {
if (isCopyAction || key != name) {
if (doAll || key != target) {
/** @type {number} */
notified = notified | this.c(key);
} else {
/** @type {boolean} */
doAll = true;
}
} else {
/** @type {boolean} */
isCopyAction = true;
if (target == name) {
/** @type {boolean} */
doAll = true;
}
}
if (1 == this.c(key) && Ci(xml) && Di(xml)) {
Bi(xml, false);
}
}, this);
f.bc = notified;
if (!isCopyAction) {
v.push(name);
if (target == name) {
/** @type {boolean} */
doAll = true;
}
}
if (!doAll) {
v.push(target);
}
var salt = f.sb;
if (salt) {
v.push.apply(v, salt);
}
if (E && !I("7")) {
var handle = on(v);
if (0 < handle.length) {
v.push.apply(v, handle);
/** @type {boolean} */
imgCenterW = true;
}
}
if (!isCopyAction || !doAll || salt || imgCenterW) {
val.className = v.join(" ");
}
return val;
};
/**
* @param {!Object} module
* @return {undefined}
*/
hn.prototype.Ag = function(module) {
if (Ol(module)) {
this.jf(module.l(), true);
}
if (module.isEnabled()) {
this.Lc(module, module.isVisible());
}
};
/**
* @param {string} el
* @param {!Object} value
* @param {string} elem
* @return {undefined}
*/
var rn = function(el, value, elem) {
if (el = elem || el.Rb()) {
elem = value.getAttribute(rd) || null;
if (el != elem) {
cn(value, el);
}
}
};
/**
* @param {boolean} callback
* @param {!Object} obj
* @param {string} type
* @return {undefined}
*/
var un = function(callback, obj, type) {
if (!obj.isVisible()) {
dn(type, oc, !obj.isVisible());
}
if (!obj.isEnabled()) {
callback.Cb(type, 1, !obj.isEnabled());
}
if (sn(obj, 8)) {
callback.Cb(type, 8, tn(obj, 8));
}
if (sn(obj, 16)) {
callback.Cb(type, 16, obj.Ea());
}
if (sn(obj, 64)) {
callback.Cb(type, 64, tn(obj, 64));
}
};
y = hn.prototype;
/**
* @param {string} name
* @param {string} type
* @return {undefined}
*/
y.Yd = function(name, type) {
pj(name, !type, !E && !fh);
};
/**
* @param {string} name
* @param {string} type
* @return {undefined}
*/
y.jf = function(name, type) {
pn(name, this.S() + "-rtl", type);
};
/**
* @param {!Object} value
* @return {?}
*/
y.hf = function(value) {
var m;
return sn(value, 32) && (m = value.l()) ? Ci(m) && Di(m) : false;
};
/**
* @param {!Object} name
* @param {string} type
* @return {undefined}
*/
y.Lc = function(name, type) {
var a;
if (sn(name, 32) && (a = name.l())) {
if (!type && tn(name, 32)) {
try {
a.blur();
} catch (d) {
}
if (tn(name, 32)) {
name.Zd(null);
}
}
if ((Ci(a) && Di(a)) != type) {
Bi(a, type);
}
}
};
/**
* @param {boolean} v
* @param {boolean} id
* @return {undefined}
*/
y.setVisible = function(v, id) {
S(v, id);
if (v) {
dn(v, oc, !id);
}
};
/**
* @param {!Object} name
* @param {string} args
* @param {!Object} n
* @return {undefined}
*/
y.rc = function(name, args, n) {
var d = name.l();
if (d) {
var a = this.a(args);
if (a) {
pn(name, a, n);
}
this.Cb(d, args, n);
}
};
/**
* @param {!Object} key
* @param {string} name
* @param {!Function} str
* @return {undefined}
*/
y.Cb = function(key, name, str) {
if (!jn) {
jn = {
1 : "disabled",
8 : wd,
16 : $a,
64 : "expanded"
};
}
name = jn[name];
var type = key.getAttribute(rd) || null;
if (type) {
type = mn[type] || name;
name = name == $a || name == wd ? type : name;
}
if (name) {
dn(key, name, str);
}
};
/**
* @param {!Element} property
* @param {!Object} value
* @return {undefined}
*/
y.zb = function(property, value) {
var obj = this.hb(property);
if (obj && (ji(obj), value)) {
if (Fe(value)) {
Q(obj, value);
} else {
/**
* @param {!Object} val
* @return {undefined}
*/
var e = function(val) {
if (val) {
var s = Ph(obj);
obj.appendChild(Fe(val) ? s.createTextNode(val) : val);
}
};
if (De(value)) {
xf(value, e);
} else {
if (!Ee(value) || "nodeType" in value) {
e(value);
} else {
xf(Jf(value), e);
}
}
}
}
};
y.S = x("goog-control");
/**
* @param {(number|string)} point
* @param {!Object} x
* @return {?}
*/
var nn = function(point, x) {
var n = point.S();
/** @type {!Array} */
var result = [n];
var target = point.S();
if (target != n) {
result.push(target);
}
n = x.bc;
/** @type {!Array} */
target = [];
for (; n;) {
/** @type {number} */
var type = n & -n;
target.push(point.a(type));
/** @type {number} */
n = n & ~type;
}
result.push.apply(result, target);
if (n = x.sb) {
result.push.apply(result, n);
}
if (E && !I("7")) {
result.push.apply(result, on(result));
}
return result;
};
/**
* @param {!Array} test
* @param {string} one
* @return {?}
*/
var on = function(test, one) {
/** @type {!Array} */
var exports = [];
if (one) {
test = If(test, [one]);
}
xf([], function(res) {
if (!(!Bf(res, Oe(Ef, test)) || one && !Ef(res, one))) {
exports.push(res.join("_"));
}
});
return exports;
};
/**
* @param {string} name
* @return {?}
*/
hn.prototype.a = function(name) {
if (!this.b) {
vn(this);
}
return this.b[name];
};
/**
* @param {string} key
* @return {?}
*/
hn.prototype.c = function(key) {
if (!this.A) {
if (!this.b) {
vn(this);
}
var b = this.b;
var a = {};
var i;
for (i in b) {
/** @type {string} */
a[b[i]] = i;
}
this.A = a;
}
/** @type {number} */
key = parseInt(this.A[key], 10);
return isNaN(key) ? 0 : key;
};
/**
* @param {!Object} value
* @return {undefined}
*/
var vn = function(value) {
var cls = value.S();
cls.replace(/\xa0|\s/g, " ");
value.b = {
1 : cls + da,
2 : cls + "-hover",
4 : cls + "-active",
8 : cls + "-selected",
16 : cls + "-checked",
32 : cls + "-focused",
64 : cls + "-open"
};
};
var wn = ue();
C(wn, hn);
Be(wn);
y = wn.prototype;
y.Rb = x(Xa);
/**
* @param {string} name
* @param {string} type
* @param {!Function} str
* @return {undefined}
*/
y.Cb = function(name, type, str) {
switch(type) {
case 8:
case 16:
dn(name, "pressed", str);
break;
default:
case 64:
case 1:
wn.v.Cb.call(this, name, type, str);
}
};
/**
* @param {!Object} obj
* @return {?}
*/
y.Pa = function(obj) {
var info = wn.v.Pa.call(this, obj);
xn(info, obj.w);
var c = obj.T();
if (c) {
this.Ud(info, c);
}
if (sn(obj, 16)) {
this.Cb(info, 16, obj.Ea());
}
return info;
};
/**
* @param {!Object} a
* @param {string} b
* @return {?}
*/
y.R = function(a, b) {
b = wn.v.R.call(this, a, b);
var bIdx = this.T(b);
a.Wa = bIdx;
a.w = b.title;
if (sn(a, 16)) {
this.Cb(b, 16, a.Ea());
}
return b;
};
y.T = Ae;
y.Ud = Ae;
/**
* @param {!Object} a
* @param {string} b
* @return {undefined}
*/
var xn = function(a, b) {
if (a) {
if (b) {
/** @type {string} */
a.title = b;
} else {
a.removeAttribute(Xd);
}
}
};
/**
* @param {?} t
* @param {!Object} b
* @param {number} prune
* @return {undefined}
*/
var zn = function(t, b, prune) {
var val = Ol(b);
var e = t.S() + "-collapse-left";
t = t.S() + "-collapse-right";
yn(b, val ? t : e, !!(prune & 1));
yn(b, val ? e : t, !!(prune & 2));
};
wn.prototype.S = x("goog-button");
/**
* @param {!Event} event
* @return {?}
*/
var An = function(event) {
if (event.altKey && !event.ctrlKey || event.metaKey || 112 <= event.keyCode && 123 >= event.keyCode) {
return false;
}
switch(event.keyCode) {
case 18:
case 20:
case 93:
case 17:
case 40:
case 35:
case 27:
case 36:
case 45:
case 37:
case 224:
case 91:
case 144:
case 12:
case 34:
case 33:
case 19:
case 255:
case 44:
case 39:
case 145:
case 16:
case 38:
case 252:
case 224:
case 92:
return false;
case 0:
return !ih;
default:
return 166 > event.keyCode || 183 < event.keyCode;
}
};
/**
* @param {number} a
* @param {number} c
* @param {?} compartmentIndex
* @param {?} $native
* @param {boolean} $primitive
* @return {?}
*/
var Dn = function(a, c, compartmentIndex, $native, $primitive) {
if (!(E || gh || G && I("525"))) {
return true;
}
if (kh && $primitive) {
return Bn(a);
}
if ($primitive && !$native) {
return false;
}
if (Ge(c)) {
c = Cn(c);
}
if (!compartmentIndex && (17 == c || 18 == c || kh && 91 == c)) {
return false;
}
if ((G || gh) && $native && compartmentIndex) {
switch(a) {
case 220:
case 219:
case 221:
case 192:
case 186:
case 189:
case 187:
case 188:
case 190:
case 191:
case 192:
case 222:
return false;
}
}
if (E && $native && c == a) {
return false;
}
switch(a) {
case 13:
return true;
case 27:
return !(G || gh);
}
return Bn(a);
};
/**
* @param {number} a255
* @return {?}
*/
var Bn = function(a255) {
if (48 <= a255 && 57 >= a255 || 96 <= a255 && 106 >= a255 || 65 <= a255 && 90 >= a255 || (G || gh) && 0 == a255) {
return true;
}
switch(a255) {
case 32:
case 43:
case 63:
case 64:
case 107:
case 109:
case 110:
case 111:
case 186:
case 59:
case 189:
case 187:
case 61:
case 188:
case 190:
case 191:
case 192:
case 222:
case 219:
case 220:
case 221:
return true;
default:
return false;
}
};
/**
* @param {number} a
* @return {?}
*/
var Cn = function(a) {
if (ih) {
a = En(a);
} else {
if (kh && G) {
a: {
switch(a) {
case 93:
/** @type {number} */
a = 91;
break a;
}
}
}
}
return a;
};
/**
* @param {number} strip1
* @return {?}
*/
var En = function(strip1) {
switch(strip1) {
case 61:
return 187;
case 59:
return 186;
case 173:
return 189;
case 224:
return 91;
case 0:
return 224;
default:
return strip1;
}
};
/**
* @param {?} blobs
* @param {string} type
* @return {undefined}
*/
var Gn = function(blobs, type) {
V.call(this);
if (blobs) {
Fn(this, blobs, type);
}
};
C(Gn, V);
y = Gn.prototype;
/** @type {null} */
y.D = null;
/** @type {null} */
y.qe = null;
/** @type {null} */
y.vf = null;
/** @type {null} */
y.re = null;
/** @type {number} */
y.qb = -1;
/** @type {number} */
y.ec = -1;
/** @type {boolean} */
y.Pe = false;
var Hn = {
3 : 13,
12 : 144,
63232 : 38,
63233 : 40,
63234 : 37,
63235 : 39,
63236 : 112,
63237 : 113,
63238 : 114,
63239 : 115,
63240 : 116,
63241 : 117,
63242 : 118,
63243 : 119,
63244 : 120,
63245 : 121,
63246 : 122,
63247 : 123,
63248 : 44,
63272 : 46,
63273 : 36,
63275 : 35,
63276 : 33,
63277 : 34,
63289 : 144,
63302 : 45
};
var In = {
Up : 38,
Down : 40,
Left : 37,
Right : 39,
Enter : 13,
F1 : 112,
F2 : 113,
F3 : 114,
F4 : 115,
F5 : 116,
F6 : 117,
F7 : 118,
F8 : 119,
F9 : 120,
F10 : 121,
F11 : 122,
F12 : 123,
"U+007F" : 46,
Home : 36,
End : 35,
PageUp : 33,
PageDown : 34,
Insert : 45
};
var Jn = E || gh || G && I("525");
var Kn = kh && ih;
/**
* @param {!Object} key
* @return {undefined}
*/
Gn.prototype.a = function(key) {
if (G || gh) {
if (17 == this.qb && !key.ctrlKey || 18 == this.qb && !key.altKey || kh && 91 == this.qb && !key.metaKey) {
/** @type {number} */
this.ec = this.qb = -1;
}
}
if (-1 == this.qb) {
if (key.ctrlKey && 17 != key.keyCode) {
/** @type {number} */
this.qb = 17;
} else {
if (key.altKey && 18 != key.keyCode) {
/** @type {number} */
this.qb = 18;
} else {
if (key.metaKey && 91 != key.keyCode) {
/** @type {number} */
this.qb = 91;
}
}
}
}
if (Jn && !Dn(key.keyCode, this.qb, key.shiftKey, key.ctrlKey, key.altKey)) {
this.handleEvent(key);
} else {
this.ec = Cn(key.keyCode);
if (Kn) {
this.Pe = key.altKey;
}
}
};
/**
* @param {!Object} key
* @return {undefined}
*/
Gn.prototype.b = function(key) {
/** @type {number} */
this.ec = this.qb = -1;
this.Pe = key.altKey;
};
/**
* @param {!Object} e
* @return {undefined}
*/
Gn.prototype.handleEvent = function(e) {
var event = e.b;
var u;
var a;
var alt = event.altKey;
if (E && e.type == Jc) {
u = this.ec;
} else {
if ((G || gh) && e.type == Jc) {
u = this.ec;
} else {
if (fh && !G) {
u = this.ec;
} else {
u = event.keyCode || this.ec;
a = event.charCode || 0;
if (Kn) {
alt = this.Pe;
}
if (kh && 63 == a && 224 == u) {
/** @type {number} */
u = 191;
}
}
}
}
a = u = Cn(u);
var id = event.keyIdentifier;
if (u) {
if (63232 <= u && u in Hn) {
a = Hn[u];
} else {
if (25 == u && e.shiftKey) {
/** @type {number} */
a = 9;
}
}
} else {
if (id && id in In) {
a = In[id];
}
}
this.qb = a;
e = new Ln(a, 0, 0, event);
e.altKey = alt;
this.dispatchEvent(e);
};
Gn.prototype.l = w("D");
/**
* @param {!Object} self
* @param {?} options
* @param {string} name
* @return {undefined}
*/
var Fn = function(self, options, name) {
if (self.re) {
Mn(self);
}
self.D = options;
self.qe = U(self.D, Jc, self, name);
self.vf = U(self.D, Ic, self.a, name, self);
self.re = U(self.D, Kc, self.b, name, self);
};
/**
* @param {!Object} self
* @return {undefined}
*/
var Mn = function(self) {
if (self.qe) {
ik(self.qe);
ik(self.vf);
ik(self.re);
/** @type {null} */
self.qe = null;
/** @type {null} */
self.vf = null;
/** @type {null} */
self.re = null;
}
/** @type {null} */
self.D = null;
/** @type {number} */
self.qb = -1;
/** @type {number} */
self.ec = -1;
};
/**
* @return {undefined}
*/
Gn.prototype.J = function() {
Gn.v.J.call(this);
Mn(this);
};
/**
* @param {string} keyCode
* @param {?} event
* @param {?} characterId
* @param {?} mode
* @return {undefined}
*/
var Ln = function(keyCode, event, characterId, mode) {
Ij.call(this, mode);
this.type = Hc;
/** @type {string} */
this.keyCode = keyCode;
};
C(Ln, Ij);
/**
* @param {string} obj
* @param {!Function} n
* @return {undefined}
*/
var On = function(obj, n) {
if (!obj) {
throw Error("Invalid class name " + obj);
}
if (!He(n)) {
throw Error("Invalid decorator function " + n);
}
/** @type {!Function} */
Nn[obj] = n;
};
var Pn = {};
var Nn = {};
/**
* @param {!Object} y
* @param {!Object} value
* @param {?} input
* @return {undefined}
*/
var Qn = function(y, value, input) {
W.call(this, input);
if (!value) {
value = this.constructor;
var time;
for (; value;) {
time = Le(value);
if (time = Pn[time]) {
break;
}
value = value.v ? value.v.constructor : null;
}
value = time ? He(time.M) ? time.M() : new time : null;
}
/** @type {!Object} */
this.c = value;
this.sc = xe(y) ? y : null;
};
C(Qn, W);
y = Qn.prototype;
/** @type {null} */
y.sc = null;
/** @type {number} */
y.bc = 0;
/** @type {number} */
y.vd = 39;
/** @type {number} */
y.Ib = 255;
/** @type {number} */
y.ud = 0;
/** @type {boolean} */
y.$d = true;
/** @type {null} */
y.sb = null;
/** @type {boolean} */
y.ie = true;
/** @type {boolean} */
y.Bd = false;
/** @type {null} */
y.lf = null;
/**
* @param {!Object} data
* @param {string} hash
* @return {undefined}
*/
var Sn = function(data, hash) {
if (data.sa && hash != data.ie) {
Rn(data, hash);
}
/** @type {string} */
data.ie = hash;
};
/**
* @param {!Object} options
* @param {string} list
* @return {undefined}
*/
var Tn = function(options, list) {
if (list) {
if (options.sb) {
if (!Ef(options.sb, list)) {
options.sb.push(list);
}
} else {
/** @type {!Array} */
options.sb = [list];
}
pn(options, list, true);
}
};
/**
* @param {!Object} e
* @param {string} o
* @param {boolean} dizhi
* @return {undefined}
*/
var yn = function(e, o, dizhi) {
if (dizhi) {
Tn(e, o);
} else {
if (o && e.sb && Hf(e.sb, o)) {
if (0 == e.sb.length) {
/** @type {null} */
e.sb = null;
}
pn(e, o, false);
}
}
};
y = Qn.prototype;
/**
* @return {undefined}
*/
y.ra = function() {
var foo = this.c.Pa(this);
this.D = foo;
rn(this.c, foo, this.kd());
if (!this.Bd) {
this.c.Yd(foo, false);
}
if (!this.isVisible()) {
this.c.setVisible(foo, false);
}
};
y.kd = w("lf");
/**
* @return {?}
*/
y.yb = function() {
return this.c.hb(this.l());
};
/**
* @param {!Object} result
* @return {?}
*/
y.Wd = function(result) {
return this.c.Kc(result);
};
/**
* @param {!Object} y
* @return {undefined}
*/
y.Y = function(y) {
this.D = y = this.c.R(this, y);
rn(this.c, y, this.kd());
if (!this.Bd) {
this.c.Yd(y, false);
}
/** @type {boolean} */
this.$d = y.style.display != ad;
};
/**
* @return {undefined}
*/
y.V = function() {
Qn.v.V.call(this);
un(this.c, this, this.D);
this.c.Ag(this);
if (this.vd & -2 && (this.ie && Rn(this, true), sn(this, 32))) {
var a = this.l();
if (a) {
var target = this.H || (this.H = new Gn);
Fn(target, a);
X(this).a(target, Hc, this.Ka).a(a, wb, this.Xh).a(a, Va, this.Zd);
}
}
};
/**
* @param {!Object} node
* @param {string} ring
* @return {undefined}
*/
var Rn = function(node, ring) {
var t = X(node);
var a = node.l();
if (ring) {
t.a(a, Yc, node.kf).a(a, Vc, node.Za).a(a, Zc, node.ib).a(a, Xc, node.sf);
if (node.md != Ae) {
t.a(a, eb, node.md);
}
if (E) {
if (!I(9)) {
t.a(a, "dblclick", node.Gg);
}
if (!node.L) {
node.L = new Un(node);
Cj(node, node.L);
}
}
} else {
t.b(a, Yc, node.kf).b(a, Vc, node.Za).b(a, Zc, node.ib).b(a, Xc, node.sf);
if (node.md != Ae) {
t.b(a, eb, node.md);
}
if (E) {
if (!I(9)) {
t.b(a, "dblclick", node.Gg);
}
Bj(node.L);
/** @type {null} */
node.L = null;
}
}
};
/**
* @return {undefined}
*/
Qn.prototype.Ya = function() {
Qn.v.Ya.call(this);
if (this.H) {
Mn(this.H);
}
if (this.isVisible() && this.isEnabled()) {
this.c.Lc(this, false);
}
};
/**
* @return {undefined}
*/
Qn.prototype.J = function() {
Qn.v.J.call(this);
if (this.H) {
this.H.za();
delete this.H;
}
delete this.c;
/** @type {null} */
this.L = this.sb = this.sc = null;
};
Qn.prototype.Aa = w("sc");
/**
* @param {string} name
* @return {undefined}
*/
Qn.prototype.g = function(name) {
this.c.zb(this.l(), name);
/** @type {string} */
this.sc = name;
};
/**
* @param {!Object} link
* @param {!Node} label
* @return {undefined}
*/
var qn = function(link, label) {
/** @type {!Node} */
link.sc = label;
};
y = Qn.prototype;
/**
* @return {?}
*/
y.Na = function() {
var item = this.Aa();
if (!item) {
return "";
}
item = Fe(item) ? item : De(item) ? zf(item, Gi).join("") : Fi(item);
return Ve(item);
};
y.isVisible = w("$d");
/**
* @param {boolean} value
* @param {string} bool
* @return {?}
*/
y.setVisible = function(value, bool) {
if (bool || this.$d != value && this.dispatchEvent(value ? Ad : pc)) {
var x = this.l();
if (x) {
this.c.setVisible(x, value);
}
if (this.isEnabled()) {
this.c.Lc(this, value);
}
/** @type {boolean} */
this.$d = value;
return true;
}
return false;
};
/**
* @return {?}
*/
y.isEnabled = function() {
return !tn(this, 1);
};
/**
* @param {boolean} y
* @return {undefined}
*/
y.ba = function(y) {
var BrowserCache = this.K();
if (!(BrowserCache && typeof BrowserCache.isEnabled == Bb && !BrowserCache.isEnabled() || !Vn(this, 1, !y))) {
if (!y) {
Wn(this, false);
Xn(this, false);
}
if (this.isVisible()) {
this.c.Lc(this, y);
}
Yn(this, 1, !y, true);
}
};
/**
* @param {!Object} name
* @param {boolean} index
* @return {undefined}
*/
var Xn = function(name, index) {
if (Vn(name, 2, index)) {
Yn(name, 2, index);
}
};
/**
* @param {!Object} name
* @param {boolean} index
* @return {undefined}
*/
var Wn = function(name, index) {
if (Vn(name, 4, index)) {
Yn(name, 4, index);
}
};
y = Qn.prototype;
/**
* @param {boolean} V
* @return {undefined}
*/
y.Kf = function(V) {
if (Vn(this, 8, V)) {
Yn(this, 8, V);
}
};
/**
* @return {?}
*/
y.Ea = function() {
return tn(this, 16);
};
/**
* @param {string} a
* @return {undefined}
*/
y.ma = function(a) {
if (Vn(this, 16, a)) {
Yn(this, 16, a);
}
};
/**
* @param {boolean} c
* @return {undefined}
*/
y.hc = function(c) {
if (Vn(this, 32, c)) {
Yn(this, 32, c);
}
};
/**
* @param {boolean} a
* @return {undefined}
*/
y.Ja = function(a) {
if (Vn(this, 64, a)) {
Yn(this, 64, a);
}
};
/**
* @param {!Object} node
* @param {number} count
* @return {?}
*/
var tn = function(node, count) {
return !!(node.bc & count);
};
/**
* @param {!Object} arg
* @param {number} type
* @param {boolean} index
* @param {string} enableTimer
* @return {undefined}
*/
var Yn = function(arg, type, index, enableTimer) {
if (enableTimer || 1 != type) {
if (sn(arg, type) && index != tn(arg, type)) {
arg.c.rc(arg, type, index);
/** @type {number} */
arg.bc = index ? arg.bc | type : arg.bc & ~type;
}
} else {
arg.ba(!index);
}
};
/**
* @param {!Object} tagName
* @param {number} data
* @return {?}
*/
var sn = function(tagName, data) {
return !!(tagName.vd & data);
};
/**
* @param {number} n
* @param {boolean} b
* @return {undefined}
*/
Qn.prototype.Ba = function(n, b) {
if (this.sa && tn(this, n) && !b) {
throw Error(pa);
}
if (!b && tn(this, n)) {
Yn(this, n, false);
}
/** @type {number} */
this.vd = b ? this.vd | n : this.vd & ~n;
};
/**
* @param {!Object} span
* @param {number} code
* @return {?}
*/
var Zn = function(span, code) {
return !!(span.Ib & code) && sn(span, code);
};
/**
* @param {!Object} target
* @param {number} type
* @param {?} e
* @return {?}
*/
var Vn = function(target, type, e) {
return sn(target, type) && tn(target, type) != e && (!(target.ud & type) || target.dispatchEvent(Fl(type, e))) && !target.Ca;
};
y = Qn.prototype;
/**
* @param {!Object} arg
* @return {undefined}
*/
y.kf = function(arg) {
if ((!arg.c || !ti(this.l(), arg.c)) && this.dispatchEvent("enter") && this.isEnabled() && Zn(this, 2)) {
Xn(this, true);
}
};
/**
* @param {!Object} x
* @return {undefined}
*/
y.sf = function(x) {
if (!(x.c && ti(this.l(), x.c) || !this.dispatchEvent("leave"))) {
if (Zn(this, 4)) {
Wn(this, false);
}
if (Zn(this, 2)) {
Xn(this, false);
}
}
};
y.md = Ae;
/**
* @param {!Object} key
* @return {undefined}
*/
y.Za = function(key) {
if (this.isEnabled()) {
if (Zn(this, 2)) {
Xn(this, true);
}
if (Kj(key)) {
if (Zn(this, 4)) {
Wn(this, true);
}
if (this.c && this.c.hf(this)) {
this.l().focus();
}
}
}
if (!this.Bd && Kj(key)) {
key.preventDefault();
}
};
/**
* @param {!Object} node
* @return {undefined}
*/
y.ib = function(node) {
if (this.isEnabled()) {
if (Zn(this, 2)) {
Xn(this, true);
}
if (tn(this, 4) && this.Wb(node) && Zn(this, 4)) {
Wn(this, false);
}
}
};
/**
* @param {!Object} webcal
* @return {undefined}
*/
y.Gg = function(webcal) {
if (this.isEnabled()) {
this.Wb(webcal);
}
};
/**
* @param {!Object} event
* @return {?}
*/
y.Wb = function(event) {
if (Zn(this, 16)) {
this.ma(!this.Ea());
}
if (Zn(this, 8)) {
this.Kf(true);
}
if (Zn(this, 64)) {
this.Ja(!tn(this, 64));
}
var e = new T(p, this);
if (event) {
e.altKey = event.altKey;
e.ctrlKey = event.ctrlKey;
e.metaKey = event.metaKey;
e.shiftKey = event.shiftKey;
e.m = event.m;
}
return this.dispatchEvent(e);
};
/**
* @return {undefined}
*/
y.Xh = function() {
if (Zn(this, 32)) {
this.hc(true);
}
};
/**
* @return {undefined}
*/
y.Zd = function() {
if (Zn(this, 4)) {
Wn(this, false);
}
if (Zn(this, 32)) {
this.hc(false);
}
};
/**
* @param {!Event} key
* @return {?}
*/
y.Ka = function(key) {
return this.isVisible() && this.isEnabled() && this.tc(key) ? (key.preventDefault(), key.stopPropagation(), true) : false;
};
/**
* @param {!Event} key
* @return {?}
*/
y.tc = function(key) {
return 13 == key.keyCode && this.Wb(key);
};
if (!He(Qn)) {
throw Error("Invalid component class " + Qn);
}
if (!He(hn)) {
throw Error("Invalid renderer class " + hn);
}
var $n = Le(Qn);
Pn[$n] = hn;
On("goog-control", function() {
return new Qn(null);
});
/**
* @param {string} a
* @return {undefined}
*/
var Un = function(a) {
Aj.call(this);
/** @type {string} */
this.b = a;
/** @type {boolean} */
this.a = false;
this.c = new nk(this);
Cj(this, this.c);
a = this.b.D;
this.c.a(a, Vc, this.j).a(a, Zc, this.m).a(a, r, this.g);
};
C(Un, Aj);
var ao = !E || yh(9);
/**
* @return {undefined}
*/
Un.prototype.j = function() {
/** @type {boolean} */
this.a = false;
};
/**
* @return {undefined}
*/
Un.prototype.m = function() {
/** @type {boolean} */
this.a = true;
};
/**
* @param {!Object} options
* @param {string} type
* @return {?}
*/
var bo = function(options, type) {
if (!ao) {
return options.button = 0, options.type = type, options;
}
/** @type {(Event|null)} */
var event = document.createEvent("MouseEvents");
event.initMouseEvent(type, options.bubbles, options.cancelable, options.view || null, options.detail, options.screenX, options.screenY, options.clientX, options.clientY, options.ctrlKey, options.altKey, options.shiftKey, options.metaKey, 0, options.relatedTarget || null);
return event;
};
/**
* @param {string} key
* @return {undefined}
*/
Un.prototype.g = function(key) {
if (this.a) {
/** @type {boolean} */
this.a = false;
} else {
var event = key.b;
var button = event.button;
var explicitType = event.type;
var detailsText = bo(event, Vc);
this.b.Za(new Ij(detailsText, key.a));
detailsText = bo(event, Zc);
this.b.ib(new Ij(detailsText, key.a));
if (!ao) {
event.button = button;
event.type = explicitType;
}
}
};
/**
* @return {undefined}
*/
Un.prototype.J = function() {
/** @type {null} */
this.b = null;
Un.v.J.call(this);
};
var co = ue();
C(co, wn);
Be(co);
y = co.prototype;
y.Rb = ue();
/**
* @param {!Object} obj
* @return {?}
*/
y.Pa = function(obj) {
Sn(obj, false);
obj.Ib &= -256;
obj.Ba(32, false);
return obj.a.b(oa, {
"class" : nn(this, obj).join(" "),
disabled : !obj.isEnabled(),
title : obj.w || "",
value : obj.T() || ""
}, obj.Na() || "");
};
/**
* @param {!Object} a
* @return {?}
*/
y.Kc = function(a) {
return a.tagName == oa || a.tagName == ta && (a.type == Xa || "submit" == a.type || "reset" == a.type);
};
/**
* @param {!Object} b
* @param {!Object} n
* @return {?}
*/
y.R = function(b, n) {
Sn(b, false);
b.Ib &= -256;
b.Ba(32, false);
if (n.disabled) {
var a = this.a(1);
J(n, a);
}
return co.v.R.call(this, b, n);
};
/**
* @param {!Object} value
* @return {undefined}
*/
y.Ag = function(value) {
X(value).a(value.l(), r, value.Wb);
};
y.Yd = Ae;
y.jf = Ae;
/**
* @param {?} b
* @return {?}
*/
y.hf = function(b) {
return b.isEnabled();
};
y.Lc = Ae;
/**
* @param {!Object} args
* @param {number} typeName
* @param {boolean} name
* @return {undefined}
*/
y.rc = function(args, typeName, name) {
co.v.rc.call(this, args, typeName, name);
if ((args = args.l()) && 1 == typeName) {
/** @type {boolean} */
args.disabled = name;
}
};
/**
* @param {string} name
* @return {?}
*/
y.T = function(name) {
return name.value;
};
/**
* @param {string} key
* @param {string} name
* @return {undefined}
*/
y.Ud = function(key, name) {
if (key) {
/** @type {string} */
key.value = name;
}
};
y.Cb = Ae;
/**
* @param {?} activityId
* @param {?} name
* @param {?} entry__3995__auto__
* @return {undefined}
*/
var eo = function(activityId, name, entry__3995__auto__) {
Qn.call(this, activityId, name || co.M(), entry__3995__auto__);
};
C(eo, Qn);
y = eo.prototype;
y.T = w("Wa");
/**
* @param {boolean} factor
* @return {undefined}
*/
y.Vd = function(factor) {
/** @type {boolean} */
this.Wa = factor;
this.c.Ud(this.l(), factor);
};
/**
* @return {undefined}
*/
y.J = function() {
eo.v.J.call(this);
delete this.Wa;
delete this.w;
};
/**
* @return {undefined}
*/
y.V = function() {
eo.v.V.call(this);
if (sn(this, 32)) {
var type = this.l();
if (type) {
X(this).a(type, Kc, this.tc);
}
}
};
/**
* @param {!Object} key
* @return {?}
*/
y.tc = function(key) {
return 13 == key.keyCode && key.type == Hc || 32 == key.keyCode && key.type == Kc ? this.Wb(key) : 32 == key.keyCode;
};
On("goog-button", function() {
return new eo(null);
});
var fo = ue();
C(fo, wn);
Be(fo);
y = fo.prototype;
/**
* @param {!Object} a
* @return {?}
*/
y.Pa = function(a) {
var b = nn(this, a);
b = a.a.b(k, {
"class" : Hb + b.join(" ")
}, this.Id(a.Aa(), a.a));
xn(b, a.w);
return b;
};
y.Rb = x(Xa);
/**
* @param {!Object} element
* @return {?}
*/
y.hb = function(element) {
return element && element.firstChild && element.firstChild.firstChild;
};
/**
* @param {undefined} id
* @param {!Object} n
* @return {?}
*/
y.Id = function(id, n) {
return n.b(k, Hb + (this.S() + "-outer-box"), n.b(k, Hb + (this.S() + "-inner-box"), id));
};
/**
* @param {!Object} data
* @return {?}
*/
y.Kc = function(data) {
return data.tagName == k;
};
/**
* @param {!Object} args
* @param {!Object} n
* @return {?}
*/
y.R = function(args, n) {
go(n, true);
go(n, false);
var target;
a: {
target = args.a.pg(n);
var d = this.S() + "-outer-box";
if (target && Bh(target, d) && (target = args.a.pg(target), d = this.S() + "-inner-box", target && Bh(target, d))) {
/** @type {boolean} */
target = true;
break a;
}
/** @type {boolean} */
target = false;
}
if (!target) {
n.appendChild(this.Id(n.childNodes, args.a));
}
Ch(n, [Gb, this.S()]);
return fo.v.R.call(this, args, n);
};
y.S = x("goog-custom-button");
/**
* @param {!HTMLElement} element
* @param {boolean} fromStart
* @return {undefined}
*/
var go = function(element, fromStart) {
if (element) {
var node = fromStart ? element.firstChild : element.lastChild;
var next;
for (; node && node.parentNode == element;) {
next = fromStart ? node.nextSibling : node.previousSibling;
if (3 == node.nodeType) {
var path = node.nodeValue;
if ("" == We(path)) {
element.removeChild(node);
} else {
node.nodeValue = fromStart ? path.replace(/^[\s\xa0]+/, "") : path.replace(/[\s\xa0]+$/, "");
break;
}
} else {
break;
}
node = next;
}
}
};
/**
* @param {?} val
* @param {?} cx
* @param {?} text
* @return {undefined}
*/
var ho = function(val, cx, text) {
eo.call(this, val, cx || fo.M(), text);
this.Ba(16, true);
};
C(ho, eo);
On("goog-toggle-button", function() {
return new ho(null);
});
/**
* @param {string} req
* @param {string} res
* @param {number} socket
* @return {undefined}
*/
var io = function(req, res, socket) {
Aj.call(this);
/** @type {string} */
this.a = req;
this.j = res || 0;
/** @type {number} */
this.c = socket;
this.g = A(this.b, this);
};
C(io, Aj);
/** @type {number} */
io.prototype.Ga = 0;
/**
* @return {undefined}
*/
io.prototype.J = function() {
io.v.J.call(this);
jo(this);
delete this.a;
delete this.c;
};
/**
* @param {!Object} e
* @param {number} n
* @return {undefined}
*/
var ko = function(e, n) {
jo(e);
e.Ga = cl(e.g, xe(n) ? n : e.j);
};
/**
* @param {!Object} value
* @return {undefined}
*/
var jo = function(value) {
if (0 != value.Ga) {
dl(value.Ga);
}
/** @type {number} */
value.Ga = 0;
};
/**
* @return {undefined}
*/
io.prototype.b = function() {
/** @type {number} */
this.Ga = 0;
if (this.a) {
this.a.call(this.c);
}
};
/**
* @param {string} str
* @return {?}
*/
var no = function(str) {
return lf(We(str.replace(lo, function(a, text) {
return mo.test(text) ? "" : " ";
}).replace(/[\t\n ]+/g, " ")));
};
/** @type {!RegExp} */
var mo = /^(?:abbr|acronym|address|b|em|i|small|strong|su[bp]|u)$/i;
/** @type {!RegExp} */
var lo = /<[!\/]?([a-z0-9]+)([\/ ][^>]*)?>/gi;
/**
* @param {number} m
* @param {number} l
* @param {string} target
* @param {!Object} type
* @param {!Object} c
* @param {string} t
* @param {number} seed
* @param {string} index
* @param {!Object} n
* @return {?}
*/
var ro = function(m, l, target, type, c, t, seed, index, n) {
var rect = oo(target);
var r = ij(m);
var a = aj(m);
if (a) {
var p = new Oi(a.left, a.top, a.right - a.left, a.bottom - a.top);
/** @type {number} */
a = Math.max(r.left, p.left);
/** @type {number} */
var elem = Math.min(r.left + r.width, p.left + p.width);
if (a <= elem) {
/** @type {number} */
var h = Math.max(r.top, p.top);
/** @type {number} */
p = Math.min(r.top + r.height, p.top + p.height);
if (h <= p) {
/** @type {number} */
r.left = a;
/** @type {number} */
r.top = h;
/** @type {number} */
r.width = elem - a;
/** @type {number} */
r.height = p - h;
}
}
}
a = Qh(m);
h = Qh(target);
if (a.a != h.a) {
elem = a.a.body;
h = Ki(h);
p = new L(0, 0);
var currentWin = $h(Ph(elem));
if (Qi(currentWin, "parent")) {
var currentEl = elem;
do {
var pc = currentWin == h ? $i(currentEl) : dj(currentEl);
p.x += pc.x;
p.y += pc.y;
} while (currentWin && currentWin != h && currentWin != currentWin.parent && (currentEl = currentWin.frameElement) && (currentWin = currentWin.parent));
}
elem = Fh(p, $i(elem));
if (!(!E || yh(9) || Wh(a.a))) {
elem = Fh(elem, Zh(a.a));
}
r.left += elem.x;
r.top += elem.y;
}
m = po(m, l);
l = r.left;
if (m & 4) {
l = l + r.width;
} else {
if (m & 2) {
l = l + r.width / 2;
}
}
r = new L(l, r.top + (m & 1 ? r.height : 0));
r = Fh(r, rect);
if (c) {
r.x += (m & 4 ? -1 : 1) * c.x;
r.y += (m & 1 ? -1 : 1) * c.y;
}
var position;
if (seed) {
if (n) {
/** @type {!Object} */
position = n;
} else {
if (position = aj(target)) {
position.top -= rect.y;
position.right -= rect.x;
position.bottom -= rect.y;
position.left -= rect.x;
}
}
}
return qo(r, target, type, t, position, seed, index);
};
/**
* @param {!Object} target
* @return {?}
*/
var oo = function(target) {
var finalConf;
if (target = target.offsetParent) {
/** @type {boolean} */
var id = "HTML" == target.tagName || "BODY" == target.tagName;
if (!(id && "static" == Ui(target, ld))) {
finalConf = $i(target);
if (!id) {
id = (id = nj(target)) && ih ? -target.scrollLeft : !id || hh && I("8") || Ui(target, "overflowX") == me ? target.scrollLeft : target.scrollWidth - target.clientWidth - target.scrollLeft;
finalConf = Fh(finalConf, new L(id, target.scrollTop));
}
}
}
return finalConf || new L;
};
/**
* @param {!Object} el
* @param {!Object} p
* @param {?} size
* @param {!Object} e
* @param {!Object} pos
* @param {number} a
* @param {!Object} data
* @return {?}
*/
var qo = function(el, p, size, e, pos, a, data) {
el = el.clone();
var view = po(p, size);
size = hj(p);
data = data ? data.clone() : size.clone();
el = el.clone();
data = data.clone();
/** @type {number} */
var end = 0;
if (e || 0 != view) {
if (view & 4) {
el.x -= data.width + (e ? e.right : 0);
} else {
if (view & 2) {
el.x -= data.width / 2;
} else {
if (e) {
el.x += e.left;
}
}
}
if (view & 1) {
el.y -= data.height + (e ? e.bottom : 0);
} else {
if (e) {
el.y += e.top;
}
}
}
if (a) {
if (pos) {
/** @type {!Object} */
e = el;
/** @type {!Object} */
view = data;
/** @type {number} */
end = 0;
if (65 == (a & 65) && (e.x < pos.left || e.x >= pos.right)) {
/** @type {number} */
a = a & -2;
}
if (132 == (a & 132) && (e.y < pos.top || e.y >= pos.bottom)) {
/** @type {number} */
a = a & -5;
}
if (e.x < pos.left && a & 1) {
e.x = pos.left;
/** @type {number} */
end = end | 1;
}
if (a & 16) {
var x = e.x;
if (e.x < pos.left) {
e.x = pos.left;
/** @type {number} */
end = end | 4;
}
if (e.x + view.width > pos.right) {
/** @type {number} */
view.width = Math.min(pos.right - e.x, x + view.width - pos.left);
/** @type {number} */
view.width = Math.max(view.width, 0);
/** @type {number} */
end = end | 4;
}
}
if (e.x + view.width > pos.right && a & 1) {
/** @type {number} */
e.x = Math.max(pos.right - view.width, pos.left);
/** @type {number} */
end = end | 1;
}
if (a & 2) {
/** @type {number} */
end = end | ((e.x < pos.left ? 16 : 0) | (e.x + view.width > pos.right ? 32 : 0));
}
if (e.y < pos.top && a & 4) {
e.y = pos.top;
/** @type {number} */
end = end | 2;
}
if (a & 32) {
x = e.y;
if (e.y < pos.top) {
e.y = pos.top;
/** @type {number} */
end = end | 8;
}
if (e.y + view.height > pos.bottom) {
/** @type {number} */
view.height = Math.min(pos.bottom - e.y, x + view.height - pos.top);
/** @type {number} */
view.height = Math.max(view.height, 0);
/** @type {number} */
end = end | 8;
}
}
if (e.y + view.height > pos.bottom && a & 4) {
/** @type {number} */
e.y = Math.max(pos.bottom - view.height, pos.top);
/** @type {number} */
end = end | 2;
}
if (a & 8) {
/** @type {number} */
end = end | ((e.y < pos.top ? 64 : 0) | (e.y + view.height > pos.bottom ? 128 : 0));
}
/** @type {number} */
pos = end;
} else {
/** @type {number} */
pos = 256;
}
/** @type {!Object} */
end = pos;
}
a = new Oi(0, 0, 0, 0);
a.left = el.x;
a.top = el.y;
a.width = data.width;
a.height = data.height;
/** @type {number} */
pos = end;
if (pos & 496) {
return pos;
}
Wi(p, new L(a.left, a.top));
data = new Gh(a.width, a.height);
if (!Hh(size, data)) {
/** @type {!Object} */
size = data;
data = Ph(p);
el = Wh(Qh(data).a);
if (!E || I("10") || el && I("8")) {
qj(p, size, Wa);
} else {
data = p.style;
if (el) {
el = uj(p);
p = xj(p);
/** @type {number} */
data.pixelWidth = size.width - p.left - el.left - el.right - p.right;
/** @type {number} */
data.pixelHeight = size.height - p.top - el.top - el.bottom - p.bottom;
} else {
data.pixelWidth = size.width;
data.pixelHeight = size.height;
}
}
}
return pos;
};
/**
* @param {!Object} v
* @param {number} type
* @return {?}
*/
var po = function(v, type) {
return (type & 8 && nj(v) ? type ^ 4 : type) & -9;
};
var so = ue();
so.prototype.a = ue();
/**
* @param {string} c
* @param {?} kind
* @return {undefined}
*/
var to = function(c, kind) {
/** @type {string} */
this.g = c;
/** @type {boolean} */
this.o = !!kind;
this.m = {
0 : this.g + "-arrowright",
1 : this.g + "-arrowup",
2 : this.g + "-arrowdown",
3 : this.g + "-arrowleft"
};
};
C(to, so);
y = to.prototype;
/** @type {boolean} */
y.oe = false;
/** @type {number} */
y.Re = 2;
/** @type {number} */
y.Wf = 20;
/** @type {number} */
y.Te = 3;
/** @type {number} */
y.Af = -5;
/** @type {boolean} */
y.Ne = false;
/**
* @param {?} context
* @param {number} firstTime
* @param {number} result
* @param {string} data
* @return {undefined}
*/
var uo = function(context, firstTime, result, data) {
if (null != firstTime) {
/** @type {number} */
context.Te = firstTime;
}
if (null != result) {
/** @type {number} */
context.Re = result;
}
if (Ge(void 0)) {
/** @type {number} */
context.Wf = Math.max(void 0, 15);
}
if (Ge(data)) {
/** @type {string} */
context.Af = data;
}
};
/**
* @param {number} name
* @param {string} type
* @param {!Function} str
* @return {undefined}
*/
to.prototype.a = function(name, type, str) {
name = this.Re;
if (2 == name) {
/** @type {number} */
name = 0;
}
vo(this, this.Te, name, 2 == this.Re ? wo(this.Te) ? this.c.offsetHeight / 2 : this.c.offsetWidth / 2 : this.Wf, 0, str);
};
/**
* @param {!Object} a
* @param {number} m
* @param {number} e
* @param {number} buffer
* @param {number} number
* @param {string} i
* @return {undefined}
*/
var vo = function(a, m, e, buffer, number, i) {
if (a.b) {
var x = xo(m, e);
var t;
var n = a.b;
t = hj(n);
/** @type {number} */
t = (wo(m) ? t.height / 2 : t.width / 2) - buffer;
var b = po(n, x);
var o;
if (o = aj(n)) {
n = ij(n);
n = new Ni(n.top, n.left + n.width, n.top + n.height, n.left);
if (wo(m)) {
if (n.top < o.top && !(b & 1)) {
/** @type {number} */
t = t - (o.top - n.top);
} else {
if (n.bottom > o.bottom && b & 1) {
/** @type {number} */
t = t - (n.bottom - o.bottom);
}
}
} else {
if (n.left < o.left && !(b & 4)) {
/** @type {number} */
t = t - (o.left - n.left);
} else {
if (n.right > o.right && b & 4) {
/** @type {number} */
t = t - (n.right - o.right);
}
}
}
}
t = wo(m) ? new L(a.Af, t) : new L(t, a.Af);
/** @type {number} */
b = wo(m) ? 6 : 9;
if (a.Ne && 2 == number) {
/** @type {number} */
b = wo(m) ? 4 : 1;
}
/** @type {number} */
o = m ^ 3;
if (wo(m) && a.b.dir == sd) {
/** @type {number} */
o = m;
}
x = ro(a.b, xo(o, e), a.c, x, t, i, a.oe ? b : 0, void 0, null);
if (2 != number && x & 496) {
vo(a, m ^ 3, e, buffer, a.Ne && 0 == number ? 1 : 2, i);
return;
}
if (!(!a.o || x & 496)) {
/** @type {number} */
number = parseFloat(a.c.style.left);
/** @type {number} */
i = parseFloat(a.c.style.top);
if (!(isFinite(number) && 0 == number % 1 && isFinite(i) && 0 == i % 1)) {
Wi(a.c, Math.round(number), Math.round(i));
}
}
}
yo(a, m, e, buffer);
};
/**
* @param {!Object} a
* @param {number} i
* @param {number} n
* @param {number} d
* @return {undefined}
*/
var yo = function(a, i, n, d) {
var c = a.j;
Nf(a.m, function(a) {
Eh(c, a, false);
}, a);
J(c, a.m[i]);
/** @type {string} */
c.style.top = c.style.left = c.style.right = c.style.bottom = "";
if (a.b) {
n = cj(a.b, a.c);
d = zo(a.b, i);
if (wo(i)) {
c.style.top = Ao(n.y + d.y, a.c.offsetHeight - 15) + md;
} else {
c.style.left = Ao(n.x + d.x, a.c.offsetWidth - 15) + md;
}
} else {
c.style[0 == n ? wo(i) ? "top" : Pc : wo(i) ? "bottom" : qd] = d + md;
}
};
/**
* @param {?} a
* @param {number} opt_max
* @return {?}
*/
var Ao = function(a, opt_max) {
return 15 > opt_max ? 15 : Math.min(Math.max(a, 15), opt_max);
};
/**
* @param {number} a
* @param {number} b
* @return {?}
*/
var xo = function(a, b) {
switch(a) {
case 2:
return 0 == b ? 1 : 5;
case 1:
return 0 == b ? 0 : 4;
case 0:
return 0 == b ? 12 : 13;
default:
return 0 == b ? 8 : 9;
}
};
/**
* @param {!Object} b
* @param {number} bidx
* @return {?}
*/
var zo = function(b, bidx) {
/** @type {number} */
var width = 0;
/** @type {number} */
var height = 0;
var reply = hj(b);
switch(bidx) {
case 2:
/** @type {number} */
width = reply.width / 2;
break;
case 1:
/** @type {number} */
width = reply.width / 2;
height = reply.height;
break;
case 0:
/** @type {number} */
height = reply.height / 2;
break;
case 3:
width = reply.width;
/** @type {number} */
height = reply.height / 2;
}
return new L(width, height);
};
/**
* @param {number} method
* @return {?}
*/
var wo = function(method) {
return 0 == method || 3 == method;
};
/**
* @param {string} b
* @return {undefined}
*/
var Bo = function(b) {
Aj.call(this);
this.b = b || Qh();
};
C(Bo, Aj);
/**
* @return {undefined}
*/
Bo.prototype.j = function() {
cn(this.l(), "tooltip");
dn(this.l(), "live", "polite");
};
/**
* @param {?} value
* @return {undefined}
*/
var Do = function(value) {
Bo.call(this, value);
this.a = this.b.b(qb, Co() + "-contentId");
this.c = this.b.b(qb, Co() + "-arrow", this.b.b(qb, Co() + "-arrowimplbefore"), this.b.b(qb, Co() + "-arrowimplafter"));
this.g = this.b.b(qb, {
"class" : Co(),
role : "tooltip"
}, this.a, this.c);
this.j();
};
C(Do, Bo);
var Co = x("jfk-tooltip");
Do.prototype.l = w("g");
/**
* @return {undefined}
*/
Do.prototype.J = function() {
if (this.g) {
mi(this.g);
}
};
/**
* @param {?} p1__3354_SHARP_
* @return {undefined}
*/
var Eo = function(p1__3354_SHARP_) {
Do.call(this, p1__3354_SHARP_);
};
C(Eo, Do);
/**
* @return {undefined}
*/
Eo.prototype.j = function() {
cn(this.l(), "tooltip");
};
/**
* @param {!Object} callback
* @param {string} path
* @return {undefined}
*/
var Go = function(callback, path) {
Fo(callback, path, void 0);
};
/**
* @param {!Object} n
* @return {undefined}
*/
var Ho = function(n) {
var QueryLanguageComponent = n.getAttribute(Xd);
if (QueryLanguageComponent) {
Fo(n, QueryLanguageComponent);
}
};
/**
* @param {!Object} a
* @param {string} b
* @param {!Object} r
* @return {undefined}
*/
var Fo = function(a, b, r) {
if (!r) {
r = b instanceof Fg ? no(Gg(b)) : b;
}
a.removeAttribute(Xd);
a.removeAttribute(ib);
a.removeAttribute(fb);
if (b) {
if (b instanceof Fg) {
/** @type {string} */
a.b = b;
} else {
a.setAttribute(fb, b);
/** @type {null} */
a.b = null;
}
a.setAttribute("aria-label", r);
} else {
/** @type {null} */
a.b = null;
a.removeAttribute("aria-label");
}
a = Qh(a) || Qh();
b = Le(a.a);
if (!Io[b]) {
Io[b] = new Jo(a);
}
};
/**
* @param {!Object} ctx
* @return {undefined}
*/
var Ko = function(ctx) {
ctx.setAttribute(hb, "t,c");
};
/**
* @param {boolean} isIron
* @return {undefined}
*/
var Lo = function(isIron) {
var s = M(bc);
if (isIron) {
s.setAttribute(jb, ie);
} else {
s.removeAttribute(jb);
}
};
var Io = {};
/**
* @param {string} z
* @return {undefined}
*/
var Jo = function(z) {
nk.call(this);
/** @type {string} */
this.G = z;
this.K = new io(this.P, 0, this);
Cj(this, this.K);
var attr = $h();
this.B = He(attr.MutationObserver) ? new attr.MutationObserver(A(this.I, this)) : null;
z = z.a;
this.a(z, [Xc, Vc, r, Va, Hj, Ic], this.H, true);
this.a(z, [Yc, wb, Gj], this.N, true);
};
C(Jo, nk);
/**
* @return {undefined}
*/
Jo.prototype.J = function() {
Mo(this);
Jo.v.J.call(this);
};
/**
* @param {?} query
* @param {string} fn
* @return {undefined}
*/
var No = function(query, fn) {
switch(fn.type) {
case Vc:
case Yc:
case Xc:
case r:
/** @type {boolean} */
query.A = false;
break;
case Ic:
/** @type {boolean} */
query.A = true;
}
};
/**
* @param {string} key
* @return {undefined}
*/
Jo.prototype.N = function(key) {
if (this.B) {
this.B.disconnect();
}
No(this, key);
var node = key.target;
/** @type {boolean} */
key = key.type == wb || key.type == Gj;
var c = this.c && ti(this.c.a, node);
if (this.A || !key || c) {
/** @type {string} */
this.L = key;
if (key = node && node.getAttribute && this.B) {
key = node.getAttribute(rd) || null;
key = Ef(bn, key);
}
if (key) {
this.B.observe(node, {
attributes : true
});
if (key = fn(node)) {
/** @type {string} */
node = key;
}
}
this.j = node;
} else {
/** @type {null} */
this.j = null;
}
Oo(this);
};
/**
* @param {string} key
* @return {undefined}
*/
Jo.prototype.H = function(key) {
No(this, key);
var id = key.target;
/** @type {boolean} */
key = key.type == Vc || key.type == r;
id = this.c && ti(this.c.a, id);
if (!(key && id)) {
/** @type {null} */
this.j = null;
Oo(this);
}
};
/**
* @param {string} name
* @return {undefined}
*/
Jo.prototype.I = function(name) {
xf(name, A(function(event) {
var b = fn(event.target);
if (b && event.attributeName == Na) {
this.j = b;
Oo(this);
}
}, this));
};
/**
* @param {!Object} global
* @return {undefined}
*/
var Oo = function(global) {
Mo(global);
ko(global.K, global.g ? 50 : 300);
};
/**
* @param {!Object} global
* @return {undefined}
*/
var Mo = function(global) {
if (global.C) {
dl(global.C);
/** @type {number} */
global.C = 0;
/** @type {null} */
global.g = null;
}
};
/**
* @return {undefined}
*/
Jo.prototype.P = function() {
if (!this.j) {
Po(this);
/** @type {null} */
this.g = null;
} else {
if (!(this.g && this.c && ti(this.c.l(), this.j)) || this.g.getAttribute("data-tooltip-unhoverable")) {
var t = Hi(this.j, function(b) {
return b.getAttribute && (b.getAttribute(ib) || b.getAttribute(fb) || b.b) && !b.getAttribute(jb);
});
/** @type {boolean} */
var g = false;
if (this.g && this.g != t) {
Po(this);
/** @type {null} */
this.g = null;
/** @type {boolean} */
g = true;
}
if (!this.g && t && (this.g = t, Qo(this, t))) {
var j = Qg;
if (t.getAttribute(ib)) {
var c = Th("jfk-tooltip-data", t);
/** @type {number} */
var i = 0;
for (; i < c.length; i++) {
if (c[i].parentNode == t) {
j = c[i].cloneNode(true);
break;
}
}
} else {
j = t.b ? t.b : Jg(t.getAttribute(fb));
}
c = t.getAttribute(hb);
i = t.getAttribute("data-tooltip-class");
var key = t.getAttribute("data-tooltip-offset");
/** @type {number} */
key = Te(pf(key)) ? -1 : Number(key);
if (!g && (t = t.getAttribute("data-tooltip-delay"), t = Math.max(0, t - 300))) {
this.C = cl(Oe(this.O, this.g, j, c, key, i), t, this);
return;
}
this.O(this.g, j, c, key, i);
}
}
}
};
/**
* @param {?} value
* @param {!Element} elem
* @return {?}
*/
var Qo = function(value, elem) {
return elem.getAttribute("data-tooltip-only-on-overflow") && elem.offsetWidth >= elem.scrollWidth && elem.offsetHeight >= elem.scrollHeight || value.L && "mouse" == elem.getAttribute("data-tooltip-trigger") ? false : true;
};
/**
* @param {string} bstr
* @return {?}
*/
var Ro = function(bstr) {
if (bstr) {
switch(bstr.toLowerCase().split(",")[0]) {
case "l":
return 0;
case "t":
return 2;
case "r":
return 3;
}
}
return 1;
};
/**
* @param {string} key
* @param {!Object} name
* @param {string} b
* @param {string} input
* @param {number} x
* @return {undefined}
*/
Jo.prototype.O = function(key, name, b, input, x) {
/** @type {number} */
this.C = 0;
if (!this.c) {
this.c = new Eo(this.G);
Po(this);
this.G.a.body.appendChild(this.c.l());
Cj(this, this.c);
this.m = new to(Co(), true);
/** @type {boolean} */
this.m.oe = true;
/** @type {boolean} */
this.m.Ne = true;
var c = this.m;
var j = this.c.c;
c.c = this.c.l();
c.j = j;
}
a: {
if (b) {
switch(b.toLowerCase().split(",")[1]) {
case "l":
/** @type {number} */
c = 0;
break a;
case "r":
/** @type {number} */
c = 1;
break a;
}
}
/** @type {number} */
c = 2;
}
uo(this.m, Ro(b), c, input);
K(this.c.l(), Gc);
if (this.w != x) {
if (this.w && !Te(pf(this.w))) {
K(this.c.l(), this.w);
}
if (!Te(pf(x))) {
J(this.c.l(), x);
}
/** @type {number} */
this.w = x;
}
Wi(this.c.l(), 0, 0);
if (name instanceof Fg) {
Nh(this.c.a, name);
} else {
ji(this.c.a);
for (; b = name.firstChild;) {
this.c.a.appendChild(b);
}
}
/** @type {string} */
this.m.b = key;
this.m.a(null, 0);
};
/**
* @param {!Object} color
* @return {undefined}
*/
var Po = function(color) {
if (color.c) {
J(color.c.l(), Gc);
}
};
/**
* @param {?} a
* @param {string} b
* @param {?} result
* @param {?} entry__3995__auto__
* @return {undefined}
*/
var So = function(a, b, result, entry__3995__auto__) {
ho.call(this, a, result || wn.M(), entry__3995__auto__);
this.A = a;
this.b = b || null;
};
C(So, ho);
/**
* @param {string} a
* @return {undefined}
*/
So.prototype.ma = function(a) {
So.v.ma.call(this, a);
if (null != this.b) {
this.g(this.Ea() ? this.b : this.A);
}
};
/**
* @param {?} time
* @param {?} el
* @param {?} property
* @param {?} opt
* @param {?} value
* @return {undefined}
*/
var To = function(time, el, property, opt, value) {
So.call(this, time, property, opt, value);
this.I = el;
};
C(To, So);
/**
* @param {string} a
* @return {undefined}
*/
To.prototype.ma = function(a) {
To.v.ma.call(this, a);
S(this.I, this.Ea());
};
var Uo = ve("g");
C(Uo, wn);
/**
* @param {!Object} a
* @return {?}
*/
Uo.prototype.Pa = function(a) {
var document = a.a.b(qb, nn(this, a).join(" "));
var version = a.a.b(Hd);
var d = a.a.b(Hd);
if (this.g) {
J(document, this.g);
}
J(document, Ec);
d.className = Cc;
version.className = Bc;
document.appendChild(version);
if (a.Aa()) {
document.appendChild(d);
this.zb(document, a.Aa());
} else {
J(document, Dc);
}
return document;
};
/**
* @param {!Node} node
* @param {string} selector
* @return {undefined}
*/
Uo.prototype.zb = function(node, selector) {
if (node) {
var element = xe(node.lastElementChild) ? node.lastElementChild : oi(node.lastChild, false);
if (element) {
Q(element, selector);
}
}
};
Uo.prototype.S = x("jfk-button");
/**
* @param {!Object} a
* @param {!HTMLElement} b
* @return {?}
*/
Uo.prototype.R = function(a, b) {
var c = a.a.b(Hd);
var d = a.a.b(Hd);
if (this.g) {
J(b, this.g);
}
J(b, Ec);
d.className = Cc;
c.className = Bc;
ji(b);
b.appendChild(c);
if (a.Aa()) {
b.appendChild(d);
this.zb(b, a.Aa());
} else {
J(b, Dc);
}
return b = Uo.v.R.call(this, a, b);
};
/**
* @param {string} g
* @param {string} margin
* @return {undefined}
*/
var Vo = function(g, margin) {
/** @type {string} */
this.g = g;
this.j = margin || false;
};
C(Vo, wn);
/**
* @param {!Object} a
* @return {?}
*/
Vo.prototype.Pa = function(a) {
var document = a.a.b(qb, nn(this, a).join(" ") + " goog-inline-block");
var version = a.a.b(Hd);
if (this.g) {
J(document, this.g);
}
version.className = Bc;
document.appendChild(version);
if (a.Aa()) {
this.zb(document, a.Aa());
}
return document;
};
/**
* @param {!Element} a
* @param {string} fn
* @return {undefined}
*/
Vo.prototype.zb = function(a, fn) {
if (a && !this.j) {
Go(a, fn);
Ko(a);
}
};
Vo.prototype.S = x("goog-toolbar-button");
/**
* @param {!Object} a
* @param {!HTMLElement} b
* @return {?}
*/
Vo.prototype.R = function(a, b) {
var c = a.a.b(Hd);
if (this.g) {
J(b, this.g);
}
c.className = Bc;
ji(b);
b.appendChild(c);
if (a.Aa()) {
this.zb(b, a.Aa());
}
return b = Vo.v.R.call(this, a, b);
};
/**
* @param {number} startIndex
* @return {?}
*/
var Wo = function(startIndex) {
return 32 >= startIndex || 4096 <= startIndex && (8192 <= startIndex && 8198 >= startIndex || 8200 <= startIndex && 8203 >= startIndex || 5760 == startIndex || 6158 == startIndex || 8232 == startIndex || 8233 == startIndex || 8287 == startIndex || 12288 == startIndex);
};
/**
* @param {string} a
* @return {?}
*/
var Zo = function(a) {
/** @type {function(?, number): ?} */
var linkSourceIsNode = Xo;
if (15 > a.length) {
return a;
}
/** @type {!Array} */
var gallerysb = [];
/** @type {number} */
var d = 0;
/** @type {number} */
var b = 0;
/** @type {number} */
var f = 0;
/** @type {number} */
var g = 0;
/** @type {number} */
var i = 0;
for (; i < a.length; i++) {
var m = g;
g = a.charCodeAt(i);
/** @type {boolean} */
m = 768 <= g && !linkSourceIsNode(m, g, true);
if (15 <= d && !Wo(g) && !m) {
gallerysb.push(a.substring(f, i), Yo);
/** @type {number} */
f = i;
/** @type {number} */
d = 0;
}
if (b) {
if (62 == g && 60 == b) {
/** @type {number} */
b = 0;
} else {
if (59 == g && 38 == b) {
/** @type {number} */
b = 0;
d++;
}
}
} else {
if (60 == g || 38 == g) {
b = g;
} else {
if (Wo(g)) {
/** @type {number} */
d = 0;
} else {
if (!(8204 <= g && 8207 >= g || 8234 <= g && 8238 >= g)) {
d++;
}
}
}
}
}
gallerysb.push(a.substr(f));
return gallerysb.join("");
};
/**
* @param {?} prop
* @param {number} val
* @return {?}
*/
var Xo = function(prop, val) {
return 1024 <= val && 1315 > val;
};
var $o = E && I(8);
/** @type {string} */
var Yo = G ? "<wbr></wbr>" : fh ? "&shy;" : $o ? "&#8203;" : "<wbr>";
var ap = {};
var bp = {};
var cp = {};
/**
* @return {?}
*/
var dp = function() {
throw Error("Do not instantiate directly");
};
/** @type {null} */
dp.prototype.ad = null;
dp.prototype.Aa = w("content");
dp.prototype.toString = w("content");
/**
* @param {string} data
* @return {?}
*/
var ep = function(data) {
if (data.Kb === cp) {
return Ig(data.toString());
}
if (data.Kb !== ap) {
throw Error("Sanitized content was not of kind TEXT or HTML.");
}
var i = mg("Soy SanitizedContent of kind HTML produces SafeHtml-contract-compliant value.");
var valueProgess = data.toString();
data = data.ad;
lg(i);
lg(i);
return Hg(valueProgess, data || null);
};
/**
* @return {undefined}
*/
var fp = function() {
dp.call(this);
};
C(fp, dp);
/**
* @param {!Function} Constructor
* @param {?} object
* @return {?}
*/
var ip = function(Constructor, object) {
var clonedI = Qh();
var args = Constructor(object || gp, void 0, void 0);
var margs = hp(args);
if (args instanceof dp) {
args = ep(args);
} else {
Li();
args = Hg(margs, null);
}
return fi(clonedI.a, args);
};
/**
* @param {string} p
* @param {?} value
* @param {!Object} d
* @param {!Object} c
* @return {?}
*/
var jp = function(p, value, d, c) {
a: {
if (p = p(value || gp, void 0, d), c = Ji(c || Qh(), k), p = hp(p), c.innerHTML = p, 1 == c.childNodes.length && (p = c.firstChild, 1 == p.nodeType)) {
/** @type {string} */
c = p;
break a;
}
}
return c;
};
/**
* @param {!Object} val
* @return {?}
*/
var hp = function(val) {
if (!Ie(val)) {
return String(val);
}
if (val instanceof dp) {
if (val.Kb === ap) {
return val.Aa();
}
if (val.Kb === cp) {
return hf(val.Aa());
}
}
return "zSoyz";
};
var gp = {};
/**
* @param {string} result
* @return {?}
*/
var kp = function(result) {
if (null != result) {
switch(result.ad) {
case 1:
return 1;
case -1:
return -1;
case 0:
return 0;
}
}
return null;
};
/**
* @return {undefined}
*/
var lp = function() {
dp.call(this);
};
C(lp, dp);
lp.prototype.Kb = ap;
/**
* @param {string} obj
* @return {?}
*/
var Z = function(obj) {
return null != obj && obj.Kb === ap ? obj : obj instanceof Fg ? mp(Gg(obj), obj.oc()) : mp(hf(String(String(obj))), kp(obj));
};
/**
* @param {?} template
* @param {string} isBounding
* @return {undefined}
*/
var np = function(template, isBounding) {
/** @type {string} */
this.content = String(template);
this.ad = null != isBounding ? isBounding : null;
};
C(np, fp);
np.prototype.Kb = cp;
var mp = function(WebSocket) {
/**
* @param {string} text
* @return {undefined}
*/
function ws(text) {
/** @type {string} */
this.content = text;
}
ws.prototype = WebSocket.prototype;
return function(slackName, context) {
var callback = new ws(String(slackName));
if (void 0 !== context) {
/** @type {string} */
callback.ad = context;
}
return callback;
};
}(lp);
/**
* @param {!Function} op
* @param {?} callback
* @return {?}
*/
var op = function(op, callback) {
return jp(op, callback, void 0, new Oh(void 0));
};
(function(WebSocket) {
/**
* @param {string} text
* @return {undefined}
*/
function ws(text) {
/** @type {string} */
this.content = text;
}
ws.prototype = WebSocket.prototype;
return function(a, val) {
/** @type {string} */
var url = String(a);
if (!url) {
return "";
}
url = new ws(url);
if (void 0 !== val) {
/** @type {string} */
url.ad = val;
}
return url;
};
})(lp);
/**
* @param {?} msg
* @return {?}
*/
var tp = function(msg) {
return null != msg && msg.Kb === ap ? String(String(msg.Aa()).replace(pp, "").replace(qp, "&lt;")).replace(rp, sp) : hf(String(msg));
};
/**
* @param {string} value
* @return {?}
*/
var xp = function(value) {
if (null != value && value.Kb === bp) {
return value.Aa().replace(/([^"'\s])$/, "$1 ");
}
/** @type {string} */
value = String(value);
/** @type {string} */
value = up.test(value) ? value : "zSoyz";
return value;
};
/**
* @param {?} data
* @return {?}
*/
var yp = function(data) {
return null != data && data.Kb === cp ? (data.Aa(), "zSoyz") : data;
};
var zp = {
"\x00" : "&#0;",
"\t" : "&#9;",
"\n" : "&#10;",
"\x0B" : "&#11;",
"\f" : "&#12;",
"\r" : "&#13;",
" " : "&#32;",
'"' : "&quot;",
"&" : "&amp;",
"'" : "&#39;",
"-" : "&#45;",
"/" : "&#47;",
"<" : "&lt;",
"=" : "&#61;",
">" : "&gt;",
"`" : "&#96;",
"\u0085" : "&#133;",
"\u00a0" : "&#160;",
"\u2028" : "&#8232;",
"\u2029" : "&#8233;"
};
/**
* @param {?} s
* @return {?}
*/
var sp = function(s) {
return zp[s];
};
/** @type {!RegExp} */
var rp = /[\x00\x22\x27\x3c\x3e]/g;
/** @type {!RegExp} */
var up = /^(?!on|src|(?:style|action|archive|background|cite|classid|codebase|data|dsync|href|longdesc|usemap)\s*$)(?:[a-z0-9_$:-]*)$/i;
/** @type {!RegExp} */
var pp = /<(?:!|\/?([a-zA-Z][a-zA-Z0-9:\-]*))(?:[^>'"]|"[^"]*"|'[^']*')*>/g;
/** @type {!RegExp} */
var qp = /</g;
/**
* @param {?} sf
* @return {?}
*/
var Ap = function(sf) {
return '<div id="gt-apb-pb" style="display:none"><div id="gt-pb-tt">' + Z(sf.Df) + '</div><div id="gt-apb-pb-r"><input id="gt-pb-sb" type="text"><div id="pb-back-c" class="goog-inline-block"></div><button id="gt-pb-sbt" class="jfk-button jfk-button-action"><span class="jfk-button-img"></span></button><div id="gt-pb-sw2" class="goog-inline-block"></div></div></div>';
};
/**
* @param {?} a
* @return {?}
*/
var Bp = function(a) {
return '<div id="gt-pb-c" style="display:none"><div id="gt-pb"><div id="gt-pb-pt">' + Z(a.Df) + '</div><div id="pb-tool" class="goog-toolbar"><div id="pb-cb-a" class="goog-inline-block"></div><div id="pb-dd" class="goog-inline-block"><div id="pb-ls"></div><div class="goog-toolbar-separator goog-inline-block"></div><div id="pb-st"></div></div><div id="pb-sh" class="goog-inline-block" style="display:none"></div><div class="goog-toolbar-separator goog-inline-block" id="pb-sp-del" style="display:none"></div><div id="pb-del-c" class="goog-inline-block"></div><div id="pb-tool-r" class="goog-inline-block"></div></div><div id="pb-tb-c" class="jfk-scrollbar-borderless"><div id="gt-pb-spin" style="display:none"></div><div id="pb-empty"></div><table id="gt-pb-tb"><colgroup><col><col><col width="50%"><col><col width="50%"></colgroup><table></div></div></div>';
};
/**
* @param {?} a
* @return {?}
*/
var Cp = function(a) {
return '<div class="st-stp1"><div class="st-stp1-text"><div>' + Z(a.Si) + '</div></div><div id="st-buttons"></div></div>';
};
/**
* @param {?} loc
* @return {?}
*/
var Dp = function(loc) {
return '<div class="pt-icon goog-inline-block"></div><div class="pt-text goog-inline-block"><div class="pt-act">' + Z(loc.Dh) + '</div><div class="pt-desc">' + Z(loc.$e) + "</div></div>";
};
var Ep = x('<div class="gt-hats-t"><div class="gt-hats-x clear-button"><div class="jfk-button-img"></div></div><div class="gt-hats-tt"></div></div><div class="gt-hats-c"></div>');
/**
* @param {?} h
* @return {?}
*/
var Fp = function(h) {
return '<div class="gt-hats-af">' + Z(h.Eh) + '</div><a href="javascript:void(0);" class="gt-hats-link">' + Z(h.qd) + "</a>";
};
var Gp = x('<div class="gt-cc-t"><span class="gt-cc-tc"></span><span class="gt-cc-bc"></span></div><div class="gt-cc"><div class="gt-cc-l"><div class="gt-cc-l-i"></div><div class="gt-cc-exp" style="display:none"><div class="cd-exp-ar"></div></div></div><div class="gt-cc-r"><div class="gt-cc-r-i"></div></div></div>');
var Hp = x('<div class="gt-cd-t"><div class="gt-cd-tl"></div><div class="gt-cd-tr"></div></div><div class="gt-cd-c"></div><div class="cd-expand-button"><span class="jfk-button-img"></span><span class="cd-expand-label"></span></div>');
var Ip = x('<span class="gt-ct-text"></span><span class="gt-ct-translit" style="display:none"></span><div class="gt-ct-tts goog-inline-block"></div>');
/**
* @param {?} n
* @return {?}
*/
var Jp = function(n) {
return '<div class="gt-ex-info"><div class="gt-ex-top"><div class="gt-ex-text" dir="' + Z(n.uj) + '">' + yp(n.fh) + '</div></div><div class="gt-ex-mt" style="display:none"><span class="gt-cd-mt" dir="' + Z(n.Tf) + '"></span><br><span class="gt-cd-mt-label">' + Z(n.Mj) + '</span><span class="gt-ex-credit"><a class="gt-ex-link" target="_blank" href="' + Z(n.yf) + '">' + Z(n.Li) + "</a></span></div></div>";
};
/**
* @param {?} info
* @return {?}
*/
var Kp = function(info) {
/** @type {string} */
var val = '<div class="gt-def-info"><div class="gt-def-row">' + Z(info.Oh) + '<div class="gt-mt-md" style="display:none"><span class="gt-cd-mt"></span></div></div>' + (info.kg ? '<div class="gt-def-example"><q>' + Z(info.kg) + '</q><div class="gt-mt-ex" style="display:none"><q class="gt-cd-mt" dir="' + Z(info.Tf) + '"></q></div></div>' : "");
if (0 < info.ih.length) {
/** @type {string} */
val = val + ('<div class="gt-def-synonym"><span class="gt-def-synonym-title">' + Z(info.xj) + ': </span><span class="gt-def-synonyms-group"></span><span class="gt-def-synonyms-group"></span>');
var files = info.ih;
var count = files.length;
/** @type {number} */
var index = 0;
for (; index < count; index++) {
var array = files[index];
var length = array.length;
/** @type {number} */
var i = 0;
for (; i < length; i++) {
var first = array[i];
/** @type {string} */
val = val + ((info.Mh ? '<span class="gt-cd-cl">' + Z(first) + "</span>" : "<span>" + Z(first) + "</span>") + (i != length - 1 ? ", " : index != count - 1 ? "; " : ""));
}
}
val = val + la;
}
return val + la;
};
/**
* @param {!Object} pSample
* @return {?}
*/
var Lp = function(pSample) {
return '<div><div class="speech-mic"><div class="gt-speech-l1"></div><div class="gt-speech-l2"></div><div class="gt-speech-l3"></div><div class="gt-speech-l4"></div></div><div class="speech-mic-label">' + Z(pSample.label) + "</div></div>";
};
var Mp = x('<div class="gt-ee-container"></div>');
/**
* @param {?} n
* @return {?}
*/
var Np = function(n) {
return '<a href="' + Z(n.yf) + '"></a>';
};
/**
* @param {!Object} c
* @return {?}
*/
var Op = function(c) {
return '<div class="share-panel goog-menu-nocheckbox"><h3>' + Z(c.sj) + '</h3><ul><li><a href="mailto:?body=' + Z(c.ph) + '" target="_top" class="email"><span class="share-link-icon"></span><span> ' + Z(c.rj) + ' </span></a></li><li><a href="https://twitter.com/intent/tweet?text=' + Z(c.ph) + '" target="_blank" class="twitter"><span class="share-link-icon"></span><span> Twitter </span></a></li><li><a href="https://plus.google.com/share?url=' + Z(c.url) + '" target="_blank" class="gplus"><span class="share-link-icon"></span><span> Google+ </span></a></li></ul></div>';
};
/**
* @param {!Object} result
* @return {?}
*/
var Pp = function(result) {
var records;
result = result || {};
var toString = mp;
/** @type {string} */
var d = '<div role="button"' + (result.id ? ' id="' + tp(result.id) + '"' : "") + ' class="';
var current;
var _ref;
current = result || {};
/** @type {string} */
var g0 = "goog-inline-block jfk-button ";
switch(Ie(_ref = current.style) ? _ref.toString() : _ref) {
case 0:
g0 = g0 + Ec;
break;
case 2:
g0 = g0 + Ac;
break;
case 3:
/** @type {string} */
g0 = g0 + "jfk-button-primary";
break;
case 1:
/** @type {string} */
g0 = g0 + "jfk-button-default";
break;
case 4:
/** @type {string} */
g0 = g0 + "jfk-button-flat";
break;
case 5:
/** @type {string} */
g0 = g0 + "jfk-button-mini";
break;
case 6:
/** @type {string} */
g0 = g0 + "jfk-button-contrast";
break;
default:
g0 = g0 + Ec;
}
/** @type {string} */
g0 = g0 + ((1 == current.width ? " jfk-button-narrow" : "") + (current.checked ? " jfk-button-checked" : "") + (current.Ue ? " " + current.Ue : "") + (current.disabled ? " jfk-button-disabled" : ""));
return toString(d + tp(new np(g0, void 0)) + '"' + (result.disabled ? ' aria-disabled="true"' : ' tabindex="' + (result.Of ? tp(result.Of) : "0") + '"') + (result.title ? " " + (result.Oj ? fb : Xd) + '="' + tp(result.title) + '"' : "") + (result.value ? ' value="' + tp(result.value) + '"' : "") + (result.attributes ? " " + xp(result.attributes) : "") + ">" + Z(null == (records = result.content) ? "" : records) + la);
};
/**
* @param {?} event
* @param {?} a
* @param {string} b
* @param {string} variableNames
* @return {undefined}
*/
var Rp = function(event, a, b, variableNames) {
eo.call(this, event, Qp.M(), a);
this.b = b || 0;
this.A = variableNames || 0;
/** @type {boolean} */
this.pb = false;
};
C(Rp, eo);
/**
* @param {!Object} a
* @param {number} b
* @return {undefined}
*/
var Tp = function(a, b) {
if (a.b != b) {
/** @type {number} */
a.b = b;
Sp(a);
}
};
/**
* @param {boolean} fn
* @return {undefined}
*/
Rp.prototype.ba = function(fn) {
if (this.isEnabled() != fn) {
Rp.v.ba.call(this, fn);
Sp(this);
}
};
/**
* @param {boolean} c
* @return {undefined}
*/
Rp.prototype.hc = function(c) {
Rp.v.hc.call(this, c);
Up(this, false);
};
/**
* @param {!Object} name
* @return {undefined}
*/
Rp.prototype.Za = function(name) {
Rp.v.Za.call(this, name);
if (this.isEnabled()) {
Up(this, true);
}
};
/**
* @param {!Object} node
* @return {undefined}
*/
Rp.prototype.ib = function(node) {
Rp.v.ib.call(this, node);
if (this.isEnabled()) {
Up(this, true);
}
};
/**
* @param {!Object} item
* @param {boolean} handle
* @return {undefined}
*/
var Up = function(item, handle) {
if (item.l()) {
Eh(item.l(), "jfk-button-clear-outline", handle);
}
};
/**
* @param {!Object} name
* @return {undefined}
*/
var Sp = function(name) {
if (name.l()) {
Vp(name.c, name);
}
};
/**
* @return {undefined}
*/
var Qp = function() {
this.G = this.S() + "-standard";
this.g = this.S() + "-action";
this.F = this.S() + "-primary";
this.o = this.S() + "-default";
this.B = this.S() + "-flat";
this.w = this.S() + "-narrow";
this.C = this.S() + "-mini";
this.m = this.S() + "-contrast";
};
C(Qp, wn);
Be(Qp);
y = Qp.prototype;
/**
* @param {undefined} lines
* @param {boolean} value
* @param {!Object} input
* @return {undefined}
*/
y.jc = function(lines, value, input) {
if (lines) {
Tp(input, lines);
}
if (value && input.A != value) {
/** @type {boolean} */
input.A = value;
Sp(input);
}
};
y.S = x("jfk-button");
/**
* @param {!Object} self
* @return {?}
*/
y.Pa = function(self) {
var m = self.a;
var c = jp(Pp, {
disabled : !self.isEnabled(),
checked : self.Ea(),
style : self.b,
title : self.w,
Oj : self.pb,
value : self.T(),
width : self.A
}, void 0, m);
m.rg(c, self.Aa());
this.R(self, c);
return c;
};
/**
* @param {!Object} state
* @param {!Object} val
* @return {?}
*/
y.R = function(state, val) {
Qp.v.R.call(this, state, val);
if (!this.j) {
this.j = Xf(this.G, Oe(this.jc, 0, null), this.g, Oe(this.jc, 2, null), this.F, Oe(this.jc, 3, null), this.o, Oe(this.jc, 1, null), this.B, Oe(this.jc, 4, null), this.C, Oe(this.jc, 5, null), this.m, Oe(this.jc, 6, null), this.w, Oe(this.jc, null, 1));
}
var s = Ah(val);
/** @type {number} */
var i = 0;
for (; i < s.length; ++i) {
var set = this.j[s[i]];
if (set) {
set(state);
}
}
if (s = val.getAttribute(fb)) {
state.w = s;
/** @type {boolean} */
state.pb = true;
}
return val;
};
/**
* @param {!Object} key
* @return {?}
*/
y.T = function(key) {
return key.getAttribute("value") || "";
};
/**
* @param {!Object} key
* @param {string} name
* @return {undefined}
*/
y.Ud = function(key, name) {
if (key) {
key.setAttribute("value", name);
}
};
/**
* @param {!Object} exports
* @param {!Object} module
* @return {undefined}
*/
var Vp = function(exports, module) {
/**
* @param {boolean} a
* @param {string} fn
* @return {undefined}
*/
function map(a, fn) {
(a ? f : i).push(fn);
}
/** @type {!Array} */
var f = [];
/** @type {!Array} */
var i = [];
var cb = module.b;
map(0 == cb, exports.G);
map(2 == cb, exports.g);
map(3 == cb, exports.F);
map(4 == cb, exports.B);
map(5 == cb, exports.C);
map(1 == cb, exports.o);
map(6 == cb, exports.m);
map(1 == module.A, exports.w);
map(!module.isEnabled(), exports.S() + da);
Dh(module.l(), i);
Ch(module.l(), f);
};
/**
* @return {undefined}
*/
var Wp = function() {
/** @type {!Array} */
this.g = [];
this.b = {};
this.a = {};
/** @type {boolean} */
this.m = false;
/** @type {number} */
this.Ef = 1;
this.$c = {};
/** @type {string} */
this.j = "";
U(window, Ua, this.C, false, this);
};
Be(Wp);
/**
* @param {string} a
* @param {string} val
* @param {string} list
* @return {?}
*/
var Xp = function(a, val, list) {
if (null == val) {
return "1";
}
switch(Ce(val)) {
case Rd:
return a = val, !(64 < a.length) || null != list && list || (a = a.substr(0, 64)), Xe(a);
case bd:
return "" + val;
case "boolean":
return val ? "1" : "0";
case Oa:
/** @type {!Array} */
var results = [];
var i;
for (i in val) {
results.push(Xp(a, val[i], list));
}
return results.join(",");
case cd:
/** @type {!Array} */
results = [];
for (i in val) {
results.push(Yp(a, i, val[i], list));
}
return results.join(",");
default:
return "";
}
};
/**
* @param {string} b
* @param {string} a
* @param {string} func
* @param {string} element
* @return {?}
*/
var Yp = function(b, a, func, element) {
return [Xe(a), Xp(b, func, element || "smtalt" == a)].join("=");
};
/**
* @param {string} name
* @param {string} value
* @return {undefined}
*/
Wp.prototype.log = function(name, value) {
this.g.push([name, value]);
if (!this.m) {
/** @type {boolean} */
this.m = true;
cl(this.o, 0, this);
}
};
/**
* @param {!Object} a
* @param {string} b
* @param {string} type
* @param {string} name
* @param {string} arr
* @return {undefined}
*/
var aq = function(a, b, type, name, arr) {
/** @type {string} */
b = a.j + ga + Yp(a, type, name) + "&" + Yp(a, ab, b, true);
if (arr) {
/** @type {string} */
b = b + Zp(a, arr);
}
$p(a, b);
};
/**
* @param {!Object} hex
* @param {?} a
* @return {?}
*/
var Zp = function(hex, a) {
/** @type {string} */
var pix_color = "";
if (xe(a)) {
Nf(a, function(a, cX1) {
if (a instanceof Array) {
/** @type {number} */
var i = 0;
for (; i < a.length; i++) {
/** @type {string} */
pix_color = pix_color + ("&" + Yp(this, cX1, a[i]));
}
} else {
pix_color = pix_color + ("&" + Yp(this, cX1, a));
}
}, hex);
}
return pix_color;
};
/**
* @return {undefined}
*/
Wp.prototype.o = function() {
/** @type {number} */
var key = 0;
for (; key < this.g.length; key++) {
var keySave = this.g[key];
$p(this, this.j + ga + Yp(this, keySave[0], keySave[1]));
}
/** @type {!Array} */
this.g = [];
/** @type {boolean} */
this.m = false;
};
/**
* @param {!Object} component
* @param {string} key
* @return {undefined}
*/
var $p = function(component, key) {
/** @type {!Image} */
var i = new Image;
/** @type {number} */
var j = component.Ef++;
/** @type {!Image} */
component.$c[j] = i;
/** @type {function(): undefined} */
i.onload = i.onerror = function() {
delete Wp.M().$c[j];
};
/** @type {string} */
i.src = key;
/** @type {null} */
i = null;
};
/**
* @param {!Object} options
* @param {string} x
* @param {?} context
* @param {string} path
* @return {undefined}
*/
var cq = function(options, x, context, path) {
/** @type {null} */
var t = null;
if (x in options.b) {
t = options.b[x];
}
options.b[x] = bq(t, context, path);
};
/**
* @param {string} name
* @param {string} type
* @param {!Function} x
* @param {string} data
* @return {undefined}
*/
Wp.prototype.c = function(name, type, x, data) {
dq(this, name, x, data);
dl(this.a[name][0]);
type = cl(A(this.B, this, name), type);
/** @type {string} */
this.a[name][0] = type;
};
/**
* @param {string} name
* @return {undefined}
*/
Wp.prototype.B = function(name) {
$p(this, this.j + ga + Yp(this, name, this.a[name][1]));
eq(this, name);
};
/**
* @param {(number|string)} cls
* @param {string} name
* @param {!Function} n
* @param {string} context
* @return {undefined}
*/
var dq = function(cls, name, n, context) {
/** @type {number} */
var attr = 0;
/** @type {null} */
var value = null;
if (name in cls.a) {
value = cls.a[name];
attr = value[0];
value = value[1];
}
value = bq(value, n, context);
/** @type {!Array} */
cls.a[name] = [attr, value];
};
/**
* @param {number} b
* @param {number} i
* @param {string} value
* @return {?}
*/
var fq = function(b, i, value) {
if (!(null != i)) {
/** @type {number} */
i = 1;
}
if (value == Ha) {
if (isNaN(b)) {
/** @type {number} */
b = parseInt(b, 10);
}
if (isNaN(i)) {
/** @type {number} */
i = parseInt(i, 10);
}
b = b + i;
} else {
/** @type {number} */
b = i;
}
return b;
};
/**
* @param {!Array} args
* @param {!Array} i
* @param {string} options
* @return {?}
*/
var bq = function(args, i, options) {
if (Ce(i) == cd) {
if (Ce(args) != cd) {
args = {};
}
var k;
for (k in i) {
args[k] = fq(k in args ? args[k] : null, i[k], options);
}
} else {
args = fq(args, i, options);
}
return args;
};
/**
* @param {(number|string)} elem
* @param {string} name
* @return {undefined}
*/
var eq = function(elem, name) {
if (name in elem.a) {
dl(elem.a[name][0]);
delete elem.a[name];
}
};
/**
* @param {string} a
* @return {?}
*/
var gq = function(a) {
/** @type {!Array} */
var ret = [];
var f;
for (f in a.b) {
ret.push(Yp(a, f, a.b[f]));
}
a.b = {};
return ret.join("&");
};
/**
* @return {undefined}
*/
Wp.prototype.C = function() {
this.o();
var b;
for (b in this.a) {
if (0 != this.a[b]) {
this.B(b);
}
}
};
/**
* @param {string} a$jscomp$655
* @return {?}
*/
var hq = function(a$jscomp$655) {
/** @type {string} */
a$jscomp$655 = String(a$jscomp$655);
if (/^\s*$/.test(a$jscomp$655) ? 0 : /^[\],:{}\s\u2028\u2029]*$/.test(a$jscomp$655.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, ""))) {
try {
return eval("(" + a$jscomp$655 + ")");
} catch (b) {
}
}
throw Error("Invalid JSON string: " + a$jscomp$655);
};
/**
* @param {string} a$jscomp$656
* @return {?}
*/
var iq = function(a$jscomp$656) {
return eval("(" + a$jscomp$656 + ")");
};
/**
* @param {boolean} target
* @return {?}
*/
var lq = function(target) {
/** @type {!Array} */
var row2 = [];
jq(new kq, target, row2);
return row2.join("");
};
var kq = ue();
/**
* @param {?} el
* @param {string} value
* @param {!Array} out
* @return {undefined}
*/
var jq = function(el, value, out) {
if (null == value) {
out.push("null");
} else {
if (typeof value == cd) {
if (De(value)) {
/** @type {string} */
var name = value;
value = name.length;
out.push("[");
/** @type {string} */
var e = "";
/** @type {number} */
var item = 0;
for (; item < value; item++) {
out.push(e);
jq(el, name[item], out);
/** @type {string} */
e = ",";
}
out.push("]");
return;
}
if (value instanceof String || value instanceof Number || value instanceof Boolean) {
/** @type {*} */
value = value.valueOf();
} else {
out.push("{");
/** @type {string} */
e = "";
for (name in value) {
if (Object.prototype.hasOwnProperty.call(value, name)) {
item = value[name];
if (typeof item != Bb) {
out.push(e);
mq(name, out);
out.push(":");
jq(el, item, out);
/** @type {string} */
e = ",";
}
}
}
out.push("}");
return;
}
}
switch(typeof value) {
case Rd:
mq(value, out);
break;
case bd:
out.push(isFinite(value) && !isNaN(value) ? String(value) : "null");
break;
case "boolean":
out.push(String(value));
break;
case Bb:
out.push("null");
break;
default:
throw Error("Unknown type: " + typeof value);
}
}
};
var nq = {
'"' : '\\"',
"\\" : "\\\\",
"/" : "\\/",
"\b" : "\\b",
"\f" : "\\f",
"\n" : "\\n",
"\r" : "\\r",
"\t" : "\\t",
"\x0B" : "\\u000b"
};
/** @type {!RegExp} */
var oq = /\uffff/.test("\uffff") ? /[\\"\x00-\x1f\x7f-\uffff]/g : /[\\"\x00-\x1f\x7f-\xff]/g;
/**
* @param {string} query
* @param {!Array} source
* @return {undefined}
*/
var mq = function(query, source) {
source.push('"', query.replace(oq, function(c) {
var fbo = nq[c];
if (!fbo) {
/** @type {string} */
fbo = "\\u" + (c.charCodeAt(0) | 65536).toString(16).substr(1);
/** @type {string} */
nq[c] = fbo;
}
return fbo;
}), '"');
};
/** @type {!RegExp} */
var pq = /^(?:([^:/?#.]+):)?(?:\/\/(?:([^/?#]*)@)?([^/#?]*?)(?::([0-9]+))?(?=[/#?]|$))?([^?#]+)?(?:\?([^#]*))?(?:#(.*))?$/;
/**
* @param {string} url
* @param {!Function} callback
* @return {undefined}
*/
var qq = function(url, callback) {
if (url) {
var items = url.split("&");
/** @type {number} */
var i = 0;
for (; i < items.length; i++) {
var m = items[i].indexOf("=");
var out;
/** @type {null} */
var err = null;
if (0 <= m) {
out = items[i].substring(0, m);
err = items[i].substring(m + 1);
} else {
out = items[i];
}
callback(out, err ? Ye(err) : "");
}
}
};
/**
* @param {string} opts
* @param {string} data
* @param {!Array} el
* @return {undefined}
*/
var rq = function(opts, data, el) {
if (De(data)) {
/** @type {number} */
var i = 0;
for (; i < data.length; i++) {
rq(opts, String(data[i]), el);
}
} else {
if (null != data) {
el.push("&", opts, "" === data ? "" : "=", Xe(data));
}
}
};
/**
* @param {!Array} a
* @return {?}
*/
var sq = function(a) {
/** @type {!Array} */
var b = [];
var c;
for (c in a) {
rq(c, a[c], b);
}
/** @type {string} */
b[0] = "";
return b.join("");
};
/**
* @param {!Object} event
* @param {string} url
* @return {?}
*/
var tq = function(event, url) {
if (Se(event, "/")) {
event = event.substr(0, event.length - 1);
}
if (0 == url.lastIndexOf("/", 0)) {
url = url.substr(1);
}
return qf(event, "/", url);
};
var uq = ue();
/** @type {null} */
uq.prototype.a = null;
/**
* @param {!Object} data
* @return {?}
*/
var wq = function(data) {
var a;
if (!(a = data.a)) {
a = {};
if (vq(data)) {
/** @type {boolean} */
a[0] = true;
/** @type {boolean} */
a[1] = true;
}
a = data.a = a;
}
return a;
};
var xq;
var yq = ue();
C(yq, uq);
/**
* @param {!Object} name
* @return {?}
*/
var zq = function(name) {
return (name = vq(name)) ? new ActiveXObject(name) : new XMLHttpRequest;
};
/**
* @param {!Object} property
* @return {?}
*/
var vq = function(property) {
if (!property.b && "undefined" == typeof XMLHttpRequest && "undefined" != typeof ActiveXObject) {
/** @type {!Array} */
var returnedData = ["MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"];
/** @type {number} */
var i = 0;
for (; i < returnedData.length; i++) {
var p = returnedData[i];
try {
return new ActiveXObject(p), property.b = p;
} catch (e) {
}
}
throw Error("Could not create ActiveXObject. ActiveX might be disabled, or MSXML might not be installed");
}
return property.b;
};
xq = new yq;
/**
* @param {string} width
* @return {undefined}
*/
var Aq = function(width) {
V.call(this);
this.L = new Wg;
this.w = width || null;
/** @type {boolean} */
this.b = false;
/** @type {null} */
this.C = this.a = null;
/** @type {string} */
this.o = this.N = this.g = "";
/** @type {boolean} */
this.c = this.G = this.m = this.F = false;
/** @type {number} */
this.j = 0;
/** @type {null} */
this.B = null;
/** @type {string} */
this.O = "";
/** @type {boolean} */
this.A = this.H = false;
};
C(Aq, V);
/** @type {!RegExp} */
var Bq = /^https?$/i;
/** @type {!Array} */
var Cq = [wa, "PUT"];
/** @type {!Array} */
var Dq = [];
/**
* @param {string} n
* @param {!Function} d
* @param {string} key
* @param {!Function} val
* @param {!Object} expr
* @param {number} ms
* @return {undefined}
*/
var Fq = function(n, d, key, val, expr, ms) {
var $ = new Aq;
Dq.push($);
if (d) {
Sj($.eb, db, d, false, void 0, void 0);
}
Sj($.eb, "ready", $.I, true, void 0, void 0);
if (ms) {
/** @type {number} */
$.j = Math.max(0, ms);
}
Eq($, n, key, val, expr);
};
/**
* @return {undefined}
*/
Aq.prototype.I = function() {
this.za();
Hf(Dq, this);
};
/**
* @param {!Object} options
* @param {!Object} data
* @param {string} type
* @param {string} left
* @param {!Object} right
* @return {undefined}
*/
var Eq = function(options, data, type, left, right) {
if (options.a) {
throw Error("[goog.net.XhrIo] Object is active with another request=" + options.g + "; newUri=" + data);
}
type = type ? type.toUpperCase() : "GET";
/** @type {!Object} */
options.g = data;
/** @type {string} */
options.o = "";
/** @type {string} */
options.N = type;
/** @type {boolean} */
options.F = false;
/** @type {boolean} */
options.b = true;
options.a = options.w ? zq(options.w) : zq(xq);
options.C = options.w ? wq(options.w) : wq(xq);
options.a.onreadystatechange = A(options.K, options);
try {
/** @type {boolean} */
options.G = true;
options.a.open(type, String(data), true);
/** @type {boolean} */
options.G = false;
} catch (QueryLanguageComponent) {
Gq(options, QueryLanguageComponent);
return;
}
data = left || "";
var x = options.L.clone();
if (right) {
bh(right, function(a, b) {
x.set(b, a);
});
}
right = Df(x.tb(), Hq);
left = z.FormData && data instanceof z.FormData;
if (!(!Ef(Cq, type) || right || left)) {
x.set("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
}
x.forEach(function(b, n) {
this.a.setRequestHeader(n, b);
}, options);
if (options.O) {
options.a.responseType = options.O;
}
if ("withCredentials" in options.a && options.a.withCredentials !== options.H) {
options.a.withCredentials = options.H;
}
try {
Iq(options);
if (0 < options.j) {
options.A = Jq(options.a);
if (options.A) {
options.a.timeout = options.j;
options.a.ontimeout = A(options.ic, options);
} else {
options.B = cl(options.ic, options.j, options);
}
}
/** @type {boolean} */
options.m = true;
options.a.send(data);
/** @type {boolean} */
options.m = false;
} catch (QueryLanguageComponent) {
Gq(options, QueryLanguageComponent);
}
};
/**
* @param {!Object} sweep
* @return {?}
*/
var Jq = function(sweep) {
return E && I(9) && Ge(sweep.timeout) && xe(sweep.ontimeout);
};
/**
* @param {string} p_Interval
* @return {?}
*/
var Hq = function(p_Interval) {
return "content-type" == p_Interval.toLowerCase();
};
/**
* @return {undefined}
*/
Aq.prototype.ic = function() {
if ("undefined" != typeof we && this.a) {
/** @type {string} */
this.o = "Timed out after " + this.j + "ms, aborting";
this.dispatchEvent("timeout");
if (this.a && this.b) {
/** @type {boolean} */
this.b = false;
/** @type {boolean} */
this.c = true;
this.a.abort();
/** @type {boolean} */
this.c = false;
this.dispatchEvent(db);
this.dispatchEvent("abort");
Kq(this);
}
}
};
/**
* @param {!Object} a
* @param {(Object|string)} b
* @return {undefined}
*/
var Gq = function(a, b) {
/** @type {boolean} */
a.b = false;
if (a.a) {
/** @type {boolean} */
a.c = true;
a.a.abort();
/** @type {boolean} */
a.c = false;
}
/** @type {(Object|string)} */
a.o = b;
Lq(a);
Kq(a);
};
/**
* @param {!Object} exports
* @return {undefined}
*/
var Lq = function(exports) {
if (!exports.F) {
/** @type {boolean} */
exports.F = true;
exports.dispatchEvent(db);
exports.dispatchEvent("error");
}
};
/**
* @return {undefined}
*/
Aq.prototype.J = function() {
if (this.a) {
if (this.b) {
/** @type {boolean} */
this.b = false;
/** @type {boolean} */
this.c = true;
this.a.abort();
/** @type {boolean} */
this.c = false;
}
Kq(this, true);
}
Aq.v.J.call(this);
};
/**
* @return {undefined}
*/
Aq.prototype.K = function() {
if (!this.Ca) {
if (this.G || this.m || this.c) {
Mq(this);
} else {
this.P();
}
}
};
/**
* @return {undefined}
*/
Aq.prototype.P = function() {
Mq(this);
};
/**
* @param {!Object} self
* @return {undefined}
*/
var Mq = function(self) {
if (self.b && "undefined" != typeof we && (!self.C[1] || 4 != Nq(self) || 2 != Oq(self))) {
if (self.m && 4 == Nq(self)) {
cl(self.K, 0, self);
} else {
if (self.dispatchEvent("readystatechange"), 4 == Nq(self)) {
/** @type {boolean} */
self.b = false;
try {
if (Pq(self)) {
self.dispatchEvent(db);
self.dispatchEvent("success");
} else {
var subTemplate;
try {
subTemplate = 2 < Nq(self) ? self.a.statusText : "";
} catch (c) {
/** @type {string} */
subTemplate = "";
}
/** @type {string} */
self.o = subTemplate + " [" + Oq(self) + "]";
Lq(self);
}
} finally {
Kq(self);
}
}
}
}
};
/**
* @param {!Object} c
* @param {boolean} isTangent
* @return {undefined}
*/
var Kq = function(c, isTangent) {
if (c.a) {
Iq(c);
var t = c.a;
var result = c.C[0] ? Ae : null;
/** @type {null} */
c.a = null;
/** @type {null} */
c.C = null;
if (!isTangent) {
c.dispatchEvent("ready");
}
try {
t.onreadystatechange = result;
} catch (e) {
}
}
};
/**
* @param {!Object} o
* @return {undefined}
*/
var Iq = function(o) {
if (o.a && o.A) {
/** @type {null} */
o.a.ontimeout = null;
}
if (Ge(o.B)) {
dl(o.B);
/** @type {null} */
o.B = null;
}
};
/**
* @param {string} p
* @return {?}
*/
var Pq = function(p) {
var v = Oq(p);
var validationVM;
a: {
switch(v) {
case 200:
case 201:
case 202:
case 204:
case 206:
case 304:
case 1223:
/** @type {boolean} */
validationVM = true;
break a;
default:
/** @type {boolean} */
validationVM = false;
}
}
if (!validationVM) {
if (v = 0 === v) {
/** @type {(null|string)} */
p = String(p.g).match(pq)[1] || null;
if (!p && z.self && z.self.location) {
p = z.self.location.protocol;
p = p.substr(0, p.length - 1);
}
/** @type {boolean} */
v = !Bq.test(p ? p.toLowerCase() : "");
}
/** @type {boolean} */
validationVM = v;
}
return validationVM;
};
/**
* @param {!Object} link
* @return {?}
*/
var Nq = function(link) {
return link.a ? link.a.readyState : 0;
};
/**
* @param {!Object} a
* @return {?}
*/
var Oq = function(a) {
try {
return 2 < Nq(a) ? a.a.status : -1;
} catch (b) {
return -1;
}
};
/**
* @param {string} response
* @return {?}
*/
var Qq = function(response) {
try {
return response.a ? response.a.responseText : "";
} catch (b) {
return "";
}
};
/**
* @param {!Object} handler
* @return {?}
*/
var Rq = function(handler) {
if (handler.a) {
return hq(handler.a.responseText);
}
};
/**
* @param {!Object} a
* @param {undefined} c
* @return {undefined}
*/
var Sq = function(a, c) {
/** @type {string} */
this.c = this.B = this.b = "";
/** @type {null} */
this.o = null;
/** @type {string} */
this.m = this.j = "";
/** @type {boolean} */
this.g = false;
var BROWSER_ENGINES;
if (a instanceof Sq) {
this.g = xe(c) ? c : a.g;
Tq(this, a.b);
this.B = a.B;
this.c = a.c;
Uq(this, a.o);
this.j = a.j;
Vq(this, a.a.clone());
this.m = a.m;
} else {
if (a && (BROWSER_ENGINES = String(a).match(pq))) {
/** @type {boolean} */
this.g = !!c;
Tq(this, BROWSER_ENGINES[1] || "", true);
this.B = Wq(BROWSER_ENGINES[2] || "");
this.c = Wq(BROWSER_ENGINES[3] || "", true);
Uq(this, BROWSER_ENGINES[4]);
this.j = Wq(BROWSER_ENGINES[5] || "", true);
Vq(this, BROWSER_ENGINES[6] || "", true);
this.m = Wq(BROWSER_ENGINES[7] || "");
} else {
/** @type {boolean} */
this.g = !!c;
this.a = new Xq(null, 0, this.g);
}
}
};
/**
* @return {?}
*/
Sq.prototype.toString = function() {
/** @type {!Array} */
var t = [];
var pattern = this.b;
if (pattern) {
t.push(Yq(pattern, Zq, true), ":");
}
var d = this.c;
if (d || "file" == pattern) {
t.push("//");
if (pattern = this.B) {
t.push(Yq(pattern, Zq, true), "@");
}
t.push(Xe(d).replace(/%25([0-9a-fA-F]{2})/g, "%$1"));
d = this.o;
if (null != d) {
t.push(":", String(d));
}
}
if (d = this.j) {
if (this.c && "/" != d.charAt(0)) {
t.push("/");
}
t.push(Yq(d, "/" == d.charAt(0) ? $q : ar, true));
}
if (d = this.a.toString()) {
t.push("?", d);
}
if (d = this.m) {
t.push("#", Yq(d, br));
}
return t.join("");
};
/**
* @return {?}
*/
Sq.prototype.clone = function() {
return new Sq(this);
};
/**
* @param {!Object} a
* @param {string} b
* @param {boolean} asc
* @return {undefined}
*/
var Tq = function(a, b, asc) {
a.b = asc ? Wq(b, true) : b;
if (a.b) {
a.b = a.b.replace(/:$/, "");
}
};
/**
* @param {!Object} message
* @param {number} e
* @return {undefined}
*/
var Uq = function(message, e) {
if (e) {
/** @type {number} */
e = Number(e);
if (isNaN(e) || 0 > e) {
throw Error("Bad port number " + e);
}
/** @type {number} */
message.o = e;
} else {
/** @type {null} */
message.o = null;
}
};
/**
* @param {!Object} a
* @param {string} b
* @param {boolean} undefOnly
* @return {undefined}
*/
var Vq = function(a, b, undefOnly) {
if (b instanceof Xq) {
/** @type {string} */
a.a = b;
cr(a.a, a.g);
} else {
if (!undefOnly) {
b = Yq(b, dr);
}
a.a = new Xq(b, 0, a.g);
}
};
/**
* @param {string} a
* @param {string} b
* @return {?}
*/
var Wq = function(a, b) {
return a ? b ? decodeURI(a.replace(/%25/g, "%2525")) : decodeURIComponent(a) : "";
};
/**
* @param {string} a
* @param {!RegExp} obj
* @param {boolean} item
* @return {?}
*/
var Yq = function(a, obj, item) {
return Fe(a) ? (a = encodeURI(a).replace(obj, er), item && (a = a.replace(/%25([0-9a-fA-F]{2})/g, "%$1")), a) : null;
};
/**
* @param {(number|string)} item
* @return {?}
*/
var er = function(item) {
item = item.charCodeAt(0);
return "%" + (item >> 4 & 15).toString(16) + (item & 15).toString(16);
};
/** @type {!RegExp} */
var Zq = /[#\/\?@]/g;
/** @type {!RegExp} */
var ar = /[#\?:]/g;
/** @type {!RegExp} */
var $q = /[#\?]/g;
/** @type {!RegExp} */
var dr = /[#\?@]/g;
/** @type {!RegExp} */
var br = /#/g;
/**
* @param {string} c
* @param {?} name
* @param {?} prefixAgnostic
* @return {undefined}
*/
var Xq = function(c, name, prefixAgnostic) {
/** @type {null} */
this.b = this.a = null;
this.c = c || null;
/** @type {boolean} */
this.j = !!prefixAgnostic;
};
/**
* @param {!Object} v
* @return {undefined}
*/
var gr = function(v) {
if (!v.a) {
v.a = new Wg;
/** @type {number} */
v.b = 0;
if (v.c) {
qq(v.c, function(cssProperyName, oldEventMap) {
fr(v, Ye(cssProperyName), oldEventMap);
});
}
}
};
/**
* @param {!Object} n
* @param {string} key
* @param {string} arg
* @return {undefined}
*/
var fr = function(n, key, arg) {
gr(n);
/** @type {null} */
n.c = null;
key = hr(n, key);
var values = n.a.get(key);
if (!values) {
n.a.set(key, values = []);
}
values.push(arg);
n.b = n.b + 1;
};
/**
* @param {!Object} f
* @param {string} val
* @return {undefined}
*/
var ir = function(f, val) {
gr(f);
val = hr(f, val);
if (Zg(f.a, val)) {
/** @type {null} */
f.c = null;
/** @type {number} */
f.b = f.b - f.a.get(val).length;
$g(f.a, val);
}
};
/**
* @return {undefined}
*/
Xq.prototype.clear = function() {
/** @type {null} */
this.a = this.c = null;
/** @type {number} */
this.b = 0;
};
/**
* @param {!Object} item
* @param {string} fn
* @return {?}
*/
var jr = function(item, fn) {
gr(item);
fn = hr(item, fn);
return Zg(item.a, fn);
};
/**
* @return {?}
*/
Xq.prototype.tb = function() {
gr(this);
var effectInstances = this.a.Va();
var keys = this.a.tb();
/** @type {!Array} */
var f = [];
/** @type {number} */
var i = 0;
for (; i < keys.length; i++) {
var e = effectInstances[i];
/** @type {number} */
var g = 0;
for (; g < e.length; g++) {
f.push(keys[i]);
}
}
return f;
};
/**
* @param {string} y
* @return {?}
*/
Xq.prototype.Va = function(y) {
gr(this);
/** @type {!Array} */
var left = [];
if (Fe(y)) {
if (jr(this, y)) {
left = If(left, this.a.get(hr(this, y)));
}
} else {
y = this.a.Va();
/** @type {number} */
var iy = 0;
for (; iy < y.length; iy++) {
left = If(left, y[iy]);
}
}
return left;
};
/**
* @param {string} name
* @param {!Object} obj
* @return {?}
*/
Xq.prototype.set = function(name, obj) {
gr(this);
/** @type {null} */
this.c = null;
name = hr(this, name);
if (jr(this, name)) {
/** @type {number} */
this.b = this.b - this.a.get(name).length;
}
this.a.set(name, [obj]);
this.b = this.b + 1;
return this;
};
/**
* @param {string} a
* @param {string} fn
* @return {?}
*/
Xq.prototype.get = function(a, fn) {
var b = a ? this.Va(a) : [];
return 0 < b.length ? String(b[0]) : fn;
};
/**
* @param {!Object} a
* @param {string} val
* @param {!Object} data
* @return {undefined}
*/
var kr = function(a, val, data) {
ir(a, val);
if (0 < data.length) {
/** @type {null} */
a.c = null;
a.a.set(hr(a, val), Jf(data));
a.b = a.b + data.length;
}
};
/**
* @return {?}
*/
Xq.prototype.toString = function() {
if (this.c) {
return this.c;
}
if (!this.a) {
return "";
}
/** @type {!Array} */
var newClassList = [];
var dependencies = this.a.tb();
/** @type {number} */
var indexDep = 0;
for (; indexDep < dependencies.length; indexDep++) {
var d = dependencies[indexDep];
var e = Xe(d);
d = this.Va(d);
/** @type {number} */
var i = 0;
for (; i < d.length; i++) {
var c = e;
if ("" !== d[i]) {
/** @type {string} */
c = c + ("=" + Xe(d[i]));
}
newClassList.push(c);
}
}
return this.c = newClassList.join("&");
};
/**
* @return {?}
*/
Xq.prototype.clone = function() {
var matrix = new Xq;
matrix.c = this.c;
if (this.a) {
matrix.a = this.a.clone();
matrix.b = this.b;
}
return matrix;
};
/**
* @param {!Object} val
* @param {string} node
* @return {?}
*/
var hr = function(val, node) {
/** @type {string} */
var c = String(node);
if (val.j) {
/** @type {string} */
c = c.toLowerCase();
}
return c;
};
/**
* @param {!Object} f
* @param {number} item
* @return {undefined}
*/
var cr = function(f, item) {
if (item && !f.j) {
gr(f);
/** @type {null} */
f.c = null;
f.a.forEach(function(children, i) {
var attrs = i.toLowerCase();
if (i != attrs) {
ir(this, i);
kr(this, attrs, children);
}
}, f);
}
/** @type {number} */
f.j = item;
};
/**
* @param {string} name
* @return {undefined}
*/
Xq.prototype.g = function(name) {
/** @type {number} */
var i = 0;
for (; i < arguments.length; i++) {
bh(arguments[i], function(oldEventMap, derTrigger) {
fr(this, derTrigger, oldEventMap);
}, this);
}
};
/** @type {boolean} */
var lr = null != window.COMPARE_PROD_TRANS;
/** @type {boolean} */
var mr = null != window.MSG_HUMAN_TRANSLATION_ACTION;
/** @type {boolean} */
var nr = null != window.MSG_CHANGE_ITA;
/** @type {boolean} */
var or = null != window.KNOWLEDGE_PANEL;
/** @type {boolean} */
var pr = null != window.MSG_HATS_TITLE;
/** @type {boolean} */
var qr = null != window.MSG_SHOW_PB;
/** @type {boolean} */
var rr = null != window.PHRASEBOOK_REORDERING;
/** @type {boolean} */
var sr = null != window.MSG_SPEECH_INPUT_TURN_ON;
/** @type {boolean} */
var tr = null != window.SK_WP;
/** @type {boolean} */
var ur = null != window.TTS_PACE_CONTROL;
/** @type {boolean} */
var vr = null != window.WEBFONT;
/**
* @param {string} a
* @return {?}
*/
var wr = function(a) {
return function() {
return a;
};
};
/**
* @param {number} a
* @param {string} fn
* @return {?}
*/
var xr = function(a, fn) {
/** @type {number} */
var idx = 0;
for (; idx < fn.length - 2; idx = idx + 3) {
var b = fn.charAt(idx + 2);
/** @type {number} */
b = "a" <= b ? b.charCodeAt(0) - 87 : Number(b);
/** @type {number} */
b = "+" == fn.charAt(idx + 1) ? a >>> b : a << b;
/** @type {number} */
a = "+" == fn.charAt(idx) ? a + b & 4294967295 : a ^ b;
}
return a;
};
/** @type {null} */
var yr = null;
/**
* @param {number} c
* @return {?}
*/
var zr = function(c) {
var d;
if (null !== yr) {
d = yr;
} else {
d = wr(String.fromCharCode(84));
var parseFloat = wr(String.fromCharCode(75));
/** @type {!Array} */
d = [d(), d()];
d[1] = parseFloat();
d = (yr = window[d.join(parseFloat())] || "") || "";
}
var b = wr(String.fromCharCode(116));
parseFloat = wr(String.fromCharCode(107));
/** @type {!Array} */
b = [b(), b()];
b[1] = parseFloat();
/** @type {string} */
parseFloat = "&" + b.join("") + "=";
b = d.split(".");
/** @type {number} */
d = Number(b[0]) || 0;
/** @type {!Array} */
var args = [];
/** @type {number} */
var i = 0;
/** @type {number} */
var index = 0;
for (; index < c.length; index++) {
var l = c.charCodeAt(index);
if (128 > l) {
args[i++] = l;
} else {
if (2048 > l) {
/** @type {number} */
args[i++] = l >> 6 | 192;
} else {
if (55296 == (l & 64512) && index + 1 < c.length && 56320 == (c.charCodeAt(index + 1) & 64512)) {
/** @type {number} */
l = 65536 + ((l & 1023) << 10) + (c.charCodeAt(++index) & 1023);
/** @type {number} */
args[i++] = l >> 18 | 240;
/** @type {number} */
args[i++] = l >> 12 & 63 | 128;
} else {
/** @type {number} */
args[i++] = l >> 12 | 224;
}
/** @type {number} */
args[i++] = l >> 6 & 63 | 128;
}
/** @type {number} */
args[i++] = l & 63 | 128;
}
}
/** @type {number} */
c = d;
/** @type {number} */
i = 0;
for (; i < args.length; i++) {
c = c + args[i];
c = xr(c, "+-a^+6");
}
c = xr(c, "+-3^+b+-f");
/** @type {number} */
c = c ^ (Number(b[1]) || 0);
if (0 > c) {
/** @type {number} */
c = (c & 2147483647) + 2147483648;
}
/** @type {number} */
c = c % 1E6;
return parseFloat + (c.toString() + "." + (c ^ d));
};
/**
* @param {number} c
* @param {number} val
* @return {undefined}
*/
var Ar = function(c, val) {
/** @type {number} */
this.c = c;
/** @type {string} */
this.a = "";
if (val) {
/** @type {number} */
this.a = val;
}
/** @type {number} */
this.b = 0;
};
var Br = {
Vj : "at",
Wj : "bd",
Xj : "ex",
Zj : "kr",
$j : "ld",
ak : "md",
bk : "qc",
ck : "qca",
dk : "rw",
ek : "rm",
fk : "ss",
Fe : "t"
};
/**
* @param {number} name
* @return {?}
*/
var Cr = function(name) {
name = name.Va("q").join("");
return zr(name);
};
/**
* @param {!Object} vm
* @param {string} str
* @param {string} name
* @param {number} url
* @param {string} e
* @return {undefined}
*/
var Dr = function(vm, str, name, url, e) {
name = name.toString();
name = name + Cr(url);
url = url.toString();
var type = wa;
/** @type {string} */
str = str + ("?" + name);
if (2E3 > str.length + url.length) {
/** @type {string} */
type = "GET";
/** @type {string} */
str = str + ("&" + url);
/** @type {string} */
url = "";
}
++vm.b;
Fq(str, function(context) {
--vm.b;
e(context);
}, type, url, void 0);
};
/**
* @param {!Object} c
* @param {string} context
* @param {undefined} template
* @param {undefined} plugin
* @param {string} v
* @param {?} data
* @param {string} fn
* @param {undefined} key
* @return {undefined}
*/
var Er = function(c, context, template, plugin, v, data, fn, key) {
/** @type {string} */
var STATIC_CHIPS_TEMPLATE = c.a + "/translate_a/t";
var _ = new Xq;
var tag = new Xq;
_.set(ab, c.c);
_.set("sl", context);
_.set("tl", template);
_.set("hl", plugin);
_.set("v", "1.0");
if (null != fn) {
_.set(Fd, fn);
}
if (key) {
_.g(key);
}
if (context = !De(v) || De(v) && 1 == v.length) {
tag.set("q", v);
} else {
kr(tag, "q", v);
}
v = A(c.j, c, context, data);
Dr(c, STATIC_CHIPS_TEMPLATE, _, tag, v);
};
/**
* @param {!Object} r
* @param {string} o
* @param {string} prop
* @param {string} target
* @param {!Object} n
* @param {!Array} children
* @param {string} context
* @param {!Object} config
* @param {string} key
* @return {undefined}
*/
var Fr = function(r, o, prop, target, n, children, context, config, key) {
var STATIC_CHIPS_TEMPLATE = r.a + ka;
var self = new Xq;
var u = new Xq;
self.set(ab, r.c);
self.set("sl", o);
self.set("tl", prop);
self.set("hl", target);
kr(self, "dt", children);
if (null != config) {
self.set("ie", config);
self.set("oe", config);
}
if (key) {
self.g(key);
}
u.set("q", n);
Dr(r, STATIC_CHIPS_TEMPLATE, self, u, A(r.g, r, context));
};
/**
* @param {!Object} s
* @param {string} n
* @param {string} m
* @param {string} center
* @param {string} options
* @param {string} expandedInfo
* @param {boolean} data
* @param {!Object} name
* @param {string} tpl
* @return {undefined}
*/
var Gr = function(s, n, m, center, options, expandedInfo, data, name, tpl) {
/** @type {!Array<string>} */
var item = "at bd ex ld md qc rw rm ss t".split(" ");
if (data) {
/** @type {!Array<string>} */
item = "at bd ex ld md qca rw rm ss t".split(" ");
}
if (or) {
item.push("kr");
}
Fr(s, n, m, center, options, item, expandedInfo, name, tpl);
};
/**
* @param {string} type
* @param {string} name
* @return {undefined}
*/
Ar.prototype.m = function(type, name) {
var n = name.target;
if (Hr(n)) {
Qq(n);
n = Ir(n, "handleTransliterationResult_");
n = new pm(n);
if (0 < Nm(n)) {
type(Cm(Om(n, 0)));
}
}
};
/**
* @param {string} key
* @param {string} name
* @return {undefined}
*/
Ar.prototype.g = function(key, name) {
var i = name.target;
if (Hr(i)) {
i = Ir(i, "handleSingleResult_");
if (De(i)) {
i = new pm(i);
}
key(i);
} else {
Jr(i);
key(null);
}
};
/**
* @param {string} key
* @param {string} name
* @param {!Function} v
* @return {undefined}
*/
Ar.prototype.j = function(key, name, v) {
v = v.target;
if (Pq(v)) {
v = Ir(v, "handleTextResult_");
/** @type {!Array} */
var a = [];
if (key) {
a.push(De(v) ? v[0] : v);
} else {
if (De(v)) {
/** @type {number} */
key = 0;
for (; key < v.length; ++key) {
a.push(De(v[key]) ? v[key][0] : v[key]);
}
}
}
name(a);
} else {
Jr(v);
name(null);
}
};
/**
* @param {string} a
* @param {string} fn
* @return {?}
*/
var Ir = function(a, fn) {
var s;
var v = Qq(a);
var p = {
"class" : "trans.common.TranslationAPI",
func : fn,
url : String(a.g)
};
try {
s = iq(v);
} catch (res) {
throw s = Wp.M(), p.js = v, p.error = res.message, s.log("jsonParseErr", p), res;
}
return s;
};
/**
* @param {string} x
* @return {?}
*/
var Hr = function(x) {
return Pq(x) && ("[" == Qq(x)[0] || "{" == Qq(x)[0]);
};
/**
* @param {string} result
* @return {undefined}
*/
var Jr = function(result) {
var client = Wp.M();
/** @type {string} */
var left_res = String(result.g);
result = Qq(result);
client.log("invalidResponse", {
q : left_res.substring(0, 500),
ql : left_res.length,
r : result.substring(0, 500),
rl : result.length
});
};
Ar.prototype.o = w("b");
/**
* @param {!Array} val
* @param {?} opt_validate
* @return {undefined}
*/
var Kr = function(val, opt_validate) {
W.call(this);
this.U = opt_validate;
/** @type {!Array} */
this.m = val;
/** @type {string} */
this.Ed = this.text = this.j = this.g = "";
/** @type {null} */
this.data = null;
this.Wa = Wp.M();
};
C(Kr, W);
y = Kr.prototype;
/**
* @param {!Object} t
* @param {string} a
* @param {number} b
* @param {!Object} object
* @return {?}
*/
y.update = function(t, a, b, object) {
/** @type {!Object} */
this.text = t;
/** @type {string} */
this.g = a;
/** @type {number} */
this.j = b;
/** @type {!Object} */
this.data = object;
this.setVisible(false);
return false;
};
/**
* @param {boolean} id
* @return {undefined}
*/
y.setVisible = function(id) {
var body = this.l();
if (body) {
S(body, id);
}
};
/**
* @return {?}
*/
y.isVisible = function() {
var b = this.l();
return b ? kj(b) : false;
};
/**
* @return {?}
*/
y.qg = function() {
return {};
};
y.Ua = w("U");
/**
* @param {string} name
* @param {string} value
* @return {undefined}
*/
y.log = function(name, value) {
var data = {};
data.dt = this.U;
data.sl = this.g;
data.tl = this.j;
data.hl = this.m;
data.q = this.text;
/** @type {string} */
data.e = name;
if (null != value) {
Wf(data, value);
}
Wf(data, this.qg());
this.Wa.log("lexicon", data);
data = this.g;
var testSuiteName = this.j;
if (window.__gaTracker) {
__gaTracker("set", "dimension1", this.m);
__gaTracker("set", "dimension2", data + "|" + testSuiteName);
__gaTracker("set", "dimension3", data);
__gaTracker("set", "dimension4", testSuiteName);
}
if (window.__gaTracker) {
__gaTracker("send", "event", "lexicon", this.U + ":" + name, "", 1);
}
};
/**
* @param {?} deque
* @param {?} f
* @param {!Array} p
* @param {?} v
* @return {undefined}
*/
var Lr = function(deque, f, p, v) {
Kr.call(this, deque, f);
/** @type {null} */
this.w = this.b = null;
/** @type {!Array} */
this.P = p;
this.bb = v;
/** @type {null} */
this.N = this.o = null;
/** @type {boolean} */
this.I = false;
/** @type {string} */
this.W = "More";
/** @type {boolean} */
this.bd = false;
/** @type {string} */
this.Z = "Less";
/** @type {!Array} */
this.$ = [];
/** @type {boolean} */
this.Qe = false;
};
C(Lr, Kr);
y = Lr.prototype;
/**
* @return {undefined}
*/
y.ra = function() {
Lr.v.ra.call(this);
this.Y(di(k));
};
/**
* @param {string} selector
* @return {undefined}
*/
y.Y = function(selector) {
Lr.v.Y.call(this, selector);
J(this.l(), "gt-cd");
J(this.l(), "gt-cd-" + this.U);
this.l().appendChild(ip(Hp));
this.w = O("gt-cd-tl", this.l());
this.b = O("gt-cd-c", this.l());
this.o = O("cd-expand-button", this.l());
this.N = O("cd-expand-label", this.l());
S(this.o, false);
};
/**
* @param {?} text
* @param {string} a
* @param {?} n
* @param {!Array} d
* @return {?}
*/
y.update = function(text, a, n, d) {
Lr.v.update.call(this, text, a, n, d);
/** @type {boolean} */
this.I = this.bd = false;
mi(null);
S(this.o, false);
K(this.o, bb);
Mr(this, text);
return false;
};
/**
* @return {undefined}
*/
y.V = function() {
Lr.v.V.call(this);
X(this).a(this.o, r, this.Aj, false);
X(this).a(this, "a", A(this.Sg, this, "clks"), false);
X(this).a(this, "b", A(this.Sg, this, "clkt"), false);
};
/**
* @return {undefined}
*/
y.Aj = function() {
/** @type {boolean} */
this.I = !this.I;
this.H(this.I);
if (this.I) {
J(this.o, bb);
Q(this.N, this.Z);
this.log("expand");
} else {
K(this.o, bb);
Q(this.N, this.W);
this.log(bb);
}
};
/**
* @param {string} m
* @param {!Event} b
* @return {undefined}
*/
y.Sg = function(m, b) {
var c = Fi(b.target);
this.log(m, {
clk : c
});
};
/**
* @return {undefined}
*/
y.Lf = function() {
if (this.w) {
Q(this.w, this.bb);
}
};
/**
* @param {!Object} node
* @param {boolean} point
* @return {undefined}
*/
var Mr = function(node, point) {
var a = P(k);
var c = node.P.indexOf(aa);
if (-1 != c) {
var d = node.P.slice(0, c);
c = node.P.slice(c + 4, node.P.length);
if (d) {
ii(a, d);
}
d = P(za, {
"class" : "gt-card-ttl-txt"
});
R(d, nb, ag(node.g) ? sd : Qc);
Q(d, point);
a.appendChild(d);
if (c) {
ii(a, c);
}
if (node.w) {
ji(node.w);
node.w.appendChild(a);
}
} else {
node.Lf();
}
};
/**
* @param {!Object} item
* @param {number} uri
* @param {?} d
* @return {undefined}
*/
var Nr = function(item, uri, d) {
/** @type {boolean} */
item.bd = true;
S(item.o, true);
if (null != uri) {
/** @type {number} */
item.W = uri;
}
if (null != d) {
item.Z = d;
}
Q(item.N, item.W);
};
/**
* @param {string} name
* @return {undefined}
*/
Lr.prototype.H = function(name) {
var x;
var r;
var their_pieces = Th(Vb, this.l());
/** @type {number} */
var i = 0;
for (; i < their_pieces.length; i++) {
x = their_pieces[i];
r = x.firstChild;
var cr = tj(r, Rc);
r = hj(r).height + cr.top + cr.bottom;
R(x, "max-height", name ? r + md : 0);
}
};
/**
* @param {?} name
* @param {?} value
* @return {?}
*/
var Or = function(name, value) {
return value ? name : P(k, {
"class" : Vb
}, name);
};
/**
* @param {?} version
* @param {!Array} matrix
* @param {boolean} type
* @param {string} data
* @param {?} defer_sort
* @return {undefined}
*/
var Pr = function(version, matrix, type, data, defer_sort) {
/** @type {string} */
var id = "bd";
if (null != data && data) {
/** @type {string} */
id = "m" + id;
}
Lr.call(this, version, id, MSG_TRANSLATIONS_OF, "");
/** @type {string} */
this.va = "";
this.va = data ? "gt-baf-cell gt-baf-word" : type ? Ub : "gt-baf-word";
this.qa = type && !data ? Qb : null;
/** @type {null} */
this.A = null;
/** @type {boolean} */
this.X = false;
/** @type {boolean} */
this.ob = type;
this.c = null != data ? data : false;
this.Fa = null != defer_sort ? defer_sort : true;
this.L = {};
this.L[1] = matrix[2];
this.L[2] = matrix[1];
this.L[3] = matrix[0];
this.Da = matrix[3].replace(aa, "%d");
};
C(Pr, Lr);
/**
* @param {!Object} f
* @param {string} a
* @param {number} i
* @param {!Object} v
* @return {?}
*/
Pr.prototype.update = function(f, a, i, v) {
Pr.v.update.call(this, f, a, i, v);
if (!v || 0 == Y(v.a, 1)) {
return false;
}
ji(this.b);
this.A = new Xm(v);
Qr(this, this.A);
if (this.c) {
f = P(k);
} else {
f = P("TBODY");
var n = P("TABLE", {
"class" : "gt-baf-table"
}, f);
}
a = this.A.a;
/** @type {number} */
i = 0;
for (; i < a.length; i++) {
var b = a[i];
var container;
var value = b;
container = value.visible();
var c = value.c;
var n = value.g;
value = P(k, {
"class" : "gt-baf-cell gt-baf-pos-head"
});
if (c) {
this.Ed = c;
Mr(this, c);
}
if ("" !== n) {
c = P(za, {
"class" : Zb
}, n);
value.appendChild(c);
}
container = Or(value, container);
if (this.c) {
container = P(k, null, container);
} else {
container = P("TD", {
colspan : 4
}, container);
container = P("TR", null, container);
}
f.appendChild(container);
if (this.c) {
var p = P(k, "gt-baf-pos-section");
if (i != a.length - 1 && null != a[i + 1] && a[i + 1].visible()) {
R(p, "margin-bottom", "32px");
}
f.appendChild(p);
}
b = b.a;
/** @type {number} */
c = container = 0;
for (; c < b.length; c++) {
value = b[c];
if (!this.c && this.A.b && 0 < c) {
/** @type {!Object} */
n = f;
var c;
c = value.visible();
var name = P(k, {
"class" : "gt-baf-cell gt-baf-sep"
});
c = Or(name, c);
if (!this.c) {
c = P("TD", {
colspan : 4
}, c);
c = P("TR", null, c);
}
n.appendChild(c);
}
value = value.a;
/** @type {number} */
n = 0;
for (; n < value.length; n++) {
name = value[n];
c = Om(v, 0).Ta();
var t = name;
/** @type {number} */
var d = container;
name = t.text;
var m = t.c;
var args;
var a = t.g;
/** @type {!Array} */
args = [];
/** @type {number} */
var e = 0;
for (; e < a.length; e++) {
var i = P(za, null, a[e]);
if (null != this.qa) {
J(i, this.qa);
}
args.push(i);
if (e < a.length - 1) {
args.push(ei(", "));
}
}
a = t.visible;
e = t.b;
if (this.X && this.Fa) {
var s = e;
e = a;
i = P(k, {
"class" : "gt-baf-cell gt-baf-marker-container",
title : this.L[s]
});
s = Cl("width: %dpx", 8 * s);
s = P(k, {
"class" : "gt-baf-cts",
style : s
});
i.appendChild(s);
e = Or(i, e);
} else {
e = P(k, {
"class" : Rb
});
e = Or(e, a);
}
e = P("TD", null, e);
/** @type {null} */
i = null;
if (m) {
i = this.c ? true : a;
s = P(this.c ? za : k, {
"class" : "gt-baf-cell gt-baf-previous-word"
});
if (this.c) {
J(s, "gt-baf-previous-word-mobile");
}
Q(s, m);
i = Or(s, i);
i = this.c ? i : P("TD", null, i);
}
s = this.c ? true : a;
if (ag(this.j) != ag(this.m)) {
var useStyleString = Cl(ob, ag(this.j) ? sd : Qc);
}
var p = P(za, this.va, name);
var color = P(k, Rb, p);
p = Or(this.c ? p : color, s);
if (!s) {
J(p, Xb);
}
m = this.c ? p : P("TD", m ? null : {
colspan : 2,
style : useStyleString
}, p);
if (ag(this.g) != ag(this.m)) {
var gjStyle = Cl(ob, ag(this.g) ? sd : Qc);
}
args = P(k, {
"class" : "gt-baf-cell gt-baf-translations",
style : gjStyle
}, args);
if (this.c) {
J(args, "gt-baf-translations-mobile");
}
a = Or(args, a);
a = this.c ? a : P("TD", {
style : "width: 100%"
}, a);
if (this.c) {
d = P(za, "", i, m);
if (ag(this.j) != ag(this.m)) {
var useStyleString = Cl(ob, ag(this.j) ? sd : Qc);
}
m = P(k, {
"class" : Rb,
style : useStyleString
}, d);
R(m, Tc, "17px");
t = Or(m, t.visible);
m = this.ob && this.c ? P(k, Sb) : P(k, "gt-baf-entry");
m.appendChild(t);
m.appendChild(a);
R(d, "padding-right", "4px");
if (name == c) {
J(d, "gt-baf-word-selected");
}
c = m;
} else {
c = P("TR", null, e, i, m, a);
if (ag(this.g) != ag(this.m) && 1 == d % 2) {
J(c, "gt-baf-translations-alt");
}
}
if (this.c) {
p.appendChild(c);
} else {
f.appendChild(c);
}
container++;
}
}
if (this.c) {
this.b.appendChild(f);
} else {
this.b.appendChild(n);
}
if (0 < Ym(this.A)) {
b = Cl(this.Da, Ym(this.A));
Nr(this, b, MSG_FEWER_TRANSLATIONS_LABEL);
}
}
this.setVisible(true);
return true;
};
/**
* @return {undefined}
*/
Pr.prototype.V = function() {
Pr.v.V.call(this);
J(this.l(), "gt-cd-baf");
X(this).a(this.l(), r, this.pb);
X(this).a(this.l(), Yc, this.Qa);
X(this).a(this.l(), Xc, this.Ha);
};
/**
* @param {?} scope
* @param {!Object} element
* @return {undefined}
*/
var Qr = function(scope, element) {
var features = Zm(element);
features = features.sort(function(a, b) {
return b.a - a.a;
});
/** @type {number} */
var next_tick_ts = 0;
/** @type {boolean} */
scope.X = false;
/** @type {number} */
var i = 0;
for (; i < features.length; i++) {
var f = features[i];
if (-1 < f.a) {
/** @type {boolean} */
scope.X = true;
}
/** @type {number} */
f.b = .05 <= f.a ? 3 : .0025 <= f.a ? 2 : 1;
/** @type {boolean} */
f.visible = 12 > i || 3 == f.b;
/** @type {number} */
next_tick_ts = next_tick_ts + (f.visible ? 0 : 1);
}
if (4 >= next_tick_ts) {
/** @type {number} */
i = 0;
for (; i < features.length; i++) {
/** @type {boolean} */
features[i].visible = true;
}
}
if (element.b) {
$m(element);
}
};
/**
* @param {string} name
* @return {undefined}
*/
Pr.prototype.H = function(name) {
Pr.v.H.call(this, name);
var notActiveCursors = Th(Xb, this.l());
/** @type {number} */
var i = 0;
for (; i < notActiveCursors.length; i++) {
var key = notActiveCursors[i];
var input = O(Rb, key);
var options = tj(input, Rc);
input = input.scrollWidth + options.left + options.right + 1;
R(key, Uc, name ? input + md : 0);
}
};
/**
* @param {!Object} value
* @return {undefined}
*/
Pr.prototype.pb = function(value) {
var id;
id = Ii(value.target);
if (null != id) {
value = O("gt-baf-word", id);
if (null != value) {
this.dispatchEvent(new T("b", value));
}
} else {
if (Bh(value.target, Ub)) {
this.dispatchEvent(new T("b", value.target));
} else {
if (Bh(value.target, Qb)) {
this.dispatchEvent(new T("a", value.target));
}
}
}
};
/**
* @param {!MouseEvent} mutationEvent
* @return {undefined}
*/
Pr.prototype.Qa = function(mutationEvent) {
if (Bh(mutationEvent.target, Qb)) {
var crossfilterable_layers = Sh(null, Qb, this.l());
mutationEvent = Fi(mutationEvent.target);
/** @type {number} */
var layer_i = 0;
for (; layer_i < crossfilterable_layers.length; layer_i++) {
if (Fi(crossfilterable_layers[layer_i]) == mutationEvent) {
J(crossfilterable_layers[layer_i], Tb);
}
}
}
};
/**
* @return {undefined}
*/
Pr.prototype.Ha = function() {
var children = Sh(null, Tb, this.l());
/** @type {number} */
var i = 0;
for (; i < children.length; i++) {
K(children[i], Tb);
}
};
/**
* @param {string} text
* @param {number} a
* @param {number} b
* @param {!Object} typedArray
* @return {undefined}
*/
var Rr = function(text, a, b, typedArray) {
/** @type {string} */
this.text = text;
/** @type {number} */
this.a = a;
/** @type {number} */
this.b = b;
/** @type {!Object} */
this.data = typedArray;
};
/**
* @param {string} q
* @param {number} value
* @param {!Array} m
* @param {number} b
* @return {undefined}
*/
var Sr = function(q, value, m, b) {
/** @type {string} */
this.g = q;
/** @type {number} */
this.c = value;
/** @type {!Array} */
this.m = m;
/** @type {number} */
this.j = b;
/** @type {!Array} */
this.a = [];
/** @type {number} */
this.b = -1;
U(this.g, p, this.dj, false, this);
U(this.c, p, this.Ri, false, this);
U(this.m, p, this.Lh, false, this);
};
y = Sr.prototype;
/**
* @param {string} value
* @param {string} msg
* @param {string} c
* @param {!Object} t
* @return {undefined}
*/
y.push = function(value, msg, c, t) {
this.a.splice(++this.b);
this.a.push(new Rr(value, msg, c, t));
Tr(this);
};
/**
* @return {undefined}
*/
y.reset = function() {
/** @type {!Array} */
this.a = [];
/** @type {number} */
this.b = -1;
};
/**
* @return {undefined}
*/
y.dj = function() {
if (0 < this.b) {
--this.b;
Tr(this);
}
Wp.M().log("lxprev");
};
/**
* @return {undefined}
*/
y.Ri = function() {
if (this.b < this.a.length - 1) {
++this.b;
Tr(this);
}
Wp.M().log("lxnext");
};
/**
* @return {undefined}
*/
y.Lh = function() {
if (1 < this.a.length) {
this.a.splice(1);
/** @type {number} */
this.b = 0;
Tr(this);
}
Wp.M().log("lxclear");
};
/**
* @param {!Object} that
* @return {undefined}
*/
var Tr = function(that) {
var req = that.a[that.b];
that.j.update(req.text, req.a, req.b, req.data);
that.g.ba(1 < that.b);
that.c.ba(that.b < that.a.length - 1);
};
/** @type {boolean} */
var Ur = false;
/**
* @param {string} a
* @return {undefined}
*/
var Vr = function(a) {
if (a = a.match(/[\d]+/g)) {
/** @type {number} */
a.length = 3;
}
};
(function() {
if (navigator.plugins && navigator.plugins.length) {
/** @type {!Plugin} */
var mimeType = navigator.plugins["Shockwave Flash"];
if (mimeType && (Ur = true, mimeType.description)) {
Vr(mimeType.description);
return;
}
if (navigator.plugins["Shockwave Flash 2.0"]) {
/** @type {boolean} */
Ur = true;
return;
}
}
if (navigator.mimeTypes && navigator.mimeTypes.length && (mimeType = navigator.mimeTypes["application/x-shockwave-flash"], Ur = !(!mimeType || !mimeType.enabledPlugin))) {
Vr(mimeType.enabledPlugin.description);
return;
}
try {
var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");
/** @type {boolean} */
Ur = true;
Vr(axo.GetVariable("$version"));
return;
} catch (c) {
}
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
/** @type {boolean} */
Ur = true;
return;
} catch (c) {
}
try {
axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
/** @type {boolean} */
Ur = true;
Vr(axo.GetVariable("$version"));
} catch (c) {
}
})();
/** @type {boolean} */
var Wr = Ur;
/**
* @return {undefined}
*/
var Xr = function() {
/** @type {number} */
this.b = 0;
/** @type {!Array} */
this.a = [];
};
Be(Xr);
/**
* @param {string} name
* @return {undefined}
*/
Xr.prototype.c = function(name) {
/** @type {!Image} */
var obj = new Image;
/** @type {number} */
var i = this.b++;
/** @type {!Image} */
this.a[i] = obj;
/** @type {function(): undefined} */
obj.onload = obj.onerror = function() {
delete Xr.M().a[i];
};
/** @type {string} */
obj.src = name;
/** @type {null} */
obj = null;
};
/**
* @return {undefined}
*/
var Yr = function() {
V.call(this);
/** @type {string} */
this.url = "";
};
C(Yr, V);
/**
* @return {undefined}
*/
Yr.prototype.Vc = function() {
this.dispatchEvent(new Zr(this.url));
};
Yr.prototype.play = ve("url");
/**
* @return {undefined}
*/
Yr.prototype.c = function() {
this.dispatchEvent(new $r(this.url));
};
/**
* @param {string} u
* @return {undefined}
*/
var as = function(u) {
T.call(this, Ed);
/** @type {string} */
this.url = u;
};
C(as, T);
/**
* @param {string} url
* @return {undefined}
*/
var bs = function(url) {
T.call(this, Cd);
/** @type {string} */
this.url = url;
};
C(bs, T);
/**
* @param {string} url
* @return {undefined}
*/
var Zr = function(url) {
T.call(this, Dd);
/** @type {string} */
this.url = url;
};
C(Zr, T);
/**
* @param {string} url
* @return {undefined}
*/
var $r = function(url) {
T.call(this, Bd);
/** @type {string} */
this.url = url;
};
C($r, T);
/**
* @return {undefined}
*/
var cs = function() {
Yr.call(this);
/** @type {function(new:Audio, string=): ?} */
this.m = Audio;
/** @type {!Audio} */
this.a = new this.m;
this.b = {};
};
C(cs, Yr);
/**
* @return {?}
*/
cs.prototype.Qf = function() {
return !this.a.paused;
};
/**
* @return {undefined}
*/
cs.prototype.Vc = function() {
cs.v.Vc.call(this);
this.a.pause();
};
/**
* @param {string} i
* @return {undefined}
*/
cs.prototype.play = function(i) {
cs.v.play.call(this, i);
ds(this, this.a);
/** @type {null} */
this.a = null;
if (null != this.b[i]) {
this.a = this.b[i];
/** @type {null} */
this.b[i] = null;
this.a.play();
} else {
this.a = es(this, i);
/** @type {boolean} */
this.a.autoplay = true;
}
};
/**
* @param {string} show
* @return {undefined}
*/
cs.prototype.rh = function(show) {
z.setTimeout(A(this.o, this, show), 1E3);
};
/**
* @param {!Object} b
* @param {string} t
* @return {?}
*/
var es = function(b, t) {
var c = new b.m;
c.setAttribute("src", t);
U(c, kd, b.j, false, b);
U(c, "ended", b.g, false, b);
U(c, "error", b.c, false, b);
c.load();
return c;
};
/**
* @param {!Object} f
* @param {!Object} a
* @return {undefined}
*/
var ds = function(f, a) {
hk(a, kd, f.j);
hk(a, "ended", f.g);
};
/**
* @param {string} name
* @return {undefined}
*/
cs.prototype.o = function(name) {
if (null != this.b[name]) {
ds(this, this.b[name]);
/** @type {null} */
this.b[name] = null;
}
this.b[name] = es(this, name);
};
/**
* @return {undefined}
*/
cs.prototype.j = function() {
hk(this.a, kd, this.j);
this.dispatchEvent(new as(this.url));
};
/**
* @return {undefined}
*/
cs.prototype.g = function() {
hk(this.a, "ended", this.g);
this.dispatchEvent(new bs(this.url));
};
/**
* @param {number} arg
* @return {undefined}
*/
var fs = function(arg) {
Yr.call(this);
/** @type {number} */
this.a = arg;
/** @type {boolean} */
this.b = false;
};
C(fs, Yr);
y = fs.prototype;
y.Qf = w("b");
/**
* @return {undefined}
*/
y.Vc = function() {
/** @type {boolean} */
this.b = false;
if (null != this.a.stopPlayingSound) {
this.a.stopPlayingSound();
}
gs();
fs.v.Vc.call(this);
};
/**
* @param {?} a
* @return {undefined}
*/
y.play = function(a) {
fs.v.play.call(this, a);
z.setTimeout(A(this.jj, this), 0);
};
/**
* @return {undefined}
*/
y.jj = function() {
/** @type {boolean} */
this.b = true;
var data = A(this.Bj, this);
z.SoundStopCB_ = data;
if (null != this.a.setSoundStopCB) {
this.a.setSoundStopCB("SoundStopCB_");
}
try {
if (null != this.a.setSound) {
this.a.setSound(this.qh());
} else {
/** @type {boolean} */
this.b = false;
gs();
this.c();
return;
}
var data = A(this.qh, this);
z._TTSSoundFile = data;
} catch (c) {
/** @type {boolean} */
this.b = false;
gs();
this.c();
return;
}
if (null != this.a.startPlayingSound) {
this.a.startPlayingSound();
} else {
/** @type {boolean} */
this.b = false;
gs();
this.c();
}
};
/**
* @param {string} show
* @return {undefined}
*/
y.rh = function(show) {
var w = Xr.M();
z.setTimeout(A(w.c, w, show), 1E3);
};
/**
* @return {?}
*/
y.qh = function() {
return this.url.substring(1);
};
/**
* @return {undefined}
*/
y.Bj = function() {
/** @type {boolean} */
this.b = false;
gs();
this.dispatchEvent(new bs(this.url));
};
/**
* @return {undefined}
*/
var gs = function() {
/** @type {null} */
z.SoundStopCB_ = null;
};
/**
* @return {undefined}
*/
var hs = function() {
/** @type {string} */
this.a = "";
/** @type {null} */
this.b = null;
/** @type {boolean} */
this.g = false;
/** @type {null} */
this.c = null;
};
Be(hs);
/**
* @return {?}
*/
hs.prototype.get = function() {
if (null != this.a && 0 != this.a.length) {
var type = M(this.a);
if (!this.g && (is("audio/mpeg") ? (this.b = new cs, type = "html5") : null != type && "OBJECT" == type.tagName && Wr ? (this.b = new fs(type), type = "flash") : (this.b = null, type = ad), this.g = true, !this.j && this.c)) {
/** @type {boolean} */
this.j = true;
/** @type {number} */
var mp3 = is("audio/mpeg") ? 1 : 0;
/** @type {number} */
var ogg = is("audio/ogg") ? 1 : 0;
/** @type {number} */
var wav = is("audio/wav") ? 1 : 0;
var vol;
a: {
try {
var elem = P("audio");
if (null != elem && null != elem.volume) {
vol = elem.volume;
break a;
}
} catch (g) {
}
/** @type {number} */
vol = -1;
}
this.c.log("ttsaudio", {
mp3 : mp3,
ogg : ogg,
wav : wav,
vol : vol,
type : type
});
}
}
return this.b;
};
/**
* @param {string} i
* @return {?}
*/
var is = function(i) {
try {
var audio = P("audio");
return null != audio && null != audio.canPlayType && null != audio.load && null != audio.play && null != audio.paused && null != audio.pause && "no" != audio.canPlayType(i) && "" != audio.canPlayType(i);
} catch (c) {
return false;
}
};
/**
* @param {number} value
* @param {number} v
* @return {undefined}
*/
var js = function(value, v) {
V.call(this);
/** @type {number} */
this.C = v;
this.o = hs.M();
/** @type {number} */
this.o.a = value;
/** @type {number} */
this.o.c = v;
this.a = this.o.get();
/** @type {null} */
this.j = null;
/** @type {number} */
this.b = 0;
this.c = {};
/** @type {number} */
this.g = 0;
/** @type {boolean} */
this.m = false;
};
C(js, V);
/**
* @param {number} name
* @param {!Object} obj
* @return {undefined}
*/
js.prototype.set = function(name, obj) {
/** @type {number} */
this.j = name;
if (null != obj) {
this.c = Uf(obj);
}
this.c.total = name.length;
ks(this);
};
/**
* @param {!Object} obj
* @return {undefined}
*/
var ns = function(obj) {
if (obj.j && obj.a.Qf()) {
var e = Uf(obj.c);
e.idx = obj.b;
/** @type {number} */
e.time = (new Date).getTime() - obj.g;
ls(obj, "ttsstop", e);
ks(obj);
obj.a.Vc();
obj.dispatchEvent(new ms);
}
};
/**
* @param {!Object} o
* @return {undefined}
*/
var ks = function(o) {
/** @type {number} */
o.b = 0;
/** @type {boolean} */
o.m = false;
hk(o.a, Ed, o.G, false, o);
hk(o.a, Cd, o.F, false, o);
hk(o.a, Dd, o.B, false, o);
hk(o.a, Bd, o.w, false, o);
};
/**
* @param {!Object} options
* @param {string} end
* @param {string} func
* @return {undefined}
*/
var ls = function(options, end, func) {
if (options.C) {
options.C.log(end, func);
}
};
/**
* @return {undefined}
*/
js.prototype.G = function() {
if (!this.m) {
this.dispatchEvent(new os);
var c = Uf(this.c);
c.idx = this.b;
/** @type {number} */
c.time = (new Date).getTime() - this.g;
ls(this, "ttsplaystart", c);
/** @type {boolean} */
this.m = true;
}
};
/**
* @return {undefined}
*/
js.prototype.F = function() {
this.b += 1;
if (this.b < this.j.length) {
this.a.play(this.j[this.b]);
ps(this);
} else {
this.dispatchEvent(new ms);
ks(this);
var c = Uf(this.c);
c.idx = this.b;
/** @type {number} */
c.time = (new Date).getTime() - this.g;
ls(this, "ttsfinish", c);
}
};
/**
* @return {undefined}
*/
js.prototype.B = function() {
var c = Uf(this.c);
c.idx = this.b;
/** @type {number} */
c.time = (new Date).getTime() - this.g;
ls(this, "ttsinterrupted", c);
this.dispatchEvent(new ms);
ks(this);
};
/**
* @return {undefined}
*/
js.prototype.w = function() {
var c = Uf(this.c);
c.idx = this.b;
/** @type {number} */
c.time = (new Date).getTime() - this.g;
ls(this, "ttserror", c);
this.dispatchEvent(new ms);
ks(this);
};
/**
* @param {!Object} s
* @return {undefined}
*/
var ps = function(s) {
var newAllowOptions = s.j[s.b + 1];
if (null != newAllowOptions) {
s.a.rh(newAllowOptions);
}
};
/**
* @return {undefined}
*/
var os = function() {
T.call(this, "play_start_playlist");
};
C(os, T);
/**
* @return {undefined}
*/
var ms = function() {
T.call(this, Qd);
};
C(ms, T);
var qs = ve("a");
/**
* @param {string} name
* @param {string} type
* @param {!Function} val
* @return {undefined}
*/
qs.prototype.j = function(name, type, val) {
rs(name, type, val, A(this.c, this), A(this.g, this));
};
/**
* @param {!Object} node
* @param {string} context
* @param {!Function} x
* @param {number} key
* @param {?} func
* @return {undefined}
*/
var rs = function(node, context, x, key, func) {
/** @type {!Array} */
var keys = [];
key(keys, context);
/** @type {string} */
context = "";
/** @type {number} */
key = 0;
for (; key < keys.length; key++) {
var next = We(context + keys[key]);
if (next.length <= x) {
/** @type {string} */
context = context + keys[key];
} else {
if (!Te(context)) {
node.push(We(context));
/** @type {string} */
context = "";
}
next = We(keys[key]);
if (next.length <= x) {
context = keys[key];
} else {
func(node, next, x);
}
}
}
if (!Te(context)) {
node.push(We(context));
}
};
/**
* @param {string} key
* @param {string} name
* @param {string} a
* @return {undefined}
*/
qs.prototype.g = function(key, name, a) {
/** @type {number} */
var i = 0;
for (; i < name.length; i = i + a) {
key.push(name.substr(i, a));
}
};
/** @type {!RegExp} */
var ss = RegExp(" ", "g");
/** @type {!RegExp} */
var ts = RegExp("([?.,;:!][ ]+)|([\u3001\u3002\uff01\uff08\uff09\uff0c\uff0e\uff1a\uff1b\uff1f][ ]?)", "g");
/**
* @param {string} name
* @param {string} type
* @return {undefined}
*/
qs.prototype.c = function(name, type) {
us(name, type, ss);
};
/**
* @param {string} name
* @param {string} type
* @return {undefined}
*/
qs.prototype.b = function(name, type) {
us(name, type, ts);
/** @type {number} */
var i = 0;
for (; i < name.length; i++) {
var b = {
length : name[i].length
};
if (this.a) {
this.a.log("tbphrase", b);
}
}
};
/**
* @param {string} context
* @param {string} s
* @param {!RegExp} x
* @return {undefined}
*/
var us = function(context, s, x) {
/** @type {number} */
var i = 0;
for (; x.test(s);) {
var l = x.lastIndex;
if (l > i) {
context.push(s.substr(i, l - i));
}
i = l;
}
if (s.length > i) {
context.push(s.substr(i));
}
};
/** @type {!Array} */
var vs = [0, 200];
var ws = {
af : 1,
ar : 1,
bn : 1,
bs : 1,
ca : 1,
cs : 1,
cy : 1,
da : 1,
de : 1,
el : 1,
en : 1,
eo : 1,
es : 1,
fi : 1,
fr : 1,
hi : 1,
hr : 1,
hu : 1,
hy : 1,
id : 1,
is : 1,
it : 1,
ja : 1,
ko : 1,
la : 1,
lv : 1,
mk : 1,
nl : 1,
no : 1,
pl : 1,
pt : 1,
ro : 1,
ru : 1,
sk : 1,
sq : 1,
sr : 1,
sv : 1,
sw : 1,
ta : 1,
th : 1,
tr : 1,
vi : 1,
zh : 1,
"zh-cn" : 1,
"zh-tw" : 1
};
/**
* @param {number} b
* @param {?} L
* @param {?} n
* @return {undefined}
*/
var xs = function(b, L, n) {
Aj.call(this);
/** @type {number} */
this.j = b;
this.I = new qs(Wp.M());
this.L = L;
/** @type {string} */
this.w = this.K = this.c = this.g = "";
/** @type {number} */
this.A = 0;
/** @type {boolean} */
this.F = false;
this.a = new js("tts", Wp.M());
/** @type {boolean} */
this.O = null != this.a.a;
this.o = xl || wl;
U(this.a, Qd, this.C, false, this);
U(this.j, p, this.H, false, this);
/** @type {(null|string)} */
this.G = (b = /(sa=[^#&]+)/.exec(window.location.href)) ? b[0] : null;
/** @type {(null|string)} */
this.B = (b = /ttsspeed=([^&]+)/.exec(window.location.href)) ? b[0] : null;
/** @type {number} */
this.b = 0;
/** @type {boolean} */
this.N = !!n;
/** @type {string} */
this.m = "";
};
C(xs, Aj);
/**
* @return {undefined}
*/
xs.prototype.J = function() {
xs.v.J.call(this);
hk(this.a, Qd, this.C, false, this);
hk(this.j, p, this.H, false, this);
};
/**
* @return {undefined}
*/
xs.prototype.C = function() {
this.j.ma(false);
};
/**
* @param {?} g
* @param {!Array} b
* @param {?} areMutuallyExclusive
* @param {number} parentType1
* @param {?} selectionSet1
* @param {?} v23
* @return {?}
*/
var ys = function(g, b, areMutuallyExclusive, parentType1, selectionSet1, v23) {
return qf("/translate_tts?ie=UTF-8&q=", Xe(b), "&tl=", areMutuallyExclusive, "&total=", parentType1, "&idx=", selectionSet1, "&textlen=", b.length, zr(b), g.L, v23);
};
/**
* @param {string} a
* @param {string} b
* @param {string} s
* @return {undefined}
*/
xs.prototype.update = function(a, b, s) {
/** @type {!RegExp} */
var regex = RegExp("([^?.,;:!\"#$%&'()*+\\-/<=>?@[\\]^_`{|}~\u3001\u3002\uff01\uff08\uff09\uff0c\uff0e\uff1a\uff1b\uff1f])");
/** @type {string} */
this.m = "";
if (null != s) {
/** @type {number} */
var dx = 0;
for (; dx < Qm(s); dx++) {
var f = Rm(s, dx);
var url = zm(vm(f, 0));
var hash_pos = Am(vm(f, 0));
url = rm(f).substring(url, hash_pos);
f = wm(um(f, 0));
if (url == f && regex.test(url)) {
this.m = Gm(s);
break;
}
}
}
/** @type {number} */
this.b = 0;
if (this.O) {
if (a != this.g || b != this.c) {
/** @type {string} */
this.g = a;
/** @type {string} */
this.c = b;
/** @type {boolean} */
s = false;
} else {
/** @type {boolean} */
s = true;
}
if (!s) {
ns(this.a);
/** @type {boolean} */
this.F = !this.O || !b || Te(a) || this.o && a.length > vs[ws[b.toLowerCase()]] ? false : b.toLowerCase() in ws;
}
zs(this, this.F);
} else {
zs(this, false);
}
};
/**
* @return {undefined}
*/
xs.prototype.play = function() {
if (this.g != this.K || this.c != this.w || this.b != this.A) {
var data;
if (this.o) {
/** @type {!Array} */
data = [this.g];
} else {
data = vs[ws[this.c.toLowerCase()]];
/** @type {!Array} */
var a = [];
var c = this.I;
var index = this.g.replace(/[ \u3000\n\r\t\s]+/g, " ");
rs(a, index, data, A(c.b, c), A(c.j, c));
/** @type {!Array} */
data = a;
}
/** @type {!Array} */
a = [];
/** @type {string} */
c = "";
if (null != this.G) {
/** @type {string} */
c = c + ("&" + this.G);
}
if (null != this.B) {
/** @type {string} */
c = c + ("&ttsspeed=" + this.B);
} else {
if (0 != this.b) {
/** @type {string} */
c = c + ("&ttsspeed=" + this.b);
}
}
if (this.m) {
/** @type {string} */
c = c + ("&hint=" + this.m);
}
/** @type {number} */
index = 0;
for (; index < data.length; index++) {
a.push(ys(this, data[index], this.c, data.length, index, c));
}
this.a.set(a, {
textlen : this.g.length,
tl : this.c
});
this.K = this.g;
this.w = this.c;
this.A = this.b;
}
data = this.a;
if (data.a.Qf()) {
data.a.Vc();
}
U(data.a, Ed, data.G, false, data);
U(data.a, Cd, data.F, false, data);
U(data.a, Dd, data.B, false, data);
U(data.a, Bd, data.w, false, data);
/** @type {number} */
data.g = (new Date).getTime();
ls(data, "ttsstart", data.c);
data.a.play(data.j[data.b]);
ps(data);
if (this.N) {
/** @type {number} */
this.b = 0 == this.b ? .24 : 0;
}
};
/**
* @return {undefined}
*/
xs.prototype.H = function() {
if (this.j.Ea()) {
this.play();
} else {
ns(this.a);
}
};
/**
* @param {!Object} me
* @param {boolean} value
* @return {undefined}
*/
var zs = function(me, value) {
me.j.setVisible(value);
if (!value) {
ns(me.a);
}
};
/**
* @param {?} descriptor
* @return {undefined}
*/
var As = function(descriptor) {
Kr.call(this, descriptor, "ttl");
/** @type {null} */
this.b = this.c = null;
this.o = new So(MSG_LISTEN, void 0, new Vo(be));
this.w = new xs(this.o, "&client=t&prev=lc");
};
C(As, Kr);
/**
* @return {undefined}
*/
As.prototype.ra = function() {
As.v.ra.call(this);
this.Y(di(k));
};
/**
* @param {!Object} v
* @return {undefined}
*/
As.prototype.Y = function(v) {
As.v.Y.call(this, v);
this.l().appendChild(ip(Ip));
this.c = O("gt-ct-text", this.l());
v = O("gt-ct-tts", this.l());
this.b = O("gt-ct-translit", this.l());
this.o.R(v);
};
/**
* @param {string} t
* @param {string} id
* @param {?} i
* @param {!Array} d
* @return {?}
*/
As.prototype.update = function(t, id, i, d) {
As.v.update.call(this, t, id, i, d);
Q(this.c, t);
this.w.update(t, id);
if (this.data) {
/** @type {!Array} */
t = [];
if (0 < Nm(this.data)) {
/** @type {number} */
id = 0;
for (; id < Nm(this.data); id++) {
i = Om(this.data, id);
if (null != i.kb[3] && "" != Cm(i)) {
t.push(Cm(i));
}
}
}
if (0 < t.length) {
Q(this.b, t.join(" "));
S(this.b, true);
} else {
S(this.b, false);
}
}
this.setVisible(true);
return true;
};
/**
* @param {?} descriptor
* @param {!Array} config
* @param {?} other
* @return {undefined}
*/
var Bs = function(descriptor, config, other) {
Kr.call(this, descriptor, "cm");
/** @type {!Array} */
this.X = config;
this.I = new As(descriptor);
/** @type {null} */
this.H = null;
this.Z = other;
this.b = new W;
this.Ia(this.b);
this.w = new W;
this.Ia(this.w);
/** @type {null} */
this.c = this.A = this.L = this.N = this.P = null;
/** @type {!Array} */
this.o = [];
};
C(Bs, Kr);
y = Bs.prototype;
/**
* @return {undefined}
*/
y.ra = function() {
Bs.v.ra.call(this);
this.Y(di(k));
};
/**
* @param {!Object} selector
* @return {undefined}
*/
y.Y = function(selector) {
Bs.v.Y.call(this, selector);
this.l().appendChild(ip(Gp));
this.I.R(O("gt-cc-tc", this.l()));
this.H = O("gt-cc-t", this.l());
S(this.H, false);
this.b.R(O("gt-cc-l-i", this.l()));
this.w.R(O("gt-cc-r-i", this.l()));
selector = O("gt-cc-bc", this.l());
this.P = new eo("", new Vo("prev-button"));
this.P.aa(selector);
this.N = new eo("", new Vo("next-button"));
this.N.aa(selector);
this.L = new eo("", new Vo("big-clear-button"));
this.L.aa(selector);
this.A = O("gt-cc-exp", this.l());
this.c = new Sr(this.P, this.N, this.L, this);
};
/**
* @return {undefined}
*/
y.V = function() {
Bs.v.V.call(this);
X(this).a(this, "a", this.Fi);
X(this).a(this, "b", this.Gi);
X(this).a(this.A, r, this.oi);
};
/**
* @return {undefined}
*/
y.oi = function() {
S(this.A, false);
xf(this.o, function(varTable) {
varTable.setVisible(true);
});
var cssText = {};
Ll(this.b, function(rule) {
if (rule.isVisible()) {
/** @type {string} */
cssText[rule.Ua()] = rule.bd ? "e" : "ne";
}
});
this.log("expand", cssText);
};
/**
* @param {!Function} a
* @return {undefined}
*/
y.Fi = function(a) {
a = Fi(a.target);
Cs(this, this.g, this.j, a, false, "clks");
};
/**
* @param {!Function} a
* @return {undefined}
*/
y.Gi = function(a) {
a = Fi(a.target);
Cs(this, this.j, this.g, a, false, "clkt");
};
/**
* @param {!Object} inputService
* @return {undefined}
*/
y.Eg = function(inputService) {
var tParentMatrix = this.c.a[0];
Cs(this, tParentMatrix.b, tParentMatrix.a, inputService.text, true, "selalt");
};
/**
* @param {?} message
* @return {undefined}
*/
y.Ci = function(message) {
var messageText = message.text;
if (!(50 < messageText.length)) {
var tParentMatrix = this.c.a[0];
if (message.w) {
Cs(this, tParentMatrix.b, tParentMatrix.a, messageText, true, "sel");
} else {
Cs(this, tParentMatrix.a, tParentMatrix.b, messageText, true, "sel");
}
}
};
/**
* @param {!Object} e
* @param {string} target
* @param {string} mode
* @param {string} value
* @param {boolean} expand
* @param {string} pane
* @return {undefined}
*/
var Cs = function(e, target, mode, value, expand, pane) {
if (value != e.text || target != e.g) {
if (target == qe) {
target = pe;
}
if (expand) {
Q(e.I.c, "...");
Gr(e.X, target, mode, e.m, value, A(e.W, e, value, target, mode), false, "UTF-8", new Xq("source=" + pane));
} else {
tl(e.Z, target, mode, value, pane);
}
}
};
/**
* @param {?} data
* @param {string} id
* @param {?} index
* @param {!Array} b
* @return {?}
*/
Bs.prototype.update = function(data, id, index, b) {
Bs.v.update.call(this, data, id, index, b);
S(this.H, 1 != this.c.a.length);
/** @type {number} */
var $2 = 0;
/** @type {number} */
var $3 = 0;
/** @type {boolean} */
var g = true;
/** @type {!Array} */
this.o = [];
Ll(this.b, function(e) {
var result = e.update(data, id, index, b);
/** @type {number} */
$2 = $2 | result;
if (result) {
if (g) {
/** @type {boolean} */
g = false;
} else {
if (!e.Qe) {
e.setVisible(false);
this.o.push(e);
}
}
}
}, this);
Ds(this, this.b);
/** @type {boolean} */
var e = 0 < this.o.length;
S(this.A, e);
Ll(this.w, function(callbacks) {
/** @type {number} */
$3 = $3 | callbacks.update(data, id, index, b);
}, this);
var value = $2 || $3;
this.setVisible(value);
this.I.update(data, id, index, b);
if (value) {
var cssText = {};
Ll(this.b, function(rule) {
if (rule.isVisible()) {
/** @type {string} */
cssText[rule.Ua()] = rule.bd ? "e" : "ne";
}
});
Ll(this.w, function(rule) {
if (rule.isVisible()) {
/** @type {string} */
cssText[rule.Ua()] = rule.bd ? "e" : "ne";
}
});
/** @type {string} */
cssText[this.Ua()] = e ? "e" : "ne";
this.log(Ad, cssText);
}
return value;
};
/**
* @param {string} key
* @param {string} name
* @param {!Function} d
* @param {string} a
* @return {undefined}
*/
Bs.prototype.W = function(key, name, d, a) {
this.c.push(key, name, d, a);
if (!this.isVisible()) {
key = this.c;
if (1 < key.a.length) {
key.a.splice(key.a.length - 1);
/** @type {number} */
key.b = key.a.length - 1;
Tr(key);
}
}
};
/**
* @param {!Object} b
* @param {!Object} a_val
* @return {undefined}
*/
var Ds = function(b, a_val) {
/** @type {!Array} */
var c = [];
Ll(a_val, function(res) {
if (res.isVisible() || Ef(this.o, res)) {
var a = res.Ed || res.text;
if (Ef(c, a)) {
res.Lf();
} else {
c.push(a);
}
}
}, b);
};
/**
* @param {!Object} h
* @return {?}
*/
var Es = function(h) {
return '<div id="' + Z(h.id) + '" class="cp-promo" style="display:none"><div class="cp-promo-c"><div class="cp-dismiss"></div><a href="' + Z(h.url) + '"><div class="cp-promo-graphic"></div><div class="cp-promo-text-c"><div class="cp-promo-text"><div class="cp-promo-title">' + Z(h.zj) + '</div><div class="cp-promo-subtext">' + Z(h.wj) + '</div></div></div><div class="cp-promo-bottom"><div class="cp-promo-link"><div class="cp-promo-link-badge"></div><div class="cp-promo-link-arrow"></div><div class="cp-promo-link-text">' +
Z(h.qd) + '</div><div class="cp-promo-link-subtext">' + Z(h.Mi) + "</div></div></div></a></div></div>";
};
/**
* @param {!Object} h
* @return {?}
*/
var Fs = function(h) {
return '<div id="' + Z(h.id) + '" class="verified-translation"><div class="vt-description">' + Z(h.$e) + '</div><div class="vt-buttons"><div class="vt-link"><a class="vt-link-text" href="' + Z(h.url) + '">' + Z(h.qd) + '</a></div><div class="vt-dismiss">' + Z(h.Qh) + "</div></div></div>";
};
/**
* @param {?} a
* @param {!Array} b
* @param {number} h
* @param {(Object|string)} o
* @param {?} t
* @param {number} s
* @return {undefined}
*/
var Gs = function(a, b, h, o, t, s) {
W.call(this);
this.c = Wp.M();
this.A = a;
/** @type {!Array} */
this.m = b;
/** @type {number} */
this.w = h;
/** @type {(Object|string)} */
this.o = o;
this.H = t;
/** @type {number} */
this.b = s;
/** @type {boolean} */
this.j = false;
};
C(Gs, W);
/**
* @param {boolean} id
* @return {undefined}
*/
Gs.prototype.setVisible = function(id) {
if (id && !this.j) {
this.c.log(cb, "show-" + this.b);
S(this.g, true);
} else {
S(this.g, false);
}
};
/**
* @param {!Object} s
* @return {undefined}
*/
Gs.prototype.Y = function(s) {
Gs.v.Y.call(this, s);
this.g = ip(Es, {
qd : this.A,
Mi : this.m,
zj : this.w,
wj : this.o,
url : this.H,
id : this.b
});
s.appendChild(this.g);
var a = O("cp-dismiss", s);
X(this).a(a, r, this.I);
s = O("cp-promo-link", s);
X(this).a(s, r, this.L);
};
/**
* @return {undefined}
*/
Gs.prototype.I = function() {
this.c.log(cb, "dismiss-" + this.b);
$p(this.c, ha + this.b);
this.setVisible(false);
/** @type {boolean} */
this.j = true;
};
/**
* @return {undefined}
*/
Gs.prototype.L = function() {
this.c.log(cb, "click-" + this.b);
};
/**
* @param {?} promiseOrResolver
* @param {?} name
* @param {?} prefixAgnostic
* @return {undefined}
*/
var Hs = function(promiseOrResolver, name, prefixAgnostic) {
/** @type {string} */
var id = "md";
if (null != prefixAgnostic && prefixAgnostic) {
/** @type {string} */
id = "m" + id;
}
Lr.call(this, promiseOrResolver, id, MSG_DEFINITIONS_OF, "");
this.L = null != name ? name : true;
};
C(Hs, Lr);
/**
* @param {number} a
* @param {string} id
* @param {number} x
* @param {!Object} p
* @return {?}
*/
Hs.prototype.update = function(a, id, x, p) {
Hs.v.update.call(this, a, id, x, p);
if (!p || 0 == Y(p.a, 12) && 0 == Y(p.a, 15)) {
return false;
}
ji(this.b);
/** @type {number} */
this.c = 0;
a = Y(p.a, 12);
/** @type {boolean} */
id = 3 > a;
/** @type {number} */
var i = x = 0;
for (; i < Y(p.a, 12); i++) {
x = x + Tm(p, i).a();
}
x = 5 > x ? x : 3;
/** @type {number} */
i = this.A = 0;
for (; i < a; ++i) {
var v = Tm(p, i);
var m;
m = Tm(p, i).g[2];
m = null != m ? m : "";
var value = P(k, {
"class" : Zb
});
this.b.appendChild(value);
var node = v.g[0];
Q(value, null != node ? node : "");
/** @type {!Object} */
value = p;
/** @type {string} */
node = id;
/** @type {number} */
var r = x;
/** @type {number} */
var label = Math.ceil(r / a);
var d = P(k, {
"class" : "gt-def-list"
});
var pos = ag(this.g) ? sd : Qc;
R(d, {
direction : pos
});
/** @type {number} */
pos = 0;
for (; pos < v.a(); ++pos) {
var style = v.c(pos);
var el;
el = style.a[0];
el = null != el ? el : "";
var city;
city = style.a[2];
city = null != city ? city : "";
var val = value;
/** @type {!Array} */
var def = [];
/** @type {number} */
var QueryLanguageComponent = 0;
for (; QueryLanguageComponent < Y(val.a, 11); ++QueryLanguageComponent) {
var super$0 = Sm(val, QueryLanguageComponent);
/** @type {number} */
var key = 0;
for (; key < super$0.a(); ++key) {
var v = super$0.c(key);
var url = style.a[1];
var cssClassName = v.a[1];
if ((null != url ? url : "") == (null != cssClassName ? cssClassName : "")) {
/** @type {!Array} */
url = [];
/** @type {number} */
cssClassName = 0;
for (; cssClassName < Y(v.a, 0); ++cssClassName) {
Gf(url, Fm(v, cssClassName));
}
Gf(def, url);
}
}
}
/** @type {!Array} */
style = def;
if (val = 1 > pos || node && pos < label && this.A < r) {
this.A += 1;
}
def = ag(this.j) ? sd : Qc;
style = jp(Kp, {
Oh : el,
kg : city,
xj : MSG_SYNONYMS_LOWERCASE,
ih : style,
Tf : def,
Mh : this.L
});
def = O("gt-mt-md", style);
this.$.push([def, el]);
if (el = O("gt-ex-mt", style)) {
this.$.push([el, city]);
}
if ((el = O("gt-def-synonym-title", style)) && ag(this.m) != ag(this.g)) {
city = ag(this.m);
R(el, nb, city ? sd : Qc);
R(el, "padding-" + (city ? Pc : qd), "8px");
el.style[E ? "styleFloat" : "cssFloat"] = city ? qd : Pc;
}
el = Or(style, val);
d.appendChild(el);
this.c += 1;
}
this.b.appendChild(d);
}
/** @type {number} */
i = 0;
for (; i < Y(p.a, 15); i++) {
/** @type {number} */
value = i;
value = new om(Tl(p.a, 15)[value]);
v = value.a[1];
r = null != v ? v : "";
v = value.a[2];
v = null != v ? v : "";
node = P(k, {
"class" : "gt-def-row"
});
r = P(k, {
"class" : "gt-kp-desc"
}, r);
label = P("A");
value = value.a[3];
label.setAttribute("href", null != value ? value : "");
label.setAttribute("target", "_blank");
value = P(sa, {
"class" : "gt-kp-image"
});
value.setAttribute("src", v);
label.appendChild(value);
node.appendChild(label);
node.appendChild(r);
this.b.appendChild(node);
}
if (m) {
this.Ed = m;
Mr(this, m);
}
if (!id && this.c > 1 * a || id && this.c > x) {
p = MSG_N_MORE_DEFINITIONS_LABEL.replace(aa, this.c - this.A);
Nr(this, p, MSG_FEWER_DEFINITIONS_LABEL);
} else {
p = Th(Vb, this.l());
/** @type {number} */
m = 0;
for (; m < p.length; m++) {
a = p[m];
if (O("gt-def-synonym", a)) {
K(a, Vb);
}
}
}
this.setVisible(true);
return true;
};
/**
* @return {undefined}
*/
Hs.prototype.V = function() {
Hs.v.V.call(this);
X(this).a(this.l(), r, this.X);
};
/**
* @param {string} selector
* @return {undefined}
*/
Hs.prototype.Y = function(selector) {
Hs.v.Y.call(this, selector);
};
/**
* @param {string} key
* @return {undefined}
*/
Hs.prototype.X = function(key) {
if (Bh(key.target, Yb)) {
this.dispatchEvent(new T("a", key.target));
}
};
var Is = ue();
Is.prototype.m = x("");
/**
* @param {number} g
* @param {number} b
* @param {number} c
* @param {!Object} d
* @param {!Object} e
* @return {undefined}
*/
var Js = function(g, b, c, d, e) {
/** @type {number} */
this.g = g;
/** @type {number} */
this.j = b;
/** @type {number} */
this.c = c;
/** @type {!Array} */
this.a = [];
/** @type {number} */
g = 0;
for (; g < d.length; ++g) {
this.a.push(d[g].toLowerCase());
}
/** @type {!Array} */
this.b = [];
/** @type {number} */
g = 0;
for (; g < e.length; ++g) {
this.b.push(e[g].toLowerCase());
}
};
C(Js, Is);
/**
* @param {string} name
* @param {string} type
* @param {string} data
* @param {string} value
* @return {?}
*/
Js.prototype.m = function(name, type, data, value) {
if ("" != this.c && this.c != data) {
return "";
}
data = Ks(name, type, value, this.g, this.j, this.a, this.b);
return "" != data ? data : Ks(name, type, value, this.j, this.g, this.b, this.a);
};
/**
* @param {?} a
* @param {string} b
* @param {!Object} start
* @param {?} one
* @param {string} two
* @param {!Object} path
* @param {!Object} g
* @return {?}
*/
var Ks = function(a, b, start, one, two, path, g) {
if (a == one && b == two) {
/** @type {number} */
a = 0;
for (; a < Nm(start); a++) {
b = Om(start, a);
one = Bm(b).toLowerCase();
if (0 <= wf(path, one)) {
return one;
}
b = b.Ta().toLowerCase();
if (0 <= wf(g, b)) {
return b;
}
}
}
return "";
};
/** @type {!Array} */
var Ls = [{
oa : new Js(v, t, v, ["\u0434\u0430\u043c\u0430", "\u0441\u043e\u0431\u0430\u043a\u0430", "\u0441\u043e\u0431\u0430\u0447\u043a\u0430", "\u0434\u0430\u043c\u0430 \u0441 \u0441\u043e\u0431\u0430\u0447\u043a\u043e\u0439"], ["lady", "dog", "dog", "lady with a dog"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/annasergeevna.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u043c\u0438\u043b\u044b\u0439", "\u0433\u0440\u0435\u0448\u043d\u0438\u043a", "\u0433\u0440\u0435\u0445", "\u0433\u0440\u0435\u0448\u043d\u0438\u0446\u0430"], ["sweet", "sinner", "sin", "sinner"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/annasergeevna_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0447\u0435\u043b\u043e\u0432\u0435\u043a", "\u0444\u0443\u0442\u043b\u044f\u0440", "\u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0430", "\u0441\u043a\u043e\u0440\u043b\u0443\u043f\u0430"], ["man", "case", "shell", "shell"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/belikov.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u043d\u0435\u0442"], ["no"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/belikov_callout.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0441\u0435\u0441\u0442\u0440\u0430", "\u0442\u0440\u0438 \u0441\u0435\u0441\u0442\u0440\u044b"], ["sister", "three sisters"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/chekhov_1.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0434\u043e\u043c", "\u043c\u0435\u0437\u043e\u043d\u0438\u043d", "\u0434\u043e\u043c \u0441 \u043c\u0435\u0437\u043e\u043d\u0438\u043d\u043e\u043c"], ["house", "mezzanine", "house with mezzanine"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/chekhov_2.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0437\u043b\u043e\u0439", "\u043c\u0430\u043b\u044c\u0447\u0438\u043a", "\u0437\u043b\u043e\u0439 \u043c\u0430\u043b\u044c\u0447\u0438\u043a"], ["evil", "boy", "evil boy"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/chekhov_3.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u043d\u0435\u0432\u0435\u0441\u0442\u0430"], ["bride"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/chekhov_4.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0441\u043a\u0443\u0447\u043d\u044b\u0439", "\u0441\u043a\u0443\u043a\u0430", "\u0441\u043a\u0443\u0447\u043d\u0430\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f"], ["boring", "boredom", "boring story"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/chekhov_5.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0446\u0432\u0435\u0442\u044b", "\u0437\u0430\u043f\u043e\u0437\u0434\u0430\u043b\u044b\u0439", "\u0446\u0432\u0435\u0442\u044b \u0437\u0430\u043f\u043e\u0437\u0434\u0430\u043b\u044b\u0435", "\u043f\u043e\u0437\u0434\u043d\u043e", "\u043f\u043e\u0437\u0434\u043d\u0438\u0439"], ["flowers", "belated", "belated flowers", "late"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/chekhov_6.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u043e\u0432\u0440\u0430\u0433", "\u0432 \u043e\u0432\u0440\u0430\u0433\u0435"], ["ravine", "in a ravine"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/grigoiriytsibukin.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u044f \u043d\u0435 \u0437\u043d\u0430\u044e"], ["i do not know"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/grigoiriytsibukin_callout.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0446\u0438\u043d\u0438\u043a", "\u0446\u0438\u043d\u0438\u0437\u043c"], ["cynic", "cynism"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/grigoiriytsibukin_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, "\u0432\u043a\u0443\u0441\u043d\u043e \u043a\u043b\u0443\u0431\u043d\u0438\u043a\u0430 \u044f\u0433\u043e\u0434\u0430 \u0444\u0440\u0443\u043a\u0442 \u0430\u0440\u0431\u0443\u0437 \u0435\u0434\u0430".split(" "), "tasty strawberry berry fruit watermelon food".split(" ")),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/gurov.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u043f\u0440\u0438\u044f\u0442\u043d\u043e\u0433\u043e \u0430\u043f\u043f\u0435\u0442\u0438\u0442\u0430"], ["bon appetit"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/gurov_callout.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u043f\u0440\u043e\u0441\u0432\u0435\u0442\u0432\u043b\u0435\u043d\u043d\u044b\u0439"], ["enlightened"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/gurov_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0442\u043e\u0441\u043a\u0430", "\u0433\u0440\u0443\u0441\u0442\u044c", "\u043f\u0435\u0447\u0430\u043b\u044c", "\u043f\u0435\u0447\u0430\u043b\u044c", "\u043f\u0435\u0447\u0430\u043b\u044c\u043d\u044b\u0439"], ["yearning", "sorrow", "sadness", "sadness", "sad"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/iona.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0436\u0435\u0440\u0442\u0432\u0430", "\u0441\u0442\u0440\u0430\u0434\u0430\u0442\u044c", "\u0441\u0442\u0440\u0430\u0434\u0430\u043b\u0438\u0446\u0430", "\u0441\u0442\u0440\u0430\u0434\u0430\u043b\u0435\u0446", "\u0432\u0435\u0447\u043d\u044b\u0439"], ["victim", "suffer", "sufferer", "eternal"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/iona_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0447\u0430\u0439\u043a\u0430", "\u043f\u0442\u0438\u0446\u0430"], ["seagull", "bird"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/konstantintreplev.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0441\u0442\u0440\u0430\u043d\u043d\u0438\u043a", "\u0431\u0440\u043e\u0434\u044f\u0433\u0430"], ["wanderer", "tramp"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/konstantintreplev_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0440\u043e\u0437\u0430", "\u0433\u043e\u0434", "\u0442\u0440\u0438 \u0433\u043e\u0434\u0430"], ["rose", "year", "three years"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/laptev.gif"
},
ea : true
}, {
oa : new Js(v, t, v, "\u043b\u044e\u0431\u043b\u044e;\u043b\u044e\u0431\u0438\u0442\u044c;\u044f \u0442\u0435\u0431\u044f \u043b\u044e\u0431\u043b\u044e;\u043b\u044e\u0431\u043e\u0432\u044c;\u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f;\u043d\u0440\u0430\u0432\u0438\u0442\u044c\u0441\u044f".split(";"), "love;love;i love you;love;artist;please".split(";")),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/laptev_callout.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0440\u043e\u043c\u0430\u043d\u0442\u0438\u043a", "\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439"], ["romantic", "latest"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/laptev_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0431\u0438\u0437\u043d\u0435\u0441", "\u0434\u0435\u043b\u043e", "\u0432\u0438\u0448\u043d\u044f", "\u0441\u0430\u0434", "\u0432\u0438\u0448\u043d\u0435\u0432\u044b\u0439 \u0441\u0430\u0434"], ["business", "business", "cherry", "garden", "the cherry orchard"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/lopakhin.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0434\u0430"], ["yes"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/lopakhin_callout.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0440\u0430\u0431\u043e\u0442\u0430"], ["work"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/lopakhin_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0436\u0438\u0437\u043d\u044c", "\u043c\u043e\u044f \u0436\u0438\u0437\u043d\u044c"], ["life", "my life"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/masha.gif"
},
ea : true
}, {
oa : new Js(v, t, v, "\u043f\u0440\u0438\u0432\u0435\u0442;\u0434\u043e\u0431\u0440\u044b\u0439 \u0434\u0435\u043d\u044c;\u0434\u043e\u0431\u0440\u044b\u0439 \u0432\u0435\u0447\u0435\u0440;\u0434\u043e\u0431\u0440\u043e\u0435 \u0443\u0442\u0440\u043e;\u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439;\u0437\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435;\u043a\u0430\u043a \u0434\u0435\u043b\u0430;\u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0448\u044c;\u0447\u0442\u043e \u043d\u043e\u0432\u043e\u0433\u043e;\u043a\u0430\u043a \u0436\u0438\u0437\u043d\u044c;\u043a\u0430\u043a \u0442\u044b".split(";"),
"hello;good afternoon;good evening;good morning;how are you;what are you doing;what's new;what's up".split(";")),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/masha_callout.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0445\u0438\u0449\u043d\u0438\u043a", "\u0432\u0430\u043c\u043f\u0438\u0440", "\u043e\u0445\u043e\u0442\u0430"], ["predator", "vampire", "hunting"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/masha_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, "\u043a\u043d\u0438\u0433\u0430 \u043b\u0438\u0442\u0435\u0440\u0430\u0442\u0443\u0440\u0430 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437 \u0438\u0441\u043a\u0443\u0441\u0441\u0442\u0432\u043e \u043a\u043b\u0430\u0441\u0441\u0438\u043a\u0430 \u0430\u0432\u0442\u043e\u0440 \u043f\u0438\u0441\u0430\u0442\u0435\u043b\u044c \u043f\u044c\u0435\u0441\u0430".split(" "),
["book", "literature", "composition", "history", "story", "art", "classic", "author", "writer", kd]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/petyatrofimov_callout.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0441\u0442\u0443\u0434\u0435\u043d\u0442", "\u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043a\u0430"], ["student", "student"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/petyatrofimov_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, "\u043f\u0430\u043b\u0430\u0442\u0430;\u043f\u0430\u043b\u0430\u0442\u0430 \u21166;\u043f\u0441\u0438\u0445\u0438\u0430\u0442\u0440\u0438\u044f;\u043f\u0441\u0438\u0445\u0438\u0430\u0442\u0440\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0431\u043e\u043b\u044c\u043d\u0438\u0446\u0430;\u043f\u0441\u0438\u0445\u0443\u0448\u043a\u0430;\u0431\u043e\u043b\u044c\u043d\u0438\u0446\u0430;\u0434\u0443\u0440\u0434\u043e\u043c".split(";"), "ward;ward No6;psychiatry;mental hospital;nuthouse;hospital;loony bin".split(";")),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/ragin.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u043f\u043e\u0431\u0435\u0436\u0434\u0435\u043d\u043d\u044b\u0439", "\u043f\u043e\u0440\u0430\u0436\u0435\u043d\u0438\u0435", "\u043f\u0440\u043e\u0438\u0433\u0440\u044b\u0448"], ["defeated", "defeat", "loss"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/ragin_type.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0434\u044f\u0434\u044f"], ["uncle"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/sonya.gif"
},
ea : true
}, {
oa : new Js(v, t, v, ["\u0430\u043b\u044c\u0442\u0440\u0443\u0438\u0441\u0442", "\u0434\u043e\u0431\u0440\u043e", "\u0445\u043e\u0440\u043e\u0448\u0438\u0439"], ["altruist", "good", "good"]),
target : sc,
ia : sa,
attributes : {
src : "//ssl.gstatic.com/translate/ee/sonya_type.gif"
},
ea : true
}];
/**
* @param {?} p1__3354_SHARP_
* @return {undefined}
*/
var Ms = function(p1__3354_SHARP_) {
Lr.call(this, p1__3354_SHARP_, "ee", "", "");
/** @type {boolean} */
this.Qe = true;
};
C(Ms, Lr);
/** @type {!Array} */
var Ns = [];
/**
* @param {!Object} v
* @param {string} a
* @param {!Function} n
* @param {string} d
* @return {?}
*/
Ms.prototype.update = function(v, a, n, d) {
Ms.v.update.call(this, v, a, n, d);
ji(this.b);
var vertices = Ns;
if (EGGS_RU_CHEKHOV) {
vertices = vertices.concat(Ls);
}
/** @type {number} */
var i = 0;
for (; i < vertices.length; i++) {
v = vertices[i];
var p = v.oa.m(a, n, this.m, d);
if ("" != p) {
return n = a = jp(Mp), v.target && (d = v.target, v.ea && (d = d + p), p = jp(Np, {
yf : d
}), n.appendChild(p), n = p), n.appendChild(P.apply(null, [v.ia, v.attributes])), this.b.appendChild(a), this.setVisible(true), true;
}
}
return false;
};
/**
* @return {undefined}
*/
Ms.prototype.Lf = function() {
if (this.w) {
Q(this.w, "");
}
};
/**
* @param {?} i
* @param {?} objSource
* @param {string} objDestination
* @param {!Array} other
* @param {!Object} options
* @param {?} url
* @param {number} c
* @return {undefined}
*/
var Ps = function(i, objSource, objDestination, other, options, url, c) {
W.call(this);
this.Z = i;
this.Fa = objSource;
/** @type {string} */
this.Ha = objDestination;
/** @type {!Object} */
this.$ = options;
this.Da = url;
/** @type {!Array} */
this.X = other;
this.U = new Ar(Os(this));
/** @type {number} */
this.g = c;
/** @type {string} */
this.j = "";
/** @type {number} */
this.w = c;
/** @type {null} */
this.P = null;
this.I = Wp.M();
};
C(Ps, W);
/**
* @param {?} node
* @return {?}
*/
var Os = function(node) {
return node.X ? "webapp" : "t";
};
/**
* @param {!Object} item
* @return {undefined}
*/
var Qs = function(item) {
var i = P(k, {
id : "gt-res-formal"
});
item.l().appendChild(i);
var node = new Rp("");
node.Ba(16, true);
node.aa(i);
node.g(item.Fa);
zn(node.c, node, 2);
if (0 == item.w) {
node.ma(true);
}
U(node, p, item.qa, false, item);
item.L = node;
i = P(k, {
id : "gt-res-informal"
});
item.l().appendChild(i);
node = new Rp("");
node.Ba(16, true);
node.aa(i);
node.g(item.Ha);
zn(node.c, node, 1);
if (1 == item.w) {
node.ma(true);
}
U(node, p, item.va, false, item);
item.N = node;
item.setVisible(false);
};
/**
* @return {undefined}
*/
Ps.prototype.qa = function() {
if (this.m) {
if (this.L.Ea()) {
this.N.ma(false);
/** @type {number} */
this.g = 0;
aq(this.I, Os(this), zb, "formal", {
hl : this.b,
sl : this.c,
tl : this.na,
source : this.m,
trans : this.j,
changed : this.A != this.j
});
} else {
/** @type {number} */
this.g = 2;
aq(this.I, Os(this), zb, "unpressformal", {
hl : this.b,
sl : this.c,
tl : this.na,
source : this.m,
trans : this.j,
changed : this.o != this.j
});
}
/** @type {boolean} */
this.P = true;
tl(this.Z, "", "", this.m, "fmcl");
Rs(this);
}
};
/**
* @return {undefined}
*/
Ps.prototype.va = function() {
if (this.m) {
if (this.N.Ea()) {
this.L.ma(false);
/** @type {number} */
this.g = 1;
aq(this.I, Os(this), zb, "informal", {
hl : this.b,
sl : this.c,
tl : this.na,
source : this.m,
trans : this.j,
changed : this.H != this.j
});
} else {
/** @type {number} */
this.g = 2;
aq(this.I, Os(this), zb, "unpressinformal", {
hl : this.b,
sl : this.c,
tl : this.na,
source : this.m,
trans : this.j,
changed : this.o != this.j
});
}
/** @type {boolean} */
this.P = true;
tl(this.Z, "", "", this.m, "fmcl");
Rs(this);
}
};
/**
* @param {string} value
* @param {string} id
* @param {string} p
* @param {!Array} m
* @param {!Object} a
* @return {undefined}
*/
Ps.prototype.update = function(value, id, p, m, a) {
/** @type {!Array} */
this.m = m;
/** @type {!Object} */
this.j = a;
/** @type {string} */
this.b = p;
/** @type {string} */
this.c = value;
/** @type {string} */
this.na = id;
if (this.P) {
/** @type {boolean} */
this.P = false;
} else {
/** @type {null} */
this.H = this.A = this.o = null;
switch(this.g) {
case 0:
/** @type {!Object} */
this.A = a;
break;
case 1:
/** @type {!Object} */
this.H = a;
break;
case 2:
/** @type {!Object} */
this.o = a;
}
if (this.$ && value == t && "de" == id) {
if (0 != this.g) {
/** @type {number} */
p = 0;
a = new Xq;
fr(a, "tco", p);
a.set(Fd, "fmcp");
var error = Br;
Fr(this.U, value, id, t, m, [error.Fe], A(this.W, this, p), void 0, a);
}
if (1 != this.g) {
/** @type {number} */
p = 1;
a = new Xq;
fr(a, "tco", p);
a.set(Fd, "fmcp");
error = Br;
Fr(this.U, value, id, t, m, [error.Fe], A(this.W, this, p), void 0, a);
}
if (2 != this.g) {
/** @type {number} */
p = 2;
a = new Xq;
fr(a, "tco", p);
a.set(Fd, "fmcp");
error = Br;
Fr(this.U, value, id, t, m, [error.Fe], A(this.W, this, p), void 0, a);
}
} else {
this.setVisible(false);
}
}
};
/**
* @param {number} name
* @param {string} type
* @return {undefined}
*/
Ps.prototype.W = function(name, type) {
if (null != type) {
/** @type {!Array} */
var value = [];
if (0 < Nm(type)) {
/** @type {number} */
var templateUrl = 0;
for (; templateUrl < Nm(type); templateUrl++) {
var params = Om(type, templateUrl);
if (null != params.kb[0]) {
value.push(params.Ta());
}
}
}
if (0 == name) {
/** @type {string} */
this.A = value.join("");
} else {
if (1 == name) {
/** @type {string} */
this.H = value.join("");
} else {
if (2 == name) {
/** @type {string} */
this.o = value.join("");
}
}
}
if (null != this.A && null != this.H && null != this.o) {
if (value = this.A != this.H) {
aq(this.I, Os(this), zb, Ad, {
hl : this.b,
sl : this.c,
tl : this.na,
source : this.m,
trans : this.j,
changed : this.j != this.o
});
} else {
Ss(this);
}
this.setVisible(value);
}
}
};
/**
* @param {!Object} p
* @return {undefined}
*/
var Ss = function(p) {
if (!p.Da) {
p.L.ma(false);
p.N.ma(false);
p.g = p.w;
if (0 == p.w) {
p.L.ma(true);
} else {
if (1 == p.w) {
p.N.ma(true);
}
}
}
};
/**
* @param {boolean} id
* @return {undefined}
*/
Ps.prototype.setVisible = function(id) {
S(this.l(), id);
};
/**
* @param {!Object} s
* @return {undefined}
*/
var Rs = function(s) {
if (!(s.b != t || s.Yb)) {
/** @type {!Element} */
s.Yb = document.createElement("script");
s.Yb.setAttribute("async", "");
s.Yb.setAttribute("defer", "");
if (.5 > Math.random()) {
if (s.X) {
s.Yb.setAttribute("src", "//www.google.com/insights/consumersurveys/async_survey?site=drqa77owbzzvrx2eybe2mmchse");
} else {
s.Yb.setAttribute("src", "//www.google.com/insights/consumersurveys/async_survey?site=7yga3yj2jydgysdmekrlxqfowu");
}
}
document.head.appendChild(s.Yb);
}
};
/**
* @param {number} a
* @param {number} b
* @return {undefined}
*/
var Ts = function(a, b) {
Aj.call(this);
/** @type {number} */
this.g = this.c = 0;
/** @type {number} */
this.a = a;
/** @type {number} */
this.j = b;
this.b = new io(A(this.m, this), 0, this);
};
C(Ts, Aj);
/**
* @return {undefined}
*/
Ts.prototype.J = function() {
this.b.za();
delete this.a;
delete this.j;
Ts.v.J.call(this);
};
/**
* @return {undefined}
*/
Ts.prototype.m = function() {
if (!this.a.call(this.j)) {
if (0 > this.g) {
ko(this.b, this.c);
} else {
/** @type {number} */
var dtStep = this.g - Pe();
if (!(0 >= dtStep)) {
ko(this.b, Math.min(this.c, dtStep));
}
}
}
};
/**
* @param {undefined} a
* @return {undefined}
*/
var Vs = function(a) {
V.call(this);
this.D = a;
this.b = this.D.value;
this.a = new nk(this);
this.g = Pe();
if (Us) {
this.a.a(a, hd, this.Hc);
} else {
this.a.a(a, [Ic, Va, wb, Yc, wc], this.ni);
}
this.c = new Ts(A(this.dg, this));
};
C(Vs, V);
var Us = G || E || gh || ih && I("1.9");
y = Vs.prototype;
/** @type {string} */
y.ac = vc;
/**
* @return {undefined}
*/
y.J = function() {
Vs.v.J.call(this);
this.a.za();
/** @type {null} */
this.a = null;
this.c.za();
/** @type {null} */
this.c = null;
};
/**
* @return {?}
*/
y.dg = function() {
if (this.b == this.D.value) {
return false;
}
this.dispatchEvent("after_paste");
return true;
};
/**
* @param {!Object} obj
* @return {undefined}
*/
y.Hc = function(obj) {
obj = new Ij(obj.b);
obj.type = hd;
this.dispatchEvent(obj);
cl(function() {
if (!this.dg()) {
var c1 = this.c;
jo(c1.b);
/** @type {number} */
c1.c = Math.max(50, 0);
c1.g = Pe() + 200;
ko(c1.b, Math.min(c1.c, 200));
}
}, 0, this);
};
/**
* @param {!Object} options
* @return {undefined}
*/
y.ni = function(options) {
switch(this.ac) {
case vc:
switch(options.type) {
case Va:
this.ac = vc;
break;
case wb:
/** @type {string} */
this.ac = "focused";
break;
case Yc:
this.ac = vc;
if (this.D.value != this.b) {
this.Hc(options);
}
}break;
case "focused":
switch(options.type) {
case wc:
var b = this.g + 400;
if (Pe() > b || this.j == wb) {
this.Hc(options);
}
break;
case Va:
this.ac = vc;
break;
case Ic:
if (kh && fh && 0 == options.keyCode || kh && fh && 17 == options.keyCode) {
break;
}
/** @type {string} */
this.ac = "typing";
break;
case Yc:
if (this.D.value != this.b) {
this.Hc(options);
}
}break;
case "typing":
switch(options.type) {
case wc:
/** @type {string} */
this.ac = "focused";
break;
case Va:
this.ac = vc;
break;
case Ic:
if (options.ctrlKey && 86 == options.keyCode || options.shiftKey && 45 == options.keyCode || options.metaKey && 86 == options.keyCode) {
this.Hc(options);
}
break;
case Yc:
if (this.D.value != this.b) {
this.Hc(options);
}
}
}
this.g = Pe();
this.b = this.D.value;
this.j = options.type;
};
var Ws = ue();
C(Ws, hn);
Be(Ws);
y = Ws.prototype;
y.Rb = ue();
/**
* @param {!Object} a
* @param {!Object} b
* @return {?}
*/
y.R = function(a, b) {
Sn(a, false);
a.Ib &= -256;
a.Ba(32, false);
Ws.v.R.call(this, a, b);
a.g(b.value);
return b;
};
/**
* @param {!Object} obj
* @return {?}
*/
y.Pa = function(obj) {
Sn(obj, false);
obj.Ib &= -256;
obj.Ba(32, false);
return obj.a.b(Da, {
"class" : nn(this, obj).join(" "),
disabled : !obj.isEnabled()
}, obj.Aa() || "");
};
/**
* @param {!Object} a
* @return {?}
*/
y.Kc = function(a) {
return a.tagName == Da;
};
y.jf = Ae;
/**
* @param {?} b
* @return {?}
*/
y.hf = function(b) {
return b.isEnabled();
};
y.Lc = Ae;
/**
* @param {!Object} args
* @param {number} typeName
* @param {boolean} name
* @return {undefined}
*/
y.rc = function(args, typeName, name) {
Ws.v.rc.call(this, args, typeName, name);
if ((args = args.l()) && 1 == typeName) {
/** @type {boolean} */
args.disabled = name;
}
};
y.Cb = Ae;
/**
* @param {!HTMLElement} a
* @param {string} user
* @return {undefined}
*/
y.zb = function(a, user) {
if (a) {
/** @type {string} */
a.value = user;
}
};
y.S = x("goog-textarea");
/**
* @param {string} name
* @param {string} x
* @param {?} y
* @return {undefined}
*/
var Xs = function(name, x, y) {
Qn.call(this, name, x || Ws.M(), y);
Sn(this, false);
/** @type {boolean} */
this.Bd = true;
if (x = this.l()) {
this.c.Yd(x, true);
}
/** @type {boolean} */
this.Nc = "" != name;
if (!name) {
/** @type {string} */
this.sc = "";
}
};
C(Xs, Qn);
/** @type {boolean} */
var Ys = !(E && !yh(11));
y = Xs.prototype;
/** @type {boolean} */
y.Oc = false;
/** @type {boolean} */
y.le = false;
/** @type {boolean} */
y.Nc = false;
/** @type {number} */
y.Tb = 0;
/** @type {number} */
y.zf = 0;
/** @type {boolean} */
y.Kg = false;
/** @type {boolean} */
y.ve = false;
/** @type {boolean} */
y.If = false;
/** @type {boolean} */
y.Hf = false;
/** @type {string} */
y.Rc = "";
/**
* @param {!Object} o
* @return {?}
*/
var Zs = function(o) {
return o.A.top + o.A.bottom + o.W.top + o.W.bottom;
};
/**
* @param {!Object} a
* @return {?}
*/
var $s = function(a) {
var c = a.zf;
var b = a.l();
if (c && b && a.ve) {
/** @type {number} */
c = c - Zs(a);
}
return c;
};
/**
* @param {!Object} input
* @return {undefined}
*/
var bt = function(input) {
/** @type {number} */
input.zf = 105;
at(input);
};
/**
* @param {string} name
* @return {undefined}
*/
Xs.prototype.b = function(name) {
this.g(String(name));
};
/**
* @return {?}
*/
Xs.prototype.T = function() {
return this.l().value != this.Rc || ct(this) || this.Nc ? this.l().value : "";
};
/**
* @param {string} name
* @return {undefined}
*/
Xs.prototype.g = function(name) {
Xs.v.g.call(this, name);
/** @type {boolean} */
this.Nc = "" != name;
at(this);
};
/**
* @param {boolean} enable
* @return {undefined}
*/
Xs.prototype.ba = function(enable) {
Xs.v.ba.call(this, enable);
/** @type {boolean} */
this.l().disabled = !enable;
};
/**
* @param {!Object} data
* @return {undefined}
*/
var at = function(data) {
if (data.l()) {
data.I();
}
};
/**
* @param {!Object} msg
* @return {?}
*/
var ct = function(msg) {
return "placeholder" in msg.l();
};
/**
* @param {!Object} d
* @return {undefined}
*/
var dt = function(d) {
if (d.Rc) {
if (ct(d)) {
d.l().placeholder = d.Rc;
} else {
if (!(!d.l() || d.Nc || d.le)) {
J(d.l(), Ud);
d.l().value = d.Rc;
}
}
}
};
/**
* @return {undefined}
*/
Xs.prototype.V = function() {
Xs.v.V.call(this);
var a = this.l();
R(a, {
overflowY : oc,
overflowX : Qa,
boxSizing : Wa,
MsBoxSizing : Wa,
WebkitBoxSizing : Wa,
MozBoxSizing : Wa
});
this.A = uj(a);
this.W = xj(a);
X(this).a(a, td, this.I).a(a, wb, this.I).a(a, Kc, this.I).a(a, Zc, this.Qa).a(a, Va, this.Da);
dt(this);
at(this);
};
/**
* @param {!Object} a
* @return {?}
*/
var et = function(a) {
if (!a.Kg) {
var div = a.l().cloneNode(false);
R(div, {
position : Ga,
height : Qa,
top : "-9999px",
margin : "0",
padding : "1px",
border : "1px solid #000",
overflow : oc
});
a.a.a.body.appendChild(div);
var h = div.scrollHeight;
/** @type {string} */
div.style.padding = "10px";
var b = div.scrollHeight;
/** @type {boolean} */
a.If = b > h;
/** @type {string} */
div.style.borderWidth = "10px";
/** @type {boolean} */
a.Hf = div.scrollHeight > b;
/** @type {string} */
div.style.height = "100px";
if (100 != div.offsetHeight) {
/** @type {boolean} */
a.ve = true;
}
mi(div);
/** @type {boolean} */
a.Kg = true;
}
div = a.l();
if (isNaN(a.A.top)) {
a.A = uj(div);
a.W = xj(div);
}
h = a.l().scrollHeight;
var p = a.l();
/** @type {number} */
b = p.offsetHeight - p.clientHeight;
if (!a.If) {
var m = a.A;
/** @type {number} */
b = b - (m.top + m.bottom);
}
if (!a.Hf) {
p = xj(p);
/** @type {number} */
b = b - (p.top + p.bottom);
}
h = h + (0 < b ? b : 0);
if (a.ve) {
/** @type {number} */
h = h - Zs(a);
} else {
if (!a.If) {
b = a.A;
h = h + (b.top + b.bottom);
}
if (!a.Hf) {
a = xj(div);
h = h + (a.top + a.bottom);
}
}
return h;
};
/**
* @param {!Object} input
* @param {string} name
* @return {undefined}
*/
var ft = function(input, name) {
if (input.Tb != name) {
/** @type {string} */
input.Tb = name;
input.l().style.height = name + md;
}
};
/**
* @param {!Object} other
* @return {undefined}
*/
var gt = function(other) {
var b = other.l();
b.style.height = Qa;
var expRecords = b.value.match(/\n/g) || [];
b.rows = expRecords.length + 1;
/** @type {number} */
other.Tb = 0;
};
/**
* @return {undefined}
*/
Xs.prototype.Da = function() {
if (!ct(this)) {
/** @type {boolean} */
this.le = false;
if ("" == this.l().value) {
/** @type {boolean} */
this.Nc = false;
dt(this);
}
}
};
/**
* @param {string} name
* @return {undefined}
*/
Xs.prototype.I = function(name) {
if (!this.Oc) {
var target = this.l();
if (!ct(this) && name && name.type == wb) {
if (target.value == this.Rc && this.Rc && !this.le) {
K(target, Ud);
/** @type {string} */
target.value = "";
}
/** @type {boolean} */
this.le = true;
/** @type {boolean} */
this.Nc = "" != target.value;
}
/** @type {boolean} */
var index = false;
/** @type {boolean} */
this.Oc = true;
name = this.Tb;
if (target.scrollHeight) {
/** @type {boolean} */
var b = false;
/** @type {boolean} */
var j = false;
var i = et(this);
var start = target.offsetHeight;
var comments = $s(this);
var count;
/** @type {number} */
count = 0;
var l = this.l();
if (count && l && this.ve) {
/** @type {number} */
count = count - Zs(this);
}
if (comments && i < comments) {
ft(this, comments);
/** @type {boolean} */
b = true;
} else {
if (count && i > count) {
ft(this, count);
/** @type {string} */
target.style.overflowY = "";
/** @type {boolean} */
j = true;
} else {
if (start != i) {
ft(this, i);
} else {
if (!this.Tb) {
this.Tb = i;
}
}
}
}
if (!(b || j || !Ys)) {
/** @type {boolean} */
index = true;
}
} else {
gt(this);
}
/** @type {boolean} */
this.Oc = false;
if (index) {
target = this.l();
if (!this.Oc) {
/** @type {boolean} */
this.Oc = true;
if (j = target.scrollHeight) {
i = et(this);
index = $s(this);
if (!(index && i <= index)) {
b = this.A;
target.style.paddingBottom = b.bottom + 1 + md;
if (et(this) == i) {
target.style.paddingBottom = b.bottom + j + md;
/** @type {number} */
target.scrollTop = 0;
/** @type {number} */
j = et(this) - j;
if (j >= index) {
ft(this, j);
} else {
ft(this, index);
}
}
target.style.paddingBottom = b.bottom + md;
}
} else {
gt(this);
}
/** @type {boolean} */
this.Oc = false;
}
}
if (name != this.Tb) {
this.dispatchEvent(od);
}
}
};
/**
* @return {undefined}
*/
Xs.prototype.Qa = function() {
var self = this.l();
var x = self.offsetHeight;
if (self.filters && self.filters.length && (self = self.filters.item("DXImageTransform.Microsoft.DropShadow"))) {
/** @type {number} */
x = x - self.offX;
}
if (x != this.Tb) {
this.Tb = this.zf = x;
}
};
/**
* @param {?} p1__3354_SHARP_
* @return {undefined}
*/
var ht = function(p1__3354_SHARP_) {
Xs.call(this, p1__3354_SHARP_);
/** @type {string} */
this.va = "";
/** @type {null} */
this.qa = null;
/** @type {number} */
this.P = 0;
/** @type {boolean} */
this.Z = this.$ = false;
};
C(ht, Xs);
/**
* @param {string} name
* @return {undefined}
*/
ht.prototype.b = function(name) {
ht.v.b.call(this, name);
this.U("set");
};
/**
* @return {undefined}
*/
ht.prototype.V = function() {
ht.v.V.call(this);
U(this.l(), "compositionstart", A(this.Ha, this), false, this);
U(this.l(), "compositionend", A(this.Fa, this), false, this);
U(new Gn(this.l()), Hc, function(event) {
it(this, Hc, {
keyCode : event.keyCode
});
}, false, this);
U(this.l(), wc, function() {
it(this, wc);
}, false, this);
U(new Vs(this.l()), hd, function() {
/** @type {boolean} */
this.$ = true;
it(this, hd);
}, false, this);
U(this.l(), "drop", function() {
it(this, "drop");
}, false, this);
this.qa = new Zk(1E3);
U(this.qa, "tick", function() {
this.U("timer");
}, false, this);
al(this.qa);
};
/**
* @return {undefined}
*/
ht.prototype.Ha = function() {
/** @type {boolean} */
this.Z = true;
};
/**
* @return {undefined}
*/
ht.prototype.Fa = function() {
/** @type {boolean} */
this.Z = false;
it(this, wc);
};
/**
* @param {!Object} options
* @param {string} name
* @param {?} categories
* @return {undefined}
*/
var it = function(options, name, categories) {
cl(A(options.U, options, name, categories), 0, options);
};
/**
* @param {number} type
* @param {string} name
* @return {undefined}
*/
ht.prototype.U = function(type, name) {
if (!this.Z) {
var event = this.T();
if (event != this.va) {
this.P += 1;
this.va = event;
event = new T(Ya);
if (this.$) {
/** @type {boolean} */
this.$ = false;
type = hd;
}
/** @type {number} */
event.j = type;
if (null != name) {
Wf(event, name);
}
this.dispatchEvent(event);
}
}
};
/**
* @param {?} Element
* @return {?}
*/
var jt = function(Element) {
var P = Element.P;
/** @type {number} */
Element.P = 0;
return P;
};
/**
* @param {!Object} context
* @return {undefined}
*/
var lt = function(context) {
V.call(this);
/** @type {!Object} */
this.D = context;
U(context, kt, this.b, false, this);
U(context, r, this.a, false, this);
};
C(lt, V);
/** @type {string} */
var kt = ih ? Jc : Ic;
/**
* @param {!Object} key
* @return {undefined}
*/
lt.prototype.b = function(key) {
if (13 == key.keyCode || G && 3 == key.keyCode) {
mt(this, key);
}
};
/**
* @param {string} name
* @return {undefined}
*/
lt.prototype.a = function(name) {
mt(this, name);
};
/**
* @param {!EventTarget} callback
* @param {!Object} event
* @return {undefined}
*/
var mt = function(callback, event) {
var evt = new nt(event);
if (callback.dispatchEvent(evt)) {
evt = new ot(event);
try {
callback.dispatchEvent(evt);
} finally {
event.stopPropagation();
}
}
};
/**
* @return {undefined}
*/
lt.prototype.J = function() {
lt.v.J.call(this);
hk(this.D, kt, this.b, false, this);
hk(this.D, r, this.a, false, this);
delete this.D;
};
/**
* @param {!Object} a
* @return {undefined}
*/
var ot = function(a) {
Ij.call(this, a.b);
this.type = p;
};
C(ot, Ij);
/**
* @param {!Object} a
* @return {undefined}
*/
var nt = function(a) {
Ij.call(this, a.b);
/** @type {string} */
this.type = "beforeaction";
};
C(nt, Ij);
/**
* @param {?} value
* @param {?} elem
* @return {undefined}
*/
var pt = function(value, elem) {
V.call(this);
this.mc = value;
/** @type {!Array} */
this.a = [];
if (null != elem) {
this.Uc(elem);
}
};
C(pt, V);
/**
* @param {!Object} val
* @param {string} a
* @return {undefined}
*/
pt.prototype.update = function(val, a) {
/** @type {number} */
var i = this.a.length = 0;
for (; i < val.length; ++i) {
this.a.push(val[i]);
}
this.dispatchEvent({
type : this.mc,
data : this.a,
selected : null != a ? a : null
});
};
/**
* @return {undefined}
*/
var qt = function() {
V.call(this);
/** @type {string} */
this.j = this.b = this.a = "";
this.C = new pt(Md, this);
this.w = new pt(Od, this);
this.F = new pt(Pd, this);
/** @type {!Array} */
this.O = [];
this.N = new pt(Kd, this);
this.I = new pt(Vd, this);
/** @type {number} */
this.L = this.H = 0;
/** @type {!Array} */
this.c = [];
/** @type {!Array} */
this.g = [];
/** @type {!Array} */
this.A = [];
/** @type {!Array} */
this.K = [];
/** @type {boolean} */
this.G = false;
/** @type {string} */
this.B = "";
};
C(qt, V);
/**
* @param {!Object} m
* @param {!Object} match
* @return {undefined}
*/
var rt = function(m, match) {
/** @type {!Array} */
var text = [];
var y;
if (match) {
y = m.a == Qa ? m.j : m.a;
/** @type {number} */
var commonIndex = -1;
/** @type {number} */
var i = 0;
for (; i < match.length; ++i) {
if (match[i] == y) {
if (m.a != Qa) {
/** @type {number} */
commonIndex = i;
}
} else {
text.push(match[i]);
}
}
/** @type {boolean} */
y = -1 != commonIndex && 3 > commonIndex;
} else {
/** @type {boolean} */
y = false;
}
if (!(y || m.G)) {
m.C.update(text ? text.slice(0, 3) : []);
}
};
/**
* @param {!NodeList} n
* @param {!NodeList} keys
* @param {?} v
* @param {boolean} x
* @return {undefined}
*/
var st = function(n, keys, v, x) {
var obj = {};
/** @type {!Array} */
var a = [];
/** @type {number} */
var i = 0;
for (; i < keys.length && 3 > a.length; i++) {
a.push(keys[i]);
/** @type {boolean} */
obj[keys[i]] = true;
}
/** @type {number} */
i = 0;
for (; i < n.length && 3 > a.length; i++) {
if (null == obj[n[i]]) {
/** @type {boolean} */
obj[n[i]] = true;
a.push(n[i]);
}
}
v.update(a, x);
};
/**
* @param {string} name
* @param {?} type
* @return {undefined}
*/
qt.prototype.m = function(name, type) {
var t = null != type ? type : 0;
if (3 == t || 4 == t || 5 == t) {
/** @type {boolean} */
this.G = true;
}
if (6 == t) {
/** @type {string} */
this.B = name;
}
if (name == qe) {
name = pe;
}
if (name != Qa) {
tt(this, "");
}
ut(this.w, name, this.c);
if (this.a != name) {
var value = this.a;
/** @type {string} */
this.a = name;
value = value == Qa ? void 0 : A(this.o, this, value, 6);
this.H = t;
vt(this, this.a, Ld, t, value);
}
};
/**
* @param {string} name
* @param {?} type
* @return {undefined}
*/
qt.prototype.o = function(name, type) {
var t = null != type ? type : 0;
if (!(6 != t && 5 != t || name != pe || this.B != qe)) {
name = qe;
}
if (5 == t) {
this.B = this.b;
}
ut(this.F, name, this.g);
if (this.b != name) {
var previous = this.b;
/** @type {string} */
this.b = name;
this.L = t;
vt(this, this.b, Wd, t, A(this.m, this, previous, 6));
}
};
/**
* @param {!Object} a
* @param {string} id
* @param {!Object} text
* @return {undefined}
*/
var ut = function(a, id, text) {
var d = Jf(a.a);
/** @type {boolean} */
var data = id != Qa;
/** @type {number} */
var i = 0;
for (; i < d.length; i++) {
if (id == d[i]) {
/** @type {boolean} */
data = false;
break;
}
}
if (data) {
data = {};
if (0 < text.length) {
/** @type {boolean} */
data[text[0]] = true;
}
if (1 < text.length) {
/** @type {boolean} */
data[text[1]] = true;
}
/** @type {number} */
i = d.length - 1;
for (; 0 <= i; i--) {
if (!data[d[i]]) {
/** @type {string} */
d[i] = id;
break;
}
}
}
a.update(d, id);
};
/**
* @param {!Object} context
* @param {number} value
* @return {undefined}
*/
var tt = function(context, value) {
if (value == Qa) {
/** @type {string} */
value = "";
}
if (context.j != value) {
/** @type {number} */
context.j = value;
context.dispatchEvent({
type : lb,
data : context.j
});
}
};
/**
* @param {!Object} target
* @return {undefined}
*/
var xt = function(target) {