Created
June 8, 2019 18:51
-
-
Save extensionsapp/f9d1061cc13ea9408ecf790d0ccb24f1 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
'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, "&"); | |
} | |
if (-1 != type.indexOf("<")) { | |
type = type.replace(bf, "<"); | |
} | |
if (-1 != type.indexOf(">")) { | |
type = type.replace(cf, ">"); | |
} | |
if (-1 != type.indexOf('"')) { | |
type = type.replace(df, """); | |
} | |
if (-1 != type.indexOf("'")) { | |
type = type.replace(ef, "'"); | |
} | |
if (-1 != type.indexOf("\x00")) { | |
type = type.replace(ff, "�"); | |
} | |
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 = { | |
"&" : "&", | |
"<" : "<", | |
">" : ">", | |
""" : '"' | |
}; | |
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 ? "­" : $o ? "​" : "<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, "<")).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" : "�", | |
"\t" : "	", | |
"\n" : " ", | |
"\x0B" : "", | |
"\f" : "", | |
"\r" : " ", | |
" " : " ", | |
'"' : """, | |
"&" : "&", | |
"'" : "'", | |
"-" : "-", | |
"/" : "/", | |
"<" : "<", | |
"=" : "=", | |
">" : ">", | |
"`" : "`", | |
"\u0085" : "…", | |
"\u00a0" : " ", | |
"\u2028" : "
", | |
"\u2029" : "
" | |
}; | |
/** | |
* @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) { | |