(function(){(function(n){var r=this||eval("this"),t=r.document,f=r.navigator,i=r.jQuery,u=r.JSON;(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 nt?n===t:!1}function tt(t,i){var r;return function(){r||(r=s.a.setTimeout(function(){r=n;t()},i))}}function it(n,t){var i;return function(){clearTimeout(i);i=s.a.setTimeout(n,t)}}function rt(n,t){t&&t!==v?"beforeChange"===t?this.Ob(n):this.Ja(n,t):this.Pb(n)}function ut(n,t){null!==t&&t.k&&t.k()}function ft(n,t){var i=this.Mc,r=i[h];r.T||(this.ob&&this.Oa[t]?(i.Sb(t,n,this.Oa[t]),this.Oa[t]=null,--this.ob):r.s[t]||i.Sb(t,n,r.t?{$:n}:i.yc(n)),n.Ha&&n.Hc())}function k(n,t,i,r){s.d[n]={init:function(n,u,f,e,o){var c,h;return s.m(function(){var l=u(),f=s.a.c(l),f=!i!=!f,e=!h;(e||t||f!==c)&&(e&&s.xa.Ca()&&(h=s.a.wa(s.f.childNodes(n),!0)),f?(e||s.f.fa(n,s.a.wa(h)),s.hb(r?r(o,l):o,n)):s.f.za(n),c=f)},null,{i:n}),{controlsDescendantBindings:!0}}};s.h.va[n]=!1;s.f.aa[n]=!0}var s="undefined"!=typeof e?e:{},nt,v,l,y,a,p,h,d,g,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.H=function(n,t,i){n[t]=i};s.version="3.4.2";s.b("version",s.version);s.options={deferUpdates:!1,useOnlyNativeEvents:!1};s.a=function(){function o(n,t){for(var i in n)n.hasOwnProperty(i)&&t(i,n[i])}function l(n,t){if(t)for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);return n}function a(n,t){return n.__proto__=t,n}function v(n,t,i,r){var u=n[t].match(c)||[];s.a.r(i.match(c),function(n){s.a.ra(u,n,r)});n[t]=u.join(" ")}var y={__proto__:[]}instanceof Array,w="function"==typeof Symbol,h={},p={};h[f&&/Firefox\/2/i.test(f.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"];h.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" ");o(h,function(n,t){if(t.length)for(var i=0,r=t.length;i<r;i++)p[t[i]]=n});var b={propertychange:!0},e=t&&function(){for(var i=3,r=t.createElement("div"),u=r.getElementsByTagName("i");r.innerHTML="<!--[if gt IE "+ ++i+"]><i><\/i><![endif]-->",u[0];);return 4<i?i:n}(),c=/\S+/g;return{gc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],r:function(n,t){for(var i=0,r=n.length;i<r;i++)t(n[i],i)},o:function(n,t){if("function"==typeof Array.prototype.indexOf)return Array.prototype.indexOf.call(n,t);for(var i=0,r=n.length;i<r;i++)if(n[i]===t)return i;return-1},Vb:function(n,t,i){for(var r=0,u=n.length;r<u;r++)if(t.call(i,n[r],r))return n[r];return null},Na:function(n,t){var i=s.a.o(n,t);0<i?n.splice(i,1):0===i&&n.shift()},Wb:function(n){n=n||[];for(var i=[],t=0,r=n.length;t<r;t++)0>s.a.o(i,n[t])&&i.push(n[t]);return i},ib:function(n,t){n=n||[];for(var r=[],i=0,u=n.length;i<u;i++)r.push(t(n[i],i));return r},Ma:function(n,t){n=n||[];for(var r=[],i=0,u=n.length;i<u;i++)t(n[i],i)&&r.push(n[i]);return r},ta: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},ra:function(n,t,i){var r=s.a.o(s.a.Bb(n),t);0>r?i&&n.push(t):i||n.splice(r,1)},la:y,extend:l,$a:a,ab:y?a:l,D:o,Ea:function(n,t){if(!n)return n;var r={},i;for(i in n)n.hasOwnProperty(i)&&(r[i]=t(n[i],i,n));return r},rb:function(n){for(;n.firstChild;)s.removeNode(n.firstChild)},nc:function(n){n=s.a.W(n);for(var r=(n[0]&&n[0].ownerDocument||t).createElement("div"),i=0,u=n.length;i<u;i++)r.appendChild(s.ba(n[i]));return r},wa:function(n,t){for(var r,i=0,f=n.length,u=[];i<f;i++)r=n[i].cloneNode(!0),u.push(t?s.ba(r):r);return u},fa:function(n,t){if(s.a.rb(n),t)for(var i=0,r=t.length;i<r;i++)n.appendChild(t[i])},uc: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])}},Ba: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},wc:function(n,t){7>e?n.setAttribute("selected",t):n.selected=t},cb:function(t){return null===t||t===n?"":t.trim?t.trim():t.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},sd:function(n,t){return n=n||"",t.length>n.length?!1:n.substring(0,t.length)===t},Rc:function(n,t){if(n===t)return!0;if(11===n.nodeType)return!1;if(t.contains)return t.contains(3===n.nodeType?n.parentNode:n);if(t.compareDocumentPosition)return 16==(t.compareDocumentPosition(n)&16);for(;n&&n!=t;)n=n.parentNode;return!!n},qb:function(n){return s.a.Rc(n,n.ownerDocument.documentElement)},Tb:function(n){return!!s.a.Vb(n,s.a.qb)},A:function(n){return n&&n.tagName&&n.tagName.toLowerCase()},Zb: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.Zb(n),t)},dc:function(n){setTimeout(function(){s.onError&&s.onError(n);throw n;},0)},q:function(n,t,r){var u=s.a.Zb(r),f,o;if(r=e&&b[t],s.options.useOnlyNativeEvents||r||!i)if(r||"function"!=typeof n.addEventListener)if("undefined"!=typeof n.attachEvent)f=function(t){u.call(n,t)},o="on"+t,n.attachEvent(o,f),s.a.G.qa(n,function(){n.detachEvent(o,f)});else throw Error("Browser doesn't support addEventListener or attachEvent");else n.addEventListener(t,u,!1);else i(n).bind(t,u)},Fa:function(n,u){if(!n||!n.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var f;if("input"===s.a.A(n)&&n.type&&"click"==u.toLowerCase()?(f=n.type,f="checkbox"==f||"radio"==f):f=!1,s.options.useOnlyNativeEvents||!i||f)if("function"==typeof t.createEvent)if("function"==typeof n.dispatchEvent)f=t.createEvent(p[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 i(n).trigger(u)},c:function(n){return s.I(n)?n():n},Bb:function(n){return s.I(n)?n.p():n},fb:function(n,t,i){var r;t&&("object"==typeof n.classList?(r=n.classList[i?"add":"remove"],s.a.r(t.match(c),function(t){r.call(n.classList,t)})):"string"==typeof n.className.baseVal?v(n.className,"baseVal",t,i):v(n,"className",t,i))},bb:function(t,i){var r=s.a.c(i),u;(null===r||r===n)&&(r="");u=s.f.firstChild(t);!u||3!=u.nodeType||s.f.nextSibling(u)?s.f.fa(t,[t.ownerDocument.createTextNode(r)]):u.data=r;s.a.Wc(t)},vc:function(n,i){if(n.name=i,7>=e)try{n.mergeAttributes(t.createElement("<input name='"+n.name+"'/>"),!1)}catch(r){}},Wc:function(n){9<=e&&(n=1==n.nodeType?n:n.parentNode,n.style&&(n.style.zoom=n.style.zoom))},Sc:function(n){if(e){var t=n.style.width;n.style.width=0;n.style.width=t}},nd:function(n,t){n=s.a.c(n);t=s.a.c(t);for(var r=[],i=n;i<=t;i++)r.push(i);return r},W:function(n){for(var i=[],t=0,r=n.length;t<r;t++)i.push(n[t]);return i},bc:function(n){return w?Symbol(n):n},xd:6===e,yd:7===e,C:e,ic:function(n,t){for(var r=s.a.W(n.getElementsByTagName("input")).concat(s.a.W(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},kd:function(n){return"string"==typeof n&&(n=s.a.cb(n))?u&&u.parse?u.parse(n):new Function("return "+n)():null},Gb: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.c(n),t,i)},ld:function(n,i,r){var c,e,h,f,u,l;r=r||{};var a=r.params||{},v=r.includeFields||this.gc,c=n;if("object"==typeof n&&"form"===s.a.A(n))for(c=n.action,e=v.length-1;0<=e;e--)for(h=s.a.ic(n,v[e]),f=h.length-1;0<=f;f--)a[h[f].name]=h[f].value;i=s.a.c(i);u=t.createElement("form");u.style.display="none";u.action=c;u.method="post";for(l in i)n=t.createElement("input"),n.type="hidden",n.name=l,n.value=s.a.Gb(s.a.c(i[l])),u.appendChild(n);o(a,function(n,i){var r=t.createElement("input");r.type="hidden";r.name=n;r.value=i;u.appendChild(r)});t.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.r);s.b("utils.arrayFirst",s.a.Vb);s.b("utils.arrayFilter",s.a.Ma);s.b("utils.arrayGetDistinctValues",s.a.Wb);s.b("utils.arrayIndexOf",s.a.o);s.b("utils.arrayMap",s.a.ib);s.b("utils.arrayPushAll",s.a.ta);s.b("utils.arrayRemoveItem",s.a.Na);s.b("utils.extend",s.a.extend);s.b("utils.fieldsIncludedWithJsonPost",s.a.gc);s.b("utils.getFormFields",s.a.ic);s.b("utils.peekObservable",s.a.Bb);s.b("utils.postJson",s.a.ld);s.b("utils.parseJson",s.a.kd);s.b("utils.registerEventHandler",s.a.q);s.b("utils.stringifyJson",s.a.Gb);s.b("utils.range",s.a.nd);s.b("utils.toggleDomNodeCssClass",s.a.fb);s.b("utils.triggerEvent",s.a.Fa);s.b("utils.unwrapObservable",s.a.c);s.b("utils.objectForEach",s.a.D);s.b("utils.addOrRemoveItem",s.a.ra);s.b("utils.setTextContent",s.a.bb);s.b("unwrap",s.a.c);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.e=new function(){function r(r,f){var e=r[t];if(!e||"null"===e||!i[e]){if(!f)return n;e=r[t]="ko"+u++;i[e]={}}return i[e]}var u=0,t="__ko__"+(new Date).getTime(),i={};return{get:function(t,i){var u=r(t,!1);return u===n?n:u[i]},set:function(t,i,u){(u!==n||r(t,!1)!==n)&&(r(t,!0)[i]=u)},clear:function(n){var r=n[t];return r?(delete i[r],n[t]=null,!0):!1},J:function(){return u+++t}}};s.b("utils.domData",s.a.e);s.b("utils.domData.clear",s.a.e.clear);s.a.G=new function(){function t(t,i){var r=s.a.e.get(t,u);return r===n&&i&&(r=[],s.a.e.set(t,u,r)),r}function r(n){var i=t(n,!1),u;if(i)for(i=i.slice(0),u=0;u<i.length;u++)i[u](n);if(s.a.e.clear(n),s.a.G.cleanExternalData(n),f[n.nodeType])for(i=n.firstChild;n=i;)i=n.nextSibling,8===n.nodeType&&r(n)}var u=s.a.e.J(),e={1:!0,8:!0,9:!0},f={1:!0,9:!0};return{qa:function(n,i){if("function"!=typeof i)throw Error("Callback must be a function");t(n,!0).push(i)},tc:function(i,r){var f=t(i,!1);f&&(s.a.Na(f,r),0==f.length&&s.a.e.set(i,u,n))},ba:function(n){var t,i,u;if(e[n.nodeType]&&(r(n),f[n.nodeType]))for(t=[],s.a.ta(t,n.getElementsByTagName("*")),i=0,u=t.length;i<u;i++)r(t[i]);return n},removeNode:function(n){s.ba(n);n.parentNode&&n.parentNode.removeChild(n)},cleanExternalData:function(n){i&&"function"==typeof i.cleanData&&i.cleanData([n])}}};s.ba=s.a.G.ba;s.removeNode=s.a.G.removeNode;s.b("cleanNode",s.ba);s.b("removeNode",s.removeNode);s.b("utils.domNodeDisposal",s.a.G);s.b("utils.domNodeDisposal.addDisposeCallback",s.a.G.qa);s.b("utils.domNodeDisposal.removeDisposeCallback",s.a.G.tc),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.C;s.a.na=function(n,u){var f,e;if(i){if(i.parseHTML)f=i.parseHTML(n,u)||[];else if((f=i.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=t);var e=f.parentWindow||f.defaultView||r,v=s.a.cb(n).toLowerCase(),l=f.createElement("div"),a;for(a=(v=v.match(/^<([a-z]+)[ >]/))&&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.appendChild(l),l.innerHTML=a,o&&l.parentNode.removeChild(l));v--;)l=l.lastChild;f=s.a.W(l.lastChild.childNodes)}return f};s.a.Eb=function(t,r){if(s.a.rb(t),r=s.a.c(r),null!==r&&r!==n)if("string"!=typeof r&&(r=r.toString()),i)i(t).html(r);else for(var f=s.a.na(r,t.ownerDocument),u=0;u<f.length;u++)t.appendChild(f[u])}}();s.b("utils.parseHtmlFragment",s.a.na);s.b("utils.setHtml",s.a.Eb);s.N=function(){function i(n,t){var r;if(n)if(8==n.nodeType)r=s.N.pc(n.nodeValue),null!=r&&t.push({Qc:n,hd: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{yb: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+"]-->"},Bc: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]}},Cc:function(n,t){var f=[],u,o,r,e;for(i(n,f),u=0,o=f.length;u<o;u++)r=f[u].Qc,e=[r],t&&s.a.ta(e,t),s.N.Bc(f[u].hd,e),r.nodeValue="",r.parentNode&&r.parentNode.removeChild(r)},pc:function(n){return(n=n.match(/^\[ko_memo\:(.*?)\]$/))?n[1]:null}}}();s.b("memoization",s.N);s.b("memoization.memoize",s.N.yb);s.b("memoization.unmemoize",s.N.Bc);s.b("memoization.parseMemoText",s.N.pc);s.b("memoization.unmemoizeDomNodeAndDescendants",s.N.Cc);s.Z=function(){function f(){if(n)for(var t=n,r=0,f;i<n;)if(f=u[i++]){if(i>t){if(5e3<=++r){i=n;s.a.dc(Error("'Too much recursion' after processing "+r+" task groups."));break}t=n}try{f()}catch(e){s.a.dc(e)}}}function e(){f();i=n=u.length=0}var u=[],n=0,o=1,i=0;return{scheduler:r.MutationObserver?function(n){var i=t.createElement("div");return new MutationObserver(n).observe(i,{attributes:!0}),function(){i.classList.toggle("foo")}}(e):t&&"onreadystatechange"in t.createElement("script")?function(n){var i=t.createElement("script");i.onreadystatechange=function(){i.onreadystatechange=null;t.documentElement.removeChild(i);i=null;n()};t.documentElement.appendChild(i)}:function(n){setTimeout(n,0)},Za:function(t){return n||s.Z.scheduler(e),u[n++]=t,o++},cancel:function(t){t-=o-n;t>=i&&t<n&&(u[t]=null)},resetForTesting:function(){var t=n-i;return i=n=u.length=0,t},rd:f}}();s.b("tasks",s.Z);s.b("tasks.schedule",s.Z.Za);s.b("tasks.runEarly",s.Z.rd);s.Aa={throttle:function(n,t){n.throttleEvaluation=t;var i=null;return s.B({read:n,write:function(r){clearTimeout(i);i=s.a.setTimeout(function(){n(r)},t)}})},rateLimit:function(n,t){var i,r,u;"number"==typeof t?i=t:(i=t.timeout,r=t.method);n.gb=!1;u="notifyWhenChangesStop"==r?it:tt;n.Wa(function(n){return u(n,i)})},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.gb||(t.gb=!0,t.Wa(function(i){var u,r=!1;return function(){if(!r){s.Z.cancel(u);u=s.Z.Za(i);try{r=!0;t.notifySubscribers(n,"dirty")}finally{r=!1}}}}))},notify:function(n,t){n.equalityComparer="always"==t?null:b}};nt={undefined:1,boolean:1,number:1,string:1};s.b("extenders",s.Aa);s.zc=function(n,t,i){this.$=n;this.jb=t;this.Pc=i;this.T=!1;s.H(this,"dispose",this.k)};s.zc.prototype.k=function(){this.T=!0;this.Pc()};s.K=function(){s.a.ab(this,l);l.ub(this)};v="change";l={ub:function(n){n.F={change:[]};n.Qb=1},Y:function(n,t,i){var r=this,u;return i=i||v,u=new s.zc(r,t?n.bind(t):n,function(){s.a.Na(r.F[i],u);r.Ka&&r.Ka(i)}),r.ua&&r.ua(i),r.F[i]||(r.F[i]=[]),r.F[i].push(u),u},notifySubscribers:function(n,t){var u,i,r;if(t=t||v,t===v&&this.Kb(),this.Ra(t)){u=t===v&&this.Fc||this.F[t].slice(0);try{for(s.l.Xb(),i=0;r=u[i];++i)r.T||r.jb(n)}finally{s.l.end()}}},Pa:function(){return this.Qb},Zc:function(n){return this.Pa()!==n},Kb:function(){++this.Qb},Wa:function(n){var t=this,o=s.I(t),u,f,r,i,e;t.Ja||(t.Ja=t.notifySubscribers,t.notifySubscribers=rt);e=n(function(){t.Ha=!1;o&&i===t&&(i=t.Mb?t.Mb():t());var n=f||t.Ua(r,i);f=u=!1;n&&t.Ja(r=i)});t.Pb=function(n){t.Fc=t.F[v].slice(0);t.Ha=u=!0;i=n;e()};t.Ob=function(n){u||(r=n,t.Ja(n,"beforeChange"))};t.Hc=function(){t.Ua(r,t.p(!0))&&(f=!0)}},Ra:function(n){return this.F[n]&&this.F[n].length},Xc:function(n){if(n)return this.F[n]&&this.F[n].length||0;var t=0;return s.a.D(this.F,function(n,i){"dirty"!==n&&(t+=i.length)}),t},Ua:function(n,t){return!this.equalityComparer||!this.equalityComparer(n,t)},extend:function(n){var t=this;return n&&s.a.D(n,function(n,i){var r=s.Aa[n];"function"==typeof r&&(t=r(t,i)||t)}),t}};s.H(l,"subscribe",l.Y);s.H(l,"extend",l.extend);s.H(l,"getSubscriptionsCount",l.Xc);s.a.la&&s.a.$a(l,Function.prototype);s.K.fn=l;s.lc=function(n){return null!=n&&"function"==typeof n.Y&&"function"==typeof n.notifySubscribers};s.b("subscribable",s.K);s.b("isSubscribable",s.lc);s.xa=s.l=function(){function t(t){r.push(n);n=t}function i(){n=r.pop()}var r=[],n,u=0;return{Xb:t,end:i,sc:function(t){if(n){if(!s.lc(t))throw Error("Only subscribable things can act as dependencies");n.jb.call(n.Lc,t,t.Gc||(t.Gc=++u))}},w:function(n,r,u){try{return t(),n.apply(r,u||[])}finally{i()}},Ca:function(){if(n)return n.m.Ca()},Va:function(){if(n)return n.Va}}}();s.b("computedContext",s.xa);s.b("computedContext.getDependenciesCount",s.xa.Ca);s.b("computedContext.isInitial",s.xa.Va);s.b("ignoreDependencies",s.wd=s.l.w);y=s.a.bc("_latestValue");s.O=function(n){function t(){return 0<arguments.length?(t.Ua(t[y],arguments[0])&&(t.ia(),t[y]=arguments[0],t.ha()),this):(s.l.sc(t),t[y])}return t[y]=n,s.a.la||s.a.extend(t,s.K.fn),s.K.fn.ub(t),s.a.ab(t,a),s.options.deferUpdates&&s.Aa.deferred(t,!0),t};a={equalityComparer:b,p:function(){return this[y]},ha:function(){this.notifySubscribers(this[y])},ia:function(){this.notifySubscribers(this[y],"beforeChange")}};s.a.la&&s.a.$a(a,s.K.fn);p=s.O.md="__ko_proto__";a[p]=s.O;s.Qa=function(t,i){return null===t||t===n||t[p]===n?!1:t[p]===i?!0:s.Qa(t[p],i)};s.I=function(n){return s.Qa(n,s.O)};s.Da=function(n){return"function"==typeof n&&n[p]===s.O||"function"==typeof n&&n[p]===s.B&&n.$c?!0:!1};s.b("observable",s.O);s.b("isObservable",s.I);s.b("isWriteableObservable",s.Da);s.b("isWritableObservable",s.Da);s.b("observable.fn",a);s.H(a,"peek",a.p);s.H(a,"valueHasMutated",a.ha);s.H(a,"valueWillMutate",a.ia);s.ma=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.O(n),s.a.ab(n,s.ma.fn),n.extend({trackArrayChanges:!0})};s.ma.fn={remove:function(n){for(var u,r=this.p(),i=[],f="function"!=typeof n||s.I(n)?function(t){return t===n}:n,t=0;t<r.length;t++)u=r[t],f(u)&&(0===i.length&&this.ia(),i.push(u),r.splice(t,1),t--);return i.length&&this.ha(),i},removeAll:function(t){if(t===n){var i=this.p(),r=i.slice(0);return this.ia(),i.splice(0,i.length),this.ha(),r}return t?this.remove(function(n){return 0<=s.a.o(t,n)}):[]},destroy:function(n){var i=this.p(),r="function"!=typeof n||s.I(n)?function(t){return t===n}:n,t;for(this.ia(),t=i.length-1;0<=t;t--)r(i[t])&&(i[t]._destroy=!0);this.ha()},destroyAll:function(t){return t===n?this.destroy(function(){return!0}):t?this.destroy(function(n){return 0<=s.a.o(t,n)}):[]},indexOf:function(n){var t=this();return s.a.o(t,n)},replace:function(n,t){var i=this.indexOf(n);0<=i&&(this.ia(),this.p()[i]=t,this.ha())}};s.a.la&&s.a.$a(s.ma.fn,s.O.fn);s.a.r("pop push reverse shift sort splice unshift".split(" "),function(n){s.ma.fn[n]=function(){var t=this.p(),i;return this.ia(),this.Yb(t,n,arguments),i=t[n].apply(t,arguments),this.ha(),i===t?this:i}});s.a.r(["slice"],function(n){s.ma.fn[n]=function(){var t=this();return t[n].apply(t,arguments)}});s.b("observableArray",s.ma);s.Aa.trackArrayChanges=function(t,i){function l(){if(!f){f=!0;u=t.notifySubscribers;t.notifySubscribers=function(n,t){return t&&t!==v||++e,u.apply(this,arguments)};var n=[].concat(t.p()||[]);r=null;o=t.Y(function(i){if(i=[].concat(i||[]),t.Ra("arrayChange")){var u;(!r||1<e)&&(r=s.a.lb(n,i,t.kb));u=r}n=i;r=null;e=0;u&&u.length&&t.notifySubscribers(u,"arrayChange")})}}if(t.kb={},i&&"object"==typeof i&&s.a.extend(t.kb,i),t.kb.sparse=!0,!t.Yb){var f=!1,r=null,o,e=0,u,h=t.ua,c=t.Ka;t.ua=function(n){h&&h.call(t,n);"arrayChange"===n&&l()};t.Ka=function(i){c&&c.call(t,i);"arrayChange"!==i||t.Ra("arrayChange")||(u&&(t.notifySubscribers=u,u=n),o.k(),f=!1)};t.Yb=function(n,t,i){function c(n,t,i){return l[l.length]={status:n,value:t,index:i}}if(f&&!e){var l=[],u=n.length,h=i.length,o=0;switch(t){case"push":o=u;case"unshift":for(t=0;t<h;t++)c("added",i[t],o+t);break;case"pop":o=u-1;case"shift":u&&c("deleted",n[o],o);break;case"splice":t=Math.min(Math.max(0,0>i[0]?u+i[0]:i[0]),u);for(var u=1===h?u:Math.min(t+(i[1]||0),u),h=t+h-2,o=Math.max(u,h),a=[],v=[],y=2;t<o;++t,++y)t<u&&v.push(c("deleted",n[t],t)),t<h&&a.push(c("added",i[y],t));s.a.hc(v,a);break;default:return}r=l}}}};h=s.a.bc("_state");s.m=s.B=function(t,i,r){function u(){if(0<arguments.length){if("function"==typeof e)e.apply(f.sb,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 s.l.sc(u),(f.V||f.t&&u.Sa())&&u.U(),f.M}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,f={M:n,da:!0,V:!0,Ta:!1,Hb:!1,T:!1,Ya:!1,t:!1,od:r.read,sb:i||r.owner,i:r.disposeWhenNodeIsRemoved||r.i||null,ya:r.disposeWhen||r.ya,pb:null,s:{},L:0,fc:null};return u[h]=f,u.$c="function"==typeof e,s.a.la||s.a.extend(u,s.K.fn),s.K.fn.ub(u),s.a.ab(u,c),r.pure?(f.Ya=!0,f.t=!0,s.a.extend(u,et)):r.deferEvaluation&&s.a.extend(u,ot),s.options.deferUpdates&&s.Aa.deferred(u,!0),f.i&&(f.Hb=!0,f.i.nodeType||(f.i=null)),f.t||r.deferEvaluation||u.U(),f.i&&u.ca()&&s.a.G.qa(f.i,f.pb=function(){u.k()}),u};var c={equalityComparer:b,Ca:function(){return this[h].L},Sb:function(n,t,i){if(this[h].Ya&&t===this)throw Error("A 'pure' computed must not be called recursively");this[h].s[n]=i;i.Ia=this[h].L++;i.pa=t.Pa()},Sa:function(){var t,n,i=this[h].s;for(t in i)if(i.hasOwnProperty(t)&&(n=i[t],this.oa&&n.$.Ha||n.$.Zc(n.pa)))return!0},gd:function(){this.oa&&!this[h].Ta&&this.oa(!1)},ca:function(){var n=this[h];return n.V||0<n.L},qd:function(){this.Ha?this[h].V&&(this[h].da=!0):this.ec()},yc:function(n){if(n.gb&&!this[h].i){var t=n.Y(this.gd,this,"dirty"),i=n.Y(this.qd,this);return{$:n,k:function(){t.k();i.k()}}}return n.Y(this.ec,this)},ec:function(){var n=this,t=n.throttleEvaluation;t&&0<=t?(clearTimeout(this[h].fc),this[h].fc=s.a.setTimeout(function(){n.U(!0)},t)):n.oa?n.oa(!0):n.U(!0)},U:function(n){var t=this[h],i=t.ya,r=!1;if(!t.Ta&&!t.T){if(t.i&&!s.a.qb(t.i)||i&&i()){if(!t.Hb){this.k();return}}else t.Hb=!1;t.Ta=!0;try{r=this.Vc(n)}finally{t.Ta=!1}return t.L||this.k(),r}},Vc:function(t){var i=this[h],u=!1,f=i.Ya?n:!i.L,r={Mc:this,Oa:i.s,ob:i.L};return s.l.Xb({Lc:r,jb:ft,m:this,Va:f}),i.s={},i.L=0,r=this.Uc(i,r),this.Ua(i.M,r)&&(i.t||this.notifySubscribers(i.M,"beforeChange"),i.M=r,i.t?this.Kb():t&&this.notifySubscribers(i.M),u=!0),f&&this.notifySubscribers(i.M,"awake"),u},Uc:function(n,t){try{var i=n.od;return n.sb?i.call(n.sb):i()}finally{s.l.end();t.ob&&!n.t&&s.a.D(t.Oa,ut);n.da=n.V=!1}},p:function(n){var t=this[h];return(t.V&&(n||!t.L)||t.t&&this.Sa())&&this.U(),t.M},Wa:function(n){s.K.fn.Wa.call(this,n);this.Mb=function(){return this[h].da?this.U():this[h].V=!1,this[h].M};this.oa=function(n){this.Ob(this[h].M);this[h].V=!0;n&&(this[h].da=!0);this.Pb(this)}},k:function(){var n=this[h];!n.t&&n.s&&s.a.D(n.s,function(n,t){t.k&&t.k()});n.i&&n.pb&&s.a.G.tc(n.i,n.pb);n.s=null;n.L=0;n.T=!0;n.da=!1;n.V=!1;n.t=!1;n.i=null}},et={ua:function(n){var i=this,t=i[h],r;!t.T&&t.t&&"change"==n&&(t.t=!1,t.da||i.Sa()?(t.s=null,t.L=0,i.U()&&i.Kb()):(r=[],s.a.D(t.s,function(n,t){r[t.Ia]=n}),s.a.r(r,function(n,r){var f=t.s[n],u=i.yc(f.$);u.Ia=r;u.pa=f.pa;t.s[n]=u})),t.T||i.notifySubscribers(t.M,"awake"))},Ka:function(t){var i=this[h];i.T||"change"!=t||this.Ra("change")||(s.a.D(i.s,function(n,t){t.k&&(i.s[n]={$:t.$,Ia:t.Ia,pa:t.pa},t.k())}),i.t=!0,this.notifySubscribers(n,"asleep"))},Pa:function(){var n=this[h];return n.t&&(n.da||this.Sa())&&this.U(),s.K.fn.Pa.call(this)}},ot={ua:function(n){"change"!=n&&"beforeChange"!=n||this.p()}};s.a.la&&s.a.$a(c,s.K.fn);d=s.O.md;s.m[d]=s.O;c[d]=s.m;s.bd=function(n){return s.Qa(n,s.m)};s.cd=function(n){return s.Qa(n,s.m)&&n[h]&&n[h].Ya};s.b("computed",s.m);s.b("dependentObservable",s.m);s.b("isComputed",s.bd);s.b("isPureComputed",s.cd);s.b("computed.fn",c);s.H(c,"peek",c.p);s.H(c,"dispose",c.k);s.H(c,"isActive",c.ca);s.H(c,"getDependenciesCount",c.Ca);s.rc=function(n,t){return"function"==typeof n?s.m(n,t,{pure:!0}):(n=s.a.extend({},n),n.pure=!0,s.m(n,t))};s.b("pureComputed",s.rc),function(){function t(u,f,e){if(e=e||new i,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(i){var r=f(u[i]),s;switch(typeof r){case"boolean":case"number":case"string":case"function":o[i]=r;break;case"object":case"undefined":s=e.get(r);o[i]=s!==n?s:t(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 i(){this.keys=[];this.Lb=[]}s.Ac=function(n){if(0==arguments.length)throw Error("When calling ko.toJS, pass the object you want to convert.");return t(n,function(n){for(var t=0;s.I(n)&&10>t;t++)n=n();return n})};s.toJSON=function(n,t,i){return n=s.Ac(n),s.a.Gb(n,t,i)};i.prototype={save:function(n,t){var i=s.a.o(this.keys,n);0<=i?this.Lb[i]=t:(this.keys.push(n),this.Lb.push(t))},get:function(t){return t=s.a.o(this.keys,t),0<=t?this.Lb[t]:n}}}();s.b("toJS",s.Ac);s.b("toJSON",s.toJSON),function(){s.j={u:function(t){switch(s.a.A(t)){case"option":return!0===t.__ko__hasDomDataOptionValue__?s.a.e.get(t,s.d.options.zb):7>=s.a.C?t.getAttributeNode("value")&&t.getAttributeNode("value").specified?t.value:t.text:t.value;case"select":return 0<=t.selectedIndex?s.j.u(t.options[t.selectedIndex]):n;default:return t.value}},ja:function(t,i,r){switch(s.a.A(t)){case"option":switch(typeof i){case"string":s.a.e.set(t,s.d.options.zb,n);"__ko__hasDomDataOptionValue__"in t&&delete t.__ko__hasDomDataOptionValue__;t.value=i;break;default:s.a.e.set(t,s.d.options.zb,i);t.__ko__hasDomDataOptionValue__=!0;t.value="number"==typeof i?i:""}break;case"select":(""===i||null===i)&&(i=n);for(var f=-1,u=0,o=t.options.length,e;u<o;++u)if(e=s.j.u(t.options[u]),e==i||""==e&&i===n){f=u;break}(r||0<=f||i===n&&1<t.size)&&(t.selectedIndex=f);break;default:(null===i||i===n)&&(i="");t.value=i}}}}();s.b("selectExtensions",s.j);s.b("selectExtensions.readValue",s.j.u);s.b("selectExtensions.writeValue",s.j.ja);s.h=function(){function n(n){var c,u,i;n=s.a.cb(n);123===n.charCodeAt(0)&&(n=n.slice(1,-1));var a=[],h=n.match(t),o,r=[],l=0;if(h)for(h.push(","),c=0;u=h[c];++c){if(i=u.charCodeAt(0),44===i){if(0>=l){a.push(o&&r.length?{key:o,value:r.join("")}:{unknown:o||r.join("")});o=l=0;r=[];continue}}else if(58===i){if(!l&&!o&&1===r.length){o=r.pop();continue}}else 47===i&&c&&1<u.length?(i=h[c-1].match(f))&&!e[i[0]]&&(n=n.substr(n.indexOf(u)+1),h=n.match(t),h.push(","),c=-1,u="/"):40===i||123===i||91===i?++l:41===i||125===i||93===i?--l:o||r.length||34!==i&&39!==i||(u=u.slice(1,-1));r.push(u)}return a}var r=["true","false","null","undefined"],u=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,t=RegExp("\"(?:[^\"\\\\]|\\\\.)*\"|'(?:[^'\\\\]|\\\\.)*'|/(?:[^/\\\\]|\\\\.)*/w*|[^\\s:,/][^,\"'{}()/:[\\]]*[^\\s,\"'{}()/:[\\]]|[^\\s]","g"),f=/[\])"'A-Za-z0-9_$]+$/,e={"in":1,"return":1,"typeof":1},i={};return{va:[],ga:i,Ab:n,Xa:function(t,f){function e(n,t){var a,f;if(!l){if(f=s.getBindingHandler(n),f&&f.preprocess&&!(t=f.preprocess(t,n,e)))return;(f=i[n])&&(a=t,0<=s.a.o(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("'"+n+"':function(_z){"+a+"=_z}")}c&&(t="function(){return "+t+" }");h.push("'"+n+"':"+t)}f=f||{};var h=[],o=[],c=f.valueAccessors,l=f.bindingParams,a="string"==typeof t?n(t):t;return s.a.r(a,function(n){e(n.key||n.unknown,n.value)}),o.length&&e("_ko_property_writers","{"+o.join(",")+" }"),h.join(",")},fd:function(n,t){for(var i=0;i<n.length;i++)if(n[i].key==t)return!0;return!1},Ga:function(n,t,i,r,u){n&&s.I(n)?!s.Da(n)||u&&n.p()===r||n(r):(n=t.get("_ko_property_writers"))&&n[i]&&n[i](r)}}}();s.b("expressionRewriting",s.h);s.b("expressionRewriting.bindingRewriteValidators",s.h.va);s.b("expressionRewriting.parseObjectLiteral",s.h.Ab);s.b("expressionRewriting.preProcessBindings",s.h.Xa);s.b("expressionRewriting._twoWayBindings",s.h.ga);s.b("jsonExpressionRewriting",s.h);s.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",s.h.Xa),function(){function n(n){return 8==n.nodeType&&e.test(i?n.text:n.nodeValue)}function r(n){return 8==n.nodeType&&o.test(i?n.text:n.nodeValue)}function u(t,i){for(var u=t,f=1,e=[];u=u.nextSibling;){if(r(u)&&(f--,0===f))return e;e.push(u);n(u)&&f++}if(!i)throw Error("Cannot find closing comment tag to match: "+t.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 i=t&&"<!--test-->"===t.createComment("test").text,e=i?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,o=i?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,h={ul:!0,ol:!0};s.f={aa:{},childNodes:function(t){return n(t)?u(t):t.childNodes},za:function(t){if(n(t)){t=s.f.childNodes(t);for(var i=0,r=t.length;i<r;i++)s.removeNode(t[i])}else s.a.rb(t)},fa:function(t,i){if(n(t)){s.f.za(t);for(var u=t.nextSibling,r=0,f=i.length;r<f;r++)u.parentNode.insertBefore(i[r],u)}else s.a.fa(t,i)},qc:function(t,i){n(t)?t.parentNode.insertBefore(i,t.nextSibling):t.firstChild?t.insertBefore(i,t.firstChild):t.appendChild(i)},kc:function(t,i,r){r?n(t)?t.parentNode.insertBefore(i,r.nextSibling):r.nextSibling?t.insertBefore(i,r.nextSibling):t.appendChild(i):s.f.qc(t,i)},firstChild:function(t){return n(t)?!t.nextSibling||r(t.nextSibling)?null:t.nextSibling:t.firstChild},nextSibling:function(t){return n(t)&&(t=f(t)),t.nextSibling&&r(t.nextSibling)?null:t.nextSibling},Yc:n,vd:function(n){return(n=(i?n.text:n.nodeValue).match(e))?n[1]:null},oc:function(t){var o,i,u,e;if(h[s.a.A(t)]&&(o=t.firstChild,o))do if(1===o.nodeType){if(i=o.firstChild,u=null,i)do u?u.push(i):n(i)?(e=f(i,!0),e?i=e:u=[i]):r(i)&&(u=[i]);while(i=i.nextSibling);if(i=u)for(u=o.nextSibling,e=0;e<i.length;e++)u?t.insertBefore(i[e],u):t.appendChild(i[e])}while(o=o.nextSibling)}}}();s.b("virtualElements",s.f);s.b("virtualElements.allowedBindings",s.f.aa);s.b("virtualElements.emptyNode",s.f.za);s.b("virtualElements.insertAfter",s.f.kc);s.b("virtualElements.prepend",s.f.qc);s.b("virtualElements.setDomNodeChildren",s.f.fa),function(){s.S=function(){this.Kc={}};s.a.extend(s.S.prototype,{nodeHasBindings:function(n){switch(n.nodeType){case 1:return null!=n.getAttribute("data-bind")||s.g.getComponentNameForNode(n);case 8:return s.f.Yc(n);default:return!1}},getBindings:function(n,t){var i=this.getBindingsString(n,t),i=i?this.parseBindingsString(i,t,n):null;return s.g.Rb(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.g.Rb(i,n,t,!0)},getBindingsString:function(n){switch(n.nodeType){case 1:return n.getAttribute("data-bind");case 8:return s.f.vd(n);default:return null}},parseBindingsString:function(n,t,i,r){var u,f,e,h,c;try{return u=this.Kc,f=n+(r&&r.valueAccessors||""),(e=u[f])||(c="with($context){with($data||{}){return{"+s.h.Xa(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.S.instance=new s.S}();s.b("bindingProvider",s.S),function(){function v(n){return function(){return n}}function u(n){return n()}function o(n){return s.a.Ea(s.l.w(n),function(t,i){return function(){return n()[i]}})}function y(n,t,i){return"function"==typeof n?o(n.bind(null,t,i)):s.a.Ea(n,v)}function p(n,t){return o(this.getBindings.bind(this,n,t))}function h(n,t,i){var r,u=s.f.firstChild(t),f=s.S.instance,e=f.preprocessNode;if(e){for(;r=u;)u=s.f.nextSibling(r),e.call(f,r);u=s.f.firstChild(t)}for(;r=u;)u=s.f.nextSibling(r),c(n,r,i)}function c(n,t,i){var u=!0,r=1===t.nodeType;r&&s.f.oc(t);(r&&i||s.S.instance.nodeHasBindings(t))&&(u=l(t,null,n,i).shouldBindDescendants);u&&!a[s.a.A(t)]&&h(n,t,!r)}function w(n){var i=[],r={},t=[];return s.a.D(n,function u(f){if(!r[f]){var e=s.getBindingHandler(f);e&&(e.after&&(t.push(f),s.a.r(e.after,function(i){if(n[i]){if(-1!==s.a.o(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,jc:e}));r[f]=!0}}),i}function l(t,i,r,e){var v=s.a.e.get(t,f),o,l,a,c;if(!i){if(v)throw Error("You cannot apply bindings multiple times to the same element.");s.a.e.set(t,f,!0)}if(!v&&e&&s.xc(t,r),i&&"function"!=typeof i)o=i;else{var y=s.S.instance,b=y.getBindingAccessors||p,h=s.B(function(){return(o=i?i(r,t):b.call(y,t,r))&&r.Q&&r.Q(),o},null,{i:t});o&&h.ca()||(h=null)}return o&&(a=h?function(n){return function(){return u(h()[n])}}:function(n){return o[n]},c=function(){return s.a.Ea(h?h():o,u)},c.get=function(n){return o[n]&&u(a(n))},c.has=function(n){return n in o},e=w(o),s.a.r(e,function(i){var e=i.jc.init,h=i.jc.update,u=i.key;if(8===t.nodeType&&!s.f.aa[u])throw Error("The binding '"+u+"' cannot be used with virtual elements");try{"function"==typeof e&&s.l.w(function(){var i=e(t,a(u),c,r.$data,r);if(i&&i.controlsDescendantBindings){if(l!==n)throw Error("Multiple bindings ("+l+" and "+u+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");l=u}});"function"==typeof h&&s.B(function(){h(t,a(u),c,r.$data,r)},null,{i:t})}catch(f){throw f.message='Unable to process binding "'+u+": "+o[u]+'"\nMessage: '+f.message,f;}})),{shouldBindDescendants:l===n}}function t(n){return n&&n instanceof s.R?n:new s.R(n)}var a,f,e;s.d={};a={script:!0,textarea:!0,template:!0};s.getBindingHandler=function(n){return s.d[n]};s.R=function(t,i,r,u,f){function c(){var f=a?t():t,n=s.a.c(f);return i?(i.Q&&i.Q(),s.a.extend(e,i),e.Q=o):(e.$parents=[],e.$root=n,e.ko=s),e.$rawData=f,e.$data=n,r&&(e[r]=n),u&&u(e,i,n),e.$data}function l(){return h&&!s.a.Tb(h)}var e=this,a="function"==typeof t&&!s.I(t),h,o;f&&f.exportDependencies?c():(o=s.B(c,null,{ya:l,i:!0}),o.ca()&&(e.Q=o,o.equalityComparer=null,h=[],o.Dc=function(t){h.push(t);s.a.G.qa(t,function(t){s.a.Na(h,t);h.length||(o.k(),e.Q=o=n)})}))};s.R.prototype.createChildContext=function(n,t,i,r){return new s.R(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.R.prototype.extend=function(n){return new s.R(this.Q||this.$data,this,null,function(t,i){t.$rawData=i.$rawData;s.a.extend(t,"function"==typeof n?n():n)})};s.R.prototype.ac=function(n,t){return this.createChildContext(n,t,null,{exportDependencies:!0})};f=s.a.e.J();e=s.a.e.J();s.xc=function(n,t){if(2==arguments.length)s.a.e.set(n,e,t),t.Q&&t.Q.Dc(n);else return s.a.e.get(n,e)};s.La=function(n,i,r){return 1===n.nodeType&&s.f.oc(n),l(n,i,t(r),!0)};s.Ic=function(n,i,r){return r=t(r),s.La(n,y(i,r,n),r)};s.hb=function(n,i){1!==i.nodeType&&8!==i.nodeType||h(t(n),i,!0)};s.Ub=function(n,u){if(!i&&r.jQuery&&(i=r.jQuery),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");u=u||r.document.body;c(t(n),u,!0)};s.nb=function(t){switch(t.nodeType){case 1:case 8:var i=s.xc(t);if(i)return i;if(t.parentNode)return s.nb(t.parentNode)}return n};s.Oc=function(t){return(t=s.nb(t))?t.$data:n};s.b("bindingHandlers",s.d);s.b("applyBindings",s.Ub);s.b("applyBindingsToDescendants",s.hb);s.b("applyBindingAccessorsToNode",s.La);s.b("applyBindingsToNode",s.Ic);s.b("contextFor",s.nb);s.b("dataFor",s.Oc)}(),function(n){function u(t,u){var e=i.hasOwnProperty(t)?i[t]:n,o;e?e.Y(u):(e=i[t]=new s.K,e.Y(u),f(t,function(n,u){var f=!(!u||!u.synchronous);r[t]={definition:n,dd:f};delete i[t];o||f?e.notifySubscribers(n):s.Z.Za(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.g.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.g={get:function(t,i){var f=r.hasOwnProperty(t)?r[t]:n;f?f.dd?s.l.w(function(){i(f.definition)}):s.Z.Za(function(){i(f.definition)}):u(t,i)},$b:function(n){delete r[n]},Nb:t};s.g.loaders=[];s.b("components",s.g);s.b("components.get",s.g.get);s.b("components.clearCachedDefinition",s.g.$b)}(),function(){function l(n,t,r,f){function e(){0==--c&&f(o)}var o={},c=2,h=r.template;r=r.viewModel;h?u(t,h,function(t){s.g.Nb("loadTemplate",[n,t],function(n){o.template=n;e()})}):e();r?u(t,r,function(t){s.g.Nb("loadViewModel",[n,t],function(n){o[i]=n;e()})}):e()}function e(n,t,r){if("function"==typeof t)r(function(n){return new t(n)});else if("function"==typeof t[i])r(t[i]);else if("instance"in t){var u=t.instance;r(function(){return u})}else"viewModel"in t?e(n,t.viewModel,r):n("Unknown viewModel value: "+t)}function h(n){switch(s.a.A(n)){case"script":return s.a.na(n.text);case"textarea":return s.a.na(n.value);case"template":if(c(n.content))return s.a.wa(n.content.childNodes)}return s.a.wa(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],i):n("Uses require, but no AMD loader is present"):i(t)}function f(n){return function(t){throw Error("Component '"+n+"': "+t);}}var n={},i;s.g.register=function(t,i){if(!i)throw Error("Invalid configuration for "+t);if(s.g.wb(t))throw Error("Component "+t+" is already registered");n[t]=i};s.g.wb=function(t){return n.hasOwnProperty(t)};s.g.ud=function(t){delete n[t];s.g.$b(t)};s.g.cc={getConfig:function(t,i){i(n.hasOwnProperty(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,i,u){if(n=f(n),"string"==typeof i)u(s.a.na(i));else if(i instanceof Array)u(i);else if(c(i))u(s.a.W(i.childNodes));else if(i.element)if(i=i.element,r.HTMLElement?i instanceof HTMLElement:i&&i.tagName&&1===i.nodeType)u(h(i));else if("string"==typeof i){var e=t.getElementById(i);e?u(h(e)):n("Cannot find element with ID "+i)}else n("Unknown element type: "+i);else n("Unknown template value: "+i)},loadViewModel:function(n,t,i){e(f(n),t,i)}};i="createViewModel";s.b("components.register",s.g.register);s.b("components.isRegistered",s.g.wb);s.b("components.unregister",s.g.ud);s.b("components.defaultLoader",s.g.cc);s.g.loaders.push(s.g.cc);s.g.Ec=n}(),function(){function n(n,t){var r=n.getAttribute("params");if(r){var r=i.parseBindingsString(r,t,n,{valueAccessors:!0,bindingParams:!0}),r=s.a.Ea(r,function(t){return s.m(t,null,{i:n})}),u=s.a.Ea(r,function(t){var i=t.p();return t.ca()?s.m({read:function(){return s.a.c(t())},write:s.Da(i)&&function(n){t()(n)},i:n}):i});return u.hasOwnProperty("$raw")||(u.$raw=r),u}return{$raw:{}}}s.g.getComponentNameForNode=function(n){var t=s.a.A(n);if(s.g.wb(t)&&(-1!=t.indexOf("-")||"[object HTMLUnknownElement]"==""+n||8>=s.a.C&&n.tagName===t))return t};s.g.Rb=function(t,i,r,u){var f,e;if(1===i.nodeType&&(f=s.g.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 i=new s.S;9>s.a.C&&(s.g.register=function(n){return function(i){return t.createElement(i),n.apply(this,arguments)}}(s.g.register),t.createDocumentFragment=function(n){return function(){var i=n(),r=s.g.Ec,t;for(t in r)r.hasOwnProperty(t)&&i.createElement(t);return i}}(t.createDocumentFragment))}(),function(n){function t(n,t,i){if(t=t.template,!t)throw Error("Component '"+n+"' has no template");n=s.a.wa(t);s.f.fa(i,n)}function i(n,t,i,r){var u=n.createViewModel;return u?u.call(n,r,{element:t,templateNodes:i}):r}var r=0;s.d.component={init:function(u,f,e,o,h){function a(){var n=c&&c.dispose;"function"==typeof n&&n.call(c);l=c=null}var c,l,v=s.a.W(s.f.childNodes(u));return s.a.G.qa(u,a),s.m(function(){var o=s.a.c(f()),e,y,p;if("string"==typeof o?e=o:(e=s.a.c(o.name),y=s.a.c(o.params)),!e)throw Error("No component name specified");p=l=++r;s.g.get(e,function(r){if(l===p){if(a(),!r)throw Error("Unknown component '"+e+"'");t(e,r,u);var f=i(r,u,v,y);r=h.createChildContext(f,n,function(n){n.$component=f;n.$componentTemplateNodes=v});c=f;s.hb(r,u)}})},null,{i:u}),{controlsDescendantBindings:!0}}};s.f.aa.component=!0}();g={"class":"className","for":"htmlFor"};s.d.attr={update:function(t,i){var r=s.a.c(i())||{};s.a.D(r,function(i,r){r=s.a.c(r);var u=!1===r||null===r||r===n;u&&t.removeAttribute(i);8>=s.a.C&&i in g?(i=g[i],u?t.removeAttribute(i):t[i]=r):u||t.setAttribute(i,r.toString());"name"===i&&s.a.vc(t,u?"":r.toString())})}},function(){s.d.checked={after:["value","attr"],init:function(t,i,r){function l(){var l=t.checked,o=y?f():l,n,h;s.xa.Va()||e&&!l||(n=s.l.w(i),u?(h=a?n.p():n,c!==o?(l&&(s.a.ra(h,o,!0),s.a.ra(h,c,!1)),c=o):s.a.ra(h,o,l),a&&s.Da(n)&&n(h)):s.h.Ga(n,r,"checked",o,!0))}function v(){var n=s.a.c(i());t.checked=u?0<=s.a.o(n,f()):h?n:f()===n}var f=s.rc(function(){return r.has("checkedValue")?s.a.c(r.get("checkedValue")):r.has("value")?s.a.c(r.get("value")):t.value}),h="checkbox"==t.type,e="radio"==t.type;if(h||e){var o=i(),u=h&&s.a.c(o)instanceof Array,a=!(u&&o.push&&o.splice),c=u?f():n,y=e||u;e&&!t.name&&s.d.uniqueName.init(t,function(){return!0});s.m(l,null,{i:t});s.a.q(t,"click",l);s.m(v,null,{i:t});o=n}}};s.h.ga.checked=!0;s.d.checkedValue={update:function(n,t){n.value=s.a.c(t())}}}();s.d.css={update:function(n,t){var i=s.a.c(t());null!==i&&"object"==typeof i?s.a.D(i,function(t,i){i=s.a.c(i);s.a.fb(n,t,i)}):(i=s.a.cb(String(i||"")),s.a.fb(n,n.__ko__cssValue,!1),n.__ko__cssValue=i,s.a.fb(n,i,!0))}};s.d.enable={update:function(n,t){var i=s.a.c(t());i&&n.disabled?n.removeAttribute("disabled"):i||n.disabled||(n.disabled=!0)}};s.d.disable={update:function(n,t){s.d.enable.update(n,function(){return!s.a.c(t())})}};s.d.event={init:function(n,t,i,r,u){var f=t()||{};s.a.D(f,function(f){"string"==typeof f&&s.a.q(n,f,function(n){var o,h=t()[f],e;if(h){try{e=s.a.W(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.d.foreach={mc:function(n){return function(){var i=n(),t=s.a.Bb(i);return!t||"number"==typeof t.length?{foreach:i,templateEngine:s.X.vb}:(s.a.c(i),{foreach:t.data,as:t.as,includeDestroyed:t.includeDestroyed,afterAdd:t.afterAdd,beforeRemove:t.beforeRemove,afterRender:t.afterRender,beforeMove:t.beforeMove,afterMove:t.afterMove,templateEngine:s.X.vb})}},init:function(n,t){return s.d.template.init(n,s.d.foreach.mc(t))},update:function(n,t,i,r,u){return s.d.template.update(n,s.d.foreach.mc(t),i,r,u)}};s.h.va.foreach=!1;s.f.aa.foreach=!0;s.d.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.h.Ga(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.q(n,"focus",u);s.a.q(n,"focusin",u);s.a.q(n,"blur",f);s.a.q(n,"focusout",f)},update:function(n,t){var i=!!s.a.c(t());n.__ko_hasfocusUpdating||n.__ko_hasfocusLastValue===i||(i?n.focus():n.blur(),!i&&n.__ko_hasfocusLastValue&&n.ownerDocument.body.focus(),s.l.w(s.a.Fa,null,[n,i?"focusin":"focusout"]))}};s.h.ga.hasfocus=!0;s.d.hasFocus=s.d.hasfocus;s.h.ga.hasFocus=!0;s.d.html={init:function(){return{controlsDescendantBindings:!0}},update:function(n,t){s.a.Eb(n,t())}};k("if");k("ifnot",!1,!0);k("with",!0,!1,function(n,t){return n.ac(t)});w={};s.d.options={init:function(n){if("select"!==s.a.A(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.Ma(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.j.ja(t,s.a.c(r.get("value")),!0);else if(f.length){var u=0<=s.a.o(f,s.j.u(i[0]));s.a.wc(i[0],u);o&&!u&&s.l.w(s.a.Fa,null,[t,"change"])}}var h=t.multiple,c=0!=t.length&&h?t.scrollTop:null,u=s.a.c(i()),e=r.get("valueAllowUnset")&&r.has("value"),p=r.get("optionsIncludeDestroyed"),l,f,o;i={};f=[];e||(h?f=s.a.ib(a(),s.j.u):0<=t.selectedIndex&&f.push(s.j.u(t.options[t.selectedIndex])));u&&("undefined"==typeof u.length&&(u=[u]),l=s.a.Ma(u,function(t){return p||t===n||null===t||!s.a.c(t._destroy)}),r.has("optionsCaption")&&(u=s.a.c(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.l.w(r.get("optionsAfterRender"),null,[i[0],t!==w?t:n])});s.a.Db(t,l,function(i,u,h){return h.length&&(f=!e&&h[0].selected?[s.j.u(h[0])]:[],o=!0),u=t.ownerDocument.createElement("option"),i===w?(s.a.bb(u,r.get("optionsCaption")),s.j.ja(u,n)):(h=v(i,r.get("optionsValue"),i),s.j.ja(u,s.a.c(h)),i=v(i,r.get("optionsText"),h),s.a.bb(u,i)),[u]},i,u);s.l.w(function(){e?s.j.ja(t,s.a.c(r.get("value")),!0):(h?f.length&&a().length<f.length:f.length&&0<=t.selectedIndex?s.j.u(t.options[t.selectedIndex])!==f[0]:f.length||0<=t.selectedIndex)&&s.a.Fa(t,"change")});s.a.Sc(t);c&&20<Math.abs(c-t.scrollTop)&&(t.scrollTop=c)}};s.d.options.zb=s.a.e.J();s.d.selectedOptions={after:["options","foreach"],init:function(n,t,i){s.a.q(n,"change",function(){var u=t(),r=[];s.a.r(n.getElementsByTagName("option"),function(n){n.selected&&r.push(s.j.u(n))});s.h.Ga(u,i,"selectedOptions",r)})},update:function(n,t){if("select"!=s.a.A(n))throw Error("values binding applies only to SELECT elements");var i=s.a.c(t()),r=n.scrollTop;i&&"number"==typeof i.length&&s.a.r(n.getElementsByTagName("option"),function(n){var t=0<=s.a.o(i,s.j.u(n));n.selected!=t&&s.a.wc(n,t)});n.scrollTop=r}};s.h.ga.selectedOptions=!0;s.d.style={update:function(t,i){var r=s.a.c(i()||{});s.a.D(r,function(i,r){r=s.a.c(r);(null===r||r===n||!1===r)&&(r="");t.style[i]=r})}};s.d.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.q(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.d.text={init:function(){return{controlsDescendantBindings:!0}},update:function(n,t){s.a.bb(n,t())}};s.f.aa.text=!0,function(){if(r&&r.navigator)var t=function(n){if(n)return parseFloat(n[1])},e=r.opera&&r.opera.version&&parseInt(r.opera.version()),i=r.navigator.userAgent,o=t(i.match(/^(?:(?!chrome).)*version\/([^ ]*) safari/i)),h=t(i.match(/Firefox\/([^ ]*)/));if(10>s.a.C)var u=s.a.e.J(),f=s.a.e.J(),c=function(n){var t=this.activeElement;(t=t&&s.a.e.get(t,f))&&t(n)},l=function(n,t){var i=n.ownerDocument;s.a.e.get(i,u)||(s.a.e.set(i,u,!0),s.a.q(i,"selectionchange",c));s.a.e.set(n,f,t)};s.d.textInput={init:function(t,i,r){function u(n,i){s.a.q(t,n,i)}function p(){var r=s.a.c(i());(null===r||r===n)&&(r="");v!==n&&r===v?s.a.setTimeout(p,4):t.value!==r&&(y=r,t.value=r)}function c(){a||(v=t.value,a=s.a.setTimeout(f,4))}function f(){clearTimeout(a);v=a=n;var u=t.value;y!==u&&(y=u,s.h.Ga(i(),r,"textInput",u))}var y=t.value,a,v,w=9==s.a.C?c:f;10>s.a.C?(u("propertychange",function(n){"value"===n.propertyName&&w(n)}),8==s.a.C&&(u("keyup",f),u("keydown",f)),8<=s.a.C&&(l(t,w),u("dragend",c))):(u("input",f),5>o&&"textarea"===s.a.A(t)?(u("keydown",c),u("paste",c),u("cut",c)):11>e?u("keydown",c):4>h&&(u("DOMAutoComplete",f),u("dragdrop",f),u("drop",f)));u("change",f);s.m(p,null,{i:t})}};s.h.ga.textInput=!0;s.d.textinput={preprocess:function(n,t,i){i("textInput",n)}}}();s.d.uniqueName={init:function(n,t){if(t()){var i="ko_unique_"+ ++s.d.uniqueName.Nc;s.a.vc(n,i)}}};s.d.uniqueName.Nc=0;s.d.value={after:["options","foreach"],init:function(n,t,i){var o,h;if("input"!=n.tagName.toLowerCase()||"checkbox"!=n.type&&"radio"!=n.type){var r=["change"],u=i.get("valueUpdate"),f=!1,e=null;u&&("string"==typeof u&&(u=[u]),s.a.ta(r,u),r=s.a.Wb(r));o=function(){e=null;f=!1;var r=t(),u=s.j.u(n);s.h.Ga(r,i,"value",u)};!s.a.C||"input"!=n.tagName.toLowerCase()||"text"!=n.type||"off"==n.autocomplete||n.form&&"off"==n.form.autocomplete||-1!=s.a.o(r,"propertychange")||(s.a.q(n,"propertychange",function(){f=!0}),s.a.q(n,"focus",function(){f=!1}),s.a.q(n,"blur",function(){f&&o()}));s.a.r(r,function(t){var i=o;s.a.sd(t,"after")&&(i=function(){e=s.j.u(n);s.a.setTimeout(o,0)},t=t.substring(5));s.a.q(n,t,i)});h=function(){var r=s.a.c(t()),u=s.j.u(n),f;null!==e&&r===e?s.a.setTimeout(h,0):r!==u&&("select"===s.a.A(n)?(f=i.get("valueAllowUnset"),u=function(){s.j.ja(n,r,f)},u(),f||r===s.j.u(n)?s.a.setTimeout(u,0):s.l.w(s.a.Fa,null,[n,"change"])):s.j.ja(n,r))};s.m(h,null,{i:n})}else s.La(n,{checkedValue:t})},update:function(){}};s.h.ga.value=!0;s.d.visible={update:function(n,t){var i=s.a.c(t()),r="none"!=n.style.display;i&&!r?n.style.display="":!i&&r&&(n.style.display="none")}},function(n){s.d[n]={init:function(t,i,r,u,f){return s.d.event.init.call(this,t,function(){var t={};return t[n]=i(),t},r,u,f)}}}("click");s.P=function(){};s.P.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource");};s.P.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock");};s.P.prototype.makeTemplateSource=function(n,i){if("string"==typeof n){i=i||t;var r=i.getElementById(n);if(!r)throw Error("Cannot find template with ID "+n);return new s.v.n(r)}if(1==n.nodeType||8==n.nodeType)return new s.v.sa(n);throw Error("Unknown template type: "+n);};s.P.prototype.renderTemplate=function(n,t,i,r){return n=this.makeTemplateSource(n,r),this.renderTemplateSource(n,t,i,r)};s.P.prototype.isTemplateRewritten=function(n,t){return!1===this.allowTemplateRewriting?!0:this.makeTemplateSource(n,t).data("isRewritten")};s.P.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.P);s.Ib=function(){function n(n,t,i,r){var o,f,u,e;for(n=s.h.Ab(n),o=s.h.va,f=0;f<n.length;f++)if(u=n[f].key,o.hasOwnProperty(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.h.Xa(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{Tc:function(n,t,i){t.isTemplateRewritten(n,i)||t.rewriteTemplate(n,function(n){return s.Ib.jd(n,t)},i)},jd: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)})},Jc:function(n,t){return s.N.yb(function(i,r){var u=i.nextSibling;u&&u.nodeName.toLowerCase()===t&&s.La(u,n,r)})}}}();s.b("__tr_ambtns",s.Ib.Jc),function(){var i,t;s.v={};s.v.n=function(n){if(this.n=n){var t=s.a.A(n);this.eb="script"===t?1:"textarea"===t?2:"template"==t&&n.content&&11===n.content.nodeType?3:4}};s.v.n.prototype.text=function(){var n=1===this.eb?"text":2===this.eb?"value":"innerHTML",t;if(0==arguments.length)return this.n[n];t=arguments[0];"innerHTML"===n?s.a.Eb(this.n,t):this.n[n]=t};i=s.a.e.J()+"_";s.v.n.prototype.data=function(n){if(1===arguments.length)return s.a.e.get(this.n,i+n);s.a.e.set(this.n,i+n,arguments[1])};t=s.a.e.J();s.v.n.prototype.nodes=function(){var i=this.n;if(0==arguments.length)return(s.a.e.get(i,t)||{}).mb||(3===this.eb?i.content:4===this.eb?i:n);s.a.e.set(i,t,{mb:arguments[0]})};s.v.sa=function(n){this.n=n};s.v.sa.prototype=new s.v.n;s.v.sa.prototype.text=function(){if(0==arguments.length){var i=s.a.e.get(this.n,t)||{};return i.Jb===n&&i.mb&&(i.Jb=i.mb.innerHTML),i.Jb}s.a.e.set(this.n,t,{Jb:arguments[0]})};s.b("templateSources",s.v);s.b("templateSources.domElement",s.v.n);s.b("templateSources.anonymousTemplate",s.v.sa)}(),function(){function t(n,t,i){var r;for(t=s.f.nextSibling(t);n&&(r=n)!==t;)n=s.f.nextSibling(r),i(r,n)}function f(n,i){if(n.length){var r=n[0],u=n[n.length-1],f=r.parentNode,e=s.S.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.Ba(n,f))}t(r,u,function(n){1!==n.nodeType&&8!==n.nodeType||s.Ub(i,n)});t(r,u,function(n){1!==n.nodeType&&8!==n.nodeType||s.N.Cc(n,[i])});s.a.Ba(n,f)}}function i(n){return n.nodeType?n:0<n.length?n[0]:null}function e(n,t,u,e,o){o=o||{};var h=(n&&i(n)||u||{}).ownerDocument,c=o.templateEngine||r;if(s.Ib.Tc(u,c,h),u=c.renderTemplate(u,e,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.f.fa(n,u);h=!0;break;case"replaceNode":s.a.uc(n,u);h=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+t);}return h&&(f(u,e),o.afterRender&&s.l.w(o.afterRender,null,[u,e.$data])),u}function o(n,t,i){return s.I(n)?n():"function"==typeof n?n(t,i):n}var r,u;s.Fb=function(t){if(t!=n&&!(t instanceof s.P))throw Error("templateEngine must inherit from ko.templateEngine");r=t};s.Cb=function(t,u,f,h,c){if(f=f||{},(f.templateEngine||r)==n)throw Error("Set a template engine before calling renderTemplate");if(c=c||"replaceChildren",h){var l=i(h);return s.B(function(){var n=u&&u instanceof s.R?u:new s.R(u,null,null,null,{exportDependencies:!0}),r=o(t,n.$data,n),n=e(h,c,r,n,f);"replaceNode"==c&&(h=n,l=i(h))},null,{ya:function(){return!l||!s.a.qb(l)},i:l&&"replaceNode"==c?l.parentNode:l})}return s.N.yb(function(n){s.Cb(t,u,f,n,"replaceNode")})};s.pd=function(t,i,r,u,h){function l(n,t){f(t,c);r.afterRender&&r.afterRender(t,n);c=null}function a(n,i){c=h.createChildContext(n,r.as,function(n){n.$index=i});var u=o(t,n,c);return e(null,"ignoreTargetNode",u,c,r)}var c;return s.B(function(){var t=s.a.c(i)||[];"undefined"==typeof t.length&&(t=[t]);t=s.a.Ma(t,function(t){return r.includeDestroyed||t===n||null===t||!s.a.c(t._destroy)});s.l.w(s.a.Db,null,[u,t,a,r,l])},null,{i:u})};u=s.a.e.J();s.d.template={init:function(n,t){var i=s.a.c(t());if("string"==typeof i||i.name)s.f.za(n);else{if("nodes"in i){if(i=i.nodes||[],s.I(i))throw Error('The "nodes" option must be a plain, non-observable array.');}else i=s.f.childNodes(n);i=s.a.nc(i);new s.v.sa(n).nodes(i)}return{controlsDescendantBindings:!0}},update:function(t,i,r,f,e){var o=i();i=s.a.c(o);r=!0;f=null;"string"==typeof i?i={}:(o=i.name,"if"in i&&(r=s.a.c(i["if"])),r&&"ifnot"in i&&(r=!s.a.c(i.ifnot)));"foreach"in i?f=s.pd(o||t,r&&i.foreach||[],i,t,e):r?(e="data"in i?e.ac(i.data,i.as):e,f=s.Cb(o||t,e,i,t)):s.f.za(t);e=f;(i=s.a.e.get(t,u))&&"function"==typeof i.k&&i.k();s.a.e.set(t,u,e&&e.ca()?e:n)}};s.h.va.template=function(n){return n=s.h.Ab(n),1==n.length&&n[0].unknown||s.h.fd(n,"name")?null:"This template engine does not support anonymous templates nested within its templates"};s.f.aa.template=!0}();s.b("setTemplateEngine",s.Fb);s.b("renderTemplate",s.Cb);s.a.hc=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.lb=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.hc(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.lb),function(){function r(t,i,r,u,f){var e=[],o=s.B(function(){var n=i(r,f,s.a.Ba(e,t))||[];0<e.length&&(s.a.uc(e,n),u&&s.l.w(u,null,[r,n,f]));e.length=0;s.a.ta(e,n)},null,{i:t,ya:function(){return!s.a.Tb(e)}});return{ea:e,B:o.ca()?o:n}}var t=s.a.e.J(),i=s.a.e.J();s.a.Db=function(u,f,e,o,h){function ut(n,t){c=nt[t];tt!==t&&(rt[n]=c);c.tb(tt++);s.a.Ba(c.ea,u);b.push(c);k.push(c)}function p(n,t){if(n)for(var i=0,r=t.length;i<r;i++)t[i]&&s.a.r(t[i].ea,function(r){n(r,i,t[i].ka)})}var l,y,ft;f=f||[];o=o||{};var y=s.a.e.get(u,t)===n,nt=s.a.e.get(u,t)||[],w=s.a.ib(nt,function(n){return n.ka}),a=s.a.lb(w,f,o.dontLimitMoves),b=[],v=0,tt=0,it=[],k=[];f=[];for(var rt=[],w=[],c,l=0,d,g;d=a[l];l++)switch(g=d.moved,d.status){case"deleted":g===n&&(c=nt[v],c.B&&(c.B.k(),c.B=n),s.a.Ba(c.ea,u).length&&(o.beforeRemove&&(b.push(c),k.push(c),c.ka===i?c=null:f[l]=c),c&&it.push.apply(it,c.ea)));v++;break;case"retained":ut(l,v++);break;case"added":g!==n?ut(l,g):(c={ka:d.value,tb:s.O(tt++)},b.push(c),k.push(c),y||(w[l]=c))}for(s.a.e.set(u,t,b),p(o.beforeMove,rt),s.a.r(it,o.beforeRemove?s.ba:s.removeNode),l=0,y=s.f.firstChild(u);c=k[l];l++){for(c.ea||s.a.extend(c,r(u,e,c.ka,h,c.tb)),v=0;a=c.ea[v];y=a.nextSibling,ft=a,v++)a!==y&&s.f.kc(u,a,ft);!c.ad&&h&&(h(c.ka,c.ea,c.tb),c.ad=!0)}for(p(o.beforeRemove,f),l=0;l<f.length;++l)f[l]&&(f[l].ka=i);p(o.afterMove,rt);p(o.afterAdd,w)}}();s.b("utils.setDomNodeChildrenFromArrayMapping",s.a.Db);s.X=function(){this.allowTemplateRewriting=!1};s.X.prototype=new s.P;s.X.prototype.renderTemplateSource=function(n,t,i,r){return(t=(9>s.a.C?0:n.nodes)?n.nodes():null)?s.a.W(t.cloneNode(!0).childNodes):(n=n.text(),s.a.na(n,r))};s.X.vb=new s.X;s.Fb(s.X.vb);s.b("nativeTemplateEngine",s.X),function(){s.xb=function(){var n=this.ed=function(){if(!i||!i.tmpl)return 0;try{if(0<=i.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch(n){}return 1}();this.renderTemplateSource=function(r,u,f,e){if(e=e||t,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=i.template(null,"{{ko_with $item.koBindingContext}}"+o+"{{/ko_with}}"),r.data("precompiled",o)),r=[u.$data],u=i.extend({koBindingContext:u},f.templateOptions),u=i.tmpl(o,r,u),u.appendTo(e.createElement("div")),i.fragments={},u};this.createJavaScriptEvaluatorBlock=function(n){return"{{ko_code ((function() { return "+n+" })()) }}"};this.addTemplate=function(n,i){t.write("<script type='text/html' id='"+n+"'>"+i+"<\/script>")};0<n&&(i.tmpl.tag.ko_code={open:"__.push($1 || '');"},i.tmpl.tag.ko_with={open:"with($1) {",close:"} "})};s.xb.prototype=new s.P;var n=new s.xb;0<n.ed&&s.Fb(n);s.b("jqueryTmplTemplateEngine",s.xb)}()})})()})(),function(n){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?n(require("knockout"),exports):"function"==typeof define&&define.amd?define(["knockout","exports"],n):n(ko,ko.mapping={})}(function(n,t){function v(n,i){var o,r;for(r in i)if(i.hasOwnProperty(r)&&i[r])if(o=t.getType(n[r]),r&&n[r]&&"array"!==o&&"string"!==o)v(n[r],i[r]);else if("array"===t.getType(n[r])&&"array"===t.getType(i[r])){o=n;for(var h=r,f=n[r],e=i[r],s={},u=f.length-1;0<=u;--u)s[f[u]]=f[u];for(u=e.length-1;0<=u;--u)s[e[u]]=e[u];f=[];e=void 0;for(e in s)f.push(s[e]);o[h]=f}else n[r]=i[r]}function e(n,t){var i={};return v(i,n),v(i,t),i}function y(n,t){for(var f,i=e({},n),o=nt.length-1;0<=o;o--)f=nt[o],i[f]&&(i[""]instanceof Object||(i[""]={}),i[""][f]=i[f],delete i[f]);return t&&(i.ignore=u(t.ignore,i.ignore),i.include=u(t.include,i.include),i.copy=u(t.copy,i.copy),i.observe=u(t.observe,i.observe)),i.ignore=u(i.ignore,r.ignore),i.include=u(i.include,r.include),i.copy=u(i.copy,r.copy),i.observe=u(i.observe,r.observe),i.mappedProperties=i.mappedProperties||{},i.copiedProperties=i.copiedProperties||{},i}function u(i,r){return"array"!==t.getType(i)&&(i="undefined"===t.getType(i)?[]:[i]),"array"!==t.getType(r)&&(r="undefined"===t.getType(r)?[]:[r]),n.utils.arrayGetDistinctValues(i.concat(r))}function o(r,u,a,v,y,p,b){var lt="array"===t.getType(n.utils.unwrapObservable(u)),nt,it,rt,et,ht;p=p||"";t.isMapped(r)&&(nt=n.utils.unwrapObservable(r)[i],a=e(nt,a));var vt=b||y,ct=function(){return a[v]&&a[v].create instanceof Function},yt=function(t){var i=c,r=n.dependentObservable;return n.dependentObservable=function(t,r,u){var o,f,e;return u=u||{},t&&"object"==typeof t&&(u=t),e=u.deferEvaluation,o=!1,u.deferEvaluation=!0,t=new h(t,r,u),e||(f=t,e=n.dependentObservable,n.dependentObservable=h,t=n.isWriteableObservable(f),n.dependentObservable=e,t=h({read:function(){return o||(n.utils.arrayRemoveItem(i,f),o=!0),f.apply(f,arguments)},write:t&&function(n){return f(n)},deferEvaluation:!0}),i.push(t)),t},n.dependentObservable.fn=h.fn,n.computed=n.dependentObservable,t=n.utils.unwrapObservable(y)instanceof Array?a[v].create({data:t||u,parent:vt,skip:tt}):a[v].create({data:t||u,parent:vt}),n.dependentObservable=r,n.computed=n.dependentObservable,t},ft=function(){return a[v]&&a[v].update instanceof Function},ot=function(t,i){var r={data:i||u,parent:vt,target:n.utils.unwrapObservable(t)};return n.isWriteableObservable(t)&&(r.observable=t),a[v].update(r)};if(b=l.get(u))return b;if(v=v||"",lt){var lt=[],ut=!1,g=function(n){return n};a[v]&&a[v].key&&(g=a[v].key,ut=!0);n.isObservable(r)||(r=n.observableArray([]),r.mappedRemove=function(n){var t="function"==typeof n?n:function(t){return t===g(n)};return r.remove(function(n){return t(g(n))})},r.mappedRemoveAll=function(t){var i=f(t,g);return r.remove(function(t){return-1!=n.utils.arrayIndexOf(i,g(t))})},r.mappedDestroy=function(n){var t="function"==typeof n?n:function(t){return t===g(n)};return r.destroy(function(n){return t(g(n))})},r.mappedDestroyAll=function(t){var i=f(t,g);return r.destroy(function(t){return-1!=n.utils.arrayIndexOf(i,g(t))})},r.mappedIndexOf=function(t){var i=f(r(),g);return t=g(t),n.utils.arrayIndexOf(i,t)},r.mappedCreate=function(t){if(-1!==r.mappedIndexOf(t))throw Error("There already is an object with the key that you specified.");var i=ct()?yt(t):t;return ft()&&(t=ot(i,t),n.isWriteableObservable(i)?i(t):i=t),r.push(i),i});b=f(n.utils.unwrapObservable(r),g).sort();nt=f(u,g);ut&&nt.sort();ut=n.utils.compareArrays(b,nt);b={};for(var st=n.utils.unwrapObservable(u),pt={},wt=!0,nt=0,at=st.length;nt<at;nt++){if(it=g(st[nt]),void 0===it||it instanceof Object){wt=!1;break}pt[it]=st[nt]}var st=[],bt=0,nt=0;for(at=ut.length;nt<at;nt++){it=ut[nt];et=p+"["+nt+"]";switch(it.status){case"added":ht=wt?pt[it.value]:s(n.utils.unwrapObservable(u),it.value,g);rt=o(void 0,ht,a,v,r,et,y);ct()||(rt=n.utils.unwrapObservable(rt));et=w(n.utils.unwrapObservable(u),ht,b);rt===tt?bt++:st[et-bt]=rt;b[et]=!0;break;case"retained":ht=wt?pt[it.value]:s(n.utils.unwrapObservable(u),it.value,g);rt=s(r,it.value,g);o(rt,ht,a,v,r,et,y);et=w(n.utils.unwrapObservable(u),ht,b);st[et]=rt;b[et]=!0;break;case"deleted":rt=s(r,it.value,g)}lt.push({event:it.status,item:rt})}r(st);a[v]&&a[v].arrayChanged&&n.utils.arrayForEach(lt,function(n){a[v].arrayChanged(n.event,n.item)})}else if(d(u)){if(r=n.utils.unwrapObservable(r),!r){if(ct())return ut=yt(),ft()&&(ut=ot(ut)),ut;if(ft())return ot(ut);r={}}if(ft()&&(r=ot(r)),l.save(u,r),ft())return r;k(u,function(t){var i=p.length?p+"."+t:t;if(-1==n.utils.arrayIndexOf(a.ignore,i))if(-1!=n.utils.arrayIndexOf(a.copy,i))r[t]=u[t];else if("object"!=typeof u[t]&&"array"!=typeof u[t]&&0<a.observe.length&&-1==n.utils.arrayIndexOf(a.observe,i))r[t]=u[t],a.copiedProperties[i]=!0;else{var f=l.get(u[t]),e=o(r[t],u[t],a,t,r,i,r),f=f||e;0<a.observe.length&&-1==n.utils.arrayIndexOf(a.observe,i)?(r[t]=f(),a.copiedProperties[i]=!0):(n.isWriteableObservable(r[t])?r[t](n.utils.unwrapObservable(f)):(f=void 0===r[t]?f:n.utils.unwrapObservable(f),r[t]=f),a.mappedProperties[i]=!0)}})}else switch(t.getType(u)){case"function":ft()?n.isWriteableObservable(u)?(u(ot(u)),r=u):r=ot(u):r=u;break;default:if(n.isWriteableObservable(r))return rt=ft()?ot(r):n.utils.unwrapObservable(u),r(rt),rt;ct()||ft();r=ct()?yt():n.observable(n.utils.unwrapObservable(u));ft()&&r(ot(r))}return r}function w(n,t,i){for(var r=0,u=n.length;r<u;r++)if(!0!==i[r]&&n[r]===t)return r;return null}function b(i,r){var u;return r&&(u=r(i)),"undefined"===t.getType(u)&&(u=i),n.utils.unwrapObservable(u)}function s(t,i,r){var u,e,f;for(t=n.utils.unwrapObservable(t),u=0,e=t.length;u<e;u++)if(f=t[u],b(f,r)===i)return f;throw Error("When calling ko.update*, the key '"+i+"' was not found!");}function f(t,i){return n.utils.arrayMap(n.utils.unwrapObservable(t),function(n){return i?b(n,i):n})}function k(n,i){if("array"===t.getType(n))for(var r=0;r<n.length;r++)i(r);else for(r in n)i(r)}function d(n){var i=t.getType(n);return("object"===i||"array"===i)&&null!==n}function it(){var t=[],i=[];this.save=function(r,u){var f=n.utils.arrayIndexOf(t,r);0<=f?i[f]=u:(t.push(r),i.push(u))};this.get=function(r){return r=n.utils.arrayIndexOf(t,r),0<=r?i[r]:void 0}}function g(){var n={},t=function(t){var i;try{i=t}catch(r){i="$$$"}return t=n[i],void 0===t&&(t=new it,n[i]=t),t};this.save=function(n,i){t(n).save(n,i)};this.get=function(n){return t(n).get(n)}}var i="__ko_mapping__",h=n.dependentObservable,p=0,c,l,nt=["create","update","key","arrayChanged"],tt={},a={include:["_destroy"],ignore:[],copy:[],observe:[]},r=a;t.isMapped=function(t){return(t=n.utils.unwrapObservable(t))&&t[i]};t.fromJS=function(n){var t,r,u,f;if(0==arguments.length)throw Error("When calling ko.fromJS, pass the object you want to convert.");try{if(p++||(c=[],l=new g),2==arguments.length&&(arguments[1][i]?r=arguments[1]:t=arguments[1]),3==arguments.length&&(t=arguments[1],r=arguments[2]),r&&(t=e(t,r[i])),t=y(t),u=o(r,n,t),r&&(u=r),!--p)for(;c.length;)f=c.pop(),f&&f();return u[i]=e(u[i],t),u}catch(s){throw p=0,s;}};t.fromJSON=function(i){var r=n.utils.parseJson(i);return arguments[0]=r,t.fromJS.apply(this,arguments)};t.updateFromJS=function(){throw Error("ko.mapping.updateFromJS, use ko.mapping.fromJS instead. Please note that the order of parameters is different!");};t.updateFromJSON=function(){throw Error("ko.mapping.updateFromJSON, use ko.mapping.fromJSON instead. Please note that the order of parameters is different!");};t.toJS=function(u,f){if(r||t.resetDefaultOptions(),0==arguments.length)throw Error("When calling ko.mapping.toJS, pass the object you want to convert.");if("array"!==t.getType(r.ignore))throw Error("ko.mapping.defaultOptions().ignore should be an array.");if("array"!==t.getType(r.include))throw Error("ko.mapping.defaultOptions().include should be an array.");if("array"!==t.getType(r.copy))throw Error("ko.mapping.defaultOptions().copy should be an array.");return f=y(f,u[i]),t.visitModel(u,function(t){return n.utils.unwrapObservable(t)},f)};t.toJSON=function(i,r){var u=t.toJS(i,r);return n.utils.stringifyJson(u)};t.defaultOptions=function(){if(0<arguments.length)r=arguments[0];else return r};t.resetDefaultOptions=function(){r={include:a.include.slice(0),ignore:a.ignore.slice(0),copy:a.copy.slice(0)}};t.getType=function(n){if(n&&"object"==typeof n){if(n.constructor===Date)return"date";if(n.constructor===Array)return"array"}return typeof n};t.visitModel=function(r,u,f){var o,e,s;if(f=f||{},f.visitedObjects=f.visitedObjects||new g,e=n.utils.unwrapObservable(r),d(e))f=y(f,e[i]),u(r,f.parentName),o="array"===t.getType(e)?[]:{};else return u(r,f.parentName);return f.visitedObjects.save(r,o),s=f.parentName,k(e,function(r){if(!(f.ignore&&-1!=n.utils.arrayIndexOf(f.ignore,r))){var h=e[r],c=f,l=s||"";if("array"===t.getType(e)?s&&(l+="["+r+"]"):(s&&(l+="."),l+=r),c.parentName=l,!(-1===n.utils.arrayIndexOf(f.copy,r)&&-1===n.utils.arrayIndexOf(f.include,r)&&e[i]&&e[i].mappedProperties&&!e[i].mappedProperties[r]&&e[i].copiedProperties&&!e[i].copiedProperties[r]&&"array"!==t.getType(e)))switch(t.getType(n.utils.unwrapObservable(h))){case"object":case"array":case"undefined":c=f.visitedObjects.get(h);o[r]="undefined"!==t.getType(c)?c:t.visitModel(h,u,f);break;default:o[r]=u(h,f.parentName)}}}),o}}),function(n){typeof define=="function"&&define.amd?define(["knockout","jquery","jquery.ui.sortable"],n):n(window.ko,jQuery)}(function(n,t,i){var o="ko_sortItem",h="ko_sourceIndex",s="ko_sortList",c="ko_parentList",l="ko_dragItem",r=n.utils.unwrapObservable,u=n.utils.domData.get,f=n.utils.domData.set,a=function(t,i){n.utils.arrayForEach(t,function(n){n.nodeType===1&&(f(n,o,i),f(n,c,u(n.parentNode,s)))})},e=function(t,i){var u={},f=r(t()),e;return f.data?(u[i]=f.data,u.name=f.template):u[i]=t(),n.utils.arrayForEach(["afterAdd","afterRender","as","beforeRemove","includeDestroyed","templateEngine","templateOptions"],function(t){u[t]=f[t]||n.bindingHandlers.sortable[t]}),i==="foreach"&&(u.afterRender?(e=u.afterRender,u.afterRender=function(n,t){a.call(t,n,t);e.call(t,n,t)}):u.afterRender=a),u},v=function(n,t){var u=r(t),i;if(u)for(i=0;i<n;i++)u[i]&&r(u[i]._destroy)&&n++;return n};n.bindingHandlers.sortable={init:function(a,y,p,w,b){var d=t(a),g=r(y())||{},nt=e(y,"foreach"),k={},tt,it,rt;return n.utils.arrayForEach(a.childNodes,function(n){n&&n.nodeType===3&&n.parentNode.removeChild(n)}),t.extend(!0,k,n.bindingHandlers.sortable),g.options&&k.options&&(n.utils.extend(k.options,g.options),delete g.options),n.utils.extend(k,g),k.connectClass&&(n.isObservable(k.allowDrop)||typeof k.allowDrop=="function")?n.computed({read:function(){var t=r(k.allowDrop),i=typeof t=="function"?t.call(this,nt.foreach):t;n.utils.toggleDomNodeCssClass(a,k.connectClass,i)},disposeWhenNodeIsRemoved:a},this):n.utils.toggleDomNodeCssClass(a,k.connectClass,k.allowDrop),n.bindingHandlers.template.init(a,function(){return nt},p,w,b),tt=k.options.start,it=k.options.update,rt=setTimeout(function(){var e;d.sortable(n.utils.extend(k.options,{start:function(t,i){var r=i.item[0];f(r,h,n.utils.arrayIndexOf(i.item.parent().children(),r));i.item.find("input:focus").change();tt&&tt.apply(this,arguments)},receive:function(n,t){e=u(t.item[0],l);e&&(e.clone&&(e=e.clone()),k.dragged&&(e=k.dragged.call(this,e,n,t)||e))},update:function(i,r){var y,b,w,p,a,l=r.item[0],g=r.item.parent()[0],d=u(l,o)||e;if(e=null,d&&(this===g||t.contains(this,g))){if(y=u(l,c),w=u(l,h),b=u(l.parentNode,s),p=n.utils.arrayIndexOf(r.item.parent().children(),l),nt.includeDestroyed||(w=v(w,y),p=v(p,b)),(k.beforeMove||k.afterMove)&&(a={item:d,sourceParent:y,sourceParentNode:y&&r.sender||l.parentNode,sourceIndex:w,targetParent:b,targetIndex:p,cancelDrop:!1}),k.beforeMove&&(k.beforeMove.call(this,a,i,r),a.cancelDrop)){a.sourceParent?t(a.sourceParent===a.targetParent?this:r.sender).sortable("cancel"):t(l).remove();return}p>=0&&(y&&(y.splice(w,1),n.processAllDeferredBindingUpdates&&n.processAllDeferredBindingUpdates()),b.splice(p,0,d));f(l,o,null);r.item.remove();n.processAllDeferredBindingUpdates&&n.processAllDeferredBindingUpdates();k.afterMove&&k.afterMove.call(this,a,i,r)}it&&it.apply(this,arguments)},connectWith:k.connectClass?"."+k.connectClass:!1}));k.isEnabled!==i&&n.computed({read:function(){d.sortable(r(k.isEnabled)?"enable":"disable")},disposeWhenNodeIsRemoved:a})},0),n.utils.domNodeDisposal.addDisposeCallback(a,function(){d.data("sortable")&&d.sortable("destroy");clearTimeout(rt)}),{controlsDescendantBindings:!0}},update:function(t,i,r,u,o){var h=e(i,"foreach");f(t,s,h.foreach);n.bindingHandlers.template.update(t,function(){return h},r,u,o)},connectClass:"ko_container",allowDrop:!0,afterMove:null,beforeMove:null,options:{}};n.bindingHandlers.draggable={init:function(u,o,s,h,c){var a=r(o())||{},w=a.options||{},v=n.utils.extend({},n.bindingHandlers.draggable.options),b=e(o,"data"),y=a.connectClass||n.bindingHandlers.draggable.connectClass,p=a.isEnabled!==i?a.isEnabled:n.bindingHandlers.draggable.isEnabled;return a=a.data||a,f(u,l,a),n.utils.extend(v,w),v.connectToSortable=y?"."+y:!1,t(u).draggable(v),p!==i&&n.computed({read:function(){t(u).draggable(r(p)?"enable":"disable")},disposeWhenNodeIsRemoved:u}),n.bindingHandlers.template.init(u,function(){return b},s,h,c)},update:function(t,i,r,u,f){var o=e(i,"data");return n.bindingHandlers.template.update(t,function(){return o},r,u,f)},connectClass:n.bindingHandlers.sortable.connectClass,options:{helper:"clone"}}});!function(n){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?n(require("knockout"),exports):"function"==typeof define&&define.amd?define(["knockout","exports"],n):n(ko,ko.validation={})}(function(n,t){function c(n){var t="max"===n;return function(r,u){var o,h,s,f,e;if(i.utils.isEmptyVal(r))return!0;void 0===u.typeAttr?(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),null===f)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?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]:!1;case"month":if(s=/^(\d{4})-(\d{2})$/,f=r.match(s),null===f)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?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]:!1;case"number":case"range":return t?!isNaN(r)&&parseFloat(r)<=parseFloat(o):!isNaN(r)&&parseFloat(r)>=parseFloat(o);default:return t?o>=r:r>=o}}}function y(n,t,r){return t.validator(n(),void 0===r.params?!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="";return n.__valid__()?(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)),void n.isValidating(!1)):void n.isValidating(!1)};i.utils.async(function(){t.validator(n(),void 0===r.params?!0:f(r.params),u)})}var a,h,s,v;if("undefined"==typeof n)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,l={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({},l);o.html5Attributes=["required","pattern","min","max","step"];o.html5InputTypes=["email","number","date"];o.reset=function(){r(o,l)};i.configuration=o;i.utils=function(){var r=(new Date).getTime(),t={},n="__ko_validation__";return{isArray:function(n){return n.isArray||"[object Array]"===Object.prototype.toString.call(n)},isObject:function(n){return null!==n&&"object"==typeof n},isNumber:function(n){return!isNaN(n)},isObservableArray:function(n){return!!n&&"function"==typeof n.remove&&"function"==typeof n.removeAll&&"function"==typeof n.destroy&&"function"==typeof n.destroyAll&&"function"==typeof n.indexOf&&"function"==typeof n.replace},values:function(n){var i=[],t;for(t in n)n.hasOwnProperty(t)&&i.push(n[t]);return i},getValue:function(n){return"function"==typeof n?n():n},hasAttribute:function(n,t){return null!==n.getAttribute(t)},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];if(r)return t[r]},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 void 0},isEmptyVal:function(n){return void 0===n?!0:null===n?!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)}}}();a=function(){function c(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||c(n)}function s(n,t){t.validatables=[];c(t);l(n,t);v(t)}function l(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=void 0!==u?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))),0!==u&&t.forEach(e,function(t){!t||t.nodeType||n.isComputed(t)&&!t.rules||l(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 a=0,o=i.configuration,t=i.utils;return{init:function(n,t){a>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(),a=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){void 0===n&&(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.");return i=n,f.observable?void l.graphMonitor.valueHasMutated():(s(n,l),h(l.validatables))},c},formatMessage:function(n,i,r){if(t.isObject(i)&&i.typeAttr&&(i=i.value),"function"==typeof n)return n(i,r);var u=f(i);return null==u&&(u=[]),t.isArray(u)||(u=[u]),n.replace(/{(\d+)}/gi,function(n,t){return"undefined"!=typeof u[t]?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){void 0===t.message&&(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,("min"===u||"max"===u)&&(f=n.getAttribute("type"),"undefined"!=typeof f&&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:"date"===n?"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);"pattern"===r.rule&&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,a);i.rules={};i.rules.required={validator:function(n,t){var i;return void 0===n||null===n?!t:(i=n,"string"==typeof n&&(i=String.prototype.trim?n.trim():n.replace(/^\s+|\s+$/g,"")),t?(i+"").length>0:!0)},message:"This field is required."};i.rules.min={validator:c("min"),message:"Please enter a value greater than or equal to {0}."};i.rules.max={validator:c("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)||null!==n.toString().match(t)},message:"Please check this value."};i.rules.step={validator:function(n,t){if(i.utils.isEmptyVal(n)||"any"===t)return!0;var r=100*n%(100*t);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:"string"!=typeof n?!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?(u.arrayFilter(r,function(i){n===(t.valueAccessor?t.valueAccessor(i):i)&&f++}),(e?1:2)>f):!0},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),h=(f(e),!1),c=!1,o,l,a;if(null===e||"undefined"==typeof e)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="none"!==t.style.display;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),h=(f(e),!1),s=!1,c;if(null===e||"undefined"==typeof e)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(){return t(),t.rules(),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 r,t,u=0,f=n.rules(),e=f.length;e>u;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))throw new Error("Localization "+n+" has not been loaded.");i.localize(s[n]);h=n}return h};i.localize=function(n){var r=i.rules,t;for(t in n)r.hasOwnProperty(t)&&(r[t].message=n[t])},function(){var r={},t=i.rules,n;for(n in t)t.hasOwnProperty(n)&&(r[n]=t[n].message);i.defineLocale("en-us",r)}();h="en-us";n.applyBindingsWithValidation=function(t,u,f){var e,o=document.body;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(0===u.errors().length),n.isObservable(u.errors)?u.errors.subscribe(function(n){u.isValid(0===n.length)}):n.computed(u.errors).subscribe(function(n){u.isValid(0===n.length)}),u.subscribe(function(n){i.utils.isObject(n)||(n={});u.errors._updateState(n);u.isValid(0===u.errors().length)}),u}}),function(n,t){typeof exports=="object"&&typeof module=="object"?module.exports=t(require("knockout")):typeof define=="function"&&define.amd?define(["knockout"],t):typeof exports=="object"?exports["ko-component-router"]=t(require("knockout")):n["ko-component-router"]=t(n.ko)}(this,function(n){return function(n){function t(r){if(i[r])return i[r].exports;var u=i[r]={exports:{},id:r,loaded:!1};return n[r].call(u.exports,u,u.exports,t),u.loaded=!0,u.exports}var i={};return t.m=n,t.c=i,t.p="",t(0)}([function(n,t,i){"use strict";function u(n){return n&&n.__esModule?n:{"default":n}}var f=i(1),r=u(f),e=i(2),o=u(e);i(14);r.default.components.register("__KO_ROUTER_EMPTY_COMPONENT__",{template:"<span><\/span>"});r.default.components.register("ko-component-router",{synchronous:!0,viewModel:o.default,template:"<div data-bind='if: ctx.route().component'>\n      <div class=\"component-wrapper\" data-bind='component: {\n        name: ctx.route().component,\n        params: ctx\n      }'><\/div>\n    <\/div>"})},function(t){t.exports=n},function(n,t,i){"use strict";function r(n){return n&&n.__esModule?n:{"default":n}}function b(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}function k(n,t){var i=t.element,r=e.default.contextFor(i);return new s(i,r,e.default.toJS(n))}function d(n){return n=n||window.event,null===n.which?n.button:n.which}function h(){}function g(n){var t=location.protocol+"//"+location.hostname;return location.port&&(t+=":"+location.port),n&&0===n.indexOf(t)}var f,s;Object.defineProperty(t,"__esModule",{value:!0});var c=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}(),l=i(1),e=r(l),a=i(3),o=r(a),v=i(7),y=r(v),p=i(11),w=r(p),u=i(9);f=!u.isUndefined(document)&&document.ontouchstart?"touchstart":"click";s=function(){function n(t,i,r){var e=r.routes,a=r.base,rt=a===undefined?"":a,v=r.hashbang,ut=v===undefined?!1:v,p=r.inTransition,ft=p===undefined?h:p,k=r.outTransition,et=k===undefined?h:k,d=r.persistState,ot=d===undefined?!1:d,g=r.persistQuery,st=g===undefined?!1:g,nt=r.queryParser,ht=nt===undefined?o.default.parse:nt,tt=r.queryStringifier,ct=tt===undefined?o.default.stringify:tt,s,c,l,it;b(this,n);for(s in e)e[s]=new w.default(s,e[s]);this.config={el:t,base:rt,hashbang:ut,routes:e,inTransition:ft,outTransition:et,persistState:ot,persistQuery:st,queryParser:ht,queryStringifier:ct};this.ctx=new y.default(i,this.config);c=u.isUndefined(this.ctx.$parent);this.onclick=this.onclick.bind(this);this.onpopstate=this.onpopstate.bind(this);document.addEventListener(f,this.onclick,!1);c&&window.addEventListener("popstate",this.onpopstate,!1);l=!0;c||(l=this.ctx.$parent.path()!==this.ctx.$parent.canonicalPath());l&&(it=this.config.hashbang&&~location.hash.indexOf("#!")?location.hash.substr(2)+location.search:location.pathname+location.search+location.hash,this.ctx._update(it,undefined,!1))}return c(n,[{key:"onpopstate",value:function(n){if(!n.defaultPrevented){var t=location.pathname+location.search+location.hash,i=(n.state||{})[u.normalizePath(this.ctx.config.depth+this.ctx.pathname())];this.ctx._update(t,i,!1)&&n.preventDefault()}}},{key:"onclick",value:function(n){for(var t=n.target,i;t&&"A"!==t.nodeName;)t=t.parentNode;if(t&&"A"===t.nodeName){var r=1!==d(n),u=n.metaKey||n.ctrlKey||n.shiftKey,f=t.hasAttribute("download"),e=t.hasAttribute("target"),o=t.getAttribute("rel")==="external",s=~(t.getAttribute("href")||"").indexOf("mailto:"),h=!g(t.href),c=t.getAttribute("href")==="#";h||r||f||c||s||o||u||e||(i=t.pathname+t.search+(t.hash||""),this.ctx._update(i)&&n.preventDefault())}}},{key:"dispose",value:function(){document.removeEventListener(f,this.onclick,!1);window.removeEventListener("popstate",this.onpopstate,!1);this.ctx.destroy()}}]),n}();t.default={createViewModel:k}},function(n,t,i){"use strict";var r=i(4),u=i(6);n.exports={stringify:r,parse:u}},function(n,t,i){"use strict";var f=i(5),e={brackets:function(n){return n+"[]"},indices:function(n,t){return n+"["+t+"]"},repeat:function(n){return n}},r={delimiter:"&",strictNullHandling:!1,skipNulls:!1,encode:!0,encoder:f.encode},u=function u(n,t,i,r,e,o,s,h,c){var l=n,v,y,w,p,a;if(typeof s=="function")l=s(t,l);else if(l instanceof Date)l=l.toISOString();else if(l===null){if(r)return o?o(t):t;l=""}if(typeof l=="string"||typeof l=="number"||typeof l=="boolean"||f.isBuffer(l))return o?[o(t)+"="+o(l)]:[t+"="+String(l)];if(v=[],typeof l=="undefined")return v;for(Array.isArray(s)?y=s:(w=Object.keys(l),y=h?w.sort(h):w),p=0;p<y.length;++p)(a=y[p],e&&l[a]===null)||(v=Array.isArray(l)?v.concat(u(l[a],i(t,a),i,r,e,o,s,h,c)):v.concat(u(l[a],t+(c?"."+a:"["+a+"]"),i,r,e,o,s,h,c)));return v};n.exports=function(n,t){var f=n,i=t||{},w=typeof i.delimiter=="undefined"?r.delimiter:i.delimiter,b=typeof i.strictNullHandling=="boolean"?i.strictNullHandling:r.strictNullHandling,v=typeof i.skipNulls=="boolean"?i.skipNulls:r.skipNulls,k=typeof i.encode=="boolean"?i.encode:r.encode,d=k?typeof i.encoder=="function"?i.encoder:r.encoder:null,a=typeof i.sort=="function"?i.sort:null,g=typeof i.allowDots=="undefined"?!1:i.allowDots,o,s,h,y,p,c,l;if(i.encoder!==null&&i.encoder!==undefined&&typeof i.encoder!="function")throw new TypeError("Encoder has to be a function.");if(typeof i.filter=="function"?(s=i.filter,f=s("",f)):Array.isArray(i.filter)&&(o=s=i.filter),h=[],typeof f!="object"||f===null)return"";for(y=(i.arrayFormat in e)?i.arrayFormat:("indices"in i)?i.indices?"indices":"repeat":"indices",p=e[y],o||(o=Object.keys(f)),a&&o.sort(a),c=0;c<o.length;++c)(l=o[c],v&&f[l]===null)||(h=h.concat(u(f[l],l,p,b,v,d,s,a,g)));return h.join(w)}},function(n,t){"use strict";var i=function(){for(var t=new Array(256),n=0;n<256;++n)t[n]="%"+((n<16?"0":"")+n.toString(16)).toUpperCase();return t}();t.arrayToObject=function(n,t){for(var r=t.plainObjects?Object.create(null):{},i=0;i<n.length;++i)typeof n[i]!="undefined"&&(r[i]=n[i]);return r};t.merge=function(n,i,r){if(!i)return n;if(typeof i!="object"){if(Array.isArray(n))n.push(i);else if(typeof n=="object")n[i]=!0;else return[n,i];return n}if(typeof n!="object")return[n].concat(i);var u=n;return Array.isArray(n)&&!Array.isArray(i)&&(u=t.arrayToObject(n,r)),Object.keys(i).reduce(function(n,u){var f=i[u];return n[u]=Object.prototype.hasOwnProperty.call(n,u)?t.merge(n[u],f,r):f,n},u)};t.decode=function(n){try{return decodeURIComponent(n.replace(/\+/g," "))}catch(t){return n}};t.encode=function(n){var f,r,u,t;if(n.length===0)return n;for(f=typeof n=="string"?n:String(n),r="",u=0;u<f.length;++u){if(t=f.charCodeAt(u),t===45||t===46||t===95||t===126||t>=48&&t<=57||t>=65&&t<=90||t>=97&&t<=122){r+=f.charAt(u);continue}if(t<128){r=r+i[t];continue}if(t<2048){r=r+(i[192|t>>6]+i[128|t&63]);continue}if(t<55296||t>=57344){r=r+(i[224|t>>12]+i[128|t>>6&63]+i[128|t&63]);continue}u+=1;t=65536+((t&1023)<<10|f.charCodeAt(u)&1023);r+=i[240|t>>18]+i[128|t>>12&63]+i[128|t>>6&63]+i[128|t&63]}return r};t.compact=function(n,i){var u,o,f,r,s,e,h;if(typeof n!="object"||n===null)return n;if(u=i||[],o=u.indexOf(n),o!==-1)return u[o];if(u.push(n),Array.isArray(n)){for(f=[],r=0;r<n.length;++r)n[r]&&typeof n[r]=="object"?f.push(t.compact(n[r],u)):typeof n[r]!="undefined"&&f.push(n[r]);return f}for(s=Object.keys(n),e=0;e<s.length;++e)h=s[e],n[h]=t.compact(n[h],u);return n};t.isRegExp=function(n){return Object.prototype.toString.call(n)==="[object RegExp]"};t.isBuffer=function(n){return n===null||typeof n=="undefined"?!1:!!(n.constructor&&n.constructor.isBuffer&&n.constructor.isBuffer(n))}},function(n,t,i){"use strict";var u=i(5),e=Object.prototype.hasOwnProperty,r={delimiter:"&",depth:5,arrayLimit:20,parameterLimit:1e3,strictNullHandling:!1,plainObjects:!1,allowPrototypes:!1,allowDots:!1,decoder:u.decode},o=function(n,t){for(var u={},h=n.split(t.delimiter,t.parameterLimit===Infinity?undefined:t.parameterLimit),i,o,r,s,f=0;f<h.length;++f)i=h[f],o=i.indexOf("]=")===-1?i.indexOf("="):i.indexOf("]=")+1,o===-1?(r=t.decoder(i),s=t.strictNullHandling?null:""):(r=t.decoder(i.slice(0,o)),s=t.decoder(i.slice(o+1))),u[r]=e.call(u,r)?[].concat(u[r]).concat(s):s;return u},f=function f(n,t,i){var r,u,o,e;return n.length?(r=n.shift(),r==="[]"?(u=[],u=u.concat(f(n,t,i))):(u=i.plainObjects?Object.create(null):{},o=r[0]==="["&&r[r.length-1]==="]"?r.slice(1,r.length-1):r,e=parseInt(o,10),!isNaN(e)&&r!==o&&String(e)===o&&e>=0&&i.parseArrays&&e<=i.arrayLimit?(u=[],u[e]=f(n,t,i)):u[o]=f(n,t,i)),u):t},s=function(n,t,i){var s;if(n){var o=i.allowDots?n.replace(/\.([^\.\[]+)/g,"[$1]"):n,h=/(\[[^\[\]]*\])/g,r=/^([^\[\]]*)/.exec(o),u=[];if(r[1]){if(!i.plainObjects&&e.call(Object.prototype,r[1])&&!i.allowPrototypes)return;u.push(r[1])}for(s=0;(r=h.exec(o))!==null&&s<i.depth;)(s+=1,i.plainObjects||!e.call(Object.prototype,r[1].replace(/\[|\]/g,""))||i.allowPrototypes)&&u.push(r[1]);return r&&u.push("["+o.slice(r.index)+"]"),f(u,t,i)}};n.exports=function(n,t){var i=t||{},f,h,a;if(i.decoder!==null&&i.decoder!==undefined&&typeof i.decoder!="function")throw new TypeError("Decoder has to be a function.");if(i.delimiter=typeof i.delimiter=="string"||u.isRegExp(i.delimiter)?i.delimiter:r.delimiter,i.depth=typeof i.depth=="number"?i.depth:r.depth,i.arrayLimit=typeof i.arrayLimit=="number"?i.arrayLimit:r.arrayLimit,i.parseArrays=i.parseArrays!==!1,i.decoder=typeof i.decoder=="function"?i.decoder:r.decoder,i.allowDots=typeof i.allowDots=="boolean"?i.allowDots:r.allowDots,i.plainObjects=typeof i.plainObjects=="boolean"?i.plainObjects:r.plainObjects,i.allowPrototypes=typeof i.allowPrototypes=="boolean"?i.allowPrototypes:r.allowPrototypes,i.parameterLimit=typeof i.parameterLimit=="number"?i.parameterLimit:r.parameterLimit,i.strictNullHandling=typeof i.strictNullHandling=="boolean"?i.strictNullHandling:r.strictNullHandling,n===""||n===null||typeof n=="undefined")return i.plainObjects?Object.create(null):{};var c=typeof n=="string"?o(n,i):n,e=i.plainObjects?Object.create(null):{},l=Object.keys(c);for(f=0;f<l.length;++f)h=l[f],a=s(h,c[h],i),e=u.merge(e,a,i);return u.compact(e)}},function(n,t,i){"use strict";function f(n){return n&&n.__esModule?n:{"default":n}}function y(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}var e;Object.defineProperty(t,"__esModule",{value:!0});var o=function(){function n(n,t){var r=[],u=!0,f=!1,e=undefined,i,o;try{for(i=n[Symbol.iterator]();!(u=(o=i.next()).done);u=!0)if(r.push(o.value),t&&r.length===t)break}catch(s){f=!0;e=s}finally{try{!u&&i["return"]&&i["return"]()}finally{if(f)throw e;}}return r}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return n(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance");}}(),s=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}(),h=i(1),r=f(h),c=i(3),l=f(c),a=i(8),v=i(10),u=i(9);e=function(){function n(t,i){y(this,n);t.$router=this;this.bindingCtx=t;for(var u=t,f=!0;u.$parentContext;)if(u=u.$parentContext,u.$router){f=!1;break}else u.$router=this;f?(r.default.router=this,r.default.router.history=r.default.observableArray([])):(this.$parent=u.$router,this.$parent.$child=this,i.base=this.$parent.pathname());this.config=i;this.config.depth=n.getDepth(this);this.isNavigating=r.default.observable(!0);this.route=r.default.observable("");this.canonicalPath=r.default.observable("");this.path=r.default.observable("");this.pathname=r.default.observable("");this.hash=r.default.observable("");this.params={};this.query=a.factory(this);this.state=v.factory(this);this._beforeNavigateCallbacks=[]}return s(n,[{key:"update",value:function(n,t,i){var u=this;return(this._queuedArgs&&(arguments[2]=this._queuedArgs[2]||i),this._queuedArgs=arguments,this._queuedUpdate)?this._queuedUpdate:this._queuedUpdate=new Promise(function(n){r.default.tasks.schedule(function(){u._update.apply(u,u._queuedArgs).then(n);u._queuedUpdate=!1})})}},{key:"_update",value:function(){var tt=arguments.length>0&&arguments[0]!==undefined?arguments[0]:this.canonicalPath(),h=arguments.length>1&&arguments[1]!==undefined?arguments[1]:!1,a=arguments.length>2&&arguments[2]!==undefined?arguments[2]:!0,t=this,i=arguments.length>3&&arguments[3]!==undefined?arguments[3]:!1,v=arguments.length>4&&arguments[4]!==undefined?arguments[4]:!1,k=this.resolveUrl(tt),y=this.getRouteForUrl(k),p=this.route()==="",d;if(!y)return this.$parent?(d=this.$parent).update.apply(d,arguments):!1;var c=this.toJS(),it=y.parse(k),f=o(it,6),rt=f[0],w=f[1],g=f[2],e=f[3],nt=f[4],b=f[5],s=this.pathname()===e,ut=function(){if(s){if(t.$child){var n=a;return a=!1,t.$child._update(b||"/",v?h:!1,n,v?i:!1)}return Promise.resolve(!0)}return t.runBeforeNavigateCallbacks()}();return ut.then(function(f){var tt,it,k,o,d;return f?(!i&&nt&&(i=l.default.parse(nt)[u.normalizePath(t.config.depth+e)]),tt=!u.deepEquals(w,t.prevParams),it=i&&!u.deepEquals(i,t.prevQuery),t.prevParams=w,i&&(t.prevQuery=i),(!s&&!p||t.config._forceReloadOnParamChange&&tt||t.config._forceReloadOnQueryChange&&it)&&(t.isNavigating(!0),t.reload(),t._beforeNavigateCallbacks=[]),k=n.getCanonicalPath(t.getBase().replace(/\/$/,""),e,b,t.query.getFullQueryString(i,e),g),o={path:rt,pathname:e,canonicalPath:k,hash:g,params:w,query:i,route:y},h===!1&&s?o.state=c.state:!t.config.persistState&&h&&(o.state=h),t.config.persistState&&(o.state=t.state()),s&&u.deepEquals(c.query,o.query)||(d=""===k?t.getBase():k,a?r.default.router.history.push([history.state,d]):r.default.router.history.splice(r.default.router.history.length-1,1,[history.state,d]),history[a?"pushState":"replaceState"](history.state,document.title,d)),new Promise(function(n){var f=function(f){var s=t.config.el.getElementsByClassName("component-wrapper")[0];delete o.query;o.route.runPipeline(o).then(function(){if(c.route.component===o.route.component)if(t.config._forceReloadOnParamChange&&tt||t.config._forceReloadOnQueryChange&&it){var l=o.route;o.route={component:"__KO_ROUTER_EMPTY_COMPONENT__"};t.config._forceReloadOnParamChange=!1;t.config._forceReloadOnQueryChange=!1;u.extend(t,o);r.default.tasks.runEarly();t.route(l)}else u.merge(t,o);else t.config._forceReloadOnParamChange=!1,t.config._forceReloadOnQueryChange=!1,u.extend(t,o);i&&t.query.update(i,e);t.isNavigating(!1);r.default.tasks.runEarly();n(!0);f&&r.default.tasks.schedule(function(){return t.config.inTransition(s,c,o)});t.$child&&t.$child._update(b||"/",v?h:!1,!1,v?i:!1)})};p||s?f(p):s||(t.config.outTransition(t.config.el,c,o,f),t.config.outTransition.length!==4&&f(!0))})):Promise.resolve(!1)})}},{key:"addBeforeNavigateCallback",value:function(n){this._beforeNavigateCallbacks.push(n)}},{key:"runBeforeNavigateCallbacks",value:function(){for(var n=this,t=[];n;)t=n._beforeNavigateCallbacks.concat(t),n=n.$child;return u.cascade(t)}},{key:"forceReloadOnParamChange",value:function(){this.config._forceReloadOnParamChange=!0}},{key:"forceReloadOnQueryChange",value:function(){this.config._forceReloadOnQueryChange=!0}},{key:"getRouteForUrl",value:function(n){var f=n.split("#")[0].split("?")[0],r=void 0,i=Infinity,u,t;for(u in this.config.routes)if(t=this.config.routes[u],t.matches(f)){if(t._keys.length===0)return t;(i===Infinity||t._keys.length<i&&t._keys[0].pattern!==".*")&&(i=t._keys.length,r=t)}return r}},{key:"destroy",value:function(){this.$child&&(this.$child.destroy(),delete this.$child);this.query.dispose();this.state.dispose()}},{key:"reload",value:function(){this.$child&&(this.$child.destroy(),delete this.$child);this.query.reload();this.state.reload()}},{key:"resolveUrl",value:function(n){var t=(n+"").replace("/#!",""),i;if(t.indexOf("./")===0)t=t.replace("./","/");else for(i=this;i&&t.toLowerCase().indexOf(i.config.base.toLowerCase())>-1;)t=t.replace(new RegExp(i.config.base,"i"),""),i=i.$parent;return t}},{key:"toJS",value:function(){return r.default.toJS({route:this.route,path:this.path,pathname:this.pathname,canonicalPath:this.canonicalPath,hash:this.hash,state:this.state,params:this.params,query:this.query.getAll(!1,this.pathname())})}},{key:"getBase",value:function(){for(var t="",n=this;n;)t=n.config.base+(!n.config.hashbang||n.$parent?"":"/#!")+t,n=n.$parent;return t}}],[{key:"getCanonicalPath",value:function(n,t){var u=arguments.length>2&&arguments[2]!==undefined?arguments[2]:"",i=arguments[3],r=arguments.length>4&&arguments[4]!==undefined?arguments[4]:"";return""+n+t+u+(i?"?"+i:"")+(r?"#"+r:"")}},{key:"getDepth",value:function(n){for(var t=0;n.$parent;)n=n.$parent,t++;return t}}]),n}();t.default=e},function(n,t,i){"use strict";function l(n){return n&&n.__esModule?n:{"default":n}}function s(n,t,i){return t in n?Object.defineProperty(n,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):n[t]=i,n}function a(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}function y(n){return new v(n)}var h;Object.defineProperty(t,"__esModule",{value:!0});h=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}();t.factory=y;var c=i(1),o=l(c),r=i(9);var u={},e=o.default.observable(!0),f={},v=function(){function n(t){if(a(this,n),this.ctx=t,!this.ctx.$parent){var i=window.location.href.indexOf("?");~i&&this.updateFromString(window.location.href.split("?")[1])}this.get=this.get.bind(this);this.clear=this.clear.bind(this);this.update=this.update.bind(this)}return h(n,[{key:"get",value:function(n,t){var c=arguments.length>2&&arguments[2]!==undefined?arguments[2]:r.identity,l=this,h=this.ctx,i=r.normalizePath(h.config.depth+h.pathname());return f[i]||(f[i]={}),f[i][n]||(f[i][n]={parser:c,value:o.default.pureComputed({read:function(){return(e(),u&&u[i]&&!r.isUndefined(u[i][n]))?f[i][n].parser(u[i][n]):t},write:function(t){var f=location,o=f.pathname,c=f.hash;r.deepEquals(t,this.prev)||(this.prev=t,r.merge(u,s({},i,s({},n,t)),!1),h.update(o+c,h.state(),!1,l.getNonDefaultParams()[i]).then(function(){return e(!e())}))},owner:{prev:null}})}),t&&(f[i][n].defaultVal=r.clone(t),u&&u[i]&&r.isUndefined(u[i][n])&&this.get(n)(t)),f[i][n].value}},{key:"getAll",value:function(){var t=arguments.length>0&&arguments[0]!==undefined?arguments[0]:!1,i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.ctx.pathname(),n=r.normalizePath(this.ctx.config.depth+i);return t?o.default.pureComputed({read:function(){return e(),this.getAll()},write:function(n){for(var t in n)this.get(t)(n[t])}},this):o.default.toJS(r.mapKeys(u[n]||{},function(t){return f[n]&&f[n][t]?r.isUndefined(u[n][t])?undefined:f[n][t].parser(u[n][t]):u[n][t]}))}},{key:"setDefaults",value:function(n){var i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:r.identity,t;for(t in n)this.get(t,n[t],i)}},{key:"clear",value:function(n){var t,i,u;typeof n!="string"&&(n=this.ctx.pathname());t=r.normalizePath(this.ctx.config.depth+n);for(i in f[t])u=f[t][i],this.get(i)(u.defaultVal)}},{key:"reload",value:function(){var i=arguments.length>0&&arguments[0]!==undefined?arguments[0]:!1,n=arguments.length>1&&arguments[1]!==undefined?arguments[1]:r.normalizePath(this.ctx.config.depth+this.ctx.pathname()),t;if(!this.ctx.config.persistQuery||i){for(t in u[n])f[n]&&f[n][t]&&f[n][t].value.dispose();delete u[n];delete f[n]}e(!e())}},{key:"dispose",value:function(){for(var n in u)n.indexOf(this.ctx.config.depth)===0&&this.reload(!0,n)}},{key:"update",value:function(){var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{},i=arguments.length>1&&arguments[1]!==undefined?arguments[1]:this.ctx.pathname(),t=r.normalizePath(this.ctx.config.depth+i);r.deepEquals(u[t],n)||(r.merge(u,s({},t,n),!1),e(!e()))}},{key:"updateFromString",value:function(n,t){if(t){var i=r.normalizePath(this.ctx.config.depth+t);r.merge(u,s({},i,this.parse(n)[i]),!1)}else r.merge(u,this.parse(n),!1);e(!e())}},{key:"getNonDefaultParams",value:function(n,t){var o={},e=u,i,h;n&&r.merge(e,s({},r.normalizePath(this.ctx.config.depth+t),n),!1);for(i in e)if(f[i]){o[i]={};for(h in e[i]){var c=e[i][h],l=f[i][h],a=l&&l.defaultVal;r.isUndefined(c)||r.deepEquals(c,a)||(o[i][h]=c)}}else o[i]=e[i];return o}},{key:"getFullQueryString",value:function(n,t){return this.stringify(this.getNonDefaultParams(n,t))}},{key:"parse",value:function(n){var t=o.default.router.config.queryParser;return t(n)}},{key:"stringify",value:function(n){var t=o.default.router.config.queryStringifier;return t(n)}}]),n}()},function(n,t,i){"use strict";function p(n){return n&&n.__esModule?n:{"default":n}}function w(n){return Array.isArray(n)?n:Array.from(n)}function v(n){for(var u=arguments.length,t=Array(u>1?u-1:0),i=1;i<u;i++)t[i-1]=arguments[i];return new Promise(function(i){var u;if(n.length===0)return i(!0);var o=w(n),f=o[0],s=o.slice(1),e=function(){var n=arguments.length>0&&arguments[0]!==undefined?arguments[0]:!0;return n?v.apply(undefined,[s].concat(t)).then(i):i(!1)};f.length===t.length+1?f.apply(undefined,t.concat([e])):(u=f.apply(undefined,t),r(u)||typeof u.then!="function"?e(u):u.then(e))})}function b(n){return h(n)?n.slice(0):s(n)?f({},n,!1):n}function k(n){return typeof n!="string"?n:decodeURIComponent(n.replace(/\+/g," "))}function o(n,t){var f,a,i,p,h,u,d,g;if(n===null||t===null)return n===null&&t===null;if((typeof n=="undefined"?"undefined":e(n))!==(typeof t=="undefined"?"undefined":e(t)))return!1;if(r(n))return r(t);if(l(n)&&l(t))return n===t;if(n.constructor===Object&&t.constructor===Object){if(f=Object.keys(n),a=Object.keys(t),f.length!==a.length)return!1;var s=!0,v=!1,y=undefined;try{for(i=f[Symbol.iterator]();!(s=(p=i.next()).done);s=!0)if(h=p.value,!o(n[h],t[h]))return!1}catch(w){v=!0;y=w}finally{try{!s&&i.return&&i.return()}finally{if(v)throw y;}}return!0}if(Array.isArray(n)&&Array.isArray(t)){if(n.length!==t.length)return!1;var c=!0,b=!1,k=undefined;try{for(u=n[Symbol.iterator]();!(c=(d=u.next()).done);c=!0)if(g=d.value,t.indexOf(g)<0)return!1}catch(w){b=!0;k=w}finally{try{!c&&u.return&&u.return()}finally{if(b)throw k;}}return!0}return n===t}function f(n,t){var a=arguments.length>2&&arguments[2]!==undefined?arguments[2]:!0,w=arguments.length>3&&arguments[3]!==undefined?arguments[3]:!0,b=Object.keys(t),l=!0,v=!1,y=undefined,e,p,i;try{for(e=b[Symbol.iterator]();!(l=(p=e.next()).done);l=!0)i=p.value,r(n[i])?n[i]=a?c(t[i]):t[i]:u.default.isWritableObservable(n[i])?o(n[i](),t[i])||n[i](t[i]):r(t[i])?n[i]=undefined:s(t[i])?(w&&(n[i]={}),f(n[i],t[i],a)):n[i]=h(t[i])?t[i].slice(0):t[i]}catch(k){v=!0;y=k}finally{try{!l&&e.return&&e.return()}finally{if(v)throw y;}}return n}function d(n){return n}function r(n){return typeof n=="undefined"}function y(n){return typeof n=="function"}function s(n){return n.constructor===Object}function h(n){return y(n.splice)}function g(n,t){var i={};return Object.keys(n).forEach(function(n){return i[n]=t(n)}),i}function nt(n,t){var i=arguments.length>2&&arguments[2]!==undefined?arguments[2]:!0;f(n,t,i,!1)}function tt(n){return n.length===0?"/":(n[0]!=="/"&&(n="".concat("/",n)),n[n.length-1]==="/"&&(n=n.substr(0,n.length-1)),n)}function c(n,t){var i=void 0,r,f;if(l(n))i=t?n:u.default.observable(n);else if(n instanceof Array){for(i=[],r=0;r<n.length;r++)i[r]=c(n[r],!0);i=u.default.observableArray(i)}else if(n.constructor===Object){i={};for(f in n)i[f]=c(n[f])}return i}function l(n){return n===null||n===undefined||n.constructor===String||n.constructor===Number||n.constructor===Boolean||n instanceof Date}var e,a,u;Object.defineProperty(t,"__esModule",{value:!0});e=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n};t.cascade=v;t.clone=b;t.decodeURLEncodedURIComponent=k;t.deepEquals=o;t.extend=f;t.identity=d;t.isUndefined=r;t.isFunction=y;t.isPlainObject=s;t.isArray=h;t.mapKeys=g;t.merge=nt;t.normalizePath=tt;a=i(1);u=p(a)},function(n,t,i){"use strict";function e(n){return n&&n.__esModule?n:{"default":n}}function o(n){var i=u.default.observable(!1),t=u.default.pureComputed({read:function(){var t=r.normalizePath(n.config.depth+n.pathname());return i(),history.state?history.state[t]:{}},write:function(t){if(t=u.default.toJS(t),t){var f=history.state||{},e=r.normalizePath(n.config.depth+n.pathname());r.deepEquals(t,history.state?history.state[e]:{})||(f[e]&&delete f[e],f[e]=t,history.replaceState(f,document.title),i(!i()))}}}),f=t.dispose;return t.reload=function(){var u=arguments.length>0&&arguments[0]!==undefined?arguments[0]:!1,t=arguments.length>1&&arguments[1]!==undefined?arguments[1]:r.normalizePath(n.config.depth+n.pathname()),i;(!n.config.persistState||u)&&history.state&&history.state[t]&&(i=history.state,delete i[t])},t.dispose=function(){for(var i in history.state)i.indexOf(n.config.depth)===0&&t.reload(!0,i);f.apply(t,arguments)},t}Object.defineProperty(t,"__esModule",{value:!0});t.factory=o;var f=i(1),u=e(f),r=i(9)},function(n,t,i){"use strict";function h(n){return n&&n.__esModule?n:{"default":n}}function c(n,t){if(!(n instanceof t))throw new TypeError("Cannot call a class as a function");}var u;Object.defineProperty(t,"__esModule",{value:!0});var f=function(){function n(n,t){var r=[],u=!0,f=!1,e=undefined,i,o;try{for(i=n[Symbol.iterator]();!(u=(o=i.next()).done);u=!0)if(r.push(o.value),t&&r.length===t)break}catch(s){f=!0;e=s}finally{try{!u&&i["return"]&&i["return"]()}finally{if(f)throw e;}}return r}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return n(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance");}}(),e=function(){function n(n,t){for(var i,r=0;r<t.length;r++)i=t[r],i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(n,i.key,i)}return function(t,i,r){return i&&n(t.prototype,i),r&&n(t,r),t}}(),o=i(12),s=h(o),r=i(9);u=function(){function n(t,i){c(this,n);t=t[t.length-1]==="!"?t.replace("!",":child_path(.*)?"):t.replace(/\(?\*\)?/,"(.*)");typeof i=="string"?(this.component=i,this.pipeline=[]):typeof i[i.length-1]=="string"?(this.component=i.pop(),this.pipeline=i):this.pipeline=i;this._keys=[];this._regexp=s.default(t,this._keys)}return e(n,[{key:"matches",value:function(n){var t=n.indexOf("?");return~t&&(n=n.split("?")[0]),this._regexp.exec(decodeURIComponent(n))}},{key:"parse",value:function(n){var e=void 0,c="",s={},y=n.indexOf("#"),h,i,v,o,u;~y&&(h=n.split("#"),n=h[0],c=r.decodeURLEncodedURIComponent(h[1]));var p=n.indexOf("?"),w=~p?n.split("?"):[n],l=f(w,2),t=l[0],b=l[1],a=this._regexp.exec(decodeURIComponent(t));for(i=1,v=a.length;i<v;++i)o=this._keys[i-1],u=r.decodeURLEncodedURIComponent(a[i]),(r.isUndefined(u)||!hasOwnProperty.call(s,o.name))&&(o.name==="child_path"?r.isUndefined(u)||(e="/"+u,n=n.substring(0,n.lastIndexOf(e)),t=t.substring(0,t.lastIndexOf(e))):s[o.name]=u);return[n,s,c,t,b,e]}},{key:"runPipeline",value:function(n){return r.cascade(this.pipeline,n)}}]),n}();t.default=u},function(n,t,i){function u(n,t){for(var e=[],b=0,u=0,r="",k=t&&t.delimiter||"/",i;(i=o.exec(n))!=null;){var d=i[0],c=i[1],l=i.index;if(r+=n.slice(u,l),u=l+d.length,c){r+=c[1];continue}var a=n[u],h=i[2],g=i[3],nt=i[4],tt=i[5],s=i[6],v=i[7];r&&(e.push(r),r="");var it=h!=null&&a!=null&&a!==h,rt=s==="+"||s==="*",ut=s==="?"||s==="*",y=i[2]||k,w=nt||tt;e.push({name:g||b++,prefix:h||"",delimiter:y,optional:ut,repeat:rt,partial:it,asterisk:!!v,pattern:w?p(w):v?".*":"[^"+f(y)+"]+?"})}return u<n.length&&(r+=n.substr(u)),r&&e.push(r),e}function a(n,t){return s(u(n,t))}function v(n){return encodeURI(n).replace(/[\/?#]/g,function(n){return"%"+n.charCodeAt(0).toString(16).toUpperCase()})}function y(n){return encodeURI(n).replace(/[?#]/g,function(n){return"%"+n.charCodeAt(0).toString(16).toUpperCase()})}function s(n){for(var i=new Array(n.length),t=0;t<n.length;t++)typeof n[t]=="object"&&(i[t]=new RegExp("^(?:"+n[t].pattern+")$"));return function(t,u){for(var h="",a=t||{},p=u||{},l=p.pretty?v:encodeURIComponent,f,e,o,c,s=0;s<n.length;s++){if(f=n[s],typeof f=="string"){h+=f;continue}if(e=a[f.name],e==null)if(f.optional){f.partial&&(h+=f.prefix);continue}else throw new TypeError('Expected "'+f.name+'" to be defined');if(r(e)){if(!f.repeat)throw new TypeError('Expected "'+f.name+'" to not repeat, but received `'+JSON.stringify(e)+"`");if(e.length===0)if(f.optional)continue;else throw new TypeError('Expected "'+f.name+'" to not be empty');for(c=0;c<e.length;c++){if(o=l(e[c]),!i[s].test(o))throw new TypeError('Expected all "'+f.name+'" to match "'+f.pattern+'", but received `'+JSON.stringify(o)+"`");h+=(c===0?f.prefix:f.delimiter)+o}continue}if(o=f.asterisk?y(e):l(e),!i[s].test(o))throw new TypeError('Expected "'+f.name+'" to match "'+f.pattern+'", but received "'+o+'"');h+=f.prefix+o}return h}}function f(n){return n.replace(/([.+*?=^!:${}()[\]|\/\\])/g,"\\$1")}function p(n){return n.replace(/([=!:$\/()])/g,"\\$1")}function e(n,t){return n.keys=t,n}function h(n){return n.sensitive?"":"i"}function w(n,t){var r=n.source.match(/\((?!\?)/g),i;if(r)for(i=0;i<r.length;i++)t.push({name:i,prefix:null,delimiter:null,optional:!1,repeat:!1,partial:!1,asterisk:!1,pattern:null});return e(n,t)}function b(n,t,i){for(var u=[],f,r=0;r<n.length;r++)u.push(l(n[r],t,i).source);return f=new RegExp("(?:"+u.join("|")+")",h(i)),e(f,t)}function k(n,t,i){return c(u(n,i),t,i)}function c(n,t,i){var l,u,c,o;r(t)||(i=t||i,t=[]);i=i||{};var a=i.strict,p=i.end!==!1,s="",v=n[n.length-1],y=typeof v=="string"&&/\/$/.test(v);for(l=0;l<n.length;l++)u=n[l],typeof u=="string"?s+=f(u):(c=f(u.prefix),o="(?:"+u.pattern+")",t.push(u),u.repeat&&(o+="(?:"+c+o+")*"),o=u.optional?u.partial?c+"("+o+")?":"(?:"+c+"("+o+"))?":c+"("+o+")",s+=o);return a||(s=(y?s.slice(0,-2):s)+"(?:\\/(?=$))?"),s+=p?"$":a&&y?"":"(?=\\/|$)",e(new RegExp("^"+s,h(i)),t)}function l(n,t,i){return(r(t)||(i=t||i,t=[]),i=i||{},n instanceof RegExp)?w(n,t):r(n)?b(n,t,i):k(n,t,i)}var r=i(13),o;n.exports=l;n.exports.parse=u;n.exports.compile=a;n.exports.tokensToFunction=s;n.exports.tokensToRegExp=c;o=new RegExp("(\\\\.)|([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))","g")},function(n){n.exports=Array.isArray||function(n){return Object.prototype.toString.call(n)=="[object Array]"}},function(n,t,i){"use strict";function h(n){return n&&n.__esModule?n:{"default":n}}function f(n,t,i){for(var h=o(n,t),s=u(h,2),f=s[0],e=s[1],c=i?"?"+y.default.stringify(r.default.toJS(i)):"";f.$parent;)e=f.config.base+e,f=f.$parent;return f?f.config.base+(!f.config.hashbang||f.$parent?"":"/#!")+e+c:"#"}function e(n,t,i){var e=t.has("path")?t.get("path"):!1,h=t.has("query")?t.get("query"):!1,l=t.has("state")?t.get("state"):!1,s={};n.href="#";s.click=function(t,f){var v=1!==w(f),y=n.hasAttribute("target"),p=n.getAttribute("rel")==="external",b=f.metaKey||f.ctrlKey||f.shiftKey;if(v||y||p||b)return!0;var k=o(i,e),s=u(k,2),c=s[0],d=s[1],a=c._update(d,r.default.toJS(l),!0,r.default.toJS(h),!0);return a?(f.preventDefault(),f.stopImmediatePropagation()):c.$parent||console.error("[ko-component-router] "+e+" did not match any routes!"),!a};s.attr={href:r.default.pureComputed(function(){return f(i,t.get("path"),h)})};e&&(s.css={"active-path":r.default.pureComputed(function(){return c(i,e)})});r.default.tasks.schedule(function(){return r.default.applyBindingsToNode(n,s)})}function c(n,t){var e=o(n,t),f=u(e,2),i=f[0],r=f[1];if(l(i,r)){while(i.$child)if(i=i.$child,r=r.replace(i.config.base,"")||"/",!l(i,r))return!1;return!0}return i.$parent?c(i.bindingCtx.$parentContext,r):!1}function o(n,t){var i=p(n),u=t?r.default.unwrap(t):i.canonicalPath();if(u.indexOf("//")===0)for(u=u.replace("//","/");i.$parent;)i=i.$parent;else while(u&&u.match(/\/?\.\./i)&&i.$parent)i=i.$parent,u=u.replace(/\/?\.\./i,"");return[i,u]}function p(n){while(!s.isUndefined(n)){if(!s.isUndefined(n.$router))return n.$router;n=n.$parentContext}}function l(n,t){return(n.pathname()||"/")==="/"+t.split("/")[1]}function w(n){return n=n||window.event,null===n.which?n.button:n.which}var u;Object.defineProperty(t,"__esModule",{value:!0});u=function(){function n(n,t){var r=[],u=!0,f=!1,e=undefined,i,o;try{for(i=n[Symbol.iterator]();!(u=(o=i.next()).done);u=!0)if(r.push(o.value),t&&r.length===t)break}catch(s){f=!0;e=s}finally{try{!u&&i["return"]&&i["return"]()}finally{if(f)throw e;}}return r}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return n(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance");}}();t.resolveHref=f;var a=i(1),r=h(a),v=i(3),y=h(v),s=i(9);r.default.bindingHandlers.path={init:function(n,t,i,r,u){e.call(this,n,i,u)}};r.default.bindingHandlers.state={init:function(n,t,i,r,u){e.call(this,n,i,u)}};r.default.bindingHandlers.query={init:function(n,t,i,r,u){e.call(this,n,i,u)}};r.default.bindingHandlers.path.utils={resolveHref:f}}])}),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.postbox={})}(function(n,t,i){var u,e,r={},f=1;t.subscriptions=r;n.subscribable.call(t);t.topicCache={};t.serializer=n.toJSON;t.publish=function(n,i){n&&(t.topicCache[n]={value:i,serialized:t.serializer(i)},t.notifySubscribers(i,n))};e=t.subscribe;t.subscribe=function(n,u,o,s){var h,c,l;if(n)return typeof o=="boolean"&&(s=o,o=i),h=e.call(t,u,o,n),h.subId=++f,r[f]=h,s&&(c=t.topicCache[n],c!==i&&u.call(o,c.value)),l=h.dispose,h.dispose=function(){delete r[h.subId];l.call(h)},h};t.reset=function(){var n,i;for(i in r)r.hasOwnProperty(i)&&(n=r[i],n&&typeof n.dispose=="function"&&n.dispose());t.topicCache={}};t.defaultComparer=function(n,i){return i&&t.serializer(n)===i.serialized};n.subscribable.fn.publishOn=function(n,i,e){var s,o,h;return n&&(typeof i=="function"?e=i:s=i,e=e||t.defaultComparer,u.call(this,n,"publishOn"),o=this.subscribe(function(i){e.call(this,i,t.topicCache[n])||t.publish(n,i)},this),o.id=++f,r[f]=o,h=o.dispose,o.dispose=function(){delete this.postboxSubs[n].publishOn;delete r[o.id];h.call(o)}.bind(this),this.postboxSubs[n].publishOn=o,s||t.publish(n,this())),this};u=function(n,t){var i=this.postboxSubs=this.postboxSubs||{};i[n]=i[n]||{};i[n][t]&&i[n][t].dispose()};n.subscribable.fn.stopPublishingOn=function(n){return u.call(this,n,"publishOn"),this};n.subscribable.fn.subscribeTo=function(r,f,e){var c,s,h,o,l,a=this;return typeof f=="function"?e=f:c=f,r&&n.isWriteableObservable(this)&&(u.call(this,r,"subscribeTo"),h=function(n){a(e?e.call(a,n):n)},o=t.subscribe(r,h),this.postboxSubs[r].subscribeTo=o,l=o.dispose,o.dispose=function(){delete this.postboxSubs[r].subscribeTo;l.call(o)}.bind(this),c&&(s=t.topicCache[r],s!==i&&h(s.value))),this};n.subscribable.fn.unsubscribeFrom=function(n){return u.call(this,n,"subscribeTo"),this};n.subscribable.fn.syncWith=function(n,t,i,r){return this.subscribeTo(n,t).publishOn(n,i,r),this};n.postbox=t});ko.bindingHandlers.fadeVisible={init:function(n){$(n).hide()},update:function(n,t){var i=ko.unwrap(t());i?$(n).fadeIn():$(n).fadeOut()}};ko.bindingHandlers.slideVisible={update:function(n,t){var i=ko.unwrap(t());i?$(n).slideDown("slow"):$(n).slideUp("slow")}};ko.bindingHandlers.hideWhenClicked={init:function(n){$(n).click(function(){$(n).hide()})}};ko.bindingHandlers.trueWhileHovering={init:function(n,t){var i=t();ko.utils.registerEventHandler($(n),"mouseover",function(){i(!0)});ko.utils.registerEventHandler($(n),"mouseout",function(){i(!1)})}};ko.bindingHandlers.placeholder={init:function(n,t){var i=t();ko.applyBindingsToNode(n,{attr:{placeholder:i}})}};ko.bindingHandlers.currency={symbol:ko.observable("$"),update:function(n,t,i){return ko.bindingHandlers.text.update(n,function(){var n=+(ko.utils.unwrapObservable(t())||0),r=ko.utils.unwrapObservable(i().symbol?i().symbol:ko.bindingHandlers.currency.symbol);return r+n.toFixed(2).replace(/(\d)(?=(\d{3})+\.)/g,"$1,")})}};ko.bindingHandlers.showBriefly={init:function(n,t){var i=ko.unwrap(t());$(n).toggle(i)},update:function(n,t){var i=ko.unwrap(t());i&&($(n).fadeIn().delay(3e3).fadeOut(),setTimeout(function(){var n=t();n(!1)},3e3))}};ko.bindingHandlers.popover={init:function(n,t){var r=ko.unwrap(t()),i=$(n);i.attr("href","#");i.attr("role","button");i.attr("data-toggle","popover");i.attr("data-content",r);i.popover()},update:function(n,t){var i=ko.unwrap(t()),r=$(n);r.attr("data-content",i)}};ko.bindingHandlers.popover={init:function(n,t){var r=ko.unwrap(t()),i=$(n);i.attr("href","#");i.attr("role","button");i.attr("data-toggle","popover");i.attr("tabindex","0");i.attr("data-trigger","focus");i.attr("data-content",r);i.popover()},update:function(n,t){var i=ko.unwrap(t()),r=$(n);r.attr("data-content",i)}};ko.bindingHandlers.loadablePopover={init:function(n,t){var r=ko.unwrap(t()),i=$(n),u=function(){if(r.Loading())i.attr("data-content",'<div class="signal"><\/div>');else{var n=r.Value();i.attr("data-content",n);i.data("bs.popover").tip().find(".popover-content").html(n)}};i.attr("href","#");i.attr("role","button");i.attr("data-toggle","popover");i.attr("data-html","true");i.popover();u();r.Loading.subscribe(function(){u()});i.data("bs.popover").erLoaded=!1;i.on("show.bs.popover",function(){i.data("bs.popover").erLoaded||(r.Load(),i.data("bs.popover").erLoaded=!0)})}};ko.bindingHandlers.clickUnlessDragged={init:function(n,t,i,r){var u=$(n),h=ko.utils.unwrapObservable(t()),f,e,o,s;f=function(n){var t=Math.abs(n.pageX-o),i=Math.abs(n.pageY-s);t<5&&i<5&&h.call(r,r,n)};e=function(n){o=n.pageX;s=n.pageY};u.on("mouseup",f);u.on("mousedown",e);ko.utils.domNodeDisposal.addDisposeCallback(n,function(){u.off("mouseup",f);u.off("mousedown",e)})}};ko.bindingHandlers.flash={update:function(n,t){ko.utils.unwrapObservable(t());$(n).hide().fadeIn(500)}};ko.bindingHandlers.fadeInText={update:function(n,t){$(n).hide();ko.bindingHandlers.text.update(n,t);$(n).fadeIn()}};ko.bindingHandlers.init={init:function(n,t){var i=ko.unwrap(t());i.call()}};ko.bindingHandlers.href={update:function(n,t){var i=ko.unwrap(t());i&&$(n).attr("href",i)}};ko.bindingHandlers.hrefNewWindow={update:function(n,t){var i=ko.unwrap(t());i&&($(n).attr("href",i),$(n).attr("target","_blank"),$(n).click(function(n){console.log("on the handler");n.stopPropagation()}))}};ko.bindingHandlers.htmlWithActiveLinks={update:function(n,t){var i=ko.unwrap(t());i&&($(n).html(i),$(n).click(function(n){console.log("on the handler");n.stopPropagation()}))}};ko.bindingHandlers.textDaysOfWeek={update:function(n,t){var r=ko.unwrap(t()),u,i;r&&(u=r.split(",").sort(),i=[],$.each(u,function(n,t){var r=moment().day(t);i.push(r.format("dddd"))}),$(n).html(i.join(", ")))}};ko.bindingHandlers.clickWithParams={init:function(n,t,i,r){var u=t(),f=i().params,e=function(){return function(){u.apply(r,f)}};ko.bindingHandlers.click.init(n,e,i,r)}};ko.bindingHandlers.datepicker={init:function(n,t,i){var r=i().datepickerOptions||{};$(n).datepicker(r);ko.utils.registerEventHandler(n,"change",function(){var u=t(),i=moment.utc($(n).datepicker("getUTCDate"));r.useLocalDates&&(i=moment($(n).datepicker("getDate")));i!="Invalid Date"&&u(i)});ko.utils.domNodeDisposal.addDisposeCallback(n,function(){$(n).datepicker("destroy")})},update:function(n,t,i){var r=ko.utils.unwrapObservable(t()),e=i().datepickerOptions||{},u,f;r&&(e.useLocalDates?(u=moment(r).toDate(),$(n).datepicker("setDate",u)):(f=moment.utc(r).toDate(),$(n).datepicker("setUTCDate",f)))}};ko.bindingHandlers.executeOnEnter={init:function(n,t,i,r){var u=i();$(n).keypress(function(n){var t=n.which?n.which:n.keyCode;return t===13?(u.executeOnEnter.call(r),!1):!0})}};ko.bindingHandlers.blurOnEnter={init:function(n){$(n).keypress(function(t){var i=t.which?t.which:t.keyCode;return i===13?($(n).blur(),!1):!0})}};ko.bindingHandlers.currency={defaultSymbol:"$",update:function(n,t,i){var r=ko.unwrap(t()),u=r?+r:0,f=i().currencySymbol?ko.unwrap(i().currencySymbol):ko.bindingHandlers.currency.defaultSymbol;$(n).html(f+u.toFixed(2))}};ko.bindingHandlers.flash={update:function(n){$(n).hide().fadeIn(500)}};ko.bindingHandlers.selected={update:function(n,t){var i=ko.utils.unwrapObservable(t());i&&n.select()}};ko.bindingHandlers.hasSelectedFocus={init:function(n,t,i,r,u){ko.bindingHandlers.hasfocus.init(n,t,i,r,u)},update:function(n,t,i,r,u){ko.bindingHandlers.hasfocus.update(n,t,i,r,u);var f=ko.utils.unwrapObservable(t());f&&n.select()}};ko.bindingHandlers.drag={init:function(n,t,i){var r=i().disableDrag,u;r&&r()||($(n).data["ui-draggable"]=t(),u=ko.utils.extend(ko.bindingHandlers.drag.options,i().dragOptions),$(n).draggable(u))},options:{helper:"clone"}};ko.bindingHandlers.drop={init:function(n,t,i,r){var f=ko.utils.unwrapObservable(t()),u=ko.utils.extend(ko.bindingHandlers.drop.options,i().dropOptions);u.drop=function(n,t){var i=ko.dataFor(t.draggable[0]);f.call(r,i)};$(n).droppable(u)},options:{tolerance:"pointer",classes:{"ui-droppable":"DropTargetHighlight"},hoverClass:"DropTargetHighlight"}};ko.bindingHandlers.stopBinding={init:function(){return{controlsDescendantBindings:!0}}};ko.bindingHandlers.dropFiles={init:function(n,t){n.addEventListener("dragenter",function(n){return n.preventDefault(),!1},!1);n.addEventListener("dragover",function(n){return n.preventDefault(),!1},!1);n.addEventListener("drop",function(n){if(n.preventDefault(),n.dataTransfer&&n.dataTransfer.files&&n.dataTransfer.files.length){var i=t();i(n.dataTransfer.files)}},!1)}};ko.bindingHandlers.scroll={updating:!0,init:function(n){var t=this;t.updating=!0;ko.utils.domNodeDisposal.addDisposeCallback(n,function(){$(window).off("scroll.ko.scrollHandler");t.updating=!1})},update:function(n,t,i){var u=i().scrollOptions,f=u.offset?u.offset:"0",e=u.loadFunc,o=ko.utils.unwrapObservable(t()),r=this;if(o){n.style.display="";$(window).on("scroll.ko.scrollHandler",function(){$(document).height()-f<=$(window).height()+$(window).scrollTop()?r.updating&&(e(),r.updating=!1):r.updating=!0})}else n.style.display="none",$(window).off("scroll.ko.scrollHandler"),r.updating=!1}};ko.bindingHandlers.numeric={init:function(n){$(n).on("keydown",function(n){n.keyCode==46||n.keyCode==8||n.keyCode==9||n.keyCode==27||n.keyCode==13||n.keyCode==65&&n.ctrlKey===!0||n.keyCode==188||n.keyCode==190||n.keyCode==110||n.keyCode>=35&&n.keyCode<=39||(n.shiftKey||(n.keyCode<48||n.keyCode>57)&&(n.keyCode<96||n.keyCode>105))&&n.preventDefault()})}};ko.bindingHandlers.dotdotdot={init:function(n,t){var r=ko.utils.unwrapObservable(t()),i=document.createElement("span");$(i).html(r);$(n).append(i);$(n).dotdotdot()},update:function(n){$(n).dotdotdot()}};ko.bindingHandlers.abbreviate={update:function(n,t){var i=ko.utils.unwrapObservable(t()),r=i.match(/\b([A-Z])/g).join("");$(n).html(r)}};ko.bindingHandlers.ddSlickOptions={init:function(n,t,i){var e=ko.unwrap(t()),r=i().optionsValue?i().optionsValue:"value",o=i().selectionChanged,u=i()[r],s=0,h,f;if(u)for(h=u(),f=0;f<e.length;f++)if(e[f][r]==h[r]){s=f;break}$(n).ddslick({data:e,width:"100%",truncateDescription:!0,defaultSelectedIndex:s,onSelected:function(n){var i=u()[r],t;u&&u(n.selectedData);t=n.selectedData[r];o&&i!=t&&o(n.selectedData)}})}};ko.bindingHandlers.iFrameLoad={init:function(n,t){var r=ko.utils.unwrapObservable(t()),i=n.onload;n.onload=function(){r.call();i&&i.call()}}};ko.bindingHandlers.iFrameResizeOnLoad={init:function(n,t){var r=ko.utils.unwrapObservable(t()),i;r&&(i=n.onload,n.onload=function(){var r=n,t,u;r.contentWindow&&r.contentWindow.document&&(t=r.contentWindow.document,u=Math.max(Math.max(t.body?t.body.scrollHeight:0,t.documentElement?t.documentElement.scrollHeight:0),Math.max(t.body?t.body.offsetHeight:0,t.documentElement?t.documentElement.offsetHeight:0),Math.max(t.body?t.body.clientHeight:0,t.documentElement?t.documentElement.clientHeight:0)),r.height=u+20+"px");i&&i.call()})}};ko.bindingHandlers.iFrameContent={init:function(n,t){var i=ko.utils.unwrapObservable(t());i&&(n.src="data:text/html;charset=utf-8,<html><head><\/head><body><h1>Hi!<\/h1><\/body><\/html>"+escape(i))},update:function(n,t){var i=ko.utils.unwrapObservable(t());n.src="data:text/html;charset=utf-8,"+escape(i)}};ko.bindingHandlers.rangeSlider={init:function(n,t,i){var f=i().sliderOptions||{},r=t(),u=function(){var t=[r.lowerValue(),r.upperValue()];$(n).slider("setValue",t)};f.formatter=function(n){return"Current value: "+n};$(n).slider(f);u();$(n).on("slide",function(n){r.lowerValue(n.value[0]);r.upperValue(n.value[1])});ko.utils.domNodeDisposal.addDisposeCallback(n,function(){$(n).slider("destroy")});r.lowerValue.subscribe(u);r.upperValue.subscribe(u)}};ko.onDemandObservable=function(n,t){var r=ko.observable(),i=ko.computed({read:function(){return i.loaded()||n.call(t),r()},write:function(n){i.loaded(!0);r(n)},deferEvaluation:!0});return i.loaded=ko.observable(),i.refresh=function(){i.loaded(!1)},i};ko.bindingHandlers.fullCalendar={init:function(n,t){var i=ko.unwrap(t()),u="H:mm",f="h(:mm)a",r={height:"auto",header:!1,defaultView:"agendaWeek",axisFormat:f,timeFormat:f,columnFormat:{month:"ddd",week:"ddd D MMM",day:"dddd D MMM"},titleFormat:{month:"MMMM YYYY",week:"D MMMM YYYY",day:"dddd D MMMM YYYY"},allDaySlot:!1,slotDuration:"00:15:00",snapDuration:"00:05:00",minTime:"08:00:00",maxTime:"20:00:00",editable:!0,selectable:!0,selectHelper:!0,lang:"en"};i.lang&&i.lang()&&(r.lang=i.lang());i.hiddenDays&&i.hiddenDays()&&(r.hiddenDays=i.hiddenDays());i.firstDayOfWeek&&i.firstDayOfWeek()&&(r.firstDay=i.firstDayOfWeek());i.minTime&&i.minTime()&&(r.minTime=i.minTime());i.maxTime&&i.maxTime()&&(r.maxTime=i.maxTime());i.use24HourTime&&i.use24HourTime()&&(r.axisFormat=u,r.timeFormat=u);i.minTime.subscribe(function(t){$(n).fullCalendar("option","minTime",t)});i.maxTime.subscribe(function(t){$(n).fullCalendar("option","maxTime",t)});i.use24HourTime.subscribe(function(t){t?($(n).fullCalendar("option","axisFormat",u),$(n).fullCalendar("option","timeFormat",u)):($(n).fullCalendar("option","axisFormat",f),$(n).fullCalendar("option","timeFormat",f))});r.select=i.select;r.eventClick=i.eventClick;r.eventDrop=i.eventDrop;r.eventResize=i.eventResize;r.viewRender=i.viewChange;r.eventRender=function(n,t){n.description!=null&&n.description!=""&&t.find(".fc-content").append('<div class="fc-description">'+n.description+"<\/div>")};$(n).on("click",".fc-day-header",function(n){var u=n.target||n.srcElement,f,t;u&&(f=u.innerHTML,t=moment(f,r.columnFormat.week),t.isValid()&&i.dayClick&&i.dayClick(t))});r.events=i.loadEvents;$(n).fullCalendar(r)}};ko.bindingHandlers.dateTimePicker={init:function(n,t,i){var e=ko.unwrap(t()),o={useSeconds:!1,minuteStepping:5,showToday:!0,useCurrent:!1,sideBySide:!1,defaultDate:e,timezone:"UTC123",format:"ddd MMM Do YYYY h:mm A"},f,r,u;$(n).datetimepicker(o);f=t();$(n).on("dp.change",function(n){f(moment(n.date))});r=i();r.dateTimePickerMaxDate&&(u=r.dateTimePickerMaxDate,u.subscribe(function(t){$(n).data("DateTimePicker").setMaxDate(t)}));r.dateTimePickerMinDate&&(u=r.dateTimePickerMinDate,u.subscribe(function(t){$(n).data("DateTimePicker").setMinDate(t)}))},update:function(n,t){var i=ko.unwrap(t());$(n).data("DateTimePicker").setDate(i)}};ko.bindingHandlers.datePicker={init:function(n,t,i){var o=ko.unwrap(t()),r=i(),f={showToday:!0,pickTime:!1,defaultDate:o,format:"ddd MMM Do YYYY",hideTime:!0},u,e;r.daysOfWeekDisabled&&(f.daysOfWeekDisabled=r.daysOfWeekDisabled);r.dateTimePickerMaxDate&&(u=ko.unwrap(r.dateTimePickerMaxDate),f.maxDate=moment(u).toDate());r.dateTimePickerMinDate&&(u=ko.unwrap(r.dateTimePickerMinDate),f.minDate=u);$(n).datetimepicker(f);e=t();$(n).on("dp.change",function(n){e(n.date)});$(n).children("input").on("click",function(){$(n).data("DateTimePicker")&&$(n).data("DateTimePicker").show()});r.dateTimePickerMinDate&&ko.isObservable(r.dateTimePickerMinDate)&&r.dateTimePickerMinDate.subscribe(function(t){$(n).data("DateTimePicker")&&$(n).data("DateTimePicker").setMinDate(t)});r.dateTimePickerMaxDate&&ko.isObservable(r.dateTimePickerMaxDate)&&r.dateTimePickerMaxDate.subscribe(function(t){$(n).data("DateTimePicker")&&$(n).data("DateTimePicker").setMaxDate(t)})},update:function(n,t){var i=ko.unwrap(t());$(n).data("DateTimePicker").setDate(i)}};ko.bindingHandlers.retiredtimepicker={init:function(n,t,i){var f=ko.unwrap(t()),e={useSeconds:!1,minuteStepping:5,showToday:!0,useCurrent:!1,sideBySide:!1,pickDate:!1,pickTime:!0,defaultDate:f,timezone:"UTC123",format:"h:mm A"},r=i(),u;$(n).datetimepicker(e);u=t();$(n).on("dp.change",function(n){var t=n.date;if(r.minHour&&r.maxHour){var i=ko.unwrap(r.minHour),f=ko.unwrap(r.maxHour),e=ko.unwrap(r.minMinute||0),o=ko.unwrap(r.maxMinute||0);t.hour()<i&&t.hour(i);t.hour()===i&&t.minute()<e&&t.minute(e);t.hour()>f&&t.hour(f);t.hour()===f&&t.minute()>o&&t.minute(o)}u(moment(t))});$(n).children("input").on("click",function(){$(n).data("DateTimePicker").show()})},update:function(n,t){var i=ko.unwrap(t());$(n).data("DateTimePicker").setDate(i)}};ko.bindingHandlers.timePicker={init:function(n,t,i){var f=ko.unwrap(t()),u={defaultDate:f,format:"h:mm A",use24hours:!1,strictBounds:!1},r=i(),e;if(r.minHour&&r.maxHour){var o=ko.unwrap(r.minHour),s=ko.unwrap(r.maxHour),h=ko.unwrap(r.minMinute||0),c=ko.unwrap(r.maxMinute||60);u.minHour=o;u.maxHour=s;u.minMinute=h;u.maxMinute=c}r.strictBounds&&(u.strictBounds=!0);r.use24Hours&&(u.use24hours=!0,u.format="H:mm");$(n).timepicker(u);e=t();$(n).on("tp.change",function(n){var i=moment(n.date),t;i&&(t=f?f.clone():moment(),t.hours(i.hours()),t.minutes(i.minutes()),t.seconds(0),e(t))});r.maxTime&&ko.isObservable(r.maxTime)&&r.maxTime.subscribe($(n).data("TimePicker").setMaxTime);r.minTime&&ko.isObservable(r.minTime)&&r.minTime.subscribe($(n).data("TimePicker").setMinTime)},update:function(n,t){var i=ko.unwrap(t());$(n).data("TimePicker").setDate(i)}};ko.bindingHandlers.colorSelector={init:function(n,t){var i=t();$(n).colorselector({callback:function(n){i(n)}})},update:function(n,t){var i=ko.unwrap(t());$(n).colorselector("setValue",i)}};ko.bindingHandlers.bootstrapSlider={init:function(n,t,i){var f=ko.unwrap(t()),r=i(),u={value:f,tooltip:"hide"};if(r.dataMin&&(u.min=r.dataMin),r.dataMax&&(u.max=r.dataMax()),r.dataStep&&(u.step=r.dataStep),$(n).slider(u),r.bindingValue){r.bindingValue.subscribe(function(t){$(n).slider("setValue",t)});$(n).slider().on("slide",function(n){r.bindingValue(n.value)})}r.dataMax&&r.dataMax.subscribe(function(t){$(n).data("slider").max=t;var i=$(n).data("slider").getValue();$(n).slider("setValue",i)})},update:function(){}};ko.bindingHandlers.showModal={init:function(n,t){$(n).on("hidden.bs.modal",function(){var n=t();n(!1)})},update:function(n,t){var i=t();ko.utils.unwrapObservable(i)?($(n).modal("show"),$("input",n).focus()):$(n).modal("hide")}};ko.bindingHandlers.modalCloseConfirm={init:function(n,t){var i=ko.unwrap(t()),u=i.mustConfirm,f=i.confirmPrompt,r=i.afterClose;$(n).on("hide.bs.modal",function(n){if(n.stopImmediatePropagation(),u()){var t=confirm(f());return t&&r&&r(),t}return!0})}};ko.bindingHandlers.date={update:function(n,t,i){var r=ko.unwrap(t()),u=moment.utc(r),f=ko.unwrap(i().format()),e=u.format(f);$(n).text(e)}};ko.bindingHandlers.textlist={update:function(n,t){var i=ko.unwrap(t()),r=i&&i.length>0?i.join(", "):"";$(n).text(r)}};ko.bindingHandlers.objectlist={update:function(n,t,i){var f=ko.unwrap(t()),u=i(),e=u.property?u.property:"Name",r=_.map(f,function(n){return ko.unwrap(n[e])}),o=r&&r.length>0?r.join(", "):"";$(n).text(o)}};ko.bindingHandlers.lessonColumnWidth={update:function(n,t,i){var o=ko.unwrap(t());if(!o){$(n).attr("width","0");return}var r=i().lessonWeek,u=ko.utils.arrayFilter(r.LessonWeekDays(),function(n){return n.IsEnabled()}),s=r.LessonWeekDays().length-u.length,f=u.length,e="20%";f!==0&&(e=100/f);$(n).attr("width",e+"%")}};ko.bindingHandlers.tokenfield={init:function(n,t){var r=!0,i=function(){if(!r){var i=t(),u=$(n).tokenfield("getTokensList");i(u)}},u=t(),f={tokens:u(),delimiter:",",beautify:!0};$(n).on("tokenfield:createdtoken",i).on("tokenfield:editedtoken",i).on("tokenfield:removedtoken",i).tokenfield(f);r=!1},update:function(n,t){var i=ko.unwrap(t());i==""&&$(n).tokenfield("setTokens",[]);$(n).tokenfield("setTokens",i)}};ko.bindingHandlers.darkroom={init:function(n,t){var r=ko.unwrap(t()),i=$(n);i.uniqueId();$(n).load(function(){new Darkroom("#"+i.attr("id"),{plugins:{save:{callback:r}}})})},update:function(){}};ko.bindingHandlers.canvasLoader={init:function(n){var i=$(n),t,r;i.uniqueId();t=new CanvasLoader(i.attr("id"));r=i.css("color");t.setColor(common.ColorToHex(r));t.setDiameter(150);t.setSpeed(1);t.setFPS(30);t.show()}};ko.bindingHandlers.tooltip={init:function(n){$(n).tooltip({"z-index":"3000"})}};ko.bindingHandlers.clickToHide={init:function(n){$(n).click(function(){$(n).hide()})}};ko.bindingHandlers.affix={init:function(n,t){var i=ko.unwrap(t());$(n).affix({offset:{top:i}})}};ko.bindingHandlers.progress={init:function(n,t){var i=ko.unwrap(t());$(n).attr("aria-valuenow",i);$(n).attr("style","width: "+i+"%");$(n).innerHTML=i+"%"},update:function(n,t){var i=ko.unwrap(t());$(n).attr("aria-valuenow",i);$(n).attr("style","width: "+i+"%");$(n).innerHTML=i+"%"}};ko.extenders.numeric=function(n,t){var i=ko.computed({read:n,write:function(i){var u=n(),f=Math.pow(10,t),e=isNaN(i)?0:parseFloat(+i),r=Math.round(e*f)/f;r!==u?n(r):i!==u&&n.notifySubscribers(r)}});return i(n()),i};ko.extenders.indexed=function(n,t){return n.subscribe(function(n){var i,u,r;if(n)for(i=0,u=n.length;i<u;i++)r=n[i],ko.isObservable(r[t])||(r[t]=ko.observable()),r[t](i)}),n.valueHasMutated(),n};ko.validation.rules.checked={validator:function(n){return n?!0:!1}};ko.validation.rules.mustEqual={getValue:function(n){return typeof n=="function"?n():n},validator:function(n,t){return n===this.getValue(t)},message:"Password does not match"};ko.dirtyFlag=function(n,t){var i=function(){},r=ko.observable(ko.toJSON(n)),u=ko.observable(t);return i.isDirty=ko.dependentObservable(function(){return u()||r()!==ko.toJSON(n)}),i.reset=function(){r(ko.toJSON(n));u(!1)},i}