Skip to content

Instantly share code, notes, and snippets.

@steipete
Created January 29, 2015 10:33
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 5 You must be signed in to fork a gist
  • Save steipete/39fb134e6ee4714b0a96 to your computer and use it in GitHub Desktop.
Save steipete/39fb134e6ee4714b0a96 to your computer and use it in GitHub Desktop.
Facebook Group App's ReactNative
This file has been truncated, but you can view the full file.
__SSTOKENSTRING = "@generated SignedSource<<dbe928e1275c495c1922c1bf063ffb70>>";
! function(e) {
function t(e) {
function t() {
var t = Array.prototype.map.call(arguments, function(e) {
if (null == e) return null === e ? "null" : "undefined";
if ("string" == typeof e) return '"' + e + '"';
try {
return JSON.stringify(e)
} catch (t) {
if ("function" == typeof e.toString) try {
return e.toString()
} catch (t) {
return "unknown"
}
}
}).join(", ");
e.nativeLoggingHook(t)
}
function r(t) {
if (!Array.isArray(t)) {
var r = t;
t = [];
for (var i in r)
if (r.hasOwnProperty(i)) {
var a = r[i];
a[n] = i, t.push(a)
}
}
if (0 === t.length) return void e.nativeLoggingHook("");
var s = Object.keys(t[0]).sort(),
l = [],
u = [];
s.forEach(function(e, n) {
u[n] = e.length;
for (var r = 0; r < t.length; r++) {
var o = t[r][e].toString();
l[r] = l[r] || [], l[r][n] = o, u[n] = Math.max(u[n], o.length)
}
});
for (var c = function(e, t) {
var n = e.map(function(e, t) {
var n = o(" ", u[t] - e.length).join("");
return e + n
});
return t = t || " ", n.join(t + "|" + t)
}, d = u.map(function(e) {
return o("-", e).join("")
}), p = c(d, "-"), h = c(s), f = [h, p], m = 0; m < t.length; m++) f.push(c(l[m]));
e.nativeLoggingHook("\n" + f.join("\n"))
}
if (e.nativeLoggingHook) {
var o = function(e, t) {
return Array.apply(null, Array(t)).map(function() {
return e
})
};
e.console = {
error: t,
info: t,
log: t,
warn: t,
table: r
}
}
}
var n = "(index)";
"undefined" != typeof module ? module.exports = t : t(e)
}(this),
function(e) {
function t() {
var t = function(t) {
e.console.error("Error: \n stack: " + t.stack + "\n line: " + t.line + "\n message: " + t.message, t)
};
e.ErrorUtils.setGlobalHandler(t)
}
var n = {
_inGuard: 0,
_globalHandler: null,
setGlobalHandler: function(e) {
n._globalHandler = e
},
reportError: function(e) {
Error._globalHandler && n._globalHandler(e)
},
applyWithGuard: function(e, t, r) {
try {
return n._inGuard++, e.apply(t, r)
} catch (o) {
n._globalHandler && n._globalHandler(o)
} finally {
n._inGuard--
}
},
applyWithGuardIfNeeded: function(e, t, r) {
return n.inGuard() ? e.apply(t, r) : void n.applyWithGuard(e, t, r)
},
inGuard: function() {
return n._inGuard
},
guard: function(e, t, r) {
function o() {
return n.applyWithGuard(e, r || this, arguments, null, t)
}
return t = t || e.name || "<generated guard>", o
}
};
e.ErrorUtils = n, t()
}(this), __VERSION__ = .44, __DEV__ = !1, Object.assign = function(e) {
if (__DEV__) {
if (null == e) throw new TypeError("Object.assign target cannot be null or undefined");
if ("object" != typeof e && "function" != typeof e) throw new TypeError("In this environment the target of assign MUST be an object.This error is a performance optimization and not spec compliant.")
}
for (var t = 1; t < arguments.length; t++) {
var n = arguments[t];
if (null != n) {
if (__DEV__ && "object" != typeof n && "function" != typeof n) throw new TypeError("In this environment the target of assign MUST be an object.This error is a performance optimization and not spec compliant.");
for (var r in n) {
if (__DEV__) {
var o = Object.prototype.hasOwnProperty;
if (!o.call(n, r)) throw new TypeError("One of the sources to assign has an enumerable key on the prototype chain. This is an edge case that we do not support. This error is a performance optimization and not spec compliant.")
}
e[r] = n[r]
}
}
}
return e
},
function(e) {
function t(e) {
for (var t = Array.prototype.slice.call(e), n = {}; t.length;) {
var r = t.shift();
if (!n[r]) {
n[r] = !0;
var o = p[r];
if (o && o.waiting)
for (var i = 0; i < o.dependencies.length; i++) {
var a = o.dependencies[i];
(!p[a] || p[a].waiting) && t.push(a)
}
}
}
for (r in n) y.call(n, r) && t.push(r);
return t
}
function n(e) {
for (var t = [], n = 0; n < e.length; n++) {
var r = e[n],
o = r,
i = p[r];
if (i)
if (i.waiting) {
for (var a = [], s = 0; s < i.dependencies.length; s++) {
var l = i.dependencies[s];
(!p[l] || p[l].waiting) && a.push(l)
}
o += " is waiting for " + a.join(", ")
} else o += " is ready";
else o += " is not defined";
t.push(o)
}
return t.join("\n")
}
function r(o) {
if (e.ErrorUtils && !e.ErrorUtils.inGuard()) return ErrorUtils.applyWithGuard(r, this, arguments);
var i, a, s, l = p[o];
if (!p[o]) throw s = 'Requiring unknown module "' + o + '"', __DEV__ && (s += ". It may not be loaded yet. Did you forget to run arc build?"), new Error(s);
if (l.hasError) throw new Error('Requiring module "' + o + '" which threw an exception');
if (l.waiting) {
if (s = 'Requiring module "' + o + '" with unresolved dependencies', __DEV__) {
var u = t([o]);
e.console && e.console.error(n(u));
for (var c = [], h = 0; h < u.length; h++) {
var f = u[h];
p[f] || c.push(f)
}
s += ": " + c.join(", ")
}
throw new Error(s)
}
if (!l.exports) {
var m = l.exports = {},
g = l.factory;
if ("[object Function]" === d.call(g)) {
var y, v = [],
S = l.dependencies,
w = S.length;
l.special & _ && (w = Math.min(w, g.length));
try {
for (a = 0; w > a; a++) i = S[a], v.push("module" === i ? l : "exports" === i ? m : r(i));
y = g.apply(l.context || e, v)
} catch (b) {
throw l.hasError = !0, b
}
if (y) {
if (__DEV__ && "object" != typeof y && "function" != typeof y) throw new Error('Factory for module "' + o + '" returned an invalid value "' + y + '". Returned value should be either a function or an object.');
l.exports = y
}
} else l.exports = g
}
return 1 === l.refcount-- && delete p[o], l.exports
}
function o(e, t, n, r, o, a) {
void 0 === t ? (t = [], n = e, e = s()) : void 0 === n && (n = t, "[object Array]" === d.call(e) ? (t = e, e = s()) : t = []);
var l = {
cancel: function() {
i(e)
}
},
c = p[e];
if (c) return a && (c.refcount += a), l;
if (!t && !n && a) return f[e] = (f[e] || 0) + a, l;
if (c = {
id: e
}, c.refcount = (f[e] || 0) + (a || 0), delete f[e], __DEV__) {
if (!n || "object" != typeof n && "function" != typeof n && "string" != typeof n) throw new Error('Invalid factory "' + n + '" for module "' + e + '". Factory should be either a function or an object.');
if ("[object Array]" !== d.call(t)) throw new Error('Invalid dependencies for module "' + e + '". Dependencies must be passed as an array.')
}
return c.factory = n, c.dependencies = t, c.context = o, c.special = r, c.waitingMap = {}, c.waiting = 0, c.hasError = !1, p[e] = c, u(e), l
}
function i(e) {
if (p[e]) {
var t = p[e];
delete p[e];
for (var n in t.waitingMap) t.waitingMap[n] && delete h[n][e];
for (var r = 0; r < t.dependencies.length; r++) n = t.dependencies[r], p[n] ? 1 === p[n].refcount-- && i(n) : f[n] && f[n] --
}
}
function a(e, t, n) {
return o(e, t, void 0, g, n, 1)
}
function s() {
return "__mod__" + m++
}
function l(e, t) {
e.waitingMap[t] || e.id === t || (e.waiting++, e.waitingMap[t] = 1, h[t] || (h[t] = {}), h[t][e.id] = 1)
}
function u(e) {
var t, n, o, i = [],
a = p[e];
for (n = 0; n < a.dependencies.length; n++)
if (t = a.dependencies[n], p[t]) {
if (p[t].waiting)
for (o in p[t].waitingMap) p[t].waitingMap[o] && l(a, o)
} else l(a, t);
if (0 === a.waiting && a.special & g && i.push(e), h[e]) {
var s, u = h[e];
h[e] = void 0;
for (t in u) {
s = p[t];
for (o in a.waitingMap) a.waitingMap[o] && l(s, o);
s.waitingMap[e] && (s.waitingMap[e] = void 0, s.waiting--), 0 === s.waiting && s.special & g && i.push(t)
}
}
for (n = 0; n < i.length; n++) r(i[n])
}
function c(e, t) {
p[e] = {
id: e
}, p[e].exports = t
}
if (!e.require) {
var d = Object.prototype.toString,
p = {},
h = {},
f = {},
m = 0,
g = 1,
_ = 2,
y = Object.prototype.hasOwnProperty;
c("module", 0), c("exports", 0), c("define", o), c("global", e), c("require", r), c("requireDynamic", r), c("requireLazy", a), e.require = r, e.requireDynamic = r, e.requireLazy = a, r.__debug = {
modules: p,
deps: h
};
var v = function(e, t, n, r) {
o(e, t, n, r || _)
};
e.__d = function(e, t, n, r) {
t = ["global", "require", "requireDynamic", "requireLazy", "module", "exports"].concat(t), v(e, t, n, r)
}
}
}(this), process = {
env: {}
}, process.env.NODE_ENV = "production", __d("RKMainBundle", [], function(e, t, n, r, o) {
"use strict";
var i = t("Bundler");
i.registerConfig([{
appKey: "GroupsFeedApp",
component: function() {
return t("GroupsFeedApp")
}
}, {
appKey: "GroupsPermalinkApp",
component: function() {
return t("GroupsPermalinkApp")
}
}, {
appKey: "GroupsPendingPostsApp",
component: function() {
return t("GroupsPendingPostsApp")
}
}, {
appKey: "GroupsReportedPostsApp",
component: function() {
return t("GroupsReportedPostsApp")
}
}]), o.exports = i
}), __d("Bundler", [], function(e, t, n, r, o) {
"use strict";
function i() {}
var a = t("invariant"),
s = t("renderApplication");
__DEV__ && t("RKRenderingPerf");
var l = {};
i.registerConfig = function(e) {
for (var t = 0; t < e.length; ++t) e[t].run ? i.registerRunnable(e[t].appKey, e[t].run) : i.registerComponent(e[t].appKey, e[t].component)
}, i.registerComponent = function(e, t) {
return l[e] = {
run: function(e) {
return s(t(), e.initialProps, e.rootTag)
}
}, e
}, i.registerRunnable = function(e, t) {
return l[e] = {
run: t
}, e
}, i.runApplication = function(e, t) {
console.log('Running application "' + e + '" with appParams: ', t), l[e] && l[e].run || a(0, "Application " + e + " has not been registered."), l[e].run(t)
}, o.exports = i
}), __d("invariant", [], function(e, t, n, r, o) {
"use strict";
var i = function(e, t, n, r, o, i, a, s) {
if (__DEV__ && void 0 === t) throw new Error("invariant requires an error message argument");
if (!e) {
var l;
if (void 0 === t) l = new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");
else {
var u = [n, r, o, i, a, s],
c = 0;
l = new Error("Invariant Violation: " + t.replace(/%s/g, function() {
return u[c++]
}))
}
throw l.framesToPop = 1, l
}
};
o.exports = i
}), __d("renderApplication", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
n || s(0, "Expect to have a valid rootTag, instead got ", n), a.render(a.createElement(e, Object.assign({}, t)), n)
}
var a = t("React"),
s = t("invariant");
o.exports = i
}), __d("React", [], function(e, t, n, r, o) {
"use strict";
o.exports = t("ReactIOS")
}), __d("ReactIOS", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactComponent"),
a = t("ReactCompositeComponent"),
s = t("ReactContext"),
l = t("ReactCurrentOwner"),
u = t("ReactElement"),
c = t("ReactElementValidator"),
d = t("ReactInstanceHandles"),
p = t("ReactIOSDefaultInjection"),
h = t("ReactIOSMount"),
f = t("ReactLegacyElement"),
m = t("ReactPropTypes"),
g = t("deprecated"),
_ = t("invariant");
p.inject();
var y = u.createElement,
v = u.createFactory;
__DEV__ && (y = c.createElement, v = c.createFactory), y = f.wrapCreateElement(y), v = f.wrapCreateFactory(v);
var S = function(e) {
var t = e.type.defaultProps,
n = e.props;
for (var r in t) void 0 === n[r] && (n[r] = t[r])
},
w = function(e) {
return __DEV__ && _(0, "This optimized path should never be used in DEV mode because it does not provide validation. Check your JSX transform."), e._owner = l.current, e._context = s.current, e.type.defaultProps && S(e), e
},
b = function(e, t) {
h.renderComponent(e, t)
},
R = {
hasReactIOSInitialized: !1,
PropTypes: m,
createClass: a.createClass,
createElement: y,
createFactory: v,
_augmentElement: w,
render: b,
unmountComponentAtNode: h.unmountComponentAtNode,
__internals: {
Component: i,
CurrentOwner: l,
InstanceHandles: d,
Mount: h
},
unmountComponentAtNodeAndRemoveContainer: h.unmountComponentAtNodeAndRemoveContainer,
isValidClass: u.isValidFactory,
isValidElement: u.isValidElement,
renderComponent: g("React", "renderComponent", "render", this, b),
isValidComponent: g("React", "isValidComponent", "isValidElement", this, u.isValidElement)
};
o.exports = R
}), __d("ReactComponent", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactElement"),
a = t("ReactOwner"),
s = t("ReactUpdates"),
l = t("invariant"),
u = t("keyMirror"),
c = u({
MOUNTED: null,
UNMOUNTED: null
}),
d = !1,
p = null,
h = null,
f = {
injection: {
injectEnvironment: function(e) {
d && l(0, "ReactComponent: injectEnvironment() can only be called once."), h = e.mountImageIntoNode, p = e.unmountIDFromEnvironment, f.BackendIDOperations = e.BackendIDOperations, d = !0
}
},
LifeCycle: c,
BackendIDOperations: null,
Mixin: {
isMounted: function() {
return this._lifeCycleState === c.MOUNTED
},
setProps: function(e, t) {
var n = this._pendingElement || this._currentElement;
this.replaceProps(Object.assign({}, n.props, e), t)
},
replaceProps: function(e, t) {
this.isMounted() || l(0, "replaceProps(...): Can only update a mounted component."), 0 !== this._mountDepth && l(0, "replaceProps(...): You called `setProps` or `replaceProps` on a component with a parent. This is an anti-pattern since props will get reactively updated when rendered. Instead, change the owner's `render` method to pass the correct value as props to the component where it is created."), this._pendingElement = i.cloneAndReplaceProps(this._pendingElement || this._currentElement, e), s.enqueueUpdate(this, t)
},
_setPropsInternal: function(e, t) {
var n = this._pendingElement || this._currentElement;
this._pendingElement = i.cloneAndReplaceProps(n, Object.assign({}, n.props, e)), s.enqueueUpdate(this, t)
},
construct: function(e) {
this.props = e.props, this._owner = e._owner, this._lifeCycleState = c.UNMOUNTED, this._pendingCallbacks = null, this._currentElement = e, this._pendingElement = null
},
mountComponent: function(e, t, n) {
this.isMounted() && l(0, "mountComponent(%s, ...): Can only mount an unmounted component. Make sure to avoid storing components between renders or reusing a single component instance in multiple places.", e);
var r = this._currentElement.ref;
if (null != r) {
var o = this._currentElement._owner;
a.addComponentAsRefTo(this, r, o)
}
this._rootNodeID = e, this._lifeCycleState = c.MOUNTED, this._mountDepth = n
},
unmountComponent: function() {
this.isMounted() || l(0, "unmountComponent(): Can only unmount a mounted component.");
var e = this._currentElement.ref;
null != e && a.removeComponentAsRefFrom(this, e, this._owner), p(this._rootNodeID), this._rootNodeID = null, this._lifeCycleState = c.UNMOUNTED
},
receiveComponent: function(e, t) {
this.isMounted() || l(0, "receiveComponent(...): Can only update a mounted component."), this._pendingElement = e, this.performUpdateIfNecessary(t)
},
performUpdateIfNecessary: function(e) {
if (null != this._pendingElement) {
var t = this._currentElement,
n = this._pendingElement;
this._currentElement = n, this.props = n.props, this._owner = n._owner, this._pendingElement = null, this.updateComponent(e, t)
}
},
updateComponent: function(e, t) {
var n = this._currentElement;
(n._owner !== t._owner || n.ref !== t.ref) && (null != t.ref && a.removeComponentAsRefFrom(this, t.ref, t._owner), null != n.ref && a.addComponentAsRefTo(this, n.ref, n._owner))
},
mountComponentIntoNode: function(e, t, n) {
var r = s.ReactReconcileTransaction.getPooled();
r.perform(this._mountComponentIntoNode, this, e, t, r, n), s.ReactReconcileTransaction.release(r)
},
_mountComponentIntoNode: function(e, t, n, r) {
var o = this.mountComponent(e, n, 0);
h(o, t, r)
},
isOwnedBy: function(e) {
return this._owner === e
},
getSiblingByRef: function(e) {
var t = this._owner;
return t && t.refs ? t.refs[e] : null
}
}
};
o.exports = f
}), __d("ReactElement", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
Object.defineProperty(e, t, {
configurable: !1,
enumerable: !0,
get: function() {
return this._store ? this._store[t] : null
},
set: function(e) {
u(!1, "Don't set the " + t + " property of the component. Mutate the existing props object instead."), this._store[t] = e
}
})
}
function a(e) {
try {
var t = {
props: !0
};
for (var n in t) i(e, n);
d = !0
} catch (r) {}
}
var s = t("ReactContext"),
l = t("ReactCurrentOwner"),
u = t("warning"),
c = {
key: !0,
ref: !0
},
d = !1,
p = function(e, t, n, r, o, i) {
return this.type = e, this.key = t, this.ref = n, this._owner = r, this._context = o, __DEV__ && (this._store = {
validated: !1,
props: i
}, d) ? void Object.freeze(this) : void(this.props = i)
};
__DEV__ && a(p.prototype), p.prototype._isReactElement = !0, p.createElement = function(e, t, n) {
var r, o = {},
i = null,
a = null;
if (null != t) {
a = void 0 === t.ref ? null : t.ref, i = void 0 === t.key ? null : "" + t.key;
for (r in t) t.hasOwnProperty(r) && !c.hasOwnProperty(r) && (o[r] = t[r])
}
var u = arguments.length - 2;
if (1 === u) o.children = n;
else if (u > 1) {
for (var d = Array(u), h = 0; u > h; h++) d[h] = arguments[h + 2];
o.children = d
}
if (e.defaultProps) {
var f = e.defaultProps;
for (r in f) "undefined" == typeof o[r] && (o[r] = f[r])
}
return new p(e, i, a, l.current, s.current, o)
}, p.createFactory = function(e) {
var t = p.createElement.bind(null, e);
return t.type = e, t
}, p.cloneAndReplaceProps = function(e, t) {
var n = new p(e.type, e.key, e.ref, e._owner, e._context, t);
return __DEV__ && (n._store.validated = e._store.validated), n
}, p.isValidElement = function(e) {
var t = !(!e || !e._isReactElement);
return t
}, o.exports = p
}), __d("ReactContext", [], function(e, t, n, r, o) {
"use strict";
var i = {
current: {},
withContext: function(e, t) {
var n, r = i.current;
i.current = Object.assign({}, r, e);
try {
n = t()
} finally {
i.current = r
}
return n
}
};
o.exports = i
}), __d("ReactCurrentOwner", [], function(e, t, n, r, o) {
"use strict";
var i = {
current: null
};
o.exports = i
}), __d("warning", [], function(e, t, n, r, o) {
"use strict";
var i = t("emptyFunction"),
a = i;
__DEV__ && (a = function(e, t) {
for (var n = [], r = 2, o = arguments.length; o > r; r++) n.push(arguments[r]);
if (void 0 === t) throw new Error("`warning(condition, format, ...args)` requires a warning message argument");
if (!e) {
var i = 0;
console.warn("Warning: " + t.replace(/%s/g, function() {
return n[i++]
}))
}
}), o.exports = a
}), __d("emptyFunction", [], function(e, t, n, r, o) {
function i(e) {
return function() {
return e
}
}
function a() {}
Object.assign(a, {
thatReturns: i,
thatReturnsFalse: i(!1),
thatReturnsTrue: i(!0),
thatReturnsNull: i(null),
thatReturnsThis: function() {
return this
},
thatReturnsArgument: function(e) {
return e
}
}), o.exports = a
}), __d("ReactOwner", [], function(e, t, n, r, o) {
"use strict";
var i = t("emptyObject"),
a = t("invariant"),
s = {
isValidOwner: function(e) {
return !(!e || "function" != typeof e.attachRef || "function" != typeof e.detachRef)
},
addComponentAsRefTo: function(e, t, n) {
s.isValidOwner(n) || a(0, "addComponentAsRefTo(...): Only a ReactOwner can have refs. This usually means that you're trying to add a ref to a component that doesn't have an owner (that is, was not created inside of another component's `render` method). Try rendering this component inside of a new top-level component which will hold the ref."), n.attachRef(t, e)
},
removeComponentAsRefFrom: function(e, t, n) {
s.isValidOwner(n) || a(0, "removeComponentAsRefFrom(...): Only a ReactOwner can have refs. This usually means that you're trying to remove a ref to a component that doesn't have an owner (that is, was not created inside of another component's `render` method). Try rendering this component inside of a new top-level component which will hold the ref."), n.refs[t] === e && n.detachRef(t)
},
Mixin: {
construct: function() {
this.refs = i
},
attachRef: function(e, t) {
t.isOwnedBy(this) || a(0, "attachRef(%s, ...): Only a component's owner can store a ref to it.", e);
var n = this.refs === i ? this.refs = {} : this.refs;
n[e] = t
},
detachRef: function(e) {
delete this.refs[e]
}
}
};
o.exports = s
}), __d("emptyObject", [], function(e, t, n, r, o) {
"use strict";
var i = {};
__DEV__ && Object.freeze(i), o.exports = i
}), __d("ReactUpdates", [], function(e, t, n, r, o) {
"use strict";
function i() {
F.ReactReconcileTransaction && b || _(0, "ReactUpdates: must inject a reconcile transaction class and batching strategy")
}
function a() {
this.reinitializeTransaction(), this.dirtyComponentsLength = null, this.callbackQueue = p.getPooled(), this.reconcileTransaction = F.ReactReconcileTransaction.getPooled()
}
function s(e, t, n) {
i(), b.batchedUpdates(e, t, n)
}
function l(e, t) {
return e._mountDepth - t._mountDepth
}
function u(e) {
var t = e.dirtyComponentsLength;
t !== v.length && _(0, "Expected flush transaction's stored dirty-components length (%s) to match dirty-components array length (%s).", t, v.length), v.sort(l);
for (var n = 0; t > n; n++) {
var r = v[n];
if (r.isMounted()) {
var o = r._pendingCallbacks;
if (r._pendingCallbacks = null, r.performUpdateIfNecessary(e.reconcileTransaction), o)
for (var i = 0; i < o.length; i++) e.callbackQueue.enqueue(o[i], r)
}
}
}
function c(e, t) {
return t && "function" != typeof t && _(0, "enqueueUpdate(...): You called `setProps`, `replaceProps`, `setState`, `replaceState`, or `forceUpdate` with a callback that isn't callable."), i(), y(null == f.current, "enqueueUpdate(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate."), b.isBatchingUpdates ? (v.push(e), void(t && (e._pendingCallbacks ? e._pendingCallbacks.push(t) : e._pendingCallbacks = [t]))) : void b.batchedUpdates(c, e, t)
}
function d(e, t) {
b.isBatchingUpdates || _(0, "ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."), S.enqueue(e, t), w = !0
}
var p = t("CallbackQueue"),
h = t("PooledClass"),
f = t("ReactCurrentOwner"),
m = t("ReactPerf"),
g = t("Transaction"),
_ = t("invariant"),
y = t("warning"),
v = [],
S = p.getPooled(),
w = !1,
b = null,
R = {
initialize: function() {
this.dirtyComponentsLength = v.length
},
close: function() {
this.dirtyComponentsLength !== v.length ? (v.splice(0, this.dirtyComponentsLength), D()) : v.length = 0
}
},
C = {
initialize: function() {
this.callbackQueue.reset()
},
close: function() {
this.callbackQueue.notifyAll()
}
},
E = [R, C];
Object.assign(a.prototype, g.Mixin, {
getTransactionWrappers: function() {
return E
},
destructor: function() {
this.dirtyComponentsLength = null, p.release(this.callbackQueue), this.callbackQueue = null, F.ReactReconcileTransaction.release(this.reconcileTransaction), this.reconcileTransaction = null
},
perform: function(e, t, n) {
return g.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, e, t, n)
}
}), h.addPoolingTo(a);
var D = m.measure("ReactUpdates", "flushBatchedUpdates", function() {
for (; v.length || w;) {
if (v.length) {
var e = a.getPooled();
e.perform(u, null, e), a.release(e)
}
if (w) {
w = !1;
var t = S;
S = p.getPooled(), t.notifyAll(), p.release(t)
}
}
}),
x = {
injectReconcileTransaction: function(e) {
e || _(0, "ReactUpdates: must provide a reconcile transaction class"), F.ReactReconcileTransaction = e
},
injectBatchingStrategy: function(e) {
e || _(0, "ReactUpdates: must provide a batching strategy"), "function" != typeof e.batchedUpdates && _(0, "ReactUpdates: must provide a batchedUpdates() function"), "boolean" != typeof e.isBatchingUpdates && _(0, "ReactUpdates: must provide an isBatchingUpdates boolean attribute"), b = e
}
},
F = {
ReactReconcileTransaction: null,
batchedUpdates: s,
enqueueUpdate: c,
flushBatchedUpdates: D,
injection: x,
asap: d
};
o.exports = F
}), __d("CallbackQueue", [], function(e, t, n, r, o) {
"use strict";
function i() {
this._callbacks = null, this._contexts = null
}
var a = t("PooledClass"),
s = t("invariant");
Object.assign(i.prototype, {
enqueue: function(e, t) {
this._callbacks = this._callbacks || [], this._contexts = this._contexts || [], this._callbacks.push(e), this._contexts.push(t)
},
notifyAll: function() {
var e = this._callbacks,
t = this._contexts;
if (e) {
e.length !== t.length && s(0, "Mismatched list of contexts in callback queue"), this._callbacks = null, this._contexts = null;
for (var n = 0, r = e.length; r > n; n++) e[n].call(t[n]);
e.length = 0, t.length = 0
}
},
reset: function() {
this._callbacks = null, this._contexts = null
},
destructor: function() {
this.reset()
}
}), a.addPoolingTo(i), o.exports = i
}), __d("PooledClass", [], function(e, t, n, r, o) {
"use strict";
var i = t("invariant"),
a = function(e) {
var t = this;
if (t.instancePool.length) {
var n = t.instancePool.pop();
return t.call(n, e), n
}
return new t(e)
},
s = function(e, t) {
var n = this;
if (n.instancePool.length) {
var r = n.instancePool.pop();
return n.call(r, e, t), r
}
return new n(e, t)
},
l = function(e, t, n) {
var r = this;
if (r.instancePool.length) {
var o = r.instancePool.pop();
return r.call(o, e, t, n), o
}
return new r(e, t, n)
},
u = function(e, t, n, r, o) {
var i = this;
if (i.instancePool.length) {
var a = i.instancePool.pop();
return i.call(a, e, t, n, r, o), a
}
return new i(e, t, n, r, o)
},
c = function(e) {
var t = this;
e instanceof t || i(0, "Trying to release an instance into a pool of a different type."), e.destructor && e.destructor(), t.instancePool.length < t.poolSize && t.instancePool.push(e)
},
d = 10,
p = a,
h = function(e, t) {
var n = e;
return n.instancePool = [], n.getPooled = t || p, n.poolSize || (n.poolSize = d), n.release = c, n
},
f = {
addPoolingTo: h,
oneArgumentPooler: a,
twoArgumentPooler: s,
threeArgumentPooler: l,
fiveArgumentPooler: u
};
o.exports = f
}), __d("ReactPerf", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
return n
}
var a = {
enableMeasure: !1,
storedMeasure: i,
measure: function(e, t, n) {
if (__DEV__) {
var r = null,
o = function() {
return a.enableMeasure ? (r || (r = a.storedMeasure(e, t, n)), r.apply(this, arguments)) : n.apply(this, arguments)
};
return o.displayName = e + "_" + t, o
}
return n
},
injection: {
injectMeasure: function(e) {
a.storedMeasure = e
}
}
};
o.exports = a
}), __d("Transaction", [], function(e, t, n, r, o) {
"use strict";
var i = t("invariant"),
a = {
reinitializeTransaction: function() {
this.transactionWrappers = this.getTransactionWrappers(), this.wrapperInitData ? this.wrapperInitData.length = 0 : this.wrapperInitData = [], this._isInTransaction = !1
},
_isInTransaction: !1,
getTransactionWrappers: null,
isInTransaction: function() {
return !!this._isInTransaction
},
perform: function(e, t, n, r, o, a, s, l) {
this.isInTransaction() && i(0, "Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.");
var u, c;
try {
this._isInTransaction = !0, u = !0, this.initializeAll(0), c = e.call(t, n, r, o, a, s, l), u = !1
} finally {
try {
if (u) try {
this.closeAll(0)
} catch (d) {} else this.closeAll(0)
} finally {
this._isInTransaction = !1
}
}
return c
},
initializeAll: function(e) {
for (var t = this.transactionWrappers, n = e; n < t.length; n++) {
var r = t[n];
try {
this.wrapperInitData[n] = s.OBSERVED_ERROR, this.wrapperInitData[n] = r.initialize ? r.initialize.call(this) : null
} finally {
if (this.wrapperInitData[n] === s.OBSERVED_ERROR) try {
this.initializeAll(n + 1)
} catch (o) {}
}
}
},
closeAll: function(e) {
this.isInTransaction() || i(0, "Transaction.closeAll(): Cannot close transaction when none are open.");
for (var t = this.transactionWrappers, n = e; n < t.length; n++) {
var r, o = t[n],
a = this.wrapperInitData[n];
try {
r = !0, a !== s.OBSERVED_ERROR && o.close && o.close.call(this, a), r = !1
} finally {
if (r) try {
this.closeAll(n + 1)
} catch (l) {}
}
}
this.wrapperInitData.length = 0
}
},
s = {
Mixin: a,
OBSERVED_ERROR: {}
};
o.exports = s
}), __d("keyMirror", [], function(e, t, n, r, o) {
"use strict";
var i = t("invariant"),
a = function(e) {
var t, n = {};
e instanceof Object && !Array.isArray(e) || i(0, "keyMirror(...): Argument must be an object.");
for (t in e) e.hasOwnProperty(t) && (n[t] = t);
return n
};
o.exports = a
}), __d("ReactCompositeComponent", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = e._owner || null;
return t && t.constructor && t.constructor.displayName ? " Check the render method of `" + t.constructor.displayName + "`." : ""
}
function a(e, t, n) {
for (var r in t) t.hasOwnProperty(r) && "function" != typeof t[r] && I(0, "%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.", e.displayName || "ReactCompositeComponent", D[n], r)
}
function s(e, t) {
var n = G.hasOwnProperty(t) ? G[t] : null;
U.hasOwnProperty(t) && n !== O.OVERRIDE_BASE && I(0, "ReactCompositeComponentInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.", t), e.hasOwnProperty(t) && n !== O.DEFINE_MANY && n !== O.DEFINE_MANY_MERGED && I(0, "ReactCompositeComponentInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", t)
}
function l(e) {
var t = e._compositeLifeCycleState;
e.isMounted() || t === B.MOUNTING || I(0, "replaceState(...): Can only update a mounted or mounting component."), null != g.current && I(0, "replaceState(...): Cannot update during an existing state transition (such as within `render`). Render methods should be a pure function of props and state."), t === B.UNMOUNTING && I(0, "replaceState(...): Cannot update while unmounting component. This usually means you called setState() on an unmounted component.")
}
function u(e, t) {
if (t) {
w.isValidFactory(t) && I(0, "ReactCompositeComponent: You're attempting to use a component class as a mixin. Instead, just use a regular object."), _.isValidElement(t) && I(0, "ReactCompositeComponent: You're attempting to use a component as a mixin. Instead, just use a regular object.");
var n = e.prototype;
t.hasOwnProperty(Q) && $.mixins(e, t.mixins);
for (var r in t)
if (t.hasOwnProperty(r) && r !== Q) {
var o = t[r];
if (s(n, r), $.hasOwnProperty(r)) $[r](e, o);
else {
var i = G.hasOwnProperty(r),
a = n.hasOwnProperty(r),
l = o && o.__reactDontBind,
u = "function" == typeof o,
c = u && !i && !a && !l;
if (c) n.__reactAutoBindMap || (n.__reactAutoBindMap = {}), n.__reactAutoBindMap[r] = o, n[r] = o;
else if (a) {
var d = G[r];
(!i || d !== O.DEFINE_MANY_MERGED && d !== O.DEFINE_MANY) && I(0, "ReactCompositeComponent: Unexpected spec policy %s for key %s when mixing in component specs.", d, r), d === O.DEFINE_MANY_MERGED ? n[r] = p(n[r], o) : d === O.DEFINE_MANY && (n[r] = h(n[r], o))
} else n[r] = o, __DEV__ && "function" == typeof o && t.displayName && (n[r].displayName = t.displayName + "_" + r)
}
}
}
}
function c(e, t) {
if (t)
for (var n in t) {
var r = t[n];
if (t.hasOwnProperty(n)) {
var o = n in $;
o && I(0, 'ReactCompositeComponent: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', n);
var i = n in e;
i && I(0, "ReactCompositeComponent: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", n), e[n] = r
}
}
}
function d(e, t) {
return e && t && "object" == typeof e && "object" == typeof t || I(0, "mergeObjectsWithNoDuplicateKeys(): Cannot merge non-objects"), k(t, function(t, n) {
void 0 !== e[n] && I(0, "mergeObjectsWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.", n), e[n] = t
}), e
}
function p(e, t) {
return function() {
var n = e.apply(this, arguments),
r = t.apply(this, arguments);
return null == n ? r : null == r ? n : d(n, r)
}
}
function h(e, t) {
return function() {
e.apply(this, arguments), t.apply(this, arguments)
}
}
var f = t("ReactComponent"),
m = t("ReactContext"),
g = t("ReactCurrentOwner"),
_ = t("ReactElement"),
y = t("ReactElementValidator"),
v = t("ReactEmptyComponent"),
S = t("ReactErrorUtils"),
w = t("ReactLegacyElement"),
b = t("ReactOwner"),
R = t("ReactPerf"),
C = t("ReactPropTransferer"),
E = t("ReactPropTypeLocations"),
D = t("ReactPropTypeLocationNames"),
x = t("ReactUpdates"),
F = t("instantiateReactComponent"),
I = t("invariant"),
T = t("keyMirror"),
P = t("keyOf"),
L = t("monitorCodeUse"),
k = t("mapObject"),
M = t("shouldUpdateReactComponent"),
A = t("warning"),
Q = P({
mixins: null
}),
O = T({
DEFINE_ONCE: null,
DEFINE_MANY: null,
OVERRIDE_BASE: null,
DEFINE_MANY_MERGED: null
}),
N = [],
G = {
mixins: O.DEFINE_MANY,
statics: O.DEFINE_MANY,
propTypes: O.DEFINE_MANY,
contextTypes: O.DEFINE_MANY,
childContextTypes: O.DEFINE_MANY,
getDefaultProps: O.DEFINE_MANY_MERGED,
getInitialState: O.DEFINE_MANY_MERGED,
getChildContext: O.DEFINE_MANY_MERGED,
render: O.DEFINE_ONCE,
componentWillMount: O.DEFINE_MANY,
componentDidMount: O.DEFINE_MANY,
componentWillReceiveProps: O.DEFINE_MANY,
shouldComponentUpdate: O.DEFINE_ONCE,
componentWillUpdate: O.DEFINE_MANY,
componentDidUpdate: O.DEFINE_MANY,
componentWillUnmount: O.DEFINE_MANY,
updateComponent: O.OVERRIDE_BASE
},
$ = {
displayName: function(e, t) {
e.displayName = t
},
mixins: function(e, t) {
if (t)
for (var n = 0; n < t.length; n++) u(e, t[n])
},
childContextTypes: function(e, t) {
a(e, t, E.childContext), e.childContextTypes = Object.assign({}, e.childContextTypes, t)
},
contextTypes: function(e, t) {
a(e, t, E.context), e.contextTypes = Object.assign({}, e.contextTypes, t)
},
getDefaultProps: function(e, t) {
e.getDefaultProps = e.getDefaultProps ? p(e.getDefaultProps, t) : t
},
propTypes: function(e, t) {
a(e, t, E.prop), e.propTypes = Object.assign({}, e.propTypes, t)
},
statics: function(e, t) {
c(e, t)
}
},
B = T({
MOUNTING: null,
UNMOUNTING: null,
RECEIVING_PROPS: null
}),
U = {
construct: function() {
f.Mixin.construct.apply(this, arguments), b.Mixin.construct.apply(this, arguments), this.state = null, this._pendingState = null, this.context = null, this._compositeLifeCycleState = null
},
isMounted: function() {
return f.Mixin.isMounted.call(this) && this._compositeLifeCycleState !== B.MOUNTING
},
mountComponent: R.measure("ReactCompositeComponent", "mountComponent", function(e, t, n) {
f.Mixin.mountComponent.call(this, e, t, n), this._compositeLifeCycleState = B.MOUNTING, this.__reactAutoBindMap && this._bindAutoBindMethods(), this.context = this._processContext(this._currentElement._context), this.props = this._processProps(this.props), this.state = this.getInitialState ? this.getInitialState() : null, ("object" != typeof this.state || Array.isArray(this.state)) && I(0, "%s.getInitialState(): must return an object or null", this.constructor.displayName || "ReactCompositeComponent"), this._pendingState = null, this._pendingForceUpdate = !1, this.componentWillMount && (this.componentWillMount(), this._pendingState && (this.state = this._pendingState, this._pendingState = null)), this._renderedComponent = F(this._renderValidatedComponent(), this._currentElement.type), this._compositeLifeCycleState = null;
var r = this._renderedComponent.mountComponent(e, t, n + 1);
return this.componentDidMount && t.getReactMountReady().enqueue(this.componentDidMount, this), r
}),
unmountComponent: function() {
this._compositeLifeCycleState = B.UNMOUNTING, this.componentWillUnmount && this.componentWillUnmount(), this._compositeLifeCycleState = null, this._renderedComponent.unmountComponent(), this._renderedComponent = null, f.Mixin.unmountComponent.call(this)
},
setState: function(e, t) {
"object" != typeof e && null != e && I(0, "setState(...): takes an object of state variables to update."), __DEV__ && A(null != e, "setState(...): You passed an undefined or null state object; instead, use forceUpdate()."), this.replaceState(Object.assign({}, this._pendingState || this.state, e), t)
},
replaceState: function(e, t) {
l(this), this._pendingState = e, this._compositeLifeCycleState !== B.MOUNTING && x.enqueueUpdate(this, t)
},
_processContext: function(e) {
var t = null,
n = this.constructor.contextTypes;
if (n) {
t = {};
for (var r in n) t[r] = e[r];
__DEV__ && this._checkPropTypes(n, t, E.context)
}
return t
},
_processChildContext: function(e) {
var t = this.getChildContext && this.getChildContext(),
n = this.constructor.displayName || "ReactCompositeComponent";
if (t) {
"object" != typeof this.constructor.childContextTypes && I(0, "%s.getChildContext(): childContextTypes must be defined in order to use getChildContext().", n), __DEV__ && this._checkPropTypes(this.constructor.childContextTypes, t, E.childContext);
for (var r in t) r in this.constructor.childContextTypes || I(0, '%s.getChildContext(): key "%s" is not defined in childContextTypes.', n, r);
return Object.assign({}, e, t)
}
return e
},
_processProps: function(e) {
if (__DEV__) {
var t = this.constructor.propTypes;
t && this._checkPropTypes(t, e, E.prop)
}
return e
},
_checkPropTypes: function(e, t, n) {
var r = this.constructor.displayName;
for (var o in e)
if (e.hasOwnProperty(o)) {
var a = e[o](t, o, r, n);
if (a instanceof Error) {
var s = i(this);
A(!1, a.message + s)
}
}
},
performUpdateIfNecessary: function(e) {
var t = this._compositeLifeCycleState;
if (t !== B.MOUNTING && t !== B.RECEIVING_PROPS && (null != this._pendingElement || null != this._pendingState || this._pendingForceUpdate)) {
var n = this.context,
r = this.props,
o = this._currentElement;
null != this._pendingElement && (o = this._pendingElement, n = this._processContext(o._context), r = this._processProps(o.props), this._pendingElement = null, this._compositeLifeCycleState = B.RECEIVING_PROPS, this.componentWillReceiveProps && this.componentWillReceiveProps(r, n)), this._compositeLifeCycleState = null;
var i = this._pendingState || this.state;
this._pendingState = null;
var a = this._pendingForceUpdate || !this.shouldComponentUpdate || this.shouldComponentUpdate(r, i, n);
__DEV__ && "undefined" == typeof a && console.warn((this.constructor.displayName || "ReactCompositeComponent") + ".shouldComponentUpdate(): Returned undefined instead of a boolean value. Make sure to return true or false."), a ? (this._pendingForceUpdate = !1, this._performComponentUpdate(o, r, i, n, e)) : (this._currentElement = o, this.props = r, this.state = i, this.context = n, this._owner = o._owner)
}
},
_performComponentUpdate: function(e, t, n, r, o) {
var i = this._currentElement,
a = this.props,
s = this.state,
l = this.context;
this.componentWillUpdate && this.componentWillUpdate(t, n, r), this._currentElement = e, this.props = t, this.state = n, this.context = r, this._owner = e._owner, this.updateComponent(o, i), this.componentDidUpdate && o.getReactMountReady().enqueue(this.componentDidUpdate.bind(this, a, s, l), this)
},
receiveComponent: function(e, t) {
(e !== this._currentElement || null == e._owner) && f.Mixin.receiveComponent.call(this, e, t)
},
updateComponent: R.measure("ReactCompositeComponent", "updateComponent", function(e, t) {
f.Mixin.updateComponent.call(this, e, t);
var n = this._renderedComponent,
r = n._currentElement,
o = this._renderValidatedComponent();
if (M(r, o)) n.receiveComponent(o, e);
else {
var i = this._rootNodeID,
a = n._rootNodeID;
n.unmountComponent(), this._renderedComponent = F(o, this._currentElement.type);
var s = this._renderedComponent.mountComponent(i, e, this._mountDepth + 1);
f.BackendIDOperations.dangerouslyReplaceNodeWithMarkupByID(a, s)
}
}),
forceUpdate: function(e) {
var t = this._compositeLifeCycleState;
this.isMounted() || t === B.MOUNTING || I(0, "forceUpdate(...): Can only force an update on mounted or mounting components."), (t === B.UNMOUNTING || null != g.current) && I(0, "forceUpdate(...): Cannot force an update while unmounting component or within a `render` function."), this._pendingForceUpdate = !0, x.enqueueUpdate(this, e)
},
_renderValidatedComponent: R.measure("ReactCompositeComponent", "_renderValidatedComponent", function() {
var e, t = m.current;
m.current = this._processChildContext(this._currentElement._context), g.current = this;
try {
e = this.render(), null === e || e === !1 ? (e = v.getEmptyComponent(), v.registerNullComponentID(this._rootNodeID)) : v.deregisterNullComponentID(this._rootNodeID)
} finally {
m.current = t, g.current = null
}
return _.isValidElement(e) || I(0, "%s.render(): A valid ReactComponent must be returned. You may have returned undefined, an array or some other invalid object.", this.constructor.displayName || "ReactCompositeComponent"), e
}),
_bindAutoBindMethods: function() {
for (var e in this.__reactAutoBindMap)
if (this.__reactAutoBindMap.hasOwnProperty(e)) {
var t = this.__reactAutoBindMap[e];
this[e] = this._bindAutoBindMethod(S.guard(t, this.constructor.displayName + "." + e))
}
},
_bindAutoBindMethod: function(e) {
var t = this,
n = e.bind(t);
if (__DEV__) {
n.__reactBoundContext = t, n.__reactBoundMethod = e, n.__reactBoundArguments = null;
var r = t.constructor.displayName,
o = n.bind;
n.bind = function(i) {
for (var a = [], s = 1, l = arguments.length; l > s; s++) a.push(arguments[s]);
if (i !== t && null !== i) L("react_bind_warning", {
component: r
}), console.warn("bind(): React component methods may only be bound to the component instance. See " + r);
else if (!a.length) return L("react_bind_warning", {
component: r
}), console.warn("bind(): You are binding a component method to the component. React does this for you automatically in a high-performance way, so you can safely remove this call. See " + r), n;
var u = o.apply(n, arguments);
return u.__reactBoundContext = t, u.__reactBoundMethod = e, u.__reactBoundArguments = a, u
}
}
return n
}
},
V = function() {};
Object.assign(V.prototype, f.Mixin, b.Mixin, C.Mixin, U);
var q = {
LifeCycle: B,
Base: V,
createClass: function(e) {
var t = function() {};
t.prototype = new V, t.prototype.constructor = t, N.forEach(u.bind(null, t)), u(t, e), t.getDefaultProps && (t.defaultProps = t.getDefaultProps()), t.prototype.render || I(0, "createClass(...): Class specification must implement a `render` method."), __DEV__ && t.prototype.componentShouldUpdate && (L("react_component_should_update_warning", {
component: e.displayName
}), console.warn((e.displayName || "A component") + " has a method called componentShouldUpdate(). Did you mean shouldComponentUpdate()? The name is phrased as a question because the function is expected to return a value."));
for (var n in G) t.prototype[n] || (t.prototype[n] = null);
return w.wrapFactory(__DEV__ ? y.createFactory(t) : _.createFactory(t))
},
injection: {
injectMixin: function(e) {
N.push(e)
}
}
};
o.exports = q
}), __d("ReactElementValidator", [], function(e, t, n, r, o) {
"use strict";
function i() {
var e = f.current;
return e && e.constructor.displayName || void 0
}
function a(e, t) {
e._store.validated || null != e.key || (e._store.validated = !0, l("react_key_warning", 'Each child in an array should have a unique "key" prop.', e, t))
}
function s(e, t, n) {
v.test(e) && l("react_numeric_key_warning", "Child objects should have non-numeric keys so ordering is preserved.", t, n)
}
function l(e, t, n, r) {
var o = i(),
a = r.displayName,
s = o || a,
l = g[e];
if (!l.hasOwnProperty(s)) {
l[s] = !0, t += o ? " Check the render method of " + o + "." : " Check the renderComponent call using <" + a + ">.";
var u = null;
n._owner && n._owner !== f.current && (u = n._owner.constructor.displayName, t += " It was passed a child from " + u + "."), t += " See http://fb.me/react-warning-keys for more information.", m(e, {
component: s,
componentOwner: u
}), console.warn(t)
}
}
function u() {
var e = i() || "";
_.hasOwnProperty(e) || (_[e] = !0, m("react_object_map_children"))
}
function c(e, t) {
if (Array.isArray(e))
for (var n = 0; n < e.length; n++) {
var r = e[n];
p.isValidElement(r) && a(r, t)
} else if (p.isValidElement(e)) e._store.validated = !0;
else if (e && "object" == typeof e) {
u();
for (var o in e) s(o, e[o], t)
}
}
function d(e, t, n, r) {
for (var o in t)
if (t.hasOwnProperty(o)) {
var i;
try {
i = t[o](n, o, e, r)
} catch (a) {
i = a
}
i instanceof Error && !(i.message in y) && (y[i.message] = !0, m("react_failed_descriptor_type_check", {
message: i.message
}))
}
}
var p = t("ReactElement"),
h = t("ReactPropTypeLocations"),
f = t("ReactCurrentOwner"),
m = t("monitorCodeUse"),
g = {
react_key_warning: {},
react_numeric_key_warning: {}
},
_ = {},
y = {},
v = /^\d+$/,
S = {
createElement: function(e) {
var t = p.createElement.apply(this, arguments);
if (null == t) return t;
for (var n = 2; n < arguments.length; n++) c(arguments[n], e);
var r = e.displayName;
return e.propTypes && d(r, e.propTypes, t.props, h.prop), e.contextTypes && d(r, e.contextTypes, t._context, h.context), t
},
createFactory: function(e) {
var t = S.createElement.bind(null, e);
return t.type = e, t
}
};
o.exports = S
}), __d("ReactPropTypeLocations", [], function(e, t, n, r, o) {
"use strict";
var i = t("keyMirror"),
a = i({
prop: null,
context: null,
childContext: null
});
o.exports = a
}), __d("monitorCodeUse", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
(!e || /[^a-z0-9_]/.test(e)) && a(0, "You must provide an eventName using only the characters [a-z0-9_]")
}
var a = t("invariant");
o.exports = i
}), __d("ReactEmptyComponent", [], function(e, t, n, r, o) {
"use strict";
function i() {
return u || d(0, "Trying to return null from a render, but no null placeholder component was injected."), u()
}
function a(e) {
p[e] = !0
}
function s(e) {
delete p[e]
}
function l(e) {
return p[e]
}
var u, c = t("ReactElement"),
d = t("invariant"),
p = {},
h = {
injectEmptyComponent: function(e) {
u = c.createFactory(e)
}
},
f = {
deregisterNullComponentID: s,
getEmptyComponent: i,
injection: h,
isNullComponentID: l,
registerNullComponentID: a
};
o.exports = f
}), __d("ReactErrorUtils", [], function(e, t, n, r, o) {
"use strict";
var i = {
guard: function(e) {
return e
}
};
o.exports = i
}), __d("ReactLegacyElement", [], function(e, t, n, r, o) {
"use strict";
function i() {
if (g._isLegacyCallWarningEnabled) {
var e = u.current,
t = e && e.constructor ? e.constructor.displayName : "";
t || (t = "Something"), h.hasOwnProperty(t) || (h[t] = !0, p(!1, t + " is calling a React component directly. Use a factory or JSX instead. See: http://fb.me/react-legacyfactory"), d("react_legacy_factory_call", {
version: 3,
name: t
}))
}
}
function a(e) {
var t = e.prototype && "function" == typeof e.prototype.mountComponent && "function" == typeof e.prototype.receiveComponent;
if (t) p(!1, "Did not expect to get a React class here. Use `Component` instead of `Component.type` or `this.constructor`.");
else {
if (!e._reactWarnedForThisType) {
try {
e._reactWarnedForThisType = !0
} catch (n) {}
d("react_non_component_in_jsx", {
version: 3,
name: e.name
})
}
p(!1, "This JSX uses a plain function. Only React components are valid in React's JSX transform.")
}
}
function s(e) {
p(!1, "Do not pass React.DOM." + e.type + ' to JSX or createFactory. Use the string "' + e + '" instead.')
}
function l(e, t) {
if ("function" == typeof t)
for (var n in t)
if (t.hasOwnProperty(n)) {
var r = t[n];
if ("function" == typeof r) {
var o = r.bind(t);
for (var i in r) r.hasOwnProperty(i) && (o[i] = r[i]);
e[n] = o
} else e[n] = r
}
}
var u = t("ReactCurrentOwner"),
c = t("invariant"),
d = t("monitorCodeUse"),
p = t("warning"),
h = {},
f = {},
m = {},
g = {};
g.wrapCreateFactory = function(e) {
var t = function(t) {
return "function" != typeof t ? e(t) : t.isReactNonLegacyFactory ? (__DEV__ && s(t), e(t.type)) : t.isReactLegacyFactory ? e(t.type) : (__DEV__ && a(t), t)
};
return t
}, g.wrapCreateElement = function(e) {
var t = function(t) {
if ("function" != typeof t) return e.apply(this, arguments);
var n;
return t.isReactNonLegacyFactory ? (__DEV__ && s(t), n = Array.prototype.slice.call(arguments, 0), n[0] = t.type, e.apply(this, n)) : t.isReactLegacyFactory ? (t._isMockFunction && (t.type._mockedReactClassConstructor = t), n = Array.prototype.slice.call(arguments, 0), n[0] = t.type, e.apply(this, n)) : (__DEV__ && a(t), t.apply(null, Array.prototype.slice.call(arguments, 1)))
};
return t
}, g.wrapFactory = function(e) {
"function" != typeof e && c(0, "This is suppose to accept a element factory");
var t = function() {
return __DEV__ && i(), e.apply(this, arguments)
};
return l(t, e.type), t.isReactLegacyFactory = f, t.type = e.type, t
}, g.markNonLegacyFactory = function(e) {
return e.isReactNonLegacyFactory = m, e
}, g.isValidFactory = function(e) {
return "function" == typeof e && e.isReactLegacyFactory === f
}, g._isLegacyCallWarningEnabled = !0, o.exports = g
}), __d("ReactPropTransferer", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return function(t, n, r) {
t[n] = t.hasOwnProperty(n) ? e(t[n], r) : r
}
}
function a(e, t) {
for (var n in t)
if (t.hasOwnProperty(n)) {
var r = h[n];
r && h.hasOwnProperty(n) ? r(e, n, t[n]) : e.hasOwnProperty(n) || (e[n] = t[n])
}
return e
}
var s = t("emptyFunction"),
l = t("invariant"),
u = t("joinClasses"),
c = t("warning"),
d = !1,
p = i(function(e, t) {
return Object.assign({}, t, e)
}),
h = {
children: s,
className: i(u),
style: p
},
f = {
TransferStrategies: h,
mergeProps: function(e, t) {
return a(Object.assign({}, e), t)
},
Mixin: {
transferPropsTo: function(e) {
return e._owner !== this && l(0, "%s: You can't call transferPropsTo() on a component that you don't own, %s. This usually means you are calling transferPropsTo() on a component passed in as props or children.", this.constructor.displayName, "string" == typeof e.type ? e.type : e.type.displayName), __DEV__ && (d || (d = !0, c(!1, "transferPropsTo is deprecated. See http://fb.me/react-transferpropsto for more information."))), a(e.props, this.props), e
}
}
};
o.exports = f
}), __d("joinClasses", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
e || (e = "");
var t, n = arguments.length;
if (n > 1)
for (var r = 1; n > r; r++) t = arguments[r], t && (e = (e ? e + " " : "") + t);
return e
}
o.exports = i
}), __d("ReactPropTypeLocationNames", [], function(e, t, n, r, o) {
"use strict";
var i = {};
__DEV__ && (i = {
prop: "prop",
context: "context",
childContext: "child context"
}), o.exports = i
}), __d("instantiateReactComponent", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
var n;
if (__DEV__ && (a(e && ("function" == typeof e.type || "string" == typeof e.type), "Only functions or strings can be mounted as React components."), e.type._mockedReactClassConstructor)) {
l._isLegacyCallWarningEnabled = !1;
try {
n = new e.type._mockedReactClassConstructor(e.props)
} finally {
l._isLegacyCallWarningEnabled = !0
}
s.isValidElement(n) && (n = new n.type(n.props));
var r = n.render;
if (r) return r._isMockFunction && !r._getMockImplementation() && r.mockImplementation(c.getEmptyComponent), n.construct(e), n;
e = c.getEmptyComponent()
}
return n = "string" == typeof e.type ? u.createInstanceForTag(e.type, e.props, t) : new e.type(e.props), __DEV__ && a("function" == typeof n.construct && "function" == typeof n.mountComponent && "function" == typeof n.receiveComponent, "Only React Components can be mounted."), n.construct(e), n
}
var a = t("warning"),
s = t("ReactElement"),
l = t("ReactLegacyElement"),
u = t("ReactNativeComponent"),
c = t("ReactEmptyComponent");
o.exports = i
}), __d("ReactNativeComponent", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
var r = l[e];
return null == r ? (s || a(0, "There is no registered component for the tag %s", e), new s(e, t)) : n === e ? (s || a(0, "There is no registered component for the tag %s", e), new s(e, t)) : new r.type(t)
}
var a = t("invariant"),
s = null,
l = {},
u = {
injectGenericComponentClass: function(e) {
s = e
},
injectComponentClasses: function(e) {
Object.assign(l, e)
}
},
c = {
createInstanceForTag: i,
injection: u
};
o.exports = c
}), __d("keyOf", [], function(e, t, n, r, o) {
var i = function(e) {
var t;
for (t in e)
if (e.hasOwnProperty(t)) return t;
return null
};
o.exports = i
}), __d("mapObject", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
if (!e) return null;
var r = {};
for (var o in e) a.call(e, o) && (r[o] = t.call(n, e[o], o, e));
return r
}
var a = Object.prototype.hasOwnProperty;
o.exports = i
}), __d("shouldUpdateReactComponent", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
return e && t && e.type === t.type && e.key === t.key && e._owner === t._owner ? !0 : !1
}
o.exports = i
}), __d("ReactInstanceHandles", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return m + e.toString(36)
}
function a(e, t) {
return e.charAt(t) === m || t === e.length
}
function s(e) {
return "" === e || e.charAt(0) === m && e.charAt(e.length - 1) !== m
}
function l(e, t) {
return 0 === t.indexOf(e) && a(t, e.length)
}
function u(e) {
return e ? e.substr(0, e.lastIndexOf(m)) : ""
}
function c(e, t) {
if (s(e) && s(t) || f(0, "getNextDescendantID(%s, %s): Received an invalid React DOM ID.", e, t), l(e, t) || f(0, "getNextDescendantID(...): React has made an invalid assumption about the DOM hierarchy. Expected `%s` to be an ancestor of `%s`.", e, t), e === t) return e;
for (var n = e.length + g, r = n; r < t.length && !a(t, r); r++);
return t.substr(0, r)
}
function d(e, t) {
var n = Math.min(e.length, t.length);
if (0 === n) return "";
for (var r = 0, o = 0; n >= o; o++)
if (a(e, o) && a(t, o)) r = o;
else if (e.charAt(o) !== t.charAt(o)) break;
var i = e.substr(0, r);
return s(i) || f(0, "getFirstCommonAncestorID(%s, %s): Expected a valid React DOM ID: %s", e, t, i), i
}
function p(e, t, n, r, o, i) {
e = e || "", t = t || "", e === t && f(0, "traverseParentPath(...): Cannot traverse from and to the same ID, `%s`.", e);
var a = l(t, e);
a || l(e, t) || f(0, "traverseParentPath(%s, %s, ...): Cannot traverse from two IDs that do not have a parent path.", e, t);
for (var s = 0, d = a ? u : c, p = e;; p = d(p, t)) {
var h;
if (o && p === e || i && p === t || (h = n(p, a, r)), h === !1 || p === t) break;
s++ < _ || f(0, "traverseParentPath(%s, %s, ...): Detected an infinite loop while traversing the React DOM ID tree. This may be due to malformed IDs: %s", e, t)
}
}
var h = t("ReactRootIndex"),
f = t("invariant"),
m = ".",
g = m.length,
_ = 100,
y = {
createReactRootID: function() {
return i(h.createReactRootIndex())
},
createReactID: function(e, t) {
return e + t
},
getReactRootIDFromNodeID: function(e) {
if (e && e.charAt(0) === m && e.length > 1) {
var t = e.indexOf(m, 1);
return t > -1 ? e.substr(0, t) : e
}
return null
},
traverseEnterLeave: function(e, t, n, r, o) {
var i = d(e, t);
i !== e && p(e, i, n, r, !1, !0), i !== t && p(i, t, n, o, !0, !1)
},
traverseTwoPhase: function(e, t, n) {
e && (p("", e, t, n, !0, !1), p(e, "", t, n, !1, !0))
},
traverseTwoPhaseSkipTarget: function(e, t, n) {
e && (p("", e, t, n, !0, !0), p(e, "", t, n, !0, !0))
},
traverseAncestors: function(e, t, n) {
p("", e, t, n, !0, !1)
},
_getFirstCommonAncestorID: d,
_getNextDescendantID: c,
isAncestorIDOf: l,
SEPARATOR: m
};
o.exports = y
}), __d("ReactRootIndex", [], function(e, t, n, r, o) {
"use strict";
var i = {
injectCreateReactRootIndex: function(e) {
a.createReactRootIndex = e
}
},
a = {
createReactRootIndex: null,
injection: i
};
o.exports = a
}), __d("ReactIOSDefaultInjection", [], function(e, t, n, r, o) {
"use strict";
function i() {
a.injection.injectEventPluginOrder(l), a.injection.injectInstanceHandle(m), b.injection.injectGlobalResponderHandler(y), a.injection.injectEventPluginsByName({
ResponderEventPlugin: b,
IOSNativeBridgeEventPlugin: u
}), w.injection.injectReconcileTransaction(g.ReactReconcileTransaction), w.injection.injectBatchingStrategy(h), d.injection.injectEnvironment(g), s.injection.injectMount(v), p.injection.injectMixin(_), S.inject(function(e) {
return new f(R.type, null, null, null, null, {
text: e
})
}), c.injection.injectImplementation(C)
}
t("InitializeJavaScriptAppEngine");
var a = t("EventPluginHub"),
s = t("EventPluginUtils"),
l = t("IOSDefaultEventPluginOrder"),
u = t("IOSNativeBridgeEventPlugin"),
c = t("NodeHandle"),
d = t("ReactComponent"),
p = t("ReactCompositeComponent"),
h = t("ReactDefaultBatchingStrategy"),
f = t("ReactElement"),
m = t("ReactInstanceHandles"),
g = t("ReactIOSComponentEnvironment"),
_ = t("ReactIOSComponentMixin"),
y = t("ReactIOSGlobalResponderHandler"),
v = t("ReactIOSMount"),
S = t("ReactTextComponent"),
w = t("ReactUpdates"),
b = t("ResponderEventPlugin"),
R = t("RKRawText"),
C = t("UniversalWorkerNodeHandle");
t("RKEventEmitter"), t("RKLog"), t("RKJSTimers"), o.exports = {
inject: i
}
}), __d("InitializeJavaScriptAppEngine", [], function(e, t) {
function n(e) {
GLOBAL.console.error("Error: \n stack: \n" + e.stack + "\n URL: " + e.sourceURL + "\n line: " + e.line + "\n message: " + e.message), c && (c.reportUnhandledException(e.message, d(e)), __DEV__ && p(function(t) {
try {
var n = d(e, t);
c.updateExceptionMessage(e.message, n)
} catch (r) {
GLOBAL.console.error("#CLOWNTOWN (error while displaying error): " + r.message)
}
}))
}
function r() {
l.setGlobalHandler(n)
}
function o() {
GLOBAL.Text = void 0, GLOBAL.Image = void 0, GLOBAL.document = {
body: {},
createElement: function() {
return {}
}
}
}
function i() {
GLOBAL.setTimeout = s.setTimeout, GLOBAL.setInterval = s.setInterval, GLOBAL.setImmediate = s.setImmediate, GLOBAL.clearTimeout = s.clearTimeout, GLOBAL.clearInterval = s.clearInterval, GLOBAL.clearImmediate = s.clearImmediate, GLOBAL.cancelAnimationFrame = s.clearInterval, GLOBAL.requestAnimationFrame = function(e) {
return s.requestAnimationFrame(e)
}, "undefined" != typeof __fbUseWebSocketMessageQueue && s.setInterval(function() {}, 0)
}
function a() {
GLOBAL.alert || (GLOBAL.alert = function(e) {
var t = {
title: "Alert",
message: "" + e,
buttons: [{
cancel: "Okay"
}]
};
u.alertWithArgs(t, null)
})
}
var s = t("JSTimers");
t("RKDeviceEventEmitter");
var l = t("ErrorUtils"),
u = t("RKAlertManager"),
c = t("NativeModules").RKExceptionsManager,
d = t("errorToString"),
p = t("loadSourceMap");
"undefined" == typeof GLOBAL && (GLOBAL = this), "undefined" == typeof window && (window = GLOBAL), r(), o(), i(), a()
}), __d("JSTimers", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModules").RKTiming,
a = t("JSTimersExecution"),
s = {
Types: a.Types,
_getFreeIndex: function() {
var e = a.timerIDs.indexOf(null);
return -1 === e && (e = a.timerIDs.length), e
},
setTimeout: function(e, t) {
for (var n = [], r = 2, o = arguments.length; o > r; r++) n.push(arguments[r]);
var l = a.GUID++,
u = s._getFreeIndex();
return a.timerIDs[u] = l, a.callbacks[u] = e, a.callbacks[u] = function() {
return e.apply(void 0, n)
}, a.types[u] = a.Type.setTimeout, i.createTimer(l, t, Date.now(), !1), l
},
setInterval: function(e, t) {
for (var n = [], r = 2, o = arguments.length; o > r; r++) n.push(arguments[r]);
var l = a.GUID++,
u = s._getFreeIndex();
return a.timerIDs[u] = l, a.callbacks[u] = e, a.callbacks[u] = function() {
return e.apply(void 0, n)
}, a.types[u] = a.Type.setInterval, i.createTimer(l, t, Date.now(), !0), l
},
setImmediate: function(e) {
for (var t = [], n = 1, r = arguments.length; r > n; n++) t.push(arguments[n]);
var o = a.GUID++,
i = s._getFreeIndex();
return a.timerIDs[i] = o, a.callbacks[i] = e, a.callbacks[i] = function() {
return e.apply(void 0, t)
}, a.types[i] = a.Type.setImmediate, a.immediates.push(o), o
},
requestAnimationFrame: function(e) {
var t = a.GUID++,
n = s._getFreeIndex();
return a.timerIDs[n] = t, a.callbacks[n] = e, a.types[n] = a.Type.requestAnimationFrame, i.createTimer(t, 0, Date.now(), !1), t
},
clearTimeout: function(e) {
s._clearTimerID(e)
},
clearInterval: function(e) {
s._clearTimerID(e)
},
clearImmediate: function(e) {
s._clearTimerID(e), a.immediates.splice(a.immediates.indexOf(e), 1)
},
cancelAnimationFrame: function(e) {
s._clearTimerID(e)
},
_clearTimerID: function(e) {
var t = a.timerIDs.indexOf(e); - 1 !== t && (a._clearIndex(t), a.types[t] !== a.Type.setImmediate && i.deleteTimer(e))
}
};
o.exports = s
}), __d("NativeModules", [], function(e, t, n, r, o) {
"use strict";
o.exports = t("BatchedBridge").RemoteModules
}), __d("BatchedBridge", [], function(e, t, n, r, o) {
"use strict";
var i, a = t("BatchedBridgeFactory");
i = t("undefined" != typeof __fbUseWebSocketMessageQueue ? "WebSocketMessageQueue" : "MessageQueue");
var s = __fbBatchedBridgeConfig.remoteModuleConfig,
l = __fbBatchedBridgeConfig.localModulesConfig,
u = a.create(i, s, l);
u._config = s, o.exports = u
}), __d("BatchedBridgeFactory", [], function(e, t, n, r, o) {
"use strict";
var i = t("invariant"),
a = t("keyMirror"),
s = t("mapObject"),
l = t("warning"),
u = Array.prototype.slice,
c = a({
remote: null,
local: null
}),
d = {
MethodTypes: c,
_createDeprecatedBridgedModule: function(e, t, n) {
var r = s(t.methods, function(t, r) {
return t.type === c.local ? null : function() {
var t = arguments.length ? arguments[arguments.length - 1] : null,
o = "function" == typeof t,
i = u.call(arguments, 0, arguments.length - (o ? 1 : 0)),
a = o ? t : null;
return e.callDeprecated(n, r, i, a)
}
});
for (var o in t.constants) l(!r[o], "saw constant and method named %s", o), r[o] = t.constants[o];
return r
},
_createBridgedModule: function(e, t, n) {
var r = s(t.methods, function(t, r) {
return t.type === c.local ? null : function() {
var t = arguments.length > 0 ? arguments[arguments.length - 1] : null,
o = arguments.length > 1 ? arguments[arguments.length - 2] : null,
a = "function" == typeof t,
s = "function" == typeof o,
l = a;
a && s || !a && !s || i(0, "You must supply error callbacks and success callbacks or neither");
var c = u.call(arguments, 0, arguments.length - (l ? 2 : 0)),
d = l ? t : null,
p = l ? o : null;
return e.call(n, r, c, p, d)
}
});
for (var o in t.constants) l(!r[o], "saw constant and method named %s", o), r[o] = t.constants[o];
return r
},
create: function(e, t, n) {
var r = new e(t, n);
return {
callFunction: r.callFunction.bind(r),
callFunctionReturnFlushedQueue: r.callFunctionReturnFlushedQueue.bind(r),
invokeCallback: r.invokeCallback.bind(r),
invokeCallbackAndReturnFlushedQueue: r.invokeCallbackAndReturnFlushedQueue.bind(r),
flushedQueue: r.flushedQueue.bind(r),
RemoteModulesDeprecated: s(t, this._createDeprecatedBridgedModule.bind(this, r)),
RemoteModules: s(t, this._createBridgedModule.bind(this, r)),
setLoggingEnabled: r.setLoggingEnabled.bind(r),
getLoggedOutgoingItems: r.getLoggedOutgoingItems.bind(r),
getLoggedIncomingItems: r.getLoggedIncomingItems.bind(r),
replayPreviousLog: r.replayPreviousLog.bind(r)
}
}
};
o.exports = d
}), __d("WebSocketMessageQueue", [], function(e, t, n, r, o) {
"use strict";
function i() {
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
i.instances || (i.instances = []), i.instances.push(this), a.apply(this, e), this._ws = l(u ? i.CatalystJSRuntime(this) : i.RemoteJSRuntime(this))
}
var a = t("MessageQueue"),
s = t("JSONRPC"),
l = t("createJSONRPCWebSocket"),
u = "undefined" != typeof navigator && navigator.userAgent.indexOf("Catalyst") > -1;
s.MessageID = u ? 2e4 : 3e4, s.Runtime = u ? "Catalyst" : "Browser", i.prototype = Object.create(a.prototype), i.CatalystJSRuntime = function(e) {
return {
url: "ws://localhost:8188",
onerror: function(e) {
console.error(e.error)
},
methods: {
connected: function() {
this["CatalystJSRuntime init"]()
},
clientAdded: function() {
this["CatalystJSRuntime init"]()
},
"CatalystJSRuntime init": function() {
e._ws.unpause(), e._ws.sendMethodCall("CatalystJSRuntime connected", [{
location: this["CatalystJSRuntime location get"](),
"NATIVELY INJECTED OBJECTS": this["CatalystJSRuntime NATIVELY INJECTED OBJECTS get"]()
}]), e._ws.pause()
},
"RemoteBootstrapJSRuntime ready": function() {
this["CatalystJSRuntime init"]()
}.bind(this),
"RemoteJSRuntime ready": function() {
e._ws.unpause(), e._ws.flush()
},
"CatalystJSRuntime NATIVELY INJECTED OBJECTS get": function() {
var e = document.getElementsByTagName("script")[0].innerText;
return e.substr(e.indexOf("/* BEGIN NATIVELY INJECTED OBJECTS */"), e.indexOf("/* END NATIVELY INJECTED OBJECTS */"))
},
"CatalystJSRuntime location get": function() {
return window.location.href
},
"CatalystJSRuntime MessageQueue$_pushRequestToOutgoingItems": function() {
for (var t = [], n = 0, r = arguments.length; r > n; n++) t.push(arguments[n]);
a.prototype._pushRequestToOutgoingItems.apply(e, t)
}
}
}
}.bind(this), i.RemoteJSRuntime = function(e) {
return {
url: "ws://localhost:8188",
onerror: function(e) {
console.error(e.error)
},
methods: {
connected: function() {
e._ws.sendMethodCall("RemoteJSRuntime ready", [], function() {
e._ws.unpause(), e._ws.flush()
}), e._ws.flush()
},
clientAdded: function() {
window.onbeforeunload = function() {}, location.reload()
},
clientRemoved: function() {},
"CatalystJSRuntime connected": function() {},
"RemoteJSRuntime MessageQueue$_callFunction": function() {
for (var t = [], n = 0, r = arguments.length; r > n; n++) t.push(arguments[n]);
return a.prototype._callFunction.apply(e, t)
},
"RemoteJSRuntime MessageQueue$_invokeCallback": function() {
for (var t = [], n = 0, r = arguments.length; r > n; n++) t.push(arguments[n]);
return a.prototype._invokeCallback.apply(e, t)
},
"RemoteJSRuntime MessageQueue$_flushedQueueUnguarded": function() {
for (var t = [], n = 0, r = arguments.length; r > n; n++) t.push(arguments[n]);
return a.prototype._flushedQueueUnguarded.apply(e, t)
}
}
}
}, u && (i.prototype._callFunction = function() {
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
this._ws.sendMethodCall("RemoteJSRuntime MessageQueue$_callFunction", e)
}, i.prototype._invokeCallback = function() {
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
this._ws.sendMethodCall("RemoteJSRuntime MessageQueue$_invokeCallback", e)
}, i.prototype._isFlushedQueueEmpty = function() {
return !(this._outgoingItems.length > 0 && this._outgoingItems[0].length > 0 && this._outgoingItems[0][0].length > 0)
}, i.prototype._pushRequestToOutgoingItems = function() {
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
return console.warn("Ignored _pushRequestToOutgoingItems!", "Catalyst JS runtime is running in remote debug mode. This function should never get called."), a.prototype._pushRequestToOutgoingItems.apply(this, e)
}), u || (i.prototype._pushRequestToOutgoingItems = function() {
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
this._ws.sendMethodCall("CatalystJSRuntime MessageQueue$_pushRequestToOutgoingItems", e)
}), o.exports = i
}), __d("MessageQueue", [], function(e, t, n, r, o) {
"use strict";
var i = t("ErrorUtils"),
a = t("invariant"),
s = t("warning"),
l = t("JSTimersExecution"),
u = "Error in MessageQueue implementation",
c = t,
d = function(e, t, n) {
return e[t].apply(e, n)
},
p = function(e, t, n) {
this._requireFunc = n || c, this._initBookeeping(), this._initNamingMap(e, t)
},
h = 0,
f = 1,
m = 2,
g = 3,
_ = 4,
y = function(e, t, n, r) {
return e && i.applyWithGuard(e, r, t), n ? i.applyWithGuard(n, r, null) : null
},
v = function() {
return {
GUID: 1,
errorCallbackIDForSuccessCallbackID: function(e) {
return e + 1
},
successCallbackIDForErrorCallbackID: function(e) {
return e - 1
},
allocateCallbackIDs: function(e) {
e.successCallbackID = this.GUID++, e.errorCallbackID = this.GUID++
},
isSuccessCallback: function(e) {
return e % 2 === 1
}
}
},
S = {
_initNamingMap: function(e, t) {
function n(e, t, n, r, o) {
for (var i in e) {
var a = e[i],
s = a.moduleID;
t[i] = s, n[s] = i, r[i] = {}, o[i] = {};
var l = a.methods;
for (var u in l) {
var c = l[u].methodID;
r[i][u] = c, o[i][c] = u
}
}
}
this._remoteModuleNameToModuleID = {}, this._remoteModuleIDToModuleName = {}, this._remoteModuleNameToMethodNameToID = {}, this._remoteModuleNameToMethodIDToName = {}, this._localModuleNameToModuleID = {}, this._localModuleIDToModuleName = {}, this._localModuleNameToMethodNameToID = {}, this._localModuleNameToMethodIDToName = {}, n(e, this._remoteModuleNameToModuleID, this._remoteModuleIDToModuleName, this._remoteModuleNameToMethodNameToID, this._remoteModuleNameToMethodIDToName), n(t, this._localModuleNameToModuleID, this._localModuleIDToModuleName, this._localModuleNameToMethodNameToID, this._localModuleNameToMethodIDToName)
},
_initBookeeping: function() {
this._POOLED_CBIDS = {
errorCallbackID: null,
successCallbackID: null
}, this._bookkeeping = v(), this._threadLocalCallbacksByID = [], this._threadLocalScopesByID = [], this._outgoingItems = [
[],
[],
[],
[],
[]
], this._outgoingItemsSwap = [
[],
[],
[],
[],
[]
]
},
invokeCallback: function(e, t) {
return y(this._invokeCallback, [e, t], null, this)
},
_invokeCallback: function(e, t) {
try {
var n = this._threadLocalCallbacksByID[e],
r = this._threadLocalScopesByID[e];
s(n, "Cannot find callback with CBID %s. Native module may have invoked both the success callback and the error callback.", e), n.apply(r, t)
} catch (o) {
throw o
} finally {
this._freeResourcesForCallbackID(e)
}
},
invokeCallbackAndReturnFlushedQueue: function(e, t) {
return this._enableLogging && this._loggedIncomingItems.push([(new Date).getTime(), e, t]), y(this._invokeCallback, [e, t], this._flushedQueueUnguarded, this)
},
callFunction: function(e, t, n) {
return y(this._callFunction, [e, t, n], null, this)
},
_callFunction: function(e, t, n) {
var r = this._localModuleIDToModuleName[e],
o = this._localModuleNameToMethodIDToName[r][t],
i = d(this._requireFunc(r), o, n);
return i
},
callFunctionReturnFlushedQueue: function(e, t, n) {
return this._enableLogging && this._loggedIncomingItems.push([(new Date).getTime(), e, t, n]), y(this._callFunction, [e, t, n], this._flushedQueueUnguarded, this)
},
setLoggingEnabled: function(e) {
this._enableLogging = e, this._loggedIncomingItems = [], this._loggedOutgoingItems = [
[],
[],
[],
[],
[]
]
},
getLoggedIncomingItems: function() {
return this._loggedIncomingItems
},
getLoggedOutgoingItems: function() {
return this._loggedOutgoingItems
},
replayPreviousLog: function(e) {
this._outgoingItems = e
},
_swapAndReinitializeBuffer: function() {
var e = this._outgoingItems,
t = this._outgoingItemsSwap;
t[h].length = 0, t[f].length = 0, t[m].length = 0, t[g].length = 0, t[_].length = 0, this._outgoingItemsSwap = e, this._outgoingItems = t
},
_pushRequestToOutgoingItems: function(e, t, n) {
this._outgoingItems[h].push(e), this._outgoingItems[f].push(t), this._outgoingItems[m].push(n), this._enableLogging && (this._loggedOutgoingItems[h].push(e), this._loggedOutgoingItems[f].push(t), this._loggedOutgoingItems[m].push(n))
},
_pushResponseToOutgoingItems: function(e, t) {
this._outgoingItems[g].push(e), this._outgoingItems[_].push(t)
},
_freeResourcesForCallbackID: function(e) {
var t = this._bookkeeping.isSuccessCallback(e) ? this._bookkeeping.errorCallbackIDForSuccessCallbackID(e) : this._bookkeeping.successCallbackIDForErrorCallbackID(e);
this._threadLocalCallbacksByID[e] = null, this._threadLocalScopesByID[e] = null, this._threadLocalCallbacksByID[t] && (this._threadLocalCallbacksByID[t] = null, this._threadLocalScopesByID[t] = null)
},
_storeCallbacksInCurrentThread: function(e, t, n) {
e || t || a(0, u), this._bookkeeping.allocateCallbackIDs(this._POOLED_CBIDS);
var r = this._POOLED_CBIDS.successCallbackID,
o = this._POOLED_CBIDS.errorCallbackID;
this._threadLocalCallbacksByID[o] = e, this._threadLocalCallbacksByID[r] = t, this._threadLocalScopesByID[o] = n, this._threadLocalScopesByID[r] = n
},
flushedQueue: function() {
return y(null, null, this._flushedQueueUnguarded, this)
},
_flushedQueueUnguarded: function() {
l.callImmediates();
var e = this._outgoingItems;
this._swapAndReinitializeBuffer();
var t = e[h].length || e[_].length ? e : null;
return t
},
callDeprecated: function(e, t, n, r, o) {
r && "function" != typeof r && a(0, "Last argument (callback) must be function"), r && (this._storeCallbacksInCurrentThread(null, r, o, this._POOLED_CBIDS), n.push(this._POOLED_CBIDS.successCallbackID));
var i = this._remoteModuleNameToModuleID[e];
if (void 0 === i || null === i) throw new Error("Unrecognized module name:" + e);
var s = this._remoteModuleNameToMethodNameToID[e][t];
if (void 0 === s || null === i) throw new Error("Unrecognized method name:" + t);
this._pushRequestToOutgoingItems(i, s, n)
},
call: function(e, t, n, r, o, i) {
(r && "function" != typeof r || o && "function" != typeof o) && a(0, "Callbacks must be functions"), (r || o) && (this._storeCallbacksInCurrentThread(r, o, i, this._POOLED_CBIDS), n.push(this._POOLED_CBIDS.errorCallbackID), n.push(this._POOLED_CBIDS.successCallbackID));
var s = this._remoteModuleNameToModuleID[e];
if (void 0 === s || null === s) throw new Error("Unrecognized module name:" + e);
var l = this._remoteModuleNameToMethodNameToID[e][t];
if (void 0 === l || null === s) throw new Error("Unrecognized method name:" + t);
this._pushRequestToOutgoingItems(s, l, n)
},
__numPendingCallbacksOnlyUseMeInTestCases: function() {
for (var e = this._threadLocalCallbacksByID, t = 0, n = 0; n < e.length; n++) e[n] && t++;
return t
}
};
Object.assign(p.prototype, S), o.exports = p
}), __d("ErrorUtils", [], function(e, t, n, r, o) {
var i = this;
o.exports = i.ErrorUtils
}), __d("JSTimersExecution", [], function(e, t, n, r, o) {
"use strict";
var i = t("invariant"),
a = t("keyMirror"),
s = t("performanceNow"),
l = t("warning"),
u = {
GUID: 1,
Type: a({
setTimeout: null,
setInterval: null,
requestAnimationFrame: null,
setImmediate: null
}),
callbacks: [],
types: [],
timerIDs: [],
immediates: [],
callTimer: function(e) {
l(e <= u.GUID, "Tried to call timer with ID " + e + " but no such timer exists");
var t = u.timerIDs.indexOf(e);
if (-1 !== t) {
var n = u.types[t],
r = u.callbacks[t];
(n === u.Type.setTimeout || n === u.Type.setImmediate || n === u.Type.requestAnimationFrame) && u._clearIndex(t);
try {
if (n === u.Type.setTimeout || n === u.Type.setInterval || n === u.Type.setImmediate) r();
else {
if (n !== u.Type.requestAnimationFrame) return void console.error("Tried to call a callback with invalid type: " + n);
var o = s();
r(o)
}
} catch (i) {
u.errors = u.errors || [], u.errors.push(i)
}
}
},
callTimers: function(e) {
0 === e.length && i(0, 'Probably shouldn\'t call "callTimers" with no timerIDs'), u.errors = null, e.forEach(u.callTimer);
var n = u.errors;
if (n) {
var r = n.length;
if (r > 1)
for (var o = 1; r > o; o++) t("JSTimers").setTimeout(function(e) {
throw e
}.bind(null, n[o]), 0);
throw n[0]
}
},
callImmediates: function() {
for (u.errors = null; 0 !== u.immediates.length;) u.callTimer(u.immediates.shift());
u.errors && u.errors.forEach(function(e) {
return t("JSTimers").setTimeout(function() {
throw e
}, 0)
})
},
_clearIndex: function(e) {
u.timerIDs[e] = null, u.callbacks[e] = null, u.types[e] = null
}
};
o.exports = u
}), __d("performanceNow", [], function(e, t, n, r, o) {
var i = t("performance");
i && i.now || (i = Date);
var a = i.now.bind(i);
o.exports = a
}), __d("performance", [], function(e, t, n, r, o) {
"use strict";
var i, a = t("ExecutionEnvironment");
a.canUseDOM && (i = window.performance || window.msPerformance || window.webkitPerformance), o.exports = i || {}
}), __d("ExecutionEnvironment", [], function(e, t, n, r, o) {
"use strict";
var i = !("undefined" == typeof window || !window.document || !window.document.createElement),
a = {
canUseDOM: i,
canUseWorkers: "undefined" != typeof Worker,
canUseEventListeners: i && !(!window.addEventListener && !window.attachEvent),
canUseViewport: i && !!window.screen,
isInWorker: !i
};
o.exports = a
}), __d("JSONRPC", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
return e.onmessage = function(e) {
this.ondata(e.data)
}, e.ondata = function(e) {
try {
var t = JSON.parse(e)
} catch (n) {
this.onerror({
type: "error",
error: n
})
}
t && this.onjson(t)
}, e.onjson = function(e) {
return "2.0" === e.jsonrpc ? this.onjsonrpc(e) : void 0
}, e.onjsonrpc = function(n) {
if (null == n.method) return void("result" in n || "error" in n ? this._handleCallback(n.id, n.error, n.result) : console.warn("unhandled message", n));
if ("function" != typeof t[n.method]) return void this.sendErrorMissingMethod(n.id, n.method);
try {
var r = t[n.method].apply(t, n.params);
null == r && (r = null), e.sendResult(n.id, r)
} catch (o) {
e.sendError(n.id, o)
}
}, e.sendResult = function(e, t) {
this.send(JSON.stringify({
jsonrpc: "2.0",
runtime: i.Runtime,
id: e,
ts: Date.now(),
result: t
}))
}, e.sendErrorMissingMethod = function(e, t) {
console.warn("Ignored missing method", t), this.sendErrorRaw(e, {
code: -32601,
message: "Method not found",
data: t
})
}, e.sendError = function(e, t) {
this.sendErrorRaw(e, {
code: -32e3,
message: t.message,
data: t
})
}, e.sendErrorRaw = function(e, t) {
this.send(JSON.stringify({
jsonrpc: "2.0",
runtime: i.Runtime,
id: e,
ts: Date.now(),
error: t
}))
}, e._outMessages = {}, e._handleCallback = function(t, n, r) {
var o = e._outMessages[t];
o && o.callback && o.callback(n, r), delete e._outMessages[t]
}, e.sendMethodCall = function(t, n, r) {
var o = i.MessageID++,
a = {
jsonrpc: "2.0",
runtime: i.Runtime,
id: o,
ts: Date.now(),
method: t,
params: n,
callback: r
};
e._outMessages[a.id] = a, this.send(JSON.stringify(a))
}, e
}
o.exports = i
}), __d("createJSONRPCWebSocket", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = new WebSocket(e.url);
return t.methods = e.methods, a(t, t.methods), t.flush = function() {
if (this.readyState !== WebSocket.OPEN) throw Error("not open");
t._messageQueue.forEach(function(e) {
return this._sendForReal(e)
}.bind(this)), t._messageQueue.length = 0
}, t._isPaused = !0, t.unpause = function() {
if (this.readyState !== WebSocket.OPEN) throw Error("not open");
t._isPaused = !1
}, t.pause = function() {
t._isPaused = !0
}, t._sendForReal = t.send, t.send = function(e) {
return this.readyState !== WebSocket.OPEN || t._isPaused ? void t._messageQueue.push(e) : void t._sendForReal(e)
}, t._messageQueue = [], t.onerror = e.onerror, t.onopen = e.onopen, t
}
var a = t("JSONRPC");
o.exports = i
}), __d("RKDeviceEventEmitter", [], function(e, t, n, r, o) {
"use strict";
var i = t("EventEmitter"),
a = new i;
o.exports = a
}), __d("EventEmitter", [], function(e, t, n, r, o) {
function i() {
"use strict";
this.$EventEmitter_subscriber = new l
}
var a = t("EmitterSubscription"),
s = t("ErrorUtils"),
l = t("EventSubscriptionVendor"),
u = t("emptyFunction"),
c = t("invariant");
i.prototype.addListener = function(e, t, n) {
"use strict";
return this.$EventEmitter_subscriber.addSubscription(e, new a(this.$EventEmitter_subscriber, t, n))
}, i.prototype.once = function(e, t, n) {
"use strict";
var r = this;
return this.addListener(e, function() {
r.removeCurrentListener(), t.apply(n, arguments)
})
}, i.prototype.removeAllListeners = function(e) {
"use strict";
this.$EventEmitter_subscriber.removeAllSubscriptions(e)
}, i.prototype.removeCurrentListener = function() {
"use strict";
this.$EventEmitter_currentSubscription || c(0, "Not in an emitting cycle; there is no current subscription"), this.$EventEmitter_subscriber.removeSubscription(this.$EventEmitter_currentSubscription)
}, i.prototype.listeners = function(e) {
"use strict";
var t = this.$EventEmitter_subscriber.getSubscriptionsForType(e);
return t ? t.filter(u.thatReturnsTrue).map(function(e) {
return e.listener
}) : []
}, i.prototype.emit = function(e) {
"use strict";
var t = this.$EventEmitter_subscriber.getSubscriptionsForType(e);
if (t) {
for (var n = Object.keys(t), r = 0; r < n.length; r++) {
var o = n[r],
i = t[o];
i && (this.$EventEmitter_currentSubscription = i, s.applyWithGuard(i.listener, i.context, Array.prototype.slice.call(arguments, 1), null, "EventEmitter:" + e))
}
this.$EventEmitter_currentSubscription = null
}
}, o.exports = i
}), __d("EmitterSubscription", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
a.call(this, e), this.listener = t, this.context = n
}
var a = t("EventSubscription");
for (var s in a) a.hasOwnProperty(s) && (i[s] = a[s]);
var l = null === a ? null : a.prototype;
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = a, o.exports = i
}), __d("EventSubscription", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
this.subscriber = e
}
i.prototype.remove = function() {
this.subscriber.removeSubscription(this)
}, o.exports = i
}), __d("EventSubscriptionVendor", [], function(e, t, n, r, o) {
"use strict";
function i() {
this.$EventSubscriptionVendor_subscriptionsForType = {}, this.$EventSubscriptionVendor_currentSubscription = null
}
var a = t("invariant");
i.prototype.addSubscription = function(e, t) {
t.subscriber !== this && a(0, "The subscriber of the subscription is incorrectly set."), this.$EventSubscriptionVendor_subscriptionsForType[e] || (this.$EventSubscriptionVendor_subscriptionsForType[e] = []);
var n = this.$EventSubscriptionVendor_subscriptionsForType[e].length;
return this.$EventSubscriptionVendor_subscriptionsForType[e].push(t), t.eventType = e, t.key = n, t
}, i.prototype.removeAllSubscriptions = function(e) {
void 0 === e ? this.$EventSubscriptionVendor_subscriptionsForType = {} : delete this.$EventSubscriptionVendor_subscriptionsForType[e]
}, i.prototype.removeSubscription = function(e) {
var t = e.eventType,
n = e.key,
r = this.$EventSubscriptionVendor_subscriptionsForType[t];
r && delete r[n]
}, i.prototype.getSubscriptionsForType = function(e) {
return this.$EventSubscriptionVendor_subscriptionsForType[e]
}, o.exports = i
}), __d("RKAlertManager", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModulesDeprecated").RKAlertManager;
o.exports = i
}), __d("NativeModulesDeprecated", [], function(e, t, n, r, o) {
"use strict";
o.exports = t("BatchedBridge").RemoteModulesDeprecated
}), __d("errorToString", [], function(e, t, n, r, o) {
"use strict";
var i = function(e, t) {
for (var n = "", r = e.stack.split("\n"), o = 0, i = [], a = 0, s = r.length; s > a; a++) {
var l = r[a].split("@"),
u = l.length > 1,
c = u ? l[0] + " " : "<no name>";
c.length > o && (o = c.length);
var d = "",
p = -1,
h = l[1] ? l[1] : l[0];
if ("[native code]" === h) d = "native code";
else {
var f = h.split(":");
if (d = f[f.length - 3], p = parseInt(f[f.length - 2], 10), d) {
var m = d.match(/([a-zA-Z_]+).includeRequire.runModule.bundle$/);
m && (d = m[1])
}
if (t) try {
var g = t.originalPositionFor({
line: p,
column: null
});
if (g) {
var _ = g.source.split("/");
d = _[_.length - 1], p = g.line
}
} catch (y) {}
}
i.push([c, d, p ? p : "?"])
}
for (var v = 0, S = i.length; S > v; v++) {
var w = i[v],
c = w[0];
n += c;
for (var b = 0, R = o - c.length; R > b; b++) n += " ";
n += " " + w[1] + ":" + w[2] + "\n"
}
return n
};
o.exports = i
}), __d("loadSourceMap", [], function(e, t, n, r, o) {
function i(t) {
if (void 0 !== s) return void t(s);
if (t && d.push(t), !p) {
var n = "http://localhost:8081" + e.SOURCE_MAPPING_URL;
p = new u, p.onreadystatechange = a, p.open("GET", n), p.send()
}
}
function a() {
if (4 === p.readyState) {
try {
200 !== p.status && c(0, "Non-OK http status code: " + p.status), s = new l(p.responseText)
} catch (e) {
console.warn("Failed to load source maps", e.message, e), s = null
}
d.forEach(function(e) {
return e(s)
})
}
}
var s, l = t("SourceMap").SourceMapConsumer,
u = t("xmlhttprequest").XMLHttpRequest,
c = t("invariant"),
d = [],
p = null;
o.exports = i
}), __d("SourceMap", [], function(e, t, n, r, o) {
function i() {
function e(t, n, r) {
if ("string" != typeof t) throw new TypeError("Expected string, got: " + t);
if (2 == arguments.length && (r = n), t in e.modules) throw new Error("Module already defined: " + t);
e.modules[t] = r
}
function t() {
this.modules = {}, this._currentModule = null
}
e.modules = {},
function() {
function n(e) {
for (var t = e.split("/"), n = 1; n < t.length;) ".." === t[n] ? t.splice(n - 1, 1) : "." === t[n] ? t.splice(n, 1) : n++;
return t.join("/")
}
function r(e, t) {
return e = e.trim(), t = t.trim(), /^\//.test(t) ? t : e.replace(/\/*$/, "/") + t
}
function o(e) {
var t = e.split("/");
return t.pop(), t.join("/")
}
t.prototype.require = function(e, t) {
if (Array.isArray(e)) {
var n = e.map(function(e) {
return this.lookup(e)
}, this);
return void(t && t.apply(null, n))
}
return this.lookup(e)
}, t.prototype.lookup = function(t) {
if (/^\./.test(t) && (t = n(r(o(this._currentModule), t))), t in this.modules) {
var i = this.modules[t];
return i
}
if (!(t in e.modules)) throw new Error("Module not defined: " + t);
var i = e.modules[t];
if ("function" == typeof i) {
var a = {},
s = this._currentModule;
this._currentModule = t, i(this.require.bind(this), a, {
id: t,
uri: ""
}), this._currentModule = s, i = a
}
return this.modules[t] = i, i
}
}(), e.Domain = t, e.globalDomain = new t;
var n = e.globalDomain.require.bind(e.globalDomain);
e("source-map/source-map-generator", ["require", "exports", "module", "source-map/base64-vlq", "source-map/util", "source-map/array-set"], function(e, t) {
function n(e) {
this._file = o.getArg(e, "file"), this._sourceRoot = o.getArg(e, "sourceRoot", null), this._sources = new i, this._names = new i, this._mappings = [], this._sourcesContents = null
}
var r = e("./base64-vlq"),
o = e("./util"),
i = e("./array-set").ArraySet;
n.prototype._version = 3, n.fromSourceMap = function(e) {
var t = e.sourceRoot,
r = new n({
file: e.file,
sourceRoot: t
});
return e.eachMapping(function(e) {
var n = {
generated: {
line: e.generatedLine,
column: e.generatedColumn
}
};
e.source && (n.source = e.source, t && (n.source = o.relative(t, n.source)), n.original = {
line: e.originalLine,
column: e.originalColumn
}, e.name && (n.name = e.name)), r.addMapping(n)
}), e.sources.forEach(function(t) {
var n = e.sourceContentFor(t);
n && r.setSourceContent(t, n)
}), r
}, n.prototype.addMapping = function(e) {
var t = o.getArg(e, "generated"),
n = o.getArg(e, "original", null),
r = o.getArg(e, "source", null),
i = o.getArg(e, "name", null);
this._validateMapping(t, n, r, i), r && !this._sources.has(r) && this._sources.add(r), i && !this._names.has(i) && this._names.add(i), this._mappings.push({
generatedLine: t.line,
generatedColumn: t.column,
originalLine: null != n && n.line,
originalColumn: null != n && n.column,
source: r,
name: i
})
}, n.prototype.setSourceContent = function(e, t) {
var n = e;
this._sourceRoot && (n = o.relative(this._sourceRoot, n)), null !== t ? (this._sourcesContents || (this._sourcesContents = {}), this._sourcesContents[o.toSetString(n)] = t) : (delete this._sourcesContents[o.toSetString(n)], 0 === Object.keys(this._sourcesContents).length && (this._sourcesContents = null))
}, n.prototype.applySourceMap = function(e, t) {
t || (t = e.file);
var n = this._sourceRoot;
n && (t = o.relative(n, t));
var r = new i,
a = new i;
this._mappings.forEach(function(i) {
if (i.source === t && i.originalLine) {
var s = e.originalPositionFor({
line: i.originalLine,
column: i.originalColumn
});
null !== s.source && (i.source = n ? o.relative(n, s.source) : s.source, i.originalLine = s.line, i.originalColumn = s.column, null !== s.name && null !== i.name && (i.name = s.name))
}
var l = i.source;
l && !r.has(l) && r.add(l);
var u = i.name;
u && !a.has(u) && a.add(u)
}, this), this._sources = r, this._names = a, e.sources.forEach(function(t) {
var r = e.sourceContentFor(t);
r && (n && (t = o.relative(n, t)), this.setSourceContent(t, r))
}, this)
}, n.prototype._validateMapping = function(e, t, n, r) {
if (!(e && "line" in e && "column" in e && e.line > 0 && e.column >= 0 && !t && !n && !r || e && "line" in e && "column" in e && t && "line" in t && "column" in t && e.line > 0 && e.column >= 0 && t.line > 0 && t.column >= 0 && n)) throw new Error("Invalid mapping: " + JSON.stringify({
generated: e,
source: n,
orginal: t,
name: r
}))
}, n.prototype._serializeMappings = function() {
var e, t = 0,
n = 1,
i = 0,
a = 0,
s = 0,
l = 0,
u = "";
this._mappings.sort(o.compareByGeneratedPositions);
for (var c = 0, d = this._mappings.length; d > c; c++) {
if (e = this._mappings[c], e.generatedLine !== n)
for (t = 0; e.generatedLine !== n;) u += ";", n++;
else if (c > 0) {
if (!o.compareByGeneratedPositions(e, this._mappings[c - 1])) continue;
u += ","
}
u += r.encode(e.generatedColumn - t), t = e.generatedColumn, e.source && (u += r.encode(this._sources.indexOf(e.source) - l), l = this._sources.indexOf(e.source), u += r.encode(e.originalLine - 1 - a), a = e.originalLine - 1, u += r.encode(e.originalColumn - i), i = e.originalColumn, e.name && (u += r.encode(this._names.indexOf(e.name) - s), s = this._names.indexOf(e.name)))
}
return u
}, n.prototype._generateSourcesContent = function(e, t) {
return e.map(function(e) {
if (!this._sourcesContents) return null;
t && (e = o.relative(t, e));
var n = o.toSetString(e);
return Object.prototype.hasOwnProperty.call(this._sourcesContents, n) ? this._sourcesContents[n] : null
}, this)
}, n.prototype.toJSON = function() {
var e = {
version: this._version,
file: this._file,
sources: this._sources.toArray(),
names: this._names.toArray(),
mappings: this._serializeMappings()
};
return this._sourceRoot && (e.sourceRoot = this._sourceRoot), this._sourcesContents && (e.sourcesContent = this._generateSourcesContent(e.sources, e.sourceRoot)), e
}, n.prototype.toString = function() {
return JSON.stringify(this)
}, t.SourceMapGenerator = n
}), e("source-map/base64-vlq", ["require", "exports", "module", "source-map/base64"], function(e, t) {
function n(e) {
return 0 > e ? (-e << 1) + 1 : (e << 1) + 0
}
function r(e) {
var t = 1 === (1 & e),
n = e >> 1;
return t ? -n : n
}
var o = e("./base64"),
i = 5,
a = 1 << i,
s = a - 1,
l = a;
t.encode = function(e) {
var t, r = "",
a = n(e);
do t = a & s, a >>>= i, a > 0 && (t |= l), r += o.encode(t); while (a > 0);
return r
}, t.decode = function(e) {
var t, n, a = 0,
u = e.length,
c = 0,
d = 0;
do {
if (a >= u) throw new Error("Expected more digits in base 64 VLQ value.");
n = o.decode(e.charAt(a++)), t = !!(n & l), n &= s, c += n << d, d += i
} while (t);
return {
value: r(c),
rest: e.slice(a)
}
}
}), e("source-map/base64", ["require", "exports", "module"], function(e, t) {
var n = {},
r = {};
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("").forEach(function(e, t) {
n[e] = t, r[t] = e
}), t.encode = function(e) {
if (e in r) return r[e];
throw new TypeError("Must be between 0 and 63: " + e)
}, t.decode = function(e) {
if (e in n) return n[e];
throw new TypeError("Not a valid base 64 digit: " + e)
}
}), e("source-map/util", ["require", "exports", "module"], function(e, t) {
function n(e, t, n) {
if (t in e) return e[t];
if (3 === arguments.length) return n;
throw new Error('"' + t + '" is a required argument.')
}
function r(e) {
var t = e.match(p);
return t ? {
scheme: t[1],
auth: t[3],
host: t[4],
port: t[6],
path: t[7]
} : null
}
function o(e) {
var t = e.scheme + "://";
return e.auth && (t += e.auth + "@"), e.host && (t += e.host), e.port && (t += ":" + e.port), e.path && (t += e.path), t
}
function i(e, t) {
var n;
return t.match(p) || t.match(h) ? t : "/" === t.charAt(0) && (n = r(e)) ? (n.path = t, o(n)) : e.replace(/\/$/, "") + "/" + t
}
function a(e) {
return "$" + e
}
function s(e) {
return e.substr(1)
}
function l(e, t) {
e = e.replace(/\/$/, "");
var n = r(e);
return "/" == t.charAt(0) && n && "/" == n.path ? t.slice(1) : 0 === t.indexOf(e + "/") ? t.substr(e.length + 1) : t
}
function u(e, t) {
var n = e || "",
r = t || "";
return (n > r) - (r > n)
}
function c(e, t, n) {
var r;
return (r = u(e.source, t.source)) ? r : (r = e.originalLine - t.originalLine) ? r : (r = e.originalColumn - t.originalColumn, r || n ? r : (r = u(e.name, t.name)) ? r : (r = e.generatedLine - t.generatedLine, r ? r : e.generatedColumn - t.generatedColumn))
}
function d(e, t, n) {
var r;
return (r = e.generatedLine - t.generatedLine) ? r : (r = e.generatedColumn - t.generatedColumn, r || n ? r : (r = u(e.source, t.source)) ? r : (r = e.originalLine - t.originalLine) ? r : (r = e.originalColumn - t.originalColumn, r ? r : u(e.name, t.name)))
}
t.getArg = n;
var p = /([\w+\-.]+):\/\/((\w+:\w+)@)?([\w.]+)?(:(\d+))?(\S+)?/,
h = /^data:.+\,.+/;
t.urlParse = r, t.urlGenerate = o, t.join = i, t.toSetString = a, t.fromSetString = s, t.relative = l, t.compareByOriginalPositions = c, t.compareByGeneratedPositions = d
}), e("source-map/array-set", ["require", "exports", "module", "source-map/util"], function(e, t) {
function n() {
this._array = [], this._set = {}
}
var r = e("./util");
n.fromArray = function(e, t) {
for (var r = new n, o = 0, i = e.length; i > o; o++) r.add(e[o], t);
return r
}, n.prototype.add = function(e, t) {
var n = this.has(e),
o = this._array.length;
(!n || t) && this._array.push(e), n || (this._set[r.toSetString(e)] = o)
}, n.prototype.has = function(e) {
return Object.prototype.hasOwnProperty.call(this._set, r.toSetString(e))
}, n.prototype.indexOf = function(e) {
if (this.has(e)) return this._set[r.toSetString(e)];
throw new Error('"' + e + '" is not in the set.')
}, n.prototype.at = function(e) {
if (e >= 0 && e < this._array.length) return this._array[e];
throw new Error("No element indexed by " + e)
}, n.prototype.toArray = function() {
return this._array.slice()
}, t.ArraySet = n
}), e("source-map/source-map-consumer", ["require", "exports", "module", "source-map/util", "source-map/binary-search", "source-map/array-set", "source-map/base64-vlq"], function(e, t) {
function n(e) {
var t = e;
"string" == typeof e && (t = JSON.parse(e.replace(/^\)\]\}'/, "")));
var n = r.getArg(t, "version"),
o = r.getArg(t, "sources"),
a = r.getArg(t, "names", []),
s = r.getArg(t, "sourceRoot", null),
l = r.getArg(t, "sourcesContent", null),
u = r.getArg(t, "mappings"),
c = r.getArg(t, "file", null);
if (n != this._version) throw new Error("Unsupported version: " + n);
this._names = i.fromArray(a, !0), this._sources = i.fromArray(o, !0), this.sourceRoot = s, this.sourcesContent = l, this._mappings = u, this.file = c
}
var r = e("./util"),
o = e("./binary-search"),
i = e("./array-set").ArraySet,
a = e("./base64-vlq");
n.fromSourceMap = function(e) {
var t = Object.create(n.prototype);
return t._names = i.fromArray(e._names.toArray(), !0), t._sources = i.fromArray(e._sources.toArray(), !0), t.sourceRoot = e._sourceRoot, t.sourcesContent = e._generateSourcesContent(t._sources.toArray(), t.sourceRoot), t.file = e._file, t.__generatedMappings = e._mappings.slice().sort(r.compareByGeneratedPositions), t.__originalMappings = e._mappings.slice().sort(r.compareByOriginalPositions), t
}, n.prototype._version = 3, Object.defineProperty(n.prototype, "sources", {
get: function() {
return this._sources.toArray().map(function(e) {
return this.sourceRoot ? r.join(this.sourceRoot, e) : e
}, this)
}
}), n.prototype.__generatedMappings = null, Object.defineProperty(n.prototype, "_generatedMappings", {
get: function() {
return this.__generatedMappings || (this.__generatedMappings = [], this.__originalMappings = [], this._parseMappings(this._mappings, this.sourceRoot)), this.__generatedMappings
}
}), n.prototype.__originalMappings = null, Object.defineProperty(n.prototype, "_originalMappings", {
get: function() {
return this.__originalMappings || (this.__generatedMappings = [], this.__originalMappings = [], this._parseMappings(this._mappings, this.sourceRoot)), this.__originalMappings
}
}), n.prototype._parseMappings = function(e) {
for (var t, n, o = 1, i = 0, s = 0, l = 0, u = 0, c = 0, d = /^[,;]/, p = e; p.length > 0;)
if (";" === p.charAt(0)) o++, p = p.slice(1), i = 0;
else if ("," === p.charAt(0)) p = p.slice(1);
else {
if (t = {}, t.generatedLine = o, n = a.decode(p), t.generatedColumn = i + n.value, i = t.generatedColumn, p = n.rest, p.length > 0 && !d.test(p.charAt(0))) {
if (n = a.decode(p), t.source = this._sources.at(u + n.value), u += n.value, p = n.rest, 0 === p.length || d.test(p.charAt(0))) throw new Error("Found a source, but no line and column");
if (n = a.decode(p), t.originalLine = s + n.value, s = t.originalLine, t.originalLine += 1, p = n.rest, 0 === p.length || d.test(p.charAt(0))) throw new Error("Found a source and line, but no column");
n = a.decode(p), t.originalColumn = l + n.value, l = t.originalColumn, p = n.rest, p.length > 0 && !d.test(p.charAt(0)) && (n = a.decode(p), t.name = this._names.at(c + n.value), c += n.value, p = n.rest)
}
this.__generatedMappings.push(t), "number" == typeof t.originalLine && this.__originalMappings.push(t)
}
this.__originalMappings.sort(r.compareByOriginalPositions)
}, n.prototype._findMapping = function(e, t, n, r, i) {
if (e[n] <= 0) throw new TypeError("Line must be greater than or equal to 1, got " + e[n]);
if (e[r] < 0) throw new TypeError("Column must be greater than or equal to 0, got " + e[r]);
return o.search(e, t, i)
}, n.prototype.originalPositionFor = function(e) {
var t = {
generatedLine: r.getArg(e, "line"),
generatedColumn: r.getArg(e, "column")
},
n = this._findMapping(t, this._generatedMappings, "generatedLine", "generatedColumn", r.compareByGeneratedPositions);
if (n) {
var o = r.getArg(n, "source", null);
return o && this.sourceRoot && (o = r.join(this.sourceRoot, o)), {
source: o,
line: r.getArg(n, "originalLine", null),
column: r.getArg(n, "originalColumn", null),
name: r.getArg(n, "name", null)
}
}
return {
source: null,
line: null,
column: null,
name: null
}
}, n.prototype.sourceContentFor = function(e) {
if (!this.sourcesContent) return null;
if (this.sourceRoot && (e = r.relative(this.sourceRoot, e)), this._sources.has(e)) return this.sourcesContent[this._sources.indexOf(e)];
var t;
if (this.sourceRoot && (t = r.urlParse(this.sourceRoot))) {
var n = e.replace(/^file:\/\//, "");
if ("file" == t.scheme && this._sources.has(n)) return this.sourcesContent[this._sources.indexOf(n)];
if ((!t.path || "/" == t.path) && this._sources.has("/" + e)) return this.sourcesContent[this._sources.indexOf("/" + e)]
}
throw new Error('"' + e + '" is not in the SourceMap.')
}, n.prototype.generatedPositionFor = function(e) {
var t = {
source: r.getArg(e, "source"),
originalLine: r.getArg(e, "line"),
originalColumn: r.getArg(e, "column")
};
this.sourceRoot && (t.source = r.relative(this.sourceRoot, t.source));
var n = this._findMapping(t, this._originalMappings, "originalLine", "originalColumn", r.compareByOriginalPositions);
return n ? {
line: r.getArg(n, "generatedLine", null),
column: r.getArg(n, "generatedColumn", null)
} : {
line: null,
column: null
}
}, n.GENERATED_ORDER = 1, n.ORIGINAL_ORDER = 2, n.prototype.eachMapping = function(e, t, o) {
var i, a = t || null,
s = o || n.GENERATED_ORDER;
switch (s) {
case n.GENERATED_ORDER:
i = this._generatedMappings;
break;
case n.ORIGINAL_ORDER:
i = this._originalMappings;
break;
default:
throw new Error("Unknown order of iteration.")
}
var l = this.sourceRoot;
i.map(function(e) {
var t = e.source;
return t && l && (t = r.join(l, t)), {
source: t,
generatedLine: e.generatedLine,
generatedColumn: e.generatedColumn,
originalLine: e.originalLine,
originalColumn: e.originalColumn,
name: e.name
}
}).forEach(e, a)
}, t.SourceMapConsumer = n
}), e("source-map/binary-search", ["require", "exports", "module"], function(e, t) {
function n(e, t, r, o, i) {
var a = Math.floor((t - e) / 2) + e,
s = i(r, o[a], !0);
return 0 === s ? o[a] : s > 0 ? t - a > 1 ? n(a, t, r, o, i) : o[a] : a - e > 1 ? n(e, a, r, o, i) : 0 > e ? null : o[e]
}
t.search = function(e, t, r) {
return t.length > 0 ? n(-1, t.length, e, t, r) : null
}
}), e("source-map/source-node", ["require", "exports", "module", "source-map/source-map-generator", "source-map/util"], function(e, t) {
function n(e, t, n, r, o) {
this.children = [], this.sourceContents = {}, this.line = void 0 === e ? null : e, this.column = void 0 === t ? null : t, this.source = void 0 === n ? null : n, this.name = void 0 === o ? null : o, null != r && this.add(r)
}
var r = e("./source-map-generator").SourceMapGenerator,
o = e("./util");
n.fromStringWithSourceMap = function(e, t) {
function r(e, t) {
o.add(null === e || void 0 === e.source ? t : new n(e.originalLine, e.originalColumn, e.source, t, e.name))
}
var o = new n,
i = e.split("\n"),
a = 1,
s = 0,
l = null;
return t.eachMapping(function(e) {
if (null === l) {
for (; a < e.generatedLine;) o.add(i.shift() + "\n"), a++;
if (s < e.generatedColumn) {
var t = i[0];
o.add(t.substr(0, e.generatedColumn)), i[0] = t.substr(e.generatedColumn), s = e.generatedColumn
}
} else if (a < e.generatedLine) {
var n = "";
do n += i.shift() + "\n", a++, s = 0; while (a < e.generatedLine);
if (s < e.generatedColumn) {
var t = i[0];
n += t.substr(0, e.generatedColumn), i[0] = t.substr(e.generatedColumn), s = e.generatedColumn
}
r(l, n)
} else {
var t = i[0],
n = t.substr(0, e.generatedColumn - s);
i[0] = t.substr(e.generatedColumn - s), s = e.generatedColumn, r(l, n)
}
l = e
}, this), r(l, i.join("\n")), t.sources.forEach(function(e) {
var n = t.sourceContentFor(e);
n && o.setSourceContent(e, n)
}), o
}, n.prototype.add = function(e) {
if (Array.isArray(e)) e.forEach(function(e) {
this.add(e)
}, this);
else {
if (!(e instanceof n || "string" == typeof e)) throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + e);
e && this.children.push(e)
}
return this
}, n.prototype.prepend = function(e) {
if (Array.isArray(e))
for (var t = e.length - 1; t >= 0; t--) this.prepend(e[t]);
else {
if (!(e instanceof n || "string" == typeof e)) throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got " + e);
this.children.unshift(e)
}
return this
}, n.prototype.walk = function(e) {
for (var t, r = 0, o = this.children.length; o > r; r++) t = this.children[r], t instanceof n ? t.walk(e) : "" !== t && e(t, {
source: this.source,
line: this.line,
column: this.column,
name: this.name
})
}, n.prototype.join = function(e) {
var t, n, r = this.children.length;
if (r > 0) {
for (t = [], n = 0; r - 1 > n; n++) t.push(this.children[n]), t.push(e);
t.push(this.children[n]), this.children = t
}
return this
}, n.prototype.replaceRight = function(e, t) {
var r = this.children[this.children.length - 1];
return r instanceof n ? r.replaceRight(e, t) : "string" == typeof r ? this.children[this.children.length - 1] = r.replace(e, t) : this.children.push("".replace(e, t)), this
}, n.prototype.setSourceContent = function(e, t) {
this.sourceContents[o.toSetString(e)] = t
}, n.prototype.walkSourceContents = function(e) {
for (var t = 0, r = this.children.length; r > t; t++) this.children[t] instanceof n && this.children[t].walkSourceContents(e);
for (var i = Object.keys(this.sourceContents), t = 0, r = i.length; r > t; t++) e(o.fromSetString(i[t]), this.sourceContents[i[t]])
}, n.prototype.toString = function() {
var e = "";
return this.walk(function(t) {
e += t
}), e
}, n.prototype.toStringWithSourceMap = function(e) {
var t = {
code: "",
line: 1,
column: 0
},
n = new r(e),
o = !1,
i = null,
a = null,
s = null,
l = null;
return this.walk(function(e, r) {
t.code += e, null !== r.source && null !== r.line && null !== r.column ? ((i !== r.source || a !== r.line || s !== r.column || l !== r.name) && n.addMapping({
source: r.source,
original: {
line: r.line,
column: r.column
},
generated: {
line: t.line,
column: t.column
},
name: r.name
}), i = r.source, a = r.line, s = r.column, l = r.name, o = !0) : o && (n.addMapping({
generated: {
line: t.line,
column: t.column
}
}), i = null, o = !1), e.split("").forEach(function(e) {
"\n" === e ? (t.line++, t.column = 0) : t.column++
})
}), this.walkSourceContents(function(e, t) {
n.setSourceContent(e, t)
}), {
code: t.code,
map: n
}
}, t.SourceNode = n
}), this.sourceMap = {
SourceMapConsumer: n("source-map/source-map-consumer").SourceMapConsumer,
SourceMapGenerator: n("source-map/source-map-generator").SourceMapGenerator,
SourceNode: n("source-map/source-node").SourceNode
}
}
var a = {};
i.call(a), o.exports = a.sourceMap
}), __d("xmlhttprequest", [], function(e, t, n, r, o, i) {
"use strict";
i.XMLHttpRequest = t("RKXMLHttpRequest")
}), __d("RKXMLHttpRequest", [], function(e, t, n, r, o) {
"use strict";
function i() {
this.UNSENT = 0, this.OPENED = 1, this.HEADERS_RECEIVED = 2, this.LOADING = 3, this.DONE = 4, this.onreadystatechange = void 0, this.upload = void 0, this.readyState = this.UNSENT, this.$RKXMLHttpRequest_method = null, this.$RKXMLHttpRequest_url = null, this.$RKXMLHttpRequest_headers = {}, this.$RKXMLHttpRequest_sent = !1
}
var a = t("NativeModulesDeprecated").RKDataManager,
s = t("crc32");
i.prototype.getAllResponseHeaders = function() {
return null
}, i.prototype.setRequestHeader = function(e, t) {
this.$RKXMLHttpRequest_headers[e] = t
}, i.prototype.open = function(e, t, n) {
if (this.readyState !== this.UNSENT) throw new Error("Cannot open, already sending");
if (void 0 !== n && !n) throw new Error("Synchronous http requests are not supported");
this.$RKXMLHttpRequest_method = e, this.$RKXMLHttpRequest_url = t, this.$RKXMLHttpRequest_setReadyState(this.OPENED)
}, i.prototype.send = function(e) {
if (this.readyState !== this.OPENED) throw new Error("Request has not been opened");
if (this.$RKXMLHttpRequest_sent) throw new Error("Request has already been sent");
this.$RKXMLHttpRequest_sent = !0, a.queryData("http", JSON.stringify({
method: this.$RKXMLHttpRequest_method,
url: this.$RKXMLHttpRequest_url,
data: e,
headers: this.$RKXMLHttpRequest_headers
}), "h" + s(this.$RKXMLHttpRequest_method + "|" + this.$RKXMLHttpRequest_url + "|" + e), function(e) {
e = JSON.parse(e), this.$RKXMLHttpRequest_callback(e.status, e.responseHeaders, e.responseText)
}.bind(this))
}, i.prototype.abort = function() {
throw new Error("abort() is not supported")
}, i.prototype.$RKXMLHttpRequest_setReadyState = function(e) {
this.readyState = e, this.onreadystatechange && this.onreadystatechange(null)
}, i.prototype.$RKXMLHttpRequest_callback = function(e, t, n) {
this.status = e, this.responseHeaders = t, this.responseText = n, this.$RKXMLHttpRequest_setReadyState(this.DONE)
}, o.exports = i
}), __d("crc32", [], function(e, t, n, r, o) {
function i(e) {
var t = 0,
n = 0,
r = 0;
t = -1 ^ t;
for (var o = 0, i = e.length; i > o; o++) n = 255 & (t ^ e.charCodeAt(o)), r = "0x" + a.substr(9 * n, 8), t = t >>> 8 ^ r;
return -1 ^ t
}
var a = "00000000 77073096 EE0E612C 990951BA 076DC419 706AF48F E963A535 9E6495A3 0EDB8832 79DCB8A4 E0D5E91E 97D2D988 09B64C2B 7EB17CBD E7B82D07 90BF1D91 1DB71064 6AB020F2 F3B97148 84BE41DE 1ADAD47D 6DDDE4EB F4D4B551 83D385C7 136C9856 646BA8C0 FD62F97A 8A65C9EC 14015C4F 63066CD9 FA0F3D63 8D080DF5 3B6E20C8 4C69105E D56041E4 A2677172 3C03E4D1 4B04D447 D20D85FD A50AB56B 35B5A8FA 42B2986C DBBBC9D6 ACBCF940 32D86CE3 45DF5C75 DCD60DCF ABD13D59 26D930AC 51DE003A C8D75180 BFD06116 21B4F4B5 56B3C423 CFBA9599 B8BDA50F 2802B89E 5F058808 C60CD9B2 B10BE924 2F6F7C87 58684C11 C1611DAB B6662D3D 76DC4190 01DB7106 98D220BC EFD5102A 71B18589 06B6B51F 9FBFE4A5 E8B8D433 7807C9A2 0F00F934 9609A88E E10E9818 7F6A0DBB 086D3D2D 91646C97 E6635C01 6B6B51F4 1C6C6162 856530D8 F262004E 6C0695ED 1B01A57B 8208F4C1 F50FC457 65B0D9C6 12B7E950 8BBEB8EA FCB9887C 62DD1DDF 15DA2D49 8CD37CF3 FBD44C65 4DB26158 3AB551CE A3BC0074 D4BB30E2 4ADFA541 3DD895D7 A4D1C46D D3D6F4FB 4369E96A 346ED9FC AD678846 DA60B8D0 44042D73 33031DE5 AA0A4C5F DD0D7CC9 5005713C 270241AA BE0B1010 C90C2086 5768B525 206F85B3 B966D409 CE61E49F 5EDEF90E 29D9C998 B0D09822 C7D7A8B4 59B33D17 2EB40D81 B7BD5C3B C0BA6CAD EDB88320 9ABFB3B6 03B6E20C 74B1D29A EAD54739 9DD277AF 04DB2615 73DC1683 E3630B12 94643B84 0D6D6A3E 7A6A5AA8 E40ECF0B 9309FF9D 0A00AE27 7D079EB1 F00F9344 8708A3D2 1E01F268 6906C2FE F762575D 806567CB 196C3671 6E6B06E7 FED41B76 89D32BE0 10DA7A5A 67DD4ACC F9B9DF6F 8EBEEFF9 17B7BE43 60B08ED5 D6D6A3E8 A1D1937E 38D8C2C4 4FDFF252 D1BB67F1 A6BC5767 3FB506DD 48B2364B D80D2BDA AF0A1B4C 36034AF6 41047A60 DF60EFC3 A867DF55 316E8EEF 4669BE79 CB61B38C BC66831A 256FD2A0 5268E236 CC0C7795 BB0B4703 220216B9 5505262F C5BA3BBE B2BD0B28 2BB45A92 5CB36A04 C2D7FFA7 B5D0CF31 2CD99E8B 5BDEAE1D 9B64C2B0 EC63F226 756AA39C 026D930A 9C0906A9 EB0E363F 72076785 05005713 95BF4A82 E2B87A14 7BB12BAE 0CB61B38 92D28E9B E5D5BE0D 7CDCEFB7 0BDBDF21 86D3D2D4 F1D4E242 68DDB3F8 1FDA836E 81BE16CD F6B9265B 6FB077E1 18B74777 88085AE6 FF0F6A70 66063BCA 11010B5C 8F659EFF F862AE69 616BFFD3 166CCF45 A00AE278 D70DD2EE 4E048354 3903B3C2 A7672661 D06016F7 4969474D 3E6E77DB AED16A4A D9D65ADC 40DF0B66 37D83BF0 A9BCAE53 DEBB9EC5 47B2CF7F 30B5FFE9 BDBDF21C CABAC28A 53B39330 24B4A3A6 BAD03605 CDD70693 54DE5729 23D967BF B3667A2E C4614AB8 5D681B02 2A6F2B94 B40BBE37 C30C8EA1 5A05DF1B 2D02EF8D";
o.exports = i
}), __d("EventPluginHub", [], function(e, t, n, r, o) {
"use strict";
function i() {
var e = !f || !f.traverseTwoPhase || !f.traverseEnterLeave;
if (e) throw new Error("InstanceHandle not injected before use!")
}
var a = t("EventPluginRegistry"),
s = t("EventPluginUtils"),
l = t("accumulateInto"),
u = t("forEachAccumulated"),
c = t("invariant"),
d = {},
p = null,
h = function(e) {
if (e) {
var t = s.executeDispatch,
n = a.getPluginModuleForEvent(e);
n && n.executeDispatch && (t = n.executeDispatch), s.executeDispatchesInOrder(e, t), e.isPersistent() || e.constructor.release(e)
}
},
f = null,
m = {
injection: {
injectMount: s.injection.injectMount,
injectInstanceHandle: function(e) {
f = e, __DEV__ && i()
},
getInstanceHandle: function() {
return __DEV__ && i(), f
},
injectEventPluginOrder: a.injectEventPluginOrder,
injectEventPluginsByName: a.injectEventPluginsByName
},
eventNameDispatchConfigs: a.eventNameDispatchConfigs,
registrationNameModules: a.registrationNameModules,
putListener: function(e, t, n) {
n && "function" != typeof n && c(0, "Expected %s listener to be a function, instead got type %s", t, typeof n);
var r = d[t] || (d[t] = {});
r[e] = n
},
getListener: function(e, t) {
var n = d[t];
return n && n[e]
},
deleteListener: function(e, t) {
var n = d[t];
n && delete n[e]
},
deleteAllListeners: function(e) {
for (var t in d) delete d[t][e]
},
extractEvents: function(e, t, n, r) {
for (var o, i = a.plugins, s = 0, u = i.length; u > s; s++) {
var c = i[s];
if (c) {
var d = c.extractEvents(e, t, n, r);
d && (o = l(o, d))
}
}
return o
},
enqueueEvents: function(e) {
e && (p = l(p, e))
},
processEventQueue: function() {
var e = p;
p = null, u(e, h), p && c(0, "processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.")
},
__purge: function() {
d = {}
},
__getListenerBank: function() {
return d
}
};
o.exports = m
}), __d("EventPluginRegistry", [], function(e, t, n, r, o) {
"use strict";
function i() {
if (u)
for (var e in c) {
var t = c[e],
n = u.indexOf(e);
if (n > -1 || l(0, "EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.", e), !d.plugins[n]) {
t.extractEvents || l(0, "EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.", e), d.plugins[n] = t;
var r = t.eventTypes;
for (var o in r) a(r[o], t, o) || l(0, "EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.", o, e)
}
}
}
function a(e, t, n) {
d.eventNameDispatchConfigs.hasOwnProperty(n) && l(0, "EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.", n), d.eventNameDispatchConfigs[n] = e;
var r = e.phasedRegistrationNames;
if (r) {
for (var o in r)
if (r.hasOwnProperty(o)) {
var i = r[o];
s(i, t, n)
}
return !0
}
return e.registrationName ? (s(e.registrationName, t, n), !0) : !1
}
function s(e, t, n) {
d.registrationNameModules[e] && l(0, "EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.", e), d.registrationNameModules[e] = t, d.registrationNameDependencies[e] = t.eventTypes[n].dependencies
}
var l = t("invariant"),
u = null,
c = {},
d = {
plugins: [],
eventNameDispatchConfigs: {},
registrationNameModules: {},
registrationNameDependencies: {},
injectEventPluginOrder: function(e) {
u && l(0, "EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React."), u = Array.prototype.slice.call(e), i()
},
injectEventPluginsByName: function(e) {
var t = !1;
for (var n in e)
if (e.hasOwnProperty(n)) {
var r = e[n];
c.hasOwnProperty(n) && c[n] === r || (c[n] && l(0, "EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.", n), c[n] = r, t = !0)
}
t && i()
},
getPluginModuleForEvent: function(e) {
var t = e.dispatchConfig;
if (t.registrationName) return d.registrationNameModules[t.registrationName] || null;
for (var n in t.phasedRegistrationNames)
if (t.phasedRegistrationNames.hasOwnProperty(n)) {
var r = d.registrationNameModules[t.phasedRegistrationNames[n]];
if (r) return r
}
return null
},
_resetEventPlugins: function() {
u = null;
for (var e in c) c.hasOwnProperty(e) && delete c[e];
d.plugins.length = 0;
var t = d.eventNameDispatchConfigs;
for (var n in t) t.hasOwnProperty(n) && delete t[n];
var r = d.registrationNameModules;
for (var o in r) r.hasOwnProperty(o) && delete r[o]
}
};
o.exports = d
}), __d("EventPluginUtils", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return e === v.topMouseUp || e === v.topTouchEnd || e === v.topTouchCancel
}
function a(e) {
return e === v.topMouseMove || e === v.topTouchMove
}
function s(e) {
return e === v.topMouseDown || e === v.topTouchStart
}
function l(e, t) {
var n = e._dispatchListeners,
r = e._dispatchIDs;
if (__DEV__ && m(e), Array.isArray(n))
for (var o = 0; o < n.length && !e.isPropagationStopped(); o++) t(e, n[o], r[o]);
else n && t(e, n, r)
}
function u(e, t, n) {
e.currentTarget = y.Mount.getNode(n);
var r = t(e, n);
return e.currentTarget = null, r
}
function c(e, t) {
l(e, t), e._dispatchListeners = null, e._dispatchIDs = null
}
function d(e) {
var t = e._dispatchListeners,
n = e._dispatchIDs;
if (__DEV__ && m(e), Array.isArray(t)) {
for (var r = 0; r < t.length && !e.isPropagationStopped(); r++)
if (t[r](e, n[r])) return n[r]
} else if (t && t(e, n)) return n;
return null
}
function p(e) {
var t = d(e);
return e._dispatchIDs = null, e._dispatchListeners = null, t
}
function h(e) {
__DEV__ && m(e);
var t = e._dispatchListeners,
n = e._dispatchIDs;
Array.isArray(t) && _(0, "executeDirectDispatch(...): Invalid `event`.");
var r = t ? t(e, n) : null;
return e._dispatchListeners = null, e._dispatchIDs = null, r
}
function f(e) {
return !!e._dispatchListeners
}
var m, g = t("EventConstants"),
_ = t("invariant"),
y = {
Mount: null,
injectMount: function(e) {
y.Mount = e, __DEV__ && (e && e.getNode || _(0, "EventPluginUtils.injection.injectMount(...): Injected Mount module is missing getNode."))
}
},
v = g.topLevelTypes;
__DEV__ && (m = function(e) {
var t = e._dispatchListeners,
n = e._dispatchIDs,
r = Array.isArray(t),
o = Array.isArray(n),
i = o ? n.length : n ? 1 : 0,
a = r ? t.length : t ? 1 : 0;
(o !== r || i !== a) && _(0, "EventPluginUtils: Invalid `event`.")
});
var S = {
isEndish: i,
isMoveish: a,
isStartish: s,
executeDirectDispatch: h,
executeDispatch: u,
executeDispatchesInOrder: c,
executeDispatchesInOrderStopAtTrue: p,
hasDispatches: f,
injection: y,
useTouchEvents: !1
};
o.exports = S
}), __d("EventConstants", [], function(e, t, n, r, o) {
"use strict";
var i = t("keyMirror"),
a = i({
bubbled: null,
captured: null
}),
s = i({
topBlur: null,
topChange: null,
topClick: null,
topCompositionEnd: null,
topCompositionStart: null,
topCompositionUpdate: null,
topContextMenu: null,
topCopy: null,
topCut: null,
topDoubleClick: null,
topDrag: null,
topDragEnd: null,
topDragEnter: null,
topDragExit: null,
topDragLeave: null,
topDragOver: null,
topDragStart: null,
topDrop: null,
topError: null,
topFocus: null,
topInput: null,
topKeyDown: null,
topKeyPress: null,
topKeyUp: null,
topLoad: null,
topMouseDown: null,
topMouseMove: null,
topMouseOut: null,
topMouseOver: null,
topMouseUp: null,
topPaste: null,
topReset: null,
topScroll: null,
topSelectionChange: null,
topSubmit: null,
topTextInput: null,
topTouchCancel: null,
topTouchEnd: null,
topTouchMove: null,
topTouchStart: null,
topWheel: null
}),
l = {
topLevelTypes: s,
PropagationPhases: a
};
o.exports = l
}), __d("accumulateInto", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
if (null == t && a(0, "accumulateInto(...): Accumulated items must not be null or undefined."), null == e) return t;
var n = Array.isArray(e),
r = Array.isArray(t);
return n && r ? (e.push.apply(e, t), e) : n ? (e.push(t), e) : r ? [e].concat(t) : [e, t]
}
var a = t("invariant");
o.exports = i
}), __d("forEachAccumulated", [], function(e, t, n, r, o) {
"use strict";
var i = function(e, t, n) {
Array.isArray(e) ? e.forEach(t, n) : e && t.call(n, e)
};
o.exports = i
}), __d("IOSDefaultEventPluginOrder", [], function(e, t, n, r, o) {
"use strict";
var i = ["ResponderEventPlugin", "IOSNativeBridgeEventPlugin"];
o.exports = i
}), __d("IOSNativeBridgeEventPlugin", [], function(e, t, n, r, o) {
"use strict";
var i = t("EventPropagators"),
a = t("NativeModulesDeprecated"),
s = t("SyntheticEvent"),
l = t("merge"),
u = t("warning"),
c = a.RKUIManager,
d = c.customBubblingEventTypes,
p = c.customDirectEventTypes,
h = {};
for (var f in d) h[f] = d[f];
for (var m in p) u(!d[m], "Event cannot be both direct and bubbling: %s", m), h[m] = p[m];
var g = {
eventTypes: l(d, p),
extractEvents: function(e, t, n, r) {
var o = d[e],
a = p[e],
l = s.getPooled(o || a, n, r);
if (o) i.accumulateTwoPhaseDispatches(l);
else {
if (!a) return null;
i.accumulateDirectDispatches(l)
}
return l
}
};
o.exports = g
}), __d("EventPropagators", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
var r = t.dispatchConfig.phasedRegistrationNames[n];
return S(e, r)
}
function a(e, t, n) {
if (__DEV__ && !e) throw new Error("Dispatching id must not be null");
var r = t ? v.bubbled : v.captured,
o = i(e, n, r);
o && (n._dispatchListeners = _(n._dispatchListeners, o), n._dispatchIDs = _(n._dispatchIDs, e))
}
function s(e) {
e && e.dispatchConfig.phasedRegistrationNames && g.injection.getInstanceHandle().traverseTwoPhase(e.dispatchMarker, a, e)
}
function l(e) {
e && e.dispatchConfig.phasedRegistrationNames && g.injection.getInstanceHandle().traverseTwoPhaseSkipTarget(e.dispatchMarker, a, e)
}
function u(e, t, n) {
if (n && n.dispatchConfig.registrationName) {
var r = n.dispatchConfig.registrationName,
o = S(e, r);
o && (n._dispatchListeners = _(n._dispatchListeners, o), n._dispatchIDs = _(n._dispatchIDs, e))
}
}
function c(e) {
e && e.dispatchConfig.registrationName && u(e.dispatchMarker, null, e)
}
function d(e) {
y(e, s)
}
function p(e) {
y(e, l)
}
function h(e, t, n, r) {
g.injection.getInstanceHandle().traverseEnterLeave(n, r, u, e, t)
}
function f(e) {
y(e, c)
}
var m = t("EventConstants"),
g = t("EventPluginHub"),
_ = t("accumulateInto"),
y = t("forEachAccumulated"),
v = m.PropagationPhases,
S = g.getListener,
w = {
accumulateTwoPhaseDispatches: d,
accumulateTwoPhaseDispatchesSkipTarget: p,
accumulateDirectDispatches: f,
accumulateEnterLeaveDispatches: h
};
o.exports = w
}), __d("SyntheticEvent", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
this.dispatchConfig = e, this.dispatchMarker = t, this.nativeEvent = n;
var r = this.constructor.Interface;
for (var o in r)
if (r.hasOwnProperty(o)) {
var i = r[o];
this[o] = i ? i(n) : n[o]
}
var a = null != n.defaultPrevented ? n.defaultPrevented : n.returnValue === !1;
this.isDefaultPrevented = a ? s.thatReturnsTrue : s.thatReturnsFalse, this.isPropagationStopped = s.thatReturnsFalse
}
var a = t("PooledClass"),
s = t("emptyFunction"),
l = t("getEventTarget"),
u = {
type: null,
target: l,
currentTarget: s.thatReturnsNull,
eventPhase: null,
bubbles: null,
cancelable: null,
timeStamp: function(e) {
return e.timeStamp || Date.now()
},
defaultPrevented: null,
isTrusted: null
};
Object.assign(i.prototype, {
preventDefault: function() {
this.defaultPrevented = !0;
var e = this.nativeEvent;
e.preventDefault ? e.preventDefault() : e.returnValue = !1, this.isDefaultPrevented = s.thatReturnsTrue
},
stopPropagation: function() {
var e = this.nativeEvent;
e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, this.isPropagationStopped = s.thatReturnsTrue
},
persist: function() {
this.isPersistent = s.thatReturnsTrue
},
isPersistent: s.thatReturnsFalse,
destructor: function() {
var e = this.constructor.Interface;
for (var t in e) this[t] = null;
this.dispatchConfig = null, this.dispatchMarker = null, this.nativeEvent = null
}
}), i.Interface = u, i.augmentClass = function(e, t) {
var n = this,
r = Object.create(n.prototype);
Object.assign(r, e.prototype), e.prototype = r, e.prototype.constructor = e, e.Interface = Object.assign({}, n.Interface, t), e.augmentClass = n.augmentClass, a.addPoolingTo(e, a.threeArgumentPooler)
}, a.addPoolingTo(i, a.threeArgumentPooler), o.exports = i
}), __d("getEventTarget", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = e.target || e.srcElement || window;
return 3 === t.nodeType ? t.parentNode : t
}
o.exports = i
}), __d("merge", [], function(e, t, n, r, o) {
"use strict";
var i = function(e, t) {
return Object.assign({}, e, t)
};
o.exports = i
}), __d("NodeHandle", [], function(e, t, n, r, o) {
var i = {
injection: {
injectImplementation: function(e) {
i._Implementation = e
}
},
_Implementation: null,
getRootNodeID: function(e) {
return i._Implementation.getRootNodeID(e)
}
};
o.exports = i
}), __d("ReactDefaultBatchingStrategy", [], function(e, t, n, r, o) {
"use strict";
function i() {
this.reinitializeTransaction()
}
var a = t("ReactUpdates"),
s = t("Transaction"),
l = t("emptyFunction"),
u = {
initialize: l,
close: function() {
h.isBatchingUpdates = !1
}
},
c = {
initialize: l,
close: a.flushBatchedUpdates.bind(a)
},
d = [c, u];
Object.assign(i.prototype, s.Mixin, {
getTransactionWrappers: function() {
return d
}
});
var p = new i,
h = {
isBatchingUpdates: !1,
batchedUpdates: function(e, t, n) {
var r = h.isBatchingUpdates;
h.isBatchingUpdates = !0, r ? e(t, n) : p.perform(e, null, t, n)
}
};
o.exports = h
}), __d("ReactIOSComponentEnvironment", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModulesDeprecated").RKUIManager,
a = t("ReactIOSDOMIDOperations"),
s = t("ReactIOSReconcileTransaction"),
l = t("ReactIOSTagHandles"),
u = t("ReactPerf"),
c = {
BackendIDOperations: a,
unmountIDFromEnvironment: function() {},
clearNode: function() {},
mountImageIntoNode: u.measure("ReactComponentBrowserEnvironment", "mountImageIntoNode", function(e, t) {
l.associateRootNodeIDWithMountedNodeHandle(e.rootNodeID, e.tag);
var n = [e.tag],
r = [0];
i.manageChildren(l.mostRecentMountedNodeHandleForRootNodeID(t), null, null, n, r, null)
}),
ReactReconcileTransaction: s
};
o.exports = c
}), __d("ReactIOSDOMIDOperations", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactIOSTagHandles"),
a = t("ReactMultiChildUpdateTypes"),
s = t("NativeModulesDeprecated").RKUIManager,
l = t("ReactPerf"),
u = function(e, t) {
if (e.length) {
for (var n = {}, r = 0; r < e.length; r++) {
var o = e[r],
l = i.mostRecentMountedNodeHandleForRootNodeID(o.parentID),
u = n[l] || (n[l] = {});
if (o.type === a.MOVE_EXISTING)(u.moveFromIndices || (u.moveFromIndices = [])).push(o.fromIndex), (u.moveToIndices || (u.moveToIndices = [])).push(o.toIndex);
else if (o.type === a.REMOVE_NODE)(u.removeAtIndices || (u.removeAtIndices = [])).push(o.fromIndex);
else if (o.type === a.INSERT_MARKUP) {
var c = t[o.markupIndex],
d = c.tag,
p = c.rootNodeID;
i.associateRootNodeIDWithMountedNodeHandle(p, d), (u.addAtIndices || (u.addAtIndices = [])).push(o.toIndex), (u.addChildTags || (u.addChildTags = [])).push(d)
}
}
for (var h in n) {
var f = +h,
m = n[f];
s.manageChildren(f, m.moveFromIndices, m.moveToIndices, m.addChildTags, m.addAtIndices, m.removeAtIndices)
}
}
},
c = {
dangerouslyProcessChildrenUpdates: l.measure("ReactDOMIDOperations", "dangerouslyProcessChildrenUpdates", u),
dangerouslyReplaceNodeWithMarkupByID: l.measure("ReactDOMIDOperations", "dangerouslyReplaceNodeWithMarkupByID", function(e, t) {
var n = i.mostRecentMountedNodeHandleForRootNodeID(e);
s.replaceExistingNonRootView(n, t.tag), i.associateRootNodeIDWithMountedNodeHandle(e, t.tag)
})
};
o.exports = c
}), __d("ReactIOSTagHandles", [], function(e, t, n, r, o) {
"use strict";
var i = t("invariant"),
a = t("warning"),
s = 1,
l = {
tagsStartAt: s,
tagCount: s,
allocateTag: function() {
for (; this.reactTagIsNativeTopRootID(l.tagCount);) l.tagCount++;
var e = l.tagCount;
return l.tagCount++, e
},
associateRootNodeIDWithMountedNodeHandle: function(e, t) {
a(e && t, "Root node or tag is null when associating"), l.tagToRootNodeID[t] = e, l.rootNodeIDToTag[e] = t
},
allocateRootNodeIDForTag: function(e) {
return this.reactTagIsNativeTopRootID(e) || i(0, "Expect a native root tag, instead got ", e), ".r[" + e + "]{TOP_LEVEL}"
},
reactTagIsNativeTopRootID: function(e) {
return e % 10 === 1
},
mostRecentMountedNodeHandleForRootNodeID: function(e) {
return l.rootNodeIDToTag[e]
},
tagToRootNodeID: [],
rootNodeIDToTag: {}
};
o.exports = l
}), __d("ReactMultiChildUpdateTypes", [], function(e, t, n, r, o) {
"use strict";
var i = t("keyMirror"),
a = i({
INSERT_MARKUP: null,
MOVE_EXISTING: null,
REMOVE_NODE: null,
TEXT_CONTENT: null
});
o.exports = a
}), __d("ReactIOSReconcileTransaction", [], function(e, t, n, r, o) {
"use strict";
function i() {
this.reinitializeTransaction(), this.reactMountReady = a.getPooled(null)
}
var a = t("CallbackQueue"),
s = t("PooledClass"),
l = t("Transaction"),
u = {
initialize: function() {
this.reactMountReady.reset()
},
close: function() {
this.reactMountReady.notifyAll()
}
},
c = [u],
d = {
getTransactionWrappers: function() {
return c
},
getReactMountReady: function() {
return this.reactMountReady
},
destructor: function() {
a.release(this.reactMountReady), this.reactMountReady = null
}
};
Object.assign(i.prototype, l.Mixin, i, d), s.addPoolingTo(i), o.exports = i
}), __d("ReactIOSComponentMixin", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactIOSTagHandles"),
a = {
getNativeNode: function() {
return i.rootNodeIDToTag[this._rootNodeID]
},
getNodeHandle: function() {
return i.rootNodeIDToTag[this._rootNodeID]
}
};
o.exports = a
}), __d("ReactIOSGlobalResponderHandler", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModules").RKUIManager,
a = t("ReactIOSTagHandles"),
s = {
onChange: function(e, t) {
null !== t ? i.setJSResponder(a.mostRecentMountedNodeHandleForRootNodeID(t)) : i.clearJSResponder()
}
};
o.exports = s
}), __d("ReactIOSMount", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
return e + "[" + t + "]"
}
var a = t("NativeModulesDeprecated").RKUIManager,
s = t("ReactIOSTagHandles"),
l = t("instantiateReactComponent"),
u = t("invariant"),
c = {},
d = {
instanceCount: 0,
_instancesByContainerID: {},
renderComponent: function(e, t) {
var n = l(e);
if (!s.reactTagIsNativeTopRootID(t)) return void console.error("You cannot render into anything but a top root");
var r = s.allocateRootNodeIDForTag(t);
s.associateRootNodeIDWithMountedNodeHandle(r, t), c[r] = !0;
var o = i(r, d.instanceCount++);
d._instancesByContainerID[r] = n, n.mountComponentIntoNode(o, r)
},
unmountComponentAtNodeAndRemoveContainer: function(e) {
d.unmountComponentAtNode(e), a.removeRootView(e)
},
unmountComponentAtNode: function(e) {
var t = s.tagToRootNodeID[e];
c[t] || u(0, "We only currently support removing components from the root node");
var n = d._instancesByContainerID[t];
return n ? (d.unmountComponentFromNode(n, t), delete d._instancesByContainerID[t], delete c[t], !0) : (console.error("Tried to unmount a component that does not exist"), !1)
},
unmountComponentFromNode: function(e, t) {
e.unmountComponent();
var n = s.mostRecentMountedNodeHandleForRootNodeID(t);
a.removeSubviewsFromContainerWithID(n)
},
getNode: function(e) {
return e
}
};
o.exports = d
}), __d("ReactTextComponent", [], function(e, t, n, r, o) {
"use strict";
var i = null,
a = function() {
return i.apply(this, arguments)
};
a.inject = function(e) {
i = e
}, o.exports = a
}), __d("ResponderEventPlugin", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
var r = _(e) ? E.startShouldSetResponder : y(e) ? E.moveShouldSetResponder : E.scrollShouldSetResponder,
o = R ? p._getFirstCommonAncestorID(R, t) : t,
i = o === R,
a = h.getPooled(r, o, n);
a.touchHistory = f.touchHistory, i ? c.accumulateTwoPhaseDispatchesSkipTarget(a) : c.accumulateTwoPhaseDispatches(a);
var s = b(a);
if (a.isPersistent() || a.constructor.release(a), !s || s === R) return null;
var l, u = h.getPooled(E.responderGrant, s, n);
if (u.touchHistory = f.touchHistory, c.accumulateDirectDispatches(u), R) {
var d = h.getPooled(E.responderTerminationRequest, R, n);
d.touchHistory = f.touchHistory, c.accumulateDirectDispatches(d);
var g = !w(d) || S(d);
if (d.isPersistent() || d.constructor.release(d), g) {
var v = E.responderTerminate,
D = h.getPooled(v, R, n);
D.touchHistory = f.touchHistory, c.accumulateDirectDispatches(D), l = m(l, [u, D]), C(s)
} else {
var x = h.getPooled(E.responderReject, s, n);
x.touchHistory = f.touchHistory, c.accumulateDirectDispatches(x), l = m(l, x)
}
} else l = m(l, u), C(s);
return l
}
function a(e, t) {
return t && (e === l.topLevelTypes.topScroll || _(e) || y(e))
}
function s(e) {
var t = e.touches;
if (!t || 0 === t.length) return !0;
for (var n = 0; n < t.length; n++) {
var r = t[n],
o = r.target;
if (null !== o && void 0 !== o && 0 !== o) {
var i = p._getFirstCommonAncestorID(R, d.getRootNodeID(o));
if (i === R) return !1
}
}
return !0
}
var l = t("EventConstants"),
u = t("EventPluginUtils"),
c = t("EventPropagators"),
d = t("NodeHandle"),
p = t("ReactInstanceHandles"),
h = t("ResponderSyntheticEvent"),
f = t("ResponderTouchHistoryStore"),
m = t("accumulate"),
g = t("keyOf"),
_ = u.isStartish,
y = u.isMoveish,
v = u.isEndish,
S = u.executeDirectDispatch,
w = u.hasDispatches,
b = u.executeDispatchesInOrderStopAtTrue,
R = null,
C = function(e) {
var t = R;
R = e, null !== D.GlobalResponderHandler && D.GlobalResponderHandler.onChange(t, e)
},
E = {
startShouldSetResponder: {
phasedRegistrationNames: {
bubbled: g({
onStartShouldSetResponder: null
}),
captured: g({
onStartShouldSetResponderCapture: null
})
}
},
scrollShouldSetResponder: {
phasedRegistrationNames: {
bubbled: g({
onScrollShouldSetResponder: null
}),
captured: g({
onScrollShouldSetResponderCapture: null
})
}
},
moveShouldSetResponder: {
phasedRegistrationNames: {
bubbled: g({
onMoveShouldSetResponder: null
}),
captured: g({
onMoveShouldSetResponderCapture: null
})
}
},
responderStart: {
registrationName: g({
onResponderStart: null
})
},
responderMove: {
registrationName: g({
onResponderMove: null
})
},
responderEnd: {
registrationName: g({
onResponderEnd: null
})
},
responderRelease: {
registrationName: g({
onResponderRelease: null
})
},
responderTerminationRequest: {
registrationName: g({
onResponderTerminationRequest: null
})
},
responderGrant: {
registrationName: g({
onResponderGrant: null
})
},
responderReject: {
registrationName: g({
onResponderReject: null
})
},
responderTerminate: {
registrationName: g({
onResponderTerminate: null
})
}
},
D = {
getResponderID: function() {
return R
},
eventTypes: E,
extractEvents: function(e, t, n, r) {
f.recordTouchTrack(e, r);
var o = a(e, n) ? i(e, n, r) : null,
l = R && _(e),
u = R && y(e),
d = R && v(e),
p = l ? E.responderStart : u ? E.responderMove : d ? E.responderEnd : null;
if (p) {
var g = h.getPooled(p, R, r);
g.touchHistory = f.touchHistory, c.accumulateDirectDispatches(g), o = m(o, g)
}
var S = R && v(e) && s(r);
if (S) {
var w = h.getPooled(E.responderRelease, R, r);
w.touchHistory = f.touchHistory, c.accumulateDirectDispatches(w), o = m(o, w), C(null)
}
return o
},
GlobalResponderHandler: null,
injection: {
injectGlobalResponderHandler: function(e) {
D.GlobalResponderHandler = e
}
}
};
o.exports = D
}), __d("ResponderSyntheticEvent", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
a.call(this, e, t, n)
}
var a = t("SyntheticEvent"),
s = {
touchHistory: function() {
return null
}
};
a.augmentClass(i, s), o.exports = i
}), __d("ResponderTouchHistoryStore", [], function(e, t, n, r, o) {
"use strict";
var i = t("EventPluginUtils"),
a = t("invariant"),
s = i.isMoveish,
l = i.isStartish,
u = i.isEndish,
c = 20,
d = {
touchBank: [],
numberActiveTouches: 0,
indexOfSingleActiveTouch: -1,
mostRecentTimeStamp: 0
},
p = function(e) {
return {
touchActive: !0,
startTimeStamp: e.timeStamp,
startPageX: e.pageX,
startPageY: e.pageY,
currentPageX: e.pageX,
currentPageY: e.pageY,
currentTimeStamp: e.timeStamp,
previousPageX: e.pageX,
previousPageY: e.pageY,
previousTimeStamp: e.timeStamp
}
},
h = function(e, t) {
e.touchActive = !0, e.startTimeStamp = t.timeStamp, e.startPageX = t.pageX, e.startPageY = t.pageY, e.currentPageX = t.pageX, e.currentPageY = t.pageY, e.currentTimeStamp = t.timeStamp, e.previousPageX = t.pageX, e.previousPageY = t.pageY, e.previousTimeStamp = t.timeStamp
},
f = function(e) {
var t = e.identifier;
null == t && a(0, "Touch object is missing identifier"), t > c && console.warn("Touch identifier " + t + " is greater than maximum supported " + c + " which causes performance issues backfilling array locations for all of the indices.")
},
m = function(e) {
var t = d.touchBank,
n = e.identifier,
r = t[n];
__DEV__ && f(e), r ? h(r, e) : t[e.identifier] = p(e), d.mostRecentTimeStamp = e.timeStamp
},
g = function(e) {
var t = d.touchBank,
n = t[e.identifier];
__DEV__ && (f(e), n || a(0, "Touch data should have been recorded on start")), n.touchActive = !0, n.previousPageX = n.currentPageX, n.previousPageY = n.currentPageY, n.previousTimeStamp = n.currentTimeStamp, n.currentPageX = e.pageX, n.currentPageY = e.pageY, n.currentTimeStamp = e.timeStamp, d.mostRecentTimeStamp = e.timeStamp
},
_ = function(e) {
var t = d.touchBank,
n = t[e.identifier];
__DEV__ && (f(e), n || a(0, "Touch data should have been recorded on start")), n.previousPageX = n.currentPageX, n.previousPageY = n.currentPageY, n.previousTimeStamp = n.currentTimeStamp, n.currentPageX = e.pageX, n.currentPageY = e.pageY, n.currentTimeStamp = e.timeStamp, n.touchActive = !1, d.mostRecentTimeStamp = e.timeStamp
},
y = {
recordTouchTrack: function(e, t) {
var n = d.touchBank;
if (s(e)) t.changedTouches.forEach(g);
else if (l(e)) t.changedTouches.forEach(m), d.numberActiveTouches = t.touches.length, 1 === d.numberActiveTouches && (d.indexOfSingleActiveTouch = t.touches[0].identifier);
else if (u(e) && (t.changedTouches.forEach(_), d.numberActiveTouches = t.touches.length, 1 === d.numberActiveTouches)) {
for (var r = 0; r < n.length; r++) {
var o = n[r];
if (null != o && o.touchActive) {
d.indexOfSingleActiveTouch = r;
break
}
}
if (__DEV__) {
var i = n[d.indexOfSingleActiveTouch],
c = null != i && !!i.touchActive;
c || a(0, "Cannot find single active touch")
}
}
},
touchHistory: d
};
o.exports = y
}), __d("accumulate", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
if (null == t && a(0, "accumulate(...): Accumulated items must be not be null or undefined."), null == e) return t;
var n = Array.isArray(e),
r = Array.isArray(t);
return n ? e.concat(t) : r ? [e].concat(t) : [e, t]
}
var a = t("invariant");
o.exports = i
}), __d("RKRawText", [], function(e, t, n, r, o) {
"use strict";
var i = (t("ReactIOSViewAttributes"), t("createReactIOSNativeComponentClass")),
a = i({
validAttributes: {
text: !0
},
uiViewClassName: "RKRawText"
});
o.exports = a
}), __d("ReactIOSViewAttributes", [], function(e, t, n, r, o) {
"use strict";
var i = {};
i.UIView = {
pointerEvents: !0,
accessible: !0,
accessibilityLabel: !0,
testID: !0
}, i.RKView = i.UIView, o.exports = i
}), __d("createReactIOSNativeComponentClass", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactElement"),
a = t("ReactLegacyElement"),
s = t("ReactIOSNativeComponent"),
l = function(e) {
var t = function() {};
return t.displayName = e.uiViewClassName, t.prototype = new s(e), t.prototype.constructor = t, a.wrapFactory(i.createFactory(t))
};
o.exports = l
}), __d("ReactIOSNativeComponent", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeMethodsMixin"),
a = t("ReactComponent"),
s = t("ReactIOSComponentMixin"),
l = t("ReactIOSEventEmitter"),
u = t("ReactIOSStyleAttributes"),
c = t("ReactIOSTagHandles"),
d = t("ReactMultiChild"),
p = t("NativeModulesDeprecated").RKUIManager,
h = t("styleDiffer"),
f = t("deepFreezeAndThrowOnMutationInDev"),
m = t("diffRawProperties"),
g = t("flattenStyle"),
_ = t("warning"),
y = l.registrationNames,
v = l.putListener,
S = l.deleteAllListeners,
w = function(e) {
this.viewConfig = e, this.props = null, this.previousFlattenedStyle = null
},
b = function(e) {
var t = b._cache[e];
if (t) return t;
for (var n = [], r = 0; e > r; r++) n[r] = r;
return b._cache[e] = n
};
b._cache = {}, w.Mixin = {
unmountComponent: function() {
S(this._rootNodeID), a.Mixin.unmountComponent.call(this), this.unmountChildren()
},
initializeChildren: function(e, t, n) {
var r = this.mountChildren(e, n);
if (r.length) {
for (var o = b(r.length), i = [], a = 0; a < r.length; a++) {
var s = r[a],
l = s.tag,
u = s.rootNodeID;
_(s && s.rootNodeID && s.tag, "Mount image returned does not have required data"), c.associateRootNodeIDWithMountedNodeHandle(u, l), i[a] = s.tag
}
p.manageChildren(t, null, null, i, o, null)
}
},
computeUpdatedProperties: function(e, t, n) {
if (__DEV__)
for (var r in t) t.hasOwnProperty(r) && t[r] && n[r] && f(t[r]);
var o = m(null, e, t, n);
if (h(t.style, e.style)) {
var i = g(t.style);
o = m(o, this.previousFlattenedStyle, i, u), this.previousFlattenedStyle = i
}
return o
},
updateComponent: function(e, t) {
a.Mixin.updateComponent.call(this, e, t);
var n = this._currentElement,
r = this.computeUpdatedProperties(t.props, n.props, this.viewConfig.validAttributes);
r && p.updateView(c.mostRecentMountedNodeHandleForRootNodeID(this._rootNodeID), this.viewConfig.uiViewClassName, r), this._reconcileListenersUponUpdate(t.props, n.props), this.updateChildren(this.props.children, e)
},
_registerListenersUponCreation: function(e) {
for (var t in e)
if (y[t] && e[t]) {
var n = e[t];
v(this._rootNodeID, t, n)
}
},
_reconcileListenersUponUpdate: function(e, t) {
for (var n in t) y[n] && t[n] != e[n] && v(this._rootNodeID, n, t[n])
},
mountComponent: function(e, t, n) {
a.Mixin.mountComponent.call(this, e, t, n);
var r = c.allocateTag();
this.previousFlattenedStyle = {};
var o = this.computeUpdatedProperties({}, this.props, this.viewConfig.validAttributes);
return p.createView(r, this.viewConfig.uiViewClassName, o), this._registerListenersUponCreation(this.props), this.initializeChildren(this.props.children, r, t), {
rootNodeID: e,
tag: r
}
}
}, Object.assign(w.prototype, a.Mixin, d.Mixin, w.Mixin, i, s), o.exports = w
}), __d("NativeMethodsMixin", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModules"),
a = t("NativeModulesDeprecated"),
s = i.RKUIManager,
l = a.RKUIManager,
u = t("TextInputState"),
c = t("flattenStyle"),
d = t("invariant"),
p = t("mergeFast"),
h = function(e, t) {
t || d(0, e + ' must be called with a valid animation ID returned from ReactIOSAnimation.createAnimation, received: "' + t + '"')
},
f = {
addAnimation: function(e, t) {
h("addAnimation", e), l.addAnimation(this.getNodeHandle(), e, t)
},
removeAnimation: function(e) {
h("removeAnimation", e), l.removeAnimation(this.getNodeHandle(), e)
},
measure: function(e) {
l.measure(this.getNodeHandle(), e)
},
measureLayout: function(e, t, n) {
s.measureLayout(this.getNodeHandle(), e, n, t)
},
setNativeProps: function(e) {
var t = !0;
for (var n in e)
if ("style" !== n) {
t = !1;
break
}
var r = c(e.style),
o = null;
o = t ? r : r ? p(e, r) : e, l.updateView(this.getNodeHandle(), this.viewConfig.uiViewClassName, o)
},
focus: function() {
u.focusTextInput(this.getNodeHandle())
},
blur: function() {
u.blurTextInput(this.getNodeHandle())
}
};
o.exports = f
}), __d("TextInputState", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModulesDeprecated").RKUIManager,
a = {
_currentlyFocusedID: null,
currentlyFocusedField: function() {
return this._currentlyFocusedID
},
focusTextInput: function(e) {
this._currentlyFocusedID != e && null != e && (this._currentlyFocusedID = e, i.becomeFirstResponder(e))
},
blurTextInput: function(e) {
this._currentlyFocusedID == e && null != e && (this._currentlyFocusedID = null, i.resignFirstResponder(e))
}
};
o.exports = a
}), __d("flattenStyle", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return "number" == typeof e ? s.getStyleByID(e) : e
}
function a(e) {
if (!e) return void 0;
if (!Array.isArray(e)) return i(e);
for (var t = {}, n = 0; n < e.length; ++n) {
var r = a(e[n]);
r && l(t, r)
}
return t
}
var s = t("StyleSheetRegistry"),
l = t("mergeIntoFast");
o.exports = a
}), __d("StyleSheetRegistry", [], function(e, t, n, r, o) {
"use strict";
function i() {}
var a = {},
s = 1,
l = {};
i.registerStyle = function(e) {
var t = ++s;
return __DEV__ && Object.freeze(e), a[t] = e, t
}, i.getStyleByID = function(e) {
if (!e) return l;
var t = a[e];
return t ? t : (console.warn("Invalid style with id `" + e + "`. Skipping ..."), l)
}, o.exports = i
}), __d("mergeIntoFast", [], function(e, t, n, r, o) {
"use strict";
var i = function(e, t) {
for (var n in t) e[n] = t[n]
};
o.exports = i
}), __d("mergeFast", [], function(e, t, n, r, o) {
"use strict";
var i = function(e, t) {
var n = {};
for (var r in e) n[r] = e[r];
for (var o in t) n[o] = t[o];
return n
};
o.exports = i
}), __d("ReactIOSEventEmitter", [], function(e, t, n, r, o) {
"use strict";
var i = t("EventPluginHub"),
a = t("ReactEventEmitterMixin"),
s = t("ReactIOSTagHandles"),
l = t("NodeHandle"),
u = t("EventConstants"),
c = t("merge"),
d = t("warning"),
p = u.topLevelTypes,
h = {},
f = function(e, t) {
for (var n = [], r = 0; r < t.length; r++) n.push(e[t[r]]);
return n
},
m = function(e, t) {
for (var n = [], r = 0; r < t.length; r++) {
var o = t[r];
n.push(e[o]), e[o] = null
}
for (var i = 0, a = 0; a < e.length; a++) {
var s = e[a];
null !== s && (e[i++] = s)
}
return e.length = i, n
},
g = c(a, {
registrationNames: i.registrationNameModules,
putListener: i.putListener,
getListener: i.getListener,
deleteListener: i.deleteListener,
deleteAllListeners: i.deleteAllListeners,
_receiveRootNodeIDEvent: function(e, t, n) {
var r = n || h;
g.handleTopLevel(t, e, e, r)
},
receiveEvent: function(e, t, n) {
var r = s.tagToRootNodeID[e];
g._receiveRootNodeIDEvent(r, t, n)
},
receiveTouches: function(e, t, n) {
for (var r = e === p.topTouchEnd || e === p.topTouchCancel ? m(t, n) : f(t, n), o = 0; o < r.length; o++) {
var i = r[o];
i.changedTouches = r, i.touches = t;
var a = i,
u = null,
c = a.target;
null !== c && void 0 !== c && (c < s.tagsStartAt ? __DEV__ && d(!1, "A view is reporting that a touch occured on tag zero.") : u = l.getRootNodeID(c)), g._receiveRootNodeIDEvent(u, e, a)
}
}
});
o.exports = g
}), __d("ReactEventEmitterMixin", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
a.enqueueEvents(e), a.processEventQueue()
}
var a = t("EventPluginHub"),
s = {
handleTopLevel: function(e, t, n, r) {
var o = a.extractEvents(e, t, n, r);
i(o)
}
};
o.exports = s
}), __d("ReactIOSStyleAttributes", [], function(e, t, n, r, o) {
"use strict";
var i = t("TextStylePropTypes"),
a = t("ViewStylePropTypes"),
s = t("deepDiffer"),
l = t("keyMirror"),
u = t("matricesDiffer"),
c = t("merge"),
d = c(l(a), l(i));
d.transformMatrix = {
diff: u
}, d.shadowOffset = {
diff: s
}, o.exports = d
}), __d("TextStylePropTypes", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactPropTypes"),
a = t("ViewStylePropTypes"),
s = t("merge"),
l = s(a, {
fontFamily: i.string,
fontSize: i.number,
fontWeight: i.oneOf(["normal", "bold"]),
lineHeight: i.number,
color: i.string,
containerBackgroundColor: i.string,
textAlign: i.oneOf(["auto", "left", "right", "center", "justify"]),
writingDirection: i.oneOf(["auto", "ltr", "rtl"])
}),
u = Object.keys({
padding: null,
paddingTop: null,
paddingLeft: null,
paddingRight: null,
paddingBottom: null,
paddingVertical: null,
paddingHorizontal: null
});
for (var c in u) delete l[c];
o.exports = l
}), __d("ReactPropTypes", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
function t(t, n, r, o, i) {
if (o = o || b, null != n[r]) return e(n, r, o, i);
var a = S[i];
return t ? new Error("Required " + a + " `" + r + "` was not specified in " + ("`" + o + "`.")) : void 0
}
var n = t.bind(null, !1);
return n.isRequired = t.bind(null, !0), n
}
function a(e) {
function t(t, n, r, o) {
var i = t[n],
a = _(i);
if (a !== e) {
var s = S[o],
l = y(i);
return new Error("Invalid " + s + " `" + n + "` of type `" + l + "` " + ("supplied to `" + r + "`, expected `" + e + "`."))
}
}
return i(t)
}
function s() {
return i(w.thatReturns())
}
function l(e) {
function t(t, n, r, o) {
var i = t[n];
if (!Array.isArray(i)) {
var a = S[o],
s = _(i);
return new Error("Invalid " + a + " `" + n + "` of type " + ("`" + s + "` supplied to `" + r + "`, expected an array."))
}
for (var l = 0; l < i.length; l++) {
var u = e(i, l, r, o);
if (u instanceof Error) return u
}
}
return i(t)
}
function u() {
function e(e, t, n, r) {
if (!v.isValidElement(e[t])) {
var o = S[r];
return new Error("Invalid " + o + " `" + t + "` supplied to " + ("`" + n + "`, expected a React component."))
}
}
return i(e)
}
function c(e) {
function t(t, n, r, o) {
if (!(t[n] instanceof e)) {
var i = S[o],
a = e.name || b;
return new Error("Invalid " + i + " `" + n + "` supplied to " + ("`" + r + "`, expected instance of `" + a + "`."))
}
}
return i(t)
}
function d(e) {
function t(t, n, r, o) {
for (var i = t[n], a = 0; a < e.length; a++)
if (i === e[a]) return;
var s = S[o],
l = JSON.stringify(e);
return new Error("Invalid " + s + " `" + n + "` of value `" + i + "` " + ("supplied to `" + r + "`, expected one of " + l + "."))
}
return i(t)
}
function p(e) {
function t(t, n, r, o) {
var i = t[n],
a = _(i);
if ("object" !== a) {
var s = S[o];
return new Error("Invalid " + s + " `" + n + "` of type " + ("`" + a + "` supplied to `" + r + "`, expected an object."))
}
for (var l in i)
if (i.hasOwnProperty(l)) {
var u = e(i, l, r, o);
if (u instanceof Error) return u
}
}
return i(t)
}
function h(e) {
function t(t, n, r, o) {
for (var i = 0; i < e.length; i++) {
var a = e[i];
if (null == a(t, n, r, o)) return
}
var s = S[o];
return new Error("Invalid " + s + " `" + n + "` supplied to " + ("`" + r + "`."))
}
return i(t)
}
function f() {
function e(e, t, n, r) {
if (!g(e[t])) {
var o = S[r];
return new Error("Invalid " + o + " `" + t + "` supplied to " + ("`" + n + "`, expected a renderable prop."))
}
}
return i(e)
}
function m(e) {
function t(t, n, r, o) {
var i = t[n],
a = _(i);
if ("object" !== a) {
var s = S[o];
return new Error("Invalid " + s + " `" + n + "` of type `" + a + "` " + ("supplied to `" + r + "`, expected `object`."))
}
for (var l in e) {
var u = e[l];
if (u) {
var c = u(i, l, r, o);
if (c) return c
}
}
}
return i(t, "expected `object`")
}
function g(e) {
switch (typeof e) {
case "number":
case "string":
return !0;
case "boolean":
return !e;
case "object":
if (Array.isArray(e)) return e.every(g);
if (v.isValidElement(e)) return !0;
for (var t in e)
if (!g(e[t])) return !1;
return !0;
default:
return !1
}
}
function _(e) {
var t = typeof e;
return Array.isArray(e) ? "array" : e instanceof RegExp ? "object" : t
}
function y(e) {
var t = _(e);
if ("object" === t) {
if (e instanceof Date) return "date";
if (e instanceof RegExp) return "regexp"
}
return t
}
var v = t("ReactElement"),
S = t("ReactPropTypeLocationNames"),
w = t("emptyFunction"),
b = "<<anonymous>>",
R = {
array: a("array"),
bool: a("boolean"),
func: a("function"),
number: a("number"),
object: a("object"),
string: a("string"),
any: s(),
arrayOf: l,
component: u(),
instanceOf: c,
objectOf: p,
oneOf: d,
oneOfType: h,
renderable: f(),
shape: m
};
o.exports = R
}), __d("ViewStylePropTypes", [], function(e, t, n, r, o) {
"use strict";
var i = t("LayoutPropTypes"),
a = t("ReactPropTypes"),
s = t("merge"),
l = s(i, {
backgroundColor: a.string,
borderColor: a.string,
borderTopColor: a.string,
borderRightColor: a.string,
borderBottomColor: a.string,
borderLeftColor: a.string,
borderRadius: a.number,
opacity: a.number,
overflow: a.oneOf(["visible", "hidden"]),
shadowColor: a.string,
shadowOffset: a.shape({
h: a.number,
w: a.number
}),
shadowOpacity: a.number,
shadowRadius: a.number,
transformMatrix: a.arrayOf(a.number)
});
o.exports = l
}), __d("LayoutPropTypes", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactPropTypes"),
a = {
width: i.number,
height: i.number,
top: i.number,
left: i.number,
right: i.number,
bottom: i.number,
margin: i.number,
marginVertical: i.number,
marginHorizontal: i.number,
marginTop: i.number,
marginBottom: i.number,
marginLeft: i.number,
marginRight: i.number,
padding: i.number,
paddingVertical: i.number,
paddingHorizontal: i.number,
paddingTop: i.number,
paddingBottom: i.number,
paddingLeft: i.number,
paddingRight: i.number,
borderWidth: i.number,
borderTopWidth: i.number,
borderRightWidth: i.number,
borderBottomWidth: i.number,
borderLeftWidth: i.number,
position: i.oneOf(["absolute", "relative"]),
flexDirection: i.oneOf(["row", "column"]),
flexWrap: i.oneOf(["wrap", "nowrap"]),
justifyContent: i.oneOf(["flex-start", "flex-end", "center", "space-between", "space-around"]),
alignItems: i.oneOf(["flex-start", "flex-end", "center", "stretch"]),
alignSelf: i.oneOf(["auto", "flex-start", "flex-end", "center", "stretch"]),
flex: i.number
};
o.exports = a
}), __d("deepDiffer", [], function(e, t, n, r, o) {
"use strict";
var i = function(e, t) {
if (e === t) return !1;
if ("function" == typeof e && "function" == typeof t) return !1;
if ("object" != typeof e || null === e) return e !== t;
if ("object" != typeof t || null === t) return !0;
if (e.constructor !== t.constructor) return !0;
for (var n in e)
if (i(e[n], t[n])) return !0;
for (var r in t)
if (void 0 === e[r]) return !0;
return !1
};
o.exports = i
}), __d("matricesDiffer", [], function(e, t, n, r, o) {
"use strict";
var i = function(e, t) {
return e === t ? !1 : !e || !t || e[12] !== t[12] || e[13] !== t[13] || e[14] !== t[14] || e[5] !== t[5] || e[10] !== t[10] || e[1] !== t[1] || e[2] !== t[2] || e[3] !== t[3] || e[4] !== t[4] || e[6] !== t[6] || e[7] !== t[7] || e[8] !== t[8] || e[9] !== t[9] || e[11] !== t[11] || e[15] !== t[15]
};
o.exports = i
}), __d("ReactMultiChild", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
_.push({
parentID: e,
parentNode: null,
type: p.INSERT_MARKUP,
markupIndex: y.push(t) - 1,
textContent: null,
fromIndex: null,
toIndex: n
})
}
function a(e, t, n) {
_.push({
parentID: e,
parentNode: null,
type: p.MOVE_EXISTING,
markupIndex: null,
textContent: null,
fromIndex: t,
toIndex: n
})
}
function s(e, t) {
_.push({
parentID: e,
parentNode: null,
type: p.REMOVE_NODE,
markupIndex: null,
textContent: null,
fromIndex: t,
toIndex: null
})
}
function l(e, t) {
_.push({
parentID: e,
parentNode: null,
type: p.TEXT_CONTENT,
markupIndex: null,
textContent: t,
fromIndex: null,
toIndex: null
})
}
function u() {
_.length && (d.BackendIDOperations.dangerouslyProcessChildrenUpdates(_, y), c())
}
function c() {
_.length = 0, y.length = 0
}
var d = t("ReactComponent"),
p = t("ReactMultiChildUpdateTypes"),
h = t("flattenChildren"),
f = t("instantiateReactComponent"),
m = t("shouldUpdateReactComponent"),
g = 0,
_ = [],
y = [],
v = {
Mixin: {
mountChildren: function(e, t) {
var n = h(e),
r = [],
o = 0;
this._renderedChildren = n;
for (var i in n) {
var a = n[i];
if (n.hasOwnProperty(i)) {
var s = f(a, null);
n[i] = s;
var l = this._rootNodeID + i,
u = s.mountComponent(l, t, this._mountDepth + 1);
s._mountIndex = o, r.push(u), o++
}
}
return r
},
updateTextContent: function(e) {
g++;
var t = !0;
try {
var n = this._renderedChildren;
for (var r in n) n.hasOwnProperty(r) && this._unmountChildByName(n[r], r);
this.setTextContent(e), t = !1
} finally {
g--, g || (t ? c() : u())
}
},
updateChildren: function(e, t) {
g++;
var n = !0;
try {
this._updateChildren(e, t), n = !1
} finally {
g--, g || (n ? c() : u())
}
},
_updateChildren: function(e, t) {
var n = h(e),
r = this._renderedChildren;
if (n || r) {
var o, i = 0,
a = 0;
for (o in n)
if (n.hasOwnProperty(o)) {
var s = r && r[o],
l = s && s._currentElement,
u = n[o];
if (m(l, u)) this.moveChild(s, a, i), i = Math.max(s._mountIndex, i), s.receiveComponent(u, t), s._mountIndex = a;
else {
s && (i = Math.max(s._mountIndex, i), this._unmountChildByName(s, o));
var c = f(u, null);
this._mountChildByNameAtIndex(c, o, a, t)
}
a++
}
for (o in r) !r.hasOwnProperty(o) || n && n[o] || this._unmountChildByName(r[o], o)
}
},
unmountChildren: function() {
var e = this._renderedChildren;
for (var t in e) {
var n = e[t];
n.unmountComponent && n.unmountComponent()
}
this._renderedChildren = null
},
moveChild: function(e, t, n) {
e._mountIndex < n && a(this._rootNodeID, e._mountIndex, t)
},
createChild: function(e, t) {
i(this._rootNodeID, t, e._mountIndex)
},
removeChild: function(e) {
s(this._rootNodeID, e._mountIndex)
},
setTextContent: function(e) {
l(this._rootNodeID, e)
},
_mountChildByNameAtIndex: function(e, t, n, r) {
var o = this._rootNodeID + t,
i = e.mountComponent(o, r, this._mountDepth + 1);
e._mountIndex = n, this.createChild(e, i), this._renderedChildren = this._renderedChildren || {}, this._renderedChildren[t] = e
},
_unmountChildByName: function(e, t) {
this.removeChild(e), e._mountIndex = null, e.unmountComponent(), delete this._renderedChildren[t]
}
}
};
o.exports = v
}), __d("flattenChildren", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
var r = e,
o = !r.hasOwnProperty(n);
if (u(o, "flattenChildren(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.", n), o && null != t) {
var i, a = typeof t;
i = "string" === a ? s(t) : "number" === a ? s("" + t) : t, r[n] = i
}
}
function a(e) {
if (null == e) return e;
var t = {};
return l(e, i, t), t
}
var s = t("ReactTextComponent"),
l = t("traverseAllChildren"),
u = t("warning");
o.exports = a
}), __d("traverseAllChildren", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return m[e]
}
function a(e, t) {
return e && null != e.key ? l(e.key) : t.toString(36)
}
function s(e) {
return ("" + e).replace(g, i)
}
function l(e) {
return "$" + s(e)
}
function u(e, t, n) {
return null == e ? 0 : _(e, "", 0, t, n)
}
var c = t("ReactElement"),
d = t("ReactInstanceHandles"),
p = t("invariant"),
h = d.SEPARATOR,
f = ":",
m = {
"=": "=0",
".": "=1",
":": "=2"
},
g = /[=.:]/g,
_ = function(e, t, n, r, o) {
var i, s, u = 0;
if (Array.isArray(e))
for (var d = 0; d < e.length; d++) {
var m = e[d];
i = t + (t ? f : h) + a(m, d), s = n + u, u += _(m, i, s, r, o)
} else {
var g = typeof e,
y = "" === t,
v = y ? h + a(e, 0) : t;
if (null == e || "boolean" === g) r(o, null, v, n), u = 1;
else if ("string" === g || "number" === g || c.isValidElement(e)) r(o, e, v, n), u = 1;
else if ("object" === g) {
e && 1 === e.nodeType && p(0, "traverseAllChildren(...): Encountered an invalid child; DOM elements are not valid children of React components.");
for (var S in e) e.hasOwnProperty(S) && (i = t + (t ? f : h) + l(S) + f + a(e[S], 0), s = n + u, u += _(e[S], i, s, r, o))
}
}
return u
};
o.exports = u
}), __d("styleDiffer", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
return !a(e, t)
}
function a(e, t) {
if (!e) return !t;
if (!t) return !e;
if (typeof e != typeof t) return !1;
if ("number" == typeof e) return e === t;
if (Array.isArray(e)) {
if (!Array.isArray(t) || e.length !== t.length) return !1;
for (var n = 0; n < e.length; ++n)
if (!a(e[n], t[n])) return !1;
return !0
}
for (var r in e)
if (s(e[r], t[r])) return !1;
for (var r in t)
if (!e.hasOwnProperty(r)) return !1;
return !0
}
var s = t("deepDiffer");
o.exports = i
}), __d("deepFreezeAndThrowOnMutationInDev", [], function(e, t, n, r, o) {
function i(e) {
if (__DEV__) {
if ("object" != typeof e || null === e || Object.isFrozen(e) || Object.isSealed(e)) return;
for (var t in e) e.hasOwnProperty(t) && (e.__defineGetter__(t, s.bind(null, e[t])), e.__defineSetter__(t, a.bind(null, t)), i(e[t]));
Object.freeze(e), Object.seal(e)
}
}
function a(e, t) {
throw Error("You attempted to set the key `" + e + "` with the value `" + JSON.stringify(t) + "` on an object that is meant to be immutable and has been frozen.")
}
function s(e) {
return e
}
o.exports = i
}), __d("diffRawProperties", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n, r) {
var o, i, a, s, l;
for (var u in n) o = r[u], o && (a = t && t[u], i = n[u], a !== i && (s = "object" != typeof i || null === i, l = s || !a || o.diff && o.diff(a, i), l && (e = e || {}, e[u] = i)));
for (var u in t) o = r[u], o && (e && void 0 !== e[u] || (a = t[u], i = n && n[u], a !== i && (void 0 === i && (i = null), s = "object" != typeof i || null === i, l = s && a !== i || o.diff && o.diff(a, i), l && (e = e || {}, e[u] = i))));
return e
}
o.exports = i
}), __d("UniversalWorkerNodeHandle", [], function(e, t, n, r, o) {
var i = t("ReactIOSTagHandles"),
a = t("invariant"),
s = {
getRootNodeID: function(e) {
return (void 0 === e || null === e || 0 === e) && a(0, "No node handle defined"), i.tagToRootNodeID[e]
}
};
o.exports = s
}), __d("RKEventEmitter", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactIOSEventEmitter");
o.exports = i
}), __d("RKLog", [], function(e, t, n, r, o) {
"use strict";
function i() {}
var a = t("invariant");
i.logIfNoNativeHook = function() {
var e = Array.prototype.slice.call(arguments),
t = e.shift(),
n = {
log: !0,
info: !0,
warn: !0,
error: !0
};
return n[t] || a(0, 'Level "' + t + '" not one of ' + Object.keys(n)), "undefined" == typeof nativeLoggingHook && console[t].apply(console, e), !0
}, o.exports = i
}), __d("RKJSTimers", [], function(e, t, n, r, o) {
"use strict";
var i = t("JSTimersExecution"),
a = i;
o.exports = a
}), __d("deprecated", [], function(e, t, n, r, o) {
function i(e, t, n, r, o) {
var i = !1;
if (__DEV__) {
var s = function() {
return a(i, e + "." + t + " will be deprecated in a future version. " + ("Use " + e + "." + n + " instead.")), i = !0, o.apply(r, arguments)
};
return s.displayName = e + "_" + t, s
}
return o
}
var a = t("warning");
o.exports = i
}), __d("RKRenderingPerf", [], function(e, t, n, r, o) {
"use strict";
function i() {}
var a = t("DliteCatalystProfiler"),
s = t("ReactDefaultPerf"),
l = t("ReactPerf");
i.toggle = function() {
l.enableMeasure ? (s.stop(), s.printInclusive(), s.printWasted(), a.print(), a.reset()) : (s.start(), console.log("Render perfomance measurements started"), a.start(), console.log("Dlite perfomance measurements started"))
}, o.exports = i
}), __d("DliteCatalystProfiler", [], function(e, t, n, r, o) {
"use strict";
var i, a, s, l, u, c = t("DliteProfiler"),
d = t("GraphQLStore"),
p = t("GraphQLStoreChangeEmitter"),
h = t("GraphQLStoreQueryResolver"),
f = t("GraphQLStoreReader"),
m = t("ReactGraphQL"),
g = t("SubscriptionsHandler"),
_ = t("invariant"),
y = t("mapObject"),
v = t("performanceNow"),
S = [m.Mixin.getInitialState, m.Mixin.componentWillReceiveProps, m.Mixin._shouldComponentUpdate, m.Mixin.statics.getQueriesForRoute, d.getDiffQueries, d.handleUpdate, p.addListenerForIDs, p.broadcastChangeForID, p._processSubscribers, h.prototype.resolve, f.prototype.retrieveData],
w = ["React.setPropsInternal.onSuccess", "React.setPropsInternal.onSubscription"],
b = {
aggregateTime: 0,
callCount: 0
},
R = new g,
C = !1,
E = !1,
D = {
start: function() {
D.reset(), E = !0, __DEV__ || _(0, "DliteCatalystProfiler (DliteProfiler) requires `__DEV__`."), S.forEach(function(e) {
e && e.attachHandler || _(0, "DliteCatalystProfiler: Attempted to measure an invalid method."), e.attachHandler(D.measure)
}), w.forEach(function(e) {
c.attachAsyncHandler(e, {
onStart: D.startMeasurement.bind(D, e),
onStop: D.stopMeasurement.bind(D, e)
})
}), R.engage(), R.addSubscriptions(m.addListener("beginQueryParamChange", function(e, t) {
return C ? void console.warn("DliteCatalystProfiler: Began `setQueryParams(%o)` on `%s` while profiling. Results may be tainted.", t, e) : void(C = !0)
}), m.addListener("endQueryParamChange", function() {
C = !1
})), c.attachAsyncHandler("fetchRQL.processPending", {
onStart: function() {
l = v()
},
onStop: function() {
u || (u = v() - l, l = 0)
}
})
},
stop: function() {
E = !1, S.forEach(function(e) {
e.detachHandler(D.measure)
}), R.release()
},
measure: function(e, t) {
D.startMeasurement(e), t(), D.stopMeasurement(e)
},
startMeasurement: function(e) {
i[e] = i[e] || Object.assign({}, b), a.unshift(0), s.unshift(v())
},
stopMeasurement: function(e) {
var t = a.shift(),
n = s.shift(),
r = v() - n;
i[e].aggregateTime += r - t, i[e].callCount++, a[0] += r
},
getAggregateTimes: function() {
return y(i, function(e) {
return e.aggregateTime
})
},
reset: function() {
i = {}, a = [0], s = [0], l = 0, u = 0
},
getMeasurements: function() {
return Object.assign({}, i)
},
print: function(e) {
if (E) {
var t = {},
n = 1;
e && (n = e - u, console.info("Overall time: ", e), console.info("Fetch time: ", u), console.info("Estimated Dlite JS time: ", n)), Object.keys(i).sort(function(e, t) {
return i[t].aggregateTime - i[e].aggregateTime
}).forEach(function(r) {
t[r] = i[r], e && (t[r].percentage = Math.round(i[r].aggregateTime / n * 100))
}), console.table ? console.table(t) : console.log(t)
}
}
};
o.exports = D
}), __d("DliteProfiler", [], function(e, t, n, r, o) {
"use strict";
var i = t("emptyFunction"),
a = t("forEachObject"),
s = t("invariant"),
l = {},
u = {},
c = {
stop: i
},
d = {
instrumentMethods: function(e, t) {
a(t, function(t, n) {
e[n] = d.instrument(t, e[n])
})
},
instrument: function(e, t) {
if (__DEV__) {
var n = [],
r = function() {
var r = l,
o = arguments,
i = function() {
r = t.apply(this, o)
}.bind(this);
if (n.forEach(function(t) {
i = t.bind(this, e, i)
}, this), i(), r === l) throw new Error("DliteProfiler: Handler did not invoke original function.");
return r
};
return r.attachHandler = function(e) {
n.push(e)
}, r.detachHandler = function(e) {
var t = n.indexOf(e);
t >= 0 && n.splice(t, 1)
}, r.displayName = "(instrumented " + e + ")", r
}
return t.attachHandler = i, t.detachHandler = i, t
},
instrumentAsync: function(e) {
return __DEV__ ? (u[e] && u[e].onStart(), {
stop: function() {
u[e] && u[e].onStop()
}
}) : c
},
attachAsyncHandler: function(e, t) {
__DEV__ && (u.hasOwnProperty(e) && s(0, "DliteProfiler: Property with name `%s` already exists.", e), u[e] = t)
}
};
o.exports = d
}), __d("forEachObject", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
for (var r in e) a.call(e, r) && t.call(n, e[r], r, e)
}
var a = Object.prototype.hasOwnProperty;
o.exports = i
}), __d("GraphQLStore", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
return new T(B, U, q, H, N, e, E.broadcastChangeForID, t)
}
function a(e) {
var t = N[e.client_mutation_id];
u(t, C.ERROR)
}
function s(e, t, n) {
var r = v.getMutationType(e);
e = e[r], t instanceof _.Mutation || k(0, "must pass a mutation into handleMutationResult");
for (var o = b.getConfigs(r), a = i(n, L()), s = 0; s < o.length; s++) {
var l = o[s];
switch (l.handlerType) {
case w.NODE_DELETE_HANDLER:
a.handleNodeDeleteMutation(e, l.config);
break;
case w.RANGE_ADD_HANDLER:
a.handleRangeAddMutation(e, t, l.config, S.getRangeConfigForType(r));
break;
case w.RANGE_DELETE_HANDLER:
a.handleRangeDeleteMutation(e, l.config);
break;
default:
console.error('"%s" is not mapped to a mutation handler', l.handlerType)
}
}
a.handleMergeMutation(e, t, r)
}
function l(e) {
s(e.getOptimisticPayload(), e.getOptimisticPayloadQuery(), w.OPTIMISTIC_UPDATE)
}
function u(e, t) {
t in C || k(0, '"%s" is not a valid GraphQLStatusConstant.', t);
var n = U[e];
n || k(0, "Invalid dataID %s was passed to `setStatusForID`. Can only set status for queued node.", e), n.__status__ = t, E.broadcastChangeForID(e)
}
function c(e) {
var t = U[e];
t || k(0, "Invalid dataID %s was passed to `clearStatusForID`. Can only set status for queued node.", e), delete t.__status__, E.broadcastChangeForID(e)
}
function d() {
for (var e in U) U.hasOwnProperty(e) && delete U[e]
}
var p = t("ActionCollisionMap"),
h = t("ActionQueue"),
f = t("DiffQueryBuilder"),
m = (t("DliteLog"), t("DliteLogger")),
g = t("DliteProfiler"),
_ = t("GraphQL_EXPERIMENTAL"),
y = t("GraphQLConstants"),
v = t("GraphQLMutationDataHandler"),
S = t("GraphQLMutationProperties"),
w = t("GraphQLMutatorConstants"),
b = t("GraphQLMutatorHub"),
R = t("GraphQLQueryTracker"),
C = t("GraphQLStatusConstants"),
E = t("GraphQLStoreChangeEmitter"),
D = t("GraphQLStoreDataHandler"),
x = t("GraphQLStoreNodeRangeTracker"),
F = t("GraphQLStoreQueryPath"),
I = (t("GraphQLStoreRangeUtils"), t("GraphQLStoreReader")),
T = t("GraphQLStoreWriter"),
P = t("generateClientID"),
L = t("generateForceIndex"),
k = t("invariant"),
M = t("isEmpty"),
A = t("keyMirror"),
Q = t("mapObject"),
O = t("mixInEventEmitter"),
N = {},
G = {},
$ = {},
B = {},
U = {},
V = {},
q = new R,
H = new x,
j = y.NODE,
W = y.NODES,
K = y.VIEWER,
z = y.CUSTOM_ROOTCALLS,
Y = y.IDLESS_ROOTCALLS,
X = {
Events: A({
beginQuery: !0,
dataFromServer: !0,
endQuery: !0
}),
handleOptimisticMutation: function(e) {
h.appendToQueue(e), l(e)
},
handleServerMutation: function(e, t) {
var n = v.getMutationType(e),
r = e[n].client_mutation_id,
o = p.getKeyForClientMutationID(r);
if (o) {
var i = p.shiftActionForKey(o);
i.getClientMutationID() !== r && k(0, "action sent to server must be first in the list for its key");
var a = p.getFirstActionForKey(o);
a && a.rerunServerAction()
}
var u = h.getActionByID(r);
u && (h.removeFromQueue(r), d(), h.iterateOverQueue(l)), s(e, t, w.SERVER_UPDATE)
},
handleMutationError: function(e) {
var t = v.getMutationType(e);
e = e[t];
var n = e.client_mutation_id,
r = p.getKeyForClientMutationID(n);
r && (p.shiftActionForKey(r), p.iterateOverActionsForKey(r, function(e) {
h.removeFromQueue(e.getClientMutationID())
}), p.clearActionsForKey(r), d(), h.iterateOverQueue(l));
var o = b.getConfigs(t);
if (o) {
for (var i = 0; i < o.length; i++) {
var s = o[i];
switch (s.handlerType) {
case w.RANGE_ADD_HANDLER:
a(e, s.config)
}
}
var u = N[n];
G[u] = n
}
},
handleMutationRetry: function(e) {
var t = G[e];
t || k(0, "Can only retry mutations that encountered errors");
var n = h.getActionByID(t);
n || k(0, "Cannot retry a mutation that has not previously been tried"), delete G[e], c(e), n.rerunServerAction()
},
handleUpdate: function(e, t, n, r) {
t = t.getQuery();
var o, a = m.logClientEvent("GraphQLStore.handleUpdate:" + t.getDescription()),
s = t.rootCall().getName();
if (s === K) o = i(n, r), o.storeNodeWithID(t, e.viewer, y.VIEWER_CLIENT_ID, new F(t));
else {
if (!(s === j || s === W || s in z)) throw new Error("Unsupported graphQL root call: use viewer, username, group, node, or nodes");
for (var l in e) {
o = i(n, r);
var u = e[l];
if (null === u) o.deleteNodeWithID(l);
else {
var c = l;
if (s !== W && s !== j) {
var d = t.rootCall().getArgs();
if (1 !== d.length) throw new Error("Custom root calls must request with only one argument");
var p = d[0].getCallValue();
if (V[s] = V[s] || {}, c = V[s][p], !c) {
if (c = s in Y ? P() : u.id, !c) throw new Error("Root calls that has an id field must request for id");
V[s][p] = c
}
}
var h = new F(s === W ? new _.Query("node", [c]) : t);
o.storeNodeWithID(t, u, c, h)
}
}
}
a.stop()
},
buildFragmentQueryForDataID: function(e, t) {
if (D.isClientID(t)) {
var n = B[t] || U[t];
return n.__path__.getQueryForFragment(e)
}
return new F(new _.Query("node", [t])).getQueryForFragment(e)
},
resolveQueryFromStore: function(e) {
var t = X.getIDsFromQuery(e),
n = {};
for (var r in t) {
var o = X.getDeepNodeByID(t[r], e.getQuery());
void 0 !== o && (n[r] = o)
}
return n
},
canResolveQueriesFromStore: function(e) {
for (var t in e)
if (e.hasOwnProperty(t) && e[t] && X.getDiffQueries(e[t]).length) return !1;
return !0
},
getDiffQueries: function(e) {
var t = new f(B, q);
return t.getDiffQueries(e, X.getIDsFromQuery(e))
},
resolvePointersForQuery: function(e) {
return Q(X.getIDsFromQuery(e), D.createPointerWithID)
},
injectCachingConfig: function(e) {
$ = e
},
isValidNodeID: function(e) {
return B.hasOwnProperty(e) || U.hasOwnProperty(e)
},
isQueuedNodeID: function(e) {
return U.hasOwnProperty(e)
},
getDeepNodeFromData: function(e, t, n, r) {
var o = new I(B, U, n);
return o.retrieveData(e, t, void 0, r)
},
getDeepNodeByID: function(e, t, n) {
return X.getDeepNodeFromData(t, D.createPointerWithID(e), n)
},
__debug: {
nodeData: B,
queuedData: U
},
getTrackedQueryByID: function(e) {
return Array.isArray(e) || (e = [e]), q.getQueryForIDs(e)
},
getIDsFromQuery: function(e) {
e = e.getQuery();
var t = {},
n = e.rootCall(),
r = n.getName();
if (r === K) t.viewer = y.VIEWER_CLIENT_ID;
else if (r === j || r === W || r in z)
for (var o = n.getArgs(), i = 0; i < o.length; i++)
if (!(o[i] instanceof _.BatchCallVariable)) {
var a = o[i].getCallValue();
V[r] && V[r][a] && (a = V[r][a]), t[o[i].getCallValue()] = a
}
return M(t) && k(0, "Unsupported graphQL root call: use viewer, username, group, node, or nodes"), t
}
};
g.instrumentMethods(X, {
handleUpdate: "GraphQLStore.handleUpdate",
getDiffQueries: "GraphQLStore.getDiffQueries",
resolveQueryFromStore: "GraphQLStore.resolveQueryFromStore"
}), O(X, X.Events), o.exports = X
}), __d("ActionCollisionMap", [], function(e, t, n, r, o) {
"use strict";
var i = t("invariant"),
a = {},
s = {},
l = {
hasPendingActionForKey: function(e) {
return !(!a[e] || !a[e].length)
},
appendActionForKey: function(e, t) {
var n = t.getClientMutationID();
l.existsInMap(n) && i(0, "Cannot append an action that's already in the map"), s[n] = e;
var r = a[e] || [];
r.push(t), a[e] = r
},
getFirstActionForKey: function(e) {
var t = a[e];
return t && t.length ? t[0] : null
},
shiftActionForKey: function(e) {
var t = a[e];
t && t.length || i(0, "Cannot shift unless there are actions");
var n = t.shift();
return 0 === t.length && delete a[e], delete s[n.getClientMutationID()], n
},
iterateOverActionsForKey: function(e, t) {
var n = a[e] || [];
n.forEach(t)
},
clearActionsForKey: function(e) {
for (var t = a[e] || [], n = 0; n < t.length; n++) delete s[t[n].getClientMutationID()];
delete a[e]
},
getKeyForClientMutationID: function(e) {
return s[e] || null
},
existsInMap: function(e) {
return !!l.getKeyForClientMutationID(e)
}
};
o.exports = l
}), __d("ActionQueue", [], function(e, t, n, r, o) {
"use strict";
var i = t("invariant"),
a = [],
s = {},
l = {
appendToQueue: function(e) {
var t = e.getClientMutationID();
t in s && i(0, "Cannot add an action to the queue that was already added"), a.push(t), s[t] = e
},
removeFromQueue: function(e) {
e in s || i(0, "Cannot remove something not in the queue from the queue"), delete s[e];
var t = a.indexOf(e);
t >= 0 || i(0, "clientMutationID most occur somewhere in the queue"), a.splice(t, 1)
},
iterateOverQueue: function(e) {
for (var t = 0; t < a.length; t++) {
var n = s[a[t]];
e(n)
}
},
getQueueLength: function() {
return a.length
},
getActionByID: function(e) {
return s[e]
}
};
o.exports = l
}), __d("DiffQueryBuilder", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
this.$DiffQueryBuilder_store = e, this.$DiffQueryBuilder_queryTracker = t, this.$DiffQueryBuilder_rootFragments = null
}
var a = t("GraphQL_EXPERIMENTAL"),
s = t("GraphQLConstants"),
l = t("GraphQLRangeTracker"),
u = t("GraphQLStoreDataHandler"),
c = t("GraphQLStoreRangeUtils"),
d = [],
p = new a.QueryFragment("DiffQueryFragment", "UnknownConnection", [new a.Field("edges", [new a.Field("node", [new a.Field("id")])])]);
i.prototype.getDiffQueries = function(e, t) {
var n = e.getQuery(),
r = n.rootCall().getName(),
o = [];
for (var i in t) {
var s = t[i],
l = this.$DiffQueryBuilder_diffNode(n, s),
u = l.nodes;
null === u && (u = [n]);
for (var c = 0; c < u.length; c++) {
var d = u[c].getFragments(),
p = u[c].getOwnFields(),
h = null;
h = 1 === d.length && 0 === p.length ? d[0].getName() : u[c].getQueryName(), h = "diff_" + h, o.push(new a.QueryWithValues(new a.Query(r, "viewer" === r ? null : [i], p, d, null, h)))
}
}
if (this.$DiffQueryBuilder_rootFragments)
for (var f in this.$DiffQueryBuilder_rootFragments) o.push(new a.QueryWithValues(new a.Query("node", [f], null, this.$DiffQueryBuilder_rootFragments[f])));
return this.$DiffQueryBuilder_rootFragments = null, o
}, i.prototype.$DiffQueryBuilder_diffNode = function(e, t, n) {
var r = null,
o = null,
i = !1,
c = null,
h = null,
f = null,
m = null,
g = null,
_ = e.getOwnFields(),
y = e.getFragments(),
v = this.$DiffQueryBuilder_store[t];
if (!v) return {
nodes: null === v ? [] : [e],
trackedField: f
};
for (var S = this.$DiffQueryBuilder_getRangeInfo(e, v), w = S.diffCalls, b = S.filterCalls, R = S.requestedEdges, C = 0; C < _.length; C++) {
var E = null,
D = null,
x = _[C],
F = x.getFieldName();
if ("node" === F && n) E = d;
else if ("edges" === F) {
if (R) {
for (var I, T, P = x.getOwnField("node"), L = R.length > l.THRESHOLD, k = 0; k < R.length; k++) {
var M = R[k],
A = M.__dataID__;
if (!l.hasEdge(x, A)) {
var Q = M.node.__dataID__;
if (!u.isClientID(Q)) {
if (e.isFindable()) {
var O = this.$DiffQueryBuilder_diffNode(x, A, !0),
N = O.nodes,
G = O.trackedField;
N || (N = [x]), N.length && (r = r || [], r.push(e.shallowClone(N, [p], b.concat(new a.Call("find", Q))))), G && (T = T || [], T.push(new a.QueryFragment("DiffQueryBuilderTrackedQuery", "UnknownConnectionEdge", G.getOwnFields(), G.getFragments())))
}
var $ = this.$DiffQueryBuilder_getFragmentForNewQuery(P, Q);
$ && (I = I || [], I.push($)), L && l.trackEdge(x, A, t)
}
}
}(I || T) && (D = x.shallowClone(I ? [P.shallowClone(null, I)] : null, T))
}
E = w ? null : d
} else if ("page_info" === F) E = w ? null : d;
else {
var B = this.$DiffQueryBuilder_diffField(x, v);
E = B.fields, D = B.trackedField
}
"id" === F && (i = !!E, o = x, E = null), (c || E) && (c = c || _.slice(0, C), null === E ? c.push(x) : E.length > 0 && c.push.apply(c, E)), D && (m = m || [], m.push(D))
}
for (var U = 0; U < y.length; U++) {
var V = y[U],
q = this.$DiffQueryBuilder_diffNode(V, t),
H = q.nodes,
j = q.trackedField;
(h || H) && (h = h || y.slice(0, U), null === H ? h.push(V) : H.length > 0 && h.push.apply(h, H)), j && (g = g || [], g.push(j))
}
return c = c || _, h = h || y, 0 === h.length && (0 === c.length || i && 1 === c.length && c[0] === o) ? r = r || [] : c === _ && h === y ? w ? (r = r || [], r.push(e.shallowClone(_, y, w))) : r && r.push(e) : (r = r || [], r.push(w ? e.shallowClone(c, h, w) : e.shallowClone(c, h))), (m || g) && (f = e.shallowClone(m, g), e instanceof a.QueryFragment || t !== s.VIEWER_CLIENT_ID && u.isClientID(t) || this.$DiffQueryBuilder_queryTracker.addQueryForID(t, f)), {
nodes: r,
trackedField: f
}
}, i.prototype.$DiffQueryBuilder_diffField = function(e, t) {
var n, r, o = c.getStorageKeyForField(e, {}),
i = t[o];
if (void 0 === i) n = null;
else if (e.isPlural())
if (null === i || 0 === i.length) n = d;
else if (e.hasFields())
if ("node" === e.getInferredRootCallName()) n = d, r = this.$DiffQueryBuilder_getFragmentsForNewQuery(e, i);
else {
var a = i[0].__dataID__;
if (a && a in this.$DiffQueryBuilder_store) {
var s = this.$DiffQueryBuilder_diffNode(e, a);
n = s.nodes, r = s.trackedField
}
} else n = d;
else if (null !== i && e.hasFields()) {
var l = this.$DiffQueryBuilder_diffNode(e, i.__dataID__);
n = l.nodes, r = l.trackedField
} else n = d;
return {
fields: n,
trackedField: r
}
}, i.prototype.$DiffQueryBuilder_getFragmentsForNewQuery = function(e, t) {
for (var n = null, r = 0; r < t.length; r++) {
var o = t[r].__dataID__,
i = this.$DiffQueryBuilder_getFragmentForNewQuery(e, o);
i && (n = n || [], n.push(i))
}
return n ? e.shallowClone(null, n) : null
}, i.prototype.$DiffQueryBuilder_getFragmentForNewQuery = function(e, t) {
var n = this.$DiffQueryBuilder_diffNode(e, t),
r = n.nodes,
o = n.trackedField;
null === r && (r = [e]);
for (var i, s = 0; s < r.length; s++) i = new a.QueryFragment("DiffQueryBuilder", "Node", r[s].getOwnFields(), r[s].getFragments()), this.$DiffQueryBuilder_rootFragments = this.$DiffQueryBuilder_rootFragments || {}, this.$DiffQueryBuilder_rootFragments[t] = this.$DiffQueryBuilder_rootFragments[t] || [], this.$DiffQueryBuilder_rootFragments[t].push(i);
if (o || i) {
var l;
return l = o && i ? o.getFragments().concat(i) : o ? o.getFragments() : [i], new a.QueryFragment("DiffQueryBuilderTrackedQuery", "Node", o ? o.getOwnFields() : null, l)
}
return null
}, i.prototype.$DiffQueryBuilder_getRangeInfo = function(e, t) {
var n, r, o;
if (c.isRangeNode(e)) {
var i = e.getCalls();
if (t.__range__) {
var a = t.__range__.retrieveRangeInfoForQuery(i, {});
o = t.__filterCalls__ || [], a.diffCalls && a.diffCalls.length && (n = o.concat(a.diffCalls)), r = a.requestedEdges
} else i && i.length && (n = i)
}
return {
diffCalls: n,
filterCalls: o,
requestedEdges: r
}
}, o.exports = i
}), __d("GraphQL_EXPERIMENTAL", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
if (this.$GraphQLNode_fields = e || k, this.$GraphQLNode_fieldMap = L, this.$GraphQLNode_fragments = t && t.length > 0 ? t.filter(v) : k, this.$GraphQLNode_hasNestedVariables = !1, this.$GraphQLNode_numNestedFragmentsWithVariables = 0, e && e.length > 0) {
this.$GraphQLNode_fieldMap = {};
for (var n = 0; n < e.length; n++) {
var r = e[n],
o = r.getGeneratedAlias();
void 0 !== this.$GraphQLNode_fieldMap[o] && T(0, 'Field "%s" is already in fields with the same calls.', r.getFieldName()), this.$GraphQLNode_fieldMap[o] = r, (r.hasVariables() || r.$GraphQLNode_hasNestedVariables) && (this.$GraphQLNode_hasNestedVariables = !0), this.$GraphQLNode_numNestedFragmentsWithVariables += r.$GraphQLNode_numNestedFragmentsWithVariables
}
}
for (var i = 0; i < this.$GraphQLNode_fragments.length; i++)(this.$GraphQLNode_fragments[i].$GraphQLNode_hasNestedVariables || this.$GraphQLNode_fragments[i].$GraphQLNode_numNestedFragmentsWithVariables) && (this.$GraphQLNode_numNestedFragmentsWithVariables += 1)
}
function a(e, t, n) {
this.$GraphQLCallvNode_name = e, this.$GraphQLCallvNode_metadata = n || L, this.isVarArgs() && t && 1 === t.length && Array.isArray(t[0]) && (t = t[0]), this.$GraphQLCallvNode_args = t ? t.map(S) : k
}
function s(e) {
for (var t = [], n = 1, r = arguments.length; r > n; n++) t.push(arguments[n]);
a.call(this, e, t)
}
function l(e) {
this.$GraphQLCallValue_callValue = e + ""
}
function u(e, t) {
this.$GraphQLBatchCallVariable_sourceQueryID = e, this.$GraphQLBatchCallVariable_jsonPath = t
}
function c(e) {
this.$GraphQLCallVariable_callVariableName = e
}
function d(e, t, n, r, o, a, s) {
i.call(this, t, n), A.test(e) || T(0, '"%s" is not a valid field name', e), Q.test(o) || T(0, '"%s" is not a valid alias name', o), this.$GraphQLFieldNode_fieldName = e, this.$GraphQLFieldNode_calls = r || k, this.$GraphQLFieldNode_alias = o || null, this.$GraphQLFieldNode_condition = a || null, this.$GraphQLFieldNode_metadata = s || L, this.$GraphQLFieldNode_generatedAlias = null, this.$GraphQLFieldNode_generatedFieldName = null, this.$GraphQLFieldNode_hasVariables = this.$GraphQLFieldNode_calls.some(R)
}
function p(e, t, n, r, o) {
i.call(this, n, r), this.$GraphQLQueryFragment_name = e, this.$GraphQLQueryFragment_type = t, this.$GraphQLQueryFragment_metadata = o || L, this.$GraphQLQueryFragment_isDeferred = null, this.$GraphQLQueryFragment_deferredCopy = null
}
function h(e, t, n, r, o, s) {
i.call(this, n, r), this.$GraphQLQuery_rootCall = e, this.$GraphQLQuery_metadata = o || L;
var l = this.$GraphQLQuery_metadata.varargs ? {
varargs: this.$GraphQLQuery_metadata.varargs
} : null;
this.$GraphQLQuery_rootNode = new a(e, t, l), this.$GraphQLQuery_queryName = s, this.$GraphQLQuery_allFragmentNames = null, this.$GraphQLQuery_deferredFragmentNames = null, this.$GraphQLQuery_description = null
}
function f(e, t) {
this.$GraphQLQueryWithValues_query = e, this.$GraphQLQueryWithValues_values = t
}
function m(e, t, n, r, o) {
i.call(this, r, o), this.$GraphQLMutation_name = e, this.$GraphQLMutation_responseType = t, this.$GraphQLMutation_mutationCall = n
}
function g(e) {
var t = "";
return e.getCondition() && (t += e.getCondition() + "?"), t += e.getFieldName(), 0 !== e.getCalls().length && (t += "." + e.getCalls().join("."), t += " as " + e.getGeneratedAlias()), t
}
function _(e) {
var t = y(e);
if (0 === t.length) return "";
for (var n = [], r = 0; r < t.length; r++) {
var o = t[r];
n.push(Array.isArray(o) ? g(o[0]) + _(o) : o.toString())
}
return "{" + n.join(",") + "}"
}
function y(e) {
for (var t = null, n = 0; e.length > 0;) {
n++ < 1e4 || T(0, "Endless loop!");
for (var r = e.shift(), o = r.getFragments(), i = 0; i < o.length; i++) e.push(o[i]);
for (var a = r.getOwnFields(), s = 0; s < a.length; s++) {
var l = a[s],
u = l.getGeneratedAlias();
t = t || {}, t.hasOwnProperty(u) ? (Array.isArray(t[u]) || (t[u] = [t[u]]), t[u].push(l)) : t[u] = l
}
}
if (!t) return k;
for (var c = [], d = Object.keys(t).sort(), p = 0; p < d.length; p++) c.push(t[d[p]]);
return c
}
function v(e) {
return !!e
}
function S(e) {
var t = typeof e;
if (null === e ? e = new c("__null__") : ("string" === t || "number" === t || "boolean" === t) && (e = new l(e + "")), !(e instanceof l || e instanceof c || e instanceof u)) throw new TypeError("Unable to cast argument to GraphQL.Callv, got " + Object.prototype.toString.call(e));
return e
}
function w(e) {
for (var t = -1, n = e.length - 1; n >= 0; n--)
if (null !== e[n]) {
t = n;
break
}
return e.length = t + 1, e
}
function b(e) {
var t = e[0];
switch (t) {
case N.CALL_VALUE:
return l.fromJSON(e);
case N.CALL_VARIABLE:
return c.fromJSON(e);
case N.BATCH_VARIABLE:
return u.fromJSON(e);
default:
throw new Error("Unknown type")
}
}
function R(e) {
return e.getArgs().some(x)
}
function C(e) {
return e instanceof u
}
function E(e) {
return e.getRefParam()
}
function D(e) {
return e.getSourceQueryID()
}
function x(e) {
return e instanceof c
}
function F(e) {
return e.replace(/[)(}{><,.\\]/g, "\\$&")
}
var I = t("generateRQLFieldAlias"),
T = t("invariant"),
P = t("isEmpty"),
L = {},
k = [],
M = "skip",
A = /^[a-z_][a-z0-9_:\-]*$/,
Q = /^[\w-]+$/,
O = "ref_";
__DEV__ && (Object.freeze(L), Object.freeze(k));
var N = {
QUERY: 1,
FRAGMENT: 2,
FIELD: 3,
CALL: 4,
CALL_VALUE: 5,
CALL_VARIABLE: 6,
BATCH_VARIABLE: 7,
MUTATION: 8,
QUERY_WITH_VALUES: 9
},
G = 0;
i.prototype.getOwnFields = function() {
return this.$GraphQLNode_fields
}, i.prototype.getUnaliasedFields = function(e) {
return this.$GraphQLNode_collectFields(this.getOwnUnaliasedFields, e)
}, i.prototype.$GraphQLNode_collectFields = function(e, t, n) {
n || (n = []);
for (var r = e.call(this, t), o = 0; o < r.length; o++) n.push(r[o]);
for (var i = this.getFragments(), a = 0; a < i.length; a++) i[a].$GraphQLNode_collectFields(e, t, n);
return n
}, i.prototype.getOwnField = function(e) {
return this.$GraphQLNode_fieldMap[e] || null
}, i.prototype.hasFields = function() {
return this.$GraphQLNode_someFields(this.hasOwnFields, this.hasFields)
}, i.prototype.hasOwnFields = function() {
for (var e in this.$GraphQLNode_fieldMap) return !0;
return !1
}, i.prototype.hasOwnField = function(e) {
return this.$GraphQLNode_fieldMap.hasOwnProperty(e)
}, i.prototype.hasUnaliasedField = function(e) {
return this.$GraphQLNode_someFields(this.hasOwnUnaliasedField, this.hasUnaliasedField, e)
}, i.prototype.getOwnUnaliasedFields = function(e) {
for (var t = this.$GraphQLNode_fields, n = [], r = 0; r < t.length; r++) t[r].getFieldName() === e && n.push(t[r]);
return n
}, i.prototype.hasOwnUnaliasedField = function(e) {
return this.getOwnUnaliasedFields(e).length > 0
}, i.prototype.getFragments = function() {
return this.$GraphQLNode_fragments
}, i.prototype.hasNestedVariables = function() {
return this.$GraphQLNode_hasNestedVariables
}, i.prototype.getNumNestedFragmentsWithVariables = function() {
return this.$GraphQLNode_numNestedFragmentsWithVariables
}, i.prototype.equals = function(e) {
if (!e || this.$GraphQLNode_fields.length !== e.$GraphQLNode_fields.length || this.$GraphQLNode_fragments.length !== e.$GraphQLNode_fragments.length) return !1;
if (this !== e) {
for (var t = 0; t < this.$GraphQLNode_fields.length; t++)
if (!this.$GraphQLNode_fields[t].equals(e.$GraphQLNode_fields[t])) return !1;
for (var n = 0; n < this.$GraphQLNode_fragments.length; n++)
if (!this.$GraphQLNode_fragments[n].equals(e.$GraphQLNode_fragments[n])) return !1
}
return !0
}, i.prototype.$GraphQLNode_someFields = function(e, t, n) {
if (e.call(this, n)) return !0;
for (var r = 0; r < this.$GraphQLNode_fragments.length; r++)
if (t.call(this.$GraphQLNode_fragments[r], n)) return !0;
return !1
}, a.prototype.getName = function() {
return this.$GraphQLCallvNode_name
}, a.prototype.getArgs = function() {
return this.$GraphQLCallvNode_args
}, a.prototype.hasRefParam = function() {
return !P(this.getRefParams())
}, a.prototype.getRefParams = function() {
if (!this.$GraphQLCallvNode_refParams) {
var e = this.$GraphQLCallvNode_args.filter(C).map(E);
e.length <= 1 || T(0, "GraphQLQuery may have at most one BatchCallVariable root argument"), this.$GraphQLCallvNode_refParams = e.length ? e[0] : null
}
return this.$GraphQLCallvNode_refParams
}, a.prototype.getRefTarget = function() {
var e = this.getRefParams();
if (e) {
var t = Object.keys(e);
if (t.length) return e[t[0]].target
}
return null
}, a.prototype.getSourceQueryID = function() {
var e = this.$GraphQLCallvNode_args.filter(C).map(D);
return e.length < 2 || T(0, "GraphQLCallvNode.getSourceQueryID a query can only have one source query"), e.length ? e[0] : null
}, a.prototype.isVarArgs = function() {
return !!this.$GraphQLCallvNode_metadata.varargs
}, a.prototype.toString = function(e) {
var t = this.$GraphQLCallvNode_args.map(function(t) {
return t.toString(e)
});
return this.$GraphQLCallvNode_name + "(" + t.join(",") + ")"
}, a.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = t[2],
i = t[3];
return n !== N.CALL && T(0, "Expected call descriptor"), new a(r, o ? o.map(b) : null, i)
}, a.prototype.toJSON = function() {
return w([N.CALL, this.getName(), this.$GraphQLCallvNode_args.length ? this.$GraphQLCallvNode_args : null, this.$GraphQLCallvNode_metadata === L ? null : this.$GraphQLCallvNode_metadata])
}, a.prototype.equals = function(e) {
var t = this.getArgs(),
n = e.getArgs();
if (this.getName() !== e.getName() || t.length !== n.length) return !1;
for (var r = 0; r < t.length; r++)
if (!t[r].equals(n[r])) return !1;
return !0
};
for (var $ in a) a.hasOwnProperty($) && (s[$] = a[$]);
var B = null === a ? null : a.prototype;
s.prototype = Object.create(B), s.prototype.constructor = s, s.__superConstructor__ = a, l.prototype.getCallValue = function() {
return this.$GraphQLCallValue_callValue
}, l.prototype.equals = function(e) {
return e instanceof l && e.getCallValue() === this.getCallValue()
}, l.prototype.toString = function() {
return F(this.$GraphQLCallValue_callValue)
}, l.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1];
return n !== N.CALL_VALUE && T(0, "Expected value descriptor"), new l(r)
}, l.prototype.toJSON = function() {
return [N.CALL_VALUE, this.$GraphQLCallValue_callValue]
}, u.prototype.getSourceQueryID = function() {
return this.$GraphQLBatchCallVariable_sourceQueryID
}, u.prototype.getRefParam = function() {
if (!this.$GraphQLBatchCallVariable_refParam) {
var e = {};
e[O + this.$GraphQLBatchCallVariable_sourceQueryID] = {
query: this.$GraphQLBatchCallVariable_sourceQueryID,
target: this.$GraphQLBatchCallVariable_jsonPath,
fallback: M
}, this.$GraphQLBatchCallVariable_refParam = e
}
return this.$GraphQLBatchCallVariable_refParam
}, u.prototype.getJSONPath = function() {
return this.$GraphQLBatchCallVariable_jsonPath
}, u.prototype.equals = function(e) {
return e instanceof u && e.getSourceQueryID() == this.getSourceQueryID() && e.getJSONPath() == this.getJSONPath()
}, u.prototype.toString = function() {
return "<" + O + this.$GraphQLBatchCallVariable_sourceQueryID + ">"
}, u.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = t[2];
return n !== N.BATCH_VARIABLE && T(0, "Expected batch variable descriptor"), new u(r, o)
}, u.prototype.toJSON = function() {
return [N.BATCH_VARIABLE, this.$GraphQLBatchCallVariable_sourceQueryID, this.$GraphQLBatchCallVariable_jsonPath]
}, c.prototype.getCallVariableName = function() {
return this.$GraphQLCallVariable_callVariableName
}, c.prototype.equals = function(e) {
return e instanceof c && e.getCallVariableName() == this.getCallVariableName()
}, c.prototype.toString = function(e) {
var t = this.$GraphQLCallVariable_callVariableName;
return e && t in e ? F(e[t]) : "<" + t + ">"
}, c.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1];
return n !== N.CALL_VARIABLE && T(0, "Expected variable descriptor"), new c(r)
}, c.prototype.toJSON = function() {
return [N.CALL_VARIABLE, this.$GraphQLCallVariable_callVariableName]
};
for (var U in i) i.hasOwnProperty(U) && (d[U] = i[U]);
var V = null === i ? null : i.prototype;
d.prototype = Object.create(V), d.prototype.constructor = d, d.__superConstructor__ = i, d.prototype.getFieldName = function() {
return this.$GraphQLFieldNode_fieldName
}, d.prototype.getAlias = function() {
return this.$GraphQLFieldNode_alias
}, d.prototype.getNameForClient = function() {
return this.$GraphQLFieldNode_alias || this.$GraphQLFieldNode_fieldName
}, d.prototype.getCalls = function() {
return this.$GraphQLFieldNode_calls
}, d.prototype.getCall = function(e) {
for (var t = 0; t < this.$GraphQLFieldNode_calls.length; t++)
if (this.$GraphQLFieldNode_calls[t].getName() === e) return this.$GraphQLFieldNode_calls[t]
}, d.prototype.getCondition = function() {
return this.$GraphQLFieldNode_condition
}, d.prototype.getInferredRootCallName = function() {
return this.$GraphQLFieldNode_metadata.rootCall || null
}, d.prototype.getInferredPrimaryKey = function() {
return this.$GraphQLFieldNode_metadata.pk || null
}, d.prototype.getEdgesID = function() {
return this.$GraphQLFieldNode_metadata.edgesID
}, d.prototype.isPlural = function() {
return !!this.$GraphQLFieldNode_metadata.plural
}, d.prototype.isConnection = function() {
return !!this.$GraphQLFieldNode_metadata.connection
}, d.prototype.isFindable = function() {
return this.isConnection() && !this.$GraphQLFieldNode_metadata.nonFindable
}, d.prototype.isLimitable = function() {
return this.isConnection() && !this.$GraphQLFieldNode_metadata.nonLimitable
}, d.prototype.isGenerated = function() {
return !!this.$GraphQLFieldNode_metadata.generated
}, d.prototype.hasVariables = function() {
return this.$GraphQLFieldNode_hasVariables
}, d.prototype.shallowClone = function(e, t, n) {
return new d(this.$GraphQLFieldNode_fieldName, e, t, n || this.getCalls(), this.$GraphQLFieldNode_alias, this.$GraphQLFieldNode_condition, this.$GraphQLFieldNode_metadata)
}, d.prototype.getGeneratedAlias = function() {
return this.$GraphQLFieldNode_generatedAlias || (this.$GraphQLFieldNode_generatedAlias = I(this.getGeneratedFieldName())), this.$GraphQLFieldNode_generatedAlias
}, d.prototype.getGeneratedFieldName = function() {
if (!this.$GraphQLFieldNode_generatedFieldName) {
var e = this.getFieldName();
0 !== this.$GraphQLFieldNode_calls.length && (e += "." + this.$GraphQLFieldNode_calls.join(".")), this.$GraphQLFieldNode_generatedFieldName = e
}
return this.$GraphQLFieldNode_generatedFieldName
}, d.prototype.equals = function(e) {
if (!e || this.$GraphQLFieldNode_fieldName !== e.$GraphQLFieldNode_fieldName || this.$GraphQLFieldNode_alias !== e.$GraphQLFieldNode_alias) return !1;
var t = e.getCalls();
if (this.$GraphQLFieldNode_calls.length !== t.length) return !1;
for (var n = 0; n < this.$GraphQLFieldNode_calls.length; n++)
if (!this.$GraphQLFieldNode_calls[n].equals(t[n])) return !1;
return V.equals.call(this, e)
}, d.prototype.toString = function() {
return g(this) + _([this])
}, d.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = t[2],
i = t[3],
s = t[4],
l = t[5],
u = t[6],
c = t[7];
return n !== N.FIELD && T(0, "Expected field descriptor"), new d(r, o ? o.map(d.fromJSON) : null, i ? i.map(p.fromJSON) : null, s ? s.map(a.fromJSON) : null, l, u, c)
}, d.prototype.toJSON = function() {
var e = this.getFragments();
return w([N.FIELD, this.getFieldName(), this.hasOwnFields() ? this.getOwnFields() : null, e.length ? e : null, this.$GraphQLFieldNode_calls.length ? this.$GraphQLFieldNode_calls : null, this.getAlias(), this.$GraphQLFieldNode_condition, this.$GraphQLFieldNode_metadata === L ? null : this.$GraphQLFieldNode_metadata])
};
for (U in i) i.hasOwnProperty(U) && (p[U] = i[U]);
p.prototype = Object.create(V), p.prototype.constructor = p, p.__superConstructor__ = i, p.prototype.getName = function() {
return this.$GraphQLQueryFragment_name
}, p.prototype.type = function() {
return this.$GraphQLQueryFragment_type
}, p.prototype.getScope = function() {
return this.$GraphQLQueryFragment_metadata.scope || null
}, p.prototype.isDeferred = function() {
return !!this.$GraphQLQueryFragment_isDeferred
}, p.prototype.getDeferredFragmentNames = function() {
function e(n) {
n.isDeferred() && (t[n.getName()] = n.getName());
for (var r = n.getFragments(), o = 0; o < r.length; o++) e(r[o])
}
var t = {};
return e(this), t
}, p.prototype.isPlural = function() {
return !!this.$GraphQLQueryFragment_metadata.isPlural
}, p.prototype.defer = function() {
return this.$GraphQLQueryFragment_deferredCopy || (this.$GraphQLQueryFragment_deferredCopy = this.shallowClone(this.getOwnFields(), this.getFragments()), this.$GraphQLQueryFragment_deferredCopy.$GraphQLQueryFragment_isDeferred = !0), this.$GraphQLQueryFragment_deferredCopy
}, p.prototype.shallowClone = function(e, t) {
var n = new p(this.getName(), this.type(), e, t, this.$GraphQLQueryFragment_metadata);
return this.isDeferred() && (n.$GraphQLQueryFragment_isDeferred = !0), n
}, p.prototype.toString = function() {
return "QueryFragment " + this.getName() + " : " + this.type() + " " + _([this])
}, p.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = t[2],
i = t[3],
a = t[4],
s = t[5];
n !== N.FRAGMENT && T(0, "Expected fragment descriptor");
var l = new p(r, o, a ? a.map(d.fromJSON) : null, s ? s.map(p.fromJSON) : null);
return i && (l.$GraphQLQueryFragment_isDeferred = !0), l
}, p.prototype.toJSON = function() {
var e = this.getFragments();
return w([N.FRAGMENT, this.getName(), this.type(), this.isDeferred() ? 1 : 0, this.hasOwnFields() ? this.getOwnFields() : null, e.length ? e : null])
};
for (U in i) i.hasOwnProperty(U) && (h[U] = i[U]);
h.prototype = Object.create(V), h.prototype.constructor = h, h.__superConstructor__ = i, h.prototype.getID = function() {
return this.$GraphQLQuery_id || (this.$GraphQLQuery_id = "q" + G++), this.$GraphQLQuery_id
}, h.prototype.getQueryName = function() {
return this.$GraphQLQuery_queryName
}, h.prototype.getDescription = function() {
if (!this.$GraphQLQuery_description) {
var e = this.getID(),
t = this.getAllFragmentNames(!0);
t && (e = e + ":" + Object.keys(t).join(":")), this.$GraphQLQuery_description = e
}
return this.$GraphQLQuery_description
}, h.prototype.rootCall = function() {
return this.$GraphQLQuery_rootNode
}, h.prototype.getAllFragmentNames = function() {
return this.$GraphQLQuery_allFragmentNames || (this.$GraphQLQuery_allFragmentNames = this.$GraphQLQuery_getFragmentNames(!0)), this.$GraphQLQuery_allFragmentNames
}, h.prototype.getDeferredFragmentNames = function() {
return this.$GraphQLQuery_deferredFragmentNames || (this.$GraphQLQuery_deferredFragmentNames = this.$GraphQLQuery_getFragmentNames(!1)), this.$GraphQLQuery_deferredFragmentNames
}, h.prototype.isDeferred = function() {
return !!this.$GraphQLQuery_metadata.isDeferred
}, h.prototype.$GraphQLQuery_getFragmentNames = function(e) {
function t(r) {
var o;
r instanceof p && (e || r.isDeferred()) && (n = n || {}, o = r.getName(), n[o] = o);
for (var i = r.getOwnFields(), a = 0; a < i.length; a++) t(i[a]);
for (var s = r.getFragments(), l = 0; l < s.length; l++) t(s[l])
}
var n = null;
return t(this), n
}, h.prototype.shallowClone = function(e, t, n, r) {
var o = this.rootCall();
return new h(o.getName(), o.getArgs(), e, t, n ? Object.assign({}, this.$GraphQLQuery_metadata, n) : this.$GraphQLQuery_metadata, r || this.$GraphQLQuery_queryName)
}, h.prototype.shallowCloneWithSameID = function(e, t) {
var n = this.shallowClone(e, t);
return n.$GraphQLQuery_id = this.getID(), n
}, h.prototype.toString = function() {
return this.$GraphQLQuery_queryName ? "Query " + this.$GraphQLQuery_queryName + " {" + this.toStringWithoutName() + "}" : this.toStringWithoutName()
}, h.prototype.toStringWithoutName = function() {
return this.$GraphQLQuery_rootNode.toString() + _([this])
}, h.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = t[2],
i = t[3],
a = t[4],
s = t[5],
l = t[6];
return n !== N.QUERY && T(0, "Expected query descriptor"), new h(r, o ? o.map(b) : null, i ? i.map(d.fromJSON) : null, a ? a.map(p.fromJSON) : null, s, l)
}, h.prototype.toJSON = function() {
var e = this.rootCall(),
t = e.getArgs(),
n = this.getFragments();
return w([N.QUERY, e.getName(), t.length ? t : null, this.hasOwnFields() ? this.getOwnFields() : null, n.length ? n : null, this.$GraphQLQuery_metadata !== L ? this.$GraphQLQuery_metadata : null, this.$GraphQLQuery_queryName ? this.$GraphQLQuery_queryName : null])
}, f.prototype.getQuery = function() {
return this.$GraphQLQueryWithValues_query
}, f.prototype.getValues = function() {
return this.$GraphQLQueryWithValues_values
}, f.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = t[2];
return n !== N.QUERY_WITH_VALUES && T(0, "Expected query descriptor"), new f(h.fromJSON(r), o)
}, f.prototype.toJSON = function() {
return w([N.QUERY_WITH_VALUES, this.getQuery(), this.getValues()])
};
for (U in i) i.hasOwnProperty(U) && (m[U] = i[U]);
m.prototype = Object.create(V), m.prototype.constructor = m, m.__superConstructor__ = i, m.prototype.getName = function() {
return this.$GraphQLMutation_name
}, m.prototype.getResponseType = function() {
return this.$GraphQLMutation_responseType
}, m.prototype.getCall = function() {
return this.$GraphQLMutation_mutationCall
}, m.prototype.shallowClone = function(e, t) {
return new m(this.getName(), this.getResponseType(), this.getCall(), e, t)
}, m.prototype.toString = function() {
return "Mutation " + this.getName() + " : " + this.getResponseType() + " {" + this.getCall().toString() + _([this]) + "}"
}, m.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = t[2],
i = t[3],
s = t[4],
l = t[5];
return n !== N.MUTATION && T(0, "Expected mutation descriptor"), new m(r, o, a.fromJSON(i), s ? s.map(d.fromJSON) : null, l ? l.map(p.fromJSON) : null)
}, m.prototype.toJSON = function() {
var e = this.getFragments();
return w([N.MUTATION, this.getName(), this.getResponseType(), this.getCall(), this.hasOwnFields() ? this.getOwnFields() : null, e.length ? e : null])
};
var q = {
BatchCallVariable: u,
Call: s,
Callv: a,
CallValue: l,
CallVariable: c,
Field: d,
Mutation: m,
Query: h,
QueryFragment: p,
QueryWithValues: f
};
o.exports = q
}), __d("generateRQLFieldAlias", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = e.indexOf(".");
return -1 === t ? e : s + e.substr(0, t) + a(e).toString(36)
}
var a = t("crc32"),
s = "_";
o.exports = i
}), __d("isEmpty", [], function(e, t, n, r, o) {
function i(e) {
if (Array.isArray(e)) return 0 === e.length;
if ("object" == typeof e) {
for (var t in e) return !1;
return !0
}
return !e
}
o.exports = i
}), __d("GraphQLConstants", [], function(e, t, n, r, o) {
"use strict";
var i = {
CHECKIN_SEARCH_QUERY: "checkin_search_query",
CLIENT_SESSION: "client_session",
CLIENT_SESSION_ID: "client_session_id",
CURSOR: "cursor",
EDGES: "edges",
ENTITY_SEARCH: "entities_named",
GROUP: "group_address",
NODE: "node",
NODES: "nodes",
PAGE_INFO: "page_info",
STORY: "story",
USERNAME: "username",
VIEWER: "viewer",
CUSTOM_ROOTCALLS: {},
IDLESS_ROOTCALLS: {},
RANGE_CALLS: {
after: !0,
before: !0,
client_session: !0,
find: !0,
first: !0,
last: !0,
surrounds: !0,
wrapper: !0
},
VIEWER_CLIENT_ID: "client:viewer",
DUMMY_CURSOR_ID: "client:cursor"
};
i.CUSTOM_ROOTCALLS[i.ENTITY_SEARCH] = !0, i.CUSTOM_ROOTCALLS[i.GROUP] = !0, i.CUSTOM_ROOTCALLS[i.STORY] = !0, i.CUSTOM_ROOTCALLS[i.USERNAME] = !0, i.CUSTOM_ROOTCALLS[i.CHECKIN_SEARCH_QUERY] = !0, i.IDLESS_ROOTCALLS[i.CHECKIN_SEARCH_QUERY] = !0, o.exports = i
}), __d("GraphQLRangeTracker", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
return e + "." + t
}
function a(e, t) {
return e + "." + t
}
function s(e) {
l.warn("GraphQLRangeTracker can only track `edges` fields with `EdgesID` fieldName: %s inferredRootCallName: %s inferredPrimaryKey: %s isPlural: %s isConnection: %s isFindable: %s isLimitable: %s isGenerated: %s", e.getFieldName(), e.getInferredRootCallName(), e.getInferredPrimaryKey(), e.isPlural(), e.isConnection(), e.isFindable(), e.isLimitable(), e.isGenerated())
}
var l = t("DliteLog"),
u = {},
c = {},
d = {
THRESHOLD: 10,
trackEdge: function(e, t, n) {
var r = e.getEdgesID();
if (!r) return void s(e);
var o = a(r, t);
u[o] = e;
var l = i(r, n);
c[l] = !0
},
hasEdge: function(e, t) {
var n = e.getEdgesID();
if (!n) return s(e), !1;
var r = a(n, t);
return u.hasOwnProperty(r) && u[r].equals(e)
},
isFieldTracked: function(e, t) {
var n = e.getEdgesID();
return n ? c.hasOwnProperty(i(n, t)) : (s(e), !1)
}
};
o.exports = d
}), __d("DliteLog", [], function(e, t, n, r, o) {
"use strict";
var i = t("DliteLogLevel"),
a = t("ex"),
s = t("keyMirror"),
l = t("mixInEventEmitter"),
u = {
Events: s({
loggedError: null
}),
warn: function() {
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
var r = new Error(a.apply(null, e));
r.type = i.WARNING, __DEV__ && console.warn.apply(console, e), this.emitAndHold(u.Events.loggedError, r)
}
};
l(u, u.Events), o.exports = u
}), __d("DliteLogLevel", [], function(e, t, n, r, o) {
"use strict";
var i = {
MUSTFIX: "mustfix",
WARNING: "warn"
};
o.exports = i
}), __d("ex", [], function(e, t, n, r, o) {
var i = t("eprintf"),
a = function() {
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
return e = e.map(function(e) {
return String(e)
}), e[0].split("%s").length !== e.length ? a("ex args number mismatch: %s", JSON.stringify(e)) : __DEV__ ? i.apply(null, e) : a._prefix + JSON.stringify(e) + a._suffix
};
a._prefix = "<![EX[", a._suffix = "]]>", o.exports = a
}), __d("eprintf", [], function(e, t, n, r, o) {
var i = function(e) {
var t = Array.prototype.slice.call(arguments).map(function(e) {
return String(e)
}),
n = e.split("%s").length - 1;
if (n !== t.length - 1) return i("eprintf args number mismatch: %s", JSON.stringify(t));
var r = 1;
return e.replace(/%s/g, function() {
return String(t[r++])
})
};
o.exports = i
}), __d("mixInEventEmitter", [], function(e, t, n, r, o) {
function i(e, t) {
t || d(0, "Must supply set of valid event types"), this.__eventEmitter && d(0, "An active emitter is already mixed in");
var n = e.prototype || e,
r = e.constructor;
r && r !== Object && r !== Function && d(0, "Mix EventEmitter into a class, not an instance"), n.hasOwnProperty(h) ? c(n.__types, t) : n.__types = n.__types ? c({}, n.__types, t) : t, c(n, f)
}
var a = t("EventEmitter"),
s = t("EventEmitterWithHolding"),
l = t("EventHolder"),
u = t("EventValidator"),
c = t("copyProperties"),
d = t("invariant"),
p = t("keyOf"),
h = p({
__types: !0
}),
f = {
emit: function(e, t, n, r, o, i, a) {
return this.__getEventEmitter().emit(e, t, n, r, o, i, a)
},
emitAndHold: function(e, t, n, r, o, i, a) {
return this.__getEventEmitter().emitAndHold(e, t, n, r, o, i, a)
},
addListener: function(e, t, n) {
return this.__getEventEmitter().addListener(e, t, n)
},
once: function(e, t, n) {
return this.__getEventEmitter().once(e, t, n)
},
addRetroactiveListener: function(e, t, n) {
return this.__getEventEmitter().addRetroactiveListener(e, t, n)
},
addListenerMap: function(e, t) {
return this.__getEventEmitter().addListenerMap(e, t)
},
addRetroactiveListenerMap: function(e, t) {
return this.__getEventEmitter().addListenerMap(e, t)
},
removeAllListeners: function() {
this.__getEventEmitter().removeAllListeners()
},
removeCurrentListener: function() {
this.__getEventEmitter().removeCurrentListener()
},
releaseHeldEventType: function(e) {
this.__getEventEmitter().releaseHeldEventType(e)
},
__getEventEmitter: function() {
if (!this.__eventEmitter) {
var e = new a;
e = u.addValidation(e, this.__types);
var t = new l;
this.__eventEmitter = new s(e, t)
}
return this.__eventEmitter
}
};
o.exports = i
}), __d("EventEmitterWithHolding", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
this.$EventEmitterWithHolding_emitter = e, this.$EventEmitterWithHolding_eventHolder = t, this.$EventEmitterWithHolding_currentEventToken = null, this.$EventEmitterWithHolding_emittingHeldEvents = !1
}
i.prototype.addListener = function(e, t, n) {
return this.$EventEmitterWithHolding_emitter.addListener(e, t, n)
}, i.prototype.once = function(e, t, n) {
return this.$EventEmitterWithHolding_emitter.once(e, t, n)
}, i.prototype.addRetroactiveListener = function(e, t, n) {
var r = this.$EventEmitterWithHolding_emitter.addListener(e, t, n);
return this.$EventEmitterWithHolding_emittingHeldEvents = !0, this.$EventEmitterWithHolding_eventHolder.emitToListener(e, t, n), this.$EventEmitterWithHolding_emittingHeldEvents = !1, r
}, i.prototype.removeAllListeners = function(e) {
this.$EventEmitterWithHolding_emitter.removeAllListeners(e)
}, i.prototype.removeCurrentListener = function() {
this.$EventEmitterWithHolding_emitter.removeCurrentListener()
}, i.prototype.listeners = function(e) {
return this.$EventEmitterWithHolding_emitter.listeners(e)
}, i.prototype.emit = function(e, t, n, r, o, i, a) {
this.$EventEmitterWithHolding_emitter.emit(e, t, n, r, o, i, a)
}, i.prototype.emitAndHold = function(e, t, n, r, o, i, a) {
this.$EventEmitterWithHolding_currentEventToken = this.$EventEmitterWithHolding_eventHolder.holdEvent(e, t, n, r, o, i, a), this.$EventEmitterWithHolding_emitter.emit(e, t, n, r, o, i, a), this.$EventEmitterWithHolding_currentEventToken = null
}, i.prototype.releaseCurrentEvent = function() {
null !== this.$EventEmitterWithHolding_currentEventToken ? this.$EventEmitterWithHolding_eventHolder.releaseEvent(this.$EventEmitterWithHolding_currentEventToken) : this.$EventEmitterWithHolding_emittingHeldEvents && this.$EventEmitterWithHolding_eventHolder.releaseCurrentEvent()
}, i.prototype.releaseHeldEventType = function(e) {
this.$EventEmitterWithHolding_eventHolder.releaseEventType(e)
}, o.exports = i
}), __d("EventHolder", [], function(e, t, n, r, o) {
"use strict";
function i() {
this.$EventHolder_heldEvents = {}, this.$EventHolder_currentEventKey = null
}
var a = t("invariant");
i.prototype.holdEvent = function(e, t, n, r, o, i, a) {
this.$EventHolder_heldEvents[e] = this.$EventHolder_heldEvents[e] || [];
var s = this.$EventHolder_heldEvents[e],
l = {
eventType: e,
index: s.length
};
return s.push([t, n, r, o, i, a]), l
}, i.prototype.emitToListener = function(e, t, n) {
var r = this.$EventHolder_heldEvents[e];
if (r) {
var o = this.$EventHolder_currentEventKey;
r.forEach(function(r, o) {
r && (this.$EventHolder_currentEventKey = {
eventType: e,
index: o
}, t.apply(n, r))
}.bind(this)), this.$EventHolder_currentEventKey = o
}
}, i.prototype.releaseCurrentEvent = function() {
null === this.$EventHolder_currentEventKey && a(0, "Not in an emitting cycle; there is no current event"), this.releaseEvent(this.$EventHolder_currentEventKey)
}, i.prototype.releaseEvent = function(e) {
delete this.$EventHolder_heldEvents[e.eventType][e.index]
}, i.prototype.releaseEventType = function(e) {
this.$EventHolder_heldEvents[e] = []
}, o.exports = i
}), __d("EventValidator", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
if (-1 === t.indexOf(e)) throw new TypeError(a(e, t))
}
function a(e, t) {
var n = 'Unknown event type "' + e + '". ';
return __DEV__ && (n += u(e, t)), n += "Known event types: " + t.join(", ") + "."
}
var s = t("copyProperties"),
l = {
addValidation: function(e, t) {
var n = Object.keys(t),
r = Object.create(e);
return s(r, {
emit: function(t, r, o, a, s, l, u) {
return i(t, n), e.emit.call(this, t, r, o, a, s, l, u)
}
}), r
}
};
if (__DEV__) var u = function(e, t) {
var n = c(e, t);
return h(n, e) ? 'Did you mean "' + n.type + '"? ' : ""
},
c = function(e, t) {
var n = t.map(d.bind(this, e));
return n.sort(p)[0]
},
d = function(e, t) {
return {
type: t,
distance: f(e, t)
}
},
p = function(e, t) {
return e.distance < t.distance ? -1 : e.distance > t.distance ? 1 : 0
},
h = function(e, t) {
return e.distance / t.length < .334
},
f = function(e, t) {
var n, r, o = [];
for (n = 0; n <= e.length; n++) o[n] = [n];
for (r = 1; r <= t.length; r++) o[0][r] = r;
for (n = 1; n <= e.length; n++)
for (r = 1; r <= t.length; r++) {
var i = e.charAt(n - 1) === t.charAt(r - 1) ? 0 : 1;
o[n][r] = Math.min(o[n - 1][r] + 1, o[n][r - 1] + 1, o[n - 1][r - 1] + i), n > 1 && r > 1 && e.charAt(n - 1) == t.charAt(r - 2) && e.charAt(n - 2) == t.charAt(r - 1) && (o[n][r] = Math.min(o[n][r], o[n - 2][r - 2] + i))
}
return o[e.length][t.length]
};
o.exports = l
}), __d("copyProperties", [], function(e, t, n, r, o) {
function i(e, t, n, r, o, i, a) {
if (e = e || {}, __DEV__ && a) throw new Error("Too many arguments passed to copyProperties");
for (var s, l = [t, n, r, o, i], u = 0; l[u];) {
s = l[u++];
for (var c in s) e[c] = s[c];
s.hasOwnProperty && s.hasOwnProperty("toString") && "undefined" != typeof s.toString && e.toString !== s.toString && (e.toString = s.toString)
}
return e
}
o.exports = i
}), __d("GraphQLStoreDataHandler", [], function(e, t, n, r, o) {
"use strict";
var i = {},
a = {
__dataID__: !0,
__masked__: !0,
__range__: !0,
__status__: !0
},
s = {
getID: function(e) {
return e.__dataID__
},
createPointerWithID: function(e) {
return {
__dataID__: e
}
},
isClientID: function(e) {
return "client:" === e.substring(0, 7)
},
isClientOnlyID: function(e) {
return this.isClientID(e) && !i[e]
},
updateClientServerIDMap: function(e, t) {
i[e] = t
},
getServerIDForClientID: function(e) {
return i[e] || null
},
isMetadataKey: function(e) {
return a[e] || !1
}
};
o.exports = s
}), __d("GraphQLStoreRangeUtils", [], function(e, t, n, r, o) {
var i = t("GraphQL_EXPERIMENTAL"),
a = t("GraphQLConstants"),
s = {},
l = {
isRangeClientID: function(e) {
return !!s[e]
},
getClientIDForRangeWithID: function(e, t, n) {
var r = e.getCalls().map(function(e) {
return e.toString(t)
}).join(","),
o = n + "_" + r,
i = s[o];
return i || (s[o] = {
dataID: n,
calls: e.getCalls(),
callValues: t
}), o
},
parseRangeClientID: function(e) {
return s[e] || null
},
isRangeNode: function(e) {
if (!(e instanceof i.Field && e.isLimitable())) return !1;
if (e.hasUnaliasedField(a.EDGES) || e.hasUnaliasedField(a.PAGE_INFO)) return !0;
var t = e.getCalls();
if (t.length)
for (var n = 0; n < t.length; n++)
if (t[n].getName() in a.RANGE_CALLS) return !0;
return !1
},
getStorageKeyForField: function(e, t) {
var n = e.getFieldName(),
r = e.getCalls();
return r.length && (l.isRangeNode(e) && (r = l.getFilterCalls(r)), r.length && (n += "." + r.map(function(e) {
return e.toString(t)
}).join("."))), n
},
getFilterCalls: function(e) {
for (var t = [], n = 0; n < e.length; n++) a.RANGE_CALLS[e[n].getName()] || t.push(e[n]);
return t
}
};
o.exports = l
}), __d("DliteLogger", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n, r, o) {
var i = m[t] = m[t] || 0,
s = {
type: e,
name: i ? t + " " + i : t,
depth: p,
startTime: n,
endTime: r,
insertOrder: h.length,
data: o || {}
};
return p++, h.push(s), m[t] ++, isNaN(s.endTime) || a(s), s
}
function a(e) {
f.push(e), _.emitAndHold(_.Events.completedEvent, e)
}
function s(e, t) {
if (__DEV__)
for (var n = 0; n < g.length; n++) {
var r = g[n];
if (-1 !== e.indexOf(r)) {
var o = (t ? "Starting event " : "Ending event ") + '"' + e + '" matches breakpoint "' + r + '"';
return void console.log(o)
}
}
}
var l = t("invariant"),
u = t("keyMirror"),
c = t("mixInEventEmitter"),
d = u({
CLIENT: null,
SERVER: null
}),
p = 0,
h = [],
f = [],
m = {},
g = [],
_ = {
Events: u({
completedEvent: null
}),
logClientEventRetroactive: function(e, t, n, r) {
s(e, !0), console.timeStamp && console.timeStamp(e);
var o = i(d.CLIENT, e, t, n, r);
return {
stop: function() {
isNaN(o.endTime) || l(0, "Cannot end `%s` more than once.", e), -1 !== h.indexOf(o) && p--, o.endTime = Date.now(), a(o), s(e, !1)
}
}
},
logClientEvent: function(e, t) {
return _.logClientEventRetroactive(e, Date.now(), 0 / 0, t)
},
breakOnClientEvent: function(e) {
g.push(e)
},
flushCompletedEvents: function() {
var e = f;
return p = 0, f = [], e
},
flush: function() {
var e = h.concat(f);
return p = 0, h = [], f = [], m = {}, e
}
};
c(_, _.Events), o.exports = _
}), __d("GraphQLMutationDataHandler", [], function(e, t, n, r, o) {
"use strict";
var i = t("invariant"),
a = {
getMutationType: function(e) {
return e && 1 === Object.keys(e).length || i(0, "malformed mutation result payload received"), Object.keys(e)[0]
}
};
o.exports = a
}), __d("GraphQLMutationProperties", [], function(e, t, n, r, o) {
"use strict";
var i = t("GraphQLMutatorConstants"),
a = t("invariant"),
s = t("rql"),
l = {},
u = {},
c = {};
u.actor_subscribe = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f0", "ActorSubscribeResponsePayload", [new e.Field("subscribee", [new e.Field("subscribers", null, null, null, null, null, {
connection: !0
}), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.actor_unsubscribe = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f1", "ActorUnsubscribeResponsePayload", [new e.Field("unsubscribee", [new e.Field("subscribers", null, null, null, null, null, {
connection: !0
}), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.comment_create = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f2", "CommentCreateResponsePayload", [new e.Field("feedback", [new e.Field("comments", null, null, null, null, null, {
connection: !0
}), new e.Field("top_level_comments", null, null, null, null, null, {
connection: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("comment", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("feedback_comment_edge", [new e.Field("cursor", null, null, null, null, null, {
requisite: !0
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
requisite: !0
}), new e.Field("source", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])])
}()
}, c.comment_create = {
"": i.PREPEND
}, u.undirected_story_create = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f3", "UndirectedStoryCreateResponsePayload", [new e.Field("story", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("feed_story_edge", [new e.Field("cursor", null, null, null, null, null, {
requisite: !0
}), new e.Field("node", null, null, null, null, null, {
requisite: !0
}), new e.Field("source")])])
}()
}, c.undirected_story_create = {
"environment(tablet_site)": i.PREPEND
}, u.story_delete = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f4", "StoryDeleteResponsePayload", [new e.Field("deleted_story_id")])
}()
}, u.comment_delete = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f5", "CommentDeleteResponsePayload", [new e.Field("feedback", [new e.Field("comments", null, null, null, null, null, {
connection: !0
}), new e.Field("top_level_comments", null, null, null, null, null, {
connection: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.comment_edit = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f6", "CommentEditResponsePayload", [new e.Field("comment", [new e.Field("body"), new e.Field("edit_history", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("attachments", null, null, null, null, null, {
plural: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.feedback_like = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f7", "FeedbackLikeResponsePayload", [new e.Field("feedback", [new e.Field("does_viewer_like"), new e.Field("likers", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("like_sentence"), new e.Field("viewer_likes_sentence"), new e.Field("viewer_does_not_like_sentence"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.feedback_unlike = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f8", "FeedbackUnlikeResponsePayload", [new e.Field("feedback", [new e.Field("does_viewer_like"), new e.Field("likers", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("like_sentence"), new e.Field("viewer_likes_sentence"), new e.Field("viewer_does_not_like_sentence"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.friend_remove = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f9", "FriendRemoveResponsePayload", [new e.Field("unfriended_user", [new e.Field("friends", null, null, null, null, null, {
connection: !0
}), new e.Field("friendship_status"), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.viewer_friend_requests_mark_all_seen = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f10", "ViewerFriendRequestsMarkAllSeenResponsePayload", [new e.Field("viewer", [new e.Field("friending_possibilities", [new e.Field("unseen_count")], null, null, null, null, {
connection: !0
})])])
}()
}, u.friend_request_accept = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f11", "FriendRequestAcceptResponsePayload", [new e.Field("viewer", [new e.Field("friending_possibilities", null, null, null, null, null, {
connection: !0
})]), new e.Field("friend_requester", [new e.Field("friends", null, null, null, null, null, {
connection: !0
}), new e.Field("friendship_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.friend_request_cancel = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f12", "FriendRequestCancelResponsePayload", [new e.Field("cancelled_friend_requestee", [new e.Field("friendship_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.friend_request_delete = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f13", "FriendRequestDeleteResponsePayload", [new e.Field("friend_requester", [new e.Field("friendship_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.friend_request_send = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f14", "FriendRequestSendResponsePayload", [new e.Field("friend_requestees", [new e.Field("friendship_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
plural: !0
})])
}()
}, u.group_request_to_join = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f15", "GroupRequestToJoinResponsePayload", [new e.Field("group", [new e.Field("group_members", null, null, null, null, null, {
connection: !0
}), new e.Field("viewer_join_state"), new e.Field("viewer_subscription_level"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.group_leave = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f16", "GroupLeaveResponsePayload", [new e.Field("group", [new e.Field("group_members", null, null, null, null, null, {
connection: !0
}), new e.Field("viewer_join_state"), new e.Field("viewer_subscription_level"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.viewer_messages_mark_all_seen = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f17", "ViewerMessagesMarkAllSeenResponsePayload", [new e.Field("viewer", [new e.Field("message_threads", [new e.Field("unseen_count")], null, null, null, null, {
connection: !0
})])])
}()
}, u.message_thread_update_read_state = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f18", "MessageThreadUpdateReadStateResponsePayload", [new e.Field("thread", [new e.Field("messages", [new e.Field("unread_count")], null, null, null, null, {
connection: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("viewer", [new e.Field("message_threads", [new e.Field("unseen_count")], null, null, null, null, {
connection: !0
})])])
}()
}, u.notification_story_mark_read = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f19", "NotificationStoryMarkReadResponsePayload", [new e.Field("story", [new e.Field("seen_state"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.viewer_notifications_update_all_seen_state = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f20", "ViewerNotificationsUpdateAllSeenStateResponsePayload", [new e.Field("viewer", [new e.Field("notification_stories", [new e.Field("unseen_count")], null, null, null, null, {
connection: !0,
nonFindable: !0
})]), new e.Field("stories", [new e.Field("seen_state"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
plural: !0
})])
}()
}, u.feedback_subscribe = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f21", "FeedbackSubscribeResponsePayload", [new e.Field("feedback", [new e.Field("can_viewer_subscribe"), new e.Field("is_viewer_subscribed"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.feedback_unsubscribe = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f22", "FeedbackUnsubscribeResponsePayload", [new e.Field("feedback", [new e.Field("can_viewer_subscribe"), new e.Field("is_viewer_subscribed"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.message_send = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f23", "MessageSendResponsePayload", [new e.Field("thread", [new e.Field("messages", null, null, null, null, null, {
connection: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("message", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("thread_message_edge", [new e.Field("cursor", null, null, null, null, null, {
requisite: !0
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
requisite: !0
}), new e.Field("source", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])])
}()
}, c.message_send = {
"": i.APPEND
}, c.instagram_business_invite = {
"": i.PREPEND
}, c.instagram_user_role_create = {
"": i.PREPEND
}, c.instagram_ad_account_group_role_create = {
"": i.PREPEND
}, u.page_like = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f24", "PageLikeResponsePayload", [new e.Field("page", [new e.Field("does_viewer_like"), new e.Field("page_likers", null, null, null, null, null, {
connection: !0
}), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.page_unlike = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f25", "PageUnlikeResponsePayload", [new e.Field("page", [new e.Field("does_viewer_like"), new e.Field("page_likers", null, null, null, null, null, {
connection: !0
}), new e.Field("subscribe_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.event_rsvp = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f26", "EventRsvpResponsePayload", [new e.Field("event", [new e.Field("can_view_members"), new e.Field("can_viewer_invite"), new e.Field("can_viewer_join"), new e.Field("can_viewer_post"), new e.Field("can_viewer_share"), new e.Field("event_declines", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("event_decline_stories", null, null, null, null, null, {
connection: !0
}), new e.Field("event_invitees", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("event_maybes", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("event_members", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("event_viewer_capability"), new e.Field("viewer_guest_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.event_invite = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f27", "EventInviteResponsePayload", [new e.Field("event", [new e.Field("event_invitees", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("invitee_candidates", null, null, null, null, null, {
connection: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.event_remove = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f28", "EventRemoveResponsePayload", [new e.Field("event", [new e.Field("can_view_members"), new e.Field("can_viewer_invite"), new e.Field("can_viewer_join"), new e.Field("can_viewer_post"), new e.Field("can_viewer_share"), new e.Field("event_declines", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("event_decline_stories", null, null, null, null, null, {
connection: !0
}), new e.Field("event_invitees", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("event_maybes", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("event_members", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("event_viewer_capability"), new e.Field("viewer_guest_status"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.story_take_negative_action = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f29", "StoryTakeNegativeActionResponsePayload", [new e.Field("negative_feedback_action", [new e.Field("already_completed"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.story_undo_negative_action = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f30", "StoryUndoNegativeActionResponsePayload", [new e.Field("negative_feedback_action", [new e.Field("already_completed"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_account_select_mobile_preference = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f31", "AdAccountSelectMobilePreferenceResponsePayload", [new e.Field("viewer", [new e.Field("ad_accounts", null, null, null, null, null, {
connection: !0
})])])
}()
}, u.ad_campaign_pause = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f32", "AdCampaignPauseResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("ad_campaign", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_campaign_activate = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f33", "AdCampaignActivateResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("ad_campaign", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_campaign_group_pause = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f34", "AdCampaignGroupPauseResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_campaign_group_activate = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f35", "AdCampaignGroupActivateResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.adgroup_pause = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f36", "AdgroupPauseResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("ad_campaign", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("adgroup", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.adgroup_activate = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f37", "AdgroupActivateResponsePayload", [new e.Field("ad_campaign_group", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("ad_campaign", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("adgroup", [new e.Field("delivery_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_account_edit_spend_limit = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f38", "AdAccountEditSpendLimitResponsePayload", [new e.Field("ad_account", [new e.Field("spend_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_account_remove_spend_limit = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f39", "AdAccountRemoveSpendLimitResponsePayload", [new e.Field("ad_account", [new e.Field("spend_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_account_reset_spend_limit = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f40", "AdAccountResetSpendLimitResponsePayload", [new e.Field("ad_account", [new e.Field("spend_info"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_account_notifications_update_seen_state = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f41", "AdAccountNotificationsUpdateSeenStateResponsePayload", [new e.Field("ad_account", [new e.Field("adalerts_and_tips", [new e.Field("unseen_count")], null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new e.Field("stories", [new e.Field("seen_state"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
plural: !0
})])
}()
}, u.ad_audience_create = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f42", "AdAudienceCreateResponsePayload", [new e.Field("ad_account_ad_audiences_edge", [new e.Field("cursor", null, null, null, null, null, {
generated: !0,
requisite: !0
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
generated: !0,
requisite: !0
})])])
}()
}, c.ad_audience_create = {
"": i.PREPEND
}, u.ad_audience_edit = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f43", "AdAudienceEditResponsePayload", [new e.Field("ad_audience", [new e.Field("name"), new e.Field("target_spec"), new e.Field("updated"), new e.Field("reach_estimate"), new e.Field("targeting_sentences", null, null, null, null, null, {
plural: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_campaign_edit = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f44", "AdCampaignEditResponsePayload", [new e.Field("ad_campaign", [new e.Field("name"), new e.Field("daily_budget"), new e.Field("lifetime_budget"), new e.Field("lifetime_target_spend"), new e.Field("time_range"), new e.Field("today_target_spend"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_campaign_group_create = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f45", "AdCampaignGroupCreateResponsePayload", [new e.Field("ad_account_ad_campaign_groups_edge", [new e.Field("cursor", null, null, null, null, null, {
generated: !0,
requisite: !0
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
generated: !0,
requisite: !0
})])])
}()
}, c.ad_campaign_group_create = {
"orderby(ad_activity_status,reverse_start_time).for_run_status(ALL_NOT_ARCHIVED_OR_DELETED)": i.PREPEND
}, u.ad_account_enable_notification = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f46", "AdAccountEnableNotificationResponsePayload", [new e.Field("ad_account", [new e.Field("notification_settings", [new e.Field("settings", [new e.Field("enabled")], null, null, null, null, {
plural: !0
})]), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_account_disable_notification = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f47", "AdAccountDisableNotificationResponsePayload", [new e.Field("ad_account", [new e.Field("notification_settings", [new e.Field("settings", [new e.Field("enabled")], null, null, null, null, {
plural: !0
})]), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.ad_account_mute_notifications = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f48", "AdAccountMuteNotificationsResponsePayload", [new e.Field("ad_account", [new e.Field("notification_settings", [new e.Field("muted_until")]), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.instagram_business_invite = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f49", "InstagramBusinessInviteResponsePayload", [new e.Field("instagram_business_role_set_edge", [new e.Field("cursor", null, null, null, null, null, {
generated: !0,
requisite: !0
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
generated: !0,
requisite: !0
})])])
}()
}, u.instagram_user_role_update = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f50", "InstagramUserRoleUpdateResponsePayload", [new e.Field("instagram_user_role", [new e.Field("user_permission_role"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.instagram_user_role_create = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f51", "InstagramUserRoleCreateResponsePayload", [new e.Field("instagram_role_set_instagram_user_role", [new e.Field("cursor", null, null, null, null, null, {
generated: !0,
requisite: !0
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
generated: !0,
requisite: !0
})])])
}()
}, u.instagram_user_role_delete = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f52", "InstagramUserRoleDeleteResponsePayload", [new e.Field("instagram_role_set", [new e.Field("instagram_user_roles", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.instagram_role_set_delete = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f53", "InstagramRoleSetDeleteResponsePayload", [new e.Field("instagram_business", [new e.Field("role_sets", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("instagram_users", [new e.Field("edges", [new e.Field("node", [new e.Field("assigned_user_roles", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
requisite: !0
}), new e.Field("cursor", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
plural: !0
}), new e.Field("page_info", [new e.Field("has_next_page", null, null, null, null, null, {
generated: !0,
requisite: !0
}), new e.Field("has_previous_page", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.instagram_ad_account_group_role_create = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f54", "InstagramAdAccountGroupRoleCreateResponsePayload", [new e.Field("instagram_role_set_ad_account_group_role_edge", [new e.Field("cursor", null, null, null, null, null, {
generated: !0,
requisite: !0
}), new e.Field("node", [new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
generated: !0,
requisite: !0
})])])
}()
}, u.instagram_ad_account_group_role_delete = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f55", "InstagramAdAccountGroupRoleDeleteResponsePayload", [new e.Field("instagram_role_set", [new e.Field("ad_account_group_roles", null, null, null, null, null, {
connection: !0,
nonFindable: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.group_pin_story = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f56", "GroupPinStoryResponsePayload", [new e.Field("group", [new e.Field("group_pinned_stories", null, null, null, null, null, {
connection: !0
}), new e.Field("group_stories", null, null, null, null, null, {
connection: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.group_unpin_story = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f57", "GroupUnpinStoryResponsePayload", [new e.Field("group", [new e.Field("group_pinned_stories", null, null, null, null, null, {
connection: !0
}), new e.Field("group_stories", null, null, null, null, null, {
connection: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.group_block = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f58", "GroupBlockResponsePayload", [new e.Field("group", [new e.Field("group_stories", null, null, null, null, null, {
connection: !0
}), new e.Field("group_members", null, null, null, null, null, {
connection: !0
}), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
}, u.support_dashboard_item_mark_as_read = function() {
return function() {
var e = s.__GraphQL;
return new e.QueryFragment("UnknownFile_f59", "SupportDashboardItemMarkAsReadResponsePayload", [new e.Field("support_dashboard_item", [new e.Field("is_unread"), new e.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
})])
}()
};
var d = {
getFatQueryForType: function(e) {
if (e in u || a(0, "Must have a fat query for the mutation type %s. Please see https://our.intern.facebook.com/intern/dex/graphql-mutations/mutations-in-dlite/.", e), !(e in l)) {
var t = u[e];
l[e] = t()
}
return l[e]
},
getRangeConfigForType: function(e) {
var t = c[e];
if (!t) return {};
for (var n in t) t[n] !== i.PREPEND && t[n] !== i.APPEND && a(0, "range config must map to either GraphQLMutatorConstants.APPEND/PREPEND");
return t
},
__getAllRangeConfigs: function() {
return c
}
};
o.exports = d
}), __d("GraphQLMutatorConstants", [], function(e, t, n, r, o) {
"use strict";
var i = {
APPEND: "append",
PREPEND: "prepend",
REMOVE: "remove",
NODE_DELETE_HANDLER: "node_delete",
RANGE_ADD_HANDLER: "range_add",
RANGE_DELETE_HANDLER: "range_delete",
HANDLER_TYPES: {},
OPTIMISTIC_UPDATE: "optimistic",
SERVER_UPDATE: "server",
POLLER_UPDATE: "poller",
UPDATE_TYPES: {},
RANGE_OPERATIONS: {}
};
i.HANDLER_TYPES[i.NODE_DELETE_HANDLER] = !0, i.HANDLER_TYPES[i.RANGE_ADD_HANDLER] = !0, i.HANDLER_TYPES[i.RANGE_DELETE_HANDLER] = !0, i.UPDATE_TYPES[i.OPTIMISTIC_UPDATE] = !0, i.UPDATE_TYPES[i.SERVER_UPDATE] = !0, i.UPDATE_TYPES[i.POLLER_UPDATE] = !0, i.RANGE_OPERATIONS[i.APPEND] = !0, i.RANGE_OPERATIONS[i.PREPEND] = !0, i.RANGE_OPERATIONS[i.REMOVE] = !0, o.exports = i
}), __d("rql", [], function(e, t, n, r, o) {
"use strict";
function i() {
throw new Error("rql transform failure!")
}
var a = t("GraphQL_EXPERIMENTAL");
i.__GraphQL = a, i.__var = i.__frag = function(e) {
return e
}, o.exports = i
}), __d("GraphQLMutatorHub", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
"string" != typeof e.deletedIDFieldName && c(0, "Node delete mutation config must have valid types on register")
}
function a(e) {
(e.sourceID && "string" != typeof e.sourceID || "string" != typeof e.connectionName || "string" != typeof e.edgeName) && c(0, "Range add mutation config must have valid types on register")
}
function s(e) {
Array.isArray(e.pathToConnection) && e.pathToConnection.length >= 2 && "string" == typeof e.deletedIDFieldName || c(0, "Range delete mutation config must have valid types on register")
}
function l(e, t, n) {
t in u.HANDLER_TYPES || c(0, "Cannot register invalid handler type"), void 0 === d[e] && (d[e] = []), d[e].push({
handlerType: t,
config: n
})
}
var u = t("GraphQLMutatorConstants"),
c = t("invariant"),
d = {},
p = {
registerForRangeAddMutationType: function(e, t) {
a(t), l(e, u.RANGE_ADD_HANDLER, t)
},
registerForRangeDeleteMutationType: function(e, t) {
s(t), l(e, u.RANGE_DELETE_HANDLER, t)
},
registerForNodeDeleteMutationType: function(e, t) {
i(t), l(e, u.NODE_DELETE_HANDLER, t)
},
getConfigs: function(e) {
return d[e] ? d[e] : []
}
};
o.exports = p
}), __d("GraphQLQueryTracker", [], function(e, t, n, r, o) {
"use strict";
function i() {
this.$GraphQLQueryTracker_trackedQueriesByID = {}
}
function a(e, t) {
return new l.Field("tracked_field", e, t)
}
function s(e) {
return new l.QueryFragment("FakeTrackedFragment", "FakeNode", e.getOwnFields(), e.getFragments())
}
var l = t("GraphQL_EXPERIMENTAL"),
u = t("GraphQLConstants"),
c = t("GraphQLStoreDataHandler");
i.prototype.addQueryForID = function(e, t) {
if (e === u.VIEWER_CLIENT_ID || !c.isClientID(e)) {
var n = this.$GraphQLQueryTracker_trackedQueriesByID;
if (n.hasOwnProperty(e)) {
if (t.getFieldName && "__type__" === t.getFieldName()) return
} else n[e] = [];
n[e].push(t)
}
}, i.prototype.getQueryForIDs = function(e) {
for (var t = null, n = this.$GraphQLQueryTracker_trackedQueriesByID, r = 0; r < e.length; r++) {
var o = e[r];
if (n.hasOwnProperty(o)) {
t = t || [];
for (var i = n[o], l = 0; l < i.length; l++) t.push(s(i[l]))
}
}
return t ? a(null, t) : null
}, o.exports = i
}), __d("GraphQLStatusConstants", [], function(e, t, n, r, o) {
"use strict";
var i = t("keyMirror"),
a = i({
ERROR: null
});
o.exports = a
}), __d("GraphQLStoreChangeEmitter", [], function(e, t, n, r, o) {
"use strict";
function i() {
m(a), f = null
}
function a() {
h.forEach(s)
}
function s(e, t) {
var n = e.subscribedIDs,
r = e.callback;
for (var o in f)
if (f.hasOwnProperty(o)) {
var i = f[o];
if (t > i) break;
if (n.indexOf(o) >= 0) {
c.applyWithGuard(r, null, null, null, "GraphQLStoreChangeEmitter");
break
}
}
}
function l(e) {
var t = d.parseRangeClientID(e);
return t ? t.dataID : e
}
var u = t("DliteProfiler"),
c = t("ErrorUtils"),
d = t("GraphQLStoreRangeUtils"),
p = t("setImmediate"),
h = [],
f = null,
m = function(e) {
return e()
},
g = {
addListenerForIDs: function(e, t) {
var n = e.map(l),
r = h.length;
return h.push({
subscribedIDs: n,
callback: t
}), {
remove: function() {
delete h[r]
}
}
},
broadcastChangeForID: function(e) {
null === f && (p(i), f = {}), f[l(e)] = h.length - 1
},
injectBatchingStrategy: function(e) {
m = e
},
_processSubscribers: a
};
u.instrumentMethods(g, {
addListenerForIDs: "GraphQLStoreChangeEmitter.addListenerForIDs",
broadcastChangeForID: "GraphQLStoreChangeEmitter.broadcastChangeForID",
_processSubscribers: "GraphQLStoreChangeEmitter.processSubscribers"
}), o.exports = g
}), __d("setImmediate", [], function(e, t, n, r, o) {
o.exports = e.setImmediate || t("ImmediateImplementation").setImmediate
}), __d("ImmediateImplementation", [], function(e, t, n, r, o, i) {
! function(e, t) {
"use strict";
function n(e) {
var n = e[0];
return e = Array.prototype.slice.call(e, 1), h[p] = function() {
n.apply(t, e)
}, m = m.next = {
handle: p++
}, m.handle
}
function r() {
for (var e, t; !g && (e = f.next);)
if (f = e, t = h[e.handle]) {
g = !0;
try {
t(), g = !1
} finally {
o(e.handle), g && (g = !1, f.next && d(r))
}
}
}
function o(e) {
delete h[e]
}
function a() {
if (e.postMessage && !e.importScripts) {
var t = !0,
n = function() {
t = !1, e.removeEventListener ? e.removeEventListener("message", n, !1) : e.detachEvent("onmessage", n)
};
if (e.addEventListener) e.addEventListener("message", n, !1);
else {
if (!e.attachEvent) return !1;
e.attachEvent("onmessage", n)
}
return e.postMessage("", "*"), t
}
}
function s() {
var t = "setImmediate$" + Math.random() + "$",
o = function(n) {
n.source === e && "string" == typeof n.data && 0 === n.data.indexOf(t) && r()
};
e.addEventListener ? e.addEventListener("message", o, !1) : e.attachEvent("onmessage", o), d = function() {
var r = n(arguments);
return e.postMessage(t + r, "*"), r
}
}
function l() {
var e = new MessageChannel;
e.port1.onmessage = r, d = function() {
var t = n(arguments);
return e.port2.postMessage(t), t
}
}
function u() {
var e = _.documentElement;
d = function() {
var t = n(arguments),
o = _.createElement("script");
return o.onreadystatechange = function() {
o.onreadystatechange = null, e.removeChild(o), o = null, r()
}, e.appendChild(o), t
}
}
function c() {
d = function() {
return setTimeout(r, 0), n(arguments)
}
}
var d, p = 1,
h = {},
f = {},
m = f,
g = !1,
_ = e.document;
a() ? s() : e.MessageChannel ? l() : _ && "onreadystatechange" in _.createElement("script") ? u() : c(), i.setImmediate = d, i.clearImmediate = o
}(Function("return this")())
}), __d("GraphQLStoreNodeRangeTracker", [], function(e, t, n, r, o) {
"use strict";
function i() {
this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID = {}
}
var a = Object.freeze([]);
i.prototype.addRangeIDForNodeID = function(e, t) {
this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[t] = this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[t] || {}, this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[t][e] = !0
}, i.prototype.getRangeIDsForNodeID = function(e) {
var t = this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[e];
return t ? Object.keys(t) : a
}, i.prototype.clearRangeIDsForNodeID = function(e) {
var t = this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[e];
t && delete this.$GraphQLStoreNodeRangeTracker_rangeIDsByNodeID[e]
}, o.exports = i
}), __d("GraphQLStoreQueryPath", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
this.$GraphQLStoreQueryPath_root = e, this.$GraphQLStoreQueryPath_fields = []
}
var a = t("GraphQL_EXPERIMENTAL"),
s = t("GraphQLConstants"),
l = t("GraphQLStoreDataHandler"),
u = t("invariant");
i.prunePathForDataID = function(e, t) {
return t && 1 === t.getLength() ? t : e === s.VIEWER_CLIENT_ID ? new i(new a.Query("viewer")) : l.isClientID(e) ? (t || u(0, "Cannot prune a path to a client ID without a current path"), t) : new i(new a.Query("node", [e]))
}, i.prototype.withField = function(e, t) {
var n = this.$GraphQLStoreQueryPath_fields[this.$GraphQLStoreQueryPath_fields.length - 1];
this.pushField(e);
var r = t();
return this.popField(), this.$GraphQLStoreQueryPath_fields[this.$GraphQLStoreQueryPath_fields.length - 1] !== n && u(0, "Popped unexpected field from currentPath"), r
}, i.prototype.pushField = function(e) {
return this.$GraphQLStoreQueryPath_fields.push(e), this
}, i.prototype.popField = function() {
this.$GraphQLStoreQueryPath_fields.length > 0 || u(0, "No fields to pop!"), this.$GraphQLStoreQueryPath_fields.pop()
}, i.prototype.getLength = function() {
return this.$GraphQLStoreQueryPath_fields.length + 1
}, i.prototype.clone = function() {
for (var e = new i(this.$GraphQLStoreQueryPath_root), t = 0; t < this.$GraphQLStoreQueryPath_fields.length; t++) e.pushField(this.$GraphQLStoreQueryPath_fields[t]);
return e
}, i.prototype.getQueryForFragment = function(e) {
var t = this.$GraphQLStoreQueryPath_fields;
if (0 === t.length) return new a.QueryWithValues(this.$GraphQLStoreQueryPath_root.shallowClone(this.$GraphQLStoreQueryPath_root.getOwnUnaliasedFields("id"), [e]));
var n = t[t.length - 1],
r = n.getInferredPrimaryKey();
n = r ? n.shallowClone(n.getOwnUnaliasedFields(r), [e]) : n.shallowClone(null, [e]);
for (var o = t.length - 2; o >= 0; o--) {
var i = t[o];
r = i.getInferredPrimaryKey(), n = i.shallowClone(r ? i.getOwnUnaliasedFields(r).concat(n) : [n])
}
return new a.QueryWithValues(this.$GraphQLStoreQueryPath_root.shallowClone(this.$GraphQLStoreQueryPath_root.getOwnUnaliasedFields("id").concat(n)))
}, i.prototype.getJSONPath = function() {
for (var e = ["$", "*"], t = 0; t < this.$GraphQLStoreQueryPath_fields.length; t++) {
var n = this.$GraphQLStoreQueryPath_fields[t],
r = n.getAlias() || n.getFieldName();
e.push(r), n.isPlural() && e.push("*")
}
return e.join(".")
}, i.prototype.toJSON = function() {
return [this.$GraphQLStoreQueryPath_root.shallowClone(), this.$GraphQLStoreQueryPath_fields.map(function(e) {
return e.shallowClone()
})]
}, i.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = new i(a.Query.fromJSON(n));
return o.$GraphQLStoreQueryPath_fields = r.map(a.Field.fromJSON), o
}, o.exports = i
}), __d("GraphQLStoreReader", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
this.$GraphQLStoreReader_store = e, this.$GraphQLStoreReader_queuedStore = t, this.$GraphQLStoreReader_fragmentFilter = n || h.thatReturnsTrue
}
function a(e, t) {
for (var n = {}, r = [], o = 0; o < e.length; o++) {
var i = e[o];
i.__dataID__ || (i = f(i), i.__dataID__ = "fakeEdge:" + o), n[i.__dataID__] = i, r.push(i)
}
var a = new c(n);
return a.addItems(t, {}, r, {
has_previous_page: !1,
has_next_page: !1
}), a
}
var s = t("DliteLog"),
l = t("DliteProfiler"),
u = t("GraphQLConstants"),
c = t("GraphQLRange"),
d = t("GraphQLStoreDataHandler"),
p = t("GraphQLStoreRangeUtils"),
h = t("emptyFunction"),
f = t("merge"),
m = u.CLIENT_SESSION_ID,
g = u.EDGES,
_ = u.NODE,
y = u.PAGE_INFO;
i.prototype.retrieveData = function(e, t, n, r) {
var o, i, s, l = t.__dataID__;
!l && t.__masked__ && (t = t.__masked__);
var u = l && l in this.$GraphQLStoreReader_queuedStore ? this.$GraphQLStoreReader_queuedStore[l] : {};
if (null === u) return null;
if (l && p.isRangeClientID(l)) {
var c = p.parseRangeClientID(l);
t = this.$GraphQLStoreReader_store[c.dataID], i = c.calls, o = !0
} else o = p.isRangeNode(e), l && (t = l in this.$GraphQLStoreReader_store ? this.$GraphQLStoreReader_store[l] : this.$GraphQLStoreReader_queuedStore[l]), o && (i = e.getCalls());
if (!t) return t;
if (o) {
if (0 === i.length) throw new Error("The field " + e.getFieldName() + " is a range node, and thus expected to have a first() or last() filter call.");
var d;
t.__range__ ? d = t.__range__ : !l && t[g] && (d = a(t[g], i)), d && (s = d.retrieveRangeInfoForQuery(i, {}, u))
}
var h;
if (__DEV__ && (h = {}), n = this.$GraphQLStoreReader_traverseNode(e, t, u, s, n, r, h), !n && r) n = r, t.__status__ !== r.__status__ && (n = this.$GraphQLStoreReader_createSink(n, r), n.__status__ = t.__status__);
else {
n = n || {};
var f = l && o && !p.isRangeClientID(l);
n.__dataID__ = f ? p.getClientIDForRangeWithID(e, {}, l) : l, n.__masked__ = l ? void 0 : t, n.__status__ = t.__status__
}
return n
}, i.prototype.$GraphQLStoreReader_traverseNode = function(e, t, n, r, o, i, a) {
for (var s = e.getOwnFields(), l = 0; l < s.length; l++) __DEV__ && v(s[l], a), o = this.$GraphQLStoreReader_retrieveSubfield(s[l], t, n, r, o, i);
for (var u = e.getFragments(), c = 0; c < u.length; c++) this.$GraphQLStoreReader_fragmentFilter(u[c]) && (o = this.$GraphQLStoreReader_traverseNode(u[c], t, n, r, o, i, a));
return o
}, i.prototype.$GraphQLStoreReader_retrieveSubfield = function(e, t, n, r, o, i) {
var a = e.getFieldName(),
l = e.getNameForClient(),
u = p.isRangeNode(e),
c = p.getStorageKeyForField(e, {}),
h = t[c],
f = n[c];
if (e.isGenerated()) return o;
if (a === m) {
var _ = r ? r.sessionID : null;
(o || !i || i[l] !== _) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = _)
} else if (a === y) {
if (!r) return o;
var v = this.retrieveData(e, r.pageInfo, o && o[l], i && i[l]);
(o || !i || i[l] !== v) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = v)
} else if (a === g && r) {
var S = this.$GraphQLStoreReader_retrieveRangeData(e, r, o && o[l], i && i[l]);
(o || !i || i[l] !== S && void 0 !== S) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = S || [])
} else if (null === h)(o || !i || i[l] !== h) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = h);
else if (void 0 === h && void 0 === f) !t.__dataID__ && t.hasOwnProperty(a) && s.warn("Data source has key '%s' but GraphQLStore expected '%s'.", a, c), i && i[l] !== h && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = h);
else if (Array.isArray(h)) {
for (var w = 0; w < h.length; w++) {
var b;
b = "object" == typeof h[w] ? this.retrieveData(e, h[w], o && o[l] && o[l][w], i && i[l] && i[l][w]) : h[w], i && i[l] === b || (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = o[l] || [], o[l][w] = b)
}(o || !i) && (o = o || {}, o[l] = o[l] || i && i[l] || [])
} else if (e.hasFields()) {
var R = this.retrieveData(e, h || f, o && o[l], i && i[l]);
(o || !i || i[l] !== R) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = R)
} else if (u) o = o || {}, o[l] = d.createPointerWithID(p.getClientIDForRangeWithID(e, {}, h.__dataID__));
else {
var C = void 0 !== f ? f : h;
(o || !i || i[l] !== C) && (o = this.$GraphQLStoreReader_createSink(o, i), o[l] = C)
}
return o
}, i.prototype.$GraphQLStoreReader_retrieveRangeData = function(e, t, n, r) {
for (var o = t.requestedEdges, i = 0, a = 0; a < o.length; a++) {
var l = o[a];
if (l) {
var u = l[_].__dataID__;
if (!u || null !== this.$GraphQLStoreReader_queuedStore[u] && (this.$GraphQLStoreReader_store[u] || this.$GraphQLStoreReader_queuedStore[u])) {
0 === l.__dataID__.indexOf("fakeEdge:") && delete l.__dataID__;
var c = this.retrieveData(e, l, n && n[i], r && r[i]);
(n || !r || r[i] !== c) && (n = n || r && r.slice(0) || [], n[i] = c), i++
} else s.warn("dataID %s has no data, but is still referenced in range", u)
} else s.warn("Received a null edge from the range")
}
return r ? (n ? n.length > i && (n = n.slice(0, i)) : r.length > i && (n = r.slice(0, i)), n) : n || []
}, i.prototype.$GraphQLStoreReader_createSink = function(e, t) {
return e && e !== t ? e : t ? Object.assign({}, t) : {}
}, l.instrumentMethods(i.prototype, {
retrieveData: "GraphQLStoreReader.retrieveData"
});
var v;
__DEV__ && (v = function(e, t) {
var n = e.getNameForClient(),
r = e.getGeneratedAlias(),
o = t[n];
o ? o !== r && console.error("`%s` is used as an alias twice. Please rename one of them.", n) : t[n] = r
}), o.exports = i
}), __d("GraphQLRange", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
for (var n = {}, r = 0; r < e.length; r++) {
var o = e[r].getName(),
i = e[r].getArgs();
if (i.length) {
var a = i[0] instanceof h.CallVariable ? t[i[0].getCallVariableName()] : i[0].getCallValue();
if (null === a) continue;
n[o] = a
}
}
return n.first ? (isNaN(n.first) && _(0, "Argument for first query must be a number"), n.first = +n.first) : n.last && (isNaN(n.last) && _(0, "Argument for last query must be a number"), n.last = +n.last), n.client_session && (isNaN(n.client_session) && _(0, "Argument for sessionID call must be a number"), n.client_session = +n.client_session), n
}
function a(e) {
return e.hasOwnProperty("surrounds") || e.hasOwnProperty("find")
}
function s(e) {
var t = e.hasOwnProperty("first"),
n = e.hasOwnProperty("last");
return (t || n) && !(t && n)
}
function l(e) {
void 0 === g.getID(e) && _(0, "GraphQLStore: `edge` must have a data id"), void 0 === e.node && _(0, "GraphQLStore: `edge` must have `node` field")
}
function u(e) {
e.forEach(l)
}
function c(e) {
this.$GraphQLRange_dataStore = e, this.reset()
}
function d(e, t) {
return e.map(function(e) {
return e.toString(t)
}).join(",")
}
var p = t("DliteLog"),
h = t("GraphQL_EXPERIMENTAL"),
f = t("GraphQLMutatorConstants"),
m = t("GraphQLSegment"),
g = t("GraphQLStoreDataHandler"),
_ = t("invariant"),
y = t("merge"),
v = {
start_cursor: void 0,
end_cursor: void 0,
has_next_page: !1,
has_previous_page: !1
},
S = 1e3;
c.prototype.setDataStore = function(e) {
this.$GraphQLRange_dataStore = e
}, c.prototype.reset = function() {
this.$GraphQLRange_orderedSegments = [new m, new m], this.$GraphQLRange_staticQueriesMap = {}, this.$GraphQLRange_hasFirst = !1, this.$GraphQLRange_hasLast = !1, this.$GraphQLRange_sessionID = S
}, c.prototype.$GraphQLRange_resetSegment = function(e) {
e >= 0 && e < this.$GraphQLRange_orderedSegments.length || _(0, "cannot reset non-existent segment"), this.$GraphQLRange_orderedSegments[e] = new m(this.$GraphQLRange_orderedSegments[e].getSessionID())
}, c.prototype.$GraphQLRange_getSegmentIndexByCursor = function(e) {
for (var t = 0; t < this.$GraphQLRange_orderedSegments.length; t++)
if (this.$GraphQLRange_orderedSegments[t].containsEdgeWithCursor(e)) return t;
return null
}, c.prototype.$GraphQLRange_getSegmentIndexByID = function(e) {
for (var t = 0; t < this.$GraphQLRange_orderedSegments.length; t++)
if (this.$GraphQLRange_orderedSegments[t].containsEdgeWithID(e)) return t;
return null
}, c.prototype.$GraphQLRange_addStaticEdges = function(e, t, n) {
for (var r = d(e, t), o = [], i = [], a = 0; a < n.length; a++) {
var s = n[a];
o.push(g.getID(s)), i.push(s.cursor)
}
this.$GraphQLRange_staticQueriesMap[r] = {
edgeIDs: o,
cursors: i
}
}, c.prototype.addItems = function(e, t, n, r) {
u(n);
var o, l, c = i(e, t);
return a(c) ? void this.$GraphQLRange_addStaticEdges(e, t, n) : s(c) ? null === c.before || null === c.after ? void console.error("GraphQLRange received null as a cursor.") : (this.$GraphQLRange_sessionID++, void(c.first ? c.before && !c.after ? r.has_next_page === !0 ? (0 === this.$GraphQLRange_getSegmentIndexByCursor(c.before) && this.$GraphQLRange_orderedSegments.unshift(new m(this.$GraphQLRange_sessionID)), this.$GraphQLRange_addAfterFirstItems(n, r.has_next_page, void 0, c.before, null)) : this.$GraphQLRange_addBeforeLastItems(n, r.has_previous_page, c.before, void 0, this.$GraphQLRange_sessionID) : (c.after || (l = 0, o = this.getFirstSegment().getCount(), o && (c.first > o || n.length > o) && !this.getFirstSegment().getFirstCursor() && this.$GraphQLRange_resetSegment(l)), this.$GraphQLRange_addAfterFirstItems(n, r.has_next_page, c.after, c.before, null)) : c.last && (c.after && !c.before ? r.has_previous_page === !0 ? (this.$GraphQLRange_getSegmentIndexByCursor(c.after) === this.$GraphQLRange_orderedSegments.length - 1 && this.$GraphQLRange_orderedSegments.push(new m(this.$GraphQLRange_sessionID)), this.$GraphQLRange_addBeforeLastItems(n, r.has_previous_page, void 0, c.after, null)) : this.$GraphQLRange_addAfterFirstItems(n, r.has_next_page, c.after, void 0, this.$GraphQLRange_sessionID) : (c.before || (l = this.$GraphQLRange_orderedSegments.length - 1, o = this.getLastSegment().getCount(), o && (c.last > o || n.length > o) && !this.getLastSegment().getLastCursor() && this.$GraphQLRange_resetSegment(l)), this.$GraphQLRange_addBeforeLastItems(n, r.has_previous_page, c.before, c.after, null))))) : void console.error("GraphQLRange currently only handles first(<count>), after(<cursor>).first(<count>), last(<count>), before(<cursor>).last(<count>), before(<cursor>).first(<count>), and after(<cursor>).last(<count>)")
}, c.prototype.getFirstSegment = function() {
return this.$GraphQLRange_orderedSegments[0]
}, c.prototype.getLastSegment = function() {
return this.$GraphQLRange_orderedSegments[this.$GraphQLRange_orderedSegments.length - 1]
}, c.prototype.$GraphQLRange_concatSegments = function(e) {
e + 1 < this.$GraphQLRange_orderedSegments.length && e >= 0 || _(0, "GraphQLRange cannot concat segments outside the range of orderedSegments");
var t = this.$GraphQLRange_orderedSegments[e],
n = this.$GraphQLRange_orderedSegments[e + 1];
t.concatSegment(n) ? this.$GraphQLRange_orderedSegments.splice(e + 1, 1) : console.error("GraphQLRange was unable to concat segment %d and segment %d", e, e + 1)
}, c.prototype.prependEdge = function(e) {
l(e), this.$GraphQLRange_sessionID++, this.$GraphQLRange_hasFirst = !0;
var t = this.getFirstSegment();
this.$GraphQLRange_removeEdgeIfApplicable(e, this.$GraphQLRange_sessionID), t.prependEdge(e, this.$GraphQLRange_sessionID)
}, c.prototype.appendEdge = function(e) {
l(e), this.$GraphQLRange_sessionID++, this.$GraphQLRange_hasLast = !0;
var t = this.getLastSegment();
this.$GraphQLRange_removeEdgeIfApplicable(e, this.$GraphQLRange_sessionID), t.appendEdge(e, this.$GraphQLRange_sessionID)
}, c.prototype.$GraphQLRange_removeEdgeIfApplicable = function(e, t) {
var n = g.getID(e),
r = this.$GraphQLRange_getSegmentIndexByID(n);
null != r && this.$GraphQLRange_orderedSegments[r].removeEdge(n, t)
}, c.prototype.$GraphQLRange_removeEdgesIfApplicable = function(e, t) {
for (var n = 0; n < e.length; n++) this.$GraphQLRange_removeEdgeIfApplicable(e[n], t ? t : S)
}, c.prototype.$GraphQLRange_addAfterFirstItems = function(e, t, n, r, o) {
var i, a, s;
if (void 0 !== n) {
if (a = this.$GraphQLRange_getSegmentIndexByCursor(n), null == a) return void console.error("GraphQLRange cannot find a segment that has the cursor: " + n);
if (i = this.$GraphQLRange_orderedSegments[a], s = i.getLastCursor(), s !== n && (e = this.$GraphQLRange_reconcileAfterFirstEdges(i, e, n), n = s, !e)) return
} else if (a = 0, i = this.$GraphQLRange_orderedSegments[a], s = i.getLastCursor(), void 0 !== s && (e = this.$GraphQLRange_reconcileAfterFirstEdges(i, e), n = s, !e)) return;
if (void 0 !== r) {
if (a === this.$GraphQLRange_orderedSegments.length - 1) return void console.error("GraphQLRange cannot add because there is no next segment");
if (this.$GraphQLRange_orderedSegments[a + 1].getFirstCursor() !== r) return void console.error("GraphQLRange cannot add because beforeCursor does not match first cursor of the next segment")
}
void 0 === n && (this.$GraphQLRange_hasFirst = !0), o = o || i.getSessionID(), this.$GraphQLRange_removeEdgesIfApplicable(e, o), i.addEdgesAfterCursor(e, n, o), t || (void 0 !== r ? this.$GraphQLRange_concatSegments(a) : (this.$GraphQLRange_hasLast = !0, this.$GraphQLRange_orderedSegments.splice(a + 1, this.$GraphQLRange_orderedSegments.length - 1 - a)))
}, c.prototype.$GraphQLRange_reconcileAfterFirstEdges = function(e, t, n) {
var r = e.getMetadataAfterCursor(t.length + 1, n),
o = r.edgeIDs;
if (o.length > t.length) return void 0;
for (var i = 0; i < o.length; i++)
if (o[i] !== g.getID(t[i])) return void p.warn("GraphQLRange cannot reconcile input because there is an id mismatch at index %s", i);
return t.slice(o.length)
}, c.prototype.$GraphQLRange_addBeforeLastItems = function(e, t, n, r, o) {
var i, a, s;
if (void 0 !== n) {
if (a = this.$GraphQLRange_getSegmentIndexByCursor(n), null == a) return void console.error("GraphQLRange cannot find a segment that has the cursor: " + n);
if (i = this.$GraphQLRange_orderedSegments[a], s = i.getFirstCursor(), s !== n && (e = this.$GraphQLRange_reconcileBeforeLastEdges(i, e, n), n = s, !e)) return
} else if (a = this.$GraphQLRange_orderedSegments.length - 1, i = this.$GraphQLRange_orderedSegments[a], s = i.getFirstCursor(), void 0 !== s && (e = this.$GraphQLRange_reconcileBeforeLastEdges(i, e, n), n = s, !e)) return;
if (void 0 !== r) {
if (0 === a) return void console.error("GraphQLRange cannot add because there is no previous segment");
if (this.$GraphQLRange_orderedSegments[a - 1].getLastCursor() !== r) return void console.error("GraphQLRange cannot add because afterCursor does not match last cursor of the previous segment")
}
void 0 === n && (this.$GraphQLRange_hasLast = !0), o = o || i.getSessionID(), this.$GraphQLRange_removeEdgesIfApplicable(e, o), i.addEdgesBeforeCursor(e, n, o), t || (void 0 !== r ? this.$GraphQLRange_concatSegments(a - 1) : (this.$GraphQLRange_hasFirst = !0, this.$GraphQLRange_orderedSegments.splice(0, a)))
}, c.prototype.$GraphQLRange_reconcileBeforeLastEdges = function(e, t, n) {
var r = e.getMetadataBeforeCursor(t.length + 1, n),
o = r.edgeIDs;
if (o.length > t.length) return void 0;
for (var i = 1; i <= o.length; i++)
if (o[o.length - i] !== g.getID(t[t.length - i])) return void p.warn("GraphQLRange cannot reconcile input because there is an id mismatch at index %s", i);
return t.slice(0, t.length - o.length)
}, c.prototype.removeEdgeWithID = function(e) {
var t = this.$GraphQLRange_getSegmentIndexByID(e);
null != t && this.$GraphQLRange_orderedSegments[t].removeEdge(e, S)
}, c.prototype.retrieveRangeInfoForQuery = function(e, t, n) {
var r = i(e, t);
return a(r) ? this.$GraphQLRange_retrieveRangeInfoForStaticCalls(e, t) : s(r) ? r.first && r.before || r.last && r.after ? (console.error("GraphQLRange does not currently handle retrieval for before(<cursor>).first(<count>) and after(<cursor>).last(<count>)"), {
requestedEdges: [],
diffCalls: [],
pageInfo: v,
sessionID: this.$GraphQLRange_sessionID
}) : r.first ? this.$GraphQLRange_retrieveRangeInfoForFirstQuery(e, t, n) : r.last ? this.$GraphQLRange_retrieveRangeInfoForLastQuery(e, t, n) : void 0 : (console.error("GraphQLRange currently only handles first(<count>), after(<cursor>).first(<count>), last(<count>), before(<cursor>).last(<count>), before(<cursor>).first(<count>), and after(<cursor>).last(<count>)"), {
requestedEdges: [],
diffCalls: [],
pageInfo: v,
sessionID: this.$GraphQLRange_sessionID
})
}, c.prototype.$GraphQLRange_getEdgeByID = function(e) {
return this.$GraphQLRange_dataStore[e]
}, c.prototype.$GraphQLRange_retrieveRangeInfoForStaticCalls = function(e, t) {
var n = d(e, t),
r = this.$GraphQLRange_staticQueriesMap[n];
if (r) {
var o = {
has_next_page: !0,
has_previous_page: !0
};
return o.start_cursor = r.cursors[0], o.end_cursor = r.cursors[r.cursors.length - 1], {
requestedEdges: r.edgeIDs.map(this.$GraphQLRange_getEdgeByID, this),
diffCalls: [],
pageInfo: o,
sessionID: this.$GraphQLRange_sessionID
}
}
return {
requestedEdges: [],
diffCalls: e,
pageInfo: v,
sessionID: this.$GraphQLRange_sessionID
}
}, c.prototype.$GraphQLRange_retrieveRangeInfoForFirstQuery = function(e, t, n) {
var r = [],
o = [];
n && (r = n[f.PREPEND] || [], o = n[f.REMOVE] || []);
var a, s, l = i(e, t),
u = l.first + o.length,
c = y(v);
c.sessionID = this.$GraphQLRange_sessionID;
var d = l.client_session ? l.client_session : null,
p = l.after;
if (void 0 !== p) {
if (s = this.$GraphQLRange_getSegmentIndexByCursor(p), null == s) return console.error("GraphQLRange cannot find a segment that has the cursor: " + p), {
requestedEdges: [],
diffCalls: [],
pageInfo: c,
sessionID: this.$GraphQLRange_sessionID
};
a = this.$GraphQLRange_orderedSegments[s]
} else {
var m = r.length;
if (u -= m, s = 0, a = this.$GraphQLRange_orderedSegments[s], d)
for (; s < this.$GraphQLRange_orderedSegments.length - 1 && a.getSessionID() > d;) s++, a = this.$GraphQLRange_orderedSegments[s]
}
var _ = a.getMetadataAfterCursor(u, p, d),
S = _.edgeIDs,
w = _.cursors,
b = [];
if (w.length && (c.start_cursor = w[0], c.end_cursor = w[w.length - 1]), (!this.$GraphQLRange_hasLast || s !== this.$GraphQLRange_orderedSegments.length - 1 || c.end_cursor && c.end_cursor !== a.getLastCursor(d)) && (c.has_next_page = !0, S.length < u)) {
u -= S.length;
var R = a.getLastCursor();
if (null === R) b.push(new h.Call("first", l.first));
else {
if (void 0 !== R && b.push(new h.Call("after", R)), s !== this.$GraphQLRange_orderedSegments.length - 1) {
var C = this.$GraphQLRange_orderedSegments[s + 1],
E = C.getFirstCursor();
void 0 !== E && b.push(new h.Call("before", E))
}
b.push(new h.Call("first", u))
}
}
var D = S.map(this.$GraphQLRange_getEdgeByID, this);
return l.after || (D = r.concat(D)), o.length && (D = D.filter(function(e) {
var t = g.getID(e);
return -1 == o.indexOf(t)
})), {
requestedEdges: D,
diffCalls: b,
pageInfo: c,
sessionID: this.$GraphQLRange_sessionID
}
}, c.prototype.$GraphQLRange_retrieveRangeInfoForLastQuery = function(e, t, n) {
var r = [],
o = [];
n && (r = n[f.APPEND] || [], o = n[f.REMOVE] || []);
var a, s, l = i(e, t),
u = l.last + o.length,
c = y(v);
c.sessionID = this.$GraphQLRange_sessionID;
var d = l.client_session ? l.client_session : null,
p = l.before;
if (void 0 !== p) {
if (s = this.$GraphQLRange_getSegmentIndexByCursor(p), null == s) return console.error("GraphQLRange cannot find a segment that has the cursor: " + p), {
requestedEdges: [],
diffCalls: [],
pageInfo: c,
sessionID: this.$GraphQLRange_sessionID
};
a = this.$GraphQLRange_orderedSegments[s]
} else {
var m = r.length;
if (u -= m, s = this.$GraphQLRange_orderedSegments.length - 1, a = this.$GraphQLRange_orderedSegments[s], d)
for (; s > 0 && a.getSessionID() > d;) s--, a = this.$GraphQLRange_orderedSegments[s]
}
var _ = a.getMetadataBeforeCursor(u, p, d),
S = _.edgeIDs,
w = _.cursors,
b = [];
if (w.length && (c.start_cursor = w[0], c.end_cursor = w[w.length - 1]), (!this.$GraphQLRange_hasFirst || 0 !== s || c.start_cursor && c.start_cursor !== a.getFirstCursor(d)) && (c.has_previous_page = !0, S.length < u)) {
u -= S.length;
var R = a.getFirstCursor();
if (null === R) b.push(new h.Call("last", l.last));
else {
if (void 0 !== R && b.push(new h.Call("before", R)), 0 !== s) {
var C = this.$GraphQLRange_orderedSegments[s - 1],
E = C.getLastCursor();
void 0 !== E && b.push(new h.Call("after", E))
}
b.push(new h.Call("last", u))
}
}
var D = S.map(this.$GraphQLRange_getEdgeByID, this);
return l.before || (D = D.concat(r)), o.length && (D = D.filter(function(e) {
var t = g.getID(e);
return -1 == o.indexOf(t)
})), {
requestedEdges: D,
diffCalls: b,
pageInfo: c,
sessionID: this.$GraphQLRange_sessionID
}
}, c.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = t[2],
i = t[3],
a = t[4],
s = new c;
return s.$GraphQLRange_hasFirst = n, s.$GraphQLRange_hasLast = r, s.$GraphQLRange_sessionID = o, s.$GraphQLRange_staticQueriesMap = i, s.$GraphQLRange_orderedSegments = a.map(function(e) {
return m.fromJSON(e)
}), s
}, c.prototype.toJSON = function() {
return [this.$GraphQLRange_hasFirst, this.$GraphQLRange_hasLast, this.$GraphQLRange_sessionID, this.$GraphQLRange_staticQueriesMap, this.$GraphQLRange_orderedSegments]
}, c.prototype.__debug = function() {
return {
dataStore: this.$GraphQLRange_dataStore,
orderedSegments: this.$GraphQLRange_orderedSegments
}
}, o.exports = c
}), __d("GraphQLSegment", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
this.$GraphQLSegment_indexToMetadataMap = {}, this.$GraphQLSegment_idToIndexMap = {}, this.$GraphQLSegment_cursorToIndexMap = {}, this.$GraphQLSegment_count = 0, this.$GraphQLSegment_minIndex = null, this.$GraphQLSegment_maxIndex = null, this.$GraphQLSegment_sessionID = e
}
var a = t("GraphQLConstants"),
s = t("GraphQLStoreDataHandler");
i.prototype.$GraphQLSegment_getIndexForCursor = function(e) {
return this.$GraphQLSegment_cursorToIndexMap[e]
}, i.prototype.$GraphQLSegment_getIndexForID = function(e) {
return this.$GraphQLSegment_idToIndexMap[e]
}, i.prototype.getFirstCursor = function(e) {
if (this.getLength())
for (var t = this.$GraphQLSegment_minIndex; t <= this.$GraphQLSegment_maxIndex; t++) {
var n = this.$GraphQLSegment_indexToMetadataMap[t];
if (this.$GraphQLSegment_edgeExistsAtSession(n, e)) return n.cursor
}
}, i.prototype.getLastCursor = function(e) {
if (this.getLength())
for (var t = this.$GraphQLSegment_maxIndex; t >= this.$GraphQLSegment_minIndex; t--) {
var n = this.$GraphQLSegment_indexToMetadataMap[t];
if (this.$GraphQLSegment_edgeExistsAtSession(n, e)) return n.cursor
}
}, i.prototype.$GraphQLSegment_getEdgeAtIndex = function(e) {
var t = this.$GraphQLSegment_indexToMetadataMap[e];
return t && !t.removalTime ? t : null
}, i.prototype.containsEdgeWithID = function(e) {
var t = this.$GraphQLSegment_getIndexForID(e);
return void 0 === t ? !1 : !!this.$GraphQLSegment_getEdgeAtIndex(t)
}, i.prototype.containsEdgeWithCursor = function(e) {
var t = this.$GraphQLSegment_getIndexForCursor(e);
return void 0 === t ? !1 : !!this.$GraphQLSegment_getEdgeAtIndex(t)
}, i.prototype.$GraphQLSegment_edgeExistsAtSession = function(e, t) {
return null == t ? !e.removalTime : e.cursor === a.DUMMY_CURSOR_ID ? !e.removalTime || e.removalTime > t : (!e.removalTime || e.removalTime > t) && (!e.insertionTime || e.insertionTime <= t)
}, i.prototype.getMetadataAfterCursor = function(e, t, n) {
if (!this.getLength()) return {
edgeIDs: [],
cursors: []
};
var r = this.$GraphQLSegment_minIndex;
if (t) {
var o = this.$GraphQLSegment_getIndexForCursor(t);
if (void 0 === o) return console.error("This segment does not have a cursor %s", t), {
edgeIDs: [],
cursors: []
};
r = o + 1
}
for (var i = 0, a = [], s = []; r <= this.$GraphQLSegment_maxIndex && e > i;) {
var l = this.$GraphQLSegment_indexToMetadataMap[r];
this.$GraphQLSegment_edgeExistsAtSession(l, n) && (a.push(l.edgeID), s.push(l.cursor), i++), r++
}
return {
edgeIDs: a,
cursors: s
}
}, i.prototype.getMetadataBeforeCursor = function(e, t, n) {
if (!this.getLength()) return {
edgeIDs: [],
cursors: []
};
var r = this.$GraphQLSegment_maxIndex;
if (t) {
var o = this.$GraphQLSegment_getIndexForCursor(t);
if (void 0 === o) return console.error("This segment does not have a cursor %s", t), {
edgeIDs: [],
cursors: []
};
r = o - 1
}
for (var i = 0, a = [], s = []; r >= this.$GraphQLSegment_minIndex && e > i;) {
var l = this.$GraphQLSegment_indexToMetadataMap[r];
this.$GraphQLSegment_edgeExistsAtSession(l, n) && (a.push(l.edgeID), s.push(l.cursor), i++), r--
}
return {
edgeIDs: a.reverse(),
cursors: s.reverse()
}
}, i.prototype.$GraphQLSegment_addEdgeAtIndex = function(e, t, n) {
if (0 === this.getLength()) this.$GraphQLSegment_minIndex = t, this.$GraphQLSegment_maxIndex = t;
else if (this.$GraphQLSegment_minIndex == t + 1) this.$GraphQLSegment_minIndex = t;
else {
if (this.$GraphQLSegment_maxIndex != t - 1) return void console.error("Attempted to add noncontiguous index to GraphQLSegment: " + t + " to (" + this.$GraphQLSegment_minIndex + ", " + this.$GraphQLSegment_maxIndex + ")");
this.$GraphQLSegment_maxIndex = t
}
var r = s.getID(e),
o = e.cursor,
i = this.$GraphQLSegment_getIndexForID(r);
return void 0 !== i && this.$GraphQLSegment_getEdgeAtIndex(i) ? void console.error("Attempted to add an ID already in GraphQLSegment: %s", r) : (this.$GraphQLSegment_indexToMetadataMap[t] = {
edgeID: r,
cursor: o,
insertionTime: n || null,
removalTime: null
}, this.$GraphQLSegment_idToIndexMap[r] = t, this.$GraphQLSegment_count++, void(o && (this.$GraphQLSegment_cursorToIndexMap[o] = t)))
}, i.prototype.prependEdge = function(e, t) {
this.$GraphQLSegment_addEdgeAtIndex(e, null !== this.$GraphQLSegment_minIndex ? this.$GraphQLSegment_minIndex - 1 : 0, t)
}, i.prototype.appendEdge = function(e, t) {
this.$GraphQLSegment_addEdgeAtIndex(e, null !== this.$GraphQLSegment_maxIndex ? this.$GraphQLSegment_maxIndex + 1 : 0, t)
}, i.prototype.removeEdge = function(e, t) {
var n = this.$GraphQLSegment_getIndexForID(e);
if (void 0 === n) return void console.error("Attempted to remove edge with ID that was never in GraphQLSegment: " + e);
var r = this.$GraphQLSegment_indexToMetadataMap[n];
return r.removalTime ? void console.error("Attempted to remove edge with ID that was already removed: " + e) : (r.removalTime = t, void this.$GraphQLSegment_count--)
}, i.prototype.addEdgesAfterCursor = function(e, t, n) {
var r = -1;
if (t && (r = this.$GraphQLSegment_getIndexForCursor(t), void 0 === r)) return void console.error("This segment does not have a cursor %s", t);
for (; null !== this.$GraphQLSegment_maxIndex && r < this.$GraphQLSegment_maxIndex;) {
var o = this.$GraphQLSegment_indexToMetadataMap[r + 1];
if (!o.removalTime) return void console.error("Attempted to do an overwrite to GraphQLSegment: last index is " + this.$GraphQLSegment_maxIndex + " trying to add edges before " + r);
r++
}
for (var i = r + 1, a = 0; a < e.length; a++) {
var s = e[a];
this.$GraphQLSegment_addEdgeAtIndex(s, i + a, n)
}
}, i.prototype.addEdgesBeforeCursor = function(e, t, n) {
var r = 1;
if (t && (r = this.$GraphQLSegment_getIndexForCursor(t), void 0 === r)) return void console.error("This segment does not have a cursor %s", t);
for (; null !== this.$GraphQLSegment_minIndex && r > this.$GraphQLSegment_minIndex;) {
var o = this.$GraphQLSegment_indexToMetadataMap[r - 1];
if (!o.removalTime) return void console.error("Attempted to do an overwrite to GraphQLSegment: first index is " + this.$GraphQLSegment_minIndex + " trying to add edges after " + r);
r--
}
for (var i = r - 1, a = 0; a < e.length; a++) {
var s = e[e.length - a - 1];
this.$GraphQLSegment_addEdgeAtIndex(s, i - a, n)
}
}, i.prototype.getLength = function() {
return null === this.$GraphQLSegment_minIndex && null === this.$GraphQLSegment_maxIndex ? 0 : this.$GraphQLSegment_maxIndex - this.$GraphQLSegment_minIndex + 1
}, i.prototype.getCount = function() {
return this.$GraphQLSegment_count
}, i.prototype.getSessionID = function() {
return this.$GraphQLSegment_sessionID
}, i.prototype.$GraphQLSegment_rollback = function(e, t, n) {
Object.assign(this.$GraphQLSegment_cursorToIndexMap, e), Object.assign(this.$GraphQLSegment_idToIndexMap, t), this.$GraphQLSegment_count = n.count, this.$GraphQLSegment_maxIndex = n.maxIndex, this.$GraphQLSegment_minIndex = n.minIndex
}, i.prototype.$GraphQLSegment_getCounterState = function() {
return {
count: this.$GraphQLSegment_count,
maxIndex: this.$GraphQLSegment_maxIndex,
minIndex: this.$GraphQLSegment_minIndex
}
}, i.prototype.concatSegment = function(e) {
if (!e.getLength()) return !0;
for (var t = {}, n = {}, r = this.$GraphQLSegment_getCounterState(), o = e.$GraphQLSegment_indexToMetadataMap, i = e.$GraphQLSegment_minIndex; i <= e.$GraphQLSegment_maxIndex; i++) {
var a;
this.getLength() ? a = this.$GraphQLSegment_maxIndex + 1 : (a = 0, this.$GraphQLSegment_minIndex = 0), this.$GraphQLSegment_maxIndex = a;
var s = o[i],
l = this.$GraphQLSegment_getIndexForID(s.edgeID);
if (void 0 !== l) {
var u = this.$GraphQLSegment_indexToMetadataMap[l];
if (u.removalTime && (!s.removalTime || u.removalTime < s.removalTime)) t[s.edgeID] = this.$GraphQLSegment_idToIndexMap[s.edgeID], this.$GraphQLSegment_idToIndexMap[s.edgeID] = a;
else if (!s.removalTime) return console.error("Attempt to concat an ID already in GraphQLSegment: %s", s.edgeID), this.$GraphQLSegment_rollback(n, t, r), !1
} else t[s.edgeID] = this.$GraphQLSegment_idToIndexMap[s.edgeID], this.$GraphQLSegment_idToIndexMap[s.edgeID] = a;
var c = this.$GraphQLSegment_getIndexForCursor(s.cursor);
if (void 0 !== c) {
var d = this.$GraphQLSegment_indexToMetadataMap[c];
if (d.removalTime && (!s.removalTime || d.removalTime < s.removalTime)) n[s.cursor] = this.$GraphQLSegment_cursorToIndexMap[s.cursor], this.$GraphQLSegment_cursorToIndexMap[s.cursor] = a;
else if (!s.removalTime) return console.error("Attempt to concat a cursor already in GraphQLSegment: %s", s.cursor), this.$GraphQLSegment_rollback(n, t, r), !1
} else s.cursor && (n[s.cursor] = this.$GraphQLSegment_cursorToIndexMap[s.cursor], this.$GraphQLSegment_cursorToIndexMap[s.cursor] = a);
s.removalTime || this.$GraphQLSegment_count++, this.$GraphQLSegment_indexToMetadataMap[a] = Object.assign({}, s)
}
return this.getSessionID() && (!e.getSessionID() || e.getSessionID() < this.getSessionID()) && (this.$GraphQLSegment_sessionID = e.getSessionID()), !0
}, i.prototype.toJSON = function() {
return [this.$GraphQLSegment_sessionID, this.$GraphQLSegment_indexToMetadataMap, this.$GraphQLSegment_idToIndexMap, this.$GraphQLSegment_cursorToIndexMap, this.$GraphQLSegment_minIndex, this.$GraphQLSegment_maxIndex, this.$GraphQLSegment_count]
}, i.fromJSON = function(e) {
var t = e,
n = t[0],
r = t[1],
o = t[2],
a = t[3],
s = t[4],
l = t[5],
u = t[6],
c = new i(n);
return c.$GraphQLSegment_indexToMetadataMap = r, c.$GraphQLSegment_idToIndexMap = o, c.$GraphQLSegment_cursorToIndexMap = a, c.$GraphQLSegment_minIndex = s, c.$GraphQLSegment_maxIndex = l, c.$GraphQLSegment_count = u, c
}, i.prototype.__debug = function() {
return {
metadata: this.$GraphQLSegment_indexToMetadataMap,
idToIndex: this.$GraphQLSegment_idToIndexMap,
cursorToIndex: this.$GraphQLSegment_cursorToIndexMap
}
}, o.exports = i
}), __d("GraphQLStoreWriter", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n, r, o, i, a, s) {
this.$GraphQLStoreWriter_nodeData = e, this.$GraphQLStoreWriter_queuedData = t, this.$GraphQLStoreWriter_queryTracker = n, this.$GraphQLStoreWriter_nodeRangeTracker = r, this.$GraphQLStoreWriter_mutationIDToClientNodeIDMap = o, this.$GraphQLStoreWriter_onChange = a, this.$GraphQLStoreWriter_forceIndex = s || null, !i || i in p.UPDATE_TYPES || S(0, "Invalid mutation update type %s passed into GraphQLStore", i), this.$GraphQLStoreWriter_shouldUpdateTrackedQueries = !i, this.$GraphQLStoreWriter_isOptimisticUpdate = i === p.OPTIMISTIC_UPDATE, this.$GraphQLStoreWriter_newlyAddedIDs = {}
}
function a(e) {
return e.split(".")[0]
}
function s(e, t) {
if (1 === e.length && e[0] === D) return d.VIEWER_CLIENT_ID;
for (var n = 0; n < e.length; n++) {
var r = e[n];
if (!t || !t.hasOwnProperty(r)) return null;
t = t[r]
}
return t && t.id && "string" == typeof t.id ? t.id : null
}
function l(e, t) {
for (var n in e)
if (n === t) return e[n];
return null
}
var u = t("DliteLog"),
c = t("GraphQL_EXPERIMENTAL"),
d = t("GraphQLConstants"),
p = t("GraphQLMutatorConstants"),
h = t("GraphQLRange"),
f = t("GraphQLRangeTracker"),
m = t("GraphQLStoreDataHandler"),
g = t("GraphQLStoreQueryPath"),
_ = t("GraphQLStoreRangeUtils"),
y = t("generateClientID"),
v = t("generateClientEdgeID"),
S = t("invariant"),
w = t("isEmpty"),
b = d.EDGES,
R = d.NODE,
C = d.NODES,
E = d.PAGE_INFO,
D = d.VIEWER,
x = {
error: !0,
client_mutation_id: !0
},
F = new c.Field(b, null, null, null, null, null, {
plural: !0
});
i.prototype.handleFieldMergeMutation = function(e, t) {
var n = Object.keys(e).filter(function(e) {
return !x[e]
});
1 !== n.length && S(0, "Simple mutations must have exactly one top-level payload field.");
var r, o = n[0];
o === D && (r = g.prunePathForDataID(d.VIEWER_CLIENT_ID));
var i = function(n) {
var a = n.getOwnField(o);
a && this.$GraphQLStoreWriter_storeField(t, a, e, {}, r), n.getFragments().forEach(i)
}.bind(this);
i(t)
}, i.prototype.handleMergeMutation = function(e, t) {
for (var n in e)
if (e.hasOwnProperty(n)) {
var r = e[n];
if ("object" == typeof r && ("id" in r || n === d.VIEWER || Array.isArray(r))) {
var o = {};
o[n] = r, this.handleFieldMergeMutation(o, t)
}
}
}, i.prototype.handleRangeAddMutation = function(e, t, n, r) {
var o = e[n.edgeName];
o.node || S(0, "newly added edge must have node field");
var i;
n.sourceID ? i = n.sourceID : (o.source.id || S(0, "add mutation without sourceID in the config must have an id in the source field of the new edge"), i = o.source.id);
var a = e.client_mutation_id,
s = this.$GraphQLStoreWriter_getRanges(i, n.connectionName),
u = o.node.id ? o.node.id : y();
o.node.__dataID__ = u, this.$GraphQLStoreWriter_isOptimisticUpdate ? o.node.id = u : this.$GraphQLStoreWriter_shouldUpdateTrackedQueries = !0, o.cursor = o.cursor || d.DUMMY_CURSOR_ID;
for (var c = 0; c < s.length; c++) {
var h = l(r, s[c].calls.toString());
if (h) {
var f = s[c].rangeID,
g = this.$GraphQLStoreWriter_nodeData[f].__path__.clone();
g.pushField(F);
var _ = v(f, u),
w = !1,
b = function(e) {
var t = e.getOwnField(n.edgeName);
t && (this.storeNodeWithID(t, o, _, g), w = !0), e.getFragments().forEach(b)
}.bind(this);
if (b(t), w || S(0, "Mutation query must include the relevant edge"), this.$GraphQLStoreWriter_isOptimisticUpdate) this.$GraphQLStoreWriter_handleOptimisticRangeUpdate(this.$GraphQLStoreWriter_queuedData[_], f, h);
else {
var R = this.$GraphQLStoreWriter_nodeData[_];
switch (h) {
case p.PREPEND:
s[c].range.prependEdge(R);
break;
case p.APPEND:
s[c].range.appendEdge(R);
break;
default:
console.error("Invalid GraphQLRange operation")
}
this.$GraphQLStoreWriter_nodeRangeTracker.addRangeIDForNodeID(f, u);
var C = this.$GraphQLStoreWriter_mutationIDToClientNodeIDMap[a];
C && (m.updateClientServerIDMap(C, R.node.__dataID__), delete this.$GraphQLStoreWriter_mutationIDToClientNodeIDMap[a])
}
}
}
this.$GraphQLStoreWriter_isOptimisticUpdate && (this.$GraphQLStoreWriter_mutationIDToClientNodeIDMap[a] = u), this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(i)
}, i.prototype.handleRangeDeleteMutation = function(e, t) {
var n = e[t.deletedIDFieldName];
void 0 === n && S(0, "deleted id must be in the payload");
var r = t.pathToConnection.pop(),
o = s(t.pathToConnection, e);
if (t.pathToConnection.push(r), o)
for (var i = this.$GraphQLStoreWriter_getRanges(o, r), a = 0; a < i.length; a++) this.deleteNodeFromRangeWithID(n, i[a].rangeID)
}, i.prototype.handleNodeDeleteMutation = function(e, t) {
var n = e[t.deletedIDFieldName];
void 0 === n && S(0, "deleted id must be in the payload"), this.deleteNodeWithID(n)
}, i.prototype.deleteNodeFromRangeWithID = function(e, t) {
var n = v(t, e);
if (this.$GraphQLStoreWriter_isOptimisticUpdate) this.$GraphQLStoreWriter_handleOptimisticRangeUpdate(n, t, p.REMOVE);
else {
var r = this.$GraphQLStoreWriter_nodeData[t];
r.__range__.removeEdgeWithID(n)
}
this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(t), this.deleteNodeWithID(n)
}, i.prototype.deleteNodeWithID = function(e) {
var t = this.$GraphQLStoreWriter_queuedData[e] || this.$GraphQLStoreWriter_nodeData[e];
if (null !== t) {
var n = this.$GraphQLStoreWriter_getNodeSink();
null !== n[e] && (n[e] = null, this.$GraphQLStoreWriter_nodeRangeTracker.getRangeIDsForNodeID(e).forEach(function(t) {
this.deleteNodeFromRangeWithID(e, t)
}.bind(this)), this.$GraphQLStoreWriter_isOptimisticUpdate || this.$GraphQLStoreWriter_nodeRangeTracker.clearRangeIDsForNodeID(e), this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(e))
}
}, i.prototype.storeNodeWithID = function(e, t, n, r) {
r = g.prunePathForDataID(n, r);
var o = this.$GraphQLStoreWriter_getNodeSink();
o[n] || (o[n] = m.createPointerWithID(n), this.$GraphQLStoreWriter_shouldUpdateTrackedQueries || (this.$GraphQLStoreWriter_newlyAddedIDs[n] = !0)), m.isClientID(n) && !o[n].__path__ && (o[n].__path__ = r.clone()), this.$GraphQLStoreWriter_traverseNode(e, t, o[n], r), (this.$GraphQLStoreWriter_shouldUpdateTrackedQueries || this.$GraphQLStoreWriter_newlyAddedIDs[n]) && this.$GraphQLStoreWriter_queryTracker.addQueryForID(n, e)
}, i.prototype.$GraphQLStoreWriter_traverseNode = function(e, t, n, r, o) {
for (var i = e.getOwnFields(), a = 0; a < i.length; a++) {
var s = i[a];
r.withField(s, function() {
this.$GraphQLStoreWriter_storeField(o || e, s, t, n, r)
}.bind(this))
}
for (var l = e.getFragments(), u = 0; u < l.length; u++) this.$GraphQLStoreWriter_traverseNode(l[u], t, n, r, o || e)
}, i.prototype.$GraphQLStoreWriter_storeField = function(e, t, n, r, o) {
var i, a, s = r.__dataID__,
l = _.getStorageKeyForField(t, {}),
u = t.getGeneratedAlias();
if (i = n.hasOwnProperty(u) ? n[u] : n[t.getGeneratedFieldName()], Array.isArray(i))
if (l == b && _.isRangeNode(e)) {
var c = e.getCalls();
if (w(c)) return void console.error("The field %s is a range node, and thus expected to have a first() or last() filter call", e.getFieldName());
s || S(0, "Parent of edges must have an ID");
for (var p, m = f.isFieldTracked(t, s), g = 0; g < i.length; g++) {
var x = i[g],
F = x.node;
if (null === F) p = p || i.slice(0, g);
else {
var I = F.id || F.__dataID__ || y(),
T = v(s, I);
F.__dataID__ = I, x.__dataID__ = T, this.$GraphQLStoreWriter_nodeRangeTracker.addRangeIDForNodeID(s, I), this.storeNodeWithID(t, x, T, o), p && p.push(x), m && f.trackEdge(t, T, s)
}
}
i = p || i;
var P = !1,
L = this.$GraphQLStoreWriter_nodeData[s] || r,
k = this.$GraphQLStoreWriter_forceIndex && (void 0 === L.__forceIndex__ || this.$GraphQLStoreWriter_forceIndex > L.__forceIndex__);
!L.__range__ || k ? (r.__range__ = new h(this.$GraphQLStoreWriter_nodeData), r.__filterCalls__ = _.getFilterCalls(c), P = !0, k && (r.__forceIndex__ = this.$GraphQLStoreWriter_forceIndex)) : r.__range__ = L.__range__;
var M = n[E];
M || (M = {
has_previous_page: !1,
has_next_page: !1
}), r.__range__.addItems(c, {}, i, M), w(L) || w(i) || this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(s)
} else {
if (l == C) throw new Error("Request edges instead of nodes, cursor field is required");
r[l] || (r[l] = [], s && this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(s)), i.length < r[l].length && (r[l].length = i.length, s && this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(s));
for (var A = 0; A < i.length; A++)
if ("object" != typeof i[A]) this.$GraphQLStoreWriter_writeData(r[l], A, i[A]);
else {
if (a = null, i[A].id) a = i[A].id;
else {
var Q = this.$GraphQLStoreWriter_nodeData[s] || r;
Q && Array.isArray(Q[l]) && Q[l][A] && (a = Q[l][A].__dataID__)
}
a || (a = y()), this.$GraphQLStoreWriter_writePointer(r[l], A, a), this.storeNodeWithID(t, i[A], a, o)
}
} else if (t.hasFields()) {
if (a = null, l == E) return;
if (void 0 === i || null === i) return void this.$GraphQLStoreWriter_writeData(r, l, i);
l === D ? a = d.VIEWER_CLIENT_ID : l == R ? a = i.__dataID__ || i.id || y() : (a = i.id, !a && s && (Q = this.$GraphQLStoreWriter_nodeData[s], Q && Q[l] ? a = Q[l].__dataID__ : r && r[l] && (a = r[l].__dataID__)), a || (a = y())), this.$GraphQLStoreWriter_writePointer(r, l, a), this.storeNodeWithID(t, i, a, o)
} else this.$GraphQLStoreWriter_writeData(r, l, i)
}, i.prototype.$GraphQLStoreWriter_handleOptimisticRangeUpdate = function(e, t, n) {
n in p.RANGE_OPERATIONS || S(0, "Invalid operation %s provided", n), n === p.REMOVE && "string" == typeof e || n !== p.REMOVE && "object" == typeof e || S(0, "Incorrect edge information provided");
var r = this.$GraphQLStoreWriter_queuedData;
t in r || (r[t] = {}), n in r[t] || (r[t][n] = []), n === p.PREPEND ? r[t][n].unshift(e) : r[t][n].push(e)
}, i.prototype.$GraphQLStoreWriter_getRanges = function(e, t) {
var n = this.$GraphQLStoreWriter_nodeData,
r = n[e],
o = [];
if (r)
for (var i in r) {
var s = a(i);
if (s === t) {
var l = n[r[i].__dataID__];
l && l.__range__ && l.__range__ instanceof h && l.__filterCalls__ ? o.push({
rangeID: l.__dataID__,
range: l.__range__,
calls: l.__filterCalls__
}) : u.warn("Found a field matching connectionName with no range")
}
}
return o
}, i.prototype.$GraphQLStoreWriter_writeData = function(e, t, n) {
e[t] !== n && (e[t] = n, e.__dataID__ && this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(e.__dataID__))
}, i.prototype.$GraphQLStoreWriter_writePointer = function(e, t, n) {
e[t] && n === e[t].__dataID__ || (e[t] = m.createPointerWithID(n), e.__dataID__ && this.$GraphQLStoreWriter_onChange && this.$GraphQLStoreWriter_onChange(e.__dataID__))
}, i.prototype.$GraphQLStoreWriter_getNodeSink = function() {
return this.$GraphQLStoreWriter_isOptimisticUpdate ? this.$GraphQLStoreWriter_queuedData : this.$GraphQLStoreWriter_nodeData
}, o.exports = i
}), __d("generateClientID", [], function(e, t, n, r, o) {
"use strict";
function i() {
return u + l++
}
var a = t("crc32"),
s = t("performanceNow"),
l = 1,
u = "client:" + a("" + s());
o.exports = i
}), __d("generateClientEdgeID", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
return "client:" + e + ":" + t
}
o.exports = i
}), __d("generateForceIndex", [], function(e, t, n, r, o) {
"use strict";
function i() {
return a++
}
var a = 1;
o.exports = i
}), __d("GraphQLStoreQueryResolver", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
this.reset(), this.$GraphQLStoreQueryResolver_callback = e
}
function a(e) {
this.reset(), this.$GraphQLStorePluralQueryResolver_callback = e
}
function s(e) {
this.reset(), this.$GraphQLStoreSingleQueryResolver_callback = e
}
function l(e, t, n) {
var r, o = p.getDeepNodeFromData(e, t, function(t) {
return !t.getScope() || e.getScope() === t.getScope()
}, n);
return o && (r = u(o)), [o, r]
}
function u(e) {
function t(e) {
Array.isArray(e) ? r.push.apply(r, e) : r.push(e)
}
for (var n = {}, r = [e]; r.length;) {
var o = r.shift();
if (o && "object" == typeof o) {
var i = f.getID(o);
null != i && (n[i] = null), g(o, t)
}
}
return n
}
function c(e) {
var t = m.parseRangeClientID(e);
return t ? t.dataID : e
}
var d = t("DliteProfiler"),
p = t("GraphQLStore"),
h = t("GraphQLStoreChangeEmitter"),
f = t("GraphQLStoreDataHandler"),
m = t("GraphQLStoreRangeUtils"),
g = t("forEachObject"),
_ = t("invariant");
i.prototype.reset = function() {
this.$GraphQLStoreQueryResolver_callback = null, this.$GraphQLStoreQueryResolver_resolver && this.$GraphQLStoreQueryResolver_resolver.reset(), this.$GraphQLStoreQueryResolver_resolver = null, this.$GraphQLStoreQueryResolver_isPluralResolver = null
}, i.prototype.resolve = function(e, t) {
var n = null === this.$GraphQLStoreQueryResolver_isPluralResolver;
return n ? (this.$GraphQLStoreQueryResolver_isPluralResolver = e.isPlural(), this.$GraphQLStoreQueryResolver_resolver = this.$GraphQLStoreQueryResolver_isPluralResolver ? new a(this.$GraphQLStoreQueryResolver_callback) : new s(this.$GraphQLStoreQueryResolver_callback)) : this.$GraphQLStoreQueryResolver_isPluralResolver !== e.isPlural() && _(0, "GraphQLStoreQueryResolver: Expected a %s query fragment. Got a %s query fragment instead.", this.$GraphQLStoreQueryResolver_isPluralResolver ? "plural" : "single", e.isPlural() ? "plural" : "single"), this.$GraphQLStoreQueryResolver_resolver.resolve(e, t)
}, a.prototype.reset = function() {
this.$GraphQLStorePluralQueryResolver_resolvers ? (this.$GraphQLStorePluralQueryResolver_resolvers.forEach(function(e) {
return e.reset()
}), this.$GraphQLStorePluralQueryResolver_resolvers.length = 0) : this.$GraphQLStorePluralQueryResolver_resolvers = [], this.$GraphQLStorePluralQueryResolver_callback = null, this.$GraphQLStorePluralQueryResolver_results = []
}, a.prototype.resolve = function(e, t) {
null == t || Array.isArray(t) || _(0, "GraphQLStoreQueryResolver: Plural fragment can only resolve an array of pointers.");
for (var n, r = this.$GraphQLStorePluralQueryResolver_results, o = r.length, i = t ? t.length : 0, a = this.$GraphQLStorePluralQueryResolver_resolvers; a.length < i;) a.push(new s(this.$GraphQLStorePluralQueryResolver_callback));
for (; a.length > i;) a.pop().reset();
o !== i && (n = []);
for (var l = 0; i > l; l++) {
var u = a[l].resolve(e, t[l]);
(n || l >= o || u !== r[l]) && (n = n || r.slice(0, l), n.push(u))
}
return n && (this.$GraphQLStorePluralQueryResolver_results = n), this.$GraphQLStorePluralQueryResolver_results
}, s.prototype.reset = function() {
this.$GraphQLStoreSingleQueryResolver_subscription && (this.$GraphQLStoreSingleQueryResolver_subscription.remove(), this.$GraphQLStoreSingleQueryResolver_subscription = null), this.$GraphQLStoreSingleQueryResolver_queryFragment = null, this.$GraphQLStoreSingleQueryResolver_callback = null, this.$GraphQLStoreSingleQueryResolver_isDirty = !1, this.$GraphQLStoreSingleQueryResolver_resultID = null, this.$GraphQLStoreSingleQueryResolver_result = null
}, s.prototype.resolve = function(e, t) {
Array.isArray(t) && _(0, "GraphQLStoreQueryResolver: Singular fragment cannot resolve an array of pointers.");
var n, r, o, i = this.$GraphQLStoreSingleQueryResolver_resultID,
a = this.$GraphQLStoreSingleQueryResolver_result,
s = this.$GraphQLStoreSingleQueryResolver_queryFragment;
if (t) {
if (r = f.getID(t), null != i && null != r && c(i) === c(r))
if (this.$GraphQLStoreSingleQueryResolver_isDirty || i != r || s !== e) {
var u = l(e, t, a);
o = u[0], n = u[1]
} else o = a;
else {
var d = l(e, t),
p = d[0],
m = d[1];
null != r && (n = m), o = p
}
this.$GraphQLStoreSingleQueryResolver_isDirty = !1
} else o = t;
return a !== o && (this.$GraphQLStoreSingleQueryResolver_subscription && (this.$GraphQLStoreSingleQueryResolver_subscription.remove(), this.$GraphQLStoreSingleQueryResolver_subscription = null), n && (this.$GraphQLStoreSingleQueryResolver_subscription = h.addListenerForIDs(Object.keys(n), this.$GraphQLStoreSingleQueryResolver_handleChange.bind(this))), this.$GraphQLStoreSingleQueryResolver_resultID = r, this.$GraphQLStoreSingleQueryResolver_result = o), this.$GraphQLStoreSingleQueryResolver_queryFragment = e, this.$GraphQLStoreSingleQueryResolver_result
}, s.prototype.$GraphQLStoreSingleQueryResolver_handleChange = function() {
this.$GraphQLStoreSingleQueryResolver_isDirty || (this.$GraphQLStoreSingleQueryResolver_isDirty = !0, this.$GraphQLStoreSingleQueryResolver_callback())
}, d.instrumentMethods(i.prototype, {
resolve: "GraphQLStoreQueryResolver.resolve"
}), o.exports = i
}), __d("ReactGraphQL", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
C(e.queries, function(n, r) {
var o = e.getQuery(r);
o && t(o, r)
})
}
function a(e, t) {
return e + "." + t
}
var s = t("DliteDebugger"),
l = t("DliteProfiler"),
u = t("DliteReactQueryParamCache"),
c = t("DliteRoute"),
d = t("DliteRouteQueryCache"),
p = t("ErrorUtils"),
h = t("GraphQLDeferredQueryTracker"),
f = t("GraphQLQueryRunner"),
m = t("GraphQLStore"),
g = t("GraphQLStoreChangeEmitter"),
_ = t("GraphQLStoreDataHandler"),
y = t("GraphQLStoreQueryResolver"),
v = t("Map"),
S = t("React"),
w = t("ReactGraphQLComparators"),
b = t("ReactGraphQLQueryBuilder"),
R = t("ReactUpdates"),
C = t("forEachObject"),
E = t("invariant"),
D = t("mapObject"),
x = t("mixInEventEmitter");
g.injectBatchingStrategy(R.batchedUpdates);
var F = {},
I = Object.freeze({}),
T = {
Mixin: {
statics: {
getQueriesForRoute: function(e) {
var t = this,
n = d.get(t, e);
if (n) return n;
var r = D(t.queries, function(n, r) {
if (e.hasQuery(r)) {
var o = t.getQuery(r);
return e.getQuery(r, o)
}
return null
});
return d.set(t, e, r), r
},
getQuery: function(e, t) {
var n = this;
return b.get(n, e, t)
}
},
mixins: [w.Mixin],
setQueryParams: function(e) {
var t, n = this._unresolvedQueryParams || this._resolvableQueryParams || this.queryParams;
for (var r in e)
if (n[r] !== e[r]) {
t = Object.assign({}, n, e);
break
}
if (t) {
__DEV__ && T.emit("beginQueryParamChange", this.constructor.displayName, t), this._abortPendingQueryParamsRun(), t = this._processQueryParams(this.context.route, t);
var o;
i(this.constructor, function(e, n) {
var r = this.props[n];
if (r) {
var i = e.getQueryFragment(this.context.route, t);
i && (o = o || {}, o[n] = m.buildFragmentQueryForDataID(i, _.getID(r)))
}
}.bind(this)), o && (this._pendingQueryParamsRun = f.run(o, {
onSuccess: p.guard(function() {
this._unresolvedQueryParams = null, this._resolvableQueryParams = t, this._pendingQueryParamsRun = null;
var e = l.instrumentAsync("React.setPropsInternal.onSuccess");
this._setPropsInternal(F, e.stop), __DEV__ && T.emit("endQueryParamChange", this.constructor.displayName, t)
}.bind(this), "ReactGraphQL:setQueryParams")
})), this._unresolvedQueryParams = t
}
},
hasQueryData: function(e, t) {
if (!f.hasPendingQueries()) return !0;
var n = e.getQueryFragment(this.context.route),
r = _.getID(t),
o = m.buildFragmentQueryForDataID(n, r),
i = !h.isQueryPending(o);
if (!i) {
var s = n.getName(),
l = a(r, s);
this._deferredQuerySubscriptions || (this._deferredQuerySubscriptions = {}), this._deferredQuerySubscriptions.hasOwnProperty(l) || (this._deferredQuerySubscriptions[l] = h.addListenerForFragment(r, s, this._handleDeferredQueryResolution))
}
return i
},
contextTypes: {
route: S.PropTypes.instanceOf(c).isRequired
},
getInitialState: function() {
return this.constructor.queries || E(0, "ReactGraphQL.Mixin: %s must provide a valid object for queries.", this.constructor.displayName), __DEV__ && (Object.keys(this.constructor.queries).length || console.warn("ReactGraphQL.Mixin is unnecessary for %s if no queries are defined.", this.constructor.displayName)), this._unresolvedQueryParams = null, this._resolvableQueryParams = null, this._pendingQueryParamsRun = null, this.queryParams = this._getInitialQueryParams(), this._queryFragments = null, this._updateQueryFragments(this.context.route, this.queryParams), this._queryResolvers = null, this._processQueryProps(this.context.route, this.queryParams, this.props), this._originalShouldComponentUpdate = this.shouldComponentUpdate, this.shouldComponentUpdate = this._shouldComponentUpdate, {}
},
componentWillReceiveProps: function(e, t) {
var n = this._resolvableQueryParams || this.queryParams;
this._updateQueryFragments(t.route, n), this._processQueryProps(t.route, n, e), this._resolvableQueryParams && (this.queryParams = this._resolvableQueryParams, this._resolvableQueryParams = null, u.set(this, this.queryParams))
},
_shouldComponentUpdate: function(e, t, n) {
return this._hasStaleQueryData ? (this._hasStaleQueryData = !1, !0) : this._hasNewDeferredData ? (this._hasNewDeferredData = !1, !0) : this._originalShouldComponentUpdate && this._originalShouldComponentUpdate.apply(this, arguments) ? !0 : this._originalShouldComponentUpdate ? !this.areDlitePropsEqualTo(e) || !this.isDliteContextEqualTo(n) : !this.arePropsEqualTo(e) || !this.isStateEqualTo(t) || !this.isContextEqualTo(n)
},
componentWillMount: function() {
__DEV__ && s.installIntoComponent(this)
},
componentWillUnmount: function() {
this._queryResolvers.forEach(function(e) {
return e.reset()
}), this._queryResolvers = null, this._deferredQuerySubscriptions && (C(this._deferredQuerySubscriptions, function(e) {
e && e.remove()
}), this._deferredQuerySubscriptions = null), this._unresolvedQueryParams = null, this._resolvableQueryParams = null, this._abortPendingQueryParamsRun()
},
_processQueryProps: function(e, t, n) {
var r = !this._queryResolvers;
r && (this._queryResolvers = new v, i(this.constructor, function(e, t) {
var n = new y(this._handleQueryPropChange);
this._queryResolvers.set(t, n)
}.bind(this))), this._queryResolvers.forEach(function(e, t) {
var o, i = this._queryFragments && this._queryFragments[t];
if (i) {
var a = n[t];
o = e.resolve(i, a), r || this.props[t] === o || (this._hasStaleQueryData = !0)
} else o = null;
n[t] = o
}.bind(this))
},
_handleQueryPropChange: function() {
var e = l.instrumentAsync("React.setPropsInternal.onSubscription");
this._setPropsInternal(F, e.stop)
},
_handleDeferredQueryResolution: function(e, t) {
var n = a(e, t);
if (this._deferredQuerySubscriptions && this._deferredQuerySubscriptions.hasOwnProperty(n)) {
var r = l.instrumentAsync("React.setPropsInternal.onSubscription");
this._hasNewDeferredData = !0, this._deferredQuerySubscriptions[n].remove(), delete this._deferredQuerySubscriptions[n], this._setPropsInternal(F, r.stop)
}
},
_abortPendingQueryParamsRun: function() {
this._pendingQueryParamsRun && (this._pendingQueryParamsRun.abort(), this._pendingQueryParamsRun = null)
},
_updateQueryFragments: function(e, t) {
this._queryFragments && this.queryParams === t && this.context.route.getCacheKey() === e.getCacheKey() || (t = this._processQueryParams(e, t), this._queryFragments = null, i(this.constructor, function(n, r) {
var o = n.getQueryFragment(e, t);
o && (this._queryFragments = this._queryFragments || {}, this._queryFragments[r] = o)
}.bind(this)))
},
_getInitialQueryParams: function() {
var e = this.constructor.queryParams,
t = u.get(this);
if (!t && e) {
var n;
for (var r in e) r in this.props && (n = n || Object.assign({}, e), n[r] = this.props[r]);
t = n || e
}
return t || I
},
_processQueryParams: function(e, t) {
var n = this.constructor.processQueryParams;
if (n)
if (__DEV__) {
var r = Object.freeze(Object.assign({}, t)),
o = n(e, r);
o !== r && (t = o)
} else t = n(e, t);
return t
}
}
};
x(T, {
beginQueryParamChange: !0,
endQueryParamChange: !0
}), l.instrumentMethods(T.Mixin.statics, {
getQueriesForRoute: "ReactGraphQL.getQueriesForRoute"
}), l.instrumentMethods(T.Mixin, {
getInitialState: "ReactGraphQL.getInitialState",
componentWillReceiveProps: "ReactGraphQL.componentWillReceiveProps",
_shouldComponentUpdate: "ReactGraphQL.shouldComponentUpdate"
}), o.exports = T
}), __d("DliteDebugger", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
var n = e.constructor.getQuery(t).getQueryFragment(e.context.route, e.queryParams);
if (n instanceof p.QueryFragment) {
var r = f.getID(e.props[t]);
n = h.buildFragmentQueryForDataID(n, r)
}
return n
}
function a(e) {
var t = e.constructor,
n = g(t.queries, function(t, n) {
return e.props[n]
});
return m(n, function(e) {
return e && Object.keys(e).some(function(e) {
return !e.startsWith("__")
})
})
}
function s(e) {
var t = a(e);
t && (t.component = e.constructor.displayName);
var n;
return e._renderedComponent ? n = s(e._renderedComponent) : e._renderedChildren && (n = Object.keys(e._renderedChildren).map(function(t) {
return s(e._renderedChildren[t])
}).filter(function(e) {
return e
})), Array.isArray(n) && (1 === n.length ? n = n[0] : n.length || (n = null)), t && n && (t.children = n), t || n
}
function l(e, t) {
var n = e.props[t];
return !!(n && "object" == typeof n && !Array.isArray(n) && f.getID(n) && e.constructor.getQuery && e.constructor.getQuery(t))
}
function u(e, t) {
var n = {};
for (var r in e.props) l(e, r) && (n[r] = t(e, r));
return n
}
function c(e, t) {
var n = i(e, t).getQuery(),
r = s(e),
o = r[t];
console.log(t, o, _ + encodeURIComponent(n))
}
function d(e, t, n) {
Object.defineProperty(e, t, {
configurable: !0,
enumerable: !0,
get: n
})
}
var p = t("GraphQL_EXPERIMENTAL"),
h = t("GraphQLStore"),
f = t("GraphQLStoreDataHandler"),
m = t("filterObject"),
g = t("mapObject"),
_ = "https://our.intern.facebook.com/intern/graphiql?query=",
y = {
getQueries: function(e) {
return u(e, i)
},
getProps: function(e) {
return s(e)
},
logProps: function(e) {
Object.keys(e.props).filter(function(t) {
return l(e, t)
}).forEach(function(t) {
return c(e, t)
})
},
installIntoComponent: function(e) {
d(e, "debugQueries", function() {
return g(y.getQueries(e), function(e) {
return e.getQuery().toString()
})
}), d(e, "debugProps", function() {
return g(y.getProps(e), function(e) {
return JSON.stringify(e, null, " ")
})
}), d(e, "debugConsole", function() {
return y.logProps(e), "Info logged to console..."
})
}
};
o.exports = y
}), __d("filterObject", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
if (!e) return null;
var r = {};
for (var o in e) e.hasOwnProperty(o) && t.call(n, e[o], o) && (r[o] = e[o]);
return r
}
o.exports = i
}), __d("DliteReactQueryParamCache", [], function(e, t, n, r, o) {
"use strict";
var i = t("createComponentCacheKey"),
a = t("emptyFunction"),
s = a,
l = {
injectStorageStrategy: function(e) {
s = e
},
set: function(e, t) {
var n = s();
if (n) {
var r = i(e);
n.addQueryParams(t, r)
}
},
get: function(e) {
var t = s(),
n = null;
if (t && t.hasQueryParams()) {
var r = i(e);
n = t.copyQueryParams(r)
}
return n
}
};
o.exports = l
}), __d("createComponentCacheKey", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return e.displayName || u(0, "Cannot create cache key for component without `displayName`."), e.displayName
}
function a(e) {
var t = e._rootNodeID,
n = l.getReactRootIDFromNodeID(t);
return t.substr(n.length)
}
function s(e) {
e._rootNodeID || u(0, "Cannot create cache key for component unless it is mounting or mounted.");
var t = [];
do {
var n = i(e.constructor),
r = a(e);
t.unshift("(" + n + ")" + r), e = e._owner
} while (e);
return t.join(":")
}
var l = t("ReactInstanceHandles"),
u = t("invariant");
o.exports = s
}), __d("DliteRoute", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
this.$DliteRoute_data = t || this.constructor.parse(e) || this.constructor.__defaultData, this.$DliteRoute_uri = e, this.$DliteRoute_cacheKey = null
}
function a(e) {
return (e + "").replace(/([.?*+^$[\]\\(){}|-])/g, "\\$1")
}
var s = t("DliteRouteInitialData"),
l = t("DliteRouteRegExps"),
u = t("DliteRouter"),
c = t("GraphQL_EXPERIMENTAL"),
d = t("ReactGraphQLQueryBuilder"),
p = t("XControllerURIBuilder"),
h = t("invariant"),
f = t("mapObject"),
m = t("merge"),
g = t("stableStringify"),
_ = {
viewer: !0
};
i.create = function(e) {
e.name && "string" == typeof e.name || h(0, "Route spec must have a `name` property of type string"), e.path && "string" == typeof e.path || h(0, "Route spec must have a `path` property of type string"), e.path.match("^/") || h(0, "Route `path` must begin with a slash"), "/" === e.path || e.path.match("[^/]$") || h(0, "Route `path` must not end with a slash");
var t = function() {
function e() {
null !== i && i.apply(this, arguments)
}
for (var t in i) i.hasOwnProperty(t) && (e[t] = i[t]);
var n = null === i ? null : i.prototype;
return e.prototype = Object.create(n), e.prototype.constructor = e, e.__superConstructor__ = i, e
}();
return t.__name = e.name, t.__path = e.path, t.__paramDefinitions = e.paramDefinitions, t.__queries = e.queries, t.__renderTitle = e.renderTitle, t.__component = e.component, t.__defaultData = e.defaultData, t
}, i.getName = function() {
return this.__name
}, i.register = function() {
this.$DliteRoute_routeRegistered || (u.addRoute(this), this.$DliteRoute_routeRegistered = !0)
}, i.getURIBuilder = function() {
return this.register(), new p(this.__path, this.__paramDefinitions)
}, i.getSortKey = function() {
var e = this.$DliteRoute_getRegexAndCaptureNames();
return e.regexString
}, i.parse = function(e) {
var t = e.getDomain();
if (t && t !== s.domain) return null;
var n = this.$DliteRoute_getRegexAndCaptureNames(),
r = n.regex,
o = n.captureNames,
i = e.getPath(),
a = r.exec(i);
if (!a) return null;
for (var l = m(e.getQueryData()), u = 1; u < a.length; u++) l[o[u - 1]] = a[u];
return l
}, i.prototype.getName = function() {
return this.constructor.__name
}, i.prototype.getData = function() {
return this.$DliteRoute_data
}, i.prototype.getQuery = function(e, t) {
var n = this.$DliteRoute_data[e],
r = this.constructor.__queries,
o = r && r[e];
if (!o && "viewer" === e) {
var i = t && [t.getQueryFragment(this)];
return new c.QueryWithValues(new c.Query("viewer", null, null, i, null, this.getName()))
}
if (!o) return null;
if (!_.hasOwnProperty(e)) {
var a = this.constructor.__paramDefinitions;
if (null == n && a.hasOwnProperty(e) && !a[e].required) return null;
null == n && h(0, 'Required param "%s" for %s is %s. Check your URI.', e, this.getName(), null === n ? "null" : "undefined")
}
return new c.QueryWithValues(o(n, t, d.getQueryInterpreter(this)))
}, i.prototype.getQueries = function() {
return f(this.constructor.__queries, function(e, t) {
return this.getQuery(t)
}.bind(this))
}, i.prototype.hasQuery = function(e) {
var t = this.constructor.__queries;
return "viewer" === e || !(!t || !t[e])
}, i.prototype.getURI = function() {
return this.$DliteRoute_uri
}, i.prototype.getCacheKey = function() {
return this.$DliteRoute_cacheKey || (this.$DliteRoute_cacheKey = g({
route: this.getName(),
args: this.getData()
})), this.$DliteRoute_cacheKey
}, i.prototype.isA = function(e) {
return this.getName() === e
}, i.prototype.renderTitle = function(e) {
var t = this.constructor.__renderTitle;
return t && t(e)
}, i.prototype.getComponent = function() {
return this.constructor.__component
}, i.$DliteRoute_getRegexAndCaptureNames = function() {
if (!this.$DliteRoute_regex) {
if (this.$DliteRoute_captureNames = [], "/" === this.__path) this.$DliteRoute_regexString = "^/$";
else {
var e = this.__path.slice(1).split("/"),
t = e.map(function(e) {
if (l.PATH_COMPONENT.test(e)) return "/" + a(e);
var t = "?" == e[1],
n = e.slice(t ? 2 : 1, -1),
r = this.__paramDefinitions[n],
o = l.COMPONENT_VALUE[r.type],
i = "(" + o + ")";
return this.$DliteRoute_captureNames.push(n), t ? "(?:/" + i + ")?" : "/" + i
}.bind(this), this);
this.$DliteRoute_regexString = "^" + t.join("") + "/?$"
}
this.$DliteRoute_regex = new RegExp(this.$DliteRoute_regexString)
}
return {
regex: this.$DliteRoute_regex,
regexString: this.$DliteRoute_regexString,
captureNames: this.$DliteRoute_captureNames
}
}, o.exports = i
}), __d("DliteRouteInitialData", [], function(e, t, n, r, o) {
"use strict";
var i = {
domain: "www.facebook.com"
};
o.exports = i
}), __d("DliteRouteRegExps", [], function(e, t, n, r, o) {
var i = {
PATH_COMPONENT: /^[^\/{}]+$/,
COMPONENT_VALUE: {
Float: "-?(?:\\.\\d+|\\d+(?:\\.\\d+)?)",
Int: "-?\\d+",
Path: ".+?",
String: "[^/]+"
}
};
o.exports = i
}), __d("DliteRouter", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
var r = e.getSortKey(),
o = n - t;
if (0 === o) return t;
var a = t + o / 2 | 0;
return s(r, u[a].getSortKey()) <= 0 ? i(e, t, a) : i(e, a + 1, n)
}
function a(e) {
for (var t = [], n = 0, r = 0, o = 0; n < e.length; n++) switch (e.charAt(n)) {
case "/":
o || (n - r > 0 && t.push(e.slice(r, n)), "?" === e.charAt(n + 1) && n++, r = n + 1);
break;
case "(":
o++ || (n - r > 0 && t.push(e.slice(r, n)), r = n);
break;
case ")":
--o || ("?" === e.charAt(n + 1) && n++, t.push(e.slice(r, n + 1)), r = n + 1)
}
return t
}
function s(e, t) {
e = a(e), t = a(t);
for (var n = 0; n < Math.min(e.length, t.length); n++) {
var r = e[n],
o = t[n],
i = l(r) - l(o);
if (i) return i;
var s = r.toLowerCase(),
u = o.toLowerCase();
if (s !== u) return u > s ? -1 : 1;
if (r !== o) return o > r ? -1 : 1
}
return e.length - t.length
}
function l(e) {
return "<<vanity>>" == e ? 3 : (e = e.replace(/\\\./, "x"), /[.+*?\[\](){}=!|:]/.test(e) ? -1 !== e.indexOf("\\d") ? 1 : 2 : 0)
}
var u = [],
c = {
addRoute: function(e) {
var t = i(e, 0, u.length);
u[t] !== e && u.splice(t, 0, e)
},
__getRoutes: function() {
return u
},
getRoute: function(e) {
for (var t = 0; t < u.length; t++) {
var n = u[t],
r = n.parse(e);
if (null !== r) return new n(e, r)
}
return null
},
orderExpressions: s
};
o.exports = c
}), __d("ReactGraphQLQueryBuilder", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
this.$ReactGraphQLQueryBuilder_queryFunction = e, this.$ReactGraphQLQueryBuilder_initialParams = t, this.$ReactGraphQLQueryBuilder_deferred = !1, this.$ReactGraphQLQueryBuilder_deepQueryFragmentCacheKey = null
}
function a(e, t) {
return e.getCacheKey() + ":" + p(t)
}
var s, l = t("GraphQL_EXPERIMENTAL"),
u = t("invariant"),
c = t("keyOf"),
d = t("mapObject"),
p = t("stableStringify"),
h = {};
i.get = function(e, t, n) {
e.displayName || u(0, "Cannot create cache key for component without `displayName`.");
var r = e.displayName + ":" + t;
if (n) {
var o = i.$ReactGraphQLQueryBuilder_getValueKey();
n = d(n, function(e) {
return "object" == typeof e && o in e ? e[o] : e
}), r += ":" + p(n)
}
if (!h[r]) {
e.queries.hasOwnProperty(t) || u(0, "ReactGraphQL.Mixin.getQuery: %s does not have a query defined for %s.", e.displayName, t);
var a = e.queries[t],
s = e.queryParams || {},
l = n ? Object.assign({}, s, n) : s;
h[r] = a ? new i(a, l) : null
}
return h[r]
}, i.getQueryInterpreter = function(e) {
function t() {
throw new Error("ReactGraphQL transform failed! Did you forget to run arc build?")
}
var n = i.$ReactGraphQLQueryBuilder_getValueKey();
return t.__GraphQL = l, t.__frag = function(t) {
return t instanceof i && (t = t.getQueryFragment(e)), t
}, t.__var = function(e) {
var t = typeof e;
if ("undefined" === t) throw new TypeError("Variables must not be undefined (they can be null, though)");
return "object" === t && e.hasOwnProperty(n) ? e.$ReactGraphQLQueryBuilder_value : e
}, t
}, i.$ReactGraphQLQueryBuilder_getValueKey = function() {
return s || (s = c({
$ReactGraphQLQueryBuilder_value: null
})), s
}, i.prototype.defer = function() {
return this.$ReactGraphQLQueryBuilder_deferredBuilder || (this.$ReactGraphQLQueryBuilder_deferredBuilder = new i(this.$ReactGraphQLQueryBuilder_queryFunction, this.$ReactGraphQLQueryBuilder_initialParams), this.$ReactGraphQLQueryBuilder_deferredBuilder.$ReactGraphQLQueryBuilder_deferred = !0), this.$ReactGraphQLQueryBuilder_deferredBuilder
}, i.prototype.getQueryFragment = function(e, t) {
t = t || this.$ReactGraphQLQueryBuilder_initialParams;
var n = a(e, t);
if (n !== this.$ReactGraphQLQueryBuilder_deepQueryFragmentCacheKey) {
var r = i.getQueryInterpreter(e),
o = d(this.$ReactGraphQLQueryBuilder_initialParams, function(e, n) {
return {
$ReactGraphQLQueryBuilder_value: t[n]
}
}),
s = this.$ReactGraphQLQueryBuilder_queryFunction(e, r, o);
s && this.$ReactGraphQLQueryBuilder_deferred && (s = s.defer()), this.$ReactGraphQLQueryBuilder_deepQueryFragment = s, this.$ReactGraphQLQueryBuilder_deepQueryFragmentCacheKey = n
}
return this.$ReactGraphQLQueryBuilder_deepQueryFragment
}, i.prototype["if"] = function(e) {
return e.$ReactGraphQLQueryBuilder_value ? this : null
}, i.prototype.unless = function(e) {
return e.$ReactGraphQLQueryBuilder_value ? null : this
}, o.exports = i
}), __d("stableStringify", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return null !== e && "[object Object]" === Object.prototype.toString.call(e)
}
function a(e) {
var t = Object.keys(e);
if (t.length) {
var n = [];
t.sort();
for (var r = 0; r < t.length; r++) {
var o = t[r],
s = e[o];
s = i(s) || Array.isArray(s) ? a(s) : JSON.stringify(s), n.push(o + ":" + s)
}
return Array.isArray(e) ? "[" + n.join(",") + "]" : "{" + n.join(",") + "}"
}
return JSON.stringify(e)
}
o.exports = a
}), __d("XControllerURIBuilder", [], function(e, t, n, r, o) {
function i(e, t) {
"use strict";
this.$XControllerURIBuilder_path = e, this.$XControllerURIBuilder_paramDefinitions = t, this.$XControllerURIBuilder_params = {}
}
var a = t("URI"),
s = t("invariant");
i.prototype.setInt = function(e, t) {
"use strict";
return this.__setParam(e, "Int", t)
}, i.prototype.setFloat = function(e, t) {
"use strict";
return this.__setParam(e, "Float", t)
}, i.prototype.setString = function(e, t) {
"use strict";
return this.__setParam(e, "String", t)
}, i.prototype.setExists = function(e, t) {
"use strict";
return t === !1 && (t = void 0), this.__setParam(e, "Exists", t)
}, i.prototype.setBool = function(e, t) {
"use strict";
return this.__setParam(e, "Bool", t)
}, i.prototype.setEnum = function(e, t) {
"use strict";
return this.__setParam(e, "Enum", t)
}, i.prototype.setIntVector = function(e, t) {
"use strict";
return this.__setParam(e, "IntVector", t)
}, i.prototype.setFloatVector = function(e, t) {
"use strict";
return this.__setParam(e, "FloatVector", t)
}, i.prototype.setStringVector = function(e, t) {
"use strict";
return this.__setParam(e, "StringVector", t)
}, i.prototype.setEnumVector = function(e, t) {
"use strict";
return this.__setParam(e, "EnumVector", t)
}, i.prototype.setIntToIntMap = function(e, t) {
"use strict";
return this.__setParam(e, "IntToIntMap", t)
}, i.prototype.setIntToFloatMap = function(e, t) {
"use strict";
return this.__setParam(e, "IntToFloatMap", t)
}, i.prototype.setIntToStringMap = function(e, t) {
"use strict";
return this.__setParam(e, "IntToStringMap", t)
}, i.prototype.setIntToBoolMap = function(e, t) {
"use strict";
return this.__setParam(e, "IntToBoolMap", t)
}, i.prototype.setStringToIntMap = function(e, t) {
"use strict";
return this.__setParam(e, "StringToIntMap", t)
}, i.prototype.setStringToFloatMap = function(e, t) {
"use strict";
return this.__setParam(e, "StringToFloatMap", t)
}, i.prototype.setStringToStringMap = function(e, t) {
"use strict";
return this.__setParam(e, "StringToStringMap", t)
}, i.prototype.setStringToBoolMap = function(e, t) {
"use strict";
return this.__setParam(e, "StringToBoolMap", t)
}, i.prototype.setHackType = function(e, t) {
"use strict";
return this.__setParam(e, "HackType", t)
}, i.prototype.__validateRequiredParamsExistence = function() {
"use strict";
for (var e in this.$XControllerURIBuilder_paramDefinitions) this.$XControllerURIBuilder_paramDefinitions[e].required && !this.$XControllerURIBuilder_params.hasOwnProperty(e) && s(0, "Missing required parameter: %s", e)
}, i.prototype.__setParam = function(e, t, n) {
"use strict";
e in this.$XControllerURIBuilder_paramDefinitions || s(0, 'Attempting to set invalid param "%s". Make sure the param is defined in the controller\'s getParamDefinition() method.', e);
var r = this.$XControllerURIBuilder_paramDefinitions[e].type;
return r !== t && s(0, 'Attempting to set param "%s" as %s, but it is defined in the controller\'s getParamDefinition() method as %s.', e, t, r), this.__setParamInt(e, n), this
}, i.prototype.__setParamInt = function(e, t) {
"use strict";
this.$XControllerURIBuilder_params[e] = t
}, i.prototype.getURI = function() {
"use strict";
this.__validateRequiredParamsExistence();
for (var e = {}, t = "", n = new RegExp(/^\{(\?)?(\*)?(.+?)\}$/), r = this.$XControllerURIBuilder_path.split("/"), o = !1, i = 0; i < r.length; i++) {
var l = r[i];
if ("" !== l) {
var u = n.exec(l);
if (u) {
var c = "?" === u[1],
d = ("*" === u[2], u[3]),
p = this.$XControllerURIBuilder_paramDefinitions[d];
if (p || s(0, 'Found unknown token "%s" in path "%s". Ensure it is defined in getParamDefinition().', d, this.$XControllerURIBuilder_path), c && o) continue;
var h = this.$XControllerURIBuilder_params[d];
if (null == h && c) {
o = !0;
continue
}
null == h && s(0, "Missing required template parameter: %s", d), t += "/" + h, e[d] = !0
} else t += "/" + l
}
}
"/" === this.$XControllerURIBuilder_path.slice(-1) && (t += "/");
var f = new a(t);
for (p in this.$XControllerURIBuilder_params)
if (h = this.$XControllerURIBuilder_params[p], !e[p] && null != h) {
var m = this.$XControllerURIBuilder_paramDefinitions[p];
f.addQueryData(p, m && "Exists" === m.type ? null : h)
}
return f
}, i.create = function(e, t) {
return i.bind(null, e, t)
}, o.exports = i
}), __d("URI", [], function(e, t, n, r, o) {
function i(e) {
"use strict";
return this instanceof i ? void s.call(this, e || "", a) : new i(e || window.location.href)
}
var a = t("PHPQuerySerializer"),
s = t("URIBase"),
l = t("isFacebookURI"),
u = t("unqualifyURI"),
c = t("areSameOrigin"),
d = t("copyProperties"),
p = t("goURI");
for (var h in s) s.hasOwnProperty(h) && (i[h] = s[h]);
var f = null === s ? null : s.prototype;
i.prototype = Object.create(f), i.prototype.constructor = i, i.__superConstructor__ = s, i.prototype.setPath = function(e) {
"use strict";
return this.path = e, f.setPath.call(this, e)
}, i.prototype.getPath = function() {
"use strict";
var e = f.getPath.call(this);
return e ? e.replace(/^\/+/, "/") : e
}, i.prototype.setProtocol = function(e) {
"use strict";
return this.protocol = e, f.setProtocol.call(this, e)
}, i.prototype.setDomain = function(e) {
"use strict";
return this.domain = e, f.setDomain.call(this, e)
}, i.prototype.setPort = function(e) {
"use strict";
return this.port = e, f.setPort.call(this, e)
}, i.prototype.setFragment = function(e) {
"use strict";
return this.fragment = e, f.setFragment.call(this, e)
}, i.prototype.valueOf = function() {
"use strict";
return this.toString()
}, i.prototype.isFacebookURI = function() {
"use strict";
if (__DEV__) throw new Error("URI.prototype.isFacebookURI is deprecated, use isFacebookURI mirco-module instead");
return l(this)
}, i.prototype.isLinkshimURI = function() {
"use strict";
return !l(this) || "/l.php" !== this.getPath() && 0 !== this.getPath().indexOf("/si/ajax/l/") && 0 !== this.getPath().indexOf("/l/") && 0 !== this.getPath().indexOf("l/") ? !1 : !0
}, i.prototype.getRegisteredDomain = function() {
"use strict";
if (!this.getDomain()) return "";
if (!l(this)) return null;
var e = this.getDomain().split("."),
t = e.indexOf("facebook");
return e.slice(t).join(".")
}, i.prototype.getUnqualifiedURI = function() {
"use strict";
var e = new i(this);
return u(e), e
}, i.prototype.getQualifiedURI = function() {
"use strict";
return new i(this).$URI_qualify()
}, i.prototype.$URI_qualify = function() {
"use strict";
if (!this.getDomain()) {
var e = i();
this.setProtocol(e.getProtocol()).setDomain(e.getDomain()).setPort(e.getPort())
}
return this
}, i.prototype.isSameOrigin = function(e) {
"use strict";
var t = e || window.location.href;
return t instanceof i || (t = new i(t.toString())), c(this, t)
}, i.prototype.go = function(e) {
"use strict";
p(this, e)
}, i.prototype.setSubdomain = function(e) {
"use strict";
var t = this.$URI_qualify().getDomain().split(".");
return t.length <= 2 ? t.unshift(e) : t[0] = e, this.setDomain(t.join("."))
}, i.prototype.getSubdomain = function() {
"use strict";
if (!this.getDomain()) return "";
var e = this.getDomain().split(".");
return e.length <= 2 ? "" : e[0]
}, i.isValidURI = function(e) {
"use strict";
return s.isValidURI(e, a)
}, d(i, {
getRequestURI: function(t, n) {
t = void 0 === t || t;
var r = e.PageTransitions;
return t && r && r.isInitialized() ? r.getCurrentURI(!!n).getQualifiedURI() : new i(window.location.href)
},
getMostRecentURI: function() {
var t = e.PageTransitions;
return t && t.isInitialized() ? t.getMostRecentURI().getQualifiedURI() : new i(window.location.href)
},
getNextURI: function() {
var t = e.PageTransitions;
return t && t.isInitialized() ? t._next_uri.getQualifiedURI() : new i(window.location.href)
},
expression: /(((\w+):\/\/)([^\/:]*)(:(\d+))?)?([^#?]*)(\?([^#]*))?(#(.*))?/,
arrayQueryExpression: /^(\w+)((?:\[\w*\])+)=?(.*)/,
encodeComponent: function(e) {
return encodeURIComponent(e).replace(/%5D/g, "]").replace(/%5B/g, "[")
},
decodeComponent: function(e) {
return decodeURIComponent(e.replace(/\+/g, " "))
}
}), __DEV__ && i.prototype.__defineGetter__ && i.prototype._defineSetter__ && (i.prototype.__defineGetter__("path", function() {
return console.warn("URI: Do not access the path property directly use getPath(). Fix URI.prototype."), this.path
}), i.prototype.__defineSetter__("path", function(e) {
this.path = e
}), i.prototype.__defineGetter__("protocol", function() {
return console.warn("URI: Do not access the protocol property directly use getProtocol(). Fix URI.prototype."), this.protocol
}), i.prototype.__defineSetter__("protocol", function(e) {
this.protocol = e
}), i.prototype.__defineGetter__("domain", function() {
return console.warn("URI: Do not access the domain property directly use getDomain(). Fix URI.prototype."), this.domain
}), i.prototype.__defineSetter__("domain", function(e) {
this.domain = e
}), i.prototype.__defineGetter__("port", function() {
return console.warn("URI: Do not access the port property directly use getPort(). Fix URI.prototype."), this.port
}), i.prototype.__defineSetter__("port", function(e) {
this.port = e
}), i.prototype.__defineGetter__("fragment", function() {
return console.warn("URI: Do not access the fragment property directly use getFragment(). Fix URI.prototype."), this.fragment
}), i.prototype.__defineSetter__("fragment", function(e) {
this.fragment = e
})), o.exports = i
}), __d("PHPQuerySerializer", [], function(e, t, n, r, o) {
function i(e) {
return a(e, null)
}
function a(e, t) {
t = t || "";
var n = [];
if (null === e || void 0 === e) n.push(s(t));
else if ("object" == typeof e) {
("nodeName" in e || "nodeType" in e) && c(0, "PHPQuerySerializer serializing a DOM element, not good ...");
for (var r in e) e.hasOwnProperty(r) && void 0 !== e[r] && n.push(a(e[r], t ? t + "[" + r + "]" : r))
} else n.push(s(t) + "=" + s(e));
return n.join("&")
}
function s(e) {
return encodeURIComponent(e).replace(/%5D/g, "]").replace(/%5B/g, "[")
}
function l(e) {
if (!e) return {};
var t = {};
e = e.replace(/%5B/gi, "[").replace(/%5D/gi, "]"), e = e.split("&");
for (var n = Object.prototype.hasOwnProperty, r = 0, o = e.length; o > r; r++) {
var i = e[r].match(d);
if (i) {
var a = i[2].split(/\]\[|\[|\]/).slice(0, -1),
s = i[1],
l = u(i[3] || "");
a[0] = s;
for (var c = t, p = 0; p < a.length - 1; p++)
if (a[p]) {
if (!n.call(c, a[p])) {
var h = a[p + 1] && !a[p + 1].match(/^\d{1,3}$/) ? {} : [];
if (c[a[p]] = h, c[a[p]] !== h) return t
}
c = c[a[p]]
} else c.push(a[p + 1] && !a[p + 1].match(/^\d{1,3}$/) ? {} : []), c = c[c.length - 1];
c instanceof Array && "" === a[a.length - 1] ? c.push(l) : c[a[a.length - 1]] = l
} else {
var f = e[r].split("=");
t[u(f[0])] = void 0 === f[1] ? null : u(f[1])
}
}
return t
}
function u(e) {
return decodeURIComponent(e.replace(/\+/g, " "))
}
var c = t("invariant"),
d = /^([-_\w]+)((?:\[[-_\w]*\])+)=?(.*)/,
p = {
serialize: i,
encodeComponent: s,
deserialize: l,
decodeComponent: u
};
o.exports = p
}), __d("URIBase", [], function(e, t, n, r, o) {
function i(e, t, n, r) {
if (!t) return !0;
if (t instanceof a) return e.setProtocol(t.getProtocol()), e.setDomain(t.getDomain()), e.setPort(t.getPort()), e.setPath(t.getPath()), e.setQueryData(r.deserialize(r.serialize(t.getQueryData()))), e.setFragment(t.getFragment()), !0;
t = t.toString().trim();
var o = s.parse(t) || {};
if (!n && !l.isAllowed(o.scheme)) return !1;
if (e.setProtocol(o.scheme || ""), !n && p.test(o.host)) return !1;
if (e.setDomain(o.host || ""), e.setPort(o.port || ""), e.setPath(o.path || ""), n) e.setQueryData(r.deserialize(o.query) || {});
else try {
e.setQueryData(r.deserialize(o.query) || {})
} catch (i) {
return !1
}
if (e.setFragment(o.fragment || ""), null !== o.userinfo) {
if (n) throw new Error(c("URI.parse: invalid URI (userinfo is not allowed in a URI): %s", e.toString()));
return !1
}
if (!e.getDomain() && -1 !== e.getPath().indexOf("\\")) {
if (n) throw new Error(c("URI.parse: invalid URI (no domain but multiple back-slashes): %s", e.toString()));
return !1
}
if (!e.getProtocol() && h.test(t)) {
if (n) throw new Error(c("URI.parse: invalid URI (unsafe protocol-relative URLs): %s", e.toString()));
return !1
}
return !0
}
function a(e, t) {
"use strict";
t || d(0, "no serializer set"), this.$URIBase_serializer = t, this.$URIBase_protocol = "", this.$URIBase_domain = "", this.$URIBase_port = "", this.$URIBase_path = "", this.$URIBase_fragment = "", this.$URIBase_queryData = {}, i(this, e, !0, t)
}
var s = t("URIRFC3986"),
l = t("URISchemes"),
u = t("copyProperties"),
c = t("ex"),
d = t("invariant"),
p = new RegExp("[\\x00-\\x2c\\x2f\\x3b-\\x40\\x5c\\x5e\\x60\\x7b-\\x7f\\uFDD0-\\uFDEF\\uFFF0-\\uFFFF\\u2047\\u2048\\uFE56\\uFE5F\\uFF03\\uFF0F\\uFF1F]"),
h = new RegExp("^(?:[^/]*:|[\\x00-\\x1f]*/[\\x00-\\x1f]*/)");
a.prototype.setProtocol = function(e) {
"use strict";
return l.isAllowed(e) || d(0, '"%s" is not a valid protocol for a URI.', e), this.$URIBase_protocol = e, this
}, a.prototype.getProtocol = function() {
"use strict";
return this.$URIBase_protocol
}, a.prototype.setSecure = function(e) {
"use strict";
return this.setProtocol(e ? "https" : "http")
}, a.prototype.isSecure = function() {
"use strict";
return "https" === this.getProtocol()
}, a.prototype.setDomain = function(e) {
"use strict";
if (p.test(e)) throw new Error(c("URI.setDomain: unsafe domain specified: %s for url %s", e, this.toString()));
return this.$URIBase_domain = e, this
}, a.prototype.getDomain = function() {
"use strict";
return this.$URIBase_domain
}, a.prototype.setPort = function(e) {
"use strict";
return this.$URIBase_port = e, this
}, a.prototype.getPort = function() {
"use strict";
return this.$URIBase_port
}, a.prototype.setPath = function(e) {
"use strict";
return __DEV__ && e && "/" !== e.charAt(0) && console.warn('Path does not begin with a "/" which means this URI will likely be malformed. Ensure any string passed to .setPath() leads with "/"'), this.$URIBase_path = e, this
}, a.prototype.getPath = function() {
"use strict";
return this.$URIBase_path
}, a.prototype.addQueryData = function(e, t) {
"use strict";
return "[object Object]" === Object.prototype.toString.call(e) ? u(this.$URIBase_queryData, e) : this.$URIBase_queryData[e] = t, this
}, a.prototype.setQueryData = function(e) {
"use strict";
return this.$URIBase_queryData = e, this
}, a.prototype.getQueryData = function() {
"use strict";
return this.$URIBase_queryData
}, a.prototype.removeQueryData = function(e) {
"use strict";
Array.isArray(e) || (e = [e]);
for (var t = 0, n = e.length; n > t; ++t) delete this.$URIBase_queryData[e[t]];
return this
}, a.prototype.setFragment = function(e) {
"use strict";
return this.$URIBase_fragment = e, this
}, a.prototype.getFragment = function() {
"use strict";
return this.$URIBase_fragment
}, a.prototype.isEmpty = function() {
"use strict";
return !(this.getPath() || this.getProtocol() || this.getDomain() || this.getPort() || Object.keys(this.getQueryData()).length > 0 || this.getFragment())
}, a.prototype.toString = function() {
"use strict";
var e = "";
this.$URIBase_protocol && (e += this.$URIBase_protocol + "://"), this.$URIBase_domain && (e += this.$URIBase_domain), this.$URIBase_port && (e += ":" + this.$URIBase_port), this.$URIBase_path ? e += this.$URIBase_path : e && (e += "/");
var t = this.$URIBase_serializer.serialize(this.$URIBase_queryData);
return t && (e += "?" + t), this.$URIBase_fragment && (e += "#" + this.$URIBase_fragment), e
}, a.prototype.getOrigin = function() {
"use strict";
return this.$URIBase_protocol + "://" + this.$URIBase_domain + (this.$URIBase_port ? ":" + this.$URIBase_port : "")
}, a.isValidURI = function(e, t) {
return i(new a(null, t), e, !1, t)
}, o.exports = a
}), __d("URIRFC3986", [], function(e, t, n, r, o) {
var i = new RegExp("^([^:/?#]+:)?(//([^\\\\/?#@]*@)?(\\[[A-Fa-f0-9:.]+\\]|[^\\/?#:]*)(:[0-9]*)?)?([^?#]*)(\\?[^#]*)?(#.*)?"),
a = {
parse: function(e) {
if ("" === e.trim()) return null;
var t = e.match(i),
n = {};
return n.uri = t[0] ? t[0] : null, n.scheme = t[1] ? t[1].substr(0, t[1].length - 1) : null, n.authority = t[2] ? t[2].substr(2) : null, n.userinfo = t[3] ? t[3].substr(0, t[3].length - 1) : null, n.host = t[2] ? t[4] : null, n.port = t[5] ? t[5].substr(1) ? parseInt(t[5].substr(1), 10) : null : null, n.path = t[6] ? t[6] : null, n.query = t[7] ? t[7].substr(1) : null, n.fragment = t[8] ? t[8].substr(1) : null, n.isGenericURI = null === n.authority && !!n.scheme, n
}
};
o.exports = a
}), __d("URISchemes", [], function(e, t, n, r, o) {
var i = t("createObjectFrom"),
a = i(["fb", "fbcf", "fbconnect", "fb-messenger", "fbrpc", "file", "ftp", "http", "https", "mailto", "ms-app", "itms", "itms-apps", "itms-services", "market", "svn+ssh", "fbstaging", "tel", "sms"]),
s = {
isAllowed: function(e) {
return e ? a.hasOwnProperty(e.toLowerCase()) : !0
}
};
o.exports = s
}), __d("createObjectFrom", [], function(e, t, n, r, o) {
function i(e, t) {
if (__DEV__ && !Array.isArray(e)) throw new TypeError("Must pass an array of keys.");
var n = {},
r = Array.isArray(t);
"undefined" == typeof t && (t = !0);
for (var o = e.length; o--;) n[e[o]] = r ? t[o] : t;
return n
}
o.exports = i
}), __d("isFacebookURI", [], function(e, t, n, r, o) {
function i(e) {
return a || (a = new RegExp("(^|\\.)facebook\\.com$", "i")), e.isEmpty() && "#" !== e.toString() ? !1 : e.getDomain() || e.getProtocol() ? -1 !== s.indexOf(e.getProtocol()) && a.test(e.getDomain()) : !0
}
var a = null,
s = ["http", "https"];
i.setRegex = function(e) {
a = e
}, o.exports = i
}), __d("unqualifyURI", [], function(e, t, n, r, o) {
function i(e) {
e.setProtocol(null).setDomain(null).setPort(null)
}
o.exports = i
}), __d("areSameOrigin", [], function(e, t, n, r, o) {
function i(e, t) {
return e.isEmpty() || t.isEmpty() ? !1 : e.getProtocol() && e.getProtocol() != t.getProtocol() ? !1 : e.getDomain() && e.getDomain() != t.getDomain() ? !1 : e.getPort() && e.getPort() != t.getPort() ? !1 : !0
}
o.exports = i
}), __d("goURI", [], function(e, t, n, r, o) {
"use strict";
function i() {
throw new Error("goURI() behavior is undefined in Catalyst")
}
t("URISchemes");
o.exports = i
}), __d("DliteRouteQueryCache", [], function(e, t, n, r, o) {
"use strict";
var i = {
get: function(e, t) {
var n = t.getCacheKey();
if (e.__queryCache) {
var r = e.__queryCache[n];
if (r) return r
}
return null
},
set: function(e, t, n) {
var r = t.getCacheKey();
e.__queryCache || (e.__queryCache = {}), e.__queryCache[r] = n
}
};
o.exports = i
}), __d("GraphQLDeferredQueryTracker", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
_ || (m(a), _ = {}), _.hasOwnProperty(e) || (_[e] = {}), _[e].hasOwnProperty(t) || (_[e][t] = null)
}
function a() {
h(_, function(e, t) {
h(e, function(e, n) {
for (var r = 0; r < g.length; r++)
if (g[r]) {
var o = g[r],
i = o.callback,
a = o.dataID,
s = o.fragmentName;
a === t && s === n && c.applyWithGuard(i, null, [t, n], null, "GraphQLDeferredQueryTracker")
}
})
}), _ = null
}
function s(e, t) {
var n = t.getQuery().rootCall().getRefTarget();
if (!n) return {};
var r = {},
o = n.split(".");
return l(r, e, o, 1), r
}
function l(e, t, n, r) {
if (r === n.length && "string" == typeof t) return void(e[t] = t);
if (!(r >= n.length || !t || "object" != typeof t || Array.isArray(t))) {
var o = n[r];
"*" === o ? h(t, function(t) {
l(e, t, n, r + 1)
}) : t.hasOwnProperty(o) && l(e, t[o], n, r + 1)
}
}
function u(e) {
return e.getQuery().rootCall().getSourceQueryID()
}
var c = t("ErrorUtils"),
d = t("GraphQLStore"),
p = t("Map"),
h = t("forEachObject"),
f = t("isEmpty"),
m = t("setImmediate"),
g = [],
_ = null,
y = new p,
v = new p,
S = new p,
w = {
addListenerForFragment: function(e, t, n) {
var r = g.length;
return g.push({
callback: n,
dataID: e,
fragmentName: t
}), {
remove: function() {
delete g[r]
}
}
},
recordQuery: function(e) {
var t = u(e);
if (t) {
var n = v.get(t) || [];
n.push(e), v.set(t, n)
} else {
var r = e.getQuery().getDeferredFragmentNames();
if (r) {
var o = d.getIDsFromQuery(e);
h(o, function(e) {
var t = y.get(e) || {};
Object.assign(t, r), y.set(e, t)
})
}
}
},
resolveQuery: function(e, t) {
var n, r, o = e.getQuery(),
a = u(e),
l = o.getDeferredFragmentNames();
if (l && (r = o.rootCall().hasRefParam() ? S.get(o.getID()) || {} : d.getIDsFromQuery(e), h(r, function(e) {
var t = y.get(e) || {};
h(l, function(n) {
delete t[n], i(e, n)
}), f(t) ? y.delete(e) : y.set(e, t)
})), a) n = v.get(a) || [], n = n.filter(function(t) {
return t !== e
}), n.length ? v.set(a, n) : v.delete(a), S.delete(o.getID());
else if (t) {
n = v.get(o.getID()) || [];
for (var c = 0; c < n.length; c++) {
var p = n[c],
m = p.getQuery(),
g = m.getAllFragmentNames(),
_ = s(t, p);
S.set(m.getID(), _), h(_, function(e) {
var t = y.get(e) || {};
Object.assign(t, g), y.set(e, t)
})
}
}
},
isQueryPending: function(e) {
var t = e.getQuery().getAllFragmentNames(),
n = d.getIDsFromQuery(e);
for (var r in n)
if (n.hasOwnProperty(r) && y.has(n[r])) {
var o = y.get(n[r]);
for (var i in t)
if (t.hasOwnProperty(i) && o.hasOwnProperty(i)) return !0
}
return !1
},
reset: function() {
y = new p, S = new p, v = new p, g = []
}
};
o.exports = w
}), __d("Map", [], function(e, t, n, r, o) {
var i = t("guid"),
a = t("isNode"),
s = t("toIterator"),
l = t("_shouldPolyfillES6Collection");
o.exports = function(e, t) {
function n(e) {
"use strict";
if (!d(this)) throw new TypeError("Wrong map object type.");
if (c(this), null != e)
for (var t, n = s(e); !(t = n.next()).done;) {
if (!d(t.value)) throw new TypeError("Expected iterable items to be pair objects.");
this.set(t.value[0], t.value[1])
}
}
function r(e, t) {
"use strict";
if (!d(e) || !e._mapData) throw new TypeError("Object is not a map.");
if (-1 === [g, y, _].indexOf(t)) throw new Error("Invalid iteration kind.");
this._map = e, this._nextIndex = 0, this._kind = t
}
function o(e, t) {
if (d(t)) {
var n = b(t);
return e._objectIndex[n]
}
var r = v + t;
return "string" == typeof t ? e._stringIndex[r] : e._otherIndex[r]
}
function u(e, t, n) {
var r = null == n;
if (d(t)) {
var o = b(t);
r ? delete e._objectIndex[o] : e._objectIndex[o] = n
} else {
var i = v + t;
"string" == typeof t ? r ? delete e._stringIndex[i] : e._stringIndex[i] = n : r ? delete e._otherIndex[i] : e._otherIndex[i] = n
}
}
function c(e) {
return e._mapData = [], e._objectIndex = {}, e._stringIndex = {}, e._otherIndex = {}, __DEV__ && w ? void(e.hasOwnProperty(m) ? e[m] = 0 : (Object.defineProperty(e, m, {
value: 0,
writable: !0
}), Object.defineProperty(e, "size", {
set: function() {
throw console.error("PLEASE FIX ME: You are changing the map size property which should not be writable and will break in production."), new Error("The map size property is not writable.")
},
get: function() {
return e[m]
}
}))) : void(e.size = 0)
}
function d(e) {
return null != e && ("object" == typeof e || "function" == typeof e)
}
function p(e, t) {
return {
value: e,
done: t
}
}
function h(e) {
return w ? Object.isExtensible(e) : !0
}
function f(e) {
var t;
switch (e.nodeType) {
case 1:
t = e.uniqueID;
break;
case 9:
t = e.documentElement.uniqueID;
break;
default:
return null
}
return t ? S + t : null
}
if (!l("Map")) return e.Map;
var m, g = "key",
_ = "value",
y = "key+value",
v = "$map_";
__DEV__ && (m = "$size" + i());
var S = "IE_HASH_";
n.prototype.clear = function() {
"use strict";
c(this)
}, n.prototype.has = function(e) {
"use strict";
var t = o(this, e);
return !(null == t || !this._mapData[t])
}, n.prototype.set = function(e, t) {
"use strict";
var n = o(this, e);
return null != n && this._mapData[n] ? this._mapData[n][1] = t : (n = this._mapData.push([e, t]) - 1, u(this, e, n), __DEV__ ? this[m] += 1 : this.size += 1), this
}, n.prototype.get = function(e) {
"use strict";
var n = o(this, e);
return null == n ? t : this._mapData[n][1]
}, n.prototype["delete"] = function(e) {
"use strict";
var n = o(this, e);
return null != n && this._mapData[n] ? (u(this, e, t), this._mapData[n] = t, __DEV__ ? this[m] -= 1 : this.size -= 1, !0) : !1
}, n.prototype.entries = function() {
"use strict";
return new r(this, y)
}, n.prototype.keys = function() {
"use strict";
return new r(this, g)
}, n.prototype.values = function() {
"use strict";
return new r(this, _)
}, n.prototype.forEach = function(e, n) {
"use strict";
if ("function" != typeof e) throw new TypeError("Callback must be callable.");
for (var r = e.bind(n || t), o = this._mapData, i = 0; i < o.length; i++) {
var a = o[i];
null != a && r(a[1], a[0], this)
}
}, n.prototype[s.ITERATOR_SYMBOL] = n.prototype.entries, r.prototype.next = function() {
"use strict";
if (!this instanceof n) throw new TypeError("Expected to be called on a MapIterator.");
var e = this._map,
r = this._nextIndex,
o = this._kind;
if (null == e) return p(t, !0);
for (var i = e._mapData; r < i.length;) {
var a = i[r];
if (r += 1, this._nextIndex = r, a) {
if (o === g) return p(a[0], !1);
if (o === _) return p(a[1], !1);
if (o) return p(a, !1)
}
}
return this._map = t, p(t, !0)
}, r.prototype[s.ITERATOR_SYMBOL] = function() {
return this
};
var w = function() {
try {
return Object.defineProperty({}, "x", {}), !0
} catch (e) {
return !1
}
}(),
b = function() {
var e = Object.prototype.propertyIsEnumerable,
t = i(),
n = 0;
return function(r) {
if (r[t]) return r[t];
if (!w && r.propertyIsEnumerable && r.propertyIsEnumerable[t]) return r.propertyIsEnumerable[t];
if (!w && a(r) && f(r)) return f(r);
if (!w && r[t]) return r[t];
if (h(r)) {
if (n += 1, w) Object.defineProperty(r, t, {
enumerable: !1,
writable: !1,
configurable: !1,
value: n
});
else if (r.propertyIsEnumerable) r.propertyIsEnumerable = function() {
return e.apply(this, arguments)
}, r.propertyIsEnumerable[t] = n;
else {
if (!a(r)) throw new Error("Unable to set a non-enumerable property on object.");
r[t] = n
}
return n
}
throw new Error("Non-extensible objects are not allowed as keys.")
}
}();
return n
}(Function("return this")())
}), __d("guid", [], function(e, t, n, r, o) {
function i() {
return "f" + (Math.random() * (1 << 30)).toString(16).replace(".", "")
}
o.exports = i
}), __d("isNode", [], function(e, t, n, r, o) {
function i(e) {
return !(!e || !("function" == typeof Node ? e instanceof Node : "object" == typeof e && "number" == typeof e.nodeType && "string" == typeof e.nodeName))
}
o.exports = i
}), __d("toIterator", [], function(e, t, n, r, o) {
var i = "key",
a = "value",
s = "key+value",
l = "function" == typeof Symbol ? Symbol.iterator : "@@iterator",
u = function() {
return Array.prototype[l] && String.prototype[l] ? function(e) {
return e[l]()
} : function() {
function e(e, t) {
"use strict";
if (!Array.isArray(e)) throw new TypeError("Object is not an Array");
this.$ArrayIterator_iteratedObject = e, this.$ArrayIterator_kind = t, this.$ArrayIterator_nextIndex = 0
}
function t(e) {
"use strict";
if ("string" != typeof e) throw new TypeError("Object is not a string");
this.$StringIterator_iteratedString = e, this.$StringIterator_nextIndex = 0
}
function n(e, t) {
return {
value: e,
done: t
}
}
return e.prototype.next = function() {
"use strict";
if (!this instanceof e) throw new TypeError("Object is not an ArrayIterator");
if (null == this.$ArrayIterator_iteratedObject) return n(void 0, !0);
var t = this.$ArrayIterator_iteratedObject,
r = this.$ArrayIterator_iteratedObject.length,
o = this.$ArrayIterator_nextIndex,
l = this.$ArrayIterator_kind;
return o >= r ? (this.$ArrayIterator_iteratedObject = void 0, n(void 0, !0)) : (this.$ArrayIterator_nextIndex = o + 1, l === i ? n(o, !1) : l === a ? n(t[o], !1) : l === s ? n([o, t[o]], !1) : void 0)
}, e.prototype["@@iterator"] = function() {
"use strict";
return this
}, t.prototype.next = function() {
"use strict";
if (!this instanceof t) throw new TypeError("Object is not a StringIterator");
if (null == this.$StringIterator_iteratedString) return n(void 0, !0);
var e = this.$StringIterator_nextIndex,
r = this.$StringIterator_iteratedString,
o = r.length;
if (e >= o) return this.$StringIterator_iteratedString = void 0, n(void 0, !0);
var i, a = r.charCodeAt(e);
if (55296 > a || a > 56319 || e + 1 === o) i = r[e];
else {
var s = r.charCodeAt(e + 1);
i = 56320 > s || s > 57343 ? r[e] : r[e] + r[e + 1]
}
return this.$StringIterator_nextIndex = e + i.length, n(i, !1)
}, t.prototype["@@iterator"] = function() {
"use strict";
return this
},
function(n, r) {
return "string" == typeof n ? new t(n) : Array.isArray(n) ? new e(n, r || a) : n[l]()
}
}()
}();
Object.assign(u, {
KIND_KEY: i,
KIND_VALUE: a,
KIND_KEY_VAL: s,
ITERATOR_SYMBOL: l
}), o.exports = u
}), __d("_shouldPolyfillES6Collection", [], function(e, t, n, r, o) {
function i(t) {
var n = e[t];
if (null == n) return !0;
var r = n.prototype;
return null == n || "function" != typeof n || "function" != typeof r.clear || 0 !== (new n).size || "function" != typeof r.keys || "function" != typeof r.forEach || s(n) || !a(n)
}
function a(e) {
function t() {
"use strict";
null !== e && e.apply(this, arguments)
}
for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n]);
var r = null === e ? null : e.prototype;
t.prototype = Object.create(r), t.prototype.constructor = t, t.__superConstructor__ = e;
try {
var o = new t([]);
return o.size, o instanceof e
} catch (i) {
return !1
}
}
function s(e) {
try {
e()
} catch (t) {
return !1
}
return !0
}
o.exports = i
}), __d("GraphQLQueryRunner", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return !!e
}
function a(e) {
var t = [],
n = e.getQuery().rootCall();
return P.every(function(r) {
var o = r.query;
if (w(o.getQuery().rootCall(), n)) {
var i = I(e, o);
i !== e && (t.push(r.promise), e = i)
}
return null !== e
}), {
query: e,
dependencies: t
}
}
function s(e) {
var t = e.getOwnFields();
return 1 !== t.length || "id" !== t[0].getFieldName() ? !0 : e.getFragments().some(s)
}
function l(e) {
var t = e.getQuery();
return "node" === t.rootCall().getName() && !s(t)
}
function u(e) {
return e.getQuery().isDeferred()
}
function c(e, t, n, r) {
var o = t.onBlockingRequest,
i = t.onResolvable,
s = t.onSuccess,
c = t.onFailure,
d = 0;
g.await(function() {
var t = [];
e.forEach(function(e) {
F(e).forEach(function(e) {
l(e) || (u(e) || d++, t.push(e))
})
});
var f = r === p.FETCH_MODE_REFETCH ? E() : null,
m = function(e) {
if (u(e) || d--, !d) try {
i()
} catch (t) {
T(t)
}
},
g = function(e, t) {
return e.map(r === p.FETCH_MODE_CLIENT || r === p.FETCH_MODE_REFETCH ? function(e) {
var n = a(e);
return n.query && n.dependencies.push(L.add(n.query, R(n.query), t, f)), v.all(n.dependencies).then(function() {
return m(e)
})
} : function(e) {
return L.add(e, new S, t, null).then(function() {
return m(e)
})
})
};
if (t.length) {
var _ = u(t[0]) ? [] : t.splice(0, 1),
y = g(_, []),
w = g(t, y);
v.all(y.concat(w)).done(function() {
n.stop(), s()
}, function(e) {
n.stop(), c(e), h.warn(e)
}), x(d ? o : i)
} else x(i), x(s)
})
}
function d(e) {
var t = e.onBlockingRequest,
n = e.onResolvable,
r = e.onSuccess,
o = e.onFailure,
i = !1;
return {
abort: function() {
i = !0
},
abortableCallbacks: D({
onBlockingRequest: t,
onResolvable: n,
onSuccess: r,
onFailure: o
}, function(e) {
return function() {
return e && !i ? e.apply(null, arguments) : void 0
}
})
}
}
var p = t("DliteFetchModeConstants"),
h = t("DliteLog"),
f = t("DliteLogger"),
m = t("DliteProfiler"),
g = t("DliteTaskScheduler"),
_ = t("GraphQLDeferredQueryTracker"),
y = t("GraphQLStore"),
v = t("Promise"),
S = t("PublicPromise"),
w = t("containsQueryRootCall"),
b = t("extendArray"),
R = t("fetchRQL"),
C = t("forEachObject"),
E = t("generateForceIndex"),
D = t("mapObject"),
x = t("setImmediate"),
F = t("splitDeferredQueries"),
I = t("subtractQuery"),
T = t("throwImmediate"),
P = [],
L = {
run: function(e, t, n) {
var r = d(t),
o = r.abort,
i = r.abortableCallbacks;
y.emit(y.Events.beginQuery);
var a = f.logClientEvent("GraphQLQueryRunner.run");
n = n || p.FETCH_MODE_CLIENT;
var s = [];
return n === p.FETCH_MODE_CLIENT ? C(e, function(e) {
e && b(s, y.getDiffQueries(e))
}) : C(e, function(e) {
e && s.push(e)
}), c(s, i, a, n), y.emit(y.Events.endQuery), {
abort: o
}
},
forceFetch: function(e, t) {
var n = d(t),
r = n.abort,
o = n.abortableCallbacks;
y.emit(y.Events.beginQuery);
var i = f.logClientEvent("GraphQLQueryRunner.forceFetch"),
a = [];
C(e, function(e) {
e && b(a, y.getDiffQueries(e))
}), 0 === a.length && (x(o.onResolvable), o.onBlockingRequest = function() {});
var s = [];
return C(e, function(e) {
e && s.push(e)
}), c(s, o, i, p.FETCH_MODE_REFETCH), y.emit(y.Events.endQuery), {
abort: r
}
},
add: function(e, t, n, r) {
_.recordQuery(e);
var o = P.length,
i = v.all(n).finally(function() {
return t.then(function(t) {
return g.await(function() {
var n = t.response;
y.emit(y.Events.dataFromServer, n), y.handleUpdate(n, e, null, r), _.resolveQuery(e, n), delete P[o]
})
}, function(t) {
throw _.resolveQuery(e), delete P[o], t
})
});
return P[o] = {
fetchPromise: t,
id: e.getQuery().getID(),
promise: i,
query: e
}, i
},
resetPending: function() {
P = [], _.reset()
},
resolveQueryByID: function(e, t) {
var n = P.find(function(t) {
return t && t.id === e
});
n && n.fetchPromise.resolve && n.fetchPromise.resolve(t)
},
rejectQueryByID: function(e, t) {
var n = P.find(function(t) {
return t && t.id === e
});
n && n.fetchPromise.reject && n.fetchPromise.reject(new Error(t))
},
hasPendingQueries: function() {
return P.some(i)
},
hasPendingQuery: function(e) {
return _.isQueryPending(e)
}
};
m.instrumentMethods(L, {
hasPendingQuery: "GraphQLQueryRunner.hasPendingQuery"
}), o.exports = L
}), __d("DliteFetchModeConstants", [], function(e, t, n, r, o) {
"use strict";
var i = t("keyMirror"),
a = i({
FETCH_MODE_CLIENT: null,
FETCH_MODE_PRELOAD: null,
FETCH_MODE_REFETCH: null
});
o.exports = a
}), __d("DliteTaskScheduler", [], function(e, t, n, r, o) {
"use strict";
function i() {
p || (d.length ? (p = !0, u.resolve().done(function() {
var e = a(d.shift());
l ? l(e) : e()
})) : p = !1)
}
function a(e) {
var t = !1;
return function() {
t && c(0, "DliteTaskScheduler: Tasks can only be executed once."), t = !0, s(e), p = !1, i()
}
}
function s(e) {
var t = d;
d = [];
try {
e()
} finally {
Array.prototype.unshift.apply(t, d), d = t
}
}
var l, u = t("Promise"),
c = t("invariant"),
d = [],
p = !1,
h = {
injectScheduler: function(e) {
l = e
},
await: function() {
var e = arguments,
t = new u(function(t) {
function n(o) {
d.push(function() {
var i = e[r++](o);
r < e.length ? n(i) : t(i)
})
}
var r = 0;
n()
});
return i(), t
}
};
o.exports = h
}), __d("Promise", [], function(e, t, n, r, o) {
var i = t("ES6Promise"),
a = i.prototype,
s = t("invariant"),
l = (t("setImmediate"), t("throwImmediate"));
a.finally = function(e) {
return this.then(e, e)
}, a.done = function(e, t) {
this.then(e, t).then(null, l)
}, i.allObject = function(e) {
Array.isArray(e) && s(0, "expected an object, got an array instead");
var t = Object.keys(e);
return i.all(t.map(function(t) {
return e[t]
})).then(function(e) {
var n = {};
return e.forEach(function(e, r) {
n[t[r]] = e
}), n
})
}, o.exports = i
}), __d("ES6Promise", [], function(e, t, n, r, o) {
o.exports = function(e, n) {
"use strict";
function r(e) {
var t = e[f];
if (!t && (e[f] = t = {}, Object.defineProperty)) try {
Object.defineProperty(e, f, {
value: t
})
} catch (n) {}
return t
}
function o(e) {
return e
}
function i(e) {
throw e
}
function a(e) {
var t = r(this);
t.state = d, t.fulfillReactions = [], t.rejectReactions = [];
var n = s(this),
o = n.reject;
try {
e(n.resolve, o)
} catch (i) {
o(i)
}
}
function s(e) {
var t = !1;
return {
resolve: function(n) {
if (!t) {
if (t = !0, n === e) return l(e, h, new TypeError("Cannot resolve promise with itself"));
if (!n || "object" != typeof n || "function" != typeof n.then) return l(e, p, n);
var r = s(e),
o = r.reject;
try {
n.then(r.resolve, o)
} catch (i) {
o(i)
}
}
},
reject: function(n) {
t || (t = !0, l(e, h, n))
}
}
}
function l(e, t, o) {
var i = r(e);
if (i.state !== d) throw new Error("Settling a " + i.state + " promise");
var a;
t === p ? a = i.fulfillReactions : t === h && (a = i.rejectReactions), i.result = o, i.fulfillReactions = n, i.rejectReactions = n, i.state = t;
var s = a.length;
s && c(function() {
for (var e = 0; s > e; ++e) a[e](i.result)
})
}
function u(e, t, n, r) {
var o = arguments.length > 3;
return function(i) {
try {
i = n(o ? r : i)
} catch (a) {
return void t(a)
}
e(i)
}
}
var c = t("setImmediate"),
d = "pending",
p = "fulfilled",
h = "rejected",
f = "__slots$" + Math.random().toString(36).slice(2);
a.all = function(e) {
var t = this;
return new t(function(n, r) {
var o = [],
i = 0;
e.forEach(function(e, a) {
++i, t.resolve(e).then(function(e) {
o.hasOwnProperty(a) || (o[a] = e, --i || n(o))
}, r)
}), i || n(o)
})
}, a.race = function(e) {
var t = this;
return new t(function(n, r) {
e.forEach(function(e) {
t.resolve(e).then(n, r)
})
})
}, a.resolve = function(e) {
return e instanceof a && e.constructor === this ? e : new this(function(t) {
t(e)
})
}, a.reject = function(e) {
return new this(function(t, n) {
n(e)
})
};
var m = a.prototype;
return m.then = function(e, t) {
var a, s, l = new this.constructor(function(e, t) {
a = e, s = t
});
if ("function" != typeof a) throw new TypeError("Uncallable Promise resolve function");
if ("function" != typeof s) throw new TypeError("Uncallable Promise reject function");
(e === n || null === e) && (e = o), (t === n || null === t) && (t = i);
var f = r(this),
m = f.state;
return m === d ? (f.fulfillReactions.push(u(a, s, e)), f.rejectReactions.push(u(a, s, t))) : (m === p || m === h) && c(u(a, s, m === p ? e : t, f.result)), l
}, m["catch"] = function(e) {
return this.then(n, e)
}, m.toString = function() {
return "[object Promise]"
}, a
}(Function("return this")())
}), __d("throwImmediate", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
throw e
}
function a(e) {
s(i, e)
}
var s = t("setImmediate");
o.exports = a
}), __d("PublicPromise", [], function(e, t, n, r, o) {
function i() {
"use strict";
this.$PublicPromise_aborted = !1, this.$PublicPromise_settled = !1, this.$PublicPromise_promise = new a(function(e, t) {
this.$PublicPromise_resolve = e, this.$PublicPromise_reject = t
}.bind(this))
}
var a = t("Promise");
i.prototype.getPromise = function() {
"use strict";
return this.$PublicPromise_promise
}, i.prototype.resolve = function(e) {
"use strict";
this.$PublicPromise_aborted || (this.$PublicPromise_settled = !0, this.$PublicPromise_resolve(e))
}, i.prototype.reject = function(e) {
"use strict";
this.$PublicPromise_aborted || (this.$PublicPromise_settled = !0, this.$PublicPromise_reject(e))
}, i.prototype.then = function() {
"use strict";
return a.prototype.then.apply(this.$PublicPromise_promise, arguments)
}, i.prototype.done = function() {
"use strict";
return a.prototype.done.apply(this.$PublicPromise_promise, arguments)
}, i.prototype.abort = function() {
"use strict";
this.$PublicPromise_aborted = !0
}, i.prototype.isSettled = function() {
"use strict";
return this.$PublicPromise_settled
}, i.prototype.isAborted = function() {
"use strict";
return this.$PublicPromise_aborted
}, o.exports = i
}), __d("containsQueryRootCall", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
if (e.getName() !== t.getName() && !a(e, t)) return !1;
var n = e.getArgs();
return t.getArgs().every(function(e) {
for (var t = 0; t < n.length; t++)
if (e.equals(n[t])) return !0;
return !1
})
}
function a(e, t) {
return "nodes" === e.getName() && "node" === t.getName()
}
o.exports = i
}), __d("extendArray", [], function(e, t, n, r, o) {
function i(e, t) {
return Array.prototype.push.apply(e, t), e
}
o.exports = i
}), __d("fetchRQL", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
h.length || (h = [], p(a));
var t = new u;
return h.push({
query: e,
promise: t
}), t.getPromise()
}
function a() {
var e = l.instrumentAsync("fetchRQL.processPending");
d(h.map(s.bind(null, e.stop))), h.length = 0
}
function s(e, t) {
var n = t.query,
r = t.promise;
return new c(n.getQuery().getID(), n, function(t, n) {
n ? (e(), r.resolve({
error: t,
response: n
})) : r.reject(t)
})
}
var l = t("DliteProfiler"),
u = t("PublicPromise"),
c = t("RQLRequest"),
d = t("fetchBatchedRQL"),
p = t("setImmediate"),
h = [];
o.exports = i
}), __d("RQLRequest", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
this.$RQLRequest_name = e, this.$RQLRequest_query = t, this.$RQLRequest_callback = n
}
i.prototype.getName = function() {
return this.$RQLRequest_name
}, i.prototype.getQuery = function() {
return this.$RQLRequest_query
}, i.prototype.getCallback = function() {
return this.$RQLRequest_callback
}, o.exports = i
}), __d("fetchBatchedRQL", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t, n = {};
e.forEach(function(e) {
var r = e.getQuery().getQuery();
t = t || r.getQueryName(), n[e.getName()] = {
q: r.toString(),
ref_params: r.rootCall().getRefParams()
}
});
var r = {
access_token: u.accessToken,
pretty: !!__DEV__,
flush: 1,
method: "GET",
batch_name: t,
queries: JSON.stringify(n)
},
o = {};
e.forEach(function(e) {
o[e.getName()] = e.getCallback()
}), a(r, o)
}
function a(e, t) {
function n() {
return a <= u.retryDelays.length
}
function r() {
var e = u.retryDelays[a - 1],
t = Date.now() - l;
setTimeout(p.guard(o, "fetchBatchedRQL:retryRequest"), e - t)
}
function o() {
a++, l = Date.now();
var o = new _(u.graphBatchURI).setMethod("POST").setTransportBuilder(b).setTimeout(u.fetchTimeout).setRequestHeader("Content-Type", "application/x-www-form-urlencoded").setErrorHandler(function(e) {
n() && -1 !== C.indexOf(e.errorCode) ? (c.warn("HTTP error for fetchBatchedRQL, retrying. %s %s %s", e.errorType || "", e.errorCode || "", e.errorMsg || ""), r()) : w(t, function(t) {
t(y(e), null)
})
}).setTimeoutHandler(function() {
n() ? (c.warn("HTTP timeout for fetchBatchedRQL, retrying."), r()) : w(t, function(e) {
e(new m, null)
})
}),
d = 0,
p = function(e, n, r, o) {
i && (i.stop(), i = null);
var a;
try {
a = JSON.parse(e)
} catch (s) {
throw new f(S("JSON.parse(...) failed on: %s\nLengths: %s\nResponse:\n%s", e, JSON.stringify(o.lengths), o.rawText))
}
if (r) {
if (a.error) throw y({
errorType: a.error.type,
errorCode: a.error.code,
errorMsg: a.error.message
});
(void 0 === a.successful_results || void 0 === a.skipped_results) && R(0, "fetchBatchedRQL(...): Result count is undefined, successful_results: %s skipped_results: %s", a.successful_results, a.skipped_results);
var l = a.successful_results + a.skipped_results;
l !== d && R(0, "fetchBatchedRQL(...): Expected a total of %s responses, parsed %s total responses.", l, d)
} else w(a, function(e, n) {
var r = null;
e.error && (r = new h(e.error));
var o = e.response;
o && d++, t[n](r, o)
})
};
E(o, e, v(p, s))
}
var i = d.logClientEvent("fetchBatchedRQL"),
a = 0,
l = 0;
o()
}
function s(e) {
return e.trim()
}
function l(e, t, n) {
e.setResponseHandler(n).setData(t).send()
}
var u = t("DliteAPIConfig"),
c = t("DliteLog"),
d = t("DliteLogger"),
p = t("ErrorUtils"),
h = t("GraphQLCodedError"),
f = t("RQLError"),
m = t("RQLTimeoutError"),
g = t("XHRHttpError"),
_ = t("XHRRequest"),
y = t("createRQLError"),
v = t("createChunkedResponseParser"),
S = t("ex"),
w = t("forEachObject"),
b = t("getCrossOriginTransport"),
R = t("invariant"),
C = [g.HTTP_TRANSPORT_ERROR, g.HTTP_SERVER_ERROR],
E = l;
__DEV__ && (i.mockSendRequest = function(e) {
E = e
}, i.unmockSendRequest = function() {
E = l
}), o.exports = i
}), __d("DliteAPIConfig", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModules").DliteAPIConfig;
o.exports = i
}), __d("GraphQLCodedError", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
this.name = "GraphQLCodedError", this.code = e.code, this.summary = e.summary, this.userMessage = e.description, this.debugInfo = e.debug_info, this.message = a(this.name + "(" + this.code + "): %s description: %s debug_info: %s", this.summary, this.userMessage, this.debugInfo), Error.captureStackTrace ? Error.captureStackTrace(this) : this.stack = (new Error).stack
}
var a = t("ex");
for (var s in Error) Error.hasOwnProperty(s) && (i[s] = Error[s]);
var l = null === Error ? null : Error.prototype;
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = Error, o.exports = i
}), __d("RQLError", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
this.name = "RQLError", this.message = e, this.type = "mustfix", Error.captureStackTrace ? Error.captureStackTrace(this) : this.stack = (new Error).stack, __DEV__ && (this.message += " -- Check your console.log or slog!")
}
for (var a in Error) Error.hasOwnProperty(a) && (i[a] = Error[a]);
var s = null === Error ? null : Error.prototype;
i.prototype = Object.create(s), i.prototype.constructor = i, i.__superConstructor__ = Error, o.exports = i
}), __d("RQLTimeoutError", [], function(e, t, n, r, o) {
"use strict";
function i() {
this.name = "RQLTimeoutError", this.message = "Request timed out", this.type = "warn"
}
var a = t("RQLError");
for (var s in a) a.hasOwnProperty(s) && (i[s] = a[s]);
var l = null === a ? null : a.prototype;
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = a, o.exports = i
}), __d("XHRHttpError", [], function(e, t, n, r, o) {
function i(e, t) {
if (0 === t) {
var n = e.getProtocol();
return "file" === n || "ftp" === n ? null : u
}
return t >= 100 && 200 > t ? s : t >= 200 && 300 > t ? null : t >= 400 && 500 > t ? a : t >= 500 && 600 > t ? l : t >= 12001 && 12156 > t ? u : c
}
var a = "HTTP_CLIENT_ERROR",
s = "HTTP_PROXY_ERROR",
l = "HTTP_SERVER_ERROR",
u = "HTTP_TRANSPORT_ERROR",
c = "HTTP_UNKNOWN_ERROR";
o.exports = {
getErrorCode: i,
HTTP_CLIENT_ERROR: a,
HTTP_PROXY_ERROR: s,
HTTP_SERVER_ERROR: l,
HTTP_TRANSPORT_ERROR: u,
HTTP_UNKNOWN_ERROR: c
}
}), __d("XHRRequest", [], function(e, t, n, r, o) {
function i(e) {
"use strict";
this.setURI(e), this.setMethod("POST"), this.setIsAsynchronous(!0), this.setTransportBuilder(u), this.setDataSerializer(d), this.$XHRRequest_onreadystatechange = this.$XHRRequest_onreadystatechange.bind(this)
}
var a = t("ErrorUtils"),
s = t("URI"),
l = t("XHRHttpError"),
u = t("getSameOriginTransport"),
c = t("invariant"),
d = t("xhrSimpleDataSerializer"),
p = {
errorCode: null,
errorMsg: null,
errorType: null
},
h = {
loadedBytes: null,
totalBytes: null
};
i.prototype.setURI = function(e) {
"use strict";
return this.$XHRRequest_uri = new s(e), this
}, i.prototype.getURI = function() {
"use strict";
return this.$XHRRequest_uri
}, i.prototype.setMethod = function(e) {
"use strict";
return this.$XHRRequest_method = e, this
}, i.prototype.getMethod = function() {
"use strict";
return this.$XHRRequest_method
}, i.prototype.setData = function(e) {
"use strict";
return this.$XHRRequest_data = e, this
}, i.prototype.getData = function() {
"use strict";
return this.$XHRRequest_data
}, i.prototype.setRawData = function(e) {
"use strict";
return this.$XHRRequest_rawData = e, this
}, i.prototype.setRequestHeader = function(e, t) {
"use strict";
return this.$XHRRequest_headers || (this.$XHRRequest_headers = {}), this.$XHRRequest_headers[e] = t, this
}, i.prototype.setTimeout = function(e) {
"use strict";
return this.$XHRRequest_timeout = e, this
}, i.prototype.setResponseHandler = function(e) {
"use strict";
return this.$XHRRequest_responseHandler = e, this
}, i.prototype.setErrorHandler = function(e) {
"use strict";
return this.$XHRRequest_errorHandler = e, this
}, i.prototype.setAbortHandler = function(e) {
"use strict";
return this.$XHRRequest_abortHandler = e, this
}, i.prototype.setTimeoutHandler = function(e) {
"use strict";
return this.$XHRRequest_timeoutHandler = e, this
}, i.prototype.setUploadProgressHandler = function(e) {
"use strict";
return this.$XHRRequest_uploadProgressHandler = e, this
}, i.prototype.setIsAsynchronous = function(e) {
"use strict";
return this.$XHRRequest_isAsynchronous = e, this
}, i.prototype.setTransportBuilder = function(e) {
"use strict";
return this.$XHRRequest_transportBuilder = e, this
}, i.prototype.setDataSerializer = function(e) {
"use strict";
return this.$XHRRequest_dataSerializer = e, this
}, i.prototype.send = function() {
"use strict";
var e = this.$XHRRequest_timeout,
t = this.$XHRRequest_transportBuilder(),
n = this.getURI();
this.$XHRRequest_pendingTransport = t;
var r;
if ("POST" !== this.$XHRRequest_method && this.$XHRRequest_rawData && c(0, "Must send raw data on post. Data: %s URI: %s", this.$XHRRequest_rawData, n), "GET" === this.$XHRRequest_method || this.$XHRRequest_rawData ? (n.addQueryData(this.$XHRRequest_data), r = this.$XHRRequest_rawData) : r = this.$XHRRequest_dataSerializer(this.$XHRRequest_data), t.onreadystatechange = this.$XHRRequest_onreadystatechange, t.upload && this.$XHRRequest_uploadProgressHandler && (t.upload.onprogress = this.$XHRRequest_onuploadprogress.bind(this)), e && (this.$XHRRequest_timeoutTimer = setTimeout(this.$XHRRequest_ontimeout.bind(this), e)), t.open(this.$XHRRequest_method, n.toString(), this.$XHRRequest_isAsynchronous), this.$XHRRequest_headers)
for (var o in this.$XHRRequest_headers) t.setRequestHeader(o, this.$XHRRequest_headers[o]);
t.send(r), this.$XHRRequest_isAsynchronous || t.onreadystatechange(null, !0)
}, i.prototype.abort = function() {
"use strict";
this.$XHRRequest_abort(), this.$XHRRequest_abortHandler && a.applyWithGuard(this.$XHRRequest_abortHandler, null, null, null, "XHRRequest:_abortHandler")
}, i.prototype.$XHRRequest_abort = function() {
"use strict";
var e = this.$XHRRequest_pendingTransport;
e && (e.onreadystatechange = null, e.abort()), this.$XHRRequest_cleanup()
}, i.prototype.$XHRRequest_ontimeout = function() {
"use strict";
this.$XHRRequest_abort(), this.$XHRRequest_timeoutHandler && a.applyWithGuard(this.$XHRRequest_timeoutHandler, null, null, null, "XHRRequest:_abortHandler")
}, i.prototype.$XHRRequest_onreadystatechange = function(e, t) {
"use strict";
if (this.$XHRRequest_isAsynchronous || t === !0) {
var n = this.$XHRRequest_pendingTransport,
r = n,
o = r.readyState;
if (o >= 2) {
var i = 4 === o,
s = this.getURI(),
u = l.getErrorCode(s, n.status),
c = this.$XHRRequest_responseHandler;
if (null !== u) i && (p.errorCode = u, p.errorMsg = n.responseText, p.errorType = "HTTP", this.$XHRRequest_errorHandler && a.applyWithGuard(this.$XHRRequest_errorHandler, null, [p], null, "XHRRequest:_errorHandler"));
else if (c) {
var d = null;
c.includeHeaders && (d = n.getAllResponseHeaders()), (i || c.parseStreaming && 3 === o) && a.applyWithGuard(c, null, [n.responseText, d, i], null, "XHRRequest:handler")
}
i && this.$XHRRequest_cleanup()
}
}
}, i.prototype.$XHRRequest_onuploadprogress = function(e) {
"use strict";
h.loadedBytes = e.loaded, h.totalBytes = e.total, this.$XHRRequest_uploadProgressHandler && a.applyWithGuard(this.$XHRRequest_uploadProgressHandler, null, [h], null, "XHRRequest:_uploadProgressHandler")
}, i.prototype.$XHRRequest_cleanup = function() {
"use strict";
clearTimeout(this.$XHRRequest_timeoutTimer), delete this.$XHRRequest_pendingTransport
}, o.exports = i
}), __d("getSameOriginTransport", [], function(e, t, n, r, o) {
"use strict";
function i() {
return new a
}
var a = t("RKXMLHttpRequest");
o.exports = i
}), __d("xhrSimpleDataSerializer", [], function(e, t, n, r, o) {
function i(e) {
var t, n = [];
for (t in e) n.push(encodeURIComponent(t) + "=" + encodeURIComponent(e[t]));
return n.join("&")
}
o.exports = i
}), __d("createRQLError", [], function(e, t, n, r, o) {
function i(e, t) {
var n = e.errorCode === a.HTTP_CLIENT_ERROR,
r = e.errorCode === a.HTTP_TRANSPORT_ERROR;
return t = t || c("HTTP error: %s %s: %s", e.errorType, e.errorCode, e.errorMsg), r ? new u(t) : n && /OAuthException/.test(e.errorMsg || "") ? new l(t) : new s(t)
}
var a = t("XHRHttpError"),
s = t("RQLError"),
l = t("RQLOAuthError"),
u = t("RQLTransportError"),
c = t("ex");
o.exports = i
}), __d("RQLOAuthError", [], function(e, t, n, r, o) {
"use strict";
function i() {
this.message = "OAuth Exception", this.name = "RQLOAuthError", this.type = "mustfix"
}
var a = t("RQLError");
for (var s in a) a.hasOwnProperty(s) && (i[s] = a[s]);
var l = null === a ? null : a.prototype;
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = a, o.exports = i
}), __d("RQLTransportError", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
this.name = "RQLTransportError", this.message = e, this.type = "warn"
}
var a = t("RQLError");
for (var s in a) a.hasOwnProperty(s) && (i[s] = a[s]);
var l = null === a ? null : a.prototype;
i.prototype = Object.create(l), i.prototype.constructor = i, i.__superConstructor__ = a, o.exports = i
}), __d("createChunkedResponseParser", [], function(e, t, n, r, o) {
function i(e, t) {
var n = 0,
r = {
lengths: [],
rawText: ""
},
o = function(o, i, u) {
if (r.rawText = o, r.lengths.push(o.length), t && (o = t(o), null != o && "string" != typeof o && a(0, "createChunkedResponseParser: Filtered response must be a ?string")), o)
for (var c = o.length; c > n;) {
var d = o.indexOf(s, n);
if (0 > d) {
if (!u) break;
d = c
}
var p = o.slice(n, d);
n += p.length + l, e(p, i, u && n >= c, r)
} else u && e("", i, !0, r)
};
return o.parseStreaming = !0, o
}
var a = t("invariant"),
s = "\r\n",
l = 2;
o.exports = i
}), __d("getCrossOriginTransport", [], function(e, t, n, r, o) {
"use strict";
function i() {
return new a
}
var a = t("RKXMLHttpRequest");
o.exports = i
}), __d("splitDeferredQueries", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = e.getQuery(),
n = t.getID(),
r = null,
o = a(t),
i = o.required,
u = o.deferredFields,
c = o.deferredFragments,
p = o.deferredQueries;
r = i === t ? [e] : i ? [new d.QueryWithValues(i)] : [];
for (var h = 0; h < u.length; h++) r.push(l(t, u[h], null));
for (var f = 0; f < c.length; f++) c[f].hasFields() && r.push(l(t, null, c[f]));
for (var m = 0; m < p.length; m++) r.push(s(n, p[m]));
return r
}
function a(e) {
var t, n, r = null,
o = null,
i = null,
s = null,
l = null,
p = null,
f = u(e),
m = e.getOwnFields();
for (t = 0; t < m.length; t++) {
var g = m[t];
for (p = a(g), (r || p.required !== g) && (r = r || m.slice(0, t), p.required && r.push(p.required)), n = 0; n < p.deferredFields.length; n++) i = i || [], i.push(g.shallowClone([p.deferredFields[n]], null));
for (n = 0; n < p.deferredFragments.length; n++) i = i || [], i.push(g.shallowClone(null, [p.deferredFragments[n]]));
for (n = 0; n < p.deferredQueries.length; n++) l = l || [], l.push(p.deferredQueries[n])
}
if (e instanceof d.Field && l)
for (t = 0; t < l.length; t++) l[t].path.unshift(c(e));
var _ = e.getFragments();
for (t = 0; t < _.length; t++) {
var y = _[t];
if (y.isDeferred()) {
if (f) {
var v = e.getInferredPrimaryKey();
l = l || [], l.push({
rootCallName: f,
path: [c(e), v],
fields: e.getOwnUnaliasedFields(v),
fragments: [y.shallowClone(y.getOwnFields(), y.getFragments())]
})
} else s = s || [], s.push(y);
o = o || _.slice(0, t)
} else {
for (p = a(y), (o || p.required !== y) && (o = o || _.slice(0, t), p.required && o.push(p.required)), n = 0; n < p.deferredFields.length; n++) s = s || [], s.push(y.shallowClone([p.deferredFields[n]], null));
for (n = 0; n < p.deferredFragments.length; n++) f ? (l = l || [], l.push({
rootCallName: f,
path: [c(e), e.getInferredPrimaryKey()],
fields: h,
fragments: [y.shallowClone(null, [p.deferredFragments[n]])]
})) : (s = s || [], s.push(y.shallowClone(null, [p.deferredFragments[n]])));
for (n = 0; n < p.deferredQueries.length; n++) l = l || [], l.push(p.deferredQueries[n])
}
}
var S;
return S = r || o ? 0 === (r || m).length && 0 === (o || _).length ? null : e instanceof d.Query ? e.shallowCloneWithSameID(r || m, o || _) : e.shallowClone(r || m, o || _) : e, {
required: S,
deferredFields: i || h,
deferredFragments: s || h,
deferredQueries: l || h
}
}
function s(e, t) {
return new d.QueryWithValues(new d.Query(t.rootCallName, [new d.BatchCallVariable(e, "$.*." + t.path.join("."))], t.fields, t.fragments, {
isDeferred: !0
}, null))
}
function l(e, t, n) {
var r = e.getOwnUnaliasedFields("id"),
o = null;
if (n) {
var i = Object.keys(n.getDeferredFragmentNames());
1 !== i.length && p(0, "Only one fragment should be returned"), o = i[0]
}
return o = o || e.getQueryName() + "_defer", new d.QueryWithValues(e.shallowClone(t ? r.concat(t) : r, n ? [n] : null, {
isDeferred: !0
}, o))
}
function u(e) {
return e instanceof d.Field ? e.getInferredRootCallName() : null
}
function c(e) {
return (e.getAlias() || e.getFieldName()) + (e.isPlural() ? ".*" : "")
}
var d = t("GraphQL_EXPERIMENTAL"),
p = t("invariant"),
h = [];
o.exports = i
}), __d("subtractQuery", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
var n = e.getQuery(),
r = t.getQuery(),
o = a(n, [r]);
return o === n ? e : o ? new f.QueryWithValues(o) : null
}
function a(e, t) {
var n, r = e.getOwnFields(),
o = s(r, function(e) {
return "id" === e.getFieldName() ? (n = e, e) : l(e, t)
});
o && 1 === o.length && o[0] === n && (o = null);
var i = e.getFragments(),
u = s(i, function(e) {
return a(e, t)
});
return r === o && i === u ? e : o && 0 !== o.length || u && 0 !== u.length ? e.shallowClone(o, u) : null
}
function s(e, t) {
if (0 === e.length) return e;
var n = null;
return e.forEach(function(r, o) {
var i = t(r);
i !== r && (n = n || e.slice(0, o)), null !== n && null !== i && n.push(i)
}), n ? 0 === n.length ? null : n : e
}
function l(e, t) {
var n = e.getFieldName();
if (e.hasOwnFields() || e.getFragments().length) {
var r;
if (t.forEach(function(t) {
u(t, n, function(t) {
d(e, t) && (r = r || [], r.push(t))
})
}), r) return a(e, r)
} else {
var o = t.some(function(t) {
return c(t, n, function(t) {
return d(e, t)
})
});
if (o) return null
}
return e
}
function u(e, t, n) {
c(e, t, function() {
n.apply(this, arguments)
})
}
function c(e, t, n) {
for (var r, o = [e]; r = o.shift();) {
if (r.getOwnUnaliasedFields(t).some(n)) return !0;
m.apply(o, r.getFragments())
}
return !1
}
function d(e, t) {
var n = e.getCalls(),
r = t.getCalls(),
o = n.length;
if (o !== r.length) return !1;
if (o)
for (var i = e.isConnection() ? p : h, a = 0; o > a; a++) {
var s = n[a],
l = r[a];
if (s.getName() !== l.getName() || !i(s, l)) return !1
}
return !0
}
function p(e, t) {
var n = e.getName();
return "first" === n || "last" === n ? e.getArgs()[0] <= t.getArgs()[0] : h(e, t)
}
function h(e, t) {
var n = e.getArgs(),
r = t.getArgs(),
o = n.length;
if (o !== r.length) return !1;
for (var i = 0; o > i; i++)
if (!n[i].equals(r[i])) return !1;
return !0
}
var f = t("GraphQL_EXPERIMENTAL"),
m = Array.prototype.push;
o.exports = i
}), __d("ReactGraphQLComparators", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n, r) {
var o;
for (o in t)
if (!(r && !r.hasOwnProperty(o) || !t.hasOwnProperty(o) || n.hasOwnProperty(o) && e(t[o], n[o], o))) return !1;
for (o in n)
if ((!r || r.hasOwnProperty(o)) && n.hasOwnProperty(o) && !t.hasOwnProperty(o)) return !1;
return !0
}
function a(e, t) {
return e === t && (null === e || "object" != typeof e)
}
function s(e, t, n) {
return n in l ? e === t : a(e, t)
}
var l = {
route: !0
},
u = {
Mixin: {
isStateEqualTo: function(e) {
return i(a, this.state, e)
},
isContextEqualTo: function(e) {
return i(s, this.context, e)
},
isDliteContextEqualTo: function(e) {
return i(s, this.context, e, l)
},
arePropsEqualTo: function(e) {
return i(this._isPropEqual, this.props, e)
},
areDlitePropsEqualTo: function(e) {
return i(this._isPropEqual, this.props, e, this.constructor.queries)
},
_isPropEqual: function(e, t, n) {
return this.constructor.queries.hasOwnProperty(n) ? e === t : a(e, t)
}
}
};
o.exports = u
}), __d("SubscriptionsHandler", [], function(e, t, n, r, o) {
function i(e) {
return e.remove || e.reset || e.unsubscribe
}
function a(e) {
var t = i(e);
t.call(e)
}
function s() {
"use strict";
this._subscriptions = []
}
var l = t("invariant");
s.prototype.addSubscriptions = function() {
"use strict";
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
e.forEach(function(e) {
var t = i(e);
t || l(0, "Subscription requires release function")
}), this._subscriptions ? this._subscriptions = this._subscriptions.concat(e) : e.forEach(a)
}, s.prototype.engage = function() {
"use strict";
this._subscriptions = this._subscriptions || []
}, s.prototype.release = function() {
"use strict";
this._subscriptions && (this._subscriptions.forEach(a), this._subscriptions = null)
}, o.exports = s
}), __d("ReactDefaultPerf", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return Math.floor(100 * e) / 100
}
function a(e, t, n) {
e[t] = (e[t] || 0) + n
}
var s = t("DOMProperty"),
l = t("ReactDefaultPerfAnalysis"),
u = t("ReactMount"),
c = t("ReactPerf"),
d = t("performanceNow"),
p = {
_allMeasurements: [],
_mountStack: [0],
_injected: !1,
start: function() {
p._injected || c.injection.injectMeasure(p.measure), p._allMeasurements.length = 0, c.enableMeasure = !0
},
stop: function() {
c.enableMeasure = !1
},
getLastMeasurements: function() {
return p._allMeasurements
},
printExclusive: function(e) {
e = e || p._allMeasurements;
var t = l.getExclusiveSummary(e);
console.table(t.map(function(e) {
return {
"Component class name": e.componentName,
"Total inclusive time (ms)": i(e.inclusive),
"Exclusive mount time (ms)": i(e.exclusive),
"Exclusive render time (ms)": i(e.render),
"Mount time per instance (ms)": i(e.exclusive / e.count),
"Render time per instance (ms)": i(e.render / e.count),
Instances: e.count
}
}))
},
printInclusive: function(e) {
e = e || p._allMeasurements;
var t = l.getInclusiveSummary(e);
console.table(t.map(function(e) {
return {
"Owner > component": e.componentName,
"Inclusive time (ms)": i(e.time),
Instances: e.count
}
})), console.log("Total time:", l.getTotalTime(e).toFixed(2) + " ms")
},
getMeasurementsSummaryMap: function(e) {
var t = l.getInclusiveSummary(e, !0);
return t.map(function(e) {
return {
"Owner > component": e.componentName,
"Wasted time (ms)": e.time,
Instances: e.count
}
})
},
printWasted: function(e) {
e = e || p._allMeasurements, console.table(p.getMeasurementsSummaryMap(e)), console.log("Total time:", l.getTotalTime(e).toFixed(2) + " ms")
},
printDOM: function(e) {
e = e || p._allMeasurements;
var t = l.getDOMSummary(e);
console.table(t.map(function(e) {
var t = {};
return t[s.ID_ATTRIBUTE_NAME] = e.id, t.type = e.type, t.args = JSON.stringify(e.args), t
})), console.log("Total time:", l.getTotalTime(e).toFixed(2) + " ms")
},
_recordWrite: function(e, t, n, r) {
var o = p._allMeasurements[p._allMeasurements.length - 1].writes;
o[e] = o[e] || [], o[e].push({
type: t,
time: n,
args: r
})
},
measure: function(e, t, n) {
return function() {
for (var r = [], o = 0, i = arguments.length; i > o; o++) r.push(arguments[o]);
var s, l, c;
if ("_renderNewRootComponent" === t || "flushBatchedUpdates" === t) return p._allMeasurements.push({
exclusive: {},
inclusive: {},
render: {},
counts: {},
writes: {},
displayNames: {},
totalTime: 0
}), c = d(), l = n.apply(this, r), p._allMeasurements[p._allMeasurements.length - 1].totalTime = d() - c, l;
if ("ReactDOMIDOperations" === e || "ReactComponentBrowserEnvironment" === e) {
if (c = d(), l = n.apply(this, r), s = d() - c, "mountImageIntoNode" === t) {
var h = u.getID(r[1]);
p._recordWrite(h, t, s, r[0])
} else "dangerouslyProcessChildrenUpdates" === t ? r[0].forEach(function(e) {
var t = {};
null !== e.fromIndex && (t.fromIndex = e.fromIndex), null !== e.toIndex && (t.toIndex = e.toIndex), null !== e.textContent && (t.textContent = e.textContent), null !== e.markupIndex && (t.markup = r[1][e.markupIndex]), p._recordWrite(e.parentID, e.type, s, t)
}) : p._recordWrite(r[0], t, s, Array.prototype.slice.call(r, 1));
return l
}
if ("ReactCompositeComponent" !== e || "mountComponent" !== t && "updateComponent" !== t && "_renderValidatedComponent" !== t) return n.apply(this, r);
var f = "mountComponent" === t ? r[0] : this._rootNodeID,
m = "_renderValidatedComponent" === t,
g = "mountComponent" === t,
_ = p._mountStack,
y = p._allMeasurements[p._allMeasurements.length - 1];
if (m ? a(y.counts, f, 1) : g && _.push(0), c = d(), l = n.apply(this, r), s = d() - c, m) a(y.render, f, s);
else if (g) {
var v = _.pop();
_[_.length - 1] += s, a(y.exclusive, f, s - v), a(y.inclusive, f, s)
} else a(y.inclusive, f, s);
return y.displayNames[f] = {
current: this.constructor.displayName,
owner: this._owner ? this._owner.constructor.displayName : "<root>"
}, l
}
}
};
o.exports = p
}), __d("DOMProperty", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
return (e & t) === t
}
var a = t("invariant"),
s = {
MUST_USE_ATTRIBUTE: 1,
MUST_USE_PROPERTY: 2,
HAS_SIDE_EFFECTS: 4,
HAS_BOOLEAN_VALUE: 8,
HAS_NUMERIC_VALUE: 16,
HAS_POSITIVE_NUMERIC_VALUE: 48,
HAS_OVERLOADED_BOOLEAN_VALUE: 64,
injectDOMPropertyConfig: function(e) {
var t = e.Properties || {},
n = e.DOMAttributeNames || {},
r = e.DOMPropertyNames || {},
o = e.DOMMutationMethods || {};
e.isCustomAttribute && u._isCustomAttributeFunctions.push(e.isCustomAttribute);
for (var l in t) {
u.isStandardName.hasOwnProperty(l) && a(0, "injectDOMPropertyConfig(...): You're trying to inject DOM property '%s' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.", l), u.isStandardName[l] = !0;
var c = l.toLowerCase();
if (u.getPossibleStandardName[c] = l, n.hasOwnProperty(l)) {
var d = n[l];
u.getPossibleStandardName[d] = l, u.getAttributeName[l] = d
} else u.getAttributeName[l] = c;
u.getPropertyName[l] = r.hasOwnProperty(l) ? r[l] : l, u.getMutationMethod[l] = o.hasOwnProperty(l) ? o[l] : null;
var p = t[l];
u.mustUseAttribute[l] = i(p, s.MUST_USE_ATTRIBUTE), u.mustUseProperty[l] = i(p, s.MUST_USE_PROPERTY), u.hasSideEffects[l] = i(p, s.HAS_SIDE_EFFECTS), u.hasBooleanValue[l] = i(p, s.HAS_BOOLEAN_VALUE), u.hasNumericValue[l] = i(p, s.HAS_NUMERIC_VALUE), u.hasPositiveNumericValue[l] = i(p, s.HAS_POSITIVE_NUMERIC_VALUE), u.hasOverloadedBooleanValue[l] = i(p, s.HAS_OVERLOADED_BOOLEAN_VALUE), u.mustUseAttribute[l] && u.mustUseProperty[l] && a(0, "DOMProperty: Cannot require using both attribute and property: %s", l), !u.mustUseProperty[l] && u.hasSideEffects[l] && a(0, "DOMProperty: Properties that have side effects must use property: %s", l), !!u.hasBooleanValue[l] + !!u.hasNumericValue[l] + !!u.hasOverloadedBooleanValue[l] <= 1 || a(0, "DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s", l)
}
}
},
l = {},
u = {
ID_ATTRIBUTE_NAME: "data-reactid",
isStandardName: {},
getPossibleStandardName: {},
getAttributeName: {},
getPropertyName: {},
getMutationMethod: {},
mustUseAttribute: {},
mustUseProperty: {},
hasSideEffects: {},
hasBooleanValue: {},
hasNumericValue: {},
hasPositiveNumericValue: {},
hasOverloadedBooleanValue: {},
_isCustomAttributeFunctions: [],
isCustomAttribute: function(e) {
for (var t = 0; t < u._isCustomAttributeFunctions.length; t++) {
var n = u._isCustomAttributeFunctions[t];
if (n(e)) return !0
}
return !1
},
getDefaultValueForProperty: function(e, t) {
var n, r = l[e];
return r || (l[e] = r = {}), t in r || (n = document.createElement(e), r[t] = n[t]), r[t]
},
injection: s
};
o.exports = u
}), __d("ReactDefaultPerfAnalysis", [], function(e, t, n, r, o) {
function i(e) {
for (var t = 0, n = 0; n < e.length; n++) {
var r = e[n];
t += r.totalTime
}
return t
}
function a(e) {
for (var t = [], n = 0; n < e.length; n++) {
var r, o = e[n];
for (r in o.writes) o.writes[r].forEach(function(e) {
t.push({
id: r,
type: d[e.type] || e.type,
args: e.args
})
})
}
return t
}
function s(e) {
for (var t, n = {}, r = 0; r < e.length; r++) {
var o = e[r],
i = Object.assign({}, o.exclusive, o.inclusive);
for (var a in i) t = o.displayNames[a].current, n[t] = n[t] || {
componentName: t,
inclusive: 0,
exclusive: 0,
render: 0,
count: 0
}, o.render[a] && (n[t].render += o.render[a]), o.exclusive[a] && (n[t].exclusive += o.exclusive[a]), o.inclusive[a] && (n[t].inclusive += o.inclusive[a]), o.counts[a] && (n[t].count += o.counts[a])
}
var s = [];
for (t in n) n[t].exclusive >= c && s.push(n[t]);
return s.sort(function(e, t) {
return t.exclusive - e.exclusive
}), s
}
function l(e, t) {
for (var n, r = {}, o = 0; o < e.length; o++) {
var i, a = e[o],
s = Object.assign({}, a.exclusive, a.inclusive);
t && (i = u(a));
for (var l in s)
if (!t || i[l]) {
var d = a.displayNames[l];
n = d.owner + " > " + d.current, r[n] = r[n] || {
componentName: n,
time: 0,
count: 0
}, a.inclusive[l] && (r[n].time += a.inclusive[l]), a.counts[l] && (r[n].count += a.counts[l])
}
}
var p = [];
for (n in r) r[n].time >= c && p.push(r[n]);
return p.sort(function(e, t) {
return t.time - e.time
}), p
}
function u(e) {
var t = {},
n = Object.keys(e.writes),
r = Object.assign({}, e.exclusive, e.inclusive);
for (var o in r) {
for (var i = !1, a = 0; a < n.length; a++)
if (0 === n[a].indexOf(o)) {
i = !0;
break
}!i && e.counts[o] > 0 && (t[o] = !0)
}
return t
}
var c = 1.2,
d = {
mountImageIntoNode: "set innerHTML",
INSERT_MARKUP: "set innerHTML",
MOVE_EXISTING: "move",
REMOVE_NODE: "remove",
TEXT_CONTENT: "set textContent",
updatePropertyByID: "update attribute",
deletePropertyByID: "delete attribute",
updateStylesByID: "update styles",
updateInnerHTMLByID: "set innerHTML",
dangerouslyReplaceNodeWithMarkupByID: "replace"
},
p = {
getExclusiveSummary: s,
getInclusiveSummary: l,
getDOMSummary: a,
getTotalTime: i
};
o.exports = p
}), __d("ReactMount", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = R(e);
return t && G.getID(t)
}
function a(e) {
var t = s(e);
if (t)
if (P.hasOwnProperty(t)) {
var n = P[t];
n !== e && (c(n, t) && E(0, "ReactMount: Two valid but unequal nodes with the same `%s`: %s", T, t), P[t] = e)
} else P[t] = e;
return t
}
function s(e) {
return e && e.getAttribute && e.getAttribute(T) || ""
}
function l(e, t) {
var n = s(e);
n !== t && delete P[n], e.setAttribute(T, t), P[t] = e
}
function u(e) {
return P.hasOwnProperty(e) && c(P[e], e) || (P[e] = G.findReactNodeByID(e)), P[e]
}
function c(e, t) {
if (e) {
s(e) !== t && E(0, "ReactMount: Unexpected modification of `%s`", T);
var n = G.findReactContainerForID(t);
if (n && w(n, e)) return !0
}
return !1
}
function d(e) {
delete P[e]
}
function p(e) {
var t = P[e];
return t && c(t, e) ? void(N = t) : !1
}
function h(e) {
N = null, v.traverseAncestors(e, p);
var t = N;
return N = null, t
}
var f = t("DOMProperty"),
m = t("ReactBrowserEventEmitter"),
g = t("ReactCurrentOwner"),
_ = t("ReactElement"),
y = t("ReactLegacyElement"),
v = t("ReactInstanceHandles"),
S = t("ReactPerf"),
w = t("containsNode"),
b = t("deprecated"),
R = t("getReactRootElementInContainer"),
C = t("instantiateReactComponent"),
E = t("invariant"),
D = t("shouldUpdateReactComponent"),
x = t("warning"),
F = y.wrapCreateElement(_.createElement),
I = v.SEPARATOR,
T = f.ID_ATTRIBUTE_NAME,
P = {},
L = 1,
k = 9,
M = {},
A = {};
if (__DEV__) var Q = {};
var O = [],
N = null,
G = {
_instancesByReactRootID: M,
scrollMonitor: function(e, t) {
t()
},
_updateRootComponent: function(e, t, n, r) {
var o = t.props;
return G.scrollMonitor(n, function() {
e.replaceProps(o, r)
}), __DEV__ && (Q[i(n)] = R(n)), e
},
_registerComponent: function(e, t) {
(!t || t.nodeType !== L && t.nodeType !== k) && E(0, "_registerComponent(...): Target container is not a DOM element."), m.ensureScrollValueMonitoring();
var n = G.registerContainer(t);
return M[n] = e, n
},
_renderNewRootComponent: S.measure("ReactMount", "_renderNewRootComponent", function(e, t, n) {
x(null == g.current, "_renderNewRootComponent(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.");
var r = C(e, null),
o = G._registerComponent(r, t);
return r.mountComponentIntoNode(o, t, n), __DEV__ && (Q[o] = R(t)), r
}),
render: function(e, t, n) {
_.isValidElement(e) || E(0, "renderComponent(): Invalid component element.%s", "string" == typeof e ? " Instead of passing an element string, make sure to instantiate it by passing it to React.createElement." : y.isValidFactory(e) ? " Instead of passing a component class, make sure to instantiate it by passing it to React.createElement." : "undefined" != typeof e.props ? " This may be caused by unintentionally loading two independent copies of React." : "");
var r = M[i(t)];
if (r) {
var o = r._currentElement;
if (D(o, e)) return G._updateRootComponent(r, e, t, n);
G.unmountComponentAtNode(t)
}
var a = R(t),
s = a && G.isRenderedByReact(a),
l = s && !r,
u = G._renderNewRootComponent(e, t, l);
return n && n.call(u), u
},
constructAndRenderComponent: function(e, t, n) {
var r = F(e, t);
return G.render(r, n)
},
constructAndRenderComponentByID: function(e, t, n) {
var r = document.getElementById(n);
return r || E(0, 'Tried to get element with id of "%s" but it is not present on the page.', n), G.constructAndRenderComponent(e, t, r)
},
registerContainer: function(e) {
var t = i(e);
return t && (t = v.getReactRootIDFromNodeID(t)), t || (t = v.createReactRootID()), A[t] = e, t
},
unmountComponentAtNode: function(e) {
x(null == g.current, "unmountComponentAtNode(): Render methods should be a pure function of props and state; triggering nested component updates from render is not allowed. If necessary, trigger nested updates in componentDidUpdate.");
var t = i(e),
n = M[t];
return n ? (G.unmountComponentFromNode(n, e), delete M[t], delete A[t], __DEV__ && delete Q[t], !0) : !1
},
unmountComponentFromNode: function(e, t) {
for (e.unmountComponent(), t.nodeType === k && (t = t.documentElement); t.lastChild;) t.removeChild(t.lastChild)
},
findReactContainerForID: function(e) {
var t = v.getReactRootIDFromNodeID(e),
n = A[t];
if (__DEV__) {
var r = Q[t];
if (r && r.parentNode !== n) {
s(r) !== t && E(0, "ReactMount: Root element ID differed from reactRootID.");
var o = n.firstChild;
o && t === s(o) ? Q[t] = o : console.warn("ReactMount: Root element has been removed from its original container. New container:", r.parentNode)
}
}
return n
},
findReactNodeByID: function(e) {
var t = G.findReactContainerForID(e);
return G.findComponentRoot(t, e)
},
isRenderedByReact: function(e) {
if (1 !== e.nodeType) return !1;
var t = G.getID(e);
return t ? t.charAt(0) === I : !1
},
getFirstReactDOM: function(e) {
for (var t = e; t && t.parentNode !== t;) {
if (G.isRenderedByReact(t)) return t;
t = t.parentNode
}
return null
},
findComponentRoot: function(e, t) {
var n = O,
r = 0,
o = h(t) || e;
for (n[0] = o.firstChild, n.length = 1; r < n.length;) {
for (var i, a = n[r++]; a;) {
var s = G.getID(a);
s ? t === s ? i = a : v.isAncestorIDOf(s, t) && (n.length = r = 0, n.push(a.firstChild)) : n.push(a.firstChild), a = a.nextSibling
}
if (i) return n.length = 0, i
}
n.length = 0, E(0, "findComponentRoot(..., %s): Unable to find element. This probably means the DOM was unexpectedly mutated (e.g., by the browser), usually due to forgetting a <tbody> when using tables, nesting tags like <form>, <p>, or <a>, or using non-SVG elements in an <svg> parent. Try inspecting the child nodes of the element with React ID `%s`.", t, G.getID(e))
},
getReactRootID: i,
getID: a,
setID: l,
getNode: u,
purgeID: d
};
G.renderComponent = b("ReactMount", "renderComponent", "render", this, G.render), o.exports = G
}), __d("ReactBrowserEventEmitter", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return Object.prototype.hasOwnProperty.call(e, g) || (e[g] = f++, p[e[g]] = {}), p[e[g]]
}
var a = t("EventConstants"),
s = t("EventPluginHub"),
l = t("EventPluginRegistry"),
u = t("ReactEventEmitterMixin"),
c = t("ViewportMetrics"),
d = t("isEventSupported"),
p = {},
h = !1,
f = 0,
m = {
topBlur: "blur",
topChange: "change",
topClick: "click",
topCompositionEnd: "compositionend",
topCompositionStart: "compositionstart",
topCompositionUpdate: "compositionupdate",
topContextMenu: "contextmenu",
topCopy: "copy",
topCut: "cut",
topDoubleClick: "dblclick",
topDrag: "drag",
topDragEnd: "dragend",
topDragEnter: "dragenter",
topDragExit: "dragexit",
topDragLeave: "dragleave",
topDragOver: "dragover",
topDragStart: "dragstart",
topDrop: "drop",
topFocus: "focus",
topInput: "input",
topKeyDown: "keydown",
topKeyPress: "keypress",
topKeyUp: "keyup",
topMouseDown: "mousedown",
topMouseMove: "mousemove",
topMouseOut: "mouseout",
topMouseOver: "mouseover",
topMouseUp: "mouseup",
topPaste: "paste",
topScroll: "scroll",
topSelectionChange: "selectionchange",
topTextInput: "textInput",
topTouchCancel: "touchcancel",
topTouchEnd: "touchend",
topTouchMove: "touchmove",
topTouchStart: "touchstart",
topWheel: "wheel"
},
g = "_reactListenersID" + String(Math.random()).slice(2),
_ = Object.assign({}, u, {
ReactEventListener: null,
injection: {
injectReactEventListener: function(e) {
e.setHandleTopLevel(_.handleTopLevel), _.ReactEventListener = e
}
},
setEnabled: function(e) {
_.ReactEventListener && _.ReactEventListener.setEnabled(e)
},
isEnabled: function() {
return !(!_.ReactEventListener || !_.ReactEventListener.isEnabled())
},
listenTo: function(e, t) {
for (var n = t, r = i(n), o = l.registrationNameDependencies[e], s = a.topLevelTypes, u = 0, c = o.length; c > u; u++) {
var p = o[u];
r.hasOwnProperty(p) && r[p] || (p === s.topWheel ? d("wheel") ? _.ReactEventListener.trapBubbledEvent(s.topWheel, "wheel", n) : d("mousewheel") ? _.ReactEventListener.trapBubbledEvent(s.topWheel, "mousewheel", n) : _.ReactEventListener.trapBubbledEvent(s.topWheel, "DOMMouseScroll", n) : p === s.topScroll ? d("scroll", !0) ? _.ReactEventListener.trapCapturedEvent(s.topScroll, "scroll", n) : _.ReactEventListener.trapBubbledEvent(s.topScroll, "scroll", _.ReactEventListener.WINDOW_HANDLE) : p === s.topFocus || p === s.topBlur ? (d("focus", !0) ? (_.ReactEventListener.trapCapturedEvent(s.topFocus, "focus", n), _.ReactEventListener.trapCapturedEvent(s.topBlur, "blur", n)) : d("focusin") && (_.ReactEventListener.trapBubbledEvent(s.topFocus, "focusin", n), _.ReactEventListener.trapBubbledEvent(s.topBlur, "focusout", n)), r[s.topBlur] = !0, r[s.topFocus] = !0) : m.hasOwnProperty(p) && _.ReactEventListener.trapBubbledEvent(p, m[p], n), r[p] = !0)
}
},
trapBubbledEvent: function(e, t, n) {
return _.ReactEventListener.trapBubbledEvent(e, t, n)
},
trapCapturedEvent: function(e, t, n) {
return _.ReactEventListener.trapCapturedEvent(e, t, n)
},
ensureScrollValueMonitoring: function() {
if (!h) {
var e = c.refreshScrollValues;
_.ReactEventListener.monitorScrollValue(e), h = !0
}
},
eventNameDispatchConfigs: s.eventNameDispatchConfigs,
registrationNameModules: s.registrationNameModules,
putListener: s.putListener,
getListener: s.getListener,
deleteListener: s.deleteListener,
deleteAllListeners: s.deleteAllListeners
});
o.exports = _
}), __d("ViewportMetrics", [], function(e, t, n, r, o) {
"use strict";
var i = t("getUnboundedScrollPosition"),
a = {
currentScrollLeft: 0,
currentScrollTop: 0,
refreshScrollValues: function() {
var e = i(window);
a.currentScrollLeft = e.x, a.currentScrollTop = e.y
}
};
o.exports = a
}), __d("getUnboundedScrollPosition", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return e === window ? {
x: window.pageXOffset || document.documentElement.scrollLeft,
y: window.pageYOffset || document.documentElement.scrollTop
} : {
x: e.scrollLeft,
y: e.scrollTop
}
}
o.exports = i
}), __d("isEventSupported", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
if (!s.canUseDOM || t && !("addEventListener" in document)) return !1;
var n = "on" + e,
r = n in document;
if (!r) {
var o = document.createElement("div");
o.setAttribute(n, "return;"), r = "function" == typeof o[n]
}
return !r && a && "wheel" === e && (r = document.implementation.hasFeature("Events.wheel", "3.0")), r
}
var a, s = t("ExecutionEnvironment");
s.canUseDOM && (a = document.implementation && document.implementation.hasFeature && document.implementation.hasFeature("", "") !== !0), o.exports = i
}), __d("containsNode", [], function(e, t, n, r, o) {
function i(e, t) {
return e && t ? e === t ? !0 : a(e) ? !1 : a(t) ? i(e, t.parentNode) : e.contains ? e.contains(t) : e.compareDocumentPosition ? !!(16 & e.compareDocumentPosition(t)) : !1 : !1
}
var a = t("isTextNode");
o.exports = i
}), __d("isTextNode", [], function(e, t, n, r, o) {
function i(e) {
return a(e) && 3 == e.nodeType
}
var a = t("isNode");
o.exports = i
}), __d("getReactRootElementInContainer", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return e ? e.nodeType === a ? e.documentElement : e.firstChild : null
}
var a = 9;
o.exports = i
}), __d("GroupsFeedApp", [], function(e, t, n, r, o) {
"use strict";
var i = t("DliteLoadingComponent"),
a = t("GroupRoute"),
s = t("React"),
l = t("THGroupView"),
u = t("View");
t("THRoutingConfig").initialize();
var c = s.createClass({
displayName: "GroupsFeedApp",
render: function() {
var e = s.createElement(u, {
style: {
paddingTop: this.props.topInset
}
}, l.getFakeStoryView());
return s.createElement(i, {
component: l,
route: new a(null, {
group: this.props.group
}),
loadingView: e,
refetchRoute: !0,
passProps: this.props
})
}
});
o.exports = c
}), __d("DliteLoadingComponent", [], function(e, t, n, r, o) {
"use strict";
var i, a = t("Dlite"),
s = t("FBSpinner"),
l = t("React"),
u = t("StyleSheet"),
c = t("StyleSheetPropType"),
d = t("TimerMixin"),
p = t("View"),
h = t("merge"),
f = t("performanceNow"),
m = 250,
g = u.create({
spinner: {
alignItems: "center",
paddingTop: 200
}
}),
_ = l.createClass({
displayName: "DliteLoadingComponent",
mixins: [d],
propTypes: {
loadingView: l.PropTypes.component,
delayLoad: l.PropTypes.bool,
refetchRoute: l.PropTypes.bool,
onDataReady: l.PropTypes.func,
passProps: l.PropTypes.object,
style: c,
navigator: l.PropTypes.object,
navigationOperations: l.PropTypes.object
},
getInitialState: function() {
return {
dataReady: !1
}
},
getDefaultProps: function() {
return {
loadingView: l.createElement(p, {
style: g.spinner
}, l.createElement(s, null)),
delayLoad: !1,
refetchRoute: !1
}
},
shouldComponentUpdate: function(e, t) {
return t.dataReady !== this.state.dataReady || e.style !== this.props.style || e.passProps !== this.props.passProps
},
componentWillReceiveProps: function(e) {
this.props.route !== e.route && (this.setState({
dataReady: !1
}), this._loadData(e))
},
componentWillMount: function() {
this._loadData(this.props)
},
_runQueries: function(e) {
var t = e.component,
n = {
refetch: e.refetchRoute
};
i = f(), a.createAndExecuteQueries(t, e.route, n, {
onResolvable: e.refetchRoute ? this._onReceive.bind(this, e) : null,
onSuccess: this._onReceive.bind(this, e),
onFailure: function(t) {
return console.error("Error running query for " + e.route.getName() + ": ", t)
}
})
},
_onReceive: function(e) {
var t = e.route;
this.isMounted() && t === this.props.route ? this.setState({
dataReady: !0
}, this.props.onDataReady) : console.info("_loadData finished, but route has changed.", "initialRoute", t, "currentRoute", this.props.route)
},
_loadData: function(e) {
e.delayLoad ? this.setTimeout(this._runQueries.bind(this, e), m) : this._runQueries(e)
},
_forceUpdate: function(e) {
a.createAndExecuteQueries(this.props.component, this.props.route, {
refetch: !0
}, e)
},
getComponent: function() {
return this._component
},
render: function() {
var e = this.props.component,
t = h({
navigator: this.props.navigationOperations || this.props.navigator,
forceUpdate: this._forceUpdate
}, this.props.passProps),
n = function(e) {
this._component = e
}.bind(this),
r = this.state.dataReady ? a.createComponent(e, this.props.route, t, n) : this.props.loadingView;
return l.createElement(p, {
style: this.props.style
}, r)
}
});
o.exports = _
}), __d("Dlite", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
return f(t, function(t, n) {
var r = e + "." + n;
return function() {
var e = a.logClientEvent(r),
n = t.apply(this, arguments);
return e.stop(), n
}
})
}
var a = t("DliteLogger"),
s = t("DliteRouter"),
l = t("DliteRoutingWrapper"),
u = t("GraphQLQueryRunner"),
c = t("GraphQLStore"),
d = t("React"),
p = t("extendArray"),
h = t("forEachObject"),
f = t("mapObject"),
m = t("splitDeferredQueries"),
g = {
createAndExecuteQueries: function(e, t, n, r) {
var o = g.createQueries(e, t);
return n.refetch ? u.forceFetch(o, r) : u.run(o, r)
},
createQueries: function(e, t) {
return e.getQueriesForRoute(t)
},
createComponent: function(e, t, n, r) {
return s.addRoute(t.constructor), Object.assign(n, f(g.createQueries(e, t), function(e) {
if (e) {
var t = c.resolvePointersForQuery(e),
n = Object.keys(t)[0];
return t[n]
}
return null
})), d.createElement(l, {
route: t,
onRef: r,
childFactory: function() {
return d.createElement(e, Object.assign({}, n))
}
})
},
createDeferredQueries: function(e, t) {
var n = [];
return h(e.getQueriesForRoute(t), function(e) {
e && p(n, m(e))
}), n
},
insertQueryResponses: function(e, t) {
h(e, function(e, n) {
c.handleUpdate(t[n], e)
})
}
};
o.exports = i("Dlite", g)
}), __d("DliteRoutingWrapper", [], function(e, t, n, r, o) {
"use strict";
var i = t("DliteRoute"),
a = t("DliteRouteProvider"),
s = t("React"),
l = t("cloneWithProps"),
u = s.PropTypes,
c = s.createClass({
displayName: "DliteRoutingWrapper",
mixins: [a.Mixin],
propTypes: {
route: u.instanceOf(i).isRequired,
childFactory: u.func.isRequired,
onRef: u.func
},
componentDidMount: function() {
this.props.onRef && this.props.onRef(this.refs.root)
},
componentWillUnmount: function() {
this.props.onRef && this.props.onRef(null)
},
getDliteRoute: function() {
return this.props.route
},
getWrappedComponent: function() {
return this.refs.root
},
render: function() {
return l(this.props.childFactory(), {
ref: "root"
})
}
});
o.exports = c
}), __d("DliteRouteProvider", [], function(e, t, n, r, o) {
"use strict";
var i = t("DliteRoute"),
a = t("React"),
s = t("invariant"),
l = a.PropTypes,
u = {
Mixin: {
childContextTypes: {
route: l.instanceOf(i).isRequired
},
getChildContext: function() {
return "function" != typeof this.getDliteRoute && s(0, "DliteRouteProvider mixin requires getDliteRoute to be implemented"), {
route: this.getDliteRoute()
}
}
}
};
o.exports = u
}), __d("cloneWithProps", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
__DEV__ && u(!e.ref, "You are calling cloneWithProps() on a child with a ref. This is dangerous because you're creating a new child which will not be added as a ref to its parent.");
var n = s.mergeProps(t, e.props);
return !n.hasOwnProperty(c) && e.props.hasOwnProperty(c) && (n.children = e.props.children), a.createElement(e.type, n)
}
var a = t("ReactElement"),
s = t("ReactPropTransferer"),
l = t("keyOf"),
u = t("warning"),
c = l({
children: null
});
o.exports = i
}), __d("FBSpinner", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeMethodsMixin"),
a = t("React"),
s = t("ReactIOSViewAttributes"),
l = t("StyleSheet"),
u = t("View"),
c = t("createReactIOSNativeComponentClass"),
d = t("keyMirror"),
p = d({
large: null,
small: null
}),
h = a.createClass({
displayName: "FBSpinner",
propTypes: {
size: a.PropTypes.oneOf(Object.keys(p))
},
statics: {
LARGE: p.large,
SMALL: p.small
},
mixins: [i],
viewConfig: {
uiViewClassName: "FBActivityIndicatorView",
validAttributes: s.UIView
},
getDefaultProps: function() {
return {
size: p.small
}
},
render: function() {
return a.createElement(u, {
style: [f.container, this.props.style]
}, a.createElement(g, {
style: [m[this.props.size], f.transparent]
}))
}
}),
f = l.create({
container: {
alignItems: "center",
justifyContent: "center"
},
transparent: {
backgroundColor: "transparent"
},
sizeSmall: {
height: 20,
width: 20
},
sizeLarge: {
height: 36,
width: 36
}
}),
m = {};
m[p.large] = f.sizeLarge, m[p.small] = f.sizeSmall;
var g = c({
validAttributes: s.UIView,
uiViewClassName: "FBActivityIndicatorView"
});
o.exports = h
}), __d("StyleSheet", [], function(e, t, n, r, o) {
"use strict";
function i() {}
var a = t("ImageStylePropTypes"),
s = t("ReactPropTypeLocations"),
l = t("StyleSheetRegistry"),
u = t("TextStylePropTypes"),
c = t("ViewStylePropTypes"),
d = t("invariant"),
p = {},
h = function(e, t, n, r) {
d(0, e + "\n" + (n || "<<unknown>>") + ": " + JSON.stringify(t, null, " ") + (r || ""))
};
i.create = function(e) {
var t = {};
for (var n in e) i.validateStyle(n, e), t[n] = l.registerStyle(e[n]);
return t
}, i.validateStyleProp = function(e, t, n) {
if (__DEV__) {
if (void 0 === p[e]) {
var r = '"' + e + '" is not a valid style property.',
o = "\nValid style props: " + JSON.stringify(Object.keys(p), null, " ");
h(r, t, n, o)
}
var i = p[e](t, e, n, s.prop);
i && h(i.message, t, n)
}
}, i.validateStyle = function(e, t) {
if (__DEV__)
for (var n in t[e]) i.validateStyleProp(n, t[e], "StyleSheet " + e)
}, i.addValidStylePropTypes = function(e) {
for (var t in e) void 0 !== p[t] && p[t] !== e[t] && d(0, 'Attemped to redefine existing style prop type "' + t + '".'), p[t] = e[t]
}, i.addValidStylePropTypes(a), i.addValidStylePropTypes(u), i.addValidStylePropTypes(c), o.exports = i
}), __d("ImageStylePropTypes", [], function(e, t, n, r, o) {
"use strict";
var i = t("ImageResizeMode"),
a = t("LayoutPropTypes"),
s = t("ReactPropTypes"),
l = t("merge"),
u = l(a, {
resizeMode: s.oneOf(Object.keys(i)),
backgroundColor: s.string,
borderColor: s.string,
borderWidth: s.number,
borderRadius: s.number,
opacity: s.number
}),
c = Object.keys({
padding: null,
paddingTop: null,
paddingLeft: null,
paddingRight: null,
paddingBottom: null,
paddingVertical: null,
paddingHorizontal: null
});
for (var d in c) delete u[d];
o.exports = u
}), __d("ImageResizeMode", [], function(e, t, n, r, o) {
"use strict";
var i = t("keyMirror"),
a = i({
contain: null,
cover: null,
stretch: null
});
o.exports = a
}), __d("View", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeMethodsMixin"),
a = t("NativeModules"),
s = t("ReactPropTypes"),
l = t("React"),
u = t("ReactIOSViewAttributes"),
c = t("StyleSheetPropType"),
d = t("ViewStylePropTypes"),
p = a.RKUIManager.StyleConstants,
h = t("createReactIOSNativeComponentClass"),
f = {
height: 0
},
m = c(d),
g = l.createClass({
displayName: "View",
mixins: [i],
viewConfig: {
uiViewClassName: "RKView",
validAttributes: u.RKView
},
propTypes: {
style: m,
notActuallyTapDontUseMe: s.func,
accessible: s.bool,
testID: s.string,
onTouchStart: s.func,
onTouchMove: s.func,
onTouchEnd: s.func,
onResponderGrant: s.func,
onResponderReject: s.func,
onResponderMove: s.func,
onResponderRelease: s.func,
onResponderTerminate: s.func,
onResponderTerminationRequest: s.func,
onMoveShouldSetResponder: s.func,
onStartShouldSetResponder: s.func,
onStartShouldSetResponderCapture: s.func,
onFocus: s.func,
onBlur: s.func,
pointerEvents: s.oneOf([p.PointerEventsValues.boxNone, p.PointerEventsValues.none, p.PointerEventsValues.boxOnly, p.PointerEventsValues.unspecified])
},
render: function() {
return l.createElement(_, Object.assign({}, this.props))
}
}),
_ = h({
validAttributes: u.RKView,
uiViewClassName: "RKView"
}),
y = _;
__DEV__ && (y = g), y.PointerEvents = p.PointerEventsValues, y.dummyView = function() {
return l.createElement(y, {
style: f
})
}, y.stylePropType = m, o.exports = y
}), __d("StyleSheetPropType", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = a(e);
return function(e, n, r, o) {
var i = e;
return e[n] && (i = {}, i[n] = s(e[n])), t(i, n, r, o)
}
}
var a = t("createStrictShapeTypeChecker"),
s = t("flattenStyle");
o.exports = i
}), __d("createStrictShapeTypeChecker", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
function t(t, n, r, o, i) {
if (!n[r]) return void(t && s(0, "Required object `" + r + "` was not specified in " + ("`" + o + "`.")));
var u = n[r],
c = typeof u,
d = a[i];
"object" !== c && s(0, "Invalid " + d + " `" + r + "` of type `" + c + "` " + ("supplied to `" + o + "`, expected `object`."));
var p = l(n[r], e);
for (var h in p) {
var f = e[h];
f || s(0, "Invalid props." + r + " key `" + h + "` supplied to `" + o + "`.\nBad object: " + JSON.stringify(n[r], null, " ") + "\nValid keys: " + JSON.stringify(Object.keys(e), null, " "));
var m = f(u, h, o, i);
if (m) return s(0, m.message + "\nBad object: " + JSON.stringify(n[r], null, " ")), m
}
}
var n = t.bind(null, !1);
return n.isRequired = t.bind(null, !0), n
}
var a = t("ReactPropTypeLocationNames"),
s = t("invariant"),
l = t("merge");
o.exports = i
}), __d("TimerMixin", [], function(e, t, n, r, o) {
"use strict";
var i = function(e, t, n) {
return function(r, o) {
var i = e(function() {
t.call(this, i), r.apply(this, arguments)
}.bind(this), o);
return this[n] ? this[n].push(i) : this[n] = [i], i
}
},
a = function(e, t) {
return function(n) {
if (this[t]) {
var r = this[t].indexOf(n); - 1 !== r && this[t].splice(r, 1)
}
e(n)
}
},
s = "TimerMixin_timeouts",
l = a(clearTimeout, s),
u = i(setTimeout, l, s),
c = "TimerMixin_intervals",
d = a(clearInterval, c),
p = i(setInterval, function() {}, c),
h = "TimerMixin_immediates",
f = a(clearImmediate, h),
m = i(setImmediate, f, h),
g = "TimerMixin_rafs",
_ = a(cancelAnimationFrame, g),
y = i(requestAnimationFrame, _, g),
v = {
componentWillUnmount: function() {
this[s] && this[s].forEach(this.clearTimeout.bind(this)), this[c] && this[c].forEach(this.clearInterval.bind(this)), this[h] && this[h].forEach(this.clearImmediate.bind(this)), this[g] && this[g].forEach(this.cancelAnimationFrame.bind(this))
},
setTimeout: u,
clearTimeout: l,
setInterval: p,
clearInterval: d,
setImmediate: m,
clearImmediate: f,
requestAnimationFrame: y,
cancelAnimationFrame: _
};
o.exports = v
}), __d("GroupRoute", [], function(e, t, n, r, o) {
"use strict";
var i = t("DliteRoute"),
a = i.create({
name: "GroupRoute",
path: "/{group}",
paramDefinitions: {
group: {
type: "String",
required: !0
}
},
queries: {
group: function(e, t, n) {
return function(e, t) {
var r = n.__GraphQL;
return new r.Query("node", [n.__var(e)], [new r.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], [n.__frag(t)], null, "UnknownFile_group")
}(e, t)
}
}
});
o.exports = a
}), __d("THGroupView", [], function(e, t, n, r, o) {
"use strict";
var i = t("AnimationMixin"),
a = t("FBSpinner"),
s = t("FeedbackPoller"),
l = t("GraphQL_EXPERIMENTAL"),
u = t("GraphQLStore"),
c = t("Image"),
d = t("ImmutableMap"),
p = t("NativeModules"),
h = t("React"),
f = t("ReactGraphQL"),
m = t("RKDeviceEventEmitter"),
g = t("RKDimensions"),
_ = t("RKNativeAppEventEmitter"),
y = t("StyleSheet"),
v = t("Subscribable"),
S = t("TableView"),
w = t("Text"),
b = t("THColors"),
R = t("THDockedInputContainer"),
C = t("THFeedbackView"),
E = t("THFeedUnitView"),
D = t("TimerMixin"),
x = t("TouchableHighlight"),
F = t("View"),
I = (t("deepDiffer"), t("fbt")),
T = t("fetchRQL"),
P = t("format"),
L = t("invariant"),
k = t("isEmpty"),
M = t("ix"),
A = t("merge"),
Q = t("rql"),
O = t("uniqueKey"),
N = "docked_reply_container",
G = p.RKUIManager,
$ = p.RKTreehouseManager,
B = 70,
U = 36,
V = "gk_catalyst_th_live_update",
q = "th_group_comment_tti",
H = h.createClass({
displayName: "THGroupView",
propTypes: {
navigator: h.PropTypes.object,
topInset: h.PropTypes.number,
bottomInset: h.PropTypes.number
},
getDefaultProps: function() {
return {
topInset: 0,
bottomInset: 0
}
},
mixins: [f.Mixin, v.Mixin, i, D],
statics: {
queryParams: {
count: 5
},
queries: {
viewer: function(e, t) {
return function(e, n, r) {
var o = t.__GraphQL;
return new o.QueryFragment("UnknownFile_viewer", "Viewer", [new o.Field("__configs__", [new o.Field("edges", [new o.Field("node", [new o.Field("name"), new o.Field("enabled")])], null, null, null, null, {
plural: !0,
edgesID: "UnknownFile_viewer_1"
})], null, [new o.Callv("named", [t.__var(n)], {
varargs: 1
})], null, null, {
connection: !0,
nonLimitable: !0,
nonFindable: !0
})], [t.__frag(e), t.__frag(r)], {
scope: "UnknownFile_viewer"
})
}(E.getQuery("viewer"), V, C.getQuery("viewerOptimisticPrefetch"))
},
group: function(e, t, n) {
return function(e, n, r, o) {
var i = t.__GraphQL;
return new i.QueryFragment("UnknownFile_group", "Group", [new i.Field("id"), new i.Field("group_stories", [new i.Field("edges", [new i.Field("cursor", null, null, null, null, null, {
requisite: !0
}), new i.Field("node", [new i.Field("id", null, null, null, null, null, {
requisite: !0
}), new i.Field("feedback", [new i.Field("id", null, null, null, null, null, {
requisite: !0
}), new i.Field("top_level_comments", [new i.Field("last_view_time"), new i.Field("unread_count")], null, null, "top_level_comment_counts", null, {
connection: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id"
}), new i.Field("creation_time")], [t.__frag(n)], null, null, null, {
rootCall: "node",
pk: "id",
requisite: !0
})], null, null, null, null, {
plural: !0,
edgesID: "UnknownFile_group_1"
}), new i.Field("page_info", [new i.Field("has_next_page", null, null, null, null, null, {
requisite: !0
}), new i.Field("has_previous_page", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
requisite: !0
})], null, [new i.Callv("first", [t.__var(e)])], null, null, {
connection: !0
}), new i.Field("group_pinned_stories", [new i.Field("count"), new i.Field("edges", [new i.Field("node", [new i.Field("id", null, null, null, null, null, {
requisite: !0
})], [t.__frag(r)], null, null, null, {
rootCall: "node",
pk: "id",
requisite: !0
}), new i.Field("cursor", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
plural: !0,
edgesID: "UnknownFile_group_2"
}), new i.Field("page_info", [new i.Field("has_next_page", null, null, null, null, null, {
generated: !0,
requisite: !0
}), new i.Field("has_previous_page", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
generated: !0,
requisite: !0
})], null, [new i.Callv("first", ["1"])], null, null, {
connection: !0
}), new i.Field("visibility"), new i.Field("viewer_join_state")], [t.__frag(o)], {
scope: "UnknownFile_group"
})
}(n.count, E.getQuery("story"), E.getQuery("story"), E.getQuery("group"))
}
},
navItemTitle: function() {
return "Group"
},
getFakeStoryView: function() {
var e = g.get("window").width;
return h.createElement(F, {
style: W.backdrop
}, h.createElement(F, {
style: W.divider
}), h.createElement(F, {
style: W.grayPadding
}), h.createElement(F, {
style: W.divider
}), h.createElement(F, {
style: W.fakeStoryCell
}, h.createElement(F, {
style: W.fakeStoryHeader
}, h.createElement(F, {
style: W.fakeStoryProfilePicture
}), h.createElement(F, null, h.createElement(F, {
style: [W.fakeStoryTextBlock, {
width: 120,
marginBottom: 10
}]
}), h.createElement(F, {
style: [W.fakeStoryTextBlock, {
width: 100
}]
}))), h.createElement(F, {
style: [W.fakeStoryTextBlock, {
width: e - 60,
marginTop: 8
}]
}), h.createElement(F, {
style: [W.fakeStoryTextBlock, {
width: e - 70
}]
}), h.createElement(F, {
style: [W.fakeStoryTextBlock, {
width: e - 90
}]
}), h.createElement(F, {
style: [W.fakeStoryTextBlock, {
width: e - 70
}]
}), h.createElement(F, {
style: [W.fakeStoryTextBlock, {
width: e - 90
}]
}), h.createElement(F, {
style: [W.fakeStoryTextBlock, {
width: e - 60
}]
})))
}
},
getInitialState: function() {
return {
sectionData: d.create({
pinnedPostSection: d.create({}),
storiesSection: d.create({})
}),
submitCallback: null,
abortCallback: null,
keyboardHeight: 0,
tappedFeedUnitHandle: null,
tappedUnitKey: null,
permalinkContentInsets: null,
pinnedPostIsDisplayed: !1,
prevVisibleIndex: {
start: 0,
end: 0
},
rowAnimationType: "none",
initialInsertionComplete: !1,
contentInsets: {
top: this.props.topInset,
bottom: this.props.bottomInset
},
olderPostsDividerKey: null
}
},
viewForHeaderInSection: function() {
return F.dummyView()
},
getAdjacentKeys: function(e, t) {
var n, r, o = {};
for (var i in t) {
if (r) return o[i] = i, o;
i === e && (n && (o[n] = n), r = !0), n = i
}
return o
},
clearPermalinkMode: function() {
if (this.refs[N].enableScrollResponderAutoInsets(!0), this.state.tappedUnitKey in this.state.sectionData.storiesSection) {
var e = this.state.sectionData.storiesSection,
t = this.getAdjacentKeys(this.state.tappedUnitKey, e);
t[this.state.tappedUnitKey] = this.state.tappedUnitKey;
var n = {};
for (var r in t) n[r] = A(e[r], {
hideSeparator: !1,
hideAll: !1
});
this.setState({
sectionData: d.set(this.state.sectionData, {
storiesSection: d.set(e, n)
})
})
}
this.setState({
tappedFeedUnitHandle: null,
permalinkContentInsets: null,
tappedUnitKey: null
})
},
permalinkInsetsError: function(e) {
console.error("Error calculating insets for the permalink mode: ", e)
},
onSetInsetFailure: function() {
console.error("Unable to set contentInsets when focusing story")
},
viewForTableFooter: function() {
return this.props.group && "CLOSED" === this.props.group.visibility && "MEMBER" !== this.props.group.viewer_join_state ? h.createElement(F, {
style: W.nonMemberView
}, h.createElement(c, {
style: W.lockIcon,
source: M("thLockIcon")
}), h.createElement(F, {
style: W.nonMemberTextContainer
}, h.createElement(w, {
style: W.nonMemberText
}, I({
type: "text",
texts: ["Only members can see posts"],
desc: "Explanation for why no group stories are shown"
})))) : this.props.group && this.props.group.group_stories && !this.props.group.group_stories.page_info.has_next_page ? h.createElement(F, {
style: W.tailLoadingIndicator
}, h.createElement(c, {
style: W.endDot,
source: M("newsfeedEnd")
})) : 0 === d.size(this.state.sectionData.storiesSection) ? H.getFakeStoryView() : h.createElement(F, {
style: W.tailLoadingIndicator
}, h.createElement(a, null))
},
cellForRowAtIndexPath: function(e, t) {
var n, r, o, i;
if ("pinnedPostSection" === e) {
var a = this.state.sectionData.pinnedPostSection[t];
n = a.isBeingDisplayed ? h.createElement(E, {
onInputRequested: this.handleInputRequested,
story: a.node,
group: this.props.group,
viewer: this.props.viewer,
navigator: this.props.navigator,
key: t,
context: {
isGroupStream: !0
},
canCommentInline: !1
}) : h.createElement(x, {
style: W.wrapper,
onPress: this.openPinnedPost
}, h.createElement(F, {
style: W.pinnedPostCell,
onPress: this.viewPinnedPost
}, h.createElement(w, {
style: W.pinnedPostText
}, I({
type: "text",
texts: ["Show Pinned Post"],
desc: "Button to see the pinned post of a group"
}))))
} else if ("storiesSection" === e) {
var a = this.state.sectionData.storiesSection[t];
a.hideAll ? o = W.hide : a.hideSeparator && (r = W.hide), a.node.id === this.state.olderPostsDividerKey && (i = h.createElement(F, {
style: [W.olderPostsHeader, r]
}, h.createElement(w, {
style: W.olderPostsText
}, I({
type: "text",
texts: ["OLDER POSTS"],
desc: "Header for older group posts"
})))), n = h.createElement(E, {
onInputRequested: this.handleInputRequested,
story: a.node,
group: this.props.group,
viewer: this.props.viewer,
navigator: this.props.navigator,
key: t,
context: {
isGroupStream: !0
},
canCommentInline: !1
})
}
return h.createElement(F, {
style: [W.backdrop, o]
}, h.createElement(F, {
style: [W.divider, r]
}), h.createElement(F, {
style: [W.grayPadding, r]
}), i, h.createElement(F, {
style: [W.divider, r]
}), n)
},
isStoryUnread: function(e) {
var t = e.node.feedback.top_level_comment_counts;
if (!t) return !1;
var n = t.last_view_time ? e.node.creation_time > t.last_view_time : !1;
return n || t.unread_count > 0
},
handleInputRequested: function(e, t, n) {
this.setState({
submitCallback: t,
abortCallback: n,
tappedFeedUnitHandle: e.tappedFeedUnitHandle,
tappedUnitKey: O(e.tappedFeedUnitID)
}), this.refs[N].initiateDockedInput(e), $ && $.logEventWithDuration && this.requestAnimationFrame(function() {
var t = ((new Date).getTime() - e.tappedTime) / 1e3;
$.logEventWithDuration(q, t)
})
},
handleDidDock: function() {
this.enablePermalinkMode()
},
enablePermalinkMode: function() {
this.state.tappedFeedUnitHandle && (this.refs[N].enableScrollResponderAutoInsets(!1), G.measureLayout(this.state.tappedFeedUnitHandle, this.refs[N].getScrollResponder().getNativeNode(), this.permalinkInsetsError, this.handleMeasureLayoutForPermalink))
},
handleMeasureLayoutForPermalink: function(e, t, n, r) {
var o = this.refs[N];
G.getScrollViewContentSize(o.getScrollResponder().getNativeNode(), function(e) {
var n = o.getBarHeight() - o.getInitialBarHeight(),
i = this.state.keyboardHeight + n + r,
a = i + t - e.height,
s = g.get("modalFullscreenView").height,
l = B - t,
u = s - i - B;
if (u > 0 && (l += u), this.state.tappedFeedUnitHandle && !this.state.permalinkContentInsets) this.requestAnimationFrame(this.enablePermalinkMode);
else if (this.state.tappedUnitKey in this.state.sectionData.storiesSection) {
var c = this.state.sectionData.storiesSection,
p = this.getAdjacentKeys(this.state.tappedUnitKey, c),
h = {};
for (var f in p) c[f].node || L(0, "Adjacent keys must have corresponding nodes."), h[f] = A(c[f], {
hideSeparator: !1,
hideAll: !0
});
h[this.state.tappedUnitKey] = A(c[this.state.tappedUnitKey], {
hideSeparator: !0,
hideAll: !1
}), this.setState({
sectionData: d.set(this.state.sectionData, {
storiesSection: d.set(c, h)
})
})
}
this.setState({
permalinkContentInsets: {
top: l,
bottom: a
}
})
}.bind(this), this.onSetInsetFailure)
},
reloadFeedViewForGroup: function(e) {
this.props.group.id === e && this.props.forceUpdate({})
},
cancelComment: function() {
this.clearPermalinkMode(), this.refs[N].cancelDockedInput()
},
handleDockedReplyBarHeightChange: function() {
this.enablePermalinkMode()
},
handleConfirmedNewPost: function() {
var e = this.props.group.group_stories.edges[0].cursor,
t = H.getQueriesForRoute(this.context.route),
n = t.group.getQuery().getUnaliasedFields("group_stories")[0],
r = new l.QueryFragment("GroupStoriesFragment", "GroupStoriesConnection", n.getOwnFields(), n.getFragments()),
o = new l.QueryWithValues(function(e, t, n, r) {
var o = Q.__GraphQL;
return new o.Query("node", [Q.__var(e)], [new o.Field("group_stories", null, [Q.__frag(r)], [new o.Callv("before", [Q.__var(t)]), new o.Callv("first", [Q.__var(n)])], null, null, {
connection: !0
}), new o.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, "UnknownFile_q0")
}(this.props.group.id, e, this.queryParams.count, r), {});
T(o).then(function(e) {
if (e.errors && e.errors.length) console.error("Error from fetching new story: ", e.errors[0]);
else {
var t = e.response;
u.handleUpdate(t, o);
var n = t[this.props.group.id],
r = Object.keys(n),
i = n[r[0]].edges.length;
this.setQueryParams({
count: this.queryParams.count + i
})
}
}.bind(this))
},
handleVisibleCellsChange: function(e) {
var t = d.indexOfKey(this.state.sectionData[e.end.section], e.end.row);
this._updateFeedbackPollerForRange(e), t >= this.queryParams.count - 4 && this.setQueryParams({
count: this.queryParams.count + 5
}), this.state.tappedFeedUnitHandle && this.enablePermalinkMode()
},
_updateFeedbackPollerForRange: function(e) {
var t = d.indexOfKey(this.state.sectionData[e.start.section], e.start.row),
n = d.indexOfKey(this.state.sectionData[e.end.section], e.end.row),
r = function(e, r, o) {
var i = o >= t && n >= o;
return i ? s.register(e.node.feedback.id) : s.unregister(e.node.feedback.id), e
},
o = Math.min(this.state.prevVisibleIndex.start, t),
i = Math.max(this.state.prevVisibleIndex.end, n),
a = d.size(this.state.sectionData.storiesSection);
i >= a && (i = a - 1);
var l = i - o + 1;
o >= 0 && l > 0 && a >= o + l ? d.mapRange(this.state.sectionData.storiesSection, r, o, l) : console.error(P("invalid visible polling range. start: {0}, length: {1}, size: {2}", o, l, a)), this.state.prevVisibleIndex.start = t, this.state.prevVisibleIndex.end = n
},
handleKeyboardWillShow: function(e) {
var t = g.get("modalFullscreenView").height - e.endCoordinates.screenY;
t !== this.state.keyboardHeight && this.setState({
keyboardHeight: t
})
},
updateScrollInsets: function(e) {
this.setState({
contentInsets: e
})
},
componentWillMount: function() {
this.addListenerOn(_, "handleConfirmedNewPost", this.handleConfirmedNewPost), this.addListenerOn(_, "updateScrollInsets", this.updateScrollInsets), this.addListenerOn(_, "reloadFeedViewForGroup", this.reloadFeedViewForGroup), this.addListenerOn(_, "cancelComment", this.cancelComment), this.addListenerOn(m, "keyboardWillShow", this.handleKeyboardWillShow), this._setupGroupStories(this.props)
},
componentWillReceiveProps: function(e) {
this._setupGroupStories(e)
},
componentDidUpdate: function() {
this.props.group && $ && $.groupViewComponentDidUpdate && $.groupViewComponentDidUpdate(this.props.group.id)
},
componentDidMount: function() {
if (this.props.group) {
var e = this.refs[N].getScrollResponder();
e.setNativeProps({
contentOffset: {
y: -this.props.topInset
}
}), $ && this.requestAnimationFrame(function() {
$.groupViewComponentDidUpdate && $.groupViewComponentDidUpdate(this.props.group.id), $.logEventEnded && ($.logEventEnded(this.props.groupProfileLoadTTI), $.logEventEnded(this.props.groupPostNotifTTI))
}.bind(this))
}
},
componentWillUnmount: function() {
var e = d.size(this.state.sectionData.storiesSection),
t = this.state.prevVisibleIndex.start,
n = this.state.prevVisibleIndex.end - t + 1;
t >= 0 && n > 0 && e >= t + n ? d.forEachRange(this.state.sectionData.storiesSection, function(e) {
s.unregister(e.node.feedback.id)
}, t, n) : console.error(P("invalid unmount polling range. start: {0}, length: {1}, size: {2}", t, n, e))
},
enablePollerIfNeeded: function(e) {
var t = e.viewer && e.viewer.__configs__ && e.viewer.__configs__.edges;
if (t) {
var n = t.filter(function(e) {
return e.node.name === V
});
k(n) || s.enablePoller(n[0].node.enabled)
}
},
_setupGroupStories: function(e) {
if (this.enablePollerIfNeeded(e), e.group && e.group.group_stories) {
for (var t, n = e.group.group_stories.edges, r = {}, o = this.state.olderPostsDividerKey, i = 0; i < n.length; i++) {
var a = {
node: n[i].node
},
s = O(a.node.id);
this.state.tappedUnitKey ? s === this.state.tappedUnitKey ? (t && (r[t].hideAll = !0), a.hideSeparator = !0) : t === this.state.tappedUnitKey && (a.hideAll = !0) : (a.hideAll = !1, a.hideSeparator = !1), null === o && t && this.isStoryUnread(r[t]) && !this.isStoryUnread(a) && (o = a.node.id), a.local_id = s, r[s] = a, t = s
}
this.setState({
olderPostsDividerKey: o
});
var l = {};
if (e.group.group_pinned_stories && e.group.group_pinned_stories.count > 0 && ("MEMBER" === e.group.viewer_join_state || "OPEN" === e.group.visibility)) {
var u = {
node: e.group.group_pinned_stories.edges[0].node
},
c = O(u.id);
u.local_id = c, l[c] = u, u.isBeingDisplayed = this.state.pinnedPostIsDisplayed
}
this.state.initialInsertionComplete || this.requestAnimationFrame(function() {
this.setState({
rowAnimationType: "fade"
})
}.bind(this)), this.setState(k(l) ? {
initialInsertionComplete: !0,
sectionData: d.create({
storiesSection: d.create(r)
})
} : {
initialInsertionComplete: !0,
sectionData: d.create({
pinnedPostSection: d.create(l),
storiesSection: d.create(r)
})
})
}
},
openPinnedPost: function() {
var e = {},
t = Object.keys(this.state.sectionData.pinnedPostSection)[0],
n = this.state.sectionData.pinnedPostSection[t];
e[n.local_id] = A(this.state.sectionData.pinnedPostSection[t], {
isBeingDisplayed: !0
}), this.setState({
sectionData: d.create({
pinnedPostSection: d.create(e),
storiesSection: this.state.sectionData.storiesSection
}),
pinnedPostIsDisplayed: !0
})
},
handleDockedCommentSubmit: function(e, t) {
this.clearPermalinkMode(), this.state.submitCallback(e, t)
},
handleDockedCommentAbort: function(e) {
this.clearPermalinkMode(), this.state.abortCallback && this.state.abortCallback(e)
},
render: function() {
if (!this.props.group) return h.createElement(F, null);
var e = this.state.contentInsets;
null !== this.state.permalinkContentInsets && (e = this.state.permalinkContentInsets);
var t = h.createElement(S, {
rowAnimationType: this.state.rowAnimationType,
contentInset: e,
scrollIndicatorInsets: e,
showsVerticalScrollIndicator: !1,
tableFooter: this.viewForTableFooter(),
shouldUpdateHeaders: S.HeaderUpdate.never,
shouldUpdateRows: S.RowUpdate.whenRowDataChanges,
minRenderAhead: 10,
maxRenderAhead: 110,
minRenderBehind: 10,
maxRenderBehind: 100,
throttleVisibleCellsChangeMS: 50,
sectionData: this.state.sectionData,
viewForHeaderInSection: this.viewForHeaderInSection,
cellForRowAtIndexPath: this.cellForRowAtIndexPath,
onVisibleCellsChange: this.handleVisibleCellsChange,
style: W.tableViewStyle
});
return h.createElement(R, {
ref: N,
groupID: this.props.group.id,
scrollResponder: t,
onDockedCommentSubmit: this.handleDockedCommentSubmit,
onDockedCommentAbort: this.handleDockedCommentAbort,
onDidDock: this.handleDidDock,
onHeightChange: this.handleDockedReplyBarHeightChange
})
}
}),
j = {
position: "absolute",
top: 0,
left: 0,
width: g.get("window").width
},
W = y.create({
backdrop: {
backgroundColor: b.backgroundColor
},
divider: {
height: .5,
backgroundColor: b.borderColor
},
endDot: {
width: 10,
height: 10
},
fakeStoryCell: {
justifyContent: "space-between",
alignItems: "flex-start",
paddingLeft: 16,
height: 140,
marginBottom: 30,
marginTop: 20,
backgroundColor: b.backgroundColor
},
fakeStoryHeader: {
flexDirection: "row",
alignItems: "center"
},
fakeStoryProfilePicture: {
width: U,
height: U,
borderRadius: U / 2,
marginRight: 12,
backgroundColor: b.fakeStoryTextBlock
},
fakeStoryTextBlock: {
height: 5,
backgroundColor: b.fakeStoryTextBlock
},
grayPadding: {
height: 11,
backgroundColor: b.backgroundWash
},
hide: {
opacity: 0
},
lockIcon: {
height: 30,
width: 30
},
nonMemberText: {
fontSize: 17,
color: b.feedbackFadedText
},
nonMemberTextContainer: {
paddingTop: 10
},
nonMemberView: {
backgroundColor: b.backgroundWash,
alignItems: "center",
paddingTop: 46
},
olderPostsHeader: {
alignItems: "center",
backgroundColor: b.backgroundWash,
flexDirection: "row",
height: 24,
paddingLeft: 16
},
olderPostsText: {
color: b.feedbackFadedText,
fontSize: 12
},
pinnedPostArrow: {
width: 8,
height: 14,
marginRight: 16
},
pinnedPostCell: {
height: 44,
alignItems: "center",
flexDirection: "row",
justifyContent: "space-between",
backgroundColor: "white"
},
pinnedPostText: {
fontSize: 15,
marginLeft: 16
},
tableViewStyle: {
backgroundColor: b.backgroundWash
},
tailLoadingIndicator: A(j, {
backgroundColor: b.backgroundWash,
paddingTop: 0,
height: 52,
justifyContent: "center",
alignItems: "center"
})
});
o.exports = H
}), __d("AnimationMixin", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModulesDeprecated"),
a = t("ReactIOSAnimation"),
s = t("invariant"),
l = t("warning"),
u = i.RKUIManager,
c = {
AnimationTypes: a.Types,
AnimationProperties: a.Properties,
getInitialState: function() {
return {
_currentAnimationsByNodeHandle: {}
}
},
_ensureBookkeepingSetup: function(e) {
this.state._currentAnimationsByNodeHandle[e] || (this.state._currentAnimationsByNodeHandle[e] = [])
},
startAnimation: function(e, t, n) {
var r = 0;
"number" == typeof t ? r = t : (t instanceof Object && void 0 !== t.type && void 0 !== t.property || s(0, "Animation definitions must specify a type of animation and a property to animate."), r = a.createAnimation(t.type, t)), this.refs[e] || s(0, "Invalid refKey " + e + " for anim:\n" + JSON.stringify(t) + "\nvalid refs: " + JSON.stringify(Object.keys(this.refs)));
var o = this.refs[e].getNodeHandle();
this.startAnimationWithNodeHandle(o, r, n)
},
startAnimationWithNodeHandle: function(e, t, n) {
this._ensureBookkeepingSetup(e);
var r = this.state._currentAnimationsByNodeHandle[e],
o = r.length;
r.push(t);
var i = function(t) {
if (this.isMounted()) {
r[o] = 0;
for (var i = !0, a = 0; a < r.length; a++)
if (r[a]) {
i = !1;
break
}
i && (this.state._currentAnimationsByNodeHandle[e] = void 0), n && n(t)
}
}.bind(this);
u.addAnimation(e, t, i)
},
startAnimations: function(e, t) {
var n = 0,
r = 0,
o = e.length,
i = function(e) {
e && ++r, ++n === o && t && t(r === o)
};
e.forEach(function(e) {
l(null != e.ref || null != e.nodeHandle && !e.ref != !e.nodeHandle, "Animations must be specified with either ref xor nodeHandle"), e.ref ? this.startAnimation(e.ref, e.anim, i) : e.nodeHandle && this.startAnimationWithNodeHandle(e.nodeHandle, e.anim, i)
}.bind(this))
},
stopNodeHandleAnimations: function(e) {
if (this.state._currentAnimationsByNodeHandle[e]) {
for (var t = this.state._currentAnimationsByNodeHandle[e], n = 0; n < t.length; n++) {
var r = t[n];
r && u.removeAnimation(+e, r)
}
this.state._currentAnimationsByNodeHandle[e] = void 0
}
},
stopAnimations: function(e) {
this.refs[e] || s(0, "invalid ref"), this.stopNodeHandleAnimations(this.refs[e].getNodeHandle())
},
stopAllAnimations: function() {
for (var e in this.state._currentAnimationsByNodeHandle) this.stopNodeHandleAnimations(e)
},
animateToFrame: function(e, t, n, r, o) {
var i = {
x: t.left + t.width / 2,
y: t.top + t.height / 2,
w: t.width,
h: t.height
};
t = void 0;
var r = r || [0, 0],
s = a.createAnimation(n, {
property: a.Properties.position,
toValue: [i.x, i.y],
velocity: r
}),
l = a.createAnimation(n, {
property: a.Properties.size,
toValue: [i.w, i.h]
});
this.startAnimation(e, s, o), this.startAnimation(e, l)
},
componentWillUnmount: function() {
this.stopAllAnimations()
}
};
o.exports = c
}), __d("ReactIOSAnimation", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactPropTypes"),
a = t("NativeModules").RKAnimationManager,
s = t("createStrictShapeTypeChecker"),
l = t("getObjectValues"),
u = t("invariant"),
c = t("merge"),
d = a.Types,
p = a.Properties,
h = {
bounds: p.bounds,
opacity: p.opacity,
position: p.position,
positionX: p.positionX,
positionY: p.positionY,
zPosition: p.zPosition,
rotation: p.rotation,
rotationX: p.rotationX,
rotationY: p.rotationY,
scaleX: p.scaleX,
scaleXY: p.scaleXY,
scaleY: p.scaleY,
shadowColor: p.shadowColor,
shadowOffset: p.shadowOffset,
shadowOpacity: p.shadowOpacity,
shadowRadius: p.shadowRadius,
size: p.size,
subscaleXY: p.subscaleXY,
subtranslationX: p.subtranslationX,
subtranslationXY: p.subtranslationXY,
subtranslationY: p.subtranslationY,
subtranslationZ: p.subtranslationZ,
translationX: p.translationX,
translationXY: p.translationXY,
translationY: p.translationY,
translationZ: p.translationZ
},
f = {
decay: d.decay,
easeIn: d.easeIn,
easeInEaseOut: d.easeInEaseOut,
easeOut: d.easeOut,
linear: d.linear,
spring: d.spring
},
m = {
Types: f,
Properties: h,
attributeChecker: s({
type: i.oneOf(l(f)),
property: i.oneOf(l(h)),
fromValue: i.any,
toValue: i.any,
duration: i.any,
velocity: i.any,
deceleration: i.any,
springBounciness: i.any,
dynamicsFriction: i.any,
dynamicsMass: i.any,
dynamicsTension: i.any
}),
lastUsedTag: 0,
allocateTagForAnimation: function() {
return ++this.lastUsedTag
},
createAnimation: function(e, t) {
var n = this.allocateTagForAnimation();
return __DEV__ && (m.attributeChecker({
attrs: t
}, "attrs", "ReactIOSAnimation.createAnimation"), m.attributeChecker({
attrs: {
type: e
}
}, "attrs", "ReactIOSAnimation.createAnimation")), a.createAnimationInternal(n, e, t), n
},
createSpringAnimation: function(e) {
return this.createAnimation(this.Types.spring, e)
},
createDecayAnimation: function(e) {
return this.createAnimation(this.Types.decay, e)
},
createLinearAnimation: function(e) {
return this.createAnimation(this.Types.linear, e)
},
createEaseInAnimation: function(e) {
return this.createAnimation(this.Types.easeIn, e)
},
createEaseOutAnimation: function(e) {
return this.createAnimation(this.Types.easeOut, e)
},
createEaseInEaseOutAnimation: function(e) {
return this.createAnimation(this.Types.easeInEaseOut, e)
}
};
if (__DEV__) {
var g = c(a.Properties, a.Properties);
for (var _ in g) m.Properties[_] !== a.Properties[_] && u(0, "ReactIOSAnimation doesn't copy property " + _ + " correctly");
var y = c(a.Types, a.Types);
for (var _ in y) m.Types[_] !== a.Types[_] && u(0, "ReactIOSAnimation doesn't copy type " + _ + " correctly")
}
o.exports = m
}), __d("getObjectValues", [], function(e, t, n, r, o) {
function i(e) {
var t = [];
for (var n in e) t.push(e[n]);
return t
}
o.exports = i
}), __d("FeedbackPoller", [], function(e, t, n, r, o) {
"use strict";
function i() {
if (g(b) || !C) return s(), void(R = null);
var e = function(e, t, n) {
t ? console.error("Error from feedback poller: ", t) : f.handleUpdate(n, e, h.POLLER_UPDATE)
},
t = [];
for (var n in b) {
var r = u(n),
o = l(n, r),
i = new d.QueryWithValues(o, {});
t.push(new m(n, i, c.guard(e.bind(null, i), "FeedbackPoller:handleResponse")))
}
t.length > 0 && _(t), a()
}
function a() {
C && (R = setTimeout(c.guard(i, "FeedbackPoller:schedule"), w))
}
function s() {
R = null, b = {}, clearTimeout(R)
}
function l(e, t) {
var n = b[e],
r = null;
return t && t !== S && (r = function(e, t, n) {
var r = y.__GraphQL;
return new r.QueryFragment("UnknownFile_f0", "Node", [new r.Field("top_level_comments", null, [y.__frag(n)], [new r.Callv("before", [y.__var(e)]), new r.Callv("first", [y.__var(t)])], null, null, {
connection: !0
}), new r.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})])
}(t, v, n)),
function(e, t) {
var n = y.__GraphQL;
return new n.Query("node", [y.__var(e)], [new n.Field("likers", [new n.Field("count")], null, null, null, null, {
connection: !0,
nonFindable: !0
}), new n.Field("does_viewer_like"), new n.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], [y.__frag(t)], null, "UnknownFile_q0")
}(e, r)
}
function u(e) {
var t = function(e) {
var t = y.__GraphQL;
return new t.Query("node", [y.__var(e)], [new t.Field("top_level_comments", [new t.Field("edges", [new t.Field("cursor", null, null, null, null, null, {
requisite: !0
}), new t.Field("node", [new t.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
rootCall: "node",
pk: "id",
generated: !0,
requisite: !0
})], null, null, null, null, {
plural: !0
}), new t.Field("page_info", [new t.Field("has_next_page", null, null, null, null, null, {
generated: !0,
requisite: !0
}), new t.Field("has_previous_page", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, null, null, {
generated: !0,
requisite: !0
})], null, [new t.Callv("first", ["1"])], null, null, {
connection: !0
}), new t.Field("id", null, null, null, null, null, {
generated: !0,
requisite: !0
})], null, null, "UnknownFile_q0")
}(e),
n = f.resolveQueryFromStore(new d.QueryWithValues(t, {}));
return n && n[e] && n[e].top_level_comments && n[e].top_level_comments.edges[0] && n[e].top_level_comments.edges[0].cursor
}
var c = t("ErrorUtils"),
d = t("GraphQL_EXPERIMENTAL"),
p = t("GraphQLConstants"),
h = t("GraphQLMutatorConstants"),
f = t("GraphQLStore"),
m = t("RQLRequest"),
g = t("isEmpty"),
_ = t("fetchBatchedRQL"),
y = t("rql"),
v = 10,
S = p.DUMMY_CURSOR_ID,
w = 15e3,
b = {},
R = null,
C = !1,
E = {
enablePoller: function(e) {
C !== e && (C = e, C || s())
},
register: function(e) {
if (C && e) {
if (!b[e]) {
var t = f.getTrackedQueryByID(e),
n = t.getUnaliasedFields("top_level_comments");
n = n.filter(function(e) {
return "top_level_comment_counts" !== e.getAlias()
}, n);
var r = n.map(function(e) {
return new d.QueryFragment("FeedbackPollerFragment", "CommentsConnection", e.getOwnFields(), e.getFragments())
});
b[e] = new d.QueryFragment("FeedbackPoller", "CommentsConnection", null, r)
}
R || a()
}
},
unregister: function(e) {
e && delete b[e]
}
};
o.exports = E
}), __d("Image", [], function(e, t, n, r, o) {
"use strict";
var i = t("EdgeInsetsPropType"),
a = t("NativeMethodsMixin"),
s = t("NativeModulesDeprecated"),
l = t("ReactPropTypes"),
u = t("ImageResizeMode"),
c = t("ImageStylePropTypes"),
d = t("React"),
p = t("ReactIOSViewAttributes"),
h = t("StyleSheet"),
f = t("StyleSheetPropType"),
m = t("createReactIOSNativeComponentClass"),
g = t("flattenStyle"),
_ = t("insetsDiffer"),
y = t("merge"),
v = l.shape({
uri: l.string.isRequired,
isStatic: l.bool,
width: l.number,
height: l.number
}),
S = d.createClass({
displayName: "Image",
propTypes: {
source: v.isRequired,
accessible: l.bool,
accessibilityLabel: l.string,
capInsets: i,
style: f(c),
testID: l.string,
notActuallyTapDontUseMe: l.func
},
statics: {
CONTAIN: u.contain,
COVER: u.cover,
STRETCH: u.stretch,
SourcePropType: v
},
mixins: [a],
viewConfig: {
uiViewClassName: "UIView",
validAttributes: p.UIView
},
render: function() {
var e, t = g([w.base, this.props.style]),
n = this.props.source.isStatic || this.props.source.isStored ? R : C,
r = s.RKUIManager.UIView.ContentMode;
e = t.resizeMode === u.stretch ? r.ScaleToFill : t.resizeMode === u.contain ? r.ScaleAspectFit : r.ScaleAspectFill;
var o = y(this.props, {
style: t,
resizeMode: e
});
return this.props.source.isStored ? o.imageTag = this.props.source.uri : o.src = this.props.source.uri, d.createElement(n, Object.assign({}, o))
}
}),
w = h.create({
base: {
overflow: "hidden"
}
}),
b = y(p.UIView, {
accessible: !0,
accessibilityLabel: !0,
capInsets: {
diff: _
},
imageTag: !0,
resizeMode: !0,
src: !0,
testID: l.string
}),
R = m({
validAttributes: b,
uiViewClassName: "RKStaticImage"
}),
C = m({
validAttributes: y(b, {
defaultImageSrc: !0
}),
uiViewClassName: "RKNetworkImageView"
});
o.exports = S
}), __d("EdgeInsetsPropType", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactPropTypes"),
a = t("createStrictShapeTypeChecker"),
s = t("insetsDiffer"),
l = a({
top: i.number,
left: i.number,
bottom: i.number,
right: i.number
});
l.differ = s, o.exports = l
}), __d("insetsDiffer", [], function(e, t, n, r, o) {
"use strict";
var i = {
top: void 0,
left: void 0,
right: void 0,
bottom: void 0
},
a = function(e, t) {
return e = e || i, t = t || i, e !== t && (e.top !== t.top || e.left !== t.left || e.right !== t.right || e.bottom !== t.bottom)
};
o.exports = a
}), __d("ImmutableMap", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = isNaN(+e) || e.substring && "." === e.substring(0, 1),
n = e === _ || e === y || e === g;
return !n && "string" == typeof e && "" !== e && t
}
function a(e, t, n) {
"number" == typeof e && "number" == typeof t && t >= 0 && e >= 0 && n >= e + t || h(0, "ImmutableMap: `mapRange` and `forEachRange` expect non-negative start and length arguments within the bounds of the instance. start: " + e + ", length: " + t + ", actualLen: " + n)
}
function s(e) {
return e instanceof p && e.hasOwnProperty(g)
}
function l(e) {
s(e) || h(0, "ImmutableMap: Attempted to operate on object that is not ImmutableMap")
}
function u(e) {
return e === g || e === _ || e === y
}
function c(e, t, n, r) {
var o = {
enumerable: !1,
configurable: !0,
writable: !0,
value: t
},
i = {
enumerable: !1,
configurable: !0,
writable: !0,
value: n
},
a = {
enumerable: !1,
configurable: !0,
writable: !0,
value: r
};
Object.defineProperty(e, g, o), Object.defineProperty(e, _, i), Object.defineProperty(e, y, a)
}
function d() {}
var p = t("Immutable"),
h = t("invariant"),
f = t("keyOf"),
m = f({
_DONT_EVER_TYPE_THIS_SECRET_KEY: null
}),
g = "__size_DoNotEverTouchThis",
_ = "__keyByIndexDoNotEverTouchThis",
y = "__indexByKeyDoNotEverTouchThis";
d.create = function() {
var e = new p(p[m]),
t = d.mergeAndValidateAllPropertiesInto(e, arguments);
return c(e, t, [], []), e[_].areComputed = !1, __DEV__ && d.customDeepFreezeRootNode(e), e
}, d.mergeAndValidateAllPropertiesInto = function(e, t) {
for (var n = t.length, r = 0, o = 0; n > o; o++) {
var a = t[o];
for (var l in a)
if (!(!a.hasOwnProperty(l) || s(a) && u(l))) {
e.hasOwnProperty(l) || (i(l) || h(0, "ImmutableMap: Key must be truthy string not number-like."), r++);
var c = a[l];
void 0 === c && h(0, "undefined ImmutableMap value"), e[l] = c
}
}
return r
}, d.customDeepFreezeRootNode = function(e) {
l(e), Object.freeze(e);
for (var t in e) e.hasOwnProperty(t) && !u(t) && p.recurseDeepFreeze(e[t]);
Object.seal(e)
}, d.set = function(e, t) {
return l(e), t instanceof p || "object" == typeof t && void 0 !== t && !Array.isArray(t) || h(0, "Invalid ImmutableMap.set argument `put`"), d.create(e, t)
}, d.fromArray = function(e, t) {
var n = Array.isArray(e),
r = "function" == typeof t;
n || h(0, "fromArray: First argument must be an array."), r || h(0, "fromArray: Requires keyExtractor to be function");
var o = new p(p[m]),
a = [],
s = {};
c(o, e.length, a, s);
for (var l = 0; l < e.length; l++) {
var u = e[l],
f = t(u, l);
o.hasOwnProperty(f) && h(0, "Duplicate key in array passed to fromArray %s", f), i(f) || h(0, "invalid key for ImmutableMap", f), o[f] = u, a[l] = "" + f, s[f] = l
}
return a.areComputed = !0, __DEV__ && d.customDeepFreezeRootNode(o), o
}, d.size = function(e) {
return l(e), d.$ImmutableMap_computePositionsIfNeeded(e), e[g]
}, d.has = function(e, t) {
return i(t) || h(0, "invalid key for ImmutableMap", t), l(e), e.hasOwnProperty(t)
}, d.get = function(e, t) {
return i(t) || h(0, "invalid key for ImmutableMap", t), e.hasOwnProperty(t) ? e[t] : void 0
}, d.map = function(e, t, n) {
return l(e), d.$ImmutableMap_computePositionsIfNeeded(e), d.mapRange(e, t, 0, e[g], n)
}, d.mapRange = function(e, t, n, r, o) {
l(e), d.$ImmutableMap_computePositionsIfNeeded(e);
var i = {},
s = 0;
a(n, r, d.size(e));
var u = n + r - 1;
for (var c in e)
if (e.hasOwnProperty(c)) {
if (s >= n) {
if (s > u) break;
i[c] = t.call(o, e[c], c, s)
}
s++
}
return d.create(i)
}, d.filter = function(e, t, n) {
return d.filterRange(e, t, 0, d.size(e), n)
}, d.filterRange = function(e, t, n, r, o) {
var i = {};
return d.forEachRange(e, function(e, n, r) {
t.call(o, e, n, r) && (i[n] = e)
}, n, r), d.create(i)
}, d.forEach = function(e, t, n) {
d.forEachRange(e, t, 0, d.size(e), n)
}, d.forEachRange = function(e, t, n, r, o) {
l(e), a(n, r, d.size(e));
var i = 0,
s = n + r - 1;
for (var u in e)
if (e.hasOwnProperty(u)) {
if (i >= n) {
if (i > s) break;
t.call(o, e[u], u, i)
}
i++
}
}, d.mapKeyRange = function(e, t, n, r, o) {
var i = d.indexOfKey(e, n),
a = d.indexOfKey(e, r);
(null == i || null == a) && h(0, "mapKeyRange must be given keys that are present."), a >= i || h(0, "ImmutableMap.mapKeyRange(...): `endKey` must be >= `startIndex`.");
var s = a - i + 1;
return d.mapRange(e, t, i, s, o)
}, d.forEachKeyRange = function(e, t, n, r, o) {
var i = d.indexOfKey(e, n),
a = d.indexOfKey(e, r);
(null == i || null == a) && h(0, "forEachKeyRange must be given keys that are present."), a >= i || h(0, "ImmutableMap.forEachKeyRange(...): `endKey` must not come before `startIndex`.");
var s = a - i + 1;
d.forEachRange(e, t, i, s, o)
}, d.keyAtIndex = function(e, t) {
d.$ImmutableMap_computePositionsIfNeeded(e);
var n = e[_][t];
return n ? n : void 0
}, d.valueAtIndex = function(e, t) {
var n = d.keyAtIndex(e, t);
return void 0 !== n ? e[n] : void 0
}, d.keyAfter = function(e, t) {
return d.nthKeyAfter(e, t, 1)
}, d.keyBefore = function(e, t) {
return d.nthKeyBefore(e, t, 1)
}, d.nthKeyAfter = function(e, t, n) {
var r = d.indexOfKey(e, t);
return void 0 === r && h(0, "ImmutableMap.nthKeyAfter: The key `%s` does not exist in this instance.", t), d.keyAtIndex(e, r + n)
}, d.nthKeyBefore = function(e, t, n) {
return d.nthKeyAfter(e, t, -n)
}, d.indexOfKey = function(e, t) {
i(t) || h(0, "invalid key for ImmutableMap", t), d.$ImmutableMap_computePositionsIfNeeded(e);
var n = e[y][t];
return void 0 === n ? void 0 : n
}, d.$ImmutableMap_computePositionsIfNeeded = function(e) {
e[_].areComputed === !1 && d.$ImmutableMap_computePositionsFromDictionary(e)
}, d.$ImmutableMap_computePositionsFromDictionary = function(e) {
var t = e[_],
n = e[y],
r = 0;
for (var o in e) e.hasOwnProperty(o) && (t[r] = o, n[o] = r, r++);
e[_].areComputed = !0
}, o.exports = d
}), __d("Immutable", [], function(e, t, n, r, o) {
function i(e) {
"use strict";
e !== i[u] && a(0, "Only certain classes should create instances of `Immutable`.You probably want something like ImmutableObject.create.")
}
var a = t("invariant"),
s = t("isNode"),
l = t("keyOf"),
u = l({
_DONT_EVER_TYPE_THIS_SECRET_KEY: null
});
i.mergeAllPropertiesInto = function(e, t) {
"use strict";
for (var n = t.length, r = 0; n > r; r++) Object.assign(e, t[r])
}, i.deepFreezeRootNode = function(e) {
"use strict";
if (!s(e)) {
Object.freeze(e);
for (var t in e) e.hasOwnProperty(t) && i.recurseDeepFreeze(e[t]);
Object.seal(e)
}
}, i.recurseDeepFreeze = function(e) {
"use strict";
if (!s(e) && i.shouldRecurseFreeze(e)) {
Object.freeze(e);
for (var t in e) e.hasOwnProperty(t) && i.recurseDeepFreeze(e[t]);
Object.seal(e)
}
}, i.shouldRecurseFreeze = function(e) {
"use strict";
return "object" == typeof e && !(e instanceof i) && null !== e
}, i._DONT_EVER_TYPE_THIS_SECRET_KEY = Math.random(), o.exports = i
}), __d("RKDimensions", [], function(e, t, n, r, o) {
"use strict";
function i() {}
var a = t("NativeModules"),
s = t("invariant"),
l = t("mergeInto"),
u = a.RKUIManager.RKDimensions;
i.set = function(e) {
return l(u, e), !0
}, i.get = function(e) {
return u[e] || s(0, "No dimension set for key " + e), u[e]
}, o.exports = i
}), __d("mergeInto", [], function(e, t, n, r, o) {
"use strict";
o.exports = Object.assign
}), __d("RKNativeAppEventEmitter", [], function(e, t, n, r, o) {
"use strict";
var i = t("EventEmitter"),
a = new i;
o.exports = a
}), __d("Subscribable", [], function(e, t, n, r, o) {
"use strict";
var i = {
Mixin: {
componentWillMount: function() {
this._subscriptions = []
},
componentWillUnmount: function() {
this._subscriptions.forEach(function(e) {
return e.remove()
}), this._subscriptions = null
},
addListenerOn: function(e, t, n, r) {
this._subscriptions.push(e.addListener(t, n, r))
}
}
};
o.exports = i
}), __d("TableView", [], function(e, t, n, r, o) {
"use strict";
var i = t("ImmutableMap"),
a = t("React"),
s = t("ReactIOSViewAttributes"),
l = t("NativeModules").RKUIManager.RKTableView.Constants,
u = t("ScrollResponder"),
c = t("ScrollViewPropTypes"),
d = t("StyleSheet"),
p = t("TableLogic"),
h = t("TableViewMixin"),
f = t("View"),
m = t("createReactIOSNativeComponentClass"),
g = t("insetsDiffer"),
_ = t("invariant"),
y = t("merge"),
v = t("pointsDiffer"),
S = a.PropTypes,
w = h.Cell,
b = "container_ref",
R = {
none: l.UITableViewRowAnimation.None,
fade: l.UITableViewRowAnimation.Fade,
right: l.UITableViewRowAnimation.Right,
left: l.UITableViewRowAnimation.Left,
top: l.UITableViewRowAnimation.Top,
bottom: l.UITableViewRowAnimation.Bottom,
middle: l.UITableViewRowAnimation.Middle,
automatic: l.UITableViewRowAnimation.Automatic
},
C = a.PropTypes.oneOf(Object.keys(R)),
E = a.createClass({
displayName: "TableView",
statics: {
rowAnimationPropType: C,
RowAnimationTypes: R
},
propTypes: y(c, {
tableHeader: S.renderable,
tableFooter: S.renderable,
sectionData: S.object.isRequired,
cellForRowAtIndexPath: S.func.isRequired,
viewForHeaderInSection: S.func.isRequired,
onFocus: S.func,
rowAnimationType: S.string,
fillerBGColor: S.string,
throttleVisibleCellsChangeMS: S.number,
onPullToRefresh: S.func,
onScrollAnimationEnd: S.func,
maxRenderAhead: S.number,
minRenderAhead: S.number,
maxRenderBehind: S.number,
minRenderBehind: S.number,
throttleVisibleCellsthrottleVisibleCellsChangeMS: S.number,
shouldUpdateHeaders: S.oneOf([h.HeaderUpdate.always, h.HeaderUpdate.never, h.HeaderUpdate.whenSectionDataChanges]),
shouldUpdateRows: S.oneOf([h.RowUpdate.always, h.RowUpdate.never, h.RowUpdate.whenRowDataChanges]),
maxExpandBy: S.number
}),
mixins: [h.Mixin, u.Mixin],
getInitialState: function() {
return y(this.tableViewMixinGetInitialState(), this.scrollResponderMixinGetInitialState())
},
setNativeProps: function(e) {
this.refs[b].setNativeProps(e)
},
handleVisibleCellsChange: function(e) {
var t = e.nativeEvent,
n = i.keyAtIndex(this.props.sectionData, t.startSection),
r = i.keyAtIndex(this.props.sectionData, t.endSection),
o = this.props.sectionData[n],
a = this.props.sectionData[r];
this.tableViewMixinPrepareVisibleRangeForMutation(), this.state.visibleRange.start.section = n, this.state.visibleRange.start.row = i.keyAtIndex(o, t.startRow), this.state.visibleRange.end.section = r, this.state.visibleRange.end.row = i.keyAtIndex(a, t.endRow), h.validRange(this.state.visibleRange) || _(0, "Bad range on change"), this.tableViewMixinHandleVisibleRangeChange(t.throttleIgnored, this.state.visibleRange)
},
wrapCellContent: function(e) {
return a.createElement(w, null, e)
},
render: function() {
this.tableViewMixinValidateProperties(this.props), p.validateWindowingProperties(this.props);
var e = this.state.renderRange,
t = this.props.sectionData,
n = null === e ? null : this.tableViewMixinRenderChildren(),
r = null === e ? 0 : i.indexOfKey(t, e.start.section),
o = null === e ? 0 : i.indexOfKey(t[e.start.section], e.start.row),
s = this.props.ContainerContructor || x;
return a.createElement(s, {
ref: b,
onFocus: this.props.onFocus,
style: [D.container, this.props.style],
rowAnimationType: R[this.props.rowAnimationType],
contentInset: this.props.contentInset,
contentOffset: this.props.contentOffset,
automaticallyAdjustContentInsets: this.props.automaticallyAdjustContentInsets,
scrollIndicatorInsets: this.props.scrollIndicatorInsets,
throttleScrollCallbackMS: this.props.throttleScrollCallbackMS,
onScroll: this.scrollResponderHandleScroll,
scrollEnabled: this.props.scrollEnabled,
showsHorizontalScrollIndicator: this.props.showsHorizontalScrollIndicator,
showsVerticalScrollIndicator: this.props.showsVerticalScrollIndicator,
fillerBGColor: this.props.fillerBGColor,
throttleVisibleCellsChangeMS: h.getThrottleCallbackMS(this.props),
onVisibleCellsChange: this.handleVisibleCellsChange,
windowStartSection: r,
onPullToRefresh: this.props.onPullToRefresh,
windowStartRow: o,
onTouchStart: this.scrollResponderHandleTouchStart,
onTouchEnd: this.scrollResponderHandleTouchEnd,
onScrollAnimationEnd: this.props.onScrollAnimationEnd,
onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag,
onScrollEndDrag: this.scrollResponderHandleScrollEndDrag,
onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin,
onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd,
onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder,
onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture,
onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder,
onResponderGrant: this.scrollResponderHandleResponderGrant,
onResponderRelease: this.scrollResponderHandleResponderRelease,
onResponderReject: this.scrollResponderHandleResponderReject
}, this.props.tableHeader || f.dummyView(), this.props.tableFooter || f.dummyView(), n)
}
}),
D = d.create({
container: {
flex: 1
}
});
E.HeaderUpdate = h.HeaderUpdate, E.RowUpdate = h.RowUpdate;
var x = m({
validAttributes: y(s.UIView, {
rowAnimationType: !0,
automaticallyAdjustContentInsets: !0,
contentInset: {
diff: g
},
contentOffset: {
diff: v
},
scrollIndicatorInsets: {
diff: g
},
scrollEnabled: !0,
showsHorizontalScrollIndicator: !0,
showsVerticalScrollIndicator: !0,
windowStartSection: !0,
windowStartRow: !0,
throttleScrollCallbackMS: !0,
throttleVisibleCellsChangeMS: !0,
fillerBGColor: !0
}),
uiViewClassName: "RKTableView"
});
o.exports = E
}), __d("ScrollResponder", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModules"),
a = t("NativeModulesDeprecated"),
s = t("RKDeviceEventEmitter"),
l = t("Subscribable"),
u = t("TextInputState"),
c = i.RKUIManager,
d = a.RKUIManager,
p = c.RKScrollView.Constants,
h = t("warning"),
f = 16,
m = {
mixins: [l.Mixin],
statics: p,
scrollResponderMixinGetInitialState: function() {
return {
isTouching: !1,
lastMomentumScrollBeginTime: 0,
lastMomentumScrollEndTime: 0,
observedScrollSinceBecomingResponder: !1,
becameResponderWhileAnimating: !1
}
},
scrollResponderHandleScrollShouldSetResponder: function() {
return this.state.isTouching
},
scrollResponderHandleStartShouldSetResponder: function() {
return !1
},
scrollResponderHandleStartShouldSetResponderCapture: function(e) {
var t = u.currentlyFocusedField();
return this.props.keyboardShouldPersistTaps || null == t || e.target == t ? this.scrollResponderIsAnimating() : !0
},
scrollResponderHandleResponderReject: function() {
h(!1, "ScrollView doesn't take rejection well - scrolls anyway")
},
scrollResponderHandleTerminationRequest: function() {
return !this.state.observedScrollSinceBecomingResponder
},
scrollResponderHandleTouchEnd: function(e) {
var t = e.nativeEvent;
this.state.isTouching = 0 !== t.touches.length, this.props.onTouchEnd && this.props.onTouchEnd(e)
},
scrollResponderHandleResponderRelease: function(e) {
this.props.onResponderRelease && this.props.onResponderRelease(e);
var t = u.currentlyFocusedField();
this.props.keyboardShouldPersistTaps || null == t || e.target == t || this.state.observedScrollSinceBecomingResponder || this.state.becameResponderWhileAnimating || (this.props.onScrollResponderKeyboardDismissed && this.props.onScrollResponderKeyboardDismissed(e), u.blurTextInput(t))
},
scrollResponderHandleScroll: function(e) {
this.state.observedScrollSinceBecomingResponder = !0, this.props.onScroll && this.props.onScroll(e)
},
scrollResponderHandleResponderGrant: function(e) {
this.state.observedScrollSinceBecomingResponder = !1, this.props.onResponderGrant && this.props.onResponderGrant(e), this.state.becameResponderWhileAnimating = this.scrollResponderIsAnimating()
},
scrollResponderHandleScrollBeginDrag: function(e) {
this.props.onScrollBeginDrag && this.props.onScrollBeginDrag(e)
},
scrollResponderHandleScrollEndDrag: function(e) {
this.props.onScrollEndDrag && this.props.onScrollEndDrag(e)
},
scrollResponderHandleMomentumScrollBegin: function(e) {
this.state.lastMomentumScrollBeginTime = Date.now(), this.props.onMomentumScrollBegin && this.props.onMomentumScrollBegin(e)
},
scrollResponderHandleMomentumScrollEnd: function(e) {
this.state.lastMomentumScrollEndTime = Date.now(), this.props.onMomentumScrollEnd && this.props.onMomentumScrollEnd(e)
},
scrollResponderHandleTouchStart: function(e) {
this.state.isTouching = !0, this.props.onTouchStart && this.props.onTouchStart(e)
},
scrollResponderHandleTouchMove: function(e) {
this.props.onTouchMove && this.props.onTouchMove(e)
},
scrollResponderIsAnimating: function() {
var e = Date.now(),
t = e - this.state.lastMomentumScrollEndTime,
n = f > t || this.state.lastMomentumScrollEndTime < this.state.lastMomentumScrollBeginTime;
return n
},
scrollResponderScrollTo: function(e, t) {
d.scrollTo(this.getNodeHandle(), e, t)
},
scrollResponderZoomTo: function(e) {
d.zoomToRect(this.getNodeHandle(), e)
},
scrollResponderScrollNativeHandleToKeyboard: function(e, t) {
this.additionalScrollOffset = t || 0, c.measureLayout(e, this.getNodeHandle(), this.scrollResponderTextInputFocusError, this.scrollResponderInputMeasureAndScrollToKeyboard)
},
scrollResponderInputMeasureAndScrollToKeyboard: function(e, t, n, r) {
if (this.keyboardWillOpenTo) {
var o = t - this.keyboardWillOpenTo.endCoordinates.screenY + r + this.additionalScrollOffset;
this.scrollResponderScrollTo(0, o)
}
this.additionalOffset = 0
},
scrollResponderTextInputFocusError: function(e) {
console.error("Error measuring text field: ", e)
},
componentWillMount: function() {
this.keyboardWillOpenTo = null, this.additionalScrollOffset = 0, this.addListenerOn(s, "keyboardWillShow", this.scrollResponderKeyboardWillShow), this.addListenerOn(s, "keyboardWillHide", this.scrollResponderKeyboardWillHide), this.addListenerOn(s, "keyboardDidShow", this.scrollResponderKeyboardDidShow), this.addListenerOn(s, "keyboardDidHide", this.scrollResponderKeyboardDidHide)
},
scrollResponderKeyboardWillShow: function(e) {
this.keyboardWillOpenTo = e, this.props.onKeyboardWillShow && this.props.onKeyboardWillShow(e)
},
scrollResponderKeyboardWillHide: function(e) {
this.keyboardWillOpenTo = null, this.props.onKeyboardWillHide && this.props.onKeyboardWillHide(e)
},
scrollResponderKeyboardDidShow: function() {
this.keyboardWillOpenTo = null, this.props.onKeyboardDidShow && this.props.onKeyboardDidShow()
},
scrollResponderKeyboardDidHide: function() {
this.keyboardWillOpenTo = null, this.props.onKeyboardDidHide && this.props.onKeyboardDidHide()
}
},
g = {
Mixin: m
};
o.exports = g
}), __d("ScrollViewPropTypes", [], function(e, t, n, r, o) {
"use strict";
var i = t("EdgeInsetsPropType"),
a = t("PointPropType"),
s = t("ReactPropTypes"),
l = t("StyleSheetPropType"),
u = t("ViewStylePropTypes"),
c = t("nativePropType"),
d = {
automaticallyAdjustContentInsets: c(s.bool),
contentInset: c(i),
contentOffset: c(a),
onScroll: s.func,
onScrollAnimationEnd: s.func,
scrollEnabled: c(s.bool),
scrollIndicatorInsets: c(i),
showsHorizontalScrollIndicator: c(s.bool),
showsVerticalScrollIndicator: c(s.bool),
style: l(u),
throttleScrollCallbackMS: c(s.number)
};
o.exports = d
}), __d("PointPropType", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactPropTypes"),
a = t("createStrictShapeTypeChecker"),
s = t("pointsDiffer"),
l = a({
x: i.number,
y: i.number
});
l.differ = s, o.exports = l
}), __d("pointsDiffer", [], function(e, t, n, r, o) {
"use strict";
var i = {
x: void 0,
y: void 0
},
a = function(e, t) {
return e = e || i, t = t || i, e !== t && (e.x !== t.x || e.y !== t.y)
};
o.exports = a
}), __d("nativePropType", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return e.isNative = !0, e
}
o.exports = i
}), __d("TableLogic", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return h in e ? e.maxRenderAhead : a(e) + v
}
function a(e) {
return f in e ? e.minRenderAhead : y
}
function s(e) {
return m in e ? e.maxRenderBehind : l(e) + v
}
function l(e) {
return g in e ? e.minRenderBehind : y
}
var u = t("ImmutableMap"),
c = t("invariant"),
d = t("keyMirror"),
p = t("keyOf"),
h = p({
maxRenderAhead: null
}),
f = p({
minRenderAhead: null
}),
m = p({
maxRenderBehind: null
}),
g = p({
minRenderBehind: null
}),
_ = !1,
y = 6,
v = 4,
S = d({
moveForward: null,
moveBackward: null,
moveNone: null
}),
w = {
section: null,
row: null
},
b = function() {
return {
start: {
section: null,
row: null
},
end: {
section: null,
row: null
}
}
},
R = {
section: null,
row: null
},
C = {
section: null,
row: null
},
E = {
section: null,
row: null
},
D = {
section: null,
row: null
},
x = b(),
F = b(),
I = b(),
T = function(e, t) {
if (e === t) return !1;
var n = null === e && null !== t || null !== e && null === t;
return n || e.start.section !== t.start.section || e.end.section !== t.end.section || e.start.row !== t.start.row || e.end.row !== t.end.row
},
P = function(e) {
if (!e || 0 === u.size(e)) return null;
var t = u.keyAtIndex(e, 0),
n = u.valueAtIndex(e, 0),
r = n && u.keyAtIndex(n, 0) || null;
return r ? {
start: {
section: t,
row: r
},
end: {
section: t,
row: r
}
} : null
},
L = function(e, t, n, r) {
return e === n && t === r
},
k = {
section: null,
row: null
},
M = {
section: null,
row: null
},
A = function(e, t, n, r) {
return k.section = t, k.row = n, G(e, r.start, k, r.end, M), M.section === t && M.row === n
},
Q = function(e, t, n, r, o) {
if (L(t, n, r, o)) return !1;
var i = u.indexOfKey(e, t),
a = u.indexOfKey(e, r);
if ((void 0 === i || void 0 === a) && c(0, "Bad sections"), i === a) {
var s = u.indexOfKey(e[t], n),
l = u.indexOfKey(e[r], o);
return (void 0 === s || void 0 === l) && c(0, "Bad rows %s-%s", n, o), l > s
}
return a > i
},
O = function(e, t, n, r, o) {
return L(t, n, r, o) ? !1 : !Q(e, t, n, r, o)
},
N = function(e, t, n) {
return O(e, t.section, t.row, n.section, n.row) ? S.moveBackward : Q(e, t.section, t.row, n.section, n.row) ? S.moveForward : S.moveNone
},
G = function(e, t, n, r, o) {
var i = n.row,
a = n.section;
t.section && t.row && n.section && n.row && r.section && r.row || c(0, "Invalid clamp args"), O(e, a, i, r.section, r.row) ? (o.section = r.section, o.row = r.row) : Q(e, a, i, t.section, t.row) ? (o.section = t.section, o.row = t.row) : (o.section = a, o.row = i)
},
$ = function(e, t, n, r) {
var o = e[t];
o || c(0, "No rows found for section %s", t);
var i = !!n;
if (i && u.indexOfKey(o, n) > 0) return r.section = t, r.row = u.keyBefore(o, n), !0;
if (!i || 0 === u.indexOfKey(o, n)) {
var a = u.keyBefore(e, t),
s = a && u.size(e[a]);
if (a && s) {
var l = e[a];
return r.section = a, r.row = u.keyAtIndex(l, s - 1), !0
}
return !1
}
},
B = function(e, t, n, r) {
var o = e[t],
i = o ? u.size(o) : 0,
a = !!n;
if (a && u.indexOfKey(o, n) < i - 1) return r.section = t, r.row = u.keyAtIndex(o, u.indexOfKey(o, n) + 1), !0;
var s = u.keyAfter(e, t);
return s && u.size(e[s]) > 0 ? (r.section = s, r.row = u.keyAtIndex(e[s], 0), !0) : !1
},
U = function(e, t, n, r) {
for (var o = Math.abs(n), i = o / n == 1, a = i ? B : $, s = t.section, l = t.row, u = 0; o > u && a(e, s, l, w); u++) s = w.section, l = w.row;
r.section = s, r.row = l
},
V = function(e, t, n, r) {
var o = N(e, t, n);
return o === S.moveNone ? !1 : o === S.moveForward ? B(e, t.section, t.row, r) : o === S.moveBackward ? $(e, t.section, t.row, r) : void 0
},
q = function(e, t) {
e.start.section = t.start.section, e.start.row = t.start.row, e.end.section = t.end.section, e.end.row = t.end.row
},
H = function(e, t, n, r, o, i) {
try {
return _ && c(0, "resource pool already locked"), _ = !0, it(e, t, n, r, o, i)
} catch (a) {
throw a
} finally {
_ = !1
}
},
j = function(e, t, n, r, o) {
var i = t ? t : P(e);
if (!i) return !1;
var a = r;
q(o, i);
for (var s = !0, l = !0; a > 0 && (s || l);) {
if (l) {
var u = V(e, o.end, n.end, o.end);
u ? a-- : l = !1
}
if (a > 0 && s) {
var c = V(e, o.start, n.start, o.start);
c ? a-- : s = !1
}
}
return !0
},
W = function(e) {
i(e) > a(e) && a(e) > 0 && s(e) > l(e) && l(e) > 0 || c(0, "Maximum over-render amount must be greater than the minimum both being greater than zero.")
},
K = function(e) {
e.result.start.section = null, e.result.start.row = null, e.result.end.section = null, e.result.end.row = null, e.resultSpansR1 = !1, e.resultSpansR2 = !1
},
z = function(e, t, n, r, o) {
e.result.start.section = t, e.result.start.row = n, e.result.end.section = t, e.result.end.row = n, e.resultSpansR1 = r, e.resultSpansR2 = o
},
Y = function(e, t, n, r, o) {
e.result.end.section = t, e.result.end.row = n, e.resultSpansR1 = e.resultSpansR1 || r, e.resultSpansR2 = e.resultSpansR2 || o
},
X = !1,
J = !0,
Z = function(e, t, n, r) {
for (var o = u.indexOfKey(e, t.start.section), i = u.indexOfKey(e, t.end.section), a = o; i >= a; a++)
for (var s = u.keyAtIndex(e, a), l = e[s], c = a === o ? u.indexOfKey(l, t.start.row) : 0, d = a === i ? u.indexOfKey(l, t.end.row) : u.size(l) - 1, p = c; d >= p; p++) {
var h = u.keyAtIndex(l, p),
f = r ? n.call(r, s, h) : n(s, h);
if (f === X) return
}
},
et = {
result: null,
haveFoundItem: !1,
nextSectionData: null,
outerRange: null,
innerRange: null
},
tt = {
section: null,
row: null
},
nt = function(e, t, n, r, o) {
return et.result = o, K(et), et.traverseSectionData = n, et.nextSectionData = r, et.r1 = e, et.r2 = t, Z(n, e, rt, et), et.resultSpansR1 && et.resultSpansR2
},
rt = function(e, t) {
var n = this,
r = n.resultSpansR1 && n.resultSpansR2,
o = n.resultSpansR1,
i = n.resultSpansR2,
a = !o && !i,
s = !u.has(n.nextSectionData, e) || !u.has(n.nextSectionData[e], t);
if (s) return r ? X : (K(n), J);
var l = A(n.traverseSectionData, e, t, n.r1),
c = A(n.traverseSectionData, e, t, n.r2);
if (a) return (l || c) && z(n, e, t, l, c), J;
var d = ot(n.nextSectionData, e, t, n.result.end.section, n.result.end.row);
return d ? (Y(n, e, t, l, c), J) : r ? X : (l || c ? z(n, e, t, l, c) : K(n), J)
},
ot = function(e, t, n, r, o) {
return B(e, r, o, tt), tt.section === t && tt.row === n
},
it = function(e, t, n, r, o, d) {
var p = t.sectionData,
h = e.sectionData,
f = l(t),
m = s(t),
g = a(t),
_ = i(t);
if (e.sectionData && u.size(e.sectionData) || !n || c(0, "You lie. That could not have happened."), !t.sectionData) return !1;
var y = e.sectionData !== t.sectionData,
v = !y,
S = null,
w = null;
if (y ? (S = r && nt(r, r, h, p, I) ? I : P(p), w = n && r && nt(n, r, h, p, F) ? F : P(p)) : v && (S = r || P(p), w = n || P(p)), !w || !S) return !1;
U(p, S.start, -1 * f, R);
var b = m - f;
return U(p, R, -1 * b, C), U(p, S.end, g, E), b = _ - g, U(p, E, b, D), G(p, C, w.start, R, x.start), G(p, E, w.end, D, x.end), q(o, x), d && q(d, w), !0
},
at = {
copyRangeInto: q,
stepTowardsTargetRange: j,
clampPath: G,
validateWindowingProperties: W,
nextRenderRange: H,
rangesDiffer: T
};
o.exports = at
}), __d("TableViewMixin", [], function(e, t, n, r, o) {
"use strict";
var i = t("ImmutableMap"),
a = t("ReactIOSViewAttributes"),
s = t("StaticContainer.react"),
l = t("TableLogic"),
u = t("createReactIOSNativeComponentClass"),
c = t("invariant"),
d = t("keyMirror"),
p = t("keyOf"),
h = t("NativeModulesDeprecated").RKUIManager,
f = t("React"),
m = t("ReactIOSTagHandles"),
g = 16,
_ = 1,
y = p({
throttleVisibleCellsChangeMS: null
}),
v = {
start: {
section: null,
row: null
},
end: {
section: null,
row: null
}
},
S = {
start: {
section: null,
row: null
},
end: {
section: null,
row: null
}
},
w = {
start: {
section: null,
row: null
},
end: {
section: null,
row: null
}
},
b = {},
R = u({
validAttributes: a.UIView,
uiViewClassName: "RKTableViewCell"
});
b.Cell = R, b.validRange = function(e) {
return e.start.section && e.start.row && e.end.section && e.end.row
}, b.getThrottleCallbackMS = function(e) {
return y in e ? e.throttleVisibleCellsChangeMS : g
}, b.getShouldUpdateHeaders = function(e) {
return e.shouldUpdateHeaders || C.never
}, b.getShouldUpdateRows = function(e) {
return e.shouldUpdateRows || E.never
}, b.getMaxExpandBy = function(e) {
return e.maxExpandBy || _
}, b.Mixin = {
componentWillReceiveProps: function(e) {
var t = l.nextRenderRange(this.props, e, this.state.renderRange, this.state.visibleRange, v, S);
if (t) {
var n;
this.state.hasEverRenderedRows ? (l.stepTowardsTargetRange(e.sectionData, S, v, b.getMaxExpandBy(e), w), n = w) : (n = v, this.state.hasEverRenderedRows = !0), this.tableViewMixinPrepareRenderRangeForMutation(n), l.copyRangeInto(this.state.renderRange, n)
} else this.state.renderRange = null
},
shouldComponentUpdate: function(e, t) {
return t !== this.state || this.props.sectionData !== e.sectionData || this.props.contentInset !== e.contentInset || this.props.scrollIndicatorInsets !== e.scrollIndicatorInsets || e.throttleScrollCallbackMS !== this.props.throttleScrollCallbackMS || e.throttleVisibleCellsChangeMS !== this.props.throttleVisibleCellsChangeMS || b.getShouldUpdateHeaders(e) === C.always || b.getShouldUpdateRows(e) === E.always
},
tableViewMixinGetInitialState: function() {
var e = l.nextRenderRange(this.props, this.props, null, null, v),
t = e ? {
start: {
section: v.start.section,
row: v.start.row
},
end: {
section: v.end.section,
row: v.end.row
}
} : null;
return {
renderRange: t,
hasEverRenderedRows: !!t,
visibleRange: null,
__currentRenderSection: null,
__reuseBufferCount: 0,
__reusedChildBuffer: []
}
},
scrollToTop: function() {
h.scrollTo(m.rootNodeIDToTag[this._rootNodeID], 0, 0)
},
tableViewMixinPrepareVisibleRangeForMutation: function() {
null === this.state.visibleRange && (this.state.visibleRange = {
start: {},
end: {}
})
},
tableViewMixinPrepareRenderRangeForMutation: function(e) {
null !== e && null === this.state.renderRange ? this.state.renderRange = {
start: {},
end: {}
} : null === e && null !== this.state.renderRange && (this.state.renderRange = null)
},
tableViewMixinCachedViewForHeaderInSection: function(e) {
var t = "header_" + e,
n = this.refs && this.refs[t],
r = b.getShouldUpdateHeaders(this.props),
o = this.props.sectionData[e];
if (n) {
var i = r === C.always || r === C.whenSectionDataChanges && o !== n.props.rowData;
if (!i) return n.props.shouldUpdate = !1, n.props.rowData = o, n._currentElement
}
var a = this.props.viewForHeaderInSection(e);
return a || c(0, "Requires header content at [%s]", e), a ? f.createElement(s, {
rowData: o,
ref: t,
key: t,
shouldUpdate: !0
}, a) : null
},
cachedCellForRowAtIndexPath: function(e, t) {
var n = "row_" + e + "_" + t,
r = this.props.sectionData[e][t],
o = b.getShouldUpdateRows(this.props),
i = this.refs && this.refs[n];
if (i) {
var a = o === E.always || o === E.whenRowDataChanges && r !== i.props.rowData;
if (!a) return i.props.shouldUpdate = !1, i.props.rowData = r, i._currentElement
}
var l = this.props.cellForRowAtIndexPath(e, t);
return l || c(0, "Requires row content at [%s,%s]", e, t), l.constructor == R.componentConstructor && c(0, "Row must not be wrapped in RKTableViewCell at [%s,%s]", e, t), f.createElement(s, {
rowData: r,
ref: n,
key: n,
shouldUpdate: !0
}, this.wrapCellContent(l))
},
tableViewMixinHandleVisibleRangeChange: function(e, t) {
var n;
l.nextRenderRange(this.props, this.props, this.state.renderRange, t, v, S);
var r = l.rangesDiffer(v, this.state.renderRange);
r && (e ? n = v : (l.stepTowardsTargetRange(this.props.sectionData, S, v, b.getMaxExpandBy(this.props), w), n = w), this.tableViewMixinPrepareRenderRangeForMutation(n), l.copyRangeInto(this.state.renderRange, n), b.validRange(this.state.renderRange) || c(0, "Bad rendered range"), this.forceUpdate()), this.props.onVisibleCellsChange && this.props.onVisibleCellsChange(t)
},
tableViewMixinRenderRowData: function(e, t) {
var n = this.state.__currentRenderSection,
r = this.cachedCellForRowAtIndexPath(this.state.__currentRenderSection, t);
r || c(0, "Cell required for index path %s %s", n, t), this.state.__reusedChildBuffer[this.state.__reuseBufferCount++] = r
},
tableViewMixinRenderSectionData: function(e, t) {
var n = this.state.renderRange,
r = this.tableViewMixinCachedViewForHeaderInSection(t);
this.state.__reusedChildBuffer[this.state.__reuseBufferCount++] = r, r || c(0, "Must have header component for section %s", t), this.state.__currentRenderSection = t;
var o = i.size(e);
if (e && o) {
var a = t === n.start.section ? n.start.row : i.keyAtIndex(e, 0),
s = t === n.end.section ? n.end.row : i.keyAtIndex(e, o - 1);
(null === a || null === s) && c(0, "Section has length yet rendering range that assumes only has headers"), a && s || !a && !s || c(0, "Either we know both the start/end row key or we have no rows"), i.forEachKeyRange(e, this.tableViewMixinRenderRowData, a, s)
} else(t === n.start.section ? null === n.start.row : t === n.end.section ? null === n.end.row : t !== n.start.section && t !== n.end.section) || c(0, "Start row should not be specified if there are no rows in the starting section, or no end rows if in the ending section.")
},
tableViewMixinRenderChildren: function() {
this.state.__reuseBufferCount = 0;
var e = this.state.renderRange;
return e.start.section && e.end.section && i.forEachKeyRange(this.props.sectionData, this.tableViewMixinRenderSectionData, e.start.section, e.end.section), this.state.__reusedChildBuffer.length = this.state.__reuseBufferCount, this.state.__reusedChildBuffer
},
tableViewMixinValidateProperties: function(e) {
e.sectionData || c(0, "Needs `sectionData=ImmutableMap`"), e.cellForRowAtIndexPath && e.viewForHeaderInSection || c(0, "Must provide `cellForRowAtIndexPath` and `viewForHeaderInSection`"), e.shouldUpdateHeaders && !C[e.shouldUpdateHeaders] && c(0, "invalid shouldUpdateHeaders"), e.shouldUpdateRows && !E[e.shouldUpdateRows] && c(0, "invalid shouldUpdateRows")
}
};
var C = b.HeaderUpdate = d({
always: null,
never: null,
whenSectionDataChanges: null
}),
E = b.RowUpdate = d({
always: null,
never: null,
whenRowDataChanges: null
});
o.exports = b
}), __d("StaticContainer.react", [], function(e, t, n, r, o) {
var i = t("React"),
a = t("onlyChild"),
s = i.createClass({
displayName: "StaticContainer",
shouldComponentUpdate: function(e) {
return e.shouldUpdate
},
render: function() {
return a(this.props.children)
}
});
o.exports = s
}), __d("onlyChild", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return a.isValidElement(e) || s(0, "onlyChild must be passed a children with exactly one child."), e
}
var a = t("ReactElement"),
s = t("invariant");
o.exports = i
}), __d("Text", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeMethodsMixin"),
a = t("React"),
s = t("ReactIOSViewAttributes"),
l = t("StyleSheetPropType"),
u = t("TextStylePropTypes"),
c = t("Touchable"),
d = t("createReactIOSNativeComponentClass"),
p = t("merge"),
h = {
validAttributes: p(s.UIView, {
accessible: !0,
containerBackgroundColor: !0,
isHighlighted: !0,
color: !0,
fontFamily: !0,
fontSize: !0,
fontWeight: !0,
lineHeight: !0,
textAlign: !0,
numberOfLines: !0,
testID: !0
}),
uiViewClassName: "RKText"
},
f = d(h),
m = l(u),
g = {
top: 20,
left: 20,
right: 20,
bottom: 30
},
_ = a.createClass({
displayName: "Text",
mixins: [c.Mixin, i],
statics: {
stylePropType: m
},
propTypes: {
onPress: a.PropTypes.func,
suppressHighlighting: a.PropTypes.bool,
style: l(u)
},
viewConfig: h,
getInitialState: function() {
return p(this.touchableGetInitialState(), {
isHighlighted: !1
})
},
onStartShouldSetResponder: function() {
var e = this.props.onStartShouldSetResponder && this.props.onStartShouldSetResponder();
return e || !!this.props.onPress
},
handleResponderTerminationRequest: function() {
var e = this.touchableHandleResponderTerminationRequest();
return e && this.props.onResponderTerminationRequest && (e = this.props.onResponderTerminationRequest()), e
},
handleResponderGrant: function(e, t) {
this.touchableHandleResponderGrant(e, t), this.props.onResponderGrant && this.props.onResponderGrant.apply(this, arguments)
},
handleResponderMove: function(e) {
this.touchableHandleResponderMove(e), this.props.onResponderMove && this.props.onResponderMove.apply(this, arguments)
},
handleResponderRelease: function(e) {
this.touchableHandleResponderRelease(e), this.props.onResponderRelease && this.props.onResponderRelease.apply(this, arguments)
},
handleResponderTerminate: function(e) {
this.touchableHandleResponderTerminate(e), this.props.onResponderTerminate && this.props.onResponderTerminate.apply(this, arguments)
},
touchableHandleActivePressIn: function() {
!this.props.suppressHighlighting && this.props.onPress && this.setState({
isHighlighted: !0
})
},
touchableHandleActivePressOut: function() {
!this.props.suppressHighlighting && this.props.onPress && this.setState({
isHighlighted: !1
})
},
touchableHandlePress: function() {
this.props.onPress && this.props.onPress()
},
touchableGetPressRectOffset: function() {
return g
},
render: function() {
var e = {};
for (var t in this.props) e[t] = this.props[t];
return e.ref = this.getNodeHandle(), e.accessible !== !1 && (e.accessible = !0), e.isHighlighted = this.state.isHighlighted, e.onStartShouldSetResponder = this.onStartShouldSetResponder, e.onResponderTerminationRequest = this.handleResponderTerminationRequest, e.onResponderGrant = this.handleResponderGrant, e.onResponderMove = this.handleResponderMove, e.onResponderRelease = this.handleResponderRelease, e.onResponderTerminate = this.handleResponderTerminate, a.createElement(f, Object.assign({}, e))
}
});
o.exports = _
}), __d("Touchable", [], function(e, t, n, r, o) {
"use strict";
var i = t("BoundingDimensions"),
a = t("Position"),
s = t("TouchEventUtils"),
l = t("invariant"),
u = t("keyMirror"),
c = t("queryLayoutByID"),
d = u({
NOT_RESPONDER: null,
RESPONDER_INACTIVE_PRESS_IN: null,
RESPONDER_INACTIVE_PRESS_OUT: null,
RESPONDER_ACTIVE_PRESS_IN: null,
RESPONDER_ACTIVE_PRESS_OUT: null,
RESPONDER_ACTIVE_LONG_PRESS_IN: null,
RESPONDER_ACTIVE_LONG_PRESS_OUT: null,
ERROR: null
}),
p = {
RESPONDER_ACTIVE_PRESS_OUT: !0,
RESPONDER_ACTIVE_PRESS_IN: !0
},
h = {
RESPONDER_INACTIVE_PRESS_IN: !0,
RESPONDER_ACTIVE_PRESS_IN: !0,
RESPONDER_ACTIVE_LONG_PRESS_IN: !0
},
f = {
RESPONDER_ACTIVE_LONG_PRESS_IN: !0
},
m = u({
DELAY: null,
RESPONDER_GRANT: null,
RESPONDER_RELEASE: null,
RESPONDER_TERMINATED: null,
ENTER_PRESS_RECT: null,
LEAVE_PRESS_RECT: null,
LONG_PRESS_DETECTED: null
}),
g = {
NOT_RESPONDER: {
DELAY: d.ERROR,
RESPONDER_GRANT: d.RESPONDER_INACTIVE_PRESS_IN,
RESPONDER_RELEASE: d.ERROR,
RESPONDER_TERMINATED: d.ERROR,
ENTER_PRESS_RECT: d.ERROR,
LEAVE_PRESS_RECT: d.ERROR,
LONG_PRESS_DETECTED: d.ERROR
},
RESPONDER_INACTIVE_PRESS_IN: {
DELAY: d.RESPONDER_ACTIVE_PRESS_IN,
RESPONDER_GRANT: d.ERROR,
RESPONDER_RELEASE: d.NOT_RESPONDER,
RESPONDER_TERMINATED: d.NOT_RESPONDER,
ENTER_PRESS_RECT: d.RESPONDER_INACTIVE_PRESS_IN,
LEAVE_PRESS_RECT: d.RESPONDER_INACTIVE_PRESS_OUT,
LONG_PRESS_DETECTED: d.ERROR
},
RESPONDER_INACTIVE_PRESS_OUT: {
DELAY: d.RESPONDER_ACTIVE_PRESS_OUT,
RESPONDER_GRANT: d.ERROR,
RESPONDER_RELEASE: d.NOT_RESPONDER,
RESPONDER_TERMINATED: d.NOT_RESPONDER,
ENTER_PRESS_RECT: d.RESPONDER_INACTIVE_PRESS_IN,
LEAVE_PRESS_RECT: d.RESPONDER_INACTIVE_PRESS_OUT,
LONG_PRESS_DETECTED: d.ERROR
},
RESPONDER_ACTIVE_PRESS_IN: {
DELAY: d.ERROR,
RESPONDER_GRANT: d.ERROR,
RESPONDER_RELEASE: d.NOT_RESPONDER,
RESPONDER_TERMINATED: d.NOT_RESPONDER,
ENTER_PRESS_RECT: d.RESPONDER_ACTIVE_PRESS_IN,
LEAVE_PRESS_RECT: d.RESPONDER_ACTIVE_PRESS_OUT,
LONG_PRESS_DETECTED: d.RESPONDER_ACTIVE_LONG_PRESS_IN
},
RESPONDER_ACTIVE_PRESS_OUT: {
DELAY: d.ERROR,
RESPONDER_GRANT: d.ERROR,
RESPONDER_RELEASE: d.NOT_RESPONDER,
RESPONDER_TERMINATED: d.NOT_RESPONDER,
ENTER_PRESS_RECT: d.RESPONDER_ACTIVE_PRESS_IN,
LEAVE_PRESS_RECT: d.RESPONDER_ACTIVE_PRESS_OUT,
LONG_PRESS_DETECTED: d.ERROR
},
RESPONDER_ACTIVE_LONG_PRESS_IN: {
DELAY: d.ERROR,
RESPONDER_GRANT: d.ERROR,
RESPONDER_RELEASE: d.NOT_RESPONDER,
RESPONDER_TERMINATED: d.NOT_RESPONDER,
ENTER_PRESS_RECT: d.RESPONDER_ACTIVE_LONG_PRESS_IN,
LEAVE_PRESS_RECT: d.RESPONDER_ACTIVE_LONG_PRESS_OUT,
LONG_PRESS_DETECTED: d.RESPONDER_ACTIVE_LONG_PRESS_IN
},
RESPONDER_ACTIVE_LONG_PRESS_OUT: {
DELAY: d.ERROR,
RESPONDER_GRANT: d.ERROR,
RESPONDER_RELEASE: d.NOT_RESPONDER,
RESPONDER_TERMINATED: d.NOT_RESPONDER,
ENTER_PRESS_RECT: d.RESPONDER_ACTIVE_LONG_PRESS_IN,
LEAVE_PRESS_RECT: d.RESPONDER_ACTIVE_LONG_PRESS_OUT,
LONG_PRESS_DETECTED: d.ERROR
},
error: {
DELAY: d.NOT_RESPONDER,
RESPONDER_GRANT: d.RESPONDER_INACTIVE_PRESS_IN,
RESPONDER_RELEASE: d.NOT_RESPONDER,
RESPONDER_TERMINATED: d.NOT_RESPONDER,
ENTER_PRESS_RECT: d.NOT_RESPONDER,
LEAVE_PRESS_RECT: d.NOT_RESPONDER,
LONG_PRESS_DETECTED: d.NOT_RESPONDER
}
},
_ = 130,
y = 20,
v = 500,
S = 10,
w = {
touchableGetInitialState: function() {
return {
touchable: {
touchState: void 0,
responderID: null
}
}
},
touchableHandleResponderTerminationRequest: function() {
return !0
},
touchableHandleStartShouldSetResponder: function() {
return !0
},
touchableLongPressCancelsPress: function() {
return !0
},
touchableHandleResponderGrant: function(e, t) {
e.persist(), this.state.touchable.touchState = d.NOT_RESPONDER, this.state.touchable.responderID = t, this._receiveSignal(m.RESPONDER_GRANT, e);
var n = void 0 !== this.touchableGetHighlightDelayMS ? this.touchableGetHighlightDelayMS() : _;
0 !== n ? this.touchableDelayTimeout = setTimeout(this._handleDelay.bind(this, e), n) : this._handleDelay(e), this.longPressDelayTimeout = setTimeout(this._handleLongDelay.bind(this, e), v - n)
},
touchableHandleResponderRelease: function(e) {
this._receiveSignal(m.RESPONDER_RELEASE, e)
},
touchableHandleResponderTerminate: function(e) {
this._receiveSignal(m.RESPONDER_TERMINATED, e)
},
touchableHandleResponderMove: function(e) {
if (this.state.touchable.touchState !== d.RESPONDER_INACTIVE_PRESS_IN && this.state.touchable.positionOnActivate) {
var t = this.state.touchable.positionOnActivate,
n = this.state.touchable.dimensionsOnActivate,
r = this.touchableGetPressRectOffset ? this.touchableGetPressRectOffset() : null,
o = null != r.left ? r.left : y,
i = null != r.top ? r.top : y,
a = null != r.right ? r.right : y,
l = null != r.bottom ? r.bottom : y,
u = s.extractSingleTouch(e.nativeEvent),
c = u && u.pageX,
p = u && u.pageY;
if (this.pressInLocation) {
var h = this._getDistanceBetweenPoints(c, p, this.pressInLocation.pageX, this.pressInLocation.pageY);
h > S && this._cancelLongPressDelayTimeout()
}
var f = c > t.left - o && p > t.top - i && c < t.left + n.width + a && p < t.top + n.height + l;
f ? this._receiveSignal(m.ENTER_PRESS_RECT, e) : this._receiveSignal(m.LEAVE_PRESS_RECT, e)
}
},
_remeasureMetricsOnActivation: function() {
c(this.state.touchable.responderID, null, this._handleQueryLayout)
},
_handleQueryLayout: function(e, t, n, r, o, s) {
this.state.touchable.positionOnActivate && a.release(this.state.touchable.positionOnActivate), this.state.touchable.dimensionsOnActivate && i.release(this.state.touchable.dimensionsOnActivate), this.state.touchable.positionOnActivate = a.getPooled(o, s), this.state.touchable.dimensionsOnActivate = i.getPooled(n, r)
},
_handleDelay: function(e) {
this.touchableDelayTimeout = null, this._receiveSignal(m.DELAY, e)
},
_handleLongDelay: function(e) {
this.longPressDelayTimeout = null, this._receiveSignal(m.LONG_PRESS_DETECTED, e)
},
_receiveSignal: function(e, t) {
var n = this.state.touchable.touchState;
g[n] && g[n][e] || l(0, "You have supplied either an unrecognized signal or current state %s", n);
var r = g[n][e];
r === d.ERROR && l(0, "Some assumptions about the state machine were violated. This is the fault of Touchable.js. This case has been modeled and caught as an error transition."), n !== r && (this._performSideEffectsForTransition(n, r, e, t), this.state.touchable.touchState = r)
},
_cancelLongPressDelayTimeout: function() {
this.longPressDelayTimeout && clearTimeout(this.longPressDelayTimeout), this.longPressDelayTimeout = null
},
_isHighlight: function(e) {
return e === d.RESPONDER_ACTIVE_PRESS_IN || e === d.RESPONDER_ACTIVE_LONG_PRESS_IN
},
_savePressInLocation: function(e) {
var t = s.extractSingleTouch(e.nativeEvent),
n = t && t.pageX,
r = t && t.pageY;
this.pressInLocation = {
pageX: n,
pageY: r
}
},
_getDistanceBetweenPoints: function(e, t, n, r) {
var o = e - n,
i = t - r;
return Math.sqrt(o * o + i * i)
},
_performSideEffectsForTransition: function(e, t, n, r) {
var o = this._isHighlight(e),
i = this._isHighlight(t),
a = n === m.RESPONDER_TERMINATED || n === m.RESPONDER_RELEASE;
if (a && this._cancelLongPressDelayTimeout(), !p[e] && p[t] && this._remeasureMetricsOnActivation(), h[e] && n === m.LONG_PRESS_DETECTED && this.touchableHandleLongPress && this.touchableHandleLongPress(), i && !o ? (this._savePressInLocation(r), this.touchableHandleActivePressIn && this.touchableHandleActivePressIn()) : !i && o && this.touchableHandleActivePressOut && this.touchableHandleActivePressOut(), h[e] && n === m.RESPONDER_RELEASE) {
var s = !!this.touchableHandleLongPress,
l = f[e] && (!s || !this.touchableLongPressCancelsPress()),
u = !f[e] || l;
u && this.touchableHandlePress && this.touchableHandlePress(r)
}
this.touchableDelayTimeout && clearTimeout(this.touchableDelayTimeout), this.touchableDelayTimeout = null
}
},
b = {
Mixin: w
};
o.exports = b
}), __d("BoundingDimensions", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
this.width = e, this.height = t
}
var a = t("PooledClass"),
s = a.twoArgumentPooler;
i.getPooledFromElement = function(e) {
return i.getPooled(e.offsetWidth, e.offsetHeight)
}, a.addPoolingTo(i, s), o.exports = i
}), __d("Position", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
this.left = e, this.top = t
}
var a = t("PooledClass"),
s = a.twoArgumentPooler;
a.addPoolingTo(i, s), o.exports = i
}), __d("TouchEventUtils", [], function(e, t, n, r, o) {
var i = {
extractSingleTouch: function(e) {
var t = e.touches,
n = e.changedTouches,
r = t && t.length > 0,
o = n && n.length > 0;
return !r && o ? n[0] : r ? t[0] : e
}
};
o.exports = i
}), __d("queryLayoutByID", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactIOSTagHandles"),
a = t("NativeModulesDeprecated").RKUIManager,
s = function(e, t, n) {
a.measure(i.rootNodeIDToTag[e], n)
};
o.exports = s
}), __d("THColors", [], function(e, t, n, r, o) {
"use strict";
var i = {
backgroundColor: "#ffffff",
backgroundWash: "#f5f6f7",
borderColor: "#e4e7e7",
buttonColor: "#eeeeee",
darkerDivider: "#cacdce",
divider: "#e1e4e5",
fadedText: "#d3d6db",
fakeStoryTextBlock: "#ecebec",
feedbackFadedText: "#adb2bb",
feedbackText: "#898f9c",
groupsAccent: "#2891f7",
lightBackgroundWash: "#f5f6f7",
lightBlue: "#2ea2ff",
mediumGray: "#333333",
reportedText: "#6a7180",
timestamp: "#b9b9b9",
unlikedGray: "#b9b9b9"
};
o.exports = i
}), __d("THDockedInputContainer", [], function(e, t, n, r, o) {
"use strict";
var i = t("AnimationMixin"),
a = t("cloneWithProps"),
s = t("DocumentContent"),
l = t("NativeModulesDeprecated"),
u = t("React"),
c = t("ReactIOSAnimation"),
d = t("RKDimensions"),
p = t("StyleSheet"),
h = t("Subscribable"),
f = t("THColors"),
m = t("THInputBarView"),
g = t("View"),
_ = t("keyMirror"),
y = t("logError"),
v = "scroll_responder",
S = "comment_input",
w = "comment_input_wash",
b = l.RKUIManager,
R = {
property: c.Properties.translationY,
toValue: 280,
velocity: 20
},
C = {
property: c.Properties.translationY,
dynamicsTension: 0,
toValue: 0,
velocity: 100
},
E = {
property: c.Properties.opacity,
toValue: 0,
duration: .3
},
D = {
property: c.Properties.opacity,
toValue: .5,
duration: .3
},
x = {
property: c.Properties.opacity,
toValue: 1,
duration: .3
},
F = u.createClass({
displayName: "THDockedInputContainer",
propTypes: {
scrollResponder: u.PropTypes.object.isRequired,
onDockedCommentSubmit: u.PropTypes.func,
onDockedCommentAbort: u.PropTypes.func,
onDidDock: u.PropTypes.func,
groupID: u.PropTypes.string
},
statics: {
Mode: _({
partialWash: !0,
fullHide: !0
}),
contentPaddingHorizontal: 16
},
mixins: [h.Mixin, i],
getInitialState: function() {
return {
initialText: new s,
getTappedNodeHandle: null,
recentKeyboardMovement: null,
inputWashTop: 0
}
},
handleDockAnimateOutComplete: function() {
this.refs[w].setNativeProps({
style: {
opacity: 0
}
}), this.startAnimation(w, c.createLinearAnimation(C))
},
handleKeyboardWillHide: function(e) {
if (this.state.recentKeyboardMovement = e, this.state.getTappedNodeHandle) {
var t = [{
ref: w,
anim: c.createEaseOutAnimation(R)
}, {
ref: w,
anim: c.createLinearAnimation(E)
}],
n = this.state.getTappedNodeHandle();
n && (this.refs[v].scrollResponderScrollNativeHandleToKeyboard(n, this.state.mode === F.Mode.partialWash ? this.refs[S].getBarHeight() : 0), t.push({
nodeHandle: n,
anim: c.createLinearAnimation(x)
})), this.startAnimations(t, this.handleDockAnimateOutComplete, y), this.state.getTappedNodeHandle = null
}
},
handleKeyboardDidShow: function() {
this.state.getTappedNodeHandle && (this.refs[v].setNativeProps({
scrollEnabled: !0
}), this.props.onDidDock && this.props.onDidDock(), this.startAnimations([{
ref: w,
anim: c.createLinearAnimation(x)
}, {
nodeHandle: this.state.getTappedNodeHandle(),
anim: c.createLinearAnimation(this.state.mode === F.Mode.partialWash ? D : E)
}]))
},
handleKeyboardWillShow: function(e) {
if (this.state.getTappedNodeHandle) {
var t = this.getBarHeight();
this.refs[v].scrollResponderScrollNativeHandleToKeyboard(this.state.getTappedNodeHandle(), this.state.mode === F.Mode.partialWash ? t : 0), this.state.recentKeyboardMovement = e, this.updateDockedInputLocation(t)
}
},
getInitialBarHeight: function() {
return this.refs[S].getInitialBarHeight()
},
getBarHeight: function() {
return this.refs[S].getBarHeight()
},
handleInputBarHeightChange: function(e) {
this.updateDockedInputLocation(e), this.props.onHeightChange && this.props.onHeightChange(e)
},
updateDockedInputLocation: function(e) {
var t = this.state.recentKeyboardMovement.endCoordinates.screenY - e;
this.setState({
inputWashTop: t
})
},
enableScrollResponderAutoInsets: function(e) {
this.refs[v].setNativeProps({
automaticallyAdjustContentInsets: e
})
},
initiateDockedInput: function(e) {
var t = e.getTappedNodeHandle,
n = e.mode,
r = e.initialText,
o = e.comparisonTextForCanPost;
this.setState({
getTappedNodeHandle: t,
mode: n,
initialText: r,
text: r,
comparisonTextForCanPost: o
}), this.refs[v].setNativeProps({
scrollEnabled: !1
}), this.refs[S].focusInput()
},
componentDidMount: function() {
b.setMainScrollViewTag(this.refs[v].getNodeHandle())
},
componentDidUnmount: function() {
b.setMainScrollViewTag(0)
},
handleTextChange: function(e) {
this.setState({
text: e
})
},
getScrollResponder: function() {
return this.refs[v]
},
cancelDockedInput: function() {
this.refs[S].blurInput()
},
render: function() {
var e = a(this.props.scrollResponder, {
ref: v,
onKeyboardWillShow: this.handleKeyboardWillShow,
onKeyboardDidShow: this.handleKeyboardDidShow,
onKeyboardWillHide: this.handleKeyboardWillHide,
onScrollResponderKeyboardDismissed: this.props.onDockedCommentAbort.bind(null, {
text: this.state.text,
getTappedNodeHandle: this.state.getTappedNodeHandle,
initialText: this.state.initialText
})
});
return u.createElement(g, {
style: I.container
}, e, u.createElement(g, {
style: [I.inputWash, {
top: this.state.inputWashTop
}],
ref: w
}, u.createElement(m, {
canComment: !0,
canCommentInline: !0,
ref: S,
groupID: this.props.groupID,
initialText: this.state.initialText,
comparisonTextForCanPost: this.state.comparisonTextForCanPost,
onTextChange: this.handleTextChange,
onHeightChange: this.handleInputBarHeightChange,
onInlineCommentSubmit: this.props.onDockedCommentSubmit,
paddingHorizontal: F.contentPaddingHorizontal
})))
}
}),
I = p.create({
container: {
height: d.get("window").height,
width: d.get("window").width,
backgroundColor: f.backgroundWash
},
inputWash: {
height: 600,
opacity: 0,
position: "absolute",
backgroundColor: f.backgroundColor,
right: 0,
left: 0
}
});
o.exports = F
}), __d("DocumentContent", [], function(e, t, n, r, o) {
function i(e, t) {
return t.length !== l(e) && p(0, "Length of block array must match number of blocks in text."), t
}
function a(e, t) {
return t.length != e.length && p(0, "Length of inline style array must match text length."), t
}
function s(e, t) {
return t.length !== e.length && p(0, "Length of entity array must match text length."), t
}
function l(e, t) {
return null != t && (e = e.substr(0, t)), e.split(h).length
}
function u(e, t, n, r) {
"use strict";
this.$DocumentContent_version = 1, this.$DocumentContent_text = e || "", this.$DocumentContent_inlines = t ? a(this.$DocumentContent_text, t) : d(this.$DocumentContent_text.length, m.NONE), this.$DocumentContent_blocks = n ? i(this.$DocumentContent_text, n) : d(l(this.$DocumentContent_text), f.UNSTYLED), this.$DocumentContent_entities = r ? s(this.$DocumentContent_text, r) : d(this.$DocumentContent_text.length, null), this.$DocumentContent_undoStack = [], this.$DocumentContent_redoStack = []
}
var c = t("DocumentCharacters"),
d = t("fillArray"),
p = t("invariant"),
h = c.BLOCK_DELIMITER,
f = t("ComposedBlockType"),
m = t("ComposedInlineStyle");
u.prototype.bumpVersion = function() {
"use strict";
this.$DocumentContent_version++
}, u.prototype.getVersion = function() {
"use strict";
return "v" + this.$DocumentContent_version
}, u.prototype.getText = function() {
"use strict";
return this.$DocumentContent_text
}, u.prototype.getInlineStyles = function() {
"use strict";
return this.$DocumentContent_inlines
}, u.prototype.getBlockStyles = function() {
"use strict";
return this.$DocumentContent_blocks
}, u.prototype.getBlockStylesAroundRange = function(e, t) {
"use strict";
var n = l(this.$DocumentContent_text, e) - 1,
r = l(this.$DocumentContent_text, t);
return this.$DocumentContent_blocks.slice(n, r)
}, u.prototype.getEntities = function() {
"use strict";
return this.$DocumentContent_entities
}, u.prototype.getFragment = function(e, t) {
"use strict";
return {
text: this.$DocumentContent_text.slice(e, t),
inlines: this.$DocumentContent_inlines.slice(e, t),
blocks: this.getBlockStylesAroundRange(e, t),
entities: this.$DocumentContent_entities.slice(e, t)
}
}, u.prototype.getData = function() {
"use strict";
return {
text: this.$DocumentContent_text,
inlines: this.$DocumentContent_inlines,
blocks: this.$DocumentContent_blocks,
entities: this.$DocumentContent_entities
}
}, u.prototype.update = function(e, t, n, r) {
"use strict";
s(e, r), a(e, t), i(e, n), this.$DocumentContent_text = e, this.$DocumentContent_inlines = t, this.$DocumentContent_blocks = n, this.$DocumentContent_entities = r, this.$DocumentContent_version++
}, u.prototype.addForwardTransaction = function(e) {
"use strict";
this.$DocumentContent_undoStack.push(e), this.$DocumentContent_redoStack.length = 0
}, u.prototype.getUndoDiffs = function() {
"use strict";
if (this.$DocumentContent_undoStack.length > 0) {
var e = this.$DocumentContent_undoStack.pop();
return this.$DocumentContent_redoStack.push(e), e
}
return []
}, u.prototype.getRedoDiffs = function() {
"use strict";
if (this.$DocumentContent_redoStack.length > 0) {
var e = this.$DocumentContent_redoStack.pop();
return this.$DocumentContent_undoStack.push(e), e
}
return []
}, o.exports = u
}), __d("DocumentCharacters", [], function(e, t, n, r, o) {
var i = {
BLOCK_DELIMITER: "\r",
SOFT_NEWLINE: "\n",
PHOTO: "📷",
VIDEO: "📹"
};
o.exports = i
}), __d("fillArray", [], function(e, t, n, r, o) {
function i(e, t) {
for (var n = new Array(e), r = 0; e > r; r++) n[r] = t;
return n
}
o.exports = i
}), __d("ComposedBlockType", [], function(e, t, n, r, o) {
"use strict";
var i = {
UNSTYLED: 0,
PARAGRAPH: 1,
UNORDERED_LIST_ITEM: 2,
ORDERED_LIST_ITEM: 3,
BLOCKQUOTE: 4,
HEADER_ONE: 5,
HEADER_TWO: 6,
CODE: 7,
MEDIA: 8
};
o.exports = i
}), __d("ComposedInlineStyle", [], function(e, t, n, r, o) {
"use strict";
var i = {
NONE: 0,
BOLD: 1,
ITALIC: 2,
UNDERLINE: 4,
CODE: 8
};
o.exports = i
}), __d("THInputBarView", [], function(e, t, n, r, o) {
"use strict";
var i = t("DocumentContent"),
a = t("DocumentSelectionState"),
s = t("FIGColors"),
l = t("FBStickerInputView"),
u = t("Image"),
c = t("MentionsInput.react"),
d = t("MentionsInputTypeaheadView.react"),
p = t("NativeModulesDeprecated"),
h = t("React"),
f = t("StyleSheet"),
m = t("TimerMixin"),
g = t("Text"),
_ = t("THColors"),
y = t("THSounds"),
v = t("TouchableBounce"),
S = t("TouchableHighlight"),
w = t("TouchableWithoutFeedback"),
b = t("View"),
R = t("clamp"),
C = t("copyDocumentContent"),
E = t("documentContentsAreEqual"),
D = t("fbt"),
x = t("getMentionsSearchSource"),
F = t("getTextWithEntitiesFromDocument"),
I = t("ix"),
T = p.RKTreehouseManager,
P = "stickerInputView",
L = "keyboardInputView",
k = "inputRow",
M = "inputField",
A = 35,
Q = 100,
O = 6,
N = .5,
G = 13,
$ = 14,
B = function(e) {
return e + 2 * O + N
},
U = D({
type: "text",
texts: ["Write a comment..."],
desc: "Placeholder text for comment input"
}),
V = D({
type: "text",
texts: ["Post"],
desc: "Post a comment"
}),
q = h.createClass({
displayName: "THInputBarView",
mixins: [m],
propTypes: {
canCommentInline: h.PropTypes.bool,
onNonInlineCommentRequested: h.PropTypes.func,
onInlineCommentSubmit: h.PropTypes.func,
initialText: h.PropTypes.instanceOf(i),
comparisonTextForCanPost: h.PropTypes.instanceOf(i),
hidePostButton: h.PropTypes.bool,
groupID: h.PropTypes.string,
paddingHorizontal: h.PropTypes.number
},
focusInput: function() {
this.refs[M].focus()
},
blurInput: function() {
this.refs[M].blur()
},
getDefaultProps: function() {
return {
initialText: new i,
hidePostButton: !1,
comparisonTextForCanPost: null
}
},
getInitialState: function() {
return {
documentContent: C(this.props.initialText),
selectionState: new a(0, 0),
submittingComment: !1,
inputFieldHeight: A,
mentionsSource: this.props.canCommentInline && x(this.props.groupID),
inputView: L
}
},
getInitialBarHeight: function() {
return B(A)
},
getBarHeight: function() {
return B(this.state.inputFieldHeight)
},
handleChange: function(e) {
if (e) {
var t = e.nativeEvent.contentSize,
n = R(A, t.height, Q);
this.state.inputFieldHeight !== n && (this.state.documentContent.bumpVersion(), this.setState({
inputFieldHeight: n
}), this.props.onHeightChange && this.props.onHeightChange(B(n)))
}
this.props.onTextChange && this.props.onTextChange(this.state.documentContent)
},
handleActiveInputPress: function() {
this.props.canCommentInline && this.setState({
inputView: L
})
},
handleInactiveInputPress: function() {
this.props.onNonInlineCommentRequested && this.props.onNonInlineCommentRequested(function() {
return this.isMounted() && this.refs[k].getNodeHandle()
}.bind(this))
},
handleCommentSubmit: function() {
T && T.playSound(y.commentCompleted), this.setState({
submittingComment: !0
}), this.refs[M] && this.blurInput(), this.props.onInlineCommentSubmit && this.requestAnimationFrame(function() {
var e = F(this.state.documentContent);
e ? this.props.onInlineCommentSubmit(e) : console.error("Should not be submitting empty comment.")
}.bind(this))
},
handleStickerKeyboardSwitch: function() {
this.setState(this.state.inputView === L ? {
inputView: P
} : {
inputView: L
})
},
handleStickerCommentSubmit: function(e) {
T && T.playSound(y.commentCompleted), this.setState({
submittingComment: !0
}), this.refs[M] && this.blurInput();
var t = e.nativeEvent.stickerFBID,
n = F(this.state.documentContent);
if (n && t) {
var r = {
id: t.toString()
};
this.props.onInlineCommentSubmit(n, r)
} else console.error("Should not be submitting invalid sticker.")
},
componentWillReceiveProps: function(e) {
var t = this.props.initialText;
this.props = e, e.initialText !== t && this.resetCommentField()
},
resetCommentField: function() {
var e = this.props.initialText || new i;
this.state.documentContent.update(e.getText(), e.getInlineStyles().slice(0), e.getBlockStyles().slice(0), e.getEntities().slice(0)), this.setState({
submittingComment: !1
})
},
renderStickerButton: function() {
var e;
e = I(this.state.inputView === P ? "thSmileGlyphSelected" : "thSmileGlyphNormal");
var t = h.createElement(u, {
source: e,
style: H.icon
});
return h.createElement(S, {
onPress: this.handleStickerKeyboardSwitch,
activeOpacity: 1
}, h.createElement(b, {
style: H.stickerButton
}, t))
},
render: function() {
var e = !this.state.submittingComment && this.state.documentContent.getText().trim() && !E(this.props.comparisonTextForCanPost, this.state.documentContent),
t = null,
n = null;
switch (this.state.inputView) {
case L:
t = null;
break;
case P:
t = h.createElement(l, {
onStickerSelect: this.handleStickerCommentSubmit
}), n = h.createElement(w, {
onPress: this.handleActiveInputPress
}, h.createElement(b, {
style: H.inputFieldOverlay
}));
break;
default:
t = null
}
var r = null,
o = null;
this.props.hidePostButton || (r = e ? h.createElement(v, {
onPress: this.handleCommentSubmit
}, h.createElement(b, {
style: H.postButton
}, h.createElement(g, {
style: H.activePostButtonText
}, V))) : h.createElement(b, {
style: H.postButton
}, h.createElement(g, {
style: H.inactivePostButtonText
}, V)), o = e ? null : this.renderStickerButton());
var i, a, s, u;
this.props.canCommentInline ? (i = _.darkerDivider, a = $, s = this.state.inputFieldHeight, u = b.PointerEvents.unspecified) : (i = _.divider, a = G, s = A, u = b.PointerEvents.boxOnly);
var p = [H.commentBox, {
height: s,
fontSize: a
}],
f = this.state.documentContent.getText() || this.props.canCommentInline ? null : U,
m = h.createElement(c, {
ref: M,
documentContent: this.state.documentContent,
placeholder: f,
placeholderTextColor: _.feedbackFadedText,
selectionState: this.state.selectionState,
mentionsSource: this.state.mentionsSource || void 0,
typeaheadView: d,
textInputStyle: p,
onInputFocus: this.resetCommentField,
multiline: !0,
onChange: this.handleChange,
inputView: t
});
return h.createElement(b, {
ref: k
}, h.createElement(b, {
key: "divReply",
style: [H.divider, {
backgroundColor: i
}]
}), h.createElement(b, {
style: [H.buttonsContainer, {
paddingHorizontal: this.props.paddingHorizontal
}]
}, h.createElement(S, {
activeOpacity: 1,
style: H.touchableInputWrapper,
onPress: this.handleInactiveInputPress
}, h.createElement(b, {
pointerEvents: u
}, m)), n, r, o))
}
}),
H = f.create({
touchableInputWrapper: {
flex: 1
},
activePostButtonText: {
fontSize: 15,
fontWeight: "bold",
color: _.groupsAccent
},
buttonsContainer: {
paddingTop: O,
paddingBottom: O,
flexDirection: "row",
alignItems: "flex-end",
marginHorizontal: -4
},
commentBox: {
backgroundColor: _.backgroundColor,
color: s.mediumText
},
divider: {
height: N
},
inactivePostButtonText: {
fontSize: 15,
fontWeight: "bold",
color: _.fadedText
},
postButton: {
backgroundColor: _.backgroundColor,
justifyContent: "center",
alignItems: "center",
height: A,
paddingLeft: 10,
paddingBottom: 6,
paddingRight: 4
},
stickerButton: {
backgroundColor: _.backgroundColor,
justifyContent: "center",
alignItems: "center",
height: A,
paddingLeft: 4,
paddingBottom: 4,
paddingRight: 4
},
inputFieldOverlay: {
position: "absolute",
height: A,
left: 0,
right: 0
},
icon: {
width: 20,
height: 20
}
});
o.exports = q
}), __d("DocumentSelectionState", [], function(e, t, n, r, o) {
function i(e, t) {
"use strict";
this.$DocumentSelectionState_anchorOffset = e, this.$DocumentSelectionState_focusOffset = t, this.$DocumentSelectionState_hasFocus = !1
}
var a = t("mixInEventEmitter");
i.prototype.update = function(e, t) {
"use strict";
(this.$DocumentSelectionState_anchorOffset !== e || this.$DocumentSelectionState_focusOffset !== t) && (this.$DocumentSelectionState_anchorOffset = e, this.$DocumentSelectionState_focusOffset = t, this.emit("update"))
}, i.prototype.constrainLength = function(e) {
"use strict";
this.update(Math.min(this.$DocumentSelectionState_anchorOffset, e), Math.min(this.$DocumentSelectionState_focusOffset, e))
}, i.prototype.focus = function() {
"use strict";
this.$DocumentSelectionState_hasFocus || (this.$DocumentSelectionState_hasFocus = !0, this.emit("focus"))
}, i.prototype.blur = function() {
"use strict";
this.$DocumentSelectionState_hasFocus && (this.$DocumentSelectionState_hasFocus = !1, this.emit("blur"))
}, i.prototype.hasFocus = function() {
"use strict";
return this.$DocumentSelectionState_hasFocus
}, i.prototype.isCollapsed = function() {
"use strict";
return this.$DocumentSelectionState_anchorOffset === this.$DocumentSelectionState_focusOffset
}, i.prototype.isBackward = function() {
"use strict";
return this.$DocumentSelectionState_anchorOffset > this.$DocumentSelectionState_focusOffset
}, i.prototype.getAnchorOffset = function() {
"use strict";
return this.$DocumentSelectionState_hasFocus ? this.$DocumentSelectionState_anchorOffset : null
}, i.prototype.getFocusOffset = function() {
"use strict";
return this.$DocumentSelectionState_hasFocus ? this.$DocumentSelectionState_focusOffset : null
}, i.prototype.getStartOffset = function() {
"use strict";
return this.$DocumentSelectionState_hasFocus ? Math.min(this.$DocumentSelectionState_anchorOffset, this.$DocumentSelectionState_focusOffset) : null
}, i.prototype.getEndOffset = function() {
"use strict";
return this.$DocumentSelectionState_hasFocus ? Math.max(this.$DocumentSelectionState_anchorOffset, this.$DocumentSelectionState_focusOffset) : null
}, i.prototype.overlaps = function(e, t) {
"use strict";
return this.hasFocus() && this.getStartOffset() <= t && e <= this.getEndOffset()
}, a(i, {
blur: !0,
focus: !0,
update: !0
}), o.exports = i
}), __d("FIGColors", [], function(e, t, n, r, o) {
"use strict";
var i = t("rgbToHex"),
a = t("hsvToHex"),
s = {
accentBlue: i(88, 144, 255),
attachmentBorder: "#cccccc",
backgroundWash: i(233, 234, 237),
blueGreyText: i(55, 62, 77),
darkText: i(20, 24, 35),
facebookBlue: i(59, 89, 152),
green: i(70, 168, 0),
lightDivider: i(200, 203, 208),
lightGreyWash: i(246, 247, 248),
lightText: i(173, 178, 187),
linkText: i(78, 105, 162),
mediumText: i(106, 113, 128),
mobileWash: i(211, 214, 219),
modalNavigationBarTint: i(246, 247, 248),
navigationBarTint: a(156, 172, 128),
red: i(218, 41, 41),
selectedBlue: i(118, 165, 249),
separator: i(242, 242, 242),
tabBar: i(71, 124, 230)
};
s.opaqueNavigationBarTint = s.facebookBlue, o.exports = s
}), __d("rgbToHex", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = Math.round(e).toString(16);
return 1 === t.length ? "0" + t : t
}
function a(e, t, n) {
return "#" + i(e) + i(t) + i(n)
}
o.exports = a
}), __d("hsvToHex", [], function(e, t, n, r, o) {
"use strict";
function i(e, t, n) {
e /= 255, t /= 255, n /= 255;
var r = Math.floor(6 * e),
o = 6 * e - r,
i = n * (1 - t),
s = n * (1 - o * t),
l = n * (1 - (1 - o) * t);
switch (n *= 255, l *= 255, i *= 255, s *= 255, r % 6) {
case 0:
return a(n, l, i);
case 1:
return a(s, n, i);
case 2:
return a(i, n, l);
case 3:
return a(i, s, n);
case 4:
return a(l, i, n);
case 5:
return a(n, i, s)
}
}
var a = t("rgbToHex");
o.exports = i
}), __d("FBStickerInputView", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeMethodsMixin"),
a = t("React"),
s = t("ReactIOSViewAttributes"),
l = t("StyleSheet"),
u = (t("View"), t("createReactIOSNativeComponentClass")),
c = a.createClass({
displayName: "FBStickerInputView",
propTypes: {
onStickerSelect: a.PropTypes.func
},
mixins: [i],
viewConfig: {
uiViewClassName: "UIView",
validAttributes: s.UIView
},
onStickerSelect: function(e) {
this.props.onStickerSelect && this.props.onStickerSelect(e)
},
render: function() {
return a.createElement(p, {
style: d.inputViewStyle,
onStickerSelect: this.onStickerSelect
})
}
}),
d = l.create({
inputViewStyle: {
position: "absolute"
}
}),
p = u({
validAttributes: s.UIView,
uiViewClassName: "RKStickerInputView"
});
o.exports = c
}), __d("MentionsInput.react", [], function(e, t, n, r, o) {
"use strict";
var i = t("AbstractMentionsTextEditor.react"),
a = t("DocumentCharacters"),
s = t("DocumentCompositeDecorator"),
l = t("DocumentContent"),
u = t("DocumentDecorator"),
c = t("ComposedEntityType"),
d = t("DocumentSelectionState"),
p = t("DocumentView"),
h = t("MentionSpan"),
f = t("MentionSpan"),
m = t("MentionsTextEditorMixin"),
g = t("ReactPropTypes"),
_ = t("React"),
y = t("MentionSpan"),
v = t("View"),
S = t("cx"),
w = t("emptyFunction"),
b = t("getDefaultKeyBinding"),
R = t("getEntityMatcher"),
C = t("getHashtagMatches"),
E = w.thatReturns(""),
D = w.thatReturns(""),
x = c.MENTION,
F = new s([new u(R(function(e) {
var t = e.getData();
return e.getType() === x && t && t.isWeak
}), y), new u(R(function(e) {
return e.getType() === x
}), f), new u(C, h)]),
I = _.createClass({
displayName: "MentionsInput",
mixins: [m],
propTypes: {
documentContent: g.instanceOf(l).isRequired,
selectionState: g.instanceOf(d).isRequired,
mentionsSource: g.object,
typeaheadView: g.func.isRequired,
typeaheadViewProps: g.object,
spellCheck: g.bool,
placeholder: g.string,
placeholderTextColor: g.string,
className: g.string,
autoflip: g.bool,
handleReturn: g.func,
handleDroppedFiles: g.func,
handlePastedFiles: g.func,
onAddMention: g.func,
onShowMentions: g.func,
onChange: g.func,
onInputFocus: g.func,
onInputBlur: g.func,
onFile: g.func,
inputView: g.renderable
},
focus: function() {
this.refs.textEditor.focus()
},
blur: function() {
this.refs.textEditor.blur()
},
_onReturn: function(e) {
this.props.handleReturn && this.props.handleReturn(e) || this.onCharacters(a.BLOCK_DELIMITER)
},
_onBlur: function(e) {
this.onBlur(e), this.props.onInputBlur && this.props.onInputBlur(e)
},
_onFocus: function(e) {
this.onFocus(e), this.props.onInputFocus && this.props.onInputFocus(e)
},
_onClick: function() {
this.refs.textEditor.focus()
},
_onTextInput: function(e) {
var t = e.nativeEvent,
n = t.range.start,
r = t.range.end,
o = t.text;
0 === o.length && r - n === 1 && this.props.selectionState.isCollapsed() && this.props.selectionState.getStartOffset() === n + 1 ? this.onBackspace() : this.onAlter(n, t.previousText, o)
},
_getStateForDocument: function(e) {
return {
documentView: new p(e, F)
}
},
componentWillReceiveProps: function(e) {
this.props.documentContent !== e.documentContent && this.setState(this._getStateForDocument(e.documentContent))
},
getInitialState: function() {
return this._getStateForDocument(this.props.documentContent)
},
render: function() {
return _.createElement(v, {
style: this.props.style,
className: S("uiMentionsInput/root"),
onClick: this._onClick,
onFocus: this._onFocus
}, _.createElement(i, {
ref: "textEditor",
className: S("public/uiMentionsInput/input"),
documentView: this.state.documentView,
placeholder: this.props.placeholder,
placeholderTextColor: this.props.placeholderTextColor,
autoFocus: this.props.autoFocus,
selectionState: this.props.selectionState,
mentionsSource: this.props.mentionsSource,
typeaheadView: this.props.typeaheadView,
typeaheadViewProps: this.props.typeaheadViewProps,
keyBindingFn: b,
blockStyleFn: E,
inlineStyleFn: D,
inputView: this.props.inputView,
textInputStyle: this.props.textInputStyle,
spellCheck: this.props.spellCheck,
autoflip: this.props.autoflip,
onShowMentions: this.onShowMentions,
onAddMention: this.onAddMention,
onCharacters: this.onCharacters,
onAlter: this.onAlter,
onCut: this.onCut,
onPasteFragment: this.onPasteFragment,
onDelete: this.onDelete,
onDropFiles: this.onDropFiles,
onDropSelection: this.onDropSelection,
onDropText: this.onDropText,
onKeyCommand: this.onKeyCommand,
onPasteFiles: this.onPasteFiles,
onSelect: this.onSelect,
onTextInput: this._onTextInput,
onReturn: this._onReturn,
onBlur: this._onBlur,
onFocus: this._onFocus,
onChange: this.props.onChange,
handleDroppedFiles: this.props.handleDroppedFiles,
handlePastedFiles: this.props.handlePastedFiles
}))
}
});
o.exports = I
}), __d("AbstractMentionsTextEditor.react", [], function(e, t, n, r, o) {
"use strict";
var i, a, s = t("AbstractTextEditor.react"),
l = t("AbstractTextEditorProps"),
u = t("ModalFullscreenView"),
c = t("getMentionableRect"),
d = t("Locale"),
p = t("ReactPropTypes"),
h = t("React"),
f = t("TimerMixin"),
m = t("TypeaheadNavigation"),
g = t("View"),
_ = t("copyProperties"),
y = d.isRTL(),
v = 20,
S = 5,
w = h.createClass({
displayName: "AbstractMentionsTextEditor",
mixins: [f],
propTypes: _({}, l.propTypes, {
autoflip: p.bool,
mentionsSource: p.object,
excludedEntries: p.object,
onShowMentions: p.func.isRequired,
onAddMention: p.func.isRequired,
typeaheadView: p.func.isRequired,
typeaheadViewProps: p.object,
inputView: p.renderable
}),
getDefaultProps: l.getDefaultProps,
componentWillMount: function() {
var e = function() {
this.setTimeout(this._searchIfCollapsed, 0)
}.bind(this);
this._listeners = [this.props.selectionState.addListener("focus", e), this.props.selectionState.addListener("update", e)]
},
componentWillUnmount: function() {
this._listeners.forEach(function(e) {
e.remove()
}), this._listeners = null
},
getInitialState: function() {
return {
contextualBounds: null,
highlightedMentionable: null,
mentionableEntries: null
}
},
_onShowMentions: function(e, t) {
var n = e && e.length;
if (n || this.state.mentionableEntries) {
var r = n ? e.slice(0, v) : null;
if (r) {
var o = this.props.typeaheadViewProps;
o && o.mentionSortFn && r.sort(o.mentionSortFn), this.props.onShowMentions(r, t)
}
this.setState({
contextualBounds: n ? c(t, y) : null,
highlightedMentionable: n ? e[0] : null,
mentionableEntries: r
})
}
},
_onBlur: function(e) {
this.setState(this.getInitialState()), this.props.onBlur(e)
},
_onFocus: function(e) {
this.props.mentionsSource && this.props.mentionsSource.bootstrap(), this.props.onFocus(e)
},
_onReturn: function(e) {
this.state.highlightedMentionable && !e.nativeEvent.getModifiers().any ? this._onMentionSelect(this.state.highlightedMentionable, e) : this.props.onReturn(e)
},
_onTab: function(e) {
this.state.highlightedMentionable ? (e.preventDefault(), this._onMentionSelect(this.state.highlightedMentionable, e)) : this.props.onTab && this.props.onTab(e)
},
_onEscape: function(e) {
this.state.highlightedMentionable ? this.setState(this.getInitialState()) : this.props.onEscape && this.props.onEscape(e)
},
_onUpArrow: function(e) {
this.state.mentionableEntries ? (e.preventDefault(), m.moveUp(this.state.mentionableEntries, this.state.highlightedMentionable, this._onMentionHighlight)) : this.props.onUpArrow && this.props.onUpArrow(e)
},
_onDownArrow: function(e) {
this.state.mentionableEntries ? (e.preventDefault(), m.moveDown(this.state.mentionableEntries, this.state.highlightedMentionable, this._onMentionHighlight)) : this.props.onDownArrow && this.props.onDownArrow(e)
},
_onMentionHighlight: function(e) {
this.setState({
highlightedMentionable: e
})
},
_onMentionSelect: function(e, t) {
this.props.onAddMention(e, t), this.setState(this.getInitialState())
},
_searchIfCollapsed: function() {
var e = this.props.selectionState;
e.hasFocus() && e.isCollapsed() && this.props.mentionsSource && this.props.mentionsSource.search(this.props.documentView.getContent(), e.getStartOffset(), this._onShowMentions)
},
focus: function() {
this.refs.abstractTextEditor.focus()
},
blur: function() {
this.refs.abstractTextEditor.blur()
},
renderLayers: function() {
var e = this.state.mentionableEntries,
t = this.props.selectionState,
n = this.props.typeaheadView,
r = t.isCollapsed() && t.hasFocus() && e && e.length,
o = {};
return this.props.autoflip && (o.ContextualLayerAutoFlip = i, o.ContextualLayerUpdateOnScroll = a), {
entries: h.createElement(u, {
shown: r,
contextRef: "container",
contextBounds: this.state.contextualBounds,
offsetY: S,
position: "above",
behaviors: o
}, h.createElement(n, {
viewProps: this.props.typeaheadViewProps,
highlightedEntry: this.state.highlightedMentionable,
entries: e || [],
onSelect: this._onMentionSelect,
onHighlight: this._onMentionHighlight
}))
}
},
render: function() {
return h.createElement(g, {
ref: "container",
className: this.props.className,
tabIndex: "-2"
}, this.transferPropsTo(h.createElement(s, {
ref: "abstractTextEditor",
autoFocus: this.props.autoFocus,
inputView: this.props.inputView,
onBlur: this._onBlur,
onFocus: this._onFocus,
onReturn: this._onReturn,
onTab: this._onTab,
onEscape: this._onEscape,
onDownArrow: this._onDownArrow,
onUpArrow: this._onUpArrow,
onChange: this.props.onChange,
textInputStyle: this.props.textInputStyle
})), this.renderLayers())
}
});
o.exports = w
}), __d("AbstractTextEditor.react", [], function(e, t, n, r, o) {
function i(e) {
return function(t) {
var n = this._handler && this._handler[e];
n && n.call(this, t)
}
}
function a(e) {
switch (e) {
case _.EDIT:
return m;
case _.COMPOSITE:
return h;
case _.DRAG:
return g;
case _.CUT:
case _.RENDER:
return null
}
}
var s = t("AbstractTextEditorProps"),
l = t("ExecutionEnvironment"),
u = t("React"),
c = t("StyleSheet"),
d = t("Text"),
p = t("TextEditorBlock.react"),
h = t("TextEditorCompositionHandler"),
f = t("TextEditorCompositionState"),
m = t("TextEditorEditHandler"),
g = t("TextEditorDragHandler"),
_ = t("TextEditorModes"),
y = t("TextInput"),
v = t("View"),
S = t("cx"),
w = t("extendArray"),
b = t("requestAnimationFrame"),
R = (t("ComposedInlineStyle"), "b"),
C = "d",
E = "l",
D = e.MutationObserver || e.WebKitMutationObserver,
x = u.createClass({
displayName: "AbstractTextEditor",
propTypes: s.propTypes,
getDefaultProps: s.getDefaultProps,
_onBlur: i("onBlur"),
_onFocus: i("onFocus"),
_onSelect: i("onSelect"),
_onKeyDown: i("onKeyDown"),
_onKeyUp: i("onKeyUp"),
_onKeyPress: i("onKeyPress"),
_onMouseDown: i("onMouseDown"),
_onMouseUp: i("onMouseUp"),
_onCharacterData: i("onCharacterData"),
_onCompositionStart: i("onCompositionStart"),
_onCompositionEnd: i("onCompositionEnd"),
_onDragStart: i("onDragStart"),
_onDragOver: i("onDragOver"),
_onDragEnd: i("onDragEnd"),
_onDrop: i("onDrop"),
_onCut: i("onCut"),
_onCopy: i("onCopy"),
_onPaste: i("onPaste"),
_onBeforeInput: i("onBeforeInput"),
_onTextInput: function(e) {
this.props.onTextInput && this.props.onTextInput(e)
},
_renderContents: function() {
function e(e, t) {
var n = e + (t ? t.charCodeAt(0) : 0),
r = n;
return f.hasOwnProperty(r) ? r += "-" + f[r] ++ : f[r] = 0, h[r] = !0, r
}
function t(t, n, r, i) {
o = [];
var a = this.props.BlockComponent || p,
d = s.substr(n, r - n),
h = e(R, d);
c.push(u.createElement(a, {
key: h,
offsetKey: t,
text: d,
blockProps: this.props.blockProps,
blockStyleFn: this.props.blockStyleFn,
style: i,
direction: l[c.length]
}, o))
}
function n(t, n, r, l) {
if (l) {
i = [];
var c = this.props.documentView.getEntities()[n],
d = s.substr(n, r - n),
p = e(C, d);
o.push(u.createElement(l, {
key: p,
offsetKey: t,
decoratorProps: this.props.decoratorProps,
documentView: a,
selectionState: this.props.selectionState,
entityKey: c,
text: d
}, i))
} else i = o
}
function r(t, n, r) {
var o = s.substr(n, r - n),
a = e(E, o);
i.push(u.createElement(d, {
key: a
}, o))
}
var o, i, a = this.props.documentView,
s = a.getText(),
l = a.getBlockDirections(),
c = [],
h = {},
f = {};
return this.props.documentView.iterate(t.bind(this), n.bind(this), r.bind(this)), c
},
_attachMutationObserver: function() {
if (D) {
var e = [],
t = function() {
e.length && (this._onCharacterData(e), e.length = 0)
}.bind(this);
this._mutationObserver = new D(function(n) {
this._guardAgainstRender || (0 === e.length && b(t), w(e, n))
}.bind(this)), this._mutationObserver && this._mutationObserver.observe(this.refs.editorContainer.getDOMNode(), {
characterDataOldValue: !0,
characterData: !0,
subtree: !0
})
}
},
_disconnectMutationObserver: function() {
this._mutationObserver && (this._mutationObserver.disconnect(), this._mutationObserver = null)
},
_renderPlaceholder: function() {
var e = this.props.placeholder && !this.props.documentView.getText();
return e ? u.createElement(AbstractTextEditorPlaceholder, {
text: this.props.placeholder,
selectionState: this.props.selectionState,
compositionState: this._compositionState
}) : void 0
},
render: function() {
return u.createElement(v, {
className: S("AbstractTextEditor/root")
}, u.createElement(v, {
className: S("AbstractTextEditor/editorContainer"),
ref: "editorContainer"
}, u.createElement(y, {
multiline: !0,
lineHeight: 1,
autoFocus: this.props.autoFocus,
style: [F.textBox, this.props.textInputStyle],
ref: "editor",
role: "textbox",
className: S("public/AbstractTextEditor/content"),
placeholder: this.props.placeholder,
placeholderTextColor: this.props.placeholderTextColor,
onBlur: this._onBlur,
onFocus: this._onFocus,
onSelect: this._onSelect,
onMouseUp: this._onMouseUp,
onKeyDown: this._onKeyDown,
onKeyUp: this._onKeyUp,
onKeyPress: this._onKeyPress,
onCut: this._onCut,
onCopy: this._onCopy,
onPaste: this._onPaste,
onDragStart: this._onDragStart,
onDragOver: this._onDragOver,
onDragEnd: this._onDragEnd,
onDrop: this._onDrop,
onCompositionStart: this._onCompositionStart,
onCompositionEnd: this._onCompositionEnd,
onBeforeInput: this._onBeforeInput,
onTextInput: this._onTextInput,
onChange: this.props.onChange,
selectionState: this.props.selectionState,
spellCheck: this.props.spellCheck,
contentEditable: !this.props.disabled,
inputView: this.props.inputView
}, this._renderContents())))
},
focus: function() {
var e = this.props.selectionState.hasFocus();
if (!e) {
if (!this.refs.editor.getDOMNode) return void this.refs.editor.focus();
var t = this.props.documentView.getText().length;
this.props.selectionState.update(t, t), this.forceUpdate()
}
},
blur: function() {
this.refs.editor.getDOMNode ? this.refs.editor.getDOMNode().blur() : this.refs.editor.blur()
},
componentDidMount: function() {
this._renderedVersion = null, this._clonedEditor = null, this._guardAgainstRender = !1, this._handler = m;
var e = this.props.documentView.getBlockDirections();
this._renderedDirections = e.join(""), l.canUseDOM && this._attachMutationObserver()
},
shouldComponentUpdate: function(e) {
var t = e.documentView.getBlockDirections();
return !this._guardAgainstRender && (e.documentView.getVersion() !== this._renderedVersion || t.join("") !== this._renderedDirections || this.props.disabled !== e.disabled || this.props.inputView !== e.inputView)
},
componentWillUpdate: function() {
this.setMode(_.RENDER)
},
componentDidUpdate: function() {
this.exitCurrentMode(), this._renderedVersion = this.props.documentView.getVersion();
var e = this.props.documentView.getBlockDirections();
this._renderedDirections = e.join("")
},
componentWillMount: function() {
this._compositionState = new f(!1), this._selectionListener = this.props.selectionState.addListener("focus", this.focus)
},
componentWillUnmount: function() {
this._disconnectMutationObserver(), this._selectionListener && (this._selectionListener.remove(), this._selectionListener = null)
},
expectDuplicateMutation: function() {
this._renderedVersion = this.props.documentView.getVersion()
},
resetRenderedVersion: function() {
this._renderedVersion = null, this._renderedDirections = null
},
setMode: function(e) {
this._handler = a(e)
},
exitCurrentMode: function() {
this.setMode(_.EDIT)
},
captureEditorDOM: function() {
this._clonedEditor = this.refs.editor.getDOMNode().cloneNode(!0)
},
restoreEditorDOM: function() {
var e = this.refs.editorContainer.getDOMNode();
e.innerHTML = "", e.appendChild(this._clonedEditor), this.focus(), this._clonedEditor = null
},
setRenderGuard: function() {
this._guardAgainstRender = !0
},
removeRenderGuard: function() {
this._guardAgainstRender = !1
}
}),
F = c.create({
textBox: {
backgroundColor: "transparent",
fontSize: 14,
height: 30
}
});
o.exports = x
}), __d("AbstractTextEditorProps", [], function(e, t, n, r, o) {
var i = t("DocumentSelectionState"),
a = t("DocumentView"),
s = t("ReactPropTypes"),
l = {
propTypes: {
documentView: s.instanceOf(a).isRequired,
selectionState: s.instanceOf(i).isRequired,
placeholder: s.string,
blockStyleFn: s.func.isRequired,
inlineStyleFn: s.func.isRequired,
keyBindingFn: s.func.isRequired,
spellCheck: s.bool,
onReturn: s.func.isRequired,
onEscape: s.func,
onTab: s.func,
onUpArrow: s.func,
onDownArrow: s.func,
onCharacters: s.func.isRequired,
onAlter: s.func.isRequired,
onCut: s.func.isRequired,
onPasteFragment: s.func.isRequired,
onPasteFiles: s.func,
onDelete: s.func.isRequired,
onDropSelection: s.func.isRequired,
onDropText: s.func.isRequired,
onDropFiles: s.func,
onSelect: s.func.isRequired,
onBlur: s.func.isRequired,
onFocus: s.func.isRequired,
inputView: s.renderable
},
getDefaultProps: function() {
return {
spellCheck: !1
}
}
};
o.exports = l
}), __d("DocumentView", [], function(e, t, n, r, o) {
function i(e, t) {
"use strict";
this.$DocumentView_content = e, this.$DocumentView_decorator = t, this.$DocumentView_currentFingerprint = [], this.$DocumentView_iteratedVersion = null, this.$DocumentView_blockDirections = [], this.$DocumentView_iterator = new a(this.$DocumentView_content, this.$DocumentView_decorator), this.$DocumentView_offsets = new s(this.$DocumentView_iterator)
}
var a = t("DocumentIterator"),
s = t("DocumentOffsetCache"),
l = t("UnicodeBidi"),
u = t("createArrayFrom"),
c = t("emptyFunction");
i.prototype.getContent = function() {
"use strict";
return this.$DocumentView_content
}, i.prototype.getText = function() {
"use strict";
return this.$DocumentView_content.getText()
}, i.prototype.getEntities = function() {
"use strict";
return this.$DocumentView_content.getEntities()
}, i.prototype.getFragment = function(e, t) {
"use strict";
return this.$DocumentView_content.getFragment(e, t)
}, i.prototype.getVersion = function() {
"use strict";
return this.$DocumentView_content.getVersion()
}, i.prototype.getBlockDirections = function() {
"use strict";
return this.$DocumentView_fillCaches(), this.$DocumentView_blockDirections
}, i.prototype.getFingerprint = function() {
"use strict";
return this.$DocumentView_fillCaches(), this.$DocumentView_currentFingerprint.join(":")
}, i.prototype.getOffset = function(e) {
"use strict";
return this.$DocumentView_fillCaches(), this.$DocumentView_offsets.getOffset(e)
}, i.prototype.getKey = function(e) {
"use strict";
return this.$DocumentView_fillCaches(), this.$DocumentView_offsets.getKey(e)
}, i.prototype.iterate = function(e, t, n) {
"use strict";
function r(t, n) {
a.nextBlock(t), d(t, n), e(a.getCurrentKey(), t, n, u[l++])
}
function o(e, n, r) {
var o = null;
a.nextDecoration(e), null !== r && (c("D", r, n - e), o = s.getComponentForKey(r)), t(a.getCurrentKey(), e, n, o)
}
function i(e, t, r) {
a.nextLeaf(e), c("L", r), n(a.getCurrentKey(), e, t, r)
}
this.$DocumentView_iteratedVersion = this.getVersion(), this.$DocumentView_currentFingerprint.length = 0, this.$DocumentView_blockDirections.length = 0, this.$DocumentView_offsets.reset();
var a = this.$DocumentView_offsets,
s = this.$DocumentView_decorator,
l = 0,
u = this.$DocumentView_content.getBlockStyles(),
c = this.$DocumentView_recordFingerprint.bind(this),
d = this.$DocumentView_recordBlockDirection.bind(this);
this.$DocumentView_iterator.process(r, o, i)
}, i.prototype.$DocumentView_fillCaches = function() {
"use strict";
this.$DocumentView_iteratedVersion !== this.getVersion() && this.iterate(c, c, c)
}, i.prototype.$DocumentView_recordFingerprint = function() {
"use strict";
this.$DocumentView_currentFingerprint.push(u(arguments).join("-"))
}, i.prototype.$DocumentView_recordBlockDirection = function(e, t) {
"use strict";
var n = this.$DocumentView_content.getText().slice(e, t),
r = this.$DocumentView_blockDirections,
o = l.getDirection(n, r[r.length - 1]);
this.$DocumentView_blockDirections.push(o)
}, o.exports = i
}), __d("DocumentIterator", [], function(e, t, n, r, o) {
function i(e, t) {
"use strict";
this.$DocumentIterator_content = e, this.$DocumentIterator_decorator = t
}
var a = t("DocumentCharacters"),
s = a.BLOCK_DELIMITER;
i.prototype.process = function(e, t, n) {
"use strict";
this.$DocumentIterator_blockFn = e, this.$DocumentIterator_decorationFn = t, this.$DocumentIterator_inlineFn = n, this.$DocumentIterator_text = this.$DocumentIterator_content.getText(), this.$DocumentIterator_inlines = this.$DocumentIterator_content.getInlineStyles(), this.$DocumentIterator_decorations = this.$DocumentIterator_decorator.getDecorations(this.$DocumentIterator_content), this.$DocumentIterator_processDocument()
}, i.prototype.$DocumentIterator_processDocument = function() {
"use strict";
for (var e, t = this.$DocumentIterator_text.split(s), n = 0, r = 0; r < t.length; r++) e = n + t[r].length, this.$DocumentIterator_processBlock(n, e), n = e + s.length
}, i.prototype.$DocumentIterator_processBlock = function(e, t) {
"use strict";
this.$DocumentIterator_blockFn.call(null, e, t), this.$DocumentIterator_iterateSequence(this.$DocumentIterator_decorations, e, t, this.$DocumentIterator_processDecoration.bind(this))
}, i.prototype.$DocumentIterator_processDecoration = function(e, t, n) {
"use strict";
this.$DocumentIterator_decorationFn.call(null, e, t, n), this.$DocumentIterator_iterateSequence(this.$DocumentIterator_inlines, e, t, this.$DocumentIterator_processInline.bind(this))
}, i.prototype.$DocumentIterator_processInline = function(e, t, n) {
"use strict";
this.$DocumentIterator_inlineFn.call(null, e, t, n)
}, i.prototype.$DocumentIterator_iterateSequence = function(e, t, n, r) {
"use strict";
for (var o = t, i = t; n > i; i++) e[i] !== e[i + 1] && (r(o, i + 1, e[o]), o = i + 1);
t === n ? r(t, n, null) : o !== n && r(o, n, e[o])
}, o.exports = i
}), __d("DocumentOffsetCache", [], function(e, t, n, r, o) {
function i(e) {
return 0 > e ? 0 : e
}
function a() {
"use strict";
this.reset()
}
a.prototype.reset = function() {
"use strict";
this.$DocumentOffsetCache_block = -1, this.$DocumentOffsetCache_decoration = -1, this.$DocumentOffsetCache_leaf = -1, this.$DocumentOffsetCache_cachedOffsets = {}
}, a.prototype.nextBlock = function(e) {
"use strict";
this.$DocumentOffsetCache_block++, this.$DocumentOffsetCache_decoration = -1, this.$DocumentOffsetCache_leaf = -1, this.$DocumentOffsetCache_recordOffset(e)
}, a.prototype.nextDecoration = function(e) {
"use strict";
this.$DocumentOffsetCache_decoration++, this.$DocumentOffsetCache_leaf = -1, this.$DocumentOffsetCache_recordOffset(e)
}, a.prototype.nextLeaf = function(e) {
"use strict";
this.$DocumentOffsetCache_leaf++, this.$DocumentOffsetCache_recordOffset(e)
}, a.prototype.getCurrentKey = function() {
"use strict";
return i(this.$DocumentOffsetCache_block) + "." + i(this.$DocumentOffsetCache_decoration) + "." + i(this.$DocumentOffsetCache_leaf)
}, a.prototype.getOffset = function(e) {
"use strict";
return this.$DocumentOffsetCache_cachedOffsets[e]
}, a.prototype.getKey = function(e) {
"use strict";
var t = null,
n = null;
for (var r in this.$DocumentOffsetCache_cachedOffsets) {
var o = this.$DocumentOffsetCache_cachedOffsets[r],
i = e - o;
if (!(0 > i)) {
if (0 === i) return r;
(t > i || null === t) && (t = i, n = r)
}
}
return n
}, a.prototype.$DocumentOffsetCache_recordOffset = function(e) {
"use strict";
this.$DocumentOffsetCache_cachedOffsets[this.getCurrentKey()] = e
}, o.exports = a
}), __d("UnicodeBidi", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = m.exec(e);
if (!t) return d.NEUTRAL;
var n = g.exec(t[0]);
return n ? d.RTL : d.LTR
}
function a(e, t) {
if (t = t || d.NEUTRAL, !e.length) return t;
var n = i(e);
return n === d.NEUTRAL ? t : n
}
function s(e, t) {
return t && d.isStrong(t) || (t = c.getDirection()), a(e, t)
}
function l(e, t) {
return s(e, t) === d.LTR
}
function u(e, t) {
return s(e, t) === d.RTL
}
var c = t("Locale"),
d = t("UnicodeBidiDirection"),
p = {
L: "A-Za-zÀ-ÖØ-öø-ʸ̀-֐ࠀ-῿‎Ⰰ-퟿-﬜︀-﹯﻽-￿",
R: "־׀׃׆א-תװ-ײ׳-״߀-߉ߊ-ߪߴ-ߵߺࠀ-ࠕࠚࠤࠨ࠰-࠾ࡀ-ࡘ࡞‏יִײַ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﭏ",
AL: "؈؋؍؛؜؞-؟ؠ-ؿـف-ي٭ٮ-ٯٱ-ۓ۔ەۥ-ۦۮ-ۯۺ-ۼ۽-۾ۿ܀-܍܏ܐܒ-ܯݍ-ޥޱࢠࢢ-ࢬﭐ-ﮱ﮲-﯁ﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻ﷼ﹰ-ﹴﹶ-ﻼ"
},
h = p.L + p.R + p.AL,
f = p.R + p.AL,
m = new RegExp("[" + h + "]"),
g = new RegExp("[" + f + "]"),
_ = {
firstStrongCharDir: i,
resolveBlockDir: a,
getDirection: s,
isDirectionLTR: l,
isDirectionRTL: u
};
o.exports = _
}), __d("Locale", [], function(e, t, n, r, o) {
function i() {
return u.canUseDOM ? void 0 === s && (s = "rtl" === l.get(document.body, "direction")) : s = !1, s
}
function a() {
return i() ? c.RTL : c.LTR
}
var s, l = t("Style"),
u = t("ExecutionEnvironment"),
c = t("UnicodeBidiDirection"),
d = {
isRTL: i,
getDirection: a
};
o.exports = d
}), __d("Style", [], function(e, t, n, r, o) {
"use strict";
o.exports = {}
}), __d("UnicodeBidiDirection", [], function(e, t, n, r, o) {
"use strict";
var i = t("keyMirror"),
a = i({
NEUTRAL: !0,
LTR: !0,
RTL: !0
});
a.isStrong = function(e) {
return e === a.LTR || e === a.RTL
}, o.exports = a
}), __d("createArrayFrom", [], function(e, t, n, r, o) {
function i(e) {
return !!e && ("object" == typeof e || "function" == typeof e) && "length" in e && !("setInterval" in e) && "number" != typeof e.nodeType && (Array.isArray(e) || "callee" in e || "item" in e)
}
function a(e) {
return i(e) ? Array.isArray(e) ? e.slice() : s(e) : [e]
}
var s = t("toArray");
o.exports = a
}), __d("toArray", [], function(e, t, n, r, o) {
function i(e) {
var t = e.length;
if ((Array.isArray(e) || "object" != typeof e && "function" != typeof e) && a(0, "toArray: Array-like object expected"), "number" != typeof t && a(0, "toArray: Object needs a length property"), 0 === t || t - 1 in e || a(0, "toArray: Object should have keys for indices"), e.hasOwnProperty) try {
return Array.prototype.slice.call(e)
} catch (n) {}
for (var r = Array(t), o = 0; t > o; o++) r[o] = e[o];
return r
}
var a = t("invariant");
o.exports = i
}), __d("TextEditorBlock.react", [], function(e, t, n, r, o) {
var i = t("UnicodeBidiDirection"),
a = t("ReactPropTypes"),
s = t("React"),
l = t("Text"),
u = (t("cx"), t("joinClasses"), t("mergeInto")),
c = i.LTR,
d = i.RTL,
p = s.createClass({
displayName: "TextEditorBlock",
propTypes: {
offsetKey: a.string.isRequired,
text: a.string.isRequired,
blockProps: a.object,
blockStyleFn: a.func.isRequired,
style: a.number,
direction: a.string.isRequired
},
render: function() {
var e = this.props.direction === d,
t = this.props.direction === c,
n = e ? "right" : t ? "left" : "auto",
r = e ? "rtl" : t ? "ltr" : "auto",
o = {
style: [this.props.style, {
writingDirection: r,
textAlign: n
}]
};
return u(o, this.props.blockProps), s.createElement(l, Object.assign({}, o), this.props.children)
}
});
o.exports = p
}), __d("cx", [], function(e, t, n, r, o) {
function i(e) {
return "object" == typeof e ? Object.keys(e).filter(function(t) {
return e[t]
}).join(" ") : Array.prototype.join.call(arguments, " ")
}
o.exports = i
}), __d("TextEditorCompositionHandler", [], function(e, t, n, r, o) {
var i = t("Keys"),
a = t("isSelectionAtLeafStart"),
s = {
onBeforeInput: function(e) {
this._textInputData = (this._textInputData || "") + e.data
},
onCompositionStart: function() {
this._compositionState.continueSession()
},
onCompositionEnd: function() {
this._compositionState.pauseSession(), setTimeout(s.resolveComposition.bind(this), 0)
},
onKeyDown: function(e) {
(e.which === i.RIGHT || e.which === i.LEFT) && e.preventDefault()
},
onKeyPress: function(e) {
e.which === i.RETURN && e.preventDefault()
},
resolveComposition: function() {
if (!this._compositionState.inCompositionSession()) {
var e = this._textInputData;
this._textInputData = "", this._compositionState.terminateSession();
var t = !e || a(this.props.documentView, this.props.selectionState);
t && this.restoreEditorDOM(), this.exitCurrentMode(), this.removeRenderGuard(), e ? this.props.onCharacters(e) : t && (this.resetRenderedVersion(), this.forceUpdate())
}
}
};
o.exports = s
}), __d("Keys", [], function(e, t, n, r, o) {
o.exports = {
BACKSPACE: 8,
TAB: 9,
RETURN: 13,
ALT: 18,
ESC: 27,
SPACE: 32,
PAGE_UP: 33,
PAGE_DOWN: 34,
END: 35,
HOME: 36,
LEFT: 37,
UP: 38,
RIGHT: 39,
DOWN: 40,
DELETE: 46,
COMMA: 188
}
}), __d("isSelectionAtLeafStart", [], function(e, t, n, r, o) {
function i(e, t) {
var n = t.getStartOffset(),
r = e.getKey(n);
return e.getOffset(r) === n
}
o.exports = i
}), __d("TextEditorCompositionState", [], function(e, t, n, r, o) {
function i(e) {
"use strict";
this.$TextEditorCompositionState_composing = e
}
var a = t("mixInEventEmitter");
i.prototype.startSession = function() {
"use strict";
this.$TextEditorCompositionState_composing = !0, this.emit("change")
}, i.prototype.continueSession = function() {
"use strict";
this.$TextEditorCompositionState_composing = !0
}, i.prototype.pauseSession = function() {
"use strict";
this.$TextEditorCompositionState_composing = !1
}, i.prototype.terminateSession = function() {
"use strict";
this.$TextEditorCompositionState_composing = !1, this.emit("change")
}, i.prototype.inCompositionSession = function() {
"use strict";
return this.$TextEditorCompositionState_composing
}, a(i, {
change: !0
}), o.exports = i
}), __d("TextEditorEditHandler", [], function(e, t, n, r, o) {
function i(e) {
return w && (e == v || e == S)
}
function a(e, t) {
var n = e.selectionState;
if (!n.isCollapsed()) {
var r = n.getStartOffset(),
o = n.getEndOffset();
t(e.documentView.getFragment(r, o), r, o)
}
}
var s = t("DataTransfer"),
l = t("DocumentCharacters"),
u = t("Keys"),
c = t("TextEditorModes"),
d = t("TextEditorPasteHandler"),
p = t("UserAgent"),
h = t("findAncestorOffsetKey"),
f = t("getChangedCharactersFromMutation"),
m = t("getDocumentSelection"),
g = t("isSelectionAtLeafStart"),
_ = l.BLOCK_DELIMITER,
y = l.SOFT_NEWLINE,
v = "'",
S = "/",
w = !!p.firefox(),
b = {
onBeforeInput: function(e) {
var t = e.data;
if (t) {
var n = this.props.documentView,
r = this.props.selectionState;
if (r.isCollapsed() && !g(n, r)) {
var o = n.getFingerprint();
if (this.props.onCharacters(t), !i(t) && o === n.getFingerprint()) return void this.expectDuplicateMutation()
} else this.props.onCharacters(t);
e.preventDefault()
}
},
onKeyDown: function(e) {
var t = e.nativeEvent.keyCode;
switch (t) {
case u.RETURN:
return e.preventDefault(), void this.props.onReturn(e);
case u.ESC:
return e.preventDefault(), void(this.props.onEscape && this.props.onEscape(e));
case u.TAB:
return void(this.props.onTab && this.props.onTab(e));
case u.UP:
return void(this.props.onUpArrow && this.props.onUpArrow(e));
case u.DOWN:
return void(this.props.onDownArrow && this.props.onDownArrow(e))
}
var n = this.props.keyBindingFn.call(null, e);
n && (e.preventDefault(), this.props.onKeyCommand(n))
},
normalizeAndHandleSelect: function(e, t, n, r, o) {
null !== e && null !== t && (t += this.props.documentView.getOffset(e)), null !== n && null !== r && (r += this.props.documentView.getOffset(n)), t && o && this.resetRenderedVersion(), this.props.onSelect(t, r, !!o)
},
onSelect: function() {
m(this.refs.editorContainer.getDOMNode().firstChild, b.normalizeAndHandleSelect.bind(this))
},
onBlur: function(e) {
this.props.onBlur(e)
},
onFocus: function(e) {
this.props.onFocus(e)
},
onCharacterData: function(e) {
var t = f(e);
if (t) {
var n = h(t.node),
r = this.props.documentView.getOffset(n);
this.props.onAlter(r + t.offset, t.oldText, t.newText)
}
},
onDragStart: function() {
this._internalDrag = !0, this.setMode(c.DRAG)
},
onDragOver: function(e) {
this._internalDrag = !1, this.setMode(c.DRAG), e.preventDefault()
},
onCompositionStart: function() {
this.setRenderGuard(), this.captureEditorDOM(), this.setMode(c.COMPOSITE), this._compositionState.startSession()
},
onCut: function(e) {
return this.props.selectionState.isCollapsed() ? void e.preventDefault() : (this.setRenderGuard(), this.captureEditorDOM(), void a(this.props, function(e, t, n) {
this._clipboard = e, this.setMode(c.CUT), setTimeout(function() {
this.restoreEditorDOM(), this.removeRenderGuard(), this.exitCurrentMode(), this.props.onCut(t, n)
}.bind(this), 0)
}.bind(this)))
},
onCopy: function() {
a(this.props, function(e) {
this._clipboard = e
}.bind(this))
},
onPaste: function(e) {
e.preventDefault();
var t = new s(e.clipboardData);
if (!t.isRichText()) {
var n = t.getFiles();
if (n.length > 0) return void(this.props.onPasteFiles && this.props.onPasteFiles(n))
}
var r = t.getText();
if (r && (r = r.replace(new RegExp(y, "g"), _)), this._clipboard && r === this._clipboard.text) return void this.props.onPasteFragment(this._clipboard);
var o = t.getHTML();
if (o) {
var i = d.processHTML(o);
if (i) return void this.props.onPasteFragment(i)
}
this._clipboard = null, this.props.onPasteFragment(d.processText(r))
}
};
o.exports = b
}), __d("DataTransfer", [], function(e, t, n, r, o) {
function i(e) {
return "file" == e.kind ? e.getAsFile() : void 0
}
function a(e) {
"use strict";
this.data = e, this.types = e.types ? l(e.types) : []
}
var s = t("PhotosMimeType"),
l = t("createArrayFrom"),
u = t("emptyFunction"),
c = new RegExp("\r\n", "g"),
d = "\n",
p = {
"text/rtf": 1,
"text/html": 1
};
a.prototype.isRichText = function() {
"use strict";
return this.types.some(function(e) {
return p[e]
})
}, a.prototype.getText = function() {
"use strict";
var e;
return this.data.getData && (this.types.length ? -1 != this.types.indexOf("text/plain") && (e = this.data.getData("text/plain")) : e = this.data.getData("Text")), e ? e.replace(c, d) : null
}, a.prototype.getHTML = function() {
"use strict";
if (this.data.getData) {
if (!this.types.length) return this.data.getData("Text");
if (-1 != this.types.indexOf("text/html")) return this.data.getData("text/html")
}
}, a.prototype.isImage = function() {
"use strict";
var e = this.types.some(function(e) {
return -1 != e.indexOf("application/x-moz-file")
});
if (e) return !0;
for (var t = this.getFiles(), n = 0; n < t.length; n++) {
var r = t[n].type;
if (!s(r).isImage()) return !1
}
return !0
}, a.prototype.getCount = function() {
"use strict";
return this.data.hasOwnProperty("items") ? this.data.items.length : this.data.hasOwnProperty("mozItemCount") ? this.data.mozItemCount : this.data.files ? this.data.files.length : null
}, a.prototype.getFiles = function() {
"use strict";
return this.data.items ? Array.prototype.slice.call(this.data.items).map(i).filter(u.thatReturnsArgument) : this.data.files ? Array.prototype.slice.call(this.data.files) : []
}, a.prototype.hasFiles = function() {
"use strict";
return this.getFiles().length > 0
}, o.exports = a
}), __d("PhotosMimeType", [], function(e, t, n, r, o) {
function i(e) {
"use strict";
return this instanceof i == !1 ? new i(e) : void(this.$PhotosMimeType_parts = e.split("/"))
}
i.prototype.isImage = function() {
"use strict";
return "image" === this.$PhotosMimeType_parts[0]
}, i.prototype.isJpeg = function() {
"use strict";
return this.isImage() && ("jpeg" === this.$PhotosMimeType_parts[1] || "pjpeg" === this.$PhotosMimeType_parts[1])
}, o.exports = i
}), __d("TextEditorModes", [], function(e, t, n, r, o) {
var i = {
EDIT: 0,
COMPOSITE: 1,
DRAG: 2,
RENDER: 3,
CUT: 4
};
o.exports = i
}), __d("TextEditorPasteHandler", [], function(e, t, n, r, o) {
function i() {
return {
text: "",
inlines: [],
blocks: []
}
}
function a() {
return {
text: y,
inlines: [d.NONE],
blocks: []
}
}
function s() {
return {
text: _,
inlines: [d.NONE],
blocks: []
}
}
function l(e) {
return {
text: m,
inlines: [d.NONE],
blocks: [e]
}
}
var u = t("DocumentCharacters"),
c = t("ComposedBlockType"),
d = t("ComposedInlineStyle"),
p = t("arrayContains"),
h = t("fillArray"),
f = t("getSafeBodyFromHTML"),
m = u.BLOCK_DELIMITER,
g = "&nbsp;",
_ = u.SOFT_NEWLINE,
y = " ",
v = c.UNSTYLED,
S = ["p", "h1", "h2", "h3", "li", "blockquote"],
w = {
strong: d.BOLD,
b: d.BOLD,
em: d.ITALIC,
i: d.ITALIC,
u: d.UNDERLINE
},
b = {
processBlockTag: function(e, t) {
switch (e) {
case "h1":
return c.HEADER_ONE;
case "h2":
return c.HEADER_TWO;
case "li":
return "ol" === t ? c.ORDERED_LIST_ITEM : c.UNORDERED_LIST_ITEM;
case "blockquote":
return c.BLOCKQUOTE;
default:
return c.UNSTYLED
}
},
processInlineTag: function(e, t) {
var n = w[e],
r = !!(t & n);
return n && !r && (t += n), t
},
joinChunks: function(e, t) {
return e.text.slice(-1) === m && t.text.slice(0, 1) === m && (e.text = e.text.slice(0, -1), e.inlines.pop(), e.blocks.pop()), e.text.slice(-1) !== m || t.text !== y && t.text !== _ ? {
text: e.text + t.text,
inlines: e.inlines.concat(t.inlines),
blocks: e.blocks.concat(t.blocks)
} : e
},
genFragment: function(e, t, n, r, o) {
var u = e.nodeName.toLowerCase(),
c = !1;
if ("#text" === u) {
var d = e.textContent;
return "" === d.trim() ? a() : {
text: d,
inlines: h(d.length, t),
blocks: []
}
}
if ("br" === u) return s();
var f, m = i();
for (t = this.processInlineTag(u, t), ("ul" === u || "ol" === u) && (n = u), !r && p(o, u) && (m = l(this.processBlockTag(u, n)), r = !0, c = !0), e = e.firstChild; e;) f = this.genFragment(e, t, n, r, o), m = this.joinChunks(m, f), e = e.nextSibling;
return c && (m = this.joinChunks(m, l(v))), m
},
containsSemanticBlockMarkup: function(e) {
return S.some(function(t) {
return -1 !== e.indexOf("<" + t)
})
},
processHTML: function(e) {
e = e.trim().split(m).join("").split(_).join(y).split(g).join(y);
var t = f(e);
if (!t) return null;
var n = this.containsSemanticBlockMarkup(e) ? S : ["div"],
r = this.genFragment(t, 0, "ul", !1, n);
return 0 === r.text.indexOf(m) && (r = {
text: r.text.slice(1),
inlines: r.inlines.slice(1),
blocks: r.blocks
}), r.text.slice(-1) === m && (r.text = r.text.slice(0, -1), r.inlines = r.inlines.slice(0, -1), r.blocks.pop()), 0 === r.blocks.length && r.blocks.push(v), r.text.split(m).length === r.blocks.length + 1 && r.blocks.unshift(v), r
},
processText: function(e) {
return {
text: e,
inlines: h(e.length, d.NONE),
blocks: h(e.split(m).length, v)
}
}
};
o.exports = b
}), __d("arrayContains", [], function(e, t, n, r, o) {
function i(e, t) {
return -1 != e.indexOf(t)
}
o.exports = i
}), __d("getSafeBodyFromHTML", [], function(e, t, n, r, o) {
function i(e) {
var t, n = null;
return document.implementation && document.implementation.createHTMLDocument && (t = document.implementation.createHTMLDocument("foo"), t.documentElement.innerHTML = e, n = t.getElementsByTagName("body")[0]), n
}
o.exports = i
}), __d("UserAgent", [], function(e, t, n, r, o) {
function i() {
if (!w && (w = !0, "undefined" != typeof navigator)) {
var e = navigator.userAgent,
t = /(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),
n = /(Mac OS X)|(Windows)|(Linux)/.exec(e);
if (_ = /\b(iPhone|iP[ao]d)/.exec(e), y = /\b(iP[ao]d)/.exec(e), m = /Android/i.exec(e), v = /FBAN\/\w+;/i.exec(e), S = /Mobile/i.exec(e), g = !!/Win64/.exec(e), t) {
a = t[1] ? parseFloat(t[1]) : t[5] ? parseFloat(t[5]) : 0 / 0, a && document && document.documentMode && (a = document.documentMode);
var r = /(?:Trident\/(\d+.\d+))/.exec(e);
d = r ? parseFloat(r[1]) + 4 : a, s = t[2] ? parseFloat(t[2]) : 0 / 0, l = t[3] ? parseFloat(t[3]) : 0 / 0, u = t[4] ? parseFloat(t[4]) : 0 / 0, u ? (t = /(?:Chrome\/(\d+\.\d+))/.exec(e), c = t && t[1] ? parseFloat(t[1]) : 0 / 0) : c = 0 / 0
} else a = s = l = c = u = 0 / 0;
if (n) {
if (n[1]) {
var o = /(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);
p = o ? parseFloat(o[1].replace("_", ".")) : !0
} else p = !1;
h = !!n[2], f = !!n[3]
} else p = h = f = !1
}
}
var a, s, l, u, c, d, p, h, f, m, g, _, y, v, S, w = !1,
b = {
ie: function() {
return i() || a
},
ieCompatibilityMode: function() {
return i() || d > a
},
ie64: function() {
return b.ie() && g
},
firefox: function() {
return i() || s
},
opera: function() {
return i() || l
},
webkit: function() {
return i() || u
},
safari: function() {
return b.webkit()
},
chrome: function() {
return i() || c
},
windows: function() {
return i() || h
},
osx: function() {
return i() || p
},
linux: function() {
return i() || f
},
iphone: function() {
return i() || _
},
mobile: function() {
return i() || _ || y || m || S
},
nativeApp: function() {
return i() || v
},
android: function() {
return i() || m
},
ipad: function() {
return i() || y
}
};
o.exports = b
}), __d("findAncestorOffsetKey", [], function(e, t, n, r, o) {
function i(e) {
for (; e && e !== document.documentElement;) {
var t = a(e);
if (null != t) return t;
e = e.parentNode
}
return null
}
var a = t("getSelectionOffsetKeyForNode");
o.exports = i
}), __d("getSelectionOffsetKeyForNode", [], function(e, t, n, r, o) {
function i(e) {
return e.getAttribute && e.getAttribute("data-offset-key")
}
o.exports = i
}), __d("getChangedCharactersFromMutation", [], function(e, t, n, r, o) {
function i(e, t) {
var n, r = Math.min(e.length, t.length),
o = r,
i = r;
for (n = 0; r > n; n++)
if (e.charAt(n) !== t.charAt(n)) {
o = n;
break
}
for (n = 0; r > n; n++)
if (e.charAt(e.length - n - 1) !== t.charAt(t.length - n - 1)) {
i = n;
break
}
return {
prefix: o,
suffix: i
}
}
function a(e, t, n) {
for (var r = 0; n > r; r++) t.charAt(e.prefix - 1).match(/^\s?$/) ? e.suffix-- : e.prefix--
}
function s(e, t) {
return e.substr(t.prefix, e.length - t.prefix - t.suffix)
}
function l(e) {
var t, n;
if (3 === e.length) t = e[1], n = e[2];
else {
if (2 !== e.length) return;
t = e[0], n = e[1]
}
if (t.target === n.target) {
var r = t.oldValue,
o = n.oldValue,
l = n.target.data;
if (l !== r && l.length > o.length && r.length > o.length) {
var u = i(r, o),
c = i(l, o),
d = u.prefix < c.prefix ? u : c,
p = r.length - d.prefix - d.suffix,
h = r.length - o.length;
return a(d, r, h - p), {
node: n.target,
offset: d.prefix,
oldText: s(r, d),
newText: s(l, d)
}
}
}
}
o.exports = l
}), __d("getDocumentSelection", [], function(e, t, n, r, o) {
function i(e) {
for (; e.firstChild && m(e.firstChild);) e = e.firstChild;
return e
}
function a(e) {
for (; e.lastChild && m(e.lastChild);) e = e.lastChild;
return e
}
function s(e, t) {
var n = document.selection,
r = n.createRange(),
o = r.text,
i = l(e, r, _),
a = i;
null !== i && o.length > 0 && (a = l(e, r, y)), i && a ? t(i.key, i.offset, a.key, a.offset) : t(null, null, null, null)
}
function l(e, t, n) {
for (var r = t.duplicate(), o = function(e) {
return r.moveToElementText(e), u(r, t, n)
}; e && e.childNodes;) {
var i = h(e.childNodes, o);
if (-1 === i) break;
e = e.childNodes[i];
var a = m(e);
if (null !== a) return r.moveToElementText(e), r.setEndPoint("EndTo" + n, t), {
key: a,
offset: r.text.length
}
}
return null
}
function u(e, t, n) {
return 1 == e.compareEndPoints("StartTo" + n, t) ? 1 : -1 == e.compareEndPoints("EndTo" + n, t) ? -1 : 0
}
function c(e, t, n) {
var r = f(t);
if (null == r && e !== t && g(0, "Unknown node in selection range."), 0 === n) return {
key: r || m(i(t)),
offset: 0
};
var o, s, l = t.childNodes[n - 1];
if (m(l)) {
var u = a(l);
o = m(u), s = u.textContent.length
} else o = r, s = l.textContent.length;
return {
key: o,
offset: s
}
}
function d(t, n) {
var r = e.getSelection();
if (0 === r.rangeCount) return void n(null, null, null, null);
var o = r.anchorNode,
i = r.focusNode,
a = r.anchorOffset,
s = r.focusOffset,
l = o.nodeType === Node.TEXT_NODE,
u = i.nodeType === Node.TEXT_NODE;
if (l && u) return void n(f(o), a, f(i), s);
var d = null,
p = null;
l ? (d = {
key: f(o),
offset: a
}, p = c(t, i, s)) : u ? (p = {
key: f(i),
offset: s
}, d = c(t, o, a)) : (d = c(t, o, a), p = c(t, i, s)), n(d.key, d.offset, p.key, p.offset, !0)
}
function p(e, t) {
document.selection ? s(e, t) : d(e, t)
}
var h = t("binarySearch"),
f = t("findAncestorOffsetKey"),
m = t("getSelectionOffsetKeyForNode"),
g = t("invariant"),
_ = "Start",
y = "End";
o.exports = p
}), __d("binarySearch", [], function(e, t, n, r, o) {
function i(e, t) {
if (__DEV__ && "number" != typeof e.length) throw new TypeError("binarySearch() must be passed array-like object.");
for (var n = 0, r = e.length - 1; r >= n;) {
var o = Math.floor((r + n) / 2),
i = t(e[o], o);
if (0 === i) return o;
i > 0 ? r = o - 1 : n = o + 1
}
return -1
}
o.exports = i
}), __d("TextEditorDragHandler", [], function(e, t, n, r, o) {
function i(e, t) {
var n, r;
if (document.caretRangeFromPoint) {
var o = document.caretRangeFromPoint(t.x, t.y);
n = o.startContainer, r = o.startOffset
} else t.rangeParent && (n = t.rangeParent, r = t.rangeOffset);
if (n) {
var i = document.createRange();
i.setStart(e, 0), i.setEnd(n, r);
var a = i.toString().length;
return i.detach(), a
}
}
var a = t("DataTransfer"),
s = {
onDragEnd: function() {
this.exitCurrentMode()
},
onDrop: function(e) {
var t = new a(e.nativeEvent.dataTransfer),
n = i(this.refs.editorContainer.getDOMNode(), e.nativeEvent);
if (null != n) {
var r = t.getFiles();
this.props.onDropFiles && r.length > 0 ? this.props.onDropFiles(n, r) : this._internalDrag ? this.props.onDropSelection(n) : this.props.onDropText(n, t.getText())
}
e.preventDefault(), this.exitCurrentMode()
}
};
o.exports = s
}), __d("TextInput", [], function(e, t, n, r, o) {
"use strict";
var i = t("DocumentSelectionState"),
a = t("NativeMethodsMixin"),
s = t("NativeModulesDeprecated"),
l = t("ReactPropTypes"),
u = t("React"),
c = t("ReactChildren"),
d = t("ReactIOSViewAttributes"),
p = t("StyleSheet"),
h = t("Text"),
f = t("TextInputState"),
m = t("TimerMixin"),
g = t("TouchableWithoutFeedback"),
_ = t("createReactIOSNativeComponentClass"),
y = t("invariant"),
v = t("merge"),
S = s.RKUIManager.UIText.AutocapitalizationType,
w = {
none: S.None,
sentences: S.Sentences,
words: S.Words,
characters: S.AllCharacters
},
b = v(d.UIView, {
autoCorrect: !0,
autoCapitalize: !0,
color: !0,
editable: !0,
fontSize: !0,
fontWeight: !0,
keyboardType: !0,
mostRecentEventCounter: !0,
placeholder: !0,
placeholderTextColor: !0,
text: !0
}),
R = v(b, {
caretHidden: !0,
enabled: !0
}),
C = u.createClass({
displayName: "TextInput",
propTypes: {
autoCapitalize: l.oneOf(Object.keys(w)),
autoCorrect: l.bool,
autoFocus: l.bool,
editable: l.bool,
keyboardType: l.oneOf(["default", "numeric"]),
multiline: l.bool,
onBlur: l.func,
onFocus: l.func,
onChange: l.func,
onEndEditing: l.func,
onSubmitEditing: l.func,
placeholder: l.string,
placeholderTextColor: l.string,
selectionState: l.instanceOf(i),
color: l.string,
value: l.string,
style: h.stylePropType,
inputView: l.renderable
},
mixins: [a, m],
viewConfig: {
uiViewClassName: "RKTextField",
validAttributes: R
},
getInitialState: function() {
return {
contentSize: {
width: 0,
height: 0
},
mostRecentEventCounter: 0
}
},
onFocus: function(e) {
this.props.onFocus && this.props.onFocus(e)
},
handleOnPress: function() {
this.focus()
},
componentDidMount: function() {
this.props.autoFocus && this.requestAnimationFrame(this.focus)
},
isFocused: function() {
return f.currentlyFocusedField() === this.getNativeNode()
},
onChange: function(e) {
this.props.onChange && this.props.onChange(e)
},
onBlur: function(e) {
this.blur(), this.props.onBlur && this.props.onBlur(e)
},
onSelectionChange: function(e) {
if (this.props.selectionState) {
var t = e.nativeEvent.selection;
this.props.selectionState.update(t.start, t.end)
}
this.props.onSelectionChange && this.props.onSelectionChange(e)
},
onTextInput: function(e) {
this.props.onTextInput && this.props.onTextInput(e);
var t = e.nativeEvent.eventCounter;
t > this.state.mostRecentEventCounter && this.setState({
mostRecentEventCounter: t
})
},
render: function() {
var e;
if (this.props.multiline) {
this.props.onSubmitEditing && console.error("onSubmitEditing event is not supported with the multiline property");
var t = this.props.children,
n = 0;
c.forEach(t, function() {
return ++n
}), this.props.value && n && y(0, "Cannot specify both value and children."), n > 1 && (t = u.createElement(h, null, t)), this.props.inputView && (t = [t, this.props.inputView]), e = u.createElement(D, {
style: [E.input, this.props.style],
children: t,
mostRecentEventCounter: this.state.mostRecentEventCounter,
editable: this.props.editable,
onFocus: this.onFocus,
onBlur: this.onBlur,
onChange: this.onChange,
onEndEditing: this.props.onEndEditing,
onSelectionChange: this.onSelectionChange,
onTextInput: this.onTextInput,
placeholder: this.props.placeholder,
placeholderTextColor: this.props.placeholderTextColor,
text: this.props.value,
autoCapitalize: w[this.props.autoCapitalize],
autoCorrect: this.props.autoCorrect
})
} else e = u.createElement(x, {
style: [E.input, this.props.style],
enabled: this.props.editable,
keyboardType: this.props.keyboardType,
onFocus: this.onFocus,
onBlur: this.onBlur,
onChange: this.onChange,
onEndEditing: this.props.onEndEditing,
onSelectionChange: this.onSelectionChange,
onSubmitEditing: this.props.onSubmitEditing,
onTextInput: this.onTextInput,
placeholder: this.props.placeholder,
text: this.props.value,
autoCapitalize: w[this.props.autoCapitalize],
autoCorrect: this.props.autoCorrect
});
return u.createElement(g, {
onPress: this.handleOnPress
}, e)
}
}),
E = p.create({
input: {
alignSelf: "stretch"
}
}),
D = _({
validAttributes: b,
uiViewClassName: "RKTextView"
}),
x = _({
validAttributes: R,
uiViewClassName: "RKTextField"
});
o.exports = C
}), __d("ReactChildren", [], function(e, t, n, r, o) {
"use strict";
function i(e, t) {
this.forEachFunction = e, this.forEachContext = t
}
function a(e, t, n, r) {
var o = e;
o.forEachFunction.call(o.forEachContext, t, r)
}
function s(e, t, n) {
if (null == e) return e;
var r = i.getPooled(t, n);
f(e, a, r), i.release(r)
}
function l(e, t, n) {
this.mapResult = e, this.mapFunction = t, this.mapContext = n
}
function u(e, t, n, r) {
var o = e,
i = o.mapResult,
a = !i.hasOwnProperty(n);
if (m(a, "ReactChildren.map(...): Encountered two children with the same key, `%s`. Child keys must be unique; when two children share a key, only the first child will be used.", n), a) {
var s = o.mapFunction.call(o.mapContext, t, r);
i[n] = s
}
}
function c(e, t, n) {
if (null == e) return e;
var r = {},
o = l.getPooled(r, t, n);
return f(e, u, o), l.release(o), r
}
function d() {
return null
}
function p(e) {
return f(e, d, null)
}
var h = t("PooledClass"),
f = t("traverseAllChildren"),
m = t("warning"),
g = h.twoArgumentPooler,
_ = h.threeArgumentPooler;
h.addPoolingTo(i, g), h.addPoolingTo(l, _);
var y = {
forEach: s,
map: c,
count: p
};
o.exports = y
}), __d("TouchableWithoutFeedback", [], function(e, t, n, r, o) {
"use strict";
var i = t("React"),
a = t("Touchable"),
s = (t("View"), t("copyProperties")),
l = t("onlyChild"),
u = {
top: 20,
left: 20,
right: 20,
bottom: 30
},
c = i.createClass({
displayName: "TouchableWithoutFeedback",
mixins: [a.Mixin],
propTypes: {
onPress: i.PropTypes.func,
onPressIn: i.PropTypes.func,
onPressOut: i.PropTypes.func,
onLongPress: i.PropTypes.func
},
getInitialState: function() {
return this.touchableGetInitialState()
},
touchableHandlePress: function(e) {
this.props.onPress && this.props.onPress(e)
},
touchableHandleActivePressIn: function() {
this.props.onPressIn && this.props.onPressIn()
},
touchableHandleActivePressOut: function() {
this.props.onPressOut && this.props.onPressOut()
},
touchableHandleLongPress: function() {
this.props.onLongPress && this.props.onLongPress()
},
touchableGetPressRectOffset: function() {
return u
},
touchableGetHighlightDelayMS: function() {
return 0
},
render: function() {
var e = l(this.props.children);
return s(e.props, {
accessible: !0,
testID: this.props.testID,
onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder,
onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest,
onResponderGrant: this.touchableHandleResponderGrant,
onResponderMove: this.touchableHandleResponderMove,
onResponderRelease: this.touchableHandleResponderRelease,
onResponderTerminate: this.touchableHandleResponderTerminate
}), e
}
});
o.exports = c
}), __d("requestAnimationFrame", [], function(e, t, n, r, o) {
var i = t("emptyFunction"),
a = t("nativeRequestAnimationFrame"),
s = 0,
l = a || function(t) {
var n = Date.now(),
r = Math.max(0, 16 - (n - s));
return s = n + r, e.setTimeout(function() {
t(Date.now())
}, r)
};
l(i), o.exports = l
}), __d("nativeRequestAnimationFrame", [], function(e, t, n, r, o) {
var i = e.requestAnimationFrame || e.webkitRequestAnimationFrame || e.mozRequestAnimationFrame || e.oRequestAnimationFrame || e.msRequestAnimationFrame;
o.exports = i
}), __d("ModalFullscreenView", [], function(e, t, n, r, o) {
"use strict";
var i = t("NativeModulesDeprecated"),
a = t("React"),
s = t("ReactIOSViewAttributes"),
l = t("RKDimensions"),
u = t("StyleSheet"),
c = t("createReactIOSNativeComponentClass"),
d = c({
validAttributes: s.UIView,
uiViewClassName: "RKModalFullscreenView"
}),
p = u.create({
modalContainer: {
backgroundColor: "transparent",
position: "absolute",
left: 0,
top: 0,
right: 0,
bottom: 0
}
}),
h = a.createClass({
displayName: "ModalFullscreenView",
statics: {
width: l.get("modalFullscreenView").width,
height: l.get("modalFullscreenView").height,
style: p.modalContainer
},
getInitialState: function() {
return {
isOpen: !1
}
},
open: function() {
this.state.isOpen || (this.setState({
isOpen: !0
}), i.RKModalFullscreenViewManager.open())
},
close: function() {
this.state.isOpen && (this.setState({
isOpen: !1
}), i.RKModalFullscreenViewManager.close())
},
render: function() {
var e = {
position: "absolute",
left: 0,
top: 0,
width: l.get("modalFullscreenView").width,
height: l.get("modalFullscreenView").height
};
return a.createElement(d, {
style: e,
onStartShouldSetResponder: this._shouldSetResponder
}, this.props.children)
},
_shouldSetResponder: function() {
return !0
}
});
o.exports = h
}), __d("getMentionableRect", [], function(e, t, n, r, o) {
"use strict";
o.exports = function() {
return null
}
}), __d("TypeaheadNavigation", [], function(e, t, n, r, o) {
var i = {
moveUp: function(e, t, n) {
var r = e.indexOf(t),
o = -1 == r ? e.length - 1 : r - 1;
n(-1 == o ? null : e[o])
},
moveDown: function(e, t, n) {
var r = e.indexOf(t) + 1;
n(r == e.length ? null : e[r])
}
};
o.exports = i
}), __d("DocumentCompositeDecorator", [], function(e, t, n, r, o) {
function i(e) {
"use strict";
this.$DocumentCompositeDecorator_decorators = e.slice(), this.$DocumentCompositeDecorator_componentMap = {}
}
function a(e, t, n) {
for (var r = t; n > r; r++)
if (null != e[r]) return !1;
return !0
}
function s(e, t, n, r) {
for (var o = t; n > o; o++) e[o] = r
}
var l = t("fillArray");
i.prototype.getDecorations = function(e) {
"use strict";
var t = l(e.getText().length, null),
n = 0,
r = this.$DocumentCompositeDecorator_componentMap;
return this.$DocumentCompositeDecorator_decorators.forEach(function(o) {
var i = o.getStrategy(),
l = o.getComponent();
i(e, function(e, o) {
a(t, e, o) && (r[n] = l, s(t, e, o, n), n++)
})
}), t
}, i.prototype.getComponentForKey = function(e) {
"use strict";
return this.$DocumentCompositeDecorator_componentMap[e]
}, o.exports = i
}), __d("DocumentDecorator", [], function(e, t, n, r, o) {
function i(e, t) {
"use strict";
this.$DocumentDecorator_strategy = e, this.$DocumentDecorator_component = t
}
i.prototype.getStrategy = function() {
"use strict";
return this.$DocumentDecorator_strategy
}, i.prototype.getComponent = function() {
"use strict";
return this.$DocumentDecorator_component
}, o.exports = i
}), __d("ComposedEntityType", [], function(e, t, n, r, o) {
"use strict";
var i = {
MENTION: 0,
LINK: 1,
IMAGE: 2,
VIDEO: 3
};
o.exports = i
}), __d("MentionSpan", [], function(e, t, n, r, o) {
"use strict";
var i = t("React"),
a = t("StyleSheet"),
s = t("Text"),
l = i.createClass({
displayName: "MentionSpan",
render: function() {
return i.createElement(s, {
style: u.text
}, this.props.children)
}
}),
u = a.create({
text: {
backgroundColor: "#ccddff"
}
});
o.exports = l
}), __d("MentionsTextEditorMixin", [], function(e, t, n, r, o) {
function i(e, t, n) {
for (var r = n; r <= t.length; r++) e.substr(-r) == t.substr(0, r) && (n = r);
return n
}
function a(e) {
var t = "user" === e.getType().toLowerCase() ? c.SEGMENTED : c.IMMUTABLE,
n = e.getAuxiliaryData();
return l.create(u.MENTION, t, {
id: e.getUniqueID(),
isWeak: n && "non_member" === n.renderType
})
}
var s = t("BaseTextEditorMixin"),
l = t("DocumentEntity"),
u = t("ComposedEntityType"),
c = t("ComposedEntityMutability"),
d = t("DocumentModifier"),
p = t("getCurrentInlineStyle"),
h = t("merge"),
f = {
onShowMentions: function(e, t) {
this._mentionOffset = t, this.props.onShowMentions && this.props.onShowMentions(e, t)
},
onAddMention: function(e, t) {
var n = this.props.selectionState,
r = n.getStartOffset(),
o = r - i(this.props.documentContent.getText().substr(0, r), e.getTitle(), this._mentionOffset);
d.replaceText(this.props.documentContent, e.getTitle(), p(this.props.documentContent, n), a(e), o, r, this.updateDocumentAndCollapseSelection), this.props.onAddMention && this.props.onAddMention(e, t)
}
},
m = h(s, f);
o.exports = m
}), __d("BaseTextEditorMixin", [], function(e, t, n, r, o) {
var i = t("DocumentCharacters"),
a = t("DocumentCommands"),
s = t("DocumentModifier"),
l = t("DocumentRemovableWord"),
u = t("emptyFunction"),
c = t("getActiveElement"),
d = t("getCurrentInlineStyle"),
p = t("getCurrentInlineStyleForOffset"),
h = t("getTextContentFromFiles"),
f = i.BLOCK_DELIMITER,
m = i.SOFT_NEWLINE,
g = {
getHandlerForCommand: function(e) {
switch (e) {
case a.UNDO:
return this.undo;
case a.REDO:
return this.redo;
case a.DELETE:
return this.onDelete;
case a.DELETE_WORD:
return this.onDeleteWord;
case a.DELETE_TO_END_OF_BLOCK:
return this.onDeleteToEndOfBlock;
case a.BACKSPACE:
return this.onBackspace;
case a.BACKSPACE_WORD:
return this.onBackspaceWord;
case a.BACKSPACE_TO_END_OF_BLOCK:
return this.onBackspaceToEndOfBlock;
case a.INSERT_BLOCK_DELIMITER:
return this.onInsertNewline;
case a.TRANSPOSE_CHARACTERS:
return this.onTransposeCharacters;
case a.MOVE_SELECTION_TO_START_OF_BLOCK:
return this.moveSelectionToStartOfBlock;
case a.MOVE_SELECTION_TO_END_OF_BLOCK:
return this.moveSelectionToEndOfBlock;
default:
return u
}
},
componentWillReceiveProps: function(e) {
var t = e.documentContent,
n = this.props.documentContent;
if (t && n != t) this.props.selectionState.update(0, 0);
else {
var r = n.getText().length;
this.props.selectionState.constrainLength(r)
}
},
onFocus: function() {
this.props.selectionState.focus()
},
onBlur: function() {
e.getSelection && c() === document.body && e.getSelection().removeAllRanges(), this.props.selectionState.blur()
},
onSelect: function(e, t, n) {
if (!this._blockSelectEvents) {
var r = this.props.selectionState;
null === e ? (r.update(0, 0), r.blur()) : n ? this.updateDocument(e, t) : r.update(e, t)
}
},
updateDocument: function(e, t) {
this.props.selectionState.update(e, t), this._blockSelectEvents = !0, this.forceUpdate(function() {
this.props.onChange && this.props.onChange(), this._blockSelectEvents = !1
}.bind(this))
},
updateDocumentAndCollapseSelection: function(e, t) {
this.updateDocument(t, t)
},
undo: function() {
s.undo(this.props.documentContent, this.updateDocument)
},
redo: function() {
s.redo(this.props.documentContent, this.updateDocument)
},
onKeyCommand: function(e) {
var t = this.getHandlerForCommand(e);
t()
},
onCut: function(e, t) {
s.removeRange(this.props.documentContent, e, t, this.updateDocument)
},
onPasteFragment: function(e) {
var t = this.props.selectionState;
s.insertFragment(this.props.documentContent, e, t.getStartOffset(), t.getEndOffset(), this.updateDocumentAndCollapseSelection)
},
_removeTextWithStrategy: function(e) {
var t = this.props.selectionState,
n = t.getEndOffset();
if (t.isCollapsed()) {
var r = e(n);
if (r) {
var o = 0 > r;
return void s.removeRange(this.props.documentContent, o ? n + r : n, o ? n : n + r, this.updateDocumentAndCollapseSelection)
}
}
this._removeRange()
},
onDelete: function() {
var e = this.props.selectionState;
e.isCollapsed() ? s.removeCharacterForward(this.props.documentContent, e.getAnchorOffset(), this.updateDocumentAndCollapseSelection) : this._removeRange()
},
onDeleteWord: function() {
var e = this.props.selectionState.getStartOffset(),
t = this.props.documentContent;
return e < t.getText().length && t.getEntities()[e] ? void this.onDelete() : void this._removeTextWithStrategy(function(e) {
var t = this.props.documentContent.getText(),
n = l.getForward(t.slice(e));
return n ? n.length : null
}.bind(this))
},
onDeleteToEndOfBlock: function() {
this._removeTextWithStrategy(function(e) {
var t = this.props.documentContent.getText(),
n = t.indexOf(f, e);
return -1 === n ? n = t.length : n === e && n++, n - e
}.bind(this))
},
onBackspace: function() {
var e = this.props.selectionState;
e.isCollapsed() ? s.removeCharacterBackward(this.props.documentContent, e.getAnchorOffset(), this.updateDocumentAndCollapseSelection) : this._removeRange()
},
onBackspaceWord: function() {
var e = this.props.selectionState.getStartOffset(),
t = this.props.documentContent;
return e > 0 && t.getEntities()[e - 1] ? void this.onBackspace() : void this._removeTextWithStrategy(function(e) {
var t = this.props.documentContent.getText(),
n = l.getBackward(t.slice(0, e));
return n ? -n.length : null
}.bind(this))
},
onBackspaceToEndOfBlock: function() {
this._removeTextWithStrategy(function(e) {
var t = this.props.documentContent.getText(),
n = t.slice(0, e).lastIndexOf(f);
return -1 === n ? n = 0 : e - 1 > n && n++, n - e
}.bind(this))
},
moveSelectionToStartOfBlock: function() {
this._moveSelectionToBlockEndpoint(!0)
},
moveSelectionToEndOfBlock: function() {
this._moveSelectionToBlockEndpoint(!1)
},
_moveSelectionToBlockEndpoint: function(e) {
for (var t = this.props.documentContent, n = this.props.selectionState.getStartOffset(), r = t.getText(), o = e ? r.substr(0, n).split("").reverse().join("") : r.substr(n), i = o.length, a = 0; a < o.length; a++)
if (o[a] === f || o[a] === m) {
i = a;
break
}
if (i > 0) {
var s = e ? n - i : n + i;
t.bumpVersion(), this.updateDocument(s, s)
}
},
_removeRange: function() {
var e = this.props.selectionState;
s.removeRange(this.props.documentContent, e.getStartOffset(), e.getEndOffset(), this.updateDocumentAndCollapseSelection)
},
onReturn: function(e) {
e.shiftKey ? this.onInsertSoftNewline() : this.onInsertNewline()
},
onInsertSoftNewline: function() {
this.onCharacters(m)
},
onInsertNewline: function() {
this.onCharacters(f)
},
onTransposeCharacters: function() {
var e = this.props.selectionState,
t = e.getStartOffset(),
n = this.props.documentContent.getText();
e.isCollapsed() && 0 !== t && t !== n.length && s.moveText(this.props.documentContent, t - 1, t, t + 1, this.updateDocumentAndCollapseSelection)
},
onCharacters: function(e) {
var t, n = this.props.selectionState;
t = null != this.state.inlineStyleOverride ? this.state.inlineStyleOverride : d(this.props.documentContent, n), s.replaceText(this.props.documentContent, e, t, null, n.getStartOffset(), n.getEndOffset(), this.updateDocumentAndCollapseSelection)
},
onAlter: function(e, t, n) {
var r = this.props.selectionState.getEndOffset(),
o = e,
i = e + t.length;
s.replaceText(this.props.documentContent, n, p(this.props.documentContent, o), null, o, i, function() {
r !== o + n.length && (r += n.length - t.length), this.updateDocument(r, r)
}.bind(this))
},
onDropSelection: function(e) {
var t = this.props.selectionState;
s.moveText(this.props.documentContent, t.getStartOffset(), t.getEndOffset(), e, this.updateDocument)
},
onDropText: function(e, t) {
this._insertTextAtOffset(e, t)
},
onDropFiles: function(e, t) {
this.props.handleDroppedFiles && this.props.handleDroppedFiles(e, t) || h(t, function(t) {
t && this._insertTextAtOffset(e, t)
}.bind(this))
},
onPasteFiles: function(e) {
if (!this.props.handlePastedFiles || !this.props.handlePastedFiles(e)) {
var t = this.props.selectionState.getStartOffset();
h(e, function(e) {
e && this._insertTextAtOffset(t, e)
}.bind(this))
}
},
_insertTextAtOffset: function(e, t) {
var n = this.props.documentContent;
s.replaceText(n, t, p(n, e), null, e, e, this.updateDocument)
}
};
o.exports = g
}), __d("DocumentCommands", [], function(e, t, n, r, o) {
var i = t("keyMirror"),
a = i({
UNDO: !0,
REDO: !0,
DELETE: !0,
DELETE_WORD: !0,
DELETE_TO_END_OF_BLOCK: !0,
BACKSPACE: !0,
BACKSPACE_WORD: !0,
BACKSPACE_TO_END_OF_BLOCK: !0,
BOLD: !0,
ITALIC: !0,
UNDERLINE: !0,
CODE: !0,
INSERT_BLOCK_DELIMITER: !0,
TRANSPOSE_CHARACTERS: !0,
MOVE_SELECTION_TO_START_OF_BLOCK: !0,
MOVE_SELECTION_TO_END_OF_BLOCK: !0
});
o.exports = a
}), __d("DocumentModifier", [], function(e, t, n, r, o) {
function i() {
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
return Array.prototype.concat.apply(C, e)
}
function a(e, t) {
return null != t && (e = e.substr(0, t)), e.split(S).length
}
function s(e, t, n) {
t = t.filter(_.thatReturnsArgument), t.length && (e.addForwardTransaction(t), l(e, t, !0, n))
}
function l(e, t, n, r) {
if (t.length) {
for (var o, i, a, s = e.getData(), l = 0; l < t.length; l++) n ? (o = t[l], i = o.from, a = o.to) : (o = t[t.length - 1 - l], i = o.to, a = o.from), u(s, i, a);
e.update(s.text, s.inlines, s.blocks, s.entities), r(a.start, a.end)
}
}
function u(e, t, n) {
var r = t.start,
o = t.end,
i = e.text.slice(0, r),
s = e.text.slice(o);
if (void 0 !== t.text && void 0 !== n.text && (e.text = i + n.text + s), void 0 !== t.inlines && void 0 !== n.inlines) {
var l = e.inlines.slice(0, r),
u = e.inlines.slice(o);
e.inlines = l.concat(n.inlines, u)
}
if (void 0 !== t.blocks && void 0 !== n.blocks) {
var c = a(i) - 1,
d = e.blocks.slice(0, c),
p = e.blocks.slice(c + t.blocks.length);
e.blocks = d.concat(n.blocks, p)
}
if (void 0 !== t.entities && void 0 !== n.entities) {
var h = e.entities.slice(0, r),
f = e.entities.slice(o);
e.entities = h.concat(n.entities, f)
}
}
function c(e, t, n, r) {
var o = v(e, t, n),
i = m.removeText(e, o.start, o.end);
s(e, [i], r)
}
var d = t("ComposedBlockType"),
p = t("ComposedEntityMutability"),
h = t("DocumentCharacters"),
f = t("DocumentEntity"),
m = t("DocumentModifierDiffs"),
g = t("DocumentRemovalDirection"),
_ = t("emptyFunction"),
y = t("fillArray"),
v = t("getCharacterRemovalRange"),
S = h.BLOCK_DELIMITER,
w = p.MUTABLE,
b = g.FORWARD,
R = g.BACKWARD,
C = [],
E = {
insertFragment: function(e, t, n, r, o) {
var a = t.entities,
l = !0,
u = e.getEntities(),
c = u[n - 1],
d = u[r];
if (c && c === d) {
var p = f.get(c);
p.getMutability() === w && void 0 === a && (a = y(t.text.length, c), l = !1)
}
var h = null;
l && (h = m.removeEntities(e, n, r));
var g = m.removeText(e, n, r),
_ = e.getBlockStylesAroundRange(n, n)[0],
v = m.insertText(e, n, t.text, t.inlines, a || y(t.text.length, null), [_].concat(t.blocks.slice(1))),
S = i(h, g, v);
s(e, S, o)
},
applyEntity: function(e, t, n, r, o) {
var a = m.removeEntities(e, n, r),
l = null;
null !== t && (l = m.setEntity(e, n, r, t));
var u = i(a, l);
s(e, u, o)
},
removeCharacterBackward: function(e, t, n) {
t > 0 && c(e, t, R, n)
},
removeCharacterForward: function(e, t, n) {
t < e.getText().length && c(e, t, b, n)
},
removeRange: function(e, t, n, r) {
var o = m.removeEntities(e, t, n),
a = m.removeText(e, t, n);
s(e, i(o, a), r)
},
moveText: function(e, t, n, r, o) {
var a = m.removeEntities(e, t, n),
l = m.removeText(e, t, n),
u = null;
l && (u = m.insertText(e, r, l.from.text, l.from.inlines, y(l.from.text.length, null), l.from.blocks), r > t && l && m.shiftDiff(u, -l.from.text.length));
var c = i(a, l, u);
s(e, c, o)
},
replaceText: function(e, t, n, r, o, i, s) {
var l = e.getBlockStylesAroundRange(o, o)[0],
u = {
text: t,
inlines: y(t.length, n),
entities: r ? y(t.length, r) : void 0,
blocks: y(a(t), l)
};
E.insertFragment(e, u, o, i, s)
},
resetBlock: function(e, t, n) {
var r, o = e.getText(),
a = o.slice(0, t).lastIndexOf(S);
r = -1 === a ? 0 : a + 1;
var l = o.indexOf(S, r); - 1 === l && (l = o.length);
var u = m.removeEntities(e, r, l),
c = m.removeText(e, r, l),
p = m.setBlockStyle(e, r, r, d.UNSTYLED);
s(e, i(u, c, p), n)
},
applyBlockStyle: function(e, t, n, r, o) {
s(e, [m.setBlockStyle(e, n, r, t)], o)
},
applyInlineStyle: function(e, t, n, r, o) {
s(e, [m.addInlineStyle(e, n, r, t)], o)
},
removeInlineStyle: function(e, t, n, r, o) {
s(e, [m.removeInlineStyle(e, n, r, t)], o)
},
undo: function(e, t) {
l(e, e.getUndoDiffs(), !1, t)
},
redo: function(e, t) {
l(e, e.getRedoDiffs(), !0, t)
}
};
o.exports = E
}), __d("ComposedEntityMutability", [], function(e, t, n, r, o) {
"use strict";
var i = {
MUTABLE: 0,
IMMUTABLE: 1,
SEGMENTED: 2
};
o.exports = i
}), __d("DocumentEntity", [], function(e, t, n, r, o) {
var i = t("DocumentEntityInstance"),
a = t("invariant"),
s = {},
l = 0,
u = {
create: function(e, t, n) {
return u.add(new i(e, t, n))
},
add: function(e) {
return s[++l] = e, l.toString()
},
get: function(e) {
var t = s[e];
return t || a(0, "Unknown DocumentEntity key."), t
}
};
o.exports = u
}), __d("DocumentEntityInstance", [], function(e, t, n, r, o) {
function i(e, t, n) {
"use strict";
l(d, e) || c(0, "Invalid DocumentEntityType."), l(p, t) || c(0, "Invalid ComposedEntityMutability type."), this.$DocumentEntityInstance_type = e, this.$DocumentEntityInstance_mutability = t, this.$DocumentEntityInstance_data = n
}
var a = t("ComposedEntityMutability"),
s = t("ComposedEntityType"),
l = t("arrayContains"),
u = t("getObjectValues"),
c = t("invariant"),
d = u(s),
p = u(a);
i.prototype.getType = function() {
"use strict";
return this.$DocumentEntityInstance_type
}, i.prototype.getMutability = function() {
"use strict";
return this.$DocumentEntityInstance_mutability
}, i.prototype.getData = function() {
"use strict";
return this.$DocumentEntityInstance_data
}, i.prototype.replaceData = function(e) {
"use strict";
this.$DocumentEntityInstance_data = e
}, o.exports = i
}), __d("DocumentModifierDiffs", [], function(e, t, n, r, o) {
function i(e, t, n) {
var r = e.getEntities().slice(t, n),
o = {};
return r.forEach(function(e) {
e && (o[e] = !0)
}), Object.keys(o)
}
var a = t("fillArray"),
s = t("flattenArray"),
l = t("getDocumentEntityRemovalDiffs"),
u = [],
c = {
removeText: function(e, t, n) {
if (t === n) return null;
var r = e.getBlockStylesAroundRange(t, n);
return {
from: {
text: e.getText().slice(t, n),
entities: e.getEntities().slice(t, n),
inlines: e.getInlineStyles().slice(t, n),
blocks: r,
start: t,
end: n
},
to: {
text: "",
inlines: u,
entities: u,
blocks: r.slice(0, 1),
start: t,
end: t
}
}
},
insertText: function(e, t, n, r, o, i) {
if (0 === n.length) return null;
var a = e.getBlockStylesAroundRange(t, t);
return {
from: {
text: "",
inlines: u,
entities: u,
blocks: a,
start: t,
end: t
},
to: {
text: n,
inlines: r,
entities: o,
blocks: a.concat(i.slice(1)),
start: t,
end: t + n.length
}
}
},
removeEntities: function(e, t, n) {
if (t === n) {
var r = e.getEntities(),
o = r[t - 1];
o && o === r[t] && t--
}
var a = i(e, t, n);
return s(a.map(function(r) {
return l(e, r, t, n)
}))
},
setEntity: function(e, t, n, r) {
for (var o = e.getEntities().slice(t, n), i = !1, s = 0; s < o.length; s++)
if (o[s] !== r) {
i = !0;
break
}
return i ? {
from: {
entities: o,
start: t,
end: n
},
to: {
entities: a(n - t, r),
start: t,
end: n
}
} : null
},
setBlockStyle: function(e, t, n, r) {
var o = e.getBlockStylesAroundRange(t, n);
return {
from: {
blocks: o,
start: t,
end: n
},
to: {
blocks: a(o.length, r),
start: t,
end: n
}
}
},
removeInlineStyle: function(e, t, n, r) {
return this._changeInlineStyle(e, t, n, r, !1)
},
addInlineStyle: function(e, t, n, r) {
return this._changeInlineStyle(e, t, n, r, !0)
},
_changeInlineStyle: function(e, t, n, r, o) {
var i = !1,
a = e.getInlineStyles().slice(t, n),
s = a.map(function(e) {
var t = o ? e | r : e & ~r;
return i || t === e || (i = !0), t
});
return i ? {
from: {
inlines: a,
start: t,
end: n
},
to: {
inlines: s,
start: t,
end: n
}
} : void 0
},
shiftDiff: function(e, t) {
e.from.start += t, e.from.end += t, e.to.start += t, e.to.end += t
}
};
o.exports = c
}), __d("flattenArray", [], function(e, t, n, r, o) {
function i(e) {
for (var t = e.slice(), n = []; t.length;) {
var r = t.pop();
Array.isArray(r) ? Array.prototype.push.apply(t, r) : n.push(r)
}
return n.reverse()
}
o.exports = i
}), __d("getDocumentEntityRemovalDiffs", [], function(e, t, n, r, o) {
function i(e, t, n, r) {
var o = s.get(t),
i = d(e, t),
l = o.getMutability();
return i = i.filter(function(e) {
return u(n, r, e.start, e.end)
}), i.map(l === p ? function(t) {
return a(e, Math.max(t.start, n), Math.min(t.end, r))
} : function(t) {
return a(e, t.start, t.end)
})
}
function a(e, t, n) {
var r = e.getEntities().slice(t, n);
return {
from: {
entities: r,
start: t,
end: n
},
to: {
entities: c(r.length, null),
start: t,
end: n
}
}
}
var s = t("DocumentEntity"),
l = t("ComposedEntityMutability"),
u = t("checkRangeOverlap"),
c = t("fillArray"),
d = t("getRangesForDocumentEntity"),
p = l.MUTABLE;
o.exports = i
}), __d("checkRangeOverlap", [], function(e, t, n, r, o) {
function i(e, t, n, r) {
return t >= e && r >= n || a(0, "Start of range must be before or equal to end of range."), r > e && t > n
}
var a = t("invariant");
o.exports = i
}), __d("getRangesForDocumentEntity", [], function(e, t, n, r, o) {
function i(e, t) {
var n = [];
return a(e.getEntities(), function(e) {
return e === t
}, function(e, t) {
n.push({
start: e,
end: t
})
}), n.length || s(0, "Entity key not found in this range."), n
}
var a = t("findRanges"),
s = t("invariant");
o.exports = i
}), __d("findRanges", [], function(e, t, n, r, o) {
function i(e, t, n) {
for (var r, o = 0, i = 0, a = 0; a < e.length; a++) i++, r = e[a], r !== e[a + 1] && (t(r) && n(o, i), o = i)
}
o.exports = i
}), __d("DocumentRemovalDirection", [], function(e, t, n, r, o) {
var i = {
BACKWARD: 0,
FORWARD: 1
};
o.exports = i
}), __d("getCharacterRemovalRange", [], function(e, t, n, r, o) {
function i(e, t, n) {
var r = e.getText(),
o = t - (n === f ? 1 : 0),
i = r.charCodeAt(o),
s = o,
u = o + 1;
if (c.isCodeUnitInSurrogateRange(i)) {
var _;
n === f ? (s--, _ = r.charCodeAt(s)) : (u++, _ = r.charCodeAt(u)), c.isCodeUnitInSurrogateRange(_) || h(0, "Cursor position cannot be between two units of a surrogate pair via normal browser interaction.")
}
var y = e.getEntities()[s];
if (!y) return {
start: s,
end: u
};
var v = a.get(y),
S = v.getMutability();
if (S === m) return {
start: s,
end: u
};
var w = p(e, y).filter(function(e) {
return d(s, u, e.start, e.end)
});
1 != w.length && h(0, "There should only be one entity range within this removal range.");
var b = w[0];
return S === g ? b : l.getRemovalRange(s, u, e.getText().slice(b.start, b.end), b.start, n)
}
var a = t("DocumentEntity"),
s = t("ComposedEntityMutability"),
l = t("DocumentEntitySegments"),
u = t("DocumentRemovalDirection"),
c = t("UnicodeUtils"),
d = t("checkRangeOverlap"),
p = t("getRangesForDocumentEntity"),
h = t("invariant"),
f = u.BACKWARD,
m = s.MUTABLE,
g = s.IMMUTABLE;
o.exports = i
}), __d("DocumentEntitySegments", [], function(e, t, n, r, o) {
var i = t("DocumentRemovalDirection"),
a = (t("invariant"), i.FORWARD),
s = {
getRemovalRange: function(e, t, n, r, o) {
var i = n.split(" ");
i = i.map(function(e, t) {
if (o === a) {
if (t > 0) return " " + e
} else if (t < i.length - 1) return e + " ";
return e
});
for (var s, l, u = r, c = 0; c < i.length; c++) {
if (l = i[c], s = u + l.length, s > e && t > u) return i.length > 1 && (o === a ? 0 === c && s++ : c === i.length - 1 && u--), {
start: u,
end: s
};
u = s
}
}
};
o.exports = s
}), __d("UnicodeUtils", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
return e >= h && f >= e
}
function a(e) {
return m.test(e)
}
function s(e, t) {
return 1 + i(e.charCodeAt(t))
}
function l(e) {
if (!a(e)) return e.length;
for (var t = 0, n = 0; n < e.length; n += s(e, n)) t++;
return t
}
function u(e, t, n) {
if (t = t || 0, n = void 0 === n ? 1 / 0 : n || 0, !a(e)) return e.substr(t, n);
var r = e.length;
if (0 >= r || t > r || 0 >= n) return "";
var o = 0;
if (t > 0) {
for (; t > 0 && r > o; t--) o += s(e, o);
if (o >= r) return ""
} else if (0 > t) {
for (o = r; 0 > t && o > 0; t++) o -= s(e, o - 1);
0 > o && (o = 0)
}
var i = r;
if (r > n)
for (i = o; n > 0 && r > i; n--) i += s(e, i);
return e.substring(o, i)
}
function c(e, t, n) {
t = t || 0, n = void 0 === n ? 1 / 0 : n || 0, 0 > t && (t = 0), 0 > n && (n = 0);
var r = Math.abs(n - t);
return t = n > t ? t : n, u(e, t, r)
}
function d(e) {
for (var t = [], n = 0; n < e.length; n += s(e, n)) {
var r = p.codePointAt.call(e, n);
t.push(r)
}
return t
}
var p = t("ES6StringUtils"),
h = 55296,
f = 57343,
m = /[\uD800-\uDFFF]/,
g = {
isCodeUnitInSurrogateRange: i,
strlen: l,
substr: u,
substring: c,
getCodePoints: d
};
o.exports = g
}), __d("ES6StringUtils", [], function(e, t, n, r, o) {
var i = {
fromCodePoint: function() {
for (var e = [], t = 0, n = arguments.length; n > t; t++) e.push(arguments[t]);
if (String.fromCodePoint) return String.fromCodePoint.apply(this, e);
for (var r = [], o = 0; o < e.length; o++) {
var i = Number(e[o]);
if (!isFinite(i) || 0 > i || i > 1114111 || Math.floor(i) != i) throw RangeError("Invalid code point: " + e[o]);
65536 > i ? r.push(String.fromCharCode(i)) : (i -= 65536, r.push(String.fromCharCode((i >> 10) + 55296), String.fromCharCode(i % 1024 + 56320)))
}
return r.join("")
},
codePointAt: function(e) {
"use strict";
if (String.prototype.codePointAt) return String.prototype.codePointAt.call(this, e);
if (null === this || void 0 === this) throw TypeError("Invalid context: " + this);
var t = String(this),
n = t.length;
if (e = e ? Number(e) : 0, e != e && (e = 0), 0 > e || e >= n) return void 0;
var r = t.charCodeAt(e);
if (r >= 55296 && 56319 >= r && n > e + 1) {
var o = t.charCodeAt(e + 1);
if (o >= 56320 && 57343 >= o) return 1024 * (r - 55296) + o - 56320 + 65536
}
return r
}
};
o.exports = i
}), __d("DocumentRemovableWord", [], function(e, t, n, r, o) {
function i(e, t) {
var n = t ? p.exec(e) : c.exec(e);
return n ? n[0] : null
}
var a = t("TokenizeUtil"),
s = a.getPunctuation();
s = s.replace("'", "").slice(1, -1);
var l = "\\s" + s,
u = "^([" + l + "]*[^" + l + "]+|[" + l + "]+)",
c = new RegExp(u),
d = "([^" + l + "]+[" + l + "]*|[" + l + "]+)$",
p = new RegExp(d),
h = {
getBackward: function(e) {
return i(e, !0)
},
getForward: function(e) {
return i(e, !1)
}
};
o.exports = h
}), __d("TokenizeUtil", [], function(e, t, n, r, o) {
function i() {
return "[.,+*?$|#{}()'\\^\\-\\[\\]\\\\\\/!@%\"~=<>_:;・、。〈-】〔-〟:-?!-/[-`{-・⸮؟٪-٬؛،؍﴾﴿᠁।၊။‐-‧‰-⁞¡-±´-¸º»¿]"
}
function a(e) {
return e ? e.replace(f, " ") : ""
}
function s(e) {
e = e.toLowerCase();
for (var t = "", n = "", r = e.length; r--;) n = e.charAt(r), t = (m[n] || n) + t;
return t.replace(p, " ")
}
function l(e) {
for (var t = [], n = h.exec(e); n;) n = n[0], t.push(n), n = h.exec(e);
return t
}
function u(e, t) {
if (!S.hasOwnProperty(e)) {
var n = s(e),
r = a(n);
S[e] = {
value: e,
flatValue: n,
tokens: l(r),
isPrefixQuery: r && " " != r[r.length - 1]
}
}
return t && "undefined" == typeof S[e].sortedTokens && (S[e].sortedTokens = S[e].tokens.slice(), S[e].sortedTokens.sort(function(e, t) {
return t.length - e.length
})), S[e]
}
function c(e, t, n) {
var r = u(t, "prefix" == e),
o = "prefix" == e ? r.sortedTokens : r.tokens,
i = u(n).tokens,
a = {},
s = r.isPrefixQuery && "query" == e ? o.length - 1 : null,
l = function(t, n) {
for (var r = 0; r < i.length; ++r) {
var o = i[r];
if (!a[r] && (o == t || ("query" == e && n === s || "prefix" == e) && 0 === o.indexOf(t))) return a[r] = !0
}
return !1
};
return Boolean(o.length && o.every(l))
}
var d = t("repeatString"),
p = /[ ]+/g,
h = /[^ ]+/g,
f = new RegExp(i(), "g"),
m = {},
g = {
a: "а à á â ã ä å ā",
b: "б",
c: "ц ç č",
d: "д ð ď đ",
e: "э е è é ê ë ě ē",
f: "ф",
g: "г ğ ģ",
h: "х ħ",
i: "и ì í î ï ı ī",
j: "й",
k: "к ĸ ķ",
l: "л ľ ĺ ŀ ł ļ",
m: "м",
n: "н ñ ň ʼn ŋ ņ",
o: "о ø ö õ ô ó ò",
p: "п",
r: "р ř ŕ",
s: "с ş š ſ",
t: "т ť ŧ þ",
u: "у ю ü û ú ù ů ū",
v: "в",
y: "ы ÿ ý",
z: "з ž",
ae: "æ",
oe: "œ",
ts: "ц",
ch: "ч",
ij: "ij",
sh: "ш",
ss: "ß",
ya: "я"
};
for (var _ in g)
for (var y = g[_].split(" "), v = 0; v < y.length; v++) m[y[v]] = _;
var S = {},
w = {
flatten: s,
parse: u,
getPunctuation: i,
isExactMatch: c.bind(null, "exact"),
isQueryMatch: c.bind(null, "query"),
isPrefixMatch: c.bind(null, "prefix"),
tokenize: l
};
__DEV__ && (w.generateFlattenInfo = function() {
var e = {},
t = "",
n = "";
for (var r in m) {
e[r] = m[r];
var o = r.toUpperCase();
/[A-Z]/.test(o) || (e[o] = e[r])
}
for (var i in e) {
var a = i.charCodeAt(0).toString(16),
s = "\\u" + d("0", 4 - a.length) + a;
t += s, n += e[i]
}
return {
map: e,
input: t,
output: n
}
}), o.exports = w
}), __d("repeatString", [], function(e, t, n, r, o) {
function i(e, t) {
if (1 === t) return e;
t >= 0 || a(0, "Can not repeat by negative number: %s", t);
for (var n = ""; t;) 1 & t && (n += e), (t >>= 1) && (e += e);
return n
}
var a = t("invariant");
o.exports = i
}), __d("getActiveElement", [], function(e, t, n, r, o) {
function i() {
try {
return document.activeElement || document.body
} catch (e) {
return document.body
}
}
o.exports = i
}), __d("getCurrentInlineStyle", [], function(e, t, n, r, o) {
function i(e, t) {
if (!t.hasFocus()) return a;
var n = t.getStartOffset();
return t.isCollapsed() ? s(e, n) : e.getInlineStyles()[n] || a
}
var a = t("ComposedInlineStyle").NONE,
s = t("getCurrentInlineStyleForOffset");
o.exports = i
}), __d("getCurrentInlineStyleForOffset", [], function(e, t, n, r, o) {
function i(e, t) {
var n = e.getText().length,
r = e.getInlineStyles();
return 0 === t ? t = 0 : t === n + 1 ? t = n - 1 : t -= 1, r[t] || a
}
var a = t("ComposedInlineStyle").NONE;
o.exports = i
}), __d("getTextContentFromFiles", [], function(e, t, n, r, o) {
function i(e, t) {
var n = 0,
r = [];
e.forEach(function(o) {
a(o, function(o) {
n++, o && r.push(o), n == e.length && t(r.join(l))
})
})
}
function a(t, n) {
if (!e.FileReader || t.type && !(t.type in c)) return void n("");
if ("" === t.type && u.test(t.name)) return void n(t.name.replace(u, ""));
var r = new FileReader;
r.onload = function() {
n(r.result)
}, r.onerror = function() {
n("")
}, r.readAsText(t)
}
var s = t("DocumentCharacters"),
l = s.BLOCK_DELIMITER,
u = /\.textClipping$/,
c = {
"text/plain": !0,
"text/html": !0,
"text/rtf": !0
};
o.exports = i
}), __d("getDefaultKeyBinding", [], function(e, t, n, r, o) {
function i(e) {
return e.ctrlKey && !e.altKey
}
function a(e) {
return m ? e.metaKey && !e.altKey : i(e)
}
function s(e) {
return m ? e.altKey : i(e)
}
function l(e) {
return a(e) ? e.shiftKey ? p.REDO : p.UNDO : void 0
}
function u(e) {
return g && e.shiftKey ? null : s(e) ? p.DELETE_WORD : p.DELETE
}
function c(e) {
return a(e) && m ? p.BACKSPACE_TO_END_OF_BLOCK : s(e) ? p.BACKSPACE_WORD : p.BACKSPACE
}
function d(e) {
switch (e.keyCode) {
case 66:
return a(e) ? p.BOLD : null;
case 68:
return i(e) ? p.DELETE : null;
case 72:
return i(e) ? p.BACKSPACE : null;
case 73:
return a(e) ? p.ITALIC : null;
case 74:
return a(e) ? p.CODE : null;
case 75:
return i(e) ? p.DELETE_TO_END_OF_BLOCK : null;
case 79:
return i(e) ? p.INSERT_BLOCK_DELIMITER : null;
case 84:
return i(e) ? p.TRANSPOSE_CHARACTERS : null;
case 85:
return a(e) ? p.UNDERLINE : null;
case 90:
return l(e) || null;
case h.DELETE:
return u(e);
case h.BACKSPACE:
return c(e);
case h.LEFT:
return y && a(e) ? p.MOVE_SELECTION_TO_START_OF_BLOCK : null;
case h.RIGHT:
return y && a(e) ? p.MOVE_SELECTION_TO_END_OF_BLOCK : null;
default:
return null
}
}
var p = t("DocumentCommands"),
h = t("Keys"),
f = t("UserAgent"),
m = f.osx(),
g = f.windows(),
_ = f.firefox(),
y = m && _ && 29 > _;
o.exports = d
}), __d("getEntityMatcher", [], function(e, t, n, r, o) {
function i(e, t) {
return t = t || a.get,
function(n, r) {
s(n.getEntities(), function(n) {
return null !== n && e(t(n))
}, r)
}
}
var a = t("DocumentEntity"),
s = t("findRanges");
o.exports = i
}), __d("getHashtagMatches", [], function(e, t, n, r, o) {
function i(e, t) {
for (var n, r, o, i, a = e.getText(); null !== (n = s.exec(a));) r = n.index + n[1].length, o = n[2], i = n[3], t(r, r + o.length + i.length)
}
var a = t("getHashtagRegex"),
s = a();
o.exports = i
}), __d("getHashtagRegex", [], function(e, t, n, r, o) {
function i() {
var e = "À-ÖØ-öø-ÿĀ-ɏɓ-ɔɖ-ɗəɛɣɨɯɲʉʋʻ̀-ͯḀ-ỿ",
t = "Ѐ-ӿԀ-ԧⷠ-ⷿꙀ-֑ꚟ-ֿׁ-ׂׄ-ׇׅא-תװ-״﬒-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﭏؐ-ؚؠ-ٟٮ-ۓە-ۜ۞-۪ۨ-ۯۺ-ۼۿݐ-ݿࢠࢢ-ࢬࣤ-ࣾﭐ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼ‌-‌ก-ฺเ-๎ᄀ-ᇿ㄰-ㆅꥠ-꥿가-힯ힰ-퟿ᄀ-ᅵ",
n = String.fromCharCode,
r = "ァ-ヺー-ヾヲ-゚0-9A-Za-zぁ-ゖ゙-ゞ㐀-䶿一-鿿" + n(173824) + "-" + n(177983) + n(177984) + "-" + n(178207) + n(194560) + "-" + n(195103) + "〃々〻",
o = e + t + r,
i = "A-Za-zªµºÀ-ÖØ-öø-Ɂɐ-ˁˆ-ˑˠ-ˤˮͺΆΈ-ΊΌΎ-ΡΣ-ώϐ-ϵϷ-ҁҊ-ӎӐ-ӹԀ-ԏԱ-Ֆՙա-ևא-תװ-ײء-غـ-يٮ-ٯٱ-ۓەۥ-ۦۮ-ۯۺ-ۼۿܐܒ-ܯݍ-ݭހ-ޥޱऄ-हऽॐक़-ॡॽঅ-ঌএ-ঐও-নপ-রলশ-হঽৎড়-ঢ়য়-ৡৰ-ৱਅ-ਊਏ-ਐਓ-ਨਪ-ਰਲ-ਲ਼ਵ-ਸ਼ਸ-ਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલ-ળવ-હઽૐૠ-ૡଅ-ଌଏ-ଐଓ-ନପ-ରଲ-ଳଵ-ହଽଡ଼-ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கங-சஜஞ-டண-தந-பம-ஹఅ-ఌఎ-ఐఒ-నప-ళవ-హౠ-ౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠ-ೡഅ-ഌഎ-ഐഒ-നപ-ഹൠ-ൡඅ-ඖක-නඳ-රලව-ෆก-ะา-ำเ-ๆກ-ຂຄງ-ຈຊຍດ-ທນ-ຟມ-ຣລວສ-ຫອ-ະາ-ຳຽເ-ໄໆໜ-ໝༀཀ-ཇཉ-ཪྈ-ྋက-အဣ-ဧဩ-ဪၐ-ၕႠ-Ⴥა-ჺჼᄀ-ᅙᅟ-ᆢᆨ-ᇹሀ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙶᚁ-ᚚᚠ-ᛪᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦩᧁ-ᧇᨀ-ᨖᴀ-ᶿḀ-ẛẠ-ỹἀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₔℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℱℳ-ℹℼ-ℿⅅ-ⅉⰀ-Ⱞⰰ-ⱞⲀ-ⳤⴀ-ⴥⴰ-ⵥⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〆〱-〵〻-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄬㄱ-ㆎㆠ-ㆷㇰ-ㇿ㐀-䶵一-龻ꀀ-ꒌꠀ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢ가-힣豈-鶴侮-頻並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",
a = "̀-ͯ҃-֑҆-ֹֻ-ֽֿׁ-ׂׄ-ׇׅؐ-ًؕ-ٰٞۖ-ۜ۟-ۤۧ-۪ۨ-ܑۭܰ-݊ަ-ްँ-ः़ा-्॑-॔ॢ-ॣঁ-ঃ়া-ৄে-ৈো-্ৗৢ-ৣਁ-ਃ਼ਾ-ੂੇ-ੈੋ-੍ੰ-ੱઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣଁ-ଃ଼ା-ୃେ-ୈୋ-୍ୖ-ୗஂா-ூெ-ைொ-்ௗఁ-ఃా-ౄె-ైొ-్ౕ-ౖಂ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕ-ೖം-ഃാ-ൃെ-ൈൊ-്ൗං-ඃ්ා-ුූෘ-ෟෲ-ෳัิ-ฺ็-๎ັິ-ູົ-ຼ່-ໍ༘-༹༙༵༷༾-༿ཱ-྄྆-྇ྐ-ྗྙ-ྼ࿆ာ-ဲံ-္ၖ-ၙ፟ᜒ-᜔ᜲ-᜴ᝒ-ᝓᝲ-ᝳា-៓៝᠋-᠍ᢩᤠ-ᤫᤰ-᤻ᦰ-ᧀᧈ-ᧉᨗ-ᨛ᷀-᷃⃐-⃥⃜⃡-⃫〪-゙〯-゚ꠂ꠆ꠋꠣ-ꠧﬞ︀-️︠-︣",
s = "0-9٠-٩۰-۹०-९০-৯੦-੯૦-૯୦-୯௦-௯౦-౯೦-೯൦-൯๐-๙໐-໙༠-༩၀-၉០-៩᠐-᠙᥆-᥏᧐-᧙0-9",
l = i + a + o,
u = s + "_",
c = l + u,
d = "[" + l + "]",
p = "[" + c + "]",
h = "^|$|[^&" + c + "]",
f = "[#\\uFF03]",
m = "(" + h + ")(" + f + ")(" + p + "*" + d + p + "*)";
return new RegExp(m, "ig")
}
o.exports = i
}), __d("MentionsInputTypeaheadView.react", [], function(e, t, n, r, o) {
"use strict";
var i = t("Image"),
a = t("ReactPropTypes"),
s = t("React"),
l = t("RKDimensions"),
u = t("ScrollView"),
c = t("StyleSheet"),
d = t("TouchableHighlight"),
p = t("TypeaheadViewItem"),
h = t("View"),
f = t("Text"),
m = t("cssVar"),
g = l.get("window").height - 320,
_ = g / 55,
y = 34,
v = s.createClass({
displayName: "MentionsInputTypeaheadViewItem",
mixins: [p.Mixin],
propTypes: p.propTypes,
render: function() {
var e = this.props.entry,
t = e.getPhoto() ? s.createElement(i, {
style: R.profilePicture,
source: {
uri: e.getPhoto()
}
}) : null,
n = null;
return e.getSubtitle() && (n = s.createElement(f, null, e.getSubtitle())), s.createElement(d, {
onPress: this._onSelect
}, s.createElement(h, {
style: R.row
}, t, s.createElement(h, null, s.createElement(f, {
style: R.titleText
}, e.getTitle()), n)))
}
}),
S = s.createClass({
displayName: "MentionsInputTypeaheadView",
propTypes: {
highlightedEntry: a.object,
entries: a.array.isRequired,
onSelect: a.func.isRequired,
onHighlight: a.func,
onRenderHighlight: a.func
},
_renderItem: function(e, t) {
var n = e === this.props.highlightedEntry;
return [0 !== t && s.createElement(h, {
style: R.divider
}), s.createElement(v, {
key: e.getUniqueID(),
entry: e,
highlighted: n,
onSelect: this.props.onSelect,
onHighlight: this.props.onHighlight,
onRenderHighlight: this.props.onRenderHighlight
})]
},
_renderSectionHeader: function(e) {
return s.createElement(h, {
key: e,
style: R.sectionHeader
}, s.createElement(f, {
style: R.sectionHeaderText
}, e))
},
render: function() {
if (this.props.entries.length) {
var e = [],
t = [];
this.props.entries.forEach(function(n) {
n.getAuxiliaryData().isMemberOfGroup ? (0 === e.length && e.push(this._renderSectionHeader("Members")), e.push(this._renderItem(n, e.length - 1))) : (0 === t.length && t.push(this._renderSectionHeader("Others")), t.push(this._renderItem(n, t.length - 1)))
}.bind(this));
var n = this.props.entries.length > _ && {
height: g
};
return s.createElement(h, {
style: R.container,
pointerEvents: h.PointerEvents.boxNone
}, s.createElement(u, {
keyboardShouldPersistTaps: !0,
style: [R.content, n]
}, e, t), this._renderSectionHeader())
}
return s.createElement(h, {
style: R.container
})
}
}),
w = m("fbui-bluegray-5"),
b = m("fbui-bluegray-10"),
R = c.create({
container: {
width: l.get("window").width,
top: 0,
left: 0
},
content: {
backgroundColor: "white"
},
row: {
backgroundColor: "white",
flexDirection: "row",
alignItems: "center"
},
sectionHeader: {
borderTopColor: b,
borderTopWidth: 1,
borderBottomColor: b,
borderBottomWidth: 1,
backgroundColor: w,
padding: 5,
paddingLeft: 9
},
sectionHeaderText: {
fontSize: 12,
fontWeight: "bold"
},
divider: {
height: 1,
marginLeft: 44,
backgroundColor: w
},
titleText: {
fontSize: 17
},
profilePicture: {
width: y,
height: y,
marginVertical: 6,
marginHorizontal: 9,
borderRadius: y / 2
}
});
o.exports = S
}), __d("ScrollView", [], function(e, t, n, r, o) {
"use strict";
var i = t("ArrayOfPropType"),
a = t("React"),
s = t("ReactIOSViewAttributes"),
l = t("ReactIOSTagHandles"),
u = t("NativeModules").RKUIManager.RKScrollView,
c = u.Constants,
d = t("NativeModulesDeprecated").RKUIManager,
p = t("ScrollResponder"),
h = t("ScrollViewPropTypes"),
f = t("StyleSheetPropType"),
m = t("StyleSheet"),
g = t("View"),
_ = t("ViewStylePropTypes"),
y = t("createReactIOSNativeComponentClass"),
v = t("flattenStyle"),
S = t("invariant"),
w = t("merge"),
b = t("nativePropType"),
R = t("validAttributesFromPropTypes"),
C = a.PropTypes,
E = "ScrollView",
D = "InnerScrollView",
x = w(h, {
alwaysBounceHorizontal: b(C.bool),
alwaysBounceVertical: b(C.bool),
bounces: b(C.bool),
bouncesZoom: b(C.bool),
canCancelContentTouches: b(C.bool),
centerContent: b(C.bool),
decelerationRate: b(C.number),
directionalLockEnabled: b(C.bool),
horizontal: C.bool,
indicatorStyle: b(C.oneOf([c.IndicatorStyle.Default, c.IndicatorStyle.Black, c.IndicatorStyle.White])),
innerStyle: f(_),
keyboardDismissMode: b(C.oneOf([c.KeyboardDismissMode.None, c.KeyboardDismissMode.Interactive, c.KeyboardDismissMode.OnDrag])),
keyboardShouldPersistTaps: b(C.bool),
maximumZoomScale: b(C.number),
minimumZoomScale: b(C.number),
pagingEnabled: b(C.bool),
scrollsToTop: b(C.bool),
stickyHeaderIndices: b(i(C.number)),
zoomScale: b(C.number)
}),
F = a.createClass({
displayName: "ScrollView",
statics: {
PropTypes: x
},
propTypes: x,
mixins: [p.Mixin],
getInitialState: function() {
return this.scrollResponderMixinGetInitialState()
},
setNativeProps: function(e) {
this.refs[E].setNativeProps(e)
},
getInnerViewNode: function() {
return this.refs[D].getNodeHandle()
},
scrollTo: function(e, t) {
d.scrollTo(l.rootNodeIDToTag[this._rootNodeID], t, e)
},
render: function() {
var e = [this.props.horizontal && I.innerHorizontal, this.props.innerStyle];
if (__DEV__ && this.props.style) {
var t = v(this.props.style),
n = ["alignItems", "justifyContent"].filter(function(e) {
return void 0 !== t[e]
});
0 !== n.length && S(0, "ScrollView child layout (" + JSON.stringify(n) + ") must by applied through the innerStyle prop.")
}
var r = a.createElement(g, {
ref: D,
style: e
}, this.props.children),
o = w(this.props, {
style: [I.base, this.props.style],
onTouchStart: this.scrollResponderHandleTouchStart,
onTouchMove: this.scrollResponderHandleTouchMove,
onTouchEnd: this.scrollResponderHandleTouchEnd,
onScrollBeginDrag: this.scrollResponderHandleScrollBeginDrag,
onScrollEndDrag: this.scrollResponderHandleScrollEndDrag,
onMomentumScrollBegin: this.scrollResponderHandleMomentumScrollBegin,
onMomentumScrollEnd: this.scrollResponderHandleMomentumScrollEnd,
onStartShouldSetResponder: this.scrollResponderHandleStartShouldSetResponder,
onStartShouldSetResponderCapture: this.scrollResponderHandleStartShouldSetResponderCapture,
onScrollShouldSetResponder: this.scrollResponderHandleScrollShouldSetResponder,
onScroll: this.scrollResponderHandleScroll,
onResponderGrant: this.scrollResponderHandleResponderGrant,
onResponderTerminationRequest: this.scrollResponderHandleTerminationRequest,
onResponderTerminate: this.scrollResponderHandleTerminate,
onResponderRelease: this.scrollResponderHandleResponderRelease,
onResponderReject: this.scrollResponderHandleResponderReject
});
return a.createElement(u, Object.assign({}, o, {
ref: E
}), r)
}
}),
I = m.create({
base: {
flex: 1
},
innerHorizontal: {
alignSelf: "flex-start",
flexDirection: "row"
}
}),
u = y({
validAttributes: w(s.UIView, R(F.propTypes)),
uiViewClassName: "RKScrollView"
});
o.exports = F
}), __d("ArrayOfPropType", [], function(e, t, n, r, o) {
"use strict";
var i = t("ReactPropTypes"),
a = t("deepDiffer"),
s = function(e, t) {
var n = i.arrayOf(e);
return n.differ = t ? t : a, n
};
o.exports = s
}), __d("validAttributesFromPropTypes", [], function(e, t, n, r, o) {
"use strict";
function i(e) {
var t = {};
for (var n in e) {
var r = e[n];
if (r && r.isNative) {
var o = r.differ;
t[n] = o ? {
diff: o
} : !0
}
}
return t
}
o.exports = i
}), __d("TouchableHighlight", [], function(e, t, n, r, o) {
"use strict";
var i = t("AnimationMixin"),
a = t("NativeMethodsMixin"),
s = t("React"),
l = t("ReactIOSViewAttributes"),
u = t("ReactIOSAnimation"),
c = t("Touchable"),
d = t("View"),
p = t("cloneWithProps"),
h = t("keyOf"),
f = t("merge"),
m = t("onlyChild"),
g = {
top: 20,
left: 20,
right: 20,
bottom: 30
},
_ = h({
childRef: null
}),
y = h({
underlayRef: null
}),
v = {
style: {
backgroundColor: "transparent"
}
},
S = {
activeOpacity: .8,
animationVelocity: 1,
underlayColor: "#000000"
},
w = s.createClass({
displayName: "TouchableHighlight",
propTypes: {
onPress: s.PropTypes.func.isRequired,
activeOpacity: s.PropTypes.number,
animationVelocity: s.PropTypes.number,
style: d.stylePropType,
underlayColor: s.PropTypes.string
},
mixins: [i, a, c.Mixin],
getDefaultProps: function() {
return S
},
computeSyntheticState: function(e) {
return {
activeProps: {
style: {
opacity: e.activeOpacity
}
},
activeUnderlayProps: {
style: {
backgroundColor: e.underlayColor
}
},
pressAnim: {
property: u.Properties.opacity,
fromValue: e.activeOpacity,
toValue: 1,
velocity: e.animationVelocity
},
pressOutAnim: {
property: u.Properties.opacity,
toValue: 1,
velocity: e.animationVelocity
},
underlayStyle: [v.style, e.style]
}
},
getInitialState: function() {
return f(this.touchableGetInitialState(), this.computeSyntheticState(this.props))
},
componentWillReceiveProps: function(e) {
(e.activeOpacity !== this.props.activeOpacity || e.animationVelocity !== this.props.activeVelocity || e.underlayColor !== this.props.underlayColor || e.style !== this.props.style) && this.setState(this.computeSyntheticState(e))
},
viewConfig: {
uiViewClassName: "RKView",
validAttributes: l.RKView
},
touchableHandleActivePressIn: function() {
this.stopAllAnimations(), this._showUnderlay(), this.refs[_].setNativeProps(this.state.activeProps)
},
touchableHandleActivePressOut: function() {
this.stopAllAnimations();
var e = u.createSpringAnimation(this.state.pressOutAnim);
this.startAnimation(_, e, this._hideUnderlay)
},
touchableHandlePress: function() {
this.stopAllAnimations(), this._showUnderlay();
var e = u.createSpringAnimation(this.state.pressAnim);
this.startAnimation(_, e, this._hideUnderlay), this.props.onPress && this.props.onPress()
},
touchableGetPressRectOffset: function() {
return g
},
_showUnderlay: function() {
this.refs[y].setNativeProps(this.state.activeUnderlayProps)
},
_hideUnderlay: function() {
this.refs[y] && this.refs[y].setNativeProps(v)
},
render: function() {
return s.createElement(d, {
ref: y,
style: this.state.underlayStyle,
onStartShouldSetResponder: this.touchableHandleStartShouldSetResponder,
onResponderTerminationRequest: this.touchableHandleResponderTerminationRequest,
onResponderGrant: this.touchableHandleResponderGrant,
onResponderMove: this.touchableHandleResponderMove,
onResponderRelease: this.touchableHandleResponderRelease,
onResponderTerminate: this.touchableHandleResponderTerminate
}, p(m(this.props.children), {
ref: _,
accessible: !0,
testID: this.props.testID
}))
}
});
o.exports = w
}), __d("TypeaheadViewItem", [], function(e, t, n, r, o) {
var i = t("React"),
a = t("SearchableEntry"),
s = {
entry: i.PropTypes.instanceOf(a).isRequired,
highlighted: i.PropTypes.bool,
selected: i.PropTypes.bool,
onSelect: i.PropTypes.func.isRequired,
onHighlight: i.PropTypes.func,
onRenderHighlight: i.PropTypes.func
},
l = {
_onSelect: function(e) {
this.props.onSelect(this.props.entry, e)
},
_onHighlight: function(e) {
this.props.onHighlight && this.props.onHighlight(this.props.entry, e)
},
shouldComponentUpdate: function(e) {
return this.props.entry.getUniqueID() !== e.entry.getUniqueID() || this.props.highlighted !== e.highlighted || this.props.selected !== e.selected
},
componentDidMount: function() {
this.props.highlighted && this.props.onRenderHighlight && this.props.onRenderHighlight(this.getDOMNode())
},
componentDidUpdate: function() {
this.props.highlighted && this.props.onRenderHighlight && this.props.onRenderHighlight(this.getDOMNode())
}
};
o.exports = {
propTypes: s,
Mixin: l
}
}), __d("SearchableEntry", [], function(e, t, n, r, o) {
function i(e) {
switch (typeof e) {
case "string":
return e;
case "object":
return "";
default:
return ""
}
}
function a(e) {
"use strict";
(!e.uniqueID || "string" != typeof e.uniqueID && "number" != typeof e.uniqueID) && s(0, "SearchableEntry must include a valid unique ID value, %s provided.", e.uniqueID), e.title && "string" == typeof e.title || s(0, "SearchableEntry must include a valid title string, %s provided.", e.title), this.$SearchableEntry_uniqueID = e.uniqueID + "", this.$SearchableEntry_title = e.title, this.$SearchableEntry_order = e.order || 0, this.$SearchableEntry_subtitle = i(e.subtitle), this.$Searchabl
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment