// Knockout Namespaces plugin v0.1
// (c) 2011 Hunter Loftis, Chris Gomez - http://github.com/hunterloftis/knockout.ns
// License: Ms-Pl (http://www.opensource.org/licenses/ms-pl.html)
(function(a){var b="data-bind";a.currentlyBindingNamespace="",a.applyBindings=function(c,d,e){d&&d.nodeType!==undefined?(e=d,d=""):(d=d||"",e=e||window.document.body),a.currentlyBindingNamespace=d;var f=d.length>0?"-"+d:"",g=b+f,h=a.utils.getElementsHavingAttribute(e,g);a.utils.arrayForEach(h,function(b){a.applyBindingsToNode(b,null,c,g)}),a.currentlyBindingNamespace=""},a.templateRewriting=function(){var b=/(<[a-z]+\d*(\s+(?!data-bind(-[a-z0-9\-]*)?=)[a-z0-9\-]+(=(\"[^\"]*\"|\'[^\']*\'))?)*\s+)data-bind(-[a-z0-9\-]*)?=(["'])([\s\S]*?)\7/gi;return{ensureTemplateIsRewritten:function(b,c){c.isTemplateRewritten(b)||c.rewriteTemplate(b,function(b){return a.templateRewriting.memoizeBindingAttributeSyntax(b,c)})},memoizeBindingAttributeSyntax:function(c,d){return c.replace(b,function(b){var c=arguments[1],e=arguments[8],f=arguments[6]?arguments[6].slice(1):"";if(f===""||f===a.currentlyBindingNamespace){e=a.jsonExpressionRewriting.insertPropertyAccessorsIntoJson(e);var g="ko.templateRewriting.applyMemoizedBindingsToNextSibling(function() {                         return (function() { return { "+e+" } })()                     })";return d.createJavaScriptEvaluatorBlock(g)+c}return b})},applyMemoizedBindingsToNextSibling:function(b){return a.memoization.memoize(function(c,d){c.nextSibling&&a.applyBindingsToNode(c.nextSibling,b,d)})}}}()})(ko)
