diff --git a/build/output/knockout-latest.js b/build/output/knockout-latest.js
index 56f79cefa..6de313970 100644
--- a/build/output/knockout-latest.js
+++ b/build/output/knockout-latest.js
@@ -2,109 +2,18 @@
// (c) 2010 Steven Sanderson - http://knockoutjs.com/
// License: Ms-Pl (http://www.opensource.org/licenses/ms-pl.html)
-// This code is used only to make the minified file smaller
-// Extraced from http://closure-library.googlecode.com/svn/docs/closure_goog_base.js.source.html
-
-var goog = window.goog = window.goog || { };
-
-/**
- * Reference to the global context. In most cases this will be 'window'.
- */
-goog.global = goog.global || this;
-
-/**
- * Returns true if the specified value is not |undefined|.
- * WARNING: Do not use this to test if an object has a property. Use the in
- * operator instead. Additionally, this function assumes that the global
- * undefined variable has not been redefined.
- * @param {*} val Variable to test.
- * @return {boolean} Whether variable is defined.
- */
-goog.isDef = goog.isDef || function(val) {
- return val !== undefined;
+var ko = window["ko"] = {};
+// Google Closure Compiler helpers (used only to make the minified file smaller)
+ko.exportSymbol = function(publicPath, object) {
+ var tokens = publicPath.split(".");
+ var target = window;
+ for (var i = 0; i < tokens.length - 1; i++)
+ target = target[tokens[i]];
+ target[tokens[tokens.length - 1]] = object;
};
-
-/**
- * Exposes an unobfuscated global namespace path for the given object.
- * Note that fields of the exported object *will* be obfuscated,
- * unless they are exported in turn via this function or
- * goog.exportProperty
- *
- *
Also handy for making public items that are defined in anonymous
- * closures.
- *
- * ex. goog.exportSymbol('Foo', Foo);
- *
- * ex. goog.exportSymbol('public.path.Foo.staticFunction',
- * Foo.staticFunction);
- * public.path.Foo.staticFunction();
- *
- * ex. goog.exportSymbol('public.path.Foo.prototype.myMethod',
- * Foo.prototype.myMethod);
- * new public.path.Foo().myMethod();
- *
- * @param {string} publicPath Unobfuscated name to export.
- * @param {*} object Object the name should point to.
- * @param {Object=} opt_objectToExportTo The object to add the path to; default
- * is |goog.global|.
- */
-goog.exportSymbol = goog.exportSymbol || function(publicPath, object, opt_objectToExportTo) {
- goog.exportPath_(publicPath, object, opt_objectToExportTo);
-};
-
-/**
- * Exports a property unobfuscated into the object's namespace.
- * ex. goog.exportProperty(Foo, 'staticFunction', Foo.staticFunction);
- * ex. goog.exportProperty(Foo.prototype, 'myMethod', Foo.prototype.myMethod);
- * @param {Object} object Object whose static property is being exported.
- * @param {string} publicName Unobfuscated name to export.
- * @param {*} symbol Object the name should point to.
- */
-goog.exportProperty = goog.exportProperty || function(object, publicName, symbol) {
- object[publicName] = symbol;
-};
-
-/**
- * Builds an object structure for the provided namespace path,
- * ensuring that names that already exist are not overwritten. For
- * example:
- * "a.b.c" -> a = {};a.b={};a.b.c={};
- * Used by goog.provide and goog.exportSymbol.
- * @param {string} name name of the object that this file defines.
- * @param {*=} opt_object the object to expose at the end of the path.
- * @param {Object=} opt_objectToExportTo The object to add the path to; default
- * is |goog.global|.
- * @private
- */
-goog.exportPath_ = goog.exportPath_ || function(name, opt_object, opt_objectToExportTo) {
- var parts = name.split('.');
- var cur = opt_objectToExportTo || goog.global;
-
- // Internet Explorer exhibits strange behavior when throwing errors from
- // methods externed in this manner. See the testExportSymbolExceptions in
- // base_test.html for an example.
- if (!(parts[0] in cur) && cur.execScript) {
- cur.execScript('var ' + parts[0]);
- }
-
- // Certain browsers cannot parse code in the form for((a in b); c;);
- // This pattern is produced by the JSCompiler when it collapses the
- // statement above into the conditional loop below. To prevent this from
- // happening, use a for-loop and reserve the init logic as below.
-
- // Parentheses added to eliminate strict JS warning in Firefox.
- for (var part; parts.length && (part = parts.shift());) {
- if (!parts.length && goog.isDef(opt_object)) {
- // last part and we have an object; use it
- cur[part] = opt_object;
- } else if (cur[part]) {
- cur = cur[part];
- } else {
- cur = cur[part] = {};
- }
- }
-};var ko = window["ko"] = {};
-///
+ko.exportProperty = function(owner, publicName, object) {
+ owner[publicName] = object;
+};///
ko.utils = new (function () {
var stringTrimRegex = /^(\s|\u00A0)+|(\s|\u00A0)+$/g;
@@ -445,15 +354,15 @@ ko.utils = new (function () {
}
})();
-goog.exportSymbol('ko.utils', ko.utils);
-goog.exportSymbol('ko.utils.arrayMap', ko.utils.arrayMap);
-goog.exportSymbol('ko.utils.arrayForEach', ko.utils.arrayForEach);
-goog.exportSymbol('ko.utils.arrayFirst', ko.utils.arrayFirst);
-goog.exportSymbol('ko.utils.arrayFilter', ko.utils.arrayFilter);
-goog.exportSymbol('ko.utils.getFormFields', ko.utils.getFormFields);
-goog.exportSymbol('ko.utils.postJson', ko.utils.postJson);
-goog.exportSymbol('ko.utils.triggerEvent', ko.utils.triggerEvent);
-goog.exportSymbol('ko.utils.unwrapObservable', ko.utils.unwrapObservable);
+ko.exportSymbol('ko.utils', ko.utils);
+ko.exportSymbol('ko.utils.arrayMap', ko.utils.arrayMap);
+ko.exportSymbol('ko.utils.arrayForEach', ko.utils.arrayForEach);
+ko.exportSymbol('ko.utils.arrayFirst', ko.utils.arrayFirst);
+ko.exportSymbol('ko.utils.arrayFilter', ko.utils.arrayFilter);
+ko.exportSymbol('ko.utils.getFormFields', ko.utils.getFormFields);
+ko.exportSymbol('ko.utils.postJson', ko.utils.postJson);
+ko.exportSymbol('ko.utils.triggerEvent', ko.utils.triggerEvent);
+ko.exportSymbol('ko.utils.unwrapObservable', ko.utils.unwrapObservable);
if (!Function.prototype['bind']) {
// Function.prototype.bind is a standard part of ECMAScript 5th Edition (December 2009, http://www.ecma-international.org/publications/files/ECMA-ST/ECMA-262.pdf)
@@ -530,17 +439,18 @@ ko.memoization = (function () {
};
})();
-goog.exportSymbol('ko.memoization', ko.memoization);
-goog.exportSymbol('ko.memoization.memoize', ko.memoization.memoize);
-goog.exportSymbol('ko.memoization.unmemoize', ko.memoization.unmemoize);
-goog.exportSymbol('ko.memoization.parseMemoText', ko.memoization.parseMemoText);
-goog.exportSymbol('ko.memoization.unmemoizeDomNodeAndDescendants', ko.memoization.unmemoizeDomNodeAndDescendants);///
+ko.exportSymbol('ko.memoization', ko.memoization);
+ko.exportSymbol('ko.memoization.memoize', ko.memoization.memoize);
+ko.exportSymbol('ko.memoization.unmemoize', ko.memoization.unmemoize);
+ko.exportSymbol('ko.memoization.parseMemoText', ko.memoization.parseMemoText);
+ko.exportSymbol('ko.memoization.unmemoizeDomNodeAndDescendants', ko.memoization.unmemoizeDomNodeAndDescendants);
+///
ko.subscription = function (callback, disposeCallback) {
this.callback = callback;
this.dispose = disposeCallback;
- goog.exportProperty(this, 'dispose', this.dispose);
+ ko.exportProperty(this, 'dispose', this.dispose);
};
ko.subscribable = function () {
@@ -567,17 +477,18 @@ ko.subscribable = function () {
return _subscriptions.length;
};
- goog.exportProperty(this, 'subscribe', this.subscribe);
- goog.exportProperty(this, 'notifySubscribers', this.notifySubscribers);
- goog.exportProperty(this, 'getSubscriptionsCount', this.getSubscriptionsCount);
+ ko.exportProperty(this, 'subscribe', this.subscribe);
+ ko.exportProperty(this, 'notifySubscribers', this.notifySubscribers);
+ ko.exportProperty(this, 'getSubscriptionsCount', this.getSubscriptionsCount);
}
ko.isSubscribable = function (instance) {
return typeof instance.subscribe == "function" && typeof instance.notifySubscribers == "function";
};
-goog.exportSymbol('ko.subscribable', ko.subscribable);
-goog.exportSymbol('ko.isSubscribable', ko.isSubscribable);///
+ko.exportSymbol('ko.subscribable', ko.subscribable);
+ko.exportSymbol('ko.isSubscribable', ko.isSubscribable);
+///
ko.dependencyDetection = (function () {
var _detectedDependencies = [];
@@ -622,7 +533,7 @@ ko.observable = function (initialValue) {
ko.subscribable.call(observable);
- goog.exportProperty(observable, "valueHasMutated", observable.valueHasMutated);
+ ko.exportProperty(observable, "valueHasMutated", observable.valueHasMutated);
return observable;
}
@@ -636,9 +547,10 @@ ko.isWriteableObservable = function (instance) {
}
-goog.exportSymbol('ko.observable', ko.observable);
-goog.exportSymbol('ko.isObservable', ko.isObservable);
-goog.exportSymbol('ko.isWriteableObservable', ko.isWriteableObservable);///
+ko.exportSymbol('ko.observable', ko.observable);
+ko.exportSymbol('ko.isObservable', ko.isObservable);
+ko.exportSymbol('ko.isWriteableObservable', ko.isWriteableObservable);
+///
ko.observableArray = function (initialValues) {
var result = new ko.observable(initialValues);
@@ -707,16 +619,17 @@ ko.observableArray = function (initialValues) {
return ko.utils.arrayIndexOf(underlyingArray, item);
};
- goog.exportProperty(result, "remove", result.remove);
- goog.exportProperty(result, "removeAll", result.removeAll);
- goog.exportProperty(result, "destroy", result.destroy);
- goog.exportProperty(result, "destroyAll", result.destroyAll);
- goog.exportProperty(result, "indexOf", result.indexOf);
+ ko.exportProperty(result, "remove", result.remove);
+ ko.exportProperty(result, "removeAll", result.removeAll);
+ ko.exportProperty(result, "destroy", result.destroy);
+ ko.exportProperty(result, "destroyAll", result.destroyAll);
+ ko.exportProperty(result, "indexOf", result.indexOf);
return result;
}
-goog.exportSymbol('ko.observableArray', ko.observableArray);///
+ko.exportSymbol('ko.observableArray', ko.observableArray);
+///
ko.dependentObservable = function (evaluatorFunction, evaluatorFunctionTarget, options) {
if (typeof evaluatorFunction != "function")
@@ -774,14 +687,15 @@ ko.dependentObservable = function (evaluatorFunction, evaluatorFunctionTarget, o
ko.subscribable.call(dependentObservable);
evaluate();
- goog.exportProperty(dependentObservable, 'dispose', dependentObservable.dispose);
- goog.exportProperty(dependentObservable, 'getDependenciesCount', dependentObservable.getDependenciesCount);
+ ko.exportProperty(dependentObservable, 'dispose', dependentObservable.dispose);
+ ko.exportProperty(dependentObservable, 'getDependenciesCount', dependentObservable.getDependenciesCount);
return dependentObservable;
};
ko.dependentObservable.__ko_proto__ = ko.observable;
-goog.exportSymbol('ko.dependentObservable', ko.dependentObservable);(function () {
+ko.exportSymbol('ko.dependentObservable', ko.dependentObservable);
+(function () {
// Normally, SELECT elements and their OPTIONs can only take value of type 'string' (because the values
// are stored on DOM attributes). ko.selectExtensions provides a way for SELECTs/OPTIONs to have values
// that are arbitrary objects. This is very convenient when implementing things like cascading dropdowns.
@@ -815,9 +729,10 @@ goog.exportSymbol('ko.dependentObservable', ko.dependentObservable);(function ()
};
})();
-goog.exportSymbol('ko.selectExtensions', ko.selectExtensions);
-goog.exportSymbol('ko.selectExtensions.readValue', ko.selectExtensions.readValue);
-goog.exportSymbol('ko.selectExtensions.writeValue', ko.selectExtensions.writeValue);///
+ko.exportSymbol('ko.selectExtensions', ko.selectExtensions);
+ko.exportSymbol('ko.selectExtensions.readValue', ko.selectExtensions.readValue);
+ko.exportSymbol('ko.selectExtensions.writeValue', ko.selectExtensions.writeValue);
+///
ko.jsonExpressionRewriting = (function () {
var restoreCapturedTokensRegex = /\[ko_token_(\d+)\]/g;
@@ -917,9 +832,10 @@ ko.jsonExpressionRewriting = (function () {
};
})();
-goog.exportSymbol('ko.jsonExpressionRewriting', ko.jsonExpressionRewriting);
-goog.exportSymbol('ko.jsonExpressionRewriting.parseJson', ko.jsonExpressionRewriting.parseJson);
-goog.exportSymbol('ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson', ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson);///
+ko.exportSymbol('ko.jsonExpressionRewriting', ko.jsonExpressionRewriting);
+ko.exportSymbol('ko.jsonExpressionRewriting.parseJson', ko.jsonExpressionRewriting.parseJson);
+ko.exportSymbol('ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson', ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson);
+///
(function () {
var bindingAttributeName = "data-bind";
@@ -976,8 +892,8 @@ goog.exportSymbol('ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson',
});
};
- goog.exportSymbol('ko.bindingHandlers', ko.bindingHandlers);
- goog.exportSymbol('ko.applyBindings', ko.applyBindings);
+ ko.exportSymbol('ko.bindingHandlers', ko.bindingHandlers);
+ ko.exportSymbol('ko.applyBindings', ko.applyBindings);
})();///
ko.bindingHandlers['click'] = {
@@ -1273,7 +1189,8 @@ ko.templateEngine = function () {
}
};
-goog.exportSymbol('ko.templateEngine', ko.templateEngine);///
+ko.exportSymbol('ko.templateEngine', ko.templateEngine);
+///
ko.templateRewriting = (function () {
var memoizeBindingAttributeSyntaxRegex = /(<[a-z]+(\s+(?!data-bind=)[a-z0-9]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])(.*?)\5/g;
@@ -1311,8 +1228,8 @@ ko.templateRewriting = (function () {
}
})();
-goog.exportSymbol('ko.templateRewriting', ko.templateRewriting);
-goog.exportSymbol('ko.templateRewriting.applyMemoizedBindingsToNextSibling', ko.templateRewriting.applyMemoizedBindingsToNextSibling); // Exported only because it has to be referenced by string lookup from within rewritten template
+ko.exportSymbol('ko.templateRewriting', ko.templateRewriting);
+ko.exportSymbol('ko.templateRewriting.applyMemoizedBindingsToNextSibling', ko.templateRewriting.applyMemoizedBindingsToNextSibling); // Exported only because it has to be referenced by string lookup from within rewritten template
///
///
@@ -1421,8 +1338,9 @@ goog.exportSymbol('ko.templateRewriting.applyMemoizedBindingsToNextSibling', ko.
};
})();
-goog.exportSymbol('ko.setTemplateEngine', ko.setTemplateEngine);
-goog.exportSymbol('ko.renderTemplate', ko.renderTemplate);///
+ko.exportSymbol('ko.setTemplateEngine', ko.setTemplateEngine);
+ko.exportSymbol('ko.renderTemplate', ko.renderTemplate);
+///
// Simple calculation based on Levenshtein distance.
(function () {
@@ -1506,7 +1424,8 @@ goog.exportSymbol('ko.renderTemplate', ko.renderTemplate);///
+ko.exportSymbol('ko.utils.compareArrays', ko.utils.compareArrays);
+///
(function () {
// Objective:
@@ -1617,7 +1536,8 @@ goog.exportSymbol('ko.utils.compareArrays', ko.utils.compareArrays);///
+ko.exportSymbol('ko.utils.setDomNodeChildrenFromArrayMapping', ko.utils.setDomNodeChildrenFromArrayMapping);
+///
ko.jqueryTmplTemplateEngine = function () {
// Detect which version of jquery-tmpl you're using. Unfortunately jquery-tmpl
diff --git a/build/output/knockout-latest.min.js b/build/output/knockout-latest.min.js
index be687b7fd..fb10da258 100644
--- a/build/output/knockout-latest.min.js
+++ b/build/output/knockout-latest.min.js
@@ -2,58 +2,58 @@
// (c) 2010 Steven Sanderson - http://knockoutjs.com/
// License: Ms-Pl (http://www.opensource.org/licenses/ms-pl.html)
-function c(e){throw e;}var k=true,n=null,o=false,p=window.Ja=window.Ja||{};p.global=p.global||this;p.ca=p.ca||function(e){return e!==undefined};p.b=p.b||function(e,a,b){p.Z(e,a,b)};p.g=p.g||function(e,a,b){e[a]=b};p.Z=p.Z||function(e,a,b){e=e.split(".");b=b||p.global;!(e[0]in b)&&b.execScript&&b.execScript("var "+e[0]);for(var d;e.length&&(d=e.shift());)if(!e.length&&p.ca(a))b[d]=a;else b=b[d]?b[d]:b[d]={}};var q=window.ko={};
-q.a=new function(){var e=/^(\s|\u00A0)+|(\s|\u00A0)+$/g;return{Fa:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],h:function(a,b){for(var d=0,f=a.length;d=0&&a.splice(d,1)},ua:function(a){a=a||[];for(var b=[],d=0,f=a.length;d<
-f;d++)q.a.l(b,a[d])<0&&b.push(a[d]);return b},I:function(a,b){a=a||[];for(var d=[],f=0,g=a.length;f0){for(var f=
-d[0],g=f.parentNode,h=0,j=b.length;h=0)a.setAttribute("selected",b);else a.selected=b},Ha:function(a,b){if(!a||a.nodeType!=1)return[];var d=[];a.getAttribute(b)!==n&&d.push(a);for(var f=a.getElementsByTagName("*"),g=0,h=f.length;ga.length)return o;return a.substring(0,b.length)===b},Ea:function(a,b){if(b===undefined)return(new Function("return "+a))();with(b)return eval("("+a+")")},Ca:function(a,b){if(b.compareDocumentPosition)return(b.compareDocumentPosition(a)&16)==16;for(;a!=n;){if(a==b)return k;a=a.parentNode}return o},z:function(a){return q.a.Ca(a,document)},k:function(a,b,d){if(typeof jQuery!=
-"undefined")jQuery(a).bind(b,d);else if(typeof a.addEventListener=="function")a.addEventListener(b,d,o);else if(typeof a.attachEvent!="undefined")a.attachEvent("on"+b,function(f){d.call(a,f)});else c(Error("Browser doesn't support addEventListener or attachEvent"))},Xa:function(a,b){if(!(a&&a.nodeType))c(Error("element must be a DOM node when calling triggerEvent"));if(typeof document.createEvent=="function")if(typeof a.dispatchEvent=="function"){var d=document.createEvent(b=="click"?"MouseEvents":
-"HTMLEvents");d.initEvent(b,k,k,window,0,0,0,0,0,o,o,o,o,0,a);a.dispatchEvent(d)}else c(Error("The supplied element doesn't support dispatchEvent"));else if(typeof a.fireEvent!="undefined"){if(b=="click")if(a.tagName=="INPUT"&&(a.type.toLowerCase()=="checkbox"||a.type.toLowerCase()=="radio"))a.checked=a.checked!==k;a.fireEvent("on"+b)}else c(Error("Browser doesn't support triggering events"))},e:function(a){return q.N(a)?a():a},Ba:function(a,b){return q.a.l((a.className||"").split(/\s+/),b)>=0},Wa:function(a,
-b,d){var f=q.a.Ba(a,b);if(d&&!f)a.className=(a.className||"")+" "+b;else if(f&&!d){d=(a.className||"").split(/\s+/);f="";for(var g=0;g=0;d--)b.push(a[d]);return b},M:/MSIE 6/i.test(navigator.userAgent),aa:function(a,b){for(var d=q.a.fa(a.getElementsByTagName("INPUT")).concat(q.a.fa(a.getElementsByTagName("TEXTAREA"))),
-f=typeof b=="string"?function(j){return j.name===b}:function(j){return b.test(j.name)},g=[],h=d.length-1;h>=0;h--)f(d[h])&&g.push(d[h]);return g},Ta:function(a){if(typeof JSON=="undefined"||typeof JSON.stringify=="undefined")c(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 JSON.stringify(q.a.e(a))},Oa:function(a,b,d){d=d||{};var f=
-d.params||{},g=d.includeFields||this.Fa,h=a;if(typeof a=="object"&&a.tagName=="FORM"){h=a.action;for(var j=g.length-1;j>=0;j--)for(var i=q.a.aa(a,g[j]),l=i.length-1;l>=0;l--)f[i[l].name]=i[l].value}b=q.a.e(b);var m=document.createElement("FORM");m.style.display="none";m.action=h;m.method="post";for(var r in b){a=document.createElement("INPUT");a.name=r;a.value=q.a.Ta(q.a.e(b[r]));m.appendChild(a)}for(r in f){a=document.createElement("INPUT");a.name=r;a.value=f[r];m.appendChild(a)}document.body.appendChild(m);
-d.submitter?d.submitter(m):m.submit();setTimeout(function(){m.parentNode.removeChild(m)},0)},d:{Ya:0,v:"__ko__"+(new Date).getTime(),ab:{},K:function(a,b){var d=q.a.d.$(a,o);return d===undefined?undefined:d[b]},ka:function(a,b,d){q.a.d.$(a,k)[b]=d},$:function(a,b){var d=a[q.a.d.v];if(!d){if(!b)return;d=a[q.a.d.v]="ko"+q.a.d.Ya++;q.a.d[d]={}}return q.a.d[d]},W:function(a){var b=a[q.a.d.v];if(b){delete q.a.d[b];a[q.a.d.v]=n}},J:function(a){if(!(a.nodeType!=1&&a.nodeType!=9)){q.a.d.W(a);a=a.getElementsByTagName("*");
-for(var b=0,d=a.length;b"},oa:function(d,f){var g=b[d];if(g===undefined)c(Error("Couldn't find any memo with ID "+
-d+". Perhaps it's already been unmemoized."));try{g.apply(n,f||[]);return k}finally{delete b[d]}},pa:function(d,f){var g=[];a(d,g);for(var h=0,j=g.length;h0&&e[e.length-1].push(a)}}}();
-q.q=function(e){function a(d){if(arguments.length>0){b=d;a.u(b);return this}else{q.w.ia(a);return b}}var b=e;a.o=q.q;a.T=function(){a.u(b)};q.Q.call(a);p.g(a,"valueHasMutated",a.T);return a};q.N=function(e){if(e===n||e===undefined||e.o===undefined)return o;if(e.o===q.q)return k;return q.N(e.o)};q.B=function(e){return typeof e=="function"&&e.o===q.q};p.b("ko.observable",q.q);p.b("ko.isObservable",q.N);p.b("ko.isWriteableObservable",q.B);
-q.Na=function(e){var a=new q.q(e);q.a.h(["pop","push","reverse","shift","sort","splice","unshift"],function(b){a[b]=function(){var d=a();d=d[b].apply(d,arguments);a.T();return d}});q.a.h(["slice"],function(b){a[b]=function(){var d=a();return d[b].apply(d,arguments)}});a.remove=function(b){for(var d=a(),f=[],g=[],h=typeof b=="function"?b:function(m){return m===b},j=0,i=d.length;j=0})};a.X=function(b){for(var d=a(),f=typeof b=="function"?b:function(h){return h===b},g=d.length-1;g>=0;g--)if(f(d[g]))d[g]._destroy=k;a.T()};a.za=function(b){if(!b)return[];return a.X(function(d){return q.a.l(b,d)>=0})};a.indexOf=function(b){var d=a();return q.a.l(d,b)};p.g(a,"remove",a.remove);p.g(a,"removeAll",a.Pa);p.g(a,"destroy",a.X);p.g(a,"destroyAll",a.za);p.g(a,"indexOf",a.indexOf);return a};p.b("ko.observableArray",q.Na);
-q.n=function(e,a,b){function d(){q.a.h(j,function(m){m.s()});j=[]}function f(m){d();q.a.h(m,function(r){j.push(r.R(g))})}function g(){if(!l&&b&&typeof b.disposeWhen=="function")if(b.disposeWhen()){h.s();return}try{q.w.wa();i=a?e.call(a):e()}finally{var m=q.a.ua(q.w.end());f(m)}h.u(i);l=o}function h(){if(arguments.length>0)c("Cannot write a value to a dependentObservable. Do not pass any parameters to it");q.w.ia(h);return i}if(typeof e!="function")c("Pass a function that returns the value of the dependentObservable");
-var j=[],i,l=k;h.o=q.n;h.Ga=function(){return j.length};h.s=function(){d()};q.Q.call(h);g();p.g(h,"dispose",h.s);p.g(h,"getDependenciesCount",h.Ga);return h};q.n.o=q.q;p.b("ko.dependentObservable",q.n);
-q.f={j:function(e){if(e.tagName=="OPTION"){var a=e.getAttribute("value");if(a!==q.c.options.C)return a;return q.a.d.K(e,q.c.options.C)}else return e.tagName=="SELECT"?e.selectedIndex>=0?q.f.j(e.options[e.selectedIndex]):undefined:e.value},G:function(e,a){if(e.tagName=="OPTION"){q.a.d.ka(e,q.c.options.C,a);e.value=q.c.options.C}else if(e.tagName=="SELECT")for(var b=e.options.length-1;b>=0;b--){if(q.f.j(e.options[b])==a){e.selectedIndex=b;break}}else e.value=a}};p.b("ko.selectExtensions",q.f);
-p.b("ko.selectExtensions.readValue",q.f.j);p.b("ko.selectExtensions.writeValue",q.f.G);
-q.p=function(){function e(f,g){return f.replace(a,function(h,j){return g[j]})}var a=/\[ko_token_(\d+)\]/g,b=/^[\_$a-z][\_$a-z]*(\[.*?\])*(\.[\_$a-z][\_$a-z]*(\[.*?\])*)*$/i,d=["true","false"];return{ga:function(f){f=q.a.m(f);if(f.length<3)return{};for(var g=[],h=n,j,i=f.charAt(0)=="{"?1:0;i0&&r=0?o:l.match(b)!==n;if(l){h.length>0&&
-h.push(", ");h.push(j+" : function(__ko_value) { "+i+" = __ko_value; }")}}if(h.length>0)f=f+", '_ko_property_writers' : { "+h.join("")+" } ";return f}}}();p.b("ko.jsonExpressionRewriting",q.p);p.b("ko.jsonExpressionRewriting.parseJson",q.p.ga);p.b("ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson",q.p.L);q.c={};
-q.U=function(e,a,b){var d=k;new q.n(function(){var f;if(!(f=typeof a=="function"?a():a)){var g=e.getAttribute("data-bind");try{var h=" { "+q.p.L(g)+" } ";f=q.a.Ea(h,b===n?window:b)}catch(j){c(Error("Unable to parse binding attribute.\nMessage: "+j+";\nAttribute value: "+g))}}f=f;if(d)for(var i in f)q.c[i]&&typeof q.c[i].init=="function"&&(0,q.c[i].init)(e,f[i],f,b);for(i in f)q.c[i]&&typeof q.c[i].update=="function"&&(0,q.c[i].update)(e,f[i],f,b)},n,{disposeWhen:function(){return!q.a.z(e)}});d=o};
-q.qa=function(e,a){if(a&&a.nodeType==undefined)c(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node (note: this is a breaking change since KO version 1.05)"));a=a||window.document.body;var b=q.a.Ha(a,"data-bind");q.a.h(b,function(d){q.U(d,n,e)})};p.b("ko.bindingHandlers",q.c);p.b("ko.applyBindings",q.qa);
-q.c.click={init:function(e,a,b,d){q.a.k(e,"click",function(f){var g;try{g=a.call(d)}finally{if(g!==k)if(f.preventDefault)f.preventDefault();else f.returnValue=o}})}};q.c.submit={init:function(e,a,b,d){if(typeof a!="function")c(Error("The value for a submit binding must be a function to invoke on submit"));q.a.k(e,"submit",function(f){var g;try{g=a.call(d,e)}finally{if(g!==k)if(f.preventDefault)f.preventDefault();else f.returnValue=o}})}};
-q.c.visible={update:function(e,a){a=q.a.e(a);var b=e.style.display!="none";if(a&&!b)e.style.display="";else if(!a&&b)e.style.display="none"}};q.c.enable={update:function(e,a){if((a=q.a.e(a))&&e.disabled)e.removeAttribute("disabled");else if(!a&&!e.disabled)e.disabled=k}};q.c.disable={update:function(e,a){q.c.enable.update(e,!q.a.e(a))}};
-q.c.value={init:function(e,a,b){var d=b.valueUpdate||"change",f=o;if(q.a.Sa(d,"after")){f=k;d=d.substring(5)}var g=f?function(h){setTimeout(h,0)}:function(h){h()};if(q.B(a))q.a.k(e,d,function(){g(function(){a(q.f.j(this))}.bind(this))});else b._ko_property_writers&&b._ko_property_writers.value&&q.a.k(e,d,function(){g(function(){b._ko_property_writers.value(q.f.j(this))}.bind(this))})},update:function(e,a){var b=q.a.e(a);if(b!=q.f.j(e)){var d=function(){q.f.G(e,b)};d();e.tagName=="SELECT"&&setTimeout(d,
+function b(f){throw f;}var m=true,n=null,o=false,p=window.ko={};p.b=function(f,a){for(var c=f.split("."),d=window,e=0;e=0&&a.splice(d,1)},sa:function(a){a=a||[];for(var c=[],d=0,e=a.length;d<
+e;d++)p.a.l(c,a[d])<0&&c.push(a[d]);return c},I:function(a,c){a=a||[];for(var d=[],e=0,g=a.length;e0){for(var e=
+d[0],g=e.parentNode,h=0,j=c.length;h=0)a.setAttribute("selected",c);else a.selected=c},Fa:function(a,c){if(!a||a.nodeType!=1)return[];var d=[];a.getAttribute(c)!==n&&d.push(a);for(var e=a.getElementsByTagName("*"),g=0,h=e.length;ga.length)return o;return a.substring(0,c.length)===c},Ca:function(a,c){if(c===undefined)return(new Function("return "+a))();with(c)return eval("("+a+")")},Aa:function(a,c){if(c.compareDocumentPosition)return(c.compareDocumentPosition(a)&16)==16;for(;a!=n;){if(a==c)return m;a=a.parentNode}return o},z:function(a){return p.a.Aa(a,document)},k:function(a,c,d){if(typeof jQuery!=
+"undefined")jQuery(a).bind(c,d);else if(typeof a.addEventListener=="function")a.addEventListener(c,d,o);else if(typeof a.attachEvent!="undefined")a.attachEvent("on"+c,function(e){d.call(a,e)});else b(Error("Browser doesn't support addEventListener or attachEvent"))},Ua:function(a,c){if(!(a&&a.nodeType))b(Error("element must be a DOM node when calling triggerEvent"));if(typeof document.createEvent=="function")if(typeof a.dispatchEvent=="function"){var d=document.createEvent(c=="click"?"MouseEvents":
+"HTMLEvents");d.initEvent(c,m,m,window,0,0,0,0,0,o,o,o,o,0,a);a.dispatchEvent(d)}else b(Error("The supplied element doesn't support dispatchEvent"));else if(typeof a.fireEvent!="undefined"){if(c=="click")if(a.tagName=="INPUT"&&(a.type.toLowerCase()=="checkbox"||a.type.toLowerCase()=="radio"))a.checked=a.checked!==m;a.fireEvent("on"+c)}else b(Error("Browser doesn't support triggering events"))},e:function(a){return p.N(a)?a():a},za:function(a,c){return p.a.l((a.className||"").split(/\s+/),c)>=0},Ta:function(a,
+c,d){var e=p.a.za(a,c);if(d&&!e)a.className=(a.className||"")+" "+c;else if(e&&!d){d=(a.className||"").split(/\s+/);e="";for(var g=0;g=0;d--)c.push(a[d]);return c},M:/MSIE 6/i.test(navigator.userAgent),$:function(a,c){for(var d=p.a.da(a.getElementsByTagName("INPUT")).concat(p.a.da(a.getElementsByTagName("TEXTAREA"))),
+e=typeof c=="string"?function(j){return j.name===c}:function(j){return c.test(j.name)},g=[],h=d.length-1;h>=0;h--)e(d[h])&&g.push(d[h]);return g},Qa:function(a){if(typeof JSON=="undefined"||typeof JSON.stringify=="undefined")b(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 JSON.stringify(p.a.e(a))},La:function(a,c,d){d=d||{};var e=
+d.params||{},g=d.includeFields||this.Da,h=a;if(typeof a=="object"&&a.tagName=="FORM"){h=a.action;for(var j=g.length-1;j>=0;j--)for(var i=p.a.$(a,g[j]),k=i.length-1;k>=0;k--)e[i[k].name]=i[k].value}c=p.a.e(c);var l=document.createElement("FORM");l.style.display="none";l.action=h;l.method="post";for(var q in c){a=document.createElement("INPUT");a.name=q;a.value=p.a.Qa(p.a.e(c[q]));l.appendChild(a)}for(q in e){a=document.createElement("INPUT");a.name=q;a.value=e[q];l.appendChild(a)}document.body.appendChild(l);
+d.submitter?d.submitter(l):l.submit();setTimeout(function(){l.parentNode.removeChild(l)},0)},d:{Va:0,v:"__ko__"+(new Date).getTime(),Ya:{},K:function(a,c){var d=p.a.d.Z(a,o);return d===undefined?undefined:d[c]},ia:function(a,c,d){p.a.d.Z(a,m)[c]=d},Z:function(a,c){var d=a[p.a.d.v];if(!d){if(!c)return;d=a[p.a.d.v]="ko"+p.a.d.Va++;p.a.d[d]={}}return p.a.d[d]},W:function(a){var c=a[p.a.d.v];if(c){delete p.a.d[c];a[p.a.d.v]=n}},J:function(a){if(!(a.nodeType!=1&&a.nodeType!=9)){p.a.d.W(a);a=a.getElementsByTagName("*");
+for(var c=0,d=a.length;c"},ma:function(d,e){var g=c[d];if(g===undefined)b(Error("Couldn't find any memo with ID "+
+d+". Perhaps it's already been unmemoized."));try{g.apply(n,e||[]);return m}finally{delete c[d]}},na:function(d,e){var g=[];a(d,g);for(var h=0,j=g.length;h0&&f[f.length-1].push(a)}}}();
+p.q=function(f){function a(d){if(arguments.length>0){c=d;a.u(c);return this}else{p.w.ga(a);return c}}var c=f;a.o=p.q;a.T=function(){a.u(c)};p.Q.call(a);p.h(a,"valueHasMutated",a.T);return a};p.N=function(f){if(f===n||f===undefined||f.o===undefined)return o;if(f.o===p.q)return m;return p.N(f.o)};p.B=function(f){return typeof f=="function"&&f.o===p.q};p.b("ko.observable",p.q);p.b("ko.isObservable",p.N);p.b("ko.isWriteableObservable",p.B);
+p.Ka=function(f){var a=new p.q(f);p.a.g(["pop","push","reverse","shift","sort","splice","unshift"],function(c){a[c]=function(){var d=a();d=d[c].apply(d,arguments);a.T();return d}});p.a.g(["slice"],function(c){a[c]=function(){var d=a();return d[c].apply(d,arguments)}});a.remove=function(c){for(var d=a(),e=[],g=[],h=typeof c=="function"?c:function(l){return l===c},j=0,i=d.length;j=0})};a.X=function(c){for(var d=a(),e=typeof c=="function"?c:function(h){return h===c},g=d.length-1;g>=0;g--)if(e(d[g]))d[g]._destroy=m;a.T()};a.xa=function(c){if(!c)return[];return a.X(function(d){return p.a.l(c,d)>=0})};a.indexOf=function(c){var d=a();return p.a.l(d,c)};p.h(a,"remove",a.remove);p.h(a,"removeAll",a.Ma);p.h(a,"destroy",a.X);p.h(a,"destroyAll",a.xa);p.h(a,"indexOf",a.indexOf);return a};p.b("ko.observableArray",p.Ka);
+p.n=function(f,a,c){function d(){p.a.g(j,function(l){l.s()});j=[]}function e(l){d();p.a.g(l,function(q){j.push(q.R(g))})}function g(){if(!k&&c&&typeof c.disposeWhen=="function")if(c.disposeWhen()){h.s();return}try{p.w.ua();i=a?f.call(a):f()}finally{var l=p.a.sa(p.w.end());e(l)}h.u(i);k=o}function h(){if(arguments.length>0)b("Cannot write a value to a dependentObservable. Do not pass any parameters to it");p.w.ga(h);return i}if(typeof f!="function")b("Pass a function that returns the value of the dependentObservable");
+var j=[],i,k=m;h.o=p.n;h.Ea=function(){return j.length};h.s=function(){d()};p.Q.call(h);g();p.h(h,"dispose",h.s);p.h(h,"getDependenciesCount",h.Ea);return h};p.n.o=p.q;p.b("ko.dependentObservable",p.n);
+p.f={j:function(f){if(f.tagName=="OPTION"){var a=f.getAttribute("value");if(a!==p.c.options.C)return a;return p.a.d.K(f,p.c.options.C)}else return f.tagName=="SELECT"?f.selectedIndex>=0?p.f.j(f.options[f.selectedIndex]):undefined:f.value},G:function(f,a){if(f.tagName=="OPTION"){p.a.d.ia(f,p.c.options.C,a);f.value=p.c.options.C}else if(f.tagName=="SELECT")for(var c=f.options.length-1;c>=0;c--){if(p.f.j(f.options[c])==a){f.selectedIndex=c;break}}else f.value=a}};p.b("ko.selectExtensions",p.f);
+p.b("ko.selectExtensions.readValue",p.f.j);p.b("ko.selectExtensions.writeValue",p.f.G);
+p.p=function(){function f(e,g){return e.replace(a,function(h,j){return g[j]})}var a=/\[ko_token_(\d+)\]/g,c=/^[\_$a-z][\_$a-z]*(\[.*?\])*(\.[\_$a-z][\_$a-z]*(\[.*?\])*)*$/i,d=["true","false"];return{ea:function(e){e=p.a.m(e);if(e.length<3)return{};for(var g=[],h=n,j,i=e.charAt(0)=="{"?1:0;i0&&q=0?o:k.match(c)!==n;if(k){h.length>0&&
+h.push(", ");h.push(j+" : function(__ko_value) { "+i+" = __ko_value; }")}}if(h.length>0)e=e+", '_ko_property_writers' : { "+h.join("")+" } ";return e}}}();p.b("ko.jsonExpressionRewriting",p.p);p.b("ko.jsonExpressionRewriting.parseJson",p.p.ea);p.b("ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson",p.p.L);p.c={};
+p.U=function(f,a,c){var d=m;new p.n(function(){var e;if(!(e=typeof a=="function"?a():a)){var g=f.getAttribute("data-bind");try{var h=" { "+p.p.L(g)+" } ";e=p.a.Ca(h,c===n?window:c)}catch(j){b(Error("Unable to parse binding attribute.\nMessage: "+j+";\nAttribute value: "+g))}}e=e;if(d)for(var i in e)p.c[i]&&typeof p.c[i].init=="function"&&(0,p.c[i].init)(f,e[i],e,c);for(i in e)p.c[i]&&typeof p.c[i].update=="function"&&(0,p.c[i].update)(f,e[i],e,c)},n,{disposeWhen:function(){return!p.a.z(f)}});d=o};
+p.oa=function(f,a){if(a&&a.nodeType==undefined)b(Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node (note: this is a breaking change since KO version 1.05)"));a=a||window.document.body;var c=p.a.Fa(a,"data-bind");p.a.g(c,function(d){p.U(d,n,f)})};p.b("ko.bindingHandlers",p.c);p.b("ko.applyBindings",p.oa);
+p.c.click={init:function(f,a,c,d){p.a.k(f,"click",function(e){var g;try{g=a.call(d)}finally{if(g!==m)if(e.preventDefault)e.preventDefault();else e.returnValue=o}})}};p.c.submit={init:function(f,a,c,d){if(typeof a!="function")b(Error("The value for a submit binding must be a function to invoke on submit"));p.a.k(f,"submit",function(e){var g;try{g=a.call(d,f)}finally{if(g!==m)if(e.preventDefault)e.preventDefault();else e.returnValue=o}})}};
+p.c.visible={update:function(f,a){a=p.a.e(a);var c=f.style.display!="none";if(a&&!c)f.style.display="";else if(!a&&c)f.style.display="none"}};p.c.enable={update:function(f,a){if((a=p.a.e(a))&&f.disabled)f.removeAttribute("disabled");else if(!a&&!f.disabled)f.disabled=m}};p.c.disable={update:function(f,a){p.c.enable.update(f,!p.a.e(a))}};
+p.c.value={init:function(f,a,c){var d=c.valueUpdate||"change",e=o;if(p.a.Pa(d,"after")){e=m;d=d.substring(5)}var g=e?function(h){setTimeout(h,0)}:function(h){h()};if(p.B(a))p.a.k(f,d,function(){g(function(){a(p.f.j(this))}.bind(this))});else c._ko_property_writers&&c._ko_property_writers.value&&p.a.k(f,d,function(){g(function(){c._ko_property_writers.value(p.f.j(this))}.bind(this))})},update:function(f,a){var c=p.a.e(a);if(c!=p.f.j(f)){var d=function(){p.f.G(f,c)};d();f.tagName=="SELECT"&&setTimeout(d,
0)}}};
-q.c.options={update:function(e,a,b){if(e.tagName!="SELECT")c(Error("options binding applies only to SELECT elements"));var d=q.a.I(q.a.H(e.childNodes,function(i){return i.tagName&&i.tagName=="OPTION"&&i.selected}),function(i){return q.f.j(i)||i.innerText||i.textContent});a=q.a.e(a);q.a.Y(e);if(a){if(typeof a.length!="number")a=[a];if(b.optionsCaption){var f=document.createElement("OPTION");f.innerHTML=b.optionsCaption;q.f.G(f,undefined);e.appendChild(f)}for(var g=0,h=a.length;g=0){q.a.ma(e[g],k);a++}}}};q.c.options.C="__ko.bindingHandlers.options.optionValueDomData__";
-q.c.selectedOptions={ba:function(e){var a=[];e=e.childNodes;for(var b=0,d=e.length;b=0)}}};q.c.text={update:function(e,a){a=q.a.e(a);typeof e.innerText=="string"?e.innerText=a:e.textContent=a}};q.c.css={update:function(e,a){a=a||{};for(var b in a)if(typeof b=="string"){var d=q.a.e(a[b]);q.a.Wa(e,b,d)}}};q.c.style={update:function(e,a){a=q.a.e(a||{});for(var b in a)if(typeof b=="string"){var d=q.a.e(a[b]);e.style[b]=d||""}}};
-q.c.uniqueName={init:function(e,a){if(a){e.name="ko_unique_"+ ++q.c.uniqueName.ya;q.a.M&&e.mergeAttributes(document.createElement(""),o)}}};q.c.uniqueName.ya=0;
-q.c.checked={init:function(e,a,b){if(q.B(a)){var d;if(e.type=="checkbox")d=function(){a(this.checked)};else if(e.type=="radio")d=function(){this.checked&&a(this.value)};if(d){q.a.k(e,"change",d);q.a.k(e,"click",d)}}else if(b._ko_property_writers&&b._ko_property_writers.checked){if(e.type=="checkbox")d=function(){b._ko_property_writers.checked(this.checked)};else if(e.type=="radio")d=function(){this.checked&&b._ko_property_writers.checked(this.value)};if(d){q.a.k(e,"change",d);q.a.k(e,"click",d)}}e.type==
-"radio"&&!e.name&&q.c.uniqueName.init(e,k)},update:function(e,a){a=q.a.e(a);if(e.type=="checkbox")(e.checked=a)&&q.a.M&&e.mergeAttributes(document.createElement(""),o);else if(e.type=="radio"){e.checked=e.value==a;e.value==a&&q.a.M&&e.mergeAttributes(document.createElement(""),o)}}};
-q.S=function(){this.renderTemplate=function(){c("Override renderTemplate in your ko.templateEngine subclass")};this.isTemplateRewritten=function(){c("Override isTemplateRewritten in your ko.templateEngine subclass")};this.rewriteTemplate=function(){c("Override rewriteTemplate in your ko.templateEngine subclass")};this.createJavaScriptEvaluatorBlock=function(){c("Override createJavaScriptEvaluatorBlock in your ko.templateEngine subclass")}};p.b("ko.templateEngine",q.S);
-q.D=function(){var e=/(<[a-z]+(\s+(?!data-bind=)[a-z0-9]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])(.*?)\5/g;return{Da:function(a,b){b.isTemplateRewritten(a)||b.rewriteTemplate(a,function(d){return q.D.Ma(d,b)})},Ma:function(a,b){return a.replace(e,function(d,f,g,h,j,i,l){d=l;d=q.p.L(d);return b.createJavaScriptEvaluatorBlock("ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() { return (function() { return { "+d+" } })() })")+f})},ra:function(a){return q.i.O(function(b,
-d){b.nextSibling&&q.U(b.nextSibling,a,d)})}}}();p.b("ko.templateRewriting",q.D);p.b("ko.templateRewriting.applyMemoizedBindingsToNextSibling",q.D.ra);
-(function(){function e(b,d,f,g,h){var j=q.a.e(g);h=h||{};var i=h.templateEngine||a;q.D.Da(f,i);f=i.renderTemplate(f,j,h);if(typeof f.length!="number"||f.length>0&&typeof f[0].nodeType!="number")c("Template engine must return an array of DOM nodes");f&&q.a.h(f,function(l){q.i.pa(l,[g])});switch(d){case "replaceChildren":q.a.Ra(b,f);break;case "replaceNode":q.a.ja(b,f);break;case "ignoreTargetNode":break;default:c(Error("Unknown renderMode: "+d))}return f}var a;q.na=function(b){if(b!=undefined&&!(b instanceof
-q.S))c("templateEngine must inherit from ko.templateEngine");a=b};q.P=function(b,d,f,g,h){f=f||{};if((f.templateEngine||a)==undefined)c("Set a template engine before calling renderTemplate");h=h||"replaceChildren";if(g){var j=g.nodeType?g:g.length>0?g[0]:n;return new q.n(function(){var i=e(g,h,b,d,f);if(h=="replaceNode"){g=i;j=g.nodeType?g:g.length>0?g[0]:n}},n,{disposeWhen:function(){return!j||!q.a.z(j)}})}else return q.i.O(function(i){q.P(b,d,f,i,"replaceNode")})};q.Qa=function(b,d,f,g){new q.n(function(){var h=
-q.a.e(d)||[];if(typeof h.length=="undefined")h=[h];h=q.a.H(h,function(j){return f.includeDestroyed||!j._destroy});q.a.la(g,h,function(j){return e(n,"ignoreTargetNode",b,j,f)},f)},n,{disposeWhen:function(){return!q.a.z(g)}})};q.c.template={update:function(b,d,f,g){f=typeof d=="string"?d:d.name;if(typeof d.foreach!="undefined")q.Qa(f,d.foreach||[],{afterAdd:d.afterAdd,beforeRemove:d.beforeRemove,includeDestroyed:d.includeDestroyed},b);else{d=d.data;q.P(f,typeof d=="undefined"?g:d,n,b)}}}})();
-p.b("ko.setTemplateEngine",q.na);p.b("ko.renderTemplate",q.P);
-q.a.r=function(e,a,b){if(b===undefined)return q.a.r(e,a,1)||q.a.r(e,a,10)||q.a.r(e,a,Number.MAX_VALUE);else{e=e||[];a=a||[];for(var d=e,f=a,g=[],h=0;h<=f.length;h++)g[h]=[];h=0;for(var j=Math.min(d.length,b);h<=j;h++)g[0][h]=h;h=1;for(j=Math.min(f.length,b);h<=j;h++)g[h][0]=h;j=d.length;var i,l=f.length;for(h=1;h<=j;h++){var m=Math.min(l,h+b);for(i=Math.max(1,h-b);i<=m;i++)g[i][h]=d[h-1]===f[i-1]?g[i-1][h-1]:Math.min(g[i-1][h]===undefined?Number.MAX_VALUE:g[i-1][h]+1,g[i][h-1]===undefined?Number.MAX_VALUE:
-g[i][h-1]+1)}e=e;a=a;b=e.length;d=a.length;f=[];h=g[d][b];if(h===undefined)g=n;else{for(;b>0||d>0;){j=g[d][b];i=d>0?g[d-1][b]:h+1;l=b>0?g[d][b-1]:h+1;m=d>0&&b>0?g[d-1][b-1]:h+1;if(i===undefined||i0&&q.a.ja(d,f);d.splice(0,d.length);q.a.V(d,f)},n,{disposeWhen:function(){return d.length==0||!q.a.z(d[0])}});return d}q.a.la=function(a,b,d,f){b=b||[];f=f||{};var g=q.a.d.K(a,"setDomNodeChildrenFromArrayMapping_lastMappingResult")===undefined,h=q.a.d.K(a,"setDomNodeChildrenFromArrayMapping_lastMappingResult")||[],j=q.a.I(h,function(s){return s.sa}),i=q.a.r(j,b);b=[];var l=0,m=[];j=[];for(var r=n,v=0,x=i.length;v0)r=t.A[t.A.length-1];l++;break;case "deleted":q.a.h(h[l].A,function(s){m.push(s);r=s});l++;break;case "added":t=e(d,i[v].value);b.push({sa:i[v].value,A:t});for(var w=0,y=t.length;w";f=$.F(f,d)[0].text.replace(a,"'");return jQuery.$a([f],document)}d=[d];f=e(b).text;return $.F(f,d)};this.isTemplateRewritten=function(b){return e(b).Ka===k};this.rewriteTemplate=function(b,d){var f=e(b),g=d(f.text);if(this.t==1){g=q.a.m(g);g=g.replace(/([\s\S]*?)(\${[\s\S]*?}|{{[\=a-z][\s\S]*?}}|$)/g,function(h,j,i){return j.replace(/\'/g,"__ko_apos__")+i})}f.text=g;f.Ka=k};this.createJavaScriptEvaluatorBlock=function(b){if(this.t==1)return"{{= "+b+"}}";return"{{ko_code ((function() { return "+
-b+" })()) }}"};this.Za=function(b,d){document.write("