/*!
* MinPubSub
* Copyright(c) 2011 Daniel Lamb <daniellmb.com>
* MIT Licensed
*/

// Modified slightly to live in the `pubsub` namespace.
this.pubsub = {};
(function(d){var e=d.c_||{};d.publish=function(a,b){for(var c=e[a],f=c?c.length:0;f--;)c[f].apply(d,b||[])};d.subscribe=function(a,b){e[a]||(e[a]=[]);e[a].push(b);return[a,b]};d.unsubscribe=function(a){for(var b=e[a[0]],a=a[1],c=b?b.length:0;c--;)b[c]===a&&b.splice(c,1)}})(this.pubsub);

// extend.js 0.0.2 - https://github.com/searls/extend.js
(function(e){var c=function(a){return function(g,f){var b=g.split("."),d=b.pop(),b=h(b,a),c=b[d];if(e(c).isFunction()&&f&&c!==f)throw'Cannot define a new function "'+g+'", because one is already defined.';b[d]&&!e(f).isFunction()&&!e(b[d]).isFunction()?e(b[d]).extend(f):arguments.length>1&&(b[d]=f);return b[d]}},h=function(a,c){return e(a).reduce(function(a,b){a[b]=a[b]||{};return a[b]},c)},i=window.extend;window.extend=c(window);window.extend.myNamespace=function(a){a.extend=c(a);return a.extend};
window.extend.noConflict=function(){var a=window.extend;window.extend=i;return a}})(_);
