ember-source 1.0.0.rc6.2 → 1.0.0.rc6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ember-source might be problematic. Click here for more details.
- checksums.yaml +8 -8
- data/dist/ember-data-deps.js +736 -538
- data/dist/ember-data-deps.min.js +6 -6
- data/dist/ember-data-deps.prod.js +731 -533
- data/dist/ember-debug.js +2 -2
- data/dist/ember-old-router.js +1040 -656
- data/dist/ember-old-router.min.js +9 -9
- data/dist/ember-old-router.prod.js +1030 -647
- data/dist/ember-runtime.js +713 -515
- data/dist/ember-runtime.min.js +5 -5
- data/dist/ember-runtime.prod.js +708 -510
- data/dist/ember-spade.js +1 -1
- data/dist/ember-template-compiler.js +8 -8
- data/dist/ember-template-compiler.min.js +2 -2
- data/dist/ember-template-compiler.prod.js +3 -3
- data/dist/ember-tests.js +8 -3
- data/dist/ember.js +1486 -837
- data/dist/ember.min.js +9 -9
- data/dist/ember.prod.js +1391 -783
- metadata +4 -3
@@ -8,14 +8,14 @@
|
|
8
8
|
// ==========================================================================
|
9
9
|
|
10
10
|
|
11
|
-
// Version: v1.0.0-rc.6-
|
12
|
-
// Last commit:
|
11
|
+
// Version: v1.0.0-rc.6-221-g9d051c2
|
12
|
+
// Last commit: 9d051c2 (2013-07-28 23:13:59 -0700)
|
13
13
|
|
14
14
|
|
15
|
-
!function(){var e,t;!function(){var r={},n={};e=function(e,t,n){r[e]={deps:t,callback:n}},t=function(e){if(n[e])return n[e];n[e]={};var i,s,o,a,u;if(i=r[e],!i)throw new Error("Module '"+e+"' not found.");s=i.deps,o=i.callback,a=[];for(var c=0,l=s.length;l>c;c++)"exports"===s[c]?a.push(u={}):a.push(t(s[c]));var h=o.apply(this,a);return n[e]=u||h}}(),function(){function e(e){return r.console&&r.console[e]?r.console[e].apply?function(){r.console[e].apply(r.console,arguments)}:function(){var t=Array.prototype.join.call(arguments,", ");r.console[e](t)}:void 0}function t(e,t){if(!e)try{throw new Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},0)}}"undefined"==typeof Ember&&(Ember={});var r=Ember.imports=Ember.imports||this,n=Ember.exports=Ember.exports||this;Ember.lookup=Ember.lookup||this,n.Em=n.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0-rc.6",Ember.ENV=Ember.ENV||("undefined"==typeof ENV?{}:ENV),Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,"undefined"==typeof Ember.EXTEND_PROTOTYPES&&(Ember.EXTEND_PROTOTYPES=!0),Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES,Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,t){return t}),Ember.uuid=0,Ember.Logger={log:e("log")||Ember.K,warn:e("warn")||Ember.K,error:e("error")||Ember.K,info:e("info")||Ember.K,debug:e("debug")||e("info")||Ember.K,assert:e("assert")||t},Ember.onerror=null,Ember.handleErrors=function(e,t){if("function"!=typeof Ember.onerror)return e.call(t||this);try{return e.call(t||this)}catch(r){Ember.onerror(r)}},Ember.merge=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},Ember.isNone=function(e){return null===e||void 0===e},Ember.none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",Ember.isNone),Ember.isEmpty=function(e){return Ember.isNone(e)||0===e.length&&"function"!=typeof e||"object"==typeof e&&0===Ember.get(e,"length")},Ember.empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",Ember.isEmpty)}(),function(){var e=Ember.platform={};if(Ember.create=Object.create,Ember.create&&2!==Ember.create({a:1},{a:{value:2}}).a&&(Ember.create=null),!Ember.create||Ember.ENV.STUB_OBJECT_CREATE){var t=function(){};Ember.create=function(e,r){if(t.prototype=e,e=new t,r){t.prototype=e;for(var n in r)t.prototype[n]=r[n].value;e=new t}return t.prototype=null,e},Ember.create.isSimulated=!0}var r,n,i=Object.defineProperty;if(i)try{i({},"a",{get:function(){}})}catch(s){i=null}i&&(r=function(){var e={};return i(e,"a",{configurable:!0,enumerable:!0,get:function(){},set:function(){}}),i(e,"a",{configurable:!0,enumerable:!0,writable:!0,value:!0}),e.a===!0}(),n=function(){try{return i(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}(),r?n||(i=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)}):i=null),e.defineProperty=i,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,t,r){r.get||(e[t]=r.value)},e.defineProperty.isSimulated=!0),Ember.ENV.MANDATORY_SETTER&&!e.hasPropertyAccessors&&(Ember.ENV.MANDATORY_SETTER=!1)}(),function(){var e=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},t=e(Array.prototype.map)?Array.prototype.map:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=new Array(r),i=arguments[1],s=0;r>s;s++)s in t&&(n[s]=e.call(i,t[s],s,t));return n},r=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)},n=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1};Ember.ArrayPolyfills={map:t,forEach:r,indexOf:n},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=t),Array.prototype.forEach||(Array.prototype.forEach=r),Array.prototype.indexOf||(Array.prototype.indexOf=n))}(),function(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}var r=Ember.platform.defineProperty,n=Ember.create,i="__ember"+ +new Date,s=0,o=[],a={},u=Ember.ENV.MANDATORY_SETTER;Ember.GUID_KEY=i;var c={writable:!1,configurable:!1,enumerable:!1,value:null};Ember.generateGuid=function(e,t){t||(t="ember");var n=t+s++;return e&&(c.value=n,r(e,i,c)),n},Ember.guidFor=function(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,n=typeof e;switch(n){case"number":return t=o[e],t||(t=o[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+s++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+s++,c.value=t,r(e,i,c),t)}};var l={writable:!0,configurable:!1,enumerable:!1,value:null},h=Ember.GUID_KEY+"_meta";Ember.META_KEY=h;var m={descs:{},watching:{}};u&&(m.values={}),Ember.EMPTY_META=m,Object.freeze&&Object.freeze(m);var f=Ember.platform.defineProperty.isSimulated;f&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){}),Ember.meta=function(t,i){var s=t[h];return i===!1?s||m:(s?s.source!==t&&(f||r(t,h,l),s=n(s),s.descs=n(s.descs),s.watching=n(s.watching),s.cache={},s.source=t,u&&(s.values=n(s.values)),t[h]=s):(f||r(t,h,l),s=new e(t),u&&(s.values={}),t[h]=s,s.descs.constructor=null),s)},Ember.getMeta=function(e,t){var r=Ember.meta(e,!1);return r[t]},Ember.setMeta=function(e,t,r){var n=Ember.meta(e,!0);return n[t]=r,r},Ember.metaPath=function(e,t,r){for(var i,s,o=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],s=o[i]){if(s.__ember_source__!==e){if(!r)return void 0;s=o[i]=n(s),s.__ember_source__=e}}else{if(!r)return void 0;s=o[i]={__ember_source__:e}}o=s}return s},Ember.wrap=function(e,t){function r(){}function n(){var n,i=this._super;return this._super=t||r,n=e.apply(this,arguments),this._super=i,n}return n.wrappedFunction=e,n.__ember_observes__=e.__ember_observes__,n.__ember_observesBefore__=e.__ember_observesBefore__,n},Ember.isArray=function(e){return!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:Ember.Array&&Ember.Array.detect(e)?!0:void 0!==e.length&&"object"==typeof e?!0:!1},Ember.makeArray=function(e){return null===e||void 0===e?[]:Ember.isArray(e)?e:[e]},Ember.canInvoke=t,Ember.tryInvoke=function(e,r,n){return t(e,r)?e[r].apply(e,n||[]):void 0};var p=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();Ember.tryFinally=p?function(e,t,r){var n,i,s;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(o){s=o}}if(s)throw s;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i},Ember.tryCatchFinally=p?function(e,t,r,n){var i,s,o;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{s=r.call(n)}catch(u){o=u}}if(o)throw o;return void 0===s?i:s}:function(e,t,r,n){var i,s;n=n||this;try{i=e.call(n)}catch(o){i=t.call(n,o)}finally{s=r.call(n)}return void 0===s?i:s};var d={},b="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(b,function(e){d["[object "+e+"]"]=e.toLowerCase()});var E=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):d[E.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(t=e instanceof Error?"error":Ember.Object&&e instanceof Ember.Object?"instance":"object"),t}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],s=0,o=e.length;o>s;s++)n=e[s],n.regex.test(r)&&i.push(n.object);return t[r]=i,i},n=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return t?t.bind(e):function(){return+new Date}}();Ember.Instrumentation.instrument=function(e,i,s,o){function a(){for(p=0,d=m.length;d>p;p++)f=m[p],b[p]=f.before(e,n(),i);return s.call(o)}function u(e){i=i||{},i.exception=e}function c(){for(p=0,d=m.length;d>p;p++)f=m[p],f.after(e,n(),i,b[p]);Ember.STRUCTURED_PROFILE&&console.timeEnd(l)}var l,h,m=t[e];if(Ember.STRUCTURED_PROFILE&&(l=e+": "+i.object,console.time(l)),m||(m=r(e)),0===m.length)return h=s.call(o),Ember.STRUCTURED_PROFILE&&console.timeEnd(l),h;var f,p,d,b=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,s=r.split("."),o=[],a=0,u=s.length;u>a;a++)i=s[a],"*"===i?o.push("[^\\.]*"):o.push(i);o=o.join("\\."),o+="(\\..*)?";var c={pattern:r,regex:new RegExp("^"+o+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,s=e.length;s>i;i++)e[i]===r&&(n=i);e.splice(n,1),t={}},Ember.Instrumentation.reset=function(){e=[],t={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e,t,r,n;n=Array.prototype.concat,e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf;var i=Ember.EnumerableUtils={map:function(t,r,n){return t.map?t.map.call(t,r,n):e.call(t,r,n)},forEach:function(e,r,n){return e.forEach?e.forEach.call(e,r,n):t.call(e,r,n)},indexOf:function(e,t,n){return e.indexOf?e.indexOf.call(e,t,n):r.call(e,t,n)},indexesOf:function(e,t){return void 0===t?[]:i.map(t,function(t){return i.indexOf(e,t)})},addObject:function(e,t){var r=i.indexOf(e,t);-1===r&&e.push(t)},removeObject:function(e,t){var r=i.indexOf(e,t);-1!==r&&e.splice(r,1)},replace:function(e,t,r,i){if(e.replace)return e.replace(t,r,i);var s=n.apply([t,r],i);return e.splice.apply(e,s)},intersection:function(e,t){var r=[];return i.forEach(e,function(e){i.indexOf(t,e)>=0&&r.push(e)}),r}}}(),function(){var e,t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,i=/^this[\.\*]/,s=/^([^\.\*]+)/;e=function(e,n){if(""===n)return e;if(n||"string"!=typeof e||(n=e,e=null),null===e||-1!==n.indexOf("."))return a(e,n);var i,s=e[t],o=s&&s.descs[n];return o?o.get(e,n):(i=r&&s&&s.watching[n]>0?s.values[n]:e[n],void 0!==i||"object"!=typeof e||n in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(n))},Ember.config.overrideAccessors&&(Ember.get=e,Ember.config.overrideAccessors(),e=Ember.get);var o=Ember.normalizeTuple=function(t,r){var o,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(o=r.match(s)[0],t=e(t,o),r=r.slice(o.length+1)),!r||0===r.length)throw new Error("Invalid Path");return[t,r]},a=Ember._getPath=function(t,r){var n,s,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=o(t,r),t=a[0],r=a[1],a.length=0),s=r.split("."),c=s.length,u=0;null!=t&&c>u;u++)if(t=e(t,s[u],!0),t&&t.isDestroyed)return void 0;return t};Ember.getWithDefault=function(t,r,n){var i=e(t,r);return void 0===i?n:i},Ember.get=e,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function e(e,t,r){for(var n=-1,i=0,s=e.length;s>i;i++)if(t===e[i][0]&&r===e[i][1]){n=i;break}return n}function t(e,t){var r,n=f(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=m(n.listeners)),r=n.listeners[t],r&&!n.listeners.hasOwnProperty(t)?r=n.listeners[t]=n.listeners[t].slice():r||(r=n.listeners[t]=[]),r}function r(t,r,n){var i=t[p],s=i&&i.listeners&&i.listeners[r];if(s)for(var o=s.length-1;o>=0;o--){var a=s[o][0],u=s[o][1],c=s[o][2],l=e(n,a,u);-1===l&&n.push([a,u,c])}}function n(t,r,n){var i=t[p],s=i&&i.listeners&&i.listeners[r],o=[];if(s){for(var a=s.length-1;a>=0;a--){var u=s[a][0],c=s[a][1],l=s[a][2],h=e(n,u,c);-1===h&&(n.push([u,c,l]),o.push([u,c,l]))}return o}}function i(r,n,i,s,o){s||"function"!=typeof i||(s=i,i=null);var a=t(r,n),u=e(a,i,s),c=0;o&&(c|=d),-1===u&&(a.push([i,s,c]),"function"==typeof r.didAddListener&&r.didAddListener(n,i,s))}function s(r,n,i,s){function o(i,s){var o=t(r,n),a=e(o,i,s);-1!==a&&(o.splice(a,1),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,s))}if(s||"function"!=typeof i||(s=i,i=null),s)o(i,s);else{var a=r[p],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-1;c>=0;c--)o(u[c][0],u[c][1])}}function o(r,n,i,s,o){function a(){return o.call(i)}function u(){c&&(c[2]&=~b)}s||"function"!=typeof i||(s=i,i=null);var c,l=t(r,n),h=e(l,i,s);return-1!==h&&(c=l[h].slice(),c[2]|=b,l[h]=c),Ember.tryFinally(a,u)}function a(r,n,i,s,o){function a(){return o.call(i)}function u(){for(m=0,f=p.length;f>m;m++)p[m][2]&=~b}s||"function"!=typeof i||(s=i,i=null);var c,l,h,m,f,p=[];for(m=0,f=n.length;f>m;m++){c=n[m],l=t(r,c);var d=e(l,i,s);-1!==d&&(h=l[d].slice(),h[2]|=b,l[d]=h,p.push(h))}return Ember.tryFinally(a,u)}function u(e){var t=e[p].listeners,r=[];if(t)for(var n in t)t[n]&&r.push(n);return r}function c(e,t,r,n){if(e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(t,r),!n){var i=e[p];n=i&&i.listeners&&i.listeners[t]}if(n){for(var o=n.length-1;o>=0;o--){var a=n[o];if(a){var u=a[0],c=a[1],l=a[2];l&b||(l&d&&s(e,t,u,c),u||(u=e),"string"==typeof c&&(c=u[c]),r?c.apply(u,r):c.call(u))}}return!0}}function l(e,t){var r=e[p],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function h(e,t){var r=[],n=e[p],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var s=0,o=i.length;o>s;s++){var a=i[s][0],u=i[s][1];r.push([a,u])}return r}var m=Ember.create,f=Ember.meta,p=Ember.META_KEY,d=1,b=2;Ember.addListener=i,Ember.removeListener=s,Ember._suspendListener=o,Ember._suspendListeners=a,Ember.sendEvent=c,Ember.hasListeners=l,Ember.watchedEvents=u,Ember.listenersFor=h,Ember.listenersDiff=n,Ember.listenersUnion=r}(),function(){var e=Ember.guidFor,t=Ember.sendEvent,r=Ember._ObserverSet=function(){this.clear()};r.prototype.add=function(t,r,n){var i,s=this.observerSet,o=this.observers,a=e(t),u=s[a];return u||(s[a]=u={}),i=u[r],void 0===i&&(i=o.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),o[i].listeners},r.prototype.flush=function(){var e,r,n,i,s=this.observers;for(this.clear(),e=0,r=s.length;r>e;++e)n=s[e],i=n.sender,i.isDestroying||i.isDestroyed||t(i,n.eventName,[i,n.keyName],n.listeners)},r.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function e(e,t,i){if(!e.isDestroying){var s=n,o=!s;o&&(s=n={}),r(d,e,t,s,i),o&&(n=null)}}function t(e,t,n){if(!e.isDestroying){var s=i,o=!s;o&&(s=i={}),r(b,e,t,s,n),o&&(i=null)}}function r(e,t,r,n,i){var s=o(t);if(n[s]||(n[s]={}),!n[s][r]){n[s][r]=!0;var a=i.deps;if(a=a&&a[r])for(var u in a){var c=i.descs[u];c&&c._suspended===t||e(t,u)}}}var n,i,s=Ember.meta,o=Ember.guidFor,a=Ember.tryFinally,u=Ember.sendEvent,c=Ember.listenersUnion,l=Ember.listenersDiff,h=Ember._ObserverSet,m=new h,f=new h,p=0,d=Ember.propertyWillChange=function(t,r){var n=s(t,!1),i=n.watching[r]>0||"length"===r,o=n.proto,a=n.descs[r];i&&o!==t&&(a&&a.willChange&&a.willChange(t,r),e(t,r,n),E(t,r,n),w(t,r))},b=Ember.propertyDidChange=function(e,r){var n=s(e,!1),i=n.watching[r]>0||"length"===r,o=n.proto,a=n.descs[r];o!==e&&(a&&a.didChange&&a.didChange(e,r),(i||"length"===r)&&(t(e,r,n),v(e,r,n),_(e,r)))},E=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var s=0,o=i.length;o>s;s++)i[s].willChange(n)}},v=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var s=i.length-1;s>=0;s--)i[s].didChange(n)}};Ember.overrideChains=function(e,t,r){v(e,t,r,!0)};var g=Ember.beginPropertyChanges=function(){p++},y=Ember.endPropertyChanges=function(){p--,0>=p&&(m.clear(),f.flush())};Ember.changeProperties=function(e,t){g(),a(e,y,t)};var w=function(e,t){if(!e.isDestroying){var r,n,i=t+":before";p?(r=m.add(e,t,i),n=l(e,i,r),u(e,i,[e,t],n)):u(e,i,[e,t])}},_=function(e,t){if(!e.isDestroying){var r,n=t+":change";p?(r=f.add(e,t,n),c(e,n,r)):u(e,n,[e,t])}}}(),function(){function e(e,t,r,s){var o;if(o=t.slice(t.lastIndexOf(".")+1),t=t.slice(0,t.length-(o.length+1)),"this"!==t&&(e=n(e,t)),!o||0===o.length)throw new Error("You passed an empty path");if(!e){if(s)return;throw new Error("Object in path "+t+" could not be found or was destroyed.")}return i(e,o,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(n,i,s,o){if("string"==typeof n&&(s=i,i=n,n=null),!n||-1!==i.indexOf("."))return e(n,i,s,o);var a,u,c=n[t],l=c&&c.descs[i];return l?l.set(n,i,s):(a="object"==typeof n&&!(i in n),a&&"function"==typeof n.setUnknownProperty?n.setUnknownProperty(i,s):c&&c.watching[i]>0?(u=r?c.values[i]:n[i],s!==u&&(Ember.propertyWillChange(n,i),r?void 0!==u||i in n?c.values[i]=s:Ember.defineProperty(n,i,null,s):n[i]=s,Ember.propertyDidChange(n,i))):n[i]=s),s};Ember.config.overrideAccessors&&(Ember.set=i,Ember.config.overrideAccessors(),i=Ember.set),Ember.set=i,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,t,r){return i(e,t,r,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),function(){var e=(Ember.get,Ember.set),t=Ember.guidFor,r=Ember.ArrayPolyfills.indexOf,n=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},i=function(e,t){var r=e.keys.copy(),i=n(e.values);return t.keys=r,t.values=i,t.length=e.length,t},s=Ember.OrderedSet=function(){this.clear()};s.create=function(){return new s},s.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(e){var r=t(e),n=this.presenceSet,i=this.list;r in n||(n[r]=!0,i.push(e))},remove:function(e){var n=t(e),i=this.presenceSet,s=this.list;delete i[n];var o=r.call(s,e);o>-1&&s.splice(o,1)},isEmpty:function(){return 0===this.list.length},has:function(e){var r=t(e),n=this.presenceSet;return r in n},forEach:function(e,t){for(var r=this.toArray(),n=0,i=r.length;i>n;n++)e.call(t,r[n])},toArray:function(){return this.list.slice()},copy:function(){var e=new s;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var o=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};o.create=function(){return new o},o.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,s=this.values,o=t(r);i.add(r),s[o]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,s=t(r);return i.hasOwnProperty(s)?(n.remove(r),delete i[s],e(this,"length",n.list.length),!0):!1},has:function(e){var r=this.values,n=t(e);return r.hasOwnProperty(n)},forEach:function(e,r){var n=this.keys,i=this.values;n.forEach(function(n){var s=t(n);e.call(r,n,i[s])})},copy:function(){return i(this,new o)}};var a=Ember.MapWithDefault=function(e){o.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new o},a.prototype=Ember.create(o.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return o.prototype.get.call(this,e);var r=this.defaultValue(e);return this.set(e,r),r},a.prototype.copy=function(){return i(this,new a({defaultValue:this.defaultValue}))}}(),function(){var e=Ember.META_KEY,t=Ember.meta,r=Ember.platform.defineProperty,n=Ember.ENV.MANDATORY_SETTER;Ember.Descriptor=function(){};var i=Ember.MANDATORY_SETTER_FUNCTION=function(){},s=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,o,a,u,c){var l,h,m,f;return c||(c=t(e)),l=c.descs,h=c.descs[o],m=c.watching[o]>0,h instanceof Ember.Descriptor&&h.teardown(e,o),a instanceof Ember.Descriptor?(f=a,l[o]=a,n&&m?r(e,o,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[o]=void 0,a.setup(e,o)):(l[o]=void 0,null==a?(f=u,n&&m?(c.values[o]=u,r(e,o,{configurable:!0,enumerable:!0,set:i,get:s(o)})):e[o]=u):(f=a,r(e,o,a))),m&&Ember.overrideChains(e,o,c),e.didDefineProperty&&e.didDefineProperty(e,o,f),this}}(),function(){var e=Ember.changeProperties,t=Ember.set;Ember.setProperties=function(r,n){return e(function(){for(var e in n)n.hasOwnProperty(e)&&t(r,e,n[e])}),r}}(),function(){var e=Ember.meta,t=Ember.typeOf,r=Ember.ENV.MANDATORY_SETTER,n=Ember.platform.defineProperty;Ember.watchKey=function(i,s){if("length"!==s||"array"!==t(i)){var o,a=e(i),u=a.watching;u[s]?u[s]=(u[s]||0)+1:(u[s]=1,o=a.descs[s],o&&o.willWatch&&o.willWatch(i,s),"function"==typeof i.willWatchProperty&&i.willWatchProperty(s),r&&s in i&&(a.values[s]=i[s],n(i,s,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(s)})))}},Ember.unwatchKey=function(t,i){var s,o=e(t),a=o.watching;1===a[i]?(a[i]=0,s=o.descs[i],s&&s.didUnwatch&&s.didUnwatch(t,i),"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&(n(t,i,{configurable:!0,enumerable:!0,writable:!0,value:o.values[i]}),delete o.values[i])):a[i]>1&&a[i]--}}(),function(){function e(e){return e.match(m)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),s=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(s=i.chainWatchers={}),s[t]||(s[t]=[]),s[t].push(r),u(e,t)}}function r(e){return n(e,!1).proto===e}var n=Ember.meta,i=Ember.get,s=Ember.normalizeTuple,o=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,l=Ember.propertyWillChange,h=Ember.propertyDidChange,m=/^([^\.\*]+)/,f=[];Ember.flushPendingChains=function(){if(0!==f.length){var e=f;f=[],o.call(e,function(e){e[0].add(e[1])}),a("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===f.length)}};var p=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var s=i.chainWatchers;if(s[t]){s=s[t];for(var o=0,a=s.length;a>o;o++)s[o]===r&&s.splice(o,1)}c(e,t)}}},d=Ember._ChainNode=function(e,r,n){this._parent=e,this._key=r,this._watching=void 0===n,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&t(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()},b=d.prototype;b.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=e&&!r(e)?i(e,this._key):void 0}return this._value},b.destroy=function(){if(this._watching){var e=this._object;e&&p(e,this._key,this),this._watching=!1}},b.copy=function(e){var t,r=new d(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},b.add=function(t){var r,n,i,o,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=s(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return f.push([this,t]),n.length=0,void 0;o=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,o)},b.remove=function(t){var r,n,i,o,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=s(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(o=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},b.count=0,b.chain=function(t,r,n){var i,s=this._chains;s||(s=this._chains={}),i=s[t],i||(i=s[t]=new d(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},b.unchain=function(t,r){var n=this._chains,i=n[t];r&&r.length>1&&(t=e(r),r=r.slice(t.length+1),i.unchain(t,r)),i.count--,i.count<=0&&(delete n[i._key],i.destroy())},b.willChange=function(){var e=this._chains;if(e)for(var t in e)e.hasOwnProperty(t)&&e[t].willChange();this._parent&&this._parent.chainWillChange(this,this._key,1)},b.chainWillChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1):(r>1&&l(this.value(),t),t="this."+t,this._paths[t]>0&&l(this.value(),t))},b.chainDidChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1):(r>1&&h(this.value(),t),t="this."+t,this._paths[t]>0&&h(this.value(),t))},b.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(p(this._object,this._key,this),this._object=r,t(r,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var n=this._chains;if(n)for(var i in n)n.hasOwnProperty(i)&&n[i].didChange(e);e||this._parent&&this._parent.chainDidChange(this,this._key,1)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(!0))}}(),function(){function e(e){var r=t(e),i=r.chains;return i?i.value()!==e&&(i=r.chains=i.copy(e)):i=r.chains=new n(null,null,e),i}var t=Ember.meta,r=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if("length"!==i||"array"!==r(n)){var s=t(n),o=s.watching;o[i]?o[i]=(o[i]||0)+1:(o[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),s=i.watching;1===s[n]?(s[n]=0,e(r).remove(n)):s[n]>1&&s[n]--}}(),function(){function e(e){return"*"===e||!h.test(e)}var t=Ember.meta,r=Ember.GUID_KEY,n=Ember.META_KEY,i=Ember.removeChainWatcher,s=Ember.watchKey,o=Ember.unwatchKey,a=Ember.watchPath,u=Ember.unwatchPath,c=Ember.typeOf,l=Ember.generateGuid,h=/[\.\*]/;Ember.watch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(t,r):a(t,r))},Ember.isWatching=function(e,t){var r=e[n];return(r&&r.watching[t])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?o(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&l(e,"ember"),i&&i.value()!==e&&(n.chains=i.copy(e))};var m=[];Ember.destroy=function(e){var t,r,s,o,a=e[n];if(a&&(e[n]=null,t=a.chains))for(m.push(t);m.length>0;){if(t=m.pop(),r=t._chains)for(s in r)r.hasOwnProperty(s)&&m.push(r[s]);t._watching&&(o=t._object,o&&i(o,t._key,t))}}}(),function(){function e(e,t){var r=e[t];return r?e.hasOwnProperty(t)||(r=e[t]=m(r)):r=e[t]={},r}function t(t){return e(t,"deps")}function r(r,n,i,s){var o,a,u,c,l,h=r._dependentKeys;if(h)for(o=t(s),a=0,u=h.length;u>a;a++)c=h[a],l=e(o,c),l[i]=(l[i]||0)+1,p(n,c)}function n(r,n,i,s){var o,a,u,c,l,h=r._dependentKeys;if(h)for(o=t(s),a=0,u=h.length;u>a;a++)c=h[a],l=e(o,c),l[i]=(l[i]||0)-1,d(n,c)}function i(e,t){this.func=e,this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)}function s(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=u(e,t[n]);return r}function o(e,t){Ember.computed[e]=function(e){var r=h.call(arguments);return Ember.computed(e,function(){return t.apply(this,r)})}}function a(e,t){Ember.computed[e]=function(){var e=h.call(arguments),r=Ember.computed(function(){return t.apply(this,[s(this,e)])});return r.property.apply(r,e)}}var u=Ember.get,c=Ember.set,l=Ember.meta,h=[].slice,m=Ember.create,f=Ember.META_KEY,p=Ember.watch,d=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var b=i.prototype;b.cacheable=function(e){return this._cacheable=e!==!1,this},b.volatile=function(){return this.cacheable(!1)},b.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},b.property=function(){for(var e=[],t=0,r=arguments.length;r>t;t++)e.push(arguments[t]);return this._dependentKeys=e,this},b.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},b.willWatch=function(e,t){var n=e[f];t in n.cache||r(this,e,t,n)},b.didUnwatch=function(e,t){var r=e[f];t in r.cache||n(this,e,t,r)},b.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=l(e);t in r.cache&&(delete r.cache[t],r.watching[t]||n(this,e,t,r))}},b.get=function(e,t){var n,i,s;if(this._cacheable){if(s=l(e),i=s.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),s.watching[t]||r(this,e,t,s)}else n=this.func.call(e,t);return n},b.set=function(e,t,n){var i,s,o=this._cacheable,a=this.func,u=l(e,o),c=u.watching[t],h=this._suspended,m=!1,f=u.cache;if(this._readOnly)throw new Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{if(o&&f.hasOwnProperty(t)&&(i=f[t],m=!0),a.wrappedFunction&&(a=a.wrappedFunction),3===a.length)s=a.call(e,t,n,i);else{if(2!==a.length)return Ember.defineProperty(e,t,null,i),Ember.set(e,t,n),void 0;s=a.call(e,t,n)}if(m&&i===s)return;c&&Ember.propertyWillChange(e,t),m&&delete f[t],o&&(c||m||r(this,e,t,u),f[t]=s),c&&Ember.propertyDidChange(e,t)}finally{this._suspended=h}return s},b.setup=function(e,t){var n=e[f];n&&n.watching[t]&&r(this,e,t,l(e))},b.teardown=function(e,t){var r=l(e);return(r.watching[t]||t in r.cache)&&n(this,e,t,r),this._cacheable&&delete r.cache[t],null},Ember.computed=function(e){var t;if(arguments.length>1&&(t=h.call(arguments,0,-1),e=h.call(arguments,-1)[0]),"function"!=typeof e)throw new Error("Computed Property declared without a property function");var r=new i(e);return t&&r.property.apply(r,t),r},Ember.cacheFor=function(e,t){var r=l(e,!1).cache;return r&&t in r?r[t]:void 0},o("empty",function(e){return Ember.isEmpty(u(this,e))}),o("notEmpty",function(e){return!Ember.isEmpty(u(this,e))}),o("none",function(e){return Ember.isNone(u(this,e))}),o("not",function(e){return!u(this,e)}),o("bool",function(e){return!!u(this,e)}),o("match",function(e,t){var r=u(this,e);return"string"==typeof r?!!r.match(t):!1}),o("equal",function(e,t){return u(this,e)===t}),o("gt",function(e,t){return u(this,e)>t}),o("gte",function(e,t){return u(this,e)>=t}),o("lt",function(e,t){return u(this,e)<t}),o("lte",function(e,t){return u(this,e)<=t}),a("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),a("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),a("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),a("map",function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(Ember.isNone(e[r])?t.push(null):t.push(e[r]));return t}),Ember.computed.alias=function(e){return Ember.computed(e,function(t,r){return arguments.length>1?(c(this,e,r),r):u(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return u(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:u(this,e):null!=r?r:u(this,e)})}}(),function(){function e(e){return e+r}function t(e){return e+n}var r=":change",n=":before";Ember.addObserver=function(t,r,n,i){return Ember.addListener(t,e(r),n,i),Ember.watch(t,r),this},Ember.observersFor=function(t,r){return Ember.listenersFor(t,e(r))},Ember.removeObserver=function(t,r,n,i){return Ember.unwatch(t,r),Ember.removeListener(t,e(r),n,i),this},Ember.addBeforeObserver=function(e,r,n,i){return Ember.addListener(e,t(r),n,i),Ember.watch(e,r),this},Ember._suspendBeforeObserver=function(e,r,n,i,s){return Ember._suspendListener(e,t(r),n,i,s)},Ember._suspendObserver=function(t,r,n,i,s){return Ember._suspendListener(t,e(r),n,i,s)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,s,o){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,s,o)},Ember._suspendObservers=function(t,r,n,s,o){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,s,o)},Ember.beforeObserversFor=function(e,r){return Ember.listenersFor(e,t(r))},Ember.removeBeforeObserver=function(e,r,n,i){return Ember.unwatch(e,r),Ember.removeListener(e,t(r),n,i),this}}(),function(){e("backburner",["backburner/deferred_action_queues","exports"],function(e,t){"use strict";function r(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function n(e){e.begin(),s=window.setTimeout(function(){e.end(),s=null})}function i(e){var t,r,n,s,u=+new Date;e.run(function(){for(n=0,s=m.length;s>n&&(t=m[n],!(t>u));n+=2);for(r=m.splice(0,n),n=1,s=r.length;s>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),m.length&&(o=window.setTimeout(function(){i(e),o=null,a=null},m[0]-u),a=m[0])}var s,o,a,u=e.DeferredActionQueues,c=[].slice,l=[].pop,h=[],m=[];r.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var e=this.options&&this.options.onBegin,t=this.currentInstance;t&&this.instanceStack.push(t),this.currentInstance=new u(this.queueNames,this.options),e&&e(this.currentInstance,t)},end:function(){var e=this.options&&this.options.onEnd,t=this.currentInstance,r=null;try{t.flush()}finally{this.currentInstance=null,this.instanceStack.length&&(r=this.instanceStack.pop(),this.currentInstance=r),e&&e(t,r)
|
16
|
-
}},run:function(e,t){var r;this.begin(),t||(t=e,e=null),"string"==typeof t&&(t=e[t]);var n=!1;try{r=arguments.length>2?t.apply(e,c.call(arguments,2)):t.call(e)}finally{n||(n=!0,this.end())}return r},defer:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,s=arguments.length>3?c.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,s,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,s=arguments.length>3?c.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,s,!0,i)},setTimeout:function(){var e=this,t=l.call(arguments),r=arguments[0],n=arguments[1],s=+new Date+t;n||(n=r,r=null),"string"==typeof n&&(n=r[n]);var u,h;arguments.length>2?(h=c.call(arguments,2),u=function(){n.apply(r,h)}):u=function(){n.call(r)};var f,p;for(f=0,p=m.length;p>f&&!(s<m[f]);f+=2);return m.splice(f,0,s,u),o&&s>a?u:(o&&(clearTimeout(o),o=null),o=window.setTimeout(function(){i(e),o=null,a=null},t),a=s,u)},debounce:function(e,t){for(var r,n=this,i=arguments,s=l.call(i),o=0,a=h.length;a>o;o++)if(r=h[o],r[0]===e&&r[1]===t)return;var u=window.setTimeout(function(){n.run.apply(n,i);for(var s=-1,o=0,a=h.length;a>o;o++)if(r=h[o],r[0]===e&&r[1]===t){s=o;break}s>-1&&h.splice(s,1)},s);h.push([e,t,u])},cancelTimers:function(){for(var e=0,t=h.length;t>e;e++)clearTimeout(h[e][2]);h=[],o&&(clearTimeout(o),o=null),m=[],s&&(clearTimeout(s),s=null)},hasTimers:function(){return!!m.length||s},cancel:function(e){if(e&&"object"==typeof e&&e.queue&&e.method)return e.queue.cancel(e);if("function"==typeof e)for(var t=0,r=m.length;r>t;t+=2)if(m[t+1]===e)return m.splice(t,2),!0}},r.prototype.schedule=r.prototype.defer,r.prototype.scheduleOnce=r.prototype.deferOnce,r.prototype.later=r.prototype.setTimeout,t.Backburner=r}),e("backburner/deferred_action_queues",["backburner/queue","exports"],function(e,t){"use strict";function r(e,t){var r=this.queues={};this.queueNames=e=e||[];for(var n,s=0,o=e.length;o>s;s++)n=e[s],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,s=t;s>=i;i++)if(r=e.queueNames[i],n=e.queues[r],n._queue.length)return i;return-1}var i=e.Queue;r.prototype={queueNames:null,queues:null,schedule:function(e,t,r,n,i,s){var o=this.queues,a=o[e];if(!a)throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist");return i?a.pushUnique(t,r,n,s):a.push(t,r,n,s)},flush:function(){for(var e,t,r,i,s=this.queues,o=this.queueNames,a=0,u=o.length;u>a;){e=o[a],t=s[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,l,h,m,f=t.options,p=f&&f.before,d=f&&f.after,b=0,E=r.length;for(E&&p&&p();E>b;)c=r[b],l=r[b+1],h=r[b+2],m=r[b+3],"string"==typeof l&&(l=c[l]),l&&(h&&h.length>0?l.apply(c,h):l.call(c)),b+=4;t._queueBeingFlushed=null,E&&d&&d(),-1===(i=n(this,a))?a++:a=i}}},t.DeferredActionQueues=r}),e("backburner/queue",["exports"],function(e){"use strict";function t(e,t,r){this.daq=e,this.name=t,this.options=r,this._queue=[]}t.prototype={daq:null,name:null,options:null,_queue:null,push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUnique:function(e,t,r,n){var i,s,o,a,u=this._queue;for(o=0,a=u.length;a>o;o+=4)if(i=u[o],s=u[o+1],i===e&&s===t)return u[o+2]=r,u[o+3]=n,{queue:this,target:e,method:t};return this._queue.push(e,t,r,n),{queue:this,target:e,method:t}},flush:function(){var e,t,r,n,i,s=this._queue,o=this.options,a=o&&o.before,u=o&&o.after,c=s.length;for(c&&a&&a(),i=0;c>i;i+=4)e=s[i],t=s[i+1],r=s[i+2],n=s[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),s.length>c?(this._queue=s.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,s=this._queue;for(n=0,i=s.length;i>n;n+=4)if(t=s[n],r=s[n+1],t===e.target&&r===e.method)return s.splice(n,4),!0;if(s=this._queueBeingFlushed)for(n=0,i=s.length;i>n;n+=4)if(t=s[n],r=s[n+1],t===e.target&&r===e.method)return s[n+1]=null,!0}},e.Queue=t})}(),function(){function e(){!Ember.run.currentRunLoop}var r=function(e){Ember.run.currentRunLoop=e},n=function(e,t){Ember.run.currentRunLoop=t},i=t("backburner").Backburner,s=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),o=[].slice;Ember.run=function(){var e;if(Ember.onerror)try{e=s.run.apply(s,arguments)}catch(t){Ember.onerror(t)}else e=s.run.apply(s,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=o.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.backburner=s,Ember.run,Ember.run.currentRunLoop=null,Ember.run.queues=s.queueNames,Ember.run.begin=function(){s.begin()},Ember.run.end=function(){s.end()},Ember.run.schedule=function(){e(),s.schedule.apply(s,arguments)},Ember.run.hasScheduledTimers=function(){return s.hasTimers()},Ember.run.cancelTimers=function(){s.cancelTimers()},Ember.run.sync=function(){s.currentInstance&&s.currentInstance.queues.sync.flush()},Ember.run.later=function(){return s.later.apply(s,arguments)},Ember.run.once=function(){e();var t=o.call(arguments);return t.unshift("actions"),s.scheduleOnce.apply(s,t)},Ember.run.scheduleOnce=function(){return e(),s.scheduleOnce.apply(s,arguments)},Ember.run.next=function(){var e=o.call(arguments);return e.push(1),s.later.apply(s,e)},Ember.run.cancel=function(e){return s.cancel(e)},Ember.run.debounce=function(){return s.debounce.apply(s,arguments)}}(),function(){function e(e,t){return r(s(t)?Ember.lookup:e,t)}function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}Ember.LOG_BINDINGS=!1||!!Ember.ENV.LOG_BINDINGS;var r=Ember.get,n=(Ember.set,Ember.guidFor),i=/^([A-Z$]|([0-9][A-Z$]))/,s=Ember.isGlobalPath=function(e){return i.test(e)},o=function(e,t){this._direction="fwd",this._from=t,this._to=e,this._directionMap=Ember.Map.create()};o.prototype={copy:function(){var e=new o(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(t){var r=this._from,n=this._to;return Ember.trySet(t,n,e(t,r)),Ember.addObserver(t,r,this,this.fromDidChange),this._oneWay||Ember.addObserver(t,n,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var t=!this._oneWay;return Ember.removeObserver(e,this._from,this,this.fromDidChange),t&&Ember.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,t){var r=this._directionMap,n=r.get(e);n||(Ember.run.schedule("sync",this,this._sync,e),r.set(e,t)),"back"===n&&"fwd"===t&&r.set(e,"fwd")},_sync:function(t){var n=Ember.LOG_BINDINGS;if(!t.isDestroyed&&this._readyToSync){var i=this._directionMap,s=i.get(t),o=this._from,a=this._to;if(i.remove(t),"fwd"===s){var u=e(t,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",u,t),this._oneWay?Ember.trySet(t,a,u):Ember._suspendObserver(t,a,this,this.toDidChange,function(){Ember.trySet(t,a,u)})}else if("back"===s){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,o,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(o)?Ember.lookup:t,o,c)})}}}},t(o,{from:function(){var e=this,t=new e;return t.from.apply(t,arguments)},to:function(){var e=this,t=new e;return t.to.apply(t,arguments)},oneWay:function(e,t){var r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=o,Ember.bind=function(e,t,r){return new Ember.Binding(t,r).connect(e)},Ember.oneWay=function(e,t,r){return new Ember.Binding(t,r).oneWay().connect(e)}}(),function(){function e(e){var t=Ember.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=P(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=_.call(t,function(e){if(e instanceof g)return e;var t=new g;return t.properties=e,t})),e}function r(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function n(e,t){var r;return t instanceof g?(r=x(t),e[r]?V:(e[r]=t,t.properties)):t}function i(e,t,r){var n;return n=t.concatenatedProperties||r.concatenatedProperties,e.concatenatedProperties&&(n=n?n.concat(e.concatenatedProperties):e.concatenatedProperties),n}function s(e,t,r,n,i){var s;return void 0===n[t]&&(s=i[t]),s=s||e.descs[t],s&&s instanceof Ember.ComputedProperty?(r=P(r),r.func=Ember.wrap(r.func,s.func),r):r}function o(e,t,r,n,i){var s;return void 0===i[t]&&(s=n[t]),s=s||e[t],"function"!=typeof s?r:Ember.wrap(r,s)}function a(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?i.concat(r):Ember.makeArray(i).concat(r):Ember.makeArray(r)}function u(e,t,n,i,u,c,l){if(n instanceof Ember.Descriptor){if(n===y&&u[t])return V;n.func&&(n=s(i,t,n,c,u)),u[t]=n,c[t]=void 0}else r(n)?n=o(e,t,n,c,u):(l&&C.call(l,t)>=0||"concatenatedProperties"===t)&&(n=a(e,t,n,c)),u[t]=void 0,c[t]=n}function c(e,t,r,s,o,a){function l(e){delete r[e],delete s[e]}for(var h,m,f,p,d,b=0,E=e.length;E>b;b++)if(h=e[b],m=n(t,h),m!==V)if(m){d=Ember.meta(o),p=i(m,s,o);for(f in m)m.hasOwnProperty(f)&&(a.push(f),u(o,f,m[f],d,r,s,p));m.hasOwnProperty("toString")&&(o.toString=m.toString)}else h.mixins&&(c(h.mixins,t,r,s,o,a),h._without&&O.call(h._without,l))}function l(e,t,r,n){if(D.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=P(n.bindings)):i=n.bindings={},i[t]=r}}function h(e,t){var r,n,i,s=t.bindings;if(s){for(r in s)n=s[r],n&&(i=r.slice(0,-7),n instanceof Ember.Binding?(n=n.copy(),n.to(i)):n=new Ember.Binding(i,n),n.connect(e),e[r]=n);t.bindings={}}}function m(e,t){return h(e,t||Ember.meta(e)),e}function f(e,t,r,n,i){var s,o=t.methodName;return n[o]||i[o]?(s=i[o],t=n[o]):r.descs[o]?(t=r.descs[o],s=void 0):(t=void 0,s=e[o]),{desc:t,value:s}}function p(e,t,r,n,i){if("function"==typeof r){var s=r[n];if(s)for(var o=0,a=s.length;a>o;o++)Ember[i](e,s[o],null,t)}}function d(e,t,r){var n=e[t];p(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),p(e,t,n,"__ember_observes__","removeObserver"),p(e,t,r,"__ember_observesBefore__","addBeforeObserver"),p(e,t,r,"__ember_observes__","addObserver")}function b(t,r,n){var i,s,o,a={},u={},h=Ember.meta(t),p=[];c(r,e(t),a,u,t,p);for(var b=0,E=p.length;E>b;b++)if(i=p[b],"constructor"!==i&&u.hasOwnProperty(i)&&(o=a[i],s=u[i],o!==y)){for(;o&&o instanceof w;){var v=f(t,o,h,a,u);o=v.desc,s=v.value}(void 0!==o||void 0!==s)&&(d(t,i,s),l(t,i,s,h),A(t,i,o,s,h))}return n||m(t,h),t}function E(e,t,r){var n=x(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,s=i?i.length:0;--s>=0;)if(E(i[s],t,r))return!0;return!1}function v(e,t,r){if(!r[x(t)])if(r[x(t)]=!0,t.properties){var n=t.properties;for(var i in n)n.hasOwnProperty(i)&&(e[i]=!0)}else t.mixins&&O.call(t.mixins,function(t){v(e,t,r)})}var g,y,w,_=Ember.ArrayPolyfills.map,C=Ember.ArrayPolyfills.indexOf,O=Ember.ArrayPolyfills.forEach,S=[].slice,P=Ember.create,A=Ember.defineProperty,x=Ember.guidFor,V={},D=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=S.call(arguments,1);return b(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=b,g.applyPartial=function(e){var t=S.call(arguments,1);return b(e,t,!0)},g.finishPartial=m,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var T=g.prototype;T.reopen=function(){var e,t;this.properties?(e=g.create(),e.properties=this.properties,delete this.properties,this.mixins=[e]):this.mixins||(this.mixins=[]);var r,n=arguments.length,i=this.mixins;for(r=0;n>r;r++)e=arguments[r],e instanceof g?i.push(e):(t=g.create(),t.properties=e,i.push(t));return this},T.apply=function(e){return b(e,[this],!1)},T.applyPartial=function(e){return b(e,[this],!0)},T.detect=function(e){if(!e)return!1;if(e instanceof g)return E(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[x(this)]:!1},T.without=function(){var e=new g(this);return e._without=S.call(arguments),e},T.keys=function(){var e={},t={},r=[];v(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},g.mixins=function(e){var t=Ember.meta(e,!1).mixins,r=[];if(!t)return r;for(var n in t){var i=t[n];i.properties||r.push(i)}return r},y=new Ember.Descriptor,y.toString=function(){return"(Required Property)"},Ember.required=function(){return y},w=function(e){this.methodName=e},w.prototype=new Ember.Descriptor,Ember.alias=function(e){return new w(e)},Ember.alias=Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new w(e)},Ember.observer=function(e){var t=S.call(arguments,1);return e.__ember_observes__=t,e},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++)arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var t=S.call(arguments,1);return e.__ember_observesBefore__=t,e}}(),function(){e("rsvp/all",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=[],r=n(),i=e.length;0===i&&r.resolve([]);for(var s=function(e){return function(t){o(e,t)}},o=function(e,n){t[e]=n,0===--i&&r.resolve(t)},a=function(e){r.reject(e)},u=0;u<e.length;u++)e[u]&&"function"==typeof e[u].then?e[u].then(s(u),a):o(u,e[u]);return r.promise}var n=e.defer;t.all=r}),e("rsvp/async",["exports"],function(e){"use strict";var t,r="undefined"!=typeof window?window:{},n=r.MutationObserver||r.WebKitMutationObserver;if("undefined"!=typeof process&&"[object process]"==={}.toString.call(process))t=function(e,t){process.nextTick(function(){e.call(t)})};else if(n){var i=[],s=new n(function(){var e=i.slice();i=[],e.forEach(function(e){var t=e[0],r=e[1];t.call(r)})}),o=document.createElement("div");s.observe(o,{attributes:!0}),window.addEventListener("unload",function(){s.disconnect(),s=null}),t=function(e,t){i.push([e,t]),o.setAttribute("drainQueue","drainQueue")}}else t=function(e,t){setTimeout(function(){e.call(t)},1)};e.async=t}),e("rsvp/config",["rsvp/async","exports"],function(e,t){"use strict";var r=e.async,n={};n.async=r,t.config=n}),e("rsvp/defer",["rsvp/promise","exports"],function(e,t){"use strict";function r(){var e={},t=new n(function(t,r){e.resolve=t,e.reject=r});return e.promise=t,e}var n=e.Promise;t.defer=r}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){this.type=e;for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r])},r=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r][0]===t)return r;return-1},n=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t},i={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,t,i){var s,o,a=n(this);for(e=e.split(/\s+/),i=i||this;o=e.shift();)s=a[o],s||(s=a[o]=[]),-1===r(s,t)&&s.push([t,i])},off:function(e,t){var i,s,o,a=n(this);for(e=e.split(/\s+/);s=e.shift();)t?(i=a[s],o=r(i,t),-1!==o&&i.splice(o,1)):a[s]=[]},trigger:function(e,r){var i,s,o,a,u,c=n(this);if(i=c[e])for(var l=0;l<i.length;l++)s=i[l],o=s[0],a=s[1],"object"!=typeof r&&(r={detail:r}),u=new t(e,r),o.call(a,u)}};e.EventTarget=i}),e("rsvp/hash",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=0;for(var r in e)t++;return t}function n(e){var t={},n=i(),s=r(e);0===s&&n.resolve({});var o=function(e){return function(t){a(e,t)}},a=function(e,r){t[e]=r,0===--s&&n.resolve(t)},u=function(e){n.reject(e)};for(var c in e)e[c]&&"function"==typeof e[c].then?e[c].then(o(c),u):a(c,e[c]);return n.promise}var i=e.defer;t.hash=n}),e("rsvp/node",["rsvp/promise","rsvp/all","exports"],function(e,t,r){"use strict";function n(e,t){return function(r,n){r?t(r):arguments.length>2?e(Array.prototype.slice.call(arguments,1)):e(n)}}function i(e){return function(){var t,r,i=Array.prototype.slice.call(arguments),a=new s(function(e,n){t=e,r=n});return o(i).then(function(i){i.push(n(t,r));try{e.apply(this,i)}catch(s){r(s)}}),a}}var s=e.Promise,o=t.all;r.denodeify=i}),e("rsvp/promise",["rsvp/config","rsvp/events","exports"],function(e,t,r){"use strict";function n(e){return i(e)||"object"==typeof e&&null!==e}function i(e){return"function"==typeof e}function s(e,t){e===t?a(e,t):o(e,t)||a(e,t)}function o(e,t){var r=null;if(n(t)){try{r=t.then}catch(o){return u(e,o),!0}if(i(r)){try{r.call(t,function(r){t!==r?s(e,r):a(e,r)},function(t){u(e,t)})}catch(o){u(e,o)}return!0}}return!1}function a(e,t){c.async(function(){e.trigger("promise:resolved",{detail:t}),e.isFulfilled=!0,e.fulfillmentValue=t})}function u(e,t){c.async(function(){e.trigger("promise:failed",{detail:t}),e.isRejected=!0,e.rejectedReason=t})}var c=e.config,l=t.EventTarget,h=function(e){var t=this,r=!1;if("function"!=typeof e)throw new TypeError("You must pass a resolver function as the sole argument to the promise constructor");if(!(t instanceof h))return new h(e);var n=function(e){r||(r=!0,s(t,e))},i=function(e){r||(r=!0,u(t,e))};this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this);try{e(n,i)}catch(o){i(o)}},m=function(e,t,r,n){var a,c,l,h,m=i(r);if(m)try{a=r(n.detail),l=!0}catch(f){h=!0,c=f}else a=n.detail,l=!0;o(t,a)||(m&&l?s(t,a):h?u(t,c):"resolve"===e?s(t,a):"reject"===e&&u(t,a))};h.prototype={constructor:h,then:function(e,t){var r=new h(function(){});return this.isFulfilled&&c.async(function(){m("resolve",r,e,{detail:this.fulfillmentValue})},this),this.isRejected&&c.async(function(){m("reject",r,t,{detail:this.rejectedReason})},this),this.on("promise:resolved",function(t){m("resolve",r,e,t)}),this.on("promise:failed",function(e){m("reject",r,t,e)}),r}},l.mixin(h.prototype),r.Promise=h}),e("rsvp/reject",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t,r){r(e)})}var n=e.Promise;t.reject=r}),e("rsvp/resolve",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return"function"==typeof e||"object"==typeof e&&null!==e}function n(e){var t=new i(function(t,n){var i;try{r(e)?(i=e.then,"function"==typeof i?i.call(e,t,n):t(e)):t(e)}catch(s){n(s)}});return t}var i=e.Promise;t.resolve=n}),e("rsvp",["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],function(e,t,r,n,i,s,o,a,u,c){"use strict";function l(e,t){E[e]=t}var h=e.EventTarget,m=t.Promise,f=r.denodeify,p=n.all,d=i.hash,b=s.defer,E=o.config,v=a.resolve,g=u.reject;c.Promise=m,c.EventTarget=h,c.all=p,c.hash=d,c.defer=b,c.denodeify=f,c.configure=l,c.resolve=v,c.reject=g})}(),function(){e("container",[],function(){function e(e){this.parent=e,this.dict={}}function t(t){this.parent=t,this.children=[],this.resolver=t&&t.resolver||function(){},this.registry=new e(t&&t.registry),this.cache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e){throw new Error(e+" is not currently supported on child containers")}function n(e,t){var r=s(e,t,"singleton");return r!==!1}function i(e,t){var r={};if(!t)return r;for(var n,i,s=0,o=t.length;o>s;s++){if(n=t[s],i=e.lookup(n.fullName),!i)throw new Error("Attempting to inject an unknown injection: `"+n.fullName+"`");r[n.property]=i}return r}function s(e,t,r){var n=e._options.get(t);if(n&&void 0!==n[r])return n[r];var i=t.split(":")[0];return n=e._typeOptions.get(i),n?n[r]:void 0}function o(e,t){var r=e.normalize(t);return e.resolve(r)}function a(e,t){var r,n=o(e,t),a=t.split(":"),u=a[0];if(s(e,t,"instantiate")===!1)return n;if(n){var c=[];c=c.concat(e.typeInjections.get(u)||[]),c=c.concat(e.injections[t]||[]);var l=i(e,c);return l.container=e,l._debugContainerKey=t,r=n.create(l)}}function u(e,t){e.cache.eachLocal(function(r,n){s(e,r,"instantiate")!==!1&&t(n)})}function c(e){e.cache.eachLocal(function(t,r){s(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}return e.prototype={parent:null,dict:null,get:function(e){var t=this.dict;return t.hasOwnProperty(e)?t[e]:this.parent?this.parent.get(e):void 0},set:function(e,t){this.dict[e]=t},has:function(e){var t=this.dict;return t.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,t){var r=this.dict;for(var n in r)r.hasOwnProperty(n)&&e.call(t,n,r[n])}},t.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var e=new t(this);return this.children.push(e),e},set:function(e,t,r){e[t]=r},register:function(e,t,r,n){var i;-1!==e.indexOf(":")?(n=r,r=t,i=e):i=e+":"+t;var s=this.normalize(i);this.registry.set(s,r),this._options.set(s,n||{})},resolve:function(e){return this.resolver(e)||this.registry.get(e)},normalize:function(e){return e},lookup:function(e,t){if(e=this.normalize(e),t=t||{},this.cache.has(e)&&t.singleton!==!1)return this.cache.get(e);var r=a(this,e);return r?(n(this,e)&&t.singleton!==!1&&this.cache.set(e,r),r):void 0},lookupFactory:function(e){return o(this,e)},has:function(e){return this.cache.has(e)?!0:!!o(this,e)},optionsForType:function(e,t){this.parent&&r("optionsForType"),this._typeOptions.set(e,t)},options:function(e,t){this.optionsForType(e,t)},typeInjection:function(e,t,n){this.parent&&r("typeInjection");var i=this.typeInjections.get(e);i||(i=[],this.typeInjections.set(e,i)),i.push({property:t,fullName:n})},injection:function(e,t,n){if(this.parent&&r("injection"),-1===e.indexOf(":"))return this.typeInjection(e,t,n);var i=this.injections[e]=this.injections[e]||[];i.push({property:t,fullName:n})},destroy:function(){this.isDestroyed=!0;for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],u(this,function(e){e.destroy()}),delete this.parent,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)c(this.children[e]);c(this)}},t})}(),function(){function e(r,n,i,s){var o,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return s[a];if("array"===Ember.typeOf(r)){if(o=r.slice(),n)for(a=o.length;--a>=0;)o[a]=e(o[a],n,i,s)}else if(Ember.Copyable&&Ember.Copyable.detect(r))o=r.copy(n,i,s);else{o={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(o[u]=n?e(r[u],n,i,s):r[u])}return n&&(i.push(r),s.push(o)),o}var t=Ember.EnumerableUtils.indexOf;Ember.compare=function n(e,t){if(e===t)return 0;var r=Ember.typeOf(e),i=Ember.typeOf(t),s=Ember.Comparable;if(s){if("instance"===r&&s.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===i&&s.detect(t.constructor))return 1-t.constructor.compare(t,e)}var o=Ember.ORDER_DEFINITION_MAPPING;if(!o){var a=Ember.ORDER_DEFINITION;o=Ember.ORDER_DEFINITION_MAPPING={};var u,c;for(u=0,c=a.length;c>u;++u)o[a[u]]=u;delete Ember.ORDER_DEFINITION}var l=o[r],h=o[i];if(h>l)return-1;if(l>h)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var m=e.localeCompare(t);return 0>m?-1:m>0?1:0;case"array":for(var f=e.length,p=t.length,d=Math.min(f,p),b=0,E=0;0===b&&d>E;)b=n(e[E],t[E]),E++;return 0!==b?b:p>f?-1:f>p?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var v=e.getTime(),g=t.getTime();return g>v?-1:v>g?1:0;default:return 0}},Ember.copy=function(t,r){return"object"!=typeof t||null===t?t:Ember.Copyable&&Ember.Copyable.detect(t)?t.copy(r):e(t,r,r?[]:null,r?[]:null)},Ember.inspect=function(e){if("object"!=typeof e||null===e)return e+"";var t,r=[];for(var n in e)if(e.hasOwnProperty(n)){if(t=e[n],"toString"===t)continue;"function"===Ember.typeOf(t)&&(t="function() { ... }"),r.push(n+": "+t)}return"{"+r.join(", ")+"}"},Ember.isEqual=function(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e===t},Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||["undefined","null","boolean","number","string","array","object","instance","function","class","date"],Ember.keys=Object.keys,(!Ember.keys||Ember.create.isSimulated)&&(Ember.keys=function(e){var t=[];for(var r in e)"__"!==r.substring(0,2)&&"_super"!==r&&e.hasOwnProperty(r)&&t.push(r);return t});var r=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){for(var e=Error.apply(this,arguments),t=0;t<r.length;t++)this[r[t]]=e[r[t]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){Ember.RSVP=t("rsvp")}(),function(){var e=/[ _]/g,t={},r=/([a-z])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,s=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(e,t){var r=0;return e.replace(/%@([0-9]+)?/g,function(e,n){return n=n?parseInt(n,0)-1:r++,e=t[n],(null===e?"(null)":void 0===e?"":e).toString()})},loc:function(e,t){return e=Ember.STRINGS[e]||e,Ember.String.fmt(e,t)},w:function(e){return e.split(/\s+/)},decamelize:function(e){return e.replace(r,"$1_$2").toLowerCase()},dasherize:function(r){var n,i=t,s=i.hasOwnProperty(r);return s?i[r]:(n=Ember.String.decamelize(r).replace(e,"-"),i[r]=n,n)},camelize:function(e){return e.replace(n,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e){return e.toLowerCase()})},classify:function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var s=Ember.String.camelize(t[n]);r.push(s.charAt(0).toUpperCase()+s.substr(1))}return r.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(s,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,t=Ember.String.w,r=Ember.String.loc,n=Ember.String.camelize,i=Ember.String.decamelize,s=Ember.String.dasherize,o=Ember.String.underscore,a=Ember.String.capitalize,u=Ember.String.classify;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.fmt=function(){return e(this,arguments)},String.prototype.w=function(){return t(this)},String.prototype.loc=function(){return r(this,arguments)},String.prototype.camelize=function(){return n(this)},String.prototype.decamelize=function(){return i(this)},String.prototype.dasherize=function(){return s(this)},String.prototype.underscore=function(){return o(this)},String.prototype.classify=function(){return u(this)},String.prototype.capitalize=function(){return a(this)})}(),function(){var e=Array.prototype.slice;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)&&(Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this})}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var s=n(r,e);return i?t===s:!!s}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,s=Array.prototype.slice,o=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({isEnumerable:!0,nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var r,i=e();return r=this.nextObject(0,null,i),t(i),r}).property("[]"),lastObject:Ember.computed(function(){var r=n(this,"length");if(0===r)return void 0;var i,s=e(),o=0,a=null;do a=i,i=this.nextObject(o++,a,s);while(void 0!==i);return t(s),a}).property("[]"),contains:function(e){return void 0!==this.find(function(t){return t===e})},forEach:function(r,i){if("function"!=typeof r)throw new TypeError;var s=n(this,"length"),o=null,a=e();void 0===i&&(i=null);for(var u=0;s>u;u++){var c=this.nextObject(u,o,a);r.call(i,c,u,this),o=c}return o=null,a=t(a),this},getEach:function(e){return this.mapProperty(e)},setEach:function(e,t){return this.forEach(function(r){i(r,e,t)})},map:function(e,t){var r=Ember.A();return this.forEach(function(n,i,s){r[i]=e.call(t,n,i,s)}),r},mapProperty:function(e){return this.map(function(t){return n(t,e)})},filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,s){e.call(t,n,i,s)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterProperty:function(){return this.filter(r.apply(this,arguments))},rejectProperty:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},s=2===arguments.length?r:i;return this.reject(s)},find:function(r,i){var s=n(this,"length");void 0===i&&(i=null);for(var o,a,u=null,c=!1,l=e(),h=0;s>h&&!c;h++)o=this.nextObject(h,u,l),(c=r.call(i,o,h,this))&&(a=o),u=o;return o=u=null,l=t(l),a},findProperty:function(){return this.find(r.apply(this,arguments))},every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyProperty:function(){return this.every(r.apply(this,arguments))},some:function(e,t){return!!this.find(function(r,n,i){return!!e.call(t,r,n,i)})},someProperty:function(){return this.some(r.apply(this,arguments))},reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e.call(null,n,t,i,this,r)},this),n},invoke:function(e){var t,r=Ember.A();return arguments.length>1&&(t=s.call(arguments,1)),this.forEach(function(n,i){var s=n&&n[e];"function"==typeof s&&(r[i]=t?s.apply(n,t):s.call(n))},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var t=Ember.A();return this.forEach(function(r){r!==e&&(t[t.length]=r)}),t},uniq:function(){var e=Ember.A();return this.forEach(function(t){o(e,t)<0&&e.push(t)}),e},"[]":Ember.computed(function(){return this}),addEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",s=n(this,"hasEnumerableObservers");return s||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),s||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",s=n(this,"hasEnumerableObservers");return s&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),Ember.removeListener(this,"@enumerable:change",e,i),s&&Ember.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:Ember.computed(function(){return Ember.hasListeners(this,"@enumerable:change")||Ember.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(e,t){var r,i,s;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,s=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),s&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,s;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,s=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),s&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.isNone),r=Ember.EnumerableUtils.map,n=Ember.cacheFor;Ember.Array=Ember.Mixin.create(Ember.Enumerable,{length:Ember.required(),objectAt:function(t){return 0>t||t>=e(this,"length")?void 0:e(this,t)},objectsAt:function(e){var t=this;return r(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(t,r){return void 0!==r&&this.replace(0,e(this,"length"),r),this}),firstObject:Ember.computed(function(){return this.objectAt(0)}),lastObject:Ember.computed(function(){return this.objectAt(e(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(r,n){var i=Ember.A(),s=e(this,"length");for(t(r)&&(r=0),(t(n)||n>s)&&(n=s),0>r&&(r=s+r),0>n&&(n=s+n);n>r;)i[i.length]=this.objectAt(r++);return i},indexOf:function(t,r){var n,i=e(this,"length");for(void 0===r&&(r=0),0>r&&(r+=i),n=r;i>n;n++)if(this.objectAt(n,!0)===t)return n;return-1},lastIndexOf:function(t,r){var n,i=e(this,"length");for((void 0===r||r>=i)&&(r=i-1),0>r&&(r+=i),n=r;n>=0;n--)if(this.objectAt(n)===t)return n;return-1},addArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",s=e(this,"hasArrayObservers");
|
17
|
-
return s||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),s||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",s=e(this,"hasArrayObservers");return s&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),s&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,r,n){void 0===t?(t=0,r=n=-1):(void 0===r&&(r=-1),void 0===n&&(n=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,t,r,n]);var i,s;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],s=t+r;for(var o=t;s>o;o++)i.push(this.objectAt(o))}else i=r;return this.enumerableContentWillChange(i,n),this},arrayContentDidChange:function(t,r,i){void 0===t?(t=0,r=i=-1):(void 0===r&&(r=-1),void 0===i&&(i=-1));var s,o;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){s=[],o=t+i;for(var a=t;o>a;a++)s.push(this.objectAt(a))}else s=i;this.enumerableContentDidChange(r,s),Ember.sendEvent(this,"@array:change",[this,t,r,i]);var u=e(this,"length"),c=n(this,"firstObject"),l=n(this,"lastObject");return this.objectAt(0)!==c&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==l&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){Ember.Comparable=Ember.Mixin.create({isComparable:!0,compare:Ember.required(Function)})}(),function(){var e=Ember.get;Ember.set,Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1,freeze:function(){return e(this,"isFrozen")?this:(t(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."}(),function(){var e=Ember.EnumerableUtils.forEach;Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable,{addObject:Ember.required(Function),addObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.addObject(e)},this),Ember.endPropertyChanges(this),this},removeObject:Ember.required(Function),removeObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.removeObject(e)},this),Ember.endPropertyChanges(this),this}})}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=r(this,"length");return 0===e?this:(this.replace(0,e,t),this)},insertAt:function(t,n){if(t>r(this,"length"))throw new Error(e);return this.replace(t,0,[n]),this},removeAt:function(n,i){if("number"==typeof n){if(0>n||n>=r(this,"length"))throw new Error(e);void 0===i&&(i=1),this.replace(n,i,t)}return this},pushObject:function(e){return this.insertAt(r(this,"length"),e),e},pushObjects:function(e){return this.replace(r(this,"length"),0,e),this},popObject:function(){var e=r(this,"length");if(0===e)return null;var t=this.objectAt(e-1);return this.removeAt(e-1,1),t},shiftObject:function(){if(0===r(this,"length"))return null;var e=this.objectAt(0);return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=r(this,"length");if(0===e)return this;var t=this.toArray().reverse();return this.replace(0,e,t),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this.replace(0,t,e),this},removeObject:function(e){for(var t=r(this,"length")||0;--t>=0;){var n=this.objectAt(t);n===e&&this.removeAt(t)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){var t={},r=arguments;1===arguments.length&&"array"===Ember.typeOf(arguments[0])&&(r=arguments[0]);for(var n=0;n<r.length;n++)t[r[n]]=e(this,r[n]);return t},set:function(e,r){return t(this,e,r),this},setProperties:function(e){return Ember.setProperties(this,e)},beginPropertyChanges:function(){return Ember.beginPropertyChanges(),this},endPropertyChanges:function(){return Ember.endPropertyChanges(),this},propertyWillChange:function(e){return Ember.propertyWillChange(this,e),this},propertyDidChange:function(e){return Ember.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,t,r){Ember.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){Ember.addObserver(this,e,t,r)},removeObserver:function(e,t,r){Ember.removeObserver(this,e,t,r)},hasObserverFor:function(e){return Ember.hasListeners(this,e+":change")},getPath:function(e){return this.get(e)},setPath:function(e,t){return this.set(e,t)},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)+n),e(this,r)},decrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)-n),e(this,r)},toggleProperty:function(r){return t(this,r,!e(this,r)),e(this,r)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){var e=Ember.get;Ember.set,Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,actionContext:null,targetObject:Ember.computed(function(){var t=e(this,"target");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("target"),actionContextObject:Ember.computed(function(){var t=e(this,"actionContext");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("actionContext"),triggerAction:function(t){t=t||{};var r=t.action||e(this,"action"),n=t.target||e(this,"targetObject"),i=t.actionContext||e(this,"actionContextObject")||this;if(n&&r){var s;return s=n.send?n.send.apply(n,[r,i]):n[r].apply(n,[i]),s!==!1&&(s=!0),s}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,t,r){return Ember.addListener(this,e,t,r),this},one:function(e,t,r){return r||(r=t,t=null),Ember.addListener(this,e,t,r,!0),this},trigger:function(e){var t,r,n=[];for(t=1,r=arguments.length;r>t;t++)n.push(arguments[t]);Ember.sendEvent(this,e,n)},fire:function(){this.trigger.apply(this,arguments)},off:function(e,t,r){return Ember.removeListener(this,e,t,r),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=t("rsvp");e.configure("async",function(e,t){Ember.run.schedule("actions",t,e)});var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t){function n(t){return t===s?e(o):e(t)}var i,s,o;return o=this,i=r(this,"_deferred"),s=i.promise,s.then(e&&n,t)},resolve:function(e){var t,n;t=r(this,"_deferred"),n=t.promise,e===this?t.resolve(n):t.resolve(e)},reject:function(e){r(this,"_deferred").reject(e)},_deferred:Ember.computed(function(){return e.defer()})})}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){function e(){var e,t,s=!1,o=function(){s||o.proto(),n(this,i,v),n(this,"_super",v);var u=a(this);if(u.proto=this,e){var l=e;e=null,this.reopen.apply(this,l)}if(t){var h=t;t=null;for(var m=this.concatenatedProperties,f=0,d=h.length;d>f;f++){var g=h[f];for(var y in g)if(g.hasOwnProperty(y)){var w=g[y],_=Ember.IS_BINDING;if(_.test(y)){var C=u.bindings;C?u.hasOwnProperty("bindings")||(C=u.bindings=r(u.bindings)):C=u.bindings={},C[y]=w}var O=u.descs[y];if(m&&E(m,y)>=0){var S=this[y];w=S?"function"==typeof S.concat?S.concat(w):Ember.makeArray(S).concat(w):Ember.makeArray(w)}O?O.set(this,y,w):"function"!=typeof this.setUnknownProperty||y in this?b?Ember.defineProperty(this,y,null,w):this[y]=w:this.setUnknownProperty(y,w)}}}p(this,u),delete u.proto,c(this),this.init.apply(this,arguments)};return o.toString=m.prototype.toString,o.willReopen=function(){s&&(o.PrototypeMixin=m.create(o.PrototypeMixin)),s=!1},o._initMixins=function(t){e=t},o._initProperties=function(e){t=e},o.proto=function(){var e=o.superclass;return e&&e.proto(),s||(s=!0,o.PrototypeMixin.applyPartial(o.prototype),u(o.prototype)),this.prototype},o}function t(e){return function(){return e}}var r=(Ember.set,Ember.get,Ember.create),n=Ember.platform.defineProperty,i=Ember.GUID_KEY,s=Ember.guidFor,o=Ember.generateGuid,a=Ember.meta,u=Ember.rewatch,c=Ember.finishChains,l=Ember.destroy,h=Ember.run.schedule,m=Ember.Mixin,f=m._apply,p=m.finishPartial,d=m.prototype.reopen,b=Ember.ENV.MANDATORY_SETTER,E=Ember.EnumerableUtils.indexOf,v={configurable:!0,writable:!0,enumerable:!1,value:void 0},g=e();g.toString=function(){return"Ember.CoreObject"},g.PrototypeMixin=m.create({reopen:function(){return f(this,arguments,!0),this},isInstance:!0,init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,h("actions",this,this.willDestroy),h("destroy",this,this._scheduledDestroy),this)},willDestroy:Ember.K,_scheduledDestroy:function(){this.isDestroyed||(l(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof Ember.Binding||(t=Ember.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,r=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+s(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var y=m.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var t,n=e();return n.ClassMixin=m.create(this.ClassMixin),n.PrototypeMixin=m.create(this.PrototypeMixin),n.ClassMixin.ownerConstructor=n,n.PrototypeMixin.ownerConstructor=n,d.apply(n.PrototypeMixin,arguments),n.superclass=this,n.__super__=this.prototype,t=n.prototype=r(this.prototype),t.constructor=n,o(t,"ember"),a(t).proto=t,n.ClassMixin.apply(n),n},createWithMixins:function(){var e=this;return arguments.length>0&&this._initMixins(arguments),new e},create:function(){var e=this;return arguments.length>0&&this._initProperties(arguments),new e},reopen:function(){return this.willReopen(),d.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return d.apply(this.ClassMixin,arguments),f(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;for(;e;){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=a(this.proto(),!1).descs[e];return t._meta||{}},eachComputedProperty:function(e,t){var r,n=this.proto(),i=a(n).descs,s={};for(var o in i)r=i[o],r instanceof Ember.ComputedProperty&&e.call(t||this,o,r._meta||s)}});y.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(y),g.ClassMixin=y,y.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var o=t.length;c[t.join(".")]=r;for(var a in r)if(l.call(r,a)){var u=r[a];if(t[o]=a,u&&u.toString===n)u.toString=s(t.join(".")),u[m]=t.join(".");else if(u&&u.isNamespace){if(i[h(u)])continue;i[h(u)]=!0,e(t,u,i)}}t.length=o}function t(){var e,t,r=Ember.Namespace,n=Ember.lookup;if(!r.PROCESSED)for(var i in n)if("parent"!==i&&"top"!==i&&"frameElement"!==i&&"webkitStorageInfo"!==i&&!("globalStorage"===i&&n.StorageList&&n.globalStorage instanceof n.StorageList||n.hasOwnProperty&&!n.hasOwnProperty(i))){try{e=Ember.lookup[i],t=e&&e.isNamespace}catch(s){continue}t&&(e[m]=i)}}function r(e){var t=e.superclass;return t?t[m]?t[m]:r(t):void 0}function n(){Ember.BOOTED||this[m]||i();var e;if(this[m])e=this[m];else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=s(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||n){for(var i,s=u.NAMESPACES,o=0,a=s.length;a>o;o++)i=s[o],e([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function s(e){return function(){return e}}var o=Ember.get,a=Ember.ArrayPolyfills.indexOf,u=Ember.Namespace=Ember.Object.extend({isNamespace:!0,init:function(){Ember.Namespace.NAMESPACES.push(this),Ember.Namespace.PROCESSED=!1},toString:function(){var e=o(this,"name");return e?e:(t(),this[Ember.GUID_KEY+"_name"])},nameClasses:function(){e([this.toString()],this,{})},destroy:function(){var e=Ember.Namespace.NAMESPACES;Ember.lookup[this.toString()]=void 0,e.splice(a.call(e,this),1),this._super()}});u.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:i,byName:function(e){return Ember.BOOTED||i(),c[e]}});var c=u.NAMESPACES_BY_ID,l={}.hasOwnProperty,h=Ember.guidFor,m=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=n}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return r(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r(this,"content").replace(e,t,n)},_contentWillChange:Ember.beforeObserver(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){r(this,"content"),this._setupContent()},"content"),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)},"arrangedContent"),_setupArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return r(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=r(this,"arrangedContent");return e?r(e,"length"):0}),_replace:function(e,t,n){var i=r(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r(this,"arrangedContent")!==r(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(t,n){if(t>r(this,"content.length"))throw new Error(e);return this._replace(t,0,[n]),this},insertAt:function(e,t){if(r(this,"arrangedContent")===r(this,"content"))return this._insertAt(e,t);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(n,i){if("number"==typeof n){var s,o=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Error(e);for(void 0===i&&(i=1),s=n;n+i>s;s++)u.push(o.indexOf(a.objectAt(s)));for(u.sort(function(e,t){return t-e}),Ember.beginPropertyChanges(),s=0;s<u.length;s++)this._replace(u[s],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r(this,"content.length"),e),e},pushObjects:function(e){return this._replace(r(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this._replace(0,t,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,t,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function e(e,t){var r=t.slice(8);r in this||u(this,r)}function t(e,t){var r=t.slice(8);r in this||c(this,r)}var r=Ember.get,n=Ember.set,i=(Ember.String.fmt,Ember.addBeforeObserver),s=Ember.addObserver,o=Ember.removeBeforeObserver,a=Ember.removeObserver,u=Ember.propertyWillChange,c=Ember.propertyDidChange;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),s(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;o(this,n,null,e),a(this,n,null,t)},unknownProperty:function(e){var t=r(this,"content");return t?r(t,e):void 0},setUnknownProperty:function(e,t){var i=r(this,"content");return n(i,e,t)}}),Ember.ObjectProxy.reopenClass({create:function(){var e,t,r,n,i,s;if(arguments.length){for(t=this.proto(),r=0,n=arguments.length;n>r;r++){i=arguments[r];for(s in i)!i.hasOwnProperty(s)||s in t||(e||(e={}),e[s]=null)}e&&this._initMixins([e])}return this._super.apply(this,arguments)}})}(),function(){function e(e,t,r,i,s){var o,a=r._objects;for(a||(a=r._objects={});--s>=i;){var u=e.objectAt(s);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),o=n(u),a[o]||(a[o]=[]),a[o].push(s))}}function t(e,t,r,i,s){var o=r._objects;o||(o=r._objects={});for(var a,u;--s>=i;){var c=e.objectAt(s);c&&(Ember.removeBeforeObserver(c,t,r,"contentKeyWillChange"),Ember.removeObserver(c,t,r,"contentKeyDidChange"),u=n(c),a=o[u],a[a.indexOf(s)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,s=Ember.Object.extend(Ember.Array,{init:function(e,t,r){this._super(),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r(t,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?r(e,"length"):0})}),o=/^.+:(before|change)$/;Ember.EachProxy=Ember.Object.extend({init:function(e){this._super(),this._content=e,e.addArrayObserver(this),i(Ember.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e){var t;return t=new s(this._content,e,this),Ember.defineProperty(this,e,null,t),this.beginObservingContentKey(e),t},arrayWillChange:function(e,r,n){var i,s,o=this._keys;s=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in o)o.hasOwnProperty(i)&&(s>0&&t(e,i,this,r,s),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var s,o,a=this._keys;o=i>0?r+i:-1,Ember.beginPropertyChanges(this);for(s in a)a.hasOwnProperty(s)&&(o>0&&e(t,s,this,r,o),Ember.propertyDidChange(this,s));Ember.propertyDidChange(this._content,"@each"),Ember.endPropertyChanges(this)},didAddListener:function(e){o.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){o.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(t){var n=this._keys;if(n||(n=this._keys={}),n[t])n[t]++;else{n[t]=1;var i=this._content,s=r(i,"length");e(i,t,this,0,s)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,s=r(i,"length");t(i,e,this,0,s)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get;Ember.set;var t=Ember.Mixin.create(Ember.MutableArray,Ember.Observable,Ember.Copyable,{get:function(e){return"length"===e?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(t,r,n){if(this.isFrozen)throw Ember.FROZEN_ERROR;var i=n?e(n,"length"):0;if(this.arrayContentWillChange(t,r,i),n&&0!==n.length){var s=[t,r].concat(n);this.splice.apply(this,s)}else this.splice(t,r);return this.arrayContentDidChange(t,r,i),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:function(e,t){var r,n=this.length;for(t=void 0===t?0:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;n>r;r++)if(this[r]===e)return r;return-1},lastIndexOf:function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),r=["length"];Ember.EnumerableUtils.forEach(t.keys(),function(e){Array.prototype[e]&&r.push(e)}),r.length>0&&(t=t.without.apply(t,r)),Ember.NativeArray=t,Ember.A=function(e){return void 0===e&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){t.apply(Array.prototype),Ember.A=function(e){return e||[]}},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Array)&&Ember.NativeArray.activate()}(),function(){var e=Ember.get,t=Ember.set,r=Ember.guidFor,n=Ember.isNone,i=Ember.String.fmt;Ember.Set=Ember.CoreObject.extend(Ember.MutableEnumerable,Ember.Copyable,Ember.Freezable,{length:0,clear:function(){if(this.isFrozen)throw new Error(Ember.FROZEN_ERROR);var n=e(this,"length");if(0===n)return this;var i;this.enumerableContentWillChange(n,0),Ember.propertyWillChange(this,"firstObject"),Ember.propertyWillChange(this,"lastObject");for(var s=0;n>s;s++)i=r(this[s]),delete this[i],delete this[s];return t(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(n,0),this},isEqual:function(t){if(!Ember.Enumerable.detect(t))return!1;var r=e(this,"length");if(e(t,"length")!==r)return!1;for(;--r>=0;)if(!t.contains(this[r]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);var t=this.length>0?this[this.length-1]:null;return this.remove(t),t},push:Ember.aliasMethod("addObject"),shift:Ember.aliasMethod("pop"),unshift:Ember.aliasMethod("push"),addEach:Ember.aliasMethod("addObjects"),removeEach:Ember.aliasMethod("removeObjects"),init:function(e){this._super(),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:Ember.computed(function(){return this.length>0?this[0]:void 0}),lastObject:Ember.computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var s,o=r(i),a=this[o],u=e(this,"length");return a>=0&&u>a&&this[a]===i?this:(s=[i],this.enumerableContentWillChange(null,s),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[o]=u,this[u]=i,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,s),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var s,o,a=r(i),u=this[a],c=e(this,"length"),l=0===u,h=u===c-1;return u>=0&&c>u&&this[u]===i&&(o=[i],this.enumerableContentWillChange(o,null),l&&Ember.propertyWillChange(this,"firstObject"),h&&Ember.propertyWillChange(this,"lastObject"),c-1>u&&(s=this[c-1],this[u]=s,this[r(s)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),l&&Ember.propertyDidChange(this,"firstObject"),h&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(o,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,s=e(this,"length");for(t(i,"length",s);--s>=0;)i[s]=this[s],i[r(this[s])]=s;return i},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return i("Ember.Set<%@>",[r.join(",")])}})}(),function(){var e=Ember.DeferredMixin;Ember.get;var t=Ember.Object.extend(e);t.reopenClass({promise:function(e,r){var n=t.create();return e.call(r,n),n}}),Ember.Deferred=t}(),function(){var e=Ember.ArrayPolyfills.forEach,t=Ember.ENV.EMBER_LOAD_HOOKS||{},r={};Ember.onLoad=function(e,n){var i;t[e]=t[e]||Ember.A(),t[e].pushObject(n),(i=r[e])&&n(i)},Ember.runLoadHooks=function(n,i){r[n]=i,t[n]&&e.call(t[n],function(e){e(i)})}}(),function(){var e=Ember.get;Ember.ControllerMixin=Ember.Mixin.create({isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),send:function(t){var r,n=[].slice.call(arguments,1);this[t]?this[t].apply(this,n):(r=e(this,"target"))&&r.send.apply(r,arguments)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,s=e(this,"sortProperties"),o=e(this,"sortAscending"),a=e(this,"sortFunction");return t(s,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||o||(i=-1*i))}),i},destroy:function(){var r=e(this,"content"),n=e(this,"sortProperties");return r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(){var r=e(this,"content"),n=e(this,"isSorted"),i=e(this,"sortProperties"),s=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return s.orderBy(e,t)}),t(r,function(e){t(i,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(r)):r}),_contentWillChange:Ember.beforeObserver(function(){var r=e(this,"content"),n=e(this,"sortProperties");r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(r,n,i,s){var o=e(this,"isSorted");if(o){var a=e(this,"arrangedContent"),u=r.slice(n,n+i),c=e(this,"sortProperties");t(u,function(e){a.removeObject(e),t(c,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,s)},contentArrayDidChange:function(r,n,i,s){var o=e(this,"isSorted"),a=e(this,"sortProperties");if(o){var u=r.slice(n,n+s);t(u,function(e){this.insertItemSorted(e),t(a,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,s)},insertItemSorted:function(t){var r=e(this,"arrangedContent"),n=e(r,"length"),i=this._binarySearch(t,0,n);r.insertAt(i,t)},contentItemSortPropertyDidChange:function(t){var r=e(this,"arrangedContent"),n=r.indexOf(t),i=r.objectAt(n-1),s=r.objectAt(n+1),o=i&&this.orderBy(t,i),a=s&&this.orderBy(t,s);(0>o||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,s,o,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),s=a.objectAt(i),o=this.orderBy(s,t),0>o?this._binarySearch(t,i+1,n):o>0?this._binarySearch(t,r,i):i)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach),r=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(){return e(this,"itemController")},objectAtContent:function(t){var r=e(this,"length"),n=e(this,"arrangedContent"),i=n&&n.objectAt(t);if(t>=0&&r>t){var s=this.lookupItemController(i);if(s)return this.controllerAt(t,i,s)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(n,i,s){var o=e(this,"_subControllers"),a=o.slice(n,n+i);t(a,function(e){e&&e.destroy()}),r(o,n,i,new Array(s)),this._super(n,i,s)},init:function(){this.get("content")||Ember.defineProperty(this,"content",void 0,Ember.A()),this._super(),this.set("_subControllers",Ember.A())},controllerAt:function(t,r,n){var i=e(this,"container"),s=e(this,"_subControllers"),o=s[t];if(o||(o=i.lookup("controller:"+n,{singleton:!1}),s[t]=o),!o)throw new Error('Could not resolve itemController: "'+n+'"');return o.set("target",this),o.set("parentController",e(this,"parentController")||this),o.set("content",r),o},_subControllers:null,_resetSubControllers:function(){var r=e(this,"_subControllers");r&&t(r,function(e){e&&e.destroy()}),this.set("_subControllers",Ember.A())}})}(),function(){Ember.ObjectController=Ember.ObjectProxy.extend(Ember.ControllerMixin)}(),function(){var e=Ember.imports.jQuery;Ember.$=e}(),function(){if(Ember.$){var e=Ember.String.w("dragstart drag dragenter dragleave dragover drop dragend");Ember.EnumerableUtils.forEach(e,function(e){Ember.$.event.fixHooks[e]={props:["dataTransfer"]}})}}(),function(){function e(e){var t=e.shiftKey||e.metaKey||e.altKey||e.ctrlKey,r=e.which>1;return!t&&!r}var t=this.document&&function(){var e=document.createElement("div");return e.innerHTML="<div></div>",e.firstChild.innerHTML="<script></script>",""===e.firstChild.innerHTML}(),r=this.document&&function(){var e=document.createElement("div");return e.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===e.childNodes[0].nodeValue&&" Value"===e.childNodes[2].nodeValue}(),n=function(e,t){if(e.getAttribute("id")===t)return e;var r,i,s,o=e.childNodes.length;for(r=0;o>r;r++)if(i=e.childNodes[r],s=1===i.nodeType&&n(i,t))return s},i=function(e,i){t&&(i="­"+i);var s=[];if(r&&(i=i.replace(/(\s+)(<script id='([^']+)')/g,function(e,t,r,n){return s.push([n,t]),r})),e.innerHTML=i,s.length>0){var o,a=s.length;for(o=0;a>o;o++){var u=n(e,s[o][0]),c=document.createTextNode(s[o][1]);u.parentNode.insertBefore(c,u)}}if(t){for(var l=e.firstChild;1===l.nodeType&&!l.nodeName;)l=l.firstChild;3===l.nodeType&&""===l.nodeValue.charAt(0)&&(l.nodeValue=l.nodeValue.slice(1))}},s={},o=function(e){if(void 0!==s[e])return s[e];var t=!0;if("select"===e.toLowerCase()){var r=document.createElement("select");i(r,'<option value="test">Test</option>'),t=1===r.options.length}return s[e]=t,t},a=function(e,t){var r=e.tagName;if(o(r))i(e,t);else{var n=e.outerHTML||(new XMLSerializer).serializeToString(e),s=n.match(new RegExp("<"+r+"([^>]*)>","i"))[0],a="</"+r+">",u=document.createElement("div");for(i(u,s+t+a),e=u.firstChild;e.tagName!==r;)e=e.nextSibling}return e};Ember.ViewUtils={setInnerHTML:a,isSimpleClick:e}}(),function(){Ember.get,Ember.set;var e=function(){this.seen={},this.list=[]};e.prototype={add:function(e){e in this.seen||(this.seen[e]=!0,this.list.push(e))},toDOM:function(){return this.list.join(" ")}},Ember.RenderBuffer=function(e){return new Ember._RenderBuffer(e)},Ember._RenderBuffer=function(e){this.tagNames=[e||null],this.buffer=""},Ember._RenderBuffer.prototype={_element:null,_hasElement:!0,elementClasses:null,classes:null,elementId:null,elementAttributes:null,elementProperties:null,elementTag:null,elementStyle:null,parentBuffer:null,push:function(e){return this.buffer+=e,this},addClass:function(t){return this.elementClasses=this.elementClasses||new e,this.elementClasses.add(t),this.classes=this.elementClasses.list,this},setClasses:function(e){this.classes=e},id:function(e){return this.elementId=e,this},attr:function(e,t){var r=this.elementAttributes=this.elementAttributes||{};return 1===arguments.length?r[e]:(r[e]=t,this)},removeAttr:function(e){var t=this.elementAttributes;return t&&delete t[e],this},prop:function(e,t){var r=this.elementProperties=this.elementProperties||{};
|
18
|
-
return 1===arguments.length?r[e]:(r[e]=t,this)},removeProp:function(e){var t=this.elementProperties;return t&&delete t[e],this},style:function(e,t){return this.elementStyle=this.elementStyle||{},this.elementStyle[e]=t,this},begin:function(e){return this.tagNames.push(e||null),this},pushOpeningTag:function(){var e=this.currentTagName();if(e){if(this._hasElement&&!this._element&&0===this.buffer.length)return this._element=this.generateElement(),void 0;var t,r,n=this.buffer,i=this.elementId,s=this.classes,o=this.elementAttributes,a=this.elementProperties,u=this.elementStyle;if(n+="<"+e,i&&(n+=' id="'+this._escapeAttribute(i)+'"',this.elementId=null),s&&(n+=' class="'+this._escapeAttribute(s.join(" "))+'"',this.classes=null),u){n+=' style="';for(r in u)u.hasOwnProperty(r)&&(n+=r+":"+this._escapeAttribute(u[r])+";");n+='"',this.elementStyle=null}if(o){for(t in o)o.hasOwnProperty(t)&&(n+=" "+t+'="'+this._escapeAttribute(o[t])+'"');this.elementAttributes=null}if(a){for(r in a)if(a.hasOwnProperty(r)){var c=a[r];(c||"number"==typeof c)&&(n+=c===!0?" "+r+'="'+r+'"':" "+r+'="'+this._escapeAttribute(a[r])+'"')}this.elementProperties=null}n+=">",this.buffer=n}},pushClosingTag:function(){var e=this.tagNames.pop();e&&(this.buffer+="</"+e+">")},currentTagName:function(){return this.tagNames[this.tagNames.length-1]},generateElement:function(){var e,t,r=this.tagNames.pop(),n=document.createElement(r),i=Ember.$(n),s=this.elementId,o=this.classes,a=this.elementAttributes,u=this.elementProperties,c=this.elementStyle,l="";if(s&&(i.attr("id",s),this.elementId=null),o&&(i.attr("class",o.join(" ")),this.classes=null),c){for(t in c)c.hasOwnProperty(t)&&(l+=t+":"+c[t]+";");i.attr("style",l),this.elementStyle=null}if(a){for(e in a)a.hasOwnProperty(e)&&i.attr(e,a[e]);this.elementAttributes=null}if(u){for(t in u)u.hasOwnProperty(t)&&i.prop(t,u[t]);this.elementProperties=null}return n},element:function(){var e=this.innerString();return e&&(this._element=Ember.ViewUtils.setInnerHTML(this._element,e)),this._element},string:function(){if(this._hasElement&&this._element){var e=this.element(),t=e.outerHTML;return"undefined"==typeof t?Ember.$("<div/>").append(e).html():t}return this.innerString()},innerString:function(){return this.buffer},_escapeAttribute:function(e){var t={"<":"<",">":">",'"':""","'":"'","`":"`"},r=/&(?!\w+;)|[<>"'`]/g,n=/[&<>"'`]/,i=function(e){return t[e]||"&"},s=e.toString();return n.test(s)?s.replace(r,i):s}}}(),function(){var e=Ember.get,t=Ember.set;Ember.String.fmt,Ember.EventDispatcher=Ember.Object.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",setup:function(r,n){var i,s=e(this,"events");Ember.$.extend(s,r||{}),Ember.isNone(n)||t(this,"rootElement",n),n=Ember.$(e(this,"rootElement")),n.addClass("ember-application");for(i in s)s.hasOwnProperty(i)&&this.setupHandler(n,i,s[i])},setupHandler:function(e,t,r){var n=this;e.on(t+".ember",".ember-view",function(e,t){return Ember.handleErrors(function(){var i=Ember.View.views[this.id],s=!0,o=null;return o=n._findNearestEventManager(i,r),o&&o!==t?s=n._dispatchEvent(o,e,r,i):i?s=n._bubbleEvent(i,e,r):e.stopPropagation(),s},this)}),e.on(t+".ember","[data-ember-action]",function(e){return Ember.handleErrors(function(){var t=Ember.$(e.currentTarget).attr("data-ember-action"),n=Ember.Handlebars.ActionHelper.registeredActions[t];return n&&n.eventName===r?n.handler(e):void 0},this)})},_findNearestEventManager:function(t,r){for(var n=null;t&&(n=e(t,"eventManager"),!n||!n[r]);)t=e(t,"parentView");return n},_dispatchEvent:function(e,t,r,n){var i=!0,s=e[r];return"function"===Ember.typeOf(s)?(i=s.call(e,t,n),t.stopPropagation()):i=this._bubbleEvent(n,t,r),i},_bubbleEvent:function(e,t,r){return Ember.run(function(){return e.handleEvent(r,t)})},destroy:function(){var t=e(this,"rootElement");return Ember.$(t).off(".ember","**").removeClass("ember-application"),this._super()}})}(),function(){var e=Ember.run.queues,t=Ember.ArrayPolyfills.indexOf;e.splice(t.call(e,"actions")+1,0,"render","afterRender")}(),function(){var e=Ember.get,t=Ember.set;Ember.ControllerMixin.reopen({target:null,namespace:null,view:null,container:null,_childContainers:null,init:function(){this._super(),t(this,"_childContainers",{})},_modelDidChange:Ember.observer(function(){var r=e(this,"_childContainers");for(var n in r)r.hasOwnProperty(n)&&r[n].destroy();t(this,"_childContainers",{})},"model")})}(),function(){function e(){Ember.run.once(Ember.View,"notifyMutationListeners")}var t={},r=Ember.get,n=Ember.set,i=Ember.guidFor,s=Ember.EnumerableUtils.forEach,o=Ember.EnumerableUtils.addObject,a=Ember.computed(function(){var e=this._childViews,t=Ember.A(),n=this;return s(e,function(e){e.isVirtual?t.pushObjects(r(e,"childViews")):t.push(e)}),t.replace=function(e,t,r){if(n instanceof Ember.ContainerView)return n.replace(e,t,r);throw new Error("childViews is immutable")},t});Ember.TEMPLATES={},Ember.CoreView=Ember.Object.extend(Ember.Evented,{isView:!0,states:t,init:function(){this._super(),this.transitionTo("preRender")},parentView:Ember.computed(function(){var e=this._parentView;return e&&e.isVirtual?r(e,"parentView"):e}).property("_parentView"),state:null,_parentView:null,concreteView:Ember.computed(function(){return this.isVirtual?r(this,"parentView"):this}).property("parentView"),instrumentName:"core_view",instrumentDetails:function(e){e.object=this.toString()},renderToBuffer:function(e,t){var r="render."+this.instrumentName,n={};return this.instrumentDetails(n),Ember.instrument(r,n,function(){return this._renderToBuffer(e,t)},this)},_renderToBuffer:function(e){var t=this.tagName;(null===t||void 0===t)&&(t="div");var r=this.buffer=e&&e.begin(t)||Ember.RenderBuffer(t);return this.transitionTo("inBuffer",!1),this.beforeRender(r),this.render(r),this.afterRender(r),r},trigger:function(e){this._super.apply(this,arguments);var t=this[e];if(t){var r,n,i=[];for(r=1,n=arguments.length;n>r;r++)i.push(arguments[r]);return t.apply(this,i)}},has:function(e){return"function"===Ember.typeOf(this[e])||this._super(e)},destroy:function(){var e=this._parentView;if(this._super())return this.removedFromDOM||this.destroyElement(),e&&e.removeChild(this),this.transitionTo("destroying",!1),this},clearRenderedChildren:Ember.K,triggerRecursively:Ember.K,invokeRecursively:Ember.K,transitionTo:Ember.K,destroyElement:Ember.K});var u=Ember._ViewCollection=function(e){var t=this.views=e||[];this.length=t.length};u.prototype={length:0,trigger:function(e){for(var t,r=this.views,n=0,i=r.length;i>n;n++)t=r[n],t.trigger&&t.trigger(e)},triggerRecursively:function(e){for(var t=this.views,r=0,n=t.length;n>r;r++)t[r].triggerRecursively(e)},invokeRecursively:function(e){for(var t,r=this.views,n=0,i=r.length;i>n;n++)t=r[n],e(t)},transitionTo:function(e,t){for(var r=this.views,n=0,i=r.length;i>n;n++)r[n].transitionTo(e,t)},push:function(){this.length+=arguments.length;var e=this.views;return e.push.apply(e,arguments)},objectAt:function(e){return this.views[e]},forEach:function(e){var t=this.views;return s(t,e)},clear:function(){this.length=0,this.views.length=0}};var c=[];Ember.View=Ember.CoreView.extend({concatenatedProperties:["classNames","classNameBindings","attributeBindings"],isView:!0,templateName:null,layoutName:null,templates:Ember.TEMPLATES,template:Ember.computed(function(e,t){if(void 0!==t)return t;var n=r(this,"templateName"),i=this.templateForName(n,"template");return i||r(this,"defaultTemplate")}).property("templateName"),controller:Ember.computed(function(){var e=r(this,"_parentView");return e?r(e,"controller"):null}).property("_parentView"),layout:Ember.computed(function(){var e=r(this,"layoutName"),t=this.templateForName(e,"layout");return t||r(this,"defaultLayout")}).property("layoutName"),templateForName:function(e){if(e){var t=this.container||Ember.Container&&Ember.Container.defaultContainer;return t&&t.lookup("template:"+e)}},context:Ember.computed(function(e,t){return 2===arguments.length?(n(this,"_context",t),t):r(this,"_context")}).volatile(),_context:Ember.computed(function(){var e,t;return(t=r(this,"controller"))?t:(e=this._parentView,e?r(e,"_context"):null)}),_contextDidChange:Ember.observer(function(){this.rerender()},"context"),isVisible:!0,childViews:a,_childViews:c,_childViewsWillChange:Ember.beforeObserver(function(){if(this.isVirtual){var e=r(this,"parentView");e&&Ember.propertyWillChange(e,"childViews")}},"childViews"),_childViewsDidChange:Ember.observer(function(){if(this.isVirtual){var e=r(this,"parentView");e&&Ember.propertyDidChange(e,"childViews")}},"childViews"),nearestInstanceOf:function(e){for(var t=r(this,"parentView");t;){if(t instanceof e)return t;t=r(t,"parentView")}},nearestOfType:function(e){for(var t=r(this,"parentView"),n=e instanceof Ember.Mixin?function(t){return e.detect(t)}:function(t){return e.detect(t.constructor)};t;){if(n(t))return t;t=r(t,"parentView")}},nearestWithProperty:function(e){for(var t=r(this,"parentView");t;){if(e in t)return t;t=r(t,"parentView")}},nearestChildOf:function(e){for(var t=r(this,"parentView");t;){if(r(t,"parentView")instanceof e)return t;t=r(t,"parentView")}},_parentViewDidChange:Ember.observer(function(){this.isDestroying||(this.trigger("parentViewDidChange"),r(this,"parentView.controller")&&!r(this,"controller")&&this.notifyPropertyChange("controller"))},"_parentView"),_controllerDidChange:Ember.observer(function(){this.isDestroying||(this.rerender(),this.forEachChildView(function(e){e.propertyDidChange("controller")}))},"controller"),cloneKeywords:function(){var e=r(this,"templateData"),t=e?Ember.copy(e.keywords):{};return n(t,"view",r(this,"concreteView")),n(t,"_view",this),n(t,"controller",r(this,"controller")),t},render:function(e){var t=r(this,"layout")||r(this,"template");if(t){var n,i=r(this,"context"),s=this.cloneKeywords(),o={view:this,buffer:e,isRenderData:!0,keywords:s,insideGroup:r(this,"templateData.insideGroup")};n=t(i,{data:o}),void 0!==n&&e.push(n)}},rerender:function(){return this.currentState.rerender(this)},clearRenderedChildren:function(){for(var e=this.lengthBeforeRender,t=this.lengthAfterRender,r=this._childViews,n=t-1;n>=e;n--)r[n]&&r[n].destroy()},_applyClassNameBindings:function(e){var t,r,n,i=this.classNames;s(e,function(e){var s,a=Ember.View._parsePropertyPath(e),u=function(){r=this._classStringForProperty(e),t=this.$(),s&&(t.removeClass(s),i.removeObject(s)),r?(t.addClass(r),s=r):s=null};n=this._classStringForProperty(e),n&&(o(i,n),s=n),this.registerObserver(this,a.path,u),this.one("willClearRender",function(){s&&(i.removeObject(s),s=null)})},this)},_applyAttributeBindings:function(e,t){var n,i;s(t,function(t){var s=t.split(":"),o=s[0],a=s[1]||o,u=function(){i=this.$(),n=r(this,o),Ember.View.applyAttributeBindings(i,a,n)};this.registerObserver(this,o,u),n=r(this,o),Ember.View.applyAttributeBindings(e,a,n)},this)},_classStringForProperty:function(e){var t=Ember.View._parsePropertyPath(e),n=t.path,i=r(this,n);return void 0===i&&Ember.isGlobalPath(n)&&(i=r(Ember.lookup,n)),Ember.View._classStringForValue(n,i,t.className,t.falsyClassName)},element:Ember.computed(function(e,t){return void 0!==t?this.currentState.setElement(this,t):this.currentState.getElement(this)}).property("_parentView"),$:function(e){return this.currentState.$(this,e)},mutateChildViews:function(e){for(var t,r=this._childViews,n=r.length;--n>=0;)t=r[n],e(this,t,n);return this},forEachChildView:function(e){var t=this._childViews;if(!t)return this;var r,n,i=t.length;for(n=0;i>n;n++)r=t[n],e(r);return this},appendTo:function(e){return this._insertElementLater(function(){this.$().appendTo(e)}),this},replaceIn:function(e){return this._insertElementLater(function(){Ember.$(e).empty(),this.$().appendTo(e)}),this},_insertElementLater:function(e){this._scheduledInsert=Ember.run.scheduleOnce("render",this,"_insertElement",e)},_insertElement:function(e){this._scheduledInsert=null,this.currentState.insertElement(this,e)},append:function(){return this.appendTo(document.body)},remove:function(){this.removedFromDOM||this.destroyElement(),this.invokeRecursively(function(e){e.clearRenderedChildren&&e.clearRenderedChildren()})},elementId:null,findElementInParentElement:function(e){var t="#"+this.elementId;return Ember.$(t)[0]||Ember.$(t,e)[0]},createElement:function(){if(r(this,"element"))return this;var e=this.renderToBuffer();return n(this,"element",e.element()),this},willInsertElement:Ember.K,didInsertElement:Ember.K,willClearRender:Ember.K,invokeRecursively:function(e,t){for(var r,n,i=t===!1?this._childViews:[this];i.length;){r=i.slice(),i=[];for(var s=0,o=r.length;o>s;s++)n=r[s],e(n),n._childViews&&i.push.apply(i,n._childViews)}},triggerRecursively:function(e){for(var t,r,n=[this];n.length;){t=n.slice(),n=[];for(var i=0,s=t.length;s>i;i++)r=t[i],r.trigger&&r.trigger(e),r._childViews&&n.push.apply(n,r._childViews)}},viewHierarchyCollection:function(){for(var e,t=new u([this]),r=0;r<t.length;r++)e=t.objectAt(r),e._childViews&&t.push.apply(t,e._childViews);return t},destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:function(){},_notifyWillDestroyElement:function(){var e=this.viewHierarchyCollection();return e.trigger("willClearRender"),e.trigger("willDestroyElement"),e},_elementWillChange:Ember.beforeObserver(function(){this.forEachChildView(function(e){Ember.propertyWillChange(e,"element")})},"element"),_elementDidChange:Ember.observer(function(){this.forEachChildView(function(e){Ember.propertyDidChange(e,"element")})},"element"),parentViewDidChange:Ember.K,instrumentName:"view",instrumentDetails:function(e){e.template=r(this,"templateName"),this._super(e)},_renderToBuffer:function(e,t){this.lengthBeforeRender=this._childViews.length;var r=this._super(e,t);return this.lengthAfterRender=this._childViews.length,r},renderToBufferIfNeeded:function(e){return this.currentState.renderToBufferIfNeeded(this,e)},beforeRender:function(e){this.applyAttributesToBuffer(e),e.pushOpeningTag()},afterRender:function(e){e.pushClosingTag()},applyAttributesToBuffer:function(e){var t=r(this,"classNameBindings");t.length&&this._applyClassNameBindings(t);var n=r(this,"attributeBindings");n.length&&this._applyAttributeBindings(e,n),e.setClasses(this.classNames),e.id(this.elementId);var i=r(this,"ariaRole");i&&e.attr("role",i),r(this,"isVisible")===!1&&e.style("display","none")},tagName:null,ariaRole:null,classNames:["ember-view"],classNameBindings:c,attributeBindings:c,init:function(){this.elementId=this.elementId||i(this),this._super(),this._childViews=this._childViews.slice(),this.classNameBindings=Ember.A(this.classNameBindings.slice()),this.classNames=Ember.A(this.classNames.slice());var e=r(this,"viewController");e&&(e=r(e),e&&n(e,"view",this))},appendChild:function(e,t){return this.currentState.appendChild(this,e,t)},removeChild:function(e){if(!this.isDestroying){n(e,"_parentView",null);var t=this._childViews;return Ember.EnumerableUtils.removeObject(t,e),this.propertyDidChange("childViews"),this}},removeAllChildren:function(){return this.mutateChildViews(function(e,t){e.removeChild(t)})},destroyAllChildren:function(){return this.mutateChildViews(function(e,t){t.destroy()})},removeFromParent:function(){var e=this._parentView;return this.remove(),e&&e.removeChild(this),this},destroy:function(){var e,t,n=this._childViews,i=r(this,"parentView"),s=this.viewName;if(this._super()){for(e=n.length,t=e-1;t>=0;t--)n[t].removedFromDOM=!0;for(s&&i&&i.set(s,null),e=n.length,t=e-1;t>=0;t--)n[t].destroy();return this}},createChildView:function(e,t){return e.isView&&e._parentView===this&&e.container===this.container?e:(t=t||{},t._parentView=this,t.container=this.container,Ember.CoreView.detect(e)?(t.templateData=t.templateData||r(this,"templateData"),e=e.create(t),e.viewName&&n(r(this,"concreteView"),e.viewName,e)):(Ember.setProperties(e,t),r(e,"templateData")||n(e,"templateData",r(this,"templateData"))),e)},becameVisible:Ember.K,becameHidden:Ember.K,_isVisibleDidChange:Ember.observer(function(){var e=this.$();if(e){var t=r(this,"isVisible");e.toggle(t),this._isAncestorHidden()||(t?this._notifyBecameVisible():this._notifyBecameHidden())}},"isVisible"),_notifyBecameVisible:function(){this.trigger("becameVisible"),this.forEachChildView(function(e){var t=r(e,"isVisible");(t||null===t)&&e._notifyBecameVisible()})},_notifyBecameHidden:function(){this.trigger("becameHidden"),this.forEachChildView(function(e){var t=r(e,"isVisible");(t||null===t)&&e._notifyBecameHidden()})},_isAncestorHidden:function(){for(var e=r(this,"parentView");e;){if(r(e,"isVisible")===!1)return!0;e=r(e,"parentView")}return!1},clearBuffer:function(){this.invokeRecursively(function(e){e.buffer=null})},transitionTo:function(e,t){var r=this.currentState,n=this.currentState=this.states[e];this.state=e,r&&r.exit&&r.exit(this),n.enter&&n.enter(this),t!==!1&&this.forEachChildView(function(t){t.transitionTo(e)})},handleEvent:function(e,t){return this.currentState.handleEvent(this,e,t)},registerObserver:function(e,t,r,n){n||"function"!=typeof r||(n=r,r=null);var i=this,s=function(){i.currentState.invokeObserver(this,n)},o=function(){Ember.run.scheduleOnce("render",this,s)};Ember.addObserver(e,t,r,o),this.one("willClearRender",function(){Ember.removeObserver(e,t,r,o)})}});var l={prepend:function(t,r){t.$().prepend(r),e()},after:function(t,r){t.$().after(r),e()},html:function(t,r){t.$().html(r),e()},replace:function(t){var i=r(t,"element");n(t,"element",null),t._insertElementLater(function(){Ember.$(i).replaceWith(r(t,"element")),e()})},remove:function(t){t.$().remove(),e()},empty:function(t){t.$().empty(),e()}};Ember.View.reopen({domManager:l}),Ember.View.reopenClass({_parsePropertyPath:function(e){var t,r,n=e.split(":"),i=n[0],s="";return n.length>1&&(t=n[1],3===n.length&&(r=n[2]),s=":"+t,r&&(s+=":"+r)),{path:i,classNames:s,className:""===t?void 0:t,falsyClassName:r}},_classStringForValue:function(e,t,r,n){if(r||n)return r&&t?r:n&&!t?n:null;if(t===!0){var i=e.split(".");return Ember.String.dasherize(i[i.length-1])}return t!==!1&&null!=t?t:null}});var h=Ember.Object.extend(Ember.Evented).create();Ember.View.addMutationListener=function(e){h.on("change",e)},Ember.View.removeMutationListener=function(e){h.off("change",e)},Ember.View.notifyMutationListeners=function(){h.trigger("change")},Ember.View.views={},Ember.View.childViewsProperty=a,Ember.View.applyAttributeBindings=function(e,t,r){var n=Ember.typeOf(r);"value"===t||"string"!==n&&("number"!==n||isNaN(r))?"value"===t||"boolean"===n?(Ember.isNone(r)&&(r=""),r!==e.prop(t)&&e.prop(t,r)):r||e.removeAttr(t):r!==e.attr(t)&&e.attr(t,r)},Ember.View.states=t}(),function(){var e=(Ember.get,Ember.set);Ember.View.states._default={appendChild:function(){throw"You can't use appendChild outside of the rendering process"},$:function(){return void 0},getElement:function(){return null},handleEvent:function(){return!0},destroyElement:function(t){return e(t,"element",null),t._scheduledInsert&&(Ember.run.cancel(t._scheduledInsert),t._scheduledInsert=null),t},renderToBufferIfNeeded:function(){return!1},rerender:Ember.K,invokeObserver:Ember.K}}(),function(){var e=Ember.View.states.preRender=Ember.create(Ember.View.states._default);Ember.merge(e,{insertElement:function(e,t){e.createElement();var r=e.viewHierarchyCollection();r.trigger("willInsertElement"),t.call(e),r.transitionTo("inDOM",!1),r.trigger("didInsertElement")},renderToBufferIfNeeded:function(e,t){return e.renderToBuffer(t),!0},empty:Ember.K,setElement:function(e,t){return null!==t&&e.transitionTo("hasElement"),t}})}(),function(){Ember.get,Ember.set;var e=Ember.View.states.inBuffer=Ember.create(Ember.View.states._default);Ember.merge(e,{$:function(e){return e.rerender(),Ember.$()},rerender:function(){throw new Ember.Error("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(e,t,r){var n=e.buffer,i=e._childViews;return t=e.createChildView(t,r),i.length||(i=e._childViews=i.slice()),i.push(t),t.renderToBuffer(n),e.propertyDidChange("childViews"),t},destroyElement:function(e){e.clearBuffer();var t=e._notifyWillDestroyElement();return t.transitionTo("preRender",!1),e},empty:function(){},renderToBufferIfNeeded:function(){return!1},insertElement:function(){throw"You can't insert an element that has already been rendered"},setElement:function(e,t){return null===t?e.transitionTo("preRender"):(e.clearBuffer(),e.transitionTo("hasElement")),t},invokeObserver:function(e,t){t.call(e)}})}(),function(){var e=Ember.get,t=Ember.set,r=Ember.View.states.hasElement=Ember.create(Ember.View.states._default);Ember.merge(r,{$:function(t,r){var n=e(t,"element");return r?Ember.$(r,n):Ember.$(n)},getElement:function(t){var r=e(t,"parentView");return r&&(r=e(r,"element")),r?t.findElementInParentElement(r):Ember.$("#"+e(t,"elementId"))[0]},setElement:function(e,t){if(null!==t)throw"You cannot set an element to a non-null value when the element is already in the DOM.";return e.transitionTo("preRender"),t},rerender:function(e){return e.triggerRecursively("willClearRender"),e.clearRenderedChildren(),e.domManager.replace(e),e},destroyElement:function(e){return e._notifyWillDestroyElement(),e.domManager.remove(e),t(e,"element",null),e._scheduledInsert&&(Ember.run.cancel(e._scheduledInsert),e._scheduledInsert=null),e},empty:function(e){var t,r,n=e._childViews;if(n)for(t=n.length,r=0;t>r;r++)n[r]._notifyWillDestroyElement();e.domManager.empty(e)},handleEvent:function(e,t,r){return e.has(t)?e.trigger(t,r):!0},invokeObserver:function(e,t){t.call(e)}});var n=Ember.View.states.inDOM=Ember.create(r);Ember.merge(n,{enter:function(e){e.isVirtual||(Ember.View.views[e.elementId]=e),e.addBeforeObserver("elementId",function(){throw new Error("Changing a view's elementId after creation is not allowed")})},exit:function(e){this.isVirtual||delete Ember.View.views[e.elementId]},insertElement:function(){throw"You can't insert an element into the DOM that has already been inserted"}})}(),function(){var e="You can't call %@ on a view being destroyed",t=Ember.String.fmt,r=Ember.View.states.destroying=Ember.create(Ember.View.states._default);Ember.merge(r,{appendChild:function(){throw t(e,["appendChild"])},rerender:function(){throw t(e,["rerender"])},destroyElement:function(){throw t(e,["destroyElement"])},empty:function(){throw t(e,["empty"])},setElement:function(){throw t(e,["set('element', ...)"])},renderToBufferIfNeeded:function(){return!1},insertElement:Ember.K})}(),function(){Ember.View.cloneStates=function(e){var t={};t._default={},t.preRender=Ember.create(t._default),t.destroying=Ember.create(t._default),t.inBuffer=Ember.create(t._default),t.hasElement=Ember.create(t._default),t.inDOM=Ember.create(t.hasElement);for(var r in e)e.hasOwnProperty(r)&&Ember.merge(t[r],e[r]);return t}}(),function(){function e(e,t,r,n){t.triggerRecursively("willInsertElement"),r?r.domManager.after(r,n.string()):e.domManager.prepend(e,n.string()),t.forEach(function(e){e.transitionTo("inDOM"),e.propertyDidChange("element"),e.triggerRecursively("didInsertElement")})}var t=Ember.View.cloneStates(Ember.View.states),r=Ember.get,n=Ember.set,i=Ember.EnumerableUtils.forEach,s=Ember._ViewCollection;Ember.ContainerView=Ember.View.extend(Ember.MutableArray,{states:t,init:function(){this._super();var e=r(this,"childViews");Ember.defineProperty(this,"childViews",Ember.View.childViewsProperty);var t=this._childViews;i(e,function(e,i){var s;"string"==typeof e?(s=r(this,e),s=this.createChildView(s),n(this,e,s)):s=this.createChildView(e),t[i]=s},this);var s=r(this,"currentView");s&&(t.length||(t=this._childViews=this._childViews.slice()),t.push(this.createChildView(s)))},replace:function(e,t,n){var i=n?r(n,"length"):0;if(this.arrayContentWillChange(e,t,i),this.childViewsWillChange(this._childViews,e,t),0===i)this._childViews.splice(e,t);else{var s=[e,t].concat(n);n.length&&!this._childViews.length&&(this._childViews=this._childViews.slice()),this._childViews.splice.apply(this._childViews,s)}return this.arrayContentDidChange(e,t,i),this.childViewsDidChange(this._childViews,e,t,i),this},objectAt:function(e){return this._childViews[e]},length:Ember.computed(function(){return this._childViews.length}),render:function(e){this.forEachChildView(function(t){t.renderToBuffer(e)})},instrumentName:"container",childViewsWillChange:function(e,t,r){if(this.propertyWillChange("childViews"),r>0){var n=e.slice(t,t+r);this.currentState.childViewsWillChange(this,e,t,r),this.initializeViews(n,null,null)}},removeChild:function(e){return this.removeObject(e),this},childViewsDidChange:function(e,t,n,i){if(i>0){var s=e.slice(t,t+i);this.initializeViews(s,this,r(this,"templateData")),this.currentState.childViewsDidChange(this,e,t,i)}this.propertyDidChange("childViews")},initializeViews:function(e,t,s){i(e,function(e){n(e,"_parentView",t),n(e,"container",t&&t.container),r(e,"templateData")||n(e,"templateData",s)})},currentView:null,_currentViewWillChange:Ember.beforeObserver(function(){var e=r(this,"currentView");e&&e.destroy()},"currentView"),_currentViewDidChange:Ember.observer(function(){var e=r(this,"currentView");e&&this.pushObject(e)},"currentView"),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}}),Ember.merge(t._default,{childViewsWillChange:Ember.K,childViewsDidChange:Ember.K,ensureChildrenAreInDOM:Ember.K}),Ember.merge(t.inBuffer,{childViewsDidChange:function(){throw new Error("You cannot modify child views while in the inBuffer state")}}),Ember.merge(t.hasElement,{childViewsWillChange:function(e,t,r,n){for(var i=r;r+n>i;i++)t[i].remove()},childViewsDidChange:function(e){Ember.run.scheduleOnce("render",e,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(t){var r,n,i,o,a,u=t._childViews,c=new s;for(r=0,n=u.length;n>r;r++)i=u[r],a||(a=Ember.RenderBuffer(),a._hasElement=!1),i.renderToBufferIfNeeded(a)?c.push(i):c.length?(e(t,c,o,a),a=null,o=i,c.clear()):o=i;c.length&&e(t,c,o,a)}})}(),function(){var e=Ember.get,t=Ember.set;Ember.String.fmt,Ember.CollectionView=Ember.ContainerView.extend({content:null,emptyViewClass:Ember.View,emptyView:null,itemViewClass:Ember.View,init:function(){var e=this._super();return this._contentDidChange(),e},_contentWillChange:Ember.beforeObserver(function(){var t=this.get("content");t&&t.removeArrayObserver(this);var r=t?e(t,"length"):0;this.arrayWillChange(t,0,r)},"content"),_contentDidChange:Ember.observer(function(){var t=e(this,"content");t&&t.addArrayObserver(this);var r=t?e(t,"length"):0;this.arrayDidChange(t,0,null,r)},"content"),destroy:function(){if(this._super()){var t=e(this,"content");return t&&t.removeArrayObserver(this),this._createdEmptyView&&this._createdEmptyView.destroy(),this}},arrayWillChange:function(t,r,n){var i=e(this,"emptyView");i&&i instanceof Ember.View&&i.removeFromParent();var s,o,a,u=this._childViews;a=this._childViews.length;var c=n===a;for(c&&(this.currentState.empty(this),this.invokeRecursively(function(e){e.removedFromDOM=!0},!1)),o=r+n-1;o>=r;o--)s=u[o],s.destroy()},arrayDidChange:function(r,n,i,s){var o,a,u,c,l=e(this,"itemViewClass"),h=[];if("string"==typeof l&&(l=e(l)),c=r?e(r,"length"):0)for(u=n;n+s>u;u++)a=r.objectAt(u),o=this.createChildView(l,{content:a,contentIndex:u}),h.push(o);else{var m=e(this,"emptyView");if(!m)return;var f=Ember.CoreView.detect(m);m=this.createChildView(m),h.push(m),t(this,"emptyView",m),f&&(this._createdEmptyView=m)}this.replace(n,0,h)},createChildView:function(r,n){r=this._super(r,n);var i=e(r,"tagName"),s=null===i||void 0===i?Ember.CollectionView.CONTAINER_MAP[e(this,"tagName")]:i;return t(r,"tagName",s),r}}),Ember.CollectionView.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"}}(),function(){Ember.Component=Ember.View.extend({init:function(){this._super(),this.set("context",this),this.set("controller",this)}})}(),function(){Ember.ViewTargetActionSupport=Ember.Mixin.create(Ember.TargetActionSupport,{target:Ember.computed.alias("controller"),actionContext:Ember.computed.alias("context")})}(),function(){var e=Ember.get,t=Ember.set;Ember.State=Ember.Object.extend(Ember.Evented,{parentState:null,start:null,name:null,path:Ember.computed(function(){var t=e(this,"parentState.path"),r=e(this,"name");return t&&(r=t+"."+r),r}),trigger:function(e){this[e]&&this[e].apply(this,[].slice.call(arguments,1)),this._super.apply(this,arguments)},init:function(){var r=e(this,"states");t(this,"childStates",Ember.A()),t(this,"eventTransitions",e(this,"eventTransitions")||{});var n,i,s;if(r)for(n in r)this.setupChild(r,n,r[n]);else{r={};for(n in this)"constructor"!==n&&(i=this[n])&&((s=i.transitionTarget)&&(this.eventTransitions[n]=s),this.setupChild(r,n,i));t(this,"states",r)}t(this,"pathsCaches",{})},setPathsCache:function(t,r,n){var i=Ember.guidFor(t.constructor),s=e(this,"pathsCaches"),o=s[i]||{};o[r]=n,s[i]=o},getPathsCache:function(t,r){var n=Ember.guidFor(t.constructor),i=e(this,"pathsCaches"),s=i[n]||{};return s[r]},setupChild:function(r,n,i){if(!i)return!1;var s;return i instanceof Ember.State?(t(i,"name",n),s=i,s.container=this.container):Ember.State.detect(i)&&(s=i.create({name:n,container:this.container})),s instanceof Ember.State?(t(s,"parentState",this),e(this,"childStates").pushObject(s),r[n]=s,s):void 0},lookupEventTransition:function(e){for(var t,r=this;r&&!t;)t=r.eventTransitions[e],r=r.get("parentState");return t},isLeaf:Ember.computed(function(){return!e(this,"childStates").length}),hasContext:!0,setup:Ember.K,enter:Ember.K,exit:Ember.K}),Ember.State.reopenClass({transitionTo:function(e){var t=function(t,r){var n=[],i=Ember.$&&Ember.$.Event;r&&i&&r instanceof i?r.hasOwnProperty("contexts")&&(n=r.contexts.slice()):n=[].slice.call(arguments,1),n.unshift(e),t.transitionTo.apply(t,n)};return t.transitionTarget=e,t}})}(),function(){var e=Ember.get,t=Ember.set,r=Ember.String.fmt,n=Ember.ArrayPolyfills.forEach,i=function(e){this.enterStates=e.enterStates.slice(),this.exitStates=e.exitStates.slice(),this.resolveState=e.resolveState,this.finalState=e.enterStates[e.enterStates.length-1]||e.resolveState};i.prototype={normalize:function(e,t){return this.matchContextsToStates(t),this.addInitialStates(),this.removeUnchangedContexts(e),this},matchContextsToStates:function(t){for(var r,n,i=this.enterStates.length-1,s=[];t.length>0;){if(i>=0)r=this.enterStates[i--];else{if(this.enterStates.length){if(r=e(this.enterStates[0],"parentState"),!r)throw"Cannot match all contexts to states"}else r=this.resolveState;this.enterStates.unshift(r),this.exitStates.unshift(r)}n=e(r,"hasContext")?t.pop():null,s.unshift(n)}this.contexts=s},addInitialStates:function(){for(var t,r=this.finalState;;){if(t=e(r,"initialState")||"start",r=e(r,"states."+t),!r)break;this.finalState=r,this.enterStates.push(r),this.contexts.push(void 0)}},removeUnchangedContexts:function(e){for(;this.enterStates.length>0&&this.enterStates[0]===this.exitStates[0];){if(this.enterStates.length===this.contexts.length){if(e.getStateMeta(this.enterStates[0],"context")!==this.contexts[0])break;this.contexts.shift()}this.resolveState=this.enterStates.shift(),this.exitStates.shift()}}};var s=function(t,n,i){var a,u,c,l=this.enableLogging,h=i?"unhandledEvent":t,m=n[h];if(a=[].slice.call(arguments,3),"function"==typeof m)return l&&(i?Ember.Logger.log(r("STATEMANAGER: Unhandled event '%@' being sent to state %@.",[t,e(n,"path")])):Ember.Logger.log(r("STATEMANAGER: Sending event '%@' to state %@.",[t,e(n,"path")]))),c=a,i&&c.unshift(t),c.unshift(this),m.apply(n,c);var f=e(n,"parentState");return f?(u=a,u.unshift(t,f,i),s.apply(this,u)):i?void 0:o.call(this,t,a,!0)},o=function(t,r,n){return r.unshift(t,e(this,"currentState"),n),s.apply(this,r)};Ember.StateManager=Ember.State.extend({init:function(){this._super(),t(this,"stateMeta",Ember.Map.create());var r=e(this,"initialState");!r&&e(this,"states.start")&&(r="start"),r&&this.transitionTo(r)},stateMetaFor:function(t){var r=e(this,"stateMeta"),n=r.get(t);return n||(n={},r.set(t,n)),n},setStateMeta:function(e,r,n){return t(this.stateMetaFor(e),r,n)},getStateMeta:function(t,r){return e(this.stateMetaFor(t),r)},currentState:null,currentPath:Ember.computed.alias("currentState.path"),transitionEvent:"setup",errorOnUnhandledEvent:!0,send:function(e){var t=[].slice.call(arguments,1);return o.call(this,e,t,!1)},unhandledEvent:function(t,r){if(e(this,"errorOnUnhandledEvent"))throw new Ember.Error(this.toString()+" could not respond to event "+r+" in state "+e(this,"currentState.path")+".")
|
19
|
-
},getStateByPath:function(t,r){for(var n=r.split("."),i=t,s=0,o=n.length;o>s&&(i=e(e(i,"states"),n[s]),i);s++);return i},findStateByPath:function(t,r){for(var n;!n&&t;)n=this.getStateByPath(t,r),t=e(t,"parentState");return n},getStatesInPath:function(t,r){if(!r||""===r)return void 0;for(var n,i,s=r.split("."),o=[],a=0,u=s.length;u>a;a++){if(n=e(t,"states"),!n)return void 0;if(i=e(n,s[a]),!i)return void 0;t=i,o.push(i)}return o},goToState:function(){return this.transitionTo.apply(this,arguments)},transitionTo:function(t,r){if(!Ember.isEmpty(t)){var n=r?Array.prototype.slice.call(arguments,1):[],s=e(this,"currentState")||this,o=this.contextFreeTransition(s,t),a=new i(o).normalize(this,n);this.enterState(a),this.triggerSetupContext(a)}},contextFreeTransition:function(t,r){var n=t.getPathsCache(this,r);if(n)return n;for(var i=this.getStatesInPath(t,r),s=[],o=t;o&&!i;){if(s.unshift(o),o=e(o,"parentState"),!o&&(i=this.getStatesInPath(this,r),!i))return;i=this.getStatesInPath(o,r)}for(;i.length>0&&i[0]===s[0];)o=i.shift(),s.shift();var a={exitStates:s,enterStates:i,resolveState:o};return t.setPathsCache(this,r,a),a},triggerSetupContext:function(t){var r=t.contexts,i=t.enterStates.length-r.length,s=t.enterStates,o=e(this,"transitionEvent");n.call(s,function(e,t){e.trigger(o,this,r[t-i])},this)},getState:function(t){var r=e(this,t),n=e(this,"parentState");return r?r:n?n.getState(t):void 0},enterState:function(r){var i=this.enableLogging,s=r.exitStates.slice(0).reverse();n.call(s,function(e){e.trigger("exit",this)},this),n.call(r.enterStates,function(t){i&&Ember.Logger.log("STATEMANAGER: Entering "+e(t,"path")),t.trigger("enter",this)},this),t(this,"currentState",r.finalState)}})}(),function(){e("metamorph",[],function(){"use strict";// Copyright: ©2011 My Company Inc. All rights reserved.
|
20
|
-
var e=function(){},t=0,r=this.document,n=r&&"createRange"in r&&"undefined"!=typeof Range&&Range.prototype.createContextualFragment,i=r&&function(){var e=r.createElement("div");return e.innerHTML="<div></div>",e.firstChild.innerHTML="<script></script>",""===e.firstChild.innerHTML}(),s=r&&function(){var e=r.createElement("div");return e.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===e.childNodes[0].nodeValue&&" Value"===e.childNodes[2].nodeValue}(),o=function(r){var n;n=this instanceof o?this:new e,n.innerHTML=r;var i="metamorph-"+t++;return n.start=i+"-start",n.end=i+"-end",n};e.prototype=o.prototype;var a,u,c,l,h,m,f,p,d;if(l=function(){return this.startTag()+this.innerHTML+this.endTag()},p=function(){return"<script id='"+this.start+"' type='text/x-placeholder'></script>"},d=function(){return"<script id='"+this.end+"' type='text/x-placeholder'></script>"},n)a=function(e,t){var n=r.createRange(),i=r.getElementById(e.start),s=r.getElementById(e.end);return t?(n.setStartBefore(i),n.setEndAfter(s)):(n.setStartAfter(i),n.setEndBefore(s)),n},u=function(e,t){var r=a(this,t);r.deleteContents();var n=r.createContextualFragment(e);r.insertNode(n)},c=function(){var e=a(this,!0);e.deleteContents()},h=function(e){var t=r.createRange();t.setStart(e),t.collapse(!1);var n=t.createContextualFragment(this.outerHTML());e.appendChild(n)},m=function(e){var t=r.createRange(),n=r.getElementById(this.end);t.setStartAfter(n),t.setEndAfter(n);var i=t.createContextualFragment(e);t.insertNode(i)},f=function(e){var t=r.createRange(),n=r.getElementById(this.start);t.setStartAfter(n),t.setEndAfter(n);var i=t.createContextualFragment(e);t.insertNode(i)};else{var b={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,"",""]},E=function(e,t){if(e.getAttribute("id")===t)return e;var r,n,i,s=e.childNodes.length;for(r=0;s>r;r++)if(n=e.childNodes[r],i=1===n.nodeType&&E(n,t))return i},v=function(e,t){var n=[];if(s&&(t=t.replace(/(\s+)(<script id='([^']+)')/g,function(e,t,r,i){return n.push([i,t]),r})),e.innerHTML=t,n.length>0){var i,o=n.length;for(i=0;o>i;i++){var a=E(e,n[i][0]),u=r.createTextNode(n[i][1]);a.parentNode.insertBefore(u,a)}}},g=function(e,t){var n=b[e.tagName.toLowerCase()]||b._default,s=n[0],o=n[1],a=n[2];i&&(t="­"+t);var u=r.createElement("div");v(u,o+t+a);for(var c=0;s>=c;c++)u=u.firstChild;if(i){for(var l=u;1===l.nodeType&&!l.nodeName;)l=l.firstChild;3===l.nodeType&&""===l.nodeValue.charAt(0)&&(l.nodeValue=l.nodeValue.slice(1))}return u},y=function(e){for(;""===e.parentNode.tagName;)e=e.parentNode;return e},w=function(e,t){e.parentNode!==t.parentNode&&t.parentNode.insertBefore(e,t.parentNode.firstChild)};u=function(e,t){var n,i,s,o=y(r.getElementById(this.start)),a=r.getElementById(this.end),u=a.parentNode;for(w(o,a),n=o.nextSibling;n;){if(i=n.nextSibling,s=n===a){if(!t)break;a=n.nextSibling}if(n.parentNode.removeChild(n),s)break;n=i}for(n=g(o.parentNode,e);n;)i=n.nextSibling,u.insertBefore(n,a),n=i},c=function(){var e=y(r.getElementById(this.start)),t=r.getElementById(this.end);this.html(""),e.parentNode.removeChild(e),t.parentNode.removeChild(t)},h=function(e){for(var t,r=g(e,this.outerHTML());r;)t=r.nextSibling,e.appendChild(r),r=t},m=function(e){var t,n,i=r.getElementById(this.end),s=i.nextSibling,o=i.parentNode;for(n=g(o,e);n;)t=n.nextSibling,o.insertBefore(n,s),n=t},f=function(e){var t,n,i=r.getElementById(this.start),s=i.parentNode;n=g(s,e);for(var o=i.nextSibling;n;)t=n.nextSibling,s.insertBefore(n,o),n=t}}return o.prototype.html=function(e){return this.checkRemoved(),void 0===e?this.innerHTML:(u.call(this,e),this.innerHTML=e,void 0)},o.prototype.replaceWith=function(e){this.checkRemoved(),u.call(this,e,!0)},o.prototype.remove=c,o.prototype.outerHTML=l,o.prototype.appendTo=h,o.prototype.after=m,o.prototype.prepend=f,o.prototype.startTag=p,o.prototype.endTag=d,o.prototype.isRemoved=function(){var e=r.getElementById(this.start),t=r.getElementById(this.end);return!e||!t},o.prototype.checkRemoved=function(){if(this.isRemoved())throw new Error("Cannot perform operations on a Metamorph that is not in the DOM.")},o})}(),function(){function e(e){var t=e.hash,r=e.hashTypes;for(var n in t)"ID"===r[n]&&(t[n+"Binding"]=t[n],r[n+"Binding"]="STRING",delete t[n],delete r[n])}var t=Object.create||function(e){function t(){}return t.prototype=e,new t},r=this.Handlebars||Ember.imports&&Ember.imports.Handlebars;r||"function"!=typeof require||(r=require("handlebars")),Ember.Handlebars=t(r),Ember.Handlebars.helper=function(t,r){if(Ember.Component.detect(r)){var n=r.proto();n.layoutName||n.templateName||r.reopen({layoutName:"components/"+t})}Ember.View.detect(r)?Ember.Handlebars.registerHelper(t,function(t){return e(t),Ember.Handlebars.helpers.view.call(this,r,t)}):Ember.Handlebars.registerBoundHelper.apply(null,arguments)},Ember.Handlebars.helpers=t(r.helpers),Ember.Handlebars.Compiler=function(){},r.Compiler&&(Ember.Handlebars.Compiler.prototype=t(r.Compiler.prototype)),Ember.Handlebars.Compiler.prototype.compiler=Ember.Handlebars.Compiler,Ember.Handlebars.JavaScriptCompiler=function(){},r.JavaScriptCompiler&&(Ember.Handlebars.JavaScriptCompiler.prototype=t(r.JavaScriptCompiler.prototype),Ember.Handlebars.JavaScriptCompiler.prototype.compiler=Ember.Handlebars.JavaScriptCompiler),Ember.Handlebars.JavaScriptCompiler.prototype.namespace="Ember.Handlebars",Ember.Handlebars.JavaScriptCompiler.prototype.initializeBuffer=function(){return"''"},Ember.Handlebars.JavaScriptCompiler.prototype.appendToBuffer=function(e){return"data.buffer.push("+e+");"};var n="ember"+ +new Date,i=1;Ember.Handlebars.Compiler.prototype.mustache=function(e){if(e.isHelper&&"control"===e.id.string)e.hash=e.hash||new r.AST.HashNode([]),e.hash.pairs.push(["controlID",new r.AST.StringNode(n+i++)]);else if(e.params.length||e.hash);else{var t=new r.AST.IdNode([{part:"_triageMustache"}]);e.escaped||(e.hash=e.hash||new r.AST.HashNode([]),e.hash.pairs.push(["unescaped",new r.AST.StringNode("true")])),e=new r.AST.MustacheNode([t].concat([e.id]),e.hash,!e.escaped)}return r.Compiler.prototype.mustache.call(this,e)},Ember.Handlebars.precompile=function(e){var t=r.parse(e),n={knownHelpers:{action:!0,unbound:!0,bindAttr:!0,template:!0,view:!0,_triageMustache:!0},data:!0,stringParams:!0},i=(new Ember.Handlebars.Compiler).compile(t,n);return(new Ember.Handlebars.JavaScriptCompiler).compile(i,n,void 0,!0)},r.compile&&(Ember.Handlebars.compile=function(e){var t=r.parse(e),n={data:!0,stringParams:!0},i=(new Ember.Handlebars.Compiler).compile(t,n),s=(new Ember.Handlebars.JavaScriptCompiler).compile(i,n,void 0,!0);return Ember.Handlebars.template(s)})}(),function(){function e(e,t,r,i){var s,o,a,u,c,l,h=r.length,m=i.data,f=m.view,p=i.hash,d=p.boundOptions;a=new Ember._SimpleHandlebarsView(null,null,!p.unescaped,m),a.normalizedValue=function(){var s,o=[];for(s in d)d.hasOwnProperty(s)&&(c=n(e,d[s],m),a.path=c.path,a.pathRoot=c.root,p[s]=Ember._SimpleHandlebarsView.prototype.normalizedValue.call(a));for(u=0;h>u;++u)c=r[u],a.path=c.path,a.pathRoot=c.root,o.push(Ember._SimpleHandlebarsView.prototype.normalizedValue.call(a));return o.push(i),t.apply(e,o)},f.appendChild(a),s=[];for(o in d)d.hasOwnProperty(o)&&s.push(n(e,d[o],m));for(s=s.concat(r),u=0,l=s.length;l>u;++u)c=s[u],f.registerObserver(c.root,c.path,a,a.rerender)}function t(e,t,r,n){var i,s,o,a,u=[],c=n.hash,l=c.boundOptions;for(a in l)l.hasOwnProperty(a)&&(c[a]=Ember.Handlebars.get(e,l[a],n));for(i=0,s=r.length;s>i;++i)o=r[i],u.push(Ember.Handlebars.get(e,o.path,n));return u.push(n),t.apply(e,u)}var r=Array.prototype.slice,n=Ember.Handlebars.normalizePath=function(e,t,r){var n,i,s=r&&r.keywords||{};return n=t.split(".",1)[0],s.hasOwnProperty(n)&&(e=s[n],i=!0,t=t===n?"":t.substr(n.length+1)),{root:e,path:t,isKeyword:i}},i=Ember.Handlebars.get=function(e,t,r){var i,s=r&&r.data,o=n(e,t,s);return e=o.root,t=o.path,i=Ember.get(e,t),void 0===i&&e!==Ember.lookup&&Ember.isGlobalPath(t)&&(i=Ember.get(Ember.lookup,t)),i};Ember.Handlebars.getPath=Ember.deprecateFunc("`Ember.Handlebars.getPath` has been changed to `Ember.Handlebars.get` for consistency.",Ember.Handlebars.get),Ember.Handlebars.resolveParams=function(e,t,r){for(var n,s,o=[],a=r.types,u=0,c=t.length;c>u;u++)n=t[u],s=a[u],"ID"===s?o.push(i(e,n,r)):o.push(n);return o},Ember.Handlebars.resolveHash=function(e,t,r){var n,s={},o=r.hashTypes;for(var a in t)t.hasOwnProperty(a)&&(n=o[a],s[a]="ID"===n?i(e,t[a],r):t[a]);return s},Ember.Handlebars.registerHelper("helperMissing",function(e,t){var r,n="";throw r="%@ Handlebars error: Could not find property '%@' on object %@.",t.data&&(n=t.data.view),new Ember.Error(Ember.String.fmt(r,[n,e,this]))}),Ember.Handlebars.registerBoundHelper=function(i,s){function o(){var i,o,u,c,l,h=r.call(arguments,0,-1),m=h.length,f=arguments[arguments.length-1],p=[],d=f.data,b=f.hash,E=d.view,v=f.contexts&&f.contexts[0]||this;b.boundOptions={};for(l in b)b.hasOwnProperty(l)&&Ember.IS_BINDING.test(l)&&"string"==typeof b[l]&&(b.boundOptions[l.slice(0,-7)]=b[l]);for(d.properties=[],c=0;m>c;++c)d.properties.push(h[c]),p.push(n(v,h[c],d));if(d.isUnbound)return t(this,s,p,f);if(0===a.length)return e(v,s,p,f);i=p[0],o=i.root,u=i.path;var g=new Ember._SimpleHandlebarsView(u,o,!f.hash.unescaped,f.data);g.normalizedValue=function(){var e=Ember._SimpleHandlebarsView.prototype.normalizedValue.call(g);return s.call(E,e,f)},E.appendChild(g),E.registerObserver(o,u,g,g.rerender);for(var y=0,w=a.length;w>y;y++)E.registerObserver(o,u+"."+a[y],g,g.rerender)}var a=r.call(arguments,2);o._rawFunction=s,Ember.Handlebars.registerHelper(i,o)},Ember.Handlebars.template=function(e){var t=Handlebars.template(e);return t.isTop=!0,t}}(),function(){Ember.String.htmlSafe=function(e){return new Handlebars.SafeString(e)};var e=Ember.String.htmlSafe;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.htmlSafe=function(){return e(this)})}(),function(){Ember.Handlebars.resolvePaths=function(e){for(var t=[],r=e.contexts,n=e.roots,i=e.data,s=0,o=r.length;o>s;s++)t.push(Ember.Handlebars.get(n[s],r[s],{data:i}));return t}}(),function(){function e(){Ember.run.once(Ember.View,"notifyMutationListeners")}Ember.set,Ember.get;var r=t("metamorph"),n={remove:function(t){t.morph.remove(),e()},prepend:function(t,r){t.morph.prepend(r),e()},after:function(t,r){t.morph.after(r),e()},html:function(t,r){t.morph.html(r),e()},replace:function(t){var r=t.morph;t.transitionTo("preRender"),Ember.run.schedule("render",this,function(){if(!t.isDestroying){t.clearRenderedChildren();var n=t.renderToBuffer();t.invokeRecursively(function(e){e.propertyWillChange("element")}),t.triggerRecursively("willInsertElement"),r.replaceWith(n.string()),t.transitionTo("inDOM"),t.invokeRecursively(function(e){e.propertyDidChange("element")}),t.triggerRecursively("didInsertElement"),e()}})},empty:function(t){t.morph.html(""),e()}};Ember._Metamorph=Ember.Mixin.create({isVirtual:!0,tagName:"",instrumentName:"metamorph",init:function(){this._super(),this.morph=r()},beforeRender:function(e){e.push(this.morph.startTag()),e.pushOpeningTag()},afterRender:function(e){e.pushClosingTag(),e.push(this.morph.endTag())},createElement:function(){var e=this.renderToBuffer();this.outerHTML=e.string(),this.clearBuffer()},domManager:n}),Ember._MetamorphView=Ember.View.extend(Ember._Metamorph),Ember._SimpleMetamorphView=Ember.CoreView.extend(Ember._Metamorph)}(),function(){function e(e,t,r,n){this.path=e,this.pathRoot=t,this.isEscaped=r,this.templateData=n,this.morph=s(),this.state="preRender",this.updateId=null}var r=Ember.get,n=Ember.set,i=Ember.Handlebars.get,s=t("metamorph");Ember._SimpleHandlebarsView=e,e.prototype={isVirtual:!0,isView:!0,destroy:function(){this.updateId&&(Ember.run.cancel(this.updateId),this.updateId=null),this.morph=null},propertyWillChange:Ember.K,propertyDidChange:Ember.K,normalizedValue:function(){var e,t,r=this.path,n=this.pathRoot;return""===r?e=n:(t=this.templateData,e=i(n,r,{data:t})),e},renderToBuffer:function(e){var t="";t+=this.morph.startTag(),t+=this.render(),t+=this.morph.endTag(),e.push(t)},render:function(){var e=this.isEscaped,t=this.normalizedValue();return null===t||void 0===t?t="":t instanceof Handlebars.SafeString||(t=String(t)),e&&(t=Handlebars.Utils.escapeExpression(t)),t},rerender:function(){switch(this.state){case"preRender":case"destroying":break;case"inBuffer":throw new Ember.Error("Something you did tried to replace an {{expression}} before it was inserted into the DOM.");case"hasElement":case"inDOM":this.updateId=Ember.run.scheduleOnce("render",this,"update")}return this},update:function(){this.updateId=null,this.morph.html(this.render())},transitionTo:function(e){this.state=e}};var o=Ember.View.cloneStates(Ember.View.states),a=Ember.merge;a(o._default,{rerenderIfNeeded:Ember.K}),a(o.inDOM,{rerenderIfNeeded:function(e){e.normalizedValue()!==e._lastNormalizedValue&&e.rerender()}}),Ember._HandlebarsBoundView=Ember._MetamorphView.extend({instrumentName:"boundHandlebars",states:o,shouldDisplayFunc:null,preserveContext:!1,previousContext:null,displayTemplate:null,inverseTemplate:null,path:null,pathRoot:null,normalizedValue:function(){var e,t,n=r(this,"path"),s=r(this,"pathRoot"),o=r(this,"valueNormalizerFunc");return""===n?e=s:(t=r(this,"templateData"),e=i(s,n,{data:t})),o?o(e):e},rerenderIfNeeded:function(){this.currentState.rerenderIfNeeded(this)},render:function(e){var t=r(this,"isEscaped"),i=r(this,"shouldDisplayFunc"),s=r(this,"preserveContext"),o=r(this,"previousContext"),a=r(this,"inverseTemplate"),u=r(this,"displayTemplate"),c=this.normalizedValue();if(this._lastNormalizedValue=c,i(c))if(n(this,"template",u),s)n(this,"_context",o);else{if(!u)return null===c||void 0===c?c="":c instanceof Handlebars.SafeString||(c=String(c)),t&&(c=Handlebars.Utils.escapeExpression(c)),e.push(c),void 0;n(this,"_context",c)}else a?(n(this,"template",a),s?n(this,"_context",o):n(this,"_context",c)):n(this,"template",function(){return""});return this._super(e)}})}(),function(){function e(e){return!Ember.isNone(e)}function t(e,t,r,n,o,a){var u,c,l,h=t.data,m=t.fn,f=t.inverse,p=h.view,d=this;if(u=s(d,e,h),"object"==typeof this){if(h.insideGroup){c=function(){Ember.run.once(p,"rerender")};var b,E,v=i(d,e,t);v=o(v),E=r?d:v,n(v)?b=m:f&&(b=f),b(E,{data:t.data})}else{var g=p.createChildView(Ember._HandlebarsBoundView,{preserveContext:r,shouldDisplayFunc:n,valueNormalizerFunc:o,displayTemplate:m,inverseTemplate:f,path:e,pathRoot:d,previousContext:d,isEscaped:!t.hash.unescaped,templateData:t.data});p.appendChild(g),c=function(){Ember.run.scheduleOnce("render",g,"rerenderIfNeeded")}}if(""!==u.path&&(p.registerObserver(u.root,u.path,c),a))for(l=0;l<a.length;l++)p.registerObserver(u.root,u.path+"."+a[l],c)}else h.buffer.push(i(d,e,t))}function r(e,t){var r,n,o=t.data,a=o.view,u=this;if(r=s(u,e,o),"object"==typeof this){if(o.insideGroup){n=function(){Ember.run.once(a,"rerender")};var c=i(u,e,t);(null===c||void 0===c)&&(c=""),o.buffer.push(c)}else{var l=new Ember._SimpleHandlebarsView(e,u,!t.hash.unescaped,t.data);l._parentView=a,a.appendChild(l),n=function(){Ember.run.scheduleOnce("render",l,"rerender")}}""!==r.path&&a.registerObserver(r.root,r.path,n)}else o.buffer.push(i(u,e,t))}var n=Ember.get;Ember.set,Ember.String.fmt;var i=Ember.Handlebars.get,s=Ember.Handlebars.normalizePath,o=Ember.ArrayPolyfills.forEach,a=Ember.Handlebars,u=a.helpers;a.registerHelper("_triageMustache",function(e,t){return u[e]?u[e].call(this,t):u.bind.apply(this,arguments)}),a.registerHelper("bind",function(n,i){var s=i.contexts&&i.contexts[0]||this;return i.fn?t.call(s,n,i,!1,e):r.call(s,n,i)}),a.registerHelper("boundIf",function(e,r){var i=r.contexts&&r.contexts[0]||this,s=function(e){var t=e&&n(e,"isTruthy");return"boolean"==typeof t?t:Ember.isArray(e)?0!==n(e,"length"):!!e};return t.call(i,e,r,!0,s,s,["isTruthy","length"])}),a.registerHelper("with",function(r,n){if(4===arguments.length){var i,o,a,c;if(n=arguments[3],i=arguments[2],o=arguments[0],Ember.isGlobalPath(o))Ember.bind(n.data.keywords,i,o);else{c=s(this,o,n.data),o=c.path,a=c.root;var l=Ember.$.expando+Ember.guidFor(a);n.data.keywords[l]=a;var h=o?l+"."+o:l;Ember.bind(n.data.keywords,i,h)}return t.call(this,o,n,!0,e)}return u.bind.call(n.contexts[0],r,n)}),a.registerHelper("if",function(e,t){return u.boundIf.call(t.contexts[0],e,t)}),a.registerHelper("unless",function(e,t){var r=t.fn,n=t.inverse;return t.fn=n,t.inverse=r,u.boundIf.call(t.contexts[0],e,t)}),a.registerHelper("bindAttr",function(e){var t=e.hash,r=e.data.view,n=[],u=this,c=++Ember.uuid,l=t["class"];if(null!=l){var h=a.bindClasses(this,l,r,c,e);n.push('class="'+Handlebars.Utils.escapeExpression(h.join(" "))+'"'),delete t["class"]}var m=Ember.keys(t);return o.call(m,function(o){var a,l=t[o];a=s(u,l,e.data);var h,m,f="this"===l?a.root:i(u,l,e),p=Ember.typeOf(f);h=function(){var t=i(u,l,e),n=r.$("[data-bindattr-"+c+"='"+c+"']");return n&&0!==n.length?(Ember.View.applyAttributeBindings(n,o,t),void 0):(Ember.removeObserver(a.root,a.path,m),void 0)},"this"===l||a.isKeyword&&""===a.path||r.registerObserver(a.root,a.path,h),"string"===p||"number"===p&&!isNaN(f)?n.push(o+'="'+Handlebars.Utils.escapeExpression(f)+'"'):f&&"boolean"===p&&n.push(o+'="'+o+'"')},this),n.push("data-bindattr-"+c+'="'+c+'"'),new a.SafeString(n.join(" "))}),a.bindClasses=function(e,t,r,n,a){var u,c,l,h=[],m=function(e,t,r){var n,s=t.path;return n="this"===s?e:""===s?!0:i(e,s,r),Ember.View._classStringForValue(s,n,t.className,t.falsyClassName)};return o.call(t.split(" "),function(t){var i,o,f,p,d=Ember.View._parsePropertyPath(t),b=d.path,E=e;""!==b&&"this"!==b&&(p=s(e,b,a.data),E=p.root,b=p.path),o=function(){u=m(e,d,a),l=n?r.$("[data-bindattr-"+n+"='"+n+"']"):r.$(),l&&0!==l.length?(i&&l.removeClass(i),u?(l.addClass(u),i=u):i=null):Ember.removeObserver(E,b,f)},""!==b&&"this"!==b&&r.registerObserver(E,b,o),c=m(e,d,a),c&&(h.push(c),i=c)}),h}}(),function(){Ember.get,Ember.set;var e=Ember.Handlebars;e.ViewHelper=Ember.Object.create({propertiesFromHTMLOptions:function(e){var t=e.hash,r=e.data,n={},i=t["class"],s=!1;t.id&&(n.elementId=t.id,s=!0),t.tag&&(n.tagName=t.tag,s=!0),i&&(i=i.split(" "),n.classNames=i,s=!0),t.classBinding&&(n.classNameBindings=t.classBinding.split(" "),s=!0),t.classNameBindings&&(void 0===n.classNameBindings&&(n.classNameBindings=[]),n.classNameBindings=n.classNameBindings.concat(t.classNameBindings.split(" ")),s=!0),t.attributeBindings&&(n.attributeBindings=null,s=!0),s&&(t=Ember.$.extend({},t),delete t.id,delete t.tag,delete t["class"],delete t.classBinding);var o;for(var a in t)t.hasOwnProperty(a)&&Ember.IS_BINDING.test(a)&&"string"==typeof t[a]&&(o=this.contextualizeBindingPath(t[a],r),o&&(t[a]=o));if(n.classNameBindings)for(var u in n.classNameBindings){var c=n.classNameBindings[u];if("string"==typeof c){var l=Ember.View._parsePropertyPath(c);o=this.contextualizeBindingPath(l.path,r),o&&(n.classNameBindings[u]=o+l.classNames)}}return Ember.$.extend(t,n)},contextualizeBindingPath:function(e,t){var r=Ember.Handlebars.normalizePath(null,e,t);return r.isKeyword?"templateData.keywords."+e:Ember.isGlobalPath(e)?null:"this"===e?"_parentView.context":"_parentView.context."+e},helper:function(t,r,n){var i,s=n.data,o=n.fn;i="string"==typeof r?e.get(t,r,n):r;var a=this.propertiesFromHTMLOptions(n,t),u=s.view;a.templateData=s;var c=i.proto?i.proto():i;o&&(a.template=o),c.controller||c.controllerBinding||a.controller||a.controllerBinding||(a._context=t),u.appendChild(i,a)}}),e.registerHelper("view",function(t,r){return t&&t.data&&t.data.isRenderData&&(r=t,t="Ember.View"),e.ViewHelper.helper(this,t,r)})}(),function(){var e=Ember.get,t=Ember.Handlebars.get;Ember.String.fmt,Ember.Handlebars.registerHelper("collection",function(r,n){r&&r.data&&r.data.isRenderData&&(n=r,r=void 0);var i=n.fn,s=n.data,o=n.inverse;n.data.view;var a;a=r?t(this,r,n):Ember.CollectionView;var u,c,l=n.hash,h={},m=l.itemViewClass,f=a.proto();delete l.itemViewClass,c=m?t(f,m,n):f.itemViewClass;for(var p in l)l.hasOwnProperty(p)&&(u=p.match(/^item(.)(.*)$/),u&&"itemController"!==p&&(h[u[1].toLowerCase()+u[2]]=l[p],delete l[p]));i&&(h.template=i,delete n.fn);var d;o&&o!==Handlebars.VM.noop?(d=e(f,"emptyViewClass"),d=d.extend({template:o,tagName:h.tagName})):l.emptyViewClass&&(d=t(this,l.emptyViewClass,n)),d&&(l.emptyView=d),l.keyword||(h._context=Ember.computed.alias("content"));var b=Ember.Handlebars.ViewHelper.propertiesFromHTMLOptions({data:s,hash:h},this);return l.itemViewClass=c.extend(b),Ember.Handlebars.helpers.view.call(this,a,n)})}(),function(){var e=Ember.Handlebars.get;Ember.Handlebars.registerHelper("unbound",function(t,r){var n,i,s,o=arguments[arguments.length-1];return arguments.length>2?(o.data.isUnbound=!0,n=Ember.Handlebars.helpers[arguments[0]]||Ember.Handlebars.helperMissing,s=n.apply(this,Array.prototype.slice.call(arguments,1)),delete o.data.isUnbound,s):(i=r.contexts&&r.contexts[0]||this,e(i,t,r))})}(),function(){var e=Ember.Handlebars.get,t=Ember.Handlebars.normalizePath;Ember.Handlebars.registerHelper("log",function(r,n){var i=n.contexts&&n.contexts[0]||this,s=t(i,r,n.data),o=s.root,a=s.path,u="this"===a?o:e(o,a,n);Ember.Logger.log(u)}),Ember.Handlebars.registerHelper("debugger",function(){})}(),function(){var e=Ember.get,t=Ember.set;Ember.Handlebars.EachView=Ember.CollectionView.extend(Ember._Metamorph,{init:function(){var r,n=e(this,"itemController");if(n){var i=Ember.ArrayController.create();t(i,"itemController",n),t(i,"container",e(this,"controller.container")),t(i,"_eachView",this),t(i,"target",e(this,"controller")),t(i,"parentController",e(this,"controller")),this.disableContentObservers(function(){t(this,"content",i),r=new Ember.Binding("content","_eachView.dataSource").oneWay(),r.connect(i)}),t(this,"_arrayController",i)}else this.disableContentObservers(function(){r=new Ember.Binding("content","dataSource").oneWay(),r.connect(this)});return this._super()},disableContentObservers:function(e){Ember.removeBeforeObserver(this,"content",null,"_contentWillChange"),Ember.removeObserver(this,"content",null,"_contentDidChange"),e.call(this),Ember.addBeforeObserver(this,"content",null,"_contentWillChange"),Ember.addObserver(this,"content",null,"_contentDidChange")},itemViewClass:Ember._MetamorphView,emptyViewClass:Ember._MetamorphView,createChildView:function(r,n){r=this._super(r,n);var i=e(this,"keyword"),s=e(r,"content");if(i){var o=e(r,"templateData");o=Ember.copy(o),o.keywords=r.cloneKeywords(),t(r,"templateData",o),o.keywords[i]=s}return s&&e(s,"isController")&&t(r,"controller",s),r},destroy:function(){if(this._super()){var t=e(this,"_arrayController");return t&&t.destroy(),this}}});var r=Ember.Handlebars.GroupedEach=function(e,t,r){var n=this,i=Ember.Handlebars.normalizePath(e,t,r.data);this.context=e,this.path=t,this.options=r,this.template=r.fn,this.containingView=r.data.view,this.normalizedRoot=i.root,this.normalizedPath=i.path,this.content=this.lookupContent(),this.addContentObservers(),this.addArrayObservers(),this.containingView.on("willClearRender",function(){n.destroy()})};r.prototype={contentWillChange:function(){this.removeArrayObservers()},contentDidChange:function(){this.content=this.lookupContent(),this.addArrayObservers(),this.rerenderContainingView()},contentArrayWillChange:Ember.K,contentArrayDidChange:function(){this.rerenderContainingView()},lookupContent:function(){return Ember.Handlebars.get(this.normalizedRoot,this.normalizedPath,this.options)},addArrayObservers:function(){this.content.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},removeArrayObservers:function(){this.content.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},addContentObservers:function(){Ember.addBeforeObserver(this.normalizedRoot,this.normalizedPath,this,this.contentWillChange),Ember.addObserver(this.normalizedRoot,this.normalizedPath,this,this.contentDidChange)},removeContentObservers:function(){Ember.removeBeforeObserver(this.normalizedRoot,this.normalizedPath,this.contentWillChange),Ember.removeObserver(this.normalizedRoot,this.normalizedPath,this.contentDidChange)},render:function(){var t=this.content,r=e(t,"length"),n=this.options.data,i=this.template;n.insideEach=!0;for(var s=0;r>s;s++)i(t.objectAt(s),{data:n})},rerenderContainingView:function(){Ember.run.scheduleOnce("render",this.containingView,"rerender")},destroy:function(){this.removeContentObservers(),this.removeArrayObservers()}},Ember.Handlebars.registerHelper("each",function(e,t){if(4===arguments.length){var r=arguments[0];t=arguments[3],e=arguments[2],""===e&&(e="this"),t.hash.keyword=r}return 1===arguments.length&&(t=e,e="this"),t.hash.dataSourceBinding=e,!t.data.insideGroup||t.hash.groupedRows||t.hash.itemViewClass?Ember.Handlebars.helpers.collection.call(this,"Ember.Handlebars.EachView",t):(new Ember.Handlebars.GroupedEach(this,e,t).render(),void 0)})}(),function(){Ember.Handlebars.registerHelper("template",function(e,t){var r=t.data.view,n=r.templateForName(e);n(this,{data:t.data})})}(),function(){Ember.Handlebars.registerHelper("partial",function(e,t){var r=e.split("/"),n=r[r.length-1];r[r.length-1]="_"+n;var i=t.data.view,s=r.join("/"),o=i.templateForName(s),a=!o&&i.templateForName(e);o=o||a,o(this,{data:t.data})})}(),function(){var e=Ember.get;Ember.set,Ember.Handlebars.registerHelper("yield",function(t){for(var r,n=t.data.view;n&&!e(n,"layout");)n=e(n,"parentView");r=e(n,"template"),r&&r(this,t)})}(),function(){var e=Ember.set;Ember.get,Ember.Checkbox=Ember.View.extend({classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","disabled","tabindex","name"],type:"checkbox",checked:!1,disabled:!1,init:function(){this._super(),this.on("change",this,this._updateElementValue)},_updateElementValue:function(){e(this,"checked",this.$().prop("checked"))}})}(),function(){var e=(Ember.get,Ember.set);Ember.TextSupport=Ember.Mixin.create({value:"",attributeBindings:["placeholder","disabled","maxlength","tabindex"],placeholder:null,disabled:!1,maxlength:null,insertNewline:Ember.K,cancel:Ember.K,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)},interpretKeyEvents:function(e){var t=Ember.TextSupport.KEY_EVENTS,r=t[e.keyCode];return this._elementValueDidChange(),r?this[r](e):void 0},_elementValueDidChange:function(){e(this,"value",this.$().val())}}),Ember.TextSupport.KEY_EVENTS={13:"insertNewline",27:"cancel"}}(),function(){function e(e,r,n){var i=t(r,"action"),s=t(r,"onEvent");if(i&&s===e){var o=t(r,"controller"),a=t(r,"value"),u=t(r,"bubbles");o.send(i,a,r),u||n.stopPropagation()}}var t=Ember.get;Ember.set,Ember.TextField=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-field"],tagName:"input",attributeBindings:["type","value","size","pattern","name"],value:"",type:"text",size:null,pattern:null,action:null,onEvent:"enter",bubbles:!1,insertNewline:function(t){e("enter",this,t)},keyPress:function(t){e("keyPress",this,t)}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Button=Ember.View.extend(Ember.TargetActionSupport,{classNames:["ember-button"],classNameBindings:["isActive"],tagName:"button",propagateEvents:!1,attributeBindings:["type","disabled","href","tabindex"],targetObject:Ember.computed(function(){var t=e(this,"target"),r=e(this,"context"),n=e(this,"templateData");return"string"!=typeof t?t:Ember.Handlebars.get(r,t,{data:n})}).property("target"),type:Ember.computed(function(){var e=this.tagName;return"input"===e||"button"===e?"button":void 0}),disabled:!1,href:Ember.computed(function(){return"a"===this.tagName?"#":null}),mouseDown:function(){return e(this,"disabled")||(t(this,"isActive",!0),this._mouseDown=!0,this._mouseEntered=!0),e(this,"propagateEvents")},mouseLeave:function(){this._mouseDown&&(t(this,"isActive",!1),this._mouseEntered=!1)},mouseEnter:function(){this._mouseDown&&(t(this,"isActive",!0),this._mouseEntered=!0)},mouseUp:function(){return e(this,"isActive")&&(this.triggerAction(),t(this,"isActive",!1)),this._mouseDown=!1,this._mouseEntered=!1,e(this,"propagateEvents")},keyDown:function(e){(13===e.keyCode||32===e.keyCode)&&this.mouseDown()},keyUp:function(e){(13===e.keyCode||32===e.keyCode)&&this.mouseUp()},touchStart:function(e){return this.mouseDown(e)},touchEnd:function(e){return this.mouseUp(e)},init:function(){this._super()}})}(),function(){var e=Ember.get;Ember.set,Ember.TextArea=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name"],rows:null,cols:null,_updateElementValue:Ember.observer(function(){var t=e(this,"value"),r=this.$();r&&t!==r.val()&&r.val(t)},"value"),init:function(){this._super(),this.on("didInsertElement",this,this._updateElementValue)}})}(),function(){var e=Ember.set,t=Ember.get,r=Ember.EnumerableUtils.indexOf,n=Ember.EnumerableUtils.indexesOf,i=Ember.EnumerableUtils.forEach,s=Ember.EnumerableUtils.replace,o=Ember.isArray;Ember.Handlebars.compile,Ember.SelectOption=Ember.View.extend({tagName:"option",attributeBindings:["value","selected"],defaultTemplate:function(e,t){t={data:t.data,hash:{}},Ember.Handlebars.helpers.bind.call(e,"view.label",t)},init:function(){this.labelPathDidChange(),this.valuePathDidChange(),this._super()},selected:Ember.computed(function(){var e=t(this,"content"),n=t(this,"parentView.selection");return t(this,"parentView.multiple")?n&&r(n,e.valueOf())>-1:e==n}).property("content","parentView.selection"),labelPathDidChange:Ember.observer(function(){var e=t(this,"parentView.optionLabelPath");e&&Ember.defineProperty(this,"label",Ember.computed(function(){return t(this,e)}).property(e))},"parentView.optionLabelPath"),valuePathDidChange:Ember.observer(function(){var e=t(this,"parentView.optionValuePath");e&&Ember.defineProperty(this,"value",Ember.computed(function(){return t(this,e)}).property(e))},"parentView.optionValuePath")}),Ember.SelectOptgroup=Ember.CollectionView.extend({tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"}),Ember.Select=Ember.View.extend({tagName:"select",classNames:["ember-select"],defaultTemplate:Ember.Handlebars.template(function(e,t,r,n,i){function s(e,t){var n,i,s="";return t.buffer.push('<option value="">'),n={},i={},t.buffer.push(p(r._triageMustache.call(e,"view.prompt",{hash:{},contexts:[e],types:["ID"],hashContexts:i,hashTypes:n,data:t}))),t.buffer.push("</option>"),s}function o(e,t){var n,i,s;i={},s={},n=r.each.call(e,"view.groupedContent",{hash:{},inverse:d.noop,fn:d.program(4,a,t),contexts:[e],types:["ID"],hashContexts:s,hashTypes:i,data:t}),n||0===n?t.buffer.push(n):t.buffer.push("")}function a(e,t){var n,i;n={contentBinding:e,labelBinding:e},i={contentBinding:"ID",labelBinding:"ID"},t.buffer.push(p(r.view.call(e,"view.groupView",{hash:{contentBinding:"content",labelBinding:"label"},contexts:[e],types:["ID"],hashContexts:n,hashTypes:i,data:t})))}function u(e,t){var n,i,s;i={},s={},n=r.each.call(e,"view.content",{hash:{},inverse:d.noop,fn:d.program(7,c,t),contexts:[e],types:["ID"],hashContexts:s,hashTypes:i,data:t}),n||0===n?t.buffer.push(n):t.buffer.push("")}function c(e,t){var n,i;n={contentBinding:e},i={contentBinding:"STRING"},t.buffer.push(p(r.view.call(e,"view.optionView",{hash:{contentBinding:"this"},contexts:[e],types:["ID"],hashContexts:n,hashTypes:i,data:t})))}this.compilerInfo=[4,">= 1.0.0"],r=this.merge(r,Ember.Handlebars.helpers),i=i||{};var l,h,m,f="",p=this.escapeExpression,d=this;return h={},m={},l=r["if"].call(t,"view.prompt",{hash:{},inverse:d.noop,fn:d.program(1,s,i),contexts:[t],types:["ID"],hashContexts:m,hashTypes:h,data:i}),(l||0===l)&&i.buffer.push(l),h={},m={},l=r["if"].call(t,"view.optionGroupPath",{hash:{},inverse:d.program(6,u,i),fn:d.program(3,o,i),contexts:[t],types:["ID"],hashContexts:m,hashTypes:h,data:i}),(l||0===l)&&i.buffer.push(l),f}),attributeBindings:["multiple","disabled","tabindex","name"],multiple:!1,disabled:!1,content:null,selection:null,value:Ember.computed(function(e,r){if(2===arguments.length)return r;var n=t(this,"optionValuePath").replace(/^content\.?/,"");return n?t(this,"selection."+n):t(this,"selection")
|
21
|
-
}).property("selection"),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:Ember.SelectOptgroup,groupedContent:Ember.computed(function(){var e=t(this,"optionGroupPath"),r=Ember.A();return i(t(this,"content"),function(n){var i=t(n,e);t(r,"lastObject.label")!==i&&r.pushObject({label:i,content:Ember.A()}),t(r,"lastObject.content").push(n)}),r}).property("optionGroupPath","content.@each"),optionView:Ember.SelectOption,_change:function(){t(this,"multiple")?this._changeMultiple():this._changeSingle()},selectionDidChange:Ember.observer(function(){var r=t(this,"selection");if(t(this,"multiple")){if(!o(r))return e(this,"selection",Ember.A([r])),void 0;this._selectionDidChangeMultiple()}else this._selectionDidChangeSingle()},"selection.@each"),valueDidChange:Ember.observer(function(){var e,r=t(this,"content"),n=t(this,"value"),i=t(this,"optionValuePath").replace(/^content\.?/,""),s=i?t(this,"selection."+i):t(this,"selection");n!==s&&(e=r?r.find(function(e){return n===(i?t(e,i):e)}):null,this.set("selection",e))},"value"),_triggerChange:function(){var e=t(this,"selection"),r=t(this,"value");Ember.isNone(e)||this.selectionDidChange(),Ember.isNone(r)||this.valueDidChange(),this._change()},_changeSingle:function(){var r=this.$()[0].selectedIndex,n=t(this,"content"),i=t(this,"prompt");if(n&&t(n,"length")){if(i&&0===r)return e(this,"selection",null),void 0;i&&(r-=1),e(this,"selection",n.objectAt(r))}},_changeMultiple:function(){var r=this.$("option:selected"),n=t(this,"prompt"),i=n?1:0,a=t(this,"content"),u=t(this,"selection");if(a&&r){var c=r.map(function(){return this.index-i}).toArray(),l=a.objectsAt(c);o(u)?s(u,0,t(u,"length"),l):e(this,"selection",l)}},_selectionDidChangeSingle:function(){var e=this.get("element");if(e){var n=t(this,"content"),i=t(this,"selection"),s=n?r(n,i):-1,o=t(this,"prompt");o&&(s+=1),e&&(e.selectedIndex=s)}},_selectionDidChangeMultiple:function(){var e,i=t(this,"content"),s=t(this,"selection"),o=i?n(i,s):[-1],a=t(this,"prompt"),u=a?1:0,c=this.$("option");c&&c.each(function(){e=this.index>-1?this.index-u:-1,this.selected=r(o,e)>-1})},init:function(){this._super(),this.on("didInsertElement",this,this._triggerChange),this.on("change",this,this._change)}})}(),function(){function e(e,t){for(var r in e)"ID"===t[r]&&(e[r+"Binding"]=e[r],delete e[r])}Ember.Handlebars.registerHelper("input",function(t){var r=t.hash,n=t.hashTypes,i=r.type,s=r.on;return delete r.type,delete r.on,e(r,n),"checkbox"===i?Ember.Handlebars.helpers.view.call(this,Ember.Checkbox,t):(r.type=i,r.onEvent=s||"enter",Ember.Handlebars.helpers.view.call(this,Ember.TextField,t))}),Ember.Handlebars.registerHelper("textarea",function(t){var r=t.hash,n=t.hashTypes;return e(r,n),Ember.Handlebars.helpers.view.call(this,Ember.TextArea,t)})}(),function(){function e(){Ember.Handlebars.bootstrap(Ember.$(document))}function t(e){var t,n=Ember.TEMPLATES;if(n)for(var i in n)(t=i.match(/^components\/(.*)$/))&&r(e,t[1])}function r(e,t){var r=t.replace(/-/g,"_"),n=e.lookupFactory("component:"+r)||e.lookupFactory("component:"+t),i=n||Ember.Component.extend();i.reopen({layoutName:"components/"+t}),Ember.Handlebars.helper(t,i)}Ember.Handlebars.bootstrap=function(e){var t='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';Ember.$(t,e).each(function(){var e=Ember.$(this),t="text/x-raw-handlebars"===e.attr("type")?Ember.$.proxy(Handlebars.compile,Handlebars):Ember.$.proxy(Ember.Handlebars.compile,Ember.Handlebars),r=e.attr("data-template-name")||e.attr("id")||"application",n=t(e.html());Ember.TEMPLATES[r]=n,e.remove()})},Ember.onLoad("Ember.Application",function(r){r.initializer?(r.initializer({name:"domTemplates",initialize:e}),r.initializer({name:"registerComponents",after:"domTemplates",initialize:t})):Ember.onLoad("application",e)})}(),function(){Ember.runLoadHooks("Ember.Handlebars",Ember.Handlebars)}(),function(){var e=Ember.get,t=Ember.set;Ember._PromiseChain=Ember.Object.extend({promises:null,failureCallback:Ember.K,successCallback:Ember.K,abortCallback:Ember.K,promiseSuccessCallback:Ember.K,runNextPromise:function(){if(!e(this,"isDestroyed")){var t=e(this,"promises").shiftObject();if(t){var r=e(t,"promise")||t,n=this,i=function(){n.promiseSuccessCallback.call(this,t,arguments),n.runNextPromise()},s=e(n,"failureCallback");r.then(i,s)}else this.successCallback()}},start:function(){return this.runNextPromise(),this},abort:function(){this.abortCallback(),this.destroy()},init:function(){t(this,"promises",Ember.A(e(this,"promises"))),this._super()}})}(),function(){function e(t,r,n,i){var s,o=t.name,a=t.incoming,u=t.incomingNames,c=u.length;if(n||(n={}),i||(i=[]),!n.hasOwnProperty(o)){for(i.push(o),n[o]=!0,s=0;c>s;s++)e(a[u[s]],r,n,i);r(t,i),i.pop()}}function t(){this.names=[],this.vertices={}}t.prototype.add=function(e){if(e){if(this.vertices.hasOwnProperty(e))return this.vertices[e];var t={name:e,incoming:{},incomingNames:[],hasOutgoing:!1,value:null};return this.vertices[e]=t,this.names.push(e),t}},t.prototype.map=function(e,t){this.add(e).value=t},t.prototype.addEdge=function(t,r){function n(e,t){if(e.name===r)throw new Error("cycle detected: "+r+" <- "+t.join(" <- "))}if(t&&r&&t!==r){var i=this.add(t),s=this.add(r);s.incoming.hasOwnProperty(t)||(e(i,n),i.hasOutgoing=!0,s.incoming[t]=i,s.incomingNames.push(t))}},t.prototype.topsort=function(t){var r,n,i={},s=this.vertices,o=this.names,a=o.length;for(r=0;a>r;r++)n=s[o[r]],n.hasOutgoing||e(n,t,i)},t.prototype.addEdges=function(e,t,r,n){var i;if(this.map(e,t),r)if("string"==typeof r)this.addEdge(e,r);else for(i=0;i<r.length;i++)this.addEdge(e,r[i]);if(n)if("string"==typeof n)this.addEdge(n,e);else for(i=0;i<n.length;i++)this.addEdge(n[i],e)},Ember.DAG=t}(),function(){var e=Ember.get,t=Ember.set;Ember.Application=Ember.Namespace.extend({rootElement:"body",eventDispatcher:null,customEvents:null,autoinit:!Ember.testing,isInitialized:!1,init:function(){if(this.$||(this.$=Ember.$),this._super(),this.createEventDispatcher(),this._readinessDeferrals=1,this.waitForDOMContentLoaded(),this.autoinit){var e=this;this.$().ready(function(){e.isDestroyed||e.isInitialized||e.initialize()})}},createEventDispatcher:function(){var r=e(this,"rootElement"),n=Ember.EventDispatcher.create({rootElement:r});t(this,"eventDispatcher",n)},waitForDOMContentLoaded:function(){this.deferReadiness();var e=this;this.$().ready(function(){e.advanceReadiness()})},deferReadiness:function(){this._readinessDeferrals++},advanceReadiness:function(){this._readinessDeferrals--,0===this._readinessDeferrals&&Ember.run.once(this,this.didBecomeReady)},initialize:function(e){return e=this.setupRouter(e),this.runInjections(e),Ember.runLoadHooks("application",this),this.isInitialized=!0,this.advanceReadiness(),this},runInjections:function(t){var r,n,i=e(this.constructor,"injections"),s=new Ember.DAG,o=this;for(r=0;r<i.length;r++)n=i[r],s.addEdges(n.name,n.injection,n.before,n.after);s.topsort(function(e){var r=e.value,n=Ember.A(Ember.keys(o));n.forEach(function(e){r(o,t,e)})})},setupRouter:function(e){return!e&&Ember.Router.detect(this.Router)&&(e=this.Router.create(),this._createdRouter=e),e&&(t(this,"router",e),t(e,"namespace",this)),e},didBecomeReady:function(){var t,r=e(this,"eventDispatcher"),n=e(this,"customEvents");r.setup(n),this.ready(),t=e(this,"router"),this.createApplicationView(t),t&&t instanceof Ember.Router&&this.startRouting(t),Ember.BOOTED=!0},createApplicationView:function(r){var n,i,s=e(this,"rootElement"),o={},a=this.ApplicationView,u=Ember.TEMPLATES.application;(a||u)&&(r&&(n=e(r,"applicationController"),n&&(o.controller=n)),u&&(o.template=u),a||(a=Ember.View),i=a.create(o),this._createdApplicationView=i,r&&t(r,"applicationView",i),i.appendTo(s))},startRouting:function(t){var r=e(t,"location");t.route(r.getURL()),r.onUpdateURL(function(e){t.route(e)})},ready:Ember.K,willDestroy:function(){e(this,"eventDispatcher").destroy(),this._createdRouter&&this._createdRouter.destroy(),this._createdApplicationView&&this._createdApplicationView.destroy()},registerInjection:function(e){this.constructor.registerInjection(e)}}),Ember.Application.reopenClass({concatenatedProperties:["injections"],injections:Ember.A(),registerInjection:function(t){var r=e(this,"injections");r.push(t)}}),Ember.Application.registerInjection({name:"controllers",injection:function(e,t,r){if(t&&/^[A-Z].*Controller$/.test(r)){var n,i=r.charAt(0).toLowerCase()+r.substr(1),s=e[r];Ember.Object.detect(s)&&(n=e[r].create(),t.set(i,n),n.setProperties({target:t,controllers:t,namespace:e}))}}}),Ember.runLoadHooks("Ember.Application",Ember.Application)}(),function(){var e=Ember.get;Ember._ResolvedState=Ember.Object.extend({manager:null,state:null,match:null,object:Ember.computed(function(){if(this._object)return this._object;var t=e(this,"state"),r=e(this,"match"),n=e(this,"manager");return t.deserialize(n,r.hash)}),hasPromise:Ember.computed(function(){return Ember.canInvoke(e(this,"object"),"then")}).property("object"),promise:Ember.computed(function(){var t=e(this,"object");return Ember.canInvoke(t,"then")?t:{then:function(e){e(t)}}}).property("object"),transition:function(){var t=e(this,"manager"),r=e(this,"state.path"),n=e(this,"object");t.transitionTo(r,n)}})}(),function(){var e=Ember.get,t=function(e){var t=e.toString(),r=t.split("."),n=r[r.length-1];return Ember.String.underscore(n)+"_id"},r=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e.hasOwnProperty(r)||(e[r]=t[r]))};Ember.Routable=Ember.Mixin.create({init:function(){var t;this.on("setup",this,this.stashContext),(t=e(this,"redirectsTo"))&&(this.connectOutlets=function(e){e.transitionTo(t)});var r=e(this,"route");""===r&&(r="/"),this._super()},setup:function(){return this.connectOutlets.apply(this,arguments)},stashContext:function(t,r){this.router=t;var n=this.serialize(t,r);t.setStateMeta(this,"context",r),t.setStateMeta(this,"serialized",n),e(this,"isRoutable")&&!e(t,"isRouting")&&this.updateRoute(t,e(t,"location"))},updateRoute:function(t,r){if(e(this,"isLeafRoute")){var n=this.absoluteRoute(t);r.setURL(n)}},absoluteRoute:function(t,n){var i,s,o=e(this,"parentState"),a="";s=null,n&&(n instanceof Array?n.length>0&&(s=n.shift()):s=n),e(o,"isRoutable")&&(a=o.absoluteRoute(t,n));var u=e(this,"routeMatcher"),c=t.getStateMeta(this,"serialized");return s=s||{},r(s,c),i=u&&u.generate(s),i&&(a=a+"/"+i),a},isRoutable:Ember.computed(function(){return"string"==typeof e(this,"route")}),isLeafRoute:Ember.computed(function(){return e(this,"isLeaf")?!0:!e(this,"childStates").findProperty("isRoutable")}),routeMatcher:Ember.computed(function(){var t=e(this,"route");return t?Ember._RouteMatcher.create({route:t}):void 0}),hasContext:Ember.computed(function(){var t=e(this,"routeMatcher");return t?t.identifiers.length>0:void 0}),modelClass:Ember.computed(function(){var t=e(this,"modelType");return"string"==typeof t?Ember.get(Ember.lookup,t):t}),modelClassFor:function(t){var r,n,i,s,o;if(r=e(this,"modelClass"))return r;if(t&&(n=e(this,"routeMatcher"),n&&(i=n.identifiers,2===i.length&&(s=i[1].match(/^(.*)_id$/)))))return o=Ember.String.classify(s[1]),e(t,o)},deserialize:function(r,n){var i;return(i=this.modelClassFor(e(r,"namespace")))?i.find(n[t(i)]):n},serialize:function(r,n){var i,s,o;return Ember.isEmpty(n)?"":((i=this.modelClassFor(e(r,"namespace")))&&(s=t(i),o=e(n,"id"),n={},n[s]=o),n)},resolvePath:function(t,r){if(e(this,"isLeafRoute"))return Ember.A();var n,i=e(this,"childStates");i=Ember.A(i.filterProperty("isRoutable")),i=i.sort(function(t,r){var n=e(t,"routeMatcher.identifiers.length"),i=e(r,"routeMatcher.identifiers.length"),s=e(t,"route"),o=e(r,"route");return 0===s.indexOf(o)?-1:0===o.indexOf(s)?1:n!==i?n-i:e(r,"route.length")-e(t,"route.length")});var s=i.find(function(t){var i=e(t,"routeMatcher");return(n=i.match(r))?!0:void 0}),o=Ember._ResolvedState.create({manager:t,state:s,match:n}),a=s.resolvePath(t,n.remaining);return Ember.A([o]).pushObjects(a)},routePath:function(t,r){function n(){i.forEach(function(e){e.transition()})}if(!e(this,"isLeafRoute")){var i=this.resolvePath(t,r),s=i.some(function(t){return e(t,"hasPromise")});s?(t.transitionTo("loading"),t.handleStatePromises(i,n)):n()}},unroutePath:function(t,r){var n=e(this,"parentState");if(n!==t){r=r.replace(/^(?=[^\/])/,"/");var i=this.absoluteRoute(t),s=e(this,"route");if("/"!==s){var o=r.indexOf(i),a=r.charAt(i.length);if(0===o&&("/"===a||""===a))return}t.enterState({exitStates:[this],enterStates:[],finalState:n}),t.send("unroutePath",r)}},parentTemplate:Ember.computed(function(){for(var t,r=this;r=e(r,"parentState");)if(t=e(r,"template"))return t;return"application"}),_template:Ember.computed(function(){var t=e(this,"template");if(t)return t;var r,n=this.constructor.toString();return/^[^\[].*Route$/.test(n)?(r=n.match(/([^\.]+\.)*([^\.]+)/)[2],r=r.replace(/Route$/,""),r.charAt(0).toLowerCase()+r.substr(1)):void 0}),render:function(t){t=t||{};var r=t.template||e(this,"_template"),n=t.into||e(this,"parentTemplate"),i=e(this.router,n+"Controller"),s=Ember.String.classify(r)+"View",o=e(e(this.router,"namespace"),s);o=(o||Ember.View).extend({templateName:r}),i.set("view",o.create())},connectOutlets:Ember.K,navigateAway:Ember.K})}(),function(){Ember.Route=Ember.State.extend(Ember.Routable)}(),function(){var e=function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^\$|#\s]/g,"\\$&")};Ember._RouteMatcher=Ember.Object.extend({state:null,init:function(){var t,r=this.route,n=[],i=1;"/"===r.charAt(0)&&(r=this.route=r.substr(1)),t=e(r);var s=t.replace(/(:|(?:\\\*))([a-z_]+)(?=$|\/)/gi,function(e,t,r){switch(n[i++]=r,t){case":":return"([^/]+)";case"\\*":return"(.+)"}});this.identifiers=n,this.regex=new RegExp("^/?"+s)},match:function(e){var t=e.match(this.regex);if(t){for(var r=this.identifiers,n={},i=1,s=r.length;s>i;i++)n[r[i]]=t[i];return{remaining:e.substr(t[0].length),hash:r.length>0?n:null}}},generate:function(e){for(var t,r=this.identifiers,n=this.route,i=1,s=r.length;s>i;i++)t=r[i],n=n.replace(new RegExp("(:|(\\*))"+t),e[t]);return n}})}(),function(){Ember.get,Ember.set,Ember.Location={create:function(e){var t=e&&e.implementation,r=this.implementations[t];return r.create.apply(r,arguments)},registerImplementation:function(e,t){this.implementations[e]=t},implementations:{}}}(),function(){var e=Ember.get,t=Ember.set;Ember.NoneLocation=Ember.Object.extend({path:"",getURL:function(){return e(this,"path")},setURL:function(e){t(this,"path",e)},onUpdateURL:function(){},formatURL:function(e){return e}}),Ember.Location.registerImplementation("none",Ember.NoneLocation)}(),function(){var e=Ember.get,t=Ember.set;Ember.HashLocation=Ember.Object.extend({init:function(){t(this,"location",e(this,"location")||window.location)},getURL:function(){return e(this,"location").hash.substr(1)},setURL:function(r){e(this,"location").hash=r,t(this,"lastSetURL",r)},onUpdateURL:function(r){var n=this,i=Ember.guidFor(this);Ember.$(window).on("hashchange.ember-location-"+i,function(){var i=location.hash.substr(1);e(n,"lastSetURL")!==i&&(t(n,"lastSetURL",null),r(location.hash.substr(1)))})},formatURL:function(e){return"#"+e},willDestroy:function(){var e=Ember.guidFor(this);Ember.$(window).off("hashchange.ember-location-"+e)}}),Ember.Location.registerImplementation("hash",Ember.HashLocation)}(),function(){var e=Ember.get,t=Ember.set,r=!1;Ember.HistoryLocation=Ember.Object.extend({init:function(){t(this,"location",e(this,"location")||window.location),this.initState()},initState:function(){this.replaceState(e(this,"location").pathname),t(this,"history",window.history)},rootURL:"/",getURL:function(){return e(this,"location").pathname},setURL:function(e){e=this.formatURL(e),this.getState()&&this.getState().path!==e&&(r=!0,this.pushState(e))},getState:function(){return e(this,"history").state},pushState:function(e){window.history.pushState({path:e},null,e)},replaceState:function(e){window.history.replaceState({path:e},null,e)},onUpdateURL:function(e){var t=Ember.guidFor(this);Ember.$(window).on("popstate.ember-location-"+t,function(){r&&e(location.pathname)})},formatURL:function(t){var r=e(this,"rootURL");return""!==t&&(r=r.replace(/\/$/,"")),r+t},willDestroy:function(){var e=Ember.guidFor(this);Ember.$(window).off("popstate.ember-location-"+e)}}),Ember.Location.registerImplementation("history",Ember.HistoryLocation)}(),function(){var e=Ember.get,t=Ember.set;Ember.Router=Ember.StateManager.extend({initialState:"root",location:"hash",rootURL:"/",transitionTo:function(){this.abortRoutingPromises(),this._super.apply(this,arguments)},route:function(r){function n(){for(r=r.replace(e(this,"rootURL"),""),r=r.replace(/^(?=[^\/])/,"/"),this.send("navigateAway"),this.send("unroutePath",r),s=e(this,"currentState");s&&!s.get("isRoutable");)s=e(s,"parentState");var t=s?s.absoluteRoute(this):"",n=r.substr(t.length);this.send("routePath",n)}function i(){t(this,"isRouting",!1)}this.abortRoutingPromises(),t(this,"isRouting",!0);var s;for(Ember.tryFinally(n,i,this),s=e(this,"currentState");s&&!s.get("isRoutable");)s=e(s,"parentState");s&&s.updateRoute(this,e(this,"location"))},urlFor:function(t,r){var n=e(this,"currentState")||this,i=this.findStateByPath(n,t),s=e(this,"location"),o=i.absoluteRoute(this,r);return s.formatURL(o)},urlForEvent:function(t){var r,n,i=Array.prototype.slice.call(arguments,1),s=e(this,"currentState"),o=s.lookupEventTransition(t);return r=this.findStateByPath(s,o),n=this.serializeRecursively(r,i,[]),this.urlFor(o,n)},serializeRecursively:function(t,r,n){var i,s=e(t,"hasContext")?r.pop():null,o=s?t.serialize(this,s):null;return n.push(o),i=t.get("parentState"),i&&i instanceof Ember.Route?this.serializeRecursively(i,r,n):n},abortRoutingPromises:function(){this._routingPromises&&(this._routingPromises.abort(),this._routingPromises=null)},handleStatePromises:function(e,r){this.abortRoutingPromises(),this.set("isLocked",!0);var n=this;this._routingPromises=Ember._PromiseChain.create({promises:e.slice(),successCallback:function(){n.set("isLocked",!1),r()},failureCallback:function(){throw"Unable to load object"},promiseSuccessCallback:function(e,r){t(e,"object",r[0])},abortCallback:function(){n.set("isLocked",!1)}}).start()},moveStatesIntoRoot:function(){this.root=Ember.Route.extend();for(var e in this)if("constructor"!==e){var t=this[e];(t instanceof Ember.Route||Ember.Route.detect(t))&&(this.root[e]=t,delete this[e])}},init:function(){this.root||this.moveStatesIntoRoot(),this._super();var r=e(this,"location"),n=e(this,"rootURL");"string"==typeof r&&t(this,"location",Ember.Location.create({implementation:r,rootURL:n})),this.assignRouter(this,this)},assignRouter:function(e,t){e.router=t;var r=e.states;if(r)for(var n in r)r.hasOwnProperty(n)&&this.assignRouter(r[n],t)},willDestroy:function(){e(this,"location").destroy()}})}(),function(){var e=Ember.Handlebars,t=e.get,r=Ember.get,n=Array.prototype.slice,i=e.ActionHelper={registeredActions:{}};i.registerAction=function(e,t){var r=(++Ember.uuid).toString();return i.registeredActions[r]={eventName:t.eventName,handler:function(r){var n=r.shiftKey||r.metaKey||r.altKey||r.ctrlKey,i=r.which>1,s=n||i;if(!t.link||!s){r.preventDefault(),r.view=t.view,t.hasOwnProperty("context")&&(r.context=t.context),t.hasOwnProperty("contexts")&&(r.contexts=t.contexts);var o=t.target;return"function"==typeof o.send?o.send(e,r):o[e].call(o,r)}}},t.view.on("willClearRender",function(){delete i.registeredActions[r]}),r},e.registerHelper("action",function(s){var o,a,u=arguments[arguments.length-1],c=n.call(arguments,1,-1),l=u.hash,h=u.data.view,m={eventName:l.on||"click"};m.view=h=r(h,"concreteView"),l.target?o=t(this,l.target,u):(a=u.data.keywords.controller)&&(o=a),m.target=o=o||h,c.length&&(m.contexts=c=Ember.EnumerableUtils.map(c,function(e){return t(this,e,u)},this),m.context=c[0]);var f,p=[];l.href&&o.urlForEvent&&(f=o.urlForEvent.apply(o,[s].concat(c)),p.push('href="'+f+'"'),m.link=!0);var d=i.registerAction(s,m);return p.push('data-ember-action="'+d+'"'),new e.SafeString(p.join(" "))})}(),function(){Ember.onLoad("Ember.Handlebars",function(e){e.OutletView=Ember.ContainerView.extend(Ember._Metamorph),e.registerHelper("outlet",function(t,r){return t&&t.data&&t.data.isRenderData&&(r=t,t="view"),r.hash.currentViewBinding="view.context."+t,e.helpers.view.call(this,e.OutletView,r)})})}(),function(){var e=Ember.get,t=Ember.set;Ember.ControllerMixin.reopen({controllers:null,connectOutlet:function(r,n){var i,s,o,a,u;if("string"===Ember.typeOf(n)&&(i=r,r=n,n=arguments[2]),1===arguments.length?"object"===Ember.typeOf(r)&&(u=r,i=u.outletName,r=u.name,s=u.viewClass,a=u.controller,n=u.context):u={},i=i||"view",r){var c=e(this,"namespace"),l=e(this,"controllers"),h=r.charAt(0).toUpperCase()+r.substr(1)+"View";s=e(c,h),a=e(l,r+"Controller")}return a&&n&&t(a,"content",n),o=this.createOutletView(i,s),a&&t(o,"controller",a),t(this,i,o),o},connectControllers:function(){for(var r,n=e(this,"controllers"),i=Array.prototype.slice.apply(arguments),s=0,o=i.length;o>s;s++)r=i[s]+"Controller",t(this,r,e(n,r))},disconnectOutlet:function(e){e=e||"view",t(this,e,null)},createOutletView:function(e,t){return t.create()},urlForEvent:function(t,r){var n=e(this,"target");return n?n.urlForEvent(t,r):void 0}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.String.fmt);Ember.View.reopen({templateForName:function(r,n){if(r){var i=e(this,"templates"),s=e(i,r);if(!s)throw new Ember.Error(t('%@ - Unable to find %@ "%@".',[this,n,r]));return s}}})}()}(),"undefined"==typeof location||"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname||Ember.Logger.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. If you want full error messages please use the non-minified build provided on the Ember website.");
|
15
|
+
!function(){var e,t;!function(){var r={},n={};e=function(e,t,n){r[e]={deps:t,callback:n}},t=function(e){if(n[e])return n[e];n[e]={};var i,s,o,a,u;if(i=r[e],!i)throw new Error("Module '"+e+"' not found.");s=i.deps,o=i.callback,a=[];for(var c=0,l=s.length;l>c;c++)"exports"===s[c]?a.push(u={}):a.push(t(s[c]));var h=o.apply(this,a);return n[e]=u||h}}(),function(){function e(e){var t=r.console,n="object"==typeof t?t[e]:null;return n?n.apply?function(){n.apply(t,arguments)}:function(){var e=Array.prototype.join.call(arguments,", ");n(e)}:void 0}function t(e,t){if(!e)try{throw new Error("assertion failed: "+t)}catch(r){setTimeout(function(){throw r},0)}}"undefined"==typeof Ember&&(Ember={});var r=Ember.imports=Ember.imports||this,n=Ember.exports=Ember.exports||this;Ember.lookup=Ember.lookup||this,n.Em=n.Ember=Em=Ember,Ember.isNamespace=!0,Ember.toString=function(){return"Ember"},Ember.VERSION="1.0.0-rc.6.1",Ember.ENV=Ember.ENV||("undefined"==typeof ENV?{}:ENV),Ember.config=Ember.config||{},Ember.EXTEND_PROTOTYPES=Ember.ENV.EXTEND_PROTOTYPES,"undefined"==typeof Ember.EXTEND_PROTOTYPES&&(Ember.EXTEND_PROTOTYPES=!0),Ember.LOG_STACKTRACE_ON_DEPRECATION=Ember.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,Ember.SHIM_ES5=Ember.ENV.SHIM_ES5===!1?!1:Ember.EXTEND_PROTOTYPES,Ember.LOG_VERSION=Ember.ENV.LOG_VERSION===!1?!1:!0,Ember.K=function(){return this},"undefined"==typeof Ember.assert&&(Ember.assert=Ember.K),"undefined"==typeof Ember.warn&&(Ember.warn=Ember.K),"undefined"==typeof Ember.debug&&(Ember.debug=Ember.K),"undefined"==typeof Ember.deprecate&&(Ember.deprecate=Ember.K),"undefined"==typeof Ember.deprecateFunc&&(Ember.deprecateFunc=function(e,t){return t}),Ember.uuid=0,Ember.Logger={log:e("log")||Ember.K,warn:e("warn")||Ember.K,error:e("error")||Ember.K,info:e("info")||Ember.K,debug:e("debug")||e("info")||Ember.K,assert:e("assert")||t},Ember.onerror=null,Ember.handleErrors=function(e,t){if("function"!=typeof Ember.onerror)return e.call(t||this);try{return e.call(t||this)}catch(r){Ember.onerror(r)}},Ember.merge=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r]);return e},Ember.isNone=function(e){return null===e||void 0===e},Ember.none=Ember.deprecateFunc("Ember.none is deprecated. Please use Ember.isNone instead.",Ember.isNone),Ember.isEmpty=function(e){return Ember.isNone(e)||0===e.length&&"function"!=typeof e||"object"==typeof e&&0===Ember.get(e,"length")},Ember.empty=Ember.deprecateFunc("Ember.empty is deprecated. Please use Ember.isEmpty instead.",Ember.isEmpty)}(),function(){var e=Ember.platform={};if(Ember.create=Object.create,Ember.create&&2!==Ember.create({a:1},{a:{value:2}}).a&&(Ember.create=null),!Ember.create||Ember.ENV.STUB_OBJECT_CREATE){var t=function(){};Ember.create=function(e,r){if(t.prototype=e,e=new t,r){t.prototype=e;for(var n in r)t.prototype[n]=r[n].value;e=new t}return t.prototype=null,e},Ember.create.isSimulated=!0}var r,n,i=Object.defineProperty;if(i)try{i({},"a",{get:function(){}})}catch(s){i=null}i&&(r=function(){var e={};return i(e,"a",{configurable:!0,enumerable:!0,get:function(){},set:function(){}}),i(e,"a",{configurable:!0,enumerable:!0,writable:!0,value:!0}),e.a===!0}(),n=function(){try{return i(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}(),r?n||(i=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)}):i=null),e.defineProperty=i,e.hasPropertyAccessors=!0,e.defineProperty||(e.hasPropertyAccessors=!1,e.defineProperty=function(e,t,r){r.get||(e[t]=r.value)},e.defineProperty.isSimulated=!0),Ember.ENV.MANDATORY_SETTER&&!e.hasPropertyAccessors&&(Ember.ENV.MANDATORY_SETTER=!1)}(),function(){var e=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},t=e(Array.prototype.map)?Array.prototype.map:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=new Array(r),i=arguments[1],s=0;r>s;s++)s in t&&(n[s]=e.call(i,t[s],s,t));return n},r=e(Array.prototype.forEach)?Array.prototype.forEach:function(e){if(void 0===this||null===this)throw new TypeError;var t=Object(this),r=t.length>>>0;if("function"!=typeof e)throw new TypeError;for(var n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)},n=e(Array.prototype.indexOf)?Array.prototype.indexOf:function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1};Ember.ArrayPolyfills={map:t,forEach:r,indexOf:n},Ember.SHIM_ES5&&(Array.prototype.map||(Array.prototype.map=t),Array.prototype.forEach||(Array.prototype.forEach=r),Array.prototype.indexOf||(Array.prototype.indexOf=n))}(),function(){function e(e){this.descs={},this.watching={},this.cache={},this.source=e}function t(e,t){return!(!e||"function"!=typeof e[t])}var r=Ember.platform.defineProperty,n=Ember.create,i="__ember"+ +new Date,s=0,o=[],a={},u=Ember.ENV.MANDATORY_SETTER;Ember.GUID_KEY=i;var c={writable:!1,configurable:!1,enumerable:!1,value:null};Ember.generateGuid=function(e,t){t||(t="ember");var n=t+s++;return e&&(c.value=n,r(e,i,c)),n},Ember.guidFor=function(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,n=typeof e;switch(n){case"number":return t=o[e],t||(t=o[e]="nu"+e),t;case"string":return t=a[e],t||(t=a[e]="st"+s++),t;case"boolean":return e?"(true)":"(false)";default:return e[i]?e[i]:e===Object?"(Object)":e===Array?"(Array)":(t="ember"+s++,c.value=t,r(e,i,c),t)}};var l={writable:!0,configurable:!1,enumerable:!1,value:null},h=Ember.GUID_KEY+"_meta";Ember.META_KEY=h;var m={descs:{},watching:{}};u&&(m.values={}),Ember.EMPTY_META=m,Object.freeze&&Object.freeze(m);var f=Ember.platform.defineProperty.isSimulated;f&&(e.prototype.__preventPlainObject__=!0,e.prototype.toJSON=function(){}),Ember.meta=function(t,i){var s=t[h];return i===!1?s||m:(s?s.source!==t&&(f||r(t,h,l),s=n(s),s.descs=n(s.descs),s.watching=n(s.watching),s.cache={},s.source=t,u&&(s.values=n(s.values)),t[h]=s):(f||r(t,h,l),s=new e(t),u&&(s.values={}),t[h]=s,s.descs.constructor=null),s)},Ember.getMeta=function(e,t){var r=Ember.meta(e,!1);return r[t]},Ember.setMeta=function(e,t,r){var n=Ember.meta(e,!0);return n[t]=r,r},Ember.metaPath=function(e,t,r){for(var i,s,o=Ember.meta(e,r),a=0,u=t.length;u>a;a++){if(i=t[a],s=o[i]){if(s.__ember_source__!==e){if(!r)return void 0;s=o[i]=n(s),s.__ember_source__=e}}else{if(!r)return void 0;s=o[i]={__ember_source__:e}}o=s}return s},Ember.wrap=function(e,t){function r(){}function n(){var n,i=this._super;return this._super=t||r,n=e.apply(this,arguments),this._super=i,n}return n.wrappedFunction=e,n.__ember_observes__=e.__ember_observes__,n.__ember_observesBefore__=e.__ember_observesBefore__,n},Ember.isArray=function(e){return!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:Ember.Array&&Ember.Array.detect(e)?!0:void 0!==e.length&&"object"==typeof e?!0:!1},Ember.makeArray=function(e){return null===e||void 0===e?[]:Ember.isArray(e)?e:[e]},Ember.canInvoke=t,Ember.tryInvoke=function(e,r,n){return t(e,r)?e[r].apply(e,n||[]):void 0};var p=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();Ember.tryFinally=p?function(e,t,r){var n,i,s;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(o){s=o}}if(s)throw s;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i},Ember.tryCatchFinally=p?function(e,t,r,n){var i,s,o;n=n||this;try{i=e.call(n)}catch(a){i=t.call(n,a)}finally{try{s=r.call(n)}catch(u){o=u}}if(o)throw o;return void 0===s?i:s}:function(e,t,r,n){var i,s;n=n||this;try{i=e.call(n)}catch(o){i=t.call(n,o)}finally{s=r.call(n)}return void 0===s?i:s};var d={},b="Boolean Number String Function Array Date RegExp Object".split(" ");Ember.ArrayPolyfills.forEach.call(b,function(e){d["[object "+e+"]"]=e.toLowerCase()});var E=Object.prototype.toString;Ember.typeOf=function(e){var t;return t=null===e||void 0===e?String(e):d[E.call(e)]||"object","function"===t?Ember.Object&&Ember.Object.detect(e)&&(t="class"):"object"===t&&(t=e instanceof Error?"error":Ember.Object&&e instanceof Ember.Object?"instance":"object"),t}}(),function(){Ember.Instrumentation={};var e=[],t={},r=function(r){for(var n,i=[],s=0,o=e.length;o>s;s++)n=e[s],n.regex.test(r)&&i.push(n.object);return t[r]=i,i},n=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return t?t.bind(e):function(){return+new Date}}();Ember.Instrumentation.instrument=function(e,i,s,o){function a(){for(p=0,d=m.length;d>p;p++)f=m[p],b[p]=f.before(e,n(),i);return s.call(o)}function u(e){i=i||{},i.exception=e}function c(){for(p=0,d=m.length;d>p;p++)f=m[p],f.after(e,n(),i,b[p]);Ember.STRUCTURED_PROFILE&&console.timeEnd(l)}var l,h,m=t[e];if(Ember.STRUCTURED_PROFILE&&(l=e+": "+i.object,console.time(l)),m||(m=r(e)),0===m.length)return h=s.call(o),Ember.STRUCTURED_PROFILE&&console.timeEnd(l),h;var f,p,d,b=[];return Ember.tryCatchFinally(a,u,c)},Ember.Instrumentation.subscribe=function(r,n){for(var i,s=r.split("."),o=[],a=0,u=s.length;u>a;a++)i=s[a],"*"===i?o.push("[^\\.]*"):o.push(i);o=o.join("\\."),o+="(\\..*)?";var c={pattern:r,regex:new RegExp("^"+o+"$"),object:n};return e.push(c),t={},c},Ember.Instrumentation.unsubscribe=function(r){for(var n,i=0,s=e.length;s>i;i++)e[i]===r&&(n=i);e.splice(n,1),t={}},Ember.Instrumentation.reset=function(){e=[],t={}},Ember.instrument=Ember.Instrumentation.instrument,Ember.subscribe=Ember.Instrumentation.subscribe}(),function(){var e,t,r,n;n=Array.prototype.concat,e=Array.prototype.map||Ember.ArrayPolyfills.map,t=Array.prototype.forEach||Ember.ArrayPolyfills.forEach,r=Array.prototype.indexOf||Ember.ArrayPolyfills.indexOf;var i=Ember.EnumerableUtils={map:function(t,r,n){return t.map?t.map.call(t,r,n):e.call(t,r,n)},forEach:function(e,r,n){return e.forEach?e.forEach.call(e,r,n):t.call(e,r,n)},indexOf:function(e,t,n){return e.indexOf?e.indexOf.call(e,t,n):r.call(e,t,n)},indexesOf:function(e,t){return void 0===t?[]:i.map(t,function(t){return i.indexOf(e,t)})},addObject:function(e,t){var r=i.indexOf(e,t);-1===r&&e.push(t)},removeObject:function(e,t){var r=i.indexOf(e,t);-1!==r&&e.splice(r,1)},replace:function(e,t,r,i){if(e.replace)return e.replace(t,r,i);var s=n.apply([t,r],i);return e.splice.apply(e,s)},intersection:function(e,t){var r=[];return i.forEach(e,function(e){i.indexOf(t,e)>=0&&r.push(e)}),r}}}(),function(){var e,t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=/^([A-Z$]|([0-9][A-Z$])).*[\.\*]/,i=/^this[\.\*]/,s=/^([^\.\*]+)/;e=function(e,n){if(""===n)return e;if(n||"string"!=typeof e||(n=e,e=null),null===e||-1!==n.indexOf("."))return a(e,n);var i,s=e[t],o=s&&s.descs[n];return o?o.get(e,n):(i=r&&s&&s.watching[n]>0?s.values[n]:e[n],void 0!==i||"object"!=typeof e||n in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(n))},Ember.config.overrideAccessors&&(Ember.get=e,Ember.config.overrideAccessors(),e=Ember.get);var o=Ember.normalizeTuple=function(t,r){var o,a=i.test(r),u=!a&&n.test(r);if((!t||u)&&(t=Ember.lookup),a&&(r=r.slice(5)),t===Ember.lookup&&(o=r.match(s)[0],t=e(t,o),r=r.slice(o.length+1)),!r||0===r.length)throw new Error("Invalid Path");return[t,r]},a=Ember._getPath=function(t,r){var n,s,a,u,c;if(null===t&&-1===r.indexOf("."))return e(Ember.lookup,r);for(n=i.test(r),(!t||n)&&(a=o(t,r),t=a[0],r=a[1],a.length=0),s=r.split("."),c=s.length,u=0;null!=t&&c>u;u++)if(t=e(t,s[u],!0),t&&t.isDestroyed)return void 0;return t};Ember.getWithDefault=function(t,r,n){var i=e(t,r);return void 0===i?n:i},Ember.get=e,Ember.getPath=Ember.deprecateFunc("getPath is deprecated since get now supports paths",Ember.get)}(),function(){function e(e,t,r){for(var n=-1,i=0,s=e.length;s>i;i++)if(t===e[i][0]&&r===e[i][1]){n=i;break}return n}function t(e,t){var r,n=f(e,!0);return n.listeners||(n.listeners={}),n.hasOwnProperty("listeners")||(n.listeners=m(n.listeners)),r=n.listeners[t],r&&!n.listeners.hasOwnProperty(t)?r=n.listeners[t]=n.listeners[t].slice():r||(r=n.listeners[t]=[]),r}function r(t,r,n){var i=t[p],s=i&&i.listeners&&i.listeners[r];if(s)for(var o=s.length-1;o>=0;o--){var a=s[o][0],u=s[o][1],c=s[o][2],l=e(n,a,u);-1===l&&n.push([a,u,c])}}function n(t,r,n){var i=t[p],s=i&&i.listeners&&i.listeners[r],o=[];if(s){for(var a=s.length-1;a>=0;a--){var u=s[a][0],c=s[a][1],l=s[a][2],h=e(n,u,c);-1===h&&(n.push([u,c,l]),o.push([u,c,l]))}return o}}function i(r,n,i,s,o){s||"function"!=typeof i||(s=i,i=null);var a=t(r,n),u=e(a,i,s),c=0;o&&(c|=d),-1===u&&(a.push([i,s,c]),"function"==typeof r.didAddListener&&r.didAddListener(n,i,s))}function s(r,n,i,s){function o(i,s){var o=t(r,n),a=e(o,i,s);-1!==a&&(o.splice(a,1),"function"==typeof r.didRemoveListener&&r.didRemoveListener(n,i,s))}if(s||"function"!=typeof i||(s=i,i=null),s)o(i,s);else{var a=r[p],u=a&&a.listeners&&a.listeners[n];if(!u)return;for(var c=u.length-1;c>=0;c--)o(u[c][0],u[c][1])}}function o(r,n,i,s,o){function a(){return o.call(i)}function u(){c&&(c[2]&=~b)}s||"function"!=typeof i||(s=i,i=null);var c,l=t(r,n),h=e(l,i,s);return-1!==h&&(c=l[h].slice(),c[2]|=b,l[h]=c),Ember.tryFinally(a,u)}function a(r,n,i,s,o){function a(){return o.call(i)}function u(){for(m=0,f=p.length;f>m;m++)p[m][2]&=~b}s||"function"!=typeof i||(s=i,i=null);var c,l,h,m,f,p=[];for(m=0,f=n.length;f>m;m++){c=n[m],l=t(r,c);var d=e(l,i,s);-1!==d&&(h=l[d].slice(),h[2]|=b,l[d]=h,p.push(h))}return Ember.tryFinally(a,u)}function u(e){var t=e[p].listeners,r=[];if(t)for(var n in t)t[n]&&r.push(n);return r}function c(e,t,r,n){if(e!==Ember&&"function"==typeof e.sendEvent&&e.sendEvent(t,r),!n){var i=e[p];n=i&&i.listeners&&i.listeners[t]}if(n){for(var o=n.length-1;o>=0;o--){var a=n[o];if(a){var u=a[0],c=a[1],l=a[2];l&b||(l&d&&s(e,t,u,c),u||(u=e),"string"==typeof c&&(c=u[c]),r?c.apply(u,r):c.call(u))}}return!0}}function l(e,t){var r=e[p],n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function h(e,t){var r=[],n=e[p],i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var s=0,o=i.length;o>s;s++){var a=i[s][0],u=i[s][1];r.push([a,u])}return r}var m=Ember.create,f=Ember.meta,p=Ember.META_KEY,d=1,b=2;Ember.addListener=i,Ember.removeListener=s,Ember._suspendListener=o,Ember._suspendListeners=a,Ember.sendEvent=c,Ember.hasListeners=l,Ember.watchedEvents=u,Ember.listenersFor=h,Ember.listenersDiff=n,Ember.listenersUnion=r}(),function(){var e=Ember.guidFor,t=Ember.sendEvent,r=Ember._ObserverSet=function(){this.clear()};r.prototype.add=function(t,r,n){var i,s=this.observerSet,o=this.observers,a=e(t),u=s[a];return u||(s[a]=u={}),i=u[r],void 0===i&&(i=o.push({sender:t,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),o[i].listeners},r.prototype.flush=function(){var e,r,n,i,s=this.observers;for(this.clear(),e=0,r=s.length;r>e;++e)n=s[e],i=n.sender,i.isDestroying||i.isDestroyed||t(i,n.eventName,[i,n.keyName],n.listeners)},r.prototype.clear=function(){this.observerSet={},this.observers=[]}}(),function(){function e(e,t,i){if(!e.isDestroying){var s=n,o=!s;o&&(s=n={}),r(d,e,t,s,i),o&&(n=null)}}function t(e,t,n){if(!e.isDestroying){var s=i,o=!s;o&&(s=i={}),r(b,e,t,s,n),o&&(i=null)}}function r(e,t,r,n,i){var s=o(t);if(n[s]||(n[s]={}),!n[s][r]){n[s][r]=!0;var a=i.deps;if(a=a&&a[r])for(var u in a){var c=i.descs[u];c&&c._suspended===t||e(t,u)}}}var n,i,s=Ember.meta,o=Ember.guidFor,a=Ember.tryFinally,u=Ember.sendEvent,c=Ember.listenersUnion,l=Ember.listenersDiff,h=Ember._ObserverSet,m=new h,f=new h,p=0,d=Ember.propertyWillChange=function(t,r){var n=s(t,!1),i=n.watching[r]>0||"length"===r,o=n.proto,a=n.descs[r];i&&o!==t&&(a&&a.willChange&&a.willChange(t,r),e(t,r,n),E(t,r,n),w(t,r))},b=Ember.propertyDidChange=function(e,r){var n=s(e,!1),i=n.watching[r]>0||"length"===r,o=n.proto,a=n.descs[r];o!==e&&(a&&a.didChange&&a.didChange(e,r),(i||"length"===r)&&(t(e,r,n),v(e,r,n),_(e,r)))},E=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var s=0,o=i.length;o>s;s++)i[s].willChange(n)}},v=function(e,t,r,n){if(r.hasOwnProperty("chainWatchers")){var i=r.chainWatchers;if(i=i[t])for(var s=i.length-1;s>=0;s--)i[s].didChange(n)}};Ember.overrideChains=function(e,t,r){v(e,t,r,!0)};var g=Ember.beginPropertyChanges=function(){p++},y=Ember.endPropertyChanges=function(){p--,0>=p&&(m.clear(),f.flush())};Ember.changeProperties=function(e,t){g(),a(e,y,t)};var w=function(e,t){if(!e.isDestroying){var r,n,i=t+":before";p?(r=m.add(e,t,i),n=l(e,i,r),u(e,i,[e,t],n)):u(e,i,[e,t])}},_=function(e,t){if(!e.isDestroying){var r,n=t+":change";p?(r=f.add(e,t,n),c(e,n,r)):u(e,n,[e,t])}}}(),function(){function e(e,t,r,s){var o;if(o=t.slice(t.lastIndexOf(".")+1),t=t.slice(0,t.length-(o.length+1)),"this"!==t&&(e=n(e,t)),!o||0===o.length)throw new Error("You passed an empty path");if(!e){if(s)return;throw new Error("Object in path "+t+" could not be found or was destroyed.")}return i(e,o,r)}var t=Ember.META_KEY,r=Ember.ENV.MANDATORY_SETTER,n=Ember._getPath,i=function(n,i,s,o){if("string"==typeof n&&(s=i,i=n,n=null),!n||-1!==i.indexOf("."))return e(n,i,s,o);var a,u,c=n[t],l=c&&c.descs[i];return l?l.set(n,i,s):(a="object"==typeof n&&!(i in n),a&&"function"==typeof n.setUnknownProperty?n.setUnknownProperty(i,s):c&&c.watching[i]>0?(u=r?c.values[i]:n[i],s!==u&&(Ember.propertyWillChange(n,i),r?void 0!==u||i in n?c.values[i]=s:Ember.defineProperty(n,i,null,s):n[i]=s,Ember.propertyDidChange(n,i))):n[i]=s),s};Ember.config.overrideAccessors&&(Ember.set=i,Ember.config.overrideAccessors(),i=Ember.set),Ember.set=i,Ember.setPath=Ember.deprecateFunc("setPath is deprecated since set now supports paths",Ember.set),Ember.trySet=function(e,t,r){return i(e,t,r,!0)},Ember.trySetPath=Ember.deprecateFunc("trySetPath has been renamed to trySet",Ember.trySet)}(),function(){var e=Ember.set,t=Ember.guidFor,r=Ember.ArrayPolyfills.indexOf,n=function(e){var t={};for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);return t},i=function(e,t){var r=e.keys.copy(),i=n(e.values);return t.keys=r,t.values=i,t.length=e.length,t},s=Ember.OrderedSet=function(){this.clear()};s.create=function(){return new s},s.prototype={clear:function(){this.presenceSet={},this.list=[]},add:function(e){var r=t(e),n=this.presenceSet,i=this.list;r in n||(n[r]=!0,i.push(e))},remove:function(e){var n=t(e),i=this.presenceSet,s=this.list;delete i[n];var o=r.call(s,e);o>-1&&s.splice(o,1)},isEmpty:function(){return 0===this.list.length},has:function(e){var r=t(e),n=this.presenceSet;return r in n},forEach:function(e,t){for(var r=this.toArray(),n=0,i=r.length;i>n;n++)e.call(t,r[n])},toArray:function(){return this.list.slice()},copy:function(){var e=new s;return e.presenceSet=n(this.presenceSet),e.list=this.toArray(),e}};var o=Ember.Map=function(){this.keys=Ember.OrderedSet.create(),this.values={}};o.create=function(){return new o},o.prototype={length:0,get:function(e){var r=this.values,n=t(e);return r[n]},set:function(r,n){var i=this.keys,s=this.values,o=t(r);i.add(r),s[o]=n,e(this,"length",i.list.length)},remove:function(r){var n=this.keys,i=this.values,s=t(r);return i.hasOwnProperty(s)?(n.remove(r),delete i[s],e(this,"length",n.list.length),!0):!1},has:function(e){var r=this.values,n=t(e);return r.hasOwnProperty(n)},forEach:function(e,r){var n=this.keys,i=this.values;n.forEach(function(n){var s=t(n);e.call(r,n,i[s])})},copy:function(){return i(this,new o)}};var a=Ember.MapWithDefault=function(e){o.call(this),this.defaultValue=e.defaultValue};a.create=function(e){return e?new a(e):new o},a.prototype=Ember.create(o.prototype),a.prototype.get=function(e){var t=this.has(e);if(t)return o.prototype.get.call(this,e);var r=this.defaultValue(e);return this.set(e,r),r},a.prototype.copy=function(){return i(this,new a({defaultValue:this.defaultValue}))}}(),function(){var e=Ember.META_KEY,t=Ember.meta,r=Ember.platform.defineProperty,n=Ember.ENV.MANDATORY_SETTER;Ember.Descriptor=function(){};var i=Ember.MANDATORY_SETTER_FUNCTION=function(){},s=Ember.DEFAULT_GETTER_FUNCTION=function(t){return function(){var r=this[e];return r&&r.values[t]}};Ember.defineProperty=function(e,o,a,u,c){var l,h,m,f;return c||(c=t(e)),l=c.descs,h=c.descs[o],m=c.watching[o]>0,h instanceof Ember.Descriptor&&h.teardown(e,o),a instanceof Ember.Descriptor?(f=a,l[o]=a,n&&m?r(e,o,{configurable:!0,enumerable:!0,writable:!0,value:void 0}):e[o]=void 0,a.setup(e,o)):(l[o]=void 0,null==a?(f=u,n&&m?(c.values[o]=u,r(e,o,{configurable:!0,enumerable:!0,set:i,get:s(o)})):e[o]=u):(f=a,r(e,o,a))),m&&Ember.overrideChains(e,o,c),e.didDefineProperty&&e.didDefineProperty(e,o,f),this}}(),function(){var e=Ember.changeProperties,t=Ember.set;Ember.setProperties=function(r,n){return e(function(){for(var e in n)n.hasOwnProperty(e)&&t(r,e,n[e])}),r}}(),function(){var e=Ember.meta,t=Ember.typeOf,r=Ember.ENV.MANDATORY_SETTER,n=Ember.platform.defineProperty;Ember.watchKey=function(i,s){if("length"!==s||"array"!==t(i)){var o,a=e(i),u=a.watching;u[s]?u[s]=(u[s]||0)+1:(u[s]=1,o=a.descs[s],o&&o.willWatch&&o.willWatch(i,s),"function"==typeof i.willWatchProperty&&i.willWatchProperty(s),r&&s in i&&(a.values[s]=i[s],n(i,s,{configurable:!0,enumerable:!0,set:Ember.MANDATORY_SETTER_FUNCTION,get:Ember.DEFAULT_GETTER_FUNCTION(s)})))}},Ember.unwatchKey=function(t,i){var s,o=e(t),a=o.watching;1===a[i]?(a[i]=0,s=o.descs[i],s&&s.didUnwatch&&s.didUnwatch(t,i),"function"==typeof t.didUnwatchProperty&&t.didUnwatchProperty(i),r&&i in t&&(n(t,i,{configurable:!0,enumerable:!0,writable:!0,value:o.values[i]}),delete o.values[i])):a[i]>1&&a[i]--}}(),function(){function e(e){return e.match(m)[0]}function t(e,t,r){if(e&&"object"==typeof e){var i=n(e),s=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(s=i.chainWatchers={}),s[t]||(s[t]=[]),s[t].push(r),u(e,t)}}function r(e){return n(e,!1).proto===e}var n=Ember.meta,i=Ember.get,s=Ember.normalizeTuple,o=Ember.ArrayPolyfills.forEach,a=Ember.warn,u=Ember.watchKey,c=Ember.unwatchKey,l=Ember.propertyWillChange,h=Ember.propertyDidChange,m=/^([^\.\*]+)/,f=[];Ember.flushPendingChains=function(){if(0!==f.length){var e=f;f=[],o.call(e,function(e){e[0].add(e[1])}),a("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===f.length)}};var p=Ember.removeChainWatcher=function(e,t,r){if(e&&"object"==typeof e){var i=n(e,!1);if(i.hasOwnProperty("chainWatchers")){var s=i.chainWatchers;if(s[t]){s=s[t];for(var o=0,a=s.length;a>o;o++)s[o]===r&&s.splice(o,1)}c(e,t)}}},d=Ember._ChainNode=function(e,r,n){this._parent=e,this._key=r,this._watching=void 0===n,this._value=n,this._paths={},this._watching&&(this._object=e.value(),this._object&&t(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()},b=d.prototype;b.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=e&&!r(e)?i(e,this._key):void 0}return this._value},b.destroy=function(){if(this._watching){var e=this._object;e&&p(e,this._key,this),this._watching=!1}},b.copy=function(e){var t,r=new d(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},b.add=function(t){var r,n,i,o,a;if(a=this._paths,a[t]=(a[t]||0)+1,r=this.value(),n=s(r,t),n[0]&&n[0]===r)t=n[1],i=e(t),t=t.slice(i.length+1);else{if(!n[0])return f.push([this,t]),n.length=0,void 0;o=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]}n.length=0,this.chain(i,t,o)},b.remove=function(t){var r,n,i,o,a;a=this._paths,a[t]>0&&a[t]--,r=this.value(),n=s(r,t),n[0]===r?(t=n[1],i=e(t),t=t.slice(i.length+1)):(o=n[0],i=t.slice(0,0-(n[1].length+1)),t=n[1]),n.length=0,this.unchain(i,t)},b.count=0,b.chain=function(t,r,n){var i,s=this._chains;s||(s=this._chains={}),i=s[t],i||(i=s[t]=new d(this,t,n)),i.count++,r&&r.length>0&&(t=e(r),r=r.slice(t.length+1),i.chain(t,r))},b.unchain=function(t,r){var n=this._chains,i=n[t];r&&r.length>1&&(t=e(r),r=r.slice(t.length+1),i.unchain(t,r)),i.count--,i.count<=0&&(delete n[i._key],i.destroy())},b.willChange=function(){var e=this._chains;if(e)for(var t in e)e.hasOwnProperty(t)&&e[t].willChange();this._parent&&this._parent.chainWillChange(this,this._key,1)},b.chainWillChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1):(r>1&&l(this.value(),t),t="this."+t,this._paths[t]>0&&l(this.value(),t))},b.chainDidChange=function(e,t,r){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1):(r>1&&h(this.value(),t),t="this."+t,this._paths[t]>0&&h(this.value(),t))},b.didChange=function(e){if(this._watching){var r=this._parent.value();r!==this._object&&(p(this._object,this._key,this),this._object=r,t(r,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var n=this._chains;if(n)for(var i in n)n.hasOwnProperty(i)&&n[i].didChange(e);e||this._parent&&this._parent.chainDidChange(this,this._key,1)},Ember.finishChains=function(e){var t=n(e,!1),r=t.chains;r&&(r.value()!==e&&(t.chains=r=r.copy(e)),r.didChange(!0))}}(),function(){function e(e){var r=t(e),i=r.chains;return i?i.value()!==e&&(i=r.chains=i.copy(e)):i=r.chains=new n(null,null,e),i}var t=Ember.meta,r=Ember.typeOf,n=Ember._ChainNode;Ember.watchPath=function(n,i){if("length"!==i||"array"!==r(n)){var s=t(n),o=s.watching;o[i]?o[i]=(o[i]||0)+1:(o[i]=1,e(n).add(i))}},Ember.unwatchPath=function(r,n){var i=t(r),s=i.watching;1===s[n]?(s[n]=0,e(r).remove(n)):s[n]>1&&s[n]--}}(),function(){function e(e){return"*"===e||!h.test(e)}var t=Ember.meta,r=Ember.GUID_KEY,n=Ember.META_KEY,i=Ember.removeChainWatcher,s=Ember.watchKey,o=Ember.unwatchKey,a=Ember.watchPath,u=Ember.unwatchPath,c=Ember.typeOf,l=Ember.generateGuid,h=/[\.\*]/;Ember.watch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?s(t,r):a(t,r))},Ember.isWatching=function(e,t){var r=e[n];return(r&&r.watching[t])>0},Ember.watch.flushPending=Ember.flushPendingChains,Ember.unwatch=function(t,r){("length"!==r||"array"!==c(t))&&(e(r)?o(t,r):u(t,r))},Ember.rewatch=function(e){var n=t(e,!1),i=n.chains;r in e&&!e.hasOwnProperty(r)&&l(e,"ember"),i&&i.value()!==e&&(n.chains=i.copy(e))};var m=[];Ember.destroy=function(e){var t,r,s,o,a=e[n];if(a&&(e[n]=null,t=a.chains))for(m.push(t);m.length>0;){if(t=m.pop(),r=t._chains)for(s in r)r.hasOwnProperty(s)&&m.push(r[s]);t._watching&&(o=t._object,o&&i(o,t._key,t))}}}(),function(){function e(e,t){var r=e[t];return r?e.hasOwnProperty(t)||(r=e[t]=m(r)):r=e[t]={},r}function t(t){return e(t,"deps")}function r(r,n,i,s){var o,a,u,c,l,h=r._dependentKeys;if(h)for(o=t(s),a=0,u=h.length;u>a;a++)c=h[a],l=e(o,c),l[i]=(l[i]||0)+1,p(n,c)}function n(r,n,i,s){var o,a,u,c,l,h=r._dependentKeys;if(h)for(o=t(s),a=0,u=h.length;u>a;a++)c=h[a],l=e(o,c),l[i]=(l[i]||0)-1,d(n,c)}function i(e,t){this.func=e,this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)}function s(e,t){for(var r={},n=0;n<t.length;n++)r[t[n]]=u(e,t[n]);return r}function o(e,t){Ember.computed[e]=function(e){var r=h.call(arguments);return Ember.computed(e,function(){return t.apply(this,r)})}}function a(e,t){Ember.computed[e]=function(){var e=h.call(arguments),r=Ember.computed(function(){return t.apply(this,[s(this,e)])});return r.property.apply(r,e)}}var u=Ember.get,c=Ember.set,l=Ember.meta,h=[].slice,m=Ember.create,f=Ember.META_KEY,p=Ember.watch,d=Ember.unwatch;Ember.ComputedProperty=i,i.prototype=new Ember.Descriptor;var b=i.prototype;b.cacheable=function(e){return this._cacheable=e!==!1,this},b.volatile=function(){return this.cacheable(!1)},b.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},b.property=function(){for(var e=[],t=0,r=arguments.length;r>t;t++)e.push(arguments[t]);return this._dependentKeys=e,this},b.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},b.willWatch=function(e,t){var n=e[f];t in n.cache||r(this,e,t,n)},b.didUnwatch=function(e,t){var r=e[f];t in r.cache||n(this,e,t,r)},b.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=l(e);t in r.cache&&(delete r.cache[t],r.watching[t]||n(this,e,t,r))}},b.get=function(e,t){var n,i,s;if(this._cacheable){if(s=l(e),i=s.cache,t in i)return i[t];n=i[t]=this.func.call(e,t),s.watching[t]||r(this,e,t,s)}else n=this.func.call(e,t);return n},b.set=function(e,t,n){var i,s,o,a=this._cacheable,u=this.func,c=l(e,a),h=c.watching[t],m=this._suspended,f=!1,p=c.cache;if(this._readOnly)throw new Error("Cannot Set: "+t+" on: "+e.toString());this._suspended=e;try{if(a&&p.hasOwnProperty(t)&&(s=p[t],f=!0),i=u.wrappedFunction?u.wrappedFunction.length:u.length,3===i)o=u.call(e,t,n,s);else{if(2!==i)return Ember.defineProperty(e,t,null,s),Ember.set(e,t,n),void 0;o=u.call(e,t,n)}if(f&&s===o)return;h&&Ember.propertyWillChange(e,t),f&&delete p[t],a&&(h||f||r(this,e,t,c),p[t]=o),h&&Ember.propertyDidChange(e,t)}finally{this._suspended=m}return o},b.setup=function(e,t){var n=e[f];n&&n.watching[t]&&r(this,e,t,l(e))},b.teardown=function(e,t){var r=l(e);return(r.watching[t]||t in r.cache)&&n(this,e,t,r),this._cacheable&&delete r.cache[t],null},Ember.computed=function(e){var t;if(arguments.length>1&&(t=h.call(arguments,0,-1),e=h.call(arguments,-1)[0]),"function"!=typeof e)throw new Error("Computed Property declared without a property function");var r=new i(e);return t&&r.property.apply(r,t),r},Ember.cacheFor=function(e,t){var r=l(e,!1).cache;return r&&t in r?r[t]:void 0},o("empty",function(e){return Ember.isEmpty(u(this,e))}),o("notEmpty",function(e){return!Ember.isEmpty(u(this,e))}),o("none",function(e){return Ember.isNone(u(this,e))}),o("not",function(e){return!u(this,e)}),o("bool",function(e){return!!u(this,e)}),o("match",function(e,t){var r=u(this,e);return"string"==typeof r?!!r.match(t):!1}),o("equal",function(e,t){return u(this,e)===t}),o("gt",function(e,t){return u(this,e)>t}),o("gte",function(e,t){return u(this,e)>=t}),o("lt",function(e,t){return u(this,e)<t}),o("lte",function(e,t){return u(this,e)<=t}),a("and",function(e){for(var t in e)if(e.hasOwnProperty(t)&&!e[t])return!1;return!0}),a("or",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return!0;return!1}),a("any",function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),a("map",function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&(Ember.isNone(e[r])?t.push(null):t.push(e[r]));return t}),Ember.computed.alias=function(e){return Ember.computed(e,function(t,r){return arguments.length>1?(c(this,e,r),r):u(this,e)})},Ember.computed.oneWay=function(e){return Ember.computed(e,function(){return u(this,e)})},Ember.computed.defaultTo=function(e){return Ember.computed(function(t,r,n){return 1===arguments.length?null!=n?n:u(this,e):null!=r?r:u(this,e)})}}(),function(){function e(e){return e+r}function t(e){return e+n}var r=":change",n=":before";Ember.addObserver=function(t,r,n,i){return Ember.addListener(t,e(r),n,i),Ember.watch(t,r),this},Ember.observersFor=function(t,r){return Ember.listenersFor(t,e(r))},Ember.removeObserver=function(t,r,n,i){return Ember.unwatch(t,r),Ember.removeListener(t,e(r),n,i),this},Ember.addBeforeObserver=function(e,r,n,i){return Ember.addListener(e,t(r),n,i),Ember.watch(e,r),this},Ember._suspendBeforeObserver=function(e,r,n,i,s){return Ember._suspendListener(e,t(r),n,i,s)},Ember._suspendObserver=function(t,r,n,i,s){return Ember._suspendListener(t,e(r),n,i,s)};var i=Ember.ArrayPolyfills.map;Ember._suspendBeforeObservers=function(e,r,n,s,o){var a=i.call(r,t);return Ember._suspendListeners(e,a,n,s,o)},Ember._suspendObservers=function(t,r,n,s,o){var a=i.call(r,e);return Ember._suspendListeners(t,a,n,s,o)},Ember.beforeObserversFor=function(e,r){return Ember.listenersFor(e,t(r))},Ember.removeBeforeObserver=function(e,r,n,i){return Ember.unwatch(e,r),Ember.removeListener(e,t(r),n,i),this}}(),function(){e("backburner/queue",["exports"],function(e){"use strict";function t(e,t,r){this.daq=e,this.name=t,this.options=r,this._queue=[]}t.prototype={daq:null,name:null,options:null,_queue:null,push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUnique:function(e,t,r,n){var i,s,o,a,u=this._queue;for(o=0,a=u.length;a>o;o+=4)if(i=u[o],s=u[o+1],i===e&&s===t)return u[o+2]=r,u[o+3]=n,{queue:this,target:e,method:t};return this._queue.push(e,t,r,n),{queue:this,target:e,method:t}},flush:function(){var e,t,r,n,i,s=this._queue,o=this.options,a=o&&o.before,u=o&&o.after,c=s.length;for(c&&a&&a(),i=0;c>i;i+=4)e=s[i],t=s[i+1],r=s[i+2],n=s[i+3],r&&r.length>0?t.apply(e,r):t.call(e);c&&u&&u(),s.length>c?(this._queue=s.slice(c),this.flush()):this._queue.length=0},cancel:function(e){var t,r,n,i,s=this._queue;for(n=0,i=s.length;i>n;n+=4)if(t=s[n],r=s[n+1],t===e.target&&r===e.method)return s.splice(n,4),!0;if(s=this._queueBeingFlushed)for(n=0,i=s.length;i>n;n+=4)if(t=s[n],r=s[n+1],t===e.target&&r===e.method)return s[n+1]=null,!0
|
16
|
+
}},e.Queue=t}),e("backburner/deferred_action_queues",["backburner/queue","exports"],function(e,t){"use strict";function r(e,t){var r=this.queues={};this.queueNames=e=e||[];for(var n,s=0,o=e.length;o>s;s++)n=e[s],r[n]=new i(this,n,t[n])}function n(e,t){for(var r,n,i=0,s=t;s>=i;i++)if(r=e.queueNames[i],n=e.queues[r],n._queue.length)return i;return-1}var i=e.Queue;r.prototype={queueNames:null,queues:null,schedule:function(e,t,r,n,i,s){var o=this.queues,a=o[e];if(!a)throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist");return i?a.pushUnique(t,r,n,s):a.push(t,r,n,s)},flush:function(){for(var e,t,r,i,s=this.queues,o=this.queueNames,a=0,u=o.length;u>a;){e=o[a],t=s[e],r=t._queueBeingFlushed=t._queue.slice(),t._queue=[];var c,l,h,m,f=t.options,p=f&&f.before,d=f&&f.after,b=0,E=r.length;for(E&&p&&p();E>b;)c=r[b],l=r[b+1],h=r[b+2],m=r[b+3],"string"==typeof l&&(l=c[l]),l&&(h&&h.length>0?l.apply(c,h):l.call(c)),b+=4;t._queueBeingFlushed=null,E&&d&&d(),-1===(i=n(this,a))?a++:a=i}}},t.DeferredActionQueues=r}),e("backburner",["backburner/deferred_action_queues","exports"],function(e,t){"use strict";function r(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[]}function n(e){e.begin(),o=d.setTimeout(function(){e.end(),o=null})}function i(e){var t,r,n,s,o=+new Date;e.run(function(){for(n=0,s=p.length;s>n&&(t=p[n],!(t>o));n+=2);for(r=p.splice(0,n),n=1,s=r.length;s>n;n+=2)e.schedule(e.options.defaultQueue,null,r[n])}),p.length&&(a=d.setTimeout(function(){i(e),a=null,u=null},p[0]-o),u=p[0])}function s(e,t){for(var r,n=-1,i=0,s=f.length;s>i;i++)if(r=f[i],r[0]===e&&r[1]===t){n=i;break}return n}var o,a,u,c=e.DeferredActionQueues,l=[].slice,h=[].pop,m=[],f=[],p=[],d=this;r.prototype={queueNames:null,options:null,currentInstance:null,instanceStack:null,begin:function(){var e=this.options&&this.options.onBegin,t=this.currentInstance;t&&this.instanceStack.push(t),this.currentInstance=new c(this.queueNames,this.options),e&&e(this.currentInstance,t)},end:function(){var e=this.options&&this.options.onEnd,t=this.currentInstance,r=null;try{t.flush()}finally{this.currentInstance=null,this.instanceStack.length&&(r=this.instanceStack.pop(),this.currentInstance=r),e&&e(t,r)}},run:function(e,t){var r;this.begin(),t||(t=e,e=null),"string"==typeof t&&(t=e[t]);var n=!1;try{r=arguments.length>2?t.apply(e,l.call(arguments,2)):t.call(e)}finally{n||(n=!0,this.end())}return r},defer:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,s=arguments.length>3?l.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,s,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),"string"==typeof r&&(r=t[r]);var i=this.DEBUG?(new Error).stack:void 0,s=arguments.length>3?l.call(arguments,3):void 0;return this.currentInstance||n(this),this.currentInstance.schedule(e,t,r,s,!0,i)},setTimeout:function(){var e=this,t=h.call(arguments),r=arguments[0],n=arguments[1],s=+new Date+t;n||(n=r,r=null),"string"==typeof n&&(n=r[n]);var o,c;arguments.length>2?(c=l.call(arguments,2),o=function(){n.apply(r,c)}):o=function(){n.call(r)};var m,f;for(m=0,f=p.length;f>m&&!(s<p[m]);m+=2);return p.splice(m,0,s,o),a&&s>u?o:(a&&(clearTimeout(a),a=null),a=d.setTimeout(function(){i(e),a=null,u=null},t),u=s,o)},throttle:function(e,t){for(var r,n=this,i=arguments,s=h.call(i),o=0,a=m.length;a>o;o++)if(r=m[o],r[0]===e&&r[1]===t)return;var u=d.setTimeout(function(){n.run.apply(n,i);for(var s=-1,o=0,a=m.length;a>o;o++)if(r=m[o],r[0]===e&&r[1]===t){s=o;break}s>-1&&m.splice(s,1)},s);m.push([e,t,u])},debounce:function(e,t){var r,n,i,o=this,a=arguments,u=h.call(a);"number"==typeof u?(r=u,u=!1):r=h.call(a),n=s(e,t),-1!==n&&(i=f[n],f.splice(n,1),clearTimeout(i[2]));var c=window.setTimeout(function(){u||o.run.apply(o,a),n=s(e,t),n&&f.splice(n,1)},r);u&&-1===n&&o.run.apply(o,a),f.push([e,t,c])},cancelTimers:function(){var e,t;for(e=0,t=m.length;t>e;e++)clearTimeout(m[e][2]);for(m=[],e=0,t=f.length;t>e;e++)clearTimeout(f[e][2]);f=[],a&&(clearTimeout(a),a=null),p=[],o&&(clearTimeout(o),o=null)},hasTimers:function(){return!!p.length||o},cancel:function(e){if(e&&"object"==typeof e&&e.queue&&e.method)return e.queue.cancel(e);if("function"==typeof e)for(var t=0,r=p.length;r>t;t+=2)if(p[t+1]===e)return p.splice(t,2),!0}},r.prototype.schedule=r.prototype.defer,r.prototype.scheduleOnce=r.prototype.deferOnce,r.prototype.later=r.prototype.setTimeout,t.Backburner=r})}(),function(){function e(){!Ember.run.currentRunLoop}var r=function(e){Ember.run.currentRunLoop=e},n=function(e,t){Ember.run.currentRunLoop=t},i=t("backburner").Backburner,s=new i(["sync","actions","destroy"],{sync:{before:Ember.beginPropertyChanges,after:Ember.endPropertyChanges},defaultQueue:"actions",onBegin:r,onEnd:n}),o=[].slice;Ember.run=function(){var e;if(Ember.onerror)try{e=s.run.apply(s,arguments)}catch(t){Ember.onerror(t)}else e=s.run.apply(s,arguments);return e},Ember.run.join=function(){if(!Ember.run.currentRunLoop)return Ember.run.apply(Ember.run,arguments);var e=o.call(arguments);e.unshift("actions"),Ember.run.schedule.apply(Ember.run,e)},Ember.run.backburner=s,Ember.run,Ember.run.currentRunLoop=null,Ember.run.queues=s.queueNames,Ember.run.begin=function(){s.begin()},Ember.run.end=function(){s.end()},Ember.run.schedule=function(){e(),s.schedule.apply(s,arguments)},Ember.run.hasScheduledTimers=function(){return s.hasTimers()},Ember.run.cancelTimers=function(){s.cancelTimers()},Ember.run.sync=function(){s.currentInstance&&s.currentInstance.queues.sync.flush()},Ember.run.later=function(){return s.later.apply(s,arguments)},Ember.run.once=function(){e();var t=o.call(arguments);return t.unshift("actions"),s.scheduleOnce.apply(s,t)},Ember.run.scheduleOnce=function(){return e(),s.scheduleOnce.apply(s,arguments)},Ember.run.next=function(){var e=o.call(arguments);return e.push(1),s.later.apply(s,e)},Ember.run.cancel=function(e){return s.cancel(e)},Ember.run.debounce=function(){return s.debounce.apply(s,arguments)},Ember.run.throttle=function(){return s.throttle.apply(s,arguments)}}(),function(){function e(e,t){return r(s(t)?Ember.lookup:e,t)}function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}Ember.LOG_BINDINGS=!1||!!Ember.ENV.LOG_BINDINGS;var r=Ember.get,n=(Ember.set,Ember.guidFor),i=/^([A-Z$]|([0-9][A-Z$]))/,s=Ember.isGlobalPath=function(e){return i.test(e)},o=function(e,t){this._direction="fwd",this._from=t,this._to=e,this._directionMap=Ember.Map.create()};o.prototype={copy:function(){var e=new o(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+n(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(t){var r=this._from,n=this._to;return Ember.trySet(t,n,e(t,r)),Ember.addObserver(t,r,this,this.fromDidChange),this._oneWay||Ember.addObserver(t,n,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var t=!this._oneWay;return Ember.removeObserver(e,this._from,this,this.fromDidChange),t&&Ember.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,t){var r=this._directionMap,n=r.get(e);n||(Ember.run.schedule("sync",this,this._sync,e),r.set(e,t)),"back"===n&&"fwd"===t&&r.set(e,"fwd")},_sync:function(t){var n=Ember.LOG_BINDINGS;if(!t.isDestroyed&&this._readyToSync){var i=this._directionMap,s=i.get(t),o=this._from,a=this._to;if(i.remove(t),"fwd"===s){var u=e(t,this._from);n&&Ember.Logger.log(" ",this.toString(),"->",u,t),this._oneWay?Ember.trySet(t,a,u):Ember._suspendObserver(t,a,this,this.toDidChange,function(){Ember.trySet(t,a,u)})}else if("back"===s){var c=r(t,this._to);n&&Ember.Logger.log(" ",this.toString(),"<-",c,t),Ember._suspendObserver(t,o,this,this.fromDidChange,function(){Ember.trySet(Ember.isGlobalPath(o)?Ember.lookup:t,o,c)})}}}},t(o,{from:function(){var e=this,t=new e;return t.from.apply(t,arguments)},to:function(){var e=this,t=new e;return t.to.apply(t,arguments)},oneWay:function(e,t){var r=this,n=new r(null,e);return n.oneWay(t)}}),Ember.Binding=o,Ember.bind=function(e,t,r){return new Ember.Binding(t,r).connect(e)},Ember.oneWay=function(e,t,r){return new Ember.Binding(t,r).oneWay().connect(e)}}(),function(){function e(e){var t=Ember.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=A(r)):r=t.mixins={},r}function t(e,t){return t&&t.length>0&&(e.mixins=_.call(t,function(e){if(e instanceof g)return e;var t=new g;return t.properties=e,t})),e}function r(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function n(e,t){var r;return t instanceof g?(r=x(t),e[r]?V:(e[r]=t,t.properties)):t}function i(e,t,r){var n;return n=t.concatenatedProperties||r.concatenatedProperties,e.concatenatedProperties&&(n=n?n.concat(e.concatenatedProperties):e.concatenatedProperties),n}function s(e,t,r,n,i){var s;return void 0===n[t]&&(s=i[t]),s=s||e.descs[t],s&&s instanceof Ember.ComputedProperty?(r=A(r),r.func=Ember.wrap(r.func,s.func),r):r}function o(e,t,r,n,i){var s;return void 0===i[t]&&(s=n[t]),s=s||e[t],"function"!=typeof s?r:Ember.wrap(r,s)}function a(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?i.concat(r):Ember.makeArray(i).concat(r):Ember.makeArray(r)}function u(e,t,n,i,u,c,l){if(n instanceof Ember.Descriptor){if(n===y&&u[t])return V;n.func&&(n=s(i,t,n,c,u)),u[t]=n,c[t]=void 0}else r(n)?n=o(e,t,n,c,u):(l&&C.call(l,t)>=0||"concatenatedProperties"===t)&&(n=a(e,t,n,c)),u[t]=void 0,c[t]=n}function c(e,t,r,s,o,a){function l(e){delete r[e],delete s[e]}for(var h,m,f,p,d,b=0,E=e.length;E>b;b++)if(h=e[b],m=n(t,h),m!==V)if(m){d=Ember.meta(o),p=i(m,s,o);for(f in m)m.hasOwnProperty(f)&&(a.push(f),u(o,f,m[f],d,r,s,p));m.hasOwnProperty("toString")&&(o.toString=m.toString)}else h.mixins&&(c(h.mixins,t,r,s,o,a),h._without&&O.call(h._without,l))}function l(e,t,r,n){if(T.test(t)){var i=n.bindings;i?n.hasOwnProperty("bindings")||(i=n.bindings=A(n.bindings)):i=n.bindings={},i[t]=r}}function h(e,t){var r,n,i,s=t.bindings;if(s){for(r in s)n=s[r],n&&(i=r.slice(0,-7),n instanceof Ember.Binding?(n=n.copy(),n.to(i)):n=new Ember.Binding(i,n),n.connect(e),e[r]=n);t.bindings={}}}function m(e,t){return h(e,t||Ember.meta(e)),e}function f(e,t,r,n,i){var s,o=t.methodName;return n[o]||i[o]?(s=i[o],t=n[o]):r.descs[o]?(t=r.descs[o],s=void 0):(t=void 0,s=e[o]),{desc:t,value:s}}function p(e,t,r,n,i){if("function"==typeof r){var s=r[n];if(s)for(var o=0,a=s.length;a>o;o++)Ember[i](e,s[o],null,t)}}function d(e,t,r){var n=e[t];p(e,t,n,"__ember_observesBefore__","removeBeforeObserver"),p(e,t,n,"__ember_observes__","removeObserver"),p(e,t,r,"__ember_observesBefore__","addBeforeObserver"),p(e,t,r,"__ember_observes__","addObserver")}function b(t,r,n){var i,s,o,a={},u={},h=Ember.meta(t),p=[];c(r,e(t),a,u,t,p);for(var b=0,E=p.length;E>b;b++)if(i=p[b],"constructor"!==i&&u.hasOwnProperty(i)&&(o=a[i],s=u[i],o!==y)){for(;o&&o instanceof w;){var v=f(t,o,h,a,u);o=v.desc,s=v.value}(void 0!==o||void 0!==s)&&(d(t,i,s),l(t,i,s,h),P(t,i,o,s,h))}return n||m(t,h),t}function E(e,t,r){var n=x(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,s=i?i.length:0;--s>=0;)if(E(i[s],t,r))return!0;return!1}function v(e,t,r){if(!r[x(t)])if(r[x(t)]=!0,t.properties){var n=t.properties;for(var i in n)n.hasOwnProperty(i)&&(e[i]=!0)}else t.mixins&&O.call(t.mixins,function(t){v(e,t,r)})}var g,y,w,_=Ember.ArrayPolyfills.map,C=Ember.ArrayPolyfills.indexOf,O=Ember.ArrayPolyfills.forEach,S=[].slice,A=Ember.create,P=Ember.defineProperty,x=Ember.guidFor,V={},T=Ember.IS_BINDING=/^.+Binding$/;Ember.mixin=function(e){var t=S.call(arguments,1);return b(e,t,!1),e},Ember.Mixin=function(){return t(this,arguments)},g=Ember.Mixin,g.prototype={properties:null,mixins:null,ownerConstructor:null},g._apply=b,g.applyPartial=function(e){var t=S.call(arguments,1);return b(e,t,!0)},g.finishPartial=m,Ember.anyUnprocessedMixins=!1,g.create=function(){Ember.anyUnprocessedMixins=!0;var e=this;return t(new e,arguments)};var D=g.prototype;D.reopen=function(){var e,t;this.properties?(e=g.create(),e.properties=this.properties,delete this.properties,this.mixins=[e]):this.mixins||(this.mixins=[]);var r,n=arguments.length,i=this.mixins;for(r=0;n>r;r++)e=arguments[r],e instanceof g?i.push(e):(t=g.create(),t.properties=e,i.push(t));return this},D.apply=function(e){return b(e,[this],!1)},D.applyPartial=function(e){return b(e,[this],!0)},D.detect=function(e){if(!e)return!1;if(e instanceof g)return E(e,this,{});var t=Ember.meta(e,!1).mixins;return t?!!t[x(this)]:!1},D.without=function(){var e=new g(this);return e._without=S.call(arguments),e},D.keys=function(){var e={},t={},r=[];v(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},g.mixins=function(e){var t=Ember.meta(e,!1).mixins,r=[];if(!t)return r;for(var n in t){var i=t[n];i.properties||r.push(i)}return r},y=new Ember.Descriptor,y.toString=function(){return"(Required Property)"},Ember.required=function(){return y},w=function(e){this.methodName=e},w.prototype=new Ember.Descriptor,Ember.alias=function(e){return new w(e)},Ember.alias=Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.aliasMethod or Ember.computed.alias instead.",Ember.alias),Ember.aliasMethod=function(e){return new w(e)},Ember.observer=function(e){var t=S.call(arguments,1);return e.__ember_observes__=t,e},Ember.immediateObserver=function(){for(var e=0,t=arguments.length;t>e;e++)arguments[e];return Ember.observer.apply(this,arguments)},Ember.beforeObserver=function(e){var t=S.call(arguments,1);return e.__ember_observesBefore__=t,e}}(),function(){e("rsvp/all",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){if("[object Array]"!==Object.prototype.toString.call(e))throw new TypeError("You must pass an array to all.");return new n(function(t,r){function n(e){return function(t){i(e,t)}}function i(e,r){o[e]=r,0===--a&&t(o)}var s,o=[],a=e.length;0===a&&t([]);for(var u=0;u<e.length;u++)s=e[u],s&&"function"==typeof s.then?s.then(n(u),r):i(u,s)})}var n=e.Promise;t.all=r}),e("rsvp/async",["exports"],function(e){"use strict";function t(){return function(e,t){process.nextTick(function(){e(t)})}}function r(){return function(e,t){setImmediate(function(){e(t)})}}function n(){var e=[],t=new a(function(){var t=e.slice();e=[],t.forEach(function(e){var t=e[0],r=e[1];t(r)})}),r=document.createElement("div");return t.observe(r,{attributes:!0}),window.addEventListener("unload",function(){t.disconnect(),t=null},!1),function(t,n){e.push([t,n]),r.setAttribute("drainQueue","drainQueue")}}function i(){return function(e,t){setTimeout(function(){e(t)},1)}}var s,o="undefined"!=typeof window?window:{},a=o.MutationObserver||o.WebKitMutationObserver;s="function"==typeof setImmediate?r():"undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?t():a?n():i(),e.async=s}),e("rsvp/config",["rsvp/async","exports"],function(e,t){"use strict";var r=e.async,n={};n.async=r,t.config=n}),e("rsvp/defer",["rsvp/promise","exports"],function(e,t){"use strict";function r(){var e={resolve:void 0,reject:void 0,promise:void 0};return e.promise=new n(function(t,r){e.resolve=t,e.reject=r}),e}var n=e.Promise;t.defer=r}),e("rsvp/events",["exports"],function(e){"use strict";var t=function(e,t){this.type=e;for(var r in t)t.hasOwnProperty(r)&&(this[r]=t[r])},r=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r][0]===t)return r;return-1},n=function(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t},i={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e},on:function(e,t,i){var s,o,a=n(this);for(e=e.split(/\s+/),i=i||this;o=e.shift();)s=a[o],s||(s=a[o]=[]),-1===r(s,t)&&s.push([t,i])},off:function(e,t){var i,s,o,a=n(this);for(e=e.split(/\s+/);s=e.shift();)t?(i=a[s],o=r(i,t),-1!==o&&i.splice(o,1)):a[s]=[]},trigger:function(e,r){var i,s,o,a,u,c=n(this);if(i=c[e])for(var l=0;l<i.length;l++)s=i[l],o=s[0],a=s[1],"object"!=typeof r&&(r={detail:r}),u=new t(e,r),o.call(a,u)}};e.EventTarget=i}),e("rsvp/hash",["rsvp/defer","exports"],function(e,t){"use strict";function r(e){var t=0;for(var r in e)t++;return t}function n(e){var t={},n=i(),s=r(e);0===s&&n.resolve({});var o=function(e){return function(t){a(e,t)}},a=function(e,r){t[e]=r,0===--s&&n.resolve(t)},u=function(e){n.reject(e)};for(var c in e)e[c]&&"function"==typeof e[c].then?e[c].then(o(c),u):a(c,e[c]);return n.promise}var i=e.defer;t.hash=n}),e("rsvp/node",["rsvp/promise","rsvp/all","exports"],function(e,t,r){"use strict";function n(e,t){return function(r,n){r?t(r):arguments.length>2?e(Array.prototype.slice.call(arguments,1)):e(n)}}function i(e){return function(){var t,r,i=Array.prototype.slice.call(arguments),a=this,u=new s(function(e,n){t=e,r=n});return o(i).then(function(i){i.push(n(t,r));try{e.apply(a,i)}catch(s){r(s)}}),u}}var s=e.Promise,o=t.all;r.denodeify=i}),e("rsvp/promise",["rsvp/config","rsvp/events","exports"],function(e,t,r){"use strict";function n(e){return i(e)||"object"==typeof e&&null!==e}function i(e){return"function"==typeof e}function s(e){l.onerror&&l.onerror(e.detail)}function o(e,t){e===t?u(e,t):a(e,t)||u(e,t)}function a(e,t){var r,s=null;try{if(e===t)throw new TypeError("A promises callback cannot return that same promise.");if(n(t)&&(s=t.then,i(s)))return s.call(t,function(n){return r?!0:(r=!0,t!==n?o(e,n):u(e,n),void 0)},function(t){return r?!0:(r=!0,c(e,t),void 0)}),!0}catch(a){return c(e,a),!0}return!1}function u(e,t){l.async(function(){e.trigger("promise:resolved",{detail:t}),e.isFulfilled=!0,e.fulfillmentValue=t})}function c(e,t){l.async(function(){e.trigger("promise:failed",{detail:t}),e.isRejected=!0,e.rejectedReason=t})}var l=e.config,h=t.EventTarget,m=function(e){var t=this,r=!1;if("function"!=typeof e)throw new TypeError("You must pass a resolver function as the sole argument to the promise constructor");if(!(t instanceof m))return new m(e);var n=function(e){r||(r=!0,o(t,e))},i=function(e){r||(r=!0,c(t,e))};this.on("promise:resolved",function(e){this.trigger("success",{detail:e.detail})},this),this.on("promise:failed",function(e){this.trigger("error",{detail:e.detail})},this),this.on("error",s);try{e(n,i)}catch(a){i(a)}},f=function(e,t,r,n){var s,u,l,h,m=i(r);if(m)try{s=r(n.detail),l=!0}catch(f){h=!0,u=f}else s=n.detail,l=!0;a(t,s)||(m&&l?o(t,s):h?c(t,u):"resolve"===e?o(t,s):"reject"===e&&c(t,s))};m.prototype={constructor:m,isRejected:void 0,isFulfilled:void 0,rejectedReason:void 0,fulfillmentValue:void 0,then:function(e,t){this.off("error",s);var r=new this.constructor(function(){});return this.isFulfilled&&l.async(function(t){f("resolve",r,e,{detail:t.fulfillmentValue})},this),this.isRejected&&l.async(function(e){f("reject",r,t,{detail:e.rejectedReason})},this),this.on("promise:resolved",function(t){f("resolve",r,e,t)}),this.on("promise:failed",function(e){f("reject",r,t,e)}),r}},h.mixin(m.prototype),r.Promise=m}),e("rsvp/reject",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t,r){r(e)})}var n=e.Promise;t.reject=r}),e("rsvp/resolve",["rsvp/promise","exports"],function(e,t){"use strict";function r(e){return new n(function(t){t(e)})}var n=e.Promise;t.resolve=r}),e("rsvp",["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],function(e,t,r,n,i,s,o,a,u,c){"use strict";function l(e,t){E[e]=t}var h=e.EventTarget,m=t.Promise,f=r.denodeify,p=n.all,d=i.hash,b=s.defer,E=o.config,v=a.resolve,g=u.reject;c.Promise=m,c.EventTarget=h,c.all=p,c.hash=d,c.defer=b,c.denodeify=f,c.configure=l,c.resolve=v,c.reject=g})}(),function(){e("container",[],function(){function e(e){this.parent=e,this.dict={}}function t(t){this.parent=t,this.children=[],this.resolver=t&&t.resolver||function(){},this.registry=new e(t&&t.registry),this.cache=new e(t&&t.cache),this.typeInjections=new e(t&&t.typeInjections),this.injections={},this._options=new e(t&&t._options),this._typeOptions=new e(t&&t._typeOptions)}function r(e){throw new Error(e+" is not currently supported on child containers")}function n(e,t){var r=s(e,t,"singleton");return r!==!1}function i(e,t){var r={};if(!t)return r;for(var n,i,s=0,o=t.length;o>s;s++){if(n=t[s],i=e.lookup(n.fullName),!i)throw new Error("Attempting to inject an unknown injection: `"+n.fullName+"`");r[n.property]=i}return r}function s(e,t,r){var n=e._options.get(t);if(n&&void 0!==n[r])return n[r];var i=t.split(":")[0];return n=e._typeOptions.get(i),n?n[r]:void 0}function o(e,t){var r=e.normalize(t);return e.resolve(r)}function a(e,t){var r,n=o(e,t),a=t.split(":"),u=a[0];if(s(e,t,"instantiate")===!1)return n;if(n){var c=[];c=c.concat(e.typeInjections.get(u)||[]),c=c.concat(e.injections[t]||[]);var l=i(e,c);return l.container=e,l._debugContainerKey=t,r=n.create(l)}}function u(e,t){e.cache.eachLocal(function(r,n){s(e,r,"instantiate")!==!1&&t(n)})}function c(e){e.cache.eachLocal(function(t,r){s(e,t,"instantiate")!==!1&&r.destroy()}),e.cache.dict={}}return e.prototype={parent:null,dict:null,get:function(e){var t=this.dict;return t.hasOwnProperty(e)?t[e]:this.parent?this.parent.get(e):void 0},set:function(e,t){this.dict[e]=t},remove:function(e){delete this.dict[e]},has:function(e){var t=this.dict;return t.hasOwnProperty(e)?!0:this.parent?this.parent.has(e):!1},eachLocal:function(e,t){var r=this.dict;for(var n in r)r.hasOwnProperty(n)&&e.call(t,n,r[n])}},t.prototype={parent:null,children:null,resolver:null,registry:null,cache:null,typeInjections:null,injections:null,_options:null,_typeOptions:null,child:function(){var e=new t(this);return this.children.push(e),e},set:function(e,t,r){e[t]=r},register:function(e,t,r,n){var i;-1!==e.indexOf(":")?(n=r,r=t,i=e):i=e+":"+t;var s=this.normalize(i);this.registry.set(s,r),this._options.set(s,n||{})},unregister:function(e){var t=this.normalize(e);this.registry.remove(t),this.cache.remove(t),this._options.remove(t)},resolve:function(e){return this.resolver(e)||this.registry.get(e)},describe:function(e){return e},normalize:function(e){return e},lookup:function(e,t){if(e=this.normalize(e),t=t||{},this.cache.has(e)&&t.singleton!==!1)return this.cache.get(e);var r=a(this,e);return r?(n(this,e)&&t.singleton!==!1&&this.cache.set(e,r),r):void 0},lookupFactory:function(e){return o(this,e)},has:function(e){return this.cache.has(e)?!0:!!o(this,e)},optionsForType:function(e,t){this.parent&&r("optionsForType"),this._typeOptions.set(e,t)},options:function(e,t){this.optionsForType(e,t)},typeInjection:function(e,t,n){this.parent&&r("typeInjection");var i=this.typeInjections.get(e);i||(i=[],this.typeInjections.set(e,i)),i.push({property:t,fullName:n})},injection:function(e,t,n){if(this.parent&&r("injection"),-1===e.indexOf(":"))return this.typeInjection(e,t,n);var i=this.injections[e]=this.injections[e]||[];i.push({property:t,fullName:n})},destroy:function(){this.isDestroyed=!0;for(var e=0,t=this.children.length;t>e;e++)this.children[e].destroy();this.children=[],u(this,function(e){e.destroy()}),delete this.parent,this.isDestroyed=!0},reset:function(){for(var e=0,t=this.children.length;t>e;e++)c(this.children[e]);c(this)}},t})}(),function(){function e(r,n,i,s){var o,a,u;if("object"!=typeof r||null===r)return r;if(n&&(a=t(i,r))>=0)return s[a];if("array"===Ember.typeOf(r)){if(o=r.slice(),n)for(a=o.length;--a>=0;)o[a]=e(o[a],n,i,s)}else if(Ember.Copyable&&Ember.Copyable.detect(r))o=r.copy(n,i,s);else{o={};for(u in r)r.hasOwnProperty(u)&&"__"!==u.substring(0,2)&&(o[u]=n?e(r[u],n,i,s):r[u])}return n&&(i.push(r),s.push(o)),o}var t=Ember.EnumerableUtils.indexOf;Ember.compare=function n(e,t){if(e===t)return 0;var r=Ember.typeOf(e),i=Ember.typeOf(t),s=Ember.Comparable;if(s){if("instance"===r&&s.detect(e.constructor))return e.constructor.compare(e,t);if("instance"===i&&s.detect(t.constructor))return 1-t.constructor.compare(t,e)}var o=Ember.ORDER_DEFINITION_MAPPING;if(!o){var a=Ember.ORDER_DEFINITION;o=Ember.ORDER_DEFINITION_MAPPING={};var u,c;for(u=0,c=a.length;c>u;++u)o[a[u]]=u;delete Ember.ORDER_DEFINITION}var l=o[r],h=o[i];if(h>l)return-1;if(l>h)return 1;switch(r){case"boolean":case"number":return t>e?-1:e>t?1:0;case"string":var m=e.localeCompare(t);return 0>m?-1:m>0?1:0;case"array":for(var f=e.length,p=t.length,d=Math.min(f,p),b=0,E=0;0===b&&d>E;)b=n(e[E],t[E]),E++;return 0!==b?b:p>f?-1:f>p?1:0;case"instance":return Ember.Comparable&&Ember.Comparable.detect(e)?e.compare(e,t):0;case"date":var v=e.getTime(),g=t.getTime();return g>v?-1:v>g?1:0;default:return 0}},Ember.copy=function(t,r){return"object"!=typeof t||null===t?t:Ember.Copyable&&Ember.Copyable.detect(t)?t.copy(r):e(t,r,r?[]:null,r?[]:null)},Ember.inspect=function(e){var t=Ember.typeOf(e);if("array"===t)return"["+e+"]";if("object"!==t)return e+"";var r,n=[];for(var i in e)if(e.hasOwnProperty(i)){if(r=e[i],"toString"===r)continue;"function"===Ember.typeOf(r)&&(r="function() { ... }"),n.push(i+": "+r)}return"{"+n.join(", ")+"}"},Ember.isEqual=function(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e===t},Ember.ORDER_DEFINITION=Ember.ENV.ORDER_DEFINITION||["undefined","null","boolean","number","string","array","object","instance","function","class","date"],Ember.keys=Object.keys,(!Ember.keys||Ember.create.isSimulated)&&(Ember.keys=function(e){var t=[];for(var r in e)"__"!==r.substring(0,2)&&"_super"!==r&&e.hasOwnProperty(r)&&t.push(r);return t});var r=["description","fileName","lineNumber","message","name","number","stack"];Ember.Error=function(){for(var e=Error.apply(this,arguments),t=0;t<r.length;t++)this[r[t]]=e[r[t]]},Ember.Error.prototype=Ember.create(Error.prototype)}(),function(){Ember.RSVP=t("rsvp")}(),function(){var e=/[ _]/g,t={},r=/([a-z])([A-Z])/g,n=/(\-|_|\.|\s)+(.)?/g,i=/([a-z\d])([A-Z]+)/g,s=/\-|\s+/g;Ember.STRINGS={},Ember.String={fmt:function(e,t){var r=0;return e.replace(/%@([0-9]+)?/g,function(e,n){return n=n?parseInt(n,10)-1:r++,e=t[n],null===e?"(null)":void 0===e?"":Ember.inspect(e)})},loc:function(e,t){return e=Ember.STRINGS[e]||e,Ember.String.fmt(e,t)},w:function(e){return e.split(/\s+/)},decamelize:function(e){return e.replace(r,"$1_$2").toLowerCase()},dasherize:function(r){var n,i=t,s=i.hasOwnProperty(r);return s?i[r]:(n=Ember.String.decamelize(r).replace(e,"-"),i[r]=n,n)},camelize:function(e){return e.replace(n,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e){return e.toLowerCase()})},classify:function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var s=Ember.String.camelize(t[n]);r.push(s.charAt(0).toUpperCase()+s.substr(1))}return r.join(".")},underscore:function(e){return e.replace(i,"$1_$2").replace(s,"_").toLowerCase()},capitalize:function(e){return e.charAt(0).toUpperCase()+e.substr(1)}}}(),function(){var e=Ember.String.fmt,t=Ember.String.w,r=Ember.String.loc,n=Ember.String.camelize,i=Ember.String.decamelize,s=Ember.String.dasherize,o=Ember.String.underscore,a=Ember.String.capitalize,u=Ember.String.classify;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.fmt=function(){return e(this,arguments)},String.prototype.w=function(){return t(this)},String.prototype.loc=function(){return r(this,arguments)},String.prototype.camelize=function(){return n(this)},String.prototype.decamelize=function(){return i(this)},String.prototype.dasherize=function(){return s(this)},String.prototype.underscore=function(){return o(this)},String.prototype.classify=function(){return u(this)},String.prototype.capitalize=function(){return a(this)})}(),function(){var e=Array.prototype.slice;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Function)&&(Function.prototype.property=function(){var e=Ember.computed(this);return e.property.apply(e,arguments)},Function.prototype.observes=function(){return this.__ember_observes__=e.call(arguments),this},Function.prototype.observesBefore=function(){return this.__ember_observesBefore__=e.call(arguments),this})}(),function(){function e(){return 0===a.length?{}:a.pop()}function t(e){return a.push(e),null}function r(e,t){function r(r){var s=n(r,e);return i?t===s:!!s}var i=2===arguments.length;return r}var n=Ember.get,i=Ember.set,s=Array.prototype.slice,o=Ember.EnumerableUtils.indexOf,a=[];Ember.Enumerable=Ember.Mixin.create({nextObject:Ember.required(Function),firstObject:Ember.computed(function(){if(0===n(this,"length"))return void 0;var r,i=e();return r=this.nextObject(0,null,i),t(i),r}).property("[]"),lastObject:Ember.computed(function(){var r=n(this,"length");if(0===r)return void 0;var i,s=e(),o=0,a=null;do a=i,i=this.nextObject(o++,a,s);while(void 0!==i);return t(s),a}).property("[]"),contains:function(e){return void 0!==this.find(function(t){return t===e})},forEach:function(r,i){if("function"!=typeof r)throw new TypeError;var s=n(this,"length"),o=null,a=e();void 0===i&&(i=null);for(var u=0;s>u;u++){var c=this.nextObject(u,o,a);r.call(i,c,u,this),o=c}return o=null,a=t(a),this},getEach:function(e){return this.mapProperty(e)},setEach:function(e,t){return this.forEach(function(r){i(r,e,t)})},map:function(e,t){var r=Ember.A();return this.forEach(function(n,i,s){r[i]=e.call(t,n,i,s)}),r},mapProperty:function(e){return this.map(function(t){return n(t,e)})},filter:function(e,t){var r=Ember.A();return this.forEach(function(n,i,s){e.call(t,n,i,s)&&r.push(n)}),r},reject:function(e,t){return this.filter(function(){return!e.apply(t,arguments)})},filterProperty:function(){return this.filter(r.apply(this,arguments))},rejectProperty:function(e,t){var r=function(r){return n(r,e)===t},i=function(t){return!!n(t,e)},s=2===arguments.length?r:i;return this.reject(s)},find:function(r,i){var s=n(this,"length");void 0===i&&(i=null);for(var o,a,u=null,c=!1,l=e(),h=0;s>h&&!c;h++)o=this.nextObject(h,u,l),(c=r.call(i,o,h,this))&&(a=o),u=o;return o=u=null,l=t(l),a},findProperty:function(){return this.find(r.apply(this,arguments))},every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyProperty:function(){return this.every(r.apply(this,arguments))},some:function(e,t){return!!this.find(function(r,n,i){return!!e.call(t,r,n,i)})},someProperty:function(){return this.some(r.apply(this,arguments))},reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e.call(null,n,t,i,this,r)},this),n},invoke:function(e){var t,r=Ember.A();return arguments.length>1&&(t=s.call(arguments,1)),this.forEach(function(n,i){var s=n&&n[e];"function"==typeof s&&(r[i]=t?s.apply(n,t):s.call(n))},this),r},toArray:function(){var e=Ember.A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var t=Ember.A();return this.forEach(function(r){r!==e&&(t[t.length]=r)}),t},uniq:function(){var e=Ember.A();return this.forEach(function(t){o(e,t)<0&&e.push(t)}),e},"[]":Ember.computed(function(){return this}),addEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",s=n(this,"hasEnumerableObservers");return s||Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.addListener(this,"@enumerable:before",e,r),Ember.addListener(this,"@enumerable:change",e,i),s||Ember.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var r=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",s=n(this,"hasEnumerableObservers");return s&&Ember.propertyWillChange(this,"hasEnumerableObservers"),Ember.removeListener(this,"@enumerable:before",e,r),Ember.removeListener(this,"@enumerable:change",e,i),s&&Ember.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:Ember.computed(function(){return Ember.hasListeners(this,"@enumerable:change")||Ember.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(e,t){var r,i,s;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,s=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.propertyWillChange(this,"[]"),s&&Ember.propertyWillChange(this,"length"),Ember.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var r,i,s;return r="number"==typeof e?e:e?n(e,"length"):e=-1,i="number"==typeof t?t:t?n(t,"length"):t=-1,s=0>i||0>r||0!==i-r,-1===e&&(e=null),-1===t&&(t=null),Ember.sendEvent(this,"@enumerable:change",[this,e,t]),s&&Ember.propertyDidChange(this,"length"),Ember.propertyDidChange(this,"[]"),this}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.isNone),r=Ember.EnumerableUtils.map,n=Ember.cacheFor;
|
17
|
+
Ember.Array=Ember.Mixin.create(Ember.Enumerable,{length:Ember.required(),objectAt:function(t){return 0>t||t>=e(this,"length")?void 0:e(this,t)},objectsAt:function(e){var t=this;return r(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":Ember.computed(function(t,r){return void 0!==r&&this.replace(0,e(this,"length"),r),this}),firstObject:Ember.computed(function(){return this.objectAt(0)}),lastObject:Ember.computed(function(){return this.objectAt(e(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(r,n){var i=Ember.A(),s=e(this,"length");for(t(r)&&(r=0),(t(n)||n>s)&&(n=s),0>r&&(r=s+r),0>n&&(n=s+n);n>r;)i[i.length]=this.objectAt(r++);return i},indexOf:function(t,r){var n,i=e(this,"length");for(void 0===r&&(r=0),0>r&&(r+=i),n=r;i>n;n++)if(this.objectAt(n)===t)return n;return-1},lastIndexOf:function(t,r){var n,i=e(this,"length");for((void 0===r||r>=i)&&(r=i-1),0>r&&(r+=i),n=r;n>=0;n--)if(this.objectAt(n)===t)return n;return-1},addArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",s=e(this,"hasArrayObservers");return s||Ember.propertyWillChange(this,"hasArrayObservers"),Ember.addListener(this,"@array:before",t,n),Ember.addListener(this,"@array:change",t,i),s||Ember.propertyDidChange(this,"hasArrayObservers"),this},removeArrayObserver:function(t,r){var n=r&&r.willChange||"arrayWillChange",i=r&&r.didChange||"arrayDidChange",s=e(this,"hasArrayObservers");return s&&Ember.propertyWillChange(this,"hasArrayObservers"),Ember.removeListener(this,"@array:before",t,n),Ember.removeListener(this,"@array:change",t,i),s&&Ember.propertyDidChange(this,"hasArrayObservers"),this},hasArrayObservers:Ember.computed(function(){return Ember.hasListeners(this,"@array:change")||Ember.hasListeners(this,"@array:before")}),arrayContentWillChange:function(t,r,n){void 0===t?(t=0,r=n=-1):(void 0===r&&(r=-1),void 0===n&&(n=-1)),Ember.isWatching(this,"@each")&&e(this,"@each"),Ember.sendEvent(this,"@array:before",[this,t,r,n]);var i,s;if(t>=0&&r>=0&&e(this,"hasEnumerableObservers")){i=[],s=t+r;for(var o=t;s>o;o++)i.push(this.objectAt(o))}else i=r;return this.enumerableContentWillChange(i,n),this},arrayContentDidChange:function(t,r,i){void 0===t?(t=0,r=i=-1):(void 0===r&&(r=-1),void 0===i&&(i=-1));var s,o;if(t>=0&&i>=0&&e(this,"hasEnumerableObservers")){s=[],o=t+i;for(var a=t;o>a;a++)s.push(this.objectAt(a))}else s=i;this.enumerableContentDidChange(r,s),Ember.sendEvent(this,"@array:change",[this,t,r,i]);var u=e(this,"length"),c=n(this,"firstObject"),l=n(this,"lastObject");return this.objectAt(0)!==c&&(Ember.propertyWillChange(this,"firstObject"),Ember.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==l&&(Ember.propertyWillChange(this,"lastObject"),Ember.propertyDidChange(this,"lastObject")),this},"@each":Ember.computed(function(){return this.__each||(this.__each=new Ember.EachProxy(this)),this.__each})})}(),function(){Ember.Comparable=Ember.Mixin.create({compare:Ember.required(Function)})}(),function(){var e=Ember.get;Ember.set,Ember.Copyable=Ember.Mixin.create({copy:Ember.required(Function),frozenCopy:function(){if(Ember.Freezable&&Ember.Freezable.detect(this))return e(this,"isFrozen")?this:this.copy().freeze();throw new Error(Ember.String.fmt("%@ does not support freezing",[this]))}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Freezable=Ember.Mixin.create({isFrozen:!1,freeze:function(){return e(this,"isFrozen")?this:(t(this,"isFrozen",!0),this)}}),Ember.FROZEN_ERROR="Frozen object cannot be modified."}(),function(){var e=Ember.EnumerableUtils.forEach;Ember.MutableEnumerable=Ember.Mixin.create(Ember.Enumerable,{addObject:Ember.required(Function),addObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.addObject(e)},this),Ember.endPropertyChanges(this),this},removeObject:Ember.required(Function),removeObjects:function(t){return Ember.beginPropertyChanges(this),e(t,function(e){this.removeObject(e)},this),Ember.endPropertyChanges(this),this}})}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.MutableArray=Ember.Mixin.create(Ember.Array,Ember.MutableEnumerable,{replace:Ember.required(),clear:function(){var e=r(this,"length");return 0===e?this:(this.replace(0,e,t),this)},insertAt:function(t,n){if(t>r(this,"length"))throw new Error(e);return this.replace(t,0,[n]),this},removeAt:function(n,i){if("number"==typeof n){if(0>n||n>=r(this,"length"))throw new Error(e);void 0===i&&(i=1),this.replace(n,i,t)}return this},pushObject:function(e){return this.insertAt(r(this,"length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(r(this,"length"),0,e),this},popObject:function(){var e=r(this,"length");if(0===e)return null;var t=this.objectAt(e-1);return this.removeAt(e-1,1),t},shiftObject:function(){if(0===r(this,"length"))return null;var e=this.objectAt(0);return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=r(this,"length");if(0===e)return this;var t=this.toArray().reverse();return this.replace(0,e,t),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this.replace(0,t,e),this},removeObject:function(e){for(var t=r(this,"length")||0;--t>=0;){var n=this.objectAt(t);n===e&&this.removeAt(t)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Observable=Ember.Mixin.create({get:function(t){return e(this,t)},getProperties:function(){var t={},r=arguments;1===arguments.length&&"array"===Ember.typeOf(arguments[0])&&(r=arguments[0]);for(var n=0;n<r.length;n++)t[r[n]]=e(this,r[n]);return t},set:function(e,r){return t(this,e,r),this},setProperties:function(e){return Ember.setProperties(this,e)},beginPropertyChanges:function(){return Ember.beginPropertyChanges(),this},endPropertyChanges:function(){return Ember.endPropertyChanges(),this},propertyWillChange:function(e){return Ember.propertyWillChange(this,e),this},propertyDidChange:function(e){return Ember.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,t,r){Ember.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){Ember.addObserver(this,e,t,r)},removeObserver:function(e,t,r){Ember.removeObserver(this,e,t,r)},hasObserverFor:function(e){return Ember.hasListeners(this,e+":change")},getPath:function(e){return this.get(e)},setPath:function(e,t){return this.set(e,t)},getWithDefault:function(e,t){return Ember.getWithDefault(this,e,t)},incrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)+n),e(this,r)},decrementProperty:function(r,n){return Ember.isNone(n)&&(n=1),t(this,r,(e(this,r)||0)-n),e(this,r)},toggleProperty:function(r){return t(this,r,!e(this,r)),e(this,r)},cacheFor:function(e){return Ember.cacheFor(this,e)},observersForKey:function(e){return Ember.observersFor(this,e)}})}(),function(){var e=Ember.get;Ember.set,Ember.TargetActionSupport=Ember.Mixin.create({target:null,action:null,actionContext:null,targetObject:Ember.computed(function(){var t=e(this,"target");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("target"),actionContextObject:Ember.computed(function(){var t=e(this,"actionContext");if("string"===Ember.typeOf(t)){var r=e(this,t);return void 0===r&&(r=e(Ember.lookup,t)),r}return t}).property("actionContext"),triggerAction:function(t){t=t||{};var r=t.action||e(this,"action"),n=t.target||e(this,"targetObject"),i=t.actionContext||e(this,"actionContextObject")||this;if(n&&r){var s;return s=n.send?n.send.apply(n,[r,i]):n[r].apply(n,[i]),s!==!1&&(s=!0),s}return!1}})}(),function(){Ember.Evented=Ember.Mixin.create({on:function(e,t,r){return Ember.addListener(this,e,t,r),this},one:function(e,t,r){return r||(r=t,t=null),Ember.addListener(this,e,t,r,!0),this},trigger:function(e){var t,r,n=[];for(t=1,r=arguments.length;r>t;t++)n.push(arguments[t]);Ember.sendEvent(this,e,n)},fire:function(){this.trigger.apply(this,arguments)},off:function(e,t,r){return Ember.removeListener(this,e,t,r),this},has:function(e){return Ember.hasListeners(this,e)}})}(),function(){var e=t("rsvp");e.configure("async",function(e,t){Ember.run.schedule("actions",t,e,t)});var r=Ember.get;Ember.DeferredMixin=Ember.Mixin.create({then:function(e,t){function n(t){return t===s?e(o):e(t)}var i,s,o;return o=this,i=r(this,"_deferred"),s=i.promise,s.then(e&&n,t)},resolve:function(e){var t,n;t=r(this,"_deferred"),n=t.promise,e===this?t.resolve(n):t.resolve(e)},reject:function(e){r(this,"_deferred").reject(e)},_deferred:Ember.computed(function(){return e.defer()})})}(),function(){Ember.Container=t("container"),Ember.Container.set=Ember.set}(),function(){function e(){var e,t,s=!1,o=function(){s||o.proto(),n(this,i,v),n(this,"_super",v);var u=a(this);if(u.proto=this,e){var l=e;e=null,this.reopen.apply(this,l)}if(t){var h=t;t=null;for(var m=this.concatenatedProperties,f=0,d=h.length;d>f;f++){var g=h[f];for(var y in g)if(g.hasOwnProperty(y)){var w=g[y],_=Ember.IS_BINDING;if(_.test(y)){var C=u.bindings;C?u.hasOwnProperty("bindings")||(C=u.bindings=r(u.bindings)):C=u.bindings={},C[y]=w}var O=u.descs[y];if(m&&E(m,y)>=0){var S=this[y];w=S?"function"==typeof S.concat?S.concat(w):Ember.makeArray(S).concat(w):Ember.makeArray(w)}O?O.set(this,y,w):"function"!=typeof this.setUnknownProperty||y in this?b?Ember.defineProperty(this,y,null,w):this[y]=w:this.setUnknownProperty(y,w)}}}p(this,u),delete u.proto,c(this),this.init.apply(this,arguments)};return o.toString=m.prototype.toString,o.willReopen=function(){s&&(o.PrototypeMixin=m.create(o.PrototypeMixin)),s=!1},o._initMixins=function(t){e=t},o._initProperties=function(e){t=e},o.proto=function(){var e=o.superclass;return e&&e.proto(),s||(s=!0,o.PrototypeMixin.applyPartial(o.prototype),u(o.prototype)),this.prototype},o}function t(e){return function(){return e}}var r=(Ember.set,Ember.get,Ember.create),n=Ember.platform.defineProperty,i=Ember.GUID_KEY,s=Ember.guidFor,o=Ember.generateGuid,a=Ember.meta,u=Ember.rewatch,c=Ember.finishChains,l=Ember.destroy,h=Ember.run.schedule,m=Ember.Mixin,f=m._apply,p=m.finishPartial,d=m.prototype.reopen,b=Ember.ENV.MANDATORY_SETTER,E=Ember.EnumerableUtils.indexOf,v={configurable:!0,writable:!0,enumerable:!1,value:void 0},g=e();g.toString=function(){return"Ember.CoreObject"},g.PrototypeMixin=m.create({reopen:function(){return f(this,arguments,!0),this},isInstance:!0,init:function(){},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,h("actions",this,this.willDestroy),h("destroy",this,this._scheduledDestroy),this)},willDestroy:Ember.K,_scheduledDestroy:function(){this.isDestroyed||(l(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof Ember.Binding||(t=Ember.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,r=e?":"+this.toStringExtension():"",n="<"+this.constructor.toString()+":"+s(this)+r+">";return this.toString=t(n),n}}),g.PrototypeMixin.ownerConstructor=g,Ember.config.overridePrototypeMixin&&Ember.config.overridePrototypeMixin(g.PrototypeMixin),g.__super__=null;var y=m.create({ClassMixin:Ember.required(),PrototypeMixin:Ember.required(),isClass:!0,isMethod:!1,extend:function(){var t,n=e();return n.ClassMixin=m.create(this.ClassMixin),n.PrototypeMixin=m.create(this.PrototypeMixin),n.ClassMixin.ownerConstructor=n,n.PrototypeMixin.ownerConstructor=n,d.apply(n.PrototypeMixin,arguments),n.superclass=this,n.__super__=this.prototype,t=n.prototype=r(this.prototype),t.constructor=n,o(t,"ember"),a(t).proto=t,n.ClassMixin.apply(n),n},createWithMixins:function(){var e=this;return arguments.length>0&&this._initMixins(arguments),new e},create:function(){var e=this;return arguments.length>0&&this._initProperties(arguments),new e},reopen:function(){return this.willReopen(),d.apply(this.PrototypeMixin,arguments),this},reopenClass:function(){return d.apply(this.ClassMixin,arguments),f(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;for(;e;){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=a(this.proto(),!1).descs[e];return t._meta||{}},eachComputedProperty:function(e,t){var r,n=this.proto(),i=a(n).descs,s={};for(var o in i)r=i[o],r instanceof Ember.ComputedProperty&&e.call(t||this,o,r._meta||s)}});y.ownerConstructor=g,Ember.config.overrideClassMixin&&Ember.config.overrideClassMixin(y),g.ClassMixin=y,y.apply(g),Ember.CoreObject=g}(),function(){Ember.Object=Ember.CoreObject.extend(Ember.Observable),Ember.Object.toString=function(){return"Ember.Object"}}(),function(){function e(t,r,i){var o=t.length;c[t.join(".")]=r;for(var a in r)if(l.call(r,a)){var u=r[a];if(t[o]=a,u&&u.toString===n)u.toString=s(t.join(".")),u[m]=t.join(".");else if(u&&u.isNamespace){if(i[h(u)])continue;i[h(u)]=!0,e(t,u,i)}}t.length=o}function t(){var e,t,r=Ember.Namespace,n=Ember.lookup;if(!r.PROCESSED)for(var i in n)if("parent"!==i&&"top"!==i&&"frameElement"!==i&&"webkitStorageInfo"!==i&&!("globalStorage"===i&&n.StorageList&&n.globalStorage instanceof n.StorageList||n.hasOwnProperty&&!n.hasOwnProperty(i))){try{e=Ember.lookup[i],t=e&&e.isNamespace}catch(s){continue}t&&(e[m]=i)}}function r(e){var t=e.superclass;return t?t[m]?t[m]:r(t):void 0}function n(){Ember.BOOTED||this[m]||i();var e;if(this[m])e=this[m];else{var t=r(this);e=t?"(subclass of "+t+")":"(unknown mixin)",this.toString=s(e)}return e}function i(){var r=!u.PROCESSED,n=Ember.anyUnprocessedMixins;if(r&&(t(),u.PROCESSED=!0),r||n){for(var i,s=u.NAMESPACES,o=0,a=s.length;a>o;o++)i=s[o],e([i.toString()],i,{});Ember.anyUnprocessedMixins=!1}}function s(e){return function(){return e}}var o=Ember.get,a=Ember.ArrayPolyfills.indexOf,u=Ember.Namespace=Ember.Object.extend({isNamespace:!0,init:function(){Ember.Namespace.NAMESPACES.push(this),Ember.Namespace.PROCESSED=!1},toString:function(){var e=o(this,"name");return e?e:(t(),this[Ember.GUID_KEY+"_name"])},nameClasses:function(){e([this.toString()],this,{})},destroy:function(){var e=Ember.Namespace.NAMESPACES;Ember.lookup[this.toString()]=void 0,e.splice(a.call(e,this),1),this._super()}});u.reopenClass({NAMESPACES:[Ember],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:i,byName:function(e){return Ember.BOOTED||i(),c[e]}});var c=u.NAMESPACES_BY_ID,l={}.hasOwnProperty,h=Ember.guidFor,m=Ember.NAME_KEY=Ember.GUID_KEY+"_name";Ember.Mixin.prototype.toString=n}(),function(){Ember.Application=Ember.Namespace.extend()}(),function(){var e="Index out of range",t=[],r=Ember.get;Ember.set,Ember.ArrayProxy=Ember.Object.extend(Ember.MutableArray,{content:null,arrangedContent:Ember.computed.alias("content"),objectAtContent:function(e){return r(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r(this,"content").replace(e,t,n)},_contentWillChange:Ember.beforeObserver(function(){this._teardownContent()},"content"),_teardownContent:function(){var e=r(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:Ember.K,contentArrayDidChange:Ember.K,_contentDidChange:Ember.observer(function(){r(this,"content"),this._setupContent()},"content"),_setupContent:function(){var e=r(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:Ember.beforeObserver(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)},"arrangedContent"),_arrangedContentDidChange:Ember.observer(function(){var e=r(this,"arrangedContent"),t=e?r(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)},"arrangedContent"),_setupArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:Ember.K,arrangedContentDidChange:Ember.K,objectAt:function(e){return r(this,"content")&&this.objectAtContent(e)},length:Ember.computed(function(){var e=r(this,"arrangedContent");return e?r(e,"length"):0}),_replace:function(e,t,n){var i=r(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r(this,"arrangedContent")!==r(this,"content"))throw new Ember.Error("Using replace on an arranged ArrayProxy is not allowed.");this._replace.apply(this,arguments)},_insertAt:function(t,n){if(t>r(this,"content.length"))throw new Error(e);return this._replace(t,0,[n]),this},insertAt:function(e,t){if(r(this,"arrangedContent")===r(this,"content"))return this._insertAt(e,t);throw new Ember.Error("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(n,i){if("number"==typeof n){var s,o=r(this,"content"),a=r(this,"arrangedContent"),u=[];if(0>n||n>=r(this,"length"))throw new Error(e);for(void 0===i&&(i=1),s=n;n+i>s;s++)u.push(o.indexOf(a.objectAt(s)));for(u.sort(function(e,t){return t-e}),Ember.beginPropertyChanges(),s=0;s<u.length;s++)this._replace(u[s],1,t);Ember.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r(this,"content.length"),e),e},pushObjects:function(e){if(!Ember.Enumerable.detect(e)&&!Ember.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this._replace(r(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r(this,"length");return this._replace(0,t,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,t,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super(),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}})}(),function(){function e(e,t){var r=t.slice(8);r in this||u(this,r)}function t(e,t){var r=t.slice(8);r in this||c(this,r)}var r=Ember.get,n=Ember.set,i=(Ember.String.fmt,Ember.addBeforeObserver),s=Ember.addObserver,o=Ember.removeBeforeObserver,a=Ember.removeObserver,u=Ember.propertyWillChange,c=Ember.propertyDidChange;Ember.ObjectProxy=Ember.Object.extend({content:null,_contentDidChange:Ember.observer(function(){},"content"),isTruthy:Ember.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(r){var n="content."+r;i(this,n,null,e),s(this,n,null,t)},didUnwatchProperty:function(r){var n="content."+r;o(this,n,null,e),a(this,n,null,t)},unknownProperty:function(e){var t=r(this,"content");return t?r(t,e):void 0},setUnknownProperty:function(e,t){var i=r(this,"content");return n(i,e,t)}}),Ember.ObjectProxy.reopenClass({create:function(){var e,t,r,n,i,s;if(arguments.length){for(t=this.proto(),r=0,n=arguments.length;n>r;r++){i=arguments[r];for(s in i)!i.hasOwnProperty(s)||s in t||(e||(e={}),e[s]=null)}e&&this._initMixins([e])}return this._super.apply(this,arguments)}})}(),function(){function e(e,t,r,i,s){var o,a=r._objects;for(a||(a=r._objects={});--s>=i;){var u=e.objectAt(s);u&&(Ember.addBeforeObserver(u,t,r,"contentKeyWillChange"),Ember.addObserver(u,t,r,"contentKeyDidChange"),o=n(u),a[o]||(a[o]=[]),a[o].push(s))}}function t(e,t,r,i,s){var o=r._objects;o||(o=r._objects={});for(var a,u;--s>=i;){var c=e.objectAt(s);c&&(Ember.removeBeforeObserver(c,t,r,"contentKeyWillChange"),Ember.removeObserver(c,t,r,"contentKeyDidChange"),u=n(c),a=o[u],a[a.indexOf(s)]=null)}}var r=(Ember.set,Ember.get),n=Ember.guidFor,i=Ember.EnumerableUtils.forEach,s=Ember.Object.extend(Ember.Array,{init:function(e,t,r){this._super(),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r(t,this._keyName)},length:Ember.computed(function(){var e=this._content;return e?r(e,"length"):0})}),o=/^.+:(before|change)$/;Ember.EachProxy=Ember.Object.extend({init:function(e){this._super(),this._content=e,e.addArrayObserver(this),i(Ember.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e){var t;return t=new s(this._content,e,this),Ember.defineProperty(this,e,null,t),this.beginObservingContentKey(e),t},arrayWillChange:function(e,r,n){var i,s,o=this._keys;s=n>0?r+n:-1,Ember.beginPropertyChanges(this);for(i in o)o.hasOwnProperty(i)&&(s>0&&t(e,i,this,r,s),Ember.propertyWillChange(this,i));Ember.propertyWillChange(this._content,"@each"),Ember.endPropertyChanges(this)},arrayDidChange:function(t,r,n,i){var s,o=this._keys;s=i>0?r+i:-1,Ember.changeProperties(function(){for(var n in o)o.hasOwnProperty(n)&&(s>0&&e(t,n,this,r,s),Ember.propertyDidChange(this,n));Ember.propertyDidChange(this._content,"@each")},this)},didAddListener:function(e){o.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){o.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(t){var n=this._keys;if(n||(n=this._keys={}),n[t])n[t]++;else{n[t]=1;var i=this._content,s=r(i,"length");e(i,t,this,0,s)}},stopObservingContentKey:function(e){var n=this._keys;if(n&&n[e]>0&&--n[e]<=0){var i=this._content,s=r(i,"length");t(i,e,this,0,s)}},contentKeyWillChange:function(e,t){Ember.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){Ember.propertyDidChange(this,t)}})}(),function(){var e=Ember.get;Ember.set;var t=Ember.Mixin.create(Ember.MutableArray,Ember.Observable,Ember.Copyable,{get:function(e){return"length"===e?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(t,r,n){if(this.isFrozen)throw Ember.FROZEN_ERROR;var i=n?e(n,"length"):0;if(this.arrayContentWillChange(t,r,i),n&&0!==n.length){var s=[t,r].concat(n);this.splice.apply(this,s)}else this.splice(t,r);return this.arrayContentDidChange(t,r,i),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:function(e,t){var r,n=this.length;for(t=void 0===t?0:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;n>r;r++)if(this[r]===e)return r;return-1},lastIndexOf:function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1},copy:function(e){return e?this.map(function(e){return Ember.copy(e,!0)}):this.slice()}}),r=["length"];Ember.EnumerableUtils.forEach(t.keys(),function(e){Array.prototype[e]&&r.push(e)}),r.length>0&&(t=t.without.apply(t,r)),Ember.NativeArray=t,Ember.A=function(e){return void 0===e&&(e=[]),Ember.Array.detect(e)?e:Ember.NativeArray.apply(e)},Ember.NativeArray.activate=function(){t.apply(Array.prototype),Ember.A=function(e){return e||[]}},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Array)&&Ember.NativeArray.activate()}(),function(){var e=Ember.get,t=Ember.set,r=Ember.guidFor,n=Ember.isNone,i=Ember.String.fmt;Ember.Set=Ember.CoreObject.extend(Ember.MutableEnumerable,Ember.Copyable,Ember.Freezable,{length:0,clear:function(){if(this.isFrozen)throw new Error(Ember.FROZEN_ERROR);var n=e(this,"length");if(0===n)return this;var i;this.enumerableContentWillChange(n,0),Ember.propertyWillChange(this,"firstObject"),Ember.propertyWillChange(this,"lastObject");for(var s=0;n>s;s++)i=r(this[s]),delete this[i],delete this[s];return t(this,"length",0),Ember.propertyDidChange(this,"firstObject"),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(n,0),this},isEqual:function(t){if(!Ember.Enumerable.detect(t))return!1;var r=e(this,"length");if(e(t,"length")!==r)return!1;for(;--r>=0;)if(!t.contains(this[r]))return!1;return!0},add:Ember.aliasMethod("addObject"),remove:Ember.aliasMethod("removeObject"),pop:function(){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);var t=this.length>0?this[this.length-1]:null;return this.remove(t),t},push:Ember.aliasMethod("addObject"),shift:Ember.aliasMethod("pop"),unshift:Ember.aliasMethod("push"),addEach:Ember.aliasMethod("addObjects"),removeEach:Ember.aliasMethod("removeObjects"),init:function(e){this._super(),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:Ember.computed(function(){return this.length>0?this[0]:void 0}),lastObject:Ember.computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var s,o=r(i),a=this[o],u=e(this,"length");return a>=0&&u>a&&this[a]===i?this:(s=[i],this.enumerableContentWillChange(null,s),Ember.propertyWillChange(this,"lastObject"),u=e(this,"length"),this[o]=u,this[u]=i,t(this,"length",u+1),Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,s),this)},removeObject:function(i){if(e(this,"isFrozen"))throw new Error(Ember.FROZEN_ERROR);if(n(i))return this;var s,o,a=r(i),u=this[a],c=e(this,"length"),l=0===u,h=u===c-1;return u>=0&&c>u&&this[u]===i&&(o=[i],this.enumerableContentWillChange(o,null),l&&Ember.propertyWillChange(this,"firstObject"),h&&Ember.propertyWillChange(this,"lastObject"),c-1>u&&(s=this[c-1],this[u]=s,this[r(s)]=u),delete this[a],delete this[c-1],t(this,"length",c-1),l&&Ember.propertyDidChange(this,"firstObject"),h&&Ember.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(o,null)),this},contains:function(e){return this[r(e)]>=0},copy:function(){var n=this.constructor,i=new n,s=e(this,"length");for(t(i,"length",s);--s>=0;)i[s]=this[s],i[r(this[s])]=s;return i},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return i("Ember.Set<%@>",[r.join(",")])}})}(),function(){var e=Ember.DeferredMixin;Ember.get;var t=Ember.Object.extend(e);t.reopenClass({promise:function(e,r){var n=t.create();return e.call(r,n),n}}),Ember.Deferred=t}(),function(){var e=Ember.ArrayPolyfills.forEach,t=Ember.ENV.EMBER_LOAD_HOOKS||{},r={};Ember.onLoad=function(e,n){var i;t[e]=t[e]||Ember.A(),t[e].pushObject(n),(i=r[e])&&n(i)},Ember.runLoadHooks=function(n,i){r[n]=i,t[n]&&e.call(t[n],function(e){e(i)})}}(),function(){var e=Ember.get;Ember.ControllerMixin=Ember.Mixin.create({isController:!0,target:null,container:null,parentController:null,store:null,model:Ember.computed.alias("content"),send:function(t){var r,n=[].slice.call(arguments,1);this[t]?this[t].apply(this,n):(r=e(this,"target"))&&r.send.apply(r,arguments)}}),Ember.Controller=Ember.Object.extend(Ember.ControllerMixin)}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach);Ember.SortableMixin=Ember.Mixin.create(Ember.MutableEnumerable,{sortProperties:null,sortAscending:!0,sortFunction:Ember.compare,orderBy:function(r,n){var i=0,s=e(this,"sortProperties"),o=e(this,"sortAscending"),a=e(this,"sortFunction");return t(s,function(t){0===i&&(i=a(e(r,t),e(n,t)),0===i||o||(i=-1*i))}),i},destroy:function(){var r=e(this,"content"),n=e(this,"sortProperties");return r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},isSorted:Ember.computed.bool("sortProperties"),arrangedContent:Ember.computed("content","sortProperties.@each",function(){var r=e(this,"content"),n=e(this,"isSorted"),i=e(this,"sortProperties"),s=this;return r&&n?(r=r.slice(),r.sort(function(e,t){return s.orderBy(e,t)}),t(r,function(e){t(i,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),Ember.A(r)):r}),_contentWillChange:Ember.beforeObserver(function(){var r=e(this,"content"),n=e(this,"sortProperties");r&&n&&t(r,function(e){t(n,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super()},"content"),sortAscendingWillChange:Ember.beforeObserver(function(){this._lastSortAscending=e(this,"sortAscending")},"sortAscending"),sortAscendingDidChange:Ember.observer(function(){if(e(this,"sortAscending")!==this._lastSortAscending){var t=e(this,"arrangedContent");t.reverseObjects()}},"sortAscending"),contentArrayWillChange:function(r,n,i,s){var o=e(this,"isSorted");if(o){var a=e(this,"arrangedContent"),u=r.slice(n,n+i),c=e(this,"sortProperties");t(u,function(e){a.removeObject(e),t(c,function(t){Ember.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,s)},contentArrayDidChange:function(r,n,i,s){var o=e(this,"isSorted"),a=e(this,"sortProperties");if(o){var u=r.slice(n,n+s);t(u,function(e){this.insertItemSorted(e),t(a,function(t){Ember.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(r,n,i,s)},insertItemSorted:function(t){var r=e(this,"arrangedContent"),n=e(r,"length"),i=this._binarySearch(t,0,n);r.insertAt(i,t)},contentItemSortPropertyDidChange:function(t){var r=e(this,"arrangedContent"),n=r.indexOf(t),i=r.objectAt(n-1),s=r.objectAt(n+1),o=i&&this.orderBy(t,i),a=s&&this.orderBy(t,s);(0>o||a>0)&&(r.removeObject(t),this.insertItemSorted(t))},_binarySearch:function(t,r,n){var i,s,o,a;return r===n?r:(a=e(this,"arrangedContent"),i=r+Math.floor((n-r)/2),s=a.objectAt(i),o=this.orderBy(s,t),0>o?this._binarySearch(t,i+1,n):o>0?this._binarySearch(t,r,i):i)}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.EnumerableUtils.forEach),r=Ember.EnumerableUtils.replace;Ember.ArrayController=Ember.ArrayProxy.extend(Ember.ControllerMixin,Ember.SortableMixin,{itemController:null,lookupItemController:function(){return e(this,"itemController")},objectAtContent:function(t){var r=e(this,"length"),n=e(this,"arrangedContent"),i=n&&n.objectAt(t);if(t>=0&&r>t){var s=this.lookupItemController(i);if(s)return this.controllerAt(t,i,s)}return i},arrangedContentDidChange:function(){this._super(),this._resetSubControllers()},arrayContentDidChange:function(n,i,s){var o=e(this,"_subControllers"),a=o.slice(n,n+i);t(a,function(e){e&&e.destroy()}),r(o,n,i,new Array(s)),this._super(n,i,s)},init:function(){this.get("content")||Ember.defineProperty(this,"content",void 0,Ember.A()),this._super(),this.set("_subControllers",Ember.A())},controllerAt:function(t,r,n){var i=e(this,"container"),s=e(this,"_subControllers"),o=s[t];if(o||(o=i.lookup("controller:"+n,{singleton:!1}),s[t]=o),!o)throw new Error('Could not resolve itemController: "'+n+'"');return o.set("target",this),o.set("parentController",e(this,"parentController")||this),o.set("content",r),o},_subControllers:null,_resetSubControllers:function(){var r=e(this,"_subControllers");r&&t(r,function(e){e&&e.destroy()}),this.set("_subControllers",Ember.A())}})}(),function(){Ember.ObjectController=Ember.ObjectProxy.extend(Ember.ControllerMixin)}(),function(){var e=Ember.imports.jQuery;Ember.$=e}(),function(){if(Ember.$){var e=Ember.String.w("dragstart drag dragenter dragleave dragover drop dragend");Ember.EnumerableUtils.forEach(e,function(e){Ember.$.event.fixHooks[e]={props:["dataTransfer"]}})}}(),function(){function e(e){var t=e.shiftKey||e.metaKey||e.altKey||e.ctrlKey,r=e.which>1;return!t&&!r}var t=this.document&&function(){var e=document.createElement("div");return e.innerHTML="<div></div>",e.firstChild.innerHTML="<script></script>",""===e.firstChild.innerHTML}(),r=this.document&&function(){var e=document.createElement("div");return e.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===e.childNodes[0].nodeValue&&" Value"===e.childNodes[2].nodeValue}(),n=function(e,t){if(e.getAttribute("id")===t)return e;var r,i,s,o=e.childNodes.length;for(r=0;o>r;r++)if(i=e.childNodes[r],s=1===i.nodeType&&n(i,t))return s},i=function(e,i){t&&(i="­"+i);var s=[];if(r&&(i=i.replace(/(\s+)(<script id='([^']+)')/g,function(e,t,r,n){return s.push([n,t]),r})),e.innerHTML=i,s.length>0){var o,a=s.length;for(o=0;a>o;o++){var u=n(e,s[o][0]),c=document.createTextNode(s[o][1]);u.parentNode.insertBefore(c,u)}}if(t){for(var l=e.firstChild;1===l.nodeType&&!l.nodeName;)l=l.firstChild;3===l.nodeType&&""===l.nodeValue.charAt(0)&&(l.nodeValue=l.nodeValue.slice(1))}},s={},o=function(e){if(void 0!==s[e])return s[e];var t=!0;if("select"===e.toLowerCase()){var r=document.createElement("select");i(r,'<option value="test">Test</option>'),t=1===r.options.length
|
18
|
+
}return s[e]=t,t},a=function(e,t){var r=e.tagName;if(o(r))i(e,t);else{var n=e.outerHTML||(new XMLSerializer).serializeToString(e),s=n.match(new RegExp("<"+r+"([^>]*)>","i"))[0],a="</"+r+">",u=document.createElement("div");for(i(u,s+t+a),e=u.firstChild;e.tagName!==r;)e=e.nextSibling}return e};Ember.ViewUtils={setInnerHTML:a,isSimpleClick:e}}(),function(){function e(e){return e?n.test(e)?e.replace(i,""):e:e}function t(e){var t={"<":"<",">":">",'"':""","'":"'","`":"`"},r=function(e){return t[e]||"&"},n=e.toString();return o.test(n)?n.replace(s,r):n}Ember.get,Ember.set;var r=function(){this.seen={},this.list=[]};r.prototype={add:function(e){e in this.seen||(this.seen[e]=!0,this.list.push(e))},toDOM:function(){return this.list.join(" ")}};var n=/[^a-zA-Z0-9\-]/,i=/[^a-zA-Z0-9\-]/g,s=/&(?!\w+;)|[<>"'`]/g,o=/[&<>"'`]/;Ember.RenderBuffer=function(e){return new Ember._RenderBuffer(e)},Ember._RenderBuffer=function(e){this.tagNames=[e||null],this.buffer=""},Ember._RenderBuffer.prototype={_element:null,_hasElement:!0,elementClasses:null,classes:null,elementId:null,elementAttributes:null,elementProperties:null,elementTag:null,elementStyle:null,parentBuffer:null,push:function(e){return this.buffer+=e,this},addClass:function(e){return this.elementClasses=this.elementClasses||new r,this.elementClasses.add(e),this.classes=this.elementClasses.list,this},setClasses:function(e){this.classes=e},id:function(e){return this.elementId=e,this},attr:function(e,t){var r=this.elementAttributes=this.elementAttributes||{};return 1===arguments.length?r[e]:(r[e]=t,this)},removeAttr:function(e){var t=this.elementAttributes;return t&&delete t[e],this},prop:function(e,t){var r=this.elementProperties=this.elementProperties||{};return 1===arguments.length?r[e]:(r[e]=t,this)},removeProp:function(e){var t=this.elementProperties;return t&&delete t[e],this},style:function(e,t){return this.elementStyle=this.elementStyle||{},this.elementStyle[e]=t,this},begin:function(e){return this.tagNames.push(e||null),this},pushOpeningTag:function(){var r=this.currentTagName();if(r){if(this._hasElement&&!this._element&&0===this.buffer.length)return this._element=this.generateElement(),void 0;var n,i,s=this.buffer,o=this.elementId,a=this.classes,u=this.elementAttributes,c=this.elementProperties,l=this.elementStyle;if(s+="<"+e(r),o&&(s+=' id="'+t(o)+'"',this.elementId=null),a&&(s+=' class="'+t(a.join(" "))+'"',this.classes=null),l){s+=' style="';for(i in l)l.hasOwnProperty(i)&&(s+=i+":"+t(l[i])+";");s+='"',this.elementStyle=null}if(u){for(n in u)u.hasOwnProperty(n)&&(s+=" "+n+'="'+t(u[n])+'"');this.elementAttributes=null}if(c){for(i in c)if(c.hasOwnProperty(i)){var h=c[i];(h||"number"==typeof h)&&(s+=h===!0?" "+i+'="'+i+'"':" "+i+'="'+t(c[i])+'"')}this.elementProperties=null}s+=">",this.buffer=s}},pushClosingTag:function(){var t=this.tagNames.pop();t&&(this.buffer+="</"+e(t)+">")},currentTagName:function(){return this.tagNames[this.tagNames.length-1]},generateElement:function(){var e,t,r=this.tagNames.pop(),n=document.createElement(r),i=Ember.$(n),s=this.elementId,o=this.classes,a=this.elementAttributes,u=this.elementProperties,c=this.elementStyle,l="";if(s&&(i.attr("id",s),this.elementId=null),o&&(i.attr("class",o.join(" ")),this.classes=null),c){for(t in c)c.hasOwnProperty(t)&&(l+=t+":"+c[t]+";");i.attr("style",l),this.elementStyle=null}if(a){for(e in a)a.hasOwnProperty(e)&&i.attr(e,a[e]);this.elementAttributes=null}if(u){for(t in u)u.hasOwnProperty(t)&&i.prop(t,u[t]);this.elementProperties=null}return n},element:function(){var e=this.innerString();return e&&(this._element=Ember.ViewUtils.setInnerHTML(this._element,e)),this._element},string:function(){if(this._hasElement&&this._element){var e=this.element(),t=e.outerHTML;return"undefined"==typeof t?Ember.$("<div/>").append(e).html():t}return this.innerString()},innerString:function(){return this.buffer}}}(),function(){var e=Ember.get,t=Ember.set;Ember.String.fmt,Ember.EventDispatcher=Ember.Object.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",setup:function(r,n){var i,s=e(this,"events");Ember.$.extend(s,r||{}),Ember.isNone(n)||t(this,"rootElement",n),n=Ember.$(e(this,"rootElement")),n.addClass("ember-application");for(i in s)s.hasOwnProperty(i)&&this.setupHandler(n,i,s[i])},setupHandler:function(e,t,r){var n=this;e.on(t+".ember",".ember-view",function(e,t){return Ember.handleErrors(function(){var i=Ember.View.views[this.id],s=!0,o=null;return o=n._findNearestEventManager(i,r),o&&o!==t?s=n._dispatchEvent(o,e,r,i):i?s=n._bubbleEvent(i,e,r):e.stopPropagation(),s},this)}),e.on(t+".ember","[data-ember-action]",function(e){return Ember.handleErrors(function(){var t=Ember.$(e.currentTarget).attr("data-ember-action"),n=Ember.Handlebars.ActionHelper.registeredActions[t];return n&&n.eventName===r?n.handler(e):void 0},this)})},_findNearestEventManager:function(t,r){for(var n=null;t&&(n=e(t,"eventManager"),!n||!n[r]);)t=e(t,"parentView");return n},_dispatchEvent:function(e,t,r,n){var i=!0,s=e[r];return"function"===Ember.typeOf(s)?(i=s.call(e,t,n),t.stopPropagation()):i=this._bubbleEvent(n,t,r),i},_bubbleEvent:function(e,t,r){return Ember.run(function(){return e.handleEvent(r,t)})},destroy:function(){var t=e(this,"rootElement");return Ember.$(t).off(".ember","**").removeClass("ember-application"),this._super()}})}(),function(){var e=Ember.run.queues,t=Ember.ArrayPolyfills.indexOf;e.splice(t.call(e,"actions")+1,0,"render","afterRender")}(),function(){var e=Ember.get,t=Ember.set;Ember.ControllerMixin.reopen({target:null,namespace:null,view:null,container:null,_childContainers:null,init:function(){this._super(),t(this,"_childContainers",{})},_modelDidChange:Ember.observer(function(){var r=e(this,"_childContainers");for(var n in r)r.hasOwnProperty(n)&&r[n].destroy();t(this,"_childContainers",{})},"model")})}(),function(){function e(){Ember.run.once(Ember.View,"notifyMutationListeners")}var t={},r=Ember.get,n=Ember.set,i=Ember.guidFor,s=Ember.EnumerableUtils.forEach,o=Ember.EnumerableUtils.addObject,a=Ember.computed(function(){var e=this._childViews,t=Ember.A(),n=this;return s(e,function(e){var n;e.isVirtual?(n=r(e,"childViews"))&&t.pushObjects(n):t.push(e)}),t.replace=function(e,t,r){if(n instanceof Ember.ContainerView)return n.replace(e,t,r);throw new Error("childViews is immutable")},t});Ember.TEMPLATES={},Ember.CoreView=Ember.Object.extend(Ember.Evented,{isView:!0,states:t,init:function(){this._super(),this.transitionTo("preRender")},parentView:Ember.computed(function(){var e=this._parentView;return e&&e.isVirtual?r(e,"parentView"):e}).property("_parentView"),state:null,_parentView:null,concreteView:Ember.computed(function(){return this.isVirtual?r(this,"parentView"):this}).property("parentView"),instrumentName:"core_view",instrumentDetails:function(e){e.object=this.toString()},renderToBuffer:function(e,t){var r="render."+this.instrumentName,n={};return this.instrumentDetails(n),Ember.instrument(r,n,function(){return this._renderToBuffer(e,t)},this)},_renderToBuffer:function(e){var t=this.tagName;(null===t||void 0===t)&&(t="div");var r=this.buffer=e&&e.begin(t)||Ember.RenderBuffer(t);return this.transitionTo("inBuffer",!1),this.beforeRender(r),this.render(r),this.afterRender(r),r},trigger:function(e){this._super.apply(this,arguments);var t=this[e];if(t){var r,n,i=[];for(r=1,n=arguments.length;n>r;r++)i.push(arguments[r]);return t.apply(this,i)}},has:function(e){return"function"===Ember.typeOf(this[e])||this._super(e)},destroy:function(){var e=this._parentView;if(this._super())return this.removedFromDOM||this.destroyElement(),e&&e.removeChild(this),this.transitionTo("destroying",!1),this},clearRenderedChildren:Ember.K,triggerRecursively:Ember.K,invokeRecursively:Ember.K,transitionTo:Ember.K,destroyElement:Ember.K});var u=Ember._ViewCollection=function(e){var t=this.views=e||[];this.length=t.length};u.prototype={length:0,trigger:function(e){for(var t,r=this.views,n=0,i=r.length;i>n;n++)t=r[n],t.trigger&&t.trigger(e)},triggerRecursively:function(e){for(var t=this.views,r=0,n=t.length;n>r;r++)t[r].triggerRecursively(e)},invokeRecursively:function(e){for(var t,r=this.views,n=0,i=r.length;i>n;n++)t=r[n],e(t)},transitionTo:function(e,t){for(var r=this.views,n=0,i=r.length;i>n;n++)r[n].transitionTo(e,t)},push:function(){this.length+=arguments.length;var e=this.views;return e.push.apply(e,arguments)},objectAt:function(e){return this.views[e]},forEach:function(e){var t=this.views;return s(t,e)},clear:function(){this.length=0,this.views.length=0}};var c=[];Ember.View=Ember.CoreView.extend({concatenatedProperties:["classNames","classNameBindings","attributeBindings"],isView:!0,templateName:null,layoutName:null,templates:Ember.TEMPLATES,template:Ember.computed(function(e,t){if(void 0!==t)return t;var n=r(this,"templateName"),i=this.templateForName(n,"template");return i||r(this,"defaultTemplate")}).property("templateName"),controller:Ember.computed(function(){var e=r(this,"_parentView");return e?r(e,"controller"):null}).property("_parentView"),layout:Ember.computed(function(){var e=r(this,"layoutName"),t=this.templateForName(e,"layout");return t||r(this,"defaultLayout")}).property("layoutName"),templateForName:function(e){if(e){var t=this.container||Ember.Container&&Ember.Container.defaultContainer;return t&&t.lookup("template:"+e)}},context:Ember.computed(function(e,t){return 2===arguments.length?(n(this,"_context",t),t):r(this,"_context")}).volatile(),parentContext:function(){var e=r(this,"_parentView");return e&&r(e,"_context")},_context:Ember.computed(function(){var e,t;return(t=r(this,"controller"))?t:(e=this._parentView,e?r(e,"_context"):null)}),_contextDidChange:Ember.observer(function(){this.rerender()},"context"),isVisible:!0,childViews:a,_childViews:c,_childViewsWillChange:Ember.beforeObserver(function(){if(this.isVirtual){var e=r(this,"parentView");e&&Ember.propertyWillChange(e,"childViews")}},"childViews"),_childViewsDidChange:Ember.observer(function(){if(this.isVirtual){var e=r(this,"parentView");e&&Ember.propertyDidChange(e,"childViews")}},"childViews"),nearestInstanceOf:function(e){for(var t=r(this,"parentView");t;){if(t instanceof e)return t;t=r(t,"parentView")}},nearestOfType:function(e){for(var t=r(this,"parentView"),n=e instanceof Ember.Mixin?function(t){return e.detect(t)}:function(t){return e.detect(t.constructor)};t;){if(n(t))return t;t=r(t,"parentView")}},nearestWithProperty:function(e){for(var t=r(this,"parentView");t;){if(e in t)return t;t=r(t,"parentView")}},nearestChildOf:function(e){for(var t=r(this,"parentView");t;){if(r(t,"parentView")instanceof e)return t;t=r(t,"parentView")}},_parentViewDidChange:Ember.observer(function(){this.isDestroying||(this.trigger("parentViewDidChange"),r(this,"parentView.controller")&&!r(this,"controller")&&this.notifyPropertyChange("controller"))},"_parentView"),_controllerDidChange:Ember.observer(function(){this.isDestroying||(this.rerender(),this.forEachChildView(function(e){e.propertyDidChange("controller")}))},"controller"),cloneKeywords:function(){var e=r(this,"templateData"),t=e?Ember.copy(e.keywords):{};return n(t,"view",r(this,"concreteView")),n(t,"_view",this),n(t,"controller",r(this,"controller")),t},render:function(e){var t=r(this,"layout")||r(this,"template");if(t){var n,i=r(this,"context"),s=this.cloneKeywords(),o={view:this,buffer:e,isRenderData:!0,keywords:s,insideGroup:r(this,"templateData.insideGroup")};n=t(i,{data:o}),void 0!==n&&e.push(n)}},rerender:function(){return this.currentState.rerender(this)},clearRenderedChildren:function(){for(var e=this.lengthBeforeRender,t=this.lengthAfterRender,r=this._childViews,n=t-1;n>=e;n--)r[n]&&r[n].destroy()},_applyClassNameBindings:function(e){var t,r,n,i=this.classNames;s(e,function(e){var s,a=Ember.View._parsePropertyPath(e),u=function(){r=this._classStringForProperty(e),t=this.$(),s&&(t.removeClass(s),i.removeObject(s)),r?(t.addClass(r),s=r):s=null};n=this._classStringForProperty(e),n&&(o(i,n),s=n),this.registerObserver(this,a.path,u),this.one("willClearRender",function(){s&&(i.removeObject(s),s=null)})},this)},_applyAttributeBindings:function(e,t){var n,i;s(t,function(t){var s=t.split(":"),o=s[0],a=s[1]||o,u=function(){i=this.$(),n=r(this,o),Ember.View.applyAttributeBindings(i,a,n)};this.registerObserver(this,o,u),n=r(this,o),Ember.View.applyAttributeBindings(e,a,n)},this)},_classStringForProperty:function(e){var t=Ember.View._parsePropertyPath(e),n=t.path,i=r(this,n);return void 0===i&&Ember.isGlobalPath(n)&&(i=r(Ember.lookup,n)),Ember.View._classStringForValue(n,i,t.className,t.falsyClassName)},element:Ember.computed(function(e,t){return void 0!==t?this.currentState.setElement(this,t):this.currentState.getElement(this)}).property("_parentView"),$:function(e){return this.currentState.$(this,e)},mutateChildViews:function(e){for(var t,r=this._childViews,n=r.length;--n>=0;)t=r[n],e(this,t,n);return this},forEachChildView:function(e){var t=this._childViews;if(!t)return this;var r,n,i=t.length;for(n=0;i>n;n++)r=t[n],e(r);return this},appendTo:function(e){return this._insertElementLater(function(){this.$().appendTo(e)}),this},replaceIn:function(e){return this._insertElementLater(function(){Ember.$(e).empty(),this.$().appendTo(e)}),this},_insertElementLater:function(e){this._scheduledInsert=Ember.run.scheduleOnce("render",this,"_insertElement",e)},_insertElement:function(e){this._scheduledInsert=null,this.currentState.insertElement(this,e)},append:function(){return this.appendTo(document.body)},remove:function(){this.removedFromDOM||this.destroyElement(),this.invokeRecursively(function(e){e.clearRenderedChildren&&e.clearRenderedChildren()})},elementId:null,findElementInParentElement:function(e){var t="#"+this.elementId;return Ember.$(t)[0]||Ember.$(t,e)[0]},createElement:function(){if(r(this,"element"))return this;var e=this.renderToBuffer();return n(this,"element",e.element()),this},willInsertElement:Ember.K,didInsertElement:Ember.K,willClearRender:Ember.K,invokeRecursively:function(e,t){for(var r,n,i,s=t===!1?this._childViews:[this];s.length;){r=s.slice(),s=[];for(var o=0,a=r.length;a>o;o++)n=r[o],i=n._childViews?n._childViews.slice(0):null,e(n),i&&s.push.apply(s,i)}},triggerRecursively:function(e){for(var t,r,n,i=[this];i.length;){t=i.slice(),i=[];for(var s=0,o=t.length;o>s;s++)r=t[s],n=r._childViews?r._childViews.slice(0):null,r.trigger&&r.trigger(e),n&&i.push.apply(i,n)}},viewHierarchyCollection:function(){for(var e,t=new u([this]),r=0;r<t.length;r++)e=t.objectAt(r),e._childViews&&t.push.apply(t,e._childViews);return t},destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:Ember.K,_notifyWillDestroyElement:function(){var e=this.viewHierarchyCollection();return e.trigger("willClearRender"),e.trigger("willDestroyElement"),e},_elementWillChange:Ember.beforeObserver(function(){this.forEachChildView(function(e){Ember.propertyWillChange(e,"element")})},"element"),_elementDidChange:Ember.observer(function(){this.forEachChildView(function(e){Ember.propertyDidChange(e,"element")})},"element"),parentViewDidChange:Ember.K,instrumentName:"view",instrumentDetails:function(e){e.template=r(this,"templateName"),this._super(e)},_renderToBuffer:function(e,t){this.lengthBeforeRender=this._childViews.length;var r=this._super(e,t);return this.lengthAfterRender=this._childViews.length,r},renderToBufferIfNeeded:function(e){return this.currentState.renderToBufferIfNeeded(this,e)},beforeRender:function(e){this.applyAttributesToBuffer(e),e.pushOpeningTag()},afterRender:function(e){e.pushClosingTag()},applyAttributesToBuffer:function(e){var t=r(this,"classNameBindings");t.length&&this._applyClassNameBindings(t);var n=r(this,"attributeBindings");n.length&&this._applyAttributeBindings(e,n),e.setClasses(this.classNames),e.id(this.elementId);var i=r(this,"ariaRole");i&&e.attr("role",i),r(this,"isVisible")===!1&&e.style("display","none")},tagName:null,ariaRole:null,classNames:["ember-view"],classNameBindings:c,attributeBindings:c,init:function(){this.elementId=this.elementId||i(this),this._super(),this._childViews=this._childViews.slice(),this.classNameBindings=Ember.A(this.classNameBindings.slice()),this.classNames=Ember.A(this.classNames.slice());var e=r(this,"viewController");e&&(e=r(e),e&&n(e,"view",this))},appendChild:function(e,t){return this.currentState.appendChild(this,e,t)},removeChild:function(e){if(!this.isDestroying){n(e,"_parentView",null);var t=this._childViews;return Ember.EnumerableUtils.removeObject(t,e),this.propertyDidChange("childViews"),this}},removeAllChildren:function(){return this.mutateChildViews(function(e,t){e.removeChild(t)})},destroyAllChildren:function(){return this.mutateChildViews(function(e,t){t.destroy()})},removeFromParent:function(){var e=this._parentView;return this.remove(),e&&e.removeChild(this),this},destroy:function(){var e,t,n=this._childViews,i=r(this,"parentView"),s=this.viewName;if(this._super()){for(e=n.length,t=e-1;t>=0;t--)n[t].removedFromDOM=!0;for(s&&i&&i.set(s,null),e=n.length,t=e-1;t>=0;t--)n[t].destroy();return this}},createChildView:function(e,t){return e.isView&&e._parentView===this&&e.container===this.container?e:(t=t||{},t._parentView=this,t.container=this.container,Ember.CoreView.detect(e)?(t.templateData=t.templateData||r(this,"templateData"),e=e.create(t),e.viewName&&n(r(this,"concreteView"),e.viewName,e)):(Ember.setProperties(e,t),r(e,"templateData")||n(e,"templateData",r(this,"templateData"))),e)},becameVisible:Ember.K,becameHidden:Ember.K,_isVisibleDidChange:Ember.observer(function(){var e=this.$();if(e){var t=r(this,"isVisible");e.toggle(t),this._isAncestorHidden()||(t?this._notifyBecameVisible():this._notifyBecameHidden())}},"isVisible"),_notifyBecameVisible:function(){this.trigger("becameVisible"),this.forEachChildView(function(e){var t=r(e,"isVisible");(t||null===t)&&e._notifyBecameVisible()})},_notifyBecameHidden:function(){this.trigger("becameHidden"),this.forEachChildView(function(e){var t=r(e,"isVisible");(t||null===t)&&e._notifyBecameHidden()})},_isAncestorHidden:function(){for(var e=r(this,"parentView");e;){if(r(e,"isVisible")===!1)return!0;e=r(e,"parentView")}return!1},clearBuffer:function(){this.invokeRecursively(function(e){e.buffer=null})},transitionTo:function(e,t){var r=this.currentState,n=this.currentState=this.states[e];this.state=e,r&&r.exit&&r.exit(this),n.enter&&n.enter(this),t!==!1&&this.forEachChildView(function(t){t.transitionTo(e)})},handleEvent:function(e,t){return this.currentState.handleEvent(this,e,t)},registerObserver:function(e,t,r,n){n||"function"!=typeof r||(n=r,r=null);var i=this,s=function(){i.currentState.invokeObserver(this,n)},o=function(){Ember.run.scheduleOnce("render",this,s)};Ember.addObserver(e,t,r,o),this.one("willClearRender",function(){Ember.removeObserver(e,t,r,o)})}});var l={prepend:function(t,r){t.$().prepend(r),e()},after:function(t,r){t.$().after(r),e()},html:function(t,r){t.$().html(r),e()},replace:function(t){var i=r(t,"element");n(t,"element",null),t._insertElementLater(function(){Ember.$(i).replaceWith(r(t,"element")),e()})},remove:function(t){t.$().remove(),e()},empty:function(t){t.$().empty(),e()}};Ember.View.reopen({domManager:l}),Ember.View.reopenClass({_parsePropertyPath:function(e){var t,r,n=e.split(":"),i=n[0],s="";return n.length>1&&(t=n[1],3===n.length&&(r=n[2]),s=":"+t,r&&(s+=":"+r)),{path:i,classNames:s,className:""===t?void 0:t,falsyClassName:r}},_classStringForValue:function(e,t,r,n){if(r||n)return r&&t?r:n&&!t?n:null;if(t===!0){var i=e.split(".");return Ember.String.dasherize(i[i.length-1])}return t!==!1&&null!=t?t:null}});var h=Ember.Object.extend(Ember.Evented).create();Ember.View.addMutationListener=function(e){h.on("change",e)},Ember.View.removeMutationListener=function(e){h.off("change",e)},Ember.View.notifyMutationListeners=function(){h.trigger("change")},Ember.View.views={},Ember.View.childViewsProperty=a,Ember.View.applyAttributeBindings=function(e,t,r){var n=Ember.typeOf(r);"value"===t||"string"!==n&&("number"!==n||isNaN(r))?"value"===t||"boolean"===n?(Ember.isNone(r)&&(r=""),r!==e.prop(t)&&e.prop(t,r)):r||e.removeAttr(t):r!==e.attr(t)&&e.attr(t,r)},Ember.View.states=t}(),function(){var e=(Ember.get,Ember.set);Ember.View.states._default={appendChild:function(){throw"You can't use appendChild outside of the rendering process"},$:function(){return void 0},getElement:function(){return null},handleEvent:function(){return!0},destroyElement:function(t){return e(t,"element",null),t._scheduledInsert&&(Ember.run.cancel(t._scheduledInsert),t._scheduledInsert=null),t},renderToBufferIfNeeded:function(){return!1},rerender:Ember.K,invokeObserver:Ember.K}}(),function(){var e=Ember.View.states.preRender=Ember.create(Ember.View.states._default);Ember.merge(e,{insertElement:function(e,t){e.createElement();var r=e.viewHierarchyCollection();r.trigger("willInsertElement"),t.call(e),r.transitionTo("inDOM",!1),r.trigger("didInsertElement")},renderToBufferIfNeeded:function(e,t){return e.renderToBuffer(t),!0},empty:Ember.K,setElement:function(e,t){return null!==t&&e.transitionTo("hasElement"),t}})}(),function(){Ember.get,Ember.set;var e=Ember.View.states.inBuffer=Ember.create(Ember.View.states._default);Ember.merge(e,{$:function(e){return e.rerender(),Ember.$()},rerender:function(){throw new Ember.Error("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(e,t,r){var n=e.buffer,i=e._childViews;return t=e.createChildView(t,r),i.length||(i=e._childViews=i.slice()),i.push(t),t.renderToBuffer(n),e.propertyDidChange("childViews"),t},destroyElement:function(e){e.clearBuffer();var t=e._notifyWillDestroyElement();return t.transitionTo("preRender",!1),e},empty:function(){},renderToBufferIfNeeded:function(){return!1},insertElement:function(){throw"You can't insert an element that has already been rendered"},setElement:function(e,t){return null===t?e.transitionTo("preRender"):(e.clearBuffer(),e.transitionTo("hasElement")),t},invokeObserver:function(e,t){t.call(e)}})}(),function(){var e=Ember.get,t=Ember.set,r=Ember.View.states.hasElement=Ember.create(Ember.View.states._default);Ember.merge(r,{$:function(t,r){var n=e(t,"element");return r?Ember.$(r,n):Ember.$(n)},getElement:function(t){var r=e(t,"parentView");return r&&(r=e(r,"element")),r?t.findElementInParentElement(r):Ember.$("#"+e(t,"elementId"))[0]},setElement:function(e,t){if(null!==t)throw"You cannot set an element to a non-null value when the element is already in the DOM.";return e.transitionTo("preRender"),t},rerender:function(e){return e.triggerRecursively("willClearRender"),e.clearRenderedChildren(),e.domManager.replace(e),e},destroyElement:function(e){return e._notifyWillDestroyElement(),e.domManager.remove(e),t(e,"element",null),e._scheduledInsert&&(Ember.run.cancel(e._scheduledInsert),e._scheduledInsert=null),e},empty:function(e){var t,r,n=e._childViews;if(n)for(t=n.length,r=0;t>r;r++)n[r]._notifyWillDestroyElement();e.domManager.empty(e)},handleEvent:function(e,t,r){return e.has(t)?e.trigger(t,r):!0},invokeObserver:function(e,t){t.call(e)}});var n=Ember.View.states.inDOM=Ember.create(r);Ember.merge(n,{enter:function(e){e.isVirtual||(Ember.View.views[e.elementId]=e),e.addBeforeObserver("elementId",function(){throw new Error("Changing a view's elementId after creation is not allowed")})},exit:function(e){this.isVirtual||delete Ember.View.views[e.elementId]},insertElement:function(){throw"You can't insert an element into the DOM that has already been inserted"}})}(),function(){var e="You can't call %@ on a view being destroyed",t=Ember.String.fmt,r=Ember.View.states.destroying=Ember.create(Ember.View.states._default);Ember.merge(r,{appendChild:function(){throw t(e,["appendChild"])},rerender:function(){throw t(e,["rerender"])},destroyElement:function(){throw t(e,["destroyElement"])},empty:function(){throw t(e,["empty"])},setElement:function(){throw t(e,["set('element', ...)"])},renderToBufferIfNeeded:function(){return!1},insertElement:Ember.K})}(),function(){Ember.View.cloneStates=function(e){var t={};t._default={},t.preRender=Ember.create(t._default),t.destroying=Ember.create(t._default),t.inBuffer=Ember.create(t._default),t.hasElement=Ember.create(t._default),t.inDOM=Ember.create(t.hasElement);for(var r in e)e.hasOwnProperty(r)&&Ember.merge(t[r],e[r]);return t}}(),function(){function e(e,t,r,n){t.triggerRecursively("willInsertElement"),r?r.domManager.after(r,n.string()):e.domManager.prepend(e,n.string()),t.forEach(function(e){e.transitionTo("inDOM"),e.propertyDidChange("element"),e.triggerRecursively("didInsertElement")})}var t=Ember.View.cloneStates(Ember.View.states),r=Ember.get,n=Ember.set,i=Ember.EnumerableUtils.forEach,s=Ember._ViewCollection;Ember.ContainerView=Ember.View.extend(Ember.MutableArray,{states:t,init:function(){this._super();var e=r(this,"childViews");Ember.defineProperty(this,"childViews",Ember.View.childViewsProperty);var t=this._childViews;i(e,function(e,i){var s;"string"==typeof e?(s=r(this,e),s=this.createChildView(s),n(this,e,s)):s=this.createChildView(e),t[i]=s},this);var s=r(this,"currentView");s&&(t.length||(t=this._childViews=this._childViews.slice()),t.push(this.createChildView(s)))},replace:function(e,t,n){var i=n?r(n,"length"):0;if(this.arrayContentWillChange(e,t,i),this.childViewsWillChange(this._childViews,e,t),0===i)this._childViews.splice(e,t);else{var s=[e,t].concat(n);n.length&&!this._childViews.length&&(this._childViews=this._childViews.slice()),this._childViews.splice.apply(this._childViews,s)}return this.arrayContentDidChange(e,t,i),this.childViewsDidChange(this._childViews,e,t,i),this},objectAt:function(e){return this._childViews[e]},length:Ember.computed(function(){return this._childViews.length}),render:function(e){this.forEachChildView(function(t){t.renderToBuffer(e)})},instrumentName:"container",childViewsWillChange:function(e,t,r){if(this.propertyWillChange("childViews"),r>0){var n=e.slice(t,t+r);this.currentState.childViewsWillChange(this,e,t,r),this.initializeViews(n,null,null)}},removeChild:function(e){return this.removeObject(e),this},childViewsDidChange:function(e,t,n,i){if(i>0){var s=e.slice(t,t+i);this.initializeViews(s,this,r(this,"templateData")),this.currentState.childViewsDidChange(this,e,t,i)}this.propertyDidChange("childViews")},initializeViews:function(e,t,s){i(e,function(e){n(e,"_parentView",t),n(e,"container",t&&t.container),r(e,"templateData")||n(e,"templateData",s)})},currentView:null,_currentViewWillChange:Ember.beforeObserver(function(){var e=r(this,"currentView");e&&e.destroy()},"currentView"),_currentViewDidChange:Ember.observer(function(){var e=r(this,"currentView");e&&this.pushObject(e)},"currentView"),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}}),Ember.merge(t._default,{childViewsWillChange:Ember.K,childViewsDidChange:Ember.K,ensureChildrenAreInDOM:Ember.K}),Ember.merge(t.inBuffer,{childViewsDidChange:function(){throw new Error("You cannot modify child views while in the inBuffer state")}}),Ember.merge(t.hasElement,{childViewsWillChange:function(e,t,r,n){for(var i=r;r+n>i;i++)t[i].remove()},childViewsDidChange:function(e){Ember.run.scheduleOnce("render",e,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(t){var r,n,i,o,a,u=t._childViews,c=new s;for(r=0,n=u.length;n>r;r++)i=u[r],a||(a=Ember.RenderBuffer(),a._hasElement=!1),i.renderToBufferIfNeeded(a)?c.push(i):c.length?(e(t,c,o,a),a=null,o=i,c.clear()):o=i;c.length&&e(t,c,o,a)}})}(),function(){var e=Ember.get,t=Ember.set;Ember.String.fmt,Ember.CollectionView=Ember.ContainerView.extend({content:null,emptyViewClass:Ember.View,emptyView:null,itemViewClass:Ember.View,init:function(){var e=this._super();return this._contentDidChange(),e},_contentWillChange:Ember.beforeObserver(function(){var t=this.get("content");t&&t.removeArrayObserver(this);var r=t?e(t,"length"):0;this.arrayWillChange(t,0,r)},"content"),_contentDidChange:Ember.observer(function(){var t=e(this,"content");t&&(this._assertArrayLike(t),t.addArrayObserver(this));var r=t?e(t,"length"):0;this.arrayDidChange(t,0,null,r)},"content"),_assertArrayLike:function(){},destroy:function(){if(this._super()){var t=e(this,"content");return t&&t.removeArrayObserver(this),this._createdEmptyView&&this._createdEmptyView.destroy(),this}},arrayWillChange:function(t,r,n){var i=e(this,"emptyView");i&&i instanceof Ember.View&&i.removeFromParent();var s,o,a,u=this._childViews;a=this._childViews.length;var c=n===a;for(c&&(this.currentState.empty(this),this.invokeRecursively(function(e){e.removedFromDOM=!0},!1)),o=r+n-1;o>=r;o--)s=u[o],s.destroy()},arrayDidChange:function(r,n,i,s){var o,a,u,c,l=e(this,"itemViewClass"),h=[];if("string"==typeof l&&(l=e(l)),c=r?e(r,"length"):0)for(u=n;n+s>u;u++)a=r.objectAt(u),o=this.createChildView(l,{content:a,contentIndex:u}),h.push(o);else{var m=e(this,"emptyView");if(!m)return;var f=Ember.CoreView.detect(m);m=this.createChildView(m),h.push(m),t(this,"emptyView",m),f&&(this._createdEmptyView=m)}this.replace(n,0,h)},createChildView:function(r,n){r=this._super(r,n);var i=e(r,"tagName"),s=null===i||void 0===i?Ember.CollectionView.CONTAINER_MAP[e(this,"tagName")]:i;return t(r,"tagName",s),r}}),Ember.CollectionView.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"}}(),function(){var e=Ember.get,t=Ember.set;Ember.isNone,Ember.Component=Ember.View.extend(Ember.TargetActionSupport,{init:function(){this._super(),t(this,"context",this),t(this,"controller",this),t(this,"templateData",{keywords:{}})},targetObject:Ember.computed(function(){var t=e(this,"_parentView");return t?e(t,"controller"):null}).property("_parentView"),sendAction:function(t){var r;r=void 0===t?e(this,"action"):e(this,t),void 0!==r&&this.triggerAction({action:r})}})}(),function(){Ember.ViewTargetActionSupport=Ember.Mixin.create(Ember.TargetActionSupport,{target:Ember.computed.alias("controller"),actionContext:Ember.computed.alias("context")})}(),function(){var e=Ember.get,t=Ember.set;Ember.State=Ember.Object.extend(Ember.Evented,{parentState:null,start:null,name:null,path:Ember.computed(function(){var t=e(this,"parentState.path"),r=e(this,"name");return t&&(r=t+"."+r),r}),trigger:function(e){this[e]&&this[e].apply(this,[].slice.call(arguments,1)),this._super.apply(this,arguments)},init:function(){var r=e(this,"states");t(this,"childStates",Ember.A()),t(this,"eventTransitions",e(this,"eventTransitions")||{});var n,i,s;if(r)for(n in r)this.setupChild(r,n,r[n]);else{r={};for(n in this)"constructor"!==n&&(i=this[n])&&((s=i.transitionTarget)&&(this.eventTransitions[n]=s),this.setupChild(r,n,i));t(this,"states",r)}t(this,"pathsCaches",{})},setPathsCache:function(t,r,n){var i=Ember.guidFor(t.constructor),s=e(this,"pathsCaches"),o=s[i]||{};o[r]=n,s[i]=o},getPathsCache:function(t,r){var n=Ember.guidFor(t.constructor),i=e(this,"pathsCaches"),s=i[n]||{};return s[r]},setupChild:function(r,n,i){if(!i)return!1;var s;return i instanceof Ember.State?(t(i,"name",n),s=i,s.container=this.container):Ember.State.detect(i)&&(s=i.create({name:n,container:this.container})),s instanceof Ember.State?(t(s,"parentState",this),e(this,"childStates").pushObject(s),r[n]=s,s):void 0},lookupEventTransition:function(e){for(var t,r=this;r&&!t;)t=r.eventTransitions[e],r=r.get("parentState");return t},isLeaf:Ember.computed(function(){return!e(this,"childStates").length}),hasContext:!0,setup:Ember.K,enter:Ember.K,exit:Ember.K}),Ember.State.reopenClass({transitionTo:function(e){var t=function(t,r){var n=[],i=Ember.$&&Ember.$.Event;r&&i&&r instanceof i?r.hasOwnProperty("contexts")&&(n=r.contexts.slice()):n=[].slice.call(arguments,1),n.unshift(e),t.transitionTo.apply(t,n)};return t.transitionTarget=e,t}})}(),function(){var e=Ember.get,t=Ember.set,r=Ember.String.fmt,n=Ember.ArrayPolyfills.forEach,i=function(e){this.enterStates=e.enterStates.slice(),this.exitStates=e.exitStates.slice(),this.resolveState=e.resolveState,this.finalState=e.enterStates[e.enterStates.length-1]||e.resolveState};i.prototype={normalize:function(e,t){return this.matchContextsToStates(t),this.addInitialStates(),this.removeUnchangedContexts(e),this},matchContextsToStates:function(t){for(var r,n,i=this.enterStates.length-1,s=[];t.length>0;){if(i>=0)r=this.enterStates[i--];else{if(this.enterStates.length){if(r=e(this.enterStates[0],"parentState"),!r)throw"Cannot match all contexts to states"
|
19
|
+
}else r=this.resolveState;this.enterStates.unshift(r),this.exitStates.unshift(r)}n=e(r,"hasContext")?t.pop():null,s.unshift(n)}this.contexts=s},addInitialStates:function(){for(var t,r=this.finalState;;){if(t=e(r,"initialState")||"start",r=e(r,"states."+t),!r)break;this.finalState=r,this.enterStates.push(r),this.contexts.push(void 0)}},removeUnchangedContexts:function(e){for(;this.enterStates.length>0&&this.enterStates[0]===this.exitStates[0];){if(this.enterStates.length===this.contexts.length){if(e.getStateMeta(this.enterStates[0],"context")!==this.contexts[0])break;this.contexts.shift()}this.resolveState=this.enterStates.shift(),this.exitStates.shift()}}};var s=function(t,n,i){var a,u,c,l=this.enableLogging,h=i?"unhandledEvent":t,m=n[h];if(a=[].slice.call(arguments,3),"function"==typeof m)return l&&(i?Ember.Logger.log(r("STATEMANAGER: Unhandled event '%@' being sent to state %@.",[t,e(n,"path")])):Ember.Logger.log(r("STATEMANAGER: Sending event '%@' to state %@.",[t,e(n,"path")]))),c=a,i&&c.unshift(t),c.unshift(this),m.apply(n,c);var f=e(n,"parentState");return f?(u=a,u.unshift(t,f,i),s.apply(this,u)):i?void 0:o.call(this,t,a,!0)},o=function(t,r,n){return r.unshift(t,e(this,"currentState"),n),s.apply(this,r)};Ember.StateManager=Ember.State.extend({init:function(){this._super(),t(this,"stateMeta",Ember.Map.create());var r=e(this,"initialState");!r&&e(this,"states.start")&&(r="start"),r&&this.transitionTo(r)},stateMetaFor:function(t){var r=e(this,"stateMeta"),n=r.get(t);return n||(n={},r.set(t,n)),n},setStateMeta:function(e,r,n){return t(this.stateMetaFor(e),r,n)},getStateMeta:function(t,r){return e(this.stateMetaFor(t),r)},currentState:null,currentPath:Ember.computed.alias("currentState.path"),transitionEvent:"setup",errorOnUnhandledEvent:!0,send:function(e){var t=[].slice.call(arguments,1);return o.call(this,e,t,!1)},unhandledEvent:function(t,r){if(e(this,"errorOnUnhandledEvent"))throw new Ember.Error(this.toString()+" could not respond to event "+r+" in state "+e(this,"currentState.path")+".")},getStateByPath:function(t,r){for(var n=r.split("."),i=t,s=0,o=n.length;o>s&&(i=e(e(i,"states"),n[s]),i);s++);return i},findStateByPath:function(t,r){for(var n;!n&&t;)n=this.getStateByPath(t,r),t=e(t,"parentState");return n},getStatesInPath:function(t,r){if(!r||""===r)return void 0;for(var n,i,s=r.split("."),o=[],a=0,u=s.length;u>a;a++){if(n=e(t,"states"),!n)return void 0;if(i=e(n,s[a]),!i)return void 0;t=i,o.push(i)}return o},goToState:function(){return this.transitionTo.apply(this,arguments)},transitionTo:function(t,r){if(!Ember.isEmpty(t)){var n=r?Array.prototype.slice.call(arguments,1):[],s=e(this,"currentState")||this,o=this.contextFreeTransition(s,t),a=new i(o).normalize(this,n);this.enterState(a),this.triggerSetupContext(a)}},contextFreeTransition:function(t,r){var n=t.getPathsCache(this,r);if(n)return n;for(var i=this.getStatesInPath(t,r),s=[],o=t;o&&!i;){if(s.unshift(o),o=e(o,"parentState"),!o&&(i=this.getStatesInPath(this,r),!i))return;i=this.getStatesInPath(o,r)}for(;i.length>0&&i[0]===s[0];)o=i.shift(),s.shift();var a={exitStates:s,enterStates:i,resolveState:o};return t.setPathsCache(this,r,a),a},triggerSetupContext:function(t){var r=t.contexts,i=t.enterStates.length-r.length,s=t.enterStates,o=e(this,"transitionEvent");n.call(s,function(e,t){e.trigger(o,this,r[t-i])},this)},getState:function(t){var r=e(this,t),n=e(this,"parentState");return r?r:n?n.getState(t):void 0},enterState:function(r){var i=this.enableLogging,s=r.exitStates.slice(0).reverse();n.call(s,function(e){e.trigger("exit",this)},this),n.call(r.enterStates,function(t){i&&Ember.Logger.log("STATEMANAGER: Entering "+e(t,"path")),t.trigger("enter",this)},this),t(this,"currentState",r.finalState)}})}(),function(){e("metamorph",[],function(){"use strict";// Copyright: ©2011 My Company Inc. All rights reserved.
|
20
|
+
var e=function(){},t=0,r=this.document,n=r&&"createRange"in r&&"undefined"!=typeof Range&&Range.prototype.createContextualFragment,i=r&&function(){var e=r.createElement("div");return e.innerHTML="<div></div>",e.firstChild.innerHTML="<script></script>",""===e.firstChild.innerHTML}(),s=r&&function(){var e=r.createElement("div");return e.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===e.childNodes[0].nodeValue&&" Value"===e.childNodes[2].nodeValue}(),o=function(r){var n;n=this instanceof o?this:new e,n.innerHTML=r;var i="metamorph-"+t++;return n.start=i+"-start",n.end=i+"-end",n};e.prototype=o.prototype;var a,u,c,l,h,m,f,p,d;if(l=function(){return this.startTag()+this.innerHTML+this.endTag()},p=function(){return"<script id='"+this.start+"' type='text/x-placeholder'></script>"},d=function(){return"<script id='"+this.end+"' type='text/x-placeholder'></script>"},n)a=function(e,t){var n=r.createRange(),i=r.getElementById(e.start),s=r.getElementById(e.end);return t?(n.setStartBefore(i),n.setEndAfter(s)):(n.setStartAfter(i),n.setEndBefore(s)),n},u=function(e,t){var r=a(this,t);r.deleteContents();var n=r.createContextualFragment(e);r.insertNode(n)},c=function(){var e=a(this,!0);e.deleteContents()},h=function(e){var t=r.createRange();t.setStart(e),t.collapse(!1);var n=t.createContextualFragment(this.outerHTML());e.appendChild(n)},m=function(e){var t=r.createRange(),n=r.getElementById(this.end);t.setStartAfter(n),t.setEndAfter(n);var i=t.createContextualFragment(e);t.insertNode(i)},f=function(e){var t=r.createRange(),n=r.getElementById(this.start);t.setStartAfter(n),t.setEndAfter(n);var i=t.createContextualFragment(e);t.insertNode(i)};else{var b={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,"",""]},E=function(e,t){if(e.getAttribute("id")===t)return e;var r,n,i,s=e.childNodes.length;for(r=0;s>r;r++)if(n=e.childNodes[r],i=1===n.nodeType&&E(n,t))return i},v=function(e,t){var n=[];if(s&&(t=t.replace(/(\s+)(<script id='([^']+)')/g,function(e,t,r,i){return n.push([i,t]),r})),e.innerHTML=t,n.length>0){var i,o=n.length;for(i=0;o>i;i++){var a=E(e,n[i][0]),u=r.createTextNode(n[i][1]);a.parentNode.insertBefore(u,a)}}},g=function(e,t){var n=b[e.tagName.toLowerCase()]||b._default,s=n[0],o=n[1],a=n[2];i&&(t="­"+t);var u=r.createElement("div");v(u,o+t+a);for(var c=0;s>=c;c++)u=u.firstChild;if(i){for(var l=u;1===l.nodeType&&!l.nodeName;)l=l.firstChild;3===l.nodeType&&""===l.nodeValue.charAt(0)&&(l.nodeValue=l.nodeValue.slice(1))}return u},y=function(e){for(;""===e.parentNode.tagName;)e=e.parentNode;return e},w=function(e,t){e.parentNode!==t.parentNode&&t.parentNode.insertBefore(e,t.parentNode.firstChild)};u=function(e,t){var n,i,s,o=y(r.getElementById(this.start)),a=r.getElementById(this.end),u=a.parentNode;for(w(o,a),n=o.nextSibling;n;){if(i=n.nextSibling,s=n===a){if(!t)break;a=n.nextSibling}if(n.parentNode.removeChild(n),s)break;n=i}for(n=g(o.parentNode,e);n;)i=n.nextSibling,u.insertBefore(n,a),n=i},c=function(){var e=y(r.getElementById(this.start)),t=r.getElementById(this.end);this.html(""),e.parentNode.removeChild(e),t.parentNode.removeChild(t)},h=function(e){for(var t,r=g(e,this.outerHTML());r;)t=r.nextSibling,e.appendChild(r),r=t},m=function(e){var t,n,i=r.getElementById(this.end),s=i.nextSibling,o=i.parentNode;for(n=g(o,e);n;)t=n.nextSibling,o.insertBefore(n,s),n=t},f=function(e){var t,n,i=r.getElementById(this.start),s=i.parentNode;n=g(s,e);for(var o=i.nextSibling;n;)t=n.nextSibling,s.insertBefore(n,o),n=t}}return o.prototype.html=function(e){return this.checkRemoved(),void 0===e?this.innerHTML:(u.call(this,e),this.innerHTML=e,void 0)},o.prototype.replaceWith=function(e){this.checkRemoved(),u.call(this,e,!0)},o.prototype.remove=c,o.prototype.outerHTML=l,o.prototype.appendTo=h,o.prototype.after=m,o.prototype.prepend=f,o.prototype.startTag=p,o.prototype.endTag=d,o.prototype.isRemoved=function(){var e=r.getElementById(this.start),t=r.getElementById(this.end);return!e||!t},o.prototype.checkRemoved=function(){if(this.isRemoved())throw new Error("Cannot perform operations on a Metamorph that is not in the DOM.")},o})}(),function(){function e(e){var t=e.hash,r=e.hashTypes;for(var n in t)"ID"===r[n]&&(t[n+"Binding"]=t[n],r[n+"Binding"]="STRING",delete t[n],delete r[n])}var t=Object.create||function(e){function t(){}return t.prototype=e,new t},r=this.Handlebars||Ember.imports&&Ember.imports.Handlebars;r||"function"!=typeof require||(r=require("handlebars")),Ember.Handlebars=t(r),Ember.Handlebars.helper=function(t,r){if(Ember.Component.detect(r)){var n=r.proto();n.layoutName||n.templateName||r.reopen({layoutName:"components/"+t})}Ember.View.detect(r)?Ember.Handlebars.registerHelper(t,function(t){return e(t),Ember.Handlebars.helpers.view.call(this,r,t)}):Ember.Handlebars.registerBoundHelper.apply(null,arguments)},Ember.Handlebars.helpers=t(r.helpers),Ember.Handlebars.Compiler=function(){},r.Compiler&&(Ember.Handlebars.Compiler.prototype=t(r.Compiler.prototype)),Ember.Handlebars.Compiler.prototype.compiler=Ember.Handlebars.Compiler,Ember.Handlebars.JavaScriptCompiler=function(){},r.JavaScriptCompiler&&(Ember.Handlebars.JavaScriptCompiler.prototype=t(r.JavaScriptCompiler.prototype),Ember.Handlebars.JavaScriptCompiler.prototype.compiler=Ember.Handlebars.JavaScriptCompiler),Ember.Handlebars.JavaScriptCompiler.prototype.namespace="Ember.Handlebars",Ember.Handlebars.JavaScriptCompiler.prototype.initializeBuffer=function(){return"''"},Ember.Handlebars.JavaScriptCompiler.prototype.appendToBuffer=function(e){return"data.buffer.push("+e+");"};var n="ember"+ +new Date,i=1;Ember.Handlebars.Compiler.prototype.mustache=function(e){if(e.isHelper&&"control"===e.id.string)e.hash=e.hash||new r.AST.HashNode([]),e.hash.pairs.push(["controlID",new r.AST.StringNode(n+i++)]);else if(e.params.length||e.hash);else{var t=new r.AST.IdNode([{part:"_triageMustache"}]);e.escaped||(e.hash=e.hash||new r.AST.HashNode([]),e.hash.pairs.push(["unescaped",new r.AST.StringNode("true")])),e=new r.AST.MustacheNode([t].concat([e.id]),e.hash,!e.escaped)}return r.Compiler.prototype.mustache.call(this,e)},Ember.Handlebars.precompile=function(e){var t=r.parse(e),n={knownHelpers:{action:!0,unbound:!0,bindAttr:!0,template:!0,view:!0,_triageMustache:!0},data:!0,stringParams:!0},i=(new Ember.Handlebars.Compiler).compile(t,n);return(new Ember.Handlebars.JavaScriptCompiler).compile(i,n,void 0,!0)},r.compile&&(Ember.Handlebars.compile=function(e){var t=r.parse(e),n={data:!0,stringParams:!0},i=(new Ember.Handlebars.Compiler).compile(t,n),s=(new Ember.Handlebars.JavaScriptCompiler).compile(i,n,void 0,!0);return Ember.Handlebars.template(s)})}(),function(){function e(e,t,r,i){var s,o,a,u,c,l,h=r.length,m=i.data,f=m.view,p=i.hash,d=p.boundOptions;a=new Ember._SimpleHandlebarsView(null,null,!p.unescaped,m),a.normalizedValue=function(){var s,o=[];for(s in d)d.hasOwnProperty(s)&&(c=n(e,d[s],m),a.path=c.path,a.pathRoot=c.root,p[s]=Ember._SimpleHandlebarsView.prototype.normalizedValue.call(a));for(u=0;h>u;++u)c=r[u],a.path=c.path,a.pathRoot=c.root,o.push(Ember._SimpleHandlebarsView.prototype.normalizedValue.call(a));return o.push(i),t.apply(e,o)},f.appendChild(a),s=[];for(o in d)d.hasOwnProperty(o)&&s.push(n(e,d[o],m));for(s=s.concat(r),u=0,l=s.length;l>u;++u)c=s[u],f.registerObserver(c.root,c.path,a,a.rerender)}function t(e,t,r,n){var i,s,o,a,u=[],c=n.hash,l=c.boundOptions;for(a in l)l.hasOwnProperty(a)&&(c[a]=Ember.Handlebars.get(e,l[a],n));for(i=0,s=r.length;s>i;++i)o=r[i],u.push(Ember.Handlebars.get(e,o.path,n));return u.push(n),t.apply(e,u)}var r=Array.prototype.slice,n=Ember.Handlebars.normalizePath=function(e,t,r){var n,i,s=r&&r.keywords||{};return n=t.split(".",1)[0],s.hasOwnProperty(n)&&(e=s[n],i=!0,t=t===n?"":t.substr(n.length+1)),{root:e,path:t,isKeyword:i}},i=Ember.Handlebars.get=function(e,t,r){var i,s=r&&r.data,o=n(e,t,s);return e=o.root,t=o.path,i=Ember.get(e,t),void 0===i&&e!==Ember.lookup&&Ember.isGlobalPath(t)&&(i=Ember.get(Ember.lookup,t)),i};Ember.Handlebars.getPath=Ember.deprecateFunc("`Ember.Handlebars.getPath` has been changed to `Ember.Handlebars.get` for consistency.",Ember.Handlebars.get),Ember.Handlebars.resolveParams=function(e,t,r){for(var n,s,o=[],a=r.types,u=0,c=t.length;c>u;u++)n=t[u],s=a[u],"ID"===s?o.push(i(e,n,r)):o.push(n);return o},Ember.Handlebars.resolveHash=function(e,t,r){var n,s={},o=r.hashTypes;for(var a in t)t.hasOwnProperty(a)&&(n=o[a],s[a]="ID"===n?i(e,t[a],r):t[a]);return s},Ember.Handlebars.registerHelper("helperMissing",function(e,t){var r,n="";throw r="%@ Handlebars error: Could not find property '%@' on object %@.",t.data&&(n=t.data.view),new Ember.Error(Ember.String.fmt(r,[n,e,this]))}),Ember.Handlebars.registerBoundHelper=function(i,s){function o(){var i,o,u,c,l,h=r.call(arguments,0,-1),m=h.length,f=arguments[arguments.length-1],p=[],d=f.data,b=f.hash,E=d.view,v=f.contexts&&f.contexts[0]||this,g="";b.boundOptions={};for(l in b)b.hasOwnProperty(l)&&Ember.IS_BINDING.test(l)&&"string"==typeof b[l]&&(b.boundOptions[l.slice(0,-7)]=b[l]);for(d.properties=[],c=0;m>c;++c)d.properties.push(h[c]),p.push(n(v,h[c],d));if(d.isUnbound)return t(this,s,p,f);if(0===a.length)return e(v,s,p,f);i=p[0],o=i.root,u=i.path;var y=new Ember._SimpleHandlebarsView(u,o,!f.hash.unescaped,f.data);y.normalizedValue=function(){var e=Ember._SimpleHandlebarsView.prototype.normalizedValue.call(y);return s.call(E,e,f)},E.appendChild(y),E.registerObserver(o,u,y,y.rerender),Ember.isEmpty(u)||(g=u+".");for(var w=0,_=a.length;_>w;w++)E.registerObserver(o,g+a[w],y,y.rerender)}var a=r.call(arguments,2);o._rawFunction=s,Ember.Handlebars.registerHelper(i,o)},Ember.Handlebars.template=function(e){var t=Handlebars.template(e);return t.isTop=!0,t}}(),function(){Ember.String.htmlSafe=function(e){return new Handlebars.SafeString(e)};var e=Ember.String.htmlSafe;(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.String)&&(String.prototype.htmlSafe=function(){return e(this)})}(),function(){Ember.Handlebars.resolvePaths=function(e){for(var t=[],r=e.contexts,n=e.roots,i=e.data,s=0,o=r.length;o>s;s++)t.push(Ember.Handlebars.get(n[s],r[s],{data:i}));return t}}(),function(){function e(){Ember.run.once(Ember.View,"notifyMutationListeners")}Ember.set,Ember.get;var r=t("metamorph"),n={remove:function(t){t.morph.remove(),e()},prepend:function(t,r){t.morph.prepend(r),e()},after:function(t,r){t.morph.after(r),e()},html:function(t,r){t.morph.html(r),e()},replace:function(t){var r=t.morph;t.transitionTo("preRender"),Ember.run.schedule("render",this,function(){if(!t.isDestroying){t.clearRenderedChildren();var n=t.renderToBuffer();t.invokeRecursively(function(e){e.propertyWillChange("element")}),t.triggerRecursively("willInsertElement"),r.replaceWith(n.string()),t.transitionTo("inDOM"),t.invokeRecursively(function(e){e.propertyDidChange("element")}),t.triggerRecursively("didInsertElement"),e()}})},empty:function(t){t.morph.html(""),e()}};Ember._Metamorph=Ember.Mixin.create({isVirtual:!0,tagName:"",instrumentName:"metamorph",init:function(){this._super(),this.morph=r()},beforeRender:function(e){e.push(this.morph.startTag()),e.pushOpeningTag()},afterRender:function(e){e.pushClosingTag(),e.push(this.morph.endTag())},createElement:function(){var e=this.renderToBuffer();this.outerHTML=e.string(),this.clearBuffer()},domManager:n}),Ember._MetamorphView=Ember.View.extend(Ember._Metamorph),Ember._SimpleMetamorphView=Ember.CoreView.extend(Ember._Metamorph)}(),function(){function e(e,t,r,n){this.path=e,this.pathRoot=t,this.isEscaped=r,this.templateData=n,this.morph=s(),this.state="preRender",this.updateId=null}var r=Ember.get,n=Ember.set,i=Ember.Handlebars.get,s=t("metamorph");Ember._SimpleHandlebarsView=e,e.prototype={isVirtual:!0,isView:!0,destroy:function(){this.updateId&&(Ember.run.cancel(this.updateId),this.updateId=null),this.morph=null},propertyWillChange:Ember.K,propertyDidChange:Ember.K,normalizedValue:function(){var e,t,r=this.path,n=this.pathRoot;return""===r?e=n:(t=this.templateData,e=i(n,r,{data:t})),e},renderToBuffer:function(e){var t="";t+=this.morph.startTag(),t+=this.render(),t+=this.morph.endTag(),e.push(t)},render:function(){var e=this.isEscaped,t=this.normalizedValue();return null===t||void 0===t?t="":t instanceof Handlebars.SafeString||(t=String(t)),e&&(t=Handlebars.Utils.escapeExpression(t)),t},rerender:function(){switch(this.state){case"preRender":case"destroying":break;case"inBuffer":throw new Ember.Error("Something you did tried to replace an {{expression}} before it was inserted into the DOM.");case"hasElement":case"inDOM":this.updateId=Ember.run.scheduleOnce("render",this,"update")}return this},update:function(){this.updateId=null,this.morph.html(this.render())},transitionTo:function(e){this.state=e}};var o=Ember.View.cloneStates(Ember.View.states),a=Ember.merge;a(o._default,{rerenderIfNeeded:Ember.K}),a(o.inDOM,{rerenderIfNeeded:function(e){e.normalizedValue()!==e._lastNormalizedValue&&e.rerender()}}),Ember._HandlebarsBoundView=Ember._MetamorphView.extend({instrumentName:"boundHandlebars",states:o,shouldDisplayFunc:null,preserveContext:!1,previousContext:null,displayTemplate:null,inverseTemplate:null,path:null,pathRoot:null,normalizedValue:function(){var e,t,n=r(this,"path"),s=r(this,"pathRoot"),o=r(this,"valueNormalizerFunc");return""===n?e=s:(t=r(this,"templateData"),e=i(s,n,{data:t})),o?o(e):e},rerenderIfNeeded:function(){this.currentState.rerenderIfNeeded(this)},render:function(e){var t=r(this,"isEscaped"),i=r(this,"shouldDisplayFunc"),s=r(this,"preserveContext"),o=r(this,"previousContext"),a=r(this,"inverseTemplate"),u=r(this,"displayTemplate"),c=this.normalizedValue();if(this._lastNormalizedValue=c,i(c))if(n(this,"template",u),s)n(this,"_context",o);else{if(!u)return null===c||void 0===c?c="":c instanceof Handlebars.SafeString||(c=String(c)),t&&(c=Handlebars.Utils.escapeExpression(c)),e.push(c),void 0;n(this,"_context",c)}else a?(n(this,"template",a),s?n(this,"_context",o):n(this,"_context",c)):n(this,"template",function(){return""});return this._super(e)}})}(),function(){function e(e){return!Ember.isNone(e)}function t(e,t,r,n,o,a){var u,c,l,h=t.data,m=t.fn,f=t.inverse,p=h.view,d=this;if(u=s(d,e,h),"object"==typeof this){if(h.insideGroup){c=function(){Ember.run.once(p,"rerender")};var b,E,v=i(d,e,t);v=o?o(v):v,E=r?d:v,n(v)?b=m:f&&(b=f),b(E,{data:t.data})}else{var g=p.createChildView(Ember._HandlebarsBoundView,{preserveContext:r,shouldDisplayFunc:n,valueNormalizerFunc:o,displayTemplate:m,inverseTemplate:f,path:e,pathRoot:d,previousContext:d,isEscaped:!t.hash.unescaped,templateData:t.data});p.appendChild(g),c=function(){Ember.run.scheduleOnce("render",g,"rerenderIfNeeded")}}if(""!==u.path&&(p.registerObserver(u.root,u.path,c),a))for(l=0;l<a.length;l++)p.registerObserver(u.root,u.path+"."+a[l],c)}else h.buffer.push(i(d,e,t))}function r(e,t){var r,n,o=t.data,a=o.view,u=this;if(r=s(u,e,o),"object"==typeof this){if(o.insideGroup){n=function(){Ember.run.once(a,"rerender")};var c=i(u,e,t);(null===c||void 0===c)&&(c=""),o.buffer.push(c)}else{var l=new Ember._SimpleHandlebarsView(e,u,!t.hash.unescaped,t.data);l._parentView=a,a.appendChild(l),n=function(){Ember.run.scheduleOnce("render",l,"rerender")}}""!==r.path&&a.registerObserver(r.root,r.path,n)}else o.buffer.push(i(u,e,t))}var n=Ember.get;Ember.set,Ember.String.fmt;var i=Ember.Handlebars.get,s=Ember.Handlebars.normalizePath,o=Ember.ArrayPolyfills.forEach,a=Ember.Handlebars,u=a.helpers;a.registerHelper("_triageMustache",function(e,t){return u[e]?u[e].call(this,t):u.bind.apply(this,arguments)}),a.registerHelper("bind",function(n,i){var s=i.contexts&&i.contexts[0]||this;return i.fn?t.call(s,n,i,!1,e):r.call(s,n,i)}),a.registerHelper("boundIf",function(e,r){var i=r.contexts&&r.contexts[0]||this,s=function(e){var t=e&&n(e,"isTruthy");return"boolean"==typeof t?t:Ember.isArray(e)?0!==n(e,"length"):!!e};return t.call(i,e,r,!0,s,s,["isTruthy","length"])}),a.registerHelper("with",function(r,n){if(4===arguments.length){var i,o,a,c;if(n=arguments[3],i=arguments[2],o=arguments[0],Ember.isGlobalPath(o))Ember.bind(n.data.keywords,i,o);else{c=s(this,o,n.data),o=c.path,a=c.root;var l=Ember.$.expando+Ember.guidFor(a);n.data.keywords[l]=a;var h=o?l+"."+o:l;Ember.bind(n.data.keywords,i,h)}return t.call(this,o,n,!0,e)}return u.bind.call(n.contexts[0],r,n)}),a.registerHelper("if",function(e,t){return u.boundIf.call(t.contexts[0],e,t)}),a.registerHelper("unless",function(e,t){var r=t.fn,n=t.inverse;return t.fn=n,t.inverse=r,u.boundIf.call(t.contexts[0],e,t)}),a.registerHelper("bindAttr",function(e){var t=e.hash,r=e.data.view,n=[],u=this,c=++Ember.uuid,l=t["class"];if(null!=l){var h=a.bindClasses(this,l,r,c,e);n.push('class="'+Handlebars.Utils.escapeExpression(h.join(" "))+'"'),delete t["class"]}var m=Ember.keys(t);return o.call(m,function(o){var a,l=t[o];a=s(u,l,e.data);var h,m,f="this"===l?a.root:i(u,l,e),p=Ember.typeOf(f);h=function(){var t=i(u,l,e),n=r.$("[data-bindattr-"+c+"='"+c+"']");return n&&0!==n.length?(Ember.View.applyAttributeBindings(n,o,t),void 0):(Ember.removeObserver(a.root,a.path,m),void 0)},"this"===l||a.isKeyword&&""===a.path||r.registerObserver(a.root,a.path,h),"string"===p||"number"===p&&!isNaN(f)?n.push(o+'="'+Handlebars.Utils.escapeExpression(f)+'"'):f&&"boolean"===p&&n.push(o+'="'+o+'"')},this),n.push("data-bindattr-"+c+'="'+c+'"'),new a.SafeString(n.join(" "))}),a.bindClasses=function(e,t,r,n,a){var u,c,l,h=[],m=function(e,t,r){var n,s=t.path;return n="this"===s?e:""===s?!0:i(e,s,r),Ember.View._classStringForValue(s,n,t.className,t.falsyClassName)};return o.call(t.split(" "),function(t){var i,o,f,p,d=Ember.View._parsePropertyPath(t),b=d.path,E=e;""!==b&&"this"!==b&&(p=s(e,b,a.data),E=p.root,b=p.path),o=function(){u=m(e,d,a),l=n?r.$("[data-bindattr-"+n+"='"+n+"']"):r.$(),l&&0!==l.length?(i&&l.removeClass(i),u?(l.addClass(u),i=u):i=null):Ember.removeObserver(E,b,f)},""!==b&&"this"!==b&&r.registerObserver(E,b,o),c=m(e,d,a),c&&(h.push(c),i=c)}),h}}(),function(){Ember.get,Ember.set;var e=Ember.Handlebars,t=/^[a-z]/,r=/^view\./;e.ViewHelper=Ember.Object.create({propertiesFromHTMLOptions:function(e){var t=e.hash,r=e.data,n={},i=t["class"],s=!1;t.id&&(n.elementId=t.id,s=!0),t.tag&&(n.tagName=t.tag,s=!0),i&&(i=i.split(" "),n.classNames=i,s=!0),t.classBinding&&(n.classNameBindings=t.classBinding.split(" "),s=!0),t.classNameBindings&&(void 0===n.classNameBindings&&(n.classNameBindings=[]),n.classNameBindings=n.classNameBindings.concat(t.classNameBindings.split(" ")),s=!0),t.attributeBindings&&(n.attributeBindings=null,s=!0),s&&(t=Ember.$.extend({},t),delete t.id,delete t.tag,delete t["class"],delete t.classBinding);var o;for(var a in t)t.hasOwnProperty(a)&&Ember.IS_BINDING.test(a)&&"string"==typeof t[a]&&(o=this.contextualizeBindingPath(t[a],r),o&&(t[a]=o));if(n.classNameBindings)for(var u in n.classNameBindings){var c=n.classNameBindings[u];if("string"==typeof c){var l=Ember.View._parsePropertyPath(c);o=this.contextualizeBindingPath(l.path,r),o&&(n.classNameBindings[u]=o+l.classNames)}}return Ember.$.extend(t,n)},contextualizeBindingPath:function(e,t){var r=Ember.Handlebars.normalizePath(null,e,t);return r.isKeyword?"templateData.keywords."+e:Ember.isGlobalPath(e)?null:"this"===e?"_parentView.context":"_parentView.context."+e},helper:function(n,i,s){var o,a=s.data,u=s.fn;o="string"==typeof i?"STRING"===s.types[0]&&t.test(i)&&!r.test(i)?a.view.container.lookupFactory("view:"+i):e.get(n,i,s):i;var c=this.propertiesFromHTMLOptions(s,n),l=a.view;c.templateData=a;var h=o.proto?o.proto():o;u&&(c.template=u),h.controller||h.controllerBinding||c.controller||c.controllerBinding||(c._context=n),l.appendChild(o,c)}}),e.registerHelper("view",function(t,r){return t&&t.data&&t.data.isRenderData&&(r=t,t="Ember.View"),e.ViewHelper.helper(this,t,r)})}(),function(){var e=Ember.get,t=Ember.Handlebars.get;Ember.String.fmt,Ember.Handlebars.registerHelper("collection",function(r,n){r&&r.data&&r.data.isRenderData&&(n=r,r=void 0);var i=n.fn,s=n.data,o=n.inverse;n.data.view;var a;a=r?t(this,r,n):Ember.CollectionView;var u,c,l=n.hash,h={},m=a.proto();if(l.itemView){var f=s.keywords.controller,p=f.container;c=p.resolve("view:"+Ember.String.camelize(l.itemView))}else c=l.itemViewClass?t(m,l.itemViewClass,n):m.itemViewClass;delete l.itemViewClass,delete l.itemView;for(var d in l)l.hasOwnProperty(d)&&(u=d.match(/^item(.)(.*)$/),u&&"itemController"!==d&&(h[u[1].toLowerCase()+u[2]]=l[d],delete l[d]));i&&(h.template=i,delete n.fn);var b;o&&o!==Handlebars.VM.noop?(b=e(m,"emptyViewClass"),b=b.extend({template:o,tagName:h.tagName})):l.emptyViewClass&&(b=t(this,l.emptyViewClass,n)),b&&(l.emptyView=b),l.keyword||(h._context=Ember.computed.alias("content"));var E=Ember.Handlebars.ViewHelper.propertiesFromHTMLOptions({data:s,hash:h},this);return l.itemViewClass=c.extend(E),Ember.Handlebars.helpers.view.call(this,a,n)})}(),function(){var e=Ember.Handlebars.get;Ember.Handlebars.registerHelper("unbound",function(t,r){var n,i,s,o=arguments[arguments.length-1];return arguments.length>2?(o.data.isUnbound=!0,n=Ember.Handlebars.helpers[arguments[0]]||Ember.Handlebars.helperMissing,s=n.apply(this,Array.prototype.slice.call(arguments,1)),delete o.data.isUnbound,s):(i=r.contexts&&r.contexts[0]||this,e(i,t,r))})}(),function(){var e=Ember.Handlebars.get,t=Ember.Handlebars.normalizePath;Ember.Handlebars.registerHelper("log",function(r,n){var i=n.contexts&&n.contexts[0]||this,s=t(i,r,n.data),o=s.root,a=s.path,u="this"===a?o:e(o,a,n);Ember.Logger.log(u)}),Ember.Handlebars.registerHelper("debugger",function(){})}(),function(){var e=Ember.get,t=Ember.set;Ember.Handlebars.EachView=Ember.CollectionView.extend(Ember._Metamorph,{init:function(){var r,n=e(this,"itemController");if(n){var i=Ember.ArrayController.create();t(i,"itemController",n),t(i,"container",e(this,"controller.container")),t(i,"_eachView",this),t(i,"target",e(this,"controller")),t(i,"parentController",e(this,"controller")),this.disableContentObservers(function(){t(this,"content",i),r=new Ember.Binding("content","_eachView.dataSource").oneWay(),r.connect(i)}),t(this,"_arrayController",i)}else this.disableContentObservers(function(){r=new Ember.Binding("content","dataSource").oneWay(),r.connect(this)});return this._super()},_assertArrayLike:function(){},disableContentObservers:function(e){Ember.removeBeforeObserver(this,"content",null,"_contentWillChange"),Ember.removeObserver(this,"content",null,"_contentDidChange"),e.call(this),Ember.addBeforeObserver(this,"content",null,"_contentWillChange"),Ember.addObserver(this,"content",null,"_contentDidChange")},itemViewClass:Ember._MetamorphView,emptyViewClass:Ember._MetamorphView,createChildView:function(r,n){r=this._super(r,n);var i=e(this,"keyword"),s=e(r,"content");if(i){var o=e(r,"templateData");o=Ember.copy(o),o.keywords=r.cloneKeywords(),t(r,"templateData",o),o.keywords[i]=s}return s&&e(s,"isController")&&t(r,"controller",s),r},destroy:function(){if(this._super()){var t=e(this,"_arrayController");return t&&t.destroy(),this}}});var r=Ember.Handlebars.GroupedEach=function(e,t,r){var n=this,i=Ember.Handlebars.normalizePath(e,t,r.data);this.context=e,this.path=t,this.options=r,this.template=r.fn,this.containingView=r.data.view,this.normalizedRoot=i.root,this.normalizedPath=i.path,this.content=this.lookupContent(),this.addContentObservers(),this.addArrayObservers(),this.containingView.on("willClearRender",function(){n.destroy()})};r.prototype={contentWillChange:function(){this.removeArrayObservers()},contentDidChange:function(){this.content=this.lookupContent(),this.addArrayObservers(),this.rerenderContainingView()},contentArrayWillChange:Ember.K,contentArrayDidChange:function(){this.rerenderContainingView()},lookupContent:function(){return Ember.Handlebars.get(this.normalizedRoot,this.normalizedPath,this.options)},addArrayObservers:function(){this.content.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},removeArrayObservers:function(){this.content.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},addContentObservers:function(){Ember.addBeforeObserver(this.normalizedRoot,this.normalizedPath,this,this.contentWillChange),Ember.addObserver(this.normalizedRoot,this.normalizedPath,this,this.contentDidChange)},removeContentObservers:function(){Ember.removeBeforeObserver(this.normalizedRoot,this.normalizedPath,this.contentWillChange),Ember.removeObserver(this.normalizedRoot,this.normalizedPath,this.contentDidChange)},render:function(){var t=this.content,r=e(t,"length"),n=this.options.data,i=this.template;n.insideEach=!0;for(var s=0;r>s;s++)i(t.objectAt(s),{data:n})},rerenderContainingView:function(){Ember.run.scheduleOnce("render",this.containingView,"rerender")},destroy:function(){this.removeContentObservers(),this.removeArrayObservers()}},Ember.Handlebars.registerHelper("each",function(e,t){if(4===arguments.length){var r=arguments[0];t=arguments[3],e=arguments[2],""===e&&(e="this"),t.hash.keyword=r}return 1===arguments.length&&(t=e,e="this"),t.hash.dataSourceBinding=e,!t.data.insideGroup||t.hash.groupedRows||t.hash.itemViewClass?Ember.Handlebars.helpers.collection.call(this,"Ember.Handlebars.EachView",t):(new Ember.Handlebars.GroupedEach(this,e,t).render(),void 0)})}(),function(){Ember.Handlebars.registerHelper("template",function(){return Ember.Handlebars.helpers.partial.apply(this,arguments)})}(),function(){Ember.Handlebars.registerHelper("partial",function(e,t){var r=e.split("/"),n=r[r.length-1];r[r.length-1]="_"+n;var i=t.data.view,s=r.join("/"),o=i.templateForName(s),a=!o&&i.templateForName(e);o=o||a,o(this,{data:t.data})})}(),function(){var e=Ember.get;Ember.set,Ember.Handlebars.registerHelper("yield",function(t){for(var r,n=t.data.view,i=n;i&&!e(i,"layout");)i=e(i,"parentView");r=e(i,"template");var s=i._parentView.cloneKeywords();n.appendChild(Ember.View,{isVirtual:!0,tagName:"",template:r,context:e(i._parentView,"context"),controller:e(i._parentView,"controller"),templateData:{keywords:s}})})}(),function(){Ember.Handlebars.registerHelper("loc",function(e){return Ember.String.loc(e)})}(),function(){var e=Ember.set;Ember.get,Ember.Checkbox=Ember.View.extend({classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","indeterminate","disabled","tabindex","name"],type:"checkbox",checked:!1,disabled:!1,indeterminate:!1,init:function(){this._super(),this.on("change",this,this._updateElementValue)},didInsertElement:function(){this._super(),this.get("element").indeterminate=!!this.get("indeterminate")},_updateElementValue:function(){e(this,"checked",this.$().prop("checked"))}})}(),function(){var e=(Ember.get,Ember.set);Ember.TextSupport=Ember.Mixin.create({value:"",attributeBindings:["placeholder","disabled","maxlength","tabindex"],placeholder:null,disabled:!1,maxlength:null,insertNewline:Ember.K,cancel:Ember.K,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)},interpretKeyEvents:function(e){var t=Ember.TextSupport.KEY_EVENTS,r=t[e.keyCode];return this._elementValueDidChange(),r?this[r](e):void 0},_elementValueDidChange:function(){e(this,"value",this.$().val())}}),Ember.TextSupport.KEY_EVENTS={13:"insertNewline",27:"cancel"}}(),function(){function e(e,r,n){var i=t(r,"action"),s=t(r,"onEvent");if(i&&s===e){var o=t(r,"controller"),a=t(r,"value"),u=t(r,"bubbles");o.send(i,a,r),u||n.stopPropagation()}}var t=Ember.get;Ember.set,Ember.TextField=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-field"],tagName:"input",attributeBindings:["type","value","size","pattern","name"],value:"",type:"text",size:null,pattern:null,action:null,onEvent:"enter",bubbles:!1,insertNewline:function(t){e("enter",this,t)},keyPress:function(t){e("keyPress",this,t)}})}(),function(){var e=Ember.get,t=Ember.set;Ember.Button=Ember.View.extend(Ember.TargetActionSupport,{classNames:["ember-button"],classNameBindings:["isActive"],tagName:"button",propagateEvents:!1,attributeBindings:["type","disabled","href","tabindex"],targetObject:Ember.computed(function(){var t=e(this,"target"),r=e(this,"context"),n=e(this,"templateData");return"string"!=typeof t?t:Ember.Handlebars.get(r,t,{data:n})}).property("target"),type:Ember.computed(function(){var e=this.tagName;return"input"===e||"button"===e?"button":void 0}),disabled:!1,href:Ember.computed(function(){return"a"===this.tagName?"#":null}),mouseDown:function(){return e(this,"disabled")||(t(this,"isActive",!0),this._mouseDown=!0,this._mouseEntered=!0),e(this,"propagateEvents")},mouseLeave:function(){this._mouseDown&&(t(this,"isActive",!1),this._mouseEntered=!1)},mouseEnter:function(){this._mouseDown&&(t(this,"isActive",!0),this._mouseEntered=!0)},mouseUp:function(){return e(this,"isActive")&&(this.triggerAction(),t(this,"isActive",!1)),this._mouseDown=!1,this._mouseEntered=!1,e(this,"propagateEvents")},keyDown:function(e){(13===e.keyCode||32===e.keyCode)&&this.mouseDown()},keyUp:function(e){(13===e.keyCode||32===e.keyCode)&&this.mouseUp()},touchStart:function(e){return this.mouseDown(e)},touchEnd:function(e){return this.mouseUp(e)},init:function(){this._super()}})}(),function(){var e=Ember.get;Ember.set,Ember.TextArea=Ember.View.extend(Ember.TextSupport,{classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name"],rows:null,cols:null,_updateElementValue:Ember.observer(function(){var t=e(this,"value"),r=this.$();r&&t!==r.val()&&r.val(t)},"value"),init:function(){this._super(),this.on("didInsertElement",this,this._updateElementValue)}})}(),function(){var e=Ember.set,t=Ember.get,r=Ember.EnumerableUtils.indexOf,n=Ember.EnumerableUtils.indexesOf,i=Ember.EnumerableUtils.forEach,s=Ember.EnumerableUtils.replace,o=Ember.isArray;Ember.Handlebars.compile,Ember.SelectOption=Ember.View.extend({tagName:"option",attributeBindings:["value","selected"],defaultTemplate:function(e,t){t={data:t.data,hash:{}},Ember.Handlebars.helpers.bind.call(e,"view.label",t)},init:function(){this.labelPathDidChange(),this.valuePathDidChange(),this._super()},selected:Ember.computed(function(){var e=t(this,"content"),n=t(this,"parentView.selection");return t(this,"parentView.multiple")?n&&r(n,e.valueOf())>-1:e==n}).property("content","parentView.selection"),labelPathDidChange:Ember.observer(function(){var e=t(this,"parentView.optionLabelPath");e&&Ember.defineProperty(this,"label",Ember.computed(function(){return t(this,e)}).property(e))},"parentView.optionLabelPath"),valuePathDidChange:Ember.observer(function(){var e=t(this,"parentView.optionValuePath");e&&Ember.defineProperty(this,"value",Ember.computed(function(){return t(this,e)}).property(e))},"parentView.optionValuePath")}),Ember.SelectOptgroup=Ember.CollectionView.extend({tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"}),Ember.Select=Ember.View.extend({tagName:"select",classNames:["ember-select"],defaultTemplate:Ember.Handlebars.template(function(e,t,r,n,i){function s(e,t){var n,i,s="";return t.buffer.push('<option value="">'),n={},i={},t.buffer.push(p(r._triageMustache.call(e,"view.prompt",{hash:{},contexts:[e],types:["ID"],hashContexts:i,hashTypes:n,data:t}))),t.buffer.push("</option>"),s}function o(e,t){var n,i,s;i={},s={},n=r.each.call(e,"view.groupedContent",{hash:{},inverse:d.noop,fn:d.program(4,a,t),contexts:[e],types:["ID"],hashContexts:s,hashTypes:i,data:t}),n||0===n?t.buffer.push(n):t.buffer.push("")}function a(e,t){var n,i;n={contentBinding:e,labelBinding:e},i={contentBinding:"ID",labelBinding:"ID"},t.buffer.push(p(r.view.call(e,"view.groupView",{hash:{contentBinding:"content",labelBinding:"label"},contexts:[e],types:["ID"],hashContexts:n,hashTypes:i,data:t})))}function u(e,t){var n,i,s;i={},s={},n=r.each.call(e,"view.content",{hash:{},inverse:d.noop,fn:d.program(7,c,t),contexts:[e],types:["ID"],hashContexts:s,hashTypes:i,data:t}),n||0===n?t.buffer.push(n):t.buffer.push("")}function c(e,t){var n,i;n={contentBinding:e},i={contentBinding:"STRING"},t.buffer.push(p(r.view.call(e,"view.optionView",{hash:{contentBinding:"this"},contexts:[e],types:["ID"],hashContexts:n,hashTypes:i,data:t})))}this.compilerInfo=[4,">= 1.0.0"],r=this.merge(r,Ember.Handlebars.helpers),i=i||{};
|
21
|
+
var l,h,m,f="",p=this.escapeExpression,d=this;return h={},m={},l=r["if"].call(t,"view.prompt",{hash:{},inverse:d.noop,fn:d.program(1,s,i),contexts:[t],types:["ID"],hashContexts:m,hashTypes:h,data:i}),(l||0===l)&&i.buffer.push(l),h={},m={},l=r["if"].call(t,"view.optionGroupPath",{hash:{},inverse:d.program(6,u,i),fn:d.program(3,o,i),contexts:[t],types:["ID"],hashContexts:m,hashTypes:h,data:i}),(l||0===l)&&i.buffer.push(l),f}),attributeBindings:["multiple","disabled","tabindex","name"],multiple:!1,disabled:!1,content:null,selection:null,value:Ember.computed(function(e,r){if(2===arguments.length)return r;var n=t(this,"optionValuePath").replace(/^content\.?/,"");return n?t(this,"selection."+n):t(this,"selection")}).property("selection"),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:Ember.SelectOptgroup,groupedContent:Ember.computed(function(){var e=t(this,"optionGroupPath"),r=Ember.A();return i(t(this,"content"),function(n){var i=t(n,e);t(r,"lastObject.label")!==i&&r.pushObject({label:i,content:Ember.A()}),t(r,"lastObject.content").push(n)}),r}).property("optionGroupPath","content.@each"),optionView:Ember.SelectOption,_change:function(){t(this,"multiple")?this._changeMultiple():this._changeSingle()},selectionDidChange:Ember.observer(function(){var r=t(this,"selection");if(t(this,"multiple")){if(!o(r))return e(this,"selection",Ember.A([r])),void 0;this._selectionDidChangeMultiple()}else this._selectionDidChangeSingle()},"selection.@each"),valueDidChange:Ember.observer(function(){var e,r=t(this,"content"),n=t(this,"value"),i=t(this,"optionValuePath").replace(/^content\.?/,""),s=i?t(this,"selection."+i):t(this,"selection");n!==s&&(e=r?r.find(function(e){return n===(i?t(e,i):e)}):null,this.set("selection",e))},"value"),_triggerChange:function(){var e=t(this,"selection"),r=t(this,"value");Ember.isNone(e)||this.selectionDidChange(),Ember.isNone(r)||this.valueDidChange(),this._change()},_changeSingle:function(){var r=this.$()[0].selectedIndex,n=t(this,"content"),i=t(this,"prompt");if(n&&t(n,"length")){if(i&&0===r)return e(this,"selection",null),void 0;i&&(r-=1),e(this,"selection",n.objectAt(r))}},_changeMultiple:function(){var r=this.$("option:selected"),n=t(this,"prompt"),i=n?1:0,a=t(this,"content"),u=t(this,"selection");if(a&&r){var c=r.map(function(){return this.index-i}).toArray(),l=a.objectsAt(c);o(u)?s(u,0,t(u,"length"),l):e(this,"selection",l)}},_selectionDidChangeSingle:function(){var e=this.get("element");if(e){var n=t(this,"content"),i=t(this,"selection"),s=n?r(n,i):-1,o=t(this,"prompt");o&&(s+=1),e&&(e.selectedIndex=s)}},_selectionDidChangeMultiple:function(){var e,i=t(this,"content"),s=t(this,"selection"),o=i?n(i,s):[-1],a=t(this,"prompt"),u=a?1:0,c=this.$("option");c&&c.each(function(){e=this.index>-1?this.index-u:-1,this.selected=r(o,e)>-1})},init:function(){this._super(),this.on("didInsertElement",this,this._triggerChange),this.on("change",this,this._change)}})}(),function(){function e(e,t){for(var r in e)"ID"===t[r]&&(e[r+"Binding"]=e[r],delete e[r])}Ember.Handlebars.registerHelper("input",function(t){var r=t.hash,n=t.hashTypes,i=r.type,s=r.on;return delete r.type,delete r.on,e(r,n),"checkbox"===i?Ember.Handlebars.helpers.view.call(this,Ember.Checkbox,t):(i&&(r.type=i),r.onEvent=s||"enter",Ember.Handlebars.helpers.view.call(this,Ember.TextField,t))}),Ember.Handlebars.registerHelper("textarea",function(t){var r=t.hash,n=t.hashTypes;return e(r,n),Ember.Handlebars.helpers.view.call(this,Ember.TextArea,t)})}(),function(){function e(){Ember.Handlebars.bootstrap(Ember.$(document))}function t(e){var t,n=Ember.TEMPLATES;if(n)for(var i in n)(t=i.match(/^components\/(.*)$/))&&r(e,t[1])}function r(e,t){var r=t.replace(/-/g,"_"),n=e.lookupFactory("component:"+r)||e.lookupFactory("component:"+t),i=n||Ember.Component.extend();i.reopen({layoutName:"components/"+t}),Ember.Handlebars.helper(t,i)}Ember.Handlebars.bootstrap=function(e){var t='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';Ember.$(t,e).each(function(){var e=Ember.$(this),t="text/x-raw-handlebars"===e.attr("type")?Ember.$.proxy(Handlebars.compile,Handlebars):Ember.$.proxy(Ember.Handlebars.compile,Ember.Handlebars),r=e.attr("data-template-name")||e.attr("id")||"application",n=t(e.html());Ember.TEMPLATES[r]=n,e.remove()})},Ember.onLoad("Ember.Application",function(r){r.initializer?(r.initializer({name:"domTemplates",initialize:e}),r.initializer({name:"registerComponents",after:"domTemplates",initialize:t})):Ember.onLoad("application",e)})}(),function(){Ember.runLoadHooks("Ember.Handlebars",Ember.Handlebars)}(),function(){var e=Ember.get,t=Ember.set;Ember._PromiseChain=Ember.Object.extend({promises:null,failureCallback:Ember.K,successCallback:Ember.K,abortCallback:Ember.K,promiseSuccessCallback:Ember.K,runNextPromise:function(){if(!e(this,"isDestroyed")){var t=e(this,"promises").shiftObject();if(t){var r=e(t,"promise")||t,n=this,i=function(){n.promiseSuccessCallback.call(this,t,arguments),n.runNextPromise()},s=e(n,"failureCallback");r.then(i,s)}else this.successCallback()}},start:function(){return this.runNextPromise(),this},abort:function(){this.abortCallback(),this.destroy()},init:function(){t(this,"promises",Ember.A(e(this,"promises"))),this._super()}})}(),function(){function e(t,r,n,i){var s,o=t.name,a=t.incoming,u=t.incomingNames,c=u.length;if(n||(n={}),i||(i=[]),!n.hasOwnProperty(o)){for(i.push(o),n[o]=!0,s=0;c>s;s++)e(a[u[s]],r,n,i);r(t,i),i.pop()}}function t(){this.names=[],this.vertices={}}t.prototype.add=function(e){if(e){if(this.vertices.hasOwnProperty(e))return this.vertices[e];var t={name:e,incoming:{},incomingNames:[],hasOutgoing:!1,value:null};return this.vertices[e]=t,this.names.push(e),t}},t.prototype.map=function(e,t){this.add(e).value=t},t.prototype.addEdge=function(t,r){function n(e,t){if(e.name===r)throw new Error("cycle detected: "+r+" <- "+t.join(" <- "))}if(t&&r&&t!==r){var i=this.add(t),s=this.add(r);s.incoming.hasOwnProperty(t)||(e(i,n),i.hasOutgoing=!0,s.incoming[t]=i,s.incomingNames.push(t))}},t.prototype.topsort=function(t){var r,n,i={},s=this.vertices,o=this.names,a=o.length;for(r=0;a>r;r++)n=s[o[r]],n.hasOutgoing||e(n,t,i)},t.prototype.addEdges=function(e,t,r,n){var i;if(this.map(e,t),r)if("string"==typeof r)this.addEdge(e,r);else for(i=0;i<r.length;i++)this.addEdge(e,r[i]);if(n)if("string"==typeof n)this.addEdge(n,e);else for(i=0;i<n.length;i++)this.addEdge(n[i],e)},Ember.DAG=t}(),function(){var e=Ember.get,t=Ember.set;Ember.Application=Ember.Namespace.extend({rootElement:"body",eventDispatcher:null,customEvents:null,autoinit:!Ember.testing,isInitialized:!1,init:function(){if(this.$||(this.$=Ember.$),this._super(),this.createEventDispatcher(),this._readinessDeferrals=1,this.waitForDOMContentLoaded(),this.autoinit){var e=this;this.$().ready(function(){e.isDestroyed||e.isInitialized||e.initialize()})}},createEventDispatcher:function(){var r=e(this,"rootElement"),n=Ember.EventDispatcher.create({rootElement:r});t(this,"eventDispatcher",n)},waitForDOMContentLoaded:function(){this.deferReadiness();var e=this;this.$().ready(function(){e.advanceReadiness()})},deferReadiness:function(){this._readinessDeferrals++},advanceReadiness:function(){this._readinessDeferrals--,0===this._readinessDeferrals&&Ember.run.once(this,this.didBecomeReady)},initialize:function(e){return e=this.setupRouter(e),this.runInjections(e),Ember.runLoadHooks("application",this),this.isInitialized=!0,this.advanceReadiness(),this},runInjections:function(t){var r,n,i=e(this.constructor,"injections"),s=new Ember.DAG,o=this;for(r=0;r<i.length;r++)n=i[r],s.addEdges(n.name,n.injection,n.before,n.after);s.topsort(function(e){var r=e.value,n=Ember.A(Ember.keys(o));n.forEach(function(e){r(o,t,e)})})},setupRouter:function(e){return!e&&Ember.Router.detect(this.Router)&&(e=this.Router.create(),this._createdRouter=e),e&&(t(this,"router",e),t(e,"namespace",this)),e},didBecomeReady:function(){var t,r=e(this,"eventDispatcher"),n=e(this,"customEvents");r.setup(n),this.ready(),t=e(this,"router"),this.createApplicationView(t),t&&t instanceof Ember.Router&&this.startRouting(t),Ember.BOOTED=!0},createApplicationView:function(r){var n,i,s=e(this,"rootElement"),o={},a=this.ApplicationView,u=Ember.TEMPLATES.application;(a||u)&&(r&&(n=e(r,"applicationController"),n&&(o.controller=n)),u&&(o.template=u),a||(a=Ember.View),i=a.create(o),this._createdApplicationView=i,r&&t(r,"applicationView",i),i.appendTo(s))},startRouting:function(t){var r=e(t,"location");t.route(r.getURL()),r.onUpdateURL(function(e){t.route(e)})},ready:Ember.K,willDestroy:function(){e(this,"eventDispatcher").destroy(),this._createdRouter&&this._createdRouter.destroy(),this._createdApplicationView&&this._createdApplicationView.destroy()},registerInjection:function(e){this.constructor.registerInjection(e)}}),Ember.Application.reopenClass({concatenatedProperties:["injections"],injections:Ember.A(),registerInjection:function(t){var r=e(this,"injections");r.push(t)}}),Ember.Application.registerInjection({name:"controllers",injection:function(e,t,r){if(t&&/^[A-Z].*Controller$/.test(r)){var n,i=r.charAt(0).toLowerCase()+r.substr(1),s=e[r];Ember.Object.detect(s)&&(n=e[r].create(),t.set(i,n),n.setProperties({target:t,controllers:t,namespace:e}))}}}),Ember.runLoadHooks("Ember.Application",Ember.Application)}(),function(){var e=Ember.get;Ember._ResolvedState=Ember.Object.extend({manager:null,state:null,match:null,object:Ember.computed(function(){if(this._object)return this._object;var t=e(this,"state"),r=e(this,"match"),n=e(this,"manager");return t.deserialize(n,r.hash)}),hasPromise:Ember.computed(function(){return Ember.canInvoke(e(this,"object"),"then")}).property("object"),promise:Ember.computed(function(){var t=e(this,"object");return Ember.canInvoke(t,"then")?t:{then:function(e){e(t)}}}).property("object"),transition:function(){var t=e(this,"manager"),r=e(this,"state.path"),n=e(this,"object");t.transitionTo(r,n)}})}(),function(){var e=Ember.get,t=function(e){var t=e.toString(),r=t.split("."),n=r[r.length-1];return Ember.String.underscore(n)+"_id"},r=function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e.hasOwnProperty(r)||(e[r]=t[r]))};Ember.Routable=Ember.Mixin.create({init:function(){var t;this.on("setup",this,this.stashContext),(t=e(this,"redirectsTo"))&&(this.connectOutlets=function(e){e.transitionTo(t)});var r=e(this,"route");""===r&&(r="/"),this._super()},setup:function(){return this.connectOutlets.apply(this,arguments)},stashContext:function(t,r){this.router=t;var n=this.serialize(t,r);t.setStateMeta(this,"context",r),t.setStateMeta(this,"serialized",n),e(this,"isRoutable")&&!e(t,"isRouting")&&this.updateRoute(t,e(t,"location"))},updateRoute:function(t,r){if(e(this,"isLeafRoute")){var n=this.absoluteRoute(t);r.setURL(n)}},absoluteRoute:function(t,n){var i,s,o=e(this,"parentState"),a="";s=null,n&&(n instanceof Array?n.length>0&&(s=n.shift()):s=n),e(o,"isRoutable")&&(a=o.absoluteRoute(t,n));var u=e(this,"routeMatcher"),c=t.getStateMeta(this,"serialized");return s=s||{},r(s,c),i=u&&u.generate(s),i&&(a=a+"/"+i),a},isRoutable:Ember.computed(function(){return"string"==typeof e(this,"route")}),isLeafRoute:Ember.computed(function(){return e(this,"isLeaf")?!0:!e(this,"childStates").findProperty("isRoutable")}),routeMatcher:Ember.computed(function(){var t=e(this,"route");return t?Ember._RouteMatcher.create({route:t}):void 0}),hasContext:Ember.computed(function(){var t=e(this,"routeMatcher");return t?t.identifiers.length>0:void 0}),modelClass:Ember.computed(function(){var t=e(this,"modelType");return"string"==typeof t?Ember.get(Ember.lookup,t):t}),modelClassFor:function(t){var r,n,i,s,o;if(r=e(this,"modelClass"))return r;if(t&&(n=e(this,"routeMatcher"),n&&(i=n.identifiers,2===i.length&&(s=i[1].match(/^(.*)_id$/)))))return o=Ember.String.classify(s[1]),e(t,o)},deserialize:function(r,n){var i;return(i=this.modelClassFor(e(r,"namespace")))?i.find(n[t(i)]):n},serialize:function(r,n){var i,s,o;return Ember.isEmpty(n)?"":((i=this.modelClassFor(e(r,"namespace")))&&(s=t(i),o=e(n,"id"),n={},n[s]=o),n)},resolvePath:function(t,r){if(e(this,"isLeafRoute"))return Ember.A();var n,i=e(this,"childStates");i=Ember.A(i.filterProperty("isRoutable")),i=i.sort(function(t,r){var n=e(t,"routeMatcher.identifiers.length"),i=e(r,"routeMatcher.identifiers.length"),s=e(t,"route"),o=e(r,"route");return 0===s.indexOf(o)?-1:0===o.indexOf(s)?1:n!==i?n-i:e(r,"route.length")-e(t,"route.length")});var s=i.find(function(t){var i=e(t,"routeMatcher");return(n=i.match(r))?!0:void 0}),o=Ember._ResolvedState.create({manager:t,state:s,match:n}),a=s.resolvePath(t,n.remaining);return Ember.A([o]).pushObjects(a)},routePath:function(t,r){function n(){i.forEach(function(e){e.transition()})}if(!e(this,"isLeafRoute")){var i=this.resolvePath(t,r),s=i.some(function(t){return e(t,"hasPromise")});s?(t.transitionTo("loading"),t.handleStatePromises(i,n)):n()}},unroutePath:function(t,r){var n=e(this,"parentState");if(n!==t){r=r.replace(/^(?=[^\/])/,"/");var i=this.absoluteRoute(t),s=e(this,"route");if("/"!==s){var o=r.indexOf(i),a=r.charAt(i.length);if(0===o&&("/"===a||""===a))return}t.enterState({exitStates:[this],enterStates:[],finalState:n}),t.send("unroutePath",r)}},parentTemplate:Ember.computed(function(){for(var t,r=this;r=e(r,"parentState");)if(t=e(r,"template"))return t;return"application"}),_template:Ember.computed(function(){var t=e(this,"template");if(t)return t;var r,n=this.constructor.toString();return/^[^\[].*Route$/.test(n)?(r=n.match(/([^\.]+\.)*([^\.]+)/)[2],r=r.replace(/Route$/,""),r.charAt(0).toLowerCase()+r.substr(1)):void 0}),render:function(t){t=t||{};var r=t.template||e(this,"_template"),n=t.into||e(this,"parentTemplate"),i=e(this.router,n+"Controller"),s=Ember.String.classify(r)+"View",o=e(e(this.router,"namespace"),s);o=(o||Ember.View).extend({templateName:r}),i.set("view",o.create())},connectOutlets:Ember.K,navigateAway:Ember.K})}(),function(){Ember.Route=Ember.State.extend(Ember.Routable)}(),function(){var e=function(e){return e.replace(/[\-\[\]{}()*+?.,\\\^\$|#\s]/g,"\\$&")};Ember._RouteMatcher=Ember.Object.extend({state:null,init:function(){var t,r=this.route,n=[],i=1;"/"===r.charAt(0)&&(r=this.route=r.substr(1)),t=e(r);var s=t.replace(/(:|(?:\\\*))([a-z_]+)(?=$|\/)/gi,function(e,t,r){switch(n[i++]=r,t){case":":return"([^/]+)";case"\\*":return"(.+)"}});this.identifiers=n,this.regex=new RegExp("^/?"+s)},match:function(e){var t=e.match(this.regex);if(t){for(var r=this.identifiers,n={},i=1,s=r.length;s>i;i++)n[r[i]]=t[i];return{remaining:e.substr(t[0].length),hash:r.length>0?n:null}}},generate:function(e){for(var t,r=this.identifiers,n=this.route,i=1,s=r.length;s>i;i++)t=r[i],n=n.replace(new RegExp("(:|(\\*))"+t),e[t]);return n}})}(),function(){Ember.get,Ember.set,Ember.Location={create:function(e){var t=e&&e.implementation,r=this.implementations[t];return r.create.apply(r,arguments)},registerImplementation:function(e,t){this.implementations[e]=t},implementations:{}}}(),function(){var e=Ember.get,t=Ember.set;Ember.NoneLocation=Ember.Object.extend({path:"",getURL:function(){return e(this,"path")},setURL:function(e){t(this,"path",e)},onUpdateURL:function(){},formatURL:function(e){return e}}),Ember.Location.registerImplementation("none",Ember.NoneLocation)}(),function(){var e=Ember.get,t=Ember.set;Ember.HashLocation=Ember.Object.extend({init:function(){t(this,"location",e(this,"location")||window.location)},getURL:function(){return e(this,"location").hash.substr(1)},setURL:function(r){e(this,"location").hash=r,t(this,"lastSetURL",r)},onUpdateURL:function(r){var n=this,i=Ember.guidFor(this);Ember.$(window).on("hashchange.ember-location-"+i,function(){var i=location.hash.substr(1);e(n,"lastSetURL")!==i&&(t(n,"lastSetURL",null),r(location.hash.substr(1)))})},formatURL:function(e){return"#"+e},willDestroy:function(){var e=Ember.guidFor(this);Ember.$(window).off("hashchange.ember-location-"+e)}}),Ember.Location.registerImplementation("hash",Ember.HashLocation)}(),function(){var e=Ember.get,t=Ember.set,r=!1;Ember.HistoryLocation=Ember.Object.extend({init:function(){t(this,"location",e(this,"location")||window.location),this.initState()},initState:function(){this.replaceState(e(this,"location").pathname),t(this,"history",window.history)},rootURL:"/",getURL:function(){return e(this,"location").pathname},setURL:function(e){e=this.formatURL(e),this.getState()&&this.getState().path!==e&&(r=!0,this.pushState(e))},getState:function(){return e(this,"history").state},pushState:function(e){window.history.pushState({path:e},null,e)},replaceState:function(e){window.history.replaceState({path:e},null,e)},onUpdateURL:function(e){var t=Ember.guidFor(this);Ember.$(window).on("popstate.ember-location-"+t,function(){r&&e(location.pathname)})},formatURL:function(t){var r=e(this,"rootURL");return""!==t&&(r=r.replace(/\/$/,"")),r+t},willDestroy:function(){var e=Ember.guidFor(this);Ember.$(window).off("popstate.ember-location-"+e)}}),Ember.Location.registerImplementation("history",Ember.HistoryLocation)}(),function(){var e=Ember.get,t=Ember.set;Ember.Router=Ember.StateManager.extend({initialState:"root",location:"hash",rootURL:"/",transitionTo:function(){this.abortRoutingPromises(),this._super.apply(this,arguments)},route:function(r){function n(){for(r=r.replace(e(this,"rootURL"),""),r=r.replace(/^(?=[^\/])/,"/"),this.send("navigateAway"),this.send("unroutePath",r),s=e(this,"currentState");s&&!s.get("isRoutable");)s=e(s,"parentState");var t=s?s.absoluteRoute(this):"",n=r.substr(t.length);this.send("routePath",n)}function i(){t(this,"isRouting",!1)}this.abortRoutingPromises(),t(this,"isRouting",!0);var s;for(Ember.tryFinally(n,i,this),s=e(this,"currentState");s&&!s.get("isRoutable");)s=e(s,"parentState");s&&s.updateRoute(this,e(this,"location"))},urlFor:function(t,r){var n=e(this,"currentState")||this,i=this.findStateByPath(n,t),s=e(this,"location"),o=i.absoluteRoute(this,r);return s.formatURL(o)},urlForEvent:function(t){var r,n,i=Array.prototype.slice.call(arguments,1),s=e(this,"currentState"),o=s.lookupEventTransition(t);return r=this.findStateByPath(s,o),n=this.serializeRecursively(r,i,[]),this.urlFor(o,n)},serializeRecursively:function(t,r,n){var i,s=e(t,"hasContext")?r.pop():null,o=s?t.serialize(this,s):null;return n.push(o),i=t.get("parentState"),i&&i instanceof Ember.Route?this.serializeRecursively(i,r,n):n},abortRoutingPromises:function(){this._routingPromises&&(this._routingPromises.abort(),this._routingPromises=null)},handleStatePromises:function(e,r){this.abortRoutingPromises(),this.set("isLocked",!0);var n=this;this._routingPromises=Ember._PromiseChain.create({promises:e.slice(),successCallback:function(){n.set("isLocked",!1),r()},failureCallback:function(){throw"Unable to load object"},promiseSuccessCallback:function(e,r){t(e,"object",r[0])},abortCallback:function(){n.set("isLocked",!1)}}).start()},moveStatesIntoRoot:function(){this.root=Ember.Route.extend();for(var e in this)if("constructor"!==e){var t=this[e];(t instanceof Ember.Route||Ember.Route.detect(t))&&(this.root[e]=t,delete this[e])}},init:function(){this.root||this.moveStatesIntoRoot(),this._super();var r=e(this,"location"),n=e(this,"rootURL");"string"==typeof r&&t(this,"location",Ember.Location.create({implementation:r,rootURL:n})),this.assignRouter(this,this)},assignRouter:function(e,t){e.router=t;var r=e.states;if(r)for(var n in r)r.hasOwnProperty(n)&&this.assignRouter(r[n],t)},willDestroy:function(){e(this,"location").destroy()}})}(),function(){var e=Ember.Handlebars,t=e.get,r=Ember.get,n=Array.prototype.slice,i=e.ActionHelper={registeredActions:{}};i.registerAction=function(e,t){var r=(++Ember.uuid).toString();return i.registeredActions[r]={eventName:t.eventName,handler:function(r){var n=r.shiftKey||r.metaKey||r.altKey||r.ctrlKey,i=r.which>1,s=n||i;if(!t.link||!s){r.preventDefault(),r.view=t.view,t.hasOwnProperty("context")&&(r.context=t.context),t.hasOwnProperty("contexts")&&(r.contexts=t.contexts);var o=t.target;return"function"==typeof o.send?o.send(e,r):o[e].call(o,r)}}},t.view.on("willClearRender",function(){delete i.registeredActions[r]}),r},e.registerHelper("action",function(s){var o,a,u=arguments[arguments.length-1],c=n.call(arguments,1,-1),l=u.hash,h=u.data.view,m={eventName:l.on||"click"};m.view=h=r(h,"concreteView"),l.target?o=t(this,l.target,u):(a=u.data.keywords.controller)&&(o=a),m.target=o=o||h,c.length&&(m.contexts=c=Ember.EnumerableUtils.map(c,function(e){return t(this,e,u)},this),m.context=c[0]);var f,p=[];l.href&&o.urlForEvent&&(f=o.urlForEvent.apply(o,[s].concat(c)),p.push('href="'+f+'"'),m.link=!0);var d=i.registerAction(s,m);return p.push('data-ember-action="'+d+'"'),new e.SafeString(p.join(" "))})}(),function(){Ember.onLoad("Ember.Handlebars",function(e){e.OutletView=Ember.ContainerView.extend(Ember._Metamorph),e.registerHelper("outlet",function(t,r){return t&&t.data&&t.data.isRenderData&&(r=t,t="view"),r.hash.currentViewBinding="view.context."+t,e.helpers.view.call(this,e.OutletView,r)})})}(),function(){var e=Ember.get,t=Ember.set;Ember.ControllerMixin.reopen({controllers:null,connectOutlet:function(r,n){var i,s,o,a,u;if("string"===Ember.typeOf(n)&&(i=r,r=n,n=arguments[2]),1===arguments.length?"object"===Ember.typeOf(r)&&(u=r,i=u.outletName,r=u.name,s=u.viewClass,a=u.controller,n=u.context):u={},i=i||"view",r){var c=e(this,"namespace"),l=e(this,"controllers"),h=r.charAt(0).toUpperCase()+r.substr(1)+"View";s=e(c,h),a=e(l,r+"Controller")}return a&&n&&t(a,"content",n),o=this.createOutletView(i,s),a&&t(o,"controller",a),t(this,i,o),o},connectControllers:function(){for(var r,n=e(this,"controllers"),i=Array.prototype.slice.apply(arguments),s=0,o=i.length;o>s;s++)r=i[s]+"Controller",t(this,r,e(n,r))},disconnectOutlet:function(e){e=e||"view",t(this,e,null)},createOutletView:function(e,t){return t.create()},urlForEvent:function(t,r){var n=e(this,"target");return n?n.urlForEvent(t,r):void 0}})}(),function(){var e=Ember.get,t=(Ember.set,Ember.String.fmt);Ember.View.reopen({templateForName:function(r,n){if(r){var i=e(this,"templates"),s=e(i,r);if(!s)throw new Ember.Error(t('%@ - Unable to find %@ "%@".',[this,n,r]));return s}}})}()}(),"undefined"==typeof location||"localhost"!==location.hostname&&"127.0.0.1"!==location.hostname||Ember.Logger.warn("You are running a production build of Ember on localhost and won't receive detailed error messages. If you want full error messages please use the non-minified build provided on the Ember website.");
|
@@ -89,10 +89,10 @@ Ember.toString = function() { return "Ember"; };
|
|
89
89
|
/**
|
90
90
|
@property VERSION
|
91
91
|
@type String
|
92
|
-
@default '1.0.0-rc.6'
|
92
|
+
@default '1.0.0-rc.6.1'
|
93
93
|
@final
|
94
94
|
*/
|
95
|
-
Ember.VERSION = '1.0.0-rc.6';
|
95
|
+
Ember.VERSION = '1.0.0-rc.6.1';
|
96
96
|
|
97
97
|
/**
|
98
98
|
Standard environmental variables. You can define these in a global `ENV`
|
@@ -192,16 +192,19 @@ Ember.uuid = 0;
|
|
192
192
|
//
|
193
193
|
|
194
194
|
function consoleMethod(name) {
|
195
|
-
|
195
|
+
var console = imports.console,
|
196
|
+
method = typeof console === 'object' ? console[name] : null;
|
197
|
+
|
198
|
+
if (method) {
|
196
199
|
// Older IE doesn't support apply, but Chrome needs it
|
197
|
-
if (
|
200
|
+
if (method.apply) {
|
198
201
|
return function() {
|
199
|
-
|
202
|
+
method.apply(console, arguments);
|
200
203
|
};
|
201
204
|
} else {
|
202
205
|
return function() {
|
203
206
|
var message = Array.prototype.join.call(arguments, ', ');
|
204
|
-
|
207
|
+
method(message);
|
205
208
|
};
|
206
209
|
}
|
207
210
|
}
|
@@ -213,7 +216,7 @@ function assertPolyfill(test, message) {
|
|
213
216
|
// attempt to preserve the stack
|
214
217
|
throw new Error("assertion failed: " + message);
|
215
218
|
} catch(error) {
|
216
|
-
setTimeout(function(){
|
219
|
+
setTimeout(function() {
|
217
220
|
throw error;
|
218
221
|
}, 0);
|
219
222
|
}
|
@@ -295,7 +298,7 @@ Ember.merge = function(original, updates) {
|
|
295
298
|
Ember.isNone(undefined); // true
|
296
299
|
Ember.isNone(''); // false
|
297
300
|
Ember.isNone([]); // false
|
298
|
-
Ember.isNone(function(){}); // false
|
301
|
+
Ember.isNone(function() {}); // false
|
299
302
|
```
|
300
303
|
|
301
304
|
@method isNone
|
@@ -400,7 +403,7 @@ var canRedefineProperties, canDefinePropertyOnDOM;
|
|
400
403
|
// Catch IE8 where Object.defineProperty exists but only works on DOM elements
|
401
404
|
if (defineProperty) {
|
402
405
|
try {
|
403
|
-
defineProperty({}, 'a',{get:function(){}});
|
406
|
+
defineProperty({}, 'a',{get:function() {}});
|
404
407
|
} catch (e) {
|
405
408
|
defineProperty = null;
|
406
409
|
}
|
@@ -431,7 +434,7 @@ if (defineProperty) {
|
|
431
434
|
|
432
435
|
// This is for Safari 5.0, which supports Object.defineProperty, but not
|
433
436
|
// on DOM nodes.
|
434
|
-
canDefinePropertyOnDOM = (function(){
|
437
|
+
canDefinePropertyOnDOM = (function() {
|
435
438
|
try {
|
436
439
|
defineProperty(document.createElement('div'), 'definePropertyOnDOM', {});
|
437
440
|
return true;
|
@@ -443,7 +446,7 @@ if (defineProperty) {
|
|
443
446
|
if (!canRedefineProperties) {
|
444
447
|
defineProperty = null;
|
445
448
|
} else if (!canDefinePropertyOnDOM) {
|
446
|
-
defineProperty = function(obj, keyName, desc){
|
449
|
+
defineProperty = function(obj, keyName, desc) {
|
447
450
|
var isNode;
|
448
451
|
|
449
452
|
if (typeof Node === "object") {
|
@@ -1053,7 +1056,7 @@ if (needsFinallyFix) {
|
|
1053
1056
|
} finally {
|
1054
1057
|
try {
|
1055
1058
|
finalResult = finalizer.call(binding);
|
1056
|
-
} catch (e){
|
1059
|
+
} catch (e) {
|
1057
1060
|
finalError = e;
|
1058
1061
|
}
|
1059
1062
|
}
|
@@ -1105,7 +1108,7 @@ if (needsFinallyFix) {
|
|
1105
1108
|
} finally {
|
1106
1109
|
try {
|
1107
1110
|
finalResult = finalizer.call(binding);
|
1108
|
-
} catch (e){
|
1111
|
+
} catch (e) {
|
1109
1112
|
finalError = e;
|
1110
1113
|
}
|
1111
1114
|
}
|
@@ -1304,7 +1307,7 @@ Ember.Instrumentation.instrument = function(name, payload, callback, binding) {
|
|
1304
1307
|
|
1305
1308
|
var beforeValues = [], listener, i, l;
|
1306
1309
|
|
1307
|
-
function tryable(){
|
1310
|
+
function tryable() {
|
1308
1311
|
for (i=0, l=listeners.length; i<l; i++) {
|
1309
1312
|
listener = listeners[i];
|
1310
1313
|
beforeValues[i] = listener.before(name, time(), payload);
|
@@ -1313,7 +1316,7 @@ Ember.Instrumentation.instrument = function(name, payload, callback, binding) {
|
|
1313
1316
|
return callback.call(binding);
|
1314
1317
|
}
|
1315
1318
|
|
1316
|
-
function catchable(e){
|
1319
|
+
function catchable(e) {
|
1317
1320
|
payload = payload || {};
|
1318
1321
|
payload.exception = e;
|
1319
1322
|
}
|
@@ -1831,14 +1834,10 @@ function suspendListener(obj, eventName, target, method, callback) {
|
|
1831
1834
|
/**
|
1832
1835
|
@private
|
1833
1836
|
|
1834
|
-
|
1835
|
-
|
1836
|
-
This should only be used by the target of the event listener
|
1837
|
-
when it is taking an action that would cause the event, e.g.
|
1838
|
-
an object might suspend its property change listener while it is
|
1839
|
-
setting that property.
|
1837
|
+
Suspends multiple listeners during a callback.
|
1840
1838
|
|
1841
|
-
|
1839
|
+
|
1840
|
+
@method suspendListeners
|
1842
1841
|
@for Ember
|
1843
1842
|
@param obj
|
1844
1843
|
@param {Array} eventName Array of event names
|
@@ -1900,12 +1899,17 @@ function watchedEvents(obj) {
|
|
1900
1899
|
}
|
1901
1900
|
|
1902
1901
|
/**
|
1902
|
+
Send an event. The execution of suspended listeners
|
1903
|
+
is skipped, and once listeners are removed. A listener without
|
1904
|
+
a target is executed on the passed object. If an array of actions
|
1905
|
+
is not passed, the actions stored on the passed object are invoked.
|
1906
|
+
|
1903
1907
|
@method sendEvent
|
1904
1908
|
@for Ember
|
1905
1909
|
@param obj
|
1906
1910
|
@param {String} eventName
|
1907
|
-
@param {Array} params
|
1908
|
-
@param {Array} actions
|
1911
|
+
@param {Array} params Optional parameters for each listener.
|
1912
|
+
@param {Array} actions Optional array of actions (listeners).
|
1909
1913
|
@return true
|
1910
1914
|
*/
|
1911
1915
|
function sendEvent(obj, eventName, params, actions) {
|
@@ -2239,7 +2243,7 @@ var endPropertyChanges = Ember.endPropertyChanges = function() {
|
|
2239
2243
|
@param {Function} callback
|
2240
2244
|
@param [binding]
|
2241
2245
|
*/
|
2242
|
-
Ember.changeProperties = function(cb, binding){
|
2246
|
+
Ember.changeProperties = function(cb, binding) {
|
2243
2247
|
beginPropertyChanges();
|
2244
2248
|
tryFinally(cb, endPropertyChanges, binding);
|
2245
2249
|
};
|
@@ -2268,6 +2272,7 @@ var notifyObservers = function(obj, keyName) {
|
|
2268
2272
|
sendEvent(obj, eventName, [obj, keyName]);
|
2269
2273
|
}
|
2270
2274
|
};
|
2275
|
+
|
2271
2276
|
})();
|
2272
2277
|
|
2273
2278
|
|
@@ -2442,8 +2447,7 @@ Ember.trySetPath = Ember.deprecateFunc('trySetPath has been renamed to trySet',
|
|
2442
2447
|
Map is mocked out to look like an Ember object, so you can do
|
2443
2448
|
`Ember.Map.create()` for symmetry with other Ember classes.
|
2444
2449
|
*/
|
2445
|
-
var
|
2446
|
-
set = Ember.set,
|
2450
|
+
var set = Ember.set,
|
2447
2451
|
guidFor = Ember.guidFor,
|
2448
2452
|
indexOf = Ember.ArrayPolyfills.indexOf;
|
2449
2453
|
|
@@ -2969,13 +2973,14 @@ var changeProperties = Ember.changeProperties,
|
|
2969
2973
|
@return self
|
2970
2974
|
*/
|
2971
2975
|
Ember.setProperties = function(self, hash) {
|
2972
|
-
changeProperties(function(){
|
2976
|
+
changeProperties(function() {
|
2973
2977
|
for(var prop in hash) {
|
2974
2978
|
if (hash.hasOwnProperty(prop)) { set(self, prop, hash[prop]); }
|
2975
2979
|
}
|
2976
2980
|
});
|
2977
2981
|
return self;
|
2978
2982
|
};
|
2983
|
+
|
2979
2984
|
})();
|
2980
2985
|
|
2981
2986
|
|
@@ -3831,7 +3836,7 @@ ComputedPropertyPrototype.set = function(obj, keyName, value) {
|
|
3831
3836
|
oldSuspended = this._suspended,
|
3832
3837
|
hadCachedValue = false,
|
3833
3838
|
cache = meta.cache,
|
3834
|
-
cachedValue, ret;
|
3839
|
+
funcArgLength, cachedValue, ret;
|
3835
3840
|
|
3836
3841
|
if (this._readOnly) {
|
3837
3842
|
throw new Error('Cannot Set: ' + keyName + ' on: ' + obj.toString() );
|
@@ -3846,17 +3851,18 @@ ComputedPropertyPrototype.set = function(obj, keyName, value) {
|
|
3846
3851
|
hadCachedValue = true;
|
3847
3852
|
}
|
3848
3853
|
|
3849
|
-
// Check if the CP has been wrapped
|
3850
|
-
|
3854
|
+
// Check if the CP has been wrapped. If if has, use the
|
3855
|
+
// length from the wrapped function.
|
3856
|
+
funcArgLength = (func.wrappedFunction ? func.wrappedFunction.length : func.length);
|
3851
3857
|
|
3852
3858
|
// For backwards-compatibility with computed properties
|
3853
3859
|
// that check for arguments.length === 2 to determine if
|
3854
3860
|
// they are being get or set, only pass the old cached
|
3855
3861
|
// value if the computed property opts into a third
|
3856
3862
|
// argument.
|
3857
|
-
if (
|
3863
|
+
if (funcArgLength === 3) {
|
3858
3864
|
ret = func.call(obj, keyName, value, cachedValue);
|
3859
|
-
} else if (
|
3865
|
+
} else if (funcArgLength === 2) {
|
3860
3866
|
ret = func.call(obj, keyName, value);
|
3861
3867
|
} else {
|
3862
3868
|
Ember.defineProperty(obj, keyName, null, cachedValue);
|
@@ -3930,7 +3936,7 @@ Ember.computed = function(func) {
|
|
3930
3936
|
func = a_slice.call(arguments, -1)[0];
|
3931
3937
|
}
|
3932
3938
|
|
3933
|
-
if (
|
3939
|
+
if (typeof func !== "function") {
|
3934
3940
|
throw new Error("Computed Property declared without a property function");
|
3935
3941
|
}
|
3936
3942
|
|
@@ -4020,7 +4026,7 @@ registerComputed('notEmpty', function(dependentKey) {
|
|
4020
4026
|
@for Ember
|
4021
4027
|
@param {String} dependentKey
|
4022
4028
|
@return {Ember.ComputedProperty} computed property which
|
4023
|
-
|
4029
|
+
returns true if original value for property is null or undefined.
|
4024
4030
|
*/
|
4025
4031
|
registerComputed('none', function(dependentKey) {
|
4026
4032
|
return Ember.isNone(get(this, dependentKey));
|
@@ -4191,6 +4197,23 @@ registerComputedWithProperties('map', function(properties) {
|
|
4191
4197
|
});
|
4192
4198
|
|
4193
4199
|
/**
|
4200
|
+
Creates a new property that is an alias for another property
|
4201
|
+
on an object. Calls to `get` or `set` this property behave as
|
4202
|
+
though they were called on the original property.
|
4203
|
+
|
4204
|
+
```javascript
|
4205
|
+
Person = Ember.Object.extend({
|
4206
|
+
name: 'Alex Matchneer',
|
4207
|
+
nomen: Ember.computed.alias('name')
|
4208
|
+
});
|
4209
|
+
|
4210
|
+
alex = Person.create();
|
4211
|
+
alex.get('nomen'); // 'Alex Matchneer'
|
4212
|
+
alex.get('name'); // 'Alex Matchneer'
|
4213
|
+
|
4214
|
+
alex.set('nomen', '@machty');
|
4215
|
+
alex.get('name'); // '@machty'
|
4216
|
+
```
|
4194
4217
|
@method computed.alias
|
4195
4218
|
@for Ember
|
4196
4219
|
@param {String} dependentKey
|
@@ -4198,7 +4221,7 @@ registerComputedWithProperties('map', function(properties) {
|
|
4198
4221
|
alias to the original value for property.
|
4199
4222
|
*/
|
4200
4223
|
Ember.computed.alias = function(dependentKey) {
|
4201
|
-
return Ember.computed(dependentKey, function(key, value){
|
4224
|
+
return Ember.computed(dependentKey, function(key, value) {
|
4202
4225
|
if (arguments.length > 1) {
|
4203
4226
|
set(this, dependentKey, value);
|
4204
4227
|
return value;
|
@@ -4375,6 +4398,220 @@ Ember.removeBeforeObserver = function(obj, path, target, method) {
|
|
4375
4398
|
|
4376
4399
|
|
4377
4400
|
(function() {
|
4401
|
+
define("backburner/queue",
|
4402
|
+
["exports"],
|
4403
|
+
function(__exports__) {
|
4404
|
+
"use strict";
|
4405
|
+
function Queue(daq, name, options) {
|
4406
|
+
this.daq = daq;
|
4407
|
+
this.name = name;
|
4408
|
+
this.options = options;
|
4409
|
+
this._queue = [];
|
4410
|
+
}
|
4411
|
+
|
4412
|
+
Queue.prototype = {
|
4413
|
+
daq: null,
|
4414
|
+
name: null,
|
4415
|
+
options: null,
|
4416
|
+
_queue: null,
|
4417
|
+
|
4418
|
+
push: function(target, method, args, stack) {
|
4419
|
+
var queue = this._queue;
|
4420
|
+
queue.push(target, method, args, stack);
|
4421
|
+
return {queue: this, target: target, method: method};
|
4422
|
+
},
|
4423
|
+
|
4424
|
+
pushUnique: function(target, method, args, stack) {
|
4425
|
+
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4426
|
+
|
4427
|
+
for (i = 0, l = queue.length; i < l; i += 4) {
|
4428
|
+
currentTarget = queue[i];
|
4429
|
+
currentMethod = queue[i+1];
|
4430
|
+
|
4431
|
+
if (currentTarget === target && currentMethod === method) {
|
4432
|
+
queue[i+2] = args; // replace args
|
4433
|
+
queue[i+3] = stack; // replace stack
|
4434
|
+
return {queue: this, target: target, method: method}; // TODO: test this code path
|
4435
|
+
}
|
4436
|
+
}
|
4437
|
+
|
4438
|
+
this._queue.push(target, method, args, stack);
|
4439
|
+
return {queue: this, target: target, method: method};
|
4440
|
+
},
|
4441
|
+
|
4442
|
+
// TODO: remove me, only being used for Ember.run.sync
|
4443
|
+
flush: function() {
|
4444
|
+
var queue = this._queue,
|
4445
|
+
options = this.options,
|
4446
|
+
before = options && options.before,
|
4447
|
+
after = options && options.after,
|
4448
|
+
target, method, args, stack, i, l = queue.length;
|
4449
|
+
|
4450
|
+
if (l && before) { before(); }
|
4451
|
+
for (i = 0; i < l; i += 4) {
|
4452
|
+
target = queue[i];
|
4453
|
+
method = queue[i+1];
|
4454
|
+
args = queue[i+2];
|
4455
|
+
stack = queue[i+3]; // Debugging assistance
|
4456
|
+
|
4457
|
+
// TODO: error handling
|
4458
|
+
if (args && args.length > 0) {
|
4459
|
+
method.apply(target, args);
|
4460
|
+
} else {
|
4461
|
+
method.call(target);
|
4462
|
+
}
|
4463
|
+
}
|
4464
|
+
if (l && after) { after(); }
|
4465
|
+
|
4466
|
+
// check if new items have been added
|
4467
|
+
if (queue.length > l) {
|
4468
|
+
this._queue = queue.slice(l);
|
4469
|
+
this.flush();
|
4470
|
+
} else {
|
4471
|
+
this._queue.length = 0;
|
4472
|
+
}
|
4473
|
+
},
|
4474
|
+
|
4475
|
+
cancel: function(actionToCancel) {
|
4476
|
+
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4477
|
+
|
4478
|
+
for (i = 0, l = queue.length; i < l; i += 4) {
|
4479
|
+
currentTarget = queue[i];
|
4480
|
+
currentMethod = queue[i+1];
|
4481
|
+
|
4482
|
+
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4483
|
+
queue.splice(i, 4);
|
4484
|
+
return true;
|
4485
|
+
}
|
4486
|
+
}
|
4487
|
+
|
4488
|
+
// if not found in current queue
|
4489
|
+
// could be in the queue that is being flushed
|
4490
|
+
queue = this._queueBeingFlushed;
|
4491
|
+
if (!queue) {
|
4492
|
+
return;
|
4493
|
+
}
|
4494
|
+
for (i = 0, l = queue.length; i < l; i += 4) {
|
4495
|
+
currentTarget = queue[i];
|
4496
|
+
currentMethod = queue[i+1];
|
4497
|
+
|
4498
|
+
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4499
|
+
// don't mess with array during flush
|
4500
|
+
// just nullify the method
|
4501
|
+
queue[i+1] = null;
|
4502
|
+
return true;
|
4503
|
+
}
|
4504
|
+
}
|
4505
|
+
}
|
4506
|
+
};
|
4507
|
+
|
4508
|
+
|
4509
|
+
__exports__.Queue = Queue;
|
4510
|
+
});
|
4511
|
+
|
4512
|
+
define("backburner/deferred_action_queues",
|
4513
|
+
["backburner/queue","exports"],
|
4514
|
+
function(__dependency1__, __exports__) {
|
4515
|
+
"use strict";
|
4516
|
+
var Queue = __dependency1__.Queue;
|
4517
|
+
|
4518
|
+
function DeferredActionQueues(queueNames, options) {
|
4519
|
+
var queues = this.queues = {};
|
4520
|
+
this.queueNames = queueNames = queueNames || [];
|
4521
|
+
|
4522
|
+
var queueName;
|
4523
|
+
for (var i = 0, l = queueNames.length; i < l; i++) {
|
4524
|
+
queueName = queueNames[i];
|
4525
|
+
queues[queueName] = new Queue(this, queueName, options[queueName]);
|
4526
|
+
}
|
4527
|
+
}
|
4528
|
+
|
4529
|
+
DeferredActionQueues.prototype = {
|
4530
|
+
queueNames: null,
|
4531
|
+
queues: null,
|
4532
|
+
|
4533
|
+
schedule: function(queueName, target, method, args, onceFlag, stack) {
|
4534
|
+
var queues = this.queues,
|
4535
|
+
queue = queues[queueName];
|
4536
|
+
|
4537
|
+
if (!queue) { throw new Error("You attempted to schedule an action in a queue (" + queueName + ") that doesn't exist"); }
|
4538
|
+
|
4539
|
+
if (onceFlag) {
|
4540
|
+
return queue.pushUnique(target, method, args, stack);
|
4541
|
+
} else {
|
4542
|
+
return queue.push(target, method, args, stack);
|
4543
|
+
}
|
4544
|
+
},
|
4545
|
+
|
4546
|
+
flush: function() {
|
4547
|
+
var queues = this.queues,
|
4548
|
+
queueNames = this.queueNames,
|
4549
|
+
queueName, queue, queueItems, priorQueueNameIndex,
|
4550
|
+
queueNameIndex = 0, numberOfQueues = queueNames.length;
|
4551
|
+
|
4552
|
+
outerloop:
|
4553
|
+
while (queueNameIndex < numberOfQueues) {
|
4554
|
+
queueName = queueNames[queueNameIndex];
|
4555
|
+
queue = queues[queueName];
|
4556
|
+
queueItems = queue._queueBeingFlushed = queue._queue.slice();
|
4557
|
+
queue._queue = [];
|
4558
|
+
|
4559
|
+
var options = queue.options,
|
4560
|
+
before = options && options.before,
|
4561
|
+
after = options && options.after,
|
4562
|
+
target, method, args, stack,
|
4563
|
+
queueIndex = 0, numberOfQueueItems = queueItems.length;
|
4564
|
+
|
4565
|
+
if (numberOfQueueItems && before) { before(); }
|
4566
|
+
while (queueIndex < numberOfQueueItems) {
|
4567
|
+
target = queueItems[queueIndex];
|
4568
|
+
method = queueItems[queueIndex+1];
|
4569
|
+
args = queueItems[queueIndex+2];
|
4570
|
+
stack = queueItems[queueIndex+3]; // Debugging assistance
|
4571
|
+
|
4572
|
+
if (typeof method === 'string') { method = target[method]; }
|
4573
|
+
|
4574
|
+
// method could have been nullified / canceled during flush
|
4575
|
+
if (method) {
|
4576
|
+
// TODO: error handling
|
4577
|
+
if (args && args.length > 0) {
|
4578
|
+
method.apply(target, args);
|
4579
|
+
} else {
|
4580
|
+
method.call(target);
|
4581
|
+
}
|
4582
|
+
}
|
4583
|
+
|
4584
|
+
queueIndex += 4;
|
4585
|
+
}
|
4586
|
+
queue._queueBeingFlushed = null;
|
4587
|
+
if (numberOfQueueItems && after) { after(); }
|
4588
|
+
|
4589
|
+
if ((priorQueueNameIndex = indexOfPriorQueueWithActions(this, queueNameIndex)) !== -1) {
|
4590
|
+
queueNameIndex = priorQueueNameIndex;
|
4591
|
+
continue outerloop;
|
4592
|
+
}
|
4593
|
+
|
4594
|
+
queueNameIndex++;
|
4595
|
+
}
|
4596
|
+
}
|
4597
|
+
};
|
4598
|
+
|
4599
|
+
function indexOfPriorQueueWithActions(daq, currentQueueIndex) {
|
4600
|
+
var queueName, queue;
|
4601
|
+
|
4602
|
+
for (var i = 0, l = currentQueueIndex; i <= l; i++) {
|
4603
|
+
queueName = daq.queueNames[i];
|
4604
|
+
queue = daq.queues[queueName];
|
4605
|
+
if (queue._queue.length) { return i; }
|
4606
|
+
}
|
4607
|
+
|
4608
|
+
return -1;
|
4609
|
+
}
|
4610
|
+
|
4611
|
+
|
4612
|
+
__exports__.DeferredActionQueues = DeferredActionQueues;
|
4613
|
+
});
|
4614
|
+
|
4378
4615
|
define("backburner",
|
4379
4616
|
["backburner/deferred_action_queues","exports"],
|
4380
4617
|
function(__dependency1__, __exports__) {
|
@@ -4383,9 +4620,11 @@ define("backburner",
|
|
4383
4620
|
|
4384
4621
|
var slice = [].slice,
|
4385
4622
|
pop = [].pop,
|
4623
|
+
throttlers = [],
|
4386
4624
|
debouncees = [],
|
4387
4625
|
timers = [],
|
4388
|
-
autorun, laterTimer, laterTimerExpiresAt
|
4626
|
+
autorun, laterTimer, laterTimerExpiresAt,
|
4627
|
+
global = this;
|
4389
4628
|
|
4390
4629
|
function Backburner(queueNames, options) {
|
4391
4630
|
this.queueNames = queueNames;
|
@@ -4542,7 +4781,7 @@ define("backburner",
|
|
4542
4781
|
clearTimeout(laterTimer);
|
4543
4782
|
laterTimer = null;
|
4544
4783
|
}
|
4545
|
-
laterTimer =
|
4784
|
+
laterTimer = global.setTimeout(function() {
|
4546
4785
|
executeTimers(self);
|
4547
4786
|
laterTimer = null;
|
4548
4787
|
laterTimerExpiresAt = null;
|
@@ -4552,53 +4791,101 @@ define("backburner",
|
|
4552
4791
|
return fn;
|
4553
4792
|
},
|
4554
4793
|
|
4555
|
-
|
4794
|
+
throttle: function(target, method /* , args, wait */) {
|
4556
4795
|
var self = this,
|
4557
4796
|
args = arguments,
|
4558
4797
|
wait = pop.call(args),
|
4559
|
-
|
4798
|
+
throttler;
|
4560
4799
|
|
4561
|
-
for (var i = 0, l =
|
4562
|
-
|
4563
|
-
if (
|
4800
|
+
for (var i = 0, l = throttlers.length; i < l; i++) {
|
4801
|
+
throttler = throttlers[i];
|
4802
|
+
if (throttler[0] === target && throttler[1] === method) { return; } // do nothing
|
4564
4803
|
}
|
4565
4804
|
|
4566
|
-
var timer =
|
4805
|
+
var timer = global.setTimeout(function() {
|
4567
4806
|
self.run.apply(self, args);
|
4568
4807
|
|
4569
|
-
// remove
|
4808
|
+
// remove throttler
|
4570
4809
|
var index = -1;
|
4571
|
-
for (var i = 0, l =
|
4572
|
-
|
4573
|
-
if (
|
4810
|
+
for (var i = 0, l = throttlers.length; i < l; i++) {
|
4811
|
+
throttler = throttlers[i];
|
4812
|
+
if (throttler[0] === target && throttler[1] === method) {
|
4574
4813
|
index = i;
|
4575
4814
|
break;
|
4576
4815
|
}
|
4577
4816
|
}
|
4578
4817
|
|
4579
|
-
if (index > -1) {
|
4818
|
+
if (index > -1) { throttlers.splice(index, 1); }
|
4580
4819
|
}, wait);
|
4581
4820
|
|
4582
|
-
|
4821
|
+
throttlers.push([target, method, timer]);
|
4583
4822
|
},
|
4584
4823
|
|
4585
|
-
|
4586
|
-
|
4587
|
-
|
4588
|
-
|
4589
|
-
|
4824
|
+
debounce: function(target, method /* , args, wait, [immediate] */) {
|
4825
|
+
var self = this,
|
4826
|
+
args = arguments,
|
4827
|
+
immediate = pop.call(args),
|
4828
|
+
wait,
|
4829
|
+
index,
|
4830
|
+
debouncee;
|
4590
4831
|
|
4591
|
-
if (
|
4592
|
-
|
4593
|
-
|
4832
|
+
if (typeof immediate === "number") {
|
4833
|
+
wait = immediate;
|
4834
|
+
immediate = false;
|
4835
|
+
} else {
|
4836
|
+
wait = pop.call(args);
|
4594
4837
|
}
|
4595
|
-
timers = [];
|
4596
4838
|
|
4597
|
-
|
4598
|
-
|
4599
|
-
|
4839
|
+
// Remove debouncee
|
4840
|
+
index = findDebouncee(target, method);
|
4841
|
+
|
4842
|
+
if (index !== -1) {
|
4843
|
+
debouncee = debouncees[index];
|
4844
|
+
debouncees.splice(index, 1);
|
4845
|
+
clearTimeout(debouncee[2]);
|
4600
4846
|
}
|
4601
|
-
|
4847
|
+
|
4848
|
+
var timer = window.setTimeout(function() {
|
4849
|
+
if (!immediate) {
|
4850
|
+
self.run.apply(self, args);
|
4851
|
+
}
|
4852
|
+
index = findDebouncee(target, method);
|
4853
|
+
if (index) {
|
4854
|
+
debouncees.splice(index, 1);
|
4855
|
+
}
|
4856
|
+
}, wait);
|
4857
|
+
|
4858
|
+
if (immediate && index === -1) {
|
4859
|
+
self.run.apply(self, args);
|
4860
|
+
}
|
4861
|
+
|
4862
|
+
debouncees.push([target, method, timer]);
|
4863
|
+
},
|
4864
|
+
|
4865
|
+
cancelTimers: function() {
|
4866
|
+
var i, len;
|
4867
|
+
|
4868
|
+
for (i = 0, len = throttlers.length; i < len; i++) {
|
4869
|
+
clearTimeout(throttlers[i][2]);
|
4870
|
+
}
|
4871
|
+
throttlers = [];
|
4872
|
+
|
4873
|
+
for (i = 0, len = debouncees.length; i < len; i++) {
|
4874
|
+
clearTimeout(debouncees[i][2]);
|
4875
|
+
}
|
4876
|
+
debouncees = [];
|
4877
|
+
|
4878
|
+
if (laterTimer) {
|
4879
|
+
clearTimeout(laterTimer);
|
4880
|
+
laterTimer = null;
|
4881
|
+
}
|
4882
|
+
timers = [];
|
4883
|
+
|
4884
|
+
if (autorun) {
|
4885
|
+
clearTimeout(autorun);
|
4886
|
+
autorun = null;
|
4887
|
+
}
|
4888
|
+
},
|
4602
4889
|
|
4603
4890
|
hasTimers: function() {
|
4604
4891
|
return !!timers.length || autorun;
|
@@ -4626,7 +4913,7 @@ define("backburner",
|
|
4626
4913
|
|
4627
4914
|
function createAutorun(backburner) {
|
4628
4915
|
backburner.begin();
|
4629
|
-
autorun =
|
4916
|
+
autorun = global.setTimeout(function() {
|
4630
4917
|
backburner.end();
|
4631
4918
|
autorun = null;
|
4632
4919
|
});
|
@@ -4651,7 +4938,7 @@ define("backburner",
|
|
4651
4938
|
});
|
4652
4939
|
|
4653
4940
|
if (timers.length) {
|
4654
|
-
laterTimer =
|
4941
|
+
laterTimer = global.setTimeout(function() {
|
4655
4942
|
executeTimers(self);
|
4656
4943
|
laterTimer = null;
|
4657
4944
|
laterTimerExpiresAt = null;
|
@@ -4660,222 +4947,23 @@ define("backburner",
|
|
4660
4947
|
}
|
4661
4948
|
}
|
4662
4949
|
|
4950
|
+
function findDebouncee(target, method) {
|
4951
|
+
var debouncee,
|
4952
|
+
index = -1;
|
4663
4953
|
|
4664
|
-
|
4665
|
-
|
4666
|
-
|
4667
|
-
|
4668
|
-
|
4669
|
-
function(__dependency1__, __exports__) {
|
4670
|
-
"use strict";
|
4671
|
-
var Queue = __dependency1__.Queue;
|
4672
|
-
|
4673
|
-
function DeferredActionQueues(queueNames, options) {
|
4674
|
-
var queues = this.queues = {};
|
4675
|
-
this.queueNames = queueNames = queueNames || [];
|
4676
|
-
|
4677
|
-
var queueName;
|
4678
|
-
for (var i = 0, l = queueNames.length; i < l; i++) {
|
4679
|
-
queueName = queueNames[i];
|
4680
|
-
queues[queueName] = new Queue(this, queueName, options[queueName]);
|
4681
|
-
}
|
4682
|
-
}
|
4683
|
-
|
4684
|
-
DeferredActionQueues.prototype = {
|
4685
|
-
queueNames: null,
|
4686
|
-
queues: null,
|
4687
|
-
|
4688
|
-
schedule: function(queueName, target, method, args, onceFlag, stack) {
|
4689
|
-
var queues = this.queues,
|
4690
|
-
queue = queues[queueName];
|
4691
|
-
|
4692
|
-
if (!queue) { throw new Error("You attempted to schedule an action in a queue (" + queueName + ") that doesn't exist"); }
|
4693
|
-
|
4694
|
-
if (onceFlag) {
|
4695
|
-
return queue.pushUnique(target, method, args, stack);
|
4696
|
-
} else {
|
4697
|
-
return queue.push(target, method, args, stack);
|
4698
|
-
}
|
4699
|
-
},
|
4700
|
-
|
4701
|
-
flush: function() {
|
4702
|
-
var queues = this.queues,
|
4703
|
-
queueNames = this.queueNames,
|
4704
|
-
queueName, queue, queueItems, priorQueueNameIndex,
|
4705
|
-
queueNameIndex = 0, numberOfQueues = queueNames.length;
|
4706
|
-
|
4707
|
-
outerloop:
|
4708
|
-
while (queueNameIndex < numberOfQueues) {
|
4709
|
-
queueName = queueNames[queueNameIndex];
|
4710
|
-
queue = queues[queueName];
|
4711
|
-
queueItems = queue._queueBeingFlushed = queue._queue.slice();
|
4712
|
-
queue._queue = [];
|
4713
|
-
|
4714
|
-
var options = queue.options,
|
4715
|
-
before = options && options.before,
|
4716
|
-
after = options && options.after,
|
4717
|
-
target, method, args, stack,
|
4718
|
-
queueIndex = 0, numberOfQueueItems = queueItems.length;
|
4719
|
-
|
4720
|
-
if (numberOfQueueItems && before) { before(); }
|
4721
|
-
while (queueIndex < numberOfQueueItems) {
|
4722
|
-
target = queueItems[queueIndex];
|
4723
|
-
method = queueItems[queueIndex+1];
|
4724
|
-
args = queueItems[queueIndex+2];
|
4725
|
-
stack = queueItems[queueIndex+3]; // Debugging assistance
|
4726
|
-
|
4727
|
-
if (typeof method === 'string') { method = target[method]; }
|
4728
|
-
|
4729
|
-
// method could have been nullified / canceled during flush
|
4730
|
-
if (method) {
|
4731
|
-
// TODO: error handling
|
4732
|
-
if (args && args.length > 0) {
|
4733
|
-
method.apply(target, args);
|
4734
|
-
} else {
|
4735
|
-
method.call(target);
|
4736
|
-
}
|
4737
|
-
}
|
4738
|
-
|
4739
|
-
queueIndex += 4;
|
4740
|
-
}
|
4741
|
-
queue._queueBeingFlushed = null;
|
4742
|
-
if (numberOfQueueItems && after) { after(); }
|
4743
|
-
|
4744
|
-
if ((priorQueueNameIndex = indexOfPriorQueueWithActions(this, queueNameIndex)) !== -1) {
|
4745
|
-
queueNameIndex = priorQueueNameIndex;
|
4746
|
-
continue outerloop;
|
4747
|
-
}
|
4748
|
-
|
4749
|
-
queueNameIndex++;
|
4954
|
+
for (var i = 0, l = debouncees.length; i < l; i++) {
|
4955
|
+
debouncee = debouncees[i];
|
4956
|
+
if (debouncee[0] === target && debouncee[1] === method) {
|
4957
|
+
index = i;
|
4958
|
+
break;
|
4750
4959
|
}
|
4751
4960
|
}
|
4752
|
-
};
|
4753
|
-
|
4754
|
-
function indexOfPriorQueueWithActions(daq, currentQueueIndex) {
|
4755
|
-
var queueName, queue;
|
4756
|
-
|
4757
|
-
for (var i = 0, l = currentQueueIndex; i <= l; i++) {
|
4758
|
-
queueName = daq.queueNames[i];
|
4759
|
-
queue = daq.queues[queueName];
|
4760
|
-
if (queue._queue.length) { return i; }
|
4761
|
-
}
|
4762
|
-
|
4763
|
-
return -1;
|
4764
|
-
}
|
4765
4961
|
|
4766
|
-
|
4767
|
-
__exports__.DeferredActionQueues = DeferredActionQueues;
|
4768
|
-
});
|
4769
|
-
|
4770
|
-
define("backburner/queue",
|
4771
|
-
["exports"],
|
4772
|
-
function(__exports__) {
|
4773
|
-
"use strict";
|
4774
|
-
function Queue(daq, name, options) {
|
4775
|
-
this.daq = daq;
|
4776
|
-
this.name = name;
|
4777
|
-
this.options = options;
|
4778
|
-
this._queue = [];
|
4962
|
+
return index;
|
4779
4963
|
}
|
4780
4964
|
|
4781
|
-
Queue.prototype = {
|
4782
|
-
daq: null,
|
4783
|
-
name: null,
|
4784
|
-
options: null,
|
4785
|
-
_queue: null,
|
4786
4965
|
|
4787
|
-
|
4788
|
-
var queue = this._queue;
|
4789
|
-
queue.push(target, method, args, stack);
|
4790
|
-
return {queue: this, target: target, method: method};
|
4791
|
-
},
|
4792
|
-
|
4793
|
-
pushUnique: function(target, method, args, stack) {
|
4794
|
-
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4795
|
-
|
4796
|
-
for (i = 0, l = queue.length; i < l; i += 4) {
|
4797
|
-
currentTarget = queue[i];
|
4798
|
-
currentMethod = queue[i+1];
|
4799
|
-
|
4800
|
-
if (currentTarget === target && currentMethod === method) {
|
4801
|
-
queue[i+2] = args; // replace args
|
4802
|
-
queue[i+3] = stack; // replace stack
|
4803
|
-
return {queue: this, target: target, method: method}; // TODO: test this code path
|
4804
|
-
}
|
4805
|
-
}
|
4806
|
-
|
4807
|
-
this._queue.push(target, method, args, stack);
|
4808
|
-
return {queue: this, target: target, method: method};
|
4809
|
-
},
|
4810
|
-
|
4811
|
-
// TODO: remove me, only being used for Ember.run.sync
|
4812
|
-
flush: function() {
|
4813
|
-
var queue = this._queue,
|
4814
|
-
options = this.options,
|
4815
|
-
before = options && options.before,
|
4816
|
-
after = options && options.after,
|
4817
|
-
target, method, args, stack, i, l = queue.length;
|
4818
|
-
|
4819
|
-
if (l && before) { before(); }
|
4820
|
-
for (i = 0; i < l; i += 4) {
|
4821
|
-
target = queue[i];
|
4822
|
-
method = queue[i+1];
|
4823
|
-
args = queue[i+2];
|
4824
|
-
stack = queue[i+3]; // Debugging assistance
|
4825
|
-
|
4826
|
-
// TODO: error handling
|
4827
|
-
if (args && args.length > 0) {
|
4828
|
-
method.apply(target, args);
|
4829
|
-
} else {
|
4830
|
-
method.call(target);
|
4831
|
-
}
|
4832
|
-
}
|
4833
|
-
if (l && after) { after(); }
|
4834
|
-
|
4835
|
-
// check if new items have been added
|
4836
|
-
if (queue.length > l) {
|
4837
|
-
this._queue = queue.slice(l);
|
4838
|
-
this.flush();
|
4839
|
-
} else {
|
4840
|
-
this._queue.length = 0;
|
4841
|
-
}
|
4842
|
-
},
|
4843
|
-
|
4844
|
-
cancel: function(actionToCancel) {
|
4845
|
-
var queue = this._queue, currentTarget, currentMethod, i, l;
|
4846
|
-
|
4847
|
-
for (i = 0, l = queue.length; i < l; i += 4) {
|
4848
|
-
currentTarget = queue[i];
|
4849
|
-
currentMethod = queue[i+1];
|
4850
|
-
|
4851
|
-
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4852
|
-
queue.splice(i, 4);
|
4853
|
-
return true;
|
4854
|
-
}
|
4855
|
-
}
|
4856
|
-
|
4857
|
-
// if not found in current queue
|
4858
|
-
// could be in the queue that is being flushed
|
4859
|
-
queue = this._queueBeingFlushed;
|
4860
|
-
if (!queue) {
|
4861
|
-
return;
|
4862
|
-
}
|
4863
|
-
for (i = 0, l = queue.length; i < l; i += 4) {
|
4864
|
-
currentTarget = queue[i];
|
4865
|
-
currentMethod = queue[i+1];
|
4866
|
-
|
4867
|
-
if (currentTarget === actionToCancel.target && currentMethod === actionToCancel.method) {
|
4868
|
-
// don't mess with array during flush
|
4869
|
-
// just nullify the method
|
4870
|
-
queue[i+1] = null;
|
4871
|
-
return true;
|
4872
|
-
}
|
4873
|
-
}
|
4874
|
-
}
|
4875
|
-
};
|
4876
|
-
|
4877
|
-
|
4878
|
-
__exports__.Queue = Queue;
|
4966
|
+
__exports__.Backburner = Backburner;
|
4879
4967
|
});
|
4880
4968
|
})();
|
4881
4969
|
|
@@ -4917,7 +5005,7 @@ var Backburner = requireModule('backburner').Backburner,
|
|
4917
5005
|
call.
|
4918
5006
|
|
4919
5007
|
```javascript
|
4920
|
-
Ember.run(function(){
|
5008
|
+
Ember.run(function() {
|
4921
5009
|
// code to be execute within a RunLoop
|
4922
5010
|
});
|
4923
5011
|
```
|
@@ -4960,7 +5048,7 @@ Ember.run = function(target, method) {
|
|
4960
5048
|
If invoked when not within a run loop:
|
4961
5049
|
|
4962
5050
|
```javascript
|
4963
|
-
Ember.run.join(function(){
|
5051
|
+
Ember.run.join(function() {
|
4964
5052
|
// creates a new run-loop
|
4965
5053
|
});
|
4966
5054
|
```
|
@@ -4968,9 +5056,9 @@ Ember.run = function(target, method) {
|
|
4968
5056
|
Alternatively, if called within an existing run loop:
|
4969
5057
|
|
4970
5058
|
```javascript
|
4971
|
-
Ember.run(function(){
|
5059
|
+
Ember.run(function() {
|
4972
5060
|
// creates a new run-loop
|
4973
|
-
Ember.run.join(function(){
|
5061
|
+
Ember.run.join(function() {
|
4974
5062
|
// joins with the existing run-loop, and queues for invocation on
|
4975
5063
|
// the existing run-loops action queue.
|
4976
5064
|
});
|
@@ -5063,12 +5151,12 @@ Ember.run.end = function() {
|
|
5063
5151
|
the `Ember.run.queues` property.
|
5064
5152
|
|
5065
5153
|
```javascript
|
5066
|
-
Ember.run.schedule('sync', this, function(){
|
5154
|
+
Ember.run.schedule('sync', this, function() {
|
5067
5155
|
// this will be executed in the first RunLoop queue, when bindings are synced
|
5068
5156
|
console.log("scheduled on sync queue");
|
5069
5157
|
});
|
5070
5158
|
|
5071
|
-
Ember.run.schedule('actions', this, function(){
|
5159
|
+
Ember.run.schedule('actions', this, function() {
|
5072
5160
|
// this will be executed in the 'actions' queue, after bindings have synced.
|
5073
5161
|
console.log("scheduled on actions queue");
|
5074
5162
|
});
|
@@ -5136,7 +5224,7 @@ Ember.run.sync = function() {
|
|
5136
5224
|
together, which is often more efficient than using a real setTimeout.
|
5137
5225
|
|
5138
5226
|
```javascript
|
5139
|
-
Ember.run.later(myContext, function(){
|
5227
|
+
Ember.run.later(myContext, function() {
|
5140
5228
|
// code here will execute within a RunLoop in about 500ms with this == myContext
|
5141
5229
|
}, 500);
|
5142
5230
|
```
|
@@ -5184,11 +5272,11 @@ Ember.run.once = function(target, method) {
|
|
5184
5272
|
calls.
|
5185
5273
|
|
5186
5274
|
```javascript
|
5187
|
-
Ember.run(function(){
|
5275
|
+
Ember.run(function() {
|
5188
5276
|
var sayHi = function() { console.log('hi'); }
|
5189
5277
|
Ember.run.scheduleOnce('afterRender', myContext, sayHi);
|
5190
5278
|
Ember.run.scheduleOnce('afterRender', myContext, sayHi);
|
5191
|
-
//
|
5279
|
+
// sayHi will only be executed once, in the afterRender queue of the RunLoop
|
5192
5280
|
});
|
5193
5281
|
```
|
5194
5282
|
|
@@ -5229,7 +5317,7 @@ Ember.run.scheduleOnce = function(queue, target, method) {
|
|
5229
5317
|
`Ember.run.later` with a wait time of 1ms.
|
5230
5318
|
|
5231
5319
|
```javascript
|
5232
|
-
Ember.run.next(myContext, function(){
|
5320
|
+
Ember.run.next(myContext, function() {
|
5233
5321
|
// code to be executed in the next run loop, which will be scheduled after the current one
|
5234
5322
|
});
|
5235
5323
|
```
|
@@ -5291,17 +5379,17 @@ Ember.run.next = function() {
|
|
5291
5379
|
`Ember.run.once()`, or `Ember.run.next()`.
|
5292
5380
|
|
5293
5381
|
```javascript
|
5294
|
-
var runNext = Ember.run.next(myContext, function(){
|
5382
|
+
var runNext = Ember.run.next(myContext, function() {
|
5295
5383
|
// will not be executed
|
5296
5384
|
});
|
5297
5385
|
Ember.run.cancel(runNext);
|
5298
5386
|
|
5299
|
-
var runLater = Ember.run.later(myContext, function(){
|
5387
|
+
var runLater = Ember.run.later(myContext, function() {
|
5300
5388
|
// will not be executed
|
5301
5389
|
}, 500);
|
5302
5390
|
Ember.run.cancel(runLater);
|
5303
5391
|
|
5304
|
-
var runOnce = Ember.run.once(myContext, function(){
|
5392
|
+
var runOnce = Ember.run.once(myContext, function() {
|
5305
5393
|
// will not be executed
|
5306
5394
|
});
|
5307
5395
|
Ember.run.cancel(runOnce);
|
@@ -5316,8 +5404,15 @@ Ember.run.cancel = function(timer) {
|
|
5316
5404
|
};
|
5317
5405
|
|
5318
5406
|
/**
|
5319
|
-
|
5320
|
-
|
5407
|
+
Delay calling the target method until the debounce period has elapsed
|
5408
|
+
with no additional debounce calls. If `debounce` is called again before
|
5409
|
+
the specified time has elapsed, the timer is reset and the entire period
|
5410
|
+
must pass again before the target method is called.
|
5411
|
+
|
5412
|
+
This method should be used when an event may be called multiple times
|
5413
|
+
but the action should only be called once when the event is done firing.
|
5414
|
+
A common example is for scroll events where you only want updates to
|
5415
|
+
happen once scrolling has ceased.
|
5321
5416
|
|
5322
5417
|
```javascript
|
5323
5418
|
var myFunc = function() { console.log(this.name + ' ran.'); };
|
@@ -5341,12 +5436,50 @@ Ember.run.cancel = function(timer) {
|
|
5341
5436
|
then it will be looked up on the passed target.
|
5342
5437
|
@param {Object} [args*] Optional arguments to pass to the timeout.
|
5343
5438
|
@param {Number} wait Number of milliseconds to wait.
|
5439
|
+
@param {Boolean} immediate Trigger the function on the leading instead of the trailing edge of the wait interval.
|
5344
5440
|
@return {void}
|
5345
5441
|
*/
|
5346
5442
|
Ember.run.debounce = function() {
|
5347
5443
|
return backburner.debounce.apply(backburner, arguments);
|
5348
5444
|
};
|
5349
5445
|
|
5446
|
+
/**
|
5447
|
+
Ensure that the target method is never called more frequently than
|
5448
|
+
the specified spacing period.
|
5449
|
+
|
5450
|
+
```javascript
|
5451
|
+
var myFunc = function() { console.log(this.name + ' ran.'); };
|
5452
|
+
var myContext = {name: 'throttle'};
|
5453
|
+
|
5454
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5455
|
+
|
5456
|
+
// 50ms passes
|
5457
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5458
|
+
|
5459
|
+
// 50ms passes
|
5460
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5461
|
+
|
5462
|
+
// 50ms passes
|
5463
|
+
Ember.run.throttle(myContext, myFunc, 150);
|
5464
|
+
|
5465
|
+
// 150ms passes
|
5466
|
+
// myFunc is invoked with context myContext
|
5467
|
+
// console logs 'throttle ran.' twice, 150ms apart.
|
5468
|
+
```
|
5469
|
+
|
5470
|
+
@method throttle
|
5471
|
+
@param {Object} [target] target of method to invoke
|
5472
|
+
@param {Function|String} method The method to invoke.
|
5473
|
+
May be a function or a string. If you pass a string
|
5474
|
+
then it will be looked up on the passed target.
|
5475
|
+
@param {Object} [args*] Optional arguments to pass to the timeout.
|
5476
|
+
@param {Number} spacing Number of milliseconds to space out requests.
|
5477
|
+
@return {void}
|
5478
|
+
*/
|
5479
|
+
Ember.run.throttle = function() {
|
5480
|
+
return backburner.throttle.apply(backburner, arguments);
|
5481
|
+
};
|
5482
|
+
|
5350
5483
|
// Make sure it's not an autorun during testing
|
5351
5484
|
function checkAutoRun() {
|
5352
5485
|
if (!Ember.run.currentRunLoop) {
|
@@ -5837,7 +5970,8 @@ Ember.oneWay = function(obj, to, from) {
|
|
5837
5970
|
|
5838
5971
|
(function() {
|
5839
5972
|
/**
|
5840
|
-
@module ember
|
5973
|
+
@module ember
|
5974
|
+
@submodule ember-metal
|
5841
5975
|
*/
|
5842
5976
|
|
5843
5977
|
var Mixin, REQUIRED, Alias,
|
@@ -6213,38 +6347,6 @@ Mixin.finishPartial = finishPartial;
|
|
6213
6347
|
Ember.anyUnprocessedMixins = false;
|
6214
6348
|
|
6215
6349
|
/**
|
6216
|
-
Creates an instance of a class. Accepts either no arguments, or an object
|
6217
|
-
containing values to initialize the newly instantiated object with.
|
6218
|
-
|
6219
|
-
```javascript
|
6220
|
-
App.Person = Ember.Object.extend({
|
6221
|
-
helloWorld: function() {
|
6222
|
-
alert("Hi, my name is " + this.get('name'));
|
6223
|
-
}
|
6224
|
-
});
|
6225
|
-
|
6226
|
-
var tom = App.Person.create({
|
6227
|
-
name: 'Tom Dale'
|
6228
|
-
});
|
6229
|
-
|
6230
|
-
tom.helloWorld(); // alerts "Hi, my name is Tom Dale".
|
6231
|
-
```
|
6232
|
-
|
6233
|
-
`create` will call the `init` function if defined during
|
6234
|
-
`Ember.AnyObject.extend`
|
6235
|
-
|
6236
|
-
If no arguments are passed to `create`, it will not set values to the new
|
6237
|
-
instance during initialization:
|
6238
|
-
|
6239
|
-
```javascript
|
6240
|
-
var noName = App.Person.create();
|
6241
|
-
noName.helloWorld(); // alerts undefined
|
6242
|
-
```
|
6243
|
-
|
6244
|
-
NOTE: For performance reasons, you cannot declare methods or computed
|
6245
|
-
properties during `create`. You should instead declare methods and computed
|
6246
|
-
properties when using `extend`.
|
6247
|
-
|
6248
6350
|
@method create
|
6249
6351
|
@static
|
6250
6352
|
@param arguments*
|
@@ -6404,7 +6506,7 @@ Alias.prototype = new Ember.Descriptor();
|
|
6404
6506
|
App.PaintSample = Ember.Object.extend({
|
6405
6507
|
color: 'red',
|
6406
6508
|
colour: Ember.alias('color'),
|
6407
|
-
name: function(){
|
6509
|
+
name: function() {
|
6408
6510
|
return "Zed";
|
6409
6511
|
},
|
6410
6512
|
moniker: Ember.alias("name")
|
@@ -6432,7 +6534,7 @@ Ember.alias = Ember.deprecateFunc("Ember.alias is deprecated. Please use Ember.a
|
|
6432
6534
|
|
6433
6535
|
```javascript
|
6434
6536
|
App.Person = Ember.Object.extend({
|
6435
|
-
name: function(){
|
6537
|
+
name: function() {
|
6436
6538
|
return 'Tomhuda Katzdale';
|
6437
6539
|
},
|
6438
6540
|
moniker: Ember.aliasMethod('name')
|
@@ -6501,7 +6603,7 @@ Ember.immediateObserver = function() {
|
|
6501
6603
|
}.observesBefore('content.value'),
|
6502
6604
|
valueDidChange: function(obj, keyName, value) {
|
6503
6605
|
// only run if updating a value already in the DOM
|
6504
|
-
if(this.get('state') === 'inDOM') {
|
6606
|
+
if (this.get('state') === 'inDOM') {
|
6505
6607
|
var color = value > this.changingFrom ? 'green' : 'red';
|
6506
6608
|
// logic
|
6507
6609
|
}
|
@@ -6537,65 +6639,82 @@ Ember Metal
|
|
6537
6639
|
|
6538
6640
|
(function() {
|
6539
6641
|
define("rsvp/all",
|
6540
|
-
["rsvp/
|
6642
|
+
["rsvp/promise","exports"],
|
6541
6643
|
function(__dependency1__, __exports__) {
|
6542
6644
|
"use strict";
|
6543
|
-
var
|
6645
|
+
var Promise = __dependency1__.Promise;
|
6646
|
+
/* global toString */
|
6544
6647
|
|
6545
|
-
function all(promises) {
|
6546
|
-
var results = [], deferred = defer(), remaining = promises.length;
|
6547
6648
|
|
6548
|
-
|
6549
|
-
|
6649
|
+
function all(promises) {
|
6650
|
+
if (Object.prototype.toString.call(promises) !== "[object Array]") {
|
6651
|
+
throw new TypeError('You must pass an array to all.');
|
6550
6652
|
}
|
6551
6653
|
|
6552
|
-
|
6553
|
-
|
6554
|
-
|
6555
|
-
};
|
6556
|
-
};
|
6654
|
+
return new Promise(function(resolve, reject) {
|
6655
|
+
var results = [], remaining = promises.length,
|
6656
|
+
promise;
|
6557
6657
|
|
6558
|
-
|
6559
|
-
|
6560
|
-
if (--remaining === 0) {
|
6561
|
-
deferred.resolve(results);
|
6658
|
+
if (remaining === 0) {
|
6659
|
+
resolve([]);
|
6562
6660
|
}
|
6563
|
-
};
|
6564
6661
|
|
6565
|
-
|
6566
|
-
|
6567
|
-
|
6662
|
+
function resolver(index) {
|
6663
|
+
return function(value) {
|
6664
|
+
resolveAll(index, value);
|
6665
|
+
};
|
6666
|
+
}
|
6568
6667
|
|
6569
|
-
|
6570
|
-
|
6571
|
-
|
6572
|
-
|
6573
|
-
|
6668
|
+
function resolveAll(index, value) {
|
6669
|
+
results[index] = value;
|
6670
|
+
if (--remaining === 0) {
|
6671
|
+
resolve(results);
|
6672
|
+
}
|
6574
6673
|
}
|
6575
|
-
|
6576
|
-
|
6674
|
+
|
6675
|
+
for (var i = 0; i < promises.length; i++) {
|
6676
|
+
promise = promises[i];
|
6677
|
+
|
6678
|
+
if (promise && typeof promise.then === 'function') {
|
6679
|
+
promise.then(resolver(i), reject);
|
6680
|
+
} else {
|
6681
|
+
resolveAll(i, promise);
|
6682
|
+
}
|
6683
|
+
}
|
6684
|
+
});
|
6577
6685
|
}
|
6578
6686
|
|
6687
|
+
|
6579
6688
|
__exports__.all = all;
|
6580
6689
|
});
|
6581
|
-
|
6582
6690
|
define("rsvp/async",
|
6583
6691
|
["exports"],
|
6584
6692
|
function(__exports__) {
|
6585
6693
|
"use strict";
|
6586
6694
|
var browserGlobal = (typeof window !== 'undefined') ? window : {};
|
6587
|
-
|
6588
6695
|
var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
|
6589
6696
|
var async;
|
6590
6697
|
|
6591
|
-
|
6592
|
-
|
6593
|
-
|
6698
|
+
// old node
|
6699
|
+
function useNextTick() {
|
6700
|
+
return function(callback, arg) {
|
6594
6701
|
process.nextTick(function() {
|
6595
|
-
callback
|
6702
|
+
callback(arg);
|
6596
6703
|
});
|
6597
6704
|
};
|
6598
|
-
}
|
6705
|
+
}
|
6706
|
+
|
6707
|
+
// node >= 0.10.x
|
6708
|
+
function useSetImmediate() {
|
6709
|
+
return function(callback, arg) {
|
6710
|
+
/* global setImmediate */
|
6711
|
+
setImmediate(function(){
|
6712
|
+
callback(arg);
|
6713
|
+
});
|
6714
|
+
};
|
6715
|
+
}
|
6716
|
+
|
6717
|
+
function useMutationObserver() {
|
6599
6718
|
var queue = [];
|
6600
6719
|
|
6601
6720
|
var observer = new BrowserMutationObserver(function() {
|
@@ -6603,8 +6722,8 @@ define("rsvp/async",
|
|
6603
6722
|
queue = [];
|
6604
6723
|
|
6605
6724
|
toProcess.forEach(function(tuple) {
|
6606
|
-
var callback = tuple[0],
|
6607
|
-
callback
|
6725
|
+
var callback = tuple[0], arg= tuple[1];
|
6726
|
+
callback(arg);
|
6608
6727
|
});
|
6609
6728
|
});
|
6610
6729
|
|
@@ -6615,24 +6734,35 @@ define("rsvp/async",
|
|
6615
6734
|
window.addEventListener('unload', function(){
|
6616
6735
|
observer.disconnect();
|
6617
6736
|
observer = null;
|
6618
|
-
});
|
6737
|
+
}, false);
|
6619
6738
|
|
6620
|
-
|
6621
|
-
queue.push([callback,
|
6739
|
+
return function(callback, arg) {
|
6740
|
+
queue.push([callback, arg]);
|
6622
6741
|
element.setAttribute('drainQueue', 'drainQueue');
|
6623
6742
|
};
|
6624
|
-
}
|
6625
|
-
|
6743
|
+
}
|
6744
|
+
|
6745
|
+
function useSetTimeout() {
|
6746
|
+
return function(callback, arg) {
|
6626
6747
|
setTimeout(function() {
|
6627
|
-
callback
|
6748
|
+
callback(arg);
|
6628
6749
|
}, 1);
|
6629
6750
|
};
|
6630
6751
|
}
|
6631
6752
|
|
6753
|
+
if (typeof setImmediate === 'function') {
|
6754
|
+
async = useSetImmediate();
|
6755
|
+
} else if (typeof process !== 'undefined' && {}.toString.call(process) === '[object process]') {
|
6756
|
+
async = useNextTick();
|
6757
|
+
} else if (BrowserMutationObserver) {
|
6758
|
+
async = useMutationObserver();
|
6759
|
+
} else {
|
6760
|
+
async = useSetTimeout();
|
6761
|
+
}
|
6762
|
+
|
6632
6763
|
|
6633
6764
|
__exports__.async = async;
|
6634
6765
|
});
|
6635
|
-
|
6636
6766
|
define("rsvp/config",
|
6637
6767
|
["rsvp/async","exports"],
|
6638
6768
|
function(__dependency1__, __exports__) {
|
@@ -6642,9 +6772,9 @@ define("rsvp/config",
|
|
6642
6772
|
var config = {};
|
6643
6773
|
config.async = async;
|
6644
6774
|
|
6775
|
+
|
6645
6776
|
__exports__.config = config;
|
6646
6777
|
});
|
6647
|
-
|
6648
6778
|
define("rsvp/defer",
|
6649
6779
|
["rsvp/promise","exports"],
|
6650
6780
|
function(__dependency1__, __exports__) {
|
@@ -6652,20 +6782,24 @@ define("rsvp/defer",
|
|
6652
6782
|
var Promise = __dependency1__.Promise;
|
6653
6783
|
|
6654
6784
|
function defer() {
|
6655
|
-
var deferred = {
|
6785
|
+
var deferred = {
|
6786
|
+
// pre-allocate shape
|
6787
|
+
resolve: undefined,
|
6788
|
+
reject: undefined,
|
6789
|
+
promise: undefined
|
6790
|
+
};
|
6656
6791
|
|
6657
|
-
|
6792
|
+
deferred.promise = new Promise(function(resolve, reject) {
|
6658
6793
|
deferred.resolve = resolve;
|
6659
6794
|
deferred.reject = reject;
|
6660
6795
|
});
|
6661
6796
|
|
6662
|
-
deferred.promise = promise;
|
6663
6797
|
return deferred;
|
6664
6798
|
}
|
6665
6799
|
|
6800
|
+
|
6666
6801
|
__exports__.defer = defer;
|
6667
6802
|
});
|
6668
|
-
|
6669
6803
|
define("rsvp/events",
|
6670
6804
|
["exports"],
|
6671
6805
|
function(__exports__) {
|
@@ -6767,7 +6901,6 @@ define("rsvp/events",
|
|
6767
6901
|
|
6768
6902
|
__exports__.EventTarget = EventTarget;
|
6769
6903
|
});
|
6770
|
-
|
6771
6904
|
define("rsvp/hash",
|
6772
6905
|
["rsvp/defer","exports"],
|
6773
6906
|
function(__dependency1__, __exports__) {
|
@@ -6775,13 +6908,13 @@ define("rsvp/hash",
|
|
6775
6908
|
var defer = __dependency1__.defer;
|
6776
6909
|
|
6777
6910
|
function size(object) {
|
6778
|
-
var
|
6911
|
+
var s = 0;
|
6779
6912
|
|
6780
6913
|
for (var prop in object) {
|
6781
|
-
|
6914
|
+
s++;
|
6782
6915
|
}
|
6783
6916
|
|
6784
|
-
return
|
6917
|
+
return s;
|
6785
6918
|
}
|
6786
6919
|
|
6787
6920
|
function hash(promises) {
|
@@ -6819,9 +6952,9 @@ define("rsvp/hash",
|
|
6819
6952
|
return deferred.promise;
|
6820
6953
|
}
|
6821
6954
|
|
6955
|
+
|
6822
6956
|
__exports__.hash = hash;
|
6823
6957
|
});
|
6824
|
-
|
6825
6958
|
define("rsvp/node",
|
6826
6959
|
["rsvp/promise","rsvp/all","exports"],
|
6827
6960
|
function(__dependency1__, __dependency2__, __exports__) {
|
@@ -6844,6 +6977,7 @@ define("rsvp/node",
|
|
6844
6977
|
function denodeify(nodeFunc) {
|
6845
6978
|
return function() {
|
6846
6979
|
var nodeArgs = Array.prototype.slice.call(arguments), resolve, reject;
|
6980
|
+
var thisArg = this;
|
6847
6981
|
|
6848
6982
|
var promise = new Promise(function(nodeResolve, nodeReject) {
|
6849
6983
|
resolve = nodeResolve;
|
@@ -6854,7 +6988,7 @@ define("rsvp/node",
|
|
6854
6988
|
nodeArgs.push(makeNodeCallbackFor(resolve, reject));
|
6855
6989
|
|
6856
6990
|
try {
|
6857
|
-
nodeFunc.apply(
|
6991
|
+
nodeFunc.apply(thisArg, nodeArgs);
|
6858
6992
|
} catch(e) {
|
6859
6993
|
reject(e);
|
6860
6994
|
}
|
@@ -6864,9 +6998,9 @@ define("rsvp/node",
|
|
6864
6998
|
};
|
6865
6999
|
}
|
6866
7000
|
|
7001
|
+
|
6867
7002
|
__exports__.denodeify = denodeify;
|
6868
7003
|
});
|
6869
|
-
|
6870
7004
|
define("rsvp/promise",
|
6871
7005
|
["rsvp/config","rsvp/events","exports"],
|
6872
7006
|
function(__dependency1__, __dependency2__, __exports__) {
|
@@ -6914,12 +7048,20 @@ define("rsvp/promise",
|
|
6914
7048
|
this.trigger('error', { detail: event.detail });
|
6915
7049
|
}, this);
|
6916
7050
|
|
7051
|
+
this.on('error', onerror);
|
7052
|
+
|
6917
7053
|
try {
|
6918
7054
|
resolver(resolvePromise, rejectPromise);
|
6919
7055
|
} catch(e) {
|
6920
7056
|
rejectPromise(e);
|
6921
7057
|
}
|
6922
|
-
};
|
7058
|
+
};
|
7059
|
+
|
7060
|
+
function onerror(event) {
|
7061
|
+
if (config.onerror) {
|
7062
|
+
config.onerror(event.detail);
|
7063
|
+
}
|
7064
|
+
}
|
6923
7065
|
|
6924
7066
|
var invokeCallback = function(type, promise, callback, event) {
|
6925
7067
|
var hasCallback = isFunction(callback),
|
@@ -6954,18 +7096,25 @@ define("rsvp/promise",
|
|
6954
7096
|
Promise.prototype = {
|
6955
7097
|
constructor: Promise,
|
6956
7098
|
|
7099
|
+
isRejected: undefined,
|
7100
|
+
isFulfilled: undefined,
|
7101
|
+
rejectedReason: undefined,
|
7102
|
+
fulfillmentValue: undefined,
|
7103
|
+
|
6957
7104
|
then: function(done, fail) {
|
6958
|
-
|
7105
|
+
this.off('error', onerror);
|
7106
|
+
|
7107
|
+
var thenPromise = new this.constructor(function() {});
|
6959
7108
|
|
6960
7109
|
if (this.isFulfilled) {
|
6961
|
-
config.async(function() {
|
6962
|
-
invokeCallback('resolve', thenPromise, done, { detail:
|
7110
|
+
config.async(function(promise) {
|
7111
|
+
invokeCallback('resolve', thenPromise, done, { detail: promise.fulfillmentValue });
|
6963
7112
|
}, this);
|
6964
7113
|
}
|
6965
7114
|
|
6966
7115
|
if (this.isRejected) {
|
6967
|
-
config.async(function() {
|
6968
|
-
invokeCallback('reject', thenPromise, fail, { detail:
|
7116
|
+
config.async(function(promise) {
|
7117
|
+
invokeCallback('reject', thenPromise, fail, { detail: promise.rejectedReason });
|
6969
7118
|
}, this);
|
6970
7119
|
}
|
6971
7120
|
|
@@ -6992,32 +7141,40 @@ define("rsvp/promise",
|
|
6992
7141
|
}
|
6993
7142
|
|
6994
7143
|
function handleThenable(promise, value) {
|
6995
|
-
var then = null
|
7144
|
+
var then = null,
|
7145
|
+
resolved;
|
6996
7146
|
|
6997
|
-
|
6998
|
-
|
6999
|
-
|
7000
|
-
} catch(e) {
|
7001
|
-
reject(promise, e);
|
7002
|
-
return true;
|
7147
|
+
try {
|
7148
|
+
if (promise === value) {
|
7149
|
+
throw new TypeError("A promises callback cannot return that same promise.");
|
7003
7150
|
}
|
7004
7151
|
|
7005
|
-
if (
|
7006
|
-
|
7152
|
+
if (objectOrFunction(value)) {
|
7153
|
+
then = value.then;
|
7154
|
+
|
7155
|
+
if (isFunction(then)) {
|
7007
7156
|
then.call(value, function(val) {
|
7157
|
+
if (resolved) { return true; }
|
7158
|
+
resolved = true;
|
7159
|
+
|
7008
7160
|
if (value !== val) {
|
7009
7161
|
resolve(promise, val);
|
7010
7162
|
} else {
|
7011
7163
|
fulfill(promise, val);
|
7012
7164
|
}
|
7013
7165
|
}, function(val) {
|
7166
|
+
if (resolved) { return true; }
|
7167
|
+
resolved = true;
|
7168
|
+
|
7014
7169
|
reject(promise, val);
|
7015
7170
|
});
|
7016
|
-
|
7017
|
-
|
7171
|
+
|
7172
|
+
return true;
|
7018
7173
|
}
|
7019
|
-
return true;
|
7020
7174
|
}
|
7175
|
+
} catch (error) {
|
7176
|
+
reject(promise, error);
|
7177
|
+
return true;
|
7021
7178
|
}
|
7022
7179
|
|
7023
7180
|
return false;
|
@@ -7042,19 +7199,12 @@ define("rsvp/promise",
|
|
7042
7199
|
|
7043
7200
|
__exports__.Promise = Promise;
|
7044
7201
|
});
|
7045
|
-
|
7046
7202
|
define("rsvp/reject",
|
7047
7203
|
["rsvp/promise","exports"],
|
7048
7204
|
function(__dependency1__, __exports__) {
|
7049
7205
|
"use strict";
|
7050
7206
|
var Promise = __dependency1__.Promise;
|
7051
7207
|
|
7052
|
-
|
7053
|
-
function objectOrFunction(x) {
|
7054
|
-
return typeof x === "function" || (typeof x === "object" && x !== null);
|
7055
|
-
}
|
7056
|
-
|
7057
|
-
|
7058
7208
|
function reject(reason) {
|
7059
7209
|
return new Promise(function (resolve, reject) {
|
7060
7210
|
reject(reason);
|
@@ -7064,48 +7214,21 @@ define("rsvp/reject",
|
|
7064
7214
|
|
7065
7215
|
__exports__.reject = reject;
|
7066
7216
|
});
|
7067
|
-
|
7068
7217
|
define("rsvp/resolve",
|
7069
7218
|
["rsvp/promise","exports"],
|
7070
7219
|
function(__dependency1__, __exports__) {
|
7071
7220
|
"use strict";
|
7072
7221
|
var Promise = __dependency1__.Promise;
|
7073
7222
|
|
7074
|
-
|
7075
|
-
|
7076
|
-
|
7077
|
-
}
|
7078
|
-
|
7079
|
-
function resolve(thenable){
|
7080
|
-
var promise = new Promise(function(resolve, reject){
|
7081
|
-
var then;
|
7082
|
-
|
7083
|
-
try {
|
7084
|
-
if ( objectOrFunction(thenable) ) {
|
7085
|
-
then = thenable.then;
|
7086
|
-
|
7087
|
-
if (typeof then === "function") {
|
7088
|
-
then.call(thenable, resolve, reject);
|
7089
|
-
} else {
|
7090
|
-
resolve(thenable);
|
7091
|
-
}
|
7092
|
-
|
7093
|
-
} else {
|
7094
|
-
resolve(thenable);
|
7095
|
-
}
|
7096
|
-
|
7097
|
-
} catch(error) {
|
7098
|
-
reject(error);
|
7099
|
-
}
|
7223
|
+
function resolve(thenable) {
|
7224
|
+
return new Promise(function(resolve, reject) {
|
7225
|
+
resolve(thenable);
|
7100
7226
|
});
|
7101
|
-
|
7102
|
-
return promise;
|
7103
7227
|
}
|
7104
7228
|
|
7105
7229
|
|
7106
7230
|
__exports__.resolve = resolve;
|
7107
7231
|
});
|
7108
|
-
|
7109
7232
|
define("rsvp",
|
7110
7233
|
["rsvp/events","rsvp/promise","rsvp/node","rsvp/all","rsvp/hash","rsvp/defer","rsvp/config","rsvp/resolve","rsvp/reject","exports"],
|
7111
7234
|
function(__dependency1__, __dependency2__, __dependency3__, __dependency4__, __dependency5__, __dependency6__, __dependency7__, __dependency8__, __dependency9__, __exports__) {
|
@@ -7136,8 +7259,6 @@ define("rsvp",
|
|
7136
7259
|
__exports__.reject = reject;
|
7137
7260
|
});
|
7138
7261
|
|
7139
|
-
|
7140
|
-
|
7141
7262
|
})();
|
7142
7263
|
|
7143
7264
|
(function() {
|
@@ -7205,6 +7326,16 @@ define("container",
|
|
7205
7326
|
this.dict[key] = value;
|
7206
7327
|
},
|
7207
7328
|
|
7329
|
+
/**
|
7330
|
+
Delete the given key
|
7331
|
+
|
7332
|
+
@method remove
|
7333
|
+
@param {String} key
|
7334
|
+
*/
|
7335
|
+
remove: function(key) {
|
7336
|
+
delete this.dict[key];
|
7337
|
+
},
|
7338
|
+
|
7208
7339
|
/**
|
7209
7340
|
Check for the existence of given a key, if the key is present at the current
|
7210
7341
|
level return true, otherwise walk up the parent hierarchy and try again. If
|
@@ -7377,7 +7508,7 @@ define("container",
|
|
7377
7508
|
register: function(type, name, factory, options) {
|
7378
7509
|
var fullName;
|
7379
7510
|
|
7380
|
-
if (type.indexOf(':') !== -1){
|
7511
|
+
if (type.indexOf(':') !== -1) {
|
7381
7512
|
options = factory;
|
7382
7513
|
factory = name;
|
7383
7514
|
fullName = type;
|
@@ -7392,11 +7523,34 @@ define("container",
|
|
7392
7523
|
this._options.set(normalizedName, options || {});
|
7393
7524
|
},
|
7394
7525
|
|
7526
|
+
/**
|
7527
|
+
Unregister a fullName
|
7528
|
+
|
7529
|
+
```javascript
|
7530
|
+
var container = new Container();
|
7531
|
+
container.register('model:user', User);
|
7532
|
+
|
7533
|
+
container.lookup('model:user') instanceof User //=> true
|
7534
|
+
|
7535
|
+
container.unregister('model:user')
|
7536
|
+
container.lookup('model:user') === undefined //=> true
|
7537
|
+
|
7538
|
+
@method unregister
|
7539
|
+
@param {String} fullName
|
7540
|
+
*/
|
7541
|
+
unregister: function(fullName) {
|
7542
|
+
var normalizedName = this.normalize(fullName);
|
7543
|
+
|
7544
|
+
this.registry.remove(normalizedName);
|
7545
|
+
this.cache.remove(normalizedName);
|
7546
|
+
this._options.remove(normalizedName);
|
7547
|
+
},
|
7548
|
+
|
7395
7549
|
/**
|
7396
7550
|
Given a fullName return the corresponding factory.
|
7397
7551
|
|
7398
|
-
By default `resolve` will
|
7399
|
-
|
7552
|
+
By default `resolve` will retrieve the factory from
|
7553
|
+
its container's registry.
|
7400
7554
|
|
7401
7555
|
```javascript
|
7402
7556
|
var container = new Container();
|
@@ -7428,6 +7582,20 @@ define("container",
|
|
7428
7582
|
return this.resolver(fullName) || this.registry.get(fullName);
|
7429
7583
|
},
|
7430
7584
|
|
7585
|
+
/**
|
7586
|
+
A hook that can be used to describe how the resolver will
|
7587
|
+
attempt to find the factory.
|
7588
|
+
|
7589
|
+
For example, the default Ember `.describe` returns the full
|
7590
|
+
class name (including namespace) where Ember's resolver expects
|
7591
|
+
to find the `fullName`.
|
7592
|
+
|
7593
|
+
@method describe
|
7594
|
+
*/
|
7595
|
+
describe: function(fullName) {
|
7596
|
+
return fullName;
|
7597
|
+
},
|
7598
|
+
|
7431
7599
|
/**
|
7432
7600
|
A hook to enable custom fullName normalization behaviour
|
7433
7601
|
|
@@ -8001,7 +8169,11 @@ Ember.copy = function(obj, deep) {
|
|
8001
8169
|
@return {String} A description of the object
|
8002
8170
|
*/
|
8003
8171
|
Ember.inspect = function(obj) {
|
8004
|
-
|
8172
|
+
var type = Ember.typeOf(obj);
|
8173
|
+
if (type === 'array') {
|
8174
|
+
return '[' + obj + ']';
|
8175
|
+
}
|
8176
|
+
if (type !== 'object') {
|
8005
8177
|
return obj + '';
|
8006
8178
|
}
|
8007
8179
|
|
@@ -8184,9 +8356,9 @@ Ember.String = {
|
|
8184
8356
|
// first, replace any ORDERED replacements.
|
8185
8357
|
var idx = 0; // the current index for non-numerical replacements
|
8186
8358
|
return str.replace(/%@([0-9]+)?/g, function(s, argIndex) {
|
8187
|
-
argIndex = (argIndex) ? parseInt(argIndex,
|
8359
|
+
argIndex = (argIndex) ? parseInt(argIndex, 10) - 1 : idx++;
|
8188
8360
|
s = formats[argIndex];
|
8189
|
-
return (
|
8361
|
+
return (s === null) ? '(null)' : (s === undefined) ? '' : Ember.inspect(s);
|
8190
8362
|
}) ;
|
8191
8363
|
},
|
8192
8364
|
|
@@ -8704,14 +8876,10 @@ function iter(key, value) {
|
|
8704
8876
|
|
8705
8877
|
@class Enumerable
|
8706
8878
|
@namespace Ember
|
8707
|
-
@extends Ember.Mixin
|
8708
8879
|
@since Ember 0.9
|
8709
8880
|
*/
|
8710
8881
|
Ember.Enumerable = Ember.Mixin.create({
|
8711
8882
|
|
8712
|
-
// compatibility
|
8713
|
-
isEnumerable: true,
|
8714
|
-
|
8715
8883
|
/**
|
8716
8884
|
Implement this method to make your class enumerable.
|
8717
8885
|
|
@@ -9183,7 +9351,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9183
9351
|
@method some
|
9184
9352
|
@param {Function} callback The callback to execute
|
9185
9353
|
@param {Object} [target] The target object to use
|
9186
|
-
@return {
|
9354
|
+
@return {Boolean} `true` if the passed function returns `true` for any item
|
9187
9355
|
*/
|
9188
9356
|
some: function(callback, target) {
|
9189
9357
|
return !!this.find(function(x, idx, i) {
|
@@ -9198,7 +9366,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9198
9366
|
@method someProperty
|
9199
9367
|
@param {String} key the property to test
|
9200
9368
|
@param {String} [value] optional value to test against.
|
9201
|
-
@return {Boolean} `true`
|
9369
|
+
@return {Boolean} `true` if the passed function returns `true` for any item
|
9202
9370
|
*/
|
9203
9371
|
someProperty: function(key, value) {
|
9204
9372
|
return this.some(iter.apply(this, arguments));
|
@@ -9338,7 +9506,7 @@ Ember.Enumerable = Ember.Mixin.create({
|
|
9338
9506
|
*/
|
9339
9507
|
uniq: function() {
|
9340
9508
|
var ret = Ember.A();
|
9341
|
-
this.forEach(function(k){
|
9509
|
+
this.forEach(function(k) {
|
9342
9510
|
if (a_indexOf(ret, k)<0) ret.push(k);
|
9343
9511
|
});
|
9344
9512
|
return ret;
|
@@ -9542,7 +9710,6 @@ var get = Ember.get, set = Ember.set, isNone = Ember.isNone, map = Ember.Enumera
|
|
9542
9710
|
|
9543
9711
|
@class Array
|
9544
9712
|
@namespace Ember
|
9545
|
-
@extends Ember.Mixin
|
9546
9713
|
@uses Ember.Enumerable
|
9547
9714
|
@since Ember 0.9.0
|
9548
9715
|
*/
|
@@ -9598,7 +9765,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9598
9765
|
*/
|
9599
9766
|
objectsAt: function(indexes) {
|
9600
9767
|
var self = this;
|
9601
|
-
return map(indexes, function(idx){ return self.objectAt(idx); });
|
9768
|
+
return map(indexes, function(idx) { return self.objectAt(idx); });
|
9602
9769
|
},
|
9603
9770
|
|
9604
9771
|
// overrides Ember.Enumerable version
|
@@ -9630,7 +9797,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9630
9797
|
}),
|
9631
9798
|
|
9632
9799
|
// optimized version from Enumerable
|
9633
|
-
contains: function(obj){
|
9800
|
+
contains: function(obj) {
|
9634
9801
|
return this.indexOf(obj) >= 0;
|
9635
9802
|
},
|
9636
9803
|
|
@@ -9695,7 +9862,7 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9695
9862
|
if (startAt < 0) startAt += len;
|
9696
9863
|
|
9697
9864
|
for(idx=startAt;idx<len;idx++) {
|
9698
|
-
if (this.objectAt(idx
|
9865
|
+
if (this.objectAt(idx) === object) return idx ;
|
9699
9866
|
}
|
9700
9867
|
return -1;
|
9701
9868
|
},
|
@@ -9940,20 +10107,10 @@ Ember.Array = Ember.Mixin.create(Ember.Enumerable, /** @scope Ember.Array.protot
|
|
9940
10107
|
|
9941
10108
|
@class Comparable
|
9942
10109
|
@namespace Ember
|
9943
|
-
@extends Ember.Mixin
|
9944
10110
|
@since Ember 0.9
|
9945
10111
|
*/
|
9946
10112
|
Ember.Comparable = Ember.Mixin.create( /** @scope Ember.Comparable.prototype */{
|
9947
10113
|
|
9948
|
-
/**
|
9949
|
-
walk like a duck. Indicates that the object can be compared.
|
9950
|
-
|
9951
|
-
@property isComparable
|
9952
|
-
@type Boolean
|
9953
|
-
@default true
|
9954
|
-
*/
|
9955
|
-
isComparable: true,
|
9956
|
-
|
9957
10114
|
/**
|
9958
10115
|
Override to return the result of the comparison of the two parameters. The
|
9959
10116
|
compare method should return:
|
@@ -10001,7 +10158,6 @@ var get = Ember.get, set = Ember.set;
|
|
10001
10158
|
|
10002
10159
|
@class Copyable
|
10003
10160
|
@namespace Ember
|
10004
|
-
@extends Ember.Mixin
|
10005
10161
|
@since Ember 0.9
|
10006
10162
|
*/
|
10007
10163
|
Ember.Copyable = Ember.Mixin.create(/** @scope Ember.Copyable.prototype */ {
|
@@ -10106,7 +10262,6 @@ var get = Ember.get, set = Ember.set;
|
|
10106
10262
|
|
10107
10263
|
@class Freezable
|
10108
10264
|
@namespace Ember
|
10109
|
-
@extends Ember.Mixin
|
10110
10265
|
@since Ember 0.9
|
10111
10266
|
*/
|
10112
10267
|
Ember.Freezable = Ember.Mixin.create(/** @scope Ember.Freezable.prototype */ {
|
@@ -10186,7 +10341,6 @@ var forEach = Ember.EnumerableUtils.forEach;
|
|
10186
10341
|
|
10187
10342
|
@class MutableEnumerable
|
10188
10343
|
@namespace Ember
|
10189
|
-
@extends Ember.Mixin
|
10190
10344
|
@uses Ember.Enumerable
|
10191
10345
|
*/
|
10192
10346
|
Ember.MutableEnumerable = Ember.Mixin.create(Ember.Enumerable, {
|
@@ -10286,7 +10440,6 @@ var get = Ember.get, set = Ember.set;
|
|
10286
10440
|
|
10287
10441
|
@class MutableArray
|
10288
10442
|
@namespace Ember
|
10289
|
-
@extends Ember.Mixin
|
10290
10443
|
@uses Ember.Array
|
10291
10444
|
@uses Ember.MutableEnumerable
|
10292
10445
|
*/
|
@@ -10356,7 +10509,7 @@ Ember.MutableArray = Ember.Mixin.create(Ember.Array, Ember.MutableEnumerable,/**
|
|
10356
10509
|
method. You can pass either a single index, or a start and a length.
|
10357
10510
|
|
10358
10511
|
If you pass a start and length that is beyond the
|
10359
|
-
length this method will throw an `
|
10512
|
+
length this method will throw an `OUT_OF_RANGE_EXCEPTION`
|
10360
10513
|
|
10361
10514
|
```javascript
|
10362
10515
|
var colors = ["red", "green", "blue", "yellow", "orange"];
|
@@ -10410,7 +10563,7 @@ Ember.MutableArray = Ember.Mixin.create(Ember.Array, Ember.MutableEnumerable,/**
|
|
10410
10563
|
|
10411
10564
|
```javascript
|
10412
10565
|
var colors = ["red", "green", "blue"];
|
10413
|
-
colors.pushObjects("black"); // ["red", "green", "blue", "black"]
|
10566
|
+
colors.pushObjects(["black"]); // ["red", "green", "blue", "black"]
|
10414
10567
|
colors.pushObjects(["yellow", "orange"]); // ["red", "green", "blue", "black", "yellow", "orange"]
|
10415
10568
|
```
|
10416
10569
|
|
@@ -10419,6 +10572,9 @@ Ember.MutableArray = Ember.Mixin.create(Ember.Array, Ember.MutableEnumerable,/**
|
|
10419
10572
|
@return {Ember.Array} receiver
|
10420
10573
|
*/
|
10421
10574
|
pushObjects: function(objects) {
|
10575
|
+
if (!(Ember.Enumerable.detect(objects) || Ember.isArray(objects))) {
|
10576
|
+
throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");
|
10577
|
+
}
|
10422
10578
|
this.replace(get(this, 'length'), 0, objects);
|
10423
10579
|
return this;
|
10424
10580
|
},
|
@@ -10637,9 +10793,8 @@ var get = Ember.get, set = Ember.set;
|
|
10637
10793
|
|
10638
10794
|
@class Observable
|
10639
10795
|
@namespace Ember
|
10640
|
-
@extends Ember.Mixin
|
10641
10796
|
*/
|
10642
|
-
Ember.Observable = Ember.Mixin.create(
|
10797
|
+
Ember.Observable = Ember.Mixin.create({
|
10643
10798
|
|
10644
10799
|
/**
|
10645
10800
|
Retrieves the value of a property from the object.
|
@@ -10837,7 +10992,7 @@ Ember.Observable = Ember.Mixin.create(/** @scope Ember.Observable.prototype */ {
|
|
10837
10992
|
@param {String} keyName The property key that is about to change.
|
10838
10993
|
@return {Ember.Observable}
|
10839
10994
|
*/
|
10840
|
-
propertyWillChange: function(keyName){
|
10995
|
+
propertyWillChange: function(keyName) {
|
10841
10996
|
Ember.propertyWillChange(this, keyName);
|
10842
10997
|
return this;
|
10843
10998
|
},
|
@@ -11143,7 +11298,7 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11143
11298
|
target: Ember.computed.alias('controller'),
|
11144
11299
|
action: 'save',
|
11145
11300
|
actionContext: Ember.computed.alias('context'),
|
11146
|
-
click: function(){
|
11301
|
+
click: function() {
|
11147
11302
|
this.triggerAction(); // Sends the `save` action, along with the current context
|
11148
11303
|
// to the current controller
|
11149
11304
|
}
|
@@ -11155,7 +11310,7 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11155
11310
|
|
11156
11311
|
```javascript
|
11157
11312
|
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
11158
|
-
click: function(){
|
11313
|
+
click: function() {
|
11159
11314
|
this.triggerAction({
|
11160
11315
|
action: 'save',
|
11161
11316
|
target: this.get('controller'),
|
@@ -11173,7 +11328,7 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11173
11328
|
```javascript
|
11174
11329
|
App.SaveButtonView = Ember.View.extend(Ember.TargetActionSupport, {
|
11175
11330
|
target: Ember.computed.alias('controller'),
|
11176
|
-
click: function(){
|
11331
|
+
click: function() {
|
11177
11332
|
this.triggerAction({
|
11178
11333
|
action: 'save'
|
11179
11334
|
}); // Sends the `save` action, along with a reference to `this`,
|
@@ -11255,7 +11410,6 @@ Ember.TargetActionSupport = Ember.Mixin.create({
|
|
11255
11410
|
|
11256
11411
|
@class Evented
|
11257
11412
|
@namespace Ember
|
11258
|
-
@extends Ember.Mixin
|
11259
11413
|
*/
|
11260
11414
|
Ember.Evented = Ember.Mixin.create({
|
11261
11415
|
|
@@ -11373,8 +11527,8 @@ Ember.Evented = Ember.Mixin.create({
|
|
11373
11527
|
(function() {
|
11374
11528
|
var RSVP = requireModule("rsvp");
|
11375
11529
|
|
11376
|
-
RSVP.configure('async', function(callback,
|
11377
|
-
Ember.run.schedule('actions',
|
11530
|
+
RSVP.configure('async', function(callback, promise) {
|
11531
|
+
Ember.run.schedule('actions', promise, callback, promise);
|
11378
11532
|
});
|
11379
11533
|
|
11380
11534
|
/**
|
@@ -11387,7 +11541,6 @@ var get = Ember.get;
|
|
11387
11541
|
/**
|
11388
11542
|
@class Deferred
|
11389
11543
|
@namespace Ember
|
11390
|
-
@extends Ember.Mixin
|
11391
11544
|
*/
|
11392
11545
|
Ember.DeferredMixin = Ember.Mixin.create({
|
11393
11546
|
/**
|
@@ -11426,7 +11579,7 @@ Ember.DeferredMixin = Ember.Mixin.create({
|
|
11426
11579
|
deferred = get(this, '_deferred');
|
11427
11580
|
promise = deferred.promise;
|
11428
11581
|
|
11429
|
-
if (value === this){
|
11582
|
+
if (value === this) {
|
11430
11583
|
deferred.resolve(promise);
|
11431
11584
|
} else {
|
11432
11585
|
deferred.resolve(value);
|
@@ -11473,8 +11626,8 @@ Ember.Container.set = Ember.set;
|
|
11473
11626
|
*/
|
11474
11627
|
|
11475
11628
|
|
11476
|
-
// NOTE: this object should never be included directly. Instead use Ember.
|
11477
|
-
//
|
11629
|
+
// NOTE: this object should never be included directly. Instead use `Ember.Object`.
|
11630
|
+
// We only define this separately so that `Ember.Set` can depend on it.
|
11478
11631
|
|
11479
11632
|
|
11480
11633
|
var set = Ember.set, get = Ember.get,
|
@@ -11617,6 +11770,10 @@ function makeCtor() {
|
|
11617
11770
|
|
11618
11771
|
}
|
11619
11772
|
|
11773
|
+
/**
|
11774
|
+
@class CoreObject
|
11775
|
+
@namespace Ember
|
11776
|
+
*/
|
11620
11777
|
var CoreObject = makeCtor();
|
11621
11778
|
CoreObject.toString = function() { return "Ember.CoreObject"; };
|
11622
11779
|
|
@@ -11813,7 +11970,7 @@ CoreObject.PrototypeMixin = Mixin.create({
|
|
11813
11970
|
included in the output.
|
11814
11971
|
|
11815
11972
|
App.Teacher = App.Person.extend({
|
11816
|
-
toStringExtension: function(){
|
11973
|
+
toStringExtension: function() {
|
11817
11974
|
return this.get('fullName');
|
11818
11975
|
}
|
11819
11976
|
});
|
@@ -11876,12 +12033,57 @@ var ClassMixin = Mixin.create({
|
|
11876
12033
|
return Class;
|
11877
12034
|
},
|
11878
12035
|
|
12036
|
+
/**
|
12037
|
+
Equivalent to doing `extend(arguments).create()`.
|
12038
|
+
If possible use the normal `create` method instead.
|
12039
|
+
|
12040
|
+
@method createWithMixins
|
12041
|
+
@static
|
12042
|
+
@param [arguments]*
|
12043
|
+
*/
|
11879
12044
|
createWithMixins: function() {
|
11880
12045
|
var C = this;
|
11881
12046
|
if (arguments.length>0) { this._initMixins(arguments); }
|
11882
12047
|
return new C();
|
11883
12048
|
},
|
11884
12049
|
|
12050
|
+
/**
|
12051
|
+
Creates an instance of a class. Accepts either no arguments, or an object
|
12052
|
+
containing values to initialize the newly instantiated object with.
|
12053
|
+
|
12054
|
+
```javascript
|
12055
|
+
App.Person = Ember.Object.extend({
|
12056
|
+
helloWorld: function() {
|
12057
|
+
alert("Hi, my name is " + this.get('name'));
|
12058
|
+
}
|
12059
|
+
});
|
12060
|
+
|
12061
|
+
var tom = App.Person.create({
|
12062
|
+
name: 'Tom Dale'
|
12063
|
+
});
|
12064
|
+
|
12065
|
+
tom.helloWorld(); // alerts "Hi, my name is Tom Dale".
|
12066
|
+
```
|
12067
|
+
|
12068
|
+
`create` will call the `init` function if defined during
|
12069
|
+
`Ember.AnyObject.extend`
|
12070
|
+
|
12071
|
+
If no arguments are passed to `create`, it will not set values to the new
|
12072
|
+
instance during initialization:
|
12073
|
+
|
12074
|
+
```javascript
|
12075
|
+
var noName = App.Person.create();
|
12076
|
+
noName.helloWorld(); // alerts undefined
|
12077
|
+
```
|
12078
|
+
|
12079
|
+
NOTE: For performance reasons, you cannot declare methods or computed
|
12080
|
+
properties during `create`. You should instead declare methods and computed
|
12081
|
+
properties when using `extend` or use the `createWithMixins` shorthand.
|
12082
|
+
|
12083
|
+
@method create
|
12084
|
+
@static
|
12085
|
+
@param [arguments]*
|
12086
|
+
*/
|
11885
12087
|
create: function() {
|
11886
12088
|
var C = this;
|
11887
12089
|
if (arguments.length>0) { this._initProperties(arguments); }
|
@@ -11980,10 +12182,6 @@ if (Ember.config.overrideClassMixin) {
|
|
11980
12182
|
CoreObject.ClassMixin = ClassMixin;
|
11981
12183
|
ClassMixin.apply(CoreObject);
|
11982
12184
|
|
11983
|
-
/**
|
11984
|
-
@class CoreObject
|
11985
|
-
@namespace Ember
|
11986
|
-
*/
|
11987
12185
|
Ember.CoreObject = CoreObject;
|
11988
12186
|
|
11989
12187
|
})();
|
@@ -12501,6 +12699,9 @@ Ember.ArrayProxy = Ember.Object.extend(Ember.MutableArray,/** @scope Ember.Array
|
|
12501
12699
|
},
|
12502
12700
|
|
12503
12701
|
pushObjects: function(objects) {
|
12702
|
+
if (!(Ember.Enumerable.detect(objects) || Ember.isArray(objects))) {
|
12703
|
+
throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");
|
12704
|
+
}
|
12504
12705
|
this._replace(get(this, 'length'), 0, objects);
|
12505
12706
|
return this;
|
12506
12707
|
},
|
@@ -12753,6 +12954,7 @@ function addObserverForContentKey(content, keyName, proxy, idx, loc) {
|
|
12753
12954
|
while(--loc>=idx) {
|
12754
12955
|
var item = content.objectAt(loc);
|
12755
12956
|
if (item) {
|
12957
|
+
|
12756
12958
|
Ember.addBeforeObserver(item, keyName, proxy, 'contentKeyWillChange');
|
12757
12959
|
Ember.addObserver(item, keyName, proxy, 'contentKeyDidChange');
|
12758
12960
|
|
@@ -12836,7 +13038,7 @@ Ember.EachProxy = Ember.Object.extend({
|
|
12836
13038
|
for(key in keys) {
|
12837
13039
|
if (!keys.hasOwnProperty(key)) { continue; }
|
12838
13040
|
|
12839
|
-
if (lim>0) removeObserverForContentKey(content, key, this, idx, lim);
|
13041
|
+
if (lim>0) { removeObserverForContentKey(content, key, this, idx, lim); }
|
12840
13042
|
|
12841
13043
|
Ember.propertyWillChange(this, key);
|
12842
13044
|
}
|
@@ -12846,21 +13048,20 @@ Ember.EachProxy = Ember.Object.extend({
|
|
12846
13048
|
},
|
12847
13049
|
|
12848
13050
|
arrayDidChange: function(content, idx, removedCnt, addedCnt) {
|
12849
|
-
var keys = this._keys,
|
13051
|
+
var keys = this._keys, lim;
|
12850
13052
|
|
12851
13053
|
lim = addedCnt>0 ? idx+addedCnt : -1;
|
12852
|
-
Ember.
|
13054
|
+
Ember.changeProperties(function() {
|
13055
|
+
for(var key in keys) {
|
13056
|
+
if (!keys.hasOwnProperty(key)) { continue; }
|
12853
13057
|
|
12854
|
-
|
12855
|
-
if (!keys.hasOwnProperty(key)) { continue; }
|
13058
|
+
if (lim>0) { addObserverForContentKey(content, key, this, idx, lim); }
|
12856
13059
|
|
12857
|
-
|
12858
|
-
|
12859
|
-
Ember.propertyDidChange(this, key);
|
12860
|
-
}
|
13060
|
+
Ember.propertyDidChange(this, key);
|
13061
|
+
}
|
12861
13062
|
|
12862
|
-
|
12863
|
-
|
13063
|
+
Ember.propertyDidChange(this._content, '@each');
|
13064
|
+
}, this);
|
12864
13065
|
},
|
12865
13066
|
|
12866
13067
|
// ..........................................................
|
@@ -13009,7 +13210,7 @@ var NativeArray = Ember.Mixin.create(Ember.MutableArray, Ember.Observable, Ember
|
|
13009
13210
|
|
13010
13211
|
copy: function(deep) {
|
13011
13212
|
if (deep) {
|
13012
|
-
return this.map(function(item){ return Ember.copy(item, true); });
|
13213
|
+
return this.map(function(item) { return Ember.copy(item, true); });
|
13013
13214
|
}
|
13014
13215
|
|
13015
13216
|
return this.slice();
|
@@ -13035,7 +13236,6 @@ if (ignore.length>0) {
|
|
13035
13236
|
|
13036
13237
|
@class NativeArray
|
13037
13238
|
@namespace Ember
|
13038
|
-
@extends Ember.Mixin
|
13039
13239
|
@uses Ember.MutableArray
|
13040
13240
|
@uses Ember.Observable
|
13041
13241
|
@uses Ember.Copyable
|
@@ -13050,7 +13250,7 @@ Ember.NativeArray = NativeArray;
|
|
13050
13250
|
@for Ember
|
13051
13251
|
@return {Ember.NativeArray}
|
13052
13252
|
*/
|
13053
|
-
Ember.A = function(arr){
|
13253
|
+
Ember.A = function(arr) {
|
13054
13254
|
if (arr === undefined) { arr = []; }
|
13055
13255
|
return Ember.Array.detect(arr) ? arr : Ember.NativeArray.apply(arr);
|
13056
13256
|
};
|
@@ -13226,7 +13426,7 @@ Ember.Set = Ember.CoreObject.extend(Ember.MutableEnumerable, Ember.Copyable, Emb
|
|
13226
13426
|
Ember.propertyWillChange(this, 'firstObject');
|
13227
13427
|
Ember.propertyWillChange(this, 'lastObject');
|
13228
13428
|
|
13229
|
-
for (var i=0; i < len; i++){
|
13429
|
+
for (var i=0; i < len; i++) {
|
13230
13430
|
guid = guidFor(this[i]);
|
13231
13431
|
delete this[guid];
|
13232
13432
|
delete this[i];
|
@@ -13646,7 +13846,6 @@ var get = Ember.get;
|
|
13646
13846
|
|
13647
13847
|
@class ControllerMixin
|
13648
13848
|
@namespace Ember
|
13649
|
-
@extends Ember.Mixin
|
13650
13849
|
*/
|
13651
13850
|
Ember.ControllerMixin = Ember.Mixin.create({
|
13652
13851
|
/* ducktype as a controller */
|
@@ -13680,7 +13879,7 @@ Ember.ControllerMixin = Ember.Mixin.create({
|
|
13680
13879
|
if (this[actionName]) {
|
13681
13880
|
|
13682
13881
|
this[actionName].apply(this, args);
|
13683
|
-
} else if(target = get(this, 'target')) {
|
13882
|
+
} else if (target = get(this, 'target')) {
|
13684
13883
|
|
13685
13884
|
target.send.apply(target, arguments);
|
13686
13885
|
}
|
@@ -13734,7 +13933,6 @@ var get = Ember.get, set = Ember.set, forEach = Ember.EnumerableUtils.forEach;
|
|
13734
13933
|
|
13735
13934
|
@class SortableMixin
|
13736
13935
|
@namespace Ember
|
13737
|
-
@extends Ember.Mixin
|
13738
13936
|
@uses Ember.MutableEnumerable
|
13739
13937
|
*/
|
13740
13938
|
Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
@@ -13752,7 +13950,7 @@ Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
|
13752
13950
|
@property {Boolean} sortAscending
|
13753
13951
|
*/
|
13754
13952
|
sortAscending: true,
|
13755
|
-
|
13953
|
+
|
13756
13954
|
/**
|
13757
13955
|
The function used to compare two values. You can override this if you
|
13758
13956
|
want to do custom comparisons.Functions must be of the type expected by
|
@@ -13762,8 +13960,8 @@ Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
|
13762
13960
|
return a positive value otherwise:
|
13763
13961
|
|
13764
13962
|
```javascript
|
13765
|
-
function(x,y){ // These are assumed to be integers
|
13766
|
-
if(x === y)
|
13963
|
+
function(x,y) { // These are assumed to be integers
|
13964
|
+
if (x === y)
|
13767
13965
|
return 0;
|
13768
13966
|
return x < y ? -1 : 1;
|
13769
13967
|
}
|
@@ -13774,7 +13972,7 @@ Ember.SortableMixin = Ember.Mixin.create(Ember.MutableEnumerable, {
|
|
13774
13972
|
@default Ember.compare
|
13775
13973
|
*/
|
13776
13974
|
sortFunction: Ember.compare,
|
13777
|
-
|
13975
|
+
|
13778
13976
|
orderBy: function(item1, item2) {
|
13779
13977
|
var result = 0,
|
13780
13978
|
sortProperties = get(this, 'sortProperties'),
|
@@ -14268,7 +14466,7 @@ if (Ember.$) {
|
|
14268
14466
|
// is a "zero-scope" element. This problem can be worked around by making
|
14269
14467
|
// the first node an invisible text node. We, like Modernizr, use ­
|
14270
14468
|
|
14271
|
-
var needsShy = this.document && (function(){
|
14469
|
+
var needsShy = this.document && (function() {
|
14272
14470
|
var testEl = document.createElement('div');
|
14273
14471
|
testEl.innerHTML = "<div></div>";
|
14274
14472
|
testEl.firstChild.innerHTML = "<script></script>";
|
@@ -14424,6 +14622,45 @@ ClassSet.prototype = {
|
|
14424
14622
|
}
|
14425
14623
|
};
|
14426
14624
|
|
14625
|
+
var BAD_TAG_NAME_TEST_REGEXP = /[^a-zA-Z0-9\-]/;
|
14626
|
+
var BAD_TAG_NAME_REPLACE_REGEXP = /[^a-zA-Z0-9\-]/g;
|
14627
|
+
|
14628
|
+
function stripTagName(tagName) {
|
14629
|
+
if (!tagName) {
|
14630
|
+
return tagName;
|
14631
|
+
}
|
14632
|
+
|
14633
|
+
if (!BAD_TAG_NAME_TEST_REGEXP.test(tagName)) {
|
14634
|
+
return tagName;
|
14635
|
+
}
|
14636
|
+
|
14637
|
+
return tagName.replace(BAD_TAG_NAME_REPLACE_REGEXP, '');
|
14638
|
+
}
|
14639
|
+
|
14640
|
+
var BAD_CHARS_REGEXP = /&(?!\w+;)|[<>"'`]/g;
|
14641
|
+
var POSSIBLE_CHARS_REGEXP = /[&<>"'`]/;
|
14642
|
+
|
14643
|
+
function escapeAttribute(value) {
|
14644
|
+
// Stolen shamelessly from Handlebars
|
14645
|
+
|
14646
|
+
var escape = {
|
14647
|
+
"<": "<",
|
14648
|
+
">": ">",
|
14649
|
+
'"': """,
|
14650
|
+
"'": "'",
|
14651
|
+
"`": "`"
|
14652
|
+
};
|
14653
|
+
|
14654
|
+
var escapeChar = function(chr) {
|
14655
|
+
return escape[chr] || "&";
|
14656
|
+
};
|
14657
|
+
|
14658
|
+
var string = value.toString();
|
14659
|
+
|
14660
|
+
if(!POSSIBLE_CHARS_REGEXP.test(string)) { return string; }
|
14661
|
+
return string.replace(BAD_CHARS_REGEXP, escapeChar);
|
14662
|
+
}
|
14663
|
+
|
14427
14664
|
/**
|
14428
14665
|
`Ember.RenderBuffer` gathers information regarding the a view and generates the
|
14429
14666
|
final representation. `Ember.RenderBuffer` will generate HTML which can be pushed
|
@@ -14711,14 +14948,14 @@ Ember._RenderBuffer.prototype =
|
|
14711
14948
|
style = this.elementStyle,
|
14712
14949
|
attr, prop;
|
14713
14950
|
|
14714
|
-
buffer += '<' + tagName;
|
14951
|
+
buffer += '<' + stripTagName(tagName);
|
14715
14952
|
|
14716
14953
|
if (id) {
|
14717
|
-
buffer += ' id="' +
|
14954
|
+
buffer += ' id="' + escapeAttribute(id) + '"';
|
14718
14955
|
this.elementId = null;
|
14719
14956
|
}
|
14720
14957
|
if (classes) {
|
14721
|
-
buffer += ' class="' +
|
14958
|
+
buffer += ' class="' + escapeAttribute(classes.join(' ')) + '"';
|
14722
14959
|
this.classes = null;
|
14723
14960
|
}
|
14724
14961
|
|
@@ -14727,7 +14964,7 @@ Ember._RenderBuffer.prototype =
|
|
14727
14964
|
|
14728
14965
|
for (prop in style) {
|
14729
14966
|
if (style.hasOwnProperty(prop)) {
|
14730
|
-
buffer += prop + ':' +
|
14967
|
+
buffer += prop + ':' + escapeAttribute(style[prop]) + ';';
|
14731
14968
|
}
|
14732
14969
|
}
|
14733
14970
|
|
@@ -14739,7 +14976,7 @@ Ember._RenderBuffer.prototype =
|
|
14739
14976
|
if (attrs) {
|
14740
14977
|
for (attr in attrs) {
|
14741
14978
|
if (attrs.hasOwnProperty(attr)) {
|
14742
|
-
buffer += ' ' + attr + '="' +
|
14979
|
+
buffer += ' ' + attr + '="' + escapeAttribute(attrs[attr]) + '"';
|
14743
14980
|
}
|
14744
14981
|
}
|
14745
14982
|
|
@@ -14754,7 +14991,7 @@ Ember._RenderBuffer.prototype =
|
|
14754
14991
|
if (value === true) {
|
14755
14992
|
buffer += ' ' + prop + '="' + prop + '"';
|
14756
14993
|
} else {
|
14757
|
-
buffer += ' ' + prop + '="' +
|
14994
|
+
buffer += ' ' + prop + '="' + escapeAttribute(props[prop]) + '"';
|
14758
14995
|
}
|
14759
14996
|
}
|
14760
14997
|
}
|
@@ -14769,7 +15006,7 @@ Ember._RenderBuffer.prototype =
|
|
14769
15006
|
|
14770
15007
|
pushClosingTag: function() {
|
14771
15008
|
var tagName = this.tagNames.pop();
|
14772
|
-
if (tagName) { this.buffer += '</' + tagName + '>'; }
|
15009
|
+
if (tagName) { this.buffer += '</' + stripTagName(tagName) + '>'; }
|
14773
15010
|
},
|
14774
15011
|
|
14775
15012
|
currentTagName: function() {
|
@@ -14856,7 +15093,7 @@ Ember._RenderBuffer.prototype =
|
|
14856
15093
|
if (this._hasElement && this._element) {
|
14857
15094
|
// Firefox versions < 11 do not have support for element.outerHTML.
|
14858
15095
|
var thisElement = this.element(), outerHTML = thisElement.outerHTML;
|
14859
|
-
if (typeof outerHTML === 'undefined'){
|
15096
|
+
if (typeof outerHTML === 'undefined') {
|
14860
15097
|
return Ember.$('<div/>').append(thisElement).html();
|
14861
15098
|
}
|
14862
15099
|
return outerHTML;
|
@@ -14867,32 +15104,7 @@ Ember._RenderBuffer.prototype =
|
|
14867
15104
|
|
14868
15105
|
innerString: function() {
|
14869
15106
|
return this.buffer;
|
14870
|
-
},
|
14871
|
-
|
14872
|
-
_escapeAttribute: function(value) {
|
14873
|
-
// Stolen shamelessly from Handlebars
|
14874
|
-
|
14875
|
-
var escape = {
|
14876
|
-
"<": "<",
|
14877
|
-
">": ">",
|
14878
|
-
'"': """,
|
14879
|
-
"'": "'",
|
14880
|
-
"`": "`"
|
14881
|
-
};
|
14882
|
-
|
14883
|
-
var badChars = /&(?!\w+;)|[<>"'`]/g;
|
14884
|
-
var possible = /[&<>"'`]/;
|
14885
|
-
|
14886
|
-
var escapeChar = function(chr) {
|
14887
|
-
return escape[chr] || "&";
|
14888
|
-
};
|
14889
|
-
|
14890
|
-
var string = value.toString();
|
14891
|
-
|
14892
|
-
if(!possible.test(string)) { return string; }
|
14893
|
-
return string.replace(badChars, escapeChar);
|
14894
15107
|
}
|
14895
|
-
|
14896
15108
|
};
|
14897
15109
|
|
14898
15110
|
})();
|
@@ -15206,8 +15418,11 @@ var childViewsProperty = Ember.computed(function() {
|
|
15206
15418
|
var childViews = this._childViews, ret = Ember.A(), view = this;
|
15207
15419
|
|
15208
15420
|
a_forEach(childViews, function(view) {
|
15421
|
+
var currentChildViews;
|
15209
15422
|
if (view.isVirtual) {
|
15210
|
-
|
15423
|
+
if (currentChildViews = get(view, 'childViews')) {
|
15424
|
+
ret.pushObjects(currentChildViews);
|
15425
|
+
}
|
15211
15426
|
} else {
|
15212
15427
|
ret.push(view);
|
15213
15428
|
}
|
@@ -15501,8 +15716,8 @@ class:
|
|
15501
15716
|
MyView = Ember.View.extend({
|
15502
15717
|
classNameBindings: ['propertyA', 'propertyB'],
|
15503
15718
|
propertyA: 'from-a',
|
15504
|
-
propertyB: function(){
|
15505
|
-
if(someLogic){ return 'from-b'; }
|
15719
|
+
propertyB: function() {
|
15720
|
+
if (someLogic) { return 'from-b'; }
|
15506
15721
|
}.property()
|
15507
15722
|
});
|
15508
15723
|
```
|
@@ -15683,7 +15898,7 @@ class:
|
|
15683
15898
|
MyTextInput = Ember.View.extend({
|
15684
15899
|
tagName: 'input',
|
15685
15900
|
attributeBindings: ['disabled'],
|
15686
|
-
disabled: function(){
|
15901
|
+
disabled: function() {
|
15687
15902
|
if (someLogic) {
|
15688
15903
|
return true;
|
15689
15904
|
} else {
|
@@ -15792,7 +16007,7 @@ class:
|
|
15792
16007
|
|
15793
16008
|
aController = Ember.Object.create({
|
15794
16009
|
firstName: 'Barry',
|
15795
|
-
excitedGreeting: function(){
|
16010
|
+
excitedGreeting: function() {
|
15796
16011
|
return this.get("content.firstName") + "!!!"
|
15797
16012
|
}.property()
|
15798
16013
|
});
|
@@ -15863,7 +16078,7 @@ class:
|
|
15863
16078
|
|
15864
16079
|
```javascript
|
15865
16080
|
AView = Ember.View.extend({
|
15866
|
-
click: function(event){
|
16081
|
+
click: function(event) {
|
15867
16082
|
// will be called when when an instance's
|
15868
16083
|
// rendered element is clicked
|
15869
16084
|
}
|
@@ -15884,7 +16099,7 @@ class:
|
|
15884
16099
|
```javascript
|
15885
16100
|
AView = Ember.View.extend({
|
15886
16101
|
eventManager: Ember.Object.create({
|
15887
|
-
doubleClick: function(event, view){
|
16102
|
+
doubleClick: function(event, view) {
|
15888
16103
|
// will be called when when an instance's
|
15889
16104
|
// rendered element or any rendering
|
15890
16105
|
// of this views's descendent
|
@@ -15899,11 +16114,11 @@ class:
|
|
15899
16114
|
|
15900
16115
|
```javascript
|
15901
16116
|
AView = Ember.View.extend({
|
15902
|
-
mouseEnter: function(event){
|
16117
|
+
mouseEnter: function(event) {
|
15903
16118
|
// will never trigger.
|
15904
16119
|
},
|
15905
16120
|
eventManager: Ember.Object.create({
|
15906
|
-
mouseEnter: function(event, view){
|
16121
|
+
mouseEnter: function(event, view) {
|
15907
16122
|
// takes presedence over AView#mouseEnter
|
15908
16123
|
}
|
15909
16124
|
})
|
@@ -15921,7 +16136,7 @@ class:
|
|
15921
16136
|
OuterView = Ember.View.extend({
|
15922
16137
|
template: Ember.Handlebars.compile("outer {{#view InnerView}}inner{{/view}} outer"),
|
15923
16138
|
eventManager: Ember.Object.create({
|
15924
|
-
mouseEnter: function(event, view){
|
16139
|
+
mouseEnter: function(event, view) {
|
15925
16140
|
// view might be instance of either
|
15926
16141
|
// OuterView or InnerView depending on
|
15927
16142
|
// where on the page the user interaction occured
|
@@ -15930,12 +16145,12 @@ class:
|
|
15930
16145
|
});
|
15931
16146
|
|
15932
16147
|
InnerView = Ember.View.extend({
|
15933
|
-
click: function(event){
|
16148
|
+
click: function(event) {
|
15934
16149
|
// will be called if rendered inside
|
15935
16150
|
// an OuterView because OuterView's
|
15936
16151
|
// eventManager doesn't handle click events
|
15937
16152
|
},
|
15938
|
-
mouseEnter: function(event){
|
16153
|
+
mouseEnter: function(event) {
|
15939
16154
|
// will never be called if rendered inside
|
15940
16155
|
// an OuterView.
|
15941
16156
|
}
|
@@ -16143,6 +16358,14 @@ Ember.View = Ember.CoreView.extend(
|
|
16143
16358
|
}
|
16144
16359
|
}).volatile(),
|
16145
16360
|
|
16361
|
+
/**
|
16362
|
+
The parent context for this template.
|
16363
|
+
*/
|
16364
|
+
parentContext: function() {
|
16365
|
+
var parentView = get(this, '_parentView');
|
16366
|
+
return parentView && get(parentView, '_context');
|
16367
|
+
},
|
16368
|
+
|
16146
16369
|
/**
|
16147
16370
|
@private
|
16148
16371
|
|
@@ -16244,7 +16467,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16244
16467
|
var view = get(this, 'parentView');
|
16245
16468
|
|
16246
16469
|
while (view) {
|
16247
|
-
if(view instanceof klass) { return view; }
|
16470
|
+
if (view instanceof klass) { return view; }
|
16248
16471
|
view = get(view, 'parentView');
|
16249
16472
|
}
|
16250
16473
|
},
|
@@ -16265,7 +16488,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16265
16488
|
function(view) { return klass.detect(view.constructor); };
|
16266
16489
|
|
16267
16490
|
while (view) {
|
16268
|
-
if(
|
16491
|
+
if (isOfType(view)) { return view; }
|
16269
16492
|
view = get(view, 'parentView');
|
16270
16493
|
}
|
16271
16494
|
},
|
@@ -16298,7 +16521,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16298
16521
|
var view = get(this, 'parentView');
|
16299
16522
|
|
16300
16523
|
while (view) {
|
16301
|
-
if(get(view, 'parentView') instanceof klass) { return view; }
|
16524
|
+
if (get(view, 'parentView') instanceof klass) { return view; }
|
16302
16525
|
view = get(view, 'parentView');
|
16303
16526
|
}
|
16304
16527
|
},
|
@@ -16820,7 +17043,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16820
17043
|
*/
|
16821
17044
|
invokeRecursively: function(fn, includeSelf) {
|
16822
17045
|
var childViews = (includeSelf === false) ? this._childViews : [this];
|
16823
|
-
var currentViews, view;
|
17046
|
+
var currentViews, view, currentChildViews;
|
16824
17047
|
|
16825
17048
|
while (childViews.length) {
|
16826
17049
|
currentViews = childViews.slice();
|
@@ -16828,16 +17051,17 @@ Ember.View = Ember.CoreView.extend(
|
|
16828
17051
|
|
16829
17052
|
for (var i=0, l=currentViews.length; i<l; i++) {
|
16830
17053
|
view = currentViews[i];
|
17054
|
+
currentChildViews = view._childViews ? view._childViews.slice(0) : null;
|
16831
17055
|
fn(view);
|
16832
|
-
if (
|
16833
|
-
childViews.push.apply(childViews,
|
17056
|
+
if (currentChildViews) {
|
17057
|
+
childViews.push.apply(childViews, currentChildViews);
|
16834
17058
|
}
|
16835
17059
|
}
|
16836
17060
|
}
|
16837
17061
|
},
|
16838
17062
|
|
16839
17063
|
triggerRecursively: function(eventName) {
|
16840
|
-
var childViews = [this], currentViews, view;
|
17064
|
+
var childViews = [this], currentViews, view, currentChildViews;
|
16841
17065
|
|
16842
17066
|
while (childViews.length) {
|
16843
17067
|
currentViews = childViews.slice();
|
@@ -16845,10 +17069,12 @@ Ember.View = Ember.CoreView.extend(
|
|
16845
17069
|
|
16846
17070
|
for (var i=0, l=currentViews.length; i<l; i++) {
|
16847
17071
|
view = currentViews[i];
|
17072
|
+
currentChildViews = view._childViews ? view._childViews.slice(0) : null;
|
16848
17073
|
if (view.trigger) { view.trigger(eventName); }
|
16849
|
-
if (
|
16850
|
-
childViews.push.apply(childViews,
|
17074
|
+
if (currentChildViews) {
|
17075
|
+
childViews.push.apply(childViews, currentChildViews);
|
16851
17076
|
}
|
17077
|
+
|
16852
17078
|
}
|
16853
17079
|
}
|
16854
17080
|
},
|
@@ -16895,7 +17121,7 @@ Ember.View = Ember.CoreView.extend(
|
|
16895
17121
|
|
16896
17122
|
@event willDestroyElement
|
16897
17123
|
*/
|
16898
|
-
willDestroyElement:
|
17124
|
+
willDestroyElement: Ember.K,
|
16899
17125
|
|
16900
17126
|
/**
|
16901
17127
|
@private
|
@@ -17405,7 +17631,7 @@ Ember.View = Ember.CoreView.extend(
|
|
17405
17631
|
}
|
17406
17632
|
|
17407
17633
|
var view = this,
|
17408
|
-
stateCheckedObserver = function(){
|
17634
|
+
stateCheckedObserver = function() {
|
17409
17635
|
view.currentState.invokeObserver(this, observer);
|
17410
17636
|
},
|
17411
17637
|
scheduledObserver = function() {
|
@@ -18666,7 +18892,7 @@ Ember.CollectionView = Ember.ContainerView.extend(/** @scope Ember.CollectionVie
|
|
18666
18892
|
var content = get(this, 'content');
|
18667
18893
|
|
18668
18894
|
if (content) {
|
18669
|
-
|
18895
|
+
this._assertArrayLike(content);
|
18670
18896
|
content.addArrayObserver(this);
|
18671
18897
|
}
|
18672
18898
|
|
@@ -18674,6 +18900,10 @@ Ember.CollectionView = Ember.ContainerView.extend(/** @scope Ember.CollectionVie
|
|
18674
18900
|
this.arrayDidChange(content, 0, null, len);
|
18675
18901
|
}, 'content'),
|
18676
18902
|
|
18903
|
+
_assertArrayLike: function(content) {
|
18904
|
+
|
18905
|
+
},
|
18906
|
+
|
18677
18907
|
destroy: function() {
|
18678
18908
|
if (!this._super()) { return; }
|
18679
18909
|
|
@@ -18805,6 +19035,8 @@ Ember.CollectionView.CONTAINER_MAP = {
|
|
18805
19035
|
|
18806
19036
|
|
18807
19037
|
(function() {
|
19038
|
+
var get = Ember.get, set = Ember.set, isNone = Ember.isNone;
|
19039
|
+
|
18808
19040
|
/**
|
18809
19041
|
@module ember
|
18810
19042
|
@submodule ember-views
|
@@ -18888,11 +19120,66 @@ Ember.CollectionView.CONTAINER_MAP = {
|
|
18888
19120
|
@namespace Ember
|
18889
19121
|
@extends Ember.View
|
18890
19122
|
*/
|
18891
|
-
Ember.Component = Ember.View.extend({
|
19123
|
+
Ember.Component = Ember.View.extend(Ember.TargetActionSupport, {
|
18892
19124
|
init: function() {
|
18893
19125
|
this._super();
|
18894
|
-
|
18895
|
-
|
19126
|
+
set(this, 'context', this);
|
19127
|
+
set(this, 'controller', this);
|
19128
|
+
set(this, 'templateData', {keywords: {}});
|
19129
|
+
},
|
19130
|
+
|
19131
|
+
targetObject: Ember.computed(function(key) {
|
19132
|
+
var parentView = get(this, '_parentView');
|
19133
|
+
return parentView ? get(parentView, 'controller') : null;
|
19134
|
+
}).property('_parentView'),
|
19135
|
+
|
19136
|
+
/**
|
19137
|
+
Sends an action to component's controller. A component inherits its
|
19138
|
+
controller from the context in which it is used.
|
19139
|
+
|
19140
|
+
By default, calling `sendAction()` will send an action with the name
|
19141
|
+
of the component's `action` property.
|
19142
|
+
|
19143
|
+
For example, if the component had a property `action` with the value
|
19144
|
+
`"addItem"`, calling `sendAction()` would send the `addItem` action
|
19145
|
+
to the component's controller.
|
19146
|
+
|
19147
|
+
If you provide an argument to `sendAction()`, that key will be used to look
|
19148
|
+
up the action name.
|
19149
|
+
|
19150
|
+
For example, if the component had a property `playing` with the value
|
19151
|
+
`didStartPlaying`, calling `sendAction('playing')` would send the
|
19152
|
+
`didStartPlaying` action to the component's controller.
|
19153
|
+
|
19154
|
+
Whether or not you are using the default action or a named action, if
|
19155
|
+
the action name is not defined on the component, calling `sendAction()`
|
19156
|
+
does not have any effect.
|
19157
|
+
|
19158
|
+
For example, if you call `sendAction()` on a component that does not have
|
19159
|
+
an `action` property defined, no action will be sent to the controller,
|
19160
|
+
nor will an exception be raised.
|
19161
|
+
|
19162
|
+
@param [action] {String} the action to trigger
|
19163
|
+
*/
|
19164
|
+
sendAction: function(action) {
|
19165
|
+
var actionName;
|
19166
|
+
|
19167
|
+
// Send the default action
|
19168
|
+
if (action === undefined) {
|
19169
|
+
actionName = get(this, 'action');
|
19170
|
+
|
19171
|
+
} else {
|
19172
|
+
actionName = get(this, action);
|
19173
|
+
|
19174
|
+
}
|
19175
|
+
|
19176
|
+
|
19177
|
+
// If no action name for that action could be found, just abort.
|
19178
|
+
if (actionName === undefined) { return; }
|
19179
|
+
|
19180
|
+
this.triggerAction({
|
19181
|
+
action: actionName
|
19182
|
+
});
|
18896
19183
|
}
|
18897
19184
|
});
|
18898
19185
|
|
@@ -18923,7 +19210,7 @@ For example:
|
|
18923
19210
|
```javascript
|
18924
19211
|
App.SaveButtonView = Ember.View.extend(Ember.ViewTargetActionSupport, {
|
18925
19212
|
action: 'save',
|
18926
|
-
click: function(){
|
19213
|
+
click: function() {
|
18927
19214
|
this.triggerAction(); // Sends the `save` action, along with the current context
|
18928
19215
|
// to the current controller
|
18929
19216
|
}
|
@@ -18935,7 +19222,7 @@ to `triggerAction` as well.
|
|
18935
19222
|
|
18936
19223
|
```javascript
|
18937
19224
|
App.SaveButtonView = Ember.View.extend(Ember.ViewTargetActionSupport, {
|
18938
|
-
click: function(){
|
19225
|
+
click: function() {
|
18939
19226
|
this.triggerAction({
|
18940
19227
|
action: 'save'
|
18941
19228
|
}); // Sends the `save` action, along with the current context
|
@@ -19204,7 +19491,7 @@ Ember.State.reopenClass({
|
|
19204
19491
|
|
19205
19492
|
bManager = Ember.StateManager.create({
|
19206
19493
|
stateOne: Ember.State.create({
|
19207
|
-
changeToStateTwo: function(manager, context){
|
19494
|
+
changeToStateTwo: function(manager, context) {
|
19208
19495
|
manager.transitionTo('stateTwo', context)
|
19209
19496
|
}
|
19210
19497
|
}),
|
@@ -19532,7 +19819,7 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19532
19819
|
|
19533
19820
|
```javascript
|
19534
19821
|
managerC = Ember.StateManager.create({
|
19535
|
-
initialState: function(){
|
19822
|
+
initialState: function() {
|
19536
19823
|
if (someLogic) {
|
19537
19824
|
return 'active';
|
19538
19825
|
} else {
|
@@ -19575,12 +19862,12 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19575
19862
|
robotManager = Ember.StateManager.create({
|
19576
19863
|
initialState: 'poweredDown',
|
19577
19864
|
poweredDown: Ember.State.create({
|
19578
|
-
exit: function(stateManager){
|
19865
|
+
exit: function(stateManager) {
|
19579
19866
|
console.log("exiting the poweredDown state")
|
19580
19867
|
}
|
19581
19868
|
}),
|
19582
19869
|
poweredUp: Ember.State.create({
|
19583
|
-
enter: function(stateManager){
|
19870
|
+
enter: function(stateManager) {
|
19584
19871
|
console.log("entering the poweredUp state. Destroy all humans.")
|
19585
19872
|
}
|
19586
19873
|
})
|
@@ -19603,12 +19890,12 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19603
19890
|
robotManager = Ember.StateManager.create({
|
19604
19891
|
initialState: 'poweredDown',
|
19605
19892
|
poweredDown: Ember.State.create({
|
19606
|
-
exit: function(stateManager){
|
19893
|
+
exit: function(stateManager) {
|
19607
19894
|
console.log("exiting the poweredDown state")
|
19608
19895
|
}
|
19609
19896
|
}),
|
19610
19897
|
poweredUp: Ember.State.create({
|
19611
|
-
enter: function(stateManager){
|
19898
|
+
enter: function(stateManager) {
|
19612
19899
|
console.log("entering the poweredUp state. Destroy all humans.")
|
19613
19900
|
}
|
19614
19901
|
})
|
@@ -19671,37 +19958,37 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19671
19958
|
robotManager = Ember.StateManager.create({
|
19672
19959
|
initialState: 'poweredDown',
|
19673
19960
|
poweredDown: Ember.State.create({
|
19674
|
-
enter: function(){},
|
19675
|
-
exit: function(){
|
19961
|
+
enter: function() {},
|
19962
|
+
exit: function() {
|
19676
19963
|
console.log("exited poweredDown state")
|
19677
19964
|
},
|
19678
19965
|
charging: Ember.State.create({
|
19679
|
-
enter: function(){},
|
19680
|
-
exit: function(){}
|
19966
|
+
enter: function() {},
|
19967
|
+
exit: function() {}
|
19681
19968
|
}),
|
19682
19969
|
charged: Ember.State.create({
|
19683
|
-
enter: function(){
|
19970
|
+
enter: function() {
|
19684
19971
|
console.log("entered charged state")
|
19685
19972
|
},
|
19686
|
-
exit: function(){
|
19973
|
+
exit: function() {
|
19687
19974
|
console.log("exited charged state")
|
19688
19975
|
}
|
19689
19976
|
})
|
19690
19977
|
}),
|
19691
19978
|
poweredUp: Ember.State.create({
|
19692
|
-
enter: function(){
|
19979
|
+
enter: function() {
|
19693
19980
|
console.log("entered poweredUp state")
|
19694
19981
|
},
|
19695
|
-
exit: function(){},
|
19982
|
+
exit: function() {},
|
19696
19983
|
mobile: Ember.State.create({
|
19697
|
-
enter: function(){
|
19984
|
+
enter: function() {
|
19698
19985
|
console.log("entered mobile state")
|
19699
19986
|
},
|
19700
|
-
exit: function(){}
|
19987
|
+
exit: function() {}
|
19701
19988
|
}),
|
19702
19989
|
stationary: Ember.State.create({
|
19703
|
-
enter: function(){},
|
19704
|
-
exit: function(){}
|
19990
|
+
enter: function() {},
|
19991
|
+
exit: function() {}
|
19705
19992
|
})
|
19706
19993
|
})
|
19707
19994
|
})
|
@@ -19749,7 +20036,7 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19749
20036
|
initialState: 'stateOne.substateOne.subsubstateOne',
|
19750
20037
|
stateOne: Ember.State.create({
|
19751
20038
|
substateOne: Ember.State.create({
|
19752
|
-
anAction: function(manager, context){
|
20039
|
+
anAction: function(manager, context) {
|
19753
20040
|
console.log("an action was called")
|
19754
20041
|
},
|
19755
20042
|
subsubstateOne: Ember.State.create({})
|
@@ -19812,7 +20099,7 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19812
20099
|
})
|
19813
20100
|
}),
|
19814
20101
|
stateTwo: Ember.State.create({
|
19815
|
-
anAction: function(manager, context){
|
20102
|
+
anAction: function(manager, context) {
|
19816
20103
|
// will not be called below because it is
|
19817
20104
|
// not a parent of the current state
|
19818
20105
|
}
|
@@ -19833,18 +20120,18 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19833
20120
|
initialState: 'poweredDown.charging',
|
19834
20121
|
poweredDown: Ember.State.create({
|
19835
20122
|
charging: Ember.State.create({
|
19836
|
-
chargeComplete: function(manager, context){
|
20123
|
+
chargeComplete: function(manager, context) {
|
19837
20124
|
manager.transitionTo('charged')
|
19838
20125
|
}
|
19839
20126
|
}),
|
19840
20127
|
charged: Ember.State.create({
|
19841
|
-
boot: function(manager, context){
|
20128
|
+
boot: function(manager, context) {
|
19842
20129
|
manager.transitionTo('poweredUp')
|
19843
20130
|
}
|
19844
20131
|
})
|
19845
20132
|
}),
|
19846
20133
|
poweredUp: Ember.State.create({
|
19847
|
-
beginExtermination: function(manager, context){
|
20134
|
+
beginExtermination: function(manager, context) {
|
19848
20135
|
manager.transitionTo('rampaging')
|
19849
20136
|
},
|
19850
20137
|
rampaging: Ember.State.create()
|
@@ -19883,7 +20170,7 @@ var sendEvent = function(eventName, sendRecursiveArguments, isUnhandledPass) {
|
|
19883
20170
|
|
19884
20171
|
bManager = Ember.StateManager.create({
|
19885
20172
|
stateOne: Ember.State.create({
|
19886
|
-
changeToStateTwo: function(manager, context){
|
20173
|
+
changeToStateTwo: function(manager, context) {
|
19887
20174
|
manager.transitionTo('stateTwo', context)
|
19888
20175
|
}
|
19889
20176
|
}),
|
@@ -20255,7 +20542,7 @@ define("metamorph",
|
|
20255
20542
|
// Copyright: ©2011 My Company Inc. All rights reserved.
|
20256
20543
|
// ==========================================================================
|
20257
20544
|
|
20258
|
-
var K = function(){},
|
20545
|
+
var K = function() {},
|
20259
20546
|
guid = 0,
|
20260
20547
|
document = this.document,
|
20261
20548
|
|
@@ -20265,7 +20552,7 @@ define("metamorph",
|
|
20265
20552
|
// Internet Explorer prior to 9 does not allow setting innerHTML if the first element
|
20266
20553
|
// is a "zero-scope" element. This problem can be worked around by making
|
20267
20554
|
// the first node an invisible text node. We, like Modernizr, use ­
|
20268
|
-
needsShy = document && (function(){
|
20555
|
+
needsShy = document && (function() {
|
20269
20556
|
var testEl = document.createElement('div');
|
20270
20557
|
testEl.innerHTML = "<div></div>";
|
20271
20558
|
testEl.firstChild.innerHTML = "<script></script>";
|
@@ -20721,7 +21008,7 @@ var objectCreate = Object.create || function(parent) {
|
|
20721
21008
|
};
|
20722
21009
|
|
20723
21010
|
var Handlebars = this.Handlebars || (Ember.imports && Ember.imports.Handlebars);
|
20724
|
-
if(!Handlebars && typeof require === 'function') {
|
21011
|
+
if (!Handlebars && typeof require === 'function') {
|
20725
21012
|
Handlebars = require('handlebars');
|
20726
21013
|
}
|
20727
21014
|
|
@@ -20831,7 +21118,7 @@ Ember.Handlebars.helper = function(name, value) {
|
|
20831
21118
|
} else {
|
20832
21119
|
Ember.Handlebars.registerBoundHelper.apply(null, arguments);
|
20833
21120
|
}
|
20834
|
-
}
|
21121
|
+
};
|
20835
21122
|
|
20836
21123
|
/**
|
20837
21124
|
@class helpers
|
@@ -20917,7 +21204,7 @@ Ember.Handlebars.Compiler.prototype.mustache = function(mustache) {
|
|
20917
21204
|
// Update the mustache node to include a hash value indicating whether the original node
|
20918
21205
|
// was escaped. This will allow us to properly escape values when the underlying value
|
20919
21206
|
// changes and we need to re-render the value.
|
20920
|
-
if(!mustache.escaped) {
|
21207
|
+
if (!mustache.escaped) {
|
20921
21208
|
mustache.hash = mustache.hash || new Handlebars.AST.HashNode([]);
|
20922
21209
|
mustache.hash.pairs.push(["unescaped", new Handlebars.AST.StringNode("true")]);
|
20923
21210
|
}
|
@@ -21115,7 +21402,7 @@ Ember.Handlebars.registerHelper('helperMissing', function(path, options) {
|
|
21115
21402
|
var error, view = "";
|
21116
21403
|
|
21117
21404
|
error = "%@ Handlebars error: Could not find property '%@' on object %@.";
|
21118
|
-
if (options.data){
|
21405
|
+
if (options.data) {
|
21119
21406
|
view = options.data.view;
|
21120
21407
|
}
|
21121
21408
|
throw new Ember.Error(Ember.String.fmt(error, [view, path, this]));
|
@@ -21152,7 +21439,7 @@ Ember.Handlebars.registerHelper('helperMissing', function(path, options) {
|
|
21152
21439
|
Ember.Handlebars.registerBoundHelper('repeat', function(value, options) {
|
21153
21440
|
var count = options.hash.count;
|
21154
21441
|
var a = [];
|
21155
|
-
while(a.length < count){
|
21442
|
+
while(a.length < count) {
|
21156
21443
|
a.push(value);
|
21157
21444
|
}
|
21158
21445
|
return a.join('');
|
@@ -21196,7 +21483,7 @@ Ember.Handlebars.registerHelper('helperMissing', function(path, options) {
|
|
21196
21483
|
|
21197
21484
|
```javascript
|
21198
21485
|
Ember.Handlebars.registerBoundHelper('concatenate', function() {
|
21199
|
-
var values = arguments
|
21486
|
+
var values = Array.prototype.slice.call(arguments, 0, -1);
|
21200
21487
|
return values.join('||');
|
21201
21488
|
});
|
21202
21489
|
```
|
@@ -21243,7 +21530,7 @@ Ember.Handlebars.registerBoundHelper = function(name, fn) {
|
|
21243
21530
|
view = data.view,
|
21244
21531
|
currentContext = (options.contexts && options.contexts[0]) || this,
|
21245
21532
|
normalized,
|
21246
|
-
pathRoot, path,
|
21533
|
+
pathRoot, path, prefixPathForDependentKeys = '',
|
21247
21534
|
loc, hashOption;
|
21248
21535
|
|
21249
21536
|
|
@@ -21292,8 +21579,11 @@ Ember.Handlebars.registerBoundHelper = function(name, fn) {
|
|
21292
21579
|
|
21293
21580
|
view.registerObserver(pathRoot, path, bindView, bindView.rerender);
|
21294
21581
|
|
21582
|
+
if(!Ember.isEmpty(path)) {
|
21583
|
+
prefixPathForDependentKeys = path + '.';
|
21584
|
+
}
|
21295
21585
|
for (var i=0, l=dependentKeys.length; i<l; i++) {
|
21296
|
-
view.registerObserver(pathRoot,
|
21586
|
+
view.registerObserver(pathRoot, prefixPathForDependentKeys + dependentKeys[i], bindView, bindView.rerender);
|
21297
21587
|
}
|
21298
21588
|
}
|
21299
21589
|
|
@@ -21400,7 +21690,7 @@ function evaluateUnboundHelper(context, fn, normalizedProperties, options) {
|
|
21400
21690
|
@for Ember.Handlebars
|
21401
21691
|
@param {String} template spec
|
21402
21692
|
*/
|
21403
|
-
Ember.Handlebars.template = function(spec){
|
21693
|
+
Ember.Handlebars.template = function(spec) {
|
21404
21694
|
var t = Handlebars.template(spec);
|
21405
21695
|
t.isTop = true;
|
21406
21696
|
return t;
|
@@ -21412,10 +21702,19 @@ Ember.Handlebars.template = function(spec){
|
|
21412
21702
|
|
21413
21703
|
(function() {
|
21414
21704
|
/**
|
21415
|
-
|
21416
|
-
|
21417
|
-
|
21418
|
-
|
21705
|
+
* Mark a string as safe for unescaped output with Handlebars. If you
|
21706
|
+
* return HTML from a Handlebars helper, use this function to
|
21707
|
+
* ensure Handlebars does not escape the HTML.
|
21708
|
+
*
|
21709
|
+
* ```javascript
|
21710
|
+
* Ember.String.htmlSafe('<div>someString</div>')
|
21711
|
+
* ```
|
21712
|
+
*
|
21713
|
+
* @method htmlSafe
|
21714
|
+
* @for Ember.String
|
21715
|
+
* @static
|
21716
|
+
* @return {Handlebars.SafeString} a string that will not be html escaped by Handlebars
|
21717
|
+
*/
|
21419
21718
|
Ember.String.htmlSafe = function(str) {
|
21420
21719
|
return new Handlebars.SafeString(str);
|
21421
21720
|
};
|
@@ -21425,11 +21724,18 @@ var htmlSafe = Ember.String.htmlSafe;
|
|
21425
21724
|
if (Ember.EXTEND_PROTOTYPES === true || Ember.EXTEND_PROTOTYPES.String) {
|
21426
21725
|
|
21427
21726
|
/**
|
21428
|
-
|
21429
|
-
|
21430
|
-
|
21431
|
-
|
21432
|
-
|
21727
|
+
* Mark a string as being safe for unescaped output with Handlebars.
|
21728
|
+
*
|
21729
|
+
* ```javascript
|
21730
|
+
* '<div>someString</div>'.htmlSafe()
|
21731
|
+
* ```
|
21732
|
+
*
|
21733
|
+
* See `Ember.String.htmlSafe`.
|
21734
|
+
*
|
21735
|
+
* @method htmlSafe
|
21736
|
+
* @for String
|
21737
|
+
* @return {Handlebars.SafeString} a string that will not be html escaped by Handlebars
|
21738
|
+
*/
|
21433
21739
|
String.prototype.htmlSafe = function() {
|
21434
21740
|
return htmlSafe(this);
|
21435
21741
|
};
|
@@ -21534,7 +21840,6 @@ var DOMManager = {
|
|
21534
21840
|
/**
|
21535
21841
|
@class _Metamorph
|
21536
21842
|
@namespace Ember
|
21537
|
-
@extends Ember.Mixin
|
21538
21843
|
@private
|
21539
21844
|
*/
|
21540
21845
|
Ember._Metamorph = Ember.Mixin.create({
|
@@ -21929,7 +22234,7 @@ var forEach = Ember.ArrayPolyfills.forEach;
|
|
21929
22234
|
|
21930
22235
|
var EmberHandlebars = Ember.Handlebars, helpers = EmberHandlebars.helpers;
|
21931
22236
|
|
21932
|
-
function exists(value){
|
22237
|
+
function exists(value) {
|
21933
22238
|
return !Ember.isNone(value);
|
21934
22239
|
}
|
21935
22240
|
|
@@ -21954,7 +22259,7 @@ function bind(property, options, preserveContext, shouldDisplay, valueNormalizer
|
|
21954
22259
|
|
21955
22260
|
var template, context, result = handlebarsGet(currentContext, property, options);
|
21956
22261
|
|
21957
|
-
result = valueNormalizer(result);
|
22262
|
+
result = valueNormalizer ? valueNormalizer(result) : result;
|
21958
22263
|
|
21959
22264
|
context = preserveContext ? currentContext : result;
|
21960
22265
|
if (shouldDisplay(result)) {
|
@@ -22277,7 +22582,7 @@ EmberHandlebars.registerHelper('unless', function(context, options) {
|
|
22277
22582
|
|
22278
22583
|
```javascript
|
22279
22584
|
AView = Ember.View.extend({
|
22280
|
-
someProperty: function(){
|
22585
|
+
someProperty: function() {
|
22281
22586
|
return "aValue";
|
22282
22587
|
}.property()
|
22283
22588
|
})
|
@@ -22562,6 +22867,8 @@ EmberHandlebars.bindClasses = function(context, classBindings, view, bindAttrId,
|
|
22562
22867
|
|
22563
22868
|
var get = Ember.get, set = Ember.set;
|
22564
22869
|
var EmberHandlebars = Ember.Handlebars;
|
22870
|
+
var LOWERCASE_A_Z = /^[a-z]/;
|
22871
|
+
var VIEW_PREFIX = /^view\./;
|
22565
22872
|
|
22566
22873
|
EmberHandlebars.ViewHelper = Ember.Object.create({
|
22567
22874
|
|
@@ -22673,7 +22980,17 @@ EmberHandlebars.ViewHelper = Ember.Object.create({
|
|
22673
22980
|
newView;
|
22674
22981
|
|
22675
22982
|
if ('string' === typeof path) {
|
22676
|
-
|
22983
|
+
|
22984
|
+
// TODO: this is a lame conditional, this should likely change
|
22985
|
+
// but something along these lines will likely need to be added
|
22986
|
+
// as deprecation warnings
|
22987
|
+
//
|
22988
|
+
if (options.types[0] === 'STRING' && LOWERCASE_A_Z.test(path) && !VIEW_PREFIX.test(path)) {
|
22989
|
+
|
22990
|
+
newView = data.view.container.lookupFactory('view:' + path);
|
22991
|
+
} else {
|
22992
|
+
newView = EmberHandlebars.get(thisContext, path, options);
|
22993
|
+
}
|
22677
22994
|
|
22678
22995
|
} else {
|
22679
22996
|
newView = path;
|
@@ -23041,11 +23358,24 @@ Ember.Handlebars.registerHelper('collection', function(path, options) {
|
|
23041
23358
|
var hash = options.hash, itemHash = {}, match;
|
23042
23359
|
|
23043
23360
|
// Extract item view class if provided else default to the standard class
|
23044
|
-
var
|
23045
|
-
|
23046
|
-
|
23047
|
-
|
23361
|
+
var collectionPrototype = collectionClass.proto(),
|
23362
|
+
itemViewClass;
|
23363
|
+
|
23364
|
+
if (hash.itemView) {
|
23365
|
+
var controller = data.keywords.controller;
|
23366
|
+
|
23367
|
+
var container = controller.container;
|
23368
|
+
itemViewClass = container.resolve('view:' + Ember.String.camelize(hash.itemView));
|
23369
|
+
|
23370
|
+
} else if (hash.itemViewClass) {
|
23371
|
+
itemViewClass = handlebarsGet(collectionPrototype, hash.itemViewClass, options);
|
23372
|
+
} else {
|
23373
|
+
itemViewClass = collectionPrototype.itemViewClass;
|
23374
|
+
}
|
23375
|
+
|
23048
23376
|
|
23377
|
+
delete hash.itemViewClass;
|
23378
|
+
delete hash.itemView;
|
23049
23379
|
|
23050
23380
|
// Go through options passed to the {{collection}} helper and extract options
|
23051
23381
|
// that configure item views instead of the collection itself.
|
@@ -23053,7 +23383,7 @@ Ember.Handlebars.registerHelper('collection', function(path, options) {
|
|
23053
23383
|
if (hash.hasOwnProperty(prop)) {
|
23054
23384
|
match = prop.match(/^item(.)(.*)$/);
|
23055
23385
|
|
23056
|
-
if(match && prop !== 'itemController') {
|
23386
|
+
if (match && prop !== 'itemController') {
|
23057
23387
|
// Convert itemShouldFoo -> shouldFoo
|
23058
23388
|
itemHash[match[1].toLowerCase() + match[2]] = hash[prop];
|
23059
23389
|
// Delete from hash as this will end up getting passed to the
|
@@ -23080,7 +23410,7 @@ Ember.Handlebars.registerHelper('collection', function(path, options) {
|
|
23080
23410
|
}
|
23081
23411
|
if (emptyViewClass) { hash.emptyView = emptyViewClass; }
|
23082
23412
|
|
23083
|
-
if(!hash.keyword){
|
23413
|
+
if (!hash.keyword) {
|
23084
23414
|
itemHash._context = Ember.computed.alias('content');
|
23085
23415
|
}
|
23086
23416
|
|
@@ -23127,7 +23457,7 @@ var handlebarsGet = Ember.Handlebars.get;
|
|
23127
23457
|
Ember.Handlebars.registerHelper('unbound', function(property, fn) {
|
23128
23458
|
var options = arguments[arguments.length - 1], helper, context, out;
|
23129
23459
|
|
23130
|
-
if(arguments.length > 2) {
|
23460
|
+
if (arguments.length > 2) {
|
23131
23461
|
// Unbound helper call.
|
23132
23462
|
options.data.isUnbound = true;
|
23133
23463
|
helper = Ember.Handlebars.helpers[arguments[0]] || Ember.Handlebars.helperMissing;
|
@@ -23185,7 +23515,7 @@ Ember.Handlebars.registerHelper('log', function(property, options) {
|
|
23185
23515
|
@for Ember.Handlebars.helpers
|
23186
23516
|
@param {String} property
|
23187
23517
|
*/
|
23188
|
-
Ember.Handlebars.registerHelper('debugger', function() {
|
23518
|
+
Ember.Handlebars.registerHelper('debugger', function(options) {
|
23189
23519
|
debugger;
|
23190
23520
|
});
|
23191
23521
|
|
@@ -23231,6 +23561,11 @@ Ember.Handlebars.EachView = Ember.CollectionView.extend(Ember._Metamorph, {
|
|
23231
23561
|
return this._super();
|
23232
23562
|
},
|
23233
23563
|
|
23564
|
+
_assertArrayLike: function(content) {
|
23565
|
+
|
23566
|
+
|
23567
|
+
},
|
23568
|
+
|
23234
23569
|
disableContentObservers: function(callback) {
|
23235
23570
|
Ember.removeBeforeObserver(this, 'content', null, '_contentWillChange');
|
23236
23571
|
Ember.removeObserver(this, 'content', null, '_contentDidChange');
|
@@ -23461,6 +23796,12 @@ GroupedEach.prototype = {
|
|
23461
23796
|
</div>
|
23462
23797
|
```
|
23463
23798
|
|
23799
|
+
If an `itemViewClass` is defined on the helper, and therefore the helper is not
|
23800
|
+
being used as a block, an `emptyViewClass` can also be provided optionally.
|
23801
|
+
The `emptyViewClass` will match the behavior of the `{{else}}` condition
|
23802
|
+
described above. That is, the `emptyViewClass` will render if the collection
|
23803
|
+
is empty.
|
23804
|
+
|
23464
23805
|
### Representing each item with a Controller.
|
23465
23806
|
By default the controller lookup within an `{{#each}}` block will be
|
23466
23807
|
the controller of the template where the `{{#each}}` was used. If each
|
@@ -23474,7 +23815,7 @@ GroupedEach.prototype = {
|
|
23474
23815
|
|
23475
23816
|
```javascript
|
23476
23817
|
App.DeveloperController = Ember.ObjectController.extend({
|
23477
|
-
isAvailableForHire: function(){
|
23818
|
+
isAvailableForHire: function() {
|
23478
23819
|
return !this.get('content.isEmployed') && this.get('content.isSeekingWork');
|
23479
23820
|
}.property('isEmployed', 'isSeekingWork')
|
23480
23821
|
})
|
@@ -23574,17 +23915,15 @@ Ember.Handlebars.registerHelper('each', function(path, options) {
|
|
23574
23915
|
Ember.TEMPLATES["my_cool_template"] = Ember.Handlebars.compile('<b>{{user}}</b>');
|
23575
23916
|
```
|
23576
23917
|
|
23918
|
+
@deprecated
|
23577
23919
|
@method template
|
23578
23920
|
@for Ember.Handlebars.helpers
|
23579
23921
|
@param {String} templateName the template to render
|
23580
23922
|
*/
|
23581
23923
|
|
23582
23924
|
Ember.Handlebars.registerHelper('template', function(name, options) {
|
23583
|
-
var view = options.data.view,
|
23584
|
-
template = view.templateForName(name);
|
23585
23925
|
|
23586
|
-
|
23587
|
-
template(this, { data: options.data });
|
23926
|
+
return Ember.Handlebars.helpers.partial.apply(this, arguments);
|
23588
23927
|
});
|
23589
23928
|
|
23590
23929
|
})();
|
@@ -23635,7 +23974,6 @@ Ember.Handlebars.registerHelper('partial', function(name, options) {
|
|
23635
23974
|
deprecatedTemplate = !template && view.templateForName(name);
|
23636
23975
|
|
23637
23976
|
|
23638
|
-
|
23639
23977
|
template = template || deprecatedTemplate;
|
23640
23978
|
|
23641
23979
|
template(this, { data: options.data });
|
@@ -23705,7 +24043,7 @@ var get = Ember.get, set = Ember.set;
|
|
23705
24043
|
@return {String} HTML string
|
23706
24044
|
*/
|
23707
24045
|
Ember.Handlebars.registerHelper('yield', function(options) {
|
23708
|
-
var
|
24046
|
+
var currentView = options.data.view, view = currentView, template;
|
23709
24047
|
|
23710
24048
|
while (view && !get(view, 'layout')) {
|
23711
24049
|
view = get(view, 'parentView');
|
@@ -23714,7 +24052,48 @@ Ember.Handlebars.registerHelper('yield', function(options) {
|
|
23714
24052
|
|
23715
24053
|
template = get(view, 'template');
|
23716
24054
|
|
23717
|
-
|
24055
|
+
var keywords = view._parentView.cloneKeywords();
|
24056
|
+
|
24057
|
+
currentView.appendChild(Ember.View, {
|
24058
|
+
isVirtual: true,
|
24059
|
+
tagName: '',
|
24060
|
+
template: template,
|
24061
|
+
context: get(view._parentView, 'context'),
|
24062
|
+
controller: get(view._parentView, 'controller'),
|
24063
|
+
templateData: {keywords: keywords}
|
24064
|
+
});
|
24065
|
+
});
|
24066
|
+
|
24067
|
+
})();
|
24068
|
+
|
24069
|
+
|
24070
|
+
|
24071
|
+
(function() {
|
24072
|
+
/**
|
24073
|
+
@module ember
|
24074
|
+
@submodule ember-handlebars
|
24075
|
+
*/
|
24076
|
+
|
24077
|
+
/**
|
24078
|
+
`loc` looks up the string in the localized strings hash.
|
24079
|
+
This is a convenient way to localize text. For example:
|
24080
|
+
|
24081
|
+
```html
|
24082
|
+
<script type="text/x-handlebars" data-template-name="home">
|
24083
|
+
{{loc welcome}}
|
24084
|
+
</script>
|
24085
|
+
```
|
24086
|
+
|
24087
|
+
Take note that `welcome` is a string and not an object
|
24088
|
+
reference.
|
24089
|
+
|
24090
|
+
@method loc
|
24091
|
+
@for Ember.Handlebars.helpers
|
24092
|
+
@param {String} str The string to format
|
24093
|
+
*/
|
24094
|
+
|
24095
|
+
Ember.Handlebars.registerHelper('loc', function(str) {
|
24096
|
+
return Ember.String.loc(str);
|
23718
24097
|
});
|
23719
24098
|
|
23720
24099
|
})();
|
@@ -23784,17 +24163,23 @@ Ember.Checkbox = Ember.View.extend({
|
|
23784
24163
|
|
23785
24164
|
tagName: 'input',
|
23786
24165
|
|
23787
|
-
attributeBindings: ['type', 'checked', 'disabled', 'tabindex', 'name'],
|
24166
|
+
attributeBindings: ['type', 'checked', 'indeterminate', 'disabled', 'tabindex', 'name'],
|
23788
24167
|
|
23789
24168
|
type: "checkbox",
|
23790
24169
|
checked: false,
|
23791
24170
|
disabled: false,
|
24171
|
+
indeterminate: false,
|
23792
24172
|
|
23793
24173
|
init: function() {
|
23794
24174
|
this._super();
|
23795
24175
|
this.on("change", this, this._updateElementValue);
|
23796
24176
|
},
|
23797
24177
|
|
24178
|
+
didInsertElement: function() {
|
24179
|
+
this._super();
|
24180
|
+
this.get('element').indeterminate = !!this.get('indeterminate');
|
24181
|
+
},
|
24182
|
+
|
23798
24183
|
_updateElementValue: function() {
|
23799
24184
|
set(this, 'checked', this.$().prop('checked'));
|
23800
24185
|
}
|
@@ -23817,7 +24202,6 @@ var get = Ember.get, set = Ember.set;
|
|
23817
24202
|
|
23818
24203
|
@class TextSupport
|
23819
24204
|
@namespace Ember
|
23820
|
-
@extends Ember.Mixin
|
23821
24205
|
@private
|
23822
24206
|
*/
|
23823
24207
|
Ember.TextSupport = Ember.Mixin.create({
|
@@ -24829,9 +25213,9 @@ function program7(depth0,data) {
|
|
24829
25213
|
content = get(this, 'content'),
|
24830
25214
|
selection = get(this, 'selection');
|
24831
25215
|
|
24832
|
-
if (!content){ return; }
|
25216
|
+
if (!content) { return; }
|
24833
25217
|
if (options) {
|
24834
|
-
var selectedIndexes = options.map(function(){
|
25218
|
+
var selectedIndexes = options.map(function() {
|
24835
25219
|
return this.index - offset;
|
24836
25220
|
}).toArray();
|
24837
25221
|
var newSelection = content.objectsAt(selectedIndexes);
|
@@ -24920,7 +25304,7 @@ Ember.Handlebars.registerHelper('input', function(options) {
|
|
24920
25304
|
if (inputType === 'checkbox') {
|
24921
25305
|
return Ember.Handlebars.helpers.view.call(this, Ember.Checkbox, options);
|
24922
25306
|
} else {
|
24923
|
-
hash.type = inputType;
|
25307
|
+
if (inputType) { hash.type = inputType; }
|
24924
25308
|
hash.onEvent = onEvent || 'enter';
|
24925
25309
|
return Ember.Handlebars.helpers.view.call(this, Ember.TextField, options);
|
24926
25310
|
}
|
@@ -25764,7 +26148,7 @@ Ember.Application.registerInjection({
|
|
25764
26148
|
var name = property.charAt(0).toLowerCase() + property.substr(1),
|
25765
26149
|
controllerClass = app[property], controller;
|
25766
26150
|
|
25767
|
-
if(!Ember.Object.detect(controllerClass)){ return; }
|
26151
|
+
if (!Ember.Object.detect(controllerClass)) { return; }
|
25768
26152
|
controller = app[property].create();
|
25769
26153
|
|
25770
26154
|
router.set(name, controller);
|
@@ -25885,7 +26269,6 @@ var merge = function(original, hash) {
|
|
25885
26269
|
/**
|
25886
26270
|
@class Routable
|
25887
26271
|
@namespace Ember
|
25888
|
-
@extends Ember.Mixin
|
25889
26272
|
*/
|
25890
26273
|
Ember.Routable = Ember.Mixin.create({
|
25891
26274
|
init: function() {
|
@@ -26814,7 +27197,7 @@ Ember.HistoryLocation = Ember.Object.extend({
|
|
26814
27197
|
var guid = Ember.guidFor(this);
|
26815
27198
|
|
26816
27199
|
Ember.$(window).on('popstate.ember-location-'+guid, function(e) {
|
26817
|
-
if(!popstateReady) {
|
27200
|
+
if (!popstateReady) {
|
26818
27201
|
return;
|
26819
27202
|
}
|
26820
27203
|
callback(location.pathname);
|
@@ -27643,7 +28026,7 @@ ActionHelper.registerAction = function(actionName, options) {
|
|
27643
28026
|
```javascript
|
27644
28027
|
AView = Ember.View.extend({
|
27645
28028
|
templateName: 'a-template',
|
27646
|
-
anActionName: function(event){}
|
28029
|
+
anActionName: function(event) {}
|
27647
28030
|
});
|
27648
28031
|
|
27649
28032
|
aView = AView.create();
|
@@ -27769,7 +28152,7 @@ ActionHelper.registerAction = function(actionName, options) {
|
|
27769
28152
|
AView = Ember.View.extend({
|
27770
28153
|
templateName; 'a-template',
|
27771
28154
|
// note: no method 'aMethodNameThatIsMissing'
|
27772
|
-
anActionName: function(event){}
|
28155
|
+
anActionName: function(event) {}
|
27773
28156
|
});
|
27774
28157
|
|
27775
28158
|
aView = AView.create();
|