/*!
 * Knockout JavaScript library v3.5.1
 * (c) The Knockout.js team - http://knockoutjs.com/
 * License: MIT (http://www.opensource.org/licenses/mit-license.php)
 */
(function(){(function(n){var r=this||eval("this"),i=r.document,f=r.navigator,t=r.jQuery,u=r.JSON;t||"undefined"==typeof jQuery||(t=jQuery),function(n){"function"==typeof define&&define.amd?define(["exports","require"],n):"object"==typeof exports&&"object"==typeof module?n(module.exports||exports):n(r.ko={})}(function(e,o){function b(n,t){return null===n||typeof n in d?n===t:!1}function g(t,i){var r;return function(){r||(r=s.a.setTimeout(function(){r=n;t()},i))}}function nt(n,t){var i;return function(){clearTimeout(i);i=s.a.setTimeout(n,t)}}function tt(n,t){t&&"change"!==t?"beforeChange"===t?this.pc(n):this.gb(n,t):this.qc(n)}function it(n,t){null!==t&&t.s&&t.s()}function rt(n,t){var i=this.qd,r=i[h];r.ra||(this.Qb&&this.mb[t]?(i.uc(t,n,this.mb[t]),this.mb[t]=null,--this.Qb):r.I[t]||i.uc(t,n,r.J?{da:n}:i.$c(n)),n.Ja&&n.gd())}var s="undefined"!=typeof e?e:{},d,l,v,a,y,h,p,k,w;s.b=function(n,t){for(var i=n.split("."),r=s,u=0;u<i.length-1;u++)r=r[i[u]];r[i[i.length-1]]=t};s.L=function(n,t,i){n[t]=i};s.version="3.5.1";s.b("version",s.version);s.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1};s.a=function(){function o(n,t){for(var i in n)h.call(n,i)&&t(i,n[i])}function v(n,t){if(t)for(var i in t)h.call(t,i)&&(n[i]=t[i]);return n}function y(n,t){return n.__proto__=t,n}function p(n,t,i,r){var u=n[t].match(l)||[];s.a.D(i.match(l),function(n){s.a.Na(u,n,r)});n[t]=u.join(" ")}var h=Object.prototype.hasOwnProperty,w={__proto__:[]}instanceof Array,k="function"==typeof Symbol,c={},b={};c[f&&/Firefox\/2/i.test(f.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"];c.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" ");o(c,function(n,t){if(t.length)for(var i=0,r=t.length;i<r;i++)b[t[i]]=n});var d={propertychange:!0},e=i&&function(){for(var t=3,r=i.createElement("div"),u=r.getElementsByTagName("i");r.innerHTML="<!--[if gt IE "+ ++t+"]><i><\/i><![endif]-->",u[0];);return 4<t?t:n}(),l=/\S+/g,a;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(n,t,i){for(var r=0,u=n.length;r<u;r++)t.call(i,n[r],r,n)},A:"function"==typeof Array.prototype.indexOf?function(n,t){return Array.prototype.indexOf.call(n,t)}:function(n,t){for(var i=0,r=n.length;i<r;i++)if(n[i]===t)return i;return-1},Lb:function(t,i,r){for(var u=0,f=t.length;u<f;u++)if(i.call(r,t[u],u,t))return t[u];return n},Pa:function(n,t){var i=s.a.A(n,t);0<i?n.splice(i,1):0===i&&n.shift()},wc:function(n){var t=[];return n&&s.a.D(n,function(n){0>s.a.A(t,n)&&t.push(n)}),t},Mb:function(n,t,i){var u=[],r,f;if(n)for(r=0,f=n.length;r<f;r++)u.push(t.call(i,n[r],r));return u},jb:function(n,t,i){var u=[],r,f;if(n)for(r=0,f=n.length;r<f;r++)t.call(i,n[r],r)&&u.push(n[r]);return u},Nb:function(n,t){if(t instanceof Array)n.push.apply(n,t);else for(var i=0,r=t.length;i<r;i++)n.push(t[i]);return n},Na:function(n,t,i){var r=s.a.A(s.a.bc(n),t);0>r?i&&n.push(t):i||n.splice(r,1)},Ba:w,extend:v,setPrototypeOf:y,Ab:w?y:v,P:o,Ga:function(n,t,i){if(!n)return n;var u={};for(var r in n)h.call(n,r)&&(u[r]=t.call(i,n[r],r,n));return u},Tb:function(n){for(;n.firstChild;)s.removeNode(n.firstChild)},Yb:function(n){n=s.a.la(n);for(var r=(n[0]&&n[0].ownerDocument||i).createElement("div"),t=0,u=n.length;t<u;t++)r.appendChild(s.oa(n[t]));return r},Ca:function(n,t){for(var r,i=0,f=n.length,u=[];i<f;i++)r=n[i].cloneNode(!0),u.push(t?s.oa(r):r);return u},va:function(n,t){if(s.a.Tb(n),t)for(var i=0,r=t.length;i<r;i++)n.appendChild(t[i])},Xc:function(n,t){var r=n.nodeType?[n]:n;if(0<r.length){for(var f=r[0],e=f.parentNode,i=0,u=t.length;i<u;i++)e.insertBefore(t[i],f);for(i=0,u=r.length;i<u;i++)s.removeNode(r[i])}},Ua:function(n,t){if(n.length){for(t=8===t.nodeType&&t.parentNode||t;n.length&&n[0].parentNode!==t;)n.splice(0,1);for(;1<n.length&&n[n.length-1].parentNode!==t;)n.length--;if(1<n.length){var i=n[0],r=n[n.length-1];for(n.length=0;i!==r;)n.push(i),i=i.nextSibling;n.push(r)}}return n},Zc:function(n,t){7>e?n.setAttribute("selected",t):n.selected=t},Db:function(t){return null===t||t===n?"":t.trim?t.trim():t.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(n,t){return n=n||"",t.length>n.length?!1:n.substring(0,t.length)===t},vd:function(n,t){if(n===t)return!0;if(11===n.nodeType)return!1;if(t.contains)return t.contains(1!==n.nodeType?n.parentNode:n);if(t.compareDocumentPosition)return 16==(t.compareDocumentPosition(n)&16);for(;n&&n!=t;)n=n.parentNode;return!!n},Sb:function(n){return s.a.vd(n,n.ownerDocument.documentElement)},kd:function(n){return!!s.a.Lb(n,s.a.Sb)},R:function(n){return n&&n.tagName&&n.tagName.toLowerCase()},Ac:function(n){return s.onError?function(){try{return n.apply(this,arguments)}catch(t){throw s.onError&&s.onError(t),t;}}:n},setTimeout:function(n,t){return setTimeout(s.a.Ac(n),t)},Gc:function(n){setTimeout(function(){s.onError&&s.onError(n);throw n;},0)},B:function(n,i,r){var u=s.a.Ac(r),f,e;if(r=d[i],s.options.useOnlyNativeEvents||r||!t)if(r||"function"!=typeof n.addEventListener)if("undefined"!=typeof n.attachEvent)f=function(t){u.call(n,t)},e="on"+i,n.attachEvent(e,f),s.a.K.za(n,function(){n.detachEvent(e,f)});else throw Error("Browser doesn't support addEventListener or attachEvent");else n.addEventListener(i,u,!1);else a||(a="function"==typeof t(n).on?"on":"bind"),t(n)[a](i,u)},Fb:function(n,u){if(!n||!n.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var f;if("input"===s.a.R(n)&&n.type&&"click"==u.toLowerCase()?(f=n.type,f="checkbox"==f||"radio"==f):f=!1,s.options.useOnlyNativeEvents||!t||f)if("function"==typeof i.createEvent)if("function"==typeof n.dispatchEvent)f=i.createEvent(b[u]||"HTMLEvents"),f.initEvent(u,!0,!0,r,0,0,0,0,0,!1,!1,!1,!1,0,n),n.dispatchEvent(f);else throw Error("The supplied element doesn't support dispatchEvent");else if(f&&n.click)n.click();else if("undefined"!=typeof n.fireEvent)n.fireEvent("on"+u);else throw Error("Browser doesn't support triggering events");else t(n).trigger(u)},f:function(n){return s.O(n)?n():n},bc:function(n){return s.O(n)?n.v():n},Eb:function(n,t,i){var r;t&&("object"==typeof n.classList?(r=n.classList[i?"add":"remove"],s.a.D(t.match(l),function(t){r.call(n.classList,t)})):"string"==typeof n.className.baseVal?p(n.className,"baseVal",t,i):p(n,"className",t,i))},Bb:function(t,i){var r=s.a.f(i),u;(null===r||r===n)&&(r="");u=s.h.firstChild(t);!u||3!=u.nodeType||s.h.nextSibling(u)?s.h.va(t,[t.ownerDocument.createTextNode(r)]):u.data=r;s.a.Ad(t)},Yc:function(n,t){if(n.name=t,7>=e)try{var r=n.name.replace(/[&<>'"]/g,function(n){return"&#"+n.charCodeAt(0)+";"});n.mergeAttributes(i.createElement("<input name='"+r+"'/>"),!1)}catch(u){}},Ad:function(n){9<=e&&(n=1==n.nodeType?n:n.parentNode,n.style&&(n.style.zoom=n.style.zoom))},wd:function(n){if(e){var t=n.style.width;n.style.width=0;n.style.width=t}},Pd:function(n,t){n=s.a.f(n);t=s.a.f(t);for(var r=[],i=n;i<=t;i++)r.push(i);return r},la:function(n){for(var i=[],t=0,r=n.length;t<r;t++)i.push(n[t]);return i},Da:function(n){return k?Symbol(n):n},Zd:6===e,$d:7===e,W:e,Lc:function(n,t){for(var r=s.a.la(n.getElementsByTagName("input")).concat(s.a.la(n.getElementsByTagName("textarea"))),f="string"==typeof t?function(n){return n.name===t}:function(n){return t.test(n.name)},u=[],i=r.length-1;0<=i;i--)f(r[i])&&u.push(r[i]);return u},Nd:function(n){return"string"==typeof n&&(n=s.a.Db(n))?u&&u.parse?u.parse(n):new Function("return "+n)():null},hc:function(n,t,i){if(!u||!u.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 u.stringify(s.a.f(n),t,i)},Od:function(n,t,r){var v,e,h,f,u,c;r=r||{};var l=r.params||{},a=r.includeFields||this.Jc,v=n;if("object"==typeof n&&"form"===s.a.R(n))for(v=n.action,e=a.length-1;0<=e;e--)for(h=s.a.Lc(n,a[e]),f=h.length-1;0<=f;f--)l[h[f].name]=h[f].value;t=s.a.f(t);u=i.createElement("form");u.style.display="none";u.action=v;u.method="post";for(c in t)n=i.createElement("input"),n.type="hidden",n.name=c,n.value=s.a.hc(s.a.f(t[c])),u.appendChild(n);o(l,function(n,t){var r=i.createElement("input");r.type="hidden";r.name=n;r.value=t;u.appendChild(r)});i.body.appendChild(u);r.submitter?r.submitter(u):u.submit();setTimeout(function(){u.parentNode.removeChild(u)},0)}}}();s.b("utils",s.a);s.b("utils.arrayForEach",s.a.D);s.b("utils.arrayFirst",s.a.Lb);s.b("utils.arrayFilter",s.a.jb);s.b("utils.arrayGetDistinctValues",s.a.wc);s.b("utils.arrayIndexOf",s.a.A);s.b("utils.arrayMap",s.a.Mb);s.b("utils.arrayPushAll",s.a.Nb);s.b("utils.arrayRemoveItem",s.a.Pa);s.b("utils.cloneNodes",s.a.Ca);s.b("utils.createSymbolOrString",s.a.Da);s.b("utils.extend",s.a.extend);s.b("utils.fieldsIncludedWithJsonPost",s.a.Jc);s.b("utils.getFormFields",s.a.Lc);s.b("utils.objectMap",s.a.Ga);s.b("utils.peekObservable",s.a.bc);s.b("utils.postJson",s.a.Od);s.b("utils.parseJson",s.a.Nd);s.b("utils.registerEventHandler",s.a.B);s.b("utils.stringifyJson",s.a.hc);s.b("utils.range",s.a.Pd);s.b("utils.toggleDomNodeCssClass",s.a.Eb);s.b("utils.triggerEvent",s.a.Fb);s.b("utils.unwrapObservable",s.a.f);s.b("utils.objectForEach",s.a.P);s.b("utils.addOrRemoveItem",s.a.Na);s.b("utils.setTextContent",s.a.Bb);s.b("unwrap",s.a.f);Function.prototype.bind||(Function.prototype.bind=function(n){var t=this,i;return 1===arguments.length?function(){return t.apply(n,arguments)}:(i=Array.prototype.slice.call(arguments,1),function(){var r=i.slice(0);return r.push.apply(r,arguments),t.apply(n,r)})});s.a.g=new function(){var f=0,t="__ko__"+(new Date).getTime(),r={},i,u;return s.a.W?(i=function(i,u){var e=i[t];if(!e||"null"===e||!r[e]){if(!u)return n;e=i[t]="ko"+f++;r[e]={}}return r[e]},u=function(n){var i=n[t];return i?(delete r[i],n[t]=null,!0):!1}):(i=function(n,i){var r=n[t];return!r&&i&&(r=n[t]={}),r},u=function(n){return n[t]?(delete n[t],!0):!1}),{get:function(n,t){var r=i(n,!1);return r&&r[t]},set:function(t,r,u){(t=i(t,u!==n))&&(t[r]=u)},Ub:function(n,t,r){return n=i(n,!0),n[t]||(n[t]=r)},clear:u,Z:function(){return f+++t}}};s.b("utils.domData",s.a.g);s.b("utils.domData.clear",s.a.g.clear);s.a.K=new function(){function i(t,i){var u=s.a.g.get(t,r);return u===n&&i&&(u=[],s.a.g.set(t,r,u)),u}function u(n){var t=i(n,!1),r;if(t)for(t=t.slice(0),r=0;r<t.length;r++)t[r](n);s.a.g.clear(n);s.a.K.cleanExternalData(n);e[n.nodeType]&&f(n.childNodes,!0)}function f(n,t){for(var r=[],f,i=0;i<n.length;i++)if((!t||8===n[i].nodeType)&&(u(r[r.length]=f=n[i]),n[i]!==f))for(;i--&&-1==s.a.A(r,n[i]););}var r=s.a.g.Z(),o={1:!0,8:!0,9:!0},e={1:!0,9:!0};return{za:function(n,t){if("function"!=typeof t)throw Error("Callback must be a function");i(n,!0).push(t)},yb:function(t,u){var f=i(t,!1);f&&(s.a.Pa(f,u),0==f.length&&s.a.g.set(t,r,n))},oa:function(n){return s.u.G(function(){o[n.nodeType]&&(u(n),e[n.nodeType]&&f(n.getElementsByTagName("*")))}),n},removeNode:function(n){s.oa(n);n.parentNode&&n.parentNode.removeChild(n)},cleanExternalData:function(n){t&&"function"==typeof t.cleanData&&t.cleanData([n])}}};s.oa=s.a.K.oa;s.removeNode=s.a.K.removeNode;s.b("cleanNode",s.oa);s.b("removeNode",s.removeNode);s.b("utils.domNodeDisposal",s.a.K);s.b("utils.domNodeDisposal.addDisposeCallback",s.a.K.za);s.b("utils.domNodeDisposal.removeDisposeCallback",s.a.K.yb),function(){var h=[0,"",""],u=[1,"<table>","<\/table>"],f=[3,"<table><tbody><tr>","<\/tr><\/tbody><\/table>"],e=[1,"<select multiple='multiple'>","<\/select>"],c={thead:u,tbody:u,tfoot:u,tr:[2,"<table><tbody>","<\/tbody><\/table>"],td:f,th:f,option:e,optgroup:e},o=8>=s.a.W;s.a.ua=function(n,u){var f,e;if(t){if(t.parseHTML)f=t.parseHTML(n,u)||[];else if((f=t.clean([n],u))&&f[0]){for(e=f[0];e.parentNode&&11!==e.parentNode.nodeType;)e=e.parentNode;e.parentNode&&e.parentNode.removeChild(e)}}else{(f=u)||(f=i);var e=f.parentWindow||f.defaultView||r,v=s.a.Db(n).toLowerCase(),l=f.createElement("div"),a;for(a=(v=v.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&c[v[1]]||h,v=a[0],a="ignored<div>"+a[1]+n+a[2]+"<\/div>","function"==typeof e.innerShiv?l.appendChild(e.innerShiv(a)):(o&&f.body.appendChild(l),l.innerHTML=a,o&&l.parentNode.removeChild(l));v--;)l=l.lastChild;f=s.a.la(l.lastChild.childNodes)}return f};s.a.Md=function(n,t){var i=s.a.ua(n,t);return i.length&&i[0].parentElement||s.a.Yb(i)};s.a.fc=function(i,r){if(s.a.Tb(i),r=s.a.f(r),null!==r&&r!==n)if("string"!=typeof r&&(r=r.toString()),t)t(i).html(r);else for(var f=s.a.ua(r,i.ownerDocument),u=0;u<f.length;u++)i.appendChild(f[u])}}();s.b("utils.parseHtmlFragment",s.a.ua);s.b("utils.setHtml",s.a.fc);s.aa=function(){function i(n,t){var r;if(n)if(8==n.nodeType)r=s.aa.Uc(n.nodeValue),null!=r&&t.push({ud:n,Kd:r});else if(1==n.nodeType)for(var r=0,u=n.childNodes,f=u.length;r<f;r++)i(u[r],t)}var t={};return{Xb:function(n){if("function"!=typeof n)throw Error("You can only pass a function to ko.memoization.memoize()");var i=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return t[i]=n,"<!--[ko_memo:"+i+"]-->"},bd:function(i,r){var u=t[i];if(u===n)throw Error("Couldn't find any memo with ID "+i+". Perhaps it's already been unmemoized.");try{return u.apply(null,r||[]),!0}finally{delete t[i]}},cd:function(n,t){var f=[],u,o,r,e;for(i(n,f),u=0,o=f.length;u<o;u++)r=f[u].ud,e=[r],t&&s.a.Nb(e,t),s.aa.bd(f[u].Kd,e),r.nodeValue="",r.parentNode&&r.parentNode.removeChild(r)},Uc:function(n){return(n=n.match(/^\[ko_memo\:(.*?)\]$/))?n[1]:null}}}();s.b("memoization",s.aa);s.b("memoization.memoize",s.aa.Xb);s.b("memoization.unmemoize",s.aa.bd);s.b("memoization.parseMemoText",s.aa.Uc);s.b("memoization.unmemoizeDomNodeAndDescendants",s.aa.cd);s.na=function(){function f(){if(n)for(var i=n,r=0,f;t<n;)if(f=u[t++]){if(t>i){if(5e3<=++r){t=n;s.a.Gc(Error("'Too much recursion' after processing "+r+" task groups."));break}i=n}try{f()}catch(e){s.a.Gc(e)}}}function e(){f();t=n=u.length=0}var o,u=[],n=0,h=1,t=0;return o=r.MutationObserver?function(n){var t=i.createElement("div");return new MutationObserver(n).observe(t,{attributes:!0}),function(){t.classList.toggle("foo")}}(e):i&&"onreadystatechange"in i.createElement("script")?function(n){var t=i.createElement("script");t.onreadystatechange=function(){t.onreadystatechange=null;i.documentElement.removeChild(t);t=null;n()};i.documentElement.appendChild(t)}:function(n){setTimeout(n,0)},{scheduler:o,zb:function(t){return n||s.na.scheduler(e),u[n++]=t,h++},cancel:function(i){i=i-(h-n);i>=t&&i<n&&(u[i]=null)},resetForTesting:function(){var i=n-t;return t=n=u.length=0,i},Sd:f}}();s.b("tasks",s.na);s.b("tasks.schedule",s.na.zb);s.b("tasks.runEarly",s.na.Sd);s.Ta={throttle:function(n,t){n.throttleEvaluation=t;var i=null;return s.$({read:n,write:function(r){clearTimeout(i);i=s.a.setTimeout(function(){n(r)},t)}})},rateLimit:function(n,t){var r,i,u;"number"==typeof t?r=t:(r=t.timeout,i=t.method);n.Hb=!1;u="function"==typeof i?i:"notifyWhenChangesStop"==i?nt:g;n.ub(function(n){return u(n,r,t)})},deferred:function(t,i){if(!0!==i)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");t.Hb||(t.Hb=!0,t.ub(function(i){var u,r=!1;return function(){if(!r){s.na.cancel(u);u=s.na.zb(i);try{r=!0;t.notifySubscribers(n,"dirty")}finally{r=!1}}}}))},notify:function(n,t){n.equalityComparer="always"==t?null:b}};d={undefined:1,boolean:1,number:1,string:1};s.b("extenders",s.Ta);s.ic=function(n,t,i){this.da=n;this.lc=t;this.mc=i;this.Ib=!1;this.fb=this.Jb=null;s.L(this,"dispose",this.s);s.L(this,"disposeWhenNodeIsRemoved",this.l)};s.ic.prototype.s=function(){this.Ib||(this.fb&&s.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)};s.ic.prototype.l=function(n){this.Jb=n;s.a.K.za(n,this.fb=this.s.bind(this))};s.T=function(){s.a.Ab(this,l);l.qb(this)};l={qb:function(n){n.U={change:[]};n.sc=1},subscribe:function(n,t,i){var r=this,u;return i=i||"change",u=new s.ic(r,t?n.bind(t):n,function(){s.a.Pa(r.U[i],u);r.hb&&r.hb(i)}),r.Qa&&r.Qa(i),r.U[i]||(r.U[i]=[]),r.U[i].push(u),u},notifySubscribers:function(n,t){var u,i,r;if(t=t||"change","change"===t&&this.Gb(),this.Wa(t)){u="change"===t&&this.ed||this.U[t].slice(0);try{for(s.u.xc(),i=0;r=u[i];++i)r.Ib||r.lc(n)}finally{s.u.end()}}},ob:function(){return this.sc},Dd:function(n){return this.ob()!==n},Gb:function(){++this.sc},ub:function(n){var t=this,h=s.O(t),f,e,r,i,u,o;t.gb||(t.gb=t.notifySubscribers,t.notifySubscribers=tt);o=n(function(){t.Ja=!1;h&&i===t&&(i=t.nc?t.nc():t());var n=e||u&&t.sb(r,i);u=e=f=!1;n&&t.gb(r=i)});t.qc=function(n,r){r&&t.Ja||(u=!r);t.ed=t.U.change.slice(0);t.Ja=f=!0;i=n;o()};t.pc=function(n){f||(r=n,t.gb(n,"beforeChange"))};t.rc=function(){u=!0};t.gd=function(){t.sb(r,t.v(!0))&&(e=!0)}},Wa:function(n){return this.U[n]&&this.U[n].length},Bd:function(n){if(n)return this.U[n]&&this.U[n].length||0;var t=0;return s.a.P(this.U,function(n,i){"dirty"!==n&&(t+=i.length)}),t},sb:function(n,t){return!this.equalityComparer||!this.equalityComparer(n,t)},toString:function(){return"[object Object]"},extend:function(n){var t=this;return n&&s.a.P(n,function(n,i){var r=s.Ta[n];"function"==typeof r&&(t=r(t,i)||t)}),t}};s.L(l,"init",l.qb);s.L(l,"subscribe",l.subscribe);s.L(l,"extend",l.extend);s.L(l,"getSubscriptionsCount",l.Bd);s.a.Ba&&s.a.setPrototypeOf(l,Function.prototype);s.T.fn=l;s.Qc=function(n){return null!=n&&"function"==typeof n.subscribe&&"function"==typeof n.notifySubscribers};s.b("subscribable",s.T);s.b("isSubscribable",s.Qc);s.S=s.u=function(){function t(t){r.push(n);n=t}function i(){n=r.pop()}var r=[],n,u=0;return{xc:t,end:i,cc:function(t){if(n){if(!s.Qc(t))throw Error("Only subscribable things can act as dependencies");n.od.call(n.pd,t,t.fd||(t.fd=++u))}},G:function(n,r,u){try{return t(),n.apply(r,u||[])}finally{i()}},qa:function(){if(n)return n.o.qa()},Va:function(){if(n)return n.o.Va()},Ya:function(){if(n)return n.Ya},o:function(){if(n)return n.o}}}();s.b("computedContext",s.S);s.b("computedContext.getDependenciesCount",s.S.qa);s.b("computedContext.getDependencies",s.S.Va);s.b("computedContext.isInitial",s.S.Ya);s.b("computedContext.registerDependency",s.S.cc);s.b("ignoreDependencies",s.Yd=s.u.G);v=s.a.Da("_latestValue");s.ta=function(n){function t(){return 0<arguments.length?(t.sb(t[v],arguments[0])&&(t.ya(),t[v]=arguments[0],t.xa()),this):(s.u.cc(t),t[v])}return t[v]=n,s.a.Ba||s.a.extend(t,s.T.fn),s.T.fn.qb(t),s.a.Ab(t,a),s.options.deferUpdates&&s.Ta.deferred(t,!0),t};a={equalityComparer:b,v:function(){return this[v]},xa:function(){this.notifySubscribers(this[v],"spectate");this.notifySubscribers(this[v])},ya:function(){this.notifySubscribers(this[v],"beforeChange")}};s.a.Ba&&s.a.setPrototypeOf(a,s.T.fn);y=s.ta.Ma="__ko_proto__";a[y]=s.ta;s.O=function(n){if((n="function"==typeof n&&n[y])&&n!==a[y]&&n!==s.o.fn[y])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!n};s.Za=function(n){return"function"==typeof n&&(n[y]===a[y]||n[y]===s.o.fn[y]&&n.Nc)};s.b("observable",s.ta);s.b("isObservable",s.O);s.b("isWriteableObservable",s.Za);s.b("isWritableObservable",s.Za);s.b("observable.fn",a);s.L(a,"peek",a.v);s.L(a,"valueHasMutated",a.xa);s.L(a,"valueWillMutate",a.ya);s.Ha=function(n){if(n=n||[],"object"!=typeof n||!("length"in n))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return n=s.ta(n),s.a.Ab(n,s.Ha.fn),n.extend({trackArrayChanges:!0})};s.Ha.fn={remove:function(n){for(var u,i=this.v(),r=[],f="function"!=typeof n||s.O(n)?function(t){return t===n}:n,t=0;t<i.length;t++)if(u=i[t],f(u)){if(0===r.length&&this.ya(),i[t]!==u)throw Error("Array modified during remove; cannot remove item");r.push(u);i.splice(t,1);t--}return r.length&&this.xa(),r},removeAll:function(t){if(t===n){var i=this.v(),r=i.slice(0);return this.ya(),i.splice(0,i.length),this.xa(),r}return t?this.remove(function(n){return 0<=s.a.A(t,n)}):[]},destroy:function(n){var r=this.v(),u="function"!=typeof n||s.O(n)?function(t){return t===n}:n,t,i;for(this.ya(),t=r.length-1;0<=t;t--)i=r[t],u(i)&&(i._destroy=!0);this.xa()},destroyAll:function(t){return t===n?this.destroy(function(){return!0}):t?this.destroy(function(n){return 0<=s.a.A(t,n)}):[]},indexOf:function(n){var t=this();return s.a.A(t,n)},replace:function(n,t){var i=this.indexOf(n);0<=i&&(this.ya(),this.v()[i]=t,this.xa())},sorted:function(n){var t=this().slice(0);return n?t.sort(n):t.sort()},reversed:function(){return this().slice(0).reverse()}};s.a.Ba&&s.a.setPrototypeOf(s.Ha.fn,s.ta.fn);s.a.D("pop push reverse shift sort splice unshift".split(" "),function(n){s.Ha.fn[n]=function(){var t=this.v(),i;return this.ya(),this.zc(t,n,arguments),i=t[n].apply(t,arguments),this.xa(),i===t?this:i}});s.a.D(["slice"],function(n){s.Ha.fn[n]=function(){var t=this();return t[n].apply(t,arguments)}});s.Pc=function(n){return s.O(n)&&"function"==typeof n.remove&&"function"==typeof n.push};s.b("observableArray",s.Ha);s.b("isObservableArray",s.Pc);s.Ta.trackArrayChanges=function(t,i){function a(){function n(){if(u){var i=[].concat(t.v()||[]),n;t.Wa("arrayChange")&&((!r||1<u)&&(r=s.a.Pb(h,i,t.Ob)),n=r);h=i;r=null;u=0;n&&n.length&&t.notifySubscribers(n,"arrayChange")}}f?n():(f=!0,o=t.subscribe(function(){++u},null,"spectate"),h=[].concat(t.v()||[]),r=null,e=t.subscribe(n))}if(t.Ob={},i&&"object"==typeof i&&s.a.extend(t.Ob,i),t.Ob.sparse=!0,!t.zc){var f=!1,r=null,e,o,u=0,h,c=t.Qa,l=t.hb;t.Qa=function(n){c&&c.call(t,n);"arrayChange"===n&&a()};t.hb=function(i){l&&l.call(t,i);"arrayChange"!==i||t.Wa("arrayChange")||(e&&e.s(),o&&o.s(),o=e=null,f=!1,h=n)};t.zc=function(n,t,i){function c(n,t,i){return l[l.length]={status:n,value:t,index:i}}if(f&&!u){var l=[],e=n.length,h=i.length,o=0;switch(t){case"push":o=e;case"unshift":for(t=0;t<h;t++)c("added",i[t],o+t);break;case"pop":o=e-1;case"shift":e&&c("deleted",n[o],o);break;case"splice":t=Math.min(Math.max(0,0>i[0]?e+i[0]:i[0]),e);for(var e=1===h?e:Math.min(t+(i[1]||0),e),h=t+h-2,o=Math.max(e,h),a=[],v=[],y=2;t<o;++t,++y)t<e&&v.push(c("deleted",n[t],t)),t<h&&a.push(c("added",i[y],t));s.a.Kc(v,a);break;default:return}r=l}}}};h=s.a.Da("_state");s.o=s.$=function(t,i,r){function f(){if(0<arguments.length){if("function"==typeof e)e.apply(u.nb,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}return u.ra||s.u.cc(f),(u.ka||u.J&&f.Xa())&&f.ha(),u.X}if("object"==typeof t?r=t:(r=r||{},t&&(r.read=t)),"function"!=typeof r.read)throw Error("Pass a function that returns the value of the ko.computed");var e=r.write,u={X:n,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:r.read,nb:i||r.owner,l:r.disposeWhenNodeIsRemoved||r.l||null,Sa:r.disposeWhen||r.Sa,Rb:null,I:{},V:0,Ic:null};return f[h]=u,f.Nc="function"==typeof e,s.a.Ba||s.a.extend(f,s.T.fn),s.T.fn.qb(f),s.a.Ab(f,c),r.pure?(u.wb=!0,u.J=!0,s.a.extend(f,ut)):r.deferEvaluation&&s.a.extend(f,ft),s.options.deferUpdates&&s.Ta.deferred(f,!0),u.l&&(u.jc=!0,u.l.nodeType||(u.l=null)),u.J||r.deferEvaluation||f.ha(),u.l&&f.ja()&&s.a.K.za(u.l,u.Rb=function(){f.s()}),f};var c={equalityComparer:b,qa:function(){return this[h].V},Va:function(){var n=[];return s.a.P(this[h].I,function(t,i){n[i.Ka]=i.da}),n},Vb:function(n){if(!this[h].V)return!1;var t=this.Va();return-1!==s.a.A(t,n)?!0:!!s.a.Lb(t,function(t){return t.Vb&&t.Vb(n)})},uc:function(n,t,i){if(this[h].wb&&t===this)throw Error("A 'pure' computed must not be called recursively");this[h].I[n]=i;i.Ka=this[h].V++;i.La=t.ob()},Xa:function(){var t,n,i=this[h].I;for(t in i)if(Object.prototype.hasOwnProperty.call(i,t)&&(n=i[t],this.Ia&&n.da.Ja||n.da.Dd(n.La)))return!0},Jd:function(){this.Ia&&!this[h].rb&&this.Ia(!1)},ja:function(){var n=this[h];return n.ka||0<n.V},Rd:function(){this.Ja?this[h].ka&&(this[h].sa=!0):this.Hc()},$c:function(n){if(n.Hb){var t=n.subscribe(this.Jd,this,"dirty"),i=n.subscribe(this.Rd,this);return{da:n,s:function(){t.s();i.s()}}}return n.subscribe(this.Hc,this)},Hc:function(){var n=this,t=n.throttleEvaluation;t&&0<=t?(clearTimeout(this[h].Ic),this[h].Ic=s.a.setTimeout(function(){n.ha(!0)},t)):n.Ia?n.Ia(!0):n.ha(!0)},ha:function(n){var t=this[h],i=t.Sa,r=!1;if(!t.rb&&!t.ra){if(t.l&&!s.a.Sb(t.l)||i&&i()){if(!t.jc){this.s();return}}else t.jc=!1;t.rb=!0;try{r=this.zd(n)}finally{t.rb=!1}return r}},zd:function(t){var i=this[h],r=!1,f=i.wb?n:!i.V,r={qd:this,mb:i.I,Qb:i.V},u;return s.u.xc({pd:r,od:rt,o:this,Ya:f}),i.I={},i.V=0,u=this.yd(i,r),i.V?r=this.sb(i.X,u):(this.s(),r=!0),r&&(i.J?this.Gb():this.notifySubscribers(i.X,"beforeChange"),i.X=u,this.notifySubscribers(i.X,"spectate"),!i.J&&t&&this.notifySubscribers(i.X),this.rc&&this.rc()),f&&this.notifySubscribers(i.X,"awake"),r},yd:function(n,t){try{var i=n.Wc;return n.nb?i.call(n.nb):i()}finally{s.u.end();t.Qb&&!n.J&&s.a.P(t.mb,it);n.sa=n.ka=!1}},v:function(n){var t=this[h];return(t.ka&&(n||!t.V)||t.J&&this.Xa())&&this.ha(),t.X},ub:function(n){s.T.fn.ub.call(this,n);this.nc=function(){return this[h].J||(this[h].sa?this.ha():this[h].ka=!1),this[h].X};this.Ia=function(n){this.pc(this[h].X);this[h].ka=!0;n&&(this[h].sa=!0);this.qc(this,!n)}},s:function(){var t=this[h];!t.J&&t.I&&s.a.P(t.I,function(n,t){t.s&&t.s()});t.l&&t.Rb&&s.a.K.yb(t.l,t.Rb);t.I=n;t.V=0;t.ra=!0;t.sa=!1;t.ka=!1;t.J=!1;t.l=n;t.Sa=n;t.Wc=n;this.Nc||(t.nb=n)}},ut={Qa:function(n){var i=this,t=i[h],r;!t.ra&&t.J&&"change"==n&&(t.J=!1,t.sa||i.Xa()?(t.I=null,t.V=0,i.ha()&&i.Gb()):(r=[],s.a.P(t.I,function(n,t){r[t.Ka]=n}),s.a.D(r,function(n,r){var f=t.I[n],u=i.$c(f.da);u.Ka=r;u.La=f.La;t.I[n]=u}),i.Xa()&&i.ha()&&i.Gb()),t.ra||i.notifySubscribers(t.X,"awake"))},hb:function(t){var i=this[h];i.ra||"change"!=t||this.Wa("change")||(s.a.P(i.I,function(n,t){t.s&&(i.I[n]={da:t.da,Ka:t.Ka,La:t.La},t.s())}),i.J=!0,this.notifySubscribers(n,"asleep"))},ob:function(){var n=this[h];return n.J&&(n.sa||this.Xa())&&this.ha(),s.T.fn.ob.call(this)}},ft={Qa:function(n){"change"!=n&&"beforeChange"!=n||this.v()}};s.a.Ba&&s.a.setPrototypeOf(c,s.T.fn);p=s.ta.Ma;c[p]=s.o;s.Oc=function(n){return"function"==typeof n&&n[p]===c[p]};s.Fd=function(n){return s.Oc(n)&&n[h]&&n[h].wb};s.b("computed",s.o);s.b("dependentObservable",s.o);s.b("isComputed",s.Oc);s.b("isPureComputed",s.Fd);s.b("computed.fn",c);s.L(c,"peek",c.v);s.L(c,"dispose",c.s);s.L(c,"isActive",c.ja);s.L(c,"getDependenciesCount",c.qa);s.L(c,"getDependencies",c.Va);s.xb=function(n,t){return"function"==typeof n?s.o(n,t,{pure:!0}):(n=s.a.extend({},n),n.pure=!0,s.o(n,t))};s.b("pureComputed",s.xb),function(){function i(u,f,e){if(e=e||new t,u=f(u),"object"!=typeof u||null===u||u===n||u instanceof RegExp||u instanceof Date||u instanceof String||u instanceof Number||u instanceof Boolean)return u;var o=u instanceof Array?[]:{};return e.save(u,o),r(u,function(t){var r=f(u[t]),s;switch(typeof r){case"boolean":case"number":case"string":case"function":o[t]=r;break;case"object":case"undefined":s=e.get(r);o[t]=s!==n?s:i(r,f,e)}}),o}function r(n,t){if(n instanceof Array){for(var i=0;i<n.length;i++)t(i);"function"==typeof n.toJSON&&t("toJSON")}else for(i in n)t(i)}function t(){this.keys=[];this.values=[]}s.ad=function(n){if(0==arguments.length)throw Error("When calling ko.toJS, pass the object you want to convert.");return i(n,function(n){for(var t=0;s.O(n)&&10>t;t++)n=n();return n})};s.toJSON=function(n,t,i){return n=s.ad(n),s.a.hc(n,t,i)};t.prototype={constructor:t,save:function(n,t){var i=s.a.A(this.keys,n);0<=i?this.values[i]=t:(this.keys.push(n),this.values.push(t))},get:function(t){return t=s.a.A(this.keys,t),0<=t?this.values[t]:n}}}();s.b("toJS",s.ad);s.b("toJSON",s.toJSON);s.Wd=function(n,t,i){function r(t){var r=s.xb(n,i).extend({ma:"always"}),u=r.subscribe(function(n){n&&(u.s(),t(n))});return r.notifySubscribers(r.v()),u}return"function"!=typeof Promise||t?r(t.bind(i)):new Promise(r)};s.b("when",s.Wd),function(){s.w={M:function(t){switch(s.a.R(t)){case"option":return!0===t.__ko__hasDomDataOptionValue__?s.a.g.get(t,s.c.options.$b):7>=s.a.W?t.getAttributeNode("value")&&t.getAttributeNode("value").specified?t.value:t.text:t.value;case"select":return 0<=t.selectedIndex?s.w.M(t.options[t.selectedIndex]):n;default:return t.value}},cb:function(t,i,r){switch(s.a.R(t)){case"option":"string"==typeof i?(s.a.g.set(t,s.c.options.$b,n),"__ko__hasDomDataOptionValue__"in t&&delete t.__ko__hasDomDataOptionValue__,t.value=i):(s.a.g.set(t,s.c.options.$b,i),t.__ko__hasDomDataOptionValue__=!0,t.value="number"==typeof i?i:"");break;case"select":(""===i||null===i)&&(i=n);for(var u=-1,f=0,o=t.options.length,e;f<o;++f)if(e=s.w.M(t.options[f]),e==i||""===e&&i===n){u=f;break}(r||0<=u||i===n&&1<t.size)&&(t.selectedIndex=u,6===s.a.W&&s.a.setTimeout(function(){t.selectedIndex=u},0));break;default:(null===i||i===n)&&(i="");t.value=i}}}}();s.b("selectExtensions",s.w);s.b("selectExtensions.readValue",s.w.M);s.b("selectExtensions.writeValue",s.w.cb);s.m=function(){function t(n){var c,r,t;n=s.a.Db(n);123===n.charCodeAt(0)&&(n=n.slice(1,-1));n+="\n,";var a=[],l=n.match(i),o,u=[],h=0;if(1<l.length){for(c=0;r=l[c];++c){if(t=r.charCodeAt(0),44===t){if(0>=h){a.push(o&&u.length?{key:o,value:u.join("")}:{unknown:o||u.join("")});o=h=0;u=[];continue}}else if(58===t){if(!h&&!o&&1===u.length){o=u.pop();continue}}else if(47===t&&1<r.length&&(47===r.charCodeAt(1)||42===r.charCodeAt(1)))continue;else 47===t&&c&&1<r.length?(t=l[c-1].match(f))&&!e[t[0]]&&(n=n.substr(n.indexOf(r)+1),l=n.match(i),c=-1,r="/"):40===t||123===t||91===t?++h:41===t||125===t||93===t?--h:o||u.length||34!==t&&39!==t||(r=r.slice(1,-1));u.push(r)}if(0<h)throw Error("Unbalanced parentheses, braces, or brackets");}return a}var r=["true","false","null","undefined"],u=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,i=RegExp("\"(?:\\\\.|[^\"])*\"|'(?:\\\\.|[^'])*'|`(?:\\\\.|[^`])*`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.*\n|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,\"'`{}()/:[\\]]*[^\\s,\"'`{}()/:[\\]]|[^\\s]","g"),f=/[\])"'A-Za-z0-9_$]+$/,e={"in":1,"return":1,"typeof":1},n={};return{Ra:[],wa:n,ac:t,vb:function(i,f){function e(t,i){var a,f;if(!l){if(f=s.getBindingHandler(t),f&&f.preprocess&&!(i=f.preprocess(i,t,e)))return;(f=n[t])&&(a=i,0<=s.a.A(r,a)?a=!1:(f=a.match(u),a=null===f?!1:f[1]?"Object("+f[1]+")"+f[2]:a),f=a);f&&o.push("'"+("string"==typeof n[t]?n[t]:t)+"':function(_z){"+a+"=_z}")}c&&(i="function(){return "+i+" }");h.push("'"+t+"':"+i)}f=f||{};var h=[],o=[],c=f.valueAccessors,l=f.bindingParams,a="string"==typeof i?t(i):i;return s.a.D(a,function(n){e(n.key||n.unknown,n.value)}),o.length&&e("_ko_property_writers","{"+o.join(",")+" }"),h.join(",")},Id:function(n,t){for(var i=0;i<n.length;i++)if(n[i].key==t)return!0;return!1},eb:function(n,t,i,r,u){n&&s.O(n)?!s.Za(n)||u&&n.v()===r||n(r):(n=t.get("_ko_property_writers"))&&n[i]&&n[i](r)}}}();s.b("expressionRewriting",s.m);s.b("expressionRewriting.bindingRewriteValidators",s.m.Ra);s.b("expressionRewriting.parseObjectLiteral",s.m.ac);s.b("expressionRewriting.preProcessBindings",s.m.vb);s.b("expressionRewriting._twoWayBindings",s.m.wa);s.b("jsonExpressionRewriting",s.m);s.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",s.m.vb),function(){function n(n){return 8==n.nodeType&&e.test(r?n.text:n.nodeValue)}function t(n){return 8==n.nodeType&&h.test(r?n.text:n.nodeValue)}function u(i,r){for(var u=i,f=1,e=[];u=u.nextSibling;){if(t(u)&&(s.a.g.set(u,o,!0),f--,0===f))return e;e.push(u);n(u)&&f++}if(!r)throw Error("Cannot find closing comment tag to match: "+i.nodeValue);return null}function f(n,t){var i=u(n,t);return i?0<i.length?i[i.length-1].nextSibling:n.nextSibling:null}var r=i&&"<!--test-->"===i.createComment("test").text,e=r?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,h=r?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,c={ul:!0,ol:!0},o="__ko_matchedEndComment__";s.h={ea:{},childNodes:function(t){return n(t)?u(t):t.childNodes},Ea:function(t){if(n(t)){t=s.h.childNodes(t);for(var i=0,r=t.length;i<r;i++)s.removeNode(t[i])}else s.a.Tb(t)},va:function(t,i){if(n(t)){s.h.Ea(t);for(var u=t.nextSibling,r=0,f=i.length;r<f;r++)u.parentNode.insertBefore(i[r],u)}else s.a.va(t,i)},Vc:function(t,i){var r;n(t)?(r=t.nextSibling,t=t.parentNode):r=t.firstChild;r?i!==r&&t.insertBefore(i,r):t.appendChild(i)},Wb:function(t,i,r){r?(r=r.nextSibling,n(t)&&(t=t.parentNode),r?i!==r&&t.insertBefore(i,r):t.appendChild(i)):s.h.Vc(t,i)},firstChild:function(i){if(n(i))return!i.nextSibling||t(i.nextSibling)?null:i.nextSibling;if(i.firstChild&&t(i.firstChild))throw Error("Found invalid end comment, as the first child of "+i);return i.firstChild},nextSibling:function(i){if(n(i)&&(i=f(i)),i.nextSibling&&t(i.nextSibling)){var r=i.nextSibling;if(t(r)&&!s.a.g.get(r,o))throw Error("Found end comment without a matching opening comment, as child of "+i);return null}return i.nextSibling},Cd:n,Vd:function(n){return(n=(r?n.text:n.nodeValue).match(e))?n[1]:null},Sc:function(i){var o,r,u,e;if(c[s.a.R(i)]&&(o=i.firstChild,o))do if(1===o.nodeType){if(r=o.firstChild,u=null,r)do u?u.push(r):n(r)?(e=f(r,!0),e?r=e:u=[r]):t(r)&&(u=[r]);while(r=r.nextSibling);if(r=u)for(u=o.nextSibling,e=0;e<r.length;e++)u?i.insertBefore(r[e],u):i.appendChild(r[e])}while(o=o.nextSibling)}}}();s.b("virtualElements",s.h);s.b("virtualElements.allowedBindings",s.h.ea);s.b("virtualElements.emptyNode",s.h.Ea);s.b("virtualElements.insertAfter",s.h.Wb);s.b("virtualElements.prepend",s.h.Vc);s.b("virtualElements.setDomNodeChildren",s.h.va),function(){s.ga=function(){this.nd={}};s.a.extend(s.ga.prototype,{nodeHasBindings:function(n){switch(n.nodeType){case 1:return null!=n.getAttribute("data-bind")||s.j.getComponentNameForNode(n);case 8:return s.h.Cd(n);default:return!1}},getBindings:function(n,t){var i=this.getBindingsString(n,t),i=i?this.parseBindingsString(i,t,n):null;return s.j.tc(i,n,t,!1)},getBindingAccessors:function(n,t){var i=this.getBindingsString(n,t),i=i?this.parseBindingsString(i,t,n,{valueAccessors:!0}):null;return s.j.tc(i,n,t,!0)},getBindingsString:function(n){switch(n.nodeType){case 1:return n.getAttribute("data-bind");case 8:return s.h.Vd(n);default:return null}},parseBindingsString:function(n,t,i,r){var u,f,e,h,c;try{return u=this.nd,f=n+(r&&r.valueAccessors||""),(e=u[f])||(c="with($context){with($data||{}){return{"+s.m.vb(n,r)+"}}}",h=new Function("$context","$element",c),e=u[f]=h),e(t,i)}catch(o){throw o.message="Unable to parse bindings.\nBindings value: "+n+"\nMessage: "+o.message,o;}}});s.ga.instance=new s.ga}();s.b("bindingProvider",s.ga),function(){function v(n){var t=(n=s.a.g.get(n,f))&&n.N;t&&(n.N=null,t.Tc())}function o(n,t,i){this.node=n;this.yc=t;this.kb=[];this.H=!1;t.N||s.a.K.za(n,v);i&&i.N&&(i.N.kb.push(n),this.Kb=i)}function d(n){return function(){return n}}function l(n){return n()}function y(n){return s.a.Ga(s.u.G(n),function(t,i){return function(){return n()[i]}})}function g(n,t,i){return"function"==typeof n?y(n.bind(null,t,i)):s.a.Ga(n,d)}function nt(n,t){return y(this.getBindings.bind(this,n,t))}function p(n,t){var i=s.h.firstChild(t),r,u,f;if(i){if(u=s.ga.instance,f=u.preprocessNode,f){for(;r=i;)i=s.h.nextSibling(r),f.call(u,r);i=s.h.firstChild(t)}for(;r=i;)i=s.h.nextSibling(r),w(n,r)}s.i.ma(t,s.i.H)}function w(n,t){var i=n,r=1===t.nodeType;r&&s.h.Sc(t);(r||s.ga.instance.nodeHasBindings(t))&&(i=b(t,null,n).bindingContextForDescendants);i&&!k[s.a.R(t)]&&p(i,t)}function tt(n){var i=[],r={},t=[];return s.a.P(n,function u(f){if(!r[f]){var e=s.getBindingHandler(f);e&&(e.after&&(t.push(f),s.a.D(e.after,function(i){if(n[i]){if(-1!==s.a.A(t,i))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+t.join(", "));u(i)}}),t.length--),i.push({key:f,Mc:e}));r[f]=!0}}),i}function b(t,i,r){var o=s.a.g.Ub(t,f,{}),w=o.hd,e,h,y,v,p;if(!i){if(w)throw Error("You cannot apply bindings multiple times to the same element.");o.hd=!0}if(w||(o.context=r),o.Zb||(o.Zb={}),i&&"function"!=typeof i)e=i;else{var b=s.ga.instance,k=b.getBindingAccessors||nt,c=s.$(function(){return(e=i?i(r,t):k.call(b,t,r))&&(r[u]&&r[u](),r[a]&&r[a]()),e},null,{l:t});e&&c.ja()||(c=null)}return h=r,e&&(v=function(){return s.a.Ga(c?c():e,l)},p=c?function(n){return function(){return l(c()[n])}}:function(n){return e[n]},v.get=function(n){return e[n]&&l(p(n))},v.has=function(n){return n in e},s.i.H in e&&s.i.subscribe(t,s.i.H,function(){var i=e[s.i.H](),n;i&&(n=s.h.childNodes(t),n.length&&i(n,s.Ec(n[0])))}),s.i.pa in e&&(h=s.i.Cb(t,r),s.i.subscribe(t,s.i.pa,function(){var n=e[s.i.pa]();n&&s.h.firstChild(t)&&n(t)})),o=tt(e),s.a.D(o,function(i){var f=i.Mc.init,o=i.Mc.update,r=i.key;if(8===t.nodeType&&!s.h.ea[r])throw Error("The binding '"+r+"' cannot be used with virtual elements");try{"function"==typeof f&&s.u.G(function(){var i=f(t,p(r),v,h.$data,h);if(i&&i.controlsDescendantBindings){if(y!==n)throw Error("Multiple bindings ("+y+" and "+r+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");y=r}});"function"==typeof o&&s.$(function(){o(t,p(r),v,h.$data,h)},null,{l:t})}catch(u){throw u.message='Unable to process binding "'+r+": "+e[r]+'"\nMessage: '+u.message,u;}})),o=y===n,{shouldBindDescendants:o,bindingContextForDescendants:o&&h}}function h(t,i){return t&&t instanceof s.fa?t:new s.fa(t,n,n,i)}var u=s.a.Da("_subscribable"),e=s.a.Da("_ancestorBindingInfo"),a=s.a.Da("_dataDependency"),k,c,f;s.c={};k={script:!0,textarea:!0,template:!0};s.getBindingHandler=function(n){return s.c[n]};c={};s.fa=function(t,i,r,f,o){function y(){var t=b?v():v,n=s.a.f(t);return i?(s.a.extend(h,i),e in i&&(h[e]=i[e])):(h.$parents=[],h.$root=n,h.ko=s),h[u]=l,p?n=h.$data:(h.$rawData=t,h.$data=n),r&&(h[r]=n),f&&f(h,i,n),i&&i[u]&&!s.S.o().Vb(i[u])&&i[u](),w&&(h[a]=w),h.$data}var h=this,p=t===c,v=p?n:t,b="function"==typeof v&&!s.O(v),l,w=o&&o.dataDependency;o&&o.exportDependencies?y():(l=s.xb(y),l.v(),l.ja()?l.equalityComparer=null:h[u]=n)};s.fa.prototype.createChildContext=function(n,t,i,r){if(!r&&t&&"object"==typeof t&&(r=t,t=r.as,i=r.extend),t&&r&&r.noChildContext){var u="function"==typeof n&&!s.O(n);return new s.fa(c,this,null,function(r){i&&i(r);r[t]=u?n():n},r)}return new s.fa(n,this,t,function(n,t){n.$parentContext=t;n.$parent=t.$data;n.$parents=(t.$parents||[]).slice(0);n.$parents.unshift(n.$parent);i&&i(n)},r)};s.fa.prototype.extend=function(n,t){return new s.fa(c,this,null,function(t){s.a.extend(t,"function"==typeof n?n(t):n)},t)};f=s.a.g.Z();o.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)};o.prototype.sd=function(n){s.a.Pa(this.kb,n);!this.kb.length&&this.H&&this.Cc()};o.prototype.Cc=function(){this.H=!0;this.yc.N&&!this.kb.length&&(this.yc.N=null,s.a.K.yb(this.node,v),s.i.ma(this.node,s.i.pa),this.Tc())};s.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(n,t,i,r,u){var e=s.a.g.Ub(n,f,{});return e.Fa||(e.Fa=new s.T),u&&u.notifyImmediately&&e.Zb[t]&&s.u.G(i,r,[n]),e.Fa.subscribe(i,r,t)},ma:function(t,i){var r=s.a.g.get(t,f);if(r&&(r.Zb[i]=!0,r.Fa&&r.Fa.notifySubscribers(t,i),i==s.i.H))if(r.N)r.N.Cc();else if(r.N===n&&r.Fa&&r.Fa.Wa(s.i.pa))throw Error("descendantsComplete event not supported for bindings on this node");},Cb:function(n,t){var i=s.a.g.Ub(n,f,{});return i.N||(i.N=new o(n,i,t[e])),t[e]==i?t:t.extend(function(n){n[e]=i})}};s.Td=function(n){return(n=s.a.g.get(n,f))&&n.context};s.ib=function(n,t,i){return 1===n.nodeType&&s.h.Sc(n),b(n,t,h(i))};s.ld=function(n,t,i){return i=h(i),s.ib(n,g(t,i,n),i)};s.Oa=function(n,t){1!==t.nodeType&&8!==t.nodeType||p(h(n),t)};s.vc=function(n,u,f){if(!t&&r.jQuery&&(t=r.jQuery),2>arguments.length){if(u=i.body,!u)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?");}else if(!u||1!==u.nodeType&&8!==u.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");w(h(n,f),u)};s.Dc=function(t){return!t||1!==t.nodeType&&8!==t.nodeType?n:s.Td(t)};s.Ec=function(t){return(t=s.Dc(t))?t.$data:n};s.b("bindingHandlers",s.c);s.b("bindingEvent",s.i);s.b("bindingEvent.subscribe",s.i.subscribe);s.b("bindingEvent.startPossiblyAsyncContentBinding",s.i.Cb);s.b("applyBindings",s.vc);s.b("applyBindingsToDescendants",s.Oa);s.b("applyBindingAccessorsToNode",s.ib);s.b("applyBindingsToNode",s.ld);s.b("contextFor",s.Dc);s.b("dataFor",s.Ec)}(),function(n){function u(t,u){var e=Object.prototype.hasOwnProperty.call(i,t)?i[t]:n,o;e?e.subscribe(u):(e=i[t]=new s.T,e.subscribe(u),f(t,function(n,u){var f=!(!u||!u.synchronous);r[t]={definition:n,Gd:f};delete i[t];o||f?e.notifySubscribers(n):s.na.zb(function(){e.notifySubscribers(n)})}),o=!0)}function f(n,i){t("getConfig",[n],function(r){r?t("loadComponent",[n,r],function(n){i(n,r)}):i(null,null)})}function t(i,r,u,f){var e,o,h;if(f||(f=s.j.loaders.slice(0)),e=f.shift(),e)if(o=e[i],o){if(h=!1,o.apply(e,r.concat(function(n){h?u(null):null!==n?u(n):t(i,r,u,f)}))!==n&&(h=!0,!e.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.");}else t(i,r,u,f);else u(null)}var i={},r={};s.j={get:function(t,i){var f=Object.prototype.hasOwnProperty.call(r,t)?r[t]:n;f?f.Gd?s.u.G(function(){i(f.definition)}):s.na.zb(function(){i(f.definition)}):u(t,i)},Bc:function(n){delete r[n]},oc:t};s.j.loaders=[];s.b("components",s.j);s.b("components.get",s.j.get);s.b("components.clearCachedDefinition",s.j.Bc)}(),function(){function l(n,i,r,f){function e(){0==--c&&f(o)}var o={},c=2,h=r.template;r=r.viewModel;h?u(i,h,function(t){s.j.oc("loadTemplate",[n,t],function(n){o.template=n;e()})}):e();r?u(i,r,function(i){s.j.oc("loadViewModel",[n,i],function(n){o[t]=n;e()})}):e()}function e(n,i,r){if("function"==typeof i)r(function(n){return new i(n)});else if("function"==typeof i[t])r(i[t]);else if("instance"in i){var u=i.instance;r(function(){return u})}else"viewModel"in i?e(n,i.viewModel,r):n("Unknown viewModel value: "+i)}function h(n){switch(s.a.R(n)){case"script":return s.a.ua(n.text);case"textarea":return s.a.ua(n.value);case"template":if(c(n.content))return s.a.Ca(n.content.childNodes)}return s.a.Ca(n.childNodes)}function c(n){return r.DocumentFragment?n instanceof DocumentFragment:n&&11===n.nodeType}function u(n,t,i){"string"==typeof t.require?o||r.require?(o||r.require)([t.require],function(n){n&&"object"==typeof n&&n.Xd&&n["default"]&&(n=n["default"]);i(n)}):n("Uses require, but no AMD loader is present"):i(t)}function f(n){return function(t){throw Error("Component '"+n+"': "+t);}}var n={},t;s.j.register=function(t,i){if(!i)throw Error("Invalid configuration for "+t);if(s.j.tb(t))throw Error("Component "+t+" is already registered");n[t]=i};s.j.tb=function(t){return Object.prototype.hasOwnProperty.call(n,t)};s.j.unregister=function(t){delete n[t];s.j.Bc(t)};s.j.Fc={getConfig:function(t,i){i(s.j.tb(t)?n[t]:null)},loadComponent:function(n,t,i){var r=f(n);u(r,t,function(t){l(n,r,t,i)})},loadTemplate:function(n,t,u){if(n=f(n),"string"==typeof t)u(s.a.ua(t));else if(t instanceof Array)u(t);else if(c(t))u(s.a.la(t.childNodes));else if(t.element)if(t=t.element,r.HTMLElement?t instanceof HTMLElement:t&&t.tagName&&1===t.nodeType)u(h(t));else if("string"==typeof t){var e=i.getElementById(t);e?u(h(e)):n("Cannot find element with ID "+t)}else n("Unknown element type: "+t);else n("Unknown template value: "+t)},loadViewModel:function(n,t,i){e(f(n),t,i)}};t="createViewModel";s.b("components.register",s.j.register);s.b("components.isRegistered",s.j.tb);s.b("components.unregister",s.j.unregister);s.b("components.defaultLoader",s.j.Fc);s.j.loaders.push(s.j.Fc);s.j.dd=n}(),function(){function n(n,i){var r=n.getAttribute("params");if(r){var r=t.parseBindingsString(r,i,n,{valueAccessors:!0,bindingParams:!0}),r=s.a.Ga(r,function(t){return s.o(t,null,{l:n})}),u=s.a.Ga(r,function(t){var i=t.v();return t.ja()?s.o({read:function(){return s.a.f(t())},write:s.Za(i)&&function(n){t()(n)},l:n}):i});return Object.prototype.hasOwnProperty.call(u,"$raw")||(u.$raw=r),u}return{$raw:{}}}s.j.getComponentNameForNode=function(n){var t=s.a.R(n);if(s.j.tb(t)&&(-1!=t.indexOf("-")||"[object HTMLUnknownElement]"==""+n||8>=s.a.W&&n.tagName===t))return t};s.j.tc=function(t,i,r,u){var f,e;if(1===i.nodeType&&(f=s.j.getComponentNameForNode(i),f)){if(t=t||{},t.component)throw Error('Cannot use the "component" binding on a custom element matching a component');e={name:f,params:n(i,r)};t.component=u?function(){return e}:e}return t};var t=new s.ga;9>s.a.W&&(s.j.register=function(n){return function(){return n.apply(this,arguments)}}(s.j.register),i.createDocumentFragment=function(n){return function(){var t=n(),i=s.j.dd;for(var r in i);return t}}(i.createDocumentFragment))}(),function(){function n(n,t,i){if(t=t.template,!t)throw Error("Component '"+n+"' has no template");n=s.a.Ca(t);s.h.va(i,n)}function t(n,t,i){var r=n.createViewModel;return r?r.call(n,t,i):t}var i=0;s.c.component={init:function(r,u,f,e,o){function a(){var n=h&&h.dispose;"function"==typeof n&&n.call(h);c&&c.s();l=h=c=null}var h,l,c,v=s.a.la(s.h.childNodes(r));return s.h.Ea(r),s.a.K.za(r,a),s.o(function(){var e=s.a.f(u()),f,y,p,w;if("string"==typeof e?f=e:(f=s.a.f(e.name),y=s.a.f(e.params)),!f)throw Error("No component name specified");p=s.i.Cb(r,o);w=l=++i;s.j.get(f,function(i){if(l===w){if(a(),!i)throw Error("Unknown component '"+f+"'");n(f,i,r);var u=t(i,y,{element:r,templateNodes:v});i=p.createChildContext(u,{extend:function(n){n.$component=u;n.$componentTemplateNodes=v}});u&&u.koDescendantsComplete&&(c=s.i.subscribe(r,s.i.pa,u.koDescendantsComplete,u));h=u;s.Oa(i,r)}})},null,{l:r}),{controlsDescendantBindings:!0}}};s.h.ea.component=!0}();k={"class":"className","for":"htmlFor"};s.c.attr={update:function(t,i){var r=s.a.f(i())||{};s.a.P(r,function(i,r){r=s.a.f(r);var u=i.indexOf(":"),u="lookupNamespaceURI"in t&&0<u&&t.lookupNamespaceURI(i.substr(0,u)),f=!1===r||null===r||r===n;f?u?t.removeAttributeNS(u,i):t.removeAttribute(i):r=r.toString();8>=s.a.W&&i in k?(i=k[i],f?t.removeAttribute(i):t[i]=r):f||(u?t.setAttributeNS(u,i,r):t.setAttribute(i,r));"name"===i&&s.a.Yc(t,f?"":r)})}},function(){s.c.checked={after:["value","attr"],init:function(t,i,r){function l(){var v=t.checked,h=f(),l,y,p;s.S.Ya()||!v&&(o||s.S.qa())||(l=s.u.G(i),u?(y=a?l.v():l,p=c,c=h,p!==h?v&&(s.a.Na(y,h,!0),s.a.Na(y,p,!1)):s.a.Na(y,h,v),a&&s.Za(l)&&l(y)):(e&&(h===n?h=v:v||(h=n)),s.m.eb(l,r,"checked",h,!0)))}function v(){var r=s.a.f(i()),o=f();u?(t.checked=0<=s.a.A(r,o),c=o):t.checked=e&&o===n?!!r:f()===r}var f=s.xb(function(){return r.has("checkedValue")?s.a.f(r.get("checkedValue")):y?r.has("value")?s.a.f(r.get("value")):t.value:void 0}),e="checkbox"==t.type,o="radio"==t.type;if(e||o){var h=i(),u=e&&s.a.f(h)instanceof Array,a=!(u&&h.push&&h.splice),y=o||u,c=u?f():n;o&&!t.name&&s.c.uniqueName.init(t,function(){return!0});s.o(l,null,{l:t});s.a.B(t,"click",l);s.o(v,null,{l:t});h=n}}};s.m.wa.checked=!0;s.c.checkedValue={update:function(n,t){n.value=s.a.f(t())}}}();s.c["class"]={update:function(n,t){var i=s.a.Db(s.a.f(t()));s.a.Eb(n,n.__ko__cssValue,!1);n.__ko__cssValue=i;s.a.Eb(n,i,!0)}};s.c.css={update:function(n,t){var i=s.a.f(t());null!==i&&"object"==typeof i?s.a.P(i,function(t,i){i=s.a.f(i);s.a.Eb(n,t,i)}):s.c["class"].update(n,t)}};s.c.enable={update:function(n,t){var i=s.a.f(t());i&&n.disabled?n.removeAttribute("disabled"):i||n.disabled||(n.disabled=!0)}};s.c.disable={update:function(n,t){s.c.enable.update(n,function(){return!s.a.f(t())})}};s.c.event={init:function(n,t,i,r,u){var f=t()||{};s.a.P(f,function(f){"string"==typeof f&&s.a.B(n,f,function(n){var o,h=t()[f],e;if(h){try{e=s.a.la(arguments);r=u.$data;e.unshift(r);o=h.apply(r,e)}finally{!0!==o&&(n.preventDefault?n.preventDefault():n.returnValue=!1)}!1===i.get(f+"Bubble")&&(n.cancelBubble=!0,n.stopPropagation&&n.stopPropagation())}})})}};s.c.foreach={Rc:function(n){return function(){var i=n(),t=s.a.bc(i);return!t||"number"==typeof t.length?{foreach:i,templateEngine:s.ba.Ma}:(s.a.f(i),{foreach:t.data,as:t.as,noChildContext:t.noChildContext,includeDestroyed:t.includeDestroyed,afterAdd:t.afterAdd,beforeRemove:t.beforeRemove,afterRender:t.afterRender,beforeMove:t.beforeMove,afterMove:t.afterMove,templateEngine:s.ba.Ma})}},init:function(n,t){return s.c.template.init(n,s.c.foreach.Rc(t))},update:function(n,t,i,r,u){return s.c.template.update(n,s.c.foreach.Rc(t),i,r,u)}};s.m.Ra.foreach=!1;s.h.ea.foreach=!0;s.c.hasfocus={init:function(n,t,i){function r(r){var u,f;if(n.__ko_hasfocusUpdating=!0,u=n.ownerDocument,"activeElement"in u){try{f=u.activeElement}catch(e){f=u.body}r=f===n}u=t();s.m.eb(u,i,"hasfocus",r,!0);n.__ko_hasfocusLastValue=r;n.__ko_hasfocusUpdating=!1}var u=r.bind(null,!0),f=r.bind(null,!1);s.a.B(n,"focus",u);s.a.B(n,"focusin",u);s.a.B(n,"blur",f);s.a.B(n,"focusout",f);n.__ko_hasfocusLastValue=!1},update:function(n,t){var i=!!s.a.f(t());n.__ko_hasfocusUpdating||n.__ko_hasfocusLastValue===i||(i?n.focus():n.blur(),!i&&n.__ko_hasfocusLastValue&&n.ownerDocument.body.focus(),s.u.G(s.a.Fb,null,[n,i?"focusin":"focusout"]))}};s.m.wa.hasfocus=!0;s.c.hasFocus=s.c.hasfocus;s.m.wa.hasFocus="hasfocus";s.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(n,t){s.a.fc(n,t())}},function(){function n(n,t,i){s.c[n]={init:function(n,r,u,f,e){var a,c,o={},v,y,h,l;return t&&(f=u.get("as"),l=u.get("noChildContext"),h=!(f&&l),o={as:f,noChildContext:l,exportDependencies:h}),y=(v="render"==u.get("completeOn"))||u.has(s.i.pa),s.o(function(){var f=s.a.f(r()),u=!i!=!f,l=!c,p;(h||u!==a)&&(y&&(e=s.i.Cb(n,e)),u&&((!t||h)&&(o.dataDependency=s.S.o()),p=t?e.createChildContext("function"==typeof f?f:r,o):s.S.qa()?e.extend(null,o):e),l&&s.S.qa()&&(c=s.a.Ca(s.h.childNodes(n),!0)),u?(l||s.h.va(n,s.a.Ca(c)),s.Oa(p,n)):(s.h.Ea(n),v||s.i.ma(n,s.i.H)),a=u)},null,{l:n}),{controlsDescendantBindings:!0}}};s.m.Ra[n]=!1;s.h.ea[n]=!0}n("if");n("ifnot",!1,!0);n("with",!0)}();s.c.let={init:function(n,t,i,r,u){return t=u.extend(t),s.Oa(t,n),{controlsDescendantBindings:!0}}};s.h.ea.let=!0;w={};s.c.options={init:function(n){if("select"!==s.a.R(n))throw Error("options binding applies only to SELECT elements");for(;0<n.length;)n.remove(0);return{controlsDescendantBindings:!0}},update:function(t,i,r){function a(){return s.a.jb(t.options,function(n){return n.selected})}function v(n,t,i){var r=typeof t;return"function"==r?t(n):"string"==r?n[t]:i}function y(n,i){if(o&&e)s.i.ma(t,s.i.H);else if(f.length){var r=0<=s.a.A(f,s.w.M(i[0]));s.a.Zc(i[0],r);o&&!r&&s.u.G(s.a.Fb,null,[t,"change"])}}var h=t.multiple,c=0!=t.length&&h?t.scrollTop:null,u=s.a.f(i()),e=r.get("valueAllowUnset")&&r.has("value"),b=r.get("optionsIncludeDestroyed"),l,f,o,p;i={};f=[];e||(h?f=s.a.Mb(a(),s.w.M):0<=t.selectedIndex&&f.push(s.w.M(t.options[t.selectedIndex])));u&&("undefined"==typeof u.length&&(u=[u]),l=s.a.jb(u,function(t){return b||t===n||null===t||!s.a.f(t._destroy)}),r.has("optionsCaption")&&(u=s.a.f(r.get("optionsCaption")),null!==u&&u!==n&&l.unshift(w)));o=!1;i.beforeRemove=function(n){t.removeChild(n)};u=y;r.has("optionsAfterRender")&&"function"==typeof r.get("optionsAfterRender")&&(u=function(t,i){y(0,i);s.u.G(r.get("optionsAfterRender"),null,[i[0],t!==w?t:n])});s.a.ec(t,l,function(i,u,h){return h.length&&(f=!e&&h[0].selected?[s.w.M(h[0])]:[],o=!0),u=t.ownerDocument.createElement("option"),i===w?(s.a.Bb(u,r.get("optionsCaption")),s.w.cb(u,n)):(h=v(i,r.get("optionsValue"),i),s.w.cb(u,s.a.f(h)),i=v(i,r.get("optionsText"),h),s.a.Bb(u,i)),[u]},i,u);e||(p=h?f.length&&a().length<f.length:f.length&&0<=t.selectedIndex?s.w.M(t.options[t.selectedIndex])!==f[0]:f.length||0<=t.selectedIndex,p&&s.u.G(s.a.Fb,null,[t,"change"]));(e||s.S.Ya())&&s.i.ma(t,s.i.H);s.a.wd(t);c&&20<Math.abs(c-t.scrollTop)&&(t.scrollTop=c)}};s.c.options.$b=s.a.g.Z();s.c.selectedOptions={init:function(n,t,i){function r(){var u=t(),r=[];s.a.D(n.getElementsByTagName("option"),function(n){n.selected&&r.push(s.w.M(n))});s.m.eb(u,i,"selectedOptions",r)}function f(){var i=s.a.f(t()),r=n.scrollTop;i&&"number"==typeof i.length&&s.a.D(n.getElementsByTagName("option"),function(n){var t=0<=s.a.A(i,s.w.M(n));n.selected!=t&&s.a.Zc(n,t)});n.scrollTop=r}if("select"!=s.a.R(n))throw Error("selectedOptions binding applies only to SELECT elements");var u;s.i.subscribe(n,s.i.H,function(){u?r():(s.a.B(n,"change",r),u=s.o(f,null,{l:n}))},null,{notifyImmediately:!0})},update:function(){}};s.m.wa.selectedOptions=!0;s.c.style={update:function(i,r){var u=s.a.f(r()||{});s.a.P(u,function(r,u){if(u=s.a.f(u),(null===u||u===n||!1===u)&&(u=""),t)t(i).css(r,u);else if(/^--/.test(r))i.style.setProperty(r,u);else{r=r.replace(/-(\w)/g,function(n,t){return t.toUpperCase()});var f=i.style[r];i.style[r]=u;u===f||i.style[r]!=f||isNaN(u)||(i.style[r]=u+"px")}})}};s.c.submit={init:function(n,t,i,r,u){if("function"!=typeof t())throw Error("The value for a submit binding must be a function");s.a.B(n,"submit",function(i){var r,f=t();try{r=f.call(u.$data,n)}finally{!0!==r&&(i.preventDefault?i.preventDefault():i.returnValue=!1)}})}};s.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(n,t){s.a.Bb(n,t())}};s.h.ea.text=!0,function(){var i,u,f,e,o,t,h;if(r&&r.navigator&&(i=function(n){if(n)return parseFloat(n[1])},u=r.navigator.userAgent,(f=r.opera&&r.opera.version&&parseInt(r.opera.version()))||(h=i(u.match(/Edge\/([^ ]+)$/)))||i(u.match(/Chrome\/([^ ]+)/))||(e=i(u.match(/Version\/([^ ]+) Safari/)))||(o=i(u.match(/Firefox\/([^ ]+)/)))||(t=s.a.W||i(u.match(/MSIE ([^ ]+)/)))||(t=i(u.match(/rv:([^ )]+)/)))),8<=t&&10>t)var c=s.a.g.Z(),l=s.a.g.Z(),v=function(n){var t=this.activeElement;(t=t&&s.a.g.get(t,l))&&t(n)},a=function(n,t){var i=n.ownerDocument;s.a.g.get(i,c)||(s.a.g.set(i,c,!0),s.a.B(i,"selectionchange",v));s.a.g.set(n,l,t)};s.c.textInput={init:function(i,r,u){function c(n,t){s.a.B(i,n,t)}function d(){var t=s.a.f(r());(null===t||t===n)&&(t="");p!==n&&t===p?s.a.setTimeout(d,4):i.value!==t&&(k=!0,i.value=t,k=!1,w=i.value)}function v(){y||(p=i.value,y=s.a.setTimeout(l,4))}function l(){clearTimeout(y);p=y=n;var t=i.value;w!==t&&(w=t,s.m.eb(r(),u,"textInput",t))}var w=i.value,y,p,b=9==s.a.W?v:l,k=!1;t&&c("keypress",l);11>t&&c("propertychange",function(n){k||"value"!==n.propertyName||b(n)});8==t&&(c("keyup",l),c("keydown",l));a&&(a(i,b),c("dragend",v));(!t||9<=t)&&c("input",b);5>e&&"textarea"===s.a.R(i)?(c("keydown",v),c("paste",v),c("cut",v)):11>f?c("keydown",v):4>o?(c("DOMAutoComplete",l),c("dragdrop",l),c("drop",l)):h&&"number"===i.type&&c("keydown",v);c("change",l);c("blur",l);s.o(d,null,{l:i})}};s.m.wa.textInput=!0;s.c.textinput={preprocess:function(n,t,i){i("textInput",n)}}}();s.c.uniqueName={init:function(n,t){if(t()){var i="ko_unique_"+ ++s.c.uniqueName.rd;s.a.Yc(n,i)}}};s.c.uniqueName.rd=0;s.c.using={init:function(n,t,i,r,u){var f;return i.has("as")&&(f={as:i.get("as"),noChildContext:i.get("noChildContext")}),t=u.createChildContext(t,f),s.Oa(t,n),{controlsDescendantBindings:!0}}};s.h.ea.using=!0;s.c.value={init:function(t,i,r){var l=s.a.R(t),a="input"==l,u,f,v;if(a&&("checkbox"==t.type||"radio"==t.type))s.ib(t,{checkedValue:i});else{var e=[],o=r.get("valueUpdate"),h=!1,c=null;o&&(e="string"==typeof o?[o]:s.a.wc(o),s.a.Pa(e,"change"));u=function(){c=null;h=!1;var n=i(),u=s.w.M(t);s.m.eb(n,r,"value",u)};s.a.W&&a&&"text"==t.type&&"off"!=t.autocomplete&&(!t.form||"off"!=t.form.autocomplete)&&-1==s.a.A(e,"propertychange")&&(s.a.B(t,"propertychange",function(){h=!0}),s.a.B(t,"focus",function(){h=!1}),s.a.B(t,"blur",function(){h&&u()}));s.a.D(e,function(n){var i=u;s.a.Ud(n,"after")&&(i=function(){c=s.w.M(t);s.a.setTimeout(u,0)},n=n.substring(5));s.a.B(t,n,i)});f=a&&"file"==t.type?function(){var r=s.a.f(i());null===r||r===n||""===r?t.value="":s.u.G(u)}:function(){var e=s.a.f(i()),o=s.w.M(t);null!==c&&e===c?s.a.setTimeout(f,0):(e!==o||o===n)&&("select"===l?(o=r.get("valueAllowUnset"),s.w.cb(t,e,o),o||e===s.w.M(t)||s.u.G(u)):s.w.cb(t,e))};"select"===l?s.i.subscribe(t,s.i.H,function(){v?r.get("valueAllowUnset")?f():u():(s.a.B(t,"change",u),v=s.o(f,null,{l:t}))},null,{notifyImmediately:!0}):(s.a.B(t,"change",u),s.o(f,null,{l:t}))}},update:function(){}};s.m.wa.value=!0;s.c.visible={update:function(n,t){var i=s.a.f(t()),r="none"!=n.style.display;i&&!r?n.style.display="":!i&&r&&(n.style.display="none")}};s.c.hidden={update:function(n,t){s.c.visible.update(n,function(){return!s.a.f(t())})}},function(n){s.c[n]={init:function(t,i,r,u,f){return s.c.event.init.call(this,t,function(){var t={};return t[n]=i(),t},r,u,f)}}}("click");s.ca=function(){};s.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource");};s.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock");};s.ca.prototype.makeTemplateSource=function(n,t){if("string"==typeof n){t=t||i;var r=t.getElementById(n);if(!r)throw Error("Cannot find template with ID "+n);return new s.C.F(r)}if(1==n.nodeType||8==n.nodeType)return new s.C.ia(n);throw Error("Unknown template type: "+n);};s.ca.prototype.renderTemplate=function(n,t,i,r){return n=this.makeTemplateSource(n,r),this.renderTemplateSource(n,t,i,r)};s.ca.prototype.isTemplateRewritten=function(n,t){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(n,t).data("isRewritten")};s.ca.prototype.rewriteTemplate=function(n,t,i){n=this.makeTemplateSource(n,i);t=t(n.text());n.text(t);n.data("isRewritten",!0)};s.b("templateEngine",s.ca);s.kc=function(){function n(n,t,i,r){var o,f,u,e;for(n=s.m.ac(n),o=s.m.Ra,f=0;f<n.length;f++)if(u=n[f].key,Object.prototype.hasOwnProperty.call(o,u))if(e=o[u],"function"==typeof e){if(u=e(n[f].value))throw Error(u);}else if(!e)throw Error("This template engine does not support the '"+u+"' binding within its templates");return i="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+s.m.vb(n,{valueAccessors:!0})+" } })()},'"+i.toLowerCase()+"')",r.createJavaScriptEvaluatorBlock(i)+t}var t=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,i=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(n,t,i){t.isTemplateRewritten(n,i)||t.rewriteTemplate(n,function(n){return s.kc.Ld(n,t)},i)},Ld:function(r,u){return r.replace(t,function(t,i,r,f,e){return n(e,i,r,u)}).replace(i,function(t,i){return n(i,"<!-- ko -->","#comment",u)})},md:function(n,t){return s.aa.Xb(function(i,r){var u=i.nextSibling;u&&u.nodeName.toLowerCase()===t&&s.ib(u,n,r)})}}}();s.b("__tr_ambtns",s.kc.md),function(){var i,t;s.C={};s.C.F=function(n){if(this.F=n){var t=s.a.R(n);this.ab="script"===t?1:"textarea"===t?2:"template"==t&&n.content&&11===n.content.nodeType?3:4}};s.C.F.prototype.text=function(){var n=1===this.ab?"text":2===this.ab?"value":"innerHTML",t;if(0==arguments.length)return this.F[n];t=arguments[0];"innerHTML"===n?s.a.fc(this.F,t):this.F[n]=t};i=s.a.g.Z()+"_";s.C.F.prototype.data=function(n){if(1===arguments.length)return s.a.g.get(this.F,i+n);s.a.g.set(this.F,i+n,arguments[1])};t=s.a.g.Z();s.C.F.prototype.nodes=function(){var i=this.F,r,u,f;if(0==arguments.length)return r=s.a.g.get(i,t)||{},u=r.lb||(3===this.ab?i.content:4===this.ab?i:n),(!u||r.jd)&&(f=this.text(),f&&f!==r.bb&&(u=s.a.Md(f,i.ownerDocument),s.a.g.set(i,t,{lb:u,bb:f,jd:!0}))),u;r=arguments[0];this.ab!==n&&this.text("");s.a.g.set(i,t,{lb:r})};s.C.ia=function(n){this.F=n};s.C.ia.prototype=new s.C.F;s.C.ia.prototype.constructor=s.C.ia;s.C.ia.prototype.text=function(){if(0==arguments.length){var i=s.a.g.get(this.F,t)||{};return i.bb===n&&i.lb&&(i.bb=i.lb.innerHTML),i.bb}s.a.g.set(this.F,t,{bb:arguments[0]})};s.b("templateSources",s.C);s.b("templateSources.domElement",s.C.F);s.b("templateSources.anonymousTemplate",s.C.ia)}(),function(){function t(n,t,i){var r;for(t=s.h.nextSibling(t);n&&(r=n)!==t;)n=s.h.nextSibling(r),i(r,n)}function e(n,i){if(n.length){var r=n[0],u=n[n.length-1],f=r.parentNode,e=s.ga.instance,o=e.preprocessNode;if(o){if(t(r,u,function(n,t){var f=n.previousSibling,i=o.call(e,n);i&&(n===r&&(r=i[0]||t),n===u&&(u=i[i.length-1]||f))}),n.length=0,!r)return;r===u?n.push(r):(n.push(r,u),s.a.Ua(n,f))}t(r,u,function(n){1!==n.nodeType&&8!==n.nodeType||s.vc(i,n)});t(r,u,function(n){1!==n.nodeType&&8!==n.nodeType||s.aa.cd(n,[i])});s.a.Ua(n,f)}}function i(n){return n.nodeType?n:0<n.length?n[0]:null}function o(n,t,u,f,o){o=o||{};var h=(n&&i(n)||u||{}).ownerDocument,c=o.templateEngine||r;if(s.kc.xd(u,c,h),u=c.renderTemplate(u,f,o,h),"number"!=typeof u.length||0<u.length&&"number"!=typeof u[0].nodeType)throw Error("Template engine must return an array of DOM nodes");h=!1;switch(t){case"replaceChildren":s.h.va(n,u);h=!0;break;case"replaceNode":s.a.Xc(n,u);h=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+t);}return h&&(e(u,f),o.afterRender&&s.u.G(o.afterRender,null,[u,f[o.as||"$data"]]),"replaceChildren"==t&&s.i.ma(n,s.i.H)),u}function h(n,t,i){return s.O(n)?n():"function"==typeof n?n(t,i):n}var r,u,f;s.gc=function(t){if(t!=n&&!(t instanceof s.ca))throw Error("templateEngine must inherit from ko.templateEngine");r=t};s.dc=function(t,u,f,e,c){if(f=f||{},(f.templateEngine||r)==n)throw Error("Set a template engine before calling renderTemplate");if(c=c||"replaceChildren",e){var l=i(e);return s.$(function(){var n=u&&u instanceof s.fa?u:new s.fa(u,null,null,null,{exportDependencies:!0}),r=h(t,n.$data,n),n=o(e,c,r,n,f);"replaceNode"==c&&(e=n,l=i(e))},null,{Sa:function(){return!l||!s.a.Sb(l)},l:l&&"replaceNode"==c?l.parentNode:l})}return s.aa.Xb(function(n){s.dc(t,u,f,n,"replaceNode")})};s.Qd=function(t,i,r,u,f){function l(n,t){s.u.G(s.a.ec,null,[u,n,w,r,p,t]);s.i.ma(u,s.i.H)}function p(n,t){e(t,c);r.afterRender&&r.afterRender(t,n);c=null}function w(n,i){c=f.createChildContext(n,{as:a,noChildContext:r.noChildContext,extend:function(n){n.$index=i;a&&(n[a+"Index"]=i)}});var e=h(t,n,c);return o(u,"ignoreTargetNode",e,c,r)}var c,a=r.as,y=!1===r.includeDestroyed||s.options.foreachHidesDestroyed&&!r.includeDestroyed,v;return y||r.beforeRemove||!s.Pc(i)?s.$(function(){var t=s.a.f(i)||[];"undefined"==typeof t.length&&(t=[t]);y&&(t=s.a.jb(t,function(t){return t===n||null===t||!s.a.f(t._destroy)}));l(t)},null,{l:u}):(l(i.v()),v=i.subscribe(function(n){l(i(),n)},null,"arrayChange"),v.l(u),v)};u=s.a.g.Z();f=s.a.g.Z();s.c.template={init:function(n,t){var i=s.a.f(t()),r;if("string"==typeof i||"name"in i)s.h.Ea(n);else if("nodes"in i){if(i=i.nodes||[],s.O(i))throw Error('The "nodes" option must be a plain, non-observable array.');r=i[0]&&i[0].parentNode;r&&s.a.g.get(r,f)||(r=s.a.Yb(i),s.a.g.set(r,f,!0));new s.C.ia(n).nodes(r)}else if(i=s.h.childNodes(n),0<i.length)r=s.a.Yb(i),new s.C.ia(n).nodes(r);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(t,i,r,f,e){var o=i();i=s.a.f(o);r=!0;f=null;"string"==typeof i?i={}:(o="name"in i?i.name:t,"if"in i&&(r=s.a.f(i["if"])),r&&"ifnot"in i&&(r=!s.a.f(i.ifnot)),r&&!o&&(r=!1));"foreach"in i?f=s.Qd(o,r&&i.foreach||[],i,t,e):r?(r=e,"data"in i&&(r=e.createChildContext(i.data,{as:i.as,noChildContext:i.noChildContext,exportDependencies:!0})),f=s.dc(o,r,i,t)):s.h.Ea(t);e=f;(i=s.a.g.get(t,u))&&"function"==typeof i.s&&i.s();s.a.g.set(t,u,!e||e.ja&&!e.ja()?n:e)}};s.m.Ra.template=function(n){return n=s.m.ac(n),1==n.length&&n[0].unknown||s.m.Id(n,"name")?null:"This template engine does not support anonymous templates nested within its templates"};s.h.ea.template=!0}();s.b("setTemplateEngine",s.gc);s.b("renderTemplate",s.dc);s.a.Kc=function(n,t,i){if(n.length&&t.length)for(var o,r,f,e,u=o=0;(!i||u<i)&&(f=n[o]);++o){for(r=0;e=t[r];++r)if(f.value===e.value){f.moved=e.index;e.moved=f.index;t.splice(r,1);u=r=0;break}u+=r}};s.a.Pb=function(){function n(n,t,i,r,u){for(var o=Math.min,l=Math.max,a=[],c=n.length,f,h=t.length,v=h-c||1,w=c+h+1,y,p,b,e=0;e<=c;e++)for(p=y,a.push(y=[]),b=o(h,e+v),f=l(0,e-1);f<=b;f++)y[f]=f?e?n[e-1]===t[f-1]?p[f-1]:o(p[f]||w,y[f-1]||w)+1:f+1:e+1;for(o=[],l=[],v=[],e=c,f=h;e||f;)h=a[e][f]-1,f&&h===a[e][f-1]?l.push(o[o.length]={status:i,value:t[--f],index:f}):e&&h===a[e-1][f]?v.push(o[o.length]={status:r,value:n[--e],index:e}):(--f,--e,u.sparse||o.push({status:"retained",value:t[f]}));return s.a.Kc(v,l,!u.dontLimitMoves&&10*c),o.reverse()}return function(t,i,r){return r="boolean"==typeof r?{dontLimitMoves:r}:r||{},t=t||[],i=i||[],t.length<i.length?n(t,i,"added","deleted",r):n(i,t,"deleted","added",r)}}();s.b("utils.compareArrays",s.a.Pb),function(){function r(t,i,r,u,f){var e=[],o=s.$(function(){var n=i(r,f,s.a.Ua(e,t))||[];0<e.length&&(s.a.Xc(e,n),u&&s.u.G(u,null,[r,n,f]));e.length=0;s.a.Nb(e,n)},null,{l:t,Sa:function(){return!s.a.kd(e)}});return{Y:e,$:o.ja()?o:n}}var t=s.a.g.Z(),i=s.a.g.Z();s.a.ec=function(u,f,e,o,h,c){function st(n){l={Aa:n,pb:s.ta(b++)};y.push(l);ht||ct.push(l)}function d(n){l=w[n];b!==l.pb.v()&&et.push(l);l.pb(b++);s.a.Ua(l.Y,u);y.push(l)}function g(n,t){if(n)for(var i=0,r=t.length;i<r;i++)s.a.D(t[i].Y,function(r){n(r,i,t[i].Aa)})}var a,k,tt,ot,p,it,rt;f=f||[];"undefined"==typeof f.length&&(f=[f]);o=o||{};var w=s.a.g.get(u,t),ht=!w,y=[],v=0,b=0,ut=[],ft=[],nt=[],et=[],ct=[],l,lt=0;if(ht)s.a.D(f,st);else{for((!c||w&&w._countWaitingForRemove)&&(a=s.a.Mb(w,function(n){return n.Aa}),c=s.a.Pb(a,f,{dontLimitMoves:o.dontLimitMoves,sparse:!0})),a=0;k=c[a];a++)switch(tt=k.moved,ot=k.index,k.status){case"deleted":for(;v<ot;)d(v++);tt===n&&(l=w[v],l.$&&(l.$.s(),l.$=n),s.a.Ua(l.Y,u).length&&(o.beforeRemove&&(y.push(l),lt++,l.Aa===i?l=null:nt.push(l)),l&&ut.push.apply(ut,l.Y)));v++;break;case"added":for(;b<ot;)d(v++);tt!==n?(ft.push(y.length),d(tt)):st(k.value)}for(;b<f.length;)d(v++);y._countWaitingForRemove=lt}s.a.g.set(u,t,y);g(o.beforeMove,et);s.a.D(ut,o.beforeRemove?s.oa:s.removeNode);try{rt=u.ownerDocument.activeElement}catch(at){}if(ft.length)for(;(a=ft.shift())!=n;){for(l=y[a],p=n;a;)if((it=y[--a].Y)&&it.length){p=it[it.length-1];break}for(f=0;v=l.Y[f];p=v,f++)s.h.Wb(u,v,p)}for(a=0;l=y[a];a++){for(l.Y||s.a.extend(l,r(u,e,l.Aa,h,l.pb)),f=0;v=l.Y[f];p=v,f++)s.h.Wb(u,v,p);!l.Ed&&h&&(h(l.Aa,l.Y,l.pb),l.Ed=!0,p=l.Y[l.Y.length-1])}for(rt&&u.ownerDocument.activeElement!=rt&&rt.focus(),g(o.beforeRemove,nt),a=0;a<nt.length;++a)nt[a].Aa=i;g(o.afterMove,et);g(o.afterAdd,ct)}}();s.b("utils.setDomNodeChildrenFromArrayMapping",s.a.ec);s.ba=function(){this.allowTemplateRewriting=!1};s.ba.prototype=new s.ca;s.ba.prototype.constructor=s.ba;s.ba.prototype.renderTemplateSource=function(n,t,i,r){return(t=(9>s.a.W?0:n.nodes)?n.nodes():null)?s.a.la(t.cloneNode(!0).childNodes):(n=n.text(),s.a.ua(n,r))};s.ba.Ma=new s.ba;s.gc(s.ba.Ma);s.b("nativeTemplateEngine",s.ba),function(){s.$a=function(){var n=this.Hd=function(){if(!t||!t.tmpl)return 0;try{if(0<=t.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(n){}return 1}();this.renderTemplateSource=function(r,u,f,e){if(e=e||i,f=f||{},2>n)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var o=r.data("precompiled");return o||(o=r.text()||"",o=t.template(null,"{{ko_with $item.koBindingContext}}"+o+"{{/ko_with}}"),r.data("precompiled",o)),r=[u.$data],u=t.extend({koBindingContext:u},f.templateOptions),u=t.tmpl(o,r,u),u.appendTo(e.createElement("div")),t.fragments={},u};this.createJavaScriptEvaluatorBlock=function(n){return"{{ko_code ((function() { return "+n+" })()) }}"};this.addTemplate=function(n,t){i.write("<script type='text/html' id='"+n+"'>"+t+"<\/script>")};0<n&&(t.tmpl.tag.ko_code={open:"__.push($1 || '');"},t.tmpl.tag.ko_with={open:"with($1) {",close:"} "})};s.$a.prototype=new s.ca;s.$a.prototype.constructor=s.$a;var n=new s.$a;0<n.Hd&&s.gc(n);s.b("jqueryTmplTemplateEngine",s.$a)}()})})()})(),function(n){typeof require=="function"&&typeof exports=="object"&&typeof module=="object"?n(require("knockout"),exports):typeof define=="function"&&define.amd?define(["knockout","exports"],n):n(ko,ko.validation={})}(function(n,t){function a(n){var t=n==="max";return function(r,u){var o,h,s,f,e;if(i.utils.isEmptyVal(r))return!0;u.typeAttr===undefined?(h="text",o=u):(h=u.typeAttr,o=u.value);isNaN(o)||o instanceof Date||(h="number");switch(h.toLowerCase()){case"week":if(s=/^(\d{4})-W(\d{2})$/,f=r.match(s),f===null)throw new Error("Invalid value for "+n+" attribute for week input.  Should look like '2000-W33' http://www.w3.org/TR/html-markup/input.week.html#input.week.attrs.min");return(e=o.match(s),!e)?!1:t?f[1]<e[1]||f[1]===e[1]&&f[2]<=e[2]:f[1]>e[1]||f[1]===e[1]&&f[2]>=e[2];case"month":if(s=/^(\d{4})-(\d{2})$/,f=r.match(s),f===null)throw new Error("Invalid value for "+n+" attribute for month input.  Should look like '2000-03' http://www.w3.org/TR/html-markup/input.month.html#input.month.attrs.min");return(e=o.match(s),!e)?!1:t?f[1]<e[1]||f[1]===e[1]&&f[2]<=e[2]:f[1]>e[1]||f[1]===e[1]&&f[2]>=e[2];case"number":case"range":return t?!isNaN(r)&&parseFloat(r)<=parseFloat(o):!isNaN(r)&&parseFloat(r)>=parseFloat(o);default:return t?r<=o:r>=o}}}function y(n,t,r){return t.validator(n(),r.params===undefined?!0:f(r.params))?!0:(n.setError(i.formatMessage(r.message||t.message,f(r.params),n)),!1)}function p(n,t,r){n.isValidating(!0);var u=function(u){var e=!1,o="";if(!n.__valid__()){n.isValidating(!1);return}u.message?(e=u.isValid,o=u.message):e=u;e||(n.error(i.formatMessage(o||r.message||t.message,f(r.params),n)),n.__valid__(e));n.isValidating(!1)};i.utils.async(function(){t.validator(n(),r.params===undefined?!0:f(r.params),u)})}var l,s,h,v;if(typeof n=="undefined")throw new Error("Knockout is required, please ensure it is loaded before loading this validation plug-in");n.validation=t;var i=n.validation,u=n.utils,f=u.unwrapObservable,e=u.arrayForEach,r=u.extend,c={registerExtenders:!0,messagesOnModified:!0,errorsAsTitle:!0,errorsAsTitleOnModified:!1,messageTemplate:null,insertMessages:!0,parseInputAttributes:!1,writeInputAttributes:!1,decorateInputElement:!1,decorateElementOnModified:!0,errorClass:null,errorElementClass:"validationElement",errorMessageClass:"validationMessage",allowHtmlMessages:!1,grouping:{deep:!1,observable:!0,live:!1},validate:{}},o=r({},c);o.html5Attributes=["required","pattern","min","max","step"];o.html5InputTypes=["email","number","date"];o.reset=function(){r(o,c)};i.configuration=o;i.utils=function(){var r=(new Date).getTime(),t={},n="__ko_validation__";return{isArray:function(n){return n.isArray||Object.prototype.toString.call(n)==="[object Array]"},isObject:function(n){return n!==null&&typeof n=="object"},isNumber:function(n){return!isNaN(n)},isObservableArray:function(n){return!!n&&typeof n.remove=="function"&&typeof n.removeAll=="function"&&typeof n.destroy=="function"&&typeof n.destroyAll=="function"&&typeof n.indexOf=="function"&&typeof n.replace=="function"},values:function(n){var t=[];for(var i in n)n.hasOwnProperty(i)&&t.push(n[i]);return t},getValue:function(n){return typeof n=="function"?n():n},hasAttribute:function(n,t){return n.getAttribute(t)!==null},getAttribute:function(n,t){return n.getAttribute(t)},setAttribute:function(n,t,i){return n.setAttribute(t,i)},isValidatable:function(n){return!!(n&&n.rules&&n.isValid&&n.isModified)},insertAfter:function(n,t){n.parentNode.insertBefore(t,n.nextSibling)},newId:function(){return r+=1},getConfigOptions:function(n){var t=i.utils.contextFor(n);return t||i.configuration},setDomData:function(r,u){var f=r[n];f||(r[n]=f=i.utils.newId());t[f]=u},getDomData:function(i){var r=i[n];return r?t[r]:undefined},contextFor:function(n){switch(n.nodeType){case 1:case 8:var t=i.utils.getDomData(n);if(t)return t;if(n.parentNode)return i.utils.contextFor(n.parentNode)}return undefined},isEmptyVal:function(n){return n===undefined?!0:n===null?!0:n===""?!0:void 0},getOriginalElementTitle:function(n){var t=i.utils.getAttribute(n,"data-orig-title"),r=n.title,u=i.utils.hasAttribute(n,"data-orig-title");return u?t:r},async:function(n){window.setImmediate?window.setImmediate(n):window.setTimeout(n,0)},forEach:function(n,t){if(i.utils.isArray(n))return e(n,t);for(var r in n)n.hasOwnProperty(r)&&t(n[r],r)}}}();l=function(){function l(n){e(n.subscriptions,function(n){n.dispose()});n.subscriptions=[]}function v(n){n.options.deep&&(e(n.flagged,function(n){delete n.__kv_traversed}),n.flagged.length=0);n.options.live||l(n)}function s(n,t){t.validatables=[];l(t);a(n,t);v(t)}function a(i,r,u){var e=[],f=i.peek?i.peek():i;i.__kv_traversed!==!0&&(r.options.deep&&(i.__kv_traversed=!0,r.flagged.push(i)),u=u!==undefined?u:r.options.deep?1:-1,n.isObservable(i)&&(i.errors||t.isValidatable(i)||i.extend({validatable:!0}),r.validatables.push(i),r.options.live&&t.isObservableArray(i)&&r.subscriptions.push(i.subscribe(function(){r.graphMonitor.valueHasMutated()}))),f&&!f._destroy&&(t.isArray(f)?e=f:t.isObject(f)&&(e=t.values(f))),u!==0&&t.forEach(e,function(t){t&&!t.nodeType&&(!n.isComputed(t)||t.rules)&&a(t,r,u+1)}))}function h(n){var i=[];return e(n,function(n){t.isValidatable(n)&&!n.isValid()&&i.push(n.error.peek())}),i}var c=0,o=i.configuration,t=i.utils;return{init:function(n,t){c>0&&!t||(n=n||{},n.errorElementClass=n.errorElementClass||n.errorClass||o.errorElementClass,n.errorMessageClass=n.errorMessageClass||n.errorClass||o.errorMessageClass,r(o,n),o.registerExtenders&&i.registerExtenders(),c=1)},reset:i.configuration.reset,group:function(i,f){f=r(r({},o.grouping),f);var l={options:f,graphMonitor:n.observable(),flagged:[],subscriptions:[],validatables:[]},c=null;return c=f.observable?n.computed(function(){return l.graphMonitor(),s(i,l),h(l.validatables)}):function(){return s(i,l),h(l.validatables)},c.showAllMessages=function(n){n===undefined&&(n=!0);c.forEach(function(i){t.isValidatable(i)&&i.isModified(n)})},c.isAnyMessageShown=function(){return!!c.find(function(n){return t.isValidatable(n)&&!n.isValid()&&n.isModified()})},c.filter=function(n){return n=n||function(){return!0},c(),u.arrayFilter(l.validatables,n)},c.find=function(n){return n=n||function(){return!0},c(),u.arrayFirst(l.validatables,n)},c.forEach=function(n){n=n||function(){};c();e(l.validatables,n)},c.map=function(n){return n=n||function(n){return n},c(),u.arrayMap(l.validatables,n)},c._updateState=function(n){if(!t.isObject(n))throw new Error("An object is required.");if(i=n,f.observable)l.graphMonitor.valueHasMutated();else return s(n,l),h(l.validatables)},c},formatMessage:function(n,i,r){if(t.isObject(i)&&i.typeAttr&&(i=i.value),typeof n=="function")return n(i,r);var u=f(i);return u==null&&(u=[]),t.isArray(u)||(u=[u]),n.replace(/{(\d+)}/gi,function(n,t){return typeof u[t]!="undefined"?u[t]:n})},addRule:function(n,t){n.extend({validatable:!0});var i=!!u.arrayFirst(n.rules(),function(n){return n.rule&&n.rule===t.rule});return i||n.rules.push(t),n},addAnonymousRule:function(n,t){t.message===undefined&&(t.message="Error");t.onlyIf&&(t.condition=t.onlyIf);i.addRule(n,t)},addExtender:function(r){n.extenders[r]=function(n,u){return u&&(u.message||u.onlyIf)?i.addRule(n,{rule:r,message:u.message,params:t.isEmptyVal(u.params)?!0:u.params,condition:u.onlyIf}):i.addRule(n,{rule:r,params:u})}},registerExtenders:function(){if(o.registerExtenders)for(var t in i.rules)i.rules.hasOwnProperty(t)&&(n.extenders[t]||i.addExtender(t))},insertValidationMessage:function(n){var i=document.createElement("SPAN");return i.className=t.getConfigOptions(n).errorMessageClass,t.insertAfter(n,i),i},parseInputValidationAttributes:function(n,r){e(i.configuration.html5Attributes,function(u){var e,f;t.hasAttribute(n,u)&&(e=n.getAttribute(u)||!0,(u==="min"||u==="max")&&(f=n.getAttribute("type"),typeof f!="undefined"&&f||(f="text"),e={typeAttr:f,value:e}),i.addRule(r(),{rule:u,params:e}))});var u=n.getAttribute("type");e(i.configuration.html5InputTypes,function(n){n===u&&i.addRule(r(),{rule:n==="date"?"dateISO":n,params:!0})})},writeInputValidationAttributes:function(t,r){var f=r(),o;f&&f.rules&&(o=f.rules(),e(i.configuration.html5Attributes,function(i){var r=u.arrayFirst(o,function(n){return n.rule&&n.rule.toLowerCase()===i.toLowerCase()});r&&n.computed({read:function(){var u=n.unwrap(r.params);r.rule==="pattern"&&u instanceof RegExp&&(u=u.source);t.setAttribute(i,u)},disposeWhenNodeIsRemoved:t})}),o=null)},makeBindingHandlerValidatable:function(t){var i=n.bindingHandlers[t].init;n.bindingHandlers[t].init=function(t,r,u,f,e){return i(t,r,u,f,e),n.bindingHandlers.validationCore.init(t,r,u,f,e)}},setRules:function(r,u){var e=function(r,u){var s,h,o,l;if(r&&u)for(s in u)if(u.hasOwnProperty(s)&&(h=u[s],r[s])){var a=r[s],c=f(a),y={},v={};for(o in h)h.hasOwnProperty(o)&&(i.rules[o]?y[o]=h[o]:v[o]=h[o]);if(n.isObservable(a)&&a.extend(y),c&&t.isArray(c))for(l=0;l<c.length;l++)e(c[l],v);else e(c,v)}};e(r,u)}}}();r(n.validation,l);i.rules={};i.rules.required={validator:function(n,t){var i;return n===undefined||n===null?!t:(i=n,typeof n=="string"&&(i=String.prototype.trim?n.trim():n.replace(/^\s+|\s+$/g,"")),!t)?!0:(i+"").length>0},message:"This field is required."};i.rules.min={validator:a("min"),message:"Please enter a value greater than or equal to {0}."};i.rules.max={validator:a("max"),message:"Please enter a value less than or equal to {0}."};i.rules.minLength={validator:function(n,t){if(i.utils.isEmptyVal(n))return!0;var r=i.utils.isNumber(n)?""+n:n;return r.length>=t},message:"Please enter at least {0} characters."};i.rules.maxLength={validator:function(n,t){if(i.utils.isEmptyVal(n))return!0;var r=i.utils.isNumber(n)?""+n:n;return r.length<=t},message:"Please enter no more than {0} characters."};i.rules.pattern={validator:function(n,t){return i.utils.isEmptyVal(n)||n.toString().match(t)!==null},message:"Please check this value."};i.rules.step={validator:function(n,t){if(i.utils.isEmptyVal(n)||t==="any")return!0;var r=n*100%(t*100);return Math.abs(r)<1e-5||Math.abs(1-r)<1e-5},message:"The value must increment by {0}."};i.rules.email={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i.test(n):!0},message:"Please enter a proper email address."};i.rules.date={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&!/Invalid|NaN/.test(new Date(n)):!0},message:"Please enter a proper date."};i.rules.dateISO={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&/^\d{4}[-/](?:0?[1-9]|1[012])[-/](?:0?[1-9]|[12][0-9]|3[01])$/.test(n):!0},message:"Please enter a proper date."};i.rules.number={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(n):!0},message:"Please enter a number."};i.rules.digit={validator:function(n,t){return t?i.utils.isEmptyVal(n)||t&&/^\d+$/.test(n):!0},message:"Please enter a digit."};i.rules.phoneUS={validator:function(n,t){return t?i.utils.isEmptyVal(n)?!0:typeof n!="string"?!1:(n=n.replace(/\s+/g,""),t&&n.length>9&&n.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)):!0},message:"Please specify a valid phone number."};i.rules.equal={validator:function(n,t){var r=t;return n===i.utils.getValue(r)},message:"Values must equal."};i.rules.notEqual={validator:function(n,t){var r=t;return n!==i.utils.getValue(r)},message:"Please choose another value."};i.rules.unique={validator:function(n,t){var r=i.utils.getValue(t.collection),e=i.utils.getValue(t.externalValue),f=0;return!n||!r?!0:(u.arrayFilter(r,function(i){n===(t.valueAccessor?t.valueAccessor(i):i)&&f++}),f<(!e?2:1))},message:"Please make sure the value is unique."},function(){i.registerExtenders()}();n.bindingHandlers.validationCore=function(){return{init:function(t,r){var u=i.utils.getConfigOptions(t),f=r(),e;u.parseInputAttributes&&i.utils.async(function(){i.parseInputValidationAttributes(t,r)});u.insertMessages&&i.utils.isValidatable(f)&&(e=i.insertValidationMessage(t),u.messageTemplate?n.renderTemplate(u.messageTemplate,{field:f},null,e,"replaceNode"):n.applyBindingsToNode(e,{validationMessage:f}));u.writeInputAttributes&&i.utils.isValidatable(f)&&i.writeInputValidationAttributes(t,r);u.decorateInputElement&&i.utils.isValidatable(f)&&n.applyBindingsToNode(t,{validationElement:f})}}}();i.makeBindingHandlerValidatable("value");i.makeBindingHandlerValidatable("checked");n.bindingHandlers.textInput&&i.makeBindingHandlerValidatable("textInput");i.makeBindingHandlerValidatable("selectedOptions");n.bindingHandlers.validationMessage={update:function(t,r){var e=r(),s=i.utils.getConfigOptions(t),v=f(e),h=!1,c=!1,o,l,a;if(e===null||typeof e=="undefined")throw new Error("Cannot bind validationMessage to undefined value. data-bind expression: "+t.getAttribute("data-bind"));h=e.isModified&&e.isModified();c=e.isValid&&e.isValid();o=null;(!s.messagesOnModified||h)&&(o=c?null:e.error);l=!s.messagesOnModified||h?!c:!1;a=t.style.display!=="none";s.allowHtmlMessages?u.setHtml(t,o):n.bindingHandlers.text.update(t,function(){return o});a&&!l?t.style.display="none":!a&&l&&(t.style.display="")}};n.bindingHandlers.validationElement={update:function(t,r,u){var e=r(),o=i.utils.getConfigOptions(t),l=f(e),h=!1,s=!1,c;if(e===null||typeof e=="undefined")throw new Error("Cannot bind validationElement to undefined value. data-bind expression: "+t.getAttribute("data-bind"));(h=e.isModified&&e.isModified(),s=e.isValid&&e.isValid(),c=function(){var n={},t=!o.decorateElementOnModified||h?!s:!1;return n[o.errorElementClass]=t,n},n.bindingHandlers.css.update(t,c,u),o.errorsAsTitle)&&n.bindingHandlers.attr.update(t,function(){var n=!o.errorsAsTitleOnModified||h,r=i.utils.getOriginalElementTitle(t);return n&&!s?{title:e.error,"data-orig-title":r}:!n||s?{title:r,"data-orig-title":null}:void 0})}};n.bindingHandlers.validationOptions=function(){return{init:function(n,t){var e=f(t()),u;e&&(u=r({},i.configuration),r(u,e),i.utils.setDomData(n,u))}}}();n.extenders.validation=function(n,t){return e(i.utils.isArray(t)?t:[t],function(t){i.addAnonymousRule(n,t)}),n};n.extenders.validatable=function(t,u){var o,f,s,e;return i.utils.isObject(u)||(u={enable:u}),"enable"in u||(u.enable=!0),u.enable&&!i.utils.isValidatable(t)?(o=i.configuration.validate||{},f={throttleEvaluation:u.throttle||o.throttle},t.error=n.observable(null),t.rules=n.observableArray(),t.isValidating=n.observable(!1),t.__valid__=n.observable(!0),t.isModified=n.observable(!1),t.isValid=n.computed(t.__valid__),t.setError=function(n){var i=t.error.peek(),r=t.__valid__.peek();t.error(n);t.__valid__(!1);i===n||r||t.isValid.notifySubscribers()},t.clearError=function(){return t.error(null),t.__valid__(!0),t},s=t.subscribe(function(){t.isModified(!0)}),e=n.computed(r({read:function(){var n=t(),r=t.rules();return i.validateObservable(t),!0}},f)),r(e,f),t._disposeValidation=function(){t.isValid.dispose();t.rules.removeAll();s.dispose();e.dispose();delete t.rules;delete t.error;delete t.isValid;delete t.isValidating;delete t.__valid__;delete t.isModified;delete t.setError;delete t.clearError;delete t._disposeValidation}):u.enable===!1&&t._disposeValidation&&t._disposeValidation(),t};i.validateObservable=function(n){for(var u=0,r,t,f=n.rules(),e=f.length;u<e;u++)if(t=f[u],!t.condition||t.condition())if(r=t.rule?i.rules[t.rule]:t,r.async||t.async)p(n,r,t);else if(!y(n,r,t))return!1;return n.clearError(),!0};s={};i.defineLocale=function(n,t){return n&&t?(s[n.toLowerCase()]=t,t):null};i.locale=function(n){if(n)if(n=n.toLowerCase(),s.hasOwnProperty(n))i.localize(s[n]),h=n;else throw new Error("Localization "+n+" has not been loaded.");return h};i.localize=function(n){var r=i.rules;for(var t in n)r.hasOwnProperty(t)&&(r[t].message=n[t])},function(){var r={},n=i.rules;for(var t in n)n.hasOwnProperty(t)&&(r[t]=n[t].message);i.defineLocale("en-us",r)}();h="en-us";n.applyBindingsWithValidation=function(t,u,f){var o=document.body,e;u&&u.nodeType?(o=u,e=f):e=u;i.init();e&&(e=r(r({},i.configuration),e),i.utils.setDomData(o,e));n.applyBindings(t,o)};v=n.applyBindings;n.applyBindings=function(n,t){i.init();v(n,t)};n.validatedObservable=function(t,r){if(!r&&!i.utils.isObject(t))return n.observable(t).extend({validatable:!0});var u=n.observable(t);return u.errors=i.group(i.utils.isObject(t)?t:{},r),u.isValid=n.observable(u.errors().length===0),n.isObservable(u.errors)?u.errors.subscribe(function(n){u.isValid(n.length===0)}):n.computed(u.errors).subscribe(function(n){u.isValid(n.length===0)}),u.subscribe(function(n){i.utils.isObject(n)||(n={});u.errors._updateState(n);u.isValid(u.errors().length===0)}),u}}),function(n){typeof define=="function"&&define.amd?define(["knockout","jquery","jquery-ui/autocomplete"],n):n(window.ko,jQuery)}(function(n,t){var i=function(){var i=this,r=n.utils.unwrapObservable;this.init=function(u,f,e,o,s){var a,v,h=r(f()),c={},y=typeof h.filter=="function"?h.filter:i.defaultFilter,l;n.utils.extend(c,i.options);n.utils.extend(c,h.options);c.source=typeof h.source!="function"||n.isObservable(h.source)?i.processOptions.bind(i,f,y,h.source):function(n,t){var r=function(r){i.processOptions(f,null,r,n,t)};h.source.call(s.$data,n.term,r)};a=typeof c.select=="function"&&c.select;v=typeof c.change=="function"&&c.change;c.select=function(t,i){i.item&&i.item.actual&&(h.value(i.item.actual),n.isWriteableObservable(h.dataValue)&&h.dataValue(i.item.data));a&&a.apply(this,arguments)};c.change=function(t,i){i.item&&i.item.actual||(h.value(t.target&&t.target.value),n.isWriteableObservable(h.dataValue)&&h.dataValue(null));v&&v.apply(this,arguments)};l=t(u).autocomplete(c).data("ui-autocomplete");h.template&&(l._renderItem=i.renderItem.bind(i,h.template,s));n.utils.domNodeDisposal.addDisposeCallback(u,function(){l&&typeof l.destroy=="function"&&(l.destroy(),l=null)})};this.update=function(u,f){var o,s,h=r(f()),e=r(h&&h.value);e||e===0||(e="");s=r(h.source);o=i.getPropertyNames(f);t.isArray(s)&&o.value&&(e=n.utils.arrayFirst(s,function(n){return n[o.value]==e})||e);u.value=o.input&&e&&typeof e=="object"?e[o.input]:e};this.defaultFilter=function(t,i){return i=i&&i.toLowerCase(),(t||t===0)&&n.toJSON(t).toLowerCase().indexOf(i)>-1};this.processOptions=function(n,t,i,u,f){for(var e,c=r(i)||[],l=[],o=this.getPropertyNames(n),s=0,h=c.length;s<h;s++)e=c[s],(!t||t(e,u.term))&&l.push({label:o.label?e[o.label]:e.toString(),value:o.input?e[o.input]:e.toString(),actual:o.value?e[o.value]:e,data:e});f(l)};this.renderItem=function(i,r,u,f){var e=t("<li><\/li>").appendTo(u),o=r.createChildContext(f.data);n.applyBindingsToNode(e[0],{template:i},o);e.one("remove",n.cleanNode.bind(n,e[0]));return e};this.getPropertyNames=function(t){var i=n.toJS(t());return{label:i.labelProp||i.valueProp,input:i.inputProp||i.labelProp||i.valueProp,value:i.valueProp}};this.options={autoFocus:!0,delay:50}};n.bindingHandlers.jqAuto=new i}),function(n){var i=function(t,i){"use strict";var y=function(n,t){return function(){var r=arguments;return i.computed(function(){return n.apply(t,r)})}},r={},e,p,f,b,k,u,v,c,d,g,o,l,w;r.page=null;r.now=function(){return Date.now?Date.now():(new Date).valueOf()};r.extendWithPage=function(n){var t=new r.Page;n.$__page__=t;r.page=t;r.activePage$=y(r.getActivePage,r)()};e=function(n,t,i){i=i||{};i.page=n;r[t].fire(i);n.val(t)&&n.val(t)(i)};t.each(["onBindingError","onSourceError","onNoMatch","onMatch","beforeRemove","afterRemove","beforeHide","afterHide","beforeShow","afterShow"],function(n,i){r[i]=t.Callbacks()});r.showChild=function(n){var t=n&&n.length===1&&n[0]===""?[]:n;r.page.showPage(t)};r.getParentPage=function(n){while(n){if(n.$page&&n.$page.val("urlToggle")!=="none")return n.$page;if(n.$data&&n.$data.$__page__)return n.$data.$__page__;n=n.$parentContext}return null};var a=null,s=null,h=function(n){s&&s.reject({cancel:!0});a=null;n.substring(0,r.Href.hash.length)===r.Href.hash&&(n=n.slice(r.Href.hash.length));var t=p(n);r.showChild(t)};return r.goTo=h,r.navigate=function(n){r.useHTML5history?r.Href5.history.pushState(null,null,n):location.hash=n},p=function(n){return t.map(n.replace(/\+/g," ").split("/"),decodeURIComponent)},f={},f.value=i.utils.unwrapObservable,f.arrayValue=function(n){return t.map(n,function(n){return f.value(n)})},b=function(n){for(var t,i={},u=/([^&=]+)=?([^&]*)/g,r;t=u.exec(n);)/\[\]$/.test(t[1])?(r=t[1].replace(/\[\]$/,""),r in i||(i[r]=[]),i[r].push(t[2])):i[t[1]]=t[2];return i},k=function(n){if(!n)return{name:null,params:{}};var t=n.split("?"),u=t[0],i=t[1],r={};return i&&(r=b(i)),{name:u,params:r}},r.ChildManager=function(n,u){this.currentChildO=i.observable(null);var o=this;this.page=u;this.timeStamp=r.now();this.hideChild=function(){var n=o.currentChildO();n&&(n.hidePage(function(){}),o.currentChildO(null))};this.showChild=function(i){var g=i.length===0,d,w,y;this.timeStamp=r.now();var b=this.timeStamp,h=o.currentChildO(),u=null,a=!1,v=k(i[0]),s=v.name,c=null;t.each(n(),function(n,t){if(!a){var i=t.getId();(r.ignoreRouteCase&&(i||"").toLowerCase()===(s||"").toLowerCase()||i===s||(s===""||s==null)&&t.isStartPage())&&(a=!0,u=t);i==="?"&&(c=t)}});for(var p=!1,l=o,nt=function(n,t){if(!a){var i=t.getId(),r=t.getValue().modal;r&&((i===s||(s===""||s==null)&&t.isStartPage())&&(a=!0,u=t,p=!0),i!=="?"||c||(c=t,p=!0))}};!u&&l.page.parentPage&&!l.page.getValue().modal;)d=l.page.parentPage.children,t.each(d(),nt),u||(l=l.page.parentPage.childManager);u||!c||g||(u=c);o.currentChildO(u);u&&(p?u.currentParentPage(o.page):u.currentParentPage(null));w=function(){e(o.page,"onNoMatch",{route:i})};y=function(){e(o.page,"onMatch",{route:i});var r=0,n=f.value(u.getValue().guard);n&&t.isArray(n)?t.each(n,function(n,t){t(u,i,function(){r++;r===t.length-1&&o.timeStamp===b&&u.showPage(i.slice(1),v,i[0])},h)}):n?n(u,i,function(){o.timeStamp===b&&u.showPage(i.slice(1),v,i[0])},h):u.showPage(i.slice(1),v,i[0])};h&&h===u?y():h?h.hidePage(function(){u?y():w()}):u?y():w()}},r.Page=function(n,t,u,f,e){this.element=n;this.valueAccessor=t;this.allBindingsAccessor=u;this.viewModel=f;this.bindingContext=e;this.children=i.observableArray([]);this.childManager=new r.ChildManager(this.children,this);this.parentPage=null;this.currentId=null;this.getCurrentId=i.observable();this.ctx=null;this.currentParentPage=i.observable(null);this.isVisible=i.observable(!1);this.originalRoute=i.observable(null);this.route=null},u=r.Page.prototype,u.val=function(n){return f.value(this.getValue()[n])},u.currentChildPage=function(){return this.childManager.currentChildO},u.find=function(n){var u=f.value(n),i=this,e;if(u.substring(0,1)==="/")i=r.page,u=u.slice(1);else while(u.substring(0,3)==="../")i=i.currentParentPage&&i.currentParentPage()?i.currentParentPage():i.parentPage,u=u.slice(3);return e=p(u),t.each(e,function(n,t){i=i.child(t)()}),i},u.find$=function(n){return y(this.find,this)(n)},v=function(n){return r.useHTML5history?t("base").attr("href")+n:r.Href.hash+n},u.path=function(n){var u=this,i=f.value(n),s,h,e,c,o;if(i&&typeof i=="object"&&i.path&&i.params&&!(i instanceof r.Page))return s=i.path,h=i.params,u.path(s)+"?"+t.param(h);if(i==null||i==="")e=u;else if(i instanceof r.Page)e=i;else{if(i.substring(0,1)==="/")return c=r.page.getFullRoute()().join("/")+i.substring(1),v(c);for(o=0;i.substring(0,3)==="../";)o++,i=i.slice(3);var l=u.getFullRoute()(),a=l.slice(0,l.length-o).join("/"),y=(a===""?"":a+"/")+i;return v(y)}return v(e.getFullRoute()().join("/"))},u.path$=function(n){return y(this.path,this)(n)},u.async=function(n,t,i,u){var f=this;return function(){var e,o;s&&s.reject({cancel:!0});e=n();s=e;u&&u(e.state());o=Math.random();a=o;e.done(function(){u&&u(e.state());o===a&&r.navigate(f.path(t))});e.fail(function(n){u&&u(e.state());var t=n&&n.cancel;o===a&&!t&&i&&r.navigate(f.path(i))})}},u.showPage=function(n,t,i){var r=this,u=r.currentId,f=r.pageRoute?r.pageRoute.params:null,e=r.isVisible();r.currentId=t?t.name||"":"";r.getCurrentId(r.currentId);r.isVisible(!0);i&&r.originalRoute(i);r.route=n;r.pageRoute=t;e?(r.getId()==="?"&&u!==r.currentId&&r.show(),t&&f!==t.params&&r.setParams()):(r.setParams(),r.show());r.childManager.showChild(n)},u.setParams=function(){var n;if(this.pageRoute&&this.pageRoute.params){var e=this.pageRoute.params,r=this.ctx,u=this.val("params")||{};t.isArray(u)?t.each(u,function(n,t){var u=e[t];r[t]?r[t](u):r[t]=i.observable(u)}):t.each(u,function(n,t){var o=e[n],u;u=o==null?f.value(t):o;r[n]?r[n](u):r[n]=i.observable(u)})}this.pageRoute&&(n=this.getValue().nameParam,n&&(typeof n=="string"?this.ctx[n]?this.ctx[n](this.currentId):this.ctx[n]=i.observable(this.currentId):n(this.currentId)))},u.hidePage=function(n){var t=this;"show"!==t.val("urlToggle")?(t.hideElementWrapper(n),t.childManager.hideChild()):n&&n()},c=function(t){try{i.applyBindingsToDescendants(t.childBindingContext,t.element)}catch(u){r.onBindingError.has()||n.console&&n.console.error&&n.console.error(u);e(t,"onBindingError",{error:u})}},u.init=function(){var n=this,o,s,y,h,u,l,r,a,v;return(n.cleanElement=n.element.innerHTML,o=n.val("urlToggle"),s=n.val("id"),s!=="?"&&n.getCurrentId(s),y=i.utils.domData.get(n.element,"__ko_pagerjsBindingData"),y)?{controlsDescendantBindings:!0}:(i.utils.domData.set(n.element,"__ko_pagerjsBindingData",n),i.utils.domNodeDisposal.addDisposeCallback(n.element,function(){e(n,"beforeRemove");n.parentPage&&n.parentPage.children.remove(n);e(n,"afterRemove")}),h=n.getValue(),o!=="none"&&(n.parentPage=n.getParentPage(),n.parentPage.children.push(this),n.hideElement()),n.val("source")&&n.loadSource(n.val("source")),n.ctx=null,h.withOnShow?(n.ctx={},n.childBindingContext=n.bindingContext.createChildContext(n.ctx),i.utils.extend(n.childBindingContext,{$page:this})):(u=h["with"]||n.viewModel,n.ctx=f.value(u),n.augmentContext(),i.isObservable(u)?(l=i.observable(n.ctx),n.childBindingContext=n.bindingContext.createChildContext(l),i.utils.extend(n.childBindingContext,{$page:this}),c(n),u.subscribe(function(){l(f.value(u))})):(n.childBindingContext=n.bindingContext.createChildContext(n.ctx),i.utils.extend(n.childBindingContext,{$page:this,$observableData:undefined}),c(n))),o!=="none"?(r=n.parentPage,r.route&&(r.route[0]===n.getId()||r.route.length&&n.getId()==="?")&&setTimeout(function(){r.showPage(r.route)},0)):(a=function(){t(n.element).is(":visible")&&n.showPage([])},setTimeout(a,0),n.getParentPage().isVisible.subscribe(function(n){n&&setTimeout(a,0)})),v=n.getValue().bind,i.isObservable(v)&&v(n),{controlsDescendantBindings:!0})},u.augmentContext=function(){var n=this,r=n.val("params"),u;r&&(t.isArray(r)?t.each(r,function(t,r){n.ctx[r]||(n.ctx[r]=i.observable())}):t.each(r,function(t,u){n.ctx[t]||(i.isObservable(u)?n.ctx[t]=u:u===null?(r[t]=i.observable(null),n.ctx[t]=i.observable(null)):n.ctx[t]=i.observable(u))}));this.val("vars")&&t.each(this.val("vars"),function(t,r){n.ctx[t]=i.isObservable(r)?r:i.observable(r)});u=this.getValue().nameParam;u&&typeof u=="string"&&!n.ctx[u]&&(n.ctx[u]=i.observable(null));this.setParams()},u.getValue=function(){return this.valueAccessor?f.value(this.valueAccessor()):{}},u.getParentPage=function(){return r.getParentPage(this.bindingContext)},u.getId=function(){return this.val("id")},u.id=function(){var n=this.getCurrentId();return n==null||n===""?this.getId():n},u.sourceUrl=function(n){var t=this;return this.getId()==="?"?i.computed(function(){var i;return i=t.val("deep")?[t.currentId].concat(t.route).join("/"):t.currentId,f.value(n).replace("{1}",i)}):i.computed(function(){return f.value(n)})},u.loadWithOnShow=function(n){var r=this;r.withOnShowLoaded&&r.val("sourceCache")===!0?r.showElementWrapper(n):(r.val("withOnShow")(function(u){!r.val("sourceOnShow")&&r.withOnShowLoaded&&(i.cleanNode(t(r.element)),t(r.element).empty(),r.element.innerHTML=r.cleanElement);var f=r.bindingContext.createChildContext(u);r.ctx=u;r.childBindingContext=f;r.augmentContext();i.utils.extend(f,{$page:r});c(r);r.showElementWrapper(n);r.route&&r.childManager.showChild(r.route)},r),r.withOnShowLoaded=!0)},u.loadSource=function(n,u){var h=this.getValue(),e=this,l=this.element,o=null,a=h.loader||r.loader,s,v,y,p;if(e.val("withOnShow")||e.showElementWrapper(u),h.frame==="iframe"){s=t("iframe",t(l));s.length===0&&(s=t("<iframe><\/iframe>"),t(l).append(s));a&&(o=f.value(a)(e,s),o.load());s.one("load",function(){o&&o.unload();h.sourceLoaded&&h.sourceLoaded(e)});i.applyBindingsToNode(s[0],{attr:{src:this.sourceUrl(n)}})}else a&&(o=f.value(a)(e,e.element),o.load()),v=function(){o&&o.unload();e.val("withOnShow")?e.val("withOnShow")&&e.loadWithOnShow(u):c(e);h.sourceLoaded&&h.sourceLoaded(e);e.route&&e.childManager.showChild(e.route)},typeof f.value(n)=="string"?(y=f.value(this.sourceUrl(n)),g(l,y,function(){v()},e)):(p=t(l).children(),f.value(n)(this,function(){t.each(p,function(n,t){i.utils.domNodeDisposal.removeNode(t)});v()}))},d=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,g=function(n,r,u,f){var s,l,o=t(n),h=r.indexOf(" "),c;return h>=0&&(s=r.slice(h,r.length),r=r.slice(0,h)),c=jQuery.ajax({url:r,type:"GET",dataType:"html",complete:function(n,t){u&&o.each(u,l||[n.responseText,t,n])}}).done(function(n){l=arguments;t.each(o.children(),function(n,t){i.utils.domNodeDisposal.removeNode(t)});o.html(s?jQuery("<div>").append(n.replace(d,"")).find(s):n)}),c.fail(function(){e(f,"onSourceError",{url:r,xhrPromise:c})}),o},u.show=function(t){var u=this.element,i=this;i.val("title")&&(n.document.title=i.val("title"));i.val("sourceOnShow")?!i.val("sourceCache")||!u.__pagerLoaded__||typeof i.val("sourceCache")=="number"&&u.__pagerLoaded__+i.val("sourceCache")*1e3<r.now()?(u.__pagerLoaded__=r.now(),i.loadSource(i.val("sourceOnShow"),t)):i.showElementWrapper(t):i.val("withOnShow")?i.loadWithOnShow(t):i.showElementWrapper(t)},u.titleOrId=function(){return this.val("title")||this.id()},u.showElementWrapper=function(n){var t=this;e(t,"beforeShow");t.showElement(n);t.val("scrollToTop")&&t.element.scrollIntoView();e(t,"afterShow")},u.showElement=function(n){this.val("showElement")?this.val("showElement")(this,n):this.val("fx")?r.fx[this.val("fx")].showElement(this,n):r.showElement?r.showElement(this,n):t(this.element).show(n)},u.hideElementWrapper=function(n){this.isVisible(!1);e(this,"beforeHide");this.hideElement(n);e(this,"afterHide")},u.hideElement=function(n){this.val("hideElement")?this.val("hideElement")(this,n):this.val("fx")?r.fx[this.val("fx")].hideElement(this,n):r.hideElement?r.hideElement(this,n):(t(this.element).hide(),n&&n())},u.getFullRoute=function(){return this._fullRoute?this._fullRoute:(this._fullRoute=i.computed(function(){var n=null;return this.currentParentPage&&this.currentParentPage()?(n=this.currentParentPage().getFullRoute()().slice(0),n.push(this.originalRoute()||this.getId()),n):this.parentPage?(n=this.parentPage.getFullRoute()().slice(0),n.push(this.originalRoute()||this.getId()),n):[]},this),this._fullRoute)},u.getRole=function(){return this.val("role")||"next"},u.isStartPage=function(){return r.ignoreRouteCase?(this.getId()||"").toLowerCase()==="start"||(this.getRole()||"").toLowerCase()==="start":this.getId()==="start"||this.getRole()==="start"},u.nullObject=new r.Page,u.nullObject.children=i.observableArray([]),u.child=function(n){var r=this;return r._child==null&&(r._child={}),r._child[n]||(r._child[n]=i.computed(function(){var i=t.grep(this.children(),function(t){return t.id()===n})[0];return i||this.nullObject},this)),r._child[n]},r.getActivePage=function(){for(var n=r.page;n.currentChildPage()()!=null;)n=n.currentChildPage()();return n},i.bindingHandlers.page={init:function(n,t,i,u,e){var o=null;return f.value(t())instanceof r.Page?(o=f.value(t()),o.element=n,o.allBindingsAccessor==null&&(o.allBindingsAccessor=i),o.viewModel==null&&(o.viewModel=u),o.bindingContext==null&&(o.bindingContext=e)):o=new r.Page(n,t,i,u,e),o.init()}},o="page-href",r.useHTML5history=!1,r.rootURI="/",r.ignoreRouteCase=!1,r.dataAttribute=i.computed({read:function(){return o},write:function(n){if(!n){var t=new Error;t.message="Data Attribute cannot be blank";throw t;}i.bindingHandlers[o]&&delete i.bindingHandlers[o];o=n;i.bindingHandlers[o]=w}}),r.Href=function(n,t,r,u,f){this.element=n;this.bindingContext=f;this.path=i.observable();this.pageOrRelativePath=i.observable(t)},l=r.Href.prototype,l.getParentPage=function(){return r.getParentPage(this.bindingContext)},l.init=function(){var n=this,t=n.getParentPage();n.path=i.computed(function(){var i=f.value(n.pageOrRelativePath()());return t.path(i)})},r.Href.hash="#",l.bind=function(){i.applyBindingsToNode(this.element,{attr:{href:this.path}})},l.update=function(n){this.pageOrRelativePath(n)},r.Href5=function(){r.Href.apply(this,arguments)},r.Href5.prototype=new r.Href,r.Href5.history=n.History,r.Href5.prototype.bind=function(){var u=this;i.applyBindingsToNode(u.element,{attr:{href:u.path},click:function(i,f){var e=u.path();if((e===""||e==="/")&&(e=t("base").attr("href")),f.shiftKey||f.ctrlKey||f.metaKey){n.open(e,"_blank");return}r.Href5.history.pushState(null,null,e)}})},w={init:function(n,t,i,u,f){var o=r.useHTML5history?r.Href5:r.Href,e=new o(n,t,i,u,f);e.init();e.bind();n.__ko__page=e},update:function(n,t){n.__ko__page.update(t)}},i.bindingHandlers[r.dataAttribute()]=w,r.fx={},r.fx.cssAsync=function(n){return{showElement:function(i,r){var u=t(i.element),f,e;u.addClass(n);u.show();f=setInterval(function(){clearInterval(f);u.addClass(n+"-in")},10);e=setInterval(function(){clearInterval(e);r&&r()},300)},hideElement:function(i,r){var u=t(i.element),f;i.pageHiddenOnce?(u.removeClass(n+"-in"),f=setInterval(function(){clearInterval(f);r&&r();u.hide()},300)):(i.pageHiddenOnce=!0,u.hide())}}},r.fx.zoom=r.fx.cssAsync("pagerjs-fx-zoom"),r.fx.flip=r.fx.cssAsync("pagerjs-fx-flip"),r.fx.popout=r.fx.cssAsync("pagerjs-fx-popout-modal"),r.fx.jQuerySync=function(n,i){return{showElement:function(i,r){n.call(t(i.element),300,r)},hideElement:function(n,r){i.call(t(n.element),300,function(){t(n.element).hide()});r&&r()}}},r.fx.slide=r.fx.jQuerySync(t.fn.slideDown,t.fn.slideUp),r.fx.fade=r.fx.jQuerySync(t.fn.fadeIn,t.fn.fadeOut),r.startHistoryJs=function(t){var i=typeof t=="string"?t:null;i&&r.Href5.history.pushState(null,null,i);r.Href5.history.Adapter.bind(n,"statechange",function(){var n=r.Href5.history.getState().url.replace(r.Href5.history.getBaseUrl(),"");h(n)});r.Href5.history.Adapter.bind(n,"anchorchange",function(){var t=n.location.href.split("#")[1];h(t?"#"+t:"")});t&&t.noGo||h(r.Href5.history.getState().url.replace(r.Href5.history.getBaseUrl(),""))},r.start=function(i){var f=typeof i=="string"?i:null,u;f&&(n.location.hash=r.Href.hash+f);u=function(){var t=n.location.href.split("#")[1];h(t?"#"+t:"")};t(n).bind("hashchange",u);i&&i.noGo||u()},r},t=n.define;typeof t=="function"&&typeof t.amd=="object"&&t.amd?t("pager",["knockout","jquery"],function(n,t){return i(t,n)}):n.pager=i($,ko)}(window)