/*!
 * Knockout JavaScript library v3.5.1
 * (c) The Knockout.js team - http://knockoutjs.com/
 * License: MIT (http://www.opensource.org/licenses/mit-license.php)
 */
!function(e){var t,n=this||(0,eval)("this"),i=n.document,r=n.navigator,o=n.jQuery,s=n.JSON;o||"undefined"==typeof jQuery||(o=jQuery),t=function(t,a){var l=void 0!==t?t:{};l.exportSymbol=function(e,t){for(var n=e.split("."),i=l,r=0;r<n.length-1;r++)i=i[n[r]];i[n[n.length-1]]=t},l.exportProperty=function(e,t,n){e[t]=n},l.version="3.5.1",l.exportSymbol("version",l.version),l.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},l.utils=function(){var t=Object.prototype.hasOwnProperty;function a(e,n){for(var i in e)t.call(e,i)&&n(i,e[i])}function u(e,n){if(n)for(var i in n)t.call(n,i)&&(e[i]=n[i]);return e}function d(e,t){return e.__proto__=t,e}var c={__proto__:[]}instanceof Array,p={},f={};p[r&&/Firefox\/2/i.test(r.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],p.MouseEvents=["click","dblclick","mousedown","mouseup","mousemove","mouseover","mouseout","mouseenter","mouseleave"],a(p,(function(e,t){if(t.length)for(var n=0,i=t.length;n<i;n++)f[t[n]]=e}));var m,v={propertychange:!0},b=i&&function(){for(var t=3,n=i.createElement("div"),r=n.getElementsByTagName("i");n.innerHTML="\x3c!--[if gt IE "+ ++t+"]><i></i><![endif]--\x3e",r[0];);return t>4?t:e}(),g=6===b,h=7===b,y=/\S+/g;function x(e,t,n,i){var r=e[t].match(y)||[];l.utils.arrayForEach(n.match(y),(function(e){l.utils.addOrRemoveItem(r,e,i)})),e[t]=r.join(" ")}return{fieldsIncludedWithJsonPost:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],arrayForEach:function(e,t,n){for(var i=0,r=e.length;i<r;i++)t.call(n,e[i],i,e)},arrayIndexOf:"function"==typeof Array.prototype.indexOf?function(e,t){return Array.prototype.indexOf.call(e,t)}:function(e,t){for(var n=0,i=e.length;n<i;n++)if(e[n]===t)return n;return-1},arrayFirst:function(t,n,i){for(var r=0,o=t.length;r<o;r++)if(n.call(i,t[r],r,t))return t[r];return e},arrayRemoveItem:function(e,t){var n=l.utils.arrayIndexOf(e,t);n>0?e.splice(n,1):0===n&&e.shift()},arrayGetDistinctValues:function(e){var t=[];return e&&l.utils.arrayForEach(e,(function(e){l.utils.arrayIndexOf(t,e)<0&&t.push(e)})),t},arrayMap:function(e,t,n){var i=[];if(e)for(var r=0,o=e.length;r<o;r++)i.push(t.call(n,e[r],r));return i},arrayFilter:function(e,t,n){var i=[];if(e)for(var r=0,o=e.length;r<o;r++)t.call(n,e[r],r)&&i.push(e[r]);return i},arrayPushAll:function(e,t){if(t instanceof Array)e.push.apply(e,t);else for(var n=0,i=t.length;n<i;n++)e.push(t[n]);return e},addOrRemoveItem:function(e,t,n){var i=l.utils.arrayIndexOf(l.utils.peekObservable(e),t);i<0?n&&e.push(t):n||e.splice(i,1)},canSetPrototype:c,extend:u,setPrototypeOf:d,setPrototypeOfOrExtend:c?d:u,objectForEach:a,objectMap:function(e,n,i){if(!e)return e;var r={};for(var o in e)t.call(e,o)&&(r[o]=n.call(i,e[o],o,e));return r},emptyDomNode:function(e){for(;e.firstChild;)l.removeNode(e.firstChild)},moveCleanedNodesToContainerElement:function(e){for(var t=l.utils.makeArray(e),n=(t[0]&&t[0].ownerDocument||i).createElement("div"),r=0,o=t.length;r<o;r++)n.appendChild(l.cleanNode(t[r]));return n},cloneNodes:function(e,t){for(var n=0,i=e.length,r=[];n<i;n++){var o=e[n].cloneNode(!0);r.push(t?l.cleanNode(o):o)}return r},setDomNodeChildren:function(e,t){if(l.utils.emptyDomNode(e),t)for(var n=0,i=t.length;n<i;n++)e.appendChild(t[n])},replaceDomNodes:function(e,t){var n=e.nodeType?[e]:e;if(n.length>0){for(var i=n[0],r=i.parentNode,o=0,s=t.length;o<s;o++)r.insertBefore(t[o],i);for(o=0,s=n.length;o<s;o++)l.removeNode(n[o])}},fixUpContinuousNodeArray:function(e,t){if(e.length){for(t=8===t.nodeType&&t.parentNode||t;e.length&&e[0].parentNode!==t;)e.splice(0,1);for(;e.length>1&&e[e.length-1].parentNode!==t;)e.length--;if(e.length>1){var n=e[0],i=e[e.length-1];for(e.length=0;n!==i;)e.push(n),n=n.nextSibling;e.push(i)}}return e},setOptionNodeSelectionState:function(e,t){b<7?e.setAttribute("selected",t):e.selected=t},stringTrim:function(t){return null===t||t===e?"":t.trim?t.trim():t.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},stringStartsWith:function(e,t){return e=e||"",!(t.length>e.length)&&e.substring(0,t.length)===t},domNodeIsContainedBy:function(e,t){if(e===t)return!0;if(11===e.nodeType)return!1;if(t.contains)return t.contains(1!==e.nodeType?e.parentNode:e);if(t.compareDocumentPosition)return 16==(16&t.compareDocumentPosition(e));for(;e&&e!=t;)e=e.parentNode;return!!e},domNodeIsAttachedToDocument:function(e){return l.utils.domNodeIsContainedBy(e,e.ownerDocument.documentElement)},anyDomNodeIsAttachedToDocument:function(e){return!!l.utils.arrayFirst(e,l.utils.domNodeIsAttachedToDocument)},tagNameLower:function(e){return e&&e.tagName&&e.tagName.toLowerCase()},catchFunctionErrors:function(e){return l.onError?function(){try{return e.apply(this,arguments)}catch(e){throw l.onError&&l.onError(e),e}}:e},setTimeout:function(e,t){return setTimeout(l.utils.catchFunctionErrors(e),t)},deferError:function(e){setTimeout((function(){throw l.onError&&l.onError(e),e}),0)},registerEventHandler:function(e,t,n){var i=l.utils.catchFunctionErrors(n),r=v[t];if(l.options.useOnlyNativeEvents||r||!o)if(r||"function"!=typeof e.addEventListener){if(void 0===e.attachEvent)throw new Error("Browser doesn't support addEventListener or attachEvent");var s=function(t){i.call(e,t)},a="on"+t;e.attachEvent(a,s),l.utils.domNodeDisposal.addDisposeCallback(e,(function(){e.detachEvent(a,s)}))}else e.addEventListener(t,i,!1);else m||(m="function"==typeof o(e).on?"on":"bind"),o(e)[m](t,i)},triggerEvent:function(e,t){if(!e||!e.nodeType)throw new Error("element must be a DOM node when calling triggerEvent");var r=function(e,t){if("input"!==l.utils.tagNameLower(e)||!e.type)return!1;if("click"!=t.toLowerCase())return!1;var n=e.type;return"checkbox"==n||"radio"==n}(e,t);if(l.options.useOnlyNativeEvents||!o||r)if("function"==typeof i.createEvent){if("function"!=typeof e.dispatchEvent)throw new Error("The supplied element doesn't support dispatchEvent");var s=f[t]||"HTMLEvents",a=i.createEvent(s);a.initEvent(t,!0,!0,n,0,0,0,0,0,!1,!1,!1,!1,0,e),e.dispatchEvent(a)}else if(r&&e.click)e.click();else{if(void 0===e.fireEvent)throw new Error("Browser doesn't support triggering events");e.fireEvent("on"+t)}else o(e).trigger(t)},unwrapObservable:function(e){return l.isObservable(e)?e():e},peekObservable:function(e){return l.isObservable(e)?e.peek():e},toggleDomNodeCssClass:function(e,t,n){var i;t&&("object"==typeof e.classList?(i=e.classList[n?"add":"remove"],l.utils.arrayForEach(t.match(y),(function(t){i.call(e.classList,t)}))):"string"==typeof e.className.baseVal?x(e.className,"baseVal",t,n):x(e,"className",t,n))},setTextContent:function(t,n){var i=l.utils.unwrapObservable(n);null!==i&&i!==e||(i="");var r=l.virtualElements.firstChild(t);!r||3!=r.nodeType||l.virtualElements.nextSibling(r)?l.virtualElements.setDomNodeChildren(t,[t.ownerDocument.createTextNode(i)]):r.data=i,l.utils.forceRefresh(t)},setElementName:function(e,t){if(e.name=t,b<=7)try{var n=e.name.replace(/[&<>'"]/g,(function(e){return"&#"+e.charCodeAt(0)+";"}));e.mergeAttributes(i.createElement("<input name='"+n+"'/>"),!1)}catch(e){}},forceRefresh:function(e){if(b>=9){var t=1==e.nodeType?e:e.parentNode;t.style&&(t.style.zoom=t.style.zoom)}},ensureSelectElementIsRenderedCorrectly:function(e){if(b){var t=e.style.width;e.style.width=0,e.style.width=t}},range:function(e,t){e=l.utils.unwrapObservable(e),t=l.utils.unwrapObservable(t);for(var n=[],i=e;i<=t;i++)n.push(i);return n},makeArray:function(e){for(var t=[],n=0,i=e.length;n<i;n++)t.push(e[n]);return t},createSymbolOrString:function(e){return e},isIe6:g,isIe7:h,ieVersion:b,getFormFields:function(e,t){for(var n=l.utils.makeArray(e.getElementsByTagName("input")).concat(l.utils.makeArray(e.getElementsByTagName("textarea"))),i="string"==typeof t?function(e){return e.name===t}:function(e){return t.test(e.name)},r=[],o=n.length-1;o>=0;o--)i(n[o])&&r.push(n[o]);return r},parseJson:function(e){return"string"==typeof e&&(e=l.utils.stringTrim(e))?s&&s.parse?s.parse(e):new Function("return "+e)():null},stringifyJson:function(e,t,n){if(!s||!s.stringify)throw new 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 s.stringify(l.utils.unwrapObservable(e),t,n)},postJson:function(e,t,n){var r=(n=n||{}).params||{},o=n.includeFields||this.fieldsIncludedWithJsonPost,s=e;if("object"==typeof e&&"form"===l.utils.tagNameLower(e)){var u=e;s=u.action;for(var d=o.length-1;d>=0;d--)for(var c=l.utils.getFormFields(u,o[d]),p=c.length-1;p>=0;p--)r[c[p].name]=c[p].value}t=l.utils.unwrapObservable(t);var f=i.createElement("form");for(var m in f.style.display="none",f.action=s,f.method="post",t){var v=i.createElement("input");v.type="hidden",v.name=m,v.value=l.utils.stringifyJson(l.utils.unwrapObservable(t[m])),f.appendChild(v)}a(r,(function(e,t){var n=i.createElement("input");n.type="hidden",n.name=e,n.value=t,f.appendChild(n)})),i.body.appendChild(f),n.submitter?n.submitter(f):f.submit(),setTimeout((function(){f.parentNode.removeChild(f)}),0)}}}(),l.exportSymbol("utils",l.utils),l.exportSymbol("utils.arrayForEach",l.utils.arrayForEach),l.exportSymbol("utils.arrayFirst",l.utils.arrayFirst),l.exportSymbol("utils.arrayFilter",l.utils.arrayFilter),l.exportSymbol("utils.arrayGetDistinctValues",l.utils.arrayGetDistinctValues),l.exportSymbol("utils.arrayIndexOf",l.utils.arrayIndexOf),l.exportSymbol("utils.arrayMap",l.utils.arrayMap),l.exportSymbol("utils.arrayPushAll",l.utils.arrayPushAll),l.exportSymbol("utils.arrayRemoveItem",l.utils.arrayRemoveItem),l.exportSymbol("utils.cloneNodes",l.utils.cloneNodes),l.exportSymbol("utils.createSymbolOrString",l.utils.createSymbolOrString),l.exportSymbol("utils.extend",l.utils.extend),l.exportSymbol("utils.fieldsIncludedWithJsonPost",l.utils.fieldsIncludedWithJsonPost),l.exportSymbol("utils.getFormFields",l.utils.getFormFields),l.exportSymbol("utils.objectMap",l.utils.objectMap),l.exportSymbol("utils.peekObservable",l.utils.peekObservable),l.exportSymbol("utils.postJson",l.utils.postJson),l.exportSymbol("utils.parseJson",l.utils.parseJson),l.exportSymbol("utils.registerEventHandler",l.utils.registerEventHandler),l.exportSymbol("utils.stringifyJson",l.utils.stringifyJson),l.exportSymbol("utils.range",l.utils.range),l.exportSymbol("utils.toggleDomNodeCssClass",l.utils.toggleDomNodeCssClass),l.exportSymbol("utils.triggerEvent",l.utils.triggerEvent),l.exportSymbol("utils.unwrapObservable",l.utils.unwrapObservable),l.exportSymbol("utils.objectForEach",l.utils.objectForEach),l.exportSymbol("utils.addOrRemoveItem",l.utils.addOrRemoveItem),l.exportSymbol("utils.setTextContent",l.utils.setTextContent),l.exportSymbol("unwrap",l.utils.unwrapObservable),Function.prototype.bind||(Function.prototype.bind=function(e){var t=this;if(1===arguments.length)return function(){return t.apply(e,arguments)};var n=Array.prototype.slice.call(arguments,1);return function(){var i=n.slice(0);return i.push.apply(i,arguments),t.apply(e,i)}}),l.utils.domData=new function(){var t,n,i=0,r="__ko__"+(new Date).getTime(),o={};return l.utils.ieVersion?(t=function(t,n){var s=t[r];if(!s||"null"===s||!o[s]){if(!n)return e;s=t[r]="ko"+i++,o[s]={}}return o[s]},n=function(e){var t=e[r];return!!t&&(delete o[t],e[r]=null,!0)}):(t=function(e,t){var n=e[r];return!n&&t&&(n=e[r]={}),n},n=function(e){return!!e[r]&&(delete e[r],!0)}),{get:function(e,n){var i=t(e,!1);return i&&i[n]},set:function(n,i,r){var o=t(n,r!==e);o&&(o[i]=r)},getOrSet:function(e,n,i){var r=t(e,!0);return r[n]||(r[n]=i)},clear:n,nextKey:function(){return i+++r}}},l.exportSymbol("utils.domData",l.utils.domData),l.exportSymbol("utils.domData.clear",l.utils.domData.clear),l.utils.domNodeDisposal=new function(){var t=l.utils.domData.nextKey(),n={1:!0,8:!0,9:!0},i={1:!0,9:!0};function r(n,i){var r=l.utils.domData.get(n,t);return r===e&&i&&(r=[],l.utils.domData.set(n,t,r)),r}function s(e){var t=r(e,!1);if(t){t=t.slice(0);for(var n=0;n<t.length;n++)t[n](e)}l.utils.domData.clear(e),l.utils.domNodeDisposal.cleanExternalData(e),i[e.nodeType]&&a(e.childNodes,!0)}function a(e,t){for(var n,i=[],r=0;r<e.length;r++)if((!t||8===e[r].nodeType)&&(s(i[i.length]=n=e[r]),e[r]!==n))for(;r--&&-1==l.utils.arrayIndexOf(i,e[r]););}return{addDisposeCallback:function(e,t){if("function"!=typeof t)throw new Error("Callback must be a function");r(e,!0).push(t)},removeDisposeCallback:function(n,i){var o=r(n,!1);o&&(l.utils.arrayRemoveItem(o,i),0==o.length&&function(n){l.utils.domData.set(n,t,e)}(n))},cleanNode:function(e){return l.dependencyDetection.ignore((function(){n[e.nodeType]&&(s(e),i[e.nodeType]&&a(e.getElementsByTagName("*")))})),e},removeNode:function(e){l.cleanNode(e),e.parentNode&&e.parentNode.removeChild(e)},cleanExternalData:function(e){o&&"function"==typeof o.cleanData&&o.cleanData([e])}}},l.cleanNode=l.utils.domNodeDisposal.cleanNode,l.removeNode=l.utils.domNodeDisposal.removeNode,l.exportSymbol("cleanNode",l.cleanNode),l.exportSymbol("removeNode",l.removeNode),l.exportSymbol("utils.domNodeDisposal",l.utils.domNodeDisposal),l.exportSymbol("utils.domNodeDisposal.addDisposeCallback",l.utils.domNodeDisposal.addDisposeCallback),l.exportSymbol("utils.domNodeDisposal.removeDisposeCallback",l.utils.domNodeDisposal.removeDisposeCallback),function(){var t=[0,"",""],r=[1,"<table>","</table>"],s=[3,"<table><tbody><tr>","</tr></tbody></table>"],a=[1,"<select multiple='multiple'>","</select>"],u={thead:r,tbody:r,tfoot:r,tr:[2,"<table><tbody>","</tbody></table>"],td:s,th:s,option:a,optgroup:a},d=l.utils.ieVersion<=8;function c(e,r){r||(r=i);var o=r.parentWindow||r.defaultView||n,s=l.utils.stringTrim(e).toLowerCase(),a=r.createElement("div"),c=function(e){var n=e.match(/^(?:<!--.*?-->\s*?)*?<([a-z]+)[\s>]/);return n&&u[n[1]]||t}(s),p=c[0],f="ignored<div>"+c[1]+e+c[2]+"</div>";for("function"==typeof o.innerShiv?a.appendChild(o.innerShiv(f)):(d&&r.body.appendChild(a),a.innerHTML=f,d&&a.parentNode.removeChild(a));p--;)a=a.lastChild;return l.utils.makeArray(a.lastChild.childNodes)}l.utils.parseHtmlFragment=function(e,t){return o?function(e,t){if(o.parseHTML)return o.parseHTML(e,t)||[];var n=o.clean([e],t);if(n&&n[0]){for(var i=n[0];i.parentNode&&11!==i.parentNode.nodeType;)i=i.parentNode;i.parentNode&&i.parentNode.removeChild(i)}return n}(e,t):c(e,t)},l.utils.parseHtmlForTemplateNodes=function(e,t){var n=l.utils.parseHtmlFragment(e,t);return n.length&&n[0].parentElement||l.utils.moveCleanedNodesToContainerElement(n)},l.utils.setHtml=function(t,n){if(l.utils.emptyDomNode(t),null!==(n=l.utils.unwrapObservable(n))&&n!==e)if("string"!=typeof n&&(n=n.toString()),o)o(t).html(n);else for(var i=l.utils.parseHtmlFragment(n,t.ownerDocument),r=0;r<i.length;r++)t.appendChild(i[r])}}(),l.exportSymbol("utils.parseHtmlFragment",l.utils.parseHtmlFragment),l.exportSymbol("utils.setHtml",l.utils.setHtml),l.memoization=function(){var t={};function n(){return(4294967296*(1+Math.random())|0).toString(16).substring(1)}function i(e,t){if(e)if(8==e.nodeType){var n=l.memoization.parseMemoText(e.nodeValue);null!=n&&t.push({domNode:e,memoId:n})}else if(1==e.nodeType)for(var r=0,o=e.childNodes,s=o.length;r<s;r++)i(o[r],t)}return{memoize:function(e){if("function"!=typeof e)throw new Error("You can only pass a function to ko.memoization.memoize()");var i=n()+n();return t[i]=e,"\x3c!--[ko_memo:"+i+"]--\x3e"},unmemoize:function(n,i){var r=t[n];if(r===e)throw new Error("Couldn't find any memo with ID "+n+". Perhaps it's already been unmemoized.");try{return r.apply(null,i||[]),!0}finally{delete t[n]}},unmemoizeDomNodeAndDescendants:function(e,t){var n=[];i(e,n);for(var r=0,o=n.length;r<o;r++){var s=n[r].domNode,a=[s];t&&l.utils.arrayPushAll(a,t),l.memoization.unmemoize(n[r].memoId,a),s.nodeValue="",s.parentNode&&s.parentNode.removeChild(s)}},parseMemoText:function(e){var t=e.match(/^\[ko_memo\:(.*?)\]$/);return t?t[1]:null}}}(),l.exportSymbol("memoization",l.memoization),l.exportSymbol("memoization.memoize",l.memoization.memoize),l.exportSymbol("memoization.unmemoize",l.memoization.unmemoize),l.exportSymbol("memoization.parseMemoText",l.memoization.parseMemoText),l.exportSymbol("memoization.unmemoizeDomNodeAndDescendants",l.memoization.unmemoizeDomNodeAndDescendants),l.tasks=function(){var e,t,r,o=[],s=0,a=1,u=0;function d(){if(s)for(var e,t=s,n=0;u<s;)if(e=o[u++]){if(u>t){if(++n>=5e3){u=s,l.utils.deferError(Error("'Too much recursion' after processing "+n+" task groups."));break}t=s}try{e()}catch(e){l.utils.deferError(e)}}}function c(){d(),u=s=o.length=0}return n.MutationObserver?(t=c,r=i.createElement("div"),new MutationObserver(t).observe(r,{attributes:!0}),e=function(){r.classList.toggle("foo")}):e=i&&"onreadystatechange"in i.createElement("script")?function(e){var t=i.createElement("script");t.onreadystatechange=function(){t.onreadystatechange=null,i.documentElement.removeChild(t),t=null,e()},i.documentElement.appendChild(t)}:function(e){setTimeout(e,0)},{scheduler:e,schedule:function(e){return s||l.tasks.scheduler(c),o[s++]=e,a++},cancel:function(e){var t=e-(a-s);t>=u&&t<s&&(o[t]=null)},resetForTesting:function(){var e=s-u;return u=s=o.length=0,e},runEarly:d}}(),l.exportSymbol("tasks",l.tasks),l.exportSymbol("tasks.schedule",l.tasks.schedule),l.exportSymbol("tasks.runEarly",l.tasks.runEarly),l.extenders={throttle:function(e,t){e.throttleEvaluation=t;var n=null;return l.dependentObservable({read:e,write:function(i){clearTimeout(n),n=l.utils.setTimeout((function(){e(i)}),t)}})},rateLimit:function(e,t){var n,i,r;"number"==typeof t?n=t:(n=t.timeout,i=t.method),e._deferUpdates=!1,r="function"==typeof i?i:"notifyWhenChangesStop"==i?p:c,e.limit((function(e){return r(e,n,t)}))},deferred:function(t,n){if(!0!==n)throw new Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");t._deferUpdates||(t._deferUpdates=!0,t.limit((function(n){var i,r=!1;return function(){if(!r){l.tasks.cancel(i),i=l.tasks.schedule(n);try{r=!0,t.notifySubscribers(e,"dirty")}finally{r=!1}}}})))},notify:function(e,t){e.equalityComparer="always"==t?null:d}};var u={undefined:1,boolean:1,number:1,string:1};function d(e,t){return!(null!==e&&!(typeof e in u))&&e===t}function c(t,n){var i;return function(){i||(i=l.utils.setTimeout((function(){i=e,t()}),n))}}function p(e,t){var n;return function(){clearTimeout(n),n=l.utils.setTimeout(e,t)}}l.exportSymbol("extenders",l.extenders),l.subscription=function(e,t,n){this._target=e,this._callback=t,this._disposeCallback=n,this._isDisposed=!1,this._node=null,this._domNodeDisposalCallback=null,l.exportProperty(this,"dispose",this.dispose),l.exportProperty(this,"disposeWhenNodeIsRemoved",this.disposeWhenNodeIsRemoved)},l.subscription.prototype.dispose=function(){var e=this;e._isDisposed||(e._domNodeDisposalCallback&&l.utils.domNodeDisposal.removeDisposeCallback(e._node,e._domNodeDisposalCallback),e._isDisposed=!0,e._disposeCallback(),e._target=e._callback=e._disposeCallback=e._node=e._domNodeDisposalCallback=null)},l.subscription.prototype.disposeWhenNodeIsRemoved=function(e){this._node=e,l.utils.domNodeDisposal.addDisposeCallback(e,this._domNodeDisposalCallback=this.dispose.bind(this))},l.subscribable=function(){l.utils.setPrototypeOfOrExtend(this,v),v.init(this)};var f="change";function m(e,t){t&&t!==f?"beforeChange"===t?this._limitBeforeChange(e):this._origNotifySubscribers(e,t):this._limitChange(e)}var v={init:function(e){e._subscriptions={change:[]},e._versionNumber=1},subscribe:function(e,t,n){var i=this;n=n||f;var r=t?e.bind(t):e,o=new l.subscription(i,r,(function(){l.utils.arrayRemoveItem(i._subscriptions[n],o),i.afterSubscriptionRemove&&i.afterSubscriptionRemove(n)}));return i.beforeSubscriptionAdd&&i.beforeSubscriptionAdd(n),i._subscriptions[n]||(i._subscriptions[n]=[]),i._subscriptions[n].push(o),o},notifySubscribers:function(e,t){if((t=t||f)===f&&this.updateVersion(),this.hasSubscriptionsForEvent(t)){var n=t===f&&this._changeSubscriptions||this._subscriptions[t].slice(0);try{l.dependencyDetection.begin();for(var i,r=0;i=n[r];++r)i._isDisposed||i._callback(e)}finally{l.dependencyDetection.end()}}},getVersion:function(){return this._versionNumber},hasChanged:function(e){return this.getVersion()!==e},updateVersion:function(){++this._versionNumber},limit:function(e){var t,n,i,r,o,s=this,a=l.isObservable(s);s._origNotifySubscribers||(s._origNotifySubscribers=s.notifySubscribers,s.notifySubscribers=m);var u=e((function(){s._notificationIsPending=!1,a&&r===s&&(r=s._evalIfChanged?s._evalIfChanged():s());var e=n||o&&s.isDifferent(i,r);o=n=t=!1,e&&s._origNotifySubscribers(i=r)}));s._limitChange=function(e,n){n&&s._notificationIsPending||(o=!n),s._changeSubscriptions=s._subscriptions[f].slice(0),s._notificationIsPending=t=!0,r=e,u()},s._limitBeforeChange=function(e){t||(i=e,s._origNotifySubscribers(e,"beforeChange"))},s._recordUpdate=function(){o=!0},s._notifyNextChangeIfValueIsDifferent=function(){s.isDifferent(i,s.peek(!0))&&(n=!0)}},hasSubscriptionsForEvent:function(e){return this._subscriptions[e]&&this._subscriptions[e].length},getSubscriptionsCount:function(e){if(e)return this._subscriptions[e]&&this._subscriptions[e].length||0;var t=0;return l.utils.objectForEach(this._subscriptions,(function(e,n){"dirty"!==e&&(t+=n.length)})),t},isDifferent:function(e,t){return!this.equalityComparer||!this.equalityComparer(e,t)},toString:function(){return"[object Object]"},extend:function(e){var t=this;return e&&l.utils.objectForEach(e,(function(e,n){var i=l.extenders[e];"function"==typeof i&&(t=i(t,n)||t)})),t}};l.exportProperty(v,"init",v.init),l.exportProperty(v,"subscribe",v.subscribe),l.exportProperty(v,"extend",v.extend),l.exportProperty(v,"getSubscriptionsCount",v.getSubscriptionsCount),l.utils.canSetPrototype&&l.utils.setPrototypeOf(v,Function.prototype),l.subscribable.fn=v,l.isSubscribable=function(e){return null!=e&&"function"==typeof e.subscribe&&"function"==typeof e.notifySubscribers},l.exportSymbol("subscribable",l.subscribable),l.exportSymbol("isSubscribable",l.isSubscribable),l.computedContext=l.dependencyDetection=function(){var e,t=[],n=0;function i(n){t.push(e),e=n}function r(){e=t.pop()}return{begin:i,end:r,registerDependency:function(t){if(e){if(!l.isSubscribable(t))throw new Error("Only subscribable things can act as dependencies");e.callback.call(e.callbackTarget,t,t._id||(t._id=++n))}},ignore:function(e,t,n){try{return i(),e.apply(t,n||[])}finally{r()}},getDependenciesCount:function(){if(e)return e.computed.getDependenciesCount()},getDependencies:function(){if(e)return e.computed.getDependencies()},isInitial:function(){if(e)return e.isInitial},computed:function(){if(e)return e.computed}}}(),l.exportSymbol("computedContext",l.computedContext),l.exportSymbol("computedContext.getDependenciesCount",l.computedContext.getDependenciesCount),l.exportSymbol("computedContext.getDependencies",l.computedContext.getDependencies),l.exportSymbol("computedContext.isInitial",l.computedContext.isInitial),l.exportSymbol("computedContext.registerDependency",l.computedContext.registerDependency),l.exportSymbol("ignoreDependencies",l.ignoreDependencies=l.dependencyDetection.ignore);var b=l.utils.createSymbolOrString("_latestValue");l.observable=function(e){function t(){return arguments.length>0?(t.isDifferent(t[b],arguments[0])&&(t.valueWillMutate(),t[b]=arguments[0],t.valueHasMutated()),this):(l.dependencyDetection.registerDependency(t),t[b])}return t[b]=e,l.utils.canSetPrototype||l.utils.extend(t,l.subscribable.fn),l.subscribable.fn.init(t),l.utils.setPrototypeOfOrExtend(t,g),l.options.deferUpdates&&l.extenders.deferred(t,!0),t};var g={equalityComparer:d,peek:function(){return this[b]},valueHasMutated:function(){this.notifySubscribers(this[b],"spectate"),this.notifySubscribers(this[b])},valueWillMutate:function(){this.notifySubscribers(this[b],"beforeChange")}};l.utils.canSetPrototype&&l.utils.setPrototypeOf(g,l.subscribable.fn);var h=l.observable.protoProperty="__ko_proto__";g[h]=l.observable,l.isObservable=function(e){var t="function"==typeof e&&e[h];if(t&&t!==g[h]&&t!==l.computed.fn[h])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!t},l.isWriteableObservable=function(e){return"function"==typeof e&&(e[h]===g[h]||e[h]===l.computed.fn[h]&&e.hasWriteFunction)},l.exportSymbol("observable",l.observable),l.exportSymbol("isObservable",l.isObservable),l.exportSymbol("isWriteableObservable",l.isWriteableObservable),l.exportSymbol("isWritableObservable",l.isWriteableObservable),l.exportSymbol("observable.fn",g),l.exportProperty(g,"peek",g.peek),l.exportProperty(g,"valueHasMutated",g.valueHasMutated),l.exportProperty(g,"valueWillMutate",g.valueWillMutate),l.observableArray=function(e){if("object"!=typeof(e=e||[])||!("length"in e))throw new Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");var t=l.observable(e);return l.utils.setPrototypeOfOrExtend(t,l.observableArray.fn),t.extend({trackArrayChanges:!0})},l.observableArray.fn={remove:function(e){for(var t=this.peek(),n=[],i="function"!=typeof e||l.isObservable(e)?function(t){return t===e}:e,r=0;r<t.length;r++){var o=t[r];if(i(o)){if(0===n.length&&this.valueWillMutate(),t[r]!==o)throw Error("Array modified during remove; cannot remove item");n.push(o),t.splice(r,1),r--}}return n.length&&this.valueHasMutated(),n},removeAll:function(t){if(t===e){var n=this.peek(),i=n.slice(0);return this.valueWillMutate(),n.splice(0,n.length),this.valueHasMutated(),i}return t?this.remove((function(e){return l.utils.arrayIndexOf(t,e)>=0})):[]},destroy:function(e){var t=this.peek(),n="function"!=typeof e||l.isObservable(e)?function(t){return t===e}:e;this.valueWillMutate();for(var i=t.length-1;i>=0;i--){var r=t[i];n(r)&&(r._destroy=!0)}this.valueHasMutated()},destroyAll:function(t){return t===e?this.destroy((function(){return!0})):t?this.destroy((function(e){return l.utils.arrayIndexOf(t,e)>=0})):[]},indexOf:function(e){var t=this();return l.utils.arrayIndexOf(t,e)},replace:function(e,t){var n=this.indexOf(e);n>=0&&(this.valueWillMutate(),this.peek()[n]=t,this.valueHasMutated())},sorted:function(e){var t=this().slice(0);return e?t.sort(e):t.sort()},reversed:function(){return this().slice(0).reverse()}},l.utils.canSetPrototype&&l.utils.setPrototypeOf(l.observableArray.fn,l.observable.fn),l.utils.arrayForEach(["pop","push","reverse","shift","sort","splice","unshift"],(function(e){l.observableArray.fn[e]=function(){var t=this.peek();this.valueWillMutate(),this.cacheDiffForKnownOperation(t,e,arguments);var n=t[e].apply(t,arguments);return this.valueHasMutated(),n===t?this:n}})),l.utils.arrayForEach(["slice"],(function(e){l.observableArray.fn[e]=function(){var t=this();return t[e].apply(t,arguments)}})),l.isObservableArray=function(e){return l.isObservable(e)&&"function"==typeof e.remove&&"function"==typeof e.push},l.exportSymbol("observableArray",l.observableArray),l.exportSymbol("isObservableArray",l.isObservableArray);var y="arrayChange";l.extenders.trackArrayChanges=function(t,n){if(t.compareArrayOptions={},n&&"object"==typeof n&&l.utils.extend(t.compareArrayOptions,n),t.compareArrayOptions.sparse=!0,!t.cacheDiffForKnownOperation){var i,r,o,s=!1,a=null,u=0,d=t.beforeSubscriptionAdd,c=t.afterSubscriptionRemove;t.beforeSubscriptionAdd=function(e){d&&d.call(t,e),e===y&&function(){function e(){if(u){var e,n=[].concat(t.peek()||[]);t.hasSubscriptionsForEvent(y)&&(e=function(e,n){return(!a||u>1)&&(a=l.utils.compareArrays(e,n,t.compareArrayOptions)),a}(o,n)),o=n,a=null,u=0,e&&e.length&&t.notifySubscribers(e,y)}}s?e():(s=!0,r=t.subscribe((function(){++u}),null,"spectate"),o=[].concat(t.peek()||[]),a=null,i=t.subscribe(e))}()},t.afterSubscriptionRemove=function(n){c&&c.call(t,n),n!==y||t.hasSubscriptionsForEvent(y)||(i&&i.dispose(),r&&r.dispose(),r=i=null,s=!1,o=e)},t.cacheDiffForKnownOperation=function(e,t,n){if(s&&!u){var i=[],r=e.length,o=n.length,d=0;switch(t){case"push":d=r;case"unshift":for(var c=0;c<o;c++)y("added",n[c],d+c);break;case"pop":d=r-1;case"shift":r&&y("deleted",e[d],d);break;case"splice":for(var p=Math.min(Math.max(0,n[0]<0?r+n[0]:n[0]),r),f=1===o?r:Math.min(p+(n[1]||0),r),m=p+o-2,v=Math.max(f,m),b=[],g=[],h=(c=p,2);c<v;++c,++h)c<f&&g.push(y("deleted",e[c],c)),c<m&&b.push(y("added",n[h],c));l.utils.findMovesInArrayComparison(g,b);break;default:return}a=i}function y(e,t,n){return i[i.length]={status:e,value:t,index:n}}}}};var x=l.utils.createSymbolOrString("_state");function E(e,t){null!==t&&t.dispose&&t.dispose()}function w(e,t){var n=this.computedObservable,i=n[x];i.isDisposed||(this.disposalCount&&this.disposalCandidates[t]?(n.addDependencyTracking(t,e,this.disposalCandidates[t]),this.disposalCandidates[t]=null,--this.disposalCount):i.dependencyTracking[t]||n.addDependencyTracking(t,e,i.isSleeping?{_target:e}:n.subscribeToDependency(e)),e._notificationIsPending&&e._notifyNextChangeIfValueIsDifferent())}l.computed=l.dependentObservable=function(t,n,i){if("object"==typeof t?i=t:(i=i||{},t&&(i.read=t)),"function"!=typeof i.read)throw Error("Pass a function that returns the value of the ko.computed");var r=i.write,o={latestValue:e,isStale:!0,isDirty:!0,isBeingEvaluated:!1,suppressDisposalUntilDisposeWhenReturnsFalse:!1,isDisposed:!1,pure:!1,isSleeping:!1,readFunction:i.read,evaluatorFunctionTarget:n||i.owner,disposeWhenNodeIsRemoved:i.disposeWhenNodeIsRemoved||i.disposeWhenNodeIsRemoved||null,disposeWhen:i.disposeWhen||i.disposeWhen,domNodeDisposalCallback:null,dependencyTracking:{},dependenciesCount:0,evaluationTimeoutInstance:null};function s(){if(arguments.length>0){if("function"!=typeof r)throw new 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 r.apply(o.evaluatorFunctionTarget,arguments),this}return o.isDisposed||l.dependencyDetection.registerDependency(s),(o.isDirty||o.isSleeping&&s.haveDependenciesChanged())&&s.evaluateImmediate(),o.latestValue}return s[x]=o,s.hasWriteFunction="function"==typeof r,l.utils.canSetPrototype||l.utils.extend(s,l.subscribable.fn),l.subscribable.fn.init(s),l.utils.setPrototypeOfOrExtend(s,C),i.pure?(o.pure=!0,o.isSleeping=!0,l.utils.extend(s,D)):i.deferEvaluation&&l.utils.extend(s,S),l.options.deferUpdates&&l.extenders.deferred(s,!0),s._options=i,o.disposeWhenNodeIsRemoved&&(o.suppressDisposalUntilDisposeWhenReturnsFalse=!0,o.disposeWhenNodeIsRemoved.nodeType||(o.disposeWhenNodeIsRemoved=null)),o.isSleeping||i.deferEvaluation||s.evaluateImmediate(),o.disposeWhenNodeIsRemoved&&s.isActive()&&l.utils.domNodeDisposal.addDisposeCallback(o.disposeWhenNodeIsRemoved,o.domNodeDisposalCallback=function(){s.dispose()}),s};var C={equalityComparer:d,getDependenciesCount:function(){return this[x].dependenciesCount},getDependencies:function(){var e=this[x].dependencyTracking,t=[];return l.utils.objectForEach(e,(function(e,n){t[n._order]=n._target})),t},hasAncestorDependency:function(e){if(!this[x].dependenciesCount)return!1;var t=this.getDependencies();return-1!==l.utils.arrayIndexOf(t,e)||!!l.utils.arrayFirst(t,(function(t){return t.hasAncestorDependency&&t.hasAncestorDependency(e)}))},addDependencyTracking:function(e,t,n){if(this[x].pure&&t===this)throw Error("A 'pure' computed must not be called recursively");this[x].dependencyTracking[e]=n,n._order=this[x].dependenciesCount++,n._version=t.getVersion()},haveDependenciesChanged:function(){var e,t,n=this[x].dependencyTracking;for(e in n)if(Object.prototype.hasOwnProperty.call(n,e)&&(t=n[e],this._evalDelayed&&t._target._notificationIsPending||t._target.hasChanged(t._version)))return!0},markDirty:function(){this._evalDelayed&&!this[x].isBeingEvaluated&&this._evalDelayed(!1)},isActive:function(){var e=this[x];return e.isDirty||e.dependenciesCount>0},respondToChange:function(){this._notificationIsPending?this[x].isDirty&&(this[x].isStale=!0):this.evaluatePossiblyAsync()},subscribeToDependency:function(e){if(e._deferUpdates){var t=e.subscribe(this.markDirty,this,"dirty"),n=e.subscribe(this.respondToChange,this);return{_target:e,dispose:function(){t.dispose(),n.dispose()}}}return e.subscribe(this.evaluatePossiblyAsync,this)},evaluatePossiblyAsync:function(){var e=this,t=e.throttleEvaluation;t&&t>=0?(clearTimeout(this[x].evaluationTimeoutInstance),this[x].evaluationTimeoutInstance=l.utils.setTimeout((function(){e.evaluateImmediate(!0)}),t)):e._evalDelayed?e._evalDelayed(!0):e.evaluateImmediate(!0)},evaluateImmediate:function(e){var t=this[x],n=t.disposeWhen,i=!1;if(!t.isBeingEvaluated&&!t.isDisposed){if(t.disposeWhenNodeIsRemoved&&!l.utils.domNodeIsAttachedToDocument(t.disposeWhenNodeIsRemoved)||n&&n()){if(!t.suppressDisposalUntilDisposeWhenReturnsFalse)return void this.dispose()}else t.suppressDisposalUntilDisposeWhenReturnsFalse=!1;t.isBeingEvaluated=!0;try{i=this.evaluateImmediate_CallReadWithDependencyDetection(e)}finally{t.isBeingEvaluated=!1}return i}},evaluateImmediate_CallReadWithDependencyDetection:function(t){var n=this,i=n[x],r=!1,o=i.pure?e:!i.dependenciesCount,s={computedObservable:n,disposalCandidates:i.dependencyTracking,disposalCount:i.dependenciesCount};l.dependencyDetection.begin({callbackTarget:s,callback:w,computed:n,isInitial:o}),i.dependencyTracking={},i.dependenciesCount=0;var a=this.evaluateImmediate_CallReadThenEndDependencyDetection(i,s);return i.dependenciesCount?r=n.isDifferent(i.latestValue,a):(n.dispose(),r=!0),r&&(i.isSleeping?n.updateVersion():n.notifySubscribers(i.latestValue,"beforeChange"),i.latestValue=a,n._latestValue=a,n.notifySubscribers(i.latestValue,"spectate"),!i.isSleeping&&t&&n.notifySubscribers(i.latestValue),n._recordUpdate&&n._recordUpdate()),o&&n.notifySubscribers(i.latestValue,"awake"),r},evaluateImmediate_CallReadThenEndDependencyDetection:function(e,t){try{var n=e.readFunction;return e.evaluatorFunctionTarget?n.call(e.evaluatorFunctionTarget):n()}finally{l.dependencyDetection.end(),t.disposalCount&&!e.isSleeping&&l.utils.objectForEach(t.disposalCandidates,E),e.isStale=e.isDirty=!1}},peek:function(e){var t=this[x];return(t.isDirty&&(e||!t.dependenciesCount)||t.isSleeping&&this.haveDependenciesChanged())&&this.evaluateImmediate(),t.latestValue},limit:function(e){l.subscribable.fn.limit.call(this,e),this._evalIfChanged=function(){return this[x].isSleeping||(this[x].isStale?this.evaluateImmediate():this[x].isDirty=!1),this[x].latestValue},this._evalDelayed=function(e){this._limitBeforeChange(this[x].latestValue),this[x].isDirty=!0,e&&(this[x].isStale=!0),this._limitChange(this,!e)}},dispose:function(){var t=this[x];!t.isSleeping&&t.dependencyTracking&&l.utils.objectForEach(t.dependencyTracking,(function(e,t){t.dispose&&t.dispose()})),t.disposeWhenNodeIsRemoved&&t.domNodeDisposalCallback&&l.utils.domNodeDisposal.removeDisposeCallback(t.disposeWhenNodeIsRemoved,t.domNodeDisposalCallback),t.dependencyTracking=e,t.dependenciesCount=0,t.isDisposed=!0,t.isStale=!1,t.isDirty=!1,t.isSleeping=!1,t.disposeWhenNodeIsRemoved=e,t.disposeWhen=e,t.readFunction=e,this.hasWriteFunction||(t.evaluatorFunctionTarget=e)}},D={beforeSubscriptionAdd:function(e){var t=this,n=t[x];if(!n.isDisposed&&n.isSleeping&&"change"==e){if(n.isSleeping=!1,n.isStale||t.haveDependenciesChanged())n.dependencyTracking=null,n.dependenciesCount=0,t.evaluateImmediate()&&t.updateVersion();else{var i=[];l.utils.objectForEach(n.dependencyTracking,(function(e,t){i[t._order]=e})),l.utils.arrayForEach(i,(function(e,i){var r=n.dependencyTracking[e],o=t.subscribeToDependency(r._target);o._order=i,o._version=r._version,n.dependencyTracking[e]=o})),t.haveDependenciesChanged()&&t.evaluateImmediate()&&t.updateVersion()}n.isDisposed||t.notifySubscribers(n.latestValue,"awake")}},afterSubscriptionRemove:function(t){var n=this[x];n.isDisposed||"change"!=t||this.hasSubscriptionsForEvent("change")||(l.utils.objectForEach(n.dependencyTracking,(function(e,t){t.dispose&&(n.dependencyTracking[e]={_target:t._target,_order:t._order,_version:t._version},t.dispose())})),n.isSleeping=!0,this.notifySubscribers(e,"asleep"))},getVersion:function(){var e=this[x];return e.isSleeping&&(e.isStale||this.haveDependenciesChanged())&&this.evaluateImmediate(),l.subscribable.fn.getVersion.call(this)}},S={beforeSubscriptionAdd:function(e){"change"!=e&&"beforeChange"!=e||this.peek()}};l.utils.canSetPrototype&&l.utils.setPrototypeOf(C,l.subscribable.fn);var N,T,k,O=l.observable.protoProperty;C[O]=l.computed,l.isComputed=function(e){return"function"==typeof e&&e[O]===C[O]},l.isPureComputed=function(e){return l.isComputed(e)&&e[x]&&e[x].pure},l.exportSymbol("computed",l.computed),l.exportSymbol("dependentObservable",l.computed),l.exportSymbol("isComputed",l.isComputed),l.exportSymbol("isPureComputed",l.isPureComputed),l.exportSymbol("computed.fn",C),l.exportProperty(C,"peek",C.peek),l.exportProperty(C,"dispose",C.dispose),l.exportProperty(C,"isActive",C.isActive),l.exportProperty(C,"getDependenciesCount",C.getDependenciesCount),l.exportProperty(C,"getDependencies",C.getDependencies),l.pureComputed=function(e,t){return"function"==typeof e?l.computed(e,t,{pure:!0}):((e=l.utils.extend({},e)).pure=!0,l.computed(e,t))},l.exportSymbol("pureComputed",l.pureComputed),function(){function t(i,r,o){if(o=o||new n,"object"!=typeof(i=r(i))||null===i||i===e||i instanceof RegExp||i instanceof Date||i instanceof String||i instanceof Number||i instanceof Boolean)return i;var s=i instanceof Array?[]:{};return o.save(i,s),function(e,t){if(e instanceof Array){for(var n=0;n<e.length;n++)t(n);"function"==typeof e.toJSON&&t("toJSON")}else for(var i in e)t(i)}(i,(function(n){var a=r(i[n]);switch(typeof a){case"boolean":case"number":case"string":case"function":s[n]=a;break;case"object":case"undefined":var l=o.get(a);s[n]=l!==e?l:t(a,r,o)}})),s}function n(){this.keys=[],this.values=[]}l.toJS=function(e){if(0==arguments.length)throw new Error("When calling ko.toJS, pass the object you want to convert.");return t(e,(function(e){for(var t=0;l.isObservable(e)&&t<10;t++)e=e();return e}))},l.toJSON=function(e,t,n){var i=l.toJS(e);return l.utils.stringifyJson(i,t,n)},n.prototype={constructor:n,save:function(e,t){var n=l.utils.arrayIndexOf(this.keys,e);n>=0?this.values[n]=t:(this.keys.push(e),this.values.push(t))},get:function(t){var n=l.utils.arrayIndexOf(this.keys,t);return n>=0?this.values[n]:e}}}(),l.exportSymbol("toJS",l.toJS),l.exportSymbol("toJSON",l.toJSON),l.when=function(e,t,n){function i(t){var i=l.pureComputed(e,n).extend({notify:"always"}),r=i.subscribe((function(e){e&&(r.dispose(),t(e))}));return i.notifySubscribers(i.peek()),r}return"function"!=typeof Promise||t?i(t.bind(n)):new Promise(i)},l.exportSymbol("when",l.when),N="__ko__hasDomDataOptionValue__",l.selectExtensions={readValue:function(t){switch(l.utils.tagNameLower(t)){case"option":return!0===t[N]?l.utils.domData.get(t,l.bindingHandlers.options.optionValueDomDataKey):l.utils.ieVersion<=7?t.getAttributeNode("value")&&t.getAttributeNode("value").specified?t.value:t.text:t.value;case"select":return t.selectedIndex>=0?l.selectExtensions.readValue(t.options[t.selectedIndex]):e;default:return t.value}},writeValue:function(t,n,i){switch(l.utils.tagNameLower(t)){case"option":"string"==typeof n?(l.utils.domData.set(t,l.bindingHandlers.options.optionValueDomDataKey,e),N in t&&delete t[N],t.value=n):(l.utils.domData.set(t,l.bindingHandlers.options.optionValueDomDataKey,n),t[N]=!0,t.value="number"==typeof n?n:"");break;case"select":""!==n&&null!==n||(n=e);for(var r,o=-1,s=0,a=t.options.length;s<a;++s)if((r=l.selectExtensions.readValue(t.options[s]))==n||""===r&&n===e){o=s;break}(i||o>=0||n===e&&t.size>1)&&(t.selectedIndex=o,6===l.utils.ieVersion&&l.utils.setTimeout((function(){t.selectedIndex=o}),0));break;default:null!==n&&n!==e||(n=""),t.value=n}}},l.exportSymbol("selectExtensions",l.selectExtensions),l.exportSymbol("selectExtensions.readValue",l.selectExtensions.readValue),l.exportSymbol("selectExtensions.writeValue",l.selectExtensions.writeValue),l.expressionRewriting=function(){var e=["true","false","null","undefined"],t=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,n=",\"'`{}()/:[\\]",i=RegExp(['"(?:\\\\.|[^"])*"',"'(?:\\\\.|[^'])*'","`(?:\\\\.|[^`])*`","/\\*(?:[^*]|\\*+[^*/])*\\*+/","//.*\n","/(?:\\\\.|[^/])+/w*","[^\\s:,/][^"+n+"]*[^\\s"+n+"]","[^\\s]"].join("|"),"g"),r=/[\])"'A-Za-z0-9_$]+$/,o={in:1,return:1,typeof:1};function s(e){var t=l.utils.stringTrim(e);123===t.charCodeAt(0)&&(t=t.slice(1,-1));var n,s=[],a=(t+="\n,").match(i),u=[],d=0;if(a.length>1){for(var c,p=0;c=a[p];++p){var f=c.charCodeAt(0);if(44===f){if(d<=0){s.push(n&&u.length?{key:n,value:u.join("")}:{unknown:n||u.join("")}),n=d=0,u=[];continue}}else if(58===f){if(!d&&!n&&1===u.length){n=u.pop();continue}}else{if(47===f&&c.length>1&&(47===c.charCodeAt(1)||42===c.charCodeAt(1)))continue;if(47===f&&p&&c.length>1){var m=a[p-1].match(r);m&&!o[m[0]]&&(a=(t=t.substr(t.indexOf(c)+1)).match(i),p=-1,c="/")}else 40===f||123===f||91===f?++d:41===f||125===f||93===f?--d:n||u.length||34!==f&&39!==f||(c=c.slice(1,-1))}u.push(c)}if(d>0)throw Error("Unbalanced parentheses, braces, or brackets")}return s}var a={};return{bindingRewriteValidators:[],twoWayBindings:a,parseObjectLiteral:s,preProcessBindings:function(n,i){function r(n,i){var s,p;if(!c){if((p=l.getBindingHandler(n))&&p.preprocess&&!(i=p.preprocess(i,n,r)))return;if(a[n]&&(s=function(n){if(l.utils.arrayIndexOf(e,n)>=0)return!1;var i=n.match(t);return null!==i&&(i[1]?"Object("+i[1]+")"+i[2]:n)}(i))){var f="string"==typeof a[n]?a[n]:n;u.push("'"+f+"':function(_z){"+s+"=_z}")}}d&&(i="function(){return "+i+" }"),o.push("'"+n+"':"+i)}var o=[],u=[],d=(i=i||{}).valueAccessors,c=i.bindingParams,p="string"==typeof n?s(n):n;return l.utils.arrayForEach(p,(function(e){r(e.key||e.unknown,e.value)})),u.length&&r("_ko_property_writers","{"+u.join(",")+" }"),o.join(",")},keyValueArrayContainsKey:function(e,t){for(var n=0;n<e.length;n++)if(e[n].key==t)return!0;return!1},writeValueToProperty:function(e,t,n,i,r){if(e&&l.isObservable(e))!l.isWriteableObservable(e)||r&&e.peek()===i||e(i);else{var o=t.get("_ko_property_writers");o&&o[n]&&o[n](i)}}}}(),l.exportSymbol("expressionRewriting",l.expressionRewriting),l.exportSymbol("expressionRewriting.bindingRewriteValidators",l.expressionRewriting.bindingRewriteValidators),l.exportSymbol("expressionRewriting.parseObjectLiteral",l.expressionRewriting.parseObjectLiteral),l.exportSymbol("expressionRewriting.preProcessBindings",l.expressionRewriting.preProcessBindings),l.exportSymbol("expressionRewriting._twoWayBindings",l.expressionRewriting.twoWayBindings),l.exportSymbol("jsonExpressionRewriting",l.expressionRewriting),l.exportSymbol("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",l.expressionRewriting.preProcessBindings),function(){var e=i&&"\x3c!--test--\x3e"===i.createComment("test").text,t=e?/^<!--\s*ko(?:\s+([\s\S]+))?\s*-->$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,n=e?/^<!--\s*\/ko\s*-->$/:/^\s*\/ko\s*$/,r={ul:!0,ol:!0};function o(n){return 8==n.nodeType&&t.test(e?n.text:n.nodeValue)}function s(t){return 8==t.nodeType&&n.test(e?t.text:t.nodeValue)}var a="__ko_matchedEndComment__";function u(e,t){for(var n=e,i=1,r=[];n=n.nextSibling;){if(s(n)&&(l.utils.domData.set(n,a,!0),0==--i))return r;r.push(n),o(n)&&i++}if(!t)throw new Error("Cannot find closing comment tag to match: "+e.nodeValue);return null}function d(e,t){var n=u(e,t);return n?n.length>0?n[n.length-1].nextSibling:e.nextSibling:null}function c(e){var t=e.firstChild,n=null;if(t)do{if(n)n.push(t);else if(o(t)){var i=d(t,!0);i?t=i:n=[t]}else s(t)&&(n=[t])}while(t=t.nextSibling);return n}l.virtualElements={allowedBindings:{},childNodes:function(e){return o(e)?u(e):e.childNodes},emptyNode:function(e){if(o(e))for(var t=l.virtualElements.childNodes(e),n=0,i=t.length;n<i;n++)l.removeNode(t[n]);else l.utils.emptyDomNode(e)},setDomNodeChildren:function(e,t){if(o(e)){l.virtualElements.emptyNode(e);for(var n=e.nextSibling,i=0,r=t.length;i<r;i++)n.parentNode.insertBefore(t[i],n)}else l.utils.setDomNodeChildren(e,t)},prepend:function(e,t){var n;o(e)?(n=e.nextSibling,e=e.parentNode):n=e.firstChild,n?t!==n&&e.insertBefore(t,n):e.appendChild(t)},insertAfter:function(e,t,n){if(n){var i=n.nextSibling;o(e)&&(e=e.parentNode),i?t!==i&&e.insertBefore(t,i):e.appendChild(t)}else l.virtualElements.prepend(e,t)},firstChild:function(e){if(o(e))return!e.nextSibling||s(e.nextSibling)?null:e.nextSibling;if(e.firstChild&&s(e.firstChild))throw new Error("Found invalid end comment, as the first child of "+e);return e.firstChild},nextSibling:function(e){if(o(e)&&(e=d(e)),e.nextSibling&&s(e.nextSibling)){if(function(e){return s(e)&&!l.utils.domData.get(e,a)}(e.nextSibling))throw Error("Found end comment without a matching opening comment, as child of "+e);return null}return e.nextSibling},hasBindingValue:o,virtualNodeBindingValue:function(n){var i=(e?n.text:n.nodeValue).match(t);return i?i[1]:null},normaliseVirtualElementDomStructure:function(e){if(r[l.utils.tagNameLower(e)]){var t=e.firstChild;if(t)do{if(1===t.nodeType){var n=c(t);if(n)for(var i=t.nextSibling,o=0;o<n.length;o++)i?e.insertBefore(n[o],i):e.appendChild(n[o])}}while(t=t.nextSibling)}}}}(),l.exportSymbol("virtualElements",l.virtualElements),l.exportSymbol("virtualElements.allowedBindings",l.virtualElements.allowedBindings),l.exportSymbol("virtualElements.emptyNode",l.virtualElements.emptyNode),l.exportSymbol("virtualElements.insertAfter",l.virtualElements.insertAfter),l.exportSymbol("virtualElements.prepend",l.virtualElements.prepend),l.exportSymbol("virtualElements.setDomNodeChildren",l.virtualElements.setDomNodeChildren),T="data-bind",l.bindingProvider=function(){this.bindingCache={}},l.utils.extend(l.bindingProvider.prototype,{nodeHasBindings:function(e){switch(e.nodeType){case 1:return null!=e.getAttribute(T)||l.components.getComponentNameForNode(e);case 8:return l.virtualElements.hasBindingValue(e);default:return!1}},getBindings:function(e,t){var n=this.getBindingsString(e,t),i=n?this.parseBindingsString(n,t,e):null;return l.components.addBindingsForCustomElement(i,e,t,!1)},getBindingAccessors:function(e,t){var n=this.getBindingsString(e,t),i=n?this.parseBindingsString(n,t,e,{valueAccessors:!0}):null;return l.components.addBindingsForCustomElement(i,e,t,!0)},getBindingsString:function(e,t){switch(e.nodeType){case 1:return e.getAttribute(T);case 8:return l.virtualElements.virtualNodeBindingValue(e);default:return null}},parseBindingsString:function(e,t,n,i){try{var r=function(e,t,n){var i=e+(n&&n.valueAccessors||"");return t[i]||(t[i]=function(e,t){var n=l.expressionRewriting.preProcessBindings(e,t);return new Function("$context","$element","with($context){with($data||{}){return{"+n+"}}}")}(e,n))}(e,this.bindingCache,i);return r(t,n)}catch(t){throw t.message="Unable to parse bindings.\nBindings value: "+e+"\nMessage: "+t.message,t}}}),l.bindingProvider.instance=new l.bindingProvider,l.exportSymbol("bindingProvider",l.bindingProvider),function(){var t=l.utils.createSymbolOrString("_subscribable"),r=l.utils.createSymbolOrString("_ancestorBindingInfo"),s=l.utils.createSymbolOrString("_dataDependency");l.bindingHandlers={};var a={script:!0,textarea:!0,template:!0};l.getBindingHandler=function(e){return l.bindingHandlers[e]};var u={};l.bindingContext=function(n,i,o,a,d){function c(){var e=b?v():v,n=l.utils.unwrapObservable(e);return i?(l.utils.extend(f,i),r in i&&(f[r]=i[r])):(f.$parents=[],f.$root=n,f.ko=l),f[t]=p,m?n=f.$data:(f.$rawData=e,f.$data=n),o&&(f[o]=n),a&&a(f,i,n),i&&i[t]&&!l.computedContext.computed().hasAncestorDependency(i[t])&&i[t](),g&&(f[s]=g),f.$data}var p,f=this,m=n===u,v=m?e:n,b="function"==typeof v&&!l.isObservable(v),g=d&&d.dataDependency;d&&d.exportDependencies?c():((p=l.pureComputed(c)).peek(),p.isActive()?p.equalityComparer=null:f[t]=e)},l.bindingContext.prototype.createChildContext=function(e,t,n,i){if(!i&&t&&"object"==typeof t&&(t=(i=t).as,n=i.extend),t&&i&&i.noChildContext){var r="function"==typeof e&&!l.isObservable(e);return new l.bindingContext(u,this,null,(function(i){n&&n(i),i[t]=r?e():e}),i)}return new l.bindingContext(e,this,t,(function(e,t){e.$parentContext=t,e.$parent=t.$data,e.$parents=(t.$parents||[]).slice(0),e.$parents.unshift(e.$parent),n&&n(e)}),i)},l.bindingContext.prototype.extend=function(e,t){return new l.bindingContext(u,this,null,(function(t,n){l.utils.extend(t,"function"==typeof e?e(t):e)}),t)};var d=l.utils.domData.nextKey();function c(e){var t=l.utils.domData.get(e,d),n=t&&t.asyncContext;n&&(t.asyncContext=null,n.notifyAncestor())}function p(e,t,n){this.node=e,this.bindingInfo=t,this.asyncDescendants=[],this.childrenComplete=!1,t.asyncContext||l.utils.domNodeDisposal.addDisposeCallback(e,c),n&&n.asyncContext&&(n.asyncContext.asyncDescendants.push(e),this.ancestorBindingInfo=n)}function f(e){return function(){return e}}function m(e){return e()}function v(e){return l.utils.objectMap(l.dependencyDetection.ignore(e),(function(t,n){return function(){return e()[n]}}))}function b(e,t){return v(this.getBindings.bind(this,e,t))}function g(e,t){var n=l.virtualElements.firstChild(t);if(n){var i,r=l.bindingProvider.instance,o=r.preprocessNode;if(o){for(;i=n;)n=l.virtualElements.nextSibling(i),o.call(r,i);n=l.virtualElements.firstChild(t)}for(;i=n;)n=l.virtualElements.nextSibling(i),h(e,i)}l.bindingEvent.notify(t,l.bindingEvent.childrenComplete)}function h(e,t){var n=e,i=1===t.nodeType;i&&l.virtualElements.normaliseVirtualElementDomStructure(t),(i||l.bindingProvider.instance.nodeHasBindings(t))&&(n=y(t,null,e).bindingContextForDescendants),n&&!a[l.utils.tagNameLower(t)]&&g(n,t)}function y(n,i,r){var o,a=l.utils.domData.getOrSet(n,d,{}),u=a.alreadyBound;if(!i){if(u)throw Error("You cannot apply bindings multiple times to the same element.");a.alreadyBound=!0}if(u||(a.context=r),a.notifiedEvents||(a.notifiedEvents={}),i&&"function"!=typeof i)o=i;else{var c=l.bindingProvider.instance,p=c.getBindingAccessors||b,f=l.dependentObservable((function(){return(o=i?i(r,n):p.call(c,n,r))&&(r[t]&&r[t](),r[s]&&r[s]()),o}),null,{disposeWhenNodeIsRemoved:n});o&&f.isActive()||(f=null)}var v,g=r;if(o){var h=f?function(e){return function(){return m(f()[e])}}:function(e){return o[e]};function y(){return l.utils.objectMap(f?f():o,m)}y.get=function(e){return o[e]&&m(h(e))},y.has=function(e){return e in o},l.bindingEvent.childrenComplete in o&&l.bindingEvent.subscribe(n,l.bindingEvent.childrenComplete,(function(){var e=m(o[l.bindingEvent.childrenComplete]);if(e){var t=l.virtualElements.childNodes(n);t.length&&e(t,l.dataFor(t[0]))}})),l.bindingEvent.descendantsComplete in o&&(g=l.bindingEvent.startPossiblyAsyncContentBinding(n,r),l.bindingEvent.subscribe(n,l.bindingEvent.descendantsComplete,(function(){var e=m(o[l.bindingEvent.descendantsComplete]);e&&l.virtualElements.firstChild(n)&&e(n)})));var x=function(e){var t=[],n={},i=[];return l.utils.objectForEach(e,(function r(o){if(!n[o]){var s=l.getBindingHandler(o);s&&(s.after&&(i.push(o),l.utils.arrayForEach(s.after,(function(t){if(e[t]){if(-1!==l.utils.arrayIndexOf(i,t))throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+i.join(", "));r(t)}})),i.length--),t.push({key:o,handler:s})),n[o]=!0}})),t}(o);l.utils.arrayForEach(x,(function(t){var i=t.handler.init,r=t.handler.update,s=t.key;8===n.nodeType&&function(e){if(!l.virtualElements.allowedBindings[e])throw new Error("The binding '"+e+"' cannot be used with virtual elements")}(s);try{"function"==typeof i&&l.dependencyDetection.ignore((function(){var t=i(n,h(s),y,g.$data,g);if(t&&t.controlsDescendantBindings){if(v!==e)throw new Error("Multiple bindings ("+v+" and "+s+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");v=s}})),"function"==typeof r&&l.dependentObservable((function(){r(n,h(s),y,g.$data,g)}),null,{disposeWhenNodeIsRemoved:n})}catch(e){throw e.message='Unable to process binding "'+s+": "+o[s]+'"\nMessage: '+e.message,e}}))}var E=v===e;return{shouldBindDescendants:E,bindingContextForDescendants:E&&g}}function x(t,n){return t&&t instanceof l.bindingContext?t:new l.bindingContext(t,e,e,n)}p.prototype.notifyAncestor=function(){this.ancestorBindingInfo&&this.ancestorBindingInfo.asyncContext&&this.ancestorBindingInfo.asyncContext.descendantComplete(this.node)},p.prototype.descendantComplete=function(e){l.utils.arrayRemoveItem(this.asyncDescendants,e),!this.asyncDescendants.length&&this.childrenComplete&&this.completeChildren()},p.prototype.completeChildren=function(){this.childrenComplete=!0,this.bindingInfo.asyncContext&&!this.asyncDescendants.length&&(this.bindingInfo.asyncContext=null,l.utils.domNodeDisposal.removeDisposeCallback(this.node,c),l.bindingEvent.notify(this.node,l.bindingEvent.descendantsComplete),this.notifyAncestor())},l.bindingEvent={childrenComplete:"childrenComplete",descendantsComplete:"descendantsComplete",subscribe:function(e,t,n,i,r){var o=l.utils.domData.getOrSet(e,d,{});return o.eventSubscribable||(o.eventSubscribable=new l.subscribable),r&&r.notifyImmediately&&o.notifiedEvents[t]&&l.dependencyDetection.ignore(n,i,[e]),o.eventSubscribable.subscribe(n,i,t)},notify:function(t,n){var i=l.utils.domData.get(t,d);if(i&&(i.notifiedEvents[n]=!0,i.eventSubscribable&&i.eventSubscribable.notifySubscribers(t,n),n==l.bindingEvent.childrenComplete))if(i.asyncContext)i.asyncContext.completeChildren();else if(i.asyncContext===e&&i.eventSubscribable&&i.eventSubscribable.hasSubscriptionsForEvent(l.bindingEvent.descendantsComplete))throw new Error("descendantsComplete event not supported for bindings on this node")},startPossiblyAsyncContentBinding:function(e,t){var n=l.utils.domData.getOrSet(e,d,{});return n.asyncContext||(n.asyncContext=new p(e,n,t[r])),t[r]==n?t:t.extend((function(e){e[r]=n}))}},l.storedBindingContextForNode=function(e){var t=l.utils.domData.get(e,d);return t&&t.context},l.applyBindingAccessorsToNode=function(e,t,n){return 1===e.nodeType&&l.virtualElements.normaliseVirtualElementDomStructure(e),y(e,t,x(n))},l.applyBindingsToNode=function(e,t,n){var i=x(n);return l.applyBindingAccessorsToNode(e,function(e,t,n){return"function"==typeof e?v(e.bind(null,t,n)):l.utils.objectMap(e,f)}(t,i,e),i)},l.applyBindingsToDescendants=function(e,t){1!==t.nodeType&&8!==t.nodeType||g(x(e),t)},l.applyBindings=function(e,t,r){if(!o&&n.jQuery&&(o=n.jQuery),arguments.length<2){if(!(t=i.body))throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!t||1!==t.nodeType&&8!==t.nodeType)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");h(x(e,r),t)},l.contextFor=function(t){return!t||1!==t.nodeType&&8!==t.nodeType?e:l.storedBindingContextForNode(t)},l.dataFor=function(t){var n=l.contextFor(t);return n?n.$data:e},l.exportSymbol("bindingHandlers",l.bindingHandlers),l.exportSymbol("bindingEvent",l.bindingEvent),l.exportSymbol("bindingEvent.subscribe",l.bindingEvent.subscribe),l.exportSymbol("bindingEvent.startPossiblyAsyncContentBinding",l.bindingEvent.startPossiblyAsyncContentBinding),l.exportSymbol("applyBindings",l.applyBindings),l.exportSymbol("applyBindingsToDescendants",l.applyBindingsToDescendants),l.exportSymbol("applyBindingAccessorsToNode",l.applyBindingAccessorsToNode),l.exportSymbol("applyBindingsToNode",l.applyBindingsToNode),l.exportSymbol("contextFor",l.contextFor),l.exportSymbol("dataFor",l.dataFor)}(),function(e){var t={},n={};function i(t,n){return Object.prototype.hasOwnProperty.call(t,n)?t[n]:e}function r(t,n,i,o){o||(o=l.components.loaders.slice(0));var s=o.shift();if(s){var a=s[t];if(a){var u=!1;if(a.apply(s,n.concat((function(e){u?i(null):null!==e?i(e):r(t,n,i,o)})))!==e&&(u=!0,!s.suppressLoaderExceptions))throw new Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else r(t,n,i,o)}else i(null)}l.components={get:function(e,o){var s=i(n,e);s?s.isSynchronousComponent?l.dependencyDetection.ignore((function(){o(s.definition)})):l.tasks.schedule((function(){o(s.definition)})):function(e,o){var s,a=i(t,e);a?a.subscribe(o):((a=t[e]=new l.subscribable).subscribe(o),function(e,t){r("getConfig",[e],(function(n){n?r("loadComponent",[e,n],(function(e){t(e,n)})):t(null,null)}))}(e,(function(i,r){var o=!(!r||!r.synchronous);n[e]={definition:i,isSynchronousComponent:o},delete t[e],s||o?a.notifySubscribers(i):l.tasks.schedule((function(){a.notifySubscribers(i)}))})),s=!0)}(e,o)},clearCachedDefinition:function(e){delete n[e]},_getFirstResultFromLoaders:r},l.components.loaders=[],l.exportSymbol("components",l.components),l.exportSymbol("components.get",l.components.get),l.exportSymbol("components.clearCachedDefinition",l.components.clearCachedDefinition)}(),function(e){var t={};l.components.register=function(e,n){if(!n)throw new Error("Invalid configuration for "+e);if(l.components.isRegistered(e))throw new Error("Component "+e+" is already registered");t[e]=n},l.components.isRegistered=function(e){return Object.prototype.hasOwnProperty.call(t,e)},l.components.unregister=function(e){delete t[e],l.components.clearCachedDefinition(e)},l.components.defaultLoader={getConfig:function(e,n){n(l.components.isRegistered(e)?t[e]:null)},loadComponent:function(e,t,n){var i=c(e);d(i,t,(function(t){!function(e,t,n,i){var o={},s=2,a=function(){0==--s&&i(o)},u=n.template,c=n.viewModel;u?d(t,u,(function(t){l.components._getFirstResultFromLoaders("loadTemplate",[e,t],(function(e){o.template=e,a()}))})):a(),c?d(t,c,(function(t){l.components._getFirstResultFromLoaders("loadViewModel",[e,t],(function(e){o[r]=e,a()}))})):a()}(e,i,t,n)}))},loadTemplate:function(e,t,r){!function(e,t,r){if("string"==typeof t)r(l.utils.parseHtmlFragment(t));else if(t instanceof Array)r(t);else if(u(t))r(l.utils.makeArray(t.childNodes));else if(t.element){var o=t.element;if(d=o,n.HTMLElement?d instanceof HTMLElement:d&&d.tagName&&1===d.nodeType)r(s(o));else if("string"==typeof o){var a=i.getElementById(o);a?r(s(a)):e("Cannot find element with ID "+o)}else e("Unknown element type: "+o)}else e("Unknown template value: "+t);var d}(c(e),t,r)},loadViewModel:function(e,t,n){o(c(e),t,n)}};var r="createViewModel";function o(e,t,n){if("function"==typeof t)n((function(e){return new t(e)}));else if("function"==typeof t[r])n(t[r]);else if("instance"in t){var i=t.instance;n((function(e,t){return i}))}else"viewModel"in t?o(e,t.viewModel,n):e("Unknown viewModel value: "+t)}function s(e){switch(l.utils.tagNameLower(e)){case"script":return l.utils.parseHtmlFragment(e.text);case"textarea":return l.utils.parseHtmlFragment(e.value);case"template":if(u(e.content))return l.utils.cloneNodes(e.content.childNodes)}return l.utils.cloneNodes(e.childNodes)}function u(e){return n.DocumentFragment?e instanceof DocumentFragment:e&&11===e.nodeType}function d(e,t,i){"string"==typeof t.require?a||n.require?(a||n.require)([t.require],(function(e){e&&"object"==typeof e&&e.__esModule&&e.default&&(e=e.default),i(e)})):e("Uses require, but no AMD loader is present"):i(t)}function c(e){return function(t){throw new Error("Component '"+e+"': "+t)}}l.exportSymbol("components.register",l.components.register),l.exportSymbol("components.isRegistered",l.components.isRegistered),l.exportSymbol("components.unregister",l.components.unregister),l.exportSymbol("components.defaultLoader",l.components.defaultLoader),l.components.loaders.push(l.components.defaultLoader),l.components._allRegisteredComponents=t}(),function(e){l.components.getComponentNameForNode=function(e){var t=l.utils.tagNameLower(e);if(l.components.isRegistered(t)&&(-1!=t.indexOf("-")||""+e=="[object HTMLUnknownElement]"||l.utils.ieVersion<=8&&e.tagName===t))return t},l.components.addBindingsForCustomElement=function(e,t,n,i){if(1===t.nodeType){var o=l.components.getComponentNameForNode(t);if(o){if((e=e||{}).component)throw new Error('Cannot use the "component" binding on a custom element matching a component');var s={name:o,params:r(t,n)};e.component=i?function(){return s}:s}}return e};var t,n=new l.bindingProvider;function r(e,t){var i=e.getAttribute("params");if(i){var r=n.parseBindingsString(i,t,e,{valueAccessors:!0,bindingParams:!0}),o=l.utils.objectMap(r,(function(t,n){return l.computed(t,null,{disposeWhenNodeIsRemoved:e})})),s=l.utils.objectMap(o,(function(t,n){var i=t.peek();return t.isActive()?l.computed({read:function(){return l.utils.unwrapObservable(t())},write:l.isWriteableObservable(i)&&function(e){t()(e)},disposeWhenNodeIsRemoved:e}):i}));return Object.prototype.hasOwnProperty.call(s,"$raw")||(s.$raw=o),s}return{$raw:{}}}l.utils.ieVersion<9&&(l.components.register=(t=l.components.register,function(e){return i.createElement(e),t.apply(this,arguments)}),i.createDocumentFragment=function(e){return function(){var t=e(),n=l.components._allRegisteredComponents;for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&t.createElement(i);return t}}(i.createDocumentFragment))}(),k=0,l.bindingHandlers.component={init:function(e,t,n,i,r){var o,s,a,u=function(){var e=o&&o.dispose;"function"==typeof e&&e.call(o),a&&a.dispose(),a=null,o=null,s=null},d=l.utils.makeArray(l.virtualElements.childNodes(e));return l.virtualElements.emptyNode(e),l.utils.domNodeDisposal.addDisposeCallback(e,u),l.computed((function(){var n,i,c=l.utils.unwrapObservable(t());if("string"==typeof c?n=c:(n=l.utils.unwrapObservable(c.name),i=l.utils.unwrapObservable(c.params)),!n)throw new Error("No component name specified");var p=l.bindingEvent.startPossiblyAsyncContentBinding(e,r),f=s=++k;l.components.get(n,(function(t){if(s===f){if(u(),!t)throw new Error("Unknown component '"+n+"'");!function(e,t,n){var i=t.template;if(!i)throw new Error("Component '"+e+"' has no template");var r=l.utils.cloneNodes(i);l.virtualElements.setDomNodeChildren(n,r)}(n,t,e);var r=function(e,t,n){var i=e.createViewModel;return i?i.call(e,t,n):t}(t,i,{element:e,templateNodes:d}),c=p.createChildContext(r,{extend:function(e){e.$component=r,e.$componentTemplateNodes=d}});r&&r.koDescendantsComplete&&(a=l.bindingEvent.subscribe(e,l.bindingEvent.descendantsComplete,r.koDescendantsComplete,r)),o=r,l.applyBindingsToDescendants(c,e)}}))}),null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}},l.virtualElements.allowedBindings.component=!0;var _={class:"className",for:"htmlFor"};l.bindingHandlers.attr={update:function(t,n,i){var r=l.utils.unwrapObservable(n())||{};l.utils.objectForEach(r,(function(n,i){i=l.utils.unwrapObservable(i);var r=n.indexOf(":"),o="lookupNamespaceURI"in t&&r>0&&t.lookupNamespaceURI(n.substr(0,r)),s=!1===i||null===i||i===e;s?o?t.removeAttributeNS(o,n):t.removeAttribute(n):i=i.toString(),l.utils.ieVersion<=8&&n in _?(n=_[n],s?t.removeAttribute(n):t[n]=i):s||(o?t.setAttributeNS(o,n,i):t.setAttribute(n,i)),"name"===n&&l.utils.setElementName(t,s?"":i)}))}},l.bindingHandlers.checked={after:["value","attr"],init:function(t,n,i){var r=l.pureComputed((function(){return i.has("checkedValue")?l.utils.unwrapObservable(i.get("checkedValue")):p?i.has("value")?l.utils.unwrapObservable(i.get("value")):t.value:void 0}));function o(){var o=t.checked,u=r();if(!l.computedContext.isInitial()&&(o||!a&&!l.computedContext.getDependenciesCount())){var p=l.dependencyDetection.ignore(n);if(d){var m=c?p.peek():p,v=f;f=u,v!==u?o&&(l.utils.addOrRemoveItem(m,u,!0),l.utils.addOrRemoveItem(m,v,!1)):l.utils.addOrRemoveItem(m,u,o),c&&l.isWriteableObservable(p)&&p(m)}else s&&(u===e?u=o:o||(u=e)),l.expressionRewriting.writeValueToProperty(p,i,"checked",u,!0)}}var s="checkbox"==t.type,a="radio"==t.type;if(s||a){var u=n(),d=s&&l.utils.unwrapObservable(u)instanceof Array,c=!(d&&u.push&&u.splice),p=a||d,f=d?r():e;a&&!t.name&&l.bindingHandlers.uniqueName.init(t,(function(){return!0})),l.computed(o,null,{disposeWhenNodeIsRemoved:t}),l.utils.registerEventHandler(t,"click",o),l.computed((function(){var i=l.utils.unwrapObservable(n()),o=r();d?(t.checked=l.utils.arrayIndexOf(i,o)>=0,f=o):t.checked=s&&o===e?!!i:r()===i}),null,{disposeWhenNodeIsRemoved:t}),u=e}}},l.expressionRewriting.twoWayBindings.checked=!0,l.bindingHandlers.checkedValue={update:function(e,t){e.value=l.utils.unwrapObservable(t())}};var I="__ko__cssValue";l.bindingHandlers.class={update:function(e,t){var n=l.utils.stringTrim(l.utils.unwrapObservable(t()));l.utils.toggleDomNodeCssClass(e,e[I],!1),e[I]=n,l.utils.toggleDomNodeCssClass(e,n,!0)}},l.bindingHandlers.css={update:function(e,t){var n=l.utils.unwrapObservable(t());null!==n&&"object"==typeof n?l.utils.objectForEach(n,(function(t,n){n=l.utils.unwrapObservable(n),l.utils.toggleDomNodeCssClass(e,t,n)})):l.bindingHandlers.class.update(e,t)}},l.bindingHandlers.enable={update:function(e,t){var n=l.utils.unwrapObservable(t());n&&e.disabled?e.removeAttribute("disabled"):n||e.disabled||(e.disabled=!0)}},l.bindingHandlers.disable={update:function(e,t){l.bindingHandlers.enable.update(e,(function(){return!l.utils.unwrapObservable(t())}))}},l.bindingHandlers.event={init:function(e,t,n,i,r){var o=t()||{};l.utils.objectForEach(o,(function(o){"string"==typeof o&&l.utils.registerEventHandler(e,o,(function(e){var s,a=t()[o];if(a){try{var u=l.utils.makeArray(arguments);i=r.$data,u.unshift(i),s=a.apply(i,u)}finally{!0!==s&&(e.preventDefault?e.preventDefault():e.returnValue=!1)}var d=!1!==n.get(o+"Bubble");d||(e.cancelBubble=!0,e.stopPropagation&&e.stopPropagation())}}))}))}},l.bindingHandlers.foreach={makeTemplateValueAccessor:function(e){return function(){var t=e(),n=l.utils.peekObservable(t);return n&&"number"!=typeof n.length?(l.utils.unwrapObservable(t),{foreach:n.data,as:n.as,noChildContext:n.noChildContext,includeDestroyed:n.includeDestroyed,afterAdd:n.afterAdd,beforeRemove:n.beforeRemove,afterRender:n.afterRender,beforeMove:n.beforeMove,afterMove:n.afterMove,templateEngine:l.nativeTemplateEngine.instance}):{foreach:t,templateEngine:l.nativeTemplateEngine.instance}}},init:function(e,t,n,i,r){return l.bindingHandlers.template.init(e,l.bindingHandlers.foreach.makeTemplateValueAccessor(t))},update:function(e,t,n,i,r){return l.bindingHandlers.template.update(e,l.bindingHandlers.foreach.makeTemplateValueAccessor(t),n,i,r)}},l.expressionRewriting.bindingRewriteValidators.foreach=!1,l.virtualElements.allowedBindings.foreach=!0;var A="__ko_hasfocusUpdating",R="__ko_hasfocusLastValue";l.bindingHandlers.hasfocus={init:function(e,t,n){var i=function(i){e[A]=!0;var r=e.ownerDocument;if("activeElement"in r){var o;try{o=r.activeElement}catch(e){o=r.body}i=o===e}var s=t();l.expressionRewriting.writeValueToProperty(s,n,"hasfocus",i,!0),e[R]=i,e[A]=!1},r=i.bind(null,!0),o=i.bind(null,!1);l.utils.registerEventHandler(e,"focus",r),l.utils.registerEventHandler(e,"focusin",r),l.utils.registerEventHandler(e,"blur",o),l.utils.registerEventHandler(e,"focusout",o),e[R]=!1},update:function(e,t){var n=!!l.utils.unwrapObservable(t());e[A]||e[R]===n||(n?e.focus():e.blur(),!n&&e[R]&&e.ownerDocument.body.focus(),l.dependencyDetection.ignore(l.utils.triggerEvent,null,[e,n?"focusin":"focusout"]))}},l.expressionRewriting.twoWayBindings.hasfocus=!0,l.bindingHandlers.hasFocus=l.bindingHandlers.hasfocus,l.expressionRewriting.twoWayBindings.hasFocus="hasfocus",l.bindingHandlers.html={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){l.utils.setHtml(e,t())}},function(){function e(e,t,n){l.bindingHandlers[e]={init:function(e,i,r,o,s){var a,u,d,c,p,f={};if(t){var m=r.get("as"),v=r.get("noChildContext");f={as:m,noChildContext:v,exportDependencies:p=!(m&&v)}}return d="render"==r.get("completeOn"),c=d||r.has(l.bindingEvent.descendantsComplete),l.computed((function(){var r,o=l.utils.unwrapObservable(i()),m=!n!=!o,v=!u;(p||m!==a)&&(c&&(s=l.bindingEvent.startPossiblyAsyncContentBinding(e,s)),m&&(t&&!p||(f.dataDependency=l.computedContext.computed()),r=t?s.createChildContext("function"==typeof o?o:i,f):l.computedContext.getDependenciesCount()?s.extend(null,f):s),v&&l.computedContext.getDependenciesCount()&&(u=l.utils.cloneNodes(l.virtualElements.childNodes(e),!0)),m?(v||l.virtualElements.setDomNodeChildren(e,l.utils.cloneNodes(u)),l.applyBindingsToDescendants(r,e)):(l.virtualElements.emptyNode(e),d||l.bindingEvent.notify(e,l.bindingEvent.childrenComplete)),a=m)}),null,{disposeWhenNodeIsRemoved:e}),{controlsDescendantBindings:!0}}},l.expressionRewriting.bindingRewriteValidators[e]=!1,l.virtualElements.allowedBindings[e]=!0}e("if"),e("ifnot",!1,!0),e("with",!0)}(),l.bindingHandlers.let={init:function(e,t,n,i,r){var o=r.extend(t);return l.applyBindingsToDescendants(o,e),{controlsDescendantBindings:!0}}},l.virtualElements.allowedBindings.let=!0;var F,B={};l.bindingHandlers.options={init:function(e){if("select"!==l.utils.tagNameLower(e))throw new Error("options binding applies only to SELECT elements");for(;e.length>0;)e.remove(0);return{controlsDescendantBindings:!0}},update:function(t,n,i){function r(){return l.utils.arrayFilter(t.options,(function(e){return e.selected}))}var o,s,a=0==t.length,u=t.multiple,d=!a&&u?t.scrollTop:null,c=l.utils.unwrapObservable(n()),p=i.get("valueAllowUnset")&&i.has("value"),f=i.get("optionsIncludeDestroyed"),m={},v=[];function b(e,t,n){var i=typeof t;return"function"==i?t(e):"string"==i?e[t]:n}p||(u?v=l.utils.arrayMap(r(),l.selectExtensions.readValue):t.selectedIndex>=0&&v.push(l.selectExtensions.readValue(t.options[t.selectedIndex]))),c&&(void 0===c.length&&(c=[c]),s=l.utils.arrayFilter(c,(function(t){return f||t===e||null===t||!l.utils.unwrapObservable(t._destroy)})),i.has("optionsCaption")&&null!==(o=l.utils.unwrapObservable(i.get("optionsCaption")))&&o!==e&&s.unshift(B));var g=!1;function h(e,n){if(g&&p)l.bindingEvent.notify(t,l.bindingEvent.childrenComplete);else if(v.length){var i=l.utils.arrayIndexOf(v,l.selectExtensions.readValue(n[0]))>=0;l.utils.setOptionNodeSelectionState(n[0],i),g&&!i&&l.dependencyDetection.ignore(l.utils.triggerEvent,null,[t,"change"])}}m.beforeRemove=function(e){t.removeChild(e)};var y=h;i.has("optionsAfterRender")&&"function"==typeof i.get("optionsAfterRender")&&(y=function(t,n){h(0,n),l.dependencyDetection.ignore(i.get("optionsAfterRender"),null,[n[0],t!==B?t:e])}),l.utils.setDomNodeChildrenFromArrayMapping(t,s,(function(n,r,o){o.length&&(v=!p&&o[0].selected?[l.selectExtensions.readValue(o[0])]:[],g=!0);var s=t.ownerDocument.createElement("option");if(n===B)l.utils.setTextContent(s,i.get("optionsCaption")),l.selectExtensions.writeValue(s,e);else{var a=b(n,i.get("optionsValue"),n);l.selectExtensions.writeValue(s,l.utils.unwrapObservable(a));var u=b(n,i.get("optionsText"),a);l.utils.setTextContent(s,u)}return[s]}),m,y),p||(u?v.length&&r().length<v.length:v.length&&t.selectedIndex>=0?l.selectExtensions.readValue(t.options[t.selectedIndex])!==v[0]:v.length||t.selectedIndex>=0)&&l.dependencyDetection.ignore(l.utils.triggerEvent,null,[t,"change"]),(p||l.computedContext.isInitial())&&l.bindingEvent.notify(t,l.bindingEvent.childrenComplete),l.utils.ensureSelectElementIsRenderedCorrectly(t),d&&Math.abs(d-t.scrollTop)>20&&(t.scrollTop=d)}},l.bindingHandlers.options.optionValueDomDataKey=l.utils.domData.nextKey(),l.bindingHandlers.selectedOptions={init:function(e,t,n){function i(){var i=t(),r=[];l.utils.arrayForEach(e.getElementsByTagName("option"),(function(e){e.selected&&r.push(l.selectExtensions.readValue(e))})),l.expressionRewriting.writeValueToProperty(i,n,"selectedOptions",r)}function r(){var n=l.utils.unwrapObservable(t()),i=e.scrollTop;n&&"number"==typeof n.length&&l.utils.arrayForEach(e.getElementsByTagName("option"),(function(e){var t=l.utils.arrayIndexOf(n,l.selectExtensions.readValue(e))>=0;e.selected!=t&&l.utils.setOptionNodeSelectionState(e,t)})),e.scrollTop=i}if("select"!=l.utils.tagNameLower(e))throw new Error("selectedOptions binding applies only to SELECT elements");var o;l.bindingEvent.subscribe(e,l.bindingEvent.childrenComplete,(function(){o?i():(l.utils.registerEventHandler(e,"change",i),o=l.computed(r,null,{disposeWhenNodeIsRemoved:e}))}),null,{notifyImmediately:!0})},update:function(){}},l.expressionRewriting.twoWayBindings.selectedOptions=!0,l.bindingHandlers.style={update:function(t,n){var i=l.utils.unwrapObservable(n()||{});l.utils.objectForEach(i,(function(n,i){if(null!==(i=l.utils.unwrapObservable(i))&&i!==e&&!1!==i||(i=""),o)o(t).css(n,i);else if(/^--/.test(n))t.style.setProperty(n,i);else{n=n.replace(/-(\w)/g,(function(e,t){return t.toUpperCase()}));var r=t.style[n];t.style[n]=i,i===r||t.style[n]!=r||isNaN(i)||(t.style[n]=i+"px")}}))}},l.bindingHandlers.submit={init:function(e,t,n,i,r){if("function"!=typeof t())throw new Error("The value for a submit binding must be a function");l.utils.registerEventHandler(e,"submit",(function(n){var i,o=t();try{i=o.call(r.$data,e)}finally{!0!==i&&(n.preventDefault?n.preventDefault():n.returnValue=!1)}}))}},l.bindingHandlers.text={init:function(){return{controlsDescendantBindings:!0}},update:function(e,t){l.utils.setTextContent(e,t())}},l.virtualElements.allowedBindings.text=!0,function(){if(n&&n.navigator){var t,i,r,o,s,a=function(e){if(e)return parseFloat(e[1])},u=n.navigator.userAgent;(t=n.opera&&n.opera.version&&parseInt(n.opera.version()))||(s=a(u.match(/Edge\/([^ ]+)$/)))||a(u.match(/Chrome\/([^ ]+)/))||(i=a(u.match(/Version\/([^ ]+) Safari/)))||(r=a(u.match(/Firefox\/([^ ]+)/)))||(o=l.utils.ieVersion||a(u.match(/MSIE ([^ ]+)/)))||(o=a(u.match(/rv:([^ )]+)/)))}if(o>=8&&o<10)var d=l.utils.domData.nextKey(),c=l.utils.domData.nextKey(),p=function(e){var t=this.activeElement,n=t&&l.utils.domData.get(t,c);n&&n(e)},f=function(e,t){var n=e.ownerDocument;l.utils.domData.get(n,d)||(l.utils.domData.set(n,d,!0),l.utils.registerEventHandler(n,"selectionchange",p)),l.utils.domData.set(e,c,t)};l.bindingHandlers.textInput={init:function(n,a,u){var d,c,p=n.value,m=function(t){clearTimeout(d),c=d=e;var i=n.value;p!==i&&(t&&(n._ko_textInputProcessedEvent=t.type),p=i,l.expressionRewriting.writeValueToProperty(a(),u,"textInput",i))},v=function(e){if(!d){c=n.value;var t=m.bind(n,{type:e.type});d=l.utils.setTimeout(t,4)}},b=9==l.utils.ieVersion?v:m,g=!1,h=function(){var t=l.utils.unwrapObservable(a());null!==t&&t!==e||(t=""),c===e||t!==c?n.value!==t&&(g=!0,n.value=t,g=!1,p=n.value):l.utils.setTimeout(h,4)},y=function(e,t){l.utils.registerEventHandler(n,e,t)};l.bindingHandlers.textInput._forceUpdateOn?l.utils.arrayForEach(l.bindingHandlers.textInput._forceUpdateOn,(function(e){"after"==e.slice(0,5)?y(e.slice(5),v):y(e,m)})):(o&&y("keypress",m),o<11&&y("propertychange",(function(e){g||"value"!==e.propertyName||b(e)})),8==o&&(y("keyup",m),y("keydown",m)),f&&(f(n,b),y("dragend",v)),(!o||o>=9)&&y("input",b),i<5&&"textarea"===l.utils.tagNameLower(n)?(y("keydown",v),y("paste",v),y("cut",v)):t<11?y("keydown",v):r<4?(y("DOMAutoComplete",m),y("dragdrop",m),y("drop",m)):s&&"number"===n.type&&y("keydown",v)),y("change",m),y("blur",m),l.computed(h,null,{disposeWhenNodeIsRemoved:n})}},l.expressionRewriting.twoWayBindings.textInput=!0,l.bindingHandlers.textinput={preprocess:function(e,t,n){n("textInput",e)}}}(),l.bindingHandlers.uniqueName={init:function(e,t){if(t()){var n="ko_unique_"+ ++l.bindingHandlers.uniqueName.currentIndex;l.utils.setElementName(e,n)}}},l.bindingHandlers.uniqueName.currentIndex=0,l.bindingHandlers.using={init:function(e,t,n,i,r){var o;n.has("as")&&(o={as:n.get("as"),noChildContext:n.get("noChildContext")});var s=r.createChildContext(t,o);return l.applyBindingsToDescendants(s,e),{controlsDescendantBindings:!0}}},l.virtualElements.allowedBindings.using=!0,l.bindingHandlers.value={init:function(t,n,i){var r=l.utils.tagNameLower(t),o="input"==r;if(!o||"checkbox"!=t.type&&"radio"!=t.type){var s=[],a=i.get("valueUpdate"),u=!1,d=null;a&&(s="string"==typeof a?[a]:l.utils.arrayGetDistinctValues(a),l.utils.arrayRemoveItem(s,"change"));var c,p,f=function(){d=null,u=!1;var e=n(),r=l.selectExtensions.readValue(t);l.expressionRewriting.writeValueToProperty(e,i,"value",r)};l.utils.ieVersion&&o&&"text"==t.type&&"off"!=t.autocomplete&&(!t.form||"off"!=t.form.autocomplete)&&-1==l.utils.arrayIndexOf(s,"propertychange")&&(l.utils.registerEventHandler(t,"propertychange",(function(){u=!0})),l.utils.registerEventHandler(t,"focus",(function(){u=!1})),l.utils.registerEventHandler(t,"blur",(function(){u&&f()}))),l.utils.arrayForEach(s,(function(e){var n=f;l.utils.stringStartsWith(e,"after")&&(n=function(){d=l.selectExtensions.readValue(t),l.utils.setTimeout(f,0)},e=e.substring("after".length)),l.utils.registerEventHandler(t,e,n)})),c=o&&"file"==t.type?function(){var i=l.utils.unwrapObservable(n());null===i||i===e||""===i?t.value="":l.dependencyDetection.ignore(f)}:function(){var o=l.utils.unwrapObservable(n()),s=l.selectExtensions.readValue(t);if(null===d||o!==d){if(o!==s||s===e)if("select"===r){var a=i.get("valueAllowUnset");l.selectExtensions.writeValue(t,o,a),a||o===l.selectExtensions.readValue(t)||l.dependencyDetection.ignore(f)}else l.selectExtensions.writeValue(t,o)}else l.utils.setTimeout(c,0)},"select"===r?l.bindingEvent.subscribe(t,l.bindingEvent.childrenComplete,(function(){p?i.get("valueAllowUnset")?c():f():(l.utils.registerEventHandler(t,"change",f),p=l.computed(c,null,{disposeWhenNodeIsRemoved:t}))}),null,{notifyImmediately:!0}):(l.utils.registerEventHandler(t,"change",f),l.computed(c,null,{disposeWhenNodeIsRemoved:t}))}else l.applyBindingAccessorsToNode(t,{checkedValue:n})},update:function(){}},l.expressionRewriting.twoWayBindings.value=!0,l.bindingHandlers.visible={update:function(e,t){var n=l.utils.unwrapObservable(t()),i=!("none"==e.style.display);n&&!i?e.style.display="":!n&&i&&(e.style.display="none")}},l.bindingHandlers.hidden={update:function(e,t){l.bindingHandlers.visible.update(e,(function(){return!l.utils.unwrapObservable(t())}))}},F="click",l.bindingHandlers[F]={init:function(e,t,n,i,r){return l.bindingHandlers.event.init.call(this,e,(function(){var e={};return e[F]=t(),e}),n,i,r)}},l.templateEngine=function(){},l.templateEngine.prototype.renderTemplateSource=function(e,t,n,i){throw new Error("Override renderTemplateSource")},l.templateEngine.prototype.createJavaScriptEvaluatorBlock=function(e){throw new Error("Override createJavaScriptEvaluatorBlock")},l.templateEngine.prototype.makeTemplateSource=function(e,t){if("string"==typeof e){var n=(t=t||i).getElementById(e);if(!n)throw new Error("Cannot find template with ID "+e);return new l.templateSources.domElement(n)}if(1==e.nodeType||8==e.nodeType)return new l.templateSources.anonymousTemplate(e);throw new Error("Unknown template type: "+e)},l.templateEngine.prototype.renderTemplate=function(e,t,n,i){var r=this.makeTemplateSource(e,i);return this.renderTemplateSource(r,t,n,i)},l.templateEngine.prototype.isTemplateRewritten=function(e,t){return!1===this.allowTemplateRewriting||this.makeTemplateSource(e,t).data("isRewritten")},l.templateEngine.prototype.rewriteTemplate=function(e,t,n){var i=this.makeTemplateSource(e,n),r=t(i.text());i.text(r),i.data("isRewritten",!0)},l.exportSymbol("templateEngine",l.templateEngine),l.templateRewriting=function(){var e=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,t=/<!--\s*ko\b\s*([\s\S]*?)\s*-->/g;function n(e,t,n,i){var r=l.expressionRewriting.parseObjectLiteral(e);!function(e){for(var t=l.expressionRewriting.bindingRewriteValidators,n=0;n<e.length;n++){var i=e[n].key;if(Object.prototype.hasOwnProperty.call(t,i)){var r=t[i];if("function"==typeof r){var o=r(e[n].value);if(o)throw new Error(o)}else if(!r)throw new Error("This template engine does not support the '"+i+"' binding within its templates")}}}(r);var o="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+l.expressionRewriting.preProcessBindings(r,{valueAccessors:!0})+" } })()},'"+n.toLowerCase()+"')";return i.createJavaScriptEvaluatorBlock(o)+t}return{ensureTemplateIsRewritten:function(e,t,n){t.isTemplateRewritten(e,n)||t.rewriteTemplate(e,(function(e){return l.templateRewriting.memoizeBindingAttributeSyntax(e,t)}),n)},memoizeBindingAttributeSyntax:function(i,r){return i.replace(e,(function(){return n(arguments[4],arguments[1],arguments[2],r)})).replace(t,(function(){return n(arguments[1],"\x3c!-- ko --\x3e","#comment",r)}))},applyMemoizedBindingsToNextSibling:function(e,t){return l.memoization.memoize((function(n,i){var r=n.nextSibling;r&&r.nodeName.toLowerCase()===t&&l.applyBindingAccessorsToNode(r,e,i)}))}}}(),l.exportSymbol("__tr_ambtns",l.templateRewriting.applyMemoizedBindingsToNextSibling),function(){l.templateSources={},l.templateSources.domElement=function(e){if(this.domElement=e,e){var t=l.utils.tagNameLower(e);this.templateType="script"===t?1:"textarea"===t?2:"template"==t&&e.content&&11===e.content.nodeType?3:4}},l.templateSources.domElement.prototype.text=function(){var e=1===this.templateType?"text":2===this.templateType?"value":"innerHTML";if(0==arguments.length)return this.domElement[e];var t=arguments[0];"innerHTML"===e?l.utils.setHtml(this.domElement,t):this.domElement[e]=t};var t=l.utils.domData.nextKey()+"_";l.templateSources.domElement.prototype.data=function(e){if(1===arguments.length)return l.utils.domData.get(this.domElement,t+e);l.utils.domData.set(this.domElement,t+e,arguments[1])};var n=l.utils.domData.nextKey();function i(e){return l.utils.domData.get(e,n)||{}}function r(e,t){l.utils.domData.set(e,n,t)}l.templateSources.domElement.prototype.nodes=function(){var t=this.domElement;if(0==arguments.length){var n=i(t),o=n.containerData||(3===this.templateType?t.content:4===this.templateType?t:e);if(!o||n.alwaysCheckText){var s=this.text();s&&s!==n.textData&&r(t,{containerData:o=l.utils.parseHtmlForTemplateNodes(s,t.ownerDocument),textData:s,alwaysCheckText:!0})}return o}var a=arguments[0];this.templateType!==e&&this.text(""),r(t,{containerData:a})},l.templateSources.anonymousTemplate=function(e){this.domElement=e},l.templateSources.anonymousTemplate.prototype=new l.templateSources.domElement,l.templateSources.anonymousTemplate.prototype.constructor=l.templateSources.anonymousTemplate,l.templateSources.anonymousTemplate.prototype.text=function(){if(0==arguments.length){var t=i(this.domElement);return t.textData===e&&t.containerData&&(t.textData=t.containerData.innerHTML),t.textData}var n=arguments[0];r(this.domElement,{textData:n})},l.exportSymbol("templateSources",l.templateSources),l.exportSymbol("templateSources.domElement",l.templateSources.domElement),l.exportSymbol("templateSources.anonymousTemplate",l.templateSources.anonymousTemplate)}(),function(){var t;function n(e,t,n){for(var i,r=e,o=l.virtualElements.nextSibling(t);r&&(i=r)!==o;)n(i,r=l.virtualElements.nextSibling(i))}function i(e,t){if(e.length){var i=e[0],r=e[e.length-1],o=i.parentNode,s=l.bindingProvider.instance,a=s.preprocessNode;if(a){if(n(i,r,(function(e,t){var n=e.previousSibling,o=a.call(s,e);o&&(e===i&&(i=o[0]||t),e===r&&(r=o[o.length-1]||n))})),e.length=0,!i)return;i===r?e.push(i):(e.push(i,r),l.utils.fixUpContinuousNodeArray(e,o))}n(i,r,(function(e){1!==e.nodeType&&8!==e.nodeType||l.applyBindings(t,e)})),n(i,r,(function(e){1!==e.nodeType&&8!==e.nodeType||l.memoization.unmemoizeDomNodeAndDescendants(e,[t])})),l.utils.fixUpContinuousNodeArray(e,o)}}function r(e){return e.nodeType?e:e.length>0?e[0]:null}function o(e,n,o,s,a){a=a||{};var u=(e&&r(e)||o||{}).ownerDocument,d=a.templateEngine||t;l.templateRewriting.ensureTemplateIsRewritten(o,d,u);var c=d.renderTemplate(o,s,a,u);if("number"!=typeof c.length||c.length>0&&"number"!=typeof c[0].nodeType)throw new Error("Template engine must return an array of DOM nodes");var p=!1;switch(n){case"replaceChildren":l.virtualElements.setDomNodeChildren(e,c),p=!0;break;case"replaceNode":l.utils.replaceDomNodes(e,c),p=!0;break;case"ignoreTargetNode":break;default:throw new Error("Unknown renderMode: "+n)}return p&&(i(c,s),a.afterRender&&l.dependencyDetection.ignore(a.afterRender,null,[c,s[a.as||"$data"]]),"replaceChildren"==n&&l.bindingEvent.notify(e,l.bindingEvent.childrenComplete)),c}function s(e,t,n){return l.isObservable(e)?e():"function"==typeof e?e(t,n):e}l.setTemplateEngine=function(n){if(n!=e&&!(n instanceof l.templateEngine))throw new Error("templateEngine must inherit from ko.templateEngine");t=n},l.renderTemplate=function(n,i,a,u,d){if(((a=a||{}).templateEngine||t)==e)throw new Error("Set a template engine before calling renderTemplate");if(d=d||"replaceChildren",u){var c=r(u),p=c&&"replaceNode"==d?c.parentNode:c;return l.dependentObservable((function(){var e=i&&i instanceof l.bindingContext?i:new l.bindingContext(i,null,null,null,{exportDependencies:!0}),t=s(n,e.$data,e),p=o(u,d,t,e,a);"replaceNode"==d&&(c=r(u=p))}),null,{disposeWhen:function(){return!c||!l.utils.domNodeIsAttachedToDocument(c)},disposeWhenNodeIsRemoved:p})}return l.memoization.memoize((function(e){l.renderTemplate(n,i,a,e,"replaceNode")}))},l.renderTemplateForEach=function(t,n,r,a,u){var d,c=r.as,p=function(e,n){d=u.createChildContext(e,{as:c,noChildContext:r.noChildContext,extend:function(e){e.$index=n,c&&(e[c+"Index"]=n)}});var i=s(t,e,d);return o(a,"ignoreTargetNode",i,d,r)},f=function(e,t,n){i(t,d),r.afterRender&&r.afterRender(t,e),d=null},m=function(e,t){l.dependencyDetection.ignore(l.utils.setDomNodeChildrenFromArrayMapping,null,[a,e,p,r,f,t]),l.bindingEvent.notify(a,l.bindingEvent.childrenComplete)},v=!1===r.includeDestroyed||l.options.foreachHidesDestroyed&&!r.includeDestroyed;if(v||r.beforeRemove||!l.isObservableArray(n))return l.dependentObservable((function(){var t=l.utils.unwrapObservable(n)||[];void 0===t.length&&(t=[t]),v&&(t=l.utils.arrayFilter(t,(function(t){return t===e||null===t||!l.utils.unwrapObservable(t._destroy)}))),m(t)}),null,{disposeWhenNodeIsRemoved:a});m(n.peek());var b=n.subscribe((function(e){m(n(),e)}),null,"arrayChange");return b.disposeWhenNodeIsRemoved(a),b};var a=l.utils.domData.nextKey(),u=l.utils.domData.nextKey();l.bindingHandlers.template={init:function(e,t){var n=l.utils.unwrapObservable(t());if("string"==typeof n||"name"in n)l.virtualElements.emptyNode(e);else if("nodes"in n){var i=n.nodes||[];if(l.isObservable(i))throw new Error('The "nodes" option must be a plain, non-observable array.');(o=i[0]&&i[0].parentNode)&&l.utils.domData.get(o,u)||(o=l.utils.moveCleanedNodesToContainerElement(i),l.utils.domData.set(o,u,!0)),new l.templateSources.anonymousTemplate(e).nodes(o)}else{var r=l.virtualElements.childNodes(e);if(!(r.length>0))throw new Error("Anonymous template defined, but no template content was provided");var o=l.utils.moveCleanedNodesToContainerElement(r);new l.templateSources.anonymousTemplate(e).nodes(o)}return{controlsDescendantBindings:!0}},update:function(t,n,i,r,o){var s,u=n(),d=l.utils.unwrapObservable(u),c=!0,p=null;if("string"==typeof d?(s=u,d={}):(s="name"in d?d.name:t,"if"in d&&(c=l.utils.unwrapObservable(d.if)),c&&"ifnot"in d&&(c=!l.utils.unwrapObservable(d.ifnot)),c&&!s&&(c=!1)),"foreach"in d){var f=c&&d.foreach||[];p=l.renderTemplateForEach(s,f,d,t,o)}else if(c){var m=o;"data"in d&&(m=o.createChildContext(d.data,{as:d.as,noChildContext:d.noChildContext,exportDependencies:!0})),p=l.renderTemplate(s,m,d,t)}else l.virtualElements.emptyNode(t);!function(t,n){var i=l.utils.domData.get(t,a);i&&"function"==typeof i.dispose&&i.dispose(),l.utils.domData.set(t,a,!n||n.isActive&&!n.isActive()?e:n)}(t,p)}},l.expressionRewriting.bindingRewriteValidators.template=function(e){var t=l.expressionRewriting.parseObjectLiteral(e);return 1==t.length&&t[0].unknown||l.expressionRewriting.keyValueArrayContainsKey(t,"name")?null:"This template engine does not support anonymous templates nested within its templates"},l.virtualElements.allowedBindings.template=!0}(),l.exportSymbol("setTemplateEngine",l.setTemplateEngine),l.exportSymbol("renderTemplate",l.renderTemplate),l.utils.findMovesInArrayComparison=function(e,t,n){var i,r,o,s,a;if(e.length&&t.length)for(i=r=0;(!n||i<n)&&(s=e[r]);++r){for(o=0;a=t[o];++o)if(s.value===a.value){s.moved=a.index,a.moved=s.index,t.splice(o,1),i=o=0;break}i+=o}},l.utils.compareArrays=function(){var e="added",t="deleted";function n(e,t,n,i,r){var o,s,a,u,d,c=Math.min,p=Math.max,f=[],m=e.length,v=t.length,b=v-m||1,g=m+v+1;for(o=0;o<=m;o++)for(u=a,f.push(a=[]),d=c(v,o+b),s=p(0,o-1);s<=d;s++)if(s)if(o)if(e[o-1]===t[s-1])a[s]=u[s-1];else{var h=u[s]||g,y=a[s-1]||g;a[s]=c(h,y)+1}else a[s]=s+1;else a[s]=o+1;var x,E=[],w=[],C=[];for(o=m,s=v;o||s;)x=f[o][s]-1,s&&x===f[o][s-1]?w.push(E[E.length]={status:n,value:t[--s],index:s}):o&&x===f[o-1][s]?C.push(E[E.length]={status:i,value:e[--o],index:o}):(--s,--o,r.sparse||E.push({status:"retained",value:t[s]}));return l.utils.findMovesInArrayComparison(C,w,!r.dontLimitMoves&&10*m),E.reverse()}return function(i,r,o){return o="boolean"==typeof o?{dontLimitMoves:o}:o||{},r=r||[],(i=i||[]).length<r.length?n(i,r,e,t,o):n(r,i,t,e,o)}}(),l.exportSymbol("utils.compareArrays",l.utils.compareArrays),function(){function t(t,n,i,r,o){var s=[],a=l.dependentObservable((function(){var e=n(i,o,l.utils.fixUpContinuousNodeArray(s,t))||[];s.length>0&&(l.utils.replaceDomNodes(s,e),r&&l.dependencyDetection.ignore(r,null,[i,e,o])),s.length=0,l.utils.arrayPushAll(s,e)}),null,{disposeWhenNodeIsRemoved:t,disposeWhen:function(){return!l.utils.anyDomNodeIsAttachedToDocument(s)}});return{mappedNodes:s,dependentObservable:a.isActive()?a:e}}var n=l.utils.domData.nextKey(),i=l.utils.domData.nextKey();l.utils.setDomNodeChildrenFromArrayMapping=function(r,o,s,a,u,d){void 0===(o=o||[]).length&&(o=[o]),a=a||{};var c,p,f,m,v,b,g=l.utils.domData.get(r,n),h=!g,y=[],x=0,E=0,w=[],C=[],D=[],S=[],N=[],T=0;function k(e){c={arrayEntry:e,indexObservable:l.observable(E++)},y.push(c),h||N.push(c)}function O(e){c=g[e],E!==c.indexObservable.peek()&&S.push(c),c.indexObservable(E++),l.utils.fixUpContinuousNodeArray(c.mappedNodes,r),y.push(c)}function _(e,t){if(e)for(var n=0,i=t.length;n<i;n++)l.utils.arrayForEach(t[n].mappedNodes,(function(i){e(i,n,t[n].arrayEntry)}))}if(h)l.utils.arrayForEach(o,k);else{if(!d||g&&g._countWaitingForRemove){var I=l.utils.arrayMap(g,(function(e){return e.arrayEntry})),A={dontLimitMoves:a.dontLimitMoves,sparse:!0};d=l.utils.compareArrays(I,o,A)}for(var R,F,B,V=0;R=d[V];V++)switch(F=R.moved,B=R.index,R.status){case"deleted":for(;x<B;)O(x++);F===e&&((c=g[x]).dependentObservable&&(c.dependentObservable.dispose(),c.dependentObservable=e),l.utils.fixUpContinuousNodeArray(c.mappedNodes,r).length&&(a.beforeRemove&&(y.push(c),T++,c.arrayEntry===i?c=null:D.push(c)),c&&w.push.apply(w,c.mappedNodes))),x++;break;case"added":for(;E<B;)O(x++);F!==e?(C.push(y.length),O(F)):k(R.value)}for(;E<o.length;)O(x++);y._countWaitingForRemove=T}l.utils.domData.set(r,n,y),_(a.beforeMove,S),l.utils.arrayForEach(w,a.beforeRemove?l.cleanNode:l.removeNode);try{b=r.ownerDocument.activeElement}catch(e){}if(C.length)for(;(V=C.shift())!=e;){for(c=y[V],f=e;V;)if((v=y[--V].mappedNodes)&&v.length){f=v[v.length-1];break}for(p=0;m=c.mappedNodes[p];f=m,p++)l.virtualElements.insertAfter(r,m,f)}for(V=0;c=y[V];V++){for(c.mappedNodes||l.utils.extend(c,t(r,s,c.arrayEntry,u,c.indexObservable)),p=0;m=c.mappedNodes[p];f=m,p++)l.virtualElements.insertAfter(r,m,f);!c.initialized&&u&&(u(c.arrayEntry,c.mappedNodes,c.indexObservable),c.initialized=!0,f=c.mappedNodes[c.mappedNodes.length-1])}for(b&&r.ownerDocument.activeElement!=b&&b.focus(),_(a.beforeRemove,D),V=0;V<D.length;++V)D[V].arrayEntry=i;_(a.afterMove,S),_(a.afterAdd,N)}}(),l.exportSymbol("utils.setDomNodeChildrenFromArrayMapping",l.utils.setDomNodeChildrenFromArrayMapping),l.nativeTemplateEngine=function(){this.allowTemplateRewriting=!1},l.nativeTemplateEngine.prototype=new l.templateEngine,l.nativeTemplateEngine.prototype.constructor=l.nativeTemplateEngine,l.nativeTemplateEngine.prototype.renderTemplateSource=function(e,t,n,i){var r=l.utils.ieVersion<9||!e.nodes?null:e.nodes();if(r)return l.utils.makeArray(r.cloneNode(!0).childNodes);var o=e.text();return l.utils.parseHtmlFragment(o,i)},l.nativeTemplateEngine.instance=new l.nativeTemplateEngine,l.setTemplateEngine(l.nativeTemplateEngine.instance),l.exportSymbol("nativeTemplateEngine",l.nativeTemplateEngine),function(){l.jqueryTmplTemplateEngine=function(){var e=this.jQueryTmplVersion=function(){if(!o||!o.tmpl)return 0;try{if(o.tmpl.tag.tmpl.open.toString().indexOf("__")>=0)return 2}catch(e){}return 1}();this.renderTemplateSource=function(t,n,r,s){s=s||i,r=r||{},function(){if(e<2)throw new Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.")}();var a=t.data("precompiled");if(!a){var l=t.text()||"";l="{{ko_with $item.koBindingContext}}"+l+"{{/ko_with}}",a=o.template(null,l),t.data("precompiled",a)}var u=function(e,t,n){return o.tmpl(e,t,n)}(a,[n.$data],o.extend({koBindingContext:n},r.templateOptions));return u.appendTo(s.createElement("div")),o.fragments={},u},this.createJavaScriptEvaluatorBlock=function(e){return"{{ko_code ((function() { return "+e+" })()) }}"},this.addTemplate=function(e,t){i.write("<script type='text/html' id='"+e+"'>"+t+"<\/script>")},e>0&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},l.jqueryTmplTemplateEngine.prototype=new l.templateEngine,l.jqueryTmplTemplateEngine.prototype.constructor=l.jqueryTmplTemplateEngine;var e=new l.jqueryTmplTemplateEngine;e.jQueryTmplVersion>0&&l.setTemplateEngine(e),l.exportSymbol("jqueryTmplTemplateEngine",l.jqueryTmplTemplateEngine)}()},"function"==typeof define&&define.amd?define(["exports","require"],t):"object"==typeof exports&&"object"==typeof module?t(module.exports||exports):t(n.ko={})}();
///*# sourceMappingURL=https://www.designersguild.com/js/dist/lib/knockout/dist/knockout-3.5.0.min.js.map */
;
!function(e){"function"==typeof require&&"object"==typeof exports&&"object"==typeof module?e(require("knockout"),exports):"function"==typeof define&&define.amd?define(["knockout","exports"],e):e(ko,ko.validation={})}((function(e,t){if(void 0===e)throw new Error("Knockout is required, please ensure it is loaded before loading this validation plug-in");e.validation=t;var r,i,a,n=e.validation,s=e.utils,u=s.unwrapObservable,l=s.arrayForEach,o=s.extend,d={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:{}},f=o({},d);f.html5Attributes=["required","pattern","min","max","step"],f.html5InputTypes=["email","number","date"],f.reset=function(){o(f,d)},n.configuration=f,n.utils=(r=(new Date).getTime(),i={},a="__ko_validation__",{isArray:function(e){return e.isArray||"[object Array]"===Object.prototype.toString.call(e)},isObject:function(e){return null!==e&&"object"==typeof e},isNumber:function(e){return!isNaN(e)},isObservableArray:function(e){return!!e&&"function"==typeof e.remove&&"function"==typeof e.removeAll&&"function"==typeof e.destroy&&"function"==typeof e.destroyAll&&"function"==typeof e.indexOf&&"function"==typeof e.replace},values:function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(e[r]);return t},getValue:function(e){return"function"==typeof e?e():e},hasAttribute:function(e,t){return null!==e.getAttribute(t)},getAttribute:function(e,t){return e.getAttribute(t)},setAttribute:function(e,t,r){return e.setAttribute(t,r)},isValidatable:function(e){return!!(e&&e.rules&&e.isValid&&e.isModified)},insertAfter:function(e,t){e.parentNode.insertBefore(t,e.nextSibling)},newId:function(){return r+=1},getConfigOptions:function(e){return n.utils.contextFor(e)||n.configuration},setDomData:function(e,t){var r=e[a];r||(e[a]=r=n.utils.newId()),i[r]=t},getDomData:function(e){var t=e[a];if(t)return i[t]},contextFor:function(e){switch(e.nodeType){case 1:case 8:var t=n.utils.getDomData(e);if(t)return t;if(e.parentNode)return n.utils.contextFor(e.parentNode)}},isEmptyVal:function(e){return null==e||""===e},getOriginalElementTitle:function(e){var t=n.utils.getAttribute(e,"data-orig-title"),r=e.title;return n.utils.hasAttribute(e,"data-orig-title")?t:r},async:function(e){window.setImmediate?window.setImmediate(e):window.setTimeout(e,0)},forEach:function(e,t){if(n.utils.isArray(e))return l(e,t);for(var r in e)e.hasOwnProperty(r)&&t(e[r],r)}});var c=function(){var t=0,r=n.configuration,i=n.utils;function a(e){l(e.subscriptions,(function(e){e.dispose()})),e.subscriptions=[]}function d(t,r,a){var n=[],s=t.peek?t.peek():t;!0!==t.__kv_traversed&&(r.options.deep&&(t.__kv_traversed=!0,r.flagged.push(t)),a=void 0!==a?a:r.options.deep?1:-1,e.isObservable(t)&&(t.errors||i.isValidatable(t)||t.extend({validatable:!0}),r.validatables.push(t),r.options.live&&i.isObservableArray(t)&&r.subscriptions.push(t.subscribe((function(){r.graphMonitor.valueHasMutated()})))),s&&!s._destroy&&(i.isArray(s)?n=s:i.isObject(s)&&(n=i.values(s))),0!==a&&i.forEach(n,(function(t){!t||t.nodeType||e.isComputed(t)&&!t.rules||d(t,r,a+1)})))}function f(e,t){t.validatables=[],a(t),d(e,t),function(e){e.options.deep&&(l(e.flagged,(function(e){delete e.__kv_traversed})),e.flagged.length=0),e.options.live||a(e)}(t)}function c(e){var t=[];return l(e,(function(e){i.isValidatable(e)&&!e.isValid()&&t.push(e.error.peek())})),t}return{init:function(e,i){t>0&&!i||((e=e||{}).errorElementClass=e.errorElementClass||e.errorClass||r.errorElementClass,e.errorMessageClass=e.errorMessageClass||e.errorClass||r.errorMessageClass,o(r,e),r.registerExtenders&&n.registerExtenders(),t=1)},reset:n.configuration.reset,group:function(t,a){var n={options:a=o(o({},r.grouping),a),graphMonitor:e.observable(),flagged:[],subscriptions:[],validatables:[]},u=null;return(u=a.observable?e.computed((function(){return n.graphMonitor(),f(t,n),c(n.validatables)})):function(){return f(t,n),c(n.validatables)}).showAllMessages=function(e){void 0===e&&(e=!0),u.forEach((function(t){i.isValidatable(t)&&t.isModified(e)}))},u.isAnyMessageShown=function(){return!!u.find((function(e){return i.isValidatable(e)&&!e.isValid()&&e.isModified()}))},u.filter=function(e){return e=e||function(){return!0},u(),s.arrayFilter(n.validatables,e)},u.find=function(e){return e=e||function(){return!0},u(),s.arrayFirst(n.validatables,e)},u.forEach=function(e){e=e||function(){},u(),l(n.validatables,e)},u.map=function(e){return e=e||function(e){return e},u(),s.arrayMap(n.validatables,e)},u._updateState=function(e){if(!i.isObject(e))throw new Error("An object is required.");if(t=e,!a.observable)return f(e,n),c(n.validatables);n.graphMonitor.valueHasMutated()},u},formatMessage:function(e,t,r){if(i.isObject(t)&&t.typeAttr&&(t=t.value),"function"==typeof e)return e(t,r);var a=u(t);return null==a&&(a=[]),i.isArray(a)||(a=[a]),e.replace(/{(\d+)}/gi,(function(e,t){return void 0!==a[t]?a[t]:e}))},addRule:function(e,t){return e.extend({validatable:!0}),!!s.arrayFirst(e.rules(),(function(e){return e.rule&&e.rule===t.rule}))||e.rules.push(t),e},addAnonymousRule:function(e,t){void 0===t.message&&(t.message="Error"),t.onlyIf&&(t.condition=t.onlyIf),n.addRule(e,t)},addExtender:function(t){e.extenders[t]=function(e,r){return r&&(r.message||r.onlyIf)?n.addRule(e,{rule:t,message:r.message,params:!!i.isEmptyVal(r.params)||r.params,condition:r.onlyIf}):n.addRule(e,{rule:t,params:r})}},registerExtenders:function(){if(r.registerExtenders)for(var t in n.rules)n.rules.hasOwnProperty(t)&&(e.extenders[t]||n.addExtender(t))},insertValidationMessage:function(e){var t=document.createElement("SPAN");return t.className=i.getConfigOptions(e).errorMessageClass,i.insertAfter(e,t),t},parseInputValidationAttributes:function(e,t){l(n.configuration.html5Attributes,(function(r){if(i.hasAttribute(e,r)){var a=e.getAttribute(r)||!0;if("min"===r||"max"===r){var s=e.getAttribute("type");void 0!==s&&s||(s="text"),a={typeAttr:s,value:a}}n.addRule(t(),{rule:r,params:a})}}));var r=e.getAttribute("type");l(n.configuration.html5InputTypes,(function(e){e===r&&n.addRule(t(),{rule:"date"===e?"dateISO":e,params:!0})}))},writeInputValidationAttributes:function(t,r){var i=r();if(i&&i.rules){var a=i.rules();l(n.configuration.html5Attributes,(function(r){var i=s.arrayFirst(a,(function(e){return e.rule&&e.rule.toLowerCase()===r.toLowerCase()}));i&&e.computed({read:function(){var a=e.unwrap(i.params);"pattern"===i.rule&&a instanceof RegExp&&(a=a.source),t.setAttribute(r,a)},disposeWhenNodeIsRemoved:t})})),a=null}},makeBindingHandlerValidatable:function(t){var r=e.bindingHandlers[t].init;e.bindingHandlers[t].init=function(t,i,a,n,s){return r(t,i,a,n,s),e.bindingHandlers.validationCore.init(t,i,a,n,s)}},setRules:function(t,r){var a=function(t,r){if(t&&r)for(var s in r)if(r.hasOwnProperty(s)){var l=r[s];if(t[s]){var o=t[s],d=u(o),f={},c={};for(var p in l)l.hasOwnProperty(p)&&(n.rules[p]?f[p]=l[p]:c[p]=l[p]);if(e.isObservable(o)&&o.extend(f),d&&i.isArray(d))for(var v=0;v<d.length;v++)a(d[v],c);else a(d,c)}}};a(t,r)}}}();function p(e){var t="max"===e;return function(r,i){if(n.utils.isEmptyVal(r))return!0;var a,s,u,l,o;switch(void 0===i.typeAttr?(s="text",a=i):(s=i.typeAttr,a=i.value),isNaN(a)||a instanceof Date||(s="number"),s.toLowerCase()){case"week":if(u=/^(\d{4})-W(\d{2})$/,null===(l=r.match(u)))throw new Error("Invalid value for "+e+" attribute for week input.  Should look like '2000-W33' http://www.w3.org/TR/html-markup/input.week.html#input.week.attrs.min");return!!(o=a.match(u))&&(t?l[1]<o[1]||l[1]===o[1]&&l[2]<=o[2]:l[1]>o[1]||l[1]===o[1]&&l[2]>=o[2]);case"month":if(u=/^(\d{4})-(\d{2})$/,null===(l=r.match(u)))throw new Error("Invalid value for "+e+" attribute for month input.  Should look like '2000-03' http://www.w3.org/TR/html-markup/input.month.html#input.month.attrs.min");return!!(o=a.match(u))&&(t?l[1]<o[1]||l[1]===o[1]&&l[2]<=o[2]:l[1]>o[1]||l[1]===o[1]&&l[2]>=o[2]);case"number":case"range":return t?!isNaN(r)&&parseFloat(r)<=parseFloat(a):!isNaN(r)&&parseFloat(r)>=parseFloat(a);default:return t?r<=a:r>=a}}}function v(e,t,r){return!!t.validator(e(),void 0===r.params||u(r.params))||(e.setError(n.formatMessage(r.message||t.message,u(r.params),e)),!1)}function g(e,t,r){e.isValidating(!0);var i=function(i){var a=!1,s="";e.__valid__()?(i.message?(a=i.isValid,s=i.message):a=i,a||(e.error(n.formatMessage(s||r.message||t.message,u(r.params),e)),e.__valid__(a)),e.isValidating(!1)):e.isValidating(!1)};n.utils.async((function(){t.validator(e(),void 0===r.params||u(r.params),i)}))}o(e.validation,c),n.rules={},n.rules.required={validator:function(e,t){var r;return null==e?!t:(r=e,"string"==typeof e&&(r=String.prototype.trim?e.trim():e.replace(/^\s+|\s+$/g,"")),!t||(r+"").length>0)},message:"This field is required."},n.rules.min={validator:p("min"),message:"Please enter a value greater than or equal to {0}."},n.rules.max={validator:p("max"),message:"Please enter a value less than or equal to {0}."},n.rules.minLength={validator:function(e,t){return!!n.utils.isEmptyVal(e)||(n.utils.isNumber(e)?""+e:e).length>=t},message:"Please enter at least {0} characters."},n.rules.maxLength={validator:function(e,t){return!!n.utils.isEmptyVal(e)||(n.utils.isNumber(e)?""+e:e).length<=t},message:"Please enter no more than {0} characters."},n.rules.pattern={validator:function(e,t){return n.utils.isEmptyVal(e)||null!==e.toString().match(t)},message:"Please check this value."},n.rules.step={validator:function(e,t){if(n.utils.isEmptyVal(e)||"any"===t)return!0;var r=100*e%(100*t);return Math.abs(r)<1e-5||Math.abs(1-r)<1e-5},message:"The value must increment by {0}."},n.rules.email={validator:function(e,t){return!t||(n.utils.isEmptyVal(e)||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(e))},message:"Please enter a proper email address."},n.rules.date={validator:function(e,t){return!t||(n.utils.isEmptyVal(e)||t&&!/Invalid|NaN/.test(new Date(e)))},message:"Please enter a proper date."},n.rules.dateISO={validator:function(e,t){return!t||(n.utils.isEmptyVal(e)||t&&/^\d{4}[-/](?:0?[1-9]|1[012])[-/](?:0?[1-9]|[12][0-9]|3[01])$/.test(e))},message:"Please enter a proper date."},n.rules.number={validator:function(e,t){return!t||(n.utils.isEmptyVal(e)||t&&/^-?(?:\d+|\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(e))},message:"Please enter a number."},n.rules.digit={validator:function(e,t){return!t||(n.utils.isEmptyVal(e)||t&&/^\d+$/.test(e))},message:"Please enter a digit."},n.rules.phoneUS={validator:function(e,t){return!t||(!!n.utils.isEmptyVal(e)||"string"==typeof e&&(e=e.replace(/\s+/g,""),t&&e.length>9&&e.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/)))},message:"Please specify a valid phone number."},n.rules.equal={validator:function(e,t){var r=t;return e===n.utils.getValue(r)},message:"Values must equal."},n.rules.notEqual={validator:function(e,t){var r=t;return e!==n.utils.getValue(r)},message:"Please choose another value."},n.rules.unique={validator:function(e,t){var r=n.utils.getValue(t.collection),i=n.utils.getValue(t.externalValue),a=0;return!e||!r||(s.arrayFilter(r,(function(r){e===(t.valueAccessor?t.valueAccessor(r):r)&&a++})),a<(i?1:2))},message:"Please make sure the value is unique."},n.registerExtenders(),e.bindingHandlers.validationCore={init:function(t,r,i,a,s){var u=n.utils.getConfigOptions(t),l=r();if(u.parseInputAttributes&&n.utils.async((function(){n.parseInputValidationAttributes(t,r)})),u.insertMessages&&n.utils.isValidatable(l)){var o=n.insertValidationMessage(t);u.messageTemplate?e.renderTemplate(u.messageTemplate,{field:l},null,o,"replaceNode"):e.applyBindingsToNode(o,{validationMessage:l})}u.writeInputAttributes&&n.utils.isValidatable(l)&&n.writeInputValidationAttributes(t,r),u.decorateInputElement&&n.utils.isValidatable(l)&&e.applyBindingsToNode(t,{validationElement:l})}},n.makeBindingHandlerValidatable("value"),n.makeBindingHandlerValidatable("checked"),e.bindingHandlers.textInput&&n.makeBindingHandlerValidatable("textInput"),n.makeBindingHandlerValidatable("selectedOptions"),e.bindingHandlers.validationMessage={update:function(t,r){var i,a,l=r(),o=n.utils.getConfigOptions(t);u(l);if(null==l)throw new Error("Cannot bind validationMessage to undefined value. data-bind expression: "+t.getAttribute("data-bind"));i=l.isModified&&l.isModified(),a=l.isValid&&l.isValid();var d=null;o.messagesOnModified&&!i||(d=a?null:l.error);var f=!(o.messagesOnModified&&!i)&&!a,c="none"!==t.style.display;o.allowHtmlMessages?s.setHtml(t,d):e.bindingHandlers.text.update(t,(function(){return d})),c&&!f?t.style.display="none":!c&&f&&(t.style.display="")}},e.bindingHandlers.validationElement={update:function(t,r,i){var a,s,l=r(),o=n.utils.getConfigOptions(t);u(l);if(null==l)throw new Error("Cannot bind validationElement to undefined value. data-bind expression: "+t.getAttribute("data-bind"));a=l.isModified&&l.isModified(),s=l.isValid&&l.isValid();e.bindingHandlers.css.update(t,(function(){var e={},t=!(o.decorateElementOnModified&&!a)&&!s;return e[o.errorElementClass]=t,e}),i),o.errorsAsTitle&&e.bindingHandlers.attr.update(t,(function(){var e=!o.errorsAsTitleOnModified||a,r=n.utils.getOriginalElementTitle(t);return e&&!s?{title:l.error,"data-orig-title":r}:!e||s?{title:r,"data-orig-title":null}:void 0}))}},e.bindingHandlers.validationOptions={init:function(e,t,r,i,a){var s=u(t());if(s){var l=o({},n.configuration);o(l,s),n.utils.setDomData(e,l)}}},e.extenders.validation=function(e,t){return l(n.utils.isArray(t)?t:[t],(function(t){n.addAnonymousRule(e,t)})),e},e.extenders.validatable=function(t,r){if(n.utils.isObject(r)||(r={enable:r}),"enable"in r||(r.enable=!0),r.enable&&!n.utils.isValidatable(t)){var i=n.configuration.validate||{},a={throttleEvaluation:r.throttle||i.throttle};t.error=e.observable(null),t.rules=e.observableArray(),t.isValidating=e.observable(!1),t.__valid__=e.observable(!0),t.isModified=e.observable(!1),t.isValid=e.computed(t.__valid__),t.setError=function(e){var r=t.error.peek(),i=t.__valid__.peek();t.error(e),t.__valid__(!1),r===e||i||t.isValid.notifySubscribers()},t.clearError=function(){return t.error(null),t.__valid__(!0),t};var s=t.subscribe((function(){t.isModified(!0)})),u=e.computed(o({read:function(){t(),t.rules();return n.validateObservable(t),!0}},a));o(u,a),t._disposeValidation=function(){t.isValid.dispose(),t.rules.removeAll(),s.dispose(),u.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}}else!1===r.enable&&t._disposeValidation&&t._disposeValidation();return t},n.validateObservable=function(e){for(var t,r,i=0,a=e.rules(),s=a.length;i<s;i++)if(!(r=a[i]).condition||r.condition())if((t=r.rule?n.rules[r.rule]:r).async||r.async)g(e,t,r);else if(!v(e,t,r))return!1;return e.clearError(),!0};var m,b={};n.defineLocale=function(e,t){return e&&t?(b[e.toLowerCase()]=t,t):null},n.locale=function(e){if(e){if(e=e.toLowerCase(),!b.hasOwnProperty(e))throw new Error("Localization "+e+" has not been loaded.");n.localize(b[e]),m=e}return m},n.localize=function(e){var t=n.rules;for(var r in e)t.hasOwnProperty(r)&&(t[r].message=e[r])},function(){var e={},t=n.rules;for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r].message);n.defineLocale("en-us",e)}(),m="en-us",e.applyBindingsWithValidation=function(t,r,i){var a,s=document.body;r&&r.nodeType?(s=r,a=i):a=r,n.init(),a&&(a=o(o({},n.configuration),a),n.utils.setDomData(s,a)),e.applyBindings(t,s)};var F=e.applyBindings;e.applyBindings=function(){n.init(),F.apply(this,arguments)},e.validatedObservable=function(t,r){if(!r&&!n.utils.isObject(t))return e.observable(t).extend({validatable:!0});var i=e.observable(t);return i.errors=n.group(n.utils.isObject(t)?t:{},r),i.isValid=e.observable(0===i.errors().length),e.isObservable(i.errors)?i.errors.subscribe((function(e){i.isValid(0===e.length)})):e.computed(i.errors).subscribe((function(e){i.isValid(0===e.length)})),i.subscribe((function(e){n.utils.isObject(e)||(e={}),i.errors._updateState(e),i.isValid(0===i.errors().length)})),i}}));
///*# sourceMappingURL=https://www.designersguild.com/js/dist/lib/knockout/dist/knockout-validation.min.js.map */
;
/*!
  Knockout pre-rendered binding handlers v$npm_package_version
  By: Erik Schierboom (C) 2019
  License: Apache 2

  Adds binding handlers that can be populated based on existing HTML.

  The foreach code is adapted from:

  Knockout Fast Foreach v0.3.1 (2015-03-18T15:15:11.505Z)
  By: Brian M Hunt (C) 2015
  License: MIT
  URL: https://github.com/brianmhunt/knockout-fast-foreach
*/
!function(e,t){"function"==typeof define&&define.amd?define(["knockout"],t):"object"==typeof exports?module.exports=t(require("knockout")):e.KnockoutElse=t(e.ko)}(this,(function(e){"use strict";function t(e){return!!e&&"object"==typeof e&&e.constructor===Object}var n=window.document&&"\x3c!--test--\x3e"===window.document.createComment("test").text,i=n?/^<!--\s*ko(?:\s+([\s\S]+))?\s*-->$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/;function s(e){return 8==e.nodeType&&i.test(n?e.text:e.nodeValue)}function r(e){return e&&e.nodeType&&1===e.nodeType}function a(e,t){return"string"==typeof e?r(t)&&t.attributes&&t.attributes[e]:r(t)}function o(t,n,i,s){var r,o=document.createElement("div");if(t.content)r=t.content;else if("SCRIPT"===t.tagName)if(t.innerHTML.match(/^\s*<tr[\s\S]*?<\/tr>\s*$/i)){var u=document.createElement("table");u.innerHTML="<tbody>"+t.innerHTML+"</tbody>",r=u.firstChild}else(r=document.createElement("div")).innerHTML=t.innerHTML;else r=t;for(var l=function(t,n){return e.utils.arrayFirst(e.virtualElements.childNodes(t),a.bind(this,n))}(r,n?null:"data-template"),d=0,h=l;d<s;d++){var c=h;if(c){o.insertBefore(h.cloneNode(!0),null);do{h=h.nextElementSibling||h.nextSibling}while(h&&1!==h.nodeType);i&&e.removeNode(c)}}return o}function u(e,t){return{status:"existing",value:e,index:t}}function l(t,n,i,s){var r=e.bindingHandlers[t].preprocess;e.bindingHandlers[t].preprocess=function(t,a,o){r&&(t=r(t,a,o));var u=e.expressionRewriting.parseObjectLiteral(t);s&&(u=e.utils.arrayMap(u,s));var l=[];return e.utils.arrayForEach(u,(function(t){if(null!=t){var n=function(t){if(-1==e.utils.arrayIndexOf(d,t)){var n=t.match(h);return null!==n&&(n[1]?"Object("+n[1]+")"+n[2]:t)}return!1}("unknown"in t?t.unknown:t.value);n&&l.push("'"+("unknown"in t?i:t.key)+"':function(_v){"+n+"=_v}")}})),0!=l.length&&o(n,"{"+l.join(",")+"}"),t||!0}}e.utils.extend(e.expressionRewriting._twoWayBindings,{text:!0,html:!0,visible:!0,enable:!0,disable:!0}),l("attr","_ko_prerender_attrPropertyWriters","attr"),l("css","_ko_prerender_cssPropertyWriters","css");var d=["true","false","null","undefined"],h=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i;function c(n,i,r,l,d){var h=this;this.element=n,this.container=s(n)?this.element.parentNode:n,this.$context=d;var c=!1,f=i();t(f)||(f={data:(c=e.unwrap(d.$rawData)===f)?d.$rawData:f,createElement:f.createElement}),this.data=f.data,this.as=f.as,this.createElement=f.createElement,this.noContext=f.noContext,this.namedTemplate=void 0!==f.name,this.nodesPerElement=f.nodesPerElement||1,this.templateNode=o(f.name?document.getElementById(f.name):n,this.namedTemplate,!f.name,this.nodesPerElement),this.afterQueueFlush=f.afterQueueFlush,this.beforeQueueFlush=f.beforeQueueFlush,this.dataChanged=f.dataChanged,this.changeQueue=[],this.lastNodesList=[],this.childContexts=[],this.indexesToDelete=[],this.rendering_queued=!1,this.existingElements=function(t,n){return e.utils.arrayFilter(e.virtualElements.childNodes(t),a.bind(this,n))}(this.namedTemplate?this.element:this.container,this.namedTemplate?null:"data-init"),"function"==typeof this.createElement&&this.createElements();var p=e.unwrap(this.data);this.onArrayChange(e.utils.arrayMap(p,u)),e.isObservable(this.data)?(this.data.indexOf||(this.data=this.data.extend({trackArrayChanges:!0})),this.changeSubs=this.data.subscribe(this.onArrayChange,this,"arrayChange")):this.changeSubs=e.computed((function(){var n=c?d.$rawData:i(),s=e.unwrap(t(n)?n.data:n);if(null!=this.previousContents){var r=e.utils.compareArrays(this.previousContents,s,{sparse:!0});0!=r.length&&h.onArrayChange(r)}this.previousContents=[].concat(s)}),{previousContents:null})}function f(e){return e.innerText||e.textContent||e.value}function p(t,n,i,s){n=n||f,s=s||(e.expressionRewriting._twoWayBindings[t]?"_ko_property_writers":void 0);var r=e.bindingHandlers[t],a=r.init;r.init=function(e,r,o,u){var l=o.get("init");if(l){var d=l.convert;if(i){var h=r();for(var c in h){v(f=n(e,c),h[c],d,c,o,s)}}else{var f=n(e);m(l)&&!l.hasOwnProperty("value")?v(f,l.hasOwnProperty("field")?l.field:l,d,"field",o,"_ko_prerender_initPropertyWriters"):v(f,r(),d,t,o,s)}}a&&a.apply(this,arguments)}}function v(t,n,i,s,r,a){if(i){var o=i.hasOwnProperty(s)?i[s]:i;o instanceof Function&&(t=o(t))}if(e.isObservable(n))n(t,e.unwrap(n));else{var u=function(e,t,n){if(t){var i=e.get(t);if(i)return i[n]}return null}(r,a,s);u&&u(t)}}function m(e){return t(e)?e.hasOwnProperty("field"):!0!==e}c.animateFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(e){return window.setTimeout(e,1e3/60)},c.prototype.dispose=function(){this.changeSubs&&this.changeSubs.dispose()},c.prototype.onArrayChange=function(t){var n=this,i={added:[],existing:[],deleted:[]};e.utils.arrayForEach(t,(function(e){i[e.status].push(e)})),"function"==typeof this.dataChanged&&this.dataChanged(i),i.deleted.length>0&&(this.changeQueue.push.apply(this.changeQueue,i.deleted),this.changeQueue.push({status:"clearDeletedIndexes"})),this.changeQueue.push.apply(this.changeQueue,i.existing),this.changeQueue.push.apply(this.changeQueue,i.added),this.changeQueue.length>0&&!this.rendering_queued&&(this.rendering_queued=!0,c.animateFrame.call(window,(function(){n.processQueue()})))},c.prototype.processQueue=function(){var t=this;"function"==typeof this.beforeQueueFlush&&this.beforeQueueFlush(this.changeQueue),e.utils.arrayForEach(this.changeQueue,(function(e){t[e.status](e.index,e.value)})),this.rendering_queued=!1,"function"==typeof this.afterQueueFlush&&this.afterQueueFlush(this.changeQueue),this.changeQueue=[]},c.prototype.createChildContext=function(t,n){return this.noContext?this.$context.extend({$item:n}):this.$context.createChildContext(n,this.as||null,(function(n){n.$index=e.observable(t)}))},c.prototype.existing=function(t,n){for(var i,s=this.childContexts[t]=this.createChildContext(t,n),r=t*this.nodesPerElement,a=0;a<this.nodesPerElement;a++)(i=this.existingElements[r+a])&&(e.cleanNode(i),e.applyBindings(s,i));this.lastNodesList.splice(t,0,i)},c.prototype.added=function(t,n){var i=this.lastNodesList[t-1]||null,s=this.templateNode.cloneNode(!0),r=e.virtualElements.childNodes(s);this.lastNodesList.splice(t,0,r[r.length-1]),this.childContexts[t]=this.createChildContext(t,n),e.applyBindingsToDescendants(this.childContexts[t],s);for(var a=r.length-1;a>=0;--a){var o=r[a];if(!o)return;e.virtualElements.insertAfter(this.element,o,i)}},c.prototype.deleted=function(t,n){var i=this.lastNodesList[t],s=this.lastNodesList[t-1]||this.element;do{i=i.previousSibling,e.removeNode(i&&i.nextSibling||e.virtualElements.firstChild(this.element))}while(i&&i!==s);this.lastNodesList[t]=this.lastNodesList[t-1],this.indexesToDelete.push(t)},c.prototype.clearDeletedIndexes=function(){for(var e=this.indexesToDelete.length-1;e>=0;--e)this.lastNodesList.splice(this.indexesToDelete[e],1),this.childContexts.splice(this.indexesToDelete[e],1);for(var t=this.childContexts.length-1;t>=0;--t)this.childContexts[t]&&this.childContexts[t].$index&&this.childContexts[t].$index(t);this.indexesToDelete=[]},c.prototype.createElements=function(){for(var t=this,n=[],i=0;i<this.existingElements.length/this.nodesPerElement;i++)n.push(this.createElement());e.isObservable(this.data)?n.forEach((e=>this.data.push(e))):e.utils.arrayForEach(n,(function(e){t.data.push(e)}))},e.bindingHandlers.foreachInit={init:function(t,n,i,s,r){var a=new c(t,n,i,s,r);return e.utils.domNodeDisposal.addDisposeCallback(t,(function(){a.dispose()})),{controlsDescendantBindings:!0}},InitializedForeach:c},e.virtualElements.allowedBindings.foreachInit=!0,p("value"),p("text"),p("textInput"),p("checked",(function(e){return e.checked})),p("visible",(function(e){return!function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||e.style&&e.style.display&&"none"==e.style.display}(e)})),p("html",(function(e){return e.innerHTML})),p("enable",(function(e){return!e.disabled})),p("disable",(function(e){return e.disabled})),p("attr",(function(e,t){return e.attributes[t]?e.attributes[t].value:void 0}),!0,"_ko_prerender_attrPropertyWriters"),p("css",(function(e,t){return new RegExp("\\b"+t+"\\b","i").test(e.className)}),!0,"_ko_prerender_cssPropertyWriters"),e.bindingHandlers.init={init:function(n,i,r,a){var o=i();if(!0!==o){(function(e){return t(e)&&void 0===e.value&&void 0===e.convert&&void 0===e.field})(o)&&function(e,t,n){var i=n.get("_ko_prerender_initPropertyWriters");for(var s in e)if(e.hasOwnProperty(s)&&t[s]instanceof Function)t[s](e[s]);else if(i){var r=i[s];r&&r(e[s])}}(o,a,r);var u=s(n)?e.virtualElements.firstChild(n):n;v(o.hasOwnProperty("value")?o.value:f(u),o.hasOwnProperty("field")?o.field:o,o.convert,"field",r,"_ko_prerender_initPropertyWriters")}}},l("init","_ko_prerender_initPropertyWriters","field",(function(e){var t=e.key;return"convert"===t||"value"===t?null:void 0===t||"field"===t?e:{key:t,value:t}})),e.virtualElements.allowedBindings.init=!0}));
///*# sourceMappingURL=https://www.designersguild.com/js/dist/lib/knockout/dist/knockout-pre-rendered.min.js.map */
;
function assignVisibilityCallback(e,n){new IntersectionObserver((function(e,o){e.forEach((function(e){n(e.intersectionRatio>0)}))}),{root:null}).observe(e)}function formatToNumberHelper(e,n,o,t,a){var i=Math.pow(10,n),r=new String(e).replace(/[^0-9\.]/g,"");isNaN(r)&&(r=0);var l=null;if(null==a)l=Math.round(r*i)/i;else{let e=1/a;l=(Math.round(r*e)/e).toFixed(n)}return(o=ko.unwrap(o))&&l>o&&(l=o),(t=ko.unwrap(t))&&l<t&&(l=t),l}function countDecimals(e){return Math.floor(e)!==e&&e.toString().split(".")[1].length||0}"function"==typeof window.onKnockoutAvailable&&window.onKnockoutAvailable(),ko.validation.init({decorateInputElement:!0,decorateElementOnModified:!0,registerExtenders:!0,messagesOnModified:!0,insertMessages:!0,parseInputAttributes:!1,errorElementClass:"validation-element",errorMessageClass:"validation-message"},!0),ko.extenders.postable=function(e,n){e.postable=n},ko.extenders.errorPulse=function(e,n){e.hasOwnProperty("isValid")&&e.isValid.subscribe((function(n){!n&&e.hasOwnProperty("DOMElement")&&e.DOMElement.parentElement.querySelectorAll(".validation-element").forEach((e=>{e.classList.contains("error-pulse")||e.classList.add("error-pulse"),setTimeout((function(){e.classList.remove("error-pulse")}),300)}))}))},ko.extenders.element=function(e,n){e.DOMElement=n},ko.bindingHandlers.keepElement={init:function(e,n,o,t){Array.isArray(n())?n().forEach((n=>{n.extend({element:e})})):n().extend({element:e})}},ko.bindingHandlers.enterKey={init:function(e,n,o,t,a){ko.applyBindingsToNode(e,{event:{keyup:function(e,o){return 13===o.keyCode&&n()&&"function"==typeof n()&&n().call(),!0}}},a)}},ko.bindingHandlers.downArrowKey={init:function(e,n,o,t,a){ko.applyBindingsToNode(e,{event:{keyup:function(e,o){40===o.keyCode&&n()&&"function"==typeof n()&&n().call()}}},a)}},ko.bindingHandlers.fadeVisible={init:function(e,n){var o=ko.unwrap(n());$(e).toggle(o)},update:function(e,n,o){var t=ko.unwrap(n()),a=void 0;o().fadeSpeed&&(a=o().fadeSpeed),ko.unwrap(t)?$(e).stop().fadeIn(a):$(e).stop().fadeOut(a)}},ko.bindingHandlers.toggleOpacity={init:function(e,n){ko.unwrap(n())&&(e.classList.remove("d-none"),e.classList.add("opacity-100"))},update:function(e,n,o){ko.unwrap(n())?(e.classList.remove("d-none"),e.classList.add("opacity-100")):(e.classList.remove("opacity-100"),setTimeout((()=>e.classList.add("d-none")),150))}},ko.extenders.charsRemaining=function(e,n){null==n&&console.error("charsRemaining extender - options was null"),n.hasOwnProperty("maxLength")||console.error("charsRemaining extender - options does not have property maxLength"),n.hasOwnProperty("elementId")||n.hasOwnProperty("element")||console.error("charsRemaining extender - options does not have property elementId nor element"),null==n.maxLength&&console.error("charsRemaining extender - options.maxLength was null"),isNaN(n.maxLength)&&console.error("charsRemaining extender - options.maxLength was NaN"),e.maxLength=n.maxLength;var o=$(n.element||n.elementId).closest(".form-group").find(".col-form-label");o.length||(o=$(n.element||n.elementId).closest(".mdc-validating-field").find(".mdc-floating-label")),o.length||(o=$(n.element||n.elementId).closest(".form-group").find(".field-label")),o.length,e.charsRemaining=ko.pureComputed({read:function(){var n=ko.unwrap(e());return null==n&&(n=""),"("+(e.maxLength-n.length)+")"}},this,{disposeWhenNodeIsRemoved:o}),$(n.elementId).attr("maxlength",e.maxLength),$(o).each((function(n,o){var t=document.createElement("sup");t.className="remaining",$(o).find("sup").remove(),$(o).append(t),ko.applyBindingsToNode(t,{html:e.charsRemaining})}))},ko.bindingHandlers.charsRemaining={init:function(e,n,o,t,a){n()&&($(e).prop("maxlength",t.charsRemainingOptions.maxLength),t.observable.extend({charsRemaining:{maxLength:t.charsRemainingOptions.maxLength,element:e}}))}},ko.bindingHandlers.maxNewLines={init:function(e,n,o,t,a){ko.unwrap(n());$(e).on("keydown",(function(e){var n=(ko.unwrap(o.get("textInput"))||"").split(/\r*\n/).length;13===e.keyCode&&n>=3&&e.preventDefault()}))},update:function(e,n,o,t,a){if(ko.unwrap(n())){var i=ko.unwrap(o.get("textInput"));if(i){var r=i.split(/\r*\n/);r.length>3&&(i=r[0]+"\n"+r[1]+"\n"+r[2]+" "+r.splice(3).join(" ")),o.get("textInput")(i)}}}},ko.extenders.pcaPredict=function(e,n){null===n&&console.error("pcaPredict extender requires options"),n.hasOwnProperty("elementId")||n.hasOwnProperty("element")||console.error("pcaPredict extender options object requires elementId OR element"),n.hasOwnProperty("mapFunction")||console.error("pcaPredict extender options object requires mapFunction to utilise results"),"function"!=typeof n.mapFunction&&console.error("pcaPredict extender options object requires mapFunction function taking params: line1, line2, line3, line4 & postalCode"),n.hasOwnProperty("country")||console.error("pcaPredict extender options object requires countryCode observable"),e.PCASearchId=ko.observable(),e.PCAContainer=ko.observable(),$(n.elementId||n.element).autocomplete({appendTo:$(n.elementId||n.element).parent(),source:function(o,t){ko.unwrap(n.country)?($(n.elementId||n.element).parent().find(".pca-failure").remove(),$.ajax({url:"/api/member/addressLookupSearch",type:"POST",dataType:"json",data:{id:e.PCASearchId(),text:e(),container:e.PCAContainer(),origin:null,countries:ko.unwrap(n.country).Code},success:function(o){if($(n.elementId||n.element).removeClass("ui-autocomplete-loading"),null!=e.PCASearchId()){if(1==o.length){var a=o[0].Province||o[0].ProvinceName||o[0].ProvinceCode||o[0].AdminAreaName||o[0].AdminAreaCode;"London"===o[0].City&&"GB"==ko.unwrap(n.country).Code&&(a="London");var i=o[0].Line1;return""!=o[0].Company&&(i=o[0].Company+", "+i),n.mapFunction(o[0].Company,"",i,o[0].Line2,o[0].City,a,o[0].PostalCode,null,null,null,!0,ko.unwrap(n.country).CountryID),$(n.elementId||n.element).autocomplete("close"),e.PCASearchId(null),e.PCAContainer(null),!1}return t($.map(o,(function(e){var t=e.Province||e.ProvinceName||e.ProvinceCode||e.AdminAreaName||e.AdminAreaCode;"London"===e.City&&"GB"==ko.unwrap(n.country).Code&&(t="London");var a=o[0].Line1;return""!=e.Company&&(a=o[0].Company+", "+a),{customCatch:!0,label:e.Label,value:e.Id,addressLine1:a,addressLine2:e.Line2,addressLine3:e.City,addressLine4:t,Postcode:e.PostalCode}}))),!1}e.PCASearchId(null),e.PCAContainer(null),t($.map(o,(function(e){return e.hasOwnProperty("Type")?"Address"===e.Type||"Residential"===e.Type?{id:e.Id,label:e.Text+", "+e.Description,value:e.Id,type:e.Type,text:e.Text}:{id:e.Id,label:e.Description,value:e.Id,type:e.Type,text:e.Text}:{label:e.Label,value:e.Id}}))),"function"==typeof n.afterSearch&&n.afterSearch()},error:function(e,o,t){console.log("pcaPredict failure",t),$(n.elementId||n.element).removeClass("ui-autocomplete-loading"),$(n.elementId||n.element).parent().find(".pca-failure").remove(),$(n.elementId||n.element).parent().append('<span class="pca-failure alert alert-danger">Lookup Failure. Please try again.</span>')}})):($(n.elementId||n.element).removeClass("ui-autocomplete-loading"),t($.map([{id:"",label:n.resources.PleaseSelectCountryBefore,value:null,type:null,text:n.resources.PleaseSelectCountryBefore}],(function(e){return{id:e.id,label:e.label,value:e.value,type:e.type,text:e.text}}))))},minLength:1,select:function(o,t){if(t.item.hasOwnProperty("type"))switch(t.item.type){case"Address":case"Residential":jQuery.extend(o.originalEvent,{keepOpen:!0}),e.PCASearchId(t.item.id),e.PCAContainer(null);break;default:return jQuery.extend(o.originalEvent,{keepOpen:!0}),e.PCASearchId(null),e.PCAContainer(t.item.id),!1}else t.item.hasOwnProperty("customCatch")&&(n.mapFunction(t.item.addressLine1,t.item.addressLine2,t.item.addressLine3,t.item.addressLine4,t.item.Postcode),$(n.elementId||n.element).autocomplete("close"),e.PCASearchId(null),e.PCAContainer(null),e.hasOwnProperty("PCASearchTerm")&&e.PCASearchTerm(null));return!1},focus:function(e,n){e.preventDefault()},autoFocus:!0}),$(n.elementId||n.element).data("ui-autocomplete")._renderItem=function(e,n){return $('<li class="ui-menu-item">').attr("data-value",n.value).append('<div class="ui-menu-item-wrapper">'+n.label+"</div>").appendTo(e)},$(n.elementId||n.element).data("ui-autocomplete")._renderMenu=function(e,n){var o=this;$.each(n,(function(n,t){o._renderItemData(e,t)})),$(e).addClass("address-autocomplete")},e.performSearch=function(){$(n.elementId||n.element).autocomplete("search")},n.hasOwnProperty("readyNotice")&&window.setTimeout((()=>{n.readyNotice(!0)}),0)},ko.extenders.pcaPredictList=function(e,n){null===n&&console.error("pcaPredictList extender requires options"),n.hasOwnProperty("element")||console.error("pcaPredictList extender options object requires element"),n.hasOwnProperty("mapFunction")||console.error("pcaPredictList extender options object requires mapFunction to utilise results"),"function"!=typeof n.mapFunction&&console.error("pcaPredictList extender options object requires mapFunction function taking params: line1, line2, line3, line4 & postalCode"),n.hasOwnProperty("country")||console.error("pcaPredictList extender options object requires countryCode observable"),n.hasOwnProperty("searchResultsList")||console.error("pcaPredictList extender options object requires searchResultsList observableArray"),n.hasOwnProperty("searchEndpoint")||console.error("pcaPredictList extender options object requires searchEndpoint observable"),e.PCASearchId=ko.observable(),e.PCAContainer=ko.observable(),e.searchEndpoint=n.searchEndpoint,e.busy=n.busy,e.subscribe((n=>{e.currentSearch&&e.currentSearch.abort()})),e.performSearch=function(o){if(!e.busy()){e.busy(!0);var t={id:e.PCASearchId(),text:e(),container:e.PCAContainer(),origin:null,countries:ko.unwrap(n.country)?ko.unwrap(n.country).Code:null,mode:ko.unwrap(n.mode),language:getLanguageId()};"/api/generalapi/addressSearch"==e.searchEndpoint()&&(t.countries=null),e.currentSearch=$.ajax({url:e.searchEndpoint(),type:"POST",dataType:"json",data:t,success:function(o){if(o.error)window.showError();else{$(n.elementId||n.element).removeClass("ui-autocomplete-loading");var t=[];if(o.mertexResults.length)return t=$.map(o.mertexResults,(function(e){var o=e.Province||e.ProvinceName||e.ProvinceCode||e.AdminAreaName||e.AdminAreaCode;"London"===e.City&&"GB"==ko.unwrap(n.country).Code&&(o="London");var t=addressViewModel({labelClass:"delivery-address-label",controlClass:"form-control mdc-text-field__input",phoneIntlMobile:!1,email:!0},n.resources,n.addressSearchWrapper);return t.loadPCAResult(e),e=$.extend(e,{customCatch:!0,label:e.Label,value:e.Id,companyName:e.Company,name:e.Name,addressLine1:e.Line1,addressLine2:e.Line2,addressLine3:e.City,addressLine4:o,postcode:e.PostalCode,phone:e.Phone,email:e.Email,deliveryReference:e.DeliveryReference,obj:e,type:e.Type,countryId:e.CountryID,country:e.Country,loqateAddress:!1}),t.item=e,t})),e.PCASearchId(null),e.PCAContainer(null),n.searchResultsList(t),e.busy(!1),ko.isObservable(n.haveSearched)&&n.haveSearched(!0),void("function"==typeof n.afterSearch&&n.afterSearch());t=null!=e.PCASearchId()?t.concat($.map(o.results,(function(e){var o=e.Province||e.ProvinceName||e.ProvinceCode||e.AdminAreaName||e.AdminAreaCode;return"London"===e.City&&"GB"==ko.unwrap(n.country).Code&&(o="London"),{customCatch:!0,label:e.Label,value:e.Id,companyName:e.Company,name:e.Name,addressLine1:e.Line1,addressLine2:e.Line2,addressLine3:e.City,addressLine4:o,postcode:e.PostalCode,phone:e.Phone,email:e.Email,deliveryReference:e.DeliveryReference,obj:e,type:e.Type,loqateAddress:!0}}))):t.concat($.map(o.results,(function(e){if(!e.hasOwnProperty("Type"))return{label:e.Label,value:e.Id};switch(e.Type){case"Address":case"Residential":return{id:e.Id,label:e.Text+", "+e.Description,value:e.Id,type:e.Type,text:e.Text};case"Commercial":return{id:e.Id,label:e.Label,value:e.Id,type:e.Type,text:e.Label};default:return{id:e.Id,label:e.Description,value:e.Id,type:e.Type,text:e.Text}}}))),e.PCASearchId(null),e.PCAContainer(null),n.searchResultsList(t)}ko.isObservable(n.haveSearched)&&n.haveSearched(!0),"function"==typeof n.afterSearch&&n.afterSearch(),e.busy(!1)},error:function(o,t,a){e.busy(!1),"abort"!==a&&(console.log("pcaPredict failure",a),$(n.elementId||n.element).removeClass("ui-autocomplete-loading"),$(n.elementId||n.element).parent().find(".pca-failure").remove(),$(n.elementId||n.element).parent().append('<span class="pca-failure alert alert-danger">Lookup Failure. Please try again.</span>'))}})}},$(n.element).autocomplete({appendTo:"body",source:function(o,t){if(ko.unwrap(n.country)||"extant"==ko.unwrap(n.mode))return $(n.elementId||n.element).parent().find(".pca-failure").remove(),void e.performSearch(t);$(n.elementId||n.element).removeClass("ui-autocomplete-loading"),t()},open:function(e,n){$(".ui-autocomplete").off("menufocus hover mouseover")},minLength:void 0===n.minLength?1:n.minLength,select:function(e,n){return!1},focus:function(e,n){e.preventDefault()},autoFocus:void 0===n.autoFocus||n.autoFocus,delay:500,position:n.position||{my:"left top",at:"left bottom",collision:"none"}}),$(n.element).data("ui-autocomplete")._renderItem=function(e,n){return $('<li class="ui-menu-item">').attr("data-value",n.value).append('<div class="ui-menu-item-wrapper">'+n.label+"</div>").appendTo(e)},$(n.element).data("ui-autocomplete")._renderMenu=function(e,n){var o=this;$.each(n,(function(n,t){o._renderItemData(e,t)})),$(e).addClass("address-autocomplete")}},ko.bindingHandlers.pcaPredict={init:function(e,n,o){var t=ko.unwrap(n()),a=ko.unwrap(o());t.element=e,a.textInput.extend({pcaPredict:t})}},ko.bindingHandlers.removeSelf={init:function(e,n,o){$(e).remove()}},ko.bindingHandlers.pcaPredictList={init:function(e,n,o){var t=ko.unwrap(n()),a=ko.unwrap(o());t.element=e,a.textInput.extend({pcaPredictList:t})}},ko.bindingHandlers.numericWhole={init:function(e,n){e.addEventListener("keydown",(function(e){46==e.keyCode||8==e.keyCode||9==e.keyCode||27==e.keyCode||13==e.keyCode||65==e.keyCode&&!0===e.ctrlKey||e.keyCode>=35&&e.keyCode<=40||(e.shiftKey||(e.keyCode<48||e.keyCode>57)&&(e.keyCode<96||e.keyCode>105))&&e.preventDefault()}))}},ko.bindingHandlers.phoneInput={init:function(e,n){e.addEventListener("keydown",(function(e){107==e.keyCode||187==e.keyCode&&e.shiftKey||32==e.keyCode||46==e.keyCode||8==e.keyCode||9==e.keyCode||27==e.keyCode||13==e.keyCode||65==e.keyCode&&(!0===e.ctrlKey||!0===e.metaKey)||86==e.keyCode&&(!0===e.ctrlKey||!0===e.metaKey)||e.keyCode>=35&&e.keyCode<=40||(e.shiftKey||(e.keyCode<48||e.keyCode>57)&&(e.keyCode<96||e.keyCode>105))&&e.preventDefault()}))}},ko.bindingHandlers.numeric={init:function(e,n){var o=n();e.addEventListener("keydown",(function(e){let n=ko.unwrap(o);46==e.keyCode||8==e.keyCode||9==e.keyCode||27==e.keyCode||13==e.keyCode||65==e.keyCode&&!0===e.ctrlKey||!(190!=e.keyCode&&110!=e.keyCode||n&&-1!=n.toString().indexOf("."))||e.keyCode>=35&&e.keyCode<=39||(e.shiftKey||(e.keyCode<48||e.keyCode>57)&&(e.keyCode<96||e.keyCode>105))&&e.preventDefault()}))}},ko.extenders.roundedNumeric=function(e,n){var o=ko.pureComputed({read:e,write:function(o){""===o&&(o=null);var t=e(),a=Math.pow(10,n),i=isNaN(o)?0:+o,r=Math.round(i*a)/a;r=+Number(r).toFixed(n),null===o&&null===t||(null===o&&(r=null),isNaN(o)&&null!==o||(r!==t?e(r):o!==t&&e.notifySubscribers(r)))}}).extend({notify:"always"});return o(e()),o},ko.extenders.numberFormatted=function(e,n){return"object"!=typeof n&&console.error('numberFormatted extender requires options { digits: [N], currency: ko.observable({ FormattingCulture: "[en-GB]" }) }'),n.hasOwnProperty("digits")||console.error('numberFormatted extender requires options { digits: [N], currency: ko.observable({ FormattingCulture: "[en-GB]" }) }'),n.hasOwnProperty("currency")||console.error('numberFormatted extender requires options { digits: [N], currency: ko.observable({ FormattingCulture: "[en-GB]" }) }'),e.formatted=ko.computed({read:function(){var o=e();if(void 0===o||null==o)return o;if(ko.unwrap(n.currency)){var t=formatNumber(o,n.digits,ko.unwrap(n.currency).FormattingCulture);return n.unit&&(t=`${t} ${n.unit}`),t}return o},write:function(o){var t=e(),a=formatToNumberHelper(o,n.digits,n.maxValue,n.minValue,n.nearest);""===o&&(o=null),null===o&&null===t||(null===o&&(a=null),a!==t?e(a):o!==t&&e.notifySubscribers(a))}}).extend({notify:"always"}),e},ko.extenders.zxcvbn=function(e,n){n.restrictions=n.restrictions||[];var o=ko.pureComputed({read:function(){if(window.zxcvbn){let o=zxcvbn(ko.unwrap(e)||"",n.restrictions.map((function(e){return ko.unwrap(e)})));return Object.assign(o,{min:ko.observable(0),low:ko.observable(2),high:ko.observable(3),max:ko.observable(4),optimum:ko.observable(4)}),o}return null}}).extend({notify:"always"});return e.zxcvbn=o,e},ko.bindingHandlers.mdcTextField={init:function(e,n,o){if(window.mdc){var t=n();null==t.boundTo&&console.error("mdcTextField binding handler: observable was null or undefined",t),ko.isObservable(t)?(t.mdcTextField=new mdc.textField.MDCTextField(e),t.mdcTextField.layout()):(e.MDCTextField=new mdc.textField.MDCTextField(e),t.boundTo.mdcTextField=e.MDCTextField,t.hasOwnProperty("useNativeValidation")&&0==t.useNativeValidation&&t.boundTo.hasOwnProperty("isValid")&&(t.boundTo.mdcTextField.useNativeValidation=t.useNativeValidation,t.boundTo.isValid.subscribe((function(e){!0===e&&(t.boundTo.mdcTextField.valid=!0),!1===e&&(t.boundTo.mdcTextField.valid=!1)}))),t.boundTo.mdcTextField.layout()),$("input",e).on("focus",(function(){$("input",e).select()}))}else console.error("mdcTextField binding handler: global mdc was not defined",e)}},ko.bindingHandlers.mdcSelect={init:function(e,n,o){if(window.mdc){var t=n();ko.isObservable(t)?(t.mdcSelect=new mdc.select.MDCSelect(e),t.mdcSelect.layout()):(t.boundTo.mdcSelect=new mdc.select.MDCSelect(e),t.hasOwnProperty("useNativeValidation")&&0==t.useNativeValidation&&t.boundTo.hasOwnProperty("isValid")&&(t.boundTo.mdcSelect.useNativeValidation=t.useNativeValidation,t.boundTo.isValid.subscribe((function(e){!0===e&&(t.boundTo.mdcSelect.valid=!0),!1===e&&(t.boundTo.mdcSelect.valid=!1)}))),t.boundTo.mdcSelect.layout()),t.boundTo.subscribe((function(e){null!=e&&""!==e?$(t.boundTo.mdcSelect.label_.root_).hasClass("mdc-floating-label--float-above")||window.setTimeout((function(){t.boundTo.mdcSelect.label_.float(!0),t.boundTo.mdcSelect.getDefaultFoundation().adapter_.notchOutline(.75*t.boundTo.mdcSelect.getDefaultFoundation().adapter_.getLabelWidth())}),50):$(t.boundTo.mdcSelect.label_.root_).hasClass("mdc-floating-label--float-above")&&window.setTimeout((function(){t.boundTo.mdcSelect.label_.float(!1),t.boundTo.mdcSelect.getDefaultFoundation().adapter_.closeOutline()}),50)}))}else console.error("mdcSelect binding handler: global mdc was not defined",e)}},ko.bindingHandlers.mdcTextFieldComponent={init:function(e,n,o){if(window.mdc){var t=n();e.MDCTextField=new mdc.textField.MDCTextField(e),t.boundTo.mdcTextField=e.MDCTextField,t.boundTo.mdcTextField.useNativeValidation=t.useNativeValidation,t.hasOwnProperty("disabled")&&(ko.isObservable(t.disabled)&&t.disabled.subscribe((function(e){t.boundTo.mdcTextField.disabled=e})),window.setTimeout((()=>{t.boundTo.mdcTextField.disabled=ko.unwrap(t.disabled)}),0)),0==t.useNativeValidation&&t.boundTo.hasOwnProperty("isValid")&&(t.boundTo.isValid.extend({notify:"always"}),t.boundTo.isValid.subscribe((function(e){!0===e&&(t.boundTo.mdcTextField.valid=!0),!1===e&&(t.boundTo.mdcTextField.valid=!1,$(t.boundTo.mdcTextField.label_.root_).hasClass("mdc-floating-label--float-above")||t.boundTo.mdcTextField.label_.shake(!0))}))),t.boundTo.subscribe((function(e){""===e&&(e=null),null!=e?t.boundTo.mdcTextField.label_&&(t.boundTo.mdcTextField.label_.float(!0),t.boundTo.mdcTextField.getDefaultFoundation().adapter_.notchOutline(.8*t.boundTo.mdcTextField.getDefaultFoundation().adapter_.getLabelWidth())):t.boundTo.mdcTextField.label_&&(t.boundTo.mdcTextField.label_.float(!1),t.boundTo.mdcTextField.getDefaultFoundation().adapter_.closeOutline())})),null!=t.boundTo()&&""!=t.boundTo()&&t.boundTo.mdcTextField.label_&&t.boundTo.mdcTextField.label_.float(!0),window.setTimeout((function(){t.boundTo.mdcTextField.layout()}),0)}else console.error("mdcTextFieldNew binding handler: global mdc was not defined",e)}},ko.bindingHandlers.mdcSelectComponent={init:function(e,n,o){if(window.mdc){var t=n();e.MDCSelect=new mdc.select.MDCSelect(e),t.boundTo.mdcSelect=e.MDCSelect,t.boundTo.mdcSelect.useNativeValidation=t.useNativeValidation,t.hasOwnProperty("disabled")&&(ko.isObservable(t.disabled)&&t.disabled.subscribe((function(e){t.boundTo.mdcSelect.disabled=e})),t.boundTo.mdcSelect.disabled=ko.unwrap(t.disabled)),0==t.useNativeValidation&&t.boundTo.hasOwnProperty("isValid")&&(t.boundTo.isValid.extend({notify:"always"}),t.boundTo.isValid.subscribe((function(e){!0===e&&(t.boundTo.mdcSelect.valid=!0),!1===e&&(t.boundTo.mdcSelect.valid=!1,$(t.boundTo.mdcSelect.label_.root_).hasClass("mdc-floating-label--float-above")||t.boundTo.mdcSelect.label_.shake(!0))}))),t.boundTo.subscribe((function(e){null!=e&&""!==e?window.setTimeout((function(){t.boundTo.mdcSelect.label_.float(!0),t.boundTo.mdcSelect.getDefaultFoundation().adapter_.notchOutline(.8*t.boundTo.mdcSelect.getDefaultFoundation().adapter_.getLabelWidth())}),50):$(t.boundTo.mdcSelect.label_.root_).hasClass("mdc-floating-label--float-above")&&window.setTimeout((function(){t.boundTo.mdcSelect.label_.float(!1),t.boundTo.mdcSelect.getDefaultFoundation().adapter_.closeOutline()}),50)}))}else console.error("mdcSelectComponent binding handler: global mdc was not defined",e)}},ko.bindingHandlers.mdcKendoComboBox={init:function(e,n,o){if(window.mdc){var t=n();t.value.DOMElement=t.widget().input,ko.utils.registerEventHandler(t.widget().input,"keyup",a),ko.utils.registerEventHandler(t.widget().input,"focus",a),ko.utils.registerEventHandler(t.widget().input,"blur",(function(e){t.value()||(t.value.mdcSelect.label_.float(!1),t.value.mdcSelect.getDefaultFoundation().adapter_.closeOutline())})),t.value.hasOwnProperty("isValid")&&t.value.isValid.subscribe((function(e){e||t.value.mdcSelect.label_.shake(!0)}))}else console.error("mdcKendoComboBox binding handler: global mdc was not defined",e);function a(e){t.value(e.currentTarget.value),$(t.value.mdcSelect.label_.root_).hasClass("mdc-floating-label--float-above")||window.setTimeout((function(){t.value.mdcSelect.label_.float(!0),t.value.mdcSelect.getDefaultFoundation().adapter_.notchOutline(.75*t.value.mdcSelect.getDefaultFoundation().adapter_.getLabelWidth())}),50),t.value.hasOwnProperty("isValid")&&(t.value.isValid()?$(t.value.mdcSelect.label_.root_).removeClass("mdc-select--invalid"):$(t.value.mdcSelect.label_.root_).addClass("mdc-select--invalid"))}}},ko.bindingHandlers.intlMobile={init:function(e,n,o){var t=n();window.intlTelInput&&(t.phone.intlTel=window.intlTelInput(e,{dropdownContainer:document.body,initialCountry:t.country()?t.country().Code:void 0,preferredCountries:t.preferredCountries})),t.phone.subscribe((function(e){t.phone.isValid.notifySubscribers(!0)}))}},ko.bindingHandlers.dynamicHtml={update:function(e,n,o,t,a){ko.utils.setHtml(e,n()),ko.applyBindingsToDescendants(a,e)}},ko.bindingHandlers.fadeBetweenMany={init:function(e,n){var o=n(),t=ko.unwrap(o);ko.isObservable(t.observable)||console.error('fadeBetweenMany bindingHandler error - parameter "observable" is not an observable',e,t),ko.hasOwnProperty(t.visibleWhen),ko.hasOwnProperty(t.swapWith)},update:function(e,n){var o=ko.unwrap(n());"function"==typeof o.visibleWhen?o.visibleWhen(ko.unwrap(o.observable))?($(e).parent().find(o.swapWith).css("position","absolute").hide().stop().fadeOut(100),$(e).css("position","static").stop().fadeIn("fast")):$(e).css("position","absolute").hide().stop().fadeOut(100):ko.unwrap(o.observable)==o.visibleWhen?($(e).parent().find(o.swapWith).css("position","absolute").hide().stop().fadeOut(100),$(e).css("position","static").stop().fadeIn("fast")):$(e).css("position","absolute").hide().stop().fadeOut(100)}},ko.observable.fn.silentUpdate=function(e){this.notifySubscribers=function(){},this(e),this.notifySubscribers=function(){ko.subscribable.fn.notifySubscribers.apply(this,arguments)}},ko.bindingHandlers.dateTimePicker={init:function(e,n,o){var t=o().dateTimePickerOptions||{keepOpen:!0};$(e).datetimepicker(t),ko.utils.registerEventHandler(e,"dp.change",(function(e){var o=n();ko.isObservable(o)&&(null==e.date||e.date instanceof Date?0!=e.date&&o(e.date):e.date.hasOwnProperty("toDate")?o(e.date.toDate()):0!=e.date?o(e.date):o(void 0))})),ko.utils.domNodeDisposal.addDisposeCallback(e,(function(){var n=$(e).data("DateTimePicker");n&&n.destroy()}))},update:function(e,n,o,t,a){var i=$(e).data("DateTimePicker");if(i){var r=ko.utils.unwrapObservable(n());null!=r&&!1!==r&&(r=r.toString().indexOf("Date")>-1?"object"!=typeof r?new Date(parseFloat(r.replace(/[^0-9]/g,""))):r:moment(r).format(o().dateTimePickerOptions.format)),void 0===r&&(r=null),!1===r&&(r=null),i.date(r)}}},ko.bindingHandlers.fadeSlideVisible={init:function(e,n){var o=n();$(e).toggle(ko.unwrap(o))},update:function(e,n){var o=n();ko.unwrap(o)?$(e).stop(!0,!0).fadeIn({queue:!1}).css("display","none").slideDown():$(e).stop(!0,!0).fadeOut({queue:!1}).slideUp()}},void 0!==ko.validation&&(ko.validation.rules.noPOBox={validator:function(e,n,o){if(!n)return!0;if(ko.validation.utils.isEmptyVal(e))return!0;e&&(e=e.toUpperCase());return null==ko.utils.arrayFirst([/PO BOX/,/P\.O\. BOX/,/P\.O BOX/,/PO\.BOX/,/PO\. BOX/,/P\.O/,/P\.O\./,/P O BOX/,/POBOX/,/P\.O\.BOX/,/POST OFFICE BOX/,/POSTOFFICEBOX/,/P\.O\./],(function(n){return e.match(n)}))},message:"No P.O. Boxes!"},ko.validation.addExtender("noPOBox")),ko.bindingHandlers.fadeSwapVisible={init:function(e,n){var o=n(),t=ko.unwrap(o);"boolean"===(ko.unwrap(t.boolean),!1)&&console.error('fadeSwapVisible bindingHandler error - parameter "boolean" is not a boolean',e,t),"boolean"===(ko.unwrap(t.visibleWhen),!1)&&console.error('fadeSwapVisible bindingHandler error - parameter "visibleWhen" is not a boolean',e,t),0==$(t.swapWith).length&&console.error('fadeSwapVisible bindingHandler error - parameter "swapWith" was not a found element',e,t)},update:function(e,n){var o=ko.unwrap(n());ko.unwrap(o.boolean)==o.visibleWhen?($(e).parent().find(o.swapWith).css("position","absolute").hide().stop().fadeOut(),$(e).css("position","static").stop().fadeIn()):($(e).parent().find(o.swapWith).css("position","static").stop().fadeIn(),$(e).css("position","absolute").hide().stop().fadeOut())}},ko.bindingHandlers.selectOnFocus={init:function(e){e.addEventListener("focusin",(function(){e.select()}))}},ko.bindingHandlers.remove={init:function(e){e.remove()}},ko.bindingHandlers.flexVisible={init:function(e,n){var o=n(),t=ko.unwrap(o);"boolean"===(ko.unwrap(t.boolean),!1)&&console.error('flexVisible bindingHandler error - parameter "boolean" is not a boolean',e,t),o&&(e.style.display="flex")},update:function(e,n){var o=ko.unwrap(n());e.style.display=o?"flex":"none"}},ko.bindingHandlers.inlineFlexVisible={init:function(e,n){var o=n(),t=ko.unwrap(o);"boolean"===(ko.unwrap(t.boolean),!1)&&console.error('inlineFlexVisible bindingHandler error - parameter "boolean" is not a boolean',e,t),o&&(e.style.display="inline-flex")},update:function(e,n){var o=ko.unwrap(n());e.style.display=o?"inline-flex":"none"}},ko.bindingHandlers.addressAutocompleteKeyPress={init:function(e,n){e.addEventListener("keydown",(function(n){9==n.keyCode&&e.parentElement.querySelectorAll(".address-autocomplete > li").length&&e.parentElement.querySelector(".address-autocomplete > li:first-of-type").focus()}))}},ko.bindingHandlers.stopBinding={init:function(){return{controlsDescendantBindings:!0}}},ko.bindingHandlers.flexFadeVisible={init:function(e,n){var o=n(),t=ko.unwrap(o);"boolean"===(ko.unwrap(t.boolean),!1)&&console.error('flexVisible bindingHandler error - parameter "boolean" is not a boolean',e,t),o&&(e.classList.remove("d-none"),e.classList.add("opacity-100"),e.style.display="flex")},update:function(e,n){ko.unwrap(n())?(e.classList.remove("d-none"),e.classList.add("d-flex"),setTimeout((()=>{e.classList.add("opacity-100")}),0)):(e.classList.remove("opacity-100"),setTimeout((()=>{e.classList.remove("d-flex"),e.classList.add("d-none")}),150))}};
///*# sourceMappingURL=https://www.designersguild.com/js/dist/lib/knockout/custom/knockout-extensions.min.js.map */
;
ko.validation&&(ko.validation.rules.zxcvbnValidator={validator:function(e,r){if(null==r)return console.error("zxcvbn validation requires params { zxcvbn: observable, minScore: # }"),!1;if(!r.hasOwnProperty("selfReference")||!r.hasOwnProperty("minScore"))return console.error("zxcvbn validation requires params { observable: property, minScore: # }"),!1;if(!ko.isObservable(r.selfReference))return console.error("zxcvbnValidator for",r.zxcvbn,"parameter zxcvbn is not an observable"),!1;if(!r.selfReference.hasOwnProperty("zxcvbn"))return console.error("zxcvbnValidator for",r.selfReference,"does not utilize the zxcvbn extender"),!1;if(e){if(r.selfReference){let e=r.selfReference.zxcvbn().score>=r.minScore;return r.selfReference.hasOwnProperty("mdcTextField")&&r.selfReference.mdcTextField&&(r.selfReference.mdcTextField.valid=e),e}return!1}return!1},message:"The field must equal {0}"}),ko.validation.registerExtenders();
///*# sourceMappingURL=https://www.designersguild.com/js/dist/lib/knockout/custom/knockout-validation-custom-rules.min.js.map */
;
