assets.js.libs.knockout-3.0.0.min.js Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of groupdocs-annotation Show documentation
Show all versions of groupdocs-annotation Show documentation
GroupDocs.Annotation is an HTML5-based document & image annotator designed to be easily integrated into web, mobile and desktop apps.
It allows developers to provide end users with the ability to annotate documents and images of more than 50 file formats,
including PDF and Microsoft Office documents, Visio diagrams, CAD and raster images.
// Knockout JavaScript library v3.0.0
// (c) Steven Sanderson - http://knockoutjs.com/
// License: MIT (http://www.opensource.org/licenses/mit-license.php)
(function () {
(function (q) {
var y = this || (0, eval)("this"), w = y.document, K = y.navigator, u = y.jQuery, B = y.JSON;
(function (q) {
"function" === typeof require && "object" === typeof exports && "object" === typeof module ? q(module.exports || exports) : "function" === typeof define && define.amd ? define(["exports"], q) : q(y.ko = {})
})(function (F) {
function G(a, c) {
return null === a || typeof a in N ? a === c : !1
}
function H(b, c, d, e) {
a.d[b] = {
init: function (b) {
a.a.f.set(b, L, {});
return {controlsDescendantBindings: !0}
}, update: function (b, h, k, m, f) {
k = a.a.f.get(b, L);
h = a.a.c(h());
m = !d !== !h;
var p = !k.ob;
if (p || c || m !== k.Db)p && (k.ob = a.a.Ya(a.e.childNodes(b), !0)), m ? (p || a.e.S(b, a.a.Ya(k.ob)), a.Ta(e ? e(f, h) : f, b)) : a.e.Z(b), k.Db = m
}
};
a.g.Y[b] = !1;
a.e.P[b] = !0
}
var a = "undefined" !== typeof F ? F : {};
a.b = function (b, c) {
for (var d = b.split("."), e = a, g = 0; g < d.length - 1; g++)e = e[d[g]];
e[d[d.length - 1]] = c
};
a.s = function (a, c, d) {
a[c] = d
};
a.version = "3.0.0";
a.b("version", a.version);
a.a = function () {
function b(a, b) {
for (var f in a)a.hasOwnProperty(f) && b(f, a[f])
}
function c(k, b) {
if ("input" !== a.a.v(k) || !k.type || "click" !=
b.toLowerCase())return !1;
var f = k.type;
return "checkbox" == f || "radio" == f
}
var d = {}, e = {};
d[K && /Firefox\/2/i.test(K.userAgent) ? "KeyboardEvent" : "UIEvents"] = ["keyup", "keydown", "keypress"];
d.MouseEvents = "click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" ");
b(d, function (a, b) {
if (b.length)for (var f = 0, c = b.length; f < c; f++)e[b[f]] = a
});
var g = {propertychange: !0}, h = w && function () {
for (var a = 3, b = w.createElement("div"), f = b.getElementsByTagName("i"); b.innerHTML = "\x3c!--[if gt IE " + ++a + "]> a.a.l(c, b[f]) && c.push(b[f]);
return c
}, ha: function (a, b) {
a = a || [];
for (var f = [], c = 0, d = a.length; c < d; c++)f.push(b(a[c]));
return f
}, ga: function (a, b) {
a = a || [];
for (var f = [], c = 0, d = a.length; c < d; c++)b(a[c]) && f.push(a[c]);
return f
}, X: function (a, b) {
if (b instanceof Array)a.push.apply(a, b); else for (var f = 0, c = b.length; f < c; f++)a.push(b[f]);
return a
}, V: function (b, c, f) {
var d = a.a.l(a.a.Ha(b), c);
0 > d ? f && b.push(c) : f || b.splice(d, 1)
}, extend: function (a, b) {
if (b)for (var f in b)b.hasOwnProperty(f) &&
(a[f] = b[f]);
return a
}, K: b, Da: function (a, b) {
if (!a)return a;
var f = {}, c;
for (c in a)a.hasOwnProperty(c) && (f[c] = b(a[c], c, a));
return f
}, wa: function (b) {
for (; b.firstChild;)a.removeNode(b.firstChild)
}, Vb: function (b) {
b = a.a.Q(b);
for (var c = w.createElement("div"), f = 0, d = b.length; f < d; f++)c.appendChild(a.L(b[f]));
return c
}, Ya: function (b, c) {
for (var f = 0, d = b.length, e = []; f < d; f++) {
var g = b[f].cloneNode(!0);
e.push(c ? a.L(g) : g)
}
return e
}, S: function (b, c) {
a.a.wa(b);
if (c)for (var f = 0, d = c.length; f < d; f++)b.appendChild(c[f])
}, nb: function (b,
c) {
var f = b.nodeType ? [b] : b;
if (0 < f.length) {
for (var d = f[0], e = d.parentNode, g = 0, n = c.length; g < n; g++)e.insertBefore(c[g], d);
g = 0;
for (n = f.length; g < n; g++)a.removeNode(f[g])
}
}, $: function (a, b) {
if (a.length) {
for (b = 8 === b.nodeType && b.parentNode || b; a.length && a[0].parentNode !== b;)a.splice(0, 1);
if (1 < a.length) {
var f = a[0], c = a[a.length - 1];
for (a.length = 0; f !== c;)if (a.push(f), f = f.nextSibling, !f)return;
a.push(c)
}
}
return a
}, qb: function (a, b) {
7 > h ? a.setAttribute("selected", b) : a.selected = b
}, la: function (a) {
return null === a || a ===
q ? "" : a.trim ? a.trim() : a.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g, "")
}, ec: function (b, c) {
for (var f = [], d = (b || "").split(c), e = 0, g = d.length; e < g; e++) {
var n = a.a.la(d[e]);
"" !== n && f.push(n)
}
return f
}, ac: function (a, b) {
a = a || "";
return b.length > a.length ? !1 : a.substring(0, b.length) === b
}, Gb: function (a, b) {
if (a === b)return !0;
if (11 === a.nodeType)return !1;
if (b.contains)return b.contains(3 === a.nodeType ? a.parentNode : a);
if (b.compareDocumentPosition)return 16 == (b.compareDocumentPosition(a) & 16);
for (; a && a != b;)a = a.parentNode;
return !!a
}, va: function (b) {
return a.a.Gb(b, b.ownerDocument.documentElement)
}, Ra: function (b) {
return !!a.a.Ua(b, a.a.va)
}, v: function (a) {
return a && a.tagName && a.tagName.toLowerCase()
}, r: function (b, d, f) {
var e = h && g[d];
if (e || "undefined" == typeof u)if (e || "function" != typeof b.addEventListener)if ("undefined" != typeof b.attachEvent) {
var s = function (a) {
f.call(b, a)
}, l = "on" + d;
b.attachEvent(l, s);
a.a.C.ea(b, function () {
b.detachEvent(l, s)
})
} else throw Error("Browser doesn't support addEventListener or attachEvent"); else b.addEventListener(d,
f, !1); else {
if (c(b, d)) {
var n = f;
f = function (a, b) {
var f = this.checked;
b && (this.checked = !0 !== b.Ab);
n.call(this, a);
this.checked = f
}
}
u(b).bind(d, f)
}
}, da: function (a, b) {
if (!a || !a.nodeType)throw Error("element must be a DOM node when calling triggerEvent");
if ("undefined" != typeof u) {
var f = [];
c(a, b) && f.push({Ab: a.checked});
u(a).trigger(b, f)
} else if ("function" == typeof w.createEvent)if ("function" == typeof a.dispatchEvent)f = w.createEvent(e[b] || "HTMLEvents"), f.initEvent(b, !0, !0, y, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, a), a.dispatchEvent(f);
else throw Error("The supplied element doesn't support dispatchEvent"); else if ("undefined" != typeof a.fireEvent)c(a, b) && (a.checked = !0 !== a.checked), a.fireEvent("on" + b); else throw Error("Browser doesn't support triggering events");
}, c: function (b) {
return a.M(b) ? b() : b
}, Ha: function (b) {
return a.M(b) ? b.t() : b
}, ma: function (b, c, f) {
if (c) {
var d = /\S+/g, e = b.className.match(d) || [];
a.a.n(c.match(d), function (b) {
a.a.V(e, b, f)
});
b.className = e.join(" ")
}
}, Ma: function (b, c) {
var f = a.a.c(c);
if (null === f || f === q)f = "";
var d = a.e.firstChild(b);
!d || 3 != d.nodeType || a.e.nextSibling(d) ? a.e.S(b, [w.createTextNode(f)]) : d.data = f;
a.a.Jb(b)
}, pb: function (a, b) {
a.name = b;
if (7 >= h)try {
a.mergeAttributes(w.createElement(""), !1)
} catch (f) {
}
}, Jb: function (a) {
9 <= h && (a = 1 == a.nodeType ? a : a.parentNode, a.style && (a.style.zoom = a.style.zoom))
}, Hb: function (a) {
if (h) {
var b = a.style.width;
a.style.width = 0;
a.style.width = b
}
}, Zb: function (b, c) {
b = a.a.c(b);
c = a.a.c(c);
for (var f = [], d = b; d <= c; d++)f.push(d);
return f
}, Q: function (a) {
for (var b = [], c = 0, d = a.length; c <
d; c++)b.push(a[c]);
return b
}, cc: 6 === h, dc: 7 === h, ja: h, ab: function (b, c) {
for (var f = a.a.Q(b.getElementsByTagName("input")).concat(a.a.Q(b.getElementsByTagName("textarea"))), d = "string" == typeof c ? function (a) {
return a.name === c
} : function (a) {
return c.test(a.name)
}, e = [], g = f.length - 1; 0 <= g; g--)d(f[g]) && e.push(f[g]);
return e
}, Wb: function (b) {
return "string" == typeof b && (b = a.a.la(b)) ? B && B.parse ? B.parse(b) : (new Function("return " + b))() : null
}, Na: function (b, c, f) {
if (!B || !B.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");
return B.stringify(a.a.c(b), c, f)
}, Xb: function (c, d, f) {
f = f || {};
var e = f.params || {}, g = f.includeFields || this.$a, h = c;
if ("object" == typeof c && "form" === a.a.v(c))for (var h = c.action, n = g.length - 1; 0 <= n; n--)for (var r = a.a.ab(c, g[n]), v = r.length - 1; 0 <= v; v--)e[r[v].name] = r[v].value;
d = a.a.c(d);
var t = w.createElement("form");
t.style.display = "none";
t.action = h;
t.method = "post";
for (var E in d)c = w.createElement("input"), c.name = E, c.value = a.a.Na(a.a.c(d[E])), t.appendChild(c);
b(e, function (a, b) {
var c = w.createElement("input");
c.name =
a;
c.value = b;
t.appendChild(c)
});
w.body.appendChild(t);
f.submitter ? f.submitter(t) : t.submit();
setTimeout(function () {
t.parentNode.removeChild(t)
}, 0)
}
}
}();
a.b("utils", a.a);
a.b("utils.arrayForEach", a.a.n);
a.b("utils.arrayFirst", a.a.Ua);
a.b("utils.arrayFilter", a.a.ga);
a.b("utils.arrayGetDistinctValues", a.a.Va);
a.b("utils.arrayIndexOf", a.a.l);
a.b("utils.arrayMap", a.a.ha);
a.b("utils.arrayPushAll", a.a.X);
a.b("utils.arrayRemoveItem", a.a.ia);
a.b("utils.extend", a.a.extend);
a.b("utils.fieldsIncludedWithJsonPost",
a.a.$a);
a.b("utils.getFormFields", a.a.ab);
a.b("utils.peekObservable", a.a.Ha);
a.b("utils.postJson", a.a.Xb);
a.b("utils.parseJson", a.a.Wb);
a.b("utils.registerEventHandler", a.a.r);
a.b("utils.stringifyJson", a.a.Na);
a.b("utils.range", a.a.Zb);
a.b("utils.toggleDomNodeCssClass", a.a.ma);
a.b("utils.triggerEvent", a.a.da);
a.b("utils.unwrapObservable", a.a.c);
a.b("utils.objectForEach", a.a.K);
a.b("utils.addOrRemoveItem", a.a.V);
a.b("unwrap", a.a.c);
Function.prototype.bind || (Function.prototype.bind = function (a) {
var c =
this, d = Array.prototype.slice.call(arguments);
a = d.shift();
return function () {
return c.apply(a, d.concat(Array.prototype.slice.call(arguments)))
}
});
a.a.f = new function () {
function a(b, h) {
var k = b[d];
if (!k || "null" === k || !e[k]) {
if (!h)return q;
k = b[d] = "ko" + c++;
e[k] = {}
}
return e[k]
}
var c = 0, d = "__ko__" + (new Date).getTime(), e = {};
return {
get: function (c, d) {
var e = a(c, !1);
return e === q ? q : e[d]
}, set: function (c, d, e) {
if (e !== q || a(c, !1) !== q)a(c, !0)[d] = e
}, clear: function (a) {
var b = a[d];
return b ? (delete e[b], a[d] = null, !0) : !1
}, D: function () {
return c++ +
d
}
}
};
a.b("utils.domData", a.a.f);
a.b("utils.domData.clear", a.a.f.clear);
a.a.C = new function () {
function b(b, c) {
var e = a.a.f.get(b, d);
e === q && c && (e = [], a.a.f.set(b, d, e));
return e
}
function c(d) {
var e = b(d, !1);
if (e)for (var e = e.slice(0), m = 0; m < e.length; m++)e[m](d);
a.a.f.clear(d);
"function" == typeof u && "function" == typeof u.cleanData && u.cleanData([d]);
if (g[d.nodeType])for (e = d.firstChild; d = e;)e = d.nextSibling, 8 === d.nodeType && c(d)
}
var d = a.a.f.D(), e = {1: !0, 8: !0, 9: !0}, g = {1: !0, 9: !0};
return {
ea: function (a, c) {
if ("function" != typeof c)throw Error("Callback must be a function");
b(a, !0).push(c)
}, mb: function (c, e) {
var g = b(c, !1);
g && (a.a.ia(g, e), 0 == g.length && a.a.f.set(c, d, q))
}, L: function (b) {
if (e[b.nodeType] && (c(b), g[b.nodeType])) {
var d = [];
a.a.X(d, b.getElementsByTagName("*"));
for (var m = 0, f = d.length; m < f; m++)c(d[m])
}
return b
}, removeNode: function (b) {
a.L(b);
b.parentNode && b.parentNode.removeChild(b)
}
}
};
a.L = a.a.C.L;
a.removeNode = a.a.C.removeNode;
a.b("cleanNode", a.L);
a.b("removeNode", a.removeNode);
a.b("utils.domNodeDisposal", a.a.C);
a.b("utils.domNodeDisposal.addDisposeCallback", a.a.C.ea);
a.b("utils.domNodeDisposal.removeDisposeCallback", a.a.C.mb);
(function () {
a.a.Fa = function (b) {
var c;
if ("undefined" != typeof u)if (u.parseHTML)c = u.parseHTML(b) || []; else {
if ((c = u.clean([b])) && c[0]) {
for (b = c[0]; b.parentNode && 11 !== b.parentNode.nodeType;)b = b.parentNode;
b.parentNode && b.parentNode.removeChild(b)
}
} else {
var d = a.a.la(b).toLowerCase();
c = w.createElement("div");
d = d.match(/^<(thead|tbody|tfoot)/) && [1, "", "
"] || !d.indexOf(" ", ""] || (!d.indexOf("", " "] || [0, "", ""];
b = "ignored" + d[1] + b + d[2] + "";
for ("function" == typeof y.innerShiv ? c.appendChild(y.innerShiv(b)) : c.innerHTML = b; d[0]--;)c = c.lastChild;
c = a.a.Q(c.lastChild.childNodes)
}
return c
};
a.a.Ka = function (b, c) {
a.a.wa(b);
c = a.a.c(c);
if (null !== c && c !== q)if ("string" != typeof c && (c = c.toString()), "undefined" != typeof u)u(b).html(c); else for (var d = a.a.Fa(c), e = 0; e < d.length; e++)b.appendChild(d[e])
}
})();
a.b("utils.parseHtmlFragment", a.a.Fa);
a.b("utils.setHtml", a.a.Ka);
a.u = function () {
function b(c, e) {
if (c)if (8 == c.nodeType) {
var g = a.u.jb(c.nodeValue);
null != g && e.push({Fb: c, Tb: g})
} else if (1 == c.nodeType)for (var g = 0, h = c.childNodes, k = h.length; g < k; g++)b(h[g], e)
}
var c = {};
return {
Ca: function (a) {
if ("function" != typeof a)throw Error("You can only pass a function to ko.memoization.memoize()");
var b = (4294967296 * (1 + Math.random()) | 0).toString(16).substring(1) + (4294967296 * (1 + Math.random()) | 0).toString(16).substring(1);
c[b] = a;
return "\x3c!--[ko_memo:" + b + "]--\x3e"
}, ub: function (a, b) {
var g = c[a];
if (g === q)throw Error("Couldn't find any memo with ID " + a + ". Perhaps it's already been unmemoized.");
try {
return g.apply(null, b || []), !0
} finally {
delete c[a]
}
}, vb: function (c, e) {
var g = [];
b(c, g);
for (var h = 0, k = g.length; h < k; h++) {
var m = g[h].Fb, f = [m];
e && a.a.X(f, e);
a.u.ub(g[h].Tb, f);
m.nodeValue = "";
m.parentNode && m.parentNode.removeChild(m)
}
}, jb: function (a) {
return (a = a.match(/^\[ko_memo\:(.*?)\]$/)) ? a[1] : null
}
}
}();
a.b("memoization", a.u);
a.b("memoization.memoize",
a.u.Ca);
a.b("memoization.unmemoize", a.u.ub);
a.b("memoization.parseMemoText", a.u.jb);
a.b("memoization.unmemoizeDomNodeAndDescendants", a.u.vb);
a.xa = {
throttle: function (b, c) {
b.throttleEvaluation = c;
var d = null;
return a.h({
read: b, write: function (a) {
clearTimeout(d);
d = setTimeout(function () {
b(a)
}, c)
}
})
}, notify: function (a, c) {
a.equalityComparer = "always" == c ? null : G
}
};
var N = {undefined: 1, "boolean": 1, number: 1, string: 1};
a.b("extenders", a.xa);
a.sb = function (b, c, d) {
this.target = b;
this.qa = c;
this.Eb = d;
a.s(this, "dispose",
this.B)
};
a.sb.prototype.B = function () {
this.Qb = !0;
this.Eb()
};
a.ca = function () {
this.F = {};
a.a.extend(this, a.ca.fn);
a.s(this, "subscribe", this.T);
a.s(this, "extend", this.extend);
a.s(this, "getSubscriptionsCount", this.Lb)
};
var I = "change";
a.ca.fn = {
T: function (b, c, d) {
d = d || I;
var e = new a.sb(this, c ? b.bind(c) : b, function () {
a.a.ia(this.F[d], e)
}.bind(this));
this.F[d] || (this.F[d] = []);
this.F[d].push(e);
return e
}, notifySubscribers: function (b, c) {
c = c || I;
if (this.cb(c))try {
a.i.Wa();
for (var d = this.F[c].slice(0), e = 0, g; g = d[e]; ++e)g &&
!0 !== g.Qb && g.qa(b)
} finally {
a.i.end()
}
}, cb: function (a) {
return this.F[a] && this.F[a].length
}, Lb: function () {
var b = 0;
a.a.K(this.F, function (a, d) {
b += d.length
});
return b
}, extend: function (b) {
var c = this;
b && a.a.K(b, function (b, e) {
var g = a.xa[b];
"function" == typeof g && (c = g(c, e) || c)
});
return c
}
};
a.fb = function (a) {
return null != a && "function" == typeof a.T && "function" == typeof a.notifySubscribers
};
a.b("subscribable", a.ca);
a.b("isSubscribable", a.fb);
a.i = function () {
var b = [];
return {
Wa: function (a) {
b.push(a && {qa: a, Za: []})
},
end: function () {
b.pop()
}, lb: function (c) {
if (!a.fb(c))throw Error("Only subscribable things can act as dependencies");
if (0 < b.length) {
var d = b[b.length - 1];
!d || 0 <= a.a.l(d.Za, c) || (d.Za.push(c), d.qa(c))
}
}, p: function (a, d, e) {
try {
return b.push(null), a.apply(d, e || [])
} finally {
b.pop()
}
}
}
}();
a.q = function (b) {
function c() {
if (0 < arguments.length)return c.equalityComparer && c.equalityComparer(d, arguments[0]) || (c.O(), d = arguments[0], c.N()), this;
a.i.lb(c);
return d
}
var d = b;
a.ca.call(c);
c.t = function () {
return d
};
c.N = function () {
c.notifySubscribers(d)
};
c.O = function () {
c.notifySubscribers(d, "beforeChange")
};
a.a.extend(c, a.q.fn);
a.s(c, "peek", c.t);
a.s(c, "valueHasMutated", c.N);
a.s(c, "valueWillMutate", c.O);
return c
};
a.q.fn = {equalityComparer: G};
var C = a.q.Yb = "__ko_proto__";
a.q.fn[C] = a.q;
a.ya = function (b, c) {
return null === b || b === q || b[C] === q ? !1 : b[C] === c ? !0 : a.ya(b[C], c)
};
a.M = function (b) {
return a.ya(b, a.q)
};
a.gb = function (b) {
return "function" == typeof b && b[C] === a.q || "function" == typeof b && b[C] === a.h && b.Nb ? !0 : !1
};
a.b("observable", a.q);
a.b("isObservable", a.M);
a.b("isWriteableObservable",
a.gb);
a.ba = function (b) {
b = b || [];
if ("object" != typeof b || !("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");
b = a.q(b);
a.a.extend(b, a.ba.fn);
return b.extend({trackArrayChanges: !0})
};
a.ba.fn = {
remove: function (b) {
for (var c = this.t(), d = [], e = "function" != typeof b || a.M(b) ? function (a) {
return a === b
} : b, g = 0; g < c.length; g++) {
var h = c[g];
e(h) && (0 === d.length && this.O(), d.push(h), c.splice(g, 1), g--)
}
d.length && this.N();
return d
}, removeAll: function (b) {
if (b ===
q) {
var c = this.t(), d = c.slice(0);
this.O();
c.splice(0, c.length);
this.N();
return d
}
return b ? this.remove(function (c) {
return 0 <= a.a.l(b, c)
}) : []
}, destroy: function (b) {
var c = this.t(), d = "function" != typeof b || a.M(b) ? function (a) {
return a === b
} : b;
this.O();
for (var e = c.length - 1; 0 <= e; e--)d(c[e]) && (c[e]._destroy = !0);
this.N()
}, destroyAll: function (b) {
return b === q ? this.destroy(function () {
return !0
}) : b ? this.destroy(function (c) {
return 0 <= a.a.l(b, c)
}) : []
}, indexOf: function (b) {
var c = this();
return a.a.l(c, b)
}, replace: function (a,
c) {
var d = this.indexOf(a);
0 <= d && (this.O(), this.t()[d] = c, this.N())
}
};
a.a.n("pop push reverse shift sort splice unshift".split(" "), function (b) {
a.ba.fn[b] = function () {
var a = this.t();
this.O();
this.Xa(a, b, arguments);
a = a[b].apply(a, arguments);
this.N();
return a
}
});
a.a.n(["slice"], function (b) {
a.ba.fn[b] = function () {
var a = this();
return a[b].apply(a, arguments)
}
});
a.b("observableArray", a.ba);
var J = "arrayChange";
a.xa.trackArrayChanges = function (b) {
function c() {
if (!d) {
d = !0;
var c = b.notifySubscribers;
b.notifySubscribers =
function (a, b) {
b && b !== I || ++g;
return c.apply(this, arguments)
};
var m = [].concat(b.t() || []);
e = null;
b.T(function (c) {
c = [].concat(c || []);
if (b.cb(J)) {
var d;
if (!e || 1 < g)e = a.a.ra(m, c, {sparse: !0});
d = e;
d.length && b.notifySubscribers(d, J)
}
m = c;
e = null;
g = 0
})
}
}
if (!b.Xa) {
var d = !1, e = null, g = 0, h = b.T;
b.T = b.subscribe = function (a, b, f) {
f === J && c();
return h.apply(this, arguments)
};
b.Xa = function (a, b, c) {
function p(a, b, c) {
h.push({status: a, value: b, index: c})
}
if (d && !g) {
var h = [], l = a.length, n = c.length, r = 0;
switch (b) {
case "push":
r = l;
case "unshift":
for (b =
0; b < n; b++)p("added", c[b], r + b);
break;
case "pop":
r = l - 1;
case "shift":
l && p("deleted", a[r], r);
break;
case "splice":
b = Math.min(Math.max(0, 0 > c[0] ? l + c[0] : c[0]), l);
for (var l = 1 === n ? l : Math.min(b + (c[1] || 0), l), n = b + n - 2, r = Math.max(l, n), v = 2; b < r; ++b, ++v)b < l && p("deleted", a[b], b), b < n && p("added", c[v], b);
break;
default:
return
}
e = h
}
}
}
};
a.h = function (b, c, d) {
function e() {
a.a.n(z, function (a) {
a.B()
});
z = []
}
function g() {
var a = k.throttleEvaluation;
a && 0 <= a ? (clearTimeout(x), x = setTimeout(h, a)) : h()
}
function h() {
if (!s) {
if (E && E()) {
if (!l) {
D();
p = !0;
return
}
} else l = !1;
s = !0;
try {
var b = a.a.ha(z, function (a) {
return a.target
});
a.i.Wa(function (c) {
var d;
0 <= (d = a.a.l(b, c)) ? b[d] = q : z.push(c.T(g))
});
for (var d = c ? n.call(c) : n(), e = b.length - 1; 0 <= e; e--)b[e] && z.splice(e, 1)[0].B();
p = !0;
k.equalityComparer && k.equalityComparer(f, d) || (k.notifySubscribers(f, "beforeChange"), f = d, k.notifySubscribers(f))
} finally {
a.i.end(), s = !1
}
z.length || D()
}
}
function k() {
if (0 < arguments.length) {
if ("function" === typeof r)r.apply(c, arguments); else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");
return this
}
p || h();
a.i.lb(k);
return f
}
function m() {
return !p || 0 < z.length
}
var f, p = !1, s = !1, l = !1, n = b;
n && "object" == typeof n ? (d = n, n = d.read) : (d = d || {}, n || (n = d.read));
if ("function" != typeof n)throw Error("Pass a function that returns the value of the ko.computed");
var r = d.write, v = d.disposeWhenNodeIsRemoved || d.I || null, t = d.disposeWhen || d.ua, E = t, D = e, z = [], x = null;
c || (c = d.owner);
k.t = function () {
p || h();
return f
};
k.Kb = function () {
return z.length
};
k.Nb = "function" === typeof d.write;
k.B = function () {
D()
};
k.aa = m;
a.ca.call(k);
a.a.extend(k, a.h.fn);
a.s(k, "peek", k.t);
a.s(k, "dispose", k.B);
a.s(k, "isActive", k.aa);
a.s(k, "getDependenciesCount", k.Kb);
v && (l = !0, v.nodeType && (E = function () {
return !a.a.va(v) || t && t()
}));
!0 !== d.deferEvaluation && h();
v && m() && (D = function () {
a.a.C.mb(v, D);
e()
}, a.a.C.ea(v, D));
return k
};
a.Pb = function (b) {
return a.ya(b, a.h)
};
F = a.q.Yb;
a.h[F] = a.q;
a.h.fn = {equalityComparer: G};
a.h.fn[F] = a.h;
a.b("dependentObservable", a.h);
a.b("computed", a.h);
a.b("isComputed", a.Pb);
(function () {
function b(a, g, h) {
h = h || new d;
a = g(a);
if ("object" != typeof a || null === a || a === q || a instanceof Date || a instanceof String || a instanceof Number || a instanceof Boolean)return a;
var k = a instanceof Array ? [] : {};
h.save(a, k);
c(a, function (c) {
var d = g(a[c]);
switch (typeof d) {
case "boolean":
case "number":
case "string":
case "function":
k[c] = d;
break;
case "object":
case "undefined":
var p = h.get(d);
k[c] = p !== q ? p : b(d, g, h)
}
});
return k
}
function c(a, b) {
if (a instanceof Array) {
for (var c = 0; c < a.length; c++)b(c);
"function" == typeof a.toJSON && b("toJSON")
} else for (c in a)b(c)
}
function d() {
this.keys =
[];
this.Qa = []
}
a.tb = function (c) {
if (0 == arguments.length)throw Error("When calling ko.toJS, pass the object you want to convert.");
return b(c, function (b) {
for (var c = 0; a.M(b) && 10 > c; c++)b = b();
return b
})
};
a.toJSON = function (b, c, d) {
b = a.tb(b);
return a.a.Na(b, c, d)
};
d.prototype = {
save: function (b, c) {
var d = a.a.l(this.keys, b);
0 <= d ? this.Qa[d] = c : (this.keys.push(b), this.Qa.push(c))
}, get: function (b) {
b = a.a.l(this.keys, b);
return 0 <= b ? this.Qa[b] : q
}
}
})();
a.b("toJS", a.tb);
a.b("toJSON", a.toJSON);
(function () {
a.k = {
o: function (b) {
switch (a.a.v(b)) {
case "option":
return !0 ===
b.__ko__hasDomDataOptionValue__ ? a.a.f.get(b, a.d.options.Ea) : 7 >= a.a.ja ? b.getAttributeNode("value") && b.getAttributeNode("value").specified ? b.value : b.text : b.value;
case "select":
return 0 <= b.selectedIndex ? a.k.o(b.options[b.selectedIndex]) : q;
default:
return b.value
}
}, na: function (b, c) {
switch (a.a.v(b)) {
case "option":
switch (typeof c) {
case "string":
a.a.f.set(b, a.d.options.Ea, q);
"__ko__hasDomDataOptionValue__"in b && delete b.__ko__hasDomDataOptionValue__;
b.value = c;
break;
default:
a.a.f.set(b, a.d.options.Ea, c), b.__ko__hasDomDataOptionValue__ = !0, b.value = "number" === typeof c ? c : ""
}
break;
case "select":
"" === c && (c = q);
if (null === c || c === q)b.selectedIndex = -1;
for (var d = b.options.length - 1; 0 <= d; d--)if (a.k.o(b.options[d]) == c) {
b.selectedIndex = d;
break
}
1 < b.size || -1 !== b.selectedIndex || (b.selectedIndex = 0);
break;
default:
if (null === c || c === q)c = "";
b.value = c
}
}
}
})();
a.b("selectExtensions", a.k);
a.b("selectExtensions.readValue", a.k.o);
a.b("selectExtensions.writeValue", a.k.na);
a.g = function () {
function b(b) {
b = a.a.la(b);
123 === b.charCodeAt(0) && (b = b.slice(1, -1));
var c =
[], d = b.match(e), k, l, n = 0;
if (d) {
d.push(",");
for (var r = 0, v; v = d[r]; ++r) {
var t = v.charCodeAt(0);
if (44 === t) {
if (0 >= n) {
k && c.push(l ? {key: k, value: l.join("")} : {unknown: k});
k = l = n = 0;
continue
}
} else if (58 === t) {
if (!l)continue
} else if (47 === t && r && 1 < v.length)(t = d[r - 1].match(g)) && !h[t[0]] && (b = b.substr(b.indexOf(v) + 1), d = b.match(e), d.push(","), r = -1, v = "/"); else if (40 === t || 123 === t || 91 === t)++n; else if (41 === t || 125 === t || 93 === t)--n; else if (!k && !l) {
k = 34 === t || 39 === t ? v.slice(1, -1) : v;
continue
}
l ? l.push(v) : l = [v]
}
}
return c
}
var c = ["true",
"false", "null", "undefined"], d = /^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i, e = RegExp("\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|/(?:[^/\\\\]|\\\\.)*/w*|[^\\s:,/][^,\"'{}()/:[\\]]*[^\\s,\"'{}()/:[\\]]|[^\\s]", "g"), g = /[\])"'A-Za-z0-9_$]+$/, h = {
"in": 1,
"return": 1,
"typeof": 1
}, k = {};
return {
Y: [], U: k, Ga: b, ka: function (e, f) {
function g(b, f) {
var e, r = a.getBindingHandler(b);
if (r && r.preprocess ? f = r.preprocess(f, b, g) : 1) {
if (r = k[b])e = f, 0 <= a.a.l(c, e) ? e = !1 : (r = e.match(d), e = null === r ? !1 : r[1] ? "Object(" + r[1] + ")" +
r[2] : e), r = e;
r && l.push("'" + b + "':function(_z){" + e + "=_z}");
n && (f = "function(){return " + f + " }");
h.push("'" + b + "':" + f)
}
}
f = f || {};
var h = [], l = [], n = f.valueAccessors, r = "string" === typeof e ? b(e) : e;
a.a.n(r, function (a) {
g(a.key || a.unknown, a.value)
});
l.length && g("_ko_property_writers", "{" + l.join(",") + "}");
return h.join(",")
}, Sb: function (a, b) {
for (var c = 0; c < a.length; c++)if (a[c].key == b)return !0;
return !1
}, oa: function (b, c, d, e, k) {
if (b && a.M(b))!a.gb(b) || k && b.t() === e || b(e); else if ((b = c.get("_ko_property_writers")) && b[d])b[d](e)
}
}
}();
a.b("expressionRewriting", a.g);
a.b("expressionRewriting.bindingRewriteValidators", a.g.Y);
a.b("expressionRewriting.parseObjectLiteral", a.g.Ga);
a.b("expressionRewriting.preProcessBindings", a.g.ka);
a.b("expressionRewriting._twoWayBindings", a.g.U);
a.b("jsonExpressionRewriting", a.g);
a.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson", a.g.ka);
(function () {
function b(a) {
return 8 == a.nodeType && h.test(g ? a.text : a.nodeValue)
}
function c(a) {
return 8 == a.nodeType && k.test(g ? a.text : a.nodeValue)
}
function d(a,
d) {
for (var e = a, k = 1, n = []; e = e.nextSibling;) {
if (c(e) && (k--, 0 === k))return n;
n.push(e);
b(e) && k++
}
if (!d)throw Error("Cannot find closing comment tag to match: " + a.nodeValue);
return null
}
function e(a, b) {
var c = d(a, b);
return c ? 0 < c.length ? c[c.length - 1].nextSibling : a.nextSibling : null
}
var g = w && "\x3c!--test--\x3e" === w.createComment("test").text, h = g ? /^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/ : /^\s*ko(?:\s+([\s\S]+))?\s*$/, k = g ? /^\x3c!--\s*\/ko\s*--\x3e$/ : /^\s*\/ko\s*$/, m = {
ul: !0,
ol: !0
};
a.e = {
P: {}, childNodes: function (a) {
return b(a) ?
d(a) : a.childNodes
}, Z: function (c) {
if (b(c)) {
c = a.e.childNodes(c);
for (var d = 0, e = c.length; d < e; d++)a.removeNode(c[d])
} else a.a.wa(c)
}, S: function (c, d) {
if (b(c)) {
a.e.Z(c);
for (var e = c.nextSibling, k = 0, n = d.length; k < n; k++)e.parentNode.insertBefore(d[k], e)
} else a.a.S(c, d)
}, kb: function (a, c) {
b(a) ? a.parentNode.insertBefore(c, a.nextSibling) : a.firstChild ? a.insertBefore(c, a.firstChild) : a.appendChild(c)
}, eb: function (c, d, e) {
e ? b(c) ? c.parentNode.insertBefore(d, e.nextSibling) : e.nextSibling ? c.insertBefore(d, e.nextSibling) :
c.appendChild(d) : a.e.kb(c, d)
}, firstChild: function (a) {
return b(a) ? !a.nextSibling || c(a.nextSibling) ? null : a.nextSibling : a.firstChild
}, nextSibling: function (a) {
b(a) && (a = e(a));
return a.nextSibling && c(a.nextSibling) ? null : a.nextSibling
}, Mb: b, bc: function (a) {
return (a = (g ? a.text : a.nodeValue).match(h)) ? a[1] : null
}, ib: function (d) {
if (m[a.a.v(d)]) {
var k = d.firstChild;
if (k) {
do if (1 === k.nodeType) {
var g;
g = k.firstChild;
var h = null;
if (g) {
do if (h)h.push(g); else if (b(g)) {
var n = e(g, !0);
n ? g = n : h = [g]
} else c(g) && (h = [g]); while (g =
g.nextSibling)
}
if (g = h)for (h = k.nextSibling, n = 0; n < g.length; n++)h ? d.insertBefore(g[n], h) : d.appendChild(g[n])
} while (k = k.nextSibling)
}
}
}
}
})();
a.b("virtualElements", a.e);
a.b("virtualElements.allowedBindings", a.e.P);
a.b("virtualElements.emptyNode", a.e.Z);
a.b("virtualElements.insertAfter", a.e.eb);
a.b("virtualElements.prepend", a.e.kb);
a.b("virtualElements.setDomNodeChildren", a.e.S);
(function () {
a.H = function () {
this.zb = {}
};
a.a.extend(a.H.prototype, {
nodeHasBindings: function (b) {
switch (b.nodeType) {
case 1:
return null !=
b.getAttribute("data-bind");
case 8:
return a.e.Mb(b);
default:
return !1
}
}, getBindings: function (a, c) {
var d = this.getBindingsString(a, c);
return d ? this.parseBindingsString(d, c, a) : null
}, getBindingAccessors: function (a, c) {
var d = this.getBindingsString(a, c);
return d ? this.parseBindingsString(d, c, a, {valueAccessors: !0}) : null
}, getBindingsString: function (b) {
switch (b.nodeType) {
case 1:
return b.getAttribute("data-bind");
case 8:
return a.e.bc(b);
default:
return null
}
}, parseBindingsString: function (b, c, d, e) {
try {
var g = this.zb,
h = b + (e && e.valueAccessors || ""), k;
if (!(k = g[h])) {
var m, f = "with($context){with($data||{}){return{" + a.g.ka(b, e) + "}}}";
m = new Function("$context", "$element", f);
k = g[h] = m
}
return k(c, d)
} catch (p) {
throw p.message = "Unable to parse bindings.\nBindings value: " + b + "\nMessage: " + p.message, p;
}
}
});
a.H.instance = new a.H
})();
a.b("bindingProvider", a.H);
(function () {
function b(a) {
return function () {
return a
}
}
function c(a) {
return a()
}
function d(b) {
return a.a.Da(a.i.p(b), function (a, c) {
return function () {
return b()[c]
}
})
}
function e(a,
b) {
return d(this.getBindings.bind(this, a, b))
}
function g(b, c, d) {
var f, e = a.e.firstChild(c), k = a.H.instance, g = k.preprocessNode;
if (g) {
for (; f = e;)e = a.e.nextSibling(f), g.call(k, f);
e = a.e.firstChild(c)
}
for (; f = e;)e = a.e.nextSibling(f), h(b, f, d)
}
function h(b, c, d) {
var f = !0, e = 1 === c.nodeType;
e && a.e.ib(c);
if (e && d || a.H.instance.nodeHasBindings(c))f = m(c, null, b, d).shouldBindDescendants;
f && !p[a.a.v(c)] && g(b, c, !e)
}
function k(b) {
var c = [], d = {}, f = [];
a.a.K(b, function D(e) {
if (!d[e]) {
var k = a.getBindingHandler(e);
k && (k.after &&
(f.push(e), a.a.n(k.after, function (c) {
if (b[c]) {
if (-1 !== a.a.l(f, c))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: " + f.join(", "));
D(c)
}
}), f.pop()), c.push({key: e, bb: k}));
d[e] = !0
}
});
return c
}
function m(b, d, f, g) {
var h = a.a.f.get(b, s);
if (!d) {
if (h)throw Error("You cannot apply bindings multiple times to the same element.");
a.a.f.set(b, s, !0)
}
!h && g && a.rb(b, f);
var m;
if (d && "function" !== typeof d)m = d; else {
var p = a.H.instance, l = p.getBindingAccessors || e;
if (d || f.A) {
var A =
a.h(function () {
(m = d ? d(f, b) : l.call(p, b, f)) && f.A && f.A();
return m
}, null, {I: b});
m && A.aa() || (A = null)
} else m = a.i.p(l, p, [b, f])
}
var u;
if (m) {
var w = A ? function (a) {
return function () {
return c(A()[a])
}
} : function (a) {
return m[a]
}, y = function () {
return a.a.Da(A ? A() : m, c)
};
y.get = function (a) {
return m[a] && c(w(a))
};
y.has = function (a) {
return a in m
};
g = k(m);
a.a.n(g, function (c) {
var d = c.bb.init, e = c.bb.update, k = c.key;
if (8 === b.nodeType && !a.e.P[k])throw Error("The binding '" + k + "' cannot be used with virtual elements");
try {
"function" == typeof d && a.i.p(function () {
var a = d(b, w(k), y, f.$data, f);
if (a && a.controlsDescendantBindings) {
if (u !== q)throw Error("Multiple bindings (" + u + " and " + k + ") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");
u = k
}
}), "function" == typeof e && a.h(function () {
e(b, w(k), y, f.$data, f)
}, null, {I: b})
} catch (g) {
throw g.message = 'Unable to process binding "' + k + ": " + m[k] + '"\nMessage: ' + g.message, g;
}
})
}
return {shouldBindDescendants: u === q}
}
function f(b) {
return b &&
b instanceof a.G ? b : new a.G(b)
}
a.d = {};
var p = {script: !0};
a.getBindingHandler = function (b) {
return a.d[b]
};
a.G = function (b, c, d, f) {
var e = this, k = "function" == typeof b, g, h = a.h(function () {
var g = k ? b() : b;
c ? (c.A && c.A(), a.a.extend(e, c), h && (e.A = h)) : (e.$parents = [], e.$root = g, e.ko = a);
e.$rawData = b;
e.$data = g;
d && (e[d] = g);
f && f(e, c, g);
return e.$data
}, null, {
ua: function () {
return g && !a.a.Ra(g)
}, I: !0
});
h.aa() && (e.A = h, h.equalityComparer = null, g = [], h.wb = function (b) {
g.push(b);
a.a.C.ea(b, function (b) {
a.a.ia(g, b);
g.length || (h.B(),
e.A = h = q)
})
})
};
a.G.prototype.createChildContext = function (b, c, d) {
return new a.G(b, this, c, function (a, b) {
a.$parentContext = b;
a.$parent = b.$data;
a.$parents = (b.$parents || []).slice(0);
a.$parents.unshift(a.$parent);
d && d(a)
})
};
a.G.prototype.extend = function (b) {
return new a.G(this.$rawData, this, null, function (c) {
a.a.extend(c, "function" == typeof b ? b() : b)
})
};
var s = a.a.f.D(), l = a.a.f.D();
a.rb = function (b, c) {
if (2 == arguments.length)a.a.f.set(b, l, c), c.A && c.A.wb(b); else return a.a.f.get(b, l)
};
a.pa = function (b, c, d) {
1 === b.nodeType &&
a.e.ib(b);
return m(b, c, f(d), !0)
};
a.xb = function (c, e, k) {
k = f(k);
return a.pa(c, "function" === typeof e ? d(e.bind(null, k, c)) : a.a.Da(e, b), k)
};
a.Ta = function (a, b) {
1 !== b.nodeType && 8 !== b.nodeType || g(f(a), b, !0)
};
a.Sa = function (a, b) {
if (b && 1 !== b.nodeType && 8 !== b.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");
b = b || y.document.body;
h(f(a), b, !0)
};
a.ta = function (b) {
switch (b.nodeType) {
case 1:
case 8:
var c = a.rb(b);
if (c)return c;
if (b.parentNode)return a.ta(b.parentNode)
}
return q
};
a.Cb = function (b) {
return (b = a.ta(b)) ? b.$data : q
};
a.b("bindingHandlers", a.d);
a.b("applyBindings", a.Sa);
a.b("applyBindingsToDescendants", a.Ta);
a.b("applyBindingAccessorsToNode", a.pa);
a.b("applyBindingsToNode", a.xb);
a.b("contextFor", a.ta);
a.b("dataFor", a.Cb)
})();
var M = {"class": "className", "for": "htmlFor"};
a.d.attr = {
update: function (b, c) {
var d = a.a.c(c()) || {};
a.a.K(d, function (c, d) {
d = a.a.c(d);
var h = !1 === d || null === d || d === q;
h && b.removeAttribute(c);
8 >= a.a.ja && c in M ? (c = M[c], h ? b.removeAttribute(c) : b[c] = d) : h || b.setAttribute(c,
d.toString());
"name" === c && a.a.pb(b, h ? "" : d.toString())
})
}
};
(function () {
a.d.checked = {
after: ["value", "attr"], init: function (b, c, d) {
function e() {
return d.has("checkedValue") ? a.a.c(d.get("checkedValue")) : b.value
}
function g() {
var k = b.checked, g = s ? e() : k;
if (l && (!m || k)) {
var h = a.i.p(c);
f ? p !== g ? (k && (a.a.V(h, g, !0), a.a.V(h, p, !1)), p = g) : a.a.V(h, g, k) : a.g.oa(h, d, "checked", g, !0)
}
}
function h() {
var d = a.a.c(c());
b.checked = f ? 0 <= a.a.l(d, e()) : k ? d : e() === d
}
var k = "checkbox" == b.type, m = "radio" == b.type;
if (k || m) {
var f = k && a.a.c(c())instanceof
Array, p = f ? e() : q, s = m || f, l = !1;
m && !b.name && a.d.uniqueName.init(b, function () {
return !0
});
a.h(g, null, {I: b});
a.a.r(b, "click", g);
a.h(h, null, {I: b});
l = !0
}
}
};
a.g.U.checked = !0;
a.d.checkedValue = {
update: function (b, c) {
b.value = a.a.c(c())
}
}
})();
a.d.css = {
update: function (b, c) {
var d = a.a.c(c());
"object" == typeof d ? a.a.K(d, function (c, d) {
d = a.a.c(d);
a.a.ma(b, c, d)
}) : (d = String(d || ""), a.a.ma(b, b.__ko__cssValue, !1), b.__ko__cssValue = d, a.a.ma(b, d, !0))
}
};
a.d.enable = {
update: function (b, c) {
var d = a.a.c(c());
d && b.disabled ? b.removeAttribute("disabled") :
d || b.disabled || (b.disabled = !0)
}
};
a.d.disable = {
update: function (b, c) {
a.d.enable.update(b, function () {
return !a.a.c(c())
})
}
};
a.d.event = {
init: function (b, c, d, e, g) {
var h = c() || {};
a.a.K(h, function (k) {
"string" == typeof k && a.a.r(b, k, function (b) {
var f, h = c()[k];
if (h) {
try {
var s = a.a.Q(arguments);
e = g.$data;
s.unshift(e);
f = h.apply(e, s)
} finally {
!0 !== f && (b.preventDefault ? b.preventDefault() : b.returnValue = !1)
}
!1 === d.get(k + "Bubble") && (b.cancelBubble = !0, b.stopPropagation && b.stopPropagation())
}
})
})
}
};
a.d.foreach = {
hb: function (b) {
return function () {
var c =
b(), d = a.a.Ha(c);
if (!d || "number" == typeof d.length)return {foreach: c, templateEngine: a.J.Aa};
a.a.c(c);
return {
foreach: d.data,
as: d.as,
includeDestroyed: d.includeDestroyed,
afterAdd: d.afterAdd,
beforeRemove: d.beforeRemove,
afterRender: d.afterRender,
beforeMove: d.beforeMove,
afterMove: d.afterMove,
templateEngine: a.J.Aa
}
}
}, init: function (b, c) {
return a.d.template.init(b, a.d.foreach.hb(c))
}, update: function (b, c, d, e, g) {
return a.d.template.update(b, a.d.foreach.hb(c), d, e, g)
}
};
a.g.Y.foreach = !1;
a.e.P.foreach = !0;
a.d.hasfocus =
{
init: function (b, c, d) {
function e(e) {
b.__ko_hasfocusUpdating = !0;
var g = b.ownerDocument;
if ("activeElement"in g) {
var f;
try {
f = g.activeElement
} catch (h) {
f = g.body
}
e = f === b
}
g = c();
a.g.oa(g, d, "hasfocus", e, !0);
b.__ko_hasfocusLastValue = e;
b.__ko_hasfocusUpdating = !1
}
var g = e.bind(null, !0), h = e.bind(null, !1);
a.a.r(b, "focus", g);
a.a.r(b, "focusin", g);
a.a.r(b, "blur", h);
a.a.r(b, "focusout", h)
}, update: function (b, c) {
var d = !!a.a.c(c());
b.__ko_hasfocusUpdating || b.__ko_hasfocusLastValue === d || (d ? b.focus() : b.blur(), a.i.p(a.a.da,
null, [b, d ? "focusin" : "focusout"]))
}
};
a.g.U.hasfocus = !0;
a.d.hasFocus = a.d.hasfocus;
a.g.U.hasFocus = !0;
a.d.html = {
init: function () {
return {controlsDescendantBindings: !0}
}, update: function (b, c) {
a.a.Ka(b, c())
}
};
var L = a.a.f.D();
H("if");
H("ifnot", !1, !0);
H("with", !0, !1, function (a, c) {
return a.createChildContext(c)
});
a.d.options = {
init: function (b) {
if ("select" !== a.a.v(b))throw Error("options binding applies only to SELECT elements");
for (; 0 < b.length;)b.remove(0);
return {controlsDescendantBindings: !0}
}, update: function (b,
c, d) {
function e() {
return a.a.ga(b.options, function (a) {
return a.selected
})
}
function g(a, b, c) {
var d = typeof b;
return "function" == d ? b(a) : "string" == d ? a[b] : c
}
function h(c, d) {
if (p.length) {
var f = 0 <= a.a.l(p, a.k.o(d[0]));
a.a.qb(d[0], f);
l && !f && a.i.p(a.a.da, null, [b, "change"])
}
}
var k = 0 != b.length && b.multiple ? b.scrollTop : null;
c = a.a.c(c());
var m = d.get("optionsIncludeDestroyed"), f = {}, p;
p = b.multiple ? a.a.ha(e(), a.k.o) : 0 <= b.selectedIndex ? [a.k.o(b.options[b.selectedIndex])] : [];
if (c) {
"undefined" == typeof c.length && (c = [c]);
var s = a.a.ga(c, function (b) {
return m || b === q || null === b || !a.a.c(b._destroy)
});
d.has("optionsCaption") && (c = a.a.c(d.get("optionsCaption")), null !== c && c !== q && s.unshift(f))
} else c = [];
var l = !1;
c = h;
d.has("optionsAfterRender") && (c = function (b, c) {
h(0, c);
a.i.p(d.get("optionsAfterRender"), null, [c[0], b !== f ? b : q])
});
a.a.Ja(b, s, function (b, c, e) {
e.length && (p = e[0].selected ? [a.k.o(e[0])] : [], l = !0);
c = w.createElement("option");
b === f ? (a.a.Ma(c, d.get("optionsCaption")), a.k.na(c, q)) : (e = g(b, d.get("optionsValue"), b), a.k.na(c, a.a.c(e)),
b = g(b, d.get("optionsText"), e), a.a.Ma(c, b));
return [c]
}, null, c);
(b.multiple ? p.length && e().length < p.length : p.length && 0 <= b.selectedIndex ? a.k.o(b.options[b.selectedIndex]) !== p[0] : p.length || 0 <= b.selectedIndex) && a.i.p(a.a.da, null, [b, "change"]);
a.a.Hb(b);
k && 20 < Math.abs(k - b.scrollTop) && (b.scrollTop = k)
}
};
a.d.options.Ea = a.a.f.D();
a.d.selectedOptions = {
after: ["options", "foreach"], init: function (b, c, d) {
a.a.r(b, "change", function () {
var e = c(), g = [];
a.a.n(b.getElementsByTagName("option"), function (b) {
b.selected && g.push(a.k.o(b))
});
a.g.oa(e, d, "selectedOptions", g)
})
}, update: function (b, c) {
if ("select" != a.a.v(b))throw Error("values binding applies only to SELECT elements");
var d = a.a.c(c());
d && "number" == typeof d.length && a.a.n(b.getElementsByTagName("option"), function (b) {
var c = 0 <= a.a.l(d, a.k.o(b));
a.a.qb(b, c)
})
}
};
a.g.U.selectedOptions = !0;
a.d.style = {
update: function (b, c) {
var d = a.a.c(c() || {});
a.a.K(d, function (c, d) {
d = a.a.c(d);
b.style[c] = d || ""
})
}
};
a.d.submit = {
init: function (b, c, d, e, g) {
if ("function" != typeof c())throw Error("The value for a submit binding must be a function");
a.a.r(b, "submit", function (a) {
var d, e = c();
try {
d = e.call(g.$data, b)
} finally {
!0 !== d && (a.preventDefault ? a.preventDefault() : a.returnValue = !1)
}
})
}
};
a.d.text = {
init: function () {
return {controlsDescendantBindings: !0}
}, update: function (b, c) {
a.a.Ma(b, c())
}
};
a.e.P.text = !0;
a.d.uniqueName = {
init: function (b, c) {
if (c()) {
var d = "ko_unique_" + ++a.d.uniqueName.Bb;
a.a.pb(b, d)
}
}
};
a.d.uniqueName.Bb = 0;
a.d.value = {
after: ["options", "foreach"], init: function (b, c, d) {
function e() {
k = !1;
var e = c(), f = a.k.o(b);
a.g.oa(e, d, "value", f)
}
var g =
["change"], h = d.get("valueUpdate"), k = !1;
h && ("string" == typeof h && (h = [h]), a.a.X(g, h), g = a.a.Va(g));
!a.a.ja || "input" != b.tagName.toLowerCase() || "text" != b.type || "off" == b.autocomplete || b.form && "off" == b.form.autocomplete || -1 != a.a.l(g, "propertychange") || (a.a.r(b, "propertychange", function () {
k = !0
}), a.a.r(b, "blur", function () {
k && e()
}));
a.a.n(g, function (c) {
var d = e;
a.a.ac(c, "after") && (d = function () {
setTimeout(e, 0)
}, c = c.substring(5));
a.a.r(b, c, d)
})
}, update: function (b, c) {
var d = "select" === a.a.v(b), e = a.a.c(c()), g = a.k.o(b);
e !== g && (g = function () {
a.k.na(b, e)
}, g(), d && (e !== a.k.o(b) ? a.i.p(a.a.da, null, [b, "change"]) : setTimeout(g, 0)))
}
};
a.g.U.value = !0;
a.d.visible = {
update: function (b, c) {
var d = a.a.c(c()), e = "none" != b.style.display;
d && !e ? b.style.display = "" : !d && e && (b.style.display = "none")
}
};
(function (b) {
a.d[b] = {
init: function (c, d, e, g, h) {
return a.d.event.init.call(this, c, function () {
var a = {};
a[b] = d();
return a
}, e, g, h)
}
}
})("click");
a.w = function () {
};
a.w.prototype.renderTemplateSource = function () {
throw Error("Override renderTemplateSource");
};
a.w.prototype.createJavaScriptEvaluatorBlock = function () {
throw Error("Override createJavaScriptEvaluatorBlock");
};
a.w.prototype.makeTemplateSource = function (b, c) {
if ("string" == typeof b) {
c = c || w;
var d = c.getElementById(b);
if (!d)throw Error("Cannot find template with ID " + b);
return new a.m.j(d)
}
if (1 == b.nodeType || 8 == b.nodeType)return new a.m.W(b);
throw Error("Unknown template type: " + b);
};
a.w.prototype.renderTemplate = function (a, c, d, e) {
a = this.makeTemplateSource(a, e);
return this.renderTemplateSource(a, c,
d)
};
a.w.prototype.isTemplateRewritten = function (a, c) {
return !1 === this.allowTemplateRewriting ? !0 : this.makeTemplateSource(a, c).data("isRewritten")
};
a.w.prototype.rewriteTemplate = function (a, c, d) {
a = this.makeTemplateSource(a, d);
c = c(a.text());
a.text(c);
a.data("isRewritten", !0)
};
a.b("templateEngine", a.w);
a.Oa = function () {
function b(b, c, d, k) {
b = a.g.Ga(b);
for (var m = a.g.Y, f = 0; f < b.length; f++) {
var p = b[f].key;
if (m.hasOwnProperty(p)) {
var s = m[p];
if ("function" === typeof s) {
if (p = s(b[f].value))throw Error(p);
} else if (!s)throw Error("This template engine does not support the '" +
p + "' binding within its templates");
}
}
d = "ko.__tr_ambtns(function($context,$element){return(function(){return{ " + a.g.ka(b, {valueAccessors: !0}) + " } })()},'" + d.toLowerCase() + "')";
return k.createJavaScriptEvaluatorBlock(d) + c
}
var c = /(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi, d = /\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;
return {
Ib: function (b, c, d) {
c.isTemplateRewritten(b, d) || c.rewriteTemplate(b, function (b) {
return a.Oa.Ub(b, c)
},
d)
}, Ub: function (a, g) {
return a.replace(c, function (a, c, d, f, e) {
return b(e, c, d, g)
}).replace(d, function (a, c) {
return b(c, "\x3c!-- ko --\x3e", "#comment", g)
})
}, yb: function (b, c) {
return a.u.Ca(function (d, k) {
var m = d.nextSibling;
m && m.nodeName.toLowerCase() === c && a.pa(m, b, k)
})
}
}
}();
a.b("__tr_ambtns", a.Oa.yb);
(function () {
a.m = {};
a.m.j = function (a) {
this.j = a
};
a.m.j.prototype.text = function () {
var b = a.a.v(this.j), b = "script" === b ? "text" : "textarea" === b ? "value" : "innerHTML";
if (0 == arguments.length)return this.j[b];
var c = arguments[0];
"innerHTML" === b ? a.a.Ka(this.j, c) : this.j[b] = c
};
var b = a.a.f.D() + "_";
a.m.j.prototype.data = function (c) {
if (1 === arguments.length)return a.a.f.get(this.j, b + c);
a.a.f.set(this.j, b + c, arguments[1])
};
var c = a.a.f.D();
a.m.W = function (a) {
this.j = a
};
a.m.W.prototype = new a.m.j;
a.m.W.prototype.text = function () {
if (0 == arguments.length) {
var b = a.a.f.get(this.j, c) || {};
b.Pa === q && b.sa && (b.Pa = b.sa.innerHTML);
return b.Pa
}
a.a.f.set(this.j, c, {Pa: arguments[0]})
};
a.m.j.prototype.nodes = function () {
if (0 == arguments.length)return (a.a.f.get(this.j,
c) || {}).sa;
a.a.f.set(this.j, c, {sa: arguments[0]})
};
a.b("templateSources", a.m);
a.b("templateSources.domElement", a.m.j);
a.b("templateSources.anonymousTemplate", a.m.W)
})();
(function () {
function b(b, c, d) {
var e;
for (c = a.e.nextSibling(c); b && (e = b) !== c;)b = a.e.nextSibling(e), d(e, b)
}
function c(c, d) {
if (c.length) {
var f = c[0], e = c[c.length - 1], g = f.parentNode, h = a.H.instance, n = h.preprocessNode;
if (n) {
b(f, e, function (a, b) {
var c = a.previousSibling, d = n.call(h, a);
d && (a === f && (f = d[0] || b), a === e && (e = d[d.length - 1] || c))
});
c.length =
0;
if (!f)return;
f === e ? c.push(f) : (c.push(f, e), a.a.$(c, g))
}
b(f, e, function (b) {
1 !== b.nodeType && 8 !== b.nodeType || a.Sa(d, b)
});
b(f, e, function (b) {
1 !== b.nodeType && 8 !== b.nodeType || a.u.vb(b, [d])
});
a.a.$(c, g)
}
}
function d(a) {
return a.nodeType ? a : 0 < a.length ? a[0] : null
}
function e(b, e, f, h, s) {
s = s || {};
var l = b && d(b), l = l && l.ownerDocument, n = s.templateEngine || g;
a.Oa.Ib(f, n, l);
f = n.renderTemplate(f, h, s, l);
if ("number" != typeof f.length || 0 < f.length && "number" != typeof f[0].nodeType)throw Error("Template engine must return an array of DOM nodes");
l = !1;
switch (e) {
case "replaceChildren":
a.e.S(b, f);
l = !0;
break;
case "replaceNode":
a.a.nb(b, f);
l = !0;
break;
case "ignoreTargetNode":
break;
default:
throw Error("Unknown renderMode: " + e);
}
l && (c(f, h), s.afterRender && a.i.p(s.afterRender, null, [f, h.$data]));
return f
}
var g;
a.La = function (b) {
if (b != q && !(b instanceof a.w))throw Error("templateEngine must inherit from ko.templateEngine");
g = b
};
a.Ia = function (b, c, f, h, s) {
f = f || {};
if ((f.templateEngine || g) == q)throw Error("Set a template engine before calling renderTemplate");
s = s || "replaceChildren";
if (h) {
var l = d(h);
return a.h(function () {
var g = c && c instanceof a.G ? c : new a.G(a.a.c(c)), r = "function" == typeof b ? b(g.$data, g) : b, g = e(h, s, r, g, f);
"replaceNode" == s && (h = g, l = d(h))
}, null, {
ua: function () {
return !l || !a.a.va(l)
}, I: l && "replaceNode" == s ? l.parentNode : l
})
}
return a.u.Ca(function (d) {
a.Ia(b, c, f, d, "replaceNode")
})
};
a.$b = function (b, d, f, g, h) {
function l(a, b) {
c(b, r);
f.afterRender && f.afterRender(b, a)
}
function n(a, c) {
r = h.createChildContext(a, f.as, function (a) {
a.$index = c
});
var d = "function" == typeof b ? b(a, r) : b;
return e(null, "ignoreTargetNode", d, r, f)
}
var r;
return a.h(function () {
var b = a.a.c(d) || [];
"undefined" == typeof b.length && (b = [b]);
b = a.a.ga(b, function (b) {
return f.includeDestroyed || b === q || null === b || !a.a.c(b._destroy)
});
a.i.p(a.a.Ja, null, [g, b, n, f, l])
}, null, {I: g})
};
var h = a.a.f.D();
a.d.template = {
init: function (b, c) {
var d = a.a.c(c());
"string" == typeof d || d.name ? a.e.Z(b) : (d = a.e.childNodes(b), d = a.a.Vb(d), (new a.m.W(b)).nodes(d));
return {controlsDescendantBindings: !0}
}, update: function (b, c, d, e, g) {
c =
a.a.c(c());
d = {};
e = !0;
var l, n = null;
"string" != typeof c && (d = c, c = a.a.c(d.name), "if"in d && (e = a.a.c(d["if"])), e && "ifnot"in d && (e = !a.a.c(d.ifnot)), l = a.a.c(d.data));
"foreach"in d ? n = a.$b(c || b, e && d.foreach || [], d, b, g) : e ? (g = "data"in d ? g.createChildContext(l, d.as) : g, n = a.Ia(c || b, g, d, b)) : a.e.Z(b);
g = n;
(l = a.a.f.get(b, h)) && "function" == typeof l.B && l.B();
a.a.f.set(b, h, g && g.aa() ? g : q)
}
};
a.g.Y.template = function (b) {
b = a.g.Ga(b);
return 1 == b.length && b[0].unknown || a.g.Sb(b, "name") ? null : "This template engine does not support anonymous templates nested within its templates"
};
a.e.P.template = !0
})();
a.b("setTemplateEngine", a.La);
a.b("renderTemplate", a.Ia);
a.a.ra = function () {
function a(b, d, e, g, h) {
var k = Math.min, m = Math.max, f = [], p, q = b.length, l, n = d.length, r = n - q || 1, v = q + n + 1, t, u, w;
for (p = 0; p <= q; p++)for (u = t, f.push(t = []), w = k(n, p + r), l = m(0, p - 1); l <= w; l++)t[l] = l ? p ? b[p - 1] === d[l - 1] ? u[l - 1] : k(u[l] || v, t[l - 1] || v) + 1 : l + 1 : p + 1;
k = [];
m = [];
r = [];
p = q;
for (l = n; p || l;)n = f[p][l] - 1, l && n === f[p][l - 1] ? m.push(k[k.length] = {
status: e,
value: d[--l],
index: l
}) : p && n === f[p - 1][l] ? r.push(k[k.length] = {
status: g, value: b[--p],
index: p
}) : (--l, --p, h.sparse || k.push({status: "retained", value: d[l]}));
if (m.length && r.length) {
b = 10 * q;
var z;
for (d = e = 0; (h.dontLimitMoves || d < b) && (z = m[e]); e++) {
for (g = 0; f = r[g]; g++)if (z.value === f.value) {
z.moved = f.index;
f.moved = z.index;
r.splice(g, 1);
d = g = 0;
break
}
d += g
}
}
return k.reverse()
}
return function (c, d, e) {
e = "boolean" === typeof e ? {dontLimitMoves: e} : e || {};
c = c || [];
d = d || [];
return c.length <= d.length ? a(c, d, "added", "deleted", e) : a(d, c, "deleted", "added", e)
}
}();
a.b("utils.compareArrays", a.a.ra);
(function () {
function b(b,
c, g, h, k) {
var m = [], f = a.h(function () {
var f = c(g, k, a.a.$(m, b)) || [];
0 < m.length && (a.a.nb(m, f), h && a.i.p(h, null, [g, f, k]));
m.splice(0, m.length);
a.a.X(m, f)
}, null, {
I: b, ua: function () {
return !a.a.Ra(m)
}
});
return {R: m, h: f.aa() ? f : q}
}
var c = a.a.f.D();
a.a.Ja = function (d, e, g, h, k) {
function m(b, c) {
x = s[c];
t !== c && (z[b] = x);
x.za(t++);
a.a.$(x.R, d);
r.push(x);
w.push(x)
}
function f(b, c) {
if (b)for (var d = 0, e = c.length; d < e; d++)c[d] && a.a.n(c[d].R, function (a) {
b(a, d, c[d].fa)
})
}
e = e || [];
h = h || {};
var p = a.a.f.get(d, c) === q, s = a.a.f.get(d, c) || [],
l = a.a.ha(s, function (a) {
return a.fa
}), n = a.a.ra(l, e, h.dontLimitMoves), r = [], v = 0, t = 0, u = [], w = [];
e = [];
for (var z = [], l = [], x, A = 0, y, B; y = n[A]; A++)switch (B = y.moved, y.status) {
case "deleted":
B === q && (x = s[v], x.h && x.h.B(), u.push.apply(u, a.a.$(x.R, d)), h.beforeRemove && (e[A] = x, w.push(x)));
v++;
break;
case "retained":
m(A, v++);
break;
case "added":
B !== q ? m(A, B) : (x = {fa: y.value, za: a.q(t++)}, r.push(x), w.push(x), p || (l[A] = x))
}
f(h.beforeMove, z);
a.a.n(u, h.beforeRemove ? a.L : a.removeNode);
for (var A = 0, p = a.e.firstChild(d), C; x = w[A]; A++) {
x.R ||
a.a.extend(x, b(d, g, x.fa, k, x.za));
for (v = 0; n = x.R[v]; p = n.nextSibling, C = n, v++)n !== p && a.e.eb(d, n, C);
!x.Ob && k && (k(x.fa, x.R, x.za), x.Ob = !0)
}
f(h.beforeRemove, e);
f(h.afterMove, z);
f(h.afterAdd, l);
a.a.f.set(d, c, r)
}
})();
a.b("utils.setDomNodeChildrenFromArrayMapping", a.a.Ja);
a.J = function () {
this.allowTemplateRewriting = !1
};
a.J.prototype = new a.w;
a.J.prototype.renderTemplateSource = function (b) {
var c = (9 > a.a.ja ? 0 : b.nodes) ? b.nodes() : null;
if (c)return a.a.Q(c.cloneNode(!0).childNodes);
b = b.text();
return a.a.Fa(b)
};
a.J.Aa =
new a.J;
a.La(a.J.Aa);
a.b("nativeTemplateEngine", a.J);
(function () {
a.Ba = function () {
var a = this.Rb = function () {
if ("undefined" == typeof u || !u.tmpl)return 0;
try {
if (0 <= u.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2
} catch (a) {
}
return 1
}();
this.renderTemplateSource = function (b, e, g) {
g = g || {};
if (2 > a)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");
var h = b.data("precompiled");
h || (h = b.text() || "", h = u.template(null, "{{ko_with $item.koBindingContext}}" + h +
"{{/ko_with}}"), b.data("precompiled", h));
b = [e.$data];
e = u.extend({koBindingContext: e}, g.templateOptions);
e = u.tmpl(h, b, e);
e.appendTo(w.createElement("div"));
u.fragments = {};
return e
};
this.createJavaScriptEvaluatorBlock = function (a) {
return "{{ko_code ((function() { return " + a + " })()) }}"
};
this.addTemplate = function (a, b) {
w.write("