/*

 ==============================================================
 // Knockout JavaScript library v1.2.1
 // (c) Steven Sanderson - http://knockoutjs.com/
 // License: MIT (http://www.opensource.org/licenses/mit-license.php)
 ==============================================================

 ==============================================================
 //     Underscore.js 1.1.6
 //     (c) 2011 Jeremy Ashkenas, DocumentCloud Inc.
 //     Underscore is freely distributable under the MIT license.
 //     Portions of Underscore are inspired or borrowed from Prototype,
 //     Oliver Steele's Functional, and John Resig's Micro-Templating.
 //     For all details and documentation:
 //     http://documentcloud.github.com/underscore
 ==============================================================

 ==============================================================
 jQuery jqEasyCharCounter plugin
 Examples and documentation at: http://www.jqeasy.com/
 Version: 1.0 (05/07/2010)
 No license. Use it however you want. Just keep this notice included.
 Requires: jQuery v1.3+

 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 OTHER DEALINGS IN THE SOFTWARE.

 [Adapted for Matchsnack by Matchsnack team]
 ==============================================================

 ==============================================================
 // EZPZ Tooltip v1.0; Copyright (c) 2009 Mike Enriquez, http://theezpzway.com; Released under the MIT License
 ==============================================================

 ==============================================================
 Rangy Text Inputs, a cross-browser textarea and text input library plug-in for jQuery.

 Part of Rangy, a cross-browser JavaScript range and selection library
 http://code.google.com/p/rangy/

 Depends on jQuery 1.0 or later.

 Copyright 2010, Tim Down
 Licensed under the MIT license.
 Version: 0.1.205
 Build date: 5 November 2010
 ==============================================================

 ==============================================================
 Uniform v1.7.5
 Copyright © 2009 Josh Pyles / Pixelmatrix Design LLC
 http://pixelmatrixdesign.com

 Requires jQuery 1.4 or newer

 Much thanks to Thomas Reynolds and Buck Wilson for their help and advice on this

 Disabling text selection is made possible by Mathias Bynens <http://mathiasbynens.be/>
 and his noSelect plugin. <http://github.com/mathiasbynens/noSelect-jQuery-Plugin>

 Also, thanks to David Kaneda and Eugene Bond for their contributions to the plugin

 License:
 MIT License - http://www.opensource.org/licenses/mit-license.php

 Enjoy!
 ==============================================================
*/
(function(h,e){function s(a,f){return a===null||typeof a in l?a===f:false}var a=h.ko={};a.exportSymbol=function(a,f){for(var d=a.split("."),j=h,c=0;c<d.length-1;c++)j=j[d[c]];j[d[d.length-1]]=f};a.exportProperty=function(a,f,d){a[f]=d};a.utils=new function(){function b(a,c){if(a.tagName!="INPUT"||!a.type)return false;if(c.toLowerCase()!="click")return false;var d=a.type.toLowerCase();return d=="checkbox"||d=="radio"}var f=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,d=/MSIE 6/i.test(navigator.userAgent),j=/MSIE 7/i.test(navigator.userAgent),
c={},k={},g=/Firefox\/2/i.test(navigator.userAgent)?"KeyboardEvent":"UIEvents";c[g]=["keyup","keydown","keypress"];c.MouseEvents="click,dblclick,mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave".split(",");for(var o in c)if(g=c[o],g.length)for(var m=0,r=g.length;m<r;m++)k[g[m]]=o;return{fieldsIncludedWithJsonPost:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],arrayForEach:function(a,c){for(var d=0,b=a.length;d<b;d++)c(a[d])},arrayIndexOf:function(a,c){if(typeof a.indexOf==
"function")return a.indexOf(c);for(var d=0,b=a.length;d<b;d++)if(a[d]===c)return d;return-1},arrayFirst:function(a,c,d){for(var b=0,j=a.length;b<j;b++)if(c.call(d,a[b]))return a[b];return null},arrayRemoveItem:function(c,d){var b=a.utils.arrayIndexOf(c,d);b>=0&&c.splice(b,1)},arrayGetDistinctValues:function(c){for(var c=c||[],d=[],b=0,j=c.length;b<j;b++)a.utils.arrayIndexOf(d,c[b])<0&&d.push(c[b]);return d},arrayMap:function(a,c){for(var a=a||[],d=[],b=0,j=a.length;b<j;b++)d.push(c(a[b]));return d},
arrayFilter:function(a,c){for(var a=a||[],d=[],b=0,j=a.length;b<j;b++)c(a[b])&&d.push(a[b]);return d},arrayPushAll:function(a,c){for(var d=0,b=c.length;d<b;d++)a.push(c[d])},emptyDomNode:function(c){for(;c.firstChild;)a.removeNode(c.firstChild)},setDomNodeChildren:function(c,d){a.utils.emptyDomNode(c);d&&a.utils.arrayForEach(d,function(a){c.appendChild(a)})},replaceDomNodes:function(c,d){var b=c.nodeType?[c]:c;if(b.length>0){for(var j=b[0],k=j.parentNode,g=0,f=d.length;g<f;g++)k.insertBefore(d[g],
j);g=0;for(f=b.length;g<f;g++)a.removeNode(b[g])}},setOptionNodeSelectionState:function(a,c){navigator.userAgent.indexOf("MSIE 6")>=0?a.setAttribute("selected",c):a.selected=c},getElementsHavingAttribute:function(a,c){if(!a||a.nodeType!=1)return[];var d=[];a.getAttribute(c)!==null&&d.push(a);for(var b=a.getElementsByTagName("*"),j=0,k=b.length;j<k;j++)b[j].getAttribute(c)!==null&&d.push(b[j]);return d},stringTrim:function(a){return(a||"").replace(f,"")},stringTokenize:function(c,d){for(var b=[],j=
(c||"").split(d),k=0,g=j.length;k<g;k++){var f=a.utils.stringTrim(j[k]);f!==""&&b.push(f)}return b},stringStartsWith:function(a,c){a=a||"";return c.length>a.length?false:a.substring(0,c.length)===c},evalWithinScope:function(a,c){return c===e?(new Function("return "+a))():(new Function("sc","with(sc) { return ("+a+") }"))(c)},domNodeIsContainedBy:function(a,c){if(c.compareDocumentPosition)return(c.compareDocumentPosition(a)&16)==16;for(;a!=null;){if(a==c)return true;a=a.parentNode}return false},domNodeIsAttachedToDocument:function(c){return a.utils.domNodeIsContainedBy(c,
document)},registerEventHandler:function(a,c,d){if(typeof jQuery!="undefined"){if(b(a,c))var j=d,d=function(a,c){var d=this.checked;if(c)this.checked=c.checkedStateBeforeEvent!==true;j.call(this,a);this.checked=d};jQuery(a).bind(c,d)}else if(typeof a.addEventListener=="function")a.addEventListener(c,d,false);else if(typeof a.attachEvent!="undefined")a.attachEvent("on"+c,function(c){d.call(a,c)});else throw Error("Browser doesn't support addEventListener or attachEvent");},triggerEvent:function(a,
c){if(!a||!a.nodeType)throw Error("element must be a DOM node when calling triggerEvent");if(typeof jQuery!="undefined"){var d=[];b(a,c)&&d.push({checkedStateBeforeEvent:a.checked});jQuery(a).trigger(c,d)}else if(typeof document.createEvent=="function")if(typeof a.dispatchEvent=="function")d=document.createEvent(k[c]||"HTMLEvents"),d.initEvent(c,true,true,h,0,0,0,0,0,false,false,false,false,0,a),a.dispatchEvent(d);else throw Error("The supplied element doesn't support dispatchEvent");else if(typeof a.fireEvent!=
"undefined"){if(c=="click"&&a.tagName=="INPUT"&&(a.type.toLowerCase()=="checkbox"||a.type.toLowerCase()=="radio"))a.checked=a.checked!==true;a.fireEvent("on"+c)}else throw Error("Browser doesn't support triggering events");},unwrapObservable:function(c){return a.isObservable(c)?c():c},domNodeHasCssClass:function(c,d){var b=(c.className||"").split(/\s+/);return a.utils.arrayIndexOf(b,d)>=0},toggleDomNodeCssClass:function(c,d,b){var j=a.utils.domNodeHasCssClass(c,d);if(b&&!j)c.className=(c.className||
"")+" "+d;else if(j&&!b){for(var b=(c.className||"").split(/\s+/),j="",k=0;k<b.length;k++)b[k]!=d&&(j+=b[k]+" ");c.className=a.utils.stringTrim(j)}},range:function(c,d){for(var c=a.utils.unwrapObservable(c),d=a.utils.unwrapObservable(d),b=[],j=c;j<=d;j++)b.push(j);return b},makeArray:function(a){for(var c=[],d=0,b=a.length;d<b;d++)c.push(a[d]);return c},isIe6:d,isIe7:j,getFormFields:function(c,d){for(var b=a.utils.makeArray(c.getElementsByTagName("INPUT")).concat(a.utils.makeArray(c.getElementsByTagName("TEXTAREA"))),
j=typeof d=="string"?function(a){return a.name===d}:function(a){return d.test(a.name)},k=[],g=b.length-1;g>=0;g--)j(b[g])&&k.push(b[g]);return k},parseJson:function(c){return typeof c=="string"&&(c=a.utils.stringTrim(c))?h.JSON&&h.JSON.parse?h.JSON.parse(c):(new Function("return "+c))():null},stringifyJson:function(c){if(typeof JSON=="undefined"||typeof JSON.stringify=="undefined")throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");
return JSON.stringify(a.utils.unwrapObservable(c))},postJson:function(c,d,b){var b=b||{},j=b.params||{},k=b.includeFields||this.fieldsIncludedWithJsonPost,g=c;if(typeof c=="object"&&c.tagName=="FORM")for(var g=c.action,f=k.length-1;f>=0;f--)for(var e=a.utils.getFormFields(c,k[f]),o=e.length-1;o>=0;o--)j[e[o].name]=e[o].value;var d=a.utils.unwrapObservable(d),m=document.createElement("FORM");m.style.display="none";m.action=g;m.method="post";for(var h in d)c=document.createElement("INPUT"),c.name=h,
c.value=a.utils.stringifyJson(a.utils.unwrapObservable(d[h])),m.appendChild(c);for(h in j)c=document.createElement("INPUT"),c.name=h,c.value=j[h],m.appendChild(c);document.body.appendChild(m);b.submitter?b.submitter(m):m.submit();setTimeout(function(){m.parentNode.removeChild(m)},0)}}};a.exportSymbol("ko.utils",a.utils);a.exportSymbol("ko.utils.arrayForEach",a.utils.arrayForEach);a.exportSymbol("ko.utils.arrayFirst",a.utils.arrayFirst);a.exportSymbol("ko.utils.arrayFilter",a.utils.arrayFilter);a.exportSymbol("ko.utils.arrayGetDistinctValues",
a.utils.arrayGetDistinctValues);a.exportSymbol("ko.utils.arrayIndexOf",a.utils.arrayIndexOf);a.exportSymbol("ko.utils.arrayMap",a.utils.arrayMap);a.exportSymbol("ko.utils.arrayPushAll",a.utils.arrayPushAll);a.exportSymbol("ko.utils.arrayRemoveItem",a.utils.arrayRemoveItem);a.exportSymbol("ko.utils.fieldsIncludedWithJsonPost",a.utils.fieldsIncludedWithJsonPost);a.exportSymbol("ko.utils.getElementsHavingAttribute",a.utils.getElementsHavingAttribute);a.exportSymbol("ko.utils.getFormFields",a.utils.getFormFields);
a.exportSymbol("ko.utils.postJson",a.utils.postJson);a.exportSymbol("ko.utils.parseJson",a.utils.parseJson);a.exportSymbol("ko.utils.registerEventHandler",a.utils.registerEventHandler);a.exportSymbol("ko.utils.stringifyJson",a.utils.stringifyJson);a.exportSymbol("ko.utils.range",a.utils.range);a.exportSymbol("ko.utils.toggleDomNodeCssClass",a.utils.toggleDomNodeCssClass);a.exportSymbol("ko.utils.triggerEvent",a.utils.triggerEvent);a.exportSymbol("ko.utils.unwrapObservable",a.utils.unwrapObservable);
Function.prototype.bind||(Function.prototype.bind=function(a){var f=this,d=Array.prototype.slice.call(arguments),a=d.shift();return function(){return f.apply(a,d.concat(Array.prototype.slice.call(arguments)))}});a.utils.domData=new function(){var b=0,f="__ko__"+(new Date).getTime(),d={};return{get:function(d,c){var b=a.utils.domData.getAll(d,false);return b===e?e:b[c]},set:function(d,c,b){b===e&&a.utils.domData.getAll(d,false)===e||(a.utils.domData.getAll(d,true)[c]=b)},getAll:function(a,c){var k=
a[f];if(!k){if(!c)return e;k=a[f]="ko"+b++;d[k]={}}return d[k]},clear:function(a){var c=a[f];c&&(delete d[c],a[f]=null)}}};a.utils.domNodeDisposal=new function(){function b(b,c){var k=a.utils.domData.get(b,d);k===e&&c&&(k=[],a.utils.domData.set(b,d,k));return k}function f(d){var c=b(d,false);if(c)for(var c=c.slice(0),k=0;k<c.length;k++)c[k](d);a.utils.domData.clear(d);typeof jQuery=="function"&&typeof jQuery.cleanData=="function"&&jQuery.cleanData([d])}var d="__ko_domNodeDisposal__"+(new Date).getTime();
return{addDisposeCallback:function(a,c){if(typeof c!="function")throw Error("Callback must be a function");b(a,true).push(c)},removeDisposeCallback:function(j,c){var k=b(j,false);k&&(a.utils.arrayRemoveItem(k,c),k.length==0&&a.utils.domData.set(j,d,e))},cleanNode:function(d){if(!(d.nodeType!=1&&d.nodeType!=9)){f(d);var c=[];a.utils.arrayPushAll(c,d.getElementsByTagName("*"));for(var d=0,b=c.length;d<b;d++)f(c[d])}},removeNode:function(d){a.cleanNode(d);d.parentNode&&d.parentNode.removeChild(d)}}};
a.cleanNode=a.utils.domNodeDisposal.cleanNode;a.removeNode=a.utils.domNodeDisposal.removeNode;a.exportSymbol("ko.cleanNode",a.cleanNode);a.exportSymbol("ko.removeNode",a.removeNode);a.exportSymbol("ko.utils.domNodeDisposal",a.utils.domNodeDisposal);a.exportSymbol("ko.utils.domNodeDisposal.addDisposeCallback",a.utils.domNodeDisposal.addDisposeCallback);a.exportSymbol("ko.utils.domNodeDisposal.removeDisposeCallback",a.utils.domNodeDisposal.removeDisposeCallback);(function(){a.utils.parseHtmlFragment=
function(b){if(typeof jQuery!="undefined")b=jQuery.clean([b]);else{var f=a.utils.stringTrim(b).toLowerCase(),d=document.createElement("div"),f=f.match(/^<(thead|tbody|tfoot)/)&&[1,"<table>","</table>"]||!f.indexOf("<tr")&&[2,"<table><tbody>","</tbody></table>"]||(!f.indexOf("<td")||!f.indexOf("<th"))&&[3,"<table><tbody><tr>","</tr></tbody></table>"]||[0,"",""];for(d.innerHTML=f[1]+b+f[2];f[0]--;)d=d.lastChild;b=a.utils.makeArray(d.childNodes)}return b};a.utils.setHtml=function(b,f){a.utils.emptyDomNode(b);
if(f!==null&&f!==e)if(typeof f!="string"&&(f=f.toString()),typeof jQuery!="undefined")jQuery(b).html(f);else for(var d=a.utils.parseHtmlFragment(f),j=0;j<d.length;j++)b.appendChild(d[j])}})();a.memoization=function(){function b(){return((1+Math.random())*4294967296|0).toString(16).substring(1)}function f(d,c){if(d)if(d.nodeType==8){var b=a.memoization.parseMemoText(d.nodeValue);b!=null&&c.push({domNode:d,memoId:b})}else if(d.nodeType==1)for(var b=0,g=d.childNodes,e=g.length;b<e;b++)f(g[b],c)}var d=
{};return{memoize:function(a){if(typeof a!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var c=b()+b();d[c]=a;return"<\!--[ko_memo:"+c+"]--\>"},unmemoize:function(a,c){var b=d[a];if(b===e)throw Error("Couldn't find any memo with ID "+a+". Perhaps it's already been unmemoized.");try{return b.apply(null,c||[]),true}finally{delete d[a]}},unmemoizeDomNodeAndDescendants:function(d,c){var b=[];f(d,b);for(var g=0,e=b.length;g<e;g++){var m=b[g].domNode,h=[m];c&&a.utils.arrayPushAll(h,
c);a.memoization.unmemoize(b[g].memoId,h);m.nodeValue="";m.parentNode&&m.parentNode.removeChild(m)}},parseMemoText:function(a){return(a=a.match(/^\[ko_memo\:(.*?)\]$/))?a[1]:null}}}();a.exportSymbol("ko.memoization",a.memoization);a.exportSymbol("ko.memoization.memoize",a.memoization.memoize);a.exportSymbol("ko.memoization.unmemoize",a.memoization.unmemoize);a.exportSymbol("ko.memoization.parseMemoText",a.memoization.parseMemoText);a.exportSymbol("ko.memoization.unmemoizeDomNodeAndDescendants",a.memoization.unmemoizeDomNodeAndDescendants);
a.subscription=function(b,f){this.callback=b;this.dispose=function(){this.isDisposed=true;f()}.bind(this);a.exportProperty(this,"dispose",this.dispose)};a.subscribable=function(){var b=[];this.subscribe=function(f,d){var j=d?f.bind(d):f,c=new a.subscription(j,function(){a.utils.arrayRemoveItem(b,c)});b.push(c);return c};this.notifySubscribers=function(f){a.utils.arrayForEach(b.slice(0),function(a){a&&a.isDisposed!==true&&a.callback(f)})};this.getSubscriptionsCount=function(){return b.length};a.exportProperty(this,
"subscribe",this.subscribe);a.exportProperty(this,"notifySubscribers",this.notifySubscribers);a.exportProperty(this,"getSubscriptionsCount",this.getSubscriptionsCount)};a.isSubscribable=function(a){return typeof a.subscribe=="function"&&typeof a.notifySubscribers=="function"};a.exportSymbol("ko.subscribable",a.subscribable);a.exportSymbol("ko.isSubscribable",a.isSubscribable);a.dependencyDetection=function(){var b=[];return{begin:function(){b.push([])},end:function(){return b.pop()},registerDependency:function(f){if(!a.isSubscribable(f))throw"Only subscribable things can act as dependencies";
b.length>0&&b[b.length-1].push(f)}}}();var l={undefined:true,"boolean":true,number:true,string:true};a.observable=function(b){function f(){if(arguments.length>0){if(!f.equalityComparer||!f.equalityComparer(d,arguments[0]))d=arguments[0],f.notifySubscribers(d);return this}else return a.dependencyDetection.registerDependency(f),d}var d=b;f.__ko_proto__=a.observable;f.valueHasMutated=function(){f.notifySubscribers(d)};f.equalityComparer=s;a.subscribable.call(f);a.exportProperty(f,"valueHasMutated",f.valueHasMutated);
return f};a.isObservable=function(b){return b===null||b===e||b.__ko_proto__===e?false:b.__ko_proto__===a.observable?true:a.isObservable(b.__ko_proto__)};a.isWriteableObservable=function(b){return typeof b=="function"&&b.__ko_proto__===a.observable?true:typeof b=="function"&&b.__ko_proto__===a.dependentObservable&&b.hasWriteFunction?true:false};a.exportSymbol("ko.observable",a.observable);a.exportSymbol("ko.isObservable",a.isObservable);a.exportSymbol("ko.isWriteableObservable",a.isWriteableObservable);
a.observableArray=function(b){arguments.length==0&&(b=[]);if(b!==null&&b!==e&&!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");var f=new a.observable(b);a.utils.arrayForEach("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){f[a]=function(){var b=f(),b=b[a].apply(b,arguments);f.valueHasMutated();return b}});a.utils.arrayForEach(["slice"],function(a){f[a]=function(){var b=f();return b[a].apply(b,arguments)}});
f.remove=function(a){for(var b=f(),c=[],k=[],g=typeof a=="function"?a:function(c){return c===a},e=0,m=b.length;e<m;e++){var h=b[e];g(h)?k.push(h):c.push(h)}f(c);return k};f.removeAll=function(d){if(d===e){var b=f();f([]);return b}return!d?[]:f.remove(function(c){return a.utils.arrayIndexOf(d,c)>=0})};f.destroy=function(a){for(var b=f(),c=typeof a=="function"?a:function(c){return c===a},k=b.length-1;k>=0;k--)c(b[k])&&(b[k]._destroy=true);f.valueHasMutated()};f.destroyAll=function(b){return b===e?f.destroy(function(){return true}):
!b?[]:f.destroy(function(j){return a.utils.arrayIndexOf(b,j)>=0})};f.indexOf=function(b){var j=f();return a.utils.arrayIndexOf(j,b)};f.replace=function(a,b){var c=f.indexOf(a);c>=0&&(f()[c]=b,f.valueHasMutated())};a.exportProperty(f,"remove",f.remove);a.exportProperty(f,"removeAll",f.removeAll);a.exportProperty(f,"destroy",f.destroy);a.exportProperty(f,"destroyAll",f.destroyAll);a.exportProperty(f,"indexOf",f.indexOf);return f};a.exportSymbol("ko.observableArray",a.observableArray);a.dependentObservable=
function(b,f,d){function j(){a.utils.arrayForEach(n,function(a){a.dispose()});n=[]}function c(c){j();a.utils.arrayForEach(c,function(a){n.push(a.subscribe(k))})}function k(){if(h&&typeof d.disposeWhen=="function"&&d.disposeWhen())g.dispose();else{try{a.dependencyDetection.begin(),e=d.owner?d.read.call(d.owner):d.read()}finally{var b=a.utils.arrayGetDistinctValues(a.dependencyDetection.end());c(b)}g.notifySubscribers(e);h=true}}function g(){if(arguments.length>0)if(typeof d.write==="function"){var c=
arguments[0];d.owner?d.write.call(d.owner,c):d.write(c)}else throw"Cannot write a value to a dependentObservable unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.";else return h||k(),a.dependencyDetection.registerDependency(g),e}var e,h=false;b&&typeof b=="object"?d=b:(d=d||{},d.read=b||d.read,d.owner=f||d.owner);if(typeof d.read!="function")throw"Pass a function that returns the value of the dependentObservable";var r=typeof d.disposeWhenNodeIsRemoved==
"object"?d.disposeWhenNodeIsRemoved:null,p=null;if(r){p=function(){g.dispose()};a.utils.domNodeDisposal.addDisposeCallback(r,p);var q=d.disposeWhen;d.disposeWhen=function(){return!a.utils.domNodeIsAttachedToDocument(r)||typeof q=="function"&&q()}}var n=[];g.__ko_proto__=a.dependentObservable;g.getDependenciesCount=function(){return n.length};g.hasWriteFunction=typeof d.write==="function";g.dispose=function(){r&&a.utils.domNodeDisposal.removeDisposeCallback(r,p);j()};a.subscribable.call(g);d.deferEvaluation!==
true&&k();a.exportProperty(g,"dispose",g.dispose);a.exportProperty(g,"getDependenciesCount",g.getDependenciesCount);return g};a.dependentObservable.__ko_proto__=a.observable;a.exportSymbol("ko.dependentObservable",a.dependentObservable);(function(){function b(a,c,k){k=k||new d;a=c(a);if(!(typeof a=="object"&&a!==null&&a!==e))return a;var g=a instanceof Array?[]:{};k.save(a,g);f(a,function(d){var f=c(a[d]);switch(typeof f){case "boolean":case "number":case "string":case "function":g[d]=f;break;case "object":case "undefined":var h=
k.get(f);g[d]=h!==e?h:b(f,c,k)}});return g}function f(a,c){if(a instanceof Array)for(var b=0;b<a.length;b++)c(b);else for(b in a)c(b)}function d(){var b=[],c=[];this.save=function(d,g){var f=a.utils.arrayIndexOf(b,d);f>=0?c[f]=g:(b.push(d),c.push(g))};this.get=function(d){d=a.utils.arrayIndexOf(b,d);return d>=0?c[d]:e}}a.toJS=function(d){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return b(d,function(c){for(var b=0;a.isObservable(c)&&b<10;b++)c=
c();return c})};a.toJSON=function(b){b=a.toJS(b);return a.utils.stringifyJson(b)}})();a.exportSymbol("ko.toJS",a.toJS);a.exportSymbol("ko.toJSON",a.toJSON);(function(){a.selectExtensions={readValue:function(b){return b.tagName=="OPTION"?b.__ko__hasDomDataOptionValue__===true?a.utils.domData.get(b,a.bindingHandlers.options.optionValueDomDataKey):b.getAttribute("value"):b.tagName=="SELECT"?b.selectedIndex>=0?a.selectExtensions.readValue(b.options[b.selectedIndex]):e:b.value},writeValue:function(b,f){if(b.tagName==
"OPTION")switch(typeof f){case "string":case "number":a.utils.domData.set(b,a.bindingHandlers.options.optionValueDomDataKey,e);"__ko__hasDomDataOptionValue__"in b&&delete b.__ko__hasDomDataOptionValue__;b.value=f;break;default:a.utils.domData.set(b,a.bindingHandlers.options.optionValueDomDataKey,f),b.__ko__hasDomDataOptionValue__=true,b.value=""}else if(b.tagName=="SELECT")for(var d=b.options.length-1;d>=0;d--){if(a.selectExtensions.readValue(b.options[d])==f){b.selectedIndex=d;break}}else{if(f===
null||f===e)f="";b.value=f}}}})();a.exportSymbol("ko.selectExtensions",a.selectExtensions);a.exportSymbol("ko.selectExtensions.readValue",a.selectExtensions.readValue);a.exportSymbol("ko.selectExtensions.writeValue",a.selectExtensions.writeValue);a.jsonExpressionRewriting=function(){function b(a,b){return a.replace(f,function(a,c){return b[c]})}var f=/\[ko_token_(\d+)\]/g,d=/^[\_$a-z][\_$a-z0-9]*(\[.*?\])*(\.[\_$a-z][\_$a-z0-9]*(\[.*?\])*)*$/i,e=["true","false"];return{parseJson:function(c){c=a.utils.stringTrim(c);
if(c.length<3)return{};for(var d=[],g=null,f,e=c.charAt(0)=="{"?1:0;e<c.length;e++){var j=c.charAt(e);if(g===null)switch(j){case '"':case "'":case "/":g=e;f=j;break;case "{":g=e;f="}";break;case "[":g=e,f="]"}else if(j==f){j=c.substring(g,e+1);d.push(j);var h="[ko_token_"+(d.length-1)+"]",c=c.substring(0,g)+h+c.substring(e+1);e-=j.length-h.length;g=null}}g={};c=c.split(",");f=0;for(e=c.length;f<e;f++){var h=c[f],q=h.indexOf(":");q>0&&q<h.length-1&&(j=a.utils.stringTrim(h.substring(0,q)),h=a.utils.stringTrim(h.substring(q+
1)),j.charAt(0)=="{"&&(j=j.substring(1)),h.charAt(h.length-1)=="}"&&(h=h.substring(0,h.length-1)),j=a.utils.stringTrim(b(j,d)),h=a.utils.stringTrim(b(h,d)),g[j]=h)}return g},insertPropertyAccessorsIntoJson:function(c){var b=a.jsonExpressionRewriting.parseJson(c),g=[],f;for(f in b){var h=b[f];if(a.utils.arrayIndexOf(e,a.utils.stringTrim(h).toLowerCase())>=0?0:h.match(d)!==null)g.length>0&&g.push(", "),g.push(f+" : function(__ko_value) { "+h+" = __ko_value; }")}g.length>0&&(b=g.join(""),c=c+", '_ko_property_writers' : { "+
b+" } ");return c}}}();a.exportSymbol("ko.jsonExpressionRewriting",a.jsonExpressionRewriting);a.exportSymbol("ko.jsonExpressionRewriting.parseJson",a.jsonExpressionRewriting.parseJson);a.exportSymbol("ko.jsonExpressionRewriting.insertPropertyAccessorsIntoJson",a.jsonExpressionRewriting.insertPropertyAccessorsIntoJson);(function(){a.bindingHandlers={};a.applyBindingsToNode=function(b,f,d,e){function c(a){return function(){return o[a]}}function k(){return o}var g=true,e=e||"data-bind",o;new a.dependentObservable(function(){var m;
if(!(m=typeof f=="function"?f():f)){var r=b.getAttribute(e);try{var p=" { "+a.jsonExpressionRewriting.insertPropertyAccessorsIntoJson(r)+" } ";m=a.utils.evalWithinScope(p,d===null?h:d)}catch(q){throw Error("Unable to parse binding attribute.\nMessage: "+q+";\nAttribute value: "+r);}}o=m;if(g)for(var n in o)a.bindingHandlers[n]&&typeof a.bindingHandlers[n].init=="function"&&(m=c(n),(0,a.bindingHandlers[n].init)(b,m,k,d));for(n in o)a.bindingHandlers[n]&&typeof a.bindingHandlers[n].update=="function"&&
(m=c(n),(0,a.bindingHandlers[n].update)(b,m,k,d))},null,{disposeWhenNodeIsRemoved:b});g=false};a.applyBindings=function(b,f){if(f&&f.nodeType==e)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node (note: this is a breaking change since KO version 1.05)");var f=f||h.document.body,d=a.utils.getElementsHavingAttribute(f,"data-bind");a.utils.arrayForEach(d,function(d){a.applyBindingsToNode(d,null,b)})};a.exportSymbol("ko.bindingHandlers",a.bindingHandlers);
a.exportSymbol("ko.applyBindings",a.applyBindings);a.exportSymbol("ko.applyBindingsToNode",a.applyBindingsToNode)})();a.utils.arrayForEach(["click"],function(b){a.bindingHandlers[b]={init:function(f,d,e,c){return a.bindingHandlers.event.init.call(this,f,function(){var a={};a[b]=d();return a},e,c)}}});a.bindingHandlers.event={init:function(b,f,d,e){var c=f()||{},k;for(k in c)(function(){var c=k;typeof c=="string"&&a.utils.registerEventHandler(b,c,function(a){var b,k=f()[c];if(k){var h=d();try{b=k.apply(e,
arguments)}finally{if(b!==true)a.preventDefault?a.preventDefault():a.returnValue=false}if(h[c+"Bubble"]===false)a.cancelBubble=true,a.stopPropagation&&a.stopPropagation()}})})()}};a.bindingHandlers.submit={init:function(b,f,d,e){if(typeof f()!="function")throw Error("The value for a submit binding must be a function to invoke on submit");a.utils.registerEventHandler(b,"submit",function(a){var d,g=f();try{d=g.call(e,b)}finally{if(d!==true)a.preventDefault?a.preventDefault():a.returnValue=false}})}};
a.bindingHandlers.visible={update:function(b,f){var d=a.utils.unwrapObservable(f()),e=b.style.display!="none";if(d&&!e)b.style.display="";else if(!d&&e)b.style.display="none"}};a.bindingHandlers.enable={update:function(b,f){var d=a.utils.unwrapObservable(f());if(d&&b.disabled)b.removeAttribute("disabled");else if(!d&&!b.disabled)b.disabled=true}};a.bindingHandlers.disable={update:function(b,f){a.bindingHandlers.enable.update(b,function(){return!a.utils.unwrapObservable(f())})}};a.bindingHandlers.value=
{init:function(b,f,d){var e=["change"],c=d().valueUpdate;c&&(typeof c=="string"&&(c=[c]),a.utils.arrayPushAll(e,c),e=a.utils.arrayGetDistinctValues(e));a.utils.arrayForEach(e,function(c){var e=false;a.utils.stringStartsWith(c,"after")&&(e=true,c=c.substring(5));var j=e?function(a){setTimeout(a,0)}:function(a){a()};a.utils.registerEventHandler(b,c,function(){j(function(){var c=f(),e=a.selectExtensions.readValue(b);a.isWriteableObservable(c)?c(e):(c=d(),c._ko_property_writers&&c._ko_property_writers.value&&
c._ko_property_writers.value(e))})})})},update:function(b,e){var d=a.utils.unwrapObservable(e()),j=a.selectExtensions.readValue(b),c=d!=j;d===0&&j!==0&&j!=="0"&&(c=true);c&&(j=function(){a.selectExtensions.writeValue(b,d)},j(),b.tagName=="SELECT"&&setTimeout(j,0));b.tagName=="SELECT"&&(j=a.selectExtensions.readValue(b),j!==d&&a.utils.triggerEvent(b,"change"))}};a.bindingHandlers.options={update:function(b,f,d){if(b.tagName!="SELECT")throw Error("options binding applies only to SELECT elements");var j=
a.utils.arrayMap(a.utils.arrayFilter(b.childNodes,function(a){return a.tagName&&a.tagName=="OPTION"&&a.selected}),function(c){return a.selectExtensions.readValue(c)||c.innerText||c.textContent}),c=b.scrollTop,k=a.utils.unwrapObservable(f());a.utils.emptyDomNode(b);if(k){var g=d();typeof k.length!="number"&&(k=[k]);if(g.optionsCaption){var h=document.createElement("OPTION");h.innerHTML=g.optionsCaption;a.selectExtensions.writeValue(h,e);b.appendChild(h)}d=0;for(f=k.length;d<f;d++){var h=document.createElement("OPTION"),
m=typeof g.optionsValue=="string"?k[d][g.optionsValue]:k[d],m=a.utils.unwrapObservable(m);a.selectExtensions.writeValue(h,m);var l=g.optionsText;optionText=typeof l=="function"?l(k[d]):typeof l=="string"?k[d][l]:m;if(optionText===null||optionText===e)optionText="";optionText=a.utils.unwrapObservable(optionText).toString();typeof h.innerText=="string"?h.innerText=optionText:h.textContent=optionText;b.appendChild(h)}k=b.getElementsByTagName("OPTION");d=g=0;for(f=k.length;d<f;d++)a.utils.arrayIndexOf(j,
a.selectExtensions.readValue(k[d]))>=0&&(a.utils.setOptionNodeSelectionState(k[d],true),g++);if(c)b.scrollTop=c}}};a.bindingHandlers.options.optionValueDomDataKey="__ko.bindingHandlers.options.optionValueDomData__";a.bindingHandlers.selectedOptions={getSelectedValuesFromSelectNode:function(b){for(var e=[],b=b.childNodes,d=0,j=b.length;d<j;d++){var c=b[d];c.tagName=="OPTION"&&c.selected&&e.push(a.selectExtensions.readValue(c))}return e},init:function(b,e,d){a.utils.registerEventHandler(b,"change",
function(){var b=e();a.isWriteableObservable(b)?b(a.bindingHandlers.selectedOptions.getSelectedValuesFromSelectNode(this)):(b=d(),b._ko_property_writers&&b._ko_property_writers.value&&b._ko_property_writers.value(a.bindingHandlers.selectedOptions.getSelectedValuesFromSelectNode(this)))})},update:function(b,e){if(b.tagName!="SELECT")throw Error("values binding applies only to SELECT elements");var d=a.utils.unwrapObservable(e());if(d&&typeof d.length=="number")for(var j=b.childNodes,c=0,k=j.length;c<
k;c++){var g=j[c];g.tagName=="OPTION"&&a.utils.setOptionNodeSelectionState(g,a.utils.arrayIndexOf(d,a.selectExtensions.readValue(g))>=0)}}};a.bindingHandlers.text={update:function(b,f){var d=a.utils.unwrapObservable(f());if(d===null||d===e)d="";typeof b.innerText=="string"?b.innerText=d:b.textContent=d}};a.bindingHandlers.html={update:function(b,e){var d=a.utils.unwrapObservable(e());a.utils.setHtml(b,d)}};a.bindingHandlers.css={update:function(b,e){var d=a.utils.unwrapObservable(e()||{}),j;for(j in d)if(typeof j==
"string"){var c=a.utils.unwrapObservable(d[j]);a.utils.toggleDomNodeCssClass(b,j,c)}}};a.bindingHandlers.style={update:function(b,e){var d=a.utils.unwrapObservable(e()||{}),j;for(j in d)if(typeof j=="string"){var c=a.utils.unwrapObservable(d[j]);b.style[j]=c||""}}};a.bindingHandlers.uniqueName={init:function(b,e){if(e())b.name="ko_unique_"+ ++a.bindingHandlers.uniqueName.currentIndex,a.utils.isIe6&&b.mergeAttributes(document.createElement("<input name='"+b.name+"'/>"),false)}};a.bindingHandlers.uniqueName.currentIndex=
0;a.bindingHandlers.checked={init:function(b,e,d){a.utils.registerEventHandler(b,"click",function(){var j;if(b.type=="checkbox")j=b.checked;else if(b.type=="radio"&&b.checked)j=b.value;else return;var c=e();b.type=="checkbox"&&a.utils.unwrapObservable(c)instanceof Array?(j=a.utils.arrayIndexOf(a.utils.unwrapObservable(c),b.value),b.checked&&j<0?c.push(b.value):!b.checked&&j>=0&&c.splice(j,1)):a.isWriteableObservable(c)?c()!==j&&c(j):(c=d(),c._ko_property_writers&&c._ko_property_writers.checked&&c._ko_property_writers.checked(j))});
b.type=="radio"&&!b.name&&a.bindingHandlers.uniqueName.init(b,function(){return true})},update:function(b,e){var d=a.utils.unwrapObservable(e());if(b.type=="checkbox")b.checked=d instanceof Array?a.utils.arrayIndexOf(d,b.value)>=0:d,d&&a.utils.isIe6&&b.mergeAttributes(document.createElement("<input type='checkbox' checked='checked' />"),false);else if(b.type=="radio")b.checked=b.value==d,b.value==d&&(a.utils.isIe6||a.utils.isIe7)&&b.mergeAttributes(document.createElement("<input type='radio' checked='checked' />"),
false)}};a.bindingHandlers.attr={update:function(b,f){var d=a.utils.unwrapObservable(f())||{},j;for(j in d)if(typeof j=="string"){var c=a.utils.unwrapObservable(d[j]);c===false||c===null||c===e?b.removeAttribute(j):b.setAttribute(j,c.toString())}}};a.templateEngine=function(){this.renderTemplate=function(){throw"Override renderTemplate in your ko.templateEngine subclass";};this.isTemplateRewritten=function(){throw"Override isTemplateRewritten in your ko.templateEngine subclass";};this.rewriteTemplate=
function(){throw"Override rewriteTemplate in your ko.templateEngine subclass";};this.createJavaScriptEvaluatorBlock=function(){throw"Override createJavaScriptEvaluatorBlock in your ko.templateEngine subclass";}};a.exportSymbol("ko.templateEngine",a.templateEngine);a.templateRewriting=function(){var b=/(<[a-z]+\d*(\s+(?!data-bind=)[a-z0-9\-]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind=(["'])([\s\S]*?)\5/gi;return{ensureTemplateIsRewritten:function(b,d){d.isTemplateRewritten(b)||d.rewriteTemplate(b,
function(b){return a.templateRewriting.memoizeBindingAttributeSyntax(b,d)})},memoizeBindingAttributeSyntax:function(e,d){return e.replace(b,function(b,c,e,g,f,h,l){b=a.jsonExpressionRewriting.insertPropertyAccessorsIntoJson(l);return d.createJavaScriptEvaluatorBlock("ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() {                     return (function() { return { "+b+" } })()                 })")+c})},applyMemoizedBindingsToNextSibling:function(b){return a.memoization.memoize(function(d,
e){d.nextSibling&&a.applyBindingsToNode(d.nextSibling,b,e)})}}}();a.exportSymbol("ko.templateRewriting",a.templateRewriting);a.exportSymbol("ko.templateRewriting.applyMemoizedBindingsToNextSibling",a.templateRewriting.applyMemoizedBindingsToNextSibling);(function(){function b(b,e,c,k,g){var h=a.utils.unwrapObservable(k),g=g||{},m=g.templateEngine||f;a.templateRewriting.ensureTemplateIsRewritten(c,m);c=m.renderTemplate(c,h,g);if(typeof c.length!="number"||c.length>0&&typeof c[0].nodeType!="number")throw"Template engine must return an array of DOM nodes";
c&&a.utils.arrayForEach(c,function(c){a.memoization.unmemoizeDomNodeAndDescendants(c,[k])});switch(e){case "replaceChildren":a.utils.setDomNodeChildren(b,c);break;case "replaceNode":a.utils.replaceDomNodes(b,c);break;case "ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+e);}g.afterRender&&g.afterRender(c,k);return c}var f;a.setTemplateEngine=function(b){if(b!=e&&!(b instanceof a.templateEngine))throw"templateEngine must inherit from ko.templateEngine";f=b};a.renderTemplate=function(d,
j,c,k,g){c=c||{};if((c.templateEngine||f)==e)throw"Set a template engine before calling renderTemplate";g=g||"replaceChildren";if(k){var h=k.nodeType?k:k.length>0?k[0]:null;return new a.dependentObservable(function(){var a=typeof d=="function"?d(j):d,a=b(k,g,a,j,c);g=="replaceNode"&&(k=a,h=k.nodeType?k:k.length>0?k[0]:null)},null,{disposeWhen:function(){return!h||!a.utils.domNodeIsAttachedToDocument(h)},disposeWhenNodeIsRemoved:h&&g=="replaceNode"?h.parentNode:h})}else return a.memoization.memoize(function(b){a.renderTemplate(d,
j,c,b,"replaceNode")})};a.renderTemplateForEach=function(d,e,c,f){return new a.dependentObservable(function(){var g=a.utils.unwrapObservable(e)||[];typeof g.length=="undefined"&&(g=[g]);g=a.utils.arrayFilter(g,function(a){return c.includeDestroyed||!a._destroy});a.utils.setDomNodeChildrenFromArrayMapping(f,g,function(a){var e=typeof d=="function"?d(a):d;return b(null,"ignoreTargetNode",e,a,c)},c)},null,{disposeWhenNodeIsRemoved:f})};a.bindingHandlers.template={update:function(b,e,c,f){e=a.utils.unwrapObservable(e());
c=typeof e=="string"?e:e.name;if(typeof e.foreach!="undefined")f=a.renderTemplateForEach(c,e.foreach||[],{templateOptions:e.templateOptions,afterAdd:e.afterAdd,beforeRemove:e.beforeRemove,includeDestroyed:e.includeDestroyed,afterRender:e.afterRender},b);else var g=e.data,f=a.renderTemplate(c,typeof g=="undefined"?f:g,{templateOptions:e.templateOptions,afterRender:e.afterRender},b);(e=a.utils.domData.get(b,"__ko__templateSubscriptionDomDataKey__"))&&typeof e.dispose=="function"&&e.dispose();a.utils.domData.set(b,
"__ko__templateSubscriptionDomDataKey__",f)}}})();a.exportSymbol("ko.setTemplateEngine",a.setTemplateEngine);a.exportSymbol("ko.renderTemplate",a.renderTemplate);(function(){a.utils.compareArrays=function(b,f,d){if(d===e)return a.utils.compareArrays(b,f,1)||a.utils.compareArrays(b,f,10)||a.utils.compareArrays(b,f,Number.MAX_VALUE);else{for(var b=b||[],f=f||[],h=b,c=f,k=[],g=0;g<=c.length;g++)k[g]=[];for(var g=0,o=Math.min(h.length,d);g<=o;g++)k[0][g]=g;g=1;for(o=Math.min(c.length,d);g<=o;g++)k[g][0]=
g;for(var o=h.length,m,l=c.length,g=1;g<=o;g++){m=Math.max(1,g-d);for(var p=Math.min(l,g+d);m<=p;m++)k[m][g]=h[g-1]===c[m-1]?k[m-1][g-1]:Math.min(k[m-1][g]===e?Number.MAX_VALUE:k[m-1][g]+1,k[m][g-1]===e?Number.MAX_VALUE:k[m][g-1]+1)}d=b.length;h=f.length;c=[];g=k[h][d];if(g===e)k=null;else{for(;d>0||h>0;){o=k[h][d];l=h>0?k[h-1][d]:g+1;p=d>0?k[h][d-1]:g+1;m=h>0&&d>0?k[h-1][d-1]:g+1;if(l===e||l<o-1)l=g+1;if(p===e||p<o-1)p=g+1;m<o-1&&(m=g+1);l<=p&&l<m?(c.push({status:"added",value:f[h-1]}),h--):(p<l&&
p<m?c.push({status:"deleted",value:b[d-1]}):(c.push({status:"retained",value:b[d-1]}),h--),d--)}k=c.reverse()}return k}}})();a.exportSymbol("ko.utils.compareArrays",a.utils.compareArrays);(function(){function b(b,d,e){var c=[],b=a.dependentObservable(function(){var b=d(e)||[];c.length>0&&a.utils.replaceDomNodes(c,b);c.splice(0,c.length);a.utils.arrayPushAll(c,b)},null,{disposeWhenNodeIsRemoved:b,disposeWhen:function(){return c.length==0||!a.utils.domNodeIsAttachedToDocument(c[0])}});return{mappedNodes:c,
dependentObservable:b}}a.utils.setDomNodeChildrenFromArrayMapping=function(f,d,h,c){for(var d=d||[],c=c||{},k=a.utils.domData.get(f,"setDomNodeChildrenFromArrayMapping_lastMappingResult")===e,g=a.utils.domData.get(f,"setDomNodeChildrenFromArrayMapping_lastMappingResult")||[],o=a.utils.arrayMap(g,function(a){return a.arrayEntry}),m=a.utils.compareArrays(o,d),d=[],l=0,p=[],o=[],q=null,n=0,s=m.length;n<s;n++)switch(m[n].status){case "retained":var u=g[l];d.push(u);u.domNodes.length>0&&(q=u.domNodes[u.domNodes.length-
1]);l++;break;case "deleted":g[l].dependentObservable.dispose();a.utils.arrayForEach(g[l].domNodes,function(a){p.push({element:a,index:n,value:m[n].value});q=a});l++;break;case "added":var i=b(f,h,m[n].value),u=i.mappedNodes;d.push({arrayEntry:m[n].value,domNodes:u,dependentObservable:i.dependentObservable});for(var i=0,t=u.length;i<t;i++){var v=u[i];o.push({element:v,index:n,value:m[n].value});q==null?f.firstChild?f.insertBefore(v,f.firstChild):f.appendChild(v):q.nextSibling?f.insertBefore(v,q.nextSibling):
f.appendChild(v);q=v}}a.utils.arrayForEach(p,function(c){a.cleanNode(c.element)});h=false;if(!k){if(c.afterAdd)for(n=0;n<o.length;n++)c.afterAdd(o[n].element,o[n].index,o[n].value);if(c.beforeRemove){for(n=0;n<p.length;n++)c.beforeRemove(p[n].element,p[n].index,p[n].value);h=true}}h||a.utils.arrayForEach(p,function(a){a.element.parentNode&&a.element.parentNode.removeChild(a.element)});a.utils.domData.set(f,"setDomNodeChildrenFromArrayMapping_lastMappingResult",d)}})();a.exportSymbol("ko.utils.setDomNodeChildrenFromArrayMapping",
a.utils.setDomNodeChildrenFromArrayMapping);a.jqueryTmplTemplateEngine=function(){var b;b=typeof jQuery=="undefined"||!jQuery.tmpl?0:jQuery.tmpl.tag?jQuery.tmpl.tag.tmpl&&jQuery.tmpl.tag.tmpl.open&&jQuery.tmpl.tag.tmpl.open.toString().indexOf("__")>=0?3:2:1;this.jQueryTmplVersion=b;this.getTemplateNode=function(a){var b=document.getElementById(a);if(b==null)throw Error("Cannot find template with ID="+a);return b};var e=RegExp("__ko_apos__","g");this.renderTemplate=function(a,b,c){c=c||{};if(this.jQueryTmplVersion==
0)throw Error("jquery.tmpl not detected.\nTo use KO's default template engine, reference jQuery and jquery.tmpl. See Knockout installation documentation for more details.");if(this.jQueryTmplVersion==1)return a='<script type="text/html">'+this.getTemplateNode(a).text+"<\/script>",b=jQuery.tmpl(a,b)[0].text.replace(e,"'"),jQuery.clean([b],document);if(!(a in jQuery.template)){var h=this.getTemplateNode(a).text;jQuery.template(a,h)}b=[b];b=jQuery.tmpl(a,b,c.templateOptions);b.appendTo(document.createElement("div"));
jQuery.fragments={};return b};this.isTemplateRewritten=function(a){return a in jQuery.template?true:this.getTemplateNode(a).isRewritten===true};this.rewriteTemplate=function(b,e){var c=this.getTemplateNode(b),f=e(c.text);this.jQueryTmplVersion==1&&(f=a.utils.stringTrim(f),f=f.replace(/([\s\S]*?)(\${[\s\S]*?}|{{[\=a-z][\s\S]*?}}|$)/g,function(a,b,c){return b.replace(/\'/g,"__ko_apos__")+c}));c.text=f;c.isRewritten=true};this.createJavaScriptEvaluatorBlock=function(a){return this.jQueryTmplVersion==
1?"{{= "+a+"}}":"{{ko_code ((function() { return "+a+" })()) }}"};this.addTemplate=function(a,b){document.write("<script type='text/html' id='"+a+"'>"+b+"<\/script>")};a.exportProperty(this,"addTemplate",this.addTemplate);this.jQueryTmplVersion>1&&(jQuery.tmpl.tag.ko_code={open:(this.jQueryTmplVersion<3?"_":"__")+".push($1 || '');"})};a.jqueryTmplTemplateEngine.prototype=new a.templateEngine;a.setTemplateEngine(new a.jqueryTmplTemplateEngine);a.exportSymbol("ko.jqueryTmplTemplateEngine",a.jqueryTmplTemplateEngine)})(window);
(function(){var h=this,e=h._,s={},a=Array.prototype,l=Object.prototype,b=a.slice,f=a.unshift,d=l.toString,j=l.hasOwnProperty,c=a.forEach,k=a.map,g=a.reduce,o=a.reduceRight,m=a.filter,r=a.every,p=a.some,q=a.indexOf,n=a.lastIndexOf,l=Array.isArray,A=Object.keys,u=Function.prototype.bind,i=function(a){return new w(a)};typeof module!=="undefined"&&module.exports?(module.exports=i,i._=i):h._=i;i.VERSION="1.1.6";var t=i.each=i.forEach=function(a,b,d){if(a!=null)if(c&&a.forEach===c)a.forEach(b,d);else if(i.isNumber(a.length))for(var e=
0,g=a.length;e<g;e++){if(b.call(d,a[e],e,a)===s)break}else for(e in a)if(j.call(a,e)&&b.call(d,a[e],e,a)===s)break};i.map=function(a,b,c){var d=[];if(a==null)return d;if(k&&a.map===k)return a.map(b,c);t(a,function(a,e,x){d[d.length]=b.call(c,a,e,x)});return d};i.reduce=i.foldl=i.inject=function(a,b,c,d){var e=c!==void 0;a==null&&(a=[]);if(g&&a.reduce===g)return d&&(b=i.bind(b,d)),e?a.reduce(b,c):a.reduce(b);t(a,function(a,x,g){!e&&x===0?(c=a,e=true):c=b.call(d,c,a,x,g)});if(!e)throw new TypeError("Reduce of empty array with no initial value");
return c};i.reduceRight=i.foldr=function(a,b,c,d){a==null&&(a=[]);if(o&&a.reduceRight===o)return d&&(b=i.bind(b,d)),c!==void 0?a.reduceRight(b,c):a.reduceRight(b);a=(i.isArray(a)?a.slice():i.toArray(a)).reverse();return i.reduce(a,b,c,d)};i.find=i.detect=function(a,b,c){var d;v(a,function(a,e,g){if(b.call(c,a,e,g))return d=a,true});return d};i.filter=i.select=function(a,b,c){var d=[];if(a==null)return d;if(m&&a.filter===m)return a.filter(b,c);t(a,function(a,e,g){b.call(c,a,e,g)&&(d[d.length]=a)});
return d};i.reject=function(a,b,c){var d=[];if(a==null)return d;t(a,function(a,e,g){b.call(c,a,e,g)||(d[d.length]=a)});return d};i.every=i.all=function(a,b,c){var d=true;if(a==null)return d;if(r&&a.every===r)return a.every(b,c);t(a,function(a,e,g){if(!(d=d&&b.call(c,a,e,g)))return s});return d};var v=i.some=i.any=function(a,b,c){b||(b=i.identity);var d=false;if(a==null)return d;if(p&&a.some===p)return a.some(b,c);t(a,function(a,e,g){if(d=b.call(c,a,e,g))return s});return d};i.include=i.contains=function(a,
b){var c=false;if(a==null)return c;if(q&&a.indexOf===q)return a.indexOf(b)!=-1;v(a,function(a){if(c=a===b)return true});return c};i.invoke=function(a,c){var d=b.call(arguments,2);return i.map(a,function(a){return(c.call?c||a:a[c]).apply(a,d)})};i.pluck=function(a,b){return i.map(a,function(a){return a[b]})};i.max=function(a,b,c){if(!b&&i.isArray(a))return Math.max.apply(Math,a);var d={computed:-Infinity};t(a,function(a,e,g){e=b?b.call(c,a,e,g):a;e>=d.computed&&(d={value:a,computed:e})});return d.value};
i.min=function(a,b,c){if(!b&&i.isArray(a))return Math.min.apply(Math,a);var d={computed:Infinity};t(a,function(a,e,g){e=b?b.call(c,a,e,g):a;e<d.computed&&(d={value:a,computed:e})});return d.value};i.sortBy=function(a,b,c){return i.pluck(i.map(a,function(a,d,e){return{value:a,criteria:b.call(c,a,d,e)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};i.sortedIndex=function(a,b,c){c||(c=i.identity);for(var d=0,e=a.length;d<e;){var g=d+e>>1;c(a[g])<c(b)?d=g+1:e=g}return d};
i.toArray=function(a){return!a?[]:a.toArray?a.toArray():i.isArray(a)?a:i.isArguments(a)?b.call(a):i.values(a)};i.size=function(a){return i.toArray(a).length};i.first=i.head=function(a,c,d){return c!=null&&!d?b.call(a,0,c):a[0]};i.rest=i.tail=function(a,c,d){return b.call(a,c==null||d?1:c)};i.last=function(a){return a[a.length-1]};i.compact=function(a){return i.filter(a,function(a){return!!a})};i.flatten=function(a){return i.reduce(a,function(a,b){if(i.isArray(b))return a.concat(i.flatten(b));a[a.length]=
b;return a},[])};i.without=function(a){var c=b.call(arguments,1);return i.filter(a,function(a){return!i.include(c,a)})};i.uniq=i.unique=function(a,b){return i.reduce(a,function(a,c,d){if(0==d||(b===true?i.last(a)!=c:!i.include(a,c)))a[a.length]=c;return a},[])};i.intersect=function(a){var c=b.call(arguments,1);return i.filter(i.uniq(a),function(a){return i.every(c,function(b){return i.indexOf(b,a)>=0})})};i.zip=function(){for(var a=b.call(arguments),c=i.max(i.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=
i.pluck(a,""+e);return d};i.indexOf=function(a,b,c){if(a==null)return-1;var d;if(c)return c=i.sortedIndex(a,b),a[c]===b?c:-1;if(q&&a.indexOf===q)return a.indexOf(b);for(c=0,d=a.length;c<d;c++)if(a[c]===b)return c;return-1};i.lastIndexOf=function(a,c){if(a==null)return-1;if(n&&a.lastIndexOf===n)return a.lastIndexOf(c);for(var b=a.length;b--;)if(a[b]===c)return b;return-1};i.range=function(a,c,b){arguments.length<=1&&(c=a||0,a=0);for(var b=arguments[2]||1,d=Math.max(Math.ceil((c-a)/b),0),e=0,g=Array(d);e<
d;)g[e++]=a,a+=b;return g};i.bind=function(a,c){if(a.bind===u&&u)return u.apply(a,b.call(arguments,1));var d=b.call(arguments,2);return function(){return a.apply(c,d.concat(b.call(arguments)))}};i.bindAll=function(a){var c=b.call(arguments,1);c.length==0&&(c=i.functions(a));t(c,function(c){a[c]=i.bind(a[c],a)});return a};i.memoize=function(a,c){var b={};c||(c=i.identity);return function(){var d=c.apply(this,arguments);return j.call(b,d)?b[d]:b[d]=a.apply(this,arguments)}};i.delay=function(a,c){var d=
b.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},c)};i.defer=function(a){return i.delay.apply(i,[a,1].concat(b.call(arguments,1)))};var z=function(a,c,b){var d;return function(){var e=this,g=arguments,f=function(){d=null;a.apply(e,g)};b&&clearTimeout(d);if(b||!d)d=setTimeout(f,c)}};i.throttle=function(a,c){return z(a,c,false)};i.debounce=function(a,c){return z(a,c,true)};i.once=function(a){var c=false,b;return function(){if(c)return b;c=true;return b=a.apply(this,arguments)}};
i.wrap=function(a,c){return function(){var d=[a].concat(b.call(arguments));return c.apply(this,d)}};i.compose=function(){var a=b.call(arguments);return function(){for(var c=b.call(arguments),d=a.length-1;d>=0;d--)c=[a[d].apply(this,c)];return c[0]}};i.after=function(a,c){return function(){if(--a<1)return c.apply(this,arguments)}};i.keys=A||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],b;for(b in a)j.call(a,b)&&(c[c.length]=b);return c};i.values=function(a){return i.map(a,
i.identity)};i.functions=i.methods=function(a){return i.filter(i.keys(a),function(c){return i.isFunction(a[c])}).sort()};i.extend=function(a){t(b.call(arguments,1),function(c){for(var b in c)c[b]!==void 0&&(a[b]=c[b])});return a};i.defaults=function(a){t(b.call(arguments,1),function(c){for(var b in c)a[b]==null&&(a[b]=c[b])});return a};i.clone=function(a){return i.isArray(a)?a.slice():i.extend({},a)};i.tap=function(a,c){c(a);return a};i.isEqual=function(a,c){if(a===c)return true;var b=typeof a;if(b!=
typeof c)return false;if(a==c)return true;if(!a&&c||a&&!c)return false;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual)return a.isEqual(c);if(i.isDate(a)&&i.isDate(c))return a.getTime()===c.getTime();if(i.isNaN(a)&&i.isNaN(c))return false;if(i.isRegExp(a)&&i.isRegExp(c))return a.source===c.source&&a.global===c.global&&a.ignoreCase===c.ignoreCase&&a.multiline===c.multiline;if(b!=="object")return false;if(a.length&&a.length!==c.length)return false;var b=i.keys(a),d=i.keys(c);if(b.length!=
d.length)return false;for(var e in a)if(!(e in c)||!i.isEqual(a[e],c[e]))return false;return true};i.isEmpty=function(a){if(i.isArray(a)||i.isString(a))return a.length===0;for(var c in a)if(j.call(a,c))return false;return true};i.isElement=function(a){return!!(a&&a.nodeType==1)};i.isArray=l||function(a){return d.call(a)==="[object Array]"};i.isArguments=function(a){return!(!a||!j.call(a,"callee"))};i.isFunction=function(a){return!(!a||!a.constructor||!a.call||!a.apply)};i.isString=function(a){return!!(a===
""||a&&a.charCodeAt&&a.substr)};i.isNumber=function(a){return!!(a===0||a&&a.toExponential&&a.toFixed)};i.isNaN=function(a){return a!==a};i.isBoolean=function(a){return a===true||a===false};i.isDate=function(a){return!(!a||!a.getTimezoneOffset||!a.setUTCFullYear)};i.isRegExp=function(a){return!(!a||!a.test||!a.exec||!(a.ignoreCase||a.ignoreCase===false))};i.isNull=function(a){return a===null};i.isUndefined=function(a){return a===void 0};i.noConflict=function(){h._=e;return this};i.identity=function(a){return a};
i.times=function(a,c,b){for(var d=0;d<a;d++)c.call(b,d)};i.mixin=function(a){t(i.functions(a),function(c){C(c,i[c]=a[c])})};var B=0;i.uniqueId=function(a){var c=B++;return a?a+c:c};i.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g};i.template=function(a,c){var b=i.templateSettings,b="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(b.interpolate,function(a,c){return"',"+c.replace(/\\'/g,
"'")+",'"}).replace(b.evaluate||null,function(a,c){return"');"+c.replace(/\\'/g,"'").replace(/[\r\n\t]/g," ")+"__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",b=new Function("obj",b);return c?b(c):b};var w=function(a){this._wrapped=a};i.prototype=w.prototype;var y=function(a,c){return c?i(a).chain():a},C=function(a,c){w.prototype[a]=function(){var a=b.call(arguments);f.call(a,this._wrapped);return y(c.apply(i,a),this._chain)}};i.mixin(i);t("pop,push,reverse,shift,sort,splice,unshift".split(","),
function(c){var b=a[c];w.prototype[c]=function(){b.apply(this._wrapped,arguments);return y(this._wrapped,this._chain)}});t(["concat","join","slice"],function(c){var b=a[c];w.prototype[c]=function(){return y(b.apply(this._wrapped,arguments),this._chain)}});w.prototype.chain=function(){this._chain=true;return this};w.prototype.value=function(){return this._wrapped}})();
(function(h){h.fn.extend({jqEasyCounter:function(e){return this.each(function(){function s(){var e=a.val(),d=e.length;d>=l.maxChars&&(e=e.substring(0,l.maxChars));if(d>l.maxChars){var h=a.scrollTop();a.val(e.substring(0,l.maxChars));a.scrollTop(h)}d>=l.maxCharsWarning?b.css({color:l.msgWarningColor}):b.css({color:l.msgFontColor});b.html(g_characters_str+a.val().length+"/"+l.maxChars);b.stop().fadeTo("fast",1)}var a=h(this),l=h.extend({maxChars:100,maxCharsWarning:80,msgFontSize:"12px",msgFontColor:"#000000",
msgFontFamily:"Arial",msgTextAlign:"right",msgWarningColor:"#F00",msgAppendMethod:"insertAfter"},e);if(!(l.maxChars<=0)){var b=h('<div class="jqEasyCounterMsg">&nbsp;</div>');b.css({"font-size":l.msgFontSize,"font-family":l.msgFontFamily,color:l.msgFontColor,"text-align":l.msgTextAlign,opacity:0});b[l.msgAppendMethod](a);a.bind("keydown keyup keypress",s).bind("focus paste",function(){setTimeout(s,10)}).bind("blur",function(){b.stop().fadeTo("fast",0);return false})}})}})})(jQuery);
(function(h){h.fn.ezpz_tooltip=function(e){function s(a){if(l.contentId==""){var e=a.split("-")[0],a=a.split("-")[2];return e+"-content-"+a}else return l.contentId}function a(a){var e=a.outerHeight(true),d=a.outerWidth(true),j=h(a).offset().top,a=h(a).offset().left,c=[];c.height=e;c.width=d;c.top=j;c.left=a;return c}var l=h.extend({},h.fn.ezpz_tooltip.defaults,e);return this.each(function(){var b=h("#"+s(this.id)),e=h(this).mouseover(function(){l.beforeShow(b,h(this))}).mousemove(function(d){contentInfo=
a(b);targetInfo=a(h(this));var d=contentInfo=h.fn.ezpz_tooltip.positions[l.contentPosition](contentInfo,d.pageX,d.pageY,l.offset,targetInfo),e=h(window).width(),c=h(window).scrollTop(),f=[],f=d;d.top<c&&(f.top=c);d.left+d.width>e&&(f.left=e-d.width);d.left<0&&(f.left=0);contentInfo=f;b.css("top",contentInfo.top);b.css("left",contentInfo.left);l.showContent(b)});l.stayOnContent&&this.id!=""?h("#"+this.id+", #"+s(this.id)).mouseover(function(){b.css("display","block")}).mouseout(function(){b.css("display",
"none");l.afterHide()}):e.mouseout(function(){l.hideContent(b);l.afterHide()})})};h.fn.ezpz_tooltip.positionContent=function(e,h,a,l){e.top=a-l-e.height;e.left=h+l;return e};h.fn.ezpz_tooltip.positions={aboveRightFollow:function(e,h,a,l){e.top=a-l-e.height;e.left=h+l;return e}};h.fn.ezpz_tooltip.defaults={contentPosition:"aboveRightFollow",stayOnContent:false,offset:10,contentId:"",beforeShow:function(){},showContent:function(e){e.show()},hideContent:function(e){e.hide()},afterHide:function(){}}})(jQuery);
(function(h){h.fn.ezpz_tooltip.positions.aboveFollow=function(e,h,a,l){e.top=a-l-e.height;e.left=h-e.width/2;return e};h.fn.ezpz_tooltip.positions.rightFollow=function(e,h,a,l){e.top=a-e.height/2;e.left=h+l;return e};h.fn.ezpz_tooltip.positions.belowRightFollow=function(e,h,a,l){e.top=a+l;e.left=h+l;return e};h.fn.ezpz_tooltip.positions.belowFollow=function(e,h,a,l){e.top=a+l;e.left=h-e.width/2;return e};h.fn.ezpz_tooltip.positions.aboveStatic=function(e,h,a,l,b){e.top=b.top-l-e.height;e.left=b.left+
b.width/2-e.width/2;return e};h.fn.ezpz_tooltip.positions.rightStatic=function(e,h,a,l,b){e.top=b.top+b.height/2-e.height/2;e.left=b.left+b.width+l;return e};h.fn.ezpz_tooltip.positions.belowStatic=function(e,h,a,l,b){e.top=b.top+b.height+l;e.left=b.left+b.width/2-e.width/2;return e}})(jQuery);
(function(h){function e(a,c){var b=typeof a[c];return b==="function"||!!(b=="object"&&a[c])||b=="unknown"}function s(a,c,b){c<0&&(c+=a.value.length);typeof b=="undefined"&&(b=c);b<0&&(b+=a.value.length);return{start:c,end:b}}function a(){return typeof document.body=="object"&&document.body?document.body:document.getElementsByTagName("body")[0]}var l,b,f,d,j,c,k,g,o;h(document).ready(function(){function m(a,c){return function(){var b=this.jquery?this[0]:this,d=b.nodeName.toLowerCase();if(b.nodeType==
1&&(d=="textarea"||d=="input"&&b.type=="text"))if(b=[b].concat(Array.prototype.slice.call(arguments)),b=a.apply(this,b),!c)return b;if(c)return this}}var r=document.createElement("textarea");a().appendChild(r);if(typeof r.selectionStart!="undefined"&&typeof r.selectionEnd!="undefined")l=function(a){return{start:a.selectionStart,end:a.selectionEnd,length:a.selectionEnd-a.selectionStart,text:a.value.slice(a.selectionStart,a.selectionEnd)}},b=function(a,c,b){c=s(a,c,b);a.selectionStart=c.start;a.selectionEnd=
c.end},o=function(a,c){c?a.selectionEnd=a.selectionStart:a.selectionStart=a.selectionEnd};else if(e(r,"createTextRange")&&typeof document.selection=="object"&&document.selection&&e(document.selection,"createRange"))l=function(a){var c=0,b=0,d,e,g;if((g=document.selection.createRange())&&g.parentElement()==a)e=a.value.length,d=a.value.replace(/\r\n/g,"\n"),b=a.createTextRange(),b.moveToBookmark(g.getBookmark()),g=a.createTextRange(),g.collapse(false),b.compareEndPoints("StartToEnd",g)>-1?c=b=e:(c=
-b.moveStart("character",-e),c+=d.slice(0,c).split("\n").length-1,b.compareEndPoints("EndToEnd",g)>-1?b=e:(b=-b.moveEnd("character",-e),b+=d.slice(0,b).split("\n").length-1));return{start:c,end:b,length:b-c,text:a.value.slice(c,b)}},b=function(a,c,b){var c=s(a,c,b),b=a.createTextRange(),d=c.start-(a.value.slice(0,c.start).split("\r\n").length-1);b.collapse(true);c.start==c.end?b.move("character",d):(b.moveEnd("character",c.end-(a.value.slice(0,c.end).split("\r\n").length-1)),b.moveStart("character",
d));b.select()},o=function(a,c){var b=document.selection.createRange();b.collapse(c);b.select()};else{a().removeChild(r);window.console&&window.console.log&&window.console.log("TextInputs module for Rangy not supported in your browser. Reason: No means of finding text input caret position");return}a().removeChild(r);d=function(a,c,d,e){var g;if(c!=d)g=a.value,a.value=g.slice(0,c)+g.slice(d);e&&b(a,c,c)};f=function(a){var c=l(a);d(a,c.start,c.end,true)};g=function(a){var c=l(a),d;if(c.start!=c.end)d=
a.value,a.value=d.slice(0,c.start)+d.slice(c.end);b(a,c.start,c.start);return c.text};j=function(a,c,d,e){var g=a.value;a.value=g.slice(0,d)+c+g.slice(d);e&&(c=d+c.length,b(a,c,c))};c=function(a,c){var d=l(a),e=a.value;a.value=e.slice(0,d.start)+c+e.slice(d.end);d=d.start+c.length;b(a,d,d)};k=function(a,c,d){var e=l(a),g=a.value;a.value=g.slice(0,e.start)+c+e.text+d+g.slice(e.end);c=e.start+c.length;b(a,c,c+e.length)};h.fn.extend({getSelection:m(l,false),setSelection:m(b,true),collapseSelection:m(o,
true),deleteSelectedText:m(f,true),deleteText:m(d,true),extractSelectedText:m(g,false),insertText:m(j,true),replaceSelectedText:m(c,true),surroundSelectedText:m(k,true)})})})(jQuery);
(function(h){h.uniform={options:{selectClass:"selector",radioClass:"radio",checkboxClass:"checker",fileClass:"uploader",filenameClass:"filename",fileBtnClass:"action",fileDefaultText:"No file selected",fileBtnText:"Choose File",checkedClass:"checked",focusClass:"focus",disabledClass:"disabled",buttonClass:"button",activeClass:"active",hoverClass:"hover",useID:true,idPrefix:"uniform",resetSelector:false,autoHide:true},elements:[]};h.support.selectOpacity=h.browser.msie&&h.browser.version<7?false:true;
h.fn.uniform=function(e){function s(a){var b=h(a),g=h("<div>"),f=h("<span>");g.addClass(e.buttonClass);e.useID&&b.attr("id")!=""&&g.attr("id",e.idPrefix+"-"+b.attr("id"));var j;if(b.is("a")||b.is("button"))j=b.text();else if(b.is(":submit")||b.is(":reset")||b.is("input[type=button]"))j=b.attr("value");j=j==""?b.is(":reset")?"Reset":"Submit":j;f.html(j);b.css("opacity",0);b.wrap(g);b.wrap(f);g=b.closest("div");f=b.closest("span");b.is(":disabled")&&g.addClass(e.disabledClass);g.bind({"mouseenter.uniform":function(){g.addClass(e.hoverClass)},
"mouseleave.uniform":function(){g.removeClass(e.hoverClass);g.removeClass(e.activeClass)},"mousedown.uniform touchbegin.uniform":function(){g.addClass(e.activeClass)},"mouseup.uniform touchend.uniform":function(){g.removeClass(e.activeClass)},"click.uniform touchend.uniform":function(b){if(h(b.target).is("span")||h(b.target).is("div"))a[0].dispatchEvent?(b=document.createEvent("MouseEvents"),b.initEvent("click",true,true),a[0].dispatchEvent(b)):a[0].click()}});a.bind({"focus.uniform":function(){g.addClass(e.focusClass)},
"blur.uniform":function(){g.removeClass(e.focusClass)}});h.uniform.noSelect(g);d(a)}function a(a){var b=h(a),g=h("<div />"),f=h("<span />");!b.css("display")=="none"&&e.autoHide&&g.hide();g.addClass(e.selectClass);e.useID&&a.attr("id")!=""&&g.attr("id",e.idPrefix+"-"+a.attr("id"));b=a.find(":selected:first");b.length==0&&(b=a.find("option:first"));f.html(b.html());a.css("opacity",0);a.wrap(g);a.before(f);g=a.parent("div");f=a.siblings("span");a.bind({"change.uniform":function(){f.text(a.find(":selected").html());
g.removeClass(e.activeClass)},"focus.uniform":function(){g.addClass(e.focusClass)},"blur.uniform":function(){g.removeClass(e.focusClass);g.removeClass(e.activeClass)},"mousedown.uniform touchbegin.uniform":function(){g.addClass(e.activeClass)},"mouseup.uniform touchend.uniform":function(){g.removeClass(e.activeClass)},"click.uniform touchend.uniform":function(){g.removeClass(e.activeClass)},"mouseenter.uniform":function(){g.addClass(e.hoverClass)},"mouseleave.uniform":function(){g.removeClass(e.hoverClass);
g.removeClass(e.activeClass)},"keyup.uniform":function(){f.text(a.find(":selected").html())}});h(a).attr("disabled")&&g.addClass(e.disabledClass);h.uniform.noSelect(f);d(a)}function l(a){var b=h(a),g=h("<div />"),f=h("<span />");!b.css("display")=="none"&&e.autoHide&&g.hide();g.addClass(e.checkboxClass);e.useID&&a.attr("id")!=""&&g.attr("id",e.idPrefix+"-"+a.attr("id"));h(a).wrap(g);h(a).wrap(f);f=a.parent();g=f.parent();h(a).css("opacity",0).bind({"focus.uniform":function(){g.addClass(e.focusClass)},
"blur.uniform":function(){g.removeClass(e.focusClass)},"click.uniform touchend.uniform":function(){h(a).attr("checked")?f.addClass(e.checkedClass):f.removeClass(e.checkedClass)},"mousedown.uniform touchbegin.uniform":function(){g.addClass(e.activeClass)},"mouseup.uniform touchend.uniform":function(){g.removeClass(e.activeClass)},"mouseenter.uniform":function(){g.addClass(e.hoverClass)},"mouseleave.uniform":function(){g.removeClass(e.hoverClass);g.removeClass(e.activeClass)}});h(a).attr("checked")&&
f.addClass(e.checkedClass);h(a).attr("disabled")&&g.addClass(e.disabledClass);d(a)}function b(a){var b=h(a),g=h("<div />"),f=h("<span />");!b.css("display")=="none"&&e.autoHide&&g.hide();g.addClass(e.radioClass);e.useID&&a.attr("id")!=""&&g.attr("id",e.idPrefix+"-"+a.attr("id"));h(a).wrap(g);h(a).wrap(f);f=a.parent();g=f.parent();h(a).css("opacity",0).bind({"focus.uniform":function(){g.addClass(e.focusClass)},"blur.uniform":function(){g.removeClass(e.focusClass)},"click.uniform touchend.uniform":function(){if(h(a).attr("checked")){var b=
e.radioClass.split(" ")[0];h("."+b+" span."+e.checkedClass+":has([name='"+h(a).attr("name")+"'])").removeClass(e.checkedClass);f.addClass(e.checkedClass)}else f.removeClass(e.checkedClass)},"mousedown.uniform touchend.uniform":function(){h(a).is(":disabled")||g.addClass(e.activeClass)},"mouseup.uniform touchbegin.uniform":function(){g.removeClass(e.activeClass)},"mouseenter.uniform touchend.uniform":function(){g.addClass(e.hoverClass)},"mouseleave.uniform":function(){g.removeClass(e.hoverClass);g.removeClass(e.activeClass)}});
h(a).attr("checked")&&f.addClass(e.checkedClass);h(a).attr("disabled")&&g.addClass(e.disabledClass);d(a)}function f(a){var b=h(a),g=h("<div />"),f=h("<span>"+e.fileDefaultText+"</span>"),j=h("<span>"+e.fileBtnText+"</span>");!b.css("display")=="none"&&e.autoHide&&g.hide();g.addClass(e.fileClass);f.addClass(e.filenameClass);j.addClass(e.fileBtnClass);e.useID&&b.attr("id")!=""&&g.attr("id",e.idPrefix+"-"+b.attr("id"));b.wrap(g);b.after(j);b.after(f);g=b.closest("div");f=b.siblings("."+e.filenameClass);
j=b.siblings("."+e.fileBtnClass);if(!b.attr("size")){var l=g.width();b.attr("size",l/10)}var p=function(){var a=b.val();a===""?a=e.fileDefaultText:(a=a.split(/[\/\\]+/),a=a[a.length-1]);f.text(a)};p();b.css("opacity",0).bind({"focus.uniform":function(){g.addClass(e.focusClass)},"blur.uniform":function(){g.removeClass(e.focusClass)},"mousedown.uniform":function(){h(a).is(":disabled")||g.addClass(e.activeClass)},"mouseup.uniform":function(){g.removeClass(e.activeClass)},"mouseenter.uniform":function(){g.addClass(e.hoverClass)},
"mouseleave.uniform":function(){g.removeClass(e.hoverClass);g.removeClass(e.activeClass)}});h.browser.msie?b.bind("click.uniform.ie7",function(){setTimeout(p,0)}):b.bind("change.uniform",p);b.attr("disabled")&&g.addClass(e.disabledClass);h.uniform.noSelect(f);h.uniform.noSelect(j);d(a)}function d(a){a=h(a).get();a.length>1?h.each(a,function(a,b){h.uniform.elements.push(b)}):h.uniform.elements.push(a)}var e=h.extend(h.uniform.options,e),j=this;e.resetSelector!=false&&h(e.resetSelector).mouseup(function(){setTimeout(function(){h.uniform.update(j)},
10)});h.uniform.restore=function(a){a==void 0&&(a=h(h.uniform.elements));h(a).each(function(){h(this).is(":checkbox")?h(this).unwrap().unwrap():h(this).is("select")?(h(this).siblings("span").remove(),h(this).unwrap()):h(this).is(":radio")?h(this).unwrap().unwrap():h(this).is(":file")?(h(this).siblings("span").remove(),h(this).unwrap()):h(this).is("button, :submit, :reset, a, input[type='button']")&&h(this).unwrap().unwrap();h(this).unbind(".uniform");h(this).css("opacity","1");var b=h.inArray(h(a),
h.uniform.elements);h.uniform.elements.splice(b,1)})};h.uniform.noSelect=function(a){function b(){return false}h(a).each(function(){this.onselectstart=this.ondragstart=b;h(this).mousedown(b).css({MozUserSelect:"none"})})};h.uniform.update=function(a){a==void 0&&(a=h(h.uniform.elements));a=h(a);a.each(function(){var b=h(this);if(b.is("select")){var d=b.siblings("span"),f=b.parent("div");f.removeClass(e.hoverClass+" "+e.focusClass+" "+e.activeClass);d.html(b.find(":selected").html());b.is(":disabled")?
f.addClass(e.disabledClass):f.removeClass(e.disabledClass)}else if(b.is(":checkbox"))d=b.closest("span"),f=b.closest("div"),f.removeClass(e.hoverClass+" "+e.focusClass+" "+e.activeClass),d.removeClass(e.checkedClass),b.is(":checked")&&d.addClass(e.checkedClass),b.is(":disabled")?f.addClass(e.disabledClass):f.removeClass(e.disabledClass);else if(b.is(":radio"))d=b.closest("span"),f=b.closest("div"),f.removeClass(e.hoverClass+" "+e.focusClass+" "+e.activeClass),d.removeClass(e.checkedClass),b.is(":checked")&&
d.addClass(e.checkedClass),b.is(":disabled")?f.addClass(e.disabledClass):f.removeClass(e.disabledClass);else if(b.is(":file"))f=b.parent("div"),d=b.siblings(e.filenameClass),btnTag=b.siblings(e.fileBtnClass),f.removeClass(e.hoverClass+" "+e.focusClass+" "+e.activeClass),d.text(b.val()),b.is(":disabled")?f.addClass(e.disabledClass):f.removeClass(e.disabledClass);else if(b.is(":submit")||b.is(":reset")||b.is("button")||b.is("a")||a.is("input[type=button]"))f=b.closest("div"),f.removeClass(e.hoverClass+
" "+e.focusClass+" "+e.activeClass),b.is(":disabled")?f.addClass(e.disabledClass):f.removeClass(e.disabledClass)})};return this.each(function(){if(h.support.selectOpacity){var c=h(this);c.is("select")?c.attr("multiple")!=true&&(c.attr("size")==void 0||c.attr("size")<=1)&&a(c):c.is(":checkbox")?l(c):c.is(":radio")?b(c):c.is(":file")?f(c):c.is(":text, :password, input[type='email']")?($el=h(c),$el.addClass($el.attr("type")),d(c)):c.is("textarea")?(h(c).addClass("uniform"),d(c)):(c.is("a")||c.is(":submit")||
c.is(":reset")||c.is("button")||c.is("input[type=button]"))&&s(c)}})}})(jQuery);

