Skip to content

Instantly share code, notes, and snippets.

@sstur
Created July 17, 2014 22:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sstur/7dfa1f24763a06eec855 to your computer and use it in GitHub Desktop.
Save sstur/7dfa1f24763a06eec855 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
(function() {
if (window.document.querySelector && window.document.body) {
if (!window.console) {
window.console = {};
}
if (!("log" in console)) {
/**
* @return {undefined}
*/
console["log"] = function() {
};
}
if (!("warn" in console)) {
/**
* @return {undefined}
*/
console["warn"] = function() {
};
}
if (!("error" in console)) {
/**
* @return {undefined}
*/
console["error"] = function() {
};
}
if (!("groupCollapsed" in console)) {
/**
* @return {undefined}
*/
console["groupCollapsed"] = function() {
};
}
if (!("groupEnd" in console)) {
/**
* @return {undefined}
*/
console["groupEnd"] = function() {
};
}
if (!("time" in console)) {
/**
* @return {undefined}
*/
console["time"] = function() {
};
}
if (!("timeEnd" in console)) {
/**
* @return {undefined}
*/
console["timeEnd"] = function() {
};
}
if (!("timeStamp" in console)) {
/**
* @return {undefined}
*/
console["timeStamp"] = function() {
};
}
if (!("assert" in console)) {
/**
* @return {undefined}
*/
console["assert"] = function() {
};
}
/** @type {string} */
kGitCommitHash = "a7eacaa0433eff54f6c702c2eb8f001554bd5065";
var self;
if (!("FormData" in window)) {
/**
* @return {undefined}
*/
window.FormData = function() {
};
}
if (!("CustomEvent" in window)) {
/**
* @return {undefined}
*/
window.CustomEvent = function() {
};
}
/**
* @param {Function} compareFn
* @return {undefined}
*/
var binarySearch_ = function(compareFn) {
compareFn();
};
/**
* @param {Function} fn
* @param {?} obj
* @param {string} type
* @return {?}
*/
var bind = function(fn, obj, type) {
if (fn.bind) {
return fn.call.apply(fn.bind, arguments);
}
/** @type {Array.<?>} */
var args = Array.prototype.slice.call(arguments, 2);
return function() {
/** @type {Array.<?>} */
var newArgs = args.slice();
newArgs.push.apply(newArgs, arguments);
return fn.apply(obj, args);
};
};
/**
* @param {Function} action
* @param {Function} type
* @return {?}
*/
var slice = function(action, type) {
/** @type {Array.<?>} */
var args = Array.prototype.slice.call(arguments, 1);
return function() {
/** @type {Array.<?>} */
var newArgs = args.slice();
newArgs.push.apply(newArgs, arguments);
return action.apply(this, newArgs);
};
};
/**
* @param {?} obj
* @return {?}
*/
var exec = function(obj) {
return void 0 !== obj;
};
/**
* @param {number} value
* @return {?}
*/
var isFunction = function(value) {
return void 0 === value;
};
/**
* @param {(Array|string)} elements
* @return {?}
*/
var checkElements = function(elements) {
return null === elements;
};
/**
* @param {Function} name
* @param {Function} value
* @return {undefined}
*/
var inherits = function(name, value) {
/**
* @return {undefined}
*/
function tempCtor() {
}
tempCtor.prototype = value.prototype;
name.Ga = value.prototype;
name.prototype = new tempCtor;
/** @type {Function} */
name.prototype.constructor = name;
};
/**
* @return {?}
*/
var tmp = function() {
throw Error("Unimplemented abstract method.");
};
/**
* @param {string} opt_a2
* @param {Function} var_args
* @return {undefined}
*/
var append = function(opt_a2, var_args) {
var codeSegments = opt_a2.split(".");
/** @type {Window} */
var obj = window;
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var key = codeSegments[i];
var res = i == codeSegments.length - 1 ? var_args : {};
if (!(key in obj)) {
obj[key] = res;
}
obj = obj[key];
}
};
/**
* @param {?} s
* @return {undefined}
*/
var makeModuleMap = function(s) {
try {
(function() {
eval(s);
})();
} catch (e) {
throw logError(e), e;
}
};
/**
* @param {?} value
* @return {?}
*/
var typeOf = function(value) {
/** @type {string} */
var type = typeof value;
if ("object" == type) {
if (value) {
if (value instanceof Array) {
return "array";
}
if (value instanceof Object) {
return type;
}
/** @type {string} */
var isFunction = Object.prototype.toString.call(value);
if ("[object Window]" == isFunction) {
return "object";
}
if ("[object Array]" == isFunction || "number" == typeof value.length && ("undefined" != typeof value.splice && ("undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("splice")))) {
return "array";
}
if ("[object Function]" == isFunction || "undefined" != typeof value.call && ("undefined" != typeof value.propertyIsEnumerable && !value.propertyIsEnumerable("call"))) {
return "function";
}
} else {
return "null";
}
} else {
if ("function" == type && "undefined" == typeof value.call) {
return "object";
}
}
return type;
};
/**
* @param {Function} child
* @param {Function} parent
* @return {undefined}
*/
var __extends = function(child, parent) {
/**
* @return {undefined}
*/
function ctor() {
}
ctor.prototype = parent.prototype;
child.Ga = parent.prototype;
child.prototype = new ctor;
/** @type {Function} */
child.prototype.constructor = child;
};
var properties = {
"\x00" : "\\0",
"\b" : "\\b",
"\f" : "\\f",
"\n" : "\\n",
"\r" : "\\r",
"\t" : "\\t",
"\x0B" : "\\x0B",
'"' : '\\"',
"\\" : "\\\\"
};
var internalValues = {
"'" : "\\'"
};
/**
* @param {?} optgroup
* @return {?}
*/
var repeat = function(optgroup) {
/** @type {string} */
optgroup = String(optgroup);
if (optgroup.quote) {
return optgroup.quote();
}
/** @type {Array} */
var tagNameArr = ['"'];
/** @type {number} */
var i = 0;
for (;i < optgroup.length;i++) {
/** @type {string} */
var key = optgroup.charAt(i);
/** @type {number} */
var value = key.charCodeAt(0);
/** @type {Array} */
var nstate = tagNameArr;
/** @type {number} */
var n = i + 1;
var val;
if (!(val = properties[key])) {
if (!(31 < value && 127 > value)) {
if (key in internalValues) {
key = internalValues[key];
} else {
if (key in properties) {
key = internalValues[key] = properties[key];
} else {
/** @type {string} */
value = key;
/** @type {number} */
val = key.charCodeAt(0);
if (31 < val && 127 > val) {
/** @type {string} */
value = key;
} else {
if (256 > val) {
if (value = "\\x", 16 > val || 256 < val) {
value += "0";
}
} else {
/** @type {string} */
value = "\\u";
if (4096 > val) {
value += "0";
}
}
value += val.toString(16).toUpperCase();
}
/** @type {string} */
key = internalValues[key] = value;
}
}
}
val = key;
}
nstate[n] = val;
}
tagNameArr.push('"');
return tagNameArr.join("");
};
/**
* @param {?} optgroup
* @return {?}
*/
var formatNumber = function(optgroup) {
if (isFinite(optgroup)) {
/** @type {string} */
optgroup = String(optgroup);
}
return "string" == typeof optgroup ? /^\s*-?0x/i.test(optgroup) ? parseInt(optgroup, 16) : parseInt(optgroup, 10) : NaN;
};
var ap = Array.prototype;
/** @type {function (?, Function, boolean): undefined} */
var getPostfixExpression = ap.forEach ? function(until, mapper, opt_end) {
ap.forEach.call(until, mapper, opt_end);
} : function(arg, filter, str) {
var valuesLen = arg.length;
var arr2 = "string" == typeof arg ? arg.split("") : arg;
/** @type {number} */
var i = 0;
for (;i < valuesLen;i++) {
if (i in arr2) {
filter.call(str, arr2[i], i, arg);
}
}
};
/**
* @param {Array} obj
* @param {Function} offset
* @return {undefined}
*/
var Emitter = function(obj, offset) {
ap.sort.call(obj, offset || alpha);
};
/**
* @param {(boolean|number|string)} a
* @param {(boolean|number|string)} b
* @return {?}
*/
var alpha = function(a, b) {
return a > b ? 1 : a < b ? -1 : 0;
};
/**
* @param {?} optgroup
* @return {?}
*/
var htmlEscape = function(optgroup) {
/** @type {string} */
optgroup = String(optgroup);
if (/^\s*$/.test(optgroup) ? 0 : /^[\],:{}\s\u2028\u2029]*$/.test(optgroup.replace(/\\["\\\/bfnrtu]/g, "@").replace(/"[^"\\\n\r\u2028\u2029\x00-\x08\x0a-\x1f]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, "]").replace(/(?:^|:|,)(?:[\s\u2028\u2029]*\[)+/g, ""))) {
try {
return eval("(" + optgroup + ")");
} catch (b) {
}
}
throw Error("Invalid JSON string: " + optgroup);
};
/**
* @param {string} a
* @param {?} blue
* @return {undefined}
*/
var Color = function(a, blue) {
if (null != a) {
this.append.apply(this, arguments);
}
};
self = Color.prototype;
/** @type {string} */
self.Kc = "";
/**
* @param {string} type
* @return {undefined}
*/
self.set = function(type) {
/** @type {string} */
this.Kc = "" + type;
};
/**
* @param {?} data
* @param {?} first
* @param {string} var_args
* @return {?}
*/
self.append = function(data, first, var_args) {
this.Kc += data;
if (null != first) {
/** @type {number} */
var i = 1;
for (;i < arguments.length;i++) {
this.Kc += arguments[i];
}
}
return this;
};
/**
* @return {undefined}
*/
self.clear = function() {
/** @type {string} */
this.Kc = "";
};
/**
* @return {?}
*/
self.toString = function() {
return this.Kc;
};
/**
* @param {Object} obj
* @param {Function} f
* @return {undefined}
*/
var curry = function(obj, f) {
var key;
for (key in obj) {
f.call(void 0, obj[key], key, obj);
}
};
/**
* @param {Object} obj
* @return {?}
*/
var locals = function(obj) {
/** @type {Array} */
var res = [];
/** @type {number} */
var resLength = 0;
var key;
for (key in obj) {
res[resLength++] = obj[key];
}
return res;
};
/**
* @param {Object} obj
* @param {Function} f
* @return {?}
*/
var isFinite = function(obj, f) {
var key;
a: {
for (key in obj) {
if (f.call(void 0, obj[key], key, obj)) {
break a;
}
}
key = void 0;
}
return key && obj[key];
};
/**
* @param {?} i
* @param {(Error|string)} field
* @param {Object} fields
* @return {undefined}
*/
var Item = function(i, field, fields) {
this.Iq = i;
this.Lq = field.name || null;
this.ie = {};
/** @type {number} */
i = 0;
for (;i < fields.length;i++) {
field = fields[i];
/** @type {(Error|string)} */
this.ie[field.yb] = field;
}
};
/**
* @return {?}
*/
Item.prototype.getName = function() {
return this.Lq;
};
/**
* @param {Array} element
* @return {?}
*/
var getId = function(element) {
element = locals(element.ie);
Emitter(element, function(p2, p) {
return p2.yb - p.yb;
});
return element;
};
/**
* @param {?} o
* @param {string} recurring
* @return {?}
*/
var setFillAndStroke = function(o, recurring) {
return isFinite(o.ie, function(field) {
return field.getName() == recurring;
}) || null;
};
/**
* @param {?} opt_map
* @param {number} var_args
* @param {Object} target
* @return {undefined}
*/
var Map = function(opt_map, var_args, target) {
/** @type {number} */
this.yb = var_args;
this.Lq = target.name;
/** @type {boolean} */
this.Ee = !!target.aa;
this.Md = target.c;
this.Wg = target.type;
/** @type {boolean} */
this.nt = false;
switch(this.Md) {
case KEYCODE_SPACE:
;
case KEYCODE_LEFT:
;
case KEYCODE_DOWN:
;
case KEYCODE_H:
;
case z:
/** @type {boolean} */
this.nt = true;
}
this.op = target.defaultValue;
};
/** @type {number} */
var KEYCODE_SPACE = 3;
/** @type {number} */
var KEYCODE_LEFT = 4;
/** @type {number} */
var KEYCODE_DOWN = 6;
/** @type {number} */
var KEYCODE_H = 16;
/** @type {number} */
var z = 18;
/**
* @return {?}
*/
Map.prototype.getName = function() {
return this.Lq;
};
/**
* @param {?} node
* @return {?}
*/
var removeChildren = function(node) {
if (void 0 === node.op) {
var val = node.Wg;
node.op = val === Boolean ? false : val === Number ? 0 : val === String ? "" : new val;
}
return node.op;
};
/**
* @param {?} keepData
* @return {?}
*/
var requestAnimationFrame = function(keepData) {
return 11 == keepData.Md || 10 == keepData.Md;
};
/**
* @return {undefined}
*/
var _super = function() {
this.sd = {};
this.ie = this.oc().ie;
/** @type {null} */
this.kd = this.zq = null;
};
/**
* @param {Function} keepData
* @param {Function} source
* @param {Object} str
* @return {undefined}
*/
var dasherize = function(keepData, source, str) {
str = str || keepData;
var optgroup;
for (optgroup in keepData.sd) {
/** @type {number} */
var n = Number(optgroup);
if (!keepData.ie[n]) {
source.call(str, n, keepData.sd[optgroup]);
}
}
};
self = _super.prototype;
/**
* @return {?}
*/
self.oc = function() {
var el = this.constructor;
var groups;
if (!(groups = el.mt)) {
var item;
groups = el.jy;
/** @type {Array} */
var x = [];
var g;
for (g in groups) {
if (groups.hasOwnProperty(g)) {
/** @type {number} */
g = parseInt(g, 10);
if (0 == g) {
item = groups[0];
} else {
x.push(new Map(0, g, groups[g]));
}
}
}
item = new Item(el, item, x);
groups = el.mt = item;
}
return groups;
};
/**
* @param {(number|string)} key
* @param {number} value
* @return {?}
*/
self.get = function(key, value) {
return func(this, key.yb, value);
};
/**
* @param {string} type
* @param {Object} opt_isDefault
* @return {?}
*/
self.set = function(type, opt_isDefault) {
return origFindId(this, type.yb, opt_isDefault);
};
/**
* @param {?} type
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.add = function(type, expectedNumberOfNonCommentArgs) {
return _findBelongsTo(this, type.yb, expectedNumberOfNonCommentArgs);
};
/**
* @param {?} arr
* @return {?}
*/
self.clear = function(arr) {
return isArray(this, arr.yb);
};
/**
* @param {?} keepData
* @return {?}
*/
self.wa = function(keepData) {
if (!keepData || this.constructor != keepData.constructor) {
return false;
}
var codeSegments = getId(this.oc());
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var type = codeSegments[i];
if (ondata(this, type.yb) != ondata(keepData, type.yb)) {
return false;
}
if (ondata(this, type.yb)) {
var id = requestAnimationFrame(type);
var config = _deepEqual(this, type);
var types = _deepEqual(keepData, type);
if (type.Ee) {
if (config.length != types.length) {
return false;
}
/** @type {number} */
type = 0;
for (;type < config.length;type++) {
if (id ? !config[type].wa(types[type]) : config[type] != types[type]) {
return false;
}
}
} else {
if (id ? !config.wa(types) : config != types) {
return false;
}
}
}
}
return true;
};
/**
* @param {?} v02
* @param {?} obj
* @return {undefined}
*/
var bindCallbacks = function(v02, obj) {
if (v02 != obj) {
v02.sd = {};
if (v02.kd) {
v02.kd = {};
}
translate(v02, obj);
}
};
/**
* @param {Object} a
* @param {?} name
* @return {undefined}
*/
var translate = function(a, name) {
var codeSegments = getId(a.oc());
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var cycle = codeSegments[i];
if (ondata(name, cycle.yb)) {
if (a.kd) {
delete a.kd[cycle.yb];
}
var id = requestAnimationFrame(cycle);
if (cycle.Ee) {
var b = deepEqual(name, cycle.yb);
/** @type {number} */
var bi = 0;
for (;bi < b.length;bi++) {
a.add(cycle, id ? b[bi].ya() : b[bi]);
}
} else {
b = _deepEqual(name, cycle);
if (id) {
if (id = _deepEqual(a, cycle)) {
translate(id, b);
} else {
a.set(cycle, b.ya());
}
} else {
a.set(cycle, b);
}
}
}
}
};
/**
* @return {?}
*/
self.ya = function() {
var a = new this.constructor;
bindCallbacks(a, this);
return a;
};
/**
* @param {?} keepData
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
var ondata = function(keepData, expectedNumberOfNonCommentArgs) {
return expectedNumberOfNonCommentArgs in keepData.sd && (void 0 !== keepData.sd[expectedNumberOfNonCommentArgs] && null !== keepData.sd[expectedNumberOfNonCommentArgs]);
};
/**
* @param {?} element
* @param {number} type
* @return {?}
*/
var _deepEqual = function(element, type) {
var key = type.yb;
if (!key in element.sd) {
return null;
}
var val = element.sd[key];
if (null == val) {
return null;
}
if (element.zq) {
if (!(key in element.kd)) {
var node = element.zq;
if (null != val) {
if (type.Ee) {
/** @type {Array} */
var data = [];
typeOf(val);
/** @type {number} */
var j = 0;
for (;j < val.length;j++) {
data[j] = node.Zi(type, val[j]);
}
/** @type {Array} */
val = data;
} else {
val = node.Zi(type, val);
}
}
return element.kd[key] = val;
}
return element.kd[key];
}
return val;
};
/**
* @param {?} name
* @param {number} expectedNumberOfNonCommentArgs
* @param {number} obj
* @return {?}
*/
var func = function(name, expectedNumberOfNonCommentArgs, obj) {
expectedNumberOfNonCommentArgs = name.ie[expectedNumberOfNonCommentArgs];
name = _deepEqual(name, expectedNumberOfNonCommentArgs);
return expectedNumberOfNonCommentArgs.Ee ? name[obj || 0] : name;
};
/**
* @param {?} name
* @param {number} expectedNumberOfNonCommentArgs
* @param {number} opt_attributes
* @return {?}
*/
var get_mangled = function(name, expectedNumberOfNonCommentArgs, opt_attributes) {
return ondata(name, expectedNumberOfNonCommentArgs) ? func(name, expectedNumberOfNonCommentArgs, opt_attributes) : removeChildren(name.ie[expectedNumberOfNonCommentArgs]);
};
/**
* @param {?} actual
* @param {number} desiredNonCommentArgIndex
* @return {?}
*/
var deepEqual = function(actual, desiredNonCommentArgIndex) {
return _deepEqual(actual, actual.ie[desiredNonCommentArgIndex]) || [];
};
/**
* @param {?} name
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
var member = function(name, expectedNumberOfNonCommentArgs) {
return name.ie[expectedNumberOfNonCommentArgs].Ee ? ondata(name, expectedNumberOfNonCommentArgs) ? name.sd[expectedNumberOfNonCommentArgs].length : 0 : ondata(name, expectedNumberOfNonCommentArgs) ? 1 : 0;
};
/**
* @param {?} name
* @param {number} expectedNumberOfNonCommentArgs
* @param {?} value
* @return {?}
*/
var origFindId = function(name, expectedNumberOfNonCommentArgs, value) {
name.sd[expectedNumberOfNonCommentArgs] = value;
if (name.kd) {
name.kd[expectedNumberOfNonCommentArgs] = value;
}
return name;
};
/**
* @param {?} dataAndEvents
* @param {number} desiredNonCommentArgIndex
* @param {?} owner
* @return {?}
*/
var _findBelongsTo = function(dataAndEvents, desiredNonCommentArgIndex, owner) {
if (!dataAndEvents.sd[desiredNonCommentArgIndex]) {
/** @type {Array} */
dataAndEvents.sd[desiredNonCommentArgIndex] = [];
}
dataAndEvents.sd[desiredNonCommentArgIndex].push(owner);
if (dataAndEvents.kd) {
delete dataAndEvents.kd[desiredNonCommentArgIndex];
}
return dataAndEvents;
};
/**
* @param {number} target
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
var isArray = function(target, expectedNumberOfNonCommentArgs) {
delete target.sd[expectedNumberOfNonCommentArgs];
if (target.kd) {
delete target.kd[expectedNumberOfNonCommentArgs];
}
return target;
};
/**
* @param {Function} child
* @param {?} opt_attributes
* @return {undefined}
*/
var isAncestor = function(child, opt_attributes) {
child.jy = opt_attributes;
/**
* @return {?}
*/
child.oc = function() {
return child.mt || (new child).oc();
};
};
/**
* @return {undefined}
*/
var AnimateEffect = function() {
};
/**
* @param {?} key
* @param {?} optgroup
* @return {?}
*/
AnimateEffect.prototype.aj = function(key, optgroup) {
return requestAnimationFrame(key) ? this.Ij(optgroup) : optgroup;
};
/**
* @param {?} dataAndEvents
* @param {?} name
* @return {?}
*/
AnimateEffect.prototype.Oi = function(dataAndEvents, name) {
var which = new dataAndEvents.Iq;
this.pp(which, name);
return which;
};
/**
* @param {number} type
* @param {?} optgroup
* @return {?}
*/
AnimateEffect.prototype.Zi = function(type, optgroup) {
if (requestAnimationFrame(type)) {
return optgroup instanceof _super ? optgroup : this.Oi(type.Wg.oc(), optgroup);
}
if (!type.nt) {
return optgroup;
}
var nativeType = type.Wg;
if (nativeType === String) {
if ("number" === typeof optgroup) {
return String(optgroup);
}
} else {
if (nativeType === Number && ("string" === typeof optgroup && /^-?[0-9]+$/.test(optgroup))) {
return Number(optgroup);
}
}
return optgroup;
};
/**
* @return {undefined}
*/
var JobClass = function() {
};
__extends(JobClass, AnimateEffect);
/**
* @param {?} dataAndEvents
* @param {?} name
* @return {?}
*/
JobClass.prototype.Oi = function(dataAndEvents, name) {
var c = new dataAndEvents.Iq;
c.zq = this;
c.sd = name;
c.kd = {};
return c;
};
/**
* @return {?}
*/
JobClass.prototype.pp = function() {
throw Error("Unimplemented");
};
/**
* @param {Function} dataAndEvents
* @return {undefined}
*/
var FlatMessage = function(dataAndEvents) {
/** @type {Function} */
this.iz = dataAndEvents;
};
__extends(FlatMessage, AnimateEffect);
/**
* @param {?} name
* @return {?}
*/
FlatMessage.prototype.Ij = function(name) {
var parts = getId(name.oc());
var qs = {};
/** @type {number} */
var ii = 0;
for (;ii < parts.length;ii++) {
var p = parts[ii];
var i = 1 == this.iz ? p.getName() : p.yb;
if (ondata(name, p.yb)) {
if (p.Ee) {
/** @type {Array} */
var val = [];
/** @type {Array} */
qs[i] = val;
/** @type {number} */
i = 0;
for (;i < member(name, p.yb);i++) {
val.push(this.aj(p, name.get(p, i)));
}
} else {
qs[i] = this.aj(p, name.get(p));
}
}
}
dasherize(name, function(i, val) {
qs[i] = val;
});
return qs;
};
/**
* @param {Object} object
* @param {Object} str
* @return {undefined}
*/
FlatMessage.prototype.pp = function(object, str) {
var p = object.oc();
var optgroup;
for (optgroup in str) {
var cycle;
var c = str[optgroup];
/** @type {boolean} */
var n = !/[^0-9]/.test(optgroup);
if (cycle = n ? p.ie[parseInt(optgroup, 10)] || null : setFillAndStroke(p, optgroup)) {
if (cycle.Ee) {
typeOf(c);
/** @type {number} */
n = 0;
for (;n < c.length;n++) {
object.add(cycle, this.Zi(cycle, c[n]));
}
} else {
typeOf(c);
object.set(cycle, this.Zi(cycle, c));
}
} else {
if (n) {
/** @type {Object} */
cycle = object;
/** @type {number} */
n = Number(optgroup);
cycle.sd[n] = c;
if (cycle.kd) {
delete cycle.kd[n];
}
}
}
}
};
/**
* @return {undefined}
*/
var Slice = function() {
};
__extends(Slice, JobClass);
self = Slice.prototype;
/** @type {boolean} */
self.Cw = false;
/**
* @param {?} name
* @return {?}
*/
self.Ij = function(name) {
var codeSegments = getId(name.oc());
/** @type {Array} */
var obj = [];
var strip = this.Cw;
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var storageKey = codeSegments[i];
if (ondata(name, storageKey.yb)) {
var content = storageKey.yb;
content = strip ? content - 1 : content;
if (storageKey.Ee) {
/** @type {Array} */
obj[content] = [];
/** @type {number} */
var camelKey = 0;
for (;camelKey < member(name, storageKey.yb);camelKey++) {
obj[content][camelKey] = this.aj(storageKey, name.get(storageKey, camelKey));
}
} else {
obj[content] = this.aj(storageKey, name.get(storageKey));
}
}
}
dasherize(name, function(key, res) {
obj[strip ? key - 1 : key] = res;
});
return obj;
};
/**
* @param {?} key
* @param {boolean} dataAndEvents
* @return {?}
*/
self.aj = function(key, dataAndEvents) {
return 8 == key.Md ? dataAndEvents ? 1 : 0 : AnimateEffect.prototype.aj.apply(this, arguments);
};
/**
* @param {number} type
* @param {(number|string)} ctor
* @return {?}
*/
self.Zi = function(type, ctor) {
return 8 == type.Md ? 1 === ctor : AnimateEffect.prototype.Zi.apply(this, arguments);
};
/**
* @param {?} ctx
* @param {?} name
* @return {?}
*/
self.Oi = function(ctx, name) {
var info = name;
if (this.Cw) {
/** @type {Array} */
info = [];
var key;
for (key in name) {
info[parseInt(key, 10) + 1] = name[key];
}
}
return Slice.Ga.Oi.call(this, ctx, info);
};
/**
* @param {?} value
* @return {undefined}
*/
var Access = function(value) {
/** @type {boolean} */
this.Tm = !!value;
};
__extends(Access, AnimateEffect);
/**
* @param {string} object
* @param {?} str
* @return {?}
*/
Access.prototype.pp = function(object, str) {
object.oc();
var parser = new FixParser;
return parser.parse(object, str.toString(), this.Tm) ? null : parser.getError();
};
/**
* @param {?} name
* @return {?}
*/
Access.prototype.Ij = function(name) {
var clone = new $Element;
sender(this, name, clone);
return clone.toString();
};
/**
* @param {boolean} op
* @param {?} name
* @param {?} array
* @return {undefined}
*/
var sender = function(op, name, array) {
var until = getId(name.oc());
getPostfixExpression(until, function(storageKey) {
if (ondata(name, storageKey.yb)) {
var quoteNeeded = member(name, storageKey.yb);
/** @type {number} */
var camelKey = 0;
for (;camelKey < quoteNeeded;++camelKey) {
array.append(storageKey.getName());
if (11 == storageKey.Md || 10 == storageKey.Md) {
array.append(" {");
rFlatten(array);
array.Uf += 2;
} else {
array.append(": ");
}
collect(this, name.get(storageKey, camelKey), storageKey, array);
if (11 == storageKey.Md || 10 == storageKey.Md) {
array.Uf -= 2;
array.append("}");
}
rFlatten(array);
}
}
}, op);
dasherize(name, function(k, item) {
if (item) {
array.append(k);
if ("object" == typeOf(item)) {
array.append(" {");
rFlatten(array);
array.Uf += 2;
} else {
array.append(": ");
}
switch(typeOf(item)) {
case "string":
item = repeat(item);
array.append(item);
break;
case "object":
sender(this, item, array);
break;
default:
array.append(item.toString());
}
if ("object" == typeOf(item)) {
array.Uf -= 2;
array.append("}");
} else {
rFlatten(array);
}
}
}, op);
};
/**
* @param {boolean} obj
* @param {(Error|string)} value
* @param {string} key
* @param {?} array
* @return {undefined}
*/
var collect = function(obj, value, key, array) {
switch(key.Md) {
case 1:
;
case 2:
;
case KEYCODE_SPACE:
;
case KEYCODE_LEFT:
;
case 5:
;
case 13:
;
case KEYCODE_DOWN:
;
case 7:
;
case 8:
;
case 15:
;
case KEYCODE_H:
;
case 17:
;
case z:
array.append(value);
break;
case 12:
;
case 9:
value = repeat(value.toString());
array.append(value);
break;
case 14:
/** @type {boolean} */
var e = false;
curry(key.Wg, function(el, k) {
if (el == value) {
array.append(k);
/** @type {boolean} */
e = true;
}
});
if (!e) {
array.append(value.toString());
}
break;
case 10:
;
case 11:
sender(obj, value, array);
}
};
/**
* @return {undefined}
*/
var $Element = function() {
/** @type {number} */
this.Uf = 0;
/** @type {Array} */
this.Kc = [];
/** @type {boolean} */
this.dr = true;
};
/**
* @return {?}
*/
$Element.prototype.toString = function() {
return this.Kc.join("");
};
/**
* @param {?} data
* @return {undefined}
*/
$Element.prototype.append = function(data) {
if (this.dr) {
/** @type {number} */
var Uf = 0;
for (;Uf < this.Uf;++Uf) {
this.Kc.push(" ");
}
/** @type {boolean} */
this.dr = false;
}
this.Kc.push(data.toString());
};
/**
* @param {?} a
* @return {undefined}
*/
var rFlatten = function(a) {
a.Kc.push("\n");
/** @type {boolean} */
a.dr = true;
};
/**
* @param {?} ip
* @param {?} dataAndEvents
* @return {undefined}
*/
var AIMove = function(ip, dataAndEvents) {
/** @type {boolean} */
this.Uy = !!dataAndEvents;
this.gy = ip;
/** @type {number} */
this.sb = 0;
this.ip = ip;
this.Ne = {
type : lastType,
value : null
};
};
/** @type {RegExp} */
var lastType = /---end---/;
/** @type {RegExp} */
var attribute = /^-?[a-zA-Z][a-zA-Z0-9_]*/;
/** @type {RegExp} */
var property = /^(0x[0-9a-f]+)|(([-])?[0-9][0-9]*(\.?[0-9]+)?([f])?)/;
/** @type {RegExp} */
var fix = /^"([^"\\]|\\.)*"/;
/** @type {RegExp} */
var zH = /^\s/;
var scrubbed = {
uC : lastType,
oD : attribute,
po : property,
DB : /^#.*/,
cF : /^{/,
wB : /^}/,
eF : /^</,
yB : /^>/,
dF : /^\[/,
xB : /^\]/,
lx : fix,
BB : /^:/,
Kw : /^,/,
ZF : /^;/,
zH : zH
};
/**
* @return {?}
*/
AIMove.prototype.next = function() {
for (;advance(this);) {
if (this.Ne.type != zH || !this.Uy) {
return true;
}
}
this.Ne = {
type : lastType,
value : null
};
return false;
};
/**
* @param {(Object|string)} options
* @return {?}
*/
var advance = function(options) {
if (options.sb >= options.gy.length) {
return false;
}
var on = options.ip;
/** @type {null} */
var option = null;
curry(scrubbed, function(type) {
if (!option && type != lastType) {
var m = type.exec(on);
if (m) {
if (0 == m.index) {
option = {
type : type,
value : m[0]
};
}
}
}
});
if (option) {
options.Ne = option;
options.sb += option.value.length;
options.ip = options.ip.substring(option.value.length);
}
return!!option;
};
/**
* @return {undefined}
*/
var FixParser = function() {
/** @type {null} */
this.be = this.Mf = null;
/** @type {boolean} */
this.Tm = false;
};
/**
* @param {?} s
* @param {string} execResult
* @param {?} reviver
* @return {?}
*/
FixParser.prototype.parse = function(s, execResult, reviver) {
/** @type {null} */
this.Mf = null;
/** @type {boolean} */
this.Tm = !!reviver;
this.be = new AIMove(execResult, true);
this.be.next();
return isEmpty(this, s, "");
};
/**
* @return {?}
*/
FixParser.prototype.getError = function() {
return this.Mf;
};
/**
* @param {number} element
* @param {?} v21
* @param {string} str
* @return {?}
*/
var isEmpty = function(element, v21, str) {
for (;">" != element.be.Ne.value && ("}" != element.be.Ne.value && element.be.Ne.type != lastType);) {
if (!returnFalse(element, v21)) {
return false;
}
}
if (str) {
if (!$transition(element, str)) {
return false;
}
} else {
if (element.be.Ne.type != lastType) {
/** @type {string} */
element.Mf = "Expected END token";
}
}
return true;
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @param {Object} namespace
* @param {string} fix
* @return {?}
*/
var animateSetup = function(expectedNumberOfNonCommentArgs, namespace, fix) {
expectedNumberOfNonCommentArgs = convertValue(expectedNumberOfNonCommentArgs, fix);
if (null === expectedNumberOfNonCommentArgs) {
return false;
}
if (fix.Ee) {
namespace.add(fix, expectedNumberOfNonCommentArgs);
} else {
namespace.set(fix, expectedNumberOfNonCommentArgs);
}
return true;
};
/**
* @param {number} element
* @param {string} type
* @return {?}
*/
var convertValue = function(element, type) {
switch(type.Md) {
case 1:
;
case 2:
var value = proceed(element, attribute);
if (value && (value = /^-?inf(?:inity)?f?$/i.test(value) ? Infinity * (0 == value.lastIndexOf("-", 0) ? -1 : 1) : /^nanf?$/i.test(value) ? NaN : null, null != value)) {
return value;
}
;
case 5:
;
case 13:
;
case 7:
;
case 15:
;
case 17:
return(value = proceed(element, property)) ? -1 != value.indexOf(".") ? parseFloat(value) : formatNumber(value) : null;
case KEYCODE_SPACE:
;
case KEYCODE_LEFT:
;
case KEYCODE_DOWN:
;
case KEYCODE_H:
;
case z:
return(value = proceed(element, property)) ? type.Wg == Number ? -1 != value.indexOf(".") ? parseFloat(value) : formatNumber(value) : value : null;
case 8:
value = proceed(element, attribute);
if (!value) {
return null;
}
switch(value) {
case "true":
return true;
case "false":
return false;
default:
return element.Mf = "Unknown type for bool: " + value, null;
}
;
case 14:
if (element.be.Ne.type == property) {
return proceed(element, property);
}
value = proceed(element, attribute);
if (!value) {
return null;
}
var count = type.Wg[value];
return null == count ? (element.Mf = "Unknown enum value: " + value, null) : count;
case 12:
;
case 9:
return(value = proceed(element, fix)) ? htmlEscape(value).toString() : null;
}
};
/**
* @param {number} element
* @return {?}
*/
var verify = function(element) {
addElement(element, ":");
if (addElement(element, "[")) {
for (;;) {
element.be.next();
if (addElement(element, "]")) {
break;
}
if (!$transition(element, ",")) {
return false;
}
}
return true;
}
if (addElement(element, "<")) {
return isEmpty(element, null, ">");
}
if (addElement(element, "{")) {
return isEmpty(element, null, "}");
}
element.be.next();
return true;
};
/**
* @param {number} element
* @param {Object} namespace
* @return {?}
*/
var returnFalse = function(element, namespace) {
var cycle = proceed(element, attribute);
if (!cycle) {
return element.Mf = "Missing field name", false;
}
/** @type {null} */
var expires = null;
if (namespace) {
expires = setFillAndStroke(namespace.oc(), cycle.toString());
}
if (null == expires) {
if (element.Tm) {
return verify(element);
}
/** @type {string} */
element.Mf = "Unknown field: " + cycle;
return false;
}
if (11 == expires.Md || 10 == expires.Md) {
addElement(element, ":");
a: {
cycle = expires;
/** @type {string} */
expires = "";
if (addElement(element, "<")) {
/** @type {string} */
expires = ">";
} else {
if (!$transition(element, "{")) {
/** @type {boolean} */
cycle = false;
break a;
}
/** @type {string} */
expires = "}";
}
var expectedNumberOfNonCommentArgs;
expectedNumberOfNonCommentArgs = new (cycle.Wg.oc().Iq);
if (isEmpty(element, expectedNumberOfNonCommentArgs, expires)) {
if (cycle.Ee) {
namespace.add(cycle, expectedNumberOfNonCommentArgs);
} else {
namespace.set(cycle, expectedNumberOfNonCommentArgs);
}
/** @type {boolean} */
cycle = true;
} else {
/** @type {boolean} */
cycle = false;
}
}
if (!cycle) {
return false;
}
} else {
if (!$transition(element, ":")) {
return false;
}
if (expires.Ee && addElement(element, "[")) {
for (;;) {
if (!animateSetup(element, namespace, expires)) {
return false;
}
if (addElement(element, "]")) {
break;
}
if (!$transition(element, ",")) {
return false;
}
}
} else {
if (!animateSetup(element, namespace, expires)) {
return false;
}
}
}
if (!addElement(element, ",")) {
addElement(element, ";");
}
return true;
};
/**
* @param {number} allow
* @param {string} value
* @return {?}
*/
var addElement = function(allow, value) {
return allow.be.Ne.value == value ? (allow.be.next(), true) : false;
};
/**
* @param {number} event
* @param {RegExp} type
* @return {?}
*/
var proceed = function(event, type) {
if (event.be.Ne.type != type) {
return event.Mf = "Expected token type: " + type, null;
}
var raw = event.be.Ne.value;
event.be.next();
return raw;
};
/**
* @param {number} element
* @param {string} now
* @return {?}
*/
var $transition = function(element, now) {
return addElement(element, now) ? true : (element.Mf = 'Expected token "' + now + '"', false);
};
/**
* @return {undefined}
*/
var ArgThat = function() {
_super.apply(this);
};
__extends(ArgThat, _super);
self = ArgThat.prototype;
/**
* @return {?}
*/
self.Ig = function() {
return get_mangled(this, 1);
};
/**
* @param {?} target
* @return {undefined}
*/
self.qi = function(target) {
origFindId(this, 1, target);
};
/**
* @return {?}
*/
self.Lt = function() {
return func(this, 2);
};
/**
* @param {number} isXML
* @return {undefined}
*/
self.Sv = function(isXML) {
origFindId(this, 2, isXML);
};
/**
* @param {?} isXML
* @return {undefined}
*/
self.Ov = function(isXML) {
origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.Ht = function() {
return func(this, 4);
};
/**
* @param {Object} isXML
* @return {undefined}
*/
self.Pv = function(isXML) {
origFindId(this, 4, isXML);
};
/**
* @return {?}
*/
self.Yt = function() {
return ondata(this, 4);
};
isAncestor(ArgThat, {
0 : {
name : "PhoneNumber",
$ : "i18n.phonenumbers.PhoneNumber"
},
1 : {
name : "country_code",
required : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
2 : {
name : "national_number",
required : true,
c : 4,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "extension",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "italian_leading_zero",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
8 : {
name : "number_of_leading_zeros",
c : 5,
defaultValue : 1,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "raw_input",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "country_code_source",
c : 14,
defaultValue : 1,
type : {
Ww : 1,
Vw : 5,
Uw : 10,
Tw : 20
}
},
7 : {
name : "preferred_domestic_carrier_code",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
/**
* @return {undefined}
*/
var str = function() {
_super.apply(this);
};
__extends(str, _super);
/**
* @return {undefined}
*/
var ul = function() {
_super.apply(this);
};
__extends(ul, _super);
/**
* @return {undefined}
*/
var TodosActiveView = function() {
_super.apply(this);
};
__extends(TodosActiveView, _super);
self = TodosActiveView.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 9);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 9);
};
/**
* @param {string} iterator
* @return {undefined}
*/
self.Ia = function(iterator) {
origFindId(this, 9, iterator);
};
/**
* @return {undefined}
*/
self.Ab = function() {
isArray(this, 9);
};
/**
* @return {?}
*/
self.Ig = function() {
return get_mangled(this, 10);
};
/**
* @param {?} target
* @return {undefined}
*/
self.qi = function(target) {
origFindId(this, 10, target);
};
/**
* @return {undefined}
*/
var stat = function() {
_super.apply(this);
};
__extends(stat, _super);
isAncestor(str, {
0 : {
name : "NumberFormat",
$ : "i18n.phonenumbers.NumberFormat"
},
1 : {
name : "pattern",
required : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "format",
required : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "leading_digits_pattern",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "national_prefix_formatting_rule",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "national_prefix_optional_when_formatting",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "domestic_carrier_code_formatting_rule",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(ul, {
0 : {
name : "PhoneNumberDesc",
$ : "i18n.phonenumbers.PhoneNumberDesc"
},
2 : {
name : "national_number_pattern",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "possible_number_pattern",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "example_number",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(TodosActiveView, {
0 : {
name : "PhoneMetadata",
$ : "i18n.phonenumbers.PhoneMetadata"
},
1 : {
name : "general_desc",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
2 : {
name : "fixed_line",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
3 : {
name : "mobile",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
4 : {
name : "toll_free",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
5 : {
name : "premium_rate",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
6 : {
name : "shared_cost",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
7 : {
name : "personal_number",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
8 : {
name : "voip",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
21 : {
name : "pager",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
25 : {
name : "uan",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
27 : {
name : "emergency",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
28 : {
name : "voicemail",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
24 : {
name : "no_international_dialling",
required : true,
c : 11,
/** @type {function (): undefined} */
type : ul
},
9 : {
name : "id",
required : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
10 : {
name : "country_code",
required : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
11 : {
name : "international_prefix",
required : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
17 : {
name : "preferred_international_prefix",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "national_prefix",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
13 : {
name : "preferred_extn_prefix",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
15 : {
name : "national_prefix_for_parsing",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
16 : {
name : "national_prefix_transform_rule",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
18 : {
name : "same_mobile_and_fixed_line_pattern",
c : 8,
defaultValue : false,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
19 : {
name : "number_format",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : str
},
20 : {
name : "intl_number_format",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : str
},
22 : {
name : "main_country_for_code",
c : 8,
defaultValue : false,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
23 : {
name : "leading_digits",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
26 : {
name : "leading_zero_possible",
c : 8,
defaultValue : false,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(stat, {
0 : {
name : "PhoneMetadataCollection",
$ : "i18n.phonenumbers.PhoneMetadataCollection"
},
1 : {
name : "metadata",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : TodosActiveView
}
});
var script = {
countryToMetadata : [],
countryCodeToRegionCodeMap : []
};
append("i18n.phonenumbers.metadata", script);
/**
* @return {undefined}
*/
var Camera = function() {
this.pv = {};
};
/**
* @return {?}
*/
Camera.Dy = function() {
return Camera.ju ? Camera.ju : Camera.ju = new Camera;
};
append("i18n.phonenumbers.loadFromServer", function() {
Request("GET", "/-/phonenumber-metadata/", null, function(id) {
makeModuleMap(id);
});
});
var r20 = {
0 : "0",
1 : "1",
2 : "2",
3 : "3",
4 : "4",
5 : "5",
6 : "6",
7 : "7",
8 : "8",
9 : "9",
"\uff10" : "0",
"\uff11" : "1",
"\uff12" : "2",
"\uff13" : "3",
"\uff14" : "4",
"\uff15" : "5",
"\uff16" : "6",
"\uff17" : "7",
"\uff18" : "8",
"\uff19" : "9",
"\u0660" : "0",
"\u0661" : "1",
"\u0662" : "2",
"\u0663" : "3",
"\u0664" : "4",
"\u0665" : "5",
"\u0666" : "6",
"\u0667" : "7",
"\u0668" : "8",
"\u0669" : "9",
"\u06f0" : "0",
"\u06f1" : "1",
"\u06f2" : "2",
"\u06f3" : "3",
"\u06f4" : "4",
"\u06f5" : "5",
"\u06f6" : "6",
"\u06f7" : "7",
"\u06f8" : "8",
"\u06f9" : "9"
};
var rreturn = {
0 : "0",
1 : "1",
2 : "2",
3 : "3",
4 : "4",
5 : "5",
6 : "6",
7 : "7",
8 : "8",
9 : "9",
"\uff10" : "0",
"\uff11" : "1",
"\uff12" : "2",
"\uff13" : "3",
"\uff14" : "4",
"\uff15" : "5",
"\uff16" : "6",
"\uff17" : "7",
"\uff18" : "8",
"\uff19" : "9",
"\u0660" : "0",
"\u0661" : "1",
"\u0662" : "2",
"\u0663" : "3",
"\u0664" : "4",
"\u0665" : "5",
"\u0666" : "6",
"\u0667" : "7",
"\u0668" : "8",
"\u0669" : "9",
"\u06f0" : "0",
"\u06f1" : "1",
"\u06f2" : "2",
"\u06f3" : "3",
"\u06f4" : "4",
"\u06f5" : "5",
"\u06f6" : "6",
"\u06f7" : "7",
"\u06f8" : "8",
"\u06f9" : "9",
A : "2",
B : "2",
C : "2",
D : "3",
E : "3",
F : "3",
G : "4",
H : "4",
I : "4",
J : "5",
K : "5",
L : "5",
M : "6",
N : "6",
O : "6",
P : "7",
Q : "7",
R : "7",
S : "7",
T : "8",
U : "8",
V : "8",
W : "9",
X : "9",
Y : "9",
Z : "9"
};
/** @type {RegExp} */
var v = RegExp("^[+\uff0b]+");
/** @type {RegExp} */
var name = RegExp("([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9])");
/** @type {RegExp} */
var regex = RegExp("[+\uff0b0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]");
/** @type {RegExp} */
var term = /[\\\/] *x/;
/** @type {RegExp} */
var cx = RegExp("[^0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9A-Za-z#]+$");
/** @type {RegExp} */
var ancestors = /(?:.*?[A-Za-z]){3}.*/;
/** @type {RegExp} */
var optgroup = RegExp("(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)$", "i");
/** @type {RegExp} */
var rx = RegExp("^[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{2}$|^[+\uff0b]*(?:[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*]*[0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]){3,}[-x\u2010-\u2015\u2212\u30fc\uff0d-\uff0f \u00a0\u00ad\u200b\u2060\u3000()\uff08\uff09\uff3b\uff3d.\\[\\]/~\u2053\u223c\uff5e*A-Za-z0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]*(?:;ext=([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})|[ \u00a0\\t,]*(?:e?xt(?:ensi(?:o\u0301?|\u00f3))?n?|\uff45?\uff58\uff54\uff4e?|[,x\uff58#\uff03~\uff5e]|int|anexo|\uff49\uff4e\uff54)[:\\.\uff0e]?[ \u00a0\\t,-]*([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,7})#?|[- ]+([0-9\uff10-\uff19\u0660-\u0669\u06f0-\u06f9]{1,5})#)?$",
"i");
/**
* @param {string} text
* @return {?}
*/
var removeComments = function(text) {
var index = text.search(regex);
if (0 <= index) {
text = text.substring(index);
text = text.replace(cx, "");
index = text.search(term);
if (0 <= index) {
text = text.substring(0, index);
}
} else {
/** @type {string} */
text = "";
}
return text;
};
/**
* @param {Object} func
* @return {undefined}
*/
var _load = function(func) {
var pdataCur = last(ancestors, func.toString()) ? getParam(func.toString(), rreturn) : getParam(func.toString(), r20);
func.clear();
func.append(pdataCur);
};
/**
* @param {string} name
* @param {?} regex
* @return {?}
*/
var getParam = function(name, regex) {
var c = new Color;
var k;
var valuesLen = name.length;
/** @type {number} */
var i = 0;
for (;i < valuesLen;++i) {
k = name.charAt(i);
k = regex[k.toUpperCase()];
if (null != k) {
c.append(k);
}
}
return c.toString();
};
/**
* @param {?} i
* @return {?}
*/
var pad = function(i) {
var num = "" + i.Lt();
return i.Yt() && i.Ht() ? Array(get_mangled(i, 8) + 1).join("0") + num : num;
};
/**
* @param {string} obj
* @param {?} fn
* @return {?}
*/
var rename = function(obj, fn) {
var name = func(fn, 1);
return ondata(name, 2) && label(obj, name) ? label(obj, func(fn, 5)) ? 4 : label(obj, func(fn, 4)) ? 3 : label(obj, func(fn, 6)) ? 5 : label(obj, func(fn, 8)) ? 6 : label(obj, func(fn, 7)) ? 7 : label(obj, func(fn, 21)) ? 8 : label(obj, func(fn, 25)) ? 9 : label(obj, func(fn, 28)) ? 10 : label(obj, func(fn, 2)) ? func(fn, 18) || label(obj, func(fn, 3)) ? 2 : 0 : !func(fn, 18) && label(obj, func(fn, 3)) ? 1 : -1 : -1;
};
/**
* @param {string} item
* @param {string} name
* @return {?}
*/
var getName = function(item, name) {
if (null == name) {
return null;
}
name = name.toUpperCase();
var klass = item.pv[name];
if (null == klass) {
klass = script.countryToMetadata[name];
if (null == klass) {
return null;
}
klass = (new Slice).Oi(TodosActiveView.oc(), klass);
item.pv[name] = klass;
}
return klass;
};
/**
* @param {string} o
* @param {?} name
* @return {?}
*/
var label = function(o, name) {
return last(get_mangled(name, 3), o) && last(get_mangled(name, 2), o);
};
/**
* @param {Object} options
* @param {string} text
* @param {Object} t
* @param {?} position
* @return {?}
*/
var endsWith = function(options, text, t, position) {
if (0 == options.length) {
return 0;
}
options = new Color(options);
var value;
if (null != text) {
value = func(text, 11);
}
if (null == value) {
/** @type {string} */
value = "NonMatch";
}
var optgroup = options.toString();
if (0 == optgroup.length) {
/** @type {number} */
value = 20;
} else {
if (v.test(optgroup)) {
optgroup = optgroup.replace(v, "");
options.clear();
options.append(last(ancestors, optgroup) ? getParam(optgroup, rreturn) : getParam(optgroup, r20));
/** @type {number} */
value = 1;
} else {
/** @type {RegExp} */
optgroup = RegExp(value);
_load(options);
value = options.toString();
if (0 == value.search(optgroup)) {
optgroup = value.match(optgroup)[0].length;
var input = value.substring(optgroup).match(name);
if (input && (null != input[1] && (0 < input[1].length && "0" == getParam(input[1], r20)))) {
/** @type {boolean} */
value = false;
} else {
options.clear();
options.append(value.substring(optgroup));
/** @type {boolean} */
value = true;
}
} else {
/** @type {boolean} */
value = false;
}
/** @type {number} */
value = value ? 5 : 20;
}
}
if (20 != value) {
if (2 >= options.Kc.length) {
throw "Phone number too short after IDD";
}
a: {
options = options.toString();
if (0 != options.length && "0" != options.charAt(0)) {
value = options.length;
/** @type {number} */
optgroup = 1;
for (;3 >= optgroup && optgroup <= value;++optgroup) {
if (text = parseInt(options.substring(0, optgroup), 10), text in script.countryCodeToRegionCodeMap) {
t.append(options.substring(optgroup));
/** @type {string} */
t = text;
break a;
}
}
}
/** @type {number} */
t = 0;
}
if (0 != t) {
return position.qi(t), t;
}
throw "Invalid country calling code";
}
if (null != text && (value = text.Ig(), optgroup = "" + value, input = options.toString(), 0 == input.lastIndexOf(optgroup, 0))) {
var c = new Color(input.substring(optgroup.length));
input = func(text, 1);
/** @type {RegExp} */
optgroup = RegExp(get_mangled(input, 2));
parseColor(c, text, null);
text = c.toString();
input = get_mangled(input, 3);
if (!last(optgroup, options.toString()) && last(optgroup, text) || 3 == (last(input, options.toString()) ? 0 : 0 == options.toString().search(input) ? 3 : 2)) {
return t.append(text), position.qi(value), value;
}
}
position.qi(0);
return 0;
};
/**
* @param {Object} color
* @param {string} value
* @param {Object} g
* @return {undefined}
*/
var parseColor = function(color, value, g) {
var string = color.toString();
var n = string.length;
var re = func(value, 15);
if (0 != n && (null != re && (0 != re.length && (re = RegExp("^(?:" + re + ")"), n = re.exec(string))))) {
/** @type {function (new:RegExp, *=, *=): RegExp} */
var item = RegExp;
var name;
name = func(value, 1);
name = get_mangled(name, 2);
/** @type {RegExp} */
item = item(name);
name = last(item, string);
/** @type {number} */
var childKey = n.length - 1;
value = func(value, 16);
if (null == value || (0 == value.length || (null == n[childKey] || 0 == n[childKey].length))) {
if (!name || last(item, string.substring(n[0].length))) {
if (null != g) {
if (0 < childKey) {
if (null != n[childKey]) {
g.append(n[1]);
}
}
}
color.set(string.substring(n[0].length));
}
} else {
if (string = string.replace(re, value), !name || last(item, string)) {
if (null != g) {
if (0 < childKey) {
g.append(n[1]);
}
}
color.set(string);
}
}
}
};
/**
* @param {string} s
* @param {string} string
* @return {?}
*/
Camera.prototype.parse = function(s, string) {
if (null == s) {
throw "The string supplied did not seem to be a phone number";
}
if (250 < s.length) {
throw "The string supplied is too long to be a phone number";
}
var c = new Color;
var j = s.indexOf(";phone-context=");
if (0 < j) {
var n = j + 15;
if ("+" == s.charAt(n)) {
var name = s.indexOf(";", n);
if (0 < name) {
c.append(s.substring(n, name));
} else {
c.append(s.substring(n));
}
}
c.append(s.substring(s.indexOf("tel:") + 4, j));
} else {
c.append(removeComments(s));
}
j = c.toString();
n = j.indexOf(";isub=");
if (0 < n) {
c.clear();
c.append(j.substring(0, n));
}
if (2 > c.toString().length || !last(rx, c.toString())) {
throw "The string supplied did not seem to be a phone number";
}
if (!(null != string && (isNaN(string) && string.toUpperCase() in script.countryToMetadata) || null != c.toString() && (0 < c.toString().length && v.test(c.toString())))) {
throw "Invalid country calling code";
}
j = new ArgThat;
a: {
n = c.toString();
name = n.search(optgroup);
if (0 <= name && (2 > n.substring(0, name).length ? 0 : last(rx, n.substring(0, name)))) {
var i = n.match(optgroup);
var x = i.length;
/** @type {number} */
var key = 1;
for (;key < x;++key) {
if (null != i[key] && 0 < i[key].length) {
c.clear();
c.append(n.substring(0, name));
n = i[key];
break a;
}
}
}
/** @type {string} */
n = "";
}
if (0 < n.length) {
j.Ov(n);
}
name = getName(this, string);
n = new Color;
/** @type {number} */
i = 0;
x = c.toString();
try {
i = endsWith(x, name, n, j);
} catch (m) {
if ("Invalid country calling code" == m && v.test(x)) {
if (x = x.replace(v, ""), i = endsWith(x, name, n, j), 0 == i) {
throw m;
}
} else {
throw m;
}
}
if (0 != i) {
c = script.countryCodeToRegionCodeMap[i];
c = null == c ? "ZZ" : c[0];
if (c != string) {
name = "001" == c ? getName(this, "" + i) : getName(this, c);
}
} else {
_load(c);
n.append(c.toString());
if (null != string) {
i = name.Ig();
j.qi(i);
}
}
if (2 > n.Kc.length) {
throw "The string supplied is too short to be a phone number";
}
if (null != name) {
i = new Color;
c = new Color(n.toString());
parseColor(c, name, i);
i = c.toString();
name = func(name, 1);
name = get_mangled(name, 3);
if (!(2 == (last(name, i) ? 0 : 0 == i.search(name) ? 3 : 2))) {
n = c;
}
}
c = n.toString();
n = c.length;
if (2 > n) {
throw "The string supplied is too short to be a phone number";
}
if (17 < n) {
throw "The string supplied is too long to be a phone number";
}
if (1 < c.length && "0" == c.charAt(0)) {
j.Pv(true);
/** @type {number} */
n = 1;
for (;n < c.length - 1 && "0" == c.charAt(n);) {
n++;
}
if (1 != n) {
origFindId(j, 8, n);
}
}
j.Sv(parseInt(c, 10));
return j;
};
/**
* @param {?} optgroup
* @param {string} name
* @return {?}
*/
var last = function(optgroup, name) {
var codeSegments = "string" == typeof optgroup ? name.match("^(?:" + optgroup + ")$") : name.match(optgroup);
return codeSegments && codeSegments[0].length == name.length ? true : false;
};
/** @type {boolean} */
window.PR_SHOULD_USE_CONTINUATION = true;
var setContainer;
var prettyPrint;
(function() {
/**
* @param {Array} regexs
* @return {?}
*/
function combinePrefixPatterns(regexs) {
/**
* @param {string} charsetPart
* @return {?}
*/
function decodeEscape(charsetPart) {
var cc0 = charsetPart.charCodeAt(0);
if (92 !== cc0) {
return cc0;
}
var y = charsetPart.charAt(1);
return(cc0 = escapeCharToCodeUnit[y]) ? cc0 : "0" <= y && "7" >= y ? parseInt(charsetPart.substring(1), 8) : "u" === y || "x" === y ? parseInt(charsetPart.substring(2), 16) : charsetPart.charCodeAt(1);
}
/**
* @param {string} code
* @return {?}
*/
function encodeEscape(code) {
if (32 > code) {
return(16 > code ? "\\x0" : "\\x") + code.toString(16);
}
/** @type {string} */
code = String.fromCharCode(code);
return "\\" === code || ("-" === code || ("]" === code || "^" === code)) ? "\\" + code : code;
}
/**
* @param {Array} a
* @return {?}
*/
function caseFoldCharset(a) {
var pages = a.substring(1, a.length - 1).match(RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]", "g"));
/** @type {Array} */
a = [];
/** @type {boolean} */
var i = "^" === pages[0];
/** @type {Array} */
var out = ["["];
if (i) {
out.push("^");
}
/** @type {number} */
i = i ? 1 : 0;
var j = pages.length;
for (;i < j;++i) {
var p = pages[i];
if (/\\[bdsw]/i.test(p)) {
out.push(p);
} else {
p = decodeEscape(p);
var g;
if (i + 2 < j && "-" === pages[i + 1]) {
g = decodeEscape(pages[i + 2]);
i += 2;
} else {
g = p;
}
a.push([p, g]);
if (!(65 > g)) {
if (!(122 < p)) {
if (!(65 > g)) {
if (!(90 < p)) {
a.push([Math.max(65, p) | 32, Math.min(g, 90) | 32]);
}
}
if (!(97 > g)) {
if (!(122 < p)) {
a.push([Math.max(97, p) & -33, Math.min(g, 122) & -33]);
}
}
}
}
}
}
a.sort(function(vecA, vecB) {
return vecA[0] - vecB[0] || vecB[1] - vecA[1];
});
/** @type {Array} */
pages = [];
/** @type {Array} */
j = [];
/** @type {number} */
i = 0;
for (;i < a.length;++i) {
p = a[i];
if (p[0] <= j[1] + 1) {
/** @type {number} */
j[1] = Math.max(j[1], p[1]);
} else {
pages.push(j = p);
}
}
/** @type {number} */
i = 0;
for (;i < pages.length;++i) {
p = pages[i];
out.push(encodeEscape(p[0]));
if (p[1] > p[0]) {
if (p[1] + 1 > p[0]) {
out.push("-");
}
out.push(encodeEscape(p[1]));
}
}
out.push("]");
return out.join("");
}
/**
* @param {Object} regex
* @return {?}
*/
function allowAnywhereFoldCaseAndRenumberGroups(regex) {
var parts = regex.source.match(RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)", "g"));
var l = parts.length;
/** @type {Array} */
var codeSegments = [];
/** @type {number} */
var i = 0;
/** @type {number} */
var last = 0;
for (;i < l;++i) {
var p = parts[i];
if ("(" === p) {
++last;
} else {
if ("\\" === p.charAt(0)) {
if (p = +p.substring(1)) {
if (p <= last) {
/** @type {number} */
codeSegments[p] = -1;
} else {
parts[i] = encodeEscape(p);
}
}
}
}
}
/** @type {number} */
i = 1;
for (;i < codeSegments.length;++i) {
if (-1 === codeSegments[i]) {
/** @type {number} */
codeSegments[i] = ++capturedGroupIndex;
}
}
/** @type {number} */
last = i = 0;
for (;i < l;++i) {
p = parts[i];
if ("(" === p) {
++last;
if (!codeSegments[last]) {
/** @type {string} */
parts[i] = "(?:";
}
} else {
if ("\\" === p.charAt(0)) {
if (p = +p.substring(1)) {
if (p <= last) {
parts[i] = "\\" + codeSegments[p];
}
}
}
}
}
/** @type {number} */
i = 0;
for (;i < l;++i) {
if ("^" === parts[i]) {
if ("^" !== parts[i + 1]) {
/** @type {string} */
parts[i] = "";
}
}
}
if (regex.ignoreCase && needToFoldCase) {
/** @type {number} */
i = 0;
for (;i < l;++i) {
p = parts[i];
regex = p.charAt(0);
if (2 <= p.length && "[" === regex) {
parts[i] = caseFoldCharset(p);
} else {
if ("\\" !== regex) {
parts[i] = p.replace(/[a-zA-Z]/g, function(a) {
a = a.charCodeAt(0);
return "[" + String.fromCharCode(a & -33, a | 32) + "]";
});
}
}
}
}
return parts.join("");
}
/** @type {number} */
var capturedGroupIndex = 0;
/** @type {boolean} */
var needToFoldCase = false;
/** @type {boolean} */
var l = false;
/** @type {number} */
var i = 0;
var n = regexs.length;
for (;i < n;++i) {
var regex = regexs[i];
if (regex.ignoreCase) {
/** @type {boolean} */
l = true;
} else {
if (/[a-z]/i.test(regex.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi, ""))) {
/** @type {boolean} */
needToFoldCase = true;
/** @type {boolean} */
l = false;
break;
}
}
}
var escapeCharToCodeUnit = {
b : 8,
t : 9,
n : 10,
v : 11,
f : 12,
r : 13
};
/** @type {Array} */
var tagNameArr = [];
/** @type {number} */
i = 0;
n = regexs.length;
for (;i < n;++i) {
regex = regexs[i];
if (regex.global || regex.multiline) {
throw Error("" + regex);
}
tagNameArr.push("(?:" + allowAnywhereFoldCaseAndRenumberGroups(regex) + ")");
}
return RegExp(tagNameArr.join("|"), l ? "gi" : "g");
}
/**
* @param {Node} expr
* @param {number} height
* @return {?}
*/
function create(expr, height) {
/**
* @param {Node} node
* @return {undefined}
*/
function walk(node) {
var val = node.nodeType;
if (1 == val) {
if (!nocode.test(node.className)) {
val = node.firstChild;
for (;val;val = val.nextSibling) {
walk(val);
}
val = node.nodeName.toLowerCase();
if ("br" === val || "li" === val) {
/** @type {string} */
curr[k] = "\n";
/** @type {number} */
spans[k << 1] = length++;
/** @type {Node} */
spans[k++ << 1 | 1] = node;
}
}
} else {
if (3 == val || 4 == val) {
val = node.nodeValue;
if (val.length) {
val = height ? val.replace(/\r\n?/g, "\n") : val.replace(/[ \t\r\n]+/g, " ");
curr[k] = val;
spans[k << 1] = length;
length += val.length;
/** @type {Node} */
spans[k++ << 1 | 1] = node;
}
}
}
}
/** @type {RegExp} */
var nocode = /(?:^|\s)nocode(?:\s|$)/;
/** @type {Array} */
var curr = [];
/** @type {number} */
var length = 0;
/** @type {Array} */
var spans = [];
/** @type {number} */
var k = 0;
walk(expr);
return{
Jl : curr.join("").replace(/\n$/, ""),
Jr : spans
};
}
/**
* @param {number} job
* @param {number} sourceCode
* @param {Function} langHandler
* @param {Array} out
* @return {undefined}
*/
function appendDecorations(job, sourceCode, langHandler, out) {
if (sourceCode) {
job = {
Jl : sourceCode,
Ks : job
};
langHandler(job);
out.push.apply(out, job.kt);
}
}
/**
* @param {number} source
* @return {?}
*/
function walk(source) {
var value = void 0;
var n = source.firstChild;
for (;n;n = n.nextSibling) {
var a = n.nodeType;
value = 1 === a ? value ? source : n : 3 === a ? ns.test(n.nodeValue) ? source : value : value;
}
return value === source ? void 0 : value;
}
/**
* @param {Array} shortcutStylePatterns
* @param {?} a
* @return {?}
*/
function createSimpleLexer(shortcutStylePatterns, a) {
/**
* @param {?} job
* @return {undefined}
*/
function decorate(job) {
var basePos = job.Ks;
/** @type {Array} */
var decorations = [basePos, "pln"];
/** @type {number} */
var position = 0;
var codeSegments = job.Jl.match(optgroup) || [];
var flags = {};
/** @type {number} */
var i = 0;
var valuesLen = codeSegments.length;
for (;i < valuesLen;++i) {
var key = codeSegments[i];
var value = flags[key];
var msg = void 0;
var embeddedSource;
if ("string" === typeof value) {
/** @type {boolean} */
embeddedSource = false;
} else {
var tokenStart = stack[key.charAt(0)];
if (tokenStart) {
msg = key.match(tokenStart[1]);
value = tokenStart[0];
} else {
/** @type {number} */
embeddedSource = 0;
for (;embeddedSource < al;++embeddedSource) {
if (tokenStart = a[embeddedSource], msg = key.match(tokenStart[1])) {
value = tokenStart[0];
break;
}
}
if (!msg) {
/** @type {string} */
value = "pln";
}
}
if (!!(embeddedSource = 5 <= value.length && "lang-" === value.substring(0, 5))) {
if (!(msg && "string" === typeof msg[1])) {
/** @type {boolean} */
embeddedSource = false;
/** @type {string} */
value = "src";
}
}
if (!embeddedSource) {
flags[key] = value;
}
}
tokenStart = position;
position += key.length;
if (embeddedSource) {
embeddedSource = msg[1];
var embeddedSourceStart = key.indexOf(embeddedSource);
var embeddedSourceEnd = embeddedSourceStart + embeddedSource.length;
if (msg[2]) {
/** @type {number} */
embeddedSourceEnd = key.length - msg[2].length;
/** @type {number} */
embeddedSourceStart = embeddedSourceEnd - embeddedSource.length;
}
value = value.substring(5);
appendDecorations(basePos + tokenStart, key.substring(0, embeddedSourceStart), decorate, decorations);
appendDecorations(basePos + tokenStart + embeddedSourceStart, embeddedSource, langHandlerForExtension(value, embeddedSource), decorations);
appendDecorations(basePos + tokenStart + embeddedSourceEnd, key.substring(embeddedSourceEnd), decorate, decorations);
} else {
decorations.push(basePos + tokenStart, value);
}
}
/** @type {Array} */
job.kt = decorations;
}
var stack = {};
var optgroup;
(function() {
var ka = shortcutStylePatterns.concat(a);
/** @type {Array} */
var allRegexs = [];
var opt_tagWhitelist = {};
/** @type {number} */
var i = 0;
var valuesLen = ka.length;
for (;i < valuesLen;++i) {
var regex = ka[i];
var tagName = regex[3];
if (tagName) {
var spaces = tagName.length;
for (;0 <= --spaces;) {
stack[tagName.charAt(spaces)] = regex;
}
}
regex = regex[1];
/** @type {string} */
tagName = "" + regex;
if (!opt_tagWhitelist.hasOwnProperty(tagName)) {
allRegexs.push(regex);
/** @type {null} */
opt_tagWhitelist[tagName] = null;
}
}
allRegexs.push(/[\0-\uffff]/);
optgroup = combinePrefixPatterns(allRegexs);
})();
var al = a.length;
return decorate;
}
/**
* @param {Object} opt_attributes
* @return {?}
*/
function u(opt_attributes) {
/** @type {Array} */
var shortcutStylePatterns = [];
/** @type {Array} */
var e = [];
if (opt_attributes.tripleQuotedStrings) {
shortcutStylePatterns.push(["str", /^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/, null, "'\""]);
} else {
if (opt_attributes.multiLineStrings) {
shortcutStylePatterns.push(["str", /^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/, null, "'\"`"]);
} else {
shortcutStylePatterns.push(["str", /^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/, null, "\"'"]);
}
}
if (opt_attributes.verbatimStrings) {
e.push(["str", /^@\"(?:[^\"]|\"\")*(?:\"|$)/, null]);
}
var value = opt_attributes.hashComments;
if (value) {
if (opt_attributes.cStyleComments) {
if (1 < value) {
shortcutStylePatterns.push(["com", /^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/, null, "#"]);
} else {
shortcutStylePatterns.push(["com", /^#(?:(?:define|e(?:l|nd)if|else|error|ifn?def|include|line|pragma|undef|warning)\b|[^\r\n]*)/, null, "#"]);
}
e.push(["str", /^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h(?:h|pp|\+\+)?|[a-z]\w*)>/, null]);
} else {
shortcutStylePatterns.push(["com", /^#[^\r\n]*/, null, "#"]);
}
}
if (opt_attributes.cStyleComments) {
e.push(["com", /^\/\/[^\r\n]*/, null]);
e.push(["com", /^\/\*[\s\S]*?(?:\*\/|$)/, null]);
}
if (value = opt_attributes.regexLiterals) {
/** @type {string} */
var f = (value = 1 < value ? "" : "\n\r") ? "." : "[\\S\\s]";
e.push(["lang-regex", RegExp("^(?:^^\\.?|[+-]|[!=]=?=?|\\#|%=?|&&?=?|\\(|\\*=?|[+\\-]=|->|\\/=?|::?|<<?=?|>>?>?=?|,|;|\\?|@|\\[|~|{|\\^\\^?=?|\\|\\|?=?|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*(" + ("/(?=[^/*" + value + "])(?:[^/\\x5B\\x5C" + value + "]|\\x5C" + f + "|\\x5B(?:[^\\x5C\\x5D" + value + "]|\\x5C" + f + ")*(?:\\x5D|$))+/") + ")")]);
}
if (value = opt_attributes.types) {
e.push(["typ", value]);
}
/** @type {string} */
value = ("" + opt_attributes.keywords).replace(/^ | $/g, "");
if (value.length) {
e.push(["kwd", RegExp("^(?:" + value.replace(/[\s,]+/g, "|") + ")\\b"), null]);
}
shortcutStylePatterns.push(["pln", /^\s+/, null, " \r\n\t\u00a0"]);
/** @type {string} */
value = "^.[^\\s\\w.$@'\"`/\\\\]*";
if (opt_attributes.regexLiterals) {
value += "(?!s*/)";
}
e.push(["lit", /^@[a-z_$][a-z_$@0-9]*/i, null], ["typ", /^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/, null], ["pln", /^[a-z_$][a-z_$@0-9]*/i, null], ["lit", /^(?:0x[a-f0-9]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+\-]?\d+)?)[a-z]*/i, null, "0123456789"], ["pln", /^\\[\s\S]?/, null], ["pun", RegExp(value), null]);
return createSimpleLexer(shortcutStylePatterns, e);
}
/**
* @param {Node} node
* @param {number} d
* @param {boolean} dataAndEvents
* @return {undefined}
*/
function numberLines(node, d, dataAndEvents) {
/**
* @param {Object} node
* @return {undefined}
*/
function walk(node) {
var type = node.nodeType;
if (1 == type && !nocode.test(node.className)) {
if ("br" === node.nodeName) {
breakAfter(node);
if (node.parentNode) {
node.parentNode.removeChild(node);
}
} else {
node = node.firstChild;
for (;node;node = node.nextSibling) {
walk(node);
}
}
} else {
if ((3 == type || 4 == type) && dataAndEvents) {
var text = node.nodeValue;
var match = text.match(optgroup);
if (match) {
type = text.substring(0, match.index);
node.nodeValue = type;
if (text = text.substring(match.index + match[0].length)) {
node.parentNode.insertBefore(doc.createTextNode(text), node.nextSibling);
}
breakAfter(node);
if (!type) {
node.parentNode.removeChild(node);
}
}
}
}
}
/**
* @param {Object} lineEndNode
* @return {undefined}
*/
function breakAfter(lineEndNode) {
/**
* @param {Object} limit
* @param {number} copy
* @return {?}
*/
function breakLeftOf(limit, copy) {
var rightSide = copy ? limit.cloneNode(false) : limit;
var parent = limit.parentNode;
if (parent) {
parent = breakLeftOf(parent, 1);
var next = limit.nextSibling;
parent.appendChild(rightSide);
var child = next;
for (;child;child = next) {
next = child.nextSibling;
parent.appendChild(child);
}
}
return rightSide;
}
for (;!lineEndNode.nextSibling;) {
if (lineEndNode = lineEndNode.parentNode, !lineEndNode) {
return;
}
}
lineEndNode = breakLeftOf(lineEndNode.nextSibling, 0);
var tapElement;
for (;(tapElement = lineEndNode.parentNode) && 1 === tapElement.nodeType;) {
lineEndNode = tapElement;
}
listItems.push(lineEndNode);
}
/** @type {RegExp} */
var nocode = /(?:^|\s)nocode(?:\s|$)/;
/** @type {RegExp} */
var optgroup = /\r\n?|\n/;
var doc = node.ownerDocument;
var li = doc.createElement("li");
for (;node.firstChild;) {
li.appendChild(node.firstChild);
}
/** @type {Array} */
var listItems = [li];
/** @type {number} */
var i = 0;
for (;i < listItems.length;++i) {
walk(listItems[i]);
}
if (d === (d | 0)) {
listItems[0].setAttribute("value", d);
}
var ol = doc.createElement("ol");
/** @type {string} */
ol.className = "linenums";
/** @type {number} */
d = Math.max(0, d - 1 | 0) || 0;
/** @type {number} */
i = 0;
/** @type {number} */
var n = listItems.length;
for (;i < n;++i) {
li = listItems[i];
/** @type {string} */
li.className = "L" + (i + d) % 10;
if (!li.firstChild) {
li.appendChild(doc.createTextNode("\u00a0"));
}
ol.appendChild(li);
}
node.appendChild(ol);
}
/**
* @param {?} handler
* @param {Array} fileExtensions
* @return {undefined}
*/
function registerLangHandler(handler, fileExtensions) {
var i = fileExtensions.length;
for (;0 <= --i;) {
var ext = fileExtensions[i];
if (langHandlerRegistry.hasOwnProperty(ext)) {
if (w.console) {
console.warn("cannot override language handler %s", ext);
}
} else {
langHandlerRegistry[ext] = handler;
}
}
}
/**
* @param {string} extension
* @param {?} source
* @return {?}
*/
function langHandlerForExtension(extension, source) {
if (!(extension && langHandlerRegistry.hasOwnProperty(extension))) {
/** @type {string} */
extension = /^\s*</.test(source) ? "default-markup" : "default-code";
}
return langHandlerRegistry[extension];
}
/**
* @param {?} data
* @return {undefined}
*/
function createElement(data) {
var re = data.sq;
try {
var current = create(data.Rn, data.Uq);
var index = current.Jl;
data.Jl = index;
data.Jr = current.Jr;
/** @type {number} */
data.Ks = 0;
langHandlerForExtension(re, index)(data);
/** @type {(Array.<string>|null)} */
var skipStatic = /\bMSIE\s(\d+)/.exec(navigator.userAgent);
/** @type {(boolean|null)} */
skipStatic = skipStatic && 8 >= +skipStatic[1];
/** @type {RegExp} */
re = /\n/g;
var b = data.Jl;
var v = b.length;
/** @type {number} */
current = 0;
var input = data.Jr;
var inputLength = input.length;
/** @type {number} */
index = 0;
var a = data.kt;
var h = a.length;
/** @type {number} */
var JSVAL_INT_MAX = 0;
a[h] = v;
var e;
var j;
/** @type {number} */
j = e = 0;
for (;j < h;) {
if (a[j] !== a[j + 2]) {
a[e++] = a[j++];
a[e++] = a[j++];
} else {
j += 2;
}
}
/** @type {number} */
h = e;
/** @type {number} */
j = e = 0;
for (;j < h;) {
var z = a[j];
var a12 = a[j + 1];
/** @type {number} */
var i = j + 2;
for (;i + 2 <= h && a[i + 1] === a12;) {
i += 2;
}
a[e++] = z;
a[e++] = a12;
/** @type {number} */
j = i;
}
/** @type {number} */
a.length = e;
var popover = data.Rn;
var oldDisplay;
if (popover) {
oldDisplay = popover.style.display;
/** @type {string} */
popover.style.display = "none";
}
try {
for (;index < inputLength;) {
var end = input[index + 2] || v;
var olen = a[JSVAL_INT_MAX + 2] || v;
/** @type {number} */
i = Math.min(end, olen);
var elem = input[index + 1];
var val;
if (1 !== elem.nodeType && (val = b.substring(current, i))) {
if (skipStatic) {
val = val.replace(re, "\r");
}
elem.nodeValue = val;
var d = elem.ownerDocument;
var element = d.createElement("span");
element.className = a[JSVAL_INT_MAX + 1];
var parent = elem.parentNode;
parent.replaceChild(element, elem);
element.appendChild(elem);
if (current < end) {
input[index + 1] = elem = d.createTextNode(b.substring(i, end));
parent.insertBefore(elem, element.nextSibling);
}
}
/** @type {number} */
current = i;
if (current >= end) {
index += 2;
}
if (current >= olen) {
JSVAL_INT_MAX += 2;
}
}
} finally {
if (popover) {
popover.style.display = oldDisplay;
}
}
} catch (err) {
if (w.console) {
console.log(err && err.stack || err);
}
}
}
/** @type {Window} */
var w = window;
/** @type {Array} */
var CPP_KEYWORDS = ["break,continue,do,else,for,if,return,while"];
/** @type {Array} */
var FLOW_CONTROL_KEYWORDS = [[CPP_KEYWORDS, "auto,case,char,const,default,double,enum,extern,float,goto,inline,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"], "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"];
/** @type {Array} */
var PYTHON_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,delegate,dynamic_cast,explicit,export,friend,generic,late_check,mutable,namespace,nullptr,property,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"];
/** @type {Array} */
var RUBY_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "abstract,assert,boolean,byte,extends,final,finally,implements,import,instanceof,interface,null,native,package,strictfp,super,synchronized,throws,transient"];
/** @type {Array} */
var H = [RUBY_KEYWORDS, "as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,internal,into,is,let,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var,virtual,where"];
/** @type {Array} */
FLOW_CONTROL_KEYWORDS = [FLOW_CONTROL_KEYWORDS, "debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"];
/** @type {Array} */
var J = [CPP_KEYWORDS, "and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"];
/** @type {Array} */
var KEYWORDS = [CPP_KEYWORDS, "alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"];
/** @type {Array} */
var ALL_KEYWORDS = [CPP_KEYWORDS, "as,assert,const,copy,drop,enum,extern,fail,false,fn,impl,let,log,loop,match,mod,move,mut,priv,pub,pure,ref,self,static,struct,true,trait,type,unsafe,use"];
/** @type {Array} */
CPP_KEYWORDS = [CPP_KEYWORDS, "case,done,elif,esac,eval,fi,function,in,local,set,then,until"];
/** @type {RegExp} */
var C_TYPES = /^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)\b/;
/** @type {RegExp} */
var ns = /\S/;
var decorateSource = u({
keywords : [PYTHON_KEYWORDS, H, FLOW_CONTROL_KEYWORDS, "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END", J, KEYWORDS, CPP_KEYWORDS],
hashComments : true,
cStyleComments : true,
multiLineStrings : true,
regexLiterals : true
});
var langHandlerRegistry = {};
registerLangHandler(decorateSource, ["default-code"]);
registerLangHandler(createSimpleLexer([], [["pln", /^[^<?]+/], ["dec", /^<!\w[^>]*(?:>|$)/], ["com", /^<\!--[\s\S]*?(?:-\->|$)/], ["lang-", /^<\?([\s\S]+?)(?:\?>|$)/], ["lang-", /^<%([\s\S]+?)(?:%>|$)/], ["pun", /^(?:<[%?]|[%?]>)/], ["lang-", /^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i], ["lang-js", /^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i], ["lang-css", /^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i], ["lang-in.tag", /^(<\/?[a-z][^<>]*>)/i]]), "default-markup htm html mxml xhtml xml xsl".split(" "));
registerLangHandler(createSimpleLexer([["pln", /^[\s]+/, null, " \t\r\n"], ["atv", /^(?:\"[^\"]*\"?|\'[^\']*\'?)/, null, "\"'"]], [["tag", /^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i], ["atn", /^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i], ["lang-uq.val", /^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/], ["pun", /^[=<>\/]+/], ["lang-js", /^on\w+\s*=\s*\"([^\"]+)\"/i], ["lang-js", /^on\w+\s*=\s*\'([^\']+)\'/i], ["lang-js", /^on\w+\s*=\s*([^\"\'>\s]+)/i], ["lang-css", /^style\s*=\s*\"([^\"]+)\"/i], ["lang-css",
/^style\s*=\s*\'([^\']+)\'/i], ["lang-css", /^style\s*=\s*([^\"\'>\s]+)/i]]), ["in.tag"]);
registerLangHandler(createSimpleLexer([], [["atv", /^[\s\S]+/]]), ["uq.val"]);
registerLangHandler(u({
keywords : PYTHON_KEYWORDS,
hashComments : true,
cStyleComments : true,
types : C_TYPES
}), "c cc cpp cxx cyc m".split(" "));
registerLangHandler(u({
keywords : "null,true,false"
}), ["json"]);
registerLangHandler(u({
keywords : H,
hashComments : true,
cStyleComments : true,
verbatimStrings : true,
types : C_TYPES
}), ["cs"]);
registerLangHandler(u({
keywords : RUBY_KEYWORDS,
cStyleComments : true
}), ["java"]);
registerLangHandler(u({
keywords : CPP_KEYWORDS,
hashComments : true,
multiLineStrings : true
}), ["bash", "bsh", "csh", "sh"]);
registerLangHandler(u({
keywords : J,
hashComments : true,
multiLineStrings : true,
tripleQuotedStrings : true
}), ["cv", "py", "python"]);
registerLangHandler(u({
keywords : "caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",
hashComments : true,
multiLineStrings : true,
regexLiterals : 2
}), ["perl", "pl", "pm"]);
registerLangHandler(u({
keywords : KEYWORDS,
hashComments : true,
multiLineStrings : true,
regexLiterals : true
}), ["rb", "ruby"]);
registerLangHandler(u({
keywords : FLOW_CONTROL_KEYWORDS,
cStyleComments : true,
regexLiterals : true
}), ["javascript", "js"]);
registerLangHandler(u({
keywords : "all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,throw,true,try,unless,until,when,while,yes",
hashComments : 3,
cStyleComments : true,
multilineStrings : true,
tripleQuotedStrings : true,
regexLiterals : true
}), ["coffee"]);
registerLangHandler(u({
keywords : ALL_KEYWORDS,
cStyleComments : true,
multilineStrings : true
}), ["rc", "rs", "rust"]);
registerLangHandler(createSimpleLexer([], [["str", /^[\s\S]+/]]), ["regex"]);
var Ua = w.PR = {
/** @type {function (Array, ?): ?} */
createSimpleLexer : createSimpleLexer,
/** @type {function (?, Array): undefined} */
registerLangHandler : registerLangHandler,
/** @type {function (Object): ?} */
sourceDecorator : u,
PR_ATTRIB_NAME : "atn",
PR_ATTRIB_VALUE : "atv",
PR_COMMENT : "com",
PR_DECLARATION : "dec",
PR_KEYWORD : "kwd",
PR_LITERAL : "lit",
PR_NOCODE : "nocode",
PR_PLAIN : "pln",
PR_PUNCTUATION : "pun",
PR_SOURCE : "src",
PR_STRING : "str",
PR_TAG : "tag",
PR_TYPE : "typ",
/**
* @param {string} sourceCodeHtml
* @param {?} sq
* @param {Object} opt_numberLines
* @return {?}
*/
prettyPrintOne : function(sourceCodeHtml, sq, opt_numberLines) {
/** @type {Element} */
var container = document.createElement("div");
/** @type {string} */
container.innerHTML = "<pre>" + sourceCodeHtml + "</pre>";
/** @type {(Node|null)} */
container = container.firstChild;
if (opt_numberLines) {
numberLines(container, opt_numberLines, true);
}
createElement({
sq : sq,
Tu : opt_numberLines,
Rn : container,
Uq : 1
});
return container.innerHTML;
},
/** @type {function (Node, ?, Object): undefined} */
prettyPrintElem : setContainer = function(container, opt_attributes, event) {
if (event) {
numberLines(container, event, true);
}
createElement({
sq : opt_attributes,
Tu : event,
Rn : container,
Uq : 1
});
},
/** @type {function (Array, Object): undefined} */
prettyPrint : prettyPrint = prettyPrint = function(map, body) {
/**
* @return {undefined}
*/
function doWork() {
var endTime = w.PR_SHOULD_USE_CONTINUATION ? l.now() + 250 : Infinity;
for (;k < elements.length && l.now() < endTime;k++) {
var node = elements[k];
var d = el;
var prev = node;
for (;prev = prev.previousSibling;) {
var a = prev.nodeType;
var current = (7 === a || 8 === a) && prev.nodeValue;
if (current ? !/^\jQuery18209928365310188383_1405632946447prettify\b/.test(current) : 3 !== a || /\S/.test(prev.nodeValue)) {
break;
}
if (current) {
d = {};
current.replace(/\b(\w+)=([\w:.%+-]+)/g, function(dataAndEvents, k, v) {
d[k] = v;
});
break;
}
}
prev = node.className;
if ((d !== el || nocode.test(prev)) && !regexInfix.test(prev)) {
/** @type {boolean} */
a = false;
current = node.parentNode;
for (;current;current = current.parentNode) {
if (rchecked.test(current.tagName) && (current.className && nocode.test(current.className))) {
/** @type {boolean} */
a = true;
break;
}
}
if (!a) {
node.className += " prettyprinted";
a = d.lang;
if (!a) {
a = prev.match(optgroup);
var v;
if (!a) {
if (v = walk(node)) {
if (specialTags.test(v.tagName)) {
a = v.className.match(optgroup);
}
}
}
if (a) {
a = a[1];
}
}
if (RE_TABLE.test(node.tagName)) {
/** @type {number} */
current = 1;
} else {
current = node.currentStyle;
var b = doc.defaultView;
current = (current = current ? current.whiteSpace : b && b.getComputedStyle ? b.getComputedStyle(node, null).getPropertyValue("white-space") : 0) && "pre" === current.substring(0, 3);
}
b = d.linenums;
if (!(b = "true" === b || +b)) {
/** @type {(boolean|number)} */
b = (b = prev.match(/\blinenums\b(?::(\d+))?/)) ? b[1] && b[1].length ? +b[1] : true : false;
}
if (b) {
numberLines(node, b, current);
}
pdataCur = {
sq : a,
Rn : node,
Tu : b,
Uq : current
};
createElement(pdataCur);
}
}
}
if (k < elements.length) {
setTimeout(doWork, 250);
} else {
if ("function" === typeof map) {
map();
}
}
}
var codeSegments = body || document.body;
var doc = codeSegments.ownerDocument || document;
/** @type {Array} */
codeSegments = [codeSegments.getElementsByTagName("pre"), codeSegments.getElementsByTagName("code"), codeSegments.getElementsByTagName("xmp")];
/** @type {Array} */
var elements = [];
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;++i) {
/** @type {number} */
var j = 0;
var jl = codeSegments[i].length;
for (;j < jl;++j) {
elements.push(codeSegments[i][j]);
}
}
/** @type {null} */
codeSegments = null;
/** @type {function (new:Date, ?=, ?=, ?=, ?=, ?=, ?=, ?=): string} */
var l = Date;
if (!l.now) {
l = {
/**
* @return {?}
*/
now : function() {
return+new Date;
}
};
}
/** @type {number} */
var k = 0;
var pdataCur;
/** @type {RegExp} */
var optgroup = /\blang(?:uage)?-([\w.]+)(?!\S)/;
/** @type {RegExp} */
var nocode = /\bprettyprint\b/;
/** @type {RegExp} */
var regexInfix = /\bprettyprinted\b/;
/** @type {RegExp} */
var RE_TABLE = /pre|xmp/i;
/** @type {RegExp} */
var specialTags = /^code$/i;
/** @type {RegExp} */
var rchecked = /^(?:pre|code|xmp)$/i;
var el = {};
doWork();
}
};
if ("function" === typeof define) {
if (define.amd) {
define("google-code-prettify", [], function() {
return Ua;
});
}
}
})();
/**
* @return {undefined}
*/
var Events = function() {
_super.apply(this);
};
__extends(Events, _super);
/**
* @return {?}
*/
Events.prototype.Nk = function() {
return get_mangled(this, 5);
};
/**
* @param {?} res
* @param {number} val
* @return {undefined}
*/
var succeed = function(res, val) {
origFindId(res, 10, val);
};
/**
* @param {?} name
* @return {?}
*/
Events.prototype.Cr = function(name) {
return origFindId(this, 8, name);
};
/**
* @param {?} obj
* @param {number} val
* @return {undefined}
*/
var isNull = function(obj, val) {
origFindId(obj, 11, val);
};
/**
* @return {undefined}
*/
var FileError = function() {
_super.apply(this);
};
__extends(FileError, _super);
var IndicatorElement = {
NONE : 0,
tH : 1,
fC : 2
};
var contentType = {
Dw : 0,
EF : 1,
CF : 2,
DF : 3,
HA : 4,
LA : 5,
HD : 6,
PF : 7
};
isAncestor(Events, {
0 : {
name : "LinkSettings",
$ : "proto.access.LinkSettings"
},
3 : {
name : "created_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "updated_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "secret_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
14 : {
name : "view_settings",
c : 11,
/** @type {function (): undefined} */
type : FileError
},
15 : {
name : "enable_request_access",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
6 : {
name : "allow_guests",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
10 : {
name : "guest_mode",
c : 14,
defaultValue : 0,
type : IndicatorElement
},
8 : {
name : "workgroup_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
11 : {
name : "workgroup_mode",
c : 14,
defaultValue : 0,
type : IndicatorElement
}
});
isAncestor(FileError, {
0 : {
name : "ViewSettings",
/** @type {function (): undefined} */
va : Events,
$ : "proto.access.LinkSettings.ViewSettings"
},
1 : {
name : "show_conversation",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
2 : {
name : "show_diffs",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
3 : {
name : "allow_messages",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "allow_comments",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "allow_join",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
/**
* @return {undefined}
*/
var ValidationError = function() {
_super.apply(this);
};
__extends(ValidationError, _super);
/**
* @param {?} owner
* @return {?}
*/
ValidationError.prototype.ys = function(owner) {
return _findBelongsTo(this, 1, owner);
};
/**
* @return {?}
*/
ValidationError.prototype.xv = function() {
return deepEqual(this, 1);
};
/**
* @return {?}
*/
ValidationError.prototype.$t = function() {
return ondata(this, 1);
};
/**
* @return {undefined}
*/
var Capture = function() {
_super.apply(this);
};
__extends(Capture, _super);
self = Capture.prototype;
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @param {?} owner
* @return {?}
*/
self.vd = function(owner) {
return _findBelongsTo(this, 2, owner);
};
/**
* @return {?}
*/
self.Oc = function() {
return deepEqual(this, 2);
};
/**
* @return {?}
*/
self.Zk = function() {
return member(this, 2);
};
/**
* @return {undefined}
*/
var controlsElement = function() {
_super.apply(this);
};
__extends(controlsElement, _super);
self = controlsElement.prototype;
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.Da = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 2);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 2, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.Lg = function() {
return func(this, 3);
};
/**
* @param {(Error|string)} isXML
* @return {?}
*/
self.ti = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 4);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 4);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {undefined}
*/
var Extends = function() {
_super.apply(this);
};
__extends(Extends, _super);
/**
* @param {?} owner
* @return {?}
*/
Extends.prototype.ys = function(owner) {
return _findBelongsTo(this, 1, owner);
};
/**
* @return {?}
*/
Extends.prototype.xv = function() {
return deepEqual(this, 1);
};
/**
* @return {?}
*/
Extends.prototype.$t = function() {
return ondata(this, 1);
};
/**
* @return {undefined}
*/
var PlayState = function() {
_super.apply(this);
};
__extends(PlayState, _super);
self = PlayState.prototype;
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.Da = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 2);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 2, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 2);
};
var eventName = {
MB : 1,
Lw : 2,
Pw : 4,
is : 8,
ns : 128,
qB : 4096,
FA : 2048,
Qw : 32,
Xw : 64,
CB : 256,
sC : 512,
UC : 1024,
iE : 16
};
isAncestor(ValidationError, {
0 : {
name : "Results",
$ : "syncer.autocomplete.Results"
},
1 : {
name : "results",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Capture
}
});
isAncestor(Capture, {
0 : {
name : "Result",
/** @type {function (): undefined} */
va : ValidationError,
$ : "syncer.autocomplete.Results.Result"
},
1 : {
name : "type",
c : 14,
defaultValue : 1,
type : eventName
},
2 : {
name : "ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(controlsElement, {
0 : {
name : "Record",
$ : "syncer.autocomplete.Record"
},
1 : {
name : "type",
c : 14,
defaultValue : 1,
type : eventName
},
2 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "title",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "deleted",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "score",
c : 1,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Extends, {
0 : {
name : "SearchResults",
$ : "syncer.autocomplete.SearchResults"
},
1 : {
name : "results",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : PlayState
}
});
isAncestor(PlayState, {
0 : {
name : "Result",
/** @type {function (): undefined} */
va : Extends,
$ : "syncer.autocomplete.SearchResults.Result"
},
1 : {
name : "type",
c : 14,
defaultValue : 1,
type : eventName
},
2 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
/**
* @return {undefined}
*/
var holder = function() {
_super.apply(this);
};
__extends(holder, _super);
var chartType = {
uH : 0,
CD : 1,
nx : 2,
BD : 3,
OA : 4,
PA : 5,
BE : 6,
tF : 7
};
isAncestor(holder, {
0 : {
name : "Device",
$ : "proto.http.Device"
}
});
/**
* @return {undefined}
*/
var SequenceEndEvent = function() {
_super.apply(this);
};
__extends(SequenceEndEvent, _super);
self = SequenceEndEvent.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 6);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 6);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 6, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 6);
};
/**
* @return {?}
*/
self.Jt = function() {
return func(this, 7);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Rv = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.om = function() {
return isArray(this, 3);
};
isAncestor(SequenceEndEvent, {
0 : {
name : "Node",
$ : "proto.files.Node"
},
1 : {
name : "path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "is_dir",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
6 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "mime_type",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "modified",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "size",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "contents",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : SequenceEndEvent
}
});
/**
* @return {undefined}
*/
var For = function() {
_super.apply(this);
};
__extends(For, _super);
self = For.prototype;
/**
* @return {?}
*/
self.Ig = function() {
return get_mangled(this, 1);
};
/**
* @param {?} target
* @return {?}
*/
self.qi = function(target) {
return origFindId(this, 1, target);
};
/**
* @return {?}
*/
self.Lt = function() {
return func(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Sv = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Ov = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.Ht = function() {
return func(this, 4);
};
/**
* @param {Object} isXML
* @return {?}
*/
self.Pv = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {?}
*/
self.Yt = function() {
return ondata(this, 4);
};
isAncestor(For, {
0 : {
name : "PhoneNumber",
$ : "proto.notify.PhoneNumber"
},
1 : {
name : "country_code",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
2 : {
name : "national_number",
c : 4,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "extension",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "italian_leading_zero",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "raw_input",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "country_code_source",
c : 14,
defaultValue : 1,
type : {
Ww : 1,
Vw : 5,
Uw : 10,
Tw : 20
}
},
7 : {
name : "preferred_domestic_carrier_code",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
/**
* @return {undefined}
*/
var CB = function() {
_super.apply(this);
};
__extends(CB, _super);
/**
* @return {undefined}
*/
var Cordova = function() {
_super.apply(this);
};
__extends(Cordova, _super);
/**
* @param {?} isXML
* @return {?}
*/
Cordova.prototype.Vv = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {undefined}
*/
var throttler = function() {
_super.apply(this);
};
__extends(throttler, _super);
/**
* @return {undefined}
*/
var cand = function() {
_super.apply(this);
};
__extends(cand, _super);
var TYPE_CSS = {
NONE : 0,
iD : 1,
tD : 2,
PE : 3
};
/**
* @return {undefined}
*/
var bodyElem = function() {
_super.apply(this);
};
__extends(bodyElem, _super);
/**
* @return {undefined}
*/
var delayed = function() {
_super.apply(this);
};
__extends(delayed, _super);
/**
* @return {undefined}
*/
var later = function() {
_super.apply(this);
};
__extends(later, _super);
/**
* @return {undefined}
*/
var titleElement = function() {
_super.apply(this);
};
__extends(titleElement, _super);
self = titleElement.prototype;
/**
* @return {?}
*/
self.getName = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Be = function() {
return get_mangled(this, 15);
};
/**
* @param {?} isXML
* @return {?}
*/
self.pd = function(isXML) {
return origFindId(this, 15, isXML);
};
/**
* @return {?}
*/
self.De = function() {
return ondata(this, 15);
};
/**
* @return {?}
*/
self.Me = function() {
return isArray(this, 15);
};
/**
* @return {?}
*/
self.Da = function() {
return func(this, 400);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 400);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 400, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 400);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 403);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 403);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 403, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 403);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 403);
};
/**
* @return {undefined}
*/
var selector = function() {
_super.apply(this);
};
__extends(selector, _super);
/**
* @return {undefined}
*/
var MappingStartEvent = function() {
_super.apply(this);
};
__extends(MappingStartEvent, _super);
self = MappingStartEvent.prototype;
/**
* @return {?}
*/
self.Jg = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.$i = function() {
return get_mangled(this, 1);
};
/**
* @return {?}
*/
self.Qk = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.Sf = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ke = function() {
return get_mangled(this, 2);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.gb = function(opt_attributes) {
return origFindId(this, 2, opt_attributes);
};
/**
* @return {?}
*/
self.Sk = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Nm = function() {
return get_mangled(this, 3);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.Sa = function(opt_attributes) {
return origFindId(this, 3, opt_attributes);
};
/**
* @return {undefined}
*/
var reason = function() {
_super.apply(this);
};
__extends(reason, _super);
/**
* @return {undefined}
*/
var AliasEvent = function() {
_super.apply(this);
};
__extends(AliasEvent, _super);
/**
* @return {?}
*/
AliasEvent.prototype.Ig = function() {
return get_mangled(this, 8);
};
/**
* @param {?} target
* @return {?}
*/
AliasEvent.prototype.qi = function(target) {
return origFindId(this, 8, target);
};
/**
* @return {undefined}
*/
var onceFn = function() {
_super.apply(this);
};
__extends(onceFn, _super);
/**
* @return {undefined}
*/
var Call = function() {
_super.apply(this);
};
__extends(Call, _super);
self = Call.prototype;
/**
* @return {?}
*/
self.getName = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Vi = function() {
return func(this, 4);
};
/**
* @param {?} isXML
* @return {?}
*/
self.ur = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {?}
*/
self.Da = function() {
return func(this, 6);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 6);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 6, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 6);
};
/**
* @return {undefined}
*/
var out = function() {
_super.apply(this);
};
__extends(out, _super);
self = out.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 400);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 400);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 400, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 400);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 403);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 403);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 403, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 403);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 403);
};
/**
* @return {?}
*/
self.Be = function() {
return get_mangled(this, 404);
};
/**
* @param {?} isXML
* @return {?}
*/
self.pd = function(isXML) {
return origFindId(this, 404, isXML);
};
/**
* @return {?}
*/
self.De = function() {
return ondata(this, 404);
};
/**
* @return {?}
*/
self.Me = function() {
return isArray(this, 404);
};
var ScrollContainer = {
aD : 2,
FH : 8,
gF : 9,
jE : 10,
Qw : 12,
Xw : 13
};
var acceptType = {
HB : 0,
OC : 1
};
isAncestor(CB, {
0 : {
name : "Gender",
$ : "proto.users.Gender"
}
});
isAncestor(Cordova, {
0 : {
name : "AppleDevice",
$ : "proto.users.AppleDevice"
},
1 : {
name : "token",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "locale",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "bundle",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "model",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "invalid",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
6 : {
name : "sandbox",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
7 : {
name : "inactive",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
8 : {
name : "vendor_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
9 : {
name : "last_build",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
10 : {
name : "advertising_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(throttler, {
0 : {
name : "AndroidDevice",
$ : "proto.users.AndroidDevice"
},
1 : {
name : "gcm_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "parse_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
14 : {
name : "device_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
13 : {
name : "parse_package",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "make",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "model",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "width_px",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "height_px",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "logical_density",
c : 2,
/** @type {function (new:Number, *=): number} */
type : Number
},
7 : {
name : "locale",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
10 : {
name : "invalid",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
11 : {
name : "inactive",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(cand, {
0 : {
name : "NotificationLevel",
$ : "proto.users.NotificationLevel"
}
});
isAncestor(bodyElem, {
0 : {
name : "Email",
$ : "proto.users.Email"
},
1 : {
name : "address",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "send_notifications",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "show_on_profile",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "google_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "bounces",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : delayed
}
});
isAncestor(delayed, {
0 : {
name : "Bounce",
/** @type {function (): undefined} */
va : bodyElem,
$ : "proto.users.Email.Bounce"
},
1 : {
name : "permanent",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
2 : {
name : "reported_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(later, {
0 : {
name : "UsageMilestones",
$ : "proto.users.UsageMilestones"
},
1 : {
name : "created_document",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
2 : {
name : "created_folder",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
3 : {
name : "shared_document",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "shared_folder",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "used_desktop_web",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
6 : {
name : "used_ipad",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
7 : {
name : "used_iphone",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
8 : {
name : "used_android_phone",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
9 : {
name : "used_android_tablet",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
10 : {
name : "has_profile_picture",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
11 : {
name : "imported_local_address_book",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
12 : {
name : "was_invited_to_folder",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
13 : {
name : "was_invited_to_thread",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
14 : {
name : "sent_message",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
15 : {
name : "started_business_trial",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(titleElement, {
0 : {
name : "PendingUser",
$ : "proto.users.PendingUser"
},
1 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "password_hash",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "password_salt",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "state",
c : 14,
defaultValue : 0,
type : {
YB : 0,
kF : 1,
yD : 3,
js : 4
}
},
20 : {
name : "locale",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "emails",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : bodyElem
},
7 : {
name : "unverified_emails",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : bodyElem
},
8 : {
name : "phone_numbers",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : For
},
9 : {
name : "unverified_phone_numbers",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : For
},
10 : {
name : "ios_devices",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Cordova
},
11 : {
name : "android_devices",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : throttler
},
24 : {
name : "has_android_device",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
12 : {
name : "invited_by_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
25 : {
name : "last_app_invited_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
16 : {
name : "workgroup_name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
17 : {
name : "workgroup_domain",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
19 : {
name : "workgroup_phone_number",
c : 11,
/** @type {function (): undefined} */
type : For
},
21 : {
name : "facebook_profile",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
22 : {
name : "facebook_access_token",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
15 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
23 : {
name : "signup_reminder_sent",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
26 : {
name : "signup_channel",
c : 11,
/** @type {function (): undefined} */
type : AliasEvent
},
400 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
401 : {
name : "created_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
402 : {
name : "updated_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
403 : {
name : "sequence",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(selector, {
0 : {
name : "Pictures",
$ : "proto.users.Pictures"
},
1 : {
name : "native",
c : 11,
/** @type {function (): undefined} */
type : reason
},
2 : {
name : "facebook",
c : 11,
/** @type {function (): undefined} */
type : reason
},
3 : {
name : "twitter",
c : 11,
/** @type {function (): undefined} */
type : reason
},
4 : {
name : "google",
c : 11,
/** @type {function (): undefined} */
type : reason
}
});
isAncestor(MappingStartEvent, {
0 : {
name : "Image",
/** @type {function (): undefined} */
va : selector,
$ : "proto.users.Pictures.Image"
},
1 : {
name : "hash",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "width",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "height",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "url",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(reason, {
0 : {
name : "Service",
/** @type {function (): undefined} */
va : selector,
$ : "proto.users.Pictures.Service"
},
1 : {
name : "images",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : MappingStartEvent
},
2 : {
name : "updated_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(AliasEvent, {
0 : {
name : "SignupChannel",
$ : "proto.users.SignupChannel"
},
1 : {
name : "device",
c : 14,
defaultValue : 2,
type : chartType
},
2 : {
name : "keyword",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "campaign_name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "search_source",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "web_ad_source",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "mobile_ad_source",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "referral_host",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "country_code",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(onceFn, {
0 : {
name : "ContactSource",
$ : "proto.users.ContactSource"
}
});
isAncestor(Call, {
0 : {
name : "AddressBookContact",
$ : "proto.users.AddressBookContact"
},
1 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "emails",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "phone_numbers",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "affinity",
c : 1,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "explicitly_added",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
6 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(out, {
0 : {
name : "ServiceImport",
$ : "proto.users.ServiceImport"
},
2 : {
name : "service",
c : 14,
defaultValue : 2,
type : ScrollContainer
},
3 : {
name : "service_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "import_type",
c : 14,
defaultValue : 0,
type : acceptType
},
1 : {
name : "contacts",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Call
},
5 : {
name : "file_metadata",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : SequenceEndEvent
},
6 : {
name : "cursor",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "max_change_id",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
400 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
401 : {
name : "created_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
402 : {
name : "updated_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
403 : {
name : "sequence",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
404 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
/**
* @return {undefined}
*/
var SquareTile = function() {
_super.apply(this);
};
__extends(SquareTile, _super);
/**
* @return {undefined}
*/
var PointLinearTransition = function() {
_super.apply(this);
};
__extends(PointLinearTransition, _super);
/**
* @return {undefined}
*/
var throttled = function() {
_super.apply(this);
};
__extends(throttled, _super);
/**
* @return {undefined}
*/
var LinearTransition = function() {
_super.apply(this);
};
__extends(LinearTransition, _super);
isAncestor(SquareTile, {
0 : {
name : "FolderEnum",
$ : "proto.folders.FolderEnum"
}
});
isAncestor(PointLinearTransition, {
0 : {
name : "FolderMemberEnum",
$ : "proto.folders.FolderMemberEnum"
}
});
isAncestor(throttled, {
0 : {
name : "InvitedFolderMemberEnum",
$ : "proto.folders.InvitedFolderMemberEnum"
}
});
isAncestor(LinearTransition, {
0 : {
name : "FolderObjectEnum",
$ : "proto.folders.FolderObjectEnum"
}
});
var paramType = {
ns : 0,
Pw : 1,
VF : 2,
cx : 3,
WG : 5,
AD : 22,
nH : 4,
Lw : 9,
WA : 24,
bG : 25,
rH : 12,
qH : 27,
hG : 30,
is : 14,
PC : 15,
RC : 16,
zD : 23,
TC : 26,
AH : 17,
BH : 18,
EB : 28,
FB : 29,
sH : 20,
qF : 21,
jB : 13,
wF : 65,
vF : 66,
GF : 67,
hD : 68,
ZG : 69,
sD : 70,
iH : 71,
bD : 72,
dB : 73,
uF : 74
};
/**
* @return {undefined}
*/
var ClientCredentialsFlow = function() {
_super.apply(this);
};
__extends(ClientCredentialsFlow, _super);
/**
* @return {?}
*/
ClientCredentialsFlow.prototype.Be = function() {
return get_mangled(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
ClientCredentialsFlow.prototype.pd = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
ClientCredentialsFlow.prototype.De = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
ClientCredentialsFlow.prototype.Me = function() {
return isArray(this, 2);
};
/**
* @return {undefined}
*/
var trailingCall = function() {
_super.apply(this);
};
__extends(trailingCall, _super);
isAncestor(ClientCredentialsFlow, {
0 : {
name : "LikeState",
$ : "proto.like.LikeState"
},
1 : {
name : "liked",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
2 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "updated_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(trailingCall, {
0 : {
name : "LikeBundle",
$ : "proto.like.LikeBundle"
},
1 : {
name : "likes",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : ClientCredentialsFlow
}
});
/** @type {number} */
var channelName = 9;
/** @type {number} */
var nodeRequest = 10;
var deps = {
LE : 0,
eC : 1,
NA : 2,
MA : 3,
SC : 4,
WB : 5,
xE : 13,
wE : 14,
vE : 16,
yE : 15,
AE : 21,
zE : 22,
KD : 6,
JD : 7,
qC : 8,
jC : channelName,
kC : nodeRequest,
nC : 17,
lC : 18,
mC : 23,
pC : 19,
oC : 20,
iC : 24,
xH : 11,
wH : 12
};
/**
* @return {undefined}
*/
var withinElement = function() {
_super.apply(this);
};
__extends(withinElement, _super);
/**
* @return {undefined}
*/
var EcoLanguage = function() {
_super.apply(this);
};
__extends(EcoLanguage, _super);
self = EcoLanguage.prototype;
/**
* @return {?}
*/
self.Tt = function() {
return get_mangled(this, 26);
};
/**
* @return {?}
*/
self.It = function() {
return get_mangled(this, 39);
};
/**
* @return {?}
*/
self.Gt = function() {
return get_mangled(this, 53);
};
/**
* @return {?}
*/
self.Mt = function() {
return func(this, 56);
};
/**
* @return {?}
*/
self.Rt = function() {
return func(this, 57);
};
/**
* @return {?}
*/
self.Pp = function() {
return func(this, 58);
};
/**
* @return {undefined}
*/
var child = function() {
_super.apply(this);
};
__extends(child, _super);
self = child.prototype;
/**
* @return {?}
*/
self.Tt = function() {
return get_mangled(this, 26);
};
/**
* @return {?}
*/
self.It = function() {
return get_mangled(this, 39);
};
/**
* @return {?}
*/
self.Gt = function() {
return get_mangled(this, 53);
};
/**
* @return {?}
*/
self.Mt = function() {
return func(this, 56);
};
/**
* @return {?}
*/
self.Rt = function() {
return func(this, 57);
};
/**
* @return {?}
*/
self.Pp = function() {
return func(this, 58);
};
/**
* @return {undefined}
*/
var proxyfn = function() {
_super.apply(this);
};
__extends(proxyfn, _super);
isAncestor(withinElement, {
0 : {
name : "ExperimentState",
$ : "proto.rollouts.ExperimentState"
},
1 : {
name : "tour_type",
c : 14,
defaultValue : 0,
type : {
dH : 0,
gH : 1,
eH : 2,
fH : 3
}
},
2 : {
name : "suppress_team_promo",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(EcoLanguage, {
0 : {
name : "RolloutState",
$ : "proto.rollouts.RolloutState"
},
21 : {
name : "can_use_staging",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
26 : {
name : "spreadsheets",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
39 : {
name : "linkify_phone_numbers",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
53 : {
name : "hide_offscreen_sections",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
54 : {
name : "box_import",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
56 : {
name : "new_chat_list",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
57 : {
name : "sections_stale_check",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
58 : {
name : "signals",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
59 : {
name : "integrations",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
200 : {
name : "experiment_state",
c : 11,
/** @type {function (): undefined} */
type : withinElement
},
1 : {
name : "notification_controls",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
3 : {
name : "evernote_import",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dropbox_chooser",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "dropbox_link",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
8 : {
name : "deletion_redesign",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
9 : {
name : "gdrive_import",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
12 : {
name : "ios_device_width_fix",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
14 : {
name : "private_document_ui",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
16 : {
name : "complete_account_promo",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
20 : {
name : "shortcuts_cheat_sheet",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
11 : {
name : "evernote_import_ios",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
6 : {
name : "dropbox_chooser_ios",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
7 : {
name : "dropbox_link_ios",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
10 : {
name : "gdrive_import_ios",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(child, {
0 : {
name : "RolloutSpec",
$ : "proto.rollouts.RolloutSpec"
},
21 : {
name : "can_use_staging",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
26 : {
name : "spreadsheets",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
39 : {
name : "linkify_phone_numbers",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
53 : {
name : "hide_offscreen_sections",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
54 : {
name : "box_import",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
56 : {
name : "new_chat_list",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
57 : {
name : "sections_stale_check",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
58 : {
name : "signals",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
59 : {
name : "integrations",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
500 : {
name : "updated_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(proxyfn, {
0 : {
name : "Rule",
/** @type {function (): undefined} */
va : child,
$ : "proto.rollouts.RolloutSpec.Rule"
},
1 : {
name : "level",
c : 14,
defaultValue : 0,
type : {
NONE : 0,
tC : 1,
AF : 2,
jH : 3,
Dw : 5
}
},
2 : {
name : "whitelist_user_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "blacklist_user_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "whitelist_workgroup_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "blacklist_workgroup_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
11 : {
name : "whitelist_company_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "blacklist_company_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
9 : {
name : "whitelist_email_regexes",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
10 : {
name : "blacklist_email_regexes",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "web",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
5 : {
name : "ios",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
},
6 : {
name : "android",
c : 11,
/** @type {function (): undefined} */
type : proxyfn
}
});
/**
* @return {undefined}
*/
var Digest = function() {
_super.apply(this);
};
__extends(Digest, _super);
/**
* @return {?}
*/
Digest.prototype.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Digest.prototype.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
Digest.prototype.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
var mime = {
ls : 0,
po : 1,
Sw : 2,
ix : 3,
Nw : 4,
fx : 5,
Ow : 6,
Hw : 7,
Rw : 8
};
/**
* @return {undefined}
*/
var Cursor = function() {
_super.apply(this);
};
__extends(Cursor, _super);
self = Cursor.prototype;
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.getStringValue = function() {
return func(this, 4);
};
/**
* @param {?} isXML
* @return {?}
*/
self.setStringValue = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {undefined}
*/
var Venue = function() {
_super.apply(this);
};
__extends(Venue, _super);
/**
* @return {?}
*/
Venue.prototype.getName = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Venue.prototype.Td = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
Venue.prototype.Fd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {undefined}
*/
var Index = function() {
_super.apply(this);
};
__extends(Index, _super);
isAncestor(Digest, {
0 : {
name : "CellFormat",
$ : "proto.formula.CellFormat"
},
1 : {
name : "type",
c : 14,
defaultValue : 0,
type : mime
},
2 : {
name : "decimals",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "comma",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "date_format_index",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "scientific_fallback",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(Cursor, {
0 : {
name : "Result",
$ : "proto.formula.Result"
},
1 : {
name : "type",
c : 14,
defaultValue : 0,
type : {
po : 0,
Hw : 1,
lx : 2,
Rw : 3
}
},
2 : {
name : "number_value",
c : 1,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "boolean_value",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "string_value",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "error_value",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Venue, {
0 : {
name : "Function",
$ : "proto.formula.Function"
},
1 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "args",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "documentation",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(Index, {
0 : {
name : "Functions",
$ : "proto.formula.Functions"
},
1 : {
name : "functions",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Venue
}
});
/**
* @return {undefined}
*/
var msg = function() {
_super.apply(this);
};
__extends(msg, _super);
self = msg.prototype;
/**
* @return {?}
*/
self.Jg = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.$i = function() {
return get_mangled(this, 1);
};
/**
* @return {?}
*/
self.Qk = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.Sf = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ke = function() {
return get_mangled(this, 2);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.gb = function(opt_attributes) {
return origFindId(this, 2, opt_attributes);
};
/**
* @return {?}
*/
self.Sk = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Nm = function() {
return get_mangled(this, 3);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.Sa = function(opt_attributes) {
return origFindId(this, 3, opt_attributes);
};
/**
* @return {?}
*/
self.Jt = function() {
return func(this, 4);
};
/**
* @return {undefined}
*/
var Categories = function() {
_super.apply(this);
};
__extends(Categories, _super);
self = Categories.prototype;
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.lf = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.pc = function() {
return get_mangled(this, 2);
};
/**
* @param {(number|string)} value
* @return {?}
*/
self.ja = function(value) {
return origFindId(this, 2, value);
};
/**
* @return {?}
*/
self.Zh = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Pt = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Yc = function() {
return get_mangled(this, 3);
};
/**
* @param {number} deepDataAndEvents
* @return {?}
*/
self.ri = function(deepDataAndEvents) {
return origFindId(this, 3, deepDataAndEvents);
};
/**
* @return {?}
*/
self.hc = function() {
return func(this, 4);
};
/**
* @return {?}
*/
self.ld = function() {
return get_mangled(this, 4);
};
/**
* @param {Array} recurring
* @return {?}
*/
self.$a = function(recurring) {
return origFindId(this, 4, recurring);
};
/**
* @return {?}
*/
self.cb = function() {
return ondata(this, 4);
};
/**
* @return {?}
*/
self.pm = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Ct = function() {
return func(this, 5);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Kv = function(isXML) {
return origFindId(this, 5, isXML);
};
/**
* @return {?}
*/
self.Qp = function() {
return func(this, 6);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Uv = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @return {?}
*/
self.cq = function() {
return ondata(this, 6);
};
/**
* @return {?}
*/
self.qm = function() {
return isArray(this, 6);
};
/**
* @return {?}
*/
self.Pd = function() {
return func(this, 7);
};
/**
* @return {?}
*/
self.Qd = function() {
return get_mangled(this, 7);
};
/**
* @param {?} listener
* @return {?}
*/
self.He = function(listener) {
return origFindId(this, 7, listener);
};
/**
* @return {?}
*/
self.hasAttributes = function() {
return ondata(this, 7);
};
/**
* @return {?}
*/
self.Yi = function() {
return func(this, 8);
};
/**
* @return {?}
*/
self.ob = function() {
return get_mangled(this, 8);
};
/**
* @param {?} obj
* @return {?}
*/
self.Za = function(obj) {
return origFindId(this, 8, obj);
};
/**
* @return {?}
*/
self.Wt = function() {
return ondata(this, 8);
};
/**
* @return {?}
*/
self.ve = function() {
return isArray(this, 8);
};
/**
* @return {?}
*/
self.Lp = function() {
return get_mangled(this, 10);
};
/**
* @param {number} deepDataAndEvents
* @return {?}
*/
self.pi = function(deepDataAndEvents) {
return origFindId(this, 10, deepDataAndEvents);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 9);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 9);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 9, isXML);
};
/**
* @return {?}
*/
self.Lm = function() {
return func(this, 300);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Gn = function(isXML) {
return origFindId(this, 300, isXML);
};
/**
* @return {?}
*/
self.aq = function() {
return ondata(this, 300);
};
/**
* @return {?}
*/
self.Mp = function() {
return func(this, 301);
};
/**
* @param {?} isXML
* @return {?}
*/
self.xr = function(isXML) {
return origFindId(this, 301, isXML);
};
/**
* @return {?}
*/
self.$p = function() {
return ondata(this, 301);
};
/**
* @return {?}
*/
self.Da = function() {
return func(this, 600);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 600);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 600, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 600);
};
/**
* @return {?}
*/
self.Rf = function() {
return func(this, 601);
};
/**
* @return {?}
*/
self.Tb = function() {
return get_mangled(this, 601);
};
/**
* @param {?} isXML
* @return {?}
*/
self.xb = function(isXML) {
return origFindId(this, 601, isXML);
};
/**
* @return {?}
*/
self.Rk = function() {
return ondata(this, 601);
};
/**
* @return {?}
*/
self.jk = function() {
return isArray(this, 601);
};
/**
* @return {?}
*/
self.Lk = function() {
return func(this, 605);
};
/**
* @return {?}
*/
self.Ot = function() {
return get_mangled(this, 605);
};
/**
* @param {?} isXML
* @return {?}
*/
self.zr = function(isXML) {
return origFindId(this, 605, isXML);
};
/**
* @return {?}
*/
self.Zt = function() {
return ondata(this, 605);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 604);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 604);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 604, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 604);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 604);
};
/** @type {number} */
var expectedNumberOfNonCommentArgs = 0;
var suiteView = {
VG : expectedNumberOfNonCommentArgs,
cE : 1,
rD : 2,
EG : 3,
HG : 4,
JG : 5,
no : 6,
mo : 7,
oo : 8,
qe : 9,
lo : 11,
WC : 10
};
/** @type {number} */
var pdataOld = 1;
/** @type {number} */
var udataCur = 3;
var proto = {
UG : 0,
PG : pdataOld,
QG : 2,
RG : udataCur,
NG : 4,
$D : 5,
bE : 6,
aE : 7,
DG : 8,
KG : 13,
IG : 9,
FG : 10,
qD : 11,
VC : 12
};
/** @type {number} */
var deepDataAndEvents = 0;
var gesture = {
jx : deepDataAndEvents,
Mw : 1
};
var viewItems = {
Gw : 1,
$w : 2,
mx : 4
};
var dataType = {
yH : 0,
hx : 1,
dx : 2,
GH : 3,
Yw : 4,
Fw : 5,
gx : 6,
gB : 7
};
var expectedType = {
oH : 0,
NE : 1,
LG : 2,
JB : 3
};
/**
* @return {undefined}
*/
var Collection = function() {
_super.apply(this);
};
__extends(Collection, _super);
/**
* @param {?} owner
* @return {?}
*/
Collection.prototype.vd = function(owner) {
return _findBelongsTo(this, 1, owner);
};
/**
* @return {?}
*/
Collection.prototype.Oc = function() {
return deepEqual(this, 1);
};
/**
* @return {?}
*/
Collection.prototype.Zk = function() {
return member(this, 1);
};
/**
* @param {?} value
* @return {?}
*/
var prompt = function(value) {
return func(value, 2);
};
/**
* @param {?} name
* @return {?}
*/
var splitPrefix = function(name) {
return get_mangled(name, 2);
};
/**
* @param {?} name
* @return {?}
*/
var findOne = function(name) {
return ondata(name, 2);
};
/**
* @param {?} name
* @return {?}
*/
var Step = function(name) {
return func(name, 4);
};
/**
* @param {?} name
* @return {?}
*/
var is_event_name = function(name) {
return ondata(name, 4);
};
/**
* @return {undefined}
*/
var Arr = function() {
_super.apply(this);
};
__extends(Arr, _super);
self = Arr.prototype;
/**
* @return {?}
*/
self.Xi = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fn = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Op = function() {
return get_mangled(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Qv = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.Km = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Kp = function() {
return get_mangled(this, 3);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Lv = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 4);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 4);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {undefined}
*/
var Tag = function() {
_super.apply(this);
};
__extends(Tag, _super);
/**
* @param {?} res
* @return {?}
*/
var limit = function(res) {
return func(res, 1);
};
/**
* @param {?} value
* @param {number} obj
* @return {undefined}
*/
var isPlainObject = function(value, obj) {
origFindId(value, 1, obj);
};
/**
* @param {?} name
* @return {?}
*/
var H = function(name) {
return ondata(name, 1);
};
/**
* @param {?} res
* @param {boolean} isXML
* @return {?}
*/
var cb = function(res, isXML) {
return origFindId(res, 4, isXML);
};
/**
* @return {?}
*/
var cancelAnimationFrame = function() {
var rvar = new Tag;
return origFindId(rvar, 13, 1);
};
/**
* @return {?}
*/
Tag.prototype.Vd = function() {
return ondata(this, 13);
};
/**
* @return {?}
*/
Tag.prototype.wg = function() {
return isArray(this, 13);
};
/**
* @param {?} name
* @return {?}
*/
var validateCookieName = function(name) {
return get_mangled(name, 5);
};
/**
* @return {?}
*/
Tag.prototype.Rd = function() {
return func(this, 6);
};
/**
* @param {?} isXML
* @return {?}
*/
Tag.prototype.wr = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @param {number} name
* @return {?}
*/
var isClassOf = function(name) {
return get_mangled(name, 12);
};
/**
* @param {?} name
* @return {?}
*/
var readCookie = function(name) {
return func(name, 9);
};
/**
* @return {undefined}
*/
var Image = function() {
_super.apply(this);
};
__extends(Image, _super);
/**
* @return {?}
*/
Image.prototype.Ud = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Image.prototype.rb = function() {
return get_mangled(this, 1);
};
/**
* @param {?} v02
* @return {?}
*/
Image.prototype.ca = function(v02) {
return origFindId(this, 1, v02);
};
/**
* @return {undefined}
*/
var LightRaindropAnimation = function() {
_super.apply(this);
};
__extends(LightRaindropAnimation, _super);
/**
* @param {number} isXML
* @return {?}
*/
LightRaindropAnimation.prototype.Mj = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @param {number} isXML
* @return {?}
*/
LightRaindropAnimation.prototype.Mn = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @param {?} name
* @return {?}
*/
var snake_case = function(name) {
return func(name, 3);
};
/**
* @return {undefined}
*/
var Element = function() {
_super.apply(this);
};
__extends(Element, _super);
/**
* @return {?}
*/
Element.prototype.getName = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Element.prototype.Td = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
Element.prototype.Fd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {undefined}
*/
var Child = function() {
_super.apply(this);
};
__extends(Child, _super);
/**
* @return {?}
*/
Child.prototype.Sf = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Child.prototype.ke = function() {
return get_mangled(this, 1);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
Child.prototype.gb = function(opt_attributes) {
return origFindId(this, 1, opt_attributes);
};
/**
* @return {?}
*/
Child.prototype.Sk = function() {
return ondata(this, 1);
};
/**
* @return {undefined}
*/
var Statuses = function() {
_super.apply(this);
};
__extends(Statuses, _super);
self = Statuses.prototype;
/**
* @return {?}
*/
self.Be = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.pd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.De = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.Me = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.getName = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.Kt = function() {
return get_mangled(this, 3);
};
/**
* @param {number} isXML
* @return {?}
*/
self.El = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {undefined}
*/
var Bool = function() {
_super.apply(this);
};
__extends(Bool, _super);
/**
* @param {?} name
* @return {?}
*/
var it = function(name) {
return func(name, 1);
};
self = Bool.prototype;
/**
* @param {(Error|string)} isXML
* @return {?}
*/
self.Kn = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Lg = function() {
return func(this, 2);
};
/**
* @param {(Error|string)} isXML
* @return {?}
*/
self.ti = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @param {(Error|string)} isXML
* @return {?}
*/
self.Ln = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @param {(Error|string)} isXML
* @return {?}
*/
self.Jn = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {undefined}
*/
var Parens = function() {
_super.apply(this);
};
__extends(Parens, _super);
self = Parens.prototype;
/**
* @return {?}
*/
self.Ud = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.rb = function() {
return get_mangled(this, 1);
};
/**
* @param {?} v02
* @return {?}
*/
self.ca = function(v02) {
return origFindId(this, 1, v02);
};
/**
* @return {?}
*/
self.Sf = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ke = function() {
return get_mangled(this, 2);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.gb = function(opt_attributes) {
return origFindId(this, 2, opt_attributes);
};
/**
* @return {?}
*/
self.Sk = function() {
return ondata(this, 2);
};
/**
* @return {undefined}
*/
var ComposerError = function() {
_super.apply(this);
};
__extends(ComposerError, _super);
self = ComposerError.prototype;
/**
* @return {?}
*/
self.Et = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.In = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Dt = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.Np = function() {
return get_mangled(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Hn = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @param {boolean} name
* @return {?}
*/
self.Cl = function(name) {
return origFindId(this, 4, name);
};
/**
* @return {undefined}
*/
var JoinError = function() {
_super.apply(this);
};
__extends(JoinError, _super);
self = JoinError.prototype;
/**
* @return {?}
*/
self.Om = function() {
return func(this, 1);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.Fl = function(opt_attributes) {
return origFindId(this, 1, opt_attributes);
};
/**
* @return {?}
*/
self.lf = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.pc = function() {
return get_mangled(this, 2);
};
/**
* @param {(number|string)} value
* @return {?}
*/
self.ja = function(value) {
return origFindId(this, 2, value);
};
/**
* @return {?}
*/
self.Zh = function() {
return ondata(this, 2);
};
/**
* @param {?} match
* @param {?} isXML
* @return {?}
*/
var ID = function(match, isXML) {
return origFindId(match, 3, isXML);
};
/**
* @param {?} match
* @param {?} isXML
* @return {?}
*/
var nth = function(match, isXML) {
return origFindId(match, 11, isXML);
};
/**
* @return {undefined}
*/
var Enemy = function() {
_super.apply(this);
};
__extends(Enemy, _super);
/**
* @return {?}
*/
Enemy.prototype.lf = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Enemy.prototype.pc = function() {
return get_mangled(this, 1);
};
/**
* @param {(number|string)} value
* @return {?}
*/
Enemy.prototype.ja = function(value) {
return origFindId(this, 1, value);
};
/**
* @return {?}
*/
Enemy.prototype.Zh = function() {
return ondata(this, 1);
};
/**
* @return {undefined}
*/
var SrcCell = function() {
_super.apply(this);
};
__extends(SrcCell, _super);
/**
* @return {?}
*/
SrcCell.prototype.Mm = function() {
return func(this, 1);
};
/**
* @return {?}
*/
SrcCell.prototype.ze = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
SrcCell.prototype.Lj = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
SrcCell.prototype.Xt = function() {
return ondata(this, 1);
};
/**
* @param {?} moduleName
* @param {?} isXML
* @return {?}
*/
var makeError = function(moduleName, isXML) {
return origFindId(moduleName, 2, isXML);
};
/**
* @return {undefined}
*/
var Contact = function() {
_super.apply(this);
};
__extends(Contact, _super);
self = Contact.prototype;
/**
* @return {?}
*/
self.Ud = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.rb = function() {
return get_mangled(this, 1);
};
/**
* @param {?} v02
* @return {?}
*/
self.ca = function(v02) {
return origFindId(this, 1, v02);
};
/**
* @param {?} name
* @return {?}
*/
var nodeName = function(name) {
return func(name, 2);
};
/**
* @param {?} name
* @return {?}
*/
var setCachedModule = function(name) {
return get_mangled(name, 3);
};
/**
* @param {?} b
* @param {?} x
* @return {?}
*/
var md5_cmn = function(b, x) {
return origFindId(b, 3, x);
};
/**
* @param {?} name
* @return {?}
*/
var _set = function(name) {
return func(name, 5);
};
/**
* @param {?} deepDataAndEvents
* @return {?}
*/
self.Kj = function(deepDataAndEvents) {
return origFindId(this, 5, deepDataAndEvents);
};
/**
* @param {?} match
* @param {?} isXML
* @return {?}
*/
var CLASS = function(match, isXML) {
return origFindId(match, 10, isXML);
};
/**
* @return {?}
*/
self.Mm = function() {
return func(this, 8);
};
/**
* @return {?}
*/
self.ze = function() {
return get_mangled(this, 8);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Lj = function(isXML) {
return origFindId(this, 8, isXML);
};
/**
* @return {?}
*/
self.Xt = function() {
return ondata(this, 8);
};
/**
* @return {undefined}
*/
var newMatchersClass = function() {
_super.apply(this);
};
__extends(newMatchersClass, _super);
self = newMatchersClass.prototype;
/**
* @param {number} obj
* @return {?}
*/
self.Ok = function(obj) {
return func(this, 1, obj);
};
/**
* @param {?} owner
* @return {?}
*/
self.mc = function(owner) {
return _findBelongsTo(this, 1, owner);
};
/**
* @return {?}
*/
self.bg = function() {
return deepEqual(this, 1);
};
/**
* @return {?}
*/
self.Qm = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.li = function() {
return member(this, 1);
};
isAncestor(msg, {
0 : {
name : "Image",
$ : "proto.section.Image"
},
1 : {
name : "hash",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "width",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "height",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "mime_type",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(Categories, {
0 : {
name : "Section",
$ : "proto.section.Section"
},
1 : {
name : "type",
c : 14,
defaultValue : expectedNumberOfNonCommentArgs,
type : suiteView
},
2 : {
name : "style",
c : 14,
defaultValue : 0,
type : proto
},
3 : {
name : "section_class",
c : 14,
defaultValue : deepDataAndEvents,
type : gesture
},
4 : {
name : "parents",
c : 11,
/** @type {function (): undefined} */
type : Collection
},
5 : {
name : "alt_rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "status",
c : 11,
/** @type {function (): undefined} */
type : Arr
},
7 : {
name : "attributes",
c : 11,
/** @type {function (): undefined} */
type : Tag
},
8 : {
name : "content",
c : 11,
/** @type {function (): undefined} */
type : Contact
},
10 : {
name : "content_origin",
c : 14,
defaultValue : 0,
type : expectedType
},
9 : {
name : "deleted",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "copy_thread_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
301 : {
name : "copy_secret_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
500 : {
name : "client_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
600 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
601 : {
name : "position",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
605 : {
name : "position_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
602 : {
name : "created_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
603 : {
name : "updated_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
604 : {
name : "sequence",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Collection, {
0 : {
name : "Parents",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.Parents"
},
1 : {
name : "ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "container_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "container_style",
c : 14,
defaultValue : 0,
type : proto
}
});
isAncestor(Arr, {
0 : {
name : "Status",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.Status"
},
1 : {
name : "author_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "locked_lease",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "author_session",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(Tag, {
0 : {
name : "Attributes",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.Attributes"
},
1 : {
name : "indentation",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
2 : {
name : "checked",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "vertical_margin",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
13 : {
name : "default_content",
c : 14,
defaultValue : 0,
type : {
NONE : 0,
kD : 1,
XF : 2
}
},
3 : {
name : "background_color",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "cell_formatting_options",
c : 13,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "cell_format",
c : 11,
/** @type {function (): undefined} */
type : Digest
},
12 : {
name : "cell_background_color",
c : 14,
defaultValue : 0,
type : dataType
},
7 : {
name : "stored_auto_format",
c : 11,
/** @type {function (): undefined} */
type : Digest
},
8 : {
name : "stored_result",
c : 11,
/** @type {function (): undefined} */
type : Cursor
},
9 : {
name : "stored_formatted_result",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
10 : {
name : "column_number",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
11 : {
name : "list_position",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Image, {
0 : {
name : "ContentText",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentText"
},
1 : {
name : "text",
c : 9,
defaultValue : "",
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(LightRaindropAnimation, {
0 : {
name : "ContentImage",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentImage"
},
1 : {
name : "image_float",
c : 14,
defaultValue : 0,
type : {
OE : 0,
YD : 1,
TF : 2
}
},
2 : {
name : "scale",
c : 1,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "original",
c : 11,
/** @type {function (): undefined} */
type : msg
},
4 : {
name : "sizes",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : msg
}
});
isAncestor(Element, {
0 : {
name : "ContentTableBody",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentTableBody"
},
1 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(Child, {
0 : {
name : "ContentTableColumn",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentTableColumn"
},
1 : {
name : "width",
c : 2,
defaultValue : 8,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Statuses, {
0 : {
name : "ContentControlPerson",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentControlPerson"
},
1 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "mode",
c : 14,
defaultValue : 0,
type : {
sF : 0,
mF : 1
}
}
});
isAncestor(Bool, {
0 : {
name : "ContentControlDocument",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentControlDocument"
},
1 : {
name : "doc_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "title",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "path_prefix",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "doc_href",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(Parens, {
0 : {
name : "ContentControlTextBox",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentControlTextBox"
},
1 : {
name : "text",
c : 9,
defaultValue : "",
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "width",
c : 5,
defaultValue : 20,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(ComposerError, {
0 : {
name : "ContentControlHighlight",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentControlHighlight"
},
1 : {
name : "creator_user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "creator_name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "highlight_section_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "hidden",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(JoinError, {
0 : {
name : "ContentControlAction",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentControlAction"
},
1 : {
name : "op",
c : 14,
defaultValue : 10,
type : {
QE : 10,
dG : 11
}
},
2 : {
name : "style",
c : 14,
defaultValue : 0,
type : {
ax : 0,
Jw : 1
}
},
3 : {
name : "title_rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
11 : {
name : "set_style",
c : 11,
/** @type {function (): undefined} */
type : Enemy
}
});
isAncestor(Enemy, {
0 : {
name : "SetStyle",
/** @type {function (): undefined} */
va : JoinError,
$ : "proto.section.Section.ContentControlAction.SetStyle"
},
1 : {
name : "style",
c : 14,
defaultValue : 0,
type : proto
}
});
isAncestor(SrcCell, {
0 : {
name : "ContentFormula",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.ContentFormula"
},
1 : {
name : "formula",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "user_formula",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(Contact, {
0 : {
name : "Content",
/** @type {function (): undefined} */
va : Categories,
$ : "proto.section.Section.Content"
},
1 : {
name : "text",
c : 11,
/** @type {function (): undefined} */
type : Image
},
2 : {
name : "image",
c : 11,
/** @type {function (): undefined} */
type : LightRaindropAnimation
},
9 : {
name : "table_body",
c : 11,
/** @type {function (): undefined} */
type : Element
},
3 : {
name : "table_column",
c : 11,
/** @type {function (): undefined} */
type : Child
},
4 : {
name : "person",
c : 11,
/** @type {function (): undefined} */
type : Statuses
},
5 : {
name : "document",
c : 11,
/** @type {function (): undefined} */
type : Bool
},
6 : {
name : "textbox",
c : 11,
/** @type {function (): undefined} */
type : Parens
},
7 : {
name : "highlight",
c : 11,
/** @type {function (): undefined} */
type : ComposerError
},
10 : {
name : "action",
c : 11,
/** @type {function (): undefined} */
type : JoinError
},
8 : {
name : "formula",
c : 11,
/** @type {function (): undefined} */
type : SrcCell
}
});
isAncestor(newMatchersClass, {
0 : {
name : "DocumentData",
$ : "proto.section.DocumentData"
},
1 : {
name : "sections",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Categories
}
});
/**
* @return {undefined}
*/
var Certainties = function() {
_super.apply(this);
};
__extends(Certainties, _super);
self = Certainties.prototype;
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.Ud = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.rb = function() {
return get_mangled(this, 2);
};
/**
* @param {?} v02
* @return {?}
*/
self.ca = function(v02) {
return origFindId(this, 2, v02);
};
/**
* @param {number} walkers
* @return {?}
*/
self.Pd = function(walkers) {
return func(this, 3, walkers);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.Qd = function(opt_attributes) {
return get_mangled(this, 3, opt_attributes);
};
/**
* @return {?}
*/
self.hasAttributes = function() {
return ondata(this, 3);
};
/**
* @return {undefined}
*/
var AssetsPlugin = function() {
_super.apply(this);
};
__extends(AssetsPlugin, _super);
/**
* @return {?}
*/
AssetsPlugin.prototype.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
AssetsPlugin.prototype.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
AssetsPlugin.prototype.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @param {string} value
* @return {?}
*/
AssetsPlugin.prototype.af = function(value) {
return origFindId(this, 2, value);
};
/**
* @return {undefined}
*/
var myspan = function() {
_super.apply(this);
};
__extends(myspan, _super);
/**
* @return {undefined}
*/
var NumberTransition = function() {
_super.apply(this);
};
__extends(NumberTransition, _super);
/**
* @return {undefined}
*/
var baseEl = function() {
_super.apply(this);
};
__extends(baseEl, _super);
/**
* @return {undefined}
*/
var me = function() {
_super.apply(this);
};
__extends(me, _super);
/**
* @return {undefined}
*/
var Switch = function() {
_super.apply(this);
};
__extends(Switch, _super);
self = Switch.prototype;
/**
* @return {?}
*/
self.Ae = function() {
return func(this, 4);
};
/**
* @return {?}
*/
self.Qt = function() {
return get_mangled(this, 4);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Oj = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {?}
*/
self.lf = function() {
return func(this, 5);
};
/**
* @return {?}
*/
self.pc = function() {
return get_mangled(this, 5);
};
/**
* @param {(number|string)} value
* @return {?}
*/
self.ja = function(value) {
return origFindId(this, 5, value);
};
/**
* @return {?}
*/
self.Zh = function() {
return ondata(this, 5);
};
/**
* @return {undefined}
*/
var boundCallback = function() {
_super.apply(this);
};
__extends(boundCallback, _super);
/**
* @return {undefined}
*/
var rowsFragment = function() {
_super.apply(this);
};
__extends(rowsFragment, _super);
/**
* @return {undefined}
*/
var program2 = function() {
_super.apply(this);
};
__extends(program2, _super);
/**
* @return {undefined}
*/
var textPathElement = function() {
_super.apply(this);
};
__extends(textPathElement, _super);
self = textPathElement.prototype;
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {undefined}
*/
var Session = function() {
_super.apply(this);
};
__extends(Session, _super);
/**
* @return {?}
*/
Session.prototype.lf = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Session.prototype.pc = function() {
return get_mangled(this, 1);
};
/**
* @param {(number|string)} value
* @return {?}
*/
Session.prototype.ja = function(value) {
return origFindId(this, 1, value);
};
/**
* @return {?}
*/
Session.prototype.Zh = function() {
return ondata(this, 1);
};
/**
* @return {undefined}
*/
var linkText = function() {
_super.apply(this);
};
__extends(linkText, _super);
/**
* @return {undefined}
*/
var dropon = function() {
_super.apply(this);
};
__extends(dropon, _super);
/**
* @return {undefined}
*/
var restoreScript = function() {
_super.apply(this);
};
__extends(restoreScript, _super);
/**
* @return {undefined}
*/
var progressValues = function() {
_super.apply(this);
};
__extends(progressValues, _super);
/**
* @return {undefined}
*/
var newMillis = function() {
_super.apply(this);
};
__extends(newMillis, _super);
/**
* @return {undefined}
*/
var x = function() {
_super.apply(this);
};
__extends(x, _super);
self = x.prototype;
/**
* @return {?}
*/
self.Ae = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Qt = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Oj = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Xi = function() {
return get_mangled(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fn = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.Op = function() {
return get_mangled(this, 3);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Qv = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.Km = function() {
return func(this, 4);
};
/**
* @return {?}
*/
self.Kp = function() {
return get_mangled(this, 4);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Lv = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 5);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 5);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 5, isXML);
};
/**
* @return {undefined}
*/
var program4 = function() {
_super.apply(this);
};
__extends(program4, _super);
/**
* @return {undefined}
*/
var newCallback = function() {
_super.apply(this);
};
__extends(newCallback, _super);
/**
* @return {undefined}
*/
var frag = function() {
_super.apply(this);
};
__extends(frag, _super);
/**
* @return {?}
*/
frag.prototype.gn = function() {
return deepEqual(this, 1);
};
/**
* @return {undefined}
*/
var In = function() {
_super.apply(this);
};
__extends(In, _super);
self = In.prototype;
/**
* @return {?}
*/
self.Rf = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.Tb = function() {
return get_mangled(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
self.xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.Rk = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.jk = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.getName = function() {
return func(this, 4);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 4);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {undefined}
*/
var onceCallback = function() {
_super.apply(this);
};
__extends(onceCallback, _super);
/**
* @return {undefined}
*/
var YAMLError = function() {
_super.apply(this);
};
__extends(YAMLError, _super);
/**
* @return {?}
*/
YAMLError.prototype.gn = function() {
return deepEqual(this, 1);
};
/**
* @return {undefined}
*/
var While = function() {
_super.apply(this);
};
__extends(While, _super);
/**
* @return {?}
*/
While.prototype.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
While.prototype.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
While.prototype.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
var TEXT_PLAIN = {
XA : 0,
CE : 1,
nB : 2,
pE : 3,
oE : 4
};
/**
* @return {undefined}
*/
var overlayEl = function() {
_super.apply(this);
};
__extends(overlayEl, _super);
/**
* @return {undefined}
*/
var widget = function() {
_super.apply(this);
};
__extends(widget, _super);
self = widget.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.getName = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.Nk = function() {
return get_mangled(this, 3);
};
/**
* @return {undefined}
*/
var where = function() {
_super.apply(this);
};
__extends(where, _super);
isAncestor(Certainties, {
0 : {
name : "RTMLElement",
$ : "proto.threads.RTMLElement"
},
1 : {
name : "type",
c : 14,
defaultValue : 0,
type : {
ls : 0,
Gw : 1,
$w : 2,
mx : 3,
ax : 4,
IB : 5,
aC : 6,
ZB : 7,
bC : 8,
$B : 12,
pH : 9,
QC : 10,
cC : 11,
QA : 13,
XG : 14
}
},
2 : {
name : "text",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "attributes",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : AssetsPlugin
},
4 : {
name : "child_elements",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
}
});
isAncestor(AssetsPlugin, {
0 : {
name : "Attribute",
/** @type {function (): undefined} */
va : Certainties,
$ : "proto.threads.RTMLElement.Attribute"
},
1 : {
name : "type",
c : 14,
defaultValue : 0,
type : {
lD : 0,
ID : 1,
tB : 2
}
},
2 : {
name : "value",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(myspan, {
0 : {
name : "RTMLElements",
$ : "proto.threads.RTMLElements"
},
1 : {
name : "elements",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
}
});
isAncestor(NumberTransition, {
0 : {
name : "RTMLLimits",
$ : "proto.threads.RTMLLimits"
}
});
isAncestor(baseEl, {
0 : {
name : "DiffGroup",
$ : "proto.threads.DiffGroup"
},
1 : {
name : "count",
c : 11,
/** @type {function (): undefined} */
type : me
},
6 : {
name : "word_count",
c : 11,
/** @type {function (): undefined} */
type : me
},
5 : {
name : "diffs",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Switch
},
7 : {
name : "primary",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
200 : {
name : "cached_height",
c : 2,
/** @type {function (new:Number, *=): number} */
type : Number
},
201 : {
name : "cached_height_for_width",
c : 2,
/** @type {function (new:Number, *=): number} */
type : Number
},
202 : {
name : "cached_height_for_theme",
c : 14,
defaultValue : 0,
type : TEXT_PLAIN
},
203 : {
name : "cached_collapsed_height",
c : 2,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(me, {
0 : {
name : "Count",
/** @type {function (): undefined} */
va : baseEl,
$ : "proto.threads.DiffGroup.Count"
},
1 : {
name : "insert",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
2 : {
name : "total",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "delete",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "equal",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "delta",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Switch, {
0 : {
name : "Diff",
/** @type {function (): undefined} */
va : baseEl,
$ : "proto.threads.DiffGroup.Diff"
},
1 : {
name : "rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "list",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : boundCallback
},
3 : {
name : "diff_class",
c : 14,
defaultValue : 0,
type : {
hH : 0,
QB : 1,
xD : 2,
wD : 3
}
},
4 : {
name : "section_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "style",
c : 14,
defaultValue : 0,
type : proto
},
6 : {
name : "table_rows",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : rowsFragment
},
200 : {
name : "rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
201 : {
name : "parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
}
});
isAncestor(boundCallback, {
0 : {
name : "ListItem",
/** @type {function (): undefined} */
va : Switch,
$ : "proto.threads.DiffGroup.Diff.ListItem"
},
1 : {
name : "rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "checked",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
3 : {
name : "parent",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
200 : {
name : "rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
201 : {
name : "parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
}
});
isAncestor(rowsFragment, {
0 : {
name : "TableRow",
/** @type {function (): undefined} */
va : Switch,
$ : "proto.threads.DiffGroup.Diff.TableRow"
},
1 : {
name : "headers",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : program2
},
2 : {
name : "cells",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : program2
},
3 : {
name : "rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
200 : {
name : "rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
201 : {
name : "parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
}
});
isAncestor(program2, {
0 : {
name : "TableCell",
/** @type {function (): undefined} */
va : rowsFragment,
$ : "proto.threads.DiffGroup.Diff.TableRow.TableCell"
},
1 : {
name : "rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
200 : {
name : "rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
201 : {
name : "parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
}
});
isAncestor(textPathElement, {
0 : {
name : "DiffGroups",
$ : "proto.threads.DiffGroups"
},
1 : {
name : "diff_groups",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : baseEl
},
2 : {
name : "sequence",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Session, {
0 : {
name : "Paragraph",
$ : "proto.threads.Paragraph"
},
1 : {
name : "style",
c : 14,
defaultValue : 1,
type : {
AG : 1,
iF : 2,
DE : 3,
yG : 4
}
},
2 : {
name : "rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(linkText, {
0 : {
name : "LinkData",
$ : "proto.threads.LinkData"
},
1 : {
name : "uri",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "facebook_app_link",
c : 11,
/** @type {function (): undefined} */
type : dropon
},
3 : {
name : "facebook_app_link_resolved",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(dropon, {
0 : {
name : "FacebookAppLinkData",
/** @type {function (): undefined} */
va : linkText,
$ : "proto.threads.LinkData.FacebookAppLinkData"
},
1 : {
name : "ios_url",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "ios_app_store_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "ios_app_name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "android_url",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "android_package",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "android_app_name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "android_class",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(restoreScript, {
0 : {
name : "ThreadMemberEnum",
$ : "proto.threads.ThreadMemberEnum"
}
});
isAncestor(progressValues, {
0 : {
name : "InvitedThreadMemberEnum",
$ : "proto.threads.InvitedThreadMemberEnum"
}
});
isAncestor(newMillis, {
0 : {
name : "MessageEnum",
$ : "proto.threads.MessageEnum"
}
});
isAncestor(x, {
0 : {
name : "SectionLock",
$ : "proto.threads.SectionLock"
},
1 : {
name : "section_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "author_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "locked_lease",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "author_session",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(program4, {
0 : {
name : "SectionLocks",
$ : "proto.threads.SectionLocks"
},
1 : {
name : "locks",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : x
}
});
isAncestor(newCallback, {
0 : {
name : "AnnotationMetadata",
$ : "proto.threads.AnnotationMetadata"
},
1 : {
name : "annotation_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "message_count",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(frag, {
0 : {
name : "AnnotationMetadatas",
$ : "proto.threads.AnnotationMetadatas"
},
1 : {
name : "metadatas",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : newCallback
}
});
isAncestor(In, {
0 : {
name : "TableMetadata",
$ : "proto.threads.TableMetadata"
},
1 : {
name : "table_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "position",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "deleted",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "stats",
c : 11,
/** @type {function (): undefined} */
type : onceCallback
},
6 : {
name : "referenced_table_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(onceCallback, {
0 : {
name : "Stats",
/** @type {function (): undefined} */
va : In,
$ : "proto.threads.TableMetadata.Stats"
},
1 : {
name : "num_live_sections",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
2 : {
name : "num_deleted_sections",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "num_live_formulas",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(YAMLError, {
0 : {
name : "TableMetadatas",
$ : "proto.threads.TableMetadatas"
},
1 : {
name : "metadatas",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : In
}
});
isAncestor(While, {
0 : {
name : "Theme",
$ : "proto.threads.Theme"
},
1 : {
name : "type",
c : 14,
defaultValue : 0,
type : TEXT_PLAIN
}
});
isAncestor(overlayEl, {
0 : {
name : "Mentions",
$ : "proto.threads.Mentions"
},
1 : {
name : "user_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "document_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "thread_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "names",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : widget
}
});
isAncestor(widget, {
0 : {
name : "Name",
/** @type {function (): undefined} */
va : overlayEl,
$ : "proto.threads.Mentions.Name"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "secret_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(where, {
0 : {
name : "IntegrationEnum",
$ : "proto.threads.IntegrationEnum"
}
});
/**
* @return {undefined}
*/
var report = function() {
_super.apply(this);
};
__extends(report, _super);
self = report.prototype;
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.Ud = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.rb = function() {
return get_mangled(this, 2);
};
/**
* @param {?} v02
* @return {?}
*/
self.ca = function(v02) {
return origFindId(this, 2, v02);
};
var keyType = {
jD : 0,
EA : 1
};
isAncestor(report, {
0 : {
name : "Button",
$ : "proto.user_requests.Button"
},
1 : {
name : "type",
c : 14,
defaultValue : 0,
type : keyType
},
2 : {
name : "text",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "completed",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
/**
* @return {undefined}
*/
var Model = function() {
_super.apply(this);
};
__extends(Model, _super);
/**
* @return {?}
*/
Model.prototype.Ae = function() {
return func(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
Model.prototype.Oj = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {undefined}
*/
var LobbyController = function() {
_super.apply(this);
};
__extends(LobbyController, _super);
self = LobbyController.prototype;
/**
* @return {?}
*/
self.Ae = function() {
return func(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Oj = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Rh = function() {
return func(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Nn = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.Mk = function() {
return func(this, 4);
};
/**
* @return {?}
*/
self.Hk = function() {
return func(this, 5);
};
/**
* @return {undefined}
*/
var NPC = function() {
_super.apply(this);
};
__extends(NPC, _super);
self = NPC.prototype;
/**
* @return {?}
*/
self.Om = function() {
return func(this, 1);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.Fl = function(opt_attributes) {
return origFindId(this, 1, opt_attributes);
};
/**
* @return {?}
*/
self.Da = function() {
return func(this, 2);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 2, iterator);
};
/**
* @return {?}
*/
self.St = function() {
return func(this, 21);
};
/** @type {number} */
var failuresLink = 11;
/** @type {number} */
var progressContexts = 12;
var moduleDefs = {
hC : 10,
hE : failuresLink,
gE : progressContexts,
qG : 15,
pG : 16,
xG : 17,
sG : 18,
mG : 19,
nG : 20,
kx : 21,
uG : 22,
oG : 23,
aB : 24,
Ew : 25,
$A : 26,
kE : 13,
gG : 14,
cH : 27
};
/**
* @return {undefined}
*/
var Bullet = function() {
_super.apply(this);
};
__extends(Bullet, _super);
/**
* @return {undefined}
*/
var attrName = function() {
_super.apply(this);
};
__extends(attrName, _super);
/**
* @return {undefined}
*/
var Cell = function() {
_super.apply(this);
};
__extends(Cell, _super);
/**
* @return {?}
*/
Cell.prototype.Da = function() {
return func(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
Cell.prototype.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @param {?} dataAndEvents
* @param {?} owner
* @return {undefined}
*/
var hasData = function(dataAndEvents, owner) {
_findBelongsTo(dataAndEvents, 4, owner);
};
/**
* @return {undefined}
*/
var Control = function() {
_super.apply(this);
};
__extends(Control, _super);
/**
* @param {?} owner
* @return {?}
*/
Control.prototype.dk = function(owner) {
return _findBelongsTo(this, 3, owner);
};
/**
* @return {?}
*/
Control.prototype.Rh = function() {
return func(this, 5);
};
/**
* @param {?} isXML
* @return {?}
*/
Control.prototype.Nn = function(isXML) {
return origFindId(this, 5, isXML);
};
/**
* @return {undefined}
*/
var Document = function() {
_super.apply(this);
};
__extends(Document, _super);
/**
* @return {?}
*/
Document.prototype.Ft = function() {
return func(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
Document.prototype.Nv = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @param {?} owner
* @return {?}
*/
Document.prototype.dk = function(owner) {
return _findBelongsTo(this, 3, owner);
};
/**
* @return {undefined}
*/
var Character = function() {
_super.apply(this);
};
__extends(Character, _super);
/**
* @return {undefined}
*/
var Comment = function() {
_super.apply(this);
};
__extends(Comment, _super);
/**
* @return {?}
*/
Comment.prototype.Ud = function() {
return func(this, 1);
};
/**
* @param {?} v02
* @return {?}
*/
Comment.prototype.ca = function(v02) {
return origFindId(this, 1, v02);
};
/**
* @return {undefined}
*/
var GameEvent = function() {
_super.apply(this);
};
__extends(GameEvent, _super);
/**
* @param {?} owner
* @return {?}
*/
GameEvent.prototype.dk = function(owner) {
return _findBelongsTo(this, 1, owner);
};
/**
* @return {undefined}
*/
var MappedDepArray = function() {
_super.apply(this);
};
__extends(MappedDepArray, _super);
/**
* @param {?} isXML
* @return {?}
*/
MappedDepArray.prototype.Vv = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {undefined}
*/
var Existence = function() {
_super.apply(this);
};
__extends(Existence, _super);
/**
* @return {?}
*/
Existence.prototype.Om = function() {
return func(this, 1);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
Existence.prototype.Fl = function(opt_attributes) {
return origFindId(this, 1, opt_attributes);
};
/**
* @return {?}
*/
Existence.prototype.St = function() {
return func(this, 12);
};
var DOT_CALL_NO_PARENS = {
cG : 10,
OF : 11,
kx : 12,
rG : 13,
tG : 14,
wG : 15,
vG : 16,
Ew : 17,
ZA : 18,
MC : 19,
NC : 20
};
/**
* @return {undefined}
*/
var Obj = function() {
_super.apply(this);
};
__extends(Obj, _super);
/**
* @param {?} isXML
* @return {?}
*/
Obj.prototype.Tv = function(isXML) {
return origFindId(this, 9, isXML);
};
/**
* @return {undefined}
*/
var Ground = function() {
_super.apply(this);
};
__extends(Ground, _super);
/**
* @return {?}
*/
Ground.prototype.Ph = function() {
return func(this, 1);
};
/**
* @return {undefined}
*/
var Code = function() {
_super.apply(this);
};
__extends(Code, _super);
/**
* @return {?}
*/
Code.prototype.Ph = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Code.prototype.Ft = function() {
return func(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
Code.prototype.Nv = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {undefined}
*/
var container = function() {
_super.apply(this);
};
__extends(container, _super);
/**
* @return {?}
*/
container.prototype.Ph = function() {
return func(this, 1);
};
/**
* @return {undefined}
*/
var HMAC_SHA256 = function() {
_super.apply(this);
};
__extends(HMAC_SHA256, _super);
/**
* @return {?}
*/
HMAC_SHA256.prototype.Ph = function() {
return func(this, 1);
};
/**
* @return {undefined}
*/
var Literal = function() {
_super.apply(this);
};
__extends(Literal, _super);
/**
* @return {?}
*/
Literal.prototype.Rh = function() {
return func(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
Literal.prototype.Nn = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {undefined}
*/
var k = function() {
_super.apply(this);
};
__extends(k, _super);
/**
* @return {?}
*/
k.prototype.Ca = function() {
return func(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
k.prototype.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
k.prototype.Da = function() {
return func(this, 2);
};
/**
* @param {string} iterator
* @return {?}
*/
k.prototype.Ia = function(iterator) {
return origFindId(this, 2, iterator);
};
isAncestor(Model, {
0 : {
name : "AxisReference",
$ : "proto.bridge.AxisReference"
},
1 : {
name : "section_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "section_position",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "absolute",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(LobbyController, {
0 : {
name : "CellReference",
$ : "proto.bridge.CellReference"
},
1 : {
name : "section_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "spreadsheet_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "section_type",
c : 14,
defaultValue : expectedNumberOfNonCommentArgs,
type : suiteView
},
4 : {
name : "row",
c : 11,
/** @type {function (): undefined} */
type : Model
},
5 : {
name : "col",
c : 11,
/** @type {function (): undefined} */
type : Model
},
6 : {
name : "row_label",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "col_label",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(NPC, {
0 : {
name : "FromJs",
$ : "proto.bridge.FromJs"
},
1 : {
name : "op",
c : 14,
defaultValue : 10,
type : moduleDefs
},
2 : {
name : "id",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
13 : {
name : "local_history_state_change",
c : 11,
/** @type {function (): undefined} */
type : Bullet
},
14 : {
name : "show_settings_menu",
c : 11,
/** @type {function (): undefined} */
type : attrName
},
18 : {
name : "spreadsheet_focus_did_change",
c : 11,
/** @type {function (): undefined} */
type : Control
},
19 : {
name : "spreadsheet_cell_editor_start",
c : 11,
/** @type {function (): undefined} */
type : Document
},
21 : {
name : "spreadsheet_scroll_to_cell",
c : 11,
/** @type {function (): undefined} */
type : Character
},
22 : {
name : "spreadsheet_insert_text",
c : 11,
/** @type {function (): undefined} */
type : Comment
},
23 : {
name : "spreadsheet_commands_did_change",
c : 11,
/** @type {function (): undefined} */
type : GameEvent
},
24 : {
name : "autocomplete_show_results",
c : 11,
/** @type {function (): undefined} */
type : MappedDepArray
}
});
isAncestor(Bullet, {
0 : {
name : "LocalHistoryStateChange",
/** @type {function (): undefined} */
va : NPC,
$ : "proto.bridge.FromJs.LocalHistoryStateChange"
},
1 : {
name : "can_undo",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
2 : {
name : "can_redo",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(attrName, {
0 : {
name : "ShowSettingsMenu",
/** @type {function (): undefined} */
va : NPC,
$ : "proto.bridge.FromJs.ShowSettingsMenu"
},
1 : {
name : "anchor_x",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
2 : {
name : "anchor_y",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Cell, {
0 : {
name : "UiCommand",
/** @type {function (): undefined} */
va : NPC,
$ : "proto.bridge.FromJs.UiCommand"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "label",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "flags",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "sub_commands",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Cell
}
});
isAncestor(Control, {
0 : {
name : "SpreadsheetFocusDidChange",
/** @type {function (): undefined} */
va : NPC,
$ : "proto.bridge.FromJs.SpreadsheetFocusDidChange"
},
1 : {
name : "focus_cell_reference",
c : 11,
/** @type {function (): undefined} */
type : LobbyController
},
2 : {
name : "focus_cell_value",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "commands",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Cell
},
4 : {
name : "in_ghost_content",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "spreadsheet_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(Document, {
0 : {
name : "SpreadsheetCellEditorStart",
/** @type {function (): undefined} */
va : NPC,
$ : "proto.bridge.FromJs.SpreadsheetCellEditorStart"
},
1 : {
name : "edit_cell_reference",
c : 11,
/** @type {function (): undefined} */
type : LobbyController
},
2 : {
name : "edit_cell_value",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "commands",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Cell
}
});
isAncestor(Character, {
0 : {
name : "SpreadsheetScrollToCell",
/** @type {function (): undefined} */
va : NPC,
$ : "proto.bridge.FromJs.SpreadsheetScrollToCell"
},
3 : {
name : "cell_top",
c : 2,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "cell_bottom",
c : 2,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Comment, {
0 : {
name : "SpreadsheetInsertText",
/** @type {function (): undefined} */
va : NPC,
$ : "proto.bridge.FromJs.SpreadsheetInsertText"
},
1 : {
name : "text",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(GameEvent, {
0 : {
name : "SpreadsheetCommandsDidChange",
/** @type {function (): undefined} */
va : NPC,
$ : "proto.bridge.FromJs.SpreadsheetCommandsDidChange"
},
1 : {
name : "commands",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Cell
}
});
isAncestor(MappedDepArray, {
0 : {
name : "AutocompleteShowResults",
/** @type {function (): undefined} */
va : NPC,
$ : "proto.bridge.FromJs.AutocompleteShowResults"
},
1 : {
name : "token",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "results",
c : 11,
/** @type {function (): undefined} */
type : ValidationError
}
});
isAncestor(Existence, {
0 : {
name : "ToJs",
$ : "proto.bridge.ToJs"
},
1 : {
name : "op",
c : 14,
defaultValue : 10,
type : DOT_CALL_NO_PARENS
},
10 : {
name : "set_environment",
c : 11,
/** @type {function (): undefined} */
type : Obj
},
12 : {
name : "spreadsheet_scroll_to_cell",
c : 11,
/** @type {function (): undefined} */
type : Ground
},
13 : {
name : "spreadsheet_edit_cell_value",
c : 11,
/** @type {function (): undefined} */
type : Code
},
14 : {
name : "spreadsheet_handle_command",
c : 11,
/** @type {function (): undefined} */
type : container
},
15 : {
name : "spreadsheet_move_cell",
c : 11,
/** @type {function (): undefined} */
type : HMAC_SHA256
},
16 : {
name : "spreadsheet_materialize_ghost_content",
c : 11,
/** @type {function (): undefined} */
type : Literal
},
18 : {
name : "autocomplete_did_select_result",
c : 11,
/** @type {function (): undefined} */
type : k
}
});
isAncestor(Obj, {
0 : {
name : "SetEnvironment",
/** @type {function (): undefined} */
va : Existence,
$ : "proto.bridge.ToJs.SetEnvironment"
},
1 : {
name : "server_web_prefix",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "server_resource_prefix",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "cdn_url",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "bundle_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "build",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "is_tablet_override",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
7 : {
name : "screen_size_override",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "default_android_keyboard_package",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
9 : {
name : "session_token",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
10 : {
name : "page_y_offset_adjustment",
c : 2,
/** @type {function (new:Number, *=): number} */
type : Number
},
11 : {
name : "editor_index",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Ground, {
0 : {
name : "SpreadsheetScrollToCell",
/** @type {function (): undefined} */
va : Existence,
$ : "proto.bridge.ToJs.SpreadsheetScrollToCell"
},
1 : {
name : "cell_ref",
c : 11,
/** @type {function (): undefined} */
type : LobbyController
}
});
isAncestor(Code, {
0 : {
name : "SpreadsheetEditCellValue",
/** @type {function (): undefined} */
va : Existence,
$ : "proto.bridge.ToJs.SpreadsheetEditCellValue"
},
1 : {
name : "cell_ref",
c : 11,
/** @type {function (): undefined} */
type : LobbyController
},
2 : {
name : "edit_cell_value",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "is_editing",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(container, {
0 : {
name : "SpreadsheetHandleCommand",
/** @type {function (): undefined} */
va : Existence,
$ : "proto.bridge.ToJs.SpreadsheetHandleCommand"
},
1 : {
name : "cell_ref",
c : 11,
/** @type {function (): undefined} */
type : LobbyController
},
2 : {
name : "command",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "sub_command",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(HMAC_SHA256, {
0 : {
name : "SpreadsheetMoveCell",
/** @type {function (): undefined} */
va : Existence,
$ : "proto.bridge.ToJs.SpreadsheetMoveCell"
},
1 : {
name : "cell_ref",
c : 11,
/** @type {function (): undefined} */
type : LobbyController
},
2 : {
name : "row_delta",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "col_delta",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Literal, {
0 : {
name : "SpreadsheetMaterializeGhostContent",
/** @type {function (): undefined} */
va : Existence,
$ : "proto.bridge.ToJs.SpreadsheetMaterializeGhostContent"
},
1 : {
name : "spreadsheet_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(k, {
0 : {
name : "AutocompleteDidSelectResult",
/** @type {function (): undefined} */
va : Existence,
$ : "proto.bridge.ToJs.AutocompleteDidSelectResult"
},
1 : {
name : "type",
c : 14,
defaultValue : 1,
type : eventName
},
2 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
/**
* @return {undefined}
*/
var frame = function() {
_super.apply(this);
};
__extends(frame, _super);
var mimeString = {
ME : 0,
bx : 1,
sE : 2
};
/**
* @return {undefined}
*/
var typePattern = function() {
_super.apply(this);
};
__extends(typePattern, _super);
var otherEntity = {
jF : 1,
rB : 2,
vH : 3,
bx : 4,
UF : 5,
sB : 6,
cB : 7,
dD : 8
};
/**
* @return {undefined}
*/
var iframe = function() {
_super.apply(this);
};
__extends(iframe, _super);
/**
* @return {undefined}
*/
var textNode = function() {
_super.apply(this);
};
__extends(textNode, _super);
/**
* @return {undefined}
*/
var responseFrame = function() {
_super.apply(this);
};
__extends(responseFrame, _super);
self = responseFrame.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {undefined}
*/
var that = function() {
_super.apply(this);
};
__extends(that, _super);
self = that.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 2);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 2, expectedNumberOfNonCommentArgs);
};
/**
* @return {undefined}
*/
var Throw = function() {
_super.apply(this);
};
__extends(Throw, _super);
/**
* @return {?}
*/
Throw.prototype.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Throw.prototype.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
Throw.prototype.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
Throw.prototype.Ab = function() {
return isArray(this, 1);
};
/**
* @return {undefined}
*/
var aList = function() {
_super.apply(this);
};
__extends(aList, _super);
self = aList.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.getName = function() {
return func(this, 6);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 6);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @return {?}
*/
self.Qf = function() {
return func(this, 8);
};
/**
* @param {?} isXML
* @return {?}
*/
self.yr = function(isXML) {
return origFindId(this, 8, isXML);
};
/**
* @return {?}
*/
self.Wi = function() {
return func(this, 9);
};
/**
* @param {?} isXML
* @return {?}
*/
self.vr = function(isXML) {
return origFindId(this, 9, isXML);
};
/**
* @return {undefined}
*/
var w = function() {
_super.apply(this);
};
__extends(w, _super);
self = w.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.Be = function() {
return get_mangled(this, 6);
};
/**
* @param {?} isXML
* @return {?}
*/
self.pd = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @return {?}
*/
self.De = function() {
return ondata(this, 6);
};
/**
* @return {?}
*/
self.Me = function() {
return isArray(this, 6);
};
/**
* @return {?}
*/
self.Vi = function() {
return func(this, 7);
};
/**
* @param {?} isXML
* @return {?}
*/
self.ur = function(isXML) {
return origFindId(this, 7, isXML);
};
/**
* @return {?}
*/
self.je = function() {
return func(this, 8);
};
/**
* @return {?}
*/
self.Kg = function() {
return get_mangled(this, 8);
};
/**
* @param {?} isXML
* @return {?}
*/
self.si = function(isXML) {
return origFindId(this, 8, isXML);
};
/**
* @return {?}
*/
self.Ah = function() {
return isArray(this, 8);
};
/**
* @return {undefined}
*/
var related = function() {
_super.apply(this);
};
__extends(related, _super);
self = related.prototype;
/**
* @return {?}
*/
self.getName = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Da = function() {
return func(this, 5);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 5);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 5, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 5);
};
/**
* @return {undefined}
*/
var editor = function() {
_super.apply(this);
};
__extends(editor, _super);
self = editor.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {undefined}
*/
var GameObject = function() {
_super.apply(this);
};
__extends(GameObject, _super);
self = GameObject.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.Nk = function() {
return get_mangled(this, 106);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.Lg = function() {
return func(this, 6);
};
/**
* @param {(Error|string)} isXML
* @return {?}
*/
self.ti = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @return {?}
*/
self.Xi = function() {
return get_mangled(this, 7);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fn = function(isXML) {
return origFindId(this, 7, isXML);
};
/**
* @return {?}
*/
self.Ik = function() {
return func(this, 10);
};
/**
* @return {undefined}
*/
var rt = function() {
_super.apply(this);
};
__extends(rt, _super);
/**
* @return {undefined}
*/
var refNode = function() {
_super.apply(this);
};
__extends(refNode, _super);
self = refNode.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.je = function() {
return func(this, 6);
};
/**
* @return {?}
*/
self.Kg = function() {
return get_mangled(this, 6);
};
/**
* @param {?} isXML
* @return {?}
*/
self.si = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @return {?}
*/
self.Ah = function() {
return isArray(this, 6);
};
/**
* @return {?}
*/
self.Be = function() {
return get_mangled(this, 7);
};
/**
* @param {?} isXML
* @return {?}
*/
self.pd = function(isXML) {
return origFindId(this, 7, isXML);
};
/**
* @return {?}
*/
self.De = function() {
return ondata(this, 7);
};
/**
* @return {?}
*/
self.Me = function() {
return isArray(this, 7);
};
/**
* @return {undefined}
*/
var responseInfoFrame = function() {
_super.apply(this);
};
__extends(responseInfoFrame, _super);
self = responseInfoFrame.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.je = function() {
return func(this, 6);
};
/**
* @return {?}
*/
self.Kg = function() {
return get_mangled(this, 6);
};
/**
* @param {?} isXML
* @return {?}
*/
self.si = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @return {?}
*/
self.Ah = function() {
return isArray(this, 6);
};
/**
* @return {?}
*/
self.getName = function() {
return func(this, 7);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 7);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 7, isXML);
};
/**
* @return {undefined}
*/
var Splat = function() {
_super.apply(this);
};
__extends(Splat, _super);
self = Splat.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 6);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 6);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 6, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.je = function() {
return func(this, 8);
};
/**
* @return {?}
*/
self.Kg = function() {
return get_mangled(this, 8);
};
/**
* @param {?} isXML
* @return {?}
*/
self.si = function(isXML) {
return origFindId(this, 8, isXML);
};
/**
* @return {?}
*/
self.Ah = function() {
return isArray(this, 8);
};
/**
* @return {?}
*/
self.Xi = function() {
return get_mangled(this, 9);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fn = function(isXML) {
return origFindId(this, 9, isXML);
};
/**
* @return {?}
*/
self.Ud = function() {
return func(this, 13);
};
/**
* @return {?}
*/
self.rb = function() {
return get_mangled(this, 13);
};
/**
* @param {?} v02
* @return {?}
*/
self.ca = function(v02) {
return origFindId(this, 13, v02);
};
/**
* @return {?}
*/
self.Lg = function() {
return func(this, 15);
};
/**
* @param {(Error|string)} isXML
* @return {?}
*/
self.ti = function(isXML) {
return origFindId(this, 15, isXML);
};
/**
* @return {?}
*/
self.Ik = function() {
return func(this, 20);
};
/**
* @return {undefined}
*/
var pathElement = function() {
_super.apply(this);
};
__extends(pathElement, _super);
self = pathElement.prototype;
/**
* @return {?}
*/
self.Be = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.pd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.De = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.Me = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.getName = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 2);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {undefined}
*/
var PathRenderingPlugin = function() {
_super.apply(this);
};
__extends(PathRenderingPlugin, _super);
self = PathRenderingPlugin.prototype;
/**
* @return {?}
*/
self.getName = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 2);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 2, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.Jg = function() {
return func(this, 4);
};
/**
* @return {?}
*/
self.$i = function() {
return get_mangled(this, 4);
};
/**
* @return {?}
*/
self.Qk = function() {
return ondata(this, 4);
};
/**
* @return {undefined}
*/
var inp = function() {
_super.apply(this);
};
__extends(inp, _super);
self = inp.prototype;
/**
* @return {?}
*/
self.Jg = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.$i = function() {
return get_mangled(this, 1);
};
/**
* @return {?}
*/
self.Qk = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.Sf = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ke = function() {
return get_mangled(this, 2);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.gb = function(opt_attributes) {
return origFindId(this, 2, opt_attributes);
};
/**
* @return {?}
*/
self.Sk = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Nm = function() {
return get_mangled(this, 3);
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.Sa = function(opt_attributes) {
return origFindId(this, 3, opt_attributes);
};
/**
* @return {undefined}
*/
var Param = function() {
_super.apply(this);
};
__extends(Param, _super);
self = Param.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.Et = function() {
return get_mangled(this, 4);
};
/**
* @param {?} isXML
* @return {?}
*/
self.In = function(isXML) {
return origFindId(this, 4, isXML);
};
/**
* @return {?}
*/
self.Dt = function() {
return func(this, 5);
};
/**
* @return {?}
*/
self.Np = function() {
return get_mangled(this, 5);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Hn = function(isXML) {
return origFindId(this, 5, isXML);
};
/**
* @return {undefined}
*/
var yearCell = function() {
_super.apply(this);
};
__extends(yearCell, _super);
self = yearCell.prototype;
/**
* @param {number} obj
* @return {?}
*/
self.Ok = function(obj) {
return func(this, 1, obj);
};
/**
* @param {?} owner
* @return {?}
*/
self.mc = function(owner) {
return _findBelongsTo(this, 1, owner);
};
/**
* @return {?}
*/
self.bg = function() {
return deepEqual(this, 1);
};
/**
* @return {?}
*/
self.Qm = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.li = function() {
return member(this, 1);
};
/**
* @return {undefined}
*/
var If = function() {
_super.apply(this);
};
__extends(If, _super);
/**
* @return {undefined}
*/
var Background = function() {
_super.apply(this);
};
__extends(Background, _super);
self = Background.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.je = function() {
return func(this, 6);
};
/**
* @return {?}
*/
self.Kg = function() {
return get_mangled(this, 6);
};
/**
* @param {?} isXML
* @return {?}
*/
self.si = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @return {?}
*/
self.Ah = function() {
return isArray(this, 6);
};
/**
* @return {?}
*/
self.Lg = function() {
return func(this, 7);
};
/**
* @param {(Error|string)} isXML
* @return {?}
*/
self.ti = function(isXML) {
return origFindId(this, 7, isXML);
};
/**
* @return {?}
*/
self.Jm = function() {
return func(this, 16);
};
/**
* @return {?}
*/
self.Rp = function() {
return func(this, 17);
};
/**
* @return {undefined}
*/
var Transform = function() {
_super.apply(this);
};
__extends(Transform, _super);
self = Transform.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.je = function() {
return func(this, 6);
};
/**
* @return {?}
*/
self.Kg = function() {
return get_mangled(this, 6);
};
/**
* @param {?} isXML
* @return {?}
*/
self.si = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @return {?}
*/
self.Ah = function() {
return isArray(this, 6);
};
/**
* @return {?}
*/
self.Ik = function() {
return func(this, 7);
};
/**
* @return {?}
*/
self.Rf = function() {
return func(this, 8);
};
/**
* @return {?}
*/
self.Tb = function() {
return get_mangled(this, 8);
};
/**
* @param {?} isXML
* @return {?}
*/
self.xb = function(isXML) {
return origFindId(this, 8, isXML);
};
/**
* @return {?}
*/
self.Rk = function() {
return ondata(this, 8);
};
/**
* @return {?}
*/
self.jk = function() {
return isArray(this, 8);
};
/**
* @return {?}
*/
self.Lk = function() {
return func(this, 21);
};
/**
* @return {?}
*/
self.Ot = function() {
return get_mangled(this, 21);
};
/**
* @param {?} isXML
* @return {?}
*/
self.zr = function(isXML) {
return origFindId(this, 21, isXML);
};
/**
* @return {?}
*/
self.Zt = function() {
return ondata(this, 21);
};
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 9);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 9);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 9, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.lf = function() {
return func(this, 10);
};
/**
* @return {?}
*/
self.pc = function() {
return get_mangled(this, 10);
};
/**
* @param {(number|string)} value
* @return {?}
*/
self.ja = function(value) {
return origFindId(this, 10, value);
};
/**
* @return {?}
*/
self.Zh = function() {
return ondata(this, 10);
};
/**
* @return {?}
*/
self.Pt = function() {
return func(this, 11);
};
/**
* @return {?}
*/
self.Yc = function() {
return get_mangled(this, 11);
};
/**
* @param {number} deepDataAndEvents
* @return {?}
*/
self.ri = function(deepDataAndEvents) {
return origFindId(this, 11, deepDataAndEvents);
};
/**
* @return {?}
*/
self.Yi = function() {
return func(this, 12);
};
/**
* @return {?}
*/
self.ob = function() {
return get_mangled(this, 12);
};
/**
* @param {?} obj
* @return {?}
*/
self.Za = function(obj) {
return origFindId(this, 12, obj);
};
/**
* @return {?}
*/
self.Wt = function() {
return ondata(this, 12);
};
/**
* @return {?}
*/
self.ve = function() {
return isArray(this, 12);
};
/**
* @return {?}
*/
self.Lp = function() {
return get_mangled(this, 25);
};
/**
* @param {number} deepDataAndEvents
* @return {?}
*/
self.pi = function(deepDataAndEvents) {
return origFindId(this, 25, deepDataAndEvents);
};
/**
* @return {?}
*/
self.hc = function() {
return func(this, 13);
};
/**
* @return {?}
*/
self.ld = function() {
return get_mangled(this, 13);
};
/**
* @param {Array} recurring
* @return {?}
*/
self.$a = function(recurring) {
return origFindId(this, 13, recurring);
};
/**
* @return {?}
*/
self.cb = function() {
return ondata(this, 13);
};
/**
* @return {?}
*/
self.pm = function() {
return isArray(this, 13);
};
/**
* @return {?}
*/
self.Ct = function() {
return func(this, 14);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Kv = function(isXML) {
return origFindId(this, 14, isXML);
};
/**
* @return {?}
*/
self.Qp = function() {
return func(this, 15);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Uv = function(isXML) {
return origFindId(this, 15, isXML);
};
/**
* @return {?}
*/
self.cq = function() {
return ondata(this, 15);
};
/**
* @return {?}
*/
self.qm = function() {
return isArray(this, 15);
};
/**
* @return {?}
*/
self.Pd = function() {
return func(this, 16);
};
/**
* @return {?}
*/
self.Qd = function() {
return get_mangled(this, 16);
};
/**
* @param {?} listener
* @return {?}
*/
self.He = function(listener) {
return origFindId(this, 16, listener);
};
/**
* @return {?}
*/
self.hasAttributes = function() {
return ondata(this, 16);
};
/**
* @return {?}
*/
self.Lm = function() {
return func(this, 23);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Gn = function(isXML) {
return origFindId(this, 23, isXML);
};
/**
* @return {?}
*/
self.aq = function() {
return ondata(this, 23);
};
/**
* @return {?}
*/
self.Mp = function() {
return func(this, 24);
};
/**
* @param {?} isXML
* @return {?}
*/
self.xr = function(isXML) {
return origFindId(this, 24, isXML);
};
/**
* @return {?}
*/
self.$p = function() {
return ondata(this, 24);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 17);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 17);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 18);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 18);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Rv = function(isXML) {
return origFindId(this, 19, isXML);
};
/**
* @return {?}
*/
self.om = function() {
return isArray(this, 19);
};
/**
* @return {undefined}
*/
var ref = function() {
_super.apply(this);
};
__extends(ref, _super);
self = ref.prototype;
/**
* @param {number} obj
* @return {?}
*/
self.Ok = function(obj) {
return func(this, 1, obj);
};
/**
* @param {?} owner
* @return {?}
*/
self.mc = function(owner) {
return _findBelongsTo(this, 1, owner);
};
/**
* @return {?}
*/
self.bg = function() {
return deepEqual(this, 1);
};
/**
* @return {?}
*/
self.Qm = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.li = function() {
return member(this, 1);
};
/**
* @return {undefined}
*/
var theScriptTag = function() {
_super.apply(this);
};
__extends(theScriptTag, _super);
self = theScriptTag.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.Lg = function() {
return func(this, 6);
};
/**
* @param {(Error|string)} isXML
* @return {?}
*/
self.ti = function(isXML) {
return origFindId(this, 6, isXML);
};
/**
* @param {?} name
* @return {?}
*/
self.Cr = function(name) {
return origFindId(this, 14, name);
};
/**
* @return {undefined}
*/
var monthCell = function() {
_super.apply(this);
};
__extends(monthCell, _super);
self = monthCell.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.Rf = function() {
return func(this, 9);
};
/**
* @return {?}
*/
self.Tb = function() {
return get_mangled(this, 9);
};
/**
* @param {?} isXML
* @return {?}
*/
self.xb = function(isXML) {
return origFindId(this, 9, isXML);
};
/**
* @return {?}
*/
self.Rk = function() {
return ondata(this, 9);
};
/**
* @return {?}
*/
self.jk = function() {
return isArray(this, 9);
};
/**
* @return {undefined}
*/
var gears = function() {
_super.apply(this);
};
__extends(gears, _super);
self = gears.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.Be = function() {
return get_mangled(this, 7);
};
/**
* @param {?} isXML
* @return {?}
*/
self.pd = function(isXML) {
return origFindId(this, 7, isXML);
};
/**
* @return {?}
*/
self.De = function() {
return ondata(this, 7);
};
/**
* @return {?}
*/
self.Me = function() {
return isArray(this, 7);
};
/**
* @return {undefined}
*/
var pausedElement = function() {
_super.apply(this);
};
__extends(pausedElement, _super);
self = pausedElement.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.getName = function() {
return func(this, 7);
};
/**
* @return {?}
*/
self.Td = function() {
return get_mangled(this, 7);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Fd = function(isXML) {
return origFindId(this, 7, isXML);
};
/**
* @return {undefined}
*/
var target = function() {
_super.apply(this);
};
__extends(target, _super);
self = target.prototype;
/**
* @return {?}
*/
self.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.md = function() {
return func(this, 100);
};
/**
* @return {?}
*/
self.jd = function() {
return isArray(this, 100);
};
/**
* @return {?}
*/
self.Xc = function() {
return get_mangled(this, 101);
};
/**
* @return {?}
*/
self.Id = function() {
return isArray(this, 101);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 105);
};
/**
* @return {?}
*/
self.yd = function() {
return member(this, 4);
};
/**
* @return {?}
*/
self.hd = function() {
return isArray(this, 4);
};
/**
* @return {?}
*/
self.Yd = function() {
return member(this, 5);
};
/**
* @return {?}
*/
self.xd = function() {
return isArray(this, 5);
};
/**
* @return {undefined}
*/
var JavaScriptLanguage = function() {
_super.apply(this);
};
__extends(JavaScriptLanguage, _super);
/**
* @return {?}
*/
JavaScriptLanguage.prototype.Be = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
JavaScriptLanguage.prototype.pd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
JavaScriptLanguage.prototype.De = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
JavaScriptLanguage.prototype.Me = function() {
return isArray(this, 1);
};
/**
* @return {undefined}
*/
var strong = function() {
_super.apply(this);
};
__extends(strong, _super);
self = strong.prototype;
/**
* @return {?}
*/
self.Be = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.pd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.De = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.Me = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.je = function() {
return func(this, 5);
};
/**
* @return {?}
*/
self.Kg = function() {
return get_mangled(this, 5);
};
/**
* @param {?} isXML
* @return {?}
*/
self.si = function(isXML) {
return origFindId(this, 5, isXML);
};
/**
* @return {?}
*/
self.Ah = function() {
return isArray(this, 5);
};
/**
* @return {?}
*/
self.Ik = function() {
return func(this, 6);
};
/**
* @param {boolean} recurring
* @return {?}
*/
self.Kb = function(recurring) {
return origFindId(this, 7, recurring);
};
/**
* @return {?}
*/
self.Kt = function() {
return get_mangled(this, 9);
};
/**
* @param {number} isXML
* @return {?}
*/
self.El = function(isXML) {
return origFindId(this, 9, isXML);
};
/**
* @return {undefined}
*/
var camelKey = function() {
_super.apply(this);
};
__extends(camelKey, _super);
/**
* @return {undefined}
*/
var specialIEContainer = function() {
_super.apply(this);
};
__extends(specialIEContainer, _super);
self = specialIEContainer.prototype;
/**
* @return {?}
*/
self.Be = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.pd = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.De = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.Me = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.Ik = function() {
return func(this, 3);
};
/**
* @return {undefined}
*/
var child2 = function() {
_super.apply(this);
};
__extends(child2, _super);
self = child2.prototype;
/**
* @param {number} walkers
* @return {?}
*/
self.Pp = function(walkers) {
return func(this, 21, walkers);
};
/**
* @param {number} obj
* @return {?}
*/
self.Ok = function(obj) {
return func(this, 7, obj);
};
/**
* @param {?} owner
* @return {?}
*/
self.mc = function(owner) {
return _findBelongsTo(this, 7, owner);
};
/**
* @return {?}
*/
self.bg = function() {
return deepEqual(this, 7);
};
/**
* @return {?}
*/
self.Qm = function() {
return ondata(this, 7);
};
/**
* @return {?}
*/
self.li = function() {
return member(this, 7);
};
/**
* @param {?} isXML
* @return {?}
*/
self.Ar = function(isXML) {
return origFindId(this, 18, isXML);
};
/**
* @return {undefined}
*/
var FutureMessage = function() {
_super.apply(this);
};
__extends(FutureMessage, _super);
/**
* @param {?} owner
* @return {?}
*/
FutureMessage.prototype.vd = function(owner) {
return _findBelongsTo(this, 1, owner);
};
/**
* @return {?}
*/
FutureMessage.prototype.Oc = function() {
return deepEqual(this, 1);
};
/**
* @return {?}
*/
FutureMessage.prototype.Zk = function() {
return member(this, 1);
};
/**
* @return {undefined}
*/
var closer = function() {
_super.apply(this);
};
__extends(closer, _super);
/**
* @return {undefined}
*/
var backgroundElement = function() {
_super.apply(this);
};
__extends(backgroundElement, _super);
self = backgroundElement.prototype;
/**
* @return {?}
*/
self.Rf = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.Tb = function() {
return get_mangled(this, 1);
};
/**
* @param {?} isXML
* @return {?}
*/
self.xb = function(isXML) {
return origFindId(this, 1, isXML);
};
/**
* @return {?}
*/
self.Rk = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.jk = function() {
return isArray(this, 1);
};
/**
* @return {?}
*/
self.Da = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.Aa = function() {
return get_mangled(this, 2);
};
/**
* @param {string} iterator
* @return {?}
*/
self.Ia = function(iterator) {
return origFindId(this, 2, iterator);
};
/**
* @return {?}
*/
self.Ab = function() {
return isArray(this, 2);
};
/**
* @return {undefined}
*/
var Try = function() {
_super.apply(this);
};
__extends(Try, _super);
/**
* @return {?}
*/
Try.prototype.md = function() {
return func(this, 1);
};
/**
* @return {?}
*/
Try.prototype.jd = function() {
return isArray(this, 1);
};
/**
* @return {undefined}
*/
var _asyncsDone = function() {
_super.apply(this);
};
__extends(_asyncsDone, _super);
/**
* @return {undefined}
*/
var ResourceTypeError = function() {
_super.apply(this);
};
__extends(ResourceTypeError, _super);
/**
* @return {?}
*/
ResourceTypeError.prototype.Da = function() {
return func(this, 1);
};
/**
* @return {?}
*/
ResourceTypeError.prototype.Aa = function() {
return get_mangled(this, 1);
};
/**
* @param {string} iterator
* @return {?}
*/
ResourceTypeError.prototype.Ia = function(iterator) {
return origFindId(this, 1, iterator);
};
/**
* @return {?}
*/
ResourceTypeError.prototype.Ab = function() {
return isArray(this, 1);
};
/**
* @return {undefined}
*/
var scriptElt = function() {
_super.apply(this);
};
__extends(scriptElt, _super);
self = scriptElt.prototype;
/**
* @return {?}
*/
self.Ca = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.ib = function() {
return get_mangled(this, 1);
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
self.mb = function(expectedNumberOfNonCommentArgs) {
return origFindId(this, 1, expectedNumberOfNonCommentArgs);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 3);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 3);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 3);
};
/**
* @return {undefined}
*/
var list_item_value = function() {
_super.apply(this);
};
__extends(list_item_value, _super);
/**
* @return {?}
*/
list_item_value.prototype.Nc = function() {
return get_mangled(this, 6);
};
/**
* @return {undefined}
*/
var dontCloseTags = function() {
_super.apply(this);
};
__extends(dontCloseTags, _super);
/**
* @return {undefined}
*/
var h1 = function() {
_super.apply(this);
};
__extends(h1, _super);
self = h1.prototype;
/**
* @return {?}
*/
self.Jg = function() {
return func(this, 1);
};
/**
* @return {?}
*/
self.$i = function() {
return get_mangled(this, 1);
};
/**
* @return {?}
*/
self.Qk = function() {
return ondata(this, 1);
};
/**
* @return {?}
*/
self.ic = function() {
return func(this, 2);
};
/**
* @return {?}
*/
self.ac = function() {
return get_mangled(this, 2);
};
/**
* @param {number} isXML
* @return {?}
*/
self.Xb = function(isXML) {
return origFindId(this, 2, isXML);
};
/**
* @return {?}
*/
self.qc = function() {
return ondata(this, 2);
};
/**
* @return {?}
*/
self.Zb = function() {
return isArray(this, 2);
};
/**
* @return {?}
*/
self.gc = function() {
return func(this, 3);
};
/**
* @return {?}
*/
self.Bb = function() {
return get_mangled(this, 3);
};
/**
* @param {boolean} isXML
* @return {?}
*/
self.Wb = function(isXML) {
return origFindId(this, 3, isXML);
};
/**
* @return {?}
*/
self.Nc = function() {
return get_mangled(this, 4);
};
isAncestor(frame, {
0 : {
name : "MergedState",
$ : "syncer.MergedState"
}
});
isAncestor(typePattern, {
0 : {
name : "Source",
$ : "syncer.Source"
}
});
isAncestor(iframe, {
0 : {
name : "UserRequestInfo",
$ : "syncer.UserRequestInfo"
},
1 : {
name : "count",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
2 : {
name : "message_rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "object_user_requests",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : textNode
},
4 : {
name : "selected_buttons",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : that
},
5 : {
name : "access_requests",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Throw
},
200 : {
name : "message_rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
201 : {
name : "message_parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
}
});
isAncestor(textNode, {
0 : {
name : "ObjectUserRequest",
/** @type {function (): undefined} */
va : iframe,
$ : "syncer.UserRequestInfo.ObjectUserRequest"
},
1 : {
name : "message_rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "buttons",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : report
},
3 : {
name : "object_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "user_requests",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : responseFrame
},
200 : {
name : "message_rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
201 : {
name : "message_parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
}
});
isAncestor(responseFrame, {
0 : {
name : "UserRequest",
/** @type {function (): undefined} */
va : textNode,
$ : "syncer.UserRequestInfo.ObjectUserRequest.UserRequest"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "sender_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "buttons",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : report
},
6 : {
name : "created_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
7 : {
name : "display_email",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "display_name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(that, {
0 : {
name : "ButtonSelected",
/** @type {function (): undefined} */
va : iframe,
$ : "syncer.UserRequestInfo.ButtonSelected"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "type",
c : 14,
defaultValue : 0,
type : keyType
}
});
isAncestor(Throw, {
0 : {
name : "AccessRequest",
/** @type {function (): undefined} */
va : iframe,
$ : "syncer.UserRequestInfo.AccessRequest"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(aList, {
0 : {
name : "User",
$ : "syncer.User"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "first_name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "gender",
c : 14,
defaultValue : 0,
type : {
nx : 0,
LC : 1,
mE : 2
}
},
8 : {
name : "desktop_folder_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
9 : {
name : "archive_folder_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
10 : {
name : "employee",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
29 : {
name : "robot",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
11 : {
name : "push",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
13 : {
name : "pictures",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : msg
},
14 : {
name : "checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
26 : {
name : "modal_root_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
17 : {
name : "anonymous",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
18 : {
name : "pending_unverified_email",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
19 : {
name : "dropbox_files",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : SequenceEndEvent
},
20 : {
name : "dropbox_linked",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
21 : {
name : "gdrive_files",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : SequenceEndEvent
},
22 : {
name : "gdrive_linked",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
23 : {
name : "emails",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : bodyElem
},
24 : {
name : "usage_milestones",
c : 11,
/** @type {function (): undefined} */
type : later
},
25 : {
name : "user_request_info",
c : 11,
/** @type {function (): undefined} */
type : iframe
},
27 : {
name : "workgroups",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : related
},
28 : {
name : "team_promo_domain",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
200 : {
name : "resolved",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(w, {
0 : {
name : "Contact",
$ : "syncer.Contact"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "affinity",
c : 1,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
8 : {
name : "thread_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
200 : {
name : "resolved",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(related, {
0 : {
name : "Workgroup",
$ : "syncer.Workgroup"
},
1 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "domain",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
11 : {
name : "additional_domains",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "created_by",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "folder_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "disabled",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
14 : {
name : "workgroup_security",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(editor, {
0 : {
name : "Signal",
$ : "syncer.Signal"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "message_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "message_sequence",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
8 : {
name : "display_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
9 : {
name : "message_rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
10 : {
name : "picture_user_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
200 : {
name : "resolved",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
201 : {
name : "message_rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
202 : {
name : "message_parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(GameObject, {
0 : {
name : "Thread",
$ : "syncer.Thread"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
106 : {
name : "secret_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "title",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "author_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
9 : {
name : "inbox_position",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
10 : {
name : "document_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
11 : {
name : "checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
20 : {
name : "modal_root_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "notification_level",
c : 14,
defaultValue : 0,
type : TYPE_CSS
},
13 : {
name : "unread_count",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
14 : {
name : "personal",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
16 : {
name : "seen_message_sequence",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
17 : {
name : "inbox_record",
c : 11,
/** @type {function (): undefined} */
type : rt
},
18 : {
name : "force_root_id_has_checksummed",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
19 : {
name : "links",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : linkText
},
21 : {
name : "link_settings",
c : 11,
/** @type {function (): undefined} */
type : Events
},
24 : {
name : "view_mode",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
22 : {
name : "permits",
aa : true,
c : 14,
defaultValue : 0,
type : contentType
},
23 : {
name : "reachable_permits",
aa : true,
c : 14,
defaultValue : 0,
type : contentType
},
25 : {
name : "removed_but_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
26 : {
name : "importance_multiplier",
c : 2,
defaultValue : 1,
/** @type {function (new:Number, *=): number} */
type : Number
},
200 : {
name : "resolved",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
201 : {
name : "sending_messages",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
202 : {
name : "sending_messages_failed",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
212 : {
name : "snippet_section_rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
213 : {
name : "snippet_section_parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(rt, {
0 : {
name : "InboxRecord",
/** @type {function (): undefined} */
va : GameObject,
$ : "syncer.Thread.InboxRecord"
},
1 : {
name : "effective_title",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "snippet_picture_user_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "snippet_message",
c : 11,
/** @type {function (): undefined} */
type : Splat
},
4 : {
name : "snippet_section",
c : 11,
/** @type {function (): undefined} */
type : Transform
},
5 : {
name : "read_state",
c : 14,
defaultValue : 0,
type : {
RE : 0,
mH : 1,
NF : 2,
WF : 3
}
},
6 : {
name : "new_badge",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
7 : {
name : "read_user_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "read_by_all",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
9 : {
name : "last_activity_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
10 : {
name : "group_chat",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(refNode, {
0 : {
name : "ThreadMember",
$ : "syncer.ThreadMember"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "thread_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "added_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
9 : {
name : "seen_message_sequence",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
10 : {
name : "level",
c : 14,
defaultValue : 0,
type : {
qo : -10,
FF : 0,
rE : 5,
lF : 10,
gC : 20
}
},
11 : {
name : "added_by",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "new_badge",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
13 : {
name : "private_folder",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
14 : {
name : "notification_level",
c : 14,
defaultValue : 0,
type : TYPE_CSS
},
15 : {
name : "folder_notification_level",
c : 14,
defaultValue : 0,
type : TYPE_CSS
},
16 : {
name : "view_mode",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
17 : {
name : "robot",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
200 : {
name : "resolved",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(responseInfoFrame, {
0 : {
name : "InvitedThreadMember",
$ : "syncer.InvitedThreadMember"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "thread_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "contact_info",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
9 : {
name : "level",
c : 14,
defaultValue : 0,
type : {
qo : -10,
js : -5,
ex : 0
}
},
10 : {
name : "email",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
11 : {
name : "phone",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "suppress_notification",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
200 : {
name : "resolved",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(Splat, {
0 : {
name : "Message",
$ : "syncer.Message"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "type",
c : 14,
defaultValue : 0,
type : {
cx : 0,
IA : 1,
KB : 2,
rC : 3,
LF : 4,
IF : 5,
LB : 6,
PB : 7,
MF : 8,
fF : 9,
zG : 10,
KA : 11,
lH : 12,
vD : 13,
GA : 14,
HF : 15,
JA : 16,
JF : 17
}
},
8 : {
name : "thread_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
9 : {
name : "author_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
10 : {
name : "created_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
11 : {
name : "sent_sequence",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
12 : {
name : "via",
c : 14,
defaultValue : 2,
type : chartType
},
13 : {
name : "text",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
24 : {
name : "paragraphs",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Session
},
25 : {
name : "framing",
c : 14,
defaultValue : 1,
type : {
mB : 1,
Jw : 2
}
},
14 : {
name : "user_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
15 : {
name : "title",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
16 : {
name : "diff_groups",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : baseEl
},
26 : {
name : "apparent_user",
c : 11,
/** @type {function (): undefined} */
type : pathElement
},
27 : {
name : "hide_profile_picture",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
17 : {
name : "files",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : PathRenderingPlugin
},
18 : {
name : "folder_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
22 : {
name : "annotation",
c : 11,
/** @type {function (): undefined} */
type : Param
},
20 : {
name : "document_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
21 : {
name : "like_bundle",
c : 11,
/** @type {function (): undefined} */
type : trailingCall
},
23 : {
name : "mentions",
c : 11,
/** @type {function (): undefined} */
type : overlayEl
},
200 : {
name : "resolved",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
203 : {
name : "rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
204 : {
name : "rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
205 : {
name : "parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
},
206 : {
name : "primary_diff_group",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
207 : {
name : "diffs_expanded",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
208 : {
name : "saving",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
209 : {
name : "failed_to_save",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
210 : {
name : "locally_created_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
211 : {
name : "author_name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
213 : {
name : "read_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
212 : {
name : "annotation_group",
c : 11,
/** @type {function (): undefined} */
type : If
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(pathElement, {
0 : {
name : "ApparentUser",
/** @type {function (): undefined} */
va : Splat,
$ : "syncer.Message.ApparentUser"
},
1 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "profile_link",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "pictures",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : MappingStartEvent
}
});
isAncestor(PathRenderingPlugin, {
0 : {
name : "File",
/** @type {function (): undefined} */
va : Splat,
$ : "syncer.Message.File"
},
1 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "type",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "size",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "hash",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "thumbnail",
c : 11,
/** @type {function (): undefined} */
type : inp
},
200 : {
name : "icon",
c : 14,
defaultValue : 0,
type : {
$C : 0,
pD : 1,
YA : 2,
VIDEO : 3,
pF : 4,
yF : 5,
GB : 6
}
},
201 : {
name : "display_inline",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(inp, {
0 : {
name : "Thumbnail",
/** @type {function (): undefined} */
va : PathRenderingPlugin,
$ : "syncer.Message.File.Thumbnail"
},
1 : {
name : "hash",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "width",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "height",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(Param, {
0 : {
name : "Annotation",
/** @type {function (): undefined} */
va : Splat,
$ : "syncer.Message.Annotation"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "is_last_for_annotation",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
3 : {
name : "snippet",
c : 11,
/** @type {function (): undefined} */
type : yearCell
},
4 : {
name : "creator_user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "creator_name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(yearCell, {
0 : {
name : "Snippet",
/** @type {function (): undefined} */
va : Param,
$ : "syncer.Message.Annotation.Snippet"
},
1 : {
name : "sections",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Transform
},
3 : {
name : "abbreviated_sections",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Transform
},
2 : {
name : "is_section_highlight",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(If, {
0 : {
name : "AnnotationGroup",
/** @type {function (): undefined} */
va : Splat,
$ : "syncer.Message.AnnotationGroup"
},
1 : {
name : "other_message_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(Background, {
0 : {
name : "Document",
$ : "syncer.Document"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "thread_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "title",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "updated_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
9 : {
name : "section_locks",
c : 11,
/** @type {function (): undefined} */
type : program4
},
16 : {
name : "annotation_metadatas",
c : 11,
/** @type {function (): undefined} */
type : frag
},
10 : {
name : "import_filename",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
11 : {
name : "dropbox_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "saving_enabled",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
13 : {
name : "gdrive_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
15 : {
name : "table_metadatas",
c : 11,
/** @type {function (): undefined} */
type : YAMLError
},
17 : {
name : "theme",
c : 11,
/** @type {function (): undefined} */
type : While
},
200 : {
name : "resolved",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(Transform, {
0 : {
name : "Section",
$ : "syncer.Section"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
6 : {
name : "thread_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "document_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "position",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
21 : {
name : "position_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
9 : {
name : "type",
c : 14,
defaultValue : expectedNumberOfNonCommentArgs,
type : suiteView
},
10 : {
name : "style",
c : 14,
defaultValue : 0,
type : proto
},
11 : {
name : "section_class",
c : 14,
defaultValue : deepDataAndEvents,
type : gesture
},
12 : {
name : "content",
c : 11,
/** @type {function (): undefined} */
type : Contact
},
25 : {
name : "content_origin",
c : 14,
defaultValue : 0,
type : expectedType
},
13 : {
name : "parents",
c : 11,
/** @type {function (): undefined} */
type : Collection
},
14 : {
name : "alt_rtml",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
15 : {
name : "status",
c : 11,
/** @type {function (): undefined} */
type : Arr
},
16 : {
name : "attributes",
c : 11,
/** @type {function (): undefined} */
type : Tag
},
22 : {
name : "transient",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
23 : {
name : "copy_thread_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
24 : {
name : "copy_secret_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
17 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
18 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
19 : {
name : "modified",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
20 : {
name : "local_sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
200 : {
name : "resolved",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
202 : {
name : "in_checklist",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
203 : {
name : "uppercase",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
204 : {
name : "is_list_header",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
205 : {
name : "font",
c : 14,
defaultValue : 0,
type : {
lB : 0,
kB : 1,
eD : 2,
fD : 3,
gD : 4,
AB : 5
}
},
206 : {
name : "rtml_hash",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
207 : {
name : "parsed_rtml",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Certainties
},
208 : {
name : "is_table_header",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
209 : {
name : "table_col_number",
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
210 : {
name : "table_col_width",
c : 2,
/** @type {function (new:Number, *=): number} */
type : Number
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(ref, {
0 : {
name : "DocumentData",
$ : "syncer.DocumentData"
},
1 : {
name : "sections",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Transform
},
2 : {
name : "omitted_deleted_entities",
c : 5,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(theScriptTag, {
0 : {
name : "Folder",
$ : "syncer.Folder"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
17 : {
name : "inaccessible",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "title",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "folder_type",
c : 14,
defaultValue : 0,
type : {
xF : 0,
eG : 1
}
},
8 : {
name : "folder_class",
c : 14,
defaultValue : 0,
type : {
STANDARD : 0,
VB : 1,
RA : 2
}
},
9 : {
name : "inherit_mode",
c : 14,
defaultValue : 0,
type : {
uD : 0,
QF : 1
}
},
10 : {
name : "parent_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
11 : {
name : "full_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "color",
c : 14,
defaultValue : 0,
type : {
nE : 0,
hx : 1,
dx : 2,
Yw : 3,
Fw : 4,
gx : 5
}
},
13 : {
name : "creator_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
14 : {
name : "workgroup_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
15 : {
name : "checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
18 : {
name : "modal_root_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
16 : {
name : "notification_level",
c : 14,
defaultValue : 0,
type : TYPE_CSS
},
200 : {
name : "resolved",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
202 : {
name : "extended_user_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
203 : {
name : "effective_notification_level",
c : 14,
defaultValue : 0,
type : TYPE_CSS
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(monthCell, {
0 : {
name : "FolderObject",
$ : "syncer.FolderObject"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "folder_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "object_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "object_type",
c : 14,
defaultValue : 0,
type : {
ns : 0,
is : 1
}
},
9 : {
name : "position",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
200 : {
name : "resolved",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(gears, {
0 : {
name : "FolderMember",
$ : "syncer.FolderMember"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "folder_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "level",
c : 14,
defaultValue : 0,
type : {
qo : -10,
qE : 0
}
},
9 : {
name : "created_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
200 : {
name : "resolved",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(pausedElement, {
0 : {
name : "InvitedFolderMember",
$ : "syncer.InvitedFolderMember"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "folder_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "name",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
8 : {
name : "contact_info",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
9 : {
name : "level",
c : 14,
defaultValue : 0,
type : {
qo : -10,
js : -5,
ex : 0
}
},
10 : {
name : "email",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
11 : {
name : "phone",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "suppress_notification",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
200 : {
name : "resolved",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(target, {
0 : {
name : "ServiceImport",
$ : "syncer.ServiceImport"
},
1 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
defaultValue : 0,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
100 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
101 : {
name : "merged_state",
c : 14,
defaultValue : 0,
type : mimeString
},
102 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
103 : {
name : "part_checksum",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
104 : {
name : "modality",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
105 : {
name : "is_guest",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "dirty",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
5 : {
name : "pending",
aa : true,
c : 5,
/** @type {function (new:Number, *=): number} */
type : Number
},
6 : {
name : "service",
c : 14,
defaultValue : 2,
type : ScrollContainer
},
7 : {
name : "import_type",
c : 14,
defaultValue : 0,
type : acceptType
},
8 : {
name : "contacts",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Call
},
9 : {
name : "file_metadata",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : SequenceEndEvent
},
10 : {
name : "existing_contact_emails",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
200 : {
name : "resolved",
c : 8,
defaultValue : 1,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
300 : {
name : "source",
c : 14,
defaultValue : 2,
type : otherEntity
},
301 : {
name : "silent_changes",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(JavaScriptLanguage, {
0 : {
name : "UserPresence",
$ : "syncer.UserPresence"
},
1 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "last_active",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "last_active_device",
c : 14,
defaultValue : 0,
type : chartType
}
});
isAncestor(strong, {
0 : {
name : "Session",
$ : "syncer.Session"
},
1 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "session_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "active",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "active2",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
5 : {
name : "thread_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "document_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
7 : {
name : "editing",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
8 : {
name : "focused",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
9 : {
name : "mode",
c : 14,
defaultValue : 0,
type : {
XB : 0,
YG : 1,
dC : 2
}
},
10 : {
name : "device",
c : 14,
defaultValue : 2,
type : chartType
},
11 : {
name : "now",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
13 : {
name : "folder_union",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
12 : {
name : "folder_path",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
14 : {
name : "transient_sections_packet",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(camelKey, {
0 : {
name : "PresenceInfo",
$ : "syncer.PresenceInfo"
},
1 : {
name : "online",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
2 : {
name : "device",
c : 14,
defaultValue : 2,
type : chartType
},
3 : {
name : "last_online",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
4 : {
name : "editing_doc_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "active_doc_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
6 : {
name : "active2_doc_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(specialIEContainer, {
0 : {
name : "TransientSections",
$ : "syncer.TransientSections"
},
1 : {
name : "user_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "session_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "document_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
4 : {
name : "document_data",
c : 11,
/** @type {function (): undefined} */
type : ref
}
});
isAncestor(child2, {
0 : {
name : "Payload",
$ : "syncer.Payload"
},
1 : {
name : "users",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : aList
},
2 : {
name : "contacts",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : w
},
21 : {
name : "signals",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : editor
},
3 : {
name : "threads",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : GameObject
},
4 : {
name : "thread_members",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : refNode
},
16 : {
name : "invited_thread_members",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : responseInfoFrame
},
5 : {
name : "messages",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Splat
},
6 : {
name : "documents",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Background
},
7 : {
name : "sections",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Transform
},
8 : {
name : "folders",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : theScriptTag
},
9 : {
name : "folder_objects",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : monthCell
},
10 : {
name : "folder_members",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : gears
},
17 : {
name : "invited_folder_members",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : pausedElement
},
20 : {
name : "service_imports",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : target
},
11 : {
name : "sessions",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : strong
},
12 : {
name : "presence_updates",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : JavaScriptLanguage
},
19 : {
name : "transient_sections",
c : 11,
/** @type {function (): undefined} */
type : specialIEContainer
},
18 : {
name : "rollout_state",
c : 11,
/** @type {function (): undefined} */
type : EcoLanguage
},
14 : {
name : "listen_cursor",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
15 : {
name : "min_updated_usec",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(FutureMessage, {
0 : {
name : "ChangesData",
$ : "syncer.ChangesData"
},
1 : {
name : "ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "indexes",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : closer
},
3 : {
name : "temp_ids",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : Try
}
});
isAncestor(closer, {
0 : {
name : "Index",
/** @type {function (): undefined} */
va : FutureMessage,
$ : "syncer.ChangesData.Index"
},
1 : {
name : "index_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
3 : {
name : "in_place",
c : 8,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
2 : {
name : "updated",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : backgroundElement
}
});
isAncestor(backgroundElement, {
0 : {
name : "Item",
/** @type {function (): undefined} */
va : closer,
$ : "syncer.ChangesData.Index.Item"
},
1 : {
name : "position",
c : 13,
/** @type {function (new:Number, *=): number} */
type : Number
},
2 : {
name : "id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(Try, {
0 : {
name : "TempId",
/** @type {function (): undefined} */
va : FutureMessage,
$ : "syncer.ChangesData.TempId"
},
1 : {
name : "temp_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "real_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(_asyncsDone, {
0 : {
name : "SerializedChecksum",
$ : "syncer.SerializedChecksum"
},
1 : {
name : "thread_checksums",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : list_item_value
},
2 : {
name : "folder_checksums",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : list_item_value
},
3 : {
name : "user_checksums",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : list_item_value
},
4 : {
name : "bad_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
5 : {
name : "checksummed_root_ids",
aa : true,
c : 9,
/** @type {function (new:String, *=): string} */
type : String
}
});
isAncestor(ResourceTypeError, {
0 : {
name : "PartChecksum",
/** @type {function (): undefined} */
va : _asyncsDone,
$ : "syncer.SerializedChecksum.PartChecksum"
},
1 : {
name : "id",
c : 4,
/** @type {function (new:Number, *=): number} */
type : Number
},
2 : {
name : "checksum",
c : 4,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(scriptElt, {
0 : {
name : "GroupChecksum",
/** @type {function (): undefined} */
va : _asyncsDone,
$ : "syncer.SerializedChecksum.GroupChecksum"
},
1 : {
name : "type",
c : 14,
defaultValue : 0,
type : paramType
},
2 : {
name : "checksum",
c : 4,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "sequence",
c : 4,
/** @type {function (new:Number, *=): number} */
type : Number
}
});
isAncestor(list_item_value, {
0 : {
name : "RootChecksum",
/** @type {function (): undefined} */
va : _asyncsDone,
$ : "syncer.SerializedChecksum.RootChecksum"
},
1 : {
name : "root_id",
c : 9,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "checksum",
c : 4,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "part_checksums",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : ResourceTypeError
},
4 : {
name : "group_checksums",
aa : true,
c : 11,
/** @type {function (): undefined} */
type : scriptElt
},
5 : {
name : "root_only",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
6 : {
name : "is_guest",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
isAncestor(dontCloseTags, {
0 : {
name : "UpdateStatus",
$ : "syncer.UpdateStatus"
}
});
isAncestor(h1, {
0 : {
name : "ChecksumValue",
$ : "syncer.ChecksumValue"
},
1 : {
name : "hash",
c : 6,
/** @type {function (new:String, *=): string} */
type : String
},
2 : {
name : "sequence",
c : 3,
/** @type {function (new:Number, *=): number} */
type : Number
},
3 : {
name : "deleted",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
},
4 : {
name : "is_guest",
c : 8,
defaultValue : 0,
/** @type {function (new:Boolean, *=): boolean} */
type : Boolean
}
});
/**
* @param {(Object|number)} storage
* @param {?} val
* @param {Function} v
* @return {?}
*/
var validator = function(storage, val, v) {
return restoreMarkdownConf(storage, val, v, function(property) {
return storage[property];
});
};
/**
* @param {Array} req
* @param {number} x
* @return {?}
*/
var value = function(req, x) {
return-1 != index(req, x);
};
/**
* @param {Object} value
* @return {?}
*/
var toPaddedString = function(value) {
return value.slice(0);
};
/**
* @param {(Array|string)} x
* @param {Array} y
* @return {?}
*/
var sortFunction = function(x, y) {
if (x.length != y.length) {
return false;
}
/** @type {number} */
var i = 0;
for (;i < x.length;i++) {
if (x[i] !== y[i]) {
return false;
}
}
return true;
};
/**
* @param {?} value
* @param {?} c
* @return {undefined}
*/
var toggleClass = function(value, c) {
value.push.apply(value, c);
};
/**
* @param {Array} array
* @param {Function} callback
* @return {?}
*/
var uniq = function(array, callback) {
if (Array.prototype.filter && array.filter) {
return array.filter(callback);
}
/** @type {Array} */
var result = [];
/** @type {number} */
var i = 0;
for (;i < array.length;i++) {
if (callback(array[i], i, array)) {
result.push(array[i]);
}
}
return result;
};
/**
* @param {Array} array
* @param {Function} callback
* @return {?}
*/
var arraySome = function(array, callback) {
if (Array.prototype.some && array.some) {
return array.some(callback);
}
/** @type {number} */
var i = 0;
for (;i < array.length;i++) {
if (callback(array[i], i, array)) {
return true;
}
}
return false;
};
/**
* @param {?} a
* @return {?}
*/
var Fay = function(a) {
/** @type {Array} */
var newArgs = [];
/** @type {number} */
var i = 0;
for (;i < a.length;++i) {
var tmp = a[i];
if (tmp instanceof Array) {
newArgs.push.apply(newArgs, Fay(tmp));
} else {
newArgs.push(tmp);
}
}
return newArgs;
};
/**
* @param {Array} obj
* @param {?} name
* @return {?}
*/
var index = function(obj, name) {
if (Array.prototype.indexOf && obj.indexOf) {
return obj.indexOf(name);
}
/** @type {number} */
var i = 0;
for (;i < obj.length;i++) {
if (obj[i] == name) {
return i;
}
}
return-1;
};
/**
* @param {Array} arr
* @return {?}
*/
var _map = function(arr) {
/** @type {function (?): ?} */
var fn = isButton;
if (Array.prototype.map && arr.map) {
return arr.map(fn);
}
/** @type {Array} */
var ret = [];
/** @type {number} */
var i = 0;
for (;i < arr.length;i++) {
ret.push(fn(arr[i]));
}
return ret;
};
/**
* @param {Array} obj
* @param {Function} iterator
* @return {undefined}
*/
var sortedIndex = function(obj, iterator) {
if (Array.prototype.forEach && obj.forEach) {
obj.forEach(iterator);
} else {
/** @type {number} */
var i = 0;
for (;i < obj.length;i++) {
iterator(obj[i], i, obj);
}
}
};
/**
* @param {Array} path
* @param {number} index
* @param {Function} callback
* @return {?}
*/
var loadImage = function(path, index, callback) {
callback = callback || function() {
return true;
};
/** @type {number} */
index = Math.max(index + 1, 0);
for (;index <= path.length - 1 && !callback(path[index]);++index) {
}
return index <= path.length - 1 ? index : -1;
};
/**
* @param {Array} arr
* @param {number} i
* @param {Function} fn
* @return {?}
*/
var invoke = function(arr, i, fn) {
fn = fn || function() {
return true;
};
/** @type {number} */
i = Math.min(i - 1, arr.length - 1);
for (;0 <= i && !fn(arr[i]);--i) {
}
return 0 <= i ? i : -1;
};
/**
* @param {Array} arr
* @param {?} name
* @return {undefined}
*/
var removeAll = function(arr, name) {
var i = index(arr, name);
if (-1 != i) {
arr.splice(i, 1);
}
};
/**
* @param {Array} items
* @param {number} i
* @param {Function} iterator
* @return {?}
*/
var arrayRemove = function(items, i, iterator) {
if (0 == i) {
return[];
}
/** @type {Array} */
var arr = [];
/** @type {number} */
var index = 0;
for (;index < items.length;index++) {
var item = items[index];
if (arr.length < i) {
arr.push(item);
arr.sort(iterator);
} else {
if (0 < iterator(arr[i - 1], item)) {
arr.pop();
arr.push(item);
arr.sort(iterator);
}
}
}
return arr;
};
/**
* @param {Array} names
* @return {?}
*/
var resolveModule = function(names) {
var arr2 = {};
/** @type {Array} */
var assigns = [];
/** @type {number} */
var ii = 0;
for (;ii < names.length;ii++) {
var vvar = names[ii];
var i = exec(void 0) ? (void 0)(vvar, ii, names) : vvar;
if (!(i in arr2)) {
assigns.push(vvar);
/** @type {number} */
arr2[i] = 1;
}
}
return assigns;
};
/**
* @param {string} reason
* @return {?}
*/
var reject = function(reason) {
var wkw = {};
/** @type {number} */
var i = 0;
for (;i < arguments.length;i++) {
/** @type {number} */
wkw[arguments[i]] = 1;
}
return wkw;
};
/**
* @param {?} object
* @return {?}
*/
var puts = function(object) {
var old = {};
var name;
for (name in object) {
old[name] = object[name];
}
return old;
};
/**
* @param {?} obj
* @param {?} object
* @return {?}
*/
var isObject = function(obj, object) {
if (typeof obj != typeof object) {
return false;
}
if ("object" != typeof obj) {
return obj === object;
}
if (obj instanceof Array) {
if (!(object instanceof Array) || obj.length != object.length) {
return false;
}
/** @type {number} */
var i = 0;
for (;i < obj.length;i++) {
if (!isObject(obj[i], object[i])) {
return false;
}
}
return true;
}
/** @type {number} */
i = 0;
var key;
for (key in obj) {
if (i++, !(key in object && isObject(obj[key], object[key]))) {
return false;
}
}
/** @type {number} */
var last = 0;
for (key in object) {
if (!(key in obj)) {
return false;
}
last++;
}
return i == last;
};
/**
* @param {Object} id
* @return {?}
*/
var scriptLoaded = function(id) {
var name;
for (name in id) {
return false;
}
return true;
};
/**
* @param {?} startOrEnd
* @return {?}
*/
var range = function(startOrEnd) {
/** @type {Array} */
var result = [];
var optgroup;
for (optgroup in startOrEnd) {
result.push(Number(optgroup));
}
return result;
};
/**
* @param {Object} k
* @return {?}
*/
var setVal = function(k) {
/** @type {Array} */
var r = [];
var i;
for (i in k) {
r.push(k[i]);
}
return r;
};
/**
* @param {?} obj
* @return {?}
*/
var transpose = function(obj) {
/** @type {number} */
var transposed = 0;
var prop;
for (prop in obj) {
transposed++;
}
return transposed;
};
/** @type {RegExp} */
var unescaper = /\u00A0/g;
/** @type {RegExp} */
var rclass = /\u200b/g;
/** @type {RegExp} */
var rAt = /\ufeff/g;
/**
* @param {string} target
* @param {string} x
* @return {?}
*/
var compute = function(target, x) {
/** @type {number} */
var id = target.length - x.length;
return 0 <= id && target.indexOf(x, id) == id;
};
/** @type {RegExp} */
var cjsRequireRegExp = /([.*+?^=!:${}()|\[\]\/\\])/g;
/** @type {RegExp} */
var rhtml = /[&<>]/;
/** @type {RegExp} */
var reVar = /\&/g;
/** @type {RegExp} */
var TB = /\</g;
/** @type {RegExp} */
var badChars = /\>/g;
/**
* @param {string} template
* @return {?}
*/
var tmpl = function(template) {
if (!rhtml.test(template)) {
return template;
}
if (-1 != template.indexOf("&")) {
template = template.replace(reVar, "&amp;");
}
if (-1 != template.indexOf("<")) {
template = template.replace(TB, "&lt;");
}
if (-1 != template.indexOf(">")) {
template = template.replace(badChars, "&gt;");
}
return template;
};
/**
* @param {string} text
* @return {?}
*/
var changeDelimiters = function(text) {
return Boolean(text && (5 <= text.length && (128 >= text.length && (-1 != text.indexOf("@") && (-1 != text.indexOf(".") && -1 == text.trim().indexOf(" "))))));
};
/**
* @param {string} str
* @return {?}
*/
var truncate = function(str) {
str = str.trim().replace(rclass, "").replace(rAt, "");
return 0 == str.length;
};
/**
* @param {string} code
* @return {?}
*/
var unescape = function(code) {
code = code.replace(unescaper, " ");
code = code.replace(rclass, "");
return code = code.replace(rAt, "");
};
/**
* @param {string} str
* @param {number} opt_attributes
* @return {?}
*/
var template = function(str, opt_attributes) {
return Array(opt_attributes + 1).join(str);
};
/**
* @param {string} array
* @param {string} obj
* @return {?}
*/
var extend = function(array, obj) {
return 0 == array.lastIndexOf(obj, 0);
};
/**
* @param {RegExp} res
* @param {Range} value
* @return {?}
*/
var isMatch = function(res, value) {
var values = res.exec(value);
return null != values && (0 < values.length && values[0] == value);
};
var gcd;
var paint;
/**
* @param {Function} callback
* @param {number} opt_attributes
* @return {?}
*/
var push = function(callback, opt_attributes) {
return Zg ? 0 : window.setTimeout(function() {
try {
callback();
} catch (e) {
throw logError(e), e;
}
}, opt_attributes);
};
/**
* @param {?} timer
* @return {undefined}
*/
var protectedClearTimeout = function(timer) {
window.clearTimeout(timer);
};
/**
* @param {Function} type
* @param {number} opt_attributes
* @return {?}
*/
var createDom = function(type, opt_attributes) {
return Zg ? 0 : window.setInterval(function() {
try {
type();
} catch (e) {
throw logError(e), e;
}
}, opt_attributes);
};
/** @type {boolean} */
var Zg = false;
/**
* @param {Function} callback
* @return {?}
*/
var finish = function(callback) {
return push(callback, 0);
};
/**
* @param {?} id
* @return {undefined}
*/
var getById = function(id) {
protectedClearTimeout(id);
};
if (window.msSetImmediate) {
finish = bind(window.msSetImmediate, window);
getById = bind(window.msClearImmediate, window);
} else {
if (window.postMessage) {
(function() {
var done = {};
/** @type {boolean} */
var b = false;
/** @type {number} */
var rightId = 0;
/** @type {boolean} */
var d = false;
/**
* @param {Function} callback
* @return {?}
*/
finish = function(callback) {
if (!d) {
addEvent(window, "message", function(data) {
if (data.data && "setImmediate" == data.data.action) {
data = done;
done = {};
/** @type {boolean} */
b = false;
var declarationError;
var key;
for (key in data) {
var label = data[key];
if (label) {
try {
label();
} catch (e) {
logError(e);
declarationError = e;
}
}
}
if (declarationError) {
throw declarationError;
}
}
});
/** @type {boolean} */
d = true;
}
/** @type {number} */
var id = rightId++;
/** @type {Function} */
done[id] = callback;
if (!b) {
/** @type {boolean} */
b = true;
window.postMessage({
action : "setImmediate"
}, location.href);
}
return id;
};
/**
* @param {?} id
* @return {undefined}
*/
getById = function(id) {
/** @type {null} */
done[id] = null;
};
})();
}
}
/** @type {Array} */
var common = [];
(function() {
/** @type {function (this:Window, function (number): ?, (Element|null)=): number} */
var elements = window.requestAnimationFrame || (window.webkitRequestAnimationFrame || (window.mozRequestAnimationFrame || (window.msRequestAnimationFrame || window.oRequestAnimationFrame)));
gcd = elements ? bind(elements, window) : function($sanitize) {
return push(function() {
$sanitize(resetQueues());
}, 16);
};
})();
/**
* @param {Function} callback
* @return {undefined}
*/
var synchronize = function(callback) {
if (!common.length) {
gcd(function(cm) {
var codeSegments = toPaddedString(common);
/** @type {Array} */
common = [];
var declarationError;
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
try {
codeSegments[i](cm);
} catch (e) {
logError(e);
declarationError = e;
}
}
if (declarationError) {
throw declarationError;
}
});
}
common.push(callback);
};
/**
* @param {Function} exec
* @param {number} opt_attributes
* @return {undefined}
*/
var asyncHandler = function(exec, opt_attributes) {
/**
* @return {undefined}
*/
function restoreScript() {
if (!d) {
/** @type {boolean} */
d = true;
protectedClearTimeout(id);
exec();
}
}
/** @type {boolean} */
var d = false;
var id = push(restoreScript, opt_attributes);
synchronize(restoreScript);
};
/** @type {Array} */
var visited = [];
/**
* @return {undefined}
*/
var updateProgress = function() {
var codeSegments = toPaddedString(visited);
/** @type {Array} */
visited = [];
var declarationError;
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
try {
codeSegments[i]();
} catch (e) {
logError(e);
declarationError = e;
}
}
if (declarationError) {
throw declarationError;
}
};
(function() {
var instance = window.MutationObserver || window.WebKitMutationObserver;
if (instance) {
/** @type {MutationObserver} */
instance = new instance(updateProgress);
/** @type {Element} */
var container = document.createElement("input");
instance.observe(container, {
attributes : true
});
/**
* @return {undefined}
*/
paint = function() {
/** @type {boolean} */
container.hidden = !container.hidden;
};
} else {
/**
* @return {undefined}
*/
paint = function() {
finish(updateProgress);
};
}
})();
/**
* @param {Function} obj
* @return {?}
*/
var fold = function(obj) {
if (!visited.length) {
paint();
}
var init = visited.length;
visited.push(obj);
return init;
};
/**
* @param {Function} callback
* @return {?}
*/
var crop = function(callback) {
return delay(callback, function(done) {
return finish(done, true);
});
};
/**
* @param {Function} callback
* @param {number} opt_attributes
* @return {?}
*/
var callLater = function(callback, opt_attributes) {
return delay(callback, function(next_callback) {
return push(next_callback, opt_attributes);
});
};
/**
* @param {Function} func
* @param {Function} definition
* @return {?}
*/
var delay = function(func, definition) {
return function() {
var context = this;
if (!("loop.js.deferredWrapper" in context)) {
/** @type {Array.<?>} */
var args = Array.prototype.slice.call(arguments, 0);
context["loop.js.deferredWrapper"] = definition(function() {
delete context["loop.js.deferredWrapper"];
func.apply(context, args);
});
}
};
};
/** @type {Array} */
var primes = [];
var obj = {};
/**
* @param {string} type
* @param {string} name
* @param {Function} state
* @return {undefined}
*/
var $ = function(type, name, state) {
if (!(type in obj)) {
enableSaving(type);
}
/** @type {Function} */
obj[type][name] = state;
};
/**
* @param {Function} n
* @return {undefined}
*/
var attempt = function(n) {
primes.push(n);
};
/**
* @param {string} message
* @return {?}
*/
var eventCapture = function(message) {
return "blur" == message || ("focus" == message || ("scroll" == message || "error" == message));
};
/**
* @param {Object} object
* @param {string} type
* @param {Function} target
* @return {?}
*/
var addEvent = function(object, type, target) {
type = "transitionend" == type && (attrs && extend(attrs, "webkit")) ? "webkitTransitionEnd" : type;
/** @type {boolean} */
var d = "click" != type;
var handler;
if (object.addEventListener) {
var phase = eventCapture(type);
/**
* @param {?} listener
* @return {undefined}
*/
handler = function(listener) {
if (!inPseudo || !d) {
try {
target.call(this, listener);
} catch (e) {
throw logError(e), e;
}
}
};
object.addEventListener(type, handler, phase);
} else {
/**
* @param {Object} e
* @return {undefined}
*/
handler = function(e) {
if (!inPseudo || "click" == type) {
e = e || window.event;
e.target = e.srcElement || window.document;
try {
target.call(e.target, e);
} catch (ex) {
throw logError(ex), ex;
}
}
};
object.attachEvent("on" + type, handler);
}
return{
tt : object,
Hm : type,
/** @type {function (?): undefined} */
Zp : handler
};
};
/**
* @param {?} event
* @return {undefined}
*/
var removeListener = function(event) {
var element = event.tt;
if (element) {
if (element.removeEventListener) {
element.removeEventListener(event.Hm, event.Zp, eventCapture(event.Hm));
} else {
element.detachEvent("on" + event.Hm, event.Zp);
}
delete event.tt;
delete event.Zp;
} else {
console.warn("Ignoring events.removeListener call for already-removed " + event.Hm + " handler");
}
};
/**
* @param {Object} target
* @param {string} type
* @param {Function} listener
* @return {?}
*/
var addListener = function(target, type, listener) {
var node = addEvent(target, type, function(event) {
removeListener(node);
listener.call(this, event);
});
return node;
};
/**
* @param {Object} nativeEvent
* @return {undefined}
*/
var stopEvent = function(nativeEvent) {
if (nativeEvent.preventDefault) {
nativeEvent.preventDefault();
} else {
/** @type {boolean} */
nativeEvent.returnValue = false;
}
};
/**
* @param {Object} event
* @return {undefined}
*/
var cancelEvent = function(event) {
if (event.stopPropagation) {
event.stopPropagation();
} else {
/** @type {boolean} */
event.cancelBubble = true;
}
/** @type {boolean} */
event["events.js.stopPropagation"] = true;
};
/**
* @param {Object} e
* @return {?}
*/
var fixEvent = function(e) {
return e.charCode ? String.fromCharCode(e.charCode) : "";
};
/** @type {null} */
var _d = null;
/**
* @param {string} type
* @return {undefined}
*/
var enableSaving = function(type) {
obj[type] = {};
if ("submit" != type || "onsubmit" in window.document.body) {
addEvent(window.document.body, type, function(event) {
var element = event.target;
for (;element;element = element.parentNode) {
if (element.nodeType == ELEMENT_NODE) {
var key = element.getAttribute("data-" + type);
if (key) {
var fn = obj[type][key];
if (fn) {
var self = new klass([element]);
_d = {
target : self,
qy : type,
Ky : key
};
key = fn.call(self, event);
/** @type {null} */
_d = null;
if (!key) {
stopEvent(event);
break;
}
if (event["events.js.stopPropagation"]) {
break;
}
}
}
}
}
});
} else {
registerEvents();
}
};
/** @type {boolean} */
var inPseudo = false;
/**
* @return {undefined}
*/
var registerEvents = function() {
addEvent(window.document.body, "focusin", function(oEvent) {
if ("INPUT" == oEvent.target.tagName || "TEXTAREA" == oEvent.target.tagName) {
var element = jQuery(oEvent.target).parent("form");
if (attr(element, "submit")) {
if (!attr(element, "iesubmit")) {
element.setData("iesubmit", "true");
element.addListener("submit", function(e) {
var method = element.data("submit");
if (method = obj.submit[method]) {
if (!method.call(new klass([e.target]), e)) {
/** @type {boolean} */
e.returnValue = false;
}
}
});
}
}
}
});
};
/** @type {number} */
var touchend = 8;
var keys = {
eB : touchend,
CG : 9,
RF : 13,
fG : 16,
xC : 27,
jG : 32,
TA : 37,
VA : 38,
UA : 39,
SA : 40,
NB : 46,
A : 65,
bB : 66,
Iw : 67,
D : 68,
E : 69,
yC : 70,
ZC : 71,
H : 72,
Zw : 73,
GD : 74,
LD : 75,
ks : 76,
M : 77,
GE : 78,
bF : 79,
hF : 80,
zF : 81,
BF : 82,
S : 83,
BG : 84,
kH : 85,
ox : 86,
W : 87,
X : 88,
EH : 89,
Z : 90,
MD : 48,
ND : 49,
OD : 50,
PD : 51,
QD : 52,
RD : 53,
SD : 54,
UD : 55,
VD : 56,
WD : 57,
SE : 96,
TE : 97,
UE : 98,
VE : 99,
WE : 100,
XE : 101,
YE : 102,
ZE : 103,
$E : 104,
aF : 105,
Kw : 188,
rF : 190,
XC : 191,
YC : 192,
XD : 219,
fB : 220,
SF : 221,
iG : 222,
aG : 186,
wC : 187,
nD : 189,
$F : 59,
vC : 107,
mD : 109,
zC : 112,
DC : 113,
EC : 114,
FC : 115,
GC : 116,
HC : 117,
IC : 118,
JC : 119,
KC : 120,
AC : 121,
BC : 122,
CC : 123
};
var pressedKeys = {};
var keyName;
for (keyName in keys) {
/** @type {string} */
pressedKeys[keys[keyName]] = keyName;
}
attempt(function() {
addCharsToCharClass(function(el, d, dataAndEvents) {
if (_d) {
if (dataAndEvents) {
d = _d;
/** @type {null} */
_d = null;
el.current_event_target = toString(d.target.get(), 0, 1);
el.current_event_name = d.qy;
el.current_event_handler = d.Ky;
}
}
});
});
/**
* @return {undefined}
*/
var Socket = function() {
/** @type {Array} */
this.Nf = [];
/** @type {number} */
this.Gs = 0;
/** @type {boolean} */
this.yp = true;
/** @type {Array} */
this.cr = [];
/** @type {Array} */
this.Cp = [];
/**
* @return {undefined}
*/
this.qv = function() {
window.location.reload(true);
};
/** @type {boolean} */
this.Fu = "10.0.2.2" == location.hostname;
/** @type {boolean} */
this.rl = false;
/** @type {string} */
this.tv = "/-/save-diagnostics-report";
/** @type {null} */
this.tr = null;
/** @type {boolean} */
this.Ck = "localhost" == location.hostname;
/** @type {boolean} */
this.Ty = "function" != typeof window.getSelection;
};
/** @type {number} */
var js_init_time_ms = (new Date).getTime();
var knownByType = reject("keyboard_action", "load_document", "unload_document", "save_document", "document_web_socket_update");
attempt(function() {
if (isContentHeight) {
/** @type {number} */
knownByType.input_event = 1;
}
});
var exception = reject("exception", "malformed_table", "stuck_save_in_progress", "unknown_root_container_type", "unbalanced_listen_pause", "io_call_error", "sections_stale", "listen_cursor_decrease", "typing_in_unexpected_section", "new_section_missing_dirty_fields", "pending_entities_after_save", "pending_fields_during_save", "dropped_non_comment_updates", "autocomplete_result_selected_without_context");
var dest = reject("listen_cursor_decrease", "unbalanced_listen_pause", "sections_stale");
/**
* @param {?} e
* @return {undefined}
*/
var logError = function(e) {
var fn = opts;
var err = getCallback(fn);
if (!err || (err.stack != e.stack || err.message != e.message)) {
try {
call(fn, "exception", {
stack : e.stack || "",
message : e.message || ""
});
} catch (ex) {
console.error("Exception during exception recording", ex.message, ex.stack);
console.error("Original exception", e.message, e.stack);
}
}
};
/**
* @param {?} self
* @param {string} type
* @param {?} opt_attributes
* @return {?}
*/
var call = function(self, type, opt_attributes) {
if (self.rl) {
return null;
}
/** @type {boolean} */
self.rl = true;
var cache = {
type : type,
timestamp_ms : now()
};
/** @type {boolean} */
var rangeEnd = cache.type in exception;
/** @type {number} */
var i = 0;
for (;i < self.Cp.length;i++) {
try {
rangeEnd |= self.Cp[i](cache, type in knownByType, rangeEnd);
} catch (g) {
}
}
if (opt_attributes) {
var prop;
for (prop in opt_attributes) {
cache[prop] = opt_attributes[prop];
}
}
self.Nf.push(cache);
if (self.Ty) {
/** @type {boolean} */
rangeEnd = false;
}
if (rangeEnd) {
if ("report_requested" != type) {
/** @type {boolean} */
self.yp = false;
if (!self.gk) {
if (10 > self.Gs) {
self.gk = push(bind(function() {
this.Gs++;
request(this, true);
}, self), !self.Ck || (type in dest || self.Fu) ? 1E3 : 1E4);
}
}
simulate(self, type);
}
}
if (self.yp && 25 < self.Nf.length || 100 < self.Nf.length) {
self.Nf.shift();
}
/** @type {boolean} */
self.rl = false;
return cache;
};
/**
* @param {?} value
* @param {string} e
* @param {Object} opt_attributes
* @return {undefined}
*/
var formatError = function(value, e, opt_attributes) {
opt_attributes = opt_attributes || {};
try {
throw Error("");
} catch (x) {
opt_attributes.stack = x.stack || "";
}
call(value, e, opt_attributes);
};
/**
* @param {Function} spaceName
* @return {undefined}
*/
var gatherStats = function(spaceName) {
opts.cr.push(spaceName);
};
/**
* @param {Function} start
* @return {undefined}
*/
var addCharsToCharClass = function(start) {
opts.Cp.push(start);
};
/**
* @param {string} clicked
* @return {undefined}
*/
Socket.prototype.Tv = function(clicked) {
/** @type {string} */
this.tr = clicked;
};
/**
* @param {?} options
* @param {string} type
* @return {undefined}
*/
var simulate = function(options, type) {
if (!options.Gm) {
options.Gm = get("<div id='diagnostics-errorbar' class='errorbar' contenteditable='false'><button data-click='send-diagnostics-report-errorbar'>Send diagnostics report and reload</button><button data-click='close-diagnostics-errorbar'>Ignore at my own risk</button>Something went wrong, got an unexpected error.</div>");
}
if (!!options.Ck) {
if (!(type in dest)) {
item.append(options.Gm);
}
}
};
/**
* @return {undefined}
*/
var removeCovers = function() {
var fragment = opts;
if (fragment.Gm) {
fragment.Gm.remove();
}
};
/**
* @param {?} fn
* @return {?}
*/
var getCallback = function(fn) {
/** @type {number} */
var MIN_SEARCH_LENGTH = now() - 1E3;
/** @type {number} */
var key = fn.Nf.length - 1;
for (;0 <= key;key--) {
var q = fn.Nf[key];
/** @type {boolean} */
var exception = q.timestamp_ms >= MIN_SEARCH_LENGTH;
if ("exception" == q.type && exception) {
return q;
}
if (!exception) {
break;
}
}
return null;
};
/**
* @return {undefined}
*/
var pollPath = function() {
var suiteView = opts;
if (!suiteView.AA) {
suiteView.AA = addListener(window, "unload", bind(function() {
if (this.gk) {
request(this, true, void 0, true);
}
}, suiteView));
}
};
/**
* @param {?} self
* @param {boolean} recurring
* @param {?} func
* @param {boolean} deepDataAndEvents
* @return {undefined}
*/
var request = function(self, recurring, func, deepDataAndEvents) {
recurring = recurring || false;
if (self.gk) {
protectedClearTimeout(self.gk);
delete self.gk;
}
call(self, "report_requested");
var options = {
events : self.Nf,
page_url : location.href,
silent : recurring,
git_commit_hash : window.kGitCommitHash,
js_init_time_ms : js_init_time_ms
};
if ("performance" in window && ("memory" in window.performance && "usedJSHeapSize" in window.performance.memory)) {
/** @type {(PerformanceMemory|null)} */
var attr = window.performance.memory;
/** @type {number} */
options.js_heap_size_used = attr.usedJSHeapSize;
/** @type {number} */
options.js_heap_size_total = attr.totalJSHeapSize;
/** @type {number} */
options.js_heap_size_limit = attr.jsHeapSizeLimit;
}
/** @type {number} */
attr = 0;
for (;attr < self.cr.length;attr++) {
try {
self.cr[attr](options);
} catch (g) {
}
}
/** @type {Array} */
self.Nf = [];
/** @type {boolean} */
self.yp = true;
if (ci) {
if (func) {
func();
}
} else {
if (self.Fu) {
sendRequest(options);
if (func) {
func();
}
} else {
next(self.tv, {
report : deepMerge(options)
}, function(dataAndEvents) {
if ("diagnostics_report_url" in dataAndEvents) {
console.warn("Diagnostics report URL: " + dataAndEvents.diagnostics_report_url);
}
if (!recurring) {
error("Sent diagnostics report.");
}
console.log("Sent diagnostics report.");
if (func) {
func();
}
}, bind(function() {
if (!recurring) {
error("Could not send diagnostics report.");
}
console.log("Could not send diagnostics report.");
Array.prototype.unshift.apply(this.Nf, options.events);
if (func) {
func();
}
}, self), deepDataAndEvents, function(a) {
try {
/** @type {boolean} */
a.withCredentials = true;
} catch (b) {
}
}, bind(function(tokenRequest) {
if (this.tr) {
tokenRequest.setRequestHeader("Authorization", "Bearer " + this.tr);
}
}, self));
}
}
};
/**
* @param {?} obj1
* @return {?}
*/
var deepMerge = function(obj1) {
/** @type {Array} */
var ancestors = [];
return JSON.stringify(obj1, function(dataAndEvents, node) {
if ("object" == typeof node && null !== node) {
if (-1 != ancestors.indexOf(node)) {
return node instanceof Array ? [] : {};
}
ancestors.push(node);
}
return node instanceof Node ? toString(node, 0, 1) : node;
});
};
/**
* @param {Object} obj2
* @return {undefined}
*/
var sendRequest = function(obj2) {
console.group("Diagnostic report");
var p;
for (p in obj2) {
if ("events" == p) {
var codeSegments = obj2[p];
console.group("Events");
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
console.log(codeSegments[i]);
}
console.groupEnd();
} else {
console.log(p, obj2[p]);
}
}
console.groupEnd();
};
var opts = new Socket;
$("click", "send-diagnostics-report", function() {
request(opts);
return true;
});
$("click", "send-diagnostics-report-errorbar", function() {
removeCovers();
request(opts, false, opts.qv);
return true;
});
$("click", "close-diagnostics-errorbar", function() {
removeCovers();
return true;
});
attempt(function() {
var initialConfig = {
extension : 1,
miscellaneous_bindings : 1,
runtime : 1,
schemaUtils : 1
};
/**
* @param {Object} message
* @param {(Object|string)} name
* @param {?} u
* @return {?}
*/
window.onerror = function(message, name, u) {
if (external && (null === name || extend(name, "resource:/")) || (applyIfNotSet && name in initialConfig || (message && -1 != message.indexOf("stopme is not defined") || message && -1 != message.indexOf("NPObject")))) {
return false;
}
try {
if (window.event) {
if (window.event.error) {
logError(window.event.error);
}
}
a: {
var fn = opts;
var prototype = window.event && window.event.colno ? window.event.colno : 0;
var object = getCallback(fn);
if (!object || (!compute(message, object.message) || "script_url" in object)) {
object = call(fn, "exception");
if (!object) {
break a;
}
/** @type {Object} */
object.message = message;
}
/** @type {(Object|string)} */
object.script_url = name;
object.line_number = u;
object.column_number = prototype;
}
} catch (e) {
console.error("Exception during error handler", e.message, e.stack);
}
return false;
};
});
var a2 = void 0;
/**
* @param {string} id
* @return {?}
*/
var _next = function(id) {
return(id = document.cookie.match("\\b" + id + "=([^;]*)\\b")) ? id[1] : void 0;
};
/**
* @param {string} value
* @param {string} val
* @param {number} i
* @return {undefined}
*/
var startsWith = function(value, val, i) {
/** @type {string} */
value = value + "=" + val + ";path=/;expires=" + (new Date((new Date).getTime() + i)).toUTCString();
/** @type {string} */
val = window.location.hostname;
/** @type {number} */
i = val.lastIndexOf(".");
if (0 < i) {
/** @type {number} */
i = val.lastIndexOf(".", i - 1);
/** @type {string} */
value = 0 < i ? value + (";domain=" + val.substring(i)) : value + (";domain=." + val);
}
/** @type {string} */
document.cookie = value;
};
/**
* @param {Object} event
* @return {undefined}
*/
var onKeyDown = function(event) {
var current = event.target;
if ("FORM" == current.tagName) {
/** @type {number} */
var i = 0;
for (;i < current.elements.length;i++) {
var input = current.elements[i];
if (exec(input.getAttribute("required")) && (!checkElements(input.getAttribute("required")) && !input.value)) {
input.focus();
stopEvent(event);
break;
}
}
}
};
/**
* @return {?}
*/
var getCacheKey = function() {
if (isFunction(a2)) {
/** @type {null} */
a2 = null;
var self = jQuery("script[data-js-client-hash]");
if (!self.empty()) {
a2 = self.data("js-client-hash");
}
}
return a2;
};
/** @type {boolean} */
var ni = true;
/**
* @return {?}
*/
var isFn = function() {
return ni;
};
/** @type {Array} */
var handlers = [];
/**
* @param {?} object
* @return {undefined}
*/
var freeze = function(object) {
handlers.push(object);
};
/**
* @return {undefined}
*/
var completed = function() {
var e = isFn();
/** @type {number} */
var i = 0;
for (;i < handlers.length;i++) {
handlers[i](e);
}
};
/**
* @param {string} path
* @return {?}
*/
var getDirectory = function(path) {
/** @type {Array.<string>} */
var codeSegments = location.search.substring(1).split("&");
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
/** @type {Array.<string>} */
var part = codeSegments[i].split("=", 2);
if (decodeURIComponent(part[0]) == path) {
return decodeURIComponent(part[1]);
}
}
return null;
};
/**
* @param {Object} e
* @return {?}
*/
var isValidFileDrag = function(e) {
return e.dataTransfer.types && (e.dataTransfer.types.indexOf ? -1 != e.dataTransfer.types.indexOf("Files") : e.dataTransfer.types.contains("application/x-moz-file"));
};
(function() {
if ("hidden" in document) {
/**
* @return {?}
*/
isFn = function() {
return!document.hidden;
};
document.addEventListener("visibilitychange", completed, false);
} else {
if ("webkitHidden" in document) {
/**
* @return {?}
*/
isFn = function() {
return!document.webkitHidden;
};
document.addEventListener("webkitvisibilitychange", completed, false);
} else {
if ("mozHidden" in document) {
/**
* @return {?}
*/
isFn = function() {
return!document.mozHidden;
};
document.addEventListener("mozvisibilitychange", completed, false);
} else {
if ("msHidden" in document) {
/**
* @return {?}
*/
isFn = function() {
return!document.msHidden;
};
document.addEventListener("msvisibilitychange", completed, false);
} else {
/**
* @return {undefined}
*/
var ready = function() {
/** @type {boolean} */
ni = true;
completed();
};
/**
* @return {undefined}
*/
var keyDown = function() {
/** @type {boolean} */
ni = false;
completed();
};
if (window.addEventListener) {
window.addEventListener("focus", ready, true);
window.addEventListener("blur", keyDown, true);
} else {
document.attachEvent("onfocusin", ready);
document.attachEvent("onfocusout", keyDown);
}
}
}
}
}
})();
attempt(function() {
/** @type {number} */
var value = -(new Date).getTimezoneOffset();
var cDigit = _next("tz");
if (!(cDigit && parseInt(cDigit, 10) == value)) {
startsWith("tz", value, 315569E5);
}
});
attempt(function() {
if ("onsubmit" in window.document.body) {
addEvent(document.body, "submit", onKeyDown);
} else {
addEvent(window.document.body, "focusin", function(element) {
if ("INPUT" == element.target.tagName || "TEXTAREA" == element.target.tagName) {
element = jQuery(element.target).parent("form");
if (!attr(element, "ierequired")) {
element.setData("ierequired", "true");
element.addListener("submit", onKeyDown);
}
}
});
}
});
attempt(function() {
addEvent(document, "keydown", function(event) {
if (!(event.keyCode != touchend)) {
if (!event.altKey) {
if (!event.metaKey) {
if (!event.ctrlKey) {
if (!("BODY" != event.target.nodeName && "HTML" != event.target.nodeName)) {
stopEvent(event);
}
}
}
}
}
});
});
attempt(function() {
if (window.matchMedia) {
window.matchMedia("(-webkit-min-device-pixel-ratio: 1.5),(min-resolution: 1.5dppx)").addListener(function() {
if ((!exec(navigator.onLine) || navigator.onLine) && "kStylesheetUrls" in window) {
/** @type {number} */
var aname = 1 < window.devicePixelRatio ? 1 : 0;
replace(jQuery("head link[rel=stylesheet]"), createElement("link").setAttribute("rel", "stylesheet").setAttribute("href", kStylesheetUrls[aname]));
}
});
}
});
gatherStats(function(dataAndEvents) {
dataAndEvents.js_client_hash = getCacheKey();
});
append("browser.setJsClientHash", function(a3) {
/** @type {number} */
a2 = a3;
});
/**
* @param {?} elem
* @param {(number|string)} val
* @return {undefined}
*/
var input = function(elem, val) {
/** @type {boolean} */
this.Yf = this.cn = false;
/** @type {null} */
this.sb = null;
this.od = {};
this.oy = elem;
this.ao = val || "title";
/** @type {Array} */
this.bn = [];
};
self = input.prototype;
/**
* @return {undefined}
*/
self.load = function() {
if (!!data.ka) {
if (!this.cn) {
if (!this.Yf) {
/** @type {boolean} */
this.Yf = true;
next(this.oy, {}, bind(this.an, this), bind(function() {
/** @type {boolean} */
this.Yf = false;
}, this));
}
}
}
};
/**
* @param {?} type
* @return {undefined}
*/
self.an = function(type) {
this.Xh(type);
/** @type {number} */
type = 0;
for (;type < this.bn.length;type++) {
this.bn[type]();
}
/** @type {Array} */
this.bn = [];
};
/**
* @param {Object} state
* @return {undefined}
*/
self.Xh = function(state) {
/** @type {boolean} */
this.cn = true;
/** @type {boolean} */
this.Yf = false;
this.sb = new Position(state.index);
this.od = state.objects;
};
/**
* @param {?} d
* @param {?} fn
* @return {undefined}
*/
var nextTick = function(d, fn) {
if (d.cn) {
fn();
} else {
d.bn.push(fn);
}
};
/**
* @param {?} name
* @param {boolean} recurring
* @return {undefined}
*/
self.update = function(name, recurring) {
nextTick(this, bind(function() {
/** @type {boolean} */
var c = false;
if (!(name in this.od)) {
this.od[name] = {};
/** @type {boolean} */
c = true;
}
/** @type {boolean} */
this.od[name] = recurring;
if (c) {
this.sb.add(recurring[this.ao], name);
} else {
this.sb.update(recurring[this.ao], name);
}
}, this));
};
/**
* @param {?} name
* @return {undefined}
*/
self.remove = function(name) {
nextTick(this, bind(function() {
delete this.od[name];
this.sb.remove(name);
}, this));
};
/**
* @param {Function} arr
* @return {undefined}
*/
self.sort = function(arr) {
arr.sort(bind(function(tokens, $) {
var a = tokens[this.ao].toLowerCase();
var b = $[this.ao].toLowerCase();
return a < b ? -1 : a > b ? 1 : 0;
}, this));
};
/** @type {function (): ?} */
self.Jd = tmp;
/** @type {function (): ?} */
self.yg = tmp;
/**
* @param {?} name
* @return {?}
*/
self.Ka = function(name) {
return this.od[name];
};
/**
* @return {undefined}
*/
var Window = function() {
input.call(this, "/-/documents");
};
inherits(Window, input);
self = Window.prototype;
/**
* @param {Object} val
* @return {undefined}
*/
self.Xh = function(val) {
Window.Ga.Xh.call(this, val);
this.Pi = {};
this.Bm = {};
var key;
for (key in this.od) {
val = this.od[key];
/** @type {string} */
this.Pi[val.thread_id] = key;
/** @type {string} */
this.Bm[val.href] = key;
}
};
/**
* @param {?} name
* @param {boolean} recurring
* @return {undefined}
*/
self.update = function(name, recurring) {
var message = this.od[name];
if (message) {
delete this.Pi[message.thread_id];
delete this.Pi[message.href];
}
Window.Ga.update.call(this, name, recurring);
nextTick(this, bind(function() {
var message = this.od[name];
this.Pi[message.thread_id] = name;
this.Bm[message.href] = name;
}, this));
};
/**
* @param {Function} arr
* @return {undefined}
*/
self.sort = function(arr) {
arr.sort(function(self, d) {
var a = self.edited;
var b = d.edited;
if (a != b) {
return a < b ? 1 : -1;
}
a = self.title.toLowerCase();
b = d.title.toLowerCase();
return a < b ? -1 : a > b ? 1 : 0;
});
};
/**
* @param {?} name
* @return {?}
*/
self.Jd = function(name) {
var a = createElement("div", "icon");
var cleanCache = createElement("a", "object-row").setAttribute("href", name.href).setData("id", name.id).append(a).append(createElement("div", "title").ca(name.title)).append(createElement("div", "info").ca(name.info));
switch(this.Ca(name)) {
case 1:
cleanCache.g("document-row");
break;
case 0:
cleanCache.g("thread-row");
if (name.profile_picture_grid_html) {
indexOf(a.g("grid").g("medium-presence-indicator"), name.profile_picture_grid_html);
successCallback(a);
}
;
}
return cleanCache;
};
/**
* @param {?} name
* @return {?}
*/
self.yg = function(name) {
var result = createElement("a", "name-card").append(createElement("span")).setData("click", "open-document").setData("id", name.id).setData("title", name.title).setAttribute("href", name.href);
switch(this.Ca(name)) {
case 1:
result.g("document-card");
break;
case 0:
result.g("thread-card");
}
return result;
};
/**
* @param {number} types
* @return {?}
*/
self.Ca = function(types) {
types = types.type;
return exec(types) ? types : 1;
};
/**
* @return {undefined}
*/
var Response = function() {
input.call(this, "/-/folders");
/** @type {string} */
this.Ds = this.ot = "";
};
inherits(Response, input);
var sorted = {
1 : 0,
2 : 1,
0 : 2
};
self = Response.prototype;
/**
* @param {Function} arr
* @return {undefined}
*/
self.sort = function(arr) {
arr.sort(function(li, d) {
var a = sorted[li.folder_class];
var b = sorted[d.folder_class];
if (a != b) {
return a < b ? -1 : 1;
}
a = li.updated_time;
b = d.updated_time;
if (a != b) {
return a < b ? 1 : -1;
}
a = li.title.toLowerCase();
b = d.title.toLowerCase();
return a < b ? -1 : a > b ? 1 : 0;
});
};
/**
* @param {?} name
* @return {?}
*/
self.Jd = function(name) {
var names = createElement("a", "object-row folder-row").setAttribute("href", "/" + name.id).setData("id", name.id).append(createElement("div", "icon").append(createElement("div", "color")).append(createElement("div", "outline")).append(createElement("div", "badge"))).append(createElement("div", "title").ca(name.title)).append(createElement("div", "info").ca(name.info));
/** @type {Array} */
var res = [];
if (1 == name.folder_type) {
if (1 == name.inherit_mode) {
res.push("restricted");
} else {
res.push("shared");
}
} else {
res.push("private");
}
if (2 == name.folder_class) {
res.push("archive");
}
if (1 == name.folder_class) {
res.push("desktop");
}
if ("color" in name.attributes) {
res.push(name.attributes.color);
}
/** @type {number} */
name = 0;
for (;name < res.length;name++) {
names.g(res[name]);
}
return names;
};
/**
* @param {?} name
* @return {?}
*/
self.yg = function(name) {
return createElement("a", "name-card folder-card").append(createElement("span")).setData("click", "open-folder").setData("id", name.id).setData("title", name.title).setAttribute("href", "/" + name.id);
};
/**
* @return {?}
*/
var objectEqual = function() {
var o = res;
/** @type {Array} */
var requires = [];
var dep;
for (dep in o.od) {
requires.push(o.od[dep]);
}
o.sort(requires);
return requires;
};
/**
* @return {?}
*/
self.Qf = function() {
return this.ot;
};
/**
* @param {?} dataAndEvents
* @return {undefined}
*/
self.yr = function(dataAndEvents) {
this.ot = dataAndEvents;
};
/**
* @return {?}
*/
self.Wi = function() {
return this.Ds;
};
/**
* @param {(Array|string)} dataAndEvents
* @return {undefined}
*/
self.vr = function(dataAndEvents) {
/** @type {(Array|string)} */
this.Ds = dataAndEvents;
};
/**
* @return {undefined}
*/
var JsonWorker = function() {
};
/**
* @param {(Array|string)} results
* @param {(Array|string)} recurring
* @param {number} c
* @return {?}
*/
JsonWorker.prototype.$f = function(results, recurring, c) {
/** @type {number} */
var i = expectationResult;
if (!results.Tc) {
if (recurring.Cb.ng) {
i |= v8;
}
}
results = serialize(res, results.Tc, i);
/** @type {Array} */
recurring = [];
/** @type {number} */
i = 0;
for (;i < results.length && i < c;i++) {
recurring.push(results[i].id);
}
return recurring;
};
attempt(function() {
encodeUriSegment(8, new JsonWorker, function(pkg, recurring) {
_fn(res.yg(res.Ka(pkg)), recurring);
});
});
/**
* @return {undefined}
*/
var Component = function() {
input.call(this, "/-/contacts", "name");
/** @type {null} */
this.ka = null;
/** @type {Array} */
this.kp = [];
this.Ed = new getByIndex(new EcoLanguage);
this.df = {};
/** @type {null} */
this.ko = this.ck = null;
this.ak = {};
this.pk = {};
};
inherits(Component, input);
self = Component.prototype;
/**
* @param {?} context
* @return {undefined}
*/
self.Xh = function(context) {
Component.Ga.Xh.call(this, context);
this.df = context.affinities;
if (this.ka) {
this.update(this.ka.id, this.ka);
}
this.ak = context.chat_thread_ids;
if (this.ck = context.workgroup) {
this.ko = {};
var j = context.workgroup_user_ids;
/** @type {number} */
var i = 0;
for (;i < j.length;i++) {
/** @type {boolean} */
this.ko[j[i]] = true;
}
}
if (i = context.contacts_list) {
j = jQuery(".contacts-list");
if (!j.empty()) {
if (!j.j("loaded")) {
i = get(i);
i.insertBefore(calculate(trim(j)));
j.g("loaded");
expect(i, bind(function(option) {
/** @type {number} */
this.pk[jQuery(option).data("id")] = 1;
}, this));
}
}
if (data.Ed.Xg) {
loaded(context.frequent_contacts, context.other_contacts);
}
}
};
/**
* @param {?} option
* @param {?} value
* @return {undefined}
*/
self.ur = function(option, value) {
this.df[option] = value;
};
/**
* @param {?} name
* @return {?}
*/
var isDirectory = function(name) {
var node = data;
return node.ko && node.Ka(name) ? !node.ko[name] : false;
};
/**
* @param {Object} message
* @return {?}
*/
var doSerialize = function(message) {
var config = data;
return config.ck ? !compute(message.toLowerCase(), "@" + config.ck.domain) : false;
};
/**
* @return {?}
*/
var operation = function() {
var m = data;
return m.ck ? m.ck.name : "";
};
/**
* @param {?} obj
* @param {Array} type
* @return {undefined}
*/
var groupBy = function(obj, type) {
type.sort(bind(function(timeoutKey, $conditional) {
var a = this.df[timeoutKey] || 0;
var b = this.df[$conditional] || 0;
return a < b ? 1 : a > b ? -1 : 0;
}, obj));
};
/**
* @param {boolean} recurring
* @return {undefined}
*/
self.Mv = function(recurring) {
if (recurring.id) {
console.log("User id: " + recurring.id);
/** @type {boolean} */
this.ka = recurring;
if (!this.ka.picture && this.ka.pictures) {
/** @type {number} */
var height = 45 * (window.devicePixelRatio ? window.devicePixelRatio : 1);
var codeSegments = this.ka.pictures;
/** @type {null} */
var node = null;
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var child = codeSegments[i];
if (child.width > height) {
node = child;
}
}
if (!node) {
node = codeSegments[0];
}
this.ka.picture = hash(node.hash);
} else {
this.ka.picture = this.ka.picture.url;
}
this.update(recurring.id, recurring);
if (recurring.employee) {
item.g("employee");
/** @type {boolean} */
bytenew = true;
/** @type {boolean} */
opts.Ck = true;
pollPath();
} else {
/** @type {boolean} */
opts.Ck = "localhost" == location.hostname;
}
if (recurring.rollout_state) {
this.Ar(recurring.rollout_state);
}
/** @type {number} */
i = 0;
for (;i < this.kp.length;i++) {
this.kp[i]();
}
/** @type {Array} */
this.kp = [];
}
};
/**
* @param {string} val2
* @return {undefined}
*/
self.Ar = function(val2) {
this.Ed = new getByIndex(isNaN(val2, EcoLanguage));
};
/**
* @param {?} match
* @return {?}
*/
self.Vi = function(match) {
return this.df[match] || 0;
};
/**
* @param {Function} arr
* @return {undefined}
*/
self.sort = function(arr) {
addNode(this, arr, {});
};
/**
* @param {number} obj
* @param {Object} arr
* @param {?} result
* @return {undefined}
*/
var addNode = function(obj, arr, result) {
arr.sort(bind(function(option, elem) {
if (data.ka) {
if (option.id == data.ka.id) {
return-1;
}
if (elem.id == data.ka.id) {
return 1;
}
}
var a = this.Vi(option.id);
var b = this.Vi(elem.id);
if (a != b) {
return a < b ? 1 : -1;
}
/** @type {boolean} */
a = option.id in result;
if (a != elem.id in result) {
return a ? -1 : 1;
}
a = option.name.toLowerCase();
b = elem.name.toLowerCase();
return a < b ? -1 : a > b ? 1 : 0;
}, obj));
};
/**
* @param {Object} element
* @param {boolean} expectedNumberOfNonCommentArgs
* @param {boolean} dataAndEvents
* @return {?}
*/
var isEventSupported = function(element, expectedNumberOfNonCommentArgs, dataAndEvents) {
if ("null" == element.id) {
return new klass([]);
}
var o = createElement("div", "profile-picture presence").setData("id", element.id).setData("error", "profile-picture").append(createElement("img").setAttribute("src", element.picture));
if (!expectedNumberOfNonCommentArgs) {
o.g("inset");
}
if (!dataAndEvents) {
o.setData("mouseover", "hovercard");
}
if (cache(element.id)) {
o.g("active");
}
return o;
};
/**
* @param {?} name
* @return {?}
*/
self.Jd = function(name) {
var d = createElement("div", "contact-status info").setData("id", name.id).ca(resize(name.id));
d = createElement("a", "object-row contact").setAttribute("href", "/" + name.id).setData("id", name.id).append(createElement("div").append(isEventSupported(name, void 0, true)).append(createElement("div", "title").ca(name.name)).append(d));
if (name = inArray(name)) {
d.g(name);
}
return d;
};
/**
* @param {?} name
* @return {?}
*/
self.yg = function(name) {
var result = createElement("a", "name-card user-card presence").append(createElement("span")).setData("click", "open-chat-tab").setData("mouseover", "hovercard").setData("id", name.id).setData("title", name.first_name).setAttribute("href", "/" + name.id);
if (cache(name.id)) {
result.g("active");
}
return result;
};
/**
* @param {?} records
* @param {Object} target
* @param {string} item
* @param {?} e
* @return {undefined}
*/
var click = function(records, target, item, e) {
item = createElement("div", "object-row contact presence").setData("id", target.id).setData("click", item).append(createElement("div").append(isEventSupported(target, void 0, true)).append(createElement("div", "remove").setData("click", "remove-contact")).append(createElement("div", "title").ca(target.name)).append(createElement("div", "contact-status info").setData("id", target.id).ca(resize(target.id))));
var i = inArray(target);
if (i) {
item.g(i);
}
i = parent(e.find(".contact"));
if (i.empty()) {
text(e, item);
} else {
parseInt(item, i);
}
/** @type {number} */
records.pk[target.id] = 1;
};
/**
* @param {?} name
* @param {boolean} recurring
* @return {undefined}
*/
self.update = function(name, recurring) {
/** @type {boolean} */
var c = !(name in this.od);
Component.Ga.update.call(this, name, recurring);
nextTick(this, bind(function() {
if (c) {
if (name != data.ka.id) {
click(this, this.od[name], "open-chat-thread", jQuery(".contacts-list"));
if (data.Ed.Xg) {
effect(this.od[name]);
}
successCallback();
}
}
if (name == data.ka.id) {
data.ka.seen_signals_usec = recurring.seen_signals_usec;
stop();
}
}, this));
};
/**
* @param {?} name
* @return {undefined}
*/
self.remove = function(name) {
Component.Ga.remove.call(this, name);
delete this.pk[name];
};
/**
* @param {?} name
* @return {?}
*/
self.Ka = function(name) {
return this.ka && this.ka.id == name ? this.ka : Component.Ga.Ka.call(this, name);
};
/**
* @param {?} name
* @return {?}
*/
var removeData = function(name) {
var elem = data;
return(name = elem.ak[name]) ? elem.Ka(name) : null;
};
/**
* @return {undefined}
*/
var Script = function() {
input.call(this, "/-/addresses");
this.df = {};
};
inherits(Script, input);
/**
* @param {Object} data
* @return {undefined}
*/
Script.prototype.Xh = function(data) {
Script.Ga.Xh.call(this, data);
this.df = data.affinities;
data = get(data.html);
var fullOtherName = appendModelPrefix();
var $this = jQuery(".chat-list .address-book .chat-list-section");
if (!$this.empty()) {
/** @type {number} */
var storageKey = 0;
for (;storageKey < fullOtherName && storageKey < data.length();storageKey++) {
$this.get(0).appendChild(data.get(storageKey));
}
if (start($this, ".address-row")) {
jQuery(".chat-list .address-book").show();
}
}
};
/**
* @param {Function} arr
* @return {undefined}
*/
Script.prototype.sort = function(arr) {
arr.sort(bind(function(test, d) {
var a = this.df[test.id] || 0;
var b = this.df[d.id] || 0;
if (a != b) {
return a < b ? 1 : -1;
}
a = test.title.toLowerCase();
b = d.title.toLowerCase();
return a < b ? -1 : a > b ? 1 : 0;
}, this));
};
/**
* @param {?} name
* @return {?}
*/
Script.prototype.Jd = function(name) {
return createElement("a", "object-row address-row").setData("id", name.id).setData("info", name.address).setData("name", name.name).setData("address", name.address).append(createElement("div", "icon")).append(createElement("div", "title").ca(name.title)).append(createElement("div", "info").ca(name.address));
};
/**
* @return {undefined}
*/
var CollectionView = function() {
input.call(this, "/-/imports");
};
inherits(CollectionView, input);
/**
* @param {Function} arr
* @return {undefined}
*/
CollectionView.prototype.sort = function(arr) {
arr.sort(function(self, d) {
var a = self.edited;
var b = d.edited;
if (a != b) {
return a < b ? 1 : -1;
}
a = self.title.toLowerCase();
b = d.title.toLowerCase();
return a < b ? -1 : a > b ? 1 : 0;
});
};
/**
* @param {?} name
* @return {?}
*/
CollectionView.prototype.Jd = function(name) {
return createElement("a", "object-row import-row").setAttribute("href", "/" + name.id).setData("id", name.id).setData("type", name.type).append(createElement("div", "icon")).append(createElement("div", "title").ca(name.title)).append(createElement("div", "info").ca(name.info));
};
/**
* @param {?} name
* @return {?}
*/
CollectionView.prototype.yg = function(name) {
return createElement("a", "name-card import-card").append(createElement("span")).setData("click", "import-file").setData("id", name.id).setData("title", name.title);
};
/**
* @param {?} index
* @return {undefined}
*/
var getByIndex = function(index) {
this.dw = index.Tt();
this.Cu = index.It();
index.Gt();
this.Xg = index.Mt();
this.$z = index.Rt();
this.bA = index.Pp();
};
$("error", "profile-picture", function() {
this.g("error");
return true;
});
var params = new Window;
var res = new Response;
var data = new Component;
var doc = new Script;
var view = new CollectionView;
/**
* @param {number} name
* @return {?}
*/
var validTest = function(name) {
if (11 != name.length) {
return null;
}
/** @type {number} */
name = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_".indexOf(name.charAt(4));
return-1 == name ? null : name % 64;
};
append("db.loadFromServer", function() {
params.load();
res.load();
data.load();
view.load();
if (data.Ed.Xg) {
doc.load();
}
});
append("contacts.setCurrentUser", bind(data.Mv, data));
append("contacts.setRolloutState", bind(data.Ar, data));
append("folders.setDesktopFolderId", bind(res.yr, res));
append("folders.setArchiveFolderId", bind(res.vr, res));
/**
* @return {?}
*/
var onCompletion = function() {
return null === data.ka;
};
/**
* @return {?}
*/
var insertAfter = function() {
return data.ka.anonymous;
};
/**
* @return {?}
*/
var _isFunction = function() {
return actual.Nc();
};
/**
* @return {?}
*/
var setAttribute = function() {
return actual.Nk();
};
/**
* @return {?}
*/
var querySelector = function() {
return onCompletion() || _isFunction() && insertAfter() ? true : !back(0);
};
/**
* @return {?}
*/
var prepend = function() {
return onCompletion() || _isFunction() && insertAfter() ? false : back(5);
};
/**
* @return {?}
*/
var scrollTop = function() {
var el = deepEqual(actual, 22);
return value(el, 0) || value(el, 2);
};
/**
* @param {number} val
* @return {?}
*/
var back = function(val) {
var el = deepEqual(actual, 23);
return value(el, 0) || value(el, val);
};
/**
* @param {Element} name
* @return {?}
*/
var is_identifier = function(name) {
var i = actual;
/** @type {boolean} */
i = i.Nc() != name.Nc() || (i.Nk() != name.Nk() || (i.Aa() != name.Aa() || (!get_mangled(i, 21).wa(get_mangled(name, 21)) || (!sortFunction(deepEqual(i, 22), deepEqual(name, 22)) || !sortFunction(deepEqual(i, 23), deepEqual(name, 23))))));
/** @type {Element} */
actual = name;
return i;
};
var actual = new GameObject;
append("access.initThreadMetadata", function(val2) {
is_identifier(isNaN(val2, GameObject));
});
/** @type {RegExp} */
var old = /^[!"#$%&\'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\u2000-\u206F\u2E00-\u2E7F]+/;
/**
* @param {Node} timestamp
* @return {undefined}
*/
var Position = function(timestamp) {
/** @type {Node} */
this.sb = timestamp;
};
self = Position.prototype;
/**
* @param {string} name
* @return {?}
*/
self.find = function(name) {
name = name.toLowerCase();
/** @type {Array} */
var results = [];
var y = validator(this.sb, [name, []], function(a, b) {
return a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0;
});
for (;y < this.sb.length;y++) {
var array = this.sb[y];
if (0 != array[0].indexOf(name)) {
break;
}
array = array[1];
/** @type {number} */
var index = 0;
for (;index < array.length;index++) {
results.push(array[index]);
}
}
return results;
};
/**
* @param {(Array|string)} name
* @return {?}
*/
self.$f = function(name) {
/** @type {Array} */
var codeSegments = [];
name = name.split(" ");
/** @type {number} */
var i = 0;
for (;i < name.length;i++) {
if (name[i]) {
var result = this.find(name[i]);
if (!result) {
return[];
}
if (0 == i) {
codeSegments = result;
} else {
var arr2 = {};
/** @type {number} */
i = 0;
for (;i < codeSegments.length;i++) {
/** @type {number} */
arr2[codeSegments[i]] = 1;
}
codeSegments = uniq(result, function(i) {
return i in arr2;
});
}
}
}
return codeSegments;
};
/**
* @param {string} type
* @param {number} expectedNumberOfNonCommentArgs
* @return {undefined}
*/
self.add = function(type, expectedNumberOfNonCommentArgs) {
var codeSegments = type.split(/\s+|\//);
var timeMap = {};
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var name = codeSegments[i].toLowerCase().replace(old, "");
if (!(name in timeMap)) {
/** @type {number} */
timeMap[name] = 1;
/** @type {Array} */
var text = [name, [expectedNumberOfNonCommentArgs]];
if (0 == this.sb.length) {
this.sb.push(text);
} else {
var t = validator(this.sb, text, function(a, b) {
return a[0] < b[0] ? -1 : a[0] > b[0] ? 1 : 0;
});
if (t < this.sb.length && this.sb[t][0] == name) {
this.sb[t][1].push(expectedNumberOfNonCommentArgs);
} else {
this.sb.splice(t, 0, text);
}
}
}
}
};
/**
* @param {?} name
* @return {undefined}
*/
self.remove = function(name) {
/** @type {Array} */
var thens = [];
/** @type {number} */
var conditionIndex = 0;
for (;conditionIndex < this.sb.length;conditionIndex++) {
/** @type {Array} */
var rejected = [];
/** @type {number} */
var i = 0;
for (;i < this.sb[conditionIndex][1].length;i++) {
if (this.sb[conditionIndex][1][i] != name) {
rejected.push(this.sb[conditionIndex][1][i]);
}
}
if (0 < rejected.length) {
thens.push([this.sb[conditionIndex][0], rejected]);
}
}
/** @type {Array} */
this.sb = thens;
};
/**
* @param {?} name
* @param {?} optgroup
* @return {undefined}
*/
self.update = function(name, optgroup) {
this.remove(optgroup);
this.add(name, optgroup);
};
var node = {};
/**
* @param {Function} name
* @param {boolean} dataAndEvents
* @return {undefined}
*/
var lookup = function(name, dataAndEvents) {
var a = get("<div class='capture-overlay'></div>");
item.append(a);
getUserMedia().call(navigator, {
video : true
}, function(inplace) {
SourceNode(inplace, name, a, dataAndEvents || false);
}, function(err) {
a.remove();
err = err && "PermissionDeniedError" == err.name ? callback("Camera access was not granted, could not capture image.") : err.name ? callback("Could not capture image, unknown error (%(err)s).", {
err : err.name
}) : callback("Could not capture image, unknown error.");
error(err);
});
};
/**
* @return {?}
*/
var getUserMedia = function() {
return navigator.getUserMedia || (navigator.webkitGetUserMedia || navigator.mozGetUserMedia);
};
/**
* @param {Event} data
* @param {?} options
* @param {?} a
* @param {?} onload
* @return {undefined}
*/
var SourceNode = function(data, options, a, onload) {
/**
* @return {undefined}
*/
function play() {
item.append(l);
var attributes = wrapper.get().videoWidth;
var opt_attributes = wrapper.get().videoHeight;
if (onload) {
wrapper.ja("marginLeft", Math.round(-(attributes - opt_attributes) / 2) + "px");
attributes = opt_attributes;
}
l.gb(attributes).Sa(opt_attributes).ja("marginLeft", Math.round(-attributes / 2) + "px").ja("marginTop", Math.round(-opt_attributes / 2) + "px");
node.sk = l.concat(a);
node.ht = options;
}
/** @type {Event} */
node.Eu = data;
/** @type {string} */
node.Fq = window.URL.createObjectURL(data);
var l = get("<div class='capture-screen' data-mousedown='no-caret-move'><video autoplay></video><div data-click='capture-cancel' class='delete-overlay-button'></div><button data-click='capture-ok'><div></div></button></div>");
var wrapper = l.find("video");
wrapper.setAttribute("src", node.Fq).uh("loadeddata", function() {
if (wrapper.get().videoWidth) {
play();
} else {
var interval = createDom(function() {
/** @type {boolean} */
var b = false;
if (wrapper.get().videoWidth) {
play();
/** @type {boolean} */
b = true;
}
if (b) {
window.clearInterval(interval);
}
}, 100)
}
});
};
/**
* @return {undefined}
*/
var resetContentDetails = function() {
node.Eu.stop();
window.URL.revokeObjectURL(node.Fq);
node.sk.remove();
delete node.Eu;
delete node.Fq;
delete node.ht;
delete node.sk;
};
$("click", "capture-ok", function() {
var data = node.sk.find("video");
var canvas = createElement("canvas").get();
canvas.width = node.sk.width();
canvas.height = node.sk.height();
canvas.getContext("2d").drawImage(data.get(), (canvas.width - data.width()) / 2, 0);
data = canvas.toDataURL("image/jpeg", 0.8);
node.ht(dataURLToBlob(data));
resetContentDetails();
return true;
});
$("click", "capture-cancel", function() {
resetContentDetails();
return true;
});
/**
* @return {undefined}
*/
var _Input = function() {
/** @type {Array} */
this.Fe = [];
/** @type {boolean} */
this.dl = false;
addEvent(document.body, "mousedown", bind(this.qz, this));
addEvent(document.body, "mouseup", bind(this.rz, this));
};
/**
* @param {Function} fn
* @return {undefined}
*/
_Input.prototype.addListener = function(fn) {
this.Fe.push(fn);
};
/**
* @param {Object} deepDataAndEvents
* @return {undefined}
*/
_Input.prototype.qz = function(deepDataAndEvents) {
if (0 == deepDataAndEvents.button) {
var dl = this.dl;
/** @type {boolean} */
this.dl = true;
if (!dl) {
this.Dk(true, deepDataAndEvents);
}
}
};
/**
* @param {?} deepDataAndEvents
* @return {undefined}
*/
_Input.prototype.rz = function(deepDataAndEvents) {
var dl = this.dl;
/** @type {boolean} */
this.dl = false;
if (dl) {
this.Dk(false, deepDataAndEvents);
}
};
/**
* @param {boolean} recurring
* @param {?} deepDataAndEvents
* @return {undefined}
*/
_Input.prototype.Dk = function(recurring, deepDataAndEvents) {
/** @type {number} */
var conditionIndex = 0;
for (;conditionIndex < this.Fe.length;conditionIndex++) {
this.Fe[conditionIndex](recurring, deepDataAndEvents);
}
};
var resp = new _Input;
/** @type {boolean} */
var isTouch = "Notification" in window;
/** @type {boolean} */
var isWebkit = "webkitNotifications" in window;
var timeMap = {};
/**
* @param {?} callback
* @return {undefined}
*/
var requestPermission = function(callback) {
if (isTouch) {
Notification.requestPermission(function(dataAndEvents) {
if ("granted" == dataAndEvents) {
callback();
}
});
} else {
if (isWebkit) {
window.webkitNotifications.requestPermission(function() {
if (0 == window.webkitNotifications.checkPermission()) {
callback();
}
});
}
}
};
/**
* @param {?} name
* @param {string} title
* @param {string} icon
* @param {Object} content
* @return {?}
*/
var html5Notify = function(name, title, icon, content) {
var notification;
if (isTouch) {
/** @type {Notification} */
notification = new Notification(title, {
tag : name,
icon : icon,
body : content
});
} else {
if (isWebkit) {
/** @type {(Notification|null)} */
notification = window.webkitNotifications.createNotification(icon, title, content);
notification.replaceId = name;
notification.show();
}
}
if (!notification) {
return null;
}
timeMap[name] = notification;
/**
* @return {undefined}
*/
notification.onclose = function() {
delete timeMap[name];
};
return notification;
};
/**
* @param {?} name
* @return {undefined}
*/
var layer = function(name) {
if (name in timeMap) {
timeMap[name].close();
}
};
/**
* @param {string} selector
* @return {?}
*/
var jQuery = function(selector) {
var doc;
if (!doc) {
/** @type {Document} */
doc = window.document;
}
return selector.nodeType ? new klass([selector]) : new klass(doc.querySelectorAll(selector));
};
/** @type {Array} */
var vendors = ["", "webkit", "moz", "ms", "o"];
/**
* @param {string} data
* @return {?}
*/
var get = function(data) {
/** @type {Element} */
var el = document.createElement("div");
/** @type {string} */
el.innerHTML = data;
/** @type {Array} */
data = [];
for (;el.firstChild;) {
data.push(el.removeChild(el.firstChild));
}
return new klass(data);
};
/**
* @param {Array} html
* @return {?}
*/
var createAndInsertIframeForContent = function(html) {
/** @type {(Selection|null)} */
var s = window.getSelection();
var range;
if (s) {
if (0 < s.rangeCount) {
/** @type {(Range|null)} */
range = s.getRangeAt(0);
}
}
s = createElement("iframe");
s.setAttribute("sandbox", "allow-same-origin");
s.ua();
item.append(s);
var doc = s.get().contentWindow.document;
doc.open();
doc.write(html);
doc.close();
s.remove();
if (s = window.getSelection()) {
if (0 == s.rangeCount) {
if (range) {
s.addRange(range);
}
}
}
return new klass([doc.body]);
};
/**
* @param {string} name
* @param {string} type
* @return {?}
*/
var createElement = function(name, type) {
/** @type {Element} */
var elem = document.createElement(name);
if (type) {
/** @type {string} */
elem.className = type;
}
return new klass([elem]);
};
/**
* @param {string} string
* @return {?}
*/
var apply = function(string) {
return new klass([document.createTextNode(string)]);
};
var fields = {};
/** @type {RegExp} */
var rmultiDash = /([A-Z])/g;
/**
* @param {string} key
* @return {?}
*/
var camelize = function(key) {
var value = fields[key];
if (value) {
return value;
}
value = key.replace(rmultiDash, "-$1").toLowerCase();
/** @type {number} */
var i = 0;
for (;i < vendors.length;i++) {
var name = vendors[i];
if (name && value.substr(0, name.length) == name) {
return fields[key] = "-" + value;
}
}
return fields[key] = value;
};
var methodName = void 0;
/**
* @param {Object} element
* @param {?} selector
* @return {?}
*/
var _query = function(element, selector) {
if (isFunction(methodName)) {
/** @type {null} */
methodName = null;
/** @type {number} */
var i = 0;
for (;i < vendors.length;i++) {
var v = vendors[i];
/** @type {string} */
v = (v ? v + "M" : v + "m") + "atchesSelector";
if (v in window.document.documentElement) {
/** @type {string} */
methodName = v;
break;
}
}
}
if (methodName) {
return element[methodName] ? element[methodName](selector) : false;
}
v = (element.parentNode || document).querySelectorAll(selector);
/** @type {number} */
i = 0;
for (;i < v.length;i++) {
if (v[i] == element) {
return true;
}
}
return false;
};
var values = {};
/**
* @param {Object} ast
* @return {undefined}
*/
var killEvent = function(ast) {
if (!ast.empty()) {
var key = pred(ast);
var value = values[key];
if (!value) {
value = {
ji : ast.ji(),
kr : 0
};
values[key] = value;
}
value.kr++;
}
};
/**
* @param {Object} ast
* @return {undefined}
*/
var warn_unreachable = function(ast) {
if (!ast.empty()) {
var v = pred(ast);
var value = values[v];
value.kr--;
if (!value.kr) {
delete values[v];
if (20 >= value.ji) {
appendTo(ast, value.ji);
}
}
}
};
/** @type {number} */
var ELEMENT_NODE = 1;
/** @type {number} */
var SELECT = 3;
/**
* @param {Array} obj
* @return {undefined}
*/
var klass = function(obj) {
if (obj instanceof klass) {
obj = obj.q;
} else {
if (obj instanceof NodeList) {
/** @type {Array} */
var self = [];
/** @type {number} */
var i = 0;
for (;i < obj.length;i++) {
self.push(obj[i]);
}
/** @type {Array} */
obj = self;
}
}
/** @type {Array} */
this.q = obj;
};
/** @type {number} */
var dk = 0;
/**
* @param {Object} key
* @return {?}
*/
var pred = function(key) {
key = key.get();
if (!key["dom.js.id"]) {
/** @type {number} */
key["dom.js.id"] = ++dk;
}
return key["dom.js.id"];
};
/**
* @param {?} e
* @param {Function} func
* @return {undefined}
*/
var expect = function(e, func) {
/** @type {number} */
var i = 0;
for (;i < e.q.length;i++) {
var deferred = e.q[i];
if (false === func.call(deferred, deferred, i)) {
break;
}
}
};
self = klass.prototype;
/**
* @return {?}
*/
self.length = function() {
return this.q.length;
};
/**
* @return {?}
*/
self.empty = function() {
return 0 == this.q.length;
};
/**
* @param {?} v02
* @return {?}
*/
self.concat = function(v02) {
var target = toPaddedString(this.q);
/** @type {number} */
var i = 0;
for (;i < arguments.length;i++) {
var that = arguments[i];
if (that instanceof klass) {
target = target.concat(that.q);
} else {
target.push(that);
}
}
return new klass(target);
};
/**
* @param {string} name
* @return {?}
*/
self.find = function(name) {
/** @type {Array} */
var opts = [];
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var c = this.q[i];
if (c.nodeType != SELECT) {
c = c.querySelectorAll(name);
/** @type {number} */
var k = 0;
for (;k < c.length;k++) {
opts.push(c[k]);
}
}
}
return new klass(opts);
};
/**
* @param {?} obj
* @param {string} node
* @return {?}
*/
var start = function(obj, node) {
/** @type {number} */
var i = 0;
for (;i < obj.q.length;i++) {
var element = obj.q[i];
if (element.nodeType != SELECT && element.querySelector(node)) {
return true;
}
}
return false;
};
/**
* @param {?} expr
* @return {?}
*/
self.matches = function(expr) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (_query(this.q[i], expr)) {
return true;
}
}
return false;
};
/**
* @param {string} selector
* @return {?}
*/
self.filter = function(selector) {
/** @type {Array} */
var options = [];
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (_query(this.q[i], selector)) {
options.push(this.q[i]);
}
}
return new klass(options);
};
/**
* @param {string} child
* @return {?}
*/
self.parent = function(child) {
/** @type {Array} */
var eventPath = [];
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var cur = this.q[i].parentNode;
for (;cur;cur = cur.parentNode) {
if (cur.nodeType == ELEMENT_NODE) {
if (child) {
if (_query(cur, child)) {
eventPath.push(cur);
break;
}
} else {
eventPath.push(cur);
break;
}
}
}
}
return new klass(eventPath);
};
/**
* @param {?} value
* @return {?}
*/
var trim = function(value) {
/** @type {Array} */
var eventPath = [];
/** @type {number} */
var i = 0;
for (;i < value.q.length;i++) {
var cur = value.q[i].firstChild;
for (;null != cur;cur = cur.nextSibling) {
eventPath.push(cur);
}
}
return new klass(eventPath);
};
/**
* @param {?} a
* @return {?}
*/
var parent = function(a) {
return 2 > a.length() ? a : new klass([a.q[a.q.length - 1]]);
};
/**
* @param {Object} e
* @return {?}
*/
var calculate = function(e) {
return e.empty() ? e : new klass([e.q[0]]);
};
/**
* @param {string} name
* @return {?}
*/
self.g = function(name) {
/** @type {number} */
var k = 0;
for (;k < this.q.length;k++) {
var cs = this.q[k];
var classes = cs.className.split(" ");
/** @type {boolean} */
var e = false;
/** @type {number} */
var i = 0;
for (;i < classes.length;i++) {
if (classes[i] == name) {
/** @type {boolean} */
e = true;
break;
}
}
if (!e) {
classes.push(name);
cs.className = classes.join(" ");
}
}
return this;
};
/**
* @param {string} name
* @return {?}
*/
self.tz = function(name) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var item = this.q[i];
if (item.classList) {
item.classList.add(name);
}
}
return this;
};
/**
* @param {string} name
* @return {?}
*/
self.k = function(name) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var stat = this.q[i];
var classes = stat.className.split(" ");
/** @type {Array} */
var results = [];
/** @type {number} */
var index = 0;
for (;index < classes.length;index++) {
if (classes[index] != name) {
results.push(classes[index]);
}
}
/** @type {string} */
stat.className = results.join(" ");
}
return this;
};
/**
* @param {?} optgroup
* @return {?}
*/
self.vz = function(optgroup) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var elt = this.q[i];
if (elt.classList) {
elt.classList.remove(optgroup);
}
}
return this;
};
/**
* @param {RegExp} match
* @return {?}
*/
self.$q = function(match) {
/** @type {number} */
var k = 0;
for (;k < this.q.length;k++) {
var cs = this.q[k];
var stack = cs.className.split(" ");
/** @type {Array} */
var include = [];
/** @type {number} */
var i = 0;
for (;i < stack.length;i++) {
if (!match.test(stack[i])) {
include.push(stack[i]);
}
}
/** @type {string} */
cs.className = include.join(" ");
}
return this;
};
/**
* @param {RegExp} rneedsContext
* @return {?}
*/
self.wz = function(rneedsContext) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var tile = this.q[i];
if (tile.classList) {
/** @type {number} */
var indexN10148 = 0;
for (;indexN10148 < tile.classList.length;indexN10148++) {
var optgroup = tile.classList.item(indexN10148);
if (rneedsContext.test(optgroup)) {
tile.classList.remove(optgroup);
}
}
}
}
return this;
};
/**
* @param {string} name
* @return {?}
*/
self.j = function(name) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (this.q[i].className) {
var excludes = this.q[i].className.split(" ");
/** @type {number} */
var j = 0;
for (;j < excludes.length;j++) {
if (excludes[j] == name) {
return true;
}
}
}
}
return false;
};
/**
* @param {string} name
* @return {?}
*/
self.uz = function(name) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (this.q[i].classList && this.q[i].classList.contains(name)) {
return true;
}
}
return false;
};
if ("classList" in document.createElement("p")) {
/** @type {function (string): ?} */
klass.prototype.g = klass.prototype.tz;
/** @type {function (?): ?} */
klass.prototype.k = klass.prototype.vz;
/** @type {function (RegExp): ?} */
klass.prototype.$q = klass.prototype.wz;
/** @type {function (string): ?} */
klass.prototype.j = klass.prototype.uz;
}
/**
* @param {Object} val
* @param {string} name
* @return {undefined}
*/
var removeAttr = function(val, name) {
if (val.j(name)) {
val.k(name);
} else {
val.g(name);
}
};
/**
* @param {?} value
* @param {string} type
* @param {boolean} name
* @return {?}
*/
var addClass = function(value, type, name) {
return name ? value.g(type) : value.k(type);
};
self = klass.prototype;
/**
* @param {?} name
* @return {?}
*/
self.getAttribute = function(name) {
return this.empty() ? null : this.get().getAttribute(name);
};
/**
* @param {string} key
* @param {?} name
* @return {?}
*/
self.setAttribute = function(key, name) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
this.q[i].setAttribute(key, name);
}
return this;
};
/**
* @param {string} attribute
* @return {?}
*/
self.hasAttribute = function(attribute) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (this.q[i].hasAttribute(attribute)) {
return true;
}
}
return false;
};
/**
* @param {string} attrName
* @return {?}
*/
self.removeAttribute = function(attrName) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
this.q[i].removeAttribute(attrName);
}
return this;
};
/**
* @param {?} item
* @return {?}
*/
var removeChild = function(item) {
/** @type {number} */
var i = 0;
for (;i < item.q.length;i++) {
var elt = item.q[i];
for (;elt.firstChild;) {
elt.removeChild(elt.firstChild);
}
}
return item;
};
/**
* @param {Object} value
* @return {?}
*/
var arrayContains = function(value) {
/** @type {number} */
var i = 0;
for (;i < value.q.length;i++) {
if (value.q[i].firstChild) {
return true;
}
}
return false;
};
/**
* @return {?}
*/
self.normalize = function() {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
this.q[i].normalize();
}
return this;
};
/**
* @param {?} v02
* @return {?}
*/
self.ca = function(v02) {
removeChild(this);
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
this.q[i].appendChild(document.createTextNode(v02));
}
return this;
};
/**
* @return {?}
*/
self.text = function() {
/** @type {string} */
var text = "";
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var node = this.q[i];
if (node.textContent) {
text += node.textContent;
} else {
if (node.nodeType == SELECT) {
text += node.data;
}
}
}
return text;
};
/**
* @param {Object} e
* @param {string} prefix
* @return {?}
*/
var _forEach = function(e, prefix) {
prefix = prefix || "";
/** @type {Array} */
var result = [];
/** @type {number} */
var i = 0;
for (;i < e.q.length;i++) {
var node = e.q[i];
if (node.innerText) {
result.push(node.innerText);
} else {
if (node.textContent) {
console.warn("innerText not present, falling back on textContent");
result.push(node.textContent);
} else {
if (node.nodeType == SELECT) {
result.push(node.data);
}
}
}
}
return result.join(prefix);
};
/**
* @param {Object} el
* @return {?}
*/
var check = function(el) {
el = el.ya();
var cur = trim(el);
if (!(1 != cur.length())) {
if (!getComputedStyle(cur)) {
el = cur;
}
}
expect(el, function() {
var p = jQuery(this).find("li");
expect(p, function() {
if (!parent(p).wa(jQuery(this))) {
jQuery(this).append(apply("\n"));
}
});
});
expect(el.find("th, td"), function() {
if (this.nextSibling) {
jQuery(this).append(apply("\t"));
} else {
jQuery(this).append(apply("\n"));
}
});
expect(el.find("b"), function() {
text(jQuery(this), apply("**")).append(apply("**"));
});
expect(el.find("i"), function() {
text(jQuery(this), apply("*")).append(apply("*"));
});
expect(el.find("u"), function() {
text(jQuery(this), apply("_")).append(apply("_"));
});
expect(el.find("li"), function() {
/** @type {number} */
var buffer = 0;
var p = this.parentNode;
for (;p;) {
if (p.tagName == this.parentNode.tagName) {
buffer++;
}
p = p.parentNode;
}
var value = template(" ", buffer - 1);
expect(jQuery(this).find("br"), function() {
replace(jQuery(this), apply("\n" + value + " "));
});
if (this.parentNode && "OL" == this.parentNode.tagName) {
/** @type {number} */
buffer = 1;
p = this.previousSibling;
for (;p;) {
if ("LI" == p.tagName) {
buffer++;
}
p = p.previousSibling;
}
value += buffer + ". ";
} else {
value += "* ";
}
text(jQuery(this), apply(value));
});
expect(el.find("h1"), function() {
text(jQuery(this), apply("# "));
});
expect(el.find("h2"), function() {
text(jQuery(this), apply("## "));
});
expect(el.find("h3"), function() {
text(jQuery(this), apply("### "));
});
/** @type {number} */
cur = 0;
for (;cur < el.length();++cur) {
var c = jQuery(el.get(cur)).find("h1,h2,h3,p,ol,ul,table,pre");
if (!c.empty() && (write(c, "pre") && text(c, apply("```\n")).append(apply("\n```")), c.append(apply("\n")), write(c, "table") || c.append(apply("\n")), 0 != cur)) {
var $this = jQuery(el.get(cur - 1));
if (!$this.empty()) {
if (!start($this, "h1,h2,h3,p,ol,ul,table,pre")) {
text(c, apply("\n"));
}
}
}
}
expect(el.find("a"), function() {
var href = jQuery(this).text();
if (href != this.href) {
jQuery(this).ca("[" + href + "](" + this.href + ")");
}
});
expect(el.find("img"), function() {
jQuery(this).ca("[Image: " + this.src + "]");
});
expect(el.find("br"), function() {
replace(jQuery(this), apply("\n"));
});
return _forEach(el, "");
};
/**
* @param {?} name
* @return {?}
*/
self.data = function(name) {
return this.getAttribute("data-" + name);
};
/**
* @param {?} parent
* @param {?} optgroup
* @return {?}
*/
var assertEquals = function(parent, optgroup) {
return parseInt(parent.data(optgroup), 10);
};
/**
* @param {Object} element
* @param {string} name
* @return {?}
*/
var attr = function(element, name) {
return element.hasAttribute("data-" + name);
};
/**
* @param {string} type
* @param {string} name
* @return {?}
*/
self.setData = function(type, name) {
return this.setAttribute("data-" + type, name);
};
/**
* @param {Object} node
* @param {string} name
* @return {?}
*/
var eventType = function(node, name) {
return node.removeAttribute("data-" + name);
};
/**
* @param {(number|string)} value
* @param {string} val
* @return {?}
*/
self.ja = function(value, val) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
/** @type {string} */
this.q[i].style[value] = val;
}
return this;
};
/**
* @param {?} element
* @param {?} opt_attributes
* @return {?}
*/
var setStyle = function(element, opt_attributes) {
var name;
for (name in opt_attributes) {
var ref = opt_attributes[name];
/** @type {number} */
var i = 0;
for (;i < element.q.length;i++) {
element.q[i].style[name] = ref;
}
}
return element;
};
/**
* @param {(number|string)} p
* @return {?}
*/
self.Zh = function(p) {
p = camelize(p);
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (value(this.q[i].style, p)) {
return true;
}
}
return false;
};
/**
* @param {?} value
* @param {string} prop
* @return {?}
*/
var css = function(value, prop) {
prop = camelize(prop);
/** @type {number} */
var i = 0;
for (;i < value.q.length;i++) {
value.q[i].style.removeProperty(prop);
}
return value;
};
/**
* @param {?} e
* @return {?}
*/
var renderBody = function(e) {
/** @type {number} */
var i = 0;
for (;i < e.q.length;i++) {
var style = e.q[i].style;
for (;0 < style.length;) {
style.removeProperty(style.item(0));
}
}
return e;
};
/**
* @param {Object} result
* @param {Object} e
* @return {?}
*/
var flattenTo = function(result, e) {
var results = e.q[0];
if (results) {
/** @type {number} */
var i = 0;
for (;i < result.q.length;i++) {
var el = result.q[i];
/** @type {number} */
var j = 0;
for (;j < results.style.length;j++) {
var t = results.style.item(j);
el.style[t] = results.style[t];
}
}
}
return result;
};
/**
* @return {?}
*/
self.blur = function() {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var field = this.q[i];
if (field.blur) {
field.blur();
}
}
return this;
};
/**
* @return {?}
*/
self.focus = function() {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var temp = this.q[i];
if (temp.focus) {
temp.focus();
}
}
return this;
};
/**
* @param {?} s
* @param {?} item
* @return {?}
*/
var text = function(s, item) {
var cell = s.q[0];
if (cell) {
/** @type {number} */
var i = 0;
for (;i < item.q.length;i++) {
var fragment = item.q[i];
if (cell.firstChild) {
cell.insertBefore(fragment, cell.firstChild);
} else {
cell.appendChild(fragment);
}
}
}
return s;
};
/**
* @param {?} data
* @return {?}
*/
self.append = function(data) {
var id = this.q[0];
if (id) {
/** @type {number} */
var i = 0;
for (;i < data.q.length;i++) {
id.appendChild(data.q[i]);
}
}
return this;
};
/**
* @param {?} a
* @return {?}
*/
self.insertBefore = function(a) {
if (a = a.q[0]) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var node = this.q[i];
if (a.previousSibling != node) {
a.parentNode.insertBefore(node, a);
}
}
}
return this;
};
/**
* @param {Object} a
* @param {?} value
* @return {?}
*/
var parseInt = function(a, value) {
var element = value.q[0];
if (element) {
/** @type {number} */
var i = 0;
for (;i < a.q.length;i++) {
var parent = a.q[i];
if (element.nextSibling) {
if (element.nextSibling != parent) {
element.parentNode.insertBefore(parent, element.nextSibling);
}
} else {
if (parent.previousSibling != element) {
element.parentNode.appendChild(parent);
}
}
}
}
return a;
};
/**
* @param {Object} e
* @return {?}
*/
self.Pg = function(e) {
if (e.empty() || this.empty()) {
return false;
}
e = e.get().previousSibling;
for (;null != e;e = e.previousSibling) {
if (e == this.get()) {
return true;
}
}
return false;
};
/**
* @param {?} obj
* @param {?} data
* @return {undefined}
*/
var replace = function(obj, data) {
/** @type {number} */
var t = Math.min(obj.q.length, data.q.length);
if (t) {
/** @type {boolean} */
var n = true;
/** @type {number} */
var i = 0;
for (;i < t;i++) {
if (!obj.q[i].parentNode) {
/** @type {boolean} */
n = false;
break;
}
}
if (n) {
/** @type {number} */
i = 0;
for (;i < t;i++) {
obj.q[i].parentNode.replaceChild(data.q[i], obj.q[i]);
}
} else {
/** @type {number} */
t = 0;
}
}
if (t) {
i = data.q[t - 1];
n = i.parentNode;
var a = i.nextSibling;
/** @type {number} */
i = t;
for (;i < data.q.length;i++) {
n.insertBefore(data.q[i], a);
}
/** @type {number} */
i = t;
for (;i < obj.q.length;i++) {
t = obj.q[i];
if (t.parentNode) {
t.parentNode.removeChild(t);
}
}
} else {
data.insertBefore(obj);
obj.remove();
}
};
/**
* @return {?}
*/
self.next = function() {
/** @type {Array} */
var eventPath = [];
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var cur = this.q[i].nextSibling;
if (cur) {
eventPath.push(cur);
}
}
return new klass(eventPath);
};
/**
* @param {?} cur
* @return {?}
*/
var sibling = function(cur) {
/** @type {Array} */
var rule = [];
/** @type {number} */
var i = 0;
for (;i < cur.q.length;i++) {
var line = cur.q[i];
for (;;) {
if (line = line.nextSibling) {
rule.push(line);
} else {
break;
}
}
}
return new klass(rule);
};
/**
* @param {Object} b
* @return {?}
*/
var l = function(b) {
/** @type {Array} */
var eventPath = [];
/** @type {number} */
var i = 0;
for (;i < b.q.length;i++) {
var cur = b.q[i].previousSibling;
if (cur) {
eventPath.push(cur);
}
}
return new klass(eventPath);
};
/**
* @param {Object} name
* @param {number} suppressEvents
* @return {?}
*/
var appendChild = function(name, suppressEvents) {
/** @type {number} */
var i = 0;
for (;i < name.q.length;i++) {
if (name.q[i].nodeType == suppressEvents) {
return true;
}
}
return false;
};
/**
* @param {Object} node
* @param {string} name
* @return {?}
*/
var write = function(node, name) {
name = name.toUpperCase();
/** @type {number} */
var i = 0;
var element;
for (;element = node.q[i];i++) {
if (element.nodeType == ELEMENT_NODE && element.nodeName == name) {
return true;
}
}
return false;
};
/**
* @param {number} key
* @return {?}
*/
self.get = function(key) {
key = key || 0;
return key >= this.q.length ? null : this.q[key];
};
/**
* @return {?}
*/
self.show = function() {
css(this, "display");
this.k("explicitlyhidden");
if ("none" == this.style("display")) {
this.ja("display", "block");
}
return this;
};
/**
* @return {?}
*/
self.ua = function() {
/** @type {boolean} */
var a = true;
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
a &= jQuery(this.q[i]).j("explicitlyhidden");
}
if (a) {
return this;
}
this.g("explicitlyhidden");
return this.ja("display", "none");
};
/**
* @return {?}
*/
self.Jb = function() {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var node = this.q[i];
if ("none" == node.style.display) {
return false;
}
if (node.currentStyle) {
if ("none" == node.currentStyle.display) {
return false;
}
} else {
if (window.getComputedStyle && "none" == document.defaultView.getComputedStyle(node, null).display) {
return false;
}
}
}
return true;
};
/**
* @return {?}
*/
self.remove = function() {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var t = this.q[i];
if (t.parentNode) {
t.parentNode.removeChild(t);
}
}
return this;
};
/**
* @param {Object} el
* @return {?}
*/
var getElementById = function(el) {
return(el = el.get()) ? document.documentElement.contains(el) : false;
};
/**
* @return {?}
*/
self.disable = function() {
return this.setAttribute("disabled", "disabled");
};
/**
* @return {?}
*/
self.enable = function() {
return this.removeAttribute("disabled");
};
/**
* @return {?}
*/
self.clear = function() {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var elem = this.q[i];
if ("TEXTAREA" == elem.tagName) {
for (;elem.firstChild;) {
elem.removeChild(elem.firstChild);
}
/** @type {string} */
elem.value = "";
} else {
if ("INPUT" == elem.tagName) {
if ("hidden" != elem.type) {
/** @type {string} */
elem.value = "";
}
}
}
}
return this;
};
/**
* @return {?}
*/
self.value = function() {
return this.empty() ? null : this.get().value;
};
/**
* @param {?} value
* @return {?}
*/
self.af = function(value) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
this.q[i].value = value;
}
return this;
};
/**
* @param {Function} type
* @param {Function} handler
* @return {?}
*/
self.addListener = function(type, handler) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
addEvent(this.q[i], type, handler);
}
return this;
};
/**
* @param {string} type
* @param {Function} opt_capt
* @return {?}
*/
self.uh = function(type, opt_capt) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
addListener(this.q[i], type, opt_capt);
}
return this;
};
/**
* @param {?} self
* @param {Function} callback
* @return {undefined}
*/
var off = function(self, callback) {
if (getObject()) {
var expr = self.transitionDuration();
if (expr && self.q.length) {
/** @type {boolean} */
var d = false;
var id = push(function() {
if (!d) {
removeListener(listener);
/** @type {boolean} */
d = true;
callback();
}
}, 2E3 * expr);
var listener = addListener(self.q[0], "transitionend", function() {
if (!d) {
protectedClearTimeout(id);
/** @type {boolean} */
d = true;
callback();
}
});
} else {
self.uh("transitionend", callback);
}
} else {
callback();
}
};
/**
* @return {?}
*/
self.height = function() {
return this.empty() ? 0 : this.get().offsetHeight;
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.Sa = function(opt_attributes) {
return this.ja("height", opt_attributes + "px");
};
/**
* @return {?}
*/
self.width = function() {
return this.empty() ? 0 : this.get().offsetWidth;
};
/**
* @param {number} opt_attributes
* @return {?}
*/
self.gb = function(opt_attributes) {
return this.ja("width", opt_attributes + "px");
};
/**
* @param {?} $elem
* @param {number} val
* @return {?}
*/
var val = function($elem, val) {
return $elem.ja("top", val + "px");
};
/**
* @param {?} $this
* @param {number} recurring
* @return {?}
*/
var runCallbacks = function($this, recurring) {
return $this.ja("bottom", recurring + "px");
};
/**
* @param {?} node
* @param {number} x
* @return {?}
*/
var setSize = function(node, x) {
return node.ja("left", x + "px");
};
/**
* @param {Object} element
* @param {number} value
* @return {?}
*/
var getDimensions = function(element, value) {
return element.ja("right", value + "px");
};
/**
* @param {?} name
* @return {?}
*/
self.style = function(name) {
if (this.empty()) {
return null;
}
var element = this.get();
if (element.nodeType == ELEMENT_NODE) {
if (element.currentStyle) {
return element.currentStyle[name];
}
if (window.getComputedStyle) {
return document.defaultView.getComputedStyle(element, null)[name];
}
}
return null;
};
/**
* @param {?} optgroup
* @return {?}
*/
var fromPx = function(optgroup) {
return function() {
var widthAttr = this.style(optgroup);
return widthAttr ? parseFloat(widthAttr) : 0;
};
};
self.paddingLeft = fromPx("paddingLeft");
self.paddingRight = fromPx("paddingRight");
self.borderTop = fromPx("borderTopWidth");
self.borderBottom = fromPx("borderBottomWidth");
self.borderLeft = fromPx("borderLeftWidth");
self.borderRight = fromPx("borderRightWidth");
self.marginTop = fromPx("marginTop");
self.marginBottom = fromPx("marginBottom");
self.marginLeft = fromPx("marginLeft");
self.fontSize = fromPx("fontSize");
self.vA = fromPx("top");
self.Sz = fromPx("right");
self.transitionDuration = fromPx("transitionDuration");
/**
* @return {?}
*/
self.lineHeight = function() {
var state = fromPx("lineHeight").call(this);
return isNaN(state) ? this.fontSize() : state;
};
/**
* @param {?} elem
* @return {?}
*/
var getComputedStyle = function(elem) {
return elem.get() instanceof Element ? "inline" == elem.style("display") : false;
};
/**
* @return {?}
*/
self.submit = function() {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
this.q[i].submit();
}
return this;
};
/**
* @param {Object} position
* @return {?}
*/
var _qwery = function(position) {
position = position.ga();
return{
left : position.left,
top : position.top
};
};
/**
* @return {?}
*/
self.ga = function() {
var bb = this.get().getBoundingClientRect();
return{
left : Math.round(bb.left),
top : Math.round(bb.top),
right : Math.round(bb.right),
bottom : Math.round(bb.bottom),
width : Math.round(bb.width),
height : Math.round(bb.height)
};
};
/**
* @param {Object} node
* @param {HTMLElement} parent
* @return {?}
*/
var rect = function(node, parent) {
var to = node.get().getBoundingClientRect();
var position = parent.get().getBoundingClientRect();
/** @type {number} */
var sMin = 0;
/** @type {number} */
var lMin = 0;
if (parent.contains(node)) {
sMin = parent.scrollLeft();
lMin = parent.scrollTop();
}
return{
left : Math.round(to.left - position.left + sMin),
top : Math.round(to.top - position.top + lMin),
right : Math.round(to.right - position.left + sMin),
bottom : Math.round(to.bottom - position.top + lMin),
width : Math.round(to.width),
height : Math.round(to.height)
};
};
/**
* @param {boolean} node
* @return {?}
*/
self.scrollIntoView = function(node) {
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var link = this.q[i];
if (link.scrollIntoViewIfNeeded) {
link.scrollIntoViewIfNeeded(false);
} else {
link.scrollIntoView(node);
}
}
return this;
};
/**
* @param {Object} obj
* @param {string} key
* @return {?}
*/
var peek = function(obj, key) {
if (obj.empty()) {
return null;
}
/** @type {number} */
var i = 0;
for (;i < vendors.length;i++) {
var v = vendors[i];
v = v ? v + key[0].toUpperCase() + key.substr(1) : key;
if (exec(obj.get().style[v])) {
return v;
}
}
return null;
};
/**
* @param {?} style
* @param {string} name
* @param {string} property
* @return {?}
*/
var vendor = function(style, name, property) {
/** @type {number} */
var i = 0;
for (;i < vendors.length;i++) {
var m = vendors[i];
style.ja(m ? m + name[0].toUpperCase() + name.substr(1) : name, property);
}
return style;
};
/**
* @param {Object} body
* @return {?}
*/
var _reorderListItem = function(body) {
if (body.empty()) {
return 0;
}
body = body.get();
return(body.scrollTop + body.clientHeight) / body.scrollHeight;
};
/**
* @return {?}
*/
self.scrollLeft = function() {
return this.empty() ? 0 : this.get().scrollLeft;
};
/**
* @param {?} label
* @param {number} value
* @return {undefined}
*/
var formatter = function(label, value) {
if (!label.empty()) {
/** @type {number} */
label.get().scrollLeft = value;
}
};
/**
* @return {?}
*/
self.scrollTop = function() {
return this.empty() ? 0 : this.get().scrollTop;
};
/**
* @param {Object} target
* @param {number} value
* @return {undefined}
*/
var getOwnPropertyDescriptor = function(target, value) {
if (!target.empty()) {
/** @type {number} */
target.get().scrollTop = value;
}
};
/**
* @return {?}
*/
self.ji = function() {
if (this.empty()) {
return 0;
}
var body = this.get();
return body.scrollHeight - (body.scrollTop + body.clientHeight);
};
/**
* @param {?} input
* @param {number} mayParseLabeledStatementInstead
* @return {undefined}
*/
var appendTo = function(input, mayParseLabeledStatementInstead) {
if (!input.empty()) {
var textarea = input.get();
/** @type {number} */
textarea.scrollTop = textarea.scrollHeight - textarea.clientHeight - mayParseLabeledStatementInstead;
}
};
/**
* @param {?} data
* @return {?}
*/
var parents = function(data) {
var separator;
/** @type {string} */
separator = separator || "";
/** @type {Array} */
var string = [];
/** @type {number} */
var i = 0;
for (;i < data.q.length;i++) {
var obj = data.q[i];
if (obj.innerHTML) {
string.push(obj.innerHTML);
} else {
if (obj.nodeType == SELECT) {
string.push(tmpl(obj.data));
}
}
}
return string.join(separator);
};
/**
* @param {?} e
* @param {string} value
* @return {?}
*/
var indexOf = function(e, value) {
/** @type {number} */
var i = 0;
for (;i < e.q.length;i++) {
/** @type {string} */
e.q[i].innerHTML = value;
}
return e;
};
/**
* @param {?} value
* @return {?}
*/
var h = function(value) {
var separator;
/** @type {string} */
separator = separator || "";
/** @type {Array} */
var result = [];
/** @type {number} */
var i = 0;
for (;i < value.q.length;i++) {
var el = value.q[i];
if (el.outerHTML) {
result.push(el.outerHTML);
} else {
if (el.nodeType == SELECT) {
result.push(tmpl(el.data));
}
}
}
return result.join(separator);
};
/**
* @param {?} keepData
* @return {?}
*/
self.wa = function(keepData) {
if (keepData.q.length != this.q.length) {
return false;
}
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (this.q[i] != keepData.q[i]) {
return false;
}
}
return true;
};
/**
* @param {(Object|boolean|number|string)} data
* @return {?}
*/
self.ya = function(data) {
data = data || isFunction(data);
/** @type {Array} */
var script = [];
/** @type {number} */
var i = 0;
var part;
for (;part = this.q[i];i++) {
script.push(part.cloneNode(data));
}
return new klass(script);
};
/**
* @param {?} name
* @return {?}
*/
self.contains = function(name) {
/** @type {number} */
var idx = 0;
for (;idx < name.q.length;idx++) {
var ua = name.q[idx];
/** @type {boolean} */
var d = false;
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (this.q[i].contains(ua)) {
/** @type {boolean} */
d = true;
break;
}
}
if (!d) {
return false;
}
}
return true;
};
/**
* @param {number} source
* @return {?}
*/
self.jj = function(source) {
/** @type {number} */
var j = 0;
for (;j < source.q.length;j++) {
var b = source.q[j];
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (!(this.q[i].compareDocumentPosition(b) & Node.DOCUMENT_POSITION_PRECEDING)) {
return false;
}
}
}
return true;
};
/**
* @param {?} size
* @param {Object} options
* @return {undefined}
*/
self.scale = function(size, options) {
options = options || this.ga();
/** @type {number} */
var c = size.width / options.width;
/** @type {number} */
var d = size.height / options.height;
vendor(this, "transformOrigin", Math.round((size.left - options.left) / (1 - c)) + "px " + Math.round((size.top - options.top) / (1 - d)) + "px");
vendor(this, "transform", "scale(" + c + "," + d + ")");
};
/**
* @param {Function} arr
* @return {undefined}
*/
self.sort = function(arr) {
if (!(2 > this.q.length)) {
/** @type {Array} */
var nodes = [];
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
var node = this.q[i];
/** @type {number} */
node["dom.js.nodeSortIndex"] = i;
nodes.push(node);
}
nodes.sort(function($rootScope, protoProps) {
var child = arr($rootScope, protoProps);
return 0 != child ? child : $rootScope["dom.js.nodeSortIndex"] - protoProps["dom.js.nodeSortIndex"];
});
/** @type {boolean} */
var ancestor = true;
/** @type {number} */
i = 0;
for (;i < this.q.length;i++) {
node = nodes[i];
var type = node["dom.js.nodeSortIndex"];
delete node["dom.js.nodeSortIndex"];
if (type != i) {
/** @type {boolean} */
ancestor = false;
}
}
if (!ancestor) {
ancestor = nodes[0];
/** @type {number} */
i = 1;
for (;i < nodes.length;i++) {
node = nodes[i];
node.parentNode.insertBefore(node, ancestor.nextSibling);
ancestor = node;
}
}
}
};
/**
* @param {?} node
* @param {?} offset
* @return {?}
*/
var assertValidOffset = function(node, offset) {
/** @type {(Range|null)} */
var nodeRange = document.createRange();
nodeRange.setStart(node.q[0], offset);
return nodeRange;
};
/**
* @param {?} v
* @param {boolean} mayParseLabeledStatementInstead
* @return {?}
*/
var ok = function(v, mayParseLabeledStatementInstead) {
expect(v, function() {
/** @type {boolean} */
this.contentEditable = mayParseLabeledStatementInstead;
});
return v;
};
/**
* @param {?} length
* @param {?} draggable
* @return {undefined}
*/
var expectData = function(length, draggable) {
expect(length, function() {
this.draggable = draggable;
});
};
/**
* @param {?} item
* @return {?}
*/
var updater = function(item) {
item.height();
return item;
};
var item = jQuery(document.body);
var attrs = peek(item, "transition");
var pdataCur = peek(item, "transform");
/**
* @return {?}
*/
var valueAccessor = function() {
return exec(cmd) ? "small" == cmd : _isSafari ? !_tryInitOnFocus : isContentHeight ? 630 > Math.min(window.innerWidth, window.innerHeight) : false;
};
/**
* @return {?}
*/
var getPropertyValue = function() {
return exec(cmd) ? "medium" == cmd : false;
};
/**
* @return {undefined}
*/
var adjust = function() {
addClass(addClass(item, "small-screen", valueAccessor()), "medium-screen", getPropertyValue());
};
/**
* @return {undefined}
*/
var getDevice = function() {
addClass(addClass(item, "tablet", exec(code) ? code : _isSafari ? _tryInitOnFocus : false), "phone", urlEncodeIfNecessary());
};
/**
* @return {?}
*/
var urlEncodeIfNecessary = function() {
return(_isSafari || isContentHeight) && !(exec(code) ? code : _isSafari && _tryInitOnFocus);
};
var isCORS;
var q;
var isHorizontal;
var err;
var _isSafari;
var _tryInitOnFocus;
var isContentHeight;
var applyIfNotSet;
var external;
var intWidth;
var ci;
var cmd;
var code;
/** @type {string} */
var ua = navigator.userAgent.toLowerCase();
/** @type {boolean} */
isCORS = -1 != ua.indexOf("webkit");
/** @type {boolean} */
isContentHeight = -1 != ua.indexOf("android");
/** @type {boolean} */
applyIfNotSet = -1 != ua.indexOf("chrome");
/** @type {boolean} */
external = -1 != ua.indexOf("gecko") && -1 == ua.indexOf("like gecko");
/** @type {boolean} */
ci = -1 != ua.indexOf("opera");
/** @type {number} */
q = -1;
if (isCORS) {
/** @type {(Array.<string>|null)} */
var version = /applewebkit\/([\d.]+)/.exec(ua);
if (version) {
/** @type {number} */
q = parseFloat(version[1]);
}
}
/** @type {number} */
intWidth = -1;
if (external) {
if (version = /rv:([\d.]+)\)/.exec(ua)) {
/** @type {number} */
intWidth = parseFloat(version[1]);
}
}
/** @type {string} */
var userAgent = navigator.platform;
/** @type {boolean} */
isHorizontal = 0 == userAgent.indexOf("Win");
/** @type {boolean} */
err = 0 == userAgent.indexOf("Mac");
/** @type {boolean} */
_isSafari = !checkElements(userAgent.match(/^(iPad|iPhone|iPod)/)) || -1 != location.search.indexOf("debug_useragent=ios");
/** @type {boolean} */
_tryInitOnFocus = !checkElements(userAgent.match(/^(iPad)/));
if (_isSafari) {
item.g("ios");
}
if (isContentHeight) {
item.g("android");
}
cmd = void 0;
adjust();
code = void 0;
getDevice();
if (isCORS) {
item.g("webkit");
}
if (-1 < q) {
if (537 > q) {
item.g("webkit-536");
}
}
if (external) {
item.g("gecko");
}
append("userAgent.isAndroid", function() {
return isContentHeight;
});
append("userAgent.isIOs", function() {
return _isSafari;
});
/** @type {boolean} */
var gl = false;
var KEY_ACTION_MAPPINGS = {};
var cur = {};
/** @type {boolean} */
var jl = false;
/**
* @param {number} line
* @param {number} val
* @param {Function} e
* @return {?}
*/
var handleEvent = function(line, val, e) {
if (!gl) {
addEvent(document, "keydown", keydown);
if (isHorizontal) {
addEvent(document, "keypress", clearModifier);
addEvent(document, "keyup", basePrototype);
}
/** @type {boolean} */
gl = true;
}
var tok = new configure(line, val);
if (val & indents) {
val &= ~indents;
/** @type {number} */
val = err ? val | STACK_ATTACHED : val | timeout;
}
/** @type {Array} */
var lines = [line];
if (48 <= line) {
if (57 >= line) {
lines.push(line + 48);
}
}
/** @type {number} */
var i = 0;
for (;i < lines.length;i++) {
line = lines[i];
if (!(line in KEY_ACTION_MAPPINGS)) {
/** @type {Array} */
KEY_ACTION_MAPPINGS[line] = [];
}
KEY_ACTION_MAPPINGS[line].push({
Jq : val,
/** @type {Function} */
Pk : e,
iy : tok
});
}
return tok;
};
/**
* @param {number} c
* @param {number} val
* @return {undefined}
*/
var configure = function(c, val) {
/** @type {number} */
this.keyCode = c;
/** @type {number} */
this.Jq = val;
/** @type {null} */
this.xo = null;
/** @type {Array} */
var modifiers = [];
if (val & indents) {
modifiers.push("Mod");
}
if (val & STACK_ATTACHED) {
modifiers.push("Meta");
}
if (val & timeout) {
modifiers.push("Ctrl");
}
if (val & backgroundLayerMask) {
modifiers.push("Shift");
}
if (val & ERROR_HANDLED) {
modifiers.push("Alt");
}
var g = "0x" + c.toString(16);
if (9 == c) {
/** @type {string} */
g = "Tab";
} else {
if (13 == c) {
/** @type {string} */
g = "Return";
} else {
if (27 == c) {
/** @type {string} */
g = "Esc";
} else {
if (191 == c) {
/** @type {string} */
g = "/";
} else {
if (192 == c) {
/** @type {string} */
g = "`";
} else {
if (38 == c) {
/** @type {string} */
g = "\u2191";
} else {
if (40 == c) {
/** @type {string} */
g = "\u2193";
} else {
if (32 < c) {
if (127 > c) {
/** @type {string} */
g = String.fromCharCode(c);
}
}
}
}
}
}
}
}
}
modifiers.push(g);
/** @type {string} */
this.oz = modifiers.join("-");
};
/**
* @param {?} object
* @param {?} callback
* @return {?}
*/
var seal = function(object, callback) {
object.xo = callback;
return object;
};
/**
* @param {?} object
* @param {number} expectedNumberOfNonCommentArgs
* @param {?} description
* @return {?}
*/
var getEnumerableProperties = function(object, expectedNumberOfNonCommentArgs, description) {
object.description = description;
if (!(expectedNumberOfNonCommentArgs in cur)) {
/** @type {Array} */
cur[expectedNumberOfNonCommentArgs] = [];
}
cur[expectedNumberOfNonCommentArgs].push(object);
return object;
};
/**
* @return {undefined}
*/
configure.prototype.Dd = function() {
maybeCallback("keyboard_shortcut", {
shortcut : this.oz
});
};
/**
* @param {Object} event
* @return {undefined}
*/
var keydown = function(event) {
if ("keydown" == event.type && simulateMouseEvent(event)) {
/** @type {boolean} */
jl = false;
} else {
if ((event.metaKey || event.ctrlKey) && event.keyCode in KEY_ACTION_MAPPINGS) {
/** @type {number} */
var YYSTATE = YY_START;
if (event.shiftKey) {
YYSTATE |= backgroundLayerMask;
}
if (event.altKey) {
YYSTATE |= ERROR_HANDLED;
}
if (event.metaKey) {
YYSTATE |= STACK_ATTACHED;
}
if (event.ctrlKey) {
YYSTATE |= timeout;
}
var resultItems = KEY_ACTION_MAPPINGS[event.keyCode];
/** @type {number} */
var i = 0;
for (;i < resultItems.length;i++) {
var result = resultItems[i];
if (result.Jq == YYSTATE) {
if (result.Pk(jQuery(event.target))) {
stopEvent(event);
}
result.iy.Dd();
break;
}
}
}
}
};
/**
* @param {Object} event
* @return {?}
*/
var simulateMouseEvent = function(event) {
return isHorizontal && (!external && (event.ctrlKey && (event.altKey && !event.shiftKey)));
};
/**
* @param {Object} event
* @return {undefined}
*/
var clearModifier = function(event) {
if (32 < event.keyCode) {
if (simulateMouseEvent(event)) {
/** @type {boolean} */
jl = true;
}
}
};
/**
* @param {Object} qualifier
* @return {undefined}
*/
var basePrototype = function(qualifier) {
if (!jl) {
if (simulateMouseEvent(qualifier)) {
keydown(qualifier);
}
}
};
/** @type {number} */
var YY_START = 0;
/** @type {number} */
var backgroundLayerMask = 1;
/** @type {number} */
var ERROR_HANDLED = 2;
/** @type {number} */
var STACK_ATTACHED = 4;
/** @type {number} */
var timeout = 8;
/** @type {number} */
var indents = 16;
/**
* @return {undefined}
*/
var Tab = function() {
/**
* @param {number} dir
* @param {?} value
* @return {undefined}
*/
function init(dir, value) {
var codeSegments = cur[dir] || [];
value.append(createElement("label").ca(newline(dir)));
var display = createElement("section");
value.append(display);
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var data = codeSegments[i];
/**
* @param {Object} canvas
* @return {?}
*/
var render = function(canvas) {
var codeSegments = getCompletions(canvas.Jq);
codeSegments.push(_mapKeycodeToKey(canvas.keyCode));
canvas = createElement("span");
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
canvas.append(createElement("div", "key").ca(codeSegments[i]));
}
return canvas;
};
var list = createElement("div", "keys");
if (data.xo) {
indexOf(list, callback("%(shortcut1)s or %(shortcut2)s [List of two sets of keyboard shortcuts that trigger the same behavior]", {
shortcut1 : h(render(data)),
shortcut2 : h(render(data.xo))
}));
} else {
list.append(render(data));
}
display.append(createElement("div", "shortcut").append(list).append(createElement("div", "description").ca(data.description)));
}
}
if (jQuery(".shortcuts-cheat-sheet.dialog").empty()) {
var pdataCur = createElement("h1").ca(callback("Keyboard Shortcuts"));
var row = createElement("div", "column");
var udataCur = row.ya();
var table = createElement("div", "body").append(row).append(udataCur);
init(0, row);
init(1, row);
init(2, udataCur);
if (getNativeElement()) {
row = createElement("div", "debug");
init(3, row);
table.append(row);
pdataCur.append(createElement("div").ca("Debug shortcuts").setData("click", "toggle-debug-shortcuts"));
}
is(createElement("div", "shortcuts-cheat-sheet dialog").append(pdataCur).append(createElement("div", "body").append(table)));
} else {
close();
}
};
/**
* @param {number} m
* @return {?}
*/
var newline = function(m) {
switch(m) {
case 0:
return callback("Anywhere");
case 1:
return callback("Style");
case 2:
return callback("Editing");
case 3:
return "Debug";
}
return "";
};
/**
* @param {number} key
* @return {?}
*/
var _mapKeycodeToKey = function(key) {
if (key >= keys.A && key <= keys.Z || 48 <= key && 57 >= key) {
return String.fromCharCode(key);
}
if (96 <= key && 105 >= key) {
return String.fromCharCode(48 + key - 96);
}
switch(key) {
case 9:
return callback("Tab [Keyboard key name]");
case 13:
return callback("Return [Keyboard key name]");
case 27:
return callback("Escape [Keyboard key name]");
case 191:
return "/";
case 192:
return callback("` (Backtick) [Keyboard key name]");
case 38:
return "\u2191";
case 40:
return "\u2193";
}
return String.fromCharCode(key);
};
/**
* @param {number} val
* @return {?}
*/
var getCompletions = function(val) {
/** @type {Array} */
var _results = [];
if (val & indents) {
_results.push(err ? callback("Cmd [Mac 'Command' keyboard key name]") : callback("Ctrl [Keyboard key name]"));
}
if (val & STACK_ATTACHED) {
_results.push(callback("Cmd [Mac 'Command' keyboard key name]"));
}
if (val & timeout) {
_results.push(callback("Ctrl [Keyboard key name]"));
}
if (val & ERROR_HANDLED) {
_results.push(err ? callback("Opt [Mac 'Option' keyboard key name]") : callback("Alt [Keyboard key name]"));
}
if (val & backgroundLayerMask) {
_results.push(callback("Shift [Keyboard key name]"));
}
return _results;
};
$("click", "toggle-debug-shortcuts", function() {
removeAttr(this.parent(".shortcuts-cheat-sheet"), "show-debug-shortcuts");
return false;
});
attempt(function() {
getEnumerableProperties(handleEvent(191, indents, function() {
Tab();
return true;
}), 0, callback("List keyboard shortcuts"));
});
/**
* @param {string} name
* @param {?} opt_attributes
* @return {?}
*/
var callback = function(name, opt_attributes) {
var o = window.gTranslations;
if (o && o[name]) {
name = o[name];
} else {
if ("]" == name[name.length - 1]) {
name = name.substr(0, name.lastIndexOf("[") - 1);
}
}
if (opt_attributes) {
var letter;
for (letter in opt_attributes) {
name = name.replace("%(" + letter + ")s", opt_attributes[letter]);
}
}
return name;
};
/**
* @return {?}
*/
var detectDevice = function() {
return window.kLocaleCode || window.navigator.language;
};
var fabric = {};
var val2;
var ATTR_ID;
var DOW_MAP = {};
var colors = {};
/**
* @return {undefined}
*/
var dayFromMonth = function() {
var val1 = floor();
if (val1 != val2) {
val2 = val1;
/** @type {boolean} */
colors["thumbnail-stack"] = false;
/** @type {boolean} */
val1 = 18 > jQuery(".folder > .body .thumbnail-stack").length();
if (!(DOW_MAP["thumbnail-stack"] = val1)) {
clearSelection();
}
makeRequest(5);
}
};
/**
* @param {?} callback
* @param {?} data
* @param {string} name
* @param {?} obj
* @param {?} key
* @param {?} i
* @return {undefined}
*/
var del = function(callback, data, name, obj, key, i) {
var o = {};
if (callback) {
o.folder_id = callback;
}
if (name) {
/** @type {string} */
o.next_id = name;
}
if (obj) {
o.copy_document_id = obj;
}
if (key) {
o.copy_secret_path = key;
}
if (i) {
o.new_title = i;
}
if (data) {
if (processData(data)) {
processOne();
upload("upload-new-document", data, function(chat) {
jQuery(".thumbnail-stack.importing").remove();
loadNext();
put(chat);
}, function(resp) {
jQuery(".thumbnail-stack.importing").remove();
loadNext();
resp = resp.getResponseHeader("X-Quip-Import-Error-Message") || callback("Unable to import file");
error(resp);
}, o, jQuery(".filedrop.importing .bar"));
} else {
jQuery(".thumbnail-stack.importing").remove();
}
} else {
next("/-/new-document", o, function(walkers) {
focus(walkers);
});
}
};
/**
* @param {Function} cb
* @return {undefined}
*/
var doRender = function(cb) {
compile("inbox-page", "snippet", 20, jQuery("#inbox > .body"), cb);
};
/**
* @return {undefined}
*/
var newBindings = function() {
if (0.75 < _reorderListItem(jQuery("#inbox > .body"))) {
doRender();
}
};
/**
* @return {undefined}
*/
var clearSelection = function() {
if (0.75 < _reorderListItem(jQuery(".folder > .body"))) {
compile("desktop-page", "thumbnail-stack", 24, jQuery(".folder > .body"));
}
};
/**
* @param {string} attr
* @param {string} string
* @param {number} opt_attributes
* @param {Object} elm
* @param {Function} template
* @return {undefined}
*/
var compile = function(attr, string, opt_attributes, elm, template) {
if (!DOW_MAP[string]) {
if (!colors[string]) {
/** @type {boolean} */
colors[string] = true;
next("/-/" + attr, {
start : parent(jQuery("." + string + ":not(.bottom)")).data("sort"),
count : opt_attributes,
folder : floor(),
thread : html()
}, function(items) {
items = items.items;
console.time(items.length + " new " + string + "s");
var d = elm.find(".bottom.sticky");
/** @type {number} */
var i = 0;
for (;i < items.length;i++) {
var data = items[i];
var targets = jQuery("." + string + "[data-id='" + data.id + "']");
data = get(data.html);
if (targets.empty()) {
if (d.empty()) {
elm.append(data);
} else {
data.insertBefore(d);
}
} else {
replace(targets, data);
}
}
console.timeEnd(items.length + " new " + string + "s");
/** @type {boolean} */
colors[string] = false;
if (items.length < 0.75 * opt_attributes) {
/** @type {boolean} */
DOW_MAP[string] = true;
}
if (template) {
template();
}
}, function() {
/** @type {boolean} */
colors[string] = false;
return true;
});
}
}
};
/**
* @param {Object} deepDataAndEvents
* @param {(Error|string)} path
* @param {Object} field
* @param {boolean} dataAndEvents
* @return {undefined}
*/
var onChange = function(deepDataAndEvents, path, field, dataAndEvents) {
if (!dataAndEvents && isDirectory(path)) {
removeClass(callback("%(person)s is not a part of %(workgroup)s. Are you sure you want to share with this person?", {
person : data.Ka(path).name,
workgroup : operation()
}), callback("Share"), callback("Cancel"), function(dataAndEvents) {
if (dataAndEvents) {
onChange(deepDataAndEvents, path, field, true);
} else {
field.enable();
}
});
} else {
next("/-/add-members", {
folder : deepDataAndEvents,
users : path
}, function(val) {
onComplete(val);
obj.input.search.call(field.enable().clear(), null);
}, function() {
field.enable();
return true;
});
}
};
var relPos = {
x : 0,
y : 0
};
/**
* @param {Event} e
* @return {undefined}
*/
var onMouseOver = function(e) {
relPos = {
x : e.clientX,
y : e.clientY
};
};
/**
* @param {?} code
* @return {?}
*/
var getDiv = function(code) {
return jQuery(".thumbnail-page[data-id='" + code + "']").parent(".thumbnail-stack");
};
/**
* @param {string} a
* @return {?}
*/
var byId = function(a) {
return jQuery(".folder-stack[data-id='" + a + "']");
};
/**
* @param {Object} obj
* @return {?}
*/
var likeArray = function(obj) {
return obj.j("folder-stack");
};
/**
* @param {?} elements
* @return {?}
*/
var winnow = function(elements) {
return likeArray(elements) && start(elements, ".folder-page.archive");
};
/**
* @param {?} node
* @param {Element} n
* @return {?}
*/
var all = function(node, n) {
return 1 == node.folder_type && 0 == n.folder_type ? false : n.id == res.Qf() || (n.id == res.Wi() || (0 == node.folder_type || node.move_root_id == n.move_root_id));
};
var special = {};
/**
* @param {Array} n
* @return {undefined}
*/
var map = function(n) {
/**
* @param {Object} o
* @return {undefined}
*/
function callback(o) {
o.setData("dragenter", "folder-picker").setData("dragleave", "folder-picker").setData("drop", "folder-picker");
}
var me = jQuery(".folder-picker");
var val = objectEqual();
var cs;
var t = {};
/** @type {number} */
t[floor()] = 1;
if (likeArray(n)) {
n = n.data("id");
/** @type {number} */
t[n] = 1;
cs = res.Ka(n);
}
special = {};
/** @type {Array} */
n = [];
/** @type {number} */
var j = 0;
for (;j < val.length;j++) {
var c = val[j];
var type = c.id;
if (!(c.id in t)) {
if (!(cs && !all(cs, c))) {
n.push(c);
/** @type {number} */
special[type] = 1;
}
}
}
me.find(".folder-row:not(.new-folder):not(.search-for-folder)").remove();
j = me.find(".new-folder");
callback(j);
val = me.find(".search-for-folder");
callback(val);
t = val.find(".search-box");
val = t.find("input");
cs = t.find("button");
val.gb(t.width() - cs.width() - cs.marginLeft());
j = j.ga();
/** @type {number} */
t = me.ga().bottom - j.bottom;
/** @type {number} */
cs = 1;
c = me.find(".search-results");
c.show();
/** @type {number} */
j = 0;
for (;j < n.length && j < cs;j++) {
type = res.Jd(n[j]);
callback(type);
c.append(type);
if (0 == j) {
/** @type {number} */
cs = Math.floor(t / type.ga().height);
val.setData("num-results", cs + 1);
}
}
me.g("visible");
};
/**
* @return {undefined}
*/
var updateSlides = function() {
jQuery(".thumbnail-stack.dragging.filedrop").remove();
var anchor = jQuery(".thumbnail-stack.dragging").k("dragging").find("a");
anchor.setAttribute("href", anchor.getAttribute("saved-href")).removeAttribute("saved-href");
jQuery(".folder-stack.highlighted").k("highlighted");
jQuery(".drag-object").remove();
jQuery(".folder-picker").k("visible");
if (jQuery("#app").j("desktop-dragging")) {
jQuery("#app").k("desktop-dragging");
loadNext();
}
if (external) {
if (fabric.Zr) {
removeListener(fabric.Zr);
delete fabric.Zr;
}
}
};
/**
* @param {Object} obj
* @param {Node} item
* @param {boolean} recurring
* @return {undefined}
*/
var redraw = function(obj, item, recurring) {
var folder;
var target;
if (item instanceof klass) {
item.k("highlighted");
target = item.data("id");
} else {
/** @type {Node} */
target = item;
}
var ret;
if (obj instanceof klass) {
obj.remove();
ret = obj.data("id");
} else {
/** @type {Object} */
ret = obj;
}
folder = folder || floor();
next("/-/move-into", {
folder : folder,
object : ret,
target : target
}, function(val) {
if (recurring) {
var restoreScript = res.Wi();
var which = res.Qf();
if (item == which) {
parseXML(obj.data("id"), restoreScript);
} else {
if (item == restoreScript) {
parseXML(obj.data("id"), which);
}
}
}
onComplete(val);
});
};
/**
* @param {Object} source
* @param {(RegExp|string)} keepData
* @param {?} name
* @return {undefined}
*/
var stack = function(source, keepData, name) {
next("/-/add-folder", {
object : source,
add : keepData
}, function(chat) {
put(chat);
parseXML(source, name);
});
};
/**
* @param {Object} string
* @param {?} callback
* @return {undefined}
*/
var parseXML = function(string, callback) {
next("/-/remove-folder", {
object : string,
remove : callback
}, function(val) {
onComplete(val);
});
};
/**
* @param {Object} obj
* @param {(RegExp|string)} key
* @return {undefined}
*/
var _add = function(obj, key) {
var y = res.Wi();
var x = res.Qf();
var camelKey = res.Ka(key);
if (likeArray(obj) && (1 == res.Ka(obj.data("id")).folder_type && 0 == camelKey.folder_type)) {
y = key == y ? x : y;
stack(obj.data("id"), key, y);
} else {
y = res.Ka(floor());
if (0 != y.folder_type) {
next("/-/predelete-info", {
object : obj.data("id"),
remove : y.id,
add : key
}, function(isXML) {
recurse(obj, key, isXML);
});
} else {
redraw(obj, key, true);
}
}
};
/**
* @param {Object} elements
* @param {Node} fn
* @param {string} value
* @return {undefined}
*/
var recurse = function(elements, fn, value) {
var err = likeArray(elements);
if (0 == value.member_count || err && 0 == value.thread_count) {
redraw(elements, fn, true);
} else {
if (err) {
value = callback("This will remove access to this folder and %(num_threads)s documents inside of it for %(num_users)s people. Are you sure you want to move the folder?", {
num_threads : value.thread_count,
num_users : value.member_count
});
} else {
value = callback("This will permanently delete this document for %(count)s people.", {
count : value.member_count
});
value += " " + callback("Are you sure you want to move the document?");
}
header(err ? callback("Move Folder") : callback("Move Document"), value, [err ? callback("Move Folder") : callback("Move Document"), callback("Cancel")], ["move", "cancel"], function(x) {
if ("move" == x) {
redraw(elements, fn, true);
}
});
}
};
/**
* @param {MouseEvent} params
* @return {?}
*/
var repush = function(params) {
return isHorizontal ? params.ctrlKey : params.metaKey;
};
/**
* @param {Object} req
* @param {string} classNames
* @return {undefined}
*/
var user = function(req, classNames) {
next("/-/remove-member", {
folder : req,
remove : classNames
}, function(val) {
onComplete(val);
});
};
/**
* @param {Object} optionsString
* @param {boolean} dataAndEvents
* @return {undefined}
*/
var core = function(optionsString, dataAndEvents) {
next("/-/delete-folder", {
folder : optionsString,
auto_archive : dataAndEvents ? "0" : "1"
}, function(data) {
if (data.id == floor()) {
replace(jQuery(".folder"), get(data.page));
} else {
localize(data);
}
});
};
/**
* @param {?} obj
* @return {undefined}
*/
var stringifyObject = function(obj) {
obj.g("searching");
item.g("searching-for-folder");
jQuery(".folder-picker .search-for-folder input").focus();
jQuery(".folder-picker .search-results .object-row").setData("click", "search-result");
ATTR_ID = addEvent(window.document.body, "click", onOverOut);
};
/**
* @return {undefined}
*/
var filterit = function() {
item.k("searching-for-folder");
jQuery(".thumbnail-stack.searching").k("searching");
removeListener(ATTR_ID);
updateSlides();
};
/**
* @param {Event} e
* @return {undefined}
*/
var onOverOut = function(e) {
if (!jQuery(".folder-picker").contains(jQuery(e.target))) {
moveHandler(jQuery(".folder-picker .search-box input"));
}
};
/**
* @return {undefined}
*/
var nivoRun = function() {
jQuery(".folder-picker").k("creating-new-folder");
var self = jQuery(".folder-picker .new-folder");
self.k("highlighted");
var markup = jQuery(".dialog." + self.data("dialog"));
push(function() {
css(markup.k("bottom"), "bottom");
}, 250);
jQuery(".thumbnail-stack.moving-to-new-folder").k("moving-to-new-folder");
};
/**
* @param {string} name
* @param {number} deepDataAndEvents
* @return {undefined}
*/
var runNext = function(name, deepDataAndEvents) {
next("/-/notification-level", {
id : name,
level : deepDataAndEvents
}, function(elem) {
onComplete(elem);
elem = jQuery("div.thread");
if (!elem.empty()) {
elem.setData("notification-level", deepDataAndEvents);
}
});
};
/**
* @param {Object} options
* @return {undefined}
*/
var gzip = function(options) {
next("/-/predelete-info", {
object : options
}, function(relativeToItem) {
deleteItem(options, relativeToItem);
});
};
/**
* @param {Object} options
* @param {?} item
* @return {undefined}
*/
var deleteItem = function(options, item) {
/** @type {boolean} */
var c = 2 > item.member_count;
var value = item.top_level;
if (item.thread_count) {
/** @type {Array} */
var tooltip = [];
/** @type {Array} */
var menu = [];
if (c) {
tooltip.push(callback("Archive and Hide"));
menu.push("archive-and-hide");
tooltip.push(callback("Permanently Delete"));
} else {
if (value) {
tooltip.push(callback("Archive and Hide"));
menu.push("archive-and-hide");
if (data.ka) {
tooltip.push(callback("Delete for Me"));
menu.push("remove-self");
}
} else {
if (1 != item.notification_level) {
tooltip.push(callback("Hide Folder"));
menu.push("hide");
}
}
tooltip.push(callback("Delete for all %(count)s people", {
count : item.member_count
}));
}
menu.push("delete");
tooltip.push(callback("Cancel"));
menu.push("cancel");
header(callback("Delete Folder"), callback("If you no longer want to see this folder, you can hide it, which will mean you won't see it in your Inbox or on your Desktop, but you will still be able to access it via search. If you delete the folder, you will permanently lose access to all of the documents inside of it."), tooltip, menu, function(method) {
if ("hide" == method) {
runNext(options, 1);
} else {
if ("archive-and-hide" == method) {
foo(options);
} else {
if ("remove-self" == method) {
cb();
} else {
if ("delete" == method) {
finish();
}
}
}
}
}, "multi-button");
/**
* @return {undefined}
*/
var cb = function() {
header(callback("Remove Access"), callback("You will permanently lose access to %(count)s documents inside of the folder. Are you sure you want to remove yourself from the folder?", {
count : item.thread_count
}), [callback("Delete Folder"), callback("Cancel")], ["remove", "cancel"], function(dataAndEvents) {
if ("remove" == dataAndEvents) {
user(options, data.ka.id);
close();
}
}, "multi-button");
};
/**
* @return {undefined}
*/
var finish = function() {
var suiteView = {
num_users : item.member_count,
num_threads : item.thread_count
};
suiteView = 1 == item.member_count ? callback("You will permanently lose access to all %(num_threads)s documents in this folder. Are you sure you want to delete the folder?", suiteView) : callback("This will permanently delete this folder for all %(num_users)s people who have access. You will all lose access to %(num_threads)s documents inside of the folder. Are you sure you want to delete the folder?", suiteView);
header(callback("Delete Folder"), suiteView, [callback("Delete Folder"), callback("Cancel")], ["delete", "cancel"], function(method) {
if ("delete" == method) {
if (1 == item.member_count) {
core(options, true);
close();
} else {
confirm();
}
}
}, "multi-button");
};
/**
* @return {undefined}
*/
var confirm = function() {
header(callback("Delete Folder"), callback("Would you like to retain a private copy of this folder in your Archive so you can restore the documents later?"), [callback("Retain Archive Copy"), callback("Permanently Delete"), callback("Cancel")], ["archive", "delete", "cancel"], function(method) {
if ("delete" == method) {
core(options, true);
close();
} else {
if ("archive" == method) {
next("/-/archive", {
object : options,
remove_all : "1"
}, function(val) {
onComplete(val);
close();
});
}
}
});
};
} else {
close();
core(options);
}
};
/**
* @param {Object} v
* @return {undefined}
*/
var foo = function(v) {
next("/-/archive", {
object : v,
hide : "1"
}, function(val) {
onComplete(val);
close();
});
};
/**
* @param {Object} err
* @param {string} classNames
* @param {string} e
* @param {?} _headers
* @return {undefined}
*/
var respond = function(err, classNames, e, _headers) {
if (_headers) {
user(err, classNames);
} else {
if (data.ka) {
next("/-/predelete-info", {
object : err,
remove : classNames
}, function(extra) {
callbacks(err, classNames, e, extra);
});
} else {
onload(callback("Error: Unable to perform the requested action"), "", 15E3);
}
}
};
/**
* @param {Object} err
* @param {string} i
* @param {string} e
* @param {?} results
* @return {undefined}
*/
var callbacks = function(err, i, e, results) {
if (results.remove_user && results.thread_count) {
if (i != data.ka.id) {
header(callback("Remove Access"), callback("%(person)s will lose access to all %(count)s documents inside of the folder. Are you sure you want to continue?", {
person : e,
count : results.thread_count
}), [callback("Continue"), callback("Cancel")], ["remove", "cancel"], function(dataAndEvents) {
if ("remove" == dataAndEvents) {
user(err, i);
}
});
} else {
header(results.member_count ? callback("Remove Access") : callback("Delete Folder"), results.member_count ? callback("If you no longer want to see this folder, you can hide it, which will mean you won't see it in your Inbox or on your Desktop, but you will still be able to access it via search. If you remove your access to the folder, you will permanently lose access to %(count)s documents inside of it.", {
count : results.thread_count
}) : callback("If you no longer want to see this folder, you can hide it, which will mean you won't see it in your Inbox or on your Desktop, but you will still be able to access it via search. If you remove your access to the folder, the folder will be deleted and you will permanently lose access to %(count)s documents inside of it.", {
count : results.thread_count
}), [callback("Archive and Hide"), results.member_count ? callback("Remove Me") : callback("Delete Folder"), callback("Cancel")], ["archive-and-hide", "remove", "cancel"], function(dataAndEvents) {
if ("archive-and-hide" == dataAndEvents) {
foo(err);
} else {
if ("remove" == dataAndEvents) {
user(err, i);
}
}
});
}
} else {
user(err, i);
}
};
/**
* @param {Object} data
* @return {undefined}
*/
var compiler = function(data) {
/**
* @return {undefined}
*/
function initialize() {
close();
next("/-/modify-inherit-mode", {
folder : data,
inherit_mode : 1
}, function(val) {
onComplete(val);
});
}
next("/-/predelete-info", {
object : data,
lock : true
}, function(obj) {
if (obj.thread_count && obj.member_count) {
header(callback("Lock Folder"), callback("Are you sure you want to lock access to this folder, removing access to %(thread_count)s documents for %(member_count)s people? It will no longer inherit permissions from parent folders, and you will have to list members individually.", obj), [callback("Lock Access"), callback("Cancel")], ["lock", "cancel"], function(update) {
if ("lock" == update) {
initialize();
}
}, "multi-button");
} else {
initialize();
}
});
};
$("click", "new-document", function() {
del(floor());
return false;
});
$("dialog-customize", "folder-thumbnail-menu", function() {
var node = jQuery(".folder-thumbnail-menu.dialog");
var E;
E = this instanceof klass ? this.j("thumbnail-stack") ? this : this.parent(".thumbnail-stack") : byId(node.data("id"));
E.g("settings-dialog-active");
var req = res.Ka(E.data("id"));
if (!req) {
return false;
}
node.setData("id", req.id);
node.find("input").setData("title", req.title).af(req.title);
var id = E.find(".folder-page").data("color");
node.find(".color").k("selected");
node.find(".color." + id).g("selected");
addClass(node, "shared", 1 == req.folder_type);
addClass(node, "pinned", !!E.data("pinned"));
addClass(node, "workgroup", !!req.workgroup_id);
addClass(node, "portal", req.workgroup_id && -1 < node.data("portal-workgroup-ids").indexOf(req.workgroup_id));
node.find(".folder-button").setData("id", req.id);
node.find("[data-click=unpin]").setData("logical-parent", E.data("logical-parent"));
return true;
});
$("dialog-customize", "document-menu", function() {
var me = jQuery(".document-menu.dialog");
var E;
E = this instanceof klass ? this.j("thumbnail-stack") ? this : this.parent(".thumbnail-stack") : getDiv(me.data("document-id"));
E.g("settings-dialog-active");
var e = E.find(".thumbnail-page").data("id");
var id = E.data("id");
me.setData("id", id);
me.setData("document-id", e);
addClass(me, "pinned", !!E.data("pinned"));
me.find(".toolbar-buttons span").setData("id", id);
var pos = E.find(".thumbnail-page").data("title");
me.find("[data-click=unpin]").setData("logical-parent", E.data("logical-parent"));
me.find("[data-click=copy-document]").setData("id", e).setData("title", pos ? pos : "");
me = me.find("[data-click=delete-document]");
me.setData("id", e);
me.setData("thread-id", id);
return true;
});
$("dialog-cleanup", "settings-dialog", function() {
jQuery(".thumbnail-stack[data-id='" + this.data("id") + "']").k("settings-dialog-active");
return true;
});
$("dialog-cleanup", "notification-settings", function() {
jQuery(".thumbnail-stack[data-id='" + this.data("id") + "']").k("settings-dialog-active");
jQuery("#app").append(this);
return true;
});
$("click", "support", function() {
close();
window.open("http://support.quip.com/", "_blank");
return false;
});
$("click", "logout", function() {
removeClass(callback("Are you sure you want to sign out of Quip?"), callback("Sign Out"), callback("Cancel"), function(l) {
if (l) {
l = get('<form action="/-/logout" method="post"/>');
var body = createElement("input");
body.setAttribute("name", "_csrf").af(_next("id"));
l.append(body);
item.append(l);
l.get().submit();
}
});
return false;
});
$("scroll", "inbox", function() {
newBindings();
return false;
});
$("scroll", "desktop", function() {
clearSelection();
return false;
});
attempt(function() {
if ("thread-mode" == execCommand()) {
/**
* @return {undefined}
*/
var render = function() {
var j = jQuery("#inbox .selected");
if (j.empty()) {
doRender(render);
} else {
j.scrollIntoView();
}
};
render();
}
if (isTouch || isWebkit) {
if (isTouch && exec(Notification.permission) ? "default" == Notification.permission : isWebkit && 1 == window.webkitNotifications.checkPermission()) {
createElement("button").setData("click", "enable-notifications").ca(callback("Enable Web Notifications")).insertBefore(jQuery(".button-list button[data-click='support']"));
}
}
});
$("click", "enable-notifications", function() {
requestPermission(bind(this.remove, this));
close();
return false;
});
$("click", "set-notification-level", function() {
var self = jQuery(".notification-settings.dialog.active");
self.find(".notification-level").k("selected");
this.g("selected");
runNext(self.data("id"), assertEquals(this, "level"));
return false;
});
$("click", "edit-notifications", function(self) {
var api = jQuery(self.target).parent(".dialog");
self = jQuery(".notification-settings.dialog");
if (self.j("active")) {
if (self.data("previous")) {
self = jQuery(self.data("previous"));
if (!self.empty()) {
if (self.j("dialog")) {
reset(self);
} else {
obj.click.dialog.call(jQuery("span.folder-settings"), null);
}
}
} else {
close();
}
} else {
if (!self.empty()) {
self.setData("id", api.data("id"));
if (attr(api, "document-id")) {
self.setData("document-id", api.data("document-id"));
} else {
eventType(self, "document-id");
}
if (attr(api, "notification-level")) {
self.setData("notification-level", api.data("notification-level"));
}
api = api.get().className.split(" ").filter(function(ndx) {
return "active" != ndx && "visible" != ndx;
});
self.setData("previous", "." + api.join("."));
reset(self);
}
}
return false;
});
$("dialog-customize", "notification-settings", function() {
var table = jQuery(".notification-settings.dialog");
var node = getDiv(table.data("document-id"));
if (node.empty()) {
node = byId(table.data("id"));
}
if (jQuery("div.thread").empty()) {
if (node.empty()) {
$target = table.data("notification-level");
} else {
$target = node.data("notification-level");
jQuery("div.folder > .body").append(table);
}
} else {
$target = jQuery("div.thread");
table.setData("id", $target.data("id"));
var $target = $target.data("notification-level");
}
table.find(".notification-level").k("selected");
table.find(".notification-level[data-level='" + $target + "']").g("selected");
if (!node.empty()) {
node.g("settings-dialog-active");
}
return true;
});
$("click", "pin", function() {
var output = this;
next("/-/pin", {
object : this.data("id"),
secret_path : setAttribute() || ""
}, function(val) {
onComplete(val);
output.parent(".document-menu").g("pinned");
output.parent(".folder-settings").g("pinned");
if (val.new_listen_cursor) {
var rvar = isNaN(val.thread_metadata, GameObject);
changeState(rvar);
teardown(val.new_listen_cursor, val.new_listen_hostname, val.new_listen_port, true);
}
});
return false;
});
$("click", "unpin", function() {
var target = this.data("id");
var output = this;
if (this.j("archive")) {
return close(), next("/-/unpin", {
object : target,
secret_path : setAttribute() || ""
}, function(val) {
onComplete(val);
output.parent(".document-menu").k("pinned");
output.parent(".folder-settings").k("pinned");
}), false;
}
var err = this.data("logical-parent");
err = 14 == validTest(target) ? err ? callback("This folder is pinned to your Desktop. If you unpin it, you will still be able to find it in the %(folder_name)s folder and via search, but it will no longer be visible on your Desktop.", {
folder_name : err
}) : callback("This folder is pinned to your Desktop. If you unpin it, you will still be able to find it via search and in your Archive folder, but it will no longer be visible on your Desktop.") : err ? callback("This document is pinned to your Desktop. If you unpin it, you will still be able to find it in the %(folder_name)s folder and via search, but it will no longer be visible on your Desktop.", {
folder_name : err
}) : callback("This document is pinned to your Desktop. If you unpin it, you will still be able to find it via search and in your Archive folder, but it will no longer be visible on your Desktop.");
removeClass(err, callback("Unpin [un-'pin' a document or folder from the desktop]"), callback("Cancel"), function(dataAndEvents) {
if (dataAndEvents) {
next("/-/unpin", {
object : target
}, function(val) {
onComplete(val);
output.parent(".document-menu").k("pinned");
output.parent(".folder-settings").k("pinned");
});
}
});
return false;
});
$("click", "delete-folder", function() {
var model = this.parent(".folder-settings").data("id");
close();
gzip(model);
return false;
});
$("click", "make-restricted", function() {
var pdataCur = this.parent(".folder-sharing").data("id");
compiler(pdataCur);
return false;
});
$("click", "remove-restriction", function() {
next("/-/modify-inherit-mode", {
folder : this.parent(".folder-sharing").data("id"),
inherit_mode : 0
}, function(val) {
onComplete(val);
});
close();
return false;
});
$("dialog-customize", "folder-sharing", function() {
doc.load();
return true;
});
$("search-handler", "folder-sharing", function() {
var result = this.parent(".folder-sharing");
var field = result.find("input").disable();
var message = this.data("address");
if (null != message) {
return confirm(message, this.data("name") || "", this.parent().parent().find(".sharing-invite").data("id"), function() {
standard();
obj.input.search.call(field.enable().clear(), null);
}, function() {
field.enable();
}), true;
}
onChange(result.data("id"), this.data("id"), field);
return true;
});
$("keydown", "folder-sharing", function(event) {
if (13 == event.keyCode && (this.value() && changeDelimiters(this.value()))) {
return event = this.parent().parent().find(".sharing-invite"), confirm(this.value(), void 0, event.data("id"), function() {
standard();
}), moveHandler(this), false;
}
if (event.keyCode == touchend) {
if (0 == this.value().length) {
standard();
}
}
return obj.keydown.search.call(this, event);
});
$("click", "remove-folder-member", function(count) {
var e = jQuery(".folder-members").data("id");
var orig = this.parent(".object-row").data("id");
var result = this.parent(".object-row").find(".title").get().innerText;
respond(e, orig, result, repush(count));
return false;
});
$("keydown", "folder-rename", function(event) {
return 13 == event.keyCode ? (this.blur(), false) : true;
});
$("input", "folder-rename", function() {
var doc = this.parent(".folder-settings").data("id");
byId(doc).find(".folder-thumbnail-title").ca(this.value());
return true;
});
$("blur", "folder-rename", function() {
var value = this.value();
if (value != this.data("title")) {
this.setData("title", value);
next("/-/rename-folder", {
folder : this.parent(".folder-settings").data("id"),
title : value
}, function(val) {
onComplete(val);
});
}
return true;
});
$("click", "folder-color", function() {
var t = this.parent(".folder-create");
/** @type {boolean} */
var b = !t.empty();
if (!b) {
t = this.parent(".folder-settings");
}
var doc = t.data("id");
t = t.find(".color");
t.k("selected");
this.g("selected");
if (b) {
return false;
}
var data = byId(doc).find(".folder-page");
if (!data.empty()) {
expect(t, function() {
data.k(jQuery(this).data("color"));
});
data.g(this.data("color"));
}
next("/-/folder-color", {
folder : doc,
color : this.data("color")
}, function(val) {
onComplete(val);
});
return false;
});
$("contextmenu", "thumbnail", function(event) {
if (winnow(this)) {
return false;
}
var $ul = likeArray(this) ? jQuery(".folder-thumbnail-menu.dialog") : jQuery(".document-menu.dialog");
close();
createOption($ul, this, {
left : event.clientX,
top : event.clientY
});
return false;
});
$("drop", "folder", function(e) {
var self = jQuery(".thumbnail-stack.dragging");
var parent = jQuery(".folder-stack.highlighted");
if (e.dataTransfer && (e.dataTransfer.files && 0 < e.dataTransfer.files.length)) {
var restoreScript = floor();
if (!parent.empty()) {
restoreScript = parent.data("id");
}
parent = self.next();
if (!parent.j("thumbnail-stack")) {
/** @type {null} */
parent = null;
}
self.k("dragging").g("importing");
var a = callback("Importing...");
/** @type {number} */
var i = 0;
for (;i < e.dataTransfer.files.length;i++) {
var t = e.dataTransfer.files[i].name;
if (t) {
a = t;
break;
}
}
gg(self, a);
del(restoreScript, e.dataTransfer.files, parent ? parent.data("id") : "");
updateSlides();
return false;
}
updateSlides();
if (self.empty()) {
return false;
}
if (parent.empty()) {
self.k("dragging");
parent = self.next();
if (!parent.j("thumbnail-stack")) {
/** @type {null} */
parent = null;
}
next("/-/move-before", {
folder : floor(),
object : self.data("id"),
next : parent ? parent.data("id") : ""
}, function(val) {
onComplete(val);
});
} else {
_add(self, parent.data("id"));
}
return false;
});
$("dragleave", "folder", function(event) {
var b = event.clientY || relPos.y;
return 0 == (event.clientX || relPos.x) && 0 == b ? (jQuery(".thumbnail-stack.dragging.filedrop").remove(), true) : false;
});
$("dragstart", "thumbnail", function(e) {
processOne();
this.g("dragging");
var s = this.find("a");
s.setAttribute("saved-href", s.getAttribute("href")).removeAttribute("href");
this.find("a").removeAttribute("href");
s = this.find(".thumbnail");
var result = _qwery(s);
s = val(setSize(createElement("div", "drag-object").append(s.ya()), result.left), result.top).setData("offset-left", result.left - e.clientX).setData("offset-top", result.top - e.clientY);
/** @type {RegExp} */
var n = /theme-/;
/** @type {Array} */
result = [];
/** @type {number} */
var i = 0;
for (;i < this.q.length;i++) {
if (this.q[i].className) {
var lines = this.q[i].className.split(" ");
/** @type {number} */
var j = 0;
for (;j < lines.length;j++) {
if (n.test(lines[j])) {
result.push(lines[j]);
}
}
}
}
/** @type {number} */
n = 0;
for (;n < result.length;n++) {
s.g(result[n]);
}
jQuery("#app").append(s).g("desktop-dragging");
if (e.dataTransfer) {
if (e.dataTransfer.setDragImage) {
e.dataTransfer.setDragImage(jQuery("#empty-image").get(), 0, 0);
}
}
if (!winnow(this)) {
nextTick(res, bind(map, null, this));
}
if (external) {
fabric.Zr = addEvent(document.body, "dragover", onMouseOver);
}
return true;
});
$("drag", "thumbnail", function(e) {
var obj = jQuery(".drag-object");
var memo = e.clientX || relPos.x;
e = e.clientY || relPos.y;
if (0 == memo && 0 == e) {
return obj.ua(), true;
}
var str = assertEquals(obj, "offset-left");
var type = assertEquals(obj, "offset-top");
val(setSize(obj, memo + str), e + type);
obj.show();
return true;
});
$("dragend", "thumbnail", function() {
updateSlides();
return false;
});
$("dragenter", "thumbnail", function(e) {
var body = jQuery(".thumbnail-stack.dragging");
e = isValidFileDrag(e);
if (body.empty()) {
if (e) {
body = Meow("filedrop");
}
}
if (body.empty() || (body.wa(this) || (start(this, ".degraded") || winnow(body) && likeArray(this)))) {
return false;
}
if (likeArray(this) && !e) {
if (likeArray(body) && !all(res.Ka(body.data("id")), res.Ka(this.data("id")))) {
return false;
}
this.g("highlighted");
} else {
if (body.Pg(this)) {
parseInt(body, this);
} else {
body.insertBefore(this);
}
}
return false;
});
$("dragleave", "thumbnail", function() {
if (likeArray(this)) {
this.k("highlighted");
}
return false;
});
$("dragenter", "folder-picker", function() {
this.g("highlighted");
return false;
});
$("dragleave", "folder-picker", function() {
this.k("highlighted");
return false;
});
$("drop", "folder-picker", function() {
var $this = jQuery(".thumbnail-stack.dragging");
updateSlides();
if ($this.empty()) {
return false;
}
if (this.j("new-folder")) {
$this.g("moving-to-new-folder");
jQuery(".folder-picker").g("creating-new-folder");
$this = jQuery(".dialog." + this.data("dialog"));
obj.click.dialog.call(this, null);
var rect = this.ga();
if ($this.j("bottom")) {
runCallbacks($this, $this.parent().ga().bottom - rect.top);
} else {
val($this, rect.bottom);
}
} else {
if (this.j("search-for-folder")) {
this.k("highlighted");
stringifyObject($this);
} else {
_add($this, this.data("id"));
}
}
return false;
});
$("click", "folder-picker-search-cancel", function() {
moveHandler(jQuery(".folder-picker .search-box input"));
return false;
});
$("search-clear-handler", "folder-picker-search-box", function() {
filterit();
return true;
});
$("search-handler", "folder-picker-search-box", function() {
var suiteView = jQuery(".thumbnail-stack.searching");
_add(suiteView, this.data("id"));
filterit();
return true;
});
$("search-filter", "folder-picker-search-box", function() {
return this.id in special;
});
$("search-filter", "email-only-search", function() {
return-1 != this.address.search("@");
});
$("click", "folder-create-create", function() {
var targets = jQuery(".thumbnail-stack.moving-to-new-folder");
var parent = this.parent(".folder-create");
var inp = parent.find("input");
var data = inp.value().trim();
var item = parent.find(".color.selected");
if (!data) {
return false;
}
close();
data = {
parent_folder_id : floor(),
title : data,
color : item.data("color")
};
next("/-/new-folder", data, function(scope) {
if (1 == scope.max_depth) {
removeClass(callback("Cannot create a folder here, the maximum depth is 5."), extend(detectDevice(), "en") ? "Bummer" : callback("OK"), null, function() {
});
} else {
inp.af("");
item.k("selected");
parent.find(".color.manila").g("selected");
onComplete(scope.update);
if (!targets.empty()) {
redraw(targets, scope.folder_id, false);
}
}
});
return false;
});
$("keydown", "folder-create-name", function(e) {
return 13 == e.keyCode ? (obj.click["folder-create-create"].call(this, e), false) : true;
});
$("click", "folder-create-cancel", function() {
close();
return false;
});
$("dialog-cleanup", "folder-create", function() {
if (jQuery(".folder-picker").j("creating-new-folder")) {
nivoRun();
}
return true;
});
$("click", "move-folder-object", function() {
var obj = jQuery(".thumbnail-stack[data-id='" + this.data("id") + "']");
if (!obj.empty()) {
map(obj);
stringifyObject(obj);
close();
}
return false;
});
$("click", "show-thread-sharing", function() {
if ("desktop-mode" != execCommand()) {
return obj.click.dialog.call(this, null);
}
next("/-/thread-sharing-dialog", {
id : this.data("id")
}, function(some) {
is(get(some.html));
});
return false;
});
$("click", "show-link-sharing", function() {
if ("desktop-mode" != execCommand()) {
return obj.click.dialog.call(this, null);
}
next("/-/link-sharing-dialog", {
id : this.data("id")
}, function(some) {
is(get(some.html));
});
return false;
});
$("click", "show-link-permissions", function() {
if ("desktop-mode" != execCommand()) {
return obj.click.dialog.call(this, null);
}
next("/-/link-permissions-dialog", {
id : this.data("id")
}, function(some) {
is(get(some.html));
});
return false;
});
$("click", "show-folder-sharing", function() {
next("/-/folder-sharing-dialog", {
id : this.data("id")
}, function(some) {
is(get(some.html));
});
return false;
});
$("click", "create-team-dialog", function() {
next("/-/create-team-dialog", {}, function(some) {
close();
jQuery("#app").append(get(some.html).show());
finish(function() {
jQuery(".nux-dialog").k("inactive");
checkComplete();
});
});
return false;
});
$("submit", "create-team", function() {
var input = this.find("input[name=name]");
var item = this.find("textarea[name=emails]");
var selected = this.find("input[name=domain]");
if (!input.value()) {
return input.focus(), false;
}
if (!item.value()) {
return item.focus(), false;
}
selected = selected.get() && selected.get().checked ? selected.value() : "";
this.find("input,button").disable();
next("/-/create-team", {
name : input.value(),
emails : item.value(),
domain : selected
}, function(chat) {
close();
put(chat);
});
return false;
});
handleEvent(!isCORS || isHorizontal ? 78 : 192, indents | ERROR_HANDLED, function() {
del(floor());
return true;
});
getEnumerableProperties(new configure(78, indents | ERROR_HANDLED), 0, callback("Create a new document"));
getEnumerableProperties(handleEvent(keys.M, indents | ERROR_HANDLED, function() {
if ("desktop-mode" != execCommand()) {
j();
}
if (data.Ed.Xg) {
obj.click["show-chat-list"].call(jQuery(".chat.button"), null);
} else {
obj.click.dialog.call(jQuery(".compose.button"), null);
}
return true;
}), 0, callback("Create a new message"));
getEnumerableProperties(handleEvent(keys.D, indents | backgroundLayerMask, function() {
before(res.Qf());
return true;
}), 0, callback("Go to the desktop"));
attempt(function() {
if ("desktop-mode" == execCommand()) {
dayFromMonth();
setData(floor());
}
});
/**
* @return {?}
*/
var now = function() {
return Date.now ? Date.now() : (new Date).getTime();
};
/**
* @return {?}
*/
var resetQueues = function() {
return now();
};
if (window.performance) {
/** @type {Performance} */
var perf = window.performance;
/** @type {function (this:Performance): number} */
var ename = perf.now || (perf.mozNow || (perf.webkitNow || (perf.msNow || perf.oNow)));
if (ename) {
resetQueues = bind(ename, perf);
}
}
/**
* @param {(boolean|number|string)} a
* @param {(boolean|number|string)} b
* @return {?}
*/
var mk_block = function(a, b) {
return a < b ? -1 : a > b ? 1 : 0;
};
/**
* @return {?}
*/
var S4 = function() {
return(65536 * (1 + Math.random()) | 0).toString(16).substring(1);
};
/**
* @param {string} url
* @return {?}
*/
var getLocation = function(url) {
/** @type {Element} */
var anchor = document.createElement("a");
/** @type {string} */
anchor.href = url;
return anchor.href;
};
/**
* @param {Object} node
* @param {number} start
* @param {number} deepDataAndEvents
* @return {?}
*/
var toString = function(node, start, deepDataAndEvents) {
start = start || 0;
var file = template(" ", start);
switch(node.nodeType) {
case ELEMENT_NODE:
var line = node.nodeName.toLowerCase();
/** @type {string} */
var str = file + "<" + line;
/** @type {number} */
var i = 0;
for (;i < node.attributes.length;i++) {
var seg = node.attributes[i];
/** @type {string} */
str = str + (" " + seg.name + "='" + seg.value + "'");
}
if (node.firstChild) {
str += ">\n";
if (exec(deepDataAndEvents) && start + 1 == deepDataAndEvents) {
str += file + " [" + node.children.length + " children]\n";
} else {
node = node.firstChild;
for (;node;node = node.nextSibling) {
str += toString(node, start + 1, deepDataAndEvents);
}
}
str += file + "</" + line + ">\n";
} else {
str += "/>\n";
}
return str;
case SELECT:
/** @type {string} */
str = file + "'";
/** @type {number} */
i = 0;
for (;i < node.data.length;i++) {
start = node.data.charCodeAt(i);
str = 32 <= start && 127 >= start ? str + node.data[i] : str + ("&#" + start + ";");
}
return str + "'\n";
case 9:
return file + "#document";
default:
return "Unexpected node type: " + node.nodeType;
}
};
/**
* @param {Array} code
* @return {?}
*/
var response = function(code) {
/** @type {string} */
var d = "";
expect(createAndInsertIframeForContent(code), function() {
d += toString(this);
});
return d;
};
/** @type {RegExp} */
var rtagName = /^data:([\w/]+)?(;charset=w+)?(;base64)?,(.+)$/;
/**
* @param {string} value
* @return {?}
*/
var dataURLToBlob = function(value) {
/** @type {(Array.<string>|null)} */
var a = rtagName.exec(value);
if (!a) {
return console.error("Invalid data URL", value), null;
}
/** @type {string} */
value = a[1];
/** @type {string} */
var data = a[4];
a = a[3] ? window.atob(data) : decodeURIComponent(data);
/** @type {ArrayBuffer} */
data = new ArrayBuffer(a.length);
/** @type {Uint8Array} */
data = new Uint8Array(data);
/** @type {number} */
var i = 0;
for (;i < a.length;i++) {
data[i] = a.charCodeAt(i);
}
a = {};
if (value) {
/** @type {string} */
a.type = value;
}
return new Blob([data.buffer], a);
};
/** @type {null} */
var newValue = null;
append("util.setAwsS3CdnUrl", function(elValue) {
/** @type {(Date|string)} */
newValue = elValue;
});
/**
* @param {string} value
* @return {?}
*/
var hash = function(value) {
if (!newValue) {
throw Error("AWS S3 CDN base URL was not set.");
}
return newValue + value;
};
/** @type {null} */
var tp = null;
append("util.setGlobalRandomSeed", function(tpr) {
tp = tpr;
});
/**
* @param {number} storage
* @param {?} v
* @param {Function} a
* @param {Function} trim
* @return {?}
*/
var restoreMarkdownConf = function(storage, v, a, trim) {
/** @type {number} */
var removeFrom = 0;
/** @type {number} */
storage = storage.length - 1;
for (;removeFrom <= storage;) {
/** @type {number} */
var source = Math.floor((removeFrom + storage) / 2);
var m = trim(source);
m = a(m, v);
if (0 > m) {
/** @type {number} */
removeFrom = source + 1;
} else {
if (0 < m) {
/** @type {number} */
storage = source - 1;
} else {
return source;
}
}
}
return removeFrom;
};
/**
* @param {?} var_args
* @param {?} listener
* @param {?} widget
* @return {undefined}
*/
var instance = function(var_args, listener, widget) {
this.Zs = var_args;
this.Sy = listener;
/** @type {Array} */
this.Wf = [];
this.rj = {};
if (widget) {
/** @type {boolean} */
this.bi = true;
/** @type {Array} */
this.sf = [];
/** @type {Array} */
this.fi = [];
}
};
/**
* @param {?} type
* @return {?}
*/
instance.prototype.add = function(type) {
if (removeAttribute(this, type)) {
return false;
}
if (this.bi) {
return this.sf.push(type), true;
}
var n = validator(this.Wf, type, this.Zs);
var rvar = this.Wf[n - 1];
var name = this.Wf[n];
this.Wf.splice(n, 0, type);
this.rj[this.ha(type)] = {
item : type,
Ji : rvar,
Hi : name
};
if (rvar) {
removeAttribute(this, rvar).Hi = type;
}
if (name) {
removeAttribute(this, name).Ji = type;
}
return true;
};
/**
* @param {?} name
* @return {?}
*/
instance.prototype.remove = function(name) {
if (this.bi) {
if (this.fi.length || this.sf.length) {
updateTree(this);
}
}
return convert(this, name, validator(this.Wf, name, this.Zs));
};
/**
* @param {Object} node
* @param {?} name
* @param {?} pos
* @return {?}
*/
var convert = function(node, name, pos) {
var descriptor = removeAttribute(node, name);
if (!descriptor) {
return false;
}
node.Wf.splice(pos, 1);
delete node.rj[node.ha(name)];
if (descriptor.Ji) {
removeAttribute(node, descriptor.Ji).Hi = descriptor.Hi;
}
if (descriptor.Hi) {
removeAttribute(node, descriptor.Hi).Ji = descriptor.Ji;
}
return true;
};
/**
* @param {?} options
* @param {?} type
* @param {?} value
* @return {undefined}
*/
var onUpdate = function(options, type, value) {
var node = options.rj[value];
if (node) {
if (node.item == type) {
delete options.rj[value];
options.rj[options.ha(type)] = node;
}
}
};
/**
* @param {Object} args
* @param {string} complete
* @return {undefined}
*/
var generate = function(args, complete) {
if (args.bi) {
args.fi.push(complete);
} else {
convert(args, complete, index(args.Wf, complete));
args.add(complete);
}
};
/**
* @param {?} elem
* @param {Object} name
* @return {?}
*/
var getProp = function(elem, name) {
if (elem.bi) {
if (elem.fi.length || elem.sf.length) {
updateTree(elem);
}
}
var queue = removeAttribute(elem, name);
return[queue.Ji, queue.Hi];
};
/**
* @return {?}
*/
instance.prototype.items = function() {
if (this.bi) {
if (this.fi.length || this.sf.length) {
updateTree(this);
}
}
return this.Wf;
};
/**
* @param {Object} c
* @return {undefined}
*/
var updateTree = function(c) {
var arr2 = {};
/** @type {number} */
var j = 0;
for (;j < c.sf.length;j++) {
/** @type {number} */
arr2[c.ha(c.sf[j])] = 1;
}
/** @type {number} */
j = 0;
for (;j < c.fi.length;j++) {
var name = c.fi[j];
var i = c.ha(name);
if (!(i in arr2)) {
/** @type {number} */
arr2[i] = 1;
convert(c, name, index(c.Wf, name));
c.sf.push(name);
}
}
/** @type {Array} */
c.fi = [];
/** @type {boolean} */
c.bi = false;
/** @type {number} */
j = 0;
for (;j < c.sf.length;j++) {
c.add(c.sf[j]);
}
/** @type {Array} */
c.sf = [];
/** @type {boolean} */
c.bi = true;
};
/**
* @param {?} elem
* @param {?} name
* @return {?}
*/
var removeAttribute = function(elem, name) {
return elem.rj[elem.ha(name)];
};
/**
* @param {?} keepData
* @return {?}
*/
instance.prototype.ha = function(keepData) {
return this.Sy(keepData);
};
/**
* @param {?} obj
* @param {(number|string)} val
* @return {?}
*/
var forIn = function(obj, val) {
/** @type {null} */
var result = null;
var key;
for (key in obj) {
if (obj[key] == val) {
/** @type {string} */
result = key;
}
}
if (!result) {
result = val.toString();
}
return result;
};
/**
* @param {Function} size
* @return {undefined}
*/
var reduce = function(size) {
if (isFn()) {
var firstDay = resetQueues();
/**
* @param {number} i
* @return {undefined}
*/
var run = function(i) {
if (i >= firstDay + 500) {
size(1);
} else {
/** @type {number} */
i = (i - firstDay) / 500;
size(0 > i ? 0 : 3 * i * i - 2 * i * i * i);
synchronize(run);
}
};
synchronize(run);
} else {
size(1);
}
};
/**
* @param {Object} str
* @return {undefined}
*/
var entity = function(str) {
/** @type {Object} */
this.hn = str;
};
/**
* @param {(number|string)} key
* @param {?} value
* @return {?}
*/
entity.prototype.get = function(key, value) {
/** @type {string} */
key = this.hn + "-" + key;
return key in this.Vn ? JSON.parse(this.Vn[key]) : value;
};
/**
* @param {string} type
* @param {(boolean|number|string)} opt_isDefault
* @return {undefined}
*/
entity.prototype.set = function(type, opt_isDefault) {
/** @type {string} */
this.Vn[this.hn + "-" + type] = JSON.stringify(opt_isDefault);
};
/**
* @param {Object} req
* @return {undefined}
*/
var Cookie = function(req) {
/** @type {Object} */
this.hn = req;
/** @type {(Storage|null)} */
this.Vn = window.sessionStorage;
};
inherits(Cookie, entity);
/**
* @param {Object} dataAndEvents
* @return {undefined}
*/
var parentName = function(dataAndEvents) {
/** @type {Object} */
this.hn = dataAndEvents;
/** @type {(Storage|null)} */
this.Vn = window.localStorage;
};
inherits(parentName, entity);
var prefs = new Cookie("debug");
/** @type {boolean} */
var bytenew = false;
/**
* @return {?}
*/
var getNativeElement = function() {
return prefs.get("enabled", bytenew);
};
/**
* @return {undefined}
*/
var setHtml = function() {
};
/**
* @param {string} fmt
* @param {Object} opt_attributes
* @return {undefined}
*/
var controller = function(fmt, opt_attributes) {
console.groupCollapsed(fmt);
console.log.apply(console, Array.prototype.slice.call(arguments, 1));
console.groupEnd();
};
var a1 = {};
append("debug.timings", function() {
console.log("Timings:");
var p;
for (p in a1) {
var o = a1[p];
console.log(" " + p + ": " + Math.round(o.time / o.dz * 1E3) / 1E3 + "ms/invocation (" + Math.round(1E3 * o.time) / 1E3 + "ms for " + o.dz + " invocations)");
}
});
append("idspispopd", function() {
/** @type {boolean} */
var opt_isDefault = !getNativeElement();
prefs.set("enabled", opt_isDefault);
/** @type {boolean} */
opts.Ck = opt_isDefault;
});
append("idclip", function() {
debugger;
});
/**
* @param {number} opt_attributes
* @param {Function} fn
* @return {?}
*/
var _concat = function(opt_attributes, fn) {
return handleEvent(opt_attributes, indents | backgroundLayerMask | ERROR_HANDLED, function(err) {
return getNativeElement() ? fn(err) : false;
});
};
/**
* @return {undefined}
*/
var EventEmitter = function() {
this.tq = resetQueues();
/** @type {Array} */
this.Fe = [];
};
/**
* @param {Function} fn
* @return {undefined}
*/
EventEmitter.prototype.addListener = function(fn) {
this.Fe.push(fn);
};
/**
* @return {undefined}
*/
EventEmitter.prototype.br = function() {
/** @type {number} */
var r20 = resetQueues() - this.tq;
this.tq = resetQueues();
/** @type {number} */
var conditionIndex = 0;
for (;conditionIndex < this.Fe.length;conditionIndex++) {
this.Fe[conditionIndex](r20);
}
};
/**
* @param {number} opt_attributes
* @return {?}
*/
var $broadcast = function(opt_attributes) {
var transaction = ee;
return resetQueues() - transaction.tq <= opt_attributes;
};
var ee = new EventEmitter;
attempt(function() {
if (!syntax || !_isSafari) {
var handler = ee;
handler = bind(handler.br, handler);
addEvent(window.document.body, "mousemove", handler);
addEvent(window.document.body, "keydown", handler);
}
});
/**
* @return {undefined}
*/
var Selection = function() {
/** @type {Array} */
this.Fe = [];
/** @type {number} */
this.wn = 0;
if ("onselectionchange" in document) {
/** @type {boolean} */
this.Dr = false;
if (isContentHeight) {
defineProperties(this);
addEvent(document, "selectionchange", bind(this.Vo, this, "selectionchange"));
} else {
addEvent(document, "selectionchange", bind(this.Dk, this, null));
}
} else {
setEventHandlers(this);
}
};
/**
* @param {?} self
* @return {undefined}
*/
var setEventHandlers = function(self) {
/** @type {boolean} */
self.Dr = true;
defineProperties(self);
if (isFn()) {
_handle(self);
} else {
self.pause();
}
addEvent(document.body, "keypress", bind(self.lm, self, "keypress"));
addEvent(document.body, "mousedown", bind(self.Mx, self));
freeze(bind(function(dataAndEvents) {
if (dataAndEvents) {
triggerEvents(this);
} else {
this.pause();
}
}, self));
};
/**
* @param {?} object
* @return {undefined}
*/
var defineProperties = function(object) {
object.Tg = {
rangeCount : 0,
isCollapsed : true,
anchorNode : null,
anchorOffset : 0,
focusNode : null,
focusOffset : 0
};
};
self = Selection.prototype;
/**
* @param {Function} fn
* @return {undefined}
*/
self.addListener = function(fn) {
this.Fe.push(fn);
};
/**
* @param {string} event
* @return {undefined}
*/
self.uh = function(event) {
var uncaught = bind(function(values) {
this.removeListener(uncaught);
event(values);
}, this);
this.addListener(uncaught);
};
/**
* @param {Function} fn
* @return {undefined}
*/
self.removeListener = function(fn) {
removeAll(this.Fe, fn);
};
/**
* @return {undefined}
*/
self.pause = function() {
this.wn++;
if (this.Dr) {
if (this.pu) {
/** @type {boolean} */
this.pu = false;
window.clearInterval(this.Oz);
}
}
};
/**
* @param {?} obj
* @return {undefined}
*/
var triggerEvents = function(obj) {
obj.wn--;
if (0 == obj.wn) {
if (obj.Dr) {
_handle(obj);
}
}
};
/**
* @param {boolean} recurring
* @return {undefined}
*/
self.Dk = function(recurring) {
recurring = recurring || window.getSelection();
if (!(0 < this.wn)) {
/** @type {number} */
var conditionIndex = 0;
for (;conditionIndex < this.Fe.length;conditionIndex++) {
this.Fe[conditionIndex](recurring);
}
}
};
/**
* @param {?} context
* @return {undefined}
*/
var _handle = function(context) {
/** @type {boolean} */
context.pu = true;
context.Oz = createDom(bind(context.Vo, context, "polling"), 250);
};
/**
* @return {undefined}
*/
self.Vo = function() {
/** @type {(Selection|null)} */
var recurring = window.getSelection();
if (recurring) {
/** @type {boolean} */
var b = false;
var name;
for (name in this.Tg) {
var value = recurring[name];
if (value != this.Tg[name]) {
this.Tg[name] = value;
/** @type {boolean} */
b = true;
}
}
if (b) {
this.Dk(recurring);
}
}
};
self.lm = crop(Selection.prototype.Vo);
/**
* @return {undefined}
*/
self.Mx = function() {
this.lm("mousedown");
this.Nx = addEvent(document, "mousemove", bind(this.Ox, this));
this.Px = addEvent(document, "mouseup", bind(this.Qx, this));
};
/**
* @return {undefined}
*/
self.Ox = function() {
this.lm("mousemove");
};
/**
* @return {undefined}
*/
self.Qx = function() {
this.lm("mouseup");
removeListener(this.Nx);
removeListener(this.Px);
};
var events = new Selection;
/**
* @return {undefined}
*/
var d = function() {
this.Xa = jQuery("#chat-tabs");
/** @type {Array} */
this.Cc = [];
this.Bc = {};
/** @type {number} */
this.sp = this.Yj = 0;
/** @type {boolean} */
this.up = false;
rotate(this, execCommand());
freeze(bind(function() {
/** @type {number} */
var i = 0;
for (;i < this.Cc.length;i++) {
var seg = this.Cc[i];
if (seg.Sg) {
seg.show();
}
}
}, this));
};
/**
* @param {?} name
* @param {?} optgroup
* @param {boolean} recurring
* @return {undefined}
*/
d.prototype.update = function(name, optgroup, recurring) {
if (name != html() && !this.up) {
var viewName = optgroup.data("replacement-for");
if (viewName) {
var view = this.Bc[viewName];
if (view) {
eventType(optgroup, "replacement-for");
delete this.Bc[viewName];
this.Bc[name] = view;
view.replace(name, optgroup, recurring);
}
} else {
if (name in this.Bc) {
this.Bc[name].update(optgroup, recurring);
} else {
view = new Resize(name, optgroup, recurring);
this.Cc.push(view);
this.Bc[name] = view;
name = now();
view.Ol = name;
dispatchEvent(result);
name = view;
/** @type {number} */
name.Wk = this.Cc.length - 1;
getElement(name);
applyStyle(view, 1);
view.add(this.Xa);
}
}
}
};
/**
* @param {?} obj
* @param {string} key
* @param {?} object
* @return {undefined}
*/
var hasKey = function(obj, key, object) {
if (!(data.ka && data.ka.id == key)) {
next("/-/chat-tab", {
user_id : key
}, bind(function(data) {
if (object) {
object();
}
var fileId = data.thread_id;
if (fileId == html()) {
jQuery(".thread[data-id='" + fileId + "'] .input .text").focus();
} else {
var recurring = data.seen_message_sequence;
data = get(data.html);
pause(this, fileId, data, recurring);
}
}, obj));
}
};
/**
* @param {Array} recipients
* @param {(Element|string)} value
* @return {undefined}
*/
var _finish = function(recipients, value) {
var suiteView = result;
var selfObj = SavingFiles();
var in_chat_tab = silentOptions.j("chat-button");
close();
next("/-/start-thread", {
recipients : recipients,
title : value,
in_chat_tab : in_chat_tab
}, bind(function(next) {
selfObj.remove();
close();
if (in_chat_tab) {
setup(next);
pause(this, next.id, this.Bc[next.id].ea, 0);
} else {
onclick(next.id);
}
}, suiteView), function() {
selfObj.remove();
return true;
});
};
/**
* @param {Error} accessToken
* @return {undefined}
*/
var login = function(accessToken) {
var suiteView = result;
if (accessToken == html()) {
jQuery(".thread[data-id='" + accessToken + "'] .input .text").focus();
} else {
next("/-/chat-tab", {
thread_id : accessToken
}, bind(function(data) {
var recurring = data.seen_message_sequence;
data = get(data.html);
pause(this, accessToken, data, recurring);
}, suiteView));
}
};
/**
* @param {Element} self
* @param {Object} id
* @param {?} optgroup
* @param {boolean} recurring
* @return {undefined}
*/
var pause = function(self, id, optgroup, recurring) {
if (id != html() && !self.up) {
var element;
if (id in self.Bc) {
element = self.Bc[id];
element.update(optgroup, recurring, true);
} else {
element = new Resize(id, optgroup, recurring);
self.Cc.push(element);
self.Bc[id] = element;
id = now();
/** @type {Object} */
element.Ol = id;
dispatchEvent(result);
id = element;
/** @type {number} */
id.Wk = self.Cc.length - 1;
getElement(id);
applyStyle(element, 0);
element.add(self.Xa, true);
}
element.pn();
}
};
/**
* @param {?} $conditional
* @return {?}
*/
d.prototype.pn = function($conditional) {
return $conditional in this.Bc ? (this.Bc[$conditional].pn(), true) : false;
};
/**
* @param {?} options
* @param {(number|string)} value
* @return {undefined}
*/
var rotate = function(options, value) {
/** @type {boolean} */
var i = options.bm != value;
/** @type {(number|string)} */
options.bm = value;
if (!tween(options) && i) {
/** @type {number} */
i = 0;
for (;i < options.Cc.length;i++) {
getElement(options.Cc[i]);
}
}
};
/**
* @param {?} options
* @return {?}
*/
var tween = function(options) {
/** @type {boolean} */
var origContext = "desktop-mode" != options.bm && !(start(options.Xa, ".dialog.active") || start(jQuery("#app"), ".chat-list.active"));
return origContext != options.Ll ? (attach(options, origContext), true) : false;
};
/**
* @param {?} target
* @param {boolean} context
* @return {undefined}
*/
var attach = function(target, context) {
if (target.Ll != context) {
/** @type {boolean} */
target.Ll = context;
addClass(target.Xa, "stacked", context);
/** @type {number} */
var i = 0;
for (;i < target.Cc.length;i++) {
var self = target.Cc[i];
getElement(self);
off(self.ea, bind(self.Sq, self));
var v02 = 0 == self.ui && context ? target.Yj : self.eo;
addClass(self.qh, "none", 0 == v02);
self.qh.ca(v02);
}
}
};
/**
* @param {?} optgroup
* @return {undefined}
*/
var goNext = function(optgroup) {
var parent = result;
if (optgroup in parent.Bc) {
parent.remove(optgroup);
}
jQuery("#inbox .contact.selected").k("selected");
if (optgroup = removeData(optgroup)) {
jQuery("#inbox .contact[data-id='" + optgroup.id + "']").g("selected");
}
};
/**
* @param {?} name
* @return {undefined}
*/
d.prototype.remove = function(name) {
if (name in this.Bc) {
var item = this.Bc[name];
item.remove();
delete this.Bc[name];
name = index(this.Cc, item);
this.Cc.splice(name, 1);
for (;name < this.Cc.length;name++) {
item = this.Cc[name];
item.Wk = name;
getElement(item);
}
dispatchEvent(this);
}
};
/**
* @param {Array} properties
* @return {undefined}
*/
var dispatchEvent = function(properties) {
/** @type {number} */
var i = 0;
for (;i < properties.Cc.length;i++) {
var n = properties.Cc[i]
}
properties = toPaddedString(properties.Cc);
properties.sort(function(b, a) {
return a.Ol - b.Ol;
});
/** @type {number} */
i = 0;
for (;i < properties.length;i++) {
n = properties[i];
if (n.ui != i) {
slideTo(n, i);
}
}
};
/**
* @return {undefined}
*/
var stroke = function() {
var data = result;
data.sp++;
data.Xa.g("dialog-active");
};
/**
* @return {undefined}
*/
d.prototype.rp = function() {
this.sp--;
if (0 == this.sp) {
this.Xa.k("dialog-active");
}
};
/**
* @param {?} time
* @param {Object} element
* @param {?} opt_acc
* @return {undefined}
*/
var Resize = function(time, element, opt_acc) {
this.$n = time;
/** @type {Object} */
this.ea = element;
this.vq = opt_acc;
/** @type {number} */
this.ui = -1;
this.qf = element.find(".message-preview");
this.cd = element.find(".activity-log");
this.di = this.cd.find(".messages");
this.qh = element.find(".unread-count");
this.ql = element.find(".picture-grid");
};
self = Resize.prototype;
/**
* @param {?} type
* @param {number} expectedNumberOfNonCommentArgs
* @return {undefined}
*/
self.add = function(type, expectedNumberOfNonCommentArgs) {
expectedNumberOfNonCommentArgs = expectedNumberOfNonCommentArgs || false;
type.append(this.ea);
addClass(addClass(this.ea, "bounce-timing-function", !expectedNumberOfNonCommentArgs), "open-immediately", expectedNumberOfNonCommentArgs).g("new");
if (isFn()) {
this.show();
} else {
/** @type {boolean} */
this.Sg = true;
}
};
/**
* @return {undefined}
*/
self.show = function() {
/** @type {boolean} */
this.Sg = false;
var open_immediately = this.ea.j("open-immediately");
finish(bind(function() {
this.ea.k("new");
off(this.ea, bind(function() {
if (open_immediately) {
this.ea.k("open-immediately");
} else {
enter(this);
this.ea.k("bounce-timing-function");
}
}, this));
}, this));
this.Sq();
if (open_immediately) {
appendTo(this.di, 0);
} else {
push(bind(function() {
f(this.di, exitCode, bind(function() {
appendTo(this.di, 0);
}, this));
}, this), 300);
}
};
/**
* @param {Object} self
* @param {number} target
* @return {undefined}
*/
var slideTo = function(self, target) {
/** @type {number} */
self.ui = target;
addClass(self.ea, "top-tab", 0 == target);
getElement(self);
};
/**
* @param {Object} self
* @return {undefined}
*/
var getElement = function(self) {
var value = _connect(self);
var descriptor = getObject();
if (descriptor) {
self.ea.ja(pdataCur, "translateX(" + -value + "px)");
} else {
getDimensions(self.ea, value);
}
self.ea.ja("zIndex", String(100 - self.ui));
/** @type {number} */
value = -value - result.Xa.Sz();
var element = self.ea.find(".dialog");
if (descriptor) {
element.ja(pdataCur, "translateX(" + -value + "px)");
} else {
element.ja("marginRight", value + "px");
}
self.Sq();
if (self.cd.j("active")) {
ensureUp(self, self.cd);
}
};
/**
* @param {Object} obj
* @return {?}
*/
var _connect = function(obj) {
/** @type {number} */
var k = 0;
if (!data.Ed.Xg) {
if (!("desktop-mode" != result.bm)) {
/** @type {number} */
k = 58;
}
}
/** @type {number} */
var charWidth = 54;
var l = obj.Wk;
if (result.Ll) {
/** @type {number} */
charWidth = 5;
l = obj.ui;
}
return l * charWidth + k;
};
/**
* @return {undefined}
*/
self.Sq = function() {
var el = this.ea.find(".tooltip .thread-title");
if (getElementById(el)) {
css(el, "marginRight");
var b = el.ga();
/** @type {number} */
var innerWidth = window.innerWidth - 5;
if (b.right > innerWidth) {
el.ja("marginRight", 2 * (b.right - innerWidth) + "px");
}
}
};
/**
* @return {undefined}
*/
self.remove = function() {
if (isFn()) {
this.ea.g("removing");
off(this.ea, bind(function() {
this.ea.remove();
}, this));
} else {
this.ea.remove();
}
transaction(this.cd);
transaction(this.qf);
};
/**
* @param {?} name
* @param {boolean} recurring
* @param {boolean} deepDataAndEvents
* @return {undefined}
*/
self.update = function(name, recurring, deepDataAndEvents) {
/** @type {boolean} */
this.vq = recurring;
if (this.cd.j("active")) {
this.Br();
} else {
this.Ol = now();
dispatchEvent(result);
applyStyle(this, this.eo + 1);
}
recurring = name.find(".picture-grid");
replace(this.ql, recurring);
/** @type {boolean} */
this.ql = recurring;
if (1 < this.eo) {
transaction(this.qf);
} else {
if (!deepDataAndEvents) {
replace(this.qf.find(".preview"), name.find(".message-preview .preview"));
enter(this);
}
}
};
/**
* @param {?} o
* @param {string} value
* @return {undefined}
*/
self.replace = function(o, value) {
/**
* @param {?} error
* @param {Node} d
* @return {?}
*/
function callback(error, d) {
var settings = error.get();
var element = d.get();
element.className = settings.className;
var name;
for (name in settings.style) {
element.style[name] = settings.style[name];
}
return d;
}
/**
* @param {?} error
* @param {string} value
* @return {?}
*/
function stat(error, value) {
callback(error.find(".arrow"), value.find(".arrow"));
return callback(error, value);
}
this.$n = o;
this.qf = stat(this.qf, value.find(".message-preview"));
this.cd = stat(this.cd, value.find(".activity-log"));
this.di = callback(this.di, this.cd.find(".messages"));
this.qh = callback(this.qh, value.find(".unread-count"));
this.ql = callback(this.ql, value.find(".picture-grid"));
var suiteView = this.ea;
this.ea = callback(this.ea, value);
replace(suiteView, value);
appendTo(this.di, 0);
slideTo(this, this.ui);
this.Wk = this.Wk;
getElement(this);
};
/**
* @return {undefined}
*/
self.pn = function() {
setData(this.$n);
if (!this.cd.j("active")) {
exit(this);
}
};
/**
* @param {?} settings
* @return {undefined}
*/
var line = function(settings) {
stroke();
settings.g("visible");
finish(function() {
settings.g("active");
});
};
/**
* @param {?} obj
* @return {undefined}
*/
var transaction = function(obj) {
if (obj.j("active")) {
close(obj);
}
};
/**
* @param {Object} self
* @return {undefined}
*/
var enter = function(self) {
if (!start(result.Xa, ".dialog.active")) {
if (exec(self.fq)) {
protectedClearTimeout(self.fq);
}
line(self.qf);
var style = self.qf.find(".preview");
css(style, "width");
var e = style.find(".text");
if (!e.empty()) {
e = e.ga();
var rect = style.ga();
var margin = style.paddingRight();
if (e.right < rect.right - margin) {
style.gb(e.right - rect.left + margin);
}
}
ensureUp(self, self.qf);
self.fq = push(bind(function() {
transaction(this.qf);
delete this.fq;
}, self), 5E3);
}
};
/**
* @return {undefined}
*/
self.Fr = function() {
applyStyle(this, 0);
/** @type {number} */
this.Ol = -1;
dispatchEvent(result);
close();
line(this.cd);
ensureUp(this, this.cd);
appendTo(this.di, 0);
this.cd.find(".input .text").focus();
this.Br();
layer(this.$n);
};
/**
* @param {Object} self
* @param {Object} target
* @return {undefined}
*/
var ensureUp = function(self, target) {
/** @type {number} */
var t = window.innerWidth;
var delta = target.width();
/** @type {number} */
var x = t - _connect(self);
var size = self.ql.width();
/** @type {number} */
x = x - size;
/** @type {number} */
size = x + size / 2;
var $this = target.find(".arrow");
/** @type {number} */
var y = t + 5;
if (y - delta > x - 20) {
y = x - 20 + delta;
}
getDimensions(target, t - y);
getDimensions($this, y - size - $this.width() + 2);
};
/**
* @param {?} self
* @return {undefined}
*/
var exit = function(self) {
if (self.cd.j("active")) {
transaction(self.cd);
} else {
transaction(self.qf);
if (result.Ll) {
attach(result, false);
if (1 < result.Cc.length) {
off(result.Xa, bind(self.Fr, self));
} else {
self.Fr();
}
} else {
self.Fr();
}
}
};
/**
* @param {?} dataAndEvents
* @return {undefined}
*/
self.rp = function(dataAndEvents) {
if (dataAndEvents.wa(this.cd)) {
if ("desktop-mode" != result.bm) {
off(this.cd, function() {
tween(result);
});
}
}
};
/**
* @param {?} el
* @param {number} v02
* @return {undefined}
*/
var applyStyle = function(el, v02) {
/** @type {number} */
el.eo = v02;
addClass(el.qh, "none", 0 == v02);
el.qh.ca(v02);
var app = result;
/** @type {number} */
app.Yj = 0;
var self;
/** @type {number} */
var p = 0;
for (;p < app.Cc.length;p++) {
var n = app.Cc[p];
app.Yj += n.eo;
if (0 == n.ui) {
self = n;
}
}
if (app.Ll) {
addClass(self.qh, "none", 0 == app.Yj);
self.qh.ca(app.Yj);
}
};
/**
* @return {undefined}
*/
self.Br = function() {
if (getElementById(this.ea)) {
if (isFn() && $broadcast(3E5)) {
pass(this.$n, this.vq);
} else {
push(bind(this.Br, this), 1E3);
}
}
};
var result;
attempt(function() {
result = new d;
result.up = item.j("standalone");
});
$("click", "chat-tab", function() {
exit(result.Bc[this.data("id")]);
return false;
});
$("click", "chat-tab-close", function() {
result.remove(this.data("id"));
return false;
});
$("dialog-cleanup", "chat-tab", function() {
result.rp();
var filename = this.parent(".chat-tab").data("id");
if (filename = result.Bc[filename]) {
filename.rp(this);
}
return true;
});
$("input", "chat-tab", function() {
addClass(this, "dirty", arrayContains(this.find(".text,.files")));
return true;
});
$("click", "open-chat-tab", function() {
close();
_toString("listen");
hasKey(result, this.data("id"));
return false;
});
var seen = {};
/**
* @param {Object} obj
* @return {undefined}
*/
var effect = function(obj) {
click(data, obj, "chat-from-composer", jQuery(".chat-list .online-view .online .chat-list-section"));
/** @type {number} */
seen[obj.id] = 1;
};
/**
* @param {string} value
* @param {string} data
* @return {undefined}
*/
var loaded = function(value, data) {
_create("frequent-contacts", value);
var $this = jQuery(".frequent-contacts .contact");
var cl = $this.length();
/** @type {number} */
var c = jQuery(".recent-group-threads .thread-row").length() + cl - 6;
var targets = jQuery(".other-contacts .chat-list-section");
/** @type {number} */
var exports = 0;
for (;exports < c;exports++) {
targets.append(new klass([$this.get(cl - 1 - exports)]));
}
_create("other-contacts", data);
exports = jQuery(".chat-list .online-view .offline .chat-list-section");
if (!exports.empty()) {
if (!exports.j("loaded")) {
if (value) {
exports.append(get(value));
}
if (data) {
exports.append(get(data));
}
exports.g("loaded");
}
}
$this = jQuery(".chat-list .address-book .chat-list-section");
cl = $this.find(".address-row");
exports = appendModelPrefix();
/** @type {number} */
c = cl.length() - exports;
if (0 < c) {
/** @type {number} */
exports = 0;
for (;exports < c;exports++) {
$this.get(0).removeChild(cl.get(cl.length() - 1 - exports));
}
if (!start($this, ".address-row")) {
jQuery(".chat-list .address-book").ua();
}
}
};
/**
* @return {?}
*/
var appendModelPrefix = function() {
return 100 - (jQuery(".frequent-contacts .contact").length() + jQuery(".other-contacts .contact").length());
};
/**
* @param {string} type
* @param {string} d
* @return {undefined}
*/
var _create = function(type, d) {
if (d) {
var a = get(d);
var me = jQuery("." + type + " .chat-list-section");
if (!me.empty()) {
if (!me.j("loaded")) {
me.append(a);
me.g("loaded");
jQuery("." + type).show();
expect(a, function(option) {
/** @type {number} */
seen[jQuery(option).data("id")] = 1;
});
}
}
}
};
/** @type {null} */
var silentOptions = null;
/**
* @param {?} value
* @param {?} d
* @return {undefined}
*/
var setDate = function(value, d) {
value.find(".chat-members-section").show();
d.setData("click", "remove-user-from-chat");
value.find(".chat-members-list").append(d);
};
/**
* @return {undefined}
*/
var learn = function() {
off(jQuery(".chat-list"), function() {
tween(result);
});
};
/**
* @param {string} key
* @return {undefined}
*/
var access = function(key) {
if (silentOptions.j("chat-button")) {
hasKey(result, key);
} else {
var text = data.Ka(key).chat_thread_id;
if (text) {
onclick(text);
} else {
text = jQuery(".chat-list-composer");
text.setData("id", key);
createOption(text, silentOptions);
}
}
};
$("click", "create-group-chat", function() {
var e = jQuery(".group-composer-name-dialog");
reset(e);
return false;
});
$("click", "create-group-chat-cancel", function() {
reset(jQuery(".chat-contacts-dialog"));
return false;
});
$("keydown", "group-chat-name", function(event) {
return 13 == event.keyCode ? (obj.click["create-group-chat-next"].call(this.parent(".dialog").find(".right.action"), null), false) : true;
});
$("click", "create-group-chat-next", function() {
var e = this.parent(".dialog").find(".group-chat-name");
var result = e.value().trim();
if (!result) {
return e.focus(), false;
}
e = jQuery(".group-composer-members-dialog");
e.find(".group-chat-start").setData("group-name", result);
result = data;
var i;
/** @type {number} */
i = 200;
/** @type {Array.<string>} */
var item = Object.keys(result.od);
groupBy(result, item);
/** @type {Array.<string>} */
result = i ? item.slice(0, i) : item;
/** @type {number} */
i = 0;
for (;i < result.length;i++) {
/** @type {string} */
item = result[i];
if (item != data.ka.id) {
item = data.Jd(data.Ka(item));
item.g("presence");
item.setData("click", "add-user-to-chat");
e.find(".chat-contacts-list").append(item);
}
}
successCallback(e);
reset(e);
return false;
});
$("click", "open-new-group-thread", function() {
var udataCur = this.data("group-name");
/** @type {Array} */
var recipients = [];
expect(this.parent(".dialog").find(".chat-members-list").find(".object-row"), function() {
recipients.push(jQuery(this).data("id"));
});
if (2 > recipients.length) {
return false;
}
_finish(recipients, udataCur);
return false;
});
$("click", "add-user-to-chat", function() {
var udataCur = this.parent(".dialog");
setDate(udataCur, this);
return false;
});
$("click", "remove-user-from-chat", function() {
var closest = this.parent(".dialog");
text(closest.find(".chat-contacts-list"), this);
this.setData("click", "add-user-to-chat");
var ua = closest.find(".chat-members-section");
if (!arrayContains(closest.find(".chat-members-list"))) {
ua.ua();
}
return false;
});
$("search-filter", "group-chat-composer-add", function() {
return!start(jQuery("#chat-members-list"), ".object-row[data-id='" + this.id + "']");
});
$("search-handler", "group-chat-composer-add", function() {
var closest = this.parent(".dialog");
var month = closest.find(".chat-contacts-list").find(".object-row[data-id='" + this.data("id") + "']");
if (month.empty()) {
month = data.Jd(data.Ka(this.data("id")));
}
setDate(closest, month);
return true;
});
$("dialog-cleanup", "chat-contacts-dialog", function() {
moveHandler(this.find("input"));
learn();
return true;
});
$("dialog-cleanup", "chat-list-composer", function() {
unload(this.find(".message-input"));
indexOf(this.find(".chat-title"), "");
eventType(this.find(".message-input"), "recipients");
learn();
return true;
});
$("dialog-cleanup", "group-composer-name-dialog", function() {
this.find(".group-chat-name").af("");
learn();
return true;
});
$("dialog-cleanup", "group-composer-members-dialog", function() {
moveHandler(this.find("input"));
removeChild(this.find(".chat-members-list"));
this.find(".chat-members-section").ua();
removeChild(this.find(".chat-contacts-list"));
learn();
return true;
});
$("click", "show-chat-list", function() {
if (start(jQuery("#app"), ".chat-list.active") && silentOptions.wa(this)) {
return close(), false;
}
close();
var me = jQuery(".chat-contacts-dialog");
addClass(me, "composing", this.j("compose"));
createOption(me, this);
if (this.j("chat-button")) {
off(jQuery(".chat-contacts-dialog"), function() {
tween(result);
});
}
silentOptions = this;
return false;
});
$("dialog-customize", "chat-contacts-dialog", function() {
return 2 >= jQuery(".chat-contacts-dialog").find(".object-row").length() ? (createOption(jQuery(".add-contacts.dialog"), this), false) : true;
});
$("dialog-customize", "chat-list-composer", function() {
var self = jQuery(".chat-list-composer");
var test = data.Ka(self.data("id"));
indexOf(self.find(".chat-title"), test.name);
self.find(".message-input").setData("recipients", self.data("id"));
return true;
});
$("send-cleanup", "chat-list-composer", function() {
close();
eventType(jQuery(".chat-list-composer .message-input"), "recipients");
return true;
});
$("click", "chat-from-composer", function() {
close();
_toString("listen");
var data = this.data("id");
if (4 == validTest(data)) {
access(data);
} else {
if (silentOptions.j("chat-button")) {
login(data);
} else {
onclick(data);
}
}
return false;
});
$("search-handler", "chat-list-contacts", function() {
close();
access(this.data("id"));
return false;
});
$("click", "chat-list-switch", function() {
if (this.j("selected")) {
return false;
}
var result = this.parent(".dialog");
this.g("selected");
var self;
var activeItem;
var ua;
if (this.j("all")) {
self = this.parent(".switcher").find(".online");
activeItem = result.find(".all-view");
ua = result.find(".online-view");
result.k("online-viewing");
} else {
self = this.parent(".switcher").find(".all");
activeItem = result.find(".online-view");
ua = result.find(".all-view");
result.g("online-viewing");
}
self.k("selected");
ua.ua();
activeItem.show();
return false;
});
/**
* @param {string} name
* @return {?}
*/
var make_function = function(name) {
return jQuery('.composer .user-card.recipient[data-id="' + name + '"]');
};
/**
* @param {string} text
* @param {(number|string)} html
* @return {undefined}
*/
var span = function(text, html) {
if (span_(text).empty()) {
createElement("span", "name-card address-card recipient").append(createElement("span")).setData("title", html || text).setData("info", text).setData("name", html || "").insertBefore(jQuery(".composer .recipients input"));
}
};
/**
* @param {string} text
* @return {?}
*/
var span_ = function(text) {
return jQuery('.composer .address-card.recipient[data-info="' + text + '"]');
};
$("dialog-customize", "composer", function() {
doc.load();
return true;
});
$("click", "composer-focus-to", function() {
this.parent(".composer").find(".to input").focus();
return false;
});
$("search-handler", "composer-to", function() {
var optgroup = this.data("id");
if (this.j("contact")) {
if (make_function(optgroup).empty()) {
if (optgroup = data.Ka(optgroup)) {
data.yg(optgroup).g("recipient").insertBefore(jQuery(".composer .recipients input"));
}
}
} else {
optgroup = doc.Ka(optgroup);
span(optgroup.address, optgroup.name);
}
jQuery(".composer input").focus();
return true;
});
$("search-filter", "composer-to", function() {
return this.address ? span_(this.address).empty() : make_function(this.id).empty();
});
$("keydown", "composer-to", function(event) {
var text = this.value();
return 13 == event.keyCode && (text && changeDelimiters(text)) ? (span(text), moveHandler(this), false) : event.keyCode != touchend || this.value() ? obj.keydown.search.call(this, event) : (parent(this.parent(".composer").find(".to .recipient")).remove(), false);
});
$("blur", "composer-to", function() {
var text = this.value();
if (text) {
if (changeDelimiters(text)) {
span(text);
moveHandler(this);
}
}
return true;
});
$("input", "composer-to", function(mapper) {
if (this.value()) {
this.gb(this.get().scrollWidth);
} else {
css(this, "width");
}
return obj.input.search.call(this, mapper);
});
$("input", "composer", function() {
var p = this.parent(".input");
var attributes = this.height() + 12;
if (attributes >= p.height()) {
p.Sa(attributes);
} else {
css(p, "height");
}
addClass(this, "dirty", arrayContains(this.find(".text,.files")));
return true;
});
$("send-setup", "composer", function() {
/** @type {Array} */
var pieces = [];
expect(jQuery(".composer .recipient.user-card"), function() {
pieces.push(jQuery(this).data("id"));
});
/** @type {Array} */
var leaks = [];
/** @type {Array} */
var classes = [];
expect(jQuery(".composer .recipient.address-card"), function() {
var self = jQuery(this);
leaks.push(self.data("info"));
classes.push(self.data("name"));
});
if (0 == pieces.length && 0 == leaks.length) {
return jQuery(".composer .to input").focus(), false;
}
jQuery(".composer .message-input").setData("recipients", pieces.join(",")).setData("invite-infos", leaks.join(",")).setData("invite-names", classes.join(","));
return true;
});
$("send-cleanup", "composer", function() {
close();
jQuery(".composer .to input").clear().blur();
jQuery(".composer .recipient").remove();
eventType(eventType(eventType(jQuery(".composer .message-input"), "recipients"), "invite-infos"), "invite-names");
return true;
});
$("click", "composer-send", function() {
run(jQuery(".composer .message-input"));
return false;
});
$("keydown", "contacts", function(e) {
var text = this.value();
return 13 == e.keyCode && (text && changeDelimiters(text)) ? (confirm(text, void 0, void 0, function() {
error(callback("Invited %(name)s", {
name : text
}));
}), moveHandler(this), false) : obj.keydown.search.call(this, e);
});
$("dialog-customize", "contacts", function() {
if (1 >= jQuery(".contacts.dialog .object-row").length()) {
return obj.click.dialog.call(jQuery(".contacts.dialog .add-contacts"), null), false;
}
win(jQuery(".contacts.dialog"), true);
disable(true);
return true;
});
$("search-handler", "contacts", function() {
close();
hasKey(result, this.data("id"));
return true;
});
$("click", "remove-contact", function() {
next("/-/remove-contact", {
contact_user_id : this.parent(".object-row").data("id")
}, function(val) {
onComplete(val);
});
return false;
});
$("click", "open-chat-thread", function() {
if (!this.parent(".contacts.body").empty()) {
var match = this.data("id");
if (match && (match = data.Ka(match), match.chat_thread_id)) {
return onclick(match.chat_thread_id), false;
}
}
close();
_toString("listen");
hasKey(result, this.data("id"));
return false;
});
/**
* @return {?}
*/
var getObject = function() {
if (window.matchMedia && isCORS) {
/** @type {Array} */
var tagNameArr = [];
/** @type {number} */
var i = 0;
for (;i < vendors.length;i++) {
var vendorPrefix = vendors[i];
/** @type {string} */
var month = "transform-3d";
if (vendorPrefix) {
/** @type {string} */
month = "-" + vendorPrefix + "-" + month;
}
tagNameArr.push("(" + month + ")");
}
return window.matchMedia(tagNameArr.join(",")).matches;
}
return null !== attrs && null !== pdataCur;
};
/**
* @param {?} a
* @param {string} code
* @param {number} opt_attributes
* @return {undefined}
*/
var error = function(a, code, opt_attributes) {
opt_attributes = opt_attributes || 5E3;
jQuery(".alert").remove();
a = createElement("div", "alert").setData("time", opt_attributes).ca(a);
if (code) {
a.setData("click", "open-document").setData("id", code);
}
jQuery(window.document.body).append(a);
then();
};
/**
* @param {?} c
* @param {?} classNames
* @param {(Array|Uint8Array|string)} recurring
* @param {Function} done
* @param {string} klass
* @param {boolean} deepDataAndEvents
* @return {undefined}
*/
var removeClass = function(c, classNames, recurring, done, klass, deepDataAndEvents) {
/** @type {Array} */
classNames = [classNames];
/** @type {Array} */
var attributes = ["ok"];
if (recurring) {
classNames.push(recurring);
attributes.push("cancel");
}
header("", c, classNames, attributes, function(ok) {
done("ok" == ok);
}, klass, deepDataAndEvents).find("button[data-dialog-label=ok]").g("default");
};
/**
* @param {Object} val
* @param {?} obj
* @param {Array} elem
* @param {Array} opt_attributes
* @param {Function} callback
* @param {string} name
* @param {boolean} deepDataAndEvents
* @return {?}
*/
var header = function(val, obj, elem, opt_attributes, callback, name, deepDataAndEvents) {
val = draw({
buttons : elem,
Ke : opt_attributes,
title : val,
message : obj,
/**
* @param {?} args
* @return {undefined}
*/
ee : function(args) {
callback(args.wd);
},
ar : deepDataAndEvents
});
if (name) {
val.g(name);
}
return val;
};
/**
* @return {undefined}
*/
var then = function() {
var obj = jQuery(".alert");
if (attr(obj, "time")) {
push(function() {
obj.g("hidden");
push(function() {
obj.remove();
}, 500);
}, assertEquals(obj, "time"));
}
};
/**
* @param {number} opt_attributes
* @return {?}
*/
var SavingFiles = function(opt_attributes) {
var display = setStyle(createElement("div"), {
position : "fixed",
background : "rgba(0,0,0,0.85)",
borderRadius : "10px",
width : "100px",
height : "100px",
left : "50%",
top : "50%",
marginLeft : "-50px",
marginTop : "-50px"
});
if (opt_attributes) {
display.ua();
push(function() {
display.show();
}, opt_attributes);
}
display.append(transform(50, "white"));
item.append(display);
return display;
};
/**
* @param {number} height
* @param {string} color
* @return {?}
*/
var transform = function(height, color) {
var c;
var width;
var size;
var l;
height = height || 40;
color = color || "#666";
/** @type {number} */
c = c || 1;
/** @type {number} */
width = width || Math.round(height / 10);
/** @type {number} */
size = size || Math.round(height / 3.6);
/** @type {number} */
l = l || 12;
var form = createElement("div", "css-spinner");
if (checkElements(peek(form, "animation"))) {
return console.warn("Browser does not support CSS animation"), new klass([]);
}
setStyle(form, {
width : height + "px",
height : height + "px",
marginLeft : -height / 2 + "px",
marginTop : -height / 2 + "px"
});
/** @type {number} */
var j = 0;
for (;j < l;j++) {
/** @type {number} */
var rad = 2 * j * Math.PI / l;
/** @type {number} */
var x = height / 2;
/** @type {number} */
var el_t = Math.round(x - Math.cos(rad) * (x - size / 2) - size / 2);
/** @type {number} */
x = Math.round(x + Math.sin(rad) * (x - size / 2) - width / 2);
/** @type {number} */
rad = Math.round(180 * rad / Math.PI);
/** @type {number} */
var t = (l - j) * c / l;
var display = createElement("div");
setStyle(display, {
backgroundColor : color,
width : width + "px",
height : size + "px",
top : el_t + "px",
left : x + "px",
opacity : "0",
position : "absolute"
});
display.ja("borderRadius", Math.round(width / 2) + "px");
vendor(display, "animation", "css-spinner-animation " + c + "s linear infinite");
vendor(display, "transform", "rotate(" + rad + "deg)");
vendor(display, "animationDelay", -t + "s");
form.append(display);
}
return form;
};
/**
* @param {Function} callback
* @param {?} id
* @return {undefined}
*/
var createForm = function(callback, id) {
/**
* @return {undefined}
*/
function next() {
if (input.files.length) {
window.clearInterval(timeout);
if (processData(input.files)) {
callback(input.files);
}
}
}
/** @type {Element} */
var input = document.createElement("input");
if (id) {
input.setAttribute("accept", id);
}
addEvent(input, "change", next);
var timeout = createDom(next, 100);
push(function() {
window.clearInterval(timeout);
}, 6E4);
/** @type {string} */
input.type = "file";
input.click();
};
/**
* @param {Array} data
* @return {?}
*/
var processData = function(data) {
/** @type {boolean} */
var result = true;
if (data.length) {
/** @type {number} */
var i = 0;
for (;i < data.length;i++) {
if (data[i].size && !(26214400 >= data[i].size)) {
/** @type {boolean} */
result = false;
break;
}
}
} else {
/** @type {boolean} */
result = !data.size || 26214400 >= data.size;
}
if (!result) {
removeClass(callback("Files larger than %(size)sMB cannot be uploaded.", {
size : 25
}), extend(detectDevice(), "en") ? "Bummer" : callback("OK"), null, function() {
});
}
return result;
};
/**
* @param {?} value
* @param {Object} path
* @return {undefined}
*/
var highlight = function(value, path) {
var res = transform();
path.append(res).g("loading-lightbox");
var node = createElement("img");
node.setAttribute("src", value);
var $ = slice(addListener, node.get());
var self = $("load", function() {
res.remove();
path.k("loading-lightbox");
removeListener(el);
var row = createElement("div", "lightbox").setData("click", "lightbox-close").append(createElement("div", "image-container").append(node).append(createElement("div", "delete-overlay-button large").setData("click", "lightbox-close")).append(createElement("a", "download").setAttribute("href", value).setAttribute("target", external ? "_blank" : "")));
item.append(row);
activate(row);
});
var el = $("error", function() {
res.remove();
path.k("loading-lightbox");
removeListener(self);
error(callback("Could not load image."));
});
};
/**
* @param {Object} container
* @return {undefined}
*/
var activate = function(container) {
var attributes = container.find("img").get();
var opt_attributes = attributes.naturalWidth;
attributes = attributes.naturalHeight;
/** @type {number} */
var volume = Math.round(0.8 * container.width());
/** @type {number} */
var min = Math.round(0.8 * container.height());
/** @type {number} */
volume = Math.min(volume / opt_attributes, min / attributes, 1);
/** @type {number} */
opt_attributes = Math.round(volume * opt_attributes);
/** @type {number} */
attributes = Math.round(volume * attributes);
addClass(addClass(container.find(".image-container").gb(opt_attributes).Sa(attributes).ja("marginLeft", Math.round(-opt_attributes / 2) + "px").ja("marginTop", Math.round(-attributes / 2) + "px"), "short", 128 > attributes), "tiny", 64 > attributes);
addClass(container.find(".delete-overlay-button"), "large", 64 < attributes);
};
/**
* @return {?}
*/
var empty = function() {
var $div = jQuery(".lightbox");
return $div.empty() ? jQuery(".dialog.active").empty() ? jQuery(".context-menu.active").empty() ? false : (addPlaceholder(), jQuery(".context-menu.active").empty()) : (close(), jQuery(".dialog.active").empty()) : ($div.remove(), true);
};
addEvent(window, "resize", function() {
expect(jQuery(".lightbox"), function() {
activate(jQuery(this));
});
});
$("change", "set-locale", function() {
var params = {
locale : this.value()
};
/** @type {Element} */
var form = document.createElement("form");
/** @type {string} */
form.method = "post";
/** @type {string} */
form.action = "/-/locale";
params._csrf = _next("id");
if (!params.next) {
/** @type {string} */
params.next = window.location.href;
}
var par;
for (par in params) {
/** @type {Element} */
var field = document.createElement("input");
/** @type {string} */
field.type = "hidden";
/** @type {string} */
field.name = par;
field.value = params[par];
form.appendChild(field);
}
document.body.appendChild(form);
form.submit();
return false;
});
attempt(then);
attempt(function() {
expect(jQuery(".scroll-bottom"), function() {
appendTo(jQuery(this), 0);
});
});
addEvent(window.document.body, "click", function(element) {
/** @type {boolean} */
var b = true;
/** @type {boolean} */
var c = false;
element = element.target;
for (;element;element = element.parentNode) {
if (element == window.document.body) {
/** @type {boolean} */
c = true;
break;
}
if (element.nodeType == ELEMENT_NODE) {
var self = jQuery(element);
if (self.j("dialog") || (self.j("popover-anchor") || "dialog" == self.data("click"))) {
/** @type {boolean} */
b = false;
break;
}
if (self.j("popover-one-shot-anchor")) {
self.k("popover-one-shot-anchor");
/** @type {boolean} */
b = false;
break;
}
}
}
if (b) {
if (c) {
close();
addPlaceholder();
}
}
});
$("click", "lightbox-close", function(oEvent) {
return jQuery(oEvent.target).j("download") ? true : (jQuery(".lightbox").remove(), false);
});
attempt(function() {
var $div = jQuery(".modal.dialog");
if (!$div.empty()) {
if (jQuery(".dialog.active").empty()) {
if ($div.parent(".mobile-dialog").empty()) {
createOption($div);
}
}
}
addEvent(document, "keydown", function(event) {
if (!(27 != event.keyCode)) {
if (!event.altKey) {
if (!event.metaKey) {
if (!event.ctrlKey) {
if (empty()) {
cancelEvent(event);
}
}
}
}
}
if (13 == event.keyCode && (!event.altKey && (!event.metaKey && !event.ctrlKey))) {
var rvar = jQuery(".dialog.active button.default").data("dialog-label");
if (rvar) {
jQuery(".dialog.active").setData("dialog-label", rvar);
close();
stopEvent(event);
cancelEvent(event);
}
}
});
});
/**
* @param {string} optgroup
* @param {?} inplace
* @param {?} rows
* @param {string} cols
* @return {undefined}
*/
var build_gameboard = function(optgroup, inplace, rows, cols) {
this.ea = storage.ya().g(optgroup).ua();
if (cols) {
/** @type {string} */
this.tj = cols;
var key;
for (key in iterable) {
if (!(key in this.tj)) {
this.tj[key] = iterable[key];
}
}
} else {
this.tj = iterable;
}
if (this.tj.lp) {
this.ea.g("dark");
} else {
this.ea.g("light");
}
this.Fs = this.ea.find(".arrow");
/** @type {null} */
this.Ja = null;
/** @type {boolean} */
this.of = false;
this.pb = rows;
this.hk = this.ea.find(".body");
/** @type {boolean} */
this.qq = false;
this.hk.append(inplace);
};
var iterable = {
lp : false,
ev : false,
xu : false
};
var storage = get("<div class='bubble' contenteditable='false'><div class='body'></div><div class='arrow'></div></div>");
self = build_gameboard.prototype;
/**
* @param {?} _relatedTarget
* @param {?} value
* @return {undefined}
*/
self.show = function(_relatedTarget, value) {
var focus = bind(function() {
this.Ja = _relatedTarget;
this.pb.Qs(_relatedTarget);
value.append(this.ea);
this.ea.show();
finish(bind(function() {
if (this.of) {
if (!this.Rg) {
this.ea.g("visible");
this.pb.Ps(_relatedTarget);
}
}
}, this));
this.yj = equals(bind(this.We, this), bind(this.Je, this));
/** @type {boolean} */
this.of = true;
}, this);
if (this.Rg) {
/** @type {boolean} */
this.Rg = false;
focus();
} else {
if (this.of) {
this.ua(focus);
} else {
focus();
}
}
};
/**
* @param {?} xhr
* @param {?} i
* @return {undefined}
*/
var fix_xhr = function(xhr, i) {
xhr.Ja = i;
};
/**
* @return {?}
*/
self.i = function() {
return this.ea;
};
/**
* @return {?}
*/
self.Jb = function() {
return this.of && !this.Rg;
};
/**
* @param {?} focus
* @return {undefined}
*/
self.ua = function(focus) {
if (this.of) {
if (!this.Rg) {
this.Rm(false, focus);
}
}
};
/**
* @param {boolean} recurring
* @param {?} listener
* @return {undefined}
*/
self.Rm = function(recurring, listener) {
var visible = this.ea.j("visible");
if (!this.Rg) {
/** @type {boolean} */
this.Rg = true;
$timeout(this.yj);
delete this.yj;
this.ea.k("visible");
this.pb.Oo();
}
var mousemove = bind(function() {
if (this.Rg) {
this.ea.ua();
this.pb.No();
/** @type {boolean} */
this.Rg = this.of = false;
if (listener) {
listener();
}
}
}, this);
if (!recurring && visible) {
off(this.ea, mousemove);
} else {
mousemove();
}
};
/**
* @return {?}
*/
self.cl = function() {
return this.qq;
};
/**
* @return {?}
*/
self.We = function() {
if (!this.Ja.Jb()) {
return{
ua : true
};
}
var pos = this.Ja.ga();
if (0 == pos.width && 0 == pos.height) {
return{
ua : true
};
}
var $window = this.ea.parent();
var bounds = $window.ga();
var params = this.pb.ef();
var offset = this.ea.ga();
/** @type {number} */
var height = offset.height - 0.75 * this.ea.borderBottom();
var x = pos.left + pos.width / 2;
/** @type {number} */
var optgroup = this.Fs.width() / 2;
if (this.tj.xu) {
/** @type {number} */
var y = Math.round((offset.width - this.hk.width()) / 2);
/** @type {number} */
x = x - (y + optgroup + 10);
/** @type {number} */
optgroup = y + 10;
} else {
/** @type {number} */
y = Math.round(offset.width / 2);
x -= y;
/** @type {number} */
optgroup = Math.round(y - optgroup);
}
if (this.ea.j("dark")) {
optgroup += this.ea.paddingLeft();
}
if (x < bounds.left) {
optgroup += x - bounds.left;
x = bounds.left;
} else {
if (x + offset.width > bounds.right) {
optgroup += x - (bounds.right - offset.width);
/** @type {number} */
x = bounds.right - offset.width;
}
}
/** @type {boolean} */
y = false;
if (this.tj.ev) {
if (pos.bottom + height > params.bf) {
/** @type {number} */
pos = pos.top - offset.height;
/** @type {boolean} */
y = true;
} else {
pos = pos.bottom;
}
} else {
if (pos.top - height < params.bd) {
pos = pos.bottom;
} else {
/** @type {number} */
pos = pos.top - offset.height;
/** @type {boolean} */
y = true;
}
}
return{
top : Math.round(pos + $window.scrollTop() - bounds.top),
cl : y,
left : Math.round(x - bounds.left),
Fx : Math.round(optgroup)
};
};
/**
* @param {Object} res
* @return {undefined}
*/
self.Je = function(res) {
if (res.ua) {
this.ua();
} else {
addClass(val(setSize(this.ea, res.left), res.top), "bottom", res.cl);
setSize(this.Fs, res.Fx);
if (this.qq != res.cl) {
this.qq = res.cl;
this.pb.Os();
}
}
};
/**
* @return {undefined}
*/
var two = function() {
};
self = two.prototype;
/** @type {function (): ?} */
self.ef = tmp;
/**
* @return {undefined}
*/
self.Qs = function() {
};
/**
* @return {undefined}
*/
self.Ps = function() {
};
/**
* @return {undefined}
*/
self.Oo = function() {
};
/**
* @return {undefined}
*/
self.No = function() {
};
/**
* @return {undefined}
*/
self.Os = function() {
};
/**
* @param {Node} options
* @return {undefined}
*/
var View = function(options) {
/** @type {Node} */
this.ea = options;
};
/**
* @return {?}
*/
View.prototype.Jb = function() {
return getElementById(this.ea);
};
/**
* @return {?}
*/
View.prototype.ga = function() {
var prim;
if (!_isSafari && (getComputedStyle(this.ea) && this.ea.get().getClientRects())) {
var codeSegments = this.ea.get().getClientRects();
/** @type {number} */
var computed = 0;
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var rect = codeSegments[i];
/** @type {number} */
rect.width = rect.right - rect.left;
/** @type {number} */
rect.height = rect.bottom - rect.top;
/** @type {number} */
var current = rect.width * rect.height;
if (current > computed) {
prim = rect;
/** @type {number} */
computed = current;
}
}
}
if (!prim) {
prim = this.ea.ga();
}
return prim;
};
/**
* @return {undefined}
*/
var ctorB = function() {
};
/**
* @return {?}
*/
ctorB.prototype.Jb = function() {
/** @type {(Selection|null)} */
var sel = window.getSelection();
return Boolean(sel && 0 < sel.rangeCount);
};
/**
* @return {?}
*/
ctorB.prototype.ga = function() {
/** @type {(Selection|null)} */
var selection = window.getSelection();
/** @type {null} */
var ret = null;
if (selection.rangeCount) {
/** @type {(ClientRectList|null)} */
var resultItems = selection.getRangeAt(0).getClientRects();
/** @type {number} */
var i = 0;
for (;i < resultItems.length;i++) {
var result = resultItems[i];
if (0 < result.width || selection.isCollapsed) {
ret = result;
break;
}
}
}
if (!this.Jb() || null == ret) {
return{
top : 0,
right : 0,
bottom : 0,
left : 0,
width : 0,
height : 0
};
}
/** @type {number} */
ret.width = ret.right - ret.left;
/** @type {number} */
ret.height = ret.bottom - ret.top;
return ret;
};
/**
* @param {Object} container
* @param {Object} value
* @param {HTMLElement} option
* @return {undefined}
*/
var createOption = function(container, value, option) {
setHtml(container.j("dialog"));
if (container.j("active")) {
close();
} else {
if (container.ar) {
if (!jQuery(".dialog.active").empty()) {
jQuery(".dialog.active").g("secondary");
}
} else {
if (close(), !jQuery(".dialog.active").empty()) {
return;
}
}
var methodName = container.data("dialog-customize");
if (!methodName || obj["dialog-customize"][methodName].call(value, null)) {
container.g("visible");
var result;
if (value && !value.empty() || option) {
result = new klass([]);
position(container, value, option);
} else {
result = jQuery(".dialog-background");
if (result.empty()) {
result = createElement("div", "dialog-background").setData("click", "dialog-background");
item.append(result);
}
container.find(".arrow").remove();
setStyle(container.g("modal").k("left").k("top"), {
marginLeft : -Math.round(container.width() / 2) + "px",
marginTop : -Math.round(container.height() / 2) + "px"
});
}
result.g("visible");
finish(function() {
container.g("active");
result.g("active");
selectText(container);
});
}
}
};
/**
* @param {Object} el
* @return {undefined}
*/
var selectText = function(el) {
var sel = el.data("dialog-focus");
if (sel) {
if (el = jQuery(sel), write(el, "input") || (write(el, "textarea") || !el.empty() && el.get().isContentEditable)) {
jQuery(sel).focus();
} else {
if (!trim(el).empty()) {
/** @type {(Selection|null)} */
sel = window.getSelection();
/** @type {(Range|null)} */
var r2 = document.createRange();
r2.selectNodeContents(el.get());
sel.removeAllRanges();
sel.addRange(r2);
}
}
}
};
/**
* @param {Object} $this
* @param {number} p
* @param {Object} pos
* @param {Object} obj
* @return {undefined}
*/
var position = function($this, p, pos, obj) {
var position = $this.width();
var bottom = $this.height();
css(css($this.k("modal"), "marginLeft"), "marginTop");
var body = $this.find(".arrow");
if (body.empty()) {
if (!obj) {
body = createElement("div", "arrow");
$this.append(body);
}
}
if (!pos) {
obj = p.ga();
/** @type {boolean} */
var width = obj.top < bottom - obj.bottom;
pos = {
top : obj.bottom + bottom < window.innerHeight || width ? obj.bottom : obj.top,
left : Math.round(obj.left + obj.width / 2),
bottom : void 0
};
}
$this.setData("position-top", pos.top);
$this.setData("position-left", pos.left);
obj = $this.parent();
for (;!obj.empty() && "visible" == obj.style("overflow");) {
obj = obj.parent();
}
obj = obj.empty() || obj.get() == document.body ? {
top : 0,
left : 0,
bottom : window.innerHeight,
right : window.innerWidth,
width : window.innerWidth,
height : window.innerHeight
} : obj.ga();
/** @type {number} */
width = pos.left - Math.round(position / 2);
/** @type {number} */
var top = $this.j("context-menu") ? 0 : -5;
/** @type {number} */
width = Math.max(width, obj.left + top);
/** @type {number} */
width = Math.min(width, obj.right - top - position);
top = pos.top;
/** @type {number} */
var recurring = obj.bottom - top;
/** @type {number} */
var udataCur = obj.right - width - position;
/** @type {number} */
var vh = obj.bottom - (top + bottom);
/** @type {number} */
bottom = top - bottom - obj.top;
if (bottom = !exec(pos.bottom) && 0 < vh ? false : 0 < bottom ? true : bottom > vh) {
$this.g("bottom");
$this.setData("position-bottom", 1);
} else {
$this.k("bottom");
$this.setData("position-bottom", 0);
if (p) {
if (!p.parent("nav").empty()) {
top -= 7;
$this.setData("position-top", pos.top - 7);
}
}
}
/** @type {number} */
p = pos.left - width - $this.borderLeft() - Math.round(body.width() / 2);
/** @type {number} */
p = Math.max(p, -9);
/** @type {number} */
p = Math.min(p, position - $this.borderLeft() - $this.borderRight() - 7);
setSize(body, p);
if ($this.get().offsetParent) {
p = jQuery($this.get().offsetParent);
position = p.get() == document.body ? obj : p.ga();
body = p.scrollLeft();
p = p.scrollTop();
width += body - position.left;
top += p - position.top;
recurring += position.bottom - obj.bottom - p;
udataCur += position.right - obj.right - body;
}
if (bottom) {
runCallbacks($this, recurring).ja("top", "auto");
} else {
val($this, top).ja("bottom", "auto");
}
if (udataCur < width) {
getDimensions($this, udataCur).ja("left", "auto");
} else {
setSize($this, width).ja("right", "auto");
}
};
/**
* @param {Object} e
* @param {?} el
* @param {Object} opt_attributes
* @param {boolean} isSorted
* @return {undefined}
*/
var unique = function(e, el, opt_attributes, isSorted) {
position(e, el, opt_attributes, isSorted);
finish(function() {
e.g("active");
});
};
/**
* @param {boolean} dataAndEvents
* @return {undefined}
*/
var addPlaceholder = function(dataAndEvents) {
expect(dataAndEvents ? jQuery(".context-menu.submenu.active") : jQuery(".context-menu:not(.submenu).active"), function() {
var self = jQuery(this);
self.k("active");
var methodName = self.data("context-menu-cleanup");
if (methodName) {
obj["context-menu-cleanup"][methodName].call(self, null);
}
});
};
/**
* @param {?} instance
* @return {undefined}
*/
var is = function(instance) {
instance.j("dialog");
jQuery("#app").append(instance.g("custom"));
reset(instance);
};
/**
* @param {Object} item
* @return {undefined}
*/
var reset = function(item) {
var container = jQuery(".dialog.active");
if (container.empty() || container.j("modal")) {
createOption(item);
} else {
var child = jQuery(".settings-dialog-active");
createOption(item, null, {
top : assertEquals(container, "position-top"),
left : assertEquals(container, "position-left"),
bottom : assertEquals(container, "position-bottom")
});
if (!child.empty()) {
if (!item.data("dialog-cleanup")) {
item.setData("dialog-cleanup", "settings-dialog");
child.g("settings-dialog-active");
}
}
}
};
/** @type {null} */
var count = null;
/**
* @param {?} data
* @return {?}
*/
var draw = function(data) {
var d = createElement("div", "dialog custom").setData("dialog-cleanup", "dialog-custom");
if (data.xh) {
d.setData("dialog-cancel-label", data.xh);
}
if (data.cy) {
d.g(data.cy);
}
if (data.title) {
d.append(createElement("h1").ca(data.title));
}
var a = createElement("div", "body");
if (data.message) {
var node = createElement("section", "message");
a.append(node);
if (data.message instanceof klass) {
node.append(data.message);
} else {
node.ca(data.message);
}
}
if (data.ae) {
if (data.Xj) {
a.append(createElement("label").ca(data.Xj));
}
var value;
if (data.jw) {
value = createElement("textarea").setAttribute("rows", data.jw);
/** @type {string} */
node = ".dialog.active textarea[rows]";
} else {
value = createElement("input").setAttribute("type", "text");
/** @type {string} */
node = ".dialog.active input[type=text]";
}
value.g("dialogInput");
a.append(createElement("section", "button-list").append(value));
d.setData("dialog-focus", node);
}
if (data.message || (data.title || data.ae)) {
node = createElement("section", "button-list");
if (!data.title) {
if (1 == data.buttons.length) {
node.g("button-solo");
} else {
if (2 == data.buttons.length) {
node.g("button-pair");
}
}
}
a.append(node);
} else {
node = a.g("button-list");
}
/** @type {number} */
var k = 0;
for (;k < data.buttons.length;k++) {
var display = createElement("button");
display.ca(data.buttons[k]).setData("click", "dialog-custom").setData("dialog-label", data.Ke[k]);
node.append(display);
}
if (data.ar) {
/** @type {boolean} */
d.ar = true;
}
d.append(a);
item.append(d);
createOption(d);
if (data.ae) {
if (data.Zn) {
value.af(data.Zn);
/** @type {number} */
value.get().selectionStart = 0;
value.get().selectionEnd = value.value().length;
}
}
count = data.ee;
return d;
};
/**
* @param {?} context
* @return {undefined}
*/
var close = function(context) {
context = context || jQuery(".dialog.active");
expect(context, function() {
var object = jQuery(this);
if (object.j("editing")) {
var methodName = object.find("[data-click='dialog-edit']");
obj.click["dialog-edit"].call(methodName, null);
}
methodName = object.data("dialog-cleanup");
if (!methodName || obj["dialog-cleanup"][methodName].call(object, null)) {
object.k("active");
push(function() {
if (object.j("custom")) {
object.remove();
} else {
if (!object.j("active")) {
css(css(css(object, "left"), "top"), "bottom").k("visible");
}
}
}, 500);
}
});
if (jQuery(".dialog.active:not(.annotation-tab)").empty()) {
if (!jQuery(".dialog-background").k("active").empty()) {
push(function() {
var me = jQuery(".dialog-background");
if (!me.j("active")) {
me.remove();
}
}, 500);
}
}
};
/**
* @return {undefined}
*/
var standard = function() {
var j = jQuery(".dialog.active");
if (j.j("inviting")) {
j.k("inviting");
var descendant = j.find(".search input").k("glyph-email");
j.find(".search-results").removeAttribute("data-search-filter");
if (j.j("thread-sharing")) {
descendant.setAttribute("data-search-types", "people,folders,addresses");
jQuery(".thread-members").show();
} else {
jQuery(".folder-members,.folder-members-promo").show();
descendant.setAttribute("data-search-types", "people,addresses");
}
jQuery(".sharing-invite").show();
}
};
$("click", "dialog-background", function() {
close();
return false;
});
$("click", "dialog-custom", function() {
var instance = this.data("dialog-label");
if (instance) {
var node = jQuery(".dialog.active.custom");
node.setData("dialog-label", instance);
close(node);
}
return false;
});
$("dialog-cleanup", "dialog-custom", function() {
if (count) {
var j = count;
/** @type {null} */
count = null;
j({
wd : this.data("dialog-label") || this.data("dialog-cancel-label"),
ae : this.find(".dialogInput").value()
});
}
return true;
});
$("click", "dialog", function() {
var container = this.data("anchor");
/** @type {null} */
var udataCur = null;
var positioning = void 0;
if (container && "parent" == container) {
container = jQuery(".dialog.active");
if (!container.empty()) {
if (!container.j("modal")) {
positioning = {
top : assertEquals(container, "position-top"),
left : assertEquals(container, "position-left"),
bottom : assertEquals(container, "position-bottom")
};
}
}
} else {
udataCur = container ? jQuery(container) : this;
}
container = jQuery(".dialog." + this.data("dialog"));
container.empty();
createOption(container, udataCur, positioning);
return false;
});
$("click", "dialog-close", function() {
close();
return false;
});
$("click", "dialog-edit", function() {
var el = this.parent(".dialog");
var self = el.find(".search input");
if (el.j("inviting")) {
return self.empty() || obj.keydown[self.data("keydown")].call(self, {
keyCode : 13
}), standard(), false;
}
removeAttr(el, "editing");
if (!self.empty()) {
if (el.j("editing")) {
obj.input[self.data("input")].call(self.clear().disable(), null);
} else {
self.enable();
}
}
return false;
});
/**
* @param {number} ascend
* @param {?} x
* @return {undefined}
*/
var closest = function(ascend, x) {
/** @type {number} */
this.xw = ascend;
this.Ja = x;
if ($$().contains(x)) {
/** @type {number} */
this.Xa = 0;
} else {
if (x.parent(".chat-tab").empty()) {
if (x.parent(".annotation-tab").empty()) {
if (x.parent(".messages").empty()) {
if (x.parent(".desktop").empty()) {
if (x.parent(".signal").empty()) {
console.warn("Hovercard shown in unexpected context.");
/** @type {number} */
this.Xa = 6;
} else {
/** @type {number} */
this.Xa = 5;
}
} else {
/** @type {number} */
this.Xa = 4;
}
} else {
/** @type {number} */
this.Xa = 3;
}
} else {
/** @type {number} */
this.Xa = 2;
}
} else {
/** @type {number} */
this.Xa = 1;
}
}
/** @type {boolean} */
this.kl = this.Il = this.Yf = false;
};
inherits(closest, two);
self = closest.prototype;
/**
* @return {?}
*/
self.ef = function() {
if (0 == this.Xa) {
return element.ef();
}
var paddingBox = this.Ta.i().parent().ga();
return{
bd : paddingBox.top,
bf : paddingBox.bottom
};
};
/**
* @param {?} data
* @return {undefined}
*/
var parseAttributes = function(data) {
isWhitespace(data);
atob(data);
if (!(data.Ta && data.Ta.Jb())) {
search(data);
if (!exec(data.Hl)) {
data.Hl = push(bind(function() {
delete this.Hl;
if (this.Ta) {
this.ih();
} else {
/** @type {boolean} */
this.Il = true;
}
}, data), 500);
}
}
};
/**
* @param {?} b
* @return {undefined}
*/
var isEqual = function(b) {
if (!exec(b.Uk)) {
b.Uk = push(bind(function() {
delete this.Uk;
this.Rm();
}, b), 500);
}
};
/**
* @param {?} string
* @return {undefined}
*/
var isWhitespace = function(string) {
if (exec(string.Uk)) {
protectedClearTimeout(string.Uk);
delete string.Uk;
}
};
/**
* @param {?} data
* @return {undefined}
*/
var search = function(data) {
if (!onCompletion()) {
if (!data.Ta) {
if (!data.Yf) {
/** @type {boolean} */
data.Yf = true;
next("/-/hovercard", {
user_id : data.xw
}, bind(function(data) {
/** @type {boolean} */
this.Yf = false;
data = get(data.html);
successCallback(data);
this.Ta = new build_gameboard("hovercard", data, this);
this.Ta.i().setData("mouseover", "hovercard-card").setData("mouseout", "hovercard-card");
data = this.Ta.i();
vals[pred(data)] = this;
if (this.Il) {
this.ih();
/** @type {boolean} */
this.Il = false;
}
}, data), bind(function() {
/** @type {boolean} */
this.Yf = false;
return true;
}, data));
}
}
}
};
/**
* @return {undefined}
*/
self.ih = function() {
var targetObj = item;
switch(this.Xa) {
case 0:
targetObj = $$();
break;
case 3:
targetObj = this.Ja.parent(".messages");
break;
case 4:
targetObj = jQuery(".desktop > .body");
}
this.Ta.show(new View(this.Ja), targetObj);
};
/**
* @return {undefined}
*/
self.Rm = function() {
this.Ta.ua();
};
/**
* @return {undefined}
*/
self.Oo = function() {
writeByte(this);
};
/**
* @param {?} obj
* @return {undefined}
*/
var bindAll = function(obj) {
hasKey(result, obj.xw, bind(function() {
if (this.kl) {
/** @type {boolean} */
this.kl = false;
isEqual(this);
}
}, obj));
};
/**
* @param {?} b
* @return {undefined}
*/
var writeByte = function(b) {
atob(b);
b.Jp = push(bind(b.Cy, b), 6E4);
};
/**
* @param {?} input
* @return {undefined}
*/
var atob = function(input) {
protectedClearTimeout(input.Jp);
delete input.Jp;
};
/**
* @return {undefined}
*/
self.Cy = function() {
delete this.Jp;
if (this.Ta) {
this.Ta.Jb();
this.Ta.i().remove();
}
var key;
for (key in vals) {
if (vals[key] == this) {
delete vals[key];
}
}
for (key in $cookies) {
if ($cookies[key] == this) {
delete $cookies[key];
}
}
};
var vals = {};
var $cookies = {};
/**
* @param {Event} node
* @param {boolean} dataAndEvents
* @return {?}
*/
var renderRow = function(node, dataAndEvents) {
var name = node.data("id");
/** @type {string} */
var key = name + "-" + pred(node);
var value = $cookies[key];
if (!value) {
if (dataAndEvents) {
value = new closest(name, node);
$cookies[key] = value;
}
}
return value;
};
/**
* @return {undefined}
*/
var inputsToList = function() {
/**
* @param {Function} fn
* @return {?}
*/
function isNotBubbling(fn) {
return function(option) {
if (!((option = option.relatedTarget) && (option == this.get() || this.contains(jQuery(option))))) {
fn.call(this);
}
return true;
};
}
$("mouseover", "hovercard", isNotBubbling(function() {
if (this.data("id")) {
this.setData("mouseout", "hovercard");
parseAttributes(renderRow(this, true));
}
}));
$("mouseout", "hovercard", isNotBubbling(function() {
var oldconfig = renderRow(this);
if (oldconfig) {
if (exec(oldconfig.Hl)) {
protectedClearTimeout(oldconfig.Hl);
delete oldconfig.Hl;
writeByte(oldconfig);
} else {
if (oldconfig.Il) {
/** @type {boolean} */
oldconfig.Il = false;
}
}
if (oldconfig.Ta) {
if (oldconfig.Ta.Jb()) {
if (!oldconfig.kl) {
isEqual(oldconfig);
}
}
}
}
}));
$("mouseover", "hovercard-card", isNotBubbling(function() {
var val = vals[pred(this)];
/** @type {boolean} */
val.kl = true;
isWhitespace(val);
}));
$("mouseout", "hovercard-card", isNotBubbling(function() {
var oldconfig = vals[pred(this)];
/** @type {boolean} */
oldconfig.kl = false;
isEqual(oldconfig);
}));
$("click", "hovercard-toggle-info", function(e) {
if ("A" == e.target.nodeName) {
return true;
}
if (this.j("expanded")) {
css(this.k("expanded"), "height");
} else {
this.g("expanded").Sa(this.get().scrollHeight);
}
return false;
});
$("click", "hovercard-chat-tab", function() {
var node;
node = this.parent(".hovercard");
node = vals[pred(node)];
bindAll(node);
return false;
});
};
attempt(function() {
if (!isMobile) {
inputsToList();
}
});
var gp;
/**
* @param {?} other
* @param {?} mat0
* @return {?}
*/
var equals = function(other, mat0) {
if (inParens) {
return-1;
}
/** @type {number} */
var id = rightId++;
modules[id] = {
Iu : other,
apply : mat0,
oj : null
};
whitespace.push(id);
if (1 == whitespace.length) {
fold(rest);
}
padCount++;
if (1 == padCount) {
observer();
}
return id;
};
/**
* @param {?} i
* @return {undefined}
*/
var $timeout = function(i) {
if (i in modules && (delete modules[i], whitespace.length && removeAll(whitespace, i), padCount--, 0 == padCount && (dateDefined && timeDefined))) {
mo.disconnect();
/** @type {number} */
i = 0;
for (;i < attrList.length;i++) {
removeListener(attrList[i]);
}
/** @type {Array} */
attrList = [];
/** @type {boolean} */
timeDefined = false;
}
};
/**
* @param {Function} module
* @return {undefined}
*/
var isCanvas = function(module) {
if (!inParens && (module = modules[module])) {
/** @type {boolean} */
gp = true;
var x = module.Iu();
if (!(x === nil)) {
if (!(module.oj && isObject(module.oj, x))) {
module.oj = x;
module.apply(x);
}
}
/** @type {boolean} */
gp = false;
}
};
/** @type {boolean} */
var inParens = false;
var nil = {
eI : true
};
var modules = {};
/** @type {number} */
var padCount = 0;
/** @type {number} */
var rightId = 0;
/** @type {Array} */
var whitespace = [];
/** @type {boolean} */
var dateDefined = Boolean(window.MutationObserver || window.WebKitMutationObserver);
/** @type {null} */
var mo = null;
/** @type {boolean} */
var up = false;
/** @type {boolean} */
var timeDefined = false;
/** @type {Array} */
var resultItems = ["resize", "scroll", "transitionend"];
/** @type {Array} */
var attrList = [];
/**
* @param {(Array|string)} args
* @return {undefined}
*/
var _flatten = function(args) {
if (!inParens) {
/** @type {boolean} */
gp = true;
var codeSegments;
/** @type {number} */
var i = 0;
if (args) {
/** @type {Array} */
codeSegments = Array(args.length);
/** @type {number} */
i = 0;
for (;i < args.length;i++) {
codeSegments[i] = modules[args[i]];
}
} else {
/** @type {Array} */
codeSegments = Array(padCount);
var module;
for (module in modules) {
codeSegments[i++] = modules[module];
}
}
/** @type {Array} */
args = Array(codeSegments.length);
/** @type {number} */
i = 0;
for (;i < codeSegments.length;i++) {
args[i] = codeSegments[i].Iu();
}
/** @type {number} */
i = 0;
for (;i < codeSegments.length;i++) {
module = codeSegments[i];
var x = args[i];
if (!(x === nil)) {
if (!(module.oj && isObject(module.oj, x))) {
module.oj = x;
module.apply(x);
}
}
}
if (padCount) {
if (!dateDefined) {
synchronize(function() {
_flatten();
});
}
}
/** @type {boolean} */
gp = false;
}
};
/**
* @return {undefined}
*/
var rest = function() {
if (whitespace.length) {
var typePattern = whitespace;
/** @type {Array} */
whitespace = [];
_flatten(typePattern);
}
};
/**
* @return {undefined}
*/
var observer = function() {
if (!dateDefined) {
synchronize(function() {
_flatten();
});
} else {
if (!timeDefined) {
if (!mo) {
/** @type {MutationObserver} */
mo = new (window.MutationObserver || window.WebKitMutationObserver)(paths);
}
mo.observe(document.body, {
childList : true,
attributes : true,
characterData : true,
subtree : true
});
/** @type {Array} */
attrList = [];
/** @type {number} */
var i = 0;
for (;i < resultItems.length;i++) {
attrList.push(addEvent(window, resultItems[i], paths));
}
/** @type {boolean} */
timeDefined = true;
}
}
};
/**
* @return {undefined}
*/
var paths = function() {
if (!gp) {
if (!up) {
/** @type {boolean} */
up = true;
synchronize(function() {
/** @type {boolean} */
up = false;
_flatten();
});
}
}
};
var items = {};
var valueToItem = {};
var headers = {};
/**
* @param {Object} target
* @return {?}
*/
var deepMatches = function(target) {
return "True" == target.active && parseInt(target.now, 10) > now() - 2E4;
};
/**
* @return {undefined}
*/
var li = function() {
var obj = {};
var key;
for (key in items) {
var res = {};
/** @type {boolean} */
var d = false;
var i;
for (i in items[key]) {
var val = items[key][i];
if (!(parseInt(val.now, 10) < now() - 6E4)) {
res[i] = val;
/** @type {boolean} */
d = true;
}
}
if (d) {
obj[key] = res;
}
}
items = obj;
};
/**
* @param {?} key
* @return {?}
*/
var cache = function(key) {
if (data.ka && data.ka.id == key) {
return $broadcast(3E5);
}
if (!(key in items)) {
return false;
}
var i;
for (i in items[key]) {
if (deepMatches(items[key][i])) {
return true;
}
}
return false;
};
/**
* @return {?}
*/
var detachEvent = function() {
/** @type {number} */
var result = 0;
var openName = data.ka && data.ka.id;
var name;
for (name in items) {
if (name != openName) {
var i;
for (i in items[name]) {
if (deepMatches(items[name][i])) {
result++;
break;
}
}
}
}
return result;
};
/**
* @param {?} result
* @return {?}
*/
var successCallback = function(result) {
win(result);
var name;
for (name in items) {
if (!(name in data.pk) || data.Ed.Xg && !(name in seen)) {
var curValue = data.Ka(name);
if (curValue && (!data.ka || name != data.ka.id)) {
/** @type {boolean} */
var d = false;
var i;
for (i in items[name]) {
if (deepMatches(items[name][i])) {
/** @type {boolean} */
d = true;
break;
}
}
if (d) {
if (!(name in data.pk)) {
click(data, curValue, "open-chat-thread", jQuery(".contacts-list"));
}
if (!!data.Ed.Xg) {
if (!(name in seen)) {
effect(curValue);
}
}
}
}
}
}
if (result) {
defaultDisableHandler(result);
bindBlockClick(result);
} else {
register();
disable();
}
return result;
};
var hasVirtualBindings = callLater(successCallback, 250);
/**
* @param {?} collection
* @param {boolean} dataAndEvents
* @return {undefined}
*/
var win = function(collection, dataAndEvents) {
var length = collection ? collection.find(".presence") : jQuery(".presence");
var me = jQuery(".contacts");
var adown = me.get();
dataAndEvents = dataAndEvents || me.j("active");
expect(length, function() {
if (dataAndEvents || (!adown || !adown.contains(this))) {
var result = new klass([this]);
if (cache(result.data("id"))) {
if (!result.j("active")) {
result.g("active");
}
} else {
if (result.j("active")) {
result.k("active");
}
}
}
});
};
/**
* @return {undefined}
*/
var register = function() {
/**
* @param {string} keepData
* @return {?}
*/
function find(keepData) {
return jQuery('.thumbnail .thumbnail-participant-list[data-id="' + keepData + '"]');
}
var map = {};
expect(jQuery(".thumbnail-participant"), function() {
var c = jQuery(this);
var option = c.data("user-id");
var file = c.data("session-id");
c = c.parent(".thumbnail-participant-list").data("id");
if (!(c in map)) {
/** @type {Array} */
map[c] = [];
}
map[c].push([option, file]);
});
/** @type {Array} */
var ready = [];
var item;
for (item in items) {
ready.push(item);
}
groupBy(data, ready);
var obj = {};
/** @type {number} */
var p = 0;
for (;p < ready.length;p++) {
item = ready[p];
var timeMap = {};
var k;
for (k in items[item]) {
var c = items[item][k];
if ("document-mode" == c.mode || "thread-mode" == c.mode) {
if (deepMatches(c) || "True" == c.active2 && parseInt(c.now, 10) > now() - 2E4) {
/** @type {Array} */
var list = [c.doc_id];
if (c.folder_union && "" != c.folder_union) {
c = c.folder_union.split(",");
/** @type {number} */
var i = 0;
for (;i < c.length;i++) {
list.push(c[i]);
}
}
/** @type {number} */
c = 0;
for (;c < list.length;c++) {
var name = list[c];
if (!(!params.Ka(name) && !res.Ka(name))) {
if (!!name) {
if (!(name in timeMap)) {
if (!(name in obj)) {
/** @type {Array} */
obj[name] = [];
}
if (!(3 <= obj[name].length)) {
obj[name].push([item, k]);
/** @type {boolean} */
timeMap[name] = true;
}
}
}
}
}
}
}
}
}
headers = obj;
for (name in obj) {
var node = find(name);
if (!node.empty()) {
var b = obj[name];
/**
* @return {undefined}
*/
ready = function() {
/** @type {number} */
var bi = 0;
for (;bi < b.length;bi++) {
createGrid(node, b[bi][0], b[bi][1]);
}
};
if (name in map) {
item = map[name];
delete map[name];
if (!isObject(b, item)) {
compileNode(node);
ready();
}
} else {
ready();
}
}
}
for (name in map) {
compileNode(find(name));
}
};
/**
* @param {?} element
* @param {number} size
* @param {string} height
* @return {undefined}
*/
var createGrid = function(element, size, height) {
var input = data.Ka(size);
if (input) {
var targetNode = createElement("div", "thumbnail-participant").append(isEventSupported(input, true)).setData("user-id", size).setData("session-id", height).setData("id", size + "-" + height);
expect(element, function(deepDataAndEvents, dataAndEvents) {
jQuery(this).append(0 == dataAndEvents ? targetNode : targetNode.ya());
});
}
};
/**
* @param {?} o
* @return {undefined}
*/
var compileNode = function(o) {
o.find(".thumbnail-participant").remove();
};
/**
* @param {Object} i
* @return {undefined}
*/
var defaultDisableHandler = function(i) {
expect(i ? i.find(".contact-status") : jQuery(".contact-status"), function() {
var self = jQuery(this);
var a = self.data("id");
a = resize(a);
if (self.text() != a) {
self.ca(a);
}
});
};
/**
* @param {Object} div
* @return {undefined}
*/
var bindBlockClick = function(div) {
expect(div ? div.find(".contact") : jQuery(".contact"), function() {
var result = jQuery(this);
var name = result.data("id");
name = inArray(data.Ka(name));
if (!(name && result.j(name))) {
result.k("web").k("phone");
if (name) {
result.g(name);
}
}
});
};
/**
* @param {number} a
* @return {undefined}
*/
var disable = function(a) {
if (a = a || !jQuery(".contacts.active").empty()) {
init_internal(jQuery(".contacts-list .contact"), false);
}
defaultDisableHandler(void 0);
bindBlockClick(void 0);
if (data.Ed.Xg) {
init_internal(jQuery(".frequent-contacts .contact"), true);
init_internal(jQuery(".other-contacts .contact"), true);
var $this = jQuery(".chat-list .online-view .online .chat-list-section");
var form = jQuery(".chat-list .online-view .offline .chat-list-section");
expect($this.find(".contact"), function() {
var item = jQuery(this);
if (!item.j("active")) {
form.append(item);
}
});
expect(form.find(".contact"), function() {
var item = jQuery(this);
if (item.j("active")) {
$this.append(item);
}
});
init_internal($this.find(".contact"), false);
init_internal(form.find(".contact"), false);
if (start($this, ".contact")) {
jQuery(".chat-list .online-view .online").show();
} else {
jQuery(".chat-list .online-view .online").ua();
}
if (start(form, ".contact")) {
jQuery(".chat-list .online-view .offline").show();
} else {
jQuery(".chat-list .online-view .offline").ua();
}
}
a = detachEvent();
var current = jQuery("#inbox nav .button.contacts,#inbox nav .button.chat");
var params = current.find(".count");
if (params.text() != a) {
params.ca(a);
addClass(addClass(current, "numbered", 0 < a), "small", 10 <= a);
}
current = jQuery(".online-count");
if (current.text() != a) {
addClass(addClass(current.ca(a), "none", 1 > a), "small", 10 <= a);
}
addClass(jQuery(".chat-list.dialog"), "online-enabled", 0 < a);
};
/**
* @param {string} results
* @param {boolean} recurring
* @return {undefined}
*/
var init_internal = function(results, recurring) {
/**
* @param {Object} p
* @param {Object} e
* @return {?}
*/
function cycle(p, e) {
var a = r[p[type]];
var b = r[e[type]];
return a.ud && !b.ud ? -1 : !a.ud && b.ud ? 1 : a.mg != b.mg ? a.mg < b.mg ? 1 : -1 : a.name ? b.name ? mk_block(a.name, b.name) : -1 : 1;
}
/**
* @param {Object} s
* @param {Object} data
* @return {?}
*/
function message(s, data) {
var a = r[s[type]];
var b = r[data[type]];
return a.mg != b.mg ? a.mg < b.mg ? 1 : -1 : a.ud && !b.ud ? -1 : !a.ud && b.ud || !a.name ? 1 : b.name ? mk_block(a.name, b.name) : -1;
}
/** @type {string} */
var type = "contactDataIndex";
/** @type {Array} */
var r = Array(results.length());
expect(results, function(item, name) {
/** @type {number} */
item[type] = name;
var object = jQuery(item);
var match = object.data("id");
var target = data.Ka(match);
r[name] = {
ud : object.j("active"),
mg : data.Vi(match),
name : target ? target.name.toLowerCase() : null
};
});
results.sort(recurring ? message : cycle);
};
/**
* @param {string} value
* @return {?}
*/
var resize = function(value) {
if ("null" == value) {
return "";
}
/** @type {boolean} */
var err = false;
var name;
for (name in items[value]) {
var me = items[value][name];
if (deepMatches(me) && (err = true, "document-mode" == me.mode || "thread-mode" == me.mode)) {
var parent = params.Ka(me.doc_id);
if (parent) {
return value = parent.title, "True" == me.editing ? callback('Editing "%(title)s"', {
title : value
}) : callback('Viewing "%(title)s"', {
title : value
});
}
}
}
if (!err) {
if (data.ka) {
if (data.ka.id == value) {
err = $broadcast(3E5);
}
}
}
return err ? callback("Online") : value in valueToItem && valueToItem[value].last_active ? (me = log(new Date(Math.floor(parseInt(valueToItem[value].last_active, 10) - delta)), "abbr", false), callback("Online %(ago)s", {
ago : me
})) : callback("Offline");
};
/**
* @param {Object} item
* @return {?}
*/
var inArray = function(item) {
if (!item) {
return null;
}
/** @type {number} */
var closingAnimationTime = item.push ? 1 : 0;
var id;
for (id in items[item.id]) {
var existing = items[item.id][id];
if (deepMatches(existing)) {
existing = existing.session_type;
if ("iphone" == existing || "android_phone" == existing) {
/** @type {number} */
closingAnimationTime = Math.max(closingAnimationTime, 1);
} else {
if ("ipad" == existing || "android_tablet" == existing) {
/** @type {number} */
closingAnimationTime = Math.max(closingAnimationTime, 2);
} else {
if ("web" == existing) {
/** @type {number} */
closingAnimationTime = Math.max(closingAnimationTime, 3);
}
}
}
}
}
switch(closingAnimationTime) {
case 1:
return "phone";
case 2:
return "tablet";
case 3:
return "web";
default:
return null;
}
};
var throttledUpdate = callLater(function() {
if (element && element.Er()) {
var item = encodeURIComponent();
if (item) {
/** @type {Array} */
var b = [];
var name;
for (name in item.bb) {
var bi = item.bb[name];
if (bi.Pc()) {
b.push(bi);
}
}
if (b && 0 != b.length) {
name = new ref;
/** @type {number} */
bi = 0;
for (;bi < b.length;++bi) {
var self = b[bi];
if (!(self.kc() || (self.qa() || (self.type() != expectedNumberOfNonCommentArgs || (enc(self, t1) || enc(self, attributes)))))) {
if (self instanceof list && self.cb()) {
/** @type {boolean} */
var prefix = false;
/** @type {number} */
var node = 0;
for (;node < self.lb().length;++node) {
var _node = self.lb()[node];
if (_node.kc() || _node.qa()) {
/** @type {boolean} */
prefix = true;
}
}
if (prefix) {
continue;
}
}
prefix = self.yi || self.xf();
if (999 != prefix % 1E3) {
node = self.za();
if (self instanceof Constructor) {
node = node.ya();
}
origFindId(node, 22, true);
node.qm();
node.om();
isArray(node, 20);
self.yi = prefix + 1;
node.Xb(prefix + 1);
name.mc(node);
}
}
}
if (0 != name.li()) {
element.rr(item.tc() || "", JSON.stringify({
type : "sections",
user_id : data.ka.id,
session_id : _isInstance(),
document_id : type(item),
thread_id : item.tc(),
document_data : stylize(name)
}));
}
}
}
}
}, 100);
attempt(function() {
createDom(li, 5E3);
createDom(function() {
if (isFn()) {
successCallback();
}
}, 1E4);
nextTick(data, successCallback);
});
var uidList = {};
var resourceCache = {};
/** @type {number} */
var exponent = 0;
/** @type {boolean} */
var Zp = false;
/** @type {boolean} */
var $p = false;
/**
* @param {string} value
* @param {string} name
* @param {string} ret
* @param {Function} onComplete
* @param {string} uid
* @param {Function} onReady
* @param {number} atts
* @param {boolean} recurring
* @param {Function} method
* @param {Function} parentRequire
* @return {undefined}
*/
var load = function(value, name, ret, onComplete, uid, onReady, atts, recurring, method, parentRequire) {
/** @type {string} */
var dir = ("https:" == window.location.protocol ? "wss://" : "ws://") + ("" == value ? window.location.hostname : value) + ":" + ("" == ret ? window.location.port : ret);
/** @type {string} */
dir = dir + name;
if (onReady) {
dir += "?" + insertBefore(onReady());
}
console.log("Websocket: Connecting to " + dir);
fetchText();
/** @type {WebSocket} */
var me = new WebSocket(dir);
/** @type {WebSocket} */
uidList[uid] = me;
exponent++;
addEvent(me, "open", function() {
console.log("Websocket: Connected");
errcb();
/** @type {number} */
exponent = 0;
/** @type {boolean} */
Zp = true;
if (parentRequire) {
parentRequire();
}
delete resourceCache[uid];
});
if (true != recurring) {
addEvent(me, "close", function(error) {
/** @type {boolean} */
var q = true === me.my;
if (me.Wu) {
me.Wu();
}
var element = me.Dz;
if (1008 == error.code) {
console.log("User is not authorized. Reloading window");
window.location.reload(true);
}
delete uidList[uid];
if (q) {
console.warn("Websocket closed");
if (element) {
element();
}
} else {
if (10 <= exponent && !Zp) {
console.warn("Too many failed web socket connection attempts without ever successfully connecting, giving up.");
/** @type {boolean} */
$p = true;
} else {
if (!(3 != exponent)) {
if (!Zp) {
if (!_isFunction()) {
onload(get(callback("Could not connect to the Quip server for live updates. You may have a misconfigured HTTP proxy or an unsupported browser. <a href='http://support.quip.com/'>Contact support</a>")), void 0, 6E4);
next("/-/report-websocket-error", {}, function() {
});
}
}
}
/** @type {number} */
error = Math.min(3E4, Math.pow(2, exponent) * (atts || 500) + Math.round(1E3 * Math.random()));
console.warn("Websocket closed, reconnecting in " + Math.round(error / 1E3) + " seconds");
error = push(function() {
if (method) {
method(uid);
} else {
load(value, name, ret, onComplete, uid, onReady, atts);
}
}, error);
resourceCache[uid] = {
hostname : value,
path : name,
port : ret,
/** @type {Function} */
ee : onComplete,
aA : uid,
/** @type {Function} */
Ex : onReady,
py : atts,
lw : error,
/** @type {Function} */
Rz : method,
/** @type {Function} */
Yx : parentRequire
};
}
}
});
}
addEvent(me, "error", function(m) {
console.error("Websocket: Error ", m);
});
addEvent(me, "message", function(xhr) {
onComplete(onfail(xhr.data));
});
};
/**
* @return {?}
*/
var resolveWith = function() {
return uidList.listen;
};
/**
* @param {?} uid
* @return {undefined}
*/
var _toString = function(uid) {
if (!$p) {
var resource = resourceCache[uid];
if (resource) {
delete resourceCache[uid];
protectedClearTimeout(resource.lw);
load(resource.hostname, resource.path, resource.port, resource.ee, resource.aA, resource.Ex, resource.py, false, resource.Rz, resource.Yx);
}
}
};
/**
* @param {?} k
* @return {undefined}
*/
var buildJSON = function(k) {
/** @type {function (?): undefined} */
var callback = redo;
if (!$p) {
var resource = resourceCache[k];
if (resource) {
resource.lw = push(function() {
callback(k);
}, 1E4);
}
}
};
/**
* @return {undefined}
*/
var fetchText = function() {
};
/**
* @return {undefined}
*/
var errcb = function() {
};
/**
* @param {string} cb
* @param {Object} opt_attributes
* @return {undefined}
*/
var maybeCallback = function(cb, opt_attributes) {
/** @type {number} */
var i = 0;
for (;i < results.length;i++) {
results[i].Dd(cb, opt_attributes);
}
};
/** @type {Array} */
var results = [];
/**
* @param {?} log
* @return {undefined}
*/
var sendLog = function(log) {
if (!value(results, log)) {
results.push(log);
}
};
/**
* @return {undefined}
*/
var Complex = function() {
/** @type {Array} */
this.im = [];
/** @type {Array} */
this.jm = [];
/** @type {Array} */
this.gm = [];
/** @type {Array} */
this.hm = [];
/** @type {number} */
this.jo = 0;
};
/**
* @param {string} cb_
* @param {Object} opt_attributes
* @return {undefined}
*/
Complex.prototype.Dd = function(cb_, opt_attributes) {
this.im.push(cb_);
this.jm.push(opt_attributes || {});
startServer(this);
};
/**
* @param {number} target
* @param {number} b
* @param {number} a
* @return {undefined}
*/
Complex.prototype.Xq = function(target, b, a) {
this.gm.push(target);
this.hm.push(a - b);
startServer(this);
};
/**
* @param {?} server
* @return {undefined}
*/
var startServer = function(server) {
if (!server.ds) {
if (server.jo) {
protectedClearTimeout(server.jo);
}
server.jo = push(bind(function() {
/** @type {boolean} */
this.ds = true;
/** @type {number} */
this.jo = 0;
var ast = this.im;
var callArgs = this.jm;
/** @type {Array} */
var encodedItemArray = [];
/** @type {number} */
var i = 0;
for (;i < callArgs.length;i++) {
encodedItemArray.push(encodeURIComponent(JSON.stringify(callArgs[i])));
}
var l = this.gm;
var position = this.hm;
/** @type {Array} */
this.im = [];
/** @type {Array} */
this.jm = [];
/** @type {Array} */
this.gm = [];
/** @type {Array} */
this.hm = [];
next("/-/metrics", {
metric_names : ast.join(","),
metric_args : encodedItemArray.join(","),
perf_metrics : l.join(","),
perf_times : position.join(",")
}, bind(function() {
/** @type {boolean} */
this.ds = false;
}, this), bind(function() {
/** @type {boolean} */
this.ds = false;
toggleClass(this.im, ast);
toggleClass(this.jm, callArgs);
toggleClass(this.gm, l);
toggleClass(this.hm, position);
return false;
}, this));
}, server), 11E3);
}
};
var viewport = new Complex;
sendLog(viewport);
attempt(function() {
/**
* @param {string} keepData
* @param {Object} value
* @return {undefined}
*/
underscore = function(keepData, value) {
if (500 <= value.status) {
if ("/-/metrics" != keepData) {
maybeCallback("server_error", {
status : value.status.toString()
});
}
}
};
});
/**
* @param {?} t
* @param {?} s
* @param {?} level
* @return {undefined}
*/
var subdivide = function(t, s, level) {
this.pz = t;
this.hw = s;
if (!(level in levels)) {
/** @type {Array} */
levels[level] = [];
}
levels[level].push(this);
};
var levels = {};
new subdivide(0, 0, 7);
new subdivide(1, 0, 4);
new subdivide(2, 1, 4);
new subdivide(3, 0, nodeRequest);
new subdivide(4, 1, nodeRequest);
new subdivide(5, 2, 5);
new subdivide(6, 2, nodeRequest);
new subdivide(7, 8, nodeRequest);
new subdivide(8, 8, channelName);
new subdivide(15, 17, 18);
new subdivide(18, 17, 23);
new subdivide(16, 19, 20);
new subdivide(19, 8, 24);
new subdivide(11, 11, 12);
var texturesMap = {};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @param {number} b
* @return {undefined}
*/
var pub = function(expectedNumberOfNonCommentArgs, b) {
if (getNativeElement()) {
console.timeStamp(forIn(deps, expectedNumberOfNonCommentArgs));
}
if (!b) {
b = now();
}
/** @type {number} */
texturesMap[expectedNumberOfNonCommentArgs] = b;
var codeSegments = levels[expectedNumberOfNonCommentArgs] || [];
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var map = codeSegments[i];
if (map.hw in texturesMap) {
zeropad(map.pz, texturesMap[map.hw], b);
}
}
};
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {undefined}
*/
var makeRequest = function(expectedNumberOfNonCommentArgs) {
if (isFn()) {
synchronize(function() {
finish(function() {
pub(expectedNumberOfNonCommentArgs);
}, true);
});
}
};
/**
* @param {number} attributes
* @param {number} needle
* @param {number} x
* @return {undefined}
*/
var zeropad = function(attributes, needle, x) {
if (needle >= itemWidth) {
needle -= itemWidth;
x -= itemWidth;
}
/** @type {number} */
var i = 0;
for (;i < results.length;i++) {
results[i].Xq(attributes, needle, x);
}
};
/**
* @return {undefined}
*/
var _isLocalStorageAvailable = function() {
delete texturesMap[0];
delete texturesMap[1];
};
/**
* @return {undefined}
*/
var sel = function() {
if ("clientperfExternalTimings" in window) {
/** @type {number} */
var conditionIndex = 0;
for (;conditionIndex < clientperfExternalTimings.length;conditionIndex++) {
pub(clientperfExternalTimings[conditionIndex][0], clientperfExternalTimings[conditionIndex][1]);
}
/** @type {Array} */
clientperfExternalTimings = [];
}
};
/**
* @return {undefined}
*/
var date = function() {
/**
* @param {number} opt_attributes
* @param {?} table
* @return {undefined}
*/
function format(opt_attributes, table) {
/** @type {(Array.<(PerformanceEntry|null)>|null)} */
var t = window.performance.getEntriesByName(table);
if (t.length) {
/** @type {(PerformanceEntry|null)} */
t = t[0];
zeropad(opt_attributes, t.startTime, t.responseEnd);
}
}
var j = jQuery("link[rel=stylesheet]");
if (!j.empty()) {
format(9, j.get().href);
}
j = jQuery("script[data-js-client-hash='" + getCacheKey() + "']");
if (!j.empty()) {
format(10, j.get().src);
}
};
/** @type {number} */
var itemWidth = 0;
if (window.performance && window.performance.timing) {
/** @type {PerformanceTiming} */
var timing = window.performance.timing;
/** @type {number} */
itemWidth = timing.navigationStart;
pub(0, timing.navigationStart);
pub(1, timing.domLoading);
if (window.performance.getEntriesByName) {
push(date, 1E4);
}
}
attempt(sel);
append("clientperf.consumeExternalTimings", sel);
/**
* @param {Function} compareFn
* @return {undefined}
*/
binarySearch_ = function(compareFn) {
pub(6);
compareFn();
pub(7);
};
/**
* @return {undefined}
*/
fetchText = function() {
pub(11);
};
/**
* @return {undefined}
*/
errcb = function() {
pub(12);
};
var cpu;
/** @type {string} */
var argumentIndex = "";
/** @type {number} */
var startIdx = 0;
/** @type {number} */
var leadInStartTime = 0;
/** @type {string} */
var retVal = "";
/** @type {string} */
var fragment = "";
/** @type {string} */
var strValue = "";
/** @type {boolean} */
var Fq = false;
var ex_ctx = {};
/** @type {boolean} */
var component = false;
var _this = {};
/** @type {number} */
var pause_ref_count = 0;
/** @type {Array} */
var eventPath = [];
/** @type {Array} */
var ca = [];
/**
* @return {undefined}
*/
var sendEvent = function() {
if (isFn() && $broadcast(3E5)) {
pass(ex_ctx.thread_id, ex_ctx.message_sequence);
ex_ctx = {};
} else {
push(sendEvent, 1E3);
}
};
/**
* @return {undefined}
*/
var wrapper = function() {
argumentIndex = S4() + S4() + S4();
/** @type {string} */
var udataCur = window.location.hostname;
/** @type {string} */
var promise = "443";
/** @type {string} */
var env = "0";
if ("9010" == window.location.port) {
/** @type {string} */
promise = "9030";
}
if ("staging.quip.com" == window.location.hostname || "dirt.quip.com" == window.location.hostname) {
/** @type {string} */
promise = "8443";
}
if ("" != fragment) {
udataCur = fragment;
}
if ("" != strValue) {
env = strValue;
}
load(udataCur, "/-/listen/" + env, promise, onComplete, "listen", onReady, 1E3, false, redo, renderCallback);
createDom(function() {
if (!(6E4 >= now() - leadInStartTime)) {
console.error("Too long since last heartbeat");
var srv = resolveWith();
if (srv) {
cloudinary_url(false);
srv.close();
}
}
}, 6E4);
createDom(resolve, 1E4);
createDom(deferred, 1E3);
};
/**
* @param {?} obj
* @return {undefined}
*/
var redo = function(obj) {
if ($broadcast(3E5)) {
_toString(obj);
} else {
console.warn("Browser inactive, not reconnecting, checking back in 10 seconds.");
buildJSON(obj);
}
};
/**
* @return {undefined}
*/
var renderCallback = function() {
var settings = resolveWith();
call(opts, "listen_connect", {
url : settings.URL
});
/** @type {function (): undefined} */
settings.Wu = image;
};
/**
* @return {undefined}
*/
var image = function() {
call(opts, "listen_disconnect", {
url : resolveWith().URL
});
cloudinary_url(false);
};
/**
* @param {Object} elems
* @return {undefined}
*/
var onComplete = function(elems) {
if (elems) {
if (67 == elems.type) {
var v = encodeURIComponent();
if (v && v.tf()) {
v.save(function() {
window.location.reload(true);
}, true);
} else {
window.location.reload(true);
}
}
if (72 == elems.type) {
/** @type {string} */
window.location = "/";
}
if (69 == elems.type) {
onData(elems);
} else {
if (null == elems.compound_checksum || elems.type && 68 != elems.type) {
if (73 == elems.type) {
console.log("Websocket: backlog done");
cloudinary_url(true);
}
if (74 == elems.type) {
console.log("Websocket: post-backlog queue done");
}
if (0 < pause_ref_count) {
showList(elems);
ca.push(elems);
} else {
setup(elems);
}
if (elems.listen_cursor) {
/** @type {number} */
v = parseInt(elems.listen_cursor, 10);
if (v <= retVal) {
call(opts, "listen_cursor_decrease", {
listen_cursor : retVal,
new_listen_cursor : v
});
} else {
retVal = elems.listen_cursor;
}
}
} else {
console.log("Websocket: heartbeat, checksum=" + elems.compound_checksum + ", dirty=" + elems.compound_checksum_dirty + ", time=" + (new Date).toTimeString());
leadInStartTime = now();
}
}
}
};
/**
* @return {undefined}
*/
var processOne = function() {
pause_ref_count++;
eventPath.push(push(function() {
call(opts, "unbalanced_listen_pause", {
pause_ref_count : pause_ref_count
});
}, 72E3));
};
/**
* @return {undefined}
*/
var loadNext = function() {
if (1 == pause_ref_count) {
/** @type {number} */
var i = 0;
for (;i < ca.length;i++) {
setup(ca[i]);
}
/** @type {Array} */
ca = [];
}
if (0 < eventPath.length) {
protectedClearTimeout(eventPath.pop());
}
pause_ref_count--;
};
/**
* @param {Object} options
* @return {undefined}
*/
var setup = function(options) {
var s = resetQueues();
if (cpu) {
var option = cpu;
if (option.il != string) {
if (_setOption(option, options.type)) {
if (option.il == opt_value) {
option.Kc.push(options);
if (!option.Po) {
option.Po = push(bind(option.sy, option), 1E3);
}
} else {
option.Hc([options]);
}
}
}
}
var e;
if (3 == options.type) {
e = jQuery(".messages[data-id='" + options.thread_id + "']");
killEvent(e);
}
if (1 == options.type) {
if (options.deleted) {
if (options.id == replaceWith()) {
onclick(options.thread_id);
}
}
}
var value;
a: {
if (3 == options.type) {
/** @type {number} */
option = 0;
for (;option < options.html.length;option++) {
if (value = options.html[option], "message" == value["class"] && -1 != value.html.indexOf("edit-group")) {
value = _callback(options.id);
break a;
}
}
}
/** @type {null} */
value = null;
}
put(options);
option = isFn() && $broadcast(3E5);
if (3 == options.type && data.ka) {
/** @type {boolean} */
var optgroup = options.json.author_id == data.ka.id;
if (optgroup) {
jQuery(".messages[data-id='" + options.thread_id + "'] .message.placeholder").remove();
}
if (!(options.thread_id != html())) {
if (!optgroup) {
if (option) {
pass(options.thread_id, options.sequence);
} else {
if (!ex_ctx.thread_id) {
ex_ctx = {
thread_id : options.thread_id,
message_sequence : options.sequence
};
push(sendEvent, 1E3);
}
}
}
}
if (options.document_metadata_json) {
if (options.document_id == replaceWith()) {
optgroup = isNaN(options.document_metadata_json, Background);
progress(optgroup);
}
}
}
if (2 == options.type) {
var self = encodeURIComponent();
if (self) {
if (options.thread_id == self.tc()) {
optgroup = _save(isNaN(options.json, ref), EVENT_READY).Ei;
if (optgroup[0].ba.Ik() == type(self)) {
if (self.io) {
toggleClass(self.io, optgroup);
} else {
self.io = optgroup;
self.uw = push(bind(self.zx, self), 500);
}
}
}
}
}
if (1 == options.type) {
if (options.thread_id == html()) {
if (options.id == replaceWith()) {
optgroup = isNaN(options.metadata_json, Background);
progress(optgroup);
}
}
}
if (0 == options.type) {
if (options.thread_id == html()) {
optgroup = isNaN(options.metadata_json, GameObject);
changeState(optgroup);
}
}
if (71 == options.type) {
if (self = encodeURIComponent()) {
if (options.document_id == type(self)) {
if (get_mangled(self.Gc, 12)) {
optgroup = _save(isNaN(options.document_data, ref), EVENT_READY).Ei;
self.update(optgroup, "transient_sections");
}
}
}
}
if (5 == options.type) {
optgroup = options.json;
if (data.ka) {
if (optgroup.user_id == data.ka.id) {
countdown(optgroup.thread_id, optgroup.seen_message_sequence);
}
}
if (options.thread_id == html()) {
if (optgroup.user_id == options.user_id) {
if (0 > optgroup.level) {
j();
}
}
}
}
if (value) {
getValue(options.id, options.thread_id, value);
}
if (65 == options.type) {
/** @type {string} */
options.now = Math.floor(parseInt(options.now, 10) - delta).toString();
value = options.user_id;
optgroup = options.session_id;
if (!(parseInt(options.now, 10) < now() - 6E4)) {
if (!(value in items)) {
items[value] = {};
}
/** @type {Object} */
items[value][optgroup] = options;
if (option) {
hasVirtualBindings();
}
}
} else {
if (66 == options.type) {
/** @type {Object} */
valueToItem[options.user_id] = options;
if (option) {
hasVirtualBindings();
}
}
}
if (9 == options.type) {
if (option = options.json.user_id, data.ur(option, options.json.affinity), value = options.json.chat_thread_id, optgroup = data, self = optgroup.Ka(option), value) {
optgroup.ak[value] = option;
if (self) {
self.chat_thread_id = value;
}
} else {
var i;
for (i in optgroup.ak) {
if (optgroup.ak[i] == option) {
delete optgroup.ak[i];
break;
}
}
if (self) {
/** @type {null} */
self.chat_thread_id = null;
}
}
}
/** @type {boolean} */
value = false;
if (options.html) {
/** @type {number} */
i = 0;
for (;option = options.html[i];i++) {
if ("thumbnail-stack" == option["class"]) {
/** @type {boolean} */
value = true;
}
}
}
if (value) {
register();
}
if (e) {
warn_unreachable(e);
}
/** @type {boolean} */
value = e = false;
if (options.html) {
/** @type {number} */
i = 0;
for (;option = options.html[i];i++) {
if ("remove" == option.action) {
if ("snippet" == option["class"]) {
/** @type {boolean} */
e = true;
} else {
if ("thumbnail-stack" == option["class"]) {
/** @type {boolean} */
value = true;
}
}
}
}
}
if (e) {
newBindings();
}
if (value) {
clearSelection();
}
e = resetQueues();
if (33 < e - s) {
console.warn(e - s + "ms to process " + page(options.type) + " message", options);
}
};
/**
* @return {?}
*/
var onReady = function() {
var pluginResult = {};
if (retVal) {
pluginResult.listen_cursor = retVal;
}
if (Zp) {
if ("desktop-mode" == (routine() || execCommand())) {
pluginResult.folder_id = floor();
}
}
if (Fq) {
/** @type {number} */
pluginResult.force_send_inbox_and_browser = 1;
}
if (_isFunction()) {
if (setAttribute()) {
pluginResult.secret_path = setAttribute();
}
if (actual.Aa()) {
pluginResult.secret_object_id = actual.Aa();
}
}
return pluginResult;
};
/**
* @param {Object} element
* @return {undefined}
*/
var resolve = function(element) {
if (!info()) {
var i = now();
if (1E3 > i - startIdx) {
if (!component) {
/** @type {boolean} */
component = true;
push(slice(resolve, true), 1E3);
}
} else {
if (startIdx = i, element && (component = false), (element = resolveWith()) && !(element.readyState != WebSocket.OPEN || 102400 < element.bufferedAmount)) {
var self = defer();
var compilerWords = {};
expect(jQuery(".thread .thread-sharing .folder-row"), function() {
if (jQuery(this).data("path")) {
var codeSegments = jQuery(this).data("path").split(",");
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
/** @type {boolean} */
compilerWords[codeSegments[i]] = true;
}
}
});
/** @type {Array} */
var assigns = [];
var vvar;
for (vvar in compilerWords) {
if (vvar) {
assigns.push(vvar);
}
}
/** @type {string} */
vvar = assigns.join();
element.send(JSON.stringify({
type : "presence",
user_id : data.ka ? data.ka.id : "",
session_id : _isInstance(),
session_type : "web",
focused : self.focused,
active : self.active,
active2 : self.active2,
editing : self.editing,
mode : execCommand(),
thread_id : html(),
doc_id : replaceWith(),
folder_path : parent(jQuery(".folder")).data("path"),
folder_union : vvar,
lat : null,
lon : null,
now : i,
server_now : Math.floor(i + delta)
}));
}
}
}
};
/**
* @return {?}
*/
var defer = function() {
var isActive = $broadcast(3E5);
var active2 = $broadcast(9E5);
var _false = window.document.hasFocus() && isFn();
/** @type {boolean} */
var editing = false;
if (encodeURIComponent()) {
if (readFile().ta) {
/** @type {boolean} */
editing = true;
}
}
return{
focused : _false,
active : isActive,
active2 : active2,
editing : editing
};
};
/**
* @return {undefined}
*/
var deferred = function() {
var self = defer();
if (!(_this && (_this.focused == self.focused && (_this.active == self.active && (_this.active2 == self.active2 && _this.editing == self.editing))))) {
resolve();
}
_this = self;
};
/**
* @param {string} module
* @param {number} first
* @param {number} namespaces
* @param {boolean} dataAndEvents
* @return {undefined}
*/
var teardown = function(module, first, namespaces, dataAndEvents) {
/** @type {string} */
retVal = module;
/** @type {number} */
fragment = first;
/** @type {string} */
strValue = String(namespaces % 10);
if (dataAndEvents) {
/** @type {boolean} */
Fq = true;
}
if (module = resolveWith()) {
/** @type {boolean} */
module.my = true;
/** @type {function (): undefined} */
module.Dz = wrapper;
cloudinary_url(false);
module.close();
} else {
if (module = resourceCache.listen) {
delete resourceCache.listen;
}
if (module) {
wrapper();
}
}
};
/**
* @return {?}
*/
var _isInstance = function() {
if (!argumentIndex) {
argumentIndex = S4() + S4() + S4();
}
return argumentIndex;
};
append("listen.initialize", function(err, first, i) {
if ("WebSocket" in window) {
if (!(isCORS && 536 > q || external && 11 > intWidth)) {
/** @type {string} */
retVal = err;
/** @type {string} */
fragment = first;
/** @type {string} */
strValue = String(i % 10);
wrapper();
}
}
});
gatherStats(function(result) {
result.session_id = argumentIndex;
});
attempt(function() {
ee.addListener(function(dataAndEvents) {
if (3E5 < dataAndEvents) {
_toString("listen");
if (data.ka) {
addClass(jQuery(".presence[data-id='" + data.ka.id + "']"), "active", $broadcast(3E5));
}
resolve();
}
});
});
/**
* @return {undefined}
*/
var change = function() {
this.dh = new Cookie("listen-debug");
this.il = this.dh.get("mode", getNativeElement() ? opt_value : string);
/** @type {Array} */
this.Kc = [];
/** @type {number} */
this.Po = 0;
this.$j = get("<div id='listen-debug' class='debug-bar bottom' data-mousedown='no-caret-move'><div class='logo'>Listen</div><label>Logging: <select data-change='listen-debug-mode' data-mousedown='listen-debug-mode'><option>Disabled</option><option>Buffered</option><option>Immediate</option></select></label><div class='type-filter'><label>Log</label><div class='type-filter-contents'><div><span class='link' data-click='listen-debug-filter-all'>All</span> - <span class='link' data-click='listen-debug-filter-none'>None</span></div></div></div><button data-click='listen-debug-pause'>Pause</button><button data-click='listen-debug-resume'>Resume</button></div>");
/** @type {boolean} */
this.$j.find("option").get(this.il).selected = true;
var unlock;
for (unlock in paramType) {
var camelKey = paramType[unlock];
var value = page(camelKey);
if (value) {
var selected = createElement("input").setAttribute("type", "checkbox").af(camelKey).setData("change", "listen-debug-filter");
selected.get().checked = _setOption(this, camelKey);
camelKey = createElement("label").append(selected).append(apply(value));
this.$j.find(".type-filter-contents").append(camelKey);
}
}
if (this.dh.get("visible")) {
enable(this);
}
item.append(this.$j);
};
/** @type {number} */
var string = 0;
/** @type {number} */
var opt_value = 1;
var valuesByKey = {
65 : false,
66 : false
};
/**
* @param {Object} callback
* @return {undefined}
*/
var showList = function(callback) {
var udataCur = cpu;
if (udataCur.il != string) {
if (_setOption(udataCur, callback.type)) {
console.log(page(callback.type) + " message received while paused.");
}
}
};
/**
* @param {?} value
* @param {string} key
* @return {?}
*/
var _setOption = function(value, key) {
return value.dh.get(key + "-logged", key in valuesByKey ? valuesByKey[key] : true);
};
/**
* @return {undefined}
*/
change.prototype.sy = function() {
this.Hc(this.Kc);
/** @type {Array} */
this.Kc = [];
/** @type {number} */
this.Po = 0;
};
/**
* @param {Array} args
* @return {undefined}
*/
change.prototype.Hc = function(args) {
if (1 == args.length) {
var a = args[0];
console.groupCollapsed("Websocket message (" + page(a.type) + ")");
var i;
for (i in a) {
console.log(i, a[i]);
}
} else {
var attributes = {};
/** @type {number} */
i = 0;
for (;i < args.length;i++) {
a = args[i].type;
attributes[a] = 1 + (attributes[a] || 0);
}
/** @type {string} */
var e = "(" + args.length + ": ";
/** @type {number} */
i = 0;
for (a in attributes) {
if (0 < i) {
e += ", ";
}
e += page(parseInt(a, 10)) + "=" + attributes[a];
i++;
}
console.groupCollapsed("Websocket messages " + (e + ")"));
/** @type {number} */
i = 0;
for (;i < args.length;i++) {
if (a = args[i], console.log(page(a.type), a), 50 < i) {
console.log("...and " + (args.length - i - 1) + " more messages (omitted)");
break;
}
}
}
console.groupEnd();
};
/**
* @param {?} self
* @return {undefined}
*/
var enable = function(self) {
removeAttr(self.$j, "visible");
var opt_isDefault = self.$j.j("visible");
self.dh.set("visible", opt_isDefault);
if (opt_isDefault) {
if (!exec(self.Ci)) {
self.Ci = createDom(bind(self.bs, self), 1E3);
}
} else {
window.clearInterval(self.Ci);
delete self.Ci;
}
};
/**
* @return {undefined}
*/
change.prototype.bs = function() {
addClass(this.$j, "paused", 0 < pause_ref_count);
};
getEnumerableProperties(_concat(76, function() {
enable(cpu);
return true;
}), 3, "Toggle listen debug controls");
$("change", "listen-debug-mode", function() {
var item = cpu;
var opt_isDefault = this.get().selectedIndex;
item.il = opt_isDefault;
item.dh.set("mode", opt_isDefault);
return true;
});
$("mousedown", "listen-debug-mode", function(event) {
cancelEvent(event);
return true;
});
$("change", "listen-debug-filter", function() {
/** @type {number} */
var width = parseInt(this.value(), 10);
var opt_isDefault = this.get().checked;
cpu.dh.set(width + "-logged", opt_isDefault);
return true;
});
$("click", "listen-debug-filter-all", function() {
expect(this.parent(".type-filter-contents").find("input"), function() {
/** @type {boolean} */
this.checked = true;
cpu.dh.set(this.value + "-logged", true);
});
return true;
});
$("click", "listen-debug-filter-none", function() {
expect(this.parent(".type-filter-contents").find("input"), function() {
/** @type {boolean} */
this.checked = false;
cpu.dh.set(this.value + "-logged", false);
});
return true;
});
$("click", "listen-debug-pause", function() {
processOne();
cpu.bs();
return true;
});
$("click", "listen-debug-resume", function() {
loadNext();
cpu.bs();
return true;
});
attempt(function() {
cpu = new change;
});
/**
* @return {undefined}
*/
var stop = function() {
if (data.Ed.bA) {
/** @type {number} */
var s = 0;
var sort = data.ka.seen_signals_usec;
expect(jQuery(".signals .signal"), function() {
if (jQuery(this).data("sort") <= sort) {
return false;
}
s++;
if (9 < s) {
return false;
}
});
addClass(addClass(jQuery("nav .button.signals .unread-badge"), "small", 9 < s), "none", 0 == s).setData("count", s).ca(s);
}
};
/**
* @return {undefined}
*/
var callback2 = function() {
if (assertEquals(jQuery("nav .button.signals .unread-badge"), "count")) {
next("/-/seen-signals", {}, function(chat) {
put(chat);
});
}
};
/**
* @param {?} num
* @param {?} howMany
* @return {undefined}
*/
var countdown = function(num, howMany) {
expect(jQuery(".signals .signal.unread"), function() {
var doc = jQuery(this);
var docUid = assertEquals(doc, "message-sequence");
if (doc.data("thread-id") == num) {
if (howMany >= docUid) {
doc.k("unread");
}
}
});
};
$("click", "signal", function(data) {
if (1 == data.button || data.metaKey) {
return true;
}
data = this.data("thread-id");
var attributes = this.data("message-id");
var target = this.data("annotation-id");
if (attributes && target) {
onclick(data, void 0, void 0, function() {
removeEventListener(target, false);
});
} else {
onclick(data, attributes);
}
callback2();
return false;
});
$("scroll", "signals", function() {
if (0.75 < _reorderListItem(jQuery("#signals > .body"))) {
compile("signal-page", "signal", 20, jQuery("#signals > .body"));
}
return false;
});
$("dialog-customize", "signals", function() {
var sort = data.ka.seen_signals_usec;
jQuery(".signals .signal.unseen").k("unseen");
expect(jQuery(".signals .signal"), function() {
var result = jQuery(this);
if (result.data("sort") <= sort) {
return false;
}
result.g("unseen");
});
callback2();
return true;
});
$("dialog-cleanup", "signals", function() {
callback2();
return true;
});
/**
* @param {?} d
* @param {Blob} off
* @param {(Element|string)} exports
* @return {undefined}
*/
var b = function(d, off, exports) {
this.yA = d;
/** @type {Blob} */
this.xA = off;
this.uf = exports || null;
/** @type {boolean} */
this.ng = false;
/** @type {boolean} */
this.iu = true;
/** @type {number} */
this.Aq = 3;
/** @type {boolean} */
this.vv = true;
/** @type {boolean} */
this.ru = false;
this.Tq = void 0;
};
/**
* @return {?}
*/
b.prototype.types = function() {
return this.yA;
};
/**
* @return {?}
*/
b.prototype.hi = function() {
var message;
if (!(message = this.uf)) {
if (!MSG_OFFLINE_STATUS_SYNCING_MESSAGE) {
MSG_OFFLINE_STATUS_SYNCING_MESSAGE = new from;
}
message = MSG_OFFLINE_STATUS_SYNCING_MESSAGE;
}
return message;
};
/**
* @return {?}
*/
b.prototype.hl = function() {
return 4;
};
/**
* @param {string} tileHeight
* @param {?} rows
* @param {?} tileset
* @param {?} l
* @return {undefined}
*/
var Tilemap = function(tileHeight, rows, tileset, l) {
/** @type {string} */
this.Cb = tileHeight;
this.la = rows;
this.hf = tileset;
this.l = l;
};
/**
* @param {?} keepData
* @return {?}
*/
Tilemap.prototype.wa = function(keepData) {
return this.Cb == keepData.Cb && (this.la.wa(keepData.la) && (this.hf == keepData.hf && this.l == keepData.l));
};
/**
* @return {undefined}
*/
var Terminal = function() {
/** @type {null} */
this.Ih = this.Mb = null;
};
/** @type {function (): ?} */
Terminal.prototype.Hr = tmp;
/** @type {function (): ?} */
Terminal.prototype.Xp = tmp;
/** @type {function (): ?} */
Terminal.prototype.Gl = tmp;
/** @type {function (): ?} */
Terminal.prototype.reset = tmp;
/** @type {null} */
var MSG_OFFLINE_STATUS_SYNCING_MESSAGE = null;
/**
* @param {boolean} recurring
* @return {?}
*/
var animationsDisabled = function(recurring) {
var optgroup = objEquiv(recurring);
if (!optgroup) {
return trimDots(recurring), false;
}
var body = recurring.Cb.hi();
if (body.Mb && (body.Ih && (body.Mb.wa(recurring) && body.Ih.Tc == optgroup.Tc))) {
return true;
}
var rvar = new ValidationError;
if (optgroup.Tc || recurring.Cb.ng) {
var codeSegments = recurring.Cb.types(optgroup);
var cur = recurring.Cb.hl(optgroup, recurring);
/** @type {number} */
var i = 0;
for (;i < codeSegments.length && cur;i++) {
var expectedNumberOfNonCommentArgs = codeSegments[i];
var options = expectedNumberOfNonCommentArgs in arr2 ? arr2[expectedNumberOfNonCommentArgs].fy : null;
if (options && (options = options.$f(optgroup, recurring, cur), options.length)) {
/** @type {number} */
cur = cur - options.length;
var elems = new Capture;
elems.mb(expectedNumberOfNonCommentArgs);
/** @type {number} */
expectedNumberOfNonCommentArgs = 0;
for (;expectedNumberOfNonCommentArgs < options.length;expectedNumberOfNonCommentArgs++) {
elems.vd(options[expectedNumberOfNonCommentArgs] + "");
}
rvar.ys(elems);
}
}
}
if (!rvar.$t()) {
return trimDots(recurring), false;
}
body.Hr(rvar, recurring, optgroup);
return true;
};
/**
* @param {?} optgroup
* @param {boolean} recurring
* @return {?}
*/
var $http = function(optgroup, recurring) {
return optgroup.Cb.hi().Xp(optgroup, recurring);
};
/** @type {RegExp} */
var exclude = /^[\t-\/:-@\[-`{-~\u2000-\u206F\u2E00-\u2E7F]$/;
/** @type {RegExp} */
var rparentsprev = /^[a-zA-Z]$/;
/**
* @param {Object} recurring
* @return {?}
*/
var objEquiv = function(recurring) {
var p = recurring.Cb.xA;
if (recurring.l && isArguments(recurring.l)) {
return null;
}
/** @type {(Selection|null)} */
var range = window.getSelection();
if (!range || (0 == range.rangeCount || !range.isCollapsed)) {
return null;
}
/** @type {(Range|null)} */
range = range.getRangeAt(0);
range = nodeAtOffset(range.startContainer, range.startOffset, true);
if (range.la.nodeType != SELECT) {
return null;
}
var text = range.la.nodeValue;
if (range.offset < text.length && !isHTML(text.charAt(range.offset))) {
return null;
}
/** @type {number} */
var offset = range.offset - 1;
for (;0 < offset && (!exclude.test(text.charAt(offset)) && !isHTML(text.charAt(offset)));) {
offset--;
}
var name = text.charAt(offset);
if ("@" != name) {
if (":" != name) {
if ("\uff1a" != name) {
if (exclude.test(name) || isHTML(name)) {
offset++;
}
}
}
}
var part = text.substring(offset, range.offset);
if (0 == part.length || isHTML(part.charAt(part.length - 1))) {
return null;
}
name = part.charAt(0);
if (value(p, 0) && "@" == name) {
/** @type {number} */
recurring = 0;
/** @type {number} */
p = 1;
} else {
if (!value(p, 1) || ":" != name && "\uff1a" != name) {
if (value(p, 2) && (name.toUpperCase() == name && part.length >= recurring.Cb.Aq)) {
/** @type {number} */
recurring = 2;
/** @type {number} */
p = 0;
} else {
if (value(p, 3) && (rparentsprev.test(name) && part.length >= recurring.Cb.Aq)) {
/** @type {number} */
recurring = 3;
/** @type {number} */
p = 0;
} else {
return null;
}
}
} else {
/** @type {number} */
p = recurring = 1;
}
}
return{
co : recurring,
Tc : part.substring(p).toLowerCase(),
prefix : text.substring(0, offset),
kA : text.substring(offset + part.length),
zp : jQuery(range.la)
};
};
/**
* @param {?} optgroup
* @return {undefined}
*/
var trimDots = function(optgroup) {
var $ = optgroup.Cb.hi();
if ($.Mb) {
$.reset(optgroup);
}
if (optgroup.l) {
/** @type {null} */
optgroup.l.Hh = null;
}
};
/**
* @param {?} rvar
* @param {?} optgroup
* @param {Object} recurring
* @return {undefined}
*/
var seq = function(rvar, optgroup, recurring) {
if (recurring.hf && recurring.l) {
minify(slice(rvar, optgroup), recurring);
} else {
if (rvar = data.Ka(optgroup)) {
_fn(data.yg(rvar), recurring);
} else {
if (optgroup = params.Ka(optgroup)) {
_fn(params.yg(optgroup), recurring);
}
}
}
};
/**
* @param {?} callback
* @param {Object} recurring
* @return {undefined}
*/
var minify = function(callback, recurring) {
var text = recurring.l;
var current = callback(recurring.hf);
split(text);
if (isContentHeight) {
if (-1 != desc.indexOf("htcime")) {
finish(spyCall);
}
}
_fn(current.i(), recurring);
show(text, current.i());
};
/**
* @param {Object} n
* @param {string} recurring
* @return {undefined}
*/
var _fn = function(n, recurring) {
var value = objEquiv(recurring);
if (value) {
var c = value.zp;
var self = c.parent("[data-input]");
if (value.prefix) {
apply(value.prefix).insertBefore(c);
}
var f = appendChild(n, SELECT) && 0 == n.text().length;
/** @type {null} */
var h = null;
if (f) {
h = c;
} else {
if (recurring.Cb.ru) {
switch(value.co) {
case 1:
apply(":").insertBefore(c);
break;
case 0:
apply("@").insertBefore(c);
}
}
n.insertBefore(c);
if (recurring.Cb.iu) {
h = apply("\u00a0");
h.insertBefore(c);
} else {
/** @type {Object} */
h = n;
}
c.remove();
}
value = value.kA.replace(/^\s*/g, "");
if (0 < value.length) {
parseInt(apply(value), h);
}
if (f) {
c.remove();
}
trimDots(recurring);
if (!self.empty()) {
obj.input[self.data("input")].call(self, null);
}
} else {
trimDots(recurring);
}
};
var arr2 = {};
/**
* @param {number} desiredNonCommentArgIndex
* @param {Node} val
* @param {Function} dataAndEvents
* @return {undefined}
*/
var encodeUriSegment = function(desiredNonCommentArgIndex, val, dataAndEvents) {
arr2[desiredNonCommentArgIndex] = {
fy : val,
/** @type {Function} */
Pk : dataAndEvents
};
};
/**
* @param {?} i
* @param {?} subscript
* @param {?} expr
* @return {undefined}
*/
var sub = function(i, subscript, expr) {
if (i in arr2) {
arr2[i].Pk(subscript, expr);
if (expr.Cb.Tq) {
expr.Cb.Tq();
}
}
};
attempt(function() {
buildParams(1, callback("Image"), callback("Upload an image"), slice(flatten, function(classesToRemove) {
var optgroup = token(classesToRemove);
finish(function() {
element.kq(optgroup);
});
return optgroup;
}), 1);
buildParams(2, callback("Table"), callback("Create a table"), slice(flatten, parseDate), 19);
buildParams(8, callback("Person"), callback("Mention someone"), reversed);
buildParams(9, callback("Documents"), callback("Link to a document"), fromIndex);
buildParams(7, callback("Link"), callback("Link to a web page"), rgb);
buildParams(3, callback("Code [computer software source code]"), callback("Add a code block [computer software source code]"), slice(flatten, setAttributes), 1);
buildParams(4, "Spreadsheet (Early Beta)", callback("Create a spreadsheet"), slice(flatten, cancel), 41, function() {
return data.Ed.dw;
});
buildParams(5, callback("Participant"), callback("Add a menu of participants"), slice(minify, times), 1, oldconfig);
buildParams(6, "Text Entry", callback("Create a form field"), slice(minify, memory), 1, oldconfig);
buildParams(10, "Action", callback("Create an action button"), slice(minify, dblclick), 1, oldconfig);
encodeUriSegment(256, point, function(index, deepDataAndEvents) {
/** @type {number} */
index = parseInt(index, 10);
if (shouldSkip(index, deepDataAndEvents)) {
tabs[index].Pk(deepDataAndEvents);
}
});
});
var tabs = {};
/** @type {number} */
var portionIndex = 0;
/**
* @param {number} expectedNumberOfNonCommentArgs
* @param {string} ready
* @param {string} s
* @param {Function} obj
* @param {number} desiredNonCommentArgIndex
* @param {Function} b
* @return {undefined}
*/
var buildParams = function(expectedNumberOfNonCommentArgs, ready, s, obj, desiredNonCommentArgIndex, b) {
tabs[expectedNumberOfNonCommentArgs] = {
title : ready,
info : s,
/** @type {Function} */
Pk : obj,
Bt : desiredNonCommentArgIndex || 0,
Kx : b || function() {
return true;
},
index : portionIndex++
};
if (8 != expectedNumberOfNonCommentArgs) {
if (9 != expectedNumberOfNonCommentArgs) {
point.sb.add(ready, expectedNumberOfNonCommentArgs);
}
}
};
/**
* @param {number} index
* @param {?} deepDataAndEvents
* @return {?}
*/
var shouldSkip = function(index, deepDataAndEvents) {
if (!deepDataAndEvents.hf) {
return false;
}
var tab = tabs[index];
return tab.Bt && !every(deepDataAndEvents.hf, tab.Bt) ? false : tab.Kx();
};
/**
* @return {?}
*/
var oldconfig = function() {
return data.ka.employee;
};
/**
* @param {(number|string)} name
* @return {?}
*/
var addIndicator = function(name) {
var tab = tabs[name];
return createElement("div", "object-row command-row acc" + name).setData("id", name).append(createElement("div", "icon")).append(createElement("div", "title").ca(tab.title)).append(createElement("div", "info").ca(tab.info));
};
/**
* @param {?} callback
* @param {Object} ret
* @return {undefined}
*/
var flatten = function(callback, ret) {
finish(function() {
var recurring = ret.l;
_fn(apply(""), ret);
split(recurring);
var isArguments = recurring.document.Ma.Og();
if (!getNodeIndex(recurring)) {
if (!lookupIterator(recurring)) {
complete(xhr(recurring), true);
ret.hf.Ua(recurring, time);
}
}
callback(ret.hf).Ua();
isArguments();
});
};
/**
* @param {number} n
* @return {?}
*/
var times = function(n) {
n = concat(n, conf.no, null);
n.sa.El(1);
return n;
};
/**
* @param {number} classesToRemove
* @return {?}
*/
var memory = function(classesToRemove) {
return concat(classesToRemove, conf.oo, null);
};
/**
* @param {number} element
* @return {?}
*/
var dblclick = function(element) {
return concat(element, conf.lo, null);
};
/**
* @param {Node} value
* @return {undefined}
*/
var reversed = function(value) {
dump(value.l, which);
};
/**
* @param {Node} color
* @return {undefined}
*/
var fromIndex = function(color) {
dump(color.l, ru);
};
/**
* @param {Object} recurring
* @return {undefined}
*/
var rgb = function(recurring) {
_fn(apply(""), recurring);
split(recurring.l);
link();
};
/**
* @return {undefined}
*/
var Search = function() {
this.sb = new Position([]);
};
/**
* @param {?} name
* @param {Object} deepDataAndEvents
* @param {number} index
* @return {?}
*/
Search.prototype.$f = function(name, deepDataAndEvents, index) {
/** @type {Array} */
var arr = [];
if (name.Tc) {
arr = this.sb.$f(name.Tc);
} else {
var chunk;
for (chunk in tabs) {
arr.push(chunk);
}
}
arr = uniq(arr, function(index) {
return shouldSkip(index, deepDataAndEvents);
});
return arrayRemove(arr, index, function(index, idx) {
return tabs[index].index - tabs[idx].index;
});
};
var point = new Search;
/**
* @return {undefined}
*/
var block = function() {
Terminal.call(this);
this.rg = createElement("div", "ac-web-body").setData("instance-id", configList.length);
configList.push(this);
};
inherits(block, Terminal);
/** @type {Array} */
var configList = [];
self = block.prototype;
/** @type {function (): ?} */
self.Ir = tmp;
/** @type {function (): ?} */
self.gq = tmp;
/** @type {function (): ?} */
self.hr = tmp;
/**
* @param {?} name
* @param {Object} recurring
* @param {Object} deepDataAndEvents
* @return {undefined}
*/
self.Hr = function(name, recurring, deepDataAndEvents) {
/** @type {Object} */
this.Mb = recurring;
/** @type {Object} */
this.Ih = deepDataAndEvents;
removeChild(this.rg);
name = name.xv();
/** @type {number} */
recurring = 0;
for (;recurring < name.length;recurring++) {
var codeSegments = name[recurring];
deepDataAndEvents = codeSegments.ib();
codeSegments = codeSegments.Oc();
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var key = codeSegments[i];
var node = visit(deepDataAndEvents, key);
if (node) {
node.setData("mousedown", "no-caret-move").setData("click", "ac-web-select").setData("ac-type", deepDataAndEvents).setData("ac-id", key);
if (0 == recurring) {
if (0 == i) {
node.g("selected");
}
}
this.rg.append(node);
} else {
console.warn("Could not create result row for " + key);
}
}
}
this.Ir();
install(this);
};
/**
* @return {undefined}
*/
self.reset = function() {
/** @type {null} */
this.Ih = this.Mb = null;
this.gq();
};
/**
* @param {?} name
* @param {boolean} recurring
* @return {?}
*/
self.Xp = function(name, recurring) {
if ("keydown" != recurring.type || (!this.Mb || !this.Mb.wa(name))) {
return false;
}
if (27 == recurring.keyCode) {
return trimDots(name), true;
}
if (13 == recurring.keyCode) {
if (!recurring.shiftKey) {
var t = this.rg.find(".selected");
if (t.empty()) {
trimDots(name);
} else {
this.En(t);
}
return true;
}
} else {
if (38 == recurring.keyCode || 40 == recurring.keyCode) {
a: {
/** @type {boolean} */
var child = 38 == recurring.keyCode;
t = this.rg.find(".selected");
if (child) {
if (child = l(t), !child.empty()) {
t.k("selected");
child.g("selected");
} else {
if (name.Cb.vv) {
trimDots(name);
break a;
}
}
} else {
child = t.next();
if (!child.empty()) {
t.k("selected");
child.g("selected");
}
}
install(this);
}
return true;
}
}
return false;
};
/**
* @param {?} name
* @param {boolean} recurring
* @return {?}
*/
self.Gl = function(name, recurring) {
return(13 != recurring.keyCode || recurring.shiftKey) && 27 != recurring.keyCode;
};
/**
* @param {Object} deepDataAndEvents
* @param {string} key
* @return {?}
*/
var visit = function(deepDataAndEvents, key) {
/**
* @param {?} o
* @return {?}
*/
function _each(o) {
var optgroup = o.Ka(key);
return optgroup ? o.Jd(optgroup) : null;
}
switch(deepDataAndEvents) {
case 2:
return _each(data);
case 4:
;
case 128:
return _each(params);
case 8:
return _each(res);
case 256:
return addIndicator(parseInt(key, 10));
case 512:
return createElement("div", "object-row emoji-row").setData("id", key).append(createElement("div", "picture").append(addTest(key))).append(createElement("div", "title").ca(key.replace(/_/g, " "))).append(createElement("div", "info"));
case 1024:
return _each(model);
}
return null;
};
/**
* @param {?} event
* @return {undefined}
*/
self.En = function(event) {
sub(assertEquals(event, "ac-type"), event.data("ac-id"), this.Mb);
};
/**
* @param {?} block
* @return {undefined}
*/
var install = function(block) {
var overBox = block.rg.ga();
var box = block.rg.find(".selected").ga();
block.hr(box.top <= overBox.top, box.bottom >= overBox.bottom);
};
$("click", "ac-web-select", function() {
var parent = this.parent(".ac-web-body");
configList[assertEquals(parent, "instance-id")].En(this);
return false;
});
/**
* @return {undefined}
*/
var from = function() {
block.call(this);
this.Ta = new build_gameboard("ac-web-bubble", this.rg, new Tween(this), {
ev : true,
xu : true
});
this.Ja = new _object(this);
};
inherits(from, block);
/**
* @return {undefined}
*/
from.prototype.Ir = function() {
if (!this.Ta.Jb()) {
var udataCur = this.Mb.hf ? $$() : item;
this.Ta.show(this.Ja, udataCur);
}
};
/**
* @return {undefined}
*/
from.prototype.gq = function() {
this.Ta.ua();
};
/**
* @param {?} name
* @param {boolean} recurring
* @return {undefined}
*/
from.prototype.hr = function(name, recurring) {
addClass(this.Ta.i(), "arrow-selected", this.Ta.cl() ? recurring : name);
};
/**
* @param {?} elements
* @return {undefined}
*/
from.prototype.En = function(elements) {
if (!this.Mb) {
call(opts, "autocomplete_result_selected_without_context", {
bubble_dom : h(this.Ta.i()),
bubble_in_document : !this.Ta.i().parent("article").empty()
});
}
from.Ga.En.call(this, elements);
};
/**
* @param {(Element|string)} newProps
* @return {undefined}
*/
var Tween = function(newProps) {
/** @type {(Element|string)} */
this.uf = newProps;
};
inherits(Tween, two);
/**
* @return {?}
*/
Tween.prototype.ef = function() {
var selector = this.uf.Mb;
return selector && selector.hf ? element.ef() : {
bd : 0,
bf : window.innerHeight
};
};
/**
* @return {undefined}
*/
Tween.prototype.No = function() {
if (this.uf.Mb) {
trimDots(this.uf.Mb);
}
};
/**
* @return {undefined}
*/
Tween.prototype.Os = function() {
install(this.uf);
};
/**
* @param {(Element|string)} el
* @return {undefined}
*/
var _object = function(el) {
/** @type {(Element|string)} */
this.uf = el;
};
/**
* @return {?}
*/
_object.prototype.Jb = function() {
/** @type {(Selection|null)} */
var selection = window.getSelection();
return selection && (0 != selection.rangeCount && (selection.isCollapsed && (this.uf.Mb && objEquiv(this.uf.Mb)))) ? true : false;
};
/**
* @return {?}
*/
_object.prototype.ga = function() {
var position = objEquiv(this.uf.Mb);
/** @type {(Range|null)} */
var rng = document.createRange();
rng.setStart(position.zp.get(), position.prefix.length);
rng.setEnd(position.zp.get(), position.prefix.length + 1);
/** @type {(ClientRectList|null)} */
position = rng.getClientRects();
position = position[position.length - 1];
position = {
top : position.top - 2,
bottom : position.bottom + 2,
left : position.left,
right : position.right
};
/** @type {number} */
position.width = position.right - position.left;
/** @type {number} */
position.height = position.bottom - position.top;
return position;
};
/** @type {number} */
var t1 = 10;
/** @type {number} */
var attributes = 13;
var testSource = {
CLASS : 11,
TYPE : 9,
DELETED : 3,
CONTENT : 12,
STYLE : t1,
STATUS : 15,
PARENTS : attributes,
ATTRIBUTES : 16,
POSITION : 8,
ALT_RTML : 14
};
/** @type {Array} */
var head = [11, 9, 3, 12];
/** @type {Array} */
var buf = [t1, 15, attributes, 16, 8];
/** @type {Array} */
var src = [14];
/** @type {Array} */
var buffer = head.concat(buf.concat(src));
/**
* @param {?} code
* @return {?}
*/
var isButton = function(code) {
var name;
for (name in testSource) {
if (testSource[name] == code) {
return name;
}
}
return null;
};
/** @type {number} */
var EVENT_READY = 0;
/**
* @param {?} obj
* @return {?}
*/
var getInstance = function(obj) {
if (!(obj instanceof klass)) {
obj = new klass([obj]);
}
return raw(readFile(), obj);
};
/**
* @param {?} elems
* @return {?}
*/
var _nodeUID = function(elems) {
return(elems = getInstance(elems)) && elems instanceof list ? elems : null;
};
/**
* @param {Object} obj
* @return {?}
*/
var getPos = function(obj) {
return(obj = getInstance(obj)) && obj instanceof object ? (window.$c0 = obj, window.$cd0 = obj.i().get(), obj) : null;
};
/**
* @param {?} name
* @param {number} type
* @return {?}
*/
var _save = function(name, type) {
var codeSegments = name.bg();
/** @type {Array} */
var eventPath = [];
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;++i) {
eventPath.push({
ba : codeSegments[i],
Nd : type
});
}
return{
Ei : eventPath,
Cz : get_mangled(name, 2)
};
};
/**
* @param {string} name
* @return {undefined}
*/
var changeState = function(name) {
if (is_identifier(name) && ((name = encodeURIComponent()) && (name.tc() == actual.Aa() && existsSync(name, querySelector())), !onCompletion())) {
var targets = jQuery(".thread-document nav");
_isFunction();
var rvar = querySelector();
var modId = _isFunction() || querySelector();
var parentName = onCompletion() || insertAfter();
if (syntax) {
addClass(targets.find(".button.pin"), "unavailable", rvar);
addClass(targets.find(".button.unpin"), "unavailable", rvar);
} else {
addClass(targets.find(".button.pin"), "unavailable", parentName);
addClass(targets.find(".button.unpin"), "unavailable", parentName);
}
addClass(targets.find(".button.share"), "unavailable", modId);
addClass(targets.find(".button.read-only"), "unavailable", !rvar);
addClass(targets.find(".button.figure"), "unavailable", rvar);
addClass(jQuery("body"), "read-only", rvar);
addClass(jQuery(".thread > .input"), "unavailable", !(onCompletion() || _isFunction() && insertAfter() ? 0 : back(4)));
scope.enable(!rvar);
if (name) {
name.Vc.update();
}
}
};
/**
* @param {Object} name
* @return {undefined}
*/
var progress = function(name) {
var msg = encodeURIComponent();
if (msg) {
notify(msg, name, "websocket");
}
};
/**
* @return {?}
*/
var info = function() {
return extend(window.location.pathname, "/_ro");
};
/**
* @param {(Array|string)} key
* @param {(Array|string)} id
* @param {string} data
* @param {boolean} head
* @return {undefined}
*/
var loadData = function(key, id, data, head) {
head = head || false;
pub(8);
if (key) {
key = isNaN(key, GameObject);
changeState(key);
}
id = isNaN(id, Background);
setData(id.Aa());
data = isNaN(data, ref);
update(id, data, head);
head = readFile();
existsSync(head, querySelector());
if (!every(head)) {
onload(callback("This document has reached the maximum number of sections. You'll be able to edit existing ones, but not create any more."), void 0, 6E4);
}
pub(channelName);
makeRequest(nodeRequest);
};
/**
* @param {Array} doc
* @param {?} optgroup
* @param {boolean} e
* @return {undefined}
*/
var update = function(doc, optgroup, e) {
if (!element) {
element = new E;
}
executeSql(false, true, false);
getTime();
call(opts, "load_document", {
load_document_id : doc.Aa()
});
var d = new afterBuild($$(), doc);
getOptions(d);
requestAnimFrame(d, element);
element.tm(d);
stringifyPrimitive(d);
/** @type {boolean} */
var data = false;
var objectProperties = optgroup.bg();
/** @type {number} */
var p = 0;
for (;p < objectProperties.length;p++) {
var recurring = objectProperties[p];
if (recurring.Yc() == deepDataAndEvents && !recurring.Bb()) {
/** @type {boolean} */
data = true;
break;
}
}
/** @type {null} */
p = null;
if (e) {
p = optgroup;
optgroup = new ref;
}
/** @type {boolean} */
objectProperties = false;
if (!querySelector()) {
if (!data) {
/** @type {boolean} */
e = objectProperties = true;
data = UTCDate(callback("Untitled")) || new Contact;
recurring = {
edit : '<control id="temp:aac"></control>',
create_a_list : '<control id="temp:aad"></control>'
};
recurring = isMobile ? callback("Tap to %(edit)s or %(create_a_list)s [Full Sentence: Tap to edit or create a list]", recurring) : callback("Click to %(edit)s or %(create_a_list)s [Full Sentence: Click to edit or create a list]", recurring);
recurring = UTCDate("<i>" + recurring + "\u200b</i>") || new Contact;
p = new ref;
p.mc((new Transform).ri(1).Ia("temp:aac").mb(11).Za(CLASS(new Contact, nth(ID(new JoinError, callback("edit [Context: Click to *edit* or create a list]")).Fl(11), (new Enemy).ja(0)))).pi(1));
p.mc((new Transform).ri(1).Ia("temp:aad").mb(11).Za(CLASS(new Contact, nth(ID(new JoinError, callback("create a list [Context: Click to edit or *create a list*]")).Fl(11), (new Enemy).ja(5)))).pi(1));
p.mc((new Transform).ri(deepDataAndEvents).Ia("temp:aaa").mb(expectedNumberOfNonCommentArgs).ja(pdataOld).Za(data).He(cb(cancelAnimationFrame(), false)).xb("aaa:temp").pi(1));
p.mc((new Transform).ri(deepDataAndEvents).Ia("temp:aab").mb(expectedNumberOfNonCommentArgs).ja(0).Za(recurring).He(cb(cancelAnimationFrame(), false)).xb("aab:temp").pi(1));
}
}
/** @type {string} */
recurring = "startup";
/** @type {number} */
data = 2;
if (e) {
recurring = p.bg();
p = recurring;
if (0 != p.length) {
/** @type {Array} */
var i = [];
var s = {};
/** @type {number} */
var cur = 0;
for (;cur < p.length;cur++) {
var args = p[cur];
var value = args.Da();
if (!(value in s)) {
if (!(9 == args.ib())) {
/** @type {boolean} */
s[value] = true;
i.push(args);
}
}
}
/** @type {Array} */
p = i;
i = {};
/** @type {number} */
cur = 0;
for (;cur < p.length;cur++) {
args = p[cur];
if (s = args.Da()) {
value = lex();
args.Ia(value);
i[s] = value;
} else {
console.error("Serious error: no ID on incoming entity from remap");
}
}
/** @type {number} */
cur = 0;
for (;cur < p.length;cur++) {
args = p[cur];
args.Da();
s = args.ld();
var k = s.Oc();
var v = prompt(s);
s = get_mangled(s, 4);
args.pm();
args.qm();
args.Zb();
args.jd();
args.hd();
args.xd();
value = args.je();
args.Ah();
if (args.Yc() == deepDataAndEvents) {
/** @type {Array} */
var a = [];
/** @type {null} */
var b = null;
if (k && 0 < k.length) {
/** @type {boolean} */
var Q = true;
/** @type {number} */
var h = 0;
for (;h < k.length;h++) {
if (k[h] in i) {
a.push(i[k[h]]);
} else {
/** @type {boolean} */
Q = false;
console.error("Parent ID not found during remap!");
}
}
if (Q) {
if (v) {
if (v in i) {
b = i[v];
} else {
/** @type {boolean} */
Q = false;
}
}
}
if (!Q) {
/** @type {Array} */
a = [];
}
}
k = new Collection;
/** @type {number} */
h = 0;
for (;h < a.length;h++) {
k.vd(a[h]);
}
if (b) {
v = origFindId(k, 2, b);
origFindId(v, 4, s);
}
args.$a(k);
}
if (args.Yc() == deepDataAndEvents) {
if (args.ib() == expectedNumberOfNonCommentArgs) {
s = replaceAll(args.ob().rb().rb(), i, true);
args.Za((new Contact).ca((new Image).ca(s)));
} else {
if (2 == args.ib()) {
if (value) {
args.si(value);
}
}
}
}
}
}
/** @type {number} */
p = 0;
for (;p < recurring.length;++p) {
cur = recurring[p];
cur.pi(objectProperties ? 1 : 3);
optgroup.mc(cur);
}
data |= 64;
/** @type {string} */
recurring = "startup (" + (objectProperties ? "new" : "copy") + " document)";
}
optgroup = _save(optgroup, data);
d.Vu = optgroup.Cz;
optgroup = optgroup.Ei;
if (data = !e) {
data = forEach("disable-incremental-load");
/** @type {boolean} */
data = void 0 !== data ? !data : true;
}
if (data) {
if (optgroup.length < (isMobile ? valueAccessor() ? 5 : getPropertyValue() ? 7 : 10 : 15)) {
/** @type {null} */
data = null;
} else {
pub(19);
/** @type {number} */
data = 0;
/** @type {number} */
recurring = 60;
/** @type {number} */
p = 0;
if (isMobile) {
if (valueAccessor()) {
/** @type {number} */
p = 16;
if (_isSafari) {
/** @type {number} */
recurring = 10;
}
} else {
/** @type {number} */
p = getPropertyValue() ? 39 : 65;
}
} else {
/** @type {number} */
data = 350;
/** @type {number} */
p = 95;
}
/** @type {number} */
data = window.innerWidth - data - 2 * p;
/** @type {number} */
recurring = window.innerHeight - recurring;
recurring = new Range(optgroup, 1.5 * recurring);
/** @type {number} */
p = 0;
for (;p < recurring.Nl.length && !(recurring.bl >= recurring.to);p++) {
if (cur = recurring.Nl[p], args = cur.ba, i = args.ib(), $compile(args.pc())) {
detach(cur, recurring);
} else {
if (3 == i) {
args = cur;
cur = recurring;
fire(cur, args);
value = _serialize(cur, args);
/** @type {Array} */
args = [];
/** @type {Array} */
s = [];
/** @type {number} */
i = 0;
for (;i < value.length;i++) {
k = value[i];
v = k.ba.ib();
if (5 == v) {
args.push(k);
} else {
if (4 == v) {
s.push(k);
}
}
}
value = style(0).height + 1;
/** @type {number} */
i = 0;
for (;i < s.length;i++) {
k = s[i];
fire(cur, k);
v = _serialize(cur, k);
/** @type {number} */
k = 0;
for (;k < v.length;k++) {
if (a = v[k], 1 == a.ba.hc().Zk()) {
fire(cur, a, value);
break;
}
}
}
/** @type {number} */
i = 0;
for (;i < args.length && !(cur.bl >= cur.to);i++) {
s = args[i];
v = _serialize(cur, s);
/** @type {number} */
k = 0;
for (;k < v.length;k++) {
fire(cur, v[k]);
}
fire(cur, s, value);
}
} else {
if (1 == i) {
i = cur;
/** @type {number} */
cur = data;
args = recurring;
fire(args, i);
i = _serialize(args, i);
/** @type {number} */
s = 0;
for (;s < i.length && !(args.bl >= args.to);s++) {
value = i[s];
k = value.ba;
v = k.Qd();
/** @type {number} */
v = 32 * (get_mangled(v, 1) + 1);
fire(args, value, getPosition(k, cur - v));
}
} else {
fire(recurring, cur, getPosition(args, data));
}
}
}
}
for (;p < recurring.Nl.length;p++) {
cur = recurring.Nl[p];
args = cur.ba;
args.ib();
if ($compile(args.pc())) {
detach(cur, recurring);
}
}
pub(20);
data = recurring;
}
if (data) {
if (data.Vm == data.Ql.length) {
/** @type {Array} */
data = [data.Ql];
} else {
/** @type {Array} */
recurring = Array(data.Vm);
/** @type {number} */
p = 0;
/** @type {Array} */
cur = [];
/** @type {Array} */
args = Array(data.Ql.length - data.Vm);
/** @type {number} */
s = i = 0;
for (;s < data.Ql.length;s++) {
value = data.Ql[s];
if (value.Um in data.oq) {
recurring[p++] = value;
} else {
if (1 == value.ba.Pt() && value.ba.Lk() <= data.dn) {
cur.push(value);
} else {
args[i++] = value;
}
}
}
if (cur.length) {
toggleClass(recurring, cur);
args.length -= cur.length;
}
/** @type {Array} */
data = [recurring].concat(parseArgs(args));
}
if (1 == data.length) {
d.update(optgroup, "incremental skipped");
makeRequest(24);
} else {
d.rc.Qn++;
d.update(data[0], "incremental initial");
optgroup = forEach("incremental-load-pausing");
optgroup = new Vector(d, data, optgroup);
icon(d, optgroup);
onClick(optgroup);
}
} else {
d.update(optgroup, "incremental skipped");
makeRequest(24);
}
} else {
d.update(optgroup, recurring);
makeRequest(24);
}
if (e) {
if (!objectProperties) {
if (e = encode(d)) {
if (e.l) {
if (e.title == e.Ip) {
if (hasOwnProperty(e.l)) {
if (doc.Lg()) {
e.l.Za(doc.Lg());
}
}
}
}
}
}
}
y(d.rc);
if (d.Pc()) {
finish(bind(d.save, d));
}
};
/**
* @param {boolean} mayParseLabeledStatementInstead
* @param {boolean} recurring
* @param {boolean} opt_isDefault
* @return {?}
*/
var executeSql = function(mayParseLabeledStatementInstead, recurring, opt_isDefault) {
mayParseLabeledStatementInstead = mayParseLabeledStatementInstead || false;
recurring = recurring || false;
opt_isDefault = opt_isDefault || false;
nodeModulesPathsSync();
/** @type {boolean} */
var result = false;
var value = encodeURIComponent();
call(opts, "unload_document", {
unload_document_id : value ? type(value) : null
});
if (info() || value && !get_mangled(value.Gc, 12)) {
if (value) {
value.tf();
}
} else {
if (value) {
if (value.tf() || value.Sg()) {
if (value.Sg()) {
if (mayParseLabeledStatementInstead) {
isError(value);
}
}
value.save(void 0, !recurring);
result = value.Pc();
}
}
}
if (!opt_isDefault) {
if (value) {
/** @type {boolean} */
value.Is = false;
if (value.og) {
protectedClearTimeout(value.og);
/** @type {null} */
value.og = null;
}
}
getOptions(null);
removeChild($$());
removeCovers();
}
return result;
};
append("editor.init", function(subKey, storedFileId, inplace) {
loadData(subKey, storedFileId, inplace);
});
/** @type {null} */
var element = null;
attempt(function() {
if (!syntax) {
createDom(function() {
if (!$broadcast(3E5)) {
var value = getCacheKey();
if (value && (searchTerm && value != searchTerm)) {
/**
* @return {undefined}
*/
var optgroup = function() {
console.log("Client", value, "out of date; reloading to upgrade to", searchTerm);
window.location.reload(true);
};
var doc = encodeURIComponent();
if (doc && doc.tf()) {
doc.save(optgroup);
} else {
optgroup();
}
}
}
}, 3E4);
}
});
/**
* @return {?}
*/
window.onbeforeunload = function() {
if (executeSql(true, false, true)) {
return callback("There are unsaved changes. Are you sure you want to leave?");
}
};
events.addListener(function() {
var redirect_uri = encodeURIComponent();
if (redirect_uri) {
redirect_uri.Yp();
}
});
$("click", "document-error-retry", function() {
readFile().save();
_toString("listen");
return false;
});
$("mousedown", "no-caret-move", function() {
return false;
});
/** @type {boolean} */
var $rootScope = false;
/** @type {number} */
var startTime = 0;
var wijmo = new b([256, 2, 4, 128], [0]);
/** @type {boolean} */
wijmo.ng = true;
/**
* @param {?} name
* @return {?}
*/
wijmo.hl = function(name) {
return isMobile && name.Tc ? 10 : 4 + (name.Tc ? 0 : 2);
};
var which = new b([2], [0]);
/** @type {boolean} */
which.ng = true;
/**
* @return {?}
*/
which.hl = function() {
return isMobile ? 10 : 4;
};
var ru = new b([4, 128], [0]);
/** @type {boolean} */
ru.ng = true;
/**
* @return {?}
*/
ru.hl = function() {
return isMobile ? 10 : 4;
};
/**
* @param {string} model
* @param {number} exports
* @param {?} el
* @return {undefined}
*/
var Observable = function(model, exports, el) {
this.te = new build_gameboard(model, exports, this, {
lp : true
});
this.te.i().g("selection-inspector");
this.anchor = el;
attempt(bind(function() {
if (this.isEnabled()) {
events.addListener(bind(this.update, this));
}
}, this));
};
inherits(Observable, two);
self = Observable.prototype;
/** @type {function (): ?} */
self.update = tmp;
/**
* @return {?}
*/
self.isEnabled = function() {
return!isMobile || isContentHeight;
};
/**
* @param {Array} self
* @return {undefined}
*/
var unlock = function(self) {
if (!self.te.Jb()) {
self.te.show(self.anchor, readFile().la());
if (getNativeElement()) {
if (self = readFile().wu) {
console.log("Time from selection to actually showing selector: ", resetQueues() - self, " ms");
}
}
}
};
/**
* @return {undefined}
*/
self.show = function() {
if (_isSafari || isContentHeight) {
unlock(this);
} else {
if (this.Qj) {
protectedClearTimeout(this.Qj);
}
this.Qj = push(bind(function() {
delete this.Qj;
unlock(this);
}, this), 300);
}
};
/**
* @return {undefined}
*/
self.ua = function() {
if (this.Qj) {
protectedClearTimeout(this.Qj);
delete this.Qj;
}
this.te.ua();
};
/**
* @return {?}
*/
self.Jb = function() {
return this.te.Jb();
};
/**
* @return {?}
*/
self.ef = function() {
return element.ef();
};
/**
* @param {boolean} opt_ignored
* @param {number} options
* @param {boolean} vx
* @return {undefined}
*/
var grid = function(opt_ignored, options, vx) {
/** @type {Array} */
this.Ys = [];
/** @type {Array} */
this.$b = opt_ignored ? [[getDimensions(setSize(runCallbacks(val(newObj.ya(), 0), 0), 0), 0)]] : [[]];
this.ea = opt_ignored ? this.$b[0][0] : new klass([]);
this.Ou = opt_ignored || false;
this.gt = options || null;
this.vx = vx || false;
/** @type {boolean} */
this.es = false;
if (vx) {
this.ea.setData("mousewheel", "document-cover");
}
};
/**
* @return {undefined}
*/
grid.prototype.show = function() {
item.append(this.ea);
if (exec(this.Ye)) {
protectedClearTimeout(this.Ye);
delete this.Ye;
}
delete this.rv;
if (!exec(this.ne)) {
this.ne = finish(bind(function() {
this.ea.g("visible");
delete this.ne;
}, this));
}
/** @type {boolean} */
this.es = true;
};
/**
* @return {undefined}
*/
grid.prototype.ua = function() {
if (exec(this.ne)) {
getById(this.ne);
delete this.ne;
}
if (!exec(this.Ye)) {
if (this.ea.j("visible")) {
this.ea.k("visible");
this.Ye = push(bind(function() {
this.ea.remove();
delete this.Ye;
}, this), 250);
} else {
this.ea.remove();
}
/** @type {boolean} */
this.es = false;
/** @type {boolean} */
this.rv = true;
}
};
/**
* @param {?} self
* @param {Array} comparisons
* @return {undefined}
*/
var tick = function(self, comparisons) {
if (!self.rv) {
/** @type {Array} */
var optgroup = [0, 1E5];
/** @type {number} */
var i = 0;
for (;i < comparisons.length;i++) {
var t = comparisons[i];
var tagName = t.left || 0;
if (-1 == optgroup.indexOf(tagName)) {
optgroup.push(tagName);
}
tagName = t.right || 1E5;
if (-1 == optgroup.indexOf(tagName)) {
optgroup.push(tagName);
}
}
optgroup.sort(function(far, near) {
return far - near;
});
/** @type {Array.<?>} */
optgroup = optgroup.slice(1, optgroup.length - 1);
/** @type {boolean} */
tagName = false;
var _ = new klass([]);
if (String(optgroup) != String(self.Ys)) {
/** @type {boolean} */
tagName = true;
/** @type {number} */
i = 0;
for (;i < self.$b.length;i++) {
t = self.$b[i];
/** @type {number} */
var j = 0;
for (;j < t.length;j++) {
_ = _.concat(t[j]);
}
}
/** @type {Array} */
self.$b = [];
/** @type {number} */
i = 0;
for (;i <= optgroup.length;i++) {
self.$b.push([]);
}
/** @type {Array.<?>} */
self.Ys = optgroup;
}
/** @type {Array} */
var keys = [];
/** @type {number} */
i = 0;
for (;i <= optgroup.length;i++) {
keys.push([]);
}
/** @type {number} */
i = 0;
for (;i < comparisons.length;i++) {
t = comparisons[i];
if (t.left) {
keys[optgroup.indexOf(t.left) + 1].push(t);
} else {
keys[0].push(t);
}
}
/** @type {number} */
i = 0;
for (;i < keys.length;i++) {
t = keys[i];
var n = t.length + (self.Ou ? 1 : 0);
if (n < self.$b[i].length) {
/** @type {boolean} */
tagName = true;
j = n;
for (;j < self.$b[i].length;j++) {
_ = _.concat(self.$b[i][j]);
}
self.$b[i] = self.$b[i].slice(0, t.length + 1);
}
j = self.$b[i].length;
for (;j < n;j++) {
/** @type {boolean} */
tagName = true;
var p = newObj.ya();
if (self.gt) {
p.g(self.gt);
}
if (self.vx) {
p.setData("mousewheel", "document-cover");
}
setSize(p, 0 == i ? 0 : optgroup[i - 1]);
if (i == keys.length - 1) {
getDimensions(p, 0);
} else {
if (0 == i) {
p.gb(optgroup[i]);
} else {
p.gb(optgroup[i] - optgroup[i - 1]);
}
}
self.$b[i].push(p);
}
if (self.Ou) {
val(self.$b[i][0], 0);
/** @type {number} */
j = 0;
for (;j < t.length;j++) {
n = t[j];
css(self.$b[i][j], "bottom");
self.$b[i][j].Sa(Math.max(0, n.top - (0 == j ? 0 : t[j - 1].bottom)));
val(self.$b[i][j + 1], n.bottom);
}
css(self.$b[i][t.length], "height");
runCallbacks(self.$b[i][t.length], 0);
} else {
/** @type {number} */
j = 0;
for (;j < t.length;j++) {
p = t[j];
val(self.$b[i][j], p.top);
self.$b[i][j].Sa(p.bottom - p.top);
}
}
}
if (tagName) {
optgroup = new klass([]);
/** @type {number} */
i = 0;
for (;i < self.$b.length;i++) {
t = self.$b[i];
/** @type {number} */
j = 0;
for (;j < t.length;j++) {
optgroup = optgroup.concat(self.$b[i][j]);
}
}
self.ea = optgroup;
item.append(self.ea);
if (self.es) {
self.ne = finish(bind(function() {
this.ea.g("visible");
_.k("visible");
delete this.ne;
}, self));
}
push(bind(function() {
_.remove();
}, self), 250);
}
}
};
var newObj = createElement("div", "document-cover");
$("mousewheel", "document-cover", function(e) {
var redirect_uri = encodeURIComponent();
if (!redirect_uri) {
return true;
}
var basePrototype = redirect_uri.la();
if (e.clientX > basePrototype.ga().left) {
getOwnPropertyDescriptor(basePrototype, redirect_uri.la().scrollTop() - e.wheelDeltaY);
}
return false;
});
var $p1;
/**
* @return {?}
*/
var getNext = function() {
var o = encodeURIComponent();
if (!o) {
return null;
}
var dest = _clone();
return dest ? dest : (dest = insert()) ? (onLoad(o.Vc), dest) : (o = o.ta) && core_isArraylike(o) ? parseFile(o) : null;
};
/**
* @return {?}
*/
var urlParse = function() {
var subject = encodeURIComponent();
if (!subject || _clone()) {
return false;
}
if (containsMatch()) {
return true;
}
subject = subject.ta;
return null != subject && core_isArraylike(subject);
};
/**
* @param {Object} a
* @return {?}
*/
var urlappend = function(a) {
return(a = a.l()) && !isArguments(a) ? a : null;
};
/**
* @param {Object} s
* @return {?}
*/
var matchObject = function(s) {
var resultItems = s.o().zj();
/** @type {number} */
var i = 0;
for (;i < resultItems.length;i++) {
var result = resultItems[i];
if (result.type() == conf.qe && !markMatch(result.sa)) {
return result;
}
}
s = array(s.document.Ze, s);
if (!s.length) {
return null;
}
/** @type {number} */
i = 0;
for (;i < s.length;i++) {
if (result = s[i], !markMatch(result.sa)) {
return result;
}
}
return null;
};
/**
* @param {?} d
* @return {?}
*/
var objectToString = function(d) {
if (!d) {
return null;
}
var temp = urlappend(d);
return temp ? splice(d.sa) ? temp : d : null;
};
/**
* @param {?} a
* @return {?}
*/
var matchArray = function(a) {
if (!core_isArraylike(a)) {
return false;
}
a = array(a.document.Ze, a);
if (!a.length) {
return true;
}
/** @type {boolean} */
var result = true;
/** @type {number} */
var i = 0;
for (;i < a.length;i++) {
var next = a[i];
if (!markMatch(next.sa)) {
if (dequeue(next.id())) {
/** @type {boolean} */
result = false;
} else {
return true;
}
}
}
return result;
};
/**
* @param {Object} obj
* @return {?}
*/
var core_isArraylike = function(obj) {
var i = obj.o();
if (!i.ec() && !i.Qg) {
return true;
}
obj = obj.o().zj();
/** @type {number} */
i = 0;
for (;i < obj.length;i++) {
var result = obj[i];
if (result.type() == conf.qe && !markMatch(result.sa)) {
return false;
}
}
return true;
};
/**
* @return {?}
*/
var _clone = function() {
var codeSegments = encodeURIComponent();
/** @type {(Selection|null)} */
var selection = window.getSelection();
var i = getOperationalRange(2);
if (codeSegments && (selection && i)) {
var node = jQuery(selection.getRangeAt(0).commonAncestorContainer);
var result = hook(node);
if (result && (result.type() == conf.qe && !markMatch(result.sa))) {
return result;
}
/** @type {null} */
result = null;
expect(node.find("annotation.c" + conf.qe + ":not(.hidden)"), function() {
if (selection.containsNode(this, true)) {
return result = getPos(this), false;
}
});
if (result) {
return result;
}
if (core_isArraylike(i)) {
codeSegments = array(codeSegments.Ze, i);
/** @type {number} */
i = 0;
for (;i < codeSegments.length;i++) {
if (node = codeSegments[i], !markMatch(node.sa)) {
return node;
}
}
}
return null;
}
};
/**
* @return {undefined}
*/
var removeNode = function() {
/** @type {(Selection|null)} */
var selection = window.getSelection();
var self = jQuery(selection.getRangeAt(0).commonAncestorContainer);
var that = hook(self);
if (that) {
if (that.type() == conf.qe) {
if (markMatch(that.sa)) {
that.sa.remove();
}
}
}
expect(self.find("annotation.c" + conf.qe + ".hidden"), function() {
if (selection.containsNode(this, true)) {
that = getPos(this);
that.sa.remove();
}
});
};
/**
* @param {?} el
* @param {?} s
* @return {undefined}
*/
var _attr = function(el, s) {
var codeSegments = array(el.Ze, s);
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
if (markMatch(codeSegments[i].sa)) {
codeSegments[i].sa.remove();
}
}
};
/**
* @param {?} e
* @return {?}
*/
var parseFile = function(e) {
var n = readFile();
var resultItems = e.o().zj();
/** @type {number} */
var i = 0;
for (;i < resultItems.length;i++) {
var result = resultItems[i];
if (result.type() == conf.qe) {
if (markMatch(result.sa)) {
result.sa.remove();
}
}
}
_attr(n, e);
result = concat(n, conf.qe, null);
n = result.sa;
resultItems = data.ka.name;
n.Fh.In(data.ka.id).Hn(resultItems);
title(n);
onEnd(n, e);
return result;
};
/**
* @return {?}
*/
var insert = function() {
if (!containsMatch()) {
return null;
}
var input = readFile();
var selection = end();
var options = selection.fb;
options.o().normalize();
var range = mixIn(selection, options);
removeNode();
_attr(input, selection.fb);
input = concat(input, conf.qe, null);
if (!input) {
return console.error("Control could not be created"), null;
}
selection = input.sa;
var ret = data.ka.name;
selection.Fh.In(data.ka.id).Hn(ret);
title(selection);
var sel;
/** @type {boolean} */
sel = sel || false;
/** @type {(Selection|null)} */
selection = window.getSelection();
/** @type {(Range|null)} */
selection = selection.rangeCount ? selection.getRangeAt(0) : document.createRange();
if (range.jh) {
setSelectionAt(range.jh, true, sel, selection);
}
if (range.Dg) {
setSelectionAt(range.Dg, false, sel, selection);
}
/** @type {(Range|null)} */
range = selection;
try {
range.surroundContents(input.i().get());
/** @type {(Range|null)} */
range = document.createRange();
range.selectNodeContents(input.i().get());
window.getSelection().removeAllRanges();
window.getSelection().addRange(range);
} catch (g) {
/** @type {(DocumentFragment|null)} */
sel = range.extractContents();
input.i().get().appendChild(sel);
range.insertNode(input.i().get());
}
options.o().normalize();
options.Ra([12]);
if (isContentHeight) {
getRange();
}
return input;
};
/**
* @return {?}
*/
var containsMatch = function() {
var resultItems = encodeURIComponent();
if (!resultItems || wrapError(resultItems)) {
return false;
}
var i = end();
if (!i || (i.isCollapsed || i.fb != i.wb)) {
return false;
}
resultItems = array(resultItems.Ze, i.fb);
/** @type {number} */
i = 0;
for (;i < resultItems.length;i++) {
if (!markMatch(resultItems[i].sa)) {
return false;
}
}
return true;
};
/**
* @param {?} type
* @return {?}
*/
var dequeue = function(type) {
var codeSegments = encodeURIComponent();
if (!codeSegments) {
return 0;
}
codeSegments = codeSegments.Jm().gn();
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;i++) {
var name = codeSegments[i];
if (func(name, 1) == type) {
return get_mangled(name, 2);
}
}
return 0;
};
/**
* @param {Object} e
* @return {?}
*/
var handleMouseMove = function(e) {
if (markMatch(e.sa) || syntax && !dequeue(e.id())) {
return false;
}
var currentDate = e.document.ta;
return currentDate && e.l() == currentDate ? false : true;
};
/**
* @param {Object} e
* @param {?} event
* @return {undefined}
*/
var onMouseUp = function(e, event) {
if (handleMouseMove(e)) {
var me = e.i();
if (!syntax) {
me.g("popover-one-shot-anchor");
}
removeEventListener(e.id());
if (syntax) {
me.setData("ignore-next-click", "1");
stopEvent(event);
}
}
};
/**
* @param {?} optgroup
* @param {boolean} recurring
* @param {boolean} deepDataAndEvents
* @return {undefined}
*/
var removeEventListener = function(optgroup, recurring, deepDataAndEvents) {
var elem = readFile();
var queue = pow(elem, optgroup);
if (!queue) {
setStyles(elem);
queue = pow(elem, optgroup);
}
if (!queue) {
throw Error("Cannot open unknown annotation ID '" + optgroup + "'");
}
if (scrollTop()) {
element.ol(optgroup, recurring, deepDataAndEvents);
}
};
/**
* @param {?} node
* @return {undefined}
*/
var updateNodeHtml = function(node) {
node.find(".message-input.dirty").k("dirty");
close(node);
};
/**
* @param {string} e
* @param {boolean} recurring
* @return {undefined}
*/
var changePage = function(e, recurring) {
if ("string" == typeof e) {
e = pow(readFile(), e);
}
if (!($p1 == e && recurring)) {
$p1 = recurring ? e : null;
posFromMouse(e, "tab-opened", recurring);
e.document.Vc.update();
}
};
/**
* @param {Object} e
* @param {string} text
* @param {boolean} recurring
* @return {undefined}
*/
var posFromMouse = function(e, text, recurring) {
if ("string" == typeof e) {
e = pow(readFile(), e);
}
addClass(e.i(), text, recurring);
if (e = urlappend(e)) {
addClass(e.i(), "annotation-" + text, recurring);
}
};
/**
* @return {undefined}
*/
var dialog = function() {
/** @type {Array} */
this.Gh = [];
};
/**
* @param {?} type
* @return {undefined}
*/
dialog.prototype.add = function(type) {
if (!value(this.Gh, type)) {
this.Gh.push(type);
}
};
/**
* @param {?} name
* @return {undefined}
*/
dialog.prototype.remove = function(name) {
removeAll(this.Gh, name);
};
/**
* @param {?} ar
* @param {?} arg
* @return {?}
*/
var array = function(ar, arg) {
/** @type {Array} */
var assigns = [];
/** @type {number} */
var conditionIndex = 0;
for (;conditionIndex < ar.Gh.length;conditionIndex++) {
var vvar = ar.Gh[conditionIndex];
if (value(vvar.sa.le, arg)) {
assigns.push(vvar);
}
}
return assigns;
};
/**
* @param {?} store
* @return {undefined}
*/
var contents = function(store) {
/** @type {number} */
var i = 0;
for (;i < store.Gh.length;i++) {
var self = store.Gh[i].sa;
var activeClassName = self.control.document;
/** @type {Array} */
var assigns = [];
/** @type {number} */
var c = 0;
for (;c < self.Yg.length;c++) {
var vvar = self.Yg[c];
var failuresLink = width(activeClassName, vvar);
if (failuresLink) {
onEnd(self, failuresLink);
} else {
assigns.push(vvar);
}
}
/** @type {Array} */
self.Yg = assigns;
}
};
$("click", "annotation-tab", function(timer) {
var data = this.data("thread-id");
var target = this.data("id");
/** @type {boolean} */
var recurring = "1" == this.data("focus-input") || 0 == dequeue(target);
if (!jQuery(timer.target).parent(".full-text-search-results").empty()) {
submitHandler();
}
if (timer = destination) {
timer.close();
}
jQuery(".thread");
if (data && data != html()) {
onclick(data, void 0, void 0, function() {
removeEventListener(target, recurring);
});
} else {
removeEventListener(target, recurring);
}
return false;
});
attempt(function() {
getEnumerableProperties(handleEvent(67, indents | backgroundLayerMask, function() {
var pluginMap = getNext();
if (!pluginMap) {
return false;
}
removeEventListener(pluginMap.id(), true);
return true;
}), 2, callback("Add a comment"));
/** @type {null} */
var dest = null;
/** @type {boolean} */
var old = true;
events.addListener(function() {
if (syntax) {
var mat = _clone();
/** @type {boolean} */
var expr = window.getSelection().isCollapsed;
/** @type {boolean} */
var e = mat != dest || expr != old;
dest = mat;
/** @type {boolean} */
old = expr;
if (e) {
element.Lh();
}
} else {
if (encodeURIComponent()) {
encodeURIComponent().Vc.Yp();
}
}
});
});
/**
* @param {?} options
* @return {undefined}
*/
var Store = function(options) {
this.pa = options;
this.it = {};
this.ge = {};
/** @type {null} */
this.Rb = this.Ac = this.ia = null;
/** @type {number} */
this.rm = Number.MAX_VALUE;
};
self = Store.prototype;
/**
* @return {undefined}
*/
self.update = function() {
var a = {};
if (scrollTop()) {
var obj = this.pa.Jm().gn();
/** @type {number} */
var i = 0;
for (;i < obj.length;i++) {
var x = get_mangled(obj[i], 2);
if (x) {
var y = get_mangled(obj[i], 1);
var result = pow(this.pa, y);
if (result) {
if (!markMatch(result.sa)) {
a[y] = x;
}
}
}
}
obj = $p1;
if (!!obj) {
if (!(obj.document != this.pa)) {
if (!(obj.id() in a)) {
/** @type {number} */
a[obj.id()] = 0;
}
}
}
}
if (!isObject(a, this.it)) {
this.it = a;
obj = {};
var key;
for (key in this.ge) {
/** @type {number} */
obj[key] = 1;
}
/** @type {boolean} */
x = false;
for (key in a) {
i = a[key];
y = pow(this.pa, key);
if (key in obj) {
delete obj[key];
} else {
x = createElement("editorui", "annotation-gutter-icon popover-anchor").setData("id", key).setData("mouseover", "annotation-gutter-icon").setData("mouseout", "annotation-gutter-icon");
if (isMobile) {
x.setAttribute("onmousedown", "").setData("touchstart", "fastclick").setData("fastclick", "annotation-tab");
} else {
x.setData("click", "annotation-tab");
}
ok(x, false);
this.pa.la().append(x);
this.ge[key] = x;
/** @type {boolean} */
x = true;
}
result = i;
var code;
code = y.fg();
code = func(code, 7);
result = {
count : result,
name : code.Dt()
};
y = splice(y.sa) ? 0 == i ? callback("Add a comment") : 1 == i ? callback("1 comment") : callback("%(count)s comments", result) : 0 == i ? callback("Highlight by %(name)s", result) : 1 == i ? callback("1 comment on a highlight by %(name)s", result) : callback("%(count)s comments on a highlight by %(name)s", result);
addClass(this.ge[key].ca(i || ""), "numbered", 0 < i).setAttribute("title", y);
}
for (key in obj) {
this.ge[key].remove();
delete this.ge[key];
}
this.hg(x);
a = this.pa;
if (isMobile) {
key = a.Jm().gn();
/** @type {number} */
obj = 0;
for (;obj < key.length;obj++) {
x = get_mangled(key[obj], 1);
i = get_mangled(key[obj], 2);
if (x = pow(a, x)) {
addClass(x.i(), "tappable", 0 < i);
}
}
}
}
};
/**
* @return {undefined}
*/
self.Yp = function() {
if (this.ia) {
if (this.ia.j("active")) {
if (now() > this.rm) {
if (getOperationalRange(2)) {
close(this.ia);
/** @type {number} */
this.rm = Number.MAX_VALUE;
}
}
}
}
};
/**
* @param {?} data
* @return {undefined}
*/
var onLoad = function(data) {
if (!syntax) {
data.ta = data.pa.ta;
var newX = exec(data.Pf);
var x = null != data.ta && matchArray(data.ta);
if (x != newX) {
if (x) {
data.Pf = createElement("editorui", "annotation-gutter-icon popover-anchor").setData("click", "annotation-focused-section-highlight").setData("mousedown", "no-caret-move").setAttribute("title", callback("Add a comment"));
ok(data.Pf, false);
data.pa.la().append(data.Pf);
} else {
data.Pf.remove();
delete data.Pf;
}
data.hg(x);
}
}
};
/**
* @param {?} obj
* @param {string} e
* @param {boolean} recurring
* @return {undefined}
*/
var done = function(obj, e, recurring) {
if (obj.ia && obj.ia.j("active")) {
updateNodeHtml(obj.ia);
if (obj.Ac && obj.Ac.id() == e) {
return;
}
/** @type {number} */
obj.rm = Number.MAX_VALUE;
}
if (obj.Ac) {
changePage(obj.Ac, false);
}
obj.Ac = pow(obj.pa, e);
var dataAndEvents = obj.Ac.sa;
changePage(e, true);
var msg = urlappend(obj.Ac);
if (msg) {
var codeSegments = msg.children();
if (codeSegments.length) {
show(codeSegments[0]);
} else {
show(msg);
}
if (!syntax) {
msg.i().g("popover-anchor");
}
}
obj.ia = addClass(addClass(addClass(jQuery(".annotation-tab[data-id=template]").ya().setData("id", e).g("visible"), "annotation-hidden", markMatch(dataAndEvents)), "section-highlight", splice(dataAndEvents)), "inline-highlight", !splice(dataAndEvents));
if (dataAndEvents.kc()) {
obj.ia.g("newly-created").find(".button.remove").ca(splice(dataAndEvents) ? callback("Cancel") : callback("Remove"));
}
var stringBuffer = obj.ia.find(".messages");
if (null == msg) {
stringBuffer.append(createElement("div", "message detached").setData("sort", "0").append(createElement("div", "info").ca(callback("These comments refer to a section of the document that has been deleted."))));
}
addClass(obj.ia.find(".input"), "unavailable", !prepend());
addClass(obj.ia.find(".button.remove, .button.restore"), "unavailable", querySelector());
obj.pa.Lb();
obj.Rb = new Text;
obj.Rb.show();
item.append(obj.ia);
obj.hg(false);
finish(bind(function() {
this.ia.g("active");
if (recurring) {
var $select = this.ia.find(".message-input .text");
if (!$select.get().firstChild) {
$select.append(apply(""));
}
$select.focus();
}
}, obj));
if (!obj.Ac.kc()) {
var pdataCur = transform(24);
stringBuffer.append(pdataCur);
next("/-/annotation-tab", {
thread_id : obj.pa.tc(),
annotation_id : e,
include_snippet : null == msg,
secret_path : setAttribute()
}, bind(function(some) {
if (this.ia) {
if (this.ia.j("active")) {
pdataCur.remove();
appendTo(stringBuffer.append(successCallback(get(some.html))), 0);
}
}
}, obj), bind(function() {
pdataCur.remove();
stringBuffer.append(createElement("div", "error").ca(callback("Could not load the comments for this highlight.")));
return false;
}, obj));
}
};
/**
* @param {?} dataAndEvents
* @return {undefined}
*/
self.Us = function(dataAndEvents) {
this.Rb.ua();
if (this.ia) {
if (this.Ac.id() == dataAndEvents) {
changePage(this.Ac, false);
}
}
/** @type {null} */
this.ia = null;
};
/**
* @param {boolean} value
* @return {undefined}
*/
var writeWord = function(value) {
var vec = readFile().Vc;
vec.Ac.sa.Cl(value);
vec.update();
};
/**
* @param {boolean} v0
* @return {undefined}
*/
self.hg = function(v0) {
var node = exec(this.Pf);
if (!node) {
var opt_includeNode;
for (opt_includeNode in this.ge) {
/** @type {boolean} */
node = true;
break;
}
}
if (!node) {
/** @type {boolean} */
node = null != this.ia;
}
opt_includeNode = exec(this.lc);
if (node && !opt_includeNode) {
/** @type {number} */
this.lc = 1337;
this.lc = equals(bind(this.We, this), bind(this.Je, this));
} else {
if (!node) {
if (opt_includeNode) {
$timeout(this.lc);
delete this.lc;
}
}
}
if (node) {
if (opt_includeNode) {
if (v0) {
isCanvas(this.lc);
}
}
}
};
/**
* @return {?}
*/
self.We = function() {
/**
* @param {Object} frame
* @return {?}
*/
function callback(frame) {
if (frame) {
var tagJSON = frame.i().ga();
if (tagJSON.height && tagJSON.width) {
/** @type {number} */
var shift = 0;
if (frame instanceof list) {
switch(frame.xa()) {
case pdataOld:
/** @type {number} */
shift = 3;
break;
case udataCur:
/** @type {number} */
shift = -3;
}
}
return tagJSON.top - offset + shift;
}
}
return-1E5;
}
/**
* @return {undefined}
*/
function buildDeck() {
/** @type {string} */
s.cm = "right";
/** @type {number} */
var left = Math.round(x - size / 2);
/** @type {number} */
var width = 0;
if (left < right) {
/** @type {number} */
width = right - left;
} else {
if (left + size > winH) {
/** @type {number} */
width = winH - (left + size);
}
}
/** @type {number} */
var b = toggleWidth - handleWidth;
/** @type {number} */
var a = Math.round(toggleWidth / 2 - handleWidth / 2 + 9 - width);
if (28 > a) {
width -= 28 - a;
/** @type {number} */
a = 28;
} else {
if (a > b) {
width += a - b;
/** @type {number} */
a = b;
}
}
/** @type {number} */
s.Tj = left + width;
/** @type {number} */
s.lA = a;
}
/**
* @return {undefined}
*/
function _top() {
/** @type {number} */
var left = x - size;
if (left < right) {
/** @type {string} */
s.cm = "top";
left = x + 24;
} else {
/** @type {string} */
s.cm = "bottom";
}
/** @type {number} */
s.Tj = left;
}
var data = this.pa.la();
/** @type {number} */
var offset = data.ga().top - data.scrollTop();
var s = {
ft : {},
et : {}
};
var j;
for (j in this.ge) {
var d = pow(this.pa, j);
data = objectToString(d);
var x = callback(data);
s.ft[j] = x;
if (0 < x) {
if (urlEncodeIfNecessary()) {
d = urlappend(d);
s.et[j] = d && (d.Hb && data.i().ga().top == d.i().ga().top);
}
}
}
if (this.Pf) {
s.vy = callback(this.pa.ta);
}
j = bind(function() {
/** @type {string} */
s.cm = "none";
var targets = jQuery(".annotation-reply[data-id='" + this.Ac.id() + "']");
if (targets.empty()) {
/** @type {number} */
s.Tj = Math.round((right + winH) / 2 - size / 2);
} else {
/** @type {number} */
s.Tj = Math.max(Math.round(targets.ga().top - size), 0);
}
}, this);
if (this.ia) {
/** @type {number} */
var size = Math.round(this.ia.empty() ? 0 : this.ia.get().getBoundingClientRect().height);
/** @type {number} */
var toggleWidth = size - this.ia.borderTop() - this.ia.borderBottom();
/** @type {number} */
var right = 0;
/** @type {number} */
var winH = window.innerHeight;
if (data = objectToString(this.Ac)) {
x = callback(data) + offset;
var handleWidth = this.ia.find(".arrow").height();
if (jQuery(".thread").j("focused")) {
_top();
} else {
buildDeck();
}
} else {
j();
}
if (s.Tj + size < right || s.Tj > winH) {
/** @type {boolean} */
s.Us = true;
} else {
s.Ak = _getBounds(this.Ac);
}
}
return s;
};
/**
* @param {Object} e
* @return {undefined}
*/
self.Je = function(e) {
var i;
for (i in this.ge) {
if (val(this.ge[i], e.ft[i]), urlEncodeIfNecessary()) {
var r = e.et[i];
addClass(this.ge[i], "section-status-offset", r);
var d = pow(this.pa, i);
if (d) {
if (d = objectToString(d)) {
addClass(d.i(), "section-status-offset", r);
}
}
}
}
if (this.Pf) {
val(this.Pf, e.vy);
}
if (this.ia && e.Us) {
updateNodeHtml(this.ia);
} else {
if (this.ia) {
val(this.ia, e.Tj);
i = this.ia.find(".arrow");
r = e.cm;
addClass(addClass(addClass(addClass(this.ia, "right", "right" == r), "top", "top" == r), "bottom", "bottom" == r), "detached", "none" == r);
if ("right" == r) {
val(i, e.lA);
} else {
css(i, "top");
}
if (e.Ak) {
Widget(this.Rb, e.Ak);
}
}
}
};
/**
* @return {undefined}
*/
self.tf = function() {
if (this.ia) {
updateNodeHtml(this.ia);
}
var prefixed;
for (prefixed in this.ge) {
this.ge[prefixed].remove();
delete this.ge[prefixed];
}
if (exec(this.lc)) {
$timeout(this.lc);
delete this.lc;
}
if (this.Rb) {
this.Rb.ua();
}
};
/**
* @return {undefined}
*/
var Text = function() {
this.pw = sizeDiv.ya().g("top");
this.Lo = sizeDiv.ya().g("bottom");
this.yu = sizeDiv.ya().g("left");
this.ea = this.pw.concat(this.Lo, this.yu);
};
/**
* @return {undefined}
*/
Text.prototype.show = function() {
item.append(this.ea);
if (exec(this.Ye)) {
protectedClearTimeout(this.Ye);
delete this.Ye;
}
if (!exec(this.ne)) {
this.ne = finish(bind(function() {
this.ea.g("visible");
delete this.ne;
}, this));
}
};
/**
* @return {undefined}
*/
Text.prototype.ua = function() {
if (exec(this.ne)) {
getById(this.ne);
delete this.ne;
}
if (!exec(this.Ye)) {
if (this.ea.j("visible")) {
this.ea.k("visible");
this.Ye = push(bind(function() {
this.ea.remove();
delete this.Ye;
}, this), 250);
} else {
this.ea.remove();
}
}
};
/**
* @param {HTMLElement} e
* @return {?}
*/
var _getBounds = function(e) {
var coords = urlappend(e);
if (coords) {
e = e.document.la();
/** @type {number} */
var height = isContentHeight ? window.pageYOffset : 0;
/** @type {number} */
var bottom = window.innerHeight + height;
var margin;
if (aborts(join(coords))) {
coords = coords.i().ga();
/** @type {number} */
margin = 1;
} else {
coords = coords.fa().ga();
/** @type {number} */
margin = 4;
}
coords.top += height;
coords.bottom += height;
/** @type {number} */
var delta = isContentHeight ? Math.max(window.outerHeight, e.height()) : 0;
return{
top : Math.max(coords.top - margin, height),
bottom : Math.min(coords.bottom + margin, bottom),
left : e.ga().left,
Cm : delta
};
}
return{
top : 0,
bottom : 0,
left : window.innerWidth,
Cm : 0
};
};
/**
* @param {?} data
* @param {?} rect
* @return {undefined}
*/
var Widget = function(data, rect) {
data.pw.Sa(rect.top);
val(data.Lo, rect.bottom);
if (rect.Cm) {
data.Lo.Sa(rect.Cm - rect.bottom);
}
val(data.yu, rect.top).Sa(rect.bottom - rect.top).gb(rect.left);
};
var sizeDiv = createElement("div", "annotation-document-cover");
$("dialog-cleanup", "annotation-tab", function() {
if (this.find(".message-input").j("dirty")) {
return false;
}
var io = readFile().Vc;
io.Rb.ua();
if (io.ia && io.ia.wa(this)) {
var E = urlappend(io.Ac);
if (E) {
E.i().k("popover-anchor");
}
changePage(io.Ac, false);
}
return true;
});
$("transitionend", "annotation-tab", function() {
if (!this.j("active")) {
var s = readFile().Vc;
this.remove();
if (s.ia) {
if (s.ia.wa(this)) {
/** @type {null} */
s.ia = null;
/** @type {number} */
s.rm = Number.MAX_VALUE;
s.hg(false);
if (this.j("newly-created")) {
s = s.Ac.sa;
if (this.j("remove-highlight") || splice(s)) {
s.remove();
}
}
settings.update();
vec.update();
}
}
}
return true;
});
$("input", "annotation-tab", function() {
addClass(this, "dirty", arrayContains(this.find(".text,.files").normalize()));
return true;
});
$("send-setup", "annotation-tab", function() {
var result = this.parent(".dialog");
var that = readFile().Vc.Ac;
if (result.j("newly-created")) {
result.k("newly-created").find(".button.remove").ca(callback("Archive [verb]"));
}
if (that.kc()) {
var d = this;
that.document.save(function() {
run(d);
});
d.g("waiting");
return false;
}
this.setData("annotation-id", that.id());
return true;
});
$("click", "annotation-tab-close", function() {
var parentNode = this.parent(".dialog");
var msg = parentNode.find(".message-input");
if (msg.j("dirty") && !msg.j("waiting")) {
removeClass(callback("Send pending message before closing?"), callback("Send"), callback("Discard"), function(dataAndEvents) {
if (dataAndEvents) {
run(msg);
}
updateNodeHtml(parentNode);
}, void 0, true);
} else {
updateNodeHtml(parentNode);
}
return false;
});
$("click", "annotation-tab-remove", function() {
var result = this.parent(".dialog");
if (result.j("newly-created")) {
return result.g("remove-highlight"), updateNodeHtml(result), false;
}
writeWord(true);
return false;
});
$("click", "annotation-tab-restore", function() {
writeWord(false);
return false;
});
$("mouseover", "annotation-gutter-icon", function() {
var e = this.data("id");
posFromMouse(e, "focused", true);
return true;
});
$("mouseout", "annotation-gutter-icon", function() {
var e = this.data("id");
posFromMouse(e, "focused", false);
return true;
});
$("click", "annotation-focused-section-highlight", function() {
var pluginMap = getNext();
if (pluginMap) {
removeEventListener(pluginMap.id(), true);
}
return false;
});
attempt(function() {
mod2(function(result, el) {
var e = result.document.Vc;
if (e.ia) {
if (e.Ac == result) {
if (value(el, 12)) {
addClass(e.ia, "annotation-hidden", markMatch(result.sa));
}
}
}
});
});
/**
* @return {undefined}
*/
var background = function() {
this.Ss = createElement("div", "button highlight");
this.Ts = createElement("div", "byline");
this.hk = createElement("div", "popver-anchor").setData("click", "annotation-tab").setData("mousedown", "no-caret-move").append(this.Ss).append(this.Ts);
Observable.call(this, "annotation-inspector", this.hk, new RootToken);
};
inherits(background, Observable);
/**
* @return {undefined}
*/
background.prototype.update = function() {
if (this.anchor.Jb()) {
var pluginMap = _clone();
var classNames = dequeue(pluginMap.id());
this.hk.setData("id", pluginMap.id());
addClass(this.Ss, "numbered", 0 < classNames).ca(classNames || "");
this.Ts.ca(_update(pluginMap.sa));
this.show();
} else {
this.ua();
}
};
/**
* @return {undefined}
*/
var RootToken = function() {
};
inherits(RootToken, ctorB);
/**
* @return {?}
*/
RootToken.prototype.Jb = function() {
/** @type {(Selection|null)} */
var selection = window.getSelection();
if (!selection || (0 == selection.rangeCount || (!selection.isCollapsed || !encodeURIComponent()))) {
return false;
}
selection = _clone();
return!selection || splice(selection.sa) ? false : $p1 != selection;
};
var vec = new background;
/**
* @param {?} config
* @return {undefined}
*/
var C = function(config) {
this.pa = config;
/** @type {null} */
this.ia = this.Vk = this.Rb = null;
/** @type {number} */
this.nj = 0;
/** @type {Array} */
this.zh = [];
/** @type {Array} */
this.Sm = [];
/** @type {null} */
this.zd = null;
/** @type {string} */
this.Zu = "false";
};
/** @type {null} */
var destination = null;
self = C.prototype;
/**
* @param {Object} result
* @return {?}
*/
self.ga = function(result) {
/** @type {null} */
var fz = null;
if (result instanceof Constructor) {
var s = prompt(result.ba.ld());
if (!s) {
return null;
}
s = toLowerCase(this.pa, s);
if (!s || !$compile(s.xa())) {
return null;
}
result = s.o().vp(result);
if (!result) {
return null;
}
fz = result.ga();
/** @type {number} */
fz.Yq = 1;
/** @type {boolean} */
fz.fz = 13 == s.xa();
} else {
if (result instanceof list) {
if (aborts(join(result))) {
fz = result.i().ga();
/** @type {number} */
fz.Yq = 1;
} else {
fz = result.fa().ga();
/** @type {number} */
fz.Yq = 4;
}
} else {
return null;
}
}
return fz;
};
/**
* @param {Object} elem
* @param {Function} next
* @return {?}
*/
var tag = function(elem, next) {
var scrubbed = {};
expect(elem.find("div.edit").find("span.insert, span.delete, .li-changed li"), function() {
var e = jQuery(this);
for (;!e.empty() && ("CONTROL" == e.get().tagName || !e.get().id && !e.data("section-id"));) {
e = e.parent();
}
if (!e.empty()) {
var match = e.get().id || e.data("section-id");
/** @type {boolean} */
scrubbed[match] = true;
if (next && !next(e, match)) {
return false;
}
}
});
return Object.keys(scrubbed);
};
/**
* @param {?} type
* @return {undefined}
*/
self.open = function(type) {
var value = eventType(type.parent(".page-tear-group").parent().ya(), "id").k("unread");
var child = value.find(".page-tear-group");
type = type.ya();
removeChild(child).append(type);
value.k("edit-expanded");
eventType(value.find("[data-click='page-tear']"), "click");
value.find(".page-tear").setData("click", "diff-view");
child.setData("client-state", "expanded");
css(child.find(".content-height"), "height");
css(child.find(".content-body"), "top");
type.find(".edit").setData("client-state", "expanded");
type.find(".view").k("hidden").setData("click", "diff-view");
expect(type.find(".edit-group[data-section-id], .edit-group [id]"), function() {
var target = jQuery(this);
if (!write(target, "CONTROL")) {
target.setData("click", "diff-section").g("clickable").g("fadeable");
}
});
eventType(type.find(".clickable .checkboxdiff").parent(".clickable"), "click").k("clickable").k("fadeable");
eventType(type.find(".clickable").parent(".edit-group.clickable, ul.clickable, tr.clickable"), "click").k("clickable").k("fadeable");
this.ia = jQuery(".diff-tab.template").ya().g("visible").g("theme-" + this.pa.Rp().ib());
this.ia.find(".messages").append(value);
this.Zu = this.ia.find(".message-input .text").getAttribute("contenteditable");
addClass(this.ia.find(".input, .button-list"), "unavailable", !prepend());
this.ia.find("button.view-comments").setData("thread-id", this.pa.tc());
var element = this.pa;
/** @type {boolean} */
var e = false;
value = tag(type, function(exports, boundary) {
exports.g("changed");
if (!e) {
var key = toLowerCase(element, boundary);
if (key) {
if (!key.qa()) {
/** @type {boolean} */
e = true;
}
}
}
return true;
});
if (e) {
if (1 < value.length) {
this.ia.find(".document-inline-edit").append(get("<div class='focus-bar hidden'/>"));
}
item.append(this.ia);
expect(type.find(".clickable"), function() {
var item = jQuery(this);
if (!item.j("changed")) {
if (!start(item, ".changed")) {
eventType(item.k("clickable"), "click");
expect(item.find(".clickable"), function() {
eventType(jQuery(this).k("clickable"), "click");
});
}
}
});
this.zh = value;
top(this, this.zh);
this.zd = this.zh[0];
this.Rb = new grid(true, "diff", !isMobile);
this.Rb.show();
this.Vk = new grid(false, "highlight", !isMobile);
this.Vk.show();
slide(this, this.zd, 12);
open(this);
finish(bind(function() {
this.ia.g("active");
var expectationResult = toLowerCase(this.pa, this.zh[0]);
/** @type {null} */
var otherElementRect = null;
if (expectationResult) {
otherElementRect = this.ga(expectationResult);
}
if (otherElementRect) {
expectationResult = this.pa.Ma.we();
/** @type {number} */
var Fi = Math.min(this.ia.get().offsetHeight, layout(this) + 60);
val(this.ia, Math.min(expectationResult.Fi - Fi - 12, Math.max(otherElementRect.top - 60, 12)));
} else {
val(this.ia, 12);
}
}, this));
destination = this;
this.hg();
} else {
type = 1 < value.length ? callback("The selected edits are no longer in the document.") : callback("The selected edit is no longer in the document.");
removeClass(type, callback("OK"), null, function() {
});
}
};
/**
* @return {undefined}
*/
self.close = function() {
close(this.ia);
};
/**
* @param {?} element
* @param {Array} b
* @param {Object} node
* @return {undefined}
*/
var top = function(element, b, node) {
if (!(1 >= b.length)) {
node = node || {};
/** @type {number} */
var bi = 0;
for (;bi < b.length;bi++) {
var y = b[bi];
if (!(y in node)) {
var offset = toLowerCase(element.pa, y);
offset = offset ? element.ga(offset) : null;
node[y] = offset ? offset.top : 1E5;
}
}
b.sort(function(exp, bool) {
return mk_block(node[exp], node[bool]);
});
}
};
/**
* @param {undefined} data
* @param {Array} b
* @param {Object} val
* @param {string} value
* @return {undefined}
*/
var binding = function(data, b, val, value) {
if (null != b) {
top(data, b);
/** @type {Array} */
data.Sm = b;
}
data.zd = value ? value : b[0];
slide(data, data.zd);
open(data);
data.ia.find(".fadeable").g("faded").k("focused");
expect(data.ia.find(".faded .faded"), function() {
var exports = jQuery(this).parent();
for (;!exports.empty();) {
exports.k("faded");
exports = exports.parent();
}
});
if (exec(val)) {
if (val.j("fadeable")) {
val.k("faded").g("focused");
}
val = val.find(".fadeable");
} else {
val = data.ia.find(".fadeable[id='" + b[0] + "'],.fadeable[data-section-id='" + b[0] + "']");
}
val.k("faded").g("focused");
};
/**
* @param {Element} options
* @return {undefined}
*/
var open = function(options) {
/** @type {boolean} */
var value = false;
/** @type {boolean} */
var parent = false;
if (options.zd) {
var target = width(options.pa, options.zd);
if (target && !target.qa()) {
value = matchArray(target);
} else {
/** @type {boolean} */
parent = true;
}
}
var current = options.ia.find(".message-input");
addClass(current, "disabled", !value);
current.find("div.text").setAttribute("contenteditable", value ? options.Zu : "false");
current.find("div.placeholder").ca(parent ? "" : callback("Add a comment about this edit"));
addClass(options.ia, "show-view-comments", !parent && !value);
if (!parent) {
if (!value) {
if (!!target) {
parent = matchObject(target);
options.ia.find("button.view-comments").setData("id", parent.id());
}
}
}
if (value != exec(options.jf)) {
if (value) {
options.jf = createElement("editorui", "annotation-gutter-icon popover-anchor").setData("click", "diff-tab-section-highlight").setData("mousedown", "no-caret-move").setAttribute("title", callback("Add a comment"));
ok(options.jf, false);
options.pa.la().append(options.jf);
} else {
options.jf.remove();
delete options.jf;
}
}
value = options.ia.find(".focus-bar");
if (!value.empty()) {
parent = options.ia.find(".clickable[id='" + options.zd + "'],.clickable[data-section-id='" + options.zd + "']").ga();
options = _qwery(options.ia.find(".content-body"));
val(value, parent.top - options.top + -2 - 2).Sa(parent.height - -2 + 4);
}
};
/**
* @param {number} data
* @param {?} f
* @param {Object} b
* @return {undefined}
*/
var slide = function(data, f, b) {
var o = data.pa.Ma.we();
if (!exec(b)) {
b = data.ia.get().offsetTop;
}
/** @type {number} */
var lvl = Math.min(data.ia.get().offsetHeight - 75, layout(data));
o.bd += b + 75;
/** @type {number} */
o.Fi = lvl;
o.bf = o.bd + o.Fi;
if (f = width(data.pa, f)) {
show(f, null, true, o);
data.nj = data.pa.la().width();
}
};
/**
* @param {number} m
* @return {?}
*/
var layout = function(m) {
var n = m.pa.Ma.we();
/** @type {number} */
m = m.ia.get().offsetHeight - m.ia.find(".messages").get().offsetHeight;
/** @type {number} */
n = n.Fi - 24;
return Math.max(Math.min(400, n - m), 0.75 * n - m);
};
/**
* @return {undefined}
*/
self.hg = function() {
/** @type {boolean} */
var _tryInitOnFocus = null != this.ia;
var _isFocused = exec(this.lc);
if (_tryInitOnFocus && !_isFocused) {
/** @type {number} */
this.lc = 1337;
this.lc = equals(bind(this.We, this), bind(this.Je, this));
} else {
if (!_tryInitOnFocus) {
if (_isFocused) {
$timeout(this.lc);
delete this.lc;
}
}
}
};
/**
* @return {?}
*/
self.We = function() {
if (!this.ia) {
return{};
}
var y = this.pa.Ma;
var e = y.we();
var a = {
kz : layout(this)
};
var item = this.pa.la();
/** @type {number} */
var delta = isContentHeight ? Math.max(window.outerHeight, item.height()) : 0;
/** @type {Array} */
var content = [];
/** @type {Array} */
var strip = [];
var c = {};
/** @type {null} */
var GET = null;
/** @type {number} */
var i = 0;
for (;i < this.zh.length;i++) {
var eventName = this.zh[i];
var entry = toLowerCase(this.pa, eventName);
/** @type {boolean} */
var r = -1 != this.Sm.indexOf(eventName);
if (entry && (!entry.qa() && 3 != entry.type())) {
var pos = this.ga(entry);
if (null !== pos) {
var offset = pos.Yq;
/** @type {null} */
var str = null;
if (entry instanceof list) {
str = entry.bc();
for (;str && processMessage(str.xa());) {
str = str.bc();
}
}
/** @type {number} */
c[eventName] = pos.top - offset;
/** @type {number} */
var n = pos.top - offset;
pos = pos.bottom + offset;
if (content.length && (str == GET || n - 64 <= content[content.length - 1].bottom)) {
if (pos > content[content.length - 1].bottom) {
content[content.length - 1].bottom = pos;
}
content[content.length - 1].Ev.push(eventName);
} else {
content.push({
Ev : [eventName],
top : n,
bottom : pos,
left : item.ga().left,
Cm : delta
});
}
GET = entry;
if (r) {
if (strip.length && n - 64 <= strip[strip.length - 1].bottom) {
if (pos > strip[strip.length - 1].bottom) {
strip[strip.length - 1].bottom = pos;
}
} else {
strip.push({
top : n,
bottom : pos,
left : item.ga().left
});
}
}
}
}
}
/** @type {number} */
i = 0;
for (;i < content.length;i++) {
top(this, content[i].Ev, c);
}
/** @type {Array} */
a.hp = content;
/** @type {Array} */
a.hq = strip;
a.Oy = this.Sm;
if (!this.zd) {
return a;
}
item = toLowerCase(this.pa, this.zd);
if (!item) {
return a;
}
delta = y.qk();
content = this.ga(item);
if (item instanceof list) {
content = item.i();
for (;!("offsetTop" in content.get() || content.empty());) {
content = content.parent();
}
if (content.empty()) {
return a;
}
/** @type {number} */
y = 0;
switch(item.xa()) {
case pdataOld:
/** @type {number} */
y = 3;
break;
case udataCur:
/** @type {number} */
y = -3;
}
item = content.get();
for (;item && item != delta;item = item.offsetParent) {
y += item.offsetTop;
}
} else {
y = content.top + e.bd;
if (content.fz) {
y += 4;
}
}
delta = this.ia.get().offsetTop + this.ia.get().clientTop;
item = this.ia.get().offsetHeight;
/** @type {number} */
e = y - delta - 9 - e.bd;
if (25 <= e) {
if (e < item - 70) {
/** @type {number} */
a.Es = e;
}
}
if (this.jf) {
a.ty = y;
}
return a;
};
/**
* @param {Object} p
* @return {undefined}
*/
self.Je = function(p) {
if (this.ia) {
this.ia.find(".messages").ja("max-height", p.kz + "px");
var rvar = this.ia.find(".arrow");
if (exec(p.Es)) {
val(rvar, p.Es);
this.ia.k("detached");
} else {
this.ia.g("detached");
}
if (this.jf) {
val(this.jf, p.ty);
}
/** @type {boolean} */
var modId = rvar = false;
if (p.Oy.length) {
/** @type {boolean} */
rvar = !(0 < p.hq.length);
/** @type {boolean} */
modId = 1 == this.Sm.length;
} else {
/** @type {boolean} */
rvar = !(0 < p.hp.length);
/** @type {boolean} */
modId = 1 == this.zh.length;
}
if (rvar) {
var _results = this.ia.find(".error-bar .info");
if (modId) {
_results.ca(callback("The selected edit is no longer in the document."));
} else {
_results.ca(callback("The selected edits are no longer in the document."));
}
addClass(this.ia, "singular", modId);
}
addClass(this.ia, "missing", rvar);
if (p.hp) {
tick(this.Rb, p.hp);
}
if (p.hq) {
tick(this.Vk, p.hq);
}
if (this.zd) {
if (this.nj != this.pa.la().width()) {
slide(this, this.zd);
}
}
}
};
/**
* @param {(Array|string)} list
* @return {?}
*/
var size = function(list) {
if (!list.zd) {
return null;
}
var e = width(list.pa, list.zd);
if (!e || (e.qa() || !matchArray(e))) {
return null;
}
list = array(list.pa.Ze, e);
/** @type {number} */
var p = 0;
for (;p < list.length;p++) {
var n = list[p];
if (!markMatch(n.sa)) {
return n;
}
}
return parseFile(e);
};
$("click", "diff-section", function() {
var pdataCur = destination;
if (!pdataCur) {
return true;
}
var b = this.getAttribute("id") || this.data("section-id");
if (!b) {
b = this.parent("[id]").getAttribute("id") || this.parent("[data-section-id]").data("section-id");
}
binding(pdataCur, [b]);
pdataCur.ia.find(".focus-bar").k("hidden");
return false;
});
$("click", "diff-view", function() {
var pdataCur = destination;
if (!pdataCur) {
return false;
}
var indents = this.j("page-tear") ? this : this.parent(".page-tear");
binding(pdataCur, [], indents, pdataCur.zd);
return false;
});
$("input", "diff-tab", function() {
addClass(this, "dirty", arrayContains(this.find(".text,.files").normalize()));
return true;
});
$("click", "diff-tab-close", function() {
var origContext = this.parent(".dialog");
close(origContext);
return true;
});
$("click", "diff-tab-section-highlight", function() {
var result = destination;
if (result) {
var io = size(result)
}
if (io) {
result.close();
removeEventListener(io.id(), true);
}
return false;
});
$("send-setup", "diff-tab", function() {
var result = destination;
if (result) {
var that = size(result)
}
if (!that) {
return removeClass("A comment cannot be added to the selected edit.", callback("OK"), null, function() {
}), false;
}
if (that.kc()) {
var d = this;
that.document.save(function() {
run(d);
});
d.g("waiting");
return false;
}
this.setData("annotation-id", that.id()).g("sending");
return true;
});
$("send-cleanup", "diff-tab", function() {
var result = destination;
if (result) {
result.close();
}
return true;
});
$("dialog-cleanup", "diff-tab", function() {
var e = destination;
e.Rb.ua();
e.Vk.ua();
e.ia.k("animate");
if (e.jf) {
e.jf.remove();
}
return true;
});
$("transitionend", "diff-tab", function() {
if (this.j("active")) {
this.g("animate");
} else {
var e = destination;
this.remove();
if (e.ia) {
if (e.ia.wa(this)) {
/** @type {null} */
e.ia = null;
e.Rb.ua();
e.Vk.ua();
/** @type {null} */
destination = null;
css(e.pa.la(), "paddingTop");
if (!isMobile) {
right(getInnerWidth());
}
e.hg();
}
}
}
return true;
});
/**
* @param {Object} evt
* @param {Function} callback
* @return {undefined}
*/
var getClipboardDataByPastebin = function(evt, callback) {
/** @type {(Selection|null)} */
var selection = window.getSelection();
var srange;
if (selection) {
if (selection.rangeCount) {
srange = selection.getRangeAt(0);
}
}
var focus = document.activeElement;
var selected = setStyle(createElement("div").setAttribute("contenteditable", "true"), {
position : "absolute",
top : "-1000px",
left : "-1000px"
});
item.append(selected);
selected.focus();
finish(function() {
var data = parents(selected);
selected.remove();
if (focus) {
focus.focus();
}
/** @type {(Selection|null)} */
selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(srange);
if (data) {
evt["clipboard.js.synthesizedClipboardData"] = {
types : ["text/html"],
/**
* @return {?}
*/
getData : function() {
return data;
}
};
callback();
}
});
};
/**
* @param {Object} c
* @return {?}
*/
var getFile = function(c) {
if ("clipboard.js.synthesizedClipboardData" in c) {
return false;
}
if (!c.clipboardData) {
return true;
}
c = c.clipboardData.types;
return external ? sortFunction(c, ["text/plain"]) : isCORS && (!applyIfNotSet && (!isMobile && c)) ? (c = slice(value, c), (c("text/rtf") || c("public.rtf")) && (!c("text/html") && (!c("application/vnd.quip.sections+pblite") && !c("image/vnd.quip.image-section")))) : false;
};
/**
* @param {string} str
* @return {?}
*/
var escape = function(str) {
str = (new Access).Ij(str);
return str = str.replace(/./g, function(s) {
var date = s.charCodeAt(0);
if (32 <= date && 127 >= date) {
return s;
}
s = date.toString(16).toUpperCase();
if (256 > date) {
/** @type {string} */
s = "0" + s;
}
if (4096 > date) {
/** @type {string} */
s = "00" + s;
}
return "\\u" + s;
});
};
/**
* @param {?} label
* @return {?}
*/
var stylize = function(label) {
return(new Slice).Ij(label);
};
/**
* @param {string} name
* @param {Function} child
* @return {?}
*/
var isNaN = function(name, child) {
var jQuery = new Slice;
var node = child.oc();
return jQuery.Oi(node, name);
};
/**
* @param {?} cookieName
* @return {?}
*/
var toStr = function(cookieName) {
return(new FlatMessage(1)).Ij(cookieName);
};
/**
* @param {?} n
* @return {undefined}
*/
var above = function(n) {
this.xp = n;
this.Yy = this.gf = new Key(assertEquals(n.i(), "section-float"), n.bc(), n.wc());
};
/**
* @return {?}
*/
above.prototype.Fa = function() {
return this.xp.o();
};
/**
* @param {(RegExp|string)} w
* @param {?} x
* @param {?} h
* @return {undefined}
*/
var Key = function(w, x, h) {
/** @type {(RegExp|string)} */
this.Wd = w;
this.Ki = x;
this.vh = h;
};
/**
* @param {?} keepData
* @return {?}
*/
Key.prototype.wa = function(keepData) {
return keepData.Wd == this.Wd && (keepData.Ki == this.Ki && keepData.vh == this.vh);
};
/**
* @param {Object} e
* @param {number} s
* @param {Object} x
* @return {?}
*/
var onMouseMove = function(e, s, x) {
if (s) {
if (s.cb()) {
return 0;
}
} else {
if (x && x.cb()) {
return 0;
}
}
e = e.clientX;
s = readFile().la();
var start = _qwery(s);
x = s.paddingLeft();
var c = s.paddingRight();
start = start.left + x;
/** @type {number} */
s = s.width() - x - c;
return e < start + 0.2 * s ? 1 : e > start + 0.8 * s ? 2 : 0;
};
/** @type {null} */
var conn = null;
$("dragstart", "section-drag", function(d) {
var self = _nodeUID(this);
if (d.target != self.Db.get()) {
return true;
}
if (!self.o().rq()) {
return console.warn("Got a dragstart event for an undraggable section", self.id(), ", ignoring"), true;
}
self = conn = new above(self);
self.Em = self.Fa().ew(d);
return true;
});
$("dragend", "section-drag", function(event) {
if (!conn) {
return true;
}
stopEvent(event);
event = conn;
event.Fa().Xo(event.Em);
/** @type {null} */
conn = null;
return true;
});
$("dragover", "section-drag", function(event) {
if (isValidFileDrag(event)) {
return stopEvent(event), true;
}
if (!conn) {
return true;
}
stopEvent(event);
a: {
var data = conn;
/** @type {null} */
var key = null;
/** @type {null} */
var ctx = null;
var node = event.target;
for (;node;node = node.parentNode) {
if (node == data.Em.get()) {
key = new Key(onMouseMove(event, data.gf.Ki, data.gf.vh), data.gf.Ki, data.gf.vh);
break;
}
if (ctx = _nodeUID(node)) {
break;
}
}
if (!key) {
if (!ctx) {
ctx = within(readFile(), event);
}
if (!ctx) {
console.warn("Couldn't find section in dragover, target was " + event.target.nodeName);
break a;
}
key = data.xp;
var obj = ctx;
var thisMouseY = event.clientY;
var base = _qwery(obj.i()).top;
var range = obj.i().height();
ctx = obj.bc();
node = obj;
if (thisMouseY > base + 0.5 * range) {
ctx = obj;
node = obj.wc();
}
if (ctx == key) {
ctx = key.bc();
} else {
if (node == key) {
node = key.wc();
}
}
event = onMouseMove(event, ctx, node);
key = new Key(event, ctx, node);
}
if (!(data.gf && data.gf.wa(key))) {
data.gf = key;
data.Fa().gv(key, data.Em);
}
}
return true;
});
$("drop", "section-drag", function(e) {
if (isValidFileDrag(e)) {
stopEvent(e);
var name = readFile();
var ret = within(name, e);
name = token(name, ret);
upload_file(e.dataTransfer.files[0], name);
name.Ua();
return true;
}
if (!conn) {
return true;
}
stopEvent(e);
e = conn;
e.Fa().Xo(e.Em);
if (e.gf) {
if (!e.Yy.wa(e.gf)) {
e.Fa().Cs(e.gf);
e.xp.Ua();
}
} else {
console.warn("No drop info in drop, ignoring");
}
return true;
});
var Vu;
/**
* @param {Node} node
* @return {?}
*/
var autoCode = function(node) {
if (node.nodeType == SELECT) {
return 1;
}
if (8 == node.nodeType || !node.nodeName) {
return 2;
}
switch(node.nodeName) {
case "A":
;
case "B":
;
case "I":
;
case "U":
;
case "BR":
;
case "H1":
;
case "H2":
;
case "H3":
;
case "H4":
;
case "H5":
;
case "P":
;
case "UL":
;
case "OL":
;
case "LI":
;
case "DIV":
;
case "SPAN":
;
case "DT":
;
case "DD":
;
case "TABLE":
;
case "CAPTION":
;
case "TR":
;
case "TD":
;
case "TH":
;
case "PRE":
return 1;
case "INPUT":
;
case "FORM":
;
case "HEAD":
;
case "META":
;
case "LINK":
;
case "#comment":
return 2;
}
return 3;
};
/** @type {function (Node): ?} */
autoCode.acceptNode = autoCode;
/** @type {Array.<string>} */
var req = "h1 h2 h3 p listitem table pre".split(" ");
/** @type {string} */
var pageSelector = req.join(",");
var root = {};
/**
* @param {Array} template
* @return {?}
*/
var render = function(template) {
/**
* @param {Object} first
* @param {string} event
* @param {Array} key
* @param {string} number
* @param {Array} callbacks
* @return {?}
*/
function fn(first, event, key, number, callbacks) {
for (;;) {
if (0 == callbacks.length) {
return number;
}
var node = callbacks[callbacks.length - 1][0];
var part = callbacks[callbacks.length - 1][1];
/** @type {Object} */
var p = first;
if (first && !(node !== root || (!event || event && value(req, event)) && event)) {
return number;
}
for (;;) {
if (first) {
p = p.parentNode;
}
if (p === node) {
return number;
}
if (null === p || p === key) {
callbacks.pop();
if (-1 == part.indexOf("trailing:")) {
number += "</" + part.toLowerCase() + ">";
} else {
if ("trailing:br" == part) {
/** @type {boolean} */
g = true;
} else {
number += "<" + part.substring(9) + ">";
}
}
break;
}
}
}
}
/**
* @param {Node} target
* @param {(number|string)} element
* @param {string} attr
* @param {Array} callbacks
* @return {?}
*/
function get(target, element, attr, callbacks) {
element = element || target.nodeName;
if (0 < callbacks.length) {
var evt = callbacks[callbacks.length - 1][1];
if (callbacks[callbacks.length - 1][0] === root) {
if (element) {
if (value(req, element)) {
callbacks.pop();
attr += "</" + evt.toLowerCase() + ">";
}
}
}
}
callbacks.push([target, element]);
return attr;
}
/**
* @param {(Array|string)} s
* @return {?}
*/
function find(s) {
var results = {};
s = s.getAttribute("style");
if (!s) {
return results;
}
s = s.split(";");
/** @type {number} */
var i = 0;
for (;i < s.length;i++) {
var parts = s[i].split(":");
if (1 == parts.length) {
/** @type {string} */
results[parts[0].trim()] = "";
} else {
if (1 < parts.length) {
results[parts[0].trim()] = parts[1].trim();
}
}
}
return results;
}
/**
* @param {string} style
* @return {?}
*/
function callback(style) {
return(style = style.match(/([0-9.]+)p[tx]/)) ? parseFloat(style[1]) : -1;
}
/** @type {boolean} */
var isSelf = -1 != template.indexOf("urn:schemas-microsoft-com:office") || (-1 != template.indexOf("=Mso") || -1 != template.indexOf("mso-"));
template = createAndInsertIframeForContent(template);
/** @type {boolean} */
var g = false;
/** @type {TreeWalker} */
var element = document.createTreeWalker(template.get(), 5, autoCode, false);
/** @type {Array} */
var callbacks = [];
/** @type {string} */
var val = "";
/** @type {number} */
var end = 0;
/** @type {boolean} */
var p = false;
for (;;) {
/** @type {null} */
var target = null;
if (p) {
for (;;) {
if (target = element.nextSibling(), null == target) {
if (target = element.parentNode(), null == target) {
break;
}
} else {
break;
}
}
} else {
/** @type {(Node|null)} */
target = element.nextNode();
}
/** @type {boolean} */
p = false;
if (null == target) {
break;
}
/** @type {null} */
var b = null;
/** @type {string} */
var c = "";
/** @type {null} */
var data = null;
/** @type {boolean} */
var L = false;
/** @type {boolean} */
var parens = false;
if (target.nodeType == SELECT) {
if (!/^\n+$/.test(target.data)) {
if (data = target.data, callbacks.length && "pre" == callbacks[callbacks.length - 1][1]) {
data = data.split(/[\n\r]/);
/** @type {number} */
var s = 0;
for (;s < data.length;s++) {
data[s] = tmpl(unCamelCase(data[s]));
}
data = data.join("<br>");
} else {
data = tmpl(data.replace(/\s+/g, " "));
}
}
} else {
if (b = target.nodeName.toLowerCase(), "br" == b) {
/** @type {boolean} */
L = true;
if (0 == sibling(jQuery(target)).text().trim().length) {
/** @type {null} */
b = null;
}
} else {
if (0 != target.textContent.length || start(jQuery(target), "br")) {
if (0 == target.textContent.length) {
/** @type {boolean} */
p = true;
}
var style = target.style;
s = style.display || "";
var current = callback(style.fontSize || "");
var q = style.fontWeight || "";
var endpoint = style.fontStyle || "";
var relativeUrlPrefix = style.textDecoration || "";
var hosts = callback(style.marginBottom || "");
style = callback(style.marginTop || "");
if ("none" == s) {
/** @type {null} */
b = null;
/** @type {boolean} */
p = true;
} else {
switch(b) {
case "a":
if ((s = target.getAttribute("href")) && HCHARS.test(s)) {
/** @type {string} */
c = ' href="' + s + '"';
} else {
/** @type {null} */
b = null;
}
break;
case "li":
/** @type {boolean} */
parens = true;
/** @type {string} */
b = "listitem";
/** @type {number} */
c = 0;
s = jQuery(target).parent("ul,ol");
for (;!s.parent("ul,ol").empty();) {
c++;
s = s.parent("ul,ol");
}
/** @type {string} */
c = ' data-indentation="' + c + '"';
break;
case "ul":
;
case "ol":
/** @type {null} */
b = null;
break;
case "h4":
;
case "h5":
/** @type {string} */
b = "h3";
case "h1":
;
case "h2":
;
case "h3":
/** @type {boolean} */
parens = true;
break;
case "b":
if ("normal" == q) {
/** @type {null} */
b = null;
}
break;
case "i":
;
case "u":
break;
case "table":
/** @type {boolean} */
parens = true;
break;
case "caption":
;
case "tr":
;
case "td":
;
case "th":
break;
case "pre":
/** @type {boolean} */
parens = true;
break;
default:
var targets = find(target);
if (targets["mso-list"] && /Ignore/.test(targets["mso-list"])) {
/** @type {null} */
b = null;
/** @type {boolean} */
p = true;
} else {
if ("p" == b && targets["mso-list"]) {
if (s = targets["mso-list"].match(/level([0-9]+)/)) {
c = s[1];
/** @type {boolean} */
parens = true;
/** @type {string} */
b = "listitem";
/** @type {string} */
c = ' data-indentation="' + c + '"';
}
} else {
if ("p" == b && jQuery(target).j("MsoSubtitle")) {
/** @type {boolean} */
parens = true;
/** @type {string} */
b = "h3";
} else {
if ("span" == b && "bold" == q) {
/** @type {string} */
b = "b";
} else {
if ("span" == b && "italic" == endpoint) {
/** @type {string} */
b = "i";
} else {
if ("span" == b && "underline" == relativeUrlPrefix) {
/** @type {string} */
b = "u";
} else {
if (q = "p", 32 <= current ? q = "h1" : 21 <= current && (q = "h2"), "p" == q || val.substring(end)) {
if ("span" != b && ("div" == b || ("p" == b || s && -1 == s.indexOf("inline")))) {
if (!(2 <= style || 2 <= hosts) || jQuery(target).j("MsoNoSpacing")) {
if (isSelf || "p" != b) {
/** @type {string} */
c = " class=line";
}
}
/** @type {string} */
b = val.substring(end) ? q : "trailing:br";
} else {
/** @type {null} */
b = null;
}
} else {
if (0 < end) {
/** @type {string} */
val = val.substring(0, val.lastIndexOf("<"));
/** @type {string} */
callbacks[callbacks.length - 1][1] = q;
}
/** @type {string} */
b = q;
/** @type {boolean} */
parens = true;
}
}
}
}
}
}
}
;
}
}
} else {
/** @type {null} */
b = null;
/** @type {boolean} */
p = true;
}
}
}
val = fn(parens ? null : target, b, template, val, callbacks);
parens = b || data;
if (!(0 != callbacks.length)) {
if (!!parens) {
if (!(b && (b && value(req, b)))) {
val = get(root, "p", val, callbacks);
val += "<p class=line>";
/** @type {number} */
end = val.length;
/** @type {boolean} */
g = false;
}
}
}
if (b) {
if (b) {
if (value(req, b)) {
if (0 < callbacks.length) {
/** @type {string} */
b = "br";
/** @type {boolean} */
L = true;
}
}
}
}
if (b) {
if (L || (val = get(target, b, val, callbacks)), -1 == b.indexOf("trailing:") && (val += "<" + b + c + ">"), b && value(req, b) || -1 != b.indexOf("br")) {
end = val.length;
/** @type {boolean} */
g = false;
}
}
if (data) {
if (g) {
end = val.length;
/** @type {boolean} */
g = false;
val += "<br>";
}
val += data;
}
}
for (;0 < callbacks.length;) {
val = fn(null, null, template, val, callbacks);
}
return val = val.replace(/ +/g, " ");
};
/**
* @param {string} array
* @return {?}
*/
var clean = function(array) {
array = array.split(/[\n\r]/);
/** @type {string} */
var ret = "";
/** @type {number} */
var i = 0;
for (;i < array.length;i++) {
var template = array[i];
template = template.replace(/\s+/g, " ");
template = template.trim();
template = tmpl(template);
/** @type {string} */
ret = ret + ("<p class=line>" + template + "</p>");
}
return ret;
};
/**
* @param {string} str
* @return {?}
*/
var unCamelCase = function(str) {
return str.replace(/\t/g, template(" ", 4)).replace(/\s\s/g, " \u00a0").replace(/^\s/, "\u00a0");
};
/**
* @param {Array} files
* @return {?}
*/
var checkResult = function(files) {
files = filter(files);
var jQuery = new ref;
/** @type {number} */
var i = 0;
for (;i < files.length;++i) {
jQuery.mc(files[i]);
}
return jQuery;
};
/**
* @param {Array} data
* @return {?}
*/
var filter = function(data) {
/**
* @param {number} expectedNumberOfNonCommentArgs
* @return {?}
*/
function fn(expectedNumberOfNonCommentArgs) {
var b = new Transform;
b.Ia("temp:" + d++);
b.ri(deepDataAndEvents);
b.mb(expectedNumberOfNonCommentArgs);
b.Xb(0);
return b;
}
/**
* @param {(number|string)} isXML
* @param {Node} value
* @return {?}
*/
function filter(isXML, value) {
var event = fn(expectedNumberOfNonCommentArgs).ja(isXML).Za((new Contact).ca((new Image).ca(md5_hh(value.get(), null, prev))));
queue.push(event);
return event;
}
/** @type {number} */
var d = 1;
/** @type {Array} */
var queue = [];
/** @type {Array} */
var k = [];
expect(trim(createAndInsertIframeForContent(data)), function() {
var table = jQuery(this);
if (!appendChild(table, ELEMENT_NODE) && table.filter(pageSelector).empty()) {
console.error("Invalid top-level element in sectionRtml: ", table.get());
} else {
if (write(table, "table")) {
var q = table.find("th, td");
if (q.empty() || 1 == q.length() && !q.text()) {
queue.pop();
} else {
if (1 == q.length()) {
filter(0, q);
} else {
q = table.find("caption");
if (!q.empty()) {
filter(udataCur, q);
}
var templatePromise = fn(3).mb(3).ja(8);
queue.push(templatePromise);
/** @type {Array} */
var children = [];
expect(table.find("tr"), function(dataAndEvents, deepDataAndEvents) {
var c = jQuery(this);
var copies;
if (0 != deepDataAndEvents) {
copies = fn(5).ja(9).$a((new Collection).vd(templatePromise.Da()));
copies.ve();
queue.push(copies);
}
/** @type {Array} */
var keys = [];
expect(c.find("th, td"), function(dataAndEvents, key) {
var child;
if (0 == deepDataAndEvents) {
child = fn(4).ja(10).$a((new Collection).vd(templatePromise.Da()));
children.push(child);
child.ve();
queue.push(child);
} else {
if (child = children[key], !child) {
return;
}
}
var a;
a = jQuery(this);
a = md5_hh(a.get(), null, prev);
var n = fn(expectedNumberOfNonCommentArgs).ja(0).$a(new Collection);
if (0 == deepDataAndEvents) {
n.hc().vd(child.Da());
} else {
n.hc().vd(copies.Da()).vd(child.Da());
keys.push(n);
}
n.Za((new Contact).ca((new Image).ca(a)));
queue.push(n);
});
if (0 != deepDataAndEvents && keys.length < children.length) {
/** @type {number} */
c = keys.length;
for (;c < children.length;c++) {
var modId = fn(expectedNumberOfNonCommentArgs).ja(0).$a((new Collection).vd(copies.Da()).vd(children[c].Aa()));
queue.push(modId);
}
}
});
}
}
} else {
var tag = table.get().nodeName.toLowerCase();
/** @type {number} */
q = 0;
switch(tag) {
case "h1":
/** @type {number} */
q = pdataOld;
break;
case "h2":
/** @type {number} */
q = 2;
break;
case "h3":
/** @type {number} */
q = udataCur;
break;
case "pre":
/** @type {number} */
q = 4;
}
q = filter(q, table);
switch(tag) {
case "p":
/** @type {boolean} */
table = !table.j("line");
q.He(new Tag);
cb(q.Pd(), table);
break;
case "listitem":
/** @type {number} */
table = Number(table.data("indentation")) || 0;
q.He(new Tag);
isPlainObject(q.Pd(), table);
k.push(q);
}
}
}
});
/** @type {Array} */
data = [];
/** @type {null} */
var isXML = null;
/** @type {number} */
var i = 0;
for (;i < queue.length;++i) {
var p = queue[i];
if (-1 != k.indexOf(p)) {
if (!isXML) {
isXML = fn(1).ja(5);
data.push(isXML);
}
p.$a((new Collection).vd(isXML.Da()));
} else {
/** @type {null} */
isXML = null;
}
data.push(p);
}
/** @type {null} */
isXML = null;
/** @type {number} */
i = 0;
for (;i < data.length;++i) {
p = data[i];
isXML = filterFunc(isXML, null);
p.xb(isXML);
}
return data;
};
/**
* @param {?} $particles
* @param {Array} array
* @param {Object} ml
* @param {number} Tools
* @param {?} values
* @return {undefined}
*/
var List = function($particles, array, ml, Tools, values) {
this.la = $particles;
/** @type {Array} */
this.nd = array;
/** @type {Object} */
this.ml = ml;
/** @type {number} */
this.Cd = Tools;
this.ug = values;
};
/**
* @param {?} arr
* @return {?}
*/
var shift = function(arr) {
var o = end();
var codeSegments = createNode(arr.get());
var options = addAttributes(arr.get());
/** @type {number} */
var foundI = -1;
/** @type {number} */
var scope = -1;
if (o) {
/** @type {number} */
var i = 0;
for (;i < codeSegments.length;++i) {
if (codeSegments[i] == o.Eb) {
/** @type {number} */
foundI = i;
scope = o.Yb;
}
}
}
return new List(arr, codeSegments, options, foundI, scope);
};
/**
* @param {Object} element
* @return {?}
*/
var doAnimation = function(element) {
for (;element;element = element.parentNode) {
var displayNone = jQuery(element).style("display");
if (displayNone && ("inline" != displayNone && "inline-block" != displayNone)) {
return jQuery(element);
}
}
return null;
};
/**
* @param {number} node
* @return {?}
*/
var parseNode = function(node) {
if (0 == node.ml.length) {
return true;
}
if (-1 == node.Cd) {
return false;
}
/** @type {number} */
var i = 0;
for (;i <= node.Cd;++i) {
if (node.ml[i].nodeType != SELECT) {
return false;
}
}
var pos = doAnimation(node.nd[0]);
/** @type {null} */
i = null;
/** @type {number} */
i = 0;
for (;i < node.nd.length;++i) {
if (!pos.wa(doAnimation(node.nd[i]))) {
i--;
break;
}
if (0 < node.nd[i].data.trim().length) {
break;
}
}
/** @type {number} */
pos = i;
var c = node.nd[node.Cd].data;
/** @type {number} */
var start = 0;
/** @type {number} */
i = 0;
for (;i < c.length;i++) {
if ("\u00a0" == c.charAt(i) || operate(c.charAt(i))) {
/** @type {number} */
start = i;
break;
}
}
return node.Cd <= pos && node.ug <= start;
};
/**
* @param {number} target
* @return {?}
*/
var populate = function(target) {
var j;
if (-1 == target.Cd) {
return false;
}
if (!j) {
/** @type {number} */
j = 0;
/** @type {number} */
var i = target.ml.length - 1;
for (;target.ml[i] != target.nd[target.Cd];--i) {
if (target.ml[i].nodeType != SELECT) {
j++;
}
}
if (1 < j) {
return false;
}
}
i = doAnimation(target.nd[target.nd.length - 1]);
/** @type {null} */
j = null;
/** @type {number} */
j = target.nd.length - 1;
for (;0 < j;--j) {
if (!i.wa(doAnimation(target.nd[j]))) {
j++;
break;
}
if (0 < target.nd[j].data.trim().length) {
break;
}
}
/** @type {number} */
i = j;
var input = target.nd[target.Cd].data;
var il = input.length;
/** @type {number} */
j = input.length - 1;
for (;0 <= j;j--) {
if ("\u00a0" == input.charAt(j) || operate(input.charAt(j))) {
/** @type {number} */
il = j + 1;
break;
}
}
return target.Cd >= i && target.ug >= il;
};
/**
* @return {?}
*/
List.prototype.Eh = function() {
/** @type {number} */
var prevChunksLen = 0;
/** @type {number} */
var rCount = 0;
for (;rCount < this.nd.length;++rCount) {
prevChunksLen += this.nd[rCount].length;
}
return prevChunksLen;
};
/** @type {RegExp} */
var rvar = RegExp("\\b((?:([\\w-]+):(/{1,3})|www[\\.]|(?:[A-Za-z][\\w-]*\\.(?=([A-Za-z][\\w-]*\\.)*(?:com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil)(?:/|$|\\)|:|\\s))))(?:(?:(?:[^\\s&()]|&amp;|&|&quot;)*(?:[^!\"#$%&'()*+,\\.:;<=>?@\\[\\]^`{|}~\\s]))|(?:\\((?:[^\\s&()]|&amp;|&|&quot;)*\\)))+)");
/** @type {RegExp} */
var HCHARS = /^(http(s)?|ftp|mailto|tel):/;
/** @type {RegExp} */
var pattern = /[^\-<]\-\-[^\->]/;
var elems = {
"\u2194" : /[^\<](\<\-{1,2}\>)[^\>]/,
"\u2190" : /[^\<](\<\-{1,2})[^\-]/,
"\u2192" : /[^\-](\-{1,2}\>)[^\>]/
};
/** @type {RegExp} */
var vvarText = RegExp("\\b([-\\.\\w]+\\@[-\\w]+(?:\\.[-\\w]+)*\\.(?:com|org|edu|gov|uk|net|ca|de|jp|fr|au|us|ru|ch|it|nl|se|no|es|mil))");
/** @type {RegExp} */
var vvar = RegExp("(^|[!\"#'()*,\\.:;<>?@\\[\\]`{|}~\\s])((?:\\+[0-9]+[\\- \\.]*)?(?:\\([0-9]+\\)[\\- \\.]*)?(?:[0-9][0-9\\- \\.][0-9\\- \\.]+[0-9]))($|[!\"#'()*,\\.:;<>?@\\[\\]`{|}~\\s])");
/** @type {RegExp} */
var bit = /(.*[^0-9]+)([0-9]+)/;
/** @type {RegExp} */
var reWhitespace = /^((?:\+[0-9]+[\- \.]*)?(?:\([0-9]+\)[\- \.]*)?(?:[0-9][0-9\- \.][0-9\- \.]+[0-9]))$/;
/**
* @param {Object} match
* @return {?}
*/
var lookAhead = function(match) {
/** @type {string} */
var matches = "tel:";
/** @type {number} */
var i = 0;
for (;i < match.length;i++) {
var ch = match[i];
if ("0" <= ch && "9" >= ch || "+" == ch) {
matches += ch;
}
}
return matches;
};
var newMatch = {
matches : false,
Ug : 0,
match : "",
eh : null
};
/**
* @param {?} parent
* @param {Array} source
* @param {boolean} callback
* @param {boolean} deepDataAndEvents
* @return {?}
*/
var Class = function(parent, source, callback, deepDataAndEvents) {
return walk(function(value, groupName) {
var match;
a: {
/** @type {number} */
match = 0;
for (;match < variables.length;match++) {
var optgroup = (0, variables[match])(value, groupName);
if (optgroup.matches) {
match = optgroup;
break a;
}
}
match = newMatch;
}
if (!match.matches && (match = iterator(value).match, !match.matches && (match = value.search(pattern), -1 == match ? match = newMatch : (optgroup = apply(value[match] + "\u2014" + value[match + 3]), match = {
matches : true,
Ug : match,
match : value.substr(match, 4),
eh : optgroup
}), !match.matches))) {
/** @type {number} */
match = -1;
var matches;
var _;
var i;
for (i in elems) {
if (optgroup = elems[i], matches = value.match(optgroup)) {
match = value.search(optgroup);
/** @type {string} */
_ = i;
break;
}
}
if (_) {
_ = apply(value[match] + _ + value[match + matches[1].length + 1]);
match = {
matches : true,
Ug : match,
match : matches[0],
eh : _
};
} else {
match = newMatch;
}
}
return match;
}, parent, source, callback, deepDataAndEvents);
};
/**
* @param {Function} fn
* @param {?} opts
* @param {Array} s
* @param {number} i
* @param {boolean} action
* @return {?}
*/
var walk = function(fn, opts, s, i, action) {
i = i || false;
action = action || false;
/** @type {null} */
var el = null;
/** @type {number} */
var len = -1;
/** @type {boolean} */
var colons = false;
/** @type {(Selection|null)} */
var last = window.getSelection();
if (last && 0 < last.rangeCount) {
var c = end();
if (c) {
el = c.Eb;
len = c.Yb;
}
}
c = shift(jQuery(s));
s = c.nd;
if (0 == s.length) {
return false;
}
/** @type {number} */
last = 0;
/** @type {number} */
var n = s.length
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment