ember-source 1.7.0.beta.1 → 1.7.0.beta.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,18 +1,19 @@
1
- (function(){var define,requireModule,require,requirejs,Ember;(function(){Ember=this.Ember=this.Ember||{};if(typeof Ember==="undefined"){Ember={}}if(typeof Ember.__loader==="undefined"){var registry={},seen={};define=function(name,deps,callback){registry[name]={deps:deps,callback:callback}};requirejs=require=requireModule=function(name){if(seen.hasOwnProperty(name)){return seen[name]}seen[name]={};if(!registry[name]){throw new Error("Could not find module "+name)}var mod=registry[name],deps=mod.deps,callback=mod.callback,reified=[],exports;for(var i=0,l=deps.length;i<l;i++){if(deps[i]==="exports"){reified.push(exports={})}else{reified.push(requireModule(resolve(deps[i])))}}var value=callback.apply(this,reified);return seen[name]=exports||value;function resolve(child){if(child.charAt(0)!=="."){return child}var parts=child.split("/");var parentBase=name.split("/").slice(0,-1);for(var i=0,l=parts.length;i<l;i++){var part=parts[i];if(part===".."){parentBase.pop()}else if(part==="."){continue}else{parentBase.push(part)}}return parentBase.join("/")}};requirejs._eak_seen=registry;Ember.__loader={define:define,require:require,registry:registry}}else{define=Ember.__loader.define;requirejs=require=requireModule=Ember.__loader.require}})();define("backburner",["backburner/utils","backburner/deferred_action_queues","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Utils=__dependency1__["default"];var DeferredActionQueues=__dependency2__.DeferredActionQueues;var slice=[].slice,pop=[].pop,each=Utils.each,isString=Utils.isString,isFunction=Utils.isFunction,isNumber=Utils.isNumber,timers=[],global=this,NUMBER=/\d+/;var needsIETryCatchFix=function(e,x){try{x()}catch(e){}return!!e}();function isCoercableNumber(number){return isNumber(number)||NUMBER.test(number)}function Backburner(queueNames,options){this.queueNames=queueNames;this.options=options||{};if(!this.options.defaultQueue){this.options.defaultQueue=queueNames[0]}this.instanceStack=[];this._debouncees=[];this._throttlers=[]}Backburner.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var options=this.options,onBegin=options&&options.onBegin,previousInstance=this.currentInstance;if(previousInstance){this.instanceStack.push(previousInstance)}this.currentInstance=new DeferredActionQueues(this.queueNames,options);if(onBegin){onBegin(this.currentInstance,previousInstance)}},end:function(){var options=this.options,onEnd=options&&options.onEnd,currentInstance=this.currentInstance,nextInstance=null;var finallyAlreadyCalled=false;try{currentInstance.flush()}finally{if(!finallyAlreadyCalled){finallyAlreadyCalled=true;this.currentInstance=null;if(this.instanceStack.length){nextInstance=this.instanceStack.pop();this.currentInstance=nextInstance}if(onEnd){onEnd(currentInstance,nextInstance)}}}},run:function(target,method){var onError=getOnError(this.options);this.begin();if(!method){method=target;target=null}if(isString(method)){method=target[method]}var args=slice.call(arguments,2);var didFinally=false;if(onError){try{return method.apply(target,args)}catch(error){onError(error)}finally{if(!didFinally){didFinally=true;this.end()}}}else{try{return method.apply(target,args)}finally{if(!didFinally){didFinally=true;this.end()}}}},defer:function(queueName,target,method){if(!method){method=target;target=null}if(isString(method)){method=target[method]}var stack=this.DEBUG?new Error:undefined,args=arguments.length>3?slice.call(arguments,3):undefined;if(!this.currentInstance){createAutorun(this)}return this.currentInstance.schedule(queueName,target,method,args,false,stack)},deferOnce:function(queueName,target,method){if(!method){method=target;target=null}if(isString(method)){method=target[method]}var stack=this.DEBUG?new Error:undefined,args=arguments.length>3?slice.call(arguments,3):undefined;if(!this.currentInstance){createAutorun(this)}return this.currentInstance.schedule(queueName,target,method,args,true,stack)},setTimeout:function(){var args=slice.call(arguments),length=args.length,method,wait,target,methodOrTarget,methodOrWait,methodOrArgs;if(length===0){return}else if(length===1){method=args.shift();wait=0}else if(length===2){methodOrTarget=args[0];methodOrWait=args[1];if(isFunction(methodOrWait)||isFunction(methodOrTarget[methodOrWait])){target=args.shift();method=args.shift();wait=0}else if(isCoercableNumber(methodOrWait)){method=args.shift();wait=args.shift()}else{method=args.shift();wait=0}}else{var last=args[args.length-1];if(isCoercableNumber(last)){wait=args.pop()}else{wait=0}methodOrTarget=args[0];methodOrArgs=args[1];if(isFunction(methodOrArgs)||isString(methodOrArgs)&&methodOrTarget!==null&&methodOrArgs in methodOrTarget){target=args.shift();method=args.shift()}else{method=args.shift()}}var executeAt=+new Date+parseInt(wait,10);if(isString(method)){method=target[method]}var onError=getOnError(this.options);function fn(){if(onError){try{method.apply(target,args)}catch(e){onError(e)}}else{method.apply(target,args)}}var i=searchTimer(executeAt,timers);timers.splice(i,0,executeAt,fn);updateLaterTimer(this,executeAt,wait);return fn},throttle:function(target,method){var self=this,args=arguments,immediate=pop.call(args),wait,throttler,index,timer;if(isNumber(immediate)||isString(immediate)){wait=immediate;immediate=true}else{wait=pop.call(args)}wait=parseInt(wait,10);index=findThrottler(target,method,this._throttlers);if(index>-1){return this._throttlers[index]}timer=global.setTimeout(function(){if(!immediate){self.run.apply(self,args)}var index=findThrottler(target,method,self._throttlers);if(index>-1){self._throttlers.splice(index,1)}},wait);if(immediate){self.run.apply(self,args)}throttler=[target,method,timer];this._throttlers.push(throttler);return throttler},debounce:function(target,method){var self=this,args=arguments,immediate=pop.call(args),wait,index,debouncee,timer;if(isNumber(immediate)||isString(immediate)){wait=immediate;immediate=false}else{wait=pop.call(args)}wait=parseInt(wait,10);index=findDebouncee(target,method,this._debouncees);if(index>-1){debouncee=this._debouncees[index];this._debouncees.splice(index,1);clearTimeout(debouncee[2])}timer=global.setTimeout(function(){if(!immediate){self.run.apply(self,args)}var index=findDebouncee(target,method,self._debouncees);if(index>-1){self._debouncees.splice(index,1)}},wait);if(immediate&&index===-1){self.run.apply(self,args)}debouncee=[target,method,timer];self._debouncees.push(debouncee);return debouncee},cancelTimers:function(){var clearItems=function(item){clearTimeout(item[2])};each(this._throttlers,clearItems);this._throttlers=[];each(this._debouncees,clearItems);this._debouncees=[];if(this._laterTimer){clearTimeout(this._laterTimer);this._laterTimer=null}timers=[];if(this._autorun){clearTimeout(this._autorun);this._autorun=null}},hasTimers:function(){return!!timers.length||!!this._debouncees.length||!!this._throttlers.length||this._autorun},cancel:function(timer){var timerType=typeof timer;if(timer&&timerType==="object"&&timer.queue&&timer.method){return timer.queue.cancel(timer)}else if(timerType==="function"){for(var i=0,l=timers.length;i<l;i+=2){if(timers[i+1]===timer){timers.splice(i,2);return true}}}else if(Object.prototype.toString.call(timer)==="[object Array]"){return this._cancelItem(findThrottler,this._throttlers,timer)||this._cancelItem(findDebouncee,this._debouncees,timer)}else{return}},_cancelItem:function(findMethod,array,timer){var item,index;if(timer.length<3){return false}index=findMethod(timer[0],timer[1],array);if(index>-1){item=array[index];if(item[2]===timer[2]){array.splice(index,1);clearTimeout(timer[2]);return true}}return false}};Backburner.prototype.schedule=Backburner.prototype.defer;Backburner.prototype.scheduleOnce=Backburner.prototype.deferOnce;Backburner.prototype.later=Backburner.prototype.setTimeout;if(needsIETryCatchFix){var originalRun=Backburner.prototype.run;Backburner.prototype.run=wrapInTryCatch(originalRun);var originalEnd=Backburner.prototype.end;Backburner.prototype.end=wrapInTryCatch(originalEnd)}function wrapInTryCatch(func){return function(){try{return func.apply(this,arguments)}catch(e){throw e}}}function getOnError(options){return options.onError||options.onErrorTarget&&options.onErrorTarget[options.onErrorMethod]}function createAutorun(backburner){backburner.begin();backburner._autorun=global.setTimeout(function(){backburner._autorun=null;backburner.end()})}function updateLaterTimer(self,executeAt,wait){if(!self._laterTimer||executeAt<self._laterTimerExpiresAt){self._laterTimer=global.setTimeout(function(){self._laterTimer=null;self._laterTimerExpiresAt=null;executeTimers(self)},wait);self._laterTimerExpiresAt=executeAt}}function executeTimers(self){var now=+new Date,time,fns,i,l;self.run(function(){i=searchTimer(now,timers);fns=timers.splice(0,i);for(i=1,l=fns.length;i<l;i+=2){self.schedule(self.options.defaultQueue,null,fns[i])}});if(timers.length){updateLaterTimer(self,timers[0],timers[0]-now)}}function findDebouncee(target,method,debouncees){return findItem(target,method,debouncees)}function findThrottler(target,method,throttlers){return findItem(target,method,throttlers)}function findItem(target,method,collection){var item,index=-1;for(var i=0,l=collection.length;i<l;i++){item=collection[i];if(item[0]===target&&item[1]===method){index=i;break}}return index}function searchTimer(time,timers){var start=0,end=timers.length-2,middle,l;while(start<end){l=(end-start)/2;middle=start+l-l%2;if(time>=timers[middle]){start=middle+2}else{end=middle}}return time>=timers[start]?start+2:start}__exports__.Backburner=Backburner});define("backburner/deferred_action_queues",["backburner/utils","backburner/queue","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Utils=__dependency1__["default"];var Queue=__dependency2__.Queue;var each=Utils.each,isString=Utils.isString;function DeferredActionQueues(queueNames,options){var queues=this.queues={};this.queueNames=queueNames=queueNames||[];this.options=options;each(queueNames,function(queueName){queues[queueName]=new Queue(this,queueName,options)})}DeferredActionQueues.prototype={queueNames:null,queues:null,options:null,schedule:function(queueName,target,method,args,onceFlag,stack){var queues=this.queues,queue=queues[queueName];if(!queue){throw new Error("You attempted to schedule an action in a queue ("+queueName+") that doesn't exist")}if(onceFlag){return queue.pushUnique(target,method,args,stack)}else{return queue.push(target,method,args,stack)}},invoke:function(target,method,args,_){if(args&&args.length>0){method.apply(target,args)}else{method.call(target)}},invokeWithOnError:function(target,method,args,onError){try{if(args&&args.length>0){method.apply(target,args)}else{method.call(target)}}catch(error){onError(error)}},flush:function(){var queues=this.queues,queueNames=this.queueNames,queueName,queue,queueItems,priorQueueNameIndex,queueNameIndex=0,numberOfQueues=queueNames.length,options=this.options,onError=options.onError||options.onErrorTarget&&options.onErrorTarget[options.onErrorMethod],invoke=onError?this.invokeWithOnError:this.invoke;outerloop:while(queueNameIndex<numberOfQueues){queueName=queueNames[queueNameIndex];queue=queues[queueName];queueItems=queue._queueBeingFlushed=queue._queue.slice();queue._queue=[];var queueOptions=queue.options,before=queueOptions&&queueOptions.before,after=queueOptions&&queueOptions.after,target,method,args,stack,queueIndex=0,numberOfQueueItems=queueItems.length;if(numberOfQueueItems&&before){before()}while(queueIndex<numberOfQueueItems){target=queueItems[queueIndex];method=queueItems[queueIndex+1];args=queueItems[queueIndex+2];stack=queueItems[queueIndex+3];if(isString(method)){method=target[method]}if(method){invoke(target,method,args,onError)}queueIndex+=4}queue._queueBeingFlushed=null;if(numberOfQueueItems&&after){after()}if((priorQueueNameIndex=indexOfPriorQueueWithActions(this,queueNameIndex))!==-1){queueNameIndex=priorQueueNameIndex;continue outerloop}queueNameIndex++}}};function indexOfPriorQueueWithActions(daq,currentQueueIndex){var queueName,queue;for(var i=0,l=currentQueueIndex;i<=l;i++){queueName=daq.queueNames[i];queue=daq.queues[queueName];if(queue._queue.length){return i}}return-1}__exports__.DeferredActionQueues=DeferredActionQueues});define("backburner/queue",["exports"],function(__exports__){"use strict";function Queue(daq,name,options){this.daq=daq;this.name=name;this.globalOptions=options;this.options=options[name];this._queue=[]}Queue.prototype={daq:null,name:null,options:null,onError:null,_queue:null,push:function(target,method,args,stack){var queue=this._queue;queue.push(target,method,args,stack);return{queue:this,target:target,method:method}},pushUnique:function(target,method,args,stack){var queue=this._queue,currentTarget,currentMethod,i,l;for(i=0,l=queue.length;i<l;i+=4){currentTarget=queue[i];currentMethod=queue[i+1];if(currentTarget===target&&currentMethod===method){queue[i+2]=args;queue[i+3]=stack;return{queue:this,target:target,method:method}}}queue.push(target,method,args,stack);return{queue:this,target:target,method:method}},flush:function(){var queue=this._queue,globalOptions=this.globalOptions,options=this.options,before=options&&options.before,after=options&&options.after,onError=globalOptions.onError||globalOptions.onErrorTarget&&globalOptions.onErrorTarget[globalOptions.onErrorMethod],target,method,args,stack,i,l=queue.length;if(l&&before){before()}for(i=0;i<l;i+=4){target=queue[i];method=queue[i+1];args=queue[i+2];stack=queue[i+3];if(args&&args.length>0){if(onError){try{method.apply(target,args)}catch(e){onError(e)}}else{method.apply(target,args)}}else{if(onError){try{method.call(target)}catch(e){onError(e)}}else{method.call(target)}}}if(l&&after){after()}if(queue.length>l){this._queue=queue.slice(l);this.flush()}else{this._queue.length=0}},cancel:function(actionToCancel){var queue=this._queue,currentTarget,currentMethod,i,l;for(i=0,l=queue.length;i<l;i+=4){currentTarget=queue[i];currentMethod=queue[i+1];if(currentTarget===actionToCancel.target&&currentMethod===actionToCancel.method){queue.splice(i,4);return true}}queue=this._queueBeingFlushed;if(!queue){return}for(i=0,l=queue.length;i<l;i+=4){currentTarget=queue[i];currentMethod=queue[i+1];if(currentTarget===actionToCancel.target&&currentMethod===actionToCancel.method){queue[i+1]=null;return true}}}};__exports__.Queue=Queue});define("backburner/utils",["exports"],function(__exports__){"use strict";__exports__["default"]={each:function(collection,callback){for(var i=0;i<collection.length;i++){callback(collection[i])}},isString:function(suspect){return typeof suspect==="string"},isFunction:function(suspect){return typeof suspect==="function"},isNumber:function(suspect){return typeof suspect==="number"}}});define("container",["container/container","exports"],function(__dependency1__,__exports__){"use strict";Ember.MODEL_FACTORY_INJECTIONS=false;if(Ember.ENV&&typeof Ember.ENV.MODEL_FACTORY_INJECTIONS!=="undefined"){Ember.MODEL_FACTORY_INJECTIONS=!!Ember.ENV.MODEL_FACTORY_INJECTIONS}var Container=__dependency1__["default"];__exports__["default"]=Container});define("container/container",["container/inheriting_dict","ember-metal/core","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var InheritingDict=__dependency1__["default"];var Ember=__dependency2__["default"];function Container(parent){this.parent=parent;this.children=[];this.resolver=parent&&parent.resolver||function(){};this.registry=new InheritingDict(parent&&parent.registry);this.cache=new InheritingDict(parent&&parent.cache);this.factoryCache=new InheritingDict(parent&&parent.factoryCache);this.resolveCache=new InheritingDict(parent&&parent.resolveCache);this.typeInjections=new InheritingDict(parent&&parent.typeInjections);this.injections={};this.factoryTypeInjections=new InheritingDict(parent&&parent.factoryTypeInjections);this.factoryInjections={};this._options=new InheritingDict(parent&&parent._options);this._typeOptions=new InheritingDict(parent&&parent._typeOptions)}Container.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var container=new Container(this);this.children.push(container);return container},set:function(object,key,value){object[key]=value},register:function(fullName,factory,options){if(factory===undefined){throw new TypeError("Attempting to register an unknown factory: `"+fullName+"`")}var normalizedName=this.normalize(fullName);if(this.cache.has(normalizedName)){throw new Error("Cannot re-register: `"+fullName+"`, as it has already been looked up.")}this.registry.set(normalizedName,factory);this._options.set(normalizedName,options||{})},unregister:function(fullName){var normalizedName=this.normalize(fullName);this.registry.remove(normalizedName);this.cache.remove(normalizedName);this.factoryCache.remove(normalizedName);this.resolveCache.remove(normalizedName);this._options.remove(normalizedName)},resolve:function(fullName){return resolve(this,this.normalize(fullName))},describe:function(fullName){return fullName},normalize:function(fullName){return fullName},makeToString:function(factory,fullName){return factory.toString()},lookup:function(fullName,options){return lookup(this,this.normalize(fullName),options)},lookupFactory:function(fullName){return factoryFor(this,this.normalize(fullName))},has:function(fullName){return has(this,this.normalize(fullName))},optionsForType:function(type,options){if(this.parent){illegalChildOperation("optionsForType")}this._typeOptions.set(type,options)},options:function(type,options){this.optionsForType(type,options)},typeInjection:function(type,property,fullName){if(this.parent){illegalChildOperation("typeInjection")}var fullNameType=fullName.split(":")[0];if(fullNameType===type){throw new Error("Cannot inject a `"+fullName+"` on other "+type+"(s). Register the `"+fullName+"` as a different type and perform the typeInjection.")}addTypeInjection(this.typeInjections,type,property,fullName)},injection:function(fullName,property,injectionName){if(this.parent){illegalChildOperation("injection")}validateFullName(injectionName);var normalizedInjectionName=this.normalize(injectionName);if(fullName.indexOf(":")===-1){return this.typeInjection(fullName,property,normalizedInjectionName)}var normalizedName=this.normalize(fullName);if(this.cache.has(normalizedName)){throw new Error("Attempted to register an injection for a type that has already been looked up. ('"+normalizedName+"', '"+property+"', '"+injectionName+"')")}addInjection(this.injections,normalizedName,property,normalizedInjectionName)},factoryTypeInjection:function(type,property,fullName){if(this.parent){illegalChildOperation("factoryTypeInjection")}addTypeInjection(this.factoryTypeInjections,type,property,this.normalize(fullName))},factoryInjection:function(fullName,property,injectionName){if(this.parent){illegalChildOperation("injection")}var normalizedName=this.normalize(fullName);var normalizedInjectionName=this.normalize(injectionName);validateFullName(injectionName);if(fullName.indexOf(":")===-1){return this.factoryTypeInjection(normalizedName,property,normalizedInjectionName)}if(this.factoryCache.has(normalizedName)){throw new Error("Attempted to register a factoryInjection for a type that has already "+"been looked up. ('"+normalizedName+"', '"+property+"', '"+injectionName+"')")}addInjection(this.factoryInjections,normalizedName,property,normalizedInjectionName)},destroy:function(){for(var i=0,length=this.children.length;i<length;i++){this.children[i].destroy()}this.children=[];eachDestroyable(this,function(item){item.destroy()});this.parent=undefined;this.isDestroyed=true},reset:function(){for(var i=0,length=this.children.length;i<length;i++){resetCache(this.children[i])}resetCache(this)}};function resolve(container,normalizedName){var cached=container.resolveCache.get(normalizedName);if(cached){return cached}var resolved=container.resolver(normalizedName)||container.registry.get(normalizedName);container.resolveCache.set(normalizedName,resolved);return resolved}function has(container,fullName){if(container.cache.has(fullName)){return true}return!!container.resolve(fullName)}function lookup(container,fullName,options){options=options||{};if(container.cache.has(fullName)&&options.singleton!==false){return container.cache.get(fullName)}var value=instantiate(container,fullName);if(value===undefined){return}if(isSingleton(container,fullName)&&options.singleton!==false){container.cache.set(fullName,value)}return value}function illegalChildOperation(operation){throw new Error(operation+" is not currently supported on child containers")}function isSingleton(container,fullName){var singleton=option(container,fullName,"singleton");return singleton!==false}function buildInjections(container,injections){var hash={};if(!injections){return hash}var injection,injectable;for(var i=0,length=injections.length;i<length;i++){injection=injections[i];injectable=lookup(container,injection.fullName);if(injectable!==undefined){hash[injection.property]=injectable}else{throw new Error("Attempting to inject an unknown injection: `"+injection.fullName+"`")}}return hash}function option(container,fullName,optionName){var options=container._options.get(fullName);if(options&&options[optionName]!==undefined){return options[optionName]}var type=fullName.split(":")[0];options=container._typeOptions.get(type);if(options){return options[optionName]}}function factoryFor(container,fullName){var cache=container.factoryCache;if(cache.has(fullName)){return cache.get(fullName)}var factory=container.resolve(fullName);if(factory===undefined){return}var type=fullName.split(":")[0];if(!factory||typeof factory.extend!=="function"||!Ember.MODEL_FACTORY_INJECTIONS&&type==="model"){return factory}else{var injections=injectionsFor(container,fullName);var factoryInjections=factoryInjectionsFor(container,fullName);factoryInjections._toString=container.makeToString(factory,fullName);var injectedFactory=factory.extend(injections);injectedFactory.reopenClass(factoryInjections);cache.set(fullName,injectedFactory);return injectedFactory}}function injectionsFor(container,fullName){var splitName=fullName.split(":"),type=splitName[0],injections=[];injections=injections.concat(container.typeInjections.get(type)||[]);injections=injections.concat(container.injections[fullName]||[]);injections=buildInjections(container,injections);injections._debugContainerKey=fullName;injections.container=container;return injections}function factoryInjectionsFor(container,fullName){var splitName=fullName.split(":"),type=splitName[0],factoryInjections=[];factoryInjections=factoryInjections.concat(container.factoryTypeInjections.get(type)||[]);factoryInjections=factoryInjections.concat(container.factoryInjections[fullName]||[]);factoryInjections=buildInjections(container,factoryInjections);factoryInjections._debugContainerKey=fullName;return factoryInjections}function instantiate(container,fullName){var factory=factoryFor(container,fullName);if(option(container,fullName,"instantiate")===false){return factory}if(factory){if(typeof factory.create!=="function"){throw new Error("Failed to create an instance of '"+fullName+"'. "+"Most likely an improperly defined class or an invalid module export.")}if(typeof factory.extend==="function"){return factory.create()}else{return factory.create(injectionsFor(container,fullName))}}}function eachDestroyable(container,callback){container.cache.eachLocal(function(key,value){if(option(container,key,"instantiate")===false){return}callback(value)})}function resetCache(container){container.cache.eachLocal(function(key,value){if(option(container,key,"instantiate")===false){return}value.destroy()});container.cache.dict={}}function addTypeInjection(rules,type,property,fullName){var injections=rules.get(type);if(!injections){injections=[];rules.set(type,injections)}injections.push({property:property,fullName:fullName})}var VALID_FULL_NAME_REGEXP=/^[^:]+.+:[^:]+$/;function validateFullName(fullName){if(!VALID_FULL_NAME_REGEXP.test(fullName)){throw new TypeError("Invalid Fullname, expected: `type:name` got: "+fullName)}return true}function addInjection(rules,factoryName,property,injectionName){var injections=rules[factoryName]=rules[factoryName]||[];injections.push({property:property,fullName:injectionName})}__exports__["default"]=Container});define("container/inheriting_dict",["exports"],function(__exports__){"use strict";function InheritingDict(parent){this.parent=parent;this.dict={}}InheritingDict.prototype={parent:null,dict:null,get:function(key){var dict=this.dict;if(dict.hasOwnProperty(key)){return dict[key]}if(this.parent){return this.parent.get(key)}},set:function(key,value){this.dict[key]=value},remove:function(key){delete this.dict[key]},has:function(key){var dict=this.dict;if(dict.hasOwnProperty(key)){return true}if(this.parent){return this.parent.has(key)}return false},eachLocal:function(callback,binding){var dict=this.dict;for(var prop in dict){if(dict.hasOwnProperty(prop)){callback.call(binding,prop,dict[prop])}}}};__exports__["default"]=InheritingDict});define("ember-application",["ember-metal/core","ember-runtime/system/lazy_load","ember-application/system/dag","ember-application/system/resolver","ember-application/system/application","ember-application/ext/controller"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__){"use strict";var Ember=__dependency1__["default"];var runLoadHooks=__dependency2__.runLoadHooks;var DAG=__dependency3__["default"];var Resolver=__dependency4__.Resolver;var DefaultResolver=__dependency4__.default;var Application=__dependency5__["default"];Ember.Application=Application;Ember.DAG=DAG;Ember.Resolver=Resolver;Ember.DefaultResolver=DefaultResolver;runLoadHooks("Ember.Application",Application)});define("ember-application/ext/controller",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/error","ember-metal/utils","ember-metal/computed","ember-runtime/mixins/controller","ember-routing/system/controller_for","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var EmberError=__dependency4__["default"];var inspect=__dependency5__.inspect;var computed=__dependency6__.computed;var ControllerMixin=__dependency7__["default"];var meta=__dependency5__.meta;var controllerFor=__dependency8__["default"];function verifyNeedsDependencies(controller,container,needs){var dependency,i,l,missing=[];for(i=0,l=needs.length;i<l;i++){dependency=needs[i];if(dependency.indexOf(":")===-1){dependency="controller:"+dependency}if(!container.has(dependency)){missing.push(dependency)}}if(missing.length){throw new EmberError(inspect(controller)+" needs [ "+missing.join(", ")+" ] but "+(missing.length>1?"they":"it")+" could not be found")}}var defaultControllersComputedProperty=computed(function(){var controller=this;return{needs:get(controller,"needs"),container:get(controller,"container"),unknownProperty:function(controllerName){var needs=this.needs,dependency,i,l;for(i=0,l=needs.length;i<l;i++){dependency=needs[i];if(dependency===controllerName){return this.container.lookup("controller:"+controllerName)}}var errorMessage=inspect(controller)+"#needs does not include `"+controllerName+"`. To access the "+controllerName+" controller from "+inspect(controller)+", "+inspect(controller)+" should have a `needs` property that is an array of the controllers it has access to.";throw new ReferenceError(errorMessage)},setUnknownProperty:function(key,value){throw new Error("You cannot overwrite the value of `controllers."+key+"` of "+inspect(controller))}}});ControllerMixin.reopen({concatenatedProperties:["needs"],needs:[],init:function(){var needs=get(this,"needs");var length=get(needs,"length");if(length>0){if(this.container){verifyNeedsDependencies(this,this.container,needs)}get(this,"controllers")}this._super.apply(this,arguments)},controllerFor:function(controllerName){return controllerFor(get(this,"container"),controllerName)},controllers:defaultControllersComputedProperty});__exports__["default"]=ControllerMixin});define("ember-application/system/application",["ember-metal","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/lazy_load","ember-application/system/dag","ember-runtime/system/namespace","ember-runtime/mixins/deferred","ember-application/system/resolver","ember-metal/platform","ember-metal/run_loop","ember-metal/utils","container/container","ember-runtime/controllers/controller","ember-metal/enumerable_utils","ember-runtime/controllers/object_controller","ember-runtime/controllers/array_controller","ember-views/system/event_dispatcher","ember-views/system/jquery","ember-routing/system/route","ember-routing/system/router","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/location/none_location","ember-routing/system/cache","ember-metal/core","ember-handlebars-compiler","ember-application/system/deprecated-container","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__dependency19__,__dependency20__,__dependency21__,__dependency22__,__dependency23__,__dependency24__,__dependency25__,__dependency26__,__dependency27__,__dependency28__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var runLoadHooks=__dependency4__.runLoadHooks;var DAG=__dependency5__["default"];var Namespace=__dependency6__["default"];var DeferredMixin=__dependency7__["default"];var DefaultResolver=__dependency8__["default"];var create=__dependency9__.create;var run=__dependency10__["default"];var canInvoke=__dependency11__.canInvoke;var Container=__dependency12__["default"];var Controller=__dependency13__["default"];var EnumerableUtils=__dependency14__["default"];var ObjectController=__dependency15__["default"];var ArrayController=__dependency16__["default"];var EventDispatcher=__dependency17__["default"];var jQuery=__dependency18__["default"];var Route=__dependency19__["default"];var Router=__dependency20__["default"];var HashLocation=__dependency21__["default"];var HistoryLocation=__dependency22__["default"];var AutoLocation=__dependency23__["default"];var NoneLocation=__dependency24__["default"];var BucketCache=__dependency25__["default"];var K=__dependency26__.K;var EmberHandlebars=__dependency27__["default"];var DeprecatedContainer=__dependency28__["default"];var ContainerDebugAdapter;var Application=Namespace.extend(DeferredMixin,{rootElement:"body",eventDispatcher:null,customEvents:null,_readinessDeferrals:1,init:function(){if(!this.$){this.$=jQuery}this.__container__=this.buildContainer();this.Router=this.defaultRouter();this._super();this.scheduleInitialize();Ember.libraries.registerCoreLibrary("Handlebars",EmberHandlebars.VERSION);Ember.libraries.registerCoreLibrary("jQuery",jQuery().jquery);if(Ember.LOG_VERSION){Ember.LOG_VERSION=false;var nameLengths=EnumerableUtils.map(Ember.libraries,function(item){return get(item,"name.length")});var maxNameLength=Math.max.apply(this,nameLengths);Ember.libraries.each(function(name,version){var spaces=new Array(maxNameLength-name.length+1).join(" ")})}},buildContainer:function(){var container=this.__container__=Application.buildContainer(this);return container},defaultRouter:function(){if(this.Router===false){return}var container=this.__container__;if(this.Router){container.unregister("router:main");
1
+ (function(){var define,requireModule,require,requirejs,Ember;(function(){Ember=this.Ember=this.Ember||{};if(typeof Ember==="undefined"){Ember={}}if(typeof Ember.__loader==="undefined"){var registry={},seen={};define=function(name,deps,callback){registry[name]={deps:deps,callback:callback}};requirejs=require=requireModule=function(name){if(seen.hasOwnProperty(name)){return seen[name]}seen[name]={};if(!registry[name]){throw new Error("Could not find module "+name)}var mod=registry[name],deps=mod.deps,callback=mod.callback,reified=[],exports;for(var i=0,l=deps.length;i<l;i++){if(deps[i]==="exports"){reified.push(exports={})}else{reified.push(requireModule(resolve(deps[i])))}}var value=callback.apply(this,reified);return seen[name]=exports||value;function resolve(child){if(child.charAt(0)!=="."){return child}var parts=child.split("/");var parentBase=name.split("/").slice(0,-1);for(var i=0,l=parts.length;i<l;i++){var part=parts[i];if(part===".."){parentBase.pop()}else if(part==="."){continue}else{parentBase.push(part)}}return parentBase.join("/")}};requirejs._eak_seen=registry;Ember.__loader={define:define,require:require,registry:registry}}else{define=Ember.__loader.define;requirejs=require=requireModule=Ember.__loader.require}})();define("backburner",["backburner/utils","backburner/deferred_action_queues","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Utils=__dependency1__["default"];var DeferredActionQueues=__dependency2__.DeferredActionQueues;var slice=[].slice,pop=[].pop,each=Utils.each,isString=Utils.isString,isFunction=Utils.isFunction,isNumber=Utils.isNumber,timers=[],global=this,NUMBER=/\d+/;var needsIETryCatchFix=function(e,x){try{x()}catch(e){}return!!e}();function isCoercableNumber(number){return isNumber(number)||NUMBER.test(number)}function Backburner(queueNames,options){this.queueNames=queueNames;this.options=options||{};if(!this.options.defaultQueue){this.options.defaultQueue=queueNames[0]}this.instanceStack=[];this._debouncees=[];this._throttlers=[]}Backburner.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var options=this.options,onBegin=options&&options.onBegin,previousInstance=this.currentInstance;if(previousInstance){this.instanceStack.push(previousInstance)}this.currentInstance=new DeferredActionQueues(this.queueNames,options);if(onBegin){onBegin(this.currentInstance,previousInstance)}},end:function(){var options=this.options,onEnd=options&&options.onEnd,currentInstance=this.currentInstance,nextInstance=null;var finallyAlreadyCalled=false;try{currentInstance.flush()}finally{if(!finallyAlreadyCalled){finallyAlreadyCalled=true;this.currentInstance=null;if(this.instanceStack.length){nextInstance=this.instanceStack.pop();this.currentInstance=nextInstance}if(onEnd){onEnd(currentInstance,nextInstance)}}}},run:function(target,method){var onError=getOnError(this.options);this.begin();if(!method){method=target;target=null}if(isString(method)){method=target[method]}var args=slice.call(arguments,2);var didFinally=false;if(onError){try{return method.apply(target,args)}catch(error){onError(error)}finally{if(!didFinally){didFinally=true;this.end()}}}else{try{return method.apply(target,args)}finally{if(!didFinally){didFinally=true;this.end()}}}},defer:function(queueName,target,method){if(!method){method=target;target=null}if(isString(method)){method=target[method]}var stack=this.DEBUG?new Error:undefined,args=arguments.length>3?slice.call(arguments,3):undefined;if(!this.currentInstance){createAutorun(this)}return this.currentInstance.schedule(queueName,target,method,args,false,stack)},deferOnce:function(queueName,target,method){if(!method){method=target;target=null}if(isString(method)){method=target[method]}var stack=this.DEBUG?new Error:undefined,args=arguments.length>3?slice.call(arguments,3):undefined;if(!this.currentInstance){createAutorun(this)}return this.currentInstance.schedule(queueName,target,method,args,true,stack)},setTimeout:function(){var args=slice.call(arguments),length=args.length,method,wait,target,methodOrTarget,methodOrWait,methodOrArgs;if(length===0){return}else if(length===1){method=args.shift();wait=0}else if(length===2){methodOrTarget=args[0];methodOrWait=args[1];if(isFunction(methodOrWait)||isFunction(methodOrTarget[methodOrWait])){target=args.shift();method=args.shift();wait=0}else if(isCoercableNumber(methodOrWait)){method=args.shift();wait=args.shift()}else{method=args.shift();wait=0}}else{var last=args[args.length-1];if(isCoercableNumber(last)){wait=args.pop()}else{wait=0}methodOrTarget=args[0];methodOrArgs=args[1];if(isFunction(methodOrArgs)||isString(methodOrArgs)&&methodOrTarget!==null&&methodOrArgs in methodOrTarget){target=args.shift();method=args.shift()}else{method=args.shift()}}var executeAt=+new Date+parseInt(wait,10);if(isString(method)){method=target[method]}var onError=getOnError(this.options);function fn(){if(onError){try{method.apply(target,args)}catch(e){onError(e)}}else{method.apply(target,args)}}var i=searchTimer(executeAt,timers);timers.splice(i,0,executeAt,fn);updateLaterTimer(this,executeAt,wait);return fn},throttle:function(target,method){var self=this,args=arguments,immediate=pop.call(args),wait,throttler,index,timer;if(isNumber(immediate)||isString(immediate)){wait=immediate;immediate=true}else{wait=pop.call(args)}wait=parseInt(wait,10);index=findThrottler(target,method,this._throttlers);if(index>-1){return this._throttlers[index]}timer=global.setTimeout(function(){if(!immediate){self.run.apply(self,args)}var index=findThrottler(target,method,self._throttlers);if(index>-1){self._throttlers.splice(index,1)}},wait);if(immediate){self.run.apply(self,args)}throttler=[target,method,timer];this._throttlers.push(throttler);return throttler},debounce:function(target,method){var self=this,args=arguments,immediate=pop.call(args),wait,index,debouncee,timer;if(isNumber(immediate)||isString(immediate)){wait=immediate;immediate=false}else{wait=pop.call(args)}wait=parseInt(wait,10);index=findDebouncee(target,method,this._debouncees);if(index>-1){debouncee=this._debouncees[index];this._debouncees.splice(index,1);clearTimeout(debouncee[2])}timer=global.setTimeout(function(){if(!immediate){self.run.apply(self,args)}var index=findDebouncee(target,method,self._debouncees);if(index>-1){self._debouncees.splice(index,1)}},wait);if(immediate&&index===-1){self.run.apply(self,args)}debouncee=[target,method,timer];self._debouncees.push(debouncee);return debouncee},cancelTimers:function(){var clearItems=function(item){clearTimeout(item[2])};each(this._throttlers,clearItems);this._throttlers=[];each(this._debouncees,clearItems);this._debouncees=[];if(this._laterTimer){clearTimeout(this._laterTimer);this._laterTimer=null}timers=[];if(this._autorun){clearTimeout(this._autorun);this._autorun=null}},hasTimers:function(){return!!timers.length||!!this._debouncees.length||!!this._throttlers.length||this._autorun},cancel:function(timer){var timerType=typeof timer;if(timer&&timerType==="object"&&timer.queue&&timer.method){return timer.queue.cancel(timer)}else if(timerType==="function"){for(var i=0,l=timers.length;i<l;i+=2){if(timers[i+1]===timer){timers.splice(i,2);return true}}}else if(Object.prototype.toString.call(timer)==="[object Array]"){return this._cancelItem(findThrottler,this._throttlers,timer)||this._cancelItem(findDebouncee,this._debouncees,timer)}else{return}},_cancelItem:function(findMethod,array,timer){var item,index;if(timer.length<3){return false}index=findMethod(timer[0],timer[1],array);if(index>-1){item=array[index];if(item[2]===timer[2]){array.splice(index,1);clearTimeout(timer[2]);return true}}return false}};Backburner.prototype.schedule=Backburner.prototype.defer;Backburner.prototype.scheduleOnce=Backburner.prototype.deferOnce;Backburner.prototype.later=Backburner.prototype.setTimeout;if(needsIETryCatchFix){var originalRun=Backburner.prototype.run;Backburner.prototype.run=wrapInTryCatch(originalRun);var originalEnd=Backburner.prototype.end;Backburner.prototype.end=wrapInTryCatch(originalEnd)}function wrapInTryCatch(func){return function(){try{return func.apply(this,arguments)}catch(e){throw e}}}function getOnError(options){return options.onError||options.onErrorTarget&&options.onErrorTarget[options.onErrorMethod]}function createAutorun(backburner){backburner.begin();backburner._autorun=global.setTimeout(function(){backburner._autorun=null;backburner.end()})}function updateLaterTimer(self,executeAt,wait){if(!self._laterTimer||executeAt<self._laterTimerExpiresAt){self._laterTimer=global.setTimeout(function(){self._laterTimer=null;self._laterTimerExpiresAt=null;executeTimers(self)},wait);self._laterTimerExpiresAt=executeAt}}function executeTimers(self){var now=+new Date,time,fns,i,l;self.run(function(){i=searchTimer(now,timers);fns=timers.splice(0,i);for(i=1,l=fns.length;i<l;i+=2){self.schedule(self.options.defaultQueue,null,fns[i])}});if(timers.length){updateLaterTimer(self,timers[0],timers[0]-now)}}function findDebouncee(target,method,debouncees){return findItem(target,method,debouncees)}function findThrottler(target,method,throttlers){return findItem(target,method,throttlers)}function findItem(target,method,collection){var item,index=-1;for(var i=0,l=collection.length;i<l;i++){item=collection[i];if(item[0]===target&&item[1]===method){index=i;break}}return index}function searchTimer(time,timers){var start=0,end=timers.length-2,middle,l;while(start<end){l=(end-start)/2;middle=start+l-l%2;if(time>=timers[middle]){start=middle+2}else{end=middle}}return time>=timers[start]?start+2:start}__exports__.Backburner=Backburner});define("backburner/deferred_action_queues",["backburner/utils","backburner/queue","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Utils=__dependency1__["default"];var Queue=__dependency2__.Queue;var each=Utils.each,isString=Utils.isString;function DeferredActionQueues(queueNames,options){var queues=this.queues={};this.queueNames=queueNames=queueNames||[];this.options=options;each(queueNames,function(queueName){queues[queueName]=new Queue(this,queueName,options)})}DeferredActionQueues.prototype={queueNames:null,queues:null,options:null,schedule:function(queueName,target,method,args,onceFlag,stack){var queues=this.queues,queue=queues[queueName];if(!queue){throw new Error("You attempted to schedule an action in a queue ("+queueName+") that doesn't exist")}if(onceFlag){return queue.pushUnique(target,method,args,stack)}else{return queue.push(target,method,args,stack)}},invoke:function(target,method,args,_){if(args&&args.length>0){method.apply(target,args)}else{method.call(target)}},invokeWithOnError:function(target,method,args,onError){try{if(args&&args.length>0){method.apply(target,args)}else{method.call(target)}}catch(error){onError(error)}},flush:function(){var queues=this.queues,queueNames=this.queueNames,queueName,queue,queueItems,priorQueueNameIndex,queueNameIndex=0,numberOfQueues=queueNames.length,options=this.options,onError=options.onError||options.onErrorTarget&&options.onErrorTarget[options.onErrorMethod],invoke=onError?this.invokeWithOnError:this.invoke;outerloop:while(queueNameIndex<numberOfQueues){queueName=queueNames[queueNameIndex];queue=queues[queueName];queueItems=queue._queueBeingFlushed=queue._queue.slice();queue._queue=[];var queueOptions=queue.options,before=queueOptions&&queueOptions.before,after=queueOptions&&queueOptions.after,target,method,args,stack,queueIndex=0,numberOfQueueItems=queueItems.length;if(numberOfQueueItems&&before){before()}while(queueIndex<numberOfQueueItems){target=queueItems[queueIndex];method=queueItems[queueIndex+1];args=queueItems[queueIndex+2];stack=queueItems[queueIndex+3];if(isString(method)){method=target[method]}if(method){invoke(target,method,args,onError)}queueIndex+=4}queue._queueBeingFlushed=null;if(numberOfQueueItems&&after){after()}if((priorQueueNameIndex=indexOfPriorQueueWithActions(this,queueNameIndex))!==-1){queueNameIndex=priorQueueNameIndex;continue outerloop}queueNameIndex++}}};function indexOfPriorQueueWithActions(daq,currentQueueIndex){var queueName,queue;for(var i=0,l=currentQueueIndex;i<=l;i++){queueName=daq.queueNames[i];queue=daq.queues[queueName];if(queue._queue.length){return i}}return-1}__exports__.DeferredActionQueues=DeferredActionQueues});define("backburner/queue",["exports"],function(__exports__){"use strict";function Queue(daq,name,options){this.daq=daq;this.name=name;this.globalOptions=options;this.options=options[name];this._queue=[]}Queue.prototype={daq:null,name:null,options:null,onError:null,_queue:null,push:function(target,method,args,stack){var queue=this._queue;queue.push(target,method,args,stack);return{queue:this,target:target,method:method}},pushUnique:function(target,method,args,stack){var queue=this._queue,currentTarget,currentMethod,i,l;for(i=0,l=queue.length;i<l;i+=4){currentTarget=queue[i];currentMethod=queue[i+1];if(currentTarget===target&&currentMethod===method){queue[i+2]=args;queue[i+3]=stack;return{queue:this,target:target,method:method}}}queue.push(target,method,args,stack);return{queue:this,target:target,method:method}},flush:function(){var queue=this._queue,globalOptions=this.globalOptions,options=this.options,before=options&&options.before,after=options&&options.after,onError=globalOptions.onError||globalOptions.onErrorTarget&&globalOptions.onErrorTarget[globalOptions.onErrorMethod],target,method,args,stack,i,l=queue.length;if(l&&before){before()}for(i=0;i<l;i+=4){target=queue[i];method=queue[i+1];args=queue[i+2];stack=queue[i+3];if(args&&args.length>0){if(onError){try{method.apply(target,args)}catch(e){onError(e)}}else{method.apply(target,args)}}else{if(onError){try{method.call(target)}catch(e){onError(e)}}else{method.call(target)}}}if(l&&after){after()}if(queue.length>l){this._queue=queue.slice(l);this.flush()}else{this._queue.length=0}},cancel:function(actionToCancel){var queue=this._queue,currentTarget,currentMethod,i,l;for(i=0,l=queue.length;i<l;i+=4){currentTarget=queue[i];currentMethod=queue[i+1];if(currentTarget===actionToCancel.target&&currentMethod===actionToCancel.method){queue.splice(i,4);return true}}queue=this._queueBeingFlushed;if(!queue){return}for(i=0,l=queue.length;i<l;i+=4){currentTarget=queue[i];currentMethod=queue[i+1];if(currentTarget===actionToCancel.target&&currentMethod===actionToCancel.method){queue[i+1]=null;return true}}}};__exports__.Queue=Queue});define("backburner/utils",["exports"],function(__exports__){"use strict";__exports__["default"]={each:function(collection,callback){for(var i=0;i<collection.length;i++){callback(collection[i])}},isString:function(suspect){return typeof suspect==="string"},isFunction:function(suspect){return typeof suspect==="function"},isNumber:function(suspect){return typeof suspect==="number"}}});define("container",["container/container","exports"],function(__dependency1__,__exports__){"use strict";Ember.MODEL_FACTORY_INJECTIONS=false;if(Ember.ENV&&typeof Ember.ENV.MODEL_FACTORY_INJECTIONS!=="undefined"){Ember.MODEL_FACTORY_INJECTIONS=!!Ember.ENV.MODEL_FACTORY_INJECTIONS}var Container=__dependency1__["default"];__exports__["default"]=Container});define("container/container",["container/inheriting_dict","ember-metal/core","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var InheritingDict=__dependency1__["default"];var Ember=__dependency2__["default"];function Container(parent){this.parent=parent;this.children=[];this.resolver=parent&&parent.resolver||function(){};this.registry=new InheritingDict(parent&&parent.registry);this.cache=new InheritingDict(parent&&parent.cache);this.factoryCache=new InheritingDict(parent&&parent.factoryCache);this.resolveCache=new InheritingDict(parent&&parent.resolveCache);this.typeInjections=new InheritingDict(parent&&parent.typeInjections);this.injections={};this.factoryTypeInjections=new InheritingDict(parent&&parent.factoryTypeInjections);this.factoryInjections={};this._options=new InheritingDict(parent&&parent._options);this._typeOptions=new InheritingDict(parent&&parent._typeOptions)}Container.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var container=new Container(this);this.children.push(container);return container},set:function(object,key,value){object[key]=value},register:function(fullName,factory,options){if(factory===undefined){throw new TypeError("Attempting to register an unknown factory: `"+fullName+"`")}var normalizedName=this.normalize(fullName);if(this.cache.has(normalizedName)){throw new Error("Cannot re-register: `"+fullName+"`, as it has already been looked up.")}this.registry.set(normalizedName,factory);this._options.set(normalizedName,options||{})},unregister:function(fullName){var normalizedName=this.normalize(fullName);this.registry.remove(normalizedName);this.cache.remove(normalizedName);this.factoryCache.remove(normalizedName);this.resolveCache.remove(normalizedName);this._options.remove(normalizedName)},resolve:function(fullName){return resolve(this,this.normalize(fullName))},describe:function(fullName){return fullName},normalize:function(fullName){return fullName},makeToString:function(factory,fullName){return factory.toString()},lookup:function(fullName,options){return lookup(this,this.normalize(fullName),options)},lookupFactory:function(fullName){return factoryFor(this,this.normalize(fullName))},has:function(fullName){return has(this,this.normalize(fullName))},optionsForType:function(type,options){if(this.parent){illegalChildOperation("optionsForType")}this._typeOptions.set(type,options)},options:function(type,options){this.optionsForType(type,options)},typeInjection:function(type,property,fullName){if(this.parent){illegalChildOperation("typeInjection")}var fullNameType=fullName.split(":")[0];if(fullNameType===type){throw new Error("Cannot inject a `"+fullName+"` on other "+type+"(s). Register the `"+fullName+"` as a different type and perform the typeInjection.")}addTypeInjection(this.typeInjections,type,property,fullName)},injection:function(fullName,property,injectionName){if(this.parent){illegalChildOperation("injection")}validateFullName(injectionName);var normalizedInjectionName=this.normalize(injectionName);if(fullName.indexOf(":")===-1){return this.typeInjection(fullName,property,normalizedInjectionName)}var normalizedName=this.normalize(fullName);if(this.cache.has(normalizedName)){throw new Error("Attempted to register an injection for a type that has already been looked up. ('"+normalizedName+"', '"+property+"', '"+injectionName+"')")}addInjection(this.injections,normalizedName,property,normalizedInjectionName)},factoryTypeInjection:function(type,property,fullName){if(this.parent){illegalChildOperation("factoryTypeInjection")}addTypeInjection(this.factoryTypeInjections,type,property,this.normalize(fullName))},factoryInjection:function(fullName,property,injectionName){if(this.parent){illegalChildOperation("injection")}var normalizedName=this.normalize(fullName);var normalizedInjectionName=this.normalize(injectionName);validateFullName(injectionName);if(fullName.indexOf(":")===-1){return this.factoryTypeInjection(normalizedName,property,normalizedInjectionName)}if(this.factoryCache.has(normalizedName)){throw new Error("Attempted to register a factoryInjection for a type that has already "+"been looked up. ('"+normalizedName+"', '"+property+"', '"+injectionName+"')")}addInjection(this.factoryInjections,normalizedName,property,normalizedInjectionName)},destroy:function(){for(var i=0,length=this.children.length;i<length;i++){this.children[i].destroy()}this.children=[];eachDestroyable(this,function(item){item.destroy()});this.parent=undefined;this.isDestroyed=true},reset:function(){for(var i=0,length=this.children.length;i<length;i++){resetCache(this.children[i])}resetCache(this)}};function resolve(container,normalizedName){var cached=container.resolveCache.get(normalizedName);if(cached){return cached}var resolved=container.resolver(normalizedName)||container.registry.get(normalizedName);container.resolveCache.set(normalizedName,resolved);return resolved}function has(container,fullName){if(container.cache.has(fullName)){return true}return!!container.resolve(fullName)}function lookup(container,fullName,options){options=options||{};if(container.cache.has(fullName)&&options.singleton!==false){return container.cache.get(fullName)}var value=instantiate(container,fullName);if(value===undefined){return}if(isSingleton(container,fullName)&&options.singleton!==false){container.cache.set(fullName,value)}return value}function illegalChildOperation(operation){throw new Error(operation+" is not currently supported on child containers")}function isSingleton(container,fullName){var singleton=option(container,fullName,"singleton");return singleton!==false}function buildInjections(container,injections){var hash={};if(!injections){return hash}var injection,injectable;for(var i=0,length=injections.length;i<length;i++){injection=injections[i];injectable=lookup(container,injection.fullName);if(injectable!==undefined){hash[injection.property]=injectable}else{throw new Error("Attempting to inject an unknown injection: `"+injection.fullName+"`")}}return hash}function option(container,fullName,optionName){var options=container._options.get(fullName);if(options&&options[optionName]!==undefined){return options[optionName]}var type=fullName.split(":")[0];options=container._typeOptions.get(type);if(options){return options[optionName]}}function factoryFor(container,fullName){var cache=container.factoryCache;if(cache.has(fullName)){return cache.get(fullName)}var factory=container.resolve(fullName);if(factory===undefined){return}var type=fullName.split(":")[0];if(!factory||typeof factory.extend!=="function"||!Ember.MODEL_FACTORY_INJECTIONS&&type==="model"){return factory}else{var injections=injectionsFor(container,fullName);var factoryInjections=factoryInjectionsFor(container,fullName);factoryInjections._toString=container.makeToString(factory,fullName);var injectedFactory=factory.extend(injections);injectedFactory.reopenClass(factoryInjections);cache.set(fullName,injectedFactory);return injectedFactory}}function injectionsFor(container,fullName){var splitName=fullName.split(":"),type=splitName[0],injections=[];injections=injections.concat(container.typeInjections.get(type)||[]);injections=injections.concat(container.injections[fullName]||[]);injections=buildInjections(container,injections);injections._debugContainerKey=fullName;injections.container=container;return injections}function factoryInjectionsFor(container,fullName){var splitName=fullName.split(":"),type=splitName[0],factoryInjections=[];factoryInjections=factoryInjections.concat(container.factoryTypeInjections.get(type)||[]);factoryInjections=factoryInjections.concat(container.factoryInjections[fullName]||[]);factoryInjections=buildInjections(container,factoryInjections);factoryInjections._debugContainerKey=fullName;return factoryInjections}function instantiate(container,fullName){var factory=factoryFor(container,fullName);if(option(container,fullName,"instantiate")===false){return factory}if(factory){if(typeof factory.create!=="function"){throw new Error("Failed to create an instance of '"+fullName+"'. "+"Most likely an improperly defined class or an invalid module export.")}if(typeof factory.extend==="function"){return factory.create()}else{return factory.create(injectionsFor(container,fullName))}}}function eachDestroyable(container,callback){container.cache.eachLocal(function(key,value){if(option(container,key,"instantiate")===false){return}callback(value)})}function resetCache(container){container.cache.eachLocal(function(key,value){if(option(container,key,"instantiate")===false){return}value.destroy()});container.cache.dict={}}function addTypeInjection(rules,type,property,fullName){var injections=rules.get(type);if(!injections){injections=[];rules.set(type,injections)}injections.push({property:property,fullName:fullName})}var VALID_FULL_NAME_REGEXP=/^[^:]+.+:[^:]+$/;function validateFullName(fullName){if(!VALID_FULL_NAME_REGEXP.test(fullName)){throw new TypeError("Invalid Fullname, expected: `type:name` got: "+fullName)}return true}function addInjection(rules,factoryName,property,injectionName){var injections=rules[factoryName]=rules[factoryName]||[];injections.push({property:property,fullName:injectionName})}__exports__["default"]=Container});define("container/inheriting_dict",["exports"],function(__exports__){"use strict";function InheritingDict(parent){this.parent=parent;this.dict={}}InheritingDict.prototype={parent:null,dict:null,get:function(key){var dict=this.dict;if(dict.hasOwnProperty(key)){return dict[key]}if(this.parent){return this.parent.get(key)}},set:function(key,value){this.dict[key]=value},remove:function(key){delete this.dict[key]},has:function(key){var dict=this.dict;if(dict.hasOwnProperty(key)){return true}if(this.parent){return this.parent.has(key)}return false},eachLocal:function(callback,binding){var dict=this.dict;for(var prop in dict){if(dict.hasOwnProperty(prop)){callback.call(binding,prop,dict[prop])}}}};__exports__["default"]=InheritingDict});define("ember-application",["ember-metal/core","ember-runtime/system/lazy_load","ember-application/system/dag","ember-application/system/resolver","ember-application/system/application","ember-application/ext/controller"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__){"use strict";var Ember=__dependency1__["default"];var runLoadHooks=__dependency2__.runLoadHooks;var DAG=__dependency3__["default"];var Resolver=__dependency4__.Resolver;var DefaultResolver=__dependency4__["default"];var Application=__dependency5__["default"];Ember.Application=Application;Ember.DAG=DAG;Ember.Resolver=Resolver;Ember.DefaultResolver=DefaultResolver;runLoadHooks("Ember.Application",Application)});define("ember-application/ext/controller",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/error","ember-metal/utils","ember-metal/computed","ember-runtime/mixins/controller","ember-routing/system/controller_for","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var EmberError=__dependency4__["default"];var inspect=__dependency5__.inspect;var computed=__dependency6__.computed;var ControllerMixin=__dependency7__["default"];var meta=__dependency5__.meta;var controllerFor=__dependency8__["default"];function verifyNeedsDependencies(controller,container,needs){var dependency,i,l,missing=[];for(i=0,l=needs.length;i<l;i++){dependency=needs[i];if(dependency.indexOf(":")===-1){dependency="controller:"+dependency}if(!container.has(dependency)){missing.push(dependency)}}if(missing.length){throw new EmberError(inspect(controller)+" needs [ "+missing.join(", ")+" ] but "+(missing.length>1?"they":"it")+" could not be found")}}var defaultControllersComputedProperty=computed(function(){var controller=this;return{needs:get(controller,"needs"),container:get(controller,"container"),unknownProperty:function(controllerName){var needs=this.needs,dependency,i,l;for(i=0,l=needs.length;i<l;i++){dependency=needs[i];if(dependency===controllerName){return this.container.lookup("controller:"+controllerName)}}var errorMessage=inspect(controller)+"#needs does not include `"+controllerName+"`. To access the "+controllerName+" controller from "+inspect(controller)+", "+inspect(controller)+" should have a `needs` property that is an array of the controllers it has access to.";throw new ReferenceError(errorMessage)},setUnknownProperty:function(key,value){throw new Error("You cannot overwrite the value of `controllers."+key+"` of "+inspect(controller))}}});ControllerMixin.reopen({concatenatedProperties:["needs"],needs:[],init:function(){var needs=get(this,"needs");var length=get(needs,"length");if(length>0){if(this.container){verifyNeedsDependencies(this,this.container,needs)}get(this,"controllers")}this._super.apply(this,arguments)},controllerFor:function(controllerName){return controllerFor(get(this,"container"),controllerName)},controllers:defaultControllersComputedProperty});__exports__["default"]=ControllerMixin});define("ember-application/system/application",["ember-metal","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/lazy_load","ember-application/system/dag","ember-runtime/system/namespace","ember-runtime/mixins/deferred","ember-application/system/resolver","ember-metal/platform","ember-metal/run_loop","ember-metal/utils","container/container","ember-runtime/controllers/controller","ember-metal/enumerable_utils","ember-runtime/controllers/object_controller","ember-runtime/controllers/array_controller","ember-views/system/event_dispatcher","ember-views/system/jquery","ember-routing/system/route","ember-routing/system/router","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/location/none_location","ember-routing/system/cache","ember-metal/core","ember-handlebars-compiler","ember-application/system/deprecated-container","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__dependency19__,__dependency20__,__dependency21__,__dependency22__,__dependency23__,__dependency24__,__dependency25__,__dependency26__,__dependency27__,__dependency28__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var runLoadHooks=__dependency4__.runLoadHooks;var DAG=__dependency5__["default"];var Namespace=__dependency6__["default"];var DeferredMixin=__dependency7__["default"];var DefaultResolver=__dependency8__["default"];var create=__dependency9__.create;var run=__dependency10__["default"];var canInvoke=__dependency11__.canInvoke;var Container=__dependency12__["default"];var Controller=__dependency13__["default"];var EnumerableUtils=__dependency14__["default"];var ObjectController=__dependency15__["default"];var ArrayController=__dependency16__["default"];var EventDispatcher=__dependency17__["default"];var jQuery=__dependency18__["default"];var Route=__dependency19__["default"];var Router=__dependency20__["default"];var HashLocation=__dependency21__["default"];var HistoryLocation=__dependency22__["default"];var AutoLocation=__dependency23__["default"];var NoneLocation=__dependency24__["default"];var BucketCache=__dependency25__["default"];var K=__dependency26__.K;var EmberHandlebars=__dependency27__["default"];var DeprecatedContainer=__dependency28__["default"];var ContainerDebugAdapter;var Application=Namespace.extend(DeferredMixin,{rootElement:"body",eventDispatcher:null,customEvents:null,_readinessDeferrals:1,init:function(){if(!this.$){this.$=jQuery}this.__container__=this.buildContainer();this.Router=this.defaultRouter();this._super();this.scheduleInitialize();Ember.libraries.registerCoreLibrary("Handlebars",EmberHandlebars.VERSION);Ember.libraries.registerCoreLibrary("jQuery",jQuery().jquery);if(Ember.LOG_VERSION){Ember.LOG_VERSION=false;var nameLengths=EnumerableUtils.map(Ember.libraries,function(item){return get(item,"name.length")});var maxNameLength=Math.max.apply(this,nameLengths);Ember.libraries.each(function(name,version){var spaces=new Array(maxNameLength-name.length+1).join(" ")})}},buildContainer:function(){var container=this.__container__=Application.buildContainer(this);return container},defaultRouter:function(){if(this.Router===false){return}var container=this.__container__;if(this.Router){container.unregister("router:main");
2
2
  container.register("router:main",this.Router)}return container.lookupFactory("router:main")},scheduleInitialize:function(){var self=this;if(!this.$||this.$.isReady){run.schedule("actions",self,"_initialize")}else{this.$().ready(function runInitialize(){run(self,"_initialize")})}},deferReadiness:function(){this._readinessDeferrals++},advanceReadiness:function(){this._readinessDeferrals--;if(this._readinessDeferrals===0){run.once(this,this.didBecomeReady)}},register:function(){var container=this.__container__;container.register.apply(container,arguments)},inject:function(){var container=this.__container__;container.injection.apply(container,arguments)},initialize:function(){},_initialize:function(){if(this.isDestroyed){return}if(this.Router){var container=this.__container__;container.unregister("router:main");container.register("router:main",this.Router)}this.runInitializers();runLoadHooks("application",this);this.advanceReadiness();return this},reset:function(){this._readinessDeferrals=1;function handleReset(){var router=this.__container__.lookup("router:main");router.reset();run(this.__container__,"destroy");this.buildContainer();run.schedule("actions",this,function(){this._initialize()})}run.join(this,handleReset)},runInitializers:function(){var initializers=get(this.constructor,"initializers");var container=this.__container__;var graph=new DAG;var namespace=this;var name,initializer;for(name in initializers){initializer=initializers[name];graph.addEdges(initializer.name,initializer.initialize,initializer.before,initializer.after)}graph.topsort(function(vertex){var initializer=vertex.value;initializer(container,namespace)})},didBecomeReady:function(){this.setupEventDispatcher();this.ready();this.startRouting();if(!Ember.testing){Ember.Namespace.processAll();Ember.BOOTED=true}this.resolve(this)},setupEventDispatcher:function(){var customEvents=get(this,"customEvents");var rootElement=get(this,"rootElement");var dispatcher=this.__container__.lookup("event_dispatcher:main");set(this,"eventDispatcher",dispatcher);dispatcher.setup(customEvents,rootElement)},startRouting:function(){var router=this.__container__.lookup("router:main");if(!router){return}router.startRouting()},handleURL:function(url){var router=this.__container__.lookup("router:main");router.handleURL(url)},ready:K,resolver:null,Resolver:null,willDestroy:function(){Ember.BOOTED=false;this.__container__.lookup("router:main").reset();this.__container__.destroy()},initializer:function(options){this.constructor.initializer(options)}});Application.reopenClass({initializers:{},initializer:function(initializer){if(this.superclass.initializers!==undefined&&this.superclass.initializers===this.initializers){this.reopenClass({initializers:create(this.initializers)})}this.initializers[initializer.name]=initializer},buildContainer:function(namespace){var container=new Container;Container.defaultContainer=new DeprecatedContainer(container);container.set=set;container.resolver=resolverFor(namespace);container.normalize=container.resolver.normalize;container.describe=container.resolver.describe;container.makeToString=container.resolver.makeToString;container.optionsForType("component",{singleton:false});container.optionsForType("view",{singleton:false});container.optionsForType("template",{instantiate:false});container.optionsForType("helper",{instantiate:false});container.register("application:main",namespace,{instantiate:false});container.register("controller:basic",Controller,{instantiate:false});container.register("controller:object",ObjectController,{instantiate:false});container.register("controller:array",ArrayController,{instantiate:false});container.register("route:basic",Route,{instantiate:false});container.register("event_dispatcher:main",EventDispatcher);container.register("router:main",Router);container.injection("router:main","namespace","application:main");container.register("location:auto",AutoLocation);container.register("location:hash",HashLocation);container.register("location:history",HistoryLocation);container.register("location:none",NoneLocation);container.injection("controller","target","router:main");container.injection("controller","namespace","application:main");container.register("-bucket-cache:main",BucketCache);container.injection("router","_bucketCache","-bucket-cache:main");container.injection("route","_bucketCache","-bucket-cache:main");container.injection("controller","_bucketCache","-bucket-cache:main");container.injection("route","router","router:main");container.injection("location","rootURL","-location-setting:root-url");container.register("resolver-for-debugging:main",container.resolver.__resolver__,{instantiate:false});container.injection("container-debug-adapter:main","resolver","resolver-for-debugging:main");container.injection("data-adapter:main","containerDebugAdapter","container-debug-adapter:main");if(!ContainerDebugAdapter){ContainerDebugAdapter=requireModule("ember-extension-support/container_debug_adapter")["default"]}container.register("container-debug-adapter:main",ContainerDebugAdapter);return container}});function resolverFor(namespace){if(namespace.get("resolver")){}var ResolverClass=namespace.get("resolver")||namespace.get("Resolver")||DefaultResolver;var resolver=ResolverClass.create({namespace:namespace});function resolve(fullName){return resolver.resolve(fullName)}resolve.describe=function(fullName){return resolver.lookupDescription(fullName)};resolve.makeToString=function(factory,fullName){return resolver.makeToString(factory,fullName)};resolve.normalize=function(fullName){if(resolver.normalize){return resolver.normalize(fullName)}else{return fullName}};resolve.__resolver__=resolver;return resolve}__exports__["default"]=Application});define("ember-application/system/dag",["ember-metal/error","exports"],function(__dependency1__,__exports__){"use strict";var EmberError=__dependency1__["default"];function visit(vertex,fn,visited,path){var name=vertex.name;var vertices=vertex.incoming;var names=vertex.incomingNames;var len=names.length;var i;if(!visited){visited={}}if(!path){path=[]}if(visited.hasOwnProperty(name)){return}path.push(name);visited[name]=true;for(i=0;i<len;i++){visit(vertices[names[i]],fn,visited,path)}fn(vertex,path);path.pop()}function DAG(){this.names=[];this.vertices={}}DAG.prototype.add=function(name){if(!name){return}if(this.vertices.hasOwnProperty(name)){return this.vertices[name]}var vertex={name:name,incoming:{},incomingNames:[],hasOutgoing:false,value:null};this.vertices[name]=vertex;this.names.push(name);return vertex};DAG.prototype.map=function(name,value){this.add(name).value=value};DAG.prototype.addEdge=function(fromName,toName){if(!fromName||!toName||fromName===toName){return}var from=this.add(fromName),to=this.add(toName);if(to.incoming.hasOwnProperty(fromName)){return}function checkCycle(vertex,path){if(vertex.name===toName){throw new EmberError("cycle detected: "+toName+" <- "+path.join(" <- "))}}visit(from,checkCycle);from.hasOutgoing=true;to.incoming[fromName]=from;to.incomingNames.push(fromName)};DAG.prototype.topsort=function(fn){var visited={};var vertices=this.vertices;var names=this.names;var len=names.length;var i,vertex;for(i=0;i<len;i++){vertex=vertices[names[i]];if(!vertex.hasOutgoing){visit(vertex,fn,visited)}}};DAG.prototype.addEdges=function(name,value,before,after){var i;this.map(name,value);if(before){if(typeof before==="string"){this.addEdge(name,before)}else{for(i=0;i<before.length;i++){this.addEdge(name,before[i])}}}if(after){if(typeof after==="string"){this.addEdge(after,name)}else{for(i=0;i<after.length;i++){this.addEdge(after[i],name)}}}};__exports__["default"]=DAG});define("ember-application/system/deprecated-container",["exports"],function(__exports__){"use strict";function DeprecatedContainer(container){this._container=container}DeprecatedContainer.deprecate=function(method){return function(){var container=this._container;return container[method].apply(container,arguments)}};DeprecatedContainer.prototype={_container:null,lookup:DeprecatedContainer.deprecate("lookup"),resolve:DeprecatedContainer.deprecate("resolve"),register:DeprecatedContainer.deprecate("register")};__exports__["default"]=DeprecatedContainer});define("ember-application/system/resolver",["ember-metal/core","ember-metal/property_get","ember-metal/logger","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/system/namespace","ember-handlebars","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var Logger=__dependency3__["default"];var classify=__dependency4__.classify;var capitalize=__dependency4__.capitalize;var decamelize=__dependency4__.decamelize;var EmberObject=__dependency5__["default"];var Namespace=__dependency6__["default"];var EmberHandlebars=__dependency7__["default"];var Resolver=EmberObject.extend({namespace:null,normalize:Ember.required(Function),resolve:Ember.required(Function),parseName:Ember.required(Function),lookupDescription:Ember.required(Function),makeToString:Ember.required(Function),resolveOther:Ember.required(Function),_logLookup:Ember.required(Function)});__exports__.Resolver=Resolver;__exports__["default"]=EmberObject.extend({namespace:null,normalize:function(fullName){var split=fullName.split(":",2),type=split[0],name=split[1];if(type!=="template"){var result=name;if(result.indexOf(".")>-1){result=result.replace(/\.(.)/g,function(m){return m.charAt(1).toUpperCase()})}if(name.indexOf("_")>-1){result=result.replace(/_(.)/g,function(m){return m.charAt(1).toUpperCase()})}return type+":"+result}else{return fullName}},resolve:function(fullName){var parsedName=this.parseName(fullName),resolveMethodName=parsedName.resolveMethodName,resolved;if(!(parsedName.name&&parsedName.type)){throw new TypeError("Invalid fullName: `"+fullName+"`, must be of the form `type:name` ")}if(this[resolveMethodName]){resolved=this[resolveMethodName](parsedName)}if(!resolved){resolved=this.resolveOther(parsedName)}if(parsedName.root&&parsedName.root.LOG_RESOLVER){this._logLookup(resolved,parsedName)}return resolved},parseName:function(fullName){var nameParts=fullName.split(":"),type=nameParts[0],fullNameWithoutType=nameParts[1],name=fullNameWithoutType,namespace=get(this,"namespace"),root=namespace;if(type!=="template"&&name.indexOf("/")!==-1){var parts=name.split("/");name=parts[parts.length-1];var namespaceName=capitalize(parts.slice(0,-1).join("."));root=Namespace.byName(namespaceName)}return{fullName:fullName,type:type,fullNameWithoutType:fullNameWithoutType,name:name,root:root,resolveMethodName:"resolve"+classify(type)}},lookupDescription:function(fullName){var parsedName=this.parseName(fullName);if(parsedName.type==="template"){return"template at "+parsedName.fullNameWithoutType.replace(/\./g,"/")}var description=parsedName.root+"."+classify(parsedName.name);if(parsedName.type!=="model"){description+=classify(parsedName.type)}return description},makeToString:function(factory,fullName){return factory.toString()},useRouterNaming:function(parsedName){parsedName.name=parsedName.name.replace(/\./g,"_");if(parsedName.name==="basic"){parsedName.name=""}},resolveTemplate:function(parsedName){var templateName=parsedName.fullNameWithoutType.replace(/\./g,"/");if(Ember.TEMPLATES[templateName]){return Ember.TEMPLATES[templateName]}templateName=decamelize(templateName);if(Ember.TEMPLATES[templateName]){return Ember.TEMPLATES[templateName]}},resolveView:function(parsedName){this.useRouterNaming(parsedName);return this.resolveOther(parsedName)},resolveController:function(parsedName){this.useRouterNaming(parsedName);return this.resolveOther(parsedName)},resolveRoute:function(parsedName){this.useRouterNaming(parsedName);return this.resolveOther(parsedName)},resolveModel:function(parsedName){var className=classify(parsedName.name);var factory=get(parsedName.root,className);if(factory){return factory}},resolveHelper:function(parsedName){return this.resolveOther(parsedName)||EmberHandlebars.helpers[parsedName.fullNameWithoutType]},resolveOther:function(parsedName){var className=classify(parsedName.name)+classify(parsedName.type);var factory=get(parsedName.root,className);if(factory){return factory}},_logLookup:function(found,parsedName){var symbol,padding;if(found){symbol="[✓]"}else{symbol="[ ]"}if(parsedName.fullName.length>60){padding="."}else{padding=new Array(60-parsedName.fullName.length).join(".")}Logger.info(symbol,parsedName.fullName,padding,this.lookupDescription(parsedName.fullName))}})});define("ember-extension-support",["ember-metal/core","ember-extension-support/data_adapter","ember-extension-support/container_debug_adapter"],function(__dependency1__,__dependency2__,__dependency3__){"use strict";var Ember=__dependency1__["default"];var DataAdapter=__dependency2__["default"];var ContainerDebugAdapter=__dependency3__["default"];Ember.DataAdapter=DataAdapter;Ember.ContainerDebugAdapter=ContainerDebugAdapter});define("ember-extension-support/container_debug_adapter",["ember-metal/core","ember-runtime/system/native_array","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var emberA=__dependency2__.A;var typeOf=__dependency3__.typeOf;var dasherize=__dependency4__.dasherize;var classify=__dependency4__.classify;var Namespace=__dependency5__["default"];var EmberObject=__dependency6__["default"];__exports__["default"]=EmberObject.extend({container:null,resolver:null,canCatalogEntriesByType:function(type){if(type==="model"||type==="template")return false;return true},catalogEntriesByType:function(type){var namespaces=emberA(Namespace.NAMESPACES),types=emberA(),self=this;var typeSuffixRegex=new RegExp(classify(type)+"$");namespaces.forEach(function(namespace){if(namespace!==Ember){for(var key in namespace){if(!namespace.hasOwnProperty(key)){continue}if(typeSuffixRegex.test(key)){var klass=namespace[key];if(typeOf(klass)==="class"){types.push(dasherize(key.replace(typeSuffixRegex,"")))}}}}});return types}})});define("ember-extension-support/data_adapter",["ember-metal/core","ember-metal/property_get","ember-metal/run_loop","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/native_array","ember-application/system/application","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var run=__dependency3__["default"];var dasherize=__dependency4__.dasherize;var Namespace=__dependency5__["default"];var EmberObject=__dependency6__["default"];var emberA=__dependency7__.A;var Application=__dependency8__["default"];__exports__["default"]=EmberObject.extend({init:function(){this._super();this.releaseMethods=emberA()},container:null,containerDebugAdapter:undefined,attributeLimit:3,releaseMethods:emberA(),getFilters:function(){return emberA()},watchModelTypes:function(typesAdded,typesUpdated){var modelTypes=this.getModelTypes(),self=this,typesToSend,releaseMethods=emberA();typesToSend=modelTypes.map(function(type){var klass=type.klass;var wrapped=self.wrapModelType(klass,type.name);releaseMethods.push(self.observeModelType(klass,typesUpdated));return wrapped});typesAdded(typesToSend);var release=function(){releaseMethods.forEach(function(fn){fn()});self.releaseMethods.removeObject(release)};this.releaseMethods.pushObject(release);return release},_nameToClass:function(type){if(typeof type==="string"){type=this.container.lookupFactory("model:"+type)}return type},watchRecords:function(type,recordsAdded,recordsUpdated,recordsRemoved){var self=this,releaseMethods=emberA(),records=this.getRecords(type),release;var recordUpdated=function(updatedRecord){recordsUpdated([updatedRecord])};var recordsToSend=records.map(function(record){releaseMethods.push(self.observeRecord(record,recordUpdated));return self.wrapRecord(record)});var contentDidChange=function(array,idx,removedCount,addedCount){for(var i=idx;i<idx+addedCount;i++){var record=array.objectAt(i);var wrapped=self.wrapRecord(record);releaseMethods.push(self.observeRecord(record,recordUpdated));recordsAdded([wrapped])}if(removedCount){recordsRemoved(idx,removedCount)}};var observer={didChange:contentDidChange,willChange:Ember.K};records.addArrayObserver(self,observer);release=function(){releaseMethods.forEach(function(fn){fn()});records.removeArrayObserver(self,observer);self.releaseMethods.removeObject(release)};recordsAdded(recordsToSend);this.releaseMethods.pushObject(release);return release},willDestroy:function(){this._super();this.releaseMethods.forEach(function(fn){fn()})},detect:function(klass){return false},columnsForType:function(type){return emberA()},observeModelType:function(type,typesUpdated){var self=this,records=this.getRecords(type);var onChange=function(){typesUpdated([self.wrapModelType(type)])};var observer={didChange:function(){run.scheduleOnce("actions",this,onChange)},willChange:Ember.K};records.addArrayObserver(this,observer);var release=function(){records.removeArrayObserver(self,observer)};return release},wrapModelType:function(type,name){var release,records=this.getRecords(type),typeToSend,self=this;typeToSend={name:name||type.toString(),count:get(records,"length"),columns:this.columnsForType(type),object:type};return typeToSend},getModelTypes:function(){var types,self=this,containerDebugAdapter=this.get("containerDebugAdapter");if(containerDebugAdapter.canCatalogEntriesByType("model")){types=containerDebugAdapter.catalogEntriesByType("model")}else{types=this._getObjectsOnNamespaces()}types=emberA(types).map(function(name){return{klass:self._nameToClass(name),name:name}});types=emberA(types).filter(function(type){return self.detect(type.klass)});return emberA(types)},_getObjectsOnNamespaces:function(){var namespaces=emberA(Namespace.NAMESPACES),types=emberA(),self=this;namespaces.forEach(function(namespace){for(var key in namespace){if(!namespace.hasOwnProperty(key)){continue}if(!self.detect(namespace[key])){continue}var name=dasherize(key);if(!(namespace instanceof Application)&&namespace.toString()){name=namespace+"/"+name}types.push(name)}});return types},getRecords:function(type){return emberA()},wrapRecord:function(record){var recordToSend={object:record},columnValues={},self=this;recordToSend.columnValues=this.getRecordColumnValues(record);recordToSend.searchKeywords=this.getRecordKeywords(record);recordToSend.filterValues=this.getRecordFilterValues(record);recordToSend.color=this.getRecordColor(record);return recordToSend},getRecordColumnValues:function(record){return{}},getRecordKeywords:function(record){return emberA()},getRecordFilterValues:function(record){return{}},getRecordColor:function(record){return null},observeRecord:function(record,recordUpdated){return function(){}}})});define("ember-extension-support/initializers",[],function(){"use strict"});define("ember-handlebars-compiler",["ember-metal/core","exports"],function(__dependency1__,__exports__){"use strict";var Ember=__dependency1__["default"];if(typeof Ember.assert==="undefined"){Ember.assert=function(){}}if(typeof Ember.FEATURES==="undefined"){Ember.FEATURES={isEnabled:function(){}}}var objectCreate=Object.create||function(parent){function F(){}F.prototype=parent;return new F};var View,Component;var Handlebars=Ember.imports&&Ember.imports.Handlebars||this&&this.Handlebars;if(!Handlebars&&typeof require==="function"){Handlebars=require("handlebars")}var EmberHandlebars=Ember.Handlebars=objectCreate(Handlebars);EmberHandlebars.helper=function(name,value){if(!View){View=requireModule("ember-views/views/view")["default"]}if(!Component){Component=requireModule("ember-views/views/component")["default"]}if(View.detect(value)){EmberHandlebars.registerHelper(name,EmberHandlebars.makeViewHelper(value))}else{EmberHandlebars.registerBoundHelper.apply(null,arguments)}};EmberHandlebars.makeViewHelper=function(ViewClass){return function(options){return EmberHandlebars.helpers.view.call(this,ViewClass,options)}};EmberHandlebars.helpers=objectCreate(Handlebars.helpers);EmberHandlebars.Compiler=function(){};if(Handlebars.Compiler){EmberHandlebars.Compiler.prototype=objectCreate(Handlebars.Compiler.prototype)}EmberHandlebars.Compiler.prototype.compiler=EmberHandlebars.Compiler;EmberHandlebars.JavaScriptCompiler=function(){};if(Handlebars.JavaScriptCompiler){EmberHandlebars.JavaScriptCompiler.prototype=objectCreate(Handlebars.JavaScriptCompiler.prototype);EmberHandlebars.JavaScriptCompiler.prototype.compiler=EmberHandlebars.JavaScriptCompiler}EmberHandlebars.JavaScriptCompiler.prototype.namespace="Ember.Handlebars";EmberHandlebars.JavaScriptCompiler.prototype.initializeBuffer=function(){return"''"};EmberHandlebars.JavaScriptCompiler.prototype.appendToBuffer=function(string){return"data.buffer.push("+string+");"};var DOT_LOOKUP_REGEX=/helpers\.(.*?)\)/,BRACKET_STRING_LOOKUP_REGEX=/helpers\['(.*?)'/,INVOCATION_SPLITTING_REGEX=/(.*blockHelperMissing\.call\(.*)(stack[0-9]+)(,.*)/;EmberHandlebars.JavaScriptCompiler.stringifyLastBlockHelperMissingInvocation=function(source){var helperInvocation=source[source.length-1],helperName=(DOT_LOOKUP_REGEX.exec(helperInvocation)||BRACKET_STRING_LOOKUP_REGEX.exec(helperInvocation))[1],matches=INVOCATION_SPLITTING_REGEX.exec(helperInvocation);source[source.length-1]=matches[1]+"'"+helperName+"'"+matches[3]};var stringifyBlockHelperMissing=EmberHandlebars.JavaScriptCompiler.stringifyLastBlockHelperMissingInvocation;var originalBlockValue=EmberHandlebars.JavaScriptCompiler.prototype.blockValue;EmberHandlebars.JavaScriptCompiler.prototype.blockValue=function(){originalBlockValue.apply(this,arguments);stringifyBlockHelperMissing(this.source)};var originalAmbiguousBlockValue=EmberHandlebars.JavaScriptCompiler.prototype.ambiguousBlockValue;EmberHandlebars.JavaScriptCompiler.prototype.ambiguousBlockValue=function(){originalAmbiguousBlockValue.apply(this,arguments);stringifyBlockHelperMissing(this.source)};EmberHandlebars.Compiler.prototype.mustache=function(mustache){if(!(mustache.params.length||mustache.hash)){var id=new Handlebars.AST.IdNode([{part:"_triageMustache"}]);if(!mustache.escaped){mustache.hash=mustache.hash||new Handlebars.AST.HashNode([]);mustache.hash.pairs.push(["unescaped",new Handlebars.AST.StringNode("true")])}mustache=new Handlebars.AST.MustacheNode([id].concat([mustache.id]),mustache.hash,!mustache.escaped)}return Handlebars.Compiler.prototype.mustache.call(this,mustache)};EmberHandlebars.precompile=function(string,asObject){var ast=Handlebars.parse(string);var options={knownHelpers:{action:true,unbound:true,"bind-attr":true,template:true,view:true,_triageMustache:true},data:true,stringParams:true};asObject=asObject===undefined?true:asObject;var environment=(new EmberHandlebars.Compiler).compile(ast,options);return(new EmberHandlebars.JavaScriptCompiler).compile(environment,options,undefined,asObject)};if(Handlebars.compile){EmberHandlebars.compile=function(string){var ast=Handlebars.parse(string);var options={data:true,stringParams:true};var environment=(new EmberHandlebars.Compiler).compile(ast,options);var templateSpec=(new EmberHandlebars.JavaScriptCompiler).compile(environment,options,undefined,true);var template=EmberHandlebars.template(templateSpec);template.isMethod=false;return template}}__exports__["default"]=EmberHandlebars});define("ember-handlebars",["ember-handlebars-compiler","ember-metal/core","ember-runtime/system/lazy_load","ember-handlebars/loader","ember-handlebars/ext","ember-handlebars/string","ember-handlebars/helpers/shared","ember-handlebars/helpers/binding","ember-handlebars/helpers/collection","ember-handlebars/helpers/view","ember-handlebars/helpers/unbound","ember-handlebars/helpers/debug","ember-handlebars/helpers/each","ember-handlebars/helpers/template","ember-handlebars/helpers/partial","ember-handlebars/helpers/yield","ember-handlebars/helpers/loc","ember-handlebars/controls/checkbox","ember-handlebars/controls/select","ember-handlebars/controls/text_area","ember-handlebars/controls/text_field","ember-handlebars/controls/text_support","ember-handlebars/controls","ember-handlebars/component_lookup","ember-handlebars/views/handlebars_bound_view","ember-handlebars/views/metamorph_view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__dependency19__,__dependency20__,__dependency21__,__dependency22__,__dependency23__,__dependency24__,__dependency25__,__dependency26__,__exports__){"use strict";var EmberHandlebars=__dependency1__["default"];var Ember=__dependency2__["default"];var runLoadHooks=__dependency3__.runLoadHooks;var bootstrap=__dependency4__["default"];var normalizePath=__dependency5__.normalizePath;var template=__dependency5__.template;var makeBoundHelper=__dependency5__.makeBoundHelper;var registerBoundHelper=__dependency5__.registerBoundHelper;var resolveHash=__dependency5__.resolveHash;var resolveParams=__dependency5__.resolveParams;var getEscaped=__dependency5__.getEscaped;var handlebarsGet=__dependency5__.handlebarsGet;var evaluateUnboundHelper=__dependency5__.evaluateUnboundHelper;var helperMissingHelper=__dependency5__.helperMissingHelper;var blockHelperMissingHelper=__dependency5__.blockHelperMissingHelper;var resolvePaths=__dependency7__["default"];var bind=__dependency8__.bind;var _triageMustacheHelper=__dependency8__._triageMustacheHelper;var resolveHelper=__dependency8__.resolveHelper;var bindHelper=__dependency8__.bindHelper;var boundIfHelper=__dependency8__.boundIfHelper;var unboundIfHelper=__dependency8__.unboundIfHelper;var withHelper=__dependency8__.withHelper;var ifHelper=__dependency8__.ifHelper;var unlessHelper=__dependency8__.unlessHelper;var bindAttrHelper=__dependency8__.bindAttrHelper;var bindAttrHelperDeprecated=__dependency8__.bindAttrHelperDeprecated;var bindClasses=__dependency8__.bindClasses;var collectionHelper=__dependency9__["default"];var ViewHelper=__dependency10__.ViewHelper;var viewHelper=__dependency10__.viewHelper;var unboundHelper=__dependency11__["default"];var logHelper=__dependency12__.logHelper;var debuggerHelper=__dependency12__.debuggerHelper;var EachView=__dependency13__.EachView;var GroupedEach=__dependency13__.GroupedEach;var eachHelper=__dependency13__.eachHelper;var templateHelper=__dependency14__["default"];var partialHelper=__dependency15__["default"];var yieldHelper=__dependency16__["default"];var locHelper=__dependency17__["default"];var Checkbox=__dependency18__["default"];var Select=__dependency19__.Select;var SelectOption=__dependency19__.SelectOption;var SelectOptgroup=__dependency19__.SelectOptgroup;var TextArea=__dependency20__["default"];var TextField=__dependency21__["default"];var TextSupport=__dependency22__["default"];var inputHelper=__dependency23__.inputHelper;var textareaHelper=__dependency23__.textareaHelper;var ComponentLookup=__dependency24__["default"];var _HandlebarsBoundView=__dependency25__._HandlebarsBoundView;var SimpleHandlebarsView=__dependency25__.SimpleHandlebarsView;var _wrapMap=__dependency26__._wrapMap;var _SimpleMetamorphView=__dependency26__._SimpleMetamorphView;var _MetamorphView=__dependency26__._MetamorphView;var _Metamorph=__dependency26__._Metamorph;EmberHandlebars.bootstrap=bootstrap;EmberHandlebars.template=template;EmberHandlebars.makeBoundHelper=makeBoundHelper;EmberHandlebars.registerBoundHelper=registerBoundHelper;EmberHandlebars.resolveHash=resolveHash;EmberHandlebars.resolveParams=resolveParams;EmberHandlebars.resolveHelper=resolveHelper;EmberHandlebars.get=handlebarsGet;EmberHandlebars.getEscaped=getEscaped;EmberHandlebars.evaluateUnboundHelper=evaluateUnboundHelper;EmberHandlebars.bind=bind;EmberHandlebars.bindClasses=bindClasses;EmberHandlebars.EachView=EachView;EmberHandlebars.GroupedEach=GroupedEach;EmberHandlebars.resolvePaths=resolvePaths;EmberHandlebars.ViewHelper=ViewHelper;EmberHandlebars.normalizePath=normalizePath;Ember.Handlebars=EmberHandlebars;Ember.ComponentLookup=ComponentLookup;Ember._SimpleHandlebarsView=SimpleHandlebarsView;Ember._HandlebarsBoundView=_HandlebarsBoundView;Ember._SimpleMetamorphView=_SimpleMetamorphView;Ember._MetamorphView=_MetamorphView;Ember._Metamorph=_Metamorph;Ember._metamorphWrapMap=_wrapMap;Ember.TextSupport=TextSupport;Ember.Checkbox=Checkbox;Ember.Select=Select;Ember.SelectOption=SelectOption;Ember.SelectOptgroup=SelectOptgroup;Ember.TextArea=TextArea;Ember.TextField=TextField;Ember.TextSupport=TextSupport;EmberHandlebars.registerHelper("helperMissing",helperMissingHelper);EmberHandlebars.registerHelper("blockHelperMissing",blockHelperMissingHelper);EmberHandlebars.registerHelper("bind",bindHelper);EmberHandlebars.registerHelper("boundIf",boundIfHelper);EmberHandlebars.registerHelper("_triageMustache",_triageMustacheHelper);EmberHandlebars.registerHelper("unboundIf",unboundIfHelper);EmberHandlebars.registerHelper("with",withHelper);EmberHandlebars.registerHelper("if",ifHelper);EmberHandlebars.registerHelper("unless",unlessHelper);EmberHandlebars.registerHelper("bind-attr",bindAttrHelper);EmberHandlebars.registerHelper("bindAttr",bindAttrHelperDeprecated);EmberHandlebars.registerHelper("collection",collectionHelper);EmberHandlebars.registerHelper("log",logHelper);EmberHandlebars.registerHelper("debugger",debuggerHelper);EmberHandlebars.registerHelper("each",eachHelper);EmberHandlebars.registerHelper("loc",locHelper);EmberHandlebars.registerHelper("partial",partialHelper);EmberHandlebars.registerHelper("template",templateHelper);EmberHandlebars.registerHelper("yield",yieldHelper);EmberHandlebars.registerHelper("view",viewHelper);EmberHandlebars.registerHelper("unbound",unboundHelper);EmberHandlebars.registerHelper("input",inputHelper);EmberHandlebars.registerHelper("textarea",textareaHelper);runLoadHooks("Ember.Handlebars",EmberHandlebars);__exports__["default"]=EmberHandlebars});define("ember-handlebars/component_lookup",["ember-runtime/system/object","exports"],function(__dependency1__,__exports__){"use strict";var EmberObject=__dependency1__["default"];var ComponentLookup=EmberObject.extend({lookupFactory:function(name,container){container=container||this.container;var fullName="component:"+name,templateFullName="template:components/"+name,templateRegistered=container&&container.has(templateFullName);if(templateRegistered){container.injection(fullName,"layout",templateFullName)}var Component=container.lookupFactory(fullName);if(templateRegistered||Component){if(!Component){container.register(fullName,Ember.Component);Component=container.lookupFactory(fullName)}return Component}}});__exports__["default"]=ComponentLookup});define("ember-handlebars/controls",["ember-handlebars/controls/checkbox","ember-handlebars/controls/text_field","ember-handlebars/controls/text_area","ember-metal/core","ember-handlebars-compiler","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Checkbox=__dependency1__["default"];var TextField=__dependency2__["default"];var TextArea=__dependency3__["default"];var Ember=__dependency4__["default"];var EmberHandlebars=__dependency5__["default"];var helpers=EmberHandlebars.helpers;function inputHelper(options){var hash=options.hash,types=options.hashTypes,inputType=hash.type,onEvent=hash.on;delete hash.type;delete hash.on;if(inputType==="checkbox"){return helpers.view.call(this,Checkbox,options)}else{if(inputType){hash.type=inputType
3
- }hash.onEvent=onEvent||"enter";return helpers.view.call(this,TextField,options)}}__exports__.inputHelper=inputHelper;function textareaHelper(options){var hash=options.hash,types=options.hashTypes;return helpers.view.call(this,TextArea,options)}__exports__.textareaHelper=textareaHelper});define("ember-handlebars/controls/checkbox",["ember-metal/property_get","ember-metal/property_set","ember-views/views/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var View=__dependency3__["default"];__exports__["default"]=View.extend({instrumentDisplay:'{{input type="checkbox"}}',classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","indeterminate","disabled","tabindex","name","autofocus","required","form"],type:"checkbox",checked:false,disabled:false,indeterminate:false,init:function(){this._super();this.on("change",this,this._updateElementValue)},didInsertElement:function(){this._super();get(this,"element").indeterminate=!!get(this,"indeterminate")},_updateElementValue:function(){set(this,"checked",this.$().prop("checked"))}})});define("ember-handlebars/controls/select",["ember-handlebars-compiler","ember-metal/enumerable_utils","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/collection_view","ember-metal/utils","ember-metal/is_none","ember-metal/computed","ember-runtime/system/native_array","ember-metal/mixin","ember-metal/properties","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";var EmberHandlebars=__dependency1__["default"];var forEach=__dependency2__.forEach;var indexOf=__dependency2__.indexOf;var indexesOf=__dependency2__.indexesOf;var replace=__dependency2__.replace;var get=__dependency3__.get;var set=__dependency4__.set;var View=__dependency5__["default"];var CollectionView=__dependency6__["default"];var isArray=__dependency7__.isArray;var isNone=__dependency8__["default"];var computed=__dependency9__.computed;var emberA=__dependency10__.A;var observer=__dependency11__.observer;var defineProperty=__dependency12__.defineProperty;var precompileTemplate=EmberHandlebars.compile;var SelectOption=View.extend({instrumentDisplay:"Ember.SelectOption",tagName:"option",attributeBindings:["value","selected"],defaultTemplate:function(context,options){options={data:options.data,hash:{}};EmberHandlebars.helpers.bind.call(context,"view.label",options)},init:function(){this.labelPathDidChange();this.valuePathDidChange();this._super()},selected:computed(function(){var content=get(this,"content"),selection=get(this,"parentView.selection");if(get(this,"parentView.multiple")){return selection&&indexOf(selection,content.valueOf())>-1}else{return content==selection}}).property("content","parentView.selection"),labelPathDidChange:observer("parentView.optionLabelPath",function(){var labelPath=get(this,"parentView.optionLabelPath");if(!labelPath){return}defineProperty(this,"label",computed(function(){return get(this,labelPath)}).property(labelPath))}),valuePathDidChange:observer("parentView.optionValuePath",function(){var valuePath=get(this,"parentView.optionValuePath");if(!valuePath){return}defineProperty(this,"value",computed(function(){return get(this,valuePath)}).property(valuePath))})});var SelectOptgroup=CollectionView.extend({instrumentDisplay:"Ember.SelectOptgroup",tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"});var Select=View.extend({instrumentDisplay:"Ember.Select",tagName:"select",classNames:["ember-select"],defaultTemplate:Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"];helpers=this.merge(helpers,Ember.Handlebars.helpers);data=data||{};var buffer="",stack1,escapeExpression=this.escapeExpression,self=this;function program1(depth0,data){var buffer="",stack1;data.buffer.push('<option value="">');stack1=helpers._triageMustache.call(depth0,"view.prompt",{hash:{},hashTypes:{},hashContexts:{},contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}data.buffer.push("</option>");return buffer}function program3(depth0,data){var stack1;stack1=helpers.each.call(depth0,"view.groupedContent",{hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(4,program4,data),contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}else{data.buffer.push("")}}function program4(depth0,data){data.buffer.push(escapeExpression(helpers.view.call(depth0,"view.groupView",{hash:{content:"content",label:"label"},hashTypes:{content:"ID",label:"ID"},hashContexts:{content:depth0,label:depth0},contexts:[depth0],types:["ID"],data:data})))}function program6(depth0,data){var stack1;stack1=helpers.each.call(depth0,"view.content",{hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(7,program7,data),contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}else{data.buffer.push("")}}function program7(depth0,data){data.buffer.push(escapeExpression(helpers.view.call(depth0,"view.optionView",{hash:{content:""},hashTypes:{content:"ID"},hashContexts:{content:depth0},contexts:[depth0],types:["ID"],data:data})))}stack1=helpers["if"].call(depth0,"view.prompt",{hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(1,program1,data),contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}stack1=helpers["if"].call(depth0,"view.optionGroupPath",{hash:{},hashTypes:{},hashContexts:{},inverse:self.program(6,program6,data),fn:self.program(3,program3,data),contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}return buffer}),attributeBindings:["multiple","disabled","tabindex","name","required","autofocus","form","size"],multiple:false,disabled:false,required:false,content:null,selection:null,value:computed(function(key,value){if(arguments.length===2){return value}var valuePath=get(this,"optionValuePath").replace(/^content\.?/,"");return valuePath?get(this,"selection."+valuePath):get(this,"selection")}).property("selection"),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:SelectOptgroup,groupedContent:computed(function(){var groupPath=get(this,"optionGroupPath");var groupedContent=emberA();var content=get(this,"content")||[];forEach(content,function(item){var label=get(item,groupPath);if(get(groupedContent,"lastObject.label")!==label){groupedContent.pushObject({label:label,content:emberA()})}get(groupedContent,"lastObject.content").push(item)});return groupedContent}).property("optionGroupPath","content.@each"),optionView:SelectOption,_change:function(){if(get(this,"multiple")){this._changeMultiple()}else{this._changeSingle()}},selectionDidChange:observer("selection.@each",function(){var selection=get(this,"selection");if(get(this,"multiple")){if(!isArray(selection)){set(this,"selection",emberA([selection]));return}this._selectionDidChangeMultiple()}else{this._selectionDidChangeSingle()}}),valueDidChange:observer("value",function(){var content=get(this,"content"),value=get(this,"value"),valuePath=get(this,"optionValuePath").replace(/^content\.?/,""),selectedValue=valuePath?get(this,"selection."+valuePath):get(this,"selection"),selection;if(value!==selectedValue){selection=content?content.find(function(obj){return value===(valuePath?get(obj,valuePath):obj)}):null;this.set("selection",selection)}}),_triggerChange:function(){var selection=get(this,"selection");var value=get(this,"value");if(!isNone(selection)){this.selectionDidChange()}if(!isNone(value)){this.valueDidChange()}this._change()},_changeSingle:function(){var selectedIndex=this.$()[0].selectedIndex,content=get(this,"content"),prompt=get(this,"prompt");if(!content||!get(content,"length")){return}if(prompt&&selectedIndex===0){set(this,"selection",null);return}if(prompt){selectedIndex-=1}set(this,"selection",content.objectAt(selectedIndex))},_changeMultiple:function(){var options=this.$("option:selected"),prompt=get(this,"prompt"),offset=prompt?1:0,content=get(this,"content"),selection=get(this,"selection");if(!content){return}if(options){var selectedIndexes=options.map(function(){return this.index-offset}).toArray();var newSelection=content.objectsAt(selectedIndexes);if(isArray(selection)){replace(selection,0,get(selection,"length"),newSelection)}else{set(this,"selection",newSelection)}}},_selectionDidChangeSingle:function(){var el=this.get("element");if(!el){return}var content=get(this,"content"),selection=get(this,"selection"),selectionIndex=content?indexOf(content,selection):-1,prompt=get(this,"prompt");if(prompt){selectionIndex+=1}if(el){el.selectedIndex=selectionIndex}},_selectionDidChangeMultiple:function(){var content=get(this,"content"),selection=get(this,"selection"),selectedIndexes=content?indexesOf(content,selection):[-1],prompt=get(this,"prompt"),offset=prompt?1:0,options=this.$("option"),adjusted;if(options){options.each(function(){adjusted=this.index>-1?this.index-offset:-1;this.selected=indexOf(selectedIndexes,adjusted)>-1})}},init:function(){this._super();this.on("didInsertElement",this,this._triggerChange);this.on("change",this,this._change)}});__exports__["default"]=Select;__exports__.Select=Select;__exports__.SelectOption=SelectOption;__exports__.SelectOptgroup=SelectOptgroup});define("ember-handlebars/controls/text_area",["ember-metal/property_get","ember-views/views/component","ember-handlebars/controls/text_support","ember-metal/mixin","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var get=__dependency1__.get;var Component=__dependency2__["default"];var TextSupport=__dependency3__["default"];var observer=__dependency4__.observer;__exports__["default"]=Component.extend(TextSupport,{instrumentDisplay:"{{textarea}}",classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name","selectionEnd","selectionStart","wrap"],rows:null,cols:null,_updateElementValue:observer("value",function(){var value=get(this,"value"),$el=this.$();if($el&&value!==$el.val()){$el.val(value)}}),init:function(){this._super();this.on("didInsertElement",this,this._updateElementValue)}})});define("ember-handlebars/controls/text_field",["ember-metal/property_get","ember-metal/property_set","ember-views/views/component","ember-handlebars/controls/text_support","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var Component=__dependency3__["default"];var TextSupport=__dependency4__["default"];__exports__["default"]=Component.extend(TextSupport,{instrumentDisplay:'{{input type="text"}}',classNames:["ember-text-field"],tagName:"input",attributeBindings:["type","value","size","pattern","name","min","max","accept","autocomplete","autosave","formaction","formenctype","formmethod","formnovalidate","formtarget","height","inputmode","list","multiple","step","width"],value:"",type:"text",size:null,pattern:null,min:null,max:null})});define("ember-handlebars/controls/text_support",["ember-metal/property_get","ember-metal/property_set","ember-metal/mixin","ember-runtime/mixins/target_action_support","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var Mixin=__dependency3__.Mixin;var TargetActionSupport=__dependency4__["default"];var TextSupport=Mixin.create(TargetActionSupport,{value:"",attributeBindings:["placeholder","disabled","maxlength","tabindex","readonly","autofocus","form","selectionDirection","spellcheck","required","title","autocapitalize","autocorrect"],placeholder:null,disabled:false,maxlength:null,init:function(){this._super();this.on("focusOut",this,this._elementValueDidChange);this.on("change",this,this._elementValueDidChange);this.on("paste",this,this._elementValueDidChange);this.on("cut",this,this._elementValueDidChange);this.on("input",this,this._elementValueDidChange);this.on("keyUp",this,this.interpretKeyEvents)},action:null,onEvent:"enter",bubbles:false,interpretKeyEvents:function(event){var map=TextSupport.KEY_EVENTS;var method=map[event.keyCode];this._elementValueDidChange();if(method){return this[method](event)}},_elementValueDidChange:function(){set(this,"value",this.$().val())},insertNewline:function(event){sendAction("enter",this,event);sendAction("insert-newline",this,event)},cancel:function(event){sendAction("escape-press",this,event)},focusIn:function(event){sendAction("focus-in",this,event)},focusOut:function(event){sendAction("focus-out",this,event)},keyPress:function(event){sendAction("key-press",this,event)}});TextSupport.KEY_EVENTS={13:"insertNewline",27:"cancel"};function sendAction(eventName,view,event){var action=get(view,eventName),on=get(view,"onEvent"),value=get(view,"value");if(on===eventName||on==="keyPress"&&eventName==="key-press"){view.sendAction("action",value)}view.sendAction(eventName,value);if(action||on===eventName){if(!get(view,"bubbles")){event.stopPropagation()}}}__exports__["default"]=TextSupport});define("ember-handlebars/ext",["ember-metal/core","ember-runtime/system/string","ember-handlebars-compiler","ember-metal/property_get","ember-metal/binding","ember-metal/error","ember-metal/mixin","ember-metal/is_empty","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var fmt=__dependency2__.fmt;var EmberHandlebars=__dependency3__["default"];var helpers=EmberHandlebars.helpers;var get=__dependency4__.get;var isGlobalPath=__dependency5__.isGlobalPath;var EmberError=__dependency6__["default"];var IS_BINDING=__dependency7__.IS_BINDING;var resolveHelper,SimpleHandlebarsView;var isEmpty=__dependency8__["default"];var slice=[].slice,originalTemplate=EmberHandlebars.template;function normalizePath(root,path,data){var keywords=data&&data.keywords||{},keyword,isKeyword;keyword=path.split(".",1)[0];if(keywords.hasOwnProperty(keyword)){root=keywords[keyword];isKeyword=true;if(path===keyword){path=""}else{path=path.substr(keyword.length+1)}}return{root:root,path:path,isKeyword:isKeyword}}function handlebarsGet(root,path,options){var data=options&&options.data,normalizedPath=normalizePath(root,path,data),value;root=normalizedPath.root;path=normalizedPath.path;value=get(root,path);if(value===undefined&&root!==Ember.lookup&&isGlobalPath(path)){value=get(Ember.lookup,path)}return value}function getEscaped(root,path,options){var result=handlebarsGet(root,path,options);if(result===null||result===undefined){result=""}else if(!(result instanceof Handlebars.SafeString)){result=String(result)}if(!options.hash.unescaped){result=Handlebars.Utils.escapeExpression(result)}return result}__exports__.getEscaped=getEscaped;function resolveParams(context,params,options){var resolvedParams=[],types=options.types,param,type;for(var i=0,l=params.length;i<l;i++){param=params[i];type=types[i];if(type==="ID"){resolvedParams.push(handlebarsGet(context,param,options))}else{resolvedParams.push(param)}}return resolvedParams}__exports__.resolveParams=resolveParams;function resolveHash(context,hash,options){var resolvedHash={},types=options.hashTypes,type;for(var key in hash){if(!hash.hasOwnProperty(key)){continue}type=types[key];if(type==="ID"){resolvedHash[key]=handlebarsGet(context,hash[key],options)}else{resolvedHash[key]=hash[key]}}return resolvedHash}__exports__.resolveHash=resolveHash;function helperMissingHelper(path){if(!resolveHelper){resolveHelper=requireModule("ember-handlebars/helpers/binding")["resolveHelper"]}var error,view="";var options=arguments[arguments.length-1];var helper=resolveHelper(options.data.view.container,path);if(helper){return helper.apply(this,slice.call(arguments,1))}error="%@ Handlebars error: Could not find property '%@' on object %@.";if(options.data){view=options.data.view}throw new EmberError(fmt(error,[view,path,this]))}__exports__.helperMissingHelper=helperMissingHelper;function blockHelperMissingHelper(path){if(!resolveHelper){resolveHelper=requireModule("ember-handlebars/helpers/binding")["resolveHelper"]}var options=arguments[arguments.length-1];var helper=resolveHelper(options.data.view.container,path);if(helper){return helper.apply(this,slice.call(arguments,1))}else{return helpers.helperMissing.call(this,path)}}__exports__.blockHelperMissingHelper=blockHelperMissingHelper;function registerBoundHelper(name,fn){var boundHelperArgs=slice.call(arguments,1),boundFn=makeBoundHelper.apply(this,boundHelperArgs);EmberHandlebars.registerHelper(name,boundFn)}__exports__.registerBoundHelper=registerBoundHelper;function makeBoundHelper(fn){if(!SimpleHandlebarsView){SimpleHandlebarsView=requireModule("ember-handlebars/views/handlebars_bound_view")["SimpleHandlebarsView"]}var dependentKeys=slice.call(arguments,1);function helper(){var properties=slice.call(arguments,0,-1),numProperties=properties.length,options=arguments[arguments.length-1],normalizedProperties=[],data=options.data,types=data.isUnbound?slice.call(options.types,1):options.types,hash=options.hash,view=data.view,contexts=options.contexts,currentContext=contexts&&contexts.length?contexts[0]:this,prefixPathForDependentKeys="",loc,len,hashOption,boundOption,property,normalizedValue=SimpleHandlebarsView.prototype.normalizedValue;var boundOptions=hash.boundOptions={};for(hashOption in hash){if(IS_BINDING.test(hashOption)){boundOptions[hashOption.slice(0,-7)]=hash[hashOption]}}var watchedProperties=[];data.properties=[];for(loc=0;loc<numProperties;++loc){data.properties.push(properties[loc]);if(types[loc]==="ID"){var normalizedProp=normalizePath(currentContext,properties[loc],data);normalizedProperties.push(normalizedProp);watchedProperties.push(normalizedProp)}else{if(data.isUnbound){normalizedProperties.push({path:properties[loc]})}else{normalizedProperties.push(null)}}}if(data.isUnbound){return evaluateUnboundHelper(this,fn,normalizedProperties,options)}var bindView=new SimpleHandlebarsView(null,null,!options.hash.unescaped,options.data);bindView.normalizedValue=function(){var args=[],boundOption;for(boundOption in boundOptions){if(!boundOptions.hasOwnProperty(boundOption)){continue}property=normalizePath(currentContext,boundOptions[boundOption],data);bindView.path=property.path;bindView.pathRoot=property.root;hash[boundOption]=normalizedValue.call(bindView)}for(loc=0;loc<numProperties;++loc){property=normalizedProperties[loc];if(property){bindView.path=property.path;bindView.pathRoot=property.root;args.push(normalizedValue.call(bindView))}else{args.push(properties[loc])}}args.push(options);return fn.apply(currentContext,args)};view.appendChild(bindView);for(boundOption in boundOptions){if(boundOptions.hasOwnProperty(boundOption)){watchedProperties.push(normalizePath(currentContext,boundOptions[boundOption],data))}}for(loc=0,len=watchedProperties.length;loc<len;++loc){property=watchedProperties[loc];view.registerObserver(property.root,property.path,bindView,bindView.rerender)}if(types[0]!=="ID"||normalizedProperties.length===0){return}var normalized=normalizedProperties[0],pathRoot=normalized.root,path=normalized.path;if(!isEmpty(path)){prefixPathForDependentKeys=path+"."}for(var i=0,l=dependentKeys.length;i<l;i++){view.registerObserver(pathRoot,prefixPathForDependentKeys+dependentKeys[i],bindView,bindView.rerender)}}helper._rawFunction=fn;return helper}function evaluateUnboundHelper(context,fn,normalizedProperties,options){var args=[],hash=options.hash,boundOptions=hash.boundOptions,types=slice.call(options.types,1),loc,len,property,propertyType,boundOption;for(boundOption in boundOptions){if(!boundOptions.hasOwnProperty(boundOption)){continue}hash[boundOption]=handlebarsGet(context,boundOptions[boundOption],options)}for(loc=0,len=normalizedProperties.length;loc<len;++loc){property=normalizedProperties[loc];propertyType=types[loc];if(propertyType==="ID"){args.push(handlebarsGet(property.root,property.path,options))}else{args.push(property.path)}}args.push(options);return fn.apply(context,args)}function template(spec){var t=originalTemplate(spec);t.isTop=true;return t}__exports__.template=template;__exports__.normalizePath=normalizePath;__exports__.makeBoundHelper=makeBoundHelper;__exports__.handlebarsGet=handlebarsGet;__exports__.evaluateUnboundHelper=evaluateUnboundHelper});define("ember-handlebars/helpers/binding",["ember-metal/core","ember-handlebars-compiler","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-runtime/system/string","ember-metal/platform","ember-metal/is_none","ember-metal/enumerable_utils","ember-metal/array","ember-views/views/view","ember-metal/run_loop","ember-metal/observer","ember-metal/binding","ember-views/system/jquery","ember-handlebars/ext","ember-runtime/keys","ember-handlebars/views/handlebars_bound_view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberHandlebars=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var apply=__dependency5__.apply;var uuid=__dependency5__.uuid;var fmt=__dependency6__.fmt;var o_create=__dependency7__.create;var isNone=__dependency8__["default"];var EnumerableUtils=__dependency9__["default"];var forEach=__dependency10__.forEach;var View=__dependency11__["default"];var run=__dependency12__["default"];var removeObserver=__dependency13__.removeObserver;var isGlobalPath=__dependency14__.isGlobalPath;var emberBind=__dependency14__.bind;var jQuery=__dependency15__["default"];var isArray=__dependency5__.isArray;var handlebarsGetEscaped=__dependency16__.getEscaped;var keys=__dependency17__["default"];var _HandlebarsBoundView=__dependency18__._HandlebarsBoundView;var SimpleHandlebarsView=__dependency18__.SimpleHandlebarsView;var normalizePath=__dependency16__.normalizePath;var handlebarsGet=__dependency16__.handlebarsGet;var getEscaped=__dependency16__.getEscaped;var guidFor=__dependency5__.guidFor;var typeOf=__dependency5__.typeOf;var helpers=EmberHandlebars.helpers;var SafeString=EmberHandlebars.SafeString;function exists(value){return!isNone(value)}var WithView=_HandlebarsBoundView.extend({init:function(){var controller;apply(this,this._super,arguments);var keywords=this.templateData.keywords;var keywordName=this.templateHash.keywordName;var keywordPath=this.templateHash.keywordPath;var controllerName=this.templateHash.controller;var preserveContext=this.preserveContext;if(controllerName){var previousContext=this.previousContext;controller=this.container.lookupFactory("controller:"+controllerName).create({parentController:previousContext,target:previousContext});this._generatedController=controller;if(!preserveContext){this.set("controller",controller);this.valueNormalizerFunc=function(result){controller.set("model",result);return controller}}else{var controllerPath=jQuery.expando+guidFor(controller);keywords[controllerPath]=controller;emberBind(keywords,controllerPath+".model",keywordPath);keywordPath=controllerPath}}if(preserveContext){emberBind(keywords,keywordName,keywordPath)}},willDestroy:function(){this._super();if(this._generatedController){this._generatedController.destroy()}}});function bind(property,options,preserveContext,shouldDisplay,valueNormalizer,childProperties){var data=options.data,fn=options.fn,inverse=options.inverse,view=data.view,normalized,observer,i;var currentContext=this||window;normalized=normalizePath(currentContext,property,data);if("object"===typeof this){if(data.insideGroup){observer=function(){while(view._contextView){view=view._contextView}run.once(view,"rerender")};var template,context,result=handlebarsGet(currentContext,property,options);result=valueNormalizer?valueNormalizer(result):result;context=preserveContext?currentContext:result;if(shouldDisplay(result)){template=fn}else if(inverse){template=inverse}template(context,{data:options.data})}else{var viewClass=_HandlebarsBoundView;var viewOptions={preserveContext:preserveContext,shouldDisplayFunc:shouldDisplay,valueNormalizerFunc:valueNormalizer,displayTemplate:fn,inverseTemplate:inverse,path:property,pathRoot:currentContext,previousContext:currentContext,isEscaped:!options.hash.unescaped,templateData:options.data,templateHash:options.hash,helperName:options.helperName};if(options.isWithHelper){viewClass=WithView}var bindView=view.createChildView(viewClass,viewOptions);view.appendChild(bindView);observer=function(){run.scheduleOnce("render",bindView,"rerenderIfNeeded")}}if(normalized.path!==""){view.registerObserver(normalized.root,normalized.path,observer);if(childProperties){for(i=0;i<childProperties.length;i++){view.registerObserver(normalized.root,normalized.path+"."+childProperties[i],observer)}}}}else{data.buffer.push(handlebarsGetEscaped(currentContext,property,options))}}function simpleBind(currentContext,property,options){var data=options.data,view=data.view,normalized,observer,pathRoot,output;normalized=normalizePath(currentContext,property,data);pathRoot=normalized.root;if(pathRoot&&"object"===typeof pathRoot){if(data.insideGroup){observer=function(){while(view._contextView){view=view._contextView}run.once(view,"rerender")};output=handlebarsGetEscaped(currentContext,property,options);data.buffer.push(output)}else{var bindView=new SimpleHandlebarsView(property,currentContext,!options.hash.unescaped,options.data);bindView._parentView=view;view.appendChild(bindView);observer=function(){run.scheduleOnce("render",bindView,"rerender")}}if(normalized.path!==""){view.registerObserver(normalized.root,normalized.path,observer)}}else{output=handlebarsGetEscaped(currentContext,property,options);data.buffer.push(output)}}function shouldDisplayIfHelperContent(result){var truthy=result&&get(result,"isTruthy");if(typeof truthy==="boolean"){return truthy}if(isArray(result)){return get(result,"length")!==0}else{return!!result}}function _triageMustacheHelper(property,options){var helper=EmberHandlebars.resolveHelper(options.data.view.container,property);if(helper){return helper.call(this,options)}return helpers.bind.call(this,property,options)}function resolveHelper(container,name){if(helpers[name]){return helpers[name]}if(!container||name.indexOf("-")===-1){return}var helper=container.lookup("helper:"+name);if(!helper){var componentLookup=container.lookup("component-lookup:main");var Component=componentLookup.lookupFactory(name,container);if(Component){helper=EmberHandlebars.makeViewHelper(Component);container.register("helper:"+name,helper)}}return helper}function bindHelper(property,options){var context=options.contexts&&options.contexts.length?options.contexts[0]:this;if(!options.fn){return simpleBind(context,property,options)}options.helperName="bind";return bind.call(context,property,options,false,exists)}function boundIfHelper(property,fn){var context=fn.contexts&&fn.contexts.length?fn.contexts[0]:this;fn.helperName=fn.helperName||"boundIf";return bind.call(context,property,fn,true,shouldDisplayIfHelperContent,shouldDisplayIfHelperContent,["isTruthy","length"])}function unboundIfHelper(property,fn){var context=fn.contexts&&fn.contexts.length?fn.contexts[0]:this,data=fn.data,template=fn.fn,inverse=fn.inverse,normalized,propertyValue,result;normalized=normalizePath(context,property,data);propertyValue=handlebarsGet(context,property,fn);if(!shouldDisplayIfHelperContent(propertyValue)){template=inverse}template(context,{data:data})}function withHelper(context,options){var bindContext,preserveContext,controller,helperName="with";if(arguments.length===4){var keywordName,path,rootPath,normalized,contextPath;options=arguments[3];keywordName=arguments[2];path=arguments[0];if(path){helperName+=" "+path+" as "+keywordName}var localizedOptions=o_create(options);localizedOptions.data=o_create(options.data);localizedOptions.data.keywords=o_create(options.data.keywords||{});if(isGlobalPath(path)){contextPath=path}else{normalized=normalizePath(this,path,options.data);path=normalized.path;rootPath=normalized.root;var contextKey=jQuery.expando+guidFor(rootPath);localizedOptions.data.keywords[contextKey]=rootPath;contextPath=path?contextKey+"."+path:contextKey}localizedOptions.hash.keywordName=keywordName;localizedOptions.hash.keywordPath=contextPath;bindContext=this;context=path;options=localizedOptions;preserveContext=true}else{helperName+=" "+context;bindContext=options.contexts[0];preserveContext=false}options.helperName=helperName;options.isWithHelper=true;return bind.call(bindContext,context,options,preserveContext,exists)}function ifHelper(context,options){options.helperName=options.helperName||"if "+context;if(options.data.isUnbound){return helpers.unboundIf.call(options.contexts[0],context,options)}else{return helpers.boundIf.call(options.contexts[0],context,options)}}function unlessHelper(context,options){var fn=options.fn,inverse=options.inverse,helperName="unless";if(context){helperName+=" "+context}options.fn=inverse;options.inverse=fn;options.helperName=options.helperName||helperName;if(options.data.isUnbound){return helpers.unboundIf.call(options.contexts[0],context,options)}else{return helpers.boundIf.call(options.contexts[0],context,options)}}function bindAttrHelper(options){var attrs=options.hash;var view=options.data.view;var ret=[];var ctx=this||window;var dataId=uuid();var classBindings=attrs["class"];if(classBindings!=null){var classResults=bindClasses(ctx,classBindings,view,dataId,options);ret.push('class="'+Handlebars.Utils.escapeExpression(classResults.join(" "))+'"');delete attrs["class"]}var attrKeys=keys(attrs);forEach.call(attrKeys,function(attr){var path=attrs[attr],normalized;normalized=normalizePath(ctx,path,options.data);var value=path==="this"?normalized.root:handlebarsGet(ctx,path,options),type=typeOf(value);var observer;observer=function observer(){var result=handlebarsGet(ctx,path,options);var elem=view.$("[data-bindattr-"+dataId+"='"+dataId+"']");if(!elem||elem.length===0){removeObserver(normalized.root,normalized.path,observer);return}View.applyAttributeBindings(elem,attr,result)};if(path!=="this"&&!(normalized.isKeyword&&normalized.path==="")){view.registerObserver(normalized.root,normalized.path,observer)}if(type==="string"||type==="number"&&!isNaN(value)){ret.push(attr+'="'+Handlebars.Utils.escapeExpression(value)+'"')}else if(value&&type==="boolean"){ret.push(attr+'="'+attr+'"')}},this);ret.push("data-bindattr-"+dataId+'="'+dataId+'"');return new SafeString(ret.join(" "))}function bindAttrHelperDeprecated(){return helpers["bind-attr"].apply(this,arguments)}function bindClasses(context,classBindings,view,bindAttrId,options){var ret=[],newClass,value,elem;var classStringForPath=function(root,parsedPath,options){var val,path=parsedPath.path;if(path==="this"){val=root}else if(path===""){val=true}else{val=handlebarsGet(root,path,options)}return View._classStringForValue(path,val,parsedPath.className,parsedPath.falsyClassName)};forEach.call(classBindings.split(" "),function(binding){var oldClass;var observer;var parsedPath=View._parsePropertyPath(binding),path=parsedPath.path,pathRoot=context,normalized;if(path!==""&&path!=="this"){normalized=normalizePath(context,path,options.data);
4
- pathRoot=normalized.root;path=normalized.path}observer=function(){newClass=classStringForPath(context,parsedPath,options);elem=bindAttrId?view.$("[data-bindattr-"+bindAttrId+"='"+bindAttrId+"']"):view.$();if(!elem||elem.length===0){removeObserver(pathRoot,path,observer)}else{if(oldClass){elem.removeClass(oldClass)}if(newClass){elem.addClass(newClass);oldClass=newClass}else{oldClass=null}}};if(path!==""&&path!=="this"){view.registerObserver(pathRoot,path,observer)}value=classStringForPath(context,parsedPath,options);if(value){ret.push(value);oldClass=value}});return ret}__exports__.bind=bind;__exports__._triageMustacheHelper=_triageMustacheHelper;__exports__.resolveHelper=resolveHelper;__exports__.bindHelper=bindHelper;__exports__.boundIfHelper=boundIfHelper;__exports__.unboundIfHelper=unboundIfHelper;__exports__.withHelper=withHelper;__exports__.ifHelper=ifHelper;__exports__.unlessHelper=unlessHelper;__exports__.bindAttrHelper=bindAttrHelper;__exports__.bindAttrHelperDeprecated=bindAttrHelperDeprecated;__exports__.bindClasses=bindClasses});define("ember-handlebars/helpers/collection",["ember-metal/core","ember-metal/utils","ember-handlebars-compiler","ember-runtime/system/string","ember-metal/property_get","ember-handlebars/ext","ember-handlebars/helpers/view","ember-metal/computed","ember-views/views/collection_view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__exports__){"use strict";var Ember=__dependency1__["default"];var inspect=__dependency2__.inspect;var EmberHandlebars=__dependency3__["default"];var helpers=EmberHandlebars.helpers;var fmt=__dependency4__.fmt;var get=__dependency5__.get;var handlebarsGet=__dependency6__.handlebarsGet;var ViewHelper=__dependency7__.ViewHelper;var computed=__dependency8__.computed;var CollectionView=__dependency9__["default"];var alias=computed.alias;function collectionHelper(path,options){if(path&&path.data&&path.data.isRenderData){options=path;path=undefined}else{}var fn=options.fn;var data=options.data;var inverse=options.inverse;var view=options.data.view;var controller,container;var collectionClass;if(path){controller=data.keywords.controller;container=controller&&controller.container;collectionClass=handlebarsGet(this,path,options)||container.lookupFactory("view:"+path)}else{collectionClass=CollectionView}var hash=options.hash,itemHash={},match;var collectionPrototype=collectionClass.proto(),itemViewClass;if(hash.itemView){controller=data.keywords.controller;container=controller.container;itemViewClass=container.lookupFactory("view:"+hash.itemView)}else if(hash.itemViewClass){itemViewClass=handlebarsGet(collectionPrototype,hash.itemViewClass,options)}else{itemViewClass=collectionPrototype.itemViewClass}delete hash.itemViewClass;delete hash.itemView;for(var prop in hash){if(hash.hasOwnProperty(prop)){match=prop.match(/^item(.)(.*)$/);if(match&&prop!=="itemController"){itemHash[match[1].toLowerCase()+match[2]]=hash[prop];delete hash[prop]}}}if(fn){itemHash.template=fn;delete options.fn}var emptyViewClass;if(inverse&&inverse!==EmberHandlebars.VM.noop){emptyViewClass=get(collectionPrototype,"emptyViewClass");emptyViewClass=emptyViewClass.extend({template:inverse,tagName:itemHash.tagName})}else if(hash.emptyViewClass){emptyViewClass=handlebarsGet(this,hash.emptyViewClass,options)}if(emptyViewClass){hash.emptyView=emptyViewClass}if(hash.keyword){itemHash._context=this}else{itemHash._context=alias("content")}var viewOptions=ViewHelper.propertiesFromHTMLOptions({data:data,hash:itemHash},this);hash.itemViewClass=itemViewClass.extend(viewOptions);options.helperName=options.helperName||"collection";return helpers.view.call(this,collectionClass,options)}__exports__["default"]=collectionHelper});define("ember-handlebars/helpers/debug",["ember-metal/core","ember-metal/utils","ember-metal/logger","ember-metal/property_get","ember-handlebars/ext","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var inspect=__dependency2__.inspect;var Logger=__dependency3__["default"];var get=__dependency4__.get;var normalizePath=__dependency5__.normalizePath;var handlebarsGet=__dependency5__.handlebarsGet;var a_slice=[].slice;function logHelper(){var params=a_slice.call(arguments,0,-1),options=arguments[arguments.length-1],logger=Logger.log,values=[],allowPrimitives=true;for(var i=0;i<params.length;i++){var type=options.types[i];if(type==="ID"||!allowPrimitives){var context=options.contexts&&options.contexts[i]||this,normalized=normalizePath(context,params[i],options.data);if(normalized.path==="this"){values.push(normalized.root)}else{values.push(handlebarsGet(normalized.root,normalized.path,options))}}else{values.push(params[i])}}logger.apply(logger,values)}function debuggerHelper(options){var templateContext=this;var typeOfTemplateContext=inspect(templateContext);debugger}__exports__.logHelper=logHelper;__exports__.debuggerHelper=debuggerHelper});define("ember-handlebars/helpers/each",["ember-metal/core","ember-handlebars-compiler","ember-runtime/system/string","ember-metal/property_get","ember-metal/property_set","ember-views/views/collection_view","ember-metal/binding","ember-runtime/mixins/controller","ember-runtime/controllers/array_controller","ember-runtime/mixins/array","ember-runtime/copy","ember-metal/run_loop","ember-metal/events","ember-handlebars/ext","ember-metal/computed","ember-metal/observer","ember-handlebars/views/metamorph_view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__exports__){"use strict";var Ember=__dependency1__["default"];var K=Ember.K;var EmberHandlebars=__dependency2__["default"];var helpers=EmberHandlebars.helpers;var fmt=__dependency3__.fmt;var get=__dependency4__.get;var set=__dependency5__.set;var CollectionView=__dependency6__["default"];var Binding=__dependency7__.Binding;var ControllerMixin=__dependency8__["default"];var ArrayController=__dependency9__["default"];var EmberArray=__dependency10__["default"];var copy=__dependency11__["default"];var run=__dependency12__["default"];var on=__dependency13__.on;var handlebarsGet=__dependency14__.handlebarsGet;var computed=__dependency15__.computed;var addObserver=__dependency16__.addObserver;var removeObserver=__dependency16__.removeObserver;var addBeforeObserver=__dependency16__.addBeforeObserver;var removeBeforeObserver=__dependency16__.removeBeforeObserver;var _Metamorph=__dependency17__._Metamorph;var _MetamorphView=__dependency17__._MetamorphView;var EachView=CollectionView.extend(_Metamorph,{init:function(){var itemController=get(this,"itemController");var binding;if(itemController){var controller=get(this,"controller.container").lookupFactory("controller:array").create({_isVirtual:true,parentController:get(this,"controller"),itemController:itemController,target:get(this,"controller"),_eachView:this});this.disableContentObservers(function(){set(this,"content",controller);binding=new Binding("content","_eachView.dataSource").oneWay();binding.connect(controller)});set(this,"_arrayController",controller)}else{this.disableContentObservers(function(){binding=new Binding("content","dataSource").oneWay();binding.connect(this)})}return this._super()},_assertArrayLike:function(content){},disableContentObservers:function(callback){removeBeforeObserver(this,"content",null,"_contentWillChange");removeObserver(this,"content",null,"_contentDidChange");callback.call(this);addBeforeObserver(this,"content",null,"_contentWillChange");addObserver(this,"content",null,"_contentDidChange")},itemViewClass:_MetamorphView,emptyViewClass:_MetamorphView,createChildView:function(view,attrs){view=this._super(view,attrs);var keyword=get(this,"keyword");var content=get(view,"content");if(keyword){var data=get(view,"templateData");data=copy(data);data.keywords=view.cloneKeywords();set(view,"templateData",data);data.keywords[keyword]=content}if(content&&content.isController){set(view,"controller",content)}return view},destroy:function(){if(!this._super()){return}var arrayController=get(this,"_arrayController");if(arrayController){arrayController.destroy()}return this}});function _addMetamorphCheck(){EachView.reopen({_checkMetamorph:on("didInsertElement",function(){})})}var runInDebug=function(f){f()};var GroupedEach=EmberHandlebars.GroupedEach=function(context,path,options){var self=this,normalized=EmberHandlebars.normalizePath(context,path,options.data);this.context=context;this.path=path;this.options=options;this.template=options.fn;this.containingView=options.data.view;this.normalizedRoot=normalized.root;this.normalizedPath=normalized.path;this.content=this.lookupContent();this.addContentObservers();this.addArrayObservers();this.containingView.on("willClearRender",function(){self.destroy()})};GroupedEach.prototype={contentWillChange:function(){this.removeArrayObservers()},contentDidChange:function(){this.content=this.lookupContent();this.addArrayObservers();this.rerenderContainingView()},contentArrayWillChange:K,contentArrayDidChange:function(){this.rerenderContainingView()},lookupContent:function(){return handlebarsGet(this.normalizedRoot,this.normalizedPath,this.options)},addArrayObservers:function(){if(!this.content){return}this.content.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},removeArrayObservers:function(){if(!this.content){return}this.content.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},addContentObservers:function(){addBeforeObserver(this.normalizedRoot,this.normalizedPath,this,this.contentWillChange);addObserver(this.normalizedRoot,this.normalizedPath,this,this.contentDidChange)},removeContentObservers:function(){removeBeforeObserver(this.normalizedRoot,this.normalizedPath,this.contentWillChange);removeObserver(this.normalizedRoot,this.normalizedPath,this.contentDidChange)},render:function(){if(!this.content){return}var content=this.content,contentLength=get(content,"length"),options=this.options,data=options.data,template=this.template;data.insideEach=true;for(var i=0;i<contentLength;i++){var context=content.objectAt(i);options.data.keywords[options.hash.keyword]=context;template(context,{data:data})}},rerenderContainingView:function(){var self=this;run.scheduleOnce("render",this,function(){if(!self.destroyed){self.containingView.rerender()}})},destroy:function(){this.removeContentObservers();if(this.content){this.removeArrayObservers()}this.destroyed=true}};function eachHelper(path,options){var ctx,helperName="each";if(arguments.length===4){var keywordName=arguments[0];options=arguments[3];path=arguments[2];helperName+=" "+keywordName+" in "+path;if(path===""){path="this"}options.hash.keyword=keywordName}else if(arguments.length===1){options=path;path="this"}else{helperName+=" "+path}options.hash.dataSourceBinding=path;ctx=this||window;options.helperName=options.helperName||helperName;if(options.data.insideGroup&&!options.hash.groupedRows&&!options.hash.itemViewClass){new GroupedEach(ctx,path,options).render()}else{return helpers.collection.call(ctx,"Ember.Handlebars.EachView",options)}}__exports__.EachView=EachView;__exports__.GroupedEach=GroupedEach;__exports__.eachHelper=eachHelper});define("ember-handlebars/helpers/loc",["ember-runtime/system/string","exports"],function(__dependency1__,__exports__){"use strict";var loc=__dependency1__.loc;__exports__["default"]=function locHelper(str){return loc(str)}});define("ember-handlebars/helpers/partial",["ember-metal/core","ember-metal/is_none","ember-handlebars/ext","ember-handlebars/helpers/binding","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var Ember=__dependency1__["default"];var isNone=__dependency2__.isNone;var handlebarsGet=__dependency3__.handlebarsGet;var bind=__dependency4__.bind;__exports__["default"]=function partialHelper(name,options){var context=options.contexts&&options.contexts.length?options.contexts[0]:this;options.helperName=options.helperName||"partial";if(options.types[0]==="ID"){options.fn=function(context,fnOptions){var partialName=handlebarsGet(context,name,fnOptions);renderPartial(context,partialName,fnOptions)};return bind.call(context,name,options,true,exists)}else{renderPartial(context,name,options)}};function exists(value){return!isNone(value)}function renderPartial(context,name,options){var nameParts=name.split("/");var lastPart=nameParts[nameParts.length-1];nameParts[nameParts.length-1]="_"+lastPart;var view=options.data.view;var underscoredName=nameParts.join("/");var template=view.templateForName(underscoredName);var deprecatedTemplate=!template&&view.templateForName(name);template=template||deprecatedTemplate;template(context,{data:options.data})}});define("ember-handlebars/helpers/shared",["ember-handlebars/ext","exports"],function(__dependency1__,__exports__){"use strict";var handlebarsGet=__dependency1__.handlebarsGet;__exports__["default"]=function resolvePaths(options){var ret=[],contexts=options.contexts,roots=options.roots,data=options.data;for(var i=0,l=contexts.length;i<l;i++){ret.push(handlebarsGet(roots[i],contexts[i],{data:data}))}return ret}});define("ember-handlebars/helpers/template",["ember-metal/core","ember-handlebars-compiler","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberHandlebars=__dependency2__["default"];var helpers=EmberHandlebars.helpers;__exports__["default"]=function templateHelper(name,options){options.helperName=options.helperName||"template";return helpers.partial.apply(this,arguments)}});define("ember-handlebars/helpers/unbound",["ember-handlebars-compiler","ember-handlebars/helpers/binding","ember-handlebars/ext","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var EmberHandlebars=__dependency1__["default"];var helpers=EmberHandlebars.helpers;var resolveHelper=__dependency2__.resolveHelper;var handlebarsGet=__dependency3__.handlebarsGet;var slice=[].slice;__exports__["default"]=function unboundHelper(property,fn){var options=arguments[arguments.length-1],container=options.data.view.container,helper,context,out,ctx;ctx=this;if(arguments.length>2){options.data.isUnbound=true;helper=resolveHelper(container,property)||helpers.helperMissing;out=helper.apply(ctx,slice.call(arguments,1));delete options.data.isUnbound;return out}context=fn.contexts&&fn.contexts.length?fn.contexts[0]:ctx;return handlebarsGet(context,property,fn)}});define("ember-handlebars/helpers/view",["ember-metal/core","ember-runtime/system/object","ember-metal/property_get","ember-metal/property_set","ember-metal/mixin","ember-views/system/jquery","ember-views/views/view","ember-metal/binding","ember-handlebars/ext","ember-runtime/system/string","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberObject=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var IS_BINDING=__dependency5__.IS_BINDING;var jQuery=__dependency6__["default"];var View=__dependency7__["default"];var isGlobalPath=__dependency8__.isGlobalPath;var normalizePath=__dependency9__.normalizePath;var handlebarsGet=__dependency9__.handlebarsGet;var EmberString=__dependency10__["default"];var LOWERCASE_A_Z=/^[a-z]/,VIEW_PREFIX=/^view\./;function makeBindings(thisContext,options){var hash=options.hash,hashType=options.hashTypes;for(var prop in hash){if(hashType[prop]==="ID"){var value=hash[prop];if(IS_BINDING.test(prop)){}else{hash[prop+"Binding"]=value;hashType[prop+"Binding"]="STRING";delete hash[prop];delete hashType[prop]}}}if(hash.hasOwnProperty("idBinding")){hash.id=handlebarsGet(thisContext,hash.idBinding,options);hashType.id="STRING";delete hash.idBinding;delete hashType.idBinding}}var ViewHelper=EmberObject.create({propertiesFromHTMLOptions:function(options){var hash=options.hash,data=options.data;var extensions={},classes=hash["class"],dup=false;if(hash.id){extensions.elementId=hash.id;dup=true}if(hash.tag){extensions.tagName=hash.tag;dup=true}if(classes){classes=classes.split(" ");extensions.classNames=classes;dup=true}if(hash.classBinding){extensions.classNameBindings=hash.classBinding.split(" ");dup=true}if(hash.classNameBindings){if(extensions.classNameBindings===undefined)extensions.classNameBindings=[];extensions.classNameBindings=extensions.classNameBindings.concat(hash.classNameBindings.split(" "));dup=true}if(hash.attributeBindings){extensions.attributeBindings=null;dup=true}if(dup){hash=jQuery.extend({},hash);delete hash.id;delete hash.tag;delete hash["class"];delete hash.classBinding}var path;for(var prop in hash){if(!hash.hasOwnProperty(prop)){continue}if(IS_BINDING.test(prop)&&typeof hash[prop]==="string"){path=this.contextualizeBindingPath(hash[prop],data);if(path){hash[prop]=path}}}if(extensions.classNameBindings){for(var b in extensions.classNameBindings){var full=extensions.classNameBindings[b];if(typeof full==="string"){var parsedPath=View._parsePropertyPath(full);path=this.contextualizeBindingPath(parsedPath.path,data);if(path){extensions.classNameBindings[b]=path+parsedPath.classNames}}}}return jQuery.extend(hash,extensions)},contextualizeBindingPath:function(path,data){var normalized=normalizePath(null,path,data);if(normalized.isKeyword){return"templateData.keywords."+path}else if(isGlobalPath(path)){return null}else if(path==="this"||path===""){return"_parentView.context"}else{return"_parentView.context."+path}},helper:function(thisContext,path,options){var data=options.data,fn=options.fn,newView;makeBindings(thisContext,options);if("string"===typeof path){var lookup;if(options.types[0]==="STRING"&&LOWERCASE_A_Z.test(path)&&!VIEW_PREFIX.test(path)){lookup=path}else{newView=handlebarsGet(thisContext,path,options);if(typeof newView==="string"){lookup=newView}}if(lookup){newView=data.view.container.lookupFactory("view:"+lookup)}}else{newView=path}var viewOptions=this.propertiesFromHTMLOptions(options,thisContext);var currentView=data.view;viewOptions.templateData=data;var newViewProto=newView.proto?newView.proto():newView;if(fn){viewOptions.template=fn}if(!newViewProto.controller&&!newViewProto.controllerBinding&&!viewOptions.controller&&!viewOptions.controllerBinding){viewOptions._context=thisContext}if(options.helperName){viewOptions.helperName=options.helperName}currentView.appendChild(newView,viewOptions)}});__exports__.ViewHelper=ViewHelper;function viewHelper(path,options){if(path&&path.data&&path.data.isRenderData){options=path;path=options.data.view.container.lookupFactory("view:default")}options.helperName=options.helperName||"view";return ViewHelper.helper(this,path,options)}__exports__.viewHelper=viewHelper});define("ember-handlebars/helpers/yield",["ember-metal/core","ember-metal/property_get","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;__exports__["default"]=function yieldHelper(options){var view=options.data.view;while(view&&!get(view,"layout")){if(view._contextView){view=view._contextView}else{view=get(view,"_parentView")}}view._yield(this,options)}});define("ember-handlebars/loader",["ember-handlebars/component_lookup","ember-views/system/jquery","ember-metal/error","ember-runtime/system/lazy_load","ember-handlebars-compiler","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var ComponentLookup=__dependency1__["default"];var jQuery=__dependency2__["default"];var EmberError=__dependency3__["default"];var onLoad=__dependency4__.onLoad;var EmberHandlebars=__dependency5__["default"];function bootstrap(ctx){var selectors='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';jQuery(selectors,ctx).each(function(){var script=jQuery(this);var compile=script.attr("type")==="text/x-raw-handlebars"?jQuery.proxy(Handlebars.compile,Handlebars):jQuery.proxy(EmberHandlebars.compile,EmberHandlebars),templateName=script.attr("data-template-name")||script.attr("id")||"application",template=compile(script.html());if(Ember.TEMPLATES[templateName]!==undefined){throw new EmberError('Template named "'+templateName+'" already exists.')}Ember.TEMPLATES[templateName]=template;script.remove()})}function _bootstrap(){bootstrap(jQuery(document))}function registerComponentLookup(container){container.register("component-lookup:main",ComponentLookup)}onLoad("Ember.Application",function(Application){Application.initializer({name:"domTemplates",initialize:_bootstrap});Application.initializer({name:"registerComponentLookup",after:"domTemplates",initialize:registerComponentLookup})});__exports__["default"]=bootstrap});define("ember-handlebars/string",["ember-runtime/system/string","exports"],function(__dependency1__,__exports__){"use strict";var EmberStringUtils=__dependency1__["default"];function htmlSafe(str){return new Handlebars.SafeString(str)}EmberStringUtils.htmlSafe=htmlSafe;if(Ember.EXTEND_PROTOTYPES===true||Ember.EXTEND_PROTOTYPES.String){String.prototype.htmlSafe=function(){return htmlSafe(this)}}__exports__["default"]=htmlSafe});define("ember-handlebars/views/handlebars_bound_view",["ember-handlebars-compiler","ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/merge","ember-metal/run_loop","ember-metal/computed","ember-views/views/view","ember-views/views/states","ember-handlebars/views/metamorph_view","ember-handlebars/ext","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";var EmberHandlebars=__dependency1__["default"];var SafeString=EmberHandlebars.SafeString;var Ember=__dependency2__["default"];var K=Ember.K;var Metamorph=requireModule("metamorph");var EmberError=__dependency3__["default"];var get=__dependency4__.get;var set=__dependency5__.set;var merge=__dependency6__["default"];var run=__dependency7__["default"];var computed=__dependency8__.computed;var View=__dependency9__["default"];var cloneStates=__dependency10__.cloneStates;var states=__dependency10__.states;var viewStates=states;var _MetamorphView=__dependency11__["default"];var handlebarsGet=__dependency12__.handlebarsGet;function SimpleHandlebarsView(path,pathRoot,isEscaped,templateData){this.path=path;this.pathRoot=pathRoot;this.isEscaped=isEscaped;this.templateData=templateData;this.morph=Metamorph();this.state="preRender";this.updateId=null;this._parentView=null;this.buffer=null}SimpleHandlebarsView.prototype={isVirtual:true,isView:true,destroy:function(){if(this.updateId){run.cancel(this.updateId);this.updateId=null}if(this._parentView){this._parentView.removeChild(this)}this.morph=null;this.state="destroyed"},propertyWillChange:K,propertyDidChange:K,normalizedValue:function(){var path=this.path,pathRoot=this.pathRoot,result,templateData;if(path===""){result=pathRoot}else{templateData=this.templateData;result=handlebarsGet(pathRoot,path,{data:templateData})}return result},renderToBuffer:function(buffer){var string="";string+=this.morph.startTag();string+=this.render();string+=this.morph.endTag();buffer.push(string)},render:function(){var escape=this.isEscaped;var result=this.normalizedValue();if(result===null||result===undefined){result=""}else if(!(result instanceof SafeString)){result=String(result)}if(escape){result=Handlebars.Utils.escapeExpression(result)}return result},rerender:function(){switch(this.state){case"preRender":case"destroyed":break;case"inBuffer":throw new EmberError("Something you did tried to replace an {{expression}} before it was inserted into the DOM.");case"hasElement":case"inDOM":this.updateId=run.scheduleOnce("render",this,"update");break}return this},update:function(){this.updateId=null;this.morph.html(this.render())},_transitionTo:function(state){this.state=state}};states=cloneStates(viewStates);merge(states._default,{rerenderIfNeeded:K});merge(states.inDOM,{rerenderIfNeeded:function(view){if(view.normalizedValue()!==view._lastNormalizedValue){view.rerender()}}});var _HandlebarsBoundView=_MetamorphView.extend({instrumentName:"boundHandlebars",_states:states,shouldDisplayFunc:null,preserveContext:false,previousContext:null,displayTemplate:null,inverseTemplate:null,path:null,pathRoot:null,normalizedValue:function(){var path=get(this,"path"),pathRoot=get(this,"pathRoot"),valueNormalizer=get(this,"valueNormalizerFunc"),result,templateData;if(path===""){result=pathRoot}else{templateData=get(this,"templateData");result=handlebarsGet(pathRoot,path,{data:templateData})}return valueNormalizer?valueNormalizer(result):result},rerenderIfNeeded:function(){this.currentState.rerenderIfNeeded(this)},render:function(buffer){var escape=get(this,"isEscaped");var shouldDisplay=get(this,"shouldDisplayFunc"),preserveContext=get(this,"preserveContext"),context=get(this,"previousContext");var inverseTemplate=get(this,"inverseTemplate"),displayTemplate=get(this,"displayTemplate");var result=this.normalizedValue();this._lastNormalizedValue=result;if(shouldDisplay(result)){set(this,"template",displayTemplate);if(preserveContext){set(this,"_context",context)}else{if(displayTemplate){set(this,"_context",result)}else{if(result===null||result===undefined){result=""}else if(!(result instanceof SafeString)){result=String(result)}if(escape){result=Handlebars.Utils.escapeExpression(result)}buffer.push(result);return}}}else if(inverseTemplate){set(this,"template",inverseTemplate);if(preserveContext){set(this,"_context",context)}else{set(this,"_context",result)}}else{set(this,"template",function(){return""})}return this._super(buffer)}});__exports__._HandlebarsBoundView=_HandlebarsBoundView;__exports__.SimpleHandlebarsView=SimpleHandlebarsView});define("ember-handlebars/views/metamorph_view",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-views/views/core_view","ember-views/views/view","ember-metal/mixin","ember-metal/run_loop","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__["default"];var CoreView=__dependency4__["default"];var View=__dependency5__["default"];var Mixin=__dependency6__.Mixin;var run=__dependency7__["default"];var Metamorph=requireModule("metamorph");function notifyMutationListeners(){run.once(View,"notifyMutationListeners")}var DOMManager={remove:function(view){view.morph.remove();notifyMutationListeners()},prepend:function(view,html){view.morph.prepend(html);notifyMutationListeners()},after:function(view,html){view.morph.after(html);notifyMutationListeners()},html:function(view,html){view.morph.html(html);notifyMutationListeners()},replace:function(view){var morph=view.morph;view._transitionTo("preRender");run.schedule("render",this,function renderMetamorphView(){if(view.isDestroying){return}view.clearRenderedChildren();var buffer=view.renderToBuffer();view.invokeRecursively(function(view){view.propertyWillChange("element")});view.triggerRecursively("willInsertElement");morph.replaceWith(buffer.string());view._transitionTo("inDOM");view.invokeRecursively(function(view){view.propertyDidChange("element")});view.triggerRecursively("didInsertElement");notifyMutationListeners()})},empty:function(view){view.morph.html("");notifyMutationListeners()}};var _Metamorph=Mixin.create({isVirtual:true,tagName:"",instrumentName:"metamorph",init:function(){this._super();this.morph=Metamorph()},beforeRender:function(buffer){buffer.push(this.morph.startTag());buffer.pushOpeningTag()},afterRender:function(buffer){buffer.pushClosingTag();buffer.push(this.morph.endTag())},createElement:function(){var buffer=this.renderToBuffer();this.outerHTML=buffer.string();this.clearBuffer()},domManager:DOMManager});__exports__._Metamorph=_Metamorph;var _wrapMap=Metamorph._wrapMap;__exports__._wrapMap=_wrapMap;var _MetamorphView=View.extend(_Metamorph);__exports__._MetamorphView=_MetamorphView;var _SimpleMetamorphView=CoreView.extend(_Metamorph);__exports__._SimpleMetamorphView=_SimpleMetamorphView;__exports__["default"]=View.extend(_Metamorph)});define("ember-metal",["ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__dependency19__,__dependency20__,__dependency21__,__dependency22__,__dependency23__,__dependency24__,__dependency25__,__dependency26__,__dependency27__,__dependency28__,__dependency29__,__dependency30__,__dependency31__,__dependency32__,__exports__){"use strict";var Ember=__dependency1__["default"];var merge=__dependency2__["default"];var instrument=__dependency3__.instrument;var subscribe=__dependency3__.subscribe;var unsubscribe=__dependency3__.unsubscribe;var reset=__dependency3__.reset;var generateGuid=__dependency4__.generateGuid;var GUID_KEY=__dependency4__.GUID_KEY;var GUID_PREFIX=__dependency4__.GUID_PREFIX;var guidFor=__dependency4__.guidFor;var META_DESC=__dependency4__.META_DESC;var EMPTY_META=__dependency4__.EMPTY_META;var meta=__dependency4__.meta;var getMeta=__dependency4__.getMeta;var setMeta=__dependency4__.setMeta;var metaPath=__dependency4__.metaPath;var inspect=__dependency4__.inspect;var typeOf=__dependency4__.typeOf;var tryCatchFinally=__dependency4__.tryCatchFinally;var isArray=__dependency4__.isArray;var makeArray=__dependency4__.makeArray;var canInvoke=__dependency4__.canInvoke;var tryInvoke=__dependency4__.tryInvoke;var tryFinally=__dependency4__.tryFinally;var wrap=__dependency4__.wrap;var apply=__dependency4__.apply;var applyStr=__dependency4__.applyStr;var EmberError=__dependency5__["default"];var EnumerableUtils=__dependency6__["default"];var create=__dependency7__.create;var platform=__dependency7__.platform;var map=__dependency8__.map;var forEach=__dependency8__.forEach;var filter=__dependency8__.filter;var indexOf=__dependency8__.indexOf;var Logger=__dependency9__["default"];var get=__dependency10__.get;var getWithDefault=__dependency10__.getWithDefault;var normalizeTuple=__dependency10__.normalizeTuple;var _getPath=__dependency10__._getPath;var on=__dependency11__.on;var addListener=__dependency11__.addListener;var removeListener=__dependency11__.removeListener;var suspendListener=__dependency11__.suspendListener;var suspendListeners=__dependency11__.suspendListeners;var sendEvent=__dependency11__.sendEvent;
5
- var hasListeners=__dependency11__.hasListeners;var watchedEvents=__dependency11__.watchedEvents;var listenersFor=__dependency11__.listenersFor;var listenersDiff=__dependency11__.listenersDiff;var listenersUnion=__dependency11__.listenersUnion;var ObserverSet=__dependency12__["default"];var propertyWillChange=__dependency13__.propertyWillChange;var propertyDidChange=__dependency13__.propertyDidChange;var overrideChains=__dependency13__.overrideChains;var beginPropertyChanges=__dependency13__.beginPropertyChanges;var endPropertyChanges=__dependency13__.endPropertyChanges;var changeProperties=__dependency13__.changeProperties;var Descriptor=__dependency14__.Descriptor;var defineProperty=__dependency14__.defineProperty;var set=__dependency15__.set;var trySet=__dependency15__.trySet;var OrderedSet=__dependency16__.OrderedSet;var Map=__dependency16__.Map;var MapWithDefault=__dependency16__.MapWithDefault;var getProperties=__dependency17__["default"];var setProperties=__dependency18__["default"];var watchKey=__dependency19__.watchKey;var unwatchKey=__dependency19__.unwatchKey;var flushPendingChains=__dependency20__.flushPendingChains;var removeChainWatcher=__dependency20__.removeChainWatcher;var ChainNode=__dependency20__.ChainNode;var finishChains=__dependency20__.finishChains;var watchPath=__dependency21__.watchPath;var unwatchPath=__dependency21__.unwatchPath;var watch=__dependency22__.watch;var isWatching=__dependency22__.isWatching;var unwatch=__dependency22__.unwatch;var rewatch=__dependency22__.rewatch;var destroy=__dependency22__.destroy;var expandProperties=__dependency23__["default"];var ComputedProperty=__dependency24__.ComputedProperty;var computed=__dependency24__.computed;var cacheFor=__dependency24__.cacheFor;var addObserver=__dependency25__.addObserver;var observersFor=__dependency25__.observersFor;var removeObserver=__dependency25__.removeObserver;var addBeforeObserver=__dependency25__.addBeforeObserver;var _suspendBeforeObserver=__dependency25__._suspendBeforeObserver;var _suspendObserver=__dependency25__._suspendObserver;var _suspendBeforeObservers=__dependency25__._suspendBeforeObservers;var _suspendObservers=__dependency25__._suspendObservers;var beforeObserversFor=__dependency25__.beforeObserversFor;var removeBeforeObserver=__dependency25__.removeBeforeObserver;var IS_BINDING=__dependency26__.IS_BINDING;var mixin=__dependency26__.mixin;var Mixin=__dependency26__.Mixin;var required=__dependency26__.required;var aliasMethod=__dependency26__.aliasMethod;var observer=__dependency26__.observer;var immediateObserver=__dependency26__.immediateObserver;var beforeObserver=__dependency26__.beforeObserver;var Binding=__dependency27__.Binding;var isGlobalPath=__dependency27__.isGlobalPath;var bind=__dependency27__.bind;var oneWay=__dependency27__.oneWay;var run=__dependency28__["default"];var libraries=__dependency29__["default"];var isNone=__dependency30__.isNone;var none=__dependency30__.none;var isEmpty=__dependency31__.isEmpty;var empty=__dependency31__.empty;var isBlank=__dependency32__["default"];var EmberInstrumentation=Ember.Instrumentation={};EmberInstrumentation.instrument=instrument;EmberInstrumentation.subscribe=subscribe;EmberInstrumentation.unsubscribe=unsubscribe;EmberInstrumentation.reset=reset;Ember.instrument=instrument;Ember.subscribe=subscribe;Ember.generateGuid=generateGuid;Ember.GUID_KEY=GUID_KEY;Ember.GUID_PREFIX=GUID_PREFIX;Ember.create=create;Ember.platform=platform;var EmberArrayPolyfills=Ember.ArrayPolyfills={};EmberArrayPolyfills.map=map;EmberArrayPolyfills.forEach=forEach;EmberArrayPolyfills.filter=filter;EmberArrayPolyfills.indexOf=indexOf;Ember.Error=EmberError;Ember.guidFor=guidFor;Ember.META_DESC=META_DESC;Ember.EMPTY_META=EMPTY_META;Ember.meta=meta;Ember.getMeta=getMeta;Ember.setMeta=setMeta;Ember.metaPath=metaPath;Ember.inspect=inspect;Ember.typeOf=typeOf;Ember.tryCatchFinally=tryCatchFinally;Ember.isArray=isArray;Ember.makeArray=makeArray;Ember.canInvoke=canInvoke;Ember.tryInvoke=tryInvoke;Ember.tryFinally=tryFinally;Ember.wrap=wrap;Ember.apply=apply;Ember.applyStr=applyStr;Ember.Logger=Logger;Ember.get=get;Ember.getWithDefault=getWithDefault;Ember.normalizeTuple=normalizeTuple;Ember._getPath=_getPath;Ember.EnumerableUtils=EnumerableUtils;Ember.on=on;Ember.addListener=addListener;Ember.removeListener=removeListener;Ember._suspendListener=suspendListener;Ember._suspendListeners=suspendListeners;Ember.sendEvent=sendEvent;Ember.hasListeners=hasListeners;Ember.watchedEvents=watchedEvents;Ember.listenersFor=listenersFor;Ember.listenersDiff=listenersDiff;Ember.listenersUnion=listenersUnion;Ember._ObserverSet=ObserverSet;Ember.propertyWillChange=propertyWillChange;Ember.propertyDidChange=propertyDidChange;Ember.overrideChains=overrideChains;Ember.beginPropertyChanges=beginPropertyChanges;Ember.endPropertyChanges=endPropertyChanges;Ember.changeProperties=changeProperties;Ember.Descriptor=Descriptor;Ember.defineProperty=defineProperty;Ember.set=set;Ember.trySet=trySet;Ember.OrderedSet=OrderedSet;Ember.Map=Map;Ember.MapWithDefault=MapWithDefault;Ember.getProperties=getProperties;Ember.setProperties=setProperties;Ember.watchKey=watchKey;Ember.unwatchKey=unwatchKey;Ember.flushPendingChains=flushPendingChains;Ember.removeChainWatcher=removeChainWatcher;Ember._ChainNode=ChainNode;Ember.finishChains=finishChains;Ember.watchPath=watchPath;Ember.unwatchPath=unwatchPath;Ember.watch=watch;Ember.isWatching=isWatching;Ember.unwatch=unwatch;Ember.rewatch=rewatch;Ember.destroy=destroy;Ember.expandProperties=expandProperties;Ember.ComputedProperty=ComputedProperty;Ember.computed=computed;Ember.cacheFor=cacheFor;Ember.addObserver=addObserver;Ember.observersFor=observersFor;Ember.removeObserver=removeObserver;Ember.addBeforeObserver=addBeforeObserver;Ember._suspendBeforeObserver=_suspendBeforeObserver;Ember._suspendBeforeObservers=_suspendBeforeObservers;Ember._suspendObserver=_suspendObserver;Ember._suspendObservers=_suspendObservers;Ember.beforeObserversFor=beforeObserversFor;Ember.removeBeforeObserver=removeBeforeObserver;Ember.IS_BINDING=IS_BINDING;Ember.required=required;Ember.aliasMethod=aliasMethod;Ember.observer=observer;Ember.immediateObserver=immediateObserver;Ember.beforeObserver=beforeObserver;Ember.mixin=mixin;Ember.Mixin=Mixin;Ember.oneWay=oneWay;Ember.bind=bind;Ember.Binding=Binding;Ember.isGlobalPath=isGlobalPath;Ember.run=run;Ember.libraries=libraries;Ember.libraries.registerCoreLibrary("Ember",Ember.VERSION);Ember.isNone=isNone;Ember.none=none;Ember.isEmpty=isEmpty;Ember.empty=empty;Ember.isBlank=isBlank;Ember.merge=merge;Ember.onerror=null;if(Ember.__loader.registry["ember-debug"]){requireModule("ember-debug")}__exports__["default"]=Ember});define("ember-metal/array",["exports"],function(__exports__){"use strict";var ArrayPrototype=Array.prototype;var isNativeFunc=function(func){return func&&Function.prototype.toString.call(func).indexOf("[native code]")>-1};var map=isNativeFunc(ArrayPrototype.map)?ArrayPrototype.map:function(fun){if(this===void 0||this===null){throw new TypeError}var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function"){throw new TypeError}var res=new Array(len);var thisp=arguments[1];for(var i=0;i<len;i++){if(i in t){res[i]=fun.call(thisp,t[i],i,t)}}return res};var forEach=isNativeFunc(ArrayPrototype.forEach)?ArrayPrototype.forEach:function(fun){if(this===void 0||this===null){throw new TypeError}var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function"){throw new TypeError}var thisp=arguments[1];for(var i=0;i<len;i++){if(i in t){fun.call(thisp,t[i],i,t)}}};var indexOf=isNativeFunc(ArrayPrototype.indexOf)?ArrayPrototype.indexOf:function(obj,fromIndex){if(fromIndex===null||fromIndex===undefined){fromIndex=0}else if(fromIndex<0){fromIndex=Math.max(0,this.length+fromIndex)}for(var i=fromIndex,j=this.length;i<j;i++){if(this[i]===obj){return i}}return-1};var filter=isNativeFunc(ArrayPrototype.filter)?ArrayPrototype.filter:function(fn,context){var i,value,result=[],length=this.length;for(i=0;i<length;i++){if(this.hasOwnProperty(i)){value=this[i];if(fn.call(context,value,i,this)){result.push(value)}}}return result};if(Ember.SHIM_ES5){if(!ArrayPrototype.map){ArrayPrototype.map=map}if(!ArrayPrototype.forEach){ArrayPrototype.forEach=forEach}if(!ArrayPrototype.filter){ArrayPrototype.filter=filter}if(!ArrayPrototype.indexOf){ArrayPrototype.indexOf=indexOf}}__exports__.map=map;__exports__.forEach=forEach;__exports__.filter=filter;__exports__.indexOf=indexOf});define("ember-metal/binding",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/map","ember-metal/observer","ember-metal/run_loop","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var trySet=__dependency3__.trySet;var guidFor=__dependency4__.guidFor;var Map=__dependency5__.Map;var addObserver=__dependency6__.addObserver;var removeObserver=__dependency6__.removeObserver;var _suspendObserver=__dependency6__._suspendObserver;var run=__dependency7__["default"];Ember.LOG_BINDINGS=false||!!Ember.ENV.LOG_BINDINGS;var IS_GLOBAL=/^([A-Z$]|([0-9][A-Z$]))/;function isGlobalPath(path){return IS_GLOBAL.test(path)}function getWithGlobals(obj,path){return get(isGlobalPath(path)?Ember.lookup:obj,path)}var Binding=function(toPath,fromPath){this._direction="fwd";this._from=fromPath;this._to=toPath;this._directionMap=Map.create()};Binding.prototype={copy:function(){var copy=new Binding(this._to,this._from);if(this._oneWay){copy._oneWay=true}return copy},from:function(path){this._from=path;return this},to:function(path){this._to=path;return this},oneWay:function(){this._oneWay=true;return this},toString:function(){var oneWay=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+guidFor(this)+">("+this._from+" -> "+this._to+")"+oneWay},connect:function(obj){var fromPath=this._from,toPath=this._to;trySet(obj,toPath,getWithGlobals(obj,fromPath));addObserver(obj,fromPath,this,this.fromDidChange);if(!this._oneWay){addObserver(obj,toPath,this,this.toDidChange)}this._readyToSync=true;return this},disconnect:function(obj){var twoWay=!this._oneWay;removeObserver(obj,this._from,this,this.fromDidChange);if(twoWay){removeObserver(obj,this._to,this,this.toDidChange)}this._readyToSync=false;return this},fromDidChange:function(target){this._scheduleSync(target,"fwd")},toDidChange:function(target){this._scheduleSync(target,"back")},_scheduleSync:function(obj,dir){var directionMap=this._directionMap;var existingDir=directionMap.get(obj);if(!existingDir){run.schedule("sync",this,this._sync,obj);directionMap.set(obj,dir)}if(existingDir==="back"&&dir==="fwd"){directionMap.set(obj,"fwd")}},_sync:function(obj){var log=Ember.LOG_BINDINGS;if(obj.isDestroyed||!this._readyToSync){return}var directionMap=this._directionMap;var direction=directionMap.get(obj);var fromPath=this._from,toPath=this._to;directionMap.remove(obj);if(direction==="fwd"){var fromValue=getWithGlobals(obj,this._from);if(log){Ember.Logger.log(" ",this.toString(),"->",fromValue,obj)}if(this._oneWay){trySet(obj,toPath,fromValue)}else{_suspendObserver(obj,toPath,this,this.toDidChange,function(){trySet(obj,toPath,fromValue)})}}else if(direction==="back"){var toValue=get(obj,this._to);if(log){Ember.Logger.log(" ",this.toString(),"<-",toValue,obj)}_suspendObserver(obj,fromPath,this,this.fromDidChange,function(){trySet(isGlobalPath(fromPath)?Ember.lookup:obj,fromPath,toValue)})}}};function mixinProperties(to,from){for(var key in from){if(from.hasOwnProperty(key)){to[key]=from[key]}}}mixinProperties(Binding,{from:function(){var C=this,binding=new C;return binding.from.apply(binding,arguments)},to:function(){var C=this,binding=new C;return binding.to.apply(binding,arguments)},oneWay:function(from,flag){var C=this,binding=new C(null,from);return binding.oneWay(flag)}});function bind(obj,to,from){return new Binding(to,from).connect(obj)}__exports__.bind=bind;function oneWay(obj,to,from){return new Binding(to,from).oneWay().connect(obj)}__exports__.oneWay=oneWay;__exports__.Binding=Binding;__exports__.isGlobalPath=isGlobalPath});define("ember-metal/chains",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/array","ember-metal/watch_key","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var normalizeTuple=__dependency2__.normalizeTuple;var meta=__dependency3__.meta;var META_KEY=__dependency3__.META_KEY;var forEach=__dependency4__.forEach;var watchKey=__dependency5__.watchKey;var unwatchKey=__dependency5__.unwatchKey;var metaFor=meta,warn=Ember.warn,FIRST_KEY=/^([^\.]+)/;function firstKey(path){return path.match(FIRST_KEY)[0]}var pendingQueue=[];function flushPendingChains(){if(pendingQueue.length===0){return}var queue=pendingQueue;pendingQueue=[];forEach.call(queue,function(q){q[0].add(q[1])});warn("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",pendingQueue.length===0)}__exports__.flushPendingChains=flushPendingChains;function addChainWatcher(obj,keyName,node){if(!obj||"object"!==typeof obj){return}var m=metaFor(obj),nodes=m.chainWatchers;if(!m.hasOwnProperty("chainWatchers")){nodes=m.chainWatchers={}}if(!nodes[keyName]){nodes[keyName]=[]}nodes[keyName].push(node);watchKey(obj,keyName,m)}function removeChainWatcher(obj,keyName,node){if(!obj||"object"!==typeof obj){return}var m=obj[META_KEY];if(m&&!m.hasOwnProperty("chainWatchers")){return}var nodes=m&&m.chainWatchers;if(nodes&&nodes[keyName]){nodes=nodes[keyName];for(var i=0,l=nodes.length;i<l;i++){if(nodes[i]===node){nodes.splice(i,1);break}}}unwatchKey(obj,keyName,m)}function ChainNode(parent,key,value){this._parent=parent;this._key=key;this._watching=value===undefined;this._value=value;this._paths={};if(this._watching){this._object=parent.value();if(this._object){addChainWatcher(this._object,this._key,this)}}if(this._parent&&this._parent._key==="@each"){this.value()}}var ChainNodePrototype=ChainNode.prototype;function lazyGet(obj,key){if(!obj)return undefined;var meta=obj[META_KEY];if(meta&&meta.proto===obj)return undefined;if(key==="@each")return get(obj,key);var desc=meta&&meta.descs[key];if(desc&&desc._cacheable){if(key in meta.cache){return meta.cache[key]}else{return undefined}}return get(obj,key)}ChainNodePrototype.value=function(){if(this._value===undefined&&this._watching){var obj=this._parent.value();this._value=lazyGet(obj,this._key)}return this._value};ChainNodePrototype.destroy=function(){if(this._watching){var obj=this._object;if(obj){removeChainWatcher(obj,this._key,this)}this._watching=false}};ChainNodePrototype.copy=function(obj){var ret=new ChainNode(null,null,obj),paths=this._paths,path;for(path in paths){if(paths[path]<=0){continue}ret.add(path)}return ret};ChainNodePrototype.add=function(path){var obj,tuple,key,src,paths;paths=this._paths;paths[path]=(paths[path]||0)+1;obj=this.value();tuple=normalizeTuple(obj,path);if(tuple[0]&&tuple[0]===obj){path=tuple[1];key=firstKey(path);path=path.slice(key.length+1)}else if(!tuple[0]){pendingQueue.push([this,path]);tuple.length=0;return}else{src=tuple[0];key=path.slice(0,0-(tuple[1].length+1));path=tuple[1]}tuple.length=0;this.chain(key,path,src)};ChainNodePrototype.remove=function(path){var obj,tuple,key,src,paths;paths=this._paths;if(paths[path]>0){paths[path]--}obj=this.value();tuple=normalizeTuple(obj,path);if(tuple[0]===obj){path=tuple[1];key=firstKey(path);path=path.slice(key.length+1)}else{src=tuple[0];key=path.slice(0,0-(tuple[1].length+1));path=tuple[1]}tuple.length=0;this.unchain(key,path)};ChainNodePrototype.count=0;ChainNodePrototype.chain=function(key,path,src){var chains=this._chains,node;if(!chains){chains=this._chains={}}node=chains[key];if(!node){node=chains[key]=new ChainNode(this,key,src)}node.count++;if(path){key=firstKey(path);path=path.slice(key.length+1);node.chain(key,path)}};ChainNodePrototype.unchain=function(key,path){var chains=this._chains,node=chains[key];if(path&&path.length>1){key=firstKey(path);path=path.slice(key.length+1);node.unchain(key,path)}node.count--;if(node.count<=0){delete chains[node._key];node.destroy()}};ChainNodePrototype.willChange=function(events){var chains=this._chains;if(chains){for(var key in chains){if(!chains.hasOwnProperty(key)){continue}chains[key].willChange(events)}}if(this._parent){this._parent.chainWillChange(this,this._key,1,events)}};ChainNodePrototype.chainWillChange=function(chain,path,depth,events){if(this._key){path=this._key+"."+path}if(this._parent){this._parent.chainWillChange(this,path,depth+1,events)}else{if(depth>1){events.push(this.value(),path)}path="this."+path;if(this._paths[path]>0){events.push(this.value(),path)}}};ChainNodePrototype.chainDidChange=function(chain,path,depth,events){if(this._key){path=this._key+"."+path}if(this._parent){this._parent.chainDidChange(this,path,depth+1,events)}else{if(depth>1){events.push(this.value(),path)}path="this."+path;if(this._paths[path]>0){events.push(this.value(),path)}}};ChainNodePrototype.didChange=function(events){if(this._watching){var obj=this._parent.value();if(obj!==this._object){removeChainWatcher(this._object,this._key,this);this._object=obj;addChainWatcher(obj,this._key,this)}this._value=undefined;if(this._parent&&this._parent._key==="@each")this.value()}var chains=this._chains;if(chains){for(var key in chains){if(!chains.hasOwnProperty(key)){continue}chains[key].didChange(events)}}if(events===null){return}if(this._parent){this._parent.chainDidChange(this,this._key,1,events)}};function finishChains(obj){var m=obj[META_KEY],chains=m&&m.chains;if(chains){if(chains.value()!==obj){metaFor(obj).chains=chains=chains.copy(obj)}else{chains.didChange(null)}}}__exports__.finishChains=finishChains;__exports__.removeChainWatcher=removeChainWatcher;__exports__.ChainNode=ChainNode});define("ember-metal/computed",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/watching","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/is_empty","ember-metal/is_none","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var meta=__dependency4__.meta;var META_KEY=__dependency4__.META_KEY;var guidFor=__dependency4__.guidFor;var typeOf=__dependency4__.typeOf;var inspect=__dependency4__.inspect;var EnumerableUtils=__dependency5__["default"];var create=__dependency6__.create;var watch=__dependency7__.watch;var unwatch=__dependency7__.unwatch;var expandProperties=__dependency8__["default"];var EmberError=__dependency9__["default"];var Descriptor=__dependency10__.Descriptor;var defineProperty=__dependency10__.defineProperty;var propertyWillChange=__dependency11__.propertyWillChange;var propertyDidChange=__dependency11__.propertyDidChange;var isEmpty=__dependency12__["default"];var isNone=__dependency13__.isNone;var metaFor=meta,a_slice=[].slice,o_create=create;function UNDEFINED(){}var lengthPattern=/\.(length|\[\])$/;function keysForDep(depsMeta,depKey){var keys=depsMeta[depKey];if(!keys){keys=depsMeta[depKey]={}}else if(!depsMeta.hasOwnProperty(depKey)){keys=depsMeta[depKey]=o_create(keys)}return keys}function metaForDeps(meta){return keysForDep(meta,"deps")}function addDependentKeys(desc,obj,keyName,meta){var depKeys=desc._dependentKeys,depsMeta,idx,len,depKey,keys;if(!depKeys)return;depsMeta=metaForDeps(meta);for(idx=0,len=depKeys.length;idx<len;idx++){depKey=depKeys[idx];keys=keysForDep(depsMeta,depKey);keys[keyName]=(keys[keyName]||0)+1;watch(obj,depKey,meta)}}function removeDependentKeys(desc,obj,keyName,meta){var depKeys=desc._dependentKeys,depsMeta,idx,len,depKey,keys;if(!depKeys)return;depsMeta=metaForDeps(meta);for(idx=0,len=depKeys.length;idx<len;idx++){depKey=depKeys[idx];keys=keysForDep(depsMeta,depKey);keys[keyName]=(keys[keyName]||0)-1;unwatch(obj,depKey,meta)}}function ComputedProperty(func,opts){func.__ember_arity__=func.length;this.func=func;this._cacheable=opts&&opts.cacheable!==undefined?opts.cacheable:true;this._dependentKeys=opts&&opts.dependentKeys;this._readOnly=opts&&(opts.readOnly!==undefined||!!opts.readOnly)||false}ComputedProperty.prototype=new Descriptor;var ComputedPropertyPrototype=ComputedProperty.prototype;ComputedPropertyPrototype._dependentKeys=undefined;ComputedPropertyPrototype._suspended=undefined;ComputedPropertyPrototype._meta=undefined;ComputedPropertyPrototype.cacheable=function(aFlag){this._cacheable=aFlag!==false;return this};ComputedPropertyPrototype.volatile=function(){return this.cacheable(false)};ComputedPropertyPrototype.readOnly=function(readOnly){this._readOnly=readOnly===undefined||!!readOnly;return this};ComputedPropertyPrototype.property=function(){var args;var addArg=function(property){args.push(property)};args=[];for(var i=0,l=arguments.length;i<l;i++){expandProperties(arguments[i],addArg)}this._dependentKeys=args;return this};ComputedPropertyPrototype.meta=function(meta){if(arguments.length===0){return this._meta||{}}else{this._meta=meta;return this}};ComputedPropertyPrototype.didChange=function(obj,keyName){if(this._cacheable&&this._suspended!==obj){var meta=metaFor(obj);if(meta.cache[keyName]!==undefined){meta.cache[keyName]=undefined;removeDependentKeys(this,obj,keyName,meta)}}};function finishChains(chainNodes){for(var i=0,l=chainNodes.length;i<l;i++){chainNodes[i].didChange(null)}}ComputedPropertyPrototype.get=function(obj,keyName){var ret,cache,meta,chainNodes;if(this._cacheable){meta=metaFor(obj);cache=meta.cache;var result=cache[keyName];if(result===UNDEFINED){return undefined}else if(result!==undefined){return result}ret=this.func.call(obj,keyName);if(ret===undefined){cache[keyName]=UNDEFINED}else{cache[keyName]=ret}chainNodes=meta.chainWatchers&&meta.chainWatchers[keyName];if(chainNodes){finishChains(chainNodes)}addDependentKeys(this,obj,keyName,meta)}else{ret=this.func.call(obj,keyName)}return ret};ComputedPropertyPrototype.set=function(obj,keyName,value){var cacheable=this._cacheable,func=this.func,meta=metaFor(obj,cacheable),oldSuspended=this._suspended,hadCachedValue=false,cache=meta.cache,funcArgLength,cachedValue,ret;if(this._readOnly){throw new EmberError('Cannot set read-only property "'+keyName+'" on object: '+inspect(obj))}this._suspended=obj;try{if(cacheable&&cache[keyName]!==undefined){cachedValue=cache[keyName];hadCachedValue=true}funcArgLength=func.wrappedFunction?func.wrappedFunction.__ember_arity__:func.__ember_arity__;if(funcArgLength===3){ret=func.call(obj,keyName,value,cachedValue)}else if(funcArgLength===2){ret=func.call(obj,keyName,value)}else{defineProperty(obj,keyName,null,cachedValue);set(obj,keyName,value);return}if(hadCachedValue&&cachedValue===ret){return}var watched=meta.watching[keyName];if(watched){propertyWillChange(obj,keyName)}if(hadCachedValue){cache[keyName]=undefined}if(cacheable){if(!hadCachedValue){addDependentKeys(this,obj,keyName,meta)}if(ret===undefined){cache[keyName]=UNDEFINED}else{cache[keyName]=ret}}if(watched){propertyDidChange(obj,keyName)}}finally{this._suspended=oldSuspended}return ret};ComputedPropertyPrototype.teardown=function(obj,keyName){var meta=metaFor(obj);if(keyName in meta.cache){removeDependentKeys(this,obj,keyName,meta)}if(this._cacheable){delete meta.cache[keyName]}return null};function computed(func){var args;if(arguments.length>1){args=a_slice.call(arguments);func=args.pop()}if(typeof func!=="function"){throw new EmberError("Computed Property declared without a property function")}var cp=new ComputedProperty(func);if(args){cp.property.apply(cp,args)}return cp}function cacheFor(obj,key){var meta=obj[META_KEY],cache=meta&&meta.cache,ret=cache&&cache[key];if(ret===UNDEFINED){return undefined}return ret}cacheFor.set=function(cache,key,value){if(value===undefined){cache[key]=UNDEFINED}else{cache[key]=value}};cacheFor.get=function(cache,key){var ret=cache[key];if(ret===UNDEFINED){return undefined}return ret};cacheFor.remove=function(cache,key){cache[key]=undefined};function getProperties(self,propertyNames){var ret={};for(var i=0;i<propertyNames.length;i++){ret[propertyNames[i]]=get(self,propertyNames[i])}return ret}function registerComputed(name,macro){computed[name]=function(dependentKey){var args=a_slice.call(arguments);return computed(dependentKey,function(){return macro.apply(this,args)})}}function registerComputedWithProperties(name,macro){computed[name]=function(){var properties=a_slice.call(arguments);var computedFunc=computed(function(){return macro.apply(this,[getProperties(this,properties)])});return computedFunc.property.apply(computedFunc,properties)}}computed.empty=function(dependentKey){return computed(dependentKey+".length",function(){return isEmpty(get(this,dependentKey))})};registerComputed("notEmpty",function(dependentKey){return!isEmpty(get(this,dependentKey))});registerComputed("none",function(dependentKey){return isNone(get(this,dependentKey))});registerComputed("not",function(dependentKey){return!get(this,dependentKey)});registerComputed("bool",function(dependentKey){return!!get(this,dependentKey)});registerComputed("match",function(dependentKey,regexp){var value=get(this,dependentKey);return typeof value==="string"?regexp.test(value):false});registerComputed("equal",function(dependentKey,value){return get(this,dependentKey)===value});registerComputed("gt",function(dependentKey,value){return get(this,dependentKey)>value});registerComputed("gte",function(dependentKey,value){return get(this,dependentKey)>=value});registerComputed("lt",function(dependentKey,value){return get(this,dependentKey)<value});registerComputed("lte",function(dependentKey,value){return get(this,dependentKey)<=value});registerComputedWithProperties("and",function(properties){for(var key in properties){if(properties.hasOwnProperty(key)&&!properties[key]){return false}}return true});registerComputedWithProperties("or",function(properties){for(var key in properties){if(properties.hasOwnProperty(key)&&properties[key]){return true}}return false});registerComputedWithProperties("any",function(properties){for(var key in properties){if(properties.hasOwnProperty(key)&&properties[key]){return properties[key]}}return null});registerComputedWithProperties("collect",function(properties){var res=[];for(var key in properties){if(properties.hasOwnProperty(key)){if(isNone(properties[key])){res.push(null)}else{res.push(properties[key])}}}return res});computed.alias=function(dependentKey){return computed(dependentKey,function(key,value){if(arguments.length>1){set(this,dependentKey,value)}return get(this,dependentKey)})};computed.oneWay=function(dependentKey){return computed(dependentKey,function(){return get(this,dependentKey)})};computed.reads=computed.oneWay;computed.readOnly=function(dependentKey){return computed(dependentKey,function(){return get(this,dependentKey)}).readOnly()};computed.defaultTo=function(defaultPath){return computed(function(key,newValue,cachedValue){if(arguments.length===1){return get(this,defaultPath)}return newValue!=null?newValue:get(this,defaultPath)})};computed.deprecatingAlias=function(dependentKey){return computed(dependentKey,function(key,value){if(arguments.length>1){set(this,dependentKey,value);return value}else{return get(this,dependentKey)}})};__exports__.ComputedProperty=ComputedProperty;__exports__.computed=computed;__exports__.cacheFor=cacheFor});define("ember-metal/core",["exports"],function(__exports__){"use strict";if("undefined"===typeof Ember){Ember={}}var imports=Ember.imports=Ember.imports||this;var exports=Ember.exports=Ember.exports||this;var lookup=Ember.lookup=Ember.lookup||this;exports.Em=exports.Ember=Ember;Ember.isNamespace=true;Ember.toString=function(){return"Ember"};Ember.VERSION="1.7.0-beta.1";if(Ember.ENV){}else if("undefined"!==typeof EmberENV){Ember.ENV=EmberENV}else if("undefined"!==typeof ENV){Ember.ENV=ENV}else{Ember.ENV={}}Ember.config=Ember.config||{};if("undefined"===typeof Ember.ENV.DISABLE_RANGE_API){Ember.ENV.DISABLE_RANGE_API=true}if("undefined"===typeof MetamorphENV){exports.MetamorphENV={}}MetamorphENV.DISABLE_RANGE_API=Ember.ENV.DISABLE_RANGE_API;Ember.FEATURES=Ember.ENV.FEATURES||{};Ember.FEATURES.isEnabled=function(feature){var featureValue=Ember.FEATURES[feature];if(Ember.ENV.ENABLE_ALL_FEATURES){return true}else if(featureValue===true||featureValue===false||featureValue===undefined){return featureValue}else if(Ember.ENV.ENABLE_OPTIONAL_FEATURES){return true}else{return false}};Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES;if(typeof Ember.EXTEND_PROTOTYPES==="undefined"){Ember.EXTEND_PROTOTYPES=true}Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==false;Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===false?false:Ember.EXTEND_PROTOTYPES;Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===false?false:true;var K=function(){return this};var K=K;__exports__.K=K;Ember.K=K;if("undefined"===typeof Ember.assert){Ember.assert=Ember.K}if("undefined"===typeof Ember.warn){Ember.warn=Ember.K}if("undefined"===typeof Ember.debug){Ember.debug=Ember.K}if("undefined"===typeof Ember.runInDebug){Ember.runInDebug=Ember.K}if("undefined"===typeof Ember.deprecate){Ember.deprecate=Ember.K}if("undefined"===typeof Ember.deprecateFunc){Ember.deprecateFunc=function(_,func){return func}}__exports__["default"]=Ember});define("ember-metal/enumerable_utils",["ember-metal/array","exports"],function(__dependency1__,__exports__){"use strict";var _filter=__dependency1__.filter;var a_forEach=__dependency1__.forEach;var _indexOf=__dependency1__.indexOf;var _map=__dependency1__.map;var splice=Array.prototype.splice;function map(obj,callback,thisArg){return obj.map?obj.map.call(obj,callback,thisArg):_map.call(obj,callback,thisArg)}__exports__.map=map;function forEach(obj,callback,thisArg){return obj.forEach?obj.forEach.call(obj,callback,thisArg):a_forEach.call(obj,callback,thisArg)}__exports__.forEach=forEach;function filter(obj,callback,thisArg){return obj.filter?obj.filter.call(obj,callback,thisArg):_filter.call(obj,callback,thisArg)}__exports__.filter=filter;function indexOf(obj,element,index){return obj.indexOf?obj.indexOf.call(obj,element,index):_indexOf.call(obj,element,index)}__exports__.indexOf=indexOf;function indexesOf(obj,elements){return elements===undefined?[]:map(elements,function(item){return indexOf(obj,item)})}__exports__.indexesOf=indexesOf;function addObject(array,item){var index=indexOf(array,item);if(index===-1){array.push(item)}}__exports__.addObject=addObject;function removeObject(array,item){var index=indexOf(array,item);if(index!==-1){array.splice(index,1)}}__exports__.removeObject=removeObject;function _replace(array,idx,amt,objects){var args=[].concat(objects),chunk,ret=[],size=6e4,start=idx,ends=amt,count;while(args.length){count=ends>size?size:ends;if(count<=0){count=0}chunk=args.splice(0,size);chunk=[start,count].concat(chunk);start+=size;ends-=count;ret=ret.concat(splice.apply(array,chunk))}return ret}__exports__._replace=_replace;function replace(array,idx,amt,objects){if(array.replace){return array.replace(idx,amt,objects)}else{return _replace(array,idx,amt,objects)}}__exports__.replace=replace;function intersection(array1,array2){var result=[];forEach(array1,function(element){if(indexOf(array2,element)>=0){result.push(element)}});return result}__exports__.intersection=intersection;__exports__["default"]={_replace:_replace,addObject:addObject,filter:filter,forEach:forEach,indexOf:indexOf,indexesOf:indexesOf,intersection:intersection,map:map,removeObject:removeObject,replace:replace}
6
- });define("ember-metal/error",["ember-metal/platform","exports"],function(__dependency1__,__exports__){"use strict";var create=__dependency1__.create;var errorProps=["description","fileName","lineNumber","message","name","number","stack"];function EmberError(){var tmp=Error.apply(this,arguments);if(Error.captureStackTrace){Error.captureStackTrace(this,Ember.Error)}for(var idx=0;idx<errorProps.length;idx++){this[errorProps[idx]]=tmp[errorProps[idx]]}}EmberError.prototype=create(Error.prototype);__exports__["default"]=EmberError});define("ember-metal/events",["ember-metal/core","ember-metal/utils","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var meta=__dependency2__.meta;var META_KEY=__dependency2__.META_KEY;var tryFinally=__dependency2__.tryFinally;var apply=__dependency2__.apply;var applyStr=__dependency2__.applyStr;var create=__dependency3__.create;var a_slice=[].slice,metaFor=meta,ONCE=1,SUSPENDED=2;function indexOf(array,target,method){var index=-1;for(var i=array.length-3;i>=0;i-=3){if(target===array[i]&&method===array[i+1]){index=i;break}}return index}function actionsFor(obj,eventName){var meta=metaFor(obj,true),actions;if(!meta.listeners){meta.listeners={}}if(!meta.hasOwnProperty("listeners")){meta.listeners=create(meta.listeners)}actions=meta.listeners[eventName];if(actions&&!meta.listeners.hasOwnProperty(eventName)){actions=meta.listeners[eventName]=meta.listeners[eventName].slice()}else if(!actions){actions=meta.listeners[eventName]=[]}return actions}function listenersUnion(obj,eventName,otherActions){var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName];if(!actions){return}for(var i=actions.length-3;i>=0;i-=3){var target=actions[i],method=actions[i+1],flags=actions[i+2],actionIndex=indexOf(otherActions,target,method);if(actionIndex===-1){otherActions.push(target,method,flags)}}}__exports__.listenersUnion=listenersUnion;function listenersDiff(obj,eventName,otherActions){var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName],diffActions=[];if(!actions){return}for(var i=actions.length-3;i>=0;i-=3){var target=actions[i],method=actions[i+1],flags=actions[i+2],actionIndex=indexOf(otherActions,target,method);if(actionIndex!==-1){continue}otherActions.push(target,method,flags);diffActions.push(target,method,flags)}return diffActions}__exports__.listenersDiff=listenersDiff;function addListener(obj,eventName,target,method,once){if(!method&&"function"===typeof target){method=target;target=null}var actions=actionsFor(obj,eventName),actionIndex=indexOf(actions,target,method),flags=0;if(once)flags|=ONCE;if(actionIndex!==-1){return}actions.push(target,method,flags);if("function"===typeof obj.didAddListener){obj.didAddListener(eventName,target,method)}}__exports__.addListener=addListener;function removeListener(obj,eventName,target,method){if(!method&&"function"===typeof target){method=target;target=null}function _removeListener(target,method){var actions=actionsFor(obj,eventName),actionIndex=indexOf(actions,target,method);if(actionIndex===-1){return}actions.splice(actionIndex,3);if("function"===typeof obj.didRemoveListener){obj.didRemoveListener(eventName,target,method)}}if(method){_removeListener(target,method)}else{var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName];if(!actions){return}for(var i=actions.length-3;i>=0;i-=3){_removeListener(actions[i],actions[i+1])}}}function suspendListener(obj,eventName,target,method,callback){if(!method&&"function"===typeof target){method=target;target=null}var actions=actionsFor(obj,eventName),actionIndex=indexOf(actions,target,method);if(actionIndex!==-1){actions[actionIndex+2]|=SUSPENDED}function tryable(){return callback.call(target)}function finalizer(){if(actionIndex!==-1){actions[actionIndex+2]&=~SUSPENDED}}return tryFinally(tryable,finalizer)}__exports__.suspendListener=suspendListener;function suspendListeners(obj,eventNames,target,method,callback){if(!method&&"function"===typeof target){method=target;target=null}var suspendedActions=[],actionsList=[],eventName,actions,i,l;for(i=0,l=eventNames.length;i<l;i++){eventName=eventNames[i];actions=actionsFor(obj,eventName);var actionIndex=indexOf(actions,target,method);if(actionIndex!==-1){actions[actionIndex+2]|=SUSPENDED;suspendedActions.push(actionIndex);actionsList.push(actions)}}function tryable(){return callback.call(target)}function finalizer(){for(var i=0,l=suspendedActions.length;i<l;i++){var actionIndex=suspendedActions[i];actionsList[i][actionIndex+2]&=~SUSPENDED}}return tryFinally(tryable,finalizer)}__exports__.suspendListeners=suspendListeners;function watchedEvents(obj){var listeners=obj[META_KEY].listeners,ret=[];if(listeners){for(var eventName in listeners){if(listeners[eventName]){ret.push(eventName)}}}return ret}__exports__.watchedEvents=watchedEvents;function sendEvent(obj,eventName,params,actions){if(obj!==Ember&&"function"===typeof obj.sendEvent){obj.sendEvent(eventName,params)}if(!actions){var meta=obj[META_KEY];actions=meta&&meta.listeners&&meta.listeners[eventName]}if(!actions){return}for(var i=actions.length-3;i>=0;i-=3){var target=actions[i],method=actions[i+1],flags=actions[i+2];if(!method){continue}if(flags&SUSPENDED){continue}if(flags&ONCE){removeListener(obj,eventName,target,method)}if(!target){target=obj}if("string"===typeof method){if(params){applyStr(target,method,params)}else{target[method]()}}else{if(params){apply(target,method,params)}else{method.call(target)}}}return true}__exports__.sendEvent=sendEvent;function hasListeners(obj,eventName){var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName];return!!(actions&&actions.length)}__exports__.hasListeners=hasListeners;function listenersFor(obj,eventName){var ret=[];var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName];if(!actions){return ret}for(var i=0,l=actions.length;i<l;i+=3){var target=actions[i],method=actions[i+1];ret.push([target,method])}return ret}__exports__.listenersFor=listenersFor;function on(){var func=a_slice.call(arguments,-1)[0],events=a_slice.call(arguments,0,-1);func.__ember_listens__=events;return func}__exports__.on=on;__exports__.removeListener=removeListener});define("ember-metal/expand_properties",["ember-metal/error","ember-metal/enumerable_utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var EmberError=__dependency1__["default"];var forEach=__dependency2__.forEach;var BRACE_EXPANSION=/^((?:[^\.]*\.)*)\{(.*)\}$/;__exports__["default"]=function expandProperties(pattern,callback){var match,prefix,list;if(pattern.indexOf(" ")>-1){throw new EmberError("Brace expanded properties cannot contain spaces, "+"e.g. `user.{firstName, lastName}` should be `user.{firstName,lastName}`")}if(match=BRACE_EXPANSION.exec(pattern)){prefix=match[1];list=match[2];forEach(list.split(","),function(suffix){callback(prefix+suffix)})}else{callback(pattern)}}});define("ember-metal/get_properties",["ember-metal/property_get","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var get=__dependency1__.get;var typeOf=__dependency2__.typeOf;__exports__["default"]=function getProperties(obj){var ret={},propertyNames=arguments,i=1;if(arguments.length===2&&typeOf(arguments[1])==="array"){i=0;propertyNames=arguments[1]}for(var len=propertyNames.length;i<len;i++){ret[propertyNames[i]]=get(obj,propertyNames[i])}return ret}});define("ember-metal/instrumentation",["ember-metal/core","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var tryCatchFinally=__dependency2__.tryCatchFinally;var subscribers=[],cache={};var populateListeners=function(name){var listeners=[],subscriber;for(var i=0,l=subscribers.length;i<l;i++){subscriber=subscribers[i];if(subscriber.regex.test(name)){listeners.push(subscriber.object)}}cache[name]=listeners;return listeners};var time=function(){var perf="undefined"!==typeof window?window.performance||{}:{};var fn=perf.now||perf.mozNow||perf.webkitNow||perf.msNow||perf.oNow;return fn?fn.bind(perf):function(){return+new Date}}();function instrument(name,payload,callback,binding){var listeners=cache[name],timeName,ret;if(Ember.STRUCTURED_PROFILE){timeName=name+": "+payload.object;console.time(timeName)}if(!listeners){listeners=populateListeners(name)}if(listeners.length===0){ret=callback.call(binding);if(Ember.STRUCTURED_PROFILE){console.timeEnd(timeName)}return ret}var beforeValues=[],listener,i,l;function tryable(){for(i=0,l=listeners.length;i<l;i++){listener=listeners[i];beforeValues[i]=listener.before(name,time(),payload)}return callback.call(binding)}function catchable(e){payload=payload||{};payload.exception=e}function finalizer(){for(i=0,l=listeners.length;i<l;i++){listener=listeners[i];listener.after(name,time(),payload,beforeValues[i])}if(Ember.STRUCTURED_PROFILE){console.timeEnd(timeName)}}return tryCatchFinally(tryable,catchable,finalizer)}__exports__.instrument=instrument;function subscribe(pattern,object){var paths=pattern.split("."),path,regex=[];for(var i=0,l=paths.length;i<l;i++){path=paths[i];if(path==="*"){regex.push("[^\\.]*")}else{regex.push(path)}}regex=regex.join("\\.");regex=regex+"(\\..*)?";var subscriber={pattern:pattern,regex:new RegExp("^"+regex+"$"),object:object};subscribers.push(subscriber);cache={};return subscriber}__exports__.subscribe=subscribe;function unsubscribe(subscriber){var index;for(var i=0,l=subscribers.length;i<l;i++){if(subscribers[i]===subscriber){index=i}}subscribers.splice(index,1);cache={}}__exports__.unsubscribe=unsubscribe;function reset(){subscribers=[];cache={}}__exports__.reset=reset});define("ember-metal/is_blank",["ember-metal/core","ember-metal/is_empty","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var isEmpty=__dependency2__["default"];__exports__["default"]=function isBlank(obj){return isEmpty(obj)||typeof obj==="string"&&obj.match(/\S/)===null}});define("ember-metal/is_empty",["ember-metal/core","ember-metal/property_get","ember-metal/is_none","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var isNone=__dependency3__["default"];function isEmpty(obj){return isNone(obj)||obj.length===0&&typeof obj!=="function"||typeof obj==="object"&&get(obj,"length")===0}var empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",isEmpty);__exports__.empty=empty;__exports__["default"]=isEmpty;__exports__.isEmpty=isEmpty;__exports__.empty=empty});define("ember-metal/is_none",["ember-metal/core","exports"],function(__dependency1__,__exports__){"use strict";var Ember=__dependency1__["default"];function isNone(obj){return obj===null||obj===undefined}var none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",isNone);__exports__.none=none;__exports__["default"]=isNone;__exports__.isNone=isNone});define("ember-metal/libraries",["ember-metal/enumerable_utils","exports"],function(__dependency1__,__exports__){"use strict";var forEach=__dependency1__.forEach;var indexOf=__dependency1__.indexOf;var libraries=function(){var _libraries=[];var coreLibIndex=0;var getLibrary=function(name){for(var i=0;i<_libraries.length;i++){if(_libraries[i].name===name){return _libraries[i]}}};_libraries.register=function(name,version){if(!getLibrary(name)){_libraries.push({name:name,version:version})}};_libraries.registerCoreLibrary=function(name,version){if(!getLibrary(name)){_libraries.splice(coreLibIndex++,0,{name:name,version:version})}};_libraries.deRegister=function(name){var lib=getLibrary(name);if(lib)_libraries.splice(indexOf(_libraries,lib),1)};_libraries.each=function(callback){forEach(_libraries,function(lib){callback(lib.name,lib.version)})};return _libraries}();__exports__["default"]=libraries});define("ember-metal/logger",["ember-metal/core","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberError=__dependency2__["default"];function consoleMethod(name){var consoleObj,logToConsole;if(Ember.imports.console){consoleObj=Ember.imports.console}else if(typeof console!=="undefined"){consoleObj=console}var method=typeof consoleObj==="object"?consoleObj[name]:null;if(method){if(typeof method.apply==="function"){logToConsole=function(){method.apply(consoleObj,arguments)};logToConsole.displayName="console."+name;return logToConsole}else{return function(){var message=Array.prototype.join.call(arguments,", ");method(message)}}}}function assertPolyfill(test,message){if(!test){try{throw new EmberError("assertion failed: "+message)}catch(error){setTimeout(function(){throw error},0)}}}__exports__["default"]={log:consoleMethod("log")||Ember.K,warn:consoleMethod("warn")||Ember.K,error:consoleMethod("error")||Ember.K,info:consoleMethod("info")||Ember.K,debug:consoleMethod("debug")||consoleMethod("info")||Ember.K,assert:consoleMethod("assert")||assertPolyfill}});define("ember-metal/map",["ember-metal/property_set","ember-metal/utils","ember-metal/array","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var set=__dependency1__.set;var guidFor=__dependency2__.guidFor;var indexOf=__dependency3__.indexOf;var create=__dependency4__.create;function copy(obj){var output={};for(var prop in obj){if(obj.hasOwnProperty(prop)){output[prop]=obj[prop]}}return output}function copyMap(original,newObject){var keys=original.keys.copy(),values=copy(original.values);newObject.keys=keys;newObject.values=values;newObject.length=original.length;return newObject}function OrderedSet(){this.clear()}OrderedSet.create=function(){return new OrderedSet};OrderedSet.prototype={clear:function(){this.presenceSet={};this.list=[]},add:function(obj){var guid=guidFor(obj),presenceSet=this.presenceSet,list=this.list;if(guid in presenceSet){return}presenceSet[guid]=true;list.push(obj)},remove:function(obj){var guid=guidFor(obj),presenceSet=this.presenceSet,list=this.list;delete presenceSet[guid];var index=indexOf.call(list,obj);if(index>-1){list.splice(index,1)}},isEmpty:function(){return this.list.length===0},has:function(obj){var guid=guidFor(obj),presenceSet=this.presenceSet;return guid in presenceSet},forEach:function(fn,self){var list=this.toArray();for(var i=0,j=list.length;i<j;i++){fn.call(self,list[i])}},toArray:function(){return this.list.slice()},copy:function(){var set=new OrderedSet;set.presenceSet=copy(this.presenceSet);set.list=this.toArray();return set}};function Map(){this.keys=OrderedSet.create();this.values={}}Ember.Map=Map;Map.create=function(){return new Map};Map.prototype={length:0,get:function(key){var values=this.values,guid=guidFor(key);return values[guid]},set:function(key,value){var keys=this.keys,values=this.values,guid=guidFor(key);keys.add(key);values[guid]=value;set(this,"length",keys.list.length)},remove:function(key){var keys=this.keys,values=this.values,guid=guidFor(key);if(values.hasOwnProperty(guid)){keys.remove(key);delete values[guid];set(this,"length",keys.list.length);return true}else{return false}},has:function(key){var values=this.values,guid=guidFor(key);return values.hasOwnProperty(guid)},forEach:function(callback,self){var keys=this.keys,values=this.values;keys.forEach(function(key){var guid=guidFor(key);callback.call(self,key,values[guid])})},copy:function(){return copyMap(this,new Map)}};function MapWithDefault(options){Map.call(this);this.defaultValue=options.defaultValue}MapWithDefault.create=function(options){if(options){return new MapWithDefault(options)}else{return new Map}};MapWithDefault.prototype=create(Map.prototype);MapWithDefault.prototype.get=function(key){var hasValue=this.has(key);if(hasValue){return Map.prototype.get.call(this,key)}else{var defaultValue=this.defaultValue(key);this.set(key,defaultValue);return defaultValue}};MapWithDefault.prototype.copy=function(){return copyMap(this,new MapWithDefault({defaultValue:this.defaultValue}))};__exports__.OrderedSet=OrderedSet;__exports__.Map=Map;__exports__.MapWithDefault=MapWithDefault});define("ember-metal/merge",["exports"],function(__exports__){"use strict";__exports__["default"]=function merge(original,updates){for(var prop in updates){if(!updates.hasOwnProperty(prop)){continue}original[prop]=updates[prop]}return original}});define("ember-metal/mixin",["ember-metal/core","ember-metal/merge","ember-metal/array","ember-metal/platform","ember-metal/utils","ember-metal/expand_properties","ember-metal/properties","ember-metal/computed","ember-metal/binding","ember-metal/observer","ember-metal/events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var merge=__dependency2__["default"];var map=__dependency3__.map;var indexOf=__dependency3__.indexOf;var forEach=__dependency3__.forEach;var create=__dependency4__.create;var guidFor=__dependency5__.guidFor;var meta=__dependency5__.meta;var META_KEY=__dependency5__.META_KEY;var wrap=__dependency5__.wrap;var makeArray=__dependency5__.makeArray;var apply=__dependency5__.apply;var expandProperties=__dependency6__["default"];var Descriptor=__dependency7__.Descriptor;var defineProperty=__dependency7__.defineProperty;var ComputedProperty=__dependency8__.ComputedProperty;var Binding=__dependency9__.Binding;var addObserver=__dependency10__.addObserver;var removeObserver=__dependency10__.removeObserver;var addBeforeObserver=__dependency10__.addBeforeObserver;var removeBeforeObserver=__dependency10__.removeBeforeObserver;var addListener=__dependency11__.addListener;var removeListener=__dependency11__.removeListener;var REQUIRED,a_map=map,a_indexOf=indexOf,a_forEach=forEach,a_slice=[].slice,o_create=create,metaFor=meta;function superFunction(){var ret,func=this.__nextSuper;if(func){this.__nextSuper=null;ret=apply(this,func,arguments);this.__nextSuper=func}return ret}function mixinsMeta(obj){var m=metaFor(obj,true),ret=m.mixins;if(!ret){ret=m.mixins={}}else if(!m.hasOwnProperty("mixins")){ret=m.mixins=o_create(ret)}return ret}function initMixin(mixin,args){if(args&&args.length>0){mixin.mixins=a_map.call(args,function(x){if(x instanceof Mixin){return x}var mixin=new Mixin;mixin.properties=x;return mixin})}return mixin}function isMethod(obj){return"function"===typeof obj&&obj.isMethod!==false&&obj!==Boolean&&obj!==Object&&obj!==Number&&obj!==Array&&obj!==Date&&obj!==String}var CONTINUE={};function mixinProperties(mixinsMeta,mixin){var guid;if(mixin instanceof Mixin){guid=guidFor(mixin);if(mixinsMeta[guid]){return CONTINUE}mixinsMeta[guid]=mixin;return mixin.properties}else{return mixin}}function concatenatedMixinProperties(concatProp,props,values,base){var concats;concats=values[concatProp]||base[concatProp];if(props[concatProp]){concats=concats?concats.concat(props[concatProp]):props[concatProp]}return concats}function giveDescriptorSuper(meta,key,property,values,descs){var superProperty;if(values[key]===undefined){superProperty=descs[key]}superProperty=superProperty||meta.descs[key];if(!superProperty||!(superProperty instanceof ComputedProperty)){return property}property=o_create(property);property.func=wrap(property.func,superProperty.func);return property}function giveMethodSuper(obj,key,method,values,descs){var superMethod;if(descs[key]===undefined){superMethod=values[key]}superMethod=superMethod||obj[key];if("function"!==typeof superMethod){return method}return wrap(method,superMethod)}function applyConcatenatedProperties(obj,key,value,values){var baseValue=values[key]||obj[key];if(baseValue){if("function"===typeof baseValue.concat){return baseValue.concat(value)}else{return makeArray(baseValue).concat(value)}}else{return makeArray(value)}}function applyMergedProperties(obj,key,value,values){var baseValue=values[key]||obj[key];if(!baseValue){return value}var newBase=merge({},baseValue),hasFunction=false;for(var prop in value){if(!value.hasOwnProperty(prop)){continue}var propValue=value[prop];if(isMethod(propValue)){hasFunction=true;newBase[prop]=giveMethodSuper(obj,prop,propValue,baseValue,{})}else{newBase[prop]=propValue}}if(hasFunction){newBase._super=superFunction}return newBase}function addNormalizedProperty(base,key,value,meta,descs,values,concats,mergings){if(value instanceof Descriptor){if(value===REQUIRED&&descs[key]){return CONTINUE}if(value.func){value=giveDescriptorSuper(meta,key,value,values,descs)}descs[key]=value;values[key]=undefined}else{if(concats&&a_indexOf.call(concats,key)>=0||key==="concatenatedProperties"||key==="mergedProperties"){value=applyConcatenatedProperties(base,key,value,values)}else if(mergings&&a_indexOf.call(mergings,key)>=0){value=applyMergedProperties(base,key,value,values)}else if(isMethod(value)){value=giveMethodSuper(base,key,value,values,descs)}descs[key]=undefined;values[key]=value}}function mergeMixins(mixins,m,descs,values,base,keys){var mixin,props,key,concats,mergings,meta;function removeKeys(keyName){delete descs[keyName];delete values[keyName]}for(var i=0,l=mixins.length;i<l;i++){mixin=mixins[i];props=mixinProperties(m,mixin);if(props===CONTINUE){continue}if(props){meta=metaFor(base);if(base.willMergeMixin){base.willMergeMixin(props)}concats=concatenatedMixinProperties("concatenatedProperties",props,values,base);mergings=concatenatedMixinProperties("mergedProperties",props,values,base);for(key in props){if(!props.hasOwnProperty(key)){continue}keys.push(key);addNormalizedProperty(base,key,props[key],meta,descs,values,concats,mergings)}if(props.hasOwnProperty("toString")){base.toString=props.toString}}else if(mixin.mixins){mergeMixins(mixin.mixins,m,descs,values,base,keys);if(mixin._without){a_forEach.call(mixin._without,removeKeys)}}}}var IS_BINDING=/^.+Binding$/;function detectBinding(obj,key,value,m){if(IS_BINDING.test(key)){var bindings=m.bindings;if(!bindings){bindings=m.bindings={}}else if(!m.hasOwnProperty("bindings")){bindings=m.bindings=o_create(m.bindings)}bindings[key]=value}}function connectBindings(obj,m){var bindings=m.bindings,key,binding,to;if(bindings){for(key in bindings){binding=bindings[key];if(binding){to=key.slice(0,-7);if(binding instanceof Binding){binding=binding.copy();binding.to(to)}else{binding=new Binding(to,binding)}binding.connect(obj);obj[key]=binding}}m.bindings={}}}function finishPartial(obj,m){connectBindings(obj,m||metaFor(obj));return obj}function followAlias(obj,desc,m,descs,values){var altKey=desc.methodName,value;if(descs[altKey]||values[altKey]){value=values[altKey];desc=descs[altKey]}else if(m.descs[altKey]){desc=m.descs[altKey];value=undefined}else{desc=undefined;value=obj[altKey]}return{desc:desc,value:value}}function updateObserversAndListeners(obj,key,observerOrListener,pathsKey,updateMethod){var paths=observerOrListener[pathsKey];if(paths){for(var i=0,l=paths.length;i<l;i++){updateMethod(obj,paths[i],null,key)}}}function replaceObserversAndListeners(obj,key,observerOrListener){var prev=obj[key];if("function"===typeof prev){updateObserversAndListeners(obj,key,prev,"__ember_observesBefore__",removeBeforeObserver);updateObserversAndListeners(obj,key,prev,"__ember_observes__",removeObserver);updateObserversAndListeners(obj,key,prev,"__ember_listens__",removeListener)}if("function"===typeof observerOrListener){updateObserversAndListeners(obj,key,observerOrListener,"__ember_observesBefore__",addBeforeObserver);updateObserversAndListeners(obj,key,observerOrListener,"__ember_observes__",addObserver);updateObserversAndListeners(obj,key,observerOrListener,"__ember_listens__",addListener)}}function applyMixin(obj,mixins,partial){var descs={},values={},m=metaFor(obj),key,value,desc,keys=[];obj._super=superFunction;mergeMixins(mixins,mixinsMeta(obj),descs,values,obj,keys);for(var i=0,l=keys.length;i<l;i++){key=keys[i];if(key==="constructor"||!values.hasOwnProperty(key)){continue}desc=descs[key];value=values[key];if(desc===REQUIRED){continue}while(desc&&desc instanceof Alias){var followed=followAlias(obj,desc,m,descs,values);desc=followed.desc;value=followed.value}if(desc===undefined&&value===undefined){continue}replaceObserversAndListeners(obj,key,value);detectBinding(obj,key,value,m);defineProperty(obj,key,desc,value,m)}if(!partial){finishPartial(obj,m)}return obj}function mixin(obj){var args=a_slice.call(arguments,1);applyMixin(obj,args,false);return obj}__exports__.mixin=mixin;__exports__["default"]=Mixin;function Mixin(){return initMixin(this,arguments)}Mixin.prototype={properties:null,mixins:null,ownerConstructor:null};Mixin._apply=applyMixin;Mixin.applyPartial=function(obj){var args=a_slice.call(arguments,1);return applyMixin(obj,args,true)};Mixin.finishPartial=finishPartial;Ember.anyUnprocessedMixins=false;Mixin.create=function(){Ember.anyUnprocessedMixins=true;var M=this;return initMixin(new M,arguments)};var MixinPrototype=Mixin.prototype;MixinPrototype.reopen=function(){var mixin,tmp;if(this.properties){mixin=Mixin.create();mixin.properties=this.properties;delete this.properties;this.mixins=[mixin]}else if(!this.mixins){this.mixins=[]}var len=arguments.length,mixins=this.mixins,idx;for(idx=0;idx<len;idx++){mixin=arguments[idx];if(mixin instanceof Mixin){mixins.push(mixin)}else{tmp=Mixin.create();tmp.properties=mixin;mixins.push(tmp)}}return this};MixinPrototype.apply=function(obj){return applyMixin(obj,[this],false)};MixinPrototype.applyPartial=function(obj){return applyMixin(obj,[this],true)};function _detect(curMixin,targetMixin,seen){var guid=guidFor(curMixin);if(seen[guid]){return false}seen[guid]=true;if(curMixin===targetMixin){return true}var mixins=curMixin.mixins,loc=mixins?mixins.length:0;while(--loc>=0){if(_detect(mixins[loc],targetMixin,seen)){return true}}return false}MixinPrototype.detect=function(obj){if(!obj){return false}if(obj instanceof Mixin){return _detect(obj,this,{})}var m=obj[META_KEY],mixins=m&&m.mixins;if(mixins){return!!mixins[guidFor(this)]}return false};MixinPrototype.without=function(){var ret=new Mixin(this);ret._without=a_slice.call(arguments);return ret};function _keys(ret,mixin,seen){if(seen[guidFor(mixin)]){return}seen[guidFor(mixin)]=true;if(mixin.properties){var props=mixin.properties;for(var key in props){if(props.hasOwnProperty(key)){ret[key]=true}}}else if(mixin.mixins){a_forEach.call(mixin.mixins,function(x){_keys(ret,x,seen)})}}MixinPrototype.keys=function(){var keys={},seen={},ret=[];_keys(keys,this,seen);for(var key in keys){if(keys.hasOwnProperty(key)){ret.push(key)}}return ret};Mixin.mixins=function(obj){var m=obj[META_KEY],mixins=m&&m.mixins,ret=[];if(!mixins){return ret}for(var key in mixins){var mixin=mixins[key];if(!mixin.properties){ret.push(mixin)}}return ret};REQUIRED=new Descriptor;REQUIRED.toString=function(){return"(Required Property)"};function required(){return REQUIRED}__exports__.required=required;function Alias(methodName){this.methodName=methodName}Alias.prototype=new Descriptor;function aliasMethod(methodName){return new Alias(methodName)}__exports__.aliasMethod=aliasMethod;function observer(){var func=a_slice.call(arguments,-1)[0];var paths;var addWatchedProperty=function(path){paths.push(path)};var _paths=a_slice.call(arguments,0,-1);if(typeof func!=="function"){func=arguments[0];_paths=a_slice.call(arguments,1)}paths=[];for(var i=0;i<_paths.length;++i){expandProperties(_paths[i],addWatchedProperty)}if(typeof func!=="function"){throw new Ember.Error("Ember.observer called without a function")}func.__ember_observes__=paths;return func}__exports__.observer=observer;function immediateObserver(){for(var i=0,l=arguments.length;i<l;i++){var arg=arguments[i]}return observer.apply(this,arguments)}__exports__.immediateObserver=immediateObserver;function beforeObserver(){var func=a_slice.call(arguments,-1)[0];var paths;var addWatchedProperty=function(path){paths.push(path)};var _paths=a_slice.call(arguments,0,-1);if(typeof func!=="function"){func=arguments[0];_paths=a_slice.call(arguments,1)}paths=[];for(var i=0;i<_paths.length;++i){expandProperties(_paths[i],addWatchedProperty)}if(typeof func!=="function"){throw new Ember.Error("Ember.beforeObserver called without a function")}func.__ember_observesBefore__=paths;return func}__exports__.beforeObserver=beforeObserver;__exports__.IS_BINDING=IS_BINDING;__exports__.Mixin=Mixin});define("ember-metal/observer",["ember-metal/watching","ember-metal/array","ember-metal/events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var watch=__dependency1__.watch;var unwatch=__dependency1__.unwatch;var map=__dependency2__.map;var listenersFor=__dependency3__.listenersFor;var addListener=__dependency3__.addListener;var removeListener=__dependency3__.removeListener;var suspendListeners=__dependency3__.suspendListeners;var suspendListener=__dependency3__.suspendListener;var AFTER_OBSERVERS=":change";var BEFORE_OBSERVERS=":before";function changeEvent(keyName){return keyName+AFTER_OBSERVERS}function beforeEvent(keyName){return keyName+BEFORE_OBSERVERS}function addObserver(obj,_path,target,method){addListener(obj,changeEvent(_path),target,method);watch(obj,_path);return this}__exports__.addObserver=addObserver;function observersFor(obj,path){return listenersFor(obj,changeEvent(path))}__exports__.observersFor=observersFor;function removeObserver(obj,_path,target,method){unwatch(obj,_path);removeListener(obj,changeEvent(_path),target,method);return this}__exports__.removeObserver=removeObserver;function addBeforeObserver(obj,_path,target,method){addListener(obj,beforeEvent(_path),target,method);watch(obj,_path);return this}__exports__.addBeforeObserver=addBeforeObserver;function _suspendBeforeObserver(obj,path,target,method,callback){return suspendListener(obj,beforeEvent(path),target,method,callback)}__exports__._suspendBeforeObserver=_suspendBeforeObserver;function _suspendObserver(obj,path,target,method,callback){return suspendListener(obj,changeEvent(path),target,method,callback)}__exports__._suspendObserver=_suspendObserver;function _suspendBeforeObservers(obj,paths,target,method,callback){var events=map.call(paths,beforeEvent);return suspendListeners(obj,events,target,method,callback)}__exports__._suspendBeforeObservers=_suspendBeforeObservers;function _suspendObservers(obj,paths,target,method,callback){var events=map.call(paths,changeEvent);return suspendListeners(obj,events,target,method,callback)}__exports__._suspendObservers=_suspendObservers;function beforeObserversFor(obj,path){return listenersFor(obj,beforeEvent(path))}__exports__.beforeObserversFor=beforeObserversFor;function removeBeforeObserver(obj,_path,target,method){unwatch(obj,_path);removeListener(obj,beforeEvent(_path),target,method);return this}__exports__.removeBeforeObserver=removeBeforeObserver});define("ember-metal/observer_set",["ember-metal/utils","ember-metal/events","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var guidFor=__dependency1__.guidFor;var sendEvent=__dependency2__.sendEvent;__exports__["default"]=ObserverSet;function ObserverSet(){this.clear()}ObserverSet.prototype.add=function(sender,keyName,eventName){var observerSet=this.observerSet,observers=this.observers,senderGuid=guidFor(sender),keySet=observerSet[senderGuid],index;if(!keySet){observerSet[senderGuid]=keySet={}}index=keySet[keyName];if(index===undefined){index=observers.push({sender:sender,keyName:keyName,eventName:eventName,listeners:[]})-1;keySet[keyName]=index}return observers[index].listeners};ObserverSet.prototype.flush=function(){var observers=this.observers,i,len,observer,sender;this.clear();for(i=0,len=observers.length;i<len;++i){observer=observers[i];sender=observer.sender;if(sender.isDestroying||sender.isDestroyed){continue
7
- }sendEvent(sender,observer.eventName,[sender,observer.keyName],observer.listeners)}};ObserverSet.prototype.clear=function(){this.observerSet={};this.observers=[]}});define("ember-metal/platform",["ember-metal/core","exports"],function(__dependency1__,__exports__){"use strict";var Ember=__dependency1__["default"];var platform={};var create=Object.create;if(create){if(create({a:1},{a:{value:2}}).a!==2){create=null}}if(!create||Ember.ENV.STUB_OBJECT_CREATE){var K=function(){};create=function(obj,props){K.prototype=obj;obj=new K;if(props){K.prototype=obj;for(var prop in props){K.prototype[prop]=props[prop].value}obj=new K}K.prototype=null;return obj};create.isSimulated=true}var defineProperty=Object.defineProperty;var canRedefineProperties,canDefinePropertyOnDOM;if(defineProperty){try{defineProperty({},"a",{get:function(){}})}catch(e){defineProperty=null}}if(defineProperty){canRedefineProperties=function(){var obj={};defineProperty(obj,"a",{configurable:true,enumerable:true,get:function(){},set:function(){}});defineProperty(obj,"a",{configurable:true,enumerable:true,writable:true,value:true});return obj.a===true}();canDefinePropertyOnDOM=function(){try{defineProperty(document.createElement("div"),"definePropertyOnDOM",{});return true}catch(e){}return false}();if(!canRedefineProperties){defineProperty=null}else if(!canDefinePropertyOnDOM){defineProperty=function(obj,keyName,desc){var isNode;if(typeof Node==="object"){isNode=obj instanceof Node}else{isNode=typeof obj==="object"&&typeof obj.nodeType==="number"&&typeof obj.nodeName==="string"}if(isNode){return obj[keyName]=desc.value}else{return Object.defineProperty(obj,keyName,desc)}}}}platform.defineProperty=defineProperty;platform.hasPropertyAccessors=true;if(!platform.defineProperty){platform.hasPropertyAccessors=false;platform.defineProperty=function(obj,keyName,desc){if(!desc.get){obj[keyName]=desc.value}};platform.defineProperty.isSimulated=true}if(Ember.ENV.MANDATORY_SETTER&&!platform.hasPropertyAccessors){Ember.ENV.MANDATORY_SETTER=false}__exports__.create=create;__exports__.platform=platform});define("ember-metal/properties",["ember-metal/core","ember-metal/utils","ember-metal/platform","ember-metal/property_events","ember-metal/property_get","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var META_KEY=__dependency2__.META_KEY;var meta=__dependency2__.meta;var platform=__dependency3__.platform;var overrideChains=__dependency4__.overrideChains;var get=__dependency5__.get;var set=__dependency6__.set;var metaFor=meta,objectDefineProperty=platform.defineProperty;var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;function Descriptor(){}__exports__.Descriptor=Descriptor;var MANDATORY_SETTER_FUNCTION=Ember.MANDATORY_SETTER_FUNCTION=function(value){};var DEFAULT_GETTER_FUNCTION=Ember.DEFAULT_GETTER_FUNCTION=function DEFAULT_GETTER_FUNCTION(name){return function(){var meta=this[META_KEY];return meta&&meta.values[name]}};function defineProperty(obj,keyName,desc,data,meta){var descs,existingDesc,watching,value;if(!meta)meta=metaFor(obj);descs=meta.descs;existingDesc=meta.descs[keyName];watching=meta.watching[keyName]>0;if(existingDesc instanceof Descriptor){existingDesc.teardown(obj,keyName)}if(desc instanceof Descriptor){value=desc;descs[keyName]=desc;if(MANDATORY_SETTER&&watching){objectDefineProperty(obj,keyName,{configurable:true,enumerable:true,writable:true,value:undefined})}else{obj[keyName]=undefined}}else{descs[keyName]=undefined;if(desc==null){value=data;if(MANDATORY_SETTER&&watching){meta.values[keyName]=data;objectDefineProperty(obj,keyName,{configurable:true,enumerable:true,set:MANDATORY_SETTER_FUNCTION,get:DEFAULT_GETTER_FUNCTION(keyName)})}else{obj[keyName]=data}}else{value=desc;objectDefineProperty(obj,keyName,desc)}}if(watching){overrideChains(obj,keyName,meta)}if(obj.didDefineProperty){obj.didDefineProperty(obj,keyName,value)}return this}__exports__.defineProperty=defineProperty;function deprecateProperty(object,deprecatedKey,newKey){function deprecate(){}if(platform.hasPropertyAccessors){defineProperty(object,deprecatedKey,{configurable:true,enumerable:false,set:function(value){deprecate();set(object,newKey,value)},get:function(){deprecate();return get(object,newKey)}})}}__exports__.deprecateProperty=deprecateProperty});define("ember-metal/property_events",["ember-metal/utils","ember-metal/events","ember-metal/observer_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var META_KEY=__dependency1__.META_KEY;var guidFor=__dependency1__.guidFor;var tryFinally=__dependency1__.tryFinally;var sendEvent=__dependency2__.sendEvent;var listenersUnion=__dependency2__.listenersUnion;var listenersDiff=__dependency2__.listenersDiff;var ObserverSet=__dependency3__["default"];var beforeObserverSet=new ObserverSet;var observerSet=new ObserverSet;var deferred=0;function propertyWillChange(obj,keyName){var m=obj[META_KEY],watching=m&&m.watching[keyName]>0||keyName==="length",proto=m&&m.proto,desc=m&&m.descs[keyName];if(!watching){return}if(proto===obj){return}if(desc&&desc.willChange){desc.willChange(obj,keyName)}dependentKeysWillChange(obj,keyName,m);chainsWillChange(obj,keyName,m);notifyBeforeObservers(obj,keyName)}function propertyDidChange(obj,keyName){var m=obj[META_KEY],watching=m&&m.watching[keyName]>0||keyName==="length",proto=m&&m.proto,desc=m&&m.descs[keyName];if(proto===obj){return}if(desc&&desc.didChange){desc.didChange(obj,keyName)}if(!watching&&keyName!=="length"){return}dependentKeysDidChange(obj,keyName,m);chainsDidChange(obj,keyName,m,false);notifyObservers(obj,keyName)}var WILL_SEEN,DID_SEEN;function dependentKeysWillChange(obj,depKey,meta){if(obj.isDestroying){return}var seen=WILL_SEEN,top=!seen;if(top){seen=WILL_SEEN={}}iterDeps(propertyWillChange,obj,depKey,seen,meta);if(top){WILL_SEEN=null}}function dependentKeysDidChange(obj,depKey,meta){if(obj.isDestroying){return}var seen=DID_SEEN,top=!seen;if(top){seen=DID_SEEN={}}iterDeps(propertyDidChange,obj,depKey,seen,meta);if(top){DID_SEEN=null}}function iterDeps(method,obj,depKey,seen,meta){var guid=guidFor(obj);if(!seen[guid])seen[guid]={};if(seen[guid][depKey])return;seen[guid][depKey]=true;var deps=meta.deps;deps=deps&&deps[depKey];if(deps){for(var key in deps){var desc=meta.descs[key];if(desc&&desc._suspended===obj)continue;method(obj,key)}}}function chainsWillChange(obj,keyName,m){if(!(m.hasOwnProperty("chainWatchers")&&m.chainWatchers[keyName])){return}var nodes=m.chainWatchers[keyName],events=[],i,l;for(i=0,l=nodes.length;i<l;i++){nodes[i].willChange(events)}for(i=0,l=events.length;i<l;i+=2){propertyWillChange(events[i],events[i+1])}}function chainsDidChange(obj,keyName,m,suppressEvents){if(!(m&&m.hasOwnProperty("chainWatchers")&&m.chainWatchers[keyName])){return}var nodes=m.chainWatchers[keyName],events=suppressEvents?null:[],i,l;for(i=0,l=nodes.length;i<l;i++){nodes[i].didChange(events)}if(suppressEvents){return}for(i=0,l=events.length;i<l;i+=2){propertyDidChange(events[i],events[i+1])}}function overrideChains(obj,keyName,m){chainsDidChange(obj,keyName,m,true)}function beginPropertyChanges(){deferred++}function endPropertyChanges(){deferred--;if(deferred<=0){beforeObserverSet.clear();observerSet.flush()}}function changeProperties(cb,binding){beginPropertyChanges();tryFinally(cb,endPropertyChanges,binding)}function notifyBeforeObservers(obj,keyName){if(obj.isDestroying){return}var eventName=keyName+":before",listeners,diff;if(deferred){listeners=beforeObserverSet.add(obj,keyName,eventName);diff=listenersDiff(obj,eventName,listeners);sendEvent(obj,eventName,[obj,keyName],diff)}else{sendEvent(obj,eventName,[obj,keyName])}}function notifyObservers(obj,keyName){if(obj.isDestroying){return}var eventName=keyName+":change",listeners;if(deferred){listeners=observerSet.add(obj,keyName,eventName);listenersUnion(obj,eventName,listeners)}else{sendEvent(obj,eventName,[obj,keyName])}}__exports__.propertyWillChange=propertyWillChange;__exports__.propertyDidChange=propertyDidChange;__exports__.overrideChains=overrideChains;__exports__.beginPropertyChanges=beginPropertyChanges;__exports__.endPropertyChanges=endPropertyChanges;__exports__.changeProperties=changeProperties});define("ember-metal/property_get",["ember-metal/core","ember-metal/utils","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var META_KEY=__dependency2__.META_KEY;var EmberError=__dependency3__["default"];var get;var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var IS_GLOBAL_PATH=/^([A-Z$]|([0-9][A-Z$])).*[\.]/;var HAS_THIS="this.";var FIRST_KEY=/^([^\.]+)/;var get=function get(obj,keyName){if(keyName===""){return obj}if(!keyName&&"string"===typeof obj){keyName=obj;obj=null}if(obj===null){return _getPath(obj,keyName)}var meta=obj[META_KEY],desc=meta&&meta.descs[keyName],ret;if(desc===undefined&&keyName.indexOf(".")!==-1){return _getPath(obj,keyName)}if(desc){return desc.get(obj,keyName)}else{if(MANDATORY_SETTER&&meta&&meta.watching[keyName]>0){ret=meta.values[keyName]}else{ret=obj[keyName]}if(ret===undefined&&"object"===typeof obj&&!(keyName in obj)&&"function"===typeof obj.unknownProperty){return obj.unknownProperty(keyName)}return ret}};if(Ember.config.overrideAccessors){Ember.get=get;Ember.config.overrideAccessors();get=Ember.get}function normalizeTuple(target,path){var hasThis=path.indexOf(HAS_THIS)===0,isGlobal=!hasThis&&IS_GLOBAL_PATH.test(path),key;if(!target||isGlobal)target=Ember.lookup;if(hasThis)path=path.slice(5);if(target===Ember.lookup){key=path.match(FIRST_KEY)[0];target=get(target,key);path=path.slice(key.length+1)}if(!path||path.length===0)throw new EmberError("Path cannot be empty");return[target,path]}function _getPath(root,path){var hasThis,parts,tuple,idx,len;if(root===null&&path.indexOf(".")===-1){return get(Ember.lookup,path)}hasThis=path.indexOf(HAS_THIS)===0;if(!root||hasThis){tuple=normalizeTuple(root,path);root=tuple[0];path=tuple[1];tuple.length=0}parts=path.split(".");len=parts.length;for(idx=0;root!=null&&idx<len;idx++){root=get(root,parts[idx],true);if(root&&root.isDestroyed){return undefined}}return root}function getWithDefault(root,key,defaultValue){var value=get(root,key);if(value===undefined){return defaultValue}return value}__exports__.getWithDefault=getWithDefault;__exports__["default"]=get;__exports__.get=get;__exports__.normalizeTuple=normalizeTuple;__exports__._getPath=_getPath});define("ember-metal/property_set",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/property_events","ember-metal/properties","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var getPath=__dependency2__._getPath;var META_KEY=__dependency3__.META_KEY;var propertyWillChange=__dependency4__.propertyWillChange;var propertyDidChange=__dependency4__.propertyDidChange;var defineProperty=__dependency5__.defineProperty;var EmberError=__dependency6__["default"];var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var IS_GLOBAL=/^([A-Z$]|([0-9][A-Z$]))/;var set=function set(obj,keyName,value,tolerant){if(typeof obj==="string"){value=keyName;keyName=obj;obj=null}if(!obj){return setPath(obj,keyName,value,tolerant)}var meta=obj[META_KEY],desc=meta&&meta.descs[keyName],isUnknown,currentValue;if(desc===undefined&&keyName.indexOf(".")!==-1){return setPath(obj,keyName,value,tolerant)}if(desc!==undefined){desc.set(obj,keyName,value)}else{if(typeof obj==="object"&&obj!==null&&value!==undefined&&obj[keyName]===value){return value}isUnknown="object"===typeof obj&&!(keyName in obj);if(isUnknown&&"function"===typeof obj.setUnknownProperty){obj.setUnknownProperty(keyName,value)}else if(meta&&meta.watching[keyName]>0){if(MANDATORY_SETTER){currentValue=meta.values[keyName]}else{currentValue=obj[keyName]}if(value!==currentValue){propertyWillChange(obj,keyName);if(MANDATORY_SETTER){if(currentValue===undefined&&!(keyName in obj)||!obj.propertyIsEnumerable(keyName)){defineProperty(obj,keyName,null,value)}else{meta.values[keyName]=value}}else{obj[keyName]=value}propertyDidChange(obj,keyName)}}else{obj[keyName]=value}}return value};if(Ember.config.overrideAccessors){Ember.set=set;Ember.config.overrideAccessors();set=Ember.set}function setPath(root,path,value,tolerant){var keyName;keyName=path.slice(path.lastIndexOf(".")+1);path=path===keyName?keyName:path.slice(0,path.length-(keyName.length+1));if(path!=="this"){root=getPath(root,path)}if(!keyName||keyName.length===0){throw new EmberError("Property set failed: You passed an empty path")}if(!root){if(tolerant){return}else{throw new EmberError('Property set failed: object in path "'+path+'" could not be found or was destroyed.')}}return set(root,keyName,value)}function trySet(root,path,value){return set(root,path,value,true)}__exports__.trySet=trySet;__exports__.set=set});define("ember-metal/run_loop",["ember-metal/core","ember-metal/utils","ember-metal/array","ember-metal/property_events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var Ember=__dependency1__["default"];var apply=__dependency2__.apply;var indexOf=__dependency3__.indexOf;var beginPropertyChanges=__dependency4__.beginPropertyChanges;var endPropertyChanges=__dependency4__.endPropertyChanges;function onBegin(current){run.currentRunLoop=current}function onEnd(current,next){run.currentRunLoop=next}var Backburner=requireModule("backburner").Backburner;var backburner=new Backburner(["sync","actions","destroy"],{sync:{before:beginPropertyChanges,after:endPropertyChanges},defaultQueue:"actions",onBegin:onBegin,onEnd:onEnd,onErrorTarget:Ember,onErrorMethod:"onerror"});var slice=[].slice;var concat=[].concat;__exports__["default"]=run;function run(){return apply(backburner,backburner.run,arguments)}run.join=function(target,method){if(!run.currentRunLoop){return apply(Ember,run,arguments)}var args=slice.call(arguments);args.unshift("actions");apply(run,run.schedule,args)};run.bind=function(target,method){var args=slice.call(arguments);return function(){return apply(run,run.join,args.concat(slice.call(arguments)))}};run.backburner=backburner;run.currentRunLoop=null;run.queues=backburner.queueNames;run.begin=function(){backburner.begin()};run.end=function(){backburner.end()};run.schedule=function(queue,target,method){checkAutoRun();apply(backburner,backburner.schedule,arguments)};run.hasScheduledTimers=function(){return backburner.hasTimers()};run.cancelTimers=function(){backburner.cancelTimers()};run.sync=function(){if(backburner.currentInstance){backburner.currentInstance.queues.sync.flush()}};run.later=function(target,method){return apply(backburner,backburner.later,arguments)};run.once=function(target,method){checkAutoRun();var args=slice.call(arguments);args.unshift("actions");return apply(backburner,backburner.scheduleOnce,args)};run.scheduleOnce=function(queue,target,method){checkAutoRun();return apply(backburner,backburner.scheduleOnce,arguments)};run.next=function(){var args=slice.call(arguments);args.push(1);return apply(backburner,backburner.later,args)};run.cancel=function(timer){return backburner.cancel(timer)};run.debounce=function(){return apply(backburner,backburner.debounce,arguments)};run.throttle=function(){return apply(backburner,backburner.throttle,arguments)};function checkAutoRun(){if(!run.currentRunLoop){}}run._addQueue=function(name,after){if(indexOf.call(run.queues,name)===-1){run.queues.splice(indexOf.call(run.queues,after)+1,0,name)}}});define("ember-metal/set_properties",["ember-metal/property_events","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var changeProperties=__dependency1__.changeProperties;var set=__dependency2__.set;__exports__["default"]=function setProperties(self,hash){changeProperties(function(){for(var prop in hash){if(hash.hasOwnProperty(prop)){set(self,prop,hash[prop])}}});return self}});define("ember-metal/utils",["ember-metal/core","ember-metal/platform","ember-metal/array","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var platform=__dependency2__.platform;var create=__dependency2__.create;var forEach=__dependency3__.forEach;var _uuid=0;function uuid(){return++_uuid}__exports__.uuid=uuid;var GUID_PREFIX="ember";var o_defineProperty=platform.defineProperty;var o_create=create;var numberCache=[];var stringCache={};var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var GUID_KEY="__ember"+ +new Date;var GUID_DESC={writable:false,configurable:false,enumerable:false,value:null};function generateGuid(obj,prefix){if(!prefix)prefix=GUID_PREFIX;var ret=prefix+uuid();if(obj){if(obj[GUID_KEY]===null){obj[GUID_KEY]=ret}else{GUID_DESC.value=ret;o_defineProperty(obj,GUID_KEY,GUID_DESC)}}return ret}__exports__.generateGuid=generateGuid;function guidFor(obj){if(obj===undefined)return"(undefined)";if(obj===null)return"(null)";var ret;var type=typeof obj;switch(type){case"number":ret=numberCache[obj];if(!ret)ret=numberCache[obj]="nu"+obj;return ret;case"string":ret=stringCache[obj];if(!ret)ret=stringCache[obj]="st"+uuid();return ret;case"boolean":return obj?"(true)":"(false)";default:if(obj[GUID_KEY])return obj[GUID_KEY];if(obj===Object)return"(Object)";if(obj===Array)return"(Array)";ret="ember"+uuid();if(obj[GUID_KEY]===null){obj[GUID_KEY]=ret}else{GUID_DESC.value=ret;o_defineProperty(obj,GUID_KEY,GUID_DESC)}return ret}}__exports__.guidFor=guidFor;var META_DESC={writable:true,configurable:false,enumerable:false,value:null};var META_KEY="__ember_meta__";var isDefinePropertySimulated=platform.defineProperty.isSimulated;function Meta(obj){this.descs={};this.watching={};this.cache={};this.cacheMeta={};this.source=obj}Meta.prototype={descs:null,deps:null,watching:null,listeners:null,cache:null,cacheMeta:null,source:null,mixins:null,bindings:null,chains:null,chainWatchers:null,values:null,proto:null};if(isDefinePropertySimulated){Meta.prototype.__preventPlainObject__=true;Meta.prototype.toJSON=function(){}}var EMPTY_META=new Meta(null);if(MANDATORY_SETTER){EMPTY_META.values={}}function meta(obj,writable){var ret=obj[META_KEY];if(writable===false)return ret||EMPTY_META;if(!ret){if(!isDefinePropertySimulated)o_defineProperty(obj,META_KEY,META_DESC);ret=new Meta(obj);if(MANDATORY_SETTER){ret.values={}}obj[META_KEY]=ret;ret.descs.constructor=null}else if(ret.source!==obj){if(!isDefinePropertySimulated)o_defineProperty(obj,META_KEY,META_DESC);ret=o_create(ret);ret.descs=o_create(ret.descs);ret.watching=o_create(ret.watching);ret.cache={};ret.cacheMeta={};ret.source=obj;if(MANDATORY_SETTER){ret.values=o_create(ret.values)}obj[META_KEY]=ret}return ret}function getMeta(obj,property){var _meta=meta(obj,false);return _meta[property]}__exports__.getMeta=getMeta;function setMeta(obj,property,value){var _meta=meta(obj,true);_meta[property]=value;return value}__exports__.setMeta=setMeta;function metaPath(obj,path,writable){var _meta=meta(obj,writable),keyName,value;for(var i=0,l=path.length;i<l;i++){keyName=path[i];value=_meta[keyName];if(!value){if(!writable){return undefined}value=_meta[keyName]={__ember_source__:obj}}else if(value.__ember_source__!==obj){if(!writable){return undefined}value=_meta[keyName]=o_create(value);value.__ember_source__=obj}_meta=value}return value}__exports__.metaPath=metaPath;function wrap(func,superFunc){function superWrapper(){var ret,sup=this.__nextSuper;this.__nextSuper=superFunc;ret=apply(this,func,arguments);this.__nextSuper=sup;return ret}superWrapper.wrappedFunction=func;superWrapper.wrappedFunction.__ember_arity__=func.length;superWrapper.__ember_observes__=func.__ember_observes__;superWrapper.__ember_observesBefore__=func.__ember_observesBefore__;superWrapper.__ember_listens__=func.__ember_listens__;return superWrapper}__exports__.wrap=wrap;var EmberArray;function isArray(obj){var modulePath,type;if(typeof EmberArray==="undefined"){modulePath="ember-runtime/mixins/array";if(Ember.__loader.registry[modulePath]){EmberArray=Ember.__loader.require(modulePath)["default"]}}if(!obj||obj.setInterval){return false}if(Array.isArray&&Array.isArray(obj)){return true}if(EmberArray&&EmberArray.detect(obj)){return true}type=typeOf(obj);if("array"===type){return true}if(obj.length!==undefined&&"object"===type){return true}return false}function makeArray(obj){if(obj===null||obj===undefined){return[]}return isArray(obj)?obj:[obj]}__exports__.makeArray=makeArray;function canInvoke(obj,methodName){return!!(obj&&typeof obj[methodName]==="function")}function tryInvoke(obj,methodName,args){if(canInvoke(obj,methodName)){return args?applyStr(obj,methodName,args):applyStr(obj,methodName)}}__exports__.tryInvoke=tryInvoke;var needsFinallyFix=function(){var count=0;try{try{}finally{count++;throw new Error("needsFinallyFixTest")}}catch(e){}return count!==1}();var tryFinally;if(needsFinallyFix){tryFinally=function(tryable,finalizer,binding){var result,finalResult,finalError;binding=binding||this;try{result=tryable.call(binding)}finally{try{finalResult=finalizer.call(binding)}catch(e){finalError=e}}if(finalError){throw finalError}return finalResult===undefined?result:finalResult}}else{tryFinally=function(tryable,finalizer,binding){var result,finalResult;binding=binding||this;try{result=tryable.call(binding)}finally{finalResult=finalizer.call(binding)}return finalResult===undefined?result:finalResult}}var tryCatchFinally;if(needsFinallyFix){tryCatchFinally=function(tryable,catchable,finalizer,binding){var result,finalResult,finalError;binding=binding||this;try{result=tryable.call(binding)}catch(error){result=catchable.call(binding,error)}finally{try{finalResult=finalizer.call(binding)}catch(e){finalError=e}}if(finalError){throw finalError}return finalResult===undefined?result:finalResult}}else{tryCatchFinally=function(tryable,catchable,finalizer,binding){var result,finalResult;binding=binding||this;try{result=tryable.call(binding)}catch(error){result=catchable.call(binding,error)}finally{finalResult=finalizer.call(binding)}return finalResult===undefined?result:finalResult}}var TYPE_MAP={};var t="Boolean Number String Function Array Date RegExp Object".split(" ");forEach.call(t,function(name){TYPE_MAP["[object "+name+"]"]=name.toLowerCase()});var toString=Object.prototype.toString;var EmberObject;function typeOf(item){var ret,modulePath;if(typeof EmberObject==="undefined"){modulePath="ember-runtime/system/object";if(Ember.__loader.registry[modulePath]){EmberObject=Ember.__loader.require(modulePath)["default"]}}ret=item===null||item===undefined?String(item):TYPE_MAP[toString.call(item)]||"object";if(ret==="function"){if(EmberObject&&EmberObject.detect(item))ret="class"}else if(ret==="object"){if(item instanceof Error)ret="error";else if(EmberObject&&item instanceof EmberObject)ret="instance";else if(item instanceof Date)ret="date"}return ret}function inspect(obj){var type=typeOf(obj);if(type==="array"){return"["+obj+"]"}if(type!=="object"){return obj+""}var v,ret=[];for(var key in obj){if(obj.hasOwnProperty(key)){v=obj[key];if(v==="toString"){continue}if(typeOf(v)==="function"){v="function() { ... }"}ret.push(key+": "+v)}}return"{"+ret.join(", ")+"}"}__exports__.inspect=inspect;function apply(t,m,a){var l=a&&a.length;if(!a||!l){return m.call(t)}switch(l){case 1:return m.call(t,a[0]);case 2:return m.call(t,a[0],a[1]);case 3:return m.call(t,a[0],a[1],a[2]);case 4:return m.call(t,a[0],a[1],a[2],a[3]);case 5:return m.call(t,a[0],a[1],a[2],a[3],a[4]);default:return m.apply(t,a)}}__exports__.apply=apply;function applyStr(t,m,a){var l=a&&a.length;if(!a||!l){return t[m]()}switch(l){case 1:return t[m](a[0]);case 2:return t[m](a[0],a[1]);case 3:return t[m](a[0],a[1],a[2]);case 4:return t[m](a[0],a[1],a[2],a[3]);case 5:return t[m](a[0],a[1],a[2],a[3],a[4]);default:return t[m].apply(t,a)}}__exports__.applyStr=applyStr;__exports__.GUID_KEY=GUID_KEY;__exports__.GUID_PREFIX=GUID_PREFIX;__exports__.META_DESC=META_DESC;__exports__.EMPTY_META=EMPTY_META;__exports__.META_KEY=META_KEY;__exports__.meta=meta;__exports__.typeOf=typeOf;__exports__.tryCatchFinally=tryCatchFinally;__exports__.isArray=isArray;__exports__.canInvoke=canInvoke;__exports__.tryFinally=tryFinally});define("ember-metal/watch_key",["ember-metal/core","ember-metal/utils","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var meta=__dependency2__.meta;var typeOf=__dependency2__.typeOf;var platform=__dependency3__.platform;var metaFor=meta;var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var o_defineProperty=platform.defineProperty;function watchKey(obj,keyName,meta){if(keyName==="length"&&typeOf(obj)==="array"){return}var m=meta||metaFor(obj),watching=m.watching;if(!watching[keyName]){watching[keyName]=1;if("function"===typeof obj.willWatchProperty){obj.willWatchProperty(keyName)}if(MANDATORY_SETTER&&keyName in obj){m.values[keyName]=obj[keyName];o_defineProperty(obj,keyName,{configurable:true,enumerable:obj.propertyIsEnumerable(keyName),set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(keyName)})}}else{watching[keyName]=(watching[keyName]||0)+1}}__exports__.watchKey=watchKey;function unwatchKey(obj,keyName,meta){var m=meta||metaFor(obj),watching=m.watching;if(watching[keyName]===1){watching[keyName]=0;if("function"===typeof obj.didUnwatchProperty){obj.didUnwatchProperty(keyName)}if(MANDATORY_SETTER&&keyName in obj){o_defineProperty(obj,keyName,{configurable:true,enumerable:obj.propertyIsEnumerable(keyName),set:function(val){o_defineProperty(obj,keyName,{configurable:true,writable:true,enumerable:true,value:val});delete m.values[keyName]},get:Ember.DEFAULT_GETTER_FUNCTION(keyName)})}}else if(watching[keyName]>1){watching[keyName]--}}__exports__.unwatchKey=unwatchKey});define("ember-metal/watch_path",["ember-metal/utils","ember-metal/chains","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var meta=__dependency1__.meta;var typeOf=__dependency1__.typeOf;var ChainNode=__dependency2__.ChainNode;var metaFor=meta;function chainsFor(obj,meta){var m=meta||metaFor(obj),ret=m.chains;if(!ret){ret=m.chains=new ChainNode(null,null,obj)}else if(ret.value()!==obj){ret=m.chains=ret.copy(obj)}return ret}function watchPath(obj,keyPath,meta){if(keyPath==="length"&&typeOf(obj)==="array"){return}var m=meta||metaFor(obj),watching=m.watching;if(!watching[keyPath]){watching[keyPath]=1;chainsFor(obj,m).add(keyPath)}else{watching[keyPath]=(watching[keyPath]||0)+1}}__exports__.watchPath=watchPath;function unwatchPath(obj,keyPath,meta){var m=meta||metaFor(obj),watching=m.watching;if(watching[keyPath]===1){watching[keyPath]=0;chainsFor(obj,m).remove(keyPath)}else if(watching[keyPath]>1){watching[keyPath]--}}__exports__.unwatchPath=unwatchPath});define("ember-metal/watching",["ember-metal/utils","ember-metal/chains","ember-metal/watch_key","ember-metal/watch_path","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var meta=__dependency1__.meta;var META_KEY=__dependency1__.META_KEY;var GUID_KEY=__dependency1__.GUID_KEY;var typeOf=__dependency1__.typeOf;var generateGuid=__dependency1__.generateGuid;var removeChainWatcher=__dependency2__.removeChainWatcher;var flushPendingChains=__dependency2__.flushPendingChains;var watchKey=__dependency3__.watchKey;var unwatchKey=__dependency3__.unwatchKey;var watchPath=__dependency4__.watchPath;var unwatchPath=__dependency4__.unwatchPath;var metaFor=meta;function isKeyName(path){return path.indexOf(".")===-1}function watch(obj,_keyPath,m){if(_keyPath==="length"&&typeOf(obj)==="array"){return}if(isKeyName(_keyPath)){watchKey(obj,_keyPath,m)}else{watchPath(obj,_keyPath,m)}}__exports__.watch=watch;function isWatching(obj,key){var meta=obj[META_KEY];return(meta&&meta.watching[key])>0}__exports__.isWatching=isWatching;watch.flushPending=flushPendingChains;function unwatch(obj,_keyPath,m){if(_keyPath==="length"&&typeOf(obj)==="array"){return}if(isKeyName(_keyPath)){unwatchKey(obj,_keyPath,m)}else{unwatchPath(obj,_keyPath,m)}}__exports__.unwatch=unwatch;function rewatch(obj){var m=obj[META_KEY],chains=m&&m.chains;if(GUID_KEY in obj&&!obj.hasOwnProperty(GUID_KEY)){generateGuid(obj)}if(chains&&chains.value()!==obj){m.chains=chains.copy(obj)}}__exports__.rewatch=rewatch;var NODE_STACK=[];function destroy(obj){var meta=obj[META_KEY],node,nodes,key,nodeObject;if(meta){obj[META_KEY]=null;node=meta.chains;if(node){NODE_STACK.push(node);while(NODE_STACK.length>0){node=NODE_STACK.pop();nodes=node._chains;if(nodes){for(key in nodes){if(nodes.hasOwnProperty(key)){NODE_STACK.push(nodes[key])}}}if(node._watching){nodeObject=node._object;if(nodeObject){removeChainWatcher(nodeObject,node._key,node)}}}}}}__exports__.destroy=destroy});define("ember-routing-handlebars",["ember-metal/core","ember-handlebars","ember-routing/system/router","ember-routing-handlebars/helpers/shared","ember-routing-handlebars/helpers/link_to","ember-routing-handlebars/helpers/outlet","ember-routing-handlebars/helpers/render","ember-routing-handlebars/helpers/action","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberHandlebars=__dependency2__["default"];var Router=__dependency3__["default"];var resolvePaths=__dependency4__.resolvePaths;var resolveParams=__dependency4__.resolveParams;var deprecatedLinkToHelper=__dependency5__.deprecatedLinkToHelper;var linkToHelper=__dependency5__.linkToHelper;var LinkView=__dependency5__.LinkView;var outletHelper=__dependency6__.outletHelper;var OutletView=__dependency6__.OutletView;var renderHelper=__dependency7__["default"];var ActionHelper=__dependency8__.ActionHelper;var actionHelper=__dependency8__.actionHelper;Router.resolveParams=resolveParams;Router.resolvePaths=resolvePaths;Ember.LinkView=LinkView;EmberHandlebars.ActionHelper=ActionHelper;EmberHandlebars.OutletView=OutletView;EmberHandlebars.registerHelper("render",renderHelper);EmberHandlebars.registerHelper("action",actionHelper);EmberHandlebars.registerHelper("outlet",outletHelper);EmberHandlebars.registerHelper("link-to",linkToHelper);EmberHandlebars.registerHelper("linkTo",deprecatedLinkToHelper);__exports__["default"]=Ember});define("ember-routing-handlebars/helpers/action",["ember-metal/core","ember-metal/property_get","ember-metal/array","ember-metal/utils","ember-metal/run_loop","ember-views/system/utils","ember-routing/system/router","ember-handlebars","ember-handlebars/ext","ember-handlebars/helpers/view","ember-routing-handlebars/helpers/shared","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var forEach=__dependency3__.forEach;var uuid=__dependency4__.uuid;var run=__dependency5__["default"];var isSimpleClick=__dependency6__.isSimpleClick;var EmberRouter=__dependency7__["default"];var EmberHandlebars=__dependency8__["default"];var handlebarsGet=__dependency9__.handlebarsGet;var viewHelper=__dependency10__.viewHelper;var resolveParams=__dependency11__.resolveParams;var resolvePath=__dependency11__.resolvePath;var SafeString=EmberHandlebars.SafeString;var a_slice=Array.prototype.slice;function args(options,actionName){var ret=[];if(actionName){ret.push(actionName)}var types=options.options.types.slice(1),data=options.options.data;return ret.concat(resolveParams(options.context,options.params,{types:types,data:data}))}var ActionHelper={registeredActions:{}};
8
- __exports__.ActionHelper=ActionHelper;var keys=["alt","shift","meta","ctrl"];var POINTER_EVENT_TYPE_REGEX=/^click|mouse|touch/;var isAllowedEvent=function(event,allowedKeys){if(typeof allowedKeys==="undefined"){if(POINTER_EVENT_TYPE_REGEX.test(event.type)){return isSimpleClick(event)}else{allowedKeys=""}}if(allowedKeys.indexOf("any")>=0){return true}var allowed=true;forEach.call(keys,function(key){if(event[key+"Key"]&&allowedKeys.indexOf(key)===-1){allowed=false}});return allowed};ActionHelper.registerAction=function(actionNameOrPath,options,allowedKeys){var actionId=uuid();ActionHelper.registeredActions[actionId]={eventName:options.eventName,handler:function handleRegisteredAction(event){if(!isAllowedEvent(event,allowedKeys)){return true}if(options.preventDefault!==false){event.preventDefault()}if(options.bubbles===false){event.stopPropagation()}var target=options.target,parameters=options.parameters,actionName;if(target.target){target=handlebarsGet(target.root,target.target,target.options)}else{target=target.root}if(options.boundProperty){actionName=resolveParams(parameters.context,[actionNameOrPath],{types:["ID"],data:parameters.options.data})[0];if(typeof actionName==="undefined"||typeof actionName==="function"){actionName=actionNameOrPath}}if(!actionName){actionName=actionNameOrPath}run(function runRegisteredAction(){if(target.send){target.send.apply(target,args(parameters,actionName))}else{target[actionName].apply(target,args(parameters))}})}};options.view.on("willClearRender",function(){delete ActionHelper.registeredActions[actionId]});return actionId};function actionHelper(actionName){var options=arguments[arguments.length-1],contexts=a_slice.call(arguments,1,-1);var hash=options.hash,controller=options.data.keywords.controller;var action={eventName:hash.on||"click",parameters:{context:this,options:options,params:contexts},view:options.data.view,bubbles:hash.bubbles,preventDefault:hash.preventDefault,target:{options:options},boundProperty:options.types[0]==="ID"};if(hash.target){action.target.root=this;action.target.target=hash.target}else if(controller){action.target.root=controller}var actionId=ActionHelper.registerAction(actionName,action,hash.allowedKeys);return new SafeString('data-ember-action="'+actionId+'"')}__exports__.actionHelper=actionHelper});define("ember-routing-handlebars/helpers/link_to",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/merge","ember-metal/run_loop","ember-metal/computed","ember-runtime/system/lazy_load","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/keys","ember-views/system/utils","ember-views/views/component","ember-handlebars","ember-handlebars/helpers/view","ember-routing/system/router","ember-routing-handlebars/helpers/shared","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var merge=__dependency4__["default"];var run=__dependency5__["default"];var computed=__dependency6__.computed;var onLoad=__dependency7__.onLoad;var fmt=__dependency8__.fmt;var EmberObject=__dependency9__["default"];var keys=__dependency10__["default"];var isSimpleClick=__dependency11__.isSimpleClick;var EmberComponent=__dependency12__["default"];var EmberHandlebars=__dependency13__["default"];var viewHelper=__dependency14__.viewHelper;var EmberRouter=__dependency15__["default"];var resolveParams=__dependency16__.resolveParams;var resolvePaths=__dependency16__.resolvePaths;var routeArgs=__dependency16__.routeArgs;var slice=[].slice;requireModule("ember-handlebars");var numberOfContextsAcceptedByHandler=function(handler,handlerInfos){var req=0;for(var i=0,l=handlerInfos.length;i<l;i++){req=req+handlerInfos[i].names.length;if(handlerInfos[i].handler===handler)break}return req};var QueryParams=EmberObject.extend({values:null});function getResolvedPaths(options){var types=options.options.types,data=options.options.data;return resolvePaths(options.context,options.params,{types:types,data:data})}var LinkView=Ember.LinkView=EmberComponent.extend({tagName:"a",currentWhen:null,title:null,rel:null,activeClass:"active",loadingClass:"loading",disabledClass:"disabled",_isDisabled:false,replace:false,attributeBindings:["href","title","rel"],classNameBindings:["active","loading","disabled"],eventName:"click",init:function(){this._super.apply(this,arguments);var eventName=get(this,"eventName");this.on(eventName,this,this._invoke)},_paramsChanged:function(){this.notifyPropertyChange("resolvedParams")},_setupPathObservers:function(){var helperParameters=this.parameters,linkTextPath=helperParameters.options.linkTextPath,paths=getResolvedPaths(helperParameters),length=paths.length,path,i,normalizedPath;if(linkTextPath){normalizedPath=getNormalizedPath(linkTextPath,helperParameters);this.registerObserver(normalizedPath.root,normalizedPath.path,this,this.rerender)}for(i=0;i<length;i++){path=paths[i];if(null===path){continue}normalizedPath=getNormalizedPath(path,helperParameters);this.registerObserver(normalizedPath.root,normalizedPath.path,this,this._paramsChanged)}var queryParamsObject=this.queryParamsObject;if(queryParamsObject){var values=queryParamsObject.values;for(var k in values){if(!values.hasOwnProperty(k)){continue}if(queryParamsObject.types[k]==="ID"){normalizedPath=getNormalizedPath(values[k],helperParameters);this.registerObserver(normalizedPath.root,normalizedPath.path,this,this._paramsChanged)}}}},afterRender:function(){this._super.apply(this,arguments);this._setupPathObservers()},disabled:computed(function computeLinkViewDisabled(key,value){if(value!==undefined){this.set("_isDisabled",value)}return value?get(this,"disabledClass"):false}),active:computed("loadedParams",function computeLinkViewActive(){if(get(this,"loading")){return false}var router=get(this,"router"),loadedParams=get(this,"loadedParams"),contexts=loadedParams.models,currentWhen=this.currentWhen||loadedParams.targetRouteName,handlers=router.router.recognizer.handlersFor(currentWhen),leafName=handlers[handlers.length-1].handler,maximumContexts=numberOfContextsAcceptedByHandler(currentWhen,handlers);if(contexts.length>maximumContexts){currentWhen=leafName}var args=routeArgs(currentWhen,contexts,null);var isActive=router.isActive.apply(router,args);if(!isActive){return false}if(!this.currentWhen&&leafName===loadedParams.targetRouteName){var visibleQueryParams={};merge(visibleQueryParams,loadedParams.queryParams);router._prepareQueryParams(loadedParams.targetRouteName,loadedParams.models,visibleQueryParams);isActive=shallowEqual(visibleQueryParams,router.router.state.queryParams)}if(isActive){return get(this,"activeClass")}}),loading:computed("loadedParams",function computeLinkViewLoading(){if(!get(this,"loadedParams")){return get(this,"loadingClass")}}),router:computed(function(){return get(this,"controller").container.lookup("router:main")}),_invoke:function(event){if(!isSimpleClick(event)){return true}if(this.preventDefault!==false){event.preventDefault()}if(this.bubbles===false){event.stopPropagation()}if(get(this,"_isDisabled")){return false}if(get(this,"loading")){Ember.Logger.warn("This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid.");return false}var router=get(this,"router"),loadedParams=get(this,"loadedParams");var transition=router._doTransition(loadedParams.targetRouteName,loadedParams.models,loadedParams.queryParams);if(get(this,"replace")){transition.method("replace")}var args=routeArgs(loadedParams.targetRouteName,loadedParams.models,transition.state.queryParams);var url=router.router.generate.apply(router.router,args);run.scheduleOnce("routerTransitions",this,this._eagerUpdateUrl,transition,url)},_eagerUpdateUrl:function(transition,href){if(!transition.isActive||!transition.urlMethod){return}if(href.indexOf("#")===0){href=href.slice(1)}var routerjs=get(this,"router.router");if(transition.urlMethod==="update"){routerjs.updateURL(href)}else if(transition.urlMethod==="replace"){routerjs.replaceURL(href)}transition.method(null)},resolvedParams:computed("router.url",function(){var parameters=this.parameters,options=parameters.options,types=options.types,data=options.data,targetRouteName,models;var onlyQueryParamsSupplied=parameters.params.length===0;if(onlyQueryParamsSupplied){var appController=this.container.lookup("controller:application");targetRouteName=get(appController,"currentRouteName");models=[]}else{models=resolveParams(parameters.context,parameters.params,{types:types,data:data});targetRouteName=models.shift()}var suppliedQueryParams=getResolvedQueryParams(this,targetRouteName);return{targetRouteName:targetRouteName,models:models,queryParams:suppliedQueryParams}}),loadedParams:computed("resolvedParams",function computeLinkViewRouteArgs(){var resolvedParams=get(this,"resolvedParams"),router=get(this,"router"),namedRoute=resolvedParams.targetRouteName;if(!namedRoute){return}if(!paramsAreLoaded(resolvedParams.models)){return}return resolvedParams}),queryParamsObject:null,href:computed("loadedParams",function computeLinkViewHref(){if(get(this,"tagName")!=="a"){return}var router=get(this,"router"),loadedParams=get(this,"loadedParams");if(!loadedParams){return get(this,"loadingHref")}var visibleQueryParams={};merge(visibleQueryParams,loadedParams.queryParams);router._prepareQueryParams(loadedParams.targetRouteName,loadedParams.models,visibleQueryParams);var args=routeArgs(loadedParams.targetRouteName,loadedParams.models,visibleQueryParams);var result=router.generate.apply(router,args);return result}),loadingHref:"#"});LinkView.toString=function(){return"LinkView"};function linkToHelper(name){var options=slice.call(arguments,-1)[0],params=slice.call(arguments,0,-1),hash=options.hash;if(params[params.length-1]instanceof QueryParams){hash.queryParamsObject=params.pop()}hash.disabledBinding=hash.disabledWhen;if(!options.fn){var linkTitle=params.shift();var linkType=options.types.shift();var context=this;if(linkType==="ID"){options.linkTextPath=linkTitle;options.fn=function(){return EmberHandlebars.getEscaped(context,linkTitle,options)}}else{options.fn=function(){return linkTitle}}}hash.parameters={context:this,options:options,params:params};options.helperName=options.helperName||"link-to";return viewHelper.call(this,LinkView,options)}EmberHandlebars.registerHelper("query-params",function queryParamsHelper(options){return QueryParams.create({values:options.hash,types:options.hashTypes})});function deprecatedLinkToHelper(){return linkToHelper.apply(this,arguments)}function getResolvedQueryParams(linkView,targetRouteName){var helperParameters=linkView.parameters,queryParamsObject=linkView.queryParamsObject,resolvedQueryParams={};if(!queryParamsObject){return resolvedQueryParams}var rawParams=queryParamsObject.values;for(var key in rawParams){if(!rawParams.hasOwnProperty(key)){continue}var value=rawParams[key],type=queryParamsObject.types[key];if(type==="ID"){var normalizedPath=getNormalizedPath(value,helperParameters);value=EmberHandlebars.get(normalizedPath.root,normalizedPath.path,helperParameters.options)}resolvedQueryParams[key]=value}return resolvedQueryParams}function getNormalizedPath(path,helperParameters){return EmberHandlebars.normalizePath(helperParameters.context,path,helperParameters.options.data)}function paramsAreLoaded(params){for(var i=0,len=params.length;i<len;++i){var param=params[i];if(param===null||typeof param==="undefined"){return false}}return true}function shallowEqual(a,b){var k;for(k in a){if(a.hasOwnProperty(k)&&a[k]!==b[k]){return false}}for(k in b){if(b.hasOwnProperty(k)&&a[k]!==b[k]){return false}}return true}__exports__.LinkView=LinkView;__exports__.deprecatedLinkToHelper=deprecatedLinkToHelper;__exports__.linkToHelper=linkToHelper});define("ember-routing-handlebars/helpers/outlet",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/lazy_load","ember-views/views/container_view","ember-handlebars/views/metamorph_view","ember-handlebars/helpers/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var onLoad=__dependency4__.onLoad;var ContainerView=__dependency5__["default"];var _Metamorph=__dependency6__._Metamorph;var viewHelper=__dependency7__.viewHelper;var OutletView=ContainerView.extend(_Metamorph);__exports__.OutletView=OutletView;function outletHelper(property,options){var outletSource;var container;var viewName;var viewClass;var viewFullName;if(property&&property.data&&property.data.isRenderData){options=property;property="main"}container=options.data.view.container;outletSource=options.data.view;while(!outletSource.get("template.isTop")){outletSource=outletSource.get("_parentView")}viewName=options.hash.view;if(viewName){viewFullName="view:"+viewName}viewClass=viewName?container.lookupFactory(viewFullName):options.hash.viewClass||OutletView;options.data.view.set("outletSource",outletSource);options.hash.currentViewBinding="_view.outletSource._outlets."+property;options.helperName=options.helperName||"outlet";return viewHelper.call(this,viewClass,options)}__exports__.outletHelper=outletHelper});define("ember-routing-handlebars/helpers/render",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/string","ember-routing/system/generate_controller","ember-handlebars/ext","ember-handlebars/helpers/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberError=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var camelize=__dependency5__.camelize;var generateControllerFactory=__dependency6__.generateControllerFactory;var generateController=__dependency6__.default;var handlebarsGet=__dependency7__.handlebarsGet;var viewHelper=__dependency8__.viewHelper;__exports__["default"]=function renderHelper(name,contextString,options){var length=arguments.length;var contextProvided=length===3,container,router,controller,view,context,lookupOptions;container=(options||contextString).data.keywords.controller.container;router=container.lookup("router:main");if(length===2){options=contextString;contextString=undefined}else if(length===3){context=handlebarsGet(options.contexts[1],contextString,options)}else{throw new EmberError("You must pass a templateName to render")}name=name.replace(/\//g,".");view=container.lookup("view:"+name)||container.lookup("view:default");var controllerName=options.hash.controller||name;var controllerFullName="controller:"+controllerName;if(options.hash.controller){}var parentController=options.data.keywords.controller;if(length>2){var factory=container.lookupFactory(controllerFullName)||generateControllerFactory(container,controllerName,context);controller=factory.create({model:context,parentController:parentController,target:parentController});view.one("willDestroyElement",function(){controller.destroy()})}else{controller=container.lookup(controllerFullName)||generateController(container,controllerName);controller.setProperties({target:parentController,parentController:parentController})}var root=options.contexts[1];if(root){view.registerObserver(root,contextString,function(){controller.set("model",handlebarsGet(root,contextString,options))})}options.hash.viewName=camelize(name);var templateName="template:"+name;options.hash.template=container.lookup(templateName);options.hash.controller=controller;if(router&&!context){router._connectActiveView(name,view)}options.helperName=options.helperName||'render "'+name+'"';viewHelper.call(this,view,options)}});define("ember-routing-handlebars/helpers/shared",["ember-metal/property_get","ember-metal/array","ember-runtime/mixins/controller","ember-handlebars/ext","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var get=__dependency1__.get;var map=__dependency2__.map;var ControllerMixin=__dependency3__["default"];var handlebarsResolve=__dependency4__.resolveParams;var handlebarsGet=__dependency4__.handlebarsGet;var typeOf=__dependency5__.typeOf;var get=__dependency1__.get;function routeArgs(targetRouteName,models,queryParams){var args=[];if(typeOf(targetRouteName)==="string"){args.push(""+targetRouteName)}args.push.apply(args,models);args.push({queryParams:queryParams});return args}__exports__.routeArgs=routeArgs;function getActiveTargetName(router){var handlerInfos=router.activeTransition?router.activeTransition.state.handlerInfos:router.state.handlerInfos;return handlerInfos[handlerInfos.length-1].name}__exports__.getActiveTargetName=getActiveTargetName;function resolveParams(context,params,options){return map.call(resolvePaths(context,params,options),function(path,i){if(null===path){return params[i]}else{return handlebarsGet(context,path,options)}})}__exports__.resolveParams=resolveParams;function stashParamNames(router,handlerInfos){if(handlerInfos._namesStashed){return}var targetRouteName=handlerInfos[handlerInfos.length-1].name;var recogHandlers=router.router.recognizer.handlersFor(targetRouteName);var dynamicParent=null;for(var i=0,len=handlerInfos.length;i<len;++i){var handlerInfo=handlerInfos[i];var names=recogHandlers[i].names;if(names.length){dynamicParent=handlerInfo}handlerInfo._names=names;var route=handlerInfo.handler;route._stashNames(handlerInfo,dynamicParent)}handlerInfos._namesStashed=true}__exports__.stashParamNames=stashParamNames;function resolvePaths(context,params,options){var resolved=handlebarsResolve(context,params,options),types=options.types;return map.call(resolved,function(object,i){if(types[i]==="ID"){return unwrap(object,params[i])}else{return null}});function unwrap(object,path){if(path==="controller"){return path}if(ControllerMixin.detect(object)){return unwrap(get(object,"model"),path?path+".model":"model")}else{return path}}}__exports__.resolvePaths=resolvePaths});define("ember-routing",["ember-handlebars","ember-metal/core","ember-routing/ext/run_loop","ember-routing/ext/controller","ember-routing/ext/view","ember-routing/location/api","ember-routing/location/none_location","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/system/controller_for","ember-routing/system/dsl","ember-routing/system/router","ember-routing/system/route","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__exports__){"use strict";var EmberHandlebars=__dependency1__["default"];var Ember=__dependency2__["default"];var EmberLocation=__dependency6__["default"];var NoneLocation=__dependency7__["default"];var HashLocation=__dependency8__["default"];var HistoryLocation=__dependency9__["default"];var AutoLocation=__dependency10__["default"];var controllerFor=__dependency11__.controllerFor;var generateControllerFactory=__dependency11__.generateControllerFactory;var generateController=__dependency11__.generateController;var RouterDSL=__dependency12__["default"];var Router=__dependency13__["default"];var Route=__dependency14__["default"];Ember.Location=EmberLocation;Ember.AutoLocation=AutoLocation;Ember.HashLocation=HashLocation;Ember.HistoryLocation=HistoryLocation;Ember.NoneLocation=NoneLocation;Ember.controllerFor=controllerFor;Ember.generateControllerFactory=generateControllerFactory;Ember.generateController=generateController;Ember.RouterDSL=RouterDSL;Ember.Router=Router;Ember.Route=Route;__exports__["default"]=Ember});define("ember-routing/ext/controller",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/utils","ember-metal/merge","ember-metal/enumerable_utils","ember-runtime/mixins/controller","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var computed=__dependency4__.computed;var typeOf=__dependency5__.typeOf;var meta=__dependency5__.meta;var merge=__dependency6__["default"];var map=__dependency7__.map;var ControllerMixin=__dependency8__["default"];ControllerMixin.reopen({transitionToRoute:function(){var target=get(this,"target");var method=target.transitionToRoute||target.transitionTo;return method.apply(target,arguments)},transitionTo:function(){return this.transitionToRoute.apply(this,arguments)},replaceRoute:function(){var target=get(this,"target");var method=target.replaceRoute||target.replaceWith;return method.apply(target,arguments)},replaceWith:function(){return this.replaceRoute.apply(this,arguments)}});var ALL_PERIODS_REGEX=/\./g;ControllerMixin.reopen({init:function(){this._super.apply(this,arguments);listenForQueryParamChanges(this)},concatenatedProperties:["queryParams","_pCacheMeta"],queryParams:null,_qpDelegate:null,_normalizedQueryParams:computed(function(){var m=meta(this);if(m.proto!==this){return get(m.proto,"_normalizedQueryParams")}var queryParams=this.queryParams;if(queryParams._qpMap){return queryParams._qpMap}var qpMap=queryParams._qpMap={};for(var i=0,len=queryParams.length;i<len;++i){accumulateQueryParamDescriptors(queryParams[i],qpMap)}return qpMap}),_cacheMeta:computed(function(){var m=meta(this);if(m.proto!==this){return get(m.proto,"_cacheMeta")}var cacheMeta={};var qpMap=get(this,"_normalizedQueryParams");for(var prop in qpMap){if(!qpMap.hasOwnProperty(prop)){continue}var qp=qpMap[prop];var scope=qp.scope;var parts;if(scope==="controller"){parts=[]}cacheMeta[prop]={parts:parts,values:null,scope:scope,prefix:"",def:get(this,prop)}}return cacheMeta}),_updateCacheParams:function(params){var cacheMeta=get(this,"_cacheMeta");for(var prop in cacheMeta){if(!cacheMeta.hasOwnProperty(prop)){continue}var propMeta=cacheMeta[prop];propMeta.values=params;var cacheKey=this._calculateCacheKey(propMeta.prefix,propMeta.parts,propMeta.values);var cache=this._bucketCache;var value=cache.lookup(cacheKey,prop,propMeta.def);set(this,prop,value)}},_qpChanged:function(controller,_prop){var prop=_prop.substr(0,_prop.length-3);var cacheMeta=get(controller,"_cacheMeta");var propCache=cacheMeta[prop];var cacheKey=controller._calculateCacheKey(propCache.prefix||"",propCache.parts,propCache.values);var value=get(controller,prop);controller._bucketCache.stash(cacheKey,prop,value);var delegate=controller._qpDelegate;if(delegate){delegate(controller,prop)}},_calculateCacheKey:function(prefix,_parts,values){var parts=_parts||[],suffixes="";for(var i=0,len=parts.length;i<len;++i){var part=parts[i];var value=get(values,part);suffixes+="::"+part+":"+value}return prefix+suffixes.replace(ALL_PERIODS_REGEX,"-")}});function accumulateQueryParamDescriptors(_desc,accum){var desc=_desc,tmp;if(typeOf(desc)==="string"){tmp={};tmp[desc]={as:null};desc=tmp}for(var key in desc){if(!desc.hasOwnProperty(key)){return}var singleDesc=desc[key];if(typeOf(singleDesc)==="string"){singleDesc={as:singleDesc}}tmp=accum[key]||{as:null,scope:"model"};merge(tmp,singleDesc);accum[key]=tmp}}function listenForQueryParamChanges(controller){var qpMap=get(controller,"_normalizedQueryParams");for(var prop in qpMap){if(!qpMap.hasOwnProperty(prop)){continue}controller.addObserver(prop+".[]",controller,controller._qpChanged)}}__exports__["default"]=ControllerMixin});define("ember-routing/ext/run_loop",["ember-metal/run_loop"],function(__dependency1__){"use strict";var run=__dependency1__["default"];var queues=run.queues;run._addQueue("routerTransitions","actions")});define("ember-routing/ext/view",["ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-views/views/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var run=__dependency3__["default"];var EmberView=__dependency4__["default"];EmberView.reopen({init:function(){set(this,"_outlets",{});this._super()},connectOutlet:function(outletName,view){if(this._pendingDisconnections){delete this._pendingDisconnections[outletName]}if(this._hasEquivalentView(outletName,view)){view.destroy();return}var outlets=get(this,"_outlets");var container=get(this,"container");var router=container&&container.lookup("router:main");var renderedName=get(view,"renderedName");set(outlets,outletName,view);if(router&&renderedName){router._connectActiveView(renderedName,view)}},_hasEquivalentView:function(outletName,view){var existingView=get(this,"_outlets."+outletName);return existingView&&existingView.constructor===view.constructor&&existingView.get("template")===view.get("template")&&existingView.get("context")===view.get("context")},disconnectOutlet:function(outletName){if(!this._pendingDisconnections){this._pendingDisconnections={}}this._pendingDisconnections[outletName]=true;run.once(this,"_finishDisconnections")},_finishDisconnections:function(){if(this.isDestroyed)return;var outlets=get(this,"_outlets");var pendingDisconnections=this._pendingDisconnections;this._pendingDisconnections=null;for(var outletName in pendingDisconnections){set(outlets,outletName,null)}}});__exports__["default"]=EmberView});define("ember-routing/location/api",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;__exports__["default"]={create:function(options){var implementation=options&&options.implementation;var implementationClass=this.implementations[implementation];return implementationClass.create.apply(implementationClass,arguments)},registerImplementation:function(name,implementation){this.implementations[name]=implementation},implementations:{},_location:window.location,_getHash:function(){var href=(this._location||this.location).href;var hashIndex=href.indexOf("#");if(hashIndex===-1){return""}else{return href.substr(hashIndex)}}}});define("ember-routing/location/auto_location",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-routing/location/api","ember-routing/location/history_location","ember-routing/location/hash_location","ember-routing/location/none_location","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var EmberLocation=__dependency4__["default"];var HistoryLocation=__dependency5__["default"];var HashLocation=__dependency6__["default"];var NoneLocation=__dependency7__["default"];__exports__["default"]={cancelRouterSetup:false,rootURL:"/",_window:window,_location:window.location,_history:window.history,_HistoryLocation:HistoryLocation,_HashLocation:HashLocation,_NoneLocation:NoneLocation,_getOrigin:function(){var location=this._location;var origin=location.origin;if(!origin){origin=location.protocol+"//"+location.hostname;if(location.port){origin+=":"+location.port}}return origin},_getSupportsHistory:function(){var userAgent=this._window.navigator.userAgent;if(userAgent.indexOf("Android 2")!==-1&&userAgent.indexOf("Mobile Safari")!==-1&&userAgent.indexOf("Chrome")===-1){return false}return!!(this._history&&"pushState"in this._history)},_getSupportsHashChange:function(){var _window=this._window;var documentMode=_window.document.documentMode;return"onhashchange"in _window&&(documentMode===undefined||documentMode>7)},_replacePath:function(path){this._location.replace(this._getOrigin()+path)},_getRootURL:function(){return this.rootURL},_getPath:function(){var pathname=this._location.pathname;if(pathname.charAt(0)!=="/"){pathname="/"+pathname}return pathname},_getHash:EmberLocation._getHash,_getQuery:function(){return this._location.search},_getFullPath:function(){return this._getPath()+this._getQuery()+this._getHash()},_getHistoryPath:function(){var rootURL=this._getRootURL();var path=this._getPath();var hash=this._getHash();var query=this._getQuery();var rootURLIndex=path.indexOf(rootURL);var routeHash,hashParts;if(hash.substr(0,2)==="#/"){hashParts=hash.substr(1).split("#");routeHash=hashParts.shift();if(path.slice(-1)==="/"){routeHash=routeHash.substr(1)}path+=routeHash;path+=query;if(hashParts.length){path+="#"+hashParts.join("#")}}else{path+=query;path+=hash}return path},_getHashPath:function(){var rootURL=this._getRootURL();var path=rootURL;var historyPath=this._getHistoryPath();var routePath=historyPath.substr(rootURL.length);if(routePath!==""){if(routePath.charAt(0)!=="/"){routePath="/"+routePath}path+="#"+routePath}return path},create:function(options){if(options&&options.rootURL){this.rootURL=options.rootURL}var historyPath,hashPath;var cancelRouterSetup=false;var implementationClass=this._NoneLocation;var currentPath=this._getFullPath();if(this._getSupportsHistory()){historyPath=this._getHistoryPath();if(currentPath===historyPath){implementationClass=this._HistoryLocation}else{cancelRouterSetup=true;this._replacePath(historyPath)}}else if(this._getSupportsHashChange()){hashPath=this._getHashPath();if(currentPath===hashPath||currentPath==="/"&&hashPath==="/#/"){implementationClass=this._HashLocation}else{cancelRouterSetup=true;this._replacePath(hashPath)}}var implementation=implementationClass.create.apply(implementationClass,arguments);if(cancelRouterSetup){set(implementation,"cancelRouterSetup",true)}return implementation}}});define("ember-routing/location/hash_location",["ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api","ember-views/system/jquery","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var run=__dependency3__["default"];var guidFor=__dependency4__.guidFor;var EmberObject=__dependency5__["default"];var EmberLocation=__dependency6__["default"];var jQuery=__dependency7__["default"];__exports__["default"]=EmberObject.extend({implementation:"hash",init:function(){set(this,"location",get(this,"_location")||window.location)},getHash:EmberLocation._getHash,getURL:function(){return this.getHash().substr(1)},setURL:function(path){get(this,"location").hash=path;set(this,"lastSetURL",path)},replaceURL:function(path){get(this,"location").replace("#"+path);set(this,"lastSetURL",path)},onUpdateURL:function(callback){var self=this;var guid=guidFor(this);jQuery(window).on("hashchange.ember-location-"+guid,function(){run(function(){var path=self.getURL();if(get(self,"lastSetURL")===path){return}set(self,"lastSetURL",null);callback(path)})})},formatURL:function(url){return"#"+url},willDestroy:function(){var guid=guidFor(this);jQuery(window).off("hashchange.ember-location-"+guid)}})});define("ember-routing/location/history_location",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-runtime/system/object","ember-views/system/jquery","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";
9
- var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var EmberObject=__dependency5__["default"];var jQuery=__dependency6__["default"];var popstateFired=false;var supportsHistoryState=window.history&&"state"in window.history;__exports__["default"]=EmberObject.extend({implementation:"history",init:function(){set(this,"location",get(this,"location")||window.location);set(this,"baseURL",jQuery("base").attr("href")||"")},initState:function(){set(this,"history",get(this,"history")||window.history);this.replaceState(this.formatURL(this.getURL()))},rootURL:"/",getURL:function(){var rootURL=get(this,"rootURL");var location=get(this,"location");var path=location.pathname;var baseURL=get(this,"baseURL");rootURL=rootURL.replace(/\/$/,"");baseURL=baseURL.replace(/\/$/,"");var url=path.replace(baseURL,"").replace(rootURL,"");var search=location.search||"";url+=search;return url},setURL:function(path){var state=this.getState();path=this.formatURL(path);if(!state||state.path!==path){this.pushState(path)}},replaceURL:function(path){var state=this.getState();path=this.formatURL(path);if(!state||state.path!==path){this.replaceState(path)}},getState:function(){return supportsHistoryState?get(this,"history").state:this._historyState},pushState:function(path){var state={path:path};get(this,"history").pushState(state,null,path);if(!supportsHistoryState){this._historyState=state}this._previousURL=this.getURL()},replaceState:function(path){var state={path:path};get(this,"history").replaceState(state,null,path);if(!supportsHistoryState){this._historyState=state}this._previousURL=this.getURL()},onUpdateURL:function(callback){var guid=guidFor(this);var self=this;jQuery(window).on("popstate.ember-location-"+guid,function(e){if(!popstateFired){popstateFired=true;if(self.getURL()===self._previousURL){return}}callback(self.getURL())})},formatURL:function(url){var rootURL=get(this,"rootURL");var baseURL=get(this,"baseURL");if(url!==""){rootURL=rootURL.replace(/\/$/,"");baseURL=baseURL.replace(/\/$/,"")}else if(baseURL.match(/^\//)&&rootURL.match(/^\//)){baseURL=baseURL.replace(/\/$/,"")}return baseURL+rootURL+url},willDestroy:function(){var guid=guidFor(this);jQuery(window).off("popstate.ember-location-"+guid)}})});define("ember-routing/location/none_location",["ember-metal/property_get","ember-metal/property_set","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var EmberObject=__dependency3__["default"];__exports__["default"]=EmberObject.extend({implementation:"none",path:"",getURL:function(){return get(this,"path")},setURL:function(path){set(this,"path",path)},onUpdateURL:function(callback){this.updateCallback=callback},handleURL:function(url){set(this,"path",url);this.updateCallback(url)},formatURL:function(url){return url}})});define("ember-routing/system/cache",["ember-runtime/system/object","exports"],function(__dependency1__,__exports__){"use strict";var EmberObject=__dependency1__["default"];__exports__["default"]=EmberObject.extend({init:function(){this.cache={}},has:function(bucketKey){return bucketKey in this.cache},stash:function(bucketKey,key,value){var bucket=this.cache[bucketKey];if(!bucket){bucket=this.cache[bucketKey]={}}bucket[key]=value},lookup:function(bucketKey,prop,defaultValue){var cache=this.cache;if(!(bucketKey in cache)){return defaultValue}var bucket=cache[bucketKey];if(prop in bucket){return bucket[prop]}else{return defaultValue}},cache:null})});define("ember-routing/system/controller_for",["exports"],function(__exports__){"use strict";__exports__["default"]=function controllerFor(container,controllerName,lookupOptions){return container.lookup("controller:"+controllerName,lookupOptions)}});define("ember-routing/system/dsl",["ember-metal/core","exports"],function(__dependency1__,__exports__){"use strict";var Ember=__dependency1__["default"];function DSL(name){this.parent=name;this.matches=[]}__exports__["default"]=DSL;DSL.prototype={resource:function(name,options,callback){if(arguments.length===2&&typeof options==="function"){callback=options;options={}}if(arguments.length===1){options={}}if(typeof options.path!=="string"){options.path="/"+name}var createSubRoutes=false;createSubRoutes=true;if(createSubRoutes){var dsl=new DSL(name);route(dsl,"loading");route(dsl,"error",{path:"/_unused_dummy_error_path_route_"+name+"/:error"});if(callback){callback.call(dsl)}this.push(options.path,name,dsl.generate())}else{this.push(options.path,name,null)}},push:function(url,name,callback){var parts=name.split(".");if(url===""||url==="/"||parts[parts.length-1]==="index"){this.explicitIndex=true}this.matches.push([url,name,callback])},route:function(name,options){route(this,name,options)},generate:function(){var dslMatches=this.matches;if(!this.explicitIndex){this.route("index",{path:"/"})}return function(match){for(var i=0,l=dslMatches.length;i<l;i++){var dslMatch=dslMatches[i];var matchObj=match(dslMatch[0]).to(dslMatch[1],dslMatch[2])}}}};function route(dsl,name,options){options=options||{};if(typeof options.path!=="string"){options.path="/"+name}if(dsl.parent&&dsl.parent!=="application"){name=dsl.parent+"."+name}dsl.push(options.path,name,null)}DSL.map=function(callback){var dsl=new DSL;callback.call(dsl);return dsl}});define("ember-routing/system/generate_controller",["ember-metal/core","ember-metal/property_get","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var isArray=__dependency3__.isArray;function generateControllerFactory(container,controllerName,context){var Factory,fullName,instance,name,factoryName,controllerType;if(context&&isArray(context)){controllerType="array"}else if(context){controllerType="object"}else{controllerType="basic"}factoryName="controller:"+controllerType;Factory=container.lookupFactory(factoryName).extend({isGenerated:true,toString:function(){return"(generated "+controllerName+" controller)"}});fullName="controller:"+controllerName;container.register(fullName,Factory);return Factory}__exports__.generateControllerFactory=generateControllerFactory;__exports__["default"]=function generateController(container,controllerName,context){generateControllerFactory(container,controllerName,context);var fullName="controller:"+controllerName;var instance=container.lookup(fullName);if(get(instance,"namespace.LOG_ACTIVE_GENERATION")){}return instance}});define("ember-routing/system/route",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/get_properties","ember-metal/enumerable_utils","ember-metal/is_none","ember-metal/computed","ember-metal/merge","ember-metal/utils","ember-metal/run_loop","ember-runtime/keys","ember-runtime/copy","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/action_handler","ember-routing/system/generate_controller","ember-routing-handlebars/helpers/shared","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberError=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var getProperties=__dependency5__["default"];var forEach=__dependency6__.forEach;var replace=__dependency6__.replace;var isNone=__dependency7__.isNone;var computed=__dependency8__.computed;var merge=__dependency9__["default"];var isArray=__dependency10__.isArray;var typeOf=__dependency10__.typeOf;var run=__dependency11__["default"];var keys=__dependency12__["default"];var copy=__dependency13__["default"];var classify=__dependency14__.classify;var fmt=__dependency14__.fmt;var EmberObject=__dependency15__["default"];var ActionHandler=__dependency16__["default"];var generateController=__dependency17__["default"];var stashParamNames=__dependency18__.stashParamNames;var Route=EmberObject.extend(ActionHandler,{exit:function(){this.deactivate();this.teardownViews()},reset:function(isExiting,transition){var controller=this.controller;controller._qpDelegate=get(this,"_qp.states.inactive");this.resetController(this.controller,isExiting,transition)},enter:function(){this.activate()},viewName:null,templateName:null,controllerName:null,_actions:{queryParamsDidChange:function(changed,totalPresent,removed){var totalChanged=keys(changed).concat(keys(removed));for(var i=0,len=totalChanged.length;i<len;++i){var urlKey=totalChanged[i],options=get(this.queryParams,urlKey)||{};if(get(options,"refreshModel")){this.refresh()}}return true},finalizeQueryParamChange:function(params,finalParams,transition){if(this.routeName!=="application"){return true}if(!transition){return}var handlerInfos=transition.state.handlerInfos;var router=this.router;var qpMeta=router._queryParamsFor(handlerInfos[handlerInfos.length-1].name);var changes=router._qpUpdates;var replaceUrl;stashParamNames(router,handlerInfos);for(var i=0,len=qpMeta.qps.length;i<len;++i){var qp=qpMeta.qps[i];var route=qp.route;var controller=route.controller;var presentKey=qp.urlKey in params&&qp.urlKey;var value,svalue;if(changes&&qp.urlKey in changes){value=get(controller,qp.prop);svalue=route.serializeQueryParam(value,qp.urlKey,qp.type)}else{if(presentKey){svalue=params[presentKey];value=route.deserializeQueryParam(svalue,qp.urlKey,qp.type)}else{svalue=qp.sdef;value=qp.def;if(isArray(value)){value=Ember.A(value.slice())}}}controller._qpDelegate=get(this,"_qp.states.inactive");var thisQueryParamChanged=svalue!==qp.svalue;if(thisQueryParamChanged){var options=get(route,"queryParams."+qp.urlKey)||{};if(transition.queryParamsOnly&&replaceUrl!==false){var replaceConfigValue=get(options,"replace");if(replaceConfigValue){replaceUrl=true}else if(replaceConfigValue===false){replaceUrl=false}}set(controller,qp.prop,value)}qp.svalue=svalue;var thisQueryParamHasDefaultValue=qp.sdef===svalue;if(!thisQueryParamHasDefaultValue){finalParams.push({value:svalue,visible:true,key:presentKey||qp.urlKey})}}if(replaceUrl){transition.method("replace")}forEach(qpMeta.qps,function(qp){var routeQpMeta=get(qp.route,"_qp");var finalizedController=qp.route.controller;finalizedController._qpDelegate=get(routeQpMeta,"states.active")});router._qpUpdates=null}},events:null,mergedProperties:["events"],deactivate:Ember.K,activate:Ember.K,transitionTo:function(name,context){var router=this.router;return router.transitionTo.apply(router,arguments)},intermediateTransitionTo:function(){var router=this.router;router.intermediateTransitionTo.apply(router,arguments)},refresh:function(){return this.router.router.refresh(this)},replaceWith:function(){var router=this.router;return router.replaceWith.apply(router,arguments)},send:function(){return this.router.send.apply(this.router,arguments)},setup:function(context,transition){var controllerName=this.controllerName||this.routeName;var controller=this.controllerFor(controllerName,true);if(!controller){controller=this.generateController(controllerName,context)}this.controller=controller;if(this.setupControllers){this.setupControllers(controller,context)}else{var states=get(this,"_qp.states");if(transition){controller._qpDelegate=states.changingKeys;controller._updateCacheParams(transition.params)}controller._qpDelegate=states.allowOverrides;this.setupController(controller,context,transition)}if(this.renderTemplates){this.renderTemplates(context)}else{this.renderTemplate(controller,context)}},beforeModel:Ember.K,afterModel:Ember.K,redirect:Ember.K,contextDidChange:function(){this.currentModel=this.context},model:function(params,transition){var match,name,sawParams,value;var queryParams;queryParams=get(this,"_qp.map");for(var prop in params){if(prop==="queryParams"||queryParams&&prop in queryParams){continue}if(match=prop.match(/^(.*)_id$/)){name=match[1];value=params[prop]}sawParams=true}if(!name&&sawParams){return copy(params)}else if(!name){if(transition.resolveIndex!==transition.state.handlerInfos.length-1){return}var parentModel=transition.state.handlerInfos[transition.resolveIndex-1].context;return parentModel}return this.findModel(name,value)},deserialize:function(params,transition){return this.model(this.paramsFor(this.routeName),transition)},findModel:function(){var store=get(this,"store");return store.find.apply(store,arguments)},store:computed(function(){var container=this.container;var routeName=this.routeName;var namespace=get(this,"router.namespace");return{find:function(name,value){var modelClass=container.lookupFactory("model:"+name);if(!modelClass){return}return modelClass.find(value)}}}),serialize:function(model,params){if(params.length<1){return}if(!model){return}var name=params[0],object={};if(/_id$/.test(name)&&params.length===1){object[name]=get(model,"id")}else{object=getProperties(model,params)}return object},setupController:function(controller,context,transition){if(controller&&context!==undefined){set(controller,"model",context)}},controllerFor:function(name,_skipAssert){var container=this.container;var route=container.lookup("route:"+name);var controller;if(route&&route.controllerName){name=route.controllerName}controller=container.lookup("controller:"+name);return controller},generateController:function(name,model){var container=this.container;model=model||this.modelFor(name);return generateController(container,name,model)},modelFor:function(name){var route=this.container.lookup("route:"+name);var transition=this.router?this.router.router.activeTransition:null;if(transition){var modelLookupName=route&&route.routeName||name;if(transition.resolvedModels.hasOwnProperty(modelLookupName)){return transition.resolvedModels[modelLookupName]}}return route&&route.currentModel},renderTemplate:function(controller,model){this.render()},render:function(name,options){var namePassed=typeof name==="string"&&!!name;if(typeof name==="object"&&!options){options=name;name=this.routeName}options=options||{};var templateName;if(name){name=name.replace(/\//g,".");templateName=name}else{name=this.routeName;templateName=this.templateName||name}var viewName=options.view||namePassed&&name||this.viewName||name;var container=this.container;var view=container.lookup("view:"+viewName);var template=view?view.get("template"):null;if(!template){template=container.lookup("template:"+templateName)}if(!view&&!template){if(get(this.router,"namespace.LOG_VIEW_LOOKUPS")){}return}options=normalizeOptions(this,name,template,options);view=setupView(view,container,options);if(options.outlet==="main"){this.lastRenderedTemplate=name}appendView(this,view,options)},disconnectOutlet:function(options){if(!options||typeof options==="string"){var outletName=options;options={};options.outlet=outletName}options.parentView=options.parentView?options.parentView.replace(/\//g,"."):parentTemplate(this);options.outlet=options.outlet||"main";var parentView=this.router._lookupActiveView(options.parentView);if(parentView){parentView.disconnectOutlet(options.outlet)}},willDestroy:function(){this.teardownViews()},teardownViews:function(){if(this.teardownTopLevelView){this.teardownTopLevelView()}var teardownOutletViews=this.teardownOutletViews||[];forEach(teardownOutletViews,function(teardownOutletView){teardownOutletView()});delete this.teardownTopLevelView;delete this.teardownOutletViews;delete this.lastRenderedTemplate}});var defaultQPMeta={qps:[],map:{},states:{}};Route.reopen({queryParams:{},_qp:computed(function(){var controllerName=this.controllerName||this.routeName;var fullName=this.container.normalize("controller:"+controllerName);var controllerClass=this.container.lookupFactory(fullName);if(!controllerClass){return defaultQPMeta}var controllerProto=controllerClass.proto();var qpProps=get(controllerProto,"_normalizedQueryParams");var cacheMeta=get(controllerProto,"_cacheMeta");var qps=[],map={},self=this;for(var propName in qpProps){if(!qpProps.hasOwnProperty(propName)){continue}var desc=qpProps[propName],urlKey=desc.as||this.serializeQueryParamKey(propName),defaultValue=get(controllerProto,propName);if(isArray(defaultValue)){defaultValue=Ember.A(defaultValue.slice())}var type=typeOf(defaultValue),defaultValueSerialized=this.serializeQueryParam(defaultValue,urlKey,type),fprop=controllerName+":"+propName,qp={def:defaultValue,sdef:defaultValueSerialized,type:type,urlKey:urlKey,prop:propName,fprop:fprop,ctrl:controllerName,cProto:controllerProto,svalue:defaultValueSerialized,cacheType:desc.scope,route:this,cacheMeta:cacheMeta[propName]};map[propName]=map[urlKey]=map[fprop]=qp;qps.push(qp)}return{qps:qps,map:map,states:{active:function(controller,prop){return self._activeQPChanged(controller,map[prop])},allowOverrides:function(controller,prop){return self._updatingQPChanged(controller,map[prop])},changingKeys:function(controller,prop){return self._updateSerializedQPValue(controller,map[prop])}}}}),_names:null,_stashNames:function(_handlerInfo,dynamicParent){var handlerInfo=_handlerInfo;if(this._names){return}var names=this._names=handlerInfo._names;if(!names.length){handlerInfo=dynamicParent;names=handlerInfo&&handlerInfo._names||[]}var qps=get(this,"_qp.qps");var len=qps.length;var namePaths=new Array(names.length);for(var a=0,nlen=names.length;a<nlen;++a){namePaths[a]=handlerInfo.name+"."+names[a]}for(var i=0;i<len;++i){var qp=qps[i];var cacheMeta=qp.cacheMeta;if(cacheMeta.scope==="model"){cacheMeta.parts=namePaths}cacheMeta.prefix=qp.ctrl}},_updateSerializedQPValue:function(controller,qp){var value=get(controller,qp.prop);qp.svalue=this.serializeQueryParam(value,qp.urlKey,qp.type)},_activeQPChanged:function(controller,qp){var value=get(controller,qp.prop);this.router._queuedQPChanges[qp.fprop]=value;run.once(this,this._fireQueryParamTransition)},_updatingQPChanged:function(controller,qp){var router=this.router;if(!router._qpUpdates){router._qpUpdates={}}router._qpUpdates[qp.urlKey]=true},mergedProperties:["queryParams"],paramsFor:function(name){var route=this.container.lookup("route:"+name);if(!route){return{}}var transition=this.router.router.activeTransition;var state=transition?transition.state:this.router.router.state;var params={};merge(params,state.params[name]);if(!state.fullQueryParams){state.fullQueryParams={};merge(state.fullQueryParams,state.queryParams);var targetRouteName=state.handlerInfos[state.handlerInfos.length-1].name;this.router._deserializeQueryParams(targetRouteName,state.fullQueryParams)}var qpMeta=get(route,"_qp");if(!qpMeta){return params}var qps=qpMeta.qps;for(var i=0,len=qps.length;i<len;++i){var qp=qps[i];if(!(qp.prop in params)){params[qp.prop]=state.fullQueryParams[qp.prop]||qp.def}}return params},serializeQueryParamKey:function(controllerPropertyName){return controllerPropertyName},serializeQueryParam:function(value,urlKey,defaultValueType){if(defaultValueType==="array"){return JSON.stringify(value)}return""+value},deserializeQueryParam:function(value,urlKey,defaultValueType){if(defaultValueType==="boolean"){return value==="true"?true:false}else if(defaultValueType==="number"){return Number(value).valueOf()}else if(defaultValueType==="array"){return Ember.A(JSON.parse(value))}return value},_fireQueryParamTransition:function(){this.transitionTo({queryParams:this.router._queuedQPChanges});this.router._queuedQPChanges={}},resetController:Ember.K});function parentRoute(route){var handlerInfo=handlerInfoFor(route,route.router.router.state.handlerInfos,-1);return handlerInfo&&handlerInfo.handler}function handlerInfoFor(route,handlerInfos,_offset){if(!handlerInfos){return}var offset=_offset||0,current;for(var i=0,l=handlerInfos.length;i<l;i++){current=handlerInfos[i].handler;if(current===route){return handlerInfos[i+offset]}}}function parentTemplate(route){var parent=parentRoute(route),template;if(!parent){return}if(template=parent.lastRenderedTemplate){return template}else{return parentTemplate(parent)}}function normalizeOptions(route,name,template,options){options=options||{};options.into=options.into?options.into.replace(/\//g,"."):parentTemplate(route);options.outlet=options.outlet||"main";options.name=name;options.template=template;options.LOG_VIEW_LOOKUPS=get(route.router,"namespace.LOG_VIEW_LOOKUPS");var controller=options.controller,model=options.model,namedController;if(options.controller){controller=options.controller}else if(namedController=route.container.lookup("controller:"+name)){controller=namedController}else{controller=route.controllerName||route.routeName}if(typeof controller==="string"){var controllerName=controller;controller=route.container.lookup("controller:"+controllerName);if(!controller){throw new EmberError("You passed `controller: '"+controllerName+"'` into the `render` method, but no such controller could be found.")}}if(model){controller.set("model",model)}options.controller=controller;return options}function setupView(view,container,options){if(view){if(options.LOG_VIEW_LOOKUPS){}}else{var defaultView=options.into?"view:default":"view:toplevel";view=container.lookup(defaultView);if(options.LOG_VIEW_LOOKUPS){}}if(!get(view,"templateName")){set(view,"template",options.template);set(view,"_debugTemplateName",options.name)}set(view,"renderedName",options.name);set(view,"controller",options.controller);return view}function appendView(route,view,options){if(options.into){var parentView=route.router._lookupActiveView(options.into);var teardownOutletView=generateOutletTeardown(parentView,options.outlet);if(!route.teardownOutletViews){route.teardownOutletViews=[]}replace(route.teardownOutletViews,0,0,[teardownOutletView]);parentView.connectOutlet(options.outlet,view)}else{var rootElement=get(route,"router.namespace.rootElement");if(route.teardownTopLevelView){route.teardownTopLevelView()}route.router._connectActiveView(options.name,view);route.teardownTopLevelView=generateTopLevelTeardown(view);view.appendTo(rootElement)}}function generateTopLevelTeardown(view){return function(){view.destroy()}}function generateOutletTeardown(parentView,outlet){return function(){parentView.disconnectOutlet(outlet)}}__exports__["default"]=Route});define("ember-routing/system/router",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/properties","ember-metal/computed","ember-metal/merge","ember-metal/run_loop","ember-metal/enumerable_utils","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-routing/system/dsl","ember-views/views/view","ember-routing/location/api","ember-handlebars/views/metamorph_view","ember-routing-handlebars/helpers/shared","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberError=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var defineProperty=__dependency5__.defineProperty;var computed=__dependency6__.computed;var merge=__dependency7__["default"];var run=__dependency8__["default"];var forEach=__dependency9__.forEach;var fmt=__dependency10__.fmt;var EmberObject=__dependency11__["default"];var Evented=__dependency12__["default"];var EmberRouterDSL=__dependency13__["default"];var EmberView=__dependency14__["default"];var EmberLocation=__dependency15__["default"];var _MetamorphView=__dependency16__["default"];var routeArgs=__dependency17__.routeArgs;var getActiveTargetName=__dependency17__.getActiveTargetName;var stashParamNames=__dependency17__.stashParamNames;var Router=requireModule("router")["default"];var Transition=requireModule("router/transition").Transition;var slice=[].slice;var EmberRouter=EmberObject.extend(Evented,{location:"hash",rootURL:"/",init:function(){this.router=this.constructor.router||this.constructor.map(Ember.K);this._activeViews={};this._setupLocation();this._qpCache={};this._queuedQPChanges={};if(get(this,"namespace.LOG_TRANSITIONS_INTERNAL")){this.router.log=Ember.Logger.debug}},url:computed(function(){return get(this,"location").getURL()}),startRouting:function(){this.router=this.router||this.constructor.map(Ember.K);var router=this.router;var location=get(this,"location");var container=this.container;var self=this;var initialURL=get(this,"initialURL");if(get(location,"cancelRouterSetup")){return}this._setupRouter(router,location);container.register("view:default",_MetamorphView);container.register("view:toplevel",EmberView.extend());location.onUpdateURL(function(url){self.handleURL(url)});if(typeof initialURL==="undefined"){initialURL=location.getURL()}this.handleURL(initialURL)},didTransition:function(infos){updatePaths(this);this._cancelLoadingEvent();this.notifyPropertyChange("url");run.once(this,this.trigger,"didTransition");if(get(this,"namespace").LOG_TRANSITIONS){Ember.Logger.log("Transitioned into '"+EmberRouter._routePath(infos)+"'")}},handleURL:function(url){return this._doURLTransition("handleURL",url)},_doURLTransition:function(routerJsMethod,url){var transition=this.router[routerJsMethod](url||"/");listenForTransitionErrors(transition);return transition},transitionTo:function(){var args=slice.call(arguments),queryParams;if(resemblesURL(args[0])){return this._doURLTransition("transitionTo",args[0])}var possibleQueryParams=args[args.length-1];if(possibleQueryParams&&possibleQueryParams.hasOwnProperty("queryParams")){queryParams=args.pop().queryParams}else{queryParams={}}var targetRouteName=args.shift();return this._doTransition(targetRouteName,args,queryParams)},intermediateTransitionTo:function(){this.router.intermediateTransitionTo.apply(this.router,arguments);updatePaths(this);var infos=this.router.currentHandlerInfos;if(get(this,"namespace").LOG_TRANSITIONS){Ember.Logger.log("Intermediate-transitioned into '"+EmberRouter._routePath(infos)+"'")}},replaceWith:function(){return this.transitionTo.apply(this,arguments).method("replace")},generate:function(){var url=this.router.generate.apply(this.router,arguments);return this.location.formatURL(url)},isActive:function(routeName){var router=this.router;return router.isActive.apply(router,arguments)},isActiveIntent:function(routeName,models,queryParams){var router=this.router;return router.isActive.apply(router,arguments)},send:function(name,context){this.router.trigger.apply(this.router,arguments)},hasRoute:function(route){return this.router.hasRoute(route)},reset:function(){this.router.reset()},_lookupActiveView:function(templateName){var active=this._activeViews[templateName];return active&&active[0]},_connectActiveView:function(templateName,view){var existing=this._activeViews[templateName];if(existing){existing[0].off("willDestroyElement",this,existing[1])}function disconnectActiveView(){delete this._activeViews[templateName]}this._activeViews[templateName]=[view,disconnectActiveView];view.one("willDestroyElement",this,disconnectActiveView)},_setupLocation:function(){var location=get(this,"location");var rootURL=get(this,"rootURL");if(rootURL&&!this.container.has("-location-setting:root-url")){this.container.register("-location-setting:root-url",rootURL,{instantiate:false})}if("string"===typeof location&&this.container){var resolvedLocation=this.container.lookup("location:"+location);if("undefined"!==typeof resolvedLocation){location=set(this,"location",resolvedLocation)}else{var options={implementation:location};location=set(this,"location",EmberLocation.create(options))}}if(rootURL&&typeof rootURL==="string"){location.rootURL=rootURL}if(typeof location.initState==="function"){location.initState()}},_getHandlerFunction:function(){var seen={},container=this.container;var DefaultRoute=container.lookupFactory("route:basic");var self=this;return function(name){var routeName="route:"+name;var handler=container.lookup(routeName);if(seen[name]){return handler}seen[name]=true;if(!handler){container.register(routeName,DefaultRoute.extend());handler=container.lookup(routeName);if(get(self,"namespace.LOG_ACTIVE_GENERATION")){}}handler.routeName=name;return handler}},_setupRouter:function(router,location){var lastURL,emberRouter=this;router.getHandler=this._getHandlerFunction();var doUpdateURL=function(){location.setURL(lastURL)};router.updateURL=function(path){lastURL=path;run.once(doUpdateURL)};if(location.replaceURL){var doReplaceURL=function(){location.replaceURL(lastURL)};router.replaceURL=function(path){lastURL=path;run.once(doReplaceURL)}}router.didTransition=function(infos){emberRouter.didTransition(infos)}},_serializeQueryParams:function(targetRouteName,queryParams){var groupedByUrlKey={};forEachQueryParam(this,targetRouteName,queryParams,function(key,value,qp){var urlKey=qp.urlKey;if(!groupedByUrlKey[urlKey]){groupedByUrlKey[urlKey]=[]}groupedByUrlKey[urlKey].push({qp:qp,value:value});delete queryParams[key]});for(var key in groupedByUrlKey){var qps=groupedByUrlKey[key];if(qps.length>1){var qp0=qps[0].qp,qp1=qps[1].qp}var qp=qps[0].qp;queryParams[qp.urlKey]=qp.route.serializeQueryParam(qps[0].value,qp.urlKey,qp.type)}},_deserializeQueryParams:function(targetRouteName,queryParams){forEachQueryParam(this,targetRouteName,queryParams,function(key,value,qp){delete queryParams[key];queryParams[qp.prop]=qp.route.deserializeQueryParam(value,qp.urlKey,qp.type)})},_pruneDefaultQueryParamValues:function(targetRouteName,queryParams){var qps=this._queryParamsFor(targetRouteName);for(var key in queryParams){var qp=qps.map[key];if(qp&&qp.sdef===queryParams[key]){delete queryParams[key]}}},_doTransition:function(_targetRouteName,models,_queryParams){var targetRouteName=_targetRouteName||getActiveTargetName(this.router);var queryParams={};merge(queryParams,_queryParams);this._prepareQueryParams(targetRouteName,models,queryParams);var transitionArgs=routeArgs(targetRouteName,models,queryParams);var transitionPromise=this.router.transitionTo.apply(this.router,transitionArgs);listenForTransitionErrors(transitionPromise);return transitionPromise},_prepareQueryParams:function(targetRouteName,models,queryParams){this._hydrateUnsuppliedQueryParams(targetRouteName,models,queryParams);this._serializeQueryParams(targetRouteName,queryParams);this._pruneDefaultQueryParamValues(targetRouteName,queryParams)},_queryParamsFor:function(leafRouteName){if(this._qpCache[leafRouteName]){return this._qpCache[leafRouteName]}var map={},qps=[],qpCache=this._qpCache[leafRouteName]={map:map,qps:qps};var routerjs=this.router,recogHandlerInfos=routerjs.recognizer.handlersFor(leafRouteName);for(var i=0,len=recogHandlerInfos.length;i<len;++i){var recogHandler=recogHandlerInfos[i];var route=routerjs.getHandler(recogHandler.handler);var qpMeta=get(route,"_qp");if(!qpMeta){continue}merge(map,qpMeta.map);qps.push.apply(qps,qpMeta.qps)}return{qps:qps,map:map}},_hydrateUnsuppliedQueryParams:function(leafRouteName,contexts,queryParams){var state=calculatePostTransitionState(this,leafRouteName,contexts);var handlerInfos=state.handlerInfos;var appCache=this._bucketCache;stashParamNames(this,handlerInfos);for(var i=0,len=handlerInfos.length;i<len;++i){var route=handlerInfos[i].handler;var qpMeta=get(route,"_qp");for(var j=0,qpLen=qpMeta.qps.length;j<qpLen;++j){var qp=qpMeta.qps[j];var presentProp=qp.prop in queryParams&&qp.prop||qp.fprop in queryParams&&qp.fprop;if(presentProp){if(presentProp!==qp.fprop){queryParams[qp.fprop]=queryParams[presentProp];delete queryParams[presentProp]}}else{var controllerProto=qp.cProto;var cacheMeta=get(controllerProto,"_cacheMeta");var cacheKey=controllerProto._calculateCacheKey(qp.ctrl,cacheMeta[qp.prop].parts,state.params);queryParams[qp.fprop]=appCache.lookup(cacheKey,qp.prop,qp.def)
10
- }}}},_scheduleLoadingEvent:function(transition,originRoute){this._cancelLoadingEvent();this._loadingStateTimer=run.scheduleOnce("routerTransitions",this,"_fireLoadingEvent",transition,originRoute)},_fireLoadingEvent:function(transition,originRoute){if(!this.router.activeTransition){return}transition.trigger(true,"loading",transition,originRoute)},_cancelLoadingEvent:function(){if(this._loadingStateTimer){run.cancel(this._loadingStateTimer)}this._loadingStateTimer=null}});function forEachRouteAbove(originRoute,transition,callback){var handlerInfos=transition.state.handlerInfos;var originRouteFound=false;var handlerInfo,route;for(var i=handlerInfos.length-1;i>=0;--i){handlerInfo=handlerInfos[i];route=handlerInfo.handler;if(!originRouteFound){if(originRoute===route){originRouteFound=true}continue}if(callback(route,handlerInfos[i+1].handler)!==true){return false}}return true}var defaultActionHandlers={willResolveModel:function(transition,originRoute){originRoute.router._scheduleLoadingEvent(transition,originRoute)},error:function(error,transition,originRoute){var router=originRoute.router;var tryTopLevel=forEachRouteAbove(originRoute,transition,function(route,childRoute){var childErrorRouteName=findChildRouteName(route,childRoute,"error");if(childErrorRouteName){router.intermediateTransitionTo(childErrorRouteName,error);return}return true});if(tryTopLevel){if(routeHasBeenDefined(originRoute.router,"application_error")){router.intermediateTransitionTo("application_error",error);return}}else{return}var errorArgs=["Error while processing route: "+transition.targetName];if(error){if(error.message){errorArgs.push(error.message)}if(error.stack){errorArgs.push(error.stack)}if(typeof error==="string"){errorArgs.push(error)}}Ember.Logger.error.apply(this,errorArgs)},loading:function(transition,originRoute){var router=originRoute.router;var tryTopLevel=forEachRouteAbove(originRoute,transition,function(route,childRoute){var childLoadingRouteName=findChildRouteName(route,childRoute,"loading");if(childLoadingRouteName){router.intermediateTransitionTo(childLoadingRouteName);return}if(transition.pivotHandler!==route){return true}});if(tryTopLevel){if(routeHasBeenDefined(originRoute.router,"application_loading")){router.intermediateTransitionTo("application_loading");return}}}};function findChildRouteName(parentRoute,originatingChildRoute,name){var router=parentRoute.router;var childName;var targetChildRouteName=originatingChildRoute.routeName.split(".").pop();var namespace=parentRoute.routeName==="application"?"":parentRoute.routeName+".";childName=namespace+name;if(routeHasBeenDefined(router,childName)){return childName}}function routeHasBeenDefined(router,name){var container=router.container;return router.hasRoute(name)&&(container.has("template:"+name)||container.has("route:"+name))}function triggerEvent(handlerInfos,ignoreFailure,args){var name=args.shift();if(!handlerInfos){if(ignoreFailure){return}throw new EmberError("Can't trigger action '"+name+"' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call `.send()` on the `Transition` object passed to the `model/beforeModel/afterModel` hooks.")}var eventWasHandled=false;var handlerInfo,handler;for(var i=handlerInfos.length-1;i>=0;i--){handlerInfo=handlerInfos[i];handler=handlerInfo.handler;if(handler._actions&&handler._actions[name]){if(handler._actions[name].apply(handler,args)===true){eventWasHandled=true}else{return}}}if(defaultActionHandlers[name]){defaultActionHandlers[name].apply(null,args);return}if(!eventWasHandled&&!ignoreFailure){throw new EmberError("Nothing handled the action '"+name+"'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.")}}function calculatePostTransitionState(emberRouter,leafRouteName,contexts){var routerjs=emberRouter.router;var state=routerjs.applyIntent(leafRouteName,contexts);var handlerInfos=state.handlerInfos;var params=state.params;for(var i=0,len=handlerInfos.length;i<len;++i){var handlerInfo=handlerInfos[i];if(!handlerInfo.isResolved){handlerInfo=handlerInfo.becomeResolved(null,handlerInfo.context)}params[handlerInfo.name]=handlerInfo.params}return state}function updatePaths(router){var appController=router.container.lookup("controller:application");if(!appController){return}var infos=router.router.currentHandlerInfos,path=EmberRouter._routePath(infos);if(!("currentPath"in appController)){defineProperty(appController,"currentPath")}set(appController,"currentPath",path);if(!("currentRouteName"in appController)){defineProperty(appController,"currentRouteName")}set(appController,"currentRouteName",infos[infos.length-1].name)}EmberRouter.reopenClass({router:null,map:function(callback){var router=this.router;if(!router){router=new Router;router._triggerWillChangeContext=Ember.K;router._triggerWillLeave=Ember.K;router.callbacks=[];router.triggerEvent=triggerEvent;this.reopenClass({router:router})}var dsl=EmberRouterDSL.map(function(){this.resource("application",{path:"/"},function(){for(var i=0;i<router.callbacks.length;i++){router.callbacks[i].call(this)}callback.call(this)})});router.callbacks.push(callback);router.map(dsl.generate());return router},_routePath:function(handlerInfos){var path=[];function intersectionMatches(a1,a2){for(var i=0,len=a1.length;i<len;++i){if(a1[i]!==a2[i]){return false}}return true}var name,nameParts,oldNameParts;for(var i=1,l=handlerInfos.length;i<l;i++){name=handlerInfos[i].name;nameParts=name.split(".");oldNameParts=slice.call(path);while(oldNameParts.length){if(intersectionMatches(oldNameParts,nameParts)){break}oldNameParts.shift()}path.push.apply(path,nameParts.slice(oldNameParts.length))}return path.join(".")}});function listenForTransitionErrors(transition){transition.then(null,function(error){if(!error||!error.name){return}if(error.name==="UnrecognizedURLError"){}else if(error.name==="TransitionAborted"){}else{throw error}return error},"Ember: Process errors from Router")}function resemblesURL(str){return typeof str==="string"&&(str===""||str.charAt(0)==="/")}function forEachQueryParam(router,targetRouteName,queryParams,callback){var qpCache=router._queryParamsFor(targetRouteName),qps=qpCache.qps;for(var key in queryParams){if(!queryParams.hasOwnProperty(key)){continue}var value=queryParams[key],qp=qpCache.map[key];if(qp){callback(key,value,qp)}}}__exports__["default"]=EmberRouter});define("ember-runtime",["ember-metal","ember-runtime/core","ember-runtime/keys","ember-runtime/compare","ember-runtime/copy","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/tracked_array","ember-runtime/system/subarray","ember-runtime/system/container","ember-runtime/system/application","ember-runtime/system/array_proxy","ember-runtime/system/object_proxy","ember-runtime/system/core_object","ember-runtime/system/each_proxy","ember-runtime/system/native_array","ember-runtime/system/set","ember-runtime/system/string","ember-runtime/system/deferred","ember-runtime/system/lazy_load","ember-runtime/mixins/array","ember-runtime/mixins/comparable","ember-runtime/mixins/copyable","ember-runtime/mixins/enumerable","ember-runtime/mixins/freezable","ember-runtime/mixins/observable","ember-runtime/mixins/action_handler","ember-runtime/mixins/deferred","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/mutable_array","ember-runtime/mixins/target_action_support","ember-runtime/mixins/evented","ember-runtime/mixins/promise_proxy","ember-runtime/mixins/sortable","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/computed/reduce_computed_macros","ember-runtime/controllers/array_controller","ember-runtime/controllers/object_controller","ember-runtime/controllers/controller","ember-runtime/mixins/controller","ember-runtime/ext/rsvp","ember-runtime/ext/string","ember-runtime/ext/function","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__dependency19__,__dependency20__,__dependency21__,__dependency22__,__dependency23__,__dependency24__,__dependency25__,__dependency26__,__dependency27__,__dependency28__,__dependency29__,__dependency30__,__dependency31__,__dependency32__,__dependency33__,__dependency34__,__dependency35__,__dependency36__,__dependency37__,__dependency38__,__dependency39__,__dependency40__,__dependency41__,__dependency42__,__dependency43__,__dependency44__,__exports__){"use strict";var Ember=__dependency1__["default"];var isEqual=__dependency2__.isEqual;var keys=__dependency3__["default"];var compare=__dependency4__["default"];var copy=__dependency5__["default"];var Namespace=__dependency6__["default"];var EmberObject=__dependency7__["default"];var TrackedArray=__dependency8__["default"];var SubArray=__dependency9__["default"];var Container=__dependency10__["default"];var Application=__dependency11__["default"];var ArrayProxy=__dependency12__["default"];var ObjectProxy=__dependency13__["default"];var CoreObject=__dependency14__["default"];var EachArray=__dependency15__.EachArray;var EachProxy=__dependency15__.EachProxy;var NativeArray=__dependency16__["default"];var Set=__dependency17__["default"];var EmberStringUtils=__dependency18__["default"];var Deferred=__dependency19__["default"];var onLoad=__dependency20__.onLoad;var runLoadHooks=__dependency20__.runLoadHooks;var EmberArray=__dependency21__["default"];var Comparable=__dependency22__["default"];var Copyable=__dependency23__["default"];var Enumerable=__dependency24__["default"];var Freezable=__dependency25__.Freezable;var FROZEN_ERROR=__dependency25__.FROZEN_ERROR;var Observable=__dependency26__["default"];var ActionHandler=__dependency27__["default"];var DeferredMixin=__dependency28__["default"];var MutableEnumerable=__dependency29__["default"];var MutableArray=__dependency30__["default"];var TargetActionSupport=__dependency31__["default"];var Evented=__dependency32__["default"];var PromiseProxyMixin=__dependency33__["default"];var SortableMixin=__dependency34__["default"];var arrayComputed=__dependency35__.arrayComputed;var ArrayComputedProperty=__dependency35__.ArrayComputedProperty;var reduceComputed=__dependency36__.reduceComputed;var ReduceComputedProperty=__dependency36__.ReduceComputedProperty;var sum=__dependency37__.sum;var min=__dependency37__.min;var max=__dependency37__.max;var map=__dependency37__.map;var sort=__dependency37__.sort;var setDiff=__dependency37__.setDiff;var mapBy=__dependency37__.mapBy;var mapProperty=__dependency37__.mapProperty;var filter=__dependency37__.filter;var filterBy=__dependency37__.filterBy;var filterProperty=__dependency37__.filterProperty;var uniq=__dependency37__.uniq;var union=__dependency37__.union;var intersect=__dependency37__.intersect;var ArrayController=__dependency38__["default"];var ObjectController=__dependency39__["default"];var Controller=__dependency40__["default"];var ControllerMixin=__dependency41__["default"];var RSVP=__dependency42__["default"];Ember.compare=compare;Ember.copy=copy;Ember.isEqual=isEqual;Ember.keys=keys;Ember.Array=EmberArray;Ember.Comparable=Comparable;Ember.Copyable=Copyable;Ember.SortableMixin=SortableMixin;Ember.Freezable=Freezable;Ember.FROZEN_ERROR=FROZEN_ERROR;Ember.DeferredMixin=DeferredMixin;Ember.MutableEnumerable=MutableEnumerable;Ember.MutableArray=MutableArray;Ember.TargetActionSupport=TargetActionSupport;Ember.Evented=Evented;Ember.PromiseProxyMixin=PromiseProxyMixin;Ember.Observable=Observable;Ember.arrayComputed=arrayComputed;Ember.ArrayComputedProperty=ArrayComputedProperty;Ember.reduceComputed=reduceComputed;Ember.ReduceComputedProperty=ReduceComputedProperty;var EmComputed=Ember.computed;EmComputed.sum=sum;EmComputed.min=min;EmComputed.max=max;EmComputed.map=map;EmComputed.sort=sort;EmComputed.setDiff=setDiff;EmComputed.mapBy=mapBy;EmComputed.mapProperty=mapProperty;EmComputed.filter=filter;EmComputed.filterBy=filterBy;EmComputed.filterProperty=filterProperty;EmComputed.uniq=uniq;EmComputed.union=union;EmComputed.intersect=intersect;Ember.String=EmberStringUtils;Ember.Object=EmberObject;Ember.TrackedArray=TrackedArray;Ember.SubArray=SubArray;Ember.Container=Container;Ember.Namespace=Namespace;Ember.Enumerable=Enumerable;Ember.ArrayProxy=ArrayProxy;Ember.ObjectProxy=ObjectProxy;Ember.ActionHandler=ActionHandler;Ember.CoreObject=CoreObject;Ember.EachArray=EachArray;Ember.EachProxy=EachProxy;Ember.NativeArray=NativeArray;Ember.Set=Set;Ember.Deferred=Deferred;Ember.onLoad=onLoad;Ember.runLoadHooks=runLoadHooks;Ember.ArrayController=ArrayController;Ember.ObjectController=ObjectController;Ember.Controller=Controller;Ember.ControllerMixin=ControllerMixin;Ember.RSVP=RSVP;__exports__["default"]=Ember});define("ember-runtime/compare",["ember-metal/core","ember-metal/utils","ember-runtime/mixins/comparable","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var typeOf=__dependency2__.typeOf;var Comparable=__dependency3__["default"];Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||["undefined","null","boolean","number","string","array","object","instance","function","class","date"];__exports__["default"]=function compare(v,w){if(v===w){return 0}var type1=typeOf(v);var type2=typeOf(w);if(Comparable){if(type1==="instance"&&Comparable.detect(v.constructor)){return v.constructor.compare(v,w)}if(type2==="instance"&&Comparable.detect(w.constructor)){return 1-w.constructor.compare(w,v)}}var mapping=Ember.ORDER_DEFINITION_MAPPING;if(!mapping){var order=Ember.ORDER_DEFINITION;mapping=Ember.ORDER_DEFINITION_MAPPING={};var idx,len;for(idx=0,len=order.length;idx<len;++idx){mapping[order[idx]]=idx}delete Ember.ORDER_DEFINITION}var type1Index=mapping[type1];var type2Index=mapping[type2];if(type1Index<type2Index){return-1}if(type1Index>type2Index){return 1}switch(type1){case"boolean":case"number":if(v<w){return-1}if(v>w){return 1}return 0;case"string":var comp=v.localeCompare(w);if(comp<0){return-1}if(comp>0){return 1}return 0;case"array":var vLen=v.length;var wLen=w.length;var l=Math.min(vLen,wLen);var r=0;var i=0;while(r===0&&i<l){r=compare(v[i],w[i]);i++}if(r!==0){return r}if(vLen<wLen){return-1}if(vLen>wLen){return 1}return 0;case"instance":if(Comparable&&Comparable.detect(v)){return v.compare(v,w)}return 0;case"date":var vNum=v.getTime();var wNum=w.getTime();if(vNum<wNum){return-1}if(vNum>wNum){return 1}return 0;default:return 0}}});define("ember-runtime/computed/array_computed",["ember-metal/core","ember-runtime/computed/reduce_computed","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/observer","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var reduceComputed=__dependency2__.reduceComputed;var ReduceComputedProperty=__dependency2__.ReduceComputedProperty;var forEach=__dependency3__.forEach;var o_create=__dependency4__.create;var addObserver=__dependency5__.addObserver;var EmberError=__dependency6__["default"];var a_slice=[].slice;function ArrayComputedProperty(){var cp=this;ReduceComputedProperty.apply(this,arguments);this.func=function(reduceFunc){return function(propertyName){if(!cp._hasInstanceMeta(this,propertyName)){forEach(cp._dependentKeys,function(dependentKey){addObserver(this,dependentKey,function(){cp.recomputeOnce.call(this,propertyName)})},this)}return reduceFunc.apply(this,arguments)}}(this.func);return this}ArrayComputedProperty.prototype=o_create(ReduceComputedProperty.prototype);ArrayComputedProperty.prototype.initialValue=function(){return Ember.A()};ArrayComputedProperty.prototype.resetValue=function(array){array.clear();return array};ArrayComputedProperty.prototype.didChange=function(obj,keyName){return};function arrayComputed(options){var args;if(arguments.length>1){args=a_slice.call(arguments,0,-1);options=a_slice.call(arguments,-1)[0]}if(typeof options!=="object"){throw new EmberError("Array Computed Property declared without an options hash")}var cp=new ArrayComputedProperty(options);if(args){cp.property.apply(cp,args)}return cp}__exports__.arrayComputed=arrayComputed;__exports__.ArrayComputedProperty=ArrayComputedProperty});define("ember-runtime/computed/reduce_computed",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/error","ember-metal/property_events","ember-metal/expand_properties","ember-metal/observer","ember-metal/computed","ember-metal/platform","ember-metal/enumerable_utils","ember-runtime/system/tracked_array","ember-runtime/mixins/array","ember-metal/run_loop","ember-runtime/system/set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__exports__){"use strict";var Ember=__dependency1__["default"];var e_get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var metaFor=__dependency4__.meta;var EmberError=__dependency5__["default"];var propertyWillChange=__dependency6__.propertyWillChange;var propertyDidChange=__dependency6__.propertyDidChange;var expandProperties=__dependency7__["default"];var addObserver=__dependency8__.addObserver;var observersFor=__dependency8__.observersFor;var removeObserver=__dependency8__.removeObserver;var addBeforeObserver=__dependency8__.addBeforeObserver;var removeBeforeObserver=__dependency8__.removeBeforeObserver;var ComputedProperty=__dependency9__.ComputedProperty;var cacheFor=__dependency9__.cacheFor;var o_create=__dependency10__.create;var forEach=__dependency11__.forEach;var TrackedArray=__dependency12__["default"];var EmberArray=__dependency13__["default"];var run=__dependency14__["default"];var Set=__dependency15__["default"];var isArray=__dependency4__.isArray;var cacheSet=cacheFor.set;var cacheGet=cacheFor.get;var cacheRemove=cacheFor.remove;var a_slice=[].slice;var eachPropertyPattern=/^(.*)\.@each\.(.*)/;var doubleEachPropertyPattern=/(.*\.@each){2,}/;var arrayBracketPattern=/\.\[\]$/;function get(obj,key){if(key==="@this"){return obj}return e_get(obj,key)}function DependentArraysObserver(callbacks,cp,instanceMeta,context,propertyName,sugarMeta){this.callbacks=callbacks;this.cp=cp;this.instanceMeta=instanceMeta;this.dependentKeysByGuid={};this.trackedArraysByGuid={};this.suspended=false;this.changedItems={};this.changedItemCount=0}function ItemPropertyObserverContext(dependentArray,index,trackedArray){this.dependentArray=dependentArray;this.index=index;this.item=dependentArray.objectAt(index);this.trackedArray=trackedArray;this.beforeObserver=null;this.observer=null;this.destroyed=false}DependentArraysObserver.prototype={setValue:function(newValue){this.instanceMeta.setValue(newValue,true)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(dependentArray,dependentKey){this.dependentKeysByGuid[guidFor(dependentArray)]=dependentKey;dependentArray.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"});if(this.cp._itemPropertyKeys[dependentKey]){this.setupPropertyObservers(dependentKey,this.cp._itemPropertyKeys[dependentKey])}},teardownObservers:function(dependentArray,dependentKey){var itemPropertyKeys=this.cp._itemPropertyKeys[dependentKey]||[];delete this.dependentKeysByGuid[guidFor(dependentArray)];this.teardownPropertyObservers(dependentKey,itemPropertyKeys);dependentArray.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},suspendArrayObservers:function(callback,binding){var oldSuspended=this.suspended;this.suspended=true;callback.call(binding);this.suspended=oldSuspended},setupPropertyObservers:function(dependentKey,itemPropertyKeys){var dependentArray=get(this.instanceMeta.context,dependentKey),length=get(dependentArray,"length"),observerContexts=new Array(length);this.resetTransformations(dependentKey,observerContexts);forEach(dependentArray,function(item,index){var observerContext=this.createPropertyObserverContext(dependentArray,index,this.trackedArraysByGuid[dependentKey]);observerContexts[index]=observerContext;forEach(itemPropertyKeys,function(propertyKey){addBeforeObserver(item,propertyKey,this,observerContext.beforeObserver);addObserver(item,propertyKey,this,observerContext.observer)},this)},this)},teardownPropertyObservers:function(dependentKey,itemPropertyKeys){var dependentArrayObserver=this,trackedArray=this.trackedArraysByGuid[dependentKey],beforeObserver,observer,item;if(!trackedArray){return}trackedArray.apply(function(observerContexts,offset,operation){if(operation===TrackedArray.DELETE){return}forEach(observerContexts,function(observerContext){observerContext.destroyed=true;beforeObserver=observerContext.beforeObserver;observer=observerContext.observer;item=observerContext.item;forEach(itemPropertyKeys,function(propertyKey){removeBeforeObserver(item,propertyKey,dependentArrayObserver,beforeObserver);removeObserver(item,propertyKey,dependentArrayObserver,observer)})})})},createPropertyObserverContext:function(dependentArray,index,trackedArray){var observerContext=new ItemPropertyObserverContext(dependentArray,index,trackedArray);this.createPropertyObserver(observerContext);return observerContext},createPropertyObserver:function(observerContext){var dependentArrayObserver=this;observerContext.beforeObserver=function(obj,keyName){return dependentArrayObserver.itemPropertyWillChange(obj,keyName,observerContext.dependentArray,observerContext)};observerContext.observer=function(obj,keyName){return dependentArrayObserver.itemPropertyDidChange(obj,keyName,observerContext.dependentArray,observerContext)}},resetTransformations:function(dependentKey,observerContexts){this.trackedArraysByGuid[dependentKey]=new TrackedArray(observerContexts)},trackAdd:function(dependentKey,index,newItems){var trackedArray=this.trackedArraysByGuid[dependentKey];if(trackedArray){trackedArray.addItems(index,newItems)}},trackRemove:function(dependentKey,index,removedCount){var trackedArray=this.trackedArraysByGuid[dependentKey];if(trackedArray){return trackedArray.removeItems(index,removedCount)}return[]},updateIndexes:function(trackedArray,array){var length=get(array,"length");trackedArray.apply(function(observerContexts,offset,operation,operationIndex){if(operation===TrackedArray.DELETE){return}if(operationIndex===0&&operation===TrackedArray.RETAIN&&observerContexts.length===length&&offset===0){return}forEach(observerContexts,function(context,index){context.index=index+offset})})},dependentArrayWillChange:function(dependentArray,index,removedCount,addedCount){if(this.suspended){return}var removedItem=this.callbacks.removedItem;var changeMeta;var guid=guidFor(dependentArray);var dependentKey=this.dependentKeysByGuid[guid];var itemPropertyKeys=this.cp._itemPropertyKeys[dependentKey]||[];var length=get(dependentArray,"length");var normalizedIndex=normalizeIndex(index,length,0);var normalizedRemoveCount=normalizeRemoveCount(normalizedIndex,length,removedCount);var item,itemIndex,sliceIndex,observerContexts;observerContexts=this.trackRemove(dependentKey,normalizedIndex,normalizedRemoveCount);function removeObservers(propertyKey){observerContexts[sliceIndex].destroyed=true;removeBeforeObserver(item,propertyKey,this,observerContexts[sliceIndex].beforeObserver);removeObserver(item,propertyKey,this,observerContexts[sliceIndex].observer)}for(sliceIndex=normalizedRemoveCount-1;sliceIndex>=0;--sliceIndex){itemIndex=normalizedIndex+sliceIndex;if(itemIndex>=length){break}item=dependentArray.objectAt(itemIndex);forEach(itemPropertyKeys,removeObservers,this);changeMeta=new ChangeMeta(dependentArray,item,itemIndex,this.instanceMeta.propertyName,this.cp,normalizedRemoveCount);this.setValue(removedItem.call(this.instanceMeta.context,this.getValue(),item,changeMeta,this.instanceMeta.sugarMeta))}},dependentArrayDidChange:function(dependentArray,index,removedCount,addedCount){if(this.suspended){return}var addedItem=this.callbacks.addedItem;var guid=guidFor(dependentArray);var dependentKey=this.dependentKeysByGuid[guid];var observerContexts=new Array(addedCount);var itemPropertyKeys=this.cp._itemPropertyKeys[dependentKey];var length=get(dependentArray,"length");var normalizedIndex=normalizeIndex(index,length,addedCount);var changeMeta,observerContext;forEach(dependentArray.slice(normalizedIndex,normalizedIndex+addedCount),function(item,sliceIndex){if(itemPropertyKeys){observerContext=observerContexts[sliceIndex]=this.createPropertyObserverContext(dependentArray,normalizedIndex+sliceIndex,this.trackedArraysByGuid[dependentKey]);forEach(itemPropertyKeys,function(propertyKey){addBeforeObserver(item,propertyKey,this,observerContext.beforeObserver);addObserver(item,propertyKey,this,observerContext.observer)},this)}changeMeta=new ChangeMeta(dependentArray,item,normalizedIndex+sliceIndex,this.instanceMeta.propertyName,this.cp,addedCount);this.setValue(addedItem.call(this.instanceMeta.context,this.getValue(),item,changeMeta,this.instanceMeta.sugarMeta))},this);this.trackAdd(dependentKey,normalizedIndex,observerContexts)},itemPropertyWillChange:function(obj,keyName,array,observerContext){var guid=guidFor(obj);if(!this.changedItems[guid]){this.changedItems[guid]={array:array,observerContext:observerContext,obj:obj,previousValues:{}}}++this.changedItemCount;this.changedItems[guid].previousValues[keyName]=get(obj,keyName)},itemPropertyDidChange:function(obj,keyName,array,observerContext){if(--this.changedItemCount===0){this.flushChanges()}},flushChanges:function(){var changedItems=this.changedItems,key,c,changeMeta;for(key in changedItems){c=changedItems[key];if(c.observerContext.destroyed){continue}this.updateIndexes(c.observerContext.trackedArray,c.observerContext.dependentArray);changeMeta=new ChangeMeta(c.array,c.obj,c.observerContext.index,this.instanceMeta.propertyName,this.cp,changedItems.length,c.previousValues);this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),c.obj,changeMeta,this.instanceMeta.sugarMeta));this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),c.obj,changeMeta,this.instanceMeta.sugarMeta))}this.changedItems={}}};function normalizeIndex(index,length,newItemsOffset){if(index<0){return Math.max(0,length+index)}else if(index<length){return index}else{return Math.min(length-newItemsOffset,index)}}function normalizeRemoveCount(index,length,removedCount){return Math.min(removedCount,length-index)}function ChangeMeta(dependentArray,item,index,propertyName,property,changedCount,previousValues){this.arrayChanged=dependentArray;this.index=index;this.item=item;this.propertyName=propertyName;this.property=property;this.changedCount=changedCount;if(previousValues){this.previousValues=previousValues}}function addItems(dependentArray,callbacks,cp,propertyName,meta){forEach(dependentArray,function(item,index){meta.setValue(callbacks.addedItem.call(this,meta.getValue(),item,new ChangeMeta(dependentArray,item,index,propertyName,cp,dependentArray.length),meta.sugarMeta))},this)}function reset(cp,propertyName){var callbacks=cp._callbacks(),meta;if(cp._hasInstanceMeta(this,propertyName)){meta=cp._instanceMeta(this,propertyName);meta.setValue(cp.resetValue(meta.getValue()))}else{meta=cp._instanceMeta(this,propertyName)}if(cp.options.initialize){cp.options.initialize.call(this,meta.getValue(),{property:cp,propertyName:propertyName},meta.sugarMeta)}}function partiallyRecomputeFor(obj,dependentKey){if(arrayBracketPattern.test(dependentKey)){return false}var value=get(obj,dependentKey);return EmberArray.detect(value)}function ReduceComputedPropertyInstanceMeta(context,propertyName,initialValue){this.context=context;this.propertyName=propertyName;this.cache=metaFor(context).cache;this.dependentArrays={};this.sugarMeta={};this.initialValue=initialValue}ReduceComputedPropertyInstanceMeta.prototype={getValue:function(){var value=cacheGet(this.cache,this.propertyName);if(value!==undefined){return value}else{return this.initialValue}},setValue:function(newValue,triggerObservers){if(newValue===cacheGet(this.cache,this.propertyName)){return}if(triggerObservers){propertyWillChange(this.context,this.propertyName)}if(newValue===undefined){cacheRemove(this.cache,this.propertyName)}else{cacheSet(this.cache,this.propertyName,newValue)}if(triggerObservers){propertyDidChange(this.context,this.propertyName)}}};__exports__.ReduceComputedProperty=ReduceComputedProperty;function ReduceComputedProperty(options){var cp=this;this.options=options;this._dependentKeys=null;this._itemPropertyKeys={};this._previousItemPropertyKeys={};this.readOnly();this.cacheable();this.recomputeOnce=function(propertyName){run.once(this,recompute,propertyName)};var recompute=function(propertyName){var dependentKeys=cp._dependentKeys,meta=cp._instanceMeta(this,propertyName),callbacks=cp._callbacks();reset.call(this,cp,propertyName);meta.dependentArraysObserver.suspendArrayObservers(function(){forEach(cp._dependentKeys,function(dependentKey){if(!partiallyRecomputeFor(this,dependentKey)){return}var dependentArray=get(this,dependentKey),previousDependentArray=meta.dependentArrays[dependentKey];if(dependentArray===previousDependentArray){if(cp._previousItemPropertyKeys[dependentKey]){delete cp._previousItemPropertyKeys[dependentKey];meta.dependentArraysObserver.setupPropertyObservers(dependentKey,cp._itemPropertyKeys[dependentKey])}}else{meta.dependentArrays[dependentKey]=dependentArray;if(previousDependentArray){meta.dependentArraysObserver.teardownObservers(previousDependentArray,dependentKey)}if(dependentArray){meta.dependentArraysObserver.setupObservers(dependentArray,dependentKey)}}},this)},this);forEach(cp._dependentKeys,function(dependentKey){if(!partiallyRecomputeFor(this,dependentKey)){return}var dependentArray=get(this,dependentKey);if(dependentArray){addItems.call(this,dependentArray,callbacks,cp,propertyName,meta)}},this)};this.func=function(propertyName){recompute.call(this,propertyName);return cp._instanceMeta(this,propertyName).getValue()}}ReduceComputedProperty.prototype=o_create(ComputedProperty.prototype);function defaultCallback(computedValue){return computedValue}ReduceComputedProperty.prototype._callbacks=function(){if(!this.callbacks){var options=this.options;this.callbacks={removedItem:options.removedItem||defaultCallback,addedItem:options.addedItem||defaultCallback}}return this.callbacks};ReduceComputedProperty.prototype._hasInstanceMeta=function(context,propertyName){return!!metaFor(context).cacheMeta[propertyName]};ReduceComputedProperty.prototype._instanceMeta=function(context,propertyName){var cacheMeta=metaFor(context).cacheMeta,meta=cacheMeta[propertyName];if(!meta){meta=cacheMeta[propertyName]=new ReduceComputedPropertyInstanceMeta(context,propertyName,this.initialValue());meta.dependentArraysObserver=new DependentArraysObserver(this._callbacks(),this,meta,context,propertyName,meta.sugarMeta)}return meta};ReduceComputedProperty.prototype.initialValue=function(){if(typeof this.options.initialValue==="function"){return this.options.initialValue()}else{return this.options.initialValue}};ReduceComputedProperty.prototype.resetValue=function(value){return this.initialValue()};ReduceComputedProperty.prototype.itemPropertyKey=function(dependentArrayKey,itemPropertyKey){this._itemPropertyKeys[dependentArrayKey]=this._itemPropertyKeys[dependentArrayKey]||[];this._itemPropertyKeys[dependentArrayKey].push(itemPropertyKey)};ReduceComputedProperty.prototype.clearItemPropertyKeys=function(dependentArrayKey){if(this._itemPropertyKeys[dependentArrayKey]){this._previousItemPropertyKeys[dependentArrayKey]=this._itemPropertyKeys[dependentArrayKey];
11
- this._itemPropertyKeys[dependentArrayKey]=[]}};ReduceComputedProperty.prototype.property=function(){var cp=this,args=a_slice.call(arguments),propertyArgs=new Set,match,dependentArrayKey,itemPropertyKey;forEach(args,function(dependentKey){if(doubleEachPropertyPattern.test(dependentKey)){throw new EmberError("Nested @each properties not supported: "+dependentKey)}else if(match=eachPropertyPattern.exec(dependentKey)){dependentArrayKey=match[1];var itemPropertyKeyPattern=match[2],addItemPropertyKey=function(itemPropertyKey){cp.itemPropertyKey(dependentArrayKey,itemPropertyKey)};expandProperties(itemPropertyKeyPattern,addItemPropertyKey);propertyArgs.add(dependentArrayKey)}else{propertyArgs.add(dependentKey)}});return ComputedProperty.prototype.property.apply(this,propertyArgs.toArray())};function reduceComputed(options){var args;if(arguments.length>1){args=a_slice.call(arguments,0,-1);options=a_slice.call(arguments,-1)[0]}if(typeof options!=="object"){throw new EmberError("Reduce Computed Property declared without an options hash")}if(!("initialValue"in options)){throw new EmberError("Reduce Computed Property declared without an initial value")}var cp=new ReduceComputedProperty(options);if(args){cp.property.apply(cp,args)}return cp}__exports__.reduceComputed=reduceComputed});define("ember-runtime/computed/reduce_computed_macros",["ember-metal/core","ember-metal/merge","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/run_loop","ember-metal/observer","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/system/object_proxy","ember-runtime/system/subarray","ember-runtime/keys","ember-runtime/compare","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__exports__){"use strict";var Ember=__dependency1__["default"];var merge=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var isArray=__dependency5__.isArray;var guidFor=__dependency5__.guidFor;var EmberError=__dependency6__["default"];var forEach=__dependency7__.forEach;var run=__dependency8__["default"];var addObserver=__dependency9__.addObserver;var arrayComputed=__dependency10__.arrayComputed;var reduceComputed=__dependency11__.reduceComputed;var ObjectProxy=__dependency12__["default"];var SubArray=__dependency13__["default"];var keys=__dependency14__["default"];var compare=__dependency15__["default"];var a_slice=[].slice;function sum(dependentKey){return reduceComputed(dependentKey,{initialValue:0,addedItem:function(accumulatedValue,item,changeMeta,instanceMeta){return accumulatedValue+item},removedItem:function(accumulatedValue,item,changeMeta,instanceMeta){return accumulatedValue-item}})}__exports__.sum=sum;function max(dependentKey){return reduceComputed(dependentKey,{initialValue:-Infinity,addedItem:function(accumulatedValue,item,changeMeta,instanceMeta){return Math.max(accumulatedValue,item)},removedItem:function(accumulatedValue,item,changeMeta,instanceMeta){if(item<accumulatedValue){return accumulatedValue}}})}__exports__.max=max;function min(dependentKey){return reduceComputed(dependentKey,{initialValue:Infinity,addedItem:function(accumulatedValue,item,changeMeta,instanceMeta){return Math.min(accumulatedValue,item)},removedItem:function(accumulatedValue,item,changeMeta,instanceMeta){if(item>accumulatedValue){return accumulatedValue}}})}__exports__.min=min;function map(dependentKey,callback){var options={addedItem:function(array,item,changeMeta,instanceMeta){var mapped=callback.call(this,item);array.insertAt(changeMeta.index,mapped);return array},removedItem:function(array,item,changeMeta,instanceMeta){array.removeAt(changeMeta.index,1);return array}};return arrayComputed(dependentKey,options)}__exports__.map=map;function mapBy(dependentKey,propertyKey){var callback=function(item){return get(item,propertyKey)};return map(dependentKey+".@each."+propertyKey,callback)}__exports__.mapBy=mapBy;var mapProperty=mapBy;__exports__.mapProperty=mapProperty;function filter(dependentKey,callback){var options={initialize:function(array,changeMeta,instanceMeta){instanceMeta.filteredArrayIndexes=new SubArray},addedItem:function(array,item,changeMeta,instanceMeta){var match=!!callback.call(this,item),filterIndex=instanceMeta.filteredArrayIndexes.addItem(changeMeta.index,match);if(match){array.insertAt(filterIndex,item)}return array},removedItem:function(array,item,changeMeta,instanceMeta){var filterIndex=instanceMeta.filteredArrayIndexes.removeItem(changeMeta.index);if(filterIndex>-1){array.removeAt(filterIndex)}return array}};return arrayComputed(dependentKey,options)}__exports__.filter=filter;function filterBy(dependentKey,propertyKey,value){var callback;if(arguments.length===2){callback=function(item){return get(item,propertyKey)}}else{callback=function(item){return get(item,propertyKey)===value}}return filter(dependentKey+".@each."+propertyKey,callback)}__exports__.filterBy=filterBy;var filterProperty=filterBy;__exports__.filterProperty=filterProperty;function uniq(){var args=a_slice.call(arguments);args.push({initialize:function(array,changeMeta,instanceMeta){instanceMeta.itemCounts={}},addedItem:function(array,item,changeMeta,instanceMeta){var guid=guidFor(item);if(!instanceMeta.itemCounts[guid]){instanceMeta.itemCounts[guid]=1}else{++instanceMeta.itemCounts[guid]}array.addObject(item);return array},removedItem:function(array,item,_,instanceMeta){var guid=guidFor(item),itemCounts=instanceMeta.itemCounts;if(--itemCounts[guid]===0){array.removeObject(item)}return array}});return arrayComputed.apply(null,args)}__exports__.uniq=uniq;var union=uniq;__exports__.union=union;function intersect(){var getDependentKeyGuids=function(changeMeta){return map(changeMeta.property._dependentKeys,function(dependentKey){return guidFor(dependentKey)})};var args=a_slice.call(arguments);args.push({initialize:function(array,changeMeta,instanceMeta){instanceMeta.itemCounts={}},addedItem:function(array,item,changeMeta,instanceMeta){var itemGuid=guidFor(item),dependentGuids=getDependentKeyGuids(changeMeta),dependentGuid=guidFor(changeMeta.arrayChanged),numberOfDependentArrays=changeMeta.property._dependentKeys.length,itemCounts=instanceMeta.itemCounts;if(!itemCounts[itemGuid]){itemCounts[itemGuid]={}}if(itemCounts[itemGuid][dependentGuid]===undefined){itemCounts[itemGuid][dependentGuid]=0}if(++itemCounts[itemGuid][dependentGuid]===1&&numberOfDependentArrays===keys(itemCounts[itemGuid]).length){array.addObject(item)}return array},removedItem:function(array,item,changeMeta,instanceMeta){var itemGuid=guidFor(item),dependentGuids=getDependentKeyGuids(changeMeta),dependentGuid=guidFor(changeMeta.arrayChanged),numberOfDependentArrays=changeMeta.property._dependentKeys.length,numberOfArraysItemAppearsIn,itemCounts=instanceMeta.itemCounts;if(itemCounts[itemGuid][dependentGuid]===undefined){itemCounts[itemGuid][dependentGuid]=0}if(--itemCounts[itemGuid][dependentGuid]===0){delete itemCounts[itemGuid][dependentGuid];numberOfArraysItemAppearsIn=keys(itemCounts[itemGuid]).length;if(numberOfArraysItemAppearsIn===0){delete itemCounts[itemGuid]}array.removeObject(item)}return array}});return arrayComputed.apply(null,args)}__exports__.intersect=intersect;function setDiff(setAProperty,setBProperty){if(arguments.length!==2){throw new EmberError("setDiff requires exactly two dependent arrays.")}return arrayComputed(setAProperty,setBProperty,{addedItem:function(array,item,changeMeta,instanceMeta){var setA=get(this,setAProperty),setB=get(this,setBProperty);if(changeMeta.arrayChanged===setA){if(!setB.contains(item)){array.addObject(item)}}else{array.removeObject(item)}return array},removedItem:function(array,item,changeMeta,instanceMeta){var setA=get(this,setAProperty),setB=get(this,setBProperty);if(changeMeta.arrayChanged===setB){if(setA.contains(item)){array.addObject(item)}}else{array.removeObject(item)}return array}})}__exports__.setDiff=setDiff;function binarySearch(array,item,low,high){var mid,midItem,res,guidMid,guidItem;if(arguments.length<4){high=get(array,"length")}if(arguments.length<3){low=0}if(low===high){return low}mid=low+Math.floor((high-low)/2);midItem=array.objectAt(mid);guidMid=_guidFor(midItem);guidItem=_guidFor(item);if(guidMid===guidItem){return mid}res=this.order(midItem,item);if(res===0){res=guidMid<guidItem?-1:1}if(res<0){return this.binarySearch(array,item,mid+1,high)}else if(res>0){return this.binarySearch(array,item,low,mid)}return mid;function _guidFor(item){if(SearchProxy.detectInstance(item)){return guidFor(get(item,"content"))}return guidFor(item)}}var SearchProxy=ObjectProxy.extend();function sort(itemsKey,sortDefinition){var initFn,sortPropertiesKey;if(typeof sortDefinition==="function"){initFn=function(array,changeMeta,instanceMeta){instanceMeta.order=sortDefinition;instanceMeta.binarySearch=binarySearch}}else{sortPropertiesKey=sortDefinition;initFn=function(array,changeMeta,instanceMeta){function setupSortProperties(){var sortPropertyDefinitions=get(this,sortPropertiesKey),sortProperty,sortProperties=instanceMeta.sortProperties=[],sortPropertyAscending=instanceMeta.sortPropertyAscending={},idx,asc;changeMeta.property.clearItemPropertyKeys(itemsKey);forEach(sortPropertyDefinitions,function(sortPropertyDefinition){if((idx=sortPropertyDefinition.indexOf(":"))!==-1){sortProperty=sortPropertyDefinition.substring(0,idx);asc=sortPropertyDefinition.substring(idx+1).toLowerCase()!=="desc"}else{sortProperty=sortPropertyDefinition;asc=true}sortProperties.push(sortProperty);sortPropertyAscending[sortProperty]=asc;changeMeta.property.itemPropertyKey(itemsKey,sortProperty)});sortPropertyDefinitions.addObserver("@each",this,updateSortPropertiesOnce)}function updateSortPropertiesOnce(){run.once(this,updateSortProperties,changeMeta.propertyName)}function updateSortProperties(propertyName){setupSortProperties.call(this);changeMeta.property.recomputeOnce.call(this,propertyName)}addObserver(this,sortPropertiesKey,updateSortPropertiesOnce);setupSortProperties.call(this);instanceMeta.order=function(itemA,itemB){var isProxy=itemB instanceof SearchProxy,sortProperty,result,asc;for(var i=0;i<this.sortProperties.length;++i){sortProperty=this.sortProperties[i];result=compare(get(itemA,sortProperty),isProxy?itemB[sortProperty]:get(itemB,sortProperty));if(result!==0){asc=this.sortPropertyAscending[sortProperty];return asc?result:-1*result}}return 0};instanceMeta.binarySearch=binarySearch}}return arrayComputed(itemsKey,{initialize:initFn,addedItem:function(array,item,changeMeta,instanceMeta){var index=instanceMeta.binarySearch(array,item);array.insertAt(index,item);return array},removedItem:function(array,item,changeMeta,instanceMeta){var proxyProperties,index,searchItem;if(changeMeta.previousValues){proxyProperties=merge({content:item},changeMeta.previousValues);searchItem=SearchProxy.create(proxyProperties)}else{searchItem=item}index=instanceMeta.binarySearch(array,searchItem);array.removeAt(index);return array}})}__exports__.sort=sort});define("ember-runtime/controllers/array_controller",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/enumerable_utils","ember-runtime/system/array_proxy","ember-runtime/mixins/sortable","ember-runtime/mixins/controller","ember-metal/computed","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var forEach=__dependency4__.forEach;var replace=__dependency4__.replace;var ArrayProxy=__dependency5__["default"];var SortableMixin=__dependency6__["default"];var ControllerMixin=__dependency7__["default"];var computed=__dependency8__.computed;var EmberError=__dependency9__["default"];__exports__["default"]=ArrayProxy.extend(ControllerMixin,SortableMixin,{itemController:null,lookupItemController:function(object){return get(this,"itemController")},objectAtContent:function(idx){var length=get(this,"length");var arrangedContent=get(this,"arrangedContent");var object=arrangedContent&&arrangedContent.objectAt(idx);var controllerClass;if(idx>=0&&idx<length){controllerClass=this.lookupItemController(object);if(controllerClass){return this.controllerAt(idx,object,controllerClass)}}return object},arrangedContentDidChange:function(){this._super();this._resetSubControllers()},arrayContentDidChange:function(idx,removedCnt,addedCnt){var subControllers=this._subControllers;if(subControllers.length){var subControllersToRemove=subControllers.slice(idx,idx+removedCnt);forEach(subControllersToRemove,function(subController){if(subController){subController.destroy()}});replace(subControllers,idx,removedCnt,new Array(addedCnt))}this._super(idx,removedCnt,addedCnt)},init:function(){this._super();this._subControllers=[]},model:computed(function(){return Ember.A()}),_isVirtual:false,controllerAt:function(idx,object,controllerClass){var fullName,subController,parentController;var container=get(this,"container");var subControllers=this._subControllers;if(subControllers.length>idx){subController=subControllers[idx];if(subController){return subController}}fullName="controller:"+controllerClass;if(!container.has(fullName)){throw new EmberError('Could not resolve itemController: "'+controllerClass+'"')}if(this._isVirtual){parentController=get(this,"parentController")}else{parentController=this}subController=container.lookupFactory(fullName).create({target:parentController,parentController:parentController,model:object});subControllers[idx]=subController;return subController},_subControllers:null,_resetSubControllers:function(){var controller;var subControllers=this._subControllers;if(subControllers.length){for(var i=0,length=subControllers.length;length>i;i++){controller=subControllers[i];if(controller){controller.destroy()}}subControllers.length=0}},willDestroy:function(){this._resetSubControllers();this._super()}})});define("ember-runtime/controllers/controller",["ember-runtime/system/object","ember-runtime/mixins/controller","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var EmberObject=__dependency1__["default"];var Mixin=__dependency2__["default"];__exports__["default"]=EmberObject.extend(Mixin)});define("ember-runtime/controllers/object_controller",["ember-runtime/mixins/controller","ember-runtime/system/object_proxy","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var ControllerMixin=__dependency1__["default"];var ObjectProxy=__dependency2__["default"];__exports__["default"]=ObjectProxy.extend(ControllerMixin)});define("ember-runtime/copy",["ember-metal/enumerable_utils","ember-metal/utils","ember-runtime/system/object","ember-runtime/mixins/copyable","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var indexOf=__dependency1__.indexOf;var typeOf=__dependency2__.typeOf;var EmberObject=__dependency3__["default"];var Copyable=__dependency4__["default"];var create=__dependency5__.create;function _copy(obj,deep,seen,copies){var ret,loc,key;if("object"!==typeof obj||obj===null)return obj;if(deep&&(loc=indexOf(seen,obj))>=0)return copies[loc];if(typeOf(obj)==="array"){ret=obj.slice();if(deep){loc=ret.length;while(--loc>=0)ret[loc]=_copy(ret[loc],deep,seen,copies)}}else if(Copyable&&Copyable.detect(obj)){ret=obj.copy(deep,seen,copies)}else if(obj instanceof Date){ret=new Date(obj.getTime())}else{ret={};for(key in obj){if(!obj.hasOwnProperty(key))continue;if(key.substring(0,2)==="__")continue;ret[key]=deep?_copy(obj[key],deep,seen,copies):obj[key]}}if(deep){seen.push(obj);copies.push(ret)}return ret}__exports__["default"]=function copy(obj,deep){if("object"!==typeof obj||obj===null)return obj;if(Copyable&&Copyable.detect(obj))return obj.copy(deep);return _copy(obj,deep,deep?[]:null,deep?[]:null)}});define("ember-runtime/core",["exports"],function(__exports__){"use strict";var isEqual=function isEqual(a,b){if(a&&"function"===typeof a.isEqual)return a.isEqual(b);if(a instanceof Date&&b instanceof Date){return a.getTime()===b.getTime()}return a===b};__exports__.isEqual=isEqual});define("ember-runtime/ext/function",["ember-metal/core","ember-metal/expand_properties","ember-metal/computed"],function(__dependency1__,__dependency2__,__dependency3__){"use strict";var Ember=__dependency1__["default"];var expandProperties=__dependency2__["default"];var computed=__dependency3__.computed;var a_slice=Array.prototype.slice;var FunctionPrototype=Function.prototype;if(Ember.EXTEND_PROTOTYPES===true||Ember.EXTEND_PROTOTYPES.Function){FunctionPrototype.property=function(){var ret=computed(this);return ret.property.apply(ret,arguments)};FunctionPrototype.observes=function(){var addWatchedProperty=function(obs){watched.push(obs)};var watched=[];for(var i=0;i<arguments.length;++i){expandProperties(arguments[i],addWatchedProperty)}this.__ember_observes__=watched;return this};FunctionPrototype.observesImmediately=function(){for(var i=0,l=arguments.length;i<l;i++){var arg=arguments[i]}return this.observes.apply(this,arguments)};FunctionPrototype.observesBefore=function(){var addWatchedProperty=function(obs){watched.push(obs)};var watched=[];for(var i=0;i<arguments.length;++i){expandProperties(arguments[i],addWatchedProperty)}this.__ember_observesBefore__=watched;return this};FunctionPrototype.on=function(){var events=a_slice.call(arguments);this.__ember_listens__=events;return this}}});define("ember-runtime/ext/rsvp",["ember-metal/core","ember-metal/logger","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var Logger=__dependency2__["default"];var RSVP=requireModule("rsvp");var Test,testModuleName="ember-testing/test";RSVP.onerrorDefault=function(error){if(error instanceof Error){if(Ember.testing){if(!Test&&Ember.__loader.registry[testModuleName]){Test=requireModule(testModuleName)["default"]}if(Test&&Test.adapter){Test.adapter.exception(error)}else{throw error}}else if(Ember.onerror){Ember.onerror(error)}else{Logger.error(error.stack)}}};RSVP.on("error",RSVP.onerrorDefault);__exports__["default"]=RSVP});define("ember-runtime/ext/string",["ember-metal/core","ember-runtime/system/string"],function(__dependency1__,__dependency2__){"use strict";var Ember=__dependency1__["default"];var fmt=__dependency2__.fmt;var w=__dependency2__.w;var loc=__dependency2__.loc;var camelize=__dependency2__.camelize;var decamelize=__dependency2__.decamelize;var dasherize=__dependency2__.dasherize;var underscore=__dependency2__.underscore;var capitalize=__dependency2__.capitalize;var classify=__dependency2__.classify;var StringPrototype=String.prototype;if(Ember.EXTEND_PROTOTYPES===true||Ember.EXTEND_PROTOTYPES.String){StringPrototype.fmt=function(){return fmt(this,arguments)};StringPrototype.w=function(){return w(this)};StringPrototype.loc=function(){return loc(this,arguments)};StringPrototype.camelize=function(){return camelize(this)};StringPrototype.decamelize=function(){return decamelize(this)};StringPrototype.dasherize=function(){return dasherize(this)};StringPrototype.underscore=function(){return underscore(this)};StringPrototype.classify=function(){return classify(this)};StringPrototype.capitalize=function(){return capitalize(this)}}});define("ember-runtime/keys",["ember-metal/enumerable_utils","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var EnumerableUtils=__dependency1__["default"];var create=__dependency2__.create;var keys=Object.keys;if(!keys||create.isSimulated){var prototypeProperties=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","valueOf","toLocaleString","toString"],pushPropertyName=function(obj,array,key){if(key.substring(0,2)==="__")return;if(key==="_super")return;if(EnumerableUtils.indexOf(array,key)>=0)return;if(typeof obj.hasOwnProperty==="function"&&!obj.hasOwnProperty(key))return;array.push(key)};keys=function keys(obj){var ret=[],key;for(key in obj){pushPropertyName(obj,ret,key)}for(var i=0,l=prototypeProperties.length;i<l;i++){key=prototypeProperties[i];pushPropertyName(obj,ret,key)}return ret}}__exports__["default"]=keys});define("ember-runtime/mixins/action_handler",["ember-metal/merge","ember-metal/mixin","ember-metal/property_get","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var merge=__dependency1__["default"];var Mixin=__dependency2__.Mixin;var get=__dependency3__.get;var typeOf=__dependency4__.typeOf;var ActionHandler=Mixin.create({mergedProperties:["_actions"],willMergeMixin:function(props){var hashName;if(!props._actions){if(typeOf(props.actions)==="object"){hashName="actions"}else if(typeOf(props.events)==="object"){hashName="events"}if(hashName){props._actions=merge(props._actions||{},props[hashName])}delete props[hashName]}},send:function(actionName){var args=[].slice.call(arguments,1),target;if(this._actions&&this._actions[actionName]){if(this._actions[actionName].apply(this,args)===true){}else{return}}else if(!Ember.FEATURES.isEnabled("ember-routing-drop-deprecated-action-style")&&this.deprecatedSend&&this.deprecatedSendHandles&&this.deprecatedSendHandles(actionName)){if(this.deprecatedSend.apply(this,[].slice.call(arguments))===true){}else{return}}if(target=get(this,"target")){target.send.apply(target,arguments)}}});__exports__["default"]=ActionHandler});define("ember-runtime/mixins/array",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/is_none","ember-runtime/mixins/enumerable","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/property_events","ember-metal/events","ember-metal/watching","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var computed=__dependency4__.computed;var cacheFor=__dependency4__.cacheFor;var isNone=__dependency5__.isNone;var none=__dependency5__.none;var Enumerable=__dependency6__["default"];var map=__dependency7__.map;var Mixin=__dependency8__.Mixin;var required=__dependency8__.required;var propertyWillChange=__dependency9__.propertyWillChange;var propertyDidChange=__dependency9__.propertyDidChange;var addListener=__dependency10__.addListener;var removeListener=__dependency10__.removeListener;var sendEvent=__dependency10__.sendEvent;var hasListeners=__dependency10__.hasListeners;var isWatching=__dependency11__.isWatching;__exports__["default"]=Mixin.create(Enumerable,{length:required(),objectAt:function(idx){if(idx<0||idx>=get(this,"length"))return undefined;return get(this,idx)},objectsAt:function(indexes){var self=this;return map(indexes,function(idx){return self.objectAt(idx)})},nextObject:function(idx){return this.objectAt(idx)},"[]":computed(function(key,value){if(value!==undefined)this.replace(0,get(this,"length"),value);return this}),firstObject:computed(function(){return this.objectAt(0)}),lastObject:computed(function(){return this.objectAt(get(this,"length")-1)}),contains:function(obj){return this.indexOf(obj)>=0},slice:function(beginIndex,endIndex){var ret=Ember.A();var length=get(this,"length");if(isNone(beginIndex))beginIndex=0;if(isNone(endIndex)||endIndex>length)endIndex=length;if(beginIndex<0)beginIndex=length+beginIndex;if(endIndex<0)endIndex=length+endIndex;while(beginIndex<endIndex){ret[ret.length]=this.objectAt(beginIndex++)}return ret},indexOf:function(object,startAt){var idx,len=get(this,"length");if(startAt===undefined)startAt=0;if(startAt<0)startAt+=len;for(idx=startAt;idx<len;idx++){if(this.objectAt(idx)===object)return idx}return-1},lastIndexOf:function(object,startAt){var idx,len=get(this,"length");if(startAt===undefined||startAt>=len)startAt=len-1;if(startAt<0)startAt+=len;for(idx=startAt;idx>=0;idx--){if(this.objectAt(idx)===object)return idx}return-1},addArrayObserver:function(target,opts){var willChange=opts&&opts.willChange||"arrayWillChange",didChange=opts&&opts.didChange||"arrayDidChange";var hasObservers=get(this,"hasArrayObservers");if(!hasObservers)propertyWillChange(this,"hasArrayObservers");addListener(this,"@array:before",target,willChange);addListener(this,"@array:change",target,didChange);if(!hasObservers)propertyDidChange(this,"hasArrayObservers");return this},removeArrayObserver:function(target,opts){var willChange=opts&&opts.willChange||"arrayWillChange",didChange=opts&&opts.didChange||"arrayDidChange";var hasObservers=get(this,"hasArrayObservers");if(hasObservers)propertyWillChange(this,"hasArrayObservers");removeListener(this,"@array:before",target,willChange);removeListener(this,"@array:change",target,didChange);if(hasObservers)propertyDidChange(this,"hasArrayObservers");return this},hasArrayObservers:computed(function(){return hasListeners(this,"@array:change")||hasListeners(this,"@array:before")}),arrayContentWillChange:function(startIdx,removeAmt,addAmt){if(startIdx===undefined){startIdx=0;removeAmt=addAmt=-1}else{if(removeAmt===undefined)removeAmt=-1;if(addAmt===undefined)addAmt=-1}if(isWatching(this,"@each")){get(this,"@each")}sendEvent(this,"@array:before",[this,startIdx,removeAmt,addAmt]);var removing,lim;if(startIdx>=0&&removeAmt>=0&&get(this,"hasEnumerableObservers")){removing=[];lim=startIdx+removeAmt;for(var idx=startIdx;idx<lim;idx++)removing.push(this.objectAt(idx))}else{removing=removeAmt}this.enumerableContentWillChange(removing,addAmt);return this},arrayContentDidChange:function(startIdx,removeAmt,addAmt){if(startIdx===undefined){startIdx=0;removeAmt=addAmt=-1}else{if(removeAmt===undefined)removeAmt=-1;if(addAmt===undefined)addAmt=-1}var adding,lim;if(startIdx>=0&&addAmt>=0&&get(this,"hasEnumerableObservers")){adding=[];lim=startIdx+addAmt;for(var idx=startIdx;idx<lim;idx++)adding.push(this.objectAt(idx))}else{adding=addAmt}this.enumerableContentDidChange(removeAmt,adding);sendEvent(this,"@array:change",[this,startIdx,removeAmt,addAmt]);var length=get(this,"length"),cachedFirst=cacheFor(this,"firstObject"),cachedLast=cacheFor(this,"lastObject");if(this.objectAt(0)!==cachedFirst){propertyWillChange(this,"firstObject");propertyDidChange(this,"firstObject")}if(this.objectAt(length-1)!==cachedLast){propertyWillChange(this,"lastObject");propertyDidChange(this,"lastObject")}return this},"@each":computed(function(){if(!this.__each){var EachProxy=requireModule("ember-runtime/system/each_proxy")["EachProxy"];this.__each=new EachProxy(this)}return this.__each})})});define("ember-runtime/mixins/comparable",["ember-metal/mixin","exports"],function(__dependency1__,__exports__){"use strict";var Mixin=__dependency1__.Mixin;var required=__dependency1__.required;__exports__["default"]=Mixin.create({compare:required(Function)})});define("ember-runtime/mixins/controller",["ember-metal/core","ember-metal/property_get","ember-runtime/system/object","ember-metal/mixin","ember-metal/computed","ember-runtime/mixins/action_handler","ember-runtime/mixins/controller_content_model_alias_deprecation","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var EmberObject=__dependency3__["default"];var Mixin=__dependency4__.Mixin;var computed=__dependency5__.computed;var ActionHandler=__dependency6__["default"];var ControllerContentModelAliasDeprecation=__dependency7__["default"];__exports__["default"]=Mixin.create(ActionHandler,ControllerContentModelAliasDeprecation,{isController:true,target:null,container:null,parentController:null,store:null,model:null,content:computed.alias("model"),deprecatedSendHandles:function(actionName){return!!this[actionName]},deprecatedSend:function(actionName){var args=[].slice.call(arguments,1);this[actionName].apply(this,args);return}})});define("ember-runtime/mixins/controller_content_model_alias_deprecation",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var Mixin=__dependency3__.Mixin;__exports__["default"]=Mixin.create({willMergeMixin:function(props){this._super.apply(this,arguments);var modelSpecified=!!props.model;if(props.content&&!modelSpecified){props.model=props.content;delete props["content"]}}})});define("ember-runtime/mixins/copyable",["ember-metal/property_get","ember-metal/property_set","ember-metal/mixin","ember-runtime/mixins/freezable","ember-runtime/system/string","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var required=__dependency3__.required;var Freezable=__dependency4__.Freezable;var Mixin=__dependency3__.Mixin;var fmt=__dependency5__.fmt;var EmberError=__dependency6__["default"];__exports__["default"]=Mixin.create({copy:required(Function),frozenCopy:function(){if(Freezable&&Freezable.detect(this)){return get(this,"isFrozen")?this:this.copy().freeze()}else{throw new EmberError(fmt("%@ does not support freezing",[this]))}}})});define("ember-runtime/mixins/deferred",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","ember-metal/computed","ember-metal/run_loop","ember-runtime/ext/rsvp","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var Mixin=__dependency3__.Mixin;var computed=__dependency4__.computed;var run=__dependency5__["default"];var RSVP=__dependency6__["default"];var asyncStart=function(){if(Ember.Test&&Ember.Test.adapter){Ember.Test.adapter.asyncStart()}};var asyncEnd=function(){if(Ember.Test&&Ember.Test.adapter){Ember.Test.adapter.asyncEnd()}};RSVP.configure("async",function(callback,promise){var async=!run.currentRunLoop;if(Ember.testing&&async){asyncStart()}run.backburner.schedule("actions",function(){if(Ember.testing&&async){asyncEnd()}callback(promise)})});RSVP.Promise.prototype.fail=function(callback,label){return this["catch"](callback,label)};__exports__["default"]=Mixin.create({then:function(resolve,reject,label){var deferred,promise,entity;entity=this;deferred=get(this,"_deferred");promise=deferred.promise;function fulfillmentHandler(fulfillment){if(fulfillment===promise){return resolve(entity)}else{return resolve(fulfillment)}}return promise.then(resolve&&fulfillmentHandler,reject,label)},resolve:function(value){var deferred,promise;deferred=get(this,"_deferred");promise=deferred.promise;if(value===this){deferred.resolve(promise)}else{deferred.resolve(value)}},reject:function(value){get(this,"_deferred").reject(value)},_deferred:computed(function(){return RSVP.defer("Ember: DeferredMixin - "+this)})})});define("ember-runtime/mixins/enumerable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/property_events","ember-metal/events","ember-runtime/compare","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__exports__){"use strict";var Ember=__dependency1__["default"];
12
- var get=__dependency2__.get;var set=__dependency3__.set;var apply=__dependency4__.apply;var Mixin=__dependency5__.Mixin;var required=__dependency5__.required;var aliasMethod=__dependency5__.aliasMethod;var indexOf=__dependency6__.indexOf;var computed=__dependency7__.computed;var propertyWillChange=__dependency8__.propertyWillChange;var propertyDidChange=__dependency8__.propertyDidChange;var addListener=__dependency9__.addListener;var removeListener=__dependency9__.removeListener;var sendEvent=__dependency9__.sendEvent;var hasListeners=__dependency9__.hasListeners;var compare=__dependency10__["default"];var a_slice=Array.prototype.slice;var contexts=[];function popCtx(){return contexts.length===0?{}:contexts.pop()}function pushCtx(ctx){contexts.push(ctx);return null}function iter(key,value){var valueProvided=arguments.length===2;function i(item){var cur=get(item,key);return valueProvided?value===cur:!!cur}return i}__exports__["default"]=Mixin.create({nextObject:required(Function),firstObject:computed("[]",function(){if(get(this,"length")===0)return undefined;var context=popCtx(),ret;ret=this.nextObject(0,null,context);pushCtx(context);return ret}),lastObject:computed("[]",function(){var len=get(this,"length");if(len===0)return undefined;var context=popCtx(),idx=0,cur,last=null;do{last=cur;cur=this.nextObject(idx++,last,context)}while(cur!==undefined);pushCtx(context);return last}),contains:function(obj){return this.find(function(item){return item===obj})!==undefined},forEach:function(callback,target){if(typeof callback!=="function")throw new TypeError;var len=get(this,"length"),last=null,context=popCtx();if(target===undefined)target=null;for(var idx=0;idx<len;idx++){var next=this.nextObject(idx,last,context);callback.call(target,next,idx,this);last=next}last=null;context=pushCtx(context);return this},getEach:function(key){return this.mapBy(key)},setEach:function(key,value){return this.forEach(function(item){set(item,key,value)})},map:function(callback,target){var ret=Ember.A();this.forEach(function(x,idx,i){ret[idx]=callback.call(target,x,idx,i)});return ret},mapBy:function(key){return this.map(function(next){return get(next,key)})},mapProperty:aliasMethod("mapBy"),filter:function(callback,target){var ret=Ember.A();this.forEach(function(x,idx,i){if(callback.call(target,x,idx,i))ret.push(x)});return ret},reject:function(callback,target){return this.filter(function(){return!apply(target,callback,arguments)})},filterBy:function(key,value){return this.filter(apply(this,iter,arguments))},filterProperty:aliasMethod("filterBy"),rejectBy:function(key,value){var exactValue=function(item){return get(item,key)===value},hasValue=function(item){return!!get(item,key)},use=arguments.length===2?exactValue:hasValue;return this.reject(use)},rejectProperty:aliasMethod("rejectBy"),find:function(callback,target){var len=get(this,"length");if(target===undefined)target=null;var last=null,next,found=false,ret;var context=popCtx();for(var idx=0;idx<len&&!found;idx++){next=this.nextObject(idx,last,context);if(found=callback.call(target,next,idx,this))ret=next;last=next}next=last=null;context=pushCtx(context);return ret},findBy:function(key,value){return this.find(apply(this,iter,arguments))},findProperty:aliasMethod("findBy"),every:function(callback,target){return!this.find(function(x,idx,i){return!callback.call(target,x,idx,i)})},everyBy:aliasMethod("isEvery"),everyProperty:aliasMethod("isEvery"),isEvery:function(key,value){return this.every(apply(this,iter,arguments))},any:function(callback,target){var len=get(this,"length"),context=popCtx(),found=false,last=null,next,idx;if(target===undefined){target=null}for(idx=0;idx<len&&!found;idx++){next=this.nextObject(idx,last,context);found=callback.call(target,next,idx,this);last=next}next=last=null;context=pushCtx(context);return found},some:aliasMethod("any"),isAny:function(key,value){return this.any(apply(this,iter,arguments))},anyBy:aliasMethod("isAny"),someProperty:aliasMethod("isAny"),reduce:function(callback,initialValue,reducerProperty){if(typeof callback!=="function"){throw new TypeError}var ret=initialValue;this.forEach(function(item,i){ret=callback(ret,item,i,this,reducerProperty)},this);return ret},invoke:function(methodName){var args,ret=Ember.A();if(arguments.length>1)args=a_slice.call(arguments,1);this.forEach(function(x,idx){var method=x&&x[methodName];if("function"===typeof method){ret[idx]=args?apply(x,method,args):x[methodName]()}},this);return ret},toArray:function(){var ret=Ember.A();this.forEach(function(o,idx){ret[idx]=o});return ret},compact:function(){return this.filter(function(value){return value!=null})},without:function(value){if(!this.contains(value))return this;var ret=Ember.A();this.forEach(function(k){if(k!==value)ret[ret.length]=k});return ret},uniq:function(){var ret=Ember.A();this.forEach(function(k){if(indexOf(ret,k)<0)ret.push(k)});return ret},"[]":computed(function(key,value){return this}),addEnumerableObserver:function(target,opts){var willChange=opts&&opts.willChange||"enumerableWillChange",didChange=opts&&opts.didChange||"enumerableDidChange";var hasObservers=get(this,"hasEnumerableObservers");if(!hasObservers)propertyWillChange(this,"hasEnumerableObservers");addListener(this,"@enumerable:before",target,willChange);addListener(this,"@enumerable:change",target,didChange);if(!hasObservers)propertyDidChange(this,"hasEnumerableObservers");return this},removeEnumerableObserver:function(target,opts){var willChange=opts&&opts.willChange||"enumerableWillChange",didChange=opts&&opts.didChange||"enumerableDidChange";var hasObservers=get(this,"hasEnumerableObservers");if(hasObservers)propertyWillChange(this,"hasEnumerableObservers");removeListener(this,"@enumerable:before",target,willChange);removeListener(this,"@enumerable:change",target,didChange);if(hasObservers)propertyDidChange(this,"hasEnumerableObservers");return this},hasEnumerableObservers:computed(function(){return hasListeners(this,"@enumerable:change")||hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(removing,adding){var removeCnt,addCnt,hasDelta;if("number"===typeof removing)removeCnt=removing;else if(removing)removeCnt=get(removing,"length");else removeCnt=removing=-1;if("number"===typeof adding)addCnt=adding;else if(adding)addCnt=get(adding,"length");else addCnt=adding=-1;hasDelta=addCnt<0||removeCnt<0||addCnt-removeCnt!==0;if(removing===-1)removing=null;if(adding===-1)adding=null;propertyWillChange(this,"[]");if(hasDelta)propertyWillChange(this,"length");sendEvent(this,"@enumerable:before",[this,removing,adding]);return this},enumerableContentDidChange:function(removing,adding){var removeCnt,addCnt,hasDelta;if("number"===typeof removing)removeCnt=removing;else if(removing)removeCnt=get(removing,"length");else removeCnt=removing=-1;if("number"===typeof adding)addCnt=adding;else if(adding)addCnt=get(adding,"length");else addCnt=adding=-1;hasDelta=addCnt<0||removeCnt<0||addCnt-removeCnt!==0;if(removing===-1)removing=null;if(adding===-1)adding=null;sendEvent(this,"@enumerable:change",[this,removing,adding]);if(hasDelta)propertyDidChange(this,"length");propertyDidChange(this,"[]");return this},sortBy:function(){var sortKeys=arguments;return this.toArray().sort(function(a,b){for(var i=0;i<sortKeys.length;i++){var key=sortKeys[i],propA=get(a,key),propB=get(b,key);var compareValue=compare(propA,propB);if(compareValue){return compareValue}}return 0})}})});define("ember-runtime/mixins/evented",["ember-metal/mixin","ember-metal/events","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Mixin=__dependency1__.Mixin;var addListener=__dependency2__.addListener;var removeListener=__dependency2__.removeListener;var hasListeners=__dependency2__.hasListeners;var sendEvent=__dependency2__.sendEvent;__exports__["default"]=Mixin.create({on:function(name,target,method){addListener(this,name,target,method);return this},one:function(name,target,method){if(!method){method=target;target=null}addListener(this,name,target,method,true);return this},trigger:function(name){var length=arguments.length;var args=new Array(length-1);for(var i=1;i<length;i++){args[i-1]=arguments[i]}sendEvent(this,name,args)},off:function(name,target,method){removeListener(this,name,target,method);return this},has:function(name){return hasListeners(this,name)}})});define("ember-runtime/mixins/freezable",["ember-metal/mixin","ember-metal/property_get","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Mixin=__dependency1__.Mixin;var get=__dependency2__.get;var set=__dependency3__.set;var Freezable=Mixin.create({isFrozen:false,freeze:function(){if(get(this,"isFrozen"))return this;set(this,"isFrozen",true);return this}});__exports__.Freezable=Freezable;var FROZEN_ERROR="Frozen object cannot be modified.";__exports__.FROZEN_ERROR=FROZEN_ERROR});define("ember-runtime/mixins/mutable_array",["ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/error","ember-metal/mixin","ember-runtime/mixins/array","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var OUT_OF_RANGE_EXCEPTION="Index out of range";var EMPTY=[];var get=__dependency1__.get;var set=__dependency2__.set;var isArray=__dependency3__.isArray;var EmberError=__dependency4__["default"];var Mixin=__dependency5__.Mixin;var required=__dependency5__.required;var EmberArray=__dependency6__["default"];var MutableEnumerable=__dependency7__["default"];var Enumerable=__dependency8__["default"];__exports__["default"]=Mixin.create(EmberArray,MutableEnumerable,{replace:required(),clear:function(){var len=get(this,"length");if(len===0)return this;this.replace(0,len,EMPTY);return this},insertAt:function(idx,object){if(idx>get(this,"length"))throw new EmberError(OUT_OF_RANGE_EXCEPTION);this.replace(idx,0,[object]);return this},removeAt:function(start,len){if("number"===typeof start){if(start<0||start>=get(this,"length")){throw new EmberError(OUT_OF_RANGE_EXCEPTION)}if(len===undefined)len=1;this.replace(start,len,EMPTY)}return this},pushObject:function(obj){this.insertAt(get(this,"length"),obj);return obj},pushObjects:function(objects){if(!(Enumerable.detect(objects)||isArray(objects))){throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects")}this.replace(get(this,"length"),0,objects);return this},popObject:function(){var len=get(this,"length");if(len===0)return null;var ret=this.objectAt(len-1);this.removeAt(len-1,1);return ret},shiftObject:function(){if(get(this,"length")===0)return null;var ret=this.objectAt(0);this.removeAt(0);return ret},unshiftObject:function(obj){this.insertAt(0,obj);return obj},unshiftObjects:function(objects){this.replace(0,0,objects);return this},reverseObjects:function(){var len=get(this,"length");if(len===0)return this;var objects=this.toArray().reverse();this.replace(0,len,objects);return this},setObjects:function(objects){if(objects.length===0)return this.clear();var len=get(this,"length");this.replace(0,len,objects);return this},removeObject:function(obj){var loc=get(this,"length")||0;while(--loc>=0){var curObject=this.objectAt(loc);if(curObject===obj)this.removeAt(loc)}return this},addObject:function(obj){if(!this.contains(obj))this.pushObject(obj);return this}})});define("ember-runtime/mixins/mutable_enumerable",["ember-metal/enumerable_utils","ember-runtime/mixins/enumerable","ember-metal/mixin","ember-metal/property_events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var forEach=__dependency1__.forEach;var Enumerable=__dependency2__["default"];var Mixin=__dependency3__.Mixin;var required=__dependency3__.required;var beginPropertyChanges=__dependency4__.beginPropertyChanges;var endPropertyChanges=__dependency4__.endPropertyChanges;__exports__["default"]=Mixin.create(Enumerable,{addObject:required(Function),addObjects:function(objects){beginPropertyChanges(this);forEach(objects,function(obj){this.addObject(obj)},this);endPropertyChanges(this);return this},removeObject:required(Function),removeObjects:function(objects){beginPropertyChanges(this);for(var i=objects.length-1;i>=0;i--){this.removeObject(objects[i])}endPropertyChanges(this);return this}})});define("ember-runtime/mixins/observable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/get_properties","ember-metal/set_properties","ember-metal/mixin","ember-metal/events","ember-metal/property_events","ember-metal/observer","ember-metal/computed","ember-metal/is_none","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var getWithDefault=__dependency2__.getWithDefault;var set=__dependency3__.set;var apply=__dependency4__.apply;var getProperties=__dependency5__["default"];var setProperties=__dependency6__["default"];var Mixin=__dependency7__.Mixin;var hasListeners=__dependency8__.hasListeners;var beginPropertyChanges=__dependency9__.beginPropertyChanges;var propertyWillChange=__dependency9__.propertyWillChange;var propertyDidChange=__dependency9__.propertyDidChange;var endPropertyChanges=__dependency9__.endPropertyChanges;var addObserver=__dependency10__.addObserver;var addBeforeObserver=__dependency10__.addBeforeObserver;var removeObserver=__dependency10__.removeObserver;var observersFor=__dependency10__.observersFor;var cacheFor=__dependency11__.cacheFor;var isNone=__dependency12__.isNone;var slice=Array.prototype.slice;__exports__["default"]=Mixin.create({get:function(keyName){return get(this,keyName)},getProperties:function(){return apply(null,getProperties,[this].concat(slice.call(arguments)))},set:function(keyName,value){set(this,keyName,value);return this},setProperties:function(hash){return setProperties(this,hash)},beginPropertyChanges:function(){beginPropertyChanges();return this},endPropertyChanges:function(){endPropertyChanges();return this},propertyWillChange:function(keyName){propertyWillChange(this,keyName);return this},propertyDidChange:function(keyName){propertyDidChange(this,keyName);return this},notifyPropertyChange:function(keyName){this.propertyWillChange(keyName);this.propertyDidChange(keyName);return this},addBeforeObserver:function(key,target,method){addBeforeObserver(this,key,target,method)},addObserver:function(key,target,method){addObserver(this,key,target,method)},removeObserver:function(key,target,method){removeObserver(this,key,target,method)},hasObserverFor:function(key){return hasListeners(this,key+":change")},getWithDefault:function(keyName,defaultValue){return getWithDefault(this,keyName,defaultValue)},incrementProperty:function(keyName,increment){if(isNone(increment)){increment=1}set(this,keyName,(parseFloat(get(this,keyName))||0)+increment);return get(this,keyName)},decrementProperty:function(keyName,decrement){if(isNone(decrement)){decrement=1}set(this,keyName,(get(this,keyName)||0)-decrement);return get(this,keyName)},toggleProperty:function(keyName){set(this,keyName,!get(this,keyName));return get(this,keyName)},cacheFor:function(keyName){return cacheFor(this,keyName)},observersForKey:function(keyName){return observersFor(this,keyName)}})});define("ember-runtime/mixins/promise_proxy",["ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/mixin","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var computed=__dependency3__.computed;var Mixin=__dependency4__.Mixin;var EmberError=__dependency5__["default"];var not=computed.not;var or=computed.or;function tap(proxy,promise){set(proxy,"isFulfilled",false);set(proxy,"isRejected",false);return promise.then(function(value){set(proxy,"isFulfilled",true);set(proxy,"content",value);return value},function(reason){set(proxy,"isRejected",true);set(proxy,"reason",reason);throw reason},"Ember: PromiseProxy")}__exports__["default"]=Mixin.create({reason:null,isPending:not("isSettled").readOnly(),isSettled:or("isRejected","isFulfilled").readOnly(),isRejected:false,isFulfilled:false,promise:computed(function(key,promise){if(arguments.length===2){return tap(this,promise)}else{throw new EmberError("PromiseProxy's promise must be set")}}),then:promiseAlias("then"),"catch":promiseAlias("catch"),"finally":promiseAlias("finally")});function promiseAlias(name){return function(){var promise=get(this,"promise");return promise[name].apply(promise,arguments)}}});define("ember-runtime/mixins/sortable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/enumerable_utils","ember-metal/mixin","ember-runtime/mixins/mutable_enumerable","ember-runtime/compare","ember-metal/observer","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var forEach=__dependency4__.forEach;var Mixin=__dependency5__.Mixin;var MutableEnumerable=__dependency6__["default"];var compare=__dependency7__["default"];var addObserver=__dependency8__.addObserver;var removeObserver=__dependency8__.removeObserver;var computed=__dependency9__.computed;var beforeObserver=__dependency5__.beforeObserver;var observer=__dependency5__.observer;__exports__["default"]=Mixin.create(MutableEnumerable,{sortProperties:null,sortAscending:true,sortFunction:compare,orderBy:function(item1,item2){var result=0,sortProperties=get(this,"sortProperties"),sortAscending=get(this,"sortAscending"),sortFunction=get(this,"sortFunction");forEach(sortProperties,function(propertyName){if(result===0){result=sortFunction.call(this,get(item1,propertyName),get(item2,propertyName));if(result!==0&&!sortAscending){result=-1*result}}},this);return result},destroy:function(){var content=get(this,"content"),sortProperties=get(this,"sortProperties");if(content&&sortProperties){forEach(content,function(item){forEach(sortProperties,function(sortProperty){removeObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super()},isSorted:computed.notEmpty("sortProperties"),arrangedContent:computed("content","sortProperties.@each",function(key,value){var content=get(this,"content"),isSorted=get(this,"isSorted"),sortProperties=get(this,"sortProperties"),self=this;if(content&&isSorted){content=content.slice();content.sort(function(item1,item2){return self.orderBy(item1,item2)});forEach(content,function(item){forEach(sortProperties,function(sortProperty){addObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this);return Ember.A(content)}return content}),_contentWillChange:beforeObserver("content",function(){var content=get(this,"content"),sortProperties=get(this,"sortProperties");if(content&&sortProperties){forEach(content,function(item){forEach(sortProperties,function(sortProperty){removeObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this)}this._super()}),sortPropertiesWillChange:beforeObserver("sortProperties",function(){this._lastSortAscending=undefined}),sortPropertiesDidChange:observer("sortProperties",function(){this._lastSortAscending=undefined}),sortAscendingWillChange:beforeObserver("sortAscending",function(){this._lastSortAscending=get(this,"sortAscending")}),sortAscendingDidChange:observer("sortAscending",function(){if(this._lastSortAscending!==undefined&&get(this,"sortAscending")!==this._lastSortAscending){var arrangedContent=get(this,"arrangedContent");arrangedContent.reverseObjects()}}),contentArrayWillChange:function(array,idx,removedCount,addedCount){var isSorted=get(this,"isSorted");if(isSorted){var arrangedContent=get(this,"arrangedContent");var removedObjects=array.slice(idx,idx+removedCount);var sortProperties=get(this,"sortProperties");forEach(removedObjects,function(item){arrangedContent.removeObject(item);forEach(sortProperties,function(sortProperty){removeObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(array,idx,removedCount,addedCount)},contentArrayDidChange:function(array,idx,removedCount,addedCount){var isSorted=get(this,"isSorted"),sortProperties=get(this,"sortProperties");if(isSorted){var addedObjects=array.slice(idx,idx+addedCount);forEach(addedObjects,function(item){this.insertItemSorted(item);forEach(sortProperties,function(sortProperty){addObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(array,idx,removedCount,addedCount)},insertItemSorted:function(item){var arrangedContent=get(this,"arrangedContent");var length=get(arrangedContent,"length");var idx=this._binarySearch(item,0,length);arrangedContent.insertAt(idx,item)},contentItemSortPropertyDidChange:function(item){var arrangedContent=get(this,"arrangedContent"),oldIndex=arrangedContent.indexOf(item),leftItem=arrangedContent.objectAt(oldIndex-1),rightItem=arrangedContent.objectAt(oldIndex+1),leftResult=leftItem&&this.orderBy(item,leftItem),rightResult=rightItem&&this.orderBy(item,rightItem);if(leftResult<0||rightResult>0){arrangedContent.removeObject(item);this.insertItemSorted(item)}},_binarySearch:function(item,low,high){var mid,midItem,res,arrangedContent;if(low===high){return low}arrangedContent=get(this,"arrangedContent");mid=low+Math.floor((high-low)/2);midItem=arrangedContent.objectAt(mid);res=this.orderBy(midItem,item);if(res<0){return this._binarySearch(item,mid+1,high)}else if(res>0){return this._binarySearch(item,low,mid)}return mid}})});define("ember-runtime/mixins/target_action_support",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/mixin","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var typeOf=__dependency4__.typeOf;var Mixin=__dependency5__.Mixin;var computed=__dependency6__.computed;var TargetActionSupport=Mixin.create({target:null,action:null,actionContext:null,targetObject:computed(function(){var target=get(this,"target");if(typeOf(target)==="string"){var value=get(this,target);if(value===undefined){value=get(Ember.lookup,target)}return value}else{return target}}).property("target"),actionContextObject:computed(function(){var actionContext=get(this,"actionContext");if(typeOf(actionContext)==="string"){var value=get(this,actionContext);if(value===undefined){value=get(Ember.lookup,actionContext)}return value}else{return actionContext}}).property("actionContext"),triggerAction:function(opts){opts=opts||{};var action=opts.action||get(this,"action"),target=opts.target||get(this,"targetObject"),actionContext=opts.actionContext;function args(options,actionName){var ret=[];if(actionName){ret.push(actionName)}return ret.concat(options)}if(typeof actionContext==="undefined"){actionContext=get(this,"actionContextObject")||this}if(target&&action){var ret;if(target.send){ret=target.send.apply(target,args(actionContext,action))}else{ret=target[action].apply(target,args(actionContext))}if(ret!==false)ret=true;return ret}else{return false}}});__exports__["default"]=TargetActionSupport});define("ember-runtime/system/application",["ember-runtime/system/namespace","exports"],function(__dependency1__,__exports__){"use strict";var Namespace=__dependency1__["default"];__exports__["default"]=Namespace.extend()});define("ember-runtime/system/array_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/property_events","ember-metal/error","ember-runtime/system/object","ember-runtime/mixins/mutable_array","ember-runtime/mixins/enumerable","ember-runtime/system/string","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var isArray=__dependency4__.isArray;var apply=__dependency4__.apply;var computed=__dependency5__.computed;var beforeObserver=__dependency6__.beforeObserver;var observer=__dependency6__.observer;var beginPropertyChanges=__dependency7__.beginPropertyChanges;var endPropertyChanges=__dependency7__.endPropertyChanges;var EmberError=__dependency8__["default"];var EmberObject=__dependency9__["default"];var MutableArray=__dependency10__["default"];var Enumerable=__dependency11__["default"];var fmt=__dependency12__.fmt;var OUT_OF_RANGE_EXCEPTION="Index out of range";var EMPTY=[];var alias=computed.alias;var K=Ember.K;var ArrayProxy=EmberObject.extend(MutableArray,{content:null,arrangedContent:alias("content"),objectAtContent:function(idx){return get(this,"arrangedContent").objectAt(idx)},replaceContent:function(idx,amt,objects){get(this,"content").replace(idx,amt,objects)},_contentWillChange:beforeObserver("content",function(){this._teardownContent()}),_teardownContent:function(){var content=get(this,"content");if(content){content.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})}},contentArrayWillChange:K,contentArrayDidChange:K,_contentDidChange:observer("content",function(){var content=get(this,"content");this._setupContent()}),_setupContent:function(){var content=get(this,"content");if(content){content.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})}},_arrangedContentWillChange:beforeObserver("arrangedContent",function(){var arrangedContent=get(this,"arrangedContent"),len=arrangedContent?get(arrangedContent,"length"):0;this.arrangedContentArrayWillChange(this,0,len,undefined);this.arrangedContentWillChange(this);this._teardownArrangedContent(arrangedContent)}),_arrangedContentDidChange:observer("arrangedContent",function(){var arrangedContent=get(this,"arrangedContent"),len=arrangedContent?get(arrangedContent,"length"):0;this._setupArrangedContent();this.arrangedContentDidChange(this);this.arrangedContentArrayDidChange(this,0,undefined,len)}),_setupArrangedContent:function(){var arrangedContent=get(this,"arrangedContent");if(arrangedContent){arrangedContent.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})}},_teardownArrangedContent:function(){var arrangedContent=get(this,"arrangedContent");if(arrangedContent){arrangedContent.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})}},arrangedContentWillChange:K,arrangedContentDidChange:K,objectAt:function(idx){return get(this,"content")&&this.objectAtContent(idx)},length:computed(function(){var arrangedContent=get(this,"arrangedContent");return arrangedContent?get(arrangedContent,"length"):0}),_replace:function(idx,amt,objects){var content=get(this,"content");if(content)this.replaceContent(idx,amt,objects);return this},replace:function(){if(get(this,"arrangedContent")===get(this,"content")){apply(this,this._replace,arguments)}else{throw new EmberError("Using replace on an arranged ArrayProxy is not allowed.")}},_insertAt:function(idx,object){if(idx>get(this,"content.length"))throw new EmberError(OUT_OF_RANGE_EXCEPTION);this._replace(idx,0,[object]);return this},insertAt:function(idx,object){if(get(this,"arrangedContent")===get(this,"content")){return this._insertAt(idx,object)}else{throw new EmberError("Using insertAt on an arranged ArrayProxy is not allowed.")}},removeAt:function(start,len){if("number"===typeof start){var content=get(this,"content"),arrangedContent=get(this,"arrangedContent"),indices=[],i;if(start<0||start>=get(this,"length")){throw new EmberError(OUT_OF_RANGE_EXCEPTION)}if(len===undefined)len=1;for(i=start;i<start+len;i++){indices.push(content.indexOf(arrangedContent.objectAt(i)))}indices.sort(function(a,b){return b-a});beginPropertyChanges();for(i=0;i<indices.length;i++){this._replace(indices[i],1,EMPTY)}endPropertyChanges()}return this},pushObject:function(obj){this._insertAt(get(this,"content.length"),obj);return obj},pushObjects:function(objects){if(!(Enumerable.detect(objects)||isArray(objects))){throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects")}this._replace(get(this,"length"),0,objects);return this},setObjects:function(objects){if(objects.length===0)return this.clear();var len=get(this,"length");this._replace(0,len,objects);return this},unshiftObject:function(obj){this._insertAt(0,obj);return obj},unshiftObjects:function(objects){this._replace(0,0,objects);return this},slice:function(){var arr=this.toArray();return arr.slice.apply(arr,arguments)},arrangedContentArrayWillChange:function(item,idx,removedCnt,addedCnt){this.arrayContentWillChange(idx,removedCnt,addedCnt)},arrangedContentArrayDidChange:function(item,idx,removedCnt,addedCnt){this.arrayContentDidChange(idx,removedCnt,addedCnt)},init:function(){this._super();this._setupContent();this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent();this._teardownContent()}});__exports__["default"]=ArrayProxy});define("ember-runtime/system/container",["ember-metal/property_set","exports"],function(__dependency1__,__exports__){"use strict";var set=__dependency1__["default"];var Container=requireModule("container")["default"];Container.set=set;__exports__["default"]=Container});define("ember-runtime/system/core_object",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/platform","ember-metal/watching","ember-metal/chains","ember-metal/events","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/error","ember-runtime/keys","ember-runtime/mixins/action_handler","ember-metal/properties","ember-metal/binding","ember-metal/computed","ember-metal/run_loop","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var apply=__dependency4__.apply;var o_create=__dependency5__.create;var generateGuid=__dependency4__.generateGuid;var GUID_KEY=__dependency4__.GUID_KEY;var meta=__dependency4__.meta;var META_KEY=__dependency4__.META_KEY;var makeArray=__dependency4__.makeArray;var rewatch=__dependency6__.rewatch;var finishChains=__dependency7__.finishChains;var sendEvent=__dependency8__.sendEvent;var IS_BINDING=__dependency9__.IS_BINDING;var Mixin=__dependency9__.Mixin;var required=__dependency9__.required;var indexOf=__dependency10__.indexOf;var EmberError=__dependency11__["default"];var platform=__dependency5__.platform;var keys=__dependency12__["default"];var ActionHandler=__dependency13__["default"];var defineProperty=__dependency14__.defineProperty;var Binding=__dependency15__.Binding;var ComputedProperty=__dependency16__.ComputedProperty;var run=__dependency17__["default"];var destroy=__dependency6__.destroy;var K=__dependency1__.K;var o_defineProperty=platform.defineProperty;
13
- var schedule=run.schedule;var applyMixin=Mixin._apply;var finishPartial=Mixin.finishPartial;var reopen=Mixin.prototype.reopen;var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var undefinedDescriptor={configurable:true,writable:true,enumerable:false,value:undefined};var nullDescriptor={configurable:true,writable:true,enumerable:false,value:null};function makeCtor(){var wasApplied=false,initMixins,initProperties;var Class=function(){if(!wasApplied){Class.proto()}o_defineProperty(this,GUID_KEY,nullDescriptor);o_defineProperty(this,"__nextSuper",undefinedDescriptor);var m=meta(this),proto=m.proto;m.proto=this;if(initMixins){var mixins=initMixins;initMixins=null;apply(this,this.reopen,mixins)}if(initProperties){var props=initProperties;initProperties=null;var concatenatedProperties=this.concatenatedProperties;for(var i=0,l=props.length;i<l;i++){var properties=props[i];if(typeof properties!=="object"&&properties!==undefined){throw new EmberError("Ember.Object.create only accepts objects.")}if(!properties){continue}var keyNames=keys(properties);for(var j=0,ll=keyNames.length;j<ll;j++){var keyName=keyNames[j];if(!properties.hasOwnProperty(keyName)){continue}var value=properties[keyName];if(IS_BINDING.test(keyName)){var bindings=m.bindings;if(!bindings){bindings=m.bindings={}}else if(!m.hasOwnProperty("bindings")){bindings=m.bindings=o_create(m.bindings)}bindings[keyName]=value}var desc=m.descs[keyName];if(concatenatedProperties&&indexOf(concatenatedProperties,keyName)>=0){var baseValue=this[keyName];if(baseValue){if("function"===typeof baseValue.concat){value=baseValue.concat(value)}else{value=makeArray(baseValue).concat(value)}}else{value=makeArray(value)}}if(desc){desc.set(this,keyName,value)}else{if(typeof this.setUnknownProperty==="function"&&!(keyName in this)){this.setUnknownProperty(keyName,value)}else if(MANDATORY_SETTER){defineProperty(this,keyName,null,value)}else{this[keyName]=value}}}}}finishPartial(this,m);apply(this,this.init,arguments);m.proto=proto;finishChains(this);sendEvent(this,"init")};Class.toString=Mixin.prototype.toString;Class.willReopen=function(){if(wasApplied){Class.PrototypeMixin=Mixin.create(Class.PrototypeMixin)}wasApplied=false};Class._initMixins=function(args){initMixins=args};Class._initProperties=function(args){initProperties=args};Class.proto=function(){var superclass=Class.superclass;if(superclass){superclass.proto()}if(!wasApplied){wasApplied=true;Class.PrototypeMixin.applyPartial(Class.prototype);rewatch(Class.prototype)}return this.prototype};return Class}var CoreObject=makeCtor();CoreObject.toString=function(){return"Ember.CoreObject"};CoreObject.PrototypeMixin=Mixin.create({reopen:function(){applyMixin(this,arguments,true);return this},init:function(){},concatenatedProperties:null,isDestroyed:false,isDestroying:false,destroy:function(){if(this.isDestroying){return}this.isDestroying=true;schedule("actions",this,this.willDestroy);schedule("destroy",this,this._scheduledDestroy);return this},willDestroy:K,_scheduledDestroy:function(){if(this.isDestroyed){return}destroy(this);this.isDestroyed=true},bind:function(to,from){if(!(from instanceof Binding)){from=Binding.from(from)}from.to(to).connect(this);return from},toString:function toString(){var hasToStringExtension=typeof this.toStringExtension==="function",extension=hasToStringExtension?":"+this.toStringExtension():"";var ret="<"+this.constructor.toString()+":"+guidFor(this)+extension+">";this.toString=makeToString(ret);return ret}});CoreObject.PrototypeMixin.ownerConstructor=CoreObject;function makeToString(ret){return function(){return ret}}if(Ember.config.overridePrototypeMixin){Ember.config.overridePrototypeMixin(CoreObject.PrototypeMixin)}CoreObject.__super__=null;var ClassMixin=Mixin.create({ClassMixin:required(),PrototypeMixin:required(),isClass:true,isMethod:false,extend:function(){var Class=makeCtor(),proto;Class.ClassMixin=Mixin.create(this.ClassMixin);Class.PrototypeMixin=Mixin.create(this.PrototypeMixin);Class.ClassMixin.ownerConstructor=Class;Class.PrototypeMixin.ownerConstructor=Class;reopen.apply(Class.PrototypeMixin,arguments);Class.superclass=this;Class.__super__=this.prototype;proto=Class.prototype=o_create(this.prototype);proto.constructor=Class;generateGuid(proto);meta(proto).proto=proto;Class.ClassMixin.apply(Class);return Class},createWithMixins:function(){var C=this;if(arguments.length>0){this._initMixins(arguments)}return new C},create:function(){var C=this;if(arguments.length>0){this._initProperties(arguments)}return new C},reopen:function(){this.willReopen();apply(this.PrototypeMixin,reopen,arguments);return this},reopenClass:function(){apply(this.ClassMixin,reopen,arguments);applyMixin(this,arguments,false);return this},detect:function(obj){if("function"!==typeof obj){return false}while(obj){if(obj===this){return true}obj=obj.superclass}return false},detectInstance:function(obj){return obj instanceof this},metaForProperty:function(key){var meta=this.proto()[META_KEY],desc=meta&&meta.descs[key];return desc._meta||{}},eachComputedProperty:function(callback,binding){var proto=this.proto(),descs=meta(proto).descs,empty={},property;for(var name in descs){property=descs[name];if(property instanceof ComputedProperty){callback.call(binding||this,name,property._meta||empty)}}}});ClassMixin.ownerConstructor=CoreObject;if(Ember.config.overrideClassMixin){Ember.config.overrideClassMixin(ClassMixin)}CoreObject.ClassMixin=ClassMixin;ClassMixin.apply(CoreObject);__exports__["default"]=CoreObject});define("ember-runtime/system/deferred",["ember-runtime/mixins/deferred","ember-metal/property_get","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var DeferredMixin=__dependency1__["default"];var get=__dependency2__.get;var EmberObject=__dependency3__["default"];var Deferred=EmberObject.extend(DeferredMixin);Deferred.reopenClass({promise:function(callback,binding){var deferred=Deferred.create();callback.call(binding,deferred);return deferred}});__exports__["default"]=Deferred});define("ember-runtime/system/each_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/enumerable_utils","ember-metal/array","ember-runtime/mixins/array","ember-runtime/system/object","ember-metal/computed","ember-metal/observer","ember-metal/events","ember-metal/properties","ember-metal/property_events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var forEach=__dependency5__.forEach;var indexOf=__dependency6__.indexOf;var EmberArray=__dependency7__["default"];var EmberObject=__dependency8__["default"];var computed=__dependency9__.computed;var addObserver=__dependency10__.addObserver;var addBeforeObserver=__dependency10__.addBeforeObserver;var removeBeforeObserver=__dependency10__.removeBeforeObserver;var removeObserver=__dependency10__.removeObserver;var typeOf=__dependency4__.typeOf;var watchedEvents=__dependency11__.watchedEvents;var defineProperty=__dependency12__.defineProperty;var beginPropertyChanges=__dependency13__.beginPropertyChanges;var propertyDidChange=__dependency13__.propertyDidChange;var propertyWillChange=__dependency13__.propertyWillChange;var endPropertyChanges=__dependency13__.endPropertyChanges;var changeProperties=__dependency13__.changeProperties;var EachArray=EmberObject.extend(EmberArray,{init:function(content,keyName,owner){this._super();this._keyName=keyName;this._owner=owner;this._content=content},objectAt:function(idx){var item=this._content.objectAt(idx);return item&&get(item,this._keyName)},length:computed(function(){var content=this._content;return content?get(content,"length"):0})});var IS_OBSERVER=/^.+:(before|change)$/;function addObserverForContentKey(content,keyName,proxy,idx,loc){var objects=proxy._objects,guid;if(!objects)objects=proxy._objects={};while(--loc>=idx){var item=content.objectAt(loc);if(item){addBeforeObserver(item,keyName,proxy,"contentKeyWillChange");addObserver(item,keyName,proxy,"contentKeyDidChange");guid=guidFor(item);if(!objects[guid])objects[guid]=[];objects[guid].push(loc)}}}function removeObserverForContentKey(content,keyName,proxy,idx,loc){var objects=proxy._objects;if(!objects)objects=proxy._objects={};var indicies,guid;while(--loc>=idx){var item=content.objectAt(loc);if(item){removeBeforeObserver(item,keyName,proxy,"contentKeyWillChange");removeObserver(item,keyName,proxy,"contentKeyDidChange");guid=guidFor(item);indicies=objects[guid];indicies[indexOf.call(indicies,loc)]=null}}}var EachProxy=EmberObject.extend({init:function(content){this._super();this._content=content;content.addArrayObserver(this);forEach(watchedEvents(this),function(eventName){this.didAddListener(eventName)},this)},unknownProperty:function(keyName,value){var ret;ret=new EachArray(this._content,keyName,this);defineProperty(this,keyName,null,ret);this.beginObservingContentKey(keyName);return ret},arrayWillChange:function(content,idx,removedCnt,addedCnt){var keys=this._keys,key,lim;lim=removedCnt>0?idx+removedCnt:-1;beginPropertyChanges(this);for(key in keys){if(!keys.hasOwnProperty(key)){continue}if(lim>0){removeObserverForContentKey(content,key,this,idx,lim)}propertyWillChange(this,key)}propertyWillChange(this._content,"@each");endPropertyChanges(this)},arrayDidChange:function(content,idx,removedCnt,addedCnt){var keys=this._keys,lim;lim=addedCnt>0?idx+addedCnt:-1;changeProperties(function(){for(var key in keys){if(!keys.hasOwnProperty(key)){continue}if(lim>0){addObserverForContentKey(content,key,this,idx,lim)}propertyDidChange(this,key)}propertyDidChange(this._content,"@each")},this)},didAddListener:function(eventName){if(IS_OBSERVER.test(eventName)){this.beginObservingContentKey(eventName.slice(0,-7))}},didRemoveListener:function(eventName){if(IS_OBSERVER.test(eventName)){this.stopObservingContentKey(eventName.slice(0,-7))}},beginObservingContentKey:function(keyName){var keys=this._keys;if(!keys)keys=this._keys={};if(!keys[keyName]){keys[keyName]=1;var content=this._content,len=get(content,"length");addObserverForContentKey(content,keyName,this,0,len)}else{keys[keyName]++}},stopObservingContentKey:function(keyName){var keys=this._keys;if(keys&&keys[keyName]>0&&--keys[keyName]<=0){var content=this._content,len=get(content,"length");removeObserverForContentKey(content,keyName,this,0,len)}},contentKeyWillChange:function(obj,keyName){propertyWillChange(this,keyName)},contentKeyDidChange:function(obj,keyName){propertyDidChange(this,keyName)}});__exports__.EachArray=EachArray;__exports__.EachProxy=EachProxy});define("ember-runtime/system/lazy_load",["ember-metal/core","ember-metal/array","ember-runtime/system/native_array","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var forEach=__dependency2__.forEach;var loadHooks=Ember.ENV.EMBER_LOAD_HOOKS||{};var loaded={};function onLoad(name,callback){var object;loadHooks[name]=loadHooks[name]||Ember.A();loadHooks[name].pushObject(callback);if(object=loaded[name]){callback(object)}}__exports__.onLoad=onLoad;function runLoadHooks(name,object){loaded[name]=object;if(typeof window==="object"&&typeof window.dispatchEvent==="function"&&typeof CustomEvent==="function"){var event=new CustomEvent(name,{detail:object,name:name});window.dispatchEvent(event)}if(loadHooks[name]){forEach.call(loadHooks[name],function(callback){callback(object)})}}__exports__.runLoadHooks=runLoadHooks});define("ember-runtime/system/namespace",["ember-metal/core","ember-metal/property_get","ember-metal/array","ember-metal/utils","ember-metal/mixin","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var indexOf=__dependency3__.indexOf;var GUID_KEY=__dependency4__.GUID_KEY;var guidFor=__dependency4__.guidFor;var Mixin=__dependency5__.Mixin;var EmberObject=__dependency6__["default"];var Namespace=EmberObject.extend({isNamespace:true,init:function(){Namespace.NAMESPACES.push(this);Namespace.PROCESSED=false},toString:function(){var name=get(this,"name");if(name){return name}findNamespaces();return this[NAME_KEY]},nameClasses:function(){processNamespace([this.toString()],this,{})},destroy:function(){var namespaces=Namespace.NAMESPACES,toString=this.toString();if(toString){Ember.lookup[toString]=undefined;delete Namespace.NAMESPACES_BY_ID[toString]}namespaces.splice(indexOf.call(namespaces,this),1);this._super()}});Namespace.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:false,processAll:processAllNamespaces,byName:function(name){if(!Ember.BOOTED){processAllNamespaces()}return NAMESPACES_BY_ID[name]}});var NAMESPACES_BY_ID=Namespace.NAMESPACES_BY_ID;var hasOwnProp={}.hasOwnProperty;function processNamespace(paths,root,seen){var idx=paths.length;NAMESPACES_BY_ID[paths.join(".")]=root;for(var key in root){if(!hasOwnProp.call(root,key)){continue}var obj=root[key];paths[idx]=key;if(obj&&obj.toString===classToString){obj.toString=makeToString(paths.join("."));obj[NAME_KEY]=paths.join(".")}else if(obj&&obj.isNamespace){if(seen[guidFor(obj)]){continue}seen[guidFor(obj)]=true;processNamespace(paths,obj,seen)}}paths.length=idx}var STARTS_WITH_UPPERCASE=/^[A-Z]/;function findNamespaces(){var lookup=Ember.lookup,obj,isNamespace;if(Namespace.PROCESSED){return}for(var prop in lookup){if(!STARTS_WITH_UPPERCASE.test(prop)){continue}if(lookup.hasOwnProperty&&!lookup.hasOwnProperty(prop)){continue}try{obj=lookup[prop];isNamespace=obj&&obj.isNamespace}catch(e){continue}if(isNamespace){obj[NAME_KEY]=prop}}}var NAME_KEY=Ember.NAME_KEY=GUID_KEY+"_name";function superClassString(mixin){var superclass=mixin.superclass;if(superclass){if(superclass[NAME_KEY]){return superclass[NAME_KEY]}else{return superClassString(superclass)}}else{return}}function classToString(){if(!Ember.BOOTED&&!this[NAME_KEY]){processAllNamespaces()}var ret;if(this[NAME_KEY]){ret=this[NAME_KEY]}else if(this._toString){ret=this._toString}else{var str=superClassString(this);if(str){ret="(subclass of "+str+")"}else{ret="(unknown mixin)"}this.toString=makeToString(ret)}return ret}function processAllNamespaces(){var unprocessedNamespaces=!Namespace.PROCESSED,unprocessedMixins=Ember.anyUnprocessedMixins;if(unprocessedNamespaces){findNamespaces();Namespace.PROCESSED=true}if(unprocessedNamespaces||unprocessedMixins){var namespaces=Namespace.NAMESPACES,namespace;for(var i=0,l=namespaces.length;i<l;i++){namespace=namespaces[i];processNamespace([namespace.toString()],namespace,{})}Ember.anyUnprocessedMixins=false}}function makeToString(ret){return function(){return ret}}Mixin.prototype.toString=classToString;__exports__["default"]=Namespace});define("ember-runtime/system/native_array",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/enumerable_utils","ember-metal/mixin","ember-runtime/mixins/array","ember-runtime/mixins/mutable_array","ember-runtime/mixins/observable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-runtime/copy","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var replace=__dependency4__._replace;var forEach=__dependency4__.forEach;var Mixin=__dependency5__.Mixin;var EmberArray=__dependency6__["default"];var MutableArray=__dependency7__["default"];var Observable=__dependency8__["default"];var Copyable=__dependency9__["default"];var FROZEN_ERROR=__dependency10__.FROZEN_ERROR;var copy=__dependency11__["default"];var NativeArray=Mixin.create(MutableArray,Observable,Copyable,{get:function(key){if(key==="length")return this.length;else if("number"===typeof key)return this[key];else return this._super(key)},objectAt:function(idx){return this[idx]},replace:function(idx,amt,objects){if(this.isFrozen)throw FROZEN_ERROR;var len=objects?get(objects,"length"):0;this.arrayContentWillChange(idx,amt,len);if(len===0){this.splice(idx,amt)}else{replace(this,idx,amt,objects)}this.arrayContentDidChange(idx,amt,len);return this},unknownProperty:function(key,value){var ret;if(value!==undefined&&ret===undefined){ret=this[key]=value}return ret},indexOf:function(object,startAt){var idx,len=this.length;if(startAt===undefined)startAt=0;else startAt=startAt<0?Math.ceil(startAt):Math.floor(startAt);if(startAt<0)startAt+=len;for(idx=startAt;idx<len;idx++){if(this[idx]===object)return idx}return-1},lastIndexOf:function(object,startAt){var idx,len=this.length;if(startAt===undefined)startAt=len-1;else startAt=startAt<0?Math.ceil(startAt):Math.floor(startAt);if(startAt<0)startAt+=len;for(idx=startAt;idx>=0;idx--){if(this[idx]===object)return idx}return-1},copy:function(deep){if(deep){return this.map(function(item){return copy(item,true)})}return this.slice()}});var ignore=["length"];forEach(NativeArray.keys(),function(methodName){if(Array.prototype[methodName])ignore.push(methodName)});if(ignore.length>0){NativeArray=NativeArray.without.apply(NativeArray,ignore)}var A=function(arr){if(arr===undefined){arr=[]}return EmberArray.detect(arr)?arr:NativeArray.apply(arr)};NativeArray.activate=function(){NativeArray.apply(Array.prototype);A=function(arr){return arr||[]}};if(Ember.EXTEND_PROTOTYPES===true||Ember.EXTEND_PROTOTYPES.Array){NativeArray.activate()}Ember.A=A;__exports__.A=A;__exports__.NativeArray=NativeArray;__exports__["default"]=NativeArray});define("ember-runtime/system/object",["ember-runtime/system/core_object","ember-runtime/mixins/observable","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var CoreObject=__dependency1__["default"];var Observable=__dependency2__["default"];var EmberObject=CoreObject.extend(Observable);EmberObject.toString=function(){return"Ember.Object"};__exports__["default"]=EmberObject});define("ember-runtime/system/object_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/property_events","ember-metal/computed","ember-metal/properties","ember-metal/mixin","ember-runtime/system/string","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var meta=__dependency4__.meta;var addObserver=__dependency5__.addObserver;var removeObserver=__dependency5__.removeObserver;var addBeforeObserver=__dependency5__.addBeforeObserver;var removeBeforeObserver=__dependency5__.removeBeforeObserver;var propertyWillChange=__dependency6__.propertyWillChange;var propertyDidChange=__dependency6__.propertyDidChange;var computed=__dependency7__.computed;var defineProperty=__dependency8__.defineProperty;var observer=__dependency9__.observer;var fmt=__dependency10__.fmt;var EmberObject=__dependency11__["default"];function contentPropertyWillChange(content,contentKey){var key=contentKey.slice(8);if(key in this){return}propertyWillChange(this,key)}function contentPropertyDidChange(content,contentKey){var key=contentKey.slice(8);if(key in this){return}propertyDidChange(this,key)}var ObjectProxy=EmberObject.extend({content:null,_contentDidChange:observer("content",function(){}),isTruthy:computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(key){var contentKey="content."+key;addBeforeObserver(this,contentKey,null,contentPropertyWillChange);addObserver(this,contentKey,null,contentPropertyDidChange)},didUnwatchProperty:function(key){var contentKey="content."+key;removeBeforeObserver(this,contentKey,null,contentPropertyWillChange);removeObserver(this,contentKey,null,contentPropertyDidChange)},unknownProperty:function(key){var content=get(this,"content");if(content){return get(content,key)}},setUnknownProperty:function(key,value){var m=meta(this);if(m.proto===this){defineProperty(this,key,null,value);return value}var content=get(this,"content");return set(content,key,value)}});__exports__["default"]=ObjectProxy});define("ember-runtime/system/set",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/is_none","ember-runtime/system/string","ember-runtime/system/core_object","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-metal/error","ember-metal/property_events","ember-metal/mixin","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var isNone=__dependency5__.isNone;var fmt=__dependency6__.fmt;var CoreObject=__dependency7__["default"];var MutableEnumerable=__dependency8__["default"];var Enumerable=__dependency9__["default"];var Copyable=__dependency10__["default"];var Freezable=__dependency11__.Freezable;var FROZEN_ERROR=__dependency11__.FROZEN_ERROR;var EmberError=__dependency12__["default"];var propertyWillChange=__dependency13__.propertyWillChange;var propertyDidChange=__dependency13__.propertyDidChange;var aliasMethod=__dependency14__.aliasMethod;var computed=__dependency15__.computed;__exports__["default"]=CoreObject.extend(MutableEnumerable,Copyable,Freezable,{length:0,clear:function(){if(this.isFrozen){throw new EmberError(FROZEN_ERROR)}var len=get(this,"length");if(len===0){return this}var guid;this.enumerableContentWillChange(len,0);propertyWillChange(this,"firstObject");propertyWillChange(this,"lastObject");for(var i=0;i<len;i++){guid=guidFor(this[i]);delete this[guid];delete this[i]}set(this,"length",0);propertyDidChange(this,"firstObject");propertyDidChange(this,"lastObject");this.enumerableContentDidChange(len,0);return this},isEqual:function(obj){if(!Enumerable.detect(obj))return false;var loc=get(this,"length");if(get(obj,"length")!==loc)return false;while(--loc>=0){if(!obj.contains(this[loc]))return false}return true},add:aliasMethod("addObject"),remove:aliasMethod("removeObject"),pop:function(){if(get(this,"isFrozen"))throw new EmberError(FROZEN_ERROR);var obj=this.length>0?this[this.length-1]:null;this.remove(obj);return obj},push:aliasMethod("addObject"),shift:aliasMethod("pop"),unshift:aliasMethod("push"),addEach:aliasMethod("addObjects"),removeEach:aliasMethod("removeObjects"),init:function(items){this._super();if(items)this.addObjects(items)},nextObject:function(idx){return this[idx]},firstObject:computed(function(){return this.length>0?this[0]:undefined}),lastObject:computed(function(){return this.length>0?this[this.length-1]:undefined}),addObject:function(obj){if(get(this,"isFrozen"))throw new EmberError(FROZEN_ERROR);if(isNone(obj))return this;var guid=guidFor(obj),idx=this[guid],len=get(this,"length"),added;if(idx>=0&&idx<len&&this[idx]===obj)return this;added=[obj];this.enumerableContentWillChange(null,added);propertyWillChange(this,"lastObject");len=get(this,"length");this[guid]=len;this[len]=obj;set(this,"length",len+1);propertyDidChange(this,"lastObject");this.enumerableContentDidChange(null,added);return this},removeObject:function(obj){if(get(this,"isFrozen"))throw new EmberError(FROZEN_ERROR);if(isNone(obj))return this;var guid=guidFor(obj),idx=this[guid],len=get(this,"length"),isFirst=idx===0,isLast=idx===len-1,last,removed;if(idx>=0&&idx<len&&this[idx]===obj){removed=[obj];this.enumerableContentWillChange(removed,null);if(isFirst){propertyWillChange(this,"firstObject")}if(isLast){propertyWillChange(this,"lastObject")}if(idx<len-1){last=this[len-1];this[idx]=last;this[guidFor(last)]=idx}delete this[guid];delete this[len-1];set(this,"length",len-1);if(isFirst){propertyDidChange(this,"firstObject")}if(isLast){propertyDidChange(this,"lastObject")}this.enumerableContentDidChange(removed,null)}return this},contains:function(obj){return this[guidFor(obj)]>=0},copy:function(){var C=this.constructor,ret=new C,loc=get(this,"length");set(ret,"length",loc);while(--loc>=0){ret[loc]=this[loc];ret[guidFor(this[loc])]=loc}return ret},toString:function(){var len=this.length,idx,array=[];for(idx=0;idx<len;idx++){array[idx]=this[idx]}return fmt("Ember.Set<%@>",[array.join(",")])}})});define("ember-runtime/system/string",["ember-metal/core","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var isArray=__dependency2__.isArray;var emberInspect=__dependency2__.inspect;var STRING_DASHERIZE_REGEXP=/[ _]/g;var STRING_DASHERIZE_CACHE={};var STRING_DECAMELIZE_REGEXP=/([a-z\d])([A-Z])/g;var STRING_CAMELIZE_REGEXP=/(\-|_|\.|\s)+(.)?/g;var STRING_UNDERSCORE_REGEXP_1=/([a-z\d])([A-Z]+)/g;var STRING_UNDERSCORE_REGEXP_2=/\-|\s+/g;function fmt(str,formats){if(!isArray(formats)||arguments.length>2){formats=Array.prototype.slice.call(arguments,1)}var idx=0;return str.replace(/%@([0-9]+)?/g,function(s,argIndex){argIndex=argIndex?parseInt(argIndex,10)-1:idx++;s=formats[argIndex];return s===null?"(null)":s===undefined?"":emberInspect(s)})}function loc(str,formats){if(!isArray(formats)||arguments.length>2){formats=Array.prototype.slice.call(arguments,1)}str=Ember.STRINGS[str]||str;return fmt(str,formats)}function w(str){return str.split(/\s+/)}function decamelize(str){return str.replace(STRING_DECAMELIZE_REGEXP,"$1_$2").toLowerCase()}function dasherize(str){var cache=STRING_DASHERIZE_CACHE,hit=cache.hasOwnProperty(str),ret;if(hit){return cache[str]}else{ret=decamelize(str).replace(STRING_DASHERIZE_REGEXP,"-");cache[str]=ret}return ret}function camelize(str){return str.replace(STRING_CAMELIZE_REGEXP,function(match,separator,chr){return chr?chr.toUpperCase():""}).replace(/^([A-Z])/,function(match,separator,chr){return match.toLowerCase()})}function classify(str){var parts=str.split("."),out=[];for(var i=0,l=parts.length;i<l;i++){var camelized=camelize(parts[i]);out.push(camelized.charAt(0).toUpperCase()+camelized.substr(1))}return out.join(".")}function underscore(str){return str.replace(STRING_UNDERSCORE_REGEXP_1,"$1_$2").replace(STRING_UNDERSCORE_REGEXP_2,"_").toLowerCase()}function capitalize(str){return str.charAt(0).toUpperCase()+str.substr(1)}Ember.STRINGS={};__exports__["default"]={fmt:fmt,loc:loc,w:w,decamelize:decamelize,dasherize:dasherize,camelize:camelize,classify:classify,underscore:underscore,capitalize:capitalize};__exports__.fmt=fmt;__exports__.loc=loc;__exports__.w=w;__exports__.decamelize=decamelize;__exports__.dasherize=dasherize;__exports__.camelize=camelize;__exports__.classify=classify;__exports__.underscore=underscore;__exports__.capitalize=capitalize});define("ember-runtime/system/subarray",["ember-metal/property_get","ember-metal/error","ember-metal/enumerable_utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var get=__dependency1__.get;var EmberError=__dependency2__["default"];var EnumerableUtils=__dependency3__["default"];var RETAIN="r";var FILTER="f";function Operation(type,count){this.type=type;this.count=count}__exports__["default"]=SubArray;function SubArray(length){if(arguments.length<1){length=0}if(length>0){this._operations=[new Operation(RETAIN,length)]}else{this._operations=[]}}SubArray.prototype={addItem:function(index,match){var returnValue=-1,itemType=match?RETAIN:FILTER,self=this;this._findOperation(index,function(operation,operationIndex,rangeStart,rangeEnd,seenInSubArray){var newOperation,splitOperation;if(itemType===operation.type){++operation.count}else if(index===rangeStart){self._operations.splice(operationIndex,0,new Operation(itemType,1))}else{newOperation=new Operation(itemType,1);splitOperation=new Operation(operation.type,rangeEnd-index+1);operation.count=index-rangeStart;self._operations.splice(operationIndex+1,0,newOperation,splitOperation)}if(match){if(operation.type===RETAIN){returnValue=seenInSubArray+(index-rangeStart)}else{returnValue=seenInSubArray}}self._composeAt(operationIndex)},function(seenInSubArray){self._operations.push(new Operation(itemType,1));if(match){returnValue=seenInSubArray}self._composeAt(self._operations.length-1)});return returnValue},removeItem:function(index){var returnValue=-1,self=this;this._findOperation(index,function(operation,operationIndex,rangeStart,rangeEnd,seenInSubArray){if(operation.type===RETAIN){returnValue=seenInSubArray+(index-rangeStart)}if(operation.count>1){--operation.count}else{self._operations.splice(operationIndex,1);self._composeAt(operationIndex)}},function(){throw new EmberError("Can't remove an item that has never been added.")});return returnValue},_findOperation:function(index,foundCallback,notFoundCallback){var operationIndex,len,operation,rangeStart,rangeEnd,seenInSubArray=0;for(operationIndex=rangeStart=0,len=this._operations.length;operationIndex<len;rangeStart=rangeEnd+1,++operationIndex){operation=this._operations[operationIndex];rangeEnd=rangeStart+operation.count-1;if(index>=rangeStart&&index<=rangeEnd){foundCallback(operation,operationIndex,rangeStart,rangeEnd,seenInSubArray);return}else if(operation.type===RETAIN){seenInSubArray+=operation.count}}notFoundCallback(seenInSubArray)},_composeAt:function(index){var op=this._operations[index],otherOp;if(!op){return}if(index>0){otherOp=this._operations[index-1];if(otherOp.type===op.type){op.count+=otherOp.count;this._operations.splice(index-1,1);--index}}if(index<this._operations.length-1){otherOp=this._operations[index+1];if(otherOp.type===op.type){op.count+=otherOp.count;this._operations.splice(index+1,1)}}},toString:function(){var str="";EnumerableUtils.forEach(this._operations,function(operation){str+=" "+operation.type+":"+operation.count});return str.substring(1)}}});define("ember-runtime/system/tracked_array",["ember-metal/property_get","ember-metal/enumerable_utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var get=__dependency1__.get;var forEach=__dependency2__.forEach;var RETAIN="r";var INSERT="i";var DELETE="d";__exports__["default"]=TrackedArray;function TrackedArray(items){if(arguments.length<1){items=[]}var length=get(items,"length");if(length){this._operations=[new ArrayOperation(RETAIN,length,items)]}else{this._operations=[]}}TrackedArray.RETAIN=RETAIN;TrackedArray.INSERT=INSERT;TrackedArray.DELETE=DELETE;TrackedArray.prototype={addItems:function(index,newItems){var count=get(newItems,"length");if(count<1){return}var match=this._findArrayOperation(index),arrayOperation=match.operation,arrayOperationIndex=match.index,arrayOperationRangeStart=match.rangeStart,composeIndex,splitIndex,splitItems,splitArrayOperation,newArrayOperation;newArrayOperation=new ArrayOperation(INSERT,count,newItems);if(arrayOperation){if(!match.split){this._operations.splice(arrayOperationIndex,0,newArrayOperation);composeIndex=arrayOperationIndex}else{this._split(arrayOperationIndex,index-arrayOperationRangeStart,newArrayOperation);composeIndex=arrayOperationIndex+1}}else{this._operations.push(newArrayOperation);composeIndex=arrayOperationIndex}this._composeInsert(composeIndex)},removeItems:function(index,count){if(count<1){return}var match=this._findArrayOperation(index),arrayOperation=match.operation,arrayOperationIndex=match.index,arrayOperationRangeStart=match.rangeStart,newArrayOperation,composeIndex;
14
- newArrayOperation=new ArrayOperation(DELETE,count);if(!match.split){this._operations.splice(arrayOperationIndex,0,newArrayOperation);composeIndex=arrayOperationIndex}else{this._split(arrayOperationIndex,index-arrayOperationRangeStart,newArrayOperation);composeIndex=arrayOperationIndex+1}return this._composeDelete(composeIndex)},apply:function(callback){var items=[],offset=0;forEach(this._operations,function(arrayOperation,operationIndex){callback(arrayOperation.items,offset,arrayOperation.type,operationIndex);if(arrayOperation.type!==DELETE){offset+=arrayOperation.count;items=items.concat(arrayOperation.items)}});this._operations=[new ArrayOperation(RETAIN,items.length,items)]},_findArrayOperation:function(index){var arrayOperationIndex,len,split=false,arrayOperation,arrayOperationRangeStart,arrayOperationRangeEnd;for(arrayOperationIndex=arrayOperationRangeStart=0,len=this._operations.length;arrayOperationIndex<len;++arrayOperationIndex){arrayOperation=this._operations[arrayOperationIndex];if(arrayOperation.type===DELETE){continue}arrayOperationRangeEnd=arrayOperationRangeStart+arrayOperation.count-1;if(index===arrayOperationRangeStart){break}else if(index>arrayOperationRangeStart&&index<=arrayOperationRangeEnd){split=true;break}else{arrayOperationRangeStart=arrayOperationRangeEnd+1}}return new ArrayOperationMatch(arrayOperation,arrayOperationIndex,split,arrayOperationRangeStart)},_split:function(arrayOperationIndex,splitIndex,newArrayOperation){var arrayOperation=this._operations[arrayOperationIndex];var splitItems=arrayOperation.items.slice(splitIndex);var splitArrayOperation=new ArrayOperation(arrayOperation.type,splitItems.length,splitItems);arrayOperation.count=splitIndex;arrayOperation.items=arrayOperation.items.slice(0,splitIndex);this._operations.splice(arrayOperationIndex+1,0,newArrayOperation,splitArrayOperation)},_composeInsert:function(index){var newArrayOperation=this._operations[index],leftArrayOperation=this._operations[index-1],rightArrayOperation=this._operations[index+1],leftOp=leftArrayOperation&&leftArrayOperation.type,rightOp=rightArrayOperation&&rightArrayOperation.type;if(leftOp===INSERT){leftArrayOperation.count+=newArrayOperation.count;leftArrayOperation.items=leftArrayOperation.items.concat(newArrayOperation.items);if(rightOp===INSERT){leftArrayOperation.count+=rightArrayOperation.count;leftArrayOperation.items=leftArrayOperation.items.concat(rightArrayOperation.items);this._operations.splice(index,2)}else{this._operations.splice(index,1)}}else if(rightOp===INSERT){newArrayOperation.count+=rightArrayOperation.count;newArrayOperation.items=newArrayOperation.items.concat(rightArrayOperation.items);this._operations.splice(index+1,1)}},_composeDelete:function(index){var arrayOperation=this._operations[index],deletesToGo=arrayOperation.count,leftArrayOperation=this._operations[index-1],leftOp=leftArrayOperation&&leftArrayOperation.type,nextArrayOperation,nextOp,nextCount,removeNewAndNextOp=false,removedItems=[];if(leftOp===DELETE){arrayOperation=leftArrayOperation;index-=1}for(var i=index+1;deletesToGo>0;++i){nextArrayOperation=this._operations[i];nextOp=nextArrayOperation.type;nextCount=nextArrayOperation.count;if(nextOp===DELETE){arrayOperation.count+=nextCount;continue}if(nextCount>deletesToGo){removedItems=removedItems.concat(nextArrayOperation.items.splice(0,deletesToGo));nextArrayOperation.count-=deletesToGo;i-=1;nextCount=deletesToGo;deletesToGo=0}else{if(nextCount===deletesToGo){removeNewAndNextOp=true}removedItems=removedItems.concat(nextArrayOperation.items);deletesToGo-=nextCount}if(nextOp===INSERT){arrayOperation.count-=nextCount}}if(arrayOperation.count>0){this._operations.splice(index+1,i-1-index)}else{this._operations.splice(index,removeNewAndNextOp?2:1)}return removedItems},toString:function(){var str="";forEach(this._operations,function(operation){str+=" "+operation.type+":"+operation.count});return str.substring(1)}};function ArrayOperation(operation,count,items){this.type=operation;this.count=count;this.items=items}function ArrayOperationMatch(operation,index,split,rangeStart){this.operation=operation;this.index=index;this.split=split;this.rangeStart=rangeStart}});define("ember-testing",["ember-metal/core","ember-testing/initializers","ember-testing/support","ember-testing/setup_for_testing","ember-testing/test","ember-testing/adapters/adapter","ember-testing/adapters/qunit","ember-testing/helpers"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__){"use strict";var Ember=__dependency1__["default"];var setupForTesting=__dependency4__["default"];var Test=__dependency5__["default"];var Adapter=__dependency6__["default"];var QUnitAdapter=__dependency7__["default"];Ember.Test=Test;Ember.Test.Adapter=Adapter;Ember.Test.QUnitAdapter=QUnitAdapter;Ember.setupForTesting=setupForTesting});define("ember-testing/adapters/adapter",["ember-metal/core","ember-metal/utils","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var inspect=__dependency2__.inspect;var EmberObject=__dependency3__["default"];var Adapter=EmberObject.extend({asyncStart:Ember.K,asyncEnd:Ember.K,exception:function(error){throw error}});__exports__["default"]=Adapter});define("ember-testing/adapters/qunit",["ember-testing/adapters/adapter","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Adapter=__dependency1__["default"];var inspect=__dependency2__.inspect;__exports__["default"]=Adapter.extend({asyncStart:function(){QUnit.stop()},asyncEnd:function(){QUnit.start()},exception:function(error){ok(false,inspect(error))}})});define("ember-testing/helpers",["ember-metal/property_get","ember-metal/error","ember-metal/run_loop","ember-views/system/jquery","ember-testing/test"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__){"use strict";var get=__dependency1__.get;var EmberError=__dependency2__["default"];var run=__dependency3__["default"];var jQuery=__dependency4__["default"];var Test=__dependency5__["default"];var helper=Test.registerHelper;var asyncHelper=Test.registerAsyncHelper;var countAsync=0;function currentRouteName(app){var appController=app.__container__.lookup("controller:application");return get(appController,"currentRouteName")}function currentPath(app){var appController=app.__container__.lookup("controller:application");return get(appController,"currentPath")}function currentURL(app){var router=app.__container__.lookup("router:main");return get(router,"location").getURL()}function visit(app,url){var router=app.__container__.lookup("router:main");router.location.setURL(url);if(app._readinessDeferrals>0){router["initialURL"]=url;run(app,"advanceReadiness");delete router["initialURL"]}else{run(app,app.handleURL,url)}return wait(app)}function click(app,selector,context){var $el=findWithAssert(app,selector,context);run($el,"mousedown");if($el.is(":input")){var type=$el.prop("type");if(type!=="checkbox"&&type!=="radio"&&type!=="hidden"){run($el,function(){if(!document.hasFocus||document.hasFocus()){this.focus()}else{this.trigger("focusin")}})}}run($el,"mouseup");run($el,"click");return wait(app)}function triggerEvent(app,selector,context,type,options){if(arguments.length===3){type=context;context=null}if(typeof options==="undefined"){options={}}var $el=findWithAssert(app,selector,context);var event=jQuery.Event(type,options);run($el,"trigger",event);return wait(app)}function keyEvent(app,selector,context,type,keyCode){if(typeof keyCode==="undefined"){keyCode=type;type=context;context=null}return triggerEvent(app,selector,context,type,{keyCode:keyCode,which:keyCode})}function fillIn(app,selector,context,text){var $el;if(typeof text==="undefined"){text=context;context=null}$el=findWithAssert(app,selector,context);run(function(){$el.val(text).change()});return wait(app)}function findWithAssert(app,selector,context){var $el=find(app,selector,context);if($el.length===0){throw new EmberError("Element "+selector+" not found.")}return $el}function find(app,selector,context){var $el;context=context||get(app,"rootElement");$el=app.$(selector,context);return $el}function andThen(app,callback){return wait(app,callback(app))}function wait(app,value){return Test.promise(function(resolve){if(++countAsync===1){Test.adapter.asyncStart()}var watcher=setInterval(function(){var routerIsLoading=!!app.__container__.lookup("router:main").router.activeTransition;if(routerIsLoading){return}if(Test.pendingAjaxRequests){return}if(run.hasScheduledTimers()||run.currentRunLoop){return}if(Test.waiters&&Test.waiters.any(function(waiter){var context=waiter[0];var callback=waiter[1];return!callback.call(context)})){return}clearInterval(watcher);if(--countAsync===0){Test.adapter.asyncEnd()}run(null,resolve,value)},10)})}asyncHelper("visit",visit);asyncHelper("click",click);asyncHelper("keyEvent",keyEvent);asyncHelper("fillIn",fillIn);helper("find",find);helper("findWithAssert",findWithAssert);asyncHelper("wait",wait);asyncHelper("andThen",andThen);helper("currentRouteName",currentRouteName);helper("currentPath",currentPath);helper("currentURL",currentURL);asyncHelper("triggerEvent",triggerEvent)});define("ember-testing/initializers",["ember-runtime/system/lazy_load"],function(__dependency1__){"use strict";var onLoad=__dependency1__.onLoad;var name="deferReadiness in `testing` mode";onLoad("Ember.Application",function(Application){if(!Application.initializers[name]){Application.initializer({name:name,initialize:function(container,application){if(application.testing){application.deferReadiness()}}})}})});define("ember-testing/setup_for_testing",["ember-metal/core","ember-testing/adapters/qunit","ember-views/system/jquery","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var QUnitAdapter=__dependency2__["default"];var jQuery=__dependency3__["default"];var Test,requests;function incrementAjaxPendingRequests(_,xhr){requests.push(xhr);Test.pendingAjaxRequests=requests.length}function decrementAjaxPendingRequests(_,xhr){for(var i=0;i<requests.length;i++){if(xhr===requests[i]){requests.splice(i,1)}}Test.pendingAjaxRequests=requests.length}__exports__["default"]=function setupForTesting(){if(!Test){Test=requireModule("ember-testing/test")["default"]}Ember.testing=true;if(!Test.adapter){Test.adapter=QUnitAdapter.create()}requests=[];Test.pendingAjaxRequests=requests.length;jQuery(document).off("ajaxSend",incrementAjaxPendingRequests);jQuery(document).off("ajaxComplete",decrementAjaxPendingRequests);jQuery(document).on("ajaxSend",incrementAjaxPendingRequests);jQuery(document).on("ajaxComplete",decrementAjaxPendingRequests)}});define("ember-testing/support",["ember-metal/core","ember-views/system/jquery"],function(__dependency1__,__dependency2__){"use strict";var Ember=__dependency1__["default"];var jQuery=__dependency2__["default"];var $=jQuery;function testCheckboxClick(handler){$('<input type="checkbox">').css({position:"absolute",left:"-1000px",top:"-1000px"}).appendTo("body").on("click",handler).trigger("click").remove()}$(function(){testCheckboxClick(function(){if(!this.checked&&!$.event.special.click){$.event.special.click={trigger:function(){if($.nodeName(this,"input")&&this.type==="checkbox"&&this.click){this.click();return false}}}}});testCheckboxClick(function(){})})});define("ember-testing/test",["ember-metal/core","ember-metal/run_loop","ember-metal/platform","ember-runtime/compare","ember-runtime/ext/rsvp","ember-testing/setup_for_testing","ember-application/system/application","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var emberRun=__dependency2__["default"];var create=__dependency3__.create;var compare=__dependency4__["default"];var RSVP=__dependency5__["default"];var setupForTesting=__dependency6__["default"];var EmberApplication=__dependency7__["default"];var slice=[].slice;var helpers={};var injectHelpersCallbacks=[];var Test={registerHelper:function(name,helperMethod){helpers[name]={method:helperMethod,meta:{wait:false}}},registerAsyncHelper:function(name,helperMethod){helpers[name]={method:helperMethod,meta:{wait:true}}},unregisterHelper:function(name){delete helpers[name];delete Test.Promise.prototype[name]},onInjectHelpers:function(callback){injectHelpersCallbacks.push(callback)},promise:function(resolver){return new Test.Promise(resolver)},adapter:null,resolve:function(val){return Test.promise(function(resolve){return resolve(val)})},registerWaiter:function(context,callback){if(arguments.length===1){callback=context;context=null}if(!this.waiters){this.waiters=Ember.A()}this.waiters.push([context,callback])},unregisterWaiter:function(context,callback){var pair;if(!this.waiters){return}if(arguments.length===1){callback=context;context=null}pair=[context,callback];this.waiters=Ember.A(this.waiters.filter(function(elt){return compare(elt,pair)!==0}))}};function helper(app,name){var fn=helpers[name].method,meta=helpers[name].meta;return function(){var args=slice.call(arguments),lastPromise=Test.lastPromise;args.unshift(app);if(!meta.wait){return fn.apply(app,args)}if(!lastPromise){lastPromise=fn.apply(app,args)}else{run(function(){lastPromise=Test.resolve(lastPromise).then(function(){return fn.apply(app,args)})})}return lastPromise}}function run(fn){if(!emberRun.currentRunLoop){emberRun(fn)}else{fn()}}EmberApplication.reopen({testHelpers:{},originalMethods:{},testing:false,setupForTesting:function(){setupForTesting();this.testing=true;this.Router.reopen({location:"none"})},helperContainer:window,injectTestHelpers:function(helperContainer){if(helperContainer){this.helperContainer=helperContainer}this.testHelpers={};for(var name in helpers){this.originalMethods[name]=this.helperContainer[name];this.testHelpers[name]=this.helperContainer[name]=helper(this,name);protoWrap(Test.Promise.prototype,name,helper(this,name),helpers[name].meta.wait)}for(var i=0,l=injectHelpersCallbacks.length;i<l;i++){injectHelpersCallbacks[i](this)}},removeTestHelpers:function(){for(var name in helpers){this.helperContainer[name]=this.originalMethods[name];delete this.testHelpers[name];delete this.originalMethods[name]}}});function protoWrap(proto,name,callback,isAsync){proto[name]=function(){var args=arguments;if(isAsync){return callback.apply(this,args)}else{return this.then(function(){return callback.apply(this,args)})}}}Test.Promise=function(){RSVP.Promise.apply(this,arguments);Test.lastPromise=this};Test.Promise.prototype=create(RSVP.Promise.prototype);Test.Promise.prototype.constructor=Test.Promise;var originalThen=RSVP.Promise.prototype.then;Test.Promise.prototype.then=function(onSuccess,onFailure){return originalThen.call(this,function(val){return isolate(onSuccess,val)},onFailure)};function isolate(fn,val){var value,lastPromise;Test.lastPromise=null;value=fn(val);lastPromise=Test.lastPromise;if(value&&value instanceof Test.Promise||!lastPromise){return value}else{run(function(){lastPromise=Test.resolve(lastPromise).then(function(){return value})});return lastPromise}}__exports__["default"]=Test});define("ember-views",["ember-runtime","ember-views/system/jquery","ember-views/system/utils","ember-views/system/render_buffer","ember-views/system/ext","ember-views/views/states","ember-views/views/core_view","ember-views/views/view","ember-views/views/view_collection","ember-views/views/container_view","ember-views/views/collection_view","ember-views/views/component","ember-views/system/event_dispatcher","ember-views/mixins/view_target_action_support","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__exports__){"use strict";var Ember=__dependency1__["default"];var jQuery=__dependency2__["default"];var setInnerHTML=__dependency3__.setInnerHTML;var isSimpleClick=__dependency3__.isSimpleClick;var RenderBuffer=__dependency4__["default"];var cloneStates=__dependency6__.cloneStates;var states=__dependency6__.states;var CoreView=__dependency7__["default"];var View=__dependency8__["default"];var ViewCollection=__dependency9__["default"];var ContainerView=__dependency10__["default"];var CollectionView=__dependency11__["default"];var Component=__dependency12__["default"];var EventDispatcher=__dependency13__["default"];var ViewTargetActionSupport=__dependency14__["default"];Ember.$=jQuery;Ember.ViewTargetActionSupport=ViewTargetActionSupport;Ember.RenderBuffer=RenderBuffer;var ViewUtils=Ember.ViewUtils={};ViewUtils.setInnerHTML=setInnerHTML;ViewUtils.isSimpleClick=isSimpleClick;Ember.CoreView=CoreView;Ember.View=View;Ember.View.states=states;Ember.View.cloneStates=cloneStates;Ember._ViewCollection=ViewCollection;Ember.ContainerView=ContainerView;Ember.CollectionView=CollectionView;Ember.Component=Component;Ember.EventDispatcher=EventDispatcher;__exports__["default"]=Ember});define("ember-views/mixins/component_template_deprecation",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var Mixin=__dependency3__.Mixin;__exports__["default"]=Mixin.create({willMergeMixin:function(props){this._super.apply(this,arguments);var deprecatedProperty,replacementProperty,layoutSpecified=props.layoutName||props.layout||get(this,"layoutName");if(props.templateName&&!layoutSpecified){deprecatedProperty="templateName";replacementProperty="layoutName";props.layoutName=props.templateName;delete props["templateName"]}if(props.template&&!layoutSpecified){deprecatedProperty="template";replacementProperty="layout";props.layout=props.template;delete props["template"]}if(deprecatedProperty){}}})});define("ember-views/mixins/view_target_action_support",["ember-metal/mixin","ember-runtime/mixins/target_action_support","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Mixin=__dependency1__.Mixin;var TargetActionSupport=__dependency2__["default"];var computed=__dependency3__.computed;var alias=computed.alias;__exports__["default"]=Mixin.create(TargetActionSupport,{target:alias("controller"),actionContext:alias("context")})});define("ember-views/system/event_dispatcher",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/object","ember-views/system/jquery","ember-views/views/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var isNone=__dependency4__.isNone;var run=__dependency5__["default"];var typeOf=__dependency6__.typeOf;var fmt=__dependency7__.fmt;var EmberObject=__dependency8__["default"];var jQuery=__dependency9__["default"];var View=__dependency10__["default"];var ActionHelper;__exports__["default"]=EmberObject.extend({events:{touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"},rootElement:"body",canDispatchToEventManager:true,setup:function(addedEvents,rootElement){var event,events=get(this,"events");jQuery.extend(events,addedEvents||{});if(!isNone(rootElement)){set(this,"rootElement",rootElement)}rootElement=jQuery(get(this,"rootElement"));rootElement.addClass("ember-application");for(event in events){if(events.hasOwnProperty(event)){this.setupHandler(rootElement,event,events[event])}}},setupHandler:function(rootElement,event,eventName){var self=this;rootElement.on(event+".ember",".ember-view",function(evt,triggeringManager){var view=View.views[this.id],result=true;var manager=self.canDispatchToEventManager?self._findNearestEventManager(view,eventName):null;if(manager&&manager!==triggeringManager){result=self._dispatchEvent(manager,evt,eventName,view)}else if(view){result=self._bubbleEvent(view,evt,eventName)}else{evt.stopPropagation()}return result});rootElement.on(event+".ember","[data-ember-action]",function(evt){if(!ActionHelper){ActionHelper=requireModule("ember-routing-handlebars/helpers/action")["ActionHelper"]}var actionId=jQuery(evt.currentTarget).attr("data-ember-action"),action=ActionHelper.registeredActions[actionId];if(action&&action.eventName===eventName){return action.handler(evt)}})},_findNearestEventManager:function(view,eventName){var manager=null;while(view){manager=get(view,"eventManager");if(manager&&manager[eventName]){break}view=get(view,"parentView")}return manager},_dispatchEvent:function(object,evt,eventName,view){var result=true;var handler=object[eventName];if(typeOf(handler)==="function"){result=run(object,handler,evt,view);evt.stopPropagation()}else{result=this._bubbleEvent(view,evt,eventName)}return result},_bubbleEvent:function(view,evt,eventName){return run(view,view.handleEvent,eventName,evt)},destroy:function(){var rootElement=get(this,"rootElement");jQuery(rootElement).off(".ember","**").removeClass("ember-application");return this._super()},toString:function(){return"(EventDisptacher)"}})});define("ember-views/system/ext",["ember-metal/run_loop"],function(__dependency1__){"use strict";var run=__dependency1__["default"];var queues=run.queues;run._addQueue("render","actions");run._addQueue("afterRender","render")});define("ember-views/system/jquery",["ember-metal/core","ember-runtime/system/string","ember-metal/enumerable_utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var w=__dependency2__.w;var forEach=__dependency3__.forEach;var jQuery=Ember.imports&&Ember.imports.jQuery||this&&this.jQuery;if(!jQuery&&typeof require==="function"){jQuery=require("jquery")}if(jQuery){var dragEvents=w("dragstart drag dragenter dragleave dragover drop dragend");forEach(dragEvents,function(eventName){jQuery.event.fixHooks[eventName]={props:["dataTransfer"]}})}__exports__["default"]=jQuery});define("ember-views/system/render_buffer",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-views/system/utils","ember-views/system/jquery","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var setInnerHTML=__dependency4__.setInnerHTML;var jQuery=__dependency5__["default"];function ClassSet(){this.seen={};this.list=[]}ClassSet.prototype={add:function(string){if(string in this.seen){return}this.seen[string]=true;this.list.push(string)},toDOM:function(){return this.list.join(" ")}};var BAD_TAG_NAME_TEST_REGEXP=/[^a-zA-Z0-9\-]/;var BAD_TAG_NAME_REPLACE_REGEXP=/[^a-zA-Z0-9\-]/g;function stripTagName(tagName){if(!tagName){return tagName}if(!BAD_TAG_NAME_TEST_REGEXP.test(tagName)){return tagName}return tagName.replace(BAD_TAG_NAME_REPLACE_REGEXP,"")}var BAD_CHARS_REGEXP=/&(?!\w+;)|[<>"'`]/g;var POSSIBLE_CHARS_REGEXP=/[&<>"'`]/;function escapeAttribute(value){var escape={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};var escapeChar=function(chr){return escape[chr]||"&amp;"};var string=value.toString();if(!POSSIBLE_CHARS_REGEXP.test(string)){return string}return string.replace(BAD_CHARS_REGEXP,escapeChar)}var canSetNameOnInputs=function(){var div=document.createElement("div"),el=document.createElement("input");el.setAttribute("name","foo");div.appendChild(el);return!!div.innerHTML.match("foo")}();__exports__["default"]=function RenderBuffer(tagName){return new _RenderBuffer(tagName)};function _RenderBuffer(tagName){this.tagNames=[tagName||null];this.buffer=""}_RenderBuffer.prototype={_element:null,_hasElement:true,elementClasses:null,classes:null,elementId:null,elementAttributes:null,elementProperties:null,elementTag:null,elementStyle:null,push:function(string){this.buffer+=string;return this},addClass:function(className){this.elementClasses=this.elementClasses||new ClassSet;this.elementClasses.add(className);this.classes=this.elementClasses.list;return this},setClasses:function(classNames){this.elementClasses=null;var len=classNames.length,i;for(i=0;i<len;i++){this.addClass(classNames[i])}},id:function(id){this.elementId=id;return this},attr:function(name,value){var attributes=this.elementAttributes=this.elementAttributes||{};if(arguments.length===1){return attributes[name]}else{attributes[name]=value}return this},removeAttr:function(name){var attributes=this.elementAttributes;if(attributes){delete attributes[name]}return this},prop:function(name,value){var properties=this.elementProperties=this.elementProperties||{};if(arguments.length===1){return properties[name]}else{properties[name]=value}return this},removeProp:function(name){var properties=this.elementProperties;if(properties){delete properties[name]}return this},style:function(name,value){this.elementStyle=this.elementStyle||{};this.elementStyle[name]=value;return this},begin:function(tagName){this.tagNames.push(tagName||null);return this},pushOpeningTag:function(){var tagName=this.currentTagName();if(!tagName){return}if(this._hasElement&&!this._element&&this.buffer.length===0){this._element=this.generateElement();return}var buffer=this.buffer,id=this.elementId,classes=this.classes,attrs=this.elementAttributes,props=this.elementProperties,style=this.elementStyle,attr,prop;buffer+="<"+stripTagName(tagName);if(id){buffer+=' id="'+escapeAttribute(id)+'"';this.elementId=null}if(classes){buffer+=' class="'+escapeAttribute(classes.join(" "))+'"';this.classes=null;this.elementClasses=null}if(style){buffer+=' style="';for(prop in style){if(style.hasOwnProperty(prop)){buffer+=prop+":"+escapeAttribute(style[prop])+";"}}buffer+='"';this.elementStyle=null}if(attrs){for(attr in attrs){if(attrs.hasOwnProperty(attr)){buffer+=" "+attr+'="'+escapeAttribute(attrs[attr])+'"'}}this.elementAttributes=null}if(props){for(prop in props){if(props.hasOwnProperty(prop)){var value=props[prop];if(value||typeof value==="number"){if(value===true){buffer+=" "+prop+'="'+prop+'"'}else{buffer+=" "+prop+'="'+escapeAttribute(props[prop])+'"'}}}}this.elementProperties=null}buffer+=">";this.buffer=buffer},pushClosingTag:function(){var tagName=this.tagNames.pop();if(tagName){this.buffer+="</"+stripTagName(tagName)+">"}},currentTagName:function(){return this.tagNames[this.tagNames.length-1]},generateElement:function(){var tagName=this.tagNames.pop(),id=this.elementId,classes=this.classes,attrs=this.elementAttributes,props=this.elementProperties,style=this.elementStyle,styleBuffer="",attr,prop,tagString;if(attrs&&attrs.name&&!canSetNameOnInputs){tagString="<"+stripTagName(tagName)+' name="'+escapeAttribute(attrs.name)+'">'}else{tagString=tagName}var element=document.createElement(tagString),$element=jQuery(element);if(id){$element.attr("id",id);this.elementId=null}if(classes){$element.attr("class",classes.join(" "));this.classes=null;this.elementClasses=null}if(style){for(prop in style){if(style.hasOwnProperty(prop)){styleBuffer+=prop+":"+style[prop]+";"}}$element.attr("style",styleBuffer);this.elementStyle=null}if(attrs){for(attr in attrs){if(attrs.hasOwnProperty(attr)){$element.attr(attr,attrs[attr])}}this.elementAttributes=null}if(props){for(prop in props){if(props.hasOwnProperty(prop)){$element.prop(prop,props[prop])}}this.elementProperties=null}return element},element:function(){var html=this.innerString();if(html){this._element=setInnerHTML(this._element,html)}return this._element},string:function(){if(this._hasElement&&this._element){var thisElement=this.element(),outerHTML=thisElement.outerHTML;if(typeof outerHTML==="undefined"){return jQuery("<div/>").append(thisElement).html()}return outerHTML}else{return this.innerString()}},innerString:function(){return this.buffer}}});define("ember-views/system/utils",["ember-metal/core","exports"],function(__dependency1__,__exports__){"use strict";var Ember=__dependency1__["default"];var needsShy=typeof document!=="undefined"&&function(){var testEl=document.createElement("div");testEl.innerHTML="<div></div>";testEl.firstChild.innerHTML="<script></script>";return testEl.firstChild.innerHTML===""}();var movesWhitespace=typeof document!=="undefined"&&function(){var testEl=document.createElement("div");testEl.innerHTML="Test: <script type='text/x-placeholder'></script>Value";return testEl.childNodes[0].nodeValue==="Test:"&&testEl.childNodes[2].nodeValue===" Value"}();var findChildById=function(element,id){if(element.getAttribute("id")===id){return element}var len=element.childNodes.length,idx,node,found;for(idx=0;idx<len;idx++){node=element.childNodes[idx];found=node.nodeType===1&&findChildById(node,id);if(found){return found}}};var setInnerHTMLWithoutFix=function(element,html){if(needsShy){html="&shy;"+html}var matches=[];if(movesWhitespace){html=html.replace(/(\s+)(<script id='([^']+)')/g,function(match,spaces,tag,id){matches.push([id,spaces]);return tag})}element.innerHTML=html;if(matches.length>0){var len=matches.length,idx;for(idx=0;idx<len;idx++){var script=findChildById(element,matches[idx][0]),node=document.createTextNode(matches[idx][1]);script.parentNode.insertBefore(node,script)}}if(needsShy){var shyElement=element.firstChild;while(shyElement.nodeType===1&&!shyElement.nodeName){shyElement=shyElement.firstChild}if(shyElement.nodeType===3&&shyElement.nodeValue.charAt(0)==="­"){shyElement.nodeValue=shyElement.nodeValue.slice(1)}}};var innerHTMLTags={};var canSetInnerHTML=function(tagName){if(innerHTMLTags[tagName]!==undefined){return innerHTMLTags[tagName]}var canSet=true;if(tagName.toLowerCase()==="select"){var el=document.createElement("select");setInnerHTMLWithoutFix(el,'<option value="test">Test</option>');canSet=el.options.length===1}innerHTMLTags[tagName]=canSet;return canSet};function setInnerHTML(element,html){var tagName=element.tagName;if(canSetInnerHTML(tagName)){setInnerHTMLWithoutFix(element,html)}else{var outerHTML=element.outerHTML||(new XMLSerializer).serializeToString(element);var startTag=outerHTML.match(new RegExp("<"+tagName+"([^>]*)>","i"))[0],endTag="</"+tagName+">";var wrapper=document.createElement("div");setInnerHTMLWithoutFix(wrapper,startTag+html+endTag);element=wrapper.firstChild;while(element.tagName!==tagName){element=element.nextSibling}}return element}__exports__.setInnerHTML=setInnerHTML;function isSimpleClick(event){var modifier=event.shiftKey||event.metaKey||event.altKey||event.ctrlKey,secondaryClick=event.which>1;return!modifier&&!secondaryClick}__exports__.isSimpleClick=isSimpleClick});define("ember-views/views/collection_view",["ember-metal/core","ember-metal/platform","ember-metal/binding","ember-metal/merge","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/string","ember-views/views/container_view","ember-views/views/core_view","ember-views/views/view","ember-metal/mixin","ember-runtime/mixins/array","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";
15
- var Ember=__dependency1__["default"];var create=__dependency2__.create;var isGlobalPath=__dependency3__.isGlobalPath;var merge=__dependency4__["default"];var get=__dependency5__.get;var set=__dependency6__.set;var fmt=__dependency7__.fmt;var ContainerView=__dependency8__["default"];var CoreView=__dependency9__["default"];var View=__dependency10__["default"];var observer=__dependency11__.observer;var beforeObserver=__dependency11__.beforeObserver;var EmberArray=__dependency12__["default"];var CollectionView=ContainerView.extend({content:null,emptyViewClass:View,emptyView:null,itemViewClass:View,init:function(){var ret=this._super();this._contentDidChange();return ret},_contentWillChange:beforeObserver("content",function(){var content=this.get("content");if(content){content.removeArrayObserver(this)}var len=content?get(content,"length"):0;this.arrayWillChange(content,0,len)}),_contentDidChange:observer("content",function(){var content=get(this,"content");if(content){this._assertArrayLike(content);content.addArrayObserver(this)}var len=content?get(content,"length"):0;this.arrayDidChange(content,0,null,len)}),_assertArrayLike:function(content){},destroy:function(){if(!this._super()){return}var content=get(this,"content");if(content){content.removeArrayObserver(this)}if(this._createdEmptyView){this._createdEmptyView.destroy()}return this},arrayWillChange:function(content,start,removedCount){var emptyView=get(this,"emptyView");if(emptyView&&emptyView instanceof View){emptyView.removeFromParent()}var childViews=this._childViews,childView,idx,len;len=this._childViews.length;var removingAll=removedCount===len;if(removingAll){this.currentState.empty(this);this.invokeRecursively(function(view){view.removedFromDOM=true},false)}for(idx=start+removedCount-1;idx>=start;idx--){childView=childViews[idx];childView.destroy()}},arrayDidChange:function(content,start,removed,added){var addedViews=[],view,item,idx,len,itemViewClass,emptyView;len=content?get(content,"length"):0;if(len){itemViewClass=get(this,"itemViewClass");if("string"===typeof itemViewClass&&isGlobalPath(itemViewClass)){itemViewClass=get(itemViewClass)||itemViewClass}for(idx=start;idx<start+added;idx++){item=content.objectAt(idx);view=this.createChildView(itemViewClass,{content:item,contentIndex:idx});addedViews.push(view)}}else{emptyView=get(this,"emptyView");if(!emptyView){return}if("string"===typeof emptyView&&isGlobalPath(emptyView)){emptyView=get(emptyView)||emptyView}emptyView=this.createChildView(emptyView);addedViews.push(emptyView);set(this,"emptyView",emptyView);if(CoreView.detect(emptyView)){this._createdEmptyView=emptyView}}this.replace(start,0,addedViews)},createChildView:function(view,attrs){view=this._super(view,attrs);var itemTagName=get(view,"tagName");if(itemTagName===null||itemTagName===undefined){itemTagName=CollectionView.CONTAINER_MAP[get(this,"tagName")];set(view,"tagName",itemTagName)}return view}});CollectionView.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"};__exports__["default"]=CollectionView});define("ember-views/views/component",["ember-metal/core","ember-views/mixins/component_template_deprecation","ember-runtime/mixins/target_action_support","ember-views/views/view","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var ComponentTemplateDeprecation=__dependency2__["default"];var TargetActionSupport=__dependency3__["default"];var View=__dependency4__["default"];var get=__dependency5__.get;var set=__dependency6__.set;var isNone=__dependency7__.isNone;var computed=__dependency8__.computed;var a_slice=Array.prototype.slice;var Component=View.extend(TargetActionSupport,ComponentTemplateDeprecation,{instrumentName:"component",instrumentDisplay:computed(function(){if(this._debugContainerKey){return"{{"+this._debugContainerKey.split(":")[1]+"}}"}}),init:function(){this._super();set(this,"origContext",get(this,"context"));set(this,"context",this);set(this,"controller",this)},defaultLayout:function(context,options){Ember.Handlebars.helpers["yield"].call(context,options)},template:computed(function(key,value){if(value!==undefined){return value}var templateName=get(this,"templateName"),template=this.templateForName(templateName,"template");return template||get(this,"defaultTemplate")}).property("templateName"),templateName:null,cloneKeywords:function(){return{view:this,controller:this}},_yield:function(context,options){var view=options.data.view,parentView=this._parentView,template=get(this,"template");if(template){view.appendChild(View,{isVirtual:true,tagName:"",_contextView:parentView,template:template,context:options.data.insideGroup?get(this,"origContext"):get(parentView,"context"),controller:get(parentView,"controller"),templateData:{keywords:parentView.cloneKeywords(),insideGroup:options.data.insideGroup}})}},targetObject:computed(function(key){var parentView=get(this,"_parentView");return parentView?get(parentView,"controller"):null}).property("_parentView"),sendAction:function(action){var actionName,contexts=a_slice.call(arguments,1);if(action===undefined){actionName=get(this,"action")}else{actionName=get(this,action)}if(actionName===undefined){return}this.triggerAction({action:actionName,actionContext:contexts})}});__exports__["default"]=Component});define("ember-views/views/container_view",["ember-metal/core","ember-metal/merge","ember-runtime/mixins/mutable_array","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/view_collection","ember-views/views/states","ember-metal/error","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/run_loop","ember-metal/properties","ember-views/system/render_buffer","ember-metal/mixin","ember-runtime/system/native_array","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__exports__){"use strict";var Ember=__dependency1__["default"];var merge=__dependency2__["default"];var MutableArray=__dependency3__["default"];var get=__dependency4__.get;var set=__dependency5__.set;var View=__dependency6__["default"];var ViewCollection=__dependency7__["default"];var cloneStates=__dependency8__.cloneStates;var EmberViewStates=__dependency8__.states;var EmberError=__dependency9__["default"];var forEach=__dependency10__.forEach;var computed=__dependency11__.computed;var run=__dependency12__["default"];var defineProperty=__dependency13__.defineProperty;var renderBuffer=__dependency14__["default"];var observer=__dependency15__.observer;var beforeObserver=__dependency15__.beforeObserver;var emberA=__dependency16__.A;var states=cloneStates(EmberViewStates);var ContainerView=View.extend(MutableArray,{_states:states,init:function(){this._super();var childViews=get(this,"childViews");defineProperty(this,"childViews",View.childViewsProperty);var _childViews=this._childViews;forEach(childViews,function(viewName,idx){var view;if("string"===typeof viewName){view=get(this,viewName);view=this.createChildView(view);set(this,viewName,view)}else{view=this.createChildView(viewName)}_childViews[idx]=view},this);var currentView=get(this,"currentView");if(currentView){if(!_childViews.length){_childViews=this._childViews=this._childViews.slice()}_childViews.push(this.createChildView(currentView))}},replace:function(idx,removedCount,addedViews){var addedCount=addedViews?get(addedViews,"length"):0;var self=this;this.arrayContentWillChange(idx,removedCount,addedCount);this.childViewsWillChange(this._childViews,idx,removedCount);if(addedCount===0){this._childViews.splice(idx,removedCount)}else{var args=[idx,removedCount].concat(addedViews);if(addedViews.length&&!this._childViews.length){this._childViews=this._childViews.slice()}this._childViews.splice.apply(this._childViews,args)}this.arrayContentDidChange(idx,removedCount,addedCount);this.childViewsDidChange(this._childViews,idx,removedCount,addedCount);return this},objectAt:function(idx){return this._childViews[idx]},length:computed(function(){return this._childViews.length}).volatile(),render:function(buffer){this.forEachChildView(function(view){view.renderToBuffer(buffer)})},instrumentName:"container",childViewsWillChange:function(views,start,removed){this.propertyWillChange("childViews");if(removed>0){var changedViews=views.slice(start,start+removed);this.currentState.childViewsWillChange(this,views,start,removed);this.initializeViews(changedViews,null,null)}},removeChild:function(child){this.removeObject(child);return this},childViewsDidChange:function(views,start,removed,added){if(added>0){var changedViews=views.slice(start,start+added);this.initializeViews(changedViews,this,get(this,"templateData"));this.currentState.childViewsDidChange(this,views,start,added)}this.propertyDidChange("childViews")},initializeViews:function(views,parentView,templateData){forEach(views,function(view){set(view,"_parentView",parentView);if(!view.container&&parentView){set(view,"container",parentView.container)}if(!get(view,"templateData")){set(view,"templateData",templateData)}})},currentView:null,_currentViewWillChange:beforeObserver("currentView",function(){var currentView=get(this,"currentView");if(currentView){currentView.destroy()}}),_currentViewDidChange:observer("currentView",function(){var currentView=get(this,"currentView");if(currentView){this.pushObject(currentView)}}),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}});merge(states._default,{childViewsWillChange:Ember.K,childViewsDidChange:Ember.K,ensureChildrenAreInDOM:Ember.K});merge(states.inBuffer,{childViewsDidChange:function(parentView,views,start,added){throw new EmberError("You cannot modify child views while in the inBuffer state")}});merge(states.hasElement,{childViewsWillChange:function(view,views,start,removed){for(var i=start;i<start+removed;i++){views[i].remove()}},childViewsDidChange:function(view,views,start,added){run.scheduleOnce("render",view,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(view){var childViews=view._childViews,i,len,childView,previous,buffer,viewCollection=new ViewCollection;for(i=0,len=childViews.length;i<len;i++){childView=childViews[i];if(!buffer){buffer=renderBuffer();buffer._hasElement=false}if(childView.renderToBufferIfNeeded(buffer)){viewCollection.push(childView)}else if(viewCollection.length){insertViewCollection(view,viewCollection,previous,buffer);buffer=null;previous=childView;viewCollection.clear()}else{previous=childView}}if(viewCollection.length){insertViewCollection(view,viewCollection,previous,buffer)}}});function insertViewCollection(view,viewCollection,previous,buffer){viewCollection.triggerRecursively("willInsertElement");if(previous){previous.domManager.after(previous,buffer.string())}else{view.domManager.prepend(view,buffer.string())}viewCollection.forEach(function(v){v._transitionTo("inDOM");v.propertyDidChange("element");v.triggerRecursively("didInsertElement")})}__exports__["default"]=ContainerView});define("ember-views/views/core_view",["ember-views/views/states","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-metal/properties","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/utils","ember-metal/instrumentation","ember-views/system/render_buffer","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var cloneStates=__dependency1__.cloneStates;var states=__dependency1__.states;var EmberObject=__dependency2__["default"];var Evented=__dependency3__["default"];var ActionHandler=__dependency4__["default"];var defineProperty=__dependency5__.defineProperty;var deprecateProperty=__dependency5__.deprecateProperty;var get=__dependency6__.get;var set=__dependency7__.set;var computed=__dependency8__.computed;var typeOf=__dependency9__.typeOf;var instrument=__dependency10__.instrument;var renderBuffer=__dependency11__["default"];var CoreView=EmberObject.extend(Evented,ActionHandler,{isView:true,_states:cloneStates(states),init:function(){this._super();this._transitionTo("preRender");this._isVisible=get(this,"isVisible");deprecateProperty(this,"states","_states");deprecateProperty(this,"state","_state")},parentView:computed("_parentView",function(){var parent=this._parentView;if(parent&&parent.isVirtual){return get(parent,"parentView")}else{return parent}}),_state:null,_parentView:null,concreteView:computed("parentView",function(){if(!this.isVirtual){return this}else{return get(this,"parentView.concreteView")}}),instrumentName:"core_view",instrumentDetails:function(hash){hash.object=this.toString();hash.containerKey=this._debugContainerKey;hash.view=this},renderToBuffer:function(buffer){var name="render."+this.instrumentName,details={};this.instrumentDetails(details);return instrument(name,details,function instrumentRenderToBuffer(){return this._renderToBuffer(buffer)},this)},_renderToBuffer:function(_buffer){var tagName=this.tagName;if(tagName===null||tagName===undefined){tagName="div"}var buffer=this.buffer=_buffer&&_buffer.begin(tagName)||renderBuffer(tagName);this._transitionTo("inBuffer",false);this.beforeRender(buffer);this.render(buffer);this.afterRender(buffer);return buffer},trigger:function(){this._super.apply(this,arguments);var name=arguments[0];var method=this[name];if(method){var length=arguments.length;var args=new Array(length-1);for(var i=1;i<length;i++){args[i-1]=arguments[i]}return method.apply(this,args)}},deprecatedSendHandles:function(actionName){return!!this[actionName]},deprecatedSend:function(actionName){var args=[].slice.call(arguments,1);this[actionName].apply(this,args);return},has:function(name){return typeOf(this[name])==="function"||this._super(name)},destroy:function(){var parent=this._parentView;if(!this._super()){return}if(!this.removedFromDOM){this.destroyElement()}if(parent){parent.removeChild(this)}this._transitionTo("destroying",false);return this},clearRenderedChildren:Ember.K,triggerRecursively:Ember.K,invokeRecursively:Ember.K,_transitionTo:Ember.K,destroyElement:Ember.K});__exports__["default"]=CoreView});define("ember-views/views/states",["ember-metal/platform","ember-metal/merge","ember-views/views/states/default","ember-views/views/states/pre_render","ember-views/views/states/in_buffer","ember-views/views/states/has_element","ember-views/views/states/in_dom","ember-views/views/states/destroying","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var create=__dependency1__.create;var merge=__dependency2__["default"];var _default=__dependency3__["default"];var preRender=__dependency4__["default"];var inBuffer=__dependency5__["default"];var hasElement=__dependency6__["default"];var inDOM=__dependency7__["default"];var destroying=__dependency8__["default"];function cloneStates(from){var into={};into._default={};into.preRender=create(into._default);into.destroying=create(into._default);into.inBuffer=create(into._default);into.hasElement=create(into._default);into.inDOM=create(into.hasElement);for(var stateName in from){if(!from.hasOwnProperty(stateName)){continue}merge(into[stateName],from[stateName])}return into}__exports__.cloneStates=cloneStates;var states={_default:_default,preRender:preRender,inDOM:inDOM,inBuffer:inBuffer,hasElement:hasElement,destroying:destroying};__exports__.states=states});define("ember-views/views/states/default",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var run=__dependency4__["default"];var EmberError=__dependency5__["default"];__exports__["default"]={appendChild:function(){throw new EmberError("You can't use appendChild outside of the rendering process")},$:function(){return undefined},getElement:function(){return null},handleEvent:function(){return true},destroyElement:function(view){set(view,"element",null);if(view._scheduledInsert){run.cancel(view._scheduledInsert);view._scheduledInsert=null}return view},renderToBufferIfNeeded:function(){return false},rerender:Ember.K,invokeObserver:Ember.K}});define("ember-views/views/states/destroying",["ember-metal/merge","ember-metal/platform","ember-runtime/system/string","ember-views/views/states/default","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var merge=__dependency1__["default"];var create=__dependency2__.create;var fmt=__dependency3__.fmt;var _default=__dependency4__["default"];var EmberError=__dependency5__["default"];var destroyingError="You can't call %@ on a view being destroyed";var destroying=create(_default);merge(destroying,{appendChild:function(){throw new EmberError(fmt(destroyingError,["appendChild"]))},rerender:function(){throw new EmberError(fmt(destroyingError,["rerender"]))},destroyElement:function(){throw new EmberError(fmt(destroyingError,["destroyElement"]))},empty:function(){throw new EmberError(fmt(destroyingError,["empty"]))},setElement:function(){throw new EmberError(fmt(destroyingError,["set('element', ...)"]))},renderToBufferIfNeeded:function(){return false},insertElement:Ember.K});__exports__["default"]=destroying});define("ember-views/views/states/has_element",["ember-views/views/states/default","ember-metal/run_loop","ember-metal/merge","ember-metal/platform","ember-views/system/jquery","ember-metal/error","ember-metal/property_get","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var _default=__dependency1__["default"];var run=__dependency2__["default"];var merge=__dependency3__["default"];var create=__dependency4__.create;var jQuery=__dependency5__["default"];var EmberError=__dependency6__["default"];var get=__dependency7__.get;var set=__dependency8__.set;var hasElement=create(_default);merge(hasElement,{$:function(view,sel){var elem=get(view,"element");return sel?jQuery(sel,elem):jQuery(elem)},getElement:function(view){var parent=get(view,"parentView");if(parent){parent=get(parent,"element")}if(parent){return view.findElementInParentElement(parent)}return jQuery("#"+get(view,"elementId"))[0]},setElement:function(view,value){if(value===null){view._transitionTo("preRender")}else{throw new EmberError("You cannot set an element to a non-null value when the element is already in the DOM.")}return value},rerender:function(view){view.triggerRecursively("willClearRender");view.clearRenderedChildren();view.domManager.replace(view);return view},destroyElement:function(view){view._notifyWillDestroyElement();view.domManager.remove(view);set(view,"element",null);if(view._scheduledInsert){run.cancel(view._scheduledInsert);view._scheduledInsert=null}return view},empty:function(view){var _childViews=view._childViews,len,idx;if(_childViews){len=_childViews.length;for(idx=0;idx<len;idx++){_childViews[idx]._notifyWillDestroyElement()}}view.domManager.empty(view)},handleEvent:function(view,eventName,evt){if(view.has(eventName)){return view.trigger(eventName,evt)}else{return true}},invokeObserver:function(target,observer){observer.call(target)}});__exports__["default"]=hasElement});define("ember-views/views/states/in_buffer",["ember-views/views/states/default","ember-metal/error","ember-metal/core","ember-metal/platform","ember-metal/merge","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var _default=__dependency1__["default"];var EmberError=__dependency2__["default"];var Ember=__dependency3__["default"];var create=__dependency4__.create;var merge=__dependency5__["default"];var inBuffer=create(_default);merge(inBuffer,{$:function(view,sel){view.rerender();return Ember.$()},rerender:function(view){throw new EmberError("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(view,childView,options){var buffer=view.buffer,_childViews=view._childViews;childView=view.createChildView(childView,options);if(!_childViews.length){_childViews=view._childViews=_childViews.slice()}_childViews.push(childView);childView.renderToBuffer(buffer);view.propertyDidChange("childViews");return childView},destroyElement:function(view){view.clearBuffer();var viewCollection=view._notifyWillDestroyElement();viewCollection.transitionTo("preRender",false);return view},empty:function(){},renderToBufferIfNeeded:function(view,buffer){return false},insertElement:function(){throw new EmberError("You can't insert an element that has already been rendered")},setElement:function(view,value){if(value===null){view._transitionTo("preRender")}else{view.clearBuffer();view._transitionTo("hasElement")}return value},invokeObserver:function(target,observer){observer.call(target)}});__exports__["default"]=inBuffer});define("ember-views/views/states/in_dom",["ember-metal/core","ember-metal/platform","ember-metal/merge","ember-metal/error","ember-views/views/states/has_element","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var create=__dependency2__.create;var merge=__dependency3__["default"];var EmberError=__dependency4__["default"];var hasElement=__dependency5__["default"];var inDOM=create(hasElement);var View;merge(inDOM,{enter:function(view){if(!View){View=requireModule("ember-views/views/view")["default"]}if(!view.isVirtual){View.views[view.elementId]=view}view.addBeforeObserver("elementId",function(){throw new EmberError("Changing a view's elementId after creation is not allowed")})},exit:function(view){if(!View){View=requireModule("ember-views/views/view")["default"]}if(!this.isVirtual)delete View.views[view.elementId]},insertElement:function(view,fn){throw new EmberError("You can't insert an element into the DOM that has already been inserted")}});__exports__["default"]=inDOM});define("ember-views/views/states/pre_render",["ember-views/views/states/default","ember-metal/platform","ember-metal/merge","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var _default=__dependency1__["default"];var create=__dependency2__.create;var merge=__dependency3__["default"];var preRender=create(_default);merge(preRender,{insertElement:function(view,fn){view.createElement();var viewCollection=view.viewHierarchyCollection();viewCollection.trigger("willInsertElement");fn.call(view);var element=view.get("element");if(document.body.contains(element)){viewCollection.transitionTo("inDOM",false);viewCollection.trigger("didInsertElement")}},renderToBufferIfNeeded:function(view,buffer){view.renderToBuffer(buffer);return true},empty:Ember.K,setElement:function(view,value){if(value!==null){view._transitionTo("hasElement")}return value}});__exports__["default"]=preRender});define("ember-views/views/view",["ember-metal/core","ember-runtime/mixins/evented","ember-runtime/system/object","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/set_properties","ember-metal/run_loop","ember-metal/observer","ember-metal/properties","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/is_none","container/container","ember-runtime/system/native_array","ember-runtime/system/string","ember-metal/enumerable_utils","ember-runtime/copy","ember-metal/binding","ember-metal/property_events","ember-views/system/jquery","ember-views/system/ext","ember-views/views/core_view","ember-views/views/view_collection","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__dependency19__,__dependency20__,__dependency21__,__dependency22__,__dependency23__,__dependency24__,__dependency25__,__exports__){"use strict";var Ember=__dependency1__["default"];var Evented=__dependency2__["default"];var EmberObject=__dependency3__["default"];var EmberError=__dependency4__["default"];var get=__dependency5__.get;var set=__dependency6__.set;var setProperties=__dependency7__["default"];var run=__dependency8__["default"];var addObserver=__dependency9__.addObserver;var removeObserver=__dependency9__.removeObserver;var defineProperty=__dependency10__.defineProperty;var deprecateProperty=__dependency10__.deprecateProperty;var guidFor=__dependency11__.guidFor;var meta=__dependency11__.meta;var computed=__dependency12__.computed;var observer=__dependency13__.observer;var typeOf=__dependency11__.typeOf;var isArray=__dependency11__.isArray;var isNone=__dependency14__.isNone;var Mixin=__dependency13__.Mixin;var Container=__dependency15__["default"];var emberA=__dependency16__.A;var dasherize=__dependency17__.dasherize;var forEach=__dependency18__.forEach;var addObject=__dependency18__.addObject;var removeObject=__dependency18__.removeObject;var beforeObserver=__dependency13__.beforeObserver;var copy=__dependency19__["default"];var isGlobalPath=__dependency20__.isGlobalPath;var propertyWillChange=__dependency21__.propertyWillChange;var propertyDidChange=__dependency21__.propertyDidChange;var jQuery=__dependency22__["default"];var CoreView=__dependency24__["default"];var ViewCollection=__dependency25__["default"];var ContainerView;function nullViewsBuffer(view){view.buffer=null}function clearCachedElement(view){meta(view).cache.element=undefined}var childViewsProperty=computed(function(){var childViews=this._childViews,ret=emberA(),view=this;forEach(childViews,function(view){var currentChildViews;if(view.isVirtual){if(currentChildViews=get(view,"childViews")){ret.pushObjects(currentChildViews)}}else{ret.push(view)}});ret.replace=function(idx,removedCount,addedViews){if(!ContainerView){ContainerView=requireModule("ember-views/views/container_view")["default"]}if(view instanceof ContainerView){return view.replace(idx,removedCount,addedViews)}throw new EmberError("childViews is immutable")};return ret});Ember.TEMPLATES={};var EMPTY_ARRAY=[];var View=CoreView.extend({concatenatedProperties:["classNames","classNameBindings","attributeBindings"],isView:true,templateName:null,layoutName:null,instrumentDisplay:computed(function(){if(this.helperName){return"{{"+this.helperName+"}}"}}),template:computed("templateName",function(key,value){if(value!==undefined){return value}var templateName=get(this,"templateName"),template=this.templateForName(templateName,"template");return template||get(this,"defaultTemplate")}),controller:computed("_parentView",function(key){var parentView=get(this,"_parentView");return parentView?get(parentView,"controller"):null}),layout:computed(function(key){var layoutName=get(this,"layoutName"),layout=this.templateForName(layoutName,"layout");return layout||get(this,"defaultLayout")}).property("layoutName"),_yield:function(context,options){var template=get(this,"template");if(template){template(context,options)}},templateForName:function(name,type){if(!name){return}var container=this.container||Container&&Container.defaultContainer;return container&&container.lookup("template:"+name)},context:computed(function(key,value){if(arguments.length===2){set(this,"_context",value);return value}else{return get(this,"_context")}}).volatile(),_context:computed(function(key){var parentView,controller;if(controller=get(this,"controller")){return controller}parentView=this._parentView;if(parentView){return get(parentView,"_context")}return null}),_contextDidChange:observer("context",function(){this.rerender()}),isVisible:true,childViews:childViewsProperty,_childViews:EMPTY_ARRAY,_childViewsWillChange:beforeObserver("childViews",function(){if(this.isVirtual){var parentView=get(this,"parentView");if(parentView){propertyWillChange(parentView,"childViews")}}}),_childViewsDidChange:observer("childViews",function(){if(this.isVirtual){var parentView=get(this,"parentView");if(parentView){propertyDidChange(parentView,"childViews")}}}),nearestInstanceOf:function(klass){var view=get(this,"parentView");while(view){if(view instanceof klass){return view}view=get(view,"parentView")}},nearestOfType:function(klass){var view=get(this,"parentView"),isOfType=klass instanceof Mixin?function(view){return klass.detect(view)}:function(view){return klass.detect(view.constructor)};while(view){if(isOfType(view)){return view}view=get(view,"parentView")}},nearestWithProperty:function(property){var view=get(this,"parentView");while(view){if(property in view){return view}view=get(view,"parentView")}},nearestChildOf:function(klass){var view=get(this,"parentView");while(view){if(get(view,"parentView")instanceof klass){return view}view=get(view,"parentView")}},_parentViewDidChange:observer("_parentView",function(){if(this.isDestroying){return}this.trigger("parentViewDidChange");if(get(this,"parentView.controller")&&!get(this,"controller")){this.notifyPropertyChange("controller")}}),_controllerDidChange:observer("controller",function(){if(this.isDestroying){return}this.rerender();this.forEachChildView(function(view){view.propertyDidChange("controller")})}),cloneKeywords:function(){var templateData=get(this,"templateData");var keywords=templateData?copy(templateData.keywords):{};set(keywords,"view",this.isVirtual?keywords.view:this);set(keywords,"_view",this);set(keywords,"controller",get(this,"controller"));return keywords},render:function(buffer){var template=get(this,"layout")||get(this,"template");if(template){var context=get(this,"context");var keywords=this.cloneKeywords();var output;var data={view:this,buffer:buffer,isRenderData:true,keywords:keywords,insideGroup:get(this,"templateData.insideGroup")};output=template(context,{data:data});if(output!==undefined){buffer.push(output)}}},rerender:function(){return this.currentState.rerender(this)},clearRenderedChildren:function(){var lengthBefore=this.lengthBeforeRender,lengthAfter=this.lengthAfterRender;var childViews=this._childViews;for(var i=lengthAfter-1;i>=lengthBefore;i--){if(childViews[i]){childViews[i].destroy()}}},_applyClassNameBindings:function(classBindings){var classNames=this.classNames,elem,newClass,dasherizedClass;forEach(classBindings,function(binding){var oldClass;var parsedPath=View._parsePropertyPath(binding);var observer=function(){newClass=this._classStringForProperty(binding);elem=this.$();if(oldClass){elem.removeClass(oldClass);classNames.removeObject(oldClass)}if(newClass){elem.addClass(newClass);oldClass=newClass}else{oldClass=null}};dasherizedClass=this._classStringForProperty(binding);if(dasherizedClass){addObject(classNames,dasherizedClass);oldClass=dasherizedClass}this.registerObserver(this,parsedPath.path,observer);this.one("willClearRender",function(){if(oldClass){classNames.removeObject(oldClass);oldClass=null}})},this)},_unspecifiedAttributeBindings:null,_applyAttributeBindings:function(buffer,attributeBindings){var attributeValue,unspecifiedAttributeBindings=this._unspecifiedAttributeBindings=this._unspecifiedAttributeBindings||{};forEach(attributeBindings,function(binding){var split=binding.split(":"),property=split[0],attributeName=split[1]||property;
16
- if(property in this){this._setupAttributeBindingObservation(property,attributeName);attributeValue=get(this,property);View.applyAttributeBindings(buffer,attributeName,attributeValue)}else{unspecifiedAttributeBindings[property]=attributeName}},this);this.setUnknownProperty=this._setUnknownProperty},_setupAttributeBindingObservation:function(property,attributeName){var attributeValue,elem;var observer=function(){elem=this.$();attributeValue=get(this,property);View.applyAttributeBindings(elem,attributeName,attributeValue)};this.registerObserver(this,property,observer)},setUnknownProperty:null,_setUnknownProperty:function(key,value){var attributeName=this._unspecifiedAttributeBindings&&this._unspecifiedAttributeBindings[key];if(attributeName){this._setupAttributeBindingObservation(key,attributeName)}defineProperty(this,key);return set(this,key,value)},_classStringForProperty:function(property){var parsedPath=View._parsePropertyPath(property);var path=parsedPath.path;var val=get(this,path);if(val===undefined&&isGlobalPath(path)){val=get(Ember.lookup,path)}return View._classStringForValue(path,val,parsedPath.className,parsedPath.falsyClassName)},element:computed("_parentView",function(key,value){if(value!==undefined){return this.currentState.setElement(this,value)}else{return this.currentState.getElement(this)}}),$:function(sel){return this.currentState.$(this,sel)},mutateChildViews:function(callback){var childViews=this._childViews,idx=childViews.length,view;while(--idx>=0){view=childViews[idx];callback(this,view,idx)}return this},forEachChildView:function(callback){var childViews=this._childViews;if(!childViews){return this}var len=childViews.length,view,idx;for(idx=0;idx<len;idx++){view=childViews[idx];callback(view)}return this},appendTo:function(target){this._insertElementLater(function(){this.$().appendTo(target)});return this},replaceIn:function(target){this._insertElementLater(function(){jQuery(target).empty();this.$().appendTo(target)});return this},_insertElementLater:function(fn){this._scheduledInsert=run.scheduleOnce("render",this,"_insertElement",fn)},_insertElement:function(fn){this._scheduledInsert=null;this.currentState.insertElement(this,fn)},append:function(){return this.appendTo(document.body)},remove:function(){if(!this.removedFromDOM){this.destroyElement()}this.invokeRecursively(function(view){if(view.clearRenderedChildren){view.clearRenderedChildren()}})},elementId:null,findElementInParentElement:function(parentElem){var id="#"+this.elementId;return jQuery(id)[0]||jQuery(id,parentElem)[0]},createElement:function(){if(get(this,"element")){return this}var buffer=this.renderToBuffer();set(this,"element",buffer.element());return this},willInsertElement:Ember.K,didInsertElement:Ember.K,willClearRender:Ember.K,invokeRecursively:function(fn,includeSelf){var childViews=includeSelf===false?this._childViews:[this];var currentViews,view,currentChildViews;while(childViews.length){currentViews=childViews.slice();childViews=[];for(var i=0,l=currentViews.length;i<l;i++){view=currentViews[i];currentChildViews=view._childViews?view._childViews.slice(0):null;fn(view);if(currentChildViews){childViews.push.apply(childViews,currentChildViews)}}}},triggerRecursively:function(eventName){var childViews=[this],currentViews,view,currentChildViews;while(childViews.length){currentViews=childViews.slice();childViews=[];for(var i=0,l=currentViews.length;i<l;i++){view=currentViews[i];currentChildViews=view._childViews?view._childViews.slice(0):null;if(view.trigger){view.trigger(eventName)}if(currentChildViews){childViews.push.apply(childViews,currentChildViews)}}}},viewHierarchyCollection:function(){var currentView,viewCollection=new ViewCollection([this]);for(var i=0;i<viewCollection.length;i++){currentView=viewCollection.objectAt(i);if(currentView._childViews){viewCollection.push.apply(viewCollection,currentView._childViews)}}return viewCollection},destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:Ember.K,_notifyWillDestroyElement:function(){var viewCollection=this.viewHierarchyCollection();viewCollection.trigger("willClearRender");viewCollection.trigger("willDestroyElement");return viewCollection},_elementDidChange:observer("element",function(){this.forEachChildView(clearCachedElement)}),parentViewDidChange:Ember.K,instrumentName:"view",instrumentDetails:function(hash){hash.template=get(this,"templateName");this._super(hash)},_renderToBuffer:function(buffer){this.lengthBeforeRender=this._childViews.length;buffer=this._super(buffer);this.lengthAfterRender=this._childViews.length;return buffer},renderToBufferIfNeeded:function(buffer){return this.currentState.renderToBufferIfNeeded(this,buffer)},beforeRender:function(buffer){this.applyAttributesToBuffer(buffer);buffer.pushOpeningTag()},afterRender:function(buffer){buffer.pushClosingTag()},applyAttributesToBuffer:function(buffer){var classNameBindings=get(this,"classNameBindings");if(classNameBindings.length){this._applyClassNameBindings(classNameBindings)}var attributeBindings=get(this,"attributeBindings");if(attributeBindings.length){this._applyAttributeBindings(buffer,attributeBindings)}buffer.setClasses(this.classNames);buffer.id(this.elementId);var role=get(this,"ariaRole");if(role){buffer.attr("role",role)}if(get(this,"isVisible")===false){buffer.style("display","none")}},tagName:null,ariaRole:null,classNames:["ember-view"],classNameBindings:EMPTY_ARRAY,attributeBindings:EMPTY_ARRAY,init:function(){this.elementId=this.elementId||guidFor(this);this._super();this._childViews=this._childViews.slice();this.classNameBindings=emberA(this.classNameBindings.slice());this.classNames=emberA(this.classNames.slice())},appendChild:function(view,options){return this.currentState.appendChild(this,view,options)},removeChild:function(view){if(this.isDestroying){return}set(view,"_parentView",null);var childViews=this._childViews;removeObject(childViews,view);this.propertyDidChange("childViews");return this},removeAllChildren:function(){return this.mutateChildViews(function(parentView,view){parentView.removeChild(view)})},destroyAllChildren:function(){return this.mutateChildViews(function(parentView,view){view.destroy()})},removeFromParent:function(){var parent=this._parentView;this.remove();if(parent){parent.removeChild(this)}return this},destroy:function(){var childViews=this._childViews,nonVirtualParentView=get(this,"parentView"),viewName=this.viewName,childLen,i;if(!this._super()){return}childLen=childViews.length;for(i=childLen-1;i>=0;i--){childViews[i].removedFromDOM=true}if(viewName&&nonVirtualParentView){nonVirtualParentView.set(viewName,null)}childLen=childViews.length;for(i=childLen-1;i>=0;i--){childViews[i].destroy()}return this},createChildView:function(view,attrs){if(!view){throw new TypeError("createChildViews first argument must exist")}if(view.isView&&view._parentView===this&&view.container===this.container){return view}attrs=attrs||{};attrs._parentView=this;if(CoreView.detect(view)){attrs.templateData=attrs.templateData||get(this,"templateData");attrs.container=this.container;view=view.create(attrs);if(view.viewName){set(get(this,"concreteView"),view.viewName,view)}}else if("string"===typeof view){var fullName="view:"+view;var ViewKlass=this.container.lookupFactory(fullName);attrs.templateData=get(this,"templateData");view=ViewKlass.create(attrs)}else{attrs.container=this.container;if(!get(view,"templateData")){attrs.templateData=get(this,"templateData")}setProperties(view,attrs)}return view},becameVisible:Ember.K,becameHidden:Ember.K,_isVisibleDidChange:observer("isVisible",function(){if(this._isVisible===get(this,"isVisible")){return}run.scheduleOnce("render",this,this._toggleVisibility)}),_toggleVisibility:function(){var $el=this.$();if(!$el){return}var isVisible=get(this,"isVisible");if(this._isVisible===isVisible){return}$el.toggle(isVisible);this._isVisible=isVisible;if(this._isAncestorHidden()){return}if(isVisible){this._notifyBecameVisible()}else{this._notifyBecameHidden()}},_notifyBecameVisible:function(){this.trigger("becameVisible");this.forEachChildView(function(view){var isVisible=get(view,"isVisible");if(isVisible||isVisible===null){view._notifyBecameVisible()}})},_notifyBecameHidden:function(){this.trigger("becameHidden");this.forEachChildView(function(view){var isVisible=get(view,"isVisible");if(isVisible||isVisible===null){view._notifyBecameHidden()}})},_isAncestorHidden:function(){var parent=get(this,"parentView");while(parent){if(get(parent,"isVisible")===false){return true}parent=get(parent,"parentView")}return false},clearBuffer:function(){this.invokeRecursively(nullViewsBuffer)},transitionTo:function(state,children){this._transitionTo(state,children)},_transitionTo:function(state,children){var priorState=this.currentState;var currentState=this.currentState=this._states[state];this._state=state;if(priorState&&priorState.exit){priorState.exit(this)}if(currentState.enter){currentState.enter(this)}if(state==="inDOM"){meta(this).cache.element=undefined}if(children!==false){this.forEachChildView(function(view){view._transitionTo(state)})}},handleEvent:function(eventName,evt){return this.currentState.handleEvent(this,eventName,evt)},registerObserver:function(root,path,target,observer){if(!observer&&"function"===typeof target){observer=target;target=null}if(!root||typeof root!=="object"){return}var view=this,stateCheckedObserver=function(){view.currentState.invokeObserver(this,observer)},scheduledObserver=function(){run.scheduleOnce("render",this,stateCheckedObserver)};addObserver(root,path,target,scheduledObserver);this.one("willClearRender",function(){removeObserver(root,path,target,scheduledObserver)})}});function notifyMutationListeners(){run.once(View,"notifyMutationListeners")}var DOMManager={prepend:function(view,html){view.$().prepend(html);notifyMutationListeners()},after:function(view,html){view.$().after(html);notifyMutationListeners()},html:function(view,html){view.$().html(html);notifyMutationListeners()},replace:function(view){var element=get(view,"element");set(view,"element",null);view._insertElementLater(function(){jQuery(element).replaceWith(get(view,"element"));notifyMutationListeners()})},remove:function(view){view.$().remove();notifyMutationListeners()},empty:function(view){view.$().empty();notifyMutationListeners()}};View.reopen({domManager:DOMManager});View.reopenClass({_parsePropertyPath:function(path){var split=path.split(":"),propertyPath=split[0],classNames="",className,falsyClassName;if(split.length>1){className=split[1];if(split.length===3){falsyClassName=split[2]}classNames=":"+className;if(falsyClassName){classNames+=":"+falsyClassName}}return{path:propertyPath,classNames:classNames,className:className===""?undefined:className,falsyClassName:falsyClassName}},_classStringForValue:function(path,val,className,falsyClassName){if(isArray(val)){val=get(val,"length")!==0}if(className||falsyClassName){if(className&&!!val){return className}else if(falsyClassName&&!val){return falsyClassName}else{return null}}else if(val===true){var parts=path.split(".");return dasherize(parts[parts.length-1])}else if(val!==false&&val!=null){return val}else{return null}}});var mutation=EmberObject.extend(Evented).create();View.addMutationListener=function(callback){mutation.on("change",callback)};View.removeMutationListener=function(callback){mutation.off("change",callback)};View.notifyMutationListeners=function(){mutation.trigger("change")};View.views={};View.childViewsProperty=childViewsProperty;View.applyAttributeBindings=function(elem,name,value){var type=typeOf(value);if(name!=="value"&&(type==="string"||type==="number"&&!isNaN(value))){if(value!==elem.attr(name)){elem.attr(name,value)}}else if(name==="value"||type==="boolean"){if(isNone(value)||value===false){elem.removeAttr(name);elem.prop(name,"")}else if(value!==elem.prop(name)){elem.prop(name,value)}}else if(!value){elem.removeAttr(name)}};__exports__["default"]=View});define("ember-views/views/view_collection",["ember-metal/enumerable_utils","exports"],function(__dependency1__,__exports__){"use strict";var forEach=__dependency1__.forEach;function ViewCollection(initialViews){var views=this.views=initialViews||[];this.length=views.length}ViewCollection.prototype={length:0,trigger:function(eventName){var views=this.views,view;for(var i=0,l=views.length;i<l;i++){view=views[i];if(view.trigger){view.trigger(eventName)}}},triggerRecursively:function(eventName){var views=this.views;for(var i=0,l=views.length;i<l;i++){views[i].triggerRecursively(eventName)}},invokeRecursively:function(fn){var views=this.views,view;for(var i=0,l=views.length;i<l;i++){view=views[i];fn(view)}},transitionTo:function(state,children){var views=this.views;for(var i=0,l=views.length;i<l;i++){views[i]._transitionTo(state,children)}},push:function(){this.length+=arguments.length;var views=this.views;return views.push.apply(views,arguments)},objectAt:function(idx){return this.views[idx]},forEach:function(callback){var views=this.views;return forEach(views,callback)},clear:function(){this.length=0;this.views.length=0}};__exports__["default"]=ViewCollection});define("ember",["ember-metal","ember-runtime","ember-handlebars","ember-views","ember-routing","ember-routing-handlebars","ember-application","ember-extension-support"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__){"use strict";if(Ember.__loader.registry["ember-testing"]){requireModule("ember-testing")}function throwWithMessage(msg){return function(){throw new Ember.Error(msg)}}function generateRemovedClass(className){var msg=" has been moved into a plugin: https://github.com/emberjs/ember-states";return{extend:throwWithMessage(className+msg),create:throwWithMessage(className+msg)}}Ember.StateManager=generateRemovedClass("Ember.StateManager");Ember.State=generateRemovedClass("Ember.State")});define("metamorph",[],function(){"use strict";var K=function(){},guid=0,disableRange=function(){if("undefined"!==typeof MetamorphENV){return MetamorphENV.DISABLE_RANGE_API}else if("undefined"!==ENV){return ENV.DISABLE_RANGE_API}else{return false}}(),supportsRange=!disableRange&&typeof document!=="undefined"&&"createRange"in document&&typeof Range!=="undefined"&&Range.prototype.createContextualFragment,needsShy=typeof document!=="undefined"&&function(){var testEl=document.createElement("div");testEl.innerHTML="<div></div>";testEl.firstChild.innerHTML="<script></script>";return testEl.firstChild.innerHTML===""}(),movesWhitespace=document&&function(){var testEl=document.createElement("div");testEl.innerHTML="Test: <script type='text/x-placeholder'></script>Value";return testEl.childNodes[0].nodeValue==="Test:"&&testEl.childNodes[2].nodeValue===" Value"}();var Metamorph=function(html){var self;if(this instanceof Metamorph){self=this}else{self=new K}self.innerHTML=html;var myGuid="metamorph-"+guid++;self.start=myGuid+"-start";self.end=myGuid+"-end";return self};K.prototype=Metamorph.prototype;var rangeFor,htmlFunc,removeFunc,outerHTMLFunc,appendToFunc,afterFunc,prependFunc,startTagFunc,endTagFunc;outerHTMLFunc=function(){return this.startTag()+this.innerHTML+this.endTag()};startTagFunc=function(){return"<script id='"+this.start+"' type='text/x-placeholder'></script>"};endTagFunc=function(){return"<script id='"+this.end+"' type='text/x-placeholder'></script>"};if(supportsRange){rangeFor=function(morph,outerToo){var range=document.createRange();var before=document.getElementById(morph.start);var after=document.getElementById(morph.end);if(outerToo){range.setStartBefore(before);range.setEndAfter(after)}else{range.setStartAfter(before);range.setEndBefore(after)}return range};htmlFunc=function(html,outerToo){var range=rangeFor(this,outerToo);range.deleteContents();var fragment=range.createContextualFragment(html);range.insertNode(fragment)};removeFunc=function(){var range=rangeFor(this,true);range.deleteContents()};appendToFunc=function(node){var range=document.createRange();range.setStart(node);range.collapse(false);var frag=range.createContextualFragment(this.outerHTML());node.appendChild(frag)};afterFunc=function(html){var range=document.createRange();var after=document.getElementById(this.end);range.setStartAfter(after);range.setEndAfter(after);var fragment=range.createContextualFragment(html);range.insertNode(fragment)};prependFunc=function(html){var range=document.createRange();var start=document.getElementById(this.start);range.setStartAfter(start);range.setEndAfter(start);var fragment=range.createContextualFragment(html);range.insertNode(fragment)}}else{Metamorph._wrapMap={select:[1,"<select multiple='multiple'>","</select>"],fieldset:[1,"<fieldset>","</fieldset>"],table:[1,"<table>","</table>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"],colgroup:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],map:[1,"<map>","</map>"],_default:[0,"",""]};var findChildById=function(element,id){if(element.getAttribute("id")===id){return element}var len=element.childNodes.length,idx,node,found;for(idx=0;idx<len;idx++){node=element.childNodes[idx];found=node.nodeType===1&&findChildById(node,id);if(found){return found}}};var setInnerHTML=function(element,html){var matches=[];if(movesWhitespace){html=html.replace(/(\s+)(<script id='([^']+)')/g,function(match,spaces,tag,id){matches.push([id,spaces]);return tag})}element.innerHTML=html;if(matches.length>0){var len=matches.length,idx;for(idx=0;idx<len;idx++){var script=findChildById(element,matches[idx][0]),node=document.createTextNode(matches[idx][1]);script.parentNode.insertBefore(node,script)}}};var firstNodeFor=function(parentNode,html){var wrapMap=Metamorph._wrapMap;var arr=wrapMap[parentNode.tagName.toLowerCase()]||wrapMap._default;var depth=arr[0],start=arr[1],end=arr[2];if(needsShy){html="&shy;"+html}var element=document.createElement("div");setInnerHTML(element,start+html+end);for(var i=0;i<=depth;i++){element=element.firstChild}if(needsShy){var shyElement=element;while(shyElement.nodeType===1&&!shyElement.nodeName){shyElement=shyElement.firstChild}if(shyElement.nodeType===3&&shyElement.nodeValue.charAt(0)==="­"){shyElement.nodeValue=shyElement.nodeValue.slice(1)}}return element};var realNode=function(start){while(start.parentNode.tagName===""){start=start.parentNode}return start};var fixParentage=function(start,end){if(start.parentNode!==end.parentNode){end.parentNode.insertBefore(start,end.parentNode.firstChild)}};htmlFunc=function(html,outerToo){var start=realNode(document.getElementById(this.start));var end=document.getElementById(this.end);var parentNode=end.parentNode;var node,nextSibling,last;fixParentage(start,end);node=start.nextSibling;while(node){nextSibling=node.nextSibling;last=node===end;if(last){if(outerToo){end=node.nextSibling}else{break}}node.parentNode.removeChild(node);if(last){break}node=nextSibling}node=firstNodeFor(start.parentNode,html);if(outerToo){start.parentNode.removeChild(start)}while(node){nextSibling=node.nextSibling;parentNode.insertBefore(node,end);node=nextSibling}};removeFunc=function(){var start=realNode(document.getElementById(this.start));var end=document.getElementById(this.end);this.html("");start.parentNode.removeChild(start);end.parentNode.removeChild(end)};appendToFunc=function(parentNode){var node=firstNodeFor(parentNode,this.outerHTML());var nextSibling;while(node){nextSibling=node.nextSibling;parentNode.appendChild(node);node=nextSibling}};afterFunc=function(html){var end=document.getElementById(this.end);var insertBefore=end.nextSibling;var parentNode=end.parentNode;var nextSibling;var node;node=firstNodeFor(parentNode,html);while(node){nextSibling=node.nextSibling;parentNode.insertBefore(node,insertBefore);node=nextSibling}};prependFunc=function(html){var start=document.getElementById(this.start);var parentNode=start.parentNode;var nextSibling;var node;node=firstNodeFor(parentNode,html);var insertBefore=start.nextSibling;while(node){nextSibling=node.nextSibling;parentNode.insertBefore(node,insertBefore);node=nextSibling}}}Metamorph.prototype.html=function(html){this.checkRemoved();if(html===undefined){return this.innerHTML}htmlFunc.call(this,html);this.innerHTML=html};Metamorph.prototype.replaceWith=function(html){this.checkRemoved();htmlFunc.call(this,html,true)};Metamorph.prototype.remove=removeFunc;Metamorph.prototype.outerHTML=outerHTMLFunc;Metamorph.prototype.appendTo=appendToFunc;Metamorph.prototype.after=afterFunc;Metamorph.prototype.prepend=prependFunc;Metamorph.prototype.startTag=startTagFunc;Metamorph.prototype.endTag=endTagFunc;Metamorph.prototype.isRemoved=function(){var before=document.getElementById(this.start);var after=document.getElementById(this.end);return!before||!after};Metamorph.prototype.checkRemoved=function(){if(this.isRemoved()){throw new Error("Cannot perform operations on a Metamorph that is not in the DOM.")}};return Metamorph});define("route-recognizer",["exports"],function(__exports__){"use strict";var specials=["/",".","*","+","?","|","(",")","[","]","{","}","\\"];var escapeRegex=new RegExp("(\\"+specials.join("|\\")+")","g");function isArray(test){return Object.prototype.toString.call(test)==="[object Array]"}function StaticSegment(string){this.string=string}StaticSegment.prototype={eachChar:function(callback){var string=this.string,ch;for(var i=0,l=string.length;i<l;i++){ch=string.charAt(i);callback({validChars:ch})}},regex:function(){return this.string.replace(escapeRegex,"\\$1")},generate:function(){return this.string}};function DynamicSegment(name){this.name=name}DynamicSegment.prototype={eachChar:function(callback){callback({invalidChars:"/",repeat:true})},regex:function(){return"([^/]+)"},generate:function(params){return params[this.name]}};function StarSegment(name){this.name=name}StarSegment.prototype={eachChar:function(callback){callback({invalidChars:"",repeat:true})},regex:function(){return"(.+)"},generate:function(params){return params[this.name]}};function EpsilonSegment(){}EpsilonSegment.prototype={eachChar:function(){},regex:function(){return""},generate:function(){return""}};function parse(route,names,types){if(route.charAt(0)==="/"){route=route.substr(1)}var segments=route.split("/"),results=[];for(var i=0,l=segments.length;i<l;i++){var segment=segments[i],match;if(match=segment.match(/^:([^\/]+)$/)){results.push(new DynamicSegment(match[1]));names.push(match[1]);types.dynamics++}else if(match=segment.match(/^\*([^\/]+)$/)){results.push(new StarSegment(match[1]));names.push(match[1]);types.stars++}else if(segment===""){results.push(new EpsilonSegment)}else{results.push(new StaticSegment(segment));types.statics++}}return results}function State(charSpec){this.charSpec=charSpec;this.nextStates=[]}State.prototype={get:function(charSpec){var nextStates=this.nextStates;for(var i=0,l=nextStates.length;i<l;i++){var child=nextStates[i];var isEqual=child.charSpec.validChars===charSpec.validChars;isEqual=isEqual&&child.charSpec.invalidChars===charSpec.invalidChars;if(isEqual){return child}}},put:function(charSpec){var state;if(state=this.get(charSpec)){return state}state=new State(charSpec);this.nextStates.push(state);if(charSpec.repeat){state.nextStates.push(state)}return state},match:function(ch){var nextStates=this.nextStates,child,charSpec,chars;var returned=[];for(var i=0,l=nextStates.length;i<l;i++){child=nextStates[i];charSpec=child.charSpec;if(typeof(chars=charSpec.validChars)!=="undefined"){if(chars.indexOf(ch)!==-1){returned.push(child)}}else if(typeof(chars=charSpec.invalidChars)!=="undefined"){if(chars.indexOf(ch)===-1){returned.push(child)}}}return returned}};function sortSolutions(states){return states.sort(function(a,b){if(a.types.stars!==b.types.stars){return a.types.stars-b.types.stars}if(a.types.stars){if(a.types.statics!==b.types.statics){return b.types.statics-a.types.statics}if(a.types.dynamics!==b.types.dynamics){return b.types.dynamics-a.types.dynamics}}if(a.types.dynamics!==b.types.dynamics){return a.types.dynamics-b.types.dynamics}if(a.types.statics!==b.types.statics){return b.types.statics-a.types.statics}return 0})}function recognizeChar(states,ch){var nextStates=[];for(var i=0,l=states.length;i<l;i++){var state=states[i];nextStates=nextStates.concat(state.match(ch))}return nextStates}var oCreate=Object.create||function(proto){function F(){}F.prototype=proto;return new F};function RecognizeResults(queryParams){this.queryParams=queryParams||{}}RecognizeResults.prototype=oCreate({splice:Array.prototype.splice,slice:Array.prototype.slice,push:Array.prototype.push,length:0,queryParams:null});function findHandler(state,path,queryParams){var handlers=state.handlers,regex=state.regex;var captures=path.match(regex),currentCapture=1;var result=new RecognizeResults(queryParams);for(var i=0,l=handlers.length;i<l;i++){var handler=handlers[i],names=handler.names,params={};for(var j=0,m=names.length;j<m;j++){params[names[j]]=captures[currentCapture++]}result.push({handler:handler.handler,params:params,isDynamic:!!names.length})}return result}function addSegment(currentState,segment){segment.eachChar(function(ch){var state;currentState=currentState.put(ch)});return currentState}var RouteRecognizer=function(){this.rootState=new State;this.names={}};RouteRecognizer.prototype={add:function(routes,options){var currentState=this.rootState,regex="^",types={statics:0,dynamics:0,stars:0},handlers=[],allSegments=[],name;var isEmpty=true;for(var i=0,l=routes.length;i<l;i++){var route=routes[i],names=[];var segments=parse(route.path,names,types);allSegments=allSegments.concat(segments);for(var j=0,m=segments.length;j<m;j++){var segment=segments[j];if(segment instanceof EpsilonSegment){continue}isEmpty=false;currentState=currentState.put({validChars:"/"});regex+="/";currentState=addSegment(currentState,segment);regex+=segment.regex()}var handler={handler:route.handler,names:names};handlers.push(handler)}if(isEmpty){currentState=currentState.put({validChars:"/"});regex+="/"}currentState.handlers=handlers;currentState.regex=new RegExp(regex+"$");currentState.types=types;if(name=options&&options.as){this.names[name]={segments:allSegments,handlers:handlers}}},handlersFor:function(name){var route=this.names[name],result=[];if(!route){throw new Error("There is no route named "+name)}for(var i=0,l=route.handlers.length;i<l;i++){result.push(route.handlers[i])}return result},hasRoute:function(name){return!!this.names[name]},generate:function(name,params){var route=this.names[name],output="";if(!route){throw new Error("There is no route named "+name)}var segments=route.segments;for(var i=0,l=segments.length;i<l;i++){var segment=segments[i];if(segment instanceof EpsilonSegment){continue}output+="/";output+=segment.generate(params)}if(output.charAt(0)!=="/"){output="/"+output}if(params&&params.queryParams){output+=this.generateQueryString(params.queryParams,route.handlers)}return output},generateQueryString:function(params,handlers){var pairs=[];var keys=[];for(var key in params){if(params.hasOwnProperty(key)){keys.push(key)}}keys.sort();for(var i=0,len=keys.length;i<len;i++){key=keys[i];var value=params[key];if(value==null){continue}var pair=key;if(isArray(value)){for(var j=0,l=value.length;j<l;j++){var arrayPair=key+"[]"+"="+encodeURIComponent(value[j]);pairs.push(arrayPair)}}else{pair+="="+encodeURIComponent(value);pairs.push(pair)}}if(pairs.length===0){return""}return"?"+pairs.join("&")},parseQueryString:function(queryString){var pairs=queryString.split("&"),queryParams={};for(var i=0;i<pairs.length;i++){var pair=pairs[i].split("="),key=decodeURIComponent(pair[0]),keyLength=key.length,isArray=false,value;if(pair.length===1){value="true"}else{if(keyLength>2&&key.slice(keyLength-2)==="[]"){isArray=true;key=key.slice(0,keyLength-2);if(!queryParams[key]){queryParams[key]=[]}}value=pair[1]?decodeURIComponent(pair[1]):""}if(isArray){queryParams[key].push(value)}else{queryParams[key]=decodeURIComponent(value)}}return queryParams},recognize:function(path){var states=[this.rootState],pathLen,i,l,queryStart,queryParams={},isSlashDropped=false;path=decodeURI(path);queryStart=path.indexOf("?");if(queryStart!==-1){var queryString=path.substr(queryStart+1,path.length);path=path.substr(0,queryStart);queryParams=this.parseQueryString(queryString)}if(path.charAt(0)!=="/"){path="/"+path}pathLen=path.length;if(pathLen>1&&path.charAt(pathLen-1)==="/"){path=path.substr(0,pathLen-1);isSlashDropped=true}for(i=0,l=path.length;i<l;i++){states=recognizeChar(states,path.charAt(i));if(!states.length){break}}var solutions=[];for(i=0,l=states.length;i<l;i++){if(states[i].handlers){solutions.push(states[i])}}states=sortSolutions(solutions);var state=solutions[0];if(state&&state.handlers){if(isSlashDropped&&state.regex.source.slice(-5)==="(.+)$"){path=path+"/"}return findHandler(state,path,queryParams)}}};__exports__["default"]=RouteRecognizer;function Target(path,matcher,delegate){this.path=path;this.matcher=matcher;this.delegate=delegate}Target.prototype={to:function(target,callback){var delegate=this.delegate;if(delegate&&delegate.willAddRoute){target=delegate.willAddRoute(this.matcher.target,target)}this.matcher.add(this.path,target);if(callback){if(callback.length===0){throw new Error("You must have an argument in the function passed to `to`")}this.matcher.addChild(this.path,target,callback,this.delegate)}return this}};function Matcher(target){this.routes={};this.children={};this.target=target}Matcher.prototype={add:function(path,handler){this.routes[path]=handler},addChild:function(path,target,callback,delegate){var matcher=new Matcher(target);this.children[path]=matcher;var match=generateMatch(path,matcher,delegate);if(delegate&&delegate.contextEntered){delegate.contextEntered(target,match)}callback(match)}};function generateMatch(startingPath,matcher,delegate){return function(path,nestedCallback){var fullPath=startingPath+path;if(nestedCallback){nestedCallback(generateMatch(fullPath,matcher,delegate))}else{return new Target(startingPath+path,matcher,delegate)}}}function addRoute(routeArray,path,handler){var len=0;for(var i=0,l=routeArray.length;i<l;i++){len+=routeArray[i].path.length}path=path.substr(len);var route={path:path,handler:handler};routeArray.push(route)}function eachRoute(baseRoute,matcher,callback,binding){var routes=matcher.routes;for(var path in routes){if(routes.hasOwnProperty(path)){var routeArray=baseRoute.slice();addRoute(routeArray,path,routes[path]);if(matcher.children[path]){eachRoute(routeArray,matcher.children[path],callback,binding)}else{callback.call(binding,routeArray)}}}}RouteRecognizer.prototype.map=function(callback,addRouteCallback){var matcher=new Matcher;callback(generateMatch("",matcher,this.delegate));eachRoute([],matcher,function(route){if(addRouteCallback){addRouteCallback(this,route)}else{this.add(route)}},this)}});define("router/handler-info",["./utils","rsvp/promise","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var bind=__dependency1__.bind;var merge=__dependency1__.merge;var serialize=__dependency1__.serialize;var promiseLabel=__dependency1__.promiseLabel;var Promise=__dependency2__["default"];function HandlerInfo(_props){var props=_props||{};merge(this,props);this.initialize(props)}HandlerInfo.prototype={name:null,handler:null,params:null,context:null,factory:null,initialize:function(){},log:function(payload,message){if(payload.log){payload.log(this.name+": "+message)}},promiseLabel:function(label){return promiseLabel("'"+this.name+"' "+label)},getUnresolved:function(){return this},serialize:function(){return this.params||{}},resolve:function(shouldContinue,payload){var checkForAbort=bind(this,this.checkForAbort,shouldContinue),beforeModel=bind(this,this.runBeforeModelHook,payload),model=bind(this,this.getModel,payload),afterModel=bind(this,this.runAfterModelHook,payload),becomeResolved=bind(this,this.becomeResolved,payload);return Promise.resolve(undefined,this.promiseLabel("Start handler")).then(checkForAbort,null,this.promiseLabel("Check for abort")).then(beforeModel,null,this.promiseLabel("Before model")).then(checkForAbort,null,this.promiseLabel("Check if aborted during 'beforeModel' hook")).then(model,null,this.promiseLabel("Model")).then(checkForAbort,null,this.promiseLabel("Check if aborted in 'model' hook")).then(afterModel,null,this.promiseLabel("After model")).then(checkForAbort,null,this.promiseLabel("Check if aborted in 'afterModel' hook")).then(becomeResolved,null,this.promiseLabel("Become resolved"))
17
- },runBeforeModelHook:function(payload){if(payload.trigger){payload.trigger(true,"willResolveModel",payload,this.handler)}return this.runSharedModelHook(payload,"beforeModel",[])},runAfterModelHook:function(payload,resolvedModel){var name=this.name;this.stashResolvedModel(payload,resolvedModel);return this.runSharedModelHook(payload,"afterModel",[resolvedModel]).then(function(){return payload.resolvedModels[name]},null,this.promiseLabel("Ignore fulfillment value and return model value"))},runSharedModelHook:function(payload,hookName,args){this.log(payload,"calling "+hookName+" hook");if(this.queryParams){args.push(this.queryParams)}args.push(payload);var handler=this.handler;var result=handler[hookName]&&handler[hookName].apply(handler,args);if(result&&result.isTransition){result=null}return Promise.resolve(result,null,this.promiseLabel("Resolve value returned from one of the model hooks"))},getModel:null,checkForAbort:function(shouldContinue,promiseValue){return Promise.resolve(shouldContinue(),this.promiseLabel("Check for abort")).then(function(){return promiseValue},null,this.promiseLabel("Ignore fulfillment value and continue"))},stashResolvedModel:function(payload,resolvedModel){payload.resolvedModels=payload.resolvedModels||{};payload.resolvedModels[this.name]=resolvedModel},becomeResolved:function(payload,resolvedContext){var params=this.serialize(resolvedContext);if(payload){this.stashResolvedModel(payload,resolvedContext);payload.params=payload.params||{};payload.params[this.name]=params}return this.factory("resolved",{context:resolvedContext,name:this.name,handler:this.handler,params:params})},shouldSupercede:function(other){if(!other){return true}var contextsMatch=other.context===this.context;return other.name!==this.name||this.hasOwnProperty("context")&&!contextsMatch||this.hasOwnProperty("params")&&!paramsMatch(this.params,other.params)}};function paramsMatch(a,b){if(!a^!b){return false}if(!a){return true}for(var k in a){if(a.hasOwnProperty(k)&&a[k]!==b[k]){return false}}return true}__exports__["default"]=HandlerInfo});define("router/handler-info/factory",["router/handler-info/resolved-handler-info","router/handler-info/unresolved-handler-info-by-object","router/handler-info/unresolved-handler-info-by-param","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var ResolvedHandlerInfo=__dependency1__["default"];var UnresolvedHandlerInfoByObject=__dependency2__["default"];var UnresolvedHandlerInfoByParam=__dependency3__["default"];handlerInfoFactory.klasses={resolved:ResolvedHandlerInfo,param:UnresolvedHandlerInfoByParam,object:UnresolvedHandlerInfoByObject};function handlerInfoFactory(name,props){var Ctor=handlerInfoFactory.klasses[name],handlerInfo=new Ctor(props||{});handlerInfo.factory=handlerInfoFactory;return handlerInfo}__exports__["default"]=handlerInfoFactory});define("router/handler-info/resolved-handler-info",["../handler-info","router/utils","rsvp/promise","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var HandlerInfo=__dependency1__["default"];var subclass=__dependency2__.subclass;var promiseLabel=__dependency2__.promiseLabel;var Promise=__dependency3__["default"];var ResolvedHandlerInfo=subclass(HandlerInfo,{resolve:function(shouldContinue,payload){if(payload&&payload.resolvedModels){payload.resolvedModels[this.name]=this.context}return Promise.resolve(this,this.promiseLabel("Resolve"))},getUnresolved:function(){return this.factory("param",{name:this.name,handler:this.handler,params:this.params})},isResolved:true});__exports__["default"]=ResolvedHandlerInfo});define("router/handler-info/unresolved-handler-info-by-object",["../handler-info","router/utils","rsvp/promise","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var HandlerInfo=__dependency1__["default"];var merge=__dependency2__.merge;var subclass=__dependency2__.subclass;var promiseLabel=__dependency2__.promiseLabel;var isParam=__dependency2__.isParam;var Promise=__dependency3__["default"];var UnresolvedHandlerInfoByObject=subclass(HandlerInfo,{getModel:function(payload){this.log(payload,this.name+": resolving provided model");return Promise.resolve(this.context)},initialize:function(props){this.names=props.names||[];this.context=props.context},serialize:function(_model){var model=_model||this.context,names=this.names,handler=this.handler;var object={};if(isParam(model)){object[names[0]]=model;return object}if(handler.serialize){return handler.serialize(model,names)}if(names.length!==1){return}var name=names[0];if(/_id$/.test(name)){object[name]=model.id}else{object[name]=model}return object}});__exports__["default"]=UnresolvedHandlerInfoByObject});define("router/handler-info/unresolved-handler-info-by-param",["../handler-info","router/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var HandlerInfo=__dependency1__["default"];var merge=__dependency2__.merge;var subclass=__dependency2__.subclass;var promiseLabel=__dependency2__.promiseLabel;var UnresolvedHandlerInfoByParam=subclass(HandlerInfo,{initialize:function(props){this.params=props.params||{}},getModel:function(payload){var fullParams=this.params;if(payload&&payload.queryParams){fullParams={};merge(fullParams,this.params);fullParams.queryParams=payload.queryParams}var hookName=typeof this.handler.deserialize==="function"?"deserialize":"model";return this.runSharedModelHook(payload,hookName,[fullParams])}});__exports__["default"]=UnresolvedHandlerInfoByParam});define("router/router",["route-recognizer","rsvp/promise","./utils","./transition-state","./transition","./transition-intent/named-transition-intent","./transition-intent/url-transition-intent","./handler-info","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var RouteRecognizer=__dependency1__["default"];var Promise=__dependency2__["default"];var trigger=__dependency3__.trigger;var log=__dependency3__.log;var slice=__dependency3__.slice;var forEach=__dependency3__.forEach;var merge=__dependency3__.merge;var serialize=__dependency3__.serialize;var extractQueryParams=__dependency3__.extractQueryParams;var getChangelist=__dependency3__.getChangelist;var promiseLabel=__dependency3__.promiseLabel;var TransitionState=__dependency4__["default"];var logAbort=__dependency5__.logAbort;var Transition=__dependency5__.Transition;var TransitionAborted=__dependency5__.TransitionAborted;var NamedTransitionIntent=__dependency6__["default"];var URLTransitionIntent=__dependency7__["default"];var ResolvedHandlerInfo=__dependency8__.ResolvedHandlerInfo;var pop=Array.prototype.pop;function Router(){this.recognizer=new RouteRecognizer;this.reset()}Router.prototype={map:function(callback){this.recognizer.delegate=this.delegate;this.recognizer.map(callback,function(recognizer,routes){for(var i=routes.length-1,proceed=true;i>=0&&proceed;--i){var route=routes[i];recognizer.add(routes,{as:route.handler});proceed=route.path==="/"||route.path===""||route.handler.slice(-6)===".index"}})},hasRoute:function(route){return this.recognizer.hasRoute(route)},queryParamsTransition:function(changelist,wasTransitioning,oldState,newState){var router=this;fireQueryParamDidChange(this,newState,changelist);if(!wasTransitioning&&this.activeTransition){return this.activeTransition}else{var newTransition=new Transition(this);newTransition.queryParamsOnly=true;oldState.queryParams=finalizeQueryParamChange(this,newState.handlerInfos,newState.queryParams,newTransition);newTransition.promise=newTransition.promise.then(function(result){updateURL(newTransition,oldState,true);if(router.didTransition){router.didTransition(router.currentHandlerInfos)}return result},null,promiseLabel("Transition complete"));return newTransition}},transitionByIntent:function(intent,isIntermediate){var wasTransitioning=!!this.activeTransition;var oldState=wasTransitioning?this.activeTransition.state:this.state;var newTransition;var router=this;try{var newState=intent.applyToState(oldState,this.recognizer,this.getHandler,isIntermediate);var queryParamChangelist=getChangelist(oldState.queryParams,newState.queryParams);if(handlerInfosEqual(newState.handlerInfos,oldState.handlerInfos)){if(queryParamChangelist){newTransition=this.queryParamsTransition(queryParamChangelist,wasTransitioning,oldState,newState);if(newTransition){return newTransition}}return new Transition(this)}if(isIntermediate){setupContexts(this,newState);return}newTransition=new Transition(this,intent,newState);if(this.activeTransition){this.activeTransition.abort()}this.activeTransition=newTransition;newTransition.promise=newTransition.promise.then(function(result){return finalizeTransition(newTransition,result.state)},null,promiseLabel("Settle transition promise when transition is finalized"));if(!wasTransitioning){notifyExistingHandlers(this,newState,newTransition)}fireQueryParamDidChange(this,newState,queryParamChangelist);return newTransition}catch(e){return new Transition(this,intent,null,e)}},reset:function(){if(this.state){forEach(this.state.handlerInfos,function(handlerInfo){var handler=handlerInfo.handler;if(handler.exit){handler.exit()}})}this.state=new TransitionState;this.currentHandlerInfos=null},activeTransition:null,handleURL:function(url){var args=slice.call(arguments);if(url.charAt(0)!=="/"){args[0]="/"+url}return doTransition(this,args).method(null)},updateURL:function(){throw new Error("updateURL is not implemented")},replaceURL:function(url){this.updateURL(url)},transitionTo:function(name){return doTransition(this,arguments)},intermediateTransitionTo:function(name){doTransition(this,arguments,true)},refresh:function(pivotHandler){var state=this.activeTransition?this.activeTransition.state:this.state;var handlerInfos=state.handlerInfos;var params={};for(var i=0,len=handlerInfos.length;i<len;++i){var handlerInfo=handlerInfos[i];params[handlerInfo.name]=handlerInfo.params||{}}log(this,"Starting a refresh transition");var intent=new NamedTransitionIntent({name:handlerInfos[handlerInfos.length-1].name,pivotHandler:pivotHandler||handlerInfos[0].handler,contexts:[],queryParams:this._changedQueryParams||state.queryParams||{}});return this.transitionByIntent(intent,false)},replaceWith:function(name){return doTransition(this,arguments).method("replace")},generate:function(handlerName){var partitionedArgs=extractQueryParams(slice.call(arguments,1)),suppliedParams=partitionedArgs[0],queryParams=partitionedArgs[1];var intent=new NamedTransitionIntent({name:handlerName,contexts:suppliedParams});var state=intent.applyToState(this.state,this.recognizer,this.getHandler);var params={};for(var i=0,len=state.handlerInfos.length;i<len;++i){var handlerInfo=state.handlerInfos[i];var handlerParams=handlerInfo.serialize();merge(params,handlerParams)}params.queryParams=queryParams;return this.recognizer.generate(handlerName,params)},applyIntent:function(handlerName,contexts){var intent=new NamedTransitionIntent({name:handlerName,contexts:contexts});var state=this.activeTransition&&this.activeTransition.state||this.state;return intent.applyToState(state,this.recognizer,this.getHandler)},isActiveIntent:function(handlerName,contexts,queryParams){var targetHandlerInfos=this.state.handlerInfos,found=false,names,object,handlerInfo,handlerObj,i,len;if(!targetHandlerInfos.length){return false}var targetHandler=targetHandlerInfos[targetHandlerInfos.length-1].name;var recogHandlers=this.recognizer.handlersFor(targetHandler);var index=0;for(len=recogHandlers.length;index<len;++index){handlerInfo=targetHandlerInfos[index];if(handlerInfo.name===handlerName){break}}if(index===recogHandlers.length){return false}var state=new TransitionState;state.handlerInfos=targetHandlerInfos.slice(0,index+1);recogHandlers=recogHandlers.slice(0,index+1);var intent=new NamedTransitionIntent({name:targetHandler,contexts:contexts});var newState=intent.applyToHandlers(state,recogHandlers,this.getHandler,targetHandler,true,true);var handlersEqual=handlerInfosEqual(newState.handlerInfos,state.handlerInfos);if(!queryParams||!handlersEqual){return handlersEqual}var activeQPsOnNewHandler={};merge(activeQPsOnNewHandler,queryParams);var activeQueryParams=this.state.queryParams;for(var key in activeQueryParams){if(activeQueryParams.hasOwnProperty(key)&&activeQPsOnNewHandler.hasOwnProperty(key)){activeQPsOnNewHandler[key]=activeQueryParams[key]}}return handlersEqual&&!getChangelist(activeQPsOnNewHandler,queryParams)},isActive:function(handlerName){var partitionedArgs=extractQueryParams(slice.call(arguments,1));return this.isActiveIntent(handlerName,partitionedArgs[0],partitionedArgs[1])},trigger:function(name){var args=slice.call(arguments);trigger(this,this.currentHandlerInfos,false,args)},log:null,_willChangeContextEvent:"willChangeContext",_triggerWillChangeContext:function(handlerInfos,newTransition){trigger(this,handlerInfos,true,[this._willChangeContextEvent,newTransition])},_triggerWillLeave:function(handlerInfos,newTransition,leavingChecker){trigger(this,handlerInfos,true,["willLeave",newTransition,leavingChecker])}};function fireQueryParamDidChange(router,newState,queryParamChangelist){if(queryParamChangelist){router._changedQueryParams=queryParamChangelist.all;trigger(router,newState.handlerInfos,true,["queryParamsDidChange",queryParamChangelist.changed,queryParamChangelist.all,queryParamChangelist.removed]);router._changedQueryParams=null}}function setupContexts(router,newState,transition){var partition=partitionHandlers(router.state,newState);forEach(partition.exited,function(handlerInfo){var handler=handlerInfo.handler;delete handler.context;if(handler.reset){handler.reset(true,transition)}if(handler.exit){handler.exit(transition)}});var oldState=router.oldState=router.state;router.state=newState;var currentHandlerInfos=router.currentHandlerInfos=partition.unchanged.slice();try{forEach(partition.reset,function(handlerInfo){var handler=handlerInfo.handler;if(handler.reset){handler.reset(false,transition)}});forEach(partition.updatedContext,function(handlerInfo){return handlerEnteredOrUpdated(currentHandlerInfos,handlerInfo,false,transition)});forEach(partition.entered,function(handlerInfo){return handlerEnteredOrUpdated(currentHandlerInfos,handlerInfo,true,transition)})}catch(e){router.state=oldState;router.currentHandlerInfos=oldState.handlerInfos;throw e}router.state.queryParams=finalizeQueryParamChange(router,currentHandlerInfos,newState.queryParams,transition)}function handlerEnteredOrUpdated(currentHandlerInfos,handlerInfo,enter,transition){var handler=handlerInfo.handler,context=handlerInfo.context;if(enter&&handler.enter){handler.enter(transition)}if(transition&&transition.isAborted){throw new TransitionAborted}handler.context=context;if(handler.contextDidChange){handler.contextDidChange()}if(handler.setup){handler.setup(context,transition)}if(transition&&transition.isAborted){throw new TransitionAborted}currentHandlerInfos.push(handlerInfo);return true}function partitionHandlers(oldState,newState){var oldHandlers=oldState.handlerInfos;var newHandlers=newState.handlerInfos;var handlers={updatedContext:[],exited:[],entered:[],unchanged:[]};var handlerChanged,contextChanged,i,l;for(i=0,l=newHandlers.length;i<l;i++){var oldHandler=oldHandlers[i],newHandler=newHandlers[i];if(!oldHandler||oldHandler.handler!==newHandler.handler){handlerChanged=true}if(handlerChanged){handlers.entered.push(newHandler);if(oldHandler){handlers.exited.unshift(oldHandler)}}else if(contextChanged||oldHandler.context!==newHandler.context){contextChanged=true;handlers.updatedContext.push(newHandler)}else{handlers.unchanged.push(oldHandler)}}for(i=newHandlers.length,l=oldHandlers.length;i<l;i++){handlers.exited.unshift(oldHandlers[i])}handlers.reset=handlers.updatedContext.slice();handlers.reset.reverse();return handlers}function updateURL(transition,state,inputUrl){var urlMethod=transition.urlMethod;if(!urlMethod){return}var router=transition.router,handlerInfos=state.handlerInfos,handlerName=handlerInfos[handlerInfos.length-1].name,params={};for(var i=handlerInfos.length-1;i>=0;--i){var handlerInfo=handlerInfos[i];merge(params,handlerInfo.params);if(handlerInfo.handler.inaccessibleByURL){urlMethod=null}}if(urlMethod){params.queryParams=transition._visibleQueryParams||state.queryParams;var url=router.recognizer.generate(handlerName,params);if(urlMethod==="replace"){router.replaceURL(url)}else{router.updateURL(url)}}}function finalizeTransition(transition,newState){try{log(transition.router,transition.sequence,"Resolved all models on destination route; finalizing transition.");var router=transition.router,handlerInfos=newState.handlerInfos,seq=transition.sequence;setupContexts(router,newState,transition);if(transition.isAborted){router.state.handlerInfos=router.currentHandlerInfos;return Promise.reject(logAbort(transition))}updateURL(transition,newState,transition.intent.url);transition.isActive=false;router.activeTransition=null;trigger(router,router.currentHandlerInfos,true,["didTransition"]);if(router.didTransition){router.didTransition(router.currentHandlerInfos)}log(router,transition.sequence,"TRANSITION COMPLETE.");return handlerInfos[handlerInfos.length-1].handler}catch(e){if(!(e instanceof TransitionAborted)){var infos=transition.state.handlerInfos;transition.trigger(true,"error",e,transition,infos[infos.length-1].handler);transition.abort()}throw e}}function doTransition(router,args,isIntermediate){var name=args[0]||"/";var lastArg=args[args.length-1];var queryParams={};if(lastArg&&lastArg.hasOwnProperty("queryParams")){queryParams=pop.call(args).queryParams}var intent;if(args.length===0){log(router,"Updating query params");var handlerInfos=router.state.handlerInfos;intent=new NamedTransitionIntent({name:handlerInfos[handlerInfos.length-1].name,contexts:[],queryParams:queryParams})}else if(name.charAt(0)==="/"){log(router,"Attempting URL transition to "+name);intent=new URLTransitionIntent({url:name})}else{log(router,"Attempting transition to "+name);intent=new NamedTransitionIntent({name:args[0],contexts:slice.call(args,1),queryParams:queryParams})}return router.transitionByIntent(intent,isIntermediate)}function handlerInfosEqual(handlerInfos,otherHandlerInfos){if(handlerInfos.length!==otherHandlerInfos.length){return false}for(var i=0,len=handlerInfos.length;i<len;++i){if(handlerInfos[i]!==otherHandlerInfos[i]){return false}}return true}function finalizeQueryParamChange(router,resolvedHandlers,newQueryParams,transition){for(var k in newQueryParams){if(newQueryParams.hasOwnProperty(k)&&newQueryParams[k]===null){delete newQueryParams[k]}}var finalQueryParamsArray=[];trigger(router,resolvedHandlers,true,["finalizeQueryParamChange",newQueryParams,finalQueryParamsArray,transition]);if(transition){transition._visibleQueryParams={}}var finalQueryParams={};for(var i=0,len=finalQueryParamsArray.length;i<len;++i){var qp=finalQueryParamsArray[i];finalQueryParams[qp.key]=qp.value;if(transition&&qp.visible!==false){transition._visibleQueryParams[qp.key]=qp.value}}return finalQueryParams}function notifyExistingHandlers(router,newState,newTransition){var oldHandlers=router.state.handlerInfos,changing=[],leavingIndex=null,leaving,leavingChecker,i,oldHandler,newHandler;for(i=0;i<oldHandlers.length;i++){oldHandler=oldHandlers[i];newHandler=newState.handlerInfos[i];if(!newHandler||oldHandler.name!==newHandler.name){leavingIndex=i;break}if(!newHandler.isResolved){changing.push(oldHandler)}}if(leavingIndex!==null){leaving=oldHandlers.slice(leavingIndex,oldHandlers.length);leavingChecker=function(name){for(var h=0;h<leaving.length;h++){if(leaving[h].name===name){return true}}return false};router._triggerWillLeave(leaving,newTransition,leavingChecker)}if(changing.length>0){router._triggerWillChangeContext(changing,newTransition)}trigger(router,oldHandlers,true,["willTransition",newTransition])}__exports__["default"]=Router});define("router/transition-intent",["./utils","exports"],function(__dependency1__,__exports__){"use strict";var merge=__dependency1__.merge;function TransitionIntent(props){this.initialize(props);this.data=this.data||{}}TransitionIntent.prototype={initialize:null,applyToState:null};__exports__["default"]=TransitionIntent});define("router/transition-intent/named-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var TransitionIntent=__dependency1__["default"];var TransitionState=__dependency2__["default"];var handlerInfoFactory=__dependency3__["default"];var isParam=__dependency4__.isParam;var extractQueryParams=__dependency4__.extractQueryParams;var merge=__dependency4__.merge;var subclass=__dependency4__.subclass;__exports__["default"]=subclass(TransitionIntent,{name:null,pivotHandler:null,contexts:null,queryParams:null,initialize:function(props){this.name=props.name;this.pivotHandler=props.pivotHandler;this.contexts=props.contexts||[];this.queryParams=props.queryParams},applyToState:function(oldState,recognizer,getHandler,isIntermediate){var partitionedArgs=extractQueryParams([this.name].concat(this.contexts)),pureArgs=partitionedArgs[0],queryParams=partitionedArgs[1],handlers=recognizer.handlersFor(pureArgs[0]);var targetRouteName=handlers[handlers.length-1].handler;return this.applyToHandlers(oldState,handlers,getHandler,targetRouteName,isIntermediate)},applyToHandlers:function(oldState,handlers,getHandler,targetRouteName,isIntermediate,checkingIfActive){var i;var newState=new TransitionState;var objects=this.contexts.slice(0);var invalidateIndex=handlers.length;if(this.pivotHandler){for(i=0;i<handlers.length;++i){if(getHandler(handlers[i].handler)===this.pivotHandler){invalidateIndex=i;break}}}var pivotHandlerFound=!this.pivotHandler;for(i=handlers.length-1;i>=0;--i){var result=handlers[i];var name=result.handler;var handler=getHandler(name);var oldHandlerInfo=oldState.handlerInfos[i];var newHandlerInfo=null;if(result.names.length>0){if(i>=invalidateIndex){newHandlerInfo=this.createParamHandlerInfo(name,handler,result.names,objects,oldHandlerInfo)}else{newHandlerInfo=this.getHandlerInfoForDynamicSegment(name,handler,result.names,objects,oldHandlerInfo,targetRouteName,i)}}else{newHandlerInfo=this.createParamHandlerInfo(name,handler,result.names,objects,oldHandlerInfo)}if(checkingIfActive){newHandlerInfo=newHandlerInfo.becomeResolved(null,newHandlerInfo.context);var oldContext=oldHandlerInfo&&oldHandlerInfo.context;if(result.names.length>0&&newHandlerInfo.context===oldContext){newHandlerInfo.params=oldHandlerInfo&&oldHandlerInfo.params}newHandlerInfo.context=oldContext}var handlerToUse=oldHandlerInfo;if(i>=invalidateIndex||newHandlerInfo.shouldSupercede(oldHandlerInfo)){invalidateIndex=Math.min(i,invalidateIndex);handlerToUse=newHandlerInfo}if(isIntermediate&&!checkingIfActive){handlerToUse=handlerToUse.becomeResolved(null,handlerToUse.context)}newState.handlerInfos.unshift(handlerToUse)}if(objects.length>0){throw new Error("More context objects were passed than there are dynamic segments for the route: "+targetRouteName)}if(!isIntermediate){this.invalidateChildren(newState.handlerInfos,invalidateIndex)}merge(newState.queryParams,this.queryParams||{});return newState},invalidateChildren:function(handlerInfos,invalidateIndex){for(var i=invalidateIndex,l=handlerInfos.length;i<l;++i){var handlerInfo=handlerInfos[i];handlerInfos[i]=handlerInfos[i].getUnresolved()}},getHandlerInfoForDynamicSegment:function(name,handler,names,objects,oldHandlerInfo,targetRouteName,i){var numNames=names.length;var objectToUse;if(objects.length>0){objectToUse=objects[objects.length-1];if(isParam(objectToUse)){return this.createParamHandlerInfo(name,handler,names,objects,oldHandlerInfo)}else{objects.pop()}}else if(oldHandlerInfo&&oldHandlerInfo.name===name){return oldHandlerInfo}else{if(this.preTransitionState){var preTransitionHandlerInfo=this.preTransitionState.handlerInfos[i];objectToUse=preTransitionHandlerInfo&&preTransitionHandlerInfo.context}else{return oldHandlerInfo}}return handlerInfoFactory("object",{name:name,handler:handler,context:objectToUse,names:names})},createParamHandlerInfo:function(name,handler,names,objects,oldHandlerInfo){var params={};var numNames=names.length;while(numNames--){var oldParams=oldHandlerInfo&&name===oldHandlerInfo.name&&oldHandlerInfo.params||{};var peek=objects[objects.length-1];var paramName=names[numNames];if(isParam(peek)){params[paramName]=""+objects.pop()}else{if(oldParams.hasOwnProperty(paramName)){params[paramName]=oldParams[paramName]}else{throw new Error("You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route "+name)}}}return handlerInfoFactory("param",{name:name,handler:handler,params:params})}})});define("router/transition-intent/url-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var TransitionIntent=__dependency1__["default"];var TransitionState=__dependency2__["default"];var handlerInfoFactory=__dependency3__["default"];var oCreate=__dependency4__.oCreate;var merge=__dependency4__.merge;var subclass=__dependency4__.subclass;__exports__["default"]=subclass(TransitionIntent,{url:null,initialize:function(props){this.url=props.url},applyToState:function(oldState,recognizer,getHandler){var newState=new TransitionState;var results=recognizer.recognize(this.url),queryParams={},i,len;if(!results){throw new UnrecognizedURLError(this.url)}var statesDiffer=false;for(i=0,len=results.length;i<len;++i){var result=results[i];var name=result.handler;var handler=getHandler(name);if(handler.inaccessibleByURL){throw new UnrecognizedURLError(this.url)}var newHandlerInfo=handlerInfoFactory("param",{name:name,handler:handler,params:result.params});var oldHandlerInfo=oldState.handlerInfos[i];if(statesDiffer||newHandlerInfo.shouldSupercede(oldHandlerInfo)){statesDiffer=true;newState.handlerInfos[i]=newHandlerInfo}else{newState.handlerInfos[i]=oldHandlerInfo}}merge(newState.queryParams,results.queryParams);return newState}});function UnrecognizedURLError(message){this.message=message||"UnrecognizedURLError";this.name="UnrecognizedURLError"}});define("router/transition-state",["./handler-info","./utils","rsvp/promise","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var ResolvedHandlerInfo=__dependency1__.ResolvedHandlerInfo;var forEach=__dependency2__.forEach;var promiseLabel=__dependency2__.promiseLabel;var Promise=__dependency3__["default"];function TransitionState(other){this.handlerInfos=[];this.queryParams={};this.params={}}TransitionState.prototype={handlerInfos:null,queryParams:null,params:null,promiseLabel:function(label){var targetName="";forEach(this.handlerInfos,function(handlerInfo){if(targetName!==""){targetName+="."}targetName+=handlerInfo.name});return promiseLabel("'"+targetName+"': "+label)},resolve:function(shouldContinue,payload){var self=this;var params=this.params;forEach(this.handlerInfos,function(handlerInfo){params[handlerInfo.name]=handlerInfo.params||{}});payload=payload||{};payload.resolveIndex=0;var currentState=this;var wasAborted=false;return Promise.resolve(null,this.promiseLabel("Start transition")).then(resolveOneHandlerInfo,null,this.promiseLabel("Resolve handler"))["catch"](handleError,this.promiseLabel("Handle error"));function innerShouldContinue(){return Promise.resolve(shouldContinue(),promiseLabel("Check if should continue"))["catch"](function(reason){wasAborted=true;return Promise.reject(reason)},promiseLabel("Handle abort"))}function handleError(error){var handlerInfos=currentState.handlerInfos;var errorHandlerIndex=payload.resolveIndex>=handlerInfos.length?handlerInfos.length-1:payload.resolveIndex;return Promise.reject({error:error,handlerWithError:currentState.handlerInfos[errorHandlerIndex].handler,wasAborted:wasAborted,state:currentState})}function proceed(resolvedHandlerInfo){var wasAlreadyResolved=currentState.handlerInfos[payload.resolveIndex].isResolved;currentState.handlerInfos[payload.resolveIndex++]=resolvedHandlerInfo;if(!wasAlreadyResolved){var handler=resolvedHandlerInfo.handler;if(handler&&handler.redirect){handler.redirect(resolvedHandlerInfo.context,payload)}}return innerShouldContinue().then(resolveOneHandlerInfo,null,promiseLabel("Resolve handler"))}function resolveOneHandlerInfo(){if(payload.resolveIndex===currentState.handlerInfos.length){return{error:null,state:currentState}}var handlerInfo=currentState.handlerInfos[payload.resolveIndex];return handlerInfo.resolve(innerShouldContinue,payload).then(proceed,null,promiseLabel("Proceed"))}}};__exports__["default"]=TransitionState});define("router/transition",["rsvp/promise","./handler-info","./utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Promise=__dependency1__["default"];var ResolvedHandlerInfo=__dependency2__.ResolvedHandlerInfo;var trigger=__dependency3__.trigger;var slice=__dependency3__.slice;var log=__dependency3__.log;var promiseLabel=__dependency3__.promiseLabel;function Transition(router,intent,state,error){var transition=this;this.state=state||router.state;this.intent=intent;this.router=router;this.data=this.intent&&this.intent.data||{};this.resolvedModels={};this.queryParams={};if(error){this.promise=Promise.reject(error);return}if(state){this.params=state.params;this.queryParams=state.queryParams;this.handlerInfos=state.handlerInfos;var len=state.handlerInfos.length;if(len){this.targetName=state.handlerInfos[state.handlerInfos.length-1].name}for(var i=0;i<len;++i){var handlerInfo=state.handlerInfos[i];if(!handlerInfo.isResolved){break}this.pivotHandler=handlerInfo.handler}this.sequence=Transition.currentSequence++;this.promise=state.resolve(checkForAbort,this)["catch"](function(result){if(result.wasAborted||transition.isAborted){return Promise.reject(logAbort(transition))}else{transition.trigger("error",result.error,transition,result.handlerWithError);transition.abort();return Promise.reject(result.error)}},promiseLabel("Handle Abort"))}else{this.promise=Promise.resolve(this.state);this.params={}}function checkForAbort(){if(transition.isAborted){return Promise.reject(undefined,promiseLabel("Transition aborted - reject"))}}}Transition.currentSequence=0;Transition.prototype={targetName:null,urlMethod:"update",intent:null,params:null,pivotHandler:null,resolveIndex:0,handlerInfos:null,resolvedModels:null,isActive:true,state:null,queryParamsOnly:false,isTransition:true,isExiting:function(handler){var handlerInfos=this.handlerInfos;for(var i=0,len=handlerInfos.length;i<len;++i){var handlerInfo=handlerInfos[i];if(handlerInfo.name===handler||handlerInfo.handler===handler){return false}}return true},promise:null,data:null,then:function(success,failure){return this.promise.then(success,failure)},abort:function(){if(this.isAborted){return this}log(this.router,this.sequence,this.targetName+": transition was aborted");this.intent.preTransitionState=this.router.state;this.isAborted=true;this.isActive=false;this.router.activeTransition=null;return this},retry:function(){this.abort();return this.router.transitionByIntent(this.intent,false)},method:function(method){this.urlMethod=method;return this},trigger:function(ignoreFailure){var args=slice.call(arguments);if(typeof ignoreFailure==="boolean"){args.shift()}else{ignoreFailure=false}trigger(this.router,this.state.handlerInfos.slice(0,this.resolveIndex+1),ignoreFailure,args)},followRedirects:function(){var router=this.router;return this.promise["catch"](function(reason){if(router.activeTransition){return router.activeTransition.followRedirects()}return Promise.reject(reason)})},toString:function(){return"Transition (sequence "+this.sequence+")"
18
- },log:function(message){log(this.router,this.sequence,message)}};Transition.prototype.send=Transition.prototype.trigger;function logAbort(transition){log(transition.router,transition.sequence,"detected abort.");return new TransitionAborted}function TransitionAborted(message){this.message=message||"TransitionAborted";this.name="TransitionAborted"}__exports__.Transition=Transition;__exports__.logAbort=logAbort;__exports__.TransitionAborted=TransitionAborted});define("router/utils",["exports"],function(__exports__){"use strict";var slice=Array.prototype.slice;var _isArray;if(!Array.isArray){_isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}}else{_isArray=Array.isArray}var isArray=_isArray;__exports__.isArray=isArray;function merge(hash,other){for(var prop in other){if(other.hasOwnProperty(prop)){hash[prop]=other[prop]}}}var oCreate=Object.create||function(proto){function F(){}F.prototype=proto;return new F};__exports__.oCreate=oCreate;function extractQueryParams(array){var len=array&&array.length,head,queryParams;if(len&&len>0&&array[len-1]&&array[len-1].hasOwnProperty("queryParams")){queryParams=array[len-1].queryParams;head=slice.call(array,0,len-1);return[head,queryParams]}else{return[array,null]}}__exports__.extractQueryParams=extractQueryParams;function coerceQueryParamsToString(queryParams){for(var key in queryParams){if(typeof queryParams[key]==="number"){queryParams[key]=""+queryParams[key]}else if(isArray(queryParams[key])){for(var i=0,l=queryParams[key].length;i<l;i++){queryParams[key][i]=""+queryParams[key][i]}}}}function log(router,sequence,msg){if(!router.log){return}if(arguments.length===3){router.log("Transition #"+sequence+": "+msg)}else{msg=sequence;router.log(msg)}}__exports__.log=log;function bind(context,fn){var boundArgs=arguments;return function(value){var args=slice.call(boundArgs,2);args.push(value);return fn.apply(context,args)}}__exports__.bind=bind;function isParam(object){return typeof object==="string"||object instanceof String||typeof object==="number"||object instanceof Number}function forEach(array,callback){for(var i=0,l=array.length;i<l&&false!==callback(array[i]);i++){}}__exports__.forEach=forEach;function trigger(router,handlerInfos,ignoreFailure,args){if(router.triggerEvent){router.triggerEvent(handlerInfos,ignoreFailure,args);return}var name=args.shift();if(!handlerInfos){if(ignoreFailure){return}throw new Error("Could not trigger event '"+name+"'. There are no active handlers")}var eventWasHandled=false;for(var i=handlerInfos.length-1;i>=0;i--){var handlerInfo=handlerInfos[i],handler=handlerInfo.handler;if(handler.events&&handler.events[name]){if(handler.events[name].apply(handler,args)===true){eventWasHandled=true}else{return}}}if(!eventWasHandled&&!ignoreFailure){throw new Error("Nothing handled the event '"+name+"'.")}}__exports__.trigger=trigger;function getChangelist(oldObject,newObject){var key;var results={all:{},changed:{},removed:{}};merge(results.all,newObject);var didChange=false;coerceQueryParamsToString(oldObject);coerceQueryParamsToString(newObject);for(key in oldObject){if(oldObject.hasOwnProperty(key)){if(!newObject.hasOwnProperty(key)){didChange=true;results.removed[key]=oldObject[key]}}}for(key in newObject){if(newObject.hasOwnProperty(key)){if(isArray(oldObject[key])&&isArray(newObject[key])){if(oldObject[key].length!==newObject[key].length){results.changed[key]=newObject[key];didChange=true}else{for(var i=0,l=oldObject[key].length;i<l;i++){if(oldObject[key][i]!==newObject[key][i]){results.changed[key]=newObject[key];didChange=true}}}}else{if(oldObject[key]!==newObject[key]){results.changed[key]=newObject[key];didChange=true}}}}return didChange&&results}__exports__.getChangelist=getChangelist;function promiseLabel(label){return"Router: "+label}__exports__.promiseLabel=promiseLabel;function subclass(parentConstructor,proto){function C(props){parentConstructor.call(this,props||{})}C.prototype=oCreate(parentConstructor.prototype);merge(C.prototype,proto);return C}__exports__.subclass=subclass;__exports__.merge=merge;__exports__.slice=slice;__exports__.isParam=isParam;__exports__.coerceQueryParamsToString=coerceQueryParamsToString});define("router",["./router/router","exports"],function(__dependency1__,__exports__){"use strict";var Router=__dependency1__["default"];__exports__["default"]=Router});define("rsvp/-internal",["./utils","./instrument","./config","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var objectOrFunction=__dependency1__.objectOrFunction;var isFunction=__dependency1__.isFunction;var now=__dependency1__.now;var instrument=__dependency2__["default"];var config=__dependency3__.config;function noop(){}var PENDING=void 0;var FULFILLED=1;var REJECTED=2;var GET_THEN_ERROR=new ErrorObject;function getThen(promise){try{return promise.then}catch(error){GET_THEN_ERROR.error=error;return GET_THEN_ERROR}}function tryThen(then,value,fulfillmentHandler,rejectionHandler){try{then.call(value,fulfillmentHandler,rejectionHandler)}catch(e){return e}}function handleForeignThenable(promise,thenable,then){config.async(function(promise$2){var sealed=false;var error=tryThen(then,thenable,function(value){if(sealed){return}sealed=true;if(thenable!==value){resolve(promise$2,value)}else{fulfill(promise$2,value)}},function(reason){if(sealed){return}sealed=true;reject(promise$2,reason)},"Settle: "+(promise$2._label||" unknown promise"));if(!sealed&&error){sealed=true;reject(promise$2,error)}},promise)}function handleOwnThenable(promise,thenable){promise._onerror=null;if(thenable._state===FULFILLED){fulfill(promise,thenable._result)}else if(promise._state===REJECTED){reject(promise,thenable._result)}else{subscribe(thenable,undefined,function(value){if(thenable!==value){resolve(promise,value)}else{fulfill(promise,value)}},function(reason){reject(promise,reason)})}}function handleMaybeThenable(promise,maybeThenable){if(maybeThenable instanceof promise.constructor){handleOwnThenable(promise,maybeThenable)}else{var then=getThen(maybeThenable);if(then===GET_THEN_ERROR){reject(promise,GET_THEN_ERROR.error)}else if(then===undefined){fulfill(promise,maybeThenable)}else if(isFunction(then)){handleForeignThenable(promise,maybeThenable,then)}else{fulfill(promise,maybeThenable)}}}function resolve(promise,value){if(promise===value){fulfill(promise,value)}else if(objectOrFunction(value)){handleMaybeThenable(promise,value)}else{fulfill(promise,value)}}function publishRejection(promise){if(promise._onerror){promise._onerror(promise._result)}publish(promise)}function fulfill(promise,value){if(promise._state!==PENDING){return}promise._result=value;promise._state=FULFILLED;if(promise._subscribers.length===0){if(config.instrument){instrument("fulfilled",promise)}}else{config.async(publish,promise)}}function reject(promise,reason){if(promise._state!==PENDING){return}promise._state=REJECTED;promise._result=reason;config.async(publishRejection,promise)}function subscribe(parent,child,onFulfillment,onRejection){var subscribers=parent._subscribers;var length=subscribers.length;parent._onerror=null;subscribers[length]=child;subscribers[length+FULFILLED]=onFulfillment;subscribers[length+REJECTED]=onRejection;if(length===0&&parent._state){config.async(publish,parent)}}function publish(promise){var subscribers=promise._subscribers;var settled=promise._state;if(config.instrument){instrument(settled===FULFILLED?"fulfilled":"rejected",promise)}if(subscribers.length===0){return}var child,callback,detail=promise._result;for(var i=0;i<subscribers.length;i+=3){child=subscribers[i];callback=subscribers[i+settled];if(child){invokeCallback(settled,child,callback,detail)}else{callback(detail)}}promise._subscribers.length=0}function ErrorObject(){this.error=null}var TRY_CATCH_ERROR=new ErrorObject;function tryCatch(callback,detail){try{return callback(detail)}catch(e){TRY_CATCH_ERROR.error=e;return TRY_CATCH_ERROR}}function invokeCallback(settled,promise,callback,detail){var hasCallback=isFunction(callback),value,error,succeeded,failed;if(hasCallback){value=tryCatch(callback,detail);if(value===TRY_CATCH_ERROR){failed=true;error=value.error;value=null}else{succeeded=true}if(promise===value){reject(promise,new TypeError("A promises callback cannot return that same promise."));return}}else{value=detail;succeeded=true}if(promise._state!==PENDING){}else if(hasCallback&&succeeded){resolve(promise,value)}else if(failed){reject(promise,error)}else if(settled===FULFILLED){fulfill(promise,value)}else if(settled===REJECTED){reject(promise,value)}}function initializePromise(promise,resolver){try{resolver(function resolvePromise(value){resolve(promise,value)},function rejectPromise(reason){reject(promise,reason)})}catch(e){reject(promise,e)}}__exports__.noop=noop;__exports__.resolve=resolve;__exports__.reject=reject;__exports__.fulfill=fulfill;__exports__.subscribe=subscribe;__exports__.publish=publish;__exports__.publishRejection=publishRejection;__exports__.initializePromise=initializePromise;__exports__.invokeCallback=invokeCallback;__exports__.FULFILLED=FULFILLED;__exports__.REJECTED=REJECTED});define("rsvp/all-settled",["./enumerator","./promise","./utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Enumerator=__dependency1__["default"];var makeSettledResult=__dependency1__.makeSettledResult;var Promise=__dependency2__["default"];var o_create=__dependency3__.o_create;function AllSettled(Constructor,entries,label){this._superConstructor(Constructor,entries,false,label)}AllSettled.prototype=o_create(Enumerator.prototype);AllSettled.prototype._superConstructor=Enumerator;AllSettled.prototype._makeResult=makeSettledResult;AllSettled.prototype._validationError=function(){return new Error("allSettled must be called with an array")};__exports__["default"]=function allSettled(entries,label){return new AllSettled(Promise,entries,label).promise}});define("rsvp/all",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function all(array,label){return Promise.all(array,label)}});define("rsvp/asap",["exports"],function(__exports__){"use strict";var length=0;__exports__["default"]=function asap(callback,arg){queue[length]=callback;queue[length+1]=arg;length+=2;if(length===2){scheduleFlush()}};var browserGlobal=typeof window!=="undefined"?window:{};var BrowserMutationObserver=browserGlobal.MutationObserver||browserGlobal.WebKitMutationObserver;var isWorker=typeof Uint8ClampedArray!=="undefined"&&typeof importScripts!=="undefined"&&typeof MessageChannel!=="undefined";function useNextTick(){return function(){process.nextTick(flush)}}function useMutationObserver(){var iterations=0;var observer=new BrowserMutationObserver(flush);var node=document.createTextNode("");observer.observe(node,{characterData:true});return function(){node.data=iterations=++iterations%2}}function useMessageChannel(){var channel=new MessageChannel;channel.port1.onmessage=flush;return function(){channel.port2.postMessage(0)}}function useSetTimeout(){return function(){setTimeout(flush,1)}}var queue=new Array(1e3);function flush(){for(var i=0;i<length;i+=2){var callback=queue[i];var arg=queue[i+1];callback(arg);queue[i]=undefined;queue[i+1]=undefined}length=0}var scheduleFlush;if(typeof process!=="undefined"&&{}.toString.call(process)==="[object process]"){scheduleFlush=useNextTick()}else if(BrowserMutationObserver){scheduleFlush=useMutationObserver()}else if(isWorker){scheduleFlush=useMessageChannel()}else{scheduleFlush=useSetTimeout()}});define("rsvp/config",["./events","exports"],function(__dependency1__,__exports__){"use strict";var EventTarget=__dependency1__["default"];var config={instrument:false};EventTarget.mixin(config);function configure(name,value){if(name==="onerror"){config.on("error",value);return}if(arguments.length===2){config[name]=value}else{return config[name]}}__exports__.config=config;__exports__.configure=configure});define("rsvp/defer",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function defer(label){var deferred={};deferred.promise=new Promise(function(resolve,reject){deferred.resolve=resolve;deferred.reject=reject},label);return deferred}});define("rsvp/enumerator",["./utils","./-internal","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var isArray=__dependency1__.isArray;var isMaybeThenable=__dependency1__.isMaybeThenable;var noop=__dependency2__.noop;var reject=__dependency2__.reject;var fulfill=__dependency2__.fulfill;var subscribe=__dependency2__.subscribe;var FULFILLED=__dependency2__.FULFILLED;var REJECTED=__dependency2__.REJECTED;var PENDING=__dependency2__.PENDING;var ABORT_ON_REJECTION=true;__exports__.ABORT_ON_REJECTION=ABORT_ON_REJECTION;function makeSettledResult(state,position,value){if(state===FULFILLED){return{state:"fulfilled",value:value}}else{return{state:"rejected",reason:value}}}__exports__.makeSettledResult=makeSettledResult;function Enumerator(Constructor,input,abortOnReject,label){this._instanceConstructor=Constructor;this.promise=new Constructor(noop,label);this._abortOnReject=abortOnReject;if(this._validateInput(input)){this._input=input;this.length=input.length;this._remaining=input.length;this._init();if(this.length===0){fulfill(this.promise,this._result)}else{this.length=this.length||0;this._enumerate();if(this._remaining===0){fulfill(this.promise,this._result)}}}else{reject(this.promise,this._validationError())}}Enumerator.prototype._validateInput=function(input){return isArray(input)};Enumerator.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")};Enumerator.prototype._init=function(){this._result=new Array(this.length)};__exports__["default"]=Enumerator;Enumerator.prototype._enumerate=function(){var length=this.length;var promise=this.promise;var input=this._input;for(var i=0;promise._state===PENDING&&i<length;i++){this._eachEntry(input[i],i)}};Enumerator.prototype._eachEntry=function(entry,i){var c=this._instanceConstructor;if(isMaybeThenable(entry)){if(entry.constructor===c&&entry._state!==PENDING){entry._onerror=null;this._settledAt(entry._state,i,entry._result)}else{this._willSettleAt(c.resolve(entry),i)}}else{this._remaining--;this._result[i]=this._makeResult(FULFILLED,i,entry)}};Enumerator.prototype._settledAt=function(state,i,value){var promise=this.promise;if(promise._state===PENDING){this._remaining--;if(this._abortOnReject&&state===REJECTED){reject(promise,value)}else{this._result[i]=this._makeResult(state,i,value)}}if(this._remaining===0){fulfill(promise,this._result)}};Enumerator.prototype._makeResult=function(state,i,value){return value};Enumerator.prototype._willSettleAt=function(promise,i){var enumerator=this;subscribe(promise,undefined,function(value){enumerator._settledAt(FULFILLED,i,value)},function(reason){enumerator._settledAt(REJECTED,i,reason)})}});define("rsvp/events",["exports"],function(__exports__){"use strict";function indexOf(callbacks,callback){for(var i=0,l=callbacks.length;i<l;i++){if(callbacks[i]===callback){return i}}return-1}function callbacksFor(object){var callbacks=object._promiseCallbacks;if(!callbacks){callbacks=object._promiseCallbacks={}}return callbacks}__exports__["default"]={mixin:function(object){object.on=this.on;object.off=this.off;object.trigger=this.trigger;object._promiseCallbacks=undefined;return object},on:function(eventName,callback){var allCallbacks=callbacksFor(this),callbacks;callbacks=allCallbacks[eventName];if(!callbacks){callbacks=allCallbacks[eventName]=[]}if(indexOf(callbacks,callback)===-1){callbacks.push(callback)}},off:function(eventName,callback){var allCallbacks=callbacksFor(this),callbacks,index;if(!callback){allCallbacks[eventName]=[];return}callbacks=allCallbacks[eventName];index=indexOf(callbacks,callback);if(index!==-1){callbacks.splice(index,1)}},trigger:function(eventName,options){var allCallbacks=callbacksFor(this),callbacks,callbackTuple,callback,binding;if(callbacks=allCallbacks[eventName]){for(var i=0;i<callbacks.length;i++){callback=callbacks[i];callback(options)}}}}});define("rsvp/filter",["./promise","./utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Promise=__dependency1__["default"];var isFunction=__dependency2__.isFunction;var isMaybeThenable=__dependency2__.isMaybeThenable;__exports__["default"]=function filter(promises,filterFn,label){return Promise.all(promises,label).then(function(values){if(!isFunction(filterFn)){throw new TypeError("You must pass a function as filter's second argument.")}var length=values.length;var filtered=new Array(length);for(var i=0;i<length;i++){filtered[i]=filterFn(values[i])}return Promise.all(filtered,label).then(function(filtered$2){var results=new Array(length);var newLength=0;for(var i$2=0;i$2<length;i$2++){if(filtered$2[i$2]){results[newLength]=values[i$2];newLength++}}results.length=newLength;return results})})}});define("rsvp/hash-settled",["./promise","./enumerator","./promise-hash","./utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var Promise=__dependency1__["default"];var makeSettledResult=__dependency2__.makeSettledResult;var PromiseHash=__dependency3__["default"];var Enumerator=__dependency2__["default"];var o_create=__dependency4__.o_create;function HashSettled(Constructor,object,label){this._superConstructor(Constructor,object,false,label)}HashSettled.prototype=o_create(PromiseHash.prototype);HashSettled.prototype._superConstructor=Enumerator;HashSettled.prototype._makeResult=makeSettledResult;HashSettled.prototype._validationError=function(){return new Error("hashSettled must be called with an object")};__exports__["default"]=function hashSettled(object,label){return new HashSettled(Promise,object,label).promise}});define("rsvp/hash",["./promise","./promise-hash","./enumerator","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Promise=__dependency1__["default"];var PromiseHash=__dependency2__["default"];var ABORT_ON_REJECTION=__dependency3__.ABORT_ON_REJECTION;__exports__["default"]=function hash(object,label){return new PromiseHash(Promise,object,label).promise}});define("rsvp/instrument",["./config","./utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var config=__dependency1__.config;var now=__dependency2__.now;var queue=[];__exports__["default"]=function instrument(eventName,promise,child){if(1===queue.push({name:eventName,payload:{guid:promise._guidKey+promise._id,eventName:eventName,detail:promise._result,childGuid:child&&promise._guidKey+child._id,label:promise._label,timeStamp:now(),stack:new Error(promise._label).stack}})){setTimeout(function(){var entry;for(var i=0;i<queue.length;i++){entry=queue[i];config.trigger(entry.name,entry.payload)}queue.length=0},50)}}});define("rsvp/map",["./promise","./utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Promise=__dependency1__["default"];var isArray=__dependency2__.isArray;var isFunction=__dependency2__.isFunction;__exports__["default"]=function map(promises,mapFn,label){return Promise.all(promises,label).then(function(values){if(!isFunction(mapFn)){throw new TypeError("You must pass a function as map's second argument.")}var length=values.length;var results=new Array(length);for(var i=0;i<length;i++){results[i]=mapFn(values[i])}return Promise.all(results,label)})}});define("rsvp/node",["./promise","./utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Promise=__dependency1__["default"];var isArray=__dependency2__.isArray;__exports__["default"]=function denodeify(nodeFunc,argumentNames){var asArray=argumentNames===true;var asHash=isArray(argumentNames);function denodeifiedFunction(){var length=arguments.length;var nodeArgs=new Array(length);for(var i=0;i<length;i++){nodeArgs[i]=arguments[i]}var thisArg;if(!asArray&&!asHash&&argumentNames){if(typeof console==="object"){console.warn("Deprecation: RSVP.denodeify() doesn't allow setting the "+'"this" binding anymore. Use yourFunction.bind(yourThis) instead.')}thisArg=argumentNames}else{thisArg=this}return Promise.all(nodeArgs).then(function(nodeArgs$2){return new Promise(resolver);function resolver(resolve,reject){function callback(){var length$2=arguments.length;var args=new Array(length$2);for(var i$2=0;i$2<length$2;i$2++){args[i$2]=arguments[i$2]}var error=args[0];var value=args[1];if(error){reject(error)}else if(asArray){resolve(args.slice(1))}else if(asHash){var obj={};var successArguments=args.slice(1);var name;var i$3;for(i$3=0;i$3<argumentNames.length;i$3++){name=argumentNames[i$3];obj[name]=successArguments[i$3]}resolve(obj)}else{resolve(value)}}nodeArgs$2.push(callback);nodeFunc.apply(thisArg,nodeArgs$2)}})}denodeifiedFunction.__proto__=nodeFunc;return denodeifiedFunction}});define("rsvp/promise-hash",["./enumerator","./-internal","./utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Enumerator=__dependency1__["default"];var PENDING=__dependency2__.PENDING;var FULFILLED=__dependency2__.FULFILLED;var o_create=__dependency3__.o_create;function PromiseHash(Constructor,object,label){this._superConstructor(Constructor,object,true,label)}__exports__["default"]=PromiseHash;PromiseHash.prototype=o_create(Enumerator.prototype);PromiseHash.prototype._superConstructor=Enumerator;PromiseHash.prototype._init=function(){this._result={}};PromiseHash.prototype._validateInput=function(input){return input&&typeof input==="object"};PromiseHash.prototype._validationError=function(){return new Error("Promise.hash must be called with an object")};PromiseHash.prototype._enumerate=function(){var promise=this.promise;var input=this._input;var results=[];for(var key in input){if(promise._state===PENDING&&input.hasOwnProperty(key)){results.push({position:key,entry:input[key]})}}var length=results.length;this._remaining=length;var result;for(var i=0;promise._state===PENDING&&i<length;i++){result=results[i];this._eachEntry(result.entry,result.position)}}});define("rsvp/promise",["./config","./events","./instrument","./utils","./-internal","./promise/cast","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__exports__){"use strict";var config=__dependency1__.config;var EventTarget=__dependency2__["default"];var instrument=__dependency3__["default"];var objectOrFunction=__dependency4__.objectOrFunction;var isFunction=__dependency4__.isFunction;var now=__dependency4__.now;var noop=__dependency5__.noop;var resolve=__dependency5__.resolve;var reject=__dependency5__.reject;var fulfill=__dependency5__.fulfill;var subscribe=__dependency5__.subscribe;var initializePromise=__dependency5__.initializePromise;var invokeCallback=__dependency5__.invokeCallback;var FULFILLED=__dependency5__.FULFILLED;var cast=__dependency6__["default"];var all=__dependency7__["default"];var race=__dependency8__["default"];var Resolve=__dependency9__["default"];var Reject=__dependency10__["default"];var guidKey="rsvp_"+now()+"-";var counter=0;function needsResolver(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function needsNew(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}__exports__["default"]=Promise;function Promise(resolver,label){this._id=counter++;this._label=label;this._subscribers=[];if(config.instrument){instrument("created",this)}if(noop!==resolver){if(!isFunction(resolver)){needsResolver()}if(!(this instanceof Promise)){needsNew()}initializePromise(this,resolver)}}Promise.cast=cast;Promise.all=all;Promise.race=race;Promise.resolve=Resolve;Promise.reject=Reject;Promise.prototype={constructor:Promise,_id:undefined,_guidKey:guidKey,_label:undefined,_state:undefined,_result:undefined,_subscribers:undefined,_onerror:function(reason){config.trigger("error",reason)},then:function(onFulfillment,onRejection,label){var parent=this;parent._onerror=null;var child=new this.constructor(noop,label);var state=parent._state;var result=parent._result;if(config.instrument){instrument("chained",parent,child)}if(state===FULFILLED&&onFulfillment){config.async(function(){invokeCallback(state,child,onFulfillment,result)})}else{subscribe(parent,child,onFulfillment,onRejection)}return child},"catch":function(onRejection,label){return this.then(null,onRejection,label)},"finally":function(callback,label){var constructor=this.constructor;return this.then(function(value){return constructor.resolve(callback()).then(function(){return value})},function(reason){return constructor.resolve(callback()).then(function(){throw reason})},label)}}});define("rsvp/promise/all",["../enumerator","exports"],function(__dependency1__,__exports__){"use strict";var Enumerator=__dependency1__["default"];__exports__["default"]=function all(entries,label){return new Enumerator(this,entries,true,label).promise}});define("rsvp/promise/cast",["./resolve","exports"],function(__dependency1__,__exports__){"use strict";var resolve=__dependency1__["default"];__exports__["default"]=resolve});define("rsvp/promise/race",["../utils","../-internal","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var isArray=__dependency1__.isArray;var isFunction=__dependency1__.isFunction;var isMaybeThenable=__dependency1__.isMaybeThenable;var noop=__dependency2__.noop;var resolve=__dependency2__.resolve;var reject=__dependency2__.reject;var subscribe=__dependency2__.subscribe;var PENDING=__dependency2__.PENDING;__exports__["default"]=function race(entries,label){var Constructor=this,entry;var promise=new Constructor(noop,label);if(!isArray(entries)){reject(promise,new TypeError("You must pass an array to race."));return promise}var length=entries.length;function onFulfillment(value){resolve(promise,value)}function onRejection(reason){reject(promise,reason)}for(var i=0;promise._state===PENDING&&i<length;i++){subscribe(Constructor.resolve(entries[i]),undefined,onFulfillment,onRejection)}return promise}});define("rsvp/promise/reject",["../-internal","exports"],function(__dependency1__,__exports__){"use strict";var noop=__dependency1__.noop;var _reject=__dependency1__.reject;__exports__["default"]=function reject(reason,label){var Constructor=this;var promise=new Constructor(noop,label);_reject(promise,reason);return promise}});define("rsvp/promise/resolve",["../-internal","exports"],function(__dependency1__,__exports__){"use strict";var noop=__dependency1__.noop;var _resolve=__dependency1__.resolve;__exports__["default"]=function resolve(object,label){var Constructor=this;if(object&&typeof object==="object"&&object.constructor===Constructor){return object}var promise=new Constructor(noop,label);_resolve(promise,object);return promise}});define("rsvp/race",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function race(array,label){return Promise.race(array,label)}});define("rsvp/reject",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function reject(reason,label){return Promise.reject(reason,label)}});define("rsvp/resolve",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function resolve(value,label){return Promise.resolve(value,label)}});define("rsvp/rethrow",["exports"],function(__exports__){"use strict";__exports__["default"]=function rethrow(reason){setTimeout(function(){throw reason});throw reason}});define("rsvp/utils",["exports"],function(__exports__){"use strict";function objectOrFunction(x){return typeof x==="function"||typeof x==="object"&&x!==null}__exports__.objectOrFunction=objectOrFunction;function isFunction(x){return typeof x==="function"}__exports__.isFunction=isFunction;function isMaybeThenable(x){return typeof x==="object"&&x!==null}__exports__.isMaybeThenable=isMaybeThenable;var _isArray;if(!Array.isArray){_isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}}else{_isArray=Array.isArray}var isArray=_isArray;__exports__.isArray=isArray;var now=Date.now||function(){return(new Date).getTime()};__exports__.now=now;var o_create=Object.create||function(object){var o=function(){};o.prototype=object;return o};__exports__.o_create=o_create});define("rsvp",["./rsvp/promise","./rsvp/events","./rsvp/node","./rsvp/all","./rsvp/all-settled","./rsvp/race","./rsvp/hash","./rsvp/hash-settled","./rsvp/rethrow","./rsvp/defer","./rsvp/config","./rsvp/map","./rsvp/resolve","./rsvp/reject","./rsvp/filter","./rsvp/asap","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__exports__){"use strict";var Promise=__dependency1__["default"];var EventTarget=__dependency2__["default"];var denodeify=__dependency3__["default"];var all=__dependency4__["default"];var allSettled=__dependency5__["default"];var race=__dependency6__["default"];var hash=__dependency7__["default"];var hashSettled=__dependency8__["default"];var rethrow=__dependency9__["default"];var defer=__dependency10__["default"];var config=__dependency11__.config;var configure=__dependency11__.configure;var map=__dependency12__["default"];var resolve=__dependency13__["default"];var reject=__dependency14__["default"];var filter=__dependency15__["default"];var asap=__dependency16__["default"];config.async=asap;function async(callback,arg){config.async(callback,arg)}function on(){config.on.apply(config,arguments)}function off(){config.off.apply(config,arguments)}if(typeof window!=="undefined"&&typeof window.__PROMISE_INSTRUMENTATION__==="object"){var callbacks=window.__PROMISE_INSTRUMENTATION__;configure("instrument",true);for(var eventName in callbacks){if(callbacks.hasOwnProperty(eventName)){on(eventName,callbacks[eventName])}}}__exports__.Promise=Promise;__exports__.EventTarget=EventTarget;__exports__.all=all;__exports__.allSettled=allSettled;__exports__.race=race;__exports__.hash=hash;__exports__.hashSettled=hashSettled;__exports__.rethrow=rethrow;__exports__.defer=defer;__exports__.denodeify=denodeify;__exports__.configure=configure;__exports__.on=on;__exports__.off=off;__exports__.resolve=resolve;__exports__.reject=reject;__exports__.async=async;__exports__.map=map;__exports__.filter=filter});requireModule("ember")})();
3
+ }hash.onEvent=onEvent||"enter";return helpers.view.call(this,TextField,options)}}__exports__.inputHelper=inputHelper;function textareaHelper(options){var hash=options.hash,types=options.hashTypes;return helpers.view.call(this,TextArea,options)}__exports__.textareaHelper=textareaHelper});define("ember-handlebars/controls/checkbox",["ember-metal/property_get","ember-metal/property_set","ember-views/views/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var View=__dependency3__["default"];__exports__["default"]=View.extend({instrumentDisplay:'{{input type="checkbox"}}',classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","indeterminate","disabled","tabindex","name","autofocus","required","form"],type:"checkbox",checked:false,disabled:false,indeterminate:false,init:function(){this._super();this.on("change",this,this._updateElementValue)},didInsertElement:function(){this._super();get(this,"element").indeterminate=!!get(this,"indeterminate")},_updateElementValue:function(){set(this,"checked",this.$().prop("checked"))}})});define("ember-handlebars/controls/select",["ember-handlebars-compiler","ember-metal/enumerable_utils","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/collection_view","ember-metal/utils","ember-metal/is_none","ember-metal/computed","ember-runtime/system/native_array","ember-metal/mixin","ember-metal/properties","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";var EmberHandlebars=__dependency1__["default"];var forEach=__dependency2__.forEach;var indexOf=__dependency2__.indexOf;var indexesOf=__dependency2__.indexesOf;var replace=__dependency2__.replace;var get=__dependency3__.get;var set=__dependency4__.set;var View=__dependency5__["default"];var CollectionView=__dependency6__["default"];var isArray=__dependency7__.isArray;var isNone=__dependency8__["default"];var computed=__dependency9__.computed;var emberA=__dependency10__.A;var observer=__dependency11__.observer;var defineProperty=__dependency12__.defineProperty;var precompileTemplate=EmberHandlebars.compile;var SelectOption=View.extend({instrumentDisplay:"Ember.SelectOption",tagName:"option",attributeBindings:["value","selected"],defaultTemplate:function(context,options){options={data:options.data,hash:{}};EmberHandlebars.helpers.bind.call(context,"view.label",options)},init:function(){this.labelPathDidChange();this.valuePathDidChange();this._super()},selected:computed(function(){var content=get(this,"content"),selection=get(this,"parentView.selection");if(get(this,"parentView.multiple")){return selection&&indexOf(selection,content.valueOf())>-1}else{return content==selection}}).property("content","parentView.selection"),labelPathDidChange:observer("parentView.optionLabelPath",function(){var labelPath=get(this,"parentView.optionLabelPath");if(!labelPath){return}defineProperty(this,"label",computed(function(){return get(this,labelPath)}).property(labelPath))}),valuePathDidChange:observer("parentView.optionValuePath",function(){var valuePath=get(this,"parentView.optionValuePath");if(!valuePath){return}defineProperty(this,"value",computed(function(){return get(this,valuePath)}).property(valuePath))})});var SelectOptgroup=CollectionView.extend({instrumentDisplay:"Ember.SelectOptgroup",tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"});var Select=View.extend({instrumentDisplay:"Ember.Select",tagName:"select",classNames:["ember-select"],defaultTemplate:Ember.Handlebars.template(function anonymous(Handlebars,depth0,helpers,partials,data){this.compilerInfo=[4,">= 1.0.0"];helpers=this.merge(helpers,Ember.Handlebars.helpers);data=data||{};var buffer="",stack1,escapeExpression=this.escapeExpression,self=this;function program1(depth0,data){var buffer="",stack1;data.buffer.push('<option value="">');stack1=helpers._triageMustache.call(depth0,"view.prompt",{hash:{},hashTypes:{},hashContexts:{},contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}data.buffer.push("</option>");return buffer}function program3(depth0,data){var stack1;stack1=helpers.each.call(depth0,"view.groupedContent",{hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(4,program4,data),contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}else{data.buffer.push("")}}function program4(depth0,data){data.buffer.push(escapeExpression(helpers.view.call(depth0,"view.groupView",{hash:{content:"content",label:"label"},hashTypes:{content:"ID",label:"ID"},hashContexts:{content:depth0,label:depth0},contexts:[depth0],types:["ID"],data:data})))}function program6(depth0,data){var stack1;stack1=helpers.each.call(depth0,"view.content",{hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(7,program7,data),contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}else{data.buffer.push("")}}function program7(depth0,data){data.buffer.push(escapeExpression(helpers.view.call(depth0,"view.optionView",{hash:{content:""},hashTypes:{content:"ID"},hashContexts:{content:depth0},contexts:[depth0],types:["ID"],data:data})))}stack1=helpers["if"].call(depth0,"view.prompt",{hash:{},hashTypes:{},hashContexts:{},inverse:self.noop,fn:self.program(1,program1,data),contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}stack1=helpers["if"].call(depth0,"view.optionGroupPath",{hash:{},hashTypes:{},hashContexts:{},inverse:self.program(6,program6,data),fn:self.program(3,program3,data),contexts:[depth0],types:["ID"],data:data});if(stack1||stack1===0){data.buffer.push(stack1)}return buffer}),attributeBindings:["multiple","disabled","tabindex","name","required","autofocus","form","size"],multiple:false,disabled:false,required:false,content:null,selection:null,value:computed(function(key,value){if(arguments.length===2){return value}var valuePath=get(this,"optionValuePath").replace(/^content\.?/,"");return valuePath?get(this,"selection."+valuePath):get(this,"selection")}).property("selection"),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:SelectOptgroup,groupedContent:computed(function(){var groupPath=get(this,"optionGroupPath");var groupedContent=emberA();var content=get(this,"content")||[];forEach(content,function(item){var label=get(item,groupPath);if(get(groupedContent,"lastObject.label")!==label){groupedContent.pushObject({label:label,content:emberA()})}get(groupedContent,"lastObject.content").push(item)});return groupedContent}).property("optionGroupPath","content.@each"),optionView:SelectOption,_change:function(){if(get(this,"multiple")){this._changeMultiple()}else{this._changeSingle()}},selectionDidChange:observer("selection.@each",function(){var selection=get(this,"selection");if(get(this,"multiple")){if(!isArray(selection)){set(this,"selection",emberA([selection]));return}this._selectionDidChangeMultiple()}else{this._selectionDidChangeSingle()}}),valueDidChange:observer("value",function(){var content=get(this,"content"),value=get(this,"value"),valuePath=get(this,"optionValuePath").replace(/^content\.?/,""),selectedValue=valuePath?get(this,"selection."+valuePath):get(this,"selection"),selection;if(value!==selectedValue){selection=content?content.find(function(obj){return value===(valuePath?get(obj,valuePath):obj)}):null;this.set("selection",selection)}}),_triggerChange:function(){var selection=get(this,"selection");var value=get(this,"value");if(!isNone(selection)){this.selectionDidChange()}if(!isNone(value)){this.valueDidChange()}this._change()},_changeSingle:function(){var selectedIndex=this.$()[0].selectedIndex,content=get(this,"content"),prompt=get(this,"prompt");if(!content||!get(content,"length")){return}if(prompt&&selectedIndex===0){set(this,"selection",null);return}if(prompt){selectedIndex-=1}set(this,"selection",content.objectAt(selectedIndex))},_changeMultiple:function(){var options=this.$("option:selected"),prompt=get(this,"prompt"),offset=prompt?1:0,content=get(this,"content"),selection=get(this,"selection");if(!content){return}if(options){var selectedIndexes=options.map(function(){return this.index-offset}).toArray();var newSelection=content.objectsAt(selectedIndexes);if(isArray(selection)){replace(selection,0,get(selection,"length"),newSelection)}else{set(this,"selection",newSelection)}}},_selectionDidChangeSingle:function(){var el=this.get("element");if(!el){return}var content=get(this,"content"),selection=get(this,"selection"),selectionIndex=content?indexOf(content,selection):-1,prompt=get(this,"prompt");if(prompt){selectionIndex+=1}if(el){el.selectedIndex=selectionIndex}},_selectionDidChangeMultiple:function(){var content=get(this,"content"),selection=get(this,"selection"),selectedIndexes=content?indexesOf(content,selection):[-1],prompt=get(this,"prompt"),offset=prompt?1:0,options=this.$("option"),adjusted;if(options){options.each(function(){adjusted=this.index>-1?this.index-offset:-1;this.selected=indexOf(selectedIndexes,adjusted)>-1})}},init:function(){this._super();this.on("didInsertElement",this,this._triggerChange);this.on("change",this,this._change)}});__exports__["default"]=Select;__exports__.Select=Select;__exports__.SelectOption=SelectOption;__exports__.SelectOptgroup=SelectOptgroup});define("ember-handlebars/controls/text_area",["ember-metal/property_get","ember-views/views/component","ember-handlebars/controls/text_support","ember-metal/mixin","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var get=__dependency1__.get;var Component=__dependency2__["default"];var TextSupport=__dependency3__["default"];var observer=__dependency4__.observer;__exports__["default"]=Component.extend(TextSupport,{instrumentDisplay:"{{textarea}}",classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name","selectionEnd","selectionStart","wrap"],rows:null,cols:null,_updateElementValue:observer("value",function(){var value=get(this,"value"),$el=this.$();if($el&&value!==$el.val()){$el.val(value)}}),init:function(){this._super();this.on("didInsertElement",this,this._updateElementValue)}})});define("ember-handlebars/controls/text_field",["ember-metal/property_get","ember-metal/property_set","ember-views/views/component","ember-handlebars/controls/text_support","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var Component=__dependency3__["default"];var TextSupport=__dependency4__["default"];__exports__["default"]=Component.extend(TextSupport,{instrumentDisplay:'{{input type="text"}}',classNames:["ember-text-field"],tagName:"input",attributeBindings:["type","value","size","pattern","name","min","max","accept","autocomplete","autosave","formaction","formenctype","formmethod","formnovalidate","formtarget","height","inputmode","list","multiple","step","width"],value:"",type:"text",size:null,pattern:null,min:null,max:null})});define("ember-handlebars/controls/text_support",["ember-metal/property_get","ember-metal/property_set","ember-metal/mixin","ember-runtime/mixins/target_action_support","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var Mixin=__dependency3__.Mixin;var TargetActionSupport=__dependency4__["default"];var TextSupport=Mixin.create(TargetActionSupport,{value:"",attributeBindings:["placeholder","disabled","maxlength","tabindex","readonly","autofocus","form","selectionDirection","spellcheck","required","title","autocapitalize","autocorrect"],placeholder:null,disabled:false,maxlength:null,init:function(){this._super();this.on("focusOut",this,this._elementValueDidChange);this.on("change",this,this._elementValueDidChange);this.on("paste",this,this._elementValueDidChange);this.on("cut",this,this._elementValueDidChange);this.on("input",this,this._elementValueDidChange);this.on("keyUp",this,this.interpretKeyEvents)},action:null,onEvent:"enter",bubbles:false,interpretKeyEvents:function(event){var map=TextSupport.KEY_EVENTS;var method=map[event.keyCode];this._elementValueDidChange();if(method){return this[method](event)}},_elementValueDidChange:function(){set(this,"value",this.$().val())},insertNewline:function(event){sendAction("enter",this,event);sendAction("insert-newline",this,event)},cancel:function(event){sendAction("escape-press",this,event)},focusIn:function(event){sendAction("focus-in",this,event)},focusOut:function(event){sendAction("focus-out",this,event)},keyPress:function(event){sendAction("key-press",this,event)}});TextSupport.KEY_EVENTS={13:"insertNewline",27:"cancel"};function sendAction(eventName,view,event){var action=get(view,eventName),on=get(view,"onEvent"),value=get(view,"value");if(on===eventName||on==="keyPress"&&eventName==="key-press"){view.sendAction("action",value)}view.sendAction(eventName,value);if(action||on===eventName){if(!get(view,"bubbles")){event.stopPropagation()}}}__exports__["default"]=TextSupport});define("ember-handlebars/ext",["ember-metal/core","ember-runtime/system/string","ember-handlebars-compiler","ember-metal/property_get","ember-metal/binding","ember-metal/error","ember-metal/mixin","ember-metal/is_empty","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var fmt=__dependency2__.fmt;var EmberHandlebars=__dependency3__["default"];var helpers=EmberHandlebars.helpers;var get=__dependency4__.get;var isGlobalPath=__dependency5__.isGlobalPath;var EmberError=__dependency6__["default"];var IS_BINDING=__dependency7__.IS_BINDING;var resolveHelper,SimpleHandlebarsView;var isEmpty=__dependency8__["default"];var slice=[].slice,originalTemplate=EmberHandlebars.template;function normalizePath(root,path,data){var keywords=data&&data.keywords||{},keyword,isKeyword;keyword=path.split(".",1)[0];if(keywords.hasOwnProperty(keyword)){root=keywords[keyword];isKeyword=true;if(path===keyword){path=""}else{path=path.substr(keyword.length+1)}}return{root:root,path:path,isKeyword:isKeyword}}function handlebarsGet(root,path,options){var data=options&&options.data,normalizedPath=normalizePath(root,path,data),value;root=normalizedPath.root;path=normalizedPath.path;value=get(root,path);if(value===undefined&&root!==Ember.lookup&&isGlobalPath(path)){value=get(Ember.lookup,path)}return value}function getEscaped(root,path,options){var result=handlebarsGet(root,path,options);if(result===null||result===undefined){result=""}else if(!(result instanceof Handlebars.SafeString)){result=String(result)}if(!options.hash.unescaped){result=Handlebars.Utils.escapeExpression(result)}return result}__exports__.getEscaped=getEscaped;function resolveParams(context,params,options){var resolvedParams=[],types=options.types,param,type;for(var i=0,l=params.length;i<l;i++){param=params[i];type=types[i];if(type==="ID"){resolvedParams.push(handlebarsGet(context,param,options))}else{resolvedParams.push(param)}}return resolvedParams}__exports__.resolveParams=resolveParams;function resolveHash(context,hash,options){var resolvedHash={},types=options.hashTypes,type;for(var key in hash){if(!hash.hasOwnProperty(key)){continue}type=types[key];if(type==="ID"){resolvedHash[key]=handlebarsGet(context,hash[key],options)}else{resolvedHash[key]=hash[key]}}return resolvedHash}__exports__.resolveHash=resolveHash;function helperMissingHelper(path){if(!resolveHelper){resolveHelper=requireModule("ember-handlebars/helpers/binding")["resolveHelper"]}var error,view="";var options=arguments[arguments.length-1];var helper=resolveHelper(options.data.view.container,path);if(helper){return helper.apply(this,slice.call(arguments,1))}error="%@ Handlebars error: Could not find property '%@' on object %@.";if(options.data){view=options.data.view}throw new EmberError(fmt(error,[view,path,this]))}__exports__.helperMissingHelper=helperMissingHelper;function blockHelperMissingHelper(path){if(!resolveHelper){resolveHelper=requireModule("ember-handlebars/helpers/binding")["resolveHelper"]}var options=arguments[arguments.length-1];var helper=resolveHelper(options.data.view.container,path);if(helper){return helper.apply(this,slice.call(arguments,1))}else{return helpers.helperMissing.call(this,path)}}__exports__.blockHelperMissingHelper=blockHelperMissingHelper;function registerBoundHelper(name,fn){var boundHelperArgs=slice.call(arguments,1),boundFn=makeBoundHelper.apply(this,boundHelperArgs);EmberHandlebars.registerHelper(name,boundFn)}__exports__.registerBoundHelper=registerBoundHelper;function makeBoundHelper(fn){if(!SimpleHandlebarsView){SimpleHandlebarsView=requireModule("ember-handlebars/views/handlebars_bound_view")["SimpleHandlebarsView"]}var dependentKeys=slice.call(arguments,1);function helper(){var properties=slice.call(arguments,0,-1),numProperties=properties.length,options=arguments[arguments.length-1],normalizedProperties=[],data=options.data,types=data.isUnbound?slice.call(options.types,1):options.types,hash=options.hash,view=data.view,contexts=options.contexts,currentContext=contexts&&contexts.length?contexts[0]:this,prefixPathForDependentKeys="",loc,len,hashOption,boundOption,property,normalizedValue=SimpleHandlebarsView.prototype.normalizedValue;var boundOptions=hash.boundOptions={};for(hashOption in hash){if(IS_BINDING.test(hashOption)){boundOptions[hashOption.slice(0,-7)]=hash[hashOption]}}var watchedProperties=[];data.properties=[];for(loc=0;loc<numProperties;++loc){data.properties.push(properties[loc]);if(types[loc]==="ID"){var normalizedProp=normalizePath(currentContext,properties[loc],data);normalizedProperties.push(normalizedProp);watchedProperties.push(normalizedProp)}else{if(data.isUnbound){normalizedProperties.push({path:properties[loc]})}else{normalizedProperties.push(null)}}}if(data.isUnbound){return evaluateUnboundHelper(this,fn,normalizedProperties,options)}var bindView=new SimpleHandlebarsView(null,null,!options.hash.unescaped,options.data);bindView.normalizedValue=function(){var args=[],boundOption;for(boundOption in boundOptions){if(!boundOptions.hasOwnProperty(boundOption)){continue}property=normalizePath(currentContext,boundOptions[boundOption],data);bindView.path=property.path;bindView.pathRoot=property.root;hash[boundOption]=normalizedValue.call(bindView)}for(loc=0;loc<numProperties;++loc){property=normalizedProperties[loc];if(property){bindView.path=property.path;bindView.pathRoot=property.root;args.push(normalizedValue.call(bindView))}else{args.push(properties[loc])}}args.push(options);return fn.apply(currentContext,args)};view.appendChild(bindView);for(boundOption in boundOptions){if(boundOptions.hasOwnProperty(boundOption)){watchedProperties.push(normalizePath(currentContext,boundOptions[boundOption],data))}}for(loc=0,len=watchedProperties.length;loc<len;++loc){property=watchedProperties[loc];view.registerObserver(property.root,property.path,bindView,bindView.rerender)}if(types[0]!=="ID"||normalizedProperties.length===0){return}var normalized=normalizedProperties[0],pathRoot=normalized.root,path=normalized.path;if(!isEmpty(path)){prefixPathForDependentKeys=path+"."}for(var i=0,l=dependentKeys.length;i<l;i++){view.registerObserver(pathRoot,prefixPathForDependentKeys+dependentKeys[i],bindView,bindView.rerender)}}helper._rawFunction=fn;return helper}function evaluateUnboundHelper(context,fn,normalizedProperties,options){var args=[],hash=options.hash,boundOptions=hash.boundOptions,types=slice.call(options.types,1),loc,len,property,propertyType,boundOption;for(boundOption in boundOptions){if(!boundOptions.hasOwnProperty(boundOption)){continue}hash[boundOption]=handlebarsGet(context,boundOptions[boundOption],options)}for(loc=0,len=normalizedProperties.length;loc<len;++loc){property=normalizedProperties[loc];propertyType=types[loc];if(propertyType==="ID"){args.push(handlebarsGet(property.root,property.path,options))}else{args.push(property.path)}}args.push(options);return fn.apply(context,args)}function template(spec){var t=originalTemplate(spec);t.isTop=true;return t}__exports__.template=template;__exports__.normalizePath=normalizePath;__exports__.makeBoundHelper=makeBoundHelper;__exports__.handlebarsGet=handlebarsGet;__exports__.evaluateUnboundHelper=evaluateUnboundHelper});define("ember-handlebars/helpers/binding",["ember-metal/core","ember-handlebars-compiler","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-runtime/system/string","ember-metal/platform","ember-metal/is_none","ember-metal/enumerable_utils","ember-metal/array","ember-views/views/view","ember-metal/run_loop","ember-metal/observer","ember-metal/binding","ember-views/system/jquery","ember-handlebars/ext","ember-runtime/keys","ember-handlebars/views/handlebars_bound_view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberHandlebars=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var apply=__dependency5__.apply;var uuid=__dependency5__.uuid;var fmt=__dependency6__.fmt;var o_create=__dependency7__.create;var isNone=__dependency8__["default"];var EnumerableUtils=__dependency9__["default"];var forEach=__dependency10__.forEach;var View=__dependency11__["default"];var run=__dependency12__["default"];var removeObserver=__dependency13__.removeObserver;var isGlobalPath=__dependency14__.isGlobalPath;var emberBind=__dependency14__.bind;var jQuery=__dependency15__["default"];var isArray=__dependency5__.isArray;var handlebarsGetEscaped=__dependency16__.getEscaped;var keys=__dependency17__["default"];var _HandlebarsBoundView=__dependency18__._HandlebarsBoundView;var SimpleHandlebarsView=__dependency18__.SimpleHandlebarsView;var normalizePath=__dependency16__.normalizePath;var handlebarsGet=__dependency16__.handlebarsGet;var getEscaped=__dependency16__.getEscaped;var guidFor=__dependency5__.guidFor;var typeOf=__dependency5__.typeOf;var helpers=EmberHandlebars.helpers;var SafeString=EmberHandlebars.SafeString;function exists(value){return!isNone(value)}var WithView=_HandlebarsBoundView.extend({init:function(){var controller;apply(this,this._super,arguments);var keywords=this.templateData.keywords;var keywordName=this.templateHash.keywordName;var keywordPath=this.templateHash.keywordPath;var controllerName=this.templateHash.controller;var preserveContext=this.preserveContext;if(controllerName){var previousContext=this.previousContext;controller=this.container.lookupFactory("controller:"+controllerName).create({parentController:previousContext,target:previousContext});this._generatedController=controller;if(!preserveContext){this.set("controller",controller);this.valueNormalizerFunc=function(result){controller.set("model",result);return controller}}else{var controllerPath=jQuery.expando+guidFor(controller);keywords[controllerPath]=controller;emberBind(keywords,controllerPath+".model",keywordPath);keywordPath=controllerPath}}if(preserveContext){emberBind(keywords,keywordName,keywordPath)}},willDestroy:function(){this._super();if(this._generatedController){this._generatedController.destroy()}}});function bind(property,options,preserveContext,shouldDisplay,valueNormalizer,childProperties){var data=options.data,fn=options.fn,inverse=options.inverse,view=data.view,normalized,observer,i;var currentContext=this||window;normalized=normalizePath(currentContext,property,data);if("object"===typeof this){if(data.insideGroup){observer=function(){while(view._contextView){view=view._contextView}run.once(view,"rerender")};var template,context,result=handlebarsGet(currentContext,property,options);result=valueNormalizer?valueNormalizer(result):result;context=preserveContext?currentContext:result;if(shouldDisplay(result)){template=fn}else if(inverse){template=inverse}template(context,{data:options.data})}else{var viewClass=_HandlebarsBoundView;var viewOptions={preserveContext:preserveContext,shouldDisplayFunc:shouldDisplay,valueNormalizerFunc:valueNormalizer,displayTemplate:fn,inverseTemplate:inverse,path:property,pathRoot:currentContext,previousContext:currentContext,isEscaped:!options.hash.unescaped,templateData:options.data,templateHash:options.hash,helperName:options.helperName};if(options.isWithHelper){viewClass=WithView}var bindView=view.createChildView(viewClass,viewOptions);view.appendChild(bindView);observer=function(){run.scheduleOnce("render",bindView,"rerenderIfNeeded")}}if(normalized.path!==""){view.registerObserver(normalized.root,normalized.path,observer);if(childProperties){for(i=0;i<childProperties.length;i++){view.registerObserver(normalized.root,normalized.path+"."+childProperties[i],observer)}}}}else{data.buffer.push(handlebarsGetEscaped(currentContext,property,options))}}function simpleBind(currentContext,property,options){var data=options.data,view=data.view,normalized,observer,pathRoot,output;normalized=normalizePath(currentContext,property,data);pathRoot=normalized.root;if(pathRoot&&"object"===typeof pathRoot){if(data.insideGroup){observer=function(){while(view._contextView){view=view._contextView}run.once(view,"rerender")};output=handlebarsGetEscaped(currentContext,property,options);data.buffer.push(output)}else{var bindView=new SimpleHandlebarsView(property,currentContext,!options.hash.unescaped,options.data);bindView._parentView=view;view.appendChild(bindView);observer=function(){run.scheduleOnce("render",bindView,"rerender")}}if(normalized.path!==""){view.registerObserver(normalized.root,normalized.path,observer)}}else{output=handlebarsGetEscaped(currentContext,property,options);data.buffer.push(output)}}function shouldDisplayIfHelperContent(result){var truthy=result&&get(result,"isTruthy");if(typeof truthy==="boolean"){return truthy}if(isArray(result)){return get(result,"length")!==0}else{return!!result}}function _triageMustacheHelper(property,options){var helper=EmberHandlebars.resolveHelper(options.data.view.container,property);if(helper){return helper.call(this,options)}return helpers.bind.call(this,property,options)}function resolveHelper(container,name){if(helpers[name]){return helpers[name]}if(!container||name.indexOf("-")===-1){return}var helper=container.lookup("helper:"+name);if(!helper){var componentLookup=container.lookup("component-lookup:main");var Component=componentLookup.lookupFactory(name,container);if(Component){helper=EmberHandlebars.makeViewHelper(Component);container.register("helper:"+name,helper)}}return helper}function bindHelper(property,options){var context=options.contexts&&options.contexts.length?options.contexts[0]:this;if(!options.fn){return simpleBind(context,property,options)}options.helperName="bind";return bind.call(context,property,options,false,exists)}function boundIfHelper(property,fn){var context=fn.contexts&&fn.contexts.length?fn.contexts[0]:this;fn.helperName=fn.helperName||"boundIf";return bind.call(context,property,fn,true,shouldDisplayIfHelperContent,shouldDisplayIfHelperContent,["isTruthy","length"])}function unboundIfHelper(property,fn){var context=fn.contexts&&fn.contexts.length?fn.contexts[0]:this,data=fn.data,template=fn.fn,inverse=fn.inverse,normalized,propertyValue,result;normalized=normalizePath(context,property,data);propertyValue=handlebarsGet(context,property,fn);if(!shouldDisplayIfHelperContent(propertyValue)){template=inverse}template(context,{data:data})}function withHelper(context,options){var bindContext,preserveContext,controller,helperName="with";if(arguments.length===4){var keywordName,path,rootPath,normalized,contextPath;options=arguments[3];keywordName=arguments[2];path=arguments[0];if(path){helperName+=" "+path+" as "+keywordName}var localizedOptions=o_create(options);localizedOptions.data=o_create(options.data);localizedOptions.data.keywords=o_create(options.data.keywords||{});if(isGlobalPath(path)){contextPath=path}else{normalized=normalizePath(this,path,options.data);path=normalized.path;rootPath=normalized.root;var contextKey=jQuery.expando+guidFor(rootPath);localizedOptions.data.keywords[contextKey]=rootPath;contextPath=path?contextKey+"."+path:contextKey}localizedOptions.hash.keywordName=keywordName;localizedOptions.hash.keywordPath=contextPath;bindContext=this;context=contextPath;options=localizedOptions;preserveContext=true}else{helperName+=" "+context;bindContext=options.contexts[0];preserveContext=false}options.helperName=helperName;options.isWithHelper=true;return bind.call(bindContext,context,options,preserveContext,exists)}function ifHelper(context,options){options.helperName=options.helperName||"if "+context;if(options.data.isUnbound){return helpers.unboundIf.call(options.contexts[0],context,options)}else{return helpers.boundIf.call(options.contexts[0],context,options)}}function unlessHelper(context,options){var fn=options.fn,inverse=options.inverse,helperName="unless";if(context){helperName+=" "+context}options.fn=inverse;options.inverse=fn;options.helperName=options.helperName||helperName;if(options.data.isUnbound){return helpers.unboundIf.call(options.contexts[0],context,options)}else{return helpers.boundIf.call(options.contexts[0],context,options)}}function bindAttrHelper(options){var attrs=options.hash;var view=options.data.view;var ret=[];var ctx=this||window;var dataId=uuid();var classBindings=attrs["class"];if(classBindings!=null){var classResults=bindClasses(ctx,classBindings,view,dataId,options);ret.push('class="'+Handlebars.Utils.escapeExpression(classResults.join(" "))+'"');delete attrs["class"]}var attrKeys=keys(attrs);forEach.call(attrKeys,function(attr){var path=attrs[attr],normalized;normalized=normalizePath(ctx,path,options.data);var value=path==="this"?normalized.root:handlebarsGet(ctx,path,options),type=typeOf(value);var observer;observer=function observer(){var result=handlebarsGet(ctx,path,options);var elem=view.$("[data-bindattr-"+dataId+"='"+dataId+"']");if(!elem||elem.length===0){removeObserver(normalized.root,normalized.path,observer);return}View.applyAttributeBindings(elem,attr,result)};if(path!=="this"&&!(normalized.isKeyword&&normalized.path==="")){view.registerObserver(normalized.root,normalized.path,observer)}if(type==="string"||type==="number"&&!isNaN(value)){ret.push(attr+'="'+Handlebars.Utils.escapeExpression(value)+'"')}else if(value&&type==="boolean"){ret.push(attr+'="'+attr+'"')}},this);ret.push("data-bindattr-"+dataId+'="'+dataId+'"');return new SafeString(ret.join(" "))}function bindAttrHelperDeprecated(){return helpers["bind-attr"].apply(this,arguments)}function bindClasses(context,classBindings,view,bindAttrId,options){var ret=[],newClass,value,elem;var classStringForPath=function(root,parsedPath,options){var val,path=parsedPath.path;if(path==="this"){val=root}else if(path===""){val=true}else{val=handlebarsGet(root,path,options)}return View._classStringForValue(path,val,parsedPath.className,parsedPath.falsyClassName)};forEach.call(classBindings.split(" "),function(binding){var oldClass;var observer;var parsedPath=View._parsePropertyPath(binding),path=parsedPath.path,pathRoot=context,normalized;if(path!==""&&path!=="this"){normalized=normalizePath(context,path,options.data);
4
+ pathRoot=normalized.root;path=normalized.path}observer=function(){newClass=classStringForPath(context,parsedPath,options);elem=bindAttrId?view.$("[data-bindattr-"+bindAttrId+"='"+bindAttrId+"']"):view.$();if(!elem||elem.length===0){removeObserver(pathRoot,path,observer)}else{if(oldClass){elem.removeClass(oldClass)}if(newClass){elem.addClass(newClass);oldClass=newClass}else{oldClass=null}}};if(path!==""&&path!=="this"){view.registerObserver(pathRoot,path,observer)}value=classStringForPath(context,parsedPath,options);if(value){ret.push(value);oldClass=value}});return ret}__exports__.bind=bind;__exports__._triageMustacheHelper=_triageMustacheHelper;__exports__.resolveHelper=resolveHelper;__exports__.bindHelper=bindHelper;__exports__.boundIfHelper=boundIfHelper;__exports__.unboundIfHelper=unboundIfHelper;__exports__.withHelper=withHelper;__exports__.ifHelper=ifHelper;__exports__.unlessHelper=unlessHelper;__exports__.bindAttrHelper=bindAttrHelper;__exports__.bindAttrHelperDeprecated=bindAttrHelperDeprecated;__exports__.bindClasses=bindClasses});define("ember-handlebars/helpers/collection",["ember-metal/core","ember-metal/utils","ember-handlebars-compiler","ember-runtime/system/string","ember-metal/property_get","ember-handlebars/ext","ember-handlebars/helpers/view","ember-metal/computed","ember-views/views/collection_view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__exports__){"use strict";var Ember=__dependency1__["default"];var inspect=__dependency2__.inspect;var EmberHandlebars=__dependency3__["default"];var helpers=EmberHandlebars.helpers;var fmt=__dependency4__.fmt;var get=__dependency5__.get;var handlebarsGet=__dependency6__.handlebarsGet;var ViewHelper=__dependency7__.ViewHelper;var computed=__dependency8__.computed;var CollectionView=__dependency9__["default"];var alias=computed.alias;function collectionHelper(path,options){if(path&&path.data&&path.data.isRenderData){options=path;path=undefined}else{}var fn=options.fn;var data=options.data;var inverse=options.inverse;var view=options.data.view;var controller,container;var collectionClass;if(path){controller=data.keywords.controller;container=controller&&controller.container;collectionClass=handlebarsGet(this,path,options)||container.lookupFactory("view:"+path)}else{collectionClass=CollectionView}var hash=options.hash,itemHash={},match;var collectionPrototype=collectionClass.proto(),itemViewClass;if(hash.itemView){controller=data.keywords.controller;container=controller.container;itemViewClass=container.lookupFactory("view:"+hash.itemView)}else if(hash.itemViewClass){itemViewClass=handlebarsGet(collectionPrototype,hash.itemViewClass,options)}else{itemViewClass=collectionPrototype.itemViewClass}delete hash.itemViewClass;delete hash.itemView;for(var prop in hash){if(hash.hasOwnProperty(prop)){match=prop.match(/^item(.)(.*)$/);if(match&&prop!=="itemController"){itemHash[match[1].toLowerCase()+match[2]]=hash[prop];delete hash[prop]}}}if(fn){itemHash.template=fn;delete options.fn}var emptyViewClass;if(inverse&&inverse!==EmberHandlebars.VM.noop){emptyViewClass=get(collectionPrototype,"emptyViewClass");emptyViewClass=emptyViewClass.extend({template:inverse,tagName:itemHash.tagName})}else if(hash.emptyViewClass){emptyViewClass=handlebarsGet(this,hash.emptyViewClass,options)}if(emptyViewClass){hash.emptyView=emptyViewClass}if(hash.keyword){itemHash._context=this}else{itemHash._context=alias("content")}var viewOptions=ViewHelper.propertiesFromHTMLOptions({data:data,hash:itemHash},this);hash.itemViewClass=itemViewClass.extend(viewOptions);options.helperName=options.helperName||"collection";return helpers.view.call(this,collectionClass,options)}__exports__["default"]=collectionHelper});define("ember-handlebars/helpers/debug",["ember-metal/core","ember-metal/utils","ember-metal/logger","ember-metal/property_get","ember-handlebars/ext","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var inspect=__dependency2__.inspect;var Logger=__dependency3__["default"];var get=__dependency4__.get;var normalizePath=__dependency5__.normalizePath;var handlebarsGet=__dependency5__.handlebarsGet;var a_slice=[].slice;function logHelper(){var params=a_slice.call(arguments,0,-1),options=arguments[arguments.length-1],logger=Logger.log,values=[],allowPrimitives=true;for(var i=0;i<params.length;i++){var type=options.types[i];if(type==="ID"||!allowPrimitives){var context=options.contexts&&options.contexts[i]||this,normalized=normalizePath(context,params[i],options.data);if(normalized.path==="this"){values.push(normalized.root)}else{values.push(handlebarsGet(normalized.root,normalized.path,options))}}else{values.push(params[i])}}logger.apply(logger,values)}function debuggerHelper(options){var templateContext=this;var typeOfTemplateContext=inspect(templateContext);debugger}__exports__.logHelper=logHelper;__exports__.debuggerHelper=debuggerHelper});define("ember-handlebars/helpers/each",["ember-metal/core","ember-handlebars-compiler","ember-runtime/system/string","ember-metal/property_get","ember-metal/property_set","ember-views/views/collection_view","ember-metal/binding","ember-runtime/mixins/controller","ember-runtime/controllers/array_controller","ember-runtime/mixins/array","ember-runtime/copy","ember-metal/run_loop","ember-metal/events","ember-handlebars/ext","ember-metal/computed","ember-metal/observer","ember-handlebars/views/metamorph_view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__exports__){"use strict";var Ember=__dependency1__["default"];var K=Ember.K;var EmberHandlebars=__dependency2__["default"];var helpers=EmberHandlebars.helpers;var fmt=__dependency3__.fmt;var get=__dependency4__.get;var set=__dependency5__.set;var CollectionView=__dependency6__["default"];var Binding=__dependency7__.Binding;var ControllerMixin=__dependency8__["default"];var ArrayController=__dependency9__["default"];var EmberArray=__dependency10__["default"];var copy=__dependency11__["default"];var run=__dependency12__["default"];var on=__dependency13__.on;var handlebarsGet=__dependency14__.handlebarsGet;var computed=__dependency15__.computed;var addObserver=__dependency16__.addObserver;var removeObserver=__dependency16__.removeObserver;var addBeforeObserver=__dependency16__.addBeforeObserver;var removeBeforeObserver=__dependency16__.removeBeforeObserver;var _Metamorph=__dependency17__._Metamorph;var _MetamorphView=__dependency17__._MetamorphView;var EachView=CollectionView.extend(_Metamorph,{init:function(){var itemController=get(this,"itemController");var binding;if(itemController){var controller=get(this,"controller.container").lookupFactory("controller:array").create({_isVirtual:true,parentController:get(this,"controller"),itemController:itemController,target:get(this,"controller"),_eachView:this});this.disableContentObservers(function(){set(this,"content",controller);binding=new Binding("content","_eachView.dataSource").oneWay();binding.connect(controller)});set(this,"_arrayController",controller)}else{this.disableContentObservers(function(){binding=new Binding("content","dataSource").oneWay();binding.connect(this)})}return this._super()},_assertArrayLike:function(content){},disableContentObservers:function(callback){removeBeforeObserver(this,"content",null,"_contentWillChange");removeObserver(this,"content",null,"_contentDidChange");callback.call(this);addBeforeObserver(this,"content",null,"_contentWillChange");addObserver(this,"content",null,"_contentDidChange")},itemViewClass:_MetamorphView,emptyViewClass:_MetamorphView,createChildView:function(view,attrs){view=this._super(view,attrs);var keyword=get(this,"keyword");var content=get(view,"content");if(keyword){var data=get(view,"templateData");data=copy(data);data.keywords=view.cloneKeywords();set(view,"templateData",data);data.keywords[keyword]=content}if(content&&content.isController){set(view,"controller",content)}return view},destroy:function(){if(!this._super()){return}var arrayController=get(this,"_arrayController");if(arrayController){arrayController.destroy()}return this}});function _addMetamorphCheck(){EachView.reopen({_checkMetamorph:on("didInsertElement",function(){})})}var runInDebug=function(f){f()};var GroupedEach=EmberHandlebars.GroupedEach=function(context,path,options){var self=this,normalized=EmberHandlebars.normalizePath(context,path,options.data);this.context=context;this.path=path;this.options=options;this.template=options.fn;this.containingView=options.data.view;this.normalizedRoot=normalized.root;this.normalizedPath=normalized.path;this.content=this.lookupContent();this.addContentObservers();this.addArrayObservers();this.containingView.on("willClearRender",function(){self.destroy()})};GroupedEach.prototype={contentWillChange:function(){this.removeArrayObservers()},contentDidChange:function(){this.content=this.lookupContent();this.addArrayObservers();this.rerenderContainingView()},contentArrayWillChange:K,contentArrayDidChange:function(){this.rerenderContainingView()},lookupContent:function(){return handlebarsGet(this.normalizedRoot,this.normalizedPath,this.options)},addArrayObservers:function(){if(!this.content){return}this.content.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},removeArrayObservers:function(){if(!this.content){return}this.content.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},addContentObservers:function(){addBeforeObserver(this.normalizedRoot,this.normalizedPath,this,this.contentWillChange);addObserver(this.normalizedRoot,this.normalizedPath,this,this.contentDidChange)},removeContentObservers:function(){removeBeforeObserver(this.normalizedRoot,this.normalizedPath,this.contentWillChange);removeObserver(this.normalizedRoot,this.normalizedPath,this.contentDidChange)},render:function(){if(!this.content){return}var content=this.content,contentLength=get(content,"length"),options=this.options,data=options.data,template=this.template;data.insideEach=true;for(var i=0;i<contentLength;i++){var context=content.objectAt(i);options.data.keywords[options.hash.keyword]=context;template(context,{data:data})}},rerenderContainingView:function(){var self=this;run.scheduleOnce("render",this,function(){if(!self.destroyed){self.containingView.rerender()}})},destroy:function(){this.removeContentObservers();if(this.content){this.removeArrayObservers()}this.destroyed=true}};function eachHelper(path,options){var ctx,helperName="each";if(arguments.length===4){var keywordName=arguments[0];options=arguments[3];path=arguments[2];helperName+=" "+keywordName+" in "+path;if(path===""){path="this"}options.hash.keyword=keywordName}else if(arguments.length===1){options=path;path="this"}else{helperName+=" "+path}options.hash.dataSourceBinding=path;ctx=this||window;options.helperName=options.helperName||helperName;if(options.data.insideGroup&&!options.hash.groupedRows&&!options.hash.itemViewClass){new GroupedEach(ctx,path,options).render()}else{return helpers.collection.call(ctx,"Ember.Handlebars.EachView",options)}}__exports__.EachView=EachView;__exports__.GroupedEach=GroupedEach;__exports__.eachHelper=eachHelper});define("ember-handlebars/helpers/loc",["ember-runtime/system/string","exports"],function(__dependency1__,__exports__){"use strict";var loc=__dependency1__.loc;__exports__["default"]=function locHelper(str){return loc(str)}});define("ember-handlebars/helpers/partial",["ember-metal/core","ember-metal/is_none","ember-handlebars/ext","ember-handlebars/helpers/binding","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var Ember=__dependency1__["default"];var isNone=__dependency2__.isNone;var handlebarsGet=__dependency3__.handlebarsGet;var bind=__dependency4__.bind;__exports__["default"]=function partialHelper(name,options){var context=options.contexts&&options.contexts.length?options.contexts[0]:this;options.helperName=options.helperName||"partial";if(options.types[0]==="ID"){options.fn=function(context,fnOptions){var partialName=handlebarsGet(context,name,fnOptions);renderPartial(context,partialName,fnOptions)};return bind.call(context,name,options,true,exists)}else{renderPartial(context,name,options)}};function exists(value){return!isNone(value)}function renderPartial(context,name,options){var nameParts=name.split("/");var lastPart=nameParts[nameParts.length-1];nameParts[nameParts.length-1]="_"+lastPart;var view=options.data.view;var underscoredName=nameParts.join("/");var template=view.templateForName(underscoredName);var deprecatedTemplate=!template&&view.templateForName(name);template=template||deprecatedTemplate;template(context,{data:options.data})}});define("ember-handlebars/helpers/shared",["ember-handlebars/ext","exports"],function(__dependency1__,__exports__){"use strict";var handlebarsGet=__dependency1__.handlebarsGet;__exports__["default"]=function resolvePaths(options){var ret=[],contexts=options.contexts,roots=options.roots,data=options.data;for(var i=0,l=contexts.length;i<l;i++){ret.push(handlebarsGet(roots[i],contexts[i],{data:data}))}return ret}});define("ember-handlebars/helpers/template",["ember-metal/core","ember-handlebars-compiler","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberHandlebars=__dependency2__["default"];var helpers=EmberHandlebars.helpers;__exports__["default"]=function templateHelper(name,options){options.helperName=options.helperName||"template";return helpers.partial.apply(this,arguments)}});define("ember-handlebars/helpers/unbound",["ember-handlebars-compiler","ember-handlebars/helpers/binding","ember-handlebars/ext","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var EmberHandlebars=__dependency1__["default"];var helpers=EmberHandlebars.helpers;var resolveHelper=__dependency2__.resolveHelper;var handlebarsGet=__dependency3__.handlebarsGet;var slice=[].slice;__exports__["default"]=function unboundHelper(property,fn){var options=arguments[arguments.length-1],container=options.data.view.container,helper,context,out,ctx;ctx=this;if(arguments.length>2){options.data.isUnbound=true;helper=resolveHelper(container,property)||helpers.helperMissing;out=helper.apply(ctx,slice.call(arguments,1));delete options.data.isUnbound;return out}context=fn.contexts&&fn.contexts.length?fn.contexts[0]:ctx;return handlebarsGet(context,property,fn)}});define("ember-handlebars/helpers/view",["ember-metal/core","ember-runtime/system/object","ember-metal/property_get","ember-metal/property_set","ember-metal/mixin","ember-views/system/jquery","ember-views/views/view","ember-metal/binding","ember-handlebars/ext","ember-runtime/system/string","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberObject=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var IS_BINDING=__dependency5__.IS_BINDING;var jQuery=__dependency6__["default"];var View=__dependency7__["default"];var isGlobalPath=__dependency8__.isGlobalPath;var normalizePath=__dependency9__.normalizePath;var handlebarsGet=__dependency9__.handlebarsGet;var EmberString=__dependency10__["default"];var LOWERCASE_A_Z=/^[a-z]/,VIEW_PREFIX=/^view\./;function makeBindings(thisContext,options){var hash=options.hash,hashType=options.hashTypes;for(var prop in hash){if(hashType[prop]==="ID"){var value=hash[prop];if(IS_BINDING.test(prop)){}else{hash[prop+"Binding"]=value;hashType[prop+"Binding"]="STRING";delete hash[prop];delete hashType[prop]}}}if(hash.hasOwnProperty("idBinding")){hash.id=handlebarsGet(thisContext,hash.idBinding,options);hashType.id="STRING";delete hash.idBinding;delete hashType.idBinding}}var ViewHelper=EmberObject.create({propertiesFromHTMLOptions:function(options){var hash=options.hash,data=options.data;var extensions={},classes=hash["class"],dup=false;if(hash.id){extensions.elementId=hash.id;dup=true}if(hash.tag){extensions.tagName=hash.tag;dup=true}if(classes){classes=classes.split(" ");extensions.classNames=classes;dup=true}if(hash.classBinding){extensions.classNameBindings=hash.classBinding.split(" ");dup=true}if(hash.classNameBindings){if(extensions.classNameBindings===undefined)extensions.classNameBindings=[];extensions.classNameBindings=extensions.classNameBindings.concat(hash.classNameBindings.split(" "));dup=true}if(hash.attributeBindings){extensions.attributeBindings=null;dup=true}if(dup){hash=jQuery.extend({},hash);delete hash.id;delete hash.tag;delete hash["class"];delete hash.classBinding}var path;for(var prop in hash){if(!hash.hasOwnProperty(prop)){continue}if(IS_BINDING.test(prop)&&typeof hash[prop]==="string"){path=this.contextualizeBindingPath(hash[prop],data);if(path){hash[prop]=path}}}if(extensions.classNameBindings){for(var b in extensions.classNameBindings){var full=extensions.classNameBindings[b];if(typeof full==="string"){var parsedPath=View._parsePropertyPath(full);path=this.contextualizeBindingPath(parsedPath.path,data);if(path){extensions.classNameBindings[b]=path+parsedPath.classNames}}}}return jQuery.extend(hash,extensions)},contextualizeBindingPath:function(path,data){var normalized=normalizePath(null,path,data);if(normalized.isKeyword){return"templateData.keywords."+path}else if(isGlobalPath(path)){return null}else if(path==="this"||path===""){return"_parentView.context"}else{return"_parentView.context."+path}},helper:function(thisContext,path,options){var data=options.data,fn=options.fn,newView;makeBindings(thisContext,options);if("string"===typeof path){var lookup;if(options.types[0]==="STRING"&&LOWERCASE_A_Z.test(path)&&!VIEW_PREFIX.test(path)){lookup=path}else{newView=handlebarsGet(thisContext,path,options);if(typeof newView==="string"){lookup=newView}}if(lookup){newView=data.view.container.lookupFactory("view:"+lookup)}}else{newView=path}var viewOptions=this.propertiesFromHTMLOptions(options,thisContext);var currentView=data.view;viewOptions.templateData=data;var newViewProto=newView.proto?newView.proto():newView;if(fn){viewOptions.template=fn}if(!newViewProto.controller&&!newViewProto.controllerBinding&&!viewOptions.controller&&!viewOptions.controllerBinding){viewOptions._context=thisContext}if(options.helperName){viewOptions.helperName=options.helperName}currentView.appendChild(newView,viewOptions)}});__exports__.ViewHelper=ViewHelper;function viewHelper(path,options){if(path&&path.data&&path.data.isRenderData){options=path;path=options.data.view.container.lookupFactory("view:toplevel")}options.helperName=options.helperName||"view";return ViewHelper.helper(this,path,options)}__exports__.viewHelper=viewHelper});define("ember-handlebars/helpers/yield",["ember-metal/core","ember-metal/property_get","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;__exports__["default"]=function yieldHelper(options){var view=options.data.view;while(view&&!get(view,"layout")){if(view._contextView){view=view._contextView}else{view=get(view,"_parentView")}}view._yield(this,options)}});define("ember-handlebars/loader",["ember-handlebars/component_lookup","ember-views/system/jquery","ember-metal/error","ember-runtime/system/lazy_load","ember-handlebars-compiler","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var ComponentLookup=__dependency1__["default"];var jQuery=__dependency2__["default"];var EmberError=__dependency3__["default"];var onLoad=__dependency4__.onLoad;var EmberHandlebars=__dependency5__["default"];function bootstrap(ctx){var selectors='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';jQuery(selectors,ctx).each(function(){var script=jQuery(this);var compile=script.attr("type")==="text/x-raw-handlebars"?jQuery.proxy(Handlebars.compile,Handlebars):jQuery.proxy(EmberHandlebars.compile,EmberHandlebars),templateName=script.attr("data-template-name")||script.attr("id")||"application",template=compile(script.html());if(Ember.TEMPLATES[templateName]!==undefined){throw new EmberError('Template named "'+templateName+'" already exists.')}Ember.TEMPLATES[templateName]=template;script.remove()})}function _bootstrap(){bootstrap(jQuery(document))}function registerComponentLookup(container){container.register("component-lookup:main",ComponentLookup)}onLoad("Ember.Application",function(Application){Application.initializer({name:"domTemplates",initialize:_bootstrap});Application.initializer({name:"registerComponentLookup",after:"domTemplates",initialize:registerComponentLookup})});__exports__["default"]=bootstrap});define("ember-handlebars/string",["ember-runtime/system/string","exports"],function(__dependency1__,__exports__){"use strict";var EmberStringUtils=__dependency1__["default"];function htmlSafe(str){return new Handlebars.SafeString(str)}EmberStringUtils.htmlSafe=htmlSafe;if(Ember.EXTEND_PROTOTYPES===true||Ember.EXTEND_PROTOTYPES.String){String.prototype.htmlSafe=function(){return htmlSafe(this)}}__exports__["default"]=htmlSafe});define("ember-handlebars/views/handlebars_bound_view",["ember-handlebars-compiler","ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/merge","ember-metal/run_loop","ember-metal/computed","ember-views/views/view","ember-views/views/states","ember-handlebars/views/metamorph_view","ember-handlebars/ext","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";var EmberHandlebars=__dependency1__["default"];var SafeString=EmberHandlebars.SafeString;var Ember=__dependency2__["default"];var K=Ember.K;var Metamorph=requireModule("metamorph");var EmberError=__dependency3__["default"];var get=__dependency4__.get;var set=__dependency5__.set;var merge=__dependency6__["default"];var run=__dependency7__["default"];var computed=__dependency8__.computed;var View=__dependency9__["default"];var cloneStates=__dependency10__.cloneStates;var states=__dependency10__.states;var viewStates=states;var _MetamorphView=__dependency11__["default"];var handlebarsGet=__dependency12__.handlebarsGet;function SimpleHandlebarsView(path,pathRoot,isEscaped,templateData){this.path=path;this.pathRoot=pathRoot;this.isEscaped=isEscaped;this.templateData=templateData;this.morph=Metamorph();this.state="preRender";this.updateId=null;this._parentView=null;this.buffer=null}SimpleHandlebarsView.prototype={isVirtual:true,isView:true,destroy:function(){if(this.updateId){run.cancel(this.updateId);this.updateId=null}if(this._parentView){this._parentView.removeChild(this)}this.morph=null;this.state="destroyed"},propertyWillChange:K,propertyDidChange:K,normalizedValue:function(){var path=this.path,pathRoot=this.pathRoot,result,templateData;if(path===""){result=pathRoot}else{templateData=this.templateData;result=handlebarsGet(pathRoot,path,{data:templateData})}return result},renderToBuffer:function(buffer){var string="";string+=this.morph.startTag();string+=this.render();string+=this.morph.endTag();buffer.push(string)},render:function(){var escape=this.isEscaped;var result=this.normalizedValue();if(result===null||result===undefined){result=""}else if(!(result instanceof SafeString)){result=String(result)}if(escape){result=Handlebars.Utils.escapeExpression(result)}return result},rerender:function(){switch(this.state){case"preRender":case"destroyed":break;case"inBuffer":throw new EmberError("Something you did tried to replace an {{expression}} before it was inserted into the DOM.");case"hasElement":case"inDOM":this.updateId=run.scheduleOnce("render",this,"update");break}return this},update:function(){this.updateId=null;this.morph.html(this.render())},_transitionTo:function(state){this.state=state}};states=cloneStates(viewStates);merge(states._default,{rerenderIfNeeded:K});merge(states.inDOM,{rerenderIfNeeded:function(view){if(view.normalizedValue()!==view._lastNormalizedValue){view.rerender()}}});var _HandlebarsBoundView=_MetamorphView.extend({instrumentName:"boundHandlebars",_states:states,shouldDisplayFunc:null,preserveContext:false,previousContext:null,displayTemplate:null,inverseTemplate:null,path:null,pathRoot:null,normalizedValue:function(){var path=get(this,"path"),pathRoot=get(this,"pathRoot"),valueNormalizer=get(this,"valueNormalizerFunc"),result,templateData;if(path===""){result=pathRoot}else{templateData=get(this,"templateData");result=handlebarsGet(pathRoot,path,{data:templateData})}return valueNormalizer?valueNormalizer(result):result},rerenderIfNeeded:function(){this.currentState.rerenderIfNeeded(this)},render:function(buffer){var escape=get(this,"isEscaped");var shouldDisplay=get(this,"shouldDisplayFunc"),preserveContext=get(this,"preserveContext"),context=get(this,"previousContext");var inverseTemplate=get(this,"inverseTemplate"),displayTemplate=get(this,"displayTemplate");var result=this.normalizedValue();this._lastNormalizedValue=result;if(shouldDisplay(result)){set(this,"template",displayTemplate);if(preserveContext){set(this,"_context",context)}else{if(displayTemplate){set(this,"_context",result)}else{if(result===null||result===undefined){result=""}else if(!(result instanceof SafeString)){result=String(result)}if(escape){result=Handlebars.Utils.escapeExpression(result)}buffer.push(result);return}}}else if(inverseTemplate){set(this,"template",inverseTemplate);if(preserveContext){set(this,"_context",context)}else{set(this,"_context",result)}}else{set(this,"template",function(){return""})}return this._super(buffer)}});__exports__._HandlebarsBoundView=_HandlebarsBoundView;__exports__.SimpleHandlebarsView=SimpleHandlebarsView});define("ember-handlebars/views/metamorph_view",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-views/views/core_view","ember-views/views/view","ember-metal/mixin","ember-metal/run_loop","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__["default"];var CoreView=__dependency4__["default"];var View=__dependency5__["default"];var Mixin=__dependency6__.Mixin;var run=__dependency7__["default"];var Metamorph=requireModule("metamorph");function notifyMutationListeners(){run.once(View,"notifyMutationListeners")}var DOMManager={remove:function(view){view.morph.remove();notifyMutationListeners()},prepend:function(view,html){view.morph.prepend(html);notifyMutationListeners()},after:function(view,html){view.morph.after(html);notifyMutationListeners()},html:function(view,html){view.morph.html(html);notifyMutationListeners()},replace:function(view){var morph=view.morph;view._transitionTo("preRender");run.schedule("render",this,function renderMetamorphView(){if(view.isDestroying){return}view.clearRenderedChildren();var buffer=view.renderToBuffer();view.invokeRecursively(function(view){view.propertyWillChange("element")});view.triggerRecursively("willInsertElement");morph.replaceWith(buffer.string());view._transitionTo("inDOM");view.invokeRecursively(function(view){view.propertyDidChange("element")});view.triggerRecursively("didInsertElement");notifyMutationListeners()})},empty:function(view){view.morph.html("");notifyMutationListeners()}};var _Metamorph=Mixin.create({isVirtual:true,tagName:"",instrumentName:"metamorph",init:function(){this._super();this.morph=Metamorph()},beforeRender:function(buffer){buffer.push(this.morph.startTag());buffer.pushOpeningTag()},afterRender:function(buffer){buffer.pushClosingTag();buffer.push(this.morph.endTag())},createElement:function(){var buffer=this.renderToBuffer();this.outerHTML=buffer.string();this.clearBuffer()},domManager:DOMManager});__exports__._Metamorph=_Metamorph;var _wrapMap=Metamorph._wrapMap;__exports__._wrapMap=_wrapMap;var _MetamorphView=View.extend(_Metamorph);__exports__._MetamorphView=_MetamorphView;var _SimpleMetamorphView=CoreView.extend(_Metamorph);__exports__._SimpleMetamorphView=_SimpleMetamorphView;__exports__["default"]=View.extend(_Metamorph)});define("ember-metal",["ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/computed_macros","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__dependency19__,__dependency20__,__dependency21__,__dependency22__,__dependency23__,__dependency24__,__dependency25__,__dependency26__,__dependency27__,__dependency28__,__dependency29__,__dependency30__,__dependency31__,__dependency32__,__dependency33__,__exports__){"use strict";var Ember=__dependency1__["default"];var merge=__dependency2__["default"];var instrument=__dependency3__.instrument;var subscribe=__dependency3__.subscribe;var unsubscribe=__dependency3__.unsubscribe;var reset=__dependency3__.reset;var generateGuid=__dependency4__.generateGuid;var GUID_KEY=__dependency4__.GUID_KEY;var GUID_PREFIX=__dependency4__.GUID_PREFIX;var guidFor=__dependency4__.guidFor;var META_DESC=__dependency4__.META_DESC;var EMPTY_META=__dependency4__.EMPTY_META;var meta=__dependency4__.meta;var getMeta=__dependency4__.getMeta;var setMeta=__dependency4__.setMeta;var metaPath=__dependency4__.metaPath;var inspect=__dependency4__.inspect;var typeOf=__dependency4__.typeOf;var tryCatchFinally=__dependency4__.tryCatchFinally;var isArray=__dependency4__.isArray;var makeArray=__dependency4__.makeArray;var canInvoke=__dependency4__.canInvoke;var tryInvoke=__dependency4__.tryInvoke;var tryFinally=__dependency4__.tryFinally;var wrap=__dependency4__.wrap;var apply=__dependency4__.apply;var applyStr=__dependency4__.applyStr;var EmberError=__dependency5__["default"];var EnumerableUtils=__dependency6__["default"];var create=__dependency7__.create;var platform=__dependency7__.platform;var map=__dependency8__.map;var forEach=__dependency8__.forEach;var filter=__dependency8__.filter;var indexOf=__dependency8__.indexOf;var Logger=__dependency9__["default"];var get=__dependency10__.get;var getWithDefault=__dependency10__.getWithDefault;var normalizeTuple=__dependency10__.normalizeTuple;var _getPath=__dependency10__._getPath;var on=__dependency11__.on;var addListener=__dependency11__.addListener;var removeListener=__dependency11__.removeListener;var suspendListener=__dependency11__.suspendListener;var suspendListeners=__dependency11__.suspendListeners;
5
+ var sendEvent=__dependency11__.sendEvent;var hasListeners=__dependency11__.hasListeners;var watchedEvents=__dependency11__.watchedEvents;var listenersFor=__dependency11__.listenersFor;var listenersDiff=__dependency11__.listenersDiff;var listenersUnion=__dependency11__.listenersUnion;var ObserverSet=__dependency12__["default"];var propertyWillChange=__dependency13__.propertyWillChange;var propertyDidChange=__dependency13__.propertyDidChange;var overrideChains=__dependency13__.overrideChains;var beginPropertyChanges=__dependency13__.beginPropertyChanges;var endPropertyChanges=__dependency13__.endPropertyChanges;var changeProperties=__dependency13__.changeProperties;var Descriptor=__dependency14__.Descriptor;var defineProperty=__dependency14__.defineProperty;var set=__dependency15__.set;var trySet=__dependency15__.trySet;var OrderedSet=__dependency16__.OrderedSet;var Map=__dependency16__.Map;var MapWithDefault=__dependency16__.MapWithDefault;var getProperties=__dependency17__["default"];var setProperties=__dependency18__["default"];var watchKey=__dependency19__.watchKey;var unwatchKey=__dependency19__.unwatchKey;var flushPendingChains=__dependency20__.flushPendingChains;var removeChainWatcher=__dependency20__.removeChainWatcher;var ChainNode=__dependency20__.ChainNode;var finishChains=__dependency20__.finishChains;var watchPath=__dependency21__.watchPath;var unwatchPath=__dependency21__.unwatchPath;var watch=__dependency22__.watch;var isWatching=__dependency22__.isWatching;var unwatch=__dependency22__.unwatch;var rewatch=__dependency22__.rewatch;var destroy=__dependency22__.destroy;var expandProperties=__dependency23__["default"];var ComputedProperty=__dependency24__.ComputedProperty;var computed=__dependency24__.computed;var cacheFor=__dependency24__.cacheFor;var addObserver=__dependency26__.addObserver;var observersFor=__dependency26__.observersFor;var removeObserver=__dependency26__.removeObserver;var addBeforeObserver=__dependency26__.addBeforeObserver;var _suspendBeforeObserver=__dependency26__._suspendBeforeObserver;var _suspendObserver=__dependency26__._suspendObserver;var _suspendBeforeObservers=__dependency26__._suspendBeforeObservers;var _suspendObservers=__dependency26__._suspendObservers;var beforeObserversFor=__dependency26__.beforeObserversFor;var removeBeforeObserver=__dependency26__.removeBeforeObserver;var IS_BINDING=__dependency27__.IS_BINDING;var mixin=__dependency27__.mixin;var Mixin=__dependency27__.Mixin;var required=__dependency27__.required;var aliasMethod=__dependency27__.aliasMethod;var observer=__dependency27__.observer;var immediateObserver=__dependency27__.immediateObserver;var beforeObserver=__dependency27__.beforeObserver;var Binding=__dependency28__.Binding;var isGlobalPath=__dependency28__.isGlobalPath;var bind=__dependency28__.bind;var oneWay=__dependency28__.oneWay;var run=__dependency29__["default"];var libraries=__dependency30__["default"];var isNone=__dependency31__.isNone;var none=__dependency31__.none;var isEmpty=__dependency32__.isEmpty;var empty=__dependency32__.empty;var isBlank=__dependency33__["default"];var EmberInstrumentation=Ember.Instrumentation={};EmberInstrumentation.instrument=instrument;EmberInstrumentation.subscribe=subscribe;EmberInstrumentation.unsubscribe=unsubscribe;EmberInstrumentation.reset=reset;Ember.instrument=instrument;Ember.subscribe=subscribe;Ember.generateGuid=generateGuid;Ember.GUID_KEY=GUID_KEY;Ember.GUID_PREFIX=GUID_PREFIX;Ember.create=create;Ember.platform=platform;var EmberArrayPolyfills=Ember.ArrayPolyfills={};EmberArrayPolyfills.map=map;EmberArrayPolyfills.forEach=forEach;EmberArrayPolyfills.filter=filter;EmberArrayPolyfills.indexOf=indexOf;Ember.Error=EmberError;Ember.guidFor=guidFor;Ember.META_DESC=META_DESC;Ember.EMPTY_META=EMPTY_META;Ember.meta=meta;Ember.getMeta=getMeta;Ember.setMeta=setMeta;Ember.metaPath=metaPath;Ember.inspect=inspect;Ember.typeOf=typeOf;Ember.tryCatchFinally=tryCatchFinally;Ember.isArray=isArray;Ember.makeArray=makeArray;Ember.canInvoke=canInvoke;Ember.tryInvoke=tryInvoke;Ember.tryFinally=tryFinally;Ember.wrap=wrap;Ember.apply=apply;Ember.applyStr=applyStr;Ember.Logger=Logger;Ember.get=get;Ember.getWithDefault=getWithDefault;Ember.normalizeTuple=normalizeTuple;Ember._getPath=_getPath;Ember.EnumerableUtils=EnumerableUtils;Ember.on=on;Ember.addListener=addListener;Ember.removeListener=removeListener;Ember._suspendListener=suspendListener;Ember._suspendListeners=suspendListeners;Ember.sendEvent=sendEvent;Ember.hasListeners=hasListeners;Ember.watchedEvents=watchedEvents;Ember.listenersFor=listenersFor;Ember.listenersDiff=listenersDiff;Ember.listenersUnion=listenersUnion;Ember._ObserverSet=ObserverSet;Ember.propertyWillChange=propertyWillChange;Ember.propertyDidChange=propertyDidChange;Ember.overrideChains=overrideChains;Ember.beginPropertyChanges=beginPropertyChanges;Ember.endPropertyChanges=endPropertyChanges;Ember.changeProperties=changeProperties;Ember.Descriptor=Descriptor;Ember.defineProperty=defineProperty;Ember.set=set;Ember.trySet=trySet;Ember.OrderedSet=OrderedSet;Ember.Map=Map;Ember.MapWithDefault=MapWithDefault;Ember.getProperties=getProperties;Ember.setProperties=setProperties;Ember.watchKey=watchKey;Ember.unwatchKey=unwatchKey;Ember.flushPendingChains=flushPendingChains;Ember.removeChainWatcher=removeChainWatcher;Ember._ChainNode=ChainNode;Ember.finishChains=finishChains;Ember.watchPath=watchPath;Ember.unwatchPath=unwatchPath;Ember.watch=watch;Ember.isWatching=isWatching;Ember.unwatch=unwatch;Ember.rewatch=rewatch;Ember.destroy=destroy;Ember.expandProperties=expandProperties;Ember.ComputedProperty=ComputedProperty;Ember.computed=computed;Ember.cacheFor=cacheFor;Ember.addObserver=addObserver;Ember.observersFor=observersFor;Ember.removeObserver=removeObserver;Ember.addBeforeObserver=addBeforeObserver;Ember._suspendBeforeObserver=_suspendBeforeObserver;Ember._suspendBeforeObservers=_suspendBeforeObservers;Ember._suspendObserver=_suspendObserver;Ember._suspendObservers=_suspendObservers;Ember.beforeObserversFor=beforeObserversFor;Ember.removeBeforeObserver=removeBeforeObserver;Ember.IS_BINDING=IS_BINDING;Ember.required=required;Ember.aliasMethod=aliasMethod;Ember.observer=observer;Ember.immediateObserver=immediateObserver;Ember.beforeObserver=beforeObserver;Ember.mixin=mixin;Ember.Mixin=Mixin;Ember.oneWay=oneWay;Ember.bind=bind;Ember.Binding=Binding;Ember.isGlobalPath=isGlobalPath;Ember.run=run;Ember.libraries=libraries;Ember.libraries.registerCoreLibrary("Ember",Ember.VERSION);Ember.isNone=isNone;Ember.none=none;Ember.isEmpty=isEmpty;Ember.empty=empty;Ember.isBlank=isBlank;Ember.merge=merge;Ember.onerror=null;if(Ember.__loader.registry["ember-debug"]){requireModule("ember-debug")}__exports__["default"]=Ember});define("ember-metal/alias",["ember-metal/property_get","ember-metal/property_set","ember-metal/error","ember-metal/properties","ember-metal/platform","ember-metal/utils","ember-metal/dependent_keys","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var EmberError=__dependency3__["default"];var Descriptor=__dependency4__.Descriptor;var defineProperty=__dependency4__.defineProperty;var create=__dependency5__.create;var meta=__dependency6__.meta;var inspect=__dependency6__.inspect;var addDependentKeys=__dependency7__.addDependentKeys;var removeDependentKeys=__dependency7__.removeDependentKeys;function alias(altKey){return new AliasedProperty(altKey)}__exports__.alias=alias;function AliasedProperty(altKey){this.altKey=altKey;this._dependentKeys=[altKey]}__exports__.AliasedProperty=AliasedProperty;AliasedProperty.prototype=create(Descriptor.prototype);AliasedProperty.prototype.get=function AliasedProperty_get(obj,keyName){return get(obj,this.altKey)};AliasedProperty.prototype.set=function AliasedProperty_set(obj,keyName,value){return set(obj,this.altKey,value)};AliasedProperty.prototype.willWatch=function(obj,keyName){addDependentKeys(this,obj,keyName,meta(obj))};AliasedProperty.prototype.didUnwatch=function(obj,keyName){removeDependentKeys(this,obj,keyName,meta(obj))};AliasedProperty.prototype.setup=function(obj,keyName){var m=meta(obj);if(m.watching[keyName]){addDependentKeys(this,obj,keyName,m)}};AliasedProperty.prototype.teardown=function(obj,keyName){var m=meta(obj);if(m.watching[keyName]){removeDependentKeys(this,obj,keyName,m)}};AliasedProperty.prototype.readOnly=function(){this.set=AliasedProperty_readOnlySet;return this};function AliasedProperty_readOnlySet(obj,keyName,value){throw new EmberError('Cannot set read-only property "'+keyName+'" on object: '+inspect(obj))}AliasedProperty.prototype.oneWay=function(){this.set=AliasedProperty_oneWaySet;return this};function AliasedProperty_oneWaySet(obj,keyName,value){defineProperty(obj,keyName,null);return set(obj,keyName,value)}});define("ember-metal/array",["exports"],function(__exports__){"use strict";var ArrayPrototype=Array.prototype;var isNativeFunc=function(func){return func&&Function.prototype.toString.call(func).indexOf("[native code]")>-1};var map=isNativeFunc(ArrayPrototype.map)?ArrayPrototype.map:function(fun){if(this===void 0||this===null){throw new TypeError}var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function"){throw new TypeError}var res=new Array(len);var thisp=arguments[1];for(var i=0;i<len;i++){if(i in t){res[i]=fun.call(thisp,t[i],i,t)}}return res};var forEach=isNativeFunc(ArrayPrototype.forEach)?ArrayPrototype.forEach:function(fun){if(this===void 0||this===null){throw new TypeError}var t=Object(this);var len=t.length>>>0;if(typeof fun!=="function"){throw new TypeError}var thisp=arguments[1];for(var i=0;i<len;i++){if(i in t){fun.call(thisp,t[i],i,t)}}};var indexOf=isNativeFunc(ArrayPrototype.indexOf)?ArrayPrototype.indexOf:function(obj,fromIndex){if(fromIndex===null||fromIndex===undefined){fromIndex=0}else if(fromIndex<0){fromIndex=Math.max(0,this.length+fromIndex)}for(var i=fromIndex,j=this.length;i<j;i++){if(this[i]===obj){return i}}return-1};var filter=isNativeFunc(ArrayPrototype.filter)?ArrayPrototype.filter:function(fn,context){var i,value,result=[],length=this.length;for(i=0;i<length;i++){if(this.hasOwnProperty(i)){value=this[i];if(fn.call(context,value,i,this)){result.push(value)}}}return result};if(Ember.SHIM_ES5){if(!ArrayPrototype.map){ArrayPrototype.map=map}if(!ArrayPrototype.forEach){ArrayPrototype.forEach=forEach}if(!ArrayPrototype.filter){ArrayPrototype.filter=filter}if(!ArrayPrototype.indexOf){ArrayPrototype.indexOf=indexOf}}__exports__.map=map;__exports__.forEach=forEach;__exports__.filter=filter;__exports__.indexOf=indexOf});define("ember-metal/binding",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/map","ember-metal/observer","ember-metal/run_loop","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var trySet=__dependency3__.trySet;var guidFor=__dependency4__.guidFor;var Map=__dependency5__.Map;var addObserver=__dependency6__.addObserver;var removeObserver=__dependency6__.removeObserver;var _suspendObserver=__dependency6__._suspendObserver;var run=__dependency7__["default"];Ember.LOG_BINDINGS=false||!!Ember.ENV.LOG_BINDINGS;var IS_GLOBAL=/^([A-Z$]|([0-9][A-Z$]))/;function isGlobalPath(path){return IS_GLOBAL.test(path)}function getWithGlobals(obj,path){return get(isGlobalPath(path)?Ember.lookup:obj,path)}var Binding=function(toPath,fromPath){this._direction="fwd";this._from=fromPath;this._to=toPath;this._directionMap=Map.create()};Binding.prototype={copy:function(){var copy=new Binding(this._to,this._from);if(this._oneWay){copy._oneWay=true}return copy},from:function(path){this._from=path;return this},to:function(path){this._to=path;return this},oneWay:function(){this._oneWay=true;return this},toString:function(){var oneWay=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+guidFor(this)+">("+this._from+" -> "+this._to+")"+oneWay},connect:function(obj){var fromPath=this._from,toPath=this._to;trySet(obj,toPath,getWithGlobals(obj,fromPath));addObserver(obj,fromPath,this,this.fromDidChange);if(!this._oneWay){addObserver(obj,toPath,this,this.toDidChange)}this._readyToSync=true;return this},disconnect:function(obj){var twoWay=!this._oneWay;removeObserver(obj,this._from,this,this.fromDidChange);if(twoWay){removeObserver(obj,this._to,this,this.toDidChange)}this._readyToSync=false;return this},fromDidChange:function(target){this._scheduleSync(target,"fwd")},toDidChange:function(target){this._scheduleSync(target,"back")},_scheduleSync:function(obj,dir){var directionMap=this._directionMap;var existingDir=directionMap.get(obj);if(!existingDir){run.schedule("sync",this,this._sync,obj);directionMap.set(obj,dir)}if(existingDir==="back"&&dir==="fwd"){directionMap.set(obj,"fwd")}},_sync:function(obj){var log=Ember.LOG_BINDINGS;if(obj.isDestroyed||!this._readyToSync){return}var directionMap=this._directionMap;var direction=directionMap.get(obj);var fromPath=this._from,toPath=this._to;directionMap.remove(obj);if(direction==="fwd"){var fromValue=getWithGlobals(obj,this._from);if(log){Ember.Logger.log(" ",this.toString(),"->",fromValue,obj)}if(this._oneWay){trySet(obj,toPath,fromValue)}else{_suspendObserver(obj,toPath,this,this.toDidChange,function(){trySet(obj,toPath,fromValue)})}}else if(direction==="back"){var toValue=get(obj,this._to);if(log){Ember.Logger.log(" ",this.toString(),"<-",toValue,obj)}_suspendObserver(obj,fromPath,this,this.fromDidChange,function(){trySet(isGlobalPath(fromPath)?Ember.lookup:obj,fromPath,toValue)})}}};function mixinProperties(to,from){for(var key in from){if(from.hasOwnProperty(key)){to[key]=from[key]}}}mixinProperties(Binding,{from:function(){var C=this,binding=new C;return binding.from.apply(binding,arguments)},to:function(){var C=this,binding=new C;return binding.to.apply(binding,arguments)},oneWay:function(from,flag){var C=this,binding=new C(null,from);return binding.oneWay(flag)}});function bind(obj,to,from){return new Binding(to,from).connect(obj)}__exports__.bind=bind;function oneWay(obj,to,from){return new Binding(to,from).oneWay().connect(obj)}__exports__.oneWay=oneWay;__exports__.Binding=Binding;__exports__.isGlobalPath=isGlobalPath});define("ember-metal/chains",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/array","ember-metal/watch_key","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var normalizeTuple=__dependency2__.normalizeTuple;var meta=__dependency3__.meta;var META_KEY=__dependency3__.META_KEY;var forEach=__dependency4__.forEach;var watchKey=__dependency5__.watchKey;var unwatchKey=__dependency5__.unwatchKey;var metaFor=meta,warn=Ember.warn,FIRST_KEY=/^([^\.]+)/;function firstKey(path){return path.match(FIRST_KEY)[0]}var pendingQueue=[];function flushPendingChains(){if(pendingQueue.length===0){return}var queue=pendingQueue;pendingQueue=[];forEach.call(queue,function(q){q[0].add(q[1])});warn("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",pendingQueue.length===0)}__exports__.flushPendingChains=flushPendingChains;function addChainWatcher(obj,keyName,node){if(!obj||"object"!==typeof obj){return}var m=metaFor(obj),nodes=m.chainWatchers;if(!m.hasOwnProperty("chainWatchers")){nodes=m.chainWatchers={}}if(!nodes[keyName]){nodes[keyName]=[]}nodes[keyName].push(node);watchKey(obj,keyName,m)}function removeChainWatcher(obj,keyName,node){if(!obj||"object"!==typeof obj){return}var m=obj[META_KEY];if(m&&!m.hasOwnProperty("chainWatchers")){return}var nodes=m&&m.chainWatchers;if(nodes&&nodes[keyName]){nodes=nodes[keyName];for(var i=0,l=nodes.length;i<l;i++){if(nodes[i]===node){nodes.splice(i,1);break}}}unwatchKey(obj,keyName,m)}function ChainNode(parent,key,value){this._parent=parent;this._key=key;this._watching=value===undefined;this._value=value;this._paths={};if(this._watching){this._object=parent.value();if(this._object){addChainWatcher(this._object,this._key,this)}}if(this._parent&&this._parent._key==="@each"){this.value()}}var ChainNodePrototype=ChainNode.prototype;function lazyGet(obj,key){if(!obj)return undefined;var meta=obj[META_KEY];if(meta&&meta.proto===obj)return undefined;if(key==="@each")return get(obj,key);var desc=meta&&meta.descs[key];if(desc&&desc._cacheable){if(key in meta.cache){return meta.cache[key]}else{return undefined}}return get(obj,key)}ChainNodePrototype.value=function(){if(this._value===undefined&&this._watching){var obj=this._parent.value();this._value=lazyGet(obj,this._key)}return this._value};ChainNodePrototype.destroy=function(){if(this._watching){var obj=this._object;if(obj){removeChainWatcher(obj,this._key,this)}this._watching=false}};ChainNodePrototype.copy=function(obj){var ret=new ChainNode(null,null,obj),paths=this._paths,path;for(path in paths){if(paths[path]<=0){continue}ret.add(path)}return ret};ChainNodePrototype.add=function(path){var obj,tuple,key,src,paths;paths=this._paths;paths[path]=(paths[path]||0)+1;obj=this.value();tuple=normalizeTuple(obj,path);if(tuple[0]&&tuple[0]===obj){path=tuple[1];key=firstKey(path);path=path.slice(key.length+1)}else if(!tuple[0]){pendingQueue.push([this,path]);tuple.length=0;return}else{src=tuple[0];key=path.slice(0,0-(tuple[1].length+1));path=tuple[1]}tuple.length=0;this.chain(key,path,src)};ChainNodePrototype.remove=function(path){var obj,tuple,key,src,paths;paths=this._paths;if(paths[path]>0){paths[path]--}obj=this.value();tuple=normalizeTuple(obj,path);if(tuple[0]===obj){path=tuple[1];key=firstKey(path);path=path.slice(key.length+1)}else{src=tuple[0];key=path.slice(0,0-(tuple[1].length+1));path=tuple[1]}tuple.length=0;this.unchain(key,path)};ChainNodePrototype.count=0;ChainNodePrototype.chain=function(key,path,src){var chains=this._chains,node;if(!chains){chains=this._chains={}}node=chains[key];if(!node){node=chains[key]=new ChainNode(this,key,src)}node.count++;if(path){key=firstKey(path);path=path.slice(key.length+1);node.chain(key,path)}};ChainNodePrototype.unchain=function(key,path){var chains=this._chains,node=chains[key];if(path&&path.length>1){key=firstKey(path);path=path.slice(key.length+1);node.unchain(key,path)}node.count--;if(node.count<=0){delete chains[node._key];node.destroy()}};ChainNodePrototype.willChange=function(events){var chains=this._chains;if(chains){for(var key in chains){if(!chains.hasOwnProperty(key)){continue}chains[key].willChange(events)}}if(this._parent){this._parent.chainWillChange(this,this._key,1,events)}};ChainNodePrototype.chainWillChange=function(chain,path,depth,events){if(this._key){path=this._key+"."+path}if(this._parent){this._parent.chainWillChange(this,path,depth+1,events)}else{if(depth>1){events.push(this.value(),path)}path="this."+path;if(this._paths[path]>0){events.push(this.value(),path)}}};ChainNodePrototype.chainDidChange=function(chain,path,depth,events){if(this._key){path=this._key+"."+path}if(this._parent){this._parent.chainDidChange(this,path,depth+1,events)}else{if(depth>1){events.push(this.value(),path)}path="this."+path;if(this._paths[path]>0){events.push(this.value(),path)}}};ChainNodePrototype.didChange=function(events){if(this._watching){var obj=this._parent.value();if(obj!==this._object){removeChainWatcher(this._object,this._key,this);this._object=obj;addChainWatcher(obj,this._key,this)}this._value=undefined;if(this._parent&&this._parent._key==="@each")this.value()}var chains=this._chains;if(chains){for(var key in chains){if(!chains.hasOwnProperty(key)){continue}chains[key].didChange(events)}}if(events===null){return}if(this._parent){this._parent.chainDidChange(this,this._key,1,events)}};function finishChains(obj){var m=obj[META_KEY],chains=m&&m.chains;if(chains){if(chains.value()!==obj){metaFor(obj).chains=chains=chains.copy(obj)}else{chains.didChange(null)}}}__exports__.finishChains=finishChains;__exports__.removeChainWatcher=removeChainWatcher;__exports__.ChainNode=ChainNode});define("ember-metal/computed",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/dependent_keys","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var meta=__dependency4__.meta;var META_KEY=__dependency4__.META_KEY;var inspect=__dependency4__.inspect;var expandProperties=__dependency5__["default"];var EmberError=__dependency6__["default"];var Descriptor=__dependency7__.Descriptor;var defineProperty=__dependency7__.defineProperty;var propertyWillChange=__dependency8__.propertyWillChange;var propertyDidChange=__dependency8__.propertyDidChange;var addDependentKeys=__dependency9__.addDependentKeys;var removeDependentKeys=__dependency9__.removeDependentKeys;var metaFor=meta,a_slice=[].slice;function UNDEFINED(){}function ComputedProperty(func,opts){func.__ember_arity__=func.length;this.func=func;this._cacheable=opts&&opts.cacheable!==undefined?opts.cacheable:true;this._dependentKeys=opts&&opts.dependentKeys;this._readOnly=opts&&(opts.readOnly!==undefined||!!opts.readOnly)||false}ComputedProperty.prototype=new Descriptor;var ComputedPropertyPrototype=ComputedProperty.prototype;ComputedPropertyPrototype._dependentKeys=undefined;ComputedPropertyPrototype._suspended=undefined;ComputedPropertyPrototype._meta=undefined;ComputedPropertyPrototype.cacheable=function(aFlag){this._cacheable=aFlag!==false;return this};ComputedPropertyPrototype["volatile"]=function(){return this.cacheable(false)};ComputedPropertyPrototype.readOnly=function(readOnly){this._readOnly=readOnly===undefined||!!readOnly;return this};ComputedPropertyPrototype.property=function(){var args;var addArg=function(property){args.push(property)};args=[];for(var i=0,l=arguments.length;i<l;i++){expandProperties(arguments[i],addArg)}this._dependentKeys=args;return this};ComputedPropertyPrototype.meta=function(meta){if(arguments.length===0){return this._meta||{}}else{this._meta=meta;return this}};ComputedPropertyPrototype.didChange=function(obj,keyName){if(this._cacheable&&this._suspended!==obj){var meta=metaFor(obj);if(meta.cache[keyName]!==undefined){meta.cache[keyName]=undefined;removeDependentKeys(this,obj,keyName,meta)}}};function finishChains(chainNodes){for(var i=0,l=chainNodes.length;i<l;i++){chainNodes[i].didChange(null)}}ComputedPropertyPrototype.get=function(obj,keyName){var ret,cache,meta,chainNodes;if(this._cacheable){meta=metaFor(obj);cache=meta.cache;var result=cache[keyName];if(result===UNDEFINED){return undefined}else if(result!==undefined){return result}ret=this.func.call(obj,keyName);if(ret===undefined){cache[keyName]=UNDEFINED}else{cache[keyName]=ret}chainNodes=meta.chainWatchers&&meta.chainWatchers[keyName];if(chainNodes){finishChains(chainNodes)}addDependentKeys(this,obj,keyName,meta)}else{ret=this.func.call(obj,keyName)}return ret};ComputedPropertyPrototype.set=function(obj,keyName,value){var cacheable=this._cacheable,func=this.func,meta=metaFor(obj,cacheable),oldSuspended=this._suspended,hadCachedValue=false,cache=meta.cache,funcArgLength,cachedValue,ret;if(this._readOnly){throw new EmberError('Cannot set read-only property "'+keyName+'" on object: '+inspect(obj))}this._suspended=obj;try{if(cacheable&&cache[keyName]!==undefined){cachedValue=cache[keyName];hadCachedValue=true}funcArgLength=func.wrappedFunction?func.wrappedFunction.__ember_arity__:func.__ember_arity__;if(funcArgLength===3){ret=func.call(obj,keyName,value,cachedValue)}else if(funcArgLength===2){ret=func.call(obj,keyName,value)}else{defineProperty(obj,keyName,null,cachedValue);set(obj,keyName,value);return}if(hadCachedValue&&cachedValue===ret){return}var watched=meta.watching[keyName];if(watched){propertyWillChange(obj,keyName)}if(hadCachedValue){cache[keyName]=undefined}if(cacheable){if(!hadCachedValue){addDependentKeys(this,obj,keyName,meta)}if(ret===undefined){cache[keyName]=UNDEFINED}else{cache[keyName]=ret}}if(watched){propertyDidChange(obj,keyName)}}finally{this._suspended=oldSuspended}return ret};ComputedPropertyPrototype.teardown=function(obj,keyName){var meta=metaFor(obj);if(keyName in meta.cache){removeDependentKeys(this,obj,keyName,meta)}if(this._cacheable){delete meta.cache[keyName]}return null};function computed(func){var args;if(arguments.length>1){args=a_slice.call(arguments);func=args.pop()}if(typeof func!=="function"){throw new EmberError("Computed Property declared without a property function")}var cp=new ComputedProperty(func);if(args){cp.property.apply(cp,args)}return cp}function cacheFor(obj,key){var meta=obj[META_KEY],cache=meta&&meta.cache,ret=cache&&cache[key];if(ret===UNDEFINED){return undefined}return ret}cacheFor.set=function(cache,key,value){if(value===undefined){cache[key]=UNDEFINED}else{cache[key]=value}};cacheFor.get=function(cache,key){var ret=cache[key];if(ret===UNDEFINED){return undefined}return ret};cacheFor.remove=function(cache,key){cache[key]=undefined};__exports__.ComputedProperty=ComputedProperty;__exports__.computed=computed;__exports__.cacheFor=cacheFor});define("ember-metal/computed_macros",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/is_empty","ember-metal/is_none","ember-metal/alias"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var computed=__dependency4__.computed;var isEmpty=__dependency5__["default"];var isNone=__dependency6__.isNone;var alias=__dependency7__.alias;var a_slice=[].slice;function getProperties(self,propertyNames){var ret={};for(var i=0;i<propertyNames.length;i++){ret[propertyNames[i]]=get(self,propertyNames[i])}return ret}function registerComputed(name,macro){computed[name]=function(dependentKey){var args=a_slice.call(arguments);return computed(dependentKey,function(){return macro.apply(this,args)})}}function registerComputedWithProperties(name,macro){computed[name]=function(){var properties=a_slice.call(arguments);var computedFunc=computed(function(){return macro.apply(this,[getProperties(this,properties)])});return computedFunc.property.apply(computedFunc,properties)}}computed.empty=function(dependentKey){return computed(dependentKey+".length",function(){return isEmpty(get(this,dependentKey))})};registerComputed("notEmpty",function(dependentKey){return!isEmpty(get(this,dependentKey))});registerComputed("none",function(dependentKey){return isNone(get(this,dependentKey))});registerComputed("not",function(dependentKey){return!get(this,dependentKey)});registerComputed("bool",function(dependentKey){return!!get(this,dependentKey)});registerComputed("match",function(dependentKey,regexp){var value=get(this,dependentKey);return typeof value==="string"?regexp.test(value):false});registerComputed("equal",function(dependentKey,value){return get(this,dependentKey)===value});registerComputed("gt",function(dependentKey,value){return get(this,dependentKey)>value});registerComputed("gte",function(dependentKey,value){return get(this,dependentKey)>=value});registerComputed("lt",function(dependentKey,value){return get(this,dependentKey)<value});registerComputed("lte",function(dependentKey,value){return get(this,dependentKey)<=value});registerComputedWithProperties("and",function(properties){for(var key in properties){if(properties.hasOwnProperty(key)&&!properties[key]){return false}}return true});registerComputedWithProperties("or",function(properties){for(var key in properties){if(properties.hasOwnProperty(key)&&properties[key]){return true}}return false});registerComputedWithProperties("any",function(properties){for(var key in properties){if(properties.hasOwnProperty(key)&&properties[key]){return properties[key]}}return null});registerComputedWithProperties("collect",function(properties){var res=[];for(var key in properties){if(properties.hasOwnProperty(key)){if(isNone(properties[key])){res.push(null)}else{res.push(properties[key])}}}return res});computed.alias=alias;computed.oneWay=function(dependentKey){return alias(dependentKey).oneWay()};computed.reads=computed.oneWay;computed.readOnly=function(dependentKey){return alias(dependentKey).readOnly()};computed.defaultTo=function(defaultPath){return computed(function(key,newValue,cachedValue){if(arguments.length===1){return get(this,defaultPath)}return newValue!=null?newValue:get(this,defaultPath)})};computed.deprecatingAlias=function(dependentKey){return computed(dependentKey,function(key,value){if(arguments.length>1){set(this,dependentKey,value);return value}else{return get(this,dependentKey)}})}});define("ember-metal/core",["exports"],function(__exports__){"use strict";if("undefined"===typeof Ember){Ember={}}var imports=Ember.imports=Ember.imports||this;var exports=Ember.exports=Ember.exports||this;var lookup=Ember.lookup=Ember.lookup||this;exports.Em=exports.Ember=Ember;Ember.isNamespace=true;Ember.toString=function(){return"Ember"};Ember.VERSION="1.7.0-beta.2";if(Ember.ENV){}else if("undefined"!==typeof EmberENV){Ember.ENV=EmberENV}else if("undefined"!==typeof ENV){Ember.ENV=ENV}else{Ember.ENV={}}Ember.config=Ember.config||{};if("undefined"===typeof Ember.ENV.DISABLE_RANGE_API){Ember.ENV.DISABLE_RANGE_API=true}if("undefined"===typeof MetamorphENV){exports.MetamorphENV={}}MetamorphENV.DISABLE_RANGE_API=Ember.ENV.DISABLE_RANGE_API;Ember.FEATURES=Ember.ENV.FEATURES||{};Ember.FEATURES.isEnabled=function(feature){var featureValue=Ember.FEATURES[feature];if(Ember.ENV.ENABLE_ALL_FEATURES){return true}else if(featureValue===true||featureValue===false||featureValue===undefined){return featureValue}else if(Ember.ENV.ENABLE_OPTIONAL_FEATURES){return true}else{return false}};Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES;if(typeof Ember.EXTEND_PROTOTYPES==="undefined"){Ember.EXTEND_PROTOTYPES=true}Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==false;Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===false?false:Ember.EXTEND_PROTOTYPES;Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===false?false:true;var K=function(){return this};var K=K;__exports__.K=K;Ember.K=K;if("undefined"===typeof Ember.assert){Ember.assert=Ember.K}if("undefined"===typeof Ember.warn){Ember.warn=Ember.K}if("undefined"===typeof Ember.debug){Ember.debug=Ember.K}if("undefined"===typeof Ember.runInDebug){Ember.runInDebug=Ember.K}if("undefined"===typeof Ember.deprecate){Ember.deprecate=Ember.K}if("undefined"===typeof Ember.deprecateFunc){Ember.deprecateFunc=function(_,func){return func}}__exports__["default"]=Ember});define("ember-metal/dependent_keys",["ember-metal/platform","ember-metal/watching","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var create=__dependency1__.create;var watch=__dependency2__.watch;var unwatch=__dependency2__.unwatch;var o_create=create;function keysForDep(depsMeta,depKey){var keys=depsMeta[depKey];if(!keys){keys=depsMeta[depKey]={}}else if(!depsMeta.hasOwnProperty(depKey)){keys=depsMeta[depKey]=o_create(keys)}return keys}function metaForDeps(meta){return keysForDep(meta,"deps")}function addDependentKeys(desc,obj,keyName,meta){var depKeys=desc._dependentKeys,depsMeta,idx,len,depKey,keys;if(!depKeys)return;depsMeta=metaForDeps(meta);for(idx=0,len=depKeys.length;idx<len;idx++){depKey=depKeys[idx];keys=keysForDep(depsMeta,depKey);keys[keyName]=(keys[keyName]||0)+1;watch(obj,depKey,meta)}}__exports__.addDependentKeys=addDependentKeys;
6
+ function removeDependentKeys(desc,obj,keyName,meta){var depKeys=desc._dependentKeys,depsMeta,idx,len,depKey,keys;if(!depKeys)return;depsMeta=metaForDeps(meta);for(idx=0,len=depKeys.length;idx<len;idx++){depKey=depKeys[idx];keys=keysForDep(depsMeta,depKey);keys[keyName]=(keys[keyName]||0)-1;unwatch(obj,depKey,meta)}}__exports__.removeDependentKeys=removeDependentKeys});define("ember-metal/enumerable_utils",["ember-metal/array","exports"],function(__dependency1__,__exports__){"use strict";var _filter=__dependency1__.filter;var a_forEach=__dependency1__.forEach;var _indexOf=__dependency1__.indexOf;var _map=__dependency1__.map;var splice=Array.prototype.splice;function map(obj,callback,thisArg){return obj.map?obj.map.call(obj,callback,thisArg):_map.call(obj,callback,thisArg)}__exports__.map=map;function forEach(obj,callback,thisArg){return obj.forEach?obj.forEach.call(obj,callback,thisArg):a_forEach.call(obj,callback,thisArg)}__exports__.forEach=forEach;function filter(obj,callback,thisArg){return obj.filter?obj.filter.call(obj,callback,thisArg):_filter.call(obj,callback,thisArg)}__exports__.filter=filter;function indexOf(obj,element,index){return obj.indexOf?obj.indexOf.call(obj,element,index):_indexOf.call(obj,element,index)}__exports__.indexOf=indexOf;function indexesOf(obj,elements){return elements===undefined?[]:map(elements,function(item){return indexOf(obj,item)})}__exports__.indexesOf=indexesOf;function addObject(array,item){var index=indexOf(array,item);if(index===-1){array.push(item)}}__exports__.addObject=addObject;function removeObject(array,item){var index=indexOf(array,item);if(index!==-1){array.splice(index,1)}}__exports__.removeObject=removeObject;function _replace(array,idx,amt,objects){var args=[].concat(objects),chunk,ret=[],size=6e4,start=idx,ends=amt,count;while(args.length){count=ends>size?size:ends;if(count<=0){count=0}chunk=args.splice(0,size);chunk=[start,count].concat(chunk);start+=size;ends-=count;ret=ret.concat(splice.apply(array,chunk))}return ret}__exports__._replace=_replace;function replace(array,idx,amt,objects){if(array.replace){return array.replace(idx,amt,objects)}else{return _replace(array,idx,amt,objects)}}__exports__.replace=replace;function intersection(array1,array2){var result=[];forEach(array1,function(element){if(indexOf(array2,element)>=0){result.push(element)}});return result}__exports__.intersection=intersection;__exports__["default"]={_replace:_replace,addObject:addObject,filter:filter,forEach:forEach,indexOf:indexOf,indexesOf:indexesOf,intersection:intersection,map:map,removeObject:removeObject,replace:replace}});define("ember-metal/error",["ember-metal/platform","exports"],function(__dependency1__,__exports__){"use strict";var create=__dependency1__.create;var errorProps=["description","fileName","lineNumber","message","name","number","stack"];function EmberError(){var tmp=Error.apply(this,arguments);if(Error.captureStackTrace){Error.captureStackTrace(this,Ember.Error)}for(var idx=0;idx<errorProps.length;idx++){this[errorProps[idx]]=tmp[errorProps[idx]]}}EmberError.prototype=create(Error.prototype);__exports__["default"]=EmberError});define("ember-metal/events",["ember-metal/core","ember-metal/utils","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var meta=__dependency2__.meta;var META_KEY=__dependency2__.META_KEY;var tryFinally=__dependency2__.tryFinally;var apply=__dependency2__.apply;var applyStr=__dependency2__.applyStr;var create=__dependency3__.create;var a_slice=[].slice,metaFor=meta,ONCE=1,SUSPENDED=2;function indexOf(array,target,method){var index=-1;for(var i=array.length-3;i>=0;i-=3){if(target===array[i]&&method===array[i+1]){index=i;break}}return index}function actionsFor(obj,eventName){var meta=metaFor(obj,true),actions;if(!meta.listeners){meta.listeners={}}if(!meta.hasOwnProperty("listeners")){meta.listeners=create(meta.listeners)}actions=meta.listeners[eventName];if(actions&&!meta.listeners.hasOwnProperty(eventName)){actions=meta.listeners[eventName]=meta.listeners[eventName].slice()}else if(!actions){actions=meta.listeners[eventName]=[]}return actions}function listenersUnion(obj,eventName,otherActions){var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName];if(!actions){return}for(var i=actions.length-3;i>=0;i-=3){var target=actions[i],method=actions[i+1],flags=actions[i+2],actionIndex=indexOf(otherActions,target,method);if(actionIndex===-1){otherActions.push(target,method,flags)}}}__exports__.listenersUnion=listenersUnion;function listenersDiff(obj,eventName,otherActions){var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName],diffActions=[];if(!actions){return}for(var i=actions.length-3;i>=0;i-=3){var target=actions[i],method=actions[i+1],flags=actions[i+2],actionIndex=indexOf(otherActions,target,method);if(actionIndex!==-1){continue}otherActions.push(target,method,flags);diffActions.push(target,method,flags)}return diffActions}__exports__.listenersDiff=listenersDiff;function addListener(obj,eventName,target,method,once){if(!method&&"function"===typeof target){method=target;target=null}var actions=actionsFor(obj,eventName),actionIndex=indexOf(actions,target,method),flags=0;if(once)flags|=ONCE;if(actionIndex!==-1){return}actions.push(target,method,flags);if("function"===typeof obj.didAddListener){obj.didAddListener(eventName,target,method)}}__exports__.addListener=addListener;function removeListener(obj,eventName,target,method){if(!method&&"function"===typeof target){method=target;target=null}function _removeListener(target,method){var actions=actionsFor(obj,eventName),actionIndex=indexOf(actions,target,method);if(actionIndex===-1){return}actions.splice(actionIndex,3);if("function"===typeof obj.didRemoveListener){obj.didRemoveListener(eventName,target,method)}}if(method){_removeListener(target,method)}else{var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName];if(!actions){return}for(var i=actions.length-3;i>=0;i-=3){_removeListener(actions[i],actions[i+1])}}}function suspendListener(obj,eventName,target,method,callback){if(!method&&"function"===typeof target){method=target;target=null}var actions=actionsFor(obj,eventName),actionIndex=indexOf(actions,target,method);if(actionIndex!==-1){actions[actionIndex+2]|=SUSPENDED}function tryable(){return callback.call(target)}function finalizer(){if(actionIndex!==-1){actions[actionIndex+2]&=~SUSPENDED}}return tryFinally(tryable,finalizer)}__exports__.suspendListener=suspendListener;function suspendListeners(obj,eventNames,target,method,callback){if(!method&&"function"===typeof target){method=target;target=null}var suspendedActions=[],actionsList=[],eventName,actions,i,l;for(i=0,l=eventNames.length;i<l;i++){eventName=eventNames[i];actions=actionsFor(obj,eventName);var actionIndex=indexOf(actions,target,method);if(actionIndex!==-1){actions[actionIndex+2]|=SUSPENDED;suspendedActions.push(actionIndex);actionsList.push(actions)}}function tryable(){return callback.call(target)}function finalizer(){for(var i=0,l=suspendedActions.length;i<l;i++){var actionIndex=suspendedActions[i];actionsList[i][actionIndex+2]&=~SUSPENDED}}return tryFinally(tryable,finalizer)}__exports__.suspendListeners=suspendListeners;function watchedEvents(obj){var listeners=obj[META_KEY].listeners,ret=[];if(listeners){for(var eventName in listeners){if(listeners[eventName]){ret.push(eventName)}}}return ret}__exports__.watchedEvents=watchedEvents;function sendEvent(obj,eventName,params,actions){if(obj!==Ember&&"function"===typeof obj.sendEvent){obj.sendEvent(eventName,params)}if(!actions){var meta=obj[META_KEY];actions=meta&&meta.listeners&&meta.listeners[eventName]}if(!actions){return}for(var i=actions.length-3;i>=0;i-=3){var target=actions[i],method=actions[i+1],flags=actions[i+2];if(!method){continue}if(flags&SUSPENDED){continue}if(flags&ONCE){removeListener(obj,eventName,target,method)}if(!target){target=obj}if("string"===typeof method){if(params){applyStr(target,method,params)}else{target[method]()}}else{if(params){apply(target,method,params)}else{method.call(target)}}}return true}__exports__.sendEvent=sendEvent;function hasListeners(obj,eventName){var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName];return!!(actions&&actions.length)}__exports__.hasListeners=hasListeners;function listenersFor(obj,eventName){var ret=[];var meta=obj[META_KEY],actions=meta&&meta.listeners&&meta.listeners[eventName];if(!actions){return ret}for(var i=0,l=actions.length;i<l;i+=3){var target=actions[i],method=actions[i+1];ret.push([target,method])}return ret}__exports__.listenersFor=listenersFor;function on(){var func=a_slice.call(arguments,-1)[0],events=a_slice.call(arguments,0,-1);func.__ember_listens__=events;return func}__exports__.on=on;__exports__.removeListener=removeListener});define("ember-metal/expand_properties",["ember-metal/error","ember-metal/enumerable_utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var EmberError=__dependency1__["default"];var forEach=__dependency2__.forEach;var BRACE_EXPANSION=/^((?:[^\.]*\.)*)\{(.*)\}$/;__exports__["default"]=function expandProperties(pattern,callback){var match,prefix,list;if(pattern.indexOf(" ")>-1){throw new EmberError("Brace expanded properties cannot contain spaces, "+"e.g. `user.{firstName, lastName}` should be `user.{firstName,lastName}`")}if(match=BRACE_EXPANSION.exec(pattern)){prefix=match[1];list=match[2];forEach(list.split(","),function(suffix){callback(prefix+suffix)})}else{callback(pattern)}}});define("ember-metal/get_properties",["ember-metal/property_get","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var get=__dependency1__.get;var typeOf=__dependency2__.typeOf;__exports__["default"]=function getProperties(obj){var ret={},propertyNames=arguments,i=1;if(arguments.length===2&&typeOf(arguments[1])==="array"){i=0;propertyNames=arguments[1]}for(var len=propertyNames.length;i<len;i++){ret[propertyNames[i]]=get(obj,propertyNames[i])}return ret}});define("ember-metal/instrumentation",["ember-metal/core","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var tryCatchFinally=__dependency2__.tryCatchFinally;var subscribers=[],cache={};var populateListeners=function(name){var listeners=[],subscriber;for(var i=0,l=subscribers.length;i<l;i++){subscriber=subscribers[i];if(subscriber.regex.test(name)){listeners.push(subscriber.object)}}cache[name]=listeners;return listeners};var time=function(){var perf="undefined"!==typeof window?window.performance||{}:{};var fn=perf.now||perf.mozNow||perf.webkitNow||perf.msNow||perf.oNow;return fn?fn.bind(perf):function(){return+new Date}}();function instrument(name,payload,callback,binding){var listeners=cache[name],timeName,ret;if(Ember.STRUCTURED_PROFILE){timeName=name+": "+payload.object;console.time(timeName)}if(!listeners){listeners=populateListeners(name)}if(listeners.length===0){ret=callback.call(binding);if(Ember.STRUCTURED_PROFILE){console.timeEnd(timeName)}return ret}var beforeValues=[],listener,i,l;function tryable(){for(i=0,l=listeners.length;i<l;i++){listener=listeners[i];beforeValues[i]=listener.before(name,time(),payload)}return callback.call(binding)}function catchable(e){payload=payload||{};payload.exception=e}function finalizer(){for(i=0,l=listeners.length;i<l;i++){listener=listeners[i];listener.after(name,time(),payload,beforeValues[i])}if(Ember.STRUCTURED_PROFILE){console.timeEnd(timeName)}}return tryCatchFinally(tryable,catchable,finalizer)}__exports__.instrument=instrument;function subscribe(pattern,object){var paths=pattern.split("."),path,regex=[];for(var i=0,l=paths.length;i<l;i++){path=paths[i];if(path==="*"){regex.push("[^\\.]*")}else{regex.push(path)}}regex=regex.join("\\.");regex=regex+"(\\..*)?";var subscriber={pattern:pattern,regex:new RegExp("^"+regex+"$"),object:object};subscribers.push(subscriber);cache={};return subscriber}__exports__.subscribe=subscribe;function unsubscribe(subscriber){var index;for(var i=0,l=subscribers.length;i<l;i++){if(subscribers[i]===subscriber){index=i}}subscribers.splice(index,1);cache={}}__exports__.unsubscribe=unsubscribe;function reset(){subscribers=[];cache={}}__exports__.reset=reset});define("ember-metal/is_blank",["ember-metal/core","ember-metal/is_empty","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var isEmpty=__dependency2__["default"];__exports__["default"]=function isBlank(obj){return isEmpty(obj)||typeof obj==="string"&&obj.match(/\S/)===null}});define("ember-metal/is_empty",["ember-metal/core","ember-metal/property_get","ember-metal/is_none","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var isNone=__dependency3__["default"];function isEmpty(obj){return isNone(obj)||obj.length===0&&typeof obj!=="function"||typeof obj==="object"&&get(obj,"length")===0}var empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",isEmpty);__exports__.empty=empty;__exports__["default"]=isEmpty;__exports__.isEmpty=isEmpty;__exports__.empty=empty});define("ember-metal/is_none",["ember-metal/core","exports"],function(__dependency1__,__exports__){"use strict";var Ember=__dependency1__["default"];function isNone(obj){return obj===null||obj===undefined}var none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",isNone);__exports__.none=none;__exports__["default"]=isNone;__exports__.isNone=isNone});define("ember-metal/libraries",["ember-metal/enumerable_utils","exports"],function(__dependency1__,__exports__){"use strict";var forEach=__dependency1__.forEach;var indexOf=__dependency1__.indexOf;var libraries=function(){var _libraries=[];var coreLibIndex=0;var getLibrary=function(name){for(var i=0;i<_libraries.length;i++){if(_libraries[i].name===name){return _libraries[i]}}};_libraries.register=function(name,version){if(!getLibrary(name)){_libraries.push({name:name,version:version})}};_libraries.registerCoreLibrary=function(name,version){if(!getLibrary(name)){_libraries.splice(coreLibIndex++,0,{name:name,version:version})}};_libraries.deRegister=function(name){var lib=getLibrary(name);if(lib)_libraries.splice(indexOf(_libraries,lib),1)};_libraries.each=function(callback){forEach(_libraries,function(lib){callback(lib.name,lib.version)})};return _libraries}();__exports__["default"]=libraries});define("ember-metal/logger",["ember-metal/core","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberError=__dependency2__["default"];function consoleMethod(name){var consoleObj,logToConsole;if(Ember.imports.console){consoleObj=Ember.imports.console}else if(typeof console!=="undefined"){consoleObj=console}var method=typeof consoleObj==="object"?consoleObj[name]:null;if(method){if(typeof method.apply==="function"){logToConsole=function(){method.apply(consoleObj,arguments)};logToConsole.displayName="console."+name;return logToConsole}else{return function(){var message=Array.prototype.join.call(arguments,", ");method(message)}}}}function assertPolyfill(test,message){if(!test){try{throw new EmberError("assertion failed: "+message)}catch(error){setTimeout(function(){throw error},0)}}}__exports__["default"]={log:consoleMethod("log")||Ember.K,warn:consoleMethod("warn")||Ember.K,error:consoleMethod("error")||Ember.K,info:consoleMethod("info")||Ember.K,debug:consoleMethod("debug")||consoleMethod("info")||Ember.K,assert:consoleMethod("assert")||assertPolyfill}});define("ember-metal/map",["ember-metal/property_set","ember-metal/utils","ember-metal/array","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var set=__dependency1__.set;var guidFor=__dependency2__.guidFor;var indexOf=__dependency3__.indexOf;var create=__dependency4__.create;function copy(obj){var output={};for(var prop in obj){if(obj.hasOwnProperty(prop)){output[prop]=obj[prop]}}return output}function copyMap(original,newObject){var keys=original.keys.copy(),values=copy(original.values);newObject.keys=keys;newObject.values=values;newObject.length=original.length;return newObject}function OrderedSet(){this.clear()}OrderedSet.create=function(){return new OrderedSet};OrderedSet.prototype={clear:function(){this.presenceSet={};this.list=[]},add:function(obj){var guid=guidFor(obj),presenceSet=this.presenceSet,list=this.list;if(guid in presenceSet){return}presenceSet[guid]=true;list.push(obj)},remove:function(obj){var guid=guidFor(obj),presenceSet=this.presenceSet,list=this.list;delete presenceSet[guid];var index=indexOf.call(list,obj);if(index>-1){list.splice(index,1)}},isEmpty:function(){return this.list.length===0},has:function(obj){var guid=guidFor(obj),presenceSet=this.presenceSet;return guid in presenceSet},forEach:function(fn,self){var list=this.toArray();for(var i=0,j=list.length;i<j;i++){fn.call(self,list[i])}},toArray:function(){return this.list.slice()},copy:function(){var set=new OrderedSet;set.presenceSet=copy(this.presenceSet);set.list=this.toArray();return set}};function Map(){this.keys=OrderedSet.create();this.values={}}Ember.Map=Map;Map.create=function(){return new Map};Map.prototype={length:0,get:function(key){var values=this.values,guid=guidFor(key);return values[guid]},set:function(key,value){var keys=this.keys,values=this.values,guid=guidFor(key);keys.add(key);values[guid]=value;set(this,"length",keys.list.length)},remove:function(key){var keys=this.keys,values=this.values,guid=guidFor(key);if(values.hasOwnProperty(guid)){keys.remove(key);delete values[guid];set(this,"length",keys.list.length);return true}else{return false}},has:function(key){var values=this.values,guid=guidFor(key);return values.hasOwnProperty(guid)},forEach:function(callback,self){var keys=this.keys,values=this.values;keys.forEach(function(key){var guid=guidFor(key);callback.call(self,key,values[guid])})},copy:function(){return copyMap(this,new Map)}};function MapWithDefault(options){Map.call(this);this.defaultValue=options.defaultValue}MapWithDefault.create=function(options){if(options){return new MapWithDefault(options)}else{return new Map}};MapWithDefault.prototype=create(Map.prototype);MapWithDefault.prototype.get=function(key){var hasValue=this.has(key);if(hasValue){return Map.prototype.get.call(this,key)}else{var defaultValue=this.defaultValue(key);this.set(key,defaultValue);return defaultValue}};MapWithDefault.prototype.copy=function(){return copyMap(this,new MapWithDefault({defaultValue:this.defaultValue}))};__exports__.OrderedSet=OrderedSet;__exports__.Map=Map;__exports__.MapWithDefault=MapWithDefault});define("ember-metal/merge",["exports"],function(__exports__){"use strict";__exports__["default"]=function merge(original,updates){for(var prop in updates){if(!updates.hasOwnProperty(prop)){continue}original[prop]=updates[prop]}return original}});define("ember-metal/mixin",["ember-metal/core","ember-metal/merge","ember-metal/array","ember-metal/platform","ember-metal/utils","ember-metal/expand_properties","ember-metal/properties","ember-metal/computed","ember-metal/binding","ember-metal/observer","ember-metal/events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var merge=__dependency2__["default"];var map=__dependency3__.map;var indexOf=__dependency3__.indexOf;var forEach=__dependency3__.forEach;var create=__dependency4__.create;var guidFor=__dependency5__.guidFor;var meta=__dependency5__.meta;var META_KEY=__dependency5__.META_KEY;var wrap=__dependency5__.wrap;var makeArray=__dependency5__.makeArray;var apply=__dependency5__.apply;var expandProperties=__dependency6__["default"];var Descriptor=__dependency7__.Descriptor;var defineProperty=__dependency7__.defineProperty;var ComputedProperty=__dependency8__.ComputedProperty;var Binding=__dependency9__.Binding;var addObserver=__dependency10__.addObserver;var removeObserver=__dependency10__.removeObserver;var addBeforeObserver=__dependency10__.addBeforeObserver;var removeBeforeObserver=__dependency10__.removeBeforeObserver;var addListener=__dependency11__.addListener;var removeListener=__dependency11__.removeListener;var REQUIRED,a_map=map,a_indexOf=indexOf,a_forEach=forEach,a_slice=[].slice,o_create=create,metaFor=meta;function superFunction(){var ret,func=this.__nextSuper;if(func){this.__nextSuper=null;ret=apply(this,func,arguments);this.__nextSuper=func}return ret}function mixinsMeta(obj){var m=metaFor(obj,true),ret=m.mixins;if(!ret){ret=m.mixins={}}else if(!m.hasOwnProperty("mixins")){ret=m.mixins=o_create(ret)}return ret}function initMixin(mixin,args){if(args&&args.length>0){mixin.mixins=a_map.call(args,function(x){if(x instanceof Mixin){return x}var mixin=new Mixin;mixin.properties=x;return mixin})}return mixin}function isMethod(obj){return"function"===typeof obj&&obj.isMethod!==false&&obj!==Boolean&&obj!==Object&&obj!==Number&&obj!==Array&&obj!==Date&&obj!==String}var CONTINUE={};function mixinProperties(mixinsMeta,mixin){var guid;if(mixin instanceof Mixin){guid=guidFor(mixin);if(mixinsMeta[guid]){return CONTINUE}mixinsMeta[guid]=mixin;return mixin.properties}else{return mixin}}function concatenatedMixinProperties(concatProp,props,values,base){var concats;concats=values[concatProp]||base[concatProp];if(props[concatProp]){concats=concats?concats.concat(props[concatProp]):props[concatProp]}return concats}function giveDescriptorSuper(meta,key,property,values,descs){var superProperty;if(values[key]===undefined){superProperty=descs[key]}superProperty=superProperty||meta.descs[key];if(!superProperty||!(superProperty instanceof ComputedProperty)){return property}property=o_create(property);property.func=wrap(property.func,superProperty.func);return property}function giveMethodSuper(obj,key,method,values,descs){var superMethod;if(descs[key]===undefined){superMethod=values[key]}superMethod=superMethod||obj[key];if("function"!==typeof superMethod){return method}return wrap(method,superMethod)}function applyConcatenatedProperties(obj,key,value,values){var baseValue=values[key]||obj[key];if(baseValue){if("function"===typeof baseValue.concat){return baseValue.concat(value)}else{return makeArray(baseValue).concat(value)}}else{return makeArray(value)}}function applyMergedProperties(obj,key,value,values){var baseValue=values[key]||obj[key];if(!baseValue){return value}var newBase=merge({},baseValue),hasFunction=false;for(var prop in value){if(!value.hasOwnProperty(prop)){continue}var propValue=value[prop];if(isMethod(propValue)){hasFunction=true;newBase[prop]=giveMethodSuper(obj,prop,propValue,baseValue,{})}else{newBase[prop]=propValue}}if(hasFunction){newBase._super=superFunction}return newBase}function addNormalizedProperty(base,key,value,meta,descs,values,concats,mergings){if(value instanceof Descriptor){if(value===REQUIRED&&descs[key]){return CONTINUE}if(value.func){value=giveDescriptorSuper(meta,key,value,values,descs)}descs[key]=value;values[key]=undefined}else{if(concats&&a_indexOf.call(concats,key)>=0||key==="concatenatedProperties"||key==="mergedProperties"){value=applyConcatenatedProperties(base,key,value,values)}else if(mergings&&a_indexOf.call(mergings,key)>=0){value=applyMergedProperties(base,key,value,values)}else if(isMethod(value)){value=giveMethodSuper(base,key,value,values,descs)}descs[key]=undefined;values[key]=value}}function mergeMixins(mixins,m,descs,values,base,keys){var mixin,props,key,concats,mergings,meta;function removeKeys(keyName){delete descs[keyName];delete values[keyName]}for(var i=0,l=mixins.length;i<l;i++){mixin=mixins[i];props=mixinProperties(m,mixin);if(props===CONTINUE){continue}if(props){meta=metaFor(base);if(base.willMergeMixin){base.willMergeMixin(props)}concats=concatenatedMixinProperties("concatenatedProperties",props,values,base);mergings=concatenatedMixinProperties("mergedProperties",props,values,base);for(key in props){if(!props.hasOwnProperty(key)){continue}keys.push(key);addNormalizedProperty(base,key,props[key],meta,descs,values,concats,mergings)}if(props.hasOwnProperty("toString")){base.toString=props.toString}}else if(mixin.mixins){mergeMixins(mixin.mixins,m,descs,values,base,keys);if(mixin._without){a_forEach.call(mixin._without,removeKeys)}}}}var IS_BINDING=/^.+Binding$/;function detectBinding(obj,key,value,m){if(IS_BINDING.test(key)){var bindings=m.bindings;if(!bindings){bindings=m.bindings={}}else if(!m.hasOwnProperty("bindings")){bindings=m.bindings=o_create(m.bindings)}bindings[key]=value}}function connectBindings(obj,m){var bindings=m.bindings,key,binding,to;if(bindings){for(key in bindings){binding=bindings[key];if(binding){to=key.slice(0,-7);if(binding instanceof Binding){binding=binding.copy();binding.to(to)}else{binding=new Binding(to,binding)}binding.connect(obj);obj[key]=binding}}m.bindings={}}}function finishPartial(obj,m){connectBindings(obj,m||metaFor(obj));return obj}function followAlias(obj,desc,m,descs,values){var altKey=desc.methodName,value;if(descs[altKey]||values[altKey]){value=values[altKey];desc=descs[altKey]}else if(m.descs[altKey]){desc=m.descs[altKey];value=undefined}else{desc=undefined;value=obj[altKey]}return{desc:desc,value:value}}function updateObserversAndListeners(obj,key,observerOrListener,pathsKey,updateMethod){var paths=observerOrListener[pathsKey];if(paths){for(var i=0,l=paths.length;i<l;i++){updateMethod(obj,paths[i],null,key)}}}function replaceObserversAndListeners(obj,key,observerOrListener){var prev=obj[key];if("function"===typeof prev){updateObserversAndListeners(obj,key,prev,"__ember_observesBefore__",removeBeforeObserver);updateObserversAndListeners(obj,key,prev,"__ember_observes__",removeObserver);updateObserversAndListeners(obj,key,prev,"__ember_listens__",removeListener)}if("function"===typeof observerOrListener){updateObserversAndListeners(obj,key,observerOrListener,"__ember_observesBefore__",addBeforeObserver);updateObserversAndListeners(obj,key,observerOrListener,"__ember_observes__",addObserver);updateObserversAndListeners(obj,key,observerOrListener,"__ember_listens__",addListener)}}function applyMixin(obj,mixins,partial){var descs={},values={},m=metaFor(obj),key,value,desc,keys=[];obj._super=superFunction;mergeMixins(mixins,mixinsMeta(obj),descs,values,obj,keys);for(var i=0,l=keys.length;i<l;i++){key=keys[i];if(key==="constructor"||!values.hasOwnProperty(key)){continue}desc=descs[key];value=values[key];if(desc===REQUIRED){continue}while(desc&&desc instanceof Alias){var followed=followAlias(obj,desc,m,descs,values);desc=followed.desc;value=followed.value}if(desc===undefined&&value===undefined){continue}replaceObserversAndListeners(obj,key,value);detectBinding(obj,key,value,m);defineProperty(obj,key,desc,value,m)}if(!partial){finishPartial(obj,m)}return obj}function mixin(obj){var args=a_slice.call(arguments,1);applyMixin(obj,args,false);return obj}__exports__.mixin=mixin;__exports__["default"]=Mixin;function Mixin(){return initMixin(this,arguments)}Mixin.prototype={properties:null,mixins:null,ownerConstructor:null};Mixin._apply=applyMixin;Mixin.applyPartial=function(obj){var args=a_slice.call(arguments,1);return applyMixin(obj,args,true)};Mixin.finishPartial=finishPartial;Ember.anyUnprocessedMixins=false;Mixin.create=function(){Ember.anyUnprocessedMixins=true;var M=this;return initMixin(new M,arguments)};var MixinPrototype=Mixin.prototype;MixinPrototype.reopen=function(){var mixin,tmp;if(this.properties){mixin=Mixin.create();mixin.properties=this.properties;delete this.properties;this.mixins=[mixin]}else if(!this.mixins){this.mixins=[]}var len=arguments.length,mixins=this.mixins,idx;for(idx=0;idx<len;idx++){mixin=arguments[idx];if(mixin instanceof Mixin){mixins.push(mixin)}else{tmp=Mixin.create();tmp.properties=mixin;mixins.push(tmp)}}return this};MixinPrototype.apply=function(obj){return applyMixin(obj,[this],false)};MixinPrototype.applyPartial=function(obj){return applyMixin(obj,[this],true)};function _detect(curMixin,targetMixin,seen){var guid=guidFor(curMixin);if(seen[guid]){return false}seen[guid]=true;if(curMixin===targetMixin){return true}var mixins=curMixin.mixins,loc=mixins?mixins.length:0;while(--loc>=0){if(_detect(mixins[loc],targetMixin,seen)){return true}}return false}MixinPrototype.detect=function(obj){if(!obj){return false}if(obj instanceof Mixin){return _detect(obj,this,{})}var m=obj[META_KEY],mixins=m&&m.mixins;if(mixins){return!!mixins[guidFor(this)]}return false};MixinPrototype.without=function(){var ret=new Mixin(this);ret._without=a_slice.call(arguments);return ret};function _keys(ret,mixin,seen){if(seen[guidFor(mixin)]){return}seen[guidFor(mixin)]=true;if(mixin.properties){var props=mixin.properties;for(var key in props){if(props.hasOwnProperty(key)){ret[key]=true}}}else if(mixin.mixins){a_forEach.call(mixin.mixins,function(x){_keys(ret,x,seen)})}}MixinPrototype.keys=function(){var keys={},seen={},ret=[];_keys(keys,this,seen);for(var key in keys){if(keys.hasOwnProperty(key)){ret.push(key)}}return ret};Mixin.mixins=function(obj){var m=obj[META_KEY],mixins=m&&m.mixins,ret=[];if(!mixins){return ret}for(var key in mixins){var mixin=mixins[key];if(!mixin.properties){ret.push(mixin)}}return ret};REQUIRED=new Descriptor;REQUIRED.toString=function(){return"(Required Property)"};function required(){return REQUIRED}__exports__.required=required;function Alias(methodName){this.methodName=methodName}Alias.prototype=new Descriptor;function aliasMethod(methodName){return new Alias(methodName)}__exports__.aliasMethod=aliasMethod;function observer(){var func=a_slice.call(arguments,-1)[0];var paths;var addWatchedProperty=function(path){paths.push(path)};var _paths=a_slice.call(arguments,0,-1);if(typeof func!=="function"){func=arguments[0];_paths=a_slice.call(arguments,1)}paths=[];for(var i=0;i<_paths.length;++i){expandProperties(_paths[i],addWatchedProperty)}if(typeof func!=="function"){throw new Ember.Error("Ember.observer called without a function")}func.__ember_observes__=paths;return func}__exports__.observer=observer;function immediateObserver(){for(var i=0,l=arguments.length;i<l;i++){var arg=arguments[i]}return observer.apply(this,arguments)}__exports__.immediateObserver=immediateObserver;function beforeObserver(){var func=a_slice.call(arguments,-1)[0];var paths;var addWatchedProperty=function(path){paths.push(path)};var _paths=a_slice.call(arguments,0,-1);if(typeof func!=="function"){func=arguments[0];_paths=a_slice.call(arguments,1)}paths=[];for(var i=0;i<_paths.length;++i){expandProperties(_paths[i],addWatchedProperty)}if(typeof func!=="function"){throw new Ember.Error("Ember.beforeObserver called without a function")}func.__ember_observesBefore__=paths;return func}__exports__.beforeObserver=beforeObserver;__exports__.IS_BINDING=IS_BINDING;__exports__.Mixin=Mixin});define("ember-metal/observer",["ember-metal/watching","ember-metal/array","ember-metal/events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var watch=__dependency1__.watch;var unwatch=__dependency1__.unwatch;var map=__dependency2__.map;var listenersFor=__dependency3__.listenersFor;var addListener=__dependency3__.addListener;var removeListener=__dependency3__.removeListener;var suspendListeners=__dependency3__.suspendListeners;var suspendListener=__dependency3__.suspendListener;var AFTER_OBSERVERS=":change";var BEFORE_OBSERVERS=":before";function changeEvent(keyName){return keyName+AFTER_OBSERVERS}function beforeEvent(keyName){return keyName+BEFORE_OBSERVERS}function addObserver(obj,_path,target,method){addListener(obj,changeEvent(_path),target,method);
7
+ watch(obj,_path);return this}__exports__.addObserver=addObserver;function observersFor(obj,path){return listenersFor(obj,changeEvent(path))}__exports__.observersFor=observersFor;function removeObserver(obj,_path,target,method){unwatch(obj,_path);removeListener(obj,changeEvent(_path),target,method);return this}__exports__.removeObserver=removeObserver;function addBeforeObserver(obj,_path,target,method){addListener(obj,beforeEvent(_path),target,method);watch(obj,_path);return this}__exports__.addBeforeObserver=addBeforeObserver;function _suspendBeforeObserver(obj,path,target,method,callback){return suspendListener(obj,beforeEvent(path),target,method,callback)}__exports__._suspendBeforeObserver=_suspendBeforeObserver;function _suspendObserver(obj,path,target,method,callback){return suspendListener(obj,changeEvent(path),target,method,callback)}__exports__._suspendObserver=_suspendObserver;function _suspendBeforeObservers(obj,paths,target,method,callback){var events=map.call(paths,beforeEvent);return suspendListeners(obj,events,target,method,callback)}__exports__._suspendBeforeObservers=_suspendBeforeObservers;function _suspendObservers(obj,paths,target,method,callback){var events=map.call(paths,changeEvent);return suspendListeners(obj,events,target,method,callback)}__exports__._suspendObservers=_suspendObservers;function beforeObserversFor(obj,path){return listenersFor(obj,beforeEvent(path))}__exports__.beforeObserversFor=beforeObserversFor;function removeBeforeObserver(obj,_path,target,method){unwatch(obj,_path);removeListener(obj,beforeEvent(_path),target,method);return this}__exports__.removeBeforeObserver=removeBeforeObserver});define("ember-metal/observer_set",["ember-metal/utils","ember-metal/events","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var guidFor=__dependency1__.guidFor;var sendEvent=__dependency2__.sendEvent;__exports__["default"]=ObserverSet;function ObserverSet(){this.clear()}ObserverSet.prototype.add=function(sender,keyName,eventName){var observerSet=this.observerSet,observers=this.observers,senderGuid=guidFor(sender),keySet=observerSet[senderGuid],index;if(!keySet){observerSet[senderGuid]=keySet={}}index=keySet[keyName];if(index===undefined){index=observers.push({sender:sender,keyName:keyName,eventName:eventName,listeners:[]})-1;keySet[keyName]=index}return observers[index].listeners};ObserverSet.prototype.flush=function(){var observers=this.observers,i,len,observer,sender;this.clear();for(i=0,len=observers.length;i<len;++i){observer=observers[i];sender=observer.sender;if(sender.isDestroying||sender.isDestroyed){continue}sendEvent(sender,observer.eventName,[sender,observer.keyName],observer.listeners)}};ObserverSet.prototype.clear=function(){this.observerSet={};this.observers=[]}});define("ember-metal/platform",["ember-metal/core","exports"],function(__dependency1__,__exports__){"use strict";var Ember=__dependency1__["default"];var platform={};var create=Object.create;if(create){if(create({a:1},{a:{value:2}}).a!==2){create=null}}if(!create||Ember.ENV.STUB_OBJECT_CREATE){var K=function(){};create=function(obj,props){K.prototype=obj;obj=new K;if(props){K.prototype=obj;for(var prop in props){K.prototype[prop]=props[prop].value}obj=new K}K.prototype=null;return obj};create.isSimulated=true}var defineProperty=Object.defineProperty;var canRedefineProperties,canDefinePropertyOnDOM;if(defineProperty){try{defineProperty({},"a",{get:function(){}})}catch(e){defineProperty=null}}if(defineProperty){canRedefineProperties=function(){var obj={};defineProperty(obj,"a",{configurable:true,enumerable:true,get:function(){},set:function(){}});defineProperty(obj,"a",{configurable:true,enumerable:true,writable:true,value:true});return obj.a===true}();canDefinePropertyOnDOM=function(){try{defineProperty(document.createElement("div"),"definePropertyOnDOM",{});return true}catch(e){}return false}();if(!canRedefineProperties){defineProperty=null}else if(!canDefinePropertyOnDOM){defineProperty=function(obj,keyName,desc){var isNode;if(typeof Node==="object"){isNode=obj instanceof Node}else{isNode=typeof obj==="object"&&typeof obj.nodeType==="number"&&typeof obj.nodeName==="string"}if(isNode){return obj[keyName]=desc.value}else{return Object.defineProperty(obj,keyName,desc)}}}}platform.defineProperty=defineProperty;platform.hasPropertyAccessors=true;if(!platform.defineProperty){platform.hasPropertyAccessors=false;platform.defineProperty=function(obj,keyName,desc){if(!desc.get){obj[keyName]=desc.value}};platform.defineProperty.isSimulated=true}if(Ember.ENV.MANDATORY_SETTER&&!platform.hasPropertyAccessors){Ember.ENV.MANDATORY_SETTER=false}__exports__.create=create;__exports__.platform=platform});define("ember-metal/properties",["ember-metal/core","ember-metal/utils","ember-metal/platform","ember-metal/property_events","ember-metal/property_get","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var META_KEY=__dependency2__.META_KEY;var meta=__dependency2__.meta;var platform=__dependency3__.platform;var overrideChains=__dependency4__.overrideChains;var get=__dependency5__.get;var set=__dependency6__.set;var metaFor=meta,objectDefineProperty=platform.defineProperty;var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;function Descriptor(){}__exports__.Descriptor=Descriptor;var MANDATORY_SETTER_FUNCTION=Ember.MANDATORY_SETTER_FUNCTION=function(value){};var DEFAULT_GETTER_FUNCTION=Ember.DEFAULT_GETTER_FUNCTION=function DEFAULT_GETTER_FUNCTION(name){return function(){var meta=this[META_KEY];return meta&&meta.values[name]}};function defineProperty(obj,keyName,desc,data,meta){var descs,existingDesc,watching,value;if(!meta)meta=metaFor(obj);descs=meta.descs;existingDesc=meta.descs[keyName];watching=meta.watching[keyName]>0;if(existingDesc instanceof Descriptor){existingDesc.teardown(obj,keyName)}if(desc instanceof Descriptor){value=desc;descs[keyName]=desc;if(MANDATORY_SETTER&&watching){objectDefineProperty(obj,keyName,{configurable:true,enumerable:true,writable:true,value:undefined})}else{obj[keyName]=undefined}if(desc.setup){desc.setup(obj,keyName)}}else{descs[keyName]=undefined;if(desc==null){value=data;if(MANDATORY_SETTER&&watching){meta.values[keyName]=data;objectDefineProperty(obj,keyName,{configurable:true,enumerable:true,set:MANDATORY_SETTER_FUNCTION,get:DEFAULT_GETTER_FUNCTION(keyName)})}else{obj[keyName]=data}}else{value=desc;objectDefineProperty(obj,keyName,desc)}}if(watching){overrideChains(obj,keyName,meta)}if(obj.didDefineProperty){obj.didDefineProperty(obj,keyName,value)}return this}__exports__.defineProperty=defineProperty;function deprecateProperty(object,deprecatedKey,newKey){function deprecate(){}if(platform.hasPropertyAccessors){defineProperty(object,deprecatedKey,{configurable:true,enumerable:false,set:function(value){deprecate();set(object,newKey,value)},get:function(){deprecate();return get(object,newKey)}})}}__exports__.deprecateProperty=deprecateProperty});define("ember-metal/property_events",["ember-metal/utils","ember-metal/events","ember-metal/observer_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var META_KEY=__dependency1__.META_KEY;var guidFor=__dependency1__.guidFor;var tryFinally=__dependency1__.tryFinally;var sendEvent=__dependency2__.sendEvent;var listenersUnion=__dependency2__.listenersUnion;var listenersDiff=__dependency2__.listenersDiff;var ObserverSet=__dependency3__["default"];var beforeObserverSet=new ObserverSet;var observerSet=new ObserverSet;var deferred=0;function propertyWillChange(obj,keyName){var m=obj[META_KEY],watching=m&&m.watching[keyName]>0||keyName==="length",proto=m&&m.proto,desc=m&&m.descs[keyName];if(!watching){return}if(proto===obj){return}if(desc&&desc.willChange){desc.willChange(obj,keyName)}dependentKeysWillChange(obj,keyName,m);chainsWillChange(obj,keyName,m);notifyBeforeObservers(obj,keyName)}function propertyDidChange(obj,keyName){var m=obj[META_KEY],watching=m&&m.watching[keyName]>0||keyName==="length",proto=m&&m.proto,desc=m&&m.descs[keyName];if(proto===obj){return}if(desc&&desc.didChange){desc.didChange(obj,keyName)}if(!watching&&keyName!=="length"){return}dependentKeysDidChange(obj,keyName,m);chainsDidChange(obj,keyName,m,false);notifyObservers(obj,keyName)}var WILL_SEEN,DID_SEEN;function dependentKeysWillChange(obj,depKey,meta){if(obj.isDestroying){return}var seen=WILL_SEEN,top=!seen;if(top){seen=WILL_SEEN={}}iterDeps(propertyWillChange,obj,depKey,seen,meta);if(top){WILL_SEEN=null}}function dependentKeysDidChange(obj,depKey,meta){if(obj.isDestroying){return}var seen=DID_SEEN,top=!seen;if(top){seen=DID_SEEN={}}iterDeps(propertyDidChange,obj,depKey,seen,meta);if(top){DID_SEEN=null}}function iterDeps(method,obj,depKey,seen,meta){var guid=guidFor(obj);if(!seen[guid])seen[guid]={};if(seen[guid][depKey])return;seen[guid][depKey]=true;var deps=meta.deps;deps=deps&&deps[depKey];if(deps){for(var key in deps){var desc=meta.descs[key];if(desc&&desc._suspended===obj)continue;method(obj,key)}}}function chainsWillChange(obj,keyName,m){if(!(m.hasOwnProperty("chainWatchers")&&m.chainWatchers[keyName])){return}var nodes=m.chainWatchers[keyName],events=[],i,l;for(i=0,l=nodes.length;i<l;i++){nodes[i].willChange(events)}for(i=0,l=events.length;i<l;i+=2){propertyWillChange(events[i],events[i+1])}}function chainsDidChange(obj,keyName,m,suppressEvents){if(!(m&&m.hasOwnProperty("chainWatchers")&&m.chainWatchers[keyName])){return}var nodes=m.chainWatchers[keyName],events=suppressEvents?null:[],i,l;for(i=0,l=nodes.length;i<l;i++){nodes[i].didChange(events)}if(suppressEvents){return}for(i=0,l=events.length;i<l;i+=2){propertyDidChange(events[i],events[i+1])}}function overrideChains(obj,keyName,m){chainsDidChange(obj,keyName,m,true)}function beginPropertyChanges(){deferred++}function endPropertyChanges(){deferred--;if(deferred<=0){beforeObserverSet.clear();observerSet.flush()}}function changeProperties(cb,binding){beginPropertyChanges();tryFinally(cb,endPropertyChanges,binding)}function notifyBeforeObservers(obj,keyName){if(obj.isDestroying){return}var eventName=keyName+":before",listeners,diff;if(deferred){listeners=beforeObserverSet.add(obj,keyName,eventName);diff=listenersDiff(obj,eventName,listeners);sendEvent(obj,eventName,[obj,keyName],diff)}else{sendEvent(obj,eventName,[obj,keyName])}}function notifyObservers(obj,keyName){if(obj.isDestroying){return}var eventName=keyName+":change",listeners;if(deferred){listeners=observerSet.add(obj,keyName,eventName);listenersUnion(obj,eventName,listeners)}else{sendEvent(obj,eventName,[obj,keyName])}}__exports__.propertyWillChange=propertyWillChange;__exports__.propertyDidChange=propertyDidChange;__exports__.overrideChains=overrideChains;__exports__.beginPropertyChanges=beginPropertyChanges;__exports__.endPropertyChanges=endPropertyChanges;__exports__.changeProperties=changeProperties});define("ember-metal/property_get",["ember-metal/core","ember-metal/utils","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var META_KEY=__dependency2__.META_KEY;var EmberError=__dependency3__["default"];var get;var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var IS_GLOBAL_PATH=/^([A-Z$]|([0-9][A-Z$])).*[\.]/;var HAS_THIS="this.";var FIRST_KEY=/^([^\.]+)/;var get=function get(obj,keyName){if(keyName===""){return obj}if(!keyName&&"string"===typeof obj){keyName=obj;obj=null}if(obj===null){return _getPath(obj,keyName)}var meta=obj[META_KEY],desc=meta&&meta.descs[keyName],ret;if(desc===undefined&&keyName.indexOf(".")!==-1){return _getPath(obj,keyName)}if(desc){return desc.get(obj,keyName)}else{if(MANDATORY_SETTER&&meta&&meta.watching[keyName]>0){ret=meta.values[keyName]}else{ret=obj[keyName]}if(ret===undefined&&"object"===typeof obj&&!(keyName in obj)&&"function"===typeof obj.unknownProperty){return obj.unknownProperty(keyName)}return ret}};if(Ember.config.overrideAccessors){Ember.get=get;Ember.config.overrideAccessors();get=Ember.get}function normalizeTuple(target,path){var hasThis=path.indexOf(HAS_THIS)===0,isGlobal=!hasThis&&IS_GLOBAL_PATH.test(path),key;if(!target||isGlobal)target=Ember.lookup;if(hasThis)path=path.slice(5);if(target===Ember.lookup){key=path.match(FIRST_KEY)[0];target=get(target,key);path=path.slice(key.length+1)}if(!path||path.length===0)throw new EmberError("Path cannot be empty");return[target,path]}function _getPath(root,path){var hasThis,parts,tuple,idx,len;if(root===null&&path.indexOf(".")===-1){return get(Ember.lookup,path)}hasThis=path.indexOf(HAS_THIS)===0;if(!root||hasThis){tuple=normalizeTuple(root,path);root=tuple[0];path=tuple[1];tuple.length=0}parts=path.split(".");len=parts.length;for(idx=0;root!=null&&idx<len;idx++){root=get(root,parts[idx],true);if(root&&root.isDestroyed){return undefined}}return root}function getWithDefault(root,key,defaultValue){var value=get(root,key);if(value===undefined){return defaultValue}return value}__exports__.getWithDefault=getWithDefault;__exports__["default"]=get;__exports__.get=get;__exports__.normalizeTuple=normalizeTuple;__exports__._getPath=_getPath});define("ember-metal/property_set",["ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/property_events","ember-metal/properties","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var getPath=__dependency2__._getPath;var META_KEY=__dependency3__.META_KEY;var propertyWillChange=__dependency4__.propertyWillChange;var propertyDidChange=__dependency4__.propertyDidChange;var defineProperty=__dependency5__.defineProperty;var EmberError=__dependency6__["default"];var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var IS_GLOBAL=/^([A-Z$]|([0-9][A-Z$]))/;var set=function set(obj,keyName,value,tolerant){if(typeof obj==="string"){value=keyName;keyName=obj;obj=null}if(!obj){return setPath(obj,keyName,value,tolerant)}var meta=obj[META_KEY],desc=meta&&meta.descs[keyName],isUnknown,currentValue;if(desc===undefined&&keyName.indexOf(".")!==-1){return setPath(obj,keyName,value,tolerant)}if(desc!==undefined){desc.set(obj,keyName,value)}else{if(typeof obj==="object"&&obj!==null&&value!==undefined&&obj[keyName]===value){return value}isUnknown="object"===typeof obj&&!(keyName in obj);if(isUnknown&&"function"===typeof obj.setUnknownProperty){obj.setUnknownProperty(keyName,value)}else if(meta&&meta.watching[keyName]>0){if(MANDATORY_SETTER){currentValue=meta.values[keyName]}else{currentValue=obj[keyName]}if(value!==currentValue){propertyWillChange(obj,keyName);if(MANDATORY_SETTER){if(currentValue===undefined&&!(keyName in obj)||!obj.propertyIsEnumerable(keyName)){defineProperty(obj,keyName,null,value)}else{meta.values[keyName]=value}}else{obj[keyName]=value}propertyDidChange(obj,keyName)}}else{obj[keyName]=value}}return value};if(Ember.config.overrideAccessors){Ember.set=set;Ember.config.overrideAccessors();set=Ember.set}function setPath(root,path,value,tolerant){var keyName;keyName=path.slice(path.lastIndexOf(".")+1);path=path===keyName?keyName:path.slice(0,path.length-(keyName.length+1));if(path!=="this"){root=getPath(root,path)}if(!keyName||keyName.length===0){throw new EmberError("Property set failed: You passed an empty path")}if(!root){if(tolerant){return}else{throw new EmberError('Property set failed: object in path "'+path+'" could not be found or was destroyed.')}}return set(root,keyName,value)}function trySet(root,path,value){return set(root,path,value,true)}__exports__.trySet=trySet;__exports__.set=set});define("ember-metal/run_loop",["ember-metal/core","ember-metal/utils","ember-metal/array","ember-metal/property_events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var Ember=__dependency1__["default"];var apply=__dependency2__.apply;var indexOf=__dependency3__.indexOf;var beginPropertyChanges=__dependency4__.beginPropertyChanges;var endPropertyChanges=__dependency4__.endPropertyChanges;function onBegin(current){run.currentRunLoop=current}function onEnd(current,next){run.currentRunLoop=next}var Backburner=requireModule("backburner").Backburner;var backburner=new Backburner(["sync","actions","destroy"],{sync:{before:beginPropertyChanges,after:endPropertyChanges},defaultQueue:"actions",onBegin:onBegin,onEnd:onEnd,onErrorTarget:Ember,onErrorMethod:"onerror"});var slice=[].slice;var concat=[].concat;__exports__["default"]=run;function run(){return apply(backburner,backburner.run,arguments)}run.join=function(target,method){if(!run.currentRunLoop){return apply(Ember,run,arguments)}var args=slice.call(arguments);args.unshift("actions");apply(run,run.schedule,args)};run.bind=function(target,method){var args=slice.call(arguments);return function(){return apply(run,run.join,args.concat(slice.call(arguments)))}};run.backburner=backburner;run.currentRunLoop=null;run.queues=backburner.queueNames;run.begin=function(){backburner.begin()};run.end=function(){backburner.end()};run.schedule=function(queue,target,method){checkAutoRun();apply(backburner,backburner.schedule,arguments)};run.hasScheduledTimers=function(){return backburner.hasTimers()};run.cancelTimers=function(){backburner.cancelTimers()};run.sync=function(){if(backburner.currentInstance){backburner.currentInstance.queues.sync.flush()}};run.later=function(target,method){return apply(backburner,backburner.later,arguments)};run.once=function(target,method){checkAutoRun();var args=slice.call(arguments);args.unshift("actions");return apply(backburner,backburner.scheduleOnce,args)};run.scheduleOnce=function(queue,target,method){checkAutoRun();return apply(backburner,backburner.scheduleOnce,arguments)};run.next=function(){var args=slice.call(arguments);args.push(1);return apply(backburner,backburner.later,args)};run.cancel=function(timer){return backburner.cancel(timer)};run.debounce=function(){return apply(backburner,backburner.debounce,arguments)};run.throttle=function(){return apply(backburner,backburner.throttle,arguments)};function checkAutoRun(){if(!run.currentRunLoop){}}run._addQueue=function(name,after){if(indexOf.call(run.queues,name)===-1){run.queues.splice(indexOf.call(run.queues,after)+1,0,name)}}});define("ember-metal/set_properties",["ember-metal/property_events","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var changeProperties=__dependency1__.changeProperties;var set=__dependency2__.set;__exports__["default"]=function setProperties(self,hash){changeProperties(function(){for(var prop in hash){if(hash.hasOwnProperty(prop)){set(self,prop,hash[prop])}}});return self}});define("ember-metal/utils",["ember-metal/core","ember-metal/platform","ember-metal/array","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var platform=__dependency2__.platform;var create=__dependency2__.create;var forEach=__dependency3__.forEach;var _uuid=0;function uuid(){return++_uuid}__exports__.uuid=uuid;var GUID_PREFIX="ember";var o_defineProperty=platform.defineProperty;var o_create=create;var numberCache=[];var stringCache={};var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var GUID_KEY="__ember"+ +new Date;var GUID_DESC={writable:false,configurable:false,enumerable:false,value:null};function generateGuid(obj,prefix){if(!prefix)prefix=GUID_PREFIX;var ret=prefix+uuid();if(obj){if(obj[GUID_KEY]===null){obj[GUID_KEY]=ret}else{GUID_DESC.value=ret;o_defineProperty(obj,GUID_KEY,GUID_DESC)}}return ret}__exports__.generateGuid=generateGuid;function guidFor(obj){if(obj===undefined)return"(undefined)";if(obj===null)return"(null)";var ret;var type=typeof obj;switch(type){case"number":ret=numberCache[obj];if(!ret)ret=numberCache[obj]="nu"+obj;return ret;case"string":ret=stringCache[obj];if(!ret)ret=stringCache[obj]="st"+uuid();return ret;case"boolean":return obj?"(true)":"(false)";default:if(obj[GUID_KEY])return obj[GUID_KEY];if(obj===Object)return"(Object)";if(obj===Array)return"(Array)";ret="ember"+uuid();if(obj[GUID_KEY]===null){obj[GUID_KEY]=ret}else{GUID_DESC.value=ret;o_defineProperty(obj,GUID_KEY,GUID_DESC)}return ret}}__exports__.guidFor=guidFor;var META_DESC={writable:true,configurable:false,enumerable:false,value:null};var META_KEY="__ember_meta__";var isDefinePropertySimulated=platform.defineProperty.isSimulated;function Meta(obj){this.descs={};this.watching={};this.cache={};this.cacheMeta={};this.source=obj}Meta.prototype={descs:null,deps:null,watching:null,listeners:null,cache:null,cacheMeta:null,source:null,mixins:null,bindings:null,chains:null,chainWatchers:null,values:null,proto:null};if(isDefinePropertySimulated){Meta.prototype.__preventPlainObject__=true;Meta.prototype.toJSON=function(){}}var EMPTY_META=new Meta(null);if(MANDATORY_SETTER){EMPTY_META.values={}}function meta(obj,writable){var ret=obj[META_KEY];if(writable===false)return ret||EMPTY_META;if(!ret){if(!isDefinePropertySimulated)o_defineProperty(obj,META_KEY,META_DESC);ret=new Meta(obj);if(MANDATORY_SETTER){ret.values={}}obj[META_KEY]=ret;ret.descs.constructor=null}else if(ret.source!==obj){if(!isDefinePropertySimulated)o_defineProperty(obj,META_KEY,META_DESC);ret=o_create(ret);ret.descs=o_create(ret.descs);ret.watching=o_create(ret.watching);ret.cache={};ret.cacheMeta={};ret.source=obj;if(MANDATORY_SETTER){ret.values=o_create(ret.values)}obj[META_KEY]=ret}return ret}function getMeta(obj,property){var _meta=meta(obj,false);return _meta[property]}__exports__.getMeta=getMeta;function setMeta(obj,property,value){var _meta=meta(obj,true);_meta[property]=value;return value}__exports__.setMeta=setMeta;function metaPath(obj,path,writable){var _meta=meta(obj,writable),keyName,value;for(var i=0,l=path.length;i<l;i++){keyName=path[i];value=_meta[keyName];if(!value){if(!writable){return undefined}value=_meta[keyName]={__ember_source__:obj}}else if(value.__ember_source__!==obj){if(!writable){return undefined}value=_meta[keyName]=o_create(value);value.__ember_source__=obj}_meta=value}return value}__exports__.metaPath=metaPath;function wrap(func,superFunc){function superWrapper(){var ret,sup=this.__nextSuper;this.__nextSuper=superFunc;ret=apply(this,func,arguments);this.__nextSuper=sup;return ret}superWrapper.wrappedFunction=func;superWrapper.wrappedFunction.__ember_arity__=func.length;superWrapper.__ember_observes__=func.__ember_observes__;superWrapper.__ember_observesBefore__=func.__ember_observesBefore__;superWrapper.__ember_listens__=func.__ember_listens__;return superWrapper}__exports__.wrap=wrap;var EmberArray;function isArray(obj){var modulePath,type;if(typeof EmberArray==="undefined"){modulePath="ember-runtime/mixins/array";if(Ember.__loader.registry[modulePath]){EmberArray=Ember.__loader.require(modulePath)["default"]}}if(!obj||obj.setInterval){return false}if(Array.isArray&&Array.isArray(obj)){return true}if(EmberArray&&EmberArray.detect(obj)){return true}type=typeOf(obj);if("array"===type){return true}if(obj.length!==undefined&&"object"===type){return true}return false}function makeArray(obj){if(obj===null||obj===undefined){return[]}return isArray(obj)?obj:[obj]}__exports__.makeArray=makeArray;function canInvoke(obj,methodName){return!!(obj&&typeof obj[methodName]==="function")}function tryInvoke(obj,methodName,args){if(canInvoke(obj,methodName)){return args?applyStr(obj,methodName,args):applyStr(obj,methodName)}}__exports__.tryInvoke=tryInvoke;var needsFinallyFix=function(){var count=0;try{try{}finally{count++;throw new Error("needsFinallyFixTest")}}catch(e){}return count!==1}();var tryFinally;if(needsFinallyFix){tryFinally=function(tryable,finalizer,binding){var result,finalResult,finalError;binding=binding||this;try{result=tryable.call(binding)}finally{try{finalResult=finalizer.call(binding)}catch(e){finalError=e}}if(finalError){throw finalError}return finalResult===undefined?result:finalResult}}else{tryFinally=function(tryable,finalizer,binding){var result,finalResult;binding=binding||this;try{result=tryable.call(binding)}finally{finalResult=finalizer.call(binding)}return finalResult===undefined?result:finalResult}}var tryCatchFinally;if(needsFinallyFix){tryCatchFinally=function(tryable,catchable,finalizer,binding){var result,finalResult,finalError;binding=binding||this;try{result=tryable.call(binding)}catch(error){result=catchable.call(binding,error)}finally{try{finalResult=finalizer.call(binding)}catch(e){finalError=e}}if(finalError){throw finalError}return finalResult===undefined?result:finalResult}}else{tryCatchFinally=function(tryable,catchable,finalizer,binding){var result,finalResult;binding=binding||this;try{result=tryable.call(binding)}catch(error){result=catchable.call(binding,error)}finally{finalResult=finalizer.call(binding)}return finalResult===undefined?result:finalResult}}var TYPE_MAP={};var t="Boolean Number String Function Array Date RegExp Object".split(" ");forEach.call(t,function(name){TYPE_MAP["[object "+name+"]"]=name.toLowerCase()});var toString=Object.prototype.toString;var EmberObject;function typeOf(item){var ret,modulePath;if(typeof EmberObject==="undefined"){modulePath="ember-runtime/system/object";if(Ember.__loader.registry[modulePath]){EmberObject=Ember.__loader.require(modulePath)["default"]}}ret=item===null||item===undefined?String(item):TYPE_MAP[toString.call(item)]||"object";if(ret==="function"){if(EmberObject&&EmberObject.detect(item))ret="class"}else if(ret==="object"){if(item instanceof Error)ret="error";else if(EmberObject&&item instanceof EmberObject)ret="instance";else if(item instanceof Date)ret="date"}return ret}function inspect(obj){var type=typeOf(obj);if(type==="array"){return"["+obj+"]"}if(type!=="object"){return obj+""}var v,ret=[];for(var key in obj){if(obj.hasOwnProperty(key)){v=obj[key];if(v==="toString"){continue}if(typeOf(v)==="function"){v="function() { ... }"}ret.push(key+": "+v)}}return"{"+ret.join(", ")+"}"}__exports__.inspect=inspect;function apply(t,m,a){var l=a&&a.length;if(!a||!l){return m.call(t)}switch(l){case 1:return m.call(t,a[0]);case 2:return m.call(t,a[0],a[1]);case 3:return m.call(t,a[0],a[1],a[2]);case 4:return m.call(t,a[0],a[1],a[2],a[3]);case 5:return m.call(t,a[0],a[1],a[2],a[3],a[4]);default:return m.apply(t,a)}}__exports__.apply=apply;function applyStr(t,m,a){var l=a&&a.length;if(!a||!l){return t[m]()}switch(l){case 1:return t[m](a[0]);case 2:return t[m](a[0],a[1]);case 3:return t[m](a[0],a[1],a[2]);case 4:return t[m](a[0],a[1],a[2],a[3]);case 5:return t[m](a[0],a[1],a[2],a[3],a[4]);default:return t[m].apply(t,a)}}__exports__.applyStr=applyStr;__exports__.GUID_KEY=GUID_KEY;__exports__.GUID_PREFIX=GUID_PREFIX;__exports__.META_DESC=META_DESC;__exports__.EMPTY_META=EMPTY_META;__exports__.META_KEY=META_KEY;__exports__.meta=meta;__exports__.typeOf=typeOf;__exports__.tryCatchFinally=tryCatchFinally;__exports__.isArray=isArray;__exports__.canInvoke=canInvoke;__exports__.tryFinally=tryFinally});define("ember-metal/watch_key",["ember-metal/core","ember-metal/utils","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var meta=__dependency2__.meta;var typeOf=__dependency2__.typeOf;var platform=__dependency3__.platform;var metaFor=meta;var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var o_defineProperty=platform.defineProperty;function watchKey(obj,keyName,meta){if(keyName==="length"&&typeOf(obj)==="array"){return}var m=meta||metaFor(obj),watching=m.watching;if(!watching[keyName]){watching[keyName]=1;var desc=m.descs[keyName];if(desc&&desc.willWatch){desc.willWatch(obj,keyName)}if("function"===typeof obj.willWatchProperty){obj.willWatchProperty(keyName)}if(MANDATORY_SETTER&&keyName in obj){m.values[keyName]=obj[keyName];o_defineProperty(obj,keyName,{configurable:true,enumerable:obj.propertyIsEnumerable(keyName),set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(keyName)})}}else{watching[keyName]=(watching[keyName]||0)+1}}__exports__.watchKey=watchKey;function unwatchKey(obj,keyName,meta){var m=meta||metaFor(obj),watching=m.watching;if(watching[keyName]===1){watching[keyName]=0;var desc=m.descs[keyName];if(desc&&desc.didUnwatch){desc.didUnwatch(obj,keyName)}if("function"===typeof obj.didUnwatchProperty){obj.didUnwatchProperty(keyName)}if(MANDATORY_SETTER&&keyName in obj){o_defineProperty(obj,keyName,{configurable:true,enumerable:obj.propertyIsEnumerable(keyName),set:function(val){o_defineProperty(obj,keyName,{configurable:true,writable:true,enumerable:true,value:val});delete m.values[keyName]},get:Ember.DEFAULT_GETTER_FUNCTION(keyName)})}}else if(watching[keyName]>1){watching[keyName]--}}__exports__.unwatchKey=unwatchKey});define("ember-metal/watch_path",["ember-metal/utils","ember-metal/chains","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var meta=__dependency1__.meta;var typeOf=__dependency1__.typeOf;var ChainNode=__dependency2__.ChainNode;var metaFor=meta;function chainsFor(obj,meta){var m=meta||metaFor(obj),ret=m.chains;if(!ret){ret=m.chains=new ChainNode(null,null,obj)}else if(ret.value()!==obj){ret=m.chains=ret.copy(obj)}return ret}function watchPath(obj,keyPath,meta){if(keyPath==="length"&&typeOf(obj)==="array"){return}var m=meta||metaFor(obj),watching=m.watching;if(!watching[keyPath]){watching[keyPath]=1;chainsFor(obj,m).add(keyPath)}else{watching[keyPath]=(watching[keyPath]||0)+1}}__exports__.watchPath=watchPath;function unwatchPath(obj,keyPath,meta){var m=meta||metaFor(obj),watching=m.watching;if(watching[keyPath]===1){watching[keyPath]=0;chainsFor(obj,m).remove(keyPath)}else if(watching[keyPath]>1){watching[keyPath]--}}__exports__.unwatchPath=unwatchPath});define("ember-metal/watching",["ember-metal/utils","ember-metal/chains","ember-metal/watch_key","ember-metal/watch_path","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var meta=__dependency1__.meta;var META_KEY=__dependency1__.META_KEY;var GUID_KEY=__dependency1__.GUID_KEY;var typeOf=__dependency1__.typeOf;var generateGuid=__dependency1__.generateGuid;var removeChainWatcher=__dependency2__.removeChainWatcher;var flushPendingChains=__dependency2__.flushPendingChains;var watchKey=__dependency3__.watchKey;var unwatchKey=__dependency3__.unwatchKey;var watchPath=__dependency4__.watchPath;var unwatchPath=__dependency4__.unwatchPath;var metaFor=meta;function isKeyName(path){return path.indexOf(".")===-1}function watch(obj,_keyPath,m){if(_keyPath==="length"&&typeOf(obj)==="array"){return}if(isKeyName(_keyPath)){watchKey(obj,_keyPath,m)}else{watchPath(obj,_keyPath,m)}}__exports__.watch=watch;function isWatching(obj,key){var meta=obj[META_KEY];return(meta&&meta.watching[key])>0}__exports__.isWatching=isWatching;watch.flushPending=flushPendingChains;function unwatch(obj,_keyPath,m){if(_keyPath==="length"&&typeOf(obj)==="array"){return}if(isKeyName(_keyPath)){unwatchKey(obj,_keyPath,m)}else{unwatchPath(obj,_keyPath,m)}}__exports__.unwatch=unwatch;function rewatch(obj){var m=obj[META_KEY],chains=m&&m.chains;if(GUID_KEY in obj&&!obj.hasOwnProperty(GUID_KEY)){generateGuid(obj)}if(chains&&chains.value()!==obj){m.chains=chains.copy(obj)}}__exports__.rewatch=rewatch;var NODE_STACK=[];function destroy(obj){var meta=obj[META_KEY],node,nodes,key,nodeObject;if(meta){obj[META_KEY]=null;node=meta.chains;if(node){NODE_STACK.push(node);while(NODE_STACK.length>0){node=NODE_STACK.pop();nodes=node._chains;if(nodes){for(key in nodes){if(nodes.hasOwnProperty(key)){NODE_STACK.push(nodes[key])}}}if(node._watching){nodeObject=node._object;if(nodeObject){removeChainWatcher(nodeObject,node._key,node)}}}}}}__exports__.destroy=destroy});define("ember-routing-handlebars",["ember-metal/core","ember-handlebars","ember-routing/system/router","ember-routing-handlebars/helpers/shared","ember-routing-handlebars/helpers/link_to","ember-routing-handlebars/helpers/outlet","ember-routing-handlebars/helpers/render","ember-routing-handlebars/helpers/action","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";
8
+ var Ember=__dependency1__["default"];var EmberHandlebars=__dependency2__["default"];var Router=__dependency3__["default"];var resolvePaths=__dependency4__.resolvePaths;var resolveParams=__dependency4__.resolveParams;var deprecatedLinkToHelper=__dependency5__.deprecatedLinkToHelper;var linkToHelper=__dependency5__.linkToHelper;var LinkView=__dependency5__.LinkView;var outletHelper=__dependency6__.outletHelper;var OutletView=__dependency6__.OutletView;var renderHelper=__dependency7__["default"];var ActionHelper=__dependency8__.ActionHelper;var actionHelper=__dependency8__.actionHelper;Router.resolveParams=resolveParams;Router.resolvePaths=resolvePaths;Ember.LinkView=LinkView;EmberHandlebars.ActionHelper=ActionHelper;EmberHandlebars.OutletView=OutletView;EmberHandlebars.registerHelper("render",renderHelper);EmberHandlebars.registerHelper("action",actionHelper);EmberHandlebars.registerHelper("outlet",outletHelper);EmberHandlebars.registerHelper("link-to",linkToHelper);EmberHandlebars.registerHelper("linkTo",deprecatedLinkToHelper);__exports__["default"]=Ember});define("ember-routing-handlebars/helpers/action",["ember-metal/core","ember-metal/property_get","ember-metal/array","ember-metal/utils","ember-metal/run_loop","ember-views/system/utils","ember-routing/system/router","ember-handlebars","ember-handlebars/ext","ember-handlebars/helpers/view","ember-routing-handlebars/helpers/shared","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var forEach=__dependency3__.forEach;var uuid=__dependency4__.uuid;var run=__dependency5__["default"];var isSimpleClick=__dependency6__.isSimpleClick;var EmberRouter=__dependency7__["default"];var EmberHandlebars=__dependency8__["default"];var handlebarsGet=__dependency9__.handlebarsGet;var viewHelper=__dependency10__.viewHelper;var resolveParams=__dependency11__.resolveParams;var resolvePath=__dependency11__.resolvePath;var SafeString=EmberHandlebars.SafeString;var a_slice=Array.prototype.slice;function args(options,actionName){var ret=[];if(actionName){ret.push(actionName)}var types=options.options.types.slice(1),data=options.options.data;return ret.concat(resolveParams(options.context,options.params,{types:types,data:data}))}var ActionHelper={registeredActions:{}};__exports__.ActionHelper=ActionHelper;var keys=["alt","shift","meta","ctrl"];var POINTER_EVENT_TYPE_REGEX=/^click|mouse|touch/;var isAllowedEvent=function(event,allowedKeys){if(typeof allowedKeys==="undefined"){if(POINTER_EVENT_TYPE_REGEX.test(event.type)){return isSimpleClick(event)}else{allowedKeys=""}}if(allowedKeys.indexOf("any")>=0){return true}var allowed=true;forEach.call(keys,function(key){if(event[key+"Key"]&&allowedKeys.indexOf(key)===-1){allowed=false}});return allowed};ActionHelper.registerAction=function(actionNameOrPath,options,allowedKeys){var actionId=uuid();ActionHelper.registeredActions[actionId]={eventName:options.eventName,handler:function handleRegisteredAction(event){if(!isAllowedEvent(event,allowedKeys)){return true}if(options.preventDefault!==false){event.preventDefault()}if(options.bubbles===false){event.stopPropagation()}var target=options.target,parameters=options.parameters,actionName;if(target.target){target=handlebarsGet(target.root,target.target,target.options)}else{target=target.root}if(options.boundProperty){actionName=resolveParams(parameters.context,[actionNameOrPath],{types:["ID"],data:parameters.options.data})[0];if(typeof actionName==="undefined"||typeof actionName==="function"){actionName=actionNameOrPath}}if(!actionName){actionName=actionNameOrPath}run(function runRegisteredAction(){if(target.send){target.send.apply(target,args(parameters,actionName))}else{target[actionName].apply(target,args(parameters))}})}};options.view.on("willClearRender",function(){delete ActionHelper.registeredActions[actionId]});return actionId};function actionHelper(actionName){var options=arguments[arguments.length-1],contexts=a_slice.call(arguments,1,-1);var hash=options.hash,controller=options.data.keywords.controller;var action={eventName:hash.on||"click",parameters:{context:this,options:options,params:contexts},view:options.data.view,bubbles:hash.bubbles,preventDefault:hash.preventDefault,target:{options:options},boundProperty:options.types[0]==="ID"};if(hash.target){action.target.root=this;action.target.target=hash.target}else if(controller){action.target.root=controller}var actionId=ActionHelper.registerAction(actionName,action,hash.allowedKeys);return new SafeString('data-ember-action="'+actionId+'"')}__exports__.actionHelper=actionHelper});define("ember-routing-handlebars/helpers/link_to",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/merge","ember-metal/run_loop","ember-metal/computed","ember-runtime/system/lazy_load","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/keys","ember-views/system/utils","ember-views/views/component","ember-handlebars","ember-handlebars/helpers/view","ember-routing/system/router","ember-routing-handlebars/helpers/shared","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var merge=__dependency4__["default"];var run=__dependency5__["default"];var computed=__dependency6__.computed;var onLoad=__dependency7__.onLoad;var fmt=__dependency8__.fmt;var EmberObject=__dependency9__["default"];var keys=__dependency10__["default"];var isSimpleClick=__dependency11__.isSimpleClick;var EmberComponent=__dependency12__["default"];var EmberHandlebars=__dependency13__["default"];var viewHelper=__dependency14__.viewHelper;var EmberRouter=__dependency15__["default"];var resolveParams=__dependency16__.resolveParams;var resolvePaths=__dependency16__.resolvePaths;var routeArgs=__dependency16__.routeArgs;var slice=[].slice;requireModule("ember-handlebars");var numberOfContextsAcceptedByHandler=function(handler,handlerInfos){var req=0;for(var i=0,l=handlerInfos.length;i<l;i++){req=req+handlerInfos[i].names.length;if(handlerInfos[i].handler===handler)break}return req};var QueryParams=EmberObject.extend({values:null});function getResolvedPaths(options){var types=options.options.types,data=options.options.data;return resolvePaths(options.context,options.params,{types:types,data:data})}var LinkView=Ember.LinkView=EmberComponent.extend({tagName:"a",currentWhen:null,title:null,rel:null,activeClass:"active",loadingClass:"loading",disabledClass:"disabled",_isDisabled:false,replace:false,attributeBindings:["href","title","rel"],classNameBindings:["active","loading","disabled"],eventName:"click",init:function(){this._super.apply(this,arguments);var eventName=get(this,"eventName");this.on(eventName,this,this._invoke)},_paramsChanged:function(){this.notifyPropertyChange("resolvedParams")},_setupPathObservers:function(){var helperParameters=this.parameters,linkTextPath=helperParameters.options.linkTextPath,paths=getResolvedPaths(helperParameters),length=paths.length,path,i,normalizedPath;if(linkTextPath){normalizedPath=getNormalizedPath(linkTextPath,helperParameters);this.registerObserver(normalizedPath.root,normalizedPath.path,this,this.rerender)}for(i=0;i<length;i++){path=paths[i];if(null===path){continue}normalizedPath=getNormalizedPath(path,helperParameters);this.registerObserver(normalizedPath.root,normalizedPath.path,this,this._paramsChanged)}var queryParamsObject=this.queryParamsObject;if(queryParamsObject){var values=queryParamsObject.values;for(var k in values){if(!values.hasOwnProperty(k)){continue}if(queryParamsObject.types[k]==="ID"){normalizedPath=getNormalizedPath(values[k],helperParameters);this.registerObserver(normalizedPath.root,normalizedPath.path,this,this._paramsChanged)}}}},afterRender:function(){this._super.apply(this,arguments);this._setupPathObservers()},disabled:computed(function computeLinkViewDisabled(key,value){if(value!==undefined){this.set("_isDisabled",value)}return value?get(this,"disabledClass"):false}),active:computed("loadedParams",function computeLinkViewActive(){if(get(this,"loading")){return false}var router=get(this,"router"),loadedParams=get(this,"loadedParams"),contexts=loadedParams.models,currentWhen=this.currentWhen||loadedParams.targetRouteName,handlers=router.router.recognizer.handlersFor(currentWhen),leafName=handlers[handlers.length-1].handler,maximumContexts=numberOfContextsAcceptedByHandler(currentWhen,handlers);if(contexts.length>maximumContexts){currentWhen=leafName}var args=routeArgs(currentWhen,contexts,null);var isActive=router.isActive.apply(router,args);if(!isActive){return false}if(!this.currentWhen&&leafName===loadedParams.targetRouteName){var visibleQueryParams={};merge(visibleQueryParams,loadedParams.queryParams);router._prepareQueryParams(loadedParams.targetRouteName,loadedParams.models,visibleQueryParams);isActive=shallowEqual(visibleQueryParams,router.router.state.queryParams)}if(isActive){return get(this,"activeClass")}}),loading:computed("loadedParams",function computeLinkViewLoading(){if(!get(this,"loadedParams")){return get(this,"loadingClass")}}),router:computed(function(){return get(this,"controller").container.lookup("router:main")}),_invoke:function(event){if(!isSimpleClick(event)){return true}if(this.preventDefault!==false){event.preventDefault()}if(this.bubbles===false){event.stopPropagation()}if(get(this,"_isDisabled")){return false}if(get(this,"loading")){Ember.Logger.warn("This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid.");return false}var router=get(this,"router"),loadedParams=get(this,"loadedParams");var transition=router._doTransition(loadedParams.targetRouteName,loadedParams.models,loadedParams.queryParams);if(get(this,"replace")){transition.method("replace")}var args=routeArgs(loadedParams.targetRouteName,loadedParams.models,transition.state.queryParams);var url=router.router.generate.apply(router.router,args);run.scheduleOnce("routerTransitions",this,this._eagerUpdateUrl,transition,url)},_eagerUpdateUrl:function(transition,href){if(!transition.isActive||!transition.urlMethod){return}if(href.indexOf("#")===0){href=href.slice(1)}var routerjs=get(this,"router.router");if(transition.urlMethod==="update"){routerjs.updateURL(href)}else if(transition.urlMethod==="replace"){routerjs.replaceURL(href)}transition.method(null)},resolvedParams:computed("router.url",function(){var parameters=this.parameters,options=parameters.options,types=options.types,data=options.data,targetRouteName,models;var onlyQueryParamsSupplied=parameters.params.length===0;if(onlyQueryParamsSupplied){var appController=this.container.lookup("controller:application");targetRouteName=get(appController,"currentRouteName");models=[]}else{models=resolveParams(parameters.context,parameters.params,{types:types,data:data});targetRouteName=models.shift()}var suppliedQueryParams=getResolvedQueryParams(this,targetRouteName);return{targetRouteName:targetRouteName,models:models,queryParams:suppliedQueryParams}}),loadedParams:computed("resolvedParams",function computeLinkViewRouteArgs(){var resolvedParams=get(this,"resolvedParams"),router=get(this,"router"),namedRoute=resolvedParams.targetRouteName;if(!namedRoute){return}if(!paramsAreLoaded(resolvedParams.models)){return}return resolvedParams}),queryParamsObject:null,href:computed("loadedParams",function computeLinkViewHref(){if(get(this,"tagName")!=="a"){return}var router=get(this,"router"),loadedParams=get(this,"loadedParams");if(!loadedParams){return get(this,"loadingHref")}var visibleQueryParams={};merge(visibleQueryParams,loadedParams.queryParams);router._prepareQueryParams(loadedParams.targetRouteName,loadedParams.models,visibleQueryParams);var args=routeArgs(loadedParams.targetRouteName,loadedParams.models,visibleQueryParams);var result=router.generate.apply(router,args);return result}),loadingHref:"#"});LinkView.toString=function(){return"LinkView"};function linkToHelper(name){var options=slice.call(arguments,-1)[0],params=slice.call(arguments,0,-1),hash=options.hash;if(params[params.length-1]instanceof QueryParams){hash.queryParamsObject=params.pop()}hash.disabledBinding=hash.disabledWhen;if(!options.fn){var linkTitle=params.shift();var linkType=options.types.shift();var context=this;if(linkType==="ID"){options.linkTextPath=linkTitle;options.fn=function(){return EmberHandlebars.getEscaped(context,linkTitle,options)}}else{options.fn=function(){return linkTitle}}}hash.parameters={context:this,options:options,params:params};options.helperName=options.helperName||"link-to";return viewHelper.call(this,LinkView,options)}EmberHandlebars.registerHelper("query-params",function queryParamsHelper(options){return QueryParams.create({values:options.hash,types:options.hashTypes})});function deprecatedLinkToHelper(){return linkToHelper.apply(this,arguments)}function getResolvedQueryParams(linkView,targetRouteName){var helperParameters=linkView.parameters,queryParamsObject=linkView.queryParamsObject,resolvedQueryParams={};if(!queryParamsObject){return resolvedQueryParams}var rawParams=queryParamsObject.values;for(var key in rawParams){if(!rawParams.hasOwnProperty(key)){continue}var value=rawParams[key],type=queryParamsObject.types[key];if(type==="ID"){var normalizedPath=getNormalizedPath(value,helperParameters);value=EmberHandlebars.get(normalizedPath.root,normalizedPath.path,helperParameters.options)}resolvedQueryParams[key]=value}return resolvedQueryParams}function getNormalizedPath(path,helperParameters){return EmberHandlebars.normalizePath(helperParameters.context,path,helperParameters.options.data)}function paramsAreLoaded(params){for(var i=0,len=params.length;i<len;++i){var param=params[i];if(param===null||typeof param==="undefined"){return false}}return true}function shallowEqual(a,b){var k;for(k in a){if(a.hasOwnProperty(k)&&a[k]!==b[k]){return false}}for(k in b){if(b.hasOwnProperty(k)&&a[k]!==b[k]){return false}}return true}__exports__.LinkView=LinkView;__exports__.deprecatedLinkToHelper=deprecatedLinkToHelper;__exports__.linkToHelper=linkToHelper});define("ember-routing-handlebars/helpers/outlet",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/lazy_load","ember-views/views/container_view","ember-handlebars/views/metamorph_view","ember-handlebars/helpers/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var onLoad=__dependency4__.onLoad;var ContainerView=__dependency5__["default"];var _Metamorph=__dependency6__._Metamorph;var viewHelper=__dependency7__.viewHelper;var OutletView=ContainerView.extend(_Metamorph);__exports__.OutletView=OutletView;function outletHelper(property,options){var outletSource;var container;var viewName;var viewClass;var viewFullName;if(property&&property.data&&property.data.isRenderData){options=property;property="main"}container=options.data.view.container;outletSource=options.data.view;while(!outletSource.get("template.isTop")){outletSource=outletSource.get("_parentView")}viewName=options.hash.view;if(viewName){viewFullName="view:"+viewName}viewClass=viewName?container.lookupFactory(viewFullName):options.hash.viewClass||OutletView;options.data.view.set("outletSource",outletSource);options.hash.currentViewBinding="_view.outletSource._outlets."+property;options.helperName=options.helperName||"outlet";return viewHelper.call(this,viewClass,options)}__exports__.outletHelper=outletHelper});define("ember-routing-handlebars/helpers/render",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/string","ember-routing/system/generate_controller","ember-handlebars/ext","ember-handlebars/helpers/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberError=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var camelize=__dependency5__.camelize;var generateControllerFactory=__dependency6__.generateControllerFactory;var generateController=__dependency6__["default"];var handlebarsGet=__dependency7__.handlebarsGet;var viewHelper=__dependency8__.viewHelper;__exports__["default"]=function renderHelper(name,contextString,options){var length=arguments.length;var contextProvided=length===3,container,router,controller,view,context,lookupOptions;container=(options||contextString).data.keywords.controller.container;router=container.lookup("router:main");if(length===2){options=contextString;contextString=undefined}else if(length===3){context=handlebarsGet(options.contexts[1],contextString,options)}else{throw new EmberError("You must pass a templateName to render")}name=name.replace(/\//g,".");view=container.lookup("view:"+name)||container.lookup("view:default");var controllerName=options.hash.controller||name;var controllerFullName="controller:"+controllerName;if(options.hash.controller){}var parentController=options.data.keywords.controller;if(length>2){var factory=container.lookupFactory(controllerFullName)||generateControllerFactory(container,controllerName,context);controller=factory.create({model:context,parentController:parentController,target:parentController});view.one("willDestroyElement",function(){controller.destroy()})}else{controller=container.lookup(controllerFullName)||generateController(container,controllerName);controller.setProperties({target:parentController,parentController:parentController})}var root=options.contexts[1];if(root){view.registerObserver(root,contextString,function(){controller.set("model",handlebarsGet(root,contextString,options))})}options.hash.viewName=camelize(name);var templateName="template:"+name;options.hash.template=container.lookup(templateName);options.hash.controller=controller;if(router&&!context){router._connectActiveView(name,view)}options.helperName=options.helperName||'render "'+name+'"';viewHelper.call(this,view,options)}});define("ember-routing-handlebars/helpers/shared",["ember-metal/property_get","ember-metal/array","ember-runtime/mixins/controller","ember-handlebars/ext","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var get=__dependency1__.get;var map=__dependency2__.map;var ControllerMixin=__dependency3__["default"];var handlebarsResolve=__dependency4__.resolveParams;var handlebarsGet=__dependency4__.handlebarsGet;var typeOf=__dependency5__.typeOf;var get=__dependency1__.get;function routeArgs(targetRouteName,models,queryParams){var args=[];if(typeOf(targetRouteName)==="string"){args.push(""+targetRouteName)}args.push.apply(args,models);args.push({queryParams:queryParams});return args}__exports__.routeArgs=routeArgs;function getActiveTargetName(router){var handlerInfos=router.activeTransition?router.activeTransition.state.handlerInfos:router.state.handlerInfos;return handlerInfos[handlerInfos.length-1].name}__exports__.getActiveTargetName=getActiveTargetName;function resolveParams(context,params,options){return map.call(resolvePaths(context,params,options),function(path,i){if(null===path){return params[i]}else{return handlebarsGet(context,path,options)}})}__exports__.resolveParams=resolveParams;function stashParamNames(router,handlerInfos){if(handlerInfos._namesStashed){return}var targetRouteName=handlerInfos[handlerInfos.length-1].name;var recogHandlers=router.router.recognizer.handlersFor(targetRouteName);var dynamicParent=null;for(var i=0,len=handlerInfos.length;i<len;++i){var handlerInfo=handlerInfos[i];var names=recogHandlers[i].names;if(names.length){dynamicParent=handlerInfo}handlerInfo._names=names;var route=handlerInfo.handler;route._stashNames(handlerInfo,dynamicParent)}handlerInfos._namesStashed=true}__exports__.stashParamNames=stashParamNames;function resolvePaths(context,params,options){var resolved=handlebarsResolve(context,params,options),types=options.types;return map.call(resolved,function(object,i){if(types[i]==="ID"){return unwrap(object,params[i])}else{return null}});function unwrap(object,path){if(path==="controller"){return path}if(ControllerMixin.detect(object)){return unwrap(get(object,"model"),path?path+".model":"model")}else{return path}}}__exports__.resolvePaths=resolvePaths});define("ember-routing",["ember-handlebars","ember-metal/core","ember-routing/ext/run_loop","ember-routing/ext/controller","ember-routing/ext/view","ember-routing/location/api","ember-routing/location/none_location","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/system/generate_controller","ember-routing/system/controller_for","ember-routing/system/dsl","ember-routing/system/router","ember-routing/system/route","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__exports__){"use strict";var EmberHandlebars=__dependency1__["default"];var Ember=__dependency2__["default"];var EmberLocation=__dependency6__["default"];var NoneLocation=__dependency7__["default"];var HashLocation=__dependency8__["default"];var HistoryLocation=__dependency9__["default"];var AutoLocation=__dependency10__["default"];var generateControllerFactory=__dependency11__.generateControllerFactory;var generateController=__dependency11__["default"];var controllerFor=__dependency12__["default"];var RouterDSL=__dependency13__["default"];var Router=__dependency14__["default"];var Route=__dependency15__["default"];Ember.Location=EmberLocation;Ember.AutoLocation=AutoLocation;Ember.HashLocation=HashLocation;Ember.HistoryLocation=HistoryLocation;Ember.NoneLocation=NoneLocation;Ember.controllerFor=controllerFor;Ember.generateControllerFactory=generateControllerFactory;Ember.generateController=generateController;Ember.RouterDSL=RouterDSL;Ember.Router=Router;Ember.Route=Route;__exports__["default"]=Ember});define("ember-routing/ext/controller",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/utils","ember-metal/merge","ember-metal/enumerable_utils","ember-runtime/mixins/controller","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var computed=__dependency4__.computed;var typeOf=__dependency5__.typeOf;var meta=__dependency5__.meta;var merge=__dependency6__["default"];var map=__dependency7__.map;var ControllerMixin=__dependency8__["default"];ControllerMixin.reopen({transitionToRoute:function(){var target=get(this,"target");var method=target.transitionToRoute||target.transitionTo;return method.apply(target,arguments)},transitionTo:function(){return this.transitionToRoute.apply(this,arguments)},replaceRoute:function(){var target=get(this,"target");var method=target.replaceRoute||target.replaceWith;return method.apply(target,arguments)},replaceWith:function(){return this.replaceRoute.apply(this,arguments)}});var ALL_PERIODS_REGEX=/\./g;ControllerMixin.reopen({init:function(){this._super.apply(this,arguments);listenForQueryParamChanges(this)},concatenatedProperties:["queryParams","_pCacheMeta"],queryParams:null,_qpDelegate:null,_normalizedQueryParams:computed(function(){var m=meta(this);if(m.proto!==this){return get(m.proto,"_normalizedQueryParams")}var queryParams=this.queryParams;if(queryParams._qpMap){return queryParams._qpMap}var qpMap=queryParams._qpMap={};for(var i=0,len=queryParams.length;i<len;++i){accumulateQueryParamDescriptors(queryParams[i],qpMap)}return qpMap}),_cacheMeta:computed(function(){var m=meta(this);if(m.proto!==this){return get(m.proto,"_cacheMeta")}var cacheMeta={};var qpMap=get(this,"_normalizedQueryParams");for(var prop in qpMap){if(!qpMap.hasOwnProperty(prop)){continue}var qp=qpMap[prop];var scope=qp.scope;var parts;if(scope==="controller"){parts=[]}cacheMeta[prop]={parts:parts,values:null,scope:scope,prefix:"",def:get(this,prop)}}return cacheMeta}),_updateCacheParams:function(params){var cacheMeta=get(this,"_cacheMeta");for(var prop in cacheMeta){if(!cacheMeta.hasOwnProperty(prop)){continue}var propMeta=cacheMeta[prop];propMeta.values=params;var cacheKey=this._calculateCacheKey(propMeta.prefix,propMeta.parts,propMeta.values);var cache=this._bucketCache;var value=cache.lookup(cacheKey,prop,propMeta.def);set(this,prop,value)}},_qpChanged:function(controller,_prop){var prop=_prop.substr(0,_prop.length-3);var cacheMeta=get(controller,"_cacheMeta");var propCache=cacheMeta[prop];var cacheKey=controller._calculateCacheKey(propCache.prefix||"",propCache.parts,propCache.values);var value=get(controller,prop);controller._bucketCache.stash(cacheKey,prop,value);var delegate=controller._qpDelegate;if(delegate){delegate(controller,prop)}},_calculateCacheKey:function(prefix,_parts,values){var parts=_parts||[],suffixes="";for(var i=0,len=parts.length;i<len;++i){var part=parts[i];var value=get(values,part);suffixes+="::"+part+":"+value}return prefix+suffixes.replace(ALL_PERIODS_REGEX,"-")}});function accumulateQueryParamDescriptors(_desc,accum){var desc=_desc,tmp;if(typeOf(desc)==="string"){tmp={};tmp[desc]={as:null};desc=tmp}for(var key in desc){if(!desc.hasOwnProperty(key)){return}var singleDesc=desc[key];if(typeOf(singleDesc)==="string"){singleDesc={as:singleDesc}}tmp=accum[key]||{as:null,scope:"model"};merge(tmp,singleDesc);accum[key]=tmp}}function listenForQueryParamChanges(controller){var qpMap=get(controller,"_normalizedQueryParams");for(var prop in qpMap){if(!qpMap.hasOwnProperty(prop)){continue}controller.addObserver(prop+".[]",controller,controller._qpChanged)}}__exports__["default"]=ControllerMixin});define("ember-routing/ext/run_loop",["ember-metal/run_loop"],function(__dependency1__){"use strict";var run=__dependency1__["default"];var queues=run.queues;run._addQueue("routerTransitions","actions")});define("ember-routing/ext/view",["ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-views/views/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var run=__dependency3__["default"];var EmberView=__dependency4__["default"];EmberView.reopen({init:function(){set(this,"_outlets",{});this._super()},connectOutlet:function(outletName,view){if(this._pendingDisconnections){delete this._pendingDisconnections[outletName]}if(this._hasEquivalentView(outletName,view)){view.destroy();return}var outlets=get(this,"_outlets");var container=get(this,"container");var router=container&&container.lookup("router:main");var renderedName=get(view,"renderedName");set(outlets,outletName,view);if(router&&renderedName){router._connectActiveView(renderedName,view)}},_hasEquivalentView:function(outletName,view){var existingView=get(this,"_outlets."+outletName);return existingView&&existingView.constructor===view.constructor&&existingView.get("template")===view.get("template")&&existingView.get("context")===view.get("context")},disconnectOutlet:function(outletName){if(!this._pendingDisconnections){this._pendingDisconnections={}}this._pendingDisconnections[outletName]=true;run.once(this,"_finishDisconnections")},_finishDisconnections:function(){if(this.isDestroyed)return;var outlets=get(this,"_outlets");var pendingDisconnections=this._pendingDisconnections;this._pendingDisconnections=null;for(var outletName in pendingDisconnections){set(outlets,outletName,null)}}});__exports__["default"]=EmberView});define("ember-routing/location/api",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;__exports__["default"]={create:function(options){var implementation=options&&options.implementation;var implementationClass=this.implementations[implementation];return implementationClass.create.apply(implementationClass,arguments)},registerImplementation:function(name,implementation){this.implementations[name]=implementation},implementations:{},_location:window.location,_getHash:function(){var href=(this._location||this.location).href;var hashIndex=href.indexOf("#");if(hashIndex===-1){return""}else{return href.substr(hashIndex)}}}});define("ember-routing/location/auto_location",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-routing/location/api","ember-routing/location/history_location","ember-routing/location/hash_location","ember-routing/location/none_location","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var EmberLocation=__dependency4__["default"];var HistoryLocation=__dependency5__["default"];var HashLocation=__dependency6__["default"];var NoneLocation=__dependency7__["default"];__exports__["default"]={cancelRouterSetup:false,rootURL:"/",_window:window,_location:window.location,_history:window.history,_HistoryLocation:HistoryLocation,_HashLocation:HashLocation,_NoneLocation:NoneLocation,_getOrigin:function(){var location=this._location;var origin=location.origin;if(!origin){origin=location.protocol+"//"+location.hostname;if(location.port){origin+=":"+location.port}}return origin},_getSupportsHistory:function(){var userAgent=this._window.navigator.userAgent;if(userAgent.indexOf("Android 2")!==-1&&userAgent.indexOf("Mobile Safari")!==-1&&userAgent.indexOf("Chrome")===-1){return false}return!!(this._history&&"pushState"in this._history)},_getSupportsHashChange:function(){var _window=this._window;var documentMode=_window.document.documentMode;return"onhashchange"in _window&&(documentMode===undefined||documentMode>7)},_replacePath:function(path){this._location.replace(this._getOrigin()+path)},_getRootURL:function(){return this.rootURL},_getPath:function(){var pathname=this._location.pathname;if(pathname.charAt(0)!=="/"){pathname="/"+pathname}return pathname},_getHash:EmberLocation._getHash,_getQuery:function(){return this._location.search},_getFullPath:function(){return this._getPath()+this._getQuery()+this._getHash()},_getHistoryPath:function(){var rootURL=this._getRootURL();var path=this._getPath();var hash=this._getHash();var query=this._getQuery();var rootURLIndex=path.indexOf(rootURL);var routeHash,hashParts;if(hash.substr(0,2)==="#/"){hashParts=hash.substr(1).split("#");routeHash=hashParts.shift();if(path.slice(-1)==="/"){routeHash=routeHash.substr(1)}path+=routeHash;path+=query;if(hashParts.length){path+="#"+hashParts.join("#")}}else{path+=query;path+=hash}return path},_getHashPath:function(){var rootURL=this._getRootURL();var path=rootURL;var historyPath=this._getHistoryPath();var routePath=historyPath.substr(rootURL.length);if(routePath!==""){if(routePath.charAt(0)!=="/"){routePath="/"+routePath}path+="#"+routePath
9
+ }return path},create:function(options){if(options&&options.rootURL){this.rootURL=options.rootURL}var historyPath,hashPath;var cancelRouterSetup=false;var implementationClass=this._NoneLocation;var currentPath=this._getFullPath();if(this._getSupportsHistory()){historyPath=this._getHistoryPath();if(currentPath===historyPath){implementationClass=this._HistoryLocation}else{cancelRouterSetup=true;this._replacePath(historyPath)}}else if(this._getSupportsHashChange()){hashPath=this._getHashPath();if(currentPath===hashPath||currentPath==="/"&&hashPath==="/#/"){implementationClass=this._HashLocation}else{cancelRouterSetup=true;this._replacePath(hashPath)}}var implementation=implementationClass.create.apply(implementationClass,arguments);if(cancelRouterSetup){set(implementation,"cancelRouterSetup",true)}return implementation}}});define("ember-routing/location/hash_location",["ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api","ember-views/system/jquery","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var run=__dependency3__["default"];var guidFor=__dependency4__.guidFor;var EmberObject=__dependency5__["default"];var EmberLocation=__dependency6__["default"];var jQuery=__dependency7__["default"];__exports__["default"]=EmberObject.extend({implementation:"hash",init:function(){set(this,"location",get(this,"_location")||window.location)},getHash:EmberLocation._getHash,getURL:function(){return this.getHash().substr(1)},setURL:function(path){get(this,"location").hash=path;set(this,"lastSetURL",path)},replaceURL:function(path){get(this,"location").replace("#"+path);set(this,"lastSetURL",path)},onUpdateURL:function(callback){var self=this;var guid=guidFor(this);jQuery(window).on("hashchange.ember-location-"+guid,function(){run(function(){var path=self.getURL();if(get(self,"lastSetURL")===path){return}set(self,"lastSetURL",null);callback(path)})})},formatURL:function(url){return"#"+url},willDestroy:function(){var guid=guidFor(this);jQuery(window).off("hashchange.ember-location-"+guid)}})});define("ember-routing/location/history_location",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-runtime/system/object","ember-views/system/jquery","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var EmberObject=__dependency5__["default"];var jQuery=__dependency6__["default"];var popstateFired=false;var supportsHistoryState=window.history&&"state"in window.history;__exports__["default"]=EmberObject.extend({implementation:"history",init:function(){set(this,"location",get(this,"location")||window.location);set(this,"baseURL",jQuery("base").attr("href")||"")},initState:function(){set(this,"history",get(this,"history")||window.history);this.replaceState(this.formatURL(this.getURL()))},rootURL:"/",getURL:function(){var rootURL=get(this,"rootURL");var location=get(this,"location");var path=location.pathname;var baseURL=get(this,"baseURL");rootURL=rootURL.replace(/\/$/,"");baseURL=baseURL.replace(/\/$/,"");var url=path.replace(baseURL,"").replace(rootURL,"");var search=location.search||"";url+=search;return url},setURL:function(path){var state=this.getState();path=this.formatURL(path);if(!state||state.path!==path){this.pushState(path)}},replaceURL:function(path){var state=this.getState();path=this.formatURL(path);if(!state||state.path!==path){this.replaceState(path)}},getState:function(){return supportsHistoryState?get(this,"history").state:this._historyState},pushState:function(path){var state={path:path};get(this,"history").pushState(state,null,path);if(!supportsHistoryState){this._historyState=state}this._previousURL=this.getURL()},replaceState:function(path){var state={path:path};get(this,"history").replaceState(state,null,path);if(!supportsHistoryState){this._historyState=state}this._previousURL=this.getURL()},onUpdateURL:function(callback){var guid=guidFor(this);var self=this;jQuery(window).on("popstate.ember-location-"+guid,function(e){if(!popstateFired){popstateFired=true;if(self.getURL()===self._previousURL){return}}callback(self.getURL())})},formatURL:function(url){var rootURL=get(this,"rootURL");var baseURL=get(this,"baseURL");if(url!==""){rootURL=rootURL.replace(/\/$/,"");baseURL=baseURL.replace(/\/$/,"")}else if(baseURL.match(/^\//)&&rootURL.match(/^\//)){baseURL=baseURL.replace(/\/$/,"")}return baseURL+rootURL+url},willDestroy:function(){var guid=guidFor(this);jQuery(window).off("popstate.ember-location-"+guid)}})});define("ember-routing/location/none_location",["ember-metal/property_get","ember-metal/property_set","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var EmberObject=__dependency3__["default"];__exports__["default"]=EmberObject.extend({implementation:"none",path:"",getURL:function(){return get(this,"path")},setURL:function(path){set(this,"path",path)},onUpdateURL:function(callback){this.updateCallback=callback},handleURL:function(url){set(this,"path",url);this.updateCallback(url)},formatURL:function(url){return url}})});define("ember-routing/system/cache",["ember-runtime/system/object","exports"],function(__dependency1__,__exports__){"use strict";var EmberObject=__dependency1__["default"];__exports__["default"]=EmberObject.extend({init:function(){this.cache={}},has:function(bucketKey){return bucketKey in this.cache},stash:function(bucketKey,key,value){var bucket=this.cache[bucketKey];if(!bucket){bucket=this.cache[bucketKey]={}}bucket[key]=value},lookup:function(bucketKey,prop,defaultValue){var cache=this.cache;if(!(bucketKey in cache)){return defaultValue}var bucket=cache[bucketKey];if(prop in bucket){return bucket[prop]}else{return defaultValue}},cache:null})});define("ember-routing/system/controller_for",["exports"],function(__exports__){"use strict";__exports__["default"]=function controllerFor(container,controllerName,lookupOptions){return container.lookup("controller:"+controllerName,lookupOptions)}});define("ember-routing/system/dsl",["ember-metal/core","exports"],function(__dependency1__,__exports__){"use strict";var Ember=__dependency1__["default"];function DSL(name){this.parent=name;this.matches=[]}__exports__["default"]=DSL;DSL.prototype={resource:function(name,options,callback){if(arguments.length===2&&typeof options==="function"){callback=options;options={}}if(arguments.length===1){options={}}if(typeof options.path!=="string"){options.path="/"+name}var createSubRoutes=false;createSubRoutes=true;if(createSubRoutes){var dsl=new DSL(name);route(dsl,"loading");route(dsl,"error",{path:"/_unused_dummy_error_path_route_"+name+"/:error"});if(callback){callback.call(dsl)}this.push(options.path,name,dsl.generate())}else{this.push(options.path,name,null)}},push:function(url,name,callback){var parts=name.split(".");if(url===""||url==="/"||parts[parts.length-1]==="index"){this.explicitIndex=true}this.matches.push([url,name,callback])},route:function(name,options){route(this,name,options)},generate:function(){var dslMatches=this.matches;if(!this.explicitIndex){this.route("index",{path:"/"})}return function(match){for(var i=0,l=dslMatches.length;i<l;i++){var dslMatch=dslMatches[i];var matchObj=match(dslMatch[0]).to(dslMatch[1],dslMatch[2])}}}};function route(dsl,name,options){options=options||{};if(typeof options.path!=="string"){options.path="/"+name}if(dsl.parent&&dsl.parent!=="application"){name=dsl.parent+"."+name}dsl.push(options.path,name,null)}DSL.map=function(callback){var dsl=new DSL;callback.call(dsl);return dsl}});define("ember-routing/system/generate_controller",["ember-metal/core","ember-metal/property_get","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var isArray=__dependency3__.isArray;function generateControllerFactory(container,controllerName,context){var Factory,fullName,instance,name,factoryName,controllerType;if(context&&isArray(context)){controllerType="array"}else if(context){controllerType="object"}else{controllerType="basic"}factoryName="controller:"+controllerType;Factory=container.lookupFactory(factoryName).extend({isGenerated:true,toString:function(){return"(generated "+controllerName+" controller)"}});fullName="controller:"+controllerName;container.register(fullName,Factory);return Factory}__exports__.generateControllerFactory=generateControllerFactory;__exports__["default"]=function generateController(container,controllerName,context){generateControllerFactory(container,controllerName,context);var fullName="controller:"+controllerName;var instance=container.lookup(fullName);if(get(instance,"namespace.LOG_ACTIVE_GENERATION")){}return instance}});define("ember-routing/system/route",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/get_properties","ember-metal/enumerable_utils","ember-metal/is_none","ember-metal/computed","ember-metal/merge","ember-metal/utils","ember-metal/run_loop","ember-runtime/keys","ember-runtime/copy","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/action_handler","ember-routing/system/generate_controller","ember-routing-handlebars/helpers/shared","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberError=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var getProperties=__dependency5__["default"];var forEach=__dependency6__.forEach;var replace=__dependency6__.replace;var isNone=__dependency7__.isNone;var computed=__dependency8__.computed;var merge=__dependency9__["default"];var isArray=__dependency10__.isArray;var typeOf=__dependency10__.typeOf;var run=__dependency11__["default"];var keys=__dependency12__["default"];var copy=__dependency13__["default"];var classify=__dependency14__.classify;var fmt=__dependency14__.fmt;var EmberObject=__dependency15__["default"];var ActionHandler=__dependency16__["default"];var generateController=__dependency17__["default"];var stashParamNames=__dependency18__.stashParamNames;var Route=EmberObject.extend(ActionHandler,{exit:function(){this.deactivate();this.teardownViews()},reset:function(isExiting,transition){var controller=this.controller;controller._qpDelegate=get(this,"_qp.states.inactive");this.resetController(this.controller,isExiting,transition)},enter:function(){this.activate()},viewName:null,templateName:null,controllerName:null,_actions:{queryParamsDidChange:function(changed,totalPresent,removed){var totalChanged=keys(changed).concat(keys(removed));for(var i=0,len=totalChanged.length;i<len;++i){var urlKey=totalChanged[i],options=get(this.queryParams,urlKey)||{};if(get(options,"refreshModel")){this.refresh()}}return true},finalizeQueryParamChange:function(params,finalParams,transition){if(this.routeName!=="application"){return true}if(!transition){return}var handlerInfos=transition.state.handlerInfos;var router=this.router;var qpMeta=router._queryParamsFor(handlerInfos[handlerInfos.length-1].name);var changes=router._qpUpdates;var replaceUrl;stashParamNames(router,handlerInfos);for(var i=0,len=qpMeta.qps.length;i<len;++i){var qp=qpMeta.qps[i];var route=qp.route;var controller=route.controller;var presentKey=qp.urlKey in params&&qp.urlKey;var value,svalue;if(changes&&qp.urlKey in changes){value=get(controller,qp.prop);svalue=route.serializeQueryParam(value,qp.urlKey,qp.type)}else{if(presentKey){svalue=params[presentKey];value=route.deserializeQueryParam(svalue,qp.urlKey,qp.type)}else{svalue=qp.sdef;value=qp.def;if(isArray(value)){value=Ember.A(value.slice())}}}controller._qpDelegate=get(this,"_qp.states.inactive");var thisQueryParamChanged=svalue!==qp.svalue;if(thisQueryParamChanged){var options=get(route,"queryParams."+qp.urlKey)||{};if(transition.queryParamsOnly&&replaceUrl!==false){var replaceConfigValue=get(options,"replace");if(replaceConfigValue){replaceUrl=true}else if(replaceConfigValue===false){replaceUrl=false}}set(controller,qp.prop,value)}qp.svalue=svalue;var thisQueryParamHasDefaultValue=qp.sdef===svalue;if(!thisQueryParamHasDefaultValue){finalParams.push({value:svalue,visible:true,key:presentKey||qp.urlKey})}}if(replaceUrl){transition.method("replace")}forEach(qpMeta.qps,function(qp){var routeQpMeta=get(qp.route,"_qp");var finalizedController=qp.route.controller;finalizedController._qpDelegate=get(routeQpMeta,"states.active")});router._qpUpdates=null}},events:null,mergedProperties:["events"],deactivate:Ember.K,activate:Ember.K,transitionTo:function(name,context){var router=this.router;return router.transitionTo.apply(router,arguments)},intermediateTransitionTo:function(){var router=this.router;router.intermediateTransitionTo.apply(router,arguments)},refresh:function(){return this.router.router.refresh(this)},replaceWith:function(){var router=this.router;return router.replaceWith.apply(router,arguments)},send:function(){return this.router.send.apply(this.router,arguments)},setup:function(context,transition){var controllerName=this.controllerName||this.routeName;var controller=this.controllerFor(controllerName,true);if(!controller){controller=this.generateController(controllerName,context)}this.controller=controller;if(this.setupControllers){this.setupControllers(controller,context)}else{var states=get(this,"_qp.states");if(transition){controller._qpDelegate=states.changingKeys;controller._updateCacheParams(transition.params)}controller._qpDelegate=states.allowOverrides;this.setupController(controller,context,transition)}if(this.renderTemplates){this.renderTemplates(context)}else{this.renderTemplate(controller,context)}},beforeModel:Ember.K,afterModel:Ember.K,redirect:Ember.K,contextDidChange:function(){this.currentModel=this.context},model:function(params,transition){var match,name,sawParams,value;var queryParams;queryParams=get(this,"_qp.map");for(var prop in params){if(prop==="queryParams"||queryParams&&prop in queryParams){continue}if(match=prop.match(/^(.*)_id$/)){name=match[1];value=params[prop]}sawParams=true}if(!name&&sawParams){return copy(params)}else if(!name){if(transition.resolveIndex!==transition.state.handlerInfos.length-1){return}var parentModel=transition.state.handlerInfos[transition.resolveIndex-1].context;return parentModel}return this.findModel(name,value)},deserialize:function(params,transition){return this.model(this.paramsFor(this.routeName),transition)},findModel:function(){var store=get(this,"store");return store.find.apply(store,arguments)},store:computed(function(){var container=this.container;var routeName=this.routeName;var namespace=get(this,"router.namespace");return{find:function(name,value){var modelClass=container.lookupFactory("model:"+name);if(!modelClass){return}return modelClass.find(value)}}}),serialize:function(model,params){if(params.length<1){return}if(!model){return}var name=params[0],object={};if(/_id$/.test(name)&&params.length===1){object[name]=get(model,"id")}else{object=getProperties(model,params)}return object},setupController:function(controller,context,transition){if(controller&&context!==undefined){set(controller,"model",context)}},controllerFor:function(name,_skipAssert){var container=this.container;var route=container.lookup("route:"+name);var controller;if(route&&route.controllerName){name=route.controllerName}controller=container.lookup("controller:"+name);return controller},generateController:function(name,model){var container=this.container;model=model||this.modelFor(name);return generateController(container,name,model)},modelFor:function(name){var route=this.container.lookup("route:"+name);var transition=this.router?this.router.router.activeTransition:null;if(transition){var modelLookupName=route&&route.routeName||name;if(transition.resolvedModels.hasOwnProperty(modelLookupName)){return transition.resolvedModels[modelLookupName]}}return route&&route.currentModel},renderTemplate:function(controller,model){this.render()},render:function(name,options){var namePassed=typeof name==="string"&&!!name;if(typeof name==="object"&&!options){options=name;name=this.routeName}options=options||{};options.namePassed=namePassed;var templateName;if(name){name=name.replace(/\//g,".");templateName=name}else{name=this.routeName;templateName=this.templateName||name}var viewName=options.view||namePassed&&name||this.viewName||name;var container=this.container;var view=container.lookup("view:"+viewName);var template=view?view.get("template"):null;if(!template){template=container.lookup("template:"+templateName)}if(!view&&!template){if(get(this.router,"namespace.LOG_VIEW_LOOKUPS")){}return}options=normalizeOptions(this,name,template,options);view=setupView(view,container,options);if(options.outlet==="main"){this.lastRenderedTemplate=name}appendView(this,view,options)},disconnectOutlet:function(options){if(!options||typeof options==="string"){var outletName=options;options={};options.outlet=outletName}options.parentView=options.parentView?options.parentView.replace(/\//g,"."):parentTemplate(this);options.outlet=options.outlet||"main";var parentView=this.router._lookupActiveView(options.parentView);if(parentView){parentView.disconnectOutlet(options.outlet)}},willDestroy:function(){this.teardownViews()},teardownViews:function(){if(this.teardownTopLevelView){this.teardownTopLevelView()}var teardownOutletViews=this.teardownOutletViews||[];forEach(teardownOutletViews,function(teardownOutletView){teardownOutletView()});delete this.teardownTopLevelView;delete this.teardownOutletViews;delete this.lastRenderedTemplate}});var defaultQPMeta={qps:[],map:{},states:{}};Route.reopen({queryParams:{},_qp:computed(function(){var controllerName=this.controllerName||this.routeName;var fullName=this.container.normalize("controller:"+controllerName);var controllerClass=this.container.lookupFactory(fullName);if(!controllerClass){return defaultQPMeta}var controllerProto=controllerClass.proto();var qpProps=get(controllerProto,"_normalizedQueryParams");var cacheMeta=get(controllerProto,"_cacheMeta");var qps=[],map={},self=this;for(var propName in qpProps){if(!qpProps.hasOwnProperty(propName)){continue}var desc=qpProps[propName],urlKey=desc.as||this.serializeQueryParamKey(propName),defaultValue=get(controllerProto,propName);if(isArray(defaultValue)){defaultValue=Ember.A(defaultValue.slice())}var type=typeOf(defaultValue),defaultValueSerialized=this.serializeQueryParam(defaultValue,urlKey,type),fprop=controllerName+":"+propName,qp={def:defaultValue,sdef:defaultValueSerialized,type:type,urlKey:urlKey,prop:propName,fprop:fprop,ctrl:controllerName,cProto:controllerProto,svalue:defaultValueSerialized,cacheType:desc.scope,route:this,cacheMeta:cacheMeta[propName]};map[propName]=map[urlKey]=map[fprop]=qp;qps.push(qp)}return{qps:qps,map:map,states:{active:function(controller,prop){return self._activeQPChanged(controller,map[prop])},allowOverrides:function(controller,prop){return self._updatingQPChanged(controller,map[prop])},changingKeys:function(controller,prop){return self._updateSerializedQPValue(controller,map[prop])}}}}),_names:null,_stashNames:function(_handlerInfo,dynamicParent){var handlerInfo=_handlerInfo;if(this._names){return}var names=this._names=handlerInfo._names;if(!names.length){handlerInfo=dynamicParent;names=handlerInfo&&handlerInfo._names||[]}var qps=get(this,"_qp.qps");var len=qps.length;var namePaths=new Array(names.length);for(var a=0,nlen=names.length;a<nlen;++a){namePaths[a]=handlerInfo.name+"."+names[a]}for(var i=0;i<len;++i){var qp=qps[i];var cacheMeta=qp.cacheMeta;if(cacheMeta.scope==="model"){cacheMeta.parts=namePaths}cacheMeta.prefix=qp.ctrl}},_updateSerializedQPValue:function(controller,qp){var value=get(controller,qp.prop);qp.svalue=this.serializeQueryParam(value,qp.urlKey,qp.type)},_activeQPChanged:function(controller,qp){var value=get(controller,qp.prop);this.router._queuedQPChanges[qp.fprop]=value;run.once(this,this._fireQueryParamTransition)},_updatingQPChanged:function(controller,qp){var router=this.router;if(!router._qpUpdates){router._qpUpdates={}}router._qpUpdates[qp.urlKey]=true},mergedProperties:["queryParams"],paramsFor:function(name){var route=this.container.lookup("route:"+name);if(!route){return{}}var transition=this.router.router.activeTransition;var state=transition?transition.state:this.router.router.state;var params={};merge(params,state.params[name]);if(!state.fullQueryParams){state.fullQueryParams={};merge(state.fullQueryParams,state.queryParams);var targetRouteName=state.handlerInfos[state.handlerInfos.length-1].name;this.router._deserializeQueryParams(targetRouteName,state.fullQueryParams)}var qpMeta=get(route,"_qp");if(!qpMeta){return params}var qps=qpMeta.qps;for(var i=0,len=qps.length;i<len;++i){var qp=qps[i];if(!(qp.prop in params)){params[qp.prop]=state.fullQueryParams[qp.prop]||qp.def}}return params},serializeQueryParamKey:function(controllerPropertyName){return controllerPropertyName},serializeQueryParam:function(value,urlKey,defaultValueType){if(defaultValueType==="array"){return JSON.stringify(value)}return""+value},deserializeQueryParam:function(value,urlKey,defaultValueType){if(defaultValueType==="boolean"){return value==="true"?true:false}else if(defaultValueType==="number"){return Number(value).valueOf()}else if(defaultValueType==="array"){return Ember.A(JSON.parse(value))}return value},_fireQueryParamTransition:function(){this.transitionTo({queryParams:this.router._queuedQPChanges});this.router._queuedQPChanges={}},resetController:Ember.K});function parentRoute(route){var handlerInfo=handlerInfoFor(route,route.router.router.state.handlerInfos,-1);return handlerInfo&&handlerInfo.handler}function handlerInfoFor(route,handlerInfos,_offset){if(!handlerInfos){return}var offset=_offset||0,current;for(var i=0,l=handlerInfos.length;i<l;i++){current=handlerInfos[i].handler;if(current===route){return handlerInfos[i+offset]}}}function parentTemplate(route){var parent=parentRoute(route),template;if(!parent){return}if(template=parent.lastRenderedTemplate){return template}else{return parentTemplate(parent)}}function normalizeOptions(route,name,template,options){options=options||{};options.into=options.into?options.into.replace(/\//g,"."):parentTemplate(route);options.outlet=options.outlet||"main";options.name=name;options.template=template;options.LOG_VIEW_LOOKUPS=get(route.router,"namespace.LOG_VIEW_LOOKUPS");var controller=options.controller,model=options.model,namedController;if(options.controller){controller=options.controller}else if(options.namePassed){controller=route.container.lookup("controller:"+name)||route.controllerName||route.routeName}else{controller=route.controllerName||route.container.lookup("controller:"+name)}if(typeof controller==="string"){var controllerName=controller;controller=route.container.lookup("controller:"+controllerName);if(!controller){throw new EmberError("You passed `controller: '"+controllerName+"'` into the `render` method, but no such controller could be found.")}}if(model){controller.set("model",model)}options.controller=controller;return options}function setupView(view,container,options){if(view){if(options.LOG_VIEW_LOOKUPS){}}else{var defaultView=options.into?"view:default":"view:toplevel";view=container.lookup(defaultView);if(options.LOG_VIEW_LOOKUPS){}}if(!get(view,"templateName")){set(view,"template",options.template);set(view,"_debugTemplateName",options.name)}set(view,"renderedName",options.name);set(view,"controller",options.controller);return view}function appendView(route,view,options){if(options.into){var parentView=route.router._lookupActiveView(options.into);var teardownOutletView=generateOutletTeardown(parentView,options.outlet);if(!route.teardownOutletViews){route.teardownOutletViews=[]}replace(route.teardownOutletViews,0,0,[teardownOutletView]);parentView.connectOutlet(options.outlet,view)}else{var rootElement=get(route,"router.namespace.rootElement");if(route.teardownTopLevelView){route.teardownTopLevelView()}route.router._connectActiveView(options.name,view);route.teardownTopLevelView=generateTopLevelTeardown(view);view.appendTo(rootElement)}}function generateTopLevelTeardown(view){return function(){view.destroy()}}function generateOutletTeardown(parentView,outlet){return function(){parentView.disconnectOutlet(outlet)}}__exports__["default"]=Route});define("ember-routing/system/router",["ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/properties","ember-metal/computed","ember-metal/merge","ember-metal/run_loop","ember-metal/enumerable_utils","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-routing/system/dsl","ember-views/views/view","ember-routing/location/api","ember-handlebars/views/metamorph_view","ember-routing-handlebars/helpers/shared","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__exports__){"use strict";var Ember=__dependency1__["default"];var EmberError=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var defineProperty=__dependency5__.defineProperty;var computed=__dependency6__.computed;var merge=__dependency7__["default"];var run=__dependency8__["default"];var forEach=__dependency9__.forEach;var fmt=__dependency10__.fmt;var EmberObject=__dependency11__["default"];var Evented=__dependency12__["default"];var EmberRouterDSL=__dependency13__["default"];var EmberView=__dependency14__["default"];var EmberLocation=__dependency15__["default"];var _MetamorphView=__dependency16__["default"];var routeArgs=__dependency17__.routeArgs;var getActiveTargetName=__dependency17__.getActiveTargetName;var stashParamNames=__dependency17__.stashParamNames;var Router=requireModule("router")["default"];var Transition=requireModule("router/transition").Transition;var slice=[].slice;var EmberRouter=EmberObject.extend(Evented,{location:"hash",rootURL:"/",init:function(){this.router=this.constructor.router||this.constructor.map(Ember.K);this._activeViews={};this._setupLocation();this._qpCache={};this._queuedQPChanges={};if(get(this,"namespace.LOG_TRANSITIONS_INTERNAL")){this.router.log=Ember.Logger.debug}},url:computed(function(){return get(this,"location").getURL()}),startRouting:function(){this.router=this.router||this.constructor.map(Ember.K);var router=this.router;var location=get(this,"location");var container=this.container;var self=this;var initialURL=get(this,"initialURL");if(get(location,"cancelRouterSetup")){return}this._setupRouter(router,location);container.register("view:default",_MetamorphView);container.register("view:toplevel",EmberView.extend());location.onUpdateURL(function(url){self.handleURL(url)});if(typeof initialURL==="undefined"){initialURL=location.getURL()}this.handleURL(initialURL)},didTransition:function(infos){updatePaths(this);this._cancelLoadingEvent();this.notifyPropertyChange("url");run.once(this,this.trigger,"didTransition");if(get(this,"namespace").LOG_TRANSITIONS){Ember.Logger.log("Transitioned into '"+EmberRouter._routePath(infos)+"'")}},handleURL:function(url){return this._doURLTransition("handleURL",url)},_doURLTransition:function(routerJsMethod,url){var transition=this.router[routerJsMethod](url||"/");listenForTransitionErrors(transition);return transition},transitionTo:function(){var args=slice.call(arguments),queryParams;if(resemblesURL(args[0])){return this._doURLTransition("transitionTo",args[0])}var possibleQueryParams=args[args.length-1];if(possibleQueryParams&&possibleQueryParams.hasOwnProperty("queryParams")){queryParams=args.pop().queryParams}else{queryParams={}}var targetRouteName=args.shift();return this._doTransition(targetRouteName,args,queryParams)},intermediateTransitionTo:function(){this.router.intermediateTransitionTo.apply(this.router,arguments);updatePaths(this);var infos=this.router.currentHandlerInfos;if(get(this,"namespace").LOG_TRANSITIONS){Ember.Logger.log("Intermediate-transitioned into '"+EmberRouter._routePath(infos)+"'")}},replaceWith:function(){return this.transitionTo.apply(this,arguments).method("replace")},generate:function(){var url=this.router.generate.apply(this.router,arguments);return this.location.formatURL(url)},isActive:function(routeName){var router=this.router;return router.isActive.apply(router,arguments)},isActiveIntent:function(routeName,models,queryParams){var router=this.router;return router.isActive.apply(router,arguments)},send:function(name,context){this.router.trigger.apply(this.router,arguments)},hasRoute:function(route){return this.router.hasRoute(route)},reset:function(){this.router.reset()},_lookupActiveView:function(templateName){var active=this._activeViews[templateName];return active&&active[0]},_connectActiveView:function(templateName,view){var existing=this._activeViews[templateName];if(existing){existing[0].off("willDestroyElement",this,existing[1])}function disconnectActiveView(){delete this._activeViews[templateName]}this._activeViews[templateName]=[view,disconnectActiveView];view.one("willDestroyElement",this,disconnectActiveView)},_setupLocation:function(){var location=get(this,"location");var rootURL=get(this,"rootURL");if(rootURL&&this.container&&!this.container.has("-location-setting:root-url")){this.container.register("-location-setting:root-url",rootURL,{instantiate:false})}if("string"===typeof location&&this.container){var resolvedLocation=this.container.lookup("location:"+location);if("undefined"!==typeof resolvedLocation){location=set(this,"location",resolvedLocation)}else{var options={implementation:location};location=set(this,"location",EmberLocation.create(options))}}if(rootURL&&typeof rootURL==="string"){location.rootURL=rootURL}if(typeof location.initState==="function"){location.initState()}},_getHandlerFunction:function(){var seen={},container=this.container;var DefaultRoute=container.lookupFactory("route:basic");var self=this;return function(name){var routeName="route:"+name;var handler=container.lookup(routeName);if(seen[name]){return handler}seen[name]=true;if(!handler){container.register(routeName,DefaultRoute.extend());handler=container.lookup(routeName);if(get(self,"namespace.LOG_ACTIVE_GENERATION")){}}handler.routeName=name;return handler}},_setupRouter:function(router,location){var lastURL,emberRouter=this;router.getHandler=this._getHandlerFunction();var doUpdateURL=function(){location.setURL(lastURL)};router.updateURL=function(path){lastURL=path;run.once(doUpdateURL)};if(location.replaceURL){var doReplaceURL=function(){location.replaceURL(lastURL)};router.replaceURL=function(path){lastURL=path;run.once(doReplaceURL)}}router.didTransition=function(infos){emberRouter.didTransition(infos)}},_serializeQueryParams:function(targetRouteName,queryParams){var groupedByUrlKey={};forEachQueryParam(this,targetRouteName,queryParams,function(key,value,qp){var urlKey=qp.urlKey;if(!groupedByUrlKey[urlKey]){groupedByUrlKey[urlKey]=[]}groupedByUrlKey[urlKey].push({qp:qp,value:value});delete queryParams[key]});for(var key in groupedByUrlKey){var qps=groupedByUrlKey[key];
10
+ if(qps.length>1){var qp0=qps[0].qp,qp1=qps[1].qp}var qp=qps[0].qp;queryParams[qp.urlKey]=qp.route.serializeQueryParam(qps[0].value,qp.urlKey,qp.type)}},_deserializeQueryParams:function(targetRouteName,queryParams){forEachQueryParam(this,targetRouteName,queryParams,function(key,value,qp){delete queryParams[key];queryParams[qp.prop]=qp.route.deserializeQueryParam(value,qp.urlKey,qp.type)})},_pruneDefaultQueryParamValues:function(targetRouteName,queryParams){var qps=this._queryParamsFor(targetRouteName);for(var key in queryParams){var qp=qps.map[key];if(qp&&qp.sdef===queryParams[key]){delete queryParams[key]}}},_doTransition:function(_targetRouteName,models,_queryParams){var targetRouteName=_targetRouteName||getActiveTargetName(this.router);var queryParams={};merge(queryParams,_queryParams);this._prepareQueryParams(targetRouteName,models,queryParams);var transitionArgs=routeArgs(targetRouteName,models,queryParams);var transitionPromise=this.router.transitionTo.apply(this.router,transitionArgs);listenForTransitionErrors(transitionPromise);return transitionPromise},_prepareQueryParams:function(targetRouteName,models,queryParams){this._hydrateUnsuppliedQueryParams(targetRouteName,models,queryParams);this._serializeQueryParams(targetRouteName,queryParams);this._pruneDefaultQueryParamValues(targetRouteName,queryParams)},_queryParamsFor:function(leafRouteName){if(this._qpCache[leafRouteName]){return this._qpCache[leafRouteName]}var map={},qps=[],qpCache=this._qpCache[leafRouteName]={map:map,qps:qps};var routerjs=this.router,recogHandlerInfos=routerjs.recognizer.handlersFor(leafRouteName);for(var i=0,len=recogHandlerInfos.length;i<len;++i){var recogHandler=recogHandlerInfos[i];var route=routerjs.getHandler(recogHandler.handler);var qpMeta=get(route,"_qp");if(!qpMeta){continue}merge(map,qpMeta.map);qps.push.apply(qps,qpMeta.qps)}return{qps:qps,map:map}},_hydrateUnsuppliedQueryParams:function(leafRouteName,contexts,queryParams){var state=calculatePostTransitionState(this,leafRouteName,contexts);var handlerInfos=state.handlerInfos;var appCache=this._bucketCache;stashParamNames(this,handlerInfos);for(var i=0,len=handlerInfos.length;i<len;++i){var route=handlerInfos[i].handler;var qpMeta=get(route,"_qp");for(var j=0,qpLen=qpMeta.qps.length;j<qpLen;++j){var qp=qpMeta.qps[j];var presentProp=qp.prop in queryParams&&qp.prop||qp.fprop in queryParams&&qp.fprop;if(presentProp){if(presentProp!==qp.fprop){queryParams[qp.fprop]=queryParams[presentProp];delete queryParams[presentProp]}}else{var controllerProto=qp.cProto;var cacheMeta=get(controllerProto,"_cacheMeta");var cacheKey=controllerProto._calculateCacheKey(qp.ctrl,cacheMeta[qp.prop].parts,state.params);queryParams[qp.fprop]=appCache.lookup(cacheKey,qp.prop,qp.def)}}}},_scheduleLoadingEvent:function(transition,originRoute){this._cancelLoadingEvent();this._loadingStateTimer=run.scheduleOnce("routerTransitions",this,"_fireLoadingEvent",transition,originRoute)},_fireLoadingEvent:function(transition,originRoute){if(!this.router.activeTransition){return}transition.trigger(true,"loading",transition,originRoute)},_cancelLoadingEvent:function(){if(this._loadingStateTimer){run.cancel(this._loadingStateTimer)}this._loadingStateTimer=null}});function forEachRouteAbove(originRoute,transition,callback){var handlerInfos=transition.state.handlerInfos;var originRouteFound=false;var handlerInfo,route;for(var i=handlerInfos.length-1;i>=0;--i){handlerInfo=handlerInfos[i];route=handlerInfo.handler;if(!originRouteFound){if(originRoute===route){originRouteFound=true}continue}if(callback(route,handlerInfos[i+1].handler)!==true){return false}}return true}var defaultActionHandlers={willResolveModel:function(transition,originRoute){originRoute.router._scheduleLoadingEvent(transition,originRoute)},error:function(error,transition,originRoute){var router=originRoute.router;var tryTopLevel=forEachRouteAbove(originRoute,transition,function(route,childRoute){var childErrorRouteName=findChildRouteName(route,childRoute,"error");if(childErrorRouteName){router.intermediateTransitionTo(childErrorRouteName,error);return}return true});if(tryTopLevel){if(routeHasBeenDefined(originRoute.router,"application_error")){router.intermediateTransitionTo("application_error",error);return}}else{return}logError(error,"Error while processing route: "+transition.targetName)},loading:function(transition,originRoute){var router=originRoute.router;var tryTopLevel=forEachRouteAbove(originRoute,transition,function(route,childRoute){var childLoadingRouteName=findChildRouteName(route,childRoute,"loading");if(childLoadingRouteName){router.intermediateTransitionTo(childLoadingRouteName);return}if(transition.pivotHandler!==route){return true}});if(tryTopLevel){if(routeHasBeenDefined(originRoute.router,"application_loading")){router.intermediateTransitionTo("application_loading");return}}}};function logError(error,initialMessage){var errorArgs=[];if(initialMessage){errorArgs.push(initialMessage)}if(error){if(error.message){errorArgs.push(error.message)}if(error.stack){errorArgs.push(error.stack)}if(typeof error==="string"){errorArgs.push(error)}}Ember.Logger.error.apply(this,errorArgs)}function findChildRouteName(parentRoute,originatingChildRoute,name){var router=parentRoute.router;var childName;var targetChildRouteName=originatingChildRoute.routeName.split(".").pop();var namespace=parentRoute.routeName==="application"?"":parentRoute.routeName+".";childName=namespace+name;if(routeHasBeenDefined(router,childName)){return childName}}function routeHasBeenDefined(router,name){var container=router.container;return router.hasRoute(name)&&(container.has("template:"+name)||container.has("route:"+name))}function triggerEvent(handlerInfos,ignoreFailure,args){var name=args.shift();if(!handlerInfos){if(ignoreFailure){return}throw new EmberError("Can't trigger action '"+name+"' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call `.send()` on the `Transition` object passed to the `model/beforeModel/afterModel` hooks.")}var eventWasHandled=false;var handlerInfo,handler;for(var i=handlerInfos.length-1;i>=0;i--){handlerInfo=handlerInfos[i];handler=handlerInfo.handler;if(handler._actions&&handler._actions[name]){if(handler._actions[name].apply(handler,args)===true){eventWasHandled=true}else{return}}}if(defaultActionHandlers[name]){defaultActionHandlers[name].apply(null,args);return}if(!eventWasHandled&&!ignoreFailure){throw new EmberError("Nothing handled the action '"+name+"'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.")}}function calculatePostTransitionState(emberRouter,leafRouteName,contexts){var routerjs=emberRouter.router;var state=routerjs.applyIntent(leafRouteName,contexts);var handlerInfos=state.handlerInfos;var params=state.params;for(var i=0,len=handlerInfos.length;i<len;++i){var handlerInfo=handlerInfos[i];if(!handlerInfo.isResolved){handlerInfo=handlerInfo.becomeResolved(null,handlerInfo.context)}params[handlerInfo.name]=handlerInfo.params}return state}function updatePaths(router){var appController=router.container.lookup("controller:application");if(!appController){return}var infos=router.router.currentHandlerInfos,path=EmberRouter._routePath(infos);if(!("currentPath"in appController)){defineProperty(appController,"currentPath")}set(appController,"currentPath",path);if(!("currentRouteName"in appController)){defineProperty(appController,"currentRouteName")}set(appController,"currentRouteName",infos[infos.length-1].name)}EmberRouter.reopenClass({router:null,map:function(callback){var router=this.router;if(!router){router=new Router;router._triggerWillChangeContext=Ember.K;router._triggerWillLeave=Ember.K;router.callbacks=[];router.triggerEvent=triggerEvent;this.reopenClass({router:router})}var dsl=EmberRouterDSL.map(function(){this.resource("application",{path:"/"},function(){for(var i=0;i<router.callbacks.length;i++){router.callbacks[i].call(this)}callback.call(this)})});router.callbacks.push(callback);router.map(dsl.generate());return router},_routePath:function(handlerInfos){var path=[];function intersectionMatches(a1,a2){for(var i=0,len=a1.length;i<len;++i){if(a1[i]!==a2[i]){return false}}return true}var name,nameParts,oldNameParts;for(var i=1,l=handlerInfos.length;i<l;i++){name=handlerInfos[i].name;nameParts=name.split(".");oldNameParts=slice.call(path);while(oldNameParts.length){if(intersectionMatches(oldNameParts,nameParts)){break}oldNameParts.shift()}path.push.apply(path,nameParts.slice(oldNameParts.length))}return path.join(".")}});function listenForTransitionErrors(transition){transition.then(null,function(error){if(!error||!error.name){return}if(error.name==="UnrecognizedURLError"){}else if(error.name==="TransitionAborted"){}else{logError(error)}return error},"Ember: Process errors from Router")}function resemblesURL(str){return typeof str==="string"&&(str===""||str.charAt(0)==="/")}function forEachQueryParam(router,targetRouteName,queryParams,callback){var qpCache=router._queryParamsFor(targetRouteName),qps=qpCache.qps;for(var key in queryParams){if(!queryParams.hasOwnProperty(key)){continue}var value=queryParams[key],qp=qpCache.map[key];if(qp){callback(key,value,qp)}}}__exports__["default"]=EmberRouter});define("ember-runtime",["ember-metal","ember-runtime/core","ember-runtime/keys","ember-runtime/compare","ember-runtime/copy","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/tracked_array","ember-runtime/system/subarray","ember-runtime/system/container","ember-runtime/system/application","ember-runtime/system/array_proxy","ember-runtime/system/object_proxy","ember-runtime/system/core_object","ember-runtime/system/each_proxy","ember-runtime/system/native_array","ember-runtime/system/set","ember-runtime/system/string","ember-runtime/system/deferred","ember-runtime/system/lazy_load","ember-runtime/mixins/array","ember-runtime/mixins/comparable","ember-runtime/mixins/copyable","ember-runtime/mixins/enumerable","ember-runtime/mixins/freezable","ember-runtime/mixins/observable","ember-runtime/mixins/action_handler","ember-runtime/mixins/deferred","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/mutable_array","ember-runtime/mixins/target_action_support","ember-runtime/mixins/evented","ember-runtime/mixins/promise_proxy","ember-runtime/mixins/sortable","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/computed/reduce_computed_macros","ember-runtime/controllers/array_controller","ember-runtime/controllers/object_controller","ember-runtime/controllers/controller","ember-runtime/mixins/controller","ember-runtime/ext/rsvp","ember-runtime/ext/string","ember-runtime/ext/function","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__dependency19__,__dependency20__,__dependency21__,__dependency22__,__dependency23__,__dependency24__,__dependency25__,__dependency26__,__dependency27__,__dependency28__,__dependency29__,__dependency30__,__dependency31__,__dependency32__,__dependency33__,__dependency34__,__dependency35__,__dependency36__,__dependency37__,__dependency38__,__dependency39__,__dependency40__,__dependency41__,__dependency42__,__dependency43__,__dependency44__,__exports__){"use strict";var Ember=__dependency1__["default"];var isEqual=__dependency2__.isEqual;var keys=__dependency3__["default"];var compare=__dependency4__["default"];var copy=__dependency5__["default"];var Namespace=__dependency6__["default"];var EmberObject=__dependency7__["default"];var TrackedArray=__dependency8__["default"];var SubArray=__dependency9__["default"];var Container=__dependency10__["default"];var Application=__dependency11__["default"];var ArrayProxy=__dependency12__["default"];var ObjectProxy=__dependency13__["default"];var CoreObject=__dependency14__["default"];var EachArray=__dependency15__.EachArray;var EachProxy=__dependency15__.EachProxy;var NativeArray=__dependency16__["default"];var Set=__dependency17__["default"];var EmberStringUtils=__dependency18__["default"];var Deferred=__dependency19__["default"];var onLoad=__dependency20__.onLoad;var runLoadHooks=__dependency20__.runLoadHooks;var EmberArray=__dependency21__["default"];var Comparable=__dependency22__["default"];var Copyable=__dependency23__["default"];var Enumerable=__dependency24__["default"];var Freezable=__dependency25__.Freezable;var FROZEN_ERROR=__dependency25__.FROZEN_ERROR;var Observable=__dependency26__["default"];var ActionHandler=__dependency27__["default"];var DeferredMixin=__dependency28__["default"];var MutableEnumerable=__dependency29__["default"];var MutableArray=__dependency30__["default"];var TargetActionSupport=__dependency31__["default"];var Evented=__dependency32__["default"];var PromiseProxyMixin=__dependency33__["default"];var SortableMixin=__dependency34__["default"];var arrayComputed=__dependency35__.arrayComputed;var ArrayComputedProperty=__dependency35__.ArrayComputedProperty;var reduceComputed=__dependency36__.reduceComputed;var ReduceComputedProperty=__dependency36__.ReduceComputedProperty;var sum=__dependency37__.sum;var min=__dependency37__.min;var max=__dependency37__.max;var map=__dependency37__.map;var sort=__dependency37__.sort;var setDiff=__dependency37__.setDiff;var mapBy=__dependency37__.mapBy;var mapProperty=__dependency37__.mapProperty;var filter=__dependency37__.filter;var filterBy=__dependency37__.filterBy;var filterProperty=__dependency37__.filterProperty;var uniq=__dependency37__.uniq;var union=__dependency37__.union;var intersect=__dependency37__.intersect;var ArrayController=__dependency38__["default"];var ObjectController=__dependency39__["default"];var Controller=__dependency40__["default"];var ControllerMixin=__dependency41__["default"];var RSVP=__dependency42__["default"];Ember.compare=compare;Ember.copy=copy;Ember.isEqual=isEqual;Ember.keys=keys;Ember.Array=EmberArray;Ember.Comparable=Comparable;Ember.Copyable=Copyable;Ember.SortableMixin=SortableMixin;Ember.Freezable=Freezable;Ember.FROZEN_ERROR=FROZEN_ERROR;Ember.DeferredMixin=DeferredMixin;Ember.MutableEnumerable=MutableEnumerable;Ember.MutableArray=MutableArray;Ember.TargetActionSupport=TargetActionSupport;Ember.Evented=Evented;Ember.PromiseProxyMixin=PromiseProxyMixin;Ember.Observable=Observable;Ember.arrayComputed=arrayComputed;Ember.ArrayComputedProperty=ArrayComputedProperty;Ember.reduceComputed=reduceComputed;Ember.ReduceComputedProperty=ReduceComputedProperty;var EmComputed=Ember.computed;EmComputed.sum=sum;EmComputed.min=min;EmComputed.max=max;EmComputed.map=map;EmComputed.sort=sort;EmComputed.setDiff=setDiff;EmComputed.mapBy=mapBy;EmComputed.mapProperty=mapProperty;EmComputed.filter=filter;EmComputed.filterBy=filterBy;EmComputed.filterProperty=filterProperty;EmComputed.uniq=uniq;EmComputed.union=union;EmComputed.intersect=intersect;Ember.String=EmberStringUtils;Ember.Object=EmberObject;Ember.TrackedArray=TrackedArray;Ember.SubArray=SubArray;Ember.Container=Container;Ember.Namespace=Namespace;Ember.Enumerable=Enumerable;Ember.ArrayProxy=ArrayProxy;Ember.ObjectProxy=ObjectProxy;Ember.ActionHandler=ActionHandler;Ember.CoreObject=CoreObject;Ember.EachArray=EachArray;Ember.EachProxy=EachProxy;Ember.NativeArray=NativeArray;Ember.Set=Set;Ember.Deferred=Deferred;Ember.onLoad=onLoad;Ember.runLoadHooks=runLoadHooks;Ember.ArrayController=ArrayController;Ember.ObjectController=ObjectController;Ember.Controller=Controller;Ember.ControllerMixin=ControllerMixin;Ember.RSVP=RSVP;__exports__["default"]=Ember});define("ember-runtime/compare",["ember-metal/core","ember-metal/utils","ember-runtime/mixins/comparable","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var typeOf=__dependency2__.typeOf;var Comparable=__dependency3__["default"];Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||["undefined","null","boolean","number","string","array","object","instance","function","class","date"];__exports__["default"]=function compare(v,w){if(v===w){return 0}var type1=typeOf(v);var type2=typeOf(w);if(Comparable){if(type1==="instance"&&Comparable.detect(v.constructor)){return v.constructor.compare(v,w)}if(type2==="instance"&&Comparable.detect(w.constructor)){return 1-w.constructor.compare(w,v)}}var mapping=Ember.ORDER_DEFINITION_MAPPING;if(!mapping){var order=Ember.ORDER_DEFINITION;mapping=Ember.ORDER_DEFINITION_MAPPING={};var idx,len;for(idx=0,len=order.length;idx<len;++idx){mapping[order[idx]]=idx}delete Ember.ORDER_DEFINITION}var type1Index=mapping[type1];var type2Index=mapping[type2];if(type1Index<type2Index){return-1}if(type1Index>type2Index){return 1}switch(type1){case"boolean":case"number":if(v<w){return-1}if(v>w){return 1}return 0;case"string":var comp=v.localeCompare(w);if(comp<0){return-1}if(comp>0){return 1}return 0;case"array":var vLen=v.length;var wLen=w.length;var l=Math.min(vLen,wLen);var r=0;var i=0;while(r===0&&i<l){r=compare(v[i],w[i]);i++}if(r!==0){return r}if(vLen<wLen){return-1}if(vLen>wLen){return 1}return 0;case"instance":if(Comparable&&Comparable.detect(v)){return v.compare(v,w)}return 0;case"date":var vNum=v.getTime();var wNum=w.getTime();if(vNum<wNum){return-1}if(vNum>wNum){return 1}return 0;default:return 0}}});define("ember-runtime/computed/array_computed",["ember-metal/core","ember-runtime/computed/reduce_computed","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/observer","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var reduceComputed=__dependency2__.reduceComputed;var ReduceComputedProperty=__dependency2__.ReduceComputedProperty;var forEach=__dependency3__.forEach;var o_create=__dependency4__.create;var addObserver=__dependency5__.addObserver;var EmberError=__dependency6__["default"];var a_slice=[].slice;function ArrayComputedProperty(){var cp=this;ReduceComputedProperty.apply(this,arguments);this.func=function(reduceFunc){return function(propertyName){if(!cp._hasInstanceMeta(this,propertyName)){forEach(cp._dependentKeys,function(dependentKey){addObserver(this,dependentKey,function(){cp.recomputeOnce.call(this,propertyName)})},this)}return reduceFunc.apply(this,arguments)}}(this.func);return this}ArrayComputedProperty.prototype=o_create(ReduceComputedProperty.prototype);ArrayComputedProperty.prototype.initialValue=function(){return Ember.A()};ArrayComputedProperty.prototype.resetValue=function(array){array.clear();return array};ArrayComputedProperty.prototype.didChange=function(obj,keyName){return};function arrayComputed(options){var args;if(arguments.length>1){args=a_slice.call(arguments,0,-1);options=a_slice.call(arguments,-1)[0]}if(typeof options!=="object"){throw new EmberError("Array Computed Property declared without an options hash")}var cp=new ArrayComputedProperty(options);if(args){cp.property.apply(cp,args)}return cp}__exports__.arrayComputed=arrayComputed;__exports__.ArrayComputedProperty=ArrayComputedProperty});define("ember-runtime/computed/reduce_computed",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/error","ember-metal/property_events","ember-metal/expand_properties","ember-metal/observer","ember-metal/computed","ember-metal/platform","ember-metal/enumerable_utils","ember-runtime/system/tracked_array","ember-runtime/mixins/array","ember-metal/run_loop","ember-runtime/system/set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__exports__){"use strict";var Ember=__dependency1__["default"];var e_get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var metaFor=__dependency4__.meta;var EmberError=__dependency5__["default"];var propertyWillChange=__dependency6__.propertyWillChange;var propertyDidChange=__dependency6__.propertyDidChange;var expandProperties=__dependency7__["default"];var addObserver=__dependency8__.addObserver;var observersFor=__dependency8__.observersFor;var removeObserver=__dependency8__.removeObserver;var addBeforeObserver=__dependency8__.addBeforeObserver;var removeBeforeObserver=__dependency8__.removeBeforeObserver;var ComputedProperty=__dependency9__.ComputedProperty;var cacheFor=__dependency9__.cacheFor;var o_create=__dependency10__.create;var forEach=__dependency11__.forEach;var TrackedArray=__dependency12__["default"];var EmberArray=__dependency13__["default"];var run=__dependency14__["default"];var Set=__dependency15__["default"];var isArray=__dependency4__.isArray;var cacheSet=cacheFor.set;var cacheGet=cacheFor.get;var cacheRemove=cacheFor.remove;var a_slice=[].slice;var eachPropertyPattern=/^(.*)\.@each\.(.*)/;var doubleEachPropertyPattern=/(.*\.@each){2,}/;var arrayBracketPattern=/\.\[\]$/;function get(obj,key){if(key==="@this"){return obj}return e_get(obj,key)}function DependentArraysObserver(callbacks,cp,instanceMeta,context,propertyName,sugarMeta){this.callbacks=callbacks;this.cp=cp;this.instanceMeta=instanceMeta;this.dependentKeysByGuid={};this.trackedArraysByGuid={};this.suspended=false;this.changedItems={};this.changedItemCount=0}function ItemPropertyObserverContext(dependentArray,index,trackedArray){this.dependentArray=dependentArray;this.index=index;this.item=dependentArray.objectAt(index);this.trackedArray=trackedArray;this.beforeObserver=null;this.observer=null;this.destroyed=false}DependentArraysObserver.prototype={setValue:function(newValue){this.instanceMeta.setValue(newValue,true)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(dependentArray,dependentKey){this.dependentKeysByGuid[guidFor(dependentArray)]=dependentKey;dependentArray.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"});if(this.cp._itemPropertyKeys[dependentKey]){this.setupPropertyObservers(dependentKey,this.cp._itemPropertyKeys[dependentKey])}},teardownObservers:function(dependentArray,dependentKey){var itemPropertyKeys=this.cp._itemPropertyKeys[dependentKey]||[];delete this.dependentKeysByGuid[guidFor(dependentArray)];this.teardownPropertyObservers(dependentKey,itemPropertyKeys);dependentArray.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},suspendArrayObservers:function(callback,binding){var oldSuspended=this.suspended;this.suspended=true;callback.call(binding);this.suspended=oldSuspended},setupPropertyObservers:function(dependentKey,itemPropertyKeys){var dependentArray=get(this.instanceMeta.context,dependentKey),length=get(dependentArray,"length"),observerContexts=new Array(length);this.resetTransformations(dependentKey,observerContexts);forEach(dependentArray,function(item,index){var observerContext=this.createPropertyObserverContext(dependentArray,index,this.trackedArraysByGuid[dependentKey]);observerContexts[index]=observerContext;forEach(itemPropertyKeys,function(propertyKey){addBeforeObserver(item,propertyKey,this,observerContext.beforeObserver);addObserver(item,propertyKey,this,observerContext.observer)},this)},this)},teardownPropertyObservers:function(dependentKey,itemPropertyKeys){var dependentArrayObserver=this,trackedArray=this.trackedArraysByGuid[dependentKey],beforeObserver,observer,item;if(!trackedArray){return}trackedArray.apply(function(observerContexts,offset,operation){if(operation===TrackedArray.DELETE){return}forEach(observerContexts,function(observerContext){observerContext.destroyed=true;beforeObserver=observerContext.beforeObserver;observer=observerContext.observer;item=observerContext.item;forEach(itemPropertyKeys,function(propertyKey){removeBeforeObserver(item,propertyKey,dependentArrayObserver,beforeObserver);removeObserver(item,propertyKey,dependentArrayObserver,observer)})})})},createPropertyObserverContext:function(dependentArray,index,trackedArray){var observerContext=new ItemPropertyObserverContext(dependentArray,index,trackedArray);this.createPropertyObserver(observerContext);return observerContext},createPropertyObserver:function(observerContext){var dependentArrayObserver=this;observerContext.beforeObserver=function(obj,keyName){return dependentArrayObserver.itemPropertyWillChange(obj,keyName,observerContext.dependentArray,observerContext)};observerContext.observer=function(obj,keyName){return dependentArrayObserver.itemPropertyDidChange(obj,keyName,observerContext.dependentArray,observerContext)}},resetTransformations:function(dependentKey,observerContexts){this.trackedArraysByGuid[dependentKey]=new TrackedArray(observerContexts)},trackAdd:function(dependentKey,index,newItems){var trackedArray=this.trackedArraysByGuid[dependentKey];if(trackedArray){trackedArray.addItems(index,newItems)}},trackRemove:function(dependentKey,index,removedCount){var trackedArray=this.trackedArraysByGuid[dependentKey];if(trackedArray){return trackedArray.removeItems(index,removedCount)}return[]},updateIndexes:function(trackedArray,array){var length=get(array,"length");trackedArray.apply(function(observerContexts,offset,operation,operationIndex){if(operation===TrackedArray.DELETE){return}if(operationIndex===0&&operation===TrackedArray.RETAIN&&observerContexts.length===length&&offset===0){return}forEach(observerContexts,function(context,index){context.index=index+offset})})},dependentArrayWillChange:function(dependentArray,index,removedCount,addedCount){if(this.suspended){return}var removedItem=this.callbacks.removedItem;var changeMeta;var guid=guidFor(dependentArray);var dependentKey=this.dependentKeysByGuid[guid];var itemPropertyKeys=this.cp._itemPropertyKeys[dependentKey]||[];var length=get(dependentArray,"length");var normalizedIndex=normalizeIndex(index,length,0);var normalizedRemoveCount=normalizeRemoveCount(normalizedIndex,length,removedCount);var item,itemIndex,sliceIndex,observerContexts;observerContexts=this.trackRemove(dependentKey,normalizedIndex,normalizedRemoveCount);function removeObservers(propertyKey){observerContexts[sliceIndex].destroyed=true;removeBeforeObserver(item,propertyKey,this,observerContexts[sliceIndex].beforeObserver);removeObserver(item,propertyKey,this,observerContexts[sliceIndex].observer)}for(sliceIndex=normalizedRemoveCount-1;sliceIndex>=0;--sliceIndex){itemIndex=normalizedIndex+sliceIndex;if(itemIndex>=length){break}item=dependentArray.objectAt(itemIndex);forEach(itemPropertyKeys,removeObservers,this);changeMeta=new ChangeMeta(dependentArray,item,itemIndex,this.instanceMeta.propertyName,this.cp,normalizedRemoveCount);this.setValue(removedItem.call(this.instanceMeta.context,this.getValue(),item,changeMeta,this.instanceMeta.sugarMeta))}},dependentArrayDidChange:function(dependentArray,index,removedCount,addedCount){if(this.suspended){return}var addedItem=this.callbacks.addedItem;var guid=guidFor(dependentArray);var dependentKey=this.dependentKeysByGuid[guid];var observerContexts=new Array(addedCount);var itemPropertyKeys=this.cp._itemPropertyKeys[dependentKey];var length=get(dependentArray,"length");var normalizedIndex=normalizeIndex(index,length,addedCount);var changeMeta,observerContext;forEach(dependentArray.slice(normalizedIndex,normalizedIndex+addedCount),function(item,sliceIndex){if(itemPropertyKeys){observerContext=observerContexts[sliceIndex]=this.createPropertyObserverContext(dependentArray,normalizedIndex+sliceIndex,this.trackedArraysByGuid[dependentKey]);forEach(itemPropertyKeys,function(propertyKey){addBeforeObserver(item,propertyKey,this,observerContext.beforeObserver);addObserver(item,propertyKey,this,observerContext.observer)},this)}changeMeta=new ChangeMeta(dependentArray,item,normalizedIndex+sliceIndex,this.instanceMeta.propertyName,this.cp,addedCount);this.setValue(addedItem.call(this.instanceMeta.context,this.getValue(),item,changeMeta,this.instanceMeta.sugarMeta))},this);this.trackAdd(dependentKey,normalizedIndex,observerContexts)},itemPropertyWillChange:function(obj,keyName,array,observerContext){var guid=guidFor(obj);if(!this.changedItems[guid]){this.changedItems[guid]={array:array,observerContext:observerContext,obj:obj,previousValues:{}}}++this.changedItemCount;this.changedItems[guid].previousValues[keyName]=get(obj,keyName)},itemPropertyDidChange:function(obj,keyName,array,observerContext){if(--this.changedItemCount===0){this.flushChanges()}},flushChanges:function(){var changedItems=this.changedItems,key,c,changeMeta;for(key in changedItems){c=changedItems[key];if(c.observerContext.destroyed){continue}this.updateIndexes(c.observerContext.trackedArray,c.observerContext.dependentArray);changeMeta=new ChangeMeta(c.array,c.obj,c.observerContext.index,this.instanceMeta.propertyName,this.cp,changedItems.length,c.previousValues);this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),c.obj,changeMeta,this.instanceMeta.sugarMeta));this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),c.obj,changeMeta,this.instanceMeta.sugarMeta))}this.changedItems={}}};function normalizeIndex(index,length,newItemsOffset){if(index<0){return Math.max(0,length+index)}else if(index<length){return index}else{return Math.min(length-newItemsOffset,index)}}function normalizeRemoveCount(index,length,removedCount){return Math.min(removedCount,length-index)}function ChangeMeta(dependentArray,item,index,propertyName,property,changedCount,previousValues){this.arrayChanged=dependentArray;this.index=index;this.item=item;this.propertyName=propertyName;this.property=property;this.changedCount=changedCount;if(previousValues){this.previousValues=previousValues}}function addItems(dependentArray,callbacks,cp,propertyName,meta){forEach(dependentArray,function(item,index){meta.setValue(callbacks.addedItem.call(this,meta.getValue(),item,new ChangeMeta(dependentArray,item,index,propertyName,cp,dependentArray.length),meta.sugarMeta))},this)}function reset(cp,propertyName){var callbacks=cp._callbacks(),meta;if(cp._hasInstanceMeta(this,propertyName)){meta=cp._instanceMeta(this,propertyName);meta.setValue(cp.resetValue(meta.getValue()))}else{meta=cp._instanceMeta(this,propertyName)}if(cp.options.initialize){cp.options.initialize.call(this,meta.getValue(),{property:cp,propertyName:propertyName},meta.sugarMeta)}}function partiallyRecomputeFor(obj,dependentKey){if(arrayBracketPattern.test(dependentKey)){return false}var value=get(obj,dependentKey);return EmberArray.detect(value)}function ReduceComputedPropertyInstanceMeta(context,propertyName,initialValue){this.context=context;this.propertyName=propertyName;this.cache=metaFor(context).cache;this.dependentArrays={};this.sugarMeta={};this.initialValue=initialValue}ReduceComputedPropertyInstanceMeta.prototype={getValue:function(){var value=cacheGet(this.cache,this.propertyName);if(value!==undefined){return value}else{return this.initialValue}},setValue:function(newValue,triggerObservers){if(newValue===cacheGet(this.cache,this.propertyName)){return}if(triggerObservers){propertyWillChange(this.context,this.propertyName)}if(newValue===undefined){cacheRemove(this.cache,this.propertyName)}else{cacheSet(this.cache,this.propertyName,newValue)}if(triggerObservers){propertyDidChange(this.context,this.propertyName)}}};__exports__.ReduceComputedProperty=ReduceComputedProperty;function ReduceComputedProperty(options){var cp=this;this.options=options;this._dependentKeys=null;this._itemPropertyKeys={};this._previousItemPropertyKeys={};this.readOnly();this.cacheable();this.recomputeOnce=function(propertyName){run.once(this,recompute,propertyName)
11
+ };var recompute=function(propertyName){var dependentKeys=cp._dependentKeys,meta=cp._instanceMeta(this,propertyName),callbacks=cp._callbacks();reset.call(this,cp,propertyName);meta.dependentArraysObserver.suspendArrayObservers(function(){forEach(cp._dependentKeys,function(dependentKey){if(!partiallyRecomputeFor(this,dependentKey)){return}var dependentArray=get(this,dependentKey),previousDependentArray=meta.dependentArrays[dependentKey];if(dependentArray===previousDependentArray){if(cp._previousItemPropertyKeys[dependentKey]){delete cp._previousItemPropertyKeys[dependentKey];meta.dependentArraysObserver.setupPropertyObservers(dependentKey,cp._itemPropertyKeys[dependentKey])}}else{meta.dependentArrays[dependentKey]=dependentArray;if(previousDependentArray){meta.dependentArraysObserver.teardownObservers(previousDependentArray,dependentKey)}if(dependentArray){meta.dependentArraysObserver.setupObservers(dependentArray,dependentKey)}}},this)},this);forEach(cp._dependentKeys,function(dependentKey){if(!partiallyRecomputeFor(this,dependentKey)){return}var dependentArray=get(this,dependentKey);if(dependentArray){addItems.call(this,dependentArray,callbacks,cp,propertyName,meta)}},this)};this.func=function(propertyName){recompute.call(this,propertyName);return cp._instanceMeta(this,propertyName).getValue()}}ReduceComputedProperty.prototype=o_create(ComputedProperty.prototype);function defaultCallback(computedValue){return computedValue}ReduceComputedProperty.prototype._callbacks=function(){if(!this.callbacks){var options=this.options;this.callbacks={removedItem:options.removedItem||defaultCallback,addedItem:options.addedItem||defaultCallback}}return this.callbacks};ReduceComputedProperty.prototype._hasInstanceMeta=function(context,propertyName){return!!metaFor(context).cacheMeta[propertyName]};ReduceComputedProperty.prototype._instanceMeta=function(context,propertyName){var cacheMeta=metaFor(context).cacheMeta,meta=cacheMeta[propertyName];if(!meta){meta=cacheMeta[propertyName]=new ReduceComputedPropertyInstanceMeta(context,propertyName,this.initialValue());meta.dependentArraysObserver=new DependentArraysObserver(this._callbacks(),this,meta,context,propertyName,meta.sugarMeta)}return meta};ReduceComputedProperty.prototype.initialValue=function(){if(typeof this.options.initialValue==="function"){return this.options.initialValue()}else{return this.options.initialValue}};ReduceComputedProperty.prototype.resetValue=function(value){return this.initialValue()};ReduceComputedProperty.prototype.itemPropertyKey=function(dependentArrayKey,itemPropertyKey){this._itemPropertyKeys[dependentArrayKey]=this._itemPropertyKeys[dependentArrayKey]||[];this._itemPropertyKeys[dependentArrayKey].push(itemPropertyKey)};ReduceComputedProperty.prototype.clearItemPropertyKeys=function(dependentArrayKey){if(this._itemPropertyKeys[dependentArrayKey]){this._previousItemPropertyKeys[dependentArrayKey]=this._itemPropertyKeys[dependentArrayKey];this._itemPropertyKeys[dependentArrayKey]=[]}};ReduceComputedProperty.prototype.property=function(){var cp=this,args=a_slice.call(arguments),propertyArgs=new Set,match,dependentArrayKey,itemPropertyKey;forEach(args,function(dependentKey){if(doubleEachPropertyPattern.test(dependentKey)){throw new EmberError("Nested @each properties not supported: "+dependentKey)}else if(match=eachPropertyPattern.exec(dependentKey)){dependentArrayKey=match[1];var itemPropertyKeyPattern=match[2],addItemPropertyKey=function(itemPropertyKey){cp.itemPropertyKey(dependentArrayKey,itemPropertyKey)};expandProperties(itemPropertyKeyPattern,addItemPropertyKey);propertyArgs.add(dependentArrayKey)}else{propertyArgs.add(dependentKey)}});return ComputedProperty.prototype.property.apply(this,propertyArgs.toArray())};function reduceComputed(options){var args;if(arguments.length>1){args=a_slice.call(arguments,0,-1);options=a_slice.call(arguments,-1)[0]}if(typeof options!=="object"){throw new EmberError("Reduce Computed Property declared without an options hash")}if(!("initialValue"in options)){throw new EmberError("Reduce Computed Property declared without an initial value")}var cp=new ReduceComputedProperty(options);if(args){cp.property.apply(cp,args)}return cp}__exports__.reduceComputed=reduceComputed});define("ember-runtime/computed/reduce_computed_macros",["ember-metal/core","ember-metal/merge","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/run_loop","ember-metal/observer","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/system/object_proxy","ember-runtime/system/subarray","ember-runtime/keys","ember-runtime/compare","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__exports__){"use strict";var Ember=__dependency1__["default"];var merge=__dependency2__["default"];var get=__dependency3__.get;var set=__dependency4__.set;var isArray=__dependency5__.isArray;var guidFor=__dependency5__.guidFor;var EmberError=__dependency6__["default"];var forEach=__dependency7__.forEach;var run=__dependency8__["default"];var addObserver=__dependency9__.addObserver;var arrayComputed=__dependency10__.arrayComputed;var reduceComputed=__dependency11__.reduceComputed;var ObjectProxy=__dependency12__["default"];var SubArray=__dependency13__["default"];var keys=__dependency14__["default"];var compare=__dependency15__["default"];var a_slice=[].slice;function sum(dependentKey){return reduceComputed(dependentKey,{initialValue:0,addedItem:function(accumulatedValue,item,changeMeta,instanceMeta){return accumulatedValue+item},removedItem:function(accumulatedValue,item,changeMeta,instanceMeta){return accumulatedValue-item}})}__exports__.sum=sum;function max(dependentKey){return reduceComputed(dependentKey,{initialValue:-Infinity,addedItem:function(accumulatedValue,item,changeMeta,instanceMeta){return Math.max(accumulatedValue,item)},removedItem:function(accumulatedValue,item,changeMeta,instanceMeta){if(item<accumulatedValue){return accumulatedValue}}})}__exports__.max=max;function min(dependentKey){return reduceComputed(dependentKey,{initialValue:Infinity,addedItem:function(accumulatedValue,item,changeMeta,instanceMeta){return Math.min(accumulatedValue,item)},removedItem:function(accumulatedValue,item,changeMeta,instanceMeta){if(item>accumulatedValue){return accumulatedValue}}})}__exports__.min=min;function map(dependentKey,callback){var options={addedItem:function(array,item,changeMeta,instanceMeta){var mapped=callback.call(this,item);array.insertAt(changeMeta.index,mapped);return array},removedItem:function(array,item,changeMeta,instanceMeta){array.removeAt(changeMeta.index,1);return array}};return arrayComputed(dependentKey,options)}__exports__.map=map;function mapBy(dependentKey,propertyKey){var callback=function(item){return get(item,propertyKey)};return map(dependentKey+".@each."+propertyKey,callback)}__exports__.mapBy=mapBy;var mapProperty=mapBy;__exports__.mapProperty=mapProperty;function filter(dependentKey,callback){var options={initialize:function(array,changeMeta,instanceMeta){instanceMeta.filteredArrayIndexes=new SubArray},addedItem:function(array,item,changeMeta,instanceMeta){var match=!!callback.call(this,item),filterIndex=instanceMeta.filteredArrayIndexes.addItem(changeMeta.index,match);if(match){array.insertAt(filterIndex,item)}return array},removedItem:function(array,item,changeMeta,instanceMeta){var filterIndex=instanceMeta.filteredArrayIndexes.removeItem(changeMeta.index);if(filterIndex>-1){array.removeAt(filterIndex)}return array}};return arrayComputed(dependentKey,options)}__exports__.filter=filter;function filterBy(dependentKey,propertyKey,value){var callback;if(arguments.length===2){callback=function(item){return get(item,propertyKey)}}else{callback=function(item){return get(item,propertyKey)===value}}return filter(dependentKey+".@each."+propertyKey,callback)}__exports__.filterBy=filterBy;var filterProperty=filterBy;__exports__.filterProperty=filterProperty;function uniq(){var args=a_slice.call(arguments);args.push({initialize:function(array,changeMeta,instanceMeta){instanceMeta.itemCounts={}},addedItem:function(array,item,changeMeta,instanceMeta){var guid=guidFor(item);if(!instanceMeta.itemCounts[guid]){instanceMeta.itemCounts[guid]=1}else{++instanceMeta.itemCounts[guid]}array.addObject(item);return array},removedItem:function(array,item,_,instanceMeta){var guid=guidFor(item),itemCounts=instanceMeta.itemCounts;if(--itemCounts[guid]===0){array.removeObject(item)}return array}});return arrayComputed.apply(null,args)}__exports__.uniq=uniq;var union=uniq;__exports__.union=union;function intersect(){var getDependentKeyGuids=function(changeMeta){return map(changeMeta.property._dependentKeys,function(dependentKey){return guidFor(dependentKey)})};var args=a_slice.call(arguments);args.push({initialize:function(array,changeMeta,instanceMeta){instanceMeta.itemCounts={}},addedItem:function(array,item,changeMeta,instanceMeta){var itemGuid=guidFor(item),dependentGuids=getDependentKeyGuids(changeMeta),dependentGuid=guidFor(changeMeta.arrayChanged),numberOfDependentArrays=changeMeta.property._dependentKeys.length,itemCounts=instanceMeta.itemCounts;if(!itemCounts[itemGuid]){itemCounts[itemGuid]={}}if(itemCounts[itemGuid][dependentGuid]===undefined){itemCounts[itemGuid][dependentGuid]=0}if(++itemCounts[itemGuid][dependentGuid]===1&&numberOfDependentArrays===keys(itemCounts[itemGuid]).length){array.addObject(item)}return array},removedItem:function(array,item,changeMeta,instanceMeta){var itemGuid=guidFor(item),dependentGuids=getDependentKeyGuids(changeMeta),dependentGuid=guidFor(changeMeta.arrayChanged),numberOfDependentArrays=changeMeta.property._dependentKeys.length,numberOfArraysItemAppearsIn,itemCounts=instanceMeta.itemCounts;if(itemCounts[itemGuid][dependentGuid]===undefined){itemCounts[itemGuid][dependentGuid]=0}if(--itemCounts[itemGuid][dependentGuid]===0){delete itemCounts[itemGuid][dependentGuid];numberOfArraysItemAppearsIn=keys(itemCounts[itemGuid]).length;if(numberOfArraysItemAppearsIn===0){delete itemCounts[itemGuid]}array.removeObject(item)}return array}});return arrayComputed.apply(null,args)}__exports__.intersect=intersect;function setDiff(setAProperty,setBProperty){if(arguments.length!==2){throw new EmberError("setDiff requires exactly two dependent arrays.")}return arrayComputed(setAProperty,setBProperty,{addedItem:function(array,item,changeMeta,instanceMeta){var setA=get(this,setAProperty),setB=get(this,setBProperty);if(changeMeta.arrayChanged===setA){if(!setB.contains(item)){array.addObject(item)}}else{array.removeObject(item)}return array},removedItem:function(array,item,changeMeta,instanceMeta){var setA=get(this,setAProperty),setB=get(this,setBProperty);if(changeMeta.arrayChanged===setB){if(setA.contains(item)){array.addObject(item)}}else{array.removeObject(item)}return array}})}__exports__.setDiff=setDiff;function binarySearch(array,item,low,high){var mid,midItem,res,guidMid,guidItem;if(arguments.length<4){high=get(array,"length")}if(arguments.length<3){low=0}if(low===high){return low}mid=low+Math.floor((high-low)/2);midItem=array.objectAt(mid);guidMid=_guidFor(midItem);guidItem=_guidFor(item);if(guidMid===guidItem){return mid}res=this.order(midItem,item);if(res===0){res=guidMid<guidItem?-1:1}if(res<0){return this.binarySearch(array,item,mid+1,high)}else if(res>0){return this.binarySearch(array,item,low,mid)}return mid;function _guidFor(item){if(SearchProxy.detectInstance(item)){return guidFor(get(item,"content"))}return guidFor(item)}}var SearchProxy=ObjectProxy.extend();function sort(itemsKey,sortDefinition){var initFn,sortPropertiesKey;if(typeof sortDefinition==="function"){initFn=function(array,changeMeta,instanceMeta){instanceMeta.order=sortDefinition;instanceMeta.binarySearch=binarySearch}}else{sortPropertiesKey=sortDefinition;initFn=function(array,changeMeta,instanceMeta){function setupSortProperties(){var sortPropertyDefinitions=get(this,sortPropertiesKey),sortProperty,sortProperties=instanceMeta.sortProperties=[],sortPropertyAscending=instanceMeta.sortPropertyAscending={},idx,asc;changeMeta.property.clearItemPropertyKeys(itemsKey);forEach(sortPropertyDefinitions,function(sortPropertyDefinition){if((idx=sortPropertyDefinition.indexOf(":"))!==-1){sortProperty=sortPropertyDefinition.substring(0,idx);asc=sortPropertyDefinition.substring(idx+1).toLowerCase()!=="desc"}else{sortProperty=sortPropertyDefinition;asc=true}sortProperties.push(sortProperty);sortPropertyAscending[sortProperty]=asc;changeMeta.property.itemPropertyKey(itemsKey,sortProperty)});sortPropertyDefinitions.addObserver("@each",this,updateSortPropertiesOnce)}function updateSortPropertiesOnce(){run.once(this,updateSortProperties,changeMeta.propertyName)}function updateSortProperties(propertyName){setupSortProperties.call(this);changeMeta.property.recomputeOnce.call(this,propertyName)}addObserver(this,sortPropertiesKey,updateSortPropertiesOnce);setupSortProperties.call(this);instanceMeta.order=function(itemA,itemB){var isProxy=itemB instanceof SearchProxy,sortProperty,result,asc;for(var i=0;i<this.sortProperties.length;++i){sortProperty=this.sortProperties[i];result=compare(get(itemA,sortProperty),isProxy?itemB[sortProperty]:get(itemB,sortProperty));if(result!==0){asc=this.sortPropertyAscending[sortProperty];return asc?result:-1*result}}return 0};instanceMeta.binarySearch=binarySearch}}return arrayComputed(itemsKey,{initialize:initFn,addedItem:function(array,item,changeMeta,instanceMeta){var index=instanceMeta.binarySearch(array,item);array.insertAt(index,item);return array},removedItem:function(array,item,changeMeta,instanceMeta){var proxyProperties,index,searchItem;if(changeMeta.previousValues){proxyProperties=merge({content:item},changeMeta.previousValues);searchItem=SearchProxy.create(proxyProperties)}else{searchItem=item}index=instanceMeta.binarySearch(array,searchItem);array.removeAt(index);return array}})}__exports__.sort=sort});define("ember-runtime/controllers/array_controller",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/enumerable_utils","ember-runtime/system/array_proxy","ember-runtime/mixins/sortable","ember-runtime/mixins/controller","ember-metal/computed","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var forEach=__dependency4__.forEach;var replace=__dependency4__.replace;var ArrayProxy=__dependency5__["default"];var SortableMixin=__dependency6__["default"];var ControllerMixin=__dependency7__["default"];var computed=__dependency8__.computed;var EmberError=__dependency9__["default"];__exports__["default"]=ArrayProxy.extend(ControllerMixin,SortableMixin,{itemController:null,lookupItemController:function(object){return get(this,"itemController")},objectAtContent:function(idx){var length=get(this,"length");var arrangedContent=get(this,"arrangedContent");var object=arrangedContent&&arrangedContent.objectAt(idx);var controllerClass;if(idx>=0&&idx<length){controllerClass=this.lookupItemController(object);if(controllerClass){return this.controllerAt(idx,object,controllerClass)}}return object},arrangedContentDidChange:function(){this._super();this._resetSubControllers()},arrayContentDidChange:function(idx,removedCnt,addedCnt){var subControllers=this._subControllers;if(subControllers.length){var subControllersToRemove=subControllers.slice(idx,idx+removedCnt);forEach(subControllersToRemove,function(subController){if(subController){subController.destroy()}});replace(subControllers,idx,removedCnt,new Array(addedCnt))}this._super(idx,removedCnt,addedCnt)},init:function(){this._super();this._subControllers=[]},model:computed(function(){return Ember.A()}),_isVirtual:false,controllerAt:function(idx,object,controllerClass){var fullName,subController,parentController;var container=get(this,"container");var subControllers=this._subControllers;if(subControllers.length>idx){subController=subControllers[idx];if(subController){return subController}}fullName="controller:"+controllerClass;if(!container.has(fullName)){throw new EmberError('Could not resolve itemController: "'+controllerClass+'"')}if(this._isVirtual){parentController=get(this,"parentController")}else{parentController=this}subController=container.lookupFactory(fullName).create({target:parentController,parentController:parentController,model:object});subControllers[idx]=subController;return subController},_subControllers:null,_resetSubControllers:function(){var controller;var subControllers=this._subControllers;if(subControllers.length){for(var i=0,length=subControllers.length;length>i;i++){controller=subControllers[i];if(controller){controller.destroy()}}subControllers.length=0}},willDestroy:function(){this._resetSubControllers();this._super()}})});define("ember-runtime/controllers/controller",["ember-runtime/system/object","ember-runtime/mixins/controller","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var EmberObject=__dependency1__["default"];var Mixin=__dependency2__["default"];__exports__["default"]=EmberObject.extend(Mixin)});define("ember-runtime/controllers/object_controller",["ember-runtime/mixins/controller","ember-runtime/system/object_proxy","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var ControllerMixin=__dependency1__["default"];var ObjectProxy=__dependency2__["default"];__exports__["default"]=ObjectProxy.extend(ControllerMixin)});define("ember-runtime/copy",["ember-metal/enumerable_utils","ember-metal/utils","ember-runtime/system/object","ember-runtime/mixins/copyable","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var indexOf=__dependency1__.indexOf;var typeOf=__dependency2__.typeOf;var EmberObject=__dependency3__["default"];var Copyable=__dependency4__["default"];var create=__dependency5__.create;function _copy(obj,deep,seen,copies){var ret,loc,key;if("object"!==typeof obj||obj===null)return obj;if(deep&&(loc=indexOf(seen,obj))>=0)return copies[loc];if(typeOf(obj)==="array"){ret=obj.slice();if(deep){loc=ret.length;while(--loc>=0)ret[loc]=_copy(ret[loc],deep,seen,copies)}}else if(Copyable&&Copyable.detect(obj)){ret=obj.copy(deep,seen,copies)}else if(obj instanceof Date){ret=new Date(obj.getTime())}else{ret={};for(key in obj){if(!obj.hasOwnProperty(key))continue;if(key.substring(0,2)==="__")continue;ret[key]=deep?_copy(obj[key],deep,seen,copies):obj[key]}}if(deep){seen.push(obj);copies.push(ret)}return ret}__exports__["default"]=function copy(obj,deep){if("object"!==typeof obj||obj===null)return obj;if(Copyable&&Copyable.detect(obj))return obj.copy(deep);return _copy(obj,deep,deep?[]:null,deep?[]:null)}});define("ember-runtime/core",["exports"],function(__exports__){"use strict";var isEqual=function isEqual(a,b){if(a&&"function"===typeof a.isEqual)return a.isEqual(b);if(a instanceof Date&&b instanceof Date){return a.getTime()===b.getTime()}return a===b};__exports__.isEqual=isEqual});define("ember-runtime/ext/function",["ember-metal/core","ember-metal/expand_properties","ember-metal/computed"],function(__dependency1__,__dependency2__,__dependency3__){"use strict";var Ember=__dependency1__["default"];var expandProperties=__dependency2__["default"];var computed=__dependency3__.computed;var a_slice=Array.prototype.slice;var FunctionPrototype=Function.prototype;if(Ember.EXTEND_PROTOTYPES===true||Ember.EXTEND_PROTOTYPES.Function){FunctionPrototype.property=function(){var ret=computed(this);return ret.property.apply(ret,arguments)};FunctionPrototype.observes=function(){var addWatchedProperty=function(obs){watched.push(obs)};var watched=[];for(var i=0;i<arguments.length;++i){expandProperties(arguments[i],addWatchedProperty)}this.__ember_observes__=watched;return this};FunctionPrototype.observesImmediately=function(){for(var i=0,l=arguments.length;i<l;i++){var arg=arguments[i]}return this.observes.apply(this,arguments)};FunctionPrototype.observesBefore=function(){var addWatchedProperty=function(obs){watched.push(obs)};var watched=[];for(var i=0;i<arguments.length;++i){expandProperties(arguments[i],addWatchedProperty)}this.__ember_observesBefore__=watched;return this};FunctionPrototype.on=function(){var events=a_slice.call(arguments);this.__ember_listens__=events;return this}}});define("ember-runtime/ext/rsvp",["ember-metal/core","ember-metal/logger","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var Logger=__dependency2__["default"];var RSVP=requireModule("rsvp");var Test,testModuleName="ember-testing/test";RSVP.onerrorDefault=function(error){if(error instanceof Error){if(Ember.testing){if(!Test&&Ember.__loader.registry[testModuleName]){Test=requireModule(testModuleName)["default"]}if(Test&&Test.adapter){Test.adapter.exception(error)}else{throw error}}else if(Ember.onerror){Ember.onerror(error)}else{Logger.error(error.stack)}}};RSVP.on("error",RSVP.onerrorDefault);__exports__["default"]=RSVP});define("ember-runtime/ext/string",["ember-metal/core","ember-runtime/system/string"],function(__dependency1__,__dependency2__){"use strict";var Ember=__dependency1__["default"];var fmt=__dependency2__.fmt;var w=__dependency2__.w;var loc=__dependency2__.loc;var camelize=__dependency2__.camelize;var decamelize=__dependency2__.decamelize;var dasherize=__dependency2__.dasherize;var underscore=__dependency2__.underscore;var capitalize=__dependency2__.capitalize;var classify=__dependency2__.classify;var StringPrototype=String.prototype;if(Ember.EXTEND_PROTOTYPES===true||Ember.EXTEND_PROTOTYPES.String){StringPrototype.fmt=function(){return fmt(this,arguments)};StringPrototype.w=function(){return w(this)};StringPrototype.loc=function(){return loc(this,arguments)};StringPrototype.camelize=function(){return camelize(this)};StringPrototype.decamelize=function(){return decamelize(this)};StringPrototype.dasherize=function(){return dasherize(this)};StringPrototype.underscore=function(){return underscore(this)};StringPrototype.classify=function(){return classify(this)};StringPrototype.capitalize=function(){return capitalize(this)}}});define("ember-runtime/keys",["ember-metal/enumerable_utils","ember-metal/platform","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var EnumerableUtils=__dependency1__["default"];var create=__dependency2__.create;var keys=Object.keys;if(!keys||create.isSimulated){var prototypeProperties=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","valueOf","toLocaleString","toString"],pushPropertyName=function(obj,array,key){if(key.substring(0,2)==="__")return;if(key==="_super")return;if(EnumerableUtils.indexOf(array,key)>=0)return;if(typeof obj.hasOwnProperty==="function"&&!obj.hasOwnProperty(key))return;array.push(key)};keys=function keys(obj){var ret=[],key;for(key in obj){pushPropertyName(obj,ret,key)}for(var i=0,l=prototypeProperties.length;i<l;i++){key=prototypeProperties[i];pushPropertyName(obj,ret,key)}return ret}}__exports__["default"]=keys});define("ember-runtime/mixins/action_handler",["ember-metal/merge","ember-metal/mixin","ember-metal/property_get","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var merge=__dependency1__["default"];var Mixin=__dependency2__.Mixin;var get=__dependency3__.get;var typeOf=__dependency4__.typeOf;var ActionHandler=Mixin.create({mergedProperties:["_actions"],willMergeMixin:function(props){var hashName;if(!props._actions){if(typeOf(props.actions)==="object"){hashName="actions"}else if(typeOf(props.events)==="object"){hashName="events"}if(hashName){props._actions=merge(props._actions||{},props[hashName])}delete props[hashName]}},send:function(actionName){var args=[].slice.call(arguments,1),target;if(this._actions&&this._actions[actionName]){if(this._actions[actionName].apply(this,args)===true){}else{return}}else if(!Ember.FEATURES.isEnabled("ember-routing-drop-deprecated-action-style")&&this.deprecatedSend&&this.deprecatedSendHandles&&this.deprecatedSendHandles(actionName)){if(this.deprecatedSend.apply(this,[].slice.call(arguments))===true){}else{return}}if(target=get(this,"target")){target.send.apply(target,arguments)}}});__exports__["default"]=ActionHandler});define("ember-runtime/mixins/array",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/is_none","ember-runtime/mixins/enumerable","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/property_events","ember-metal/events","ember-metal/watching","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var computed=__dependency4__.computed;var cacheFor=__dependency4__.cacheFor;var isNone=__dependency5__.isNone;var none=__dependency5__.none;var Enumerable=__dependency6__["default"];var map=__dependency7__.map;var Mixin=__dependency8__.Mixin;var required=__dependency8__.required;var propertyWillChange=__dependency9__.propertyWillChange;var propertyDidChange=__dependency9__.propertyDidChange;var addListener=__dependency10__.addListener;var removeListener=__dependency10__.removeListener;var sendEvent=__dependency10__.sendEvent;var hasListeners=__dependency10__.hasListeners;var isWatching=__dependency11__.isWatching;__exports__["default"]=Mixin.create(Enumerable,{length:required(),objectAt:function(idx){if(idx<0||idx>=get(this,"length"))return undefined;return get(this,idx)},objectsAt:function(indexes){var self=this;return map(indexes,function(idx){return self.objectAt(idx)})},nextObject:function(idx){return this.objectAt(idx)},"[]":computed(function(key,value){if(value!==undefined)this.replace(0,get(this,"length"),value);return this}),firstObject:computed(function(){return this.objectAt(0)}),lastObject:computed(function(){return this.objectAt(get(this,"length")-1)}),contains:function(obj){return this.indexOf(obj)>=0},slice:function(beginIndex,endIndex){var ret=Ember.A();var length=get(this,"length");if(isNone(beginIndex))beginIndex=0;if(isNone(endIndex)||endIndex>length)endIndex=length;if(beginIndex<0)beginIndex=length+beginIndex;if(endIndex<0)endIndex=length+endIndex;while(beginIndex<endIndex){ret[ret.length]=this.objectAt(beginIndex++)}return ret},indexOf:function(object,startAt){var idx,len=get(this,"length");if(startAt===undefined)startAt=0;if(startAt<0)startAt+=len;for(idx=startAt;idx<len;idx++){if(this.objectAt(idx)===object)return idx}return-1},lastIndexOf:function(object,startAt){var idx,len=get(this,"length");if(startAt===undefined||startAt>=len)startAt=len-1;if(startAt<0)startAt+=len;for(idx=startAt;idx>=0;idx--){if(this.objectAt(idx)===object)return idx}return-1},addArrayObserver:function(target,opts){var willChange=opts&&opts.willChange||"arrayWillChange",didChange=opts&&opts.didChange||"arrayDidChange";var hasObservers=get(this,"hasArrayObservers");if(!hasObservers)propertyWillChange(this,"hasArrayObservers");addListener(this,"@array:before",target,willChange);addListener(this,"@array:change",target,didChange);if(!hasObservers)propertyDidChange(this,"hasArrayObservers");return this},removeArrayObserver:function(target,opts){var willChange=opts&&opts.willChange||"arrayWillChange",didChange=opts&&opts.didChange||"arrayDidChange";var hasObservers=get(this,"hasArrayObservers");if(hasObservers)propertyWillChange(this,"hasArrayObservers");removeListener(this,"@array:before",target,willChange);removeListener(this,"@array:change",target,didChange);if(hasObservers)propertyDidChange(this,"hasArrayObservers");return this},hasArrayObservers:computed(function(){return hasListeners(this,"@array:change")||hasListeners(this,"@array:before")}),arrayContentWillChange:function(startIdx,removeAmt,addAmt){if(startIdx===undefined){startIdx=0;removeAmt=addAmt=-1}else{if(removeAmt===undefined)removeAmt=-1;if(addAmt===undefined)addAmt=-1}if(isWatching(this,"@each")){get(this,"@each")}sendEvent(this,"@array:before",[this,startIdx,removeAmt,addAmt]);var removing,lim;if(startIdx>=0&&removeAmt>=0&&get(this,"hasEnumerableObservers")){removing=[];lim=startIdx+removeAmt;for(var idx=startIdx;idx<lim;idx++)removing.push(this.objectAt(idx))}else{removing=removeAmt}this.enumerableContentWillChange(removing,addAmt);return this},arrayContentDidChange:function(startIdx,removeAmt,addAmt){if(startIdx===undefined){startIdx=0;removeAmt=addAmt=-1}else{if(removeAmt===undefined)removeAmt=-1;if(addAmt===undefined)addAmt=-1}var adding,lim;if(startIdx>=0&&addAmt>=0&&get(this,"hasEnumerableObservers")){adding=[];lim=startIdx+addAmt;for(var idx=startIdx;idx<lim;idx++)adding.push(this.objectAt(idx))}else{adding=addAmt}this.enumerableContentDidChange(removeAmt,adding);sendEvent(this,"@array:change",[this,startIdx,removeAmt,addAmt]);var length=get(this,"length"),cachedFirst=cacheFor(this,"firstObject"),cachedLast=cacheFor(this,"lastObject");if(this.objectAt(0)!==cachedFirst){propertyWillChange(this,"firstObject");propertyDidChange(this,"firstObject")}if(this.objectAt(length-1)!==cachedLast){propertyWillChange(this,"lastObject");propertyDidChange(this,"lastObject")}return this},"@each":computed(function(){if(!this.__each){var EachProxy=requireModule("ember-runtime/system/each_proxy")["EachProxy"];this.__each=new EachProxy(this)}return this.__each})})});define("ember-runtime/mixins/comparable",["ember-metal/mixin","exports"],function(__dependency1__,__exports__){"use strict";var Mixin=__dependency1__.Mixin;var required=__dependency1__.required;__exports__["default"]=Mixin.create({compare:required(Function)})});define("ember-runtime/mixins/controller",["ember-metal/core","ember-metal/property_get","ember-runtime/system/object","ember-metal/mixin","ember-metal/computed","ember-runtime/mixins/action_handler","ember-runtime/mixins/controller_content_model_alias_deprecation","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var EmberObject=__dependency3__["default"];var Mixin=__dependency4__.Mixin;var computed=__dependency5__.computed;var ActionHandler=__dependency6__["default"];var ControllerContentModelAliasDeprecation=__dependency7__["default"];__exports__["default"]=Mixin.create(ActionHandler,ControllerContentModelAliasDeprecation,{isController:true,target:null,container:null,parentController:null,store:null,model:null,content:computed.alias("model"),deprecatedSendHandles:function(actionName){return!!this[actionName]},deprecatedSend:function(actionName){var args=[].slice.call(arguments,1);this[actionName].apply(this,args);return}})});define("ember-runtime/mixins/controller_content_model_alias_deprecation",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var Mixin=__dependency3__.Mixin;__exports__["default"]=Mixin.create({willMergeMixin:function(props){this._super.apply(this,arguments);var modelSpecified=!!props.model;if(props.content&&!modelSpecified){props.model=props.content;delete props["content"]}}})});define("ember-runtime/mixins/copyable",["ember-metal/property_get","ember-metal/property_set","ember-metal/mixin","ember-runtime/mixins/freezable","ember-runtime/system/string","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";
12
+ var get=__dependency1__.get;var set=__dependency2__.set;var required=__dependency3__.required;var Freezable=__dependency4__.Freezable;var Mixin=__dependency3__.Mixin;var fmt=__dependency5__.fmt;var EmberError=__dependency6__["default"];__exports__["default"]=Mixin.create({copy:required(Function),frozenCopy:function(){if(Freezable&&Freezable.detect(this)){return get(this,"isFrozen")?this:this.copy().freeze()}else{throw new EmberError(fmt("%@ does not support freezing",[this]))}}})});define("ember-runtime/mixins/deferred",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","ember-metal/computed","ember-metal/run_loop","ember-runtime/ext/rsvp","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var Mixin=__dependency3__.Mixin;var computed=__dependency4__.computed;var run=__dependency5__["default"];var RSVP=__dependency6__["default"];var asyncStart=function(){if(Ember.Test&&Ember.Test.adapter){Ember.Test.adapter.asyncStart()}};var asyncEnd=function(){if(Ember.Test&&Ember.Test.adapter){Ember.Test.adapter.asyncEnd()}};RSVP.configure("async",function(callback,promise){var async=!run.currentRunLoop;if(Ember.testing&&async){asyncStart()}run.backburner.schedule("actions",function(){if(Ember.testing&&async){asyncEnd()}callback(promise)})});RSVP.Promise.prototype.fail=function(callback,label){return this["catch"](callback,label)};__exports__["default"]=Mixin.create({then:function(resolve,reject,label){var deferred,promise,entity;entity=this;deferred=get(this,"_deferred");promise=deferred.promise;function fulfillmentHandler(fulfillment){if(fulfillment===promise){return resolve(entity)}else{return resolve(fulfillment)}}return promise.then(resolve&&fulfillmentHandler,reject,label)},resolve:function(value){var deferred,promise;deferred=get(this,"_deferred");promise=deferred.promise;if(value===this){deferred.resolve(promise)}else{deferred.resolve(value)}},reject:function(value){get(this,"_deferred").reject(value)},_deferred:computed(function(){return RSVP.defer("Ember: DeferredMixin - "+this)})})});define("ember-runtime/mixins/enumerable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/property_events","ember-metal/events","ember-runtime/compare","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var apply=__dependency4__.apply;var Mixin=__dependency5__.Mixin;var required=__dependency5__.required;var aliasMethod=__dependency5__.aliasMethod;var indexOf=__dependency6__.indexOf;var computed=__dependency7__.computed;var propertyWillChange=__dependency8__.propertyWillChange;var propertyDidChange=__dependency8__.propertyDidChange;var addListener=__dependency9__.addListener;var removeListener=__dependency9__.removeListener;var sendEvent=__dependency9__.sendEvent;var hasListeners=__dependency9__.hasListeners;var compare=__dependency10__["default"];var a_slice=Array.prototype.slice;var contexts=[];function popCtx(){return contexts.length===0?{}:contexts.pop()}function pushCtx(ctx){contexts.push(ctx);return null}function iter(key,value){var valueProvided=arguments.length===2;function i(item){var cur=get(item,key);return valueProvided?value===cur:!!cur}return i}__exports__["default"]=Mixin.create({nextObject:required(Function),firstObject:computed("[]",function(){if(get(this,"length")===0)return undefined;var context=popCtx(),ret;ret=this.nextObject(0,null,context);pushCtx(context);return ret}),lastObject:computed("[]",function(){var len=get(this,"length");if(len===0)return undefined;var context=popCtx(),idx=0,cur,last=null;do{last=cur;cur=this.nextObject(idx++,last,context)}while(cur!==undefined);pushCtx(context);return last}),contains:function(obj){return this.find(function(item){return item===obj})!==undefined},forEach:function(callback,target){if(typeof callback!=="function")throw new TypeError;var len=get(this,"length"),last=null,context=popCtx();if(target===undefined)target=null;for(var idx=0;idx<len;idx++){var next=this.nextObject(idx,last,context);callback.call(target,next,idx,this);last=next}last=null;context=pushCtx(context);return this},getEach:function(key){return this.mapBy(key)},setEach:function(key,value){return this.forEach(function(item){set(item,key,value)})},map:function(callback,target){var ret=Ember.A();this.forEach(function(x,idx,i){ret[idx]=callback.call(target,x,idx,i)});return ret},mapBy:function(key){return this.map(function(next){return get(next,key)})},mapProperty:aliasMethod("mapBy"),filter:function(callback,target){var ret=Ember.A();this.forEach(function(x,idx,i){if(callback.call(target,x,idx,i))ret.push(x)});return ret},reject:function(callback,target){return this.filter(function(){return!apply(target,callback,arguments)})},filterBy:function(key,value){return this.filter(apply(this,iter,arguments))},filterProperty:aliasMethod("filterBy"),rejectBy:function(key,value){var exactValue=function(item){return get(item,key)===value},hasValue=function(item){return!!get(item,key)},use=arguments.length===2?exactValue:hasValue;return this.reject(use)},rejectProperty:aliasMethod("rejectBy"),find:function(callback,target){var len=get(this,"length");if(target===undefined)target=null;var last=null,next,found=false,ret;var context=popCtx();for(var idx=0;idx<len&&!found;idx++){next=this.nextObject(idx,last,context);if(found=callback.call(target,next,idx,this))ret=next;last=next}next=last=null;context=pushCtx(context);return ret},findBy:function(key,value){return this.find(apply(this,iter,arguments))},findProperty:aliasMethod("findBy"),every:function(callback,target){return!this.find(function(x,idx,i){return!callback.call(target,x,idx,i)})},everyBy:aliasMethod("isEvery"),everyProperty:aliasMethod("isEvery"),isEvery:function(key,value){return this.every(apply(this,iter,arguments))},any:function(callback,target){var len=get(this,"length"),context=popCtx(),found=false,last=null,next,idx;if(target===undefined){target=null}for(idx=0;idx<len&&!found;idx++){next=this.nextObject(idx,last,context);found=callback.call(target,next,idx,this);last=next}next=last=null;context=pushCtx(context);return found},some:aliasMethod("any"),isAny:function(key,value){return this.any(apply(this,iter,arguments))},anyBy:aliasMethod("isAny"),someProperty:aliasMethod("isAny"),reduce:function(callback,initialValue,reducerProperty){if(typeof callback!=="function"){throw new TypeError}var ret=initialValue;this.forEach(function(item,i){ret=callback(ret,item,i,this,reducerProperty)},this);return ret},invoke:function(methodName){var args,ret=Ember.A();if(arguments.length>1)args=a_slice.call(arguments,1);this.forEach(function(x,idx){var method=x&&x[methodName];if("function"===typeof method){ret[idx]=args?apply(x,method,args):x[methodName]()}},this);return ret},toArray:function(){var ret=Ember.A();this.forEach(function(o,idx){ret[idx]=o});return ret},compact:function(){return this.filter(function(value){return value!=null})},without:function(value){if(!this.contains(value))return this;var ret=Ember.A();this.forEach(function(k){if(k!==value)ret[ret.length]=k});return ret},uniq:function(){var ret=Ember.A();this.forEach(function(k){if(indexOf(ret,k)<0)ret.push(k)});return ret},"[]":computed(function(key,value){return this}),addEnumerableObserver:function(target,opts){var willChange=opts&&opts.willChange||"enumerableWillChange",didChange=opts&&opts.didChange||"enumerableDidChange";var hasObservers=get(this,"hasEnumerableObservers");if(!hasObservers)propertyWillChange(this,"hasEnumerableObservers");addListener(this,"@enumerable:before",target,willChange);addListener(this,"@enumerable:change",target,didChange);if(!hasObservers)propertyDidChange(this,"hasEnumerableObservers");return this},removeEnumerableObserver:function(target,opts){var willChange=opts&&opts.willChange||"enumerableWillChange",didChange=opts&&opts.didChange||"enumerableDidChange";var hasObservers=get(this,"hasEnumerableObservers");if(hasObservers)propertyWillChange(this,"hasEnumerableObservers");removeListener(this,"@enumerable:before",target,willChange);removeListener(this,"@enumerable:change",target,didChange);if(hasObservers)propertyDidChange(this,"hasEnumerableObservers");return this},hasEnumerableObservers:computed(function(){return hasListeners(this,"@enumerable:change")||hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(removing,adding){var removeCnt,addCnt,hasDelta;if("number"===typeof removing)removeCnt=removing;else if(removing)removeCnt=get(removing,"length");else removeCnt=removing=-1;if("number"===typeof adding)addCnt=adding;else if(adding)addCnt=get(adding,"length");else addCnt=adding=-1;hasDelta=addCnt<0||removeCnt<0||addCnt-removeCnt!==0;if(removing===-1)removing=null;if(adding===-1)adding=null;propertyWillChange(this,"[]");if(hasDelta)propertyWillChange(this,"length");sendEvent(this,"@enumerable:before",[this,removing,adding]);return this},enumerableContentDidChange:function(removing,adding){var removeCnt,addCnt,hasDelta;if("number"===typeof removing)removeCnt=removing;else if(removing)removeCnt=get(removing,"length");else removeCnt=removing=-1;if("number"===typeof adding)addCnt=adding;else if(adding)addCnt=get(adding,"length");else addCnt=adding=-1;hasDelta=addCnt<0||removeCnt<0||addCnt-removeCnt!==0;if(removing===-1)removing=null;if(adding===-1)adding=null;sendEvent(this,"@enumerable:change",[this,removing,adding]);if(hasDelta)propertyDidChange(this,"length");propertyDidChange(this,"[]");return this},sortBy:function(){var sortKeys=arguments;return this.toArray().sort(function(a,b){for(var i=0;i<sortKeys.length;i++){var key=sortKeys[i],propA=get(a,key),propB=get(b,key);var compareValue=compare(propA,propB);if(compareValue){return compareValue}}return 0})}})});define("ember-runtime/mixins/evented",["ember-metal/mixin","ember-metal/events","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Mixin=__dependency1__.Mixin;var addListener=__dependency2__.addListener;var removeListener=__dependency2__.removeListener;var hasListeners=__dependency2__.hasListeners;var sendEvent=__dependency2__.sendEvent;__exports__["default"]=Mixin.create({on:function(name,target,method){addListener(this,name,target,method);return this},one:function(name,target,method){if(!method){method=target;target=null}addListener(this,name,target,method,true);return this},trigger:function(name){var length=arguments.length;var args=new Array(length-1);for(var i=1;i<length;i++){args[i-1]=arguments[i]}sendEvent(this,name,args)},off:function(name,target,method){removeListener(this,name,target,method);return this},has:function(name){return hasListeners(this,name)}})});define("ember-runtime/mixins/freezable",["ember-metal/mixin","ember-metal/property_get","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Mixin=__dependency1__.Mixin;var get=__dependency2__.get;var set=__dependency3__.set;var Freezable=Mixin.create({isFrozen:false,freeze:function(){if(get(this,"isFrozen"))return this;set(this,"isFrozen",true);return this}});__exports__.Freezable=Freezable;var FROZEN_ERROR="Frozen object cannot be modified.";__exports__.FROZEN_ERROR=FROZEN_ERROR});define("ember-runtime/mixins/mutable_array",["ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/error","ember-metal/mixin","ember-runtime/mixins/array","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var OUT_OF_RANGE_EXCEPTION="Index out of range";var EMPTY=[];var get=__dependency1__.get;var set=__dependency2__.set;var isArray=__dependency3__.isArray;var EmberError=__dependency4__["default"];var Mixin=__dependency5__.Mixin;var required=__dependency5__.required;var EmberArray=__dependency6__["default"];var MutableEnumerable=__dependency7__["default"];var Enumerable=__dependency8__["default"];__exports__["default"]=Mixin.create(EmberArray,MutableEnumerable,{replace:required(),clear:function(){var len=get(this,"length");if(len===0)return this;this.replace(0,len,EMPTY);return this},insertAt:function(idx,object){if(idx>get(this,"length"))throw new EmberError(OUT_OF_RANGE_EXCEPTION);this.replace(idx,0,[object]);return this},removeAt:function(start,len){if("number"===typeof start){if(start<0||start>=get(this,"length")){throw new EmberError(OUT_OF_RANGE_EXCEPTION)}if(len===undefined)len=1;this.replace(start,len,EMPTY)}return this},pushObject:function(obj){this.insertAt(get(this,"length"),obj);return obj},pushObjects:function(objects){if(!(Enumerable.detect(objects)||isArray(objects))){throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects")}this.replace(get(this,"length"),0,objects);return this},popObject:function(){var len=get(this,"length");if(len===0)return null;var ret=this.objectAt(len-1);this.removeAt(len-1,1);return ret},shiftObject:function(){if(get(this,"length")===0)return null;var ret=this.objectAt(0);this.removeAt(0);return ret},unshiftObject:function(obj){this.insertAt(0,obj);return obj},unshiftObjects:function(objects){this.replace(0,0,objects);return this},reverseObjects:function(){var len=get(this,"length");if(len===0)return this;var objects=this.toArray().reverse();this.replace(0,len,objects);return this},setObjects:function(objects){if(objects.length===0)return this.clear();var len=get(this,"length");this.replace(0,len,objects);return this},removeObject:function(obj){var loc=get(this,"length")||0;while(--loc>=0){var curObject=this.objectAt(loc);if(curObject===obj)this.removeAt(loc)}return this},addObject:function(obj){if(!this.contains(obj))this.pushObject(obj);return this}})});define("ember-runtime/mixins/mutable_enumerable",["ember-metal/enumerable_utils","ember-runtime/mixins/enumerable","ember-metal/mixin","ember-metal/property_events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var forEach=__dependency1__.forEach;var Enumerable=__dependency2__["default"];var Mixin=__dependency3__.Mixin;var required=__dependency3__.required;var beginPropertyChanges=__dependency4__.beginPropertyChanges;var endPropertyChanges=__dependency4__.endPropertyChanges;__exports__["default"]=Mixin.create(Enumerable,{addObject:required(Function),addObjects:function(objects){beginPropertyChanges(this);forEach(objects,function(obj){this.addObject(obj)},this);endPropertyChanges(this);return this},removeObject:required(Function),removeObjects:function(objects){beginPropertyChanges(this);for(var i=objects.length-1;i>=0;i--){this.removeObject(objects[i])}endPropertyChanges(this);return this}})});define("ember-runtime/mixins/observable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/get_properties","ember-metal/set_properties","ember-metal/mixin","ember-metal/events","ember-metal/property_events","ember-metal/observer","ember-metal/computed","ember-metal/is_none","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var getWithDefault=__dependency2__.getWithDefault;var set=__dependency3__.set;var apply=__dependency4__.apply;var getProperties=__dependency5__["default"];var setProperties=__dependency6__["default"];var Mixin=__dependency7__.Mixin;var hasListeners=__dependency8__.hasListeners;var beginPropertyChanges=__dependency9__.beginPropertyChanges;var propertyWillChange=__dependency9__.propertyWillChange;var propertyDidChange=__dependency9__.propertyDidChange;var endPropertyChanges=__dependency9__.endPropertyChanges;var addObserver=__dependency10__.addObserver;var addBeforeObserver=__dependency10__.addBeforeObserver;var removeObserver=__dependency10__.removeObserver;var observersFor=__dependency10__.observersFor;var cacheFor=__dependency11__.cacheFor;var isNone=__dependency12__.isNone;var slice=Array.prototype.slice;__exports__["default"]=Mixin.create({get:function(keyName){return get(this,keyName)},getProperties:function(){return apply(null,getProperties,[this].concat(slice.call(arguments)))},set:function(keyName,value){set(this,keyName,value);return this},setProperties:function(hash){return setProperties(this,hash)},beginPropertyChanges:function(){beginPropertyChanges();return this},endPropertyChanges:function(){endPropertyChanges();return this},propertyWillChange:function(keyName){propertyWillChange(this,keyName);return this},propertyDidChange:function(keyName){propertyDidChange(this,keyName);return this},notifyPropertyChange:function(keyName){this.propertyWillChange(keyName);this.propertyDidChange(keyName);return this},addBeforeObserver:function(key,target,method){addBeforeObserver(this,key,target,method)},addObserver:function(key,target,method){addObserver(this,key,target,method)},removeObserver:function(key,target,method){removeObserver(this,key,target,method)},hasObserverFor:function(key){return hasListeners(this,key+":change")},getWithDefault:function(keyName,defaultValue){return getWithDefault(this,keyName,defaultValue)},incrementProperty:function(keyName,increment){if(isNone(increment)){increment=1}set(this,keyName,(parseFloat(get(this,keyName))||0)+increment);return get(this,keyName)},decrementProperty:function(keyName,decrement){if(isNone(decrement)){decrement=1}set(this,keyName,(get(this,keyName)||0)-decrement);return get(this,keyName)},toggleProperty:function(keyName){set(this,keyName,!get(this,keyName));return get(this,keyName)},cacheFor:function(keyName){return cacheFor(this,keyName)},observersForKey:function(keyName){return observersFor(this,keyName)}})});define("ember-runtime/mixins/promise_proxy",["ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/mixin","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var get=__dependency1__.get;var set=__dependency2__.set;var computed=__dependency3__.computed;var Mixin=__dependency4__.Mixin;var EmberError=__dependency5__["default"];var not=computed.not;var or=computed.or;function tap(proxy,promise){set(proxy,"isFulfilled",false);set(proxy,"isRejected",false);return promise.then(function(value){set(proxy,"isFulfilled",true);set(proxy,"content",value);return value},function(reason){set(proxy,"isRejected",true);set(proxy,"reason",reason);throw reason},"Ember: PromiseProxy")}__exports__["default"]=Mixin.create({reason:null,isPending:not("isSettled").readOnly(),isSettled:or("isRejected","isFulfilled").readOnly(),isRejected:false,isFulfilled:false,promise:computed(function(key,promise){if(arguments.length===2){return tap(this,promise)}else{throw new EmberError("PromiseProxy's promise must be set")}}),then:promiseAlias("then"),"catch":promiseAlias("catch"),"finally":promiseAlias("finally")});function promiseAlias(name){return function(){var promise=get(this,"promise");return promise[name].apply(promise,arguments)}}});define("ember-runtime/mixins/sortable",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/enumerable_utils","ember-metal/mixin","ember-runtime/mixins/mutable_enumerable","ember-runtime/compare","ember-metal/observer","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var forEach=__dependency4__.forEach;var Mixin=__dependency5__.Mixin;var MutableEnumerable=__dependency6__["default"];var compare=__dependency7__["default"];var addObserver=__dependency8__.addObserver;var removeObserver=__dependency8__.removeObserver;var computed=__dependency9__.computed;var beforeObserver=__dependency5__.beforeObserver;var observer=__dependency5__.observer;__exports__["default"]=Mixin.create(MutableEnumerable,{sortProperties:null,sortAscending:true,sortFunction:compare,orderBy:function(item1,item2){var result=0,sortProperties=get(this,"sortProperties"),sortAscending=get(this,"sortAscending"),sortFunction=get(this,"sortFunction");forEach(sortProperties,function(propertyName){if(result===0){result=sortFunction.call(this,get(item1,propertyName),get(item2,propertyName));if(result!==0&&!sortAscending){result=-1*result}}},this);return result},destroy:function(){var content=get(this,"content"),sortProperties=get(this,"sortProperties");if(content&&sortProperties){forEach(content,function(item){forEach(sortProperties,function(sortProperty){removeObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super()},isSorted:computed.notEmpty("sortProperties"),arrangedContent:computed("content","sortProperties.@each",function(key,value){var content=get(this,"content"),isSorted=get(this,"isSorted"),sortProperties=get(this,"sortProperties"),self=this;if(content&&isSorted){content=content.slice();content.sort(function(item1,item2){return self.orderBy(item1,item2)});forEach(content,function(item){forEach(sortProperties,function(sortProperty){addObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this);return Ember.A(content)}return content}),_contentWillChange:beforeObserver("content",function(){var content=get(this,"content"),sortProperties=get(this,"sortProperties");if(content&&sortProperties){forEach(content,function(item){forEach(sortProperties,function(sortProperty){removeObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this)}this._super()}),sortPropertiesWillChange:beforeObserver("sortProperties",function(){this._lastSortAscending=undefined}),sortPropertiesDidChange:observer("sortProperties",function(){this._lastSortAscending=undefined}),sortAscendingWillChange:beforeObserver("sortAscending",function(){this._lastSortAscending=get(this,"sortAscending")}),sortAscendingDidChange:observer("sortAscending",function(){if(this._lastSortAscending!==undefined&&get(this,"sortAscending")!==this._lastSortAscending){var arrangedContent=get(this,"arrangedContent");arrangedContent.reverseObjects()}}),contentArrayWillChange:function(array,idx,removedCount,addedCount){var isSorted=get(this,"isSorted");if(isSorted){var arrangedContent=get(this,"arrangedContent");var removedObjects=array.slice(idx,idx+removedCount);var sortProperties=get(this,"sortProperties");forEach(removedObjects,function(item){arrangedContent.removeObject(item);forEach(sortProperties,function(sortProperty){removeObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(array,idx,removedCount,addedCount)},contentArrayDidChange:function(array,idx,removedCount,addedCount){var isSorted=get(this,"isSorted"),sortProperties=get(this,"sortProperties");if(isSorted){var addedObjects=array.slice(idx,idx+addedCount);forEach(addedObjects,function(item){this.insertItemSorted(item);forEach(sortProperties,function(sortProperty){addObserver(item,sortProperty,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(array,idx,removedCount,addedCount)},insertItemSorted:function(item){var arrangedContent=get(this,"arrangedContent");var length=get(arrangedContent,"length");var idx=this._binarySearch(item,0,length);arrangedContent.insertAt(idx,item)},contentItemSortPropertyDidChange:function(item){var arrangedContent=get(this,"arrangedContent"),oldIndex=arrangedContent.indexOf(item),leftItem=arrangedContent.objectAt(oldIndex-1),rightItem=arrangedContent.objectAt(oldIndex+1),leftResult=leftItem&&this.orderBy(item,leftItem),rightResult=rightItem&&this.orderBy(item,rightItem);if(leftResult<0||rightResult>0){arrangedContent.removeObject(item);this.insertItemSorted(item)}},_binarySearch:function(item,low,high){var mid,midItem,res,arrangedContent;if(low===high){return low}arrangedContent=get(this,"arrangedContent");mid=low+Math.floor((high-low)/2);midItem=arrangedContent.objectAt(mid);res=this.orderBy(midItem,item);if(res<0){return this._binarySearch(item,mid+1,high)}else if(res>0){return this._binarySearch(item,low,mid)}return mid}})});define("ember-runtime/mixins/target_action_support",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/mixin","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var typeOf=__dependency4__.typeOf;var Mixin=__dependency5__.Mixin;var computed=__dependency6__.computed;var TargetActionSupport=Mixin.create({target:null,action:null,actionContext:null,targetObject:computed(function(){var target=get(this,"target");if(typeOf(target)==="string"){var value=get(this,target);if(value===undefined){value=get(Ember.lookup,target)}return value}else{return target}}).property("target"),actionContextObject:computed(function(){var actionContext=get(this,"actionContext");if(typeOf(actionContext)==="string"){var value=get(this,actionContext);if(value===undefined){value=get(Ember.lookup,actionContext)}return value}else{return actionContext}}).property("actionContext"),triggerAction:function(opts){opts=opts||{};var action=opts.action||get(this,"action"),target=opts.target||get(this,"targetObject"),actionContext=opts.actionContext;function args(options,actionName){var ret=[];if(actionName){ret.push(actionName)}return ret.concat(options)}if(typeof actionContext==="undefined"){actionContext=get(this,"actionContextObject")||this}if(target&&action){var ret;if(target.send){ret=target.send.apply(target,args(actionContext,action))}else{ret=target[action].apply(target,args(actionContext))}if(ret!==false)ret=true;return ret}else{return false}}});__exports__["default"]=TargetActionSupport});define("ember-runtime/system/application",["ember-runtime/system/namespace","exports"],function(__dependency1__,__exports__){"use strict";var Namespace=__dependency1__["default"];__exports__["default"]=Namespace.extend()});define("ember-runtime/system/array_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/property_events","ember-metal/error","ember-runtime/system/object","ember-runtime/mixins/mutable_array","ember-runtime/mixins/enumerable","ember-runtime/system/string","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var isArray=__dependency4__.isArray;var apply=__dependency4__.apply;var computed=__dependency5__.computed;var beforeObserver=__dependency6__.beforeObserver;var observer=__dependency6__.observer;var beginPropertyChanges=__dependency7__.beginPropertyChanges;var endPropertyChanges=__dependency7__.endPropertyChanges;var EmberError=__dependency8__["default"];var EmberObject=__dependency9__["default"];var MutableArray=__dependency10__["default"];var Enumerable=__dependency11__["default"];var fmt=__dependency12__.fmt;var OUT_OF_RANGE_EXCEPTION="Index out of range";var EMPTY=[];var alias=computed.alias;var K=Ember.K;var ArrayProxy=EmberObject.extend(MutableArray,{content:null,arrangedContent:alias("content"),objectAtContent:function(idx){return get(this,"arrangedContent").objectAt(idx)},replaceContent:function(idx,amt,objects){get(this,"content").replace(idx,amt,objects)},_contentWillChange:beforeObserver("content",function(){this._teardownContent()}),_teardownContent:function(){var content=get(this,"content");if(content){content.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})}},contentArrayWillChange:K,contentArrayDidChange:K,_contentDidChange:observer("content",function(){var content=get(this,"content");this._setupContent()}),_setupContent:function(){var content=get(this,"content");if(content){content.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})}},_arrangedContentWillChange:beforeObserver("arrangedContent",function(){var arrangedContent=get(this,"arrangedContent"),len=arrangedContent?get(arrangedContent,"length"):0;this.arrangedContentArrayWillChange(this,0,len,undefined);this.arrangedContentWillChange(this);this._teardownArrangedContent(arrangedContent)}),_arrangedContentDidChange:observer("arrangedContent",function(){var arrangedContent=get(this,"arrangedContent"),len=arrangedContent?get(arrangedContent,"length"):0;this._setupArrangedContent();this.arrangedContentDidChange(this);this.arrangedContentArrayDidChange(this,0,undefined,len)}),_setupArrangedContent:function(){var arrangedContent=get(this,"arrangedContent");if(arrangedContent){arrangedContent.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})}},_teardownArrangedContent:function(){var arrangedContent=get(this,"arrangedContent");if(arrangedContent){arrangedContent.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})}},arrangedContentWillChange:K,arrangedContentDidChange:K,objectAt:function(idx){return get(this,"content")&&this.objectAtContent(idx)},length:computed(function(){var arrangedContent=get(this,"arrangedContent");return arrangedContent?get(arrangedContent,"length"):0}),_replace:function(idx,amt,objects){var content=get(this,"content");if(content)this.replaceContent(idx,amt,objects);return this},replace:function(){if(get(this,"arrangedContent")===get(this,"content")){apply(this,this._replace,arguments)}else{throw new EmberError("Using replace on an arranged ArrayProxy is not allowed.")}},_insertAt:function(idx,object){if(idx>get(this,"content.length"))throw new EmberError(OUT_OF_RANGE_EXCEPTION);this._replace(idx,0,[object]);return this},insertAt:function(idx,object){if(get(this,"arrangedContent")===get(this,"content")){return this._insertAt(idx,object)}else{throw new EmberError("Using insertAt on an arranged ArrayProxy is not allowed.")}},removeAt:function(start,len){if("number"===typeof start){var content=get(this,"content"),arrangedContent=get(this,"arrangedContent"),indices=[],i;if(start<0||start>=get(this,"length")){throw new EmberError(OUT_OF_RANGE_EXCEPTION)}if(len===undefined)len=1;for(i=start;i<start+len;i++){indices.push(content.indexOf(arrangedContent.objectAt(i)))}indices.sort(function(a,b){return b-a});beginPropertyChanges();for(i=0;i<indices.length;i++){this._replace(indices[i],1,EMPTY)}endPropertyChanges()}return this},pushObject:function(obj){this._insertAt(get(this,"content.length"),obj);return obj},pushObjects:function(objects){if(!(Enumerable.detect(objects)||isArray(objects))){throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects")}this._replace(get(this,"length"),0,objects);return this},setObjects:function(objects){if(objects.length===0)return this.clear();var len=get(this,"length");this._replace(0,len,objects);return this},unshiftObject:function(obj){this._insertAt(0,obj);return obj},unshiftObjects:function(objects){this._replace(0,0,objects);
13
+ return this},slice:function(){var arr=this.toArray();return arr.slice.apply(arr,arguments)},arrangedContentArrayWillChange:function(item,idx,removedCnt,addedCnt){this.arrayContentWillChange(idx,removedCnt,addedCnt)},arrangedContentArrayDidChange:function(item,idx,removedCnt,addedCnt){this.arrayContentDidChange(idx,removedCnt,addedCnt)},init:function(){this._super();this._setupContent();this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent();this._teardownContent()}});__exports__["default"]=ArrayProxy});define("ember-runtime/system/container",["ember-metal/property_set","exports"],function(__dependency1__,__exports__){"use strict";var set=__dependency1__["default"];var Container=requireModule("container")["default"];Container.set=set;__exports__["default"]=Container});define("ember-runtime/system/core_object",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/platform","ember-metal/watching","ember-metal/chains","ember-metal/events","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/error","ember-runtime/keys","ember-runtime/mixins/action_handler","ember-metal/properties","ember-metal/binding","ember-metal/computed","ember-metal/run_loop","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var apply=__dependency4__.apply;var o_create=__dependency5__.create;var generateGuid=__dependency4__.generateGuid;var GUID_KEY=__dependency4__.GUID_KEY;var meta=__dependency4__.meta;var META_KEY=__dependency4__.META_KEY;var makeArray=__dependency4__.makeArray;var rewatch=__dependency6__.rewatch;var finishChains=__dependency7__.finishChains;var sendEvent=__dependency8__.sendEvent;var IS_BINDING=__dependency9__.IS_BINDING;var Mixin=__dependency9__.Mixin;var required=__dependency9__.required;var indexOf=__dependency10__.indexOf;var EmberError=__dependency11__["default"];var platform=__dependency5__.platform;var keys=__dependency12__["default"];var ActionHandler=__dependency13__["default"];var defineProperty=__dependency14__.defineProperty;var Binding=__dependency15__.Binding;var ComputedProperty=__dependency16__.ComputedProperty;var run=__dependency17__["default"];var destroy=__dependency6__.destroy;var K=__dependency1__.K;var o_defineProperty=platform.defineProperty;var schedule=run.schedule;var applyMixin=Mixin._apply;var finishPartial=Mixin.finishPartial;var reopen=Mixin.prototype.reopen;var MANDATORY_SETTER=Ember.ENV.MANDATORY_SETTER;var undefinedDescriptor={configurable:true,writable:true,enumerable:false,value:undefined};var nullDescriptor={configurable:true,writable:true,enumerable:false,value:null};function makeCtor(){var wasApplied=false,initMixins,initProperties;var Class=function(){if(!wasApplied){Class.proto()}o_defineProperty(this,GUID_KEY,nullDescriptor);o_defineProperty(this,"__nextSuper",undefinedDescriptor);var m=meta(this),proto=m.proto;m.proto=this;if(initMixins){var mixins=initMixins;initMixins=null;apply(this,this.reopen,mixins)}if(initProperties){var props=initProperties;initProperties=null;var concatenatedProperties=this.concatenatedProperties;for(var i=0,l=props.length;i<l;i++){var properties=props[i];if(typeof properties!=="object"&&properties!==undefined){throw new EmberError("Ember.Object.create only accepts objects.")}if(!properties){continue}var keyNames=keys(properties);for(var j=0,ll=keyNames.length;j<ll;j++){var keyName=keyNames[j];if(!properties.hasOwnProperty(keyName)){continue}var value=properties[keyName];if(IS_BINDING.test(keyName)){var bindings=m.bindings;if(!bindings){bindings=m.bindings={}}else if(!m.hasOwnProperty("bindings")){bindings=m.bindings=o_create(m.bindings)}bindings[keyName]=value}var desc=m.descs[keyName];if(concatenatedProperties&&indexOf(concatenatedProperties,keyName)>=0){var baseValue=this[keyName];if(baseValue){if("function"===typeof baseValue.concat){value=baseValue.concat(value)}else{value=makeArray(baseValue).concat(value)}}else{value=makeArray(value)}}if(desc){desc.set(this,keyName,value)}else{if(typeof this.setUnknownProperty==="function"&&!(keyName in this)){this.setUnknownProperty(keyName,value)}else if(MANDATORY_SETTER){defineProperty(this,keyName,null,value)}else{this[keyName]=value}}}}}finishPartial(this,m);apply(this,this.init,arguments);m.proto=proto;finishChains(this);sendEvent(this,"init")};Class.toString=Mixin.prototype.toString;Class.willReopen=function(){if(wasApplied){Class.PrototypeMixin=Mixin.create(Class.PrototypeMixin)}wasApplied=false};Class._initMixins=function(args){initMixins=args};Class._initProperties=function(args){initProperties=args};Class.proto=function(){var superclass=Class.superclass;if(superclass){superclass.proto()}if(!wasApplied){wasApplied=true;Class.PrototypeMixin.applyPartial(Class.prototype);rewatch(Class.prototype)}return this.prototype};return Class}var CoreObject=makeCtor();CoreObject.toString=function(){return"Ember.CoreObject"};CoreObject.PrototypeMixin=Mixin.create({reopen:function(){applyMixin(this,arguments,true);return this},init:function(){},concatenatedProperties:null,isDestroyed:false,isDestroying:false,destroy:function(){if(this.isDestroying){return}this.isDestroying=true;schedule("actions",this,this.willDestroy);schedule("destroy",this,this._scheduledDestroy);return this},willDestroy:K,_scheduledDestroy:function(){if(this.isDestroyed){return}destroy(this);this.isDestroyed=true},bind:function(to,from){if(!(from instanceof Binding)){from=Binding.from(from)}from.to(to).connect(this);return from},toString:function toString(){var hasToStringExtension=typeof this.toStringExtension==="function",extension=hasToStringExtension?":"+this.toStringExtension():"";var ret="<"+this.constructor.toString()+":"+guidFor(this)+extension+">";this.toString=makeToString(ret);return ret}});CoreObject.PrototypeMixin.ownerConstructor=CoreObject;function makeToString(ret){return function(){return ret}}if(Ember.config.overridePrototypeMixin){Ember.config.overridePrototypeMixin(CoreObject.PrototypeMixin)}CoreObject.__super__=null;var ClassMixin=Mixin.create({ClassMixin:required(),PrototypeMixin:required(),isClass:true,isMethod:false,extend:function(){var Class=makeCtor(),proto;Class.ClassMixin=Mixin.create(this.ClassMixin);Class.PrototypeMixin=Mixin.create(this.PrototypeMixin);Class.ClassMixin.ownerConstructor=Class;Class.PrototypeMixin.ownerConstructor=Class;reopen.apply(Class.PrototypeMixin,arguments);Class.superclass=this;Class.__super__=this.prototype;proto=Class.prototype=o_create(this.prototype);proto.constructor=Class;generateGuid(proto);meta(proto).proto=proto;Class.ClassMixin.apply(Class);return Class},createWithMixins:function(){var C=this;if(arguments.length>0){this._initMixins(arguments)}return new C},create:function(){var C=this;if(arguments.length>0){this._initProperties(arguments)}return new C},reopen:function(){this.willReopen();apply(this.PrototypeMixin,reopen,arguments);return this},reopenClass:function(){apply(this.ClassMixin,reopen,arguments);applyMixin(this,arguments,false);return this},detect:function(obj){if("function"!==typeof obj){return false}while(obj){if(obj===this){return true}obj=obj.superclass}return false},detectInstance:function(obj){return obj instanceof this},metaForProperty:function(key){var meta=this.proto()[META_KEY],desc=meta&&meta.descs[key];return desc._meta||{}},eachComputedProperty:function(callback,binding){var proto=this.proto(),descs=meta(proto).descs,empty={},property;for(var name in descs){property=descs[name];if(property instanceof ComputedProperty){callback.call(binding||this,name,property._meta||empty)}}}});ClassMixin.ownerConstructor=CoreObject;if(Ember.config.overrideClassMixin){Ember.config.overrideClassMixin(ClassMixin)}CoreObject.ClassMixin=ClassMixin;ClassMixin.apply(CoreObject);__exports__["default"]=CoreObject});define("ember-runtime/system/deferred",["ember-runtime/mixins/deferred","ember-metal/property_get","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var DeferredMixin=__dependency1__["default"];var get=__dependency2__.get;var EmberObject=__dependency3__["default"];var Deferred=EmberObject.extend(DeferredMixin);Deferred.reopenClass({promise:function(callback,binding){var deferred=Deferred.create();callback.call(binding,deferred);return deferred}});__exports__["default"]=Deferred});define("ember-runtime/system/each_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/enumerable_utils","ember-metal/array","ember-runtime/mixins/array","ember-runtime/system/object","ember-metal/computed","ember-metal/observer","ember-metal/events","ember-metal/properties","ember-metal/property_events","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var forEach=__dependency5__.forEach;var indexOf=__dependency6__.indexOf;var EmberArray=__dependency7__["default"];var EmberObject=__dependency8__["default"];var computed=__dependency9__.computed;var addObserver=__dependency10__.addObserver;var addBeforeObserver=__dependency10__.addBeforeObserver;var removeBeforeObserver=__dependency10__.removeBeforeObserver;var removeObserver=__dependency10__.removeObserver;var typeOf=__dependency4__.typeOf;var watchedEvents=__dependency11__.watchedEvents;var defineProperty=__dependency12__.defineProperty;var beginPropertyChanges=__dependency13__.beginPropertyChanges;var propertyDidChange=__dependency13__.propertyDidChange;var propertyWillChange=__dependency13__.propertyWillChange;var endPropertyChanges=__dependency13__.endPropertyChanges;var changeProperties=__dependency13__.changeProperties;var EachArray=EmberObject.extend(EmberArray,{init:function(content,keyName,owner){this._super();this._keyName=keyName;this._owner=owner;this._content=content},objectAt:function(idx){var item=this._content.objectAt(idx);return item&&get(item,this._keyName)},length:computed(function(){var content=this._content;return content?get(content,"length"):0})});var IS_OBSERVER=/^.+:(before|change)$/;function addObserverForContentKey(content,keyName,proxy,idx,loc){var objects=proxy._objects,guid;if(!objects)objects=proxy._objects={};while(--loc>=idx){var item=content.objectAt(loc);if(item){addBeforeObserver(item,keyName,proxy,"contentKeyWillChange");addObserver(item,keyName,proxy,"contentKeyDidChange");guid=guidFor(item);if(!objects[guid])objects[guid]=[];objects[guid].push(loc)}}}function removeObserverForContentKey(content,keyName,proxy,idx,loc){var objects=proxy._objects;if(!objects)objects=proxy._objects={};var indicies,guid;while(--loc>=idx){var item=content.objectAt(loc);if(item){removeBeforeObserver(item,keyName,proxy,"contentKeyWillChange");removeObserver(item,keyName,proxy,"contentKeyDidChange");guid=guidFor(item);indicies=objects[guid];indicies[indexOf.call(indicies,loc)]=null}}}var EachProxy=EmberObject.extend({init:function(content){this._super();this._content=content;content.addArrayObserver(this);forEach(watchedEvents(this),function(eventName){this.didAddListener(eventName)},this)},unknownProperty:function(keyName,value){var ret;ret=new EachArray(this._content,keyName,this);defineProperty(this,keyName,null,ret);this.beginObservingContentKey(keyName);return ret},arrayWillChange:function(content,idx,removedCnt,addedCnt){var keys=this._keys,key,lim;lim=removedCnt>0?idx+removedCnt:-1;beginPropertyChanges(this);for(key in keys){if(!keys.hasOwnProperty(key)){continue}if(lim>0){removeObserverForContentKey(content,key,this,idx,lim)}propertyWillChange(this,key)}propertyWillChange(this._content,"@each");endPropertyChanges(this)},arrayDidChange:function(content,idx,removedCnt,addedCnt){var keys=this._keys,lim;lim=addedCnt>0?idx+addedCnt:-1;changeProperties(function(){for(var key in keys){if(!keys.hasOwnProperty(key)){continue}if(lim>0){addObserverForContentKey(content,key,this,idx,lim)}propertyDidChange(this,key)}propertyDidChange(this._content,"@each")},this)},didAddListener:function(eventName){if(IS_OBSERVER.test(eventName)){this.beginObservingContentKey(eventName.slice(0,-7))}},didRemoveListener:function(eventName){if(IS_OBSERVER.test(eventName)){this.stopObservingContentKey(eventName.slice(0,-7))}},beginObservingContentKey:function(keyName){var keys=this._keys;if(!keys)keys=this._keys={};if(!keys[keyName]){keys[keyName]=1;var content=this._content,len=get(content,"length");addObserverForContentKey(content,keyName,this,0,len)}else{keys[keyName]++}},stopObservingContentKey:function(keyName){var keys=this._keys;if(keys&&keys[keyName]>0&&--keys[keyName]<=0){var content=this._content,len=get(content,"length");removeObserverForContentKey(content,keyName,this,0,len)}},contentKeyWillChange:function(obj,keyName){propertyWillChange(this,keyName)},contentKeyDidChange:function(obj,keyName){propertyDidChange(this,keyName)}});__exports__.EachArray=EachArray;__exports__.EachProxy=EachProxy});define("ember-runtime/system/lazy_load",["ember-metal/core","ember-metal/array","ember-runtime/system/native_array","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var forEach=__dependency2__.forEach;var loadHooks=Ember.ENV.EMBER_LOAD_HOOKS||{};var loaded={};function onLoad(name,callback){var object;loadHooks[name]=loadHooks[name]||Ember.A();loadHooks[name].pushObject(callback);if(object=loaded[name]){callback(object)}}__exports__.onLoad=onLoad;function runLoadHooks(name,object){loaded[name]=object;if(typeof window==="object"&&typeof window.dispatchEvent==="function"&&typeof CustomEvent==="function"){var event=new CustomEvent(name,{detail:object,name:name});window.dispatchEvent(event)}if(loadHooks[name]){forEach.call(loadHooks[name],function(callback){callback(object)})}}__exports__.runLoadHooks=runLoadHooks});define("ember-runtime/system/namespace",["ember-metal/core","ember-metal/property_get","ember-metal/array","ember-metal/utils","ember-metal/mixin","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var indexOf=__dependency3__.indexOf;var GUID_KEY=__dependency4__.GUID_KEY;var guidFor=__dependency4__.guidFor;var Mixin=__dependency5__.Mixin;var EmberObject=__dependency6__["default"];var Namespace=EmberObject.extend({isNamespace:true,init:function(){Namespace.NAMESPACES.push(this);Namespace.PROCESSED=false},toString:function(){var name=get(this,"name");if(name){return name}findNamespaces();return this[NAME_KEY]},nameClasses:function(){processNamespace([this.toString()],this,{})},destroy:function(){var namespaces=Namespace.NAMESPACES,toString=this.toString();if(toString){Ember.lookup[toString]=undefined;delete Namespace.NAMESPACES_BY_ID[toString]}namespaces.splice(indexOf.call(namespaces,this),1);this._super()}});Namespace.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:false,processAll:processAllNamespaces,byName:function(name){if(!Ember.BOOTED){processAllNamespaces()}return NAMESPACES_BY_ID[name]}});var NAMESPACES_BY_ID=Namespace.NAMESPACES_BY_ID;var hasOwnProp={}.hasOwnProperty;function processNamespace(paths,root,seen){var idx=paths.length;NAMESPACES_BY_ID[paths.join(".")]=root;for(var key in root){if(!hasOwnProp.call(root,key)){continue}var obj=root[key];paths[idx]=key;if(obj&&obj.toString===classToString){obj.toString=makeToString(paths.join("."));obj[NAME_KEY]=paths.join(".")}else if(obj&&obj.isNamespace){if(seen[guidFor(obj)]){continue}seen[guidFor(obj)]=true;processNamespace(paths,obj,seen)}}paths.length=idx}var STARTS_WITH_UPPERCASE=/^[A-Z]/;function findNamespaces(){var lookup=Ember.lookup,obj,isNamespace;if(Namespace.PROCESSED){return}for(var prop in lookup){if(!STARTS_WITH_UPPERCASE.test(prop)){continue}if(lookup.hasOwnProperty&&!lookup.hasOwnProperty(prop)){continue}try{obj=lookup[prop];isNamespace=obj&&obj.isNamespace}catch(e){continue}if(isNamespace){obj[NAME_KEY]=prop}}}var NAME_KEY=Ember.NAME_KEY=GUID_KEY+"_name";function superClassString(mixin){var superclass=mixin.superclass;if(superclass){if(superclass[NAME_KEY]){return superclass[NAME_KEY]}else{return superClassString(superclass)}}else{return}}function classToString(){if(!Ember.BOOTED&&!this[NAME_KEY]){processAllNamespaces()}var ret;if(this[NAME_KEY]){ret=this[NAME_KEY]}else if(this._toString){ret=this._toString}else{var str=superClassString(this);if(str){ret="(subclass of "+str+")"}else{ret="(unknown mixin)"}this.toString=makeToString(ret)}return ret}function processAllNamespaces(){var unprocessedNamespaces=!Namespace.PROCESSED,unprocessedMixins=Ember.anyUnprocessedMixins;if(unprocessedNamespaces){findNamespaces();Namespace.PROCESSED=true}if(unprocessedNamespaces||unprocessedMixins){var namespaces=Namespace.NAMESPACES,namespace;for(var i=0,l=namespaces.length;i<l;i++){namespace=namespaces[i];processNamespace([namespace.toString()],namespace,{})}Ember.anyUnprocessedMixins=false}}function makeToString(ret){return function(){return ret}}Mixin.prototype.toString=classToString;__exports__["default"]=Namespace});define("ember-runtime/system/native_array",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/enumerable_utils","ember-metal/mixin","ember-runtime/mixins/array","ember-runtime/mixins/mutable_array","ember-runtime/mixins/observable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-runtime/copy","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var replace=__dependency4__._replace;var forEach=__dependency4__.forEach;var Mixin=__dependency5__.Mixin;var EmberArray=__dependency6__["default"];var MutableArray=__dependency7__["default"];var Observable=__dependency8__["default"];var Copyable=__dependency9__["default"];var FROZEN_ERROR=__dependency10__.FROZEN_ERROR;var copy=__dependency11__["default"];var NativeArray=Mixin.create(MutableArray,Observable,Copyable,{get:function(key){if(key==="length")return this.length;else if("number"===typeof key)return this[key];else return this._super(key)},objectAt:function(idx){return this[idx]},replace:function(idx,amt,objects){if(this.isFrozen)throw FROZEN_ERROR;var len=objects?get(objects,"length"):0;this.arrayContentWillChange(idx,amt,len);if(len===0){this.splice(idx,amt)}else{replace(this,idx,amt,objects)}this.arrayContentDidChange(idx,amt,len);return this},unknownProperty:function(key,value){var ret;if(value!==undefined&&ret===undefined){ret=this[key]=value}return ret},indexOf:function(object,startAt){var idx,len=this.length;if(startAt===undefined)startAt=0;else startAt=startAt<0?Math.ceil(startAt):Math.floor(startAt);if(startAt<0)startAt+=len;for(idx=startAt;idx<len;idx++){if(this[idx]===object)return idx}return-1},lastIndexOf:function(object,startAt){var idx,len=this.length;if(startAt===undefined)startAt=len-1;else startAt=startAt<0?Math.ceil(startAt):Math.floor(startAt);if(startAt<0)startAt+=len;for(idx=startAt;idx>=0;idx--){if(this[idx]===object)return idx}return-1},copy:function(deep){if(deep){return this.map(function(item){return copy(item,true)})}return this.slice()}});var ignore=["length"];forEach(NativeArray.keys(),function(methodName){if(Array.prototype[methodName])ignore.push(methodName)});if(ignore.length>0){NativeArray=NativeArray.without.apply(NativeArray,ignore)}var A=function(arr){if(arr===undefined){arr=[]}return EmberArray.detect(arr)?arr:NativeArray.apply(arr)};NativeArray.activate=function(){NativeArray.apply(Array.prototype);A=function(arr){return arr||[]}};if(Ember.EXTEND_PROTOTYPES===true||Ember.EXTEND_PROTOTYPES.Array){NativeArray.activate()}Ember.A=A;__exports__.A=A;__exports__.NativeArray=NativeArray;__exports__["default"]=NativeArray});define("ember-runtime/system/object",["ember-runtime/system/core_object","ember-runtime/mixins/observable","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var CoreObject=__dependency1__["default"];var Observable=__dependency2__["default"];var EmberObject=CoreObject.extend(Observable);EmberObject.toString=function(){return"Ember.Object"};__exports__["default"]=EmberObject});define("ember-runtime/system/object_proxy",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/property_events","ember-metal/computed","ember-metal/properties","ember-metal/mixin","ember-runtime/system/string","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var meta=__dependency4__.meta;var addObserver=__dependency5__.addObserver;var removeObserver=__dependency5__.removeObserver;var addBeforeObserver=__dependency5__.addBeforeObserver;var removeBeforeObserver=__dependency5__.removeBeforeObserver;var propertyWillChange=__dependency6__.propertyWillChange;var propertyDidChange=__dependency6__.propertyDidChange;var computed=__dependency7__.computed;var defineProperty=__dependency8__.defineProperty;var observer=__dependency9__.observer;var fmt=__dependency10__.fmt;var EmberObject=__dependency11__["default"];function contentPropertyWillChange(content,contentKey){var key=contentKey.slice(8);if(key in this){return}propertyWillChange(this,key)}function contentPropertyDidChange(content,contentKey){var key=contentKey.slice(8);if(key in this){return}propertyDidChange(this,key)}var ObjectProxy=EmberObject.extend({content:null,_contentDidChange:observer("content",function(){}),isTruthy:computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(key){var contentKey="content."+key;addBeforeObserver(this,contentKey,null,contentPropertyWillChange);addObserver(this,contentKey,null,contentPropertyDidChange)},didUnwatchProperty:function(key){var contentKey="content."+key;removeBeforeObserver(this,contentKey,null,contentPropertyWillChange);removeObserver(this,contentKey,null,contentPropertyDidChange)},unknownProperty:function(key){var content=get(this,"content");if(content){return get(content,key)}},setUnknownProperty:function(key,value){var m=meta(this);if(m.proto===this){defineProperty(this,key,null,value);return value}var content=get(this,"content");return set(content,key,value)}});__exports__["default"]=ObjectProxy});define("ember-runtime/system/set",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/is_none","ember-runtime/system/string","ember-runtime/system/core_object","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-metal/error","ember-metal/property_events","ember-metal/mixin","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var guidFor=__dependency4__.guidFor;var isNone=__dependency5__.isNone;var fmt=__dependency6__.fmt;var CoreObject=__dependency7__["default"];var MutableEnumerable=__dependency8__["default"];var Enumerable=__dependency9__["default"];var Copyable=__dependency10__["default"];var Freezable=__dependency11__.Freezable;var FROZEN_ERROR=__dependency11__.FROZEN_ERROR;var EmberError=__dependency12__["default"];var propertyWillChange=__dependency13__.propertyWillChange;var propertyDidChange=__dependency13__.propertyDidChange;var aliasMethod=__dependency14__.aliasMethod;var computed=__dependency15__.computed;__exports__["default"]=CoreObject.extend(MutableEnumerable,Copyable,Freezable,{length:0,clear:function(){if(this.isFrozen){throw new EmberError(FROZEN_ERROR)}var len=get(this,"length");if(len===0){return this}var guid;this.enumerableContentWillChange(len,0);propertyWillChange(this,"firstObject");propertyWillChange(this,"lastObject");for(var i=0;i<len;i++){guid=guidFor(this[i]);delete this[guid];delete this[i]}set(this,"length",0);propertyDidChange(this,"firstObject");propertyDidChange(this,"lastObject");this.enumerableContentDidChange(len,0);return this},isEqual:function(obj){if(!Enumerable.detect(obj))return false;var loc=get(this,"length");if(get(obj,"length")!==loc)return false;while(--loc>=0){if(!obj.contains(this[loc]))return false}return true},add:aliasMethod("addObject"),remove:aliasMethod("removeObject"),pop:function(){if(get(this,"isFrozen"))throw new EmberError(FROZEN_ERROR);var obj=this.length>0?this[this.length-1]:null;this.remove(obj);return obj},push:aliasMethod("addObject"),shift:aliasMethod("pop"),unshift:aliasMethod("push"),addEach:aliasMethod("addObjects"),removeEach:aliasMethod("removeObjects"),init:function(items){this._super();if(items)this.addObjects(items)},nextObject:function(idx){return this[idx]},firstObject:computed(function(){return this.length>0?this[0]:undefined}),lastObject:computed(function(){return this.length>0?this[this.length-1]:undefined}),addObject:function(obj){if(get(this,"isFrozen"))throw new EmberError(FROZEN_ERROR);if(isNone(obj))return this;var guid=guidFor(obj),idx=this[guid],len=get(this,"length"),added;if(idx>=0&&idx<len&&this[idx]===obj)return this;added=[obj];this.enumerableContentWillChange(null,added);propertyWillChange(this,"lastObject");len=get(this,"length");this[guid]=len;this[len]=obj;set(this,"length",len+1);propertyDidChange(this,"lastObject");this.enumerableContentDidChange(null,added);return this},removeObject:function(obj){if(get(this,"isFrozen"))throw new EmberError(FROZEN_ERROR);if(isNone(obj))return this;var guid=guidFor(obj),idx=this[guid],len=get(this,"length"),isFirst=idx===0,isLast=idx===len-1,last,removed;if(idx>=0&&idx<len&&this[idx]===obj){removed=[obj];this.enumerableContentWillChange(removed,null);if(isFirst){propertyWillChange(this,"firstObject")}if(isLast){propertyWillChange(this,"lastObject")}if(idx<len-1){last=this[len-1];this[idx]=last;this[guidFor(last)]=idx}delete this[guid];delete this[len-1];set(this,"length",len-1);if(isFirst){propertyDidChange(this,"firstObject")}if(isLast){propertyDidChange(this,"lastObject")}this.enumerableContentDidChange(removed,null)}return this},contains:function(obj){return this[guidFor(obj)]>=0},copy:function(){var C=this.constructor,ret=new C,loc=get(this,"length");set(ret,"length",loc);while(--loc>=0){ret[loc]=this[loc];ret[guidFor(this[loc])]=loc}return ret},toString:function(){var len=this.length,idx,array=[];for(idx=0;idx<len;idx++){array[idx]=this[idx]}return fmt("Ember.Set<%@>",[array.join(",")])}})});define("ember-runtime/system/string",["ember-metal/core","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Ember=__dependency1__["default"];var isArray=__dependency2__.isArray;var emberInspect=__dependency2__.inspect;var STRING_DASHERIZE_REGEXP=/[ _]/g;var STRING_DASHERIZE_CACHE={};var STRING_DECAMELIZE_REGEXP=/([a-z\d])([A-Z])/g;var STRING_CAMELIZE_REGEXP=/(\-|_|\.|\s)+(.)?/g;var STRING_UNDERSCORE_REGEXP_1=/([a-z\d])([A-Z]+)/g;var STRING_UNDERSCORE_REGEXP_2=/\-|\s+/g;function fmt(str,formats){if(!isArray(formats)||arguments.length>2){formats=Array.prototype.slice.call(arguments,1)}var idx=0;return str.replace(/%@([0-9]+)?/g,function(s,argIndex){argIndex=argIndex?parseInt(argIndex,10)-1:idx++;s=formats[argIndex];return s===null?"(null)":s===undefined?"":emberInspect(s)})}function loc(str,formats){if(!isArray(formats)||arguments.length>2){formats=Array.prototype.slice.call(arguments,1)}str=Ember.STRINGS[str]||str;return fmt(str,formats)}function w(str){return str.split(/\s+/)}function decamelize(str){return str.replace(STRING_DECAMELIZE_REGEXP,"$1_$2").toLowerCase()}function dasherize(str){var cache=STRING_DASHERIZE_CACHE,hit=cache.hasOwnProperty(str),ret;if(hit){return cache[str]}else{ret=decamelize(str).replace(STRING_DASHERIZE_REGEXP,"-");cache[str]=ret}return ret}function camelize(str){return str.replace(STRING_CAMELIZE_REGEXP,function(match,separator,chr){return chr?chr.toUpperCase():""}).replace(/^([A-Z])/,function(match,separator,chr){return match.toLowerCase()})}function classify(str){var parts=str.split("."),out=[];for(var i=0,l=parts.length;i<l;i++){var camelized=camelize(parts[i]);out.push(camelized.charAt(0).toUpperCase()+camelized.substr(1))}return out.join(".")}function underscore(str){return str.replace(STRING_UNDERSCORE_REGEXP_1,"$1_$2").replace(STRING_UNDERSCORE_REGEXP_2,"_").toLowerCase()}function capitalize(str){return str.charAt(0).toUpperCase()+str.substr(1)}Ember.STRINGS={};__exports__["default"]={fmt:fmt,loc:loc,w:w,decamelize:decamelize,dasherize:dasherize,camelize:camelize,classify:classify,underscore:underscore,capitalize:capitalize};__exports__.fmt=fmt;__exports__.loc=loc;__exports__.w=w;__exports__.decamelize=decamelize;__exports__.dasherize=dasherize;__exports__.camelize=camelize;__exports__.classify=classify;__exports__.underscore=underscore;__exports__.capitalize=capitalize});define("ember-runtime/system/subarray",["ember-metal/property_get","ember-metal/error","ember-metal/enumerable_utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var get=__dependency1__.get;var EmberError=__dependency2__["default"];var EnumerableUtils=__dependency3__["default"];var RETAIN="r";var FILTER="f";function Operation(type,count){this.type=type;this.count=count}__exports__["default"]=SubArray;function SubArray(length){if(arguments.length<1){length=0}if(length>0){this._operations=[new Operation(RETAIN,length)]}else{this._operations=[]}}SubArray.prototype={addItem:function(index,match){var returnValue=-1,itemType=match?RETAIN:FILTER,self=this;this._findOperation(index,function(operation,operationIndex,rangeStart,rangeEnd,seenInSubArray){var newOperation,splitOperation;if(itemType===operation.type){++operation.count}else if(index===rangeStart){self._operations.splice(operationIndex,0,new Operation(itemType,1))}else{newOperation=new Operation(itemType,1);splitOperation=new Operation(operation.type,rangeEnd-index+1);operation.count=index-rangeStart;self._operations.splice(operationIndex+1,0,newOperation,splitOperation)}if(match){if(operation.type===RETAIN){returnValue=seenInSubArray+(index-rangeStart)}else{returnValue=seenInSubArray}}self._composeAt(operationIndex)},function(seenInSubArray){self._operations.push(new Operation(itemType,1));if(match){returnValue=seenInSubArray}self._composeAt(self._operations.length-1)});return returnValue},removeItem:function(index){var returnValue=-1,self=this;this._findOperation(index,function(operation,operationIndex,rangeStart,rangeEnd,seenInSubArray){if(operation.type===RETAIN){returnValue=seenInSubArray+(index-rangeStart)}if(operation.count>1){--operation.count}else{self._operations.splice(operationIndex,1);
14
+ self._composeAt(operationIndex)}},function(){throw new EmberError("Can't remove an item that has never been added.")});return returnValue},_findOperation:function(index,foundCallback,notFoundCallback){var operationIndex,len,operation,rangeStart,rangeEnd,seenInSubArray=0;for(operationIndex=rangeStart=0,len=this._operations.length;operationIndex<len;rangeStart=rangeEnd+1,++operationIndex){operation=this._operations[operationIndex];rangeEnd=rangeStart+operation.count-1;if(index>=rangeStart&&index<=rangeEnd){foundCallback(operation,operationIndex,rangeStart,rangeEnd,seenInSubArray);return}else if(operation.type===RETAIN){seenInSubArray+=operation.count}}notFoundCallback(seenInSubArray)},_composeAt:function(index){var op=this._operations[index],otherOp;if(!op){return}if(index>0){otherOp=this._operations[index-1];if(otherOp.type===op.type){op.count+=otherOp.count;this._operations.splice(index-1,1);--index}}if(index<this._operations.length-1){otherOp=this._operations[index+1];if(otherOp.type===op.type){op.count+=otherOp.count;this._operations.splice(index+1,1)}}},toString:function(){var str="";EnumerableUtils.forEach(this._operations,function(operation){str+=" "+operation.type+":"+operation.count});return str.substring(1)}}});define("ember-runtime/system/tracked_array",["ember-metal/property_get","ember-metal/enumerable_utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var get=__dependency1__.get;var forEach=__dependency2__.forEach;var RETAIN="r";var INSERT="i";var DELETE="d";__exports__["default"]=TrackedArray;function TrackedArray(items){if(arguments.length<1){items=[]}var length=get(items,"length");if(length){this._operations=[new ArrayOperation(RETAIN,length,items)]}else{this._operations=[]}}TrackedArray.RETAIN=RETAIN;TrackedArray.INSERT=INSERT;TrackedArray.DELETE=DELETE;TrackedArray.prototype={addItems:function(index,newItems){var count=get(newItems,"length");if(count<1){return}var match=this._findArrayOperation(index),arrayOperation=match.operation,arrayOperationIndex=match.index,arrayOperationRangeStart=match.rangeStart,composeIndex,splitIndex,splitItems,splitArrayOperation,newArrayOperation;newArrayOperation=new ArrayOperation(INSERT,count,newItems);if(arrayOperation){if(!match.split){this._operations.splice(arrayOperationIndex,0,newArrayOperation);composeIndex=arrayOperationIndex}else{this._split(arrayOperationIndex,index-arrayOperationRangeStart,newArrayOperation);composeIndex=arrayOperationIndex+1}}else{this._operations.push(newArrayOperation);composeIndex=arrayOperationIndex}this._composeInsert(composeIndex)},removeItems:function(index,count){if(count<1){return}var match=this._findArrayOperation(index),arrayOperation=match.operation,arrayOperationIndex=match.index,arrayOperationRangeStart=match.rangeStart,newArrayOperation,composeIndex;newArrayOperation=new ArrayOperation(DELETE,count);if(!match.split){this._operations.splice(arrayOperationIndex,0,newArrayOperation);composeIndex=arrayOperationIndex}else{this._split(arrayOperationIndex,index-arrayOperationRangeStart,newArrayOperation);composeIndex=arrayOperationIndex+1}return this._composeDelete(composeIndex)},apply:function(callback){var items=[],offset=0;forEach(this._operations,function(arrayOperation,operationIndex){callback(arrayOperation.items,offset,arrayOperation.type,operationIndex);if(arrayOperation.type!==DELETE){offset+=arrayOperation.count;items=items.concat(arrayOperation.items)}});this._operations=[new ArrayOperation(RETAIN,items.length,items)]},_findArrayOperation:function(index){var arrayOperationIndex,len,split=false,arrayOperation,arrayOperationRangeStart,arrayOperationRangeEnd;for(arrayOperationIndex=arrayOperationRangeStart=0,len=this._operations.length;arrayOperationIndex<len;++arrayOperationIndex){arrayOperation=this._operations[arrayOperationIndex];if(arrayOperation.type===DELETE){continue}arrayOperationRangeEnd=arrayOperationRangeStart+arrayOperation.count-1;if(index===arrayOperationRangeStart){break}else if(index>arrayOperationRangeStart&&index<=arrayOperationRangeEnd){split=true;break}else{arrayOperationRangeStart=arrayOperationRangeEnd+1}}return new ArrayOperationMatch(arrayOperation,arrayOperationIndex,split,arrayOperationRangeStart)},_split:function(arrayOperationIndex,splitIndex,newArrayOperation){var arrayOperation=this._operations[arrayOperationIndex];var splitItems=arrayOperation.items.slice(splitIndex);var splitArrayOperation=new ArrayOperation(arrayOperation.type,splitItems.length,splitItems);arrayOperation.count=splitIndex;arrayOperation.items=arrayOperation.items.slice(0,splitIndex);this._operations.splice(arrayOperationIndex+1,0,newArrayOperation,splitArrayOperation)},_composeInsert:function(index){var newArrayOperation=this._operations[index],leftArrayOperation=this._operations[index-1],rightArrayOperation=this._operations[index+1],leftOp=leftArrayOperation&&leftArrayOperation.type,rightOp=rightArrayOperation&&rightArrayOperation.type;if(leftOp===INSERT){leftArrayOperation.count+=newArrayOperation.count;leftArrayOperation.items=leftArrayOperation.items.concat(newArrayOperation.items);if(rightOp===INSERT){leftArrayOperation.count+=rightArrayOperation.count;leftArrayOperation.items=leftArrayOperation.items.concat(rightArrayOperation.items);this._operations.splice(index,2)}else{this._operations.splice(index,1)}}else if(rightOp===INSERT){newArrayOperation.count+=rightArrayOperation.count;newArrayOperation.items=newArrayOperation.items.concat(rightArrayOperation.items);this._operations.splice(index+1,1)}},_composeDelete:function(index){var arrayOperation=this._operations[index],deletesToGo=arrayOperation.count,leftArrayOperation=this._operations[index-1],leftOp=leftArrayOperation&&leftArrayOperation.type,nextArrayOperation,nextOp,nextCount,removeNewAndNextOp=false,removedItems=[];if(leftOp===DELETE){arrayOperation=leftArrayOperation;index-=1}for(var i=index+1;deletesToGo>0;++i){nextArrayOperation=this._operations[i];nextOp=nextArrayOperation.type;nextCount=nextArrayOperation.count;if(nextOp===DELETE){arrayOperation.count+=nextCount;continue}if(nextCount>deletesToGo){removedItems=removedItems.concat(nextArrayOperation.items.splice(0,deletesToGo));nextArrayOperation.count-=deletesToGo;i-=1;nextCount=deletesToGo;deletesToGo=0}else{if(nextCount===deletesToGo){removeNewAndNextOp=true}removedItems=removedItems.concat(nextArrayOperation.items);deletesToGo-=nextCount}if(nextOp===INSERT){arrayOperation.count-=nextCount}}if(arrayOperation.count>0){this._operations.splice(index+1,i-1-index)}else{this._operations.splice(index,removeNewAndNextOp?2:1)}return removedItems},toString:function(){var str="";forEach(this._operations,function(operation){str+=" "+operation.type+":"+operation.count});return str.substring(1)}};function ArrayOperation(operation,count,items){this.type=operation;this.count=count;this.items=items}function ArrayOperationMatch(operation,index,split,rangeStart){this.operation=operation;this.index=index;this.split=split;this.rangeStart=rangeStart}});define("ember-testing",["ember-metal/core","ember-testing/initializers","ember-testing/support","ember-testing/setup_for_testing","ember-testing/test","ember-testing/adapters/adapter","ember-testing/adapters/qunit","ember-testing/helpers"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__){"use strict";var Ember=__dependency1__["default"];var setupForTesting=__dependency4__["default"];var Test=__dependency5__["default"];var Adapter=__dependency6__["default"];var QUnitAdapter=__dependency7__["default"];Ember.Test=Test;Ember.Test.Adapter=Adapter;Ember.Test.QUnitAdapter=QUnitAdapter;Ember.setupForTesting=setupForTesting});define("ember-testing/adapters/adapter",["ember-metal/core","ember-metal/utils","ember-runtime/system/object","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var inspect=__dependency2__.inspect;var EmberObject=__dependency3__["default"];var Adapter=EmberObject.extend({asyncStart:Ember.K,asyncEnd:Ember.K,exception:function(error){throw error}});__exports__["default"]=Adapter});define("ember-testing/adapters/qunit",["ember-testing/adapters/adapter","ember-metal/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Adapter=__dependency1__["default"];var inspect=__dependency2__.inspect;__exports__["default"]=Adapter.extend({asyncStart:function(){QUnit.stop()},asyncEnd:function(){QUnit.start()},exception:function(error){ok(false,inspect(error))}})});define("ember-testing/helpers",["ember-metal/property_get","ember-metal/error","ember-metal/run_loop","ember-views/system/jquery","ember-testing/test"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__){"use strict";var get=__dependency1__.get;var EmberError=__dependency2__["default"];var run=__dependency3__["default"];var jQuery=__dependency4__["default"];var Test=__dependency5__["default"];var helper=Test.registerHelper;var asyncHelper=Test.registerAsyncHelper;var countAsync=0;function currentRouteName(app){var appController=app.__container__.lookup("controller:application");return get(appController,"currentRouteName")}function currentPath(app){var appController=app.__container__.lookup("controller:application");return get(appController,"currentPath")}function currentURL(app){var router=app.__container__.lookup("router:main");return get(router,"location").getURL()}function visit(app,url){var router=app.__container__.lookup("router:main");router.location.setURL(url);if(app._readinessDeferrals>0){router["initialURL"]=url;run(app,"advanceReadiness");delete router["initialURL"]}else{run(app,app.handleURL,url)}return app.testHelpers.wait()}function click(app,selector,context){var $el=app.testHelpers.findWithAssert(selector,context);run($el,"mousedown");if($el.is(":input")){var type=$el.prop("type");if(type!=="checkbox"&&type!=="radio"&&type!=="hidden"){run($el,function(){if(!document.hasFocus||document.hasFocus()){this.focus()}else{this.trigger("focusin")}})}}run($el,"mouseup");run($el,"click");return app.testHelpers.wait()}function triggerEvent(app,selector,context,type,options){if(arguments.length===3){options=type;type=context;context=null}if(typeof options==="undefined"){options={}}var $el=app.testHelpers.findWithAssert(selector,context);var event=jQuery.Event(type,options);run($el,"trigger",event);return app.testHelpers.wait()}function keyEvent(app,selector,context,type,keyCode){if(typeof keyCode==="undefined"){keyCode=type;type=context;context=null}return app.testHelpers.triggerEvent(selector,context,type,{keyCode:keyCode,which:keyCode})}function fillIn(app,selector,context,text){var $el;if(typeof text==="undefined"){text=context;context=null}$el=app.testHelpers.findWithAssert(selector,context);run(function(){$el.val(text).change()});return app.testHelpers.wait()}function findWithAssert(app,selector,context){var $el=app.testHelpers.find(selector,context);if($el.length===0){throw new EmberError("Element "+selector+" not found.")}return $el}function find(app,selector,context){var $el;context=context||get(app,"rootElement");$el=app.$(selector,context);return $el}function andThen(app,callback){return app.testHelpers.wait(callback(app))}function wait(app,value){return Test.promise(function(resolve){if(++countAsync===1){Test.adapter.asyncStart()}var watcher=setInterval(function(){var routerIsLoading=!!app.__container__.lookup("router:main").router.activeTransition;if(routerIsLoading){return}if(Test.pendingAjaxRequests){return}if(run.hasScheduledTimers()||run.currentRunLoop){return}if(Test.waiters&&Test.waiters.any(function(waiter){var context=waiter[0];var callback=waiter[1];return!callback.call(context)})){return}clearInterval(watcher);if(--countAsync===0){Test.adapter.asyncEnd()}run(null,resolve,value)},10)})}asyncHelper("visit",visit);asyncHelper("click",click);asyncHelper("keyEvent",keyEvent);asyncHelper("fillIn",fillIn);helper("find",find);helper("findWithAssert",findWithAssert);asyncHelper("wait",wait);asyncHelper("andThen",andThen);helper("currentRouteName",currentRouteName);helper("currentPath",currentPath);helper("currentURL",currentURL);asyncHelper("triggerEvent",triggerEvent)});define("ember-testing/initializers",["ember-runtime/system/lazy_load"],function(__dependency1__){"use strict";var onLoad=__dependency1__.onLoad;var name="deferReadiness in `testing` mode";onLoad("Ember.Application",function(Application){if(!Application.initializers[name]){Application.initializer({name:name,initialize:function(container,application){if(application.testing){application.deferReadiness()}}})}})});define("ember-testing/setup_for_testing",["ember-metal/core","ember-testing/adapters/qunit","ember-views/system/jquery","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var QUnitAdapter=__dependency2__["default"];var jQuery=__dependency3__["default"];var Test,requests;function incrementAjaxPendingRequests(_,xhr){requests.push(xhr);Test.pendingAjaxRequests=requests.length}function decrementAjaxPendingRequests(_,xhr){for(var i=0;i<requests.length;i++){if(xhr===requests[i]){requests.splice(i,1)}}Test.pendingAjaxRequests=requests.length}__exports__["default"]=function setupForTesting(){if(!Test){Test=requireModule("ember-testing/test")["default"]}Ember.testing=true;if(!Test.adapter){Test.adapter=QUnitAdapter.create()}requests=[];Test.pendingAjaxRequests=requests.length;jQuery(document).off("ajaxSend",incrementAjaxPendingRequests);jQuery(document).off("ajaxComplete",decrementAjaxPendingRequests);jQuery(document).on("ajaxSend",incrementAjaxPendingRequests);jQuery(document).on("ajaxComplete",decrementAjaxPendingRequests)}});define("ember-testing/support",["ember-metal/core","ember-views/system/jquery"],function(__dependency1__,__dependency2__){"use strict";var Ember=__dependency1__["default"];var jQuery=__dependency2__["default"];var $=jQuery;function testCheckboxClick(handler){$('<input type="checkbox">').css({position:"absolute",left:"-1000px",top:"-1000px"}).appendTo("body").on("click",handler).trigger("click").remove()}$(function(){testCheckboxClick(function(){if(!this.checked&&!$.event.special.click){$.event.special.click={trigger:function(){if($.nodeName(this,"input")&&this.type==="checkbox"&&this.click){this.click();return false}}}}});testCheckboxClick(function(){})})});define("ember-testing/test",["ember-metal/core","ember-metal/run_loop","ember-metal/platform","ember-runtime/compare","ember-runtime/ext/rsvp","ember-testing/setup_for_testing","ember-application/system/application","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__exports__){"use strict";var Ember=__dependency1__["default"];var emberRun=__dependency2__["default"];var create=__dependency3__.create;var compare=__dependency4__["default"];var RSVP=__dependency5__["default"];var setupForTesting=__dependency6__["default"];var EmberApplication=__dependency7__["default"];var slice=[].slice;var helpers={};var injectHelpersCallbacks=[];var Test={_helpers:helpers,registerHelper:function(name,helperMethod){helpers[name]={method:helperMethod,meta:{wait:false}}},registerAsyncHelper:function(name,helperMethod){helpers[name]={method:helperMethod,meta:{wait:true}}},unregisterHelper:function(name){delete helpers[name];delete Test.Promise.prototype[name]},onInjectHelpers:function(callback){injectHelpersCallbacks.push(callback)},promise:function(resolver){return new Test.Promise(resolver)},adapter:null,resolve:function(val){return Test.promise(function(resolve){return resolve(val)})},registerWaiter:function(context,callback){if(arguments.length===1){callback=context;context=null}if(!this.waiters){this.waiters=Ember.A()}this.waiters.push([context,callback])},unregisterWaiter:function(context,callback){var pair;if(!this.waiters){return}if(arguments.length===1){callback=context;context=null}pair=[context,callback];this.waiters=Ember.A(this.waiters.filter(function(elt){return compare(elt,pair)!==0}))}};function helper(app,name){var fn=helpers[name].method,meta=helpers[name].meta;return function(){var args=slice.call(arguments),lastPromise=Test.lastPromise;args.unshift(app);if(!meta.wait){return fn.apply(app,args)}if(!lastPromise){lastPromise=fn.apply(app,args)}else{run(function(){lastPromise=Test.resolve(lastPromise).then(function(){return fn.apply(app,args)})})}return lastPromise}}function run(fn){if(!emberRun.currentRunLoop){emberRun(fn)}else{fn()}}EmberApplication.reopen({testHelpers:{},originalMethods:{},testing:false,setupForTesting:function(){setupForTesting();this.testing=true;this.Router.reopen({location:"none"})},helperContainer:window,injectTestHelpers:function(helperContainer){if(helperContainer){this.helperContainer=helperContainer}this.testHelpers={};for(var name in helpers){this.originalMethods[name]=this.helperContainer[name];this.testHelpers[name]=this.helperContainer[name]=helper(this,name);protoWrap(Test.Promise.prototype,name,helper(this,name),helpers[name].meta.wait)}for(var i=0,l=injectHelpersCallbacks.length;i<l;i++){injectHelpersCallbacks[i](this)}},removeTestHelpers:function(){for(var name in helpers){this.helperContainer[name]=this.originalMethods[name];delete this.testHelpers[name];delete this.originalMethods[name]}}});function protoWrap(proto,name,callback,isAsync){proto[name]=function(){var args=arguments;if(isAsync){return callback.apply(this,args)}else{return this.then(function(){return callback.apply(this,args)})}}}Test.Promise=function(){RSVP.Promise.apply(this,arguments);Test.lastPromise=this};Test.Promise.prototype=create(RSVP.Promise.prototype);Test.Promise.prototype.constructor=Test.Promise;var originalThen=RSVP.Promise.prototype.then;Test.Promise.prototype.then=function(onSuccess,onFailure){return originalThen.call(this,function(val){return isolate(onSuccess,val)},onFailure)};function isolate(fn,val){var value,lastPromise;Test.lastPromise=null;value=fn(val);lastPromise=Test.lastPromise;if(value&&value instanceof Test.Promise||!lastPromise){return value}else{run(function(){lastPromise=Test.resolve(lastPromise).then(function(){return value})});return lastPromise}}__exports__["default"]=Test});define("ember-views",["ember-runtime","ember-views/system/jquery","ember-views/system/utils","ember-views/system/render_buffer","ember-views/system/ext","ember-views/views/states","ember-views/views/core_view","ember-views/views/view","ember-views/views/view_collection","ember-views/views/container_view","ember-views/views/collection_view","ember-views/views/component","ember-views/system/event_dispatcher","ember-views/mixins/view_target_action_support","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__exports__){"use strict";var Ember=__dependency1__["default"];var jQuery=__dependency2__["default"];var setInnerHTML=__dependency3__.setInnerHTML;var isSimpleClick=__dependency3__.isSimpleClick;var RenderBuffer=__dependency4__["default"];var cloneStates=__dependency6__.cloneStates;var states=__dependency6__.states;var CoreView=__dependency7__["default"];var View=__dependency8__["default"];var ViewCollection=__dependency9__["default"];var ContainerView=__dependency10__["default"];var CollectionView=__dependency11__["default"];var Component=__dependency12__["default"];var EventDispatcher=__dependency13__["default"];var ViewTargetActionSupport=__dependency14__["default"];Ember.$=jQuery;Ember.ViewTargetActionSupport=ViewTargetActionSupport;Ember.RenderBuffer=RenderBuffer;var ViewUtils=Ember.ViewUtils={};ViewUtils.setInnerHTML=setInnerHTML;ViewUtils.isSimpleClick=isSimpleClick;Ember.CoreView=CoreView;Ember.View=View;Ember.View.states=states;Ember.View.cloneStates=cloneStates;Ember._ViewCollection=ViewCollection;Ember.ContainerView=ContainerView;Ember.CollectionView=CollectionView;Ember.Component=Component;Ember.EventDispatcher=EventDispatcher;__exports__["default"]=Ember});define("ember-views/mixins/component_template_deprecation",["ember-metal/core","ember-metal/property_get","ember-metal/mixin","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var Mixin=__dependency3__.Mixin;__exports__["default"]=Mixin.create({willMergeMixin:function(props){this._super.apply(this,arguments);var deprecatedProperty,replacementProperty,layoutSpecified=props.layoutName||props.layout||get(this,"layoutName");if(props.templateName&&!layoutSpecified){deprecatedProperty="templateName";replacementProperty="layoutName";props.layoutName=props.templateName;delete props["templateName"]}if(props.template&&!layoutSpecified){deprecatedProperty="template";replacementProperty="layout";props.layout=props.template;delete props["template"]}if(deprecatedProperty){}}})});define("ember-views/mixins/view_target_action_support",["ember-metal/mixin","ember-runtime/mixins/target_action_support","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Mixin=__dependency1__.Mixin;var TargetActionSupport=__dependency2__["default"];var computed=__dependency3__.computed;var alias=computed.alias;__exports__["default"]=Mixin.create(TargetActionSupport,{target:alias("controller"),actionContext:alias("context")})});define("ember-views/system/event_dispatcher",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/object","ember-views/system/jquery","ember-views/views/view","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var isNone=__dependency4__.isNone;var run=__dependency5__["default"];var typeOf=__dependency6__.typeOf;var fmt=__dependency7__.fmt;var EmberObject=__dependency8__["default"];var jQuery=__dependency9__["default"];var View=__dependency10__["default"];var ActionHelper;__exports__["default"]=EmberObject.extend({events:{touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"},rootElement:"body",canDispatchToEventManager:true,setup:function(addedEvents,rootElement){var event,events=get(this,"events");jQuery.extend(events,addedEvents||{});if(!isNone(rootElement)){set(this,"rootElement",rootElement)}rootElement=jQuery(get(this,"rootElement"));rootElement.addClass("ember-application");for(event in events){if(events.hasOwnProperty(event)){this.setupHandler(rootElement,event,events[event])}}},setupHandler:function(rootElement,event,eventName){var self=this;rootElement.on(event+".ember",".ember-view",function(evt,triggeringManager){var view=View.views[this.id],result=true;var manager=self.canDispatchToEventManager?self._findNearestEventManager(view,eventName):null;if(manager&&manager!==triggeringManager){result=self._dispatchEvent(manager,evt,eventName,view)}else if(view){result=self._bubbleEvent(view,evt,eventName)}else{evt.stopPropagation()}return result});rootElement.on(event+".ember","[data-ember-action]",function(evt){if(!ActionHelper){ActionHelper=requireModule("ember-routing-handlebars/helpers/action")["ActionHelper"]}var actionId=jQuery(evt.currentTarget).attr("data-ember-action"),action=ActionHelper.registeredActions[actionId];if(action&&action.eventName===eventName){return action.handler(evt)}})},_findNearestEventManager:function(view,eventName){var manager=null;while(view){manager=get(view,"eventManager");if(manager&&manager[eventName]){break}view=get(view,"parentView")}return manager},_dispatchEvent:function(object,evt,eventName,view){var result=true;var handler=object[eventName];if(typeOf(handler)==="function"){result=run(object,handler,evt,view);evt.stopPropagation()}else{result=this._bubbleEvent(view,evt,eventName)}return result},_bubbleEvent:function(view,evt,eventName){return run(view,view.handleEvent,eventName,evt)},destroy:function(){var rootElement=get(this,"rootElement");jQuery(rootElement).off(".ember","**").removeClass("ember-application");return this._super()},toString:function(){return"(EventDisptacher)"}})});define("ember-views/system/ext",["ember-metal/run_loop"],function(__dependency1__){"use strict";var run=__dependency1__["default"];var queues=run.queues;run._addQueue("render","actions");run._addQueue("afterRender","render")});define("ember-views/system/jquery",["ember-metal/core","ember-runtime/system/string","ember-metal/enumerable_utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Ember=__dependency1__["default"];var w=__dependency2__.w;var forEach=__dependency3__.forEach;var jQuery=Ember.imports&&Ember.imports.jQuery||this&&this.jQuery;if(!jQuery&&typeof require==="function"){jQuery=require("jquery")}if(jQuery){var dragEvents=w("dragstart drag dragenter dragleave dragover drop dragend");forEach(dragEvents,function(eventName){jQuery.event.fixHooks[eventName]={props:["dataTransfer"]}})}__exports__["default"]=jQuery});define("ember-views/system/render_buffer",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-views/system/utils","ember-views/system/jquery","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var setInnerHTML=__dependency4__.setInnerHTML;var jQuery=__dependency5__["default"];function ClassSet(){this.seen={};this.list=[]}ClassSet.prototype={add:function(string){if(string in this.seen){return}this.seen[string]=true;this.list.push(string)},toDOM:function(){return this.list.join(" ")}};var BAD_TAG_NAME_TEST_REGEXP=/[^a-zA-Z0-9\-]/;var BAD_TAG_NAME_REPLACE_REGEXP=/[^a-zA-Z0-9\-]/g;function stripTagName(tagName){if(!tagName){return tagName}if(!BAD_TAG_NAME_TEST_REGEXP.test(tagName)){return tagName}return tagName.replace(BAD_TAG_NAME_REPLACE_REGEXP,"")}var BAD_CHARS_REGEXP=/&(?!\w+;)|[<>"'`]/g;var POSSIBLE_CHARS_REGEXP=/[&<>"'`]/;function escapeAttribute(value){var escape={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"};var escapeChar=function(chr){return escape[chr]||"&amp;"};var string=value.toString();if(!POSSIBLE_CHARS_REGEXP.test(string)){return string}return string.replace(BAD_CHARS_REGEXP,escapeChar)}var canSetNameOnInputs=function(){var div=document.createElement("div"),el=document.createElement("input");el.setAttribute("name","foo");div.appendChild(el);return!!div.innerHTML.match("foo")}();__exports__["default"]=function RenderBuffer(tagName){return new _RenderBuffer(tagName)};function _RenderBuffer(tagName){this.tagNames=[tagName||null];this.buffer=""}_RenderBuffer.prototype={_element:null,_hasElement:true,elementClasses:null,classes:null,elementId:null,elementAttributes:null,elementProperties:null,elementTag:null,elementStyle:null,push:function(string){this.buffer+=string;return this},addClass:function(className){this.elementClasses=this.elementClasses||new ClassSet;this.elementClasses.add(className);this.classes=this.elementClasses.list;return this},setClasses:function(classNames){this.elementClasses=null;var len=classNames.length,i;for(i=0;i<len;i++){this.addClass(classNames[i])}},id:function(id){this.elementId=id;return this},attr:function(name,value){var attributes=this.elementAttributes=this.elementAttributes||{};if(arguments.length===1){return attributes[name]}else{attributes[name]=value}return this},removeAttr:function(name){var attributes=this.elementAttributes;if(attributes){delete attributes[name]}return this},prop:function(name,value){var properties=this.elementProperties=this.elementProperties||{};if(arguments.length===1){return properties[name]}else{properties[name]=value}return this},removeProp:function(name){var properties=this.elementProperties;if(properties){delete properties[name]}return this},style:function(name,value){this.elementStyle=this.elementStyle||{};this.elementStyle[name]=value;return this},begin:function(tagName){this.tagNames.push(tagName||null);return this},pushOpeningTag:function(){var tagName=this.currentTagName();if(!tagName){return}if(this._hasElement&&!this._element&&this.buffer.length===0){this._element=this.generateElement();return}var buffer=this.buffer,id=this.elementId,classes=this.classes,attrs=this.elementAttributes,props=this.elementProperties,style=this.elementStyle,attr,prop;buffer+="<"+stripTagName(tagName);if(id){buffer+=' id="'+escapeAttribute(id)+'"';this.elementId=null}if(classes){buffer+=' class="'+escapeAttribute(classes.join(" "))+'"';this.classes=null;this.elementClasses=null}if(style){buffer+=' style="';for(prop in style){if(style.hasOwnProperty(prop)){buffer+=prop+":"+escapeAttribute(style[prop])+";"}}buffer+='"';this.elementStyle=null}if(attrs){for(attr in attrs){if(attrs.hasOwnProperty(attr)){buffer+=" "+attr+'="'+escapeAttribute(attrs[attr])+'"'}}this.elementAttributes=null}if(props){for(prop in props){if(props.hasOwnProperty(prop)){var value=props[prop];if(value||typeof value==="number"){if(value===true){buffer+=" "+prop+'="'+prop+'"'}else{buffer+=" "+prop+'="'+escapeAttribute(props[prop])+'"'}}}}this.elementProperties=null}buffer+=">";this.buffer=buffer},pushClosingTag:function(){var tagName=this.tagNames.pop();if(tagName){this.buffer+="</"+stripTagName(tagName)+">"}},currentTagName:function(){return this.tagNames[this.tagNames.length-1]},generateElement:function(){var tagName=this.tagNames.pop(),id=this.elementId,classes=this.classes,attrs=this.elementAttributes,props=this.elementProperties,style=this.elementStyle,styleBuffer="",attr,prop,tagString;if(attrs&&attrs.name&&!canSetNameOnInputs){tagString="<"+stripTagName(tagName)+' name="'+escapeAttribute(attrs.name)+'">'}else{tagString=tagName}var element=document.createElement(tagString),$element=jQuery(element);if(id){$element.attr("id",id);this.elementId=null}if(classes){$element.attr("class",classes.join(" "));this.classes=null;this.elementClasses=null}if(style){for(prop in style){if(style.hasOwnProperty(prop)){styleBuffer+=prop+":"+style[prop]+";"}}$element.attr("style",styleBuffer);this.elementStyle=null}if(attrs){for(attr in attrs){if(attrs.hasOwnProperty(attr)){$element.attr(attr,attrs[attr])}}this.elementAttributes=null}if(props){for(prop in props){if(props.hasOwnProperty(prop)){$element.prop(prop,props[prop])}}this.elementProperties=null}return element},element:function(){var html=this.innerString();if(html){this._element=setInnerHTML(this._element,html)}return this._element},string:function(){if(this._hasElement&&this._element){var thisElement=this.element(),outerHTML=thisElement.outerHTML;if(typeof outerHTML==="undefined"){return jQuery("<div/>").append(thisElement).html()}return outerHTML}else{return this.innerString()}},innerString:function(){return this.buffer}}});define("ember-views/system/utils",["ember-metal/core","exports"],function(__dependency1__,__exports__){"use strict";var Ember=__dependency1__["default"];var needsShy=typeof document!=="undefined"&&function(){var testEl=document.createElement("div");testEl.innerHTML="<div></div>";
15
+ testEl.firstChild.innerHTML="<script></script>";return testEl.firstChild.innerHTML===""}();var movesWhitespace=typeof document!=="undefined"&&function(){var testEl=document.createElement("div");testEl.innerHTML="Test: <script type='text/x-placeholder'></script>Value";return testEl.childNodes[0].nodeValue==="Test:"&&testEl.childNodes[2].nodeValue===" Value"}();var findChildById=function(element,id){if(element.getAttribute("id")===id){return element}var len=element.childNodes.length,idx,node,found;for(idx=0;idx<len;idx++){node=element.childNodes[idx];found=node.nodeType===1&&findChildById(node,id);if(found){return found}}};var setInnerHTMLWithoutFix=function(element,html){if(needsShy){html="&shy;"+html}var matches=[];if(movesWhitespace){html=html.replace(/(\s+)(<script id='([^']+)')/g,function(match,spaces,tag,id){matches.push([id,spaces]);return tag})}element.innerHTML=html;if(matches.length>0){var len=matches.length,idx;for(idx=0;idx<len;idx++){var script=findChildById(element,matches[idx][0]),node=document.createTextNode(matches[idx][1]);script.parentNode.insertBefore(node,script)}}if(needsShy){var shyElement=element.firstChild;while(shyElement.nodeType===1&&!shyElement.nodeName){shyElement=shyElement.firstChild}if(shyElement.nodeType===3&&shyElement.nodeValue.charAt(0)==="­"){shyElement.nodeValue=shyElement.nodeValue.slice(1)}}};var innerHTMLTags={};var canSetInnerHTML=function(tagName){if(innerHTMLTags[tagName]!==undefined){return innerHTMLTags[tagName]}var canSet=true;if(tagName.toLowerCase()==="select"){var el=document.createElement("select");setInnerHTMLWithoutFix(el,'<option value="test">Test</option>');canSet=el.options.length===1}innerHTMLTags[tagName]=canSet;return canSet};function setInnerHTML(element,html){var tagName=element.tagName;if(canSetInnerHTML(tagName)){setInnerHTMLWithoutFix(element,html)}else{var outerHTML=element.outerHTML||(new XMLSerializer).serializeToString(element);var startTag=outerHTML.match(new RegExp("<"+tagName+"([^>]*)>","i"))[0],endTag="</"+tagName+">";var wrapper=document.createElement("div");setInnerHTMLWithoutFix(wrapper,startTag+html+endTag);element=wrapper.firstChild;while(element.tagName!==tagName){element=element.nextSibling}}return element}__exports__.setInnerHTML=setInnerHTML;function isSimpleClick(event){var modifier=event.shiftKey||event.metaKey||event.altKey||event.ctrlKey,secondaryClick=event.which>1;return!modifier&&!secondaryClick}__exports__.isSimpleClick=isSimpleClick});define("ember-views/views/collection_view",["ember-metal/core","ember-metal/platform","ember-metal/binding","ember-metal/merge","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/string","ember-views/views/container_view","ember-views/views/core_view","ember-views/views/view","ember-metal/mixin","ember-runtime/mixins/array","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__exports__){"use strict";var Ember=__dependency1__["default"];var create=__dependency2__.create;var isGlobalPath=__dependency3__.isGlobalPath;var merge=__dependency4__["default"];var get=__dependency5__.get;var set=__dependency6__.set;var fmt=__dependency7__.fmt;var ContainerView=__dependency8__["default"];var CoreView=__dependency9__["default"];var View=__dependency10__["default"];var observer=__dependency11__.observer;var beforeObserver=__dependency11__.beforeObserver;var EmberArray=__dependency12__["default"];var CollectionView=ContainerView.extend({content:null,emptyViewClass:View,emptyView:null,itemViewClass:View,init:function(){var ret=this._super();this._contentDidChange();return ret},_contentWillChange:beforeObserver("content",function(){var content=this.get("content");if(content){content.removeArrayObserver(this)}var len=content?get(content,"length"):0;this.arrayWillChange(content,0,len)}),_contentDidChange:observer("content",function(){var content=get(this,"content");if(content){this._assertArrayLike(content);content.addArrayObserver(this)}var len=content?get(content,"length"):0;this.arrayDidChange(content,0,null,len)}),_assertArrayLike:function(content){},destroy:function(){if(!this._super()){return}var content=get(this,"content");if(content){content.removeArrayObserver(this)}if(this._createdEmptyView){this._createdEmptyView.destroy()}return this},arrayWillChange:function(content,start,removedCount){var emptyView=get(this,"emptyView");if(emptyView&&emptyView instanceof View){emptyView.removeFromParent()}var childViews=this._childViews,childView,idx,len;len=this._childViews.length;var removingAll=removedCount===len;if(removingAll){this.currentState.empty(this);this.invokeRecursively(function(view){view.removedFromDOM=true},false)}for(idx=start+removedCount-1;idx>=start;idx--){childView=childViews[idx];childView.destroy()}},arrayDidChange:function(content,start,removed,added){var addedViews=[],view,item,idx,len,itemViewClass,emptyView;len=content?get(content,"length"):0;if(len){itemViewClass=get(this,"itemViewClass");if("string"===typeof itemViewClass&&isGlobalPath(itemViewClass)){itemViewClass=get(itemViewClass)||itemViewClass}for(idx=start;idx<start+added;idx++){item=content.objectAt(idx);view=this.createChildView(itemViewClass,{content:item,contentIndex:idx});addedViews.push(view)}}else{emptyView=get(this,"emptyView");if(!emptyView){return}if("string"===typeof emptyView&&isGlobalPath(emptyView)){emptyView=get(emptyView)||emptyView}emptyView=this.createChildView(emptyView);addedViews.push(emptyView);set(this,"emptyView",emptyView);if(CoreView.detect(emptyView)){this._createdEmptyView=emptyView}}this.replace(start,0,addedViews)},createChildView:function(view,attrs){view=this._super(view,attrs);var itemTagName=get(view,"tagName");if(itemTagName===null||itemTagName===undefined){itemTagName=CollectionView.CONTAINER_MAP[get(this,"tagName")];set(view,"tagName",itemTagName)}return view}});CollectionView.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"};__exports__["default"]=CollectionView});define("ember-views/views/component",["ember-metal/core","ember-views/mixins/component_template_deprecation","ember-runtime/mixins/target_action_support","ember-views/views/view","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/computed","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var Ember=__dependency1__["default"];var ComponentTemplateDeprecation=__dependency2__["default"];var TargetActionSupport=__dependency3__["default"];var View=__dependency4__["default"];var get=__dependency5__.get;var set=__dependency6__.set;var isNone=__dependency7__.isNone;var computed=__dependency8__.computed;var a_slice=Array.prototype.slice;var Component=View.extend(TargetActionSupport,ComponentTemplateDeprecation,{instrumentName:"component",instrumentDisplay:computed(function(){if(this._debugContainerKey){return"{{"+this._debugContainerKey.split(":")[1]+"}}"}}),init:function(){this._super();set(this,"origContext",get(this,"context"));set(this,"context",this);set(this,"controller",this)},defaultLayout:function(context,options){Ember.Handlebars.helpers["yield"].call(context,options)},template:computed(function(key,value){if(value!==undefined){return value}var templateName=get(this,"templateName"),template=this.templateForName(templateName,"template");return template||get(this,"defaultTemplate")}).property("templateName"),templateName:null,cloneKeywords:function(){return{view:this,controller:this}},_yield:function(context,options){var view=options.data.view,parentView=this._parentView,template=get(this,"template");if(template){view.appendChild(View,{isVirtual:true,tagName:"",_contextView:parentView,template:template,context:options.data.insideGroup?get(this,"origContext"):get(parentView,"context"),controller:get(parentView,"controller"),templateData:{keywords:parentView.cloneKeywords(),insideGroup:options.data.insideGroup}})}},targetObject:computed(function(key){var parentView=get(this,"_parentView");return parentView?get(parentView,"controller"):null}).property("_parentView"),sendAction:function(action){var actionName,contexts=a_slice.call(arguments,1);if(action===undefined){actionName=get(this,"action")}else{actionName=get(this,action)}if(actionName===undefined){return}this.triggerAction({action:actionName,actionContext:contexts})}});__exports__["default"]=Component});define("ember-views/views/container_view",["ember-metal/core","ember-metal/merge","ember-runtime/mixins/mutable_array","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/view_collection","ember-views/views/states","ember-metal/error","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/run_loop","ember-metal/properties","ember-views/system/render_buffer","ember-metal/mixin","ember-runtime/system/native_array","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__exports__){"use strict";var Ember=__dependency1__["default"];var merge=__dependency2__["default"];var MutableArray=__dependency3__["default"];var get=__dependency4__.get;var set=__dependency5__.set;var View=__dependency6__["default"];var ViewCollection=__dependency7__["default"];var cloneStates=__dependency8__.cloneStates;var EmberViewStates=__dependency8__.states;var EmberError=__dependency9__["default"];var forEach=__dependency10__.forEach;var computed=__dependency11__.computed;var run=__dependency12__["default"];var defineProperty=__dependency13__.defineProperty;var renderBuffer=__dependency14__["default"];var observer=__dependency15__.observer;var beforeObserver=__dependency15__.beforeObserver;var emberA=__dependency16__.A;var states=cloneStates(EmberViewStates);var ContainerView=View.extend(MutableArray,{_states:states,init:function(){this._super();var childViews=get(this,"childViews");defineProperty(this,"childViews",View.childViewsProperty);var _childViews=this._childViews;forEach(childViews,function(viewName,idx){var view;if("string"===typeof viewName){view=get(this,viewName);view=this.createChildView(view);set(this,viewName,view)}else{view=this.createChildView(viewName)}_childViews[idx]=view},this);var currentView=get(this,"currentView");if(currentView){if(!_childViews.length){_childViews=this._childViews=this._childViews.slice()}_childViews.push(this.createChildView(currentView))}},replace:function(idx,removedCount,addedViews){var addedCount=addedViews?get(addedViews,"length"):0;var self=this;this.arrayContentWillChange(idx,removedCount,addedCount);this.childViewsWillChange(this._childViews,idx,removedCount);if(addedCount===0){this._childViews.splice(idx,removedCount)}else{var args=[idx,removedCount].concat(addedViews);if(addedViews.length&&!this._childViews.length){this._childViews=this._childViews.slice()}this._childViews.splice.apply(this._childViews,args)}this.arrayContentDidChange(idx,removedCount,addedCount);this.childViewsDidChange(this._childViews,idx,removedCount,addedCount);return this},objectAt:function(idx){return this._childViews[idx]},length:computed(function(){return this._childViews.length})["volatile"](),render:function(buffer){this.forEachChildView(function(view){view.renderToBuffer(buffer)})},instrumentName:"container",childViewsWillChange:function(views,start,removed){this.propertyWillChange("childViews");if(removed>0){var changedViews=views.slice(start,start+removed);this.currentState.childViewsWillChange(this,views,start,removed);this.initializeViews(changedViews,null,null)}},removeChild:function(child){this.removeObject(child);return this},childViewsDidChange:function(views,start,removed,added){if(added>0){var changedViews=views.slice(start,start+added);this.initializeViews(changedViews,this,get(this,"templateData"));this.currentState.childViewsDidChange(this,views,start,added)}this.propertyDidChange("childViews")},initializeViews:function(views,parentView,templateData){forEach(views,function(view){set(view,"_parentView",parentView);if(!view.container&&parentView){set(view,"container",parentView.container)}if(!get(view,"templateData")){set(view,"templateData",templateData)}})},currentView:null,_currentViewWillChange:beforeObserver("currentView",function(){var currentView=get(this,"currentView");if(currentView){currentView.destroy()}}),_currentViewDidChange:observer("currentView",function(){var currentView=get(this,"currentView");if(currentView){this.pushObject(currentView)}}),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}});merge(states._default,{childViewsWillChange:Ember.K,childViewsDidChange:Ember.K,ensureChildrenAreInDOM:Ember.K});merge(states.inBuffer,{childViewsDidChange:function(parentView,views,start,added){throw new EmberError("You cannot modify child views while in the inBuffer state")}});merge(states.hasElement,{childViewsWillChange:function(view,views,start,removed){for(var i=start;i<start+removed;i++){views[i].remove()}},childViewsDidChange:function(view,views,start,added){run.scheduleOnce("render",view,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(view){var childViews=view._childViews,i,len,childView,previous,buffer,viewCollection=new ViewCollection;for(i=0,len=childViews.length;i<len;i++){childView=childViews[i];if(!buffer){buffer=renderBuffer();buffer._hasElement=false}if(childView.renderToBufferIfNeeded(buffer)){viewCollection.push(childView)}else if(viewCollection.length){insertViewCollection(view,viewCollection,previous,buffer);buffer=null;previous=childView;viewCollection.clear()}else{previous=childView}}if(viewCollection.length){insertViewCollection(view,viewCollection,previous,buffer)}}});function insertViewCollection(view,viewCollection,previous,buffer){viewCollection.triggerRecursively("willInsertElement");if(previous){previous.domManager.after(previous,buffer.string())}else{view.domManager.prepend(view,buffer.string())}viewCollection.forEach(function(v){v._transitionTo("inDOM");v.propertyDidChange("element");v.triggerRecursively("didInsertElement")})}__exports__["default"]=ContainerView});define("ember-views/views/core_view",["ember-views/views/states","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-metal/properties","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/utils","ember-metal/instrumentation","ember-views/system/render_buffer","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__exports__){"use strict";var cloneStates=__dependency1__.cloneStates;var states=__dependency1__.states;var EmberObject=__dependency2__["default"];var Evented=__dependency3__["default"];var ActionHandler=__dependency4__["default"];var defineProperty=__dependency5__.defineProperty;var deprecateProperty=__dependency5__.deprecateProperty;var get=__dependency6__.get;var set=__dependency7__.set;var computed=__dependency8__.computed;var typeOf=__dependency9__.typeOf;var instrument=__dependency10__.instrument;var renderBuffer=__dependency11__["default"];var CoreView=EmberObject.extend(Evented,ActionHandler,{isView:true,_states:cloneStates(states),init:function(){this._super();this._transitionTo("preRender");this._isVisible=get(this,"isVisible");deprecateProperty(this,"states","_states");deprecateProperty(this,"state","_state")},parentView:computed("_parentView",function(){var parent=this._parentView;if(parent&&parent.isVirtual){return get(parent,"parentView")}else{return parent}}),_state:null,_parentView:null,concreteView:computed("parentView",function(){if(!this.isVirtual){return this}else{return get(this,"parentView.concreteView")}}),instrumentName:"core_view",instrumentDetails:function(hash){hash.object=this.toString();hash.containerKey=this._debugContainerKey;hash.view=this},renderToBuffer:function(buffer){var name="render."+this.instrumentName,details={};this.instrumentDetails(details);return instrument(name,details,function instrumentRenderToBuffer(){return this._renderToBuffer(buffer)},this)},_renderToBuffer:function(_buffer){var tagName=this.tagName;if(tagName===null||tagName===undefined){tagName="div"}var buffer=this.buffer=_buffer&&_buffer.begin(tagName)||renderBuffer(tagName);this._transitionTo("inBuffer",false);this.beforeRender(buffer);this.render(buffer);this.afterRender(buffer);return buffer},trigger:function(){this._super.apply(this,arguments);var name=arguments[0];var method=this[name];if(method){var length=arguments.length;var args=new Array(length-1);for(var i=1;i<length;i++){args[i-1]=arguments[i]}return method.apply(this,args)}},deprecatedSendHandles:function(actionName){return!!this[actionName]},deprecatedSend:function(actionName){var args=[].slice.call(arguments,1);this[actionName].apply(this,args);return},has:function(name){return typeOf(this[name])==="function"||this._super(name)},destroy:function(){var parent=this._parentView;if(!this._super()){return}if(!this.removedFromDOM){this.destroyElement()}if(parent){parent.removeChild(this)}this._transitionTo("destroying",false);return this},clearRenderedChildren:Ember.K,triggerRecursively:Ember.K,invokeRecursively:Ember.K,_transitionTo:Ember.K,destroyElement:Ember.K});__exports__["default"]=CoreView});define("ember-views/views/states",["ember-metal/platform","ember-metal/merge","ember-views/views/states/default","ember-views/views/states/pre_render","ember-views/views/states/in_buffer","ember-views/views/states/has_element","ember-views/views/states/in_dom","ember-views/views/states/destroying","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var create=__dependency1__.create;var merge=__dependency2__["default"];var _default=__dependency3__["default"];var preRender=__dependency4__["default"];var inBuffer=__dependency5__["default"];var hasElement=__dependency6__["default"];var inDOM=__dependency7__["default"];var destroying=__dependency8__["default"];function cloneStates(from){var into={};into._default={};into.preRender=create(into._default);into.destroying=create(into._default);into.inBuffer=create(into._default);into.hasElement=create(into._default);into.inDOM=create(into.hasElement);for(var stateName in from){if(!from.hasOwnProperty(stateName)){continue}merge(into[stateName],from[stateName])}return into}__exports__.cloneStates=cloneStates;var states={_default:_default,preRender:preRender,inDOM:inDOM,inBuffer:inBuffer,hasElement:hasElement,destroying:destroying};__exports__.states=states});define("ember-views/views/states/default",["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var get=__dependency2__.get;var set=__dependency3__.set;var run=__dependency4__["default"];var EmberError=__dependency5__["default"];__exports__["default"]={appendChild:function(){throw new EmberError("You can't use appendChild outside of the rendering process")},$:function(){return undefined},getElement:function(){return null},handleEvent:function(){return true},destroyElement:function(view){set(view,"element",null);if(view._scheduledInsert){run.cancel(view._scheduledInsert);view._scheduledInsert=null}return view},renderToBufferIfNeeded:function(){return false},rerender:Ember.K,invokeObserver:Ember.K}});define("ember-views/views/states/destroying",["ember-metal/merge","ember-metal/platform","ember-runtime/system/string","ember-views/views/states/default","ember-metal/error","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var merge=__dependency1__["default"];var create=__dependency2__.create;var fmt=__dependency3__.fmt;var _default=__dependency4__["default"];var EmberError=__dependency5__["default"];var destroyingError="You can't call %@ on a view being destroyed";var destroying=create(_default);merge(destroying,{appendChild:function(){throw new EmberError(fmt(destroyingError,["appendChild"]))},rerender:function(){throw new EmberError(fmt(destroyingError,["rerender"]))},destroyElement:function(){throw new EmberError(fmt(destroyingError,["destroyElement"]))},empty:function(){throw new EmberError(fmt(destroyingError,["empty"]))},setElement:function(){throw new EmberError(fmt(destroyingError,["set('element', ...)"]))},renderToBufferIfNeeded:function(){return false},insertElement:Ember.K});__exports__["default"]=destroying});define("ember-views/views/states/has_element",["ember-views/views/states/default","ember-metal/run_loop","ember-metal/merge","ember-metal/platform","ember-views/system/jquery","ember-metal/error","ember-metal/property_get","ember-metal/property_set","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var _default=__dependency1__["default"];var run=__dependency2__["default"];var merge=__dependency3__["default"];var create=__dependency4__.create;var jQuery=__dependency5__["default"];var EmberError=__dependency6__["default"];var get=__dependency7__.get;var set=__dependency8__.set;var hasElement=create(_default);merge(hasElement,{$:function(view,sel){var elem=get(view,"element");return sel?jQuery(sel,elem):jQuery(elem)},getElement:function(view){var parent=get(view,"parentView");if(parent){parent=get(parent,"element")}if(parent){return view.findElementInParentElement(parent)}return jQuery("#"+get(view,"elementId"))[0]},setElement:function(view,value){if(value===null){view._transitionTo("preRender")}else{throw new EmberError("You cannot set an element to a non-null value when the element is already in the DOM.")}return value},rerender:function(view){view.triggerRecursively("willClearRender");view.clearRenderedChildren();view.domManager.replace(view);return view},destroyElement:function(view){view._notifyWillDestroyElement();view.domManager.remove(view);set(view,"element",null);if(view._scheduledInsert){run.cancel(view._scheduledInsert);view._scheduledInsert=null}return view},empty:function(view){var _childViews=view._childViews,len,idx;if(_childViews){len=_childViews.length;for(idx=0;idx<len;idx++){_childViews[idx]._notifyWillDestroyElement()}}view.domManager.empty(view)},handleEvent:function(view,eventName,evt){if(view.has(eventName)){return view.trigger(eventName,evt)}else{return true}},invokeObserver:function(target,observer){observer.call(target)}});__exports__["default"]=hasElement});define("ember-views/views/states/in_buffer",["ember-views/views/states/default","ember-metal/error","ember-metal/core","ember-metal/platform","ember-metal/merge","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var _default=__dependency1__["default"];var EmberError=__dependency2__["default"];var Ember=__dependency3__["default"];var create=__dependency4__.create;var merge=__dependency5__["default"];var inBuffer=create(_default);merge(inBuffer,{$:function(view,sel){view.rerender();return Ember.$()},rerender:function(view){throw new EmberError("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(view,childView,options){var buffer=view.buffer,_childViews=view._childViews;childView=view.createChildView(childView,options);if(!_childViews.length){_childViews=view._childViews=_childViews.slice()}_childViews.push(childView);childView.renderToBuffer(buffer);view.propertyDidChange("childViews");return childView},destroyElement:function(view){view.clearBuffer();var viewCollection=view._notifyWillDestroyElement();viewCollection.transitionTo("preRender",false);return view},empty:function(){},renderToBufferIfNeeded:function(view,buffer){return false},insertElement:function(){throw new EmberError("You can't insert an element that has already been rendered")},setElement:function(view,value){if(value===null){view._transitionTo("preRender")}else{view.clearBuffer();view._transitionTo("hasElement")}return value},invokeObserver:function(target,observer){observer.call(target)}});__exports__["default"]=inBuffer});define("ember-views/views/states/in_dom",["ember-metal/core","ember-metal/platform","ember-metal/merge","ember-metal/error","ember-views/views/states/has_element","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__exports__){"use strict";var Ember=__dependency1__["default"];var create=__dependency2__.create;var merge=__dependency3__["default"];var EmberError=__dependency4__["default"];var hasElement=__dependency5__["default"];var inDOM=create(hasElement);var View;merge(inDOM,{enter:function(view){if(!View){View=requireModule("ember-views/views/view")["default"]}if(!view.isVirtual){View.views[view.elementId]=view}view.addBeforeObserver("elementId",function(){throw new EmberError("Changing a view's elementId after creation is not allowed")})},exit:function(view){if(!View){View=requireModule("ember-views/views/view")["default"]}if(!this.isVirtual)delete View.views[view.elementId]},insertElement:function(view,fn){throw new EmberError("You can't insert an element into the DOM that has already been inserted")}});__exports__["default"]=inDOM});define("ember-views/views/states/pre_render",["ember-views/views/states/default","ember-metal/platform","ember-metal/merge","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var _default=__dependency1__["default"];var create=__dependency2__.create;var merge=__dependency3__["default"];var preRender=create(_default);merge(preRender,{insertElement:function(view,fn){view.createElement();var viewCollection=view.viewHierarchyCollection();viewCollection.trigger("willInsertElement");fn.call(view);var element=view.get("element");if(document.body.contains(element)){viewCollection.transitionTo("inDOM",false);viewCollection.trigger("didInsertElement")}},renderToBufferIfNeeded:function(view,buffer){view.renderToBuffer(buffer);return true},empty:Ember.K,setElement:function(view,value){if(value!==null){view._transitionTo("hasElement")}return value}});__exports__["default"]=preRender});define("ember-views/views/view",["ember-metal/core","ember-runtime/mixins/evented","ember-runtime/system/object","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/set_properties","ember-metal/run_loop","ember-metal/observer","ember-metal/properties","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/is_none","container/container","ember-runtime/system/native_array","ember-runtime/system/string","ember-metal/enumerable_utils","ember-runtime/copy","ember-metal/binding","ember-metal/property_events","ember-views/system/jquery","ember-views/system/ext","ember-views/views/core_view","ember-views/views/view_collection","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__dependency17__,__dependency18__,__dependency19__,__dependency20__,__dependency21__,__dependency22__,__dependency23__,__dependency24__,__dependency25__,__exports__){"use strict";var Ember=__dependency1__["default"];var Evented=__dependency2__["default"];var EmberObject=__dependency3__["default"];var EmberError=__dependency4__["default"];var get=__dependency5__.get;var set=__dependency6__.set;var setProperties=__dependency7__["default"];var run=__dependency8__["default"];var addObserver=__dependency9__.addObserver;var removeObserver=__dependency9__.removeObserver;var defineProperty=__dependency10__.defineProperty;var deprecateProperty=__dependency10__.deprecateProperty;var guidFor=__dependency11__.guidFor;var meta=__dependency11__.meta;var computed=__dependency12__.computed;var observer=__dependency13__.observer;var typeOf=__dependency11__.typeOf;var isArray=__dependency11__.isArray;var isNone=__dependency14__.isNone;var Mixin=__dependency13__.Mixin;var Container=__dependency15__["default"];var emberA=__dependency16__.A;var dasherize=__dependency17__.dasherize;var forEach=__dependency18__.forEach;var addObject=__dependency18__.addObject;var removeObject=__dependency18__.removeObject;var beforeObserver=__dependency13__.beforeObserver;var copy=__dependency19__["default"];var isGlobalPath=__dependency20__.isGlobalPath;var propertyWillChange=__dependency21__.propertyWillChange;var propertyDidChange=__dependency21__.propertyDidChange;var jQuery=__dependency22__["default"];var CoreView=__dependency24__["default"];var ViewCollection=__dependency25__["default"];var ContainerView;function nullViewsBuffer(view){view.buffer=null}function clearCachedElement(view){meta(view).cache.element=undefined}var childViewsProperty=computed(function(){var childViews=this._childViews,ret=emberA(),view=this;forEach(childViews,function(view){var currentChildViews;if(view.isVirtual){if(currentChildViews=get(view,"childViews")){ret.pushObjects(currentChildViews)}}else{ret.push(view)}});ret.replace=function(idx,removedCount,addedViews){if(!ContainerView){ContainerView=requireModule("ember-views/views/container_view")["default"]}if(view instanceof ContainerView){return view.replace(idx,removedCount,addedViews)}throw new EmberError("childViews is immutable")};return ret});Ember.TEMPLATES={};var EMPTY_ARRAY=[];var View=CoreView.extend({concatenatedProperties:["classNames","classNameBindings","attributeBindings"],isView:true,templateName:null,layoutName:null,instrumentDisplay:computed(function(){if(this.helperName){return"{{"+this.helperName+"}}"}}),template:computed("templateName",function(key,value){if(value!==undefined){return value}var templateName=get(this,"templateName"),template=this.templateForName(templateName,"template");return template||get(this,"defaultTemplate")}),controller:computed("_parentView",function(key){var parentView=get(this,"_parentView");return parentView?get(parentView,"controller"):null}),layout:computed(function(key){var layoutName=get(this,"layoutName"),layout=this.templateForName(layoutName,"layout");return layout||get(this,"defaultLayout")}).property("layoutName"),_yield:function(context,options){var template=get(this,"template");if(template){template(context,options)}},templateForName:function(name,type){if(!name){return}var container=this.container||Container&&Container.defaultContainer;return container&&container.lookup("template:"+name)},context:computed(function(key,value){if(arguments.length===2){set(this,"_context",value);return value}else{return get(this,"_context")}})["volatile"](),_context:computed(function(key){var parentView,controller;if(controller=get(this,"controller")){return controller}parentView=this._parentView;if(parentView){return get(parentView,"_context")}return null}),_contextDidChange:observer("context",function(){this.rerender()}),isVisible:true,childViews:childViewsProperty,_childViews:EMPTY_ARRAY,_childViewsWillChange:beforeObserver("childViews",function(){if(this.isVirtual){var parentView=get(this,"parentView");if(parentView){propertyWillChange(parentView,"childViews")}}}),_childViewsDidChange:observer("childViews",function(){if(this.isVirtual){var parentView=get(this,"parentView");if(parentView){propertyDidChange(parentView,"childViews")
16
+ }}}),nearestInstanceOf:function(klass){var view=get(this,"parentView");while(view){if(view instanceof klass){return view}view=get(view,"parentView")}},nearestOfType:function(klass){var view=get(this,"parentView"),isOfType=klass instanceof Mixin?function(view){return klass.detect(view)}:function(view){return klass.detect(view.constructor)};while(view){if(isOfType(view)){return view}view=get(view,"parentView")}},nearestWithProperty:function(property){var view=get(this,"parentView");while(view){if(property in view){return view}view=get(view,"parentView")}},nearestChildOf:function(klass){var view=get(this,"parentView");while(view){if(get(view,"parentView")instanceof klass){return view}view=get(view,"parentView")}},_parentViewDidChange:observer("_parentView",function(){if(this.isDestroying){return}this.trigger("parentViewDidChange");if(get(this,"parentView.controller")&&!get(this,"controller")){this.notifyPropertyChange("controller")}}),_controllerDidChange:observer("controller",function(){if(this.isDestroying){return}this.rerender();this.forEachChildView(function(view){view.propertyDidChange("controller")})}),cloneKeywords:function(){var templateData=get(this,"templateData");var keywords=templateData?copy(templateData.keywords):{};set(keywords,"view",this.isVirtual?keywords.view:this);set(keywords,"_view",this);set(keywords,"controller",get(this,"controller"));return keywords},render:function(buffer){var template=get(this,"layout")||get(this,"template");if(template){var context=get(this,"context");var keywords=this.cloneKeywords();var output;var data={view:this,buffer:buffer,isRenderData:true,keywords:keywords,insideGroup:get(this,"templateData.insideGroup")};output=template(context,{data:data});if(output!==undefined){buffer.push(output)}}},rerender:function(){return this.currentState.rerender(this)},clearRenderedChildren:function(){var lengthBefore=this.lengthBeforeRender,lengthAfter=this.lengthAfterRender;var childViews=this._childViews;for(var i=lengthAfter-1;i>=lengthBefore;i--){if(childViews[i]){childViews[i].destroy()}}},_applyClassNameBindings:function(classBindings){var classNames=this.classNames,elem,newClass,dasherizedClass;forEach(classBindings,function(binding){var oldClass;var parsedPath=View._parsePropertyPath(binding);var observer=function(){newClass=this._classStringForProperty(binding);elem=this.$();if(oldClass){elem.removeClass(oldClass);classNames.removeObject(oldClass)}if(newClass){elem.addClass(newClass);oldClass=newClass}else{oldClass=null}};dasherizedClass=this._classStringForProperty(binding);if(dasherizedClass){addObject(classNames,dasherizedClass);oldClass=dasherizedClass}this.registerObserver(this,parsedPath.path,observer);this.one("willClearRender",function(){if(oldClass){classNames.removeObject(oldClass);oldClass=null}})},this)},_unspecifiedAttributeBindings:null,_applyAttributeBindings:function(buffer,attributeBindings){var attributeValue,unspecifiedAttributeBindings=this._unspecifiedAttributeBindings=this._unspecifiedAttributeBindings||{};forEach(attributeBindings,function(binding){var split=binding.split(":"),property=split[0],attributeName=split[1]||property;if(property in this){this._setupAttributeBindingObservation(property,attributeName);attributeValue=get(this,property);View.applyAttributeBindings(buffer,attributeName,attributeValue)}else{unspecifiedAttributeBindings[property]=attributeName}},this);this.setUnknownProperty=this._setUnknownProperty},_setupAttributeBindingObservation:function(property,attributeName){var attributeValue,elem;var observer=function(){elem=this.$();attributeValue=get(this,property);View.applyAttributeBindings(elem,attributeName,attributeValue)};this.registerObserver(this,property,observer)},setUnknownProperty:null,_setUnknownProperty:function(key,value){var attributeName=this._unspecifiedAttributeBindings&&this._unspecifiedAttributeBindings[key];if(attributeName){this._setupAttributeBindingObservation(key,attributeName)}defineProperty(this,key);return set(this,key,value)},_classStringForProperty:function(property){var parsedPath=View._parsePropertyPath(property);var path=parsedPath.path;var val=get(this,path);if(val===undefined&&isGlobalPath(path)){val=get(Ember.lookup,path)}return View._classStringForValue(path,val,parsedPath.className,parsedPath.falsyClassName)},element:computed("_parentView",function(key,value){if(value!==undefined){return this.currentState.setElement(this,value)}else{return this.currentState.getElement(this)}}),$:function(sel){return this.currentState.$(this,sel)},mutateChildViews:function(callback){var childViews=this._childViews,idx=childViews.length,view;while(--idx>=0){view=childViews[idx];callback(this,view,idx)}return this},forEachChildView:function(callback){var childViews=this._childViews;if(!childViews){return this}var len=childViews.length,view,idx;for(idx=0;idx<len;idx++){view=childViews[idx];callback(view)}return this},appendTo:function(target){this._insertElementLater(function(){this.$().appendTo(target)});return this},replaceIn:function(target){this._insertElementLater(function(){jQuery(target).empty();this.$().appendTo(target)});return this},_insertElementLater:function(fn){this._scheduledInsert=run.scheduleOnce("render",this,"_insertElement",fn)},_insertElement:function(fn){this._scheduledInsert=null;this.currentState.insertElement(this,fn)},append:function(){return this.appendTo(document.body)},remove:function(){if(!this.removedFromDOM){this.destroyElement()}this.invokeRecursively(function(view){if(view.clearRenderedChildren){view.clearRenderedChildren()}})},elementId:null,findElementInParentElement:function(parentElem){var id="#"+this.elementId;return jQuery(id)[0]||jQuery(id,parentElem)[0]},createElement:function(){if(get(this,"element")){return this}var buffer=this.renderToBuffer();set(this,"element",buffer.element());return this},willInsertElement:Ember.K,didInsertElement:Ember.K,willClearRender:Ember.K,invokeRecursively:function(fn,includeSelf){var childViews=includeSelf===false?this._childViews:[this];var currentViews,view,currentChildViews;while(childViews.length){currentViews=childViews.slice();childViews=[];for(var i=0,l=currentViews.length;i<l;i++){view=currentViews[i];currentChildViews=view._childViews?view._childViews.slice(0):null;fn(view);if(currentChildViews){childViews.push.apply(childViews,currentChildViews)}}}},triggerRecursively:function(eventName){var childViews=[this],currentViews,view,currentChildViews;while(childViews.length){currentViews=childViews.slice();childViews=[];for(var i=0,l=currentViews.length;i<l;i++){view=currentViews[i];currentChildViews=view._childViews?view._childViews.slice(0):null;if(view.trigger){view.trigger(eventName)}if(currentChildViews){childViews.push.apply(childViews,currentChildViews)}}}},viewHierarchyCollection:function(){var currentView,viewCollection=new ViewCollection([this]);for(var i=0;i<viewCollection.length;i++){currentView=viewCollection.objectAt(i);if(currentView._childViews){viewCollection.push.apply(viewCollection,currentView._childViews)}}return viewCollection},destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:Ember.K,_notifyWillDestroyElement:function(){var viewCollection=this.viewHierarchyCollection();viewCollection.trigger("willClearRender");viewCollection.trigger("willDestroyElement");return viewCollection},_elementDidChange:observer("element",function(){this.forEachChildView(clearCachedElement)}),parentViewDidChange:Ember.K,instrumentName:"view",instrumentDetails:function(hash){hash.template=get(this,"templateName");this._super(hash)},_renderToBuffer:function(buffer){this.lengthBeforeRender=this._childViews.length;buffer=this._super(buffer);this.lengthAfterRender=this._childViews.length;return buffer},renderToBufferIfNeeded:function(buffer){return this.currentState.renderToBufferIfNeeded(this,buffer)},beforeRender:function(buffer){this.applyAttributesToBuffer(buffer);buffer.pushOpeningTag()},afterRender:function(buffer){buffer.pushClosingTag()},applyAttributesToBuffer:function(buffer){var classNameBindings=get(this,"classNameBindings");if(classNameBindings.length){this._applyClassNameBindings(classNameBindings)}var attributeBindings=get(this,"attributeBindings");if(attributeBindings.length){this._applyAttributeBindings(buffer,attributeBindings)}buffer.setClasses(this.classNames);buffer.id(this.elementId);var role=get(this,"ariaRole");if(role){buffer.attr("role",role)}if(get(this,"isVisible")===false){buffer.style("display","none")}},tagName:null,ariaRole:null,classNames:["ember-view"],classNameBindings:EMPTY_ARRAY,attributeBindings:EMPTY_ARRAY,init:function(){this.elementId=this.elementId||guidFor(this);this._super();this._childViews=this._childViews.slice();this.classNameBindings=emberA(this.classNameBindings.slice());this.classNames=emberA(this.classNames.slice())},appendChild:function(view,options){return this.currentState.appendChild(this,view,options)},removeChild:function(view){if(this.isDestroying){return}set(view,"_parentView",null);var childViews=this._childViews;removeObject(childViews,view);this.propertyDidChange("childViews");return this},removeAllChildren:function(){return this.mutateChildViews(function(parentView,view){parentView.removeChild(view)})},destroyAllChildren:function(){return this.mutateChildViews(function(parentView,view){view.destroy()})},removeFromParent:function(){var parent=this._parentView;this.remove();if(parent){parent.removeChild(this)}return this},destroy:function(){var childViews=this._childViews,nonVirtualParentView=get(this,"parentView"),viewName=this.viewName,childLen,i;if(!this._super()){return}childLen=childViews.length;for(i=childLen-1;i>=0;i--){childViews[i].removedFromDOM=true}if(viewName&&nonVirtualParentView){nonVirtualParentView.set(viewName,null)}childLen=childViews.length;for(i=childLen-1;i>=0;i--){childViews[i].destroy()}return this},createChildView:function(view,attrs){if(!view){throw new TypeError("createChildViews first argument must exist")}if(view.isView&&view._parentView===this&&view.container===this.container){return view}attrs=attrs||{};attrs._parentView=this;if(CoreView.detect(view)){attrs.templateData=attrs.templateData||get(this,"templateData");attrs.container=this.container;view=view.create(attrs);if(view.viewName){set(get(this,"concreteView"),view.viewName,view)}}else if("string"===typeof view){var fullName="view:"+view;var ViewKlass=this.container.lookupFactory(fullName);attrs.templateData=get(this,"templateData");view=ViewKlass.create(attrs)}else{attrs.container=this.container;if(!get(view,"templateData")){attrs.templateData=get(this,"templateData")}setProperties(view,attrs)}return view},becameVisible:Ember.K,becameHidden:Ember.K,_isVisibleDidChange:observer("isVisible",function(){if(this._isVisible===get(this,"isVisible")){return}run.scheduleOnce("render",this,this._toggleVisibility)}),_toggleVisibility:function(){var $el=this.$();if(!$el){return}var isVisible=get(this,"isVisible");if(this._isVisible===isVisible){return}$el.toggle(isVisible);this._isVisible=isVisible;if(this._isAncestorHidden()){return}if(isVisible){this._notifyBecameVisible()}else{this._notifyBecameHidden()}},_notifyBecameVisible:function(){this.trigger("becameVisible");this.forEachChildView(function(view){var isVisible=get(view,"isVisible");if(isVisible||isVisible===null){view._notifyBecameVisible()}})},_notifyBecameHidden:function(){this.trigger("becameHidden");this.forEachChildView(function(view){var isVisible=get(view,"isVisible");if(isVisible||isVisible===null){view._notifyBecameHidden()}})},_isAncestorHidden:function(){var parent=get(this,"parentView");while(parent){if(get(parent,"isVisible")===false){return true}parent=get(parent,"parentView")}return false},clearBuffer:function(){this.invokeRecursively(nullViewsBuffer)},transitionTo:function(state,children){this._transitionTo(state,children)},_transitionTo:function(state,children){var priorState=this.currentState;var currentState=this.currentState=this._states[state];this._state=state;if(priorState&&priorState.exit){priorState.exit(this)}if(currentState.enter){currentState.enter(this)}if(state==="inDOM"){meta(this).cache.element=undefined}if(children!==false){this.forEachChildView(function(view){view._transitionTo(state)})}},handleEvent:function(eventName,evt){return this.currentState.handleEvent(this,eventName,evt)},registerObserver:function(root,path,target,observer){if(!observer&&"function"===typeof target){observer=target;target=null}if(!root||typeof root!=="object"){return}var view=this,stateCheckedObserver=function(){view.currentState.invokeObserver(this,observer)},scheduledObserver=function(){run.scheduleOnce("render",this,stateCheckedObserver)};addObserver(root,path,target,scheduledObserver);this.one("willClearRender",function(){removeObserver(root,path,target,scheduledObserver)})}});function notifyMutationListeners(){run.once(View,"notifyMutationListeners")}var DOMManager={prepend:function(view,html){view.$().prepend(html);notifyMutationListeners()},after:function(view,html){view.$().after(html);notifyMutationListeners()},html:function(view,html){view.$().html(html);notifyMutationListeners()},replace:function(view){var element=get(view,"element");set(view,"element",null);view._insertElementLater(function(){jQuery(element).replaceWith(get(view,"element"));notifyMutationListeners()})},remove:function(view){view.$().remove();notifyMutationListeners()},empty:function(view){view.$().empty();notifyMutationListeners()}};View.reopen({domManager:DOMManager});View.reopenClass({_parsePropertyPath:function(path){var split=path.split(":"),propertyPath=split[0],classNames="",className,falsyClassName;if(split.length>1){className=split[1];if(split.length===3){falsyClassName=split[2]}classNames=":"+className;if(falsyClassName){classNames+=":"+falsyClassName}}return{path:propertyPath,classNames:classNames,className:className===""?undefined:className,falsyClassName:falsyClassName}},_classStringForValue:function(path,val,className,falsyClassName){if(isArray(val)){val=get(val,"length")!==0}if(className||falsyClassName){if(className&&!!val){return className}else if(falsyClassName&&!val){return falsyClassName}else{return null}}else if(val===true){var parts=path.split(".");return dasherize(parts[parts.length-1])}else if(val!==false&&val!=null){return val}else{return null}}});var mutation=EmberObject.extend(Evented).create();View.addMutationListener=function(callback){mutation.on("change",callback)};View.removeMutationListener=function(callback){mutation.off("change",callback)};View.notifyMutationListeners=function(){mutation.trigger("change")};View.views={};View.childViewsProperty=childViewsProperty;View.applyAttributeBindings=function(elem,name,value){var type=typeOf(value);if(name!=="value"&&(type==="string"||type==="number"&&!isNaN(value))){if(value!==elem.attr(name)){elem.attr(name,value)}}else if(name==="value"||type==="boolean"){if(isNone(value)||value===false){elem.removeAttr(name);if(name==="required"){elem.removeProp(name)}else{elem.prop(name,"")}}else if(value!==elem.prop(name)){elem.prop(name,value)}}else if(!value){elem.removeAttr(name)}};__exports__["default"]=View});define("ember-views/views/view_collection",["ember-metal/enumerable_utils","exports"],function(__dependency1__,__exports__){"use strict";var forEach=__dependency1__.forEach;function ViewCollection(initialViews){var views=this.views=initialViews||[];this.length=views.length}ViewCollection.prototype={length:0,trigger:function(eventName){var views=this.views,view;for(var i=0,l=views.length;i<l;i++){view=views[i];if(view.trigger){view.trigger(eventName)}}},triggerRecursively:function(eventName){var views=this.views;for(var i=0,l=views.length;i<l;i++){views[i].triggerRecursively(eventName)}},invokeRecursively:function(fn){var views=this.views,view;for(var i=0,l=views.length;i<l;i++){view=views[i];fn(view)}},transitionTo:function(state,children){var views=this.views;for(var i=0,l=views.length;i<l;i++){views[i]._transitionTo(state,children)}},push:function(){this.length+=arguments.length;var views=this.views;return views.push.apply(views,arguments)},objectAt:function(idx){return this.views[idx]},forEach:function(callback){var views=this.views;return forEach(views,callback)},clear:function(){this.length=0;this.views.length=0}};__exports__["default"]=ViewCollection});define("ember",["ember-metal","ember-runtime","ember-handlebars","ember-views","ember-routing","ember-routing-handlebars","ember-application","ember-extension-support"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__){"use strict";if(Ember.__loader.registry["ember-testing"]){requireModule("ember-testing")}function throwWithMessage(msg){return function(){throw new Ember.Error(msg)}}function generateRemovedClass(className){var msg=" has been moved into a plugin: https://github.com/emberjs/ember-states";return{extend:throwWithMessage(className+msg),create:throwWithMessage(className+msg)}}Ember.StateManager=generateRemovedClass("Ember.StateManager");Ember.State=generateRemovedClass("Ember.State")});define("metamorph",[],function(){"use strict";var K=function(){},guid=0,disableRange=function(){if("undefined"!==typeof MetamorphENV){return MetamorphENV.DISABLE_RANGE_API}else if("undefined"!==ENV){return ENV.DISABLE_RANGE_API}else{return false}}(),supportsRange=!disableRange&&typeof document!=="undefined"&&"createRange"in document&&typeof Range!=="undefined"&&Range.prototype.createContextualFragment,needsShy=typeof document!=="undefined"&&function(){var testEl=document.createElement("div");testEl.innerHTML="<div></div>";testEl.firstChild.innerHTML="<script></script>";return testEl.firstChild.innerHTML===""}(),movesWhitespace=document&&function(){var testEl=document.createElement("div");testEl.innerHTML="Test: <script type='text/x-placeholder'></script>Value";return testEl.childNodes[0].nodeValue==="Test:"&&testEl.childNodes[2].nodeValue===" Value"}();var Metamorph=function(html){var self;if(this instanceof Metamorph){self=this}else{self=new K}self.innerHTML=html;var myGuid="metamorph-"+guid++;self.start=myGuid+"-start";self.end=myGuid+"-end";return self};K.prototype=Metamorph.prototype;var rangeFor,htmlFunc,removeFunc,outerHTMLFunc,appendToFunc,afterFunc,prependFunc,startTagFunc,endTagFunc;outerHTMLFunc=function(){return this.startTag()+this.innerHTML+this.endTag()};startTagFunc=function(){return"<script id='"+this.start+"' type='text/x-placeholder'></script>"};endTagFunc=function(){return"<script id='"+this.end+"' type='text/x-placeholder'></script>"};if(supportsRange){rangeFor=function(morph,outerToo){var range=document.createRange();var before=document.getElementById(morph.start);var after=document.getElementById(morph.end);if(outerToo){range.setStartBefore(before);range.setEndAfter(after)}else{range.setStartAfter(before);range.setEndBefore(after)}return range};htmlFunc=function(html,outerToo){var range=rangeFor(this,outerToo);range.deleteContents();var fragment=range.createContextualFragment(html);range.insertNode(fragment)};removeFunc=function(){var range=rangeFor(this,true);range.deleteContents()};appendToFunc=function(node){var range=document.createRange();range.setStart(node);range.collapse(false);var frag=range.createContextualFragment(this.outerHTML());node.appendChild(frag)};afterFunc=function(html){var range=document.createRange();var after=document.getElementById(this.end);range.setStartAfter(after);range.setEndAfter(after);var fragment=range.createContextualFragment(html);range.insertNode(fragment)};prependFunc=function(html){var range=document.createRange();var start=document.getElementById(this.start);range.setStartAfter(start);range.setEndAfter(start);var fragment=range.createContextualFragment(html);range.insertNode(fragment)}}else{Metamorph._wrapMap={select:[1,"<select multiple='multiple'>","</select>"],fieldset:[1,"<fieldset>","</fieldset>"],table:[1,"<table>","</table>"],tbody:[2,"<table><tbody>","</tbody></table>"],tr:[3,"<table><tbody><tr>","</tr></tbody></table>"],colgroup:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],map:[1,"<map>","</map>"],_default:[0,"",""]};var findChildById=function(element,id){if(element.getAttribute("id")===id){return element}var len=element.childNodes.length,idx,node,found;for(idx=0;idx<len;idx++){node=element.childNodes[idx];found=node.nodeType===1&&findChildById(node,id);if(found){return found}}};var setInnerHTML=function(element,html){var matches=[];if(movesWhitespace){html=html.replace(/(\s+)(<script id='([^']+)')/g,function(match,spaces,tag,id){matches.push([id,spaces]);return tag})}element.innerHTML=html;if(matches.length>0){var len=matches.length,idx;for(idx=0;idx<len;idx++){var script=findChildById(element,matches[idx][0]),node=document.createTextNode(matches[idx][1]);script.parentNode.insertBefore(node,script)}}};var firstNodeFor=function(parentNode,html){var wrapMap=Metamorph._wrapMap;var arr=wrapMap[parentNode.tagName.toLowerCase()]||wrapMap._default;var depth=arr[0],start=arr[1],end=arr[2];if(needsShy){html="&shy;"+html}var element=document.createElement("div");setInnerHTML(element,start+html+end);for(var i=0;i<=depth;i++){element=element.firstChild}if(needsShy){var shyElement=element;while(shyElement.nodeType===1&&!shyElement.nodeName){shyElement=shyElement.firstChild}if(shyElement.nodeType===3&&shyElement.nodeValue.charAt(0)==="­"){shyElement.nodeValue=shyElement.nodeValue.slice(1)}}return element};var realNode=function(start){while(start.parentNode.tagName===""){start=start.parentNode}return start};var fixParentage=function(start,end){if(start.parentNode!==end.parentNode){end.parentNode.insertBefore(start,end.parentNode.firstChild)}};htmlFunc=function(html,outerToo){var start=realNode(document.getElementById(this.start));var end=document.getElementById(this.end);var parentNode=end.parentNode;var node,nextSibling,last;fixParentage(start,end);node=start.nextSibling;while(node){nextSibling=node.nextSibling;last=node===end;if(last){if(outerToo){end=node.nextSibling}else{break}}node.parentNode.removeChild(node);if(last){break}node=nextSibling}node=firstNodeFor(start.parentNode,html);if(outerToo){start.parentNode.removeChild(start)}while(node){nextSibling=node.nextSibling;parentNode.insertBefore(node,end);node=nextSibling}};removeFunc=function(){var start=realNode(document.getElementById(this.start));var end=document.getElementById(this.end);this.html("");start.parentNode.removeChild(start);end.parentNode.removeChild(end)};appendToFunc=function(parentNode){var node=firstNodeFor(parentNode,this.outerHTML());var nextSibling;while(node){nextSibling=node.nextSibling;parentNode.appendChild(node);node=nextSibling}};afterFunc=function(html){var end=document.getElementById(this.end);var insertBefore=end.nextSibling;var parentNode=end.parentNode;var nextSibling;var node;node=firstNodeFor(parentNode,html);while(node){nextSibling=node.nextSibling;parentNode.insertBefore(node,insertBefore);node=nextSibling}};prependFunc=function(html){var start=document.getElementById(this.start);var parentNode=start.parentNode;var nextSibling;var node;node=firstNodeFor(parentNode,html);var insertBefore=start.nextSibling;while(node){nextSibling=node.nextSibling;parentNode.insertBefore(node,insertBefore);node=nextSibling}}}Metamorph.prototype.html=function(html){this.checkRemoved();if(html===undefined){return this.innerHTML}htmlFunc.call(this,html);this.innerHTML=html};Metamorph.prototype.replaceWith=function(html){this.checkRemoved();htmlFunc.call(this,html,true)};Metamorph.prototype.remove=removeFunc;Metamorph.prototype.outerHTML=outerHTMLFunc;Metamorph.prototype.appendTo=appendToFunc;Metamorph.prototype.after=afterFunc;Metamorph.prototype.prepend=prependFunc;Metamorph.prototype.startTag=startTagFunc;Metamorph.prototype.endTag=endTagFunc;Metamorph.prototype.isRemoved=function(){var before=document.getElementById(this.start);var after=document.getElementById(this.end);return!before||!after};Metamorph.prototype.checkRemoved=function(){if(this.isRemoved()){throw new Error("Cannot perform operations on a Metamorph that is not in the DOM.")}};return Metamorph});define("route-recognizer",["exports"],function(__exports__){"use strict";var specials=["/",".","*","+","?","|","(",")","[","]","{","}","\\"];var escapeRegex=new RegExp("(\\"+specials.join("|\\")+")","g");function isArray(test){return Object.prototype.toString.call(test)==="[object Array]"}function StaticSegment(string){this.string=string}StaticSegment.prototype={eachChar:function(callback){var string=this.string,ch;for(var i=0,l=string.length;i<l;i++){ch=string.charAt(i);callback({validChars:ch})}},regex:function(){return this.string.replace(escapeRegex,"\\$1")},generate:function(){return this.string}};function DynamicSegment(name){this.name=name}DynamicSegment.prototype={eachChar:function(callback){callback({invalidChars:"/",repeat:true})},regex:function(){return"([^/]+)"},generate:function(params){return params[this.name]}};function StarSegment(name){this.name=name}StarSegment.prototype={eachChar:function(callback){callback({invalidChars:"",repeat:true})},regex:function(){return"(.+)"},generate:function(params){return params[this.name]}};function EpsilonSegment(){}EpsilonSegment.prototype={eachChar:function(){},regex:function(){return""},generate:function(){return""}};function parse(route,names,types){if(route.charAt(0)==="/"){route=route.substr(1)}var segments=route.split("/"),results=[];for(var i=0,l=segments.length;i<l;i++){var segment=segments[i],match;if(match=segment.match(/^:([^\/]+)$/)){results.push(new DynamicSegment(match[1]));names.push(match[1]);types.dynamics++}else if(match=segment.match(/^\*([^\/]+)$/)){results.push(new StarSegment(match[1]));names.push(match[1]);types.stars++}else if(segment===""){results.push(new EpsilonSegment)}else{results.push(new StaticSegment(segment));types.statics++}}return results}function State(charSpec){this.charSpec=charSpec;this.nextStates=[]}State.prototype={get:function(charSpec){var nextStates=this.nextStates;for(var i=0,l=nextStates.length;i<l;i++){var child=nextStates[i];var isEqual=child.charSpec.validChars===charSpec.validChars;isEqual=isEqual&&child.charSpec.invalidChars===charSpec.invalidChars;if(isEqual){return child}}},put:function(charSpec){var state;if(state=this.get(charSpec)){return state}state=new State(charSpec);this.nextStates.push(state);if(charSpec.repeat){state.nextStates.push(state)}return state},match:function(ch){var nextStates=this.nextStates,child,charSpec,chars;var returned=[];for(var i=0,l=nextStates.length;i<l;i++){child=nextStates[i];charSpec=child.charSpec;if(typeof(chars=charSpec.validChars)!=="undefined"){if(chars.indexOf(ch)!==-1){returned.push(child)}}else if(typeof(chars=charSpec.invalidChars)!=="undefined"){if(chars.indexOf(ch)===-1){returned.push(child)}}}return returned}};function sortSolutions(states){return states.sort(function(a,b){if(a.types.stars!==b.types.stars){return a.types.stars-b.types.stars}if(a.types.stars){if(a.types.statics!==b.types.statics){return b.types.statics-a.types.statics}if(a.types.dynamics!==b.types.dynamics){return b.types.dynamics-a.types.dynamics}}if(a.types.dynamics!==b.types.dynamics){return a.types.dynamics-b.types.dynamics}if(a.types.statics!==b.types.statics){return b.types.statics-a.types.statics}return 0})}function recognizeChar(states,ch){var nextStates=[];for(var i=0,l=states.length;i<l;i++){var state=states[i];nextStates=nextStates.concat(state.match(ch))}return nextStates}var oCreate=Object.create||function(proto){function F(){}F.prototype=proto;return new F};function RecognizeResults(queryParams){this.queryParams=queryParams||{}}RecognizeResults.prototype=oCreate({splice:Array.prototype.splice,slice:Array.prototype.slice,push:Array.prototype.push,length:0,queryParams:null});function findHandler(state,path,queryParams){var handlers=state.handlers,regex=state.regex;var captures=path.match(regex),currentCapture=1;var result=new RecognizeResults(queryParams);for(var i=0,l=handlers.length;i<l;i++){var handler=handlers[i],names=handler.names,params={};for(var j=0,m=names.length;j<m;j++){params[names[j]]=captures[currentCapture++]}result.push({handler:handler.handler,params:params,isDynamic:!!names.length})}return result}function addSegment(currentState,segment){segment.eachChar(function(ch){var state;currentState=currentState.put(ch)});return currentState}var RouteRecognizer=function(){this.rootState=new State;this.names={}};RouteRecognizer.prototype={add:function(routes,options){var currentState=this.rootState,regex="^",types={statics:0,dynamics:0,stars:0},handlers=[],allSegments=[],name;var isEmpty=true;for(var i=0,l=routes.length;i<l;i++){var route=routes[i],names=[];var segments=parse(route.path,names,types);allSegments=allSegments.concat(segments);for(var j=0,m=segments.length;j<m;j++){var segment=segments[j];if(segment instanceof EpsilonSegment){continue}isEmpty=false;currentState=currentState.put({validChars:"/"});regex+="/";currentState=addSegment(currentState,segment);regex+=segment.regex()}var handler={handler:route.handler,names:names};handlers.push(handler)}if(isEmpty){currentState=currentState.put({validChars:"/"});regex+="/"}currentState.handlers=handlers;currentState.regex=new RegExp(regex+"$");currentState.types=types;if(name=options&&options.as){this.names[name]={segments:allSegments,handlers:handlers}}},handlersFor:function(name){var route=this.names[name],result=[];if(!route){throw new Error("There is no route named "+name)}for(var i=0,l=route.handlers.length;i<l;i++){result.push(route.handlers[i])}return result},hasRoute:function(name){return!!this.names[name]},generate:function(name,params){var route=this.names[name],output="";if(!route){throw new Error("There is no route named "+name)}var segments=route.segments;for(var i=0,l=segments.length;i<l;i++){var segment=segments[i];if(segment instanceof EpsilonSegment){continue}output+="/";output+=segment.generate(params)}if(output.charAt(0)!=="/"){output="/"+output}if(params&&params.queryParams){output+=this.generateQueryString(params.queryParams,route.handlers)}return output},generateQueryString:function(params,handlers){var pairs=[];var keys=[];for(var key in params){if(params.hasOwnProperty(key)){keys.push(key)}}keys.sort();for(var i=0,len=keys.length;i<len;i++){key=keys[i];var value=params[key];if(value==null){continue}var pair=key;if(isArray(value)){for(var j=0,l=value.length;j<l;j++){var arrayPair=key+"[]"+"="+encodeURIComponent(value[j]);pairs.push(arrayPair)}}else{pair+="="+encodeURIComponent(value);pairs.push(pair)}}if(pairs.length===0){return""}return"?"+pairs.join("&")},parseQueryString:function(queryString){var pairs=queryString.split("&"),queryParams={};for(var i=0;i<pairs.length;i++){var pair=pairs[i].split("="),key=decodeURIComponent(pair[0]),keyLength=key.length,isArray=false,value;if(pair.length===1){value="true"}else{if(keyLength>2&&key.slice(keyLength-2)==="[]"){isArray=true;key=key.slice(0,keyLength-2);if(!queryParams[key]){queryParams[key]=[]}}value=pair[1]?decodeURIComponent(pair[1]):""}if(isArray){queryParams[key].push(value)}else{queryParams[key]=decodeURIComponent(value)}}return queryParams},recognize:function(path){var states=[this.rootState],pathLen,i,l,queryStart,queryParams={},isSlashDropped=false;path=decodeURI(path);queryStart=path.indexOf("?");if(queryStart!==-1){var queryString=path.substr(queryStart+1,path.length);path=path.substr(0,queryStart);queryParams=this.parseQueryString(queryString)}if(path.charAt(0)!=="/"){path="/"+path}pathLen=path.length;if(pathLen>1&&path.charAt(pathLen-1)==="/"){path=path.substr(0,pathLen-1);isSlashDropped=true}for(i=0,l=path.length;i<l;i++){states=recognizeChar(states,path.charAt(i));if(!states.length){break}}var solutions=[];for(i=0,l=states.length;i<l;i++){if(states[i].handlers){solutions.push(states[i])}}states=sortSolutions(solutions);var state=solutions[0];if(state&&state.handlers){if(isSlashDropped&&state.regex.source.slice(-5)==="(.+)$"){path=path+"/"
17
+ }return findHandler(state,path,queryParams)}}};__exports__["default"]=RouteRecognizer;function Target(path,matcher,delegate){this.path=path;this.matcher=matcher;this.delegate=delegate}Target.prototype={to:function(target,callback){var delegate=this.delegate;if(delegate&&delegate.willAddRoute){target=delegate.willAddRoute(this.matcher.target,target)}this.matcher.add(this.path,target);if(callback){if(callback.length===0){throw new Error("You must have an argument in the function passed to `to`")}this.matcher.addChild(this.path,target,callback,this.delegate)}return this}};function Matcher(target){this.routes={};this.children={};this.target=target}Matcher.prototype={add:function(path,handler){this.routes[path]=handler},addChild:function(path,target,callback,delegate){var matcher=new Matcher(target);this.children[path]=matcher;var match=generateMatch(path,matcher,delegate);if(delegate&&delegate.contextEntered){delegate.contextEntered(target,match)}callback(match)}};function generateMatch(startingPath,matcher,delegate){return function(path,nestedCallback){var fullPath=startingPath+path;if(nestedCallback){nestedCallback(generateMatch(fullPath,matcher,delegate))}else{return new Target(startingPath+path,matcher,delegate)}}}function addRoute(routeArray,path,handler){var len=0;for(var i=0,l=routeArray.length;i<l;i++){len+=routeArray[i].path.length}path=path.substr(len);var route={path:path,handler:handler};routeArray.push(route)}function eachRoute(baseRoute,matcher,callback,binding){var routes=matcher.routes;for(var path in routes){if(routes.hasOwnProperty(path)){var routeArray=baseRoute.slice();addRoute(routeArray,path,routes[path]);if(matcher.children[path]){eachRoute(routeArray,matcher.children[path],callback,binding)}else{callback.call(binding,routeArray)}}}}RouteRecognizer.prototype.map=function(callback,addRouteCallback){var matcher=new Matcher;callback(generateMatch("",matcher,this.delegate));eachRoute([],matcher,function(route){if(addRouteCallback){addRouteCallback(this,route)}else{this.add(route)}},this)}});define("router/handler-info",["./utils","rsvp/promise","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var bind=__dependency1__.bind;var merge=__dependency1__.merge;var serialize=__dependency1__.serialize;var promiseLabel=__dependency1__.promiseLabel;var Promise=__dependency2__["default"];function HandlerInfo(_props){var props=_props||{};merge(this,props);this.initialize(props)}HandlerInfo.prototype={name:null,handler:null,params:null,context:null,factory:null,initialize:function(){},log:function(payload,message){if(payload.log){payload.log(this.name+": "+message)}},promiseLabel:function(label){return promiseLabel("'"+this.name+"' "+label)},getUnresolved:function(){return this},serialize:function(){return this.params||{}},resolve:function(shouldContinue,payload){var checkForAbort=bind(this,this.checkForAbort,shouldContinue),beforeModel=bind(this,this.runBeforeModelHook,payload),model=bind(this,this.getModel,payload),afterModel=bind(this,this.runAfterModelHook,payload),becomeResolved=bind(this,this.becomeResolved,payload);return Promise.resolve(undefined,this.promiseLabel("Start handler")).then(checkForAbort,null,this.promiseLabel("Check for abort")).then(beforeModel,null,this.promiseLabel("Before model")).then(checkForAbort,null,this.promiseLabel("Check if aborted during 'beforeModel' hook")).then(model,null,this.promiseLabel("Model")).then(checkForAbort,null,this.promiseLabel("Check if aborted in 'model' hook")).then(afterModel,null,this.promiseLabel("After model")).then(checkForAbort,null,this.promiseLabel("Check if aborted in 'afterModel' hook")).then(becomeResolved,null,this.promiseLabel("Become resolved"))},runBeforeModelHook:function(payload){if(payload.trigger){payload.trigger(true,"willResolveModel",payload,this.handler)}return this.runSharedModelHook(payload,"beforeModel",[])},runAfterModelHook:function(payload,resolvedModel){var name=this.name;this.stashResolvedModel(payload,resolvedModel);return this.runSharedModelHook(payload,"afterModel",[resolvedModel]).then(function(){return payload.resolvedModels[name]},null,this.promiseLabel("Ignore fulfillment value and return model value"))},runSharedModelHook:function(payload,hookName,args){this.log(payload,"calling "+hookName+" hook");if(this.queryParams){args.push(this.queryParams)}args.push(payload);var handler=this.handler;var result=handler[hookName]&&handler[hookName].apply(handler,args);if(result&&result.isTransition){result=null}return Promise.resolve(result,null,this.promiseLabel("Resolve value returned from one of the model hooks"))},getModel:null,checkForAbort:function(shouldContinue,promiseValue){return Promise.resolve(shouldContinue(),this.promiseLabel("Check for abort")).then(function(){return promiseValue},null,this.promiseLabel("Ignore fulfillment value and continue"))},stashResolvedModel:function(payload,resolvedModel){payload.resolvedModels=payload.resolvedModels||{};payload.resolvedModels[this.name]=resolvedModel},becomeResolved:function(payload,resolvedContext){var params=this.serialize(resolvedContext);if(payload){this.stashResolvedModel(payload,resolvedContext);payload.params=payload.params||{};payload.params[this.name]=params}return this.factory("resolved",{context:resolvedContext,name:this.name,handler:this.handler,params:params})},shouldSupercede:function(other){if(!other){return true}var contextsMatch=other.context===this.context;return other.name!==this.name||this.hasOwnProperty("context")&&!contextsMatch||this.hasOwnProperty("params")&&!paramsMatch(this.params,other.params)}};function paramsMatch(a,b){if(!a^!b){return false}if(!a){return true}for(var k in a){if(a.hasOwnProperty(k)&&a[k]!==b[k]){return false}}return true}__exports__["default"]=HandlerInfo});define("router/handler-info/factory",["router/handler-info/resolved-handler-info","router/handler-info/unresolved-handler-info-by-object","router/handler-info/unresolved-handler-info-by-param","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var ResolvedHandlerInfo=__dependency1__["default"];var UnresolvedHandlerInfoByObject=__dependency2__["default"];var UnresolvedHandlerInfoByParam=__dependency3__["default"];handlerInfoFactory.klasses={resolved:ResolvedHandlerInfo,param:UnresolvedHandlerInfoByParam,object:UnresolvedHandlerInfoByObject};function handlerInfoFactory(name,props){var Ctor=handlerInfoFactory.klasses[name],handlerInfo=new Ctor(props||{});handlerInfo.factory=handlerInfoFactory;return handlerInfo}__exports__["default"]=handlerInfoFactory});define("router/handler-info/resolved-handler-info",["../handler-info","router/utils","rsvp/promise","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var HandlerInfo=__dependency1__["default"];var subclass=__dependency2__.subclass;var promiseLabel=__dependency2__.promiseLabel;var Promise=__dependency3__["default"];var ResolvedHandlerInfo=subclass(HandlerInfo,{resolve:function(shouldContinue,payload){if(payload&&payload.resolvedModels){payload.resolvedModels[this.name]=this.context}return Promise.resolve(this,this.promiseLabel("Resolve"))},getUnresolved:function(){return this.factory("param",{name:this.name,handler:this.handler,params:this.params})},isResolved:true});__exports__["default"]=ResolvedHandlerInfo});define("router/handler-info/unresolved-handler-info-by-object",["../handler-info","router/utils","rsvp/promise","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var HandlerInfo=__dependency1__["default"];var merge=__dependency2__.merge;var subclass=__dependency2__.subclass;var promiseLabel=__dependency2__.promiseLabel;var isParam=__dependency2__.isParam;var Promise=__dependency3__["default"];var UnresolvedHandlerInfoByObject=subclass(HandlerInfo,{getModel:function(payload){this.log(payload,this.name+": resolving provided model");return Promise.resolve(this.context)},initialize:function(props){this.names=props.names||[];this.context=props.context},serialize:function(_model){var model=_model||this.context,names=this.names,handler=this.handler;var object={};if(isParam(model)){object[names[0]]=model;return object}if(handler.serialize){return handler.serialize(model,names)}if(names.length!==1){return}var name=names[0];if(/_id$/.test(name)){object[name]=model.id}else{object[name]=model}return object}});__exports__["default"]=UnresolvedHandlerInfoByObject});define("router/handler-info/unresolved-handler-info-by-param",["../handler-info","router/utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var HandlerInfo=__dependency1__["default"];var merge=__dependency2__.merge;var subclass=__dependency2__.subclass;var promiseLabel=__dependency2__.promiseLabel;var UnresolvedHandlerInfoByParam=subclass(HandlerInfo,{initialize:function(props){this.params=props.params||{}},getModel:function(payload){var fullParams=this.params;if(payload&&payload.queryParams){fullParams={};merge(fullParams,this.params);fullParams.queryParams=payload.queryParams}var hookName=typeof this.handler.deserialize==="function"?"deserialize":"model";return this.runSharedModelHook(payload,hookName,[fullParams])}});__exports__["default"]=UnresolvedHandlerInfoByParam});define("router/router",["route-recognizer","rsvp/promise","./utils","./transition-state","./transition","./transition-intent/named-transition-intent","./transition-intent/url-transition-intent","./handler-info","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__exports__){"use strict";var RouteRecognizer=__dependency1__["default"];var Promise=__dependency2__["default"];var trigger=__dependency3__.trigger;var log=__dependency3__.log;var slice=__dependency3__.slice;var forEach=__dependency3__.forEach;var merge=__dependency3__.merge;var serialize=__dependency3__.serialize;var extractQueryParams=__dependency3__.extractQueryParams;var getChangelist=__dependency3__.getChangelist;var promiseLabel=__dependency3__.promiseLabel;var TransitionState=__dependency4__["default"];var logAbort=__dependency5__.logAbort;var Transition=__dependency5__.Transition;var TransitionAborted=__dependency5__.TransitionAborted;var NamedTransitionIntent=__dependency6__["default"];var URLTransitionIntent=__dependency7__["default"];var ResolvedHandlerInfo=__dependency8__.ResolvedHandlerInfo;var pop=Array.prototype.pop;function Router(){this.recognizer=new RouteRecognizer;this.reset()}Router.prototype={map:function(callback){this.recognizer.delegate=this.delegate;this.recognizer.map(callback,function(recognizer,routes){for(var i=routes.length-1,proceed=true;i>=0&&proceed;--i){var route=routes[i];recognizer.add(routes,{as:route.handler});proceed=route.path==="/"||route.path===""||route.handler.slice(-6)===".index"}})},hasRoute:function(route){return this.recognizer.hasRoute(route)},queryParamsTransition:function(changelist,wasTransitioning,oldState,newState){var router=this;fireQueryParamDidChange(this,newState,changelist);if(!wasTransitioning&&this.activeTransition){return this.activeTransition}else{var newTransition=new Transition(this);newTransition.queryParamsOnly=true;oldState.queryParams=finalizeQueryParamChange(this,newState.handlerInfos,newState.queryParams,newTransition);newTransition.promise=newTransition.promise.then(function(result){updateURL(newTransition,oldState,true);if(router.didTransition){router.didTransition(router.currentHandlerInfos)}return result},null,promiseLabel("Transition complete"));return newTransition}},transitionByIntent:function(intent,isIntermediate){var wasTransitioning=!!this.activeTransition;var oldState=wasTransitioning?this.activeTransition.state:this.state;var newTransition;var router=this;try{var newState=intent.applyToState(oldState,this.recognizer,this.getHandler,isIntermediate);var queryParamChangelist=getChangelist(oldState.queryParams,newState.queryParams);if(handlerInfosEqual(newState.handlerInfos,oldState.handlerInfos)){if(queryParamChangelist){newTransition=this.queryParamsTransition(queryParamChangelist,wasTransitioning,oldState,newState);if(newTransition){return newTransition}}return new Transition(this)}if(isIntermediate){setupContexts(this,newState);return}newTransition=new Transition(this,intent,newState);if(this.activeTransition){this.activeTransition.abort()}this.activeTransition=newTransition;newTransition.promise=newTransition.promise.then(function(result){return finalizeTransition(newTransition,result.state)},null,promiseLabel("Settle transition promise when transition is finalized"));if(!wasTransitioning){notifyExistingHandlers(this,newState,newTransition)}fireQueryParamDidChange(this,newState,queryParamChangelist);return newTransition}catch(e){return new Transition(this,intent,null,e)}},reset:function(){if(this.state){forEach(this.state.handlerInfos,function(handlerInfo){var handler=handlerInfo.handler;if(handler.exit){handler.exit()}})}this.state=new TransitionState;this.currentHandlerInfos=null},activeTransition:null,handleURL:function(url){var args=slice.call(arguments);if(url.charAt(0)!=="/"){args[0]="/"+url}return doTransition(this,args).method(null)},updateURL:function(){throw new Error("updateURL is not implemented")},replaceURL:function(url){this.updateURL(url)},transitionTo:function(name){return doTransition(this,arguments)},intermediateTransitionTo:function(name){doTransition(this,arguments,true)},refresh:function(pivotHandler){var state=this.activeTransition?this.activeTransition.state:this.state;var handlerInfos=state.handlerInfos;var params={};for(var i=0,len=handlerInfos.length;i<len;++i){var handlerInfo=handlerInfos[i];params[handlerInfo.name]=handlerInfo.params||{}}log(this,"Starting a refresh transition");var intent=new NamedTransitionIntent({name:handlerInfos[handlerInfos.length-1].name,pivotHandler:pivotHandler||handlerInfos[0].handler,contexts:[],queryParams:this._changedQueryParams||state.queryParams||{}});return this.transitionByIntent(intent,false)},replaceWith:function(name){return doTransition(this,arguments).method("replace")},generate:function(handlerName){var partitionedArgs=extractQueryParams(slice.call(arguments,1)),suppliedParams=partitionedArgs[0],queryParams=partitionedArgs[1];var intent=new NamedTransitionIntent({name:handlerName,contexts:suppliedParams});var state=intent.applyToState(this.state,this.recognizer,this.getHandler);var params={};for(var i=0,len=state.handlerInfos.length;i<len;++i){var handlerInfo=state.handlerInfos[i];var handlerParams=handlerInfo.serialize();merge(params,handlerParams)}params.queryParams=queryParams;return this.recognizer.generate(handlerName,params)},applyIntent:function(handlerName,contexts){var intent=new NamedTransitionIntent({name:handlerName,contexts:contexts});var state=this.activeTransition&&this.activeTransition.state||this.state;return intent.applyToState(state,this.recognizer,this.getHandler)},isActiveIntent:function(handlerName,contexts,queryParams){var targetHandlerInfos=this.state.handlerInfos,found=false,names,object,handlerInfo,handlerObj,i,len;if(!targetHandlerInfos.length){return false}var targetHandler=targetHandlerInfos[targetHandlerInfos.length-1].name;var recogHandlers=this.recognizer.handlersFor(targetHandler);var index=0;for(len=recogHandlers.length;index<len;++index){handlerInfo=targetHandlerInfos[index];if(handlerInfo.name===handlerName){break}}if(index===recogHandlers.length){return false}var state=new TransitionState;state.handlerInfos=targetHandlerInfos.slice(0,index+1);recogHandlers=recogHandlers.slice(0,index+1);var intent=new NamedTransitionIntent({name:targetHandler,contexts:contexts});var newState=intent.applyToHandlers(state,recogHandlers,this.getHandler,targetHandler,true,true);var handlersEqual=handlerInfosEqual(newState.handlerInfos,state.handlerInfos);if(!queryParams||!handlersEqual){return handlersEqual}var activeQPsOnNewHandler={};merge(activeQPsOnNewHandler,queryParams);var activeQueryParams=this.state.queryParams;for(var key in activeQueryParams){if(activeQueryParams.hasOwnProperty(key)&&activeQPsOnNewHandler.hasOwnProperty(key)){activeQPsOnNewHandler[key]=activeQueryParams[key]}}return handlersEqual&&!getChangelist(activeQPsOnNewHandler,queryParams)},isActive:function(handlerName){var partitionedArgs=extractQueryParams(slice.call(arguments,1));return this.isActiveIntent(handlerName,partitionedArgs[0],partitionedArgs[1])},trigger:function(name){var args=slice.call(arguments);trigger(this,this.currentHandlerInfos,false,args)},log:null,_willChangeContextEvent:"willChangeContext",_triggerWillChangeContext:function(handlerInfos,newTransition){trigger(this,handlerInfos,true,[this._willChangeContextEvent,newTransition])},_triggerWillLeave:function(handlerInfos,newTransition,leavingChecker){trigger(this,handlerInfos,true,["willLeave",newTransition,leavingChecker])}};function fireQueryParamDidChange(router,newState,queryParamChangelist){if(queryParamChangelist){router._changedQueryParams=queryParamChangelist.all;trigger(router,newState.handlerInfos,true,["queryParamsDidChange",queryParamChangelist.changed,queryParamChangelist.all,queryParamChangelist.removed]);router._changedQueryParams=null}}function setupContexts(router,newState,transition){var partition=partitionHandlers(router.state,newState);forEach(partition.exited,function(handlerInfo){var handler=handlerInfo.handler;delete handler.context;if(handler.reset){handler.reset(true,transition)}if(handler.exit){handler.exit(transition)}});var oldState=router.oldState=router.state;router.state=newState;var currentHandlerInfos=router.currentHandlerInfos=partition.unchanged.slice();try{forEach(partition.reset,function(handlerInfo){var handler=handlerInfo.handler;if(handler.reset){handler.reset(false,transition)}});forEach(partition.updatedContext,function(handlerInfo){return handlerEnteredOrUpdated(currentHandlerInfos,handlerInfo,false,transition)});forEach(partition.entered,function(handlerInfo){return handlerEnteredOrUpdated(currentHandlerInfos,handlerInfo,true,transition)})}catch(e){router.state=oldState;router.currentHandlerInfos=oldState.handlerInfos;throw e}router.state.queryParams=finalizeQueryParamChange(router,currentHandlerInfos,newState.queryParams,transition)}function handlerEnteredOrUpdated(currentHandlerInfos,handlerInfo,enter,transition){var handler=handlerInfo.handler,context=handlerInfo.context;if(enter&&handler.enter){handler.enter(transition)}if(transition&&transition.isAborted){throw new TransitionAborted}handler.context=context;if(handler.contextDidChange){handler.contextDidChange()}if(handler.setup){handler.setup(context,transition)}if(transition&&transition.isAborted){throw new TransitionAborted}currentHandlerInfos.push(handlerInfo);return true}function partitionHandlers(oldState,newState){var oldHandlers=oldState.handlerInfos;var newHandlers=newState.handlerInfos;var handlers={updatedContext:[],exited:[],entered:[],unchanged:[]};var handlerChanged,contextChanged,i,l;for(i=0,l=newHandlers.length;i<l;i++){var oldHandler=oldHandlers[i],newHandler=newHandlers[i];if(!oldHandler||oldHandler.handler!==newHandler.handler){handlerChanged=true}if(handlerChanged){handlers.entered.push(newHandler);if(oldHandler){handlers.exited.unshift(oldHandler)}}else if(contextChanged||oldHandler.context!==newHandler.context){contextChanged=true;handlers.updatedContext.push(newHandler)}else{handlers.unchanged.push(oldHandler)}}for(i=newHandlers.length,l=oldHandlers.length;i<l;i++){handlers.exited.unshift(oldHandlers[i])}handlers.reset=handlers.updatedContext.slice();handlers.reset.reverse();return handlers}function updateURL(transition,state,inputUrl){var urlMethod=transition.urlMethod;if(!urlMethod){return}var router=transition.router,handlerInfos=state.handlerInfos,handlerName=handlerInfos[handlerInfos.length-1].name,params={};for(var i=handlerInfos.length-1;i>=0;--i){var handlerInfo=handlerInfos[i];merge(params,handlerInfo.params);if(handlerInfo.handler.inaccessibleByURL){urlMethod=null}}if(urlMethod){params.queryParams=transition._visibleQueryParams||state.queryParams;var url=router.recognizer.generate(handlerName,params);if(urlMethod==="replace"){router.replaceURL(url)}else{router.updateURL(url)}}}function finalizeTransition(transition,newState){try{log(transition.router,transition.sequence,"Resolved all models on destination route; finalizing transition.");var router=transition.router,handlerInfos=newState.handlerInfos,seq=transition.sequence;setupContexts(router,newState,transition);if(transition.isAborted){router.state.handlerInfos=router.currentHandlerInfos;return Promise.reject(logAbort(transition))}updateURL(transition,newState,transition.intent.url);transition.isActive=false;router.activeTransition=null;trigger(router,router.currentHandlerInfos,true,["didTransition"]);if(router.didTransition){router.didTransition(router.currentHandlerInfos)}log(router,transition.sequence,"TRANSITION COMPLETE.");return handlerInfos[handlerInfos.length-1].handler}catch(e){if(!((e instanceof TransitionAborted))){var infos=transition.state.handlerInfos;transition.trigger(true,"error",e,transition,infos[infos.length-1].handler);transition.abort()}throw e}}function doTransition(router,args,isIntermediate){var name=args[0]||"/";var lastArg=args[args.length-1];var queryParams={};if(lastArg&&lastArg.hasOwnProperty("queryParams")){queryParams=pop.call(args).queryParams}var intent;if(args.length===0){log(router,"Updating query params");var handlerInfos=router.state.handlerInfos;intent=new NamedTransitionIntent({name:handlerInfos[handlerInfos.length-1].name,contexts:[],queryParams:queryParams})}else if(name.charAt(0)==="/"){log(router,"Attempting URL transition to "+name);intent=new URLTransitionIntent({url:name})}else{log(router,"Attempting transition to "+name);intent=new NamedTransitionIntent({name:args[0],contexts:slice.call(args,1),queryParams:queryParams})}return router.transitionByIntent(intent,isIntermediate)}function handlerInfosEqual(handlerInfos,otherHandlerInfos){if(handlerInfos.length!==otherHandlerInfos.length){return false}for(var i=0,len=handlerInfos.length;i<len;++i){if(handlerInfos[i]!==otherHandlerInfos[i]){return false}}return true}function finalizeQueryParamChange(router,resolvedHandlers,newQueryParams,transition){for(var k in newQueryParams){if(newQueryParams.hasOwnProperty(k)&&newQueryParams[k]===null){delete newQueryParams[k]}}var finalQueryParamsArray=[];trigger(router,resolvedHandlers,true,["finalizeQueryParamChange",newQueryParams,finalQueryParamsArray,transition]);if(transition){transition._visibleQueryParams={}}var finalQueryParams={};for(var i=0,len=finalQueryParamsArray.length;i<len;++i){var qp=finalQueryParamsArray[i];finalQueryParams[qp.key]=qp.value;if(transition&&qp.visible!==false){transition._visibleQueryParams[qp.key]=qp.value}}return finalQueryParams}function notifyExistingHandlers(router,newState,newTransition){var oldHandlers=router.state.handlerInfos,changing=[],leavingIndex=null,leaving,leavingChecker,i,oldHandler,newHandler;for(i=0;i<oldHandlers.length;i++){oldHandler=oldHandlers[i];newHandler=newState.handlerInfos[i];if(!newHandler||oldHandler.name!==newHandler.name){leavingIndex=i;break}if(!newHandler.isResolved){changing.push(oldHandler)}}if(leavingIndex!==null){leaving=oldHandlers.slice(leavingIndex,oldHandlers.length);leavingChecker=function(name){for(var h=0;h<leaving.length;h++){if(leaving[h].name===name){return true}}return false};router._triggerWillLeave(leaving,newTransition,leavingChecker)}if(changing.length>0){router._triggerWillChangeContext(changing,newTransition)}trigger(router,oldHandlers,true,["willTransition",newTransition])}__exports__["default"]=Router});define("router/transition-intent",["./utils","exports"],function(__dependency1__,__exports__){"use strict";var merge=__dependency1__.merge;function TransitionIntent(props){this.initialize(props);this.data=this.data||{}}TransitionIntent.prototype={initialize:null,applyToState:null};__exports__["default"]=TransitionIntent});define("router/transition-intent/named-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var TransitionIntent=__dependency1__["default"];var TransitionState=__dependency2__["default"];var handlerInfoFactory=__dependency3__["default"];var isParam=__dependency4__.isParam;var extractQueryParams=__dependency4__.extractQueryParams;var merge=__dependency4__.merge;var subclass=__dependency4__.subclass;__exports__["default"]=subclass(TransitionIntent,{name:null,pivotHandler:null,contexts:null,queryParams:null,initialize:function(props){this.name=props.name;this.pivotHandler=props.pivotHandler;this.contexts=props.contexts||[];this.queryParams=props.queryParams},applyToState:function(oldState,recognizer,getHandler,isIntermediate){var partitionedArgs=extractQueryParams([this.name].concat(this.contexts)),pureArgs=partitionedArgs[0],queryParams=partitionedArgs[1],handlers=recognizer.handlersFor(pureArgs[0]);var targetRouteName=handlers[handlers.length-1].handler;return this.applyToHandlers(oldState,handlers,getHandler,targetRouteName,isIntermediate)},applyToHandlers:function(oldState,handlers,getHandler,targetRouteName,isIntermediate,checkingIfActive){var i;var newState=new TransitionState;var objects=this.contexts.slice(0);var invalidateIndex=handlers.length;if(this.pivotHandler){for(i=0;i<handlers.length;++i){if(getHandler(handlers[i].handler)===this.pivotHandler){invalidateIndex=i;break}}}var pivotHandlerFound=!this.pivotHandler;for(i=handlers.length-1;i>=0;--i){var result=handlers[i];var name=result.handler;var handler=getHandler(name);var oldHandlerInfo=oldState.handlerInfos[i];var newHandlerInfo=null;if(result.names.length>0){if(i>=invalidateIndex){newHandlerInfo=this.createParamHandlerInfo(name,handler,result.names,objects,oldHandlerInfo)}else{newHandlerInfo=this.getHandlerInfoForDynamicSegment(name,handler,result.names,objects,oldHandlerInfo,targetRouteName,i)}}else{newHandlerInfo=this.createParamHandlerInfo(name,handler,result.names,objects,oldHandlerInfo)}if(checkingIfActive){newHandlerInfo=newHandlerInfo.becomeResolved(null,newHandlerInfo.context);var oldContext=oldHandlerInfo&&oldHandlerInfo.context;if(result.names.length>0&&newHandlerInfo.context===oldContext){newHandlerInfo.params=oldHandlerInfo&&oldHandlerInfo.params}newHandlerInfo.context=oldContext}var handlerToUse=oldHandlerInfo;if(i>=invalidateIndex||newHandlerInfo.shouldSupercede(oldHandlerInfo)){invalidateIndex=Math.min(i,invalidateIndex);handlerToUse=newHandlerInfo}if(isIntermediate&&!checkingIfActive){handlerToUse=handlerToUse.becomeResolved(null,handlerToUse.context)}newState.handlerInfos.unshift(handlerToUse)}if(objects.length>0){throw new Error("More context objects were passed than there are dynamic segments for the route: "+targetRouteName)}if(!isIntermediate){this.invalidateChildren(newState.handlerInfos,invalidateIndex)}merge(newState.queryParams,this.queryParams||{});return newState},invalidateChildren:function(handlerInfos,invalidateIndex){for(var i=invalidateIndex,l=handlerInfos.length;i<l;++i){var handlerInfo=handlerInfos[i];handlerInfos[i]=handlerInfos[i].getUnresolved()}},getHandlerInfoForDynamicSegment:function(name,handler,names,objects,oldHandlerInfo,targetRouteName,i){var numNames=names.length;var objectToUse;if(objects.length>0){objectToUse=objects[objects.length-1];if(isParam(objectToUse)){return this.createParamHandlerInfo(name,handler,names,objects,oldHandlerInfo)}else{objects.pop()}}else if(oldHandlerInfo&&oldHandlerInfo.name===name){return oldHandlerInfo}else{if(this.preTransitionState){var preTransitionHandlerInfo=this.preTransitionState.handlerInfos[i];objectToUse=preTransitionHandlerInfo&&preTransitionHandlerInfo.context}else{return oldHandlerInfo}}return handlerInfoFactory("object",{name:name,handler:handler,context:objectToUse,names:names})},createParamHandlerInfo:function(name,handler,names,objects,oldHandlerInfo){var params={};var numNames=names.length;while(numNames--){var oldParams=oldHandlerInfo&&name===oldHandlerInfo.name&&oldHandlerInfo.params||{};var peek=objects[objects.length-1];var paramName=names[numNames];if(isParam(peek)){params[paramName]=""+objects.pop()}else{if(oldParams.hasOwnProperty(paramName)){params[paramName]=oldParams[paramName]}else{throw new Error("You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route "+name)}}}return handlerInfoFactory("param",{name:name,handler:handler,params:params})}})});define("router/transition-intent/url-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var TransitionIntent=__dependency1__["default"];var TransitionState=__dependency2__["default"];var handlerInfoFactory=__dependency3__["default"];var oCreate=__dependency4__.oCreate;var merge=__dependency4__.merge;var subclass=__dependency4__.subclass;__exports__["default"]=subclass(TransitionIntent,{url:null,initialize:function(props){this.url=props.url},applyToState:function(oldState,recognizer,getHandler){var newState=new TransitionState;var results=recognizer.recognize(this.url),queryParams={},i,len;if(!results){throw new UnrecognizedURLError(this.url)}var statesDiffer=false;for(i=0,len=results.length;i<len;++i){var result=results[i];var name=result.handler;var handler=getHandler(name);if(handler.inaccessibleByURL){throw new UnrecognizedURLError(this.url)}var newHandlerInfo=handlerInfoFactory("param",{name:name,handler:handler,params:result.params});var oldHandlerInfo=oldState.handlerInfos[i];if(statesDiffer||newHandlerInfo.shouldSupercede(oldHandlerInfo)){statesDiffer=true;newState.handlerInfos[i]=newHandlerInfo}else{newState.handlerInfos[i]=oldHandlerInfo}}merge(newState.queryParams,results.queryParams);return newState}});function UnrecognizedURLError(message){this.message=message||"UnrecognizedURLError";this.name="UnrecognizedURLError"}});define("router/transition-state",["./handler-info","./utils","rsvp/promise","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var ResolvedHandlerInfo=__dependency1__.ResolvedHandlerInfo;var forEach=__dependency2__.forEach;var promiseLabel=__dependency2__.promiseLabel;var Promise=__dependency3__["default"];function TransitionState(other){this.handlerInfos=[];this.queryParams={};this.params={}}TransitionState.prototype={handlerInfos:null,queryParams:null,params:null,promiseLabel:function(label){var targetName="";forEach(this.handlerInfos,function(handlerInfo){if(targetName!==""){targetName+="."}targetName+=handlerInfo.name});return promiseLabel("'"+targetName+"': "+label)},resolve:function(shouldContinue,payload){var self=this;var params=this.params;forEach(this.handlerInfos,function(handlerInfo){params[handlerInfo.name]=handlerInfo.params||{}});payload=payload||{};payload.resolveIndex=0;var currentState=this;var wasAborted=false;return Promise.resolve(null,this.promiseLabel("Start transition")).then(resolveOneHandlerInfo,null,this.promiseLabel("Resolve handler"))["catch"](handleError,this.promiseLabel("Handle error"));function innerShouldContinue(){return Promise.resolve(shouldContinue(),promiseLabel("Check if should continue"))["catch"](function(reason){wasAborted=true;return Promise.reject(reason)},promiseLabel("Handle abort"))}function handleError(error){var handlerInfos=currentState.handlerInfos;var errorHandlerIndex=payload.resolveIndex>=handlerInfos.length?handlerInfos.length-1:payload.resolveIndex;return Promise.reject({error:error,handlerWithError:currentState.handlerInfos[errorHandlerIndex].handler,wasAborted:wasAborted,state:currentState})}function proceed(resolvedHandlerInfo){var wasAlreadyResolved=currentState.handlerInfos[payload.resolveIndex].isResolved;currentState.handlerInfos[payload.resolveIndex++]=resolvedHandlerInfo;
18
+ if(!wasAlreadyResolved){var handler=resolvedHandlerInfo.handler;if(handler&&handler.redirect){handler.redirect(resolvedHandlerInfo.context,payload)}}return innerShouldContinue().then(resolveOneHandlerInfo,null,promiseLabel("Resolve handler"))}function resolveOneHandlerInfo(){if(payload.resolveIndex===currentState.handlerInfos.length){return{error:null,state:currentState}}var handlerInfo=currentState.handlerInfos[payload.resolveIndex];return handlerInfo.resolve(innerShouldContinue,payload).then(proceed,null,promiseLabel("Proceed"))}}};__exports__["default"]=TransitionState});define("router/transition",["rsvp/promise","./handler-info","./utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Promise=__dependency1__["default"];var ResolvedHandlerInfo=__dependency2__.ResolvedHandlerInfo;var trigger=__dependency3__.trigger;var slice=__dependency3__.slice;var log=__dependency3__.log;var promiseLabel=__dependency3__.promiseLabel;function Transition(router,intent,state,error){var transition=this;this.state=state||router.state;this.intent=intent;this.router=router;this.data=this.intent&&this.intent.data||{};this.resolvedModels={};this.queryParams={};if(error){this.promise=Promise.reject(error);return}if(state){this.params=state.params;this.queryParams=state.queryParams;this.handlerInfos=state.handlerInfos;var len=state.handlerInfos.length;if(len){this.targetName=state.handlerInfos[state.handlerInfos.length-1].name}for(var i=0;i<len;++i){var handlerInfo=state.handlerInfos[i];if(!handlerInfo.isResolved){break}this.pivotHandler=handlerInfo.handler}this.sequence=Transition.currentSequence++;this.promise=state.resolve(checkForAbort,this)["catch"](function(result){if(result.wasAborted||transition.isAborted){return Promise.reject(logAbort(transition))}else{transition.trigger("error",result.error,transition,result.handlerWithError);transition.abort();return Promise.reject(result.error)}},promiseLabel("Handle Abort"))}else{this.promise=Promise.resolve(this.state);this.params={}}function checkForAbort(){if(transition.isAborted){return Promise.reject(undefined,promiseLabel("Transition aborted - reject"))}}}Transition.currentSequence=0;Transition.prototype={targetName:null,urlMethod:"update",intent:null,params:null,pivotHandler:null,resolveIndex:0,handlerInfos:null,resolvedModels:null,isActive:true,state:null,queryParamsOnly:false,isTransition:true,isExiting:function(handler){var handlerInfos=this.handlerInfos;for(var i=0,len=handlerInfos.length;i<len;++i){var handlerInfo=handlerInfos[i];if(handlerInfo.name===handler||handlerInfo.handler===handler){return false}}return true},promise:null,data:null,then:function(success,failure){return this.promise.then(success,failure)},abort:function(){if(this.isAborted){return this}log(this.router,this.sequence,this.targetName+": transition was aborted");this.intent.preTransitionState=this.router.state;this.isAborted=true;this.isActive=false;this.router.activeTransition=null;return this},retry:function(){this.abort();return this.router.transitionByIntent(this.intent,false)},method:function(method){this.urlMethod=method;return this},trigger:function(ignoreFailure){var args=slice.call(arguments);if(typeof ignoreFailure==="boolean"){args.shift()}else{ignoreFailure=false}trigger(this.router,this.state.handlerInfos.slice(0,this.resolveIndex+1),ignoreFailure,args)},followRedirects:function(){var router=this.router;return this.promise["catch"](function(reason){if(router.activeTransition){return router.activeTransition.followRedirects()}return Promise.reject(reason)})},toString:function(){return"Transition (sequence "+this.sequence+")"},log:function(message){log(this.router,this.sequence,message)}};Transition.prototype.send=Transition.prototype.trigger;function logAbort(transition){log(transition.router,transition.sequence,"detected abort.");return new TransitionAborted}function TransitionAborted(message){this.message=message||"TransitionAborted";this.name="TransitionAborted"}__exports__.Transition=Transition;__exports__.logAbort=logAbort;__exports__.TransitionAborted=TransitionAborted});define("router/utils",["exports"],function(__exports__){"use strict";var slice=Array.prototype.slice;var _isArray;if(!Array.isArray){_isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}}else{_isArray=Array.isArray}var isArray=_isArray;__exports__.isArray=isArray;function merge(hash,other){for(var prop in other){if(other.hasOwnProperty(prop)){hash[prop]=other[prop]}}}var oCreate=Object.create||function(proto){function F(){}F.prototype=proto;return new F};__exports__.oCreate=oCreate;function extractQueryParams(array){var len=array&&array.length,head,queryParams;if(len&&len>0&&array[len-1]&&array[len-1].hasOwnProperty("queryParams")){queryParams=array[len-1].queryParams;head=slice.call(array,0,len-1);return[head,queryParams]}else{return[array,null]}}__exports__.extractQueryParams=extractQueryParams;function coerceQueryParamsToString(queryParams){for(var key in queryParams){if(typeof queryParams[key]==="number"){queryParams[key]=""+queryParams[key]}else if(isArray(queryParams[key])){for(var i=0,l=queryParams[key].length;i<l;i++){queryParams[key][i]=""+queryParams[key][i]}}}}function log(router,sequence,msg){if(!router.log){return}if(arguments.length===3){router.log("Transition #"+sequence+": "+msg)}else{msg=sequence;router.log(msg)}}__exports__.log=log;function bind(context,fn){var boundArgs=arguments;return function(value){var args=slice.call(boundArgs,2);args.push(value);return fn.apply(context,args)}}__exports__.bind=bind;function isParam(object){return typeof object==="string"||object instanceof String||typeof object==="number"||object instanceof Number}function forEach(array,callback){for(var i=0,l=array.length;i<l&&false!==callback(array[i]);i++){}}__exports__.forEach=forEach;function trigger(router,handlerInfos,ignoreFailure,args){if(router.triggerEvent){router.triggerEvent(handlerInfos,ignoreFailure,args);return}var name=args.shift();if(!handlerInfos){if(ignoreFailure){return}throw new Error("Could not trigger event '"+name+"'. There are no active handlers")}var eventWasHandled=false;for(var i=handlerInfos.length-1;i>=0;i--){var handlerInfo=handlerInfos[i],handler=handlerInfo.handler;if(handler.events&&handler.events[name]){if(handler.events[name].apply(handler,args)===true){eventWasHandled=true}else{return}}}if(!eventWasHandled&&!ignoreFailure){throw new Error("Nothing handled the event '"+name+"'.")}}__exports__.trigger=trigger;function getChangelist(oldObject,newObject){var key;var results={all:{},changed:{},removed:{}};merge(results.all,newObject);var didChange=false;coerceQueryParamsToString(oldObject);coerceQueryParamsToString(newObject);for(key in oldObject){if(oldObject.hasOwnProperty(key)){if(!newObject.hasOwnProperty(key)){didChange=true;results.removed[key]=oldObject[key]}}}for(key in newObject){if(newObject.hasOwnProperty(key)){if(isArray(oldObject[key])&&isArray(newObject[key])){if(oldObject[key].length!==newObject[key].length){results.changed[key]=newObject[key];didChange=true}else{for(var i=0,l=oldObject[key].length;i<l;i++){if(oldObject[key][i]!==newObject[key][i]){results.changed[key]=newObject[key];didChange=true}}}}else{if(oldObject[key]!==newObject[key]){results.changed[key]=newObject[key];didChange=true}}}}return didChange&&results}__exports__.getChangelist=getChangelist;function promiseLabel(label){return"Router: "+label}__exports__.promiseLabel=promiseLabel;function subclass(parentConstructor,proto){function C(props){parentConstructor.call(this,props||{})}C.prototype=oCreate(parentConstructor.prototype);merge(C.prototype,proto);return C}__exports__.subclass=subclass;__exports__.merge=merge;__exports__.slice=slice;__exports__.isParam=isParam;__exports__.coerceQueryParamsToString=coerceQueryParamsToString});define("router",["./router/router","exports"],function(__dependency1__,__exports__){"use strict";var Router=__dependency1__["default"];__exports__["default"]=Router});define("rsvp/-internal",["./utils","./instrument","./config","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var objectOrFunction=__dependency1__.objectOrFunction;var isFunction=__dependency1__.isFunction;var now=__dependency1__.now;var instrument=__dependency2__["default"];var config=__dependency3__.config;function noop(){}var PENDING=void 0;var FULFILLED=1;var REJECTED=2;var GET_THEN_ERROR=new ErrorObject;function getThen(promise){try{return promise.then}catch(error){GET_THEN_ERROR.error=error;return GET_THEN_ERROR}}function tryThen(then,value,fulfillmentHandler,rejectionHandler){try{then.call(value,fulfillmentHandler,rejectionHandler)}catch(e){return e}}function handleForeignThenable(promise,thenable,then){config.async(function(promise$2){var sealed=false;var error=tryThen(then,thenable,function(value){if(sealed){return}sealed=true;if(thenable!==value){resolve(promise$2,value)}else{fulfill(promise$2,value)}},function(reason){if(sealed){return}sealed=true;reject(promise$2,reason)},"Settle: "+(promise$2._label||" unknown promise"));if(!sealed&&error){sealed=true;reject(promise$2,error)}},promise)}function handleOwnThenable(promise,thenable){promise._onerror=null;if(thenable._state===FULFILLED){fulfill(promise,thenable._result)}else if(promise._state===REJECTED){reject(promise,thenable._result)}else{subscribe(thenable,undefined,function(value){if(thenable!==value){resolve(promise,value)}else{fulfill(promise,value)}},function(reason){reject(promise,reason)})}}function handleMaybeThenable(promise,maybeThenable){if(maybeThenable instanceof promise.constructor){handleOwnThenable(promise,maybeThenable)}else{var then=getThen(maybeThenable);if(then===GET_THEN_ERROR){reject(promise,GET_THEN_ERROR.error)}else if(then===undefined){fulfill(promise,maybeThenable)}else if(isFunction(then)){handleForeignThenable(promise,maybeThenable,then)}else{fulfill(promise,maybeThenable)}}}function resolve(promise,value){if(promise===value){fulfill(promise,value)}else if(objectOrFunction(value)){handleMaybeThenable(promise,value)}else{fulfill(promise,value)}}function publishRejection(promise){if(promise._onerror){promise._onerror(promise._result)}publish(promise)}function fulfill(promise,value){if(promise._state!==PENDING){return}promise._result=value;promise._state=FULFILLED;if(promise._subscribers.length===0){if(config.instrument){instrument("fulfilled",promise)}}else{config.async(publish,promise)}}function reject(promise,reason){if(promise._state!==PENDING){return}promise._state=REJECTED;promise._result=reason;config.async(publishRejection,promise)}function subscribe(parent,child,onFulfillment,onRejection){var subscribers=parent._subscribers;var length=subscribers.length;parent._onerror=null;subscribers[length]=child;subscribers[length+FULFILLED]=onFulfillment;subscribers[length+REJECTED]=onRejection;if(length===0&&parent._state){config.async(publish,parent)}}function publish(promise){var subscribers=promise._subscribers;var settled=promise._state;if(config.instrument){instrument(settled===FULFILLED?"fulfilled":"rejected",promise)}if(subscribers.length===0){return}var child,callback,detail=promise._result;for(var i=0;i<subscribers.length;i+=3){child=subscribers[i];callback=subscribers[i+settled];if(child){invokeCallback(settled,child,callback,detail)}else{callback(detail)}}promise._subscribers.length=0}function ErrorObject(){this.error=null}var TRY_CATCH_ERROR=new ErrorObject;function tryCatch(callback,detail){try{return callback(detail)}catch(e){TRY_CATCH_ERROR.error=e;return TRY_CATCH_ERROR}}function invokeCallback(settled,promise,callback,detail){var hasCallback=isFunction(callback),value,error,succeeded,failed;if(hasCallback){value=tryCatch(callback,detail);if(value===TRY_CATCH_ERROR){failed=true;error=value.error;value=null}else{succeeded=true}if(promise===value){reject(promise,new TypeError("A promises callback cannot return that same promise."));return}}else{value=detail;succeeded=true}if(promise._state!==PENDING){}else if(hasCallback&&succeeded){resolve(promise,value)}else if(failed){reject(promise,error)}else if(settled===FULFILLED){fulfill(promise,value)}else if(settled===REJECTED){reject(promise,value)}}function initializePromise(promise,resolver){try{resolver(function resolvePromise(value){resolve(promise,value)},function rejectPromise(reason){reject(promise,reason)})}catch(e){reject(promise,e)}}__exports__.noop=noop;__exports__.resolve=resolve;__exports__.reject=reject;__exports__.fulfill=fulfill;__exports__.subscribe=subscribe;__exports__.publish=publish;__exports__.publishRejection=publishRejection;__exports__.initializePromise=initializePromise;__exports__.invokeCallback=invokeCallback;__exports__.FULFILLED=FULFILLED;__exports__.REJECTED=REJECTED});define("rsvp/all-settled",["./enumerator","./promise","./utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Enumerator=__dependency1__["default"];var makeSettledResult=__dependency1__.makeSettledResult;var Promise=__dependency2__["default"];var o_create=__dependency3__.o_create;function AllSettled(Constructor,entries,label){this._superConstructor(Constructor,entries,false,label)}AllSettled.prototype=o_create(Enumerator.prototype);AllSettled.prototype._superConstructor=Enumerator;AllSettled.prototype._makeResult=makeSettledResult;AllSettled.prototype._validationError=function(){return new Error("allSettled must be called with an array")};__exports__["default"]=function allSettled(entries,label){return new AllSettled(Promise,entries,label).promise}});define("rsvp/all",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function all(array,label){return Promise.all(array,label)}});define("rsvp/asap",["exports"],function(__exports__){"use strict";var length=0;__exports__["default"]=function asap(callback,arg){queue[length]=callback;queue[length+1]=arg;length+=2;if(length===2){scheduleFlush()}};var browserGlobal=typeof window!=="undefined"?window:{};var BrowserMutationObserver=browserGlobal.MutationObserver||browserGlobal.WebKitMutationObserver;var isWorker=typeof Uint8ClampedArray!=="undefined"&&typeof importScripts!=="undefined"&&typeof MessageChannel!=="undefined";function useNextTick(){return function(){process.nextTick(flush)}}function useMutationObserver(){var iterations=0;var observer=new BrowserMutationObserver(flush);var node=document.createTextNode("");observer.observe(node,{characterData:true});return function(){node.data=iterations=++iterations%2}}function useMessageChannel(){var channel=new MessageChannel;channel.port1.onmessage=flush;return function(){channel.port2.postMessage(0)}}function useSetTimeout(){return function(){setTimeout(flush,1)}}var queue=new Array(1e3);function flush(){for(var i=0;i<length;i+=2){var callback=queue[i];var arg=queue[i+1];callback(arg);queue[i]=undefined;queue[i+1]=undefined}length=0}var scheduleFlush;if(typeof process!=="undefined"&&{}.toString.call(process)==="[object process]"){scheduleFlush=useNextTick()}else if(BrowserMutationObserver){scheduleFlush=useMutationObserver()}else if(isWorker){scheduleFlush=useMessageChannel()}else{scheduleFlush=useSetTimeout()}});define("rsvp/config",["./events","exports"],function(__dependency1__,__exports__){"use strict";var EventTarget=__dependency1__["default"];var config={instrument:false};EventTarget.mixin(config);function configure(name,value){if(name==="onerror"){config.on("error",value);return}if(arguments.length===2){config[name]=value}else{return config[name]}}__exports__.config=config;__exports__.configure=configure});define("rsvp/defer",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function defer(label){var deferred={};deferred.promise=new Promise(function(resolve,reject){deferred.resolve=resolve;deferred.reject=reject},label);return deferred}});define("rsvp/enumerator",["./utils","./-internal","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var isArray=__dependency1__.isArray;var isMaybeThenable=__dependency1__.isMaybeThenable;var noop=__dependency2__.noop;var reject=__dependency2__.reject;var fulfill=__dependency2__.fulfill;var subscribe=__dependency2__.subscribe;var FULFILLED=__dependency2__.FULFILLED;var REJECTED=__dependency2__.REJECTED;var PENDING=__dependency2__.PENDING;var ABORT_ON_REJECTION=true;__exports__.ABORT_ON_REJECTION=ABORT_ON_REJECTION;function makeSettledResult(state,position,value){if(state===FULFILLED){return{state:"fulfilled",value:value}}else{return{state:"rejected",reason:value}}}__exports__.makeSettledResult=makeSettledResult;function Enumerator(Constructor,input,abortOnReject,label){this._instanceConstructor=Constructor;this.promise=new Constructor(noop,label);this._abortOnReject=abortOnReject;if(this._validateInput(input)){this._input=input;this.length=input.length;this._remaining=input.length;this._init();if(this.length===0){fulfill(this.promise,this._result)}else{this.length=this.length||0;this._enumerate();if(this._remaining===0){fulfill(this.promise,this._result)}}}else{reject(this.promise,this._validationError())}}Enumerator.prototype._validateInput=function(input){return isArray(input)};Enumerator.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")};Enumerator.prototype._init=function(){this._result=new Array(this.length)};__exports__["default"]=Enumerator;Enumerator.prototype._enumerate=function(){var length=this.length;var promise=this.promise;var input=this._input;for(var i=0;promise._state===PENDING&&i<length;i++){this._eachEntry(input[i],i)}};Enumerator.prototype._eachEntry=function(entry,i){var c=this._instanceConstructor;if(isMaybeThenable(entry)){if(entry.constructor===c&&entry._state!==PENDING){entry._onerror=null;this._settledAt(entry._state,i,entry._result)}else{this._willSettleAt(c.resolve(entry),i)}}else{this._remaining--;this._result[i]=this._makeResult(FULFILLED,i,entry)}};Enumerator.prototype._settledAt=function(state,i,value){var promise=this.promise;if(promise._state===PENDING){this._remaining--;if(this._abortOnReject&&state===REJECTED){reject(promise,value)}else{this._result[i]=this._makeResult(state,i,value)}}if(this._remaining===0){fulfill(promise,this._result)}};Enumerator.prototype._makeResult=function(state,i,value){return value};Enumerator.prototype._willSettleAt=function(promise,i){var enumerator=this;subscribe(promise,undefined,function(value){enumerator._settledAt(FULFILLED,i,value)},function(reason){enumerator._settledAt(REJECTED,i,reason)})}});define("rsvp/events",["exports"],function(__exports__){"use strict";function indexOf(callbacks,callback){for(var i=0,l=callbacks.length;i<l;i++){if(callbacks[i]===callback){return i}}return-1}function callbacksFor(object){var callbacks=object._promiseCallbacks;if(!callbacks){callbacks=object._promiseCallbacks={}}return callbacks}__exports__["default"]={mixin:function(object){object.on=this.on;object.off=this.off;object.trigger=this.trigger;object._promiseCallbacks=undefined;return object},on:function(eventName,callback){var allCallbacks=callbacksFor(this),callbacks;callbacks=allCallbacks[eventName];if(!callbacks){callbacks=allCallbacks[eventName]=[]}if(indexOf(callbacks,callback)===-1){callbacks.push(callback)}},off:function(eventName,callback){var allCallbacks=callbacksFor(this),callbacks,index;if(!callback){allCallbacks[eventName]=[];return}callbacks=allCallbacks[eventName];index=indexOf(callbacks,callback);if(index!==-1){callbacks.splice(index,1)}},trigger:function(eventName,options){var allCallbacks=callbacksFor(this),callbacks,callbackTuple,callback,binding;if(callbacks=allCallbacks[eventName]){for(var i=0;i<callbacks.length;i++){callback=callbacks[i];callback(options)}}}}});define("rsvp/filter",["./promise","./utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Promise=__dependency1__["default"];var isFunction=__dependency2__.isFunction;var isMaybeThenable=__dependency2__.isMaybeThenable;__exports__["default"]=function filter(promises,filterFn,label){return Promise.all(promises,label).then(function(values){if(!isFunction(filterFn)){throw new TypeError("You must pass a function as filter's second argument.")}var length=values.length;var filtered=new Array(length);for(var i=0;i<length;i++){filtered[i]=filterFn(values[i])}return Promise.all(filtered,label).then(function(filtered$2){var results=new Array(length);var newLength=0;for(var i$2=0;i$2<length;i$2++){if(filtered$2[i$2]){results[newLength]=values[i$2];newLength++}}results.length=newLength;return results})})}});define("rsvp/hash-settled",["./promise","./enumerator","./promise-hash","./utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__exports__){"use strict";var Promise=__dependency1__["default"];var makeSettledResult=__dependency2__.makeSettledResult;var PromiseHash=__dependency3__["default"];var Enumerator=__dependency2__["default"];var o_create=__dependency4__.o_create;function HashSettled(Constructor,object,label){this._superConstructor(Constructor,object,false,label)}HashSettled.prototype=o_create(PromiseHash.prototype);HashSettled.prototype._superConstructor=Enumerator;HashSettled.prototype._makeResult=makeSettledResult;HashSettled.prototype._validationError=function(){return new Error("hashSettled must be called with an object")};__exports__["default"]=function hashSettled(object,label){return new HashSettled(Promise,object,label).promise}});define("rsvp/hash",["./promise","./promise-hash","./enumerator","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Promise=__dependency1__["default"];var PromiseHash=__dependency2__["default"];var ABORT_ON_REJECTION=__dependency3__.ABORT_ON_REJECTION;__exports__["default"]=function hash(object,label){return new PromiseHash(Promise,object,label).promise}});define("rsvp/instrument",["./config","./utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var config=__dependency1__.config;var now=__dependency2__.now;var queue=[];__exports__["default"]=function instrument(eventName,promise,child){if(1===queue.push({name:eventName,payload:{guid:promise._guidKey+promise._id,eventName:eventName,detail:promise._result,childGuid:child&&promise._guidKey+child._id,label:promise._label,timeStamp:now(),stack:new Error(promise._label).stack}})){setTimeout(function(){var entry;for(var i=0;i<queue.length;i++){entry=queue[i];config.trigger(entry.name,entry.payload)}queue.length=0},50)}}});define("rsvp/map",["./promise","./utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Promise=__dependency1__["default"];var isArray=__dependency2__.isArray;var isFunction=__dependency2__.isFunction;__exports__["default"]=function map(promises,mapFn,label){return Promise.all(promises,label).then(function(values){if(!isFunction(mapFn)){throw new TypeError("You must pass a function as map's second argument.")}var length=values.length;var results=new Array(length);for(var i=0;i<length;i++){results[i]=mapFn(values[i])}return Promise.all(results,label)})}});define("rsvp/node",["./promise","./utils","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var Promise=__dependency1__["default"];var isArray=__dependency2__.isArray;__exports__["default"]=function denodeify(nodeFunc,argumentNames){var asArray=argumentNames===true;var asHash=isArray(argumentNames);function denodeifiedFunction(){var length=arguments.length;var nodeArgs=new Array(length);for(var i=0;i<length;i++){nodeArgs[i]=arguments[i]}var thisArg;if(!asArray&&!asHash&&argumentNames){if(typeof console==="object"){console.warn("Deprecation: RSVP.denodeify() doesn't allow setting the "+'"this" binding anymore. Use yourFunction.bind(yourThis) instead.')}thisArg=argumentNames}else{thisArg=this}return Promise.all(nodeArgs).then(function(nodeArgs$2){return new Promise(resolver);function resolver(resolve,reject){function callback(){var length$2=arguments.length;var args=new Array(length$2);for(var i$2=0;i$2<length$2;i$2++){args[i$2]=arguments[i$2]}var error=args[0];var value=args[1];if(error){reject(error)}else if(asArray){resolve(args.slice(1))}else if(asHash){var obj={};var successArguments=args.slice(1);var name;var i$3;for(i$3=0;i$3<argumentNames.length;i$3++){name=argumentNames[i$3];obj[name]=successArguments[i$3]}resolve(obj)}else{resolve(value)}}nodeArgs$2.push(callback);nodeFunc.apply(thisArg,nodeArgs$2)}})}denodeifiedFunction.__proto__=nodeFunc;return denodeifiedFunction}});define("rsvp/promise-hash",["./enumerator","./-internal","./utils","exports"],function(__dependency1__,__dependency2__,__dependency3__,__exports__){"use strict";var Enumerator=__dependency1__["default"];var PENDING=__dependency2__.PENDING;var FULFILLED=__dependency2__.FULFILLED;var o_create=__dependency3__.o_create;function PromiseHash(Constructor,object,label){this._superConstructor(Constructor,object,true,label)}__exports__["default"]=PromiseHash;PromiseHash.prototype=o_create(Enumerator.prototype);PromiseHash.prototype._superConstructor=Enumerator;PromiseHash.prototype._init=function(){this._result={}};PromiseHash.prototype._validateInput=function(input){return input&&typeof input==="object"};PromiseHash.prototype._validationError=function(){return new Error("Promise.hash must be called with an object")};PromiseHash.prototype._enumerate=function(){var promise=this.promise;var input=this._input;var results=[];for(var key in input){if(promise._state===PENDING&&input.hasOwnProperty(key)){results.push({position:key,entry:input[key]})}}var length=results.length;this._remaining=length;var result;for(var i=0;promise._state===PENDING&&i<length;i++){result=results[i];this._eachEntry(result.entry,result.position)}}});define("rsvp/promise",["./config","./events","./instrument","./utils","./-internal","./promise/cast","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__exports__){"use strict";var config=__dependency1__.config;var EventTarget=__dependency2__["default"];var instrument=__dependency3__["default"];var objectOrFunction=__dependency4__.objectOrFunction;var isFunction=__dependency4__.isFunction;var now=__dependency4__.now;var noop=__dependency5__.noop;var resolve=__dependency5__.resolve;var reject=__dependency5__.reject;var fulfill=__dependency5__.fulfill;var subscribe=__dependency5__.subscribe;var initializePromise=__dependency5__.initializePromise;var invokeCallback=__dependency5__.invokeCallback;var FULFILLED=__dependency5__.FULFILLED;var cast=__dependency6__["default"];var all=__dependency7__["default"];var race=__dependency8__["default"];var Resolve=__dependency9__["default"];var Reject=__dependency10__["default"];var guidKey="rsvp_"+now()+"-";var counter=0;function needsResolver(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function needsNew(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}__exports__["default"]=Promise;function Promise(resolver,label){this._id=counter++;this._label=label;this._subscribers=[];if(config.instrument){instrument("created",this)}if(noop!==resolver){if(!isFunction(resolver)){needsResolver()}if(!(this instanceof Promise)){needsNew()}initializePromise(this,resolver)}}Promise.cast=cast;Promise.all=all;Promise.race=race;Promise.resolve=Resolve;Promise.reject=Reject;Promise.prototype={constructor:Promise,_id:undefined,_guidKey:guidKey,_label:undefined,_state:undefined,_result:undefined,_subscribers:undefined,_onerror:function(reason){config.trigger("error",reason)},then:function(onFulfillment,onRejection,label){var parent=this;parent._onerror=null;var child=new this.constructor(noop,label);var state=parent._state;var result=parent._result;if(config.instrument){instrument("chained",parent,child)}if(state===FULFILLED&&onFulfillment){config.async(function(){invokeCallback(state,child,onFulfillment,result)})}else{subscribe(parent,child,onFulfillment,onRejection)}return child},"catch":function(onRejection,label){return this.then(null,onRejection,label)},"finally":function(callback,label){var constructor=this.constructor;return this.then(function(value){return constructor.resolve(callback()).then(function(){return value})},function(reason){return constructor.resolve(callback()).then(function(){throw reason})},label)}}});define("rsvp/promise/all",["../enumerator","exports"],function(__dependency1__,__exports__){"use strict";var Enumerator=__dependency1__["default"];__exports__["default"]=function all(entries,label){return new Enumerator(this,entries,true,label).promise}});define("rsvp/promise/cast",["./resolve","exports"],function(__dependency1__,__exports__){"use strict";var resolve=__dependency1__["default"];__exports__["default"]=resolve});define("rsvp/promise/race",["../utils","../-internal","exports"],function(__dependency1__,__dependency2__,__exports__){"use strict";var isArray=__dependency1__.isArray;var isFunction=__dependency1__.isFunction;var isMaybeThenable=__dependency1__.isMaybeThenable;var noop=__dependency2__.noop;var resolve=__dependency2__.resolve;var reject=__dependency2__.reject;var subscribe=__dependency2__.subscribe;var PENDING=__dependency2__.PENDING;__exports__["default"]=function race(entries,label){var Constructor=this,entry;var promise=new Constructor(noop,label);if(!isArray(entries)){reject(promise,new TypeError("You must pass an array to race."));return promise}var length=entries.length;function onFulfillment(value){resolve(promise,value)}function onRejection(reason){reject(promise,reason)}for(var i=0;promise._state===PENDING&&i<length;i++){subscribe(Constructor.resolve(entries[i]),undefined,onFulfillment,onRejection)}return promise}});define("rsvp/promise/reject",["../-internal","exports"],function(__dependency1__,__exports__){"use strict";var noop=__dependency1__.noop;var _reject=__dependency1__.reject;__exports__["default"]=function reject(reason,label){var Constructor=this;var promise=new Constructor(noop,label);_reject(promise,reason);return promise}});define("rsvp/promise/resolve",["../-internal","exports"],function(__dependency1__,__exports__){"use strict";var noop=__dependency1__.noop;var _resolve=__dependency1__.resolve;__exports__["default"]=function resolve(object,label){var Constructor=this;if(object&&typeof object==="object"&&object.constructor===Constructor){return object}var promise=new Constructor(noop,label);_resolve(promise,object);return promise}});define("rsvp/race",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function race(array,label){return Promise.race(array,label)}});define("rsvp/reject",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function reject(reason,label){return Promise.reject(reason,label)}});define("rsvp/resolve",["./promise","exports"],function(__dependency1__,__exports__){"use strict";var Promise=__dependency1__["default"];__exports__["default"]=function resolve(value,label){return Promise.resolve(value,label)}});define("rsvp/rethrow",["exports"],function(__exports__){"use strict";__exports__["default"]=function rethrow(reason){setTimeout(function(){throw reason});throw reason}});define("rsvp/utils",["exports"],function(__exports__){"use strict";function objectOrFunction(x){return typeof x==="function"||typeof x==="object"&&x!==null}__exports__.objectOrFunction=objectOrFunction;function isFunction(x){return typeof x==="function"}__exports__.isFunction=isFunction;
19
+ function isMaybeThenable(x){return typeof x==="object"&&x!==null}__exports__.isMaybeThenable=isMaybeThenable;var _isArray;if(!Array.isArray){_isArray=function(x){return Object.prototype.toString.call(x)==="[object Array]"}}else{_isArray=Array.isArray}var isArray=_isArray;__exports__.isArray=isArray;var now=Date.now||function(){return(new Date).getTime()};__exports__.now=now;var o_create=Object.create||function(object){var o=function(){};o.prototype=object;return o};__exports__.o_create=o_create});define("rsvp",["./rsvp/promise","./rsvp/events","./rsvp/node","./rsvp/all","./rsvp/all-settled","./rsvp/race","./rsvp/hash","./rsvp/hash-settled","./rsvp/rethrow","./rsvp/defer","./rsvp/config","./rsvp/map","./rsvp/resolve","./rsvp/reject","./rsvp/filter","./rsvp/asap","exports"],function(__dependency1__,__dependency2__,__dependency3__,__dependency4__,__dependency5__,__dependency6__,__dependency7__,__dependency8__,__dependency9__,__dependency10__,__dependency11__,__dependency12__,__dependency13__,__dependency14__,__dependency15__,__dependency16__,__exports__){"use strict";var Promise=__dependency1__["default"];var EventTarget=__dependency2__["default"];var denodeify=__dependency3__["default"];var all=__dependency4__["default"];var allSettled=__dependency5__["default"];var race=__dependency6__["default"];var hash=__dependency7__["default"];var hashSettled=__dependency8__["default"];var rethrow=__dependency9__["default"];var defer=__dependency10__["default"];var config=__dependency11__.config;var configure=__dependency11__.configure;var map=__dependency12__["default"];var resolve=__dependency13__["default"];var reject=__dependency14__["default"];var filter=__dependency15__["default"];var asap=__dependency16__["default"];config.async=asap;function async(callback,arg){config.async(callback,arg)}function on(){config.on.apply(config,arguments)}function off(){config.off.apply(config,arguments)}if(typeof window!=="undefined"&&typeof window.__PROMISE_INSTRUMENTATION__==="object"){var callbacks=window.__PROMISE_INSTRUMENTATION__;configure("instrument",true);for(var eventName in callbacks){if(callbacks.hasOwnProperty(eventName)){on(eventName,callbacks[eventName])}}}__exports__.Promise=Promise;__exports__.EventTarget=EventTarget;__exports__.all=all;__exports__.allSettled=allSettled;__exports__.race=race;__exports__.hash=hash;__exports__.hashSettled=hashSettled;__exports__.rethrow=rethrow;__exports__.defer=defer;__exports__.denodeify=denodeify;__exports__.configure=configure;__exports__.on=on;__exports__.off=off;__exports__.resolve=resolve;__exports__.reject=reject;__exports__.async=async;__exports__.map=map;__exports__.filter=filter});requireModule("ember")})();
@@ -5,7 +5,7 @@
5
5
  * Portions Copyright 2008-2011 Apple Inc. All rights reserved.
6
6
  * @license Licensed under MIT license
7
7
  * See https://raw.github.com/emberjs/ember.js/master/LICENSE
8
- * @version 1.7.0-beta.1
8
+ * @version 1.7.0-beta.2
9
9
  */
10
10
 
11
11
  (function() {
@@ -1845,7 +1845,7 @@ define("ember-application",
1845
1845
 
1846
1846
  var DAG = __dependency3__["default"];
1847
1847
  var Resolver = __dependency4__.Resolver;
1848
- var DefaultResolver = __dependency4__.default;
1848
+ var DefaultResolver = __dependency4__["default"];
1849
1849
  var Application = __dependency5__["default"];
1850
1850
  // side effect of extending ControllerMixin
1851
1851
 
@@ -7238,7 +7238,7 @@ define("ember-handlebars/helpers/binding",
7238
7238
  localizedOptions.hash.keywordPath = contextPath;
7239
7239
 
7240
7240
  bindContext = this;
7241
- context = path;
7241
+ context = contextPath;
7242
7242
  options = localizedOptions;
7243
7243
  preserveContext = true;
7244
7244
  } else {
@@ -9143,10 +9143,10 @@ define("ember-handlebars/helpers/view",
9143
9143
  function viewHelper(path, options) {
9144
9144
 
9145
9145
  // If no path is provided, treat path param as options
9146
- // and get an instance of the registered `view:default`
9146
+ // and get an instance of the registered `view:toplevel`
9147
9147
  if (path && path.data && path.data.isRenderData) {
9148
9148
  options = path;
9149
- path = options.data.view.container.lookupFactory('view:default');
9149
+ path = options.data.view.container.lookupFactory('view:toplevel');
9150
9150
  }
9151
9151
 
9152
9152
  options.helperName = options.helperName || 'view';
@@ -9917,8 +9917,8 @@ define("ember-handlebars/views/metamorph_view",
9917
9917
  __exports__._SimpleMetamorphView = _SimpleMetamorphView;__exports__["default"] = View.extend(_Metamorph);
9918
9918
  });
9919
9919
  define("ember-metal",
9920
- ["ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","exports"],
9921
- function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __dependency16__, __dependency17__, __dependency18__, __dependency19__, __dependency20__, __dependency21__, __dependency22__, __dependency23__, __dependency24__, __dependency25__, __dependency26__, __dependency27__, __dependency28__, __dependency29__, __dependency30__, __dependency31__, __dependency32__, __exports__) {
9920
+ ["ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/computed_macros","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","exports"],
9921
+ function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __dependency16__, __dependency17__, __dependency18__, __dependency19__, __dependency20__, __dependency21__, __dependency22__, __dependency23__, __dependency24__, __dependency25__, __dependency26__, __dependency27__, __dependency28__, __dependency29__, __dependency30__, __dependency31__, __dependency32__, __dependency33__, __exports__) {
9922
9922
  "use strict";
9923
9923
  /**
9924
9924
  Ember Metal
@@ -10020,35 +10020,37 @@ define("ember-metal",
10020
10020
  var computed = __dependency24__.computed;
10021
10021
  var cacheFor = __dependency24__.cacheFor;
10022
10022
 
10023
- var addObserver = __dependency25__.addObserver;
10024
- var observersFor = __dependency25__.observersFor;
10025
- var removeObserver = __dependency25__.removeObserver;
10026
- var addBeforeObserver = __dependency25__.addBeforeObserver;
10027
- var _suspendBeforeObserver = __dependency25__._suspendBeforeObserver;
10028
- var _suspendObserver = __dependency25__._suspendObserver;
10029
- var _suspendBeforeObservers = __dependency25__._suspendBeforeObservers;
10030
- var _suspendObservers = __dependency25__._suspendObservers;
10031
- var beforeObserversFor = __dependency25__.beforeObserversFor;
10032
- var removeBeforeObserver = __dependency25__.removeBeforeObserver;
10033
- var IS_BINDING = __dependency26__.IS_BINDING;
10034
- var mixin = __dependency26__.mixin;
10035
- var Mixin = __dependency26__.Mixin;
10036
- var required = __dependency26__.required;
10037
- var aliasMethod = __dependency26__.aliasMethod;
10038
- var observer = __dependency26__.observer;
10039
- var immediateObserver = __dependency26__.immediateObserver;
10040
- var beforeObserver = __dependency26__.beforeObserver;
10041
- var Binding = __dependency27__.Binding;
10042
- var isGlobalPath = __dependency27__.isGlobalPath;
10043
- var bind = __dependency27__.bind;
10044
- var oneWay = __dependency27__.oneWay;
10045
- var run = __dependency28__["default"];
10046
- var libraries = __dependency29__["default"];
10047
- var isNone = __dependency30__.isNone;
10048
- var none = __dependency30__.none;
10049
- var isEmpty = __dependency31__.isEmpty;
10050
- var empty = __dependency31__.empty;
10051
- var isBlank = __dependency32__["default"];
10023
+ // side effect of defining the computed.* macros
10024
+
10025
+ var addObserver = __dependency26__.addObserver;
10026
+ var observersFor = __dependency26__.observersFor;
10027
+ var removeObserver = __dependency26__.removeObserver;
10028
+ var addBeforeObserver = __dependency26__.addBeforeObserver;
10029
+ var _suspendBeforeObserver = __dependency26__._suspendBeforeObserver;
10030
+ var _suspendObserver = __dependency26__._suspendObserver;
10031
+ var _suspendBeforeObservers = __dependency26__._suspendBeforeObservers;
10032
+ var _suspendObservers = __dependency26__._suspendObservers;
10033
+ var beforeObserversFor = __dependency26__.beforeObserversFor;
10034
+ var removeBeforeObserver = __dependency26__.removeBeforeObserver;
10035
+ var IS_BINDING = __dependency27__.IS_BINDING;
10036
+ var mixin = __dependency27__.mixin;
10037
+ var Mixin = __dependency27__.Mixin;
10038
+ var required = __dependency27__.required;
10039
+ var aliasMethod = __dependency27__.aliasMethod;
10040
+ var observer = __dependency27__.observer;
10041
+ var immediateObserver = __dependency27__.immediateObserver;
10042
+ var beforeObserver = __dependency27__.beforeObserver;
10043
+ var Binding = __dependency28__.Binding;
10044
+ var isGlobalPath = __dependency28__.isGlobalPath;
10045
+ var bind = __dependency28__.bind;
10046
+ var oneWay = __dependency28__.oneWay;
10047
+ var run = __dependency29__["default"];
10048
+ var libraries = __dependency30__["default"];
10049
+ var isNone = __dependency31__.isNone;
10050
+ var none = __dependency31__.none;
10051
+ var isEmpty = __dependency32__.isEmpty;
10052
+ var empty = __dependency32__.empty;
10053
+ var isBlank = __dependency33__["default"];
10052
10054
  // END IMPORTS
10053
10055
 
10054
10056
  // BEGIN EXPORTS
@@ -10231,6 +10233,81 @@ define("ember-metal",
10231
10233
 
10232
10234
  __exports__["default"] = Ember;
10233
10235
  });
10236
+ define("ember-metal/alias",
10237
+ ["ember-metal/property_get","ember-metal/property_set","ember-metal/error","ember-metal/properties","ember-metal/platform","ember-metal/utils","ember-metal/dependent_keys","exports"],
10238
+ function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __exports__) {
10239
+ "use strict";
10240
+ var get = __dependency1__.get;
10241
+ var set = __dependency2__.set;
10242
+ var EmberError = __dependency3__["default"];
10243
+ var Descriptor = __dependency4__.Descriptor;
10244
+ var defineProperty = __dependency4__.defineProperty;
10245
+ var create = __dependency5__.create;
10246
+ var meta = __dependency6__.meta;
10247
+ var inspect = __dependency6__.inspect;
10248
+ var addDependentKeys = __dependency7__.addDependentKeys;
10249
+ var removeDependentKeys = __dependency7__.removeDependentKeys;
10250
+
10251
+ function alias(altKey) {
10252
+ return new AliasedProperty(altKey);
10253
+ }
10254
+
10255
+ __exports__.alias = alias;function AliasedProperty(altKey) {
10256
+ this.altKey = altKey;
10257
+ this._dependentKeys = [ altKey ];
10258
+ }
10259
+
10260
+ __exports__.AliasedProperty = AliasedProperty;AliasedProperty.prototype = create(Descriptor.prototype);
10261
+
10262
+ AliasedProperty.prototype.get = function AliasedProperty_get(obj, keyName) {
10263
+ return get(obj, this.altKey);
10264
+ };
10265
+
10266
+ AliasedProperty.prototype.set = function AliasedProperty_set(obj, keyName, value) {
10267
+ return set(obj, this.altKey, value);
10268
+ };
10269
+
10270
+ AliasedProperty.prototype.willWatch = function(obj, keyName) {
10271
+ addDependentKeys(this, obj, keyName, meta(obj));
10272
+ };
10273
+
10274
+ AliasedProperty.prototype.didUnwatch = function(obj, keyName) {
10275
+ removeDependentKeys(this, obj, keyName, meta(obj));
10276
+ };
10277
+
10278
+ AliasedProperty.prototype.setup = function(obj, keyName) {
10279
+ var m = meta(obj);
10280
+ if (m.watching[keyName]) {
10281
+ addDependentKeys(this, obj, keyName, m);
10282
+ }
10283
+ };
10284
+
10285
+ AliasedProperty.prototype.teardown = function(obj, keyName) {
10286
+ var m = meta(obj);
10287
+ if (m.watching[keyName]) {
10288
+ removeDependentKeys(this, obj, keyName, m);
10289
+ }
10290
+ };
10291
+
10292
+ AliasedProperty.prototype.readOnly = function() {
10293
+ this.set = AliasedProperty_readOnlySet;
10294
+ return this;
10295
+ };
10296
+
10297
+ function AliasedProperty_readOnlySet(obj, keyName, value) {
10298
+ throw new EmberError('Cannot set read-only property "' + keyName + '" on object: ' + inspect(obj));
10299
+ }
10300
+
10301
+ AliasedProperty.prototype.oneWay = function() {
10302
+ this.set = AliasedProperty_oneWaySet;
10303
+ return this;
10304
+ };
10305
+
10306
+ function AliasedProperty_oneWaySet(obj, keyName, value) {
10307
+ defineProperty(obj, keyName, null);
10308
+ return set(obj, keyName, value);
10309
+ }
10310
+ });
10234
10311
  define("ember-metal/array",
10235
10312
  ["exports"],
10236
10313
  function(__exports__) {
@@ -11176,29 +11253,23 @@ define("ember-metal/chains",
11176
11253
  __exports__.ChainNode = ChainNode;
11177
11254
  });
11178
11255
  define("ember-metal/computed",
11179
- ["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/enumerable_utils","ember-metal/platform","ember-metal/watching","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/is_empty","ember-metal/is_none","exports"],
11180
- function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __exports__) {
11256
+ ["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/dependent_keys","exports"],
11257
+ function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __exports__) {
11181
11258
  "use strict";
11182
11259
  var Ember = __dependency1__["default"];
11183
11260
  var get = __dependency2__.get;
11184
11261
  var set = __dependency3__.set;
11185
11262
  var meta = __dependency4__.meta;
11186
11263
  var META_KEY = __dependency4__.META_KEY;
11187
- var guidFor = __dependency4__.guidFor;
11188
- var typeOf = __dependency4__.typeOf;
11189
11264
  var inspect = __dependency4__.inspect;
11190
- var EnumerableUtils = __dependency5__["default"];
11191
- var create = __dependency6__.create;
11192
- var watch = __dependency7__.watch;
11193
- var unwatch = __dependency7__.unwatch;
11194
- var expandProperties = __dependency8__["default"];
11195
- var EmberError = __dependency9__["default"];
11196
- var Descriptor = __dependency10__.Descriptor;
11197
- var defineProperty = __dependency10__.defineProperty;
11198
- var propertyWillChange = __dependency11__.propertyWillChange;
11199
- var propertyDidChange = __dependency11__.propertyDidChange;
11200
- var isEmpty = __dependency12__["default"];
11201
- var isNone = __dependency13__.isNone;
11265
+ var expandProperties = __dependency5__["default"];
11266
+ var EmberError = __dependency6__["default"];
11267
+ var Descriptor = __dependency7__.Descriptor;
11268
+ var defineProperty = __dependency7__.defineProperty;
11269
+ var propertyWillChange = __dependency8__.propertyWillChange;
11270
+ var propertyDidChange = __dependency8__.propertyDidChange;
11271
+ var addDependentKeys = __dependency9__.addDependentKeys;
11272
+ var removeDependentKeys = __dependency9__.removeDependentKeys;
11202
11273
 
11203
11274
  /**
11204
11275
  @module ember-metal
@@ -11207,84 +11278,10 @@ define("ember-metal/computed",
11207
11278
 
11208
11279
 
11209
11280
  var metaFor = meta,
11210
- a_slice = [].slice,
11211
- o_create = create;
11281
+ a_slice = [].slice;
11212
11282
 
11213
11283
  function UNDEFINED() { }
11214
11284
 
11215
- var lengthPattern = /\.(length|\[\])$/;
11216
-
11217
- // ..........................................................
11218
- // DEPENDENT KEYS
11219
- //
11220
-
11221
- // data structure:
11222
- // meta.deps = {
11223
- // 'depKey': {
11224
- // 'keyName': count,
11225
- // }
11226
- // }
11227
-
11228
- /*
11229
- This function returns a map of unique dependencies for a
11230
- given object and key.
11231
- */
11232
- function keysForDep(depsMeta, depKey) {
11233
- var keys = depsMeta[depKey];
11234
- if (!keys) {
11235
- // if there are no dependencies yet for a the given key
11236
- // create a new empty list of dependencies for the key
11237
- keys = depsMeta[depKey] = {};
11238
- } else if (!depsMeta.hasOwnProperty(depKey)) {
11239
- // otherwise if the dependency list is inherited from
11240
- // a superclass, clone the hash
11241
- keys = depsMeta[depKey] = o_create(keys);
11242
- }
11243
- return keys;
11244
- }
11245
-
11246
- function metaForDeps(meta) {
11247
- return keysForDep(meta, 'deps');
11248
- }
11249
-
11250
- function addDependentKeys(desc, obj, keyName, meta) {
11251
- // the descriptor has a list of dependent keys, so
11252
- // add all of its dependent keys.
11253
- var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
11254
- if (!depKeys) return;
11255
-
11256
- depsMeta = metaForDeps(meta);
11257
-
11258
- for(idx = 0, len = depKeys.length; idx < len; idx++) {
11259
- depKey = depKeys[idx];
11260
- // Lookup keys meta for depKey
11261
- keys = keysForDep(depsMeta, depKey);
11262
- // Increment the number of times depKey depends on keyName.
11263
- keys[keyName] = (keys[keyName] || 0) + 1;
11264
- // Watch the depKey
11265
- watch(obj, depKey, meta);
11266
- }
11267
- }
11268
-
11269
- function removeDependentKeys(desc, obj, keyName, meta) {
11270
- // the descriptor has a list of dependent keys, so
11271
- // remove all of its dependent keys.
11272
- var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
11273
- if (!depKeys) return;
11274
-
11275
- depsMeta = metaForDeps(meta);
11276
-
11277
- for(idx = 0, len = depKeys.length; idx < len; idx++) {
11278
- depKey = depKeys[idx];
11279
- // Lookup keys meta for depKey
11280
- keys = keysForDep(depsMeta, depKey);
11281
- // Decrement the number of times depKey depends on keyName.
11282
- keys[keyName] = (keys[keyName] || 0) - 1;
11283
- // Unwatch the depKey
11284
- unwatch(obj, depKey, meta);
11285
- }
11286
- }
11287
-
11288
11285
  // ..........................................................
11289
11286
  // COMPUTED PROPERTY
11290
11287
  //
@@ -11422,7 +11419,7 @@ define("ember-metal/computed",
11422
11419
  @return {Ember.ComputedProperty} this
11423
11420
  @chainable
11424
11421
  */
11425
- ComputedPropertyPrototype.volatile = function() {
11422
+ ComputedPropertyPrototype["volatile"] = function() {
11426
11423
  return this.cacheable(false);
11427
11424
  };
11428
11425
 
@@ -11778,6 +11775,28 @@ define("ember-metal/computed",
11778
11775
  cache[key] = undefined;
11779
11776
  };
11780
11777
 
11778
+ __exports__.ComputedProperty = ComputedProperty;
11779
+ __exports__.computed = computed;
11780
+ __exports__.cacheFor = cacheFor;
11781
+ });
11782
+ define("ember-metal/computed_macros",
11783
+ ["ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/is_empty","ember-metal/is_none","ember-metal/alias"],
11784
+ function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__) {
11785
+ "use strict";
11786
+ var Ember = __dependency1__["default"];
11787
+ var get = __dependency2__.get;
11788
+ var set = __dependency3__.set;
11789
+ var computed = __dependency4__.computed;
11790
+ var isEmpty = __dependency5__["default"];
11791
+ var isNone = __dependency6__.isNone;
11792
+ var alias = __dependency7__.alias;
11793
+
11794
+ /**
11795
+ @module ember-metal
11796
+ */
11797
+
11798
+ var a_slice = [].slice;
11799
+
11781
11800
  function getProperties(self, propertyNames) {
11782
11801
  var ret = {};
11783
11802
  for(var i = 0; i < propertyNames.length; i++) {
@@ -12315,15 +12334,7 @@ define("ember-metal/computed",
12315
12334
  @return {Ember.ComputedProperty} computed property which creates an
12316
12335
  alias to the original value for property.
12317
12336
  */
12318
- computed.alias = function(dependentKey) {
12319
- return computed(dependentKey, function(key, value) {
12320
- if (arguments.length > 1) {
12321
- set(this, dependentKey, value);
12322
- }
12323
-
12324
- return get(this, dependentKey);
12325
- });
12326
- };
12337
+ computed.alias = alias;
12327
12338
 
12328
12339
  /**
12329
12340
  Where `computed.alias` aliases `get` and `set`, and allows for bidirectional
@@ -12358,9 +12369,7 @@ define("ember-metal/computed",
12358
12369
  one way computed property to the original value for property.
12359
12370
  */
12360
12371
  computed.oneWay = function(dependentKey) {
12361
- return computed(dependentKey, function() {
12362
- return get(this, dependentKey);
12363
- });
12372
+ return alias(dependentKey).oneWay();
12364
12373
  };
12365
12374
 
12366
12375
 
@@ -12412,9 +12421,7 @@ define("ember-metal/computed",
12412
12421
  @since 1.5.0
12413
12422
  */
12414
12423
  computed.readOnly = function(dependentKey) {
12415
- return computed(dependentKey, function() {
12416
- return get(this, dependentKey);
12417
- }).readOnly();
12424
+ return alias(dependentKey).readOnly();
12418
12425
  };
12419
12426
  /**
12420
12427
  A computed property that acts like a standard getter and setter,
@@ -12475,10 +12482,6 @@ define("ember-metal/computed",
12475
12482
  }
12476
12483
  });
12477
12484
  };
12478
-
12479
- __exports__.ComputedProperty = ComputedProperty;
12480
- __exports__.computed = computed;
12481
- __exports__.cacheFor = cacheFor;
12482
12485
  });
12483
12486
  define("ember-metal/core",
12484
12487
  ["exports"],
@@ -12508,7 +12511,7 @@ define("ember-metal/core",
12508
12511
 
12509
12512
  @class Ember
12510
12513
  @static
12511
- @version 1.7.0-beta.1
12514
+ @version 1.7.0-beta.2
12512
12515
  */
12513
12516
 
12514
12517
  if ('undefined' === typeof Ember) {
@@ -12535,10 +12538,10 @@ define("ember-metal/core",
12535
12538
  /**
12536
12539
  @property VERSION
12537
12540
  @type String
12538
- @default '1.7.0-beta.1'
12541
+ @default '1.7.0-beta.2'
12539
12542
  @static
12540
12543
  */
12541
- Ember.VERSION = '1.7.0-beta.1';
12544
+ Ember.VERSION = '1.7.0-beta.2';
12542
12545
 
12543
12546
  /**
12544
12547
  Standard environmental variables. You can define these in a global `EmberENV`
@@ -12695,6 +12698,92 @@ define("ember-metal/core",
12695
12698
 
12696
12699
  __exports__["default"] = Ember;
12697
12700
  });
12701
+ define("ember-metal/dependent_keys",
12702
+ ["ember-metal/platform","ember-metal/watching","exports"],
12703
+ function(__dependency1__, __dependency2__, __exports__) {
12704
+ "use strict";
12705
+ var create = __dependency1__.create;
12706
+ var watch = __dependency2__.watch;
12707
+ var unwatch = __dependency2__.unwatch;
12708
+
12709
+ /**
12710
+ @module ember-metal
12711
+ */
12712
+
12713
+ var o_create = create;
12714
+
12715
+ // ..........................................................
12716
+ // DEPENDENT KEYS
12717
+ //
12718
+
12719
+ // data structure:
12720
+ // meta.deps = {
12721
+ // 'depKey': {
12722
+ // 'keyName': count,
12723
+ // }
12724
+ // }
12725
+
12726
+ /*
12727
+ This function returns a map of unique dependencies for a
12728
+ given object and key.
12729
+ */
12730
+ function keysForDep(depsMeta, depKey) {
12731
+ var keys = depsMeta[depKey];
12732
+ if (!keys) {
12733
+ // if there are no dependencies yet for a the given key
12734
+ // create a new empty list of dependencies for the key
12735
+ keys = depsMeta[depKey] = {};
12736
+ } else if (!depsMeta.hasOwnProperty(depKey)) {
12737
+ // otherwise if the dependency list is inherited from
12738
+ // a superclass, clone the hash
12739
+ keys = depsMeta[depKey] = o_create(keys);
12740
+ }
12741
+ return keys;
12742
+ }
12743
+
12744
+ function metaForDeps(meta) {
12745
+ return keysForDep(meta, 'deps');
12746
+ }
12747
+
12748
+ function addDependentKeys(desc, obj, keyName, meta) {
12749
+ // the descriptor has a list of dependent keys, so
12750
+ // add all of its dependent keys.
12751
+ var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
12752
+ if (!depKeys) return;
12753
+
12754
+ depsMeta = metaForDeps(meta);
12755
+
12756
+ for(idx = 0, len = depKeys.length; idx < len; idx++) {
12757
+ depKey = depKeys[idx];
12758
+ // Lookup keys meta for depKey
12759
+ keys = keysForDep(depsMeta, depKey);
12760
+ // Increment the number of times depKey depends on keyName.
12761
+ keys[keyName] = (keys[keyName] || 0) + 1;
12762
+ // Watch the depKey
12763
+ watch(obj, depKey, meta);
12764
+ }
12765
+ }
12766
+
12767
+ __exports__.addDependentKeys = addDependentKeys;function removeDependentKeys(desc, obj, keyName, meta) {
12768
+ // the descriptor has a list of dependent keys, so
12769
+ // remove all of its dependent keys.
12770
+ var depKeys = desc._dependentKeys, depsMeta, idx, len, depKey, keys;
12771
+ if (!depKeys) return;
12772
+
12773
+ depsMeta = metaForDeps(meta);
12774
+
12775
+ for(idx = 0, len = depKeys.length; idx < len; idx++) {
12776
+ depKey = depKeys[idx];
12777
+ // Lookup keys meta for depKey
12778
+ keys = keysForDep(depsMeta, depKey);
12779
+ // Decrement the number of times depKey depends on keyName.
12780
+ keys[keyName] = (keys[keyName] || 0) - 1;
12781
+ // Unwatch the depKey
12782
+ unwatch(obj, depKey, meta);
12783
+ }
12784
+ }
12785
+ __exports__.removeDependentKeys = removeDependentKeys;
12786
+ });
12698
12787
  define("ember-metal/enumerable_utils",
12699
12788
  ["ember-metal/array","exports"],
12700
12789
  function(__dependency1__, __exports__) {
@@ -15720,6 +15809,7 @@ define("ember-metal/properties",
15720
15809
  } else {
15721
15810
  obj[keyName] = undefined; // make enumerable
15722
15811
  }
15812
+ if (desc.setup) { desc.setup(obj, keyName); }
15723
15813
  } else {
15724
15814
  descs[keyName] = undefined; // shadow descriptor in proto
15725
15815
  if (desc == null) {
@@ -17827,6 +17917,9 @@ define("ember-metal/watch_key",
17827
17917
  if (!watching[keyName]) {
17828
17918
  watching[keyName] = 1;
17829
17919
 
17920
+ var desc = m.descs[keyName];
17921
+ if (desc && desc.willWatch) { desc.willWatch(obj, keyName); }
17922
+
17830
17923
  if ('function' === typeof obj.willWatchProperty) {
17831
17924
  obj.willWatchProperty(keyName);
17832
17925
  }
@@ -17851,6 +17944,9 @@ define("ember-metal/watch_key",
17851
17944
  if (watching[keyName] === 1) {
17852
17945
  watching[keyName] = 0;
17853
17946
 
17947
+ var desc = m.descs[keyName];
17948
+ if (desc && desc.didUnwatch) { desc.didUnwatch(obj, keyName); }
17949
+
17854
17950
  if ('function' === typeof obj.didUnwatchProperty) {
17855
17951
  obj.didUnwatchProperty(keyName);
17856
17952
  }
@@ -19512,7 +19608,7 @@ define("ember-routing-handlebars/helpers/render",
19512
19608
  var set = __dependency4__.set;
19513
19609
  var camelize = __dependency5__.camelize;
19514
19610
  var generateControllerFactory = __dependency6__.generateControllerFactory;
19515
- var generateController = __dependency6__.default;
19611
+ var generateController = __dependency6__["default"];
19516
19612
  var handlebarsGet = __dependency7__.handlebarsGet;
19517
19613
  var viewHelper = __dependency8__.viewHelper;
19518
19614
 
@@ -19771,8 +19867,8 @@ define("ember-routing-handlebars/helpers/shared",
19771
19867
  __exports__.resolvePaths = resolvePaths;
19772
19868
  });
19773
19869
  define("ember-routing",
19774
- ["ember-handlebars","ember-metal/core","ember-routing/ext/run_loop","ember-routing/ext/controller","ember-routing/ext/view","ember-routing/location/api","ember-routing/location/none_location","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/system/controller_for","ember-routing/system/dsl","ember-routing/system/router","ember-routing/system/route","exports"],
19775
- function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __exports__) {
19870
+ ["ember-handlebars","ember-metal/core","ember-routing/ext/run_loop","ember-routing/ext/controller","ember-routing/ext/view","ember-routing/location/api","ember-routing/location/none_location","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/system/generate_controller","ember-routing/system/controller_for","ember-routing/system/dsl","ember-routing/system/router","ember-routing/system/route","exports"],
19871
+ function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __dependency10__, __dependency11__, __dependency12__, __dependency13__, __dependency14__, __dependency15__, __exports__) {
19776
19872
  "use strict";
19777
19873
  /**
19778
19874
  Ember Routing
@@ -19793,12 +19889,12 @@ define("ember-routing",
19793
19889
  var HistoryLocation = __dependency9__["default"];
19794
19890
  var AutoLocation = __dependency10__["default"];
19795
19891
 
19796
- var controllerFor = __dependency11__.controllerFor;
19797
19892
  var generateControllerFactory = __dependency11__.generateControllerFactory;
19798
- var generateController = __dependency11__.generateController;
19799
- var RouterDSL = __dependency12__["default"];
19800
- var Router = __dependency13__["default"];
19801
- var Route = __dependency14__["default"];
19893
+ var generateController = __dependency11__["default"];
19894
+ var controllerFor = __dependency12__["default"];
19895
+ var RouterDSL = __dependency13__["default"];
19896
+ var Router = __dependency14__["default"];
19897
+ var Route = __dependency15__["default"];
19802
19898
 
19803
19899
  Ember.Location = EmberLocation;
19804
19900
  Ember.AutoLocation = AutoLocation;
@@ -22873,55 +22969,122 @@ define("ember-routing/system/route",
22873
22969
  },
22874
22970
 
22875
22971
  /**
22876
- Renders a template into an outlet.
22972
+ `render` is used to render a template into a region of another template
22973
+ (indicated by an `{{outlet}}`). `render` is used both during the entry
22974
+ phase of routing (via the `renderTemplate` hook) and later in response to
22975
+ user interaction.
22877
22976
 
22878
- This method has a number of defaults, based on the name of the
22879
- route specified in the router.
22977
+ For example, given the following minimal router and templates:
22880
22978
 
22881
- For example:
22979
+ ```js
22980
+ Router.map(function() {
22981
+ this.resource('photos');
22982
+ });
22983
+ ```
22984
+
22985
+ ```handlebars
22986
+ <!-- application.hbs -->
22987
+ <div class='something-in-the-app-hbs'>
22988
+ {{outlet "anOutletName"}}
22989
+ </div>
22990
+ ```
22991
+
22992
+ ```handlebars
22993
+ <!-- photos.hbs -->
22994
+ <h1>Photos</h1>
22995
+ ```
22996
+
22997
+ You can render `photos.hbs` into the `"anOutletName"` outlet of
22998
+ `application.hbs` by calling `render`:
22882
22999
 
22883
23000
  ```js
22884
- App.Router.map(function() {
22885
- this.route('index');
22886
- this.resource('post', {path: '/posts/:post_id'});
23001
+ // posts route
23002
+ Ember.Route.extend({
23003
+ renderTemplate: function(){
23004
+ this.render('posts', {
23005
+ into: 'application',
23006
+ outlet: 'anOutletName'
23007
+ })
23008
+ }
22887
23009
  });
23010
+ ```
22888
23011
 
22889
- App.PostRoute = App.Route.extend({
22890
- renderTemplate: function() {
22891
- this.render();
23012
+ `render` additionally allows you to supply which `view`, `controller`, and
23013
+ `model` objects should be loaded and associated with the rendered template.
23014
+
23015
+
23016
+ ```js
23017
+ // posts route
23018
+ Ember.Route.extend({
23019
+ renderTemplate: function(controller, model){
23020
+ this.render('posts', { // the template to render, referenced by name
23021
+ into: 'application', // the template to render into, referenced by name
23022
+ outlet: 'anOutletName', // the outlet inside `options.template` to render into.
23023
+ view: 'aViewName', // the view to use for this template, referenced by name
23024
+ controller: 'someControllerName', // the controller to use for this template, referenced by name
23025
+ model: model // the model to set on `options.controller`.
23026
+ })
22892
23027
  }
22893
23028
  });
22894
23029
  ```
22895
23030
 
22896
- The name of the `PostRoute`, as defined by the router, is `post`.
23031
+ The string values provided for the template name, view, and controller
23032
+ will eventually pass through to the resolver for lookup. See
23033
+ Ember.Resolver for how these are mapped to JavaScript objects in your
23034
+ application.
22897
23035
 
22898
- By default, render will:
23036
+ Not all options need to be passed to `render`. Default values will be used
23037
+ based on the name of the route specified in the router or the Route's
23038
+ `controllerName`, `viewName` and and `templateName` properties.
22899
23039
 
22900
- * render the `post` template
22901
- * with the `post` view (`PostView`) for event handling, if one exists
22902
- * and the `post` controller (`PostController`), if one exists
22903
- * into the `main` outlet of the `application` template
23040
+ For example:
22904
23041
 
22905
- You can override this behavior:
23042
+ ```js
23043
+ // router
23044
+ Router.map(function() {
23045
+ this.route('index');
23046
+ this.resource('post', {path: '/posts/:post_id'});
23047
+ });
23048
+ ```
22906
23049
 
22907
23050
  ```js
22908
- App.PostRoute = App.Route.extend({
23051
+ // post route
23052
+ PostRoute = App.Route.extend({
22909
23053
  renderTemplate: function() {
22910
- this.render('myPost', { // the template to render
22911
- into: 'index', // the template to render into
22912
- outlet: 'detail', // the name of the outlet in that template
22913
- controller: 'blogPost' // the controller to use for the template
22914
- });
23054
+ this.render(); // all defaults apply
22915
23055
  }
22916
23056
  });
22917
23057
  ```
22918
23058
 
22919
- Remember that the controller's `model` will be the route's model. In
22920
- this case, the default model will be `App.Post.find(params.post_id)`.
23059
+ The name of the `PostRoute`, defined by the router, is `post`.
23060
+
23061
+ The following equivalent default options will be applied when
23062
+ the Route calls `render`:
23063
+
23064
+ ```js
23065
+ //
23066
+ this.render('post', { // the template name associated with 'post' Route
23067
+ into: 'application', // the parent route to 'post' Route
23068
+ outlet: 'main', // {{outlet}} and {{outlet 'main' are synonymous}},
23069
+ view: 'post', // the view associated with the 'post' Route
23070
+ controller: 'post', // the controller associated with the 'post' Route
23071
+ })
23072
+ ```
23073
+
23074
+ By default the controller's `model` will be the route's model, so it does not
23075
+ need to be passed unless you wish to change which model is being used.
22921
23076
 
22922
23077
  @method render
22923
23078
  @param {String} name the name of the template to render
22924
23079
  @param {Object} options the options
23080
+ @param {String} options.into the template to render into,
23081
+ referenced by name. Defaults to the parent template
23082
+ @param {String} options.outlet the outlet inside `options.template` to render into.
23083
+ Defaults to 'main'
23084
+ @param {String} options.controller the controller to use for this template,
23085
+ referenced by name. Defaults to the Route's paired controller
23086
+ @param {String} options.model the model object to set on `options.controller`
23087
+ Defaults to the return value of the Route's model hook
22925
23088
  */
22926
23089
  render: function(name, options) {
22927
23090
 
@@ -22933,6 +23096,7 @@ define("ember-routing/system/route",
22933
23096
  }
22934
23097
 
22935
23098
  options = options || {};
23099
+ options.namePassed = namePassed;
22936
23100
 
22937
23101
  var templateName;
22938
23102
 
@@ -23359,10 +23523,10 @@ define("ember-routing/system/route",
23359
23523
 
23360
23524
  if (options.controller) {
23361
23525
  controller = options.controller;
23362
- } else if (namedController = route.container.lookup('controller:' + name)) {
23363
- controller = namedController;
23526
+ } else if (options.namePassed) {
23527
+ controller = route.container.lookup('controller:' + name) || route.controllerName || route.routeName;
23364
23528
  } else {
23365
- controller = route.controllerName || route.routeName;
23529
+ controller = route.controllerName || route.container.lookup('controller:' + name);
23366
23530
  }
23367
23531
 
23368
23532
  if (typeof controller === 'string') {
@@ -23729,7 +23893,7 @@ define("ember-routing/system/router",
23729
23893
  var location = get(this, 'location');
23730
23894
  var rootURL = get(this, 'rootURL');
23731
23895
 
23732
- if (rootURL && !this.container.has('-location-setting:root-url')) {
23896
+ if (rootURL && this.container && !this.container.has('-location-setting:root-url')) {
23733
23897
  this.container.register('-location-setting:root-url', rootURL, { instantiate: false });
23734
23898
  }
23735
23899
 
@@ -24048,16 +24212,7 @@ define("ember-routing/system/router",
24048
24212
  return;
24049
24213
  }
24050
24214
 
24051
- var errorArgs = ['Error while processing route: ' + transition.targetName];
24052
-
24053
- if (error) {
24054
- if (error.message) { errorArgs.push(error.message); }
24055
- if (error.stack) { errorArgs.push(error.stack); }
24056
-
24057
- if (typeof error === "string") { errorArgs.push(error); }
24058
- }
24059
-
24060
- Ember.Logger.error.apply(this, errorArgs);
24215
+ logError(error, 'Error while processing route: ' + transition.targetName);
24061
24216
  },
24062
24217
 
24063
24218
  loading: function(transition, originRoute) {
@@ -24088,6 +24243,21 @@ define("ember-routing/system/router",
24088
24243
  }
24089
24244
  };
24090
24245
 
24246
+ function logError(error, initialMessage) {
24247
+ var errorArgs = [];
24248
+
24249
+ if (initialMessage) { errorArgs.push(initialMessage); }
24250
+
24251
+ if (error) {
24252
+ if (error.message) { errorArgs.push(error.message); }
24253
+ if (error.stack) { errorArgs.push(error.stack); }
24254
+
24255
+ if (typeof error === "string") { errorArgs.push(error); }
24256
+ }
24257
+
24258
+ Ember.Logger.error.apply(this, errorArgs);
24259
+ }
24260
+
24091
24261
  function findChildRouteName(parentRoute, originatingChildRoute, name) {
24092
24262
  var router = parentRoute.router;
24093
24263
  var childName;
@@ -24259,7 +24429,7 @@ define("ember-routing/system/router",
24259
24429
  } else if (error.name === 'TransitionAborted') {
24260
24430
  // just ignore TransitionAborted here
24261
24431
  } else {
24262
- throw error;
24432
+ logError(error);
24263
24433
  }
24264
24434
 
24265
24435
  return error;
@@ -34761,11 +34931,11 @@ define("ember-testing/helpers",
34761
34931
  run(app, app.handleURL, url);
34762
34932
  }
34763
34933
 
34764
- return wait(app);
34934
+ return app.testHelpers.wait();
34765
34935
  }
34766
34936
 
34767
34937
  function click(app, selector, context) {
34768
- var $el = findWithAssert(app, selector, context);
34938
+ var $el = app.testHelpers.findWithAssert(selector, context);
34769
34939
  run($el, 'mousedown');
34770
34940
 
34771
34941
  if ($el.is(':input')) {
@@ -34787,11 +34957,12 @@ define("ember-testing/helpers",
34787
34957
  run($el, 'mouseup');
34788
34958
  run($el, 'click');
34789
34959
 
34790
- return wait(app);
34960
+ return app.testHelpers.wait();
34791
34961
  }
34792
34962
 
34793
34963
  function triggerEvent(app, selector, context, type, options){
34794
34964
  if (arguments.length === 3) {
34965
+ options = type;
34795
34966
  type = context;
34796
34967
  context = null;
34797
34968
  }
@@ -34800,13 +34971,13 @@ define("ember-testing/helpers",
34800
34971
  options = {};
34801
34972
  }
34802
34973
 
34803
- var $el = findWithAssert(app, selector, context);
34974
+ var $el = app.testHelpers.findWithAssert(selector, context);
34804
34975
 
34805
34976
  var event = jQuery.Event(type, options);
34806
34977
 
34807
34978
  run($el, 'trigger', event);
34808
34979
 
34809
- return wait(app);
34980
+ return app.testHelpers.wait();
34810
34981
  }
34811
34982
 
34812
34983
  function keyEvent(app, selector, context, type, keyCode) {
@@ -34816,7 +34987,7 @@ define("ember-testing/helpers",
34816
34987
  context = null;
34817
34988
  }
34818
34989
 
34819
- return triggerEvent(app, selector, context, type, { keyCode: keyCode, which: keyCode });
34990
+ return app.testHelpers.triggerEvent(selector, context, type, { keyCode: keyCode, which: keyCode });
34820
34991
  }
34821
34992
 
34822
34993
  function fillIn(app, selector, context, text) {
@@ -34825,15 +34996,15 @@ define("ember-testing/helpers",
34825
34996
  text = context;
34826
34997
  context = null;
34827
34998
  }
34828
- $el = findWithAssert(app, selector, context);
34999
+ $el = app.testHelpers.findWithAssert(selector, context);
34829
35000
  run(function() {
34830
35001
  $el.val(text).change();
34831
35002
  });
34832
- return wait(app);
35003
+ return app.testHelpers.wait();
34833
35004
  }
34834
35005
 
34835
35006
  function findWithAssert(app, selector, context) {
34836
- var $el = find(app, selector, context);
35007
+ var $el = app.testHelpers.find(selector, context);
34837
35008
  if ($el.length === 0) {
34838
35009
  throw new EmberError("Element " + selector + " not found.");
34839
35010
  }
@@ -34849,7 +35020,7 @@ define("ember-testing/helpers",
34849
35020
  }
34850
35021
 
34851
35022
  function andThen(app, callback) {
34852
- return wait(app, callback(app));
35023
+ return app.testHelpers.wait(callback(app));
34853
35024
  }
34854
35025
 
34855
35026
  function wait(app, value) {
@@ -35016,7 +35187,7 @@ define("ember-testing/helpers",
35016
35187
  .fillIn('#password', username)
35017
35188
  .click('.submit')
35018
35189
 
35019
- return wait();
35190
+ return app.testHelpers.wait();
35020
35191
  });
35021
35192
 
35022
35193
  @method wait
@@ -35085,7 +35256,7 @@ define("ember-testing/helpers",
35085
35256
  helper('currentURL', currentURL);
35086
35257
 
35087
35258
  /**
35088
- Triggers the given event on the element identified by the provided selector.
35259
+ Triggers the given DOM event on the element identified by the provided selector.
35089
35260
 
35090
35261
  Example:
35091
35262
 
@@ -35101,8 +35272,10 @@ define("ember-testing/helpers",
35101
35272
 
35102
35273
  @method triggerEvent
35103
35274
  @param {String} selector jQuery selector for finding element on the DOM
35275
+ @param {String} [context] jQuery selector that will limit the selector
35276
+ argument to find only within the context's children
35104
35277
  @param {String} type The event type to be triggered.
35105
- @param {String} options The options to be passed to jQuery.Event.
35278
+ @param {Object} options The options to be passed to jQuery.Event.
35106
35279
  @return {RSVP.Promise}
35107
35280
  @since 1.5.0
35108
35281
  */
@@ -35276,6 +35449,13 @@ define("ember-testing/test",
35276
35449
  @namespace Ember
35277
35450
  */
35278
35451
  var Test = {
35452
+ /**
35453
+ Hash containing all known test helpers.
35454
+
35455
+ @property _helpers
35456
+ @private
35457
+ */
35458
+ _helpers: helpers,
35279
35459
 
35280
35460
  /**
35281
35461
  `registerHelper` is used to register a test helper that will be injected
@@ -37953,7 +38133,7 @@ define("ember-views/views/container_view",
37953
38133
 
37954
38134
  length: computed(function () {
37955
38135
  return this._childViews.length;
37956
- }).volatile(),
38136
+ })["volatile"](),
37957
38137
 
37958
38138
  /**
37959
38139
  Instructs each child view to render to the passed render buffer.
@@ -39593,7 +39773,7 @@ define("ember-views/views/view",
39593
39773
  } else {
39594
39774
  return get(this, '_context');
39595
39775
  }
39596
- }).volatile(),
39776
+ })["volatile"](),
39597
39777
 
39598
39778
  /**
39599
39779
  Private copy of the view's template context. This can be set directly
@@ -41135,7 +41315,12 @@ define("ember-views/views/view",
41135
41315
  if (isNone(value) || value === false) {
41136
41316
  // `null`, `undefined` or `false` should remove attribute
41137
41317
  elem.removeAttr(name);
41138
- elem.prop(name, '');
41318
+ // In IE8 `prop` couldn't remove attribute when name is `required`.
41319
+ if (name === 'required') {
41320
+ elem.removeProp(name);
41321
+ } else {
41322
+ elem.prop(name, '');
41323
+ }
41139
41324
  } else if (value !== elem.prop(name)) {
41140
41325
  // value should always be properties
41141
41326
  elem.prop(name, value);
@@ -43365,7 +43550,7 @@ define("router/router",
43365
43550
  // Resolve with the final handler.
43366
43551
  return handlerInfos[handlerInfos.length - 1].handler;
43367
43552
  } catch(e) {
43368
- if (!(e instanceof TransitionAborted)) {
43553
+ if (!((e instanceof TransitionAborted))) {
43369
43554
  //var erroneousHandler = handlerInfos.pop();
43370
43555
  var infos = transition.state.handlerInfos;
43371
43556
  transition.trigger(true, 'error', e, transition, infos[infos.length-1].handler);